\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
'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
** 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
'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
---
** 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
breakpoint (e.g. with "f" and "o") by customizing the new option
'edebug-sit-on-break'.
+** ElDoc
+
++++
+*** 'eldoc-documentation-functions' replaces 'eldoc-documentation-function'.
+
** eww
+++
*** 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
*** '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
+++
*** 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'.
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
'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 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.
+++
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.
'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
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'.
+---
+*** 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'.
It raises an error if a bookmark of that name already exists,
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'.
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
'make-network-process').
+++
-** Subprocesses are automatically told about changes in window dimensions
+** 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
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'