diff options
Diffstat (limited to 'lisp/image-mode.el')
-rw-r--r-- | lisp/image-mode.el | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lisp/image-mode.el b/lisp/image-mode.el index 492ac10d706..ee5a1e7906e 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el @@ -642,14 +642,19 @@ was inserted." (string-make-unibyte (buffer-substring-no-properties (point-min) (point-max))) filename)) - (edges (window-inside-pixel-edges - (get-buffer-window (current-buffer)))) + ;; If we have a `fit-width' or a `fit-height', don't limit + ;; the size of the image to the window size. + (edges (and (null image-transform-resize) + (window-inside-pixel-edges + (get-buffer-window (current-buffer))))) (type (if (fboundp 'imagemagick-types) 'imagemagick (image-type file-or-data nil data-p))) - (image (create-image file-or-data type data-p - :max-width (- (nth 2 edges) (nth 0 edges)) - :max-height (- (nth 3 edges) (nth 1 edges)))) + (image (if (not edges) + (create-image file-or-data type data-p) + (create-image file-or-data type data-p + :max-width (- (nth 2 edges) (nth 0 edges)) + :max-height (- (nth 3 edges) (nth 1 edges))))) (inhibit-read-only t) (buffer-undo-list t) (modified (buffer-modified-p)) |