[GBBopen-developer] SWANK cannot load when using initiate.lisp

Dan Corkill corkill at gbbopen.org
Thu Apr 17 10:52:02 EDT 2008


> After your recent commit, there's a error when load initiate.lisp  
> because of following changes:
> 
> +(defvar swank-backend:*after-init-hook* nil
> +  "Hook run after user init files are loaded.")
> 
> and
> 
> -(defpackage :swank
> -  (:use :common-lisp))
> +(unless (find-package ':swank-backend)
> +  (defpackage :swank-backend
> +    (:use :common-lisp)
> +    (:export #:*after-init-hook*)))
> 
> It seems that *AFTER-INIT-HOOK* doesn't exist in SWANK-BACKEND package  
> (at least yesterday's SLIME trunk). 

It does exist in the latest SLIME CVS checkout:

$ grep init-hook *.lisp
swank-loader.lisp:  (eval `(pushnew 'compile-contribs
                        ,(q"swank::*after-init-hook*")))
swank.lisp:(defvar *after-init-hook* '()
swank.lisp:(add-hook *after-init-hook* 'init-global-stream-redirection)
swank.lisp:  (run-hook *after-init-hook*))

We checked the latest commit for SLIME support on several CLs (but 
unfortunately, not on the latest Clozure CL).

The problem is that Clozure CL isn't reloading the latest SLIME, due to the 
existence of the SLIME packages (even without any of the GBBopen stuff). 
Trying manually:

$ ccl -n
Welcome to Clozure Common Lisp Version 1.1-r9172MS (DarwinX8664)!
? (load "swank-loader.lisp")
#P"/usr/local/slime/swank-loader.lisp"
? (swank-loader::init)
; Warning: Not reloading SWANK.  Package already exists.
; While executing: SWANK-LOADER:INIT, in process listener(1).
 > Error: Unbound variable: SWANK::*AFTER-INIT-HOOK*
 > While executing: CCL::CHEAP-EVAL-IN-ENVIRONMENT, in process listener(1).
 > Type :GO to continue, :POP to abort, :R for a list of available restarts.
 > If continued: Retry getting the value of SWANK::*AFTER-INIT-HOOK*.
 > Type :? for other options.
1>

Note that SLIME can be reloaded via:

$ ccl -n
Welcome to Clozure Common Lisp Version 1.1-r9172MS (DarwinX8664)!
? (load "swank-loader.lisp")
#P"/usr/local/slime/swank-loader.lisp"
? (swank-loader:init :reload t)
;Compiling "/usr/local/slime/swank-backend.lisp"...
     ...

But the latest swank-loader.lisp has to be loaded first in order to 
accomplish reloading.

So, we need to do more investigating on how to get SLIME on Clozure CL to 
be running with the latest SLIME checkout.  Any Clozure with SLIME experts 
are welcomed to chime in...



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the GBBopen-developer mailing list