tpope/vim-foreplay — pull request #32 by raymond-w-ko (2013-01-09 04:15:39+00:00)
Title: Implement ability to have user interrupt :Eval when using if_pyth by using select() instead of blocking sockets

Mainly like the title says.

Some possible questions / design decisions:
* Assumes that you will connect to your nREPL server in 8 seconds. Is this okay?
* This should seem fine, and shouldn't be a program even to lunar bases. Won't work for Mars :P
* This is uninterruptible.
* Sending of payload is uninterruptible.
* If someone wants to :Eval a 10 MB .clj file over the network, I say we let them.
* Will s.sendall() ever cause the server to block or go into an infinite loop because the server starts evaluating the code?
* Warning / Documentation about Escape to "safely" interrupt?
* Ctrl-C also "quietly" interrupts, but I get a feeling it is a direct return from VimScript, possible leaving things in an inconsistent state.