=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tmux.c,v retrieving revision 1.184 retrieving revision 1.185 diff -u -r1.184 -r1.185 --- src/usr.bin/tmux/tmux.c 2017/07/12 09:21:25 1.184 +++ src/usr.bin/tmux/tmux.c 2018/01/01 11:19:08 1.185 @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.c,v 1.184 2017/07/12 09:21:25 nicm Exp $ */ +/* $OpenBSD: tmux.c,v 1.185 2018/01/01 11:19:08 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -193,7 +193,7 @@ { char *path, *label, **var; char tmp[PATH_MAX]; - const char *s, *shell; + const char *s, *shell, *cwd; int opt, flags, keys; const struct options_table_entry *oe; @@ -294,8 +294,9 @@ global_environ = environ_create(); for (var = environ; *var != NULL; var++) environ_put(global_environ, *var); - if (getcwd(tmp, sizeof tmp) != NULL) - environ_set(global_environ, "PWD", "%s", tmp); + if ((cwd = getenv("PWD")) == NULL && + (cwd = getcwd(tmp, sizeof tmp)) != NULL) + environ_set(global_environ, "PWD", "%s", cwd); global_options = options_create(NULL); global_s_options = options_create(NULL);