1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-03 08:30:09 +00:00
emacs/etc/NEWS

138 lines
4.4 KiB
Plaintext
Raw Normal View History

GNU Emacs NEWS -- history of user-visible changes.
2022-01-01 12:07:15 +00:00
Copyright (C) 2021-2022 Free Software Foundation, Inc.
See the end of the file for license conditions.
1999-10-03 12:39:42 +00:00
2018-11-13 10:04:20 +00:00
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 30.
See file HISTORY for a list of GNU Emacs versions and release dates.
See files NEWS.29, NEWS.28, ..., 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'
2018-11-13 10:04:20 +00:00
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.
2015-11-25 14:44:20 +00:00
* Installation Changes in Emacs 30.1
Don't store docstrings of preloaded .el files in etc/DOC Since the location of those files changes between build time and installation time, this requires to tweak the file name used in those (#$ . NNN) references during the dump so they don't hardcode the build directory. We do it in the same way as was already done for those same file names in `load-history`, except we convert them back to absolute file names more lazily (i.e. when fetching the actual docstring rather than at startup), which requires remembering the `lisp-dir` computed at startup in the new `lisp-directory` variable. * src/Makefile.in ($(etc)/DOC): Don't scan Lisp files any more. * src/lread.c (Fload): Use relative file names for `load-file-name` when preloading for the dump, like we already did for `current-load-list`. (read_list): Don't zero-out dynamic docstring references during the preload since they won't be filled later by Snarf-documentation any more. (read1): Remove the hash-hack for doc references that were zeroed. * lisp/startup.el (lisp-directory): New variable. (command-line): Set it. * src/doc.c (get_doc_string): Use `lisp-directory` for dynamic docstring references using relative file names. (syms_of_doc): Add `Qlisp_directory`. * lib-src/make-docfile.c (scan_file): Don't handle `.el` or `.elc` files any more. (IS_SLASH): Remove macro, not used any more. (skip_white, read_lisp_symbol, search_lisp_doc_at_eol) (scan_lisp_file): Remove functions, not used any more. * doc/lispref/loading.texi (Library Search): Mention `lisp-directory`.
2021-12-31 04:17:45 +00:00
* Startup Changes in Emacs 30.1
2021-09-06 02:27:12 +00:00
* Changes in Emacs 30.1
** X selection requests are now handled much faster and asynchronously.
This means it should be less necessary to disable the likes of
`select-active-regions' when Emacs is running over a slow network
connection.
** Emacs now updates invisible frames that are made visible by a compositor.
If an invisible or an iconified frame is shown to the user by the
compositing manager, Emacs will now redisplay such a frame even though
'frame-visible-' returns nil or 'icon' for it. This can happen, for
example, as part of preview for iconified frames.
* Editing Changes in Emacs 30.1
2021-09-06 02:27:12 +00:00
* Changes in Specialized Modes and Packages in Emacs 30.1
---
** Variable order and truncation can now be configured in gdb-many-window mode.
2022-12-10 13:32:41 +00:00
The new variable 'gdb-locals-table-row-config' allows users to
configure the order and max length of various properties in the local
2022-12-10 13:32:41 +00:00
variables buffer when using 'gdb-many-windows'.
By default, this variable is set to write the properties in the order:
2022-12-10 13:32:41 +00:00
name, type and value, where the name and type are truncated to 20
characters, and the value is truncated according to the value of
'gdb-locals-value-limit'.
2022-12-10 13:32:41 +00:00
If you want to get back the old behavior, set
'gdb-locals-table-row-config' to the value
((type . 0)(name . 0)(value . ,gdb-locals-value-limit)).
** VC
---
*** New user option 'vc-git-shortlog-switches'.
This is a string or a list of strings that specifies the Git log
switches for shortlogs, such as the one produced by 'C-x v L'.
'vc-git-log-switches' is no longer used for shortlogs.
2022-12-07 01:36:41 +00:00
** bs
---
*** New user option 'bs-default-action-list'.
You can now configure how to display the "*buffer-selection*" buffer
using this new option. (Or set 'display-buffer-alist' directly.)
2022-12-07 01:36:41 +00:00
Add support for the "splice operator" in Eshell This allows splicing lists in-place in argument lists, which is particularly important when defining aliases using the '$*' special variable (bug#59960). * lisp/eshell/esh-var.el (eshell-parse-variable): Add support for the splice operator. (eshell-interpolate-variable): Let 'eshell-parse-variable' handle adding 'eshell-escape-arg'. (eshell-complete-variable-reference): Handle the splice operator. * lisp/eshell/esh-arg.el (eshell-concat-groups) (eshell-prepare-splice): New functions... (eshell-resolve-current-argument): ... use them. (eshell-splice-args): New function. * lisp/eshell/esh-cmd.el (eshell-rewrite-named-command): Handle 'eshell-splice-args'. * lisp/eshell/esh-util.el (eshell-list-to-string): New function... (eshell-flatten-and-stringify): ... use it. * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Remove 'eshell-splice-args' sigils in Eshell command forms so that we can perform completion on splice-expansions. * lisp/eshell/em-unix.el (eshell-complete-host-reference): Don't try to complete arguments containing "$@". * test/lisp/eshell/esh-var-tets.el (esh-var-test/interp-list-var) (esh-var-test/interp-list-var-concat, esh-var-test/interp-var-splice) (esh-var-test/interp-var-splice-concat) (esh-var-test/quoted-interp-list-var) (esh-var-test/quoted-interp-list-var-concat) (esh-var-test/quoted-interp-var-splice) (esh-var-test/quoted-interp-var-splice-concat): New tests. * test/lisp/eshell/em-alias-tests.el (em-alias-test/alias-all-args-var-splice): New test. * doc/misc/eshell.texi (Dollars Expansion): Explain the splice operator. (Aliases): Expand documentation and use '$@*'. (Built-ins, Bugs and Ideas): Use '$@*' where appropriate. * etc/NEWS: Announce this change.
2022-11-09 06:49:23 +00:00
** Eshell
+++
*** New splice operator for Eshell dollar expansions.
Dollar expansions in Eshell now let you splice the elements of the
expansion in-place using '$@expr'. This makes it easier to fill lists
of arguments into a command, such as when defining aliases. For more
information, see the "(eshell) Dollars Expansion" node in the Eshell
manual.
+++
*** 'eshell-read-aliases-list' is now an interactive command.
After manually editing 'eshell-aliases-file', you can use
'M-x eshell-read-aliases-list' to load the edited aliases.
** Prog Mode
+++
*** New command 'prog-fill-reindent-defun'
This command either fills a single paragraph in a defun, such as a
doc-string, or a comment, or (re)indents the surrounding defun if
point is not in a comment or a string. It is by default bound to
'M-q' in 'prog-mode' and all its descendants.
* New Modes and Packages in Emacs 30.1
* Incompatible Lisp Changes in Emacs 30.1
* Lisp Changes in Emacs 30.1
Abolish max-specpdl-size (bug#57911) The max-lisp-eval-depth limit is sufficient to prevent unbounded stack growth including the specbind stack; simplify matters for the user by not having them to worry about two different limits. This change turns max-specpdl-size into a harmless variable with no effects, to keep existing code happy. * lisp/subr.el (max-specpdl-size): Define as an ordinary (but obsolete) dynamic variable. * admin/grammars/Makefile.in: * doc/lispintro/emacs-lisp-intro.texi (Loops & Recursion): * doc/lispref/control.texi (Cleanups): * doc/lispref/edebug.texi (Checking Whether to Stop): * doc/lispref/eval.texi (Eval): * doc/lispref/variables.texi (Local Variables): * doc/misc/calc.texi (Recursion Depth): Update documentation. * etc/NEWS: Announce. * src/eval.c (FletX): Use safe iteration to guard against circular bindings list. (syms_of_eval): Remove old max-specpdl-size definition. (init_eval_once, restore_stack_limits, call_debugger) (signal_or_quit, grow_specpdl_allocation): * leim/Makefile.in: * lisp/Makefile.in: * lisp/calc/calc-stuff.el (calc-more-recursion-depth) (calc-less-recursion-depth): * lisp/calc/calc.el (calc-do): * lisp/cedet/semantic/ede-grammar.el (ede-proj-makefile-insert-rules): * lisp/cedet/semantic/grammar.el (semantic-grammar-batch-build-one-package): * lisp/cus-start.el (standard): * lisp/emacs-lisp/comp.el (comp--native-compile): * lisp/emacs-lisp/edebug.el (edebug-max-depth): (edebug-read-and-maybe-wrap-form, edebug-default-enter): * lisp/emacs-lisp/regexp-opt.el (regexp-opt): * lisp/eshell/esh-mode.el (eshell-mode): * lisp/loadup.el (max-specpdl-size): * lisp/mh-e/mh-e.el (mh-invisible-headers): * lisp/net/shr.el (shr-insert-document, shr-descend): * lisp/play/hanoi.el (hanoi-internal): * lisp/progmodes/cperl-mode.el: * src/fileio.c (Fdo_auto_save): Remove references to and modifications of max-specpdl-size.
2022-09-19 08:55:09 +00:00
* Changes in Emacs 30.1 on Non-Free Operating Systems
1999-10-03 12:39:42 +00:00
----------------------------------------------------------------------
This file is part of GNU Emacs.
1999-10-03 12:39:42 +00:00
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.
1999-10-03 12:39:42 +00:00
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: