]> git.notmuchmail.org Git - notmuch/commitdiff
emacs: use cached encoded copy for fcc
authorDavid Bremner <david@tethera.net>
Thu, 20 Jan 2022 03:22:07 +0000 (23:22 -0400)
committerDavid Bremner <david@tethera.net>
Wed, 26 Jan 2022 11:22:09 +0000 (07:22 -0400)
This fixes the bug reported by dkg in [1]. The movement of the call to
n-m-setup-message-for-saving is so the cleanup of Fcc headers happens
in the encoded version (otherwise Fcc headers may be saved to disk).

[1]: id:87k1zm225v.fsf@fifthhorseman.net

emacs/notmuch-maildir-fcc.el
test/T350-crypto.sh

index 7e177bf7fb4c25bd7d7b4ecb6bfe916292433bdc..5102078849d629a2da37bac13c9a3548153ff996 100644 (file)
@@ -149,6 +149,7 @@ Otherwise set it according to `notmuch-fcc-dirs'."
         (buf (current-buffer))
         (mml-externalize-attachments message-fcc-externalize-attachments))
      (with-current-buffer (get-buffer-create " *message temp*")
+       (message-clone-locals buf) ;; for message-encoded-mail-cache
        (erase-buffer)
        (insert-buffer-substring buf)
        ,@body)))
@@ -158,7 +159,10 @@ Otherwise set it according to `notmuch-fcc-dirs'."
 
 This should be called on a temporary copy.
 This is taken from the function message-do-fcc."
-  (message-encode-message-body)
+  (if (not message-encoded-mail-cache)
+      (message-encode-message-body)
+    (erase-buffer)
+    (insert message-encoded-mail-cache))
   (save-restriction
     (message-narrow-to-headers)
     (mail-encode-encoded-word-buffer))
@@ -179,12 +183,12 @@ This is a rearranged version of message mode's message-do-fcc."
        (setq file (message-fetch-field "fcc" t)))
       (when file
        (with-temporary-notmuch-message-buffer
+        (notmuch-maildir-setup-message-for-saving)
         (save-restriction
           (message-narrow-to-headers)
           (while (setq file (message-fetch-field "fcc" t))
             (push file files)
             (message-remove-header "fcc" nil t)))
-        (notmuch-maildir-setup-message-for-saving)
         ;; Process FCC operations.
         (mapc #'notmuch-fcc-handler files)
         (kill-buffer (current-buffer)))))))
index 209b8a749c1a75692c969fef6bb8004f0f91a91f..3c6626b41d3649f1c6ed56ebafb41665b24df5d1 100755 (executable)
@@ -21,7 +21,6 @@ test_expect_success \
     "(mml-secure-message-sign)"'
 
 test_begin_subtest "emacs delivery of signed message via fcc and smtp"
-test_subtest_known_broken
 emacs_deliver_message \
     'signed message sent via SMTP' \
     'This is a test that messages are sent via SMTP' \