Be more informative to the user when we cannot find an executing cell in either
`ein:worksheet-jump-to-first-executing-cell' or
`ein:worksheet-jump-to-next-executing-cell'.
test-compile attempts to egrep "bad" warnings with hardcoded strings.
This is better than nothing, but misses a lot. We are close
to elimiinating this hack in favor of `(setq
byte-compile-error-on-warn t)` to enforce no warnings whatsoever. Until
then, keep adding egrep strings to `test-compile`.
Without `(package-refresh-contents)`, the `make install` won't be able
to download and install dependencies for new users. Remedy this.
Retire files that will never be used.
```
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.
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
Once upon a time it was possible to stop/delete/kill running kernels from the
notebooklist buffer regardless of whether there were any open notebooks
associated with the kernel session.
Some commmits ago this behavior was changed, and the code has recently required
that there a notebook buffer associated with the active kernel/session exist
before the stop command will proceed. This is incorrect behavior and is
inconsistent with the interface provided by the notebook web browser interface.
Kernels and notebooks are independent entities and should be treated as such in
the code.