version 1.32, 2016/10/16 19:04:05 |
version 1.33, 2017/03/09 17:02:38 |
|
|
} |
} |
} |
} |
|
|
env = environ_create(); |
|
environ_copy(global_environ, env); |
|
environ_copy(s->environ, env); |
|
server_fill_environ(s, env); |
|
|
|
wp = TAILQ_FIRST(&w->panes); |
wp = TAILQ_FIRST(&w->panes); |
TAILQ_REMOVE(&w->panes, wp, entry); |
TAILQ_REMOVE(&w->panes, wp, entry); |
layout_free(w); |
layout_free(w); |
|
|
if (envent != NULL) |
if (envent != NULL) |
path = envent->value; |
path = envent->value; |
|
|
|
env = environ_for_session(s); |
if (window_pane_spawn(wp, args->argc, args->argv, path, NULL, NULL, env, |
if (window_pane_spawn(wp, args->argc, args->argv, path, NULL, NULL, env, |
s->tio, &cause) != 0) { |
s->tio, &cause) != 0) { |
cmdq_error(item, "respawn window failed: %s", cause); |
cmdq_error(item, "respawn window failed: %s", cause); |
|
|
server_destroy_pane(wp, 0); |
server_destroy_pane(wp, 0); |
return (CMD_RETURN_ERROR); |
return (CMD_RETURN_ERROR); |
} |
} |
|
environ_free(env); |
layout_init(w, wp); |
layout_init(w, wp); |
window_pane_reset_mode(wp); |
window_pane_reset_mode(wp); |
screen_reinit(&wp->base); |
screen_reinit(&wp->base); |
|
|
recalculate_sizes(); |
recalculate_sizes(); |
server_redraw_window(w); |
server_redraw_window(w); |
|
|
environ_free(env); |
|
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
} |
} |