[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.37 and 1.38

version 1.37, 2020/04/13 08:26:27 version 1.38, 2020/09/08 10:19:19
Line 33 
Line 33 
         .name = "bind-key",          .name = "bind-key",
         .alias = "bind",          .alias = "bind",
   
         .args = { "nrN:T:", 2, -1 },          .args = { "nrN:T:", 1, -1 },
         .usage = "[-nr] [-T key-table] [-N note] key "          .usage = "[-nr] [-T key-table] [-N note] key "
                  "command [arguments]",                   "[command [arguments]]",
   
         .flags = CMD_AFTERHOOK,          .flags = CMD_AFTERHOOK,
         .exec = cmd_bind_key_exec          .exec = cmd_bind_key_exec
Line 46 
Line 46 
 {  {
         struct args              *args = cmd_get_args(self);          struct args              *args = cmd_get_args(self);
         key_code                  key;          key_code                  key;
         const char               *tablename, *note;          const char               *tablename, *note = args_get(args, 'N');
         struct cmd_parse_result  *pr;          struct cmd_parse_result  *pr;
         char                    **argv = args->argv;          char                    **argv = args->argv;
         int                       argc = args->argc, repeat;          int                       argc = args->argc, repeat;
Line 65 
Line 65 
                 tablename = "prefix";                  tablename = "prefix";
         repeat = args_has(args, 'r');          repeat = args_has(args, 'r');
   
         if (argc == 2)          if (argc != 1) {
                 pr = cmd_parse_from_string(argv[1], NULL);                  if (argc == 2)
         else                          pr = cmd_parse_from_string(argv[1], NULL);
                 pr = cmd_parse_from_arguments(argc - 1, argv + 1, NULL);                  else
         switch (pr->status) {                          pr = cmd_parse_from_arguments(argc - 1, argv + 1, NULL);
         case CMD_PARSE_EMPTY:                  switch (pr->status) {
                 cmdq_error(item, "empty command");                  case CMD_PARSE_EMPTY:
                 return (CMD_RETURN_ERROR);                          cmdq_error(item, "empty command");
         case CMD_PARSE_ERROR:                          return (CMD_RETURN_ERROR);
                 cmdq_error(item, "%s", pr->error);                  case CMD_PARSE_ERROR:
                 free(pr->error);                          cmdq_error(item, "%s", pr->error);
                 return (CMD_RETURN_ERROR);                          free(pr->error);
         case CMD_PARSE_SUCCESS:                          return (CMD_RETURN_ERROR);
                 break;                  case CMD_PARSE_SUCCESS:
         }                          break;
         note = args_get(args, 'N');                  }
         key_bindings_add(tablename, key, note, repeat, pr->cmdlist);                  key_bindings_add(tablename, key, note, repeat, pr->cmdlist);
           } else
                   key_bindings_add(tablename, key, note, repeat, NULL);
         return (CMD_RETURN_NORMAL);          return (CMD_RETURN_NORMAL);
 }  }

Legend:
Removed from v.1.37  
changed lines
  Added in v.1.38