vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit 5c4ec5ba2d7c3baafb363060cc45dd3dc8272847
parent 7cb364f8a865f8b54613597140dddd65a987483b
Author: Marc André Tanner <mat@brain-dump.org>
Date:   Sat, 11 Apr 2015 12:47:45 +0200

Eliminate global running variable

Diffstat:
Meditor.h | 1+
Mvis.c | 9++++-----
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/editor.h b/editor.h @@ -242,6 +242,7 @@ struct Editor { Mode *mode; /* currently active mode, used to search for keybindings */ Mode *mode_prev; /* previsouly active user mode */ Mode *mode_before_prompt; /* user mode which was active before entering prompt */ + volatile bool running; /* exit main loop once this becomes false */ }; Editor *editor_new(Ui*); diff --git a/vis.c b/vis.c @@ -38,9 +38,7 @@ #include "util.h" #include "map.h" - /** global variables */ -static volatile bool running = true; /* exit main loop once this becomes false */ static Editor *vis; /* global editor instance, keeps track of all windows etc. */ /** operators */ @@ -945,7 +943,7 @@ static void prompt_enter(const Arg *arg) { * on vis->win. */ switchmode_to(vis->mode_before_prompt); - if (s && *s && exec_command(vis->prompt_type, s) && running) + if (s && *s && exec_command(vis->prompt_type, s) && vis->running) switchmode(&(const Arg){ .i = VIS_MODE_NORMAL }); free(s); editor_draw(vis); @@ -981,7 +979,7 @@ static void insert_verbatim(const Arg *arg) { } static void quit(const Arg *arg) { - running = false; + vis->running = false; } static void cmd(const Arg *arg) { @@ -1910,8 +1908,9 @@ static void mainloop() { sigaddset(&blockset, SIGWINCH); sigprocmask(SIG_BLOCK, &blockset, NULL); editor_draw(vis); + vis->running = true; - while (running) { + while (vis->running) { fd_set fds; FD_ZERO(&fds); FD_SET(STDIN_FILENO, &fds);