diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-04 12:36:06 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-04 12:36:06 +0100 |
commit | 11c857700e03ec0b758f729731784d0f46a6d55e (patch) | |
tree | 28251a60e4612f0880675e19ef212b6cf2b1bcca /Lisp/method-invocation.lisp | |
parent | 088de3d24f58c8bb8f8a2ac25c5da373a7e3a1f2 (diff) |
Use INTERN-LISP-VALUE for argument conversion.
darcs-hash:2f57dd53bfa6b2aa44474232042d9578af720c22
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r-- | Lisp/method-invocation.lisp | 20 |
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)) |