1
0
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:
Yegappan Lakshmanan
2021-07-30 21:32:45 +02:00
committed by Bram Moolenaar
parent 0f5575d0a7
commit 4a15504e91
5 changed files with 53 additions and 59 deletions

View File

@@ -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
*/