Mercurial > emacs
diff 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 |
line wrap: on
line diff
--- a/src/dispextern.h Mon Jun 12 07:27:12 2006 +0000 +++ b/src/dispextern.h Tue Jun 27 15:06:36 2006 +0000 @@ -1814,6 +1814,8 @@ NUM_IT_METHODS }; +#define IT_STACK_SIZE 4 + struct it { /* The window in which we iterate over current_buffer (or a string). */ @@ -1922,22 +1924,47 @@ from what we previously had. */ struct iterator_stack_entry { + Lisp_Object string; + int string_nchars; + int end_charpos; int stop_charpos; int face_id; - Lisp_Object string; - struct display_pos pos; - int end_charpos; - int string_nchars; + + /* Save values specific to a given method. */ + union { + /* method == GET_FROM_IMAGE */ + struct { + Lisp_Object object; + struct it_slice slice; + int image_id; + } image; + /* method == GET_FROM_COMPOSITION */ + struct { + Lisp_Object object; + int c, len; + int cmp_id, cmp_len; + } comp; + /* method == GET_FROM_STRETCH */ + struct { + Lisp_Object object; + } stretch; + } u; + + /* current text and display positions. */ + struct text_pos position; + struct display_pos current; enum glyph_row_area area; + enum it_method method; unsigned multibyte_p : 1; unsigned string_from_display_prop_p : 1; unsigned display_ellipsis_p : 1; - struct it_slice slice; + + /* properties from display property that are reset by another display property. */ Lisp_Object space_width; + Lisp_Object font_height; short voffset; - Lisp_Object font_height; } - stack[2]; + stack[IT_STACK_SIZE]; /* Stack pointer. */ int sp;