- (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))
- (funcall mode)
- ;; The mode function might have already turned on font-lock.
- (unless (symbol-value 'font-lock-mode)
- (font-lock-fontify-buffer)))
+ ;; I find font-lock a bit too verbose.
+ (let ((font-lock-verbose nil)
+ (font-lock-support-mode nil))
+ ;; Disable support modes, e.g., jit-lock, lazy-lock, etc.
+ ;; Note: XEmacs people use `font-lock-mode-hook' to run those modes.
+ (set (make-local-variable 'font-lock-mode-hook) nil)
+ (setq buffer-file-name (mm-handle-filename handle))
+ (set (make-local-variable 'enable-local-variables) nil)
+ (with-demoted-errors
+ (if mode
+ (funcall mode)
+ (let ((auto-mode-alist
+ (delq (rassq 'doc-view-mode-maybe auto-mode-alist)
+ (copy-sequence auto-mode-alist))))
+ (set-auto-mode)))
+ ;; The mode function might have already turned on font-lock.
+ ;; Do not fontify if the guess mode is fundamental.
+ (unless (or (symbol-value 'font-lock-mode)
+ (eq major-mode 'fundamental-mode))
+ (font-lock-fontify-buffer))))