I put the canonical clojure artefact in a global exclusions vector in my project.clj. The classpath doesn't have any duplicate clojure jar in it. I was testing it out with `lein repl`, since swank-clojure is broken in different ways.
Regards, BG On Sat, Feb 2, 2013 at 7:43 PM, Chas Emerick <c...@cemerick.com> wrote: > 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. > > -- 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.