Next: GNU Free Documentation License, Previous: Packaging, Up: Top
For those users who live backwards in time, here is information about downgrading to Emacs version 25.3. We hope you will enjoy the greater simplicity that results from the absence of many Emacs 26.3 features.
file-attribute-type and
file-attribute-modification-time.  Real Lisp programmers always
access the individual attributes by their ordinal numbers, and can
recite those numbers in their sleep.
     :complete-negotiation parameter of
gnutls-boot has become unnecessary, and was removed—just one
example of how removal of asynchronicity simplifies Emacs.
     current-time-string,
current-time-zone, decode-time,
format-time-string, and set-time-zone-rule no longer
accept integer offsets as time zone rules, to make it more of a
challenge to convert foreign timestamps.  Also,
format-time-string no longer converts ‘%q’ to the calendar
quarter, as that is something you can easily do for yourself.
     line-number-display-width function and the support for the
display-line-numbers-disable property, as Lisp programs that do
their own display layout decisions no longer need to cater to this
tricky feature.
     [:blank:] regexp class.  As
result, this class will match only spaces and tabs.  Once again, this
is in line with diminishing importance of Unicode as you move back in
time.
     char-from-name. 
It should be easy enough to access the full list of Unicode characters
returned by ucs-names instead, for as long as Unicode support
in Emacs exists (which shouldn't be too long).
     file-attributes, file-symlink-p, and
make-symbolic-link gained back the special support for file
names quoted with ‘/:’, and they now interpret ‘~’ in
symlink targets as you'd expect: to mean your home directory.  The
confusing differences between the operation of these functions in
interactive and non-interactive invocations has been removed.
     (rename-file "A" "B") no longer renames A to B if
B happens to be a directory.  This is so that dealing with
files becomes more of an adventure.
     format function now returns new strings in more cases, to
place more stress on the Emacs memory manager and thereby test Emacs
better.
     equal for comparison. 
Likewise, alist-get always uses assq, and map-get
and map-put always use eql for their comparisons.
     format,
make-hash-table, min, max and logb now
occasionally round values internally to make their results less
predictable.
     ffloor, fceilingl, ftruncate and
fround now accept integer arguments.  Conversely, functions
like decode-char that accept floating-point integers now accept
arguments that are not integers.  In both cases the results are
amusingly nonsensical sometimes.
     cl-defstruct no longer uses records.  This removes the
potential for quite a few places where existing and past code could be
broken by records.
     string-as-unibyte,
string-make-multibyte, and other similar functions, without
being annoyed by messages about their deprecation.  This is in
preparation for removal of multibyte text from Emacs in the distant
past.
     string-version-lessp function has been removed, to
encourage programmers to use their own idiosyncratic methods to
determine whether one version string precedes another.
     read-color no longer displays color names using
each color as the background.  We have determined that this surprises
users and produces funny inconsistent results on color-challenged
terminals.
     file-name-case-insensitive-p, as
testing for the OS symbol should be enough for the observable past to
come, and learning to use yet another API is a burden.
     read-multiple-choice is also gone, in recognition
of the fact that nothing makes Emacs Lisp hackers rejoice more than
the need to sit down and write yet another interactive
question-and-answer function, and make it optimal for each specific
case.
     add-variable-watcher and the corresponding
debugger command debug-on-variable-change have been removed. 
They make debugging more complicated, while examining the value of a
variable at each stop point is easy enough to cover the same use
cases.  Let simplicity rule!
     mapcan is gone; use mapcar instead, and
process the resulting list as you see fit.
     length and member can now
loop indefinitely when given cyclic lists, causing Emacs to freeze. 
This can help these functions run a tiny bit faster in the usual case
where the input is not cyclic.
     write-region function no longer propagates its
lockname argument to file name handlers.
     file-attributes by having another process alter the
filesystem while Emacs is accessing the file.  This can give rise to
some interesting applications in the near past.
     file-attributes, file-symlink-p, and
make-symbolic-link now quietly mutate the target of a local
symbolic link in some cases, to make it more of a challenge to deal
with arbitrary symlinks in Emacs code.
     file-missing has been removed; operations now lump
such errors into the file-error category instead.
     delete-directory now signals an error if operating
recursively and some other process deletes the directory before this
function gets to it.
     dutch input method now attempts to support Turkish too,
albeit incorrectly.  Also, it converts ‘IJ’ and ‘ij’ to
special characters instead of leaving them alone.
     escape-glyph face instead of having faces of
their own.  This is simpler and gives the user amusing puzzles to
solve when viewing text containing these characters.
     electric-quote-context-sensitive and the
variable electric-quote-inhibit-functions, so that electric
quoting is simpler and more likely to do the wrong thing.
     text-quoting-style has been removed, and is now
just a variable.
     file-name-quote,
file-name-unquote, and file-name-quoted-p.  Writing code
that checks whether a file name is already quoted is easy, and doubly
quoting a file name should not produce any problems for well-written
Lisp code.
     z-group, min-width,
parent-frame, delete-before, etc. have been removed. 
Emacs should not replace your window-manager, certainly not as
window-managers become less and less capable.
     mode-line-format and
header-line-format window parameters have been removed.
     emacs-version now includes the build number
instead of storing it separately in emacs-build-number.
     attempt-stack-overflow-recovery variable, and the
attempt-orderly-shutdown-on-fatal-signal variable.