diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-07 00:02:08 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-07 00:02:08 +0100 |
commit | cce1638cfe47e261cb9b285ba7f7e20dda12340e (patch) | |
tree | d9184e38e07ffb8d41bec3d15e9b702b2578339b | |
parent | 0715218c808240ab831007018f81527011f01e6c (diff) |
Fix COERCE-OBJECT (... (EQL :ID)).
darcs-hash:cee5f53f4c7c73bb8905d76fa6417b74112a3f42
-rw-r--r-- | Lisp/lisp-value-wrapping.lisp | 10 | ||||
-rw-r--r-- | Lisp/type-conversion-policy.lisp | 9 | ||||
-rw-r--r-- | objective-cl.asd | 3 |
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")) |