Emacs 30 Antinews
For those users who live backwards in time, here is information about downgrading to Emacs version 30.2. We hope you will enjoy the greater simplicity that results from the absence of many Emacs 31.1 features.
The venerable
unexecdumper is back! It is still deprecated, but we plan on un-deprecating it in Emacs 26, in preparation for theglibcdevelopers’ reinstating the various hooks which Emacs needs to reliably be built usingunexec.ctagsis once again a separate program. We decided that the need to remember the--ctagsoption toetagsis not friendly enough to our users, and switched back to a time-proven Unix philosophy of “programs that do one thing and do it well”.We dropped the annoying feature of scraping at startup files and directories in
user-lispsubdirectory of your Emacs configuration directory. It slows down startup, especially as computers and hard disks become slower and slower as you move back in time.As part of our continuous struggle to make Emacs simpler, we’ve removed the
marginface, so text shown in display margins will now use the samedefaultface as the rest of buffer text. Our long-term goal is to remove faces completely, thus leaving the Emacs with just two colors, so we gradually remove more and more faces as we go.Yet another complication which we got rid of is child frames on text-only terminals. They are still supported on GUI frames, but one improvement at a time.
Fancy completion bells and whistles, such as eager display of completion candidates, updating the
*Completions*buffer as you type, control of point motion in*Completions*viacompletions-format, etc. will no longer confuse you because we deleted all of that stuff. No one should need completion features beyond what typing TAB produces!Commands that modify the window layout of a frame are gone. You can no longer be seduced to transpose or rotate windows on their frame. Once again, only Emacs decides how to arrange and re-arrange windows.
For the same reason, we nuked
split-frameandmerge-framescommands. C-x 2 and C-x 0 should be enough for everyone!We removed quite a few complications due to Unicode Standard version 17.0 and related features. This includes quite a few characters which will never be needed in the past, the language environments for Syriac and Tifinagh, and several input methods which no one should miss, and which will fall in disuse soon enough anyway. As memory becomes more and more at premium, we must make Emacs leaner and meaner to follow suit.
User option
treesit-enabled-modesis no longer part of Emacs. Customizemajor-mode-remap-alistto activate Tree-sitter based modes instead of the traditional modes; this is much simpler and easier to remember and manage.Sendmail and Rmail no longer try to detect suspicious email addresses and warn you about them. As you move back in time, people become nicer and nicer, and all those malevolent souls who constantly look for opportunities to cause you damage become more and more vague memories from the distant future. Eventually, we will once again have just the small Arpanet where everyone were your friends, and who needs these paranoid features then?
You can no longer edit Grep results and have the edits reflected in the original files. We’ve removed that because we believe one should only edit the original files directly, with the full benefit of the surrounding context.
Commands for handling VCS repositories with multiple working trees were deleted from VC. We concluded that multiple working tree in a single project are a clear sign of design bloat, and we refuse to admit such bloatware into Emacs. So this is gone—good riddance!
Numerous other VC features, which we considered too fancy and not useful enough, were removed for the same reason.
To review an Emacs Lisp package before installing it from ELPA, you will now need to actually read its code and documentation, because the user option
package-review-policy, and the associated functionalities to show the diffs from the previous version, are gone. “Use the source, Luke!”We also deleted
package-autosuggestandpackage-autosuggest-mode, since we want to trust our users to know better.In preparation for removal of the
customize-dirlocalscommand in the previous Emacs version, we nukedCustom-dirlocals-mode.We have removed several packages and modes that we consider unnecessary for the past of Emacs. This includes
icalendar-modeandlua-modemodes, and thetimeoutandsystem-taskbar-modelibraries. thesystem-sleeppackage is gone for the same reasons.To keep up with decreasing computer memory capacity and disk space, many other functions and files have been eliminated in Emacs 30.2.