]> git.neil.brown.name Git - edlib.git/commitdiff
markup: switch to embedded-data pattern
authorNeilBrown <neil@brown.name>
Fri, 8 Sep 2023 07:37:28 +0000 (17:37 +1000)
committerNeilBrown <neil@brown.name>
Fri, 8 Sep 2023 07:37:28 +0000 (17:37 +1000)
Signed-off-by: NeilBrown <neil@brown.name>
lib-markup.c

index 574b4cebfe059aea5f67f9f3fdd58e8ebb5df67f..0c8f51b3d41aa78ac8a0e310107ff6ad3b40da30 100644 (file)
 #include <string.h>
 
 #include <stdio.h>
-
+#define PANE_DATA_TYPE struct mu_info
 #include "core.h"
 #include "misc.h"
 
 struct mu_info {
        int     view;
 };
+#include "core-pane.h"
 
 static struct map *mu_map safe;
 
@@ -466,10 +467,10 @@ static struct pane *do_markup_attach(struct pane *p safe)
        struct pane *ret;
        struct mu_info *mu;
 
-       alloc(mu, pane);
-       ret = pane_register(p, 0, &markup_handle.c, mu);
+       ret = pane_register(p, 0, &markup_handle.c);
        if (!ret)
                return NULL;
+       mu = ret->data;
        mu->view = home_call(p, "doc:add-view", ret) - 1;
 
        return ret;
@@ -509,7 +510,6 @@ void edlib_init(struct pane *ed safe)
        key_add(mu_map, "doc:render-line", &render_line);
        key_add(mu_map, "doc:render-line-prev", &render_prev);
        key_add(mu_map, "Clone", &mu_clone);
-       key_add(mu_map, "Free", &edlib_do_free);
        key_add(mu_map, "Notify:clip", &mu_clip);
 
        call_comm("global-set-command", ed, &markup_attach,