Commit graph

1023 commits

Author SHA1 Message Date
Nathaniel Nicandro
cec69a6d30 Change jupyter- org-mode prefix to jupy-
This is to avoid name clashing with another popular package that uses the same
prefix.
2018-11-24 22:13:28 -06:00
Nathaniel Nicandro
99c0bf0f55 Remove unused code 2018-11-21 12:35:34 -06:00
Nathaniel Nicandro
fca89359fd Rename jupyter-repl-display-traceback to jupyter-display-traceback
Also move the function to jupyter-client.el from jupyter-repl.el

* jupyter-repl.el (jupyter-repl-display-traceback): Do it.

* jupyter-client.el (jupyter-display-traceback): Do it.
2018-11-21 12:35:34 -06:00
Nathaniel Nicandro
872c5cde79 Ensure the execution state is always set regardless of jupyter-inhibit-handlers
`jupyter-iopub-message-hook` is called in a channel's `jupyter-handle-message`
method, but setting the execution state should be independent of the value of
`jupyter-inhibit-handlers. So move setting the execution state into the
client's `jupyter-handle-message` method.
2018-11-21 12:35:30 -06:00
Nathaniel Nicandro
6a1da44904 Move evaluation functions from jupyter-repl.el to jupyter-client.el
These functions are general and not only useful for REPLs.
2018-11-19 08:50:32 -06:00
Nathaniel Nicandro
2f7268c8dc Temporarily set the timezone when testing time encoding/decoding 2018-11-17 16:26:03 -06:00
Nathaniel Nicandro
7783e402f9 jupyter-insert-html: Recognize html that should be parsed as XML
If the `text/html` results returned from the kernel contain an XML prolog then
use `libxml-parse-xml-region` to parse the results otherwise use
`libxml-parse-html-region`.

* jupyter-mime (jupyter-insert-html): Do it.

* test/jupyter-test.el (jupyter-html-output): Add test for html output.
2018-11-17 15:43:40 -06:00
Nathaniel Nicandro
c859d34faf Add jupyter-repl-cell-output
* jupyter-repl.el (jupyter-repl-cell-output): Do it.
2018-11-17 15:24:11 -06:00
Nathaniel Nicandro
465d3222a4 Delete all script tags before parsing html
There is an issue where SVG images containing script tags would cause the SVG
render to error.
2018-11-17 15:00:49 -06:00
Nathaniel Nicandro
9f52459325 Add Travis badge 2018-11-17 12:21:57 -06:00
Nathaniel Nicandro
1b8032f5ef jupyter-get-buffer-create: Remove unnecessary keybindings
`special-mode' already provides they keybindings.
2018-11-17 11:53:05 -06:00
Nathaniel Nicandro
6aed12011a jupyter-repl-append-output: Mark output as read only
This used to be done by `jupyter-repl-insert`, but this is no longer the case
as all insertion of results is handled by the functions in jupyter-mime.el
while `jupyter-repl-insert` is more specific to insertion in the REPL buffer.
2018-11-17 11:47:55 -06:00
Nathaniel Nicandro
82cea4c0d1 Break up large tests into smaller ones 2018-11-17 11:47:55 -06:00
Nathaniel Nicandro
df44d53528 Tests work on Travis 2018-11-17 11:47:55 -06:00
Nathaniel Nicandro
1ecd029f6c More clearly show that an error occurs if no kernel info is received
* jupyter-kernel-manager.el (jupyter--error-if-no-kernel-info): New function.
(jupyter-start-new-kernel): Use it.
2018-11-17 11:47:55 -06:00
Nathaniel Nicandro
4842ac2198 jupyter-delete-all-kernels: Remove old cleanup
`jupyter-kernel-manager--cleanup` is intended to replace what was removed.
2018-11-17 11:47:55 -06:00
Nathaniel Nicandro
890453b716 Re-work last commit 2018-11-16 14:23:16 -06:00
Nathaniel Nicandro
b67262f0f5 Take into account Travis' python version for tests 2018-11-16 13:37:14 -06:00
Nathaniel Nicandro
e04a81a3ad jupyter-fontify-buffer: Don't store fontify buffers 2018-11-16 17:29:47 +00:00
Nathaniel Nicandro
b39f9020c5 jupyter-fontify-according-to-mode: Don't show the fontify buffer 2018-11-16 17:24:18 +00:00
Nathaniel Nicandro
78a0747ddb Call after change function only when change is due to cell code
* jupyter-repl.el (jupyter-repl-do-after-change): Do it.
(jupyter-repl-after-change): Remove check that is now done at a higher level.
2018-11-16 17:22:10 +00:00
Nathaniel Nicandro
5ef71de62b Use universal time when testing encoding/decoding of time values 2018-11-16 12:08:02 +00:00
Nathaniel Nicandro
f0849c855a Install a kernelspec using the right python in Travis tests 2018-11-16 05:26:37 -06:00
Nathaniel Nicandro
5e09b4d78f Show Jupyter paths in Travis test output 2018-11-16 05:10:19 -06:00
Nathaniel Nicandro
fbeb0dba0b jupyter-start-kernel: Handle all return values of file-attributes 2018-11-16 05:09:52 -06:00
Nathaniel Nicandro
50ac28910a Remove usage of deprecated when-let
This was deprecated in Emacs 26.1
2018-11-16 04:59:09 -06:00
Nathaniel Nicandro
ca44a3922d Use universal time when encoding time values
* jupyter-messages.el (jupyter--encode-time): Do it.

