Subject: Re: bug#18084: closed (24.3.92; python.el: buggy ipython support)

From: Carlos Pita <[email-masked]>
Date: Mon, 28 Jul 2014 11:36:14 -0300

Good work! It's working very well, che :). Till now I just was able to
found this one quirk: if you delete the space between the prefix and the
prompt completion gets broken. That is:

In[20]: str.<TAB>

works as expected, but:

 In[20]:str.<TAB>

gets no completions. Looks to me like the prefix parser is not taking the
prompt into account, feeding it to ipython.

On Mon, Jul 28, 2014 at 1:35 AM, GNU bug Tracking System <
[email-masked]> wrote:

> Your bug report
>
> #18084: 24.3.92; python.el: buggy ipython support
>
> which was filed against the emacs package, has been closed.
>
> The explanation is attached below, along with your original report.
> If you require more details, please reply to [email-masked].
>
> --
> 18084: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18084
> GNU Bug Tracking System
> Contact [email-masked] with problems
>
>
> ---------- Forwarded message ----------
> From: [email-masked] (Fabián Ezequiel Gallina)
> To: [email-masked]
> Cc:
> Date: Mon, 28 Jul 2014 01:34:27 -0300
> Subject: 24.3.92; python.el: buggy ipython support
>
> Fixed at revno 117595 in trunk.
>
> Also revno 117580 includes relevant changes on shell font-locking.
>
>
> Cheers,
> Fabián
>
>
>
> ---------- Forwarded message ----------
> From: Carlos Pita <[email-masked]>
> To: [email-masked]
> Cc:
> Date: Tue, 22 Jul 2014 17:54:12 -0300
> Subject: 24.3.92; python.el: buggy ipython support
> Ipython is pretty smart doing autocompletion and output coloring but
> python.el is currently getting in its way:
>
> 1) The coloring is heuristic at best. It's ok for the vanilla python
> interpreter but not nearly as good as ipython's. Not only keywords and
> identifiers are colored in non-code contexts, but also string quoting
> gets often messed up. I think the best option is to disable font lock by
> default when the interpreter is ipython.
>
> 2) Autocompletion of magic commands is broken. Autocompletion of paths
> is broken. Maybe another kind of ipython specific autocompletion is
> broken too. Currently the autocompletion prefix is parsed from the
> buffer using a "dotty" syntax table that includes '.' and '_' as part of
> identifiers. Clearly this is not enough to play well with ipython. But
> fortunately it's not necessary to be too smart. Sendind the prefix up to
> the first preceding whitespace char will do the trick.
>
> So I propose to:
>
> i) Disable font lock by default for ipython.
> ii) Parsing the prefix up to whitespace char for ipython autocompletion.
>
> I think these solutions are very simple and will improve the ipython
> experience a lot. Obviously the color theme will differ from the one for
> python-mode but this is a minor annoyance for such gain in simplicity.
>
> -----------
>
> In GNU Emacs 24.3.92.1 (i686-pc-linux-gnu, GTK+ Version 3.12.2)
>  of 2014-07-22 on carlos
> Windowing system distributor `The X.Org Foundation', version 11.0.11502000
> Configured using:
>  `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
>  --localstatedir=/var --with-x-toolkit=gtk3 --with-xft
>  'CFLAGS=-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong
>  --param=ssp-buffer-size=4' CPPFLAGS=-D_FORTIFY_SOURCE=2
>  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'
>
>
>
>