changeset 26672:3516017e5f54 v8.2.3865

patch 8.2.3865: Vim9: compiler complains about using "try" as a struct member Commit: https://github.com/vim/vim/commit/0d807107b66e0d30d4f338c272962af5714c400e Author: Bram Moolenaar <Bram@vim.org> Date: Tue Dec 21 09:42:09 2021 +0000 patch 8.2.3865: Vim9: compiler complains about using "try" as a struct member Problem: Vim9: compiler complains about using "try" as a struct member. Solution: Rename "try" to "tryref".
author Bram Moolenaar <Bram@vim.org>
date Tue, 21 Dec 2021 10:45:04 +0100
parents 914e38eb405c
children af3290819917
files src/version.c src/vim9.h src/vim9cmds.c src/vim9execute.c src/vim9instr.c
diffstat 5 files changed, 20 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3865,
+/**/
     3864,
 /**/
     3863,
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -112,7 +112,7 @@ typedef enum {
     // loop
     ISN_FOR,	    // get next item from a list, uses isn_arg.forloop
 
-    ISN_TRY,	    // add entry to ec_trystack, uses isn_arg.try
+    ISN_TRY,	    // add entry to ec_trystack, uses isn_arg.tryref
     ISN_THROW,	    // pop value of stack, store in v:exception
     ISN_PUSHEXC,    // push v:exception
     ISN_CATCH,	    // drop v:exception
@@ -429,7 +429,7 @@ struct isn_S {
 	jump_T		    jump;
 	jumparg_T	    jumparg;
 	forloop_T	    forloop;
-	try_T		    try;
+	try_T		    tryref;
 	trycont_T	    trycont;
 	cbfunc_T	    bfunc;
 	cdfunc_T	    dfunc;
--- a/src/vim9cmds.c
+++ b/src/vim9cmds.c
@@ -1290,8 +1290,8 @@ compile_try(char_u *arg, cctx_T *cctx)
 	try_scope->se_u.se_try.ts_try_label = instr->ga_len;
 	if ((isn = generate_instr(cctx, ISN_TRY)) == NULL)
 	    return NULL;
-	isn->isn_arg.try.try_ref = ALLOC_CLEAR_ONE(tryref_T);
-	if (isn->isn_arg.try.try_ref == NULL)
+	isn->isn_arg.tryref.try_ref = ALLOC_CLEAR_ONE(tryref_T);
+	if (isn->isn_arg.tryref.try_ref == NULL)
 	    return NULL;
     }
 
@@ -1352,8 +1352,8 @@ compile_catch(char_u *arg, cctx_T *cctx 
 
 	// End :try or :catch scope: set value in ISN_TRY instruction
 	isn = ((isn_T *)instr->ga_data) + scope->se_u.se_try.ts_try_label;
-	if (isn->isn_arg.try.try_ref->try_catch == 0)
-	    isn->isn_arg.try.try_ref->try_catch = instr->ga_len;
+	if (isn->isn_arg.tryref.try_ref->try_catch == 0)
+	    isn->isn_arg.tryref.try_ref->try_catch = instr->ga_len;
 	if (scope->se_u.se_try.ts_catch_label != 0)
 	{
 	    // Previous catch without match jumps here
@@ -1452,7 +1452,7 @@ compile_finally(char_u *arg, cctx_T *cct
     {
 	// End :catch or :finally scope: set value in ISN_TRY instruction
 	isn = ((isn_T *)instr->ga_data) + scope->se_u.se_try.ts_try_label;
-	if (isn->isn_arg.try.try_ref->try_finally != 0)
+	if (isn->isn_arg.tryref.try_ref->try_finally != 0)
 	{
 	    emsg(_(e_finally_dup));
 	    return NULL;
@@ -1479,9 +1479,9 @@ compile_finally(char_u *arg, cctx_T *cct
 							     this_instr, cctx);
 
 	// If there is no :catch then an exception jumps to :finally.
-	if (isn->isn_arg.try.try_ref->try_catch == 0)
-	    isn->isn_arg.try.try_ref->try_catch = this_instr;
-	isn->isn_arg.try.try_ref->try_finally = this_instr;
+	if (isn->isn_arg.tryref.try_ref->try_catch == 0)
+	    isn->isn_arg.tryref.try_ref->try_catch = this_instr;
+	isn->isn_arg.tryref.try_ref->try_finally = this_instr;
 	if (scope->se_u.se_try.ts_catch_label != 0)
 	{
 	    // Previous catch without match jumps here
@@ -1528,8 +1528,8 @@ compile_endtry(char_u *arg, cctx_T *cctx
     try_isn = ((isn_T *)instr->ga_data) + scope->se_u.se_try.ts_try_label;
     if (cctx->ctx_skip != SKIP_YES)
     {
-	if (try_isn->isn_arg.try.try_ref->try_catch == 0
-				      && try_isn->isn_arg.try.try_ref->try_finally == 0)
+	if (try_isn->isn_arg.tryref.try_ref->try_catch == 0
+			  && try_isn->isn_arg.tryref.try_ref->try_finally == 0)
 	{
 	    emsg(_(e_missing_catch_or_finally));
 	    return NULL;
@@ -1564,7 +1564,7 @@ compile_endtry(char_u *arg, cctx_T *cctx
     {
 	// End :catch or :finally scope: set instruction index in ISN_TRY
 	// instruction
-	try_isn->isn_arg.try.try_ref->try_endtry = instr->ga_len;
+	try_isn->isn_arg.tryref.try_ref->try_endtry = instr->ga_len;
 	if (cctx->ctx_skip != SKIP_YES
 				   && generate_instr(cctx, ISN_ENDTRY) == NULL)
 	    return NULL;
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -3517,11 +3517,11 @@ exec_instructions(ectx_T *ectx)
 		    trycmd->tcd_frame_idx = ectx->ec_frame_idx;
 		    trycmd->tcd_stack_len = ectx->ec_stack.ga_len;
 		    trycmd->tcd_catch_idx =
-					  iptr->isn_arg.try.try_ref->try_catch;
+				       iptr->isn_arg.tryref.try_ref->try_catch;
 		    trycmd->tcd_finally_idx =
-					iptr->isn_arg.try.try_ref->try_finally;
+				     iptr->isn_arg.tryref.try_ref->try_finally;
 		    trycmd->tcd_endtry_idx =
-					 iptr->isn_arg.try.try_ref->try_endtry;
+				      iptr->isn_arg.tryref.try_ref->try_endtry;
 		}
 		break;
 
@@ -5670,7 +5670,7 @@ list_instructions(char *pfx, isn_T *inst
 
 	    case ISN_TRY:
 		{
-		    try_T *try = &iptr->isn_arg.try;
+		    try_T *try = &iptr->isn_arg.tryref;
 
 		    if (try->try_ref->try_finally == 0)
 			smsg("%s%4d TRY catch -> %d, endtry -> %d",
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -2088,7 +2088,7 @@ delete_instr(isn_T *isn)
 	    break;
 
 	case ISN_TRY:
-	    vim_free(isn->isn_arg.try.try_ref);
+	    vim_free(isn->isn_arg.tryref.try_ref);
 	    break;
 
 	case ISN_CEXPR_CORE: