diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-12-05 11:36:23 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-12-05 11:36:23 +0000 |
commit | c7269f862748c3b0f56b5a651019e18c7d5190ee (patch) | |
tree | 09680ace5adda3503ae6589ebcf1b26947f36194 | |
parent | dea4a616376c6500894c16e26057ce16d7ef9f0e (diff) | |
download | vim-git-c7269f862748c3b0f56b5a651019e18c7d5190ee.tar.gz |
patch 8.2.3740: memory left allocated on exit when using Tclv8.2.3740
Problem: Memory left allocated on exit when using Tcl.
Solution: Call Tcl_Finalize().
-rw-r--r-- | src/alloc.c | 3 | ||||
-rw-r--r-- | src/if_tcl.c | 8 | ||||
-rw-r--r-- | src/proto/if_tcl.pro | 1 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 14 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c index 38b452cbe..84a1124f3 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -574,6 +574,9 @@ free_all_mem(void) # ifdef FEAT_GUI_GTK gui_mch_free_all(); # endif +# ifdef FEAT_TCL + vim_tcl_finalize(); +# endif clear_hl_tables(); vim_free(IObuff); diff --git a/src/if_tcl.c b/src/if_tcl.c index f3f4b0798..4838e3197 100644 --- a/src/if_tcl.c +++ b/src/if_tcl.c @@ -248,6 +248,14 @@ vim_tcl_init(char *arg) #endif } +#if defined(EXITFREE) || defined(PROTO) + void +vim_tcl_finalize(void) +{ + Tcl_Finalize(); +} +#endif + #if defined(DYNAMIC_TCL) || defined(PROTO) static int stubs_initialized = FALSE; diff --git a/src/proto/if_tcl.pro b/src/proto/if_tcl.pro index b572fb84c..11ca7a20e 100644 --- a/src/proto/if_tcl.pro +++ b/src/proto/if_tcl.pro @@ -1,5 +1,6 @@ /* if_tcl.c */ void vim_tcl_init(char *arg); +void vim_tcl_finalize(void); int tcl_enabled(int verbose); void tcl_end(void); void ex_tcl(exarg_T *eap); diff --git a/src/version.c b/src/version.c index 338b8a4ad..6e1e30aa9 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3740, +/**/ 3739, /**/ 3738, |