]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
* lisp/simple.el (undo-amalgamate-change-group): New function
[gnu-emacs] / etc / NEWS
index 22eb2eabc3706f243ed0db4b71bbe3cbf4f773c2..e01f180e711db1ba3622b08367346ff528600d66 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -56,6 +56,13 @@ affected by this, as SGI stopped supporting IRIX in December 2013.
 \f
 * Changes in Emacs 25.2
 
++++
+** The new user option 'mouse-select-region-move-to-beginning'
+controls the position of point when double-clicking mouse-1 on the end
+of a parenthetical grouping or string-delimiter: the default value nil
+keeps point at the end of the region, setting it to non-nil moves
+point to the beginning of the region.
+
 ---
 ** 'find-library-name' will now fall back on looking at 'load-history'
 to try to locate libraries that have been loaded with an explicit path
@@ -103,8 +110,8 @@ have been added.  They are: 'file-attribute-type',
 'file-attribute-device-number'.
 
 +++
-** The new function 'buffer-hash' computes compute a fast, non-consing
-hash of a buffer's contents.
+** 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
@@ -176,6 +183,9 @@ 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.
+
 \f
 * Editing Changes in Emacs 25.2
 
@@ -184,9 +194,47 @@ questions, with a handy way to display help texts.
 'undo', undo the last replacement; bound to 'u'.
 'undo-all', undo all replacements; bound to 'U'.
 
+** 'delete-trailing-whitespace' deletes whitespace after form feed.
+In modes where form feed was treated as a whitespace character,
+'delete-trailing-whitespace' would keep lines containing it unchanged.
+It now deletes whitespace after the last form feed thus behaving the
+same as in modes where the character is not whitespace.
+
 \f
 * Changes in Specialized Modes and Packages in Emacs 25.2
 
+** Ibuffer
+
+---
+*** A new command 'ibuffer-copy-buffername-as-kill'; bound
+to 'B'.
+
+---
+*** New command 'ibuffer-change-marks'; bound to '* c'.
+
+---
+*** A new command 'ibuffer-mark-by-locked' to mark
+all locked buffers;  bound to '% L'.
+
+---
+*** A new option 'ibuffer-locked-char' to indicate
+locked buffers; Ibuffer shows a new column displaying
+'ibuffer-locked-char' for locked buffers.
+
+---
+*** A new command 'ibuffer-unmark-all-marks' to unmark
+all buffers without asking confirmation;  bound to
+'U'; 'ibuffer-do-replace-regexp' bound to 'r'.
+
+---
+*** A new command `ibuffer-mark-by-content-regexp' to mark buffers
+whose content matches a regexp; bound to '% g'.
+
+---
+*** Two new options `ibuffer-never-search-content-name' and
+`ibuffer-never-search-content-mode' used by
+`ibuffer-mark-by-content-regexp'.
+
 ** Compilation mode
 
 ---
@@ -194,6 +242,14 @@ questions, with a handy way to display help texts.
 
 ** Dired
 
++++
+*** A New option 'dired-always-read-filesystem' default to nil.
+If non-nil, buffers visiting files are reverted before search them;
+for instance, in 'dired-mark-files-containing-regexp' a non-nil value
+of this option means the file is revisited in a temporary buffer;
+this temporary buffer is the actual buffer searched: the original buffer
+visiting the file is not modified.
+
 +++
 *** In wdired, when editing files to contain slash characters,
 the resulting directories are automatically created.  Whether to do
@@ -207,7 +263,7 @@ viewing HTML files and the like.
 
 *** Ediff can be prevented from pausing 1 second after reaching a
 breakpoint (e.g. with "f" and "o") by customizing the new option
-`edebug-sit-on-break'.
+'edebug-sit-on-break'.
 
 ** eww
 
@@ -253,6 +309,11 @@ details.
 *** New setf-able function to access and set image parameters is
 provided: 'image-property'.
 
+---
+** The default 'Info-default-directory-list' no longer checks some obsolete
+directory suffixes (gnu, gnu/lib, gnu/lib/emacs, emacs, lib, lib/emacs)
+when searching for info directories.
+
 +++
 ** The commands that add ChangeLog entries now prefer a VCS root directory
 for the ChangeLog file, if none already exists.  Customize
@@ -267,6 +328,13 @@ for the ChangeLog file, if none already exists.  Customize
 *** 'message-use-idna' now defaults to t (because Emacs comes with
 built-in IDNA support now).
 
+---
+*** When sending HTML messages with embedded images, and you have
+exiftool installed, and you rotate images with EXIF data (i.e.,
+JPEGs), the rotational information will be inserted into the outgoing
+image in the message.  (The original image will not have its
+orientation affected.)
+
 ---
 *** The 'message-valid-fqdn-regexp' variable has been removed, since
 there are now top-level domains added all the time.  Message will no
@@ -287,6 +355,10 @@ different group ID.
 +++
 *** New connection method "doas" for OpenBSD hosts.
 
++++
+*** New connection method "gdrive", which allows to access Google
+Drive onsite repositories.
+
 ---
 ** 'auto-revert-use-notify' is set back to t in 'global-auto-revert-mode'.
 
@@ -342,9 +414,18 @@ string is computed dynamically based on 'url-privacy-level'.
 colorful faces to make it more obvious to the user what the state is.
 See the 'vc-faces' customization group.
 
+** CC mode
+
+*** Opening a .h file will turn C or C++ mode depending on language used.
+This is done with the help of 'c-or-c++-mode' function which analyses
+contents of the buffer to determine whether it's a C or C++ source
+file.
+
 \f
 * New Modes and Packages in Emacs 25.2
 
+** New Elisp data-structure library `radix-tree'.
+
 \f
 * Incompatible Lisp Changes in Emacs 25.2
 
