GNU Emacs

Appendix E Emacs 27 Antinews

For those users who live backwards in time, here is information about downgrading to Emacs version 27.2. We hope you will enjoy the greater simplicity that results from the absence of many Emacs 28.2 features.

  • Emacs can no longer be built with support of native compilation of Lisp programs. This means Emacs builds much faster, and the problems that came with native compilation: the need to have GCC and Binutils installed, the complications of managing your eln-cache directories—all of that is now future history. The simplicity and elegance of the Emacs byte-compiled code is now restored in all of its pristine beauty.

  • Emacs no longer builds by default with Cairo, even if it’s present. The warnings about not using HarfBuzz are also gone, in preparation for complete removal of HarfBuzz support in previous Emacs versions. Fancy text shaping and display is becoming less important as you move back in time. The ftx font backend is again part of Emacs, for the same reasons.

  • Emacs once again supports versions 5.3 and older OpenBSD systems, which will be needed as you move back in time.

  • We’ve dropped support for Secure Computing filter on GNU/Linux. The past world is much more secure than the present, so the complexities related with this stuff, which can only be explained by severe paranoia, are no longer justified.

  • Emacs reverted back to supporting Unicode 13.x, since the following versions of the standards are not yet published where you are going. The ‘ emoji’ script and the support for displaying Emoji sequences were removed for the same reasons: no one will produce them in the past.

  • Mode-specific commands and the M-S-x command that invokes them were removed. As you move back in time, the command set in Emacs becomes smaller, so any such filtering of applicable commands just gets in the way.

  • We have removed the system for displaying documentation of groups of related functions, the shortdoc-display-group command to go with it, and the corresponding “See also” button in the *Help* buffer. That should make searching for certain functions simpler: just use the venerable ‘ apropos’ commands.

  • The context-menu-mode was removed, and with it the context menus popped by pressing the right mouse button. This is one small step towards freeing Emacs (and eventually, the whole world of computing) from the tyranny of the GUI pointing devices in general, and moving back to the simplicity of text-mode user interfaces. Down with mice and other rodents!

  • The commands C-x 4 4 and C-x 5 5 for displaying the results in a new window/frame re gone. We are quite certain that creating a new window/frame before running a command is much simpler, and doesn’t require a complication of a new prefix.

  • The behavior of active minibuffers when switching frames is now the perfect mess it should be: sometimes the minibuffer moves to the new selected frame, sometimes it doesn’t, and sometimes you get an error. This makes Emacs usage much more fun, as you get to guess the result, instead of having it boringly consistent.

  • Compact mode-line display mode has been removed. The items displayed on the mode line are now always in the same place, and if there’s not enough space for them, they are not displayed at all, instead of being confusingly displayed in a different position. You no longer need to think twice where to find a particular mode-line element on display.

  • Many commands and options related to tab bars were removed, including (but not limited to) frame-specific appearance of tab bars, the tab-bar-format option, the C-x t n, C-x t N, C-x t M, and C-x t G commands, and many mouse gestures on the tab bar. We are going to delete the tab bar support from Emacs in one of the past versions, and this is a step in that direction.

  • The “transient” input methods have been removed; use C-\ to turn input methods on and off instead. This is in preparation for complete removal of input methods from Emacs in version 19, and consistent with the fact that the number of input methods we support becomes smaller as you move back in time.

  • We disabled show-paren-mode by default, since we think the venerable blink-matching-paren feature is more than enough, and better fits the simplicity of past Emacs versions. It will definitely be better when colors are removed from Emacs in the distant past.

For the same reason, sub-groups in interactive regexp searches are no longer highlighted in distinct colors.

  • On our permanent quest for simplifying Emacs, we’ve removed the Ispell command ispell-comment-or-string-at-point; the old-time friend ispell-comments-and-strings should suffice.

  • Many Gnus commands and options were deemed to unnecessarily complicate the use of Gnus (which is too complex to begin with), and thus were removed. This includes gnus-topic-display-predicate, gnus-process-mark-toggle, gnus-registry-register-all, gnus-paging-select-next, and many others. The nnselect backend was deleted for the same reason.

  • The project.el package have been redesigned to remove many unnecessary features, so that just the bare essentials remain. We plan on removing this package from Emacs in a previous version, but decided to begin with removing some extra features first.

  • To keep up with decreasing computer memory capacity and disk space, many other functions and files have been eliminated in Emacs 27.2.