* Installation Changes in Emacs 25.1
+++
-
** Building Emacs now requires C99 or later.
-** The variable `redisplay-dont-pause' is obsolete.
-
** Building Emacs now requires GNU make, version 3.81 or later.
-+++
-** `call-process-shell-command' and `process-file-shell-command'
-don't take "&rest args" any more.
-
** By default, Emacs no longer works on IRIX. We expect that Emacs
users are not affected by this, as SGI stopped supporting IRIX in
December 2013. If you are affected, please send a bug report. You
undumping code to GCC under IRIX, or by configuring --with-wide-int,
or by sticking with Emacs 24.4.
-** ERC
-
** 'configure' now prefers gnustep-config when configuring GNUstep.
If gnustep-config is not available, the old heuristics are used.
-+++
-*** New option `erc-rename-buffers'.
-
----
-*** New faces `erc-my-nick-prefix-face' and `erc-nick-prefix-face'.
-
-+++
-*** `erc-format-@nick' displays all user modes instead of only op and voice.
-
----
-*** The display of irc commands in the current buffer has been disabled.
-
---
-*** `erc-version' now follows the Emacs version.
-
-** Obsolete packages
-
----
-*** cc-compat.el
+** The configure option '--with-pkg-config-prog' has been removed.
+Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
---
-** The configure option `--with-pkg-config-prog' has been removed.
-Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
+** The configure option '--with-mmdf' has been removed.
+It was no longer useful, as it relied on libraries that are no longer
+supported, and its presence led to confusion during configuration.
+This affects only the 'movemail' utility; Emacs itself can still
+process MMDF-format files as before.
** The configure option '--enable-silent-rules' is now the default,
and silent rules are now quieter. To get the old behavior where
In particular, it now returns the average width of the font's
characters, which can be used for geometry-related calculations.
+** A new function `default-font-width' returns the average width of a
+character in the current buffer's default font. If the default face
+is remapped (see `face-remapping-alist'), the value for the remapped
+face is returned. This function complements the existing function
+`default-font-height'.
+
+** New functions `window-font-height' and `window-font-width' return
+the height and average width of characters in a specified face and
+window. If FACE is remapped (see `face-remapping-alist'), the
+function returns the information for the remapped face.
+
+** A new function `window-max-chars-per-line' returns the maximal
+number of characters that can be displayed on one line. If a face
+and/or window are provided, these values are used for the
+calculation. This function is different from `window-body-width' in
+that it accounts for (i) continuation glyphs, (ii) the size of the
+font, and (iii) the specified window.
+
\f
* Editing Changes in Emacs 25.1
+** Successive single-char deletions are collapsed in the undo-log just like
+successive char insertions.
+
** Unicode names entered via C-x 8 RET now use substring completion by default.
** New minor mode global-eldoc-mode is enabled by default.
** You can access `mouse-buffer-menu' (C-down-mouse-1) using C-f10.
++++
+** New buffer-local `electric-pair-local-mode'.
+
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
+** In xterms, killing text now also sets the CLIPBOARD/PRIMARY selection
+in the surrounding GUI (using the OSC-52 escape sequence).
+
+** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it).
+
** package.el
+*** Most functions which involve downloading information now take an
+ASYNC argument. If it is non-nil, package.el performs the download(s)
+asynchronously.
+
+*** New variable `package-menu-async' controls whether the
+package-menu uses asynchronous downloads.
+
*** `package-install-from-buffer' and `package-install-file' work on directories.
This follows the same rules as installing from a .tar file, except the
-pkg file is optional.
** EIEIO
++++
*** The `:protection' slot option is not obeyed any more.
++++
*** The `newname' argument to constructors is optional&deprecated.
If you need your objects to be named, do it by inheriting from `eieio-named'.
++++
*** The <class>-list-p and <class>-child-p functions are declared obsolete.
++++
*** The <class> variables are declared obsolete.
++++
*** The <initarg> variables are declared obsolete.
*** defgeneric and defmethod are declared obsolete.
++++
*** `constructor' is now an obsolete alias for `make-instance'.
** ido
transformed into multipart/related messages before sending.
** pcase
-*** New UPatterns `quote' and `app'.
+*** New UPatterns `quote', `app', `cl-struct', and `eieio'.
*** New UPatterns can be defined with `pcase-defmacro'.
+++
*** New vector QPattern.
** New ERT function `ert-summarize-tests-batch-and-exit'.
+** New js.el option `js-indent-first-init'.
+
---
** `Info-fontify-maximum-menu-size' can be t for no limit.
allow overriding the regular expression that recognizes the ldapsearch
command line's password prompt.
+** Eshell
+
+*** The new built-in command `clear' can scroll window contents out of sight.
+
+** Browse-url
+
+*** Support for the Conkeror web browser.
+
+---
+*** Support for several ancient browsers is now officially obsolete.
+
+++
** tar-mode: new `tar-new-entry' command, allowing for new members to
be added to the archive.
\f
* Incompatible Lisp Changes in Emacs 25.1
+** Comint, term, and compile do not set the EMACS env var any more.
+Use the INSIDE_EMACS environment variable instead.
+
+** `save-excursion' does not save&restore the mark any more.
+
+** read-buffer-function can now be called with a 4th argument (`predicate').
+
** completion-table-dynamic stays in the minibuffer.
If you want the old behavior of calling the function in the buffer
from which the minibuffer was entered, call it with the new argument
** `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'.
+
+++
** Mouse click events on mode line or header line no longer include
any reference to a buffer position. The 6th member of the mouse
\f
* Lisp Changes in Emacs 25.1
+** New process type `pipe', which can be used in combination with the
+`:stderr' keyword of make-process to handle standard error output
+of subprocess.
+
+** New function `make-process' provides an alternative interface to
+`start-process'. It allows programs to set process parameters such as
+process filter, sentinel, etc., through keyword arguments (similar to
+`make-network-process').
+
+** `read-buffer' takes a new `predicate' argument.
+
** Emacs Lisp now supports generators.
** New finalizer facility for running code when objects
** New function `set-binary-mode' allows to switch a standard stream
of the Emacs process to binary I/O mode.
+** Miscellaneous name change
+
+For consistency with the usual Emacs spelling, the Lisp variable
+`hfy-optimisations' has been renamed to `hfy-optimizations'.
+The old name should still work, as an obsolescent alias.
+
\f
* Changes in Frames and Windows Code in Emacs 25.1