Mercurial > vim
diff src/insexpand.c @ 26042:6b39ab99e367 v8.2.3555
patch 8.2.3555: ModeChanged is not triggered on every mode change
Commit: https://github.com/vim/vim/commit/25def2c8b8bd7b0c3d5f020207c717a880b05d50
Author: =?UTF-8?q?Magnus=20Gro=C3=9F?= <magnus.gross@rwth-aachen.de>
Date: Fri Oct 22 18:56:39 2021 +0100
patch 8.2.3555: ModeChanged is not triggered on every mode change
Problem: ModeChanged is not triggered on every mode change.
Solution: Also trigger on minor mode changes. (Maguns Gross, closes https://github.com/vim/vim/issues/8999)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 22 Oct 2021 20:00:05 +0200 |
parents | ac330e2fecc4 |
children | f2392648af3e |
line wrap: on
line diff
--- a/src/insexpand.c +++ b/src/insexpand.c @@ -243,6 +243,8 @@ ins_ctrl_x(void) // CTRL-X in CTRL-X CTRL-V mode behaves differently to make CTRL-X // CTRL-V look like CTRL-N ctrl_x_mode = CTRL_X_CMDLINE_CTRL_X; + + trigger_modechanged(); } /* @@ -2150,6 +2152,8 @@ ins_compl_prep(int c) // upon the (possibly failed) completion. ins_apply_autocmds(EVENT_COMPLETEDONE); + trigger_modechanged(); + // reset continue_* if we left expansion-mode, if we stay they'll be // (re)set properly in ins_complete() if (!vim_is_ctrl_x_key(c)) @@ -2487,6 +2491,7 @@ set_completion(colnr_T startcol, list_T // Lazily show the popup menu, unless we got interrupted. if (!compl_interrupted) show_pum(save_w_wrow, save_w_leftcol); + trigger_modechanged(); out_flush(); } @@ -3255,6 +3260,8 @@ ins_compl_get_exp(pos_T *ini) if (compl_curr_match == NULL) compl_curr_match = compl_old_match; } + trigger_modechanged(); + return i; }