aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman2007-11-04 07:31:56 +0000
committerRichard M. Stallman2007-11-04 07:31:56 +0000
commitc69a28f1e6fe35ccac4848a4a7644fed1250afe3 (patch)
treec910533710a85c5b71c420e596184d07324fd6f8 /src
parent6519d955f965373c6142fcdaad738cd4bf575038 (diff)
downloademacs-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.h41
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 *));
2859void recompute_basic_faces P_ ((struct frame *)); 2868void recompute_basic_faces P_ ((struct frame *));
2860int face_at_buffer_position P_ ((struct window *, int, int, int, int *, 2869int face_at_buffer_position P_ ((struct window *, int, int, int, int *,
2861 int, int)); 2870 int, int));
2862int face_at_buffer_position_no_overlays P_ ((struct window *, int, int, 2871int face_for_overlay_string P_ ((struct window *, int, int,
2863 int, int *, 2872 int, int *,
2864 int, int)); 2873 int, int, Lisp_Object));
2865int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int, 2874int 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));
2867int merge_faces P_ ((struct frame *, Lisp_Object, int, int)); 2876int merge_faces P_ ((struct frame *, Lisp_Object, int, int));