From b437860aadfd97807b3fcdee9c1e8808c03ba312 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 1 Jan 2005 01:36:48 +0000 Subject: [PATCH] (struct it): New element ellipsis_p. (struct glyph_row): New element ends_in_ellipsis_p. --- src/ChangeLog | 13 +++++++++++++ src/dispextern.h | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 494f45f9af8..6e725eef287 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -4,6 +4,19 @@ 2004-12-31 Richard M. Stallman + * xdisp.c (setup_for_ellipsis, get_next_display_element): + Set it->ellipsis_p to 1 or 0. + (display_line): Record whether row ends in mid-ellipsis. + (set_cursor_from_row): If ends in ellipsis. find start of it. + (cursor_row_p): If PT's at the end of the ellipsis the row + ends within, don't display cursor on this row. + + * dispextern.h (struct it): New element ellipsis_p. + (struct glyph_row): New element ends_in_ellipsis_p. + + * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified + position if we're reading from something other than the buffer. + * window.c (window_scroll_pixel_based): Only look at Vscroll_preserve_screen_position if the old PT can't be kept. (syms_of_window) : Doc fix. diff --git a/src/dispextern.h b/src/dispextern.h index c9d85065e78..a6f12a04b45 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -817,6 +817,9 @@ struct glyph_row /* 1 means this row currently shows the cursor in the right fringe. */ unsigned cursor_in_fringe_p : 1; + /* 1 means the last glyph in the row is part of an ellipsis. */ + unsigned ends_in_ellipsis_p : 1; + /* Non-zero means display a bitmap on X frames indicating that this the first line of the buffer. */ unsigned indicate_bob_p : 1; @@ -1825,6 +1828,10 @@ struct it Don't handle some `display' properties in these strings. */ unsigned string_from_display_prop_p : 1; + /* When METHOD == next_element_from_display_vector, + this is 1 if we're doing an ellipsis. Otherwise meaningless. */ + unsigned ellipsis_p : 1; + /* Display table in effect or null for none. */ struct Lisp_Char_Table *dp; -- 2.39.5