From: Stefan Kangas Date: Sat, 29 Jun 2024 02:09:51 +0000 (+0200) Subject: ; * etc/NEWS: Move many items. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=191bf94cd2e91af25945de8593ad52dec7d20a9f;p=emacs.git ; * etc/NEWS: Move many items. This moves items to more logical places in the hierarchy. We might want to give this another pass or three. (cherry picked from commit 4ddbf4f70ef74c76484cb0400ac30a3933234ec2) --- diff --git a/etc/NEWS.30 b/etc/NEWS.30 index 77a4b15a8a0..93caebe49d6 100644 --- a/etc/NEWS.30 +++ b/etc/NEWS.30 @@ -24,6 +24,14 @@ applies, and please also update docstrings as needed. * Installation Changes in Emacs 30.1 +--- +** Native compilation is now enabled by default. +'configure' will enable the Emacs Lisp native compiler, so long as +libgccjit is present and functional on the system. To disable native +compilation, configure Emacs with the option: + + ./configure --with-native-compilation=no + +++ ** Emacs has been ported to the Android operating system. This requires Emacs to be compiled on another computer. The Android @@ -32,12 +40,10 @@ NDK, SDK, and a suitable Java compiler must also be installed. See the file 'java/INSTALL' for more details. --- -** Native compilation is now enabled by default. -'configure' will enable the Emacs Lisp native compiler, so long as -libgccjit is present and functional on the system. To disable native -compilation, configure Emacs with the option: - - ./configure --with-native-compilation=no +** Native JSON support is now always available; libjansson is no longer used. +No external library is required. The '--with-json' configure option has +been removed. 'json-available-p' now always returns non-nil and is only +kept for compatibility. --- ** Emacs now defaults to ossaudio library for sound on NetBSD and OpenBSD. @@ -49,12 +55,6 @@ external packages and to resolve potential incompatibilities between Linux and BSD versions of ALSA. Use '--with-sound=alsa' to build with ALSA on these operating systems instead. ---- -** Native JSON support is now always available; libjansson is no longer used. -No external library is required. The '--with-json' configure option has -been removed. 'json-available-p' now always returns non-nil and is only -kept for compatibility. - * Startup Changes in Emacs 30.1 @@ -74,15 +74,6 @@ more details. * Incompatible Changes in Emacs 30.1 -** Mouse wheel events should now always be 'wheel-up/down/left/right'. -At those places where the old 'mouse-4/5/6/7' events could still occur -(i.e., X11 input in the absence of XInput2, and 'xterm-mouse-mode'), -we remap them to the corresponding 'wheel-up/down/left/right' event, -according to the new variable 'mouse-wheel-buttons'. -The old variables 'mouse-wheel-up-event', 'mouse-wheel-down-event', -'mouse-wheel-left-event', and 'mouse-wheel-right-event' are thereby -obsolete. - ** Tree-Sitter modes are now declared as submodes of the non-TS modes. In order to help the use of those Tree-Sitter modes, they are now declared to have the corresponding non-Tree-Sitter mode as an @@ -93,6 +84,15 @@ collections of snippets automatically apply to the new Tree-Sitter modes. Note that those modes still do not inherit from the non-TS mode, so configuration settings installed via mode hooks are not affected. +** Mouse wheel events should now always be 'wheel-up/down/left/right'. +At those places where the old 'mouse-4/5/6/7' events could still occur +(i.e., X11 input in the absence of XInput2, and 'xterm-mouse-mode'), +we remap them to the corresponding 'wheel-up/down/left/right' event, +according to the new variable 'mouse-wheel-buttons'. +The old variables 'mouse-wheel-up-event', 'mouse-wheel-down-event', +'mouse-wheel-left-event', and 'mouse-wheel-right-event' are thereby +obsolete. + +++ ** URL now never sends user email addresses in HTTP requests. Emacs never sent email addresses by default, but it used to be @@ -115,12 +115,6 @@ To undo the change, set 'fast-read-process-output' to nil. * Changes in Emacs 30.1 -** 'describe-function' now shows the type of the function object. -The text used to say things like "car is is a built-in function" -whereas it now says "car is a primitive-function" where "primitive-function" -is the symbol returned by 'cl-type-of' and you can click on it to get -information about that type. - ** 'advice-remove' is now an interactive command. When called interactively, 'advice-remove' now prompts for an advised function to the advice to remove. @@ -154,6 +148,12 @@ number has been bumped to 2048 bits. For native compiled Lisp functions 'describe-function' prints (after the signature) the automatically inferred function type as well. +*** 'describe-function' now shows the type of the function object. +The text used to say things like "car is is a built-in function" whereas +it now says "car is a primitive-function" where "primitive-function" is +the symbol returned by 'cl-type-of'. You can click on those words to +get information about that type. + --- *** New user option 'describe-bindings-outline-rules'. This user option controls outline visibility in the output buffer of @@ -183,21 +183,22 @@ itself, i.e. and so on. -** Emacs now comes with Org v9.7. -See the file "etc/ORG-NEWS" for user-visible changes in Org. - -** Outline mode ++++ +*** Multi-character key echo now ends with a suggestion to use Help. +Customize 'echo-keystrokes-help' to nil to prevent that. -*** New commands to show/hide outlines by regexp. -'/ h' ('outline-hide-by-heading-regexp') asks for a regexp and then -hides the body lines of all outlines whose heading lines match the -regexp. '/ s' ('outline-show-by-heading-regexp') does the same but -shows the matched outlines. +** Customize +++ -*** 'outline-minor-mode' is supported in tree-sitter major modes. -It can be used in all tree-sitter major modes that set either the -variable 'treesit-simple-imenu-settings' or 'treesit-outline-predicate'. +*** New command 'customize-dirlocals'. +This command pops up a buffer to edit the settings in ".dir-locals.el". + +--- +*** New command 'customize-toggle-option'. +This command can toggle boolean options for the duration of a session. + +** Emacs now comes with Org v9.7. +See the file "etc/ORG-NEWS" for user-visible changes in Org. ** X selection requests are now handled much faster and asynchronously. This means it should be less necessary to disable the likes of @@ -216,10 +217,6 @@ When non-nil, selecting "Close" from the "File" menu or clicking "Close" in the tool bar will result in the current window being closed, if possible. -+++ -** 'write-region-inhibit-fsync' now defaults to t in interactive mode, -as it has in batch mode since Emacs 24. - +++ ** New user option 'remote-file-name-inhibit-delete-by-moving-to-trash'. When non-nil, this option suppresses moving remote files to the local @@ -235,53 +232,28 @@ remote buffers. The default is nil. When a positive number, this option limits the call of 'access-file' for remote files to this number of seconds. Default is nil. -+++ -** New user option 'yes-or-no-prompt'. -This allows the user to customize the prompt that is appended by -'yes-or-no-p' when asking questions. The default value is -"(yes or no) ". - ---- -** New face 'display-time-date-and-time'. -This is used for displaying the time and date components of -'display-time-mode'. - --- ** New icon images for general use. Several symbolic icons are added to "etc/images/symbols", including plus, minus, check-mark, star, etc. +** Tool bars + +++ -** Tool bars can now be placed on the bottom on more systems. +*** Tool bars can now be placed on the bottom on more systems. The 'tool-bar-position' frame parameter can be set to 'bottom' on all window systems other than Nextstep. +++ -** New global minor mode 'modifier-bar-mode'. +*** New global minor mode 'modifier-bar-mode'. When this minor mode is enabled, buttons representing modifier keys are displayed along the tool bar. +++ -** New user option 'tool-bar-always-show-default'. +*** New user option 'tool-bar-always-show-default'. When non-nil, the tool bar at the top of a frame does not show buffer local customization of the tool bar. The default value is nil. -+++ -** "d" in the mode line now indicates that the window is dedicated. -Windows have always been able to be dedicated to a specific buffer; -see 'window-dedicated-p'. Now the mode line indicates the dedicated -status of a window, with "d" appearing in the mode line if a window is -dedicated and "D" if the window is strongly dedicated. This indicator -appears before the buffer name, and after the buffer modification and -remote buffer indicators (usually "---" together). - -+++ -** New command 'toggle-window-dedicated'. -This makes it easy to interactively mark a specific window as -dedicated, so it won't be reused by 'display-buffer'. This can be -useful for complicated window setups. It is bound to 'C-x w d' -globally. - --- ** New user option 'uniquify-dirname-transform'. This can be used to customize how buffer names are uniquified, by @@ -291,12 +263,6 @@ can use this to distinguish between buffers visiting files with the same base name that belong to different projects by using the provided transform function 'project-uniquify-dirname-transform'. -** 'insert-directory-program' is now a user option. -On *BSD and macOS systems, this user option now defaults to the "gls" -executable, if it exists. This should remove the need to change its -value when installing GNU coreutils using something like ports or -Homebrew. - +++ ** CL Print @@ -332,6 +298,22 @@ right-aligned to is controlled by the new user option ** Windows ++++ +*** New command 'toggle-window-dedicated'. +This makes it easy to interactively mark a specific window as +dedicated, so it won't be reused by 'display-buffer'. This can be +useful for complicated window setups. It is bound to 'C-x w d' +globally. + ++++ +*** "d" in the mode line now indicates that the window is dedicated. +Windows have always been able to be dedicated to a specific buffer; +see 'window-dedicated-p'. Now the mode line indicates the dedicated +status of a window, with "d" appearing in the mode line if a window is +dedicated and "D" if the window is strongly dedicated. This indicator +appears before the buffer name, and after the buffer modification and +remote buffer indicators (usually "---" together). + +++ *** New action alist entry 'some-window' for 'display-buffer'. It specifies which window 'display-buffer-use-some-window' should prefer. @@ -439,7 +421,7 @@ This will keep the fixed order of tabs, even after switching between them. +++ -** New optional argument for modifying directory-local variables. +** New prefix argument for modifying directory-local variables. The commands 'add-dir-local-variable', 'delete-dir-local-variable' and 'copy-file-locals-to-dir-locals' now take an optional prefix argument, to enter the file name you want to modify. @@ -473,14 +455,6 @@ actually jump to in the *Register Preview* buffer. When answering the prompt with "diff" or "=", it now shows the diffs between the auto save file and the current file. ---- -** 'ffap-lax-url' now defaults to nil. -Previously, it was set to t but this broke remote file name detection. - -+++ -** Multi-character key echo now ends with a suggestion to use Help. -Customize 'echo-keystrokes-help' to nil to prevent that. - +++ ** 'read-passwd' can toggle the visibility of passwords. Use 'TAB' in the minibuffer to show or hide the password. Likewise, @@ -501,8 +475,25 @@ TTY frames. Colors specified in face underlines will now also be displayed in TTY frames with the previously mentioned capabilities. ++++ +** Image ':map' property is now recomputed when image is transformed. +Now images with clickable maps work as expected after you run commands +such as 'image-increase-size', 'image-decrease-size', 'image-rotate', +'image-flip-horizontally', and 'image-flip-vertically'. +Set the new user option 'image-recompute-map-p' to nil to prevent Emacs +from recomputing image maps. + ++++ +** Most file notification backends detect unmounting of a watched filesystem. +The only exception is w32notify. + ** Miscellaneous +--- +*** New command 'kill-matching-buffers-no-ask'. +This works like 'kill-matching-buffers', but without asking for +confirmation. + *** New user option 'safe-local-variable-directories'. This user option names directories in which Emacs will treat all directory-local variables as safe. @@ -512,6 +503,17 @@ directory-local variables as safe. It can be used to customize the look of the appointment notification displayed on the mode line when 'appt-display-mode-line' is non-nil. ++++ +*** New user option 'yes-or-no-prompt'. +This allows the user to customize the prompt that is appended by +'yes-or-no-p' when asking questions. The default value is +"(yes or no) ". + +--- +*** New face 'display-time-date-and-time'. +This is used for displaying the time and date components of +'display-time-mode'. + --- *** Emacs now recognizes shebang lines that pass '-S'/'--split-string' to 'env'. When visiting a script that invokes 'env -S INTERPRETER ARGS...' in @@ -524,8 +526,25 @@ This function lets the user execute multiple SQL statements in one go. It is useful, for example, when a Lisp program needs to evaluate an entire SQL file. +*** 'insert-directory-program' is now a user option. +On *BSD and macOS systems, this user option now defaults to the "gls" +executable, if it exists. This should remove the need to change its +value when installing GNU coreutils using something like ports or +Homebrew. + ++++ +*** 'write-region-inhibit-fsync' now defaults to t in interactive mode, +as it has in batch mode since Emacs 24. + *** The default value of 'read-process-output-max' was increased to 65536. ++++ +*** 'url-gateway-broken-resolution' is now obsolete. +This option was intended for use on SunOS 4.x and Ultrix systems, +neither of which have been supported by Emacs since version 23.1. +The user option 'url-gateway-nslookup-program' and the function +'url-gateway-nslookup-host' are consequently also obsolete. + * Editing Changes in Emacs 30.1 @@ -543,11 +562,14 @@ buffers. (This minor mode is the 'adaptive-wrap' ELPA package renamed and lightly edited for inclusion in Emacs.) -+++ -** New user option 'gud-highlight-current-line'. -When enabled, Gud will visually emphasize the line being executed upon -pauses in the debugee's execution, such as those occasioned by -breakpoints being hit. +** New command 'replace-regexp-as-diff'. +It reads a regexp to search for and a string to replace with, then +displays a buffer with replacements as diffs. After reviewing the +changes in the output buffer you can apply the replacements as +a patch to the current file buffer. There are also new commands +'multi-file-replace-regexp-as-diff' that shows as diffs replacements +in a list of specified files, and 'dired-do-replace-regexp-as-diff' +that shows as diffs replacements in the marked files in Dired. --- ** New global minor mode 'kill-ring-deindent-mode'. @@ -588,10 +610,31 @@ surrounding point and replace it with something else, as well as query Emacs for surrounding text. If your input method allows you to "undo" mistaken compositions, this will now work as well. ---- -** New command 'kill-matching-buffers-no-ask'. -This works like 'kill-matching-buffers', but without asking for -confirmation. ++++ +** New Advanced Macro Counter functions. +New commands have been added to implement advanced macro counter +functions. + +The commands 'C-x C-k C-r l' and 'C-x C-k C-r s' load and save the +macro counter from and to a number register, respectively. + +The commands 'C-x C-k C-r a =', 'C-x C-k C-r a <', and +'C-x C-k C-r a >' compare the macro counter with the contents of a +number register and increment the counter by an optional prefix if the +comparison succeeds. + +The commands 'C-x C-k C-q =', 'C-x C-k C-q <', and 'C-x C-k C-q >' +compare the macro counter with an optional prefix and terminate the +macro if the comparison succeeds. + ++++ +** New mode 'kmacro-menu-mode' and new command 'list-keyboard-macros'. +The new command 'list-keyboard-macros' is the keyboard-macro version +of commands like 'list-buffers' and 'list-processes', creating a listing +of the currently existing keyboards macros using the new mode +'kmacro-menu-mode'. It allows rearranging the macros in the ring, +duplicating them, deleting them, and editing their counters, formats, +and keys. --- ** New user option 'duplicate-region-final-position'. @@ -678,11 +721,6 @@ This can now be entered using 'C-x 8 E' in addition to the existing * Changes in Specialized Modes and Packages in Emacs 30.1 ---- -** Titdic-cnv -Most of the variables and functions in the file have been renamed to -make sure they all use a 'tit-' namespace prefix. - --- ** Trace In batch mode, tracing now sends the trace to stdout. @@ -701,6 +739,19 @@ This mode now emits 'wheel-up/down/right/left' events instead of It uses the new variable 'mouse-wheel-buttons' to decide which button maps to which wheel event (if any). +** Outline mode + +*** New commands to show/hide outlines by regexp. +'/ h' ('outline-hide-by-heading-regexp') asks for a regexp and then +hides the body lines of all outlines whose heading lines match the +regexp. '/ s' ('outline-show-by-heading-regexp') does the same but +shows the matched outlines. + ++++ +*** 'outline-minor-mode' is supported in tree-sitter major modes. +It can be used in all tree-sitter major modes that set either the +variable 'treesit-simple-imenu-settings' or 'treesit-outline-predicate'. + ** Xref +++ @@ -718,11 +769,17 @@ arbitrary Info manuals. *** Emacs can now display Info manuals compressed with 'lzip'. This requires the 'lzip' program to be installed on your system. +** GUD (Grand Unified Debugger) + +++ -** New command 'lldb'. -Run the LLDB debugger, analogous to the 'gud-gdb' command. +*** New user option 'gud-highlight-current-line'. +When enabled, Gud will visually emphasize the line being executed upon +pauses in the debugee's execution, such as those occasioned by +breakpoints being hit. -** GDB MI ++++ +*** New command 'lldb'. +Run the LLDB debugger, analogous to the 'gud-gdb' command. --- *** Variable order and truncation can now be configured in 'gdb-many-windows'. @@ -875,17 +932,6 @@ the previously hard-coded "-b". It applies the diff in the entire diff buffer and saves all modified file buffers. -** Isearch and Replace - -*** New command 'replace-regexp-as-diff'. -It reads a regexp to search for and a string to replace with, then -displays a buffer with replacements as diffs. After reviewing the -changes in the output buffer you can apply the replacements as -a patch to the current file buffer. There are also new commands -'multi-file-replace-regexp-as-diff' that shows as diffs replacements -in a list of specified files, and 'dired-do-replace-regexp-as-diff' -that shows as diffs replacements in the marked files in Dired. - ** Dired --- @@ -1267,13 +1313,6 @@ output, reducing the time spent when printing large amounts of output. To restore the old behavior, set 'comint-password-prompt-max-length' to 'most-positive-fixnum'. -** Make mode - -*** The Makefile browser is now obsolete. -The command 'makefile-switch-to-browser' command is now obsolete, -together with related commands used in the "*Macros and Targets*" -buffer. We recommend using an alternative like 'imenu' instead. - ** Prog mode +++ @@ -1404,11 +1443,6 @@ manual "(tramp) Improving performance of asynchronous remote processes". When a direct asynchronous process is invoked, it uses 'tramp-remote-path' for setting the remote 'PATH' environment variable. -** File Notifications - -+++ -*** All backends except w32notify detect unmounting of a watched filesystem now. - ** EWW --- @@ -1849,18 +1883,6 @@ without specifying a file, like this: (notifications-notify :title "I am playing music" :app-icon 'multimedia-player) -** Image - -+++ -*** Image ':map' property is now recomputed when image is transformed. -Now images with clickable maps work as expected after you run commands -such as 'image-increase-size', 'image-decrease-size', 'image-rotate', -'image-flip-horizontally', and 'image-flip-vertically'. - -+++ -*** New user option 'image-recompute-map-p'. -Set this option to nil to prevent Emacs from recomputing image maps. - ** Image Dired *** New user option 'image-dired-thumb-naming'. @@ -1880,15 +1902,6 @@ An ERT extension ('ert-font-lock') now provides support for face assignment unit testing. For more information, see the "(ert) Syntax Highlighting Tests" node in the ERT manual. -** URL - -+++ -*** 'url-gateway-broken-resolution' is now obsolete. -This option was intended for use on SunOS 4.x and Ultrix systems, -neither of which have been supported by Emacs since version 23.1. -The user option 'url-gateway-nslookup-program' and the function -'url-gateway-nslookup-host' are consequently also obsolete. - ** Socks +++ @@ -1911,54 +1924,6 @@ When this is non-nil, the lines of key sequences are displayed with the most recent line first. This is can be useful when working with macros with many lines, such as from 'kmacro-edit-lossage'. -** Proced - ---- -*** More control on automatic update of Proced buffers. -The user option 'proced-auto-update-flag' can now be set to 2 additional -values, which control automatic updates of Proced buffers that are not -displayed in some window. - -** Kmacro - -+++ -*** New Advanced Macro Counter functions. -New commands have been added to implement advanced macro counter -functions. - -The commands 'C-x C-k C-r l' and 'C-x C-k C-r s' load and save the -macro counter from and to a number register, respectively. - -The commands 'C-x C-k C-r a =', 'C-x C-k C-r a <', and -'C-x C-k C-r a >' compare the macro counter with the contents of a -number register and increment the counter by an optional prefix if the -comparison succeeds. - -The commands 'C-x C-k C-q =', 'C-x C-k C-q <', and 'C-x C-k C-q >' -compare the macro counter with an optional prefix and terminate the -macro if the comparison succeeds. - -** Kmacro Menu mode - -+++ -*** New mode 'kmacro-menu-mode' and new command 'list-keyboard-macros'. -The new command 'list-keyboard-macros' is the keyboard-macro version -of commands like 'list-buffers' and 'list-processes', creating a listing -of the currently existing keyboards macros using the new mode -'kmacro-menu-mode'. It allows rearranging the macros in the ring, -duplicating them, deleting them, and editing their counters, formats, -and keys. - -** Customize - -+++ -*** New command 'customize-dirlocals'. -This command pops up a buffer to edit the settings in ".dir-locals.el". - ---- -** New command 'customize-toggle-option'. -This command toggles the value of a boolean (nil/non-nil) option. - ** Calc +++ @@ -1979,20 +1944,6 @@ The new user option 'ielm-history-file-name' is the name of the file where IELM input history will be saved. Customize it to nil to revert to the old behavior of not remembering input history between sessions. -** Xwidget Webkit - -+++ -*** New user option 'xwidget-webkit-disable-javascript'. -This allows disabling JavaScript in xwidget Webkit sessions. - -** Ls Lisp - ---- -*** 'ls-lisp--insert-directory' supports more long options of 'ls'. -'ls-lisp--insert-directory', the ls-lisp implementation of -'insert-directory', now supports the '--time=TIME' and '--sort=time' -options of GNU 'ls'. - ** Widget +++ @@ -2036,11 +1987,6 @@ will return the URL for that bug. ** Miscellaneous --- -*** Webjump now assumes URIs are HTTPS instead of HTTP. -For links in 'webjump-sites' without an explicit URI scheme, it was -previously assumed that they should be prefixed with "http://". Such -URIs are now prefixed with "https://" instead. - +++ *** New user option 'rcirc-log-time-format'. This allows for rcirc logs to use a custom timestamp format, than the @@ -2067,6 +2013,16 @@ that is, buffers not visiting a file and whose names start with a space. Previously, such buffers were never shown. This command is bound to 'I' in Buffer Menu mode. +--- +*** 'ffap-lax-url' now defaults to nil. +Previously, it was set to t but this broke remote file name detection. + +--- +*** More control on automatic update of Proced buffers. +The user option 'proced-auto-update-flag' can now be set to two +additional values, which control automatic updates of Proced buffers +that are not displayed in some window. + --- *** nXML Mode now comes with schemas for Mono/.NET development. The following new XML schemas are now supported: @@ -2080,11 +2036,36 @@ The following new XML schemas are now supported: ** color.el now supports the Oklab color representation. ++++ +*** New user option 'xwidget-webkit-disable-javascript'. +This allows disabling JavaScript in xwidget Webkit sessions. + +--- +*** 'ls-lisp--insert-directory' supports more long options of 'ls'. +'ls-lisp--insert-directory', the ls-lisp implementation of +'insert-directory', now supports the '--time=TIME' and '--sort=time' +options of GNU 'ls'. + --- ** 'M-x ping' can now give "ping" additional flags. Typing 'C-u M-x ping' prompts first for the host, and then for the flags to give to "ping". +*** Webjump now assumes URIs are HTTPS instead of HTTP. +For links in 'webjump-sites' without an explicit URI scheme, it was +previously assumed that they should be prefixed with "http://". Such +URIs are now prefixed with "https://" instead. + +--- +*** Added prefixes in titdic-cnv library. +Most of the variables and functions in the file have been renamed to +make sure they all use a 'tit-' namespace prefix. + +*** The Makefile browser is now obsolete. +The command 'makefile-switch-to-browser' command is now obsolete, +together with related commands used in the "*Macros and Targets*" +buffer. We recommend using an alternative like 'imenu' instead. + * New Modes and Packages in Emacs 30.1 @@ -2131,7 +2112,6 @@ A major mode based on the tree-sitter library for editing Lua files. *** New major mode 'php-ts-mode'. A major mode based on the tree-sitter library for editing PHP files. - ** Minibuffer and Completions +++