summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-07 00:02:08 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-07 00:02:08 +0100
commitcce1638cfe47e261cb9b285ba7f7e20dda12340e (patch)
treed9184e38e07ffb8d41bec3d15e9b702b2578339b /Lisp
parent0715218c808240ab831007018f81527011f01e6c (diff)
Fix COERCE-OBJECT (... (EQL :ID)).
darcs-hash:cee5f53f4c7c73bb8905d76fa6417b74112a3f42
Diffstat (limited to 'Lisp')
-rw-r--r--Lisp/lisp-value-wrapping.lisp10
-rw-r--r--Lisp/type-conversion-policy.lisp9
2 files changed, 8 insertions, 11 deletions
diff --git a/Lisp/lisp-value-wrapping.lisp b/Lisp/lisp-value-wrapping.lisp
index a25cb2d..dbc9c6e 100644
--- a/Lisp/lisp-value-wrapping.lisp
+++ b/Lisp/lisp-value-wrapping.lisp
@@ -40,16 +40,6 @@
(:metaclass ns::+ns-object))
-(defcoercion id ((x list))
- (intern-lisp-value x))
-
-(defcoercion id ((x string))
- (intern-lisp-value x))
-
-(defcoercion id ((x t))
- (intern-lisp-value x))
-
-
(defvar *lisp-value-wrappers* (make-weak-value-hash-table))
diff --git a/Lisp/type-conversion-policy.lisp b/Lisp/type-conversion-policy.lisp
index ba1ae34..43c3cf3 100644
--- a/Lisp/type-conversion-policy.lisp
+++ b/Lisp/type-conversion-policy.lisp
@@ -79,7 +79,14 @@
(defcoercion :id ((x null))
+nil+)
-;; (defcoercion id ((x {list, string, t})) ...): See lisp-value-wrapping.lisp.
+(defcoercion :id ((x list))
+ (intern-lisp-value x))
+
+(defcoercion :id ((x string))
+ (intern-lisp-value x))
+
+(defcoercion :id ((x t))
+ (intern-lisp-value x))
(defcoercion :class ((x id))