mirror of
https://github.com/vim/vim.git
synced 2025-08-26 20:03:41 -04:00
patch 9.1.1338: Calling expand() interferes with cmdcomplete_info()
Problem: Calling expand() interferes with cmdcomplete_info() (after 9.1.1329). Solution: Only clear cmdline_orig when starting/ending cmdline mode (zeertzjq). closes: #17192 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
1343681aba
commit
ec270a5f55
@ -1115,7 +1115,6 @@ ExpandInit(expand_T *xp)
|
||||
xp->xp_backslash = XP_BS_NONE;
|
||||
xp->xp_prefix = XP_PREFIX_NONE;
|
||||
xp->xp_numfiles = -1;
|
||||
VIM_CLEAR(cmdline_orig);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1132,6 +1131,12 @@ ExpandCleanup(expand_T *xp)
|
||||
VIM_CLEAR(xp->xp_orig);
|
||||
}
|
||||
|
||||
void
|
||||
clear_cmdline_orig(void)
|
||||
{
|
||||
VIM_CLEAR(cmdline_orig);
|
||||
}
|
||||
|
||||
/*
|
||||
* Display one line of completion matches. Multiple matches are displayed in
|
||||
* each line (used by wildmode=list and CTRL-D)
|
||||
|
@ -1663,6 +1663,7 @@ getcmdline_int(
|
||||
|
||||
ExpandInit(&xpc);
|
||||
ccline.xpc = &xpc;
|
||||
clear_cmdline_orig();
|
||||
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl && *curwin->w_p_rlc == 's'
|
||||
@ -2567,6 +2568,7 @@ returncmd:
|
||||
|
||||
ExpandCleanup(&xpc);
|
||||
ccline.xpc = NULL;
|
||||
clear_cmdline_orig();
|
||||
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
finish_incsearch_highlighting(gotesc, &is_state, FALSE);
|
||||
|
@ -11,6 +11,7 @@ int cmdline_compl_is_fuzzy(void);
|
||||
char_u *ExpandOne(expand_T *xp, char_u *str, char_u *orig, int options, int mode);
|
||||
void ExpandInit(expand_T *xp);
|
||||
void ExpandCleanup(expand_T *xp);
|
||||
void clear_cmdline_orig(void);
|
||||
int showmatches(expand_T *xp, int wildmenu);
|
||||
char_u *addstar(char_u *fname, int len, int context);
|
||||
void set_expand_context(expand_T *xp);
|
||||
|
@ -4268,10 +4268,12 @@ func Test_cd_bslash_completion_windows()
|
||||
let &shellslash = save_shellslash
|
||||
endfunc
|
||||
|
||||
" Testg cmdcomplete_info() with CmdlineLeavePre autocmd
|
||||
" Test cmdcomplete_info() with CmdlineLeavePre autocmd
|
||||
func Test_cmdcomplete_info()
|
||||
augroup test_CmdlineLeavePre
|
||||
autocmd!
|
||||
" Calling expand() should not interfere with cmdcomplete_info().
|
||||
autocmd CmdlineLeavePre * call expand('test_cmdline.*')
|
||||
autocmd CmdlineLeavePre * let g:cmdcomplete_info = string(cmdcomplete_info())
|
||||
augroup END
|
||||
new
|
||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1338,
|
||||
/**/
|
||||
1337,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user