aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_docmd.c2
-rw-r--r--src/nvim/file_search.c8
2 files changed, 8 insertions, 2 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index e5c05a2498..86f387d9a5 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -6949,7 +6949,7 @@ void free_cd_dir(void)
#endif
-static void apply_autocmd_dirchanged(char_u *new_dir, CdScope scope)
+void apply_autocmd_dirchanged(char_u *new_dir, CdScope scope)
{
dict_T *dict = get_vim_var_dict(VV_EVENT);
char buf[8];
diff --git a/src/nvim/file_search.c b/src/nvim/file_search.c
index 2ac8e27047..56c0cb73a6 100644
--- a/src/nvim/file_search.c
+++ b/src/nvim/file_search.c
@@ -51,6 +51,7 @@
#include "nvim/ascii.h"
#include "nvim/file_search.h"
#include "nvim/charset.h"
+#include "nvim/ex_docmd.h"
#include "nvim/fileio.h"
#include "nvim/memory.h"
#include "nvim/message.h"
@@ -1531,7 +1532,12 @@ int vim_chdirfile(char_u *fname)
STRLCPY(dir, fname, MAXPATHL);
*path_tail_with_sep(dir) = NUL;
- return os_chdir((char *)dir) == 0 ? OK : FAIL;
+ if (os_chdir((char *)dir) != 0) {
+ return FAIL;
+ }
+ apply_autocmd_dirchanged(dir, kCdScopeWindow);
+
+ return OK;
}
/// Change directory to "new_dir". Search 'cdpath' for relative directory names.