summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-04-17 12:36:21 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-04-17 12:36:21 +0000
commit750b8106f71336cf5d871740f9cea792ce996a39 (patch)
tree8a31a0cd192359733fdab5bbdd18987cf5281dd5
parent4898ee140f80001772a61a7befba38fac1a25c13 (diff)
Remove the right number of characters from the buffer when escape then a cursor
key (or other key prefixed by \033) is pressed. Reported by Stuart Henderson.
-rw-r--r--CHANGES8
-rw-r--r--tty-keys.c8
2 files changed, 11 insertions, 5 deletions
diff --git a/CHANGES b/CHANGES
index 8f25ac06..ac310676 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,9 @@
+17 April 2009
+
+* Remove the right number of characters from the buffer when escape then
+ a cursor key (or other key prefixed by \033) is pressed. Reported by
+ Stuart Henderson.
+
03 April 2009
* rotate-window command. -U flag (default) for up, -D flag for down.
@@ -1198,7 +1204,7 @@
(including mutt, emacs). No status bar yet and no key remapping or other
customisation.
-$Id: CHANGES,v 1.271 2009-04-03 17:21:46 nicm Exp $
+$Id: CHANGES,v 1.272 2009-04-17 12:36:21 nicm Exp $
LocalWords: showw utf UTF fulvio ciriaco joshe OSC APC gettime abc DEF OA clr
LocalWords: rivo nurges lscm Erdely eol smysession mysession ek dstname RB ms
diff --git a/tty-keys.c b/tty-keys.c
index 56299fc9..7492f9da 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -1,4 +1,4 @@
-/* $Id: tty-keys.c,v 1.24 2009-03-02 18:05:40 nicm Exp $ */
+/* $Id: tty-keys.c,v 1.25 2009-04-17 12:36:21 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -299,13 +299,13 @@ tty_keys_next(struct tty *tty, int *key, u_char *mouse)
if (len > 1) {
tk = tty_keys_find(tty, buf + 1, len - 1, &size);
if (tk != NULL) {
- buffer_remove(tty->in, size + 1);
+ buffer_remove(tty->in, size + 2);
*key = KEYC_ADDESC(tk->key);
goto found;
}
}
- /* If the timer hasn't expired, keep waiting . */
+ /* If the timer hasn't expired, keep waiting. */
if (gettimeofday(&tv, NULL) != 0)
fatal("gettimeofday");
if (timercmp(&tty->key_timer, &tv, >))
@@ -405,7 +405,7 @@ tty_keys_parse_xterm(struct tty *tty, char *buf, size_t len, size_t *size)
key = KEYC_ADDESC(key);
break;
case '2':
- key = KEYC_ADDSFT(key);
+ key = KEYC_ADDSFT(key);
break;
}