Xah Emacs Blog
A hole to fall in.
Update Highlights
xtodo
xtodo
disable emacs changing the window title
(setq frame-title-format "Xah Emacs")
xtodo
- 2025-04-22
- Emacs: Xah Fly Keys ๐ฆ
xah-next-user-buffer
, removed the behavior of using arrows to repeat after the command, that was added about 3 months ago. it is confusing. (i.e. removed (set-transient-map xah-fly-switch-buffer-map))
updated
code update
xtodo
xtodo
- 2025-04-19
- Emacs: Xah Fly Keys ๐ฆ
xah-toggle-read-novel-mode
removed. no belong.
xtodo
code update. xah-insert-random-string
now back to avoid vowels. vowel in random string is nasty, because they creat meaning.
- 2025-04-18
- Emacs: Xah Fly Keys ๐ฆ
- removed require ido for
xah-insert-date
. thanks to Stefan Monnier. xah-open-in-external-app
fixed a bug for Windows, of replacing apostrophe, now all, not just first.
code update
- emacs 30 major change. great fix.
- now sort takes key args and not destructive.
xtodo
- Emacs Basics
- Emacs: Terminal vs Graphical User Interface
- Emacs: Key Macro Example: Insert All Unicode Bullets
- Why Emacs is Still so Useful Today
- Emacs: Find Replace Text in Directory
- Elisp: Replace String Based on File Name
- vim, 3 Decades Pile of History
- The Sigil War, Syntactic Indicator for Types of Function and Variable (2016)
- Language Server Protocol (LSP) Kills Emacs
- Xah Emacs Blog Archive 2012-04
- Xah Emacs Blog Archive 2012-11
- Xah Emacs Blog Archive 2014-09
- Xah Emacs Blog Archive 2017-04
- Xah Emacs Blog Archive 2018-02
- Xah Emacs Blog Archive 2018-08
- Xah Emacs Blog Archive 2018-11
- Xah Emacs Blog Archive 2019-05
- Xah Emacs Blog Archive 2021-01
- Emacs: Master Tips
- Emacs: Xah Find Replace (xah-find.el) ๐ฆ
- Elisp: Batch Find Replace
xtodo
- emacs problem. when a command uses
completing-read
, and user record a key macro calling that command, it does not work. you need to type the entire word.ido-completing-read
works
;; this works (defun ff () " Created: 2025-04-13 Version: 2025-04-13 " (interactive) (let (xmenu xresult) (setq xmenu (list "aa" "bb" "cc")) (setq xresult (completing-read "Pick one:" xmenu nil t)) (insert xresult))) ;; need more test ;; (ido-completing-read "Pick CSS keyword:" xah-css-all-keywords nil t xword)
- 2025-04-12
- Emacs: Xah Fly Keys ๐ฆ
xah-insert-date
major refactor. now show current date in minibufer menu.xah-show-kill-ring
went back to qwerty key t.
xtodo
(let ((current-time-list t)) (current-time)) ;; (26617 34607 948241 0) (let ((current-time-list nil)) (current-time)) ;; (1744406324012224000 . 1000000000) (current-time-string) ;; "Fri Apr 11 14:14:42 2025"
xtodo
- for rocket scientists.
- Emacs: Insert Random Number or String ๐
- new algo and behavior.
- now includes all A to Z and 0 to 9, but first char is always letter.
- before, omits 1 0 o O and all vows aoeiu.
- 2025-04-09
- Emacs: Xah Fly Keys ๐ฆ
- bumped up Package-Requires to (emacs "28.3"), due to use of seq-setq. and other minor code tweak.
- xah-insert-date now use ido-completing-read instead completing-read. because the latter does not work when recorded as key macro, with fido-vertical-mode on.
more code update
- 2025-03-31
- Emacs: Xah Wolfram Mode ๐ฆ
- name completion now doesnt added [] because options shouldn't add it, but right now haven't found a way to determine when is a symbol a option. removed some abbrev that shouldn't be there.
emacs. syntax table. some unicode matching brackets no match
these match:
- math flattened parenthesis โฎ โฏ
- math white tortoise shell โฌ โญ
- medium parenthesis ornament โจ โฉ
- medium flattened parenthesis ornament โช โซ
- medium curly ornament โด โต
- medium pointing angle ornament โฌ โญ
- heavy pointing angle ornament โฐ โฑ
these no match:
- double curly quote โ โ
- single curly quote โ โ
- french angle quote โน โบ
- french double angle ยซ ยป
- heavy single quotation mark ornament โ โ
- heavy double turned comma quotation mark ornament โ โ
- โฎ โฏ HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
this behavior probably intensional
- massive code update.
- removed dependency on Emacs: xah-get-thing.el ๐ฆ
- Emacs: HTML. Add Paragraph Tags ๐
- Emacs: HTML. Lines to List ๐
- Emacs: HTML. Lines to Table ๐
- Emacs: HTML. Embed Youtube Video ๐
- Emacs: HTML. Ruby Annotation ๐
- Emacs: HTML. Replace Entities ๐
- Emacs: HTML. Delete Tags ๐
- Emacs: Add Brackets to CAPITALIZED words ๐
- Emacs: Change Brackets ๐
- Emacs: Insert Brackets by Pair ๐
- Emacs: Check Brackets Balance ๐
- Emacs: Quote Lines ๐
- Emacs: Replace Straight Quotes to Curly ๐
- Emacs: Replace Greek Letter Names to Unicode ๐
- Elisp: Multi-Pair String Replacement with Report
- Emacs: Reformat Lines for Source Code ๐
- Emacs: Spaces to New Lines ๐
- Emacs: Add Period to Line Ends ๐
- Emacs: Reformat to Long Lines (unfill-region) ๐
- Emacs: Reformat to Sentence Lines ๐
- Emacs: Remove Punctuation Extra Spaces ๐
- Emacs: Clean Empty Lines ๐
- Emacs: Copy Current Line ๐
- Emacs: Select Text Block ๐
- Emacs: Delete Text Block ๐
- Emacs: Move Cursor by Text Block ๐
- Emacs: Upcase Sentences ๐
xtodo
- 2025-03-21
- Emacs: Xah Fly Keys ๐ฆ
- new key for
xah-backward-punct
,xah-forward-punct
. in qwerty, it is [space k], and left or right arrow. (was just 1 and 2) now can also repeat by pressing arrows. also, xah-punctuation-regex by default checks equal sign. typically useful in moving cursor to string assignment. display-line-numbers-mode
now has a key, qwerty [space l h].
- 2025-03-08
- Emacs: Xah Fly Keys ๐ฆ
- some key change.
- call-last-kbd-macro, new "r SPC", old "r e"
- rectangle-mark-mode, new "r r", old "r SPC"
- all dvorak notation.

