[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