diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-17 16:10:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-17 16:10:21 +0800 |
commit | 53985a6d31cc60d4b2d7a7af91929922de9ecf4d (patch) | |
tree | 001e142766b44da21d94b1ffc99d5230d7e6bee1 /src/nvim/textformat.c | |
parent | 0dbb0419f47a76441d1e937d728033694c41cde7 (diff) | |
parent | 79a69337682ca0e3fc4d0bb9f70d851f8114bc9a (diff) | |
download | rneovim-53985a6d31cc60d4b2d7a7af91929922de9ecf4d.tar.gz rneovim-53985a6d31cc60d4b2d7a7af91929922de9ecf4d.tar.bz2 rneovim-53985a6d31cc60d4b2d7a7af91929922de9ecf4d.zip |
Merge pull request #23148 from zeertzjq/vim-8.2.4179
vim-patch:8.2.{4179,4180,4181,4182,4183,4184,4185,4186,4193,4197}
Diffstat (limited to 'src/nvim/textformat.c')
-rw-r--r-- | src/nvim/textformat.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/textformat.c b/src/nvim/textformat.c index c406f0c302..dd13295c48 100644 --- a/src/nvim/textformat.c +++ b/src/nvim/textformat.c @@ -881,6 +881,7 @@ void op_formatexpr(oparg_T *oap) int fex_format(linenr_T lnum, long count, int c) { int use_sandbox = was_set_insecurely(curwin, "formatexpr", OPT_LOCAL); + const sctx_T save_sctx = current_sctx; // Set v:lnum to the first line number and v:count to the number of lines. // Set v:char to the character to be inserted (can be NUL). @@ -890,6 +891,8 @@ int fex_format(linenr_T lnum, long count, int c) // Make a copy, the option could be changed while calling it. char *fex = xstrdup(curbuf->b_p_fex); + current_sctx = curbuf->b_p_script_ctx[BV_FEX].script_ctx; + // Evaluate the function. if (use_sandbox) { sandbox++; @@ -901,6 +904,7 @@ int fex_format(linenr_T lnum, long count, int c) set_vim_var_string(VV_CHAR, NULL, -1); xfree(fex); + current_sctx = save_sctx; return r; } |