Mercurial > emacs
changeset 71418:d108fd44c6fc
(struct it): Add `position' member to iterator stack.
Rename `pos' member to `current'. Rearrange and add comments.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Wed, 21 Jun 2006 11:49:32 +0000 |
parents | 60d219d152bc |
children | 17e47244be7c |
files | src/dispextern.h |
diffstat | 1 files changed, 15 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dispextern.h Wed Jun 21 11:49:24 2006 +0000 +++ b/src/dispextern.h Wed Jun 21 11:49:32 2006 +0000 @@ -1929,35 +1929,45 @@ 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; + + /* 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; - struct display_pos pos; - int end_charpos; - int string_nchars; + + /* 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; + + /* 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[IT_STACK_SIZE];