Subject: bug#60895: Make lambda warning easier to understand

From: Drew Adams <[email-masked]>
Date: Tue, 17 Jan 2023 23:25:29 +0000

> After saying
>    Warning: (lambda nil \.\.\.) quoted with ' rather than with #'
> 
> please also say
>    Just change '(lambda into #'(lambda
> 
> That way people will understand it.
> https://urldefense.com/v3/__https://emacs.stackexchange.com/questions/743
> 18/warning-quoted-with-rather-than-
> with__;!!ACWV5N9M2RV99hQ!IsLX9TB5zcLT0PwRzmL0cCiiGzx62LVQbGMPk3EiStP6kJvG
> Um6D1reVbucpBxlw8r6g-KjbeT19F7SFjA$

Users should be told, so they understand:

1. Not to quote lambdas.  Tell them that the result
   is a _list_, which only in some cases will be
   interpreted as a function.  (And mention that the
   byte compiler often can't know the intended use
   is as a function, if it's quoted.)

2. lambdas don't need to be quoted - they're
   self-evaluating in Elisp - like t and nil.

3. Using #' makes the intention/use clear for all,
   including the byte-compiler.

A byte-compiler warning is appropriate.  Preferably
it would also point you to doc explaining this in
more detail in the Elisp manual.