]> git.neil.brown.name Git - edlib.git/commitdiff
use doc_get_pane to find document in search functions.
authorNeilBrown <neil@brown.name>
Fri, 27 Nov 2015 00:02:57 +0000 (11:02 +1100)
committerNeilBrown <neil@brown.name>
Fri, 27 Nov 2015 00:02:57 +0000 (11:02 +1100)
..because I don't want point to hold the doc anymore.

Signed-off-by: NeilBrown <neil@brown.name>
emacs-search.c

index ae93a104776d0bfa6b2132630d1ea79b1f775f9f..9c8c330b68aa37cba2f3d0003ed3de0158e3630a 100644 (file)
@@ -42,11 +42,15 @@ DEF_CMD(search_again);
 DEF_CMD(search_forward)
 {
        struct es_info *esi = ci->home->data;
-       struct doc *d = esi->end->doc;
+       struct pane *dp = doc_get_pane(esi->target);
+       struct doc *d = dp ? dp->data : NULL;
        struct stk *s;
        char *str;
        bool first = 1;
 
+       if (!d)
+               return -1;
+
        if (esi->s && mark_same(d, esi->s->m, &esi->end->m)) {
                /* already pushed and didn't find anything new */
                return 1;
@@ -96,11 +100,14 @@ DEF_CMD(search_retreat)
 DEF_CMD(search_add)
 {
        struct es_info *esi = ci->home->data;
-       struct doc *d = esi->end->doc;
+       struct pane *dp = doc_get_pane(esi->target);
+       struct doc *d = dp ? dp->data : NULL;
        wint_t wch;
        char b[5];
        struct cmd_info ci2 = {0};
 
+       if (!d)
+               return -1;
        do {
                /* TEMP HACK - please fix */
                doc_set_attr(esi->target, esi->end, "highlight", NULL);