On Wed, 14 Jul 2004, Peter Seibel wrote:
Hmmm. I don't think I explicitly deleted any packages but I may have reevaluated various DEFPACKAGE forms. Mightn't that sometimes cause an implicit DELETE-PACKAGE? Or something that would confuse SLIME in the
It _would_ be legal, since the consequences are undefined if a defpackage form that is at variance with the current state of the package is evaluated... but that sounds like a fairly inhospitable way to go about things, so I'd be a tad surprised if some implementation does that.
I think it's just Slime getting out of synch when eg. package nicknames change, as it seems to be holding on to the package name, not the object (which would preserve identity across renames):
CL-USER> (defpackage :temporary (:use :cl) (:nicknames :tmp)) #<PACKAGE "TEMPORARY"> CL-USER> (in-package :tmp) #<PACKAGE "TEMPORARY"> TMP> (rename-package :temporary :temporary) ; remove nickname #<PACKAGE "TEMPORARY"> TMP> (find-package :tmp) ; really gone NIL TMP> *package* ; so where are we really.... #<PACKAGE "COMMON-LISP-USER"> TMP> (in-package :cl-user) #<PACKAGE "COMMON-LISP-USER"> TMP>
Cheers,
-- Nikodemus "Not as clumsy or random as a C++ or Java. An elegant weapon for a more civilized time."