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
Message #11 received at 51695 <at> debbugs.gnu.org (full text, mbox):
> (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
Thanks. This is a limitation in `cconv.el` tho it will likely require
further changes in `bytecomp.el` and/or `callint.c`.
Not sure when I'll find the time to tackle it, so in the mean time
I recommend you find some workaround,
Stefan
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.