Mercurial > vim
comparison src/userfunc.c @ 18962:af44ca0ddf49 v8.2.0042
patch 8.2.0042: clearing funccal values twice
Commit: https://github.com/vim/vim/commit/eac7ce01e92f3dee6bbccaf7e88680fe2ce286eb
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 25 15:04:03 2019 +0100
patch 8.2.0042: clearing funccal values twice
Problem: Clearing funccal values twice.
Solution: Remove clearing individual fields.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 25 Dec 2019 15:15:03 +0100 |
parents | 2bdc2e1f6e1f |
children | 847cc7932c42 |
comparison
equal
deleted
inserted
replaced
18961:b7bfc651f3e4 | 18962:af44ca0ddf49 |
---|---|
798 return; | 798 return; |
799 fc->caller = current_funccal; | 799 fc->caller = current_funccal; |
800 current_funccal = fc; | 800 current_funccal = fc; |
801 fc->func = fp; | 801 fc->func = fp; |
802 fc->rettv = rettv; | 802 fc->rettv = rettv; |
803 rettv->vval.v_number = 0; | |
804 fc->linenr = 0; | |
805 fc->returned = FALSE; | |
806 fc->level = ex_nesting_level; | 803 fc->level = ex_nesting_level; |
807 // Check if this function has a breakpoint. | 804 // Check if this function has a breakpoint. |
808 fc->breakpoint = dbg_find_breakpoint(FALSE, fp->uf_name, (linenr_T)0); | 805 fc->breakpoint = dbg_find_breakpoint(FALSE, fp->uf_name, (linenr_T)0); |
809 fc->dbg_tick = debug_tick; | 806 fc->dbg_tick = debug_tick; |
810 // Set up fields for closure. | 807 // Set up fields for closure. |
811 fc->fc_refcount = 0; | |
812 fc->fc_copyID = 0; | |
813 ga_init2(&fc->fc_funcs, sizeof(ufunc_T *), 1); | 808 ga_init2(&fc->fc_funcs, sizeof(ufunc_T *), 1); |
814 func_ptr_ref(fp); | 809 func_ptr_ref(fp); |
815 | 810 |
816 if (STRNCMP(fp->uf_name, "<lambda>", 8) == 0) | 811 if (STRNCMP(fp->uf_name, "<lambda>", 8) == 0) |
817 islambda = TRUE; | 812 islambda = TRUE; |