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