I have been using ClojureBox with great success to learn both Clojure and emacs.
However, ClojureBox comes pre-installed with Clojure 1.2.0 and is no longer being maintained. I have found that upgrading to Clojure 1.3.0 is not as simple as dropping the 1.3.0 jar into lib/
I know about lein swank followed by M-x slime-connect – I’ve just gotten use to the convenience of ClojureBox having an instantly available REPL and want to see if I can get it working.
Some resources I have found for building something like ClojureBox on other platforms (which I would have to translate to Windows):
http://charsequence.blogspot.com/2010/07/setup-emacs-for-development-with.html
http://riddell.us/ClojureSwankLeiningenWithEmacsOnLinux.html
Incidentally, the error I get looks like this:
Clojure 1.3.0
user=> Warning: *log-events* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *log-events* or change the name.
Warning: *log-output* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *log-output* or change the name.
Warning: *namespace-re* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *namespace-re* or change the name.
Warning: *current-connection* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *current-connection* or change the name.
Warning: *default-encoding* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *default-encoding* or change the name.
Warning: *pre-reply-hook* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *pre-reply-hook* or change the name.
Warning: *pre-reply-hook* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *pre-reply-hook* or change the name.
Warning: *thread-map-next-id* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *thread-map-next-id* or change the name.
Warning: *thread-map-next-id* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *thread-map-next-id* or change the name.
Warning: *thread-map* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *thread-map* or change the name.
Warning: *thread-map* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *thread-map* or change the name.
Warning: *mailboxes* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *mailboxes* or change the name.
Warning: *mailboxes* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *mailboxes* or change the name.
Warning: *protocol-version* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *protocol-version* or change the name.
Warning: *protocol-version* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *protocol-version* or change the name.
Warning: *current-package* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *current-package* or change the name.
Warning: *pending-continuations* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *pending-continuations* or change the name.
Warning: *sldb-stepping-p* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *sldb-stepping-p* or change the name.
Warning: *sldb-initial-frames* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *sldb-initial-frames* or change the name.
Warning: *sldb-level* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *sldb-level* or change the name.
Warning: *sldb-restarts* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *sldb-restarts* or change the name.
Warning: *debug-swank-clojure* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *debug-swank-clojure* or change the name.
Warning: *active-threads* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *active-threads* or change the name.
Warning: *active-threads* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *active-threads* or change the name.
Warning: *debug-quit-exception* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *debug-quit-exception* or change the name.
Warning: *debug-quit-exception* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *debug-quit-exception* or change the name.
Warning: *debug-continue-exception* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *debug-continue-exception* or change the name.
Warning: *debug-continue-exception* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *debug-continue-exception* or change the name.
Warning: *debug-abort-exception* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *debug-abort-exception* or change the name.
Warning: *debug-abort-exception* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *debug-abort-exception* or change the name.
Warning: *current-exception* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *current-exception* or change the name.
Warning: *current-env* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *current-env* or change the name.
Warning: *connections* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *connections* or change the name.
Warning: *connections* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *connections* or change the name.
Warning: *compiler-exception-location-re* not declared dynamic and thus is not dynamically rebindable, but its name suggests otherwise. Please either indicate ^:dynamic *compiler-exception-location-re* or change the name.
CompilerException java.lang.RuntimeException: Unable to resolve symbol: print-doc in this context, compiling:(swank/commands/basic.clj:180)
user=> user=> CompilerException java.lang.RuntimeException: No such var: swank.swank/ignore-protocol-version, compiling:(NO_SOURCE_PATH:3)
user=> user=> nil
CompilerException java.lang.RuntimeException: No such var: swank.swank/start-server, compiling:(NO_SOURCE_PATH:5)
It really is worth taking this as an opportunity to switch to leiningen.
As you work on more, and more fun, Clojure projects you will very quickly
encounter the situation where one project requires 1.2.1 and another requires
1.3.0. Both Leiningen and Maven handle this situation very easily and solving it
in clojure box is as you posted above …
You will have more fun switching than not, or i will refund you money on this question 😉