]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Amend parse-partial-sexp correctly to handle two character comment delimiters
[gnu-emacs] / etc / NEWS
index 04c1ee83aba2df94007242bb6f4f8286d73d84e5..ea32153942671e6d7e88e4b7943fd03def2a416a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -25,12 +25,43 @@ otherwise leave it unmarked.
 \f
 * Installation Changes in Emacs 25.2
 
++++
+** New configure option ‘--disable-build-details’ attempts to build an
+Emacs that is more likely to be reproducible; that is, if you build
+and install Emacs twice, the second Emacs is a copy of the first.
+Deterministic builds omit the build date from the output of the
+emacs-version and erc-cmd-SV functions, and the leave the following
+variables nil: emacs-build-system, emacs-build-time,
+erc-emacs-build-time.
+
+** Emacs no longer works on IRIX.  We expect that Emacs users are not
+affected by this, as SGI stopped supporting IRIX in December 2013.
+
 \f
 * Startup Changes in Emacs 25.2
 
 \f
 * Changes in Emacs 25.2
 
++++
+** A number of accessors for the value returned by `file-attributes'
+has been added.  They are: `file-attribute-type',
+`file-attribute-link-number', `file-attribute-user-id',
+`file-attribute-group-id', `file-attribute-access-time',
+`file-attribute-modification-time',
+`file-attribute-status-change-time', `file-attribute-size',
+`file-attribute-modes', `file-attribute-inode-number', and
+`file-attribute-device-number'
+
+---
+** The locale language name `ca' is now mapped to the language
+environment `Catalan', which has been added.
+
+---
+** `align-regexp' has a separate history for its interactive argument
+`align-regexp' no longer shares its history with all other
+history-less functions that use `read-string'
+
 +++
 ** The networking code has been reworked so that it's more
 asynchronous than it was (when specifying :nowait t in
@@ -47,6 +78,11 @@ to deal with asynchronous sockets is to avoid interacting with them
 until they have changed status to "run".  This is most easily done
 from a process sentinel.
 
+** ‘make-network-process’ and ‘open-network-stream’ sometimes allowed
+:service to be an integer string (e.g., :service "993") and sometimes
+required an integer (e.g., :service 993).  This difference has been
+eliminated, and integer strings work everywhere.
+
 ** It is possible to disable attempted recovery on fatal signals
 
 Two new variables allow to disable attempts to recover from stack
@@ -73,6 +109,10 @@ in these situations.
 +++
 *** A new `s' command for switching to another eww buffer via the minibuffer.
 
+---
+*** The `o' command (`shr-save-contents') has moved to `O' to avoid collision
+with the `o' command from `image-map'.
+
 +++
 ** The commands that add ChangeLog entries now prefer a VCS root directory
 for the ChangeLog file, if none already exists.  Customize
@@ -90,12 +130,19 @@ different group ID.
 +++
 *** New connection method "doas" for OpenBSD hosts.
 
+---
+** `auto-revert-use-notify' is set back to t in `global-auto-revert-mode'.
+
 \f
 * New Modes and Packages in Emacs 25.2
 
 \f
 * Incompatible Lisp Changes in Emacs 25.2
 
++++
+** Resizing a frame no longer runs `window-configuration-change-hook'.
+Put your function on `window-size-change-functions' instead.
+
 \f
 * Lisp Changes in Emacs 25.2
 
@@ -103,13 +150,55 @@ different group ID.
 
 ** Autoload files can be generated without timestamps,
 by setting `autoload-timestamps' to nil.
+FIXME As an experiment, nil is the current default.
+If no insurmountable problems before next release, it can stay that way.
 
 ** `ert-with-function-mocked' of 'ert-x package allows mocking of functions
 in unit tests.
 
+---
+** `gnutls-boot' now takes a parameter :complete-negotiation that says
+that negotiation should complete even on non-blocking sockets.
+
++++
+** New functions `window-pixel-width-before-size-change' and
+`window-pixel-height-before-size-change' allow to detect which window
+changed size when `window-size-change-functions' are run.
+
++++
+** New function `display-buffer-reuse-mode-window' is an action function
+suitable for use in `display-buffer-alist'. For example, to avoid creating
+a new window when opening man pages when there's already one, use
+(add-to-list 'display-buffer-alist
+     '("\\`\\*Man .*\\*\\'" .
+       (display-buffer-reuse-mode-window
+        (inhibit-same-window . nil)
+        (mode . Man-mode))))
+
++++
+** `parse-partial-sexp' state has a new element.  Element 10 is
+non-nil when the last character scanned might be the first character
+of a two character construct, i.e. a comment delimiter or escaped
+character.  Its value is the syntax of that last character.
+
++++
+** `parse-partial-sexp''s state, element 9, has now been confirmed as
+permanent and documented, and may be used by Lisp programs.  Its value
+is a list of currently open parenthesis positions, starting with the
+outermost parenthesis.
+
 \f
 * Changes in Emacs 25.2 on Non-Free Operating Systems
 
