Synch to No Gnus 200501120840.
[elisp/gnus.git-] / lisp / mm-view.el
index 62acf57..133b3f6 100644 (file)
   (setq w3m-display-inline-images mm-inline-text-html-with-images))
 
 (defun mm-w3m-cid-retrieve-1 (url handle)
-  (if (mm-multiple-handles handle)
-      (dolist (elem handle)
-       (mm-w3m-cid-retrieve-1 url elem))
-    (when (and (listp handle)
-              (equal url (mm-handle-id handle)))
-      (mm-insert-part handle)
-      (throw 'found-handle (mm-handle-media-type handle)))))
+  (dolist (elem handle)
+    (when (listp elem)
+      (if (equal url (mm-handle-id elem))
+         (progn
+           (mm-insert-part elem)
+           (throw 'found-handle (mm-handle-media-type elem))))
+      (if (equal "multipart" (mm-handle-media-supertype elem))
+         (mm-w3m-cid-retrieve-1 url elem)))))
 
 (defun mm-w3m-cid-retrieve (url &rest args)
   "Insert a content pointed by URL if it has the cid: scheme."
          (progn
            (buffer-disable-undo)
            (mm-insert-part handle)
-           (funcall mode)
            (require 'font-lock)
+           ;; Inhibit font-lock this time (*-mode-hook might run
+           ;; `turn-on-font-lock') so that jit-lock may not turn off
+           ;; font-lock immediately after this.
+           (let ((font-lock-mode t))
+             (funcall mode))
            (let ((font-lock-verbose nil))
              ;; I find font-lock a bit too verbose.
              (font-lock-fontify-buffer))
 (defun mm-display-elisp-inline (handle)
   (mm-display-inline-fontify handle 'emacs-lisp-mode))
 
+(defun mm-display-dns-inline (handle)
+  (mm-display-inline-fontify handle 'dns-mode))
+
 ;;      id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
 ;;          us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 }
 (defvar mm-pkcs7-signed-magic