diff options
author | Glenn Morris <rgm@gnu.org> | 2012-10-22 20:46:11 -0400 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2012-10-22 20:46:11 -0400 |
commit | ea1d4aaca0a593c99673912cee3ea910a958d38c (patch) | |
tree | efadb758b3d03faa47349ec3512a44bd82f2eb0a /lisp/image.el | |
parent | f961c7d82bb50cea1e6425042c79c26d23dbc2f1 (diff) | |
download | emacs-ea1d4aaca0a593c99673912cee3ea910a958d38c.tar.gz emacs-ea1d4aaca0a593c99673912cee3ea910a958d38c.tar.bz2 emacs-ea1d4aaca0a593c99673912cee3ea910a958d38c.zip |
image-type-from-file-name fix for bug#9045
* lisp/image.el (image-type-from-file-name): If multiple types match,
return the first one that is supported.
Diffstat (limited to 'lisp/image.el')
-rw-r--r-- | lisp/image.el | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/image.el b/lisp/image.el index 56c2fdff23f..aef44fc3701 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -308,8 +308,17 @@ be determined." "Determine the type of image file FILE from its name. Value is a symbol specifying the image type, or nil if type cannot be determined." - (assoc-default file image-type-file-name-regexps 'string-match-p)) - + (let (type first) + (or + (catch 'found + (dolist (elem image-type-file-name-regexps) + (when (string-match-p (car elem) file) + (setq type (cdr elem)) + (or first (setq first type)) + (if (image-type-available-p type) + (throw 'found type))))) + ;; If nothing seems to be supported, return the first type that matched. + first))) ;;;###autoload (defun image-type (source &optional type data-p) |