From 0e23d96a60e4283caf112c0d06bb49a8a86ab2bf Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 19 Nov 2011 21:49:56 +0200 Subject: [PATCH] Fix bug #10076 with vertical cursor motion in hscrolled windows. lisp/simple.el (line-move): Force movement by logical lines for any hscrolled window, not only when auto-hscroll-mode is on. (line-move-visual): Update doc string to that effect. --- lisp/ChangeLog | 6 ++++++ lisp/simple.el | 14 ++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b35ddc25d73..86a6c1c3754 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2011-11-19 Eli Zaretskii + + * simple.el (line-move): Force movement by logical lines for any + hscrolled window, not only when auto-hscroll-mode is on. + (line-move-visual): Update doc string to that effect. (Bug#10076) + 2011-11-19 Andreas Schwab * language/european.el (macintosh): Define as alias for mac-roman. diff --git a/lisp/simple.el b/lisp/simple.el index e70d37588a0..1dc866cf64d 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -4277,8 +4277,8 @@ into account variable-width characters and line continuation. If nil, `line-move' moves point by logical lines. A non-nil setting of `goal-column' overrides the value of this variable and forces movement by logical lines. -Disabling `auto-hscroll-mode' also overrides forces movement by logical -lines when the window is horizontally scrolled." +A window that is horizontally scrolled also forces movement by logical +lines." :type 'boolean :group 'editing-basics :version "23.1") @@ -4358,12 +4358,10 @@ lines when the window is horizontally scrolled." (if (and line-move-visual ;; Display-based column are incompatible with goal-column. (not goal-column) - ;; When auto-hscroll-mode is turned off and the text in - ;; the window is scrolled to the left, display-based - ;; motion doesn't make sense (because each logical line - ;; occupies exactly one screen line). - (not (and (null auto-hscroll-mode) - (> (window-hscroll) 0)))) + ;; When the text in the window is scrolled to the left, + ;; display-based motion doesn't make sense (because each + ;; logical line occupies exactly one screen line). + (not (> (window-hscroll) 0))) (line-move-visual arg noerror) (line-move-1 arg noerror to-end)))) -- 2.39.2