From: Gerd Moellmann Date: Mon, 27 Nov 2000 12:13:06 +0000 (+0000) Subject: (try_window_id): Avoid starting to display in the moddle X-Git-Tag: emacs-pretest-21.0.92~58 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=67f1cf4c4e450f3c99216aeb6e1242ed3462116c;p=emacs.git (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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 755b7ca1301..d4bfd1c0faf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2000-11-27 Gerd Moellmann + + * toolbar/tool-bar.el (tool-bar-add-item-from-menu): Handle case + that foreground and/or background colors of the face `tool-bar' + are unspecified. + 2000-11-27 Miles Bader * wid-edit.el (widget-field-buffer, widget-field-start) diff --git a/src/ChangeLog b/src/ChangeLog index 971bd2bc047..909cce3e2a8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,6 +1,13 @@ +2000-11-27 Gerd Moellmann + + * xdisp.c (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. + 2000-11-26 Andrew Choi - * emacs.c (main) [macintosh]: call syms_of_frame before calling + * emacs.c (main) [macintosh]: Call syms_of_frame before calling init_window_once. 2000-11-25 Jason Rumney diff --git a/src/xdisp.c b/src/xdisp.c index 6cec7760926..16ac7dba318 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -10767,6 +10767,17 @@ try_window_id (w) 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;