Synch to No Gnus 200601250457.
authoryamaoka <yamaoka>
Wed, 25 Jan 2006 04:57:26 +0000 (04:57 +0000)
committeryamaoka <yamaoka>
Wed, 25 Jan 2006 04:57:26 +0000 (04:57 +0000)
lisp/ChangeLog
lisp/gnus-mailcap.el
lisp/mm-uu.el

index 9841971..da4010c 100644 (file)
@@ -1,3 +1,16 @@
+2006-01-25  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * 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  <user42@zip.com.au>
+
+       * 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  <Reiner.Steib@gmx.de>
 
        * gmm-utils.el (gmm-tool-bar-item): Add "Separator".
index 4e624e1..8329b7d 100644 (file)
@@ -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)))
 
index 04a16bc..36a24bf 100644 (file)
@@ -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)))))