]> git.neil.brown.name Git - edlib.git/commitdiff
Change Complete:prefix to return count directly.
authorNeilBrown <neil@brown.name>
Tue, 8 Dec 2015 01:32:13 +0000 (12:32 +1100)
committerNeilBrown <neil@brown.name>
Thu, 10 Dec 2015 02:54:09 +0000 (13:54 +1100)
with an offset of '1' to avoid returning '0'.

Signed-off-by: NeilBrown <neil@brown.name>
mode-emacs.c
render-complete.c

index 6f3c27ea2ed170c0e00bf7541973b43762fdb232..ca787d192fc6a75df3ad207fa6f1c05a5774dbee 100644 (file)
@@ -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);
index 7cf4440b93affb5f7b634d5d132b7b271c612b37..2405f21d138071f608094cd4f0abe12d128e561d 100644 (file)
@@ -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)