mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-04 11:00:45 -08:00
(produce_special_glyphs): Use spec_glyph_lookup_face.
This commit is contained in:
parent
dfbfad25bf
commit
072d84a6c2
1 changed files with 28 additions and 15 deletions
43
src/term.c
43
src/term.c
|
|
@ -1857,6 +1857,7 @@ produce_special_glyphs (it, what)
|
|||
enum display_element_type what;
|
||||
{
|
||||
struct it temp_it;
|
||||
GLYPH glyph;
|
||||
|
||||
temp_it = *it;
|
||||
temp_it.dp = NULL;
|
||||
|
|
@ -1872,15 +1873,11 @@ produce_special_glyphs (it, what)
|
|||
&& INTEGERP (DISP_CONTINUE_GLYPH (it->dp))
|
||||
&& GLYPH_CHAR_VALID_P (XINT (DISP_CONTINUE_GLYPH (it->dp))))
|
||||
{
|
||||
temp_it.c = FAST_GLYPH_CHAR (XINT (DISP_CONTINUE_GLYPH (it->dp)));
|
||||
temp_it.len = CHAR_BYTES (temp_it.c);
|
||||
glyph = XINT (DISP_CONTINUE_GLYPH (it->dp));
|
||||
glyph = spec_glyph_lookup_face (XWINDOW (it->window), glyph);
|
||||
}
|
||||
else
|
||||
temp_it.c = '\\';
|
||||
|
||||
produce_glyphs (&temp_it);
|
||||
it->pixel_width = temp_it.pixel_width;
|
||||
it->nglyphs = temp_it.pixel_width;
|
||||
glyph = '\\';
|
||||
}
|
||||
else if (what == IT_TRUNCATION)
|
||||
{
|
||||
|
|
@ -1889,18 +1886,22 @@ produce_special_glyphs (it, what)
|
|||
&& INTEGERP (DISP_TRUNC_GLYPH (it->dp))
|
||||
&& GLYPH_CHAR_VALID_P (XINT (DISP_TRUNC_GLYPH (it->dp))))
|
||||
{
|
||||
temp_it.c = FAST_GLYPH_CHAR (XINT (DISP_TRUNC_GLYPH (it->dp)));
|
||||
temp_it.len = CHAR_BYTES (temp_it.c);
|
||||
glyph = XINT (DISP_TRUNC_GLYPH (it->dp));
|
||||
glyph = spec_glyph_lookup_face (XWINDOW (it->window), glyph);
|
||||
}
|
||||
else
|
||||
temp_it.c = '$';
|
||||
|
||||
produce_glyphs (&temp_it);
|
||||
it->pixel_width = temp_it.pixel_width;
|
||||
it->nglyphs = temp_it.pixel_width;
|
||||
glyph = '$';
|
||||
}
|
||||
else
|
||||
abort ();
|
||||
|
||||
temp_it.c = FAST_GLYPH_CHAR (glyph);
|
||||
temp_it.face_id = FAST_GLYPH_FACE (glyph);
|
||||
temp_it.len = CHAR_BYTES (temp_it.c);
|
||||
|
||||
produce_glyphs (&temp_it);
|
||||
it->pixel_width = temp_it.pixel_width;
|
||||
it->nglyphs = temp_it.pixel_width;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1919,7 +1920,8 @@ produce_special_glyphs (it, what)
|
|||
? (TN_no_color_video & (ATTR)) == 0 \
|
||||
: 1)
|
||||
|
||||
/* Turn appearances of face FACE_ID on tty frame F on. */
|
||||
/* Turn appearances of face FACE_ID on tty frame F on.
|
||||
FACE_ID is a realized face ID number, in the face cache. */
|
||||
|
||||
static void
|
||||
turn_on_face (f, face_id)
|
||||
|
|
@ -2685,6 +2687,16 @@ fatal (str, arg1, arg2)
|
|||
exit (1);
|
||||
}
|
||||
|
||||
DEFUN ("tty-no-underline", Ftty_no_underline, Stty_no_underline, 0, 0, 0,
|
||||
doc: /* Declare that this terminal does not handle underlining.
|
||||
This is used to override the terminfo data, for certain terminals that
|
||||
do not really do underlining, but say that they do. */)
|
||||
()
|
||||
{
|
||||
TS_enter_underline_mode = 0;
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
void
|
||||
syms_of_term ()
|
||||
{
|
||||
|
|
@ -2704,6 +2716,7 @@ The function should accept no arguments. */);
|
|||
|
||||
defsubr (&Stty_display_color_p);
|
||||
defsubr (&Stty_display_color_cells);
|
||||
defsubr (&Stty_no_underline);
|
||||
}
|
||||
|
||||
/* arch-tag: 498e7449-6f2e-45e2-91dd-b7d4ca488193
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue