From 447bc444ddaa9f69c7c2d6116f36d06e05ef62b9 Mon Sep 17 00:00:00 2001 From: nicm Date: Tue, 13 Jul 2021 22:09:29 +0000 Subject: [PATCH] Give #() commands a one second grace period where the output is empty before telling the user they aren't doing anything. GitHub issue 2774. --- usr.bin/tmux/format.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.bin/tmux/format.c b/usr.bin/tmux/format.c index c701323d01c..19ed9326947 100644 --- a/usr.bin/tmux/format.c +++ b/usr.bin/tmux/format.c @@ -1,4 +1,4 @@ -/* $OpenBSD: format.c,v 1.287 2021/07/08 11:14:53 nicm Exp $ */ +/* $OpenBSD: format.c,v 1.288 2021/07/13 22:09:29 nicm Exp $ */ /* * Copyright (c) 2011 Nicholas Marriott @@ -371,9 +371,6 @@ format_job_get(struct format_expand_state *es, const char *cmd) fj->client = ft->client; fj->tag = ft->tag; fj->cmd = xstrdup(cmd); - fj->expanded = NULL; - - xasprintf(&fj->out, "<'%s' not ready>", fj->cmd); RB_INSERT(format_job_tree, jobs, fj); } @@ -402,11 +399,14 @@ format_job_get(struct format_expand_state *es, const char *cmd) } fj->last = t; fj->updated = 0; - } + } else if (fj->job != NULL && (t - fj->last) > 1 && fj->out == NULL) + xasprintf(&fj->out, "<'%s' not ready>", fj->cmd); free(expanded); if (ft->flags & FORMAT_STATUS) fj->status = 1; + if (fj->out == NULL) + return (xstrdup("")); return (format_expand1(&next, fj->out)); } -- 2.20.1