@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 2005--2021 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Antinews @appendix Emacs 26 Antinews @c Update the emacs.texi Antinews menu entry with the above version number. For those users who live backwards in time, here is information about downgrading to Emacs version 26.3. We hope you will enjoy the greater simplicity that results from the absence of many @w{Emacs @value{EMACSVER}} features. @itemize @bullet @item Emacs no longer uses @acronym{GMP}, the GNU Multiple Precision library, and doesn't support Lisp integers greater than @code{most-positive-fixnum} or smaller than @code{most-negative-fixnum}. We now have only one kind of a Lisp integer. This simplifies many Lisp programs that use integers, and makes integer calculations always fast. If you want larger values, use Lisp floats, as Emacs has done since day one. @item Emacs no longer supports HarfBuzz as the engine for shaping complex text. As you move back in time, we will gradually shed off all traces of support for complex text shaping, and this is one step in that direction. @item We have removed support for building with the Jansson library, and consequently the native support for JSON parsing is gone. The importance of JSON decreases as we go back in time, so for now using the Lisp code for handling it should be good enough; in one of the past Emacs versions, we intend to remove even that, as useless bloat. The library for supporting JSONRPC applications was removed for the same reason. @item The ``portable dumper'' feature is gone. We are once again using the field-proven ``unexec'' way of dumping Emacs. With that, the hope for being able to re-dump your customized Emacs session is also gone: why would anyone want to record their random customization experiments on disk, and restore them the next time they start Emacs? And true Emacsers don't restart their Emacs sessions anyway. @item We dropped the support for @acronym{XDG}-style configuration directories and the @env{XDG_CONFIG_HOME} environment variable. There's once again only one place where Emacs looks for its init files: the @file{~/.emacs.d} directory, with the @file{~/.emacs} file as fallback. We think this will go a long way towards preventing confusion among users who for some reason have @env{XDG_CONFIG_HOME} set, thus risking to have their init files randomly spread between two places. In one of the past Emacs versions, we intend to further simplify this, removing the @file{~/.emacs.d} place and leaving only @file{~/.emacs}; stay tuned. For similar reasons, we've removed the ``early init'' file. You can now again use all the tricks you want to initialize variables like @code{package-user-dir} and @code{package-load-list} just in time for the packages to load. @command{emacsclient} no longer supports @acronym{XDG}-style directory trees, either. @item TLS connections are back to their lenient security settings. We decided that too tight security settings are an annoyance for users, and make little sense considering the world-wide tendency to have fewer and fewer network security problems as we move back in time (those issues will be completely gone when networks disappear in some distant past). @item The @code{server-after-make-frame-hook} hook was deleted, in preparation for removing the entire daemon business in some past Emacs version. You will be glad to learn that setting up the GUI customizations of your sessions is now once again as easy as it ever was, with just the @code{after-make-frame-functions} to use. @item The @code{flex} completion style was removed. We feel that it unnecessarily complicates the Emacs user experience, and therefore will continue to remove other tricky completion styles, until in some past Emacs version we get to a single original style Emacs pioneered decades ago. Long live simplicity; down with complications! @item The optional display of the fill-column indicator is no longer supported. With the display sizes becoming smaller and smaller as you move back in time, we feel that the display itself will always show you where to fill or wrap your text, and do this much more easily and reliably than any such display indicator. @item We removed the features that made visiting large files easier. Thus, Emacs will no longer suggest visiting a large file literally, nor offer the @code{so-long} mode to deal with overly-long lines. We decided that this simplification is worthwhile, given that the general tendency of having very large files is becoming a rarity as we move back in time. @item We have removed the feature that displayed echo-area messages without hiding content of the active minibuffer. This should prevent user confusion from having two unrelated pieces of text staring at them, with no clear separation between them. Users with good memories (and Emacs users are all expected to be of that kind) will have no trouble keeping the minibuffer text in their minds, and typing the responses without actually seeing the prompts. @item Horizontal scrolling using the mouse or touchpad has been removed. In the past, wide monitors will become less popular, so horizontal scrolling will no longer be needed. Removal of the mouse support for horizontal scrolling is the first step towards its complete removal in prior Emacs versions. @item The @code{main-thread} variable and @code{list-threads} were removed, and @code{thread-join} no longer returns the result of the finished thread. We intend to remove the support for Lisp threads in some past Emacs version, so we continue removing the associated complexities and features as we go back in time. @item Tab bar and window tab-lines were removed. This should make the Emacs display simpler and less cluttered, and help those users who disable menu bar and tool bar in their GUI sessions. The fashion to provide tabs in every GUI application out there is gaining less and less popularity as we move back in time, and will completely disappear at some past point; removing the tabs from Emacs is the step in that direction. @item Displaying line numbers for a buffer is only possibly using add-on features, such as @code{linum-mode}, which can only display the numbers in the display margins. Line-number display using these features is also slow, as we firmly believe such a feature is un-Emacsy and should not have been included in Emacs to begin with. Consequently, @code{display-line-numbers-mode} was removed. @item On our permanent quest for simplifying Emacs, we've removed the support for changing the font size by turning the mouse wheel. @item Several commands, deemed to be unnecessary complications, have been removed. Examples include @code{make-empty-file}, @code{font-lock-refontify}, @code{xref-find-definitions-at-mouse}, @code{make-frame-on-monitor}, and @code{diff-buffers}. @item To keep up with decreasing computer memory capacity and disk space, many other functions and files have been eliminated in Emacs 26.3. @end itemize