diff options
author | demiurg337 <dmitro.gedz@gmail.com> | 2019-03-07 14:37:46 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-03-14 00:38:56 +0100 |
commit | 9d207fd876170d1b7123604cd37ed8745115f00e (patch) | |
tree | 9ae4a5b937ec9457ad8058d1139503b9dfce0a1a /src/nvim/buffer.h | |
parent | 7fcf2f926fc6baf43d17ba47cb89d02c0ddc4329 (diff) | |
download | rneovim-9d207fd876170d1b7123604cd37ed8745115f00e.tar.gz rneovim-9d207fd876170d1b7123604cd37ed8745115f00e.tar.bz2 rneovim-9d207fd876170d1b7123604cd37ed8745115f00e.zip |
dictwatcheradd(): support b:changedtick #9693
fixes #6635
closes #9693
Diffstat (limited to 'src/nvim/buffer.h')
-rw-r--r-- | src/nvim/buffer.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/buffer.h b/src/nvim/buffer.h index 64c906fc96..ee3fda5f6d 100644 --- a/src/nvim/buffer.h +++ b/src/nvim/buffer.h @@ -74,6 +74,8 @@ static inline void buf_set_changedtick(buf_T *const buf, static inline void buf_set_changedtick(buf_T *const buf, const varnumber_T changedtick) { + typval_T old_val = buf->changedtick_di.di_tv; + #ifndef NDEBUG dictitem_T *const changedtick_di = tv_dict_find( buf->b_vars, S_LEN("changedtick")); @@ -87,6 +89,13 @@ static inline void buf_set_changedtick(buf_T *const buf, assert(changedtick_di == (dictitem_T *)&buf->changedtick_di); #endif buf->changedtick_di.di_tv.vval.v_number = changedtick; + + if (tv_dict_is_watched(buf->b_vars)) { + tv_dict_watcher_notify(buf->b_vars, + (char *)buf->changedtick_di.di_key, + &buf->changedtick_di.di_tv, + &old_val); + } } static inline varnumber_T buf_get_changedtick(const buf_T *const buf) |