Subject: bug#41852: 27.0.50; text-scale commands don't scale header of tabulated-list-mode

From: Eli Zaretskii <[email-masked]>
Date: Fri, 30 Oct 2020 20:54:32 +0200

> From: Stefan Kangas <[email-masked]>
> Date: Fri, 30 Oct 2020 16:04:58 +0000
> Cc: [email-masked], [email-masked]
> 
> > (2) that text in the header line or elsewhere in such a buffer not
> > inheriting from (the remapped) header line face is unaffected, and
> 
> I'm not sure I understand what you mean.  If text-scale-mode is enabled,
> typically through running e.g. `text-scale-increase', the `default' face
> is scaled.  The result, AFAICT, is that all faces in the buffer change
> size (well, not the mode line).

No, only faces that inherit from 'default' are scaled.  And now so
will the faces that inherit from 'header-line'.

> And that makes sense since all other implicitly inherits from it,
> right?

No, not every face inherits from 'default', only those that inherit
explicitly.  A random face that is defined with defface isn't affected
by text-scale-*.

> This works even for anonymous faces, e.g.:
> 
>    (progn
>     (fundamental-mode)
>     (insert (propertize "foo" 'face '(:height 1.5)))
>     (text-scale-increase))
> 
> What am I missing?

See above.

> > Wrt (3) I assume that 'tabulated-list-mode' can already get derailed
> > when a user customizes header line face to use some large or small font
> > size (a scenario where face remapping is not involved at all).
> 
> I tried customizing the `Height' for the `header-line' face, and it
> seems to work as expected:
> 
> With no text-scale-mode it is as big as it is customized to be.  When I
> run `text-scale-increase', it scales up accordingly (relative to its
> customized size).  So I don't know what, if anything, should be added
> here.  Since it works as expected, perhaps there is nothing to add?

What Martin means, I think, is that using a larger font in header-line
face might make the text below the header line in tabulated-list-mode
fail to align.