Xah Emacs Blog Archive 2023-01

xtodo old article, maybe review and update

other updates

xtodo

Emacs lisp problem. make repeat-complex-command not stuck with previous region

the problem is:

current solution

Xah Packages Update

Xah Packages Update

xah package updates

updated

added Tip icon, and other minor update

updates

updates

updated.

updates.

new version out. Buy Xah Emacs Tutorial

minor updates.

updates

updates

renamed xeu_elisp_util.el to xah-elisp-util.el

xah-close-current-buffer if file is modified, simply cancel kill. this ui stick to the principle of do not prompt unexpectedly.

massive update. shell, etc.

massive update on formatting

another massive update. 2023-09-09

massive updates, repeat, whitespace etc.

massive updates

updates

new article and updates

Xah Emacs Packages update

Xah Emacs Packages update

elisp bracket change 2023-08-25 jBPKr
elisp bracket change 2023-08-25 jBPKr

major rewrite on icomplete.

updates.

lisp macro 2023-08-21 9xPX
lisp macro 2023-08-21 9xPX

now link to emacs manual on my site has a new style.

xah emacs ref link 2023-08-20
xah emacs ref link 2023-08-20

Before, the (info "string") is actually elisp code to refer to a node in the manual. It's esoteric, not many people understand.

inconsistent date format in emacs lisp files. these are from emacs 29.

emacs package date format 2023-08-20 xcjT
emacs package date format 2023-08-20 xcjT

updates.

Xah Emacs Packages update

Xah Emacs Packages update

updated

massive updates

Xah Emacs Packages update

updates

update

we had these keys before, was temp, never used by me much:

("TAB 1" . abbrev-prefix-mark)
("TAB 2" . edit-abbrevs)
("TAB 3" . expand-abbrev)
("TAB 4" . expand-region-abbrevs)
("TAB 5" . unexpand-abbrev)
("TAB 6" . add-global-abbrev)
("TAB 7" . add-mode-abbrev)
("TAB 8" . inverse-add-global-abbrev)
("TAB 9" . inverse-add-mode-abbrev)
("TAB 0" . expand-jump-to-next-slot)
("TAB =" . expand-jump-to-previous-slot)

now they have ergo keys (dvorak notation):

("e c r" . expand-region-abbrevs)
("e c t" . edit-abbrevs)
("e c u" . expand-abbrev)

("e c g" . add-mode-abbrev)
("e c c" . add-global-abbrev)
("e c m" . inverse-add-mode-abbrev)
("e c w" . inverse-add-global-abbrev)

("e c f" . unexpand-abbrev)

("e c h" . expand-jump-to-previous-slot)
("e c n" . expand-jump-to-next-slot)
("e c y" . abbrev-prefix-mark)

also, these keys are removed (rarely used):

("e c" . xah-insert-ascii-single-quote) ; ''

Xah Emacs Packages update

Emacs: Xah Fly Keys

some key changes. now more ergo.

;; here's the new keys (all dvorak notation)
("t a" . xah-reformat-to-sentence-lines)
("t g" . goto-line)
("t n" . goto-char)
("t f" . move-to-column)

;; their old keys are
("t '" . xah-reformat-to-sentence-lines)
("t f" . goto-line)
("t c" . goto-char)
("t g" . move-to-column)

minor updates.

updated code

Tip: start new emacs instance sans prompt

updated. new pages.

update.

added to topic box for list.

new pages and updates.

xemacs new release. reviving from the dead. last release is 2013. https://www.xemacs.org/Releases/21.5.35.html

xemacs 21.5.35 release 2023-06-20 Dv7PT
xemacs 21.5.35 release 2023-06-20 Dv7PT

lots update

more updates

starting a emacs community on twitter. https://twitter.com/xah_lee/status/1669760467496222720

updated.

lots updates and rewrite.

lots misc update

code update

Xah Emacs Packages updates

xah emacs packages update.

emacs lisp has generator function since 2015, modeled after JavaScript. by Daniel Colascione.

elisp generator 2023-04-11 YX8wz
Generators (ELISP Manual)

emacs lisp. if u see dash, s, f, in your dir, find out which packages is using it. delete them. never, install any packages that uses dash s f

