mirror of
https://github.com/tmux/tmux.git
synced 2024-11-16 01:18:52 +00:00
Make cmdq->client_exit a tristate (-1 means "not set") so that if
explicitly set it can be copied from child to parent cmdq by if-shell and source-file. This fixes using attach or new. From Chris Johnsen.
This commit is contained in:
parent
1a49ebaa9f
commit
fc54bfe6b0
@ -41,7 +41,6 @@ const struct cmd_entry cmd_if_shell_entry = {
|
|||||||
"[-b] " CMD_TARGET_PANE_USAGE " shell-command command [command]",
|
"[-b] " CMD_TARGET_PANE_USAGE " shell-command command [command]",
|
||||||
0,
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
|
||||||
cmd_if_shell_exec
|
cmd_if_shell_exec
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -148,6 +147,9 @@ cmd_if_shell_done(struct cmd_q *cmdq1)
|
|||||||
struct cmd_if_shell_data *cdata = cmdq1->data;
|
struct cmd_if_shell_data *cdata = cmdq1->data;
|
||||||
struct cmd_q *cmdq = cdata->cmdq;
|
struct cmd_q *cmdq = cdata->cmdq;
|
||||||
|
|
||||||
|
if (cmdq1->client_exit >= 0)
|
||||||
|
cmdq->client_exit = cmdq1->client_exit;
|
||||||
|
|
||||||
if (!cmdq_free(cmdq) && !cdata->bflag)
|
if (!cmdq_free(cmdq) && !cdata->bflag)
|
||||||
cmdq_continue(cmdq);
|
cmdq_continue(cmdq);
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@ const struct cmd_entry cmd_source_file_entry = {
|
|||||||
"path",
|
"path",
|
||||||
0,
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
|
||||||
cmd_source_file_exec
|
cmd_source_file_exec
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -96,6 +95,9 @@ cmd_source_file_done(struct cmd_q *cmdq1)
|
|||||||
{
|
{
|
||||||
struct cmd_q *cmdq = cmdq1->data;
|
struct cmd_q *cmdq = cmdq1->data;
|
||||||
|
|
||||||
|
if (cmdq1->client_exit >= 0)
|
||||||
|
cmdq->client_exit = cmdq1->client_exit;
|
||||||
|
|
||||||
cmdq_free(cmdq1);
|
cmdq_free(cmdq1);
|
||||||
|
|
||||||
cfg_references--;
|
cfg_references--;
|
||||||
|
Loading…
Reference in New Issue
Block a user