emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 0ad7410: Update Antinews in ELisp manual


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-25 0ad7410: Update Antinews in ELisp manual
Date: Wed, 14 Sep 2016 14:20:56 +0000 (UTC)

branch: emacs-25
commit 0ad74106faefa656a03b51fd58a8413857eb483e
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Update Antinews in ELisp manual
    
    * doc/lispref/anti.texi (Antinews): Update for Emacs 25.1.
    * doc/lispref/elisp.texi (Top): Update the main menu entry for
    Antinews.
---
 doc/lispref/anti.texi  |  162 +++++++++++++++++++++---------------------------
 doc/lispref/elisp.texi |    2 +-
 2 files changed, 71 insertions(+), 93 deletions(-)

diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi
index 4b08401..17d765d 100644
--- a/doc/lispref/anti.texi
+++ b/doc/lispref/anti.texi
@@ -6,132 +6,110 @@
 @c This node must have no pointers.
 
 @node Antinews
address@hidden Emacs 23 Antinews
address@hidden Emacs 24 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 23.4.  We hope you will enjoy the greater
+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.
 
address@hidden Old Lisp Features in Emacs 23
address@hidden Old Lisp Features in Emacs 24
 
 @itemize @bullet
 @item
-Support for lexical scoping has been removed; all variables are
-dynamically scoped.  The @code{lexical-binding} variable has been
-removed, and so has the @var{lexical} argument to @code{eval}.  The
address@hidden and @code{defconst} forms no longer mark variables as
-dynamic, since all variables are dynamic.
-
-Having only dynamic binding follows the spirit of Emacs extensibility,
-for it allows any Emacs code to access any defined variable with a
-minimum of fuss.  But @xref{Dynamic Binding Tips}, for tips to avoid
-making your programs hard to understand.
+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
address@hidden for the missing one.  Simplicity rules!
 
 @item
-Calling a minor mode function from Lisp with a @code{nil} or omitted argument
-does not enable the minor mode unconditionally; instead, it toggles
-the minor mode---which is the straightforward thing to do, since that
-is the behavior when invoked interactively.  One downside is that it
-is more troublesome to enable minor modes from hooks; you have to do
-something like
-
address@hidden
-(add-hook 'foo-hook (lambda () (bar-mode 1)))
address@hidden example
-
address@hidden
-or define @code{turn-on-bar-mode} and call that from the hook.
address@hidden 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.
 
 @item
-The @code{prog-mode} dummy major mode has been removed.  Instead of
-using it as a crutch to meet programming mode conventions, you should
-explicitly ensure that your mode follows those conventions.
address@hidden Mode Conventions}.
+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.
 
 @item
-Emacs no longer supports bidirectional display and editing.  Since
-there is no need to worry about the insertion of right-to-left text
-messing up how lines and paragraphs are displayed, the function
address@hidden has been removed; so have many
-other functions and variables related to bidirectional display.
-Unicode directionality characters like @code{U+200E} LEFT-TO-RIGHT
-MARK have no special effect on display.
+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,
address@hidden 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.
 
 @item
-Emacs windows now have most of their internal state hidden from Lisp.
-Internal windows are no longer visible to Lisp; functions such as
address@hidden, window parameters related to window arrangement,
-and window-local buffer lists have all been removed.  Functions for
-resizing windows can delete windows if they become too small.
-
-The action-function feature for controlling buffer display has
-been removed, including @code{display-buffer-overriding-action} and
-related variables, as well as the @var{action} argument to
address@hidden and other functions.  The way to
-programmatically control how Emacs chooses a window to display a
-buffer is to bind the right combination of @code{pop-up-frames} and
-other variables.
+Regular expressions have been simplified by removing support for
+Unicode character properties in regexp classes.  As result,
address@hidden: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.
 
 @item
-The standard completion interface has been simplified, eliminating the
address@hidden variable, the @code{metadata}
-action flag for completion functions, and the concept of
-completion categories.  Lisp programmers may now find the choice
-of methods for tuning completion less bewildering, but if a package
-finds the streamlined interface insufficient for its needs, it must
-implement its own specialized completion feature.
+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.
 
 @item
address@hidden now behaves the same whether or not the
-destination is an existing directory: if the destination exists, the
address@hidden of the first directory are copied into it (with
-subdirectories handled recursively), rather than copying the first
-directory into a subdirectory.
+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.
 
 @item
-The @var{trash} arguments for @code{delete-file} and
address@hidden have been removed.  The variable
address@hidden must now be used with care; whenever
-it is address@hidden, all calls to @code{delete-file} or
address@hidden use the trash.
+We've removed the text properties @code{cursor-intangible} and
address@hidden, replacing them by the much simpler
address@hidden, @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.
 
 @item
-Because Emacs no longer supports SELinux file contexts, the
address@hidden argument to @code{copy-file} has been
-removed.  The return value of @code{backup-buffer} no longer has an
-entry for the SELinux file context.
+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.
 
 @item
-For mouse click input events in the text area, the Y pixel coordinate
-in the @var{position} list (@pxref{Click Events}) now counts from the
-top of the header line, if there is one, rather than the top of the
-text area.
+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.
 
 @item
-Bindings in menu keymaps (@pxref{Format of Keymaps}) now sometimes get
-an additional @var{cache} entry in their definitions, like this:
+Support for generators and for finalizers has been removed, as we
+found no real need for these facilities.
 
address@hidden
-(@var{type} @var{item-name} @var{cache} . @var{binding})
address@hidden example
-
address@hidden
-The @var{cache} entry is used internally by Emacs to record equivalent
-keyboard key sequences for invoking the same command; Lisp programs
-should never use it.
address@hidden Not really NEWS-worthy then...
address@hidden
+Due to excessive complexity and the diminishing need for Unicode
+support, the functions @code{string-collate-lessp} and
address@hidden 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.
 
 @item
-The @code{gnutls} library has been removed, and the function
address@hidden correspondingly simplified.
-Lisp programs that want an encrypted network connection must now call
-external utilities such as @command{starttls} or @command{gnutls-cli}.
+In preparation for removal in some past version of Emacs of the
+bidirectional editing support, we started by deleting two functions
address@hidden and
address@hidden
 
 @item
-Tool bars can no longer display separators, which frees up several
-pixels of space on each graphical frame.
+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
address@hidden
 
 @item
 As part of the ongoing quest for simplicity, many other functions and
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index a3bff0b..3297e53 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -228,7 +228,7 @@ To view this manual in other formats, click
 
 Appendices
 
-* Antinews::                Info for users downgrading to Emacs 23.
+* Antinews::                Info for users downgrading to Emacs 24.
 * 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]