Mercurial > vim
comparison src/proto/evalvars.pro @ 22551:86a115a80262 v8.2.1824
patch 8.2.1824: Vim9: variables at the script level escape their scope
Commit: https://github.com/vim/vim/commit/fcdc5d83fbfd7ddce634769ea902e58c87f27f20
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Oct 10 19:07:09 2020 +0200
patch 8.2.1824: Vim9: variables at the script level escape their scope
Problem: Vim9: variables at the script level escape their scope.
Solution: When leaving a scope remove variables declared in it.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 10 Oct 2020 19:15:04 +0200 |
parents | 35ef9b0a81a3 |
children | bb7531f77529 |
comparison
equal
deleted
inserted
replaced
22550:d61c22faf4be | 22551:86a115a80262 |
---|---|
65 void new_script_vars(scid_T id); | 65 void new_script_vars(scid_T id); |
66 void init_var_dict(dict_T *dict, dictitem_T *dict_var, int scope); | 66 void init_var_dict(dict_T *dict, dictitem_T *dict_var, int scope); |
67 void unref_var_dict(dict_T *dict); | 67 void unref_var_dict(dict_T *dict); |
68 void vars_clear(hashtab_T *ht); | 68 void vars_clear(hashtab_T *ht); |
69 void vars_clear_ext(hashtab_T *ht, int free_val); | 69 void vars_clear_ext(hashtab_T *ht, int free_val); |
70 void delete_var(hashtab_T *ht, hashitem_T *hi); | |
70 void set_var(char_u *name, typval_T *tv, int copy); | 71 void set_var(char_u *name, typval_T *tv, int copy); |
71 void set_var_const(char_u *name, type_T *type, typval_T *tv_arg, int copy, int flags); | 72 void set_var_const(char_u *name, type_T *type, typval_T *tv_arg, int copy, int flags); |
72 int var_check_ro(int flags, char_u *name, int use_gettext); | 73 int var_check_ro(int flags, char_u *name, int use_gettext); |
73 int var_check_lock(int flags, char_u *name, int use_gettext); | 74 int var_check_lock(int flags, char_u *name, int use_gettext); |
74 int var_check_fixed(int flags, char_u *name, int use_gettext); | 75 int var_check_fixed(int flags, char_u *name, int use_gettext); |