=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-new-session.c,v retrieving revision 1.131 retrieving revision 1.132 diff -c -r1.131 -r1.132 *** src/usr.bin/tmux/cmd-new-session.c 2020/05/16 14:49:50 1.131 --- src/usr.bin/tmux/cmd-new-session.c 2020/05/16 15:25:24 1.132 *************** *** 1,4 **** ! /* $OpenBSD: cmd-new-session.c,v 1.131 2020/05/16 14:49:50 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-new-session.c,v 1.132 2020/05/16 15:25:24 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 39,48 **** .name = "new-session", .alias = "new", ! .args = { "Ac:dDEF:n:Ps:t:x:Xy:", 0, -1 }, ! .usage = "[-AdDEPX] [-c start-directory] [-F format] [-n window-name] " ! "[-s session-name] " CMD_TARGET_SESSION_USAGE " [-x width] " ! "[-y height] [command]", .target = { 't', CMD_FIND_SESSION, CMD_FIND_CANFAIL }, --- 39,48 ---- .name = "new-session", .alias = "new", ! .args = { "Ac:dDe:EF:n:Ps:t:x:Xy:", 0, -1 }, ! .usage = "[-AdDEPX] [-c start-directory] [-e environment] [-F format] " ! "[-n window-name] [-s session-name] " ! CMD_TARGET_SESSION_USAGE " [-x width] [-y height] [command]", .target = { 't', CMD_FIND_SESSION, CMD_FIND_CANFAIL }, *************** *** 75,81 **** struct options *oo; struct termios tio, *tiop; struct session_group *sg = NULL; ! const char *errstr, *template, *group, *tmp; char *cause, *cwd = NULL, *cp, *newname = NULL; char *name, *prefix = NULL; int detached, already_attached, is_control = 0; --- 75,81 ---- struct options *oo; struct termios tio, *tiop; struct session_group *sg = NULL; ! const char *errstr, *template, *group, *tmp, *add; char *cause, *cwd = NULL, *cp, *newname = NULL; char *name, *prefix = NULL; int detached, already_attached, is_control = 0; *************** *** 83,88 **** --- 83,89 ---- struct spawn_context sc; enum cmd_retval retval; struct cmd_find_state fs; + struct args_value *value; if (cmd_get_entry(self) == &cmd_has_session_entry) { /* *************** *** 254,259 **** --- 255,265 ---- env = environ_create(); if (c != NULL && !args_has(args, 'E')) environ_update(global_s_options, c->environ, env); + add = args_first_value(args, 'e', &value); + while (add != NULL) { + environ_put(env, add, 0); + add = args_next_value(&value); + } s = session_create(prefix, newname, cwd, env, oo, tiop); /* Spawn the initial window. */