(mime-view-insert-fontified-text-content): Disable support modes.
[elisp/semi.git] / mime-view.el
index 2955e63..33dc314 100644 (file)
@@ -978,20 +978,22 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t.  t means default."
            (kill-all-local-variables)
            (mime-view-insert-text-content entity situation)
            (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))
+           (let ((font-lock-maximum-size nil)
+                 ;; Disable support modes, e.g., jit-lock, lazy-lock, etc.
+                 (font-lock-mode-hook nil)
+                 (font-lock-support-mode nil)
+                 ;; I find font-lock a bit too verbose.
+                 (font-lock-verbose nil))
              (cond (mode
                     (funcall mode))
                    ((setq filename (mime-entity-filename entity))
                     (let ((buffer-file-name
                            (expand-file-name (file-name-nondirectory filename)
                                              temporary-file-directory)))
-                      (set-auto-mode)))))
-           (let ((font-lock-verbose nil))
-             ;; I find font-lock a bit too verbose.
-             (font-lock-fontify-buffer))
+                      (set-auto-mode))))
+             ;; The mode function might have already turned on font-lock.
+             (unless (symbol-value 'font-lock-mode)
+               (font-lock-fontify-buffer)))
            ;; By default, XEmacs font-lock uses non-duplicable text
            ;; properties.  This code forces all the text properties
            ;; to be copied along with the text.