Merged revisions 87356 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r87356 | r.david.murray | 2010-12-17 22:48:32 -0500 (Fri, 17 Dec 2010) | 11 lines #9907: call rl_initialize early when using editline on OSX editline rl_initialize apparently discards any mappings done before it is called, which makes tab revert to file completion instead of inserting a tab. So now on OSX we call rl_initialize first if we are using readline, and then re-read the users .editrc (if any) afterward so they can still override our defaults. Patch by Ned Deily, modified by Ronald Oussoren. ........
This commit is contained in:
parent
aa7017f5f5
commit
7a697251c9
|
@ -22,6 +22,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue $9907: Fix tab handling on OSX when using editline by calling
|
||||
rl_initialize first, then setting our custom defaults, then reading .editrc.
|
||||
|
||||
- Issue #4188: Avoid creating dummy thread objects when logging operations
|
||||
from the threading module (with the internal verbose flag activated).
|
||||
|
||||
|
|
|
@ -865,6 +865,14 @@ setup_readline(void)
|
|||
Py_FatalError("not enough memory to save locale");
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
/* the libedit readline emulation resets key bindings etc
|
||||
* when calling rl_initialize. So call it upfront
|
||||
*/
|
||||
if (using_libedit_emulation)
|
||||
rl_initialize();
|
||||
#endif /* __APPLE__ */
|
||||
|
||||
using_history();
|
||||
|
||||
rl_readline_name = "python";
|
||||
|
@ -896,8 +904,13 @@ setup_readline(void)
|
|||
* XXX: A bug in the readline-2.2 library causes a memory leak
|
||||
* inside this function. Nothing we can do about it.
|
||||
*/
|
||||
rl_initialize();
|
||||
|
||||
#ifdef __APPLE__
|
||||
if (using_libedit_emulation)
|
||||
rl_read_init_file(NULL);
|
||||
else
|
||||
#endif /* __APPLE__ */
|
||||
rl_initialize();
|
||||
|
||||
RESTORE_LOCALE(saved_locale)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue