mirror of
https://github.com/tmux/tmux.git
synced 2024-12-25 02:48:47 +00:00
Merge branch 'obsd-master' into master
This commit is contained in:
commit
944fde7c57
14
arguments.c
14
arguments.c
@ -63,6 +63,17 @@ args_find(struct args *args, u_char flag)
|
|||||||
return (RB_FIND(args_tree, &args->tree, &entry));
|
return (RB_FIND(args_tree, &args->tree, &entry));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Create an empty arguments set. */
|
||||||
|
struct args *
|
||||||
|
args_create(void)
|
||||||
|
{
|
||||||
|
struct args *args;
|
||||||
|
|
||||||
|
args = xcalloc(1, sizeof *args);
|
||||||
|
RB_INIT(&args->tree);
|
||||||
|
return (args);
|
||||||
|
}
|
||||||
|
|
||||||
/* Parse an argv and argc into a new argument set. */
|
/* Parse an argv and argc into a new argument set. */
|
||||||
struct args *
|
struct args *
|
||||||
args_parse(const char *template, int argc, char **argv)
|
args_parse(const char *template, int argc, char **argv)
|
||||||
@ -70,12 +81,11 @@ args_parse(const char *template, int argc, char **argv)
|
|||||||
struct args *args;
|
struct args *args;
|
||||||
int opt;
|
int opt;
|
||||||
|
|
||||||
args = xcalloc(1, sizeof *args);
|
|
||||||
|
|
||||||
optreset = 1;
|
optreset = 1;
|
||||||
optind = 1;
|
optind = 1;
|
||||||
optarg = NULL;
|
optarg = NULL;
|
||||||
|
|
||||||
|
args = args_create();
|
||||||
while ((opt = getopt(argc, argv, template)) != -1) {
|
while ((opt = getopt(argc, argv, template)) != -1) {
|
||||||
if (opt < 0)
|
if (opt < 0)
|
||||||
continue;
|
continue;
|
||||||
|
@ -48,7 +48,7 @@ cmd_find_window_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
struct cmd_find_state *target = cmdq_get_target(item);
|
struct cmd_find_state *target = cmdq_get_target(item);
|
||||||
struct window_pane *wp = target->wp;
|
struct window_pane *wp = target->wp;
|
||||||
const char *s = args->argv[0], *suffix = "";
|
const char *s = args->argv[0], *suffix = "";
|
||||||
char *filter, *argv = { NULL };
|
char *filter;
|
||||||
int C, N, T;
|
int C, N, T;
|
||||||
|
|
||||||
C = args_has(args, 'C');
|
C = args_has(args, 'C');
|
||||||
@ -91,7 +91,7 @@ cmd_find_window_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
else
|
else
|
||||||
xasprintf(&filter, "#{m%s:*%s*,#{pane_title}}", suffix, s);
|
xasprintf(&filter, "#{m%s:*%s*,#{pane_title}}", suffix, s);
|
||||||
|
|
||||||
new_args = args_parse("", 1, &argv);
|
new_args = args_create();
|
||||||
if (args_has(args, 'Z'))
|
if (args_has(args, 'Z'))
|
||||||
args_set(new_args, 'Z', NULL);
|
args_set(new_args, 'Z', NULL);
|
||||||
args_set(new_args, 'f', filter);
|
args_set(new_args, 'f', filter);
|
||||||
|
@ -211,7 +211,7 @@ cmd_list_keys_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
|
|
||||||
repeat = 0;
|
repeat = 0;
|
||||||
tablewidth = keywidth = 0;
|
tablewidth = keywidth = 0;
|
||||||
table = key_bindings_first_table ();
|
table = key_bindings_first_table();
|
||||||
while (table != NULL) {
|
while (table != NULL) {
|
||||||
if (tablename != NULL && strcmp(table->name, tablename) != 0) {
|
if (tablename != NULL && strcmp(table->name, tablename) != 0) {
|
||||||
table = key_bindings_next_table(table);
|
table = key_bindings_next_table(table);
|
||||||
@ -243,8 +243,7 @@ cmd_list_keys_exec(struct cmd *self, struct cmdq_item *item)
|
|||||||
|
|
||||||
tmpsize = 256;
|
tmpsize = 256;
|
||||||
tmp = xmalloc(tmpsize);
|
tmp = xmalloc(tmpsize);
|
||||||
|
table = key_bindings_first_table();
|
||||||
table = key_bindings_first_table ();
|
|
||||||
while (table != NULL) {
|
while (table != NULL) {
|
||||||
if (tablename != NULL && strcmp(table->name, tablename) != 0) {
|
if (tablename != NULL && strcmp(table->name, tablename) != 0) {
|
||||||
table = key_bindings_next_table(table);
|
table = key_bindings_next_table(table);
|
||||||
|
7
format.c
7
format.c
@ -4078,8 +4078,7 @@ format_replace(struct format_expand_state *es, const char *key, size_t keylen,
|
|||||||
case 's':
|
case 's':
|
||||||
if (fm->argc < 2)
|
if (fm->argc < 2)
|
||||||
break;
|
break;
|
||||||
sub = xreallocarray (sub, nsub + 1,
|
sub = xreallocarray(sub, nsub + 1, sizeof *sub);
|
||||||
sizeof *sub);
|
|
||||||
sub[nsub++] = fm;
|
sub[nsub++] = fm;
|
||||||
break;
|
break;
|
||||||
case '=':
|
case '=':
|
||||||
@ -4188,7 +4187,7 @@ format_replace(struct format_expand_state *es, const char *key, size_t keylen,
|
|||||||
value = xstrdup("");
|
value = xstrdup("");
|
||||||
else
|
else
|
||||||
xasprintf(&value, "%c", c);
|
xasprintf(&value, "%c", c);
|
||||||
free (new);
|
free(new);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4752,7 +4751,7 @@ format_defaults(struct format_tree *ft, struct client *c, struct session *s,
|
|||||||
if (wp != NULL)
|
if (wp != NULL)
|
||||||
format_defaults_pane(ft, wp);
|
format_defaults_pane(ft, wp);
|
||||||
|
|
||||||
pb = paste_get_top (NULL);
|
pb = paste_get_top(NULL);
|
||||||
if (pb != NULL)
|
if (pb != NULL)
|
||||||
format_defaults_paste_buffer(ft, pb);
|
format_defaults_paste_buffer(ft, pb);
|
||||||
}
|
}
|
||||||
|
@ -333,7 +333,7 @@ input_key_cmp(struct input_key_entry *ike1, struct input_key_entry *ike2)
|
|||||||
|
|
||||||
/* Look for key in tree. */
|
/* Look for key in tree. */
|
||||||
static struct input_key_entry *
|
static struct input_key_entry *
|
||||||
input_key_get (key_code key)
|
input_key_get(key_code key)
|
||||||
{
|
{
|
||||||
struct input_key_entry entry = { .key = key };
|
struct input_key_entry entry = { .key = key };
|
||||||
|
|
||||||
|
@ -922,7 +922,7 @@ mode_tree_menu_callback(__unused struct menu *menu, __unused u_int idx,
|
|||||||
if (mti->itemdata != mtm->itemdata)
|
if (mti->itemdata != mtm->itemdata)
|
||||||
goto out;
|
goto out;
|
||||||
mtd->current = mtm->line;
|
mtd->current = mtm->line;
|
||||||
mtd->menucb (mtd->modedata, mtm->c, key);
|
mtd->menucb(mtd->modedata, mtm->c, key);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
mode_tree_remove_ref(mtd);
|
mode_tree_remove_ref(mtd);
|
||||||
|
2
names.c
2
names.c
@ -146,7 +146,7 @@ parse_window_name(const char *in)
|
|||||||
name = copy = xstrdup(in);
|
name = copy = xstrdup(in);
|
||||||
if (*name == '"')
|
if (*name == '"')
|
||||||
name++;
|
name++;
|
||||||
name[strcspn (name, "\"")] = '\0';
|
name[strcspn(name, "\"")] = '\0';
|
||||||
|
|
||||||
if (strncmp(name, "exec ", (sizeof "exec ") - 1) == 0)
|
if (strncmp(name, "exec ", (sizeof "exec ") - 1) == 0)
|
||||||
name = name + (sizeof "exec ") - 1;
|
name = name + (sizeof "exec ") - 1;
|
||||||
|
2
screen.c
2
screen.c
@ -697,6 +697,6 @@ screen_mode_to_string(int mode)
|
|||||||
strlcat(tmp, "CRLF,", sizeof tmp);
|
strlcat(tmp, "CRLF,", sizeof tmp);
|
||||||
if (mode & MODE_KEXTENDED)
|
if (mode & MODE_KEXTENDED)
|
||||||
strlcat(tmp, "KEXTENDED,", sizeof tmp);
|
strlcat(tmp, "KEXTENDED,", sizeof tmp);
|
||||||
tmp[strlen (tmp) - 1] = '\0';
|
tmp[strlen(tmp) - 1] = '\0';
|
||||||
return (tmp);
|
return (tmp);
|
||||||
}
|
}
|
||||||
|
@ -2379,7 +2379,7 @@ server_client_set_flags(struct client *c, const char *flags)
|
|||||||
uint64_t flag;
|
uint64_t flag;
|
||||||
int not;
|
int not;
|
||||||
|
|
||||||
s = copy = xstrdup (flags);
|
s = copy = xstrdup(flags);
|
||||||
while ((next = strsep(&s, ",")) != NULL) {
|
while ((next = strsep(&s, ",")) != NULL) {
|
||||||
not = (*next == '!');
|
not = (*next == '!');
|
||||||
if (not)
|
if (not)
|
||||||
|
4
status.c
4
status.c
@ -1413,7 +1413,7 @@ process_key:
|
|||||||
break;
|
break;
|
||||||
if (c->prompt_buffer[0].size == 0) {
|
if (c->prompt_buffer[0].size == 0) {
|
||||||
prefix = '=';
|
prefix = '=';
|
||||||
free (c->prompt_buffer);
|
free(c->prompt_buffer);
|
||||||
c->prompt_buffer = utf8_fromcstr(c->prompt_last);
|
c->prompt_buffer = utf8_fromcstr(c->prompt_last);
|
||||||
c->prompt_index = utf8_strlen(c->prompt_buffer);
|
c->prompt_index = utf8_strlen(c->prompt_buffer);
|
||||||
} else
|
} else
|
||||||
@ -1424,7 +1424,7 @@ process_key:
|
|||||||
break;
|
break;
|
||||||
if (c->prompt_buffer[0].size == 0) {
|
if (c->prompt_buffer[0].size == 0) {
|
||||||
prefix = '=';
|
prefix = '=';
|
||||||
free (c->prompt_buffer);
|
free(c->prompt_buffer);
|
||||||
c->prompt_buffer = utf8_fromcstr(c->prompt_last);
|
c->prompt_buffer = utf8_fromcstr(c->prompt_last);
|
||||||
c->prompt_index = utf8_strlen(c->prompt_buffer);
|
c->prompt_index = utf8_strlen(c->prompt_buffer);
|
||||||
} else
|
} else
|
||||||
|
1
tmux.h
1
tmux.h
@ -2183,6 +2183,7 @@ int tty_keys_next(struct tty *);
|
|||||||
|
|
||||||
/* arguments.c */
|
/* arguments.c */
|
||||||
void args_set(struct args *, u_char, const char *);
|
void args_set(struct args *, u_char, const char *);
|
||||||
|
struct args *args_create(void);
|
||||||
struct args *args_parse(const char *, int, char **);
|
struct args *args_parse(const char *, int, char **);
|
||||||
void args_free(struct args *);
|
void args_free(struct args *);
|
||||||
char *args_print(struct args *);
|
char *args_print(struct args *);
|
||||||
|
@ -2226,7 +2226,7 @@ window_copy_cmd_search_backward_incremental(struct window_copy_cmd_state *cs)
|
|||||||
|
|
||||||
data->timeout = 0;
|
data->timeout = 0;
|
||||||
|
|
||||||
log_debug ("%s: %s", __func__, argument);
|
log_debug("%s: %s", __func__, argument);
|
||||||
|
|
||||||
prefix = *argument++;
|
prefix = *argument++;
|
||||||
if (data->searchx == -1 || data->searchy == -1) {
|
if (data->searchx == -1 || data->searchy == -1) {
|
||||||
@ -2281,7 +2281,7 @@ window_copy_cmd_search_forward_incremental(struct window_copy_cmd_state *cs)
|
|||||||
|
|
||||||
data->timeout = 0;
|
data->timeout = 0;
|
||||||
|
|
||||||
log_debug ("%s: %s", __func__, argument);
|
log_debug("%s: %s", __func__, argument);
|
||||||
|
|
||||||
prefix = *argument++;
|
prefix = *argument++;
|
||||||
if (data->searchx == -1 || data->searchy == -1) {
|
if (data->searchx == -1 || data->searchy == -1) {
|
||||||
@ -2859,7 +2859,7 @@ window_copy_command(struct window_mode_entry *wme, struct client *c,
|
|||||||
args->argc - 1 > window_copy_cmd_table[i].maxargs)
|
args->argc - 1 > window_copy_cmd_table[i].maxargs)
|
||||||
break;
|
break;
|
||||||
clear = window_copy_cmd_table[i].clear;
|
clear = window_copy_cmd_table[i].clear;
|
||||||
action = window_copy_cmd_table[i].f (&cs);
|
action = window_copy_cmd_table[i].f(&cs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
window.c
2
window.c
@ -931,6 +931,8 @@ window_pane_create(struct window *w, u_int sx, u_int sy, u_int hlimit)
|
|||||||
wp->pipe_fd = -1;
|
wp->pipe_fd = -1;
|
||||||
|
|
||||||
colour_palette_init(&wp->palette);
|
colour_palette_init(&wp->palette);
|
||||||
|
colour_palette_from_option(&wp->palette, wp->options);
|
||||||
|
|
||||||
screen_init(&wp->base, sx, sy, hlimit);
|
screen_init(&wp->base, sx, sy, hlimit);
|
||||||
wp->screen = &wp->base;
|
wp->screen = &wp->base;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user