@@ -364,13 +445,30 @@ mode bindings: 'C-c @ C-a', 'C-c @ C-t', 'C-c @ C-d', and 'C-c @ C-e.'
 before running.  This is controlled by the 'grep-save-buffers'
 variable.
 
++++
+** The variable 'text-quoting-style' no longer affects the treatment
+of curved quotes in format arguments to functions like 'message' and
+'format-message'.  In particular, when this variable's value is
+'grave', all quotes in formats are output as-is.
+
+** Functions like 'check-declare-file' and 'check-declare-directory'
+now generate less chatter and more-compact diagnostics.  The auxiliary
+function 'check-declare-errmsg' has been removed.
+
 \f
 * Lisp Changes in Emacs 25.2
 
+** New function undo-amalgamate-change-group to get rid of undo-boundaries
+between two states.
+
+** New var `definition-prefixes' is a hashtable mapping prefixes to the
+files where corresponding definitions can be found.  This can be used
+to fetch definitions that are not yet loaded, for example for `C-h f'.
+
 ** New var syntax-ppss-table to control the syntax-table used in syntax-ppss.
 
 +++
-** `define-derived-mode' can now specify an :after-hook form, which
+** 'define-derived-mode' can now specify an :after-hook form, which
 gets evaluated after the new mode's hook has run.  This can be used to
 incorporate configuration changes made in the mode hook into the
 mode's setup.
@@ -380,9 +478,6 @@ by setting 'autoload-timestamps' to nil.
 FIXME As an experiment, nil is the current default.
 If no insurmountable problems before next release, it can stay that way.
 
-** 'ert-with-function-mocked' of 'ert-x package allows mocking of functions
-in unit tests.
-
 ---
 ** 'gnutls-boot' now takes a parameter :complete-negotiation that says
 that negotiation should complete even on non-blocking sockets.
@@ -464,6 +559,13 @@ ABBR is a time zone abbreviation.  The affected functions are
 'current-time-string', 'current-time-zone', 'decode-time',
 'format-time-string', and 'set-time-zone-rule'.
 
++++
+*** New basic face 'fixed-pitch-serif', for a fixed-width font with serifs.
+The Info-quoted and tex-verbatim faces now default to inheriting from it.
+
+** New built-in function `mapcan' which avoids unnecessary consing (and garbage
+   collection).
+
 \f
 * Changes in Emacs 25.2 on Non-Free Operating Systems
 
@@ -547,7 +649,7 @@ build with 'make V=1'.
 ---
 ** The configure option '--with-gameuser' now allows you to specify a
 group instead of a user if its argument is prefixed by ':' (a colon).
-This will cause the game score files in ${localstatedir}/games/emacs
+This will cause the game score files in "${localstatedir}/games/emacs"
 to be owned by that group, and the helper program for updating them to
 be installed setgid.  The option now defaults to the 'games' group.
 
@@ -574,7 +676,7 @@ tests which take more time to perform.
 'initial-buffer-choice' is non-nil, display both the file and
 'initial-buffer-choice'.  When Emacs is given more than one file and
 'initial-buffer-choice' is non-nil, show 'initial-buffer-choice'
-and *Buffer List*.  This makes Emacs convenient to use from the
+and '*Buffer List*'.  This makes Emacs convenient to use from the
 command line when 'initial-buffer-choice' is non-nil.
 
 +++
@@ -650,14 +752,14 @@ added via the new Network Security Manager (NSM) and controlled via
 the 'network-security-level' variable.
 
 +++
-** C-h l now also lists the commands that were run.
+** 'C-h l' now also lists the commands that were run.
 
 +++
-** x-select-enable-clipboard is renamed select-enable-clipboard
-and x-select-enable-primary is renamed select-enable-primary.
+** 'x-select-enable-clipboard' is renamed 'select-enable-clipboard'
+and 'x-select-enable-primary' is renamed 'select-enable-primary'.
 Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
 name it), with the proviso that on some systems (e.g. Windows)
