summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/patches/cherry-pick-0bb140f9-52999-import-OLDPWD-from-environment-if-set.patch22
-rw-r--r--debian/patches/series1
2 files changed, 23 insertions, 0 deletions
diff --git a/debian/patches/cherry-pick-0bb140f9-52999-import-OLDPWD-from-environment-if-set.patch b/debian/patches/cherry-pick-0bb140f9-52999-import-OLDPWD-from-environment-if-set.patch
new file mode 100644
index 000000000..9b56368b2
--- /dev/null
+++ b/debian/patches/cherry-pick-0bb140f9-52999-import-OLDPWD-from-environment-if-set.patch
@@ -0,0 +1,22 @@
+From 0bb140f9911851e9712dba311925f9c9ab521fd2 Mon Sep 17 00:00:00 2001
+From: Peter Stephenson <p.w.stephenson@ntlworld.com>
+Date: Sun, 28 Jul 2024 20:33:07 +0100
+Subject: [PATCH] 52999: import OLDPWD from environment if set
+
+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 */
diff --git a/debian/patches/series b/debian/patches/series
index eda5cda8d..2d9fb578a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,3 +12,4 @@ cherry-pick-10bdbd8b-51877-do-not-build-pcre-module-if-pcre2-config-is-not-found
cherry-pick-ecd3f9c9-1057610-support-texinfo-7.0.patch
cherry-pick-4c89849c-50641-use-int-main-in-test-C-codes-in-configure.patch
cherry-pick-ab4d62eb-52383-Avoid-incompatible-pointer-types-in-terminfo-global.patch
+cherry-pick-0bb140f9-52999-import-OLDPWD-from-environment-if-set.patch