=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window.c,v retrieving revision 1.184 retrieving revision 1.185 diff -c -r1.184 -r1.185 *** src/usr.bin/tmux/window.c 2017/02/22 09:01:32 1.184 --- src/usr.bin/tmux/window.c 2017/02/27 13:07:57 1.185 *************** *** 1,4 **** ! /* $OpenBSD: window.c,v 1.184 2017/02/22 09:01:32 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: window.c,v 1.185 2017/02/27 13:07:57 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 339,345 **** struct window_pane *wp; w = window_create(sx, sy); ! wp = window_add_pane(w, NULL, hlimit); layout_init(w, wp); if (window_pane_spawn(wp, argc, argv, path, shell, cwd, --- 339,345 ---- struct window_pane *wp; w = window_create(sx, sy); ! wp = window_add_pane(w, NULL, 0, hlimit); layout_init(w, wp); if (window_pane_spawn(wp, argc, argv, path, shell, cwd, *************** *** 426,431 **** --- 426,432 ---- int window_set_active_pane(struct window *w, struct window_pane *wp) { + log_debug("%s: pane %%%u (was %%%u)", __func__, wp->id, w->active->id); if (wp == w->active) return (0); w->last = w->active; *************** *** 578,596 **** } struct window_pane * ! window_add_pane(struct window *w, struct window_pane *after, u_int hlimit) { struct window_pane *wp; wp = window_pane_create(w, w->sx, w->sy, hlimit); if (TAILQ_EMPTY(&w->panes)) TAILQ_INSERT_HEAD(&w->panes, wp, entry); ! else { ! if (after == NULL) ! TAILQ_INSERT_AFTER(&w->panes, w->active, wp, entry); ! else ! TAILQ_INSERT_AFTER(&w->panes, after, wp, entry); ! } return (wp); } --- 579,599 ---- } struct window_pane * ! window_add_pane(struct window *w, struct window_pane *other, int before, ! u_int hlimit) { struct window_pane *wp; + if (other == NULL) + other = w->active; + wp = window_pane_create(w, w->sx, w->sy, hlimit); if (TAILQ_EMPTY(&w->panes)) TAILQ_INSERT_HEAD(&w->panes, wp, entry); ! else if (before) ! TAILQ_INSERT_BEFORE(other, wp, entry); ! else ! TAILQ_INSERT_AFTER(&w->panes, other, wp, entry); return (wp); }