diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-16 11:46:17 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2023-04-16 15:04:41 +0800 |
commit | f39b33ee491a4a8d4b08425e582dd0dd53617edf (patch) | |
tree | 0214457dc93e79a07307268ea5015ecc49579c9c /src/nvim/eval/userfunc.c | |
parent | 7b05ddbb72717f995fedc81583d73f82c78c881d (diff) | |
download | rneovim-f39b33ee491a4a8d4b08425e582dd0dd53617edf.tar.gz rneovim-f39b33ee491a4a8d4b08425e582dd0dd53617edf.tar.bz2 rneovim-f39b33ee491a4a8d4b08425e582dd0dd53617edf.zip |
vim-patch:9.0.0411: only created files can be cleaned up with one call
Problem: Only created files can be cleaned up with one call.
Solution: Add flags to mkdir() to delete with a deferred function.
Expand the writefile() name to a full path to handle changing
directory.
https://github.com/vim/vim/commit/6f14da15ac900589f2f413d77898b9bff3b31ece
vim-patch:8.2.3742: dec mouse test fails without gnome terminfo entry
Problem: Dec mouse test fails without gnome terminfo entry.
Solution: Check if there is a gnome entry. Also fix 'acd' test on
MS-Windows. (Dominique Pellé, closes vim/vim#9282)
https://github.com/vim/vim/commit/f589fd3e1047cdf90566b68aaf9a13389e54d26a
Cherry-pick test_autochdir.vim changes from patch 9.0.0313.
Cherry-pick test_autocmd.vim changes from patch 9.0.0323.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/eval/userfunc.c')
-rw-r--r-- | src/nvim/eval/userfunc.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nvim/eval/userfunc.c b/src/nvim/eval/userfunc.c index 0a8e5c349a..808fb316fe 100644 --- a/src/nvim/eval/userfunc.c +++ b/src/nvim/eval/userfunc.c @@ -3153,6 +3153,17 @@ static int ex_defer_inner(char *name, char **arg, const partial_T *const partial return OK; } +/// Return true if currently inside a function call. +/// Give an error message and return FALSE when not. +bool can_add_defer(void) +{ + if (get_current_funccal() == NULL) { + semsg(_(e_str_not_inside_function), "defer"); + return false; + } + return true; +} + /// Add a deferred call for "name" with arguments "argvars[argcount]". /// Consumes "argvars[]". /// Caller must check that current_funccal is not NULL. |