Skip to content

Commit 0cafcb8

Browse files
committed
fix(_comp_array_filter): change {__comp => _comp_local}_*
1 parent de1ea57 commit 0cafcb8

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

bash_completion

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -289,13 +289,13 @@ _upvars()
289289
# unchanged. ]
290290
_comp_array_filter()
291291
{
292-
local __comp_flags='' __comp_pattype='' __comp_anchoring=''
293-
local OPTIND=1 OPTARG='' OPTERR=0 __comp_opt=''
294-
while getopts 'EFGpsmrC' __comp_opt "$@"; do
295-
case $__comp_opt in
296-
[EFG]) __comp_pattype=$__comp_opt ;;
297-
[psm]) __comp_anchoring=$__comp_opt ;;
298-
[rC]) __comp_flags=$__comp_opt$__comp_flags ;;
292+
local _comp_local_flags='' _comp_local_pattype='' _comp_local_anchoring=''
293+
local OPTIND=1 OPTARG='' OPTERR=0 _comp_local_opt=''
294+
while getopts 'EFGpsmrC' _comp_local_opt "$@"; do
295+
case $_comp_local_opt in
296+
[EFG]) _comp_local_pattype=$_comp_local_opt ;;
297+
[psm]) _comp_local_anchoring=$_comp_local_opt ;;
298+
[rC]) _comp_local_flags=$_comp_local_opt$_comp_local_flags ;;
299299
*)
300300
echo "bash_completion: $FUNCNAME: usage error" >&2
301301
return 2
@@ -311,58 +311,58 @@ _comp_array_filter()
311311
elif [[ $1 != [a-zA-Z_]*([a-zA-Z_0-9]) ]]; then
312312
printf 'bash_completion: %s: %s\n' "$FUNCNAME" "invalid array name '$1'." >&2
313313
return 2
314-
elif [[ $1 == @(__comp_*|OPTIND|OPTARG|OPTERR) ]]; then
314+
elif [[ $1 == @(_comp_local_*|OPTIND|OPTARG|OPTERR) ]]; then
315315
printf 'bash_completion: %s: %s\n' "$FUNCNAME" "array name '$1' is reserved for internal uses." >&2
316316
return 2
317-
elif [[ ! $__comp_pattype && $1 == value ]]; then
317+
elif [[ ! $_comp_local_pattype && $1 == value ]]; then
318318
printf 'bash_completion: %s: %s\n' "$FUNCNAME" "array name '$1' cannot be used for the predicate." >&2
319319
return 2
320320
fi
321321
# When the array is empty:
322322
eval "((\${#$1[@]}))" || return 0
323323

324-
local __comp_predicate='' __comp_pattern=$2
325-
case $__comp_pattype in
324+
local _comp_local_predicate='' _comp_local_pattern=$2
325+
case $_comp_local_pattype in
326326
E)
327-
__comp_predicate='[[ $__comp_value == $__comp_pattern ]]'
327+
_comp_local_predicate='[[ $_comp_local_value =~ $_comp_local_pattern ]]'
328328
;;
329329
F)
330-
case $__comp_anchoring in
331-
p) __comp_predicate='[[ $__comp_value == "$__comp_pattern"* ]]' ;;
332-
s) __comp_predicate='[[ $__comp_value == *"$__comp_pattern" ]]' ;;
333-
m) __comp_predicate='[[ $__comp_value == *"$__comp_pattern"* ]]' ;;
334-
*) __comp_predicate='[[ $__comp_value == "$__comp_pattern" ]]' ;;
330+
case $_comp_local_anchoring in
331+
p) _comp_local_predicate='[[ $_comp_local_value == "$_comp_local_pattern"* ]]' ;;
332+
s) _comp_local_predicate='[[ $_comp_local_value == *"$_comp_local_pattern" ]]' ;;
333+
m) _comp_local_predicate='[[ $_comp_local_value == *"$_comp_local_pattern"* ]]' ;;
334+
*) _comp_local_predicate='[[ $_comp_local_value == "$_comp_local_pattern" ]]' ;;
335335
esac
336336
;;
337337
G)
338-
case $__comp_anchoring in
339-
p) __comp_predicate='[[ $__comp_value == $__comp_pattern* ]]' ;;
340-
s) __comp_predicate='[[ $__comp_value == *$__comp_pattern ]]' ;;
341-
m) __comp_predicate='[[ $__comp_value == *$__comp_pattern* ]]' ;;
342-
*) __comp_predicate='[[ $__comp_value == $__comp_pattern ]]' ;;
338+
case $_comp_local_anchoring in
339+
p) _comp_local_predicate='[[ $_comp_local_value == $_comp_local_pattern* ]]' ;;
340+
s) _comp_local_predicate='[[ $_comp_local_value == *$_comp_local_pattern ]]' ;;
341+
m) _comp_local_predicate='[[ $_comp_local_value == *$_comp_local_pattern* ]]' ;;
342+
*) _comp_local_predicate='[[ $_comp_local_value == $_comp_local_pattern ]]' ;;
343343
esac
344344
;;
345345
*)
346346
if declare -F "$2" &>/dev/null; then
347-
_comp_predicate="$2 \"\$__comp_value\""
347+
_comp_local_predicate="$2 \"\$_comp_local_value\""
348348
else
349-
_comp_predicate="local value=\$__comp_value; $2"
349+
_comp_local_predicate="local value=\$_comp_local_value; $2"
350350
fi
351351
;;
352352
esac
353353

354-
local __comp_unset='' __comp_expected_status=0
355-
[[ $__comp_flags == *r* ]] && __comp_expected_status=1
354+
local _comp_local_unset='' _comp_local_expected_status=0
355+
[[ $_comp_local_flags == *r* ]] && _comp_local_expected_status=1
356356

357-
local __comp_indices __comp_index __comp_value
358-
eval "__comp_indices=(\"\${!$1[@]}\")"
359-
for __comp_index in "${__comp_indices[@]}"; do
360-
eval "__comp_value=\${$1[\$__comp_index]}; $__comp_predicate"
357+
local _comp_local_indices _comp_local_index _comp_local_value
358+
eval "_comp_local_indices=(\"\${!$1[@]}\")"
359+
for _comp_local_index in "${_comp_local_indices[@]}"; do
360+
eval "_comp_local_value=\${$1[\$_comp_local_index]}; $_comp_local_predicate"
361361
case $? in
362-
"$__comp_expected_status") continue ;;
362+
"$_comp_local_expected_status") continue ;;
363363
[01])
364-
unset -v "$1[\$__comp_index]"
365-
__comp_unset=1
364+
unset -v "$1[\$_comp_local_index]"
365+
_comp_local_unset=1
366366
;;
367367
*)
368368
printf 'bash_completion: %s: %s\n' "$FUNCNAME" "the filter condition broken." >&2
@@ -372,10 +372,10 @@ _comp_array_filter()
372372
done
373373

374374
# Compaction of the sparse array
375-
[[ $__comp_flags == *C* ]] ||
375+
[[ $_comp_local_flags == *C* ]] ||
376376
eval -- "((\${#$1[@]})) && $1=(\"\${$1[@]}\")"
377377

378-
[[ ! $__comp_unset ]]
378+
[[ ! $_comp_local_unset ]]
379379
}
380380

381381
# Reassemble command line words, excluding specified characters from the

0 commit comments

Comments
 (0)