X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/99a33b77e15b9a075024701d060d912b2fd87caf..741d511359a7862a6f7c65da9e2952a1cc8cd92b:/lisp/gnus/mm-view.el diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el index 5a90f015ae..ac6170a3cd 100644 --- a/lisp/gnus/mm-view.el +++ b/lisp/gnus/mm-view.el @@ -1,6 +1,6 @@ ;;; mm-view.el --- functions for viewing MIME objects -;; Copyright (C) 1998-2011 Free Software Foundation, Inc. +;; Copyright (C) 1998-2013 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. @@ -90,13 +90,14 @@ (put-image (let ((image (mm-get-image handle))) (if (eq mm-inline-large-images 'resize) - (gnus-rescale-image image - (let ((edges (gnus-window-inside-pixel-edges - (get-buffer-window (current-buffer))))) - (cons (truncate (* mm-inline-large-images-proportion - (- (nth 2 edges) (nth 0 edges)))) - (truncate (* mm-inline-large-images-proportion - (- (nth 3 edges) (nth 1 edges))))))) + (gnus-rescale-image + image + (let ((edges (gnus-window-inside-pixel-edges + (get-buffer-window (current-buffer))))) + (cons (truncate (* mm-inline-large-images-proportion + (- (nth 2 edges) (nth 0 edges)))) + (truncate (* mm-inline-large-images-proportion + (- (nth 3 edges) (nth 1 edges))))))) image)) b) (insert "\n\n") @@ -495,9 +496,6 @@ (defun mm-inline-audio (handle) (message "Not implemented")) -(defun mm-view-sound-file () - (message "Not implemented")) - (defun mm-w3-prepare-buffer () (require 'w3) (let ((url-standalone-mode t) @@ -565,6 +563,8 @@ (face-property 'default prop) (current-buffer)))) (delete-region ,(point-min-marker) ,(point-max-marker))))))))) +;; Shut up byte-compiler. +(defvar font-lock-mode-hook) (defun mm-display-inline-fontify (handle &optional mode) "Insert HANDLE inline fontifying with MODE. If MODE is not set, try to find mode automatically." @@ -596,22 +596,26 @@ If MODE is not set, try to find mode automatically." (t text))) (require 'font-lock) - (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)) + ;; 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) - (if mode - (funcall mode) - (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))) + (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)))) ;; By default, XEmacs font-lock uses non-duplicable text ;; properties. This code forces all the text properties ;; to be copied along with the text.