sync code with last improvements from OpenBSD
This commit is contained in:
parent
ab8d6e7bca
commit
aaee5ffc53
52 changed files with 584 additions and 229 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: cmd-run-shell.c,v 1.84 2022/06/02 21:19:32 nicm Exp $ */
|
||||
/* $OpenBSD: cmd-run-shell.c,v 1.85 2023/08/23 08:40:25 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009 Tiago Cunha <me@tiagocunha.org>
|
||||
|
@ -44,8 +44,9 @@ const struct cmd_entry cmd_run_shell_entry = {
|
|||
.name = "run-shell",
|
||||
.alias = "run",
|
||||
|
||||
.args = { "bd:Ct:", 0, 1, cmd_run_shell_args_parse },
|
||||
.usage = "[-bC] [-d delay] " CMD_TARGET_PANE_USAGE " [shell-command]",
|
||||
.args = { "bd:Ct:c:", 0, 2, cmd_run_shell_args_parse },
|
||||
.usage = "[-bC] [-c start-directory] [-d delay] " CMD_TARGET_PANE_USAGE
|
||||
" [shell-command]",
|
||||
|
||||
.target = { 't', CMD_FIND_PANE, CMD_FIND_CANFAIL },
|
||||
|
||||
|
@ -103,6 +104,7 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item)
|
|||
struct args *args = cmd_get_args(self);
|
||||
struct cmd_find_state *target = cmdq_get_target(item);
|
||||
struct cmd_run_shell_data *cdata;
|
||||
struct client *c = cmdq_get_client(item);
|
||||
struct client *tc = cmdq_get_target_client(item);
|
||||
struct session *s = target->s;
|
||||
struct window_pane *wp = target->wp;
|
||||
|
@ -137,7 +139,7 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item)
|
|||
cdata->wp_id = -1;
|
||||
|
||||
if (wait) {
|
||||
cdata->client = cmdq_get_client(item);
|
||||
cdata->client = c;
|
||||
cdata->item = item;
|
||||
} else {
|
||||
cdata->client = tc;
|
||||
|
@ -145,8 +147,10 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item)
|
|||
}
|
||||
if (cdata->client != NULL)
|
||||
cdata->client->references++;
|
||||
|
||||
cdata->cwd = xstrdup(server_client_get_cwd(cmdq_get_client(item), s));
|
||||
if (args_has(args, 'c'))
|
||||
cdata->cwd = xstrdup(args_get(args, 'c'));
|
||||
else
|
||||
cdata->cwd = xstrdup(server_client_get_cwd(c, s));
|
||||
|
||||
cdata->s = s;
|
||||
if (s != NULL)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: input.c,v 1.219 2023/08/08 08:21:29 nicm Exp $ */
|
||||
/* $OpenBSD: input.c,v 1.220 2023/08/23 08:30:07 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
|
@ -2248,10 +2248,13 @@ input_dcs_dispatch(struct input_ctx *ictx)
|
|||
|
||||
if (wp == NULL)
|
||||
return (0);
|
||||
if (ictx->flags & INPUT_DISCARD)
|
||||
if (ictx->flags & INPUT_DISCARD) {
|
||||
log_debug("%s: %zu bytes (discard)", __func__, len);
|
||||
return (0);
|
||||
allow_passthrough = options_get_number(wp->options,
|
||||
"allow-passthrough");
|
||||
}
|
||||
log_debug("%s: %zu bytes", __func__, len);
|
||||
|
||||
allow_passthrough = options_get_number(wp->options, "allow-passthrough");
|
||||
if (!allow_passthrough)
|
||||
return (0);
|
||||
log_debug("%s: \"%s\"", __func__, buf);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $OpenBSD: tmux.1,v 1.928 2023/08/17 14:10:28 nicm Exp $
|
||||
.\" $OpenBSD: tmux.1,v 1.929 2023/08/23 08:40:25 nicm Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
.\"
|
||||
|
@ -14,7 +14,7 @@
|
|||
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.Dd $Mdocdate: August 17 2023 $
|
||||
.Dd $Mdocdate: August 23 2023 $
|
||||
.Dt TMUX 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -6639,6 +6639,7 @@ option.
|
|||
.Tg run
|
||||
.It Xo Ic run-shell
|
||||
.Op Fl bC
|
||||
.Op Fl c Ar start-directory
|
||||
.Op Fl d Ar delay
|
||||
.Op Fl t Ar target-pane
|
||||
.Op Ar shell-command
|
||||
|
@ -6666,6 +6667,10 @@ waits for
|
|||
.Ar delay
|
||||
seconds before starting the command.
|
||||
If
|
||||
.Fl c
|
||||
is given, the current working directory is set to
|
||||
.Ar start-directory .
|
||||
If
|
||||
.Fl C
|
||||
is not given, any output to stdout is displayed in view mode (in the pane
|
||||
specified by
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue