,z: guard empty tmux_opts array under set -u
The prefix-g tmux binding sets IN_TMUX_FLOAT, which empties tmux_opts.
Expanding "${tmux_opts[@]}" then aborted the script under set -u,
because macOS's frozen bash 3.2 treats an empty array as an unbound
variable. The binding died before fzf ran while the command-line path
(non-empty array) kept working. Splice with ${tmux_opts[@]+...} so the
empty case expands to nothing instead of erroring.
Assisted-by: Claude Opus 4.8 via Claude Code
diff --git a/bin/,z b/bin/,z
index 877b8dcd..4fa962a3 100755
--- a/bin/,z
+++ b/bin/,z
@@ -13,8 +13,11 @@ main() {
[[ -n "${IN_TMUX_FLOAT:-}" ]] && tmux_opts=()
local dir
+ # ${arr[@]+"${arr[@]}"} splices the array only when it has elements. A bare
+ # "${tmux_opts[@]}" would abort under `set -u` on the empty (IN_TMUX_FLOAT)
+ # path, because macOS bash 3.2 counts an empty array as an unbound variable.
dir=$(zoxide query -l "$@" | fzf --no-multi --select-1 --no-margin --no-padding \
- "${tmux_opts[@]}" \
+ ${tmux_opts[@]+"${tmux_opts[@]}"} \
--height 100% \
--highlight-line --info inline-right \
--border-label ' zoxide ' \