Silly typo in ein-kernel.el. Querying kernelspecs is slightly more efficient,
caching results when url is a string or port (previously just cached results for
ports).
This reduces some of the complexity in testein.py, but unfortunately running
tests is still unreliable. Running batchwise tests don't work at all in Windows,
and running from inside emacs tests often need to be run multiple times before
they pass.
The worst offender is the delete notebook test, which will pass on usually only
1 out of 3 tries.
Testing seems to have revealed a couple bugs, so win??
EIN ipdb buffer should look better on Linux machines now. The extra characters
were someone's (ipython?) attempt at doing ansi coloring I think.
Also trying to make the ipdb comint buffer more canonical, with the hope to get
it to work with realgud. Not quite there yet, unfortunately.
Notebooklist was not showing kernel status anymore.
Connect_request messages are deprecated since v5.0 of the messaging
spec, and ein never did much anyway with the message.
This works by detecting if 'https:' appears in the url-or-port string,
which will be the case if you call `ein:notebooklist-open` using https:
+ url + port.
Note also that on windows, at least, I get SSL errors when using curl as
request backend. Using url-retrieve eliminates the errors and SSL access
works as advertised.
New commend `ein:notebook-reconnect-kernel` which will close then reopen
the websocket connection to a running kernel - without killing the
kernel.
Was not correctly killing and restarting the kernel in
`ein:kernel-restart.`
Fixed `ein-restart-kernel` to use REST API to kill kernel, then
restart/reconnect, again using the REST API.
Got rid of the `ein:kernel-stop` function. Seems confusing to have
'stop' and 'kill' methods running around.
Stopping a kernel now doesn't automatically close a buffer, nor does
closing a buffer automatically stop a running kernel. This is
functionality more in line of what EIN supported for IPython 0.x and
1.x.
Somehow lost ability to handle iopub responses when debugger session is
running.
Also try to set prompt in comint buffer to match debugger being called
(ipdb vs. pdb).
The message format for execute_reply payloads has changed. Seems the API
for this is still not finalized, but at least the pager works when I do
things like `object_name?`.
With IPython 3.0 we now support multiplexed communication over a single
websocket. At the moment iopub and shell are supported; stdin doesn't
seem to be working yet (not sure if it needs to be, though).
Not sure if we need to do this, or what purpose it might serve, but
seems more appropriate than sending a kernel_info_request when opening
websocket channels.
Also make message handler kernel inactive error messages more
informative.
There is a nasty mismatch between internal representation of cell
outputs in ein and for cell outputs in notebook v4.
The current solution is less than elegant, but seems to work. Need more
testing!
Maybe, just maybe ein now works under both IPython 2.x and IPython 3.0
(or what is the development version as of this commit). And by works I
mean open, closing, saving notebooks and communicating with the IPython
kernel. It is good.
Also fixed a bug in kernelinfo - os.uname is not implemented in Windows
(or mac, probably), but I think socket.gethostname() is available on all
three platforms.
Fixed bug in accessing directories a depths greater than 1 level.
Some initial support for IPython 3.0 and IPEP 27. Can open notebooklists
and notebooks, but having some issues connecting to websocket.
Basic, mostly untested support for the brave new world of IPython 2.0.
2.0 now supports the concepts of 'paths', letting notebooks be stored in
a directory hierarchy. This has resulted in a change in the web API -
most URL's are now prefixed with 'api/'.
EIN does not (yet) support hierarchical notebooks, but at least it now
plays better with the new URL scheme for iPython 2.0.
Oh, there also seems to have been a change in the format of the ipython
notebook. This has been fixed too, but is probably bakcwards
incompatible.