]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Document 'comment-line'
[gnu-emacs] / etc / NEWS
index 0dbfd3f40229c35996c0485916a17f94ea11fc64..c783ec18f36e1f1989a39736c026fce7b1826254 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -28,11 +28,18 @@ otherwise leave it unmarked.
 +++
 ** Building Emacs now requires C99 or later.
 
++++
 ** Building Emacs now requires GNU make, version 3.81 or later.
 
++++
 ** New configure option --with-cairo.
-Maybe add text based on http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00689.html
+This builds Emacs with Cairo drawing.  As a side effect, it provides
+support for built-in printing, when Emacs was built with GTK+.
 
+** New configure option --with-modules.
+This enables support for loading dynamic modules; see below.
+
+---
 ** 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
@@ -40,12 +47,14 @@ should be able to work around the problem either by porting the Emacs
 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.
 
@@ -64,6 +73,7 @@ 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
 'make' chatters a lot, configure with '--disable-silent-rules' or
@@ -81,6 +91,7 @@ be installed setgid.  The option now defaults to the 'games' group.
 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.
 
+---
 ** Emacs 25 comes with a new set of icons.
 Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png.
 The old Emacs logo icons are available as `emacs23.png' in the same location.
@@ -103,44 +114,26 @@ 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.
+
+---
 ** `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').
+information about mode local overrides (defined by cedet/mode-local.el
+`define-overloadable-function' `define-mode-local-overrides').
 
-** New `display-buffer' action function `display-buffer-use-some-frame'
++++
+** 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 doc command `describe-symbol'.  Works for functions, vars, faces, etc...
-
-** New user option `search-default-regexp-mode' specifies the default mode for isearch
-
-** `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
-will match entire groups of characters.
-
-For instance, the " will match all variants of unicode double quotes
-(like “ and ”), and the letter a will match all of its accented
-cousins, even those composed of multiple characters, as well as many
-other symbols like ℀, ℁, ⒜, and ⓐ.
-
-** 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
-`checkdoc-package-keywords-flag' to non-nil to make
-`checkdoc-current-buffer' call this function automatically.
-
-** New function `checkdoc-file' checks for style errors.
-It's meant for use together with `compile':
-emacs -batch --eval "(checkdoc-file \"subr.el\")"
-
-** New command `comment-line' bound to `C-x C-;'.
++++
+** 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).
@@ -152,10 +145,6 @@ the `network-security-level' variable.
 
 ** C-h l now also lists the commands that were run.
 
----
-** The new M-s M-w key binding uses eww to search the web for the
-text in the region.
-
 ** M-x suggests shorthands and ignores obsolete commands for completion.
 ** x-select-enable-clipboard is renamed select-enable-clipboard.
 x-select-enable-primary and renamed select-enable-primary.
@@ -282,12 +271,54 @@ header.
 which specifies an alternative printing method which is faster when
 few or no entries have changed.
 
+** 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-ptr-p' returns non-nil if its argument is a `usr-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'.
+
 \f
 * Editing Changes in Emacs 25.1
 
 ** Successive single-char deletions are collapsed in the undo-log just like
 successive char insertions.
 
++++
+** New command `comment-line' bound to `C-x C-;'.
+
 ** Unicode names entered via C-x 8 RET now use substring completion by default.
 
 ** C-x 8 now has shorthands for these chars: ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″
@@ -321,10 +352,31 @@ standards.
 \f
 * Changes in Specialized Modes and Packages in Emacs 25.1
 
+** Checkdoc
+
++++
+*** New command `checkdoc-package-keywords' checks if the
+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.
+
++++
+*** New function `checkdoc-file' checks for style errors.
+It's meant for use together with `compile':
+emacs -batch --eval "(checkdoc-file \"subr.el\")"
+
+** New function `bookmark-set-no-overwrite' bound to C-x r M.
+It raises an error if a bookmark of that name already exists,
+unlike `bookmark-set' which silently updates an existing bookmark.
+
 ** JSON
 ---
 *** `json-pretty-print' and `json-pretty-print-buffer' now maintain
 the ordering of object keys by default.
+---
+*** New commands `json-pretty-print-ordered' and
+`json-pretty-print-buffer-ordered' pretty prints JSON objects with
+object keys sorted alphabetically.
 
 ** 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.
@@ -462,6 +514,36 @@ element.  The new commands bound to <up> and <down> in the minibuffer:
 
 ** Search and Replace
 
++++
+*** New user option `search-default-regexp-mode'
+specifies the default mode for I-search.
+
++++
+*** `isearch' and `query-replace' can now perform character folding in matches.
+Isearch does that by default, while `query-replace' will do that if
+the new variable `replace-character-fold' is customized to a non-nil
+value.  This is analogous to case folding, but instead of disregarding
+case variants, it disregards wider classes of distinctions between
+similar characters.  (Case folding is a special case of character
+folding.)  This means many characters in the search string will match
+entire groups of characters instead of just themselves.
+
+For instance, the " will match all variants of double quotes (like “
+and ”), and the letter a will match all of its accented cousins, even
+those composed of multiple characters, as well as many other symbols
+like ℀, ℁, ⒜, and ⓐ.
+
++++
+*** New function `character-fold-to-regexp' can be used
+by searching commands to produce a regexp matching anything that
+character-folds into STRING.
+
++++
+*** The new M-s M-w key binding uses eww to search the web for the
+text in the region.  The search engine to use for this is specified by
+the customizable variable `eww-search-prefix'.
+
++++
 *** Query-replace history is enhanced.
 When query-replace reads the FROM string from the minibuffer, typing
 `M-p' will now show previous replacements as "FROM SEP TO", where FROM
@@ -814,6 +896,8 @@ to avoid interfering with the kill ring.
 allow overriding the regular expression that recognizes the ldapsearch
 command line's password prompt.
 
+EUDC's BBDB backend now supports BBDB 3.
+
 ** Eshell
 
 +++
@@ -911,9 +995,18 @@ alists, hash-table and arrays.  All functions are prefixed with
 ** The `thunk' library provides functions and macros to control the
 evaluation of forms.
 
+** js-jsx-mode (a minor variant of js-mode) provides indentation
+support for JSX, an XML-like syntax extension to ECMAScript.
+
 \f
 * Incompatible Lisp Changes in Emacs 25.1
 
+---
+** `setq' and `setf' must now be called with an even number of
+arguments.  The earlier behavior of silently supplying a nil to the
+last variable when there was an odd number of arguments has been
+eliminated.
+
 ** `syntax-begin-function' is declared obsolete.
 Removed font-lock-beginning-of-syntax-function and the SYNTAX-BEGIN
 slot in font-lock-defaults.