diff options
| author | Eli Zaretskii | 2011-07-02 13:05:14 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2011-07-02 13:05:14 +0300 |
| commit | a2eaa31ddf8dabc71436dcb120ad7970a40045a4 (patch) | |
| tree | df11fc0eb04a1bf29f045efb190956a142b4269a /src/dispextern.h | |
| parent | f3014ef5b24ac42ec714b48148b7b604b47f7468 (diff) | |
| download | emacs-a2eaa31ddf8dabc71436dcb120ad7970a40045a4.tar.gz emacs-a2eaa31ddf8dabc71436dcb120ad7970a40045a4.zip | |
Fix the use case of popping from display property.
src/dispextern.h (struct iterator_stack_entry, struct it): New
member from_disp_prop_p.
src/xdisp.c (push_it, pop_it): Save and restore from_disp_prop_p.
(handle_single_display_spec, push_display_prop): Set the
from_disp_prop_p flag.
(get_overlay_strings_1): Reset the from_disp_prop_p flag.
(pop_it): Call iterate_out_of_display_property only if we are
popping after iteration over a string that came from a display
property. Fix a typo in popping stretch info. Add an assertion
for verifying that the iterator position is in sync with the bidi
iterator.
(handle_single_display_spec, get_overlay_strings_1)
(push_display_prop): Fix initialization of paragraph direction for
string when that of the parent object is not yet determined.
Diffstat (limited to 'src/dispextern.h')
| -rw-r--r-- | src/dispextern.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index 9586edab63b..997ef6df088 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -2139,6 +2139,10 @@ struct it | |||
| 2139 | Don't handle some `display' properties in these strings. */ | 2139 | Don't handle some `display' properties in these strings. */ |
| 2140 | unsigned string_from_display_prop_p : 1; | 2140 | unsigned string_from_display_prop_p : 1; |
| 2141 | 2141 | ||
| 2142 | /* 1 means we are iterating an object that came from a value of a | ||
| 2143 | `display' property. */ | ||
| 2144 | unsigned from_disp_prop_p : 1; | ||
| 2145 | |||
| 2142 | /* When METHOD == next_element_from_display_vector, | 2146 | /* When METHOD == next_element_from_display_vector, |
| 2143 | this is 1 if we're doing an ellipsis. Otherwise meaningless. */ | 2147 | this is 1 if we're doing an ellipsis. Otherwise meaningless. */ |
| 2144 | unsigned ellipsis_p : 1; | 2148 | unsigned ellipsis_p : 1; |
| @@ -2258,6 +2262,7 @@ struct it | |||
| 2258 | unsigned display_ellipsis_p : 1; | 2262 | unsigned display_ellipsis_p : 1; |
| 2259 | unsigned avoid_cursor_p : 1; | 2263 | unsigned avoid_cursor_p : 1; |
| 2260 | unsigned bidi_p:1; | 2264 | unsigned bidi_p:1; |
| 2265 | unsigned from_disp_prop_p : 1; | ||
| 2261 | enum line_wrap_method line_wrap; | 2266 | enum line_wrap_method line_wrap; |
| 2262 | 2267 | ||
| 2263 | /* properties from display property that are reset by another display property. */ | 2268 | /* properties from display property that are reset by another display property. */ |