1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Rewrite Antinews for Emacs 26

* doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
* doc/lispref/elisp.texi (Top): Update the top-level menu's
Antinews entry.
* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
* doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
entry.

* etc/NEWS: Rearrange some entries in a more reasonable order.
This commit is contained in:
Eli Zaretskii 2017-09-02 12:37:51 +03:00
parent 2b91b841b2
commit c89f3ff3dc
5 changed files with 286 additions and 284 deletions

View file

@ -4,215 +4,167 @@
@c See file emacs.texi for copying conditions. @c See file emacs.texi for copying conditions.
@node Antinews @node Antinews
@appendix Emacs 24 Antinews @appendix Emacs 25 Antinews
@c Update the emacs.texi Antinews menu entry with the above version number. @c Update the emacs.texi Antinews menu entry with the above version number.
For those users who live backwards in time, here is information For those users who live backwards in time, here is information
about downgrading to Emacs version 24.5. We hope you will enjoy the about downgrading to Emacs version 25.2. We hope you will enjoy the
greater simplicity that results from the absence of many Emacs greater simplicity that results from the absence of many @w{Emacs
@value{EMACSVER} features. @value{EMACSVER}} features.
@itemize @bullet @itemize @bullet
@item @item
Support for Cairo drawing has been removed. On GNU and Unix systems, Emacs no longer defaults to requiring the GnuTLS library when you
you now have only one drawing engine---the venerable X Window system. build it. Those who want the TLS functionality built-in will have to
No need to procrastinate on the dilemma whether you do or don't want explicitly request it at build time---or forever hold their peace. We
the new shiny Cairo thing. Hail, simplicity! decided that having the TLS functionality doesn't justify annoying
users or package builders with error messages about libgnutls absence.
We also decided that if you do build with GnuTLS, we will allow
versions of the library older than 2.12.2, as that version will become
less and less available/popular as you move farther back in time.
@item @item
Emacs still works on SGI IRIX systems. If you live backwards in time, For similar reasons, we've reverted back to building our own version
this is actually a bonus, as IRIX systems will become more and more of of @command{movemail} that retrieves POP3 mail as clear text via
popular as you move farther back in time. insecure channels. As you move back in time, the availability of
secure alternatives to POP3 will diminish, and we are only keen to
support that. We've also removed the @option{--with-mailutils}
configure-time option, as it no longer makes sense for the observable
past.
@item @item
Support for dynamically loaded modules has been removed. You get to We have removed support for @command{systemd} and similar services: we
use only the trusted Emacs codebase, with no additions. Those no longer provide a user init file for enabling Emacs support via
external modules written by some J.R. Hacker cannot be trusted anyway. those services, and we removed from the Emacs server the
Good riddance! socket-launching support important for Emacs client operation under
these services. Again, these services will lose popularity as you
move back in time, so the code supporting them will be just dead code,
bloating Emacs unnecessarily.
@item @item
We have greatly simplified the Emacs features which access the network Reproducible builds of Emacs are no longer supported, as past
by removing the Network Security Manager. No more annoying prompts development will make that unnecessary.
about trusting this or that site or page---you asked for it, you get
it, no questions asked! You, the user, are now in charge of any
security issues related to sites whose certificates expired or didn't
exist in the first place. Giving the user the utmost freedom was and
always will be the most important goal of Emacs development. We keep
that goal even as we develop Emacs back in time.
@item @item
We made the output of @kbd{C-h l} much simpler and easier to grasp by The @option{--fg-daemon} is gone, leaving only @option{--daemon}. No
removing the names of commands run by the recorded keystrokes. True need to procrastinate on the dilemma whether you do or don't want the
Emacs lovers know their bindings by heart anyway, so why waste new shiny ``headless Emacs'' thingy. Hail, simplicity!
precious screen estate on that which is well known?
@item @item
Selection- and clipboard-related commands and variables got their As text terminals supporting true color will lose ground as you move
historical names back. It's now the definitive back in time, we've removed support for 24-bit colors on text
@code{x-select-enable-clipboard} again instead of the vague terminals. If you want colors on a text terminal, you should be fine
@code{select-enable-clipboard}, and all those @code{gui-select-text}, with just 8 of them. (Truth being told, we think text terminals
@code{gui-get-primary-selection}, etc.@: got their @code{x-*} names should be monochrome, but you will have to keep downgrading to older
back. (What's a ``GUI'', anyway?) The only true window system with Emacs versions to have that feature back.)
selections is the X Window system, so we stopped pretending that other
platforms have anything similar to that. You now know when you invoke
a command that accesses X.
@item @item
Passwords are no longer hidden when typed in @code{-batch} mode. It Emacs 25.2 no longer supports magic signatures of the form
was a misfeature to have it not shown in the first place: who can type @samp{#!/usr/bin/env @var{interpreter}} in scripts. Moving back in
without seeing what they type? We couldn't convince the users of GUI time means you are getting closer to the ideal of the original Unix
sessions to give up hiding the password, so we at least made it design where all the interpreters lived in a single directory
visible in batch mode, which is something every veteran Emacs user @file{/bin}, so this fancy feature is simply becoming unnecessary
uses all the time. Stay tuned for un-hiding the password in GUI ballast.
sessions as well as we downgrade progressively to previous Emacs
versions.
@item @item
The nuisance with Unicode characters popping up all over the place has The double-buffering feature of Emacs display on X has been removed.
been amply dealt with. We've removed @kbd{C-x 8} shorthands for We decided that its complexity and a few random surprising
characters such as , , “, ”, €, ≤, and many others; as a nice side-effects aren't justified by the gains, even though those gains
benefit, this removes many useless entries at the beginning of the were hailed in some quarters. Yes, Emacs 25.2 will flicker in some
@kbd{C-h b} output. The @code{electric-quote-mode} has been deleted, use cases, but we are sure Emacs users will be able to suck it, a they
so there's only the one true quoting method now---using the have been doing for years. Since this feature is gone, we've also
plain-@acronym{ASCII} quote characters. And if that's not enough, the removed the @code{inhibit-double-buffering} frame parameter, which is
doc strings and other messages show text quoted @t{`like this'} now unnecessary.
as they were written, instead of arbitrarily replacing them
with Unicode ``curved quote'' characters @t{like this}. The
@code{text-quoting-style} variable becomes therefore unneeded and was
removed. As result, text produced by Emacs can be sent to those
venerable teletypes again, yeah!
For the same reasons, the character classes @code{[:alpha:]} and
@code{[:alnum:]} again match any word-constituent character, and
@code{[:graph:]} and @code{[:print:]} match every multibyte character.
Confusing use of Unicode character properties is gone.
@item @item
I-search and query-replace no longer try to confuse you by using the Non-breaking hyphens and ASCII characters displayed instead of
``character-folding'' magic. They will no longer find any characters unsupported quote characters are now again displayed using the
you didn't actually type, like find @kbd{ⓐ} when you actually typed @code{escape-glyph} face. We think having a single face instead of 3
@kbd{a}. Users who want to find some fancy character will have to different ones will make Emacs customization a much simpler job for
type it explicitly. users. For the same reason, we've removed the
@code{header-line-highlight} face, leaving just @code{highlight} for
any element of the Emacs display besides the mode line.
@item @item
The @file{desktop.el} package no longer records window and frame You can no longer disable attempts of recovery from fatal exceptions
configuration, and doesn't attempt to restore them. You now have back such as C stack overflows and fatal signals. Since the recovery
your freedom of re-arranging your windows and frames anew each time included in Emacs is reliable enough, we decided there was no reason
you restore a session. This made the new backward-incompatible format to put your edits in danger of becoming lost when these situations
of the @file{.emacs.desktop} file unnecessary, so the format was happen. The variables @code{'attempt-stack-overflow-recovery} and
reverted back to what it was before Emacs 25. You can now again use @code{attempt-orderly-shutdown-on-fatal-signal} are therefore removed.
the desktop file with all the previous versions of Emacs.
@item @item
We have reworked the Prettify Symbols mode to support only the default The @code{timer-list} command was removed, as we decided timers are
@code{prettify-symbols-compose-predicate}. No need to consider not user-level feature, and therefore users should not be allowed to
whether your major or minor mode needs its own prettifications; just mess with them. Ask an Emacs Lisp guru near you for help if you have
use what came with Emacs. We also removed the a runaway timer in your session. (Of course, as you move back in
@code{prettify-symbols-unprettify-at-point} option: once prettified, time, such runaway timers will become less and less frequent, and
always prettified! These changes make the Prettify Symbols mode quite actually timers might start shutting down automatically, as they
a lot simpler and easier to use. cannot cope with time reversal.)
@item @item
Support for nifty new features of xterm, such as access to the X Horizontal scrolling using the mouse or touchpad has been removed. In
selection and the clipboard, the ``bracketed paste mode'', and other the past, wide monitors will become less popular, so horizontal
advanced capabilities has been removed. When you kill text in an scrolling will no longer be needed. Removal of the mouse support for
xterm Emacs session, that text is only saved in the Emacs kill ring, horizontal scrolling is the first step towards its complete removal in
without letting other applications have any way of accessing it. An prior Emacs versions.
xterm is just a text terminal, nothing more, nothing less. There
should be no feature we support on xterm that isn't supported on bare
console terminals. For the same reasons, support for mouse-tracking
on xterm was removed. We will continue this line of simplifications
as we downgrade to previous versions of Emacs; stay tuned.
@item @item
Various features in @file{package.el} have been simplified. The We have found the @option{--tramp} option of @command{emacsclient} too
``external'' package status is no longer available. A package present risky and too complicated, so we removed it to simplify the client
on multiple archives will now be listed as many times as it is found: code and its usage.
we don't believe in concealing any information from the users. This
and other similar simplifications made
@code{package-menu-toggle-hiding} unnecessary, since there's nothing
to unhide now.
@item @item
The @kbd{@key{UP}} and @kbd{@key{DOWN}} keys in the minibuffer have The @code{display-raw-bytes-as-hex} variable is gone, so raw bytes can
been simplified to move by history items. No need to wonder whether only be displayed as octal escapes. Emacs users should be able to
you have moved to the next/previous item or to another line within the convert from octal to any other base in their sleep!
same item. Well-written commands shouldn't allow too long history
entries anyway; be sure to report any that do as bugs, so that we
could fix them in past versions of Emacs.
@item @item
The VC mode was simplified by removing the support for ``push'' Displaying line numbers for a buffer is only possibly using add-on
commands. Moving back in time means you will have less and less need features, such as @code{linum-mode}, which can only display the
to use modern version control systems such as Git, Bazaar, and numbers in the display margins. Line-number display using these
Mercurial, so the necessity of using ``push'' commands will gradually features is also slow, as we firmly believe such a feature is
disappear. We removed it from Emacs in advance, so that you won't un-Emacsy and should not have been included in Emacs to begin with.
need to un-learn it when this command disappears, as it should. Consequently, @code{display-line-numbers-mode} was removed.
@item @item
The support for full C/C++ expressions in macros has been removed from On our permanent quest for simplifying Emacs, we've removed the
Hide-Ifdef mode. It now supports only the basic literal macros. As support for passing command-line arguments and options to Emacs via
result, the user interface was simplified, and a number of useless the @option{--alternate-editor} option of @command{emacsclient} and
commands have been removed from Hide-Ifdef mode. Further @env{ALTERNATE_EDITOR} environment variable. There's only one True
simplifications were made possible by removing support for some fancy Emacs---the one that comes up when invoked as @kbd{emacs}, no need for
new preprocessor directives, such as @code{#if defined}, @code{#elif}, all those fancy options!
etc.
@item @item
We have reverted to Etags for looking up definitions of functions, The complication known as ``single-line horizontal scrolling'' is no
variables, etc. Commands such as @kbd{M-.} use tags tables, as they longer with you in Emacs 25.2. This feature was a bow to ``other
always have. This allowed the removal of the entire @file{xref.el} editors''; instead, let those other editors bow to Emacs by hscrolling
package and its many metastases in the other Emacs packages and the entire window at all times. Repeat after me: ``The Emacs way is
commands, significantly simplifying those. No more complexities with the Only Way!''
the various ``backends'' that provide incoherent behavior that is hard
to explain and remember; either the symbol is in TAGS or it isn't. No
more new user interfaces we never before saw in Emacs, either; if you
want the next definition for the symbol you typed, just invoke
@kbd{C-u M-.}---what could be simpler? As a nice side effect, you get
to use your beloved @code{tags-loop-continue} and @code{pop-tag-mark}
commands and their memorable bindings. The @file{package.el} package
has been removed for similar reasons.
@item @item
@code{(/ @var{n})} once again yields just @var{n}. Emacs Lisp is not The fancy case conversions of non-ASCII characters used in several
Common Lisp, so compatibility with CL just complicates Emacs here. locales, like Turkish and Greek, are removed, leaving the relations
between upper and lower letter-case simple again, as they were in
7-bit ASCII. Likewise with ligatures that turn into multiple
characters when their letter-case changes---gone.
@item @item
The functions @code{filepos-to-bufferpos} and Enchant is no longer supported by @code{ispell-buffer} and similar
@code{bufferpos-to-filepos} have been removed. Code that needs to spell-checking commands. As Enchant will gradually disappear while
find a file position by a buffer position or vice versa should adapt you move back in time, its support will become unnecessary anyway.
by reading the file with no conversions and counting bytes while
comparing text. How hard can that be?
@item @item
We saw no need for the @code{make-process} primitive, so we removed Tramp lost its support for Google Drive repositories. Cloud storage
it. The @code{start-process} primitive provides all the functionality is on its way to extinction as you move back in time, thus making this
one needs, so adding more APIs just confuses users. feature redundant.
@item @item
The functions @code{bidi-find-overridden-directionality} and Several commands, deemed to be unnecessary complications, have been
@code{buffer-substring-with-bidi-context} were removed, in preparation removed. Examples include @code{replace-buffer-contents} and
for removing the whole bidi support when downgrading to Emacs 23. @code{apropos-local-variable}.
@item
Horizontal scroll bars are no longer supported. Enlarge your windows
and frames instead, or use @code{truncate-lines} and the automatic
horizontal scrolling of text that Emacs had since time immemorial.
@item
Emacs is again counting the height of a frame's menu and its tool bar
in the frame's text height calculations. This makes Emacs invocation
on different platforms and with different toolkits less predictable
when frame geometry parameters are given on the Emacs command line,
thus making Emacs more adventurous and less boring to use.
@item
The @command{etags} program no longer supports Ruby and Go languages.
You won't need that as you progressively travel back in time towards
the time before these languages were invented. We removed support for
them in anticipation for that time.
@item @item
To keep up with decreasing computer memory capacity and disk space, many To keep up with decreasing computer memory capacity and disk space, many
other functions and files have been eliminated in Emacs 24.5. other functions and files have been eliminated in Emacs 25.2.
@end itemize @end itemize

View file

@ -222,7 +222,7 @@ Appendices
* GNU Free Documentation License:: The license for this documentation. * GNU Free Documentation License:: The license for this documentation.
* Emacs Invocation:: Hairy startup options. * Emacs Invocation:: Hairy startup options.
* X Resources:: X resources for customizing Emacs. * X Resources:: X resources for customizing Emacs.
* Antinews:: Information about Emacs version 24. * Antinews:: Information about Emacs version 25.
* Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. * Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep.
* Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS.
* Manifesto:: What's GNU? Gnu's Not Unix! * Manifesto:: What's GNU? Gnu's Not Unix!

View file

@ -6,110 +6,158 @@
@c This node must have no pointers. @c This node must have no pointers.
@node Antinews @node Antinews
@appendix Emacs 24 Antinews @appendix Emacs 25 Antinews
@c Update the elisp.texi Antinews menu entry with the above version number. @c Update the elisp.texi Antinews menu entry with the above version number.
For those users who live backwards in time, here is information about For those users who live backwards in time, here is information about
downgrading to Emacs version 24.5. We hope you will enjoy the greater downgrading to Emacs version 25.2. We hope you will enjoy the greater
simplicity that results from the absence of many Emacs @value{EMACSVER} simplicity that results from the absence of many @w{Emacs
features. @value{EMACSVER}} features.
@section Old Lisp Features in Emacs 24 @section Old Lisp Features in Emacs 25
@itemize @bullet @itemize @bullet
@item @item
The requirement that @code{setq} and @code{setf} must be called with The concurrency features have been removed. Even in its limited
an even number of arguments has been removed. You can now call them ``mostly cooperative'' form, with only one Lisp thread running at any
with an odd number of arguments, and Emacs will helpfully supply a given time, it made Emacs significantly more complex for Lisp programs
@code{nil} for the missing one. Simplicity rules! that need to work correctly in the presence of additional threads.
@item @item
@kbd{M-x shell} and @kbd{M-x compile} set the @env{EMACS} environment Handling of file attributes has been simplified by discarding the
variable, as they should, to indicate that the subprocess is run by accessor functions, such as @code{file-attribute-type} and
Emacs. This is so packages that took years to learn how to work @code{file-attribute-modification-time}. Real Lisp programmers always
around that setting could continue using their code to that effect. access the individual attributes by their ordinal numbers, and can
recite those numbers in their sleep.
@item @item
The @code{save-excursion} form saves and restores the mark, as The networking code is back at its pristine simplicity, as we deleted
expected. No more need for the new @code{save-mark-and-excursion}, the use of asynchronous DNS resolution, connection, and TLS
which has been deleted. negotiation for TLS streams. You no longer need to consider the
resulting complexity and interesting race conditions when you write
Lisp programs that use network communications. As a direct
consequence, the @code{:complete-negotiation} parameter of
@code{gnutls-boot} has become unnecessary, and was removed---just one
example of how removal of asynchronicity simplifies Emacs.
@item @item
We have removed the @code{text-quoting-style} variable and the We've removed the @file{puny.el} library, so Web sites with
associated functionality that translates quote characters in messages non-@acronym{ASCII} URLs are no longer easily accessible. But such
displayed to the user and in help buffers. Emacs now shows exactly sites become more and more rare as you move back in time, so having a
the same quote characters as you wrote in your code! Likewise, specialized library for their support was deemed an unnecessary
@code{substitute-command-keys} leaves the quote characters alone. As maintenance burden.
you move back in time, Unicode support becomes less and less
important, so no need to display those fancy new quotes the Unicode @item
Standard invented. Field numbers like @samp{%2$} in format specifiers are no longer
available. We decided that their use makes code reading and
comprehension much harder, and that having them is unjustified in the
past where similar features in popular C libraries will also be gone.
@item
Since the built-in capability to display line numbers has been removed
(@pxref{Antinews,,, emacs, The GNU Emacs Manual}), we've also deleted
the @code{line-number-display-width} function and the support for the
@code{display-line-numbers-disable} property, as Lisp programs that do
their own display layout decisions no longer need to cater to this
tricky feature.
@item @item
Regular expressions have been simplified by removing support for Regular expressions have been simplified by removing support for
Unicode character properties in regexp classes. As result, Unicode character properties in the @code{[:blank:]} regexp class. As
@code{[:alpha:]} and @code{[:alnum:]} will match any character with a result, this class will match only spaces and tabs. Once again, this
word syntax, and @code{[:graph:]} and @code{[:print:]} will match any is in line with diminishing importance of Unicode as you move back in
multibyte character, including surrogates and unassigned codepoints. time.
Once again, this is in line with diminishing importance of Unicode as
you move back in time.
@item @item
Evaluating @samp{(/ @var{n})} will now yield @var{n}. We have For similar reasons, we removed the function @code{char-from-name}.
realized that interpreting that as in Common Lisp was a bad mistake It should be easy enough to access the full list of Unicode characters
that needed to be corrected. returned by @code{ucs-names} instead, for as long as Unicode support
in Emacs exists (which shouldn't be too long).
@item @item
The @code{pcase} form was significantly simplified by removing the Various functions that accept file names as arguments, such as
UPatterns @code{quote} and @code{app}. To further simplify this @code{file-attributes}, @code{file-symlink-p}, and
facility, we've removed @code{pcase-defmacro}, since we found no need @code{make-symbolic-link} gained back the special support for file
for letting Lisp programs define new UPatterns. names quoted with @samp{/:}, and they now interpret @samp{~} 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.
@item @item
We've removed the text properties @code{cursor-intangible} and The function @file{assoc} has been simplified by removing its third
@code{cursor-sensor-functions}, replacing them by the much simpler optional argument. It now always uses @code{equal} for comparison.
@code{intangible}, @code{point-entered}, and @code{point-left} Likewise, @code{alist-get} always uses @code{assq}, and @code{map-get}
properties. The latter are implemented on a much lower level, and and @code{map-put} always use @code{eql} for their comparisons.
therefore are better integrated with user expectations. For similar
reasons, @code{cursor-intangible-mode} and @code{cursor-sensor-mode}
were removed; use the hook variable @code{inhibit-point-motion-hooks}
which is no longer obsolete.
@item @item
Process creation and management functions were significantly improved GnuTLS cryptographic functions are no longer available in Emacs. We
and simplified by removing @code{make-process} and the @code{pipe} have decided that the needs for such functionality are deteriorating,
connection type. Redirecting @code{stderr} of a subprocess should be and their cumbersome interfaces make them hard to use.
done with shell facilities, not by Emacs.
@item @item
We decided that shutting up informative messages is bad for user We have removed support for records of user-defined types, and
interaction, so we've removed the @code{inhibit-message} variable @code{cl-defstruct} no longer uses records. This removes the
which could be used to that effect. potential for quite a few places where existing and past code could be
broken by records.
@item @item
Support for generators and for finalizers has been removed, as we You can again use @code{string-as-unibyte},
found no real need for these facilities. @code{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 distance
past.
@item @item
Due to excessive complexity and the diminishing need for Unicode The function @code{read-color} no longer displays color names using
support, the functions @code{string-collate-lessp} and each color as the background. We have determined that this surprises
@code{string-collate-equalp} were removed. Their locale-independent users and produces funny inconsistent results on color-challenged
counterparts @code{string-lessp} and @code{string-equal} are so much terminals.
more simple and yield predictable results that we don't see any
situation where the locale-dependent collation could be useful in
Emacs. As result, the @file{ls-lisp.el} package sorts files in a
locale-independent manner.
@item @item
In preparation for removal in some past version of Emacs of the We removed the function @code{file-name-case-insensitive-p}, as
bidirectional editing support, we started by deleting two functions testing for the OS symbol should be enough for the observable past to
@code{bidi-find-overridden-directionality} and come, and learning to use yet another API is a burden.
@code{buffer-substring-with-bidi-context}.
@item @item
Time conversion functions, such as @code{current-time-string}, no The function @code{read-multiple-choice} is also gone, in recognition
longer accept an optional @var{zone} argument. If you need to change of the fact that nothing makes Emacs Lisp hacker rejoice more than the
the current time zone (why?), do that explicitly with need to sit down and write yet another interactive question-and-answer
@code{set-time-zone-rule}. function, and make it optimal for each specific case.
@item
The function @code{add-variable-watcher} and the corresponding
debugger command @code{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!
@item
The function @code{mapcan} is gone; use @code{mapcar} instead, and
process the resulting list as you see fit.
@item
You can once again write a Lisp program that returns funny random
values from @code{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.
@item
We have removed the functions @code{file-name-quote},
@code{file-name-unquote}, and @code{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.
@item
Frame parameters like @code{z-group}, @code{min-width},
@code{parent-frame}, @code{delete-before}, etc. have been removed.
Emacs should not replace your window-manager, certainly not as
window-managers become less and less capable.
@item
We decided that the format of mode line and header line should be
customizable only based on buffers; the @code{mode-line-format} and
@code{header-line-format} window parameters have been removed.
@item @item
As part of the ongoing quest for simplicity, many other functions and As part of the ongoing quest for simplicity, many other functions and

View file

@ -230,7 +230,7 @@ To view this manual in other formats, click
Appendices Appendices
* Antinews:: Info for users downgrading to Emacs 24. * Antinews:: Info for users downgrading to Emacs 25.
* GNU Free Documentation License:: The license for this documentation. * GNU Free Documentation License:: The license for this documentation.
* GPL:: Conditions for copying and changing GNU Emacs. * GPL:: Conditions for copying and changing GNU Emacs.
* Tips:: Advice and coding conventions for Emacs Lisp. * Tips:: Advice and coding conventions for Emacs Lisp.

102
etc/NEWS
View file

@ -65,9 +65,9 @@ need to copy the emacs.service file to eg ~/.config/systemd/user/)
Emacs that is more likely to be reproducible; that is, if you build Emacs that is more likely to be reproducible; that is, if you build
and install Emacs twice, the second Emacs is a copy of the first. and install Emacs twice, the second Emacs is a copy of the first.
Deterministic builds omit the build date from the output of the Deterministic builds omit the build date from the output of the
emacs-version and erc-cmd-SV functions, and the leave the following 'emacs-version' and 'erc-cmd-SV' functions, and the leave the
variables nil: emacs-build-system, emacs-build-time, following variables nil: 'emacs-build-system', 'emacs-build-time',
erc-emacs-build-time. 'erc-emacs-build-time'.
** The configure option '--with-gameuser' now defaults to 'no', ** The configure option '--with-gameuser' now defaults to 'no',
as this appears to be the most common configuration in practice. as this appears to be the most common configuration in practice.
@ -108,11 +108,6 @@ The effect is similar to that of "toolBar" resource on the tool bar.
* Changes in Emacs 26.1 * Changes in Emacs 26.1
+++
** The function 'assoc' now takes an optional third argument 'testfn'.
This argument, when non-nil, is used for comparison instead of
'equal'.
--- ---
** New variable 'executable-prefix-env' for inserting magic signatures. ** New variable 'executable-prefix-env' for inserting magic signatures.
This variable affects the format of the interpreter magic number This variable affects the format of the interpreter magic number
@ -126,10 +121,6 @@ so the default behavior is not changed.
** The variable 'emacs-version' no longer includes the build number. ** The variable 'emacs-version' no longer includes the build number.
This is now stored separately in a new variable, 'emacs-build-number'. This is now stored separately in a new variable, 'emacs-build-number'.
+++
** The new function 'mapbacktrace' applies a function to all frames of
the current stack trace.
+++ +++
** Emacs now provides a limited form of concurrency with Lisp threads. ** Emacs now provides a limited form of concurrency with Lisp threads.
Concurrency in Emacs Lisp is "mostly cooperative", meaning that Concurrency in Emacs Lisp is "mostly cooperative", meaning that
@ -143,10 +134,6 @@ buffer and its own match data.
See the chapter "Threads" in the ELisp manual for full documentation See the chapter "Threads" in the ELisp manual for full documentation
of these facilities. of these facilities.
+++
** The new function 'file-name-case-insensitive-p' tests whether a
given file is on a case-insensitive filesystem.
+++ +++
** The new user variable 'electric-quote-chars' provides a list ** The new user variable 'electric-quote-chars' provides a list
of curved quotes for 'electric-quote-mode', allowing user to choose of curved quotes for 'electric-quote-mode', allowing user to choose
@ -272,20 +259,6 @@ part of minibuffers.
** 'find-library' now takes a prefix argument to pop to a different ** 'find-library' now takes a prefix argument to pop to a different
window. window.
+++
** Several accessors for the value returned by 'file-attributes'
have been added. They are: 'file-attribute-type',
'file-attribute-link-number', 'file-attribute-user-id',
'file-attribute-group-id', 'file-attribute-access-time',
'file-attribute-modification-time',
'file-attribute-status-change-time', 'file-attribute-size',
'file-attribute-modes', 'file-attribute-inode-number',
'file-attribute-device-number' and 'file-attribute-collect'.
+++
** The new function 'buffer-hash' computes a fast, non-consing hash of
a buffer's contents.
--- ---
** 'fill-paragraph' no longer marks the buffer as changed unless it ** 'fill-paragraph' no longer marks the buffer as changed unless it
actually changed something. actually changed something.
@ -336,13 +309,6 @@ These variables are for users who would like to avoid the small
probability of data corruption due to techniques Emacs uses to recover probability of data corruption due to techniques Emacs uses to recover
in these situations. in these situations.
+++
** 'interrupt-process' now consults the list 'interrupt-process-functions',
to determine which function has to be called in order to deliver the
SIGINT signal. This allows Tramp to send the SIGINT signal to remote
asynchronous processes. The hitherto existing implementation has been
moved to 'internal-default-interrupt-process'.
+++ +++
** File local and directory local variables are now initialized each ** File local and directory local variables are now initialized each
time the major mode is set, not just when the file is first visited. time the major mode is set, not just when the file is first visited.
@ -359,16 +325,12 @@ see the node "Connection Local Variables" in the ELisp manual.
--- ---
** International domain names (IDNA) are now encoded via the new ** International domain names (IDNA) are now encoded via the new
puny.el library, so that one can visit web sites with non-ASCII URLs. puny.el library, so that one can visit Web sites with non-ASCII URLs.
+++ +++
** The new 'timer-list' command lists all active timers in a buffer, ** The new 'timer-list' command lists all active timers in a buffer,
where you can cancel them with the 'c' command. where you can cancel them with the 'c' command.
+++
** The new function 'read-multiple-choice' prompts for multiple-choice
questions, with a handy way to display help texts.
+++ +++
** 'switch-to-buffer-preserve-window-point' now defaults to t. ** 'switch-to-buffer-preserve-window-point' now defaults to t.
@ -455,10 +417,6 @@ display of raw bytes from octal to hex.
** You can now provide explicit field numbers in format specifiers. ** You can now provide explicit field numbers in format specifiers.
For example, '(format "%2$s %1$s" "X" "Y")' produces "Y X". For example, '(format "%2$s %1$s" "X" "Y")' produces "Y X".
---
** 'comment-indent-function' values may now return a cons to specify a
range of indentation.
+++ +++
** Emacs now supports optional display of line numbers in the buffer. ** Emacs now supports optional display of line numbers in the buffer.
This is similar to what linum-mode provides, but much faster and This is similar to what linum-mode provides, but much faster and
@ -1289,18 +1247,62 @@ variable 'x-gtk-use-window-move'. The variable is now obsolete.
* Lisp Changes in Emacs 26.1 * Lisp Changes in Emacs 26.1
+++ +++
** New optional argument TEXT in 'make-temp-file'. ** The function 'assoc' now takes an optional third argument TESTFN.
This argument, when non-nil, is used for comparison instead of
--- 'equal'.
** New function `define-symbol-prop'.
+++ +++
** New optional argument TESTFN in 'alist-get', 'map-elt' and 'map-put'. ** New optional argument TESTFN in 'alist-get', 'map-elt' and 'map-put'.
If non-nil, the argument specifies a function to use for comparison,
instead of, respectively, 'assq' and 'eql'.
+++ +++
** New function 'seq-set-equal-p' to check if SEQUENCE1 and SEQUENCE2 ** New function 'seq-set-equal-p' to check if SEQUENCE1 and SEQUENCE2
contain the same elements, regardless of the order. contain the same elements, regardless of the order.
+++
** The new function 'mapbacktrace' applies a function to all frames of
the current stack trace.
+++
** The new function 'file-name-case-insensitive-p' tests whether a
given file is on a case-insensitive filesystem.
+++
** Several accessors for the value returned by 'file-attributes'
have been added. They are: 'file-attribute-type',
'file-attribute-link-number', 'file-attribute-user-id',
'file-attribute-group-id', 'file-attribute-access-time',
'file-attribute-modification-time',
'file-attribute-status-change-time', 'file-attribute-size',
'file-attribute-modes', 'file-attribute-inode-number',
'file-attribute-device-number' and 'file-attribute-collect'.
+++
** The new function 'buffer-hash' computes a fast, non-consing hash of
a buffer's contents.
+++
** 'interrupt-process' now consults the list 'interrupt-process-functions',
to determine which function has to be called in order to deliver the
SIGINT signal. This allows Tramp to send the SIGINT signal to remote
asynchronous processes. The hitherto existing implementation has been
moved to 'internal-default-interrupt-process'.
+++
** The new function 'read-multiple-choice' prompts for multiple-choice
questions, with a handy way to display help texts.
---
** 'comment-indent-function' values may now return a cons to specify a
range of indentation.
+++
** New optional argument TEXT in 'make-temp-file'.
---
** New function `define-symbol-prop'.
** Checksum/Hash ** Checksum/Hash
+++ +++