Synch with Gnus.
[elisp/gnus.git-] / lisp / mm-view.el
index fe36cf6..45ed4d2 100644 (file)
@@ -43,7 +43,7 @@
   (let ((b (point-marker))
        buffer-read-only)
     (insert "\n")
-    (put-image (mm-get-image handle) b "x")
+    (put-image (mm-get-image handle) b)
     (mm-handle-set-undisplayer
      handle
      `(lambda () (remove-images ,b (1+ ,b))))))
@@ -65,8 +65,8 @@
 
 (eval-and-compile
   (if (string-match "XEmacs" (emacs-version))
-      (fset 'mm-inline-image 'mm-inline-image-xemacs)
-    (fset 'mm-inline-image 'mm-inline-image-emacs)))
+      (defalias 'mm-inline-image 'mm-inline-image-xemacs)
+    (defalias 'mm-inline-image 'mm-inline-image-emacs)))
 
 (defvar mm-w3-setup nil)
 (defun mm-setup-w3 ()
                    (and (boundp 'w3-meta-charset-content-type-regexp)
                         (re-search-forward
                          w3-meta-charset-content-type-regexp nil t)))
-               (setq charset (w3-coding-system-for-mime-charset 
-                              (buffer-substring-no-properties 
-                               (match-beginning 2) 
-                               (match-end 2)))))
+               (setq charset (or (w3-coding-system-for-mime-charset 
+                                  (buffer-substring-no-properties 
+                                   (match-beginning 2) 
+                                   (match-end 2)))
+                                 charset)))
            (delete-region (point-min) (point-max))
            (insert (mm-decode-string text charset))
            (save-window-excursion
              (save-restriction
                (let ((w3-strict-width width)
+                     ;; Don't let w3 set the global version of
+                     ;; this variable.
+                     (fill-column fill-column)
                      (url-standalone-mode t))
                  (condition-case var
                      (w3-region (point-min) (point-max))
       (let ((b (point))
            (charset (mail-content-type-get
                      (mm-handle-type handle) 'charset)))
-       (if (eq charset 'gnus-decoded)
+       (if (or (eq charset 'gnus-decoded)
+               ;; This is probably not entirely correct, but
+               ;; makes rfc822 parts with embedded multiparts work. 
+               (eq mail-parse-charset 'gnus-decoded))
            (mm-insert-part handle)
          (insert (mm-decode-string (mm-get-part handle) charset)))
        (when (and (equal type "plain")