Emacs 28 Antinews
For those users who live backwards in time, here is information about downgrading to Emacs version 28.2. We hope you will enjoy the greater simplicity that results from the absence of many Emacs 29.4 features.
- Like its newer releases, Emacs 28 can still be built with support of native compilation of Lisp programs. However, in preparation for removal of this feature in some previous version, we've deleted the capability of ahead-of-time native compilation of all the Lisp files that come with Emacs. This makes the Emacs build process much faster.
- Emacs can no longer be built with the tree-sitter library, so you no longer will need to look for and install the grammar libraries for the languages in which you want to program. Similarly, all the modes that are based on the tree-sitter library were deleted, leaving you with just one major mode for every supported programming language: no more need to decide whether to turn the tree-sitter supported modes on and try using their parser-based fontification, indentation, and other features. For some languages and file types, this means no major mode at all, leaving you with the venerable Fundamental mode as the natural, high-performance choice. For example, Go, Rust, and CMake files no longer have any major modes for editing their files — another milestone towards a simpler, leaner Emacs.
- Built-in support for accessing SQLite databases was removed. You can now again edit SQLite files as simple binary files, which Emacs is quite capable to support, as it always did.
- As a gesture to users of the Haiku operating system, we've dropped the code which allowed Emacs to be built on that OS. We expect Haiku users to enjoy the much simpler editors they have for editing their files.
- Support for XInput2 input events on X is gone. We think the traditional X input events are more than enough, certainly so as you move back in time, where XInput2 will eventually be removed from X as well, once the maintainers of the X Windows system realize the utter futility of supporting fancy input mechanisms.
- The "pure GTK" (a.k.a. PGTK) configuration of Emacs is no longer supported. This is in anticipation of the complete removal of the GTK toolkit support from Emacs, and in accordance with our expectation that GTK will cease to exist as you move back in time. We plan on removing support for all the other toolkits as well, leaving only the pure X build with our own widgets as the single supported GUI configuration on X.
- The
--init-directorycommand-line option was removed, as initializing Emacs with init files of another user is a preposterous idea anyway. - In line with simplifying and eventually removing the native-compilation option, we've deleted the
--with-native-compilation=aotconfigure-time option. This greatly simplifies how native compilation works and makes your configure-time decision regarding native compilation in Emacs clear-cut: either Emacs compiles non-preloaded Lisp packages to native code only before using it, or it never uses native compilation at all; no more half measures and special exceptions. For similar reasons,native-compile-prune-cacheandstartup-redirect-eln-cachefeatures are no longer part of Emacs. - We've deleted the special code and features which allowed Emacs to present decent performance and responsiveness when editing files with very long lines. Such files become more and more rare as time goes back, and so having all this tricky code in Emacs for their benefit was deemed an unnecessary complication.
- Emacs dropped support for Eglot and the LSP servers. We decided that the built-in ways of analyzing source code are more than enough as you move back in time.
- Commands to scale and rotate images are once again bound to single keys like
+,-, andr, which makes them much easier to type. As for the risk of typing these by mistake, we don't believe Emacs users make typing mistakes, especially as they move back in time and become younger and younger. - To simplify typing popular commands, we've rebound the
C-x 8 . .back toC-x 8 .andC-x 8 = =back toC-x 8 =. There's no need for fancier, longer key sequences, as moving back in time means we will have fewer and fewer commands to bind to them in the first place. - If you inadvertently kill the
*scratch*buffer, Emacs will recreate it in Fundamental mode, not in Lisp Interaction mode. You get to turn on the mode you like yourself. Our long-term plans for past Emacs releases is to remove the recreation of*scratch*altogether, and this is the first step in that direction. - Support for
rloginandrshprotocols are back, since we expect them to become more and more important and popular as you move back in time. - In preparation for eventual removal of Unicode support from Emacs, we've downgraded our Unicode support to version 14.0.
- You can no longer change the size of the font globally. Since Emacs will at some past date remove all support for variable-size fonts, having such commands is a luxury we are better without.
- On our permanent quest for simplifying Emacs, we've removed the commands
duplicate-lineandduplicate-dwim; the old-time friendsM-wandC-y(typed one or more times) should suffice. The commandrename-visited-fileis gone for the same reason. - We've deleted many commands related to Emoji, which were bound in the
C-x 8 eprefix keymap. We decided that the ability to type Emoji sequences usingC-x 8 RETis enough, and actually serves our users better by requiring them to know the codepoints of the sequences they want to type. - We dropped support for many scripts and input methods, especially old scripts that no one uses anyway. For similar reasons, Greek and Ukrainian translations of the Emacs tutorial are not available anymore.
package.elcan no longer fetch source code of packages from their VCS repositories. We think command-line tools like Git should be enough to allow you to clone their repositories. So we deleted thepackage-vc-installcommand and other similar commands.- To keep up with decreasing computer memory capacity and disk space, many other functions and files have been eliminated in Emacs 28.2.