diff options
| -rw-r--r-- | src/xdisp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 9f8ac387927..9420114489a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2978,11 +2978,13 @@ handle_stop (it) | |||
| 2978 | struct it *it; | 2978 | struct it *it; |
| 2979 | { | 2979 | { |
| 2980 | enum prop_handled handled; | 2980 | enum prop_handled handled; |
| 2981 | int handle_overlay_change_p = 1; | 2981 | int handle_overlay_change_p; |
| 2982 | struct props *p; | 2982 | struct props *p; |
| 2983 | 2983 | ||
| 2984 | it->dpvec = NULL; | 2984 | it->dpvec = NULL; |
| 2985 | it->current.dpvec_index = -1; | 2985 | it->current.dpvec_index = -1; |
| 2986 | handle_overlay_change_p = !it->ignore_overlay_strings_at_pos_p; | ||
| 2987 | it->ignore_overlay_strings_at_pos_p = 0; | ||
| 2986 | 2988 | ||
| 2987 | /* Use face of preceding text for ellipsis (if invisible) */ | 2989 | /* Use face of preceding text for ellipsis (if invisible) */ |
| 2988 | if (it->selective_display_ellipsis_p) | 2990 | if (it->selective_display_ellipsis_p) |
| @@ -5686,6 +5688,9 @@ set_iterator_to_next (it, reseat_p) | |||
| 5686 | reseat_at_next_visible_line_start (it, 1); | 5688 | reseat_at_next_visible_line_start (it, 1); |
| 5687 | else if (it->dpvec_char_len > 0) | 5689 | else if (it->dpvec_char_len > 0) |
| 5688 | { | 5690 | { |
| 5691 | if (it->method == GET_FROM_STRING | ||
| 5692 | && it->n_overlay_strings > 0) | ||
| 5693 | it->ignore_overlay_strings_at_pos_p = 1; | ||
| 5689 | it->len = it->dpvec_char_len; | 5694 | it->len = it->dpvec_char_len; |
| 5690 | set_iterator_to_next (it, reseat_p); | 5695 | set_iterator_to_next (it, reseat_p); |
| 5691 | } | 5696 | } |