Commit graph

2198 commits

Author SHA1 Message Date
Nathaniel Nicandro
cd807bcc42 Define a variable before it is used 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
32376a22b5 Remove jupyter--eval-insert-execute-result 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
aa3c32792e Wrap jupyter-mlet* calls with calls to jupyter-run-with-client 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
8255cc2f17 Implement the state monad more accurately 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
154ecb48df Add jupyter-connection-file-to-session and use it in process kernels 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
c3f53da945 jupyter-interrupt: Interrupt a process only if it's live 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
9152bcbcaa jupyter-tunnel-connection: Use jupyter-read-connection 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
d25d9a48dd jupyter-eval-result-callbacks: Add missing region variable 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
48eb141ea0 Add missing comma in backquote expression 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
900bb9dcc2 Reduce doc string to less than 80 characters long 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
b678e47666 Fix reference to free variable 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
ff4b2683c3 Add missing argument 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
4cad7c18be Remove obsolete documentation 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
a1f4d4d013 Fix failing tests 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
aadc3ebc88 Fix port tunneling when connecting to remote kernels 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
969cb1ebd7 Add a way to debug the message stream from a kernel
Previously it was hard to step through the code whenever messages were
coming in live from a kernel due to the asynchronous nature of
handling process output in Emacs.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
801a2d9da3 Work around a bug when using jupyter-with-client in jupyter-kernel-info
There would be a `max-lisp-eval-depth` error issued when attempting to
let bind `jupyter-current-client` for some reason.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
3b94b2b4dc Fix jupyter-mlet* binding 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
3492d91c04 Add jupyter-with-client-handlers 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
d4c9e24465 Remove jupyter-then 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
71a25c3dde Add monadic API tests 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
f859568eaf jupyter-repl-completing-read-repl-buffer: Modify return value
Return nil in the case that there are no REPL buffers available,
previously an error was raised.  Allows for a simplification at one
call site.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
5ca326ffd4 Signal an unbound-slot error when a client isn't connected in some functions
Previously these functions would do nothing when a client isn't
connected, but it would be useful to raise an error for debugging
purposes.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
1daf4463c1 Shutdown kernel when killing REPL buffer
This brings back the previous behavior of shutting down a kernel when
killing its REPL buffer.  Just disconnecting a client leaves around
open kernel connections, e.g. a websocket in the case of a
`jupyter-server-kernel`, that do not get cleaned up anywhere.
Shutting down the kernel when killing the REPL buffer is a stop-gap
solution until there is a more universal way of cleaning up kernel
connections when clients are no longer using them.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
8f66fe872d jupyter-repl-kill-buffer-query-function: Update documentation 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
99c981c1cc Fix unbound variable error 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
a1caa15244 Hot load correct jupyter-kernel implementation in the default one
That is, ensure the `jupyter-kernel` implementation that can handle
the keywords provided in a call to the default implementation has its
definition loaded so that another dispatch to `jupyter-kernel` will
use it.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
24c46ac7c0 Re-add call to deactivate interaction buffers when killing REPL buffer 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
212d41b0eb Update README section 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
b7ca2d47fa jupyter-return-delayed-thunk: Use thunk-delay
This makes it so that when a delayed value is bound, via
`jupyter-mlet*`, it always results in the same value as was computed
the first time it was bound.  Previously the computation associated
with the delayed value would occur each time it was bound, resulting
in a newly computed value each time.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
86beb065db jupyter-kernel: Move conn-info key handling to "process" :extra method 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
5a9a068734 jupyter-repl-execute-cell: Avoid setting client execution-count 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
2381587ff8 jupyter-repl-sync-execution-state: Don't set client execution-count
Setting the execution-count already happens in
`jupyter-handle-message`, called in one of the subscribers of a
request's message publisher.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
d061c6eb89 Rename jupyter-reply-message -> jupyter-reply 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
ae9b0c0c84 Use jupyter-result in one place 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
dfcc400939 Fix outdated IOLoop test 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
423bdd76d8 Add jupyter-result 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
14bb4238ca Add zmq tag to ioloop tests 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
ba79115fc4 jupyter-run-repl: Abstract out server determination code 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
a60699c3fa org: Only allow remote SSH sessions when ZMQ is being used 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
a530037553 Remove unnecessary cl-defgeneric 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
c74da6bd94 Remove stale documentation 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
a69242eda9 Add TODO 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
6418de7ef5 Add the jupyter-use-zmq custom variable 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
6fe02d9e91 jupyter-ioloop: Subclass jupyter-finalized-object
This is needed since `jupyter-add-finalizer` is used in
`initialize-instance`.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
9c9327a17d jupyter-zmq-io: Convert channel to keyword before sending to ioloop 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
abf28f6edc jupyter-zmq-io: Launch kernel before attempting to initialize its I/O 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
e93cb599d2 Fix undefined function 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
7ce478b5af Cask: Depend on ZMQ during development 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
a852074c30 Fix unbound slot reference 2023-02-13 20:30:19 -06:00