X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/40a85fba441aa69d47ef9efd645df3411e43ae21..04289d1cd863fa8cc0c8a9b976a8e27d9a0b4dd1:/etc/NEWS?ds=sidebyside diff --git a/etc/NEWS b/etc/NEWS index d0415a22f9..12b98fa989 100644 --- 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. + +* Installation Changes in Emacs 25.2 + + +* Startup Changes in Emacs 25.2 + + +* 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. + + +* Editing Changes in Emacs 25.2 + + +* 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. + + +* New Modes and Packages in Emacs 25.2 + + +* 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. + + +* 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. + + +* 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.) + * 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. +--- +** 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. +** 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 @@ -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. ++++ +** 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. @@ -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'. -+++ -** 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'. @@ -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. --- -** 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. @@ -320,6 +454,16 @@ default. 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'. + * 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. +** 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 --- @@ -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. +*** New variable `erc-default-port-tls' used to connect to TLS IRC +servers. + --- *** 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 --- @@ -496,7 +688,7 @@ which were installed by the user (as opposed to installed as 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. --- @@ -558,10 +750,6 @@ item as before. ** 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 @@ -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 ⓐ. +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 @@ -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. ++++ +*** 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. +--- +*** 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. @@ -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. +--- +*** 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 @@ -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'. +--- +** 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 --- @@ -771,6 +1022,8 @@ to produce a neat summary. --- ** 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 @@ -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). ++++ +*** The new function `url-cookie-delete-cookie' can be used to +programmatically delete all cookies, or cookies from a specific +domain. + ** 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'. +--- +*** 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' @@ -1168,6 +1431,15 @@ 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. + *** 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 -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. @@ -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. --- -** 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 @@ -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. +** `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. @@ -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. +--- +** 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. @@ -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'. ++++ +** 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. -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', @@ -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). +--- +** `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 ---