[slime-devel] Re: Error in function CREATE-INET-LISTENER (OS X +CMUCL) (Solved)

mikel mikel at evins.net
Mon Sep 13 14:39:28 UTC 2004


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.





More information about the slime-devel mailing list