diff lisp/image.el @ 77873:b2375f70c499

(image-type-auto-detected-p): Don't scan auto-mode-alist.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 04 Jun 2007 20:40:53 +0000
parents 53fa6ea37e3a
children 9355f9b7bbff
line wrap: on
line diff
--- a/lisp/image.el	Mon Jun 04 20:40:26 2007 +0000
+++ b/lisp/image.el	Mon Jun 04 20:40:53 2007 +0000
@@ -343,30 +343,15 @@
 ;;;###autoload
 (defun image-type-auto-detected-p ()
   "Return t iff the current buffer contains an auto-detectable image.
-This function is intended to be used from `magic-mode-alist' (which see).
+This function is intended to be used from `magic-fallback-mode-alist'.
 
-First, compare the beginning of the buffer with `image-type-header-regexps'.
-If an appropriate image type is found, check if that image type can be
-autodetected using the variable `image-type-auto-detectable'.  Finally,
-if `buffer-file-name' is non-nil, check if it matches another major mode
-in `auto-mode-alist' apart from `image-mode'; if there is another match,
-the autodetection is considered to have failed.  Return t if all the above
-steps succeed."
+The buffer is considered to contain an auto-detectable image if
+its beginning matches an image type in `image-type-header-regexps',
+and that image type is present in `image-type-auto-detectable'."
   (let* ((type (image-type-from-buffer))
 	 (auto (and type (cdr (assq type image-type-auto-detectable)))))
     (and auto
-	 (or (eq auto t) (image-type-available-p type))
-	 (or (null buffer-file-name)
-	     (not (assoc-default
-		   buffer-file-name
-		   (delq nil (mapcar 
-			      (lambda (elt)
-				(unless (memq (or (car-safe (cdr elt))
-						  (cdr elt))
-					      '(image-mode image-mode-maybe))
-				  elt))
-			      auto-mode-alist))
-		   'string-match))))))
+	 (or (eq auto t) (image-type-available-p type)))))
 
 
 ;;;###autoload