Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

"statically" maintain *ns* to yield proper namespacing of ::keywords, fixes gh-72 #73

Merged
merged 2 commits into from Feb 14, 2013

Conversation

Projects
None yet
2 participants
Contributor

cemerick commented Feb 13, 2013

(Ostensibly fixes gh-72.)

*ns* is now tracked reasonably well (i.e. top-level ns and in-ns forms affect it properly), so current-namespace ::keywords end up being properly qualified.

One wrinkle I ran into is that, outside of 'user, syntax-quote ends up qualifying bare symbols within *ns*; this means that this:

`(when-let ~foo ...)

…is read as:

(your-namespace/when-let value-of-foo ...)

I got around this by referring vars in from clojure.core (being careful not to stomp on any that might already be interned). The relevant function is kibit.check/careful-refer.


This patch also works around *default-data-reader-fn* not being available in Clojure 1.4.

@jonase jonase added a commit that referenced this pull request Feb 14, 2013

@jonase jonase Merge pull request #73 from cemerick/master
"statically" maintain *ns* to yield proper namespacing of ::keywords, fixes gh-72
7b29c50

@jonase jonase merged commit 7b29c50 into jonase:master Feb 14, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment