Closed clumsyjedi closed 10 years ago
I've only ever seen this issue when using redl w/ a repl that's not part of a leiningen project.
I'm not sure how the Vim python binding works, which is how fireplace is implemented. I'm not sure how to automate this though, sorry--@tpope probably knows, though!
Fireplace picks a REPL based on the full path of the current buffer. Since the :Repl
buffer seems to be unnamed, I think when it does work, it's because it's accidentally picking up the current working directory instead.
I think a proper solution would be for fireplace to also consult a buffer local variable as a starting point. Perhaps b:java_root
, since I'm already using that in a few other places.
Hi, I get exactly the same error, and I can connect with :Connect
and then entering the port number indicated in the REPL.
Let me know if I can do anything to investigate.
Once you've moved to the latest version, confirm with me that this works for you!
Yes it does!!! Thanks all.
With version 0.2.3 of redl and the latest commit of vim-redl I think (I couldn't find a version numbe), it doesn't work for me. On my laptop it's just the same as before: I must :Connect
and give a port number, and then I can :Repl
.
But sometimes (I don't manage to do it in a reproducible manner) it creates a bug that didn't exist in version 0.2.2: I do :Connect
(and give the port number) followed by :Repl
, then I can execute one command, and after that for any other command I get this error:
Error detected while processing function redl#repl#enter_hook..redl#repl#is_readable..fireplace#evalparse..<SNR>49_eval..fireplace#client..fireplace#platform:
line 32:
E605: Exception not caught: Fireplace: :Connect to a REPL or install classpath.vim
Error detected while processing function redl#repl#enter_hook:
line 29:
E171: Missing :endif
or sometimes I get that one, but when I re-try to run the same command in the same REPL, then I get the previous exception again :
Error detected while processing function redl#repl#enter_hook..redl#repl#eval..fireplace#evalparse..<SNR>49_eval..5..<SNR>49_conn_try:
line 5:
E605: Exception not caught: nREPL Connection Error: (4, 'Interrupted system call')
Error detected while processing function redl#repl#enter_hook:
line 32:
E171: Missing :endif
I checked in the redl#repl#enter_hook
functions and didn't find an obvious missing endif; but I'm not very familiar with VimScript.
After that if I try to :Connect
again it doesn't say anything, but when I run a command I still get the same error.
If I close the vim-redl buffer, and then :Connect
and :Repl
, then I can run one more command, and the same thing happens again.
PS: I re-did these tests with only one REPL open, and a lein profile which loads and injects spyscope and redl.
PS: when I revert to redl 0.2.2 I don't get these exceptions anymore, it's just like before.
Can you try 0.2.4?
On Sat, Aug 2, 2014 at 9:39 AM, Pierre Masci notifications@github.com wrote:
PS: when I revert to redl 0.2.2 I don't get these exceptions anymore, it's just like before.
— Reply to this email directly or view it on GitHub https://github.com/dgrnbrg/vim-redl/issues/25#issuecomment-50963030.
It works :) Lovely!
Hi, this looks like a cool project.
I've been using fireplace for a while, and all my clojure projects have nrepl servers started in the background. When I issue fireplace commands such as :Eval I don't need to issue a :Connect beforehand, fireplace connects to the repl running on the port found in project_root/.nrepl-port.
Trying to issue a :Repl command from one of these projects brings up the message:
Error detected while processing function redl#repl#create..fireplace#evalparse..21_eval..firepla
ce#client..fireplace#platform:
line 32:
E605: Exception not caught: Fireplace: :Connect to a REPL or install classpath.vim
If I explicitly issue a :Connect and give it a valid repl conn string then :Repl works from that point on.
Is it possible for me to automate this connection somehow? vim-fireplace, vim-redl, vim-clojure-static and vim-classpath are up to date.