From c667da1b001beaf85b02395b8e620ddc5bb9af0b Mon Sep 17 00:00:00 2001 From: yamaoka Date: Wed, 25 Jan 2006 04:57:26 +0000 Subject: [PATCH] Synch to No Gnus 200601250457. --- lisp/ChangeLog | 13 +++++++++++++ lisp/gnus-mailcap.el | 7 ++++++- lisp/mm-uu.el | 18 +++++++++++------- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9841971..da4010c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +2006-01-25 Katsumi Yamaoka + + * mm-uu.el (mm-uu-dissect-text-parts): Ignore it if a given part + is dissected into a single part of which the type is the same as + the given one. + +2006-01-21 Kevin Ryde + + * mailcap.el (mailcap-parse-mailcap-extras): "test" key must go + into alists as symbol not string, since that's what + mailcap-viewer-passes-test and mailcap-mailcap-entry-passes-test + look for. + 2006-01-24 Reiner Steib * gmm-utils.el (gmm-tool-bar-item): Add "Separator". diff --git a/lisp/gnus-mailcap.el b/lisp/gnus-mailcap.el index 4e624e1..8329b7d 100644 --- a/lisp/gnus-mailcap.el +++ b/lisp/gnus-mailcap.el @@ -532,7 +532,12 @@ MAILCAPS if set; otherwise (on Unix) use the path from RFC 1524, plus (skip-chars-forward ";")) (setq done t)))) (setq value (buffer-substring val-pos (point)))) - (setq results (cons (cons name value) results)) + ;; `test' as symbol, others like "copiousoutput" and "needsx11" as + ;; strings + (setq results (cons (cons (if (string-equal name "test") + 'test + name) + value) results)) (skip-chars-forward " \";\n\t")) results))) diff --git a/lisp/mm-uu.el b/lisp/mm-uu.el index 04a16bc..36a24bf 100644 --- a/lisp/mm-uu.el +++ b/lisp/mm-uu.el @@ -619,9 +619,7 @@ value of `mm-uu-text-plain-type'." result))) (defun mm-uu-dissect-text-parts (handle) - "Dissect text parts and put uu handles into HANDLE. -If `mm-uu-buttonize-original-text-parts' is non-nil, the part that HANDLE -points will always get a button." + "Dissect text parts and put uu handles into HANDLE." (let ((buffer (mm-handle-buffer handle))) (cond ((stringp buffer) (mapc 'mm-uu-dissect-text-parts (cdr handle))) @@ -644,10 +642,16 @@ points will always get a button." encoding type) (mm-uu-dissect t (mm-handle-type handle))) (mm-uu-dissect t (mm-handle-type handle)))))) - (kill-buffer buffer) - (setcdr handle (cdr children)) - (setcar handle (car children)) ;; "multipart/mixed" - (mapc 'mm-uu-dissect-text-parts (cdr children))))) + ;; Ignore it if a given part is dissected into a single + ;; part of which the type is the same as the given one. + (if (and (<= (length children) 2) + (string-equal (mm-handle-media-type (cadr children)) + type)) + (kill-buffer (mm-handle-buffer (cadr children))) + (kill-buffer buffer) + (setcdr handle (cdr children)) + (setcar handle (car children)) ;; "multipart/mixed" + (mapc 'mm-uu-dissect-text-parts (cdr children)))))) (t (mapc 'mm-uu-dissect-text-parts handle))))) -- 1.7.10.4