]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Allow sorting flyspell corrections
[gnu-emacs] / etc / NEWS
index d0415a22f9564d57b247795db65a6b2c272cce69..12b98fa989db1ab170b081a25ce8ca015a4f8619 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -22,6 +22,127 @@ Temporary note:
 When you add a new item, use the appropriate mark if you are sure it applies,
 otherwise leave it unmarked.
 
 When you add a new item, use the appropriate mark if you are sure it applies,
 otherwise leave it unmarked.
 
+\f
+* Installation Changes in Emacs 25.2
+
+\f
+* Startup Changes in Emacs 25.2
+
+\f
+* Changes in Emacs 25.2
+
+---
+** `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
+`make-network-process').  How asynchronous it is varies based on the
+capabilities of the system, but on a typical GNU/Linux system the DNS
+resolution, the connection, and (for TLS streams) the TLS negotiation
+are all done without blocking the main Emacs thread.  To get
+asynchronous TLS, the TLS boot parameters have to be passed in (see
+the manual for details).
+
+Certain process oriented functions (like `process-datagram-address')
+will block until socket setup has been performed.  The recommended way
+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-stream' has always allowed :service to be specified
+as a "number string" (i.e., :service "993") when using gethostbyname,
+but has required using a real number (i.e., :service 993) on systems
+without gethostbyname.  This difference has now been eliminated, and
+you can use "number strings" on all systems.
+
+** It is possible to disable attempted recovery on fatal signals
+
+Two new variables allow to disable attempts to recover from stack
+overflow and to avoid automatic auto-save when Emacs is delivered a
+fatal signal.  `attempt-stack-overflow-recovery', if set to `nil',
+will disable attempts to recover from C stack overflows; Emacs will
+then crash as with any other fatal signal.
+`attempt-orderly-shutdown-on-fatal-signal', if set to `nil', will
+disable attempts to auto-save the session and shut down in an orderly
+fashion when Emacs receives a fatal signal; instead, Emacs will
+terminate immediately.  Both variables are non-`nil' by default.
+These variables are for users who would like to avoid the small
+probability of data corruption due to techniques Emacs uses to recover
+in these situations.
+
+\f
+* Editing Changes in Emacs 25.2
+
+\f
+* Changes in Specialized Modes and Packages in Emacs 25.2
+
+** eww
+
++++
+*** 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
+`change-log-directory-files' to nil for the old behavior.
+
+---
+** Support for non-string values of `time-stamp-format' has been removed.
+
+** Tramp
+
++++
+*** New connection method "sg", which allows to edit files under
+different group ID.
+
++++
+*** New connection method "doas" for OpenBSD hosts.
+
+\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
+
+** New var syntax-ppss-table to control the syntax-table used in syntax-ppss
+
+** Autoload files can be generated without timestamps,
+by setting `autoload-timestamps' to nil.
+
+** `ert-with-function-mocked' of 'ert-x package allows mocking of functions
+in unit tests.
+
++++
+** 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.
+
+\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
 
 \f
 * Installation Changes in Emacs 25.1
 
@@ -189,12 +310,24 @@ See the variable `dir-locals-file-2' for more information.
 added via the new Network Security Manager (NSM) and controlled via
 the `network-security-level' variable.
 
 added via the new Network Security Manager (NSM) and controlled via
 the `network-security-level' variable.
 
+---
+** International domain names (IDNA) are now encoded via the new
+puny.el library, so that one can visit web sites like
+"http://méxico.icom.museum".
+
 +++
 ** C-h l now also lists the commands that were run.
 
 +++
 ** 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.
+
 +++
 +++
-** x-select-enable-clipboard is renamed select-enable-clipboard
-and x-select-enable-primary is renamed select-enable-primary.
+** The new `timer-list' command lists all active timers in a buffer
+where you can cancel them with the `c' command.
+
+** 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.
 Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
 name it), with the proviso that on some systems (e.g. Windows)
 select-enable-primary is ineffective since the system doesn't
 Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
 name it), with the proviso that on some systems (e.g. Windows)
 select-enable-primary is ineffective since the system doesn't
@@ -209,6 +342,10 @@ 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.
 
 ** The option `even-window-heights' has been renamed to
 `even-window-sizes' and now handles window widths as well.
 
