diff src/vim9execute.c @ 27768:b081ba78675a v8.2.4410

patch 8.2.4410: Vim9: some code not covered by tests Commit: https://github.com/vim/vim/commit/0c7f2610de94b42ce111c4839ba37505720181d4 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Feb 17 19:44:07 2022 +0000 patch 8.2.4410: Vim9: some code not covered by tests Problem: Vim9: some code not covered by tests. Solution: Add a few more tests. Remove dead code.
author Bram Moolenaar <Bram@vim.org>
date Thu, 17 Feb 2022 20:45:03 +0100
parents 2a394907825d
children 89b1bc6fd40a
line wrap: on
line diff
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2331,19 +2331,6 @@ load_namespace_var(ectx_T *ectx, isntype
     }
     di = find_var_in_ht(ht, 0, iptr->isn_arg.string, TRUE);
 
-    if (di == NULL && ht == get_globvar_ht()
-			    && vim_strchr(iptr->isn_arg.string,
-					AUTOLOAD_CHAR) != NULL)
-    {
-	// Global variable has an autoload name, may still need
-	// to load the script.
-	if (script_autoload(iptr->isn_arg.string, FALSE))
-	    di = find_var_in_ht(ht, 0,
-				   iptr->isn_arg.string, TRUE);
-	if (did_emsg)
-	    return FAIL;
-    }
-
     if (di == NULL)
     {
 	SOURCING_LNUM = iptr->isn_lnum;
@@ -2520,14 +2507,14 @@ exec_instructions(ectx_T *ectx)
 		    ea.cmdidx = CMD_SIZE;
 		    ea.addr_type = ADDR_LINES;
 		    ea.cmd = iptr->isn_arg.string;
+		    SOURCING_LNUM = iptr->isn_lnum;
 		    parse_cmd_address(&ea, &error, FALSE);
 		    if (ea.cmd == NULL)
 			goto on_error;
-		    if (error == NULL)
-			error = ex_range_without_command(&ea);
+		    // error is always NULL when using ADDR_LINES
+		    error = ex_range_without_command(&ea);
 		    if (error != NULL)
 		    {
-			SOURCING_LNUM = iptr->isn_lnum;
 			emsg(error);
 			goto on_error;
 		    }
@@ -3566,12 +3553,6 @@ exec_instructions(ectx_T *ectx)
 		    {
 			ufunc = find_func(funcref->fr_func_name, FALSE);
 		    }
-		    if (ufunc == NULL)
-		    {
-			SOURCING_LNUM = iptr->isn_lnum;
-			emsg(_(e_function_reference_invalid));
-			goto theend;
-		    }
 		    if (fill_partial_and_closure(pt, ufunc, ectx) == FAIL)
 			goto theend;
 		    tv = STACK_TV_BOT(0);
@@ -4488,16 +4469,7 @@ exec_instructions(ectx_T *ectx)
 
 	    case ISN_NEGATENR:
 		tv = STACK_TV_BOT(-1);
-		if (tv->v_type != VAR_NUMBER
-#ifdef FEAT_FLOAT
-			&& tv->v_type != VAR_FLOAT
-#endif
-			)
-		{
-		    SOURCING_LNUM = iptr->isn_lnum;
-		    emsg(_(e_number_expected));
-		    goto on_error;
-		}
+		// CHECKTYPE should have checked the variable type
 #ifdef FEAT_FLOAT
 		if (tv->v_type == VAR_FLOAT)
 		    tv->vval.v_float = -tv->vval.v_float;