Hi,
Just a note, and an implied question, I guess.
I start a web server using sbcl, and start a swank server in it. I just started using a later version of slime from cvs (SLIME 2008-02-28). Slime no longer loads the contribs, as you know, which caused the server to generate an error when connecting to it remotely from an emacs which is using the contribs.
.sbclrc used to say:
(asdf:oos 'asdf:load-op :swank) (swank:create-server :port 4006 :dont-close t)
And it worked. I now must say:
(asdf:oos 'asdf:load-op :swank) (swank-loader:init :load-contribs t) (swank:create-server :port 4006 :dont-close t)
I thought I would mention this here, as I could find nothing in the docs, or anything in the changelog, news, or readme files which mentioned this.
If anyone can say "You should be doing it this way instead...", that'd be good.
Could swank.asd have something like this? (just off the top of my head, untested):
(defclass swank-with-contribs-loader-file (swank-loader-file) ())
(defmethod asdf:operation-done-p ((o asdf:compile-op) (f swank-loader-file)) t)
(defmethod asdf:perform ((o asdf:load-op) (f swank-with-contribs-loader-file)) (load (asdf::component-pathname f)) (funcall (read-from-string "swank-loader::init") :reload (asdf::operation-forced o) :delete (asdf::operation-forced o) :load-contribs t :setup nil))
(asdf:defsystem :swank-with-contribs :default-component-class swank-with-contribs-loader-file :components ((:file "swank-loader")))
I know there is a better way to do this.
Tim S
Hi,
I have even a more basic problem...
By just doing:
(asdf:oos 'asdf:load-op :swank) (swank:create-server :port 4006 :dont-close t)
You will not be able to connect from Emacs, without Emacs telling you that the protocoll version does not match. (and then forcing to continue gets me into trouble that I would not get otherwise)
This is because *swank-wire-protocol-version* does not never get set.
In the following
(defmethod asdf:perform ((o asdf:load-op) (f swank-loader-file)) (load (asdf::component-pathname f)) (funcall (read-from-string "swank-loader::init") :reload (asdf::operation-forced o) :delete (asdf::operation-forced o) :setup nil))
what is the reason for :setup nil ? I think this should be changed to :setup t.
This sort of connection problem, I have never had before. I must be due to the changes in the last weeks.
It would be great if someone who knows better could resolve this in a really consistent way.
Best, Kilian