projects
/
jscl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c07c48e
)
FUNCALL and APPLY can return multiple values
author
David Vazquez
<davazp@gmail.com>
Fri, 25 Jan 2013 16:50:12 +0000
(16:50 +0000)
committer
David Vazquez
<davazp@gmail.com>
Fri, 25 Jan 2013 16:50:12 +0000
(16:50 +0000)
ecmalisp.lisp
patch
|
blob
|
history
diff --git
a/ecmalisp.lisp
b/ecmalisp.lisp
index
20a17b1
..
de2dabb
100644
(file)
--- a/
ecmalisp.lisp
+++ b/
ecmalisp.lisp
@@
-1863,7
+1863,8
@@
(define-raw-builtin funcall (func &rest args)
(concat "(" (ls-compile func) ")("
(define-raw-builtin funcall (func &rest args)
(concat "(" (ls-compile func) ")("
- (join (cons "pv" (mapcar #'ls-compile args))
+ (join (cons (if *multiple-value-p* "values" "pv")
+ (mapcar #'ls-compile args))
", ")
")"))
", ")
")"))
@@
-1874,7
+1875,8
@@
(last (car (last args))))
(js!selfcall
"var f = " (ls-compile func) ";" *newline*
(last (car (last args))))
(js!selfcall
"var f = " (ls-compile func) ";" *newline*
- "var args = [" (join (cons "pv" (mapcar #'ls-compile args))
+ "var args = [" (join (cons (if *multiple-value-p* "values" "pv")
+ (mapcar #'ls-compile args))
", ")
"];" *newline*
"var tail = (" (ls-compile last) ");" *newline*
", ")
"];" *newline*
"var tail = (" (ls-compile last) ");" *newline*