From: Eli Zaretskii Date: Sat, 6 Nov 2021 09:21:39 +0000 (+0200) Subject: Merge from origin/emacs-28 X-Git-Tag: emacs-29.0.90~3671^2~202 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e714b314037feeb5ce7294231d0d2ce9ca09b847;p=emacs.git Merge from origin/emacs-28 # Conflicts: # etc/NEWS --- e714b314037feeb5ce7294231d0d2ce9ca09b847 diff --cc etc/NEWS index d2e0cf7eef6,cc4cdfe5b67..57bead362d3 --- a/etc/NEWS +++ b/etc/NEWS @@@ -22,202 -22,584 +22,268 @@@ When you add a new item, use the approp applies, and please also update docstrings as needed. -* Installation Changes in Emacs 28.1 - -** Emacs now optionally supports native compilation of Lisp files. -To enable this, configure Emacs with the '--with-native-compilation' option. -This requires the libgccjit library to be installed and functional, -and also requires GCC and Binutils to be available when Lisp code is -natively compiled. See the Info node "(elisp) Native Compilation" for -more details. - -If you build Emacs with native compilation, but without zlib, be sure -to configure with the '--without-compress-install' option, so that the -installed *.el files are not compressed; otherwise, you will not be -able to use JIT native compilation of the installed *.el files. - -** The Cairo graphics library is now used by default if present. -'--with-cairo' is now the default, if the appropriate development files -are found by 'configure'. Note that building with Cairo means using -Pango instead of libXFT for font support. Since Pango 1.44 has -removed support for bitmapped fonts, this may require you to adjust -your font settings. - -Note also that 'FontBackend' settings in ".Xdefaults" or -".Xresources", or 'font-backend' frame parameter settings in your init -files, may need to be adjusted, as 'xft' is no longer a valid backend -when using Cairo. Use 'ftcrhb' if your Emacs was built with HarfBuzz -text shaping support, and 'ftcr' otherwise. You can determine this by -checking 'system-configuration-features'. The 'ftcr' backend will -still be available when HarfBuzz is supported, but will not be used by -default. We strongly recommend building with HarfBuzz support. 'x' is -still a valid backend. +* Installation Changes in Emacs 29.1 ---- -** 'configure' now warns about building with libXft support. -libXft is unmaintained, and causes a number of problems with modern -fonts including but not limited to crashes; support for it may be -removed in a future version of Emacs. Please consider using -Cairo + HarfBuzz instead. - ---- -** 'configure' now warns about not using HarfBuzz if using Cairo. -We want to encourage people to use the most modern font features -available, and this is the Cairo graphics library + HarfBuzz for font -shaping, so 'configure' now recommends that combination. - ---- -** Building without double buffering support. -'configure --with-xdbe=no' can now be used to disable double buffering -at build time. - ---- -** Support for building with Motif has been removed. - ---- -** The configure option '--without-makeinfo' has been removed. -This was only ever relevant when building from a repository checkout. -This now requires makeinfo, which is part of the texinfo package. - ---- -** New configure option '--disable-year2038'. -This causes Emacs to use only 32-bit time_t on platforms that have -both 32- and 64-bit time_t. This may help when linking Emacs with a -library with an ABI requiring traditional 32-bit time_t. This option -currently affects only 32-bit ARM and x86 running GNU/Linux with glibc -2.34 and later. Emacs now defaults to 64-bit time_t on these -platforms. - ---- -** Support for building with '-fcheck-pointer-bounds' has been removed. -GCC has withdrawn the '-fcheck-pointer-bounds' option and support for -its implementation has been removed from the Linux kernel. - ---- -** The ftx font backend driver has been removed. -It was declared obsolete in Emacs 27.1. - ---- -** Emacs no longer supports old OpenBSD systems. -OpenBSD 5.3 and older releases are no longer supported, as they lack -proper pty support that Emacs needs. - - -* Startup Changes in Emacs 28.1 - ---- -** In GTK builds, Emacs now supports startup notification. -This means that Emacs won't steal keyboard focus upon startup -(when started via the Desktop) if the user is typing into another -application. - ---- -** Errors in 'kill-emacs-hook' no longer prevent Emacs from shutting down. -If a function in that hook signals an error in an interactive Emacs, -the user will be prompted on whether to continue. If the user doesn't -answer within five seconds, Emacs will continue shutting down anyway. - -** Emacs now supports loading a Secure Computing filter. -This is supported only on capable GNU/Linux systems. To activate, -invoke Emacs with the '--seccomp=FILE' command-line option. FILE must -name a binary file containing an array of 'struct sock_filter' -structures. Emacs will then install that list of Secure Computing -filters into its own process early during the startup process. You -can use this functionality to put an Emacs process in a sandbox to -avoid security issues when executing untrusted code. See the manual -page for 'seccomp' system call, for details about Secure Computing -filters. - -** Emacs can support 24-bit color TTY without terminfo database. -If your text-mode terminal supports 24-bit true color, but your system -lacks the terminfo database, you can instruct Emacs to support 24-bit -true color by setting 'COLORTERM=truecolor' in the environment. This is -useful on systems such as FreeBSD which ships only with "etc/termcap". - ---- -** File names given on the command line are now be pushed onto history. -The file names will be pushed onto 'file-name-history', like the names -of files visited via 'C-x C-f' and other commands. +** Emacs now installs the ".pdmp" file using a unique fingerprint in the name. +The file is typically installed using a file name akin to +"...dir/libexec/emacs/29.1/x86_64-pc-linux-gnu/emacs-.pdmp". +If a constant file name is required, the file can be renamed to +"emacs.pdmp", and Emacs will find it during startup anyway. -* Changes in Emacs 28.1 - ---- -** Emacs now supports Unicode Standard version 14.0. - -+++ -** Improved support for Emoji. -On capable systems, Emacs now correctly displays Emoji and Emoji -sequences by default, provided that a suitable font is available to -Emacs. With a few exceptions, all of the Emoji sequences specified by -Unicode 14.0 are automatically composed and displayed as a single -colorful glyph. This is achieved by changes in the Emacs font -configuration, and by additional character-composition rules for the -Emoji codepoints that follow from the Unicode-defined sequences. - -If your system lacks a suitable font, we recommend to install "Noto -Color Emoji"; Emacs will use it automatically if it's installed. If -you prefer to use another font for Emoji, customize your fontset like -this: - - (set-fontset-font t 'emoji - '("My New Emoji Font" . "iso10646-1") nil 'prepend) - -The Emoji characters are now assigned to a special script, 'emoji', so -as to make it easier to customize fontsets for Emoji display, as in -the above example. (Previously, the Emoji characters were assigned to -the 'symbol' script, together with other symbol and punctuation -characters.) - -+++ -** 'glyphless-char-display-control' now applies to Variation Selectors. -VS-1 through VS-16 are now displayed as 'thin-space' by default when -not composed with previous characters (typically, as part of Emoji -sequences). +* Startup Changes in Emacs 29.1 +++ -** New command 'execute-extended-command-for-buffer'. -This new command, bound to 'M-S-x', works like -'execute-extended-command', but limits the set of commands to the -commands that have been determined to be particularly useful with the -current mode. +** Emacs now has a '--fingerprint' option. +This will output a string identifying the current Emacs build. +++ -** New user option 'read-extended-command-predicate'. -This user option controls how 'M-x' performs completion of commands when -you type 'TAB'. By default, any command that matches what you have -typed is considered a completion candidate, but you can customize this -option to exclude commands that are not applicable to the current -buffer's major and minor modes, and respect the command's completion -predicate (if any). +** New hook 'after-pdump-load-hook'. +This is run at the end of the Emacs startup process, and it meant to +be used to reinitialize structures that would normally be done at load +time. -+++ -** Completion on 'M-x' shows key bindings for commands. -When 'suggest-key-bindings' is non-nil (as it is by default), the -completion list popped up by 'M-x' shows the key bindings for all the -commands shown in the list of candidate completions that have a key -binding. + +* Changes in Emacs 29.1 -+++ -** New user option 'completions-detailed'. -When non-nil, some commands like 'describe-symbol' show more detailed -completions with more information in completion prefix and suffix. -The default is nil. +** Help --- -** 'C-s' in 'M-x' now once again searches over completions. -In Emacs 23, typing 'M-x' ('read-extended-command') and then 'C-s' (to -do an interactive search) would search over possible completions. -This was lost in Emacs 24, but is now back again. - -+++ -** User option 'completions-format' supports a new value 'one-column'. +*** 'C-h b' uses outlining by default. +Set 'describe-bindings-outline' to nil to get the old behaviour. -+++ -** New system for displaying documentation for groups of functions. -This can either be used by saying 'M-x shortdoc-display-group' and -choosing a group, or clicking a button in the "*Help*" buffers when -looking at the doc string of a function that belongs to one of these -groups. +--- +*** Jumping to function/variable source now saves mark before moving point. +Jumping to source from "*Help*" buffer moves the point when the source +buffer is already open. Now, the old point is pushed to mark ring. +++ -** New minor mode 'context-menu-mode' for context menus popped by 'mouse-3'. -When this mode is enabled, clicking 'down-mouse-3' (usually, the -right mouse button) anywhere in the buffer pops up a menu whose -contents depends on surrounding context near the mouse click. -You can change the order of the default sub-menus in the context menu -by customizing the user option 'context-menu-functions'. You can also -invoke the context menu by pressing 'S-' or, on macOS, by -clicking 'C-down-mouse-1'. +*** New key bindings in *Help* buffers: 'n' and 'p'. +These will take you (respectively) to the next and previous "page". -+++ -** A new keymap for buffer actions has been added. -The 'C-x x' keymap now holds keystrokes for various buffer-oriented -commands. The new keystrokes are 'C-x x g' ('revert-buffer-quick'), -'C-x x r' ('rename-buffer'), 'C-x x u' ('rename-uniquely'), 'C-x x n' -('clone-buffer'), 'C-x x i' ('insert-buffer'), 'C-x x t' -('toggle-truncate-lines') and 'C-x x f' ('font-lock-update'). +** Outline Minor Mode +++ -** Modifiers now go outside angle brackets in pretty-printed key bindings. -For example, 'RET' with Control and Meta modifiers is now shown as -'C-M-' instead of ''. Either variant can be used -as input; functions such as 'kbd' and 'read-kbd-macro' accept both -styles as equivalent (they have done so for a long time). +*** New user option 'outline-minor-mode-use-buttons'. +If non-nil, Outline Minor Mode will use buttons to hide/show outlines +in addition to the ellipsis. --- -** 'eval-expression' no longer signals an error on incomplete expressions. -Previously, typing 'M-: ( RET' would result in Emacs saying "End of -file during parsing" and dropping out of the minibuffer. The user -would have to type 'M-: M-p' to edit and redo the expression. Now -Emacs will echo the message and allow the user to continue editing. +*** New user option 'outline-minor-mode-buttons'. +This is a list of pairs of open/close strings used to display buttons. -+++ -** 'eval-last-sexp' now handles 'defvar'/'defcustom'/'defface' specially. -This command would previously not redefine values defined by these -forms, but this command has now been changed to work more like -'eval-defun', and reset the values as specified. +** Fonts --- -** New user option 'use-short-answers'. -When non-nil, the function 'y-or-n-p' is used instead of -'yes-or-no-p'. This eliminates the need to define an alias that maps -one to another in the init file. The same user option also controls -whether the function 'read-answer' accepts short answers. - -+++ -** New user option 'kill-buffer-delete-auto-save-files'. -If non-nil, killing a buffer that has an auto-save file will prompt -the user for whether that auto-save file should be deleted. (Note -that 'delete-auto-save-files', if non-nil, was previously documented -to result in deletion of auto-save files when killing a buffer without -unsaved changes, but this has apparently not worked for several -decades, so the documented semantics of this variable has been changed -to match the behavior.) +*** Emacs now supports "medium" fonts. +Emacs previously didn't distinguish between the "regular" weight and +the "medium" weight, but it now also supports the (heavier) "medium" +weight. +++ -** New user option 'next-error-message-highlight'. -In addition to a fringe arrow, 'next-error' error may now optionally -highlight the current error message in the 'next-error' buffer. -This user option can be also customized to keep highlighting on all -visited errors, so you can have an overview what errors were already visited. +** Support for the WebP image format. +This support is built by default when the libwebp library is +available. To disable it, use the '--without-webp' configure flag. +Image specifiers can now use ':type webp'. ---- -** New choice 'next-error-quit-window' for 'next-error-found-function'. -When 'next-error-found-function' is customized to 'next-error-quit-window', -then typing the numeric prefix argument 0 before the command 'next-error' -will quit the source window after visiting the next occurrence. +** Windows +++ -** New user option 'file-preserve-symlinks-on-save'. -This controls what Emacs does when saving buffers that visit files via -symbolic links, and 'file-precious-flag' is non-nil. +*** 'display-buffer' now can set up the body size of the chosen window. +For example, an alist entry as '(window-width . (body-columns . 40))' +will make the body of the chosen window 40 columns wide. -+++ -** New user option 'copy-directory-create-symlink'. -If non-nil, will make 'copy-directory' (when used on a symbolic -link) copy the link instead of following the link. The default is -nil, so the default behavior is unchanged. +** Better detection of text suspiciously reordered on display. +The function 'bidi-find-overridden-directionality' has been extended +to detect reordering effects produced by embeddings and isolates +(started by directional formatting control characters such as RLO and +LRI). The new command 'highlight-confusing-reorderings' finds and +highlights segments of buffer text whose reordering for display is +suspicious and could be malicious. -+++ -** New user option 'ignored-local-variable-values'. -This is the opposite of 'safe-local-variable-values' -- it's an alist -of variable-value pairs that are to be ignored when reading a -local-variables section of a file. + ---- -** Specific warnings can now be disabled from the warning buffer. -When a warning is displayed to the user, the resulting buffer now has -buttons which allow making permanent changes to the treatment of that -warning. Automatic showing of the warning can be disabled (although -it is still logged to the "*Messages*" buffer), or the warning can be -disabled entirely. +** Emacs server and client changes +++ -** ".dir-locals.el" now supports setting 'auto-mode-alist'. -The new 'auto-mode-alist' specification in ".dir-locals.el" files can -now be used to override the global 'auto-mode-alist' in the current -directory tree. +*** New command-line option '-r' for emacsclient. +With this command-line option, Emacs reuses an existing graphical client +frame if one exists; otherwise it creates a new frame. ---- -** User option 'uniquify-buffer-name-style' can now be a function. -This user option can be one of the predefined styles or a function to -personalize the uniquified buffer name. +* Editing Changes in Emacs 29.1 --- -** 'remove-hook' is now an interactive command. +** Indentation of 'cl-flet' and 'cl-labels' has changed. +These forms now indent like this: ---- -** 'expand-file-name' now checks for null bytes in filenames. -The function will now check for null bytes in both NAME and -DEFAULT-DIRECTORY arguments, as well as in the 'default-directory' -buffer-local variable, when its value is used. If null bytes are -found, 'expand-file-name' will signal an error. -This means that practically all file-related operations will now check -file names for null bytes, thus avoiding subtle bugs with silently -using only the part of file name up to the first null byte. + (cl-flet ((bla (x) + (* x x))) + (bla 42)) ---- -** Frames +This change also affects 'cl-macrolet', 'cl-flet*' and +'cl-symbol-macrolet'. +++ -*** The key prefix 'C-x 5 5' displays next command buffer in a new frame. -It's bound to the command 'other-frame-prefix' that requests the buffer -of the next command to be displayed in a new frame. +** New user option 'translate-upper-case-key-bindings'. +This can be set to nil to inhibit translating upper case keys to lower +case keys. +++ -*** New command 'clone-frame' (bound to 'C-x 5 c'). -This is like 'C-x 5 2', but uses the window configuration and frame -parameters of the current frame instead of 'default-frame-alist'. -When called interactively with a prefix arg, the window configuration -is not cloned. +** New command 'ensure-empty-lines'. +This command increases (or decreases) the number of empty lines before +point. --- -*** Default values of 'frame-title-format' and 'icon-title-format' have changed. -These variables are used to display the title bar of visible frames -and the title bar of an iconified frame. They now show the name of -the current buffer and the text "GNU Emacs" instead of the value of -'invocation-name'. To get the old behavior back, add the following to -your init file: - - (setq frame-title-format '(multiple-frames "%b" - ("" invocation-name "@" system-name))) - -+++ -*** New frame parameter 'drag-with-tab-line'. -This parameter, similar to 'drag-with-header-line', allows moving frames -by dragging the tab lines of their topmost windows with the mouse. +*** Improved mouse behavior with auto-scrolling modes. +When clicking inside the 'scroll-margin' or 'hscroll-margin' region +the point is now moved only when releasing the mouse button. This no +longer results in a bogus selection, unless the mouse has been +effectively dragged. +++ -*** New optional behavior of 'delete-other-frames'. -When invoked with a prefix argument, 'delete-other-frames' now -iconifies frames, rather than deleting them. +** 'kill-ring-max' now defaults to 120. --- -*** Commands 'set-frame-width' and 'set-frame-height' now prompt for values. -These commands now prompt for the value via the minibuffer, instead of -requiring the user to specify the value via the prefix argument. - -** Windows - -+++ -*** The key prefix 'C-x 4 1' displays next command buffer in the same window. -It's bound to the command 'same-window-prefix' that requests the buffer -of the next command to be displayed in the same window. - -+++ -*** The key prefix 'C-x 4 4' displays next command buffer in a new window. -It's bound to the command 'other-window-prefix' that requests the buffer -of the next command to be displayed in a new window. - -+++ -*** New command 'recenter-other-window', bound to 'S-M-C-l'. -Like 'recenter-top-bottom', but acting on the other window. +** New user option 'yank-menu-max-items'. +Customize this option to limit the amount of entries in the menu +"Edit->Paste from Kill Menu". The default is 60. -+++ -*** New user option 'delete-window-choose-selected'. -This allows specifying how Emacs chooses which window will be the -frame's selected window after the currently selected window is -deleted. +** show-paren-mode +++ -*** New argument NO-OTHER for some window functions. -'get-lru-window', 'get-mru-window' and 'get-largest-window' now accept a -new optional argument NO-OTHER which, if non-nil, avoids returning a -window whose 'no-other-window' parameter is non-nil. +*** New user option 'show-paren-context-when-offscreen'. +When non-nil, if the point is in a closing delimiter and the opening +delimiter is offscreen, shows some context around the opening +delimiter in the echo area. -+++ -*** New 'display-buffer' function 'display-buffer-use-least-recent-window'. -This is like 'display-buffer-use-some-window', but won't reuse the -current window, and when called repeatedly will try not to reuse a -previously selected window. +** Comint +++ -*** New function 'window-bump-use-time'. -This updates the use time of a window. +*** 'comint-term-environment' is now aware of connection-local variables. +The user option 'comint-terminfo-terminal' and variable +'system-uses-terminfo' can now be set as connection-local variables to +change the terminal used on a remote host. -** Minibuffer + +* Changes in Specialized Modes and Packages in Emacs 29.1 -+++ -*** Minibuffer scrolling is now conservative by default. -This is controlled by the new variable 'scroll-minibuffer-conservatively'. -It is t by default; setting it to nil will cause scrolling in the -minibuffer obey the value of 'scroll-conservatively'. +** vc -+++ -*** Improved handling of minibuffers on switching frames. -By default, when you switch to another frame, an active minibuffer now -moves to the newly selected frame. Nevertheless, the effect of what -you type in the minibuffer happens in the frame where the minibuffer -was first activated. An alternative behavior is available by -customizing 'minibuffer-follows-selected-frame' to nil. Here, the -minibuffer stays in the frame where you first opened it, and you must -switch back to this frame to continue or abort its command. The old -behavior, which mixed these two, can be approximated by customizing -'minibuffer-follows-selected-frame' to a value which is neither nil -nor t. +--- +*** 'C-x v v' on an unregistered file will now use the most specific backend. +Previously, if you had an SVN-covered ~/ directory, and a Git-covered +directory in ~/foo/bar, using 'C-x v v' on a new, unregistered file +~/foo/bar/zot would register it in the SVN repository in ~/ instead of +in the Git repository in ~/foo/bar. This makes this command +consistent with 'vc-responsible-backend'. -+++ -*** New user option 'read-minibuffer-restore-windows'. -When customized to nil, it uses 'minibuffer-restore-windows' in -'minibuffer-exit-hook' to remove only the window showing the -"*Completions*" buffer, but keeps all other windows created -while the minibuffer was active. +** Message --- -*** New variable 'redisplay-adhoc-scroll-in-resize-mini-windows'. -Customizing it to nil will disable the ad-hoc auto-scrolling of -minibuffer text shown in mini-windows when resizing those windows. -The default heuristics of that scrolling can be counter productive in -some corner cases, though the cure might be worse than the disease. -This said, the effect should be negligible in the vast majority of -cases anyway. +*** New user option 'mml-attach-file-at-the-end'. +If non-nil, 'C-c C-a' will put attached files at the end of the message. -** Mode Line +** Gnus +++ -*** New user option 'mode-line-compact'. -If non-nil, repeating spaces are compressed into a single space. If -'long', this is only done when the mode line is longer than the -current window width (in columns). +*** New user option 'gnus-treat-emojize-symbols'. +If non-nil, symbols that have an emoji representation will be +displayed as emojis. +++ -*** New user options to control format of line/column numbers in the mode line. -'mode-line-position-line-format' is the line number format (when -'line-number-mode' is on), 'mode-line-position-column-format' is -the column number format (when 'column-number-mode' is on), and -'mode-line-position-column-line-format' is the combined format (when -both modes are on). - -** Tab Bars and Tab Lines +*** New command 'gnus-article-emojize-symbols'. +This is bound to 'W D e' and will display symbols that have emoji +representation as emojis. -+++ -*** The prefix key 'C-x t t' can be used to display a buffer in a new tab. -Typing 'C-x t t' before a command will cause the buffer shown by that -command to be displayed in a new tab. 'C-x t t' is bound to the -command 'other-tab-prefix'. +** EIEIO +++ - *** 'slot-value' can now be used to read slots of 'cl-defstruct' objects + *** New command 'C-x t C-r' to open file read-only in the other tab. + + *** The tab bar now supports more mouse commands. + Clicking 'mouse-2' closes the tab, 'mouse-3' displays the context menu + with items that operate on the clicked tab. Dragging the tab with + 'mouse-1' moves it to another position on the tab bar. Mouse wheel + scrolling switches to the previous/next tab, and holding the Shift key + during scrolling moves the tab to the left/right. + + +++ + *** Frame-specific appearance of the tab bar when 'tab-bar-show' is a number. + When 'tab-bar-show' is a number, the tab bar on different frames can + be shown or hidden independently, as determined by the number of tabs + on each frame compared to the numerical value of 'tab-bar-show'. + + +++ + *** New command 'toggle-frame-tab-bar'. + It can be used to enable/disable the tab bar on the currently selected + frame regardless of the values of 'tab-bar-mode' and 'tab-bar-show'. + This allows enabling/disabling the tab bar independently on different + frames. + + --- + *** New user option 'tab-bar-format' defines a list of tab bar items. + When it contains 'tab-bar-format-global' (possibly appended after + 'tab-bar-format-align-right'), then after enabling 'display-time-mode' + (or any other mode that uses 'global-mode-string') it displays time + aligned to the right on the tab bar instead of on the mode line. + When 'tab-bar-format-tabs' is replaced with 'tab-bar-format-tabs-groups', + the tab bar displays tab groups. + + --- + *** New optional key binding for 'tab-last'. + If you customize the user option 'tab-bar-select-tab-modifiers' to + allow selecting tabs using their index numbers, the '-9' key + is bound to 'tab-last', and switches to the last tab. Here + is any of the modifiers in the list that is the value of + 'tab-bar-select-tab-modifiers'. You can also use negative indices, + which count from the last tab: -1 is the last tab, -2 the one before + that, etc. + + --- + *** New command 'tab-duplicate' bound to 'C-x t n'. + + --- + *** 'C-x t N' creates a new tab at the specified absolute position. + The position is provided as prefix arg, and specifies an index that + starts at 1. Negative values count from the end of the tab bar. + + --- + *** 'C-x t M' moves the current tab to the specified absolute position. + The position is provided as prefix arg, whose interpretation is as in + 'C-x t N'. + + --- + *** 'C-x t G' assigns a tab to a named group of tabs. + 'tab-close-group' closes all tabs that belong to the selected group. + The user option 'tab-bar-new-tab-group' defines the default group of + new tabs. After customizing 'tab-bar-tab-post-change-group-functions' + to 'tab-bar-move-tab-to-group', changing the group of a tab will also + move it closer to other tabs in the same group. + + --- + *** New user option 'tab-bar-tab-name-format-function'. + + --- + *** New user option 'tab-line-tab-name-format-function'. ---- -*** The tabs in the tab line can now be scrolled using horizontal scroll. -If your mouse or trackpad supports it, you can now scroll tabs when -the mouse pointer is in the tab line by scrolling left or right. - ---- -*** New tab-line faces and user options. -The face 'tab-line-tab-special' is used for tabs whose buffers are -special, i.e. buffers that don't visit a file. The face -'tab-line-tab-modified' is used to display modified, file-backed -buffers. The face 'tab-line-tab-inactive-alternate' is used to -display inactive tabs with an alternating background color, making -them easier to distinguish, especially if the face 'tab-line-tab' is -configured to not display with a box; this alternate face is only -applied when the user option 'tab-line-tab-face-functions' is so -configured. That option may also be used to customize tab-line faces -in other ways. - -** Mouse wheel +** align --- -*** Mouse wheel scrolling now defaults to one line at a time. +*** Alignment in 'text-mode' has changed. +Previously, 'M-x align' didn't do anything, and you had to say 'C-u +M-x align' for it to work. This has now been changed. The default +regexp for 'C-u M-x align-regexp' has also been changed to be easier +for inexperienced users to use. ---- -*** Mouse wheel scrolling now works on more parts of frame's display. -When using 'mouse-wheel-mode', the mouse wheel will now scroll also when -the mouse cursor is on the scroll bars, fringes, margins, header line, -and mode line. ('mouse-wheel-mode' is enabled by default on most graphical -displays.) +** eww +++ -*** Mouse wheel scrolling with Shift modifier now scrolls horizontally. -This works in text buffers and over images. Typing a numeric prefix arg -(e.g. 'M-5') before starting horizontal scrolling changes its step value. -The value is saved in the user option 'mouse-wheel-scroll-amount-horizontal'. - -** Customize - ---- -*** Customize buffers can now be reverted with 'C-x x g'. - ---- -*** Most customize commands now hide obsolete user options. -Obsolete user options are no longer shown in the listings produced by -the commands 'customize', 'customize-group', 'customize-apropos' and -'customize-changed'. - -To customize obsolete user options, use 'customize-option' or -'customize-saved'. - ---- -*** New SVG icons for checkboxes and arrows. -They will be used automatically instead of the old icons. If Emacs is -built without SVG support, the old icons will be used instead. +*** New user option to automatically rename EWW buffers. +The 'eww-auto-rename-buffer' user option can be configured to rename +rendered web pages by using their title, URL, or a user-defined +function which returns a string. For the first two cases, the length +of the resulting name is controlled by 'eww-buffer-name-length'. By +default, no automatic renaming is performed. ** Help