* ein-ac: Fail silently for unexpected ein:completion-backend values.
Fixes#608, though we really need a test cases for completion in polymode.
* Only define ein ac-sources when the user explicitly sets the backend.
* Test case for issue #608.
* Only test jedi completion when testing polymode.
* Add epc dependency for emacs-jedi.
* Flanging up with travis is always a challenge.
* Forgot to update the scenario.
* Give jedi time to install.
* Add virtualenv to travis OS X build.
Also add some addition TOX environments for future testing cases.
* OS X travis is failing - is it a timeout issue?
Replace `defun*' with `cl-defun', `loop' with `cl-loop',
`case' with `cl-case', `assert' with `cl-assert',
`destructuring-bind' with `cl-destructuring-bind',
`multiple-value-bind' with `cl-multiple-value-bind',
`equalp` with `cl-equalp`, `defstruct' with `cl-defstruct`
&c &c &c
Use lexical-binding instead of lexical-let.
Add declarations and defvar to avoid breakage.
We have to be careful about setting it globally because that seems to be causing
some conflicts, better to set it at the buffer level when we are opening a
notebook otherwise ein:company-backend may not be activated.
Because global-font-lock-mode will call font-lock-initial-fontify, the
inconsistency caused by nullifying font-lock-function while preserving
font-lock-fontify-buffer-function causes the whole buffer to get
fontified in polymode
Commit a969736 duplicated the before-until advice on
syntax-propertize. This broke polymode badly, and yet none of my
tests catch this (partly because it's hard to test font-lock).
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.
* Use completing-read instead of ido-completing-read.
Per @seagle0128 and issue #496.
* lisp/ein-notebook.el:
* Wrap all calls to completing-read with ein:completing-read
Use `ein:completing-read' everywhere we need to do completion as it wraps Emacs
completing-read functionality and tries to use sane defaults.
C-c C-d breaks undo. Fix as follows:
Before: turn on slide indicator via C-c S, toggle type with C-c C-d
After: toggle type with C-c S.
Benefits: Fixes undo, simplifies slideshow operation, elpy users are
accustomed to having C-c C-d be "jump to doc"
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.
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.
EIN can sometimes lose the reference to the notebook buffer when trying to save
"huge" notebooks. This is a temporary (hah!) workaround until the problem is
better understood.
Using the raw `org-toggle-latex-fragment` function creates some havoc
with the overlays, resulting in nonfunctional notebooks. Add some
custom logic to improve behaviour.
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
Previously `notebook-mode` was an ordinary function that called
`notebook-minor-mode` to install `ein:notebook-mode-map`. Make
`ein:notebook-mode` a proper minor mode via `define-minor-mode`. This
has a few visible benefits primarily that `describe-mode` or `F1 m` will now
show all the keybindings, and mode-line will reflect.
As a consequence `ein:notebook-mode-hook` is no longer an explicit
`defcustom` (proper minor modes get it for free). This had been a
dangerous situation as the default hook containing critical functions could be overridden.
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.