[slime-cvs] CVS update: slime/swank-lispworks.lisp

Helmut Eller heller at common-lisp.net
Sat Mar 27 21:17:37 UTC 2004


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv7419

Modified Files:
	swank-lispworks.lisp 
Log Message:
(spawn): Remove CL symbols from mp:*process-initial-bindings*, to
avoid the irritating behavior, e.g., when someone tries to set
*package*.

Date: Sat Mar 27 16:17:36 2004
Author: heller

Index: slime/swank-lispworks.lisp
diff -u slime/swank-lispworks.lisp:1.37 slime/swank-lispworks.lisp:1.38
--- slime/swank-lispworks.lisp:1.37	Thu Mar 25 17:44:47 2004
+++ slime/swank-lispworks.lisp	Sat Mar 27 16:17:36 2004
@@ -84,7 +84,7 @@
     (declare (ignore args))
     (mp:process-interrupt process #'sigint-handler)))
 
-(defmethod call-without-interrupts (fn)
+(defimplementation call-without-interrupts (fn)
   (lw:without-interrupts (funcall fn)))
 
 (defimplementation getpid ()
@@ -154,7 +154,7 @@
                  (mapcar #'string-upcase 
                          (lispworks:function-lambda-list symbol))
                  (documentation symbol 'function))
-         (describe (symbol-function symbol)))
+         (describe (fdefinition symbol)))
         (t (format t "~S is not fbound" symbol))))
 
 (defun describe-symbol (sym)
@@ -426,7 +426,11 @@
   (mp:initialize-multiprocessing))
 
 (defimplementation spawn (fn &key name)
-  (mp:process-run-function name () fn))
+  (let ((mp:*process-initial-bindings* 
+         (remove (find-package :cl) 
+                 mp:*process-initial-bindings*
+                 :key (lambda (x) (symbol-package (car x))))))
+    (mp:process-run-function name () fn)))
 
 (defimplementation thread-name (thread)
   (mp:process-name thread))





More information about the slime-cvs mailing list