aboutsummaryrefslogtreecommitdiff
path: root/vis-core.h
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-05-22 11:50:48 +0200
committerMarc André Tanner <mat@brain-dump.org>2016-05-22 11:50:48 +0200
commit5c2ba124ba8706f9e9a877c78e78b21c6d2874d5 (patch)
tree543aaeeea56e921204e8c64f66c9c449a6da4a4c /vis-core.h
parent6a7f12527b1d5f562c8e762126719706329aae8b (diff)
downloadvis-5c2ba124ba8706f9e9a877c78e78b21c6d2874d5.tar.gz
vis-5c2ba124ba8706f9e9a877c78e78b21c6d2874d5.tar.xz
vis-lua: do not report errors recursively
Displaying an error might create a new window which in turn can trigger new events (all other windows are resized+redrawn) which might again cause errors. There is still no sane way to exit the editor in this case, but at least the error messages should be readable.
Diffstat (limited to 'vis-core.h')
-rw-r--r--vis-core.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/vis-core.h b/vis-core.h
index 74de5a1..fb34a1b 100644
--- a/vis-core.h
+++ b/vis-core.h
@@ -164,6 +164,7 @@ struct Vis {
Buffer input_queue; /* holds pending input keys */
Buffer *keys; /* currently active keys buffer (either the input_queue or a macro) */
bool keyhandler; /* whether a key handling function is currently being called */
+ bool errorhandler; /* whether we are currently in an error handler, used to avoid recursion */
Action action; /* current action which is in progress */
Action action_prev; /* last operator action used by the repeat (dot) command */
Mode *mode; /* currently active mode, used to search for keybindings */