=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-find-window.c,v retrieving revision 1.55 retrieving revision 1.56 diff -c -r1.55 -r1.56 *** src/usr.bin/tmux/cmd-find-window.c 2022/12/16 08:13:40 1.55 --- src/usr.bin/tmux/cmd-find-window.c 2023/12/27 20:42:01 1.56 *************** *** 1,4 **** ! /* $OpenBSD: cmd-find-window.c,v 1.55 2022/12/16 08:13:40 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-find-window.c,v 1.56 2023/12/27 20:42:01 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 48,53 **** --- 48,54 ---- struct cmd_find_state *target = cmdq_get_target(item); struct window_pane *wp = target->wp; const char *s = args_string(args, 0), *suffix = ""; + const char *star = "*"; struct args_value *filter; int C, N, T; *************** *** 55,60 **** --- 56,63 ---- N = args_has(args, 'N'); T = args_has(args, 'T'); + if (args_has(args, 'r')) + star = ""; if (args_has(args, 'r') && args_has(args, 'i')) suffix = "/ri"; else if (args_has(args, 'r')) *************** *** 71,104 **** if (C && N && T) { xasprintf(&filter->string, "#{||:" ! "#{C%s:%s},#{||:#{m%s:*%s*,#{window_name}}," ! "#{m%s:*%s*,#{pane_title}}}}", ! suffix, s, suffix, s, suffix, s); } else if (C && N) { xasprintf(&filter->string, ! "#{||:#{C%s:%s},#{m%s:*%s*,#{window_name}}}", ! suffix, s, suffix, s); } else if (C && T) { xasprintf(&filter->string, ! "#{||:#{C%s:%s},#{m%s:*%s*,#{pane_title}}}", ! suffix, s, suffix, s); } else if (N && T) { xasprintf(&filter->string, ! "#{||:#{m%s:*%s*,#{window_name}}," ! "#{m%s:*%s*,#{pane_title}}}", ! suffix, s, suffix, s); } else if (C) { xasprintf(&filter->string, "#{C%s:%s}", suffix, s); } else if (N) { xasprintf(&filter->string, ! "#{m%s:*%s*,#{window_name}}", ! suffix, s); } else { xasprintf(&filter->string, ! "#{m%s:*%s*,#{pane_title}}", ! suffix, s); } new_args = args_create(); --- 74,107 ---- if (C && N && T) { xasprintf(&filter->string, "#{||:" ! "#{C%s:%s},#{||:#{m%s:%s%s%s,#{window_name}}," ! "#{m%s:%s%s%s,#{pane_title}}}}", ! suffix, s, suffix, star, s, star, suffix, star, s, star); } else if (C && N) { xasprintf(&filter->string, ! "#{||:#{C%s:%s},#{m%s:%s%s%s,#{window_name}}}", ! suffix, s, suffix, star, s, star); } else if (C && T) { xasprintf(&filter->string, ! "#{||:#{C%s:%s},#{m%s:%s%s%s,#{pane_title}}}", ! suffix, s, suffix, star, s, star); } else if (N && T) { xasprintf(&filter->string, ! "#{||:#{m%s:%s%s%s,#{window_name}}," ! "#{m%s:%s%s%s,#{pane_title}}}", ! suffix, star, s, star, suffix, star, s, star); } else if (C) { xasprintf(&filter->string, "#{C%s:%s}", suffix, s); } else if (N) { xasprintf(&filter->string, ! "#{m%s:%s%s%s,#{window_name}}", ! suffix, star, s, star); } else { xasprintf(&filter->string, ! "#{m%s:%s%s%s,#{pane_title}}", ! suffix, star, s, star); } new_args = args_create();