]> code.delx.au - gnu-emacs/blobdiff - lisp/mail/uce.el
Change all post-21.1 :version attributes to 21.4.
[gnu-emacs] / lisp / mail / uce.el
index 3d11b7f8482b77d7eee611f3afc56f4c41ce19dd..722ef28aa0cae1e34e1220a69464081fbd0770c6 100644 (file)
@@ -222,10 +222,15 @@ address, and postmaster of the mail relay used."
         (cond ((eq uce-mail-reader 'gnus) gnus-original-article-buffer)
               ((eq uce-mail-reader 'rmail) "RMAIL")
               (t (error 
-                  "Variable uce-mail-reader set to unrecognized value")))))
+                  "Variable uce-mail-reader set to unrecognized value"))))
+       (full-header-p (and (eq uce-mail-reader 'rmail)
+                           (not (rmail-msg-is-pruned)))))
     (or (get-buffer message-buffer)
        (error (concat "No buffer " message-buffer ", cannot find UCE")))
     (switch-to-buffer message-buffer)
+    ;; We need the message with headers pruned.
+    (if full-header-p
+       (rmail-toggle-header 1))
     (let ((to (mail-strip-quoted-names (mail-fetch-field "from" t)))
          (reply-to (mail-fetch-field "reply-to"))
          temp)
@@ -250,10 +255,14 @@ address, and postmaster of the mail relay used."
            ((eq uce-mail-reader 'rmail)
             (save-excursion
               (save-restriction
+                (rmail-toggle-header 1)
                 (widen)
                 (rmail-maybe-set-message-counters)
                 (copy-region-as-kill (rmail-msgbeg rmail-current-message) 
                                      (rmail-msgend rmail-current-message))))))
+      ;; Restore the pruned header state we found.
+      (if full-header-p
+         (rmail-toggle-header 0))
       (switch-to-buffer "*mail*")
       (erase-buffer)
       (setq temp (point))