++++
+** New function `read-multiple-choice' use to prompt for
+multiple-choice questions, with a handy way to display help texts.
+
 +++
 ** terpri gets an optional arg ENSURE to conditionally output a newline.
 
 +++
 ** terpri gets an optional arg ENSURE to conditionally output a newline.
 
@@ -231,14 +368,6 @@ for use in Emacs bug reports.
 hiding character but the default `.' can be used by let-binding the
 variable `read-hide-char'.
 
 hiding character but the default `.' can be used by let-binding the
 variable `read-hide-char'.
 
-+++
-** The Emacs pseudo-random number generator can be securely seeded.
-On system where Emacs can access the system entropy or some other
-cryptographically secure random stream, it now uses that when `random'
-is called with its argument `t'.  This allows cryptographically strong
-random values; in particular, the Emacs server now uses this facility
-to produce its authentication key.
-
 ---
 ** New input methods: `tamil-dvorak' and `programmer-dvorak'.
 
 ---
 ** New input methods: `tamil-dvorak' and `programmer-dvorak'.
 
@@ -282,12 +411,17 @@ as you type.  See also the new variable ‘text-quoting-style’.
 ** New minor mode global-eldoc-mode is enabled by default.
 
 ---
 ** New minor mode global-eldoc-mode is enabled by default.
 
 ---
-** Emacs now supports "bracketed paste mode" when running on a terminal
-that supports it.  This facility allows Emacs to understand pasted
-chunks of text as strings to be inserted, instead of interpreting each
-character in the pasted text as actual user input.  This results in a
-paste experience similar to that under a window system, and significant
-performance improvements when pasting large amounts of text.
+** Emacs now uses "bracketed paste mode" on text terminals that support it.
+Bracketed paste mode causes text terminals to wrap pasted text in special
+escape sequences that allow Emacs to tell the difference between text
+you type and text you paste from other applications.  Emacs then
+avoids interpreting each character in the pasted text as it does with
+keyboard input, which results in a paste experience similar to that
+under a window system, and significant performance improvements when
+pasting large amounts of text.
+
+Bracketed paste mode is disabled by default, so Emacs automatically
+enables it at startup if the terminal supports it.
 
 +++
 ** Emacs now supports the latest version of the UBA.
 
 +++
 ** Emacs now supports the latest version of the UBA.
@@ -320,6 +454,16 @@ default.
 unsaved customizations and prompts user to customize (if found).  It
 is intended for adding to 'kill-emacs-query-functions'.
 
 unsaved customizations and prompts user to customize (if found).  It
 is intended for adding to 'kill-emacs-query-functions'.
 
++++
+** The old `C-x w' bindings in hi-lock-mode are officially deprecated
+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
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 25.1
 
@@ -352,6 +496,20 @@ to version 206, you can do this with C-u C-u M-x desktop-save.
 It raises an error if a bookmark of that name already exists,
 unlike `bookmark-set' which silently updates an existing bookmark.
 
 It raises an error if a bookmark of that name already exists,
 unlike `bookmark-set' which silently updates an existing bookmark.
 
+** Gnus
+
++++
+*** New user options `mm-html-inhibit-images' and `mm-html-blocked-images'
+now control how mm-* functions fetch and display images in an HTML
+message.  Gnus still uses `gnus-inhibit-images' and `gnus-blocked-images'
+for that purpose, i.e., binds mm-html- variables with those gnus-
+variables, but other packages do not have to bind gnus- variables now.
+
+---
+*** `mm-inline-text-html-with-images' has been removed.
+Use `mm-html-inhibit-images' instead.  Note that the value is opposite
+in meaning.
+
 ** IMAP
 
 ---
 ** IMAP
 
 ---
@@ -429,9 +587,43 @@ additionally need to add `getSelection' to `xterm-extra-capabilities'.
 `erc-network-hide-list' and `erc-channel-hide-list' will only hide the
 specified message types for the respective specified targets.
 
 `erc-network-hide-list' and `erc-channel-hide-list' will only hide the
 specified message types for the respective specified targets.
 
+*** New variable `erc-default-port-tls' used to connect to TLS IRC
+servers.
+
 ---
 *** Reconnection is now asynchronous.
 
 ---
 *** Reconnection is now asynchronous.
 
+---
+*** Nick completion is now case-insensitive again after inadvertently
+being made case-sensitive in Emacs 24.2.
+
+** MPC
+
+---
+*** New commands, key binds, and menu items.
+
+**** `<' and `>' for navigating previous and next tracks in playlist
+
+**** New play/pause command `mpc-toggle-play' bound to `s'
+
+**** `g' bound to new command `mpc-seek-current' will navigate current
+     track.
+
+**** New commands `mpc-toggle-{consume,repeat,single,shuffle}' for
+     toggling playback modes.
+
+---
+*** Now supports connecting to a UNIX domain socket.
+
+---
+*** Looks at more image file names to use as album art.
+Case-insensitively tries for .folder.png (freedesktop) and folder.jpg
+(XP) in addition to cover.jpg.
+
+---
+*** Searches in more locations for MPD configuration files.
+MPD supports the XDG base directory specification since version 0.17.6.
+
 ** Midnight-mode
 
 ---
 ** Midnight-mode
 
 ---
@@ -496,7 +688,7 @@ 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
+*** New command `package-install-selected-packages' installs all
 packages from `package-selected-packages' which are currently missing.
 
 ---
 packages from `package-selected-packages' which are currently missing.
 
 ---
