emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

#'quoting functions when they are used as identifiers


From: Jonas Bernoulli
Subject: #'quoting functions when they are used as identifiers
Date: Sun, 27 Mar 2022 14:27:03 +0200

Hi,

I was wondering whether it is wrong per se to function-quote a
function-bound symbol if it serves as an argument to a function that
does not actually call the argument as a function but for which it
would never-the-less be a bug to be passed a symbol that isn't bound
as a function.

An imperfect example would be the arguments to `derived-mode-p'.  I
don't plan to #'quote the arguments to that function but am considering
doing it for a few similar functions (from my `transient' package) for
which a prefect match exists between the name of the function and the
"symbol as an identifier".

The documentation says that ‘function’

     returns FUNCTION-OBJECT without evaluating it.  In this, it is
     similar to ‘quote’.  But unlike ‘quote’, it also serves as a note
     to the Emacs evaluator and byte-compiler that FUNCTION-OBJECT is
     intended to be used as a function. [...]

     When FUNCTION-OBJECT is a symbol and the code is byte compiled, the
     byte-compiler will warn if that function is not defined or might
     not be known at run time.

I am considering adding #'quotes because I would like to get that
feedback from the byte-compiler.  On the other hand, one might argue
that doing that is misleading to the human reader because the symbol
is not actually intended to be called as a function, it just has to be
a symbol that is fboundp, else there would be a bug (due to a typo or
renaming).

(I am not suggesting that we do this in Emacs.)

     Thanks for your thoughts!
     Jonas



reply via email to

[Prev in Thread] Current Thread [Next in Thread]