mirror of
https://github.com/tmux/tmux.git
synced 2025-01-12 03:08:46 +00:00
Merge branch 'obsd-master'
This commit is contained in:
commit
eb215d3d3f
@ -33,8 +33,9 @@ const struct cmd_entry cmd_send_keys_entry = {
|
|||||||
.name = "send-keys",
|
.name = "send-keys",
|
||||||
.alias = "send",
|
.alias = "send",
|
||||||
|
|
||||||
.args = { "HlXRMN:t:", 0, -1 },
|
.args = { "FHlMN:Rt:X", 0, -1 },
|
||||||
.usage = "[-HlXRM] [-N repeat-count] " CMD_TARGET_PANE_USAGE " key ...",
|
.usage = "[-FHlMRX] [-N repeat-count] " CMD_TARGET_PANE_USAGE
|
||||||
|
" key ...",
|
||||||
|
|
||||||
.target = { 't', CMD_FIND_PANE, 0 },
|
.target = { 't', CMD_FIND_PANE, 0 },
|
||||||
|
|
||||||
|
6
tmux.1
6
tmux.1
@ -2677,7 +2677,7 @@ With
|
|||||||
only
|
only
|
||||||
.Ar key-table .
|
.Ar key-table .
|
||||||
.It Xo Ic send-keys
|
.It Xo Ic send-keys
|
||||||
.Op Fl HlMRX
|
.Op Fl FHlMRX
|
||||||
.Op Fl N Ar repeat-count
|
.Op Fl N Ar repeat-count
|
||||||
.Op Fl t Ar target-pane
|
.Op Fl t Ar target-pane
|
||||||
.Ar key Ar ...
|
.Ar key Ar ...
|
||||||
@ -2716,7 +2716,9 @@ the
|
|||||||
.Sx WINDOWS AND PANES
|
.Sx WINDOWS AND PANES
|
||||||
section.
|
section.
|
||||||
.Fl N
|
.Fl N
|
||||||
specifies a repeat count.
|
specifies a repeat count and
|
||||||
|
.Fl F
|
||||||
|
expands formats in arguments where appropriate.
|
||||||
.It Xo Ic send-prefix
|
.It Xo Ic send-prefix
|
||||||
.Op Fl 2
|
.Op Fl 2
|
||||||
.Op Fl t Ar target-pane
|
.Op Fl t Ar target-pane
|
||||||
|
@ -1673,12 +1673,24 @@ window_copy_cmd_search_backward(struct window_copy_cmd_state *cs)
|
|||||||
struct window_copy_mode_data *data = wme->data;
|
struct window_copy_mode_data *data = wme->data;
|
||||||
u_int np = wme->prefix;
|
u_int np = wme->prefix;
|
||||||
const char *argument;
|
const char *argument;
|
||||||
|
char *expanded;
|
||||||
|
|
||||||
if (cs->args->argc == 2) {
|
if (cs->args->argc == 2) {
|
||||||
argument = cs->args->argv[1];
|
argument = cs->args->argv[1];
|
||||||
if (*argument != '\0') {
|
if (*argument != '\0') {
|
||||||
free(data->searchstr);
|
if (args_has(cs->args, 'F')) {
|
||||||
data->searchstr = xstrdup(argument);
|
expanded = format_single(NULL, argument, NULL,
|
||||||
|
NULL, NULL, wme->wp);
|
||||||
|
if (*expanded == '\0') {
|
||||||
|
free(expanded);
|
||||||
|
return (WINDOW_COPY_CMD_NOTHING);
|
||||||
|
}
|
||||||
|
free(data->searchstr);
|
||||||
|
data->searchstr = expanded;
|
||||||
|
} else {
|
||||||
|
free(data->searchstr);
|
||||||
|
data->searchstr = xstrdup(argument);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (data->searchstr != NULL) {
|
if (data->searchstr != NULL) {
|
||||||
@ -1696,12 +1708,24 @@ window_copy_cmd_search_forward(struct window_copy_cmd_state *cs)
|
|||||||
struct window_copy_mode_data *data = wme->data;
|
struct window_copy_mode_data *data = wme->data;
|
||||||
u_int np = wme->prefix;
|
u_int np = wme->prefix;
|
||||||
const char *argument;
|
const char *argument;
|
||||||
|
char *expanded;
|
||||||
|
|
||||||
if (cs->args->argc == 2) {
|
if (cs->args->argc == 2) {
|
||||||
argument = cs->args->argv[1];
|
argument = cs->args->argv[1];
|
||||||
if (*argument != '\0') {
|
if (*argument != '\0') {
|
||||||
free(data->searchstr);
|
if (args_has(cs->args, 'F')) {
|
||||||
data->searchstr = xstrdup(argument);
|
expanded = format_single(NULL, argument, NULL,
|
||||||
|
NULL, NULL, wme->wp);
|
||||||
|
if (*expanded == '\0') {
|
||||||
|
free(expanded);
|
||||||
|
return (WINDOW_COPY_CMD_NOTHING);
|
||||||
|
}
|
||||||
|
free(data->searchstr);
|
||||||
|
data->searchstr = expanded;
|
||||||
|
} else {
|
||||||
|
free(data->searchstr);
|
||||||
|
data->searchstr = xstrdup(argument);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (data->searchstr != NULL) {
|
if (data->searchstr != NULL) {
|
||||||
|
Loading…
Reference in New Issue
Block a user