aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/main.c
diff options
context:
space:
mode:
authorMarco Hinz <mh.codebro@gmail.com>2017-01-09 14:35:04 +0100
committerJames McCoy <jamessan@jamessan.com>2017-02-04 17:55:46 -0500
commitc05e7f0fdd15d550cfb1054416a08d4514a4fb7e (patch)
treeac051f64de7006efe1463da9e549e7c507817683 /src/nvim/main.c
parente3b92c77da0277c8d58e037e42c5b929be469284 (diff)
downloadrneovim-c05e7f0fdd15d550cfb1054416a08d4514a4fb7e.tar.gz
rneovim-c05e7f0fdd15d550cfb1054416a08d4514a4fb7e.tar.bz2
rneovim-c05e7f0fdd15d550cfb1054416a08d4514a4fb7e.zip
vim-patch:7.4.2024
Problem: More buf_valid() calls can be optimized. Solution: Use bufref_valid() instead. NOTE: Some changes related to channels and the Python and Netbeans interfaces were obviously left out. https://github.com/vim/vim/commit/7c0a2f367f2507669560b1a66423155c70d2e75b
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r--src/nvim/main.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c
index c7a60d07c1..d89ab7a2da 100644
--- a/src/nvim/main.c
+++ b/src/nvim/main.c
@@ -590,10 +590,13 @@ void getout(int exitval)
/* Trigger BufUnload for buffers that are loaded */
FOR_ALL_BUFFERS(buf) {
if (buf->b_ml.ml_mfp != NULL) {
- apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname,
- FALSE, buf);
- if (!buf_valid(buf)) /* autocmd may delete the buffer */
+ bufref_T bufref;
+ set_bufref(&bufref, buf);
+ apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname, false, buf);
+ if (!bufref_valid(&bufref)) {
+ // Autocmd deleted the buffer.
break;
+ }
}
}
apply_autocmds(EVENT_VIMLEAVEPRE, NULL, NULL, FALSE, curbuf);