[cl-debian] Bug#357238: cl-asdf: Package errors on system reload
Peter Van Eynde
pvaneynd at debian.org
Tue Mar 28 07:49:33 UTC 2006
Hello,
On Thursday 16 March 2006 11:29, Christian Lynbech wrote:
> The symptom is that the first I load and compiles a system, for
> instance with `clc-require', it works as expected. However, on
> subsequent starts of lisp, the load of the (now compiled) system
> fails. The full error log is below, but the error encountered is:
>
> The name "ASDF1073" does not designate any package.
I've been thinking about this for a while now and I think this is
a feature, not a bug. All files should declare a package to load
into, if not the results will be unpredictable. So this is IMHO
just a gentle reminder to do an (in-package :something) at the
start of the file.
> The system being loaded in this example is the :regex system of the
> "cl-regex" package (in version 1-1).
regex/packages.lisp does not start with "(in-package :common-lisp-user)"
when you add that line the problem should go away.
> The cause of the problem is not entirely clear to me, but I suspect
> the code for `find-system' in /usr/share/common-lisp/source/asdf/asdf.lisp.
> It contains the following:
>
> (let ((*package* (make-package (gensym #.(package-name *package*))
> :use '(:cl :asdf))))
>
> which will generate a new unique package at each run. However, that
> package is not likely to exist in another run of lisp. Even if a new
> package is generated in the new session, in all probability it will
> have a different name.
This is good, it protects lazy libraries against other lazy libraries
symbols.
Does anyone disagree that this is a feature?
Groetjes, Peter
--
signature -at- pvaneynd.mailworks.org
http://www.livejournal.com/users/pvaneynd/
"God, root, what is difference?" Pitr | "God is more forgiving." Dave Aronson|
More information about the Cl-debian
mailing list