Merge branch 'obsd-master'

This commit is contained in:
Thomas Adam 2018-11-07 10:02:39 +00:00
commit 4efba0bf9f
3 changed files with 10 additions and 7 deletions

View File

@ -170,7 +170,7 @@ cmd_wait_for_wait(struct cmdq_item *item, const char *name,
struct client *c = item->client; struct client *c = item->client;
struct wait_item *wi; struct wait_item *wi;
if (c == NULL || c->session != NULL) { if (c == NULL) {
cmdq_error(item, "not able to wait"); cmdq_error(item, "not able to wait");
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }
@ -198,7 +198,7 @@ cmd_wait_for_lock(struct cmdq_item *item, const char *name,
{ {
struct wait_item *wi; struct wait_item *wi;
if (item->client == NULL || item->client->session != NULL) { if (item->client == NULL) {
cmdq_error(item, "not able to lock"); cmdq_error(item, "not able to lock");
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }

View File

@ -1020,6 +1020,7 @@ table_changed:
} }
flags = c->flags; flags = c->flags;
try_again:
/* Log key table. */ /* Log key table. */
if (wp == NULL) if (wp == NULL)
log_debug("key table %s (no pane)", table->name); log_debug("key table %s (no pane)", table->name);
@ -1028,7 +1029,6 @@ table_changed:
if (c->flags & CLIENT_REPEAT) if (c->flags & CLIENT_REPEAT)
log_debug("currently repeating"); log_debug("currently repeating");
try_again:
/* Try to see if there is a key binding in the current table. */ /* Try to see if there is a key binding in the current table. */
bd = key_bindings_get(table, key0); bd = key_bindings_get(table, key0);
if (bd != NULL) { if (bd != NULL) {
@ -1039,10 +1039,12 @@ try_again:
*/ */
if ((c->flags & CLIENT_REPEAT) && if ((c->flags & CLIENT_REPEAT) &&
(~bd->flags & KEY_BINDING_REPEAT)) { (~bd->flags & KEY_BINDING_REPEAT)) {
log_debug("found in key table %s (not repeating)",
table->name);
server_client_set_key_table(c, NULL); server_client_set_key_table(c, NULL);
first = table = c->keytable;
c->flags &= ~CLIENT_REPEAT; c->flags &= ~CLIENT_REPEAT;
server_status_client(c); server_status_client(c);
table = c->keytable;
goto table_changed; goto table_changed;
} }
log_debug("found in key table %s", table->name); log_debug("found in key table %s", table->name);
@ -1092,10 +1094,13 @@ try_again:
log_debug("not found in key table %s", table->name); log_debug("not found in key table %s", table->name);
if (!server_client_is_default_key_table(c, table) || if (!server_client_is_default_key_table(c, table) ||
(c->flags & CLIENT_REPEAT)) { (c->flags & CLIENT_REPEAT)) {
log_debug("trying in root table");
server_client_set_key_table(c, NULL); server_client_set_key_table(c, NULL);
table = c->keytable;
if (c->flags & CLIENT_REPEAT)
first = table;
c->flags &= ~CLIENT_REPEAT; c->flags &= ~CLIENT_REPEAT;
server_status_client(c); server_status_client(c);
table = c->keytable;
goto table_changed; goto table_changed;
} }

2
tmux.1
View File

@ -4535,8 +4535,6 @@ is used, the channel is locked and any clients that try to lock the same
channel are made to wait until the channel is unlocked with channel are made to wait until the channel is unlocked with
.Ic wait-for .Ic wait-for
.Fl U . .Fl U .
This command only works from outside
.Nm .
.El .El
.Sh TERMINFO EXTENSIONS .Sh TERMINFO EXTENSIONS
.Nm .Nm