[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nano-devel] [PATCH] input: consume the whole escape sequence for modifi
From: |
Benno Schulenberg |
Subject: |
[Nano-devel] [PATCH] input: consume the whole escape sequence for modified PgUp and PgDn keys |
Date: |
Thu, 12 Jul 2018 10:56:39 +0200 |
Even when we don't act on some of these combinations, at least eat up
the whole sequence so the unknown keystroke doesn't enter things like
"3~" into the buffer.
This fixes https://savannah.gnu.org/bugs/?54291.
---
src/winio.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/winio.c b/src/winio.c
index 281488a8..830dd9dd 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1094,10 +1094,10 @@ int convert_sequence(const int *seq, size_t length, int
*consumed)
if (length > 2 && (seq[2] ==
'~' || seq[2] == '^'))
return KEY_PPAGE;
#ifndef NANO_TINY
- else if (length > 4 && seq[2]
== ';' &&
- seq[3]
== '2' && seq[4] == '~') {
+ else if (length > 4 && seq[2]
== ';' && seq[4] == '~') {
*consumed = 5;
- return shiftaltup;
+ if (seq[3] == '2' ||
seq[3] == '6')
+ return
shiftaltup;
}
#endif
break;
@@ -1107,10 +1107,10 @@ int convert_sequence(const int *seq, size_t length, int
*consumed)
if (length > 2 && (seq[2] ==
'~' || seq[2] == '^'))
return KEY_NPAGE;
#ifndef NANO_TINY
- else if (length > 4 && seq[2]
== ';' &&
- seq[3]
== '2' && seq[4] == '~') {
+ else if (length > 4 && seq[2]
== ';' && seq[4] == '~') {
*consumed = 5;
- return shiftaltdown;
+ if (seq[3] == '2' ||
seq[3] == '6')
+ return
shiftaltdown;
}
#endif
break;
--
2.17.1
- [Nano-devel] [PATCH] input: consume the whole escape sequence for modified PgUp and PgDn keys,
Benno Schulenberg <=