diff --git a/src/xdisp.c b/src/xdisp.c index 0f842b8673e..6ba92f3ed79 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -6441,6 +6441,8 @@ get_next_display_element (struct it *it) c = ' '; for (i = 0; i < cmp->glyph_len; i++) + /* TAB in a composition means display glyphs with + padding space on the left or right. */ if ((c = COMPOSITION_GLYPH (cmp, i)) != '\t') break; } @@ -11916,7 +11918,7 @@ hscroll_window_tree (Lisp_Object window) } hscroll = max (hscroll, XFASTINT (w->min_hscroll)); - /* Don't will prevent redisplay optimizations if hscroll + /* Don't prevent redisplay optimizations if hscroll hasn't changed, as it will unnecessarily slow down redisplay. */ if (XFASTINT (w->hscroll) != hscroll) @@ -21726,6 +21728,8 @@ fill_composite_glyph_string (struct glyph_string *s, struct face *base_face, { int c = COMPOSITION_GLYPH (s->cmp, i); + /* TAB in a composition means display glyphs with padding space + on the left or right. */ if (c != '\t') { int face_id = FACE_FOR_CHAR (s->f, base_face->ascii_face, c,