Subject: Re: bug#57087: 29.0.50; (face-at-point nil t) does not return all faces when hl-line-mode is active

From: Eli Zaretskii <[email-masked]>
Date: Wed, 10 Aug 2022 05:28:33 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: dalanicolai <[email-masked]>,  [email-masked]
> Date: Tue, 09 Aug 2022 21:35:25 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > This is a misunderstanding of what the doc string means when it says
> > "faces".  It doesn't mean that you should see more than one face in
> > the above situation.
> >
> > This is not a bug, it's just that your expectations from what
> > face-at-point can do are incorrect.
> 
> Then I think this doc string needs clarification, at least:

Yes, probably.  However, "return the first one" doesn't tell which one
this would be.  Also "character has more than one face" is inaccurate,
we should say "more than one source of face information" or somesuch.

> I think it sounds like it would be more useful if it did indeed return
> all the faces at point instead of just the face(s) from either the
> overlay or the face(s) from the text property.

AFAICT, there's only one user of MULTIPLE, and that is org.el, so we
should ask them what they expect.  There's always a possibility to add
a new function, say faces-at-point.