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
> <j...@helpshift.com>", :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 <j...@helpshift.com>"}
>  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 <c...@cemerick.com> 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 clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with your 
>> first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> 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 clojure+unsubscr...@googlegroups.com.
>> 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 clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> 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 clojure+unsubscr...@googlegroups.com.
> 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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to