Commit graph

469 commits

Author SHA1 Message Date
Nathaniel Nicandro
56ada9392b Remove unused slot 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
3db7446f3a Don't disconnect client after restart 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
d32f293f86 Fix void variable 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
f92e14f62b Add jupyter-restart-kernel 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
66a72ad24c Resurrect jupyter-finalized-object 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
dcdda2bf92 Remove unused function 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
c1bff794d0 Add jupyter-reply-message 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
0b32635a3a Remove some unused functions 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
3c2cc77348 Remove the callbacks slot of a jupyter-request
Callbacks are added to a request using `jupyter-message-subscribed`.
2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
fdf6407616 Remove a use of jupyter-request-last-message 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
bb12d37e05 Fix input_request handling 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
877070ea89 Remove a use of jupyter-request-callbacks 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
8acb7bc487 Simplify jupyter-wait-until-idle 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
22d2a3f327 Remove the jupyter-send method...
- Add a `message-publisher` slot to `jupyter-request`, set when
  sending a request.

- `*-request` functions now return a delayed request value instead of
  a request. Update call sites.

- Add the functions `jupyter-messages`, `jupyter-idle`,
`jupyter-message-subscribed` and `jupyter-client-subscribed`.

- Move client subscription to a request's messages to
  `jupyter-client-subscribed`.

- Request callbacks are now added via `jupyter-message-subscribed`.

- Reduce usage of callbacks in favor of searching `jupyter-messages`
  where appropriate.

- Update tests
2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
f957696f26 Set jupyter-current-io in jupyter-with-client 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
6842b84e2e Verify jupyter-inhibit-handlers outside of jupyter-send 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
039decdc97 Remove calls of jupyter-wait-until-received 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
d89e5f104d jupyter-eval-add-callbacks -> jupyter-eval-callbacks 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
ac35f52e02 Add :callbacks and :handlers keys to request calls 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
bbb32457a9 Remove requests slot of a client 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
b46cf42aa3 Remove jupyter-last-sent-request 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
f48900213f Remove jupyter-drop-request and related
Transitioning away from relying on a client requests table.
2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
422c59ee48 Remove the pending request interface 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
e1221d55a1 Add :parent-request member when publishing request messages 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
a76d772716 (send ... (request ...)) -> (request ...) 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
dfd1d1e02d Remove the kernel slot of a client
`jupyter-websocket-io` now returns, in addition to an IO function, a
kernel action subscriber.  A client now sends messages to the
subscriber to interrupt or shutdown a kernel instead of doing so using
a `kernel` slot.

Also add the `jupyter-kernel-action` convenience function for
evaluating arbitrary code on a client's kernel.
2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
e10efe4274 Remove no longer used functions 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
e03cedea10 Fix jupyter-shutdown-kernel
Sending a shutdown request actually restarts a kernel behind a Jupyter
notebook, so shutdown using the kernel's method.

Disconnect the client after shutting down so that
`jupyter-connected-p` returns nil after shutdown.
2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
dc336ae638 Fix input_request client handler 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
134167e65e Remove keyword message types 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
a430f4f0e1 Remove jupyter-channels-running-p 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
436329ee50 Fix wrong slot name 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
a23f8fe864 Use jupyter-generate-request in jupyter-request 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
1323feb33f Simplify jupyter-websocket-io 2023-02-13 20:25:05 -06:00
Nathaniel Nicandro
2b668f755e Have a client keep a reference to the kernel its connected to 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
b84e1320c6 Add jupyter-connected-p 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
3b8865d222 Remove kernel manager related code 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
ab4e53c1bf Set IO slot after making client instance
Apparently this is needed.
2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
17460f8b7c Use jupyter-*-request functions 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
e133c34707 Add do prefix to launch,shutdown,interrupt functions of a kernel
launch,shutdown,interrupt are now monadic functions.
2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
dcf2e2ef6e Remove jupyter-finalized-object 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
162a0969b9 jupyter-shutdown-kernel 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
e19140fa94 Flush out how a client connects to a kernel 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
f28c1c649a Make jupyter-request pure 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
ee0446ccaa Take into account the changes in a kernel's I/O publisher
Messages received by a kernel's I/O publisher are solely message
property lists.
2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
c12a519ac0 Add TODO 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
550ced27bc jupyter-client.el: Introduce io slot 2023-02-13 20:22:50 -06:00
Nathaniel Nicandro
bd7a49fec6 jupyter-after -> jupyter-then 2023-02-13 20:22:49 -06:00
Nathaniel Nicandro
d6b6bd60ce Monad things 2023-02-13 20:22:49 -06:00
Nathaniel Nicandro
1191153ca4 Fix use of jupyter--merge-message-defaults 2023-02-13 20:22:49 -06:00