summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-08-16 20:42:16 +0300
committerEli Zaretskii <eliz@gnu.org>2023-08-16 20:42:16 +0300
commit7856d51436b759aa03ac2b32126d177cebbbca8c (patch)
treeebf2475a9a65e869a8fa4aa2fc75a5b0d4c0f134
parent8cf5659ec2fb70681505b9803a2182ab00b509b4 (diff)
downloademacs-7856d51436b759aa03ac2b32126d177cebbbca8c.tar.gz
Fix horizontal scrolling of images with C-f
* lisp/image-mode.el (image-forward-hscroll): Calculate the window-width more accurately, as the number of full columns that fits in the window's text-area. (Bug#65187)
-rw-r--r--lisp/image-mode.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 1820defa195..336d89dd52d 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -248,8 +248,9 @@ Stop if the right edge of the image is reached."
(image-set-window-hscroll (max 0 (+ (window-hscroll) n))))
(t
(let* ((image (image-get-display-property))
- (edges (window-inside-edges))
- (win-width (- (nth 2 edges) (nth 0 edges)))
+ (edges (window-edges nil t nil t))
+ (win-width (- (/ (nth 2 edges) (frame-char-width))
+ (/ (nth 0 edges) (frame-char-width))))
(img-width (ceiling (car (image-display-size image)))))
(image-set-window-hscroll (min (max 0 (- img-width win-width))
(+ n (window-hscroll))))))))