diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:34:56 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 03:34:56 +0000 |
commit | c294c2bf54a3ec56271a78c284f84e75a8119731 (patch) | |
tree | f1fed2d81b80619666e9508fa5051bcfc34fae5f /cmd-new-window.c | |
parent | Releasing progress-linux version 3.3a-5~progress7.99u1. (diff) | |
download | tmux-c294c2bf54a3ec56271a78c284f84e75a8119731.tar.xz tmux-c294c2bf54a3ec56271a78c284f84e75a8119731.zip |
Merging upstream version 3.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cmd-new-window.c')
-rw-r--r-- | cmd-new-window.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cmd-new-window.c b/cmd-new-window.c index e7f0868..f2d932d 100644 --- a/cmd-new-window.c +++ b/cmd-new-window.c @@ -60,7 +60,7 @@ cmd_new_window_exec(struct cmd *self, struct cmdq_item *item) struct session *s = target->s; struct winlink *wl = target->wl, *new_wl = NULL; int idx = target->idx, before; - char *cause = NULL, *cp; + char *cause = NULL, *cp, *expanded; const char *template, *name; struct cmd_find_state fs; struct args_value *av; @@ -71,16 +71,19 @@ cmd_new_window_exec(struct cmd *self, struct cmdq_item *item) */ name = args_get(args, 'n'); if (args_has(args, 'S') && name != NULL && target->idx == -1) { + expanded = format_single(item, name, c, s, NULL, NULL); RB_FOREACH(wl, winlinks, &s->windows) { - if (strcmp(wl->window->name, name) != 0) + if (strcmp(wl->window->name, expanded) != 0) continue; if (new_wl == NULL) { new_wl = wl; continue; } cmdq_error(item, "multiple windows named %s", name); + free(expanded); return (CMD_RETURN_ERROR); } + free(expanded); if (new_wl != NULL) { if (args_has(args, 'd')) return (CMD_RETURN_NORMAL); |