Skip to content

Commit 6d0830f

Browse files
committed
fix(_comp_finalize): avoid negative indices in unset for bash 4.2
1 parent 6c9536b commit 6d0830f

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

bash_completion

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1517,8 +1517,11 @@ _comp_finalize()
15171517
fi
15181518
fi
15191519

1520-
unset -v '_comp_finalize__depth[-1]'
1521-
unset -v '_comp_finalize__target[-1]'
1520+
# Note: bash 4.2 does not support negative array indices with `unset`
1521+
# like `unset -v 'arr[-1]'` even when the array has at least one
1522+
# element. It is supported in bash 4.3.
1523+
unset -v '_comp_finalize__depth[${#_comp_finalize__depth[@]}-1]'
1524+
unset -v '_comp_finalize__target[${#_comp_finalize__target[@]}-1]'
15221525
if ((${#_comp_finalize__depth[@]} == 0)); then
15231526
eval -- "${_comp_finalize__original_return_trap:-trap - RETURN}"
15241527
_comp_finalize__original_return_trap=

0 commit comments

Comments
 (0)