Subject: bug#43265: [External] : bug#43265: 28.0.50; Inconsistent fontifying in elisp-mode

From: Drew Adams <[email-masked]>
Date: Mon, 25 Jan 2021 16:09:34 +0000

> >> Me neither, and as Stefan said, that's a change in that behavior has
> >> not been intended by my patch.
> >
> > Ah; thanks for confirming.  I'll change it so that special forms and
> > macros are handled the same way, then.
> 
> Feel free to do so.

Agreed.

> But I can also make an argument for the current
> behavior: special forms are under our control and there aren't many, so
> if they happen to be in a quoted form, it's likely that's actually code
> eventually being run.  In contrast, the number of macros is
> theoretically unbounded and naming is not restricted, so we can't say
> anything about usage patterns of macro-named things in quoted lists.

Highlighting macro names (when used as macros, but
not when just elements in a quoted list etc.) is
helpful, IMO.

For the reason you gave (macros are defined with
Lisp, and can be user-defined), my preference is
for a separate kind of highlighting for their
names - separate from special-form names and
function names.

Now, if people get excited about too much angry
fruit salad, the default face used for macro
names could just inherit from that for special
form names.  (But I'm against such "invisible"
face defaulting, in general.)
___

IMO, the priorities, in terms of importance
(help for users) are these.  (They might not be
the priorities for implementation, e.g. if #1
is thought to be hard to do or problematic.)

1. Stop highlighting names of functions, macros
and special forms when they are not being used
as such.  Don't highlight them when they are
just symbols in data (e.g. quote lists).

2. Other than #1, highlight function, macro,
and special-form names, each with a different
face.  (Or use the same face for special forms
and macros - but that's not my preference.)