aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-09-20 01:31:01 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-09-21 08:43:07 -0400
commitb853b6e4ea1269ab7ae766bd71d9bafd54dc2b98 (patch)
treee5fded64a09eb31a437d9605379061a43716dea7 /src/nvim/eval.c
parent42a05130955829847e68c1af5add386596b697fd (diff)
downloadrneovim-b853b6e4ea1269ab7ae766bd71d9bafd54dc2b98.tar.gz
rneovim-b853b6e4ea1269ab7ae766bd71d9bafd54dc2b98.tar.bz2
rneovim-b853b6e4ea1269ab7ae766bd71d9bafd54dc2b98.zip
vim-patch:8.0.1109: timer causes error on exit from Ex mode
Problem: Timer causes error on exit from Ex mode. (xtal8) Solution: save and restore the ex_pressedreturn flag. (Christian Brabandt, closes vim/vim#2079) https://github.com/vim/vim/commit/f5291f301e9322545f0621b2157e93050d1d4fb3
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 248edfc9cc..04204e45d0 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -18437,6 +18437,7 @@ static void timer_due_cb(TimeWatcher *tw, void *data)
timer_T *timer = (timer_T *)data;
int save_did_emsg = did_emsg;
int save_called_emsg = called_emsg;
+ const bool save_ex_pressedreturn = get_pressedreturn();
if (timer->stopped || timer->paused) {
return;
@@ -18465,6 +18466,7 @@ static void timer_due_cb(TimeWatcher *tw, void *data)
}
did_emsg = save_did_emsg;
called_emsg = save_called_emsg;
+ set_pressedreturn(save_ex_pressedreturn);
if (timer->emsg_count >= 3) {
timer_stop(timer);