changeset 33898:93b22ccc23e2

(try_window_id): Avoid starting to display in the moddle of a character, a TAB 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.
author Gerd Moellmann <gerd@gnu.org>
date Mon, 27 Nov 2000 12:12:14 +0000
parents da7c75342507
children ec3fd3c937ce
files src/xdisp.c
diffstat 1 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Mon Nov 27 12:11:33 2000 +0000
+++ b/src/xdisp.c	Mon Nov 27 12:12:14 2000 +0000
@@ -10767,6 +10767,17 @@
   last_unchanged_at_beg_row = find_last_unchanged_at_beg_row (w);
   if (last_unchanged_at_beg_row)
     {
+      /* Avoid starting to display in the moddle of a character, a TAB
+	 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)
+	     && last_unchanged_at_beg_row > w->current_matrix->rows)
+	--last_unchanged_at_beg_row;
+
+      if (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P (last_unchanged_at_beg_row))
+	return 0;
+      
       init_to_row_end (&it, w, last_unchanged_at_beg_row);
       start_pos = it.current.pos;