Migrate CHARACTERP
authorDavid Vázquez <davazp@gmail.com>
Thu, 27 Jun 2013 00:49:33 +0000 (02:49 +0200)
committerDavid Vázquez <davazp@gmail.com>
Thu, 27 Jun 2013 00:55:25 +0000 (02:55 +0200)
src/compiler.lisp

index 98d90c1..a903fbd 100644 (file)
 
 (define-builtin characterp (x)
   (js!bool
-   (js!selfcall
-     "var x = " x ";"
-     "return (typeof(" x ") == \"string\") && (x.length == 1 || x.length == 2);")))
+   (js!selfcall*
+     `(var (x ,x))
+     `(return (and (== (typeof x) "string")
+                   (or (== (get x "length") 1)
+                       (== (get x "length") 2)))))))
 
 (define-builtin char-upcase (x)
   `(call |safe_char_upcase| ,x))