After much sweat and cursing, I now have SLIME working on Corman Lisp (only tested on 2.51). I've attached the necessary swank-corman.lisp as well as a patch against CVS HEAD.
I actually had this working back in December, but due to a lack of round tuits I haven't made it official before.
Scissored from swank-corman.lisp:
;;; Notes ;;; ===== ;;; You will need CCL 2.51, and you will *definitely* need to patch ;;; CCL with the patches at ;;; http://www.grumblesmurf.org/lisp/corman-patches, otherwise SLIME ;;; will blow up in your face. You should also follow the ;;; instructions on http://www.grumblesmurf.org/lisp/corman-slime. ;;; ;;; The only communication style currently supported is NIL. ;;; ;;; Starting CCL inside emacs (with M-x slime) seems to work for me ;;; with Corman Lisp 2.51, but I have seen random failures with 2.5 ;;; (sometimes it works, other times it hangs on start or hangs when ;;; initializing WinSock) - starting CCL externally and using M-x ;;; slime-connect always works fine. ;;; ;;; Sometimes CCL gets confused and starts giving you random memory ;;; access violation errors on startup; if this happens, try dumping a ;;; new image. ;;;
Espen Wiborg espenhw@grumblesmurf.org writes:
After much sweat and cursing, I now have SLIME working on Corman Lisp (only tested on 2.51). I've attached the necessary swank-corman.lisp as well as a patch against CVS HEAD.
Cool! Do you have a common-lisp.net account? The best way forward is to get you commit access.
Espen Wiborg espenhw@grumblesmurf.org writes:
After much sweat and cursing, I now have SLIME working on Corman Lisp (only tested on 2.51). I've attached the necessary swank-corman.lisp as well as a patch against CVS HEAD.
I committed your code and asked the cl.net admins to give you an account.
I note that swank-corman.lisp uses DOS style eol convention. I hope that doesn't cause any problems.
Judging from the code, interrupting work doesn't yet. The easiest way to fix that is probably to add multi-threading support.
Helmut.
Helmut Eller heller@common-lisp.net writes:
I note that swank-corman.lisp uses DOS style eol convention. I hope that doesn't cause any problems.
It shouldn't - CVS should DTRT automagically as long as the file is not flagged as binary.
Judging from the code, interrupting doesn't work yet. The easiest way to fix that is probably to add multi-threading support.
You're quite right, interrupting doesn't work. I originally started out trying to implement the :spawn communication style, but ran into some nasty difficulties so went with NIL to start with.
On Fri, 27 May 2005 16:16:21 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
After much sweat and cursing, I now have SLIME working on Corman Lisp (only tested on 2.51).
Cool! Thanks.
I tried to follow the instructions from your website - I started with Corman Lisp 2.51, unpacked all-patches.zip, built a new CormanLisp.img, started clsonsole.exe, and then LOADed load-bits.lisp. However, the result of this is
;;; An error occured in function MACROEXPAND: ;;; Error: There is no SETF expansion method defined for (SOCKET-HOST-IPADDR S)
Any idea what I'm doing wrong?
Thanks again, Edi.
Edi Weitz edi@agharta.de writes:
I tried to follow the instructions from your website - I started with Corman Lisp 2.51, unpacked all-patches.zip, built a new CormanLisp.img, started clsonsole.exe, and then LOADed load-bits.lisp. However, the result of this is ;;; An error occured in function MACROEXPAND: ;;; Error: There is no SETF expansion method defined for (SOCKET-HOST-IPADDR S) Any idea what I'm doing wrong?
Hmm. Does this also happen if you do (require 'sockets)? What if you (require 'sockets) with the original CormanLisp.img?
On Thu, 02 Jun 2005 08:59:55 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
Hmm. Does this also happen if you do (require 'sockets)? What if you (require 'sockets) with the original CormanLisp.img?
Both work fine. I investigated this a little further and it turns out that (REQUIRE 'SOCKETS) ceases to work (with the message I pasted into my earlier message) /after/ (REQUIRE 'WINBASE). Does that help?
Edi Weitz edi@agharta.de writes:
On Thu, 02 Jun 2005 08:59:55 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
Hmm. Does this also happen if you do (require 'sockets)? What if you (require 'sockets) with the original CormanLisp.img?
Both work fine. I investigated this a little further and it turns out that (REQUIRE 'SOCKETS) ceases to work (with the message I pasted into my earlier message) /after/ (REQUIRE 'WINBASE). Does that help?
Not noticably. It almost sounds as if you have a different version of sockets.lisp (or winbase.lisp) than I have... Can you make those two files available somewhere?
On Thu, 02 Jun 2005 12:53:47 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
Not noticably. It almost sounds as if you have a different version of sockets.lisp (or winbase.lisp) than I have... Can you make those two files available somewhere?
I've put the versions of these files that are now in my Corman Lisp directory here:
http://nanook.agharta.de/corman/
The complete results that I get are pasted below. I use WinXP pro SP2 if that matters.
Thanks for your help, Edi.
;; Corman Lisp 2.51 Copyright © 2005 Corman Technologies. All rights reserved. ;; Licensed to Edmund Weitz [version 2.0]. (require :winbase) "WINBASE" (require :sockets) ;;; An error occurred in function MACROEXPAND: ;;; Error: There is no SETF expansion method defined for (SOCKET-HOST-IPADDR S) ;;; Entering Corman Lisp debug loop. ;;; Use :C followed by an option to exit. Type :HELP for help. ;;; Restart options: ;;; 1 Abort to top level. :b ;;; ERROR (File sys/conditions.lisp, line 473) ;;; #< COMPILED-FUNCTION: #x10034448 > (File sys/setf.lisp, line 42) ;;; FUNCALL (File sys/clos.lisp, line 1863) ;;; FUNCALL (File sys/clos.lisp, line 1863) ;;; MACROEXPAND ;;; COMMON-LISP::MACROEXPAND-ALL (File sys/massage.lisp, line 269) ;;; COMMON-LISP::MACROEXPAND-ALL-EXCEPT-TOP (File sys/massage.lisp, line 49) ;;; COMMON-LISP::MACROEXPAND-ALL (File sys/massage.lisp, line 269) ;;; COMMON-LISP::MACROEXPAND-ALL-EXCEPT-TOP (File sys/massage.lisp, line 49) ;;; COMMON-LISP::MACROEXPAND-ALL (File sys/massage.lisp, line 269) ;;; COMMON-LISP::STD-COMPUTE-METHOD-FUNCTION (File sys/clos.lisp, line 1811) ;;; COMMON-LISP::MAKE-INSTANCE-STANDARD-METHOD (File sys/clos.lisp, line 1537) ;;; APPLY (File sys/clos.lisp, line 1959) ;;; COMMON-LISP::ENSURE-METHOD (File sys/clos.lisp, line 1509) ;;; #< COMPILED-FUNCTION: #x11B48E0 > (File C:\Program Files\Corman Technologies\Corman Lisp 2.5\MODULES\SOCKETS.lisp, line 421) ;;; FUNCALL (File sys/clos.lisp, line 1863) ;;; EVAL (File sys/misc.lisp, line 1025) ;;; COMMON-LISP::PROCESS-TOP-LEVEL-FORM-FOR-LOAD (File sys/compile-file.lisp, line 747) ;;; COMMON-LISP::PROCESS-TOP-LEVEL-FORM-FOR-LOAD (File sys/compile-file.lisp, line 747) ;;; LOAD (File sys/compile-file.lisp, line 772) ;;; COMMON-LISP::%LOAD-FROM-DEFAULT (File sys\require.lisp, line 63) ;;; REQUIRE (File sys\require.lisp, line 78) ;;; #< COMPILED-FUNCTION: #x1440A58 > ;;; FUNCALL (File sys/clos.lisp, line 1863) ;;; EVAL (File sys/misc.lisp, line 1025) ;;; COMMON-LISP::TOP-LEVEL (File sys/win-conditions.lisp, line 64)
Edi Weitz edi@agharta.de writes:
On Thu, 02 Jun 2005 12:53:47 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
Not noticably. It almost sounds as if you have a different version of sockets.lisp (or winbase.lisp) than I have... Can you make those two files available somewhere?
I've put the versions of these files that are now in my Corman Lisp directory here: http://nanook.agharta.de/corman/
They are identical to my copies.
The complete results that I get are pasted below. I use WinXP pro SP2 if that matters.
This is quite a mystery; I cannot reproduce this either on Win2000 or WinXP pro SP2.
Does this happen only with my patches, or do you get the same error with the original CormanLisp.img?
On Thu, 02 Jun 2005 14:02:26 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
This is quite a mystery; I cannot reproduce this either on Win2000 or WinXP pro SP2.
Strange.
Does this happen only with my patches, or do you get the same error with the original CormanLisp.img?
No, with the original CCL installation everything works fine.
Hmm, that's a pity. I would have loved to try out SLIME with Corman Lisp.
Cheers, Edi.
Edi Weitz edi@agharta.de writes:
No, with the original CCL installation everything works fine. Hmm, that's a pity. I would have loved to try out SLIME with Corman Lisp.
Just for laughs, could you try with the image at <URL: http://www.grumblesmurf.org/scratch/CormanLisp.img >?
On Thu, 02 Jun 2005 14:44:40 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
Just for laughs, could you try with the image at <URL: http://www.grumblesmurf.org/scratch/CormanLisp.img >?
It works! I can load load-bits.lisp without problems. Bummer - I have /no/ idea what could be the difference that caused the troubles. I've built my image following your instructions from
http://www.grumblesmurf.org/lisp/corman-patches
and I've done this at least three times, using all-patches.zip and starting with a fresh CCL install each time.
Hmm...
Anyway, I'll play with SLIME now.
Thanks for your help, Edi.
On Thu, 02 Jun 2005 15:08:09 +0200, edi@agharta.de wrote:
On Thu, 02 Jun 2005 14:44:40 +0200, Espen Wiborg espenhw@grumblesmurf.org wrote:
Just for laughs, could you try with the image at <URL: http://www.grumblesmurf.org/scratch/CormanLisp.img >?
It works! I can load load-bits.lisp without problems. Bummer - I have /no/ idea what could be the difference that caused the troubles. I've built my image following your instructions from
http://www.grumblesmurf.org/lisp/corman-patches
and I've done this at least three times, using all-patches.zip and starting with a fresh CCL install each time.
Espen mentioned that he started with the Corman CL patches too. Perhaps you didn't?
Anyway, I'll play with SLIME now.
Since I cheated and grabbed the image too, I look forward to doing that ASAP.
On Thu, 2 Jun 2005 09:14:40 -0700, GP lisper spambait@CloudDancer.com wrote:
On Thu, 02 Jun 2005 15:08:09 +0200, edi@agharta.de wrote:
I've built my image following your instructions from
http://www.grumblesmurf.org/lisp/corman-patches
and I've done this at least three times, using all-patches.zip and starting with a fresh CCL install each time.
Espen mentioned that he started with the Corman CL patches too. Perhaps you didn't?
Huh? Did you read my message?