@@ -558,10 +750,6 @@ item as before.
 
 ** Search and Replace
 
 
 ** 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
 +++
 *** `isearch' and `query-replace' can now perform character folding in matches.
 Isearch does that by default, while `query-replace' will do that if
@@ -577,6 +765,18 @@ 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 ⓐ.
 
 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 ''.
+
++++
+*** 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.
+
 +++
 *** New function `character-fold-to-regexp' can be used
 by searching commands to produce a regexp matching anything that
 +++
 *** New function `character-fold-to-regexp' can be used
 by searching commands to produce a regexp matching anything that
@@ -633,11 +833,23 @@ useful when, for example, one needs to distinguish various spaces (e.g. ] [,
 whether to use variable-pitch fonts or not.  The user can also
 customize the `shr-use-fonts' variable.
 
 whether to use variable-pitch fonts or not.  The user can also
 customize the `shr-use-fonts' variable.
 
++++
+*** A new command `C' (`eww-toggle-colors') can be used to toggle
+whether to use the HTML-specified colors or not.  The user can also
+customize the `shr-use-colors' variable.
+
 +++
 *** A new command `R' (`eww-readable') will try do identify the main
 textual parts of a web page and display only that, leaving menus and
 the like off the page.
 
 +++
 *** A new command `R' (`eww-readable') will try do identify the main
 textual parts of a web page and display only that, leaving menus and
 the like off the page.
 
+---
+*** Images that are being loaded are now marked with grey
+"placeholder" images of the size specified by the HTML.  They are then
+replaced by the real images asynchronously, which will also now
+respect width/height HTML specs (unless they specify widths/heights
+bigger than the current window).
+
 ---
 *** You can now use several eww buffers in parallel by renaming eww
 buffers you want to keep separate.
 ---
 *** You can now use several eww buffers in parallel by renaming eww
 buffers you want to keep separate.
@@ -677,6 +889,17 @@ invalid certificates are marked in red.
 *** text/html messages that contain inline image parts will be
 transformed into multipart/related messages before sending.
 
 *** text/html messages that contain inline image parts will be
 transformed into multipart/related messages before sending.
 
+---
+*** The `message-valid-fqdn-regexp' variable has been removed, since
+there are now top-level domains added all the time.  Message will no
+longer warn about sending emails to top-level domains it hasn't heard
+about.
+
+*** `message-beginning-of-line' (bound to C-a) understands folded headers.
+In `visual-line-mode' it will look for the true beginning of a header
+while in non-`visual-line-mode' it will move the point to the indented
+header’s value.
+
 +++
 ** In Show Paren Mode, a parenthesis can be highlighted when point
 stands inside it, and certain parens can be highlighted when point is
 +++
 ** In Show Paren Mode, a parenthesis can be highlighted when point
 stands inside it, and certain parens can be highlighted when point is
@@ -684,6 +907,34 @@ 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'.
 
 respectively, `show-paren-when-point-inside-paren' or
 `show-paren-when-point-in-periphery'.
 
+---
+** If gpg2 exists on the system, it is now used as the default value
+of `epg-gpg-program' (instead of gpg).
+
+** Images
+
++++
+*** Images are automatically scaled before displaying based on the
+`image-scaling-factor' variable (if Emacs supports scaling the images
+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.  These commands are
+also available in `image-mode'.
+
++++
+*** A new library for creating and manipulating SVG images has been
+added.  See the "SVG Images" section in the lispref manual for
+details.
+
++++
+*** New setf-able function to access and set image parameters is
+provided: `image-property'.
+
+
 ** Lisp mode
 
 ---
 ** Lisp mode
 
 ---
@@ -771,6 +1022,8 @@ to produce a neat summary.
 
 ---
 ** New js.el option `js-indent-first-init'.
 
 ---
 ** New js.el option `js-indent-first-init'.
+It was renamed from `js-indent-first-initialiser', to avoid issues
+with American vs British spelling.
 
 ** Info
 
 
 ** Info
 
@@ -853,6 +1106,11 @@ we should not be queried about things like TLS certificate validity.
 plist will contain a :peer element that has the output of
 `gnutls-peer-status' (if Emacs is built with GnuTLS support).
 
 plist will contain a :peer element that has the output of
 `gnutls-peer-status' (if Emacs is built with GnuTLS support).
 
++++
+*** The new function `url-cookie-delete-cookie' can be used to
+programmatically delete all cookies, or cookies from a specific
+domain.
+
 ** Tramp
 
 +++
 ** Tramp
 
 +++
