[Pythonmac-SIG] readline support for OS X Leopard

Noah Gift noah.gift at gmail.com
Mon Oct 22 20:35:39 CEST 2007


Edward,
Thanks for the information.  Do you know of a way to get IPython to use
edline instead?  IPython is growing in popularity for Python programmers,
and it seems like getting a way forward that works with edline makes sense,
or maybe I am wrong and people will need to just manually install readline
themselves.

Noah

On 10/22/07, Edward Moy <emoy at apple.com> wrote:
>
> On Oct 21, 2007, at 10:51 PM, Noah Gift wrote:
>
> I have been getting ready for the official leopard release in a few days,
> and have been a bit worried about readline support.  I forgot what I did to
> get it to work for IPython, which I absolutely cannot live without anymore.
> Is there a plan for a Leopard binary that fixes readline, or can I help
> someone prepare some documentation on getting readline working properly.  I
> don't have a lot of time during the next couple of weeks to get into compile
> hell, but if someone has any easy fix to get readline to work, I would
> greatly appreciate it.
>
>
>
> The installed version of python on Leopard will actually have readline
> support turned on by default, but it uses the EditLine (libedit) library,
> not the GNU Readline (due to licensing reasons).  While functionally
> equivalent, the command syntax is different.  From the python(1) man page:
>
>
> INTERACTIVE INPUT EDITING AND HISTORY SUBSTITUTION
>        The Python inteterpreter supports editing of the current input line
> and
>        history substitution, similar to facilities found in the Korn shell
> and
>        the  GNU  Bash shell.  However, rather than being implemented using
> the
>        GNU Readline library, this Python interpreter  uses  the  BSD
>  EditLine
>        library editline(3) with a GNU Readline emulation layer.
>
>
>        The  readline  module  provides the access to the EditLine library,
> but
>        there are a few major differences compared to a traditional
> implementa-
>        tion  using  the  Readline  library.   The command language used in
> the
>        preference files is that of EditLine, as described in editrc(5) and
> not
>        that   used  by  the  Readline  library.   This  also  means  that
>  the
>        parse_and_bind() routines uses EditLine commands.  And  the
>  preference
>        file itself is ~/.editrc instead of ~/.inputrc.
>
>
>        For  example,  the rlcompleter module, which defines a completion
> func-
>        tion for the  readline  modules,  works  correctly  with  the
>  EditLine
>        libraries, but needs to be initialized somewhat differently:
>
>
>               import rlcompleter
>               import readline
>               readline.parse_and_bind("bind ^I rl_complete")
>
>
>        For vi mode, one needs:
>
>
>               readline.parse_and_bind("bind -v")
>
>
>
> --------------------------------------------------------------------------
>
> Edward Moy
>
> Apple Computer, Inc.
>
> emoy at apple.com
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/pythonmac-sig/attachments/20071022/6fdf3f5a/attachment-0001.htm 


More information about the Pythonmac-SIG mailing list