From 128ce5c6a110d65226499ca1bc546e8b6c3879be Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Wed, 21 Jun 2006 11:49:32 +0000 Subject: [PATCH] (struct it): Add `position' member to iterator stack. Rename `pos' member to `current'. Rearrange and add comments. --- src/dispextern.h | 20 +++++++++++++++----- 1 file 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 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; - short voffset; Lisp_Object font_height; + short voffset; } stack[IT_STACK_SIZE]; -- 2.39.2