diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2017-03-09 15:39:36 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2017-03-09 15:39:36 +0000 |
commit | 180ebf02081087eec625a25c785985f5d6b5eff4 (patch) | |
tree | 7d995692ed6007c747da0caa2b189aadfac91917 /cmd-run-shell.c | |
parent | 514a723f7489123371bded176355ead48f338ae0 (diff) | |
parent | 92434b0afdf9cf04f1067c4e782b3132002b267a (diff) | |
download | rtmux-180ebf02081087eec625a25c785985f5d6b5eff4.tar.gz rtmux-180ebf02081087eec625a25c785985f5d6b5eff4.tar.bz2 rtmux-180ebf02081087eec625a25c785985f5d6b5eff4.zip |
Merge branch 'master' of github.com:tmux/tmux
Diffstat (limited to 'cmd-run-shell.c')
-rw-r--r-- | cmd-run-shell.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/cmd-run-shell.c b/cmd-run-shell.c index e6cd7936..d06d7f99 100644 --- a/cmd-run-shell.c +++ b/cmd-run-shell.c @@ -86,11 +86,10 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item) { struct args *args = self->args; struct cmd_run_shell_data *cdata; - char *shellcmd; + struct client *c = item->state.c; struct session *s = item->state.tflag.s; struct winlink *wl = item->state.tflag.wl; struct window_pane *wp = item->state.tflag.wp; - struct format_tree *ft; const char *cwd; if (item->client != NULL && item->client->session == NULL) @@ -100,13 +99,8 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item) else cwd = NULL; - ft = format_create(item, FORMAT_NONE, 0); - format_defaults(ft, item->state.c, s, wl, wp); - shellcmd = format_expand(ft, args->argv[0]); - format_free(ft); - cdata = xcalloc(1, sizeof *cdata); - cdata->cmd = shellcmd; + cdata->cmd = format_single(item, args->argv[0], c, s, wl, wp); if (args_has(args, 't') && wp != NULL) cdata->wp_id = wp->id; @@ -116,7 +110,7 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item) if (!args_has(args, 'b')) cdata->item = item; - job_run(shellcmd, s, cwd, cmd_run_shell_callback, cmd_run_shell_free, + job_run(cdata->cmd, s, cwd, cmd_run_shell_callback, cmd_run_shell_free, cdata); if (args_has(args, 'b')) |