Subject: Re: bug#51821: 29.0.50; Suggest add variable or frame parameter: line-height

From: Eli Zaretskii <[email-masked]>
Date: Sun, 14 Nov 2021 20:14:06 +0200

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: "Feng Shu" <[email-masked]>,  [email-masked]
> Date: Sun, 14 Nov 2021 18:55:38 +0100
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > So what would be the correct interpretation of the line-height
> > variable or frame parameter, when different faces are being used?
> 
> I think...  a natural interpretation would be that explicit :height
> specs would override the line-height variable/parameter?

But line-height is not a variable or parameter, it is just a text
property, and it needs to be put on a newline to change the height of
that single line.  So currently this is up to the Lisp program: if it
puts this property on some line, the visual results is its
responsibility.

By contrast, a buffer-local variable or a frame parameter are global:
they apply to all lines, tall and small alike.  And users will use
this variable/parameter globally as well.  Thus its effect on lines
that use smaller fonts is something to be concerned about.

My impression is that this is wanted only for the default face, and
then only for the ASCII font of that face.  That could be done, I
think, but (a) it will probably not work with text-scaling and other
remappings of the default faces, and (b) some faces other than default
also need this, definitely the mode-line and header-line, but also
fixed-pitch perhaps?

So I'm stuck trying to figure out what exactly are the requirements
here.