Reported by m...@kotka.de, Jan 07, 2009
What (small set of) steps will reproduce the problem?
1. Create a file src/foo.clj
cat >src/foo.clj <<EOF
(ns foo (:load "bar"))
EOF
2. Create a file src/bar.clj
cat >src/bar.clj <<EOF
(clojure.core/in-ns 'foo)
(def x 8)
EOF
3. Start Clojure Repl: java -cp src:classes clojure.main -r
4. Compile the namespace.
user=> (compile 'foo)
foo
5. Require the namespace
user=> (require :reload-all :verbose 'foo)
(clojure.core/load "/foo")
(clojure.core/load "/bar")
What is the expected output? What do you see instead?
6. Re-Require the namespace
user=> (require :reload-all :verbose 'foo)
(clojure.core/load "/foo")
Only the "master" file is loaded, but not the bar file.
Expected would have been to also load the bar file.
Changes to bar.clj are not reflected, and depending
on the setting (eg. using multimethods in foo from
a different namespace) code may be corrupted.
What version are you using?
SVN rev. 1195