Before: Exit emacs with modified notebooks. Be asked "You have
unsaved notebooks. Discard changes?" Respond no, and manually figure
out which notebooks haven't been saved.
After: Exit emacs with modified notebooks. Be asked "Save A?".
Respond yes. Quit without further ado.
Also, bugfix killing of buffers in polymode. Must kill host buffer,
not indirect buffers.
Initial SIGTERM prompts server to dutifully shutdown kernel, but
another SIGTERM necessary to kill server. Perhaps ipython changed
since the last time I tested this.
Ipython doesn't send a display_data message upon initial plot
request. This is probably our bug, or is it? Document this bug in an
ecukes test.
Also enforce emacs version >= 25
M-x customize-group RET ein
Toggle Ein:Polymode
Avoid trying to emulate jump-to-definition, eldoc, and autocompletion
functionalities that Elpy will always do better.
Fixes#497#482#418
* Testing for shared eval and connecting buffers.
* Forgot the feature.
* Need a small delay to make sure code is evaluated.
* Testing for shared eval and connecting buffers.
* Forgot the feature.
* Need a small delay to make sure code is evaluated.
* Add scenario for company completion in a connected buffer.
* Works better if we test completion first.
* Update ipython version tested in travis.
* Stab in the dark to fix travis erroring under ipython 6.x
* Revert "Stab in the dark to fix travis erroring under ipython 6.x"
This reverts commit 7255d31fdb.
We can't be certain when the shared output cell can be safely turned
over to the next org block. I have witnessed `display_data` updates being
received *after* both the `execute_result` and `execute_reply`
messages. As a HACK, we `run-at-time 2` seconds the turning over of
the cell to accommodate any eleventh hour straggler display_data's.
In light of #425 and #456, provide more guidance on curl errors.
Also, clean up eldoc stub. Leveraging elpy's eldoc perfection seems
the only sensible choice, however.
Do not assume python... leverage ESS to improve R interaction.
Fix both undo and fontify in the presence of toggling cells (`C-c
C-t`)
Fix and test switching kernels
```
M-x customize-group RET ein-completion
```
Set `Ein:Completion Backend` to `ein:use-none-backend`, Set `State` to
`Save for Future Sessions`.
Also use `featurep` and `with-eval-after-load` to clean up the
subpackage requiring gymnastics.
As `ein:notebok-kill-kernel-then-close-cmmand` must wait for the
server to delete the session, the buffer wouldn't disappear right
away, leaving the user nonplussed whether the `C-c C-q` took. Display
a status message "Ending session" with a modest animation instead.
Also add a "Stop" test for notebooklist. Sorry about breaking "Stop"
in ee3b0f0
Renaming of functions with better understanding of reconnects. Under
the original logic, reconnecting blithely created a new session if
the original no longer existed. Now it will alert the user when this
happens.
Also hopefully fixes#381 as there was a bug of missing argument not
being caught by lisp's undisciplined typing.
Upon disconnection, the jupyter server apparently returns the same kernel for a given
notebook path input. So reconnect is a thing, and restart is very
distinct from that.
Fixes#377
Coursera appears to kill websockets every minute or so, and I'm
observing firsthand the buggy behaviors described in #356. This PR
cleans up the websocket code and kernel restart logic. Removed
backwards compatibility for the v2 messaging api
as keeping it in the presence of the refactoring would make it more
broken that it already was.
One line change to fix header not updating after cell execution
(keeps saying "Kernel is busy").
The bug does not manifest when running with `ein:debug` true since
EMACS's display loop updates more frequently with debug messages.
In tracking this bug, noticed eldoc support isn't quite there.
`__import__('ein').print_object_info_for(%s)` appears in
`ein-completer` and `ein-pytools`, and is invalid python syntax
afaict. Took a few steps to make it whole, but incomplete.
As emacs users we prefer and have the luxury of fuzzy file navigation
via ido and projectile. From a notebook or notebooklist buffer, the commands
`C-c C-f` ein:file-open
`C-c C-o` ein:notebook-open
offer an ido alternative to point and click navigation.
To populate the ido lists, retrieving the content hierarchy is on by
default. Two custom variables determine how wide and deep the content query
probes (currently at 2 levels deep and 6 directories wide). Set both
to zero to turn off.
tkf half finished code to quickly go from local file buffers to notebook
mode via `C-c C-z` or `C-c C-o`. This is now possible. EIN will
start the server from a suitable parent directory of the visited file.
Enable ido completion for `notebooklist-login`.
Remove the albatross `ein-loaddefs.el` in favor of more standard
`ein-autoloads.el` that is not git tracked.
Convenience `make install` from git source (local alternative to
melpa).