From e177226d51feb99e159773eebe6a773732fc89e9 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Mon, 9 Jan 2017 02:03:03 +0100 Subject: vim-patch:7.4.2018 Problem: buf_valid() can be slow when there are many buffers. Solution: Add bufref_valid(), only go through the buffer list when a buffer was freed. https://github.com/vim/vim/commit/b25f9a97e9aad3cbb4bc3fe87cdbd5700f8aa0c6 --- src/nvim/buffer_defs.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/nvim/buffer_defs.h') diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h index 29f4dfe4fb..73d06de964 100644 --- a/src/nvim/buffer_defs.h +++ b/src/nvim/buffer_defs.h @@ -8,6 +8,13 @@ typedef struct file_buffer buf_T; // Forward declaration +// Reference to a buffer that stores the value of buf_free_count. +// bufref_valid() only needs to check "buf" when the count differs. +typedef struct { + buf_T *br_buf; + int br_buf_free_count; +} bufref_T; + // for garray_T #include "nvim/garray.h" // for pos_T, lpos_T and linenr_T -- cgit