[Pythonmac-SIG] readline support for OS X Leopard

Brian Granger ellisonbg.net at gmail.com
Tue Oct 23 03:45:47 CEST 2007


I am forwarding this to the ipython-dev list.  A number of the core
ipython dev's use OS X, so we will surely jump on this one as soon as
we get our hands on Leopard.  This (libedit support) is great news as
it has been one of the main problems with the built-in Python on OS X
for a long time.

Cheers,

Brian

On 10/22/07, Noah Gift <noah.gift at gmail.com> wrote:
> 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
> >
>
>
> _______________________________________________
> Pythonmac-SIG maillist  -  Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
>
>


More information about the Pythonmac-SIG mailing list