# HG changeset patch # User Bram Moolenaar # Date 1637323206 -3600 # Node ID 027c5b4b6f073eeca6d131a0550b541a7bfd1478 # Parent 0e260743a13c83358f4a88c65c0324e99f9df67b patch 8.2.3622: "verbose pwd" shows confusing info Commit: https://github.com/vim/vim/commit/64be6aa3a54ecfe355d4a03e1200650c301e7f29 Author: zeertzjq Date: Fri Nov 19 11:59:08 2021 +0000 patch 8.2.3622: "verbose pwd" shows confusing info Problem: "verbose pwd" shows confusing info when :lcd does not change directory. Solution: Clear last_chdir_reason also when the directory does not change. (closes #9160) diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -7301,6 +7301,7 @@ post_chdir(cdscope_T scope) VIM_CLEAR(globaldir); } + last_chdir_reason = NULL; shorten_fnames(TRUE); } @@ -7390,7 +7391,6 @@ changedir_func( if (dir_differs) { - last_chdir_reason = NULL; if (scope == CDSCOPE_WINDOW) acmd_fname = (char_u *)"window"; else if (scope == CDSCOPE_TABPAGE) diff --git a/src/testdir/test_autochdir.vim b/src/testdir/test_autochdir.vim --- a/src/testdir/test_autochdir.vim +++ b/src/testdir/test_autochdir.vim @@ -40,6 +40,14 @@ func Test_verbose_pwd() set acd wincmd w call assert_match('\[autochdir\].*testdir$', execute('verbose pwd')) + execute 'lcd' cwd + call assert_match('\[window\].*testdir$', execute('verbose pwd')) + execute 'tcd' cwd + call assert_match('\[tabpage\].*testdir$', execute('verbose pwd')) + execute 'cd' cwd + call assert_match('\[global\].*testdir$', execute('verbose pwd')) + edit + call assert_match('\[autochdir\].*testdir$', execute('verbose pwd')) wincmd w call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd')) set noacd diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3622, +/**/ 3621, /**/ 3620,