diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index e7626d1ce25..711fe080b03 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5972,6 +5972,7 @@ pop_it (struct it *it) | |||
| 5972 | { | 5972 | { |
| 5973 | struct iterator_stack_entry *p; | 5973 | struct iterator_stack_entry *p; |
| 5974 | bool from_display_prop = it->from_disp_prop_p; | 5974 | bool from_display_prop = it->from_disp_prop_p; |
| 5975 | ptrdiff_t prev_pos = IT_CHARPOS (*it); | ||
| 5975 | 5976 | ||
| 5976 | eassert (it->sp > 0); | 5977 | eassert (it->sp > 0); |
| 5977 | --it->sp; | 5978 | --it->sp; |
| @@ -6060,6 +6061,11 @@ pop_it (struct it *it) | |||
| 6060 | && IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos) | 6061 | && IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos) |
| 6061 | || (CONSP (it->object) && it->method == GET_FROM_STRETCH)); | 6062 | || (CONSP (it->object) && it->method == GET_FROM_STRETCH)); |
| 6062 | } | 6063 | } |
| 6064 | /* If we move the iterator over text covered by a display property | ||
| 6065 | to a new buffer position, any info about previously seen overlays | ||
| 6066 | is no longer valid. */ | ||
| 6067 | if (from_display_prop && it->sp == 0 && CHARPOS (it->position) != prev_pos) | ||
| 6068 | it->ignore_overlay_strings_at_pos_p = false; | ||
| 6063 | } | 6069 | } |
| 6064 | 6070 | ||
| 6065 | 6071 | ||