aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.h
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-04-14 09:11:37 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-04-14 09:42:59 +0800
commit8e2903d2fe810cfa3be41fc1e7a4d8394c84cf11 (patch)
tree3a18b8a3e608394451044181ca4368133635027d /src/nvim/eval.h
parentbd83b587b18bb6f2ac555a992fa5b7d907de7e79 (diff)
downloadrneovim-8e2903d2fe810cfa3be41fc1e7a4d8394c84cf11.tar.gz
rneovim-8e2903d2fe810cfa3be41fc1e7a4d8394c84cf11.tar.bz2
rneovim-8e2903d2fe810cfa3be41fc1e7a4d8394c84cf11.zip
vim-patch:8.2.1049: Vim9: leaking memory when using continuation line
Problem: Vim9: leaking memory when using continuation line. Solution: Keep a pointer to the continuation line in evalarg_T. Centralize checking for a next command. https://github.com/vim/vim/commit/b171fb179053fa631fec74911b5fb9374cb6a8a1 Omit eval_next_line(): Vim9 script only. vim-patch:8.2.1050: missing change in struct Problem: Missing change in struct. Solution: Add missing change. https://github.com/vim/vim/commit/65a8ed37f7bc61fbe5c612a7b0eb0dfc16ad3e11 Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/eval.h')
-rw-r--r--src/nvim/eval.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/eval.h b/src/nvim/eval.h
index b29abe3d73..4f517551c6 100644
--- a/src/nvim/eval.h
+++ b/src/nvim/eval.h
@@ -273,6 +273,9 @@ typedef struct {
/// copied from exarg_T when "getline" is "getsourceline". Can be NULL.
void *eval_cookie; // argument for getline()
+
+ /// pointer to the line obtained with getsourceline()
+ char *eval_tofree;
} evalarg_T;
/// Flag for expression evaluation.
@@ -281,7 +284,7 @@ enum {
};
/// Passed to an eval() function to enable evaluation.
-EXTERN evalarg_T EVALARG_EVALUATE INIT(= { EVAL_EVALUATE, NULL });
+EXTERN evalarg_T EVALARG_EVALUATE INIT(= { EVAL_EVALUATE, NULL, NULL });
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "eval.h.generated.h"