Mercurial > vim
comparison src/evalvars.c @ 20943:1693ca876049 v8.2.1023
patch 8.2.1023: Vim9: redefining a function uses a new index every time
Commit: https://github.com/vim/vim/commit/0cb5bcf5836de83f7d64fb01d3ce708caacaf66c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 20 18:19:09 2020 +0200
patch 8.2.1023: Vim9: redefining a function uses a new index every time
Problem: Vim9: redefining a function uses a new index every time.
Solution: When redefining a function clear the contents and re-use the
index.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 20 Jun 2020 18:30:04 +0200 |
parents | 96bf2b304932 |
children | 0653b9b72091 |
comparison
equal
deleted
inserted
replaced
20942:484ce6d14734 | 20943:1693ca876049 |
---|---|
2626 if (*name == 't') // tab page variable | 2626 if (*name == 't') // tab page variable |
2627 return &curtab->tp_vars->dv_hashtab; | 2627 return &curtab->tp_vars->dv_hashtab; |
2628 if (*name == 'v') // v: variable | 2628 if (*name == 'v') // v: variable |
2629 return &vimvarht; | 2629 return &vimvarht; |
2630 if (get_current_funccal() != NULL | 2630 if (get_current_funccal() != NULL |
2631 && get_current_funccal()->func->uf_dfunc_idx == UF_NOT_COMPILED) | 2631 && get_current_funccal()->func->uf_def_status == UF_NOT_COMPILED) |
2632 { | 2632 { |
2633 // a: and l: are only used in functions defined with ":function" | 2633 // a: and l: are only used in functions defined with ":function" |
2634 if (*name == 'a') // a: function argument | 2634 if (*name == 'a') // a: function argument |
2635 return get_funccal_args_ht(); | 2635 return get_funccal_args_ht(); |
2636 if (*name == 'l') // l: local function variable | 2636 if (*name == 'l') // l: local function variable |