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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 07 Nov 2021 15:36:50 +0200

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.

What is "an autoloaded interactive Lisp closure"?  There's no mention
of it in the Emacs user manual, and the Emacs Lisp Reference manual
says this about closures:

     A closure is a function that also carries a record of the lexical
  environment that existed when the function was defined.  When it is
  invoked, any lexical variable references within its definition use the
  retained lexical environment.  In all other respects, closures behave
  much like ordinary functions; in particular, they can be called in the
  same way as ordinary functions.

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

In GNU Emacs 29.0.50 (build 137, i686-pc-mingw32)
 of 2021-11-07 built on HOME-C4E4A596F7
Repository revision: a05f6bb6718a6ba2617d367e665d6f658a518448
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 5.1.2600
System Description: Microsoft Windows XP Service Pack 3 (v5.1.0.2600)

Configured using:
 'configure -C --prefix=/d/usr --with-wide-int
 --enable-checking=yes,glyphs 'CFLAGS=-O0 -gdwarf-4 -g3''

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS WEBP
XPM ZLIB

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1255

Major mode: ELisp/l

Minor modes in effect:
  bug-reference-prog-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media rmc puny
dired dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config
gnus-util rmail rmail-loaddefs auth-source password-cache json map
time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils vc-git diff-mode easy-mmode vc-dispatcher
bug-reference shortdoc text-property-search eieio-opt speedbar ezimage
dframe find-func emoji pcase derived transient cl-seq format-spec
edmacro kmacro eieio eieio-core cl-macs eieio-loaddefs cl-extra seq gv
subr-x byte-opt bytecomp byte-compile cconv thingatpt help-fns
radix-tree help-mode cl-loaddefs cl-lib iso-transl tooltip eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads w32notify
w32 lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 89759 6808)
 (symbols 48 9892 1)
 (strings 16 31319 2890)
 (string-bytes 1 870273)
 (vectors 16 18283)
 (vector-slots 8 232402 11964)
 (floats 8 78 46)
 (intervals 40 554 168)
 (buffers 888 13))