]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't let nndiary.el alter variables when loading file
authorEric Abrahamsen <eric@ericabrahamsen.net>
Tue, 7 Sep 2021 18:51:39 +0000 (11:51 -0700)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Tue, 7 Sep 2021 18:51:39 +0000 (11:51 -0700)
* lisp/gnus/nndiary.el (nndiary-open-server): Move the manipulation of
`gnus-extra-headers' and `nnmail-extra-headers' into this function: it
should only happen if we're actually firing up an nndiary server.
Previously, simply attempting to complete a gnus-* prefixed symbol
could end up loading this file, and changing the variable values.

lisp/gnus/nndiary.el

index adf4427523fb4292e449749e4c31152e9d849bd9..133e0307a542ee47815282dcbc2d22a5cfe324f2 100644 (file)
@@ -416,6 +416,11 @@ all.  This may very well take some time.")
 
 (deffoo nndiary-open-server (server &optional defs)
   (nnoo-change-server 'nndiary server defs)
+  (dolist (header nndiary-headers)
+    (setq header (intern (format "X-Diary-%s" (car header))))
+    ;; Required for building NOV databases and some other stuff.
+    (add-to-list 'gnus-extra-headers header)
+    (add-to-list 'nnmail-extra-headers header))
   (when (not (file-exists-p nndiary-directory))
     (ignore-errors (make-directory nndiary-directory t)))
   (cond
@@ -1557,12 +1562,6 @@ all.  This may very well take some time.")
 
 ;; The end... ===============================================================
 
-(dolist (header nndiary-headers)
-  (setq header (intern (format "X-Diary-%s" (car header))))
-  ;; Required for building NOV databases and some other stuff.
-  (add-to-list 'gnus-extra-headers header)
-  (add-to-list 'nnmail-extra-headers header))
-
 (unless (assoc "nndiary" gnus-valid-select-methods)
   (gnus-declare-backend "nndiary" 'post-mail 'respool 'address))