Fix symbol name dumping
authorDavid Vázquez <davazp@gmail.com>
Fri, 3 May 2013 08:35:47 +0000 (09:35 +0100)
committerDavid Vázquez <davazp@gmail.com>
Fri, 3 May 2013 08:35:47 +0000 (09:35 +0100)
src/compiler.lisp

index 75ef516..8a9fc36 100644 (file)
   #+common-lisp
   (let ((package (symbol-package symbol)))
     (if (eq package (find-package "KEYWORD"))
-        (code "{name: \"" (escape-string (symbol-name symbol))
-              "\", 'package': '" (package-name package) "'}")
-        (code "{name: \"" (escape-string (symbol-name symbol)) "\"}")))
+        (code "{name: " (dump-string (symbol-name symbol))
+              ", 'package': " (dump-string (package-name package)) "}")
+        (code "{name: " (dump-string (symbol-name symbol)) "}")))
   #+jscl
   (let ((package (symbol-package symbol)))
     (if (null package)
-        (code "{name: \"" (escape-string (symbol-name symbol)) "\"}")
+        (code "{name: " (dump-symbol (symbol-name symbol)) "}")
         (ls-compile `(intern ,(symbol-name symbol) ,(package-name package))))))
 
 (defun dump-cons (cons)
   (js!bool
    (js!selfcall
      "var x = " x ";" *newline*
-      "return typeof(x) == 'object' && 'length' in x && x.type == 'character';")))
+     "return typeof(x) == 'object' && 'length' in x && x.type == 'character';")))
 
 (define-builtin string-upcase (x)
   (code "make_lisp_string(" x ".join('').toUppercase())"))