summaryrefslogtreecommitdiff
path: root/src/fileio.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-02-03 17:36:27 +0100
committerBram Moolenaar <Bram@vim.org>2018-02-03 17:36:27 +0100
commitb7407d3fc9496f9048fb65ab17b5ba3444965c0e (patch)
treeea713a63c3771ff35b52aadef755102b55cc377d /src/fileio.c
parentddb349369d107c14fad9c38baf2f0e2b8514fbf0 (diff)
downloadvim-git-b7407d3fc9496f9048fb65ab17b5ba3444965c0e.tar.gz
patch 8.0.1459: cannot handle change of directoryv8.0.1459
Problem: Cannot handle change of directory. Solution: Add the DirChanged autocommand event. (Andy Massimino, closes #888) Avoid changing directory for 'autochdir' too often.
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c
index fb5af6446..ab216abbf 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7798,6 +7798,7 @@ static struct event_name
{"CursorHoldI", EVENT_CURSORHOLDI},
{"CursorMoved", EVENT_CURSORMOVED},
{"CursorMovedI", EVENT_CURSORMOVEDI},
+ {"DirChanged", EVENT_DIRCHANGED},
{"EncodingChanged", EVENT_ENCODINGCHANGED},
{"FileEncoding", EVENT_ENCODINGCHANGED},
{"FileAppendPost", EVENT_FILEAPPENDPOST},
@@ -9588,7 +9589,7 @@ apply_autocmds_group(
{
sfname = vim_strsave(fname);
/* Don't try expanding FileType, Syntax, FuncUndefined, WindowID,
- * ColorScheme or QuickFixCmd* */
+ * ColorScheme, QuickFixCmd* or DirChanged */
if (event == EVENT_FILETYPE
|| event == EVENT_SYNTAX
|| event == EVENT_FUNCUNDEFINED
@@ -9597,7 +9598,8 @@ apply_autocmds_group(
|| event == EVENT_QUICKFIXCMDPRE
|| event == EVENT_COLORSCHEME
|| event == EVENT_OPTIONSET
- || event == EVENT_QUICKFIXCMDPOST)
+ || event == EVENT_QUICKFIXCMDPOST
+ || event == EVENT_DIRCHANGED)
fname = vim_strsave(fname);
else
fname = FullName_save(fname, FALSE);