@c -*- coding: utf-8 -*-
@c This is part of the Emacs manual.
@c Copyright (C) 2005--2025 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.

@node Antinews
@appendix Emacs 29 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 29.4.  We hope you will enjoy the
greater simplicity that results from the absence of many @w{Emacs
@value{EMACSVER}} features.

@itemize @bullet
@item
Emacs can no longer be built for Android mobile devices.  We have
removed the Android support because it was deemed unnecessary, what with
the screens of the mobile devices becoming smaller and smaller as you
move back in time.  We expect Android users to enjoy the much simpler
text editors available on their devices.  As a nice bonus, removing
Android support allowed us to get rid of gobs of related files, thus
making the release tarballs much leaner.

@item
We have deleted much of the enhanced support for touchscreen devices,
for the same reason we dropped Android: there will be no need for that
as you move back in time.

@item
We also dropped support for sophisticated input methods that include
text conversions, again because those are mostly needed on mobile and
hand-held devices, which we gradually remove from Emacs in each past
version.

@item
Like its newer releases, Emacs 29 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 made the native
compiler support off by default; you will now have to request it
explicitly at configure time.  This makes the default Emacs build
process much faster.

@item
JSON interfaces slowly move into oblivion as past years come closer, so
we have removed our internal implementation of JSON; you will now need
to build Emacs with the libjansson library, if you need JSON.
Eventually, we plan on removing JSON support from Emacs altogether; this
move will make the removal much simpler.

@item
Tree-sitter based modes are now completely independent of their
non-Tree-Sitter counterparts.  We decided that keeping the settings
separate and independent goes a long way toward simplicity, which is one
of our main motivations for removing stuff from Emacs.

@item
Various Help commands no longer turn on Outline minor mode.  With less
material to display in the *Help* buffers, due to removing of excess
documentation from Emacs, we think using outlining is an unnecessary
complication, as scrolling through plain text is so much simpler.

For the same reasons, Emacs no longer shows Unicode names of characters
in *Help* buffers shown by @code{describe-bindings}.

@item
To make Emacs configuration simpler and easier to control, the tool bar
can now be displayed only in its natural and logical position: on the
top of the frame; no more of that @code{tool-bar-position} nonsense with
tool bars on the bottom.  For the same reasons @code{modifier-bar-mode}
is now gone.

@item
The command @code{recover-file} no longer lets you display the diffs
between a file and its auto-save file.  You either want to recover a
file or you don't; confusing users with a third alternative when they
are anxious already by the possibility of losing precious edits is
considered a bad idea, certainly so as we move further towards smaller,
simpler Emacs.

@item
Several languages and input methods, which will fall in disuse as you
move back in time, were removed.  This includes Urdu, Pashto, and Sindhi
languages, and the input method for the Colemak keyboard layout.  Many
@kbd{C-x 8} key sequences, including those which insert various
quotation characters and guillemets, were deleted for the same reason.

@item
The support for @code{lzip}-compressed Info manuals was removed from the
Info mode.  We anticipate that @command{lzip} will disappear from the
face of the Earth in the near past, and are preparing Emacs for that in
advance.

@item
Support for LLDB in Grand Unified Debugger mode was dropped.  We decided
that given LLDB's diminishing popularity, its support is just code
bloat.

@item
Several fancy Project and VC commands were deleted, as part of our
consistent effort of making Emacs simpler to use.

@item
The user option @code{shell-command-guess-functions} and the context
menu @samp{Open With} in Dired are gone.  We trust Emacs users to always
know themselves which shell command is the appropriate one for a given
file, so no guessing by Dired is needed, or welcome.  The
@code{dired-do-open} command was deleted for the same reasons.

@item
We went back to the original lean-and-mean interface for specifying
registers for register-related commands.  The fancy preview and the
options to go with it were deemed gratuitous and were removed.

@item
Eshell is now much smaller and easier to use, due to dropping quite a
few of the new commands and fancy new options.

@item
The command @code{customize-dirlocals} was removed.  Editing the
@file{.dir-locals.el} files as plain text is so much simpler, and quite
enough.

@item
We have removed several packages that we consider unnecessary for the
past of Emacs.  This includes EditorConfig support, @samp{which-key},
PEG, and Window-Tool-Bar.

@item
The @code{etags-regen-mode} was deleted.  Regeneration of @file{TAGS}
tables manually is all Emacs users will need in the past.

@item
To keep up with decreasing computer memory capacity and disk space, many
other functions and files have been eliminated in Emacs 29.4.
@end itemize
