Closed jurov closed 6 years ago
Confirmed - calling (nvim::listen-once) does the processing and unsticks nvim. Perhaps it should be documented that event loop is not ran by default.
Yeah, defining synchronous stuff from the REPL is really not nice, but I'm not really sure how to improve the behavior without resorting to threads (which I never really wanted to do since like a billion things could potentially break).
You are completely correct with your hypothesis. I tried documenting (listen-once)
in the readme but I completely understand how the behavior could still be confusing after reading that paragraph. I'll try improving that a bit.
Overall, it's hard to integrate cl-neovim into application that does other asynchronous stuff, since the event loop is managed by C library, and that causes problems with threads too (I tried). But removing libuv dependency is completely out of scope of this project, I guess this can be closed.
Steps to reproduce: In Lisp REPL:
Now any buffer switching will completely hang neovim. It waits forever for synchronous rpc call to return.
Perhaps there's no event loop on lisp side and it is necessary to start it, how?