updated for version 7.0074
diff --git a/src/eval.c b/src/eval.c
index c73d774..6b16cf9 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6234,7 +6234,7 @@
{"setbufvar", 3, 3, f_setbufvar},
{"setcmdpos", 1, 1, f_setcmdpos},
{"setline", 2, 2, f_setline},
- {"setqflist", 1, 1, f_setqflist},
+ {"setqflist", 1, 2, f_setqflist},
{"setreg", 2, 3, f_setreg},
{"setwinvar", 3, 3, f_setwinvar},
{"simplify", 1, 1, f_simplify},
@@ -10601,7 +10601,7 @@
mode = get_map_mode(&which, 0);
keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE);
- rhs = check_map(keys, mode, exact);
+ rhs = check_map(keys, mode, exact, FALSE);
vim_free(keys_buf);
if (rhs != NULL)
{
@@ -12370,6 +12370,9 @@
typval_T *argvars;
typval_T *rettv;
{
+ char_u *act;
+ int action = ' ';
+
rettv->vval.v_number = -1;
#ifdef FEAT_QUICKFIX
@@ -12379,7 +12382,14 @@
{
list_T *l = argvars[0].vval.v_list;
- if (l != NULL && set_errorlist(l) == OK)
+ if (argvars[1].v_type == VAR_STRING)
+ {
+ act = get_tv_string(&argvars[1]);
+ if (*act == 'a' || *act == 'r')
+ action = *act;
+ }
+
+ if (l != NULL && set_errorlist(l, action) == OK)
rettv->vval.v_number = 0;
}
#endif