summaryrefslogtreecommitdiff
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
parent0715218c808240ab831007018f81527011f01e6c (diff)
Fix COERCE-OBJECT (... (EQL :ID)).
darcs-hash:cee5f53f4c7c73bb8905d76fa6417b74112a3f42
-rw-r--r--Lisp/lisp-value-wrapping.lisp10
-rw-r--r--Lisp/type-conversion-policy.lisp9
-rw-r--r--objective-cl.asd3
3 files changed, 10 insertions, 12 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))
diff --git a/objective-cl.asd b/objective-cl.asd
index 82d1731..ec74687 100644
--- a/objective-cl.asd
+++ b/objective-cl.asd
@@ -63,7 +63,8 @@
"type-handling"
"policy"
"data-types"
- "method-invocation"))
+ "method-invocation"
+ "lisp-value-wrapping"))
(:file "type-handling" :depends-on ("defpackage"
"libobjcl"
"init"))