* 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.
@c See file emacs.texi for copying conditions.
@node Antinews
-@appendix Emacs 24 Antinews
+@appendix Emacs 25 Antinews
@c Update the emacs.texi Antinews menu entry with the above version number.
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 simplicity that results from the absence of many Emacs
-@value{EMACSVER} features.
+about downgrading to Emacs version 25.2. We hope you will enjoy the
+greater simplicity that results from the absence of many @w{Emacs
+@value{EMACSVER}} features.
@itemize @bullet
@item
-Support for Cairo drawing has been removed. On GNU and Unix systems,
-you now have only one drawing engine---the venerable X Window system.
-No need to procrastinate on the dilemma whether you do or don't want
-the new shiny Cairo thing. Hail, simplicity!
-
-@item
-Emacs still works on SGI IRIX systems. If you live backwards in time,
-this is actually a bonus, as IRIX systems will become more and more
-popular as you move farther back in time.
-
-@item
-Support for dynamically loaded modules has been removed. You get to
-use only the trusted Emacs codebase, with no additions. Those
-external modules written by some J.R. Hacker cannot be trusted anyway.
-Good riddance!
-
-@item
-We have greatly simplified the Emacs features which access the network
-by removing the Network Security Manager. No more annoying prompts
-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
-We made the output of @kbd{C-h l} much simpler and easier to grasp by
-removing the names of commands run by the recorded keystrokes. True
-Emacs lovers know their bindings by heart anyway, so why waste
-precious screen estate on that which is well known?
-
-@item
-Selection- and clipboard-related commands and variables got their
-historical names back. It's now the definitive
-@code{x-select-enable-clipboard} again instead of the vague
-@code{select-enable-clipboard}, and all those @code{gui-select-text},
-@code{gui-get-primary-selection}, etc.@: got their @code{x-*} names
-back. (What's a ``GUI'', anyway?) The only true window system with
-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
-Passwords are no longer hidden when typed in @code{-batch} mode. It
-was a misfeature to have it not shown in the first place: who can type
-without seeing what they type? We couldn't convince the users of GUI
-sessions to give up hiding the password, so we at least made it
-visible in batch mode, which is something every veteran Emacs user
-uses all the time. Stay tuned for un-hiding the password in GUI
-sessions as well as we downgrade progressively to previous Emacs
-versions.
-
-@item
-The nuisance with Unicode characters popping up all over the place has
-been amply dealt with. We've removed @kbd{C-x 8} shorthands for
-characters such as ‘, ’, “, ”, €, ≤, and many others; as a nice
-benefit, this removes many useless entries at the beginning of the
-@kbd{C-h b} output. The @code{electric-quote-mode} has been deleted,
-so there's only the one true quoting method now---using the
-plain-@acronym{ASCII} quote characters. And if that's not enough, the
-doc strings and other messages show text quoted @t{`like this'}
-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
-I-search and query-replace no longer try to confuse you by using the
-``character-folding'' magic. They will no longer find any characters
-you didn't actually type, like find @kbd{ⓐ} when you actually typed
-@kbd{a}. Users who want to find some fancy character will have to
-type it explicitly.
-
-@item
-The @file{desktop.el} package no longer records window and frame
-configuration, and doesn't attempt to restore them. You now have back
-your freedom of re-arranging your windows and frames anew each time
-you restore a session. This made the new backward-incompatible format
-of the @file{.emacs.desktop} file unnecessary, so the format was
-reverted back to what it was before Emacs 25. You can now again use
-the desktop file with all the previous versions of Emacs.
-
-@item
-We have reworked the Prettify Symbols mode to support only the default
-@code{prettify-symbols-compose-predicate}. No need to consider
-whether your major or minor mode needs its own prettifications; just
-use what came with Emacs. We also removed the
-@code{prettify-symbols-unprettify-at-point} option: once prettified,
-always prettified! These changes make the Prettify Symbols mode quite
-a lot simpler and easier to use.
+Emacs no longer defaults to requiring the GnuTLS library when you
+build it. Those who want the TLS functionality built-in will have to
+explicitly request it at build time---or forever hold their peace. We
+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
-Support for nifty new features of xterm, such as access to the X
-selection and the clipboard, the ``bracketed paste mode'', and other
-advanced capabilities has been removed. When you kill text in an
-xterm Emacs session, that text is only saved in the Emacs kill ring,
-without letting other applications have any way of accessing it. An
-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.
+For similar reasons, we've reverted back to building our own version
+of of @command{movemail} that retrieves POP3 mail as clear text via
+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
-Various features in @file{package.el} have been simplified. The
-``external'' package status is no longer available. A package present
-on multiple archives will now be listed as many times as it is found:
-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
-The @kbd{@key{UP}} and @kbd{@key{DOWN}} keys in the minibuffer have
-been simplified to move by history items. No need to wonder whether
-you have moved to the next/previous item or to another line within the
-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
-The VC mode was simplified by removing the support for ``push''
-commands. Moving back in time means you will have less and less need
-to use modern version control systems such as Git, Bazaar, and
-Mercurial, so the necessity of using ``push'' commands will gradually
-disappear. We removed it from Emacs in advance, so that you won't
-need to un-learn it when this command disappears, as it should.
-
-@item
-The support for full C/C++ expressions in macros has been removed from
-Hide-Ifdef mode. It now supports only the basic literal macros. As
-result, the user interface was simplified, and a number of useless
-commands have been removed from Hide-Ifdef mode. Further
-simplifications were made possible by removing support for some fancy
-new preprocessor directives, such as @code{#if defined}, @code{#elif},
-etc.
-
-@item
-We have reverted to Etags for looking up definitions of functions,
-variables, etc. Commands such as @kbd{M-.} use tags tables, as they
-always have. This allowed the removal of the entire @file{xref.el}
-package and its many metastases in the other Emacs packages and
-commands, significantly simplifying those. No more complexities with
-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
+We have removed support for @command{systemd} and similar services: we
+no longer provide a user init file for enabling Emacs support via
+those services, and we removed from the Emacs server the
+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
+Reproducible builds of Emacs are no longer supported, as past
+development will make that unnecessary.
+
+@item
+The @option{--fg-daemon} is gone, leaving only @option{--daemon}. No
+need to procrastinate on the dilemma whether you do or don't want the
+new shiny ``headless Emacs'' thingy. Hail, simplicity!
+
+@item
+As text terminals supporting true color will lose ground as you move
+back in time, we've removed support for 24-bit colors on text
+terminals. If you want colors on a text terminal, you should be fine
+with just 8 of them. (Truth being told, we think text terminals
+should be monochrome, but you will have to keep downgrading to older
+Emacs versions to have that feature back.)
+
+@item
+Emacs 25.2 no longer supports magic signatures of the form
+@samp{#!/usr/bin/env @var{interpreter}} in scripts. Moving back in
+time means you are getting closer to the ideal of the original Unix
+design where all the interpreters lived in a single directory
+@file{/bin}, so this fancy feature is simply becoming unnecessary
+ballast.
+
+@item
+The double-buffering feature of Emacs display on X has been removed.
+We decided that its complexity and a few random surprising
+side-effects aren't justified by the gains, even though those gains
+were hailed in some quarters. Yes, Emacs 25.2 will flicker in some
+use cases, but we are sure Emacs users will be able to suck it, a they
+have been doing for years. Since this feature is gone, we've also
+removed the @code{inhibit-double-buffering} frame parameter, which is
+now unnecessary.
+
+@item
+Non-breaking hyphens and ASCII characters displayed instead of
+unsupported quote characters are now again displayed using the
+@code{escape-glyph} face. We think having a single face instead of 3
+different ones will make Emacs customization a much simpler job for
+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
+You can no longer disable attempts of recovery from fatal exceptions
+such as C stack overflows and fatal signals. Since the recovery
+included in Emacs is reliable enough, we decided there was no reason
+to put your edits in danger of becoming lost when these situations
+happen. The variables @code{'attempt-stack-overflow-recovery} and
+@code{attempt-orderly-shutdown-on-fatal-signal} are therefore removed.
+
+@item
+The @code{timer-list} command was removed, as we decided timers are
+not user-level feature, and therefore users should not be allowed to
+mess with them. Ask an Emacs Lisp guru near you for help if you have
+a runaway timer in your session. (Of course, as you move back in
+time, such runaway timers will become less and less frequent, and
+actually timers might start shutting down automatically, as they
+cannot cope with time reversal.)
+
+@item
+Horizontal scrolling using the mouse or touchpad has been removed. In
+the past, wide monitors will become less popular, so horizontal
+scrolling will no longer be needed. Removal of the mouse support for
+horizontal scrolling is the first step towards its complete removal in
+prior Emacs versions.
+
+@item
+We have found the @option{--tramp} option of @command{emacsclient} too
+risky and too complicated, so we removed it to simplify the client
+code and its usage.
+
+@item
+The @code{display-raw-bytes-as-hex} variable is gone, so raw bytes can
+only be displayed as octal escapes. Emacs users should be able to
+convert from octal to any other base in their sleep!
@item
-@code{(/ @var{n})} once again yields just @var{n}. Emacs Lisp is not
-Common Lisp, so compatibility with CL just complicates Emacs here.
+Displaying line numbers for a buffer is only possibly using add-on
+features, such as @code{linum-mode}, which can only display the
+numbers in the display margins. Line-number display using these
+features is also slow, as we firmly believe such a feature is
+un-Emacsy and should not have been included in Emacs to begin with.
+Consequently, @code{display-line-numbers-mode} was removed.
@item
-The functions @code{filepos-to-bufferpos} and
-@code{bufferpos-to-filepos} have been removed. Code that needs to
-find a file position by a buffer position or vice versa should adapt
-by reading the file with no conversions and counting bytes while
-comparing text. How hard can that be?
+On our permanent quest for simplifying Emacs, we've removed the
+support for passing command-line arguments and options to Emacs via
+the @option{--alternate-editor} option of @command{emacsclient} and
+@env{ALTERNATE_EDITOR} environment variable. There's only one True
+Emacs---the one that comes up when invoked as @kbd{emacs}, no need for
+all those fancy options!
@item
-We saw no need for the @code{make-process} primitive, so we removed
-it. The @code{start-process} primitive provides all the functionality
-one needs, so adding more APIs just confuses users.
+The complication known as ``single-line horizontal scrolling'' is no
+longer with you in Emacs 25.2. This feature was a bow to ``other
+editors''; instead, let those other editors bow to Emacs by hscrolling
+the entire window at all times. Repeat after me: ``The Emacs way is
+the Only Way!''
@item
-The functions @code{bidi-find-overridden-directionality} and
-@code{buffer-substring-with-bidi-context} were removed, in preparation
-for removing the whole bidi support when downgrading to Emacs 23.
+The fancy case conversions of non-ASCII characters used in several
+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
-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.
+Enchant is no longer supported by @code{ispell-buffer} and similar
+spell-checking commands. As Enchant will gradually disappear while
+you move back in time, its support will become unnecessary anyway.
@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.
+Tramp lost its support for Google Drive repositories. Cloud storage
+is on its way to extinction as you move back in time, thus making this
+feature redundant.
@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.
+Several commands, deemed to be unnecessary complications, have been
+removed. Examples include @code{replace-buffer-contents} and
+@code{apropos-local-variable}.
@item
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
* GNU Free Documentation License:: The license for this documentation.
* Emacs Invocation:: Hairy startup options.
* 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.
* Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS.
* Manifesto:: What's GNU? Gnu's Not Unix!
@c This node must have no pointers.
@node Antinews
-@appendix Emacs 24 Antinews
+@appendix Emacs 25 Antinews
@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
-downgrading to Emacs version 24.5. We hope you will enjoy the greater
-simplicity that results from the absence of many Emacs @value{EMACSVER}
-features.
+downgrading to Emacs version 25.2. We hope you will enjoy the greater
+simplicity that results from the absence of many @w{Emacs
+@value{EMACSVER}} features.
-@section Old Lisp Features in Emacs 24
+@section Old Lisp Features in Emacs 25
@itemize @bullet
@item
-The requirement that @code{setq} and @code{setf} must be called with
-an even number of arguments has been removed. You can now call them
-with an odd number of arguments, and Emacs will helpfully supply a
-@code{nil} for the missing one. Simplicity rules!
+The concurrency features have been removed. Even in its limited
+``mostly cooperative'' form, with only one Lisp thread running at any
+given time, it made Emacs significantly more complex for Lisp programs
+that need to work correctly in the presence of additional threads.
@item
-@kbd{M-x shell} and @kbd{M-x compile} set the @env{EMACS} environment
-variable, as they should, to indicate that the subprocess is run by
-Emacs. This is so packages that took years to learn how to work
-around that setting could continue using their code to that effect.
+Handling of file attributes has been simplified by discarding the
+accessor functions, such as @code{file-attribute-type} and
+@code{file-attribute-modification-time}. Real Lisp programmers always
+access the individual attributes by their ordinal numbers, and can
+recite those numbers in their sleep.
@item
-The @code{save-excursion} form saves and restores the mark, as
-expected. No more need for the new @code{save-mark-and-excursion},
-which has been deleted.
+The networking code is back at its pristine simplicity, as we deleted
+the use of asynchronous DNS resolution, connection, and TLS
+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
-We have removed the @code{text-quoting-style} variable and the
-associated functionality that translates quote characters in messages
-displayed to the user and in help buffers. Emacs now shows exactly
-the same quote characters as you wrote in your code! Likewise,
-@code{substitute-command-keys} leaves the quote characters alone. As
-you move back in time, Unicode support becomes less and less
-important, so no need to display those fancy new quotes the Unicode
-Standard invented.
+We've removed the @file{puny.el} library, so Web sites with
+non-@acronym{ASCII} URLs are no longer easily accessible. But such
+sites become more and more rare as you move back in time, so having a
+specialized library for their support was deemed an unnecessary
+maintenance burden.
+
+@item
+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
Regular expressions have been simplified by removing support for
-Unicode character properties in regexp classes. As result,
-@code{[:alpha:]} and @code{[:alnum:]} will match any character with a
-word syntax, and @code{[:graph:]} and @code{[:print:]} will match any
-multibyte character, including surrogates and unassigned codepoints.
-Once again, this is in line with diminishing importance of Unicode as
-you move back in time.
+Unicode character properties in the @code{[: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.
+
+@item
+For similar reasons, we removed the function @code{char-from-name}.
+It should be easy enough to access the full list of Unicode characters
+returned by @code{ucs-names} instead, for as long as Unicode support
+in Emacs exists (which shouldn't be too long).
+
+@item
+Various functions that accept file names as arguments, such as
+@code{file-attributes}, @code{file-symlink-p}, and
+@code{make-symbolic-link} gained back the special support for file
+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
+The function @file{assoc} has been simplified by removing its third
+optional argument. It now always uses @code{equal} for comparison.
+Likewise, @code{alist-get} always uses @code{assq}, and @code{map-get}
+and @code{map-put} always use @code{eql} for their comparisons.
+
+@item
+GnuTLS cryptographic functions are no longer available in Emacs. We
+have decided that the needs for such functionality are deteriorating,
+and their cumbersome interfaces make them hard to use.
+
+@item
+We have removed support for records of user-defined types, and
+@code{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.
+
+@item
+You can again use @code{string-as-unibyte},
+@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
-Evaluating @samp{(/ @var{n})} will now yield @var{n}. We have
-realized that interpreting that as in Common Lisp was a bad mistake
-that needed to be corrected.
+The function @code{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.
@item
-The @code{pcase} form was significantly simplified by removing the
-UPatterns @code{quote} and @code{app}. To further simplify this
-facility, we've removed @code{pcase-defmacro}, since we found no need
-for letting Lisp programs define new UPatterns.
+We removed the function @code{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.
@item
-We've removed the text properties @code{cursor-intangible} and
-@code{cursor-sensor-functions}, replacing them by the much simpler
-@code{intangible}, @code{point-entered}, and @code{point-left}
-properties. The latter are implemented on a much lower level, and
-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.
+The function @code{read-multiple-choice} is also gone, in recognition
+of the fact that nothing makes Emacs Lisp hacker 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.
@item
-Process creation and management functions were significantly improved
-and simplified by removing @code{make-process} and the @code{pipe}
-connection type. Redirecting @code{stderr} of a subprocess should be
-done with shell facilities, not by Emacs.
+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
-We decided that shutting up informative messages is bad for user
-interaction, so we've removed the @code{inhibit-message} variable
-which could be used to that effect.
+The function @code{mapcan} is gone; use @code{mapcar} instead, and
+process the resulting list as you see fit.
@item
-Support for generators and for finalizers has been removed, as we
-found no real need for these facilities.
+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
-Due to excessive complexity and the diminishing need for Unicode
-support, the functions @code{string-collate-lessp} and
-@code{string-collate-equalp} were removed. Their locale-independent
-counterparts @code{string-lessp} and @code{string-equal} are so much
-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.
+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
-In preparation for removal in some past version of Emacs of the
-bidirectional editing support, we started by deleting two functions
-@code{bidi-find-overridden-directionality} and
-@code{buffer-substring-with-bidi-context}.
+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
-Time conversion functions, such as @code{current-time-string}, no
-longer accept an optional @var{zone} argument. If you need to change
-the current time zone (why?), do that explicitly with
-@code{set-time-zone-rule}.
+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
As part of the ongoing quest for simplicity, many other functions and
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.
* GPL:: Conditions for copying and changing GNU Emacs.
* Tips:: Advice and coding conventions for Emacs Lisp.
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.
Deterministic builds omit the build date from the output of the
-emacs-version and erc-cmd-SV functions, and the leave the following
-variables nil: emacs-build-system, emacs-build-time,
-erc-emacs-build-time.
+'emacs-version' and 'erc-cmd-SV' functions, and the leave the
+following variables nil: 'emacs-build-system', 'emacs-build-time',
+'erc-emacs-build-time'.
** The configure option '--with-gameuser' now defaults to 'no',
as this appears to be the most common configuration in practice.
\f
* 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.
This variable affects the format of the interpreter magic number
** The variable 'emacs-version' no longer includes the 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.
Concurrency in Emacs Lisp is "mostly cooperative", meaning that
See the chapter "Threads" in the ELisp manual for full documentation
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
of curved quotes for 'electric-quote-mode', allowing user to choose
** 'find-library' now takes a prefix argument to pop to a different
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
actually changed something.
probability of data corruption due to techniques Emacs uses to recover
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
time the major mode is set, not just when the file is first visited.
---
** 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,
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.
** You can now provide explicit field numbers in format specifiers.
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.
This is similar to what linum-mode provides, but much faster and
* Lisp Changes in Emacs 26.1
+++
-** New optional argument TEXT in 'make-temp-file'.
-
----
-** New function `define-symbol-prop'.
+** The function 'assoc' now takes an optional third argument TESTFN.
+This argument, when non-nil, is used for comparison instead of
+'equal'.
+++
** 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
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
+++