aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMiles Bader <[email protected]>2005-02-28 00:04:11 +0000
committerMiles Bader <[email protected]>2005-02-28 00:04:11 +0000
commitee7d3cc0906fa618d8fa99b373d336336f643f02 (patch)
tree87c763e74e8bc1bae8bddef77183e26e79b09942 /lisp
parentfc88c2888fce5a5c82d9b97bc1ab7958a42c2b7e (diff)
Revision: [email protected]/emacs--cvs-trunk--0--patch-139
Merge from gnus--rel--5.10 Patches applied: * [email protected]/gnus--rel--5.10 (patch 32-33) - Merge from emacs--cvs-trunk--0 - Update from CVS 2005-02-27 Arne J,Ax(Brgensen <[email protected]> * lisp/gnus/mm-decode.el (mm-dissect-buffer): Pass the from field on to `mm-dissect-multipart' and receive the from field as an (optional) argument from `mm-dissect-multipart'. (mm-dissect-multipart): Receive the from field as an argument and pass it on when we call `mm-dissect-buffer' on MIME parts. Fixes verification/decryption of signed/encrypted MIME parts.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog9
-rw-r--r--lisp/gnus/mm-decode.el15
2 files changed, 17 insertions, 7 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 79218857bb..7ade854876 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,12 @@
+2005-02-27 Arne J,Ax(Brgensen <[email protected]>
+
+ * mm-decode.el (mm-dissect-buffer): Pass the from field on to
+ `mm-dissect-multipart' and receive the from field as an (optional)
+ argument from `mm-dissect-multipart'.
+ (mm-dissect-multipart): Receive the from field as an argument and
+ pass it on when we call `mm-dissect-buffer' on MIME parts. Fixes
+ verification/decryption of signed/encrypted MIME parts.
+
2005-02-26 Stefan Monnier <[email protected]>
* gnus-sum.el (gnus-summary-exit): Move point after displaying the
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 579571e16a..10c7ea16db 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -509,10 +509,10 @@ Postpone undisplaying of viewers for types in
(message "Destroying external MIME viewers")
(mm-destroy-parts mm-postponed-undisplay-list)))
-(defun mm-dissect-buffer (&optional no-strict-mime loose-mime)
+(defun mm-dissect-buffer (&optional no-strict-mime loose-mime from)
"Dissect the current buffer and return a list of MIME handles."
(save-excursion
- (let (ct ctl type subtype cte cd description id result from)
+ (let (ct ctl type subtype cte cd description id result)
(save-restriction
(mail-narrow-to-head)
(when (or no-strict-mime
@@ -523,8 +523,9 @@ Postpone undisplaying of viewers for types in
cte (mail-fetch-field "content-transfer-encoding")
cd (mail-fetch-field "content-disposition")
description (mail-fetch-field "content-description")
- from (mail-fetch-field "from")
id (mail-fetch-field "content-id"))
+ (unless from
+ (setq from (mail-fetch-field "from")))
;; FIXME: In some circumstances, this code is running within
;; an unibyte macro. mail-extract-address-components
;; creates unibyte buffers. This `if', though not a perfect
@@ -567,7 +568,7 @@ Postpone undisplaying of viewers for types in
'from from
'start start)
(car ctl))
- (cons (car ctl) (mm-dissect-multipart ctl))))
+ (cons (car ctl) (mm-dissect-multipart ctl from))))
(t
(mm-possibly-verify-or-decrypt
(mm-dissect-singlepart
@@ -594,7 +595,7 @@ Postpone undisplaying of viewers for types in
(mm-make-handle
(mm-copy-to-buffer) ctl cte nil cdl description nil id)))
-(defun mm-dissect-multipart (ctl)
+(defun mm-dissect-multipart (ctl from)
(goto-char (point-min))
(let* ((boundary (concat "\n--" (mail-content-type-get ctl 'boundary)))
(close-delimiter (concat (regexp-quote boundary) "--[ \t]*$"))
@@ -611,7 +612,7 @@ Postpone undisplaying of viewers for types in
(save-excursion
(save-restriction
(narrow-to-region start (point))
- (setq parts (nconc (list (mm-dissect-buffer t)) parts)))))
+ (setq parts (nconc (list (mm-dissect-buffer t nil from)) parts)))))
(end-of-line 2)
(or (looking-at boundary)
(forward-line 1))
@@ -620,7 +621,7 @@ Postpone undisplaying of viewers for types in
(save-excursion
(save-restriction
(narrow-to-region start end)
- (setq parts (nconc (list (mm-dissect-buffer t)) parts)))))
+ (setq parts (nconc (list (mm-dissect-buffer t nil from)) parts)))))
(mm-possibly-verify-or-decrypt (nreverse parts) ctl)))
(defun mm-copy-to-buffer ()