\f
* Installation Changes in Emacs 25.2
++++
+** New configure option ‘--disable-build-details’ attempts to build an
+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.
+
\f
* Startup Changes in Emacs 25.2
\f
* Changes in Emacs 25.2
+---
+** `align-regexp' has a separate history for its interactive argument
+`align-regexp' no longer shares its history with all other
+history-less functions that use `read-string'
+
++++
+** The networking code has been reworked so that it's more
+asynchronous than it was (when specifying :nowait t in
+`make-network-process'). How asynchronous it is varies based on the
+capabilities of the system, but on a typical GNU/Linux system the DNS
+resolution, the connection, and (for TLS streams) the TLS negotiation
+are all done without blocking the main Emacs thread. To get
+asynchronous TLS, the TLS boot parameters have to be passed in (see
+the manual for details).
+
+Certain process oriented functions (like `process-datagram-address')
+will block until socket setup has been performed. The recommended way
+to deal with asynchronous sockets is to avoid interacting with them
+until they have changed status to "run". This is most easily done
+from a process sentinel.
+
+** `make-network-stream' has always allowed :service to be specified
+as a "number string" (i.e., :service "993") when using gethostbyname,
+but has required using a real number (i.e., :service 993) on systems
+without gethostbyname. This difference has now been eliminated, and
+you can use "number strings" on all systems.
+
** It is possible to disable attempted recovery on fatal signals
Two new variables allow to disable attempts to recover from stack
+++
*** A new `s' command for switching to another eww buffer via the minibuffer.
+---
+*** The `o' command (`shr-save-contents') has moved to `O' to avoid collision
+with the `o' command from `image-map'.
+
+++
** The commands that add ChangeLog entries now prefer a VCS root directory
for the ChangeLog file, if none already exists. Customize
\f
* Incompatible Lisp Changes in Emacs 25.2
++++
+** Resizing a frame no longer runs `window-configuration-change-hook'.
+Put your function on `window-size-change-functions' instead.
+
\f
* Lisp Changes in Emacs 25.2
** Autoload files can be generated without timestamps,
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.
+
++++
+** New functions `window-pixel-width-before-size-change' and
+`window-pixel-height-before-size-change' allow to detect which window
+changed size when `window-size-change-functions' are run.
\f
* Changes in Emacs 25.2 on Non-Free Operating Systems
+** Intercepting hotkeys on Windows 7 and later now works better.
+The new keyboard hooking code properly grabs system hotkeys such as
+Win-* and Alt-TAB, in a way that Emacs can get at them before the
+system. This makes the `w32-register-hot-key' functionality work
+again on all versions of MS-Windows starting with Windows 7. On
+Windows NT and later you can now register any hotkey combination. (On
+Windows 9X, the previous limitations, spelled out in the Emacs manual,
+still apply.)
+
\f
* Installation Changes in Emacs 25.1
in favor of the global `M-s h' bindings introduced in Emacs-23.1.
They'll disappear soon.
++++
+** New bindings for 'query-replace-map'.
+`undo', undo the last replacement; bound to `u'.
+`undo-all', undo all replacements; bound to `U'.
+
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
*** `xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it).
---
-** The `save-place' variable is replaced by `save-place-mode'.
+** The way to turn on and off `save-place' mode has changed.
+It is no longer sufficient to load the saveplace library and set
+`save-place' non-nil. Instead, use the two new minor modes:
+`save-place-mode' turns on saving last place in every file, and
+`save-place-local-mode' does that only for the file in whose buffer it
+is invoked. The `save-place' variable is now an obsolete alias for
+`save-place-mode', which replaces it, and `toggle-save-place' is an
+obsolete alias for the new `save-place-local-mode' command.
** ERC
*** New command `package-install-selected-packages' installs all
packages from `package-selected-packages' which are currently missing.
+---
+*** `package-install' function now takes a DONT-SELECT argument. If
+this function is called interactively or if DONT-SELECT is nil, add the
+package being installed to `package-selected-packages'.
+
---
*** New command `package-autoremove' removes all packages which were
installed strictly as dependencies but are no longer needed.
** Search and Replace
-+++
-*** New user option `search-default-mode'
-specifies the default mode for I-search.
-
+++
*** `isearch' and `query-replace' can now perform character folding in matches.
Isearch does that by default, while `query-replace' will do that if
those composed of multiple characters, as well as many other symbols
like ℀, ℁, ⒜, and ⓐ.
+Character folding is enabled by customizing `search-default-mode' to
+the value `character-fold-to-regexp'. If you want to turn character
+folding off, customize the value of `search-default-mode' to the `nil'
+value. You can also toggle character folding in the middle of a
+search by typing `M-s ''.
+
++++
+*** New user option `search-default-mode'.
+This option specifies the default mode for Isearch. The default
+value, `character-fold-to-regexp' specifies that Isearch should fold
+characters when searching.
+
+++
*** New function `character-fold-to-regexp' can be used
by searching commands to produce a regexp matching anything that
textual parts of a web page and display only that, leaving menus and
the like off the page.
++++
+*** A new command `D' (`eww-toggle-paragraph-direction') allows you to
+toggle the paragraph direction between left-to-right and right-to-left.
+
---
*** Images that are being loaded are now marked with grey
"placeholder" images of the size specified by the HTML. They are then
*** Images inserted with `insert-image' and related functions get a
keymap put into the text properties (or overlays) that span the
image. This keymap binds keystrokes for manipulating size and
-rotation, as well as saving the image to a file.
+rotation, as well as saving the image to a file. These commands are
+also available in `image-mode'.
+++
*** A new library for creating and manipulating SVG images has been
details.
+++
-*** New functions to access and set image parameters are provided:
-`image-get-property' and `image-set-property'.
+*** New setf-able function to access and set image parameters is
+provided: `image-property'.
** Lisp mode
to specify that we're running in a noninteractive context, and that
we should not be queried about things like TLS certificate validity.
+---
+*** `url-mime-accept-string' can now be used as in "interface"
+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
outside Emacs (e.g., from the shell prompt), or if you switch the VC
back-end for the buffer's file, or remove it from version control.
+---
+*** The VC state indicator in the mode line now defaults to more
+colorful faces to make it more obvious to the user what the state is.
+See the `vc-faces' customization group.
+
+++
*** New option `vc-annotate-background-mode' controls whether
the color range from `vc-annotate-color-map' is applied to the
compression command is determined from the new
`dired-compress-files-alist' variable.
++++
+*** In wdired, when editing files to contain slash characters,
+the resulting directories are automatically created. Whether
+to do this or not is controlled by the
+`wdired-create-parent-directories' variable.
+
+++
*** `W' is now bound to `browse-url-of-dired-file', and is useful for
viewing HTML files and the like.
minibuffer instead of a graphical dialog, depending on whether the gpg
command is called from Emacs (i.e., INSIDE_EMACS environment variable
is set). This feature requires newer versions of GnuPG (2.1.5 or
-later) and Pinentry (0.9.5 or later).
+later) and Pinentry (0.9.5 or later). To use this feature, add
+"allow-emacs-pinentry" to "~/.gnupg/gpg-agent.conf" and reload the
+configuration with "gpgconf --reload gpg-agent".
+++
** cl-generic.el provides CLOS-style multiple-dispatch generic functions.
** Comint, term, and compile do not set the EMACS env var any more.
Use the INSIDE_EMACS environment variable instead.
+** `C-up', `C-down', `C-left' and `C-right' are now defined in term
+mode to send the same escape sequences that xterm does. This makes
+things like forward-word in readline work.
+
+---
+** hideshow mode got four key bindings that are analogous to outline
+mode bindings: `C-c @ C-a', `C-c @ C-t', `C-c @ C-d', and `C-c @ C-e.'
+
+++
** `save-excursion' does not save&restore the mark any more.
Use `save-mark-and-excursion' if you want the old behavior.
dynamically. Any third-party code that changes these templates should
be updated accordingly.
+** The grep/rgrep/lgrep functions will now ask about saving files
+before running. This is controlled by the `grep-save-buffers'
+variable.
+
+++
** ‘(/ N)’ is now equivalent to ‘(/ 1 N)’ rather than to ‘(/ N 1)’.
The new behavior is compatible with Common Lisp and with XEmacs.
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.
+---
+** The new command `fortune-message' has been added, which displays
+fortunes in the echo area.
+
+++
** define-inline provides a new way to define inlinable functions.
** New possible value for `system-type': `nacl'.
This is used by Google's Native Client (NaCl).
+---
+** `read-color' will now display the color names using the color itself
+as the background color.
+
+---
+** There is now a new variable `flyspell-sort-corrections-function'
+that allows changing the way corrections are sorted.
+
** Miscellaneous name change
---