The branch, master has been updated via 70bc8ef8450bfd2ae90df86f4c02437a4bb83319 (commit) via cd60e57b6ac682a56fd66d70af4c5922315b5a9a (commit) via 3d2b7d5bce9532cedd647ace319afbf95ebe0e20 (commit) via 04f54ab38f9a5f32e6fb89b57380cc7150c08006 (commit) via 46c7dbef0f7803dad39db355ee866ecab8db696c (commit) via d89b35e6826ecaccc4d2f421c8013f35ec5854a0 (commit) via 5dda1abc32b7b1eb59901a5592569e21d88c6ad2 (commit) via 55640a31b3fbe5fd9b3eb4537779e2ffac58f47d (commit) via 88428cff3a0ef2e2013e990679dc746c58a99d12 (commit) from 11b90bc9591b4b101efef1f8a9a0d9656d2953c9 (commit)
- Log ----------------------------------------------------------------- commit 70bc8ef8450bfd2ae90df86f4c02437a4bb83319 Merge: cd60e57 11b90bc Author: Thomas Adam <tho...@xteddy.org> Commit: Thomas Adam <tho...@xteddy.org> Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code Makefile.am | 5 ++++- compat.h | 5 +++++ compat/cfmakeraw.c | 32 ++++++++++++++++++++++++++++++++ configure.ac | 8 ++++++++ tmux.c | 1 - 5 files changed, 49 insertions(+), 2 deletions(-) commit cd60e57b6ac682a56fd66d70af4c5922315b5a9a Merge: c24b58e 3d2b7d5 Author: Thomas Adam <tho...@xteddy.org> Commit: Thomas Adam <tho...@xteddy.org> Merge branch 'obsd-master' Sync from OpenBSD. client.c | 4 ++-- cmd-choose-tree.c | 10 +++++----- format.c | 6 +++--- job.c | 4 ++-- server-client.c | 8 +++++--- server-fn.c | 1 + tmux.h | 2 ++ window-choose.c | 14 +++++++++++--- 8 files changed, 31 insertions(+), 18 deletions(-) commit 3d2b7d5bce9532cedd647ace319afbf95ebe0e20 Author: Nicholas Marriott <n...@openbsd.org> Commit: Nicholas Marriott <n...@openbsd.org> When using choose-tree -u, start with the current window highlighted. From Thomas Adam. --- cmd-choose-tree.c | 5 ++++- tmux.h | 2 ++ window-choose.c | 14 +++++++++++--- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c index db0333e..601d24f 100644 --- a/cmd-choose-tree.c +++ b/cmd-choose-tree.c @@ -228,9 +228,12 @@ windows_only: free(final_win_template_last); window_choose_ready(wl->window->active, cur_win, NULL); + window_choose_collapse_all(wl->window->active); - if (args_has(args, 'u')) + if (args_has(args, 'u')) { window_choose_expand_all(wl->window->active); + window_choose_set_current(wl->window->active, cur_win); + } return (CMD_RETURN_NORMAL); } diff --git a/tmux.h b/tmux.h index 053b574..8fb0622 100644 --- a/tmux.h +++ b/tmux.h @@ -2257,6 +2257,8 @@ struct window_choose_data *window_choose_add_item(struct window_pane *, struct client *, struct winlink *, const char *, const char *, u_int); void window_choose_expand_all(struct window_pane *); +void window_choose_collapse_all(struct window_pane *); +void window_choose_set_current(struct window_pane *, u_int); /* names.c */ void queue_window_name(struct window *); diff --git a/window-choose.c b/window-choose.c index 792224c..3877360 100644 --- a/window-choose.c +++ b/window-choose.c @@ -44,7 +44,6 @@ void window_choose_scroll_down(struct window_pane *); void window_choose_collapse(struct window_pane *, struct session *); void window_choose_expand(struct window_pane *, struct session *, u_int); -void window_choose_collapse_all(struct window_pane *); enum window_choose_input_type { WINDOW_CHOOSE_NORMAL = -1, @@ -102,8 +101,7 @@ window_choose_add(struct window_pane *wp, struct window_choose_data *wcd) } void -window_choose_ready(struct window_pane *wp, u_int cur, - void (*callbackfn)(struct window_choose_data *)) +window_choose_set_current(struct window_pane *wp, u_int cur) { struct window_choose_mode_data *data = wp->modedata; struct screen *s = &data->screen; @@ -112,12 +110,22 @@ window_choose_ready(struct window_pane *wp, u_int cur, if (data->selected > screen_size_y(s) - 1) data->top = ARRAY_LENGTH(&data->list) - screen_size_y(s); + window_choose_redraw_screen(wp); +} + +void +window_choose_ready(struct window_pane *wp, u_int cur, + void (*callbackfn)(struct window_choose_data *)) +{ + struct window_choose_mode_data *data = wp->modedata; + data->callbackfn = callbackfn; if (data->callbackfn == NULL) data->callbackfn = window_choose_default_callback; ARRAY_CONCAT(&data->old_list, &data->list); + window_choose_set_current(wp, cur); window_choose_collapse_all(wp); } commit 04f54ab38f9a5f32e6fb89b57380cc7150c08006 Author: Nicholas Marriott <n...@openbsd.org> Commit: Nicholas Marriott <n...@openbsd.org> Get session of -t window rather than client's window. --- cmd-choose-tree.c | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-) diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c index f22f17c..db0333e 100644 --- a/cmd-choose-tree.c +++ b/cmd-choose-tree.c @@ -89,10 +89,7 @@ cmd_choose_tree_exec(struct cmd *self, struct cmd_q *cmdq) return (CMD_RETURN_ERROR); } - if ((s = c->session) == NULL) - return (CMD_RETURN_ERROR); - - if ((wl = cmd_find_window(cmdq, args_get(args, 't'), NULL)) == NULL) + if ((wl = cmd_find_window(cmdq, args_get(args, 't'), &s)) == NULL) return (CMD_RETURN_ERROR); if (window_pane_set_mode(wl->window->active, &window_choose_mode) != 0) commit 46c7dbef0f7803dad39db355ee866ecab8db696c Author: Nicholas Marriott <n...@openbsd.org> Commit: Nicholas Marriott <n...@openbsd.org> Call recalculate_sizes() after killing window in case it is in a grouped session, from Daniel Ralston. --- server-fn.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/server-fn.c b/server-fn.c index c0b005e..d92754e 100644 --- a/server-fn.c +++ b/server-fn.c @@ -283,6 +283,7 @@ server_kill_window(struct window *w) if (options_get_number(&s->options, "renumber-windows")) session_renumber_windows(s); } + recalculate_sizes(); } int commit d89b35e6826ecaccc4d2f421c8013f35ec5854a0 Author: Nicholas Marriott <n...@openbsd.org> Commit: Nicholas Marriott <n...@openbsd.org> Use lockf which is more portable than flock, from Dagobert Michelsen. --- client.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client.c b/client.c index 70e7f1e..0c8657e 100644 --- a/client.c +++ b/client.c @@ -78,8 +78,8 @@ client_get_lock(char *lockfile) if ((lockfd = open(lockfile, O_WRONLY|O_CREAT, 0600)) == -1) fatal("open failed"); - if (flock(lockfd, LOCK_EX|LOCK_NB) == -1 && errno == EWOULDBLOCK) { - while (flock(lockfd, LOCK_EX) == -1 && errno == EINTR) + if (lockf(lockfd, F_TLOCK, 0) == -1 && errno == EAGAIN) { + while (lockf(lockfd, F_LOCK, 0) == -1 && errno == EINTR) /* nothing */; close(lockfd); return (-1); commit 5dda1abc32b7b1eb59901a5592569e21d88c6ad2 Author: Nicholas Marriott <n...@openbsd.org> Commit: Nicholas Marriott <n...@openbsd.org> Don't let server_client_check_focus use a dead bufferevent, from Romain Francoise. --- server-client.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/server-client.c b/server-client.c index 6cacefa..3b7b988 100644 --- a/server-client.c +++ b/server-client.c @@ -514,8 +514,10 @@ server_client_loop(void) w->flags &= ~WINDOW_REDRAW; TAILQ_FOREACH(wp, &w->panes, entry) { - server_client_check_focus(wp); - server_client_check_resize(wp); + if (wp->fd != -1) { + server_client_check_focus(wp); + server_client_check_resize(wp); + } wp->flags &= ~PANE_REDRAW; } } @@ -527,7 +529,7 @@ server_client_check_resize(struct window_pane *wp) { struct winsize ws; - if (wp->fd == -1 || !(wp->flags & PANE_RESIZE)) + if (!(wp->flags & PANE_RESIZE)) return; memset(&ws, 0, sizeof ws); commit 55640a31b3fbe5fd9b3eb4537779e2ffac58f47d Author: Theo Deraadt <dera...@openbsd.org> Commit: Theo Deraadt <dera...@openbsd.org> (long long) and %lld for time_t output ok nicm --- format.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/format.c b/format.c index b357876..9918cfe 100644 --- a/format.c +++ b/format.c @@ -288,7 +288,7 @@ format_session(struct format_tree *ft, struct session *s) format_add(ft, "session_group", "%u", session_group_index(sg)); t = s->creation_time.tv_sec; - format_add(ft, "session_created", "%ld", (long) t); + format_add(ft, "session_created", "%lld", (long long) t); tim = ctime(&t); *strchr(tim, '\n') = '\0'; format_add(ft, "session_created_string", "%s", tim); @@ -314,13 +314,13 @@ format_client(struct format_tree *ft, struct client *c) format_add(ft, "client_termname", "%s", c->tty.termname); t = c->creation_time.tv_sec; - format_add(ft, "client_created", "%ld", (long) t); + format_add(ft, "client_created", "%lld", (long long) t); tim = ctime(&t); *strchr(tim, '\n') = '\0'; format_add(ft, "client_created_string", "%s", tim); t = c->activity_time.tv_sec; - format_add(ft, "client_activity", "%ld", (long) t); + format_add(ft, "client_activity", "%lld", (long long) t); tim = ctime(&t); *strchr(tim, '\n') = '\0'; format_add(ft, "client_activity_string", "%s", tim); commit 88428cff3a0ef2e2013e990679dc746c58a99d12 Author: Nicholas Marriott <n...@openbsd.org> Commit: Nicholas Marriott <n...@openbsd.org> %zu format for size_t. --- job.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/job.c b/job.c index 291e000..0ae03b3 100644 --- a/job.c +++ b/job.c @@ -144,8 +144,8 @@ job_write_callback(unused struct bufferevent *bufev, void *data) struct job *job = data; size_t len = EVBUFFER_LENGTH(EVBUFFER_OUTPUT(job->event)); - log_debug("job write %p: %s, pid %ld, output left %lu", job, job->cmd, - (long) job->pid, (unsigned long) len); + log_debug("job write %p: %s, pid %ld, output left %zu", job, job->cmd, + (long) job->pid, len); if (len == 0) { shutdown(job->fd, SHUT_WR); ----------------------------------------------------------------------- Summary of changes: client.c | 4 ++-- cmd-choose-tree.c | 10 +++++----- format.c | 6 +++--- job.c | 4 ++-- server-client.c | 8 +++++--- server-fn.c | 1 + tmux.h | 2 ++ window-choose.c | 14 +++++++++++--- 8 files changed, 31 insertions(+), 18 deletions(-) hooks/post-receive -- tmux ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr _______________________________________________ tmux-cvs mailing list tmux-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-cvs