[Top][All Lists]

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

bug#33055: 27.0.50; load-prefer-newer loads wrong file

From: Juri Linkov
Subject: bug#33055: 27.0.50; load-prefer-newer loads wrong file
Date: Wed, 17 Oct 2018 01:44:52 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)

> Perhaps it would be cleaner for the load statement to use the precise
> filename that it wants to load (ie, explicitly add the .el suffix)?

In a new patch I used the same variable names as in the function
smtpmail-send-it that creates these files.  But now I realized
this fix might be needed for emacs-26.  Maybe, Eli knows for sure?

diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index 8bc3cc78d9..8607f9fa9c 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -404,21 +404,22 @@ smtpmail-send-queued-mail
     ;; Get index, get first mail, send it, update index, get second
     ;; mail, send it, etc...
-    (let ((file-msg "")
+    (let (file-data file-elisp
           (qfile (expand-file-name smtpmail-queue-index-file
       (insert-file-contents qfile)
       (goto-char (point-min))
       (while (not (eobp))
-       (setq file-msg (buffer-substring (point) (line-end-position)))
-       (load file-msg)
+       (setq file-data (buffer-substring (point) (line-end-position)))
+       (setq file-elisp (concat file-data ".el"))
+       (load file-elisp)
        ;; Insert the message literally: it is already encoded as per
        ;; the MIME headers, and code conversions might guess the
        ;; encoding wrongly.
          (let ((coding-system-for-read 'no-conversion))
-           (insert-file-contents file-msg))
+           (insert-file-contents file-data))
           (let ((smtpmail-mail-address
                  (or (and mail-specify-envelope-from (mail-envelope-from))
@@ -428,8 +429,8 @@ smtpmail-send-queued-mail
                  (error "Sending failed: %s" result))
               (error "Sending failed; no recipients"))))
-       (delete-file file-msg)
-       (delete-file (concat file-msg ".el"))
+       (delete-file file-data)
+       (delete-file file-elisp)
        (delete-region (point-at-bol) (point-at-bol 2)))
       (write-region (point-min) (point-max) qfile))))

reply via email to

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