[slime-devel] Re: in-package at REPL?

Nikodemus Siivola tsiivola at cc.hut.fi
Wed Jul 14 22:29:17 UTC 2004


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."




More information about the slime-devel mailing list