mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Add a way to mark environment variables as "hidden" so they can be used
by tmux but are not passed into the environment of new panes.
This commit is contained in:
		
							
								
								
									
										8
									
								
								spawn.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								spawn.c
									
									
									
									
									
								
							@@ -303,7 +303,7 @@ spawn_pane(struct spawn_context *sc, char **cause)
 | 
			
		||||
	child = environ_for_session(s, 0);
 | 
			
		||||
	if (sc->environ != NULL)
 | 
			
		||||
		environ_copy(sc->environ, child);
 | 
			
		||||
	environ_set(child, "TMUX_PANE", "%%%u", new_wp->id);
 | 
			
		||||
	environ_set(child, "TMUX_PANE", 0, "%%%u", new_wp->id);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Then the PATH environment variable. The session one is replaced from
 | 
			
		||||
@@ -313,10 +313,10 @@ spawn_pane(struct spawn_context *sc, char **cause)
 | 
			
		||||
	if (c != NULL && c->session == NULL) { /* only unattached clients */
 | 
			
		||||
		ee = environ_find(c->environ, "PATH");
 | 
			
		||||
		if (ee != NULL)
 | 
			
		||||
			environ_set(child, "PATH", "%s", ee->value);
 | 
			
		||||
			environ_set(child, "PATH", 0, "%s", ee->value);
 | 
			
		||||
	}
 | 
			
		||||
	if (environ_find(child, "PATH") == NULL)
 | 
			
		||||
		environ_set(child, "%s", _PATH_DEFPATH);
 | 
			
		||||
		environ_set(child, "PATH", 0, "%s", _PATH_DEFPATH);
 | 
			
		||||
 | 
			
		||||
	/* Then the shell. If respawning, use the old one. */
 | 
			
		||||
	if (~sc->flags & SPAWN_RESPAWN) {
 | 
			
		||||
@@ -326,7 +326,7 @@ spawn_pane(struct spawn_context *sc, char **cause)
 | 
			
		||||
		free(new_wp->shell);
 | 
			
		||||
		new_wp->shell = xstrdup(tmp);
 | 
			
		||||
	}
 | 
			
		||||
	environ_set(child, "SHELL", "%s", new_wp->shell);
 | 
			
		||||
	environ_set(child, "SHELL", 0, "%s", new_wp->shell);
 | 
			
		||||
 | 
			
		||||
	/* Log the arguments we are going to use. */
 | 
			
		||||
	log_debug("%s: shell=%s", __func__, new_wp->shell);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user