=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- src/usr.bin/tmux/window.c 2009/08/12 09:14:25 1.20 +++ src/usr.bin/tmux/window.c 2009/08/13 19:04:00 1.21 @@ -1,4 +1,4 @@ -/* $OpenBSD: window.c,v 1.20 2009/08/12 09:14:25 nicm Exp $ */ +/* $OpenBSD: window.c,v 1.21 2009/08/13 19:04:00 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -269,7 +269,8 @@ struct window * window_create(const char *name, const char *cmd, const char *cwd, - struct environ *env, u_int sx, u_int sy, u_int hlimit, char **cause) + struct environ *env, struct termios *tio, u_int sx, u_int sy, u_int hlimit, + char **cause) { struct window *w; struct window_pane *wp; @@ -277,7 +278,7 @@ w = window_create1(sx, sy); wp = window_add_pane(w, hlimit); layout_init(w); - if (window_pane_spawn(wp, cmd, cwd, env, cause) != 0) { + if (window_pane_spawn(wp, cmd, cwd, env, tio, cause) != 0) { window_destroy(w); return (NULL); } @@ -470,8 +471,8 @@ } int -window_pane_spawn(struct window_pane *wp, - const char *cmd, const char *cwd, struct environ *env, char **cause) +window_pane_spawn(struct window_pane *wp, const char *cmd, + const char *cwd, struct environ *env, struct termios *tio, char **cause) { struct winsize ws; int mode; @@ -505,7 +506,7 @@ tv.tv_usec = NAME_INTERVAL * 1000L; timeradd(&wp->window->name_timer, &tv, &wp->window->name_timer); - switch (wp->pid = forkpty(&wp->fd, wp->tty, NULL, &ws)) { + switch (wp->pid = forkpty(&wp->fd, wp->tty, tio, &ws)) { case -1: wp->fd = -1; xasprintf(cause, "%s: %s", cmd, strerror(errno));