diff options
| author | Miles Bader | 2005-02-28 00:04:11 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-02-28 00:04:11 +0000 |
| commit | ee7d3cc0906fa618d8fa99b373d336336f643f02 (patch) | |
| tree | 87c763e74e8bc1bae8bddef77183e26e79b09942 | |
| parent | fc88c2888fce5a5c82d9b97bc1ab7958a42c2b7e (diff) | |
| download | emacs-ee7d3cc0906fa618d8fa99b373d336336f643f02.tar.gz emacs-ee7d3cc0906fa618d8fa99b373d336336f643f02.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-139
Merge from gnus--rel--5.10
Patches applied:
* miles@gnu.org--gnu-2005/gnus--rel--5.10 (patch 32-33)
- Merge from emacs--cvs-trunk--0
- Update from CVS
2005-02-27 Arne J,Ax(Brgensen <arne@arnested.dk>
* 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.
| -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 79218857bbd..7ade8548764 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2005-02-27 Arne J,Ax(Brgensen <arne@arnested.dk> | ||
| 2 | |||
| 3 | * mm-decode.el (mm-dissect-buffer): Pass the from field on to | ||
| 4 | `mm-dissect-multipart' and receive the from field as an (optional) | ||
| 5 | argument from `mm-dissect-multipart'. | ||
| 6 | (mm-dissect-multipart): Receive the from field as an argument and | ||
| 7 | pass it on when we call `mm-dissect-buffer' on MIME parts. Fixes | ||
| 8 | verification/decryption of signed/encrypted MIME parts. | ||
| 9 | |||
| 1 | 2005-02-26 Stefan Monnier <monnier@iro.umontreal.ca> | 10 | 2005-02-26 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 11 | ||
| 3 | * gnus-sum.el (gnus-summary-exit): Move point after displaying the | 12 | * 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 579571e16aa..10c7ea16db4 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -509,10 +509,10 @@ Postpone undisplaying of viewers for types in | |||
| 509 | (message "Destroying external MIME viewers") | 509 | (message "Destroying external MIME viewers") |
| 510 | (mm-destroy-parts mm-postponed-undisplay-list))) | 510 | (mm-destroy-parts mm-postponed-undisplay-list))) |
| 511 | 511 | ||
| 512 | (defun mm-dissect-buffer (&optional no-strict-mime loose-mime) | 512 | (defun mm-dissect-buffer (&optional no-strict-mime loose-mime from) |
| 513 | "Dissect the current buffer and return a list of MIME handles." | 513 | "Dissect the current buffer and return a list of MIME handles." |
| 514 | (save-excursion | 514 | (save-excursion |
| 515 | (let (ct ctl type subtype cte cd description id result from) | 515 | (let (ct ctl type subtype cte cd description id result) |
| 516 | (save-restriction | 516 | (save-restriction |
| 517 | (mail-narrow-to-head) | 517 | (mail-narrow-to-head) |
| 518 | (when (or no-strict-mime | 518 | (when (or no-strict-mime |
| @@ -523,8 +523,9 @@ Postpone undisplaying of viewers for types in | |||
| 523 | cte (mail-fetch-field "content-transfer-encoding") | 523 | cte (mail-fetch-field "content-transfer-encoding") |
| 524 | cd (mail-fetch-field "content-disposition") | 524 | cd (mail-fetch-field "content-disposition") |
| 525 | description (mail-fetch-field "content-description") | 525 | description (mail-fetch-field "content-description") |
| 526 | from (mail-fetch-field "from") | ||
| 527 | id (mail-fetch-field "content-id")) | 526 | id (mail-fetch-field "content-id")) |
| 527 | (unless from | ||
| 528 | (setq from (mail-fetch-field "from"))) | ||
| 528 | ;; FIXME: In some circumstances, this code is running within | 529 | ;; FIXME: In some circumstances, this code is running within |
| 529 | ;; an unibyte macro. mail-extract-address-components | 530 | ;; an unibyte macro. mail-extract-address-components |
| 530 | ;; creates unibyte buffers. This `if', though not a perfect | 531 | ;; creates unibyte buffers. This `if', though not a perfect |
| @@ -567,7 +568,7 @@ Postpone undisplaying of viewers for types in | |||
| 567 | 'from from | 568 | 'from from |
| 568 | 'start start) | 569 | 'start start) |
| 569 | (car ctl)) | 570 | (car ctl)) |
| 570 | (cons (car ctl) (mm-dissect-multipart ctl)))) | 571 | (cons (car ctl) (mm-dissect-multipart ctl from)))) |
| 571 | (t | 572 | (t |
| 572 | (mm-possibly-verify-or-decrypt | 573 | (mm-possibly-verify-or-decrypt |
| 573 | (mm-dissect-singlepart | 574 | (mm-dissect-singlepart |
| @@ -594,7 +595,7 @@ Postpone undisplaying of viewers for types in | |||
| 594 | (mm-make-handle | 595 | (mm-make-handle |
| 595 | (mm-copy-to-buffer) ctl cte nil cdl description nil id))) | 596 | (mm-copy-to-buffer) ctl cte nil cdl description nil id))) |
| 596 | 597 | ||
| 597 | (defun mm-dissect-multipart (ctl) | 598 | (defun mm-dissect-multipart (ctl from) |
| 598 | (goto-char (point-min)) | 599 | (goto-char (point-min)) |
| 599 | (let* ((boundary (concat "\n--" (mail-content-type-get ctl 'boundary))) | 600 | (let* ((boundary (concat "\n--" (mail-content-type-get ctl 'boundary))) |
| 600 | (close-delimiter (concat (regexp-quote boundary) "--[ \t]*$")) | 601 | (close-delimiter (concat (regexp-quote boundary) "--[ \t]*$")) |
| @@ -611,7 +612,7 @@ Postpone undisplaying of viewers for types in | |||
| 611 | (save-excursion | 612 | (save-excursion |
| 612 | (save-restriction | 613 | (save-restriction |
| 613 | (narrow-to-region start (point)) | 614 | (narrow-to-region start (point)) |
| 614 | (setq parts (nconc (list (mm-dissect-buffer t)) parts))))) | 615 | (setq parts (nconc (list (mm-dissect-buffer t nil from)) parts))))) |
| 615 | (end-of-line 2) | 616 | (end-of-line 2) |
| 616 | (or (looking-at boundary) | 617 | (or (looking-at boundary) |
| 617 | (forward-line 1)) | 618 | (forward-line 1)) |
| @@ -620,7 +621,7 @@ Postpone undisplaying of viewers for types in | |||
| 620 | (save-excursion | 621 | (save-excursion |
| 621 | (save-restriction | 622 | (save-restriction |
| 622 | (narrow-to-region start end) | 623 | (narrow-to-region start end) |
| 623 | (setq parts (nconc (list (mm-dissect-buffer t)) parts))))) | 624 | (setq parts (nconc (list (mm-dissect-buffer t nil from)) parts))))) |
| 624 | (mm-possibly-verify-or-decrypt (nreverse parts) ctl))) | 625 | (mm-possibly-verify-or-decrypt (nreverse parts) ctl))) |
| 625 | 626 | ||
| 626 | (defun mm-copy-to-buffer () | 627 | (defun mm-copy-to-buffer () |