changeset 26181:027c5b4b6f07 v8.2.3622

patch 8.2.3622: "verbose pwd" shows confusing info Commit: https://github.com/vim/vim/commit/64be6aa3a54ecfe355d4a03e1200650c301e7f29 Author: zeertzjq <zeertzjq@outlook.com> 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)
author Bram Moolenaar <Bram@vim.org>
date Fri, 19 Nov 2021 13:00:06 +0100
parents 0e260743a13c
children c3b0032c8117
files src/ex_docmd.c src/testdir/test_autochdir.vim src/version.c
diffstat 3 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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)
--- 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
--- 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,