index.rst 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  1. Welcome to Emacs IPython Notebook's documentation!
  2. ==================================================
  3. .. el:package:: ein
  4. Emacs IPython Notebook (EIN) provides a IPython Notebook client and
  5. integrated REPL (like SLIME_) in Emacs. While EIN makes notebook
  6. editing very powerful by allowing you to use any Emacs features, it
  7. also expose IPython features such as code evaluation, object
  8. inspection and code completion to the Emacs side. These features can
  9. be accessed anywhere in Emacs and improve Python code editing and
  10. reading in Emacs.
  11. .. _`Emacs IPython Notebook (EIN)`:
  12. https://github.com/tkf/emacs-ipython-notebook
  13. .. _SLIME: http://common-lisp.net/project/slime/
  14. Highlighted features:
  15. * Copy/paste cells, even to/from different notebooks.
  16. * Console integration: You can easily connect to kernel via console
  17. application. This enables you to start debugging in the same
  18. kernel. It is even possible to connect console over ssh [#]_.
  19. * IPython kernel can be "connected" to any buffers. This enables you
  20. to evaluate buffer/region using same kernel as notebook. Notebook
  21. goodies such as tooltip help, help browser and code completion are
  22. available in these buffers. [#]_
  23. * Jump to definition (go to the definition by hitting ``M-.`` over an
  24. object).
  25. Other notebook features:
  26. * Inline images
  27. * Auto/manual-completion
  28. * Popup (tooltip) help
  29. * Syntax highlighting in each cell types (Python/Markdown/ReST/HTML)
  30. * Help browser (opens when executing ``function?``)
  31. * Traceback viewer
  32. Links:
  33. * `Online Documentation
  34. <http://tkf.github.com/emacs-ipython-notebook/>`_
  35. * `Wiki
  36. <https://github.com/tkf/emacs-ipython-notebook/wiki>`_
  37. + `Screenshots
  38. <https://github.com/tkf/emacs-ipython-notebook/wiki/Screenshots>`_
  39. + `Tips
  40. <https://github.com/tkf/emacs-ipython-notebook/wiki/Tips>`_
  41. * `Downloads
  42. <https://github.com/tkf/emacs-ipython-notebook/tags>`_
  43. * `Repository at GitHub
  44. <https://github.com/tkf/emacs-ipython-notebook>`_
  45. * `Issue Tracker at GitHub
  46. <https://github.com/tkf/emacs-ipython-notebook/issues>`_
  47. .. [#] You need to setup :el:symbol:`ein:console-args` properly
  48. .. [#] Use the command :el:symbol:`ein:connect-to-notebook-command`.
  49. .. contents::
  50. Quick try
  51. ---------
  52. This is a quick and clean way to try EIN separately from your Emacs
  53. setting. If you want to try EIN but think preparing all the
  54. requirements is too much, try this!::
  55. git clone git://github.com/tkf/emacs-ipython-notebook.git
  56. cd emacs-ipython-notebook/
  57. lisp/zeroein.el
  58. This will launch a new Emacs instance.
  59. You can use environment variable ``EMACS`` to control Emacs executable
  60. to use.::
  61. EMACS=emacs-snapshot lisp/zeroein.el
  62. The above command requires /bin/sh. If the above command does not work
  63. (e.g., you are using MS Windows), try the following command::
  64. emacs -Q -l lisp/zeroein.el
  65. Requirements
  66. ------------
  67. * IPython_ 0.12 or higher.
  68. * `websocket.el`_ 0.9
  69. * `request.el`_ >= 0.2
  70. * (optional) mumamo_ developmental version:
  71. It will be automatically loaded when it is on the path.
  72. The official way to setup path is to load nXhtml_.
  73. * (optional) markdown-mode
  74. * (optional) python-mode:
  75. It should work with either python.el or `python-mode.el`_ [#]_.
  76. Fabian Gallina's `python.el`_ is required to use
  77. :el:symbol:`ein:console-open` command.
  78. * (optional) `auto-complete.el`_
  79. You need to configure :el:symbol:`ein:use-auto-complete` to enable
  80. this feature.
  81. * (optional) `smartrep.el`_:
  82. This package enables you to omit typing prefix keys (e.g.,
  83. ``C-c C-n C-n C-n ...`` instead of ``C-c C-n C-c C-n C-c C-n ...``).
  84. You need to configure :el:symbol:`ein:use-smartrep` to enable
  85. this feature.
  86. Also, EIN heavily relies on standard Emacs libraries including EWOC,
  87. EIEIO and json.el. EIN is currently tested against Emacs 23.3 and 24.3.
  88. It is known to work in Emacs 23.2, 24.1 and 24.2.
  89. .. _IPython: http://ipython.org/
  90. .. _websocket.el: https://github.com/ahyatt/emacs-websocket
  91. .. _request.el: https://github.com/tkf/emacs-request
  92. .. _mumamo: http://www.emacswiki.org/emacs/MuMaMo
  93. .. _nXhtml: http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html
  94. .. _python.el: https://github.com/fgallina/python.el
  95. .. _python-mode.el: :https://launchpad.net/python-mode
  96. .. _auto-complete.el: http://cx4a.org/software/auto-complete/
  97. .. _smartrep.el: https://github.com/myuhe/smartrep.el
  98. .. [#] See
  99. :ref:`Gotchas and caveats > python-mode.el <gotchas-python-mode.el>`.
  100. Install
  101. -------
  102. .. warning:: As EIN relies on many packages and it will not work
  103. properly with outdated versions, installing it using el-get or
  104. MELPA is highly recommended.
  105. Using el-get
  106. ^^^^^^^^^^^^
  107. If you use developmental version of `el-get`_, you can install it
  108. easily using it. Emacs IPython Notebook is registered as package
  109. ``ein``. See `el-get`_ website for more information.
  110. .. _el-get: https://github.com/dimitri/el-get
  111. .. note:: If you get error "Cannot open load file: request" that means
  112. you have older el-get version. You can fix this problem by
  113. either (1) install request.el manually, (2) use the latest recipe,
  114. or (3) update el-get to its master.
  115. You can get the latest recipe here:
  116. - https://github.com/dimitri/el-get/blob/master/recipes/ein.rcp
  117. - https://github.com/dimitri/el-get/blob/master/recipes/request.rcp
  118. See `issue 98 <https://github.com/tkf/emacs-ipython-notebook/issues/98>`_
  119. for more information.
  120. Using package.el (MELPA)
  121. ^^^^^^^^^^^^^^^^^^^^^^^^
  122. You can install EIN using `package.el`_ when MELPA_ package repository
  123. is added to its setting. See MELPA_ website for more information.
  124. .. _`package.el`: http://emacswiki.org/emacs/ELPA
  125. .. _MELPA: https://github.com/milkypostman/melpa
  126. Manual install
  127. ^^^^^^^^^^^^^^
  128. Put Emacs lisp ``ein*.el`` files and Python file ``ein.py`` in
  129. a directory defined in your :el:symbol:`load-path`.
  130. You should byte compile EIN, especially when using MuMaMo, otherwise
  131. editing large notebook will be very slow. You can use the following
  132. command to compile EIN. If you don't specify all the optional
  133. packages, there will be compiler warning but that is OK as long as you
  134. don't use that optional package.
  135. .. sourcecode:: sh
  136. emacs -Q -batch -L . \ # don't forget the dot!
  137. -L PATH/TO/websocket/ \
  138. -L PATH/TO/nxhtml/util/ \ # optional (for MuMaMo)
  139. -L PATH/TO/auto-complete/ \ # optional
  140. -L PATH/TO/popup/ \ # optional (for auto-complete)
  141. -L PATH/TO/fuzzy/ \ # optional (for auto-complete)
  142. -L PATH/TO/smartrep/ \ # optional
  143. -L PATH/TO/rst-mode/ \ # optional
  144. -f batch-byte-compile *.el
  145. Setup
  146. ^^^^^
  147. Here is the minimal configuration. See customization_ for more details.
  148. .. sourcecode:: cl
  149. (require 'ein)
  150. Usage
  151. -----
  152. 1. Start `IPython notebook server`_.
  153. 2. Hit ``M-x ein:notebooklist-open`` to open notebook list. This will
  154. open :ref:`notebook list <notebook-list-commands>` buffer.
  155. 3. In the notebook list buffer, you can open notebooks by hitting
  156. ``[Open]`` buttons. See :ref:`notebook <notebook-commands>`
  157. section for what you can do in the notebook buffer.
  158. .. _`IPython notebook server`:
  159. http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html
  160. Commands/Keybinds
  161. -----------------
  162. .. _notebook-list-commands:
  163. Notebook list
  164. ^^^^^^^^^^^^^
  165. You can start notebook by ``M-x ein:notebooklist-open`` and enter the
  166. port or URL of the IPython notebook server.
  167. .. el:function:: ein:notebooklist-open
  168. .. el:function:: ein:notebooklist-new-notebook
  169. .. el:function:: ein:notebooklist-open-notebook-global
  170. .. el:function:: ein:notebooklist-login
  171. .. el:function:: ein:junk-new
  172. .. el:keymap:: ein:notebooklist-mode-map
  173. :exclude: widget-button
  174. .. _notebook-commands:
  175. Notebook
  176. ^^^^^^^^
  177. The following keybinds are available in notebook buffers.
  178. .. el:keymap:: ein:notebook-mode-map
  179. :replace: s/C-c TAB/C-c C-i/
  180. s/C-c RET/C-c C-m/
  181. .. el:function:: ein:worksheet-execute-all-cell
  182. .. el:function:: ein:worksheet-delete-cell
  183. .. el:function:: ein:junk-rename
  184. .. el:function:: ein:notebook-kill-all-buffers
  185. .. el:function:: ein:iexec-mode
  186. Connected buffer
  187. ^^^^^^^^^^^^^^^^
  188. You can connect any buffer (typically buffer opening Python file) to
  189. opened notebook and use the kernel of the notebook to execute the
  190. code, inspect objects, auto-complete code, jump to the other source,
  191. etc. Once the buffer is connected to the notebook, minor mode
  192. :el:symbol:`ein:connect-mode` is enabled and the following keybinds
  193. are available.
  194. .. el:keymap:: ein:connect-mode-map
  195. :replace: s/C-c TAB/C-c C-i/
  196. Other useful commands:
  197. .. el:function:: ein:connect-to-notebook-command
  198. .. el:function:: ein:connect-eval-buffer
  199. .. el:function:: ein:connect-run-buffer
  200. Shared output buffer
  201. ^^^^^^^^^^^^^^^^^^^^
  202. .. el:function:: ein:shared-output-pop-to-buffer
  203. .. el:keymap:: ein:shared-output-mode-map
  204. Traceback viewer
  205. ^^^^^^^^^^^^^^^^
  206. Traceback in notebook buffer is not easy to understand. You can open
  207. Traceback viewer by the command :el:symbol:`ein:notebook-view-traceback`.
  208. In the Traceback viewer, following keybinds are available.
  209. .. el:keymap:: ein:traceback-mode-map
  210. PyTools
  211. ^^^^^^^
  212. These commands can be used in the notebook buffer and the connected
  213. buffer.
  214. .. el:function:: ein:pytools-doctest
  215. .. el:function:: ein:pytools-whos
  216. .. el:function:: ein:pytools-hierarchy
  217. .. el:function:: ein:pytools-pandas-to-ses
  218. Misc
  219. ^^^^
  220. .. el:package:: helm
  221. .. el:function:: helm-ein-kernel-history
  222. .. el:function:: helm-ein-notebook-buffers
  223. .. el:package:: anything
  224. .. el:function:: anything-ein-kernel-history
  225. .. el:function:: anything-ein-notebook-buffers
  226. .. el:package:: ein
  227. .. It is better to remove el:package from eldomain??
  228. Org-mode integration
  229. --------------------
  230. You can link to IPython notebook from org-mode_ files.
  231. 1. Call org-mode function :el:symbol:`org-store-link`
  232. [#org-store-link]_ in notebook buffer. You can select a region to
  233. specify a position in the notebook.
  234. 2. Go to org-mode file and type ``C-c C-l``
  235. (:el:symbol:`org-insert-link`). This will insert a link to the
  236. notebook.
  237. 3. Type ``C-c C-o`` (:el:symbol:`org-open-at-point`) to open
  238. the link at the point of cursor.
  239. .. _org-mode: http://orgmode.org/
  240. .. [#org-store-link] See `1.3 Activation
  241. <http://orgmode.org/manual/Activation.html>`_ in org-mode manual.
  242. Customization
  243. -------------
  244. You can customize EIN using the Emacs customization UI by typing
  245. ``M-x customize-group RET ein RET``.
  246. All the configurable variables are listed below.
  247. Subpackages
  248. ^^^^^^^^^^^
  249. .. el:variable:: ein:use-auto-complete
  250. .. el:variable:: ein:use-auto-complete-superpack
  251. .. el:variable:: ein:ac-max-cache
  252. .. el:variable:: ein:use-smartrep
  253. .. el:variable:: ein:load-dev
  254. Notebook list
  255. ^^^^^^^^^^^^^
  256. .. el:variable:: ein:url-or-port
  257. .. el:variable:: ein:default-url-or-port
  258. .. el:function:: ein:notebooklist-load
  259. Notebook
  260. ^^^^^^^^
  261. .. el:variable:: ein:worksheet-enable-undo
  262. .. el:variable:: ein:notebook-modes
  263. .. el:variable:: ein:notebook-kill-buffer-ask
  264. .. el:variable:: ein:notebook-querty-timeout-open
  265. .. el:variable:: ein:notebook-querty-timeout-save
  266. .. el:variable:: ein:cell-traceback-level
  267. .. el:variable:: ein:cell-autoexec-prompt
  268. .. el:variable:: ein:junk-notebook-name-template
  269. .. el:variable:: ein:iexec-delay
  270. .. el:variable:: ein:complete-on-dot
  271. .. el:variable:: ein:helm-kernel-history-search-key
  272. .. el:variable:: ein:anything-kernel-history-search-key
  273. .. el:variable:: ein:helm-kernel-history-search-auto-pattern
  274. .. el:variable:: ein:output-type-preference
  275. .. el:variable:: ein:shr-env
  276. Console
  277. ^^^^^^^
  278. .. el:variable:: ein:console-security-dir
  279. .. el:variable:: ein:console-executable
  280. .. el:variable:: ein:console-args
  281. Connect
  282. ^^^^^^^
  283. .. el:variable:: ein:connect-run-command
  284. .. el:variable:: ein:connect-reload-command
  285. .. el:variable:: ein:connect-save-before-run
  286. .. el:variable:: ein:propagate-connect
  287. .. el:variable:: ein:connect-aotoexec-lighter
  288. .. el:variable:: ein:connect-default-notebook
  289. .. el:function:: ein:connect-to-default-notebook
  290. Jedi.el
  291. """""""
  292. .. el:function:: ein:jedi-setup
  293. MuMaMo
  294. ^^^^^^
  295. .. el:variable:: ein:mumamo-codecell-mode
  296. .. el:variable:: ein:mumamo-textcell-mode
  297. .. el:variable:: ein:mumamo-htmlcell-mode
  298. .. el:variable:: ein:mumamo-markdowncell-mode
  299. .. el:variable:: ein:mumamo-rawcell-mode
  300. .. el:variable:: ein:mumamo-headingcell-mode
  301. .. el:variable:: ein:mumamo-fallback-mode
  302. .. el:variable:: ein:use-mumamo-indent-line-function-workaround
  303. Misc
  304. ^^^^
  305. .. el:variable:: ein:filename-translations
  306. .. el:function:: ein:tramp-create-filename-translator
  307. .. el:variable:: ein:query-timeout
  308. Gotchas and caveats
  309. -------------------
  310. Although EIN mostly works fine, there are some deficits I noticed but
  311. have not fixed yet. It seems that they originate from some upstream
  312. bugs so there is little I can do in EIN (but I'm not sure -- it's
  313. possible that I am misusing the libraries!).
  314. If you know how to fix/workaround them, patches are very welcome.
  315. :el:symbol:`url-retrieve`
  316. ^^^^^^^^^^^^^^^^^^^^^^^^^
  317. While using EIN, probably most of the error messages are about server
  318. connections. It looks like the problem is in :el:symbol:`url-retrieve`.
  319. But in those cases you don't loose any notebook data and your IPython
  320. kernel is fine. You can just type the command again and it will go
  321. fine most of the time. For saving notebook, I implemented code to
  322. retry when there is an error comes from :el:symbol:`url-retrieve` to
  323. make it even safer.
  324. MuMaMo
  325. ^^^^^^
  326. When using MuMaMo based notebook mode, you will notice that
  327. highlighting outside of the cell input is turned off while you are in
  328. the input area. It seems there is a bug in MuMaMo [#m3bug]_.
  329. If you are using smartrep and MuMaMo together, see also the warning in
  330. :el:symbol:`ein:use-smartrep` document.
  331. .. [#m3bug] See the relevant bug report I posted:
  332. https://bugs.launchpad.net/nxhtml/+bug/1013794
  333. .. _gotchas-python-mode.el:
  334. python-mode.el
  335. ^^^^^^^^^^^^^^
  336. In my environment, using `python-mode.el`_ without byte-compiling it
  337. in MuMaMo based notebook mode produces segfault.
  338. Also, ``mumamo-idle-set-major-mode`` messages error
  339. ``(wrong-type-argument listp python-saved-check-command)``
  340. time to time, making minibuffer bit noisy while editing notebook.
  341. See Tips_ to fix this problem.
  342. Advanced
  343. --------
  344. By telling IPython a little bit about Emacs Lisp, you can execute
  345. Emacs Lisp from IPython, just like you can execute Javascript in the
  346. web client. See `emacslisp.py`_ for more details.
  347. .. sourcecode:: python
  348. In [1]:
  349. %run PATH/TO/emacslisp.py
  350. In [2]:
  351. EmacsLisp('(+ 1 2 3)')
  352. Out [2]:
  353. 6
  354. .. _`emacslisp.py`:
  355. https://github.com/tkf/emacs-ipython-notebook/blob/master/tools/emacslisp.py
  356. Reporting issue
  357. ---------------
  358. Please use ``M-x ein:dev-bug-report-template`` to write a bug report.
  359. It pops up a buffer containing some system information and instruction
  360. for bug report.
  361. Logging
  362. ^^^^^^^
  363. Sometime more information that the ``*Message*`` buffer provides is
  364. needed to debug.
  365. 1. Execute ``(ein:log-set-level 'debug)``
  366. (e.g., ``M-: (ein:log-set-level 'debug) RET``).
  367. 2. Then do some operation which cause the problem.
  368. 3. Go to the log buffer ``_*ein:log-all*`` (it starts with a space)
  369. and paste the whole buffer to the issue tracker.
  370. Please enclose the log with three backquotes to make the snippet as
  371. a code block, like this::
  372. ```
  373. [verbose] Start logging. @#<buffer *ein: 8888/NAME*>
  374. [info] Notebook NAME is ready @#<buffer *ein: 8888/NAME*>
  375. [info] Kernel started: 5e4f74d1-ce91-4e7e-9575-9646adea5172 @#<buffer *scratch*>
  376. ```
  377. See also: `GitHub Flavored Markdown - Introduction
  378. <http://github.github.com/github-flavored-markdown/>`_
  379. If it is too long, you can use paste bin service such as
  380. `gist <https://gist.github.com/>`_.
  381. websocket.el
  382. """"""""""""
  383. websocket.el has its logging buffer. Sometime its useful to see its
  384. log. This is how to do that.
  385. 1. ``(require 'ein-dev)``
  386. 2. ``(setq websocket-debug t)`` or call :el:symbol:`ein:dev-start-debug`.
  387. 3. Then do the operation which causes the problem.
  388. 4. Go to log buffer using
  389. :el:symbol:`ein:dev-pop-to-debug-shell` and
  390. :el:symbol:`ein:dev-pop-to-debug-iopub`.
  391. These command must be called in the notebook buffer.
  392. Debugging
  393. ^^^^^^^^^
  394. If you are interested in debugging EIN, you should start it with
  395. calling the command :el:symbol:`ein:dev-start-debug`.
  396. If the bug is websocket related, you may need to run it with a
  397. prefix key like this: ``C-u M-x ein:dev-start-debug RET`` to get
  398. a backtrace.
  399. This command sets :el:symbol:`debug-on-error` to ``t`` and do some
  400. patching to debugger. This patching is required because printing EWOC
  401. objects freezes Emacs otherwise. It also changes log level to
  402. log everything the log buffer. You can reset the patch and log level
  403. with :el:symbol:`ein:dev-stop-debug`.
  404. Change Log
  405. ==========
  406. v0.2.1
  407. ------
  408. * Cached auto-complete is removed.
  409. :el:symbol:`ac-source-ein-cached` and :el:symbol:`ac-complete-ein-cached`
  410. are obsolete.
  411. :el:symbol:`ein:ac-max-cache` has no effect now.
  412. * :el:symbol:`ein:query-timeout` is `nil` if `curl` backend is used
  413. by request.el_.
  414. * History search interface (:el:symbol:`helm-ein-kernel-history` and
  415. :el:symbol:`anything-ein-kernel-history`) discards duplications.
  416. This functionality requires at least version 4.0 of IPython kernel.
  417. It is introduced by the pull request
  418. `ipython/ipython#2792 <https://github.com/ipython/ipython/pull/2792>`_.
  419. As of writing, you need IPython 0.14.dev from github.
  420. For older versions of kernels, it continues to work but you will
  421. see duplications.
  422. * Add support for `kernel_info` request for IPython kernel protocol,
  423. which is introduced by
  424. `ipython/ipython#2649 <https://github.com/ipython/ipython/issues/2649>`_.
  425. This protocol is not used in EIN anywhere yet.
  426. * Use request.el_ for smoother experience.
  427. v0.2
  428. ----
  429. * Preliminary login support. See :el:symbol:`ein:notebooklist-login`.
  430. * Code completion in notebook happens *really* automatically.
  431. You don't need to hit a key to start completion.
  432. * :el:symbol:`ein:console-open` works without `python.el`_.
  433. * Expand code cell output on execution.
  434. (`#88 <https://github.com/tkf/emacs-ipython-notebook/issues/88>`_).
  435. * Improve :el:symbol:`ein:completer-dot-complete` and
  436. :el:symbol:`ein:jedi-dot-complete`. Do not expand common part when
  437. inserting dot, to make typing code containing dots less surprising.
  438. * Add support for Jedi.el_. See :el:symbol:`ein:jedi-setup`.
  439. * Add a simple org-mode link support.
  440. * Add built-in multiple language fontification for notebook:
  441. :el:symbol:`ein:notebook-multilang-mode`.
  442. This is the new default for :el:symbol:`ein:notebook-modes`.
  443. * Add helm/anything interface to search kernel history:
  444. :el:symbol:`helm-ein-kernel-history` and
  445. :el:symbol:`anything-ein-kernel-history`.
  446. See also the configurable options to use these commands:
  447. :el:symbol:`ein:helm-kernel-history-search-key` and
  448. :el:symbol:`ein:anything-kernel-history-search-key`.
  449. * Preliminary support for multiple worksheets.
  450. * Rename notion of "scratch notebook" to "junk notebook".
  451. This is to avoid confusion with newly added "scratch sheet".
  452. Old commands are renamed to :el:symbol:`ein:junk-new` and
  453. :el:symbol:`ein:junk-rename`.
  454. * Preferred MIME types to be used can be configured using the variable
  455. :el:symbol:`ein:output-type-preference`.
  456. * HTML content is rendered SHR (Simple HTML Renderer) by default.
  457. Use :el:symbol:`ein:shr-env` to tweak how HTML rendered.
  458. * :el:symbol:`ein:notebook-discard-output-on-save` is obsolete now.
  459. * Support execution history. Commands
  460. :el:symbol:`ein:worksheet-previous-input-history` and
  461. :el:symbol:`ein:worksheet-next-input-history` can be used
  462. to insert previously executed code into the current cell.
  463. * Add :el:symbol:`ein:pseudo-console-mode`.
  464. * Add "scratch sheet". This acts almost as same as worksheet, but you
  465. don't need to save it. You can use try any code without saving
  466. junks in your notebook. Use the command
  467. :el:symbol:`ein:notebook-scratchsheet-open` to open scratch sheet.
  468. * Menu support in notebook mode and notebook list mode.
  469. * Auto-connection support.
  470. The new function :el:symbol:`ein:connect-to-default-notebook` can be
  471. added to :el:symbol:`python-mode-hook` to automatically connect
  472. python-mode buffers to default notebook specified by
  473. :el:symbol:`ein:connect-default-notebook`. See also
  474. :el:symbol:`ein:notebooklist-load`.
  475. * Add :el:symbol:`ein:worksheet-execute-cell-and-insert-below`.
  476. * Change the timing to trigger auto-execution in connected buffer.
  477. It was triggered on save before. Now it is on run, eval or reload.
  478. See :el:symbol:`ein:connect-toggle-autoexec`.
  479. v0.1.2
  480. ------
  481. * Mostly refactoring for worksheet support in v0.2.
  482. * Rename command :el:symbol:`ein:notebook-console-open` to
  483. :el:symbol:`ein:console-open`. It is available from non-notebook
  484. buffer such as connected buffer now.
  485. * Add :el:symbol:`ein:connect-reload-buffer`.
  486. Old default :el:symbol:`ein:connect-run-buffer` behavior is
  487. replaced by this function. :el:symbol:`ein:connect-run-buffer`
  488. now actually runs buffer instead of loading it.
  489. v0.1.1
  490. ------
  491. * Support `auto-complete.el`_\ 's popup/quick help.
  492. * Add :el:symbol:`ein:notebooklist-first-open-hook`.
  493. * Handle carriage return
  494. (`#13 <https://github.com/tkf/emacs-ipython-notebook/issues/13>`_).
  495. * :el:symbol:`ein:connect-to-notebook-command` is improved;
  496. it can connect to the notebook which is not opened yet.
  497. * Plain text type output is favored over LaTeX type output
  498. (previous setting was opposite).
  499. * Workaround indentation problem when using MuMaMo
  500. (`#20 <https://github.com/tkf/emacs-ipython-notebook/issues/20>`_).
  501. See :el:symbol:`ein:use-mumamo-indent-line-function-workaround`.
  502. * Add :el:symbol:`ein:notebook-rename-to-scratch-command`.
  503. * Add :el:symbol:`ein:pytools-pandas-to-ses`.
  504. * Add Imenu support.
  505. * Better heading cell faces.
  506. * Add :el:symbol:`ein:iexec-mode`
  507. * Add auto-execution mode
  508. (see :el:symbol:`ein:connect-toggle-autoexec` and
  509. :el:symbol:`ein:notebook-turn-on-autoexec`).
  510. * Start completion when "." is inserted.
  511. Use :el:symbol:`ein:complete-on-dot` to disable this feature.
  512. * Support tramp. See :el:symbol:`ein:filename-translations`.
  513. * Change callback API in :el:symbol:`ein:kernel-execute`
  514. to adapt messaging protocol change in
  515. `IPython (#2051) <https://github.com/ipython/ipython/pull/2051>`_.
  516. * Add helm/anything support.
  517. Use :el:symbol:`helm-ein-notebook-buffers` or
  518. :el:symbol:`anything-ein-notebook-buffers`.
  519. v0.1
  520. ----
  521. * First release.
  522. License
  523. =======
  524. Emacs IPython Notebook is licensed under GPL v3.
  525. See COPYING for details.
  526. Indices and tables
  527. ==================
  528. * :ref:`genindex`
  529. * :ref:`search`