emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 2a342bd 1/2: Silence more message.el compilation wa


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 2a342bd 1/2: Silence more message.el compilation warnings
Date: Fri, 12 Feb 2016 07:27:23 +0000

branch: master
commit 2a342bda0af6c0bc168a190f368f0871ff31f7b1
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Silence more message.el compilation warnings
    
    * lisp/gnus/message.el (message-generate-headers): Don't use
    variable values directly to get the header values, because
    that breaks with lexical binding (without unprefixed defvars).
---
 lisp/gnus/message.el |   58 +++++++++++++++++++-------------------------------
 1 files changed, 22 insertions(+), 36 deletions(-)

diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 7cf5019..540736c 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -5945,41 +5945,27 @@ See `message-idna-encode'."
        (message-idna-to-ascii-rhs-1 "Mail-Followup-To")
        (message-idna-to-ascii-rhs-1 "Cc")))))
 
-(defvar Date)
-(defvar Message-ID)
-(defvar Organization)
-(defvar From)
-(defvar Path)
-(defvar Subject)
-(defvar Newsgroups)
-(defvar In-Reply-To)
-(defvar References)
-(defvar To)
-(defvar Distribution)
-(defvar Lines)
-(defvar User-Agent)
-(defvar Expires)
-
 (defun message-generate-headers (headers)
   "Prepare article HEADERS.
 Headers already prepared in the buffer are not modified."
   (setq headers (append headers message-required-headers))
   (save-restriction
     (message-narrow-to-headers)
-    (let* ((Date (message-make-date))
-          (Message-ID (message-make-message-id))
-          (Organization (message-make-organization))
-          (From (message-make-from))
-          (Path (message-make-path))
-          (Subject nil)
-          (Newsgroups nil)
-          (In-Reply-To (message-make-in-reply-to))
-          (References (message-make-references))
-          (To nil)
-          (Distribution (message-make-distribution))
-          (Lines (message-make-lines))
-          (User-Agent message-newsreader)
-          (Expires (message-make-expires))
+    (let* ((header-values
+           (list 'Date (message-make-date)
+                 'Message-ID (message-make-message-id)
+                 'Organization (message-make-organization)
+                 'From (message-make-from)
+                 'Path (message-make-path)
+                 'Subject nil
+                 'Newsgroups nil
+                 'In-Reply-To (message-make-in-reply-to)
+                 'References (message-make-references)
+                 'To nil
+                 'Distribution (message-make-distribution)
+                 'Lines (message-make-lines)
+                 'User-Agent message-newsreader
+                 'Expires (message-make-expires)))
           (case-fold-search t)
           (optionalp nil)
           header value elem header-string)
@@ -6033,8 +6019,8 @@ Headers already prepared in the buffer are not modified."
                  (setq header (cdr elem))
                  (or (and (functionp (cdr elem))
                           (funcall (cdr elem)))
-                     (and (boundp (cdr elem))
-                          (symbol-value (cdr elem)))))
+                     (and (symbolp (cdr elem))
+                          (plist-get header-values (cdr elem)))))
                 ((consp elem)
                  ;; The element is a cons.  Either the cdr is a
                  ;; string to be inserted verbatim, or it is a
@@ -6044,11 +6030,11 @@ Headers already prepared in the buffer are not 
modified."
                           (cdr elem))
                      (and (functionp (cdr elem))
                           (funcall (cdr elem)))))
-                ((and (boundp header)
-                      (symbol-value header))
-                 ;; The element is a symbol.  We insert the value
-                 ;; of this symbol, if any.
-                 (symbol-value header))
+                ((and (symbolp header)
+                      (plist-member header-values header))
+                 ;; The element is a symbol.  We insert the value of
+                 ;; this symbol, if any.
+                 (plist-get header-values header))
                 ((not (message-check-element
                        (intern (downcase (symbol-name header)))))
                  ;; We couldn't generate a value for this header,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]