From 3d8e49c41a66a7f05cb96f84e2a10f0f308ac9ca Mon Sep 17 00:00:00 2001 From: Philip Kaludercic Date: Sat, 7 Dec 2024 20:02:00 +0100 Subject: [PATCH 01/15] Attempt to install package first when upgrading * lisp/emacs-lisp/package.el (package-upgrade): Swap the 'package-install' and the 'package-delete' invocations. (Bug#74556) --- lisp/emacs-lisp/package.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 53d04b0d5ec..33d74cc7663 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -2272,12 +2272,16 @@ had been enabled." ;; `pkg-desc' will be nil when the package is an "active built-in". (if (and pkg-desc (package-vc-p pkg-desc)) (package-vc-upgrade pkg-desc) - (when pkg-desc - (package-delete pkg-desc 'force 'dont-unselect)) (package-install package ;; An active built-in has never been "selected" ;; before. Mark it as installed explicitly. - (and pkg-desc 'dont-select))))) + (and pkg-desc 'dont-select)) + ;; We delete the old package via the descriptor after installing + ;; the new package to avoid losing the package if there issues + ;; during installation (Bug#74556). + (when pkg-desc + (cl-assert (package-desc-dir pkg-desc)) + (package-delete pkg-desc 'force 'dont-unselect))))) (defun package--upgradeable-packages (&optional include-builtins) ;; Initialize the package system to get the list of package From 59fa0b1dd6eba2d3fcc2568d79b3586638dbed04 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 8 Dec 2024 07:47:07 +0200 Subject: [PATCH 02/15] ; Improve doc strings in compile.el * lisp/progmodes/compile.el (compilation-transform-file-match-alist) (compilation-error-regexp-alist): Doc fixes. --- lisp/progmodes/compile.el | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 241b29c65b0..b76dd3bd298 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -61,16 +61,18 @@ If nil, use Emacs default." (defcustom compilation-transform-file-match-alist '(("/bin/[a-z]*sh\\'" nil)) - "Alist of regexp/replacements to alter file names in compilation errors. -If the replacement is nil, the file will not be considered an error -after all. If not nil, it should be a regexp replacement string. + "Alist of regexp/replacements to alter file names in compiler messages. +If the replacement is nil, the matching message will not be considered +an error or warning. If not nil, it should be a replacement string +for the matched regexp. -When a replacement regexp is specified, the value of the file name used -to locate the error is changed, but the compilation buffer still -displays the original value. +If a non-nil replacement is specified, the value of the matched file name +used to locate the warning or error is modified using the replacement, but +the compilation buffer still displays the original value. -For example, to prepend a subdirectory \"bar/\" to all file names, add -an entry matching \"\\\\=`\" and a replacement regexp of \"bar/\", i.e.: +For example, to prepend a subdirectory \"bar/\" to all file names in +compiler messages, add an entry matching \"\\\\=`\" and a replacement +string of \"bar/\", i.e.: (\"\\\\=`\" \"bar/\") @@ -803,10 +805,10 @@ Alternatively, FACE can evaluate to a property list of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...), in which case all the listed text properties PROP# are given values VAL# as well. -After identifying errors and warnings determined by this +After identifying compilation errors and warnings determined by this variable, the `compilation-transform-file-match-alist' variable is then consulted. It allows further transformations of the -matched file names, and weeding out false positives." +matched file names, and ignoring false positives." :type '(repeat (choice (symbol :tag "Predefined symbol") (sexp :tag "Error specification"))) :link `(file-link :tag "example file" From 4a090bd7eabebb366f56eb1c8f01ae59bcd3323d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 8 Dec 2024 07:58:41 +0200 Subject: [PATCH 03/15] ; * lisp/net/eww.el (eww-browse-with-external-browser): Fix typo. --- lisp/net/eww.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/net/eww.el b/lisp/net/eww.el index f9db0559853..6217f7674b7 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -2090,7 +2090,7 @@ Interactively, EVENT is the value of `last-nonmenu-event'." (defun eww-browse-with-external-browser (&optional url) "Browse the current URL with an external browser. -The browser to used is specified by the +The browser to use is specified by the `browse-url-secondary-browser-function' variable." (interactive nil eww-mode) (funcall browse-url-secondary-browser-function From f8da72b41cda77088231a03da2e0879a79c5f12e Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sun, 8 Dec 2024 14:51:50 +0100 Subject: [PATCH 04/15] Improve gnus.texi indexing * doc/misc/gnus.texi (Common Variables): Improve indexing. --- doc/misc/gnus.texi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 71d548f3cee..200b68d2059 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -14374,6 +14374,8 @@ where you would put a @samp{SOCKS} wrapper for instance. @vindex nntp-address The address of the @acronym{NNTP} server. +@cindex nntps +@cindex snews @item nntp-port-number @vindex nntp-port-number Port number to connect to the @acronym{NNTP} server. The default is From b4bcbabf95c5cf4d4175bfb78e56e717d21a1034 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Mon, 9 Dec 2024 15:50:59 +0100 Subject: [PATCH 05/15] * doc/misc/tramp.texi (FUSE-based methods): Fix sshfs reference. --- doc/misc/tramp.texi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 3af478052ed..94e06ce6af3 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -1530,10 +1530,10 @@ for accessing the system storage, you should use it. @vindex tramp-sshfs-program On local hosts which have installed the @command{sshfs} client for -mounting a file system based on @command{sftp}, this method can be -used, see -@uref{https://github.com/libfuse/sshfs/blob/master/README.rst/}. If -the @command{sshfs} program isn't found in your @env{PATH} environment +mounting a file system based on the @command{sftp} subsystem of +@command{ssh}, this method can be used, see +@uref{https://github.com/libfuse/sshfs/blob/master/README.md}. If the +@command{sshfs} program isn't found in your @env{PATH} environment variable, you can tell @value{tramp} its absolute path via the user option @code{tramp-sshfs-program}. From 872a7336dc083c6f28acb292cf389f0f14b0f354 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 9 Dec 2024 20:23:40 +0200 Subject: [PATCH 06/15] ; * etc/DEBUG: Mention "handle SIGINT" on MS-Windows. --- etc/DEBUG | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/etc/DEBUG b/etc/DEBUG index 06544674e5d..e16a21f3824 100644 --- a/etc/DEBUG +++ b/etc/DEBUG @@ -283,7 +283,10 @@ breakpoints in advance. GDB 13.1 changed the way C-c and C-BREAK are handled on Windows, so with those newer versions, you don't need the "set new-console 1" setting to be able to interrupt Emacs by typing C-c or C-BREAK into the console window from which you started Emacs -and where you interact with GDB. +and where you interact with GDB. Instead, make sure that SIGINT will +stop Emacs under the debugger: + + (gdb) handle SIGINT stop nopass ** Examining Lisp object values. From 6fd5e02cb9bc888cf454f8e5e8daf3203ae7a13f Mon Sep 17 00:00:00 2001 From: Chu Date: Tue, 10 Dec 2024 11:10:34 +0800 Subject: [PATCH 07/15] Fix typo in maps.texi * doc/lispref/maps.texi (Standard Keymaps): Fix typo. (Bug#74761) Copyright-paperwork-exempt: yes --- doc/lispref/maps.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi index 6ae98da49c7..f1a7fe258d5 100644 --- a/doc/lispref/maps.texi +++ b/doc/lispref/maps.texi @@ -30,7 +30,7 @@ A sparse keymap for subcommands of the prefix @kbd{C-x a}.@* @xref{Defining Abbrevs,,, emacs, The GNU Emacs Manual}. @item button-buffer-map -A sparse keymap useful for buffers containing buffers.@* +A sparse keymap useful for buffers containing buttons.@* You may want to use this as a parent keymap. @xref{Buttons}. @item button-map From fbcb357b9db1e7d4dd32c1f2b7b01950e66b9b34 Mon Sep 17 00:00:00 2001 From: Robert Pluim Date: Tue, 10 Dec 2024 14:56:21 +0100 Subject: [PATCH 08/15] Fix 'gnus-select-method' custom type * lisp/gnus/gnus.el (gnus-redefine-select-method-widget): Cater for the 'gnus-search-engine' configuration variable, which takes 2 args instead of 1. (Bug#74759) --- lisp/gnus/gnus.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index f1fc129a505..1334fa26afa 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el @@ -1402,9 +1402,14 @@ this variable. I think." (string :tag "Address") (repeat :tag "Options" :inline t - (list :format "%v" - variable - (sexp :tag "Value")))))) + (radio + (list :tag "Single var" :format "%v" + variable + (sexp :tag "Value")) + (list :tag "Multiple var" :format "%v" + variable + variable + (sexp :tag "Value"))))))) (gnus-redefine-select-method-widget) From dffd4a50c64db5141997ad91e04d9e2107d968b5 Mon Sep 17 00:00:00 2001 From: Philip Kaludercic Date: Tue, 10 Dec 2024 22:12:34 +0100 Subject: [PATCH 09/15] Revert "Attempt to install package first when upgrading" This reverts commit 3d8e49c41a66a7f05cb96f84e2a10f0f308ac9ca. --- lisp/emacs-lisp/package.el | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 33d74cc7663..53d04b0d5ec 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -2272,16 +2272,12 @@ had been enabled." ;; `pkg-desc' will be nil when the package is an "active built-in". (if (and pkg-desc (package-vc-p pkg-desc)) (package-vc-upgrade pkg-desc) + (when pkg-desc + (package-delete pkg-desc 'force 'dont-unselect)) (package-install package ;; An active built-in has never been "selected" ;; before. Mark it as installed explicitly. - (and pkg-desc 'dont-select)) - ;; We delete the old package via the descriptor after installing - ;; the new package to avoid losing the package if there issues - ;; during installation (Bug#74556). - (when pkg-desc - (cl-assert (package-desc-dir pkg-desc)) - (package-delete pkg-desc 'force 'dont-unselect))))) + (and pkg-desc 'dont-select))))) (defun package--upgradeable-packages (&optional include-builtins) ;; Initialize the package system to get the list of package From 3e51be94ae6312b05d4f2a811faeee7328b152cb Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Wed, 11 Dec 2024 22:40:22 +0100 Subject: [PATCH 10/15] ; Fix :version tag in browse-url * lisp/net/browse-url.el (browse-url-button-regexp): Fix :version tag. --- lisp/net/browse-url.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 3048b8f6c22..1a51d2bdaac 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -252,7 +252,7 @@ be used instead." "\\)")) "\\)") "Regular expression that matches URLs." - :version "27.1" + :version "30.1" :type 'regexp) (defcustom browse-url-browser-display nil From 7ae9ccae0caa58dcf67869e8daa1b1301dce2119 Mon Sep 17 00:00:00 2001 From: Scott Bell Date: Tue, 10 Dec 2024 12:02:54 -0700 Subject: [PATCH 11/15] ; * lisp/net/rcirc.el (rcirc-next-active-buffer): Doc fix (bug#74773). --- lisp/net/rcirc.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index 2a713de83c2..5da1ed13b6f 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -2448,7 +2448,8 @@ This function does not alter the INPUT string." (defun rcirc-next-active-buffer (arg) "Switch to the next rcirc buffer with activity. -With prefix ARG, go to the next low priority buffer with activity." +With prefix ARG, go to the next low priority buffer with activity. +When there are no buffers with activity, bury all rcirc buffers." (interactive "P") (let* ((pair (rcirc-split-activity rcirc-activity)) (lopri (car pair)) From 327d3e56f6ecd9e5c49405c87ebb8b78b96d8293 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 12 Dec 2024 18:03:19 +0200 Subject: [PATCH 12/15] ; * etc/TODO: Add an item for improving defgroups. --- etc/TODO | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/etc/TODO b/etc/TODO index b60e1198a0a..56ec890a7d5 100644 --- a/etc/TODO +++ b/etc/TODO @@ -35,6 +35,24 @@ is not always true. * High Priority Items +** Overhaul the customization groups. +The goal is to present new Emacs users with a reasonable and useful +hierarchy of customization groups, thus allowing them to easily find a +customization options they are looking for, by going down this +hierarchy. + +The current customization groups (see "M-x customize-group RET RET") and +their hierarchy are sporadic and do not systematically cover all the +areas and domains of Emacs features. They need to be extensively +re-thought and overhauled. One idea is to take the top-level chapters +of the Emacs user manual and use those as customization groups, then +define sub-groups using the sections. Sub-sections could then be used +where a third level of groups makes sense. The place to define this +hierarchy is mainly in cus-edit.el. + +Once the two- or three-level hierarchy of defgroups is defined, all the +defcustom's should be audited and their groups redefined if necessary. + ** Things related to elpa.gnu.org. We need to figure out how to best include GNU ELPA packages in the Emacs tarball before doing any of the items below. From 34bedcd58d74f733631ec78afc7bda9a068c714f Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 13 Dec 2024 14:11:13 +0200 Subject: [PATCH 13/15] ; * lisp/progmodes/executable.el: Remove stale comment (bug#74846). --- lisp/progmodes/executable.el | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index cb4a5eedb80..97baf86e017 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el @@ -43,10 +43,9 @@ ;; It also allows debugging scripts, with an adaptation of compile, as far ;; as interpreters give out meaningful error messages. -;; Modes that use this should nconc `executable-map' to the end of their own -;; keymap and `executable-font-lock-keywords' to the end of their own font -;; lock keywords. Their mode-setting commands should call -;; `executable-set-magic'. +;; Modes that use this should nconc `executable-font-lock-keywords' to +;; the end of their own font lock keywords. Their mode-setting commands +;; should call `executable-set-magic'. ;;; Code: From 488801baf7de64cc3ad8747c7a0c9f5869afb4e2 Mon Sep 17 00:00:00 2001 From: Stephen Gildea Date: Fri, 13 Dec 2024 08:53:54 -0800 Subject: [PATCH 14/15] * lisp/time-stamp.el: Limit field width to two digits. --- lisp/time-stamp.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el index 8c28920d219..69c059f6254 100644 --- a/lisp/time-stamp.el +++ b/lisp/time-stamp.el @@ -561,6 +561,8 @@ and all `time-stamp-format' compatibility." (setq field-width "1" flag-minimize t)) ((eq cur-char ?_) (setq field-width "2" flag-pad-with-spaces t)))) + (if (> (string-to-number field-width) 99) + (setq field-width (if flag-pad-with-zeros "099" "99"))) (setq field-result (cond ((eq cur-char ?%) From 6942599dbb24c1a469e3d3708df83692b49e4af8 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 14 Dec 2024 11:57:04 +0200 Subject: [PATCH 15/15] ; * etc/PROBLEMS: Document problem with menu-bar background (bug#74028). --- etc/PROBLEMS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 30506b3c87a..8de12a78613 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -1588,6 +1588,12 @@ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22000, https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22898 and https://lists.gnu.org/r/emacs-devel/2016-07/msg00154.html. +*** In Emacs built with GTK+ toolkit, menu-bar background becomes transparent. + +This happens when 'alpha-background' is less than 100. This is due a +GTK limitation, for which no workaround is currently known, +unfortunately. + *** Metacity: Resizing Emacs or ALT-Tab causes X to be unresponsive. This happens sometimes when using Metacity. Resizing Emacs or ALT-Tab:bing