Commit graph

2217 commits

Author SHA1 Message Date
Nathaniel Nicandro
275492b1a6 Re-organize jupyter-websocket-io 2023-02-13 20:30:20 -06:00
Nathaniel Nicandro
b07f9c5cfe Ensure a monadic value is returned from a call to jupyter-mlet* 2023-02-13 20:30:20 -06:00
Nathaniel Nicandro
6c55e5bae5 Remove jupyter-current-io 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
c53d15af6d Introduce accessor function to a client's IO slot 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
a5399f793c Rename jupyter-send to jupyter-sent
`jupyter-send` is already defined as a method which takes more than
one argument and I couldn't figure out how to make it so that I could
add a method which takes a single argument.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
79cc6daa09 Add a GitHub test workflow 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
dabcf2a5b8 jupyter-mlet*: Simplify 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
5d7d1e1dc8 Replace call to jupyter-add-callback with jupyter-subscriber equivalent
`jupyter-add-callback` no longer exists.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
0a9aeb86bd Silence the byte compiler 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
9d75eab5df jupyter-websocket-io: Remove the use of websocket-ensure-connected
The function no longer exists in the `websocket` library.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
37c3187f8f jupyter-kernel-process: Handle fatal signals of a kernel process more cleanly
In the process sentinel, only consider the process dying as unexpected
when the process object still has a :kernel property.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
97dcb49e46 jupyter-kernel-process: Add connect-p slot
This is used to distinguish between a connection made to an already
existing kernel vs one that is launched by us.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
ded0306403 jupyter-repl: Load jupyter-client at compile time
There are macros that are defined in there which are used in
`jupyter-repl`.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
7c3d3a70b4 jupyter-io (jupyter-server-kernel): Remove type checking on argument
The type checking happens inside the function already.
2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
84282910f8 jupyter-server-kernel: Require missing dependency 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
1b7ac4506e jupyter-websocket-io: Ignore unused variable 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
b96ed78418 jupyter-mlet*: Remove an unneeded let binding 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
775820a1ae ob-jupyter: Raise an error when ZMQ is not available for remote sessions 2023-02-13 20:30:19 -06:00
Nathaniel Nicandro
5f73858bd8 Add org-babel-jupyter-language-aliases 2023-02-13 20:30:19 -06:00
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