Mercurial > emacs
changeset 107881:6effcd2bae9f
Fix bug #5943: C-e in a truncated line doesn't auto-hscroll.
xdisp.c (set_cursor_from_row): Don't consider possibility of
other rows with cursor unless they are different from this row and
this row is part of a continued line.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 16 Apr 2010 23:37:59 +0300 |
parents | 43aef96c6073 |
children | 9b67d5035af2 d177bcced744 |
files | src/ChangeLog src/xdisp.c |
diffstat | 2 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Fri Apr 16 10:22:12 2010 -0700 +++ b/src/ChangeLog Fri Apr 16 23:37:59 2010 +0300 @@ -1,3 +1,9 @@ +2010-04-16 Eli Zaretskii <eliz@gnu.org> + + * xdisp.c (set_cursor_from_row): Don't consider possibility of + other rows with cursor unless they are different from this row and + this row is part of a continued line. (Bug#5943) + 2010-04-16 Dan Nicolaescu <dann@ics.uci.edu> * s/freebsd.h: Restore osreldate.h include.
--- a/src/xdisp.c Fri Apr 16 10:22:12 2010 -0700 +++ b/src/xdisp.c Fri Apr 16 23:37:59 2010 +0300 @@ -12925,7 +12925,12 @@ rows whose start and end charpos occlude point. Only set w->cursor if we found a better approximation to the cursor position than we have from previously examined rows. */ - if (w->cursor.vpos >= 0 + if (/* we already have a candidate row */ + w->cursor.vpos >= 0 + /* that candidate is not the row we are processing */ + && MATRIX_ROW (matrix, w->cursor.vpos) != row + /* this row is part of a continued line */ + && (row->continued_p || row->continuation_lines_width) /* Make sure cursor.vpos specifies a row whose start and end charpos occlude point. This is because some callers of this function leave cursor.vpos at the row where the cursor was