aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2017-08-13 17:53:48 +0300
committerEli Zaretskii2017-08-13 17:53:48 +0300
commit2367c15b18dd6b3aaf82bdbab9d2e833ec838ef4 (patch)
treedb623d80ba40cd10f1b3ea5a9ff6ccb97e32cbaa
parent28a5b8adcc1cf5e70b06749c73645f4caa9d0b37 (diff)
downloademacs-2367c15b18dd6b3aaf82bdbab9d2e833ec838ef4.tar.gz
emacs-2367c15b18dd6b3aaf82bdbab9d2e833ec838ef4.zip
Fix vertical cursor motion when cursor is on the fringe
* lisp/simple.el (line-move-visual): Fix an off-by-one error in setting temporary-goal-column when newline overflows into the fringe. Support that use case in R2L paragraphs as well.
-rw-r--r--lisp/simple.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 16f69f2bbe7..58f83721923 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -6261,9 +6261,10 @@ If NOERROR, don't signal an error if we can't move that many lines."
6261 (let ((posn (posn-at-point)) 6261 (let ((posn (posn-at-point))
6262 x-pos) 6262 x-pos)
6263 (cond 6263 (cond
6264 ;; Handle the `overflow-newline-into-fringe' case: 6264 ;; Handle the `overflow-newline-into-fringe' case
6265 ((eq (nth 1 posn) 'right-fringe) 6265 ;; (left-fringe is for the R2L case):
6266 (setq temporary-goal-column (cons (- (window-width) 1) hscroll))) 6266 ((memq (nth 1 posn) '(right-fringe left-fringe))
6267 (setq temporary-goal-column (cons (window-width) hscroll)))
6267 ((car (posn-x-y posn)) 6268 ((car (posn-x-y posn))
6268 (setq x-pos (car (posn-x-y posn))) 6269 (setq x-pos (car (posn-x-y posn)))
6269 ;; In R2L lines, the X pixel coordinate is measured from the 6270 ;; In R2L lines, the X pixel coordinate is measured from the