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 */