0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

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

View File

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

View File

@@ -66,7 +66,7 @@ void set_iminsert_global(void);
void set_imsearch_global(void); void set_imsearch_global(void);
void set_context_in_set_cmd(expand_T *xp, char_u *arg, int opt_flags); 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 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); int shortmess(int x);
void vimrc_found(char_u *fname, char_u *envname); void vimrc_found(char_u *fname, char_u *envname);
void change_compatible(int on); void change_compatible(int on);

View File

@@ -183,7 +183,7 @@ func Test_packadd_symlink_dir2()
exec "silent !rmdir" top2_dir exec "silent !rmdir" top2_dir
endfunc endfunc
" Check command-line completion for 'packadd' " Check command-line completion for :packadd
func Test_packadd_completion() func Test_packadd_completion()
let optdir1 = &packpath . '/pack/mine/opt' let optdir1 = &packpath . '/pack/mine/opt'
let optdir2 = &packpath . '/pack/candidate/opt' let optdir2 = &packpath . '/pack/candidate/opt'

View File

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