comparison src/dispextern.h @ 83531:a387c138b28e

Merged from emacs@sv.gnu.org Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-305 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-306 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-307 Update from CVS: lispref/display.texi (Forcing Redisplay): Fix typo. * emacs@sv.gnu.org/emacs--devo--0--patch-308 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-309 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-310 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-311 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-312 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-313 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-314 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-315 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-316 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-317 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-318 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-319 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-320 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-321 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-322 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-323 lisp/play/cookie1.el (cookie): Work properly when there's only one entry * emacs@sv.gnu.org/emacs--devo--0--patch-324 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-325 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-326 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-327 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-328 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-329 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-330 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-105 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-106 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-107 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-108 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-109 Clean up merge mistakes * emacs@sv.gnu.org/gnus--rel--5.10--patch-110 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-571
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 27 Jun 2006 15:06:36 +0000
parents 46b1096093f5 d108fd44c6fc
children b19aaf4ab0ee
comparison
equal deleted inserted replaced
83530:46b1096093f5 83531:a387c138b28e
1812 GET_FROM_IMAGE, 1812 GET_FROM_IMAGE,
1813 GET_FROM_STRETCH, 1813 GET_FROM_STRETCH,
1814 NUM_IT_METHODS 1814 NUM_IT_METHODS
1815 }; 1815 };
1816 1816
1817 #define IT_STACK_SIZE 4
1818
1817 struct it 1819 struct it
1818 { 1820 {
1819 /* The window in which we iterate over current_buffer (or a string). */ 1821 /* The window in which we iterate over current_buffer (or a string). */
1820 Lisp_Object window; 1822 Lisp_Object window;
1821 struct window *w; 1823 struct window *w;
1920 process an overlay string or a string from a `glyph' property. 1922 process an overlay string or a string from a `glyph' property.
1921 Entries are popped when we return to deliver display elements 1923 Entries are popped when we return to deliver display elements
1922 from what we previously had. */ 1924 from what we previously had. */
1923 struct iterator_stack_entry 1925 struct iterator_stack_entry
1924 { 1926 {
1927 Lisp_Object string;
1928 int string_nchars;
1929 int end_charpos;
1925 int stop_charpos; 1930 int stop_charpos;
1926 int face_id; 1931 int face_id;
1927 Lisp_Object string; 1932
1928 struct display_pos pos; 1933 /* Save values specific to a given method. */
1929 int end_charpos; 1934 union {
1930 int string_nchars; 1935 /* method == GET_FROM_IMAGE */
1936 struct {
1937 Lisp_Object object;
1938 struct it_slice slice;
1939 int image_id;
1940 } image;
1941 /* method == GET_FROM_COMPOSITION */
1942 struct {
1943 Lisp_Object object;
1944 int c, len;
1945 int cmp_id, cmp_len;
1946 } comp;
1947 /* method == GET_FROM_STRETCH */
1948 struct {
1949 Lisp_Object object;
1950 } stretch;
1951 } u;
1952
1953 /* current text and display positions. */
1954 struct text_pos position;
1955 struct display_pos current;
1931 enum glyph_row_area area; 1956 enum glyph_row_area area;
1957 enum it_method method;
1932 unsigned multibyte_p : 1; 1958 unsigned multibyte_p : 1;
1933 unsigned string_from_display_prop_p : 1; 1959 unsigned string_from_display_prop_p : 1;
1934 unsigned display_ellipsis_p : 1; 1960 unsigned display_ellipsis_p : 1;
1935 struct it_slice slice; 1961
1962 /* properties from display property that are reset by another display property. */
1936 Lisp_Object space_width; 1963 Lisp_Object space_width;
1964 Lisp_Object font_height;
1937 short voffset; 1965 short voffset;
1938 Lisp_Object font_height;
1939 } 1966 }
1940 stack[2]; 1967 stack[IT_STACK_SIZE];
1941 1968
1942 /* Stack pointer. */ 1969 /* Stack pointer. */
1943 int sp; 1970 int sp;
1944 1971
1945 /* Setting of buffer-local variable selective-display-ellipsis. */ 1972 /* Setting of buffer-local variable selective-display-ellipsis. */