diff options
author | Marco Hinz <mh.codebro@gmail.com> | 2017-01-09 14:35:04 +0100 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2017-02-04 17:55:46 -0500 |
commit | c05e7f0fdd15d550cfb1054416a08d4514a4fb7e (patch) | |
tree | ac051f64de7006efe1463da9e549e7c507817683 /src/nvim/main.c | |
parent | e3b92c77da0277c8d58e037e42c5b929be469284 (diff) | |
download | rneovim-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.c | 9 |
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); |