mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	When using source-file, run the commands in the context of the source-file
command rather than with no context. This makes things like attach work from a file.
This commit is contained in:
		
							
								
								
									
										15
									
								
								cfg.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								cfg.c
									
									
									
									
									
								
							@@ -51,7 +51,7 @@ cfg_error(unused struct cmd_ctx *ctx, const char *fmt, ...)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
load_cfg(const char *path, char **cause)
 | 
			
		||||
load_cfg(const char *path, struct cmd_ctx *ctxin, char **cause)
 | 
			
		||||
{
 | 
			
		||||
	FILE   	        *f;
 | 
			
		||||
	u_int		 n;
 | 
			
		||||
@@ -87,15 +87,20 @@ load_cfg(const char *path, char **cause)
 | 
			
		||||
			continue;
 | 
			
		||||
		cfg_cause = NULL;
 | 
			
		||||
 | 
			
		||||
		ctx.msgdata = NULL;
 | 
			
		||||
		ctx.curclient = NULL;
 | 
			
		||||
		if (ctxin == NULL) {
 | 
			
		||||
			ctx.msgdata = NULL;
 | 
			
		||||
			ctx.curclient = NULL;
 | 
			
		||||
			ctx.cmdclient = NULL;
 | 
			
		||||
		} else {
 | 
			
		||||
			ctx.msgdata = ctxin->msgdata;
 | 
			
		||||
			ctx.curclient = ctxin->curclient;
 | 
			
		||||
			ctx.cmdclient = ctxin->cmdclient;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		ctx.error = cfg_error;
 | 
			
		||||
		ctx.print = cfg_print;
 | 
			
		||||
		ctx.info = cfg_print;
 | 
			
		||||
 | 
			
		||||
		ctx.cmdclient = NULL;
 | 
			
		||||
 | 
			
		||||
		cfg_cause = NULL;
 | 
			
		||||
		cmd_list_exec(cmdlist, &ctx);
 | 
			
		||||
		cmd_list_free(cmdlist);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user