comparison src/vim9execute.c @ 22596:107eae953b87 v8.2.1846

patch 8.2.1846: Vim9: block variables are not found in compiled function Commit: https://github.com/vim/vim/commit/fbbcd00367e1a4fafd047d42ffce0e5dce88925c Author: Bram Moolenaar <Bram@vim.org> Date: Thu Oct 15 12:46:44 2020 +0200 patch 8.2.1846: Vim9: block variables are not found in compiled function Problem: Vim9: variables declared in a local block are not found in when a function is compiled. Solution: Look for script variables in sn_all_vars.
author Bram Moolenaar <Bram@vim.org>
date Thu, 15 Oct 2020 13:00:05 +0200
parents 7d6ba4204f66
children b08f435d5b86
comparison
equal deleted inserted replaced
22595:a42172375311 22596:107eae953b87
2960 scriptitem_T *si = 2960 scriptitem_T *si =
2961 SCRIPT_ITEM(iptr->isn_arg.script.script_sid); 2961 SCRIPT_ITEM(iptr->isn_arg.script.script_sid);
2962 svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data) 2962 svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data)
2963 + iptr->isn_arg.script.script_idx; 2963 + iptr->isn_arg.script.script_idx;
2964 2964
2965 smsg("%4d LOADSCRIPT %s from %s", current, 2965 smsg("%4d LOADSCRIPT %s-%d from %s", current,
2966 sv->sv_name, si->sn_name); 2966 sv->sv_name,
2967 iptr->isn_arg.script.script_idx,
2968 si->sn_name);
2967 } 2969 }
2968 break; 2970 break;
2969 case ISN_LOADS: 2971 case ISN_LOADS:
2970 { 2972 {
2971 scriptitem_T *si = SCRIPT_ITEM( 2973 scriptitem_T *si = SCRIPT_ITEM(
3052 scriptitem_T *si = 3054 scriptitem_T *si =
3053 SCRIPT_ITEM(iptr->isn_arg.script.script_sid); 3055 SCRIPT_ITEM(iptr->isn_arg.script.script_sid);
3054 svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data) 3056 svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data)
3055 + iptr->isn_arg.script.script_idx; 3057 + iptr->isn_arg.script.script_idx;
3056 3058
3057 smsg("%4d STORESCRIPT %s in %s", current, 3059 smsg("%4d STORESCRIPT %s-%d in %s", current,
3058 sv->sv_name, si->sn_name); 3060 sv->sv_name,
3061 iptr->isn_arg.script.script_idx,
3062 si->sn_name);
3059 } 3063 }
3060 break; 3064 break;
3061 case ISN_STOREOPT: 3065 case ISN_STOREOPT:
3062 smsg("%4d STOREOPT &%s", current, 3066 smsg("%4d STOREOPT &%s", current,
3063 iptr->isn_arg.storeopt.so_name); 3067 iptr->isn_arg.storeopt.so_name);