summaryrefslogtreecommitdiff
path: root/lisp/image/image-converter.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-08-03 09:14:52 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-08-03 09:14:52 +0200
commite1f09607e02eb507b229285ed48b85a3c6a50259 (patch)
tree4ad022c57d9be661ac860aa647df074c62f249b9 /lisp/image/image-converter.el
parent79527cd56e9e3f8b5b1630fe18b92f7ea95e87fd (diff)
downloademacs-e1f09607e02eb507b229285ed48b85a3c6a50259.tar.gz
Make `n'/`p' in image-mode also find externally converted images
* lisp/image-file.el (image-file-name-regexp): Use it to make `n'/`p' in image mode work (bug#39994). * lisp/image/image-converter.el (image-converter-file-name-extensions): New variable to keep track of all suffixes. (image-convert-p): Update. (image-converter--find-converter): Set.
Diffstat (limited to 'lisp/image/image-converter.el')
-rw-r--r--lisp/image/image-converter.el14
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/image/image-converter.el b/lisp/image/image-converter.el
index b694052f5b9..ee1dc845fb5 100644
--- a/lisp/image/image-converter.el
+++ b/lisp/image/image-converter.el
@@ -42,6 +42,9 @@ installed on the system."
(defvar image-converter-regexp nil
"A regexp that matches the file name suffixes that can be converted.")
+(defvar image-converter-file-name-extensions nil
+ "A list of file name suffixes that can be converted.")
+
(defvar image-converter--converters
'((graphicsmagick :command ("gm" "convert") :probe ("-list" "format"))
(ffmpeg :command "ffmpeg" :probe "-decoders")
@@ -58,9 +61,11 @@ is a string, it should be a MIME format string like
(unless image-converter
(image-converter--find-converter))
;; When image-converter was customized
- (if (and image-converter (not image-converter-regexp))
- (when-let ((formats (image-converter--probe image-converter)))
- (setq image-converter-regexp (concat "\\." (regexp-opt formats) "\\'"))))
+ (when (and image-converter (not image-converter-regexp))
+ (when-let ((formats (image-converter--probe image-converter)))
+ (setq image-converter-regexp
+ (concat "\\." (regexp-opt formats) "\\'"))
+ (setq image-converter-file-name-extensions formats)))
(and image-converter
(or (and (not data-p)
(string-match image-converter-regexp source))
@@ -183,7 +188,8 @@ data is returned as a string."
(dolist (elem image-converter--converters)
(when-let ((formats (image-converter--probe (car elem))))
(setq image-converter (car elem)
- image-converter-regexp (concat "\\." (regexp-opt formats) "\\'"))
+ image-converter-regexp (concat "\\." (regexp-opt formats) "\\'")
+ image-converter-file-name-extensions formats)
(throw 'done image-converter)))))
(cl-defmethod image-converter--convert ((type (eql graphicsmagick)) source