Migrate SYMBOLP, MAKE-SYMBOL and SYMBOL-NAME.
[jscl.git] / src / compiler-codegen.lisp
index 674ace6..61aeac2 100644 (file)
@@ -78,7 +78,7 @@
 
 (defun valid-js-identifier (string-designator)
   (let ((string (typecase string-designator
-                  (symbol (string-downcase (symbol-name string-designator)))
+                  (symbol (symbol-name string-designator))
                   (string string-designator)
                   (t
                    (return-from valid-js-identifier (values nil nil))))))
                  (js-expr condition)
                  (js-format ")")
                  (js-stmt `(progn ,@body))))
+           (try
+            (destructuring-bind (&rest body) (cdr form)
+              (js-format "try")
+              (js-stmt `(group ,@body))))
+           (catch
+               (destructuring-bind ((var) &rest body) (cdr form)
+                 (js-format "catch (")
+                 (js-identifier var)
+                 (js-format ")")
+                 (js-stmt `(group ,@body))))
+           (finally
+            (destructuring-bind (&rest body) (cdr form)
+              (js-format "finally")
+              (js-stmt `(group ,@body))))
            (throw
                (destructuring-bind (object) (cdr form)
                  (js-format "throw ")