diff options
| author | Gerd Moellmann | 2001-03-27 18:02:26 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-03-27 18:02:26 +0000 |
| commit | 607ec83c511d62037a1dfc5aec2f9fd5e3a57558 (patch) | |
| tree | 9159eaaa89365809a5c0d4493fc3c187df6334e6 /src | |
| parent | 0245398f1d9dc305f9414193a2fdb84cfb3601b6 (diff) | |
| download | emacs-607ec83c511d62037a1dfc5aec2f9fd5e3a57558.tar.gz emacs-607ec83c511d62037a1dfc5aec2f9fd5e3a57558.zip | |
(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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xdisp.c | 20 |
2 files changed, 13 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index aab2d0a8d6d..5f8ccb8d812 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | 2001-03-27 Gerd Moellmann <gerd@gnu.org> | 1 | 2001-03-27 Gerd Moellmann <gerd@gnu.org> |
| 2 | 2 | ||
| 3 | * xdisp.c (try_window_reusing_current_matrix) <scrolling up>: | ||
| 4 | Give up if matrix starts in an ellipsis. | ||
| 5 | (init_from_display_pos): Do nothing if POS doesn't specify | ||
| 6 | a dpvec_index but the iterator has such a position. | ||
| 7 | |||
| 3 | * xdisp.c (init_from_display_pos): Remove unwarranted assertion. | 8 | * xdisp.c (init_from_display_pos): Remove unwarranted assertion. |
| 4 | 9 | ||
| 5 | * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's | 10 | * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's |
diff --git a/src/xdisp.c b/src/xdisp.c index bd6a07e05d0..669b0d77ebf 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1871,18 +1871,6 @@ init_from_display_pos (it, w, pos) | |||
| 1871 | xassert (it->dpvec && it->current.dpvec_index == 0); | 1871 | xassert (it->dpvec && it->current.dpvec_index == 0); |
| 1872 | it->current.dpvec_index = pos->dpvec_index; | 1872 | it->current.dpvec_index = pos->dpvec_index; |
| 1873 | } | 1873 | } |
| 1874 | else if (it->current.dpvec_index >= 0) | ||
| 1875 | { | ||
| 1876 | /* I don't think this can happen, just being paranoid... */ | ||
| 1877 | it->dpvec = NULL; | ||
| 1878 | it->current.dpvec_index = -1; | ||
| 1879 | if (it->s) | ||
| 1880 | it->method = next_element_from_c_string; | ||
| 1881 | else if (STRINGP (it->string)) | ||
| 1882 | it->method = next_element_from_string; | ||
| 1883 | else | ||
| 1884 | it->method = next_element_from_buffer; | ||
| 1885 | } | ||
| 1886 | 1874 | ||
| 1887 | CHECK_IT (it); | 1875 | CHECK_IT (it); |
| 1888 | } | 1876 | } |
| @@ -10450,6 +10438,13 @@ try_window_reusing_current_matrix (w) | |||
| 10450 | { | 10438 | { |
| 10451 | int first_row_y; | 10439 | int first_row_y; |
| 10452 | 10440 | ||
| 10441 | /* Don't use this method if the display starts with an ellipsis | ||
| 10442 | displayed for invisible text. It's not easy to handle that case | ||
| 10443 | below, and it's certainly not worth the effort since this is | ||
| 10444 | not a frequent case. */ | ||
| 10445 | if (in_ellipses_for_invisible_text_p (&start_row->start, w)) | ||
| 10446 | return 0; | ||
| 10447 | |||
| 10453 | IF_DEBUG (debug_method_add (w, "twu1")); | 10448 | IF_DEBUG (debug_method_add (w, "twu1")); |
| 10454 | 10449 | ||
| 10455 | /* Display up to a row that can be reused. The variable | 10450 | /* Display up to a row that can be reused. The variable |
| @@ -10649,6 +10644,7 @@ try_window_reusing_current_matrix (w) | |||
| 10649 | /* Start displaying at the start of first_row_to_display. */ | 10644 | /* Start displaying at the start of first_row_to_display. */ |
| 10650 | xassert (first_row_to_display->y < yb); | 10645 | xassert (first_row_to_display->y < yb); |
| 10651 | init_to_row_start (&it, w, first_row_to_display); | 10646 | init_to_row_start (&it, w, first_row_to_display); |
| 10647 | |||
| 10652 | nrows_scrolled = (MATRIX_ROW_VPOS (first_reusable_row, w->current_matrix) | 10648 | nrows_scrolled = (MATRIX_ROW_VPOS (first_reusable_row, w->current_matrix) |
| 10653 | - start_vpos); | 10649 | - start_vpos); |
| 10654 | it.vpos = (MATRIX_ROW_VPOS (first_row_to_display, w->current_matrix) | 10650 | it.vpos = (MATRIX_ROW_VPOS (first_row_to_display, w->current_matrix) |