GNU Emacs NEWS -- history of user-visible changes. Copyright (C) 2021-2022 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 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' 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 30.1 * Startup Changes in Emacs 30.1 * 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 ** New helper 'transpose-sexps-function' Emacs now can set this defvar to customize the behavior of the 'transpose-sexps' function. ** New function 'treesit-transpose-sexps' treesit.el now unconditionally sets 'transpose-sexps-function' for all Tree-sitter modes. This functionality utilizes the new 'transpose-sexps-function'. * Changes in Specialized Modes and Packages in Emacs 30.1 --- ** Variable order and truncation can now be configured in gdb-many-window mode. The new variable 'gdb-locals-table-row-config' allows users to configure the order and max length of various properties in the local variables buffer when using 'gdb-many-windows'. By default, this variable is set to write the properties in the order: 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'. 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. ** 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.) ** 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. ** use-package *** New ':vc' keyword This keyword enables the user to control how packages are fetched by utilising 'package-vc.el'. By default, it relays its arguments to 'package-vc-install', but—when combined with the ':load-path' keyword—it can also call upon 'package-vc-install-from-checkout' instead. * New Modes and Packages in Emacs 30.1 * Incompatible Lisp Changes in Emacs 30.1 * Lisp Changes in Emacs 30.1 * Changes in Emacs 30.1 on Non-Free Operating Systems ---------------------------------------------------------------------- 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 . Local variables: coding: utf-8 mode: outline mode: emacs-news paragraph-separate: "[ ]" end: