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