comparison src/typval.c @ 24606:a4fda40e0bb9 v8.2.2842

patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled Commit: https://github.com/vim/vim/commit/f18332fb9e2e4208a97d800f096b02c6681780e7 Author: Bram Moolenaar <Bram@vim.org> Date: Fri May 7 17:55:55 2021 +0200 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.
author Bram Moolenaar <Bram@vim.org>
date Fri, 07 May 2021 18:00:04 +0200
parents ddcda424f882
children c1263588156b
comparison
equal deleted inserted replaced
24605:f5484f767f70 24606:a4fda40e0bb9
89 case VAR_ANY: 89 case VAR_ANY:
90 case VAR_UNKNOWN: 90 case VAR_UNKNOWN:
91 case VAR_VOID: 91 case VAR_VOID:
92 case VAR_BOOL: 92 case VAR_BOOL:
93 case VAR_SPECIAL: 93 case VAR_SPECIAL:
94 case VAR_INSTR:
94 break; 95 break;
95 } 96 }
96 vim_free(varp); 97 vim_free(varp);
97 } 98 }
98 } 99 }
151 varp->vval.v_channel = NULL; 152 varp->vval.v_channel = NULL;
152 #endif 153 #endif
153 case VAR_UNKNOWN: 154 case VAR_UNKNOWN:
154 case VAR_ANY: 155 case VAR_ANY:
155 case VAR_VOID: 156 case VAR_VOID:
157 case VAR_INSTR:
156 break; 158 break;
157 } 159 }
158 varp->v_lock = 0; 160 varp->v_lock = 0;
159 } 161 }
160 } 162 }
234 emsg(_("E974: Using a Blob as a Number")); 236 emsg(_("E974: Using a Blob as a Number"));
235 break; 237 break;
236 case VAR_UNKNOWN: 238 case VAR_UNKNOWN:
237 case VAR_ANY: 239 case VAR_ANY:
238 case VAR_VOID: 240 case VAR_VOID:
241 case VAR_INSTR:
239 internal_error_no_abort("tv_get_number(UNKNOWN)"); 242 internal_error_no_abort("tv_get_number(UNKNOWN)");
240 break; 243 break;
241 } 244 }
242 if (denote == NULL) // useful for values that must be unsigned 245 if (denote == NULL) // useful for values that must be unsigned
243 n = -1; 246 n = -1;
331 emsg(_("E975: Using a Blob as a Float")); 334 emsg(_("E975: Using a Blob as a Float"));
332 break; 335 break;
333 case VAR_UNKNOWN: 336 case VAR_UNKNOWN:
334 case VAR_ANY: 337 case VAR_ANY:
335 case VAR_VOID: 338 case VAR_VOID:
339 case VAR_INSTR:
336 internal_error_no_abort("tv_get_float(UNKNOWN)"); 340 internal_error_no_abort("tv_get_float(UNKNOWN)");
337 break; 341 break;
338 } 342 }
339 return 0; 343 return 0;
340 } 344 }
512 #endif 516 #endif
513 break; 517 break;
514 case VAR_UNKNOWN: 518 case VAR_UNKNOWN:
515 case VAR_ANY: 519 case VAR_ANY:
516 case VAR_VOID: 520 case VAR_VOID:
521 case VAR_INSTR:
517 emsg(_(e_inval_string)); 522 emsg(_(e_inval_string));
518 break; 523 break;
519 } 524 }
520 return NULL; 525 return NULL;
521 } 526 }
612 to->vval.v_channel = from->vval.v_channel; 617 to->vval.v_channel = from->vval.v_channel;
613 if (to->vval.v_channel != NULL) 618 if (to->vval.v_channel != NULL)
614 ++to->vval.v_channel->ch_refcount; 619 ++to->vval.v_channel->ch_refcount;
615 break; 620 break;
616 #endif 621 #endif
622 case VAR_INSTR:
623 to->vval.v_instr = from->vval.v_instr;
624 break;
625
617 case VAR_STRING: 626 case VAR_STRING:
618 case VAR_FUNC: 627 case VAR_FUNC:
619 if (from->vval.v_string == NULL) 628 if (from->vval.v_string == NULL)
620 to->vval.v_string = NULL; 629 to->vval.v_string = NULL;
621 else 630 else
1114 #endif 1123 #endif
1115 case VAR_CHANNEL: 1124 case VAR_CHANNEL:
1116 #ifdef FEAT_JOB_CHANNEL 1125 #ifdef FEAT_JOB_CHANNEL
1117 return tv1->vval.v_channel == tv2->vval.v_channel; 1126 return tv1->vval.v_channel == tv2->vval.v_channel;
1118 #endif 1127 #endif
1128 case VAR_INSTR:
1129 return tv1->vval.v_instr == tv2->vval.v_instr;
1119 1130
1120 case VAR_PARTIAL: 1131 case VAR_PARTIAL:
1121 return tv1->vval.v_partial == tv2->vval.v_partial; 1132 return tv1->vval.v_partial == tv2->vval.v_partial;
1122 1133
1123 case VAR_FUNC: 1134 case VAR_FUNC: