summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Skyttä <ville.skytta@iki.fi>2011-10-13 21:26:13 +0300
committerVille Skyttä <ville.skytta@iki.fi>2011-10-13 21:37:34 +0300
commit449c71fa747390535c76c6a71e4b9ee81aab347e (patch)
tree28690f904fa746737f72977bbcfac12dc37b4d04
parent5baebf81d3ede436d63ae38e464dacaa0ad4b486 (diff)
downloadbash-completion-449c71fa747390535c76c6a71e4b9ee81aab347e.tar.gz
Get rid of remaining $UNAME and $USERLAND uses.
Use $OSTYPE and _userland() instead.
-rw-r--r--bash_completion29
-rw-r--r--completions/gcc3
-rw-r--r--completions/ifup4
-rw-r--r--completions/killall2
-rw-r--r--completions/man4
5 files changed, 22 insertions, 20 deletions
diff --git a/bash_completion b/bash_completion
index a8b8ff9a..5570338f 100644
--- a/bash_completion
+++ b/bash_completion
@@ -46,17 +46,6 @@ readonly BASH_COMPLETION_COMPAT_DIR
#
_blacklist_glob='@(acroread.sh)'
-# Set a couple of useful vars
-#
-UNAME=$( uname -s )
-# strip OS type and version under Cygwin (e.g. CYGWIN_NT-5.1 => Cygwin)
-UNAME=${UNAME/CYGWIN_*/Cygwin}
-
-case ${UNAME} in
- Linux|GNU|GNU/*) USERLAND=GNU ;;
- *) USERLAND=${UNAME} ;;
-esac
-
# Turn on extended globbing and programmable completion
shopt -s extglob progcomp
@@ -103,6 +92,16 @@ complete -b builtin
# start of section containing completion functions called by other functions
+# Output what userland we're running on
+_userland()
+{
+ local uname=$( uname -s )
+ case $uname in
+ Linux|GNU|GNU/*) echo GNU ;;
+ *) echo "$uname" ;;
+ esac
+}
+
# This function checks whether we have a given program on the system.
#
_have()
@@ -960,7 +959,7 @@ _expand()
# This function completes on process IDs.
# AIX and Solaris ps prefers X/Open syntax.
-[[ $UNAME == @(SunOS|AIX) ]] &&
+[[ $OSTYPE == *@(solaris|aix)* ]] &&
_pids()
{
COMPREPLY=( $( compgen -W '$( command ps -efo pid | sed 1d )' -- "$cur" ))
@@ -972,7 +971,7 @@ _pids()
# This function completes on process group IDs.
# AIX and SunOS prefer X/Open, all else should be BSD.
-[[ $UNAME == @(SunOS|AIX) ]] &&
+[[ $OSTYPE == *@(solaris|aix)* ]] &&
_pgids()
{
COMPREPLY=( $( compgen -W '$( command ps -efo pgid | sed 1d )' -- "$cur" ))
@@ -984,7 +983,7 @@ _pgids()
# This function completes on process names.
# AIX and SunOS prefer X/Open, all else should be BSD.
-[[ $UNAME == @(SunOS|AIX) ]] &&
+[[ $OSTYPE == *@(solaris|aix)* ]] &&
_pnames()
{
COMPREPLY=( $( compgen -X '<defunct>' -W '$( command ps -efo comm | \
@@ -1866,7 +1865,7 @@ unset i
[[ ${BASH_SOURCE[0]} != ~/.bash_completion && -r ~/.bash_completion ]] \
&& . ~/.bash_completion
unset -f have
-unset UNAME USERLAND have
+unset have
set $BASH_COMPLETION_ORIGINAL_V_VALUE
unset BASH_COMPLETION_ORIGINAL_V_VALUE
diff --git a/completions/gcc b/completions/gcc
index 6da9ffe8..dfc8a172 100644
--- a/completions/gcc
+++ b/completions/gcc
@@ -47,7 +47,8 @@ _gcc()
} &&
complete -F _gcc gcc g++ c++ g77 gcj gpc
-[[ $USERLAND == GNU || $UNAME == Cygwin ]] && _have gcc && complete -F _gcc cc
+[[ $OSTYPE == *cygwin* || $( _userland ) == GNU ]] \
+ && _have gcc && complete -F _gcc cc
# Local variables:
# mode: shell-script
diff --git a/completions/ifup b/completions/ifup
index aab9bbca..2bd66ce8 100644
--- a/completions/ifup
+++ b/completions/ifup
@@ -1,6 +1,6 @@
# Red Hat & Debian GNU/Linux if{up,down} completion
-#
-[ $USERLAND = GNU ] || return 1
+
+[[ $( _userland ) == GNU ]] || return 1
_ifupdown()
{
diff --git a/completions/killall b/completions/killall
index 162e2382..d57165fc 100644
--- a/completions/killall
+++ b/completions/killall
@@ -14,7 +14,7 @@ _killall()
return 0
} &&
complete -F _killall pkill
-[[ $UNAME == @(Linux|FreeBSD|Darwin) ]] && complete -F _killall killall
+[[ $OSTYPE == *@(linux|freebsd|darwin)* ]] && complete -F _killall killall
# Local variables:
# mode: shell-script
diff --git a/completions/man b/completions/man
index 0fa17a0d..0575ba3c 100644
--- a/completions/man
+++ b/completions/man
@@ -1,6 +1,8 @@
# man(1) completion
-[[ $USERLAND == GNU || $UNAME == @(Darwin|FreeBSD|SunOS|Cygwin|OpenBSD) ]] &&
+[[ $OSTYPE == *@(darwin|freebsd|solaris|cygwin|openbsd)* || \
+ $( _userland ) == GNU ]] || return 1
+
_man()
{
local cur prev words cword split