+** Intercepting hotkeys on Windows 7 and later now works better.
+The new keyboard hooking code properly grabs system hotkeys such as
+Win-* and Alt-TAB, in a way that Emacs can get at them before the
+system.  This makes the `w32-register-hot-key' functionality work
+again on all versions of MS-Windows starting with Windows 7.  On
+Windows NT and later you can now register any hotkey combination.  (On
+Windows 9X, the previous limitations, spelled out in the Emacs manual,
+still apply.)
+
 \f
 * Installation Changes in Emacs 25.1
 
@@ -426,6 +515,11 @@ is intended for adding to 'kill-emacs-query-functions'.
 in favor of the global `M-s h' bindings introduced in Emacs-23.1.
 They'll disappear soon.
 
++++
+** New bindings for 'query-replace-map'.
+`undo', undo the last replacement; bound to `u'.
+`undo-all', undo all replacements; bound to `U'.
+
 \f
 * Changes in Specialized Modes and Packages in Emacs 25.1
 
@@ -539,7 +633,14 @@ additionally need to add `getSelection' to `xterm-extra-capabilities'.
 *** `xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it).
 
 ---
-** The `save-place' variable is replaced by `save-place-mode'.
+** The way to turn on and off `save-place' mode has changed.
+It is no longer sufficient to load the saveplace library and set
+`save-place' non-nil.  Instead, use the two new minor modes:
+`save-place-mode' turns on saving last place in every file, and
+`save-place-local-mode' does that only for the file in whose buffer it
+is invoked.  The `save-place' variable is now an obsolete alias for
+`save-place-mode', which replaces it, and `toggle-save-place' is an
+obsolete alias for the new `save-place-local-mode' command.
 
 ** ERC
 
@@ -653,6 +754,11 @@ dependencies).  This variable can also be manually customized.
 *** New command `package-install-selected-packages' installs all
 packages from `package-selected-packages' which are currently missing.
 
+---
+*** `package-install' function now takes a DONT-SELECT argument.  If
+this function is called interactively or if DONT-SELECT is nil, add the
+package being installed to `package-selected-packages'.
+
 ---
 *** New command `package-autoremove' removes all packages which were
 installed strictly as dependencies but are no longer needed.
@@ -714,30 +820,30 @@ item as before.
 
 +++
 *** `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 ⓐ.
+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 ASCII double quote character " 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 ⓐ.
 
 Character folding is enabled by customizing `search-default-mode' to
-the value `character-fold-to-regexp'.  If you want to turn character
-folding off, customize the value of `search-default-mode' to the `nil'
-value.  You can also toggle character folding in the middle of a
-search by typing `M-s ''.
+the value `character-fold-to-regexp'.  You can also toggle character
+folding in the middle of a search by typing `M-s ''.
+
+`query-replace' honors character folding if the new variable
+`replace-character-fold' is customized to a non-nil value.
 
 +++
 *** New user option `search-default-mode'.
 This option specifies the default mode for Isearch.  The default
-value, `character-fold-to-regexp' specifies that Isearch should fold
-characters when searching.
+value, nil specifies that Isearch does literal searches (however,
+`case-fold-search' and `isearch-lax-whitespace' may still be applied,
+as in previous Emacs versions).
 
 +++
 *** New function `character-fold-to-regexp' can be used
@@ -805,6 +911,10 @@ customize the `shr-use-colors' variable.
 textual parts of a web page and display only that, leaving menus and
 the like off the page.
 
++++
+*** A new command `D' (`eww-toggle-paragraph-direction') allows you to
+toggle the paragraph direction between left-to-right and right-to-left.
+
 ---
 *** Images that are being loaded are now marked with grey
 "placeholder" images of the size specified by the HTML.  They are then
@@ -884,7 +994,8 @@ in question).
 *** Images inserted with `insert-image' and related functions get a
 keymap put into the text properties (or overlays) that span the
 image.  This keymap binds keystrokes for manipulating size and
-rotation, as well as saving the image to a file.
+rotation, as well as saving the image to a file.  These commands are
+also available in `image-mode'.
 
 +++
 *** A new library for creating and manipulating SVG images has been
@@ -1062,6 +1173,10 @@ a function.
 to specify that we're running in a noninteractive context, and that
 we should not be queried about things like TLS certificate validity.
 
