Skip to content

Commit f8d8444

Browse files
committed
Use "declare -F" instead of "type" to check for function existence.
Avoids some stat() calls when it doesn't exist.
1 parent ea90dc1 commit f8d8444

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

completions/cvsps

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ _cvsps()
4444
return 0
4545
;;
4646
--root)
47-
type _cvs_roots &>/dev/null && _cvs_roots
47+
declare -F _cvs_roots &>/dev/null && _cvs_roots
4848
return 0
4949
;;
5050
esac
@@ -55,7 +55,7 @@ _cvsps()
5555
--cvs-direct --no-cvs-direct --debuglvl -Z --root -q -A' \
5656
-- "$cur" ) )
5757
else
58-
type _cvs_roots &>/dev/null && _cvs_roots
58+
declare -F _cvs_roots &>/dev/null && _cvs_roots
5959
fi
6060
} &&
6161
complete -F _cvsps cvsps

completions/portupgrade

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ _portinstall()
4848
complete -F _portinstall -o dirnames portinstall
4949

5050
# _pkg_delete is in pkg_install
51-
type _pkg_delete &>/dev/null && have pkg_deinstall && \
51+
declare -F _pkg_delete &>/dev/null && have pkg_deinstall && \
5252
complete -F _pkg_delete -o dirnames pkg_deinstall
5353

5454
# Local variables:

completions/rsync

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ _rsync()
7272
compopt +o nospace
7373
;;
7474
*:*)
75-
if type _scp_remote_files &>/dev/null; then
75+
if declare -F _scp_remote_files &>/dev/null; then
7676
# find which remote shell is used
7777
local i shell=ssh
7878
for (( i=1; i < cword; i++ )); do
@@ -86,7 +86,8 @@ _rsync()
8686
;;
8787
*)
8888
_known_hosts_real -c -a "$cur"
89-
type _scp_local_files &>/dev/null && _scp_local_files || _filedir
89+
declare -F _scp_local_files &>/dev/null && \
90+
_scp_local_files || _filedir
9091
;;
9192
esac
9293

completions/sshfs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ _sshfs()
1111

1212
_expand || return 0
1313

14-
if [[ "$cur" == *:* ]] && type _scp_remote_files &>/dev/null ; then
14+
if [[ "$cur" == *:* ]] && declare -F _scp_remote_files &>/dev/null ; then
1515
_scp_remote_files -d
1616
# unlike scp and rsync, sshfs works with 1 backslash instead of 3
1717
COMPREPLY=( "${COMPREPLY[@]//\\\\\\/\\}" )
@@ -20,7 +20,7 @@ _sshfs()
2020

2121
[[ "$cur" == */* ]] || _known_hosts_real -c -a "$cur"
2222

23-
type _scp_local_files &>/dev/null && _scp_local_files -d
23+
declare -F _scp_local_files &>/dev/null && _scp_local_files -d
2424

2525
return 0
2626
} &&

0 commit comments

Comments
 (0)