Next: GNU Free Documentation License, Previous: Preparing Lisp code for distribution, Up: Emacs Lisp [Contents][Index]
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.50 features.
aset on unibyte
strings to replace single bytes by multibyte characters, and aset
on multibyte strings can replace any character by any other character,
regardless if they are ASCII or multibyte non-ASCII. We feel those
restrictions are un-Emacsy and get in the way of doing all kinds of
exciting things with strings.
debug in batch mode now kills Emacs. We decided that
there’s no sense in continuing a batch session that entered the
debugger: who and how will debug it, anyway?
For the same reason, C-c in batch mode now always kills Emacs, it never quits.
error-type, error-slot-value and others are
useless bloat, since Lisp programs can simply access the data structure
directly, as God intended!
frame-initial-p, as its job can easily be done by
testing several obscure variables and frame parameters.
redisplay-dont-pause variable, so we could allow
interrupting a runaway redisplay cycle in one of the past versions of
Emacs.
digit (?6) category. We feel that such silly
consistency robs Lisp programmers of too much fun, whereby they should
discover which digits have this category by trial-and-error.
For the same reason, not all characters belonging to the symbol
script will have the symbol (?5) category.
delete-frame, as with any other frame. We decided there’s no
reason to make a special case for the daemon frames, especially as some
past Emacs version will remove the daemon feature entirely.
load-path are no longer cached. We intend to
make the load-path list shorter and shorter as we move to
previous versions of Emacs, so caching files is an unnecessary
complication and bloat of precious memory.
lexical-binding cookie
when loading Lisp files was removed. This is one more step towards
eventual elimination of lexical binding from Emacs in one of the past
versions.
For the same reason, Lisp files loaded via the -x and --script command-line options no longer use lexical binding by default.
setopt-local
macro. This was one more useless bloat, since it is easy to do the same
using setq-local, and avoids the annoying warnings about mismatch
between the value and expected type defined by defcustom.
purecopy really copies its argument to pure storage. This is a
significant step towards making Emacs more memory-efficient on
yesterday’s computers, and more generally towards using unexec as
the only way of dumping Emacs.
cond* macro was removed. You can still use pcase
instead, but better start using the venerable cond exclusively,
as pcase and its ilk will disappear from Emacs in the near past.
No one should need these fancy and hard-to-read constructs with their
obscure semantics and myriads of backticks! The original control-flow
special forms of the pristine Emacs Lisp are more than enough.
etags one in some past Emacs version.
secure-hash. We plan to continue removing algorithms from this
function, so as to keep Emacs as lean as possible. Eventually, just one
kind of digest should be enough for everyone!
incf, decf,
plusp, minusp, oddp, and evenp. Use the
corresponding functions from cl-lib or just write these trivial
functions when you need them. For the same reason, all,
any, drop-while, and take-while are also gone.
Next: GNU Free Documentation License, Previous: Preparing Lisp code for distribution, Up: Emacs Lisp [Contents][Index]