[slime-cvs] CVS update: slime/ChangeLog slime/PROBLEMS slime/swank-sbcl.lisp
Christophe Rhodes
crhodes at common-lisp.net
Tue Jun 28 08:40:09 UTC 2005
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv29109
Modified Files:
ChangeLog PROBLEMS swank-sbcl.lisp
Log Message:
Support sbcl 0.9.2
Date: Tue Jun 28 10:40:08 2005
Author: crhodes
Index: slime/ChangeLog
diff -u slime/ChangeLog:1.716 slime/ChangeLog:1.717
--- slime/ChangeLog:1.716 Tue Jun 21 20:28:58 2005
+++ slime/ChangeLog Tue Jun 28 10:40:07 2005
@@ -1,3 +1,8 @@
+2005-06-28 Gabor Melis <mega at hotpop.com>
+
+ * swank-sbcl.lisp (threaded stuff): horrible hack to make threaded
+ SBCL 0.9.2 work. (also, Happy Birthday Christophe!)
+
2005-06-21 Edi Weitz <edi at agharta.de>
* swank.lisp (find-matching-packages): Also use nicknames.
Index: slime/PROBLEMS
diff -u slime/PROBLEMS:1.6 slime/PROBLEMS:1.7
--- slime/PROBLEMS:1.6 Tue Jun 7 12:06:51 2005
+++ slime/PROBLEMS Tue Jun 28 10:40:07 2005
@@ -21,8 +21,9 @@
** SBCL
-SBCL versions from 0.8.15 to 0.8.21 should work. Newer SBCL's may or
-may not work. Don't use multithreading with 2.4 kernels.
+The latest released version of SBCL at the time of packaging should
+work. Older or newer SBCLs may or may not work. Do not use
+multithreading with unpatched 2.4 Linux kernels.
The (v)iew-source command in the debugger can only locate exact source
forms for code compiled at (debug 2) or higher. The default level is
Index: slime/swank-sbcl.lisp
diff -u slime/swank-sbcl.lisp:1.134 slime/swank-sbcl.lisp:1.135
--- slime/swank-sbcl.lisp:1.134 Sat Jun 11 18:22:23 2005
+++ slime/swank-sbcl.lisp Tue Jun 28 10:40:07 2005
@@ -1095,14 +1095,15 @@
(defimplementation startup-multiprocessing ())
(defimplementation thread-id (thread)
- thread)
+ (assert (eql (ash (ash thread -5) 5) thread))
+ (ash thread -5))
(defimplementation find-thread (id)
- (if (member id (all-threads))
- id))
+ (when (member (ash id 5) (all-threads))
+ (ash id 5)))
(defimplementation thread-name (thread)
- (format nil "Thread ~D" thread))
+ (format nil "Thread ~D" (thread-id thread)))
(defun %thread-state-slot (thread)
(sb-sys:without-gcing
@@ -1133,12 +1134,13 @@
(sb-thread:current-thread-id))
(defimplementation all-threads ()
- (let ((pids (sb-sys:without-gcing
+ (let ((tids (sb-sys:without-gcing
(sb-thread::mapcar-threads
(lambda (sap)
- (sb-sys:sap-ref-32 sap (* sb-vm:n-word-bytes
- sb-vm::thread-pid-slot)))))))
- (remove :dead pids :key #'%thread-state)))
+ (sb-sys:sap-ref-32 sap
+ (* sb-vm:n-word-bytes
+ sb-vm::thread-os-thread-slot)))))))
+ (remove :dead tids :key #'%thread-state)))
(defimplementation interrupt-thread (thread fn)
(sb-thread:interrupt-thread thread fn))
More information about the slime-cvs
mailing list