# HG changeset patch # User Gerd Moellmann # Date 1001933575 0 # Node ID 199991f52cafee7c65c8d35cb0d5737a1bbb5189 # Parent 865d22a5dca3e7ce5f3328514e1881d43197d4e2 (display_line): Set row's ends_in_newline_from_string_p. (try_window_id): Skip back over lines ending in a newline from a string. diff -r 865d22a5dca3 -r 199991f52caf src/xdisp.c --- a/src/xdisp.c Mon Oct 01 09:32:09 2001 +0000 +++ b/src/xdisp.c Mon Oct 01 10:52:55 2001 +0000 @@ -11495,7 +11495,8 @@ for instance. This is easier than to set up the iterator exactly, and it's not a frequent case, so the additional effort wouldn't really pay off. */ - while (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row) + while ((MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row) + || last_unchanged_at_beg_row->ends_in_newline_from_string_p) && last_unchanged_at_beg_row > w->current_matrix->rows) --last_unchanged_at_beg_row; @@ -13004,6 +13005,8 @@ { int used_before = row->used[TEXT_AREA]; + row->ends_in_newline_from_string_p = STRINGP (it->object); + /* Add a space at the end of the line that is used to display the cursor there. */ append_space (it, 0);