diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/init.c | 6 |
2 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2024-07-28 Peter Stephenson <p.w.stephenson@ntlworld.com> + + * 52999: Franklin Yu (adapted): Src/init.c: Import OLDPWD from + the environment if set. + 2024-07-04 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> * 52985: Src/exec.c: avoid adding original param to restorelist 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 */ |