summaryrefslogtreecommitdiff
path: root/Modules/readline.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-07-24 12:23:56 +0200
committerVictor Stinner <victor.stinner@gmail.com>2014-07-24 12:23:56 +0200
commita3c80ce8b7d9ca17641f0bd8cce96791df084b19 (patch)
tree9e52e9c5e68131d94587d974cf4609599650c5ed /Modules/readline.c
parentcdb2c601db078e0af2fcca49341a7d17d603e500 (diff)
downloadcpython-git-a3c80ce8b7d9ca17641f0bd8cce96791df084b19.tar.gz
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/readline.c')
-rw-r--r--Modules/readline.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Modules/readline.c b/Modules/readline.c
index 4bba0db80b..d72e51518f 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