projects
/
jscl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
495b4eb
)
Migrate MULTIPLE-VALUE-PROG1
author
David Vázquez
<davazp@gmail.com>
Fri, 5 Jul 2013 02:48:08 +0000
(
04:48
+0200)
committer
David Vázquez
<davazp@gmail.com>
Fri, 5 Jul 2013 02:48:08 +0000
(
04:48
+0200)
src/compiler.lisp
patch
|
blob
|
history
diff --git
a/src/compiler.lisp
b/src/compiler.lisp
index
57248f7
..
9ff6cd7
100644
(file)
--- a/
src/compiler.lisp
+++ b/
src/compiler.lisp
@@
-919,10
+919,13
@@
`(return (call (get func "apply") |window| args))))))
(define-compilation multiple-value-prog1 (first-form &rest forms)
`(return (call (get func "apply") |window| args))))))
(define-compilation multiple-value-prog1 (first-form &rest forms)
- (js!selfcall
- "var args = " (ls-compile first-form *multiple-value-p*) ";"
- (ls-compile-block forms)
- "return args;" ))
+ (js!selfcall*
+ `(var (args ,(ls-compile first-form *multiple-value-p*)))
+ ;; TODO: Interleave is temporal
+ `(progn ,@(interleave (mapcar #'ls-compile forms)
+ '(code ";")
+ t))
+ `(return args)))
(define-transformation backquote (form)
(bq-completely-process form))
(define-transformation backquote (form)
(bq-completely-process form))