aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-12-13 02:46:12 +0100
committerGitHub <noreply@github.com>2018-12-13 02:46:12 +0100
commit1cca5da05ff1a35cfdb930be82449705507ec661 (patch)
tree20f58b62ef6fafad7c39ce1a91c2e2f98cf91b59 /src
parentaf368981a7ce817391a03dae5816d167aa2dc189 (diff)
parent4157f4c72db7eab71b9670d517a8cbd3ed8909ba (diff)
downloadrneovim-1cca5da05ff1a35cfdb930be82449705507ec661.tar.gz
rneovim-1cca5da05ff1a35cfdb930be82449705507ec661.tar.bz2
rneovim-1cca5da05ff1a35cfdb930be82449705507ec661.zip
Merge #9348 from janlazo/vim-8.0.1748
vim-patch:8.0.1748
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_docmd.c5
-rw-r--r--src/nvim/fileio.c8
-rw-r--r--src/nvim/testdir/test_autocmd.vim3
3 files changed, 14 insertions, 2 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 6361267d9b..4ef332186e 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -8654,7 +8654,10 @@ eval_vars (
break;
case SPEC_AFILE: // file name for autocommand
- if (autocmd_fname != NULL && !path_is_absolute(autocmd_fname)) {
+ if (autocmd_fname != NULL
+ && !path_is_absolute(autocmd_fname)
+ // For CmdlineEnter and related events, <afile> is not a path! #9348
+ && !strequal("/", (char *)autocmd_fname)) {
// Still need to turn the fname into a full path. It was
// postponed to avoid a delay when <afile> is not used.
result = (char_u *)FullName_save((char *)autocmd_fname, false);
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index 8e5455bc67..fe12a69801 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -6903,7 +6903,13 @@ static bool apply_autocmds_group(event_T event, char_u *fname, char_u *fname_io,
} else {
sfname = vim_strsave(fname);
// Don't try expanding the following events.
- if (event == EVENT_COLORSCHEME
+ if (event == EVENT_CMDLINECHANGED
+ || event == EVENT_CMDLINEENTER
+ || event == EVENT_CMDLINELEAVE
+ || event == EVENT_CMDWINENTER
+ || event == EVENT_CMDWINLEAVE
+ || event == EVENT_CMDUNDEFINED
+ || event == EVENT_COLORSCHEME
|| event == EVENT_COLORSCHEMEPRE
|| event == EVENT_DIRCHANGED
|| event == EVENT_FILETYPE
diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim
index 5deb789f48..253d6750ed 100644
--- a/src/nvim/testdir/test_autocmd.vim
+++ b/src/nvim/testdir/test_autocmd.vim
@@ -840,6 +840,8 @@ func Test_Cmdline()
au! CmdlineEnter
au! CmdlineLeave
+ let save_shellslash = &shellslash
+ set noshellslash
au! CmdlineEnter / let g:entered = expand('<afile>')
au! CmdlineLeave / let g:left = expand('<afile>')
let g:entered = 0
@@ -852,6 +854,7 @@ func Test_Cmdline()
bwipe!
au! CmdlineEnter
au! CmdlineLeave
+ let &shellslash = save_shellslash
endfunc
" Test for BufWritePre autocommand that deletes or unloads the buffer.