-select-enable-primary is ineffective since the system doesn't
+'select-enable-primary' is ineffective since the system doesn't
 have the equivalent of a primary selection.
 
 +++
@@ -670,7 +772,7 @@ selected window is strongly dedicated to its buffer.
 'even-window-sizes' and now handles window widths as well.
 
 +++
-** terpri gets an optional arg ENSURE to conditionally output a newline.
+** 'terpri' gets an optional arg ENSURE to conditionally output a newline.
 
 +++
 ** 'insert-register' now leaves point after the inserted text
@@ -693,9 +795,9 @@ variable 'read-hide-char'.
 
 +++
 ** The Emacs pseudo-random number generator can be securely seeded.
-On system where Emacs can access the system entropy or some other
+On systems where Emacs can access the system entropy or some other
 cryptographically secure random stream, it now uses that when 'random'
-is called with its argument 't'.  This allows cryptographically strong
+is called with its argument t.  This allows cryptographically strong
 random values; in particular, the Emacs server now uses this facility
 to produce its authentication key.
 
@@ -706,7 +808,7 @@ to produce its authentication key.
 * Editing Changes in Emacs 25.1
 
 +++
-** M-x suggests shorthands and ignores obsolete commands for completion.
+** 'M-x' suggests shorthands and ignores obsolete commands for completion.
 
 ** Changes in undo
 
@@ -728,19 +830,20 @@ affected by the command.
 ** New and improved facilities for inserting Unicode characters
 
 ---
-*** Unicode names entered via C-x 8 RET now use substring completion by default.
+*** Unicode names entered via 'C-x 8 RET' now use substring completion
+by default.
 
 +++
-*** C-x 8 now has shorthands for several chars, such as U+2010
+*** 'C-x 8' now has shorthands for several chars, such as U+2010
 (HYPHEN), U+2011 (NON-BREAKING HYPHEN), and U+2012 (FIGURE DASH).  As
-before, you can type C-x 8 C-h to list shorthands.
+before, you can type 'C-x 8 C-h' to list shorthands.
 
 +++
-*** New minor mode electric-quote-mode for using curved quotes as you
+*** New minor mode 'electric-quote-mode' for using curved quotes as you
 type.  See also the new variable 'text-quoting-style'.
 
 ---
-** New minor mode global-eldoc-mode is enabled by default.
+** New minor mode 'global-eldoc-mode' is enabled by default.
 
 ---
 ** Emacs now uses "bracketed paste mode" on text terminals that support it.
@@ -765,7 +868,7 @@ Bidirectional Parentheses Algorithm (BPA) specified by these Unicode
 standards.
 
 +++
-** You can access 'mouse-buffer-menu' (C-down-mouse-1) using C-f10.
+** You can access 'mouse-buffer-menu' ('C-down-mouse-1') using 'C-f10'.
 
 +++
 ** New buffer-local 'electric-pair-local-mode'.
@@ -773,7 +876,7 @@ standards.
 +++
 ** New variable 'fast-but-imprecise-scrolling' inhibits
 fontification during full screen scrolling operations, giving less
-hesitant operation during auto-repeat of C-v, M-v at the cost of
+hesitant operation during auto-repeat of 'C-v', 'M-v' at the cost of
 possible inaccuracies in the end position.
 
 +++
@@ -787,8 +890,8 @@ unsaved customizations and prompts user to customize (if found).  It
 is intended for adding to 'kill-emacs-query-functions'.
 
 +++
-** The old 'C-x w' bindings in hi-lock-mode are officially deprecated
-in favor of the global 'M-s h' bindings introduced in Emacs-23.1.
+** The old 'C-x w' bindings in 'hi-lock-mode' are officially deprecated
+in favor of the global 'M-s h' bindings introduced in Emacs 23.1.
 They'll disappear soon.
 
 \f
@@ -813,13 +916,17 @@ emacs -batch --eval "(checkdoc-file \"subr.el\")"
 *** The desktop format version has been upgraded from 206 to 208.
 Although Emacs 25.1 can read a version 206 desktop, earlier Emacsen
 cannot read a version 208 desktop.  To upgrade your desktop file, you
-must explicitly request the upgrade, by C-u M-x desktop-save.  You are
+must explicitly request the upgrade, by 'C-u M-x desktop-save'.  You are
 recommended to do this as soon as you have firmly upgraded to Emacs
 25.1 (or later).  Should you ever need to downgrade your desktop file
-to version 206, you can do this with C-u C-u M-x desktop-save.
+to version 206, you can do this with 'C-u C-u M-x desktop-save'.
+
+---
+*** desktop-restore-in-current-display now defaults to t, not nil.
+That is, Emacs by default now restores frames into the current display.
 
 +++
-** New function 'bookmark-set-no-overwrite' bound to C-x r M.
+** New function 'bookmark-set-no-overwrite' bound to 'C-x r M'.
 It raises an error if a bookmark of that name already exists,
 unlike 'bookmark-set' which silently updates an existing bookmark.
 
