From 3d231979b73116ffba5736ce257d85012c688a4c Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 7 Apr 2021 12:49:33 +0000 Subject: [PATCH] When display-message used in config file, show the message after the config file finishes. GitHub issue 2637. --- usr.bin/tmux/cmd-display-message.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/usr.bin/tmux/cmd-display-message.c b/usr.bin/tmux/cmd-display-message.c index 5a0b2850097..94c1b975974 100644 --- a/usr.bin/tmux/cmd-display-message.c +++ b/usr.bin/tmux/cmd-display-message.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-display-message.c,v 1.55 2020/07/27 08:03:10 nicm Exp $ */ +/* $OpenBSD: cmd-display-message.c,v 1.56 2021/04/07 12:49:33 nicm Exp $ */ /* * Copyright (c) 2009 Tiago Cunha @@ -43,7 +43,7 @@ const struct cmd_entry cmd_display_message_entry = { .usage = "[-aIpv] [-c target-client] [-d delay] [-F format] " CMD_TARGET_PANE_USAGE " [message]", - .target = { 't', CMD_FIND_PANE, 0 }, + .target = { 't', CMD_FIND_PANE, CMD_FIND_CANFAIL }, .flags = CMD_AFTERHOOK|CMD_CLIENT_CFLAG|CMD_CLIENT_CANFAIL, .exec = cmd_display_message_exec @@ -73,6 +73,8 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item) int flags; if (args_has(args, 'I')) { + if (wp == NULL) + return (CMD_RETURN_NORMAL); if (window_pane_start_input(wp, item, &cause) != 0) { cmdq_error(item, "%s", cause); free(cause); @@ -109,8 +111,10 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item) */ if (tc != NULL && tc->session == s) c = tc; - else + else if (s != NULL) c = cmd_find_best_client(s); + else + c = NULL; if (args_has(args, 'v')) flags = FORMAT_VERBOSE; else @@ -124,7 +128,9 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item) } msg = format_expand_time(ft, template); - if (args_has(args, 'p')) + if (cmdq_get_client(item) == NULL) + cmdq_error(item, "%s", msg); + else if (args_has(args, 'p')) cmdq_print(item, "%s", msg); else if (tc != NULL) status_message_set(tc, delay, 0, "%s", msg); -- 2.20.1