aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/typval.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-08-11 13:34:44 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-08-12 02:17:49 +0200
commit71378a40308cd987626ebccb5882897d41c86c7a (patch)
tree0341f2fb5ac5e0813986e740ea512e99a6cd80f0 /src/nvim/eval/typval.c
parentfeee862064554a789891e3450762464a6ec2535d (diff)
downloadrneovim-71378a40308cd987626ebccb5882897d41c86c7a.tar.gz
rneovim-71378a40308cd987626ebccb5882897d41c86c7a.tar.bz2
rneovim-71378a40308cd987626ebccb5882897d41c86c7a.zip
free_buffer: rework b:changedtick handling #9163
- Re-enable Test_BufLeave_Wipe. 66f5e5c7d7ce This is my (probably-wrong) application of Zyx's suggestion in #9163: > free_buffer_stuff() already removes changedtick. It is better to > make `free_options` a flag variable and avoid calling > buf_init_changedtick() based on some flag there: current workflow > looks weird as it first removes `b:changedtick`, then re-adds it > by calling buf_init_changedtick(), then remove again. > Also based on my understanding it looks logical to not remove > `b:changedtick`, but to *replace* it with something allocated if > needed based on examining reference count before calling > `unref_var_dict`. Because now you have key disappearing from > dictionary for no good reason. Patch-By: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
Diffstat (limited to 'src/nvim/eval/typval.c')
-rw-r--r--src/nvim/eval/typval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nvim/eval/typval.c b/src/nvim/eval/typval.c
index 91a1d083c7..106b8f6eed 100644
--- a/src/nvim/eval/typval.c
+++ b/src/nvim/eval/typval.c
@@ -1272,7 +1272,7 @@ void tv_dict_item_free(dictitem_T *const item)
/// @param[in] di Item to copy.
///
/// @return [allocated] new dictionary item.
-static dictitem_T *tv_dict_item_copy(dictitem_T *const di)
+dictitem_T *tv_dict_item_copy(dictitem_T *const di)
FUNC_ATTR_NONNULL_RET FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT
{
dictitem_T *const new_di = tv_dict_item_alloc((const char *)di->di_key);