@@ -926,10 +1033,10 @@ being made case-sensitive in Emacs 24.2.
 **** New play/pause command 'mpc-toggle-play' bound to 's'
 
 **** 'g' bound to new command 'mpc-seek-current' will navigate current
-     track.
+track.
 
 **** New commands 'mpc-toggle-{consume,repeat,single,shuffle}' for
-     toggling playback modes.
+toggling playback modes.
 
 ---
 *** Now supports connecting to a UNIX domain socket.
@@ -1022,10 +1129,10 @@ installed strictly as dependencies but are no longer needed.
 +++
 ** Shell
 
-When you invoke 'shell' interactively, the *shell* buffer will now
+When you invoke 'shell' interactively, the '*shell*' buffer will now
 display in a new window.  However, you can customize this behavior via
 the 'display-buffer-alist' variable.  For example, to get
-the old behavior -- *shell* buffer displays in current window -- use
+the old behavior -- '*shell*' buffer displays in current window -- use
 (add-to-list 'display-buffer-alist
      '("^\\*shell\\*$" . (display-buffer-same-window))).
 
@@ -1046,13 +1153,14 @@ If you need your objects to be named, do it by inheriting from 'eieio-named'.
 Use the equivalent facilities from cl-generic.el instead.
 +++
 *** 'constructor' is now an obsolete alias for 'make-instance'.
---- 'pcase' accepts a new UPattern 'eieio'.
+---
+*** 'pcase' accepts a new UPattern 'eieio'.
 
 ** ido
 
 +++
-*** New command 'ido-bury-buffer-at-head' bound to C-S-b
-Bury the buffer at the head of 'ido-matches', analogous to how C-k
+*** New command 'ido-bury-buffer-at-head' bound to 'C-S-b'.
+Bury the buffer at the head of 'ido-matches', analogous to how 'C-k'
 kills the buffer at head.
 
 ---
@@ -1089,11 +1197,11 @@ as many other symbols like U+249C (PARENTHESIZED LATIN SMALL LETTER
 A).
 
 Character folding is enabled by customizing 'search-default-mode' to
-the value 'character-fold-to-regexp'.  You can also toggle character
+the value 'char-fold-to-regexp'.  You can also toggle character
 folding in the middle of a search by typing 'M-s ''.
 
 'query-replace' honors character folding if the new variable
-'replace-character-fold' is customized to a non-nil value.
+'replace-char-fold' is customized to a non-nil value.
 
 +++
 *** New user option 'search-default-mode'.
@@ -1103,18 +1211,18 @@ value, nil specifies that Isearch does literal searches (however,
 as in previous Emacs versions).
 
 +++
-*** New function 'character-fold-to-regexp' can be used
+*** New function 'char-fold-to-regexp' can be used
 by searching commands to produce a regexp matching anything that
-character-folds into STRING.
+char-folds into STRING.
 
 +++
-*** The new M-s M-w key binding uses eww to search the web for the
+*** The new 'M-s M-w' key binding uses eww to search the web for the
 text in the region.  The search engine to use for this is specified by
 the customizable variable 'eww-search-prefix'.
 
 +++
-*** Query-replace history is enhanced.
-When query-replace reads the FROM string from the minibuffer, typing
+*** 'query-replace' history is enhanced.
+When 'query-replace' reads the FROM string from the minibuffer, typing
 'M-p' will now show previous replacements as "FROM SEP TO", where FROM
 and TO are the original text and its replacement, and SEP is an arrow
 string defined by the new variable 'query-replace-from-to-separator'.
@@ -1128,19 +1236,19 @@ typing RET.
 result of the calculation into the current buffer.
 
 +++
-** In Edebug, you can now set the initial mode with C-x C-a C-m.  With
-this you can tell Edebug not to stop at the start of the first
+** In Edebug, you can now set the initial mode with 'C-x C-a C-m'.
+With this you can tell Edebug not to stop at the start of the first
 instrumented function.
 
 ** ElDoc
 
 +++
-*** New minor mode 'global-eldoc-mode'
+*** New minor mode 'global-eldoc-mode'.
 It is turned on by default, and affects '*scratch*' and other buffers
 whose major mode supports Emacs Lisp.
 
 ---
-*** 'eldoc-documentation-function' now defaults to 'ignore'
+*** 'eldoc-documentation-function' now defaults to 'ignore'.
 
 ---
 *** 'describe-char-eldoc' displays information about character at point,
@@ -1232,7 +1340,7 @@ CLOS class and slot documentation.
 *** Rectangle Mark mode can have corners past EOL or in the middle of a TAB.
 
 +++
-*** C-x C-x in rectangle-mark-mode now cycles through the four corners.
+*** 'C-x C-x' in 'rectangle-mark-mode' now cycles through the four corners.
 *** 'string-rectangle' provides on-the-fly preview of the result.
 
 +++
@@ -1258,7 +1366,7 @@ prepending it.
 ** Calendar and diary
 
 +++
-*** The default 'diary-file' is now located in .emacs.d.
+*** The default 'diary-file' is now located in "~/.emacs.d".
 
 +++
 *** New commands to insert diary entries with Chinese dates:
@@ -1335,7 +1443,7 @@ to delete or undelete multiple messages.
 libxml2 or if you have the Lynx browser installed.  By default, Rmail
 will display the HTML version of a mail message that has both HTML and
 plain text parts, if display of HTML email is possible; customize the
-'rmail-mime-prefer-html' option to 'nil' if you don't want that.
+'rmail-mime-prefer-html' option to nil if you don't want that.
 
 +++
 *** In the commands that make summaries by subject, recipients, or senders,
@@ -1388,7 +1496,7 @@ variable, meaning you can bind it around an 'url-retrieve' call.
 
 ---
 *** If URL is used with a https connection, the first callback argument
-plist will contain a :peer element that has the output of
+PLIST will contain a :peer element that has the output of
 'gnutls-peer-status' (if Emacs is built with GnuTLS support).
 
 ** Tramp
@@ -1429,10 +1537,10 @@ comments.
 +++
 *** Basic push support, via 'vc-push', bound to 'C-x v P'.
 Implemented for Bzr, Git, Hg.  As part of this change, the pre-existing
-(undocumented) command vc-hg-push now behaves slightly differently.
+(undocumented) command 'vc-hg-push' now behaves slightly differently.
 
 +++
-*** The new command vc-region-history shows the log+diff of the active region.
+*** The new command 'vc-region-history' shows the log+diff of the active region.
 
 +++
 *** You can refresh the VC state of a file buffer with 'M-x vc-refresh-state'.
@@ -1517,7 +1625,7 @@ file name patterns.  Defaults to files whose extension is one of '.h',
 *** New custom variable 'hide-ifdef-expand-reinclusion-protection' to prevent
 reinclusion protected (a.k.a. "idempotent") header files from being hidden.
 (This could happen when an idempotent header file is visited again,
-when its guard symbol is already defined.)  Defaults to 't'.
+when its guard symbol is already defined.)  Defaults to t.
 
 ---
 *** New custom variable 'hide-ifdef-exclude-define-regexp' to define symbol