@@ -919,6 +1177,11 @@ comparing with the next window, customize the new option
 replace the face `compare-windows', which is now an obsolete alias for
 `compare-windows-added'.
 
 replace the face `compare-windows', which is now an obsolete alias for
 `compare-windows-added'.
 
+---
+*** The VC state indicator in the mode line now has different faces
+corresponding to each of the possible states.  See the `vc-faces'
+customization group.
+
 ---
 *** `log-edit-insert-changelog' converts "(tiny change)" to
 "Copyright-paperwork-exempt: yes".  Set `log-edit-rewrite-tiny-change'
 ---
 *** `log-edit-insert-changelog' converts "(tiny change)" to
 "Copyright-paperwork-exempt: yes".  Set `log-edit-rewrite-tiny-change'
@@ -1168,6 +1431,15 @@ compression command is determined from the new
 `dired-compress-files-alist' variable.
 
 +++
 `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.
+
 *** New user interface for the `A' and `Q' commands.
 These keys, now bound to `dired-do-find-regexp' and
 `dired-do-find-regexp-and-replace', work similarly to `xref-find-apropos'
 *** New user interface for the `A' and `Q' commands.
 These keys, now bound to `dired-do-find-regexp' and
 `dired-do-find-regexp-and-replace', work similarly to `xref-find-apropos'
@@ -1207,7 +1479,9 @@ few or no entries have changed.
 minibuffer instead of a graphical dialog, depending on whether the gpg
 command is called from Emacs (i.e., INSIDE_EMACS environment variable
 is set).  This feature requires newer versions of GnuPG (2.1.5 or
 minibuffer instead of a graphical dialog, depending on whether the gpg
 command is called from Emacs (i.e., INSIDE_EMACS environment variable
 is set).  This feature requires newer versions of GnuPG (2.1.5 or
-later) and Pinentry (0.9.5 or later).
+later) and Pinentry (0.9.5 or later).  To use this feature, add
+"allow-emacs-pinentry" to "~/.gnupg/gpg-agent.conf" and reload the
+configuration with "gpgconf --reload gpg-agent".
 
 +++
 ** cl-generic.el provides CLOS-style multiple-dispatch generic functions.
 
 +++
 ** cl-generic.el provides CLOS-style multiple-dispatch generic functions.
@@ -1215,7 +1489,8 @@ The main entry points are `cl-defgeneric' and `cl-defmethod'.  See the
 node "Generic Functions" in the Emacs Lisp manual for more details.
 
 ---
 node "Generic Functions" in the Emacs Lisp manual for more details.
 
 ---
-** scss-mode (a minor variant of css-mode)
+** scss-mode (a minor variant of css-mode) is a major mode for editing
+SCSS (Sassy CSS) files.
 
 ---
 ** let-alist is a new macro (and a package) that allows one to easily
 
 ---
 ** let-alist is a new macro (and a package) that allows one to easily
@@ -1299,6 +1574,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.
 
 ** 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.
 +++
 ** `save-excursion' does not save&restore the mark any more.
 Use `save-mark-and-excursion' if you want the old behavior.
@@ -1498,6 +1781,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.
 
 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.
 
 +++
 ** define-inline provides a new way to define inlinable functions.
 
@@ -1524,10 +1811,22 @@ environment.  For the time being this is implemented for modern POSIX
 systems and for MS-Windows, for other systems they fall back to their
 counterparts `string-lessp' and `string-equal'.
 
 systems and for MS-Windows, for other systems they fall back to their
 counterparts `string-lessp' and `string-equal'.
 
++++
+** The new function `string-version-lessp' compares strings by
+interpreting consecutive runs of numerical characters as numbers, and
+compares their numerical values.  According to this predicate,
+"foo2.png" is smaller than "foo12.png".
+
 ---
 *** The ls-lisp package uses `string-collate-lessp' to sort file names.
 ---
 *** The ls-lisp package uses `string-collate-lessp' to sort file names.
-If you want the old, locale-independent sorting, customize the new
-option `ls-lisp-use-string-collate' to a nil value.
+The effect is that, on systems that use ls-lisp for Dired, the default
+sort order of the files in Dired is now different from what it was in
+previous versions of Emacs.  In particular, the file names are sorted
+disregarding punctuation, accents, and diacritics, and letter case is
+ignored.  For example, files whose name begin with a period will no
+longer appear near the beginning of the directory listing.  If you
+want the old, locale-independent sorting, customize the new option
+`ls-lisp-use-string-collate' to the nil value.
 
 +++
 *** The MS-Windows specific variable `w32-collate-ignore-punctuation',
 
 +++
 *** The MS-Windows specific variable `w32-collate-ignore-punctuation',
@@ -1707,6 +2006,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).
 
 ** 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
 
 ---
 ** Miscellaneous name change
 
 ---