GNU bug report logs - #66136
29.1; byte-compiler reports "misplaced interactive spec" with empty fct in lexical environment

Previous Next

Package: emacs;

Reported by: "Jens Schmidt" <jschmidt4gnu <at> vodafonemail.de>

Date: Thu, 21 Sep 2023 13:12:02 UTC

Severity: normal

Found in version 29.1

Done: Mattias EngdegÄrd <mattias.engdegard <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>
To: 66136 <at> debbugs.gnu.org
Subject: bug#66136: 29.1; byte-compiler reports "misplaced interactive spec" with empty fct in lexical environment
Date: Thu, 21 Sep 2023 23:39:47 +0200
Found the issue I think:

-------------------- bad case --------------------
(macroexp-parse-body '("Allows interactive calls." (interactive "^P")))

=>

(("Allows interactive calls.")
 (interactive "^P"))
-------------------- bad case --------------------

-------------------- good case --------------------
(macroexp-parse-body '("Allows interactive calls." (interactive "^P") nil))

=>

(("Allows interactive calls." (interactive "^P"))
 nil)
-------------------- good case --------------------

That is, macroexp-parse-body does not consider the case that a body can
consist of declarations only and, if this is the case, puts the last
declaration into the body forms.

Could provide a patch if somebody confirms that this is really the root
cause of this issue.  Yet on the other hand this is pretty deep elisp,
so if somebody else steps forward, I'll be glad as well.




This bug report was last modified 1 year and 300 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.