version 1.83, 2020/04/13 10:59:58 |
version 1.84, 2020/04/13 13:32:09 |
|
|
|
|
#include "tmux.h" |
#include "tmux.h" |
|
|
|
/* Command queue flags. */ |
|
#define CMDQ_FIRED 0x1 |
|
#define CMDQ_WAITING 0x2 |
|
|
/* Command queue item type. */ |
/* Command queue item type. */ |
enum cmdq_type { |
enum cmdq_type { |
CMDQ_COMMAND, |
CMDQ_COMMAND, |
|
|
struct options_array_item *a; |
struct options_array_item *a; |
struct cmd_list *cmdlist; |
struct cmd_list *cmdlist; |
|
|
if (item->flags & CMDQ_NOHOOKS) |
if (item->shared->flags & CMDQ_SHARED_NOHOOKS) |
return; |
return; |
if (s == NULL) |
if (s == NULL) |
oo = global_s_options; |
oo = global_s_options; |
|
|
continue; |
continue; |
} |
} |
|
|
new_item = cmdq_get_command(cmdlist, fs, NULL, CMDQ_NOHOOKS); |
new_item = cmdq_get_command(cmdlist, fs, NULL, |
|
CMDQ_SHARED_NOHOOKS); |
cmdq_format(new_item, "hook", "%s", name); |
cmdq_format(new_item, "hook", "%s", name); |
if (item != NULL) |
if (item != NULL) |
item = cmdq_insert_after(item, new_item); |
item = cmdq_insert_after(item, new_item); |
|
|
cmd_find_clear_state(&shared->current, 0); |
cmd_find_clear_state(&shared->current, 0); |
if (m != NULL) |
if (m != NULL) |
memcpy(&shared->mouse, m, sizeof shared->mouse); |
memcpy(&shared->mouse, m, sizeof shared->mouse); |
|
shared->flags = flags; |
last_group = group; |
last_group = group; |
} |
} |
entry = cmd_get_entry(cmd); |
entry = cmd_get_entry(cmd); |
|
|
item = xcalloc(1, sizeof *item); |
item = xcalloc(1, sizeof *item); |
xasprintf(&item->name, "[%s/%p]", entry->name, item); |
xasprintf(&item->name, "[%s/%p]", entry->name, item); |
item->type = CMDQ_COMMAND; |
item->type = CMDQ_COMMAND; |
|
|
item->group = group; |
item->group = group; |
item->flags = flags; |
|
|
|
item->shared = shared; |
item->shared = shared; |
item->cmdlist = cmdlist; |
item->cmdlist = cmdlist; |
|
|
item = xcalloc(1, sizeof *item); |
item = xcalloc(1, sizeof *item); |
xasprintf(&item->name, "[%s/%p]", name, item); |
xasprintf(&item->name, "[%s/%p]", name, item); |
item->type = CMDQ_CALLBACK; |
item->type = CMDQ_CALLBACK; |
|
|
item->group = 0; |
item->group = 0; |
item->flags = 0; |
|
|
|
item->cb = cb; |
item->cb = cb; |
item->data = data; |
item->data = data; |