diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-03-05 17:00:31 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-03-05 17:00:31 +0000 |
commit | b29ae159777028bb3266835b55716749ab0515be (patch) | |
tree | 6a5583099154bfd1a982457ec21b5f373ed9405b | |
parent | df1bbea436636ac227d33dd79f77e07f4fffb028 (diff) | |
download | vim-git-b29ae159777028bb3266835b55716749ab0515be.tar.gz |
patch 8.2.4513: window-local directory is not applied if 'acd' failsv8.2.4513
Problem: Window-local directory is not applied if 'acd' fails.
Solution: Don't call do_autochdir(). (closes #9891)
-rw-r--r-- | src/testdir/test_autochdir.vim | 13 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/window.c | 5 |
3 files changed, 11 insertions, 9 deletions
diff --git a/src/testdir/test_autochdir.vim b/src/testdir/test_autochdir.vim index 647472456..36b469582 100644 --- a/src/testdir/test_autochdir.vim +++ b/src/testdir/test_autochdir.vim @@ -86,22 +86,27 @@ 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')) + execute 'lcd' cwd + call assert_match('\[window\].*testdir$', execute('verbose pwd')) edit call assert_match('\[autochdir\].*testdir$', execute('verbose pwd')) + enew + wincmd w + call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd')) + wincmd w + call assert_match('\[window\].*testdir$', execute('verbose pwd')) wincmd w call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd')) set noacd call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd')) wincmd w - call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd')) + call assert_match('\[window\].*testdir$', execute('verbose pwd')) execute 'cd' cwd - call assert_match('\[global\].*testdir', execute('verbose pwd')) + call assert_match('\[global\].*testdir$', execute('verbose pwd')) wincmd w call assert_match('\[window\].*testdir[/\\]Xautodir', execute('verbose pwd')) diff --git a/src/version.c b/src/version.c index e80801035..357ed40e9 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4513, +/**/ 4512, /**/ 4511, diff --git a/src/window.c b/src/window.c index 5e6fce802..cf11acf89 100644 --- a/src/window.c +++ b/src/window.c @@ -4772,11 +4772,6 @@ win_enter(win_T *wp, int undo_sync) static void fix_current_dir(void) { -#ifdef FEAT_AUTOCHDIR - if (p_acd) - do_autochdir(); - else -#endif if (curwin->w_localdir != NULL || curtab->tp_localdir != NULL) { char_u *dirname; |