(Merge 3.4) Issue #19884, readline: calling rl_variable_bind

("enable-meta-key", "off") does crash on Mac OS X which uses libedit instead of
readline.
This commit is contained in:
Victor Stinner 2014-07-24 22:11:55 +02:00
commit 31f1a360b8

View file

@ -1020,15 +1020,19 @@ setup_readline(readlinestate *mod_state)
mod_state->begidx = PyLong_FromLong(0L); mod_state->begidx = PyLong_FromLong(0L);
mod_state->endidx = PyLong_FromLong(0L); mod_state->endidx = PyLong_FromLong(0L);
#ifndef __APPLE__
if (!isatty(STDOUT_FILENO)) { if (!isatty(STDOUT_FILENO)) {
/* Issue #19884: stdout is no a terminal. Disable meta modifier /* Issue #19884: stdout is no a terminal. Disable meta modifier
keys to not write the ANSI sequence "\033[1034h" into stdout. On keys to not write the ANSI sequence "\033[1034h" into stdout. On
terminals supporting 8 bit characters like TERM=xterm-256color terminals supporting 8 bit characters like TERM=xterm-256color
(which is now the default Fedora since Fedora 18), the meta key is (which is now the default Fedora since Fedora 18), the meta key is
used to enable support of 8 bit characters (ANSI sequence used to enable support of 8 bit characters (ANSI sequence
"\033[1034h"). */ "\033[1034h").
With libedit, this call makes readline() crash. */
rl_variable_bind ("enable-meta-key", "off"); rl_variable_bind ("enable-meta-key", "off");
} }
#endif
/* Initialize (allows .inputrc to override) /* Initialize (allows .inputrc to override)
* *