if (free_pat)
vim_free(pat);
#ifdef BACKSLASH_IN_FILENAME
- if (p_csl[0] != NUL && (options & WILD_IGNORE_COMPLETESLASH) == 0)
+ if (p_csl[0] != NUL
+ && (options & WILD_IGNORE_COMPLETESLASH) == 0
+ && xp->xp_context != EXPAND_FINDFUNC)
{
int j;
enew
endfunc
+func Test_findfunc_completeslash()
+ CheckMSWindows
+
+ func FindBsl(pat, cmdarg)
+ return ['Xdir\foo.c']->matchfuzzy(a:pat)
+ endfunc
+ func FindFwd(pat, cmdarg)
+ return ['Xdir/foo.c']->matchfuzzy(a:pat)
+ endfunc
+
+ set findfunc=FindBsl
+ set completeslash=slash
+ call feedkeys(":find Xdir\<C-A>\<C-B>\"\<CR>", 'tx')
+ call assert_equal('"find Xdir\foo.c', @:)
+
+ set findfunc=FindFwd
+ set completeslash=backslash
+ call feedkeys(":find Xdir\<C-A>\<C-B>\"\<CR>", 'tx')
+ call assert_equal('"find Xdir/foo.c', @:)
+
+ set completeslash& findfunc&
+ delfunc FindBsl
+ delfunc FindFwd
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab