[OE-core] [PATCH 1/2] python: fix importing readline with probably escape sequence output

Saul Wold sgw at linux.intel.com
Mon Jul 22 05:18:29 UTC 2013


On 07/19/2013 11:26 AM, Saul Wold wrote:
> On 07/19/2013 02:13 AM, Hongxu Jia wrote:
>> While imports readline in python, if TERM in terminfo is available and
>> it contains the variable 'km' and 'smm', the readline initialization will
>> output the value of 'smm' which is the escape sequence '\E[?1034h'.
>>
>> 'km' means the terminal has a meta key which is a special key on MIT
>> keyboards
>> such as the space-cadet keyboard, and on Sun Microsystems keyboards,
>> marked
>> as a solid diamond. It almost doesn't exist in our keyboard, so it has
>> no side
>> effect to disable it.
>> 'smm' means turn on the meta key if this terminal has one.
>>
>> Explicitly set meta key off to avoid probable escape sequence output
>> while gnu readline library initialization.
>>
> I am still not sure about this change, there was some discussion that
> the readline library would do be making a similar change and we should
> back port that change.  I contacted the readline maintainer to find out
> about that.
>
> I am going to hold off until I hear from him.
>
Hongxu, please look at the "Bash" Git for readline library and see if 
you can find the changes that Chet made to back port.


http://git.savannah.gnu.org/cgit/bash.git/?h=devel

Thanks
> Sau!
>
>> [YOCTO #4835]
>> [YOCTO #4732]
>>
>> Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
>> ---
>>   meta/recipes-devtools/python/python.inc            |  4 +-
>>   ...-to-avoid-probable-escape-sequence-output.patch | 43
>> ++++++++++++++++++++++
>>   2 files changed, 46 insertions(+), 1 deletion(-)
>>   create mode 100644
>> meta/recipes-devtools/python/python/readline-set-meta-key-off-to-avoid-probable-escape-sequence-output.patch
>>
>>
>> diff --git a/meta/recipes-devtools/python/python.inc
>> b/meta/recipes-devtools/python/python.inc
>> index 80609a8..9f787c9 100644
>> --- a/meta/recipes-devtools/python/python.inc
>> +++ b/meta/recipes-devtools/python/python.inc
>> @@ -7,7 +7,9 @@ INC_PR = "r0"
>>
>>   LIC_FILES_CHKSUM =
>> "file://LICENSE;md5=ed3abfd1059e2d3a36a8cff3986f9bb6"
>>
>> -SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2"
>> +SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
>> +
>> file://readline-set-meta-key-off-to-avoid-probable-escape-sequence-output.patch
>> \
>> +"
>>
>>   SRC_URI[md5sum] = "c57477edd6d18bd9eeca2f21add73919"
>>   SRC_URI[sha256sum] =
>> "726457e11cb153adc3f428aaf1901fc561a374c30e5e7da6742c0742a338663c"
>> diff --git
>> a/meta/recipes-devtools/python/python/readline-set-meta-key-off-to-avoid-probable-escape-sequence-output.patch
>> b/meta/recipes-devtools/python/python/readline-set-meta-key-off-to-avoid-probable-escape-sequence-output.patch
>>
>> new file mode 100644
>> index 0000000..104fc36
>> --- /dev/null
>> +++
>> b/meta/recipes-devtools/python/python/readline-set-meta-key-off-to-avoid-probable-escape-sequence-output.patch
>>
>> @@ -0,0 +1,43 @@
>> +readline:explicitly set meta key off to avoid probable escape
>> sequence output
>> +
>> +While imports readline in python, if TERM in terminfo is available and
>> +it contains the variable 'km' and 'smm', the readline initialization
>> will
>> +output the value of 'smm' which is the escape sequence '\E[?1034h'.
>> +
>> +'km' means the terminal has a meta key which is a special key on MIT
>> keyboards
>> +such as the space-cadet keyboard, and on Sun Microsystems keyboards,
>> marked
>> +as a solid diamond. It almost doesn't exist in our keyboard, so it
>> has no side
>> +effect to disable it.
>> +'smm' means turn on the meta key if this terminal has one.
>> +
>> +Explicitly set meta key off to avoid probable escape sequence output
>> +while gnu readline library initialization.
>> +
>> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
>> +Upstream-Status: inappropriate [oe specific]
>> +---
>> + Modules/readline.c | 9 +++++++++
>> + 1 file changed, 9 insertions(+)
>> +
>> +diff --git a/Modules/readline.c b/Modules/readline.c
>> +--- a/Modules/readline.c
>> ++++ b/Modules/readline.c
>> +@@ -909,6 +909,15 @@ setup_readline(void)
>> +     rl_read_init_file(NULL);
>> +     else
>> + #endif /* __APPLE__ */
>> ++
>> ++    /* Explicitly set meta key off to avoid probable escape sequence
>> output
>> ++     * while gnu readline library initialization. The meta key is a
>> special
>> ++     * key in MIT keyboards such as the space-cadet keyboard, and on
>> Sun
>> ++     * Microsystems keyboards, marked as a solid diamond. It almost
>> doesn't
>> ++     * exist in our keyboards, so it has no side effect to disable it.
>> ++     */
>> ++    rl_variable_bind("enable-meta-key", "off");
>> ++
>> +         rl_initialize();
>> +
>> +     RESTORE_LOCALE(saved_locale)
>> +--
>> +1.8.1.2
>> +
>>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>



More information about the Openembedded-core mailing list