Hi Baishampayan,
I got such errors when I first started working on the patch; they were caused
by the compiler using print-dup'd strings to create namespaces instead of
emitting bytecode (which the patched build includes). Is it possible that you
have both an org.clojure/clojure jar and the patched com.cemerick/clojure jar
on your classpath?
FWIW, such metadata happens to exist in some nREPL namespaces, and some of my
projects as well, so I presume that that's not the actual problem.
Just out of curiosity, do things work well if you use e.g. inferior-lisp or
ritz?
Thanks for testing!
- Chas
On Feb 1, 2013, at 11:10 PM, Baishampayan Ghose wrote:
> Just did some testing with our code-base and Clojure 1.5.0-RC4 (with
> and without Chas' read-eval patch).
>
> There is definitely something strange going on. Things worked just
> fine with 1.5.0-RC4 but with the read-eval patch `lein swank` is
> completely broken but more than that, our code is failing to compile
> with this weird error -
>
> eval-reader: (clojure.lang.PersistentArrayMap/create {:author "Joe Dev
> <[email protected]>", :doc "Some doc here."})
> RuntimeException EvalReader not allowed when *read-eval* is false.
> clojure.lang.Util.runtimeException (Util.java:219)
>
> Almost all our namespaces have documentation attached via metadata like this -
>
> (ns ^{:doc "Some doc here."
> :author "Joe Dev <[email protected]>"}
> com.helpshift.some.ns
> (:require [com.helpshift.other.ns :as chon])
> (:use clojure.test
> midje.sweet))
>
> FWIW, the file that will fail to compile is random and I couldn't
> reproduce this error on a fresh project with just a couple of files.
>
> It's quite clear that the eval-reader is getting used from inside
> Clojure and we need to test out the edge cases a bit more.
>
> This is clearly not a low-impact fix, but IMHO we should take the time
> and get it right before 1.5.0
>
> Regards,
> BG
>
>
> On Sat, Feb 2, 2013 at 4:01 AM, Chas Emerick <[email protected]> wrote:
>> I have added a patch to CLJ-1153 that appears to address the *read-eval*
>> problem:
>>
>> http://dev.clojure.org/jira/browse/CLJ-1153?focusedCommentId=30523#comment-30523
>>
>> code on github:
>> https://github.com/cemerick/clojure/commit/1f5c19c07443d2535ede4ff71d23b40c195d617f
>>
>> artifact on Clojars: [com.cemerick/clojure "1.5.0-SNAPSHOT"]
>>
>> The Leiningen dependency above is 1.5.0-RC4 + the patch on the ticket. Note
>> that you'll need to set your project's global :exclusions to
>> [org.clojure/clojure] in order for the com.cemerick/clojure artifact to
>> supersede it.
>>
>> It tests well for me, but needs to be exercised as much as possible. Some
>> have already done so (there's an ongoing discussion on the clojure-dev ML
>> with some initial test experiences:
>> http://groups.google.com/group/clojure-dev/browse_frm/thread/cc6f747919db6c94),
>> but I'm hoping that we can get as many eyes as possible on this — doing
>> both testing as well as code/patch examination — so as to ensure correctness
>> and maximize the chances of 1.5.0 final going out with this vulnerability
>> buttoned up.
>>
>> Thanks,
>>
>> - Chas
>>
>> --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to [email protected]
>> Note that posts from new members are moderated - please be patient with your
>> first post.
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>
>
>
> --
> Baishampayan Ghose
> b.ghose at gmail.com
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.