X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/303141ae6eddf690a851f917e285a40a2356021a..1b76d9168336ede8976b980aeaed64ae2908501a:/etc/NEWS diff --git a/etc/NEWS b/etc/NEWS index f5f3d86d98..9fbe6955c8 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -22,6 +22,65 @@ 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 + +** 'configure' detects the kqueue file notification library on *BSD +and Mac OS X machines. + + +* Startup Changes in Emacs 25.2 + + +* Changes in Emacs 25.2 + +** 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 + +** File Notifications + +*** The kqueue library is integrated for *BSD and Mac OS X machines. + +** Tramp + +*** New connection method "sg", which allows to edit files under +different group ID. + + +* New Modes and Packages in Emacs 25.2 + + +* Incompatible Lisp Changes in Emacs 25.2 + + +* 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. + + +* Changes in Emacs 25.2 on Non-Free Operating Systems + * Installation Changes in Emacs 25.1 @@ -36,6 +95,7 @@ otherwise leave it unmarked. 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. @@ -119,6 +179,7 @@ and can contain escape sequences for command keys, quotes, and the like. * Changes in Emacs 25.1 ++++ ** 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 @@ -166,18 +227,20 @@ the variable `dir-locals-file' for more information. added via the new Network Security Manager (NSM) and controlled via the `network-security-level' variable. -** If Emacs isn't built with TLS support, an external TLS-capable -program is used instead. This program used to be run in --insecure -mode by default, but has now changed to be secure instead, and will -fail if you try to connect to non-verifiable hosts. This is -controlled by the `tls-program' 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. -+++ -** x-select-enable-clipboard is renamed select-enable-clipboard -and x-select-enable-primary is renamed select-enable-primary. +** 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. 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 @@ -311,6 +374,17 @@ current package keywords are recognized. Set the new option It's meant for use together with `compile': emacs -batch --eval "(checkdoc-file \"subr.el\")" +** Desktop + +--- +*** The desktop format version has been upgraded from 206 to 208. +Although Emacs 25.1 can read a version 206 desktop, earlier Emacsen +cannot read a version 208 desktop. To upgrade your desktop file, you +must explicitly request the upgrade, by C-u M-x desktop-save. You are +recommended to do this as soon as you have firmly upgraded to Emacs +25.1 (or later). Should you ever need to downgrade your desktop file +to version 206, you can do this with C-u C-u M-x desktop-save. + +++ ** New function `bookmark-set-no-overwrite' bound to C-x r M. It raises an error if a bookmark of that name already exists, @@ -393,6 +467,9 @@ 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. + ** Midnight-mode --- @@ -591,6 +668,11 @@ 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 @@ -724,7 +806,10 @@ If the output of ERT tests in batch mode execution can be saved to a log file, then it can be passed as an argument to the above function 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 @@ -778,6 +863,13 @@ See the doc string of `sh-indent-after-continuation' for details. --- *** Fatal TLS errors are now silent by default. +--- +*** If Emacs isn't built with TLS support, an external TLS-capable +program is used instead. This program used to be run in --insecure +mode by default, but has now changed to be secure instead, and will +fail if you try to connect to non-verifiable hosts. This is +controlled by the `tls-program' variable. + ** URL +++ @@ -951,7 +1043,8 @@ of its back-ends. The command `xref-find-definitions' replaces `find-tag' and provides an interface to pick one definition among several. `tags-loop-continue' is now unbound. `xref-pop-marker-stack' replaces -`pop-tag-mark', but has a keybinding (`M-,'), unlike `pop-tag-mark'. +`pop-tag-mark', but has a keybinding (`M-,') different from the one +`pop-tag-mark' used. `xref-find-definitions-other-window' replaces `find-tag-other-window'. `xref-find-definitions-other-frame' replaces `find-tag-other-frame'. @@ -959,7 +1052,11 @@ an interface to pick one definition among several. As a result of this, the following commands are now obsolete: `find-tag-other-window', `find-tag-other-frame', `find-tag-regexp', -`tags-apropos', and `tags-loop-continue'. +`tags-apropos'. + +`tags-loop-continue' is not obsolete because it's still useful in +`tags-search' and `tags-query-replace', for which there are no direct +replacements yet. +++ *** New variables @@ -1098,6 +1195,10 @@ compress many marked files into a single named archive. The compression command is determined from the new `dired-compress-files-alist' variable. ++++ +*** `W' is now bound to `browse-url-of-dired-file', and is useful for +viewing HTML files and the like. + ** Tabulated List Mode +++ @@ -1183,12 +1284,11 @@ file and still expect it to be run after startup should set `package-enable-at-startup' to t after the call to `package-initialize'. +--- ** `:global' minor mode use `setq-default' rather than `setq'. This means that you can't use `make-local-variable' and expect them to "magically" become buffer-local. -** `inhibit-point-motion-hooks' now defaults to t and is obsolete. - +++ ** `track-mouse' no longer freezes the shape of the mouse pointer. The `track-mouse' form no longer refrains from changing the shape of @@ -1203,34 +1303,48 @@ to the special value `dragging' in the body of the form. has any effect. (This change was made in Emacs 24.4 but was not advertised at the time.) ++++ ** `indirect-function' does not signal `void-function' any more. This is mostly a bug-fix, since this change was missed back in 24.4 when symbol-function was changed not to signal `void-function' any more. ++++ *** As a consequence, the second arg of `indirect-function' is now obsolete. ++++ ** Comint, term, and compile do not set the EMACS env var any more. Use the INSIDE_EMACS environment variable instead. ++++ ** `save-excursion' does not save&restore the mark any more. +Use `save-mark-and-excursion' if you want the old behavior. -** read-buffer-function can now be called with a 4th argument (`predicate'). ++++ +** `read-buffer' and `read-buffer-function' can now be called with a 4th +argument (`predicate'). -** completion-table-dynamic stays in the minibuffer. ++++ +** `completion-table-dynamic' by default stays in the minibuffer. +The minibuffer will be the current buffer when the function is called. If you want the old behavior of calling the function in the buffer -from which the minibuffer was entered, call it with the new argument -`switch-buffer'. +from which the minibuffer was entered, use the new argument +`switch-buffer' to `completion-table-dynamic'. +--- ** window-configurations no longer record the buffers' marks. +--- ** inhibit-modification-hooks now also inhibits lock-file checks, as well as active region handling. ++++ ** deactivate-mark is now buffer-local. ++++ ** `cl-the' now asserts that its argument is of the given type. -** `process-running-child-p` may now return a numeric process ++++ +** `process-running-child-p' may now return a numeric process group ID instead of `t'. +++ @@ -1319,23 +1433,39 @@ that happen, `unhandled-file-name-directory' now defaults to calling ** syntax-propertize is now automatically called on-demand during forward parsing functions like `forward-sexp'. -** New hooks prefix-command-echo-keystrokes-functions and -prefix-command-preserve-state-hook, to allow the definition of prefix -commands other than the predefined C-u. ++++ +** New hooks `prefix-command-echo-keystrokes-functions' and +`prefix-command-preserve-state-hook' allow the definition of prefix +commands other than the predefined `C-u'. ++++ ** New functions `filepos-to-bufferpos' and `bufferpos-to-filepos'. +These allow to convert between buffer positions and the corresponding +file byte offsets, given the file's encoding. ++++ ** The default value of `load-read-function' is now `read'. +Previously, the default value of `nil' implied using `read'. -** New hook `pre-redisplay-functions', a bit easier to use than pre-redisplay-function. ++++ +** New hook `pre-redisplay-functions'. +It is a bit easier to use than `pre-redisplay-function'. ++++ ** The second arg of `looking-back' should always be provided explicitly. +Previously, it was an optional argument, now it's mandatory. -** Obsolete text properties `intangible', `point-entered', and `point-left'. ++++ +** Text properties `intangible', `point-entered', and `point-left' are obsolete. Replaced by properties `cursor-intangible' and `cursor-sensor-functions', implemented by the new `cursor-intangible-mode' and `cursor-sensor-mode' minor modes. ++++ +** `inhibit-point-motion-hooks' now defaults to `t' and is obsolete. +Use the new minor modes `cursor-intangible-mode' and +`cursor-sensor-mode' instead. + +++ ** New process type `pipe', which can be used in combination with the `:stderr' keyword of make-process to handle standard error output @@ -1368,8 +1498,6 @@ buffers to allow certain parts of the text to be writable. +++ ** New macro `define-advice'. -** `read-buffer' takes a new `predicate' argument. - +++ ** Emacs Lisp now supports generators. See the "Generators" section of the ELisp manual for the details. @@ -1379,15 +1507,19 @@ See the "Generators" section of the ELisp manual for the details. See the "Finalizer Type" subsection in the ELisp manual for the details. +--- ** lexical closures can use (:documentation FORM) to build their docstring. 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. ++++ ** define-inline provides a new way to define inlinable functions. -** New function `macroexpand-1' to perform a single step of macroexpansion. ++++ +** New function `macroexpand-1' to perform a single step of macro expansion. -** Some "x-*" were obsoleted: ++++ +** Some "x-*" functions were obsoleted and/or renamed: *** x-select-text is renamed gui-select-text. *** x-selection-value is renamed gui-selection-value. *** x-get-selection is renamed gui-get-selection. @@ -1395,6 +1527,7 @@ evaluated (and should return a string) when the closure is built. *** x-get-selection-value is renamed to gui-get-primary-selection. *** x-set-selection is renamed to gui-set-selection ++++ ** New function `string-greaterp', which return the opposite result of `string-lessp'. @@ -1418,12 +1551,15 @@ emulates the behavior of modern Posix platforms when the locale's codeset is "UTF-8" (as in "en_US.UTF-8"). This is needed because MS-Windows doesn't support UTF-8 as codeset in its locales. ++++ ** New function `alist-get', which is also a valid place (aka lvalue). ++++ ** New function `funcall-interactively', which works like `funcall' but makes `called-interactively-p' treat the function as (you guessed it) called interactively. ++++ ** New function `function-put' to use instead of `put' for function properties. +++ @@ -1454,6 +1590,7 @@ permissions set to temporary values (e.g., for creating private files). +++ ** You can access the slots of structures using `cl-struct-slot-value'. ++++ ** Function `sort' can deal with vectors. ** Function `system-name' now returns an updated value if the current @@ -1681,6 +1818,7 @@ frames. `window-divider-default-places', `window-divider-default-bottom-width' and `window-divider-default-right-width'. +--- ** Tearoff menus and detachable toolbars for Gtk+ have been removed. Those features have been deprecated in Gtk+ for a long time. @@ -1756,6 +1894,12 @@ this has no effect. ** The new function 'w32-application-type' returns the type of an MS-Windows application given the name of its executable program file. +** New variable `w32-pipe-buffer-size'. +It can be used to tune the size of the buffer of pipes created for +communicating with subprocesses, when the program run by a subprocess +exhibits unusual buffering behavior. Default is zero, which lets the +OS use its default size. + ---------------------------------------------------------------------- This file is part of GNU Emacs.