From 24c23999e1d5352664cbb4d4a8e927efb1ec43b1 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Fri, 27 Jun 2008 15:58:36 +0000 Subject: [PATCH] (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'. --- lisp/ChangeLog | 7 +++++++ lisp/image.el | 14 +++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e523de3f28d..1f2a04ea7de 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2008-06-27 Juanma Barranquero + + * 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 * ibuf-ext.el (diff-sentinel): Declare. diff --git a/lisp/image.el b/lisp/image.el index 7dfa0d4a327..2633ff28310 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -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 -- 2.39.2