vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
commit e44224140389a00b58b1f36b5703314ac7f85c6d parent 6aa3898119038d02623926374a9d43b38d8fbe78 Author: Marc André Tanner <mat@brain-dump.org> Date: Mon, 28 Mar 2016 23:04:18 +0200 view: add return value to view_cursors_dispose indicating whether cursor could be removed Diffstat:
| M | view.c | | | 15 | ++++++++------- |
| M | view.h | | | 2 | +- |
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/view.c b/view.c @@ -1183,15 +1183,16 @@ static void view_cursors_free(Cursor *c) { free(c); } -void view_cursors_dispose(Cursor *c) { +bool view_cursors_dispose(Cursor *c) { if (!c) - return; + return false; View *view = c->view; - if (view->cursors && view->cursors->next) { - view_selections_free(c->sel); - view_cursors_free(c); - view_draw(view); - } + if (!view->cursors || !view->cursors->next) + return false; + view_selections_free(c->sel); + view_cursors_free(c); + view_cursors_primary_set(view->cursor); + return true; } Cursor *view_cursors(View *view) { diff --git a/view.h b/view.h @@ -127,7 +127,7 @@ int view_cursors_count(View*); bool view_cursors_multiple(View*); /* dispose an existing cursor with its associated selection (if any), * not applicaple for the last existing cursor */ -void view_cursors_dispose(Cursor*); +bool view_cursors_dispose(Cursor*); /* only keep the main cursor, release all others together with their * selections (if any) */ void view_cursors_clear(View*);