diff --git a/bin/cljsc.clj b/bin/cljsc.clj index 3ae8a78b0d..41f817fcf0 100644 --- a/bin/cljsc.clj +++ b/bin/cljsc.clj @@ -6,14 +6,15 @@ ; the terms of this license. ; You must not remove this notice, or any other, from this software. -(require '[cljs.closure :as closure]) +(require '[cljs.closure :as closure] + '[clojure.edn :as edn]) (defn transform-cl-args [args] (let [source (first args) opts-string (apply str (interpose " " (rest args))) options (when (> (count opts-string) 1) - (try (read-string opts-string) + (try (edn/read-string opts-string) (catch Exception e (binding [*out* *err*] (println "Failed to parse command line args:" e)))))] diff --git a/src/main/clojure/cljs/closure.clj b/src/main/clojure/cljs/closure.clj index 55e7181f0b..459a9a7cba 100644 --- a/src/main/clojure/cljs/closure.clj +++ b/src/main/clojure/cljs/closure.clj @@ -17,6 +17,7 @@ [cljs.env :as env] [cljs.foreign.node :refer [package-json-entries node-file-seq->libs-spec*]] [cljs.js-deps :as deps] + [clojure.edn :as edn] [clojure.java.io :as io] [clojure.java.shell :as sh] [clojure.reflect] @@ -2231,7 +2232,7 @@ ([] (get-upstream-deps* (. (Thread/currentThread) (getContextClassLoader)))) ([classloader] - (let [upstream-deps (map #(read-string (slurp %)) + (let [upstream-deps (map #(edn/read-string (slurp %)) (enumeration-seq (. classloader (getResources "deps.cljs"))))] (apply merge-with (fn [a b] diff --git a/src/main/clojure/cljs/repl/browser.clj b/src/main/clojure/cljs/repl/browser.clj index 9b333127e4..39e7f8e296 100644 --- a/src/main/clojure/cljs/repl/browser.clj +++ b/src/main/clojure/cljs/repl/browser.clj @@ -299,7 +299,7 @@ (constrain-order order (fn [] (binding [*out* (or (and repl (.get outs repl)) *out*)] - (print (read-string content)) + (print (edn/read-string content)) (.flush *out*)))) (server/send-and-close conn 200 "ignore__")) @@ -322,7 +322,7 @@ (fn [val] (deliver return-value val))) (let [ret @return-value] (try - (read-string ret) + (edn/read-string ret) (catch Exception e {:status :error :value (str "Could not read return value: " ret)}))))) diff --git a/src/main/clojure/cljs/repl/reflect.clj b/src/main/clojure/cljs/repl/reflect.clj index 48302db567..5f591306d0 100644 --- a/src/main/clojure/cljs/repl/reflect.clj +++ b/src/main/clojure/cljs/repl/reflect.clj @@ -11,6 +11,7 @@ (:require [cljs.repl.server :as server] [cljs.analyzer :as analyzer] [cljs.compiler :as compiler] + [clojure.edn :as edn] [clojure.string :as str] [clojure.pprint :as pprint])) @@ -48,7 +49,7 @@ (defn- url-decode [encoded & [encoding]] (java.net.URLDecoder/decode encoded (or encoding "UTF-8"))) -(def read-url-string (comp read-string url-decode)) +(def read-url-string (comp edn/read-string url-decode)) (defn parse-param "Parses the query parameter of a path of the form \"/reflect?var=foo\" diff --git a/src/main/clojure/cljs/repl/server.clj b/src/main/clojure/cljs/repl/server.clj index 18aacfd561..9e697b38c5 100644 --- a/src/main/clojure/cljs/repl/server.clj +++ b/src/main/clojure/cljs/repl/server.clj @@ -8,7 +8,8 @@ (ns cljs.repl.server (:refer-clojure :exclude [loaded-libs]) - (:require [clojure.string :as str]) + (:require [clojure.string :as str] + [clojure.edn :as edn]) (:import java.io.BufferedReader java.io.InputStreamReader java.io.ByteArrayOutputStream @@ -191,7 +192,7 @@ handler)) handlers)] (if (= :post (:method request)) - (handler (read-string (:content request)) conn opts ) + (handler (edn/read-string (:content request)) conn opts ) (handler request conn opts)) (send-404 conn (:path request)))) (catch Throwable t