comparison src/xdisp.c @ 39520:199991f52caf

(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.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 01 Oct 2001 10:52:55 +0000
parents c3d9922b855a
children 5f60884970a8
comparison
equal deleted inserted replaced
39519:865d22a5dca3 39520:199991f52caf
11493 { 11493 {
11494 /* Avoid starting to display in the moddle of a character, a TAB 11494 /* Avoid starting to display in the moddle of a character, a TAB
11495 for instance. This is easier than to set up the iterator 11495 for instance. This is easier than to set up the iterator
11496 exactly, and it's not a frequent case, so the additional 11496 exactly, and it's not a frequent case, so the additional
11497 effort wouldn't really pay off. */ 11497 effort wouldn't really pay off. */
11498 while (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row) 11498 while ((MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row)
11499 || last_unchanged_at_beg_row->ends_in_newline_from_string_p)
11499 && last_unchanged_at_beg_row > w->current_matrix->rows) 11500 && last_unchanged_at_beg_row > w->current_matrix->rows)
11500 --last_unchanged_at_beg_row; 11501 --last_unchanged_at_beg_row;
11501 11502
11502 if (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row)) 11503 if (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row))
11503 GIVE_UP (17); 11504 GIVE_UP (17);
13002 margin of the window. */ 13003 margin of the window. */
13003 if (ITERATOR_AT_END_OF_LINE_P (it)) 13004 if (ITERATOR_AT_END_OF_LINE_P (it))
13004 { 13005 {
13005 int used_before = row->used[TEXT_AREA]; 13006 int used_before = row->used[TEXT_AREA];
13006 13007
13008 row->ends_in_newline_from_string_p = STRINGP (it->object);
13009
13007 /* Add a space at the end of the line that is used to 13010 /* Add a space at the end of the line that is used to
13008 display the cursor there. */ 13011 display the cursor there. */
13009 append_space (it, 0); 13012 append_space (it, 0);
13010 13013
13011 /* Extend the face to the end of the line. */ 13014 /* Extend the face to the end of the line. */