patch 9.0.1242: code for :runtime completion is not consistent

Problem:    Code for :runtime completion is not consistent.
Solution:   Make code for cmdline expansion more consistent. (closes #11875)
This commit is contained in:
zeertzjq
2023-01-25 15:04:22 +00:00
committed by Bram Moolenaar
parent b582010350
commit b0d45ec67f
5 changed files with 19 additions and 17 deletions

View File

@ -1363,11 +1363,11 @@ addstar(
// For a tag pattern starting with "/" no translation is needed.
if (context == EXPAND_HELP
|| context == EXPAND_COLORS
|| context == EXPAND_RUNTIME
|| context == EXPAND_COMPILER
|| context == EXPAND_OWNSYNTAX
|| context == EXPAND_FILETYPE
|| context == EXPAND_PACKADD
|| context == EXPAND_RUNTIME
|| ((context == EXPAND_TAGS_LISTFILES
|| context == EXPAND_TAGS)
&& fname[0] == '/'))
@ -2314,10 +2314,6 @@ set_context_by_cmdname(
xp->xp_pattern = arg;
break;
case CMD_runtime:
set_context_in_runtime_cmd(xp, arg);
break;
case CMD_compiler:
xp->xp_context = EXPAND_COMPILER;
xp->xp_pattern = arg;
@ -2338,6 +2334,10 @@ set_context_by_cmdname(
xp->xp_pattern = arg;
break;
case CMD_runtime:
set_context_in_runtime_cmd(xp, arg);
break;
#if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
case CMD_language:
return set_context_in_lang_cmd(xp, arg);

View File

@ -6713,14 +6713,14 @@ ExpandSettings(
}
int
ExpandOldSetting(int *num_file, char_u ***file)
ExpandOldSetting(int *numMatches, char_u ***matches)
{
char_u *var = NULL; // init for GCC
char_u *buf;
*num_file = 0;
*file = ALLOC_ONE(char_u *);
if (*file == NULL)
*numMatches = 0;
*matches = ALLOC_ONE(char_u *);
if (*matches == NULL)
return FAIL;
/*
@ -6748,7 +6748,7 @@ ExpandOldSetting(int *num_file, char_u ***file)
if (buf == NULL)
{
VIM_CLEAR(*file);
VIM_CLEAR(*matches);
return FAIL;
}
@ -6764,8 +6764,8 @@ ExpandOldSetting(int *num_file, char_u ***file)
STRMOVE(var, var + 1);
#endif
*file[0] = buf;
*num_file = 1;
*matches[0] = buf;
*numMatches = 1;
return OK;
}

View File

@ -66,7 +66,7 @@ void set_iminsert_global(void);
void set_imsearch_global(void);
void set_context_in_set_cmd(expand_T *xp, char_u *arg, int opt_flags);
int ExpandSettings(expand_T *xp, regmatch_T *regmatch, char_u *fuzzystr, int *numMatches, char_u ***matches, int can_fuzzy);
int ExpandOldSetting(int *num_file, char_u ***file);
int ExpandOldSetting(int *numMatches, char_u ***matches);
int shortmess(int x);
void vimrc_found(char_u *fname, char_u *envname);
void change_compatible(int on);

View File

@ -27,7 +27,7 @@ func Test_packadd()
let rtp_entries = split(rtp, ',')
for entry in rtp_entries
if entry =~? '\<after\>'
if entry =~? '\<after\>'
let first_after_entry = entry
break
endif
@ -183,7 +183,7 @@ func Test_packadd_symlink_dir2()
exec "silent !rmdir" top2_dir
endfunc
" Check command-line completion for 'packadd'
" Check command-line completion for :packadd
func Test_packadd_completion()
let optdir1 = &packpath . '/pack/mine/opt'
let optdir2 = &packpath . '/pack/candidate/opt'
@ -271,9 +271,9 @@ func Test_helptags()
helptags ALL
let tags1 = readfile(docdir1 . '/tags')
let tags1 = readfile(docdir1 . '/tags')
call assert_match('look-here', tags1[0])
let tags2 = readfile(docdir2 . '/tags')
let tags2 = readfile(docdir2 . '/tags')
call assert_match('look-away', tags2[0])
call assert_fails('helptags abcxyz', 'E150:')

View File

@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1242,
/**/
1241,
/**/