# HG changeset patch # User Bram Moolenaar # Date 1586459703 -7200 # Node ID 6765a88e72a52cb4a1ceb546948b98b1de476814 # Parent 15a32e680c2b5a1e6e0e4ef73be23f3893a8234a patch 8.2.0538: Vim9: VAR_PARTIAL is not used during compilation Commit: https://github.com/vim/vim/commit/9c8bb7c0e251be2cca409055bd415266f57f013a Author: Bram Moolenaar Date: Thu Apr 9 21:08:09 2020 +0200 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 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 538, +/**/ 537, /**/ 536, diff --git a/src/vim9.h b/src/vim9.h --- a/src/vim9.h +++ b/src/vim9.h @@ -46,7 +46,6 @@ typedef enum { 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 @@ typedef enum { ISN_COMPARELIST, ISN_COMPAREDICT, ISN_COMPAREFUNC, - ISN_COMPAREPARTIAL, ISN_COMPAREANY, // expression operations diff --git a/src/vim9compile.c b/src/vim9compile.c --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -396,7 +396,7 @@ typval2type(typval_T *tv) 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 @@ generate_COMPARE(cctx_T *cctx, exptype_T 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_PUSHFUNC(cctx_T *cctx, char_u * } /* - * 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 @@ compile_assignment(char_u *arg, exarg_T 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 @@ compile_assignment(char_u *arg, exarg_T 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 @@ delete_instr(isn_T *isn) 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 @@ delete_instr(isn_T *isn) 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 --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -858,7 +858,6 @@ call_def_function( 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 @@ call_def_function( 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 @@ call_def_function( 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 @@ ex_disassemble(exarg_T *eap) 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 @@ ex_disassemble(exarg_T *eap) case ISN_COMPARELIST: case ISN_COMPAREDICT: case ISN_COMPAREFUNC: - case ISN_COMPAREPARTIAL: case ISN_COMPAREANY: { char *p; @@ -2154,8 +2137,6 @@ ex_disassemble(exarg_T *eap) 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; }