I'm trying to debug why on emacs+cider+nrepl+shadow-cljs repl, evaluating a clojure expression whose result contains any tagged literal, somehow this prevents the result from being pretty-printed. (For example, evaluating {:a 1} pretty prints fine, but evaluating {:a #js {}} does not pretty-print. Can anyone help point me to where to start to look into this? I don't even know if this is an emacs, cider, nrepl, or shadow issue. Presumably pretty-printing is not happening in elisp, so it's either cider, nrepl, or shadow-cljs? I'm guessing somewhere there is code that does something very different based on whether the repl eval result contains a tagged literal, but I don't know how to find that code.
Update: pretty sure I tracked it down to a shadow-cljs issue. Will discuss in #shadow-cljs
I think it may be that clojure.pprint/pprint doesn’t pretty print unknown tagged stuff.
This was the issue for those who are curious: https://github.com/thheller/shadow-cljs/pull/1174
Ooh I didn't realise this was a shadow problem. Thank you!