diff options
Diffstat (limited to 'Src')
-rw-r--r-- | Src/init.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Src/init.c b/Src/init.c index ec21521b1..0aecb5db9 100644 --- a/Src/init.c +++ b/Src/init.c @@ -1245,7 +1245,11 @@ setupvals(char *cmd, char *runscript, char *zsh_name) pwd = metafy(zgetcwd(), -1, META_DUP); } - oldpwd = ztrdup(pwd); /* initialize `OLDPWD' = `PWD' */ + oldpwd = zgetenv("OLDPWD"); + if (oldpwd == NULL) + oldpwd = ztrdup(pwd); /* initialize `OLDPWD' = `PWD' */ + else + oldpwd = ztrdup(oldpwd); inittyptab(); /* initialize the ztypes table */ initlextabs(); /* initialize lexing tables */ |