aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2006-06-21 11:49:32 +0000
committerKim F. Storm2006-06-21 11:49:32 +0000
commit128ce5c6a110d65226499ca1bc546e8b6c3879be (patch)
tree72aca4d81de88f06d16c21cd08ce99e450ad682e /src
parent4b364aa2acf025b29daeca8a59249c4c539f6c80 (diff)
downloademacs-128ce5c6a110d65226499ca1bc546e8b6c3879be.tar.gz
emacs-128ce5c6a110d65226499ca1bc546e8b6c3879be.zip
(struct it): Add `position' member to iterator stack.
Rename `pos' member to `current'. Rearrange and add comments.
Diffstat (limited to 'src')
-rw-r--r--src/dispextern.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index f92cacbfa2c..1dfcf136aeb 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1929,35 +1929,45 @@ struct it
1929 from what we previously had. */ 1929 from what we previously had. */
1930 struct iterator_stack_entry 1930 struct iterator_stack_entry
1931 { 1931 {
1932 Lisp_Object string;
1933 int string_nchars;
1934 int end_charpos;
1932 int stop_charpos; 1935 int stop_charpos;
1933 int face_id; 1936 int face_id;
1934 Lisp_Object string; 1937
1938 /* Save values specific to a given method. */
1935 union { 1939 union {
1940 /* method == GET_FROM_IMAGE */
1936 struct { 1941 struct {
1937 Lisp_Object object; 1942 Lisp_Object object;
1938 struct it_slice slice; 1943 struct it_slice slice;
1939 int image_id; 1944 int image_id;
1940 } image; 1945 } image;
1946 /* method == GET_FROM_COMPOSITION */
1941 struct { 1947 struct {
1942 Lisp_Object object; 1948 Lisp_Object object;
1943 int c, len; 1949 int c, len;
1944 int cmp_id, cmp_len; 1950 int cmp_id, cmp_len;
1945 } comp; 1951 } comp;
1952 /* method == GET_FROM_STRETCH */
1946 struct { 1953 struct {
1947 Lisp_Object object; 1954 Lisp_Object object;
1948 } stretch; 1955 } stretch;
1949 } u; 1956 } u;
1950 struct display_pos pos; 1957
1951 int end_charpos; 1958 /* current text and display positions. */
1952 int string_nchars; 1959 struct text_pos position;
1960 struct display_pos current;
1953 enum glyph_row_area area; 1961 enum glyph_row_area area;
1954 enum it_method method; 1962 enum it_method method;
1955 unsigned multibyte_p : 1; 1963 unsigned multibyte_p : 1;
1956 unsigned string_from_display_prop_p : 1; 1964 unsigned string_from_display_prop_p : 1;
1957 unsigned display_ellipsis_p : 1; 1965 unsigned display_ellipsis_p : 1;
1966
1967 /* properties from display property that are reset by another display property. */
1958 Lisp_Object space_width; 1968 Lisp_Object space_width;
1959 short voffset;
1960 Lisp_Object font_height; 1969 Lisp_Object font_height;
1970 short voffset;
1961 } 1971 }
1962 stack[IT_STACK_SIZE]; 1972 stack[IT_STACK_SIZE];
1963 1973