patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Problem: Vim9: skip argument to searchpair() is not compiled.
Solution: Add VAR_INSTR.
diff --git a/src/eval.c b/src/eval.c
index f254549..bf9e8ee 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -309,6 +309,10 @@
return FAIL;
}
}
+ else if (expr->v_type == VAR_INSTR)
+ {
+ return exe_typval_instr(expr, rettv);
+ }
else
{
s = tv_get_string_buf_chk(expr, buf);
@@ -1510,6 +1514,7 @@
case VAR_SPECIAL:
case VAR_JOB:
case VAR_CHANNEL:
+ case VAR_INSTR:
break;
case VAR_BLOB:
@@ -4084,6 +4089,7 @@
case VAR_SPECIAL:
case VAR_JOB:
case VAR_CHANNEL:
+ case VAR_INSTR:
if (verbose)
emsg(_(e_cannot_index_special_variable));
return FAIL;
@@ -4177,6 +4183,7 @@
case VAR_SPECIAL:
case VAR_JOB:
case VAR_CHANNEL:
+ case VAR_INSTR:
break; // not evaluating, skipping over subscript
case VAR_NUMBER:
@@ -5067,6 +5074,11 @@
}
break;
+ case VAR_INSTR:
+ *tofree = NULL;
+ r = (char_u *)"instructions";
+ break;
+
case VAR_FLOAT:
#ifdef FEAT_FLOAT
*tofree = NULL;
@@ -5987,6 +5999,7 @@
case VAR_SPECIAL:
case VAR_JOB:
case VAR_CHANNEL:
+ case VAR_INSTR:
copy_tv(from, to);
break;
case VAR_LIST: