patch 8.2.0538: Vim9: VAR_PARTIAL is not used during compilation
Problem: Vim9: VAR_PARTIAL is not used during compilation.
Solution: Remove VAR_PARTIAL.
diff --git a/src/version.c b/src/version.c
index fece1a1..0c147cc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 538,
+/**/
537,
/**/
536,
diff --git a/src/vim9.h b/src/vim9.h
index 0c59b06..57cbfea 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -46,7 +46,6 @@
ISN_PUSHS, // push string isn_arg.string
ISN_PUSHBLOB, // push blob isn_arg.blob
ISN_PUSHFUNC, // push func isn_arg.string
- ISN_PUSHPARTIAL, // push partial ?
ISN_PUSHCHANNEL, // push channel isn_arg.channel
ISN_PUSHJOB, // push channel isn_arg.job
ISN_NEWLIST, // push list from stack items, size is isn_arg.number
@@ -92,7 +91,6 @@
ISN_COMPARELIST,
ISN_COMPAREDICT,
ISN_COMPAREFUNC,
- ISN_COMPAREPARTIAL,
ISN_COMPAREANY,
// expression operations
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 0bc50c3..90f7d28 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -396,7 +396,7 @@
if (tv->v_type == VAR_NUMBER)
return &t_number;
if (tv->v_type == VAR_BOOL)
- return &t_bool;
+ return &t_bool; // not used
if (tv->v_type == VAR_STRING)
return &t_string;
if (tv->v_type == VAR_LIST) // e.g. for v:oldfiles
@@ -642,7 +642,6 @@
case VAR_LIST: isntype = ISN_COMPARELIST; break;
case VAR_DICT: isntype = ISN_COMPAREDICT; break;
case VAR_FUNC: isntype = ISN_COMPAREFUNC; break;
- case VAR_PARTIAL: isntype = ISN_COMPAREPARTIAL; break;
default: isntype = ISN_COMPAREANY; break;
}
}
@@ -880,23 +879,6 @@
}
/*
- * Generate an ISN_PUSHPARTIAL instruction with partial "part".
- * Consumes "part".
- */
- static int
-generate_PUSHPARTIAL(cctx_T *cctx, partial_T *part)
-{
- isn_T *isn;
-
- RETURN_OK_IF_SKIP(cctx);
- if ((isn = generate_instr_type(cctx, ISN_PUSHPARTIAL, &t_func_any)) == NULL)
- return FAIL;
- isn->isn_arg.partial = part;
-
- return OK;
-}
-
-/*
* Generate an ISN_STORE instruction.
*/
static int
@@ -4165,9 +4147,6 @@
case VAR_FUNC:
generate_PUSHFUNC(cctx, NULL, &t_func_void);
break;
- case VAR_PARTIAL:
- generate_PUSHPARTIAL(cctx, NULL);
- break;
case VAR_LIST:
generate_NEWLIST(cctx, 0);
break;
@@ -4183,6 +4162,7 @@
case VAR_NUMBER:
case VAR_UNKNOWN:
case VAR_ANY:
+ case VAR_PARTIAL:
case VAR_VOID:
case VAR_SPECIAL: // cannot happen
generate_PUSHNR(cctx, 0);
@@ -6018,10 +5998,6 @@
blob_unref(isn->isn_arg.blob);
break;
- case ISN_PUSHPARTIAL:
- partial_unref(isn->isn_arg.partial);
- break;
-
case ISN_PUSHJOB:
#ifdef FEAT_JOB_CHANNEL
job_unref(isn->isn_arg.job);
@@ -6054,7 +6030,6 @@
case ISN_COMPAREFUNC:
case ISN_COMPARELIST:
case ISN_COMPARENR:
- case ISN_COMPAREPARTIAL:
case ISN_COMPARESPECIAL:
case ISN_COMPARESTRING:
case ISN_CONCAT:
diff --git a/src/vim9execute.c b/src/vim9execute.c
index b7ec979..d9b87c1 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -858,7 +858,6 @@
case ISN_PUSHS:
case ISN_PUSHBLOB:
case ISN_PUSHFUNC:
- case ISN_PUSHPARTIAL:
case ISN_PUSHCHANNEL:
case ISN_PUSHJOB:
if (ga_grow(&ectx.ec_stack, 1) == FAIL)
@@ -896,12 +895,6 @@
tv->vval.v_string =
vim_strsave(iptr->isn_arg.string);
break;
- case ISN_PUSHPARTIAL:
- tv->v_type = VAR_PARTIAL;
- tv->vval.v_partial = iptr->isn_arg.partial;
- if (tv->vval.v_partial != NULL)
- ++tv->vval.v_partial->pt_refcount;
- break;
case ISN_PUSHCHANNEL:
#ifdef FEAT_JOB_CHANNEL
tv->v_type = VAR_CHANNEL;
@@ -1412,7 +1405,6 @@
case ISN_COMPARESTRING:
case ISN_COMPAREDICT:
case ISN_COMPAREFUNC:
- case ISN_COMPAREPARTIAL:
case ISN_COMPAREANY:
{
typval_T *tv1 = STACK_TV_BOT(-2);
@@ -1932,14 +1924,6 @@
name == NULL ? "[none]" : name);
}
break;
- case ISN_PUSHPARTIAL:
- {
- partial_T *part = iptr->isn_arg.partial;
-
- smsg("%4d PUSHPARTIAL \"%s\"", current,
- part == NULL ? "[none]" : (char *)partial_name(part));
- }
- break;
case ISN_PUSHCHANNEL:
#ifdef FEAT_JOB_CHANNEL
{
@@ -2117,7 +2101,6 @@
case ISN_COMPARELIST:
case ISN_COMPAREDICT:
case ISN_COMPAREFUNC:
- case ISN_COMPAREPARTIAL:
case ISN_COMPAREANY:
{
char *p;
@@ -2154,8 +2137,6 @@
case ISN_COMPARELIST: type = "COMPARELIST"; break;
case ISN_COMPAREDICT: type = "COMPAREDICT"; break;
case ISN_COMPAREFUNC: type = "COMPAREFUNC"; break;
- case ISN_COMPAREPARTIAL:
- type = "COMPAREPARTIAL"; break;
case ISN_COMPAREANY: type = "COMPAREANY"; break;
default: type = "???"; break;
}