nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 4923119174766e57dc0afad20648b10b612adf57
parent cdd68825419d1fa2882f6771b1fb42b97fd189a6
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Fri,  7 Aug 2020 18:46:55 +0200

tweaks: reshuffle some fragments, to make the next change easier

Diffstat:
Msrc/winio.c | 17+++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/winio.c b/src/winio.c @@ -935,20 +935,21 @@ int parse_kbinput(WINDOW *win) return keycode; } else if (escapes == 1) { escapes = 0; - /* Key codes out of ASCII range cannot form escape sequences. */ - if (keycode >= 0x80) { + /* Codes out of ASCII printable range cannot form an escape sequence. */ + if (keycode < 0x20 || 0x7E < keycode) { + if (keycode == '\t') + return SHIFT_TAB; #ifndef NANO_TINY - if (keycode == KEY_BACKSPACE) + else if (keycode == KEY_BACKSPACE) return CONTROL_SHIFT_DELETE; #endif - } else if (keycode == '\t') - return SHIFT_TAB; - else if (key_buffer_len == 0 || *key_buffer == ESC_CODE || + else if (!solitary) + meta_key = TRUE; + } else if (key_buffer_len == 0 || *key_buffer == ESC_CODE || (keycode != 'O' && keycode != '[')) { if (!shifted_metas) keycode = tolower(keycode); - if (!solitary || (0x20 <= keycode && keycode <= 0x7E)) - meta_key = TRUE; + meta_key = TRUE; } else keycode = parse_escape_sequence(keycode); } else {