summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-07-24 10:24:45 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-07-24 10:24:45 (GMT)
commit24ad98b98cfa9be1dc704c37a9538a8c0bc113e0 (patch)
tree5c4534c1d386773a6957c1c26d3a52eeefa57c7c /Modules
parentc78fd527670c312cb35fe959b42f350046424981 (diff)
parenta3c80ce8b7d9ca17641f0bd8cce96791df084b19 (diff)
downloadcpython-24ad98b98cfa9be1dc704c37a9538a8c0bc113e0.zip
cpython-24ad98b98cfa9be1dc704c37a9538a8c0bc113e0.tar.gz
cpython-24ad98b98cfa9be1dc704c37a9538a8c0bc113e0.tar.bz2
(Merge 3.4) 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.c11
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