From 0d46ee2ddebb74a5a6e1d55da3641d1cd2ba5beb Mon Sep 17 00:00:00 2001 From: Eric Abrahamsen Date: Mon, 24 Jan 2022 16:24:10 -0800 Subject: [PATCH] Don't remove dummy.group from gnus-newsrc-alist on Gnus save bug#53352 * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): This function was removing dummy.group from the global value of `gnus-newsrc-alist' on save; we only wanted to remove it temporarily. --- lisp/gnus/gnus-start.el | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 0910df42edb..301120e4ee5 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -2868,12 +2868,6 @@ SPECIFIC-VARIABLES, or those in `gnus-variable-list'." (princ "(setq gnus-newsrc-file-version ") (princ (gnus-prin1-to-string gnus-version)) (princ ")\n")) - ;; Sort `gnus-newsrc-alist' according to order in - ;; `gnus-group-list'. - (setq gnus-newsrc-alist - (mapcar (lambda (g) - (nth 1 (gethash g gnus-newsrc-hashtb))) - (delete "dummy.group" gnus-group-list))) (let* ((print-quoted t) (print-escape-multibyte nil) (print-escape-nonascii t) @@ -2892,17 +2886,20 @@ SPECIFIC-VARIABLES, or those in `gnus-variable-list'." ;; Remove the `gnus-killed-list' from the list of variables ;; to be saved, if required. (delq 'gnus-killed-list (copy-sequence gnus-variable-list))))) - ;; Encode group names in `gnus-newsrc-alist' and - ;; `gnus-topic-alist' in order to keep newsrc.eld files - ;; compatible with older versions of Gnus. At some point, - ;; if/when a new version of Gnus is released, stop doing - ;; this and move the corresponding decode in - ;; `gnus-read-newsrc-el-file' into a conversion routine. + ;; Sort `gnus-newsrc-alist' according to order in + ;; `gnus-group-list'. Encode group names in + ;; `gnus-newsrc-alist' and `gnus-topic-alist' in order to + ;; keep newsrc.eld files compatible with older versions of + ;; Gnus. At some point, if/when a new version of Gnus is + ;; released, stop doing this and move the corresponding + ;; decode in `gnus-read-newsrc-el-file' into a conversion + ;; routine. (gnus-newsrc-alist - (mapcar (lambda (info) - (cons (encode-coding-string (car info) 'utf-8-emacs) - (cdr info))) - gnus-newsrc-alist)) + (mapcar (lambda (group) + (cons (encode-coding-string group 'utf-8-emacs) + (cdadr (gethash group + gnus-newsrc-hashtb)))) + (remove "dummy.group" gnus-group-list))) (gnus-topic-alist (when (memq 'gnus-topic-alist variables) (mapcar (lambda (elt) -- 2.39.2