diff options
author | ZyX <kp-pav@yandex.ru> | 2015-08-16 18:54:41 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-08 22:00:46 +0300 |
commit | 22906265a2647aadcbc3ab9ab8a590bffd95002c (patch) | |
tree | 215022e521cad6040f8cccdb9c4cd24fe470d013 /src/nvim/buffer.c | |
parent | be45e750267a7cb52b625b2e1e71796be18d8061 (diff) | |
download | rneovim-22906265a2647aadcbc3ab9ab8a590bffd95002c.tar.gz rneovim-22906265a2647aadcbc3ab9ab8a590bffd95002c.tar.bz2 rneovim-22906265a2647aadcbc3ab9ab8a590bffd95002c.zip |
mark: Clear marks in some cases, but do not do useless job in free_\*
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r-- | src/nvim/buffer.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index a25a51c6ce..d0fad0e002 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -557,9 +557,9 @@ static void free_buffer(buf_T *buf) unref_var_dict(buf->b_vars); aubuflocal_remove(buf); dict_unref(buf->additional_data); - free_fmark(buf->b_last_cursor); - free_fmark(buf->b_last_insert); - free_fmark(buf->b_last_change); + clear_fmark(&buf->b_last_cursor); + clear_fmark(&buf->b_last_insert); + clear_fmark(&buf->b_last_change); for (size_t i = 0; i < NMARKS; i++) { free_fmark(buf->b_namedm[i]); } @@ -569,6 +569,8 @@ static void free_buffer(buf_T *buf) if (autocmd_busy) { // Do not free the buffer structure while autocommands are executing, // it's still needed. Free it when autocmd_busy is reset. + memset(&buf->b_namedm[0], 0, sizeof(buf->b_namedm)); + memset(&buf->b_changelist[0], 0, sizeof(buf->b_changelist)); buf->b_next = au_pending_free_buf; au_pending_free_buf = buf; } else { |