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.
This commit is contained in:
Eli Zaretskii 2011-11-19 21:49:56 +02:00
parent f8fe6f9674
commit 0e23d96a60
2 changed files with 12 additions and 8 deletions

View file

@ -1,3 +1,9 @@
2011-11-19 Eli Zaretskii <eliz@gnu.org>
* 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 <schwab@linux-m68k.org>
* language/european.el (macintosh): Define as alias for mac-roman.

View file

@ -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))))