diff options
author | Eli Zaretskii <eliz@gnu.org> | 2017-08-13 17:53:48 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2017-08-13 17:53:48 +0300 |
commit | 2367c15b18dd6b3aaf82bdbab9d2e833ec838ef4 (patch) | |
tree | db623d80ba40cd10f1b3ea5a9ff6ccb97e32cbaa /lisp/simple.el | |
parent | 28a5b8adcc1cf5e70b06749c73645f4caa9d0b37 (diff) | |
download | emacs-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.el | 7 |
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 |