=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-split-window.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- src/usr.bin/tmux/cmd-split-window.c 2009/12/03 22:50:10 1.16 +++ src/usr.bin/tmux/cmd-split-window.c 2010/01/07 19:47:10 1.17 @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-split-window.c,v 1.16 2009/12/03 22:50:10 nicm Exp $ */ +/* $OpenBSD: cmd-split-window.c,v 1.17 2010/01/07 19:47:10 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -45,7 +45,7 @@ const struct cmd_entry cmd_split_window_entry = { "split-window", "splitw", - "[-dhv] [-p percentage|-l size] [-t target-window] [command]", + "[-dhv] [-p percentage|-l size] [-t target-pane] [command]", 0, "", cmd_split_window_init, cmd_split_window_parse, @@ -149,7 +149,7 @@ struct session *s; struct winlink *wl; struct window *w; - struct window_pane *wp; + struct window_pane *wp, *new_wp; struct environ env; char *cmd, *cwd, *cause; const char *shell; @@ -157,7 +157,7 @@ int size; enum layout_type type; - if ((wl = cmd_find_window(ctx, data->target, &s)) == NULL) + if ((wl = cmd_find_pane(ctx, data->target, &s, &wp)) == NULL) return (-1); w = wl->window; @@ -193,10 +193,10 @@ if (*shell == '\0' || areshell(shell)) shell = _PATH_BSHELL; - wp = window_add_pane(w, hlimit); - if (window_pane_spawn(wp, cmd, shell, cwd, &env, s->tio, &cause) != 0) + new_wp = window_add_pane(w, hlimit); + if (window_pane_spawn(new_wp, cmd, shell, cwd, &env, s->tio, &cause) != 0) goto error; - if (layout_split_pane(w->active, type, size, wp) != 0) { + if (layout_split_pane(wp, type, size, new_wp) != 0) { cause = xstrdup("pane too small"); goto error; } @@ -204,7 +204,7 @@ server_redraw_window(w); if (!data->flag_detached) { - window_set_active_pane(w, wp); + window_set_active_pane(w, new_wp); session_select(s, wl->idx); server_redraw_session(s); } else @@ -215,8 +215,8 @@ error: environ_free(&env); - if (wp != NULL) - window_remove_pane(w, wp); + if (new_wp != NULL) + window_remove_pane(w, new_wp); ctx->error(ctx, "create pane failed: %s", cause); xfree(cause); return (-1);