summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/term.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/term.c b/src/term.c
index 4c7a90a5773..ddf0e8e2f28 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1632,9 +1632,13 @@ produce_glyphs (struct it *it)
}
else
{
- Lisp_Object charset_list = FRAME_TERMINAL (it->f)->charset_list;
+ struct terminal *t = FRAME_TERMINAL (it->f);
+ Lisp_Object charset_list = t->charset_list, char_glyph;
- if (char_charset (it->char_to_display, charset_list, NULL))
+ if (char_charset (it->char_to_display, charset_list, NULL)
+ && (char_glyph = terminal_glyph_code (t, it->char_to_display),
+ NILP (char_glyph)
+ || (FIXNUMP (char_glyph) && XFIXNUM (char_glyph) >= 0)))
{
it->pixel_width = CHARACTER_WIDTH (it->char_to_display);
it->nglyphs = it->pixel_width;