2024-06-23 10:56:48 +00:00
|
|
|
|
GNU Emacs NEWS -- history of user-visible changes.
|
|
|
|
|
|
|
|
|
|
Copyright (C) 2022-2024 Free Software Foundation, Inc.
|
|
|
|
|
See the end of the file for license conditions.
|
|
|
|
|
|
|
|
|
|
Please send Emacs bug reports to 'bug-gnu-emacs@gnu.org'.
|
|
|
|
|
If possible, use 'M-x report-emacs-bug'.
|
|
|
|
|
|
|
|
|
|
This file is about changes in Emacs version 31.
|
|
|
|
|
|
|
|
|
|
See file HISTORY for a list of GNU Emacs versions and release dates.
|
|
|
|
|
See files NEWS.30, NEWS.29, ..., NEWS.18, and NEWS.1-17 for changes
|
|
|
|
|
in older Emacs versions.
|
|
|
|
|
|
|
|
|
|
You can narrow news to a specific version by calling 'view-emacs-news'
|
|
|
|
|
with a prefix argument or by typing 'C-u C-h C-n'.
|
|
|
|
|
|
|
|
|
|
Temporary note:
|
|
|
|
|
+++ indicates that all relevant manuals in doc/ have been updated.
|
|
|
|
|
--- means no change in the manuals is needed.
|
|
|
|
|
When you add a new item, use the appropriate mark if you are sure it
|
|
|
|
|
applies, and please also update docstrings as needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Installation Changes in Emacs 31.1
|
|
|
|
|
|
2024-07-25 11:38:27 +00:00
|
|
|
|
** Changed GCC default options on 32-bit x86 systems.
|
|
|
|
|
When using GCC 4 or later to build Emacs on 32-bit x86 systems,
|
|
|
|
|
'configure' now defaults to using the GCC options '-mfpmath=sse' (if the
|
|
|
|
|
host system supports SSE2) or '-fno-tree-sra' (if not). These GCC
|
|
|
|
|
options work around GCC bug 58416, which can cause Emacs to behave
|
|
|
|
|
incorrectly in rare cases.
|
2024-07-19 20:39:21 +00:00
|
|
|
|
|
2024-06-23 10:56:48 +00:00
|
|
|
|
|
|
|
|
|
* Startup Changes in Emacs 31.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Changes in Emacs 31.1
|
|
|
|
|
|
2024-07-16 14:05:40 +00:00
|
|
|
|
---
|
2024-07-25 11:38:27 +00:00
|
|
|
|
** find-func.el commands now have history enabled.
|
2024-07-16 14:05:40 +00:00
|
|
|
|
The 'find-function', 'find-library', 'find-face-definition', and
|
|
|
|
|
'find-variable' commands now allow retrieving previous input using the
|
|
|
|
|
usual minibuffer history commands. Each command has a separate history.
|
|
|
|
|
|
2024-08-01 07:37:50 +00:00
|
|
|
|
|
|
|
|
|
** Windows
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New hook 'window-deletable-functions'.
|
|
|
|
|
This abnormal hook gives its client a way to save a window from getting
|
|
|
|
|
deleted implicitly by functions like 'kill-buffer', 'bury-buffer' and
|
|
|
|
|
'quit-restore-window',
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New option 'kill-buffer-quit-windows'.
|
|
|
|
|
This option has 'kill-buffer' call 'quit-restore-window' to handle the
|
|
|
|
|
further destiny of any window showing the buffer to be killed.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New window parameter 'quit-restore-prev'.
|
|
|
|
|
This parameter is set up by 'display-buffer' when it detects that the
|
|
|
|
|
window used already has a 'quit-restore' parameter. Its presence gives
|
|
|
|
|
'quit-restore-window' a way to undo a sequence of buffer display
|
|
|
|
|
operations more intuitively.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** 'quit-restore-window' now handles the values 'killing' and 'burying'
|
|
|
|
|
for its BURY-OR-KILL argument just like 'kill' and 'bury' but assumes
|
|
|
|
|
that the actual killing or burying of the buffer is done by the caller.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New option 'quit-restore-window-no-switch'.
|
|
|
|
|
With this option set, 'quit-restore-window' will delete its window more
|
|
|
|
|
aggressively rather than switching to some other buffer in it.
|
|
|
|
|
|
2024-06-23 10:56:48 +00:00
|
|
|
|
|
|
|
|
|
* Editing Changes in Emacs 31.1
|
|
|
|
|
|
2024-07-26 13:49:11 +00:00
|
|
|
|
** Internationalization
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** New language-environment and input method for Tifinagh.
|
|
|
|
|
The Tifinagh script is used to write the Berber languages.
|
|
|
|
|
|
2024-06-23 10:56:48 +00:00
|
|
|
|
|
|
|
|
|
* Changes in Specialized Modes and Packages in Emacs 31.1
|
|
|
|
|
|
2024-06-11 17:49:55 +00:00
|
|
|
|
** Whitespace
|
2024-06-29 13:04:32 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** 'whitespace-cleanup' now adds missing newline at end of file.
|
2024-07-25 11:38:27 +00:00
|
|
|
|
If 'whitespace-style' includes 'missing-newline-at-eof' (which is the
|
2024-06-29 13:04:32 +00:00
|
|
|
|
default), the 'whitespace-cleanup' function will now add the newline.
|
2024-06-11 17:49:55 +00:00
|
|
|
|
|
2024-06-19 10:02:59 +00:00
|
|
|
|
** Eshell
|
|
|
|
|
|
|
|
|
|
---
|
2024-07-25 11:38:27 +00:00
|
|
|
|
*** New user option 'eshell-command-async-buffer'.
|
2024-06-19 10:02:59 +00:00
|
|
|
|
This option lets you tell 'eshell-command' how to respond if its output
|
|
|
|
|
buffer is already in use by another invocation of 'eshell-command', much
|
|
|
|
|
like 'async-shell-command-buffer' does for 'shell-command'. By default,
|
|
|
|
|
this will prompt for confirmation before creating a new buffer when
|
|
|
|
|
necessary. To restore the previous behavior, set this option to
|
|
|
|
|
'confirm-kill-process'.
|
|
|
|
|
|
2024-06-15 03:45:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** 'eshell-execute-file' is now an interactive command.
|
2024-07-25 11:38:27 +00:00
|
|
|
|
Interactively, this now prompts for a script file to execute. With the
|
2024-06-15 03:45:44 +00:00
|
|
|
|
prefix argument, it will also insert any output into the current buffer
|
|
|
|
|
at point.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** 'eshell-command' and 'eshell-execute-file' can now set where stderr goes.
|
|
|
|
|
These functions now take an optional ERROR-TARGET argument to control
|
|
|
|
|
where to send the standard error output. See the "(eshell) Entry
|
|
|
|
|
Points" node in the Eshell manual for more details.
|
|
|
|
|
|
2024-07-06 21:09:08 +00:00
|
|
|
|
+++
|
2024-07-25 11:38:27 +00:00
|
|
|
|
*** Eshell's built-in 'wait' command now accepts a timeout.
|
|
|
|
|
By passing '-t' or '--timeout', you can specify a maximum time to wait
|
2024-07-06 21:09:08 +00:00
|
|
|
|
for the processes to exit. Additionally, you can now wait for external
|
|
|
|
|
processes by passing their PIDs.
|
|
|
|
|
|
2024-06-23 19:18:57 +00:00
|
|
|
|
** SHR
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** SHR now slices large images into rows.
|
|
|
|
|
Sliced images allow for more intuitive scrolling up/down by letting you
|
|
|
|
|
scroll past each slice, instead of jumping past the entire image.
|
|
|
|
|
Previously, SHR sliced images when zoomed to their original size, no
|
2024-07-25 11:38:27 +00:00
|
|
|
|
matter how large or small that was. Now, SHR slices any images taller
|
2024-06-23 19:18:57 +00:00
|
|
|
|
than 'shr-sliced-image-height'. For more information, see the "(eww)
|
|
|
|
|
Advanced" node in the EWW manual.
|
|
|
|
|
|
2024-06-23 21:48:32 +00:00
|
|
|
|
---
|
|
|
|
|
*** You can now customize the image zoom levels to cycle through.
|
|
|
|
|
By customizing 'shr-image-zoom-levels', you can change the list of zoom
|
|
|
|
|
levels that SHR cycles through when calling 'shr-zoom-image'.
|
|
|
|
|
|
2024-05-13 18:44:03 +00:00
|
|
|
|
** Go-ts mode
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New unit test commands.
|
|
|
|
|
Three new commands are now available to run unit tests.
|
|
|
|
|
|
|
|
|
|
The 'go-ts-mode-test-function-at-point' command runs the unit test at
|
|
|
|
|
point. If a region is active, it runs all the unit tests under the
|
|
|
|
|
region. It is bound to 'C-c C-t t' in 'go-ts-mode'.
|
|
|
|
|
|
|
|
|
|
The 'go-ts-mode-test-this-file' command runs all unit tests in the current
|
2024-07-25 11:38:27 +00:00
|
|
|
|
file. It is bound to 'C-c C-t f' in 'go-ts-mode'.
|
2024-05-13 18:44:03 +00:00
|
|
|
|
|
|
|
|
|
The 'go-ts-mode-test-this-package' command runs all unit tests under the
|
|
|
|
|
package of the current buffer. It is bound to 'C-c C-t p' in 'go-ts-mode'.
|
|
|
|
|
|
2024-07-25 11:38:27 +00:00
|
|
|
|
The 'go-ts-mode-build-tags' user option is available to set a list of
|
|
|
|
|
build tags for the test commands.
|
2024-05-13 18:44:03 +00:00
|
|
|
|
|
2024-07-06 15:36:30 +00:00
|
|
|
|
** Emacs Lisp mode
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Checkdoc no longer warns about missing footer lines in some cases.
|
|
|
|
|
Emacs Lisp libraries have traditionally ended with a footer line
|
|
|
|
|
(sometimes referred to as "terminating comment"). Their purpose was to
|
|
|
|
|
easily detect files that had been truncated in transit on ancient and
|
|
|
|
|
less reliable connections:
|
|
|
|
|
|
|
|
|
|
;; some-cool-package.el ends here
|
|
|
|
|
|
|
|
|
|
'checkdoc' will no longer warn if that line is missing for packages that
|
|
|
|
|
explicitly only support Emacs 30.1 or later, as specified in the
|
|
|
|
|
"Package-Requires" header. The reason for keeping the warning for
|
|
|
|
|
packages that support earlier versions of Emacs is that package.el in
|
|
|
|
|
those versions can't install packages where that line is missing.
|
|
|
|
|
|
|
|
|
|
This change affects both 'M-x checkdoc' and the corresponding flymake
|
|
|
|
|
backend.
|
|
|
|
|
|
2024-07-07 11:37:55 +00:00
|
|
|
|
---
|
|
|
|
|
*** Checkdoc will now flag incorrect formatting in warnings.
|
|
|
|
|
This affects calls to 'warn', 'lwarn', 'display-warning', and
|
|
|
|
|
'message-box'.
|
|
|
|
|
|
2024-07-07 11:40:59 +00:00
|
|
|
|
---
|
|
|
|
|
*** The default of 'checkdoc-verb-check-experimental-flag' is now nil.
|
|
|
|
|
In most cases, having it enabled leads to a large amount of false
|
|
|
|
|
positives.
|
|
|
|
|
|
2024-07-23 14:32:30 +00:00
|
|
|
|
** DocView
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Dedicated buffer for plain text contents.
|
|
|
|
|
When switching to the plain text contents with 'doc-view-open-text',
|
2024-07-25 11:38:27 +00:00
|
|
|
|
DocView now creates a dedicated buffer to display it. 'C-c C-c' gets you
|
2024-07-23 14:32:30 +00:00
|
|
|
|
back to real DocView buffer if it still exists.
|
2024-07-25 11:38:27 +00:00
|
|
|
|
|
|
|
|
|
** Tramp
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Connection method "kubernetes" supports now optional namespace.
|
|
|
|
|
The host name for Kubernetes connections can be of kind
|
|
|
|
|
[CONTAINER.]POD[%NAMESPACE], in order to specify the namespace to be
|
|
|
|
|
used. This overrides the setiing in 'tramp-kubernetes-namespace', if
|
|
|
|
|
any.
|
|
|
|
|
|
2024-06-23 10:56:48 +00:00
|
|
|
|
|
|
|
|
|
* New Modes and Packages in Emacs 31.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Incompatible Lisp Changes in Emacs 31.1
|
|
|
|
|
|
2024-07-24 21:41:39 +00:00
|
|
|
|
** The obsolete calling convention of 'error' has been removed.
|
|
|
|
|
That convention was: '(error &rest ARGS)'.
|
|
|
|
|
|
2024-08-01 08:29:10 +00:00
|
|
|
|
** The 'rx' category name 'chinese-two-byte' must now be spelled correctly.
|
|
|
|
|
An old alternative name (without the first 'e') has been removed.
|
|
|
|
|
|
2024-06-23 10:56:48 +00:00
|
|
|
|
|
|
|
|
|
* Lisp Changes in Emacs 31.1
|
|
|
|
|
|
2024-07-09 11:16:43 +00:00
|
|
|
|
+++
|
2024-07-24 21:52:34 +00:00
|
|
|
|
** Support interactive D-Bus authorization.
|
2024-07-09 11:16:43 +00:00
|
|
|
|
A new ':authorizable t' parameter has been added to 'dbus-call-method'
|
|
|
|
|
and 'dbus-call-method-asynchronously' to allow the user to interactively
|
2024-07-24 21:52:34 +00:00
|
|
|
|
authorize the invoked D-Bus method (for example via polkit).
|
2024-07-09 11:16:43 +00:00
|
|
|
|
|
2024-07-24 21:48:05 +00:00
|
|
|
|
** The customization group 'wp' has been removed.
|
|
|
|
|
It has been obsolete since Emacs 26.1. Use the group 'text' instead.
|
|
|
|
|
|
2024-07-27 05:33:17 +00:00
|
|
|
|
** Tree-sitter changes
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Indirect buffers can have their own parser list.
|
|
|
|
|
Before, indirect buffers share their base buffer’s parser list and
|
|
|
|
|
parsers. Now they can have their own parser list.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New variable 'treesit-language-remap-alist'.
|
|
|
|
|
This variable allows a user to remap one language into another, such
|
|
|
|
|
that creating a parser for language A actually creates a parser for
|
|
|
|
|
language B. By extension, any font-lock rules or indentation rules for
|
|
|
|
|
language A will be applied to language B instead.
|
|
|
|
|
|
|
|
|
|
This is useful for reusing font-lock rules and indentation rules of
|
|
|
|
|
language A for language B, when language B is a strict superset of
|
|
|
|
|
language A.
|
2024-06-23 10:56:48 +00:00
|
|
|
|
|
|
|
|
|
* Changes in Emacs 31.1 on Non-Free Operating Systems
|
|
|
|
|
|
2024-07-01 10:15:51 +00:00
|
|
|
|
---
|
|
|
|
|
** Process execution has been optimized on Android.
|
2024-07-25 11:38:27 +00:00
|
|
|
|
The run-time performance of subprocesses on recent Android releases,
|
|
|
|
|
where a userspace executable loader is required, has been optimized on
|
|
|
|
|
systems featuring GNU/Linux 3.5.0 and above.
|
2024-07-01 10:15:51 +00:00
|
|
|
|
|
2024-06-23 10:56:48 +00:00
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
This file is part of GNU Emacs.
|
|
|
|
|
|
|
|
|
|
GNU Emacs is free software: you can redistribute it and/or modify
|
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
|
|
GNU Emacs is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
|
along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Local variables:
|
|
|
|
|
coding: utf-8
|
|
|
|
|
mode: outline
|
|
|
|
|
mode: emacs-news
|
|
|
|
|
paragraph-separate: "[ ]"
|
|
|
|
|
end:
|