(in-package "PARENSCRIPT")
-(defvar *js-target-version* 1.3)
+(defparameter *js-target-version* 1.3)
(defmacro ps (&body body)
"Given Parenscript forms (an implicit progn), compiles those forms
"
(let* ((var (cond ((symbolp key-spec) key-spec)
((and (listp key-spec) (symbolp (first key-spec))) (first key-spec))
- ((and (listp key-spec) (listp (first key-spec))) (second key-spec))))
+ ((and (listp key-spec) (listp (first key-spec))) (second (first key-spec)))))
(keyword-name (if (and (listp key-spec) (listp (first key-spec)))
(first (first key-spec))
(intern (string var) :keyword)))
return baz * bar;
}")
+(test-ps-js defun-keyword4
+ (defun hello-world (&key ((:my-name-key my-name) 1))
+ my-name)
+ "function helloWorld() {
+ var myName;
+ var _js3 = arguments.length;
+ for (var n1 = 0; n1 < _js3; n1 += 2) {
+ switch (arguments[n1]) {
+ case 'my-name-key':
+ {
+ myName = arguments[n1 + 1];
+ };
+ };
+ };
+ if (myName === undefined) {
+ myName = 1;
+ };
+ myName;
+}")
+
(test-ps-js keyword-funcall1
(func :baz 1)
"func('baz', 1)")