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

Diff for /src/usr.bin/tmux/cmd-bind-key.c between version 1.41 and 1.42

version 1.41, 2021/08/21 17:25:32 version 1.42, 2021/08/21 20:46:43
Line 50 
Line 50 
         struct cmd_parse_result  *pr;          struct cmd_parse_result  *pr;
         char                    **argv;          char                    **argv;
         int                       argc, repeat;          int                       argc, repeat;
           struct args_value        *value;
         u_int                     count = args_count(args);          u_int                     count = args_count(args);
   
         key = key_string_lookup_string(args_string(args, 0));          key = key_string_lookup_string(args_string(args, 0));
Line 66 
Line 67 
                 tablename = "prefix";                  tablename = "prefix";
         repeat = args_has(args, 'r');          repeat = args_has(args, 'r');
   
         if (count != 1) {          if (count == 1) {
                 if (count == 2)  
                         pr = cmd_parse_from_string(args_string(args, 1), NULL);  
                 else {  
                         args_vector(args, &argc, &argv);  
                         pr = cmd_parse_from_arguments(argc - 1, argv + 1, NULL);  
                         cmd_free_argv(argc, argv);  
                 }  
                 switch (pr->status) {  
                 case CMD_PARSE_ERROR:  
                         cmdq_error(item, "%s", pr->error);  
                         free(pr->error);  
                         return (CMD_RETURN_ERROR);  
                 case CMD_PARSE_SUCCESS:  
                         break;  
                 }  
                 key_bindings_add(tablename, key, note, repeat, pr->cmdlist);  
         } else  
                 key_bindings_add(tablename, key, note, repeat, NULL);                  key_bindings_add(tablename, key, note, repeat, NULL);
                   return (CMD_RETURN_NORMAL);
           }
   
           value = args_value(args, 1);
           if (count == 2 && value->type == ARGS_COMMANDS) {
                   key_bindings_add(tablename, key, note, repeat, value->cmdlist);
                   return (CMD_RETURN_NORMAL);
           }
   
           if (count == 2)
                   pr = cmd_parse_from_string(args_string(args, 1), NULL);
           else {
                   args_vector(args, &argc, &argv);
                   pr = cmd_parse_from_arguments(argc - 1, argv + 1, NULL);
                   cmd_free_argv(argc, argv);
           }
           switch (pr->status) {
           case CMD_PARSE_ERROR:
                   cmdq_error(item, "%s", pr->error);
                   free(pr->error);
                   return (CMD_RETURN_ERROR);
           case CMD_PARSE_SUCCESS:
                   break;
           }
           key_bindings_add(tablename, key, note, repeat, pr->cmdlist);
         return (CMD_RETURN_NORMAL);          return (CMD_RETURN_NORMAL);
 }  }

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.42