undumping code to GCC under IRIX, or by configuring --with-wide-int,
or by sticking with Emacs 24.4.
+** The Emacs garbage collector assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
+The GC_MAKE_GCPROS_NOOPS stack-marking variant has been the default
+since Emacs 24.4, and the other variants were undocumented and were
+obstacles to maintenance and development. GC_MARK_STACK and its
+related symbols have been removed from the C internals.
+
** 'configure' now prefers gnustep-config when configuring GNUstep.
If gnustep-config is not available, the old heuristics are used.
\f
* Changes in Emacs 25.1
-** New display-buffer action function display-buffer-use-some-frame
+** `xref-find-definitions' and `describe-function' now display
+ information about mode local overrides (defined by
+ cedet/mode-local.el `define-overloadable-function' and
+ `define-mode-local-overrides').
+
+** New `display-buffer' action function `display-buffer-use-some-frame'
This displays the buffer in an existing frame other than the current
frame, and allows the caller to specify a frame predicate to exclude
frames.
** `isearch' and `query-replace' now perform character folding in matches.
This is analogous to case-folding, but applies between Unicode
-characters and their ASCII counterparts. This means many characters
+characters and their ASCII counterparts. This means many characters
will match entire groups of characters.
For instance, the " will match all variants of unicode double quotes
cousins, even those composed of multiple characters, as well as many
other symbols like ℀, ℁, ⒜, and ⓐ.
-** New function `character-folded-regexp' can be used
-by searching commands to produce a a regexp matching anything that
+** New function `character-fold-to-regexp' can be used
+by searching commands to produce a regexp matching anything that
character-folds into STRING.
** New command `checkdoc-package-keywords' checks if the
-current package keywords are recognized. Set the new option
+current package keywords are recognized. Set the new option
`checkdoc-package-keywords-flag' to non-nil to make
`checkdoc-current-buffer' call this function automatically.
** C-x 8 now has shorthands for these chars: ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″
€ № ← → ↔ − ≈ ≠ ≤ ≥. As before, you can type C-x 8 C-h to list shorthands.
-** New minor mode electric-quote-mode for quoting ‘like this’ and “like this”.
+** New minor mode electric-quote-mode for quoting ‘like this’ and “like this”
+as you type. See also the new variable ‘text-quoting-style’.
** New minor mode global-eldoc-mode is enabled by default.
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
+** You can recompute the VC state of a file buffer with `M-x vc-refresh-state'
** Prog mode has some support for multi-mode indentation.
See `prog-indentation-context' and `prog-widen'.
** ERC
-*** Hide message types by network or channel. `erc-hide-list' will
+*** Hide message types by network or channel. `erc-hide-list' will
hide all messages of the specified type, where `erc-network-hide-list'
and `erc-channel-hide-list' will only hide the specified message types
for the respective specified targets.
*** If a package is available on multiple archives and one has higher
priority (as per `package-archive-priorities') only that one is
-listed. This can be configured with `package-menu-hide-low-priority'.
+listed. This can be configured with `package-menu-hide-low-priority'.
*** `package-menu-toggle-hiding' now toggles the hiding of packages.
This includes the above-mentioned low-priority packages, as well as
*** 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.
+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.
** seq
*** New seq library:
The seq library adds sequence manipulation functions and macros that
-complement basic functions provided by subr.el. All functions are
+complement basic functions provided by subr.el. All functions are
prefixed with `seq-' and work on lists, strings and vectors.
** map
interactive macro evaluation and automatic scanning of #defined symbols.
*** New custom variable `hide-ifdef-header-regexp' to define C/C++ header file
-name patterns. Default case-insensitive .h, .hh, .hpp and .hxx.
+name patterns. Default case-insensitive .h, .hh, .hpp, .hxx, and .h++.
*** New custom variable `hide-ifdef-expand-reinclusion-protection' to prevent
reinclusion protected header files from being fully hidden.
*** New custom variable `hide-ifdef-exclude-define-regexp' to define symbol
-name patterns (e.x. all "FOR_DOXYGEN_ONLY_*") to be excluded.
+name patterns (e.g. all "FOR_DOXYGEN_ONLY_*") to be excluded.
** TeX mode
denied" instead of "permission denied". The old behavior was problematic
in languages like German where downcasing rules depend on grammar.
++++
+** New variable ‘text-quoting-style’ to control how Emacs translates quotes.
+Set it to ‘curve’ for curved single quotes ‘like this’, to ‘straight’
+for straight apostrophes 'like this', and to ‘grave’ for grave accent
+and apostrophe `like this'. The default value nil acts like ‘curve’
+if curved single quotes are displayable, and like ‘grave’ otherwise.
+The new variable affects display of diagnostics and help, but not of info.
+
+++
** substitute-command-keys now replaces quotes.
-That is, it converts documentation strings' quoting style as per the
+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 quotes or grave accent and apostrophe. As before,
-isolated apostrophes and characters preceded by \= are output as-is.
+either curved single quotes or grave accents and apostrophes. As
+before, characters preceded by \= are output as-is.
+++
** Message-issuing functions ‘error’, ‘message’, etc. now convert quotes.
They use the new ‘format-message’ function instead of plain ‘format’,
-so that they now follow user preference as per ‘text-quoting-style’ if
-their format argument contains curved quotes.
+so that they now follow user preference as per ‘text-quoting-style’
+when processing curved single quotes, grave accents, and apostrophes
+in their format argument.
+++
** The character classes [:alpha:] and [:alnum:] in regular expressions
\f
* Lisp Changes in Emacs 25.1
+** New hooks prefix-command-echo-keystrokes-functions and
+prefix-command-preserve-state-hook, to allow the definition of prefix
+commands other than the predefined C-u.
+
** New functions `filepos-to-bufferpos' and `bufferpos-to-filepos'.
** The default value of `load-read-function' is now `read'.
+++
** New function ‘format-message’ is like ‘format’ and also converts
-curved quotes as per ‘text-quoting-style’.
-
-+++
-** New ‘format’ flag ‘q’
-The new ‘q’ flag causes ‘format’ to quote the output representation as
-per the value of ‘text-quoting-style’. E.g., (format "%qs failed"
-"foo") might return "‘foo’ failed".
+curved single quotes, grave accents and apostrophes as per
+‘text-quoting-style’.
+++
** show-help-function's arg is converted via substitute-command-keys
** New function `set-binary-mode' allows to switch a standard stream
of the Emacs process to binary I/O mode.
-** In locales that cannot display curved quotes, ASCII approximations
-are installed in standard-display-table.
+** ASCII approximations to curved quotes are put in standard-display-table
+if the locale cannot display curved quotes, or if text-quoting-style
+initially specifies a preference for ASCII.
** Standard output and error streams now transliterate characters via
standard-display-table, and encode output using locale-coding-system.