123 lines
5.1 KiB
Plaintext
123 lines
5.1 KiB
Plaintext
@c -*-texinfo-*-
|
|
@c This is part of the GNU Emacs Lisp Reference Manual.
|
|
@c Copyright (C) 1999, 2002--2024 Free Software Foundation, Inc.
|
|
@c See the file elisp.texi for copying conditions.
|
|
|
|
@c This node must have no pointers.
|
|
|
|
@node Antinews
|
|
@appendix Emacs 29 Antinews
|
|
@c Update the elisp.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
|
|
Mouse wheel events once again follow the platform and window-system
|
|
conventions: sometimes they are @code{wheel-up/down} and sometimes
|
|
@code{mouse-4/5/6/7}. Lisp programs which use these should once again
|
|
be aware of the conventions in effect and behave accordingly.
|
|
|
|
@item
|
|
The command @code{describe-function} no longer distracts you by showing
|
|
unnecessary details like the type of the function's object. Emacs
|
|
hackers always know whether a function is a primitive, a native-compiled
|
|
Lisp function, or any other kind. Stating the obvious simply wastes the
|
|
precious screen estate; as you move into the past, and the typical
|
|
dimensions of the screen become smaller, that waste is less and less
|
|
justified. So we made the waste smaller.
|
|
|
|
@item
|
|
The support for styled underline in face attribute was dropped. The
|
|
simple underline should be enough; anything else is just code bloat and
|
|
creeping featurism. Colorful underlines on TTY frames are no longer
|
|
supported for the same reason.
|
|
|
|
@item
|
|
IELM stopped recording its input history. You will no longer be annoyed
|
|
by inputs from your past sessions; each session starts with a clean
|
|
slate. What can be simpler and easier to remember?
|
|
|
|
@item
|
|
You can no longer disable JavaScript in xwidget Webkit sessions. Since
|
|
xwidgets are going away in one of the previous Emacs versions, we
|
|
decided to make this one step in that direction and get rid of this
|
|
complication.
|
|
|
|
@item
|
|
The @code{minibuffer-regexp-mode} was removed. Regular expressions are
|
|
just strings, so no fancy mode should be needed for editing them.
|
|
|
|
@item
|
|
We removed the Compat package. Forward compatibility for ELPA packages
|
|
becomes less and less important as you move back through time, and soon
|
|
enough ELPA will disappear entirely. We decided it was prudent to start
|
|
preparing for that now.
|
|
|
|
@item
|
|
We are back to interpreting @code{\x} without any following hex digits
|
|
as character code zero (@acronym{NUL}), as it always was in Emacs. The
|
|
savings in typing due to this alone are enough to justify this
|
|
simplification.
|
|
|
|
@item
|
|
To keep Emacs clean and elegant, we've removed the ability to show
|
|
tooltips for fringe bitmaps. What important information cam be shown on
|
|
the fringes, and why would it require tooltips to explain its purpose?
|
|
We decided it isn't justified to keep this in past versions of Emacs.
|
|
|
|
@item
|
|
Fancy sorting-related facilities, like the @code{value<} function and
|
|
keyword arguments for @code{sort}, were deleted as too complex. The
|
|
basic @code{sort} function should all that's needed in the years to go.
|
|
|
|
@item
|
|
Features related to the inheritance graph of major modes were deemed
|
|
unnecessary and thus were dropped. This includes
|
|
@code{provided-mode-derived-p}, @code{derived-mode-add-parents}, and
|
|
others. We decided that untangling the mode inheritance relationships
|
|
by hand facilitates more clear code and makes the intent evident.
|
|
|
|
@item
|
|
We removed unnecessary functionality for handling touch screen events,
|
|
as touch screens gradually disappear from view as you move back in time.
|
|
There's no need to keep obsolete these new inventions in the past.
|
|
|
|
@item
|
|
Various new functions and variables for moving and transposing sexps and
|
|
for moving by program statements were dropped as unnecessary. The
|
|
original commands that move by balanced expressions are more than
|
|
enough.
|
|
|
|
@item
|
|
We deleted some fancy @code{declare} forms for functions, such as
|
|
@code{ftype}. Emacs Lisp is not a string-typed language, which makes
|
|
these declarations anathema. The types @code{closure} and
|
|
@code{interpreted-function} are gone for the same reason: no need to
|
|
distinguish types of Lisp functions.
|
|
|
|
@item
|
|
The byte compiler stopped issuing warnings about practices some purists
|
|
consider questionable. This includes warnings about missing
|
|
@code{lexical-binding} cookies, empty bodies of special forms and
|
|
macros, comparison with literals, @code{condition-case} without
|
|
handlers, mutation of constants, and some others. As time moves into
|
|
the past, the typical Emacs hacker knows best what's correct code and
|
|
what isn't, and thus these warnings become useless annoyances. Good
|
|
riddance!
|
|
|
|
@item
|
|
The @code{obarray} type is gone. Obarrays are back to their original
|
|
representation as vectors. Each removed Lisp data type makes Emacs
|
|
simpler and easier to use, so this is a welcome deletion.
|
|
|
|
@item
|
|
As part of the ongoing quest for simplicity, many other functions and
|
|
variables have been eliminated. Other functions and variables, that
|
|
were declared obsolete since Emacs 24, have been added back, in
|
|
preparation for releasing Emacs 24 in some distant past.
|
|
@end itemize
|