@@ -1550,7 +1658,7 @@ New options 'tildify-space-string', 'tildify-pattern', and
 helper functions) obsolete.
 
 +++
-** New package Xref replaces Etags's front-end and UI
+** New package Xref replaces Etags's front-end and UI.
 
 The new package Xref provides a generic framework and new commands to
 find and move to definitions of functions, macros, data structures
@@ -1662,7 +1770,8 @@ EUDC's PH backend (eudcb-ph.el) is obsolete.
 
 +++
 *** The new built-in command 'clear' can scroll window contents out of sight.
-If provided with an optional non-nil argument, the scrollback contents will be cleared.
+If provided with an optional non-nil argument, the scrollback contents
+will be cleared.
 
 +++
 *** New buffer syntax '#<buffer-name>', which is equivalent to
@@ -1692,7 +1801,7 @@ make the new option 'eshell-destroy-buffer-when-process-dies' non-nil.
 *** Support for several ancient browsers is now officially obsolete.
 
 +++
-** tar-mode: new 'tar-new-entry' command, allowing for new members to
+** 'tar-mode': new 'tar-new-entry' command, allowing for new members to
 be added to the archive.
 
 ** Autorevert
@@ -1721,11 +1830,11 @@ notification descriptor still corresponds to an activate watch.
 ** Dired
 
 +++
-*** The command 'dired-do-compress' bound to 'Z' now can compress
+*** The command 'dired-do-compress', bound to 'Z', now can compress
 directories and decompress zip files.
 
 +++
-*** New command 'dired-do-compress-to' bound to 'c' can be used to
+*** New command 'dired-do-compress-to', bound to 'c', can be used to
 compress many marked files into a single named archive.  The
 compression command is determined from the new
 'dired-compress-files-alist' variable.
@@ -1750,7 +1859,7 @@ call 'tabulated-list-init-header', in which case it will have no
 header.
 
 +++
-*** 'tabulated-list-print' takes a second optional argument, update,
+*** 'tabulated-list-print' takes a second optional argument, UPDATE,
 which specifies an alternative printing method which is faster when
 few or no entries have changed.
 
@@ -1780,11 +1889,11 @@ The main entry points are 'cl-defgeneric' and 'cl-defmethod'.  See the
 node "Generic Functions" in the Emacs Lisp manual for more details.
 
 ---
-** scss-mode (a minor variant of css-mode) is a major mode for editing
+** 'scss-mode' (a minor variant of 'css-mode') is a major mode for editing
 SCSS (Sassy CSS) files.
 
 ---
-** let-alist is a new macro (and a package) that allows one to easily
+** 'let-alist' is a new macro (and a package) that allows one to easily
 let-bind the values stored in an alist.
 
 ---
