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

Diff for /src/usr.bin/tmux/cmd-send-keys.c between version 1.55 and 1.56

version 1.55, 2020/04/13 08:26:27 version 1.56, 2020/04/13 10:59:58
Line 60 
Line 60 
 cmd_send_keys_inject_key(struct client *c, struct cmd_find_state *fs,  cmd_send_keys_inject_key(struct client *c, struct cmd_find_state *fs,
     struct cmdq_item *item, key_code key)      struct cmdq_item *item, key_code key)
 {  {
           struct cmd_find_state           *target = cmdq_get_target(item);
         struct session                  *s = fs->s;          struct session                  *s = fs->s;
         struct winlink                  *wl = fs->wl;          struct winlink                  *wl = fs->wl;
         struct window_pane              *wp = fs->wp;          struct window_pane              *wp = fs->wp;
Line 71 
Line 72 
         if (wme == NULL || wme->mode->key_table == NULL) {          if (wme == NULL || wme->mode->key_table == NULL) {
                 if (options_get_number(fs->wp->window->options, "xterm-keys"))                  if (options_get_number(fs->wp->window->options, "xterm-keys"))
                         key |= KEYC_XTERM;                          key |= KEYC_XTERM;
                 if (window_pane_key(wp, item->client, s, wl, key, NULL) != 0)                  if (window_pane_key(wp, cmdq_get_client(item), s, wl, key,
                       NULL) != 0)
                         return (NULL);                          return (NULL);
                 return (item);                  return (item);
         }          }
Line 80 
Line 82 
         bd = key_bindings_get(table, key & ~KEYC_XTERM);          bd = key_bindings_get(table, key & ~KEYC_XTERM);
         if (bd != NULL) {          if (bd != NULL) {
                 table->references++;                  table->references++;
                 item = key_bindings_dispatch(bd, item, c, NULL, &item->target);                  item = key_bindings_dispatch(bd, item, c, NULL, target);
                 key_bindings_unref_table(table);                  key_bindings_unref_table(table);
         }          }
         return (item);          return (item);
Line 132 
Line 134 
 cmd_send_keys_exec(struct cmd *self, struct cmdq_item *item)  cmd_send_keys_exec(struct cmd *self, struct cmdq_item *item)
 {  {
         struct args                     *args = cmd_get_args(self);          struct args                     *args = cmd_get_args(self);
           struct cmdq_shared              *shared = cmdq_get_shared(item);
           struct cmd_find_state           *target = cmdq_get_target(item);
         struct client                   *c = cmd_find_client(item, NULL, 1);          struct client                   *c = cmd_find_client(item, NULL, 1);
         struct cmd_find_state           *fs = &item->target;          struct window_pane              *wp = target->wp;
         struct window_pane              *wp = item->target.wp;          struct session                  *s = target->s;
         struct session                  *s = item->target.s;          struct winlink                  *wl = target->wl;
         struct winlink                  *wl = item->target.wl;          struct mouse_event              *m = &shared->mouse;
         struct mouse_event              *m = &item->shared->mouse;  
         struct window_mode_entry        *wme = TAILQ_FIRST(&wp->modes);          struct window_mode_entry        *wme = TAILQ_FIRST(&wp->modes);
         int                              i;          int                              i;
         key_code                         key;          key_code                         key;
Line 177 
Line 180 
                         cmdq_error(item, "no mouse target");                          cmdq_error(item, "no mouse target");
                         return (CMD_RETURN_ERROR);                          return (CMD_RETURN_ERROR);
                 }                  }
                 window_pane_key(wp, item->client, s, wl, m->key, m);                  window_pane_key(wp, cmdq_get_client(item), s, wl, m->key, m);
                 return (CMD_RETURN_NORMAL);                  return (CMD_RETURN_NORMAL);
         }          }
   
Line 186 
Line 189 
                         key = options_get_number(s->options, "prefix2");                          key = options_get_number(s->options, "prefix2");
                 else                  else
                         key = options_get_number(s->options, "prefix");                          key = options_get_number(s->options, "prefix");
                 cmd_send_keys_inject_key(c, fs, item, key);                  cmd_send_keys_inject_key(c, target, item, key);
                 return (CMD_RETURN_NORMAL);                  return (CMD_RETURN_NORMAL);
         }          }
   
Line 196 
Line 199 
         }          }
   
         for (; np != 0; np--) {          for (; np != 0; np--) {
                 for (i = 0; i < args->argc; i++)                  for (i = 0; i < args->argc; i++) {
                         item = cmd_send_keys_inject_string(c, fs, item, args, i);                          item = cmd_send_keys_inject_string(c, target, item,
                               args, i);
                   }
         }          }
   
         return (CMD_RETURN_NORMAL);          return (CMD_RETURN_NORMAL);

Legend:
Removed from v.1.55  
changed lines
  Added in v.1.56