]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't remove dummy.group from gnus-newsrc-alist on Gnus save
authorEric Abrahamsen <eric@ericabrahamsen.net>
Tue, 25 Jan 2022 00:24:10 +0000 (16:24 -0800)
committerAndreas Schwab <schwab@linux-m68k.org>
Mon, 7 Feb 2022 10:42:49 +0000 (11:42 +0100)
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

index 0910df42edbc0c8f17d9d1d3d4d2fe9cab70fa8d..301120e4ee54a08ed98e622805874064a965b025 100644 (file)
@@ -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)