Mercurial > vim
comparison src/vim9compile.c @ 20259:b69e30dc6e6a v8.2.0685
patch 8.2.0685: Build failure
Commit: https://github.com/vim/vim/commit/3df02f507f96a246366f96dcce156a0ae7b95611
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 3 15:47:33 2020 +0200
patch 8.2.0685: Build failure
Problem: Build failure.
Solution: Include missing changes.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 03 May 2020 16:00:04 +0200 |
parents | aac52c32a91f |
children | 350bb78345ba |
comparison
equal
deleted
inserted
replaced
20258:ed616e60438d | 20259:b69e30dc6e6a |
---|---|
3902 */ | 3902 */ |
3903 static int | 3903 static int |
3904 compile_expr1(char_u **arg, cctx_T *cctx) | 3904 compile_expr1(char_u **arg, cctx_T *cctx) |
3905 { | 3905 { |
3906 char_u *p; | 3906 char_u *p; |
3907 | |
3908 // TODO: Try parsing as a constant. If that works just one PUSH | |
3909 // instruction needs to be generated. | |
3907 | 3910 |
3908 // evaluate the first expression | 3911 // evaluate the first expression |
3909 if (compile_expr2(arg, cctx) == FAIL) | 3912 if (compile_expr2(arg, cctx) == FAIL) |
3910 return FAIL; | 3913 return FAIL; |
3911 | 3914 |
6632 { | 6635 { |
6633 for (idx = 0; idx < dfunc->df_instr_count; ++idx) | 6636 for (idx = 0; idx < dfunc->df_instr_count; ++idx) |
6634 delete_instr(dfunc->df_instr + idx); | 6637 delete_instr(dfunc->df_instr + idx); |
6635 VIM_CLEAR(dfunc->df_instr); | 6638 VIM_CLEAR(dfunc->df_instr); |
6636 } | 6639 } |
6637 if (dfunc->df_funcstack != NULL) | |
6638 { | |
6639 // Decrease the reference count for the context of a closure. If down | |
6640 // to zero free it and clear the variables on the stack. | |
6641 if (--dfunc->df_funcstack->fs_refcount == 0) | |
6642 { | |
6643 garray_T *gap = &dfunc->df_funcstack->fs_ga; | |
6644 typval_T *stack = gap->ga_data; | |
6645 int i; | |
6646 | |
6647 for (i = 0; i < gap->ga_len; ++i) | |
6648 clear_tv(stack + i); | |
6649 ga_clear(gap); | |
6650 vim_free(dfunc->df_funcstack); | |
6651 } | |
6652 dfunc->df_funcstack = NULL; | |
6653 } | |
6654 | 6640 |
6655 dfunc->df_deleted = TRUE; | 6641 dfunc->df_deleted = TRUE; |
6656 } | 6642 } |
6657 | 6643 |
6658 /* | 6644 /* |