mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-18 18:05:07 +00:00
5badc81c1c
Run admin/update-copyright.
118 lines
4.7 KiB
Plaintext
118 lines
4.7 KiB
Plaintext
@c -*-texinfo-*-
|
|
@c This is part of the GNU Emacs Lisp Reference Manual.
|
|
@c Copyright (C) 1999, 2002-2017 Free Software Foundation, Inc.
|
|
@c See the file elisp.texi for copying conditions.
|
|
|
|
@c This node must have no pointers.
|
|
|
|
@node Antinews
|
|
@appendix Emacs 24 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 24.5. We hope you will enjoy the greater
|
|
simplicity that results from the absence of many Emacs @value{EMACSVER}
|
|
features.
|
|
|
|
@section Old Lisp Features in Emacs 24
|
|
|
|
@itemize @bullet
|
|
@item
|
|
The requirement that @code{setq} and @code{setf} must be called with
|
|
an even number of arguments has been removed. You can now call them
|
|
with an odd number of arguments, and Emacs will helpfully supply a
|
|
@code{nil} for the missing one. Simplicity rules!
|
|
|
|
@item
|
|
@kbd{M-x shell} and @kbd{M-x compile} set the @env{EMACS} environment
|
|
variable, as they should, to indicate that the subprocess is run by
|
|
Emacs. This is so packages that took years to learn how to work
|
|
around that setting could continue using their code to that effect.
|
|
|
|
@item
|
|
The @code{save-excursion} form saves and restores the mark, as
|
|
expected. No more need for the new @code{save-mark-and-excursion},
|
|
which has been deleted.
|
|
|
|
@item
|
|
We have removed the @code{text-quoting-style} variable and the
|
|
associated functionality that translates quote characters in messages
|
|
displayed to the user and in help buffers. Emacs now shows exactly
|
|
the same quote characters as you wrote in your code! Likewise,
|
|
@code{substitute-command-keys} leaves the quote characters alone. As
|
|
you move back in time, Unicode support becomes less and less
|
|
important, so no need to display those fancy new quotes the Unicode
|
|
Standard invented.
|
|
|
|
@item
|
|
Regular expressions have been simplified by removing support for
|
|
Unicode character properties in regexp classes. As result,
|
|
@code{[:alpha:]} and @code{[:alnum:]} will match any character with a
|
|
word syntax, and @code{[:graph:]} and @code{[:print:]} will match any
|
|
multibyte character, including surrogates and unassigned codepoints.
|
|
Once again, this is in line with diminishing importance of Unicode as
|
|
you move back in time.
|
|
|
|
@item
|
|
Evaluating @samp{(/ @var{n})} will now yield @var{n}. We have
|
|
realized that interpreting that as in Common Lisp was a bad mistake
|
|
that needed to be corrected.
|
|
|
|
@item
|
|
The @code{pcase} form was significantly simplified by removing the
|
|
UPatterns @code{quote} and @code{app}. To further simplify this
|
|
facility, we've removed @code{pcase-defmacro}, since we found no need
|
|
for letting Lisp programs define new UPatterns.
|
|
|
|
@item
|
|
We've removed the text properties @code{cursor-intangible} and
|
|
@code{cursor-sensor-functions}, replacing them by the much simpler
|
|
@code{intangible}, @code{point-entered}, and @code{point-left}
|
|
properties. The latter are implemented on a much lower level, and
|
|
therefore are better integrated with user expectations. For similar
|
|
reasons, @code{cursor-intangible-mode} and @code{cursor-sensor-mode}
|
|
were removed; use the hook variable @code{inhibit-point-motion-hooks}
|
|
which is no longer obsolete.
|
|
|
|
@item
|
|
Process creation and management functions were significantly improved
|
|
and simplified by removing @code{make-process} and the @code{pipe}
|
|
connection type. Redirecting @code{stderr} of a subprocess should be
|
|
done with shell facilities, not by Emacs.
|
|
|
|
@item
|
|
We decided that shutting up informative messages is bad for user
|
|
interaction, so we've removed the @code{inhibit-message} variable
|
|
which could be used to that effect.
|
|
|
|
@item
|
|
Support for generators and for finalizers has been removed, as we
|
|
found no real need for these facilities.
|
|
|
|
@item
|
|
Due to excessive complexity and the diminishing need for Unicode
|
|
support, the functions @code{string-collate-lessp} and
|
|
@code{string-collate-equalp} were removed. Their locale-independent
|
|
counterparts @code{string-lessp} and @code{string-equal} are so much
|
|
more simple and yield predictable results that we don't see any
|
|
situation where the locale-dependent collation could be useful in
|
|
Emacs. As result, the @file{ls-lisp.el} package sorts files in a
|
|
locale-independent manner.
|
|
|
|
@item
|
|
In preparation for removal in some past version of Emacs of the
|
|
bidirectional editing support, we started by deleting two functions
|
|
@code{bidi-find-overridden-directionality} and
|
|
@code{buffer-substring-with-bidi-context}.
|
|
|
|
@item
|
|
Time conversion functions, such as @code{current-time-string}, no
|
|
longer accept an optional @var{zone} argument. If you need to change
|
|
the current time zone (why?), do that explicitly with
|
|
@code{set-time-zone-rule}.
|
|
|
|
@item
|
|
As part of the ongoing quest for simplicity, many other functions and
|
|
variables have been eliminated.
|
|
@end itemize
|