0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

patch 8.0.1459: cannot handle change of directory

Problem:    Cannot handle change of directory.
Solution:   Add the DirChanged autocommand event. (Andy Massimino,
            closes #888)  Avoid changing directory for 'autochdir' too often.
This commit is contained in:
Bram Moolenaar
2018-02-03 17:36:27 +01:00
parent ddb349369d
commit b7407d3fc9
12 changed files with 94 additions and 15 deletions

View File

@@ -9048,11 +9048,19 @@ ex_cd(exarg_T *eap)
EMSG(_(e_failed));
else
{
post_chdir(eap->cmdidx == CMD_lcd || eap->cmdidx == CMD_lchdir);
int is_local_chdir = eap->cmdidx == CMD_lcd
|| eap->cmdidx == CMD_lchdir;
post_chdir(is_local_chdir);
/* Echo the new current directory if the command was typed. */
if (KeyTyped || p_verbose >= 5)
ex_pwd(eap);
#ifdef FEAT_AUTOCMD
apply_autocmds(EVENT_DIRCHANGED,
is_local_chdir ? (char_u *)"window" : (char_u *)"global",
new_dir, FALSE, curbuf);
#endif
}
vim_free(tofree);
}
@@ -9932,7 +9940,7 @@ ex_mkrc(
*dirnow = NUL;
if (*dirnow != NUL && (ssop_flags & SSOP_SESDIR))
{
if (vim_chdirfile(fname) == OK)
if (vim_chdirfile(fname, NULL) == OK)
shorten_fnames(TRUE);
}
else if (*dirnow != NUL