nrebl.middleware
nrebl.middleware copied to clipboard
Evals blow up if REBL is not running
I don't want to always have a REBL launched in order to use my nrepl, but it looks like if there isn't a REBL any eval will blow up with:
#error {
:cause nil
:via
[{:type clojure.lang.ExceptionInfo
:message nil
:data #:clojure.error{:phase :print-eval-result}
:at [clojure.main$repl$read_eval_print__9068 invoke "main.clj" 419]}
{:type java.lang.NullPointerException
:message nil
:at [java.io.StringReader <init> "StringReader.java" 50]}]
:trace
[[java.io.StringReader <init> "StringReader.java" 50]
[clojure.lang.RT readString "RT.java" 1873]
[clojure.lang.RT readString "RT.java" 1869]
[clojure.core$read_string invokeStatic "core.clj" 3815]
[clojure.core$read_string invoke "core.clj" 3805]
[nrebl.middleware$send_to_rebl_BANG_ invokeStatic "middleware.clj" 29]
[nrebl.middleware$send_to_rebl_BANG_ invoke "middleware.clj" 27]
[nrebl.middleware$wrap_rebl_sender$reify__877 send "middleware.clj" 43]
[nrepl.middleware.caught$caught_transport$reify__22510 send "caught.clj" 58]
[nrepl.middleware.load_file$wrap_load_file$fn$reify__22599 send "load_file.clj" 95]
[nrepl.middleware.interruptible_eval$evaluate$fn__22560 invoke "interruptible_eval.clj" 114]
[clojure.main$repl$read_eval_print__9068 invoke "main.clj" 419]
[clojure.main$repl$fn__9077 invoke "main.clj" 435]
[clojure.main$repl invokeStatic "main.clj" 435]
[clojure.main$repl doInvoke "main.clj" 345]
[clojure.lang.RestFn invoke "RestFn.java" 1523]
[nrepl.middleware.interruptible_eval$evaluate invokeStatic "interruptible_eval.clj" 79]
[nrepl.middleware.interruptible_eval$evaluate invoke "interruptible_eval.clj" 55]
[nrepl.middleware.interruptible_eval$interruptible_eval$fn__22569$fn__22573 invoke "interruptible_eval.clj" 142]
[clojure.lang.AFn run "AFn.java" 22]
[nrepl.middleware.session$session_exec$main_loop__22650$fn__22654 invoke "session.clj" 171]
[nrepl.middleware.session$session_exec$main_loop__22650 invoke "session.clj" 170]
[clojure.lang.AFn run "AFn.java" 22]
This was from attempting to eval any value like 1
or "foo"
.