summaryrefslogtreecommitdiffstats
path: root/src/vim9execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vim9execute.c')
-rw-r--r--src/vim9execute.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 19a7a8d3e3..690b7e0b62 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1869,9 +1869,11 @@ exec_instructions(ectx_T *ectx)
// :execute {string} ...
// :echomsg {string} ...
+ // :echoconsole {string} ...
// :echoerr {string} ...
case ISN_EXECUTE:
case ISN_ECHOMSG:
+ case ISN_ECHOCONSOLE:
case ISN_ECHOERR:
{
int count = iptr->isn_arg.number;
@@ -1941,6 +1943,12 @@ exec_instructions(ectx_T *ectx)
msg_attr(ga.ga_data, echo_attr);
out_flush();
}
+ else if (iptr->isn_type == ISN_ECHOCONSOLE)
+ {
+ ui_write(ga.ga_data, (int)STRLEN(ga.ga_data),
+ TRUE);
+ ui_write((char_u *)"\r\n", 2, TRUE);
+ }
else
{
SOURCING_LNUM = iptr->isn_lnum;
@@ -4900,15 +4908,19 @@ list_instructions(char *pfx, isn_T *instr, int instr_count, ufunc_T *ufunc)
break;
case ISN_EXECUTE:
smsg("%s%4d EXECUTE %lld", pfx, current,
- (varnumber_T)(iptr->isn_arg.number));
+ (varnumber_T)(iptr->isn_arg.number));
break;
case ISN_ECHOMSG:
smsg("%s%4d ECHOMSG %lld", pfx, current,
- (varnumber_T)(iptr->isn_arg.number));
+ (varnumber_T)(iptr->isn_arg.number));
+ break;
+ case ISN_ECHOCONSOLE:
+ smsg("%s%4d ECHOCONSOLE %lld", pfx, current,
+ (varnumber_T)(iptr->isn_arg.number));
break;
case ISN_ECHOERR:
smsg("%s%4d ECHOERR %lld", pfx, current,
- (varnumber_T)(iptr->isn_arg.number));
+ (varnumber_T)(iptr->isn_arg.number));
break;
case ISN_LOAD:
{