You can narrow news to a specific version by calling `view-emacs-news'
with a prefix argument or by typing C-u C-h C-n.
-Temporary note:
-+++ indicates that all necessary documentation updates are complete.
- (This means all relevant manuals in doc/ AND lisp doc-strings.)
---- means no change in the manuals is needed.
-When you add a new item, use the appropriate mark if you are sure it applies,
-otherwise leave it unmarked.
-
\f
* Installation Changes in Emacs 25.1
+++
+
** Building Emacs now requires C99 or later.
+** The default value of `history-length' has increased to 100.
+
+** 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' no longer
+take "&rest args".
+
+** The option `browse-url-firefox-startup-arguments' no longer has an effect.
+
** 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 '--enable-silent-rules' and the command
-'make V=0' now do a better job of suppressing chatter.
+*** crisp.el (moved to elpa.gnu.org)
+
+** The configure option '--enable-silent-rules' is now the default,
+and silent rules are now quieter. To get the old behavior where
+'make' chatters a lot, configure with '--disable-silent-rules' or
+build with 'make V=1'.
+
+*** tpu-edt.el, ws-mode.el
+These emulations of old editors are believed to be no longer relevant
+ - contact emacs-devel@gnu.org if you disagree.
+
+---
+** The configure option '--with-gameuser' now allows 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
+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.
---
** The `grep-changelog' script (and its manual page) are no longer included.
It has no particular connection to Emacs and has not changed in years,
so if you want to use it, you can always take a copy from an older Emacs.
+*** vi.el, vip.el (try M-x viper instead)
+
\f
* Startup Changes in Emacs 25.1
\f
* Changes in Emacs 25.1
+** New command `comment-line' bound to `C-x C-;'.
+
** New function `custom-prompt-customize-unsaved-options' checks for
unsaved customizations and prompts user to customize (if found).
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
+** package.el
+*** `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.
+
+*** Packages which are dependencies of other packages cannot be deleted.
+The FORCE argument to `package-delete' overrides this.
+
+*** New custom variable `package-selected-packages' tracks packages
+which were installed by the user (as opposed to installed as
+dependencies). This variable can also be manually customized.
+
+*** New command `package-install-user-selected-packages' installs all
+packages from `package-selected-packages' which are currently missing.
+
+*** New command `package-autoremove' removes all packages which were
+installed strictly as dependencies but are no longer needed.
+
** Shell
When you invoke `shell' interactively, the *shell* buffer will now
** 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
*** 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
result of the calculation into the current buffer.
** ElDoc
-*** New minor mode global-eldoc-mode
-*** eldoc-documentation-function now defaults to nil
+*** New minor mode `global-eldoc-mode'
+*** `eldoc-documentation-function' now defaults to `ignore'
+*** `describe-char-eldoc' displays information about character at point,
+and can be used as a default value of `eldoc-documentation-function'. It is
+useful when, for example, one needs to distinguish various spaces (e.g. ] [,
+] [, ] [, etc.) while using mono-spaced font.
** eww
+---
+*** HTML can now be rendered using variable-width fonts.
+
++++
+*** A new command `F' (`eww-toggle-fonts') can be used to toggle
+whether to use variable-pitch fonts or not. The user can also
+customize the `shr-use-fonts' variable.
+
+++
*** A new command `R' (`eww-readable') will try do identify the main
textual parts of a web page and display only that, leaving menus and
*** Two new faces `compare-windows-removed' and `compare-windows-added'
replace the obsolete face `compare-windows'.
+** VHDL mode supports VHDL'08.
+
** Calculator: decimal display mode uses "," groups, so it's more
fitting for use in money calculations; factorial works with
non-integer inputs.
`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
`tags-apropos' and `tags-loop-continue'.
+** EUDC
+EUDC's LDAP backend has been improved.
+
+*** EUDC supports LDAP-over-SSL URLs (ldaps://).
+
+*** EUDC passes LDAP passwords through a pipe to the ldapsearch
+subprocess instead of on the command line.
+
+*** EUDC handles LDAP wildcards automatically so the user shouldn't
+need to configure this manually anymore.
+
+*** The LDAP configuration section of EUDC's manual has been
+rewritten.
+
+There have also been customization changes.
+
+*** New custom variable `eudc-server-hotlist' to allow specifying
+multiple EUDC servers in init file.
+
+*** Custom variable `eudc-inline-query-format' defaults to completing
+on email and firstname instead of surname.
+
+*** Custom variable `eudc-expansion-overwrites-query' defaults to nil
+to avoid interfering with the kill ring.
+
+*** Custom variable `eudc-inline-expansion-format' defaults to
+"Firstname Surname <mail-address>".
+
+*** New custom variable `ldap-ldapsearch-password-prompt-regexp' to
+allow overriding the regular expression that recognizes the ldapsearch
+command line's password prompt.
+
++++
+** tar-mode: new `tar-new-entry' command, allowing for new members to
+be added to the archive.
+
+** Autorevert: dired buffers are also auto-reverted via file
+notifications, if Emacs is compiled with file notification support.
+
** Obsolete packages
---
\f
* New Modes and Packages in Emacs 25.1
+** cl-generic.el provides CLOS-style multiple-dispatch generic functions.
+
** scss-mode (a minor variant of css-mode)
** let-alist is a new macro (and a package) that allows one to easily
let-bind the values stored in an alist.
+** `tildify-mode' allows to automatically insert hard spaces as one
+types the text. Breaking line after a single-character words is
+forbidden by Czech and Polish typography (and may be discouraged in
+other languages), so `auto-tildify-mode' makes it easier to create
+a typographically-correct documents.
\f
* Incompatible Lisp Changes in Emacs 25.1
These slots used to hold key-shortcut data, but have been obsolete since
Emacs-21.
+** Emacs no longer downcases the first letter of a system diagnostic
+when signaling a file error. For example, it now reports "Permission
+denied" instead of "permission denied". The old behavior was problematic
+in languages like German where downcasing rules depend on grammar.
+
++++
+** The character classes [:alpha:] and [:alnum:] in regular expressions
+now match multibyte characters using Unicode character properties.
+If you want the old behavior where they matched any character with
+word syntax, use `\sw' instead.
+
\f
* Lisp Changes in Emacs 25.1
+** Emacs Lisp now supports generators.
+
+** New finalizer facility for running code when objects
+ become unreachable.
+
+** 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.
** New function macroexpand-1 to perform a single step of macroexpansion.
undocumented integer-pair format. Instead, they return a list of two
integers.
++++
+** New function `set-binary-mode' allows to switch a standard stream
+of the Emacs process to binary I/O mode.
+
\f
* Changes in Frames and Windows Code in Emacs 25.1
`scroll-bar-height'.
+++
-** The height of a frame's menu and tool bar are no more counted in the
+** The height of a frame's menu and tool bar are no longer counted in the
frame's text height. This means that the text height stands only for
the height of the frame's root window plus that of the echo area (if
present). This was already the behavior for frames with external tool
or Windows Server 2003. The built binaries still run on all versions
of Windows starting with Windows 9X.
++++
+** Emacs running on MS-Windows now supports the daemon mode.
+
** OS X 10.5 or older is no longer supported.
** OS X on PowerPC is no longer supported.