Subject: RE: bug#4114 - 23.1; face doc unclear - no explanation of "underlying" face or attribute value

From: "Drew Adams" <[email-masked]>
Date: Sat, 15 Aug 2009 16:33:09 -0700

And of course I forgot to add back bug-gnu-emacs to the cc list. 

It's a pain having to change the #-done back to bug-gnu-emacs and add back the
bug# in the Subject. And we saw what happened when you leave the #-done.

-----Original Message-----
From: Drew Adams Sent: Saturday, August 15, 2009 4:28 PM
To: 'Chong Yidong'

> > 1. "Underlying face" is defined as "a face that has a lower priority
> > in the list...". That begs the question, "lower than what"?
> 
> Lower than the face to which this attribute applies.  That should be
> obvious.

If you read the doc text in question, I think you'll see that that is what is
missing: the notion that we are talking about applying an attribute to a
particular face (and that there might be other faces (plural) underlying that
face.)

Anyway, I think a little more clarification would help, but do as you like.

> > 2. Related to #1. It's not clear to me whether there is only one
> > underlying face for a given face/font/attribute-set (?). You say "a
> > face", not "the face", so I guess there can be more than 
> > one that has a lower priority. But then you speak of "the
> > underlying face".
> 
> There's no way to explain this concisely, I'm afraid.

I was trying to suggest that the doc is a bit contradictory here. If there can
be more than one face that underlies a given face, then that should be said.
Then it's OK to speak about one of those faces etc. (not "the underlying face").

> The best thing do is to read the Displaying Faces node closely
> (which is why an xref to that node is probably the best we
> can do).  Basically, Emacs realizes a
> face by the "stacking" procedure described in that node, searching
> through the list of applicable faces for each attribute until 
> it finds a fully-specified value.  The "relative" values for
> the height are treated specially.  Thus, in the context of
> that paragraph in the Face Attributes node, the "underlying
> face" refers to that face, X levels down in the priority
> list, for which Emacs has found a specified height.

Perhaps just add what you say in the last sentence to the doc? That is, there is
one of the underlying faces, for which Emacs has found a specified height. Then
you can talk about that face (with the specified height) in the singular. IOW,
identify it first, then it is specific enough to talk about.

> > I see that you just now closed this bug. You close bugs too 
> > quickly. I don't know if now this reply will even get added
> > to the bug thread, without my having to reopen the bug.
> > IIRC, once a bug is closed, no further feedback is possible.
> 
> It's still possible, IIUC.

You're apparently right, but problems have come from simply replying, because of
the #-done in the cc list. I've removed that manually, and reinserted "bug#4114,
but it's easy to forget to do that.