> This is under clojure 1.2.0, 1.2.1, 1.3.0, though the error messages differ.
> 
> Consider a trivial project that `uses` midje:
> 
>    (ns midje-aot.core
>      (:use midje.sweet))
> 
> If it's aot-compiled, everything appears to go well:
> 
>    1762 $ lein compile
>    Copying 6 files to /Users/marick/src/midje-aot/lib
>    Copying 1 file to /Users/marick/src/midje-aot/lib/dev
>    Compiling midje-aot.core
>    Compilation succeeded.
> 
> But certain of the namespaces can't be loaded:
> 
> 1766 $ lein repl
> REPL started; server listening on localhost port 40437
> user=> (require 'midje.semi-sweet)
> NullPointerException   clojure.lang.Compiler.lookupVar (Compiler.java:6780)
> 
> What could that exception mean? What's a starting point for debugging?

The full stack trace:

        clojure.lang.Compiler.lookupVar (Compiler.java:6780)
        clojure.lang.Compiler.isMacro (Compiler.java:6260)
        clojure.lang.Compiler.macroexpand1 (Compiler.java:6315)
        clojure.lang.Compiler.macroexpand (Compiler.java:6381)
        clojure.lang.Compiler.eval (Compiler.java:6449)
        clojure.lang.Compiler.eval (Compiler.java:6454)
        clojure.lang.Compiler.eval (Compiler.java:6431)
        clojure.core/eval (core.clj:2795)
        midje.util.report__init.load (:4)
        midje.util.report__init.<clinit> (:-1)
        java.lang.Class.forName0 (Class.java:-2)
        java.lang.Class.forName (Class.java:247)

Line 4 of midje.util.report is unusual in several ways:  it precedes the ns 
call, adds a second ns call, does an eval, and uses def forms not at the top 
level:

(when (= (class clojure.test/report) clojure.lang.MultiFn)
  (eval
   '(do (require 'clojure.test)
        (ns clojure.test)
        (defonce old-report clojure.test/report))))

Not sure where the problem is yet, and I have no time to look further tonight, 
but perhaps this will help somebody track the root cause.

Stu

Stuart Halloway
Clojure/core
http://clojure.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

Reply via email to