Problem: The +cmdline_compl feature is not in the tiny version.
Solution: Graduate the +cmdline_compl feature.
-*cmdline.txt* For Vim version 8.1. Last change: 2019 Aug 06
+*cmdline.txt* For Vim version 8.1. Last change: 2019 Aug 18
VIM REFERENCE MANUAL by Bram Moolenaar
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
-When Vim was compiled without the |+cmdline_compl| feature only file names,
-directories and help items can be completed. The number of help item matches
-is limited (currently to 300) to avoid a long delay when there are very many
-matches.
+The number of help item matches is limited (currently to 300) to avoid a long
+delay when there are very many matches.
These are the commands that can be used:
#endif
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the possible arguments of the
* argedit and argdelete commands.
return alist_name(&ARGLIST[idx]);
}
-#endif
/*
* Get the file name for an argument list entry.
return retval;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the list of autocommand group
* names.
return (char_u *)event_names[idx - augroups.ga_len].name;
}
-#endif // FEAT_CMDL_COMPL
#if defined(FEAT_EVAL) || defined(PROTO)
/*
return match;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
/*
* Find all buffer names that match.
* For command line expansion of ":buf" and ":sbuf".
return (count == 0 ? FAIL : OK);
}
-#endif /* FEAT_CMDL_COMPL */
-
/*
* Check for a match on the file name for buffer "buf" with regprog "prog".
*/
static void set_expand_context(expand_T *xp);
static int ExpandFromContext(expand_T *xp, char_u *, int *, char_u ***, int);
static int expand_showtail(expand_T *xp);
-#ifdef FEAT_CMDL_COMPL
static int expand_shellcmd(char_u *filepat, int *num_file, char_u ***file, int flagsarg);
static int ExpandRTDir(char_u *pat, int flags, int *num_file, char_u ***file, char *dirname[]);
static int ExpandPackAddDir(char_u *pat, int *num_file, char_u ***file);
-# if defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
static int ExpandUserDefined(expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file);
static int ExpandUserList(expand_T *xp, int *num_file, char_u ***file);
-# endif
#endif
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
static int
sort_func_compare(const void *s1, const void *s2)
{
if (*p1 == '<' && *p2 != '<') return 1;
return STRCMP(p1, p2);
}
-#endif
static void
ExpandEscape(
#endif
xp->xp_numfiles = -1;
xp->xp_files = NULL;
-#if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+#if defined(FEAT_EVAL)
xp->xp_arg = NULL;
#endif
xp->xp_line = NULL;
#ifdef FEAT_EVAL
if (use_ccline && ccline->cmdfirstc == '=')
{
-# ifdef FEAT_CMDL_COMPL
// pass CMD_SIZE because there is no real command
set_context_for_expression(xp, str, CMD_SIZE);
-# endif
}
else if (use_ccline && ccline->input_fn)
{
xp->xp_context = ccline->xp_context;
xp->xp_pattern = ccline->cmdbuff;
-# if defined(FEAT_CMDL_COMPL)
xp->xp_arg = ccline->xp_arg;
-# endif
}
else
#endif
char_u ***file,
int options) // WILD_ flags
{
-#ifdef FEAT_CMDL_COMPL
regmatch_T regmatch;
-#endif
int ret;
int flags;
return FAIL;
}
-#ifndef FEAT_CMDL_COMPL
- return FAIL;
-#else
if (xp->xp_context == EXPAND_SHELLCMD)
return expand_shellcmd(pat, num_file, file, flags);
if (xp->xp_context == EXPAND_OLD_SETTING)
vim_regfree(regmatch.regprog);
return ret;
-#endif // FEAT_CMDL_COMPL
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Expand a list of names.
*
sort_strings(*file, *num_file);
}
-# ifdef FEAT_CMDL_COMPL
+#if defined(FEAT_SYN_HL)
// Reset the variables used for special highlight names expansion, so that
// they don't show up when getting normal highlight names by ID.
reset_expand_highlight();
-# endif
+#endif
return OK;
}
*num_file = ga.ga_len;
return OK;
}
-#endif
-#if defined(FEAT_CMDL_COMPL) || defined(FEAT_EVAL) || defined(PROTO)
/*
* Expand "file" for all comma-separated directories in "path".
* Adds the matches to "ga". Caller must init "ga".
vim_free(buf);
}
-#endif
-#if defined(FEAT_CMDL_COMPL) | defined(PROTO)
+#if defined(FEAT_EVAL) || defined(PROTO)
/*
* "getcompletion()" function
*/
vim_free(pat);
ExpandCleanup(&xpc);
}
-#endif // FEAT_CMDL_COMPL
+#endif // FEAT_EVAL
NULL
};
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the possible first
* arguments of the ":history command.
return (char_u *)"all";
return NULL;
}
-#endif
/*
* init_history() - Initialize the command line history.
hash_clear(&compat_hashtab);
free_scriptnames();
-# if defined(FEAT_CMDL_COMPL)
free_locales();
-# endif
/* global variables */
vars_clear(&globvarht);
return retval;
}
-#if defined(FEAT_CMDL_COMPL) \
- || defined(FEAT_COMPL_FUNC) || defined(PROTO)
-
-# if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Call Vim script function "func" and return the result as a string.
* Returns NULL when calling the function fails.
clear_tv(&rettv);
return retval;
}
-# endif
/*
* Call Vim script function "func" and return the result as a List.
return rettv.vval.v_list;
}
-#endif
#ifdef FEAT_FOLDING
vim_free(fi);
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
void
set_context_for_expression(
expand_T *xp,
xp->xp_pattern = arg;
}
-#endif /* FEAT_CMDL_COMPL */
-
/*
* ":unlet[!] var1 ... " command.
*/
}
#endif
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
/*
* Local string buffer for the next two functions to store a variable name
* with its prefix. Allocated in cat_prefix_varname(), freed later in
return NULL;
}
-#endif /* FEAT_CMDL_COMPL */
-
/*
* Return TRUE if "pat" matches "text".
* Does not use 'cpo' and always uses 'magic'.
{"getcmdpos", 0, 0, 0, f_getcmdpos},
{"getcmdtype", 0, 0, 0, f_getcmdtype},
{"getcmdwintype", 0, 0, 0, f_getcmdwintype},
-#if defined(FEAT_CMDL_COMPL)
{"getcompletion", 2, 3, 0, f_getcompletion},
-#endif
{"getcurpos", 0, 0, 0, f_getcurpos},
{"getcwd", 0, 2, 0, f_getcwd},
{"getenv", 1, 1, 0, f_getenv},
{"xor", 2, 2, 0, f_xor},
};
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
/*
* Function given to ExpandGeneric() to obtain the list of internal
* or user defined function names.
return get_user_var_name(xp, ++intidx);
}
-#endif /* FEAT_CMDL_COMPL */
-
/*
* Find internal function "name" in table "global_functions".
* Return index, or -1 if not found
#ifdef FEAT_CLIPBOARD
"clipboard",
#endif
-#ifdef FEAT_CMDL_COMPL
"cmdline_compl",
-#endif
"cmdline_hist",
#ifdef FEAT_COMMENTS
"comments",
}
}
-# if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
static char_u **locales = NULL; /* Array of all available locales */
-# ifndef MSWIN
+# ifndef MSWIN
static int did_init_locales = FALSE;
-/* Return an array of strings for all available locales + NULL for the
- * last element. Return NULL in case of error. */
+/*
+ * Return an array of strings for all available locales + NULL for the
+ * last element. Return NULL in case of error.
+ */
static char_u **
find_locales(void)
{
((char_u **)locales_ga.ga_data)[locales_ga.ga_len] = NULL;
return (char_u **)locales_ga.ga_data;
}
-# endif
+# endif
/*
* Lazy initialization of all available locales.
return NULL;
return locales[idx];
}
-# endif
#endif
char_u *cmd, *arg;
int len = 0;
exarg_T ea;
-#ifdef FEAT_CMDL_COMPL
int compl = EXPAND_NOTHING;
int delim;
-#endif
int forceit = FALSE;
int usefilter = FALSE; /* filter instead of file name */
else if (cmd[0] >= 'A' && cmd[0] <= 'Z')
{
ea.cmd = cmd;
- p = find_ucmd(&ea, p, NULL, xp,
-#if defined(FEAT_CMDL_COMPL)
- &compl
-#else
- NULL
-#endif
- );
+ p = find_ucmd(&ea, p, NULL, xp, &compl);
if (p == NULL)
ea.cmdidx = CMD_SIZE; // ambiguous user command
}
{
xp->xp_context = EXPAND_ENV_VARS;
++xp->xp_pattern;
-#if defined(FEAT_CMDL_COMPL)
/* Avoid that the assignment uses EXPAND_FILES again. */
if (compl != EXPAND_USER_DEFINED && compl != EXPAND_USER_LIST)
compl = EXPAND_ENV_VARS;
-#endif
}
}
-#if defined(FEAT_CMDL_COMPL)
/* Check for user names */
if (*xp->xp_pattern == '~')
{
++xp->xp_pattern;
}
}
-#endif
}
/*
}
return skipwhite(arg);
-#ifdef FEAT_CMDL_COMPL
-# ifdef FEAT_SEARCH_EXTRA
+#ifdef FEAT_SEARCH_EXTRA
case CMD_match:
if (*arg == NUL || !ends_excmd(*arg))
{
}
}
return find_nextcmd(arg);
-# endif
+#endif
/*
* All completion for the +cmdline_compl feature goes here.
xp->xp_pattern = arg;
break;
-#endif /* FEAT_CMDL_COMPL */
-
default:
break;
}
return OK;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the list of command names.
*/
return get_user_command_name(idx);
return cmdnames[idx].cmd_name;
}
-#endif
static void
ex_colorscheme(exarg_T *eap)
semsg(_(e_invarg2), eap->arg);
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the possible arguments of the
* ":behave {mswin,xterm}" command.
return (char_u *)"clear";
return NULL;
}
-#endif
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
char_u *
get_mapclear_arg(expand_T *xp UNUSED, int idx)
{
return (char_u *)"<buffer>";
return NULL;
}
-#endif
static int filetype_detect = FALSE;
static int filetype_plugin = FALSE;
{
xpc.xp_context = ccline.xp_context;
xpc.xp_pattern = ccline.cmdbuff;
-# if defined(FEAT_CMDL_COMPL)
xpc.xp_arg = ccline.xp_arg;
-# endif
}
#endif
* +virtualedit 'virtualedit' option and its implementation
* +user_commands Allow the user to define his own commands.
* +multi_byte Generic multi-byte character handling.
+ * +cmdline_compl completion of mappings/abbreviations in cmdline mode.
*
* Obsolete:
* +tag_old_static Old style static tags: "file:tag file ..".
# define FEAT_INS_EXPAND
#endif
-/*
- * +cmdline_compl completion of mappings/abbreviations in cmdline mode.
- * Takes a few Kbyte of code.
- */
-#ifdef FEAT_NORMAL
-# define FEAT_CMDL_COMPL
-#endif
-
#ifdef FEAT_NORMAL
# define VIM_BACKTICK /* internal backtick expansion */
#endif
EXTERN int scroll_region INIT(= FALSE); // term supports scroll region
EXTERN int t_colors INIT(= 0); // int value of T_CCO
-#ifdef FEAT_CMDL_COMPL
// Flags to indicate an additional string for highlight name completion.
EXTERN int include_none INIT(= 0); // when 1 include "None"
EXTERN int include_default INIT(= 0); // when 1 include "default"
EXTERN int include_link INIT(= 0); // when 2 include "link" and "clear"
-#endif
/*
* When highlight_match is TRUE, highlight a match, starting at the cursor
return OK;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
static void highlight_list(void);
static void highlight_list_two(int cnt, int attr);
ui_delay(cnt == 99 ? 40L : (long)cnt * 50L, FALSE);
}
-#endif // FEAT_CMDL_COMPL
-
-#if defined(FEAT_CMDL_COMPL) || (defined(FEAT_SYN_HL) && defined(FEAT_EVAL)) \
- || defined(FEAT_SIGNS) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the list of group names.
*/
if (skip_cleared && idx < highlight_ga.ga_len && HL_TABLE()[idx].sg_cleared)
return (char_u *)"";
-#ifdef FEAT_CMDL_COMPL
if (idx == highlight_ga.ga_len && include_none != 0)
return (char_u *)"none";
if (idx == highlight_ga.ga_len + include_none && include_default != 0)
if (idx == highlight_ga.ga_len + include_none + include_default + 1
&& include_link != 0)
return (char_u *)"clear";
-#endif
if (idx >= highlight_ga.ga_len)
return NULL;
return HL_TABLE()[idx].sg_name;
}
-#endif
#if defined(FEAT_GUI) || defined(PROTO)
/*
(void)semsg(_("E560: Usage: cs[cope] %s"), cs_cmds[(int)x].usage);
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
static enum
{
EXP_CSCOPE_SUBCMD, /* expand ":cscope" sub-commands */
}
}
-#endif /* FEAT_CMDL_COMPL */
-
/*
* Find the command, print help if invalid, and then call the corresponding
* command function.
return FALSE;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Used below when expanding mapping/abbreviation names.
*/
*num_file = count;
return (count == 0 ? FAIL : OK);
}
-#endif // FEAT_CMDL_COMPL
/*
* Check for an abbreviation.
#endif
static int menu_is_hidden(char_u *name);
-#if defined(FEAT_CMDL_COMPL) || (defined(FEAT_GUI_MSWIN) && defined(FEAT_TEAROFF))
static int menu_is_tearoff(char_u *name);
-#endif
#if defined(FEAT_MULTI_LANG) || defined(FEAT_TOOLBAR)
static char_u *menu_skip_part(char_u *p);
}
}
-#ifdef FEAT_CMDL_COMPL
-
/*
* Used when expanding menu names.
*/
return str;
}
-#endif /* FEAT_CMDL_COMPL */
/*
* Skip over this element of the menu path and return the start of the next
return (name[0] == ']') || (menu_is_popup(name) && name[5] != NUL);
}
-#if defined(FEAT_CMDL_COMPL) \
- || (defined(FEAT_GUI_MSWIN) && defined(FEAT_TEAROFF))
/*
* Return TRUE if the menu is the tearoff menu.
*/
return FALSE;
#endif
}
-#endif
#if defined(FEAT_GUI) || defined(FEAT_TERM_POPUP_MENU) || defined(PROTO)
#include "vim.h"
#include "version.h"
-#if defined(FEAT_CMDL_COMPL) && defined(MSWIN)
+#if defined(MSWIN)
# include <lm.h>
#endif
#define URL_SLASH 1 /* path_is_url() has found "://" */
#define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
-/* All user names (for ~user completion as done by shell). */
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
+// All user names (for ~user completion as done by shell).
static garray_T ga_users;
-#endif
/*
* Count the size (in window cells) of the indent in the current line.
vim_free(homedir);
}
-# ifdef FEAT_CMDL_COMPL
void
free_users(void)
{
ga_clear_strings(&ga_users);
}
-# endif
#endif
/*
#endif
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain an environment variable name.
*/
}
return result;
}
-#endif
/*
* Replace home directory by "~" in each space or comma separated file name in
}
#endif
-#if defined(FEAT_SEARCHPATH) || defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Sort "gap" and remove duplicate entries. "gap" is expected to contain a
* list of file names in allocated memory.
--gap->ga_len;
}
}
-#endif
/*
* Return TRUE if "p" contains what looks like an environment variable.
}
#endif /* !NO_EXPANDPATH */
-#if defined(VIM_BACKTICK) || defined(FEAT_EVAL) || defined(PROTO)
+#if defined(VIM_BACKTICK) || defined(FEAT_EVAL) \
+ || (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
+ || defined(PROTO)
#ifndef SEEK_SET
# define SEEK_SET 0
free_all_marks();
alist_clear(&global_alist);
free_homedir();
-# if defined(FEAT_CMDL_COMPL)
free_users();
-# endif
free_search_patterns();
free_old_sub();
free_last_insert();
return 0;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
char_u *
get_key_name(int i)
{
return NULL;
return key_names_table[i].name;
}
-#endif
#if defined(FEAT_MOUSE) || defined(PROTO)
/*
(char_u *)&p_wim, PV_NONE,
{(char_u *)"full", (char_u *)0L} SCTX_INIT},
{"wildoptions", "wop", P_STRING|P_VI_DEF,
-#ifdef FEAT_CMDL_COMPL
(char_u *)&p_wop, PV_NONE,
{(char_u *)"", (char_u *)0L}
-#else
- (char_u *)NULL, PV_NONE,
- {(char_u *)NULL, (char_u *)0L}
-#endif
SCTX_INIT},
{"winaltkeys", "wak", P_STRING|P_VI_DEF,
#ifdef FEAT_WAK
#ifdef FEAT_CRYPT
static char *(p_cm_values[]) = {"zip", "blowfish", "blowfish2", NULL};
#endif
-#ifdef FEAT_CMDL_COMPL
static char *(p_wop_values[]) = {"tagfile", NULL};
-#endif
#ifdef FEAT_WAK
static char *(p_wak_values[]) = {"yes", "menu", "no", NULL};
#endif
errmsg = e_invarg;
}
-#ifdef FEAT_CMDL_COMPL
/* 'wildoptions' */
else if (varp == &p_wop)
{
if (check_opt_strings(p_wop, p_wop_values, TRUE) != OK)
errmsg = e_invarg;
}
-#endif
#ifdef FEAT_WAK
/* 'winaltkeys' */
p_imsearch = curbuf->b_p_imsearch;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
static int expand_option_idx = -1;
static char_u expand_option_name[5] = {'t', '_', NUL, NUL, NUL};
static int expand_option_flags = 0;
*num_file = 1;
return OK;
}
-#endif
/*
* Get the value for the numeric or string option *opp in a nice format into
extern char_u *p_vfile; // 'verbosefile'
#endif
EXTERN int p_warn; // 'warn'
-#ifdef FEAT_CMDL_COMPL
EXTERN char_u *p_wop; // 'wildoptions'
-#endif
EXTERN long p_window; // 'window'
#if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(LINT) \
|| defined (FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON)
sign_undefine(first_sign, NULL);
}
-# if defined(FEAT_CMDL_COMPL) || defined(PROTO)
static enum
{
EXP_SUBCMD, // expand :sign sub-commands
}
}
}
-# endif
/*
* Define a sign using the attributes in 'dict'. Returns 0 on success and -1 on
int xp_context; // type of expansion
char_u *xp_pattern; // start of item to expand
int xp_pattern_len; // bytes in xp_pattern before cursor
-#if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+#if defined(FEAT_EVAL)
char_u *xp_arg; // completion function
sctx_T xp_script_ctx; // SCTX for completion function
#endif
|| win->w_s->b_keywtab_ic.ht_used > 0);
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
static enum
{
return NULL;
}
-#endif /* FEAT_CMDL_COMPL */
/*
* Function called for expression evaluation: get syntax ID at file position.
}
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the possible arguments of the
* ":syntime {on,off,clear,report}" command.
}
return NULL;
}
-#endif
typedef struct
{
VIM_CLEAR(item->user_data);
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
int
expand_tags(
int tagnames, /* expand tag names */
}
return ret;
}
-#endif
#if defined(FEAT_EVAL) || defined(PROTO)
/*
return NULL;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
char_u *
get_termcode(int i)
{
return NULL;
return &termcodes[i].name[0];
}
-#endif
void
del_termcode(char_u *name)
}
#endif
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Translate an internal mapping/abbreviation representation into the
* corresponding external one recognized by :map/:abbrev commands.
ga_append(&ga, NUL);
return (char_u *)(ga.ga_data);
}
-#endif
#if (defined(MSWIN) && (!defined(FEAT_GUI) || defined(VIMDLL))) || defined(PROTO)
static char ksme_str[20];
cmd_addr_T uc_addr_type; // The command's address type
# ifdef FEAT_EVAL
sctx_T uc_script_ctx; // SCTX where the command was defined
-# ifdef FEAT_CMDL_COMPL
char_u *uc_compl_arg; // completion argument if any
-# endif
# endif
} ucmd_T;
#if defined(FEAT_CSCOPE)
{EXPAND_CSCOPE, "cscope"},
#endif
-#if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+#if defined(FEAT_EVAL)
{EXPAND_USER_DEFINED, "custom"},
{EXPAND_USER_LIST, "customlist"},
#endif
eap->useridx = j;
eap->addr_type = uc->uc_addr_type;
-# ifdef FEAT_CMDL_COMPL
if (complp != NULL)
*complp = uc->uc_compl;
-# ifdef FEAT_EVAL
+# ifdef FEAT_EVAL
if (xp != NULL)
{
xp->xp_arg = uc->uc_compl_arg;
xp->xp_script_ctx = uc->uc_script_ctx;
xp->xp_script_ctx.sc_lnum += sourcing_lnum;
}
-# endif
# endif
// Do not search for further abbreviations
// if this is an exact match.
return p;
}
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
char_u *
set_context_in_user_cmd(expand_T *xp, char_u *arg_in)
{
return EXPAND_NOTHING;
}
-#endif // FEAT_CMDL_COMPL
-
/*
* List user commands starting with "name[name_len]".
*/
char_u **compl_arg UNUSED)
{
char_u *arg = NULL;
-# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+# if defined(FEAT_EVAL)
size_t arglen = 0;
# endif
int i;
if (value[i] == ',')
{
arg = &value[i + 1];
-# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+# if defined(FEAT_EVAL)
arglen = vallen - i - 1;
# endif
valend = i;
return FAIL;
}
-# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+# if defined(FEAT_EVAL)
if (*complp != EXPAND_USER_DEFINED && *complp != EXPAND_USER_LIST
&& arg != NULL)
# else
return FAIL;
}
-# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+# if defined(FEAT_EVAL)
if ((*complp == EXPAND_USER_DEFINED || *complp == EXPAND_USER_LIST)
&& arg == NULL)
{
}
VIM_CLEAR(cmd->uc_rep);
-#if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+#if defined(FEAT_EVAL)
VIM_CLEAR(cmd->uc_compl_arg);
#endif
break;
#ifdef FEAT_EVAL
cmd->uc_script_ctx = current_sctx;
cmd->uc_script_ctx.sc_lnum += sourcing_lnum;
-# ifdef FEAT_CMDL_COMPL
cmd->uc_compl_arg = compl_arg;
-# endif
#endif
cmd->uc_addr_type = addr_type;
fail:
vim_free(rep_buf);
-#if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+#if defined(FEAT_EVAL)
vim_free(compl_arg);
#endif
return FAIL;
cmd = USER_CMD_GA(gap, i);
vim_free(cmd->uc_name);
vim_free(cmd->uc_rep);
-# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+# if defined(FEAT_EVAL)
vim_free(cmd->uc_compl_arg);
# endif
}
vim_free(cmd->uc_name);
vim_free(cmd->uc_rep);
-# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+# if defined(FEAT_EVAL)
vim_free(cmd->uc_compl_arg);
# endif
}
#endif
-#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-
/*
* Function given to ExpandGeneric() to obtain the list of user defined
* function names.
return NULL;
}
-#endif /* FEAT_CMDL_COMPL */
-
/*
* ":delfunction {name}"
*/
#else
"-clipboard",
#endif
-#ifdef FEAT_CMDL_COMPL
"+cmdline_compl",
-#else
- "-cmdline_compl",
-#endif
"+cmdline_hist",
#ifdef FEAT_CMDL_INFO
"+cmdline_info",
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1887,
/**/
1886,
/**/