Subject: 29.0.50; lexical scope closure, interactive spec byte compiler warnings/usage issue
From: Emanuel Berg <[email-masked]>
To: [email-masked]
Date: Tue, 09 Nov 2021 00:40:33 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

(this should sum it up but see thread on gmane.emacs.help for background,
https://lists.gnu.org/archive/html/help-gnu-emacs/2021-11/msg00000.html
. keep it real)

;;; -*- lexical-binding: t -*-
;;;
;;; this file:
;;;   http://user.it.uu.se/~embe8573/emacs-init/geh.el
;;;   https://dataswamp.org/~incal/emacs-init/geh.el

(let ((data-item 1)
      (more-data 2) )
    (defun echo-data (&optional data)
      (interactive (list (read-number "number: " (or data-item more-data))))
      (message "data: %s" (or data data-item)) ))
;; (echo-data 5)
;; (echo-data)
;; (call-interactively #'echo-data)

;; Emacs bugs:
;;
;; 1. Byte compiler warnings (two cases) relating to the
;;    interactive spec:
;;
;;    geh.el:7:1: Warning: Unused lexical variable `more-data'
;;    geh.el:10:54: Warning: reference to free variable ‘data-item’
;;    geh.el:10:64: Warning: reference to free variable ‘more-data’
;;
;; 2. When the compiled version is used interactively:
;;
;;    Symbol's value as variable is void: data-item

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, cairo version 1.16.0)
 of 2021-10-04 built on ebih
Repository revision: c6be44d9b3ec09195f6279e9a503175f8fd60e14
Repository branch: master
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --with-x-toolkit=no'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS
HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2
M17N_FLT MODULES NOTIFY INOTIFY OLDXMENU PDUMPER PNG RSVG
SECCOMP SOUND THREADS TIFF X11 XDBE XIM XPM ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Article

Minor modes in effect:
  erc-list-mode: t
  erc-menu-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-netsplit-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-autojoin-mode: t
  erc-networks-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  erc-scrolltobottom-mode: t
  shell-dirtrack-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: linux
  auto-compression-mode: t
  buffer-read-only: t
  transient-mark-mode: t

Load-path shadows:
~/.emacs.d/emacs-init/isbn-verify hides /home/incal/.emacs.d/elpa/isbn-verify-2.0.0/isbn-verify
~/.emacs.d/emacs-init/signal hides /home/incal/.emacs.d/elpa/signal-20160816.1438/signal
~/.emacs.d/lisp/abbrev hides /usr/local/share/emacs/29.0.50/lisp/abbrev
~/.emacs.d/emacs-init/misc hides /usr/local/share/emacs/29.0.50/lisp/misc

Features:
(shadow emacsbug w3m-save nnfolder tramp-cmds ibuf-ext ibuffer
ibuffer-loaddefs dash completion bug-reference pcmpl-unix
cl-print dired-aux flow-fill conf-mode mailalias grep xref
project ffap vc-hg vc-git diff-mode vc-bzr vc-dispatcher
erc-list erc-menu erc-track erc-netsplit gnus-draft canlock
w3m-symbol w3m-filter shortdoc help-fns radix-tree org-element
avl-tree generator ol-eww ol-rmail ol-mhe ol-irc ol-info
ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe
ol-docview ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote
org-src ob-comint org-pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob-core ob-eval
org-table ol org-keys oc org-compat advice org-macs
org-loaddefs cal-menu calendar cal-loaddefs mm-archive
cl-extra mule-util mail-extr gnus-async gnus-bcklg gnus-dup qp
gnus-ml disp-table cursor-sensor pop3 nndraft nnmh nnml gnutls
network-stream nsm gnus-agent nnvirtual nntp gnus-cache tabify
term/linux cus-edit cus-start cus-load w3m-unisearch w3m-incal
w3m-session w3m-search checkdoc lisp-mnt lisp-incal ielm
nroff-mode compile-incal cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs summary
message-incal moggle smtpmail sendmail mail-to-many
gnus-server article w3m-download w3m-bookmark-more w3m-tabs
erc-connect bibtex-next-volume bibtex-incal bibtex-field
bibtex-book bibtex-autokey-insert bibtex yank xsel wrap-search
spell ispell sort-incal sort revert-buffer lpr tramp-cache
tramp-sh w3m-bookmark t-mouse man-incal tex-mode mode-line
kill keys iterate-files issn-verify isbn-verify help-incal
debug backtrace help-mode find-func apropos fill-incal
w3m-form sh-script executable markdown-mode rx noutline
outline easy-mmode man gnus-cite erc-match erc-button css-mode
smie sgml-mode facemenu imenu eww xdg url-queue mm-url color
compile epwgen em-hist em-pred esh-mode quit gnus-incal group
group-summary gnus-srvr erc-incal warnings erc-spell erc-ring
erc-pcomplete erc-kill erc-join erc-networks erc-iterate
erc-scroll erc-fill erc-stamp erc-goodies erc erc-backend pp
erc-loaddefs gnus-score score-mode gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-sum shr kinsoku svg
dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml
gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec
gnus-int gnus-range gnus-win message rmc puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045
ietf-drums text-property-search mail-utils mm-util mail-prsvr
eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util edit tabs dired-incal w3m-url
w3m doc-view jka-compr image-mode exif timezone w3m-hist
w3m-fb bookmark-w3m w3m-ems wid-edit w3m-favicon w3m-image
tab-line w3m-proc w3m-util thingatpt time-incal time-insert
file tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat shell pcomplete comint ansi-color ring parse-time
iso8601 time-date ls-lisp format-spec sudo-user-path
find-command file-write-to window-incal get-search-string
search-regexp-in-files count caps-back buffer-menu
switch-to-buffer switch-to-buffer-regexp super scroll dired
dired-loaddefs close buc align-from-left align-incal string
abc w3m-load info package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json
map url-vars seq gv subr-x byte-opt bytecomp byte-compile
cconv cl-loaddefs cl-lib paren iso-transl tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd
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
dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo x multi-tty make-network-process
emacs)

Memory information:
((conses 16 586752 116734)
 (symbols 48 37908 8)
 (strings 32 149835 13814)
 (string-bytes 1 5488915)
 (vectors 16 73343)
 (vector-slots 8 1600328 181967)
 (floats 8 660 670)
 (intervals 56 25131 587)
 (buffers 992 123))

-- 
underground experts united
https://dataswamp.org/~incal