Mercurial > vim
diff src/fileio.c @ 13240:5ed6e4a25925 v8.0.1494
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
commit https://github.com/vim/vim/commit/5a093437199001a0d60d8e18e2b9539b99a7757c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 10 18:15:19 2018 +0100
patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Problem: No autocmd triggered in Insert mode with visible popup menu.
Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
closes #2372, closes #1691)
Fix that the TextChanged autocommands are not always triggered
when sourcing a script.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 10 Feb 2018 18:30:06 +0100 |
parents | 6559e98f3e74 |
children | ac42c4b11dbc |
line wrap: on
line diff
--- a/src/fileio.c +++ b/src/fileio.c @@ -5037,9 +5037,8 @@ restore_backup: #ifdef FEAT_AUTOCMD /* b:changedtick is always incremented in unchanged() but that * should not trigger a TextChanged event. */ - if (last_changedtick + 1 == CHANGEDTICK(buf) - && last_changedtick_buf == buf) - last_changedtick = CHANGEDTICK(buf); + if (buf->b_last_changedtick + 1 == CHANGEDTICK(buf)) + buf->b_last_changedtick = CHANGEDTICK(buf); #endif u_unchanged(buf); u_update_save_nr(buf); @@ -7851,6 +7850,7 @@ static struct event_name {"TermResponse", EVENT_TERMRESPONSE}, {"TextChanged", EVENT_TEXTCHANGED}, {"TextChangedI", EVENT_TEXTCHANGEDI}, + {"TextChangedP", EVENT_TEXTCHANGEDP}, {"User", EVENT_USER}, {"VimEnter", EVENT_VIMENTER}, {"VimLeave", EVENT_VIMLEAVE}, @@ -9377,6 +9377,15 @@ has_textchangedI(void) } /* + * Return TRUE when there is a TextChangedP autocommand defined. + */ + int +has_textchangedP(void) +{ + return (first_autopat[(int)EVENT_TEXTCHANGEDP] != NULL); +} + +/* * Return TRUE when there is an InsertCharPre autocommand defined. */ int