Hello Rich, Lazy defn loading commit to 1.3.0-master introduced a bug or breakage.
Clojure 1.3.0-master-SNAPSHOT user=> (require 'swank.swank) user=> (swank.commands.basic/connection-info) ClassNotFoundException swank/commands/basic $eval695$connection_info__696 java.lang.Class.forName0 (Class.java:-2) user=> (.printStackTrace *e) java.lang.ClassNotFoundException: swank/commands/basic $eval695$connection_info__696 at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at clojure.lang.FnLoaderThunk.load(FnLoaderThunk.java:52) at clojure.lang.FnLoaderThunk.doInvoke(FnLoaderThunk.java:45) at clojure.lang.RestFn.invoke(RestFn.java:398) at user$eval1506.invoke(NO_SOURCE_FILE:2) at clojure.lang.Compiler.eval(Compiler.java:6301) at clojure.lang.Compiler.eval(Compiler.java:6268) at clojure.core$eval.invoke(core.clj:2680) at clojure.lang.FnLoaderThunk.invoke(FnLoaderThunk.java:31) at clojure.main$repl$read_eval_print__5558.invoke(main.clj:244) at clojure.main$repl$fn__5563.invoke(main.clj:265) at clojure.main$repl.doInvoke(main.clj:265) at clojure.lang.RestFn.invoke(RestFn.java:422) at clojure.lang.FnLoaderThunk.invoke(FnLoaderThunk.java:36) at clojure.main$repl_opt.invoke(main.clj:331) at clojure.lang.FnLoaderThunk.invoke(FnLoaderThunk.java:36) at clojure.main$main.doInvoke(main.clj:427) at clojure.lang.RestFn.invoke(RestFn.java:398) at clojure.lang.AFn.applyToHelper(AFn.java:159) at clojure.lang.RestFn.applyTo(RestFn.java:133) at clojure.lang.FnLoaderThunk.doInvoke(FnLoaderThunk.java:46) at clojure.lang.RestFn.invoke(RestFn.java:398) at clojure.lang.Var.invoke(Var.java:397) at clojure.lang.AFn.applyToHelper(AFn.java:159) at clojure.lang.Var.applyTo(Var.java:518) at clojure.main.main(main.java:37) nil user=> (var-get #'swank.commands.basic/connection-info) #<FnLoaderThunk clojure.lang.FnLoaderThunk@466c137c> user=> (source swank.commands.basic/connection-info) (defslimefn connection-info [] `(:pid ~(sys/get-pid) :style :spawn :lisp-implementation (:type "Clojure" :name "clojure" :version ~(clojure-version)) :package (:name ~(name (ns-name *ns*)) :prompt ~(name (ns-name *ns*))) :version ~(deref protocol-version))) nil user=> (source swank.commands/defslimefn) (defmacro defslimefn ([fname & body] `(alter-var-root #'slime-fn-map assoc (symbol "swank" ~(name fname)) (defn ~fname ~@body))) {:indent 'defun}) Same code running in 1.2.0 produced user=> (clojure-version) "1.2.0" user=> (require 'swank.swank) nil user=> (swank.commands.basic/connection-info) (:pid "789" :style :spawn :lisp-implementation (:type "Clojure" :name "clojure" :version "1.2.0") :package (:name "user" :prompt "user") :version "20100404") user=> (var-get #'swank.commands.basic/connection-info) #<basic$eval720$connection_info__721 swank.commands.basic $eval720$connection_info__721@7b7e7691> Sorry I was not able to come up a simple test case. Regards, Feng -- 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