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

Hongxu Jia hongxu.jia at windriver.com
Mon Jul 22 05:20:08 UTC 2013


On 07/22/2013 01:18 PM, Saul Wold wrote:
> 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
>
Got it.

//Hongxu
> 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