GNU bug report logs - #14551
compiler fails to track eval-when-compile in required files

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Mon, 3 Jun 2013 20:33:02 UTC

Severity: minor

Found in version 24.3

Full log


View this message in rfc822 format

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Glenn Morris <rgm <at> gnu.org>, 14551 <at> debbugs.gnu.org
Subject: bug#14551: compiler fails to track eval-when-compile in required files
Date: Wed, 10 Jan 2024 03:17:05 -0800
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> foo.el:
>> (require 'lib)
>> (defun foo ()
>>   (lib2-func))
> [...]
>> lib.el:
>> (eval-when-compile
>>   (require 'lib2))
>> (provide 'lib)
> [...]
>> rm lib*.elc
>> emacs -Q -L . -batch -f batch-byte-compile foo.el
>> produces no warnings.
>
> Yes, that's a long standing bug.  Fixing it right is likely to be pretty
> tricky/difficult because it means we need to disregard some of the
> packages already loaded somehow.  In the general case, you have the same
> problem even without eval-when-compile, e.g. if you have in lib.el
> a call to an autoloaded macro, in which case the autoloaded package will
> be loaded if lib.el is not yet compiled but not if it is.
>
> The "noruntime" warnings are implemented with a pile of hacks, and I'd
> rather not add to them.  So, given that a proper fix looks pretty
> difficult, I wouldn't hold my breath.

Is still an issue 10 years later?




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

Previous Next


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