diff options
| author | Kim F. Storm | 2005-04-19 10:11:41 +0000 |
|---|---|---|
| committer | Kim F. Storm | 2005-04-19 10:11:41 +0000 |
| commit | 62af9c24210d3b1d2e2cd8e122ef54ef577b0219 (patch) | |
| tree | d001e94cf647e4feb90551ecd4c596fec2b8590b /src | |
| parent | 5827e9d4606d749340690d776fd362a114043b3f (diff) | |
| download | emacs-62af9c24210d3b1d2e2cd8e122ef54ef577b0219.tar.gz emacs-62af9c24210d3b1d2e2cd8e122ef54ef577b0219.zip | |
(handle_stop): Set saved_face_id to current face if
selective_display_ellipsis_p so ellipsis will be shown in same
face as preceding text.
(setup_for_ellipsis): Don't set saved_face_id here.
(next_element_from_display_vector): Default to saved_face_id.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 4f3c5b1c565..b7b27515cd3 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2706,6 +2706,10 @@ handle_stop (it) | |||
| 2706 | it->dpvec = NULL; | 2706 | it->dpvec = NULL; |
| 2707 | it->current.dpvec_index = -1; | 2707 | it->current.dpvec_index = -1; |
| 2708 | 2708 | ||
| 2709 | /* Use face of preceding text for ellipsis (if invisible) */ | ||
| 2710 | if (it->selective_display_ellipsis_p) | ||
| 2711 | it->saved_face_id = it->face_id; | ||
| 2712 | |||
| 2709 | do | 2713 | do |
| 2710 | { | 2714 | { |
| 2711 | handled = HANDLED_NORMALLY; | 2715 | handled = HANDLED_NORMALLY; |
| @@ -3382,9 +3386,12 @@ setup_for_ellipsis (it, len) | |||
| 3382 | it->current.dpvec_index = 0; | 3386 | it->current.dpvec_index = 0; |
| 3383 | it->dpvec_face_id = -1; | 3387 | it->dpvec_face_id = -1; |
| 3384 | 3388 | ||
| 3389 | #if 0 /* Already saved in handle_stop */ | ||
| 3385 | /* Remember the current face id in case glyphs specify faces. | 3390 | /* Remember the current face id in case glyphs specify faces. |
| 3386 | IT's face is restored in set_iterator_to_next. */ | 3391 | IT's face is restored in set_iterator_to_next. */ |
| 3387 | it->saved_face_id = it->face_id; | 3392 | it->saved_face_id = it->face_id; |
| 3393 | #endif | ||
| 3394 | |||
| 3388 | it->method = GET_FROM_DISPLAY_VECTOR; | 3395 | it->method = GET_FROM_DISPLAY_VECTOR; |
| 3389 | it->ellipsis_p = 1; | 3396 | it->ellipsis_p = 1; |
| 3390 | } | 3397 | } |
| @@ -5423,6 +5430,8 @@ next_element_from_display_vector (it) | |||
| 5423 | /* Precondition. */ | 5430 | /* Precondition. */ |
| 5424 | xassert (it->dpvec && it->current.dpvec_index >= 0); | 5431 | xassert (it->dpvec && it->current.dpvec_index >= 0); |
| 5425 | 5432 | ||
| 5433 | it->face_id = it->saved_face_id; | ||
| 5434 | |||
| 5426 | if (INTEGERP (*it->dpvec) | 5435 | if (INTEGERP (*it->dpvec) |
| 5427 | && GLYPH_CHAR_VALID_P (XFASTINT (*it->dpvec))) | 5436 | && GLYPH_CHAR_VALID_P (XFASTINT (*it->dpvec))) |
| 5428 | { | 5437 | { |