This commit is contained in:
Takafumi Arakaki 2012-12-06 23:57:53 +01:00
parent ca49318067
commit ff688d68ae
3 changed files with 152 additions and 106 deletions

View file

@ -543,6 +543,12 @@ Change Log
v0.2
----
* :el:symbol:`ein:console-open` works without `python.el`_.
* Expand code cell output on execution.
(`#88 <https://github.com/tkf/emacs-ipython-notebook/issues/88>`_).
* Improve :el:symbol:`ein:completer-dot-complete` and
:el:symbol:`ein:jedi-dot-complete`. Do not expand common part when
inserting dot, to make typing code containing dots less surprising.
* Add support for Jedi.el_. See :el:symbol:`ein:jedi-setup`.
* Add a simple org-mode link support.
* Add built-in multiple language fontification for notebook:

View file

@ -42,7 +42,7 @@
<div class="body">
<div class="section" id="welcome-to-emacs-ipython-notebook-s-documentation">
<h1><a class="toc-backref" href="#id22">Welcome to Emacs IPython Notebook&#8217;s documentation!</a><a class="headerlink" href="#welcome-to-emacs-ipython-notebook-s-documentation" title="Permalink to this headline"></a></h1>
<h1><a class="toc-backref" href="#id24">Welcome to Emacs IPython Notebook&#8217;s documentation!</a><a class="headerlink" href="#welcome-to-emacs-ipython-notebook-s-documentation" title="Permalink to this headline"></a></h1>
<p>Emacs IPython Notebook (EIN) provides a IPython Notebook client and
integrated REPL (like <a class="reference external" href="http://common-lisp.net/project/slime/">SLIME</a>) in Emacs. While EIN makes notebook
editing very powerful by allowing you to use any Emacs features, it
@ -99,71 +99,71 @@ object).</li>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#welcome-to-emacs-ipython-notebook-s-documentation" id="id22">Welcome to Emacs IPython Notebook&#8217;s documentation!</a><ul>
<li><a class="reference internal" href="#quick-try" id="id23">Quick try</a></li>
<li><a class="reference internal" href="#requirements" id="id24">Requirements</a></li>
<li><a class="reference internal" href="#install" id="id25">Install</a><ul>
<li><a class="reference internal" href="#using-el-get" id="id26">Using el-get</a></li>
<li><a class="reference internal" href="#using-package-el-melpa" id="id27">Using package.el (MELPA)</a></li>
<li><a class="reference internal" href="#manual-install" id="id28">Manual install</a></li>
<li><a class="reference internal" href="#setup" id="id29">Setup</a></li>
<li><a class="reference internal" href="#welcome-to-emacs-ipython-notebook-s-documentation" id="id24">Welcome to Emacs IPython Notebook&#8217;s documentation!</a><ul>
<li><a class="reference internal" href="#quick-try" id="id25">Quick try</a></li>
<li><a class="reference internal" href="#requirements" id="id26">Requirements</a></li>
<li><a class="reference internal" href="#install" id="id27">Install</a><ul>
<li><a class="reference internal" href="#using-el-get" id="id28">Using el-get</a></li>
<li><a class="reference internal" href="#using-package-el-melpa" id="id29">Using package.el (MELPA)</a></li>
<li><a class="reference internal" href="#manual-install" id="id30">Manual install</a></li>
<li><a class="reference internal" href="#setup" id="id31">Setup</a></li>
</ul>
</li>
<li><a class="reference internal" href="#usage" id="id30">Usage</a></li>
<li><a class="reference internal" href="#commands-keybinds" id="id31">Commands/Keybinds</a><ul>
<li><a class="reference internal" href="#notebook-list" id="id32">Notebook list</a></li>
<li><a class="reference internal" href="#notebook" id="id33">Notebook</a></li>
<li><a class="reference internal" href="#connected-buffer" id="id34">Connected buffer</a></li>
<li><a class="reference internal" href="#shared-output-buffer" id="id35">Shared output buffer</a></li>
<li><a class="reference internal" href="#traceback-viewer" id="id36">Traceback viewer</a></li>
<li><a class="reference internal" href="#pytools" id="id37">PyTools</a></li>
<li><a class="reference internal" href="#misc" id="id38">Misc</a></li>
<li><a class="reference internal" href="#usage" id="id32">Usage</a></li>
<li><a class="reference internal" href="#commands-keybinds" id="id33">Commands/Keybinds</a><ul>
<li><a class="reference internal" href="#notebook-list" id="id34">Notebook list</a></li>
<li><a class="reference internal" href="#notebook" id="id35">Notebook</a></li>
<li><a class="reference internal" href="#connected-buffer" id="id36">Connected buffer</a></li>
<li><a class="reference internal" href="#shared-output-buffer" id="id37">Shared output buffer</a></li>
<li><a class="reference internal" href="#traceback-viewer" id="id38">Traceback viewer</a></li>
<li><a class="reference internal" href="#pytools" id="id39">PyTools</a></li>
<li><a class="reference internal" href="#misc" id="id40">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#org-mode-integration" id="id39">Org-mode integration</a></li>
<li><a class="reference internal" href="#customization" id="id40">Customization</a><ul>
<li><a class="reference internal" href="#subpackages" id="id41">Subpackages</a></li>
<li><a class="reference internal" href="#id11" id="id42">Notebook list</a></li>
<li><a class="reference internal" href="#id12" id="id43">Notebook</a></li>
<li><a class="reference internal" href="#console" id="id44">Console</a></li>
<li><a class="reference internal" href="#connect" id="id45">Connect</a><ul>
<li><a class="reference internal" href="#jedi-el" id="id46">Jedi.el</a></li>
<li><a class="reference internal" href="#org-mode-integration" id="id41">Org-mode integration</a></li>
<li><a class="reference internal" href="#customization" id="id42">Customization</a><ul>
<li><a class="reference internal" href="#subpackages" id="id43">Subpackages</a></li>
<li><a class="reference internal" href="#id12" id="id44">Notebook list</a></li>
<li><a class="reference internal" href="#id13" id="id45">Notebook</a></li>
<li><a class="reference internal" href="#console" id="id46">Console</a></li>
<li><a class="reference internal" href="#connect" id="id47">Connect</a><ul>
<li><a class="reference internal" href="#jedi-el" id="id48">Jedi.el</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id14" id="id47">MuMaMo</a></li>
<li><a class="reference internal" href="#id15" id="id48">Misc</a></li>
<li><a class="reference internal" href="#id15" id="id49">MuMaMo</a></li>
<li><a class="reference internal" href="#id16" id="id50">Misc</a></li>
</ul>
</li>
<li><a class="reference internal" href="#gotchas-and-caveats" id="id49">Gotchas and caveats</a><ul>
<li><a class="reference internal" href="#url-retrieve" id="id50"><tt class="xref el el-symbol docutils literal"><span class="pre">url-retrieve</span></tt></a></li>
<li><a class="reference internal" href="#id16" id="id51">MuMaMo</a></li>
<li><a class="reference internal" href="#gotchas-python-mode-el" id="id52">python-mode.el</a></li>
<li><a class="reference internal" href="#gotchas-and-caveats" id="id51">Gotchas and caveats</a><ul>
<li><a class="reference internal" href="#url-retrieve" id="id52"><tt class="xref el el-symbol docutils literal"><span class="pre">url-retrieve</span></tt></a></li>
<li><a class="reference internal" href="#id17" id="id53">MuMaMo</a></li>
<li><a class="reference internal" href="#gotchas-python-mode-el" id="id54">python-mode.el</a></li>
</ul>
</li>
<li><a class="reference internal" href="#advanced" id="id53">Advanced</a></li>
<li><a class="reference internal" href="#reporting-issue" id="id54">Reporting issue</a><ul>
<li><a class="reference internal" href="#logging" id="id55">Logging</a><ul>
<li><a class="reference internal" href="#id19" id="id56">websocket.el</a></li>
<li><a class="reference internal" href="#advanced" id="id55">Advanced</a></li>
<li><a class="reference internal" href="#reporting-issue" id="id56">Reporting issue</a><ul>
<li><a class="reference internal" href="#logging" id="id57">Logging</a><ul>
<li><a class="reference internal" href="#id20" id="id58">websocket.el</a></li>
</ul>
</li>
<li><a class="reference internal" href="#debugging" id="id57">Debugging</a></li>
<li><a class="reference internal" href="#debugging" id="id59">Debugging</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#change-log" id="id58">Change Log</a><ul>
<li><a class="reference internal" href="#v0-2" id="id59">v0.2</a></li>
<li><a class="reference internal" href="#v0-1-2" id="id60">v0.1.2</a></li>
<li><a class="reference internal" href="#v0-1-1" id="id61">v0.1.1</a></li>
<li><a class="reference internal" href="#v0-1" id="id62">v0.1</a></li>
<li><a class="reference internal" href="#change-log" id="id60">Change Log</a><ul>
<li><a class="reference internal" href="#v0-2" id="id61">v0.2</a></li>
<li><a class="reference internal" href="#v0-1-2" id="id62">v0.1.2</a></li>
<li><a class="reference internal" href="#v0-1-1" id="id63">v0.1.1</a></li>
<li><a class="reference internal" href="#v0-1" id="id64">v0.1</a></li>
</ul>
</li>
<li><a class="reference internal" href="#license" id="id63">License</a></li>
<li><a class="reference internal" href="#indices-and-tables" id="id64">Indices and tables</a></li>
<li><a class="reference internal" href="#license" id="id65">License</a></li>
<li><a class="reference internal" href="#indices-and-tables" id="id66">Indices and tables</a></li>
</ul>
</div>
<div class="section" id="quick-try">
<h2><a class="toc-backref" href="#id23">Quick try</a><a class="headerlink" href="#quick-try" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id25">Quick try</a><a class="headerlink" href="#quick-try" title="Permalink to this headline"></a></h2>
<p>This is a quick and clean way to try EIN separately from your Emacs
setting. If you want to try EIN but think preparing all the
requirements is too much, try this!:</p>
@ -179,7 +179,7 @@ to use.:</p>
</div>
</div>
<div class="section" id="requirements">
<h2><a class="toc-backref" href="#id24">Requirements</a><a class="headerlink" href="#requirements" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id26">Requirements</a><a class="headerlink" href="#requirements" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><a class="reference external" href="http://ipython.org/">IPython</a> 0.12 or higher.</li>
<li><a class="reference external" href="https://github.com/ahyatt/emacs-websocket">websocket.el</a> 0.9</li>
@ -211,7 +211,7 @@ EIEIO and json.el. EIN is currently tested in Emacs 24.1.</p>
</table>
</div>
<div class="section" id="install">
<h2><a class="toc-backref" href="#id25">Install</a><a class="headerlink" href="#install" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id27">Install</a><a class="headerlink" href="#install" title="Permalink to this headline"></a></h2>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">As EIN relies on many packages and it will not work
@ -219,7 +219,7 @@ properly with outdated versions, installing it using el-get or
MELPA is highly recommended.</p>
</div>
<div class="section" id="using-el-get">
<h3><a class="toc-backref" href="#id26">Using el-get</a><a class="headerlink" href="#using-el-get" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id28">Using el-get</a><a class="headerlink" href="#using-el-get" title="Permalink to this headline"></a></h3>
<p>If you use developmental version of <a class="reference external" href="https://github.com/dimitri/el-get">el-get</a>, you can install it
easily using it. Emacs IPython Notebook is registered as package
<tt class="docutils literal"><span class="pre">ein</span></tt>. See <a class="reference external" href="https://github.com/dimitri/el-get">el-get</a> website for more information.</p>
@ -233,12 +233,12 @@ will solve the problem. Note that this will remove the whole
</div>
</div>
<div class="section" id="using-package-el-melpa">
<h3><a class="toc-backref" href="#id27">Using package.el (MELPA)</a><a class="headerlink" href="#using-package-el-melpa" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id29">Using package.el (MELPA)</a><a class="headerlink" href="#using-package-el-melpa" title="Permalink to this headline"></a></h3>
<p>You can install EIN using <a class="reference external" href="http://emacswiki.org/emacs/ELPA">package.el</a> when <a class="reference external" href="https://github.com/milkypostman/melpa">MELPA</a> package repository
is added to its setting. See <a class="reference external" href="https://github.com/milkypostman/melpa">MELPA</a> website for more information.</p>
</div>
<div class="section" id="manual-install">
<h3><a class="toc-backref" href="#id28">Manual install</a><a class="headerlink" href="#manual-install" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id30">Manual install</a><a class="headerlink" href="#manual-install" title="Permalink to this headline"></a></h3>
<p>Put Emacs lisp <tt class="docutils literal"><span class="pre">ein*.el</span></tt> files and Python file <tt class="docutils literal"><span class="pre">ein.py</span></tt> in
a directory defined in your <tt class="xref el el-symbol docutils literal"><span class="pre">load-path</span></tt>.</p>
<p>You should byte compile EIN, especially when using MuMaMo, otherwise
@ -259,7 +259,7 @@ don&#8217;t use that optional package.</p>
</div>
</div>
<div class="section" id="setup">
<h3><a class="toc-backref" href="#id29">Setup</a><a class="headerlink" href="#setup" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id31">Setup</a><a class="headerlink" href="#setup" title="Permalink to this headline"></a></h3>
<p>Here is the minimal configuration. See <a class="reference internal" href="#customization">customization</a> for more details.</p>
<div class="highlight-cl"><div class="highlight"><pre><span class="p">(</span><span class="nb">require</span> <span class="ss">&#39;ein</span><span class="p">)</span>
</pre></div>
@ -267,7 +267,7 @@ don&#8217;t use that optional package.</p>
</div>
</div>
<div class="section" id="usage">
<h2><a class="toc-backref" href="#id30">Usage</a><a class="headerlink" href="#usage" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id32">Usage</a><a class="headerlink" href="#usage" title="Permalink to this headline"></a></h2>
<ol class="arabic simple">
<li>Start <a class="reference external" href="http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html">IPython notebook server</a>.</li>
<li>Hit <tt class="docutils literal"><span class="pre">M-x</span> <span class="pre">ein:notebooklist-open</span></tt> to open notebook list. This will
@ -278,9 +278,9 @@ section for what you can do in the notebook buffer.</li>
</ol>
</div>
<div class="section" id="commands-keybinds">
<h2><a class="toc-backref" href="#id31">Commands/Keybinds</a><a class="headerlink" href="#commands-keybinds" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id33">Commands/Keybinds</a><a class="headerlink" href="#commands-keybinds" title="Permalink to this headline"></a></h2>
<div class="section" id="notebook-list">
<span id="notebook-list-commands"></span><h3><a class="toc-backref" href="#id32">Notebook list</a><a class="headerlink" href="#notebook-list" title="Permalink to this headline"></a></h3>
<span id="notebook-list-commands"></span><h3><a class="toc-backref" href="#id34">Notebook list</a><a class="headerlink" href="#notebook-list" title="Permalink to this headline"></a></h3>
<p>You can start notebook by <tt class="docutils literal"><span class="pre">M-x</span> <span class="pre">ein:notebooklist-open</span></tt> and enter the
port or URL of the IPython notebook server.</p>
<dl class="function">
@ -367,7 +367,7 @@ Notebook name is determined based on
</div>
<div class="section" id="notebook">
<span id="notebook-commands"></span><h3><a class="toc-backref" href="#id33">Notebook</a><a class="headerlink" href="#notebook" title="Permalink to this headline"></a></h3>
<span id="notebook-commands"></span><h3><a class="toc-backref" href="#id35">Notebook</a><a class="headerlink" href="#notebook" title="Permalink to this headline"></a></h3>
<p>The following keybinds are available in notebook buffers.</p>
<dl class="keybind">
<dt>
@ -591,7 +591,8 @@ pager buffer. You can explicitly specify the object by selecting it.</p>
<dt>
<tt class="descname">C-c C-i</tt><tt class="descclassname"> ein:completer-complete</tt></dt>
</dt>
<dd><dd class="first last"><p>(fn KERNEL &amp;optional (CALLBACKS (list :complete_reply (cons (function ein:completer-finish-completing) nil))))</p>
<dd><dd class="first last"><p>Start completion for the code at point.</p>
<p>(fn KERNEL &amp;rest ARGS &amp;key CALLBACKS &amp;allow-other-keys)</p>
</dd></dd>
</dl>
@ -645,7 +646,10 @@ as usual.</p>
<dd><dd class="first last"><p>Open IPython console.
To use this function, <a class="reference internal" href="#ein:console-security-dir" title="ein:console-security-dir"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-security-dir</span></tt></a> and
<a class="reference internal" href="#ein:console-args" title="ein:console-args"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-args</span></tt></a> must be set properly.
This function requires <a class="reference external" href="https://github.com/fgallina/python.el">Fabian Gallina&#8217;s python.el</a> for now;
This function works best with the new <a class="reference external" href="https://github.com/fgallina/python.el">python.el</a> which is shipped
with Emacs 24.2 or later. If you don&#8217;t have it, this function
opens a &#8220;plain&#8221; command line interpreter (comint) buffer where
you cannot use fancy stuff such as TAB completion.
It should be possible to support python-mode.el. Patches are welcome!</p>
</dd></dd>
</dl>
@ -953,7 +957,7 @@ change in its input area.</p>
</div>
<div class="section" id="connected-buffer">
<h3><a class="toc-backref" href="#id34">Connected buffer</a><a class="headerlink" href="#connected-buffer" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id36">Connected buffer</a><a class="headerlink" href="#connected-buffer" title="Permalink to this headline"></a></h3>
<p>You can connect any buffer (typically buffer opening Python file) to
opened notebook and use the kernel of the notebook to execute the
code, inspect objects, auto-complete code, jump to the other source,
@ -999,7 +1003,8 @@ pager buffer. You can explicitly specify the object by selecting it.</p>
<dt>
<tt class="descname">C-c C-i</tt><tt class="descclassname"> ein:completer-complete</tt></dt>
</dt>
<dd><dd class="first last"><p>(fn KERNEL &amp;optional (CALLBACKS (list :complete_reply (cons (function ein:completer-finish-completing) nil))))</p>
<dd><dd class="first last"><p>Start completion for the code at point.</p>
<p>(fn KERNEL &amp;rest ARGS &amp;key CALLBACKS &amp;allow-other-keys)</p>
</dd></dd>
</dl>
@ -1014,12 +1019,12 @@ pager buffer. You can explicitly specify the object by selecting it.</p>
</dt>
<dd><dd class="first last"><p>Toggle auto-execution mode of the current connected buffer.</p>
<p>When auto-execution mode is on, cells in connected notebook will
be automatically executed whenever run, eval or reload command <a class="footnote-reference" href="#id8" id="id7">[4]</a>
be automatically executed whenever run, eval or reload command <a class="footnote-reference" href="#id9" id="id8">[4]</a>
is called in this buffer.</p>
<table class="docutils footnote" frame="void" id="id8" rules="none">
<table class="docutils footnote" frame="void" id="id9" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id7">[4]</a></td><td><p class="first">Namely, one of</p>
<tr><td class="label"><a class="fn-backref" href="#id8">[4]</a></td><td><p class="first">Namely, one of</p>
<ul class="last simple">
<li><a class="reference internal" href="#ein:connect-run-buffer" title="ein:connect-run-buffer"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:connect-run-buffer</span></tt></a></li>
<li><a class="reference internal" href="#ein:connect-eval-buffer" title="ein:connect-eval-buffer"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:connect-eval-buffer</span></tt></a></li>
@ -1043,7 +1048,10 @@ change the cells to run.</p>
<dd><dd class="first last"><p>Open IPython console.
To use this function, <a class="reference internal" href="#ein:console-security-dir" title="ein:console-security-dir"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-security-dir</span></tt></a> and
<a class="reference internal" href="#ein:console-args" title="ein:console-args"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-args</span></tt></a> must be set properly.
This function requires <a class="reference external" href="https://github.com/fgallina/python.el">Fabian Gallina&#8217;s python.el</a> for now;
This function works best with the new <a class="reference external" href="https://github.com/fgallina/python.el">python.el</a> which is shipped
with Emacs 24.2 or later. If you don&#8217;t have it, this function
opens a &#8220;plain&#8221; command line interpreter (comint) buffer where
you cannot use fancy stuff such as TAB completion.
It should be possible to support python-mode.el. Patches are welcome!</p>
</dd></dd>
</dl>
@ -1149,7 +1157,7 @@ Variable <a class="reference internal" href="#ein:connect-run-command" title="ei
</div>
<div class="section" id="shared-output-buffer">
<h3><a class="toc-backref" href="#id35">Shared output buffer</a><a class="headerlink" href="#shared-output-buffer" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id37">Shared output buffer</a><a class="headerlink" href="#shared-output-buffer" title="Permalink to this headline"></a></h3>
<dl class="function">
<dt id="ein:shared-output-pop-to-buffer">
<em class="property">function </em><tt class="descname">ein:shared-output-pop-to-buffer</tt><a class="headerlink" href="#ein:shared-output-pop-to-buffer" title="Permalink to this definition"></a></dt>
@ -1194,7 +1202,7 @@ selecting it.</p>
</div>
<div class="section" id="traceback-viewer">
<h3><a class="toc-backref" href="#id36">Traceback viewer</a><a class="headerlink" href="#traceback-viewer" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id38">Traceback viewer</a><a class="headerlink" href="#traceback-viewer" title="Permalink to this headline"></a></h3>
<p>Traceback in notebook buffer is not easy to understand. You can open
Traceback viewer by the command <tt class="xref el el-symbol docutils literal"><span class="pre">ein:notebook-view-traceback</span></tt>.
In the Traceback viewer, following keybinds are available.</p>
@ -1221,7 +1229,7 @@ In the Traceback viewer, following keybinds are available.</p>
</div>
<div class="section" id="pytools">
<h3><a class="toc-backref" href="#id37">PyTools</a><a class="headerlink" href="#pytools" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id39">PyTools</a><a class="headerlink" href="#pytools" title="Permalink to this headline"></a></h3>
<p>These commands can be used in the notebook buffer and the connected
buffer.</p>
<dl class="function">
@ -1255,7 +1263,7 @@ to install it if you are using newer Emacs.</p>
</div>
<div class="section" id="misc">
<h3><a class="toc-backref" href="#id38">Misc</a><a class="headerlink" href="#misc" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id40">Misc</a><a class="headerlink" href="#misc" title="Permalink to this headline"></a></h3>
<dl class="function">
<dt id="helm-ein-kernel-history">
<em class="property">function </em><tt class="descname">helm-ein-kernel-history</tt><a class="headerlink" href="#helm-ein-kernel-history" title="Permalink to this definition"></a></dt>
@ -1283,11 +1291,11 @@ to install it if you are using newer Emacs.</p>
</div>
</div>
<div class="section" id="org-mode-integration">
<h2><a class="toc-backref" href="#id39">Org-mode integration</a><a class="headerlink" href="#org-mode-integration" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id41">Org-mode integration</a><a class="headerlink" href="#org-mode-integration" title="Permalink to this headline"></a></h2>
<p>You can link to IPython notebook from <a class="reference external" href="http://orgmode.org/">org-mode</a> files.</p>
<ol class="arabic simple">
<li>Call org-mode function <tt class="xref el el-symbol docutils literal"><span class="pre">org-store-link</span></tt>
<a class="footnote-reference" href="#org-store-link" id="id10">[5]</a> in notebook buffer. You can select a region to
<a class="footnote-reference" href="#org-store-link" id="id11">[5]</a> in notebook buffer. You can select a region to
specify a position in the notebook.</li>
<li>Go to org-mode file and type <tt class="docutils literal"><span class="pre">C-c</span> <span class="pre">C-l</span></tt>
(<tt class="xref el el-symbol docutils literal"><span class="pre">org-insert-link</span></tt>). This will insert a link to the
@ -1298,17 +1306,17 @@ the link at the point of cursor.</li>
<table class="docutils footnote" frame="void" id="org-store-link" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id10">[5]</a></td><td>See <a class="reference external" href="http://orgmode.org/manual/Activation.html">1.3 Activation</a> in org-mode manual.</td></tr>
<tr><td class="label"><a class="fn-backref" href="#id11">[5]</a></td><td>See <a class="reference external" href="http://orgmode.org/manual/Activation.html">1.3 Activation</a> in org-mode manual.</td></tr>
</tbody>
</table>
</div>
<div class="section" id="customization">
<h2><a class="toc-backref" href="#id40">Customization</a><a class="headerlink" href="#customization" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id42">Customization</a><a class="headerlink" href="#customization" title="Permalink to this headline"></a></h2>
<p>You can customize EIN using the Emacs customization UI by typing
<tt class="docutils literal"><span class="pre">M-x</span> <span class="pre">customize-group</span> <span class="pre">RET</span> <span class="pre">ein</span> <span class="pre">RET</span></tt>.
All the configurable variables are listed below.</p>
<div class="section" id="subpackages">
<h3><a class="toc-backref" href="#id41">Subpackages</a><a class="headerlink" href="#subpackages" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id43">Subpackages</a><a class="headerlink" href="#subpackages" title="Permalink to this headline"></a></h3>
<dl class="variable">
<dt id="ein:use-auto-complete">
<em class="property">variable </em><tt class="descname">ein:use-auto-complete</tt><a class="headerlink" href="#ein:use-auto-complete" title="Permalink to this definition"></a></dt>
@ -1352,8 +1360,8 @@ commands is fine.</p>
</dd></dl>
</div>
<div class="section" id="id11">
<h3><a class="toc-backref" href="#id42">Notebook list</a><a class="headerlink" href="#id11" title="Permalink to this headline"></a></h3>
<div class="section" id="id12">
<h3><a class="toc-backref" href="#id44">Notebook list</a><a class="headerlink" href="#id12" title="Permalink to this headline"></a></h3>
<dl class="variable">
<dt id="ein:url-or-port">
<em class="property">variable </em><tt class="descname">ein:url-or-port</tt><a class="headerlink" href="#ein:url-or-port" title="Permalink to this definition"></a></dt>
@ -1391,8 +1399,8 @@ in order to make this code work.</p>
</dd></dl>
</div>
<div class="section" id="id12">
<h3><a class="toc-backref" href="#id43">Notebook</a><a class="headerlink" href="#id12" title="Permalink to this headline"></a></h3>
<div class="section" id="id13">
<h3><a class="toc-backref" href="#id45">Notebook</a><a class="headerlink" href="#id13" title="Permalink to this headline"></a></h3>
<dl class="variable">
<dt id="ein:worksheet-enable-undo">
<em class="property">variable </em><tt class="descname">ein:worksheet-enable-undo</tt><a class="headerlink" href="#ein:worksheet-enable-undo" title="Permalink to this definition"></a></dt>
@ -1578,7 +1586,7 @@ If you prefer HTML type over text type, you can set it as:</p>
</div>
<div class="section" id="console">
<h3><a class="toc-backref" href="#id44">Console</a><a class="headerlink" href="#console" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id46">Console</a><a class="headerlink" href="#console" title="Permalink to this headline"></a></h3>
<dl class="variable">
<dt id="ein:console-security-dir">
<em class="property">variable </em><tt class="descname">ein:console-security-dir</tt><a class="headerlink" href="#ein:console-security-dir" title="Permalink to this definition"></a></dt>
@ -1612,13 +1620,39 @@ Types same as <a class="reference internal" href="#ein:console-security-dir" tit
<dt id="ein:console-args">
<em class="property">variable </em><tt class="descname">ein:console-args</tt><a class="headerlink" href="#ein:console-args" title="Permalink to this definition"></a></dt>
<dd><p>Additional argument when using console.</p>
<p>Example: <tt class="docutils literal"><span class="pre">&quot;--ssh</span> <span class="pre">HOSTNAME&quot;</span></tt>.
Types same as <a class="reference internal" href="#ein:console-security-dir" title="ein:console-security-dir"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-security-dir</span></tt></a> are valid.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">Space-separated string is obsolete now. Use a list
of string as value now.</p>
</div>
<p>Setting to use IPython profile named &#8220;YOUR-IPYTHON-PROFILE&#8221;:</p>
<div class="highlight-cl"><div class="highlight"><pre><span class="p">(</span><span class="k">setq</span> <span class="nv">ein:console-args</span> <span class="o">&#39;</span><span class="p">(</span><span class="s">&quot;--profile&quot;</span> <span class="s">&quot;YOUR-IPYTHON-PROFILE&quot;</span><span class="p">))</span>
</pre></div>
</div>
<p>Together with <a class="reference internal" href="#ein:console-security-dir" title="ein:console-security-dir"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-security-dir</span></tt></a>, you can open IPython
console connecting to a remote kernel.:</p>
<div class="highlight-cl"><div class="highlight"><pre><span class="p">(</span><span class="k">setq</span> <span class="nv">ein:console-args</span> <span class="o">&#39;</span><span class="p">(</span><span class="s">&quot;--ssh&quot;</span> <span class="s">&quot;HOSTNAME&quot;</span><span class="p">))</span>
<span class="p">(</span><span class="k">setq</span> <span class="nv">ein:console-security-dir</span> <span class="s">&quot;PATH/TO/SECURITY/DIR&quot;</span><span class="p">)</span>
</pre></div>
</div>
<p>You can setup <a class="reference internal" href="#ein:console-args" title="ein:console-args"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-args</span></tt></a> per server basis using alist form:</p>
<div class="highlight-cl"><div class="highlight"><pre><span class="p">(</span><span class="k">setq</span> <span class="nv">ein:console-args</span>
<span class="o">&#39;</span><span class="p">((</span><span class="mi">8888</span> <span class="o">.</span> <span class="o">&#39;</span><span class="p">(</span><span class="s">&quot;--profile&quot;</span> <span class="s">&quot;PROFILE&quot;</span><span class="p">))</span>
<span class="p">(</span><span class="mi">8889</span> <span class="o">.</span> <span class="o">&#39;</span><span class="p">(</span><span class="s">&quot;--ssh&quot;</span> <span class="s">&quot;HOSTNAME&quot;</span><span class="p">))</span>
<span class="p">(</span><span class="nv">default</span> <span class="o">.</span> <span class="o">&#39;</span><span class="p">(</span><span class="s">&quot;--profile&quot;</span> <span class="s">&quot;default&quot;</span><span class="p">))))</span>
</pre></div>
</div>
<p>If you want to use more complex setting, you can set a function to it:</p>
<div class="highlight-cl"><div class="highlight"><pre><span class="p">(</span><span class="k">setq</span> <span class="nv">ein:console-args</span>
<span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="nv">url-or-port</span><span class="p">)</span> <span class="o">&#39;</span><span class="p">(</span><span class="s">&quot;--ssh&quot;</span> <span class="s">&quot;HOSTNAME&quot;</span><span class="p">)))</span>
</pre></div>
</div>
<p>See also: <a class="reference internal" href="#ein:console-security-dir" title="ein:console-security-dir"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-security-dir</span></tt></a>.</p>
</dd></dl>
</div>
<div class="section" id="connect">
<h3><a class="toc-backref" href="#id45">Connect</a><a class="headerlink" href="#connect" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id47">Connect</a><a class="headerlink" href="#connect" title="Permalink to this headline"></a></h3>
<dl class="variable">
<dt id="ein:connect-run-command">
<em class="property">variable </em><tt class="descname">ein:connect-run-command</tt><a class="headerlink" href="#ein:connect-run-command" title="Permalink to this definition"></a></dt>
@ -1682,7 +1716,7 @@ notebook.</p>
</dd></dl>
<div class="section" id="jedi-el">
<h4><a class="toc-backref" href="#id46">Jedi.el</a><a class="headerlink" href="#jedi-el" title="Permalink to this headline"></a></h4>
<h4><a class="toc-backref" href="#id48">Jedi.el</a><a class="headerlink" href="#jedi-el" title="Permalink to this headline"></a></h4>
<dl class="function">
<dt id="ein:jedi-setup">
<em class="property">function </em><tt class="descname">ein:jedi-setup</tt><a class="headerlink" href="#ein:jedi-setup" title="Permalink to this definition"></a></dt>
@ -1696,8 +1730,8 @@ To use EIN and Jedi together, add the following in your Emacs setup.:</p>
</div>
</div>
<div class="section" id="id14">
<h3><a class="toc-backref" href="#id47">MuMaMo</a><a class="headerlink" href="#id14" title="Permalink to this headline"></a></h3>
<div class="section" id="id15">
<h3><a class="toc-backref" href="#id49">MuMaMo</a><a class="headerlink" href="#id15" title="Permalink to this headline"></a></h3>
<dl class="variable">
<dt id="ein:mumamo-codecell-mode">
<em class="property">variable </em><tt class="descname">ein:mumamo-codecell-mode</tt><a class="headerlink" href="#ein:mumamo-codecell-mode" title="Permalink to this definition"></a></dt>
@ -1756,8 +1790,8 @@ problem.</p>
</dd></dl>
</div>
<div class="section" id="id15">
<h3><a class="toc-backref" href="#id48">Misc</a><a class="headerlink" href="#id15" title="Permalink to this headline"></a></h3>
<div class="section" id="id16">
<h3><a class="toc-backref" href="#id50">Misc</a><a class="headerlink" href="#id16" title="Permalink to this headline"></a></h3>
<dl class="variable">
<dt id="ein:filename-translations">
<em class="property">variable </em><tt class="descname">ein:filename-translations</tt><a class="headerlink" href="#ein:filename-translations" title="Permalink to this definition"></a></dt>
@ -1833,14 +1867,14 @@ let me know or send pull request at github!
</div>
</div>
<div class="section" id="gotchas-and-caveats">
<h2><a class="toc-backref" href="#id49">Gotchas and caveats</a><a class="headerlink" href="#gotchas-and-caveats" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id51">Gotchas and caveats</a><a class="headerlink" href="#gotchas-and-caveats" title="Permalink to this headline"></a></h2>
<p>Although EIN mostly works fine, there are some deficits I noticed but
have not fixed yet. It seems that they originate from some upstream
bugs so there is little I can do in EIN (but I&#8217;m not sure &#8211; it&#8217;s
possible that I am misusing the libraries!).</p>
<p>If you know how to fix/workaround them, patches are very welcome.</p>
<div class="section" id="url-retrieve">
<h3><a class="toc-backref" href="#id50"><tt class="xref el el-symbol docutils literal"><span class="pre">url-retrieve</span></tt></a><a class="headerlink" href="#url-retrieve" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id52"><tt class="xref el el-symbol docutils literal"><span class="pre">url-retrieve</span></tt></a><a class="headerlink" href="#url-retrieve" title="Permalink to this headline"></a></h3>
<p>While using EIN, probably most of the error messages are about server
connections. It looks like the problem is in <tt class="xref el el-symbol docutils literal"><span class="pre">url-retrieve</span></tt>.
But in those cases you don&#8217;t loose any notebook data and your IPython
@ -1849,23 +1883,23 @@ fine most of the time. For saving notebook, I implemented code to
retry when there is an error comes from <tt class="xref el el-symbol docutils literal"><span class="pre">url-retrieve</span></tt> to
make it even safer.</p>
</div>
<div class="section" id="id16">
<h3><a class="toc-backref" href="#id51">MuMaMo</a><a class="headerlink" href="#id16" title="Permalink to this headline"></a></h3>
<div class="section" id="id17">
<h3><a class="toc-backref" href="#id53">MuMaMo</a><a class="headerlink" href="#id17" title="Permalink to this headline"></a></h3>
<p>When using MuMaMo based notebook mode, you will notice that
highlighting outside of the cell input is turned off while you are in
the input area. It seems there is a bug in MuMaMo <a class="footnote-reference" href="#m3bug" id="id17">[6]</a>.</p>
the input area. It seems there is a bug in MuMaMo <a class="footnote-reference" href="#m3bug" id="id18">[6]</a>.</p>
<p>If you are using smartrep and MuMaMo together, see also the warning in
<a class="reference internal" href="#ein:use-smartrep" title="ein:use-smartrep"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:use-smartrep</span></tt></a> document.</p>
<table class="docutils footnote" frame="void" id="m3bug" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id17">[6]</a></td><td>See the relevant bug report I posted:
<tr><td class="label"><a class="fn-backref" href="#id18">[6]</a></td><td>See the relevant bug report I posted:
<a class="reference external" href="https://bugs.launchpad.net/nxhtml/+bug/1013794">https://bugs.launchpad.net/nxhtml/+bug/1013794</a></td></tr>
</tbody>
</table>
</div>
<div class="section" id="gotchas-python-mode-el">
<span id="id18"></span><h3><a class="toc-backref" href="#id52">python-mode.el</a><a class="headerlink" href="#gotchas-python-mode-el" title="Permalink to this headline"></a></h3>
<span id="id19"></span><h3><a class="toc-backref" href="#id54">python-mode.el</a><a class="headerlink" href="#gotchas-python-mode-el" title="Permalink to this headline"></a></h3>
<p>In my environment, using <a class="reference external" href=":https://launchpad.net/python-mode">python-mode.el</a> without byte-compiling it
in MuMaMo based notebook mode produces segfault.</p>
<p>Also, <tt class="docutils literal"><span class="pre">mumamo-idle-set-major-mode</span></tt> messages error
@ -1875,7 +1909,7 @@ See <a class="reference external" href="https://github.com/tkf/emacs-ipython-not
</div>
</div>
<div class="section" id="advanced">
<h2><a class="toc-backref" href="#id53">Advanced</a><a class="headerlink" href="#advanced" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id55">Advanced</a><a class="headerlink" href="#advanced" title="Permalink to this headline"></a></h2>
<p>By telling IPython a little bit about Emacs Lisp, you can execute
Emacs Lisp from IPython, just like you can execute Javascript in the
web client. See <a class="reference external" href="https://github.com/tkf/emacs-ipython-notebook/blob/master/tools/emacslisp.py">emacslisp.py</a> for more details.</p>
@ -1890,12 +1924,12 @@ web client. See <a class="reference external" href="https://github.com/tkf/emac
</div>
</div>
<div class="section" id="reporting-issue">
<h2><a class="toc-backref" href="#id54">Reporting issue</a><a class="headerlink" href="#reporting-issue" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id56">Reporting issue</a><a class="headerlink" href="#reporting-issue" title="Permalink to this headline"></a></h2>
<p>Please use <tt class="docutils literal"><span class="pre">M-x</span> <span class="pre">ein:dev-bug-report-template</span></tt> to write a bug report.
It pops up a buffer containing some system information and instruction
for bug report.</p>
<div class="section" id="logging">
<h3><a class="toc-backref" href="#id55">Logging</a><a class="headerlink" href="#logging" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id57">Logging</a><a class="headerlink" href="#logging" title="Permalink to this headline"></a></h3>
<p>Sometime more information that the <tt class="docutils literal"><span class="pre">*Message*</span></tt> buffer provides is
needed to debug.</p>
<ol class="arabic">
@ -1920,8 +1954,8 @@ a code block, like this:</p>
<a class="reference external" href="https://gist.github.com/">gist</a>.</p>
</li>
</ol>
<div class="section" id="id19">
<h4><a class="toc-backref" href="#id56">websocket.el</a><a class="headerlink" href="#id19" title="Permalink to this headline"></a></h4>
<div class="section" id="id20">
<h4><a class="toc-backref" href="#id58">websocket.el</a><a class="headerlink" href="#id20" title="Permalink to this headline"></a></h4>
<p>websocket.el has its logging buffer. Sometime its useful to see its
log. This is how to do that.</p>
<ol class="arabic simple">
@ -1936,7 +1970,7 @@ These command must be called in the notebook buffer.</li>
</div>
</div>
<div class="section" id="debugging">
<h3><a class="toc-backref" href="#id57">Debugging</a><a class="headerlink" href="#debugging" title="Permalink to this headline"></a></h3>
<h3><a class="toc-backref" href="#id59">Debugging</a><a class="headerlink" href="#debugging" title="Permalink to this headline"></a></h3>
<p>If you are interested in debugging EIN, you should start it with
calling the command <tt class="xref el el-symbol docutils literal"><span class="pre">ein:dev-start-debug</span></tt>.
This command sets <tt class="xref el el-symbol docutils literal"><span class="pre">debug-on-error</span></tt> to <tt class="docutils literal"><span class="pre">t</span></tt> and do some
@ -1948,10 +1982,16 @@ with <tt class="xref el el-symbol docutils literal"><span class="pre">ein:dev-st
</div>
</div>
<div class="section" id="change-log">
<h1><a class="toc-backref" href="#id58">Change Log</a><a class="headerlink" href="#change-log" title="Permalink to this headline"></a></h1>
<h1><a class="toc-backref" href="#id60">Change Log</a><a class="headerlink" href="#change-log" title="Permalink to this headline"></a></h1>
<div class="section" id="v0-2">
<h2><a class="toc-backref" href="#id59">v0.2</a><a class="headerlink" href="#v0-2" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id61">v0.2</a><a class="headerlink" href="#v0-2" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><tt class="xref el el-symbol docutils literal"><span class="pre">ein:console-open</span></tt> works without <a class="reference external" href="https://github.com/fgallina/python.el">python.el</a>.</li>
<li>Expand code cell output on execution.
(<a class="reference external" href="https://github.com/tkf/emacs-ipython-notebook/issues/88">#88</a>).</li>
<li>Improve <tt class="xref el el-symbol docutils literal"><span class="pre">ein:completer-dot-complete</span></tt> and
<tt class="xref el el-symbol docutils literal"><span class="pre">ein:jedi-dot-complete</span></tt>. Do not expand common part when
inserting dot, to make typing code containing dots less surprising.</li>
<li>Add support for <a class="reference external" href="https://github.com/tkf/emacs-jedi">Jedi.el</a>. See <a class="reference internal" href="#ein:jedi-setup" title="ein:jedi-setup"><tt class="xref el el-symbol docutils literal"><span class="pre">ein:jedi-setup</span></tt></a>.</li>
<li>Add a simple org-mode link support.</li>
<li>Add built-in multiple language fontification for notebook:
@ -1996,7 +2036,7 @@ See <tt class="xref el el-symbol docutils literal"><span class="pre">ein:connect
</ul>
</div>
<div class="section" id="v0-1-2">
<h2><a class="toc-backref" href="#id60">v0.1.2</a><a class="headerlink" href="#v0-1-2" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id62">v0.1.2</a><a class="headerlink" href="#v0-1-2" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Mostly refactoring for worksheet support in v0.2.</li>
<li>Rename command <tt class="xref el el-symbol docutils literal"><span class="pre">ein:notebook-console-open</span></tt> to
@ -2009,7 +2049,7 @@ now actually runs buffer instead of loading it.</li>
</ul>
</div>
<div class="section" id="v0-1-1">
<h2><a class="toc-backref" href="#id61">v0.1.1</a><a class="headerlink" href="#v0-1-1" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id63">v0.1.1</a><a class="headerlink" href="#v0-1-1" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Support <a class="reference external" href="http://cx4a.org/software/auto-complete/">auto-complete.el</a>&#8216;s popup/quick help.</li>
<li>Add <tt class="xref el el-symbol docutils literal"><span class="pre">ein:notebooklist-first-open-hook</span></tt>.</li>
@ -2042,19 +2082,19 @@ Use <a class="reference internal" href="#helm-ein-notebook-buffers" title="helm-
</ul>
</div>
<div class="section" id="v0-1">
<h2><a class="toc-backref" href="#id62">v0.1</a><a class="headerlink" href="#v0-1" title="Permalink to this headline"></a></h2>
<h2><a class="toc-backref" href="#id64">v0.1</a><a class="headerlink" href="#v0-1" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>First release.</li>
</ul>
</div>
</div>
<div class="section" id="license">
<h1><a class="toc-backref" href="#id63">License</a><a class="headerlink" href="#license" title="Permalink to this headline"></a></h1>
<h1><a class="toc-backref" href="#id65">License</a><a class="headerlink" href="#license" title="Permalink to this headline"></a></h1>
<p>Emacs IPython Notebook is licensed under GPL v3.
See COPYING for details.</p>
</div>
<div class="section" id="indices-and-tables">
<h1><a class="toc-backref" href="#id64">Indices and tables</a><a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h1>
<h1><a class="toc-backref" href="#id66">Indices and tables</a><a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li><a class="reference internal" href="genindex.html"><em>Index</em></a></li>
<li><a class="reference internal" href="search.html"><em>Search Page</em></a></li>

File diff suppressed because one or more lines are too long