clojure.edn/read fails when using a PushbackReader
jfacorro opened this issue · comments
Juan Facorro commented
Describe the bug
Calling clojure.edn/read
by providing an erlang.io.PushbackReader
fails to read.
To Reproduce
Use the following function to read a any file that contains edn:
(require '[clojure.erlang.io :as io])
(require '[clojure.edn :as edn])
(defn load-edn
[filename]
(with-open [f (io/file filename)
r (io/reader f)
pbr (erlang.io.PushbackReader. r)]
(clojure.edn/read pbr)))
Results in the following:
clje.user=> (load-edn "hello.edn")
:function_clause
clje.user=> (pst)
:function_clause
clj_edn/read_one (/Users/juan.facorro/dev/clojerl/clojerl/src/erl/clj_edn.erl:90)
clj_edn/ensure_read (/Users/juan.facorro/dev/clojerl/clojerl/src/erl/clj_edn.erl:87)
clj_edn/read (/Users/juan.facorro/dev/clojerl/clojerl/src/erl/clj_edn.erl:51)
clje.user/load-edn (:6)
clj_compiler/eval1 (/Users/juan.facorro/dev/clojerl/clojerl/src/erl/clj_compiler.erl:132)
clj_compiler/eval (/Users/juan.facorro/dev/clojerl/clojerl/src/erl/clj_compiler.erl:122)
clojure.core/eval (/Users/juan.facorro/dev/clojerl/clojerl/_build/default/lib/clojerl/src/clj/clojure/core.clje:2647)
clojure.main/-repl/1-anon__48/0-2- (/Users/juan.facorro/dev/clojerl/clojerl/_build/default/lib/clojerl/src/clj/clojure/main.clje:249)
clojure.main/-repl/1-loop_49/0-6- (/Users/juan.facorro/dev/clojerl/clojerl/_build/default/lib/clojerl/src/clj/clojure/main.clje:269)
clojure.main/repl (/Users/juan.facorro/dev/clojerl/clojerl/_build/default/lib/clojerl/src/clj/clojure/main.clje:267)
clojure.main/repl-opt (/Users/juan.facorro/dev/clojerl/clojerl/_build/default/lib/clojerl/src/clj/clojure/main.clje:333)
clojure.main/main (/Users/juan.facorro/dev/clojerl/clojerl/_build/default/lib/clojerl/src/clj/clojure/main.clje:407)
clojerl_cli/run_commands (/Users/juan.facorro/dev/clojerl/clojerl/src/erl/clojerl_cli.erl:102)
clojerl_cli/start (/Users/juan.facorro/dev/clojerl/clojerl/src/erl/clojerl_cli.erl:21)
init/start_em (NO_SOURCE_FILE:?)
init/do_boot (NO_SOURCE_FILE:?)
Expected behavior
Return the content of the file as Clojure data structures.
Actual behavior
Fails.
Context
clojerl
version (tag/sha):0.6.0-31-g8435ff7