@@ -1810,7 +1919,7 @@ alists, hash-table and arrays.  All functions are prefixed with
 evaluation of forms.
 
 ---
-** js-jsx-mode (a minor variant of js-mode) provides indentation
+** 'js-jsx-mode' (a minor variant of 'js-mode') provides indentation
 support for JSX, an XML-like syntax extension to ECMAScript.
 
 \f
@@ -1824,8 +1933,8 @@ eliminated.
 
 +++
 ** 'syntax-begin-function' is declared obsolete.
-Removed font-lock-beginning-of-syntax-function and the SYNTAX-BEGIN
-slot in font-lock-defaults.
+Removed 'font-lock-beginning-of-syntax-function' and the SYNTAX-BEGIN
+slot in 'font-lock-defaults'.
 
 +++
 ** The new implementation of Subword mode affects word movement everywhere.
@@ -1857,24 +1966,24 @@ pointer shape during dragging, should bind the variable 'track-mouse'
 to the special value 'dragging' in the body of the form.
 
 ---
-** The optional 'predicate' argument of 'lisp-complete-symbol' no longer
+** The optional PREDICATE argument of 'lisp-complete-symbol' no longer
 has any effect.  (This change was made in Emacs 24.4 but was not
 advertised at the time.)
 
 +++
 ** 'indirect-function' does not signal 'void-function' any more.
 This is mostly a bug-fix, since this change was missed back in 24.4 when
-symbol-function was changed not to signal 'void-function' any more.
+'symbol-function' was changed not to signal 'void-function' any more.
 
 +++
 *** As a consequence, the second arg of 'indirect-function' is now obsolete.
 
 +++
-** M-x shell and M-x compile no longer set the EMACS environment variable.
+** 'M-x shell' and 'M-x compile' no longer set the EMACS environment variable.
 This avoids clashing when other programs use the variable for other purposes.
-Although M-x term still sets EMACS for compatibility with Bash 4.3 and earlier,
-this is deprecated and will be phased out when Bash 4.4 or later takes over.
-Use the INSIDE_EMACS environment variable instead.
+Although 'M-x term' still sets EMACS for compatibility with Bash 4.3
+and earlier, this is deprecated and will be phased out when Bash 4.4
+or later takes over.  Use the INSIDE_EMACS environment variable instead.
 
 +++
 ** 'save-excursion' does not save&restore the mark any more.
@@ -1882,31 +1991,31 @@ Use 'save-mark-and-excursion' if you want the old behavior.
 
 +++
 ** 'read-buffer' and 'read-buffer-function' can now be called with a 4th
-argument ('predicate').
+argument (PREDICATE).
 
 +++
 ** 'completion-table-dynamic' by default stays in the minibuffer.
 The minibuffer will be the current buffer when the function is called.
 If you want the old behavior of calling the function in the buffer
 from which the minibuffer was entered, use the new argument
-'switch-buffer' to 'completion-table-dynamic'.
+SWITCH-BUFFER to 'completion-table-dynamic'.
 
 ---
 ** window-configurations no longer record the buffers' marks.
 
 ---
-** inhibit-modification-hooks now also inhibits lock-file checks, as well as
-active region handling.
+** 'inhibit-modification-hooks' now also inhibits lock-file checks, as
+well as active region handling.
 
 +++
-** deactivate-mark is now buffer-local.
+** 'deactivate-mark' is now buffer-local.
 
 +++
 ** 'cl-the' now asserts that its argument is of the given type.
 
 +++
 ** 'process-running-child-p' may now return a numeric process
-group ID instead of 't'.
+group ID instead of t.
 
 +++
 ** Mouse click events on mode line or header line no longer include
@@ -1916,7 +2025,7 @@ position list returned for such events is now nil.
 ---
 ** Menu items in keymaps do not support the "key shortcut cache" any more.
 These slots used to hold key-shortcut data, but have been obsolete since
-Emacs-21.
+Emacs 21.
 
 ---
 ** Emacs no longer downcases the first letter of a system diagnostic
@@ -1942,7 +2051,7 @@ not affected by 'text-quoting-style', e.g., (message "%s" (format
 "...." foo bar)).
 
 +++
-** substitute-command-keys now replaces quotes.
+** 'substitute-command-keys' now replaces quotes.
 That is, it converts documentation strings' quoting style as per the
 value of 'text-quoting-style'.  Doc strings in source code can use
 either curved single quotes or grave accents and apostrophes.  As
@@ -1986,7 +2095,7 @@ that happen, 'unhandled-file-name-directory' now defaults to calling
 \f
 * Lisp Changes in Emacs 25.1
 
-** pcase
+** 'pcase'
 +++
 *** New UPatterns 'quote', 'app'.
 +++
@@ -1995,7 +2104,7 @@ that happen, 'unhandled-file-name-directory' now defaults to calling
 *** New vector QPattern.
 
 ---
