diff options
| author | Carlos Pita | 2019-06-23 22:49:47 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2019-06-23 22:50:46 +0200 |
| commit | a74f1e93a6b640f7778addd4a5d076bed35e3f0f (patch) | |
| tree | 2bac071ec8daa7c3cf992678e0c4a9f5b0eaf3e6 | |
| parent | 983e58137696239f18d6482d2f4d398fe64628a7 (diff) | |
| download | emacs-a74f1e93a6b640f7778addd4a5d076bed35e3f0f.tar.gz emacs-a74f1e93a6b640f7778addd4a5d076bed35e3f0f.zip | |
Fix auto-revert resizing in image mode
* lisp/image-mode.el (image-transform-properties): Get image
parameters right after reverting; in particular, compute the
correct max size (bug#33631).
| -rw-r--r-- | lisp/image-mode.el | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lisp/image-mode.el b/lisp/image-mode.el index fa1362c471b..5c30f4085c3 100644 --- a/lisp/image-mode.el +++ b/lisp/image-mode.el | |||
| @@ -736,8 +736,7 @@ was inserted." | |||
| 736 | ;; If we have a `fit-width' or a `fit-height', don't limit | 736 | ;; If we have a `fit-width' or a `fit-height', don't limit |
| 737 | ;; the size of the image to the window size. | 737 | ;; the size of the image to the window size. |
| 738 | (edges (and (null image-transform-resize) | 738 | (edges (and (null image-transform-resize) |
| 739 | (window-inside-pixel-edges | 739 | (window-inside-pixel-edges (get-buffer-window)))) |
| 740 | (get-buffer-window (current-buffer))))) | ||
| 741 | (type (if (image--imagemagick-wanted-p filename) | 740 | (type (if (image--imagemagick-wanted-p filename) |
| 742 | 'imagemagick | 741 | 'imagemagick |
| 743 | (image-type file-or-data nil data-p))) | 742 | (image-type file-or-data nil data-p))) |
| @@ -1150,6 +1149,7 @@ compiled with ImageMagick support." | |||
| 1150 | ;; Note: `image-size' looks up and thus caches the untransformed | 1149 | ;; Note: `image-size' looks up and thus caches the untransformed |
| 1151 | ;; image. There's no easy way to prevent that. | 1150 | ;; image. There's no easy way to prevent that. |
| 1152 | (let* ((size (image-size spec t)) | 1151 | (let* ((size (image-size spec t)) |
| 1152 | (edges (window-inside-pixel-edges (get-buffer-window))) | ||
| 1153 | (resized | 1153 | (resized |
| 1154 | (cond | 1154 | (cond |
| 1155 | ((numberp image-transform-resize) | 1155 | ((numberp image-transform-resize) |
| @@ -1159,13 +1159,11 @@ compiled with ImageMagick support." | |||
| 1159 | ((eq image-transform-resize 'fit-width) | 1159 | ((eq image-transform-resize 'fit-width) |
| 1160 | (image-transform-fit-width | 1160 | (image-transform-fit-width |
| 1161 | (car size) (cdr size) | 1161 | (car size) (cdr size) |
| 1162 | (- (nth 2 (window-inside-pixel-edges)) | 1162 | (- (nth 2 edges) (nth 0 edges)))) |
| 1163 | (nth 0 (window-inside-pixel-edges))))) | ||
| 1164 | ((eq image-transform-resize 'fit-height) | 1163 | ((eq image-transform-resize 'fit-height) |
| 1165 | (let ((res (image-transform-fit-width | 1164 | (let ((res (image-transform-fit-width |
| 1166 | (cdr size) (car size) | 1165 | (cdr size) (car size) |
| 1167 | (- (nth 3 (window-inside-pixel-edges)) | 1166 | (- (nth 3 edges) (nth 1 edges))))) |
| 1168 | (nth 1 (window-inside-pixel-edges)))))) | ||
| 1169 | (cons (cdr res) (car res))))))) | 1167 | (cons (cdr res) (car res))))))) |
| 1170 | `(,@(when (car resized) | 1168 | `(,@(when (car resized) |
| 1171 | (list :width (car resized))) | 1169 | (list :width (car resized))) |