           \return    (.append sb "\\r")
           \tab       (.append sb "\\t")
           ;; Unicode characters that Javascript forbids raw in strings
-          :separators (if *escape-separators*
-                        (.append sb (format "\\u%04x" cp))
-                        (.appendCodePoint sb cp))
+          :js-separators (if *escape-js-separators*
+                           (.append sb (format "\\u%04x" cp))
+                           (.appendCodePoint sb cp))
           ;; Any other character is Unicode
           (if *escape-unicode*
             (.append sb (format "\\u%04x" cp)) ; Hexadecimal-escaped

;;; JSON WRITER

(def ^{:dynamic true :private true} *escape-unicode*)
(def ^{:dynamic true :private true} *escape-separators*)
(def ^{:dynamic true :private true} *escape-slash*)

(defprotocol JSONWriter


       If true (default) non-ASCII characters are escaped as \\uXXXX

    :escape-js-separators boolean

       If true (default) the Unicode characters U+2028 and U+2029 will
       be escaped as \\u2028 and \\u2029 even if :escape-unicode is
