For those users who live backwards in time, here is information about downgrading to Emacs version 26.3. We hope you will enjoy the greater simplicity that results from the absence of many Emacs 27.2 features.
package-initializein your init file, which is a Good Thing, as it makes you think seriously where and indeed whether you’d like your packages to become available to your sessions. Simplicity should tramp convenience!
network-interface-listcan now return only IPv4 addresses. We consider the complexity introduced by IPv6 to be too much to be justified, and on the other hand its removal is the step in the right direction, given that IPv6 is expected to be completely removed as we move back in time.
executable-find. If you really need this feature (why would you?), you can always write your own shell script and run it on the remote.
:extendface attribute is no longer available; all faces have their background color extended by default past end of line. This should significantly simplify face management and remove unnecessary code bloat, as well as make faces significantly simpler to understand and use.
display-symbol-keys-pwere deleted. They are rarely if ever needed, and can easily be substituted by appropriate calls to old and proven APIs like
display-graphic-p. As an additional bonus, writing Lisp programs that depend on this functionality will make sure the programmer understands better what exactly is the required features of the display terminal.
HOMEenvironment variable are once again interpreted relative to the
default-directoryof the current buffer. This is much simpler, and also allows
HOMEto resolve to a different place in different buffers, which allows some interesting applications.
For the same reasons,
file-name-absolute-p now again considers
~foo an absolute file name, even if there’s no known user
‘foo’. This means a Lisp program which uses such file names will
always work the same on any system, regardless of its known users.
file-newer-than-file-p, and some others once again return
nilwhen the underlying low-level APIs fail, instead of signaling an error. We decided that functions which signal errors require more complex code from Lisp programs which use them, and found this complexity unjustified when returning
read-char-from-minibufferwas deleted. We decided that
read-charshould be enough for any Lisp program that needs to ask the user for a single-character input, 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. Consequently, no history is provided for such responses (why would someone want history of single-key strokes, anyway?).
ngettextwas deleted. Non-English languages will become less and less widespread, let alone useful, as you move back in time, so we took this small step in that direction, and simplified Emacs as a nice bonus.
face-remapping-alistnow have to be buffer-specific, without any differences between windows showing the same buffers. This allowed us to remove a lot of unneeded code bloat from Emacs, and make the face handling much simpler.
font-lock-warning-facesymbols with confusable quote characters, such as U+2018. Detecting them needed non-trivial amount of code, and we firmly believe that Lisp programmers always know what they are doing, and don’t need to be annoyed with typefaces that stand out and distract.
file-system-infowas dropped on Posix platforms, since you can always invoke
dfinstead and parse its output.