[slime-cvs] CVS slime

nsiivola nsiivola at common-lisp.net
Fri Oct 27 06:24:26 UTC 2006


Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv2635

Modified Files:
	ChangeLog swank-sbcl.lisp 
Log Message:
Restore support for pre 0.9.17 SBCL

--- /project/slime/cvsroot/slime/ChangeLog	2006/10/26 16:51:41	1.984
+++ /project/slime/cvsroot/slime/ChangeLog	2006/10/27 06:24:26	1.985
@@ -1,3 +1,9 @@
+2006-10-27 Nikodemus Siivola <nikodemus at random-state.net>
+
+	* swank-sbcl (make-weak-key-hash-table): Restore support
+	for older SBCLs without weak hash-tables.
+	(make-weak-value-hash-table): Ditto.
+
 2006-10-26  Utz-Uwe Haus  <haus+slime at mail.math.uni-magdeburg.de>
 
 	* swank-allegro.lisp (sldb-break-at-start): Implement.
--- /project/slime/cvsroot/slime/swank-sbcl.lisp	2006/10/26 12:47:05	1.169
+++ /project/slime/cvsroot/slime/swank-sbcl.lisp	2006/10/27 06:24:26	1.170
@@ -30,6 +30,11 @@
   (defun sbcl-with-new-stepper-p ()
     (if (find-symbol "ENABLE-STEPPING" "SB-IMPL")
         '(and)
+        '(or)))
+  ;; Ditto for weak hash-tables
+  (defun sbcl-with-weak-hash-tables ()
+    (if (find-symbol "HASH-TABLE-WEAKNESS" "SB-EXT")
+        '(and)
         '(or))))
 
 ;;; swank-mop
@@ -1178,8 +1183,14 @@
 
 ;;; Weak datastructures
 
-(defimplementation make-weak-key-hash-table (&rest args)
-  (apply #'make-hash-table :weakness :key args))
+(defimplementation make-weak-key-hash-table (&rest args)  
+  #+#.(swank-backend::sbcl-with-weak-hash-tables)
+  (apply #'make-hash-table :weakness :key args)
+  #-#.(swank-backend::sbcl-with-weak-hash-tables)
+  (apply #'make-hash-table args))
 
 (defimplementation make-weak-value-hash-table (&rest args)
-  (apply #'make-hash-table :weakness :value args))
+  #+#.(swank-backend::sbcl-with-weak-hash-tables)
+  (apply #'make-hash-table :weakness :value args)
+  #-#.(swank-backend::sbcl-with-weak-hash-tables)
+  (apply #'make-hash-table args))




More information about the slime-cvs mailing list