changeset: 102927:72e034afeb55 parent: 102923:216f5451c35a parent: 102925:782d9b5d2e90 user: Martin Panter date: Sat Aug 27 04:03:26 2016 +0000 files: Lib/test/test_readline.py Misc/NEWS Modules/readline.c description: Issue #19884: Merge Readline updates from 3.5 diff -r 216f5451c35a -r 72e034afeb55 Lib/test/test_readline.py --- a/Lib/test/test_readline.py Sat Aug 27 01:39:26 2016 +0000 +++ b/Lib/test/test_readline.py Sat Aug 27 04:03:26 2016 +0000 @@ -111,7 +111,7 @@ class TestReadline(unittest.TestCase): - @unittest.skipIf(readline._READLINE_VERSION < 0x0600 and not is_editline, + @unittest.skipIf(readline._READLINE_VERSION < 0x0601 and not is_editline, "not supported in this library version") def test_init(self): # Issue #19884: Ensure that the ANSI sequence "\033[1034h" is not diff -r 216f5451c35a -r 72e034afeb55 Misc/NEWS --- a/Misc/NEWS Sat Aug 27 01:39:26 2016 +0000 +++ b/Misc/NEWS Sat Aug 27 04:03:26 2016 +0000 @@ -46,6 +46,8 @@ Library ------- +- Issue #19884: Avoid spurious output on OS X with Gnu Readline. + - Issue #10513: Fix a regression in Connection.commit(). Statements should not be reset after a commit. diff -r 216f5451c35a -r 72e034afeb55 Modules/readline.c --- a/Modules/readline.c Sat Aug 27 01:39:26 2016 +0000 +++ b/Modules/readline.c Sat Aug 27 04:03:26 2016 +0000 @@ -1146,19 +1146,22 @@ mod_state->begidx = PyLong_FromLong(0L); mod_state->endidx = PyLong_FromLong(0L); -#ifndef __APPLE__ - if (!isatty(STDOUT_FILENO)) { - /* Issue #19884: stdout is not 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"). +#ifdef __APPLE__ + if (!using_libedit_emulation) +#endif + { + if (!isatty(STDOUT_FILENO)) { + /* Issue #19884: stdout is not 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"). - With libedit, this call makes readline() crash. */ - rl_variable_bind ("enable-meta-key", "off"); + With libedit, this call makes readline() crash. */ + rl_variable_bind ("enable-meta-key", "off"); + } } -#endif /* Initialize (allows .inputrc to override) *