Mercurial > emacs
comparison src/xdisp.c @ 66811:cae7b536e570
(handle_stop): Skip overlay string handling if
ignore_overlay_strings_at_pos_p is set.
(set_iterator_to_next): At end of display vector, set
ignore_overlay_strings_at_pos_p if dpvec came from an overlay
string, so we skip those overlay strings at current pos.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Fri, 11 Nov 2005 15:33:23 +0000 |
parents | f8d550ae3b06 |
children | a2a9e8afb055 03934708f1e9 |
comparison
equal
deleted
inserted
replaced
66810:a1569f81f4cb | 66811:cae7b536e570 |
---|---|
2976 static void | 2976 static void |
2977 handle_stop (it) | 2977 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) |
2989 it->saved_face_id = it->face_id; | 2991 it->saved_face_id = it->face_id; |
2990 | 2992 |
5684 /* Skip over characters which were displayed via IT->dpvec. */ | 5686 /* Skip over characters which were displayed via IT->dpvec. */ |
5685 if (it->dpvec_char_len < 0) | 5687 if (it->dpvec_char_len < 0) |
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 } |
5692 | 5697 |
5693 /* Recheck faces after display vector */ | 5698 /* Recheck faces after display vector */ |