X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=ecmalisp.lisp;h=0d091a66a5b354e1bd53033c938239bd238c0147;hb=4951c2dad634560b91b4d0bf3b6545dd02bfa887;hp=17dd213314d996a354fc048ff49e88d36a696926;hpb=a258adba32ebbf9bec1646eace200558ea80ade0;p=jscl.git diff --git a/ecmalisp.lisp b/ecmalisp.lisp index 17dd213..0d091a6 100644 --- a/ecmalisp.lisp +++ b/ecmalisp.lisp @@ -1107,8 +1107,8 @@ (define-compilation if (condition true false) (concat "(" (ls-compile condition) " !== " (ls-compile nil) - " ? " (ls-compile true) - " : " (ls-compile false) + " ? " (ls-compile true *multiple-value-p*) + " : " (ls-compile false *multiple-value-p*) ")")) (defvar *lambda-list-keywords* '(&optional &rest)) @@ -1568,15 +1568,22 @@ (let ((func (ls-compile func-form))) (js!selfcall "var args = [values];" *newline* - "function values(){" *newline* + "values = function(){" *newline* (indent "var result = [];" *newline* + "result['multiple-value'] = true;" *newline* "for (var i=0; i