=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window.c,v retrieving revision 1.206 retrieving revision 1.207 diff -u -r1.206 -r1.207 --- src/usr.bin/tmux/window.c 2017/10/12 11:32:27 1.206 +++ src/usr.bin/tmux/window.c 2017/11/09 23:02:13 1.207 @@ -1,4 +1,4 @@ -/* $OpenBSD: window.c,v 1.206 2017/10/12 11:32:27 nicm Exp $ */ +/* $OpenBSD: window.c,v 1.207 2017/11/09 23:02:13 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -935,10 +935,13 @@ proc_clear_signals(server_proc, 1); sigprocmask(SIG_SETMASK, &oldset, NULL); - if (chdir(wp->cwd) != 0) { - if ((home = find_home()) == NULL || chdir(home) != 0) - chdir("/"); - } + cwd = NULL; + if (chdir(wp->cwd) == 0) + cwd = wp->cwd; + else if ((home = find_home()) != NULL && chdir(home) == 0) + cwd = home; + else + chdir("/"); if (tcgetattr(STDIN_FILENO, &tio2) != 0) fatal("tcgetattr failed"); @@ -953,6 +956,8 @@ if (path != NULL) environ_set(env, "PATH", "%s", path); + if (cwd != NULL) + environ_set(env, "PWD", "%s", cwd); environ_set(env, "TMUX_PANE", "%%%u", wp->id); environ_push(env);