diff options
| author | Kenichi Handa | 2004-01-13 01:40:47 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2004-01-13 01:40:47 +0000 |
| commit | f46a4dc1a5fe08ae130fb32a108601508e9f1972 (patch) | |
| tree | e90d0567bb3ca61531a802bf3c6b78b150835fa4 /src | |
| parent | 6bad800726b20e82544cf70e521ef56604bafbc3 (diff) | |
| download | emacs-f46a4dc1a5fe08ae130fb32a108601508e9f1972.tar.gz emacs-f46a4dc1a5fe08ae130fb32a108601508e9f1972.zip | |
(face_before_or_after_it_pos): Call FACE_FOR_CHAR with
POS and OBJECT args.
(get_next_display_element): Likewise.
(append_space): Likewise.
(extend_face_to_end_of_line): Likewise.
(get_char_face_and_encoding): Likewise.
(BUILD_COMPOSITE_GLYPH_STRING): Likewise.
(x_produce_glyphs): Likewise.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index d772fa28219..6af5d9e3a5e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2958,7 +2958,7 @@ face_before_or_after_it_pos (it, before_p) | |||
| 2958 | struct face *face = FACE_FROM_ID (it->f, face_id); | 2958 | struct face *face = FACE_FROM_ID (it->f, face_id); |
| 2959 | 2959 | ||
| 2960 | c = string_char_and_length (p, rest, &len); | 2960 | c = string_char_and_length (p, rest, &len); |
| 2961 | face_id = FACE_FOR_CHAR (it->f, face, c); | 2961 | face_id = FACE_FOR_CHAR (it->f, face, c, CHARPOS (pos), it->string); |
| 2962 | } | 2962 | } |
| 2963 | } | 2963 | } |
| 2964 | else | 2964 | else |
| @@ -2997,7 +2997,7 @@ face_before_or_after_it_pos (it, before_p) | |||
| 2997 | { | 2997 | { |
| 2998 | int c = FETCH_MULTIBYTE_CHAR (BYTEPOS (pos)); | 2998 | int c = FETCH_MULTIBYTE_CHAR (BYTEPOS (pos)); |
| 2999 | struct face *face = FACE_FROM_ID (it->f, face_id); | 2999 | struct face *face = FACE_FROM_ID (it->f, face_id); |
| 3000 | face_id = FACE_FOR_CHAR (it->f, face, c); | 3000 | face_id = FACE_FOR_CHAR (it->f, face, c, CHARPOS (pos), Qnil); |
| 3001 | } | 3001 | } |
| 3002 | } | 3002 | } |
| 3003 | 3003 | ||
| @@ -4925,7 +4925,10 @@ get_next_display_element (it) | |||
| 4925 | && FRAME_WINDOW_P (it->f)) | 4925 | && FRAME_WINDOW_P (it->f)) |
| 4926 | { | 4926 | { |
| 4927 | struct face *face = FACE_FROM_ID (it->f, it->face_id); | 4927 | struct face *face = FACE_FROM_ID (it->f, it->face_id); |
| 4928 | it->face_id = FACE_FOR_CHAR (it->f, face, it->c); | 4928 | int pos = (STRINGP (it->string) |
| 4929 | ? IT_STRING_CHARPOS (*it) : IT_CHARPOS (*it)); | ||
| 4930 | |||
| 4931 | it->face_id = FACE_FOR_CHAR (it->f, face, it->c, pos, it->string); | ||
| 4929 | } | 4932 | } |
| 4930 | } | 4933 | } |
| 4931 | 4934 | ||
| @@ -14112,7 +14115,7 @@ append_space (it, default_face_p) | |||
| 14112 | else if (it->face_before_selective_p) | 14115 | else if (it->face_before_selective_p) |
| 14113 | it->face_id = it->saved_face_id; | 14116 | it->face_id = it->saved_face_id; |
| 14114 | face = FACE_FROM_ID (it->f, it->face_id); | 14117 | face = FACE_FROM_ID (it->f, it->face_id); |
| 14115 | it->face_id = FACE_FOR_CHAR (it->f, face, 0); | 14118 | it->face_id = FACE_FOR_CHAR (it->f, face, 0, -1, Qnil); |
| 14116 | 14119 | ||
| 14117 | PRODUCE_GLYPHS (it); | 14120 | PRODUCE_GLYPHS (it); |
| 14118 | 14121 | ||
| @@ -14171,7 +14174,7 @@ extend_face_to_end_of_line (it) | |||
| 14171 | that the character will always be single byte in unibyte text. */ | 14174 | that the character will always be single byte in unibyte text. */ |
| 14172 | if (!ASCII_CHAR_P (it->c)) | 14175 | if (!ASCII_CHAR_P (it->c)) |
| 14173 | { | 14176 | { |
| 14174 | it->face_id = FACE_FOR_CHAR (f, face, 0); | 14177 | it->face_id = FACE_FOR_CHAR (f, face, 0, -1, Qnil); |
| 14175 | } | 14178 | } |
| 14176 | 14179 | ||
| 14177 | if (FRAME_WINDOW_P (f)) | 14180 | if (FRAME_WINDOW_P (f)) |
| @@ -17052,7 +17055,7 @@ get_char_face_and_encoding (f, c, face_id, char2b, multibyte_p, display_p) | |||
| 17052 | /* Unibyte case. We don't have to encode, but we have to make | 17055 | /* Unibyte case. We don't have to encode, but we have to make |
| 17053 | sure to use a face suitable for unibyte. */ | 17056 | sure to use a face suitable for unibyte. */ |
| 17054 | STORE_XCHAR2B (char2b, 0, c); | 17057 | STORE_XCHAR2B (char2b, 0, c); |
| 17055 | face_id = FACE_FOR_CHAR (f, face, c); | 17058 | face_id = FACE_FOR_CHAR (f, face, c, -1, Qnil); |
| 17056 | face = FACE_FROM_ID (f, face_id); | 17059 | face = FACE_FROM_ID (f, face_id); |
| 17057 | } | 17060 | } |
| 17058 | else if (c < 128 && face_id < BASIC_FACE_ID_SENTINEL) | 17061 | else if (c < 128 && face_id < BASIC_FACE_ID_SENTINEL) |
| @@ -17274,7 +17277,7 @@ compute_overhangs_and_x (s, x, backward_p) | |||
| 17274 | for (n = 0; n < glyph_len; n++) \ | 17277 | for (n = 0; n < glyph_len; n++) \ |
| 17275 | { \ | 17278 | { \ |
| 17276 | int c = COMPOSITION_GLYPH (cmp, n); \ | 17279 | int c = COMPOSITION_GLYPH (cmp, n); \ |
| 17277 | int this_face_id = FACE_FOR_CHAR (f, base_face, c); \ | 17280 | int this_face_id = FACE_FOR_CHAR (f, base_face, c, -1, Qnil); \ |
| 17278 | faces[n] = FACE_FROM_ID (f, this_face_id); \ | 17281 | faces[n] = FACE_FROM_ID (f, this_face_id); \ |
| 17279 | get_char_face_and_encoding (f, c, this_face_id, \ | 17282 | get_char_face_and_encoding (f, c, this_face_id, \ |
| 17280 | char2b + n, 1, 1); \ | 17283 | char2b + n, 1, 1); \ |
| @@ -17922,7 +17925,8 @@ x_produce_glyphs (it) | |||
| 17922 | if (! SINGLE_BYTE_CHAR_P (it->c)) | 17925 | if (! SINGLE_BYTE_CHAR_P (it->c)) |
| 17923 | { | 17926 | { |
| 17924 | it->multibyte_p = 1; | 17927 | it->multibyte_p = 1; |
| 17925 | it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display); | 17928 | it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, |
| 17929 | -1, Qnil); | ||
| 17926 | face = FACE_FROM_ID (it->f, it->face_id); | 17930 | face = FACE_FROM_ID (it->f, it->face_id); |
| 17927 | } | 17931 | } |
| 17928 | } | 17932 | } |
| @@ -18158,7 +18162,7 @@ x_produce_glyphs (it) | |||
| 18158 | } | 18162 | } |
| 18159 | 18163 | ||
| 18160 | /* Get face and font to use. Encode IT->char_to_display. */ | 18164 | /* Get face and font to use. Encode IT->char_to_display. */ |
| 18161 | it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display); | 18165 | it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, -1, Qnil); |
| 18162 | face = FACE_FROM_ID (it->f, it->face_id); | 18166 | face = FACE_FROM_ID (it->f, it->face_id); |
| 18163 | get_char_face_and_encoding (it->f, it->char_to_display, it->face_id, | 18167 | get_char_face_and_encoding (it->f, it->char_to_display, it->face_id, |
| 18164 | &char2b, it->multibyte_p, 0); | 18168 | &char2b, it->multibyte_p, 0); |
| @@ -18246,7 +18250,7 @@ x_produce_glyphs (it) | |||
| 18246 | { | 18250 | { |
| 18247 | int left, right, btm, top; | 18251 | int left, right, btm, top; |
| 18248 | int ch = COMPOSITION_GLYPH (cmp, i); | 18252 | int ch = COMPOSITION_GLYPH (cmp, i); |
| 18249 | int face_id = FACE_FOR_CHAR (it->f, face, ch); | 18253 | int face_id = FACE_FOR_CHAR (it->f, face, ch, -1, Qnil); |
| 18250 | 18254 | ||
| 18251 | face = FACE_FROM_ID (it->f, face_id); | 18255 | face = FACE_FROM_ID (it->f, face_id); |
| 18252 | get_char_face_and_encoding (it->f, ch, face->id, | 18256 | get_char_face_and_encoding (it->f, ch, face->id, |