aboutsummaryrefslogtreecommitdiffstats
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorMiles Bader2007-11-11 00:56:44 +0000
committerMiles Bader2007-11-11 00:56:44 +0000
commitf23d76bdefbd4c06e14d69e99e50d35ce91c8226 (patch)
treeded28d1da6df2d0135514bac83074f4ca1c9099a /src/dispextern.h
parente2d092da5980a7d05a5428074f8eb4925fa801e8 (diff)
parenta457417ee5ba797ab1c91d35ee957bb7a7f8d4b6 (diff)
downloademacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.tar.gz
emacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.zip
Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-283
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h40
1 files changed, 27 insertions, 13 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index e89d0d7e390..086d2bffaf6 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1820,6 +1820,9 @@ struct it_slice
1820 Lisp_Object height; 1820 Lisp_Object height;
1821}; 1821};
1822 1822
1823/* Input sources for fetching characters or data to display.
1824 The input source is found in the `method' field. */
1825
1823enum it_method { 1826enum it_method {
1824 GET_FROM_BUFFER = 0, 1827 GET_FROM_BUFFER = 0,
1825 GET_FROM_DISPLAY_VECTOR, 1828 GET_FROM_DISPLAY_VECTOR,
@@ -1921,20 +1924,27 @@ struct it
1921 position in overlay strings etc. */ 1924 position in overlay strings etc. */
1922 struct display_pos current; 1925 struct display_pos current;
1923 1926
1927 /* Total number of overlay strings to process. This can be >
1928 OVERLAY_STRING_CHUNK_SIZE. */
1929 int n_overlay_strings;
1930
1924 /* Vector of overlays to process. Overlay strings are processed 1931 /* Vector of overlays to process. Overlay strings are processed
1925 OVERLAY_STRING_CHUNK_SIZE at a time. */ 1932 OVERLAY_STRING_CHUNK_SIZE at a time. */
1926#define OVERLAY_STRING_CHUNK_SIZE 16 1933#define OVERLAY_STRING_CHUNK_SIZE 16
1927 Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE]; 1934 Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE];
1928 1935
1929 /* Total number of overlay strings to process. This can be > 1936 /* For each overlay string, the overlay it came from. */
1930 OVERLAY_STRING_CHUNK_SIZE. */ 1937 Lisp_Object string_overlays[OVERLAY_STRING_CHUNK_SIZE];
1931 int n_overlay_strings;
1932 1938
1933 /* If non-nil, a Lisp string being processed. If 1939 /* If non-nil, a Lisp string being processed. If
1934 current.overlay_string_index >= 0, this is an overlay string from 1940 current.overlay_string_index >= 0, this is an overlay string from
1935 pos. */ 1941 pos. */
1936 Lisp_Object string; 1942 Lisp_Object string;
1937 1943
1944 /* If non-nil, we are processing a string that came
1945 from a `display' property given by an overlay. */
1946 Lisp_Object from_overlay;
1947
1938 /* Stack of saved values. New entries are pushed when we begin to 1948 /* Stack of saved values. New entries are pushed when we begin to
1939 process an overlay string or a string from a `glyph' property. 1949 process an overlay string or a string from a `glyph' property.
1940 Entries are popped when we return to deliver display elements 1950 Entries are popped when we return to deliver display elements
@@ -1970,6 +1980,7 @@ struct it
1970 /* current text and display positions. */ 1980 /* current text and display positions. */
1971 struct text_pos position; 1981 struct text_pos position;
1972 struct display_pos current; 1982 struct display_pos current;
1983 Lisp_Object from_overlay;
1973 enum glyph_row_area area; 1984 enum glyph_row_area area;
1974 enum it_method method; 1985 enum it_method method;
1975 unsigned multibyte_p : 1; 1986 unsigned multibyte_p : 1;
@@ -1986,13 +1997,6 @@ struct it
1986 /* Stack pointer. */ 1997 /* Stack pointer. */
1987 int sp; 1998 int sp;
1988 1999
1989 /* Setting of buffer-local variable selective-display-ellipsis. */
1990 unsigned selective_display_ellipsis_p : 1;
1991
1992 /* 1 means control characters are translated into the form `^C'
1993 where the `^' can be replaced by a display table entry. */
1994 unsigned ctl_arrow_p : 1;
1995
1996 /* -1 means selective display hides everything between a \r and the 2000 /* -1 means selective display hides everything between a \r and the
1997 next newline; > 0 means hide lines indented more than that value. */ 2001 next newline; > 0 means hide lines indented more than that value. */
1998 int selective; 2002 int selective;
@@ -2004,6 +2008,16 @@ struct it
2004 /* Face to use. */ 2008 /* Face to use. */
2005 int face_id; 2009 int face_id;
2006 2010
2011 /* Setting of buffer-local variable selective-display-ellipsis. */
2012 unsigned selective_display_ellipsis_p : 1;
2013
2014 /* 1 means control characters are translated into the form `^C'
2015 where the `^' can be replaced by a display table entry. */
2016 unsigned ctl_arrow_p : 1;
2017
2018 /* 1 means lines are truncated. */
2019 unsigned truncate_lines_p : 1;
2020
2007 /* Non-zero means that the current face has a box. */ 2021 /* Non-zero means that the current face has a box. */
2008 unsigned face_box_p : 1; 2022 unsigned face_box_p : 1;
2009 2023
@@ -2083,9 +2097,6 @@ struct it
2083 Lisp_Object object; 2097 Lisp_Object object;
2084 struct text_pos position; 2098 struct text_pos position;
2085 2099
2086 /* 1 means lines are truncated. */
2087 unsigned truncate_lines_p : 1;
2088
2089 /* Number of columns per \t. */ 2100 /* Number of columns per \t. */
2090 short tab_width; 2101 short tab_width;
2091 2102
@@ -2866,6 +2877,9 @@ void free_frame_faces P_ ((struct frame *));
2866void recompute_basic_faces P_ ((struct frame *)); 2877void recompute_basic_faces P_ ((struct frame *));
2867int face_at_buffer_position P_ ((struct window *, int, int, int, int *, 2878int face_at_buffer_position P_ ((struct window *, int, int, int, int *,
2868 int, int)); 2879 int, int));
2880int face_for_overlay_string P_ ((struct window *, int, int,
2881 int, int *,
2882 int, int, Lisp_Object));
2869int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int, 2883int face_at_string_position P_ ((struct window *, Lisp_Object, int, int, int,
2870 int, int *, enum face_id, int)); 2884 int, int *, enum face_id, int));
2871int merge_faces P_ ((struct frame *, Lisp_Object, int, int)); 2885int merge_faces P_ ((struct frame *, Lisp_Object, int, int));