-** syntax-propertize is now automatically called on-demand during forward
+** 'syntax-propertize' is now automatically called on-demand during forward
 parsing functions like 'forward-sexp'.
 
 +++
@@ -2010,7 +2119,7 @@ file byte offsets, given the file's encoding.
 
 +++
 ** The default value of 'load-read-function' is now 'read'.
-Previously, the default value of 'nil' implied using 'read'.
+Previously, the default value of nil implied using 'read'.
 
 +++
 ** New hook 'pre-redisplay-functions'.
@@ -2027,13 +2136,13 @@ implemented by the new 'cursor-intangible-mode' and
 'cursor-sensor-mode' minor modes.
 
 +++
-** 'inhibit-point-motion-hooks' now defaults to 't' and is obsolete.
+** 'inhibit-point-motion-hooks' now defaults to t and is obsolete.
 Use the new minor modes 'cursor-intangible-mode' and
 'cursor-sensor-mode' instead.
 
 +++
 ** New process type 'pipe', which can be used in combination with the
-':stderr' keyword of make-process to handle standard error output
+':stderr' keyword of 'make-process' to handle standard error output
 of subprocess.
 
 +++
@@ -2042,6 +2151,14 @@ of subprocess.
 process filter, sentinel, etc., through keyword arguments (similar to
 'make-network-process').
 
++++
+** Subprocesses are automatically told about changes in window dimensions.
+The new option 'window-adjust-process-window-size-function' controls
+how subprocesses are told to adapt their logical window sizes to
+changes in the Emacs window configuration.  Its default value calls
+'set-process-window-size' with the smallest dimensions of all the
+windows that display the subprocess's buffer.
+
 +++
 ** A new function 'directory-files-recursively' returns all matching
 files (recursively) under a directory.
@@ -2049,7 +2166,7 @@ files (recursively) under a directory.
 +++
 ** New variable 'inhibit-message', when bound to non-nil, inhibits
 'message' and related functions from displaying messages in the echo
-area.  The output is still logged to the *Messages* buffer.
+area.  The output is still logged to the '*Messages*' buffer.
 
 +++
 ** A new text property 'inhibit-read-only' can be used in read-only
@@ -2057,8 +2174,8 @@ buffers to allow certain parts of the text to be writable.
 
 +++
 ** A new variable 'comment-end-can-be-escaped' is useful in languages
-   such as C and C++ where line comments with escaped newlines are
-   continued to the next line.
+such as C and C++ where line comments with escaped newlines are
+continued to the next line.
 
 +++
 ** New macro 'define-advice'.
@@ -2073,24 +2190,24 @@ See the "Finalizer Type" subsection in the ELisp manual for the
 details.
 
 ---
-** lexical closures can use (:documentation FORM) to build their docstring.
+** Lexical closures can use '(:documentation FORM)' to build their docstring.
 It should be placed right where the docstring would be, and FORM is then
 evaluated (and should return a string) when the closure is built.
 
 +++
-** define-inline provides a new way to define inlinable functions.
+** 'define-inline' provides a new way to define inlinable functions.
 
 +++
 ** New function 'macroexpand-1' to perform a single step of macro expansion.
 
 +++
 ** Some "x-*" functions were obsoleted and/or renamed:
-*** x-select-text is renamed gui-select-text.
-*** x-selection-value is renamed gui-selection-value.
-*** x-get-selection is renamed gui-get-selection.
-*** x-get-clipboard and x-clipboard-yank are marked obsolete.
-*** x-get-selection-value is renamed to gui-get-primary-selection.
-*** x-set-selection is renamed to gui-set-selection
+*** 'x-select-text' is renamed 'gui-select-text'.
+*** 'x-selection-value' is renamed 'gui-selection-value'.
+*** 'x-get-selection' is renamed 'gui-get-selection'.
+*** 'x-get-clipboard' and 'x-clipboard-yank' are marked obsolete.
+*** 'x-get-selection-value' is renamed to 'gui-get-primary-selection'.
+*** 'x-set-selection' is renamed to 'gui-set-selection'.
 
 +++
 ** New function 'string-greaterp', which return the opposite result of
@@ -2123,7 +2240,8 @@ codeset is "UTF-8" (as in "en_US.UTF-8").  This is needed because
 MS-Windows doesn't support UTF-8 as codeset in its locales.
 
 +++
-** New function 'alist-get', which is also a valid place (aka lvalue).
+** New function 'alist-get', which is a generalized variable
+suitable for use with 'setf'.
 
 +++
 ** New function 'funcall-interactively', which works like 'funcall'
@@ -2149,9 +2267,9 @@ text and directional control characters.
 
 +++
 ** New properties that can be specified with 'declare':
