From 1b1716477cfdb81735d95c4201c59f9176845f54 Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Thu, 10 Sep 2015 09:22:59 -0300 Subject: terminal: Don't enter terminal mode from `:normal` Ref: https://github.com/junegunn/fzf.vim/issues/8#issuecomment-139209765 --- src/nvim/edit.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/nvim/edit.c') diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 6bcf5e804a..427623e052 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -254,7 +254,16 @@ edit ( ) { if (curbuf->terminal) { - terminal_enter(); + if (ex_normal_busy) { + // don't enter terminal mode from `ex_normal`, which can result in all + // kinds of havoc(such as terminal mode recursiveness). Instead, set a + // flag that allow us to force-set the value of `restart_edit` before + // `ex_normal` returns + restart_edit = 'i'; + force_restart_edit = true; + } else { + terminal_enter(); + } return false; } -- cgit