emacs 30 is out.
- 2025-03-01
- Emacs: Xah Fly Keys ๐ฆ
- better docstring for โข xah-fly-use-control-key โข xah-fly-use-meta-key โข xah-fly-use-isearch-arrows
- now
split-window-right
have key control right square bracket - now
xah-previous-user-buffer
andxah-next-user-buffer
has key control with page up down
- 2025-02-05
- Emacs: Xah Dired Mode (xah-dired.el) ๐ฆ
- lots updates.
- 2025-02-05
- Emacs: Xah Fly Keys ๐ฆ
xah-smart-delete
fix so in minibuffer when before cursor is space, don't complain.xah-search-current-word
now do not deactivate mark.
- 2025-01-24
- Emacs: Xah Fly Keys ๐ฆ
- fixed issue https://github.com/xahlee/xah-fly-keys/issues/184 , and
xah-run-current-file
now show result buffer and make it current. - xah-repeat-key, fixed issue https://github.com/xahlee/xah-fly-keys/issues/183 thanks to akashpal-21
xtodo
xtodo
xtodo
- computer science.
- advanced emacs lisp.
- very interesting. elisp function written in C vs not.
(defvar xah-elisp-symbols-c nil "Lisp function written in C") (defvar xah-elisp-symbols-not-c nil "Lisp function defined in lisp") (mapcar (lambda (x) (if (subrp (symbol-function (intern-soft x))) (progn (push x xah-elisp-symbols-c)) (progn (push x xah-elisp-symbols-not-c)))) xah-elisp-all-symbols) (length xah-elisp-all-symbols) 27324 (length xah-elisp-symbols-c) 9319 (length xah-elisp-symbols-not-c) 18005

xtodo
minor update