changeset 96380:044f3969e191

(image-jpeg-p): Don't fail if the arg cannot be converted to unibyte. Just assume it is not a JPEG. Use `string-match-p'. (image-type-from-data, image-type-from-file-name): Use `string-match-p'. (image-type-from-buffer): Use `looking-at-p'.
author Juanma Barranquero <lekktu@gmail.com>
date Fri, 27 Jun 2008 15:58:36 +0000
parents 206c2cd0bbcc
children e495cfc33b5e
files lisp/ChangeLog lisp/image.el
diffstat 2 files changed, 14 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Jun 27 14:32:24 2008 +0000
+++ b/lisp/ChangeLog	Fri Jun 27 15:58:36 2008 +0000
@@ -1,3 +1,10 @@
+2008-06-27  Juanma Barranquero  <lekktu@gmail.com>
+
+	* image.el (image-jpeg-p): Don't fail if the arg cannot be converted
+	to unibyte; just assume it is not a JPEG.  Use `string-match-p'.
+	(image-type-from-data, image-type-from-file-name): Use `string-match-p'.
+	(image-type-from-buffer): Use `looking-at-p'.
+
 2008-06-27  Juanma Barranquero  <lekktu@gmail.com>
 
 	* ibuf-ext.el (diff-sentinel): Declare.
--- a/lisp/image.el	Fri Jun 27 14:32:24 2008 +0000
+++ b/lisp/image.el	Fri Jun 27 15:58:36 2008 +0000
@@ -208,8 +208,8 @@
 (defun image-jpeg-p (data)
   "Value is non-nil if DATA, a string, consists of JFIF image data.
 We accept the tag Exif because that is the same format."
-  (setq data (string-to-unibyte data))
-  (when (string-match "\\`\xff\xd8" data)
+  (setq data (ignore-errors (string-to-unibyte data)))
+  (when (and data (string-match-p "\\`\xff\xd8" data))
     (catch 'jfif
       (let ((len (length data)) (i 2))
 	(while (< i len)
@@ -224,8 +224,8 @@
 	    (when (and (>= code #xe0) (<= code #xef))
 	      ;; APP0 LEN1 LEN2 "JFIF\0"
 	      (throw 'jfif
-		     (string-match "JFIF\\|Exif"
-				   (substring data i (min (+ i nbytes) len)))))
+		     (string-match-p "JFIF\\|Exif"
+				     (substring data i (min (+ i nbytes) len)))))
 	    (setq i (+ i 1 nbytes))))))))
 
 
@@ -240,7 +240,7 @@
       (let ((regexp (car (car types)))
 	    (image-type (cdr (car types))))
 	(if (or (and (symbolp image-type)
-		     (string-match regexp data))
+		     (string-match-p regexp data))
 		(and (consp image-type)
 		     (funcall (car image-type) data)
 		     (setq image-type (cdr image-type))))
@@ -264,7 +264,7 @@
 	    (image-type (cdr (car types)))
 	    data)
 	(if (or (and (symbolp image-type)
-		     (looking-at regexp))
+		     (looking-at-p regexp))
 		(and (consp image-type)
 		     (funcall (car image-type)
 			      (or data
@@ -302,7 +302,7 @@
   "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))
+  (assoc-default file image-type-file-name-regexps 'string-match-p))
 
 
 ;;;###autoload