Details
-
Type:
Defect
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
Description
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.
Attachments
Activity
| Field | Original Value | New Value |
|---|---|---|
| Attachment | 0001-CLJS-480-bind-data-readers-in-parse-ns.patch [ 11995 ] |
| Attachment | 0002-Bring-back-multiple-test-compilations-and-overhaul-o.patch [ 11996 ] |