+---
+*** `url-mime-accept-string' can now be used as in "interface"
+variable, meaning you can bind it around an `url-retrieve' call.
+
 ---
 *** If URL is used with a https connection, the first callback argument
 plist will contain a :peer element that has the output of
@@ -1121,6 +1236,11 @@ This command is useful when you perform version control commands
 outside Emacs (e.g., from the shell prompt), or if you switch the VC
 back-end for the buffer's file, or remove it from version control.
 
+---
+*** The VC state indicator in the mode line now defaults to more
+colorful faces to make it more obvious to the user what the state is.
+See the `vc-faces' customization group.
+
 +++
 *** New option `vc-annotate-background-mode' controls whether
 the color range from `vc-annotate-color-map' is applied to the
@@ -1362,9 +1482,15 @@ make the new option `eshell-destroy-buffer-when-process-dies' non-nil.
 ** tar-mode: new `tar-new-entry' command, allowing for new members to
 be added to the archive.
 
+** Autorevert
+
 ---
-** Autorevert: dired buffers are also auto-reverted via file
-notifications, if Emacs is compiled with file notification support.
+*** Dired buffers are also auto-reverted via file notifications, if
+Emacs is compiled with file notification support.
+
+---
+*** `auto-revert-use-notify' is set to nil in `global-auto-revert-mode'.
+See <http://debbugs.gnu.org/22814>.
 
 ** File Notifications
 
@@ -1391,6 +1517,12 @@ compress many marked files into a single named archive.  The
 compression command is determined from the new
 `dired-compress-files-alist' variable.
 
++++
+*** In wdired, when editing files to contain slash characters,
+the resulting directories are automatically created.  Whether
+to do this or not is controlled by the
+`wdired-create-parent-directories' variable.
+
 +++
 *** `W' is now bound to `browse-url-of-dired-file', and is useful for
 viewing HTML files and the like.
@@ -1529,6 +1661,14 @@ symbol-function was changed not to signal `void-function' any more.
 ** Comint, term, and compile do not set the EMACS env var any more.
 Use the INSIDE_EMACS environment variable instead.
 
+** `C-up', `C-down', `C-left' and `C-right' are now defined in term
+mode to send the same escape sequences that xterm does.  This makes
+things like forward-word in readline work.
+
+---
+** hideshow mode got four key bindings that are analogous to outline
+mode bindings: `C-c @ C-a',  `C-c @ C-t',  `C-c @ C-d', and `C-c @ C-e.'
+
 +++
 ** `save-excursion' does not save&restore the mark any more.
 Use `save-mark-and-excursion' if you want the old behavior.
@@ -1623,6 +1763,10 @@ behavior, set `diff-switches' to `-c'.
 dynamically.  Any third-party code that changes these templates should
 be updated accordingly.
 
+** The grep/rgrep/lgrep functions will now ask about saving files
+before running.  This is controlled by the `grep-save-buffers'
+variable.
+
 +++
 ** ‘(/ N)’ is now equivalent to ‘(/ 1 N)’ rather than to ‘(/ N 1)’.
 The new behavior is compatible with Common Lisp and with XEmacs.
@@ -1728,6 +1872,10 @@ details.
 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.
 
+---
+** The new command `fortune-message' has been added, which displays
+fortunes in the echo area.
+
 +++
 ** define-inline provides a new way to define inlinable functions.
 
@@ -1949,6 +2097,14 @@ coding-system of your choice when invoking functions like `prin1' and
 ** New possible value for `system-type': `nacl'.
 This is used by Google's Native Client (NaCl).
 
+---
+** `read-color' will now display the color names using the color itself
+as the background color.
+
+---
+** There is now a new variable `flyspell-sort-corrections-function'
+that allows changing the way corrections are sorted.
+
 ** Miscellaneous name change
 
 ---
@@ -2056,7 +2212,7 @@ Those features have been deprecated in Gtk+ for a long time.
 +++
 *** etags no longer qualifies class members by default.
 
-By default, `etags' will not qualify class members for C-like
+By default, `etags' will not qualify class members for Perl and C-like
 object-oriented languages with their class names and namespaces, and
 will remove qualifications used explicitly in the code from the tag
 names it puts in TAGS files.  This is so the etags.el back-end for
@@ -2064,8 +2220,8 @@ names it puts in TAGS files.  This is so the etags.el back-end for
 positives.
 
 Use --class-qualify (-Q) if you want the old default behavior of
-qualifying class members in C++, Java, and Objective C.  Note that
-using -Q might make some class members become "unknown" to `M-.'
+qualifying class members in C++, Java, Objective C, and Perl.  Note
+that using -Q might make some class members become "unknown" to `M-.'
 (`xref-find-definitions'); if so, you can use `C-u M-.' to specify the
 qualified names by hand.