Commit graph

2629 commits

Author SHA1 Message Date
John Miller
3fd5fd06ee ein-websocket: Don't dump entire websocket structure during error.
Dumping the whole structure to the log does more to obscure than help, so I have
shortened the amount of information shared.
2018-10-17 20:59:58 -05:00
dickmao
6e3a062e98 travis is a harsh taskmaster 2018-10-17 17:45:19 -04:00
dickmao
c5bfb0dca1 expose ein:notebooklist-open as a bonafide function (but obsolete) 2018-10-17 17:24:34 -04:00
dickmao
085a188b20 Streamline login
Merge the login and open commands (open aliased to login).  Add login
tests described in #352.

Attempt to improve user experience by synchronously executing
`ein:jupyter-server-start`.  `ein:dev-prefer-deferred` custom variable
allows easy switch to compare sychronous versus old asynchronous behavior.
2018-10-17 16:52:10 -04:00
John Miller
81ea6b25fa ob-ein.el: Fix for starting sessions from an org buffer.
John has now achieved zen understanding of the difference between `funcall' and
`apply'.
2018-10-16 16:05:06 -05:00
John Miller
2a1c7d4a85 Merge branch 'issue-350' 2018-10-15 16:38:27 -05:00
dickmao
3ba6622005 Revert "Normalize url-or-port"
This reverts commit 435d001b03.
2018-10-15 16:23:10 -05:00
John Miller
622f033abd
Merge pull request #354 from dickmao/fix-master
Revert extra commit
2018-10-15 14:17:29 -05:00
dickmao
257331f32c Revert "Normalize url-or-port"
This reverts commit 435d001b03.
2018-10-15 14:13:51 -04:00
dickmao
9c1271b8d9
Merge branch 'master' into issue-350 2018-10-15 12:32:28 -04:00
John Miller
2c2e1940d0 Merge branch 'master' of ssh://github.com/millejoh/emacs-ipython-notebook 2018-10-15 11:19:44 -05:00
dickmao
512658883b @sam-s says Requiring ESS is wrong because it forces people who do NOT use it to install it.
The standard way to avoid this problem is to use autoload instead of require.
This way ESS is not required to compile and run EIN and it is only loaded if the user actually uses it.
2018-10-15 12:19:30 -04:00
John Miller
d40e8b6d32 Quick fix for #350
There may be a better way to do this, but for now at least ein will load even if
the user does not have ess installed.
2018-10-15 11:13:37 -05:00
John Miller
032c6f4d8c ob-ein: Make session url's consistent.
Ensure canonical representation defined in `ein:url' is being used for session
identifiers. Not doing this was confusing ob-ein on what kernelspec to use.
2018-10-15 11:04:55 -05:00
John Miller
fd91a6f3e1
Merge pull request #352 from dickmao/bug-issue-351
Fixes #351
2018-10-15 09:41:53 -05:00
John Miller
ad86e606ca
Merge pull request #349 from xor-xor/bugfix/pytools-export-buffer
Fix ein:pytools-export-buffer
2018-10-15 09:31:12 -05:00
dickmao
cea40017fa fix bug 2018-10-15 10:29:11 -04:00
John Miller
623920ffe6 Files from JupyterCon. 2018-10-14 22:29:53 -05:00
John Miller
285d5795c1 Merge branch 'async-staging' 2018-10-14 20:47:34 -05:00
John Miller
6610a92b34 Shortcut to run integration and functional testing without compile check. 2018-10-14 20:36:49 -05:00
dickmao
435d001b03 Normalize url-or-port
```
"http://localhost:8888"
"http://localhost:8888/"
"http://127.0.0.1:8888"
"http://127.0.0.1:8888/"
"8888"
8888
```

Ideally these should converge to the same thing.  Since many hash
tables are keyed off `url-or-port`, forgetting to
normalize `url-or-port` with `ein:url` leads to missed cache hits and
general malaise.  So we try to do that.

Address a FIXME: apply callbacks to `ein:notebook-list-login-and-open`.

Removed py3.5 from travis build matrix to reduce developer strain.
2018-10-14 20:36:49 -05:00
dickmao
c888508751 ein-jupyter must require ein-notebooklist but not conversely 2018-10-14 21:24:50 -04:00
Tomasz Mieszkowski
80cf9808a9 Fix ein:pytools-export-buffer 2018-10-13 19:59:41 +02:00
dickmao
0ae0a2f4d4 workaround for emacs-26.1 travis
Delete the org-plus-contrib dependency in Cask via a fast switcheroo
in install-cask.sh
2018-10-13 13:09:53 -04:00
dickmao
d796a830d9 emacs-26.1-travis cannot see julia-mode
For whatever reason, emacs-26.1-travis consistently fails to download an ess
dependency.
`Dependency ess failed to install:
https://melpa.org/packages/julia-mode-20180816.2117.el: Bad Request`
Remove emacs-26.1 from the build matrix until I figure this out.
2018-10-13 13:09:53 -04:00
dickmao
0c6e37c8e0 Normalize url-or-port
```
"http://localhost:8888"
"http://localhost:8888/"
"http://127.0.0.1:8888"
"http://127.0.0.1:8888/"
"8888"
8888
```

Ideally these should converge to the same thing.  Since many hash
tables are keyed off `url-or-port`, forgetting to
normalize `url-or-port` with `ein:url` leads to missed cache hits and
general malaise.  So we try to do that.

Address a FIXME: apply callbacks to `ein:notebook-list-login-and-open`.

