From: Eli Zaretskii Date: Fri, 16 Apr 2010 20:37:59 +0000 (+0300) Subject: Fix bug #5943: C-e in a truncated line doesn't auto-hscroll. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~493 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0f4442efb1a1ec17448a8750e4c49defb5479982;p=emacs.git 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index f3c0c562968..d1e22c730c7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2010-04-16 Eli Zaretskii + + * 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 * s/freebsd.h: Restore osreldate.h include. diff --git a/src/xdisp.c b/src/xdisp.c index 7523da8bd7b..c23c360832f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -12925,7 +12925,12 @@ set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos) 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