summaryrefslogtreecommitdiff
path: root/Lisp/weak-hash-tables.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2007-08-04 21:06:28 +0200
committerMatthias Benkard <code@mail.matthias.benkard.de>2007-08-04 21:06:28 +0200
commit424402274218149eb9ff7fc560b55534c4b2b70c (patch)
tree924ad45b6026cfbfb820c56fba28a83f7b74c5e5 /Lisp/weak-hash-tables.lisp
parent3836edaccf2d9027d01b9d7c7b7a29df512b8d7c (diff)
Allegro CL compatibility.
darcs-hash:04fca2e78b76d10a855512ab7716cb74a3e414c1
Diffstat (limited to 'Lisp/weak-hash-tables.lisp')
-rw-r--r--Lisp/weak-hash-tables.lisp8
1 files changed, 5 insertions, 3 deletions
diff --git a/Lisp/weak-hash-tables.lisp b/Lisp/weak-hash-tables.lisp
index 6221d8a..ae8ad0c 100644
--- a/Lisp/weak-hash-tables.lisp
+++ b/Lisp/weak-hash-tables.lisp
@@ -23,11 +23,13 @@
#-cmu
(progn
- (declaim (inline make-weak-value-hash-table))
+ (declaim (inline make-weak-value-hash-table (setf weak-gethash)))
(defun make-weak-value-hash-table ()
(trivial-garbage:make-weak-hash-table :weakness :value
:test 'eql))
- (setf (fdefinition 'weak-gethash) (fdefinition 'gethash)
- (fdefinition '(setf weak-gethash)) (fdefinition '(setf gethash))))
+ (setf (fdefinition 'weak-gethash) (fdefinition 'gethash))
+
+ (defun (setf weak-gethash) (value key hash-table)
+ (setf (gethash key hash-table) value)))