Here's an example:
A test directory containing two libs: % ls test a.clj b.clj test.a requires test.b: % cat test/a.clj (ns test.a (:require test.b))test.b has an error, its "ns" form on line 6 should not contain the quote:
% cat test/b.clj ; some ; very ; helpful ; comments (ns 'test.b) % Start Clojure from a freshly built jar with sources from svn: % java -cp clojure.jar clojure.main Clojure user=> (require 'test.a)java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to clojure.lang.Symbol (b.clj:0)
user=> Clojure reports the error, but points to file b.clj, line 0. [Patch Clojure with the enclosed patch and rebuild clojure.jar.] % java -cp clojure.jar clojure.main Clojure user=> (require 'test.a)java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to clojure.lang.Symbol (b.clj:6)
user=> The line number is reported correctly.I will attach the patch to this message. If I see that that fails to make it through the google group processing, I'll upload it to the group's file area as compiler-LINE.patch.
--Steve
compiler-LINE.patch
Description: Binary data
smime.p7s
Description: S/MIME cryptographic signature