summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-04-22 13:27:44 +0200
committerBram Moolenaar <Bram@vim.org>2018-04-22 13:27:44 +0200
commita4baf5b32519855bb176a7aa0e9397c137ca890a (patch)
treee72b38710ff3986b37f2adbcfd520ae060ab0d7a
parentebe74b73677b06db7d483987a863b41cee051cc0 (diff)
patch 8.0.1748: CmdlineEnter command uses backslash instead of slashv8.0.1748
Problem: CmdlineEnter command uses backslash instead of slash. Solution: Don't treat the character as a file name. (closes #2837)
-rw-r--r--src/fileio.c9
-rw-r--r--src/testdir/test_autocmd.vim3
-rw-r--r--src/version.c2
3 files changed, 14 insertions, 0 deletions
diff --git a/src/fileio.c b/src/fileio.c
index f02925bed5..700bd3ea53 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -9524,6 +9524,12 @@ apply_autocmds_group(
* ColorScheme, QuickFixCmd* or DirChanged */
if (event == EVENT_FILETYPE
|| event == EVENT_SYNTAX
+ || event == EVENT_CMDLINECHANGED
+ || event == EVENT_CMDLINEENTER
+ || event == EVENT_CMDLINELEAVE
+ || event == EVENT_CMDWINENTER
+ || event == EVENT_CMDWINLEAVE
+ || event == EVENT_CMDUNDEFINED
|| event == EVENT_FUNCUNDEFINED
|| event == EVENT_REMOTEREPLY
|| event == EVENT_SPELLFILEMISSING
@@ -9532,7 +9538,10 @@ apply_autocmds_group(
|| event == EVENT_OPTIONSET
|| event == EVENT_QUICKFIXCMDPOST
|| event == EVENT_DIRCHANGED)
+ {
fname = vim_strsave(fname);
+ autocmd_fname_full = TRUE; /* don't expand it later */
+ }
else
fname = FullName_save(fname, FALSE);
}
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 2d7956f45d..1c34e3049b 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -837,6 +837,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
@@ -849,6 +851,7 @@ func Test_Cmdline()
bwipe!
au! CmdlineEnter
au! CmdlineLeave
+ let &shellslash = save_shellslash
endfunc
" Test for BufWritePre autocommand that deletes or unloads the buffer.
diff --git a/src/version.c b/src/version.c
index a18394a823..28a053a58e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1748,
+/**/
1747,
/**/
1746,