mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +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:
		@@ -41,7 +41,6 @@ const struct cmd_entry cmd_if_shell_entry = {
 | 
			
		||||
	"[-b] " CMD_TARGET_PANE_USAGE " shell-command command [command]",
 | 
			
		||||
	0,
 | 
			
		||||
	NULL,
 | 
			
		||||
	NULL,
 | 
			
		||||
	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_q			*cmdq = cdata->cmdq;
 | 
			
		||||
 | 
			
		||||
	if (cmdq1->client_exit >= 0)
 | 
			
		||||
		cmdq->client_exit = cmdq1->client_exit;
 | 
			
		||||
 | 
			
		||||
	if (!cmdq_free(cmdq) && !cdata->bflag)
 | 
			
		||||
		cmdq_continue(cmdq);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,6 @@ const struct cmd_entry cmd_source_file_entry = {
 | 
			
		||||
	"path",
 | 
			
		||||
	0,
 | 
			
		||||
	NULL,
 | 
			
		||||
	NULL,
 | 
			
		||||
	cmd_source_file_exec
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -96,6 +95,9 @@ cmd_source_file_done(struct cmd_q *cmdq1)
 | 
			
		||||
{
 | 
			
		||||
	struct cmd_q	*cmdq = cmdq1->data;
 | 
			
		||||
 | 
			
		||||
	if (cmdq1->client_exit >= 0)
 | 
			
		||||
		cmdq->client_exit = cmdq1->client_exit;
 | 
			
		||||
 | 
			
		||||
	cmdq_free(cmdq1);
 | 
			
		||||
 | 
			
		||||
	cfg_references--;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user