diff --git a/cmd-find.c b/cmd-find.c index 0c86e548..e8c82772 100644 --- a/cmd-find.c +++ b/cmd-find.c @@ -111,7 +111,7 @@ cmd_find_inside_pane(struct client *c) return (NULL); RB_FOREACH(wp, window_pane_tree, &all_window_panes) { - if (strcmp(wp->tty, c->ttyname) == 0) + if (wp->fd != -1 && strcmp(wp->tty, c->ttyname) == 0) break; } if (wp != NULL) @@ -222,7 +222,7 @@ fail: } /* - * Find the best winlink for a window (the current if it contains the pane, + * Find the best winlink for a window (the current if it contains the window, * otherwise the first). */ static int @@ -919,6 +919,10 @@ cmd_find_from_client(struct cmd_find_state *fs, struct client *c, int flags) cmd_find_log_state(__func__, fs); return (0); } + else { + log_debug("%s: session $%u does not have pane %%%u", + __func__, s->id, wp->id); + } } /* diff --git a/tmux.1 b/tmux.1 index d184b7a6..d6cb65b3 100644 --- a/tmux.1 +++ b/tmux.1 @@ -3578,6 +3578,21 @@ if is enabled, or .Ql no if not. +Conditionals can be nested arbitrarily. +Inside a conditional, +.Ql \&, +and +.Ql } +must be escaped as +.Ql #, +and +.Ql #} , +unless they are part of a +.Ql #{...} +replacement. For example: +.Bd -literal -offset indent +#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W . +.Ed .Pp Comparisons may be expressed by prefixing two comma-separated alternatives by