From: Eli Zaretskii Date: Mon, 17 Oct 2011 19:13:44 +0000 (+0200) Subject: Fix part 1 of bug #9771 with assertion violation in move_it_by_lines. X-Git-Tag: emacs-pretest-24.0.91~100 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f2ff9e88941024ca1ca03f8ea1404536bc3c1475;p=emacs.git Fix part 1 of bug #9771 with assertion violation in move_it_by_lines. src/xdisp.c (move_it_vertically_backward): Don't look for character position immediately after the newline when in a continuation line. --- diff --git a/src/ChangeLog b/src/ChangeLog index 53e67a30c38..07b0418b399 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -3,6 +3,9 @@ * xdisp.c (push_display_prop): Determine whether to record string or buffer position by IT->string, not by IT->method. Allow GET_FROM_DISPLAY_VECTOR as IT->method on entry. (Bug#9771, part 4) + (move_it_vertically_backward): Don't look for character position + immediately after the newline when in a continuation line. + (Bug#9771, part 1) 2011-10-15 Martin Rudalics diff --git a/src/xdisp.c b/src/xdisp.c index e796eb98f19..43907ccc03a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -8768,7 +8768,10 @@ move_it_vertically_backward (struct it *it, int dy) reordering. We want to get to the character position that is immediately after the newline of the previous line. */ - if (it->bidi_p && IT_CHARPOS (*it) > BEGV + if (it->bidi_p + && !it->continuation_lines_width + && !STRINGP (it->string) + && IT_CHARPOS (*it) > BEGV && FETCH_BYTE (IT_BYTEPOS (*it) - 1) != '\n') { EMACS_INT nl_pos =