}
#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))
+#endif
+#ifdef PANE_DATA_PTR_TYPE_3
+static inline struct pane *pane_register_3(struct pane *parent safe, short z,
+ struct command *handle safe,
+ PANE_DATA_PTR_TYPE_3 data)
+{
+ return do_pane_register(parent, z, handle, (void*)data, sizeof(data));
+}
+#endif
+
void pane_update_handle(struct pane *p safe, struct command *handle safe);
#include <string.h>
#define PANE_DATA_TYPE struct es_info
#define PANE_DATA_TYPE_2 struct highlight_info
+#define PANE_DATA_PTR_TYPE_3 struct pane *
#include "core.h"
#include "rexel.h"
attr_set_str(&p->attrs, "status-line", " Replacement ");
call("doc:set-name", p, 0, NULL, "Replacement");
- p = pane_register(p, 0, &replace_handle.c, ci->focus);
+ p = pane_register_3(p, 0, &replace_handle.c, ci->focus);
if (!p)
return Efail;
p = call_ret(pane, "attach-history", p, 0, NULL, "*Replace History*");
DEF_CMD(replace_request_next)
{
- struct pane *sp = ci->home->_data;
+ struct pane *sp = ci->home->data3;
char *new;
new = call_ret(str, "doc:get-str", ci->focus);
DEF_CMD(replace_request)
{
- struct pane *sp = ci->home->_data;
+ struct pane *sp = ci->home->data3;
char *new;
new = call_ret(str, "doc:get-str", ci->focus);
DEF_CMD(replace_all)
{
- struct pane *sp = ci->home->_data;
+ struct pane *sp = ci->home->data3;
char *new;
int replaced = 0;
DEF_CMD(replace_to_search)
{
- struct pane *sp = ci->home->_data;
+ struct pane *sp = ci->home->data3;
pane_take_focus(sp);
return 1;
DEF_CMD(replace_forward)
{
- struct pane *sp = ci->home->_data;
+ struct pane *sp = ci->home->data3;
call(ci->key, sp);
DEF_CMD(replace_escape)
{
- struct pane *sp = ci->home->_data;
+ struct pane *sp = ci->home->data3;
return call("search:done", sp);
}
DEF_CMD(replace_prev)
{
- struct pane *home = ci->home->_data;
+ struct pane *home = ci->home->data3;
struct es_info *esi = home->data;
if (esi->target)
DEF_CMD(replace_next)
{
- struct pane *home = ci->home->_data;
+ struct pane *home = ci->home->data3;
struct es_info *esi = home->data;
if (esi->target)