For those users who live backwards in time, here is information about downgrading to Emacs version 27.2. We hope you will enjoy the greater simplicity that results from the absence of many Emacs 28.1 features.
lexical-bindinglocal variable now heeds the value of
enable-local-variables: if it’s
lexical-bindingcookie is ignored. We are working hard on removing the lexical-binding support in some past Emacs version, and this small step advances us back to that change.
load-dangerous-librariesvariable is not obsolete, as it must be used to allow loading Lisp compiled by XEmacs, which will become more and more important as you move back in time.
interactiveis not supported, and every command is deemed applicable to any major mode. We believe this makes the life of Lisp programmers much simpler, as there’s now no need to tag commands with the modes where they make sense.
local-minor-modes. If your Lisp program needs to determine whether some minor mode is in effect, it will have to test explicitly for every mode. We don’t expect anyone to miss those fancy variables.
process-prioritize-lower-fds, have been removed. Moving back in time means fewer and fewer programs can produce such high-rate output, so this features becomes just useless crud.
ibm273, and others—variants of the EBCDIC encoding tailored for some Japanese and European locales. You won’t need those where you are going.
:successkeyword. If you really need this feature (why would you?), you can always write some simple Lisp that has the same effect.
make_unibyte_stringmodule API was removed for the same reason.
print-integers-as-charactersoption. Recognizing characters by their decimal codes is a basic requirement for Emacs Lisp programmers, and with the expected decrease in use of Unicode characters, this will be soon limited to ASCII only: surely something you all can master!
directory-filesfunction has been removed. Extracting the first n members from the full list is trivial, so this is a significant simplification for an insignificant cost.
coding-system-for-read/writeinstead: again, a significant reduction in Emacs complexity for little or no cost.
define-minor-modethe code which allowed using the
:interactiveargument. The possibility of marking a mode non-interactive makes very little sense,
pcasemacro, in accordance with our general plan to remove
&name. The long-term plane is for Emacs to drop Edebug entirely, leaving only the trusted Lisp debugger, and we continue working according to that plan.
object-intervalswas dropped, as a Lisp program can easily collect the intervals of a buffer or a string by iterating through them one by one.
require-themefunction is an unnecessary complication, so we deleted it. Lisp programs can easily search along
length=were removed, as using
lengthfollowed by a comparison should be good enough for everyone, especially considering that the typical length of a list keeps going down as you move back through time.
current-minibuffer-commandis no longer available, as we found little justification for keeping it.