From 0942cd5084b08ff2154725faa06e800b8536922c Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Wed, 8 Nov 2017 14:39:52 +0800 Subject: InputHandler: handle of last insert keys happening in nested modes Move recording of keys to the input handler itself instead of the Insert mode so that eventual nested modes (potentially introduced by will get their keys recorded as well). Fixes #1680 --- src/input_handler.hh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/input_handler.hh') diff --git a/src/input_handler.hh b/src/input_handler.hh index 9b23308c..663fd81b 100644 --- a/src/input_handler.hh +++ b/src/input_handler.hh @@ -116,8 +116,13 @@ private: void push_mode(InputMode* new_mode); void pop_mode(InputMode* current_mode); - struct Insertion{ InsertMode mode; Vector keys; bool disable_hooks; int count; }; - Insertion m_last_insert = { InsertMode::Insert, {}, false, 1 }; + struct Insertion{ + NestedBool recording; + InsertMode mode; + Vector keys; + bool disable_hooks; + int count; + } m_last_insert = { {}, InsertMode::Insert, {}, false, 1 }; char m_recording_reg = 0; String m_recorded_keys; -- cgit v1.2.3