Mikel,
That fixed it. Thanks. Thank you Lars, also.
I have no idea why this edit to swank-cmucl.lisp works, but I'd like to suggest that some mention of it appear in the documentation/FAQ so that other mac users can get in on the fun.
Thanks again.
- Matt
----- Original Message ----- From: mikel evins mikel@evins.net Date: Sat, 11 Sep 2004 00:33:43 -0700 To: slime-devel@common-lisp.net Subject: [slime-devel] Re: Error in function CREATE-INET-LISTENER (OS X +CMUCL)
Matthew Munz wrote:
Hi all,
I'm just getting started with SLIME and CMUCL, so any help would be really appreciated.
I set up SLIME 1.0 on a linux machine according to the manual's instructions, and M-x slime worked out-of-the-box quite nicely. The analogous setup on OS X, however, gives me the following error. After this point, the inferior lisp mode works fine, but slime mode does not. A problem with the socket communication perhaps?
Could someone please help me debug this? I think that my network interface is properly configured, but since it's my day 1 with SLIME, it's hard for me to know how to analyze this error.
In recent combinations of SLIME and CMUCL I've found it necessary to comment out a bit of swank-cmucl.lisp. The bit in question is at line 77 of version 1.114 (the cvs version I have at the moment), and looks like this:
(defimplementation create-socket (host port) (ext:create-inet-listener port :stream :reuse-address t :host (resolve-hostname host)))
The bit you want to comment out is:
:host (resolve-hostname host)
After I do that, SLIME and CMUCL cohabit nicely in recent builds of Carbon Gnu Emacs.
slime-devel site list slime-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel
Matthew M. Munz mattmunz@email.com http://munz.2y.net/
Matthew Munz wrote:
Mikel,
That fixed it. Thanks. Thank you Lars, also.
I have no idea why this edit to swank-cmucl.lisp works, but I'd like to suggest that some mention of it appear in the documentation/FAQ so that other mac users can get in on the fun.
Thanks again.
Well, just to further complicate matters, this fix no longer appears to work with the (just posted) 19a binaries for darwin; there is some other brand new breakage that I have not yet figured out how to work around.
mikel wrote:
Matthew Munz wrote:
Mikel,
That fixed it. Thanks. Thank you Lars, also. I have no idea why this edit to swank-cmucl.lisp works, but I'd like to suggest that some mention of it appear in the documentation/FAQ so that other mac users can get in on the fun.
Thanks again.
Well, just to further complicate matters, this fix no longer appears to work with the (just posted) 19a binaries for darwin; there is some other brand new breakage that I have not yet figured out how to work around.
So the problem appears to be that swank.lisp refers to swank-mop:standard-slot-definition, which is not defined anywhere in the cmucl load. I fixed this by swiping the definition of import-to-swank-mop from swank-sbcl and using it to import standard-slot-definition from the pcl package:
(eval-when (:compile-toplevel :load-toplevel :execute) (defun import-to-swank-mop (sym/sym-list) (if (listp sym/sym-list) (dolist (sym sym/sym-list) (import-to-swank-mop sym)) (let* ((sym sym/sym-list) (swank-mop-sym (find-symbol (symbol-name sym) :swank-mop))) ;; 1) "delete" the symbol form the :swank-mop package (when swank-mop-sym (unintern swank-mop-sym :swank-mop)) (import sym :swank-mop) (export sym :swank-mop))))
(import-to-swank-mop '( pcl:standard-slot-definition)))
After I add this chunk of code to the top of swank-cmucl.lisp, the latest (19a) build of CMUCL seems to work properly with SLIME.
It still seems to be necessart to comment out the
:host (resolve-hostname host)
argument to create-socket. Presumably there is a proper way to solve this one with an adjustment to OSX's name resolution.
mikel mikel@evins.net writes:
So the problem appears to be that swank.lisp refers to swank-mop:standard-slot-definition, which is not defined anywhere in the cmucl load. I fixed this by swiping the definition of import-to-swank-mop from swank-sbcl and using it to import standard-slot-definition from the pcl package:
this is my fault, i hadn't realized that my changes was cause slime to not even load an implementations without the swank-mop package :(. i just commited a patch for cmucl. this leaves lispworks and clisp...
It still seems to be necessart to comment out the
:host (resolve-hostname host)
this one is kind of weird. it only gives errors when it's run during slime's start up process, i've no problems running the same code from within a repl...i commited a patch some read time conditionals so that this argument doens't get passed on #+(and cmucl ppc) and everything seems to work.
p.s. - can we kill the fix for cmucl18e in swank-cmucl now that 19a is out?
marco wrote:
mikel mikel@evins.net writes:
So the problem appears to be that swank.lisp refers to swank-mop:standard-slot-definition, which is not defined anywhere in the cmucl load. I fixed this by swiping the definition of import-to-swank-mop from swank-sbcl and using it to import standard-slot-definition from the pcl package:
this is my fault, i hadn't realized that my changes was cause slime to not even load an implementations without the swank-mop package :(. i just commited a patch for cmucl. this leaves lispworks and clisp...
It still seems to be necessart to comment out the
:host (resolve-hostname host)
this one is kind of weird. it only gives errors when it's run during slime's start up process, i've no problems running the same code from within a repl...i commited a patch some read time conditionals so that this argument doens't get passed on #+(and cmucl ppc) and everything seems to work.
I checked out your fixes and they appear to work (thus removing the need to hack swank-cmucl each time I update). Thanks!