summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-05-20 21:31:17 +0000
committerBram Moolenaar <Bram@vim.org>2005-05-20 21:31:17 +0000
commitf4630b60f598db3c163182f1920e7308d5b54cbb (patch)
treed188f060814b7375e95212b7076236338da22913 /src
parentc930a3cc82074f14f2674aa039ca46d961edb297 (diff)
updated for version 7.0074v7.0074
Diffstat (limited to 'src')
-rw-r--r--src/eval.c16
-rw-r--r--src/ex_cmds.c4
-rw-r--r--src/proto/quickfix.pro2
3 files changed, 16 insertions, 6 deletions
diff --git a/src/eval.c b/src/eval.c
index c73d774b48..6b16cf9b64 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6234,7 +6234,7 @@ static struct fst
{"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 @@ get_maparg(argvars, rettv, exact)
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 @@ f_setqflist(argvars, rettv)
typval_T *argvars;
typval_T *rettv;
{
+ char_u *act;
+ int action = ' ';
+
rettv->vval.v_number = -1;
#ifdef FEAT_QUICKFIX
@@ -12379,7 +12382,14 @@ f_setqflist(argvars, rettv)
{
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
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index fd55605a15..46a30c1b9d 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -5128,13 +5128,13 @@ find_help_tags(arg, num_matches, matches, keep_lang)
static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*",
"/*", "/\\*", "\"*", "/\\(\\)",
"?", ":?", "?<CR>", "g?", "g?g?", "g??",
- "/\\?", "/\\z(\\)",
+ "/\\?", "/\\z(\\)", "\\=", ":s\\=",
"[count]", "[quotex]", "[range]",
"[pattern]", "\\|", "\\%$"};
static char *(rtable[]) = {"star", "gstar", "[star", "]star", ":star",
"/star", "/\\\\star", "quotestar", "/\\\\(\\\\)",
"?", ":?", "?<CR>", "g?", "g?g?", "g??",
- "/\\\\?", "/\\\\z(\\\\)",
+ "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=",
"\\[count]", "\\[quotex]", "\\[range]",
"\\[pattern]", "\\\\bar", "/\\\\%\\$"};
int flags;
diff --git a/src/proto/quickfix.pro b/src/proto/quickfix.pro
index 87621ca58f..cc2f2a75ac 100644
--- a/src/proto/quickfix.pro
+++ b/src/proto/quickfix.pro
@@ -21,7 +21,7 @@ void ex_cfile __ARGS((exarg_T *eap));
void ex_vimgrep __ARGS((exarg_T *eap));
char_u *skip_vimgrep_pat __ARGS((char_u *p, char_u **s, int *flags));
int get_errorlist __ARGS((list_T *list));
-int set_errorlist __ARGS((list_T *list));
+int set_errorlist __ARGS((list_T *list, int action));
void ex_cbuffer __ARGS((exarg_T *eap));
void ex_helpgrep __ARGS((exarg_T *eap));
/* vim: set ft=c : */