diff options
| author | Richard M. Stallman | 2007-11-04 07:31:56 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2007-11-04 07:31:56 +0000 |
| commit | c69a28f1e6fe35ccac4848a4a7644fed1250afe3 (patch) | |
| tree | c910533710a85c5b71c420e596184d07324fd6f8 /src | |
| parent | 6519d955f965373c6142fcdaad738cd4bf575038 (diff) | |
| download | emacs-c69a28f1e6fe35ccac4848a4a7644fed1250afe3.tar.gz emacs-c69a28f1e6fe35ccac4848a4a7644fed1250afe3.zip | |
(struct it): New elt string_overlays.
New elt from_overlay, also in stack.
Rearrange a few elements.
(face_for_overlay_string): Decl renamed from
face_at_buffer_position_no_overlays, and add argument.
Diffstat (limited to 'src')
| -rw-r--r-- | src/dispextern.h | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index c59403b0205..a3c62637497 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -1912,20 +1912,28 @@ struct it | |||
| 1912 | position in overlay strings etc. */ | 1912 | position in overlay strings etc. */ |
| 1913 | struct display_pos current; | 1913 | struct display_pos current; |
| 1914 | 1914 | ||
| 1915 | /* Total number of overlay strings to process. This can be > | ||
| 1916 | OVERLAY_STRING_CHUNK_SIZE. */ | ||
| 1917 | int n_overlay_strings; | ||
| 1918 | |||
| 1915 | /* Vector of overlays to process. Overlay strings are processed | 1919 | /* Vector of overlays to process. Overlay strings are processed |
| 1916 | OVERLAY_STRING_CHUNK_SIZE at a time. */ | 1920 | OVERLAY_STRING_CHUNK_SIZE at a time. */ |
| 1917 | #define OVERLAY_STRING_CHUNK_SIZE 16 | 1921 | #define OVERLAY_STRING_CHUNK_SIZE 16 |
| 1918 | Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE]; | 1922 | Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE]; |
| 1919 | 1923 | ||
| 1920 | /* Total number of overlay strings to process. This can be > | 1924 | /* For each overlay string, the overlay it came from. */ |
| 1921 | OVERLAY_STRING_CHUNK_SIZE. */ | 1925 | #define OVERLAY_STRING_CHUNK_SIZE 16 |
| 1922 | int n_overlay_strings; | 1926 | Lisp_Object string_overlays[OVERLAY_STRING_CHUNK_SIZE]; |
| 1923 | 1927 | ||
| 1924 | /* If non-nil, a Lisp string being processed. If | 1928 | /* If non-nil, a Lisp string being processed. If |
| 1925 | current.overlay_string_index >= 0, this is an overlay string from | 1929 | current.overlay_string_index >= 0, this is an overlay string from |
| 1926 | pos. */ | 1930 | pos. */ |
| 1927 | Lisp_Object string; | 1931 | Lisp_Object string; |
| 1928 | 1932 | ||
| 1933 | /* If non-nil, we are processing a string that came | ||
| 1934 | from a `display' property given by an overlay. */ | ||
| 1935 | Lisp_Object from_overlay; | ||
| 1936 | |||
| 1929 | /* Stack of saved values. New entries are pushed when we begin to | 1937 | /* Stack of saved values. New entries are pushed when we begin to |
| 1930 | process an overlay string or a string from a `glyph' property. | 1938 | process an overlay string or a string from a `glyph' property. |
| 1931 | Entries are popped when we return to deliver display elements | 1939 | Entries are popped when we return to deliver display elements |
| @@ -1961,6 +1969,7 @@ struct it | |||
| 1961 | /* current text and display positions. */ | 1969 | /* current text and display positions. */ |
| 1962 | struct text_pos position; | 1970 | struct text_pos position; |
| 1963 | struct display_pos current; | 1971 | struct display_pos current; |
| 1972 | Lisp_Object from_overlay; | ||
| 1964 | enum glyph_row_area area; | 1973 | enum glyph_row_area area; |
| 1965 | enum it_method method; | 1974 | enum it_method method; |
| 1966 | unsigned multibyte_p : 1; | 1975 | unsigned multibyte_p : 1; |
| @@ -1977,13 +1986,6 @@ struct it | |||
| 1977 | /* Stack pointer. */ | 1986 | /* Stack pointer. */ |
| 1978 | int sp; | 1987 | int sp; |
| 1979 | 1988 | ||
| 1980 | /* Setting of buffer-local variable selective-display-ellipsis. */ | ||
| 1981 | unsigned selective_display_ellipsis_p : 1; | ||
| 1982 | |||
| 1983 | /* 1 means control characters are translated into the form `^C' | ||
| 1984 | where the `^' can be replaced by a display table entry. */ | ||
| 1985 | unsigned ctl_arrow_p : 1; | ||
| 1986 | |||
| 1987 | /* -1 means selective display hides everything between a \r and the | 1989 | /* -1 means selective display hides everything between a \r and the |
| 1988 | next newline; > 0 means hide lines indented more than that value. */ | 1990 | next newline; > 0 means hide lines indented more than that value. */ |
| 1989 | int selective; | 1991 | int selective; |
| @@ -1995,6 +1997,16 @@ struct it | |||
| 1995 | /* Face to use. */ | 1997 | /* Face to use. */ |
| 1996 | int face_id; | 1998 | int face_id; |
| 1997 | 1999 | ||
| 2000 | /* Setting of buffer-local variable selective-display-ellipsis. */ | ||
| 2001 | unsigned selective_display_ellipsis_p : 1; | ||
| 2002 | |||
| 2003 | /* 1 means control characters are translated into the form `^C' | ||
| 2004 | where the `^' can be replaced by a display table entry. */ | ||
| 2005 | unsigned ctl_arrow_p : 1; | ||
| 2006 | |||
| 2007 | /* 1 means lines are truncated. */ | ||
| 2008 | unsigned truncate_lines_p : 1; | ||
| 2009 | |||
| 1998 | /* Non-zero means that the current face has a box. */ | 2010 | /* Non-zero means that the current face has a box. */ |
| 1999 | unsigned face_box_p : 1; | 2011 | unsigned face_box_p : 1; |
| 2000 | 2012 | ||
| @@ -2074,9 +2086,6 @@ struct it | |||
| 2074 | Lisp_Object object; | 2086 | Lisp_Object object; |
| 2075 | struct text_pos position; | 2087 | struct text_pos position; |
| 2076 | 2088 | ||
| 2077 | /* 1 means lines are truncated. */ | ||
| 2078 | unsigned truncate_lines_p : 1; | ||
| 2079 | |||
| 2080 | /* Number of columns per \t. */ | 2089 | /* Number of columns per \t. */ |
| 2081 | short tab_width; | 2090 | short tab_width; |
| 2082 | 2091 | ||
| @@ -2859,9 +2868,9 @@ void free_frame_faces P_ ((struct frame *)); | |||
| 2859 | void recompute_basic_faces P_ ((struct frame *)); | 2868 | void recompute_basic_faces P_ ((struct frame *)); |
| 2860 | int face_at_buffer_position P_ ((struct window *, int, int, int, int *, | 2869 | int face_at_buffer_position P_ ((struct window *, int, int, int, int *, |
| 2861 | int, int)); | 2870 | int, int)); |
| 2862 | int face_at_buffer_position_no_overlays P_ ((struct window *, int, int, | 2871 | int face_for_overlay_string P_ ((struct window *, int, int, |
| 2863 | int, int *, | 2872 | int, int *, |
| 2864 | int, int)); | 2873 | int, int, Lisp_Object)); |
| 2865 | int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int, | 2874 | int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int, |
| 2866 | int, int *, enum face_id, int)); | 2875 | int, int *, enum face_id, int)); |
| 2867 | int merge_faces P_ ((struct frame *, Lisp_Object, int, int)); | 2876 | int merge_faces P_ ((struct frame *, Lisp_Object, int, int)); |