Affects Version/s: None
Fix Version/s: None
It looks like *cljs-data-readers* is not being bound to *data-readers* where it should be.
At a minimum, cljs.repl/load-stream does not. The practical effect of this instance is that e.g. (load-file "some/cljs/file.cljs") will fail if that file or any other contains a user-defined literal tag. Similar behaviour exists elsewhere, e.g. (load-namespace 'some.cljs.ns) will not load a namespace that contains user-defined tags (I think that one is due to *cljs-data-readers* not being bound in the analyzer).
This is related to
CLJS-479 insofar as it's another symptom of ClojureScript loading code in subtly different ways in multiple places.
I'm happy to do either of:
- submit issues+patches fixing issues as I encounter them, or
- attempt a more significant refactoring that sets up (hopefully) one and only one place where ClojureScript reads code (i.e. uses LispReader) so that behaviour can be consistent
I'm somewhat hesitant re: (2) insofar as the specific requirements of the compiler and analyzer and REPL may be divergent in ways that I'm not yet aware of, but it seems like it's worth a shot.