diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-06-07 10:17:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-07 10:17:19 +0800 |
commit | fcaf0d5f3824431520a0b6353c771107cc63ed4e (patch) | |
tree | 3c4cd503d1e881b68feaa5c235906f6f9ca7949b /src/nvim/autocmd.c | |
parent | 0e0a166a0cc5a2dc199136e313e58c27bfb91977 (diff) | |
parent | dd24ea819507e3a5da04df55df7dda5240e5b57f (diff) | |
download | rneovim-fcaf0d5f3824431520a0b6353c771107cc63ed4e.tar.gz rneovim-fcaf0d5f3824431520a0b6353c771107cc63ed4e.tar.bz2 rneovim-fcaf0d5f3824431520a0b6353c771107cc63ed4e.zip |
Merge pull request #23943 from zeertzjq/autocmd-fname
fix(events): don't expand non-file as file name
Diffstat (limited to 'src/nvim/autocmd.c')
-rw-r--r-- | src/nvim/autocmd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c index 53cca7baa1..427bce0e80 100644 --- a/src/nvim/autocmd.c +++ b/src/nvim/autocmd.c @@ -1603,6 +1603,7 @@ bool apply_autocmds_group(event_T event, char *fname, char *fname_io, bool force // Save the autocmd_* variables and info about the current buffer. char *save_autocmd_fname = autocmd_fname; + bool save_autocmd_fname_full = autocmd_fname_full; int save_autocmd_bufnr = autocmd_bufnr; char *save_autocmd_match = autocmd_match; int save_autocmd_busy = autocmd_busy; @@ -1631,6 +1632,7 @@ bool apply_autocmds_group(event_T event, char *fname, char *fname_io, bool force // Allocate MAXPATHL for when eval_vars() resolves the fullpath. autocmd_fname = xstrnsave(autocmd_fname, MAXPATHL); } + autocmd_fname_full = false; // call FullName_save() later // Set the buffer number to be used for <abuf>. autocmd_bufnr = buf == NULL ? 0 : buf->b_fnum; @@ -1674,6 +1676,7 @@ bool apply_autocmds_group(event_T event, char *fname, char *fname_io, bool force || event == EVENT_USER || event == EVENT_WINCLOSED || event == EVENT_WINRESIZED || event == EVENT_WINSCROLLED) { fname = xstrdup(fname); + autocmd_fname_full = true; // don't expand it later } else { fname = FullName_save(fname, false); } @@ -1806,6 +1809,7 @@ bool apply_autocmds_group(event_T event, char *fname, char *fname_io, bool force estack_pop(); xfree(autocmd_fname); autocmd_fname = save_autocmd_fname; + autocmd_fname_full = save_autocmd_fname_full; autocmd_bufnr = save_autocmd_bufnr; autocmd_match = save_autocmd_match; current_sctx = save_current_sctx; |