From: NeilBrown Date: Fri, 8 Sep 2023 07:36:05 +0000 (+1000) Subject: linefilter: switch to embedded-data pattern. X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=f9929ca26a90497640092e268b95423394888a42;p=edlib.git linefilter: switch to embedded-data pattern. Signed-off-by: NeilBrown --- diff --git a/lib-linefilter.c b/lib-linefilter.c index 30fbee6a..cfdcdee0 100644 --- a/lib-linefilter.c +++ b/lib-linefilter.c @@ -22,6 +22,7 @@ #include #include #include +#define PANE_DATA_TYPE struct filter_data #include "core.h" #include "misc.h" @@ -34,6 +35,7 @@ struct filter_data { bool explicit_set; bool implicit_set; }; +#include "core-pane.h" struct rlcb { struct command c; @@ -523,7 +525,6 @@ static void filter_register_map(void) filter_map = key_alloc(); key_add(filter_map, "doc:render-line", &render_filter_line); key_add(filter_map, "doc:render-line-prev", &render_filter_prev); - key_add(filter_map, "Free", &edlib_do_free); key_add(filter_map, "Clone", &filter_clone); key_add(filter_map, "doc:EOL", &filter_eol); key_add(filter_map, "Filter:set", &filter_changed); @@ -537,16 +538,12 @@ static void filter_register_map(void) REDEF_CMD(filter_attach) { struct pane *filter; - struct filter_data *fd; filter_register_map(); - alloc(fd, pane); - filter = pane_register(ci->focus, 0, &filter_handle.c, fd); - if (!filter) { - unalloc(fd, pane); + filter = pane_register(ci->focus, 0, &filter_handle.c); + if (!filter) return Efail; - } pane_damaged(filter, DAMAGED_VIEW); call("doc:request:doc:replaced", filter);