mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Merge branch 'obsd-master'
This commit is contained in:
22
cmd-find.c
22
cmd-find.c
@ -802,6 +802,15 @@ cmd_find_clear_state(struct cmd_find_state *fs, struct cmd_q *cmdq, int flags)
|
||||
fs->idx = -1;
|
||||
}
|
||||
|
||||
/* Check if state is empty/ */
|
||||
int
|
||||
cmd_find_empty_state(struct cmd_find_state *fs)
|
||||
{
|
||||
if (fs->s == NULL && fs->wl == NULL && fs->w == NULL && fs->wp == NULL)
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Check if a state if valid. */
|
||||
int
|
||||
cmd_find_valid_state(struct cmd_find_state *fs)
|
||||
@ -958,12 +967,19 @@ cmd_find_target(struct cmd_find_state *fs, struct cmd_find_state *current,
|
||||
cmd_find_clear_state(fs, cmdq, flags);
|
||||
|
||||
/* Find current state. */
|
||||
if (server_check_marked() && (flags & CMD_FIND_DEFAULT_MARKED))
|
||||
if (server_check_marked() && (flags & CMD_FIND_DEFAULT_MARKED)) {
|
||||
fs->current = &marked_pane;
|
||||
else if (cmd_find_valid_state(&cmdq->current))
|
||||
log_debug(" current is marked pane");
|
||||
} else if (cmd_find_valid_state(&cmdq->current)) {
|
||||
fs->current = &cmdq->current;
|
||||
else
|
||||
log_debug(" current is from queue");
|
||||
} else {
|
||||
fs->current = current;
|
||||
log_debug(" current is from argument");
|
||||
}
|
||||
if (!cmd_find_empty_state(fs->current) &&
|
||||
!cmd_find_valid_state(fs->current))
|
||||
fatalx("invalid current find state");
|
||||
|
||||
/* An empty or NULL target is the current. */
|
||||
if (target == NULL || *target == '\0')
|
||||
|
Reference in New Issue
Block a user