\f
* Changes in Emacs 25.1
-+++
-** Any file of the form .dir-locals*.el is now considered a dir-local
-file, and multiple such files can be used in the same directory. See
-the variable `dir-locals-file' for more information.
+** Emacs can now load shared/dynamic libraries (modules).
+A dynamic Emacs module is a shared library that provides additional
+functionality for use in Emacs Lisp programs, just like a package
+written in Emacs Lisp would. The functions `load', `require',
+`load-file', etc. were extended to load such modules, as they do with
+Emacs Lisp packages. The new variable `module-file-suffix' holds the
+system-dependent value of the file-name extension (`.so' on Posix
+hosts) of the module files.
----
-** `xref-find-definitions' and `describe-function' now display
-information about mode local overrides (defined by cedet/mode-local.el
-`define-overloadable-function' `define-mode-local-overrides').
+A module should export a C-callable function named
+`emacs_module_init', which Emacs will call as part of the call to
+`load' or `require' which loads the module. It should also export a
+symbol named `plugin_is_GPL_compatible' to indicate that its code is
+released under the GPL or compatible license; Emacs will refuse to
+load modules that don't export such a symbol.
-+++
-** 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.
+If a module needs to call Emacs functions, it should do so through the
+API defined and documented in the header file `emacs-module.h'. Note
+that any module that provides Lisp-callable functions will have to use
+Emacs functions such as `fset' and `funcall', in order to register its
+functions with the Emacs Lisp interpreter.
-+++
-** New documentation command `describe-symbol'.
-Works for functions, variables, faces, etc. It is bound to `C-h o' by
-default.
+Modules can create `user-ptr' Lisp objects that embed pointers to C
+struct's defined by the module. This is useful for keeping around
+complex data structures created by a module, to be passed back to the
+module's functions. User-ptr objects can also have associated
+"finalizers" -- functions to be run when the object is GC'ed; this is
+useful for freeing any resources allocated for the underlying data
+structure, such as memory, open file descriptors, etc. A new
+predicate `user-ptrp' returns non-nil if its argument is a `user-ptr'
+object.
+
+Loadable modules in Emacs are an experimental feature, and subject to
+change in future releases. For that reason, their support is disabled
+by default, and must be enabled by using the `--with-modules' option
+at configure time.
+++
-** New function `custom-prompt-customize-unsaved-options' checks for
-unsaved customizations and prompts user to customize (if found). It
-is intended for adding to 'kill-emacs-query-functions'.
+** Any file of the form .dir-locals*.el is now considered a dir-local
+file, and multiple such files can be used in the same directory. See
+the variable `dir-locals-file' for more information.
+++
** Network security (TLS/SSL certificate validity and the like) is
have the equivalent of a primary selection.
+++
-** terpri gets an optional arg ENSURE to conditionally output a newline.
+** New option `switch-to-buffer-in-dedicated-window' allows to customize
+how `switch-to-buffer' proceeds interactively when the selected window
+is strongly dedicated to its buffer.
+++
-** New macro `define-advice'.
+** The option `even-window-heights' has been renamed to
+`even-window-sizes' and now handles window widths as well.
+
++++
+** terpri gets an optional arg ENSURE to conditionally output a newline.
+++
** `insert-register' now leaves point after the inserted text
hiding character but the default `.' can be used by let-binding the
variable `read-hide-char'.
-** Emacs can now load shared/dynamic libraries (modules).
-A dynamic Emacs module is a shared library that provides additional
-functionality for use in Emacs Lisp programs, just like a package
-written in Emacs Lisp would. The functions `load', `require',
-`load-file', etc. were extended to load such modules, as they do with
-Emacs Lisp packages. The new variable `module-file-suffix' holds the
-system-dependent value of the file-name extension (`.so' on Posix
-hosts) of the module files.
-
-A module should export a C-callable function named
-`emacs_module_init', which Emacs will call as part of the call to
-`load' or `require' which loads the module. It should also export a
-symbol named `plugin_is_GPL_compatible' to indicate that its code is
-released under the GPL or compatible license; Emacs will refuse to
-load modules that don't export such a symbol.
-
-If a module needs to call Emacs functions, it should do so through the
-API defined and documented in the header file `emacs-module.h'. Note
-that any module that provides Lisp-callable functions will have to use
-Emacs functions such as `fset' and `funcall', in order to register its
-functions with the Emacs Lisp interpreter.
-
-Modules can create `user-ptr' Lisp objects that embed pointers to C
-struct's defined by the module. This is useful for keeping around
-complex data structures created by a module, to be passed back to the
-module's functions. User-ptr objects can also have associated
-"finalizers" -- functions to be run when the object is GC'ed; this is
-useful for freeing any resources allocated for the underlying data
-structure, such as memory, open file descriptors, etc. A new
-predicate `user-ptrp' returns non-nil if its argument is a `user-ptr'
-object.
-
-Loadable modules in Emacs are an experimental feature, and subject to
-change in future releases. For that reason, their support is disabled
-by default, and must be enabled by using the `--with-modules' option
-at configure time.
-
---
** New input method: `tamil-dvorak'.
hesitant operation during auto-repeat of C-v, M-v at the cost of
possible inaccuracies in the end position.
++++
+** New documentation command `describe-symbol'.
+Works for functions, variables, faces, etc. It is bound to `C-h o' by
+default.
+
++++
+** New function `custom-prompt-customize-unsaved-options' checks for
+unsaved customizations and prompts user to customize (if found). It
+is intended for adding to 'kill-emacs-query-functions'.
+
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
+++
*** New minor mode `global-eldoc-mode'
-It is turned on by default, and turns on `eldoc-mode' in `*scratch*'
-and other buffers whose major mode supports Emacs Lisp.
+It is turned on by default, and affects `*scratch*' and other buffers
+whose major mode supports Emacs Lisp.
---
*** `eldoc-documentation-function' now defaults to `ignore'
** In Show Paren Mode, a parenthesis can be highlighted when point
stands inside it, and certain parens can be highlighted when point is
at BOL or EOL, or in whitespace there. To enable these, customize,
-respectively, show-paren-when-point-inside-paren or
-show-paren-when-point-in-periphery.
-
-** pcase
-*** New UPatterns `quote', `app', `cl-struct', and `eieio'.
-*** New UPatterns can be defined with `pcase-defmacro'.
-+++
-*** New vector QPattern.
+respectively, `show-paren-when-point-inside-paren' or
+`show-paren-when-point-in-periphery'.
** Lisp mode
*** Strings after `:documentation' are highlighted as docstrings.
** Rectangle editing
+
++++
*** Rectangle Mark mode can have corners past EOL or in the middle of a TAB.
+
++++
*** C-x C-x in rectangle-mark-mode now cycles through the four corners.
*** `string-rectangle' provides on-the-fly preview of the result.
-** New font-lock functions font-lock-ensure and font-lock-flush, which
-should be used instead of font-lock-fontify-buffer when called from Elisp.
++++
+** New font-lock functions `font-lock-ensure' and `font-lock-flush'.
+These should be used in preference to `font-lock-fontify-buffer' when
+called from Lisp.
+
+---
+** Macro `minibuffer-with-setup-hook' can optionally append a function
+to `minibuffer-setup-hook'.
-** Macro `minibuffer-with-setup-hook' takes (:append FUN) to mean
-appending FUN to `minibuffer-setup-hook'.
+If the first argument of the macro is of the form `(:append FUN)',
+then FUN will be appended to `minibuffer-setup-hook', instead of
+prepending it.
** cl-lib
-*** New functions cl-fresh-line, cl-digit-char-p and cl-parse-integer.
++++
+*** New functions `cl-fresh-line', `cl-digit-char-p', and `cl-parse-integer'.
** Calendar and diary
**** The nil and list forms of `diary-display-function'.
++++
** New ERT function `ert-summarize-tests-batch-and-exit'.
+If the output of ERT tests in batch mode execution can be saved to a
+log file, then it can be passed as an argument to the above function
+to produce a neat summary.
** New js.el option `js-indent-first-init'.
+** Info
+
+---
+** Info mode now displays symbol names in fixed-pitch font.
+If you want to get the old behavior back, customize the `Info-quoted'
+face to use the same definitions as the default face.
+
---
-** `Info-fontify-maximum-menu-size' can be t for no limit.
+*** `Info-fontify-maximum-menu-size' can be t for no limit.
+++
-** `info-display-manual' can now be given a prefix argument which (any
+*** `info-display-manual' can now be given a prefix argument which (any
non-nil value) directs the command to limit the completion
alternatives to currently visited manuals.
** Rmail
-*** The Rmail commands d, C-d and u take optional repeat counts to delete or
-undelete multiple messages.
++++
+*** The Rmail commands `d', `C-d' and `u' take optional repeat counts
+to delete or undelete multiple messages.
++++
*** Rmail can now render HTML mail messages if your Emacs was built with
libxml2 or if you have the Lynx browser installed. By default, Rmail
will display the HTML version of a mail message that has both HTML and
alias for a private variable. `xref-push-marker-stack' and
`xref-pop-marker-stack' should be used to mutate it instead.
+---
+*** `xref-find-definitions' and `describe-function' now display
+information about mode local overrides (defined by cedet/mode-local.el
+`define-overloadable-function' `define-mode-local-overrides').
+
** etags
As a result of the above, these commands are now obsolete:
`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
\f
* Lisp Changes in Emacs 25.1
+** pcase
+*** New UPatterns `quote', `app', `cl-struct', `eieio', `seq', and `map'.
+*** New UPatterns can be defined with `pcase-defmacro'.
++++
+*** New vector QPattern.
+
** syntax-propertize is now automatically called on-demand during forward
parsing functions like `forward-sexp'.
** A new text property `inhibit-read-only' can be used in read-only
buffers to allow certain parts of the text to be writable.
++++
+** New macro `define-advice'.
+
** `read-buffer' takes a new `predicate' argument.
** Emacs Lisp now supports generators.
windows without "fixing" it. It's supported by `fit-window-to-buffer',
`temp-buffer-resize-mode' and `display-buffer'.
++++
+** 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.
+
+++
** New minor mode `window-divider-mode' and options
`window-divider-default-places', `window-divider-default-bottom-width'
and `window-divider-default-right-width'.
-+++
-** New option `switch-to-buffer-in-dedicated-window' allows to customize
-how `switch-to-buffer' proceeds interactively when the selected window
-is strongly dedicated to its buffer.
-
-+++
-** The option `even-window-heights' has been renamed to
-`even-window-sizes' and now handles window widths as well.
-
** Tearoff menus and detachable toolbars for Gtk+ has been removed.
Those features have been deprecated in Gtk+ for a long time.