diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 60864c2671c..ac706d08414 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -7221,14 +7221,21 @@ static next_element_function const get_next_element[NUM_IT_METHODS] = | |||
| 7221 | 7221 | ||
| 7222 | 7222 | ||
| 7223 | /* Return true iff a character at CHARPOS (and BYTEPOS) is composed | 7223 | /* Return true iff a character at CHARPOS (and BYTEPOS) is composed |
| 7224 | (possibly with the following characters). */ | 7224 | (possibly with the following characters). |
| 7225 | |||
| 7226 | Note: we pass -1 as the "resolved bidi level" when the iterator | ||
| 7227 | doesn't have the bidi_p flag set, because in that case we really | ||
| 7228 | don't know what is the directionality of the text, so we leave it to | ||
| 7229 | the shaping engine to figure that out. */ | ||
| 7225 | 7230 | ||
| 7226 | #define CHAR_COMPOSED_P(IT,CHARPOS,BYTEPOS,END_CHARPOS) \ | 7231 | #define CHAR_COMPOSED_P(IT,CHARPOS,BYTEPOS,END_CHARPOS) \ |
| 7227 | ((IT)->cmp_it.id >= 0 \ | 7232 | ((IT)->cmp_it.id >= 0 \ |
| 7228 | || ((IT)->cmp_it.stop_pos == (CHARPOS) \ | 7233 | || ((IT)->cmp_it.stop_pos == (CHARPOS) \ |
| 7229 | && composition_reseat_it (&(IT)->cmp_it, CHARPOS, BYTEPOS, \ | 7234 | && composition_reseat_it (&(IT)->cmp_it, CHARPOS, BYTEPOS, \ |
| 7230 | END_CHARPOS, (IT)->w, \ | 7235 | END_CHARPOS, (IT)->w, \ |
| 7231 | (IT)->bidi_it.resolved_level, \ | 7236 | (IT)->bidi_p \ |
| 7237 | ? (IT)->bidi_it.resolved_level \ | ||
| 7238 | : -1, \ | ||
| 7232 | FACE_FROM_ID_OR_NULL ((IT)->f, \ | 7239 | FACE_FROM_ID_OR_NULL ((IT)->f, \ |
| 7233 | (IT)->face_id), \ | 7240 | (IT)->face_id), \ |
| 7234 | (IT)->string))) | 7241 | (IT)->string))) |