* bug#33055: 27.0.50; load-prefer-newer loads wrong file
@ 2018-10-15 22:43 Juri Linkov
2018-10-15 23:37 ` Glenn Morris
0 siblings, 1 reply; 5+ messages in thread
From: Juri Linkov @ 2018-10-15 22:43 UTC (permalink / raw)
To: 33055
Tags: patch
When load-prefer-newer is customized to t, smtpmail-send-queued-mail
fails to load the correct file. This patch fixes it:
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el
index 8bc3cc78d9..a889cfd75b 100644
--- a/lisp/mail/smtpmail.el
+++ b/lisp/mail/smtpmail.el
@@ -407,6 +407,11 @@ smtpmail-send-queued-mail
(let ((file-msg "")
(qfile (expand-file-name smtpmail-queue-index-file
smtpmail-queue-dir))
+ ;; To ensure that `load' below will load the right file
+ ;; with the suffix `.el' instead of a newer text file
+ ;; with the same name and without the suffix `.el',
+ ;; force load-prefer-newer to be nil:
+ (load-prefer-newer nil)
result)
(insert-file-contents qfile)
(goto-char (point-min))
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#33055: 27.0.50; load-prefer-newer loads wrong file
2018-10-15 22:43 bug#33055: 27.0.50; load-prefer-newer loads wrong file Juri Linkov
@ 2018-10-15 23:37 ` Glenn Morris
2018-10-16 22:44 ` Juri Linkov
0 siblings, 1 reply; 5+ messages in thread
From: Glenn Morris @ 2018-10-15 23:37 UTC (permalink / raw)
To: Juri Linkov; +Cc: 33055
Juri Linkov wrote:
> --- a/lisp/mail/smtpmail.el
> +++ b/lisp/mail/smtpmail.el
> @@ -407,6 +407,11 @@ smtpmail-send-queued-mail
> (let ((file-msg "")
> (qfile (expand-file-name smtpmail-queue-index-file
> smtpmail-queue-dir))
> + ;; To ensure that `load' below will load the right file
> + ;; with the suffix `.el' instead of a newer text file
> + ;; with the same name and without the suffix `.el',
> + ;; force load-prefer-newer to be nil:
> + (load-prefer-newer nil)
> result)
> (insert-file-contents qfile)
> (goto-char (point-min))
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)?
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#33055: 27.0.50; load-prefer-newer loads wrong file
2018-10-15 23:37 ` Glenn Morris
@ 2018-10-16 22:44 ` Juri Linkov
2018-10-17 16:14 ` Eli Zaretskii
0 siblings, 1 reply; 5+ messages in thread
From: Juri Linkov @ 2018-10-16 22:44 UTC (permalink / raw)
To: Glenn Morris; +Cc: 33055
> 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
(with-temp-buffer
;; 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
smtpmail-queue-dir))
result)
(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.
(with-temp-buffer
(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))
user-mail-address)))
@@ -428,8 +429,8 @@ smtpmail-send-queued-mail
(current-buffer)))
(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))))
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#33055: 27.0.50; load-prefer-newer loads wrong file
2018-10-16 22:44 ` Juri Linkov
@ 2018-10-17 16:14 ` Eli Zaretskii
2018-10-17 22:25 ` Juri Linkov
0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2018-10-17 16:14 UTC (permalink / raw)
To: Juri Linkov; +Cc: 33055
> From: Juri Linkov <juri@linkov.net>
> Date: Wed, 17 Oct 2018 01:44:52 +0300
> Cc: 33055@debbugs.gnu.org
>
> 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?
It's okay to install this on emacs-26. Thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#33055: 27.0.50; load-prefer-newer loads wrong file
2018-10-17 16:14 ` Eli Zaretskii
@ 2018-10-17 22:25 ` Juri Linkov
0 siblings, 0 replies; 5+ messages in thread
From: Juri Linkov @ 2018-10-17 22:25 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 33055-done
tags 33055 fixed
close 33055 26.2
quit
>> 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?
>
> It's okay to install this on emacs-26. Thanks.
Done with commit eb6768977e.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-10-17 22:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-15 22:43 bug#33055: 27.0.50; load-prefer-newer loads wrong file Juri Linkov
2018-10-15 23:37 ` Glenn Morris
2018-10-16 22:44 ` Juri Linkov
2018-10-17 16:14 ` Eli Zaretskii
2018-10-17 22:25 ` Juri Linkov
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.