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:
Mview.c | 15++++++++-------
Mview.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*);