diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-07-24 10:23:56 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-07-24 10:23:56 (GMT) |
commit | a3c80ce8b7d9ca17641f0bd8cce96791df084b19 (patch) | |
tree | 9e52e9c5e68131d94587d974cf4609599650c5ed /Modules | |
parent | cdb2c601db078e0af2fcca49341a7d17d603e500 (diff) | |
download | cpython-a3c80ce8b7d9ca17641f0bd8cce96791df084b19.zip cpython-a3c80ce8b7d9ca17641f0bd8cce96791df084b19.tar.gz cpython-a3c80ce8b7d9ca17641f0bd8cce96791df084b19.tar.bz2 |
Issue #19884: readline: Disable the meta modifier key if stdout is not a
terminal to not write the ANSI sequence "\033[1034h" into stdout. This sequence
is used on some terminal (ex: TERM=xterm-256color") to enable support of 8 bit
characters.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/readline.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Modules/readline.c b/Modules/readline.c index 4bba0db..d72e515 100644 --- a/Modules/readline.c +++ b/Modules/readline.c @@ -1019,6 +1019,17 @@ setup_readline(readlinestate *mod_state) mod_state->begidx = PyLong_FromLong(0L); mod_state->endidx = PyLong_FromLong(0L); + + if (!isatty(STDOUT_FILENO)) { + /* Issue #19884: stdout is no a terminal. Disable meta modifier + keys to not write the ANSI sequence "\033[1034h" into stdout. On + terminals supporting 8 bit characters like TERM=xterm-256color + (which is now the default Fedora since Fedora 18), the meta key is + used to enable support of 8 bit characters (ANSI sequence + "\033[1034h"). */ + rl_variable_bind ("enable-meta-key", "off"); + } + /* Initialize (allows .inputrc to override) * * XXX: A bug in the readline-2.2 library causes a memory leak |