-*** (interactive-only INSTEAD), says to use INSTEAD for non-interactive use.
-*** (pure VAL), if VAL is non-nil, indicates the function is pure.
-*** (side-effect-free VAL), if VAL is non-nil, indicates the function does not
+*** '(interactive-only INSTEAD)', says to use INSTEAD for non-interactive use.
+*** '(pure VAL)', if VAL is non-nil, indicates the function is pure.
+*** '(side-effect-free VAL)', if VAL is non-nil, indicates the function does not
 have side effects.
 
 +++
@@ -2210,10 +2328,12 @@ font, and (iii) the specified window.
 
 ---
 ** New utilities in subr-x.el:
+
 *** New macros 'if-let' and 'when-let' allow defining bindings and to
-    execute code depending whether all values are true.
+execute code depending whether all values are true.
+
 *** New macros 'thread-first' and 'thread-last' allow threading a form
-    as the first or last argument of subsequent forms.
+as the first or last argument of subsequent forms.
 
 +++
 ** Documentation strings now support quoting with curved single quotes
@@ -2232,7 +2352,7 @@ curved single quotes, grave accents and apostrophes as per
 'text-quoting-style'.
 
 +++
-** show-help-function's arg is converted via substitute-command-keys
+** 'show-help-function's arg is converted via 'substitute-command-keys'
 before being passed to the function.  Help strings, help-echo
 properties, etc. can therefore contain command key escapes and
 quotation marks.
@@ -2282,12 +2402,12 @@ the name is a directory separator character (forward slash on GNU and
 Unix systems, forward- or backslash on MS-Windows and MS-DOS).
 
 ---
-** ASCII approximations to curved quotes are put in standard-display-table
+** ASCII approximations to curved quotes are put in 'standard-display-table'
 if the terminal cannot display curved quotes.
 
 +++
 ** Standard output and error streams now transliterate characters via
-standard-display-table, and encode output using locale-coding-system.
+'standard-display-table', and encode output using 'locale-coding-system'.
 To force a specific encoding, bind 'coding-system-for-write' to the
 coding-system of your choice when invoking functions like 'prin1' and
 'message'.
@@ -2314,30 +2434,30 @@ provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows.
 Horizontal scroll bars are turned off by default.
 
 **** New function 'horizontal-scroll-bars-available-p' telling whether
-    horizontal scroll bars are available on the underlying system.
+horizontal scroll bars are available on the underlying system.
 
 **** New mode 'horizontal-scroll-bar-mode' to toggle horizontal scroll
-    bars on all existing and future frames.
+bars on all existing and future frames.
 
 **** New function 'toggle-horizontal-scroll-bar' to toggle horizontal
-    scroll bars on the selected frame.
+scroll bars on the selected frame.
 
 **** New frame parameters 'horizontal-scroll-bars' and
-    'scroll-bar-height' to set horizontal scroll bars and their height
-    for individual frames and in 'default-frame-alist'.
+'scroll-bar-height' to set horizontal scroll bars and their height
+for individual frames and in 'default-frame-alist'.
 
 **** New functions 'frame-scroll-bar-height' and
-    'window-scroll-bar-height' return the height of horizontal scroll
-    bars on a specific frame or window.
+'window-scroll-bar-height' return the height of horizontal scroll
+bars on a specific frame or window.
 
 **** 'set-window-scroll-bars' now accepts five parameters where the last
-    two specify height and type of the window's horizontal scroll bar.
+two specify height and type of the window's horizontal scroll bar.
 
 **** 'window-scroll-bars' now returns type and sizes of horizontal scroll
-    bars too.
+bars too.
 
 **** New buffer-local variables 'horizontal-scroll-bar' and
-    'scroll-bar-height'.
+'scroll-bar-height'.
 
 +++
 *** New functions 'frame-geometry' and 'frame-edges' give access to a
@@ -2376,10 +2496,11 @@ they display when setting default font, menu bar, fringe width, or
 scroll bars.  In particular, maximized and fullscreen frames are
 conceptually never resized if such settings change.  For fullheight and
 fullwidth frames, the behavior may depend on the toolkit used.
+
 **** New option 'frame-inhibit-implied-resize' if non-nil, means that
-   setting default font, menu bar, fringe width, or scroll bars of a
-   specific frame does not resize that frame in order to preserve the
-   number of columns or lines it displays.
+setting default font, menu bar, fringe width, or scroll bars of a
+specific frame does not resize that frame in order to preserve the
+number of columns or lines it displays.
 
 +++
 *** New function 'window-preserve-size' allows you to preserve the size of
@@ -2449,7 +2570,7 @@ whitespace at line beginning.
 * Changes in Emacs 25.1 on Non-Free Operating Systems
 
 ---
-** MS-Windows specific Emacs build scripts are no longer in the distribution
+** MS-Windows specific Emacs build scripts are no longer in the distribution.
 This includes the makefile.w32-in files in various subdirectories, and
 the support files.  The file nt/configure.bat now just tells the user
 to use the procedure described in nt/INSTALL, by running the Posix