]> git.eshelyaron.com Git - emacs.git/commitdiff
(image-jpeg-p): Don't fail if the arg cannot be converted to unibyte.
authorJuanma Barranquero <lekktu@gmail.com>
Fri, 27 Jun 2008 15:58:36 +0000 (15:58 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Fri, 27 Jun 2008 15:58:36 +0000 (15:58 +0000)
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'.

lisp/ChangeLog
lisp/image.el

index e523de3f28d4cb4e202c813a27198d2e6b628495..1f2a04ea7de23051e850a7c11db66aba631d2562 100644 (file)
@@ -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.
index 7dfa0d4a32754f3308713cb0100cd83d1fcd9c3c..2633ff283100541b847ab4afe8fd924f6e15a8f5 100644 (file)
@@ -208,8 +208,8 @@ compatibility with versions of Emacs that lack the variable
 (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 @@ We accept the tag Exif because that is the same format."
            (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 @@ be determined."
       (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 @@ be determined."
            (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 @@ 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))
+  (assoc-default file image-type-file-name-regexps 'string-match-p))
 
 
 ;;;###autoload