mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
SF #558432: Prevent Annoying ' ' from readline (Holker Krekel).
readline in all python versions is configured
to append a 'space' character for a successful
completion. But for almost all python expressions
'space' is not wanted (see coding conventions PEP 8).
For example if you have a function 'longfunction'
and you type 'longf<TAB>' you get 'longfunction '
as a completion. note the unwanted space at the
end.
The patch fixes this behaviour by setting readline's
append_character to '\0' which means don't append
anything. This doesn't work with readline < 2.1
(AFAIK nowadays readline2.2 is in good use).
An alternative approach would be to make the
append_character
accessable from python so that modules like
the rlcompleter.py can set it to '\0'.
[Ed.: I think expecting readline >= 2.2 is fine. If a completer wants
another character they can append that to the keyword in the list.]
This commit is contained in:
parent
efbb67b1a7
commit
84271bb34f
1 changed files with 1 additions and 0 deletions
|
|
@ -573,6 +573,7 @@ setup_readline(void)
|
|||
rl_completer_word_break_characters =
|
||||
strdup(" \t\n`~!@#$%^&*()-=+[{]}\\|;:'\",<>/?");
|
||||
/* All nonalphanums except '.' */
|
||||
rl_completion_append_character ='\0';
|
||||
|
||||
begidx = PyInt_FromLong(0L);
|
||||
endidx = PyInt_FromLong(0L);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue