Merge branch 'obsd-master'

pull/871/merge
Thomas Adam 2017-04-21 20:01:18 +01:00
commit 1f209ed030
5 changed files with 26 additions and 21 deletions

View File

@ -878,7 +878,7 @@ cmd_find_log_state(const char *prefix, struct cmd_find_state *fs)
}
/* Find state from a session. */
int
void
cmd_find_from_session(struct cmd_find_state *fs, struct session *s)
{
cmd_find_clear_state(fs, NULL, 0);
@ -889,11 +889,10 @@ cmd_find_from_session(struct cmd_find_state *fs, struct session *s)
fs->wp = fs->w->active;
cmd_find_log_state(__func__, fs);
return (0);
}
/* Find state from a winlink. */
int
void
cmd_find_from_winlink(struct cmd_find_state *fs, struct winlink *wl)
{
cmd_find_clear_state(fs, NULL, 0);
@ -904,7 +903,6 @@ cmd_find_from_winlink(struct cmd_find_state *fs, struct winlink *wl)
fs->wp = wl->window->active;
cmd_find_log_state(__func__, fs);
return (0);
}
/* Find state from a session and window. */
@ -941,6 +939,22 @@ cmd_find_from_window(struct cmd_find_state *fs, struct window *w)
return (0);
}
/* Find state from a winlink and pane. */
void
cmd_find_from_winlink_pane(struct cmd_find_state *fs, struct winlink *wl,
struct window_pane *wp)
{
cmd_find_clear_state(fs, NULL, 0);
fs->s = wl->session;
fs->wl = wl;
fs->idx = fs->wl->idx;
fs->w = fs->wl->window;
fs->wp = wp;
cmd_find_log_state(__func__, fs);
}
/* Find state from a pane. */
int
cmd_find_from_pane(struct cmd_find_state *fs, struct window_pane *wp)

View File

@ -206,7 +206,7 @@ cmdq_fire_command(struct cmdq_item *item)
goto out;
}
if (item->client == NULL)
item->client = cmd_find_client(item, NULL, CMD_FIND_QUIET);
item->client = cmd_find_client(item, NULL, 1);
retval = cmd->entry->exec(cmd, item);
if (retval == CMD_RETURN_ERROR)
@ -325,8 +325,7 @@ cmdq_next(struct client *c)
item->time = time(NULL);
item->number = ++number;
switch (item->type)
{
switch (item->type) {
case CMDQ_COMMAND:
retval = cmdq_fire_command(item);

View File

@ -171,12 +171,7 @@ cmd_split_window_exec(struct cmd *self, struct cmdq_item *item)
if (to_free != NULL)
free((void *)to_free);
cmd_find_clear_state(&fs, NULL, 0);
fs.s = s;
fs.wl = wl;
fs.w = w;
fs.wp = new_wp;
cmd_find_log_state(__func__, &fs);
cmd_find_from_winlink_pane(&fs, wl, new_wp);
hooks_insert(s->hooks, item, &fs, "after-split-window");
return (CMD_RETURN_NORMAL);

View File

@ -944,11 +944,7 @@ retry:
/* Find default state if the pane is known. */
if (KEYC_IS_MOUSE(key) && m->valid && wp != NULL) {
cmd_find_clear_state(&fs, NULL, 0);
fs.s = s;
fs.wl = fs.s->curw;
fs.w = fs.wl->window;
fs.wp = wp;
cmd_find_from_winlink_pane(&fs, s->curw, wp);
cmd_find_log_state(__func__, &fs);
if (!cmd_find_valid_state(&fs))

7
tmux.h
View File

@ -43,7 +43,6 @@ extern char **environ;
struct args;
struct client;
struct cmdq_item;
struct cmdq_subitem;
struct cmdq_list;
struct environ;
struct input_ctx;
@ -1748,15 +1747,17 @@ int cmd_find_valid_state(struct cmd_find_state *);
void cmd_find_copy_state(struct cmd_find_state *,
struct cmd_find_state *);
void cmd_find_log_state(const char *, struct cmd_find_state *);
int cmd_find_from_session(struct cmd_find_state *,
void cmd_find_from_session(struct cmd_find_state *,
struct session *);
int cmd_find_from_winlink(struct cmd_find_state *,
void cmd_find_from_winlink(struct cmd_find_state *,
struct winlink *);
int cmd_find_from_session_window(struct cmd_find_state *,
struct session *, struct window *);
int cmd_find_from_window(struct cmd_find_state *, struct window *);
int cmd_find_from_pane(struct cmd_find_state *,
struct window_pane *);
void cmd_find_from_winlink_pane(struct cmd_find_state *,
struct winlink *, struct window_pane *);
/* cmd.c */
int cmd_pack_argv(int, char **, char *, size_t);