if ((cmdidx == CMD_execute
|| cmdidx == CMD_echo
|| cmdidx == CMD_echon
- || cmdidx == CMD_echomsg)
+ || cmdidx == CMD_echomsg
+ || cmdidx == CMD_echowindow)
&& xp->xp_context == EXPAND_EXPRESSION)
{
for (;;)
/*
* ":execute expr1 ..." execute the result of an expression.
* ":echomsg expr1 ..." Print a message
+ * ":echowindow expr1 ..." Print a message in the messages window
* ":echoerr expr1 ..." Print an error
* ":echoconsole expr1 ..." Print a message on stdout
* Each gets spaces around each argument and a newline at the end for
long start_lnum = SOURCING_LNUM;
ga_init2(&ga, 1, 80);
+#ifdef HAS_MESSAGE_WINDOW
+ in_echowindow = (eap->cmdidx == CMD_echowindow);
+#endif
if (eap->skip)
++emsg_skip;
// use the first line of continuation lines for messages
SOURCING_LNUM = start_lnum;
- if (eap->cmdidx == CMD_echomsg || eap->cmdidx == CMD_echoerr)
+ if (eap->cmdidx == CMD_echomsg
+ || eap->cmdidx == CMD_echowindow
+ || eap->cmdidx == CMD_echoerr)
{
// Mark the already saved text as finishing the line, so that what
// follows is displayed on a new line when scrolling back at the
msg_sb_eol();
}
- if (eap->cmdidx == CMD_echomsg)
+ if (eap->cmdidx == CMD_echomsg || eap->cmdidx == CMD_echowindow)
{
msg_attr(ga.ga_data, echo_attr);
out_flush();
if (msg_col == 0)
msg_col = 1;
}
+ in_echowindow = FALSE;
#endif
set_nextcmd(eap, arg);
}
/* c */ 45,
/* d */ 112,
/* e */ 137,
- /* f */ 165,
- /* g */ 182,
- /* h */ 188,
- /* i */ 197,
- /* j */ 217,
- /* k */ 219,
- /* l */ 224,
- /* m */ 287,
- /* n */ 305,
- /* o */ 325,
- /* p */ 337,
- /* q */ 376,
- /* r */ 379,
- /* s */ 399,
- /* t */ 469,
- /* u */ 515,
- /* v */ 526,
- /* w */ 547,
- /* x */ 561,
- /* y */ 571,
- /* z */ 572
+ /* f */ 166,
+ /* g */ 183,
+ /* h */ 189,
+ /* i */ 198,
+ /* j */ 218,
+ /* k */ 220,
+ /* l */ 225,
+ /* m */ 288,
+ /* n */ 306,
+ /* o */ 326,
+ /* p */ 338,
+ /* q */ 377,
+ /* r */ 380,
+ /* s */ 400,
+ /* t */ 470,
+ /* u */ 516,
+ /* v */ 527,
+ /* w */ 548,
+ /* x */ 562,
+ /* y */ 572,
+ /* z */ 573
};
/*
/* b */ { 2, 0, 0, 5, 6, 8, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 0, 14, 0, 0, 0, 0, 23, 0, 0, 0 },
/* c */ { 3, 12, 16, 18, 20, 22, 25, 0, 0, 0, 0, 33, 38, 41, 47, 57, 59, 60, 61, 0, 63, 0, 66, 0, 0, 0 },
/* d */ { 0, 0, 0, 0, 0, 0, 0, 0, 8, 18, 0, 19, 0, 0, 20, 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0 },
- /* e */ { 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 11, 0, 0, 0, 0, 0, 0, 0, 22, 0, 23, 0, 0 },
+ /* e */ { 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 9, 11, 12, 0, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0 },
/* f */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0 },
/* g */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 5, 0, 0, 0, 0 },
/* h */ { 5, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* z */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
-static const int command_count = 589;
+static const int command_count = 590;