]> git.eshelyaron.com Git - emacs.git/commitdiff
Rewrite Antinews for Emacs 26
authorEli Zaretskii <eliz@gnu.org>
Sat, 2 Sep 2017 09:37:51 +0000 (12:37 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 2 Sep 2017 09:37:51 +0000 (12:37 +0300)
* 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.

doc/emacs/anti.texi
doc/emacs/emacs.texi
doc/lispref/anti.texi
doc/lispref/elisp.texi
etc/NEWS

index 87cbe439e05a0b819587a3e71f361cd613b12251..ffec915cb13a48dce9f3f5cd1cb9a83c2874810a 100644 (file)
 @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
index f3e6c94e2749414ca76cf787f75e2487c2549700..1f6035406158ecb52f006399aee9e96f08b48bbc 100644 (file)
@@ -222,7 +222,7 @@ Appendices
 * 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!
index 02d08ebc01958cf617dbbd96ba98d3ef83d6a30b..fc14c8cfca5e3030394de764adc952b01e034be1 100644 (file)
 @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
index f30d9f95e2cc195b63bae8d0ca713a13404b3422..b1399cdbd14a04c45dcc7887b4fd71f870bafed0 100644 (file)
@@ -230,7 +230,7 @@ To view this manual in other formats, click
 
 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.
index be95504cfd48c967fe5378fcd29ee78c58aa58d3..2b0c86d7afbc00c8a753e0f679dd8b63ec0887de 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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
 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.
@@ -108,11 +108,6 @@ The effect is similar to that of "toolBar" resource on the tool bar.
 \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
@@ -126,10 +121,6 @@ so the default behavior is not changed.
 ** 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
@@ -143,10 +134,6 @@ buffer and its own match data.
 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
@@ -272,20 +259,6 @@ part of minibuffers.
 ** '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.
@@ -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
 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.
@@ -359,16 +325,12 @@ see the node "Connection Local Variables" in the ELisp manual.
 
 ---
 ** 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.
 
@@ -455,10 +417,6 @@ display of raw bytes from octal to hex.
 ** 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
@@ -1289,18 +1247,62 @@ variable 'x-gtk-use-window-move'.  The variable is now obsolete.
 * 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
 
 +++