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.
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
```
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.
There is now a company mode backend for ein. It generates completions by sending
complete_request to the running kernel so for the moment no jedi integration.
Configuring is maybe non-obvious - user should at minimum set
`ein:use-auto-complete` and `ein:use-auto-complete-superpack` to nil. Adding a
`(require 'ein-company)` probably should be done somewhere in the user's init
file. This could all be done better so I will attempt to address in later
commits.
Content api tries to handle redirects, pointing new content towards the
redirected url instead of the one supplied by the user. Login with redirects not
working, though.
Other fixes:
- Fixed bug in ein-ac that was generating errors outside of ein buffers.
- New function `ein:pyools-set-figure-size` as shortcut for modifying
matplotlib figsize rcParam.
- ob-ein will output tracebacks when ein source block generates an error.
Almost a direct copy and paste from ein-ac.el. Will have to
iterate on this more than a few times to figure out a good system
for generation completion candidates for company mode.
ein:ac-clear-cache takes too much time by the result of profiler.el.
Also, as ac-source-ein-cached sends request in background [1], there is
no need for caching anymore.
[1] 865a96f3d2
* Change the call signature of completer callback, to
pass arguments to completer callback.
* Use expand option to suppress auto expansion when
used as dot-complete.
This way, I don't need to add hooks for each specific notebook mode.
Previously ein:notebook-org-src-mode-hook has no ein:ac-setup.
This change fix this problem.