Closed Frozenlock closed 4 years ago
I think I reproduced this same issue on Linux so it may not be Windows specific. A mismatch between client and server nrepl versions may be at fault
;; CIDER 0.24.0 (India), nREPL 0.2.13
;; Clojure 1.10.1, Java 11.0.7
with the following warning:
WARNING: CIDER requires nREPL 0.6.0 (or newer) to work properly
More information.WARNING: CIDER 0.24.0 requires cider-nrepl 0.24.0, but you're currently using cider-nrepl 0.17.0. The version mismatch might break some functionality!
More information.
I was able to workaround the issue by adding the following fix:
modified cider-connection.el
@@ -467,7 +467,7 @@ REPL defaults to the current REPL."
cp))))
(or (seq-find (lambda (path) (string-prefix-p path file))
classpath)
- (seq-find (lambda (path) (string-prefix-p path file))
+ (seq-find (lambda (path) (and path (string-prefix-p path file)))
classpath-roots))))))
I presume this is expected given the ancient nrepl running on the server side (not much can be done about that in my case). Maybe, making the client side more defensive is a reasonable fix.
On second examination, the fix actually belongs in the cache miss path a few lines above.
I recently updated to CIDER 0.26.1 and cider-nrepl 0.25.3 and I no longer encounter this issue.
Expected behavior
Cider works as it would when running the server a linux machine.
Actual behavior
Commands are sent but don't print anything back. An error is thrown.
Steps to reproduce the problem
Launch a server on a windows machine.
Then, from Emacs on your linux machine: M-x cider-connect ...
Error:
Environment & Version information
CIDER version information
Lein/Boot version
Leiningen 2.9.1 on Java 11.0.6 OpenJDK 64-bit Server VM
Emacs version
26.3
Operating system
Ubuntu 18.04.4 LTS Windows Server 2012 R2 Standard