lispy
lispy copied to clipboard
Eval in clojure file: No such namespace: p
Hello, I'm getting back to clojure after a while. I am using spacemacs and updated to the current stable cider. However, when I open up a clojure file and do special-lispy-eval
, I get this error:
[nREPL] Starting server via /home/mvilpas/bin/lein update-in :dependencies conj \[com.cemerick/pomegranate\ \"0.4.0\"\] -- update-in :dependencies conj \[org.tcrawley/dynapath\ \"0.2.5\"\] -- update-in :dependencies conj \[org.clojure/tools.nrepl\ \"0.2.13\"\ \:exclusions\ \[org.clojure/clojure\]\] -- update-in :plugins conj \[refactor-nrepl\ \"2.4.0\"\] -- update-in :plugins conj \[cider/cider-nrepl\ \"0.18.0\"\] -- repl :headless :host ::...
=> Starting CIDER...
[nREPL] server started on 40485
[nREPL] Establishing direct connection to localhost:40485 ...
[nREPL] Direct connection to localhost:40485 established
=> nil
CompilerException java.lang.RuntimeException: No such namespace: p, compiling:(/tmp/form-init2567082953579246522.clj:1:5)
I see there is some additional things for clojure in lispy that I'm not familiar with. If you have any idea on what could be done about this, that would be great.
Here are some of my used versions:
- lispy-20180909.1729
- Spacemacs v.0.200.11
- GNU Emacs 25.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.20.10) of 2017-05-02
My ~/.lein/profiles
{:user
{:plugins [[cider/cider-nrepl "0.18.0"]
[refactor-nrepl "2.4.0"]]
:dependencies []}}
edit: also I'm using Fedora Linux
Hmm, it looks like the error went away. I will keep trying for a while and report if it comes back.
Thanks.
Sorry to say but this has come back... It occurs when I open a file and try to lispy-eval something. Anything else I could provide?
Here's a stack trace I got:
Show: Project-Only All
Hide: Clojure Java REPL Tooling Duplicates (0 frames hidden)
2. Unhandled clojure.lang.Compiler$CompilerException
Error compiling /home/mvilpas/.emacs.d/elpa/lispy-20180909.1729/lispy-clojure.clj at (1:1)
Compiler.java: 7391 clojure.lang.Compiler/load
REPL: 1 finance-planner.core/eval16113
REPL: 1 finance-planner.core/eval16113
Compiler.java: 6927 clojure.lang.Compiler/eval
Compiler.java: 6890 clojure.lang.Compiler/eval
core.clj: 3105 clojure.core/eval
core.clj: 3101 clojure.core/eval
main.clj: 240 clojure.main/repl/read-eval-print/fn
main.clj: 240 clojure.main/repl/read-eval-print
main.clj: 258 clojure.main/repl/fn
main.clj: 258 clojure.main/repl
main.clj: 174 clojure.main/repl
RestFn.java: 137 clojure.lang.RestFn/applyTo
core.clj: 646 clojure.core/apply
core.clj: 641 clojure.core/apply
regrow.clj: 18 refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 646 clojure.core/apply
core.clj: 1881 clojure.core/with-bindings*
core.clj: 1881 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 55 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
AFn.java: 22 clojure.lang.AFn/run
ThreadPoolExecutor.java: 1149 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 624 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 748 java.lang.Thread/run
1. Caused by java.io.FileNotFoundException
Could not locate cemerick/pomegranate__init.class or cemerick/pomegranate.clj
on classpath.
RT.java: 456 clojure.lang.RT/load
RT.java: 419 clojure.lang.RT/load
core.clj: 5893 clojure.core/load/fn
core.clj: 5892 clojure.core/load
core.clj: 5876 clojure.core/load
RestFn.java: 408 clojure.lang.RestFn/invoke
core.clj: 5697 clojure.core/load-one
core.clj: 5692 clojure.core/load-one
core.clj: 5737 clojure.core/load-lib/fn
core.clj: 5736 clojure.core/load-lib
core.clj: 5717 clojure.core/load-lib
RestFn.java: 142 clojure.lang.RestFn/applyTo
core.clj: 648 clojure.core/apply
core.clj: 5774 clojure.core/load-libs
core.clj: 5758 clojure.core/load-libs
RestFn.java: 137 clojure.lang.RestFn/applyTo
core.clj: 650 clojure.core/apply
core.clj: 5860 clojure.core/use
core.clj: 5860 clojure.core/use
RestFn.java: 408 clojure.lang.RestFn/invoke
lispy-clojure.clj: 20 lispy-clojure/eval16117/loading--auto--
lispy-clojure.clj: 20 lispy-clojure/eval16117
lispy-clojure.clj: 20 lispy-clojure/eval16117
Compiler.java: 6927 clojure.lang.Compiler/eval
Compiler.java: 6916 clojure.lang.Compiler/eval
Compiler.java: 7379 clojure.lang.Compiler/load
REPL: 1 finance-planner.core/eval16113
REPL: 1 finance-planner.core/eval16113
Compiler.java: 6927 clojure.lang.Compiler/eval
Compiler.java: 6890 clojure.lang.Compiler/eval
core.clj: 3105 clojure.core/eval
core.clj: 3101 clojure.core/eval
main.clj: 240 clojure.main/repl/read-eval-print/fn
main.clj: 240 clojure.main/repl/read-eval-print
main.clj: 258 clojure.main/repl/fn
main.clj: 258 clojure.main/repl
main.clj: 174 clojure.main/repl
RestFn.java: 137 clojure.lang.RestFn/applyTo
core.clj: 646 clojure.core/apply
core.clj: 641 clojure.core/apply
regrow.clj: 18 refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 646 clojure.core/apply
core.clj: 1881 clojure.core/with-bindings*
core.clj: 1881 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 55 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
AFn.java: 22 clojure.lang.AFn/run
ThreadPoolExecutor.java: 1149 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 624 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 748 java.lang.Thread/run
I see refactor-nrepl mentioned there. Maybe there is some sort of incompatibility?
I can't reproduce the issue with the latest CIDER master
(clojure-emacs/cider@7008a33).
It looks like "com.cemerick/pomegranate" isn't on your path, although lispy does load it with:
(eval-after-load 'cider
'(progn
(cider-add-to-alist 'cider-jack-in-dependencies
"org.tcrawley/dynapath" "0.2.5")
(cider-add-to-alist 'cider-jack-in-dependencies
"com.cemerick/pomegranate" "0.4.0")))
Can you try to restart with this config:
(setq cider-default-repl-command "lein")
I came across this as well, cider-jack-in-dependencies
does not seem to work properly when cider-jack-in-default
is clojure-cli
.
I just added pomegranate to global deps.edn for now
@sooheon Could you please add a description of this global deps.edn modification? I could at least add a warning to lispy about it.
Clarification: if I start by e
valing a form and let lispy do the jack-in for me, pom gets added correctly. If I forget and jack in with C-c M-j, then nothing extra gets added so I need pom in ~/.clojure/deps.edn
like so:
{:dependencies {com.cemerick/pomegranate {:mvn/version "RELEASE"}
[...]}
This is not ideal, because you never know when global deps will mess with something, so it's probably better to put it in an alias and have cider use that alias by default.
@sooheon Thanks, I've made it better for your use case. You no longer need to modify ~/.clojure/deps.edn
. Please test.
Thanks, this resolves the issue afaict
Thanks, closing. If any issues pop up, please let me know.