=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/environ.c,v retrieving revision 1.17 retrieving revision 1.18 diff -c -r1.17 -r1.18 *** src/usr.bin/tmux/environ.c 2017/01/24 20:15:32 1.17 --- src/usr.bin/tmux/environ.c 2017/03/09 17:02:38 1.18 *************** *** 1,4 **** ! /* $OpenBSD: environ.c,v 1.17 2017/01/24 20:15:32 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: environ.c,v 1.18 2017/03/09 17:02:38 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 20,25 **** --- 20,26 ---- #include #include + #include #include "tmux.h" *************** *** 217,220 **** --- 218,246 ---- envent->value); } } + } + + /* Create initial environment for new child. */ + struct environ * + environ_for_session(struct session *s) + { + struct environ *env; + const char *value; + int idx; + + env = environ_create(); + environ_copy(global_environ, env); + if (s != NULL) + environ_copy(s->environ, env); + + value = options_get_string(global_options, "default-terminal"); + environ_set(env, "TERM", "%s", value); + + if (s != NULL) + idx = s->id; + else + idx = -1; + environ_set(env, "TMUX", "%s,%ld,%d", socket_path, (long)getpid(), idx); + + return (env); }