]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Document 'ert-summarize-tests-batch-and-exit'
[gnu-emacs] / etc / NEWS
index 2b145762faa2a55ca9e33d56b661f91e4872111e..f1ba79f5b03a4d8472461881e718ea536a9093f3 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -114,31 +114,47 @@ and can contain escape sequences for command keys, quotes, and the like.
 \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
@@ -157,10 +173,16 @@ select-enable-primary is ineffective since the system doesn't
 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
@@ -181,43 +203,6 @@ for use in Emacs bug reports.
 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'.
 
@@ -289,6 +274,16 @@ fontification during full screen scrolling operations, giving less
 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
 
@@ -557,8 +552,8 @@ instrumented function.
 
 +++
 *** 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'
@@ -627,31 +622,37 @@ transformed into multipart/related messages before sending.
 ** 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
 
@@ -695,15 +696,26 @@ The remainder were:
 
 **** 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.
 
@@ -712,9 +724,11 @@ 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
@@ -868,6 +882,11 @@ easier binding, which is now unoccupied (`M-,').
 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',
@@ -1167,6 +1186,12 @@ that happen, `unhandled-file-name-directory' now defaults to calling
 \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'.
 
@@ -1209,6 +1234,9 @@ Area.  The output is still logged to the *Messages* buffer.
 ** 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.
@@ -1492,20 +1520,17 @@ fullwidth frames, the behavior may depend on the toolkit used.
 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.