[slime-devel] Re: make swank safe if loaded into an image with an older version of swank in the image
Madhu
enometh at meer.net
Mon Feb 4 13:26:29 UTC 2008
* Marco Baringer <87r6ftszlo.fsf at arsenic.bese.it> :
Wrote on Mon, 04 Feb 2008 12:57:55 +0100:
| Madhu <enometh at meer.net> writes:
|
|> This is a bad idea. In general, packages should not be automatically
|> deleted[1], and I would prefer if package deletion was provided in a
|> function called reload-swank-loader or something that the user can
|> call when he knows what is happening
|>
|> Secondly, this breaks a common[2] strategy to put swank fasl files in a
|> different location: For example in my lisp's init file I may have have
|>
|> (eval-when (:load-toplevel :execute :compile-toplevel)
|> (unless (find-package :swank-loader)
|> (make-package :swank-loader)))
|>
|> (defparameter swank-loader::*fasl-directory* "/user11/madhu/build/swank/")
|>
|> (load "/path/toswank-loader.lisp")
|>
|> - To override the defvar in swank-loader.lisp
|
| ok, since we even suggest doing this is the documentation i will stop
| deleting the swank-loader package (but i'll keep deleting the other
| packages unless you can convince me otherwise).
It is still a bad idea for the same reason. Variables set earlier in
the session in the other packages will be wiped out of you delete the
package. Definitely not what I want when I want DEFVAR to behave as
specified on reloading.
|> The logic propsed in the patch would break this usage completely by
|> deleting the package the variable belongs to
|>
|> [1] I hear some implementations may leak objects in deleted packages
|
| which implementations? they should be fixed.
Easily said! I think i am remembering CLL message
<slrnf3hva0.gou.jsnell at sbz-30.cs.Helsinki.FI> and possibly some PCL
related messages (which do not apply since swank doesnt do defclass.)
--
Madhu
More information about the slime-devel
mailing list