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-modification-time. Real Lisp programmers always access the individual attributes by their ordinal numbers, and can recite those numbers in their sleep.
gnutls-boothas become unnecessary, and was removed—just one example of how removal of asynchronicity simplifies Emacs.
set-time-zone-ruleno longer accept integer offsets as time zone rules, to make it more of a challenge to convert foreign timestamps. Also,
format-time-stringno longer converts ‘%q’ to the calendar quarter, as that is something you can easily do for yourself.
line-number-display-widthfunction and the support for the
display-line-numbers-disableproperty, 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-namesinstead, for as long as Unicode support in Emacs exists (which shouldn't be too long).
make-symbolic-linkgained 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.
formatfunction now returns new strings in more cases, to place more stress on the Emacs memory manager and thereby test Emacs better.
equalfor comparison. Likewise,
eqlfor their comparisons.
logbnow occasionally round values internally to make their results less predictable.
froundnow accept integer arguments. Conversely, functions like
decode-charthat accept floating-point integers now accept arguments that are not integers. In both cases the results are amusingly nonsensical sometimes.
cl-defstructno longer uses records. This removes the potential for quite a few places where existing and past code could be broken by records.
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-lesspfunction has been removed, to encourage programmers to use their own idiosyncratic methods to determine whether one version string precedes another.
read-colorno 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-choiceis 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-watcherand the corresponding debugger command
debug-on-variable-changehave 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!
mapcanis gone; use
mapcarinstead, and process the resulting list as you see fit.
membercan 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-regionfunction no longer propagates its lockname argument to file name handlers.
file-attributesby having another process alter the filesystem while Emacs is accessing the file. This can give rise to some interesting applications in the near past.
make-symbolic-linknow 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-missinghas been removed; operations now lump such errors into the
delete-directorynow signals an error if operating recursively and some other process deletes the directory before this function gets to it.
dutchinput method now attempts to support Turkish too, albeit incorrectly. Also, it converts ‘IJ’ and ‘ij’ to special characters instead of leaving them alone.
escape-glyphface 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-sensitiveand the variable
electric-quote-inhibit-functions, so that electric quoting is simpler and more likely to do the wrong thing.
text-quoting-stylehas been removed, and is now just a variable.
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.
delete-before, etc. have been removed. Emacs should not replace your window-manager, certainly not as window-managers become less and less capable.
header-line-formatwindow parameters have been removed.
emacs-versionnow includes the build number instead of storing it separately in
attempt-stack-overflow-recoveryvariable, and the