From: huangqinjin <huangqinjin(a)gmail.com> Fixes https://bugs.winehq.org/show_bug.cgi?id=57137 --- programs/cmd/builtins.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index d7c5090d17f..f441070aa86 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -1806,6 +1806,7 @@ RETURN_CODE WCMD_pushd(const WCHAR *args) RETURN_CODE WCMD_popd(void) { + RETURN_CODE return_code; struct env_stack *temp = pushd_directories; if (!pushd_directories) @@ -1813,10 +1814,12 @@ RETURN_CODE WCMD_popd(void) /* pop the old environment from the stack, and make it the current dir */ pushd_directories = temp->next; - SetCurrentDirectoryW(temp->strings); + /* Change directory using CD code with /D parameter */ + lstrcpyW(quals, L"/D"); + return_code = WCMD_setshow_default(temp->strings); free(temp->strings); free(temp); - return NO_ERROR; + return return_code; } /**************************************************************************** -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6891