[BACK]Return to key-bindings.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/key-bindings.c between version 1.7 and 1.8

version 1.7, 2009/07/21 17:57:29 version 1.8, 2009/07/24 14:52:47
Line 32 
Line 32 
 int  int
 key_bindings_cmp(struct key_binding *bd1, struct key_binding *bd2)  key_bindings_cmp(struct key_binding *bd1, struct key_binding *bd2)
 {  {
         return (bd1->key - bd2->key);          int     key1, key2;
   
           key1 = bd1->key & ~KEYC_PREFIX;
           key2 = bd2->key & ~KEYC_PREFIX;
           if (key1 != key2)
                   return (key1 - key2);
   
           if (bd1->key & KEYC_PREFIX && !(bd2->key & KEYC_PREFIX))
                   return (-1);
           if (bd2->key & KEYC_PREFIX && !(bd1->key & KEYC_PREFIX))
                   return (1);
           return (0);
 }  }
   
 struct key_binding *  struct key_binding *
Line 170 
Line 181 
                         cmd->entry->init(cmd, table[i].key);                          cmd->entry->init(cmd, table[i].key);
                 TAILQ_INSERT_HEAD(cmdlist, cmd, qentry);                  TAILQ_INSERT_HEAD(cmdlist, cmd, qentry);
   
                 key_bindings_add(table[i].key, table[i].can_repeat, cmdlist);                  key_bindings_add(
                       table[i].key | KEYC_PREFIX, table[i].can_repeat, cmdlist);
         }          }
 }  }
   

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8