GNU bug report logs -
#51695
29.0.50; lexical scope closure, interactive spec byte compiler warnings/usage issue
Previous Next
Reported by: Emanuel Berg <moasenwood <at> zoho.eu>
Date: Mon, 8 Nov 2021 23:41:02 UTC
Severity: normal
Tags: confirmed
Found in version 29.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#51695: 29.0.50; lexical scope closure, interactive spec byte compiler warnings/usage issue
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 51695 <at> debbugs.gnu.org.
--
51695: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51695
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> Just recapping a bit here. A less confusing function to reproduce the
> problem:
I pushed to `master` a patch which should make such code work.
Stefan
[Message part 3 (message/rfc822, inline)]
(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
This bug report was last modified 2 years and 244 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.