Create a file "cljs-repl" that looks like the following:
#!/bin/sh CLOJURESCRIPT_HOME="/your/path/to/clojurescript" CLJSC_CP='' for next in lib/: lib/*: src/clj: src/cljs: test/cljs; do CLJSC_CP=$CLJSC_CP$CLOJURESCRIPT_HOME'/'$next done java -server -cp $CLJSC_CP clojure.main -e \ "(require '[cljs.repl :as repl]) (require '[cljs.repl.rhino :as rhino]) (def env (rhino/repl-env)) (repl/repl env)"
Put that thing in your PATH. Then, in emacs you can do
M-x set-variable inferior-lisp-program cljs-repl
Then you can do C-c C-z from a clojurescript buffer. If you're going to do this often then you can write a function that does this automatically (in your .emacs):
(defun cljs-repl () (interactive) (setq inferior-lisp-program "cljs-repl") (run-lisp))
(hobbled together from https://groups.google.com/forum/?fromgroups=#!topic/clojure/_JWvqc3fENQ)