]> git.eshelyaron.com Git - emacs.git/commitdiff
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-214
authorMiles Bader <miles@gnu.org>
Wed, 12 Apr 2006 05:23:27 +0000 (05:23 +0000)
committerMiles Bader <miles@gnu.org>
Wed, 12 Apr 2006 05:23:27 +0000 (05:23 +0000)
Merge from gnus--rel--5.10

Patches applied:

 * gnus--rel--5.10  (patch 83)

   - Update from CVS

lisp/gnus/ChangeLog
lisp/gnus/gnus-art.el
lisp/gnus/gnus-uu.el
lisp/gnus/mm-decode.el
lisp/gnus/mm-extern.el

index 087cdf1450367f08046ae9d49af8d5ae64202b65..792fb2a5c0dd76eae6cc85e888890760cb84a9a1 100644 (file)
@@ -1,3 +1,24 @@
+2006-04-12  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-art.el (gnus-mime-view-part-as-charset): Ignore charset
+       that the part specifies.
+
+       * mm-decode.el (mm-display-part): Work with external parts and
+       usual parts similarly.
+
+       * mm-extern.el (mm-inline-external-body): Use mm-display-part
+       instead of gnus-display-mime.
+
+       * gnus-uu.el (gnus-uu-save-article): Put mml tags instead of part
+       tag to summarized topics part in order to encode non-ASCII text.
+
+2006-04-12  Kenichi Handa  <handa@m17n.org>
+
+       * rfc2231.el (rfc2231-decode-encoded-string): Work on unibyte
+       buffer and then decode the buffer text if necessary.
+       (rfc2231-encode-string): Be sure to work on multibyte buffer at
+       first, and after mm-encode-body, change the buffer to unibyte.
+
 2006-04-11  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * gnus-art.el (gnus-button-valid-localpart-regexp): Exclude `@'.
index eed793d23bae95d44b881908e1528549cb01a5db..a4da4ae85f3ae004b429ad387211ae3e6897b445 100644 (file)
@@ -4477,19 +4477,29 @@ are decompressed."
 specified charset."
   (interactive (list nil current-prefix-arg))
   (gnus-article-check-buffer)
-  (let* ((handle (or handle (get-text-property (point) 'gnus-data)))
-        contents charset
-        (b (point))
-        (inhibit-read-only t))
+  (let ((handle (or handle (get-text-property (point) 'gnus-data)))
+       (fun (get-text-property (point) 'gnus-callback))
+       (gnus-newsgroup-ignored-charsets 'gnus-all)
+       gnus-newsgroup-charset type charset)
     (when handle
       (if (mm-handle-undisplayer handle)
          (mm-remove-part handle))
-      (let ((gnus-newsgroup-charset
-            (or (cdr (assq arg
-                           gnus-summary-show-article-charset-alist))
-                (mm-read-coding-system "Charset: ")))
-         (gnus-newsgroup-ignored-charsets 'gnus-all))
-       (gnus-article-press-button)))))
+      (when fun
+       (setq gnus-newsgroup-charset
+             (or (cdr (assq arg gnus-summary-show-article-charset-alist))
+                 (mm-read-coding-system "Charset: ")))
+       ;; Strip the charset parameter from `handle'.
+       (setq type (mm-handle-type
+                   (if (equal (mm-handle-media-type handle)
+                              "message/external-body")
+                       (progn
+                         (unless (mm-handle-cache handle)
+                           (mm-extern-cache-contents handle))
+                         (mm-handle-cache handle))
+                     handle))
+             charset (assq 'charset (cdr type)))
+       (delq charset type)
+       (funcall fun handle)))))
 
 (defun gnus-mime-view-part-externally (&optional handle)
   "View the MIME part under point with an external viewer."
index e97565471676749913e4c8b754f62621a702f2c5..46f810b2fbbb5bb6cbbb6ef5b442377bcaec9ae9 100644 (file)
@@ -839,7 +839,9 @@ When called interactively, prompt for REGEXP."
                       "Date: %s\nFrom: %s\nSubject: %s Digest\n\n"
                       (message-make-date) name name))
              (when (and message-forward-as-mime gnus-uu-digest-buffer)
-               (insert "<#part type=message/rfc822>\nSubject: Topics\n\n"))
+               (insert
+                "<#mml type=message/rfc822>\nSubject: Topics\n\n<#/mml>\n")
+               (forward-line -1))
              (insert "Topics:\n")))
        (when (not (eq in-state 'end))
          (setq state (list 'middle))))
index 60cbb413473d5cb46469f5a878d2831570a44906..5ee47a8ce2669a3d4665c48bb202ce78b3b5c1f5 100644 (file)
@@ -672,7 +672,14 @@ external if displayed external."
     (mailcap-parse-mailcaps)
     (if (mm-handle-displayed-p handle)
        (mm-remove-part handle)
-      (let* ((type (mm-handle-media-type handle))
+      (let* ((ehandle (if (equal (mm-handle-media-type handle)
+                                "message/external-body")
+                         (progn
+                           (unless (mm-handle-cache handle)
+                             (mm-extern-cache-contents handle))
+                           (mm-handle-cache handle))
+                       handle))
+            (type (mm-handle-media-type ehandle))
             (method (mailcap-mime-info type))
             (filename (or (mail-content-type-get
                            (mm-handle-disposition handle) 'filename)
@@ -680,8 +687,8 @@ external if displayed external."
                            (mm-handle-type handle) 'name)
                           "<file>"))
             (external mm-enable-external))
-       (if (and (mm-inlinable-p handle)
-                (mm-inlined-p handle))
+       (if (and (mm-inlinable-p ehandle)
+                (mm-inlined-p ehandle))
            (progn
              (forward-line 1)
              (mm-display-inline handle)
@@ -689,7 +696,7 @@ external if displayed external."
          (when (or method
                    (not no-default))
            (if (and (not method)
-                    (equal "text" (car (split-string type))))
+                    (equal "text" (car (split-string type "/"))))
                (progn
                  (forward-line 1)
                  (mm-insert-inline handle (mm-get-part handle))
index b736374f016a5148fe22246f7f8189b385fe8ef9..c574bd6156e28b81470e0dc66a336b6e42f05e62 100644 (file)
@@ -157,25 +157,11 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing."
     (save-excursion
       (save-restriction
        (narrow-to-region (point) (point))
-       (let* ((type (regexp-quote
-                     (mm-handle-media-type (mm-handle-cache handle))))
-              ;; Force the part to be displayed (but if there is no
-              ;; method to display, a user will be prompted to save).
-              ;; See `gnus-mime-display-single'.
-              (mm-inline-override-types nil)
-              (mm-attachment-override-types
-               (cons type mm-attachment-override-types))
-              (mm-automatic-display (cons type mm-automatic-display))
-              (mm-automatic-external-display
-               (cons type mm-automatic-external-display))
-              ;; Suppress adding of button to the cached part.
-              (gnus-inhibit-mime-unbuttonizing nil))
-         (gnus-display-mime (mm-handle-cache handle)))
-       ;; Move undisplayer added to the cached handle to the parent.
-       (mm-handle-set-undisplayer
-        handle
-        (mm-handle-undisplayer (mm-handle-cache handle)))
-       (mm-handle-set-undisplayer (mm-handle-cache handle) nil)))))
+       (mm-display-part (mm-handle-cache handle))))
+    ;; Move undisplayer added to the cached handle to the parent.
+    (mm-handle-set-undisplayer
+     handle (mm-handle-undisplayer (mm-handle-cache handle)))
+    (mm-handle-set-undisplayer (mm-handle-cache handle) nil)))
 
 (provide 'mm-extern)