From 30873a6ffb096123ab3e525c1af4bb01b29e76e8e276e01528017b3088c7bdfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Tue, 7 Aug 2012 15:09:16 +0000 Subject: [PATCH] add mappedcmd.diff to make ^A DEL work again OBS-URL: https://build.opensuse.org/package/show/Base:System/screen?expand=0&rev=30 --- mappedcmd.diff | 31 +++++++++++++++++++++++++++++++ screen.changes | 5 +++++ screen.spec | 3 ++- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 mappedcmd.diff diff --git a/mappedcmd.diff b/mappedcmd.diff new file mode 100644 index 0000000..8538685 --- /dev/null +++ b/mappedcmd.diff @@ -0,0 +1,31 @@ +commit ae3e007da3f50e9f4e3c4244e12fce5fcd3774db +Author: Michael Schroeder +Date: Tue Aug 7 17:05:15 2012 +0200 + + make ^A DEL work again + + It was broken because we discarded all mapped sequences. Now we + let sequences with length 1 through to ProcessInput2. + +diff --git a/src/process.c b/src/process.c +index d86c62c..bdf9355 100644 +--- a/src/process.c ++++ b/src/process.c +@@ -6472,6 +6472,7 @@ int i; + { + struct action *act; + int discard = 0; ++ int keyno = i; + + debug1("StuffKey #%d", i); + #ifdef DEBUG +@@ -6511,6 +6512,9 @@ int i; + + if (discard && (!act || act->nr != RC_COMMAND)) + { ++ /* if the input was just a single byte we let it through */ ++ if (D_tcs[keyno + T_CAPS].str && strlen(D_tcs[keyno + T_CAPS].str) == 1) ++ return -1; + if (D_ESCseen) + { + D_ESCseen = 0; diff --git a/screen.changes b/screen.changes index dc0b3c1..b9c3359 100644 --- a/screen.changes +++ b/screen.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Aug 7 17:08:55 CEST 2012 - mls@suse.de + +- add mappedcmd.diff to make ^A DEL work again + ------------------------------------------------------------------- Fri Jun 8 18:03:57 CEST 2012 - mls@suse.de diff --git a/screen.spec b/screen.spec index 66be997..994efa1 100644 --- a/screen.spec +++ b/screen.spec @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - Url: http://www.gnu.org/software/screen/ Name: screen @@ -41,6 +40,7 @@ Patch3: screen-4.0.3-ipv6.patch Patch4: term_too_long.diff Patch5: sort_command.patch Patch6: libtinfo.diff +Patch7: mappedcmd.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -59,6 +59,7 @@ Documentation: man page %patch4 -p1 %patch5 %patch6 +%patch7 -p2 %build CFLAGS="-DMAXWIN=1000 $RPM_OPT_FLAGS" %configure --prefix=/usr --infodir=%{_infodir} \