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

Peter Seibel peter at javamonkey.com
Thu Jul 15 04:19:03 UTC 2004


Nikodemus Siivola <tsiivola at cc.hut.fi> writes:

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

Okay, now I'm afraid I dorked something up with my change the other
day to abbreviate the package name in the prompt. Namely I'm afraid
that somewhere SLIME is using the abbreviated name, which is not
necessarily a real package nickname, as the name of the package. Can
someone explain the basic theory of how SLIME thinks about packages?

-Peter

-- 
Peter Seibel                                      peter at javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp





More information about the slime-devel mailing list