Mercurial > emacs
changeset 37026:da4aab5d8b60
(try_window_reusing_current_matrix) <scrolling up>:
Give up if matrix starts in an ellipsis.
(init_from_display_pos): Do nothing if POS doesn't specify
a dpvec_index but the iterator has such a position.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 27 Mar 2001 18:01:59 +0000 |
parents | 484cee0f302a |
children | 9de32dc27d45 |
files | src/xdisp.c |
diffstat | 1 files changed, 8 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Tue Mar 27 16:52:09 2001 +0000 +++ b/src/xdisp.c Tue Mar 27 18:01:59 2001 +0000 @@ -1871,18 +1871,6 @@ xassert (it->dpvec && it->current.dpvec_index == 0); it->current.dpvec_index = pos->dpvec_index; } - else if (it->current.dpvec_index >= 0) - { - /* I don't think this can happen, just being paranoid... */ - it->dpvec = NULL; - it->current.dpvec_index = -1; - if (it->s) - it->method = next_element_from_c_string; - else if (STRINGP (it->string)) - it->method = next_element_from_string; - else - it->method = next_element_from_buffer; - } CHECK_IT (it); } @@ -10450,6 +10438,13 @@ { int first_row_y; + /* Don't use this method if the display starts with an ellipsis + displayed for invisible text. It's not easy to handle that case + below, and it's certainly not worth the effort since this is + not a frequent case. */ + if (in_ellipses_for_invisible_text_p (&start_row->start, w)) + return 0; + IF_DEBUG (debug_method_add (w, "twu1")); /* Display up to a row that can be reused. The variable @@ -10649,6 +10644,7 @@ /* Start displaying at the start of first_row_to_display. */ xassert (first_row_to_display->y < yb); init_to_row_start (&it, w, first_row_to_display); + nrows_scrolled = (MATRIX_ROW_VPOS (first_reusable_row, w->current_matrix) - start_vpos); it.vpos = (MATRIX_ROW_VPOS (first_row_to_display, w->current_matrix)