Subject: RE: bug#4835: 23.1; Improper `Invalid face reference' messages. Performance degraded.

From: "Drew Adams" <[email-masked]>
Date: Sat, 31 Oct 2009 12:51:46 -0700

> > Why is it necessary to restrict the function to a symbol - 
> > why disallow lambda forms? IOW, why can't we use
> > (functionp keywords) instead of (fboundp keywords)?
> 
> In principle, I don't see why matchers can't be lambda 
> expressions.  The main concern I have is that other parts
> of font lock might have subtle assumptions about the
> matcher being a function name.  It seems easier to
> make this implicit assumption an explicit one.

Easier is not better.

We should make the right fix, not the easiest one based on our not being sure
what the code does or why.

It would be good if someone knowledgeable in font-lock took a close look and
DTRT. Perhaps Stefan?

If we change `fboundp' to `functionp' here and it turns out that subtle
assumptions are thereby broken, at least we will have discovered those
assumptions, and we can then either comment them clearly or change the code to
use different assumptions (if appropriate).

As it is now, it sounds like we don't really know what the design is or why.