diff options
author | Miles Bader <[email protected]> | 2005-02-28 00:04:11 +0000 |
---|---|---|
committer | Miles Bader <[email protected]> | 2005-02-28 00:04:11 +0000 |
commit | ee7d3cc0906fa618d8fa99b373d336336f643f02 (patch) | |
tree | 87c763e74e8bc1bae8bddef77183e26e79b09942 /lisp | |
parent | fc88c2888fce5a5c82d9b97bc1ab7958a42c2b7e (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/ChangeLog | 9 | ||||
-rw-r--r-- | lisp/gnus/mm-decode.el | 15 |
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 () |