]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
-
[gnu-emacs] / etc / NEWS
index 8ce194a69cab5a9e9a21afaa343aed6aa7a6d591..366208b27da68db2c2a84ab80ccf56c3362c2fea 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -22,6 +22,183 @@ Temporary note:
 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
+
++++
+** 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
+'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-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
+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.
+
+---
+** '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
+
+** 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.
+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
 
@@ -180,17 +357,32 @@ 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.
 
++++
+** A second dir-local file (.dir-locals-2.el) is now accepted.
+See the variable 'dir-locals-file-2' for more information.
+
 +++
 ** Network security (TLS/SSL certificate validity and the like) is
 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 with non-ASCII URLs.
+
 +++
 ** 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
@@ -205,6 +397,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.
 
@@ -327,6 +523,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
 
@@ -457,6 +658,9 @@ obsolete alias for the new 'save-place-local-mode' command.
 '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.
 
@@ -707,6 +911,11 @@ using mono-spaced font.
 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
@@ -716,6 +925,13 @@ 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
+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.
@@ -755,6 +971,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
@@ -766,6 +993,30 @@ respectively, 'show-paren-when-point-inside-paren' or
 ** 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
 
 ---
@@ -939,6 +1190,11 @@ variable, meaning you can bind it around an 'url-retrieve' call.
 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
 
 +++
@@ -988,6 +1244,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
@@ -1265,6 +1526,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'
@@ -1407,6 +1677,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.
@@ -1501,6 +1779,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.
@@ -1606,6 +1888,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.
 
@@ -1632,6 +1918,12 @@ 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.
 The effect is that, on systems that use ls-lisp for Dired, the default
@@ -1821,6 +2113,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
 
 ---