From 2b30186259c4e1ab2956d982a9b4b38ab687456d Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 23 Nov 2024 09:52:49 -0800 Subject: [PATCH] surface needs to preserve original config working-directory Fixes #2785 --- src/Surface.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Surface.zig b/src/Surface.zig index b2530936a..e6184baca 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -376,7 +376,13 @@ pub fn init( // We want a config pointer for everything so we get that either // based on our conditional state or the original config. - const config: *const configpkg.Config = if (config_) |*c| c else config_original; + const config: *const configpkg.Config = if (config_) |*c| config: { + // We want to preserve our original working directory. We + // don't need to dupe memory here because termio will derive + // it. We preserve this so directory inheritance works. + c.@"working-directory" = config_original.@"working-directory"; + break :config c; + } else config_original; // Get our configuration var derived_config = try DerivedConfig.init(alloc, config);