diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-07-29 22:15:09 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-07-29 22:15:09 +0200 |
commit | 1e96d9bf98f9ab84d5af7f98d6a961d91b17364f (patch) | |
tree | dd81c13eb8896eb9b5c3a5f311eefdd39829c907 /src/proto | |
parent | 83a2a80d6f699ad9a236431170038698e355c025 (diff) | |
download | vim-git-1e96d9bf98f9ab84d5af7f98d6a961d91b17364f.tar.gz |
patch 7.4.2119v7.4.2119
Problem: Closures are not supported.
Solution: Capture variables in lambdas from the outer scope. (Yasuhiro
Matsumoto, Ken Takata)
Diffstat (limited to 'src/proto')
-rw-r--r-- | src/proto/eval.pro | 1 | ||||
-rw-r--r-- | src/proto/userfunc.pro | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/proto/eval.pro b/src/proto/eval.pro index 5d9b35c62..56f0b4927 100644 --- a/src/proto/eval.pro +++ b/src/proto/eval.pro @@ -87,6 +87,7 @@ char_u *get_tv_string_chk(typval_T *varp); char_u *get_tv_string_buf_chk(typval_T *varp, char_u *buf); dictitem_T *find_var(char_u *name, hashtab_T **htp, int no_autoload); dictitem_T *find_var_in_ht(hashtab_T *ht, int htname, char_u *varname, int no_autoload); +hashtab_T *find_var_ht(char_u *name, char_u **varname); char_u *get_var_value(char_u *name); void new_script_vars(scid_T id); void init_var_dict(dict_T *dict, dictitem_T *dict_var, int scope); diff --git a/src/proto/userfunc.pro b/src/proto/userfunc.pro index feacd4c00..e503bcdcc 100644 --- a/src/proto/userfunc.pro +++ b/src/proto/userfunc.pro @@ -46,7 +46,9 @@ void *clear_current_funccal(void); void restore_current_funccal(void *f); void list_func_vars(int *first); dict_T *get_current_funccal_dict(hashtab_T *ht); +dictitem_T *find_var_in_scoped_ht(char_u *name, char_u **varname, int no_autoload); int set_ref_in_previous_funccal(int copyID); int set_ref_in_call_stack(int copyID); int set_ref_in_func_args(int copyID); +int set_ref_in_func(char_u *name, int copyID); /* vim: set ft=c : */ |