summaryrefslogtreecommitdiffstats
path: root/src/quickfix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickfix.c')
-rw-r--r--src/quickfix.c31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/quickfix.c b/src/quickfix.c
index 7d4a00654f..f22c860c7c 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3497,8 +3497,10 @@ set_errorlist(wp, list, action)
/*
* ":[range]cbuffer [bufnr]" command.
* ":[range]caddbuffer [bufnr]" command.
+ * ":[range]cgetbuffer [bufnr]" command.
* ":[range]lbuffer [bufnr]" command.
* ":[range]laddbuffer [bufnr]" command.
+ * ":[range]lgetbuffer [bufnr]" command.
*/
void
ex_cbuffer(eap)
@@ -3507,7 +3509,8 @@ ex_cbuffer(eap)
buf_T *buf = NULL;
qf_info_T *qi = &ql_info;
- if (eap->cmdidx == CMD_lbuffer || eap->cmdidx == CMD_laddbuffer)
+ if (eap->cmdidx == CMD_lbuffer || eap->cmdidx == CMD_lgetbuffer
+ || eap->cmdidx == CMD_laddbuffer)
{
qi = ll_get_or_alloc_list(curwin);
if (qi == NULL)
@@ -3534,12 +3537,12 @@ ex_cbuffer(eap)
EMSG(_(e_invrange));
else
{
- int buffer_cmd = (eap->cmdidx == CMD_cbuffer
- || eap->cmdidx == CMD_lbuffer);
-
- if (qf_init_ext(qi, NULL, buf, NULL, p_efm, buffer_cmd,
+ if (qf_init_ext(qi, NULL, buf, NULL, p_efm,
+ (eap->cmdidx != CMD_caddbuffer
+ && eap->cmdidx != CMD_laddbuffer),
eap->line1, eap->line2) > 0
- && buffer_cmd)
+ && (eap->cmdidx == CMD_cbuffer
+ || eap->cmdidx == CMD_lbuffer))
qf_jump(qi, 0, 0, eap->forceit); /* display first error */
}
}
@@ -3547,8 +3550,8 @@ ex_cbuffer(eap)
#if defined(FEAT_EVAL) || defined(PROTO)
/*
- * ":cexpr {expr}" and ":caddexpr {expr}" command.
- * ":lexpr {expr}" and ":laddexpr {expr}" command.
+ * ":cexpr {expr}", ":cgetexpr {expr}", ":caddexpr {expr}" command.
+ * ":lexpr {expr}", ":lgetexpr {expr}", ":laddexpr {expr}" command.
*/
void
ex_cexpr(eap)
@@ -3557,7 +3560,8 @@ ex_cexpr(eap)
typval_T *tv;
qf_info_T *qi = &ql_info;
- if (eap->cmdidx == CMD_lexpr || eap->cmdidx == CMD_laddexpr)
+ if (eap->cmdidx == CMD_lexpr || eap->cmdidx == CMD_lgetexpr
+ || eap->cmdidx == CMD_laddexpr)
{
qi = ll_get_or_alloc_list(curwin);
if (qi == NULL)
@@ -3572,11 +3576,12 @@ ex_cexpr(eap)
if ((tv->v_type == VAR_STRING && tv->vval.v_string != NULL)
|| (tv->v_type == VAR_LIST && tv->vval.v_list != NULL))
{
- int expr_cmd = (eap->cmdidx == CMD_cexpr
- || eap->cmdidx == CMD_lexpr);
- if (qf_init_ext(qi, NULL, NULL, tv, p_efm, expr_cmd,
+ if (qf_init_ext(qi, NULL, NULL, tv, p_efm,
+ (eap->cmdidx != CMD_caddexpr
+ && eap->cmdidx != CMD_laddexpr),
(linenr_T)0, (linenr_T)0) > 0
- && expr_cmd)
+ && (eap->cmdidx == CMD_cexpr
+ || eap->cmdidx == CMD_lexpr))
qf_jump(qi, 0, 0, eap->forceit); /* display first error */
}
else