]> git.eshelyaron.com Git - emacs.git/commitdiff
Make image-mode respect `imagemagick-types-inhibit'
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 14 Apr 2018 13:36:53 +0000 (15:36 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 14 Apr 2018 13:36:53 +0000 (15:36 +0200)
* lisp/image-mode.el (image--imagemagick-wanted-p): New function
(bug#29584).
(image-toggle-display-image): Use it to see whether we want to use
imagemagick.

etc/NEWS
lisp/image-mode.el

index d29a513c70c1797d17a4c33ab77e4607f7845709..980a5b453a2c370c6228b8bdf4468f7de0814db9 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -551,6 +551,13 @@ such decisions (if they are to be made at all) are left to
 higher-level functions.
 
 
+** image-mode
+
+*** image-mode started using ImageMagick by default for all images
+some years back.  It now respects `imagemagick-types-inhibit' as a way
+to disable that.
+
+
 +++
 ** The new function 'read-answer' accepts either long or short answers
 depending on the new customizable variable 'read-answer-short'.
index 70d2ca87cc6315023b703c841260db8cd75fe96e..320f21a62d7151ed49e0ef19fbea1853e3d1c6e7 100644 (file)
@@ -758,7 +758,7 @@ was inserted."
         (edges (and (null image-transform-resize)
                     (window-inside-pixel-edges
                      (get-buffer-window (current-buffer)))))
-        (type (if (fboundp 'imagemagick-types)
+        (type (if (image--imagemagick-wanted-p filename)
                   'imagemagick
                 (image-type file-or-data nil data-p)))
         (image (if (not edges)
@@ -803,6 +803,12 @@ was inserted."
     (if (called-interactively-p 'any)
        (message "Repeat this command to go back to displaying the file as text"))))
 
+(defun image--imagemagick-wanted-p (filename)
+  (and (fboundp 'imagemagick-types)
+       (not (eq imagemagick-types-inhibit t))
+       (not (memq (intern (upcase (file-name-extension filename)) obarray)
+                  imagemagick-types-inhibit))))
+
 (defun image-toggle-hex-display ()
   "Toggle between image and hex display."
   (interactive)