From: NeilBrown Date: Tue, 8 Dec 2015 01:32:13 +0000 (+1100) Subject: Change Complete:prefix to return count directly. X-Git-Tag: lca2016~109 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=0706b6d48fc1fe9b5c6d94a550edd9ee4f336537;p=edlib.git Change Complete:prefix to return count directly. with an offset of '1' to avoid returning '0'. Signed-off-by: NeilBrown --- diff --git a/mode-emacs.c b/mode-emacs.c index 6f3c27ea..ca787d19 100644 --- a/mode-emacs.c +++ b/mode-emacs.c @@ -327,6 +327,7 @@ DEF_CMD(emacs_file_complete) int fd; struct pane *par, *pop, *docp; struct cmd_info ci2 = {0}; + int ret; d = str; while ((c = strstr(d, "//")) != NULL) @@ -359,9 +360,9 @@ DEF_CMD(emacs_file_complete) ci2.key = "Complete:prefix"; ci2.str = b; ci2.focus = par; - key_handle_focus(&ci2); + ret = key_handle_focus(&ci2); free(d); - if (ci2.str && (strlen(ci2.str) <= strlen(b) && ci2.extra > 1)) { + if (ci2.str && (strlen(ci2.str) <= strlen(b) && ret-1 > 1)) { /* We need the dropdown */ pane_damaged(par, DAMAGED_CONTENT); free(str); @@ -436,6 +437,7 @@ DEF_CMD(emacs_doc_complete) char *str = doc_getstr(ci->focus, NULL); struct pane *par, *pop; struct cmd_info ci2 = {0}; + int ret; pop = pane_attach(ci->focus, "popup", ed->docs->home, "DM1r"); if (!pop) @@ -449,8 +451,8 @@ DEF_CMD(emacs_doc_complete) ci2.key = "Complete:prefix"; ci2.str = str; ci2.focus = par; - key_handle_focus(&ci2); - if (ci2.str && (strlen(ci2.str) <= strlen(str) && ci2.extra > 1)) { + ret = key_handle_focus(&ci2); + if (ci2.str && (strlen(ci2.str) <= strlen(str) && ret - 1 > 1)) { /* We need the dropdown */ pane_damaged(par, DAMAGED_CONTENT); free(str); diff --git a/render-complete.c b/render-complete.c index 7cf4440b..2405f21d 100644 --- a/render-complete.c +++ b/render-complete.c @@ -257,12 +257,11 @@ DEF_CMD(complete_set_prefix) common[common_len(c, common)] = 0; cnt += 1; } - ci->extra = cnt; ci->str = common; call3("Move-to", ci->home, 0, m); mark_free(m); call3("render-lines:redraw", ci->focus, 0, NULL); - return 1; + return cnt + 1; } DEF_CMD(complete_return)