Ned Deily <n...@acm.org> added the comment:

The problem is due to a difference in the behavior of the rl_initialize 
function between the editline readline emulation and the real GNU libreadline.  
Modules/readline.c setup_readline calls several rl functions to create various 
default bindings, including overriding TAB to "insert" rather than to "trigger 
completion", then calls rl_initialize allowing the users defaults from .inputrc 
to override.  It seems the emulated rl_initialize causes all the modified 
bindings to be discarded, causing TAB to revert to its default "trigger file 
completion".  The solution in the attached patches is to conditionally call 
rl_initialize at the beginning of setup_readline, rather than at the end, if 
the editline emulation is in use.  Patches supplied for py3k and 27 (but not 31 
since the feature was never backported there even though it was to 26).  I did 
not supply any additional tests since I can't think of a straightforward way to 
simulate the condition in the test framework; suggestions
  welcome.

----------
keywords: +patch
nosy: +zvezdan
stage:  -> patch review
versions:  -Python 3.1
Added file: http://bugs.python.org/file18945/issue9907-py3k.patch

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

Reply via email to