emacs melpa dash s f 2023-04-10 bqTJc
emacs melpa dash s f 2023-04-10 bqTJc

code update.

emacs. you can embed a browser as text properties!

emacs blu3 embed xwidget as text property 2023-04-04
emacs blu3 embed xwidget as text property 2023-04-04
emacs chatgpt 2023-03-29
emacs chatgpt 2023-03-29

Emacs: Xah Fly Keys

xah-html-mode.el removed key C-r for xah-html-open-in-browser. Reason: the C-r is added for browser compatibility. For example, you can define a macro on a keypad to send C-r. when dev a website, you can press that single key, and you can also press that in emacs to view in browser.

now, removed. main reason is that it conflict with emacs C-r for isearch-backward, sometimes convenient when using Xah Fly Keys. binding C-r is hackish in the first place. now, we use F5 for browser refresh for the same purpose as C-r. Again, not a strong reason, but still convenient.

by the way, TAB b b is also bound to xah-html-open-in-browser, and there are other commands and keys to view in different browsers.

repost. lots updates weekly in past year.

minor correction.

Emacs: Xah Fly Keys

added an optimot layout, removed beopy layout. optimot shouldn't be added because it's used by maybe just a hundred people in the world. however, cletip really ask for it. Also, he added beopy before which was added years ago in the early days, and beopy is another layout nobody heared of. from now on, only well-known keyboard layout should be supported in Xah Fly Keys. you can always put it to your init. optimot may be removed in the future.

Emacs: Xah Fly Keys

lots updates.

minor updates

updates

major update.

Emacs: Xah Fly Keys

Refactor. Changed all var naming, beginning dollar sign to x. Reason: sigil is great as syntactic design of a lang, but not a lisp tradition and is abnormal in lisp community. Using ascii prefix x is less odd in lisp, is easier to type, still retain some var name uniqueness property by syntax.

Set emacs to start sans prompt, and don't use emacs daemon

Tip. setup your emacs so that you can start multiple emacs instances, without any prompt that might interrupt the start up and wait for you to answer a prompt.

and i don't use emacs daemon, because when you do elisp, you need to restart often for a clean emacs.

major update again

emacs people on odysee

Now, posting some emacs people on odysee. We should post links to odysee, instead YouTube. These are great video channels.

updates.

major rewrite and updates

major update. Emacs: Xah Wolfram Mode

xah-major-mode-leader-key

the xah-major-mode-leader-key is meant as system-wide leader key for packages, at least for xahemacs.

in gnu emacs, major mode's keys are fairly bad and unmageneable, because major mode keys by their convention is to have this form C-c C-โ€นkeyโ€บ etc. so, hard for pinky, and impossible to have a leader, and impossible to change for all major modes.

the way i have it, isn't ideal, but is probably the most simple solution.

also, i don't like define-custom. those are semi gui, hard to understand, easy to screw things up, and not all settings can be controlled by it. i think doomemacs also adopted not to support that semi gui custom.

xah-dired-open-in-irfanview rewrote, much faster. now use start-process instead of starting a shell for each. Similarly other opening commands

xah-dired-open-in-irfanview 2023-02-10
xah-dired-open-in-irfanview 2023-02-10

major update.

updated.

complexity of escape key in emacs

major update and new

Emacs: Xah Fly Keys

Experimental. now Escape key by default is bound to xah-fly-command-mode-activate. Reason:

Advantage:

The disadvantage of bind Escape:

Note:


2023-01-27 revert last change. Now, escape key no longer do xah-fly-command-mode-activate. Because: if you bind <escape>, then it works in gui only, but not terminal. Very confusing. If you bind ESC, then in terminal arrows keys break, also F1 F2 etc keys. So, best solution is to let user customize instead. Thanks to yegor maltsev

new.

switched to oxipng from optipng, and massive update to the emacs lisp code, much speed improvement. Emacs: Xah Dired Mode (xah-dired.el) and see also Optimize png Files, oxipng

update and new.

Emacs: Xah Fly Keys tip

;; go to insert mode in Xah Fly Keys
(add-hook 'dired-mode-hook 'xah-fly-insert-mode-activate)

updates.