forked from aniani/vim
patch 8.2.3252: duplicated code for adding buffer lines
Problem: Duplicated code for adding buffer lines. Solution: Move code to a common function. Also move map functions to map.c. (Yegappan Lakshmanan, closes #8665)
This commit is contained in:
committed by
Bram Moolenaar
parent
0f5575d0a7
commit
4a15504e91
36
src/map.c
36
src/map.c
@@ -2184,7 +2184,7 @@ check_map(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
static void
|
||||
get_maparg(typval_T *argvars, typval_T *rettv, int exact)
|
||||
{
|
||||
char_u *keys;
|
||||
@@ -2287,6 +2287,40 @@ get_maparg(typval_T *argvars, typval_T *rettv, int exact)
|
||||
vim_free(alt_keys_buf);
|
||||
}
|
||||
|
||||
/*
|
||||
* "maparg()" function
|
||||
*/
|
||||
void
|
||||
f_maparg(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
if (in_vim9script()
|
||||
&& (check_for_string_arg(argvars, 0) == FAIL
|
||||
|| check_for_opt_string_arg(argvars, 1) == FAIL
|
||||
|| (argvars[1].v_type != VAR_UNKNOWN
|
||||
&& (check_for_opt_bool_arg(argvars, 2) == FAIL
|
||||
|| (argvars[2].v_type != VAR_UNKNOWN
|
||||
&& check_for_opt_bool_arg(argvars, 3) == FAIL)))))
|
||||
return;
|
||||
|
||||
get_maparg(argvars, rettv, TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
* "mapcheck()" function
|
||||
*/
|
||||
void
|
||||
f_mapcheck(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
if (in_vim9script()
|
||||
&& (check_for_string_arg(argvars, 0) == FAIL
|
||||
|| check_for_opt_string_arg(argvars, 1) == FAIL
|
||||
|| (argvars[1].v_type != VAR_UNKNOWN
|
||||
&& check_for_opt_bool_arg(argvars, 2) == FAIL)))
|
||||
return;
|
||||
|
||||
get_maparg(argvars, rettv, FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* "mapset()" function
|
||||
*/
|
||||
|
Reference in New Issue
Block a user