aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-08-05 07:44:25 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-08-05 07:53:54 +0800
commitd985323c555b894e0a6eb8bb283bb0318467c476 (patch)
tree5907de97d49210004aa39055342b71a16de70d4c /src/nvim/buffer.c
parentc1e1d16fcac0daa8b5796a3a5d11271fbb89ccbb (diff)
downloadrneovim-d985323c555b894e0a6eb8bb283bb0318467c476.tar.gz
rneovim-d985323c555b894e0a6eb8bb283bb0318467c476.tar.bz2
rneovim-d985323c555b894e0a6eb8bb283bb0318467c476.zip
vim-patch:8.2.0413: buffer menu does not handle special buffers properly
Problem: Buffer menu does not handle special buffers properly. Solution: Keep a dictionary with buffer names to reliably keep track of entries. Also trigger BufFilePre and BufFilePost for command-line and terminal buffers when the name changes. https://github.com/vim/vim/commit/5e94a29ebbde10dd973d58f1adba9a2fc83877d1
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r--src/nvim/buffer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 6dd71e92a6..671f0db077 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -5639,7 +5639,9 @@ void wipe_buffer(buf_T *buf, bool aucmd)
void buf_open_scratch(handle_T bufnr, char *bufname)
{
(void)do_ecmd((int)bufnr, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL);
+ apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, false, curbuf);
(void)setfname(curbuf, bufname, NULL, true);
+ apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, false, curbuf);
set_option_value("bh", 0L, "hide", OPT_LOCAL);
set_option_value("bt", 0L, "nofile", OPT_LOCAL);
set_option_value("swf", 0L, NULL, OPT_LOCAL);