aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.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/ex_docmd.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/ex_docmd.c')
-rw-r--r--src/nvim/ex_docmd.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 72d39adb3e..a6931f3acd 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -77,7 +77,7 @@
#include "nvim/api/private/helpers.h"
static int quitmore = 0;
-static int ex_pressedreturn = FALSE;
+static bool ex_pressedreturn = false;
/// Whether ":lcd" or ":tcd" was produced for a session.
static int did_lcd;
@@ -1278,14 +1278,14 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|| getline_equal(fgetline, cookie, getexline))
&& curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count) {
ea.cmd = (char_u *)"+";
- ex_pressedreturn = TRUE;
+ ex_pressedreturn = true;
}
/* ignore comment and empty lines */
if (*ea.cmd == '"')
goto doend;
if (*ea.cmd == NUL) {
- ex_pressedreturn = TRUE;
+ ex_pressedreturn = true;
goto doend;
}
@@ -10131,6 +10131,17 @@ static void ex_folddo(exarg_T *eap)
ml_clearmarked(); // clear rest of the marks
}
+bool get_pressedreturn(void)
+ FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
+{
+ return ex_pressedreturn;
+}
+
+void set_pressedreturn(bool val)
+{
+ ex_pressedreturn = val;
+}
+
static void ex_terminal(exarg_T *eap)
{
char ex_cmd[1024];