* test/jupyter-test.el (jupyter-messages): Update test.
2018-11-16 04:49:43 -06:00
Nathaniel Nicandro
bfe549a0f5 Ensure Jupyter directories exist during testing 2018-11-16 04:27:57 -06:00
Nathaniel Nicandro
3258dc752e Export build variables for zmq in Travis tests 2018-11-16 04:03:01 -06:00
Nathaniel Nicandro
e4546e53ae Fix Travis, attempt 6
Travis really doesn't like strings.
2018-11-16 03:44:05 -06:00
Nathaniel Nicandro
178f5d1212 Fix Travis, attempt 5 2018-11-16 02:58:36 -06:00
Nathaniel Nicandro
3515b30b9a Fix Travis, attempt 4
Travis seems to consider the # character in a funny way.
2018-11-16 02:39:50 -06:00
Nathaniel Nicandro
b889a29d36 Fix Travis, attempt 3 2018-11-16 02:18:11 -06:00
Nathaniel Nicandro
3901b4ecca Another attempt at fixing Travis config 2018-11-16 01:23:09 -06:00
Nathaniel Nicandro
6de19f55c3 Fix Travis config 2018-11-16 00:51:20 -06:00
Nathaniel Nicandro
91254d6d9a Add Travis CI configuration 2018-11-16 00:30:15 -06:00
Nathaniel Nicandro
081f329da1 v0.6.0 2018-11-16 00:27:47 -06:00
Nathaniel Nicandro
42cc3d3853 Do not use the make- prefix for struct constructors 2018-11-16 00:27:47 -06:00
Nathaniel Nicandro
3b0a96de7d Update README 2018-11-16 00:27:47 -06:00
Nathaniel Nicandro
740ed190cc Document jupyter-ioloop 2018-11-16 00:27:47 -06:00
Nathaniel Nicandro
84ac019e77 Update javascript packages 2018-11-16 00:27:47 -06:00
Nathaniel Nicandro
47baf33a16 Add Makefile 2018-11-16 00:27:47 -06:00
Nathaniel Nicandro
ea56331f85 Privatize some functions
* jupyter-org-client.el (jupyter-org-add-result, jupyter-org-insert-results):
Add double hyphen for `jupyter-org` namespace.
2018-11-16 00:15:51 -06:00
Nathaniel Nicandro
9097464cc8 Add jupyter-delete-all-kernels
Add this to `kill-emacs-hook` to ensure that connection files are cleaned up in
a more reliable fashion. The connection files are cleaned up when the kernel
process is garbage collected, but this won't happen when killing Emacs.

* jupyter-kernel-manager.el (jupyter-delete-all-kernels): Do it.
Add to `kill-emacs-hook`.
2018-11-15 23:04:27 -06:00
Nathaniel Nicandro
df36a486aa More reliably catch the startup message from python kernels
* jupyter-channel-ioloop (jupyter-channel-ioloop-add-start-channel-event): Do it.
2018-11-15 23:04:27 -06:00
Nathaniel Nicandro
a9add47b6f jupyter-repl-kill-buffer-query-function: Stop the client's channels
Although the client's channels are cleaned up when it goes out of scope, there
may be some stray messages that come through before that occurs. If they
do, they will attempt to access a killed buffer. Prevent that.
2018-11-15 23:04:27 -06:00
Nathaniel Nicandro
05bcbba42f Remove special handling of python kernel
In Jupyter > 4.3.0, the Python kernel only sends an execute-result.

* jupyter-org-client.el (jupyter-org-result): Do it.
2018-11-15 23:04:27 -06:00
Nathaniel Nicandro
823ea8adde Fix checkdoc warnings 2018-11-15 23:04:27 -06:00
Nathaniel Nicandro
3c05232a90 Add Cask file 2018-11-15 23:04:27 -06:00
Nathaniel Nicandro
5a7c083169 More reliably capture the startup message
It still sometimes isn't caught but it is more reliable. This mainly affects
testing.

* jupyter-client.el (jupyter-start-channels): Add a small delay after starting
  channels.

* jupyter-kernel-manager.el (jupyter-start-kernel): Remove superfluous delay.
2018-11-15 23:04:27 -06:00