summaryrefslogtreecommitdiff
path: root/Lisp/method-invocation.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 12:36:06 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 12:36:06 +0100
commit11c857700e03ec0b758f729731784d0f46a6d55e (patch)
tree28251a60e4612f0880675e19ef212b6cf2b1bcca /Lisp/method-invocation.lisp
parent088de3d24f58c8bb8f8a2ac25c5da373a7e3a1f2 (diff)
Use INTERN-LISP-VALUE for argument conversion.
darcs-hash:2f57dd53bfa6b2aa44474232042d9578af720c22
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r--Lisp/method-invocation.lisp20
1 files changed, 3 insertions, 17 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index bbbee68..50c3238 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -492,24 +492,10 @@ easier to use with __apply__.
'id
x))
-(defcoercion id ((x string))
- (primitive-invoke (find-objc-class 'ns-string)
- "stringWithUTF8String:"
- 'id
- x))
+(defcoercion id ((x null))
+ +nil+)
-(defcoercion id ((x list))
- ;; Circular lists may cause this to hang. So may lists that contain
- ;; themselves, as well as lists that contain other data structures
- ;; that contain themselves or this list, and so on.
- (apply #'primitive-invoke
- (find-objc-class 'ns-array)
- "arrayWithObjects:"
- 'id
- (append (mapcar #'(lambda (element)
- (coerce-object element 'id))
- x)
- (list +nil+))))
+;; (defcoercion id ((x {list, string, t})) ...): See lisp-value-wrapping.lisp.
(defcoercion class ((x id))