Emacs's NEWS files are useful as a searchable reference, but they can be overwhelming as an entry point. In this file, I'm keeping track of the changes /I/ am excited about. * Unmerged branches & patches ** "Pure GTK" Emacs Some brave souls took it upon themselves to drag Emacs kicking and screaming into The Wayland Future™. * 28 ** Transient input methods *** Background Input methods make it easier to type in certain classes of characters. Emacs includes different kinds of methods: - alternative keyboard layouts :: if you are familiar with specific layouts, e.g. Dvorak, French AZERTY, Russian, you can ask Emacs to switch to this layout; - composition :: some methods let you specify characters by typing in short sequences of other symbols: - =french-prefix= provides easy access to diacritics with e.g. ='e= for =é=, =,c= for =ç=; - =TeX= turns TeX macros such as =\alpha=, =\pi=, =\le=, =\ne=, =\wedge= into their corresponding characters, i.e. α, π, ≤, ≠, ∧. Input methods can be toggled with =C-\=; prefix that with =C-u= to select a new method. =C-h I = shows what characters == supports. =C-u C-x == on a character tells you how to input that character with the current input method ("to input: …"). *** What's new The new =C-x \= command enables an input method temporarily, just for the next character, and disables it afterward. As an occasional user of the =TeX= method, I find this useful because I no longer need to choose between 1. enabling =TeX=, typing a sequence, disabling =TeX=, or 2. enabling =TeX=, typing a sequence, keeping =TeX= enabled, getting bitten by it whenever I type in =oh_no= and that turns into =ohₙo=. =C-x \= seems to follow the same rules as =C-\=: - the first time you call it, it prompts for a method, - subsequent calls do not prompt, - add =C-u= to get a prompt back. ** ~same-window-prefix~, ~other-window-prefix~, ~other-frame-prefix~ The rules which govern how Emacs manages windows are beyond my reckoning. I know [[https://protesilaos.com/codelog/2020-01-07-emacs-display-buffer/][it is possible to tame them]] with patience and discipline; still, these new commands appeal to my humble caveman brain. Assuming the command run by key sequence =KEYSEQ= will display its own buffer =BUF=, - =C-x 4 1 KEYSEQ= says "please display =BUF= right here, in this window"; - =C-x 4 4 KEYSEQ= says "please display =BUF= in another window"; - =C-x 5 5 KEYSEQ= says "please display =BUF= in another frame". These new ~other-…-prefix~ commands can be seen as generalizations of common shorthands such as =C-x 4 f= or =C-x 5 b=. ** Visibility-cycling with =TAB= in outline.el =TAB= and =S-TAB= now work in Outline mode like they do in Org. Look at e.g. NEWS (=C-h N=) to see them in action. Customize ~outline-minor-mode-cycle~ to enable this in ~outline-minor-mode~. One small, /tiny/ step toward chipping good features out of Org in order to generalize them. ** ~yank-from-kill-ring~ I've always been somewhat ambivalent about Emacs's ~kill-ring~: 1. Everything I ever copied is saved forever! This is a revolutionary feature on par with the undo system 🙌 2. … Surely we can find a more ergonomic UI than =C-y M-y M-y M-y= /dammit/ =C-_ C-_= /ah screw it/ =C-h v kill-ring RET C-s= 🤔 And lo! =M-y= now prompts for the ~kill-ring~ item to yank, with completion. This makes the ~kill-ring~ much more accessible IMO. ** repeat-mode =C-x o o o=! ** ~completions-group~, ~read-char-by-name-sort~ Some very welcome quality-of-life tweaks to =C-x 8 RET=. * 27 ** ~what-cursor-show-names~ I sometimes use =C-u C-x == to (re)discover how the Unicode consortium decided some character should be called; having plain =C-x == give me that information without popping an extra buffer is neat.