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

Diff for /src/usr.bin/tmux/cmd-unbind-key.c between version 1.31 and 1.32

version 1.31, 2020/04/13 08:26:27 version 1.32, 2020/09/16 19:12:59
Line 32 
Line 32 
         .name = "unbind-key",          .name = "unbind-key",
         .alias = "unbind",          .alias = "unbind",
   
         .args = { "anT:", 0, 1 },          .args = { "anqT:", 0, 1 },
         .usage = "[-an] [-T key-table] key",          .usage = "[-anq] [-T key-table] key",
   
         .flags = CMD_AFTERHOOK,          .flags = CMD_AFTERHOOK,
         .exec = cmd_unbind_key_exec          .exec = cmd_unbind_key_exec
Line 45 
Line 45 
         struct args     *args = cmd_get_args(self);          struct args     *args = cmd_get_args(self);
         key_code         key;          key_code         key;
         const char      *tablename;          const char      *tablename;
           int              quiet = args_has(args, 'q');
   
         if (!args_has(args, 'a')) {          if (args_has(args, 'a')) {
                 if (args->argc != 1) {  
                         cmdq_error(item, "missing key");  
                         return (CMD_RETURN_ERROR);  
                 }  
                 key = key_string_lookup_string(args->argv[0]);  
                 if (key == KEYC_NONE || key == KEYC_UNKNOWN) {  
                         cmdq_error(item, "unknown key: %s", args->argv[0]);  
                         return (CMD_RETURN_ERROR);  
                 }  
         } else {  
                 if (args->argc != 0) {                  if (args->argc != 0) {
                         cmdq_error(item, "key given with -a");                          if (!quiet)
                                   cmdq_error(item, "key given with -a");
                         return (CMD_RETURN_ERROR);                          return (CMD_RETURN_ERROR);
                 }                  }
                 key = KEYC_UNKNOWN;  
         }  
   
         if (key == KEYC_UNKNOWN) {  
                 tablename = args_get(args, 'T');                  tablename = args_get(args, 'T');
                 if (tablename == NULL) {                  if (tablename == NULL) {
                         key_bindings_remove_table("root");                          if (args_has(args, 'n'))
                         key_bindings_remove_table("prefix");                                  tablename = "root";
                         return (CMD_RETURN_NORMAL);                          else
                                   tablename = "prefix";
                 }                  }
                 if (key_bindings_get_table(tablename, 0) == NULL) {                  if (key_bindings_get_table(tablename, 0) == NULL) {
                         cmdq_error(item, "table %s doesn't exist", tablename);                          if (!quiet) {
                                   cmdq_error(item, "table %s doesn't exist" ,
                                       tablename);
                           }
                         return (CMD_RETURN_ERROR);                          return (CMD_RETURN_ERROR);
                 }                  }
   
                 key_bindings_remove_table(tablename);                  key_bindings_remove_table(tablename);
                 return (CMD_RETURN_NORMAL);                  return (CMD_RETURN_NORMAL);
         }          }
   
           if (args->argc != 1) {
                   if (!quiet)
                           cmdq_error(item, "missing key");
                   return (CMD_RETURN_ERROR);
           }
   
           key = key_string_lookup_string(args->argv[0]);
           if (key == KEYC_NONE || key == KEYC_UNKNOWN) {
                   if (!quiet)
                           cmdq_error(item, "unknown key: %s", args->argv[0]);
                   return (CMD_RETURN_ERROR);
           }
   
         if (args_has(args, 'T')) {          if (args_has(args, 'T')) {
                 tablename = args_get(args, 'T');                  tablename = args_get(args, 'T');
                 if (key_bindings_get_table(tablename, 0) == NULL) {                  if (key_bindings_get_table(tablename, 0) == NULL) {
                         cmdq_error(item, "table %s doesn't exist", tablename);                          if (!quiet) {
                                   cmdq_error(item, "table %s doesn't exist" ,
                                       tablename);
                           }
                         return (CMD_RETURN_ERROR);                          return (CMD_RETURN_ERROR);
                 }                  }
         } else if (args_has(args, 'n'))          } else if (args_has(args, 'n'))

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32