From: David Vázquez Date: Sat, 6 Jul 2013 02:02:56 +0000 (+0200) Subject: Fix FFI funcall X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=8b3a69a45d61417a4b7b3a348438c157c0f0a3d4;p=jscl.git Fix FFI funcall --- diff --git a/src/compiler.lisp b/src/compiler.lisp index 6e26947..be83e08 100644 --- a/src/compiler.lisp +++ b/src/compiler.lisp @@ -1344,7 +1344,13 @@ ((and (consp function) (eq (car function) 'lambda)) `(call ,(convert `#',function) ,@arglist)) ((and (consp function) (eq (car function) 'oget)) - `(call ,(convert function) ,@arglist)) + `(call |js_to_lisp| + (call ,(reduce (lambda (obj p) + `(property ,obj (call |xstring| ,p))) + (mapcar #'convert (cdr function))) + ,@(mapcar (lambda (s) + `(call |lisp_to_js| ,s)) + args)))) (t (error "Bad function descriptor")))))