Removed py3.5 from travis build matrix to reduce developer strain.
2018-10-13 13:09:53 -04:00
dickmao
c106ea19a5 master should pass the test again 2018-10-13 13:09:17 -04:00
John Miller
c40f41bd6f Shortcut to run integration and functional testing without compile check. 2018-10-13 07:17:44 -05:00
dickmao
c424f2ae5a workaround for emacs-26.1 travis
Delete the org-plus-contrib dependency in Cask via a fast switcheroo
in install-cask.sh
2018-10-12 21:55:33 -05:00
dickmao
24896798dd emacs-26.1-travis cannot see julia-mode
For whatever reason, emacs-26.1-travis consistently fails to download an ess
dependency.
`Dependency ess failed to install:
https://melpa.org/packages/julia-mode-20180816.2117.el: Bad Request`
Remove emacs-26.1 from the build matrix until I figure this out.
2018-10-12 21:55:33 -05:00
dickmao
bc10cea743 Normalize url-or-port
```
"http://localhost:8888"
"http://localhost:8888/"
"http://127.0.0.1:8888"
"http://127.0.0.1:8888/"
"8888"
8888
```

Ideally these should converge to the same thing.  Since many hash
tables are keyed off `url-or-port`, forgetting to
normalize `url-or-port` with `ein:url` leads to missed cache hits and
general malaise.  So we try to do that.

Address a FIXME: apply callbacks to `ein:notebook-list-login-and-open`.

Removed py3.5 from travis build matrix to reduce developer strain.
2018-10-12 21:55:33 -05:00
John Miller
af405dddb7 ein-notebooklist: Document ein:populate-hierarchy-on-notebooklist-open. 2018-10-12 20:51:32 -05:00
John Miller
c51134fa65 ein-notebooklist: Make hierarchy query optional.
Via the `ein:populate-hierarchy-on-notebooklist-open' variable, which we need to
document stat.
2018-10-12 15:32:51 -05:00
John Miller
7bc6e88e5c ein-query: More debug messages, try harder not to get stuck.
Logging to see what the heck is going on, and something of a failsafe to
continue execution in the case things get really stuck.
2018-10-12 15:31:33 -05:00
John Miller
44f7da5b73 Remove AltairTutorial
Not sure why I was keeping this around in the remote repository, to be honest.
2018-10-12 15:29:33 -05:00
John Miller
0212845c6d ein-query: Fix syntax error in loop.
Also tuning as stress testing is showing some problems with my intial solution.
2018-10-12 14:03:22 -05:00
John Miller
b36f33e76c ein-query: Fix #345.
This should keep too many calls to `request' from occurring at the same time.
Not sure I like blocking while waiting for previous calls to terminate, but for
the moment this seems the easiest solution without going the full deferred route
on `ein:query-singleton-ajax' and wrapping calls with semaphore checks via
concurrent.
2018-10-12 11:34:44 -05:00
John Miller
5e7548d457 Prettify indentation in ein-contents.el
I work mostly from laptops with small screens and long function calls all on one
line can be hard to read, so I split things up a bit.
2018-10-12 11:33:20 -05:00
John Miller
1bdb1a26f2 Reimplement PR #344
Some good ideas from @dickmao, the only difference here is that notebook
autosave is not defaulted to being turned off as this might produce some
unexpected behavior for existing users. What I am doing is decreasing the
default frequency to autosaving once every five minutes.
2018-10-12 10:58:59 -05:00
John Miller
3c84bc2ff5 Fix for #347. 2018-10-12 10:34:04 -05:00
John Miller
98ce6cc83e
Merge pull request #342 from dickmao/async-staging
Asynchronize all server communication
2018-10-07 21:35:47 -05:00
dickmao
3f1d9f3737 ein:flatten runs out of stack on big directories; also don't wait on files 2018-10-07 03:15:49 -04:00
dickmao
11c2245c41 Asynchronize all server communication
Use deferred and callbacks instead of `:sync t` for tkf requests which
is known to have issues.  Query server attributes once on
notebooklist-open to avoid sequencing issue #176 (but allow Resync).
Under curl backend, a second request for the same "key" as a pending
request will abort the latter, which has resulted in a clobbered
curl-cookie-jar file, so merely warn and don't abort.

Fix #176
2018-10-07 00:40:48 -04:00
John Miller
c5814ce422
Merge pull request #339 from dickmao/undo-staging
Implement undo
2018-10-02 11:58:08 -05:00
dickmao
ad8408dfb7 Implement undo
`M-x customize-group RET ein`
Toggle `Ein:Worksheet Enable Undo`
Save for Future Sessions
Restart emacs or kill/restart notebook

Fixes #338
2018-10-02 10:00:25 -04:00
John Miller
1c962cefb3
Merge pull request #337 from dickmao/revive-unit-tests
avoid ipython 7.0.x for now
2018-09-29 15:06:42 -05:00
dickmao
ff3138b33e avoid ipython 7.0.x for now 2018-09-28 19:40:17 -04:00
John Miller
0793b689e9 Merge remote-tracking branch 'dickmao/revive-unit-tests' 2018-09-28 12:08:10 -05:00
John Miller
3d3503289f Try to make ein:company-backend loading more robust.
Try, but seem to still be mostly failing. Think this is more a personal setup
issue than something in general but this change should, at the very least, not
do any harm.
2018-09-28 11:51:57 -05:00
dickmao
ec28cbe708 revive tkf tests
`make test-unit`
`make test-int` (formerly `cask exec ert-runner`)
An intermittent travis-melpa issue is solved by gonewest818.
2018-09-27 00:52:00 -04:00