Avoid 'var i;' if the function does not use keyword arguments
[jscl.git] / ecmalisp.lisp
index 76ab4a6..149a777 100644 (file)
        (keyword-arguments
         (lambda-list-keyword-arguments-canonical lambda-list)))
     (code
-     "var i;" *newline*
      ;; Declare variables
      (mapconcat (lambda (arg)
                  (let ((var (second (car arg))))
                      (ls-compile (cadr keyarg))
                      ";" *newline*)
                     "}" *newline*)))
-       (mapconcat #'parse-keyword keyword-arguments))
+       (when keyword-arguments
+         (code "var i;" *newline*
+               (mapconcat #'parse-keyword keyword-arguments))))
      ;; Check for unknown keywords
      (when keyword-arguments
        (code "for (i=" (+ 1 n-required-arguments n-optional-arguments)