# HG changeset patch # User Gerd Moellmann # Date 997704855 0 # Node ID 9c6ef0fd5c4da1b718b1c17dc54a62bf4c658ba7 # Parent d4a3eb49c20c6d45be10610a2cd822bef1f813f6 (move_it_by_lines) : If not already on a line start, move back to the line start. diff -r d4a3eb49c20c -r 9c6ef0fd5c4d src/xdisp.c --- a/src/xdisp.c Mon Aug 13 10:45:57 2001 +0000 +++ b/src/xdisp.c Mon Aug 13 12:14:15 2001 +0000 @@ -5477,6 +5477,12 @@ struct it it2; int start_charpos, i; + /* If we start in the middle of a line, move to the beginning + of that line first. */ + if (IT_CHARPOS (*it) > BEGV + && FETCH_BYTE (IT_BYTEPOS (*it) - 1) != '\n') + back_to_previous_visible_line_start (it); + /* Go back -DVPOS visible lines and reseat the iterator there. */ start_charpos = IT_CHARPOS (*it); for (i = -dvpos; i && IT_CHARPOS (*it) > BEGV; --i)