]> granicus.if.org Git - vim/commitdiff
patch 8.2.3622: "verbose pwd" shows confusing info v8.2.3622
authorzeertzjq <zeertzjq@outlook.com>
Fri, 19 Nov 2021 11:59:08 +0000 (11:59 +0000)
committerBram Moolenaar <Bram@vim.org>
Fri, 19 Nov 2021 11:59:08 +0000 (11:59 +0000)
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)

src/ex_docmd.c
src/testdir/test_autochdir.vim
src/version.c

index aae34f90c44eaab7c5b605504dbe1457527192c9..76511de703faa88be9762d37309bbc05b8bc14b9 100644 (file)
@@ -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)
index 8a78b0de6a605008b117fc7674248bde832fc832..f6cc1483262e033304b2bab491c7a8d866e13a4b 100644 (file)
@@ -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
index 46f977109a4f2c2bf3f0c4b4d8a9294db14565bb..94238de7618aed578497c24b9e3e486bc11334a5 100644 (file)
@@ -757,6 +757,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3622,
 /**/
     3621,
 /**/