Seems like you are missing c52548f:

commit c52548f6fd311e4df3076ba4cc6f6ab8849557ac
Author: nicm <nicm>
Date:   Mon Feb 10 11:20:41 2014 +0000

    The last fix to xterm keys meant that some keys such as \033OA were
    being wrongly treated as partial matches. So both check xterm keys after
    standard keys and only wildcard the minimum required ('1' to
    '8'). Problems reported by Ralf Horstmann and Tim van der Molen.

diff --git a/tty-keys.c b/tty-keys.c
index 7de5ce5..4492df1 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -479,6 +479,15 @@ tty_keys_next(struct tty *tty)
                goto partial_key;
        }
 
+       /* Look for matching key string and return if found. */
+       tk = tty_keys_find(tty, buf, len, &size);
+       if (tk != NULL) {
+               if (tk->next != NULL)
+                       goto partial_key;
+               key = tk->key;
+               goto complete_key;
+       }
+
        /* Try to parse a key with an xterm-style modifier. */
        switch (xterm_keys_find(buf, len, &size, &key)) {
        case 0:         /* found */
@@ -489,15 +498,6 @@ tty_keys_next(struct tty *tty)
                goto partial_key;
        }
 
-       /* Look for matching key string and return if found. */
-       tk = tty_keys_find(tty, buf, len, &size);
-       if (tk != NULL) {
-               if (tk->next != NULL)
-                       goto partial_key;
-               key = tk->key;
-               goto complete_key;
-       }
-
 first_key:
        /* Is this a meta key? */
        if (len >= 2 && buf[0] == '\033') {
diff --git a/xterm-keys.c b/xterm-keys.c
index 9b5a0a2..0e20165 100644
--- a/xterm-keys.c
+++ b/xterm-keys.c
@@ -131,7 +131,9 @@ xterm_keys_match(const char *template, const char *buf, 
size_t len)
 
        pos = 0;
        do {
-               if (*template != '_' && buf[pos] != *template)
+               if (*template == '_' && buf[pos] >= '1' && buf[pos] <= '8')
+                       continue;
+               if (buf[pos] != *template)
                        return (-1);
        } while (*++template != '\0' && ++pos != len);
 


On Mon, Feb 17, 2014 at 01:19:00PM -0500, Ben Boeckel wrote:
> On Mon, Feb 17, 2014 at 18:08:47 +0000, Nicholas Marriott wrote:
> > Yes, I know, it changes the keys that are sent entirely. But tmux should
> > work with either set of keys. And this happened in October.
> 
> I haven't been tracking git HEAD as closely as in the past. The previous
> update on this machine was 15 Oct 2013, so I just missed seeing the
> problem. I'll have to see what my home machine's last update was.
> 
> > Why don't you just check and see if reverting c52548f and 72d1be5
> > fixes it instead?
> 
> c52548f isn't it (it happened as of 5 Feb 2014 as well). Reverting
> 72d1be5 on top of master seems to work as well (and gives me back the
> old key combo?).
> 
> Thanks,
> 
> --Ben

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to