New submission from Ned Deily <n...@acm.org>:

32-bit-only OS X installers build and link to a copy of the GNU readline 
library for use by the readline module in the standard library.  But, the newer 
64-bit/32-bit installer variants for 2.7 and 3.2 link to the OS X supplied BSD 
editline (libedit) library using its GNU readline compatibility interface.  
This creates a confusing situation for users: depending on which installer 
variant is used for 2.7 or 3.2, the commands needed to enable things like tab 
completion.

Here's a snippet of what I have in my startup file:

    import readline
    import rlcompleter
    if 'libedit' in readline.__doc__:
        readline.parse_and_bind("bind ^I rl_complete")
    else:
        readline.parse_and_bind("tab: complete")

While obviously this can be handled, it seems like an unnecessary burden on 
users.  I think the primary reason for adding the editline support was to make 
it simpler for developers building their own Pythons.  That's not a concern for 
the installer build.  Another concern may have been to avoid shipping a copy of 
GNU readline which is GPL-licensed.  (The installer currently, to the best of 
my knowledge, does not document in a README or elsewhere that GNU readline is 
included.)  That seems a problem.  This disparity also could cause problems 
elsewhere (see Issue5845).

I see two solutions:

1. (trivial) Change the installer to always build and include GNU readline 
regardless of SDK (today, editline is used with builds using SDK 10.5 or 
higher).  

2. (TBD) Build and link with the open-source version of editline for all 
installers.

In either case, the installer should include license info on included 3rd-party 
libraries somewhere in the installer README and/or installed files.

----------
assignee: ronaldoussoren
components: Build, Macintosh
messages: 123701
nosy: ned.deily, ronaldoussoren
priority: high
severity: normal
stage: needs patch
status: open
title: OS X installer variants have confusing readline differences
type: behavior
versions: Python 2.7, Python 3.2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue10666>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to