summaryrefslogtreecommitdiff
path: root/lisp/simple.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2017-08-13 17:53:48 +0300
committerEli Zaretskii <eliz@gnu.org>2017-08-13 17:53:48 +0300
commit2367c15b18dd6b3aaf82bdbab9d2e833ec838ef4 (patch)
treedb623d80ba40cd10f1b3ea5a9ff6ccb97e32cbaa /lisp/simple.el
parent28a5b8adcc1cf5e70b06749c73645f4caa9d0b37 (diff)
downloademacs-2367c15b18dd6b3aaf82bdbab9d2e833ec838ef4.tar.gz
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.
Diffstat (limited to 'lisp/simple.el')
-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."
(let ((posn (posn-at-point))
x-pos)
(cond
- ;; Handle the `overflow-newline-into-fringe' case:
- ((eq (nth 1 posn) 'right-fringe)
- (setq temporary-goal-column (cons (- (window-width) 1) hscroll)))
+ ;; Handle the `overflow-newline-into-fringe' case
+ ;; (left-fringe is for the R2L case):
+ ((memq (nth 1 posn) '(right-fringe left-fringe))
+ (setq temporary-goal-column (cons (window-width) hscroll)))
((car (posn-x-y posn))
(setq x-pos (car (posn-x-y posn)))
;; In R2L lines, the X pixel coordinate is measured from the