Introduce new user custom variable `ein:on-kernel-connect-functions' which is an
abnormal hook called after a kernel connection is made. All functions in the
hook are called with the connected kernel as an argument.
This replaces the old, unused `ein:kernel-run-after-start-hook' function.
Some caveats: completion and tooltips using the kernel are no longer available
as ein-pytools has been mostly neuterd. Cell autoexecution also been removed.
Unfortunately, no good way to test font-lock as font-lock-mode won't
activate under noninteractive ecukes (can try --no-win or --win, but
won't fly under travis)
In practice, polymode font-lock bugs often manifest themselves much as
issue #456 did. The rear-nonsticky property on the input prompt gets
washed away by font-lock and brokenness ensues.
Some users run jupyter via `jupyter-notebook` instead of `jupyter`,
and break because we unilaterally impose the "notebook" subcommand.
Those users can now:
```
M-x customize-group ein
Jupyter Server Use Subcommand: Omit
```
Currently, an org block that has no output (e.g., `foo = 5`) never
clears the `[....]` upon block completion.
Also, no `:session` should default to localhost.
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.
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