]> git.neil.brown.name Git - edlib.git/commitdiff
Introduce PANE_DATA_VOID
authorNeilBrown <neil@brown.name>
Thu, 14 Sep 2023 11:38:06 +0000 (21:38 +1000)
committerNeilBrown <neil@brown.name>
Fri, 15 Sep 2023 03:38:14 +0000 (13:38 +1000)
This is for panes that don't have any data.

Signed-off-by: NeilBrown <neil@brown.name>
core.h
doc-dir.c
doc-docs.c
lib-autosave.c
lib-base64.c
lib-menu.c
lib-qprint.c
lib-test-markup.c
lib-utf8.c
render-format.c

diff --git a/core.h b/core.h
index 9a18a7e66feaeb05d2f2178b8acee8b6283a6786..8a6fbc084c4b6cb52bc01dcad93640d62d225ed8 100644 (file)
--- a/core.h
+++ b/core.h
@@ -471,10 +471,14 @@ static inline struct pane *pane_register(struct pane *parent safe, short z,
        return do_pane_register(parent, z, handle, (void*)data, sizeof(data));
 }
 #else
+#ifdef PANE_DATA_VOID
+#define pane_register3(p,z,h) do_pane_register(p,z,h,NULL, 0)
+#else
 #define pane_register4(p,z,h,d) do_pane_register(p,z,h,d,sizeof((d)[0]))
 #define pane_register3(p,z,h) do_pane_register(p,z,h,NULL, 0)
 #endif
 #endif
+#endif
 
 #ifdef PANE_DATA_TYPE_2
 #define pane_register_2(p,z,h) do_pane_register(p,z,h,NULL, sizeof(PANE_DATA_TYPE_2))
@@ -487,6 +491,9 @@ static inline struct pane *pane_register_2(struct pane *parent safe, short z,
        return do_pane_register(parent, z, handle, (void*)data, sizeof(data));
 }
 #endif
+#ifdef PANE_DATA_VOID_2
+#define pane_register_2(p,z,h) do_pane_register(p,z,h,NULL, 0)
+#endif
 
 #ifdef PANE_DATA_TYPE_3
 #define pane_register_3(p,z,h) do_pane_register(p,z,h,NULL, sizeof(PANE_DATA_TYPE_3))
@@ -499,6 +506,9 @@ static inline struct pane *pane_register_3(struct pane *parent safe, short z,
        return do_pane_register(parent, z, handle, (void*)data, sizeof(data));
 }
 #endif
+#ifdef PANE_DATA_VOID_3
+#define pane_register_3(p,z,h) do_pane_register(p,z,h,NULL, 0)
+#endif
 
 void pane_update_handle(struct pane *p safe, struct command *handle safe);
 
index 988a87837763a82eed6541fb8bf6e1e6a9e32acf..e03eb04e8a06dcaa0d16d090f4f2d73811597884 100644 (file)
--- a/doc-dir.c
+++ b/doc-dir.c
@@ -51,6 +51,8 @@ struct doc_ref {
 #define DOC_DATA_TYPE struct directory
 #define DOC_NEXT(d,m,r,b) dir_next(d,r,b)
 #define DOC_PREV(d,m,r,b) dir_prev(d,r,b)
+
+#define PANE_DATA_VOID
 #include "core.h"
 
 struct dir_ent {
index 299a5b1a86b311206fab40c68dd99d1f5a52fa34..68cde8d48cafce77e9789784de2ba02bdc0a1697 100644 (file)
@@ -49,6 +49,7 @@ struct doc_ref {
 #define DOC_PREV(d,m,r,b) docs_prev(d,r,b)
 
 #define PANE_DATA_PTR_TYPE struct pane *
+#define PANE_DATA_VOID_2
 #include "core.h"
 
 static struct map *docs_map, *docs_aux_map, *docs_modified_map,
@@ -377,7 +378,7 @@ DEF_CMD(docs_callback_modified)
                return Efail;
        attr_set_str(&p->attrs, "filter:attr", "doc-can-save");
        attr_set_str(&p->attrs, "filter:match", "yes");
-       p = pane_register(p, 0, &docs_modified_handle.c, NULL);
+       p = pane_register_2(p, 0, &docs_modified_handle.c);
        if (!p)
                return Efail;
        attr_set_str(&p->attrs, "doc-name", "*Modified Documents*");
index 313a0c0df15e61b356ae79777ea83919022a6833..c22cc124c3a57e0343002592ed22f0b1304202a9 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <unistd.h>
 #include <dirent.h>
+#define PANE_DATA_VOID
 #include "core.h"
 
 /*
index a8f149c72f2715ef0ad531c49fd6e0dd563b36f6..ee85f48bb72dce14cbe6b4348e8817f1e77e1e48 100644 (file)
@@ -25,6 +25,7 @@
 #define DOC_NEXT base64_next
 #define DOC_PREV base64_prev
 
+#define PANE_DATA_VOID
 #include "core.h"
 
 static struct map *b64_map safe;
index 41c3cb5857875690c497bfaf60c0f61b1743d031..ff8ed21bac6d5817a2f3c309bb8409de38bbee4f 100644 (file)
@@ -18,6 +18,7 @@
  *
  */
 
+#define PANE_DATA_VOID
 #include "core.h"
 #include "misc.h"
 
index 6df48c653f731d72d422a9c3349120e9898084d6..01482bc4f155745e87c5b17e02b879fc0ee3a381 100644 (file)
@@ -22,6 +22,7 @@
 
 #define DOC_NEXT qp_next
 #define DOC_PREV qp_prev
+#define PANE_DATA_VOID
 #include "core.h"
 
 static struct map *qp_map safe;
index 25a870d1e45d9536abc6fee46129c9f039272a9d..ad1b74f5fc2cdb14d452008a9fbccb1192ca1dc1 100644 (file)
@@ -6,6 +6,7 @@
  * of the document as verbatim markup.  This is for testing only.
  */
 
+#define PANE_DATA_VOID
 #include "core.h"
 #include "misc.h"
 
index 8c47d85ad7056ce22f638afaf2ae25161d2e7854..2f25b6e9aa5039794b50dad17c6346c1a16367ec 100644 (file)
@@ -11,6 +11,7 @@
 
 #define DOC_NEXT utf8_next
 #define DOC_PREV utf8_prev
+#define PANE_DATA_VOID
 #include "core.h"
 
 static struct map *utf8_map safe;
index 241228f87fbff98ee7d70ffca7a0583615c22b5a..ccc412cf84270dc9fba17b36e7226432df680357 100644 (file)
 #include <stdio.h>
 
 #define PANE_DATA_TYPE struct rf_data
+#define PANE_DATA_VOID_2
 #define DOC_NEXT(p,m,r,b) format_next_prev(p, ci->focus, m, r, 1, b)
 #define DOC_PREV(p,m,r,b) format_next_prev(p, ci->focus, m, r, 0, b)
 #define DOC_NEXT_DECL(p,m,r,b) format_next_prev(p, struct pane *focus safe, m, r, int forward, b)
 #define DOC_PREV_DECL(p,m,r,b) format_next_prev(p, struct pane *focus safe, m, r, int forward, b)
+
 #include "core.h"
 #include "misc.h"
 
@@ -962,7 +964,7 @@ static struct pane *do_render_format_attach(struct pane *parent safe)
                if (!rf_map)
                        render_format_register_map();
 
-               p = pane_register(parent, 0, &render_format_handle.c, NULL);
+               p = pane_register_2(parent, 0, &render_format_handle.c);
        } else {
                if (!rf2_map)
                        render_format_register_map();