diff options
| author | Rom Grk <romgrk.cc@gmail.com> | 2020-11-09 04:05:25 -0500 | 
|---|---|---|
| committer | Rom Grk <romgrk.cc@gmail.com> | 2020-11-09 04:05:25 -0500 | 
| commit | 743f7c8f72ef72e5348d0513a263cb4fe068f1f4 (patch) | |
| tree | 0347e0c2274023958fe53c90dc5081fc77e7fb97 /src | |
| parent | 6b5975a1eb2d3e81901a1547ca85023d9c1be073 (diff) | |
| download | rneovim-743f7c8f72ef72e5348d0513a263cb4fe068f1f4.tar.gz rneovim-743f7c8f72ef72e5348d0513a263cb4fe068f1f4.tar.bz2 rneovim-743f7c8f72ef72e5348d0513a263cb4fe068f1f4.zip | |
fix: address issues for BufModifiedSet
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/buffer_defs.h | 5 | ||||
| -rw-r--r-- | src/nvim/change.c | 4 | ||||
| -rw-r--r-- | src/nvim/edit.c | 6 | ||||
| -rw-r--r-- | src/nvim/normal.c | 4 | 
4 files changed, 10 insertions, 9 deletions
| diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h index a72fe69425..93fe37b585 100644 --- a/src/nvim/buffer_defs.h +++ b/src/nvim/buffer_defs.h @@ -541,8 +541,9 @@ struct file_buffer {    int b_changed;                // 'modified': Set to true if something in the                                  // file has been changed and not written out. -  bool b_changed_notified;      // if the BufModified autocmd has been triggered -                                // since the last time b_changed was modified +  bool b_changed_invalid;       // Set if BufModified autocmd has not been +                                // triggered since the last time b_changed was +                                // modified.    /// Change-identifier incremented for each change, including undo.    /// diff --git a/src/nvim/change.c b/src/nvim/change.c index 3c1af1f46a..271d350967 100644 --- a/src/nvim/change.c +++ b/src/nvim/change.c @@ -129,7 +129,7 @@ void changed(void)  void changed_internal(void)  {    curbuf->b_changed = true; -  curbuf->b_changed_notified = false; +  curbuf->b_changed_invalid = true;    ml_setflags(curbuf);    check_status(curbuf);    redraw_tabline = true; @@ -503,7 +503,7 @@ void unchanged(buf_T *buf, int ff, bool always_inc_changedtick)  {    if (buf->b_changed || (ff && file_ff_differs(buf, false))) {      buf->b_changed = false; -    buf->b_changed_notified = false; +    buf->b_changed_invalid = true;      ml_setflags(buf);      if (ff) {        save_file_ff(buf); diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 9ce587a8c6..9c8d64a6b2 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -1488,12 +1488,12 @@ static void ins_redraw(      do_autocmd_winscrolled(curwin);    } -  // Trigger BufModified if b_changed_notified is false. +  // Trigger BufModified if b_changed_invalid is set.    if (ready && has_event(EVENT_BUFMODIFIEDSET) -      && curbuf->b_changed_notified == false +      && curbuf->b_changed_invalid == true        && !pum_visible()) {      apply_autocmds(EVENT_BUFMODIFIEDSET, NULL, NULL, false, curbuf); -    curbuf->b_changed_notified = true; +    curbuf->b_changed_invalid = false;    }    if (curwin->w_p_cole > 0 && conceal_cursor_line(curwin) diff --git a/src/nvim/normal.c b/src/nvim/normal.c index f78f5a1d1f..2805a7d74e 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -1233,9 +1233,9 @@ static void normal_check_buffer_modified(NormalState *s)  {    // Trigger BufModified if b_modified changed    if (!finish_op && has_event(EVENT_BUFMODIFIEDSET) -      && curbuf->b_changed_notified == false) { +      && curbuf->b_changed_invalid == true) {      apply_autocmds(EVENT_BUFMODIFIEDSET, NULL, NULL, false, curbuf); -    curbuf->b_changed_notified = true; +    curbuf->b_changed_invalid = false;    }  } | 
