Subject: bug#51661: 29.0.50; What is "interactive Lisp closure"?

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 07 Nov 2021 14:55:54 +0100

Eli Zaretskii <[email-masked]> writes:

> To reproduce:
>
>   emacs -Q
>   C-h f emoji-insert RET
>
> This says:
>
>   emoji-insert is an autoloaded interactive Lisp closure in ‘emoji.el’.
>
> Other commands still say "interactive compiled Lisp function", at
> least the few I tried did.

I think that's because your emoji.el isn't byte-compiled?  Hm...  mine's
not byte-compiled either?  Do we have to add some incantation somewhere
to get newly-added .el files to be byte-compiled?

> Is this the same "closure"?

Yes.

> What is special about this command that we say "closure" there?  Do we
> have to confuse users by showing that in the Help buffers?

C-h f will say that about all uncompiled functions that use lexical
binding, I think?  So there's nothing special about it.  (If it didn't
use lexical binding it'd say "lambda" instead of "closure", I guess.)

I have no opinion on whether this distinction (lambda/closure) is
meaningful to expose to the user in `C-h f'.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no