From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by mail.openembedded.org (Postfix) with ESMTP id 9ABB66AF56 for ; Fri, 19 Jul 2013 18:26:42 +0000 (UTC) Received: from azsmga002.ch.intel.com ([10.2.17.35]) by azsmga101.ch.intel.com with ESMTP; 19 Jul 2013 11:26:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.89,703,1367996400"; d="scan'208";a="270684466" Received: from unknown (HELO [10.255.14.14]) ([10.255.14.14]) by AZSMGA002.ch.intel.com with ESMTP; 19 Jul 2013 11:26:42 -0700 Message-ID: <51E984DF.2030207@linux.intel.com> Date: Fri, 19 Jul 2013 11:26:39 -0700 From: Saul Wold User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6 MIME-Version: 1.0 To: Hongxu Jia References: In-Reply-To: Cc: openembedded-core@lists.openembedded.org Subject: Re: [PATCH 1/2] python: fix importing readline with probably escape sequence output X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jul 2013 18:26:42 -0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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. Sau! > [YOCTO #4835] > [YOCTO #4732] > > Signed-off-by: Hongxu Jia > --- > 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 > +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 > + >