[Bash-completion-commits] [SCM] bash-completion branch, master, updated. b56a8dfaae9f81660feb844cd9241983dd7f93a3

Guillaume Rousse guillaume at oberkampf.msr-inria.inria.fr
Sun Oct 4 17:46:11 UTC 2009


The following commit has been merged in the master branch:
commit 506e1cb3ebfbab7cfd4e93c15c8b36ae7df168b4
Author: Guillaume Rousse <guillaume at oberkampf.msr-inria.inria.fr>
Date:   Sun Oct 4 19:42:50 2009 +0200

    new indentation policy

diff --git a/bash_completion b/bash_completion
index eb6d15e..6ce8619 100644
--- a/bash_completion
+++ b/bash_completion
@@ -27,15 +27,15 @@
 #   RELEASE: 1.x
 
 if [[ $- == *v* ]]; then
-	BASH_COMPLETION_ORIGINAL_V_VALUE="-v"
+    BASH_COMPLETION_ORIGINAL_V_VALUE="-v"
 else
-	BASH_COMPLETION_ORIGINAL_V_VALUE="+v"
+    BASH_COMPLETION_ORIGINAL_V_VALUE="+v"
 fi
 
 if [[ -n $BASH_COMPLETION_DEBUG ]]; then
-	set -v
+    set -v
 else
-	set +v
+    set +v
 fi
 
 # Alter the following to reflect the location of this file.
@@ -52,35 +52,35 @@ UNAME=$( uname -s )
 UNAME=${UNAME/CYGWIN_*/Cygwin}
 
 case ${UNAME} in
-	Linux|GNU|GNU/*) USERLAND=GNU ;;
-	*) USERLAND=${UNAME} ;;
+    Linux|GNU|GNU/*) USERLAND=GNU ;;
+    *) USERLAND=${UNAME} ;;
 esac
 
 # features supported by bash 2.05 and higher
 if [ ${BASH_VERSINFO[0]} -eq 2 ] && [[ ${BASH_VERSINFO[1]} > 04 ]] ||
-   [ ${BASH_VERSINFO[0]} -gt 2 ]; then
-	declare -r bash205=$BASH_VERSION 2>/dev/null || :
-	default="-o default"
-	dirnames="-o dirnames"
-	filenames="-o filenames"
-	compopt=:
+    [ ${BASH_VERSINFO[0]} -gt 2 ]; then
+    declare -r bash205=$BASH_VERSION 2>/dev/null || :
+    default="-o default"
+    dirnames="-o dirnames"
+    filenames="-o filenames"
+    compopt=:
 fi
 # features supported by bash 2.05b and higher
 if [ ${BASH_VERSINFO[0]} -eq 2 ] && [[ ${BASH_VERSINFO[1]} = "05b" ]] ||
-   [ ${BASH_VERSINFO[0]} -gt 2 ]; then
-	declare -r bash205b=$BASH_VERSION 2>/dev/null || :
-	nospace="-o nospace"
+    [ ${BASH_VERSINFO[0]} -gt 2 ]; then
+    declare -r bash205b=$BASH_VERSION 2>/dev/null || :
+    nospace="-o nospace"
 fi
 # features supported by bash 3.0 and higher
 if [ ${BASH_VERSINFO[0]} -gt 2 ]; then
-	declare -r bash3=$BASH_VERSION 2>/dev/null || :
-	bashdefault="-o bashdefault"
-	plusdirs="-o plusdirs"
+    declare -r bash3=$BASH_VERSION 2>/dev/null || :
+    bashdefault="-o bashdefault"
+    plusdirs="-o plusdirs"
 fi
 # features supported by bash 4.0 and higher
 if [ ${BASH_VERSINFO[0]} -gt 3 ]; then
-	declare -r bash4=$BASH_VERSION 2>/dev/null || :
-	compopt=compopt
+    declare -r bash4=$BASH_VERSION 2>/dev/null || :
+    compopt=compopt
 fi
 
 # Turn on extended globbing and programmable completion
@@ -189,9 +189,9 @@ complete -b builtin
 #
 have()
 {
-	unset -v have
-	PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin type $1 &>/dev/null &&
-		have="yes"
+    unset -v have
+    PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin type $1 &>/dev/null &&
+    have="yes"
 }
 
 # use GNU sed if we have it, since its extensions are still used in our code
@@ -209,27 +209,27 @@ _rl_enabled()
 # This function shell-quotes the argument
 quote()
 {
-	echo \'${1//\'/\'\\\'\'}\' #'# Help vim syntax highlighting
+    echo \'${1//\'/\'\\\'\'}\' #'# Help vim syntax highlighting
 }
 
 # This function quotes the argument in a way so that readline dequoting
 # results in the original argument
 quote_readline()
 {
-	if [ -n "$bash4" ] ; then
-		# This function isn't really necessary on bash 4
-		# See: http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00155.html
-		echo "${1}"
-		return
-	fi
-	local t="${1//\\/\\\\}"
-	echo \'${t//\'/\'\\\'\'}\' #'# Help vim syntax highlighting
+    if [ -n "$bash4" ] ; then
+        # This function isn't really necessary on bash 4
+        # See: http://lists.gnu.org/archive/html/bug-bash/2009-03/msg00155.html
+        echo "${1}"
+        return
+    fi
+    local t="${1//\\/\\\\}"
+    echo \'${t//\'/\'\\\'\'}\' #'# Help vim syntax highlighting
 }
 
 # This function shell-dequotes the argument
 dequote()
 {
-	eval echo "$1"
+    eval echo "$1"
 }
 
 # Get the word to complete.
@@ -246,9 +246,9 @@ dequote()
 _get_cword()
 {
     if [ -n "$bash4" ] ; then
-	__get_cword4 "$@"
+        __get_cword4 "$@"
     else
-	__get_cword3
+        __get_cword3
     fi
 } # _get_cword()
 
@@ -269,43 +269,43 @@ _get_cword()
 #
 __get_cword3()
 {
-	if [[ "${#COMP_WORDS[COMP_CWORD]}" -eq 0 ]] || [[ "$COMP_POINT" == "${#COMP_LINE}" ]]; then
-		printf "%s" "${COMP_WORDS[COMP_CWORD]}"
-	else
-		local i
-		local cur="$COMP_LINE"
-		local index="$COMP_POINT"
-		for (( i = 0; i <= COMP_CWORD; ++i )); do
-			while [[
-				# Current COMP_WORD fits in $cur?
-				"${#cur}" -ge ${#COMP_WORDS[i]} &&
-				# $cur doesn't match COMP_WORD?
-				"${cur:0:${#COMP_WORDS[i]}}" != "${COMP_WORDS[i]}"
-			]]; do
-				# Strip first character
-				cur="${cur:1}"
-				# Decrease cursor position
-				index="$(( index - 1 ))"
-			done
-
-			# Does found COMP_WORD matches COMP_CWORD?
-			if [[ "$i" -lt "$COMP_CWORD" ]]; then
-				# No, COMP_CWORD lies further;
-				local old_size="${#cur}"
-				cur="${cur#${COMP_WORDS[i]}}"
-				local new_size="${#cur}"
-				index="$(( index - old_size + new_size ))"
-			fi
-		done
-
-		if [[ "${COMP_WORDS[COMP_CWORD]:0:${#cur}}" != "$cur" ]]; then
-			# We messed up! At least return the whole word so things
-			# keep working
-			printf "%s" "${COMP_WORDS[COMP_CWORD]}"
-		else
-			printf "%s" "${cur:0:$index}"
-		fi
-	fi
+    if [[ "${#COMP_WORDS[COMP_CWORD]}" -eq 0 ]] || [[ "$COMP_POINT" == "${#COMP_LINE}" ]]; then
+        printf "%s" "${COMP_WORDS[COMP_CWORD]}"
+    else
+        local i
+        local cur="$COMP_LINE"
+        local index="$COMP_POINT"
+        for (( i = 0; i <= COMP_CWORD; ++i )); do
+            while [[
+                # Current COMP_WORD fits in $cur?
+                "${#cur}" -ge ${#COMP_WORDS[i]} &&
+                # $cur doesn't match COMP_WORD?
+                "${cur:0:${#COMP_WORDS[i]}}" != "${COMP_WORDS[i]}"
+                ]]; do
+                # Strip first character
+                cur="${cur:1}"
+                # Decrease cursor position
+                index="$(( index - 1 ))"
+            done
+
+            # Does found COMP_WORD matches COMP_CWORD?
+            if [[ "$i" -lt "$COMP_CWORD" ]]; then
+                # No, COMP_CWORD lies further;
+                local old_size="${#cur}"
+                cur="${cur#${COMP_WORDS[i]}}"
+                local new_size="${#cur}"
+                index="$(( index - old_size + new_size ))"
+            fi
+        done
+
+        if [[ "${COMP_WORDS[COMP_CWORD]:0:${#cur}}" != "$cur" ]]; then
+            # We messed up! At least return the whole word so things
+            # keep working
+            printf "%s" "${COMP_WORDS[COMP_CWORD]}"
+        else
+            printf "%s" "${cur:0:$index}"
+        fi
+    fi
 } # __get_cword3()
 
 
@@ -331,42 +331,42 @@ __get_cword3()
 #
 __get_cword4()
 {
-	local i
-	local LC_CTYPE=C
-	local WORDBREAKS=$COMP_WORDBREAKS
-	# Strip single quote (') and double quote (") from WORDBREAKS to
-	# workaround a bug in bash-4.0, where quoted words are split
-	# unintended, see:
-	# http://www.mail-archive.com/bug-bash@gnu.org/msg06095.html
-	# This fixes simple quoting (e.g. $ a "b<TAB> returns "b instead of b)
-	# but still fails quoted spaces (e.g. $ a "b c<TAB> returns c instead
-	# of "b c).
-	WORDBREAKS=${WORDBREAKS//\"/}
-	WORDBREAKS=${WORDBREAKS//\'/}
-	if [ -n "$1" ]; then
-		for (( i=0; i<${#1}; ++i )); do
-			local char=${1:$i:1}
-			WORDBREAKS=${WORDBREAKS//$char/}
-		done
-	fi
-	local cur=${COMP_LINE:0:$COMP_POINT}
-	local tmp=$cur
-	local word_start=`expr "$tmp" : '.*['"$WORDBREAKS"']'`
-	while [ "$word_start" -ge 2 ]; do
-		# Get character before $word_start
-		local char=${cur:$(( $word_start - 2 )):1}
-		# If the WORDBREAK character isn't escaped, exit loop
-		if [ "$char" != "\\" ]; then
-			break
-		fi
-		# The WORDBREAK character is escaped;
-		# Recalculate $word_start
-		tmp=${COMP_LINE:0:$(( $word_start - 2 ))}
-		word_start=`expr "$tmp" : '.*['"$WORDBREAKS"']'`
-	done
-
-	cur=${cur:$word_start}
-	printf "%s" "$cur"
+    local i
+    local LC_CTYPE=C
+    local WORDBREAKS=$COMP_WORDBREAKS
+    # Strip single quote (') and double quote (") from WORDBREAKS to
+    # workaround a bug in bash-4.0, where quoted words are split
+    # unintended, see:
+    # http://www.mail-archive.com/bug-bash@gnu.org/msg06095.html
+    # This fixes simple quoting (e.g. $ a "b<TAB> returns "b instead of b)
+    # but still fails quoted spaces (e.g. $ a "b c<TAB> returns c instead
+    # of "b c).
+    WORDBREAKS=${WORDBREAKS//\"/}
+    WORDBREAKS=${WORDBREAKS//\'/}
+    if [ -n "$1" ]; then
+        for (( i=0; i<${#1}; ++i )); do
+            local char=${1:$i:1}
+            WORDBREAKS=${WORDBREAKS//$char/}
+        done
+    fi
+    local cur=${COMP_LINE:0:$COMP_POINT}
+    local tmp=$cur
+    local word_start=`expr "$tmp" : '.*['"$WORDBREAKS"']'`
+    while [ "$word_start" -ge 2 ]; do
+        # Get character before $word_start
+        local char=${cur:$(( $word_start - 2 )):1}
+        # If the WORDBREAK character isn't escaped, exit loop
+        if [ "$char" != "\\" ]; then
+            break
+        fi
+        # The WORDBREAK character is escaped;
+        # Recalculate $word_start
+        tmp=${COMP_LINE:0:$(( $word_start - 2 ))}
+        word_start=`expr "$tmp" : '.*['"$WORDBREAKS"']'`
+    done
+
+    cur=${cur:$word_start}
+    printf "%s" "$cur"
 } # _get_cword4()
 
 
@@ -377,43 +377,43 @@ __get_cword4()
 #
 _filedir()
 {
-	local IFS=$'\t\n' xspec
-
-	_expand || return 0
-
-	local -a toks
-	local tmp
-
-	# TODO: I've removed a "[ -n $tmp ] &&" before `echo $tmp',
-	#       and everything works again. If this bug
-	#       suddenly appears again (i.e. "cd /b<TAB>"
-	#       becomes "cd /"), remember to check for
-	#       other similar conditionals (here and
-	#       _filedir_xspec()). --David
-	# NOTE: The comment above has been moved outside of the subshell below,
-	#       because quotes-in-comments-in-a-subshell cause errors on
-	#       bash-3.1.  See also:
-	#       http://www.mail-archive.com/bug-bash@gnu.org/msg01667.html
-	toks=( ${toks[@]-} $(
-		compgen -d -- "$(quote_readline "$cur")" | {
-			while read -r tmp; do
-				echo $tmp
-			done
-		}
-	))
-
-	if [[ "$1" != -d ]]; then
-		xspec=${1:+"!*.$1"}
-		toks=( ${toks[@]-} $(
-			compgen -f -X "$xspec" -- "$(quote_readline "$cur")" | {
-				while read -r tmp; do
-					[ -n $tmp ] && echo $tmp
-				done
-			}
-		))
-	fi
-
-	COMPREPLY=( "${COMPREPLY[@]}" "${toks[@]}" )
+    local IFS=$'\t\n' xspec
+
+    _expand || return 0
+
+    local -a toks
+    local tmp
+
+    # TODO: I've removed a "[ -n $tmp ] &&" before `echo $tmp',
+    #       and everything works again. If this bug
+    #       suddenly appears again (i.e. "cd /b<TAB>"
+    #       becomes "cd /"), remember to check for
+    #       other similar conditionals (here and
+    #       _filedir_xspec()). --David
+    # NOTE: The comment above has been moved outside of the subshell below,
+    #       because quotes-in-comments-in-a-subshell cause errors on
+    #       bash-3.1.  See also:
+    #       http://www.mail-archive.com/bug-bash@gnu.org/msg01667.html
+    toks=( ${toks[@]-} $(
+    compgen -d -- "$(quote_readline "$cur")" | {
+    while read -r tmp; do
+        echo $tmp
+    done
+}
+))
+
+if [[ "$1" != -d ]]; then
+    xspec=${1:+"!*.$1"}
+    toks=( ${toks[@]-} $(
+    compgen -f -X "$xspec" -- "$(quote_readline "$cur")" | {
+    while read -r tmp; do
+        [ -n $tmp ] && echo $tmp
+    done
+}
+))
+    fi
+
+    COMPREPLY=( "${COMPREPLY[@]}" "${toks[@]}" )
 }
 
 # This function splits $cur=--foo=bar into $prev=--foo, $cur=bar, making it
@@ -422,76 +422,76 @@ _filedir()
 #
 _split_longopt()
 {
-	if [[ "$cur" == --?*=* ]]; then
-		# Cut also backslash before '=' in case it ended up there
-		# for some reason.
-		prev="${cur%%?(\\)=*}"
-		cur="${cur#*=}"
-		return 0
-	fi
-
-	return 1
+    if [[ "$cur" == --?*=* ]]; then
+        # Cut also backslash before '=' in case it ended up there
+        # for some reason.
+        prev="${cur%%?(\\)=*}"
+        cur="${cur#*=}"
+        return 0
+    fi
+
+    return 1
 }
 
 # This function tries to parse the output of $command --help
 #
 _parse_help() {
-	local cmd
-	cmd=$1
-	$cmd --help | \
-		grep -- "^[[:space:]]*-" | \
-		tr "," " " | \
-		awk '{print $1; if ($2 ~ /-.*/) { print $2 } }' | \
-		sed -e "s:=.*::g"
+    local cmd
+    cmd=$1
+    $cmd --help | \
+    grep -- "^[[:space:]]*-" | \
+    tr "," " " | \
+    awk '{print $1; if ($2 ~ /-.*/) { print $2 } }' | \
+    sed -e "s:=.*::g"
 }
 
 # This function completes on signal names
 #
 _signals()
 {
-	local i
-
-	# standard signal completion is rather braindead, so we need
-	# to hack around to get what we want here, which is to
-	# complete on a dash, followed by the signal name minus
-	# the SIG prefix
-	COMPREPLY=( $( compgen -A signal SIG${cur#-} ))
-	for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
-		COMPREPLY[i]=-${COMPREPLY[i]#SIG}
-	done
+    local i
+
+    # standard signal completion is rather braindead, so we need
+    # to hack around to get what we want here, which is to
+    # complete on a dash, followed by the signal name minus
+    # the SIG prefix
+    COMPREPLY=( $( compgen -A signal SIG${cur#-} ))
+    for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
+        COMPREPLY[i]=-${COMPREPLY[i]#SIG}
+    done
 }
 
 # This function completes on configured network interfaces
 #
 _configured_interfaces()
 {
-	if [ -f /etc/debian_version ]; then
-		# Debian system
-		COMPREPLY=( $( sed -ne 's|^iface \([^ ]\+\).*$|\1|p' \
-			       /etc/network/interfaces ) )
-	elif [ -f /etc/SuSE-release ]; then
-		# SuSE system
-		COMPREPLY=( $( command ls \
-			/etc/sysconfig/network/ifcfg-* | \
-			sed -ne 's|.*ifcfg-\('"$cur"'.*\)|\1|p' ) )
-	elif [ -f /etc/pld-release ]; then
-		# PLD Linux
-		COMPREPLY=( $( command ls -B \
-			/etc/sysconfig/interfaces | \
-			sed -ne 's|.*ifcfg-\('"$cur"'.*\)|\1|p' ) )
-	else
-		# Assume Red Hat
-		COMPREPLY=( $( command ls \
-			/etc/sysconfig/network-scripts/ifcfg-* | \
-			sed -ne 's|.*ifcfg-\('"$cur"'.*\)|\1|p' ) )
-	fi
+    if [ -f /etc/debian_version ]; then
+        # Debian system
+        COMPREPLY=( $( sed -ne 's|^iface \([^ ]\+\).*$|\1|p' \
+        /etc/network/interfaces ) )
+    elif [ -f /etc/SuSE-release ]; then
+        # SuSE system
+        COMPREPLY=( $( command ls \
+        /etc/sysconfig/network/ifcfg-* | \
+        sed -ne 's|.*ifcfg-\('"$cur"'.*\)|\1|p' ) )
+    elif [ -f /etc/pld-release ]; then
+        # PLD Linux
+        COMPREPLY=( $( command ls -B \
+        /etc/sysconfig/interfaces | \
+        sed -ne 's|.*ifcfg-\('"$cur"'.*\)|\1|p' ) )
+    else
+        # Assume Red Hat
+        COMPREPLY=( $( command ls \
+        /etc/sysconfig/network-scripts/ifcfg-* | \
+        sed -ne 's|.*ifcfg-\('"$cur"'.*\)|\1|p' ) )
+    fi
 }
 
 # This function completes on available kernels
 #
 _kernel_versions()
 {
-	COMPREPLY=( $( compgen -W '$( command ls /lib/modules )' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '$( command ls /lib/modules )' -- "$cur" ) )
 }
 
 # This function completes on all available network interfaces
@@ -500,39 +500,39 @@ _kernel_versions()
 #
 _available_interfaces()
 {
-	local cmd
-
-	if [ "${1:-}" = -w ]; then
-		cmd="iwconfig"
-	elif [ "${1:-}" = -a ]; then
-		cmd="ifconfig"
-	else
-		cmd="ifconfig -a"
-	fi
-
-	COMPREPLY=( $( eval $cmd 2>/dev/null | \
-		sed -ne 's|^\('"$cur"'[^[:space:][:punct:]]\{1,\}\).*$|\1|p') )
+    local cmd
+
+    if [ "${1:-}" = -w ]; then
+        cmd="iwconfig"
+    elif [ "${1:-}" = -a ]; then
+        cmd="ifconfig"
+    else
+        cmd="ifconfig -a"
+    fi
+
+    COMPREPLY=( $( eval $cmd 2>/dev/null | \
+    sed -ne 's|^\('"$cur"'[^[:space:][:punct:]]\{1,\}\).*$|\1|p') )
 }
 
 # This function expands tildes in pathnames
 #
 _expand()
 {
-	# FIXME: Why was this here?
-	#[ "$cur" != "${cur%\\}" ] && cur="$cur\\"
-
-	# Expand ~username type directory specifications.  We want to expand
-	# ~foo/... to /home/foo/... to avoid problems when $cur starting with
-	# a tilde is fed to commands and ending up quoted instead of expanded.
-
-	if [[ "$cur" == \~*/* ]]; then
-		eval cur=$cur
-	elif [[ "$cur" == \~* ]]; then
-		cur=${cur#\~}
-		COMPREPLY=( $( compgen -P '~' -u "$cur" ) )
-		[ ${#COMPREPLY[@]} -eq 1 ] && eval COMPREPLY[0]=${COMPREPLY[0]}
-		return ${#COMPREPLY[@]}
-	fi
+    # FIXME: Why was this here?
+    #[ "$cur" != "${cur%\\}" ] && cur="$cur\\"
+
+    # Expand ~username type directory specifications.  We want to expand
+    # ~foo/... to /home/foo/... to avoid problems when $cur starting with
+    # a tilde is fed to commands and ending up quoted instead of expanded.
+
+    if [[ "$cur" == \~*/* ]]; then
+        eval cur=$cur
+    elif [[ "$cur" == \~* ]]; then
+        cur=${cur#\~}
+        COMPREPLY=( $( compgen -P '~' -u "$cur" ) )
+        [ ${#COMPREPLY[@]} -eq 1 ] && eval COMPREPLY[0]=${COMPREPLY[0]}
+        return ${#COMPREPLY[@]}
+    fi
 }
 
 # This function completes on process IDs.
@@ -540,11 +540,11 @@ _expand()
 [ $UNAME = SunOS -o $UNAME = AIX ] &&
 _pids()
 {
-	COMPREPLY=( $( compgen -W '$( command ps -efo pid | sed 1d )' -- "$cur" ))
+    COMPREPLY=( $( compgen -W '$( command ps -efo pid | sed 1d )' -- "$cur" ))
 } ||
 _pids()
 {
-	COMPREPLY=( $( compgen -W '$( command ps axo pid= )' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '$( command ps axo pid= )' -- "$cur" ) )
 }
 
 # This function completes on process group IDs.
@@ -552,11 +552,11 @@ _pids()
 [ $UNAME = SunOS -o $UNAME = AIX ] &&
 _pgids()
 {
-	COMPREPLY=( $( compgen -W '$( command ps -efo pgid | sed 1d )' -- "$cur" ))
+    COMPREPLY=( $( compgen -W '$( command ps -efo pgid | sed 1d )' -- "$cur" ))
 } ||
 _pgids()
 {
-	COMPREPLY=( $( compgen -W '$( command ps axo pgid= )' -- "$cur" ))
+    COMPREPLY=( $( compgen -W '$( command ps axo pgid= )' -- "$cur" ))
 }
 
 # This function completes on process names.
@@ -564,114 +564,114 @@ _pgids()
 [ $UNAME = SunOS -o $UNAME = AIX ] &&
 _pnames()
 {
-	COMPREPLY=( $( compgen -W '$( command ps -efo comm | \
-			           sed -e 1d -e "s:.*/::" -e "s/^-//" \
-				       -e "s/^<defunct>$//")' \
-			           -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '$( command ps -efo comm | \
+    sed -e 1d -e "s:.*/::" -e "s/^-//" \
+    -e "s/^<defunct>$//")' \
+    -- "$cur" ) )
 } ||
 _pnames()
 {
-	# FIXME: completes "[kblockd/0]" to "0". Previously it was completed
-	# to "kblockd" which isn't correct either. "kblockd/0" would be
-	# arguably most correct, but killall from psmisc 22 treats arguments
-	# containing "/" specially unless -r is given so that wouldn't quite
-	# work either. Perhaps it'd be best to not complete these to anything
-	# for now.
-	# Not using "ps axo comm" because under some Linux kernels, it
-	# truncates command names (see e.g. http://bugs.debian.org/497540#19)
-	COMPREPLY=( $( compgen -W '$( command ps axo command= | \
-			           sed -e "s/ .*//; s:.*/::; s/:$//;" \
-			               -e "s/^[[(-]//; s/[])]$//" \
-				       -e "s/^<defunct>$//")' \
-			           -- "$cur" ) )
+    # FIXME: completes "[kblockd/0]" to "0". Previously it was completed
+    # to "kblockd" which isn't correct either. "kblockd/0" would be
+    # arguably most correct, but killall from psmisc 22 treats arguments
+    # containing "/" specially unless -r is given so that wouldn't quite
+    # work either. Perhaps it'd be best to not complete these to anything
+    # for now.
+    # Not using "ps axo comm" because under some Linux kernels, it
+    # truncates command names (see e.g. http://bugs.debian.org/497540#19)
+    COMPREPLY=( $( compgen -W '$( command ps axo command= | \
+    sed -e "s/ .*//; s:.*/::; s/:$//;" \
+    -e "s/^[[(-]//; s/[])]$//" \
+    -e "s/^<defunct>$//")' \
+    -- "$cur" ) )
 }
 
 # This function completes on user IDs
 #
 _uids()
 {
-	if type getent &>/dev/null; then
-	    COMPREPLY=( $( compgen -W '$( getent passwd | cut -d: -f3 )' -- "$cur" ) )
-	elif type perl &>/dev/null; then
-	    COMPREPLY=( $( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- "$cur" ) )
-	else
-	    # make do with /etc/passwd
-	    COMPREPLY=( $( compgen -W '$( cut -d: -f3 /etc/passwd )' -- "$cur" ) )
-	fi
+    if type getent &>/dev/null; then
+        COMPREPLY=( $( compgen -W '$( getent passwd | cut -d: -f3 )' -- "$cur" ) )
+    elif type perl &>/dev/null; then
+        COMPREPLY=( $( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- "$cur" ) )
+    else
+        # make do with /etc/passwd
+        COMPREPLY=( $( compgen -W '$( cut -d: -f3 /etc/passwd )' -- "$cur" ) )
+    fi
 }
 
 # This function completes on group IDs
 #
 _gids()
 {
-	if type getent &>/dev/null; then
-	    COMPREPLY=( $( getent group | \
-			    awk -F: '{if ($3 ~ /^'"$cur"'/) print $3}' ) )
-	elif type perl &>/dev/null; then
-	    COMPREPLY=( $( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- "$cur" ) )
-	else
-	    # make do with /etc/group
-	    COMPREPLY=( $( awk 'BEGIN {FS=":"} {if ($3 ~ /^'"$cur"'/) print $3}'\
-			    /etc/group ) )
-	fi
+    if type getent &>/dev/null; then
+        COMPREPLY=( $( getent group | \
+        awk -F: '{if ($3 ~ /^'"$cur"'/) print $3}' ) )
+    elif type perl &>/dev/null; then
+        COMPREPLY=( $( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- "$cur" ) )
+    else
+        # make do with /etc/group
+        COMPREPLY=( $( awk 'BEGIN {FS=":"} {if ($3 ~ /^'"$cur"'/) print $3}'\
+        /etc/group ) )
+    fi
 }
 
 # This function completes on services
 #
 _services()
 {
-	local sysvdir famdir
-	[ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d
-	famdir=/etc/xinetd.d
-	COMPREPLY=( $( builtin echo $sysvdir/!(*.rpm@(orig|new|save)|*~|functions)) )
+    local sysvdir famdir
+    [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d
+    famdir=/etc/xinetd.d
+    COMPREPLY=( $( builtin echo $sysvdir/!(*.rpm@(orig|new|save)|*~|functions)) )
 
-	if [ -d $famdir ]; then
-		COMPREPLY=( "${COMPREPLY[@]}" $( builtin echo $famdir/!(*.rpm@(orig|new|save)|*~)) )
-	fi
+    if [ -d $famdir ]; then
+        COMPREPLY=( "${COMPREPLY[@]}" $( builtin echo $famdir/!(*.rpm@(orig|new|save)|*~)) )
+    fi
 
-	COMPREPLY=( $( compgen -W '${COMPREPLY[@]#@($sysvdir|$famdir)/}' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '${COMPREPLY[@]#@($sysvdir|$famdir)/}' -- "$cur" ) )
 }
 
 # This function completes on modules
 #
 _modules()
 {
-	local modpath
-	modpath=/lib/modules/$1
-	COMPREPLY=( $( command ls -R $modpath | \
-			sed -ne 's/^\('"$cur"'.*\)\.k\?o\(\|.gz\)$/\1/p') )
+    local modpath
+    modpath=/lib/modules/$1
+    COMPREPLY=( $( command ls -R $modpath | \
+    sed -ne 's/^\('"$cur"'.*\)\.k\?o\(\|.gz\)$/\1/p') )
 }
 
 # This function completes on installed modules
 #
 _installed_modules()
 {
-	COMPREPLY=( $( compgen -W "$( PATH="$PATH:/sbin" lsmod | \
-				  awk '{if (NR != 1) print $1}' )" -- $1 ) )
+    COMPREPLY=( $( compgen -W "$( PATH="$PATH:/sbin" lsmod | \
+    awk '{if (NR != 1) print $1}' )" -- $1 ) )
 }
 
 # This function completes on user:group format
 #
 _usergroup()
 {
-	local IFS=$'\n'
-	cur=${cur//\\\\ / }
-	if [[ $cur = *@(\\:|.)* ]] && [ -n "$bash205" ]; then
-		user=${cur%%*([^:.])}
-		COMPREPLY=( $(compgen -P ${user/\\\\} -g -- ${cur##*[.:]}) )
-	elif [[ $cur = *:* ]] && [ -n "$bash205" ]; then
-		COMPREPLY=( $( compgen -g -- ${cur##*[.:]} ) )
-	else
-		COMPREPLY=( $( compgen -S : -u -- "$cur" ) )
-	fi
+    local IFS=$'\n'
+    cur=${cur//\\\\ / }
+    if [[ $cur = *@(\\:|.)* ]] && [ -n "$bash205" ]; then
+        user=${cur%%*([^:.])}
+        COMPREPLY=( $(compgen -P ${user/\\\\} -g -- ${cur##*[.:]}) )
+    elif [[ $cur = *:* ]] && [ -n "$bash205" ]; then
+        COMPREPLY=( $( compgen -g -- ${cur##*[.:]} ) )
+    else
+        COMPREPLY=( $( compgen -S : -u -- "$cur" ) )
+    fi
 }
 
 # This function completes on valid shells
 #
 _shells()
 {
-	COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W '$( grep "^[[:space:]]*/" \
-			/etc/shells 2>/dev/null )' -- "$cur" ) )
+    COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W '$( grep "^[[:space:]]*/" \
+    /etc/shells 2>/dev/null )' -- "$cur" ) )
 }
 
 # Get real command.
@@ -680,15 +680,15 @@ _shells()
 #            Empty string if command not found.
 # - return:  True (0) if command found, False (> 0) if not.
 _realcommand() {
-	type -P "$1" > /dev/null && {
-		if type -p realpath > /dev/null; then
-			realpath "$(type -P "$1")"
-		elif type -p readlink > /dev/null; then
-			readlink -f "$(type -P "$1")"
-		else
-			type -P "$1"
-		fi
-	}
+    type -P "$1" > /dev/null && {
+    if type -p realpath > /dev/null; then
+        realpath "$(type -P "$1")"
+    elif type -p readlink > /dev/null; then
+        readlink -f "$(type -P "$1")"
+    else
+        type -P "$1"
+    fi
+}
 }
 
 
@@ -696,306 +696,306 @@ _realcommand() {
 #
 _count_args()
 {
-	args=1
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" != -* ]]; then
-			args=$(($args+1))
-		fi
-	done
+    args=1
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" != -* ]]; then
+            args=$(($args+1))
+        fi
+    done
 }
 
 # This function completes on PCI IDs
 #
 _pci_ids()
 {
-	COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W \
-		"$( PATH="$PATH:/sbin" lspci -n | awk '{print $3}')" -- "$cur" ) )
+    COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W \
+    "$( PATH="$PATH:/sbin" lspci -n | awk '{print $3}')" -- "$cur" ) )
 }
 
 # This function completes on USB IDs
 #
 _usb_ids()
 {
-	COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W \
-		"$( PATH="$PATH:/sbin" lsusb | awk '{print $6}' )" -- "$cur" ) )
+    COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W \
+    "$( PATH="$PATH:/sbin" lsusb | awk '{print $6}' )" -- "$cur" ) )
 }
 
 # start of section containing completion functions for external programs
 
 # a little help for FreeBSD ports users
 [ $UNAME = FreeBSD ] && complete -W 'index search fetch fetch-list \
-	extract patch configure build install reinstall \
-	deinstall clean clean-depends kernel buildworld' make
+extract patch configure build install reinstall \
+deinstall clean clean-depends kernel buildworld' make
 
 # This completes on a list of all available service scripts for the
 # 'service' command and/or the SysV init.d directory, followed by
 # that script's available commands
 #
 { have service || [ -d /etc/init.d/ ]; } &&
-_service()
-{
-	local cur prev sysvdir
-
-	COMPREPLY=()
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	cur=`_get_cword`
-
-	# don't complete for things like killall, ssh and mysql if it's
-	# the standalone command, rather than the init script
-	[[ ${COMP_WORDS[0]} != @(*init.d/!(functions|~)|service) ]] && return 0
-
-	# don't complete past 2nd token
-	[ $COMP_CWORD -gt 2 ] && return 0
-
-	[ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
-				|| sysvdir=/etc/init.d
-
-	if [[ $COMP_CWORD -eq 1 ]] && [[ $prev == "service" ]]; then
-		_services
-	else
-		COMPREPLY=( $( compgen -W '`sed -ne "y/|/ /; \
-				s/^.*\(U\|msg_u\)sage.*{\(.*\)}.*$/\1/p" \
-				$sysvdir/${prev##*/} 2>/dev/null`' -- "$cur" ) )
-	fi
-
-	return 0
-} &&
-complete -F _service service
-[ -d /etc/init.d/ ] && complete -F _service $default \
-	$(for i in /etc/init.d/*; do echo ${i##*/}; done)
-
-# chown(1) completion
-#
-_chown()
-{
-	local cur prev split=false
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		--from)
-			_usergroup
-			return 0
-			;;
-		--reference)
-			_filedir
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	# options completion
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -h -f -R -v --changes \
-		--dereference --no-dereference --from --silent --quiet \
-		--reference --recursive --verbose --help --version' -- "$cur" ) )
-	else
-		_count_args
-
-		case $args in
-			1)
-				_usergroup
-				;;
-			*)
-				_filedir
-				;;
-		esac
-	fi
-}
-complete -F _chown $filenames chown
-
-# chgrp(1) completion
-#
-_chgrp()
-{
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	cur=${cur//\\\\/}
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	if [[ "$prev" == --reference ]]; then
-		_filedir
-		return 0
-	fi
-
-	$split && return 0
-
-	# options completion
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -h -f -R -v --changes \
-		--dereference --no-dereference --silent --quiet \
-		--reference --recursive --verbose --help --version' -- "$cur" ) )
-		return 0
-	fi
-
-	# first parameter on line or first since an option?
-	if [ $COMP_CWORD -eq 1 ] && [[ "$cur" != -* ]] || \
-	   [[ "$prev" == -* ]] && [ -n "$bash205" ]; then
-		local IFS=$'\n'
-		COMPREPLY=( $( compgen -g "$cur" 2>/dev/null ) )
-	else
-		_filedir || return 0
-	fi
-
-	return 0
-}
-complete -F _chgrp $filenames chgrp
-
-# umount(8) completion. This relies on the mount point being the third
-# space-delimited field in the output of mount(8)
-#
-_umount()
-{
-	local cur IFS=$'\n'
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	COMPREPLY=( $( compgen -W '$( mount | cut -d" " -f 3 )' -- "$cur" ) )
-
-	return 0
-}
-complete -F _umount $dirnames umount
-
-# mount(8) completion. This will pull a list of possible mounts out of
-# /etc/{,v}fstab, unless the word being completed contains a ':', which
-# would indicate the specification of an NFS server. In that case, we
-# query the server for a list of all available exports and complete on
-# that instead.
-#
-_mount()
-{
-	local cur i sm host prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	[[ "$cur" == \\ ]] && cur="/"
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	for i in {,/usr}/{,s}bin/showmount; do [ -x $i ] && sm=$i && break; done
-
-	if [ -n "$sm" ] && [[ "$cur" == *:* ]]; then
-		COMPREPLY=( $( $sm -e ${cur%%:*} | sed 1d | \
-			       grep ^${cur#*:} | awk '{print $1}' ) )
-	elif [[ "$cur" == //* ]]; then
-		host=${cur#//}
-		host=${host%%/*}
-		if [ -n "$host" ]; then
-			COMPREPLY=( $( compgen -W "$( echo $( smbclient -d 0 -NL $host 2>/dev/null|
-			sed -ne '/^['"$'\t '"']*Sharename/,/^$/p' |
-			sed -ne '3,$s|^[^A-Za-z]*\([^'"$'\t '"']*\).*$|//'$host'/\1|p' ) )" -- "$cur" ) )
-		fi
-	elif [ -r /etc/vfstab ]; then
-		# Solaris
-		COMPREPLY=( $( compgen -W "$( awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' /etc/vfstab )" -- "$cur" ) )
-	elif [ ! -e /etc/fstab ]; then
-		# probably Cygwin
-		COMPREPLY=( $( compgen -W "$( mount | awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' )" -- "$cur" ) )
-	else
-		# probably Linux
-		if [ $prev = -L ]; then
-			COMPREPLY=( $( compgen -W '$(sed -ne "s/^[[:space:]]*LABEL=\([^[:space:]]*\).*/\1/p" /etc/fstab )' -- "$cur" ) )
-		elif [ $prev = -U ]; then
-			COMPREPLY=( $( compgen -W '$(sed -ne "s/^[[:space:]]*UUID=\([^[:space:]]*\).*/\1/p" /etc/fstab )' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W "$( awk '! /^[ \t]*#/ {if ($2 ~ /\//) print $2}' /etc/fstab )" -- "$cur" ) )
-		fi
-	fi
-
-	return 0
-}
-complete -F _mount $default $dirnames mount
-
-# Linux rmmod(8) completion. This completes on a list of all currently
-# installed kernel modules.
-#
-have rmmod && {
-_rmmod()
-{
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_installed_modules "$cur"
-	return 0
-}
-complete -F _rmmod rmmod
-
-# Linux insmod(8), modprobe(8) and modinfo(8) completion. This completes on a
-# list of all available modules for the version of the kernel currently
-# running.
-#
-_insmod()
-{
-	local cur prev modpath
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	# behave like lsmod for modprobe -r
-	if [ $1 = "modprobe" ] &&
-	   [ "${COMP_WORDS[1]}" = "-r" ]; then
-		_installed_modules "$cur"
-		return 0
-	fi
-
-	# do filename completion if we're giving a path to a module
-	if [[ "$cur" == */* ]]; then
-		_filedir '@(?(k)o?(.gz))'
-		return 0
-	fi
-
-	if [ $COMP_CWORD -gt 1 ] &&
-	   [[ "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
-		# do module parameter completion
-		COMPREPLY=( $( /sbin/modinfo -p ${COMP_WORDS[1]} 2>/dev/null | \
-		       awk '{if ($1 ~ /^parm:/ && $2 ~ /^'"$cur"'/) { print $2 } \
-			else if ($1 !~ /:/ && $1 ~ /^'"$cur"'/) { print $1 }}' ) )
-	else
-		_modules $(uname -r)
-	fi
-
-	return 0
-}
-complete -F _insmod $filenames insmod modprobe modinfo
+    _service()
+    {
+        local cur prev sysvdir
+
+        COMPREPLY=()
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+        cur=`_get_cword`
+
+        # don't complete for things like killall, ssh and mysql if it's
+        # the standalone command, rather than the init script
+        [[ ${COMP_WORDS[0]} != @(*init.d/!(functions|~)|service) ]] && return 0
+
+        # don't complete past 2nd token
+        [ $COMP_CWORD -gt 2 ] && return 0
+
+        [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
+        || sysvdir=/etc/init.d
+
+        if [[ $COMP_CWORD -eq 1 ]] && [[ $prev == "service" ]]; then
+            _services
+        else
+            COMPREPLY=( $( compgen -W '`sed -ne "y/|/ /; \
+            s/^.*\(U\|msg_u\)sage.*{\(.*\)}.*$/\1/p" \
+            $sysvdir/${prev##*/} 2>/dev/null`' -- "$cur" ) )
+        fi
+
+        return 0
+    } &&
+    complete -F _service service
+    [ -d /etc/init.d/ ] && complete -F _service $default \
+    $(for i in /etc/init.d/*; do echo ${i##*/}; done)
+
+    # chown(1) completion
+    #
+    _chown()
+    {
+        local cur prev split=false
+        cur=`_get_cword`
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+
+        _split_longopt && split=true
+
+        case "$prev" in
+            --from)
+                _usergroup
+                return 0
+                ;;
+            --reference)
+                _filedir
+                return 0
+                ;;
+        esac
+
+        $split && return 0
+
+        # options completion
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-c -h -f -R -v --changes \
+            --dereference --no-dereference --from --silent --quiet \
+            --reference --recursive --verbose --help --version' -- "$cur" ) )
+        else
+            _count_args
+
+            case $args in
+                1)
+                    _usergroup
+                    ;;
+                *)
+                    _filedir
+                    ;;
+            esac
+        fi
+    }
+    complete -F _chown $filenames chown
+
+    # chgrp(1) completion
+    #
+    _chgrp()
+    {
+        local cur prev split=false
+
+        COMPREPLY=()
+        cur=`_get_cword`
+        cur=${cur//\\\\/}
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+
+        _split_longopt && split=true
+
+        if [[ "$prev" == --reference ]]; then
+            _filedir
+            return 0
+        fi
+
+        $split && return 0
+
+        # options completion
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-c -h -f -R -v --changes \
+            --dereference --no-dereference --silent --quiet \
+            --reference --recursive --verbose --help --version' -- "$cur" ) )
+            return 0
+        fi
+
+        # first parameter on line or first since an option?
+        if [ $COMP_CWORD -eq 1 ] && [[ "$cur" != -* ]] || \
+            [[ "$prev" == -* ]] && [ -n "$bash205" ]; then
+            local IFS=$'\n'
+            COMPREPLY=( $( compgen -g "$cur" 2>/dev/null ) )
+        else
+            _filedir || return 0
+        fi
+
+        return 0
+    }
+    complete -F _chgrp $filenames chgrp
+
+    # umount(8) completion. This relies on the mount point being the third
+    # space-delimited field in the output of mount(8)
+    #
+    _umount()
+    {
+        local cur IFS=$'\n'
+
+        COMPREPLY=()
+        cur=`_get_cword`
+
+        COMPREPLY=( $( compgen -W '$( mount | cut -d" " -f 3 )' -- "$cur" ) )
+
+        return 0
+    }
+    complete -F _umount $dirnames umount
+
+    # mount(8) completion. This will pull a list of possible mounts out of
+    # /etc/{,v}fstab, unless the word being completed contains a ':', which
+    # would indicate the specification of an NFS server. In that case, we
+    # query the server for a list of all available exports and complete on
+    # that instead.
+    #
+    _mount()
+    {
+        local cur i sm host prev
+
+        COMPREPLY=()
+        cur=`_get_cword`
+        [[ "$cur" == \\ ]] && cur="/"
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+
+        for i in {,/usr}/{,s}bin/showmount; do [ -x $i ] && sm=$i && break; done
+
+        if [ -n "$sm" ] && [[ "$cur" == *:* ]]; then
+            COMPREPLY=( $( $sm -e ${cur%%:*} | sed 1d | \
+            grep ^${cur#*:} | awk '{print $1}' ) )
+        elif [[ "$cur" == //* ]]; then
+            host=${cur#//}
+            host=${host%%/*}
+            if [ -n "$host" ]; then
+                COMPREPLY=( $( compgen -W "$( echo $( smbclient -d 0 -NL $host 2>/dev/null|
+                sed -ne '/^['"$'\t '"']*Sharename/,/^$/p' |
+                sed -ne '3,$s|^[^A-Za-z]*\([^'"$'\t '"']*\).*$|//'$host'/\1|p' ) )" -- "$cur" ) )
+            fi
+        elif [ -r /etc/vfstab ]; then
+            # Solaris
+            COMPREPLY=( $( compgen -W "$( awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' /etc/vfstab )" -- "$cur" ) )
+        elif [ ! -e /etc/fstab ]; then
+            # probably Cygwin
+            COMPREPLY=( $( compgen -W "$( mount | awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' )" -- "$cur" ) )
+        else
+            # probably Linux
+            if [ $prev = -L ]; then
+                COMPREPLY=( $( compgen -W '$(sed -ne "s/^[[:space:]]*LABEL=\([^[:space:]]*\).*/\1/p" /etc/fstab )' -- "$cur" ) )
+            elif [ $prev = -U ]; then
+                COMPREPLY=( $( compgen -W '$(sed -ne "s/^[[:space:]]*UUID=\([^[:space:]]*\).*/\1/p" /etc/fstab )' -- "$cur" ) )
+            else
+                COMPREPLY=( $( compgen -W "$( awk '! /^[ \t]*#/ {if ($2 ~ /\//) print $2}' /etc/fstab )" -- "$cur" ) )
+            fi
+        fi
+
+        return 0
+    }
+    complete -F _mount $default $dirnames mount
+
+    # Linux rmmod(8) completion. This completes on a list of all currently
+    # installed kernel modules.
+    #
+    have rmmod && {
+    _rmmod()
+    {
+        local cur
+
+        COMPREPLY=()
+        cur=`_get_cword`
+
+        _installed_modules "$cur"
+        return 0
+    }
+    complete -F _rmmod rmmod
+
+    # Linux insmod(8), modprobe(8) and modinfo(8) completion. This completes on a
+    # list of all available modules for the version of the kernel currently
+    # running.
+    #
+    _insmod()
+    {
+        local cur prev modpath
+
+        COMPREPLY=()
+        cur=`_get_cword`
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+
+        # behave like lsmod for modprobe -r
+        if [ $1 = "modprobe" ] &&
+            [ "${COMP_WORDS[1]}" = "-r" ]; then
+            _installed_modules "$cur"
+            return 0
+        fi
+
+        # do filename completion if we're giving a path to a module
+        if [[ "$cur" == */* ]]; then
+            _filedir '@(?(k)o?(.gz))'
+            return 0
+        fi
+
+        if [ $COMP_CWORD -gt 1 ] &&
+            [[ "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
+            # do module parameter completion
+            COMPREPLY=( $( /sbin/modinfo -p ${COMP_WORDS[1]} 2>/dev/null | \
+            awk '{if ($1 ~ /^parm:/ && $2 ~ /^'"$cur"'/) { print $2 } \
+        else if ($1 !~ /:/ && $1 ~ /^'"$cur"'/) { print $1 }}' ) )
+        else
+            _modules $(uname -r)
+        fi
+
+        return 0
+    }
+    complete -F _insmod $filenames insmod modprobe modinfo
 }
 
 # renice(8) completion
 #
 _renice()
 {
-	local command cur curopt i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	command=$1
-
-	i=0
-	# walk back through command line and find last option
-	while [ $i -le $COMP_CWORD -a ${#COMPREPLY[@]} -eq 0 ]; do
-		curopt=${COMP_WORDS[COMP_CWORD-$i]}
-		case "$curopt" in
-		-u)
-			COMPREPLY=( $( compgen -u -- "$cur" ) )
-			;;
-		-g)
-			_pgids
-			;;
-		-p|$command)
-			_pids
-			;;
-		esac
-		i=$(( ++i ))
-	done
+    local command cur curopt i
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    command=$1
+
+    i=0
+    # walk back through command line and find last option
+    while [ $i -le $COMP_CWORD -a ${#COMPREPLY[@]} -eq 0 ]; do
+        curopt=${COMP_WORDS[COMP_CWORD-$i]}
+        case "$curopt" in
+            -u)
+                COMPREPLY=( $( compgen -u -- "$cur" ) )
+                ;;
+            -g)
+                _pgids
+                ;;
+            -p|$command)
+                _pids
+                ;;
+        esac
+        i=$(( ++i ))
+    done
 }
 complete -F _renice renice
 
@@ -1003,18 +1003,18 @@ complete -F _renice renice
 #
 _kill()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
-		# return list of available signals
-		_signals
-	else
-		# return list of available PIDs
-		_pids
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
+        # return list of available signals
+        _signals
+    else
+        # return list of available PIDs
+        _pids
+    fi
 }
 complete -F _kill kill
 
@@ -1023,18 +1023,18 @@ complete -F _kill kill
 [ $UNAME = Linux -o $UNAME = FreeBSD ] || have pkill &&
 _killall()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
-		_signals
-	else
-		_pnames
-	fi
+    if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
+        _signals
+    else
+        _pnames
+    fi
 
-	return 0
+    return 0
 }
 [ $UNAME = Linux -o $UNAME = FreeBSD ] && complete -F _killall killall
 have pkill && complete -F _killall pkill
@@ -1044,14 +1044,14 @@ have pkill && complete -F _killall pkill
 [ $UNAME = Linux ] || have pgrep &&
 _pgrep()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	_pnames
+    _pnames
 
-	return 0
+    return 0
 }
 have pgrep && complete -F _pgrep pgrep
 
@@ -1063,17 +1063,17 @@ have pgrep && complete -F _pgrep pgrep
 [ $USERLAND = GNU ] && { have ifup || have ifdown; } &&
 _ifupdown()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		_configured_interfaces
-		COMPREPLY=( $(compgen -W '${COMPREPLY[@]}' -- "$cur") )
-       fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        _configured_interfaces
+        COMPREPLY=( $(compgen -W '${COMPREPLY[@]}' -- "$cur") )
+    fi
 
-       return 0
+    return 0
 } &&
 complete -F _ifupdown ifup ifdown
 [ $USERLAND = GNU ] && have ifstatus && complete -F _ifupdown ifstatus
@@ -1083,62 +1083,61 @@ complete -F _ifupdown ifup ifdown
 [ $UNAME = Linux ] && have ipsec &&
 _ipsec()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W 'auto barf eroute klipsdebug look \
-					   manual pluto ranbits rsasigkey \
-					   setup showdefaults showhostkey spi \
-					   spigrp tncfg whack' -- "$cur" ) )
-		return 0
-	fi
-
-	case ${COMP_WORDS[1]} in
-	auto)
-		COMPREPLY=( $( compgen -W '--asynchronous --up --add --delete \
-					   --replace --down --route --unroute \
-					   --ready --status --rereadsecrets' \
-					-- "$cur" ) )
-		;;
-	manual)
-		COMPREPLY=( $( compgen -W '--up --down --route --unroute \
-					   --union' -- "$cur" ) )
-		;;
-	ranbits)
-		COMPREPLY=( $( compgen -W '--quick --continuous --bytes' \
-					  -- "$cur" ) )
-		;;
-	setup)
-		COMPREPLY=( $( compgen -W '--start --stop --restart' -- "$cur" ) )
-		;;
-
-	*)
-		;;
-	esac
-
-	return 0
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W 'auto barf eroute klipsdebug look \
+        manual pluto ranbits rsasigkey \
+        setup showdefaults showhostkey spi \
+        spigrp tncfg whack' -- "$cur" ) )
+        return 0
+    fi
+
+    case ${COMP_WORDS[1]} in
+        auto)
+            COMPREPLY=( $( compgen -W '--asynchronous --up --add --delete \
+                --replace --down --route --unroute \
+                --ready --status --rereadsecrets' \
+                -- "$cur" ) )
+            ;;
+        manual)
+            COMPREPLY=( $( compgen -W '--up --down --route --unroute \
+                --union' -- "$cur" ) )
+            ;;
+        ranbits)
+            COMPREPLY=( $( compgen -W '--quick --continuous --bytes' \
+                -- "$cur" ) )
+            ;;
+        setup)
+            COMPREPLY=( $( compgen -W '--start --stop --restart' -- "$cur" ) )
+            ;;
+        *)
+            ;;
+    esac
+
+    return 0
 } &&
 complete -F _ipsec ipsec
 
 # This function provides simple user at host completion
 #
 _user_at_host() {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ $cur == *@* ]]; then
-		_known_hosts_real "$cur"
-	else
-		COMPREPLY=( $( compgen -u -- "$cur" ) )
-	fi
+    if [[ $cur == *@* ]]; then
+        _known_hosts_real "$cur"
+    else
+        COMPREPLY=( $( compgen -u -- "$cur" ) )
+    fi
 
-	return 0
+    return 0
 }
 shopt -u hostcomplete && complete -F _user_at_host $nospace talk ytalk finger
 
@@ -1146,14 +1145,14 @@ shopt -u hostcomplete && complete -F _user_at_host $nospace talk ytalk finger
 #       `_known_hosts_real' instead.
 _known_hosts()
 {
-	local options
-	COMPREPLY=()
-
-	# NOTE: Using `_known_hosts' as a helper function and passing options
-	#       to `_known_hosts' is deprecated: Use `_known_hosts_real' instead.
-	[ "$1" = -a ] || [ "$2" = -a ] && options=-a
-	[ "$1" = -c ] || [ "$2" = -c ] && options="$options -c"
-	_known_hosts_real $options "$(_get_cword)"
+    local options
+    COMPREPLY=()
+
+    # NOTE: Using `_known_hosts' as a helper function and passing options
+    #       to `_known_hosts' is deprecated: Use `_known_hosts_real' instead.
+    [ "$1" = -a ] || [ "$2" = -a ] && options=-a
+    [ "$1" = -c ] || [ "$2" = -c ] && options="$options -c"
+    _known_hosts_real $options "$(_get_cword)"
 }
 
 # Helper function for completing _known_hosts.
@@ -1168,214 +1167,214 @@ _known_hosts()
 # Return: Completions, starting with CWORD, are added to COMPREPLY[]
 _known_hosts_real()
 {
-	local configfile flag prefix
-	local cur curd awkcur user suffix aliases global_kh user_kh hosts i host
-	local -a kh khd config
-
-	local OPTIND=1
-	while getopts "acF:p:" flag "$@"; do
-		case $flag in
-			a) aliases='yes' ;;
-			c) suffix=':' ;;
-			F) configfile=$OPTARG ;;
-			p) prefix=$OPTARG ;;
-		esac
-	done
-	[ $# -lt $OPTIND ] && echo "error: $FUNCNAME: missing mandatory argument CWORD"
-	cur=${!OPTIND}; let "OPTIND += 1"
-	[ $# -ge $OPTIND ] && echo "error: $FUNCNAME("$@"): unprocessed arguments:"\
-	    $(while [ $# -ge $OPTIND ]; do echo ${!OPTIND}; shift; done)
-
-	[[ $cur == *@* ]] && user=${cur%@*}@ && cur=${cur#*@}
-	kh=()
-
-	# ssh config files
-	if [ -n "$configfile" ]; then
-		[ -r "$configfile" ] &&
-		  config=( "${config[@]}" "$configfile" )
-	else
-		[ -r /etc/ssh/ssh_config ] &&
-		  config=( "${config[@]}" "/etc/ssh/ssh_config" )
-		[ -r "${HOME}/.ssh/config" ] &&
-		  config=( "${config[@]}" "${HOME}/.ssh/config" )
-		[ -r "${HOME}/.ssh2/config" ] &&
-		  config=( "${config[@]}" "${HOME}/.ssh2/config" )
-	fi
-
-	if [ ${#config[@]} -gt 0 ]; then
-		local OIFS=$IFS IFS=$'\n'
-		# expand path (if present) to global known hosts file
-		global_kh=($( sed -ne 's/^[ \t]*[Gg][Ll][Oo][Bb][Aa][Ll][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/"\1"/p' "${config[@]}" ))
-		for (( i=0; i < ${#global_kh[@]}; i++ )); do
-			global_kh[i]=$(echo "${global_kh[i]//\"/}")
-		done
-		# expand path (if present) to user known hosts file
-		user_kh=($( sed -ne 's/^[ \t]*[Uu][Ss][Ee][Rr][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/"\1"/p' "${config[@]}" ))
-		for (( i=0; i < ${#user_kh[@]}; i++ )); do
-			user_kh[i]=$(echo "${user_kh[i]//\"/}")
-		done
-		IFS=$OIFS
-	fi
-
-	# Global known_hosts files
-	[ -r "$global_kh" ] &&
-		kh=( "${kh[@]}" "${global_kh[@]}" )
-	if [ -z "$configfile" ]; then
-		[ -r /etc/ssh/ssh_known_hosts ] &&
-		  kh=( "${kh[@]}" /etc/ssh/ssh_known_hosts )
-		[ -r /etc/ssh/ssh_known_hosts2 ] &&
-		  kh=( "${kh[@]}" /etc/ssh/ssh_known_hosts2 )
-		[ -r /etc/known_hosts ] &&
-		  kh=( "${kh[@]}" /etc/known_hosts )
-		[ -r /etc/known_hosts2 ] &&
-		  kh=( "${kh[@]}" /etc/known_hosts2 )
-		[ -d /etc/ssh2/knownhosts ] &&
-		  khd=( "${khd[@]}" /etc/ssh2/knownhosts/*pub )
-	fi
-
-	# User known_hosts files
-	[ -r "$user_kh" ] &&
-		kh=( "${kh[@]}" "${user_kh[@]}" )
-	if [ -z "$configfile" ]; then
-		[ -r ~/.ssh/known_hosts ] &&
-		  kh=( "${kh[@]}" ~/.ssh/known_hosts )
-		[ -r ~/.ssh/known_hosts2 ] &&
-		  kh=( "${kh[@]}" ~/.ssh/known_hosts2 )
-		[ -d ~/.ssh2/hostkeys ] &&
-		  khd=( "${khd[@]}" ~/.ssh2/hostkeys/*pub )
-	fi
-
-	# If we have known_hosts files to use
-	if [ ${#kh[@]} -gt 0 -o ${#khd[@]} -gt 0 -o -n "$configfile" ]; then
-		# Escape slashes and dots in paths for awk
-		awkcur=${cur//\//\\\/}
-		awkcur=${awkcur//\./\\\.}
-		curd=$awkcur
-
-		if [[ "$awkcur" == [0-9]*.* ]]; then
-			# Digits followed by a dot - just search for that
-			awkcur="^$awkcur.*"
-		elif [[ "$awkcur" == [0-9]* ]]; then
-			# Digits followed by no dot - search for digits followed
-			# by a dot
-			awkcur="^$awkcur.*\."
-		elif [ -z "$awkcur" ]; then
-			# A blank - search for a dot or an alpha character
-			awkcur="[a-z.]"
-		else
-			awkcur="^$awkcur"
-		fi
-
-		if [ ${#kh[@]} -gt 0 ]; then
-			# FS needs to look for a comma separated list
-			COMPREPLY=( $( awk 'BEGIN {FS=","}
-				/^\s*[^|\#]/ {for (i=1; i<=2; ++i) { \
-				       gsub(" .*$", "", $i); \
-				       gsub("[\\[\\]]", "", $i); \
-				       gsub(":[0-9]+$", "", $i); \
-				       if ($i ~ /'"$awkcur"'/) {print $i} \
-				}}' "${kh[@]}" 2>/dev/null ) )
-		fi
-		if [ ${#khd[@]} -gt 0 ]; then
-			# Needs to look for files called
-			# .../.ssh2/key_22_<hostname>.pub
-			# dont fork any processes, because in a cluster environment,
-			# there can be hundreds of hostkeys
-			for i in "${khd[@]}" ; do
-				if [[ "$i" == *key_22_$awkcurd*.pub ]] && [ -r "$i" ] ; then
-					host=${i/#*key_22_/}
-					host=${host/%.pub/}
-					COMPREPLY=( "${COMPREPLY[@]}" $host )
-				fi
-			done
-		fi
-		# append any available aliases from config files
-		if [ ${#config[@]} -gt 0 ] && [ -n "$aliases" ]; then
-			local host_aliases=$( sed -ne 's/^[ \t]*[Hh][Oo][Ss][Tt]\([Nn][Aa][Mm][Ee]\)\?['"$'\t '"']\+\([^#*?]*\)\(#.*\)\?$/\2/p' "${config[@]}" )
-			hosts=$( compgen -W "$host_aliases" -- "$cur" )
-				COMPREPLY=( "${COMPREPLY[@]}" $hosts )
-		fi
-
-		# Add hosts reported by avahi, if it's available
-		# and if the daemon is started.
-		# The original call to avahi-browse also had "-k", to avoid
-		#  lookups into avahi's services DB. We don't need the name
-		#  of the service, and if it contains ";", it may mistify
-		#  the result. But on Gentoo (at least), -k isn't available
-		#  (even if mentioned in the manpage), so...
-		if type avahi-browse >&/dev/null; then
-			if [ -n "$(pidof avahi-daemon)" ]; then
-				COMPREPLY=( "${COMPREPLY[@]}" $(
-					compgen -W "$( avahi-browse -cpr _workstation._tcp | \
-					grep ^= | cut -d\; -f7 | sort -u )" -- "$cur" ) )
-			fi
-		fi
-
-		# apply suffix and prefix
-		for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
-			COMPREPLY[i]=$prefix$user${COMPREPLY[i]}$suffix
-		done
-	fi
-
-	# Add results of normal hostname completion, unless `COMP_KNOWN_HOSTS_WITH_HOSTFILE'
-	# is set to an empty value.
-	if [ -n "${COMP_KNOWN_HOSTS_WITH_HOSTFILE-1}" ]; then
-		COMPREPLY=( "${COMPREPLY[@]}" $( compgen -A hostname -P "$prefix$user" -S "$suffix" -- "$cur" ) )
-	fi
-
-	return 0
+    local configfile flag prefix
+    local cur curd awkcur user suffix aliases global_kh user_kh hosts i host
+    local -a kh khd config
+
+    local OPTIND=1
+    while getopts "acF:p:" flag "$@"; do
+        case $flag in
+            a) aliases='yes' ;;
+            c) suffix=':' ;;
+            F) configfile=$OPTARG ;;
+            p) prefix=$OPTARG ;;
+        esac
+    done
+    [ $# -lt $OPTIND ] && echo "error: $FUNCNAME: missing mandatory argument CWORD"
+    cur=${!OPTIND}; let "OPTIND += 1"
+    [ $# -ge $OPTIND ] && echo "error: $FUNCNAME("$@"): unprocessed arguments:"\
+    $(while [ $# -ge $OPTIND ]; do echo ${!OPTIND}; shift; done)
+
+    [[ $cur == *@* ]] && user=${cur%@*}@ && cur=${cur#*@}
+    kh=()
+
+    # ssh config files
+    if [ -n "$configfile" ]; then
+        [ -r "$configfile" ] &&
+        config=( "${config[@]}" "$configfile" )
+    else
+        [ -r /etc/ssh/ssh_config ] &&
+        config=( "${config[@]}" "/etc/ssh/ssh_config" )
+        [ -r "${HOME}/.ssh/config" ] &&
+        config=( "${config[@]}" "${HOME}/.ssh/config" )
+        [ -r "${HOME}/.ssh2/config" ] &&
+        config=( "${config[@]}" "${HOME}/.ssh2/config" )
+    fi
+
+    if [ ${#config[@]} -gt 0 ]; then
+        local OIFS=$IFS IFS=$'\n'
+        # expand path (if present) to global known hosts file
+        global_kh=($( sed -ne 's/^[ \t]*[Gg][Ll][Oo][Bb][Aa][Ll][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/"\1"/p' "${config[@]}" ))
+        for (( i=0; i < ${#global_kh[@]}; i++ )); do
+            global_kh[i]=$(echo "${global_kh[i]//\"/}")
+        done
+        # expand path (if present) to user known hosts file
+        user_kh=($( sed -ne 's/^[ \t]*[Uu][Ss][Ee][Rr][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/"\1"/p' "${config[@]}" ))
+        for (( i=0; i < ${#user_kh[@]}; i++ )); do
+            user_kh[i]=$(echo "${user_kh[i]//\"/}")
+        done
+        IFS=$OIFS
+    fi
+
+    # Global known_hosts files
+    [ -r "$global_kh" ] &&
+    kh=( "${kh[@]}" "${global_kh[@]}" )
+    if [ -z "$configfile" ]; then
+        [ -r /etc/ssh/ssh_known_hosts ] &&
+        kh=( "${kh[@]}" /etc/ssh/ssh_known_hosts )
+        [ -r /etc/ssh/ssh_known_hosts2 ] &&
+        kh=( "${kh[@]}" /etc/ssh/ssh_known_hosts2 )
+        [ -r /etc/known_hosts ] &&
+        kh=( "${kh[@]}" /etc/known_hosts )
+        [ -r /etc/known_hosts2 ] &&
+        kh=( "${kh[@]}" /etc/known_hosts2 )
+        [ -d /etc/ssh2/knownhosts ] &&
+        khd=( "${khd[@]}" /etc/ssh2/knownhosts/*pub )
+    fi
+
+    # User known_hosts files
+    [ -r "$user_kh" ] &&
+    kh=( "${kh[@]}" "${user_kh[@]}" )
+    if [ -z "$configfile" ]; then
+        [ -r ~/.ssh/known_hosts ] &&
+        kh=( "${kh[@]}" ~/.ssh/known_hosts )
+        [ -r ~/.ssh/known_hosts2 ] &&
+        kh=( "${kh[@]}" ~/.ssh/known_hosts2 )
+        [ -d ~/.ssh2/hostkeys ] &&
+        khd=( "${khd[@]}" ~/.ssh2/hostkeys/*pub )
+    fi
+
+    # If we have known_hosts files to use
+    if [ ${#kh[@]} -gt 0 -o ${#khd[@]} -gt 0 -o -n "$configfile" ]; then
+        # Escape slashes and dots in paths for awk
+        awkcur=${cur//\//\\\/}
+        awkcur=${awkcur//\./\\\.}
+        curd=$awkcur
+
+        if [[ "$awkcur" == [0-9]*.* ]]; then
+            # Digits followed by a dot - just search for that
+            awkcur="^$awkcur.*"
+        elif [[ "$awkcur" == [0-9]* ]]; then
+            # Digits followed by no dot - search for digits followed
+            # by a dot
+            awkcur="^$awkcur.*\."
+        elif [ -z "$awkcur" ]; then
+            # A blank - search for a dot or an alpha character
+            awkcur="[a-z.]"
+        else
+            awkcur="^$awkcur"
+        fi
+
+        if [ ${#kh[@]} -gt 0 ]; then
+            # FS needs to look for a comma separated list
+            COMPREPLY=( $( awk 'BEGIN {FS=","}
+            /^\s*[^|\#]/ {for (i=1; i<=2; ++i) { \
+            gsub(" .*$", "", $i); \
+            gsub("[\\[\\]]", "", $i); \
+            gsub(":[0-9]+$", "", $i); \
+            if ($i ~ /'"$awkcur"'/) {print $i} \
+            }}' "${kh[@]}" 2>/dev/null ) )
+        fi
+        if [ ${#khd[@]} -gt 0 ]; then
+            # Needs to look for files called
+            # .../.ssh2/key_22_<hostname>.pub
+            # dont fork any processes, because in a cluster environment,
+            # there can be hundreds of hostkeys
+            for i in "${khd[@]}" ; do
+                if [[ "$i" == *key_22_$awkcurd*.pub ]] && [ -r "$i" ] ; then
+                    host=${i/#*key_22_/}
+                    host=${host/%.pub/}
+                    COMPREPLY=( "${COMPREPLY[@]}" $host )
+                fi
+            done
+        fi
+        # append any available aliases from config files
+        if [ ${#config[@]} -gt 0 ] && [ -n "$aliases" ]; then
+            local host_aliases=$( sed -ne 's/^[ \t]*[Hh][Oo][Ss][Tt]\([Nn][Aa][Mm][Ee]\)\?['"$'\t '"']\+\([^#*?]*\)\(#.*\)\?$/\2/p' "${config[@]}" )
+            hosts=$( compgen -W "$host_aliases" -- "$cur" )
+            COMPREPLY=( "${COMPREPLY[@]}" $hosts )
+        fi
+
+        # Add hosts reported by avahi, if it's available
+        # and if the daemon is started.
+        # The original call to avahi-browse also had "-k", to avoid
+        #  lookups into avahi's services DB. We don't need the name
+        #  of the service, and if it contains ";", it may mistify
+        #  the result. But on Gentoo (at least), -k isn't available
+        #  (even if mentioned in the manpage), so...
+        if type avahi-browse >&/dev/null; then
+            if [ -n "$(pidof avahi-daemon)" ]; then
+                COMPREPLY=( "${COMPREPLY[@]}" $(
+                compgen -W "$( avahi-browse -cpr _workstation._tcp | \
+                grep ^= | cut -d\; -f7 | sort -u )" -- "$cur" ) )
+            fi
+        fi
+
+        # apply suffix and prefix
+        for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
+            COMPREPLY[i]=$prefix$user${COMPREPLY[i]}$suffix
+        done
+    fi
+
+    # Add results of normal hostname completion, unless `COMP_KNOWN_HOSTS_WITH_HOSTFILE'
+    # is set to an empty value.
+    if [ -n "${COMP_KNOWN_HOSTS_WITH_HOSTFILE-1}" ]; then
+        COMPREPLY=( "${COMPREPLY[@]}" $( compgen -A hostname -P "$prefix$user" -S "$suffix" -- "$cur" ) )
+    fi
+
+    return 0
 }
 complete -F _known_hosts traceroute traceroute6 tracepath tracepath6 \
-	ping ping6 fping fping6 telnet host nslookup rsh rlogin ftp dig ssh-installkeys mtr
+ping ping6 fping fping6 telnet host nslookup rsh rlogin ftp dig ssh-installkeys mtr
 
 # This meta-cd function observes the CDPATH variable, so that cd additionally
 # completes on directories under those specified in CDPATH.
 #
 _cd()
 {
-	local IFS=$'\t\n' cur=`_get_cword` i j k
-
-	# try to allow variable completion
-	if [[ "$cur" == ?(\\)\$* ]]; then
-		COMPREPLY=( $( compgen -v -P '$' -- "${cur#?(\\)$}" ) )
-		return 0
-	fi
-
-	# Enable -o filenames option, see Debian bug #272660
-	compgen -f /non-existing-dir/ >/dev/null
-
-	# Use standard dir completion if no CDPATH or parameter starts with /,
-	# ./ or ../
-	if [ -z "${CDPATH:-}" ] || [[ "$cur" == ?(.)?(.)/* ]]; then
-		_filedir -d
-		return 0
-	fi
-
-	local -r mark_dirs=$(_rl_enabled mark-directories && echo y)
-	local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y)
-
-	# we have a CDPATH, so loop on its contents
-	for i in ${CDPATH//:/$'\t'}; do
-		# create an array of matched subdirs
-		k="${#COMPREPLY[@]}"
-		for j in $( compgen -d $i/$cur ); do
-			if [[ ( $mark_symdirs && -h $j || $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then
-				j="${j}/"
-			fi
-			COMPREPLY[k++]=${j#$i/}
-		done
-	done
-
-	_filedir -d
-
-	if [[ ${#COMPREPLY[@]} -eq 1 ]]; then
-	    i=${COMPREPLY[0]}
-	    if [ "$i" == "$cur" ] && [[ $i != "*/" ]]; then
-		COMPREPLY[0]="${i}/"
-	    fi
-	fi
-
-	return 0
+    local IFS=$'\t\n' cur=`_get_cword` i j k
+
+    # try to allow variable completion
+    if [[ "$cur" == ?(\\)\$* ]]; then
+        COMPREPLY=( $( compgen -v -P '$' -- "${cur#?(\\)$}" ) )
+        return 0
+    fi
+
+    # Enable -o filenames option, see Debian bug #272660
+    compgen -f /non-existing-dir/ >/dev/null
+
+    # Use standard dir completion if no CDPATH or parameter starts with /,
+    # ./ or ../
+    if [ -z "${CDPATH:-}" ] || [[ "$cur" == ?(.)?(.)/* ]]; then
+        _filedir -d
+        return 0
+    fi
+
+    local -r mark_dirs=$(_rl_enabled mark-directories && echo y)
+    local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y)
+
+    # we have a CDPATH, so loop on its contents
+    for i in ${CDPATH//:/$'\t'}; do
+        # create an array of matched subdirs
+        k="${#COMPREPLY[@]}"
+        for j in $( compgen -d $i/$cur ); do
+            if [[ ( $mark_symdirs && -h $j || $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then
+                j="${j}/"
+            fi
+            COMPREPLY[k++]=${j#$i/}
+        done
+    done
+
+    _filedir -d
+
+    if [[ ${#COMPREPLY[@]} -eq 1 ]]; then
+        i=${COMPREPLY[0]}
+        if [ "$i" == "$cur" ] && [[ $i != "*/" ]]; then
+            COMPREPLY[0]="${i}/"
+        fi
+    fi
+
+    return 0
 }
 if shopt -q cdable_vars; then
     complete -v -F _cd $nospace cd
@@ -1386,17 +1385,17 @@ fi
 # a wrapper method for the next one, when the offset is unknown
 _command()
 {
-	local offset i
-
-	# find actual offset, as position of the first non-option
-	offset=1
-	for (( i=1; i <= COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" != -* ]]; then
-			offset=$i
-			break
-		fi
-	done
-	_command_offset $offset
+    local offset i
+
+    # find actual offset, as position of the first non-option
+    offset=1
+    for (( i=1; i <= COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" != -* ]]; then
+            offset=$i
+            break
+        fi
+    done
+    _command_offset $offset
 }
 
 # A meta-command completion function for commands like sudo(8), which need to
@@ -1406,128 +1405,128 @@ _command()
 #
 _command_offset()
 {
-	local cur func cline cspec noglob cmd i char_offset word_offset \
-	      _COMMAND_FUNC _COMMAND_FUNC_ARGS
-
-	word_offset=$1
-
-	# rewrite current completion context before invoking
-	# actual command completion
-
-	# find new first word position, then
-	# rewrite COMP_LINE and adjust COMP_POINT
-	local first_word=${COMP_WORDS[$word_offset]}
-	for (( i=0; i <= ${#COMP_LINE}; i++ )); do
-		if [[ "${COMP_LINE:$i:${#first_word}}" == "$first_word" ]]; then
-			char_offset=$i
-			break
-		fi
-	done
-	COMP_LINE=${COMP_LINE:$char_offset}
-	COMP_POINT=$(( COMP_POINT - $char_offset ))
-
-	# shift COMP_WORDS elements and adjust COMP_CWORD
-	for (( i=0; i <= COMP_CWORD - $word_offset; i++ )); do
-		COMP_WORDS[i]=${COMP_WORDS[i+$word_offset]}
-	done
-	for (( i; i <= COMP_CWORD; i++ )); do
-		unset COMP_WORDS[i];
-	done
-	COMP_CWORD=$(( $COMP_CWORD - $word_offset ))
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [[ $COMP_CWORD -eq 0 ]]; then
-		COMPREPLY=( $( compgen -c -- "$cur" ) )
-	else
-		cmd=${COMP_WORDS[0]}
-		if complete -p $cmd &>/dev/null; then
-		cspec=$( complete -p $cmd )
-		if [ "${cspec#* -F }" != "$cspec" ]; then
-			# complete -F <function>
-
-			# get function name
-			func=${cspec#*-F }
-			func=${func%% *}
-
-			if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then
-				$func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"	"${COMP_WORDS[${#COMP_WORDS[@]}-2]}"
-			else
-				$func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"
-			fi
-
-			# remove any \: generated by a command that doesn't
-			# default to filenames or dirnames (e.g. sudo chown)
-			# FIXME: I'm pretty sure this does not work!
-			if [ "${cspec#*-o }" != "$cspec" ]; then
-				cspec=${cspec#*-o }
-				cspec=${cspec%% *}
-				if [[ "$cspec" != @(dir|file)names ]]; then
-					COMPREPLY=("${COMPREPLY[@]//\\\\:/:}")
-				fi
-			fi
-		elif [ -n "$cspec" ]; then
-			cspec=${cspec#complete};
-			cspec=${cspec%%$cmd};
-			COMPREPLY=( $( eval compgen "$cspec" -- "$cur" ) );
-		fi
-		fi
-	fi
-
-	[ ${#COMPREPLY[@]} -eq 0 ] && _filedir
+    local cur func cline cspec noglob cmd i char_offset word_offset \
+    _COMMAND_FUNC _COMMAND_FUNC_ARGS
+
+    word_offset=$1
+
+    # rewrite current completion context before invoking
+    # actual command completion
+
+    # find new first word position, then
+    # rewrite COMP_LINE and adjust COMP_POINT
+    local first_word=${COMP_WORDS[$word_offset]}
+    for (( i=0; i <= ${#COMP_LINE}; i++ )); do
+        if [[ "${COMP_LINE:$i:${#first_word}}" == "$first_word" ]]; then
+            char_offset=$i
+            break
+        fi
+    done
+    COMP_LINE=${COMP_LINE:$char_offset}
+    COMP_POINT=$(( COMP_POINT - $char_offset ))
+
+    # shift COMP_WORDS elements and adjust COMP_CWORD
+    for (( i=0; i <= COMP_CWORD - $word_offset; i++ )); do
+        COMP_WORDS[i]=${COMP_WORDS[i+$word_offset]}
+    done
+    for (( i; i <= COMP_CWORD; i++ )); do
+        unset COMP_WORDS[i];
+    done
+    COMP_CWORD=$(( $COMP_CWORD - $word_offset ))
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [[ $COMP_CWORD -eq 0 ]]; then
+        COMPREPLY=( $( compgen -c -- "$cur" ) )
+    else
+        cmd=${COMP_WORDS[0]}
+        if complete -p $cmd &>/dev/null; then
+            cspec=$( complete -p $cmd )
+            if [ "${cspec#* -F }" != "$cspec" ]; then
+                # complete -F <function>
+
+                # get function name
+                func=${cspec#*-F }
+                func=${func%% *}
+
+                if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then
+                    $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"	"${COMP_WORDS[${#COMP_WORDS[@]}-2]}"
+                else
+                    $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"
+                fi
+
+                # remove any \: generated by a command that doesn't
+                # default to filenames or dirnames (e.g. sudo chown)
+                # FIXME: I'm pretty sure this does not work!
+                if [ "${cspec#*-o }" != "$cspec" ]; then
+                    cspec=${cspec#*-o }
+                    cspec=${cspec%% *}
+                    if [[ "$cspec" != @(dir|file)names ]]; then
+                        COMPREPLY=("${COMPREPLY[@]//\\\\:/:}")
+                    fi
+                fi
+            elif [ -n "$cspec" ]; then
+                cspec=${cspec#complete};
+                cspec=${cspec%%$cmd};
+                COMPREPLY=( $( eval compgen "$cspec" -- "$cur" ) );
+            fi
+        fi
+    fi
+
+    [ ${#COMPREPLY[@]} -eq 0 ] && _filedir
 }
 complete -F _command $filenames nohup exec nice eval time ltrace then \
-	else do vsound command xargs tsocks
+    else do vsound command xargs tsocks
 
 _root_command()
 {
-	PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin _command $1 $2 $3
+    PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin _command $1 $2 $3
 }
 complete -F _root_command $filenames sudo fakeroot really gksudo gksu kdesudo
 
 _longopt()
 {
-	local cur prev
-
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	if _split_longopt; then
-		case "$prev" in
-			*[Dd][Ii][Rr]*)
-				_filedir -d
-				;;
-			*[Ff][Ii][Ll][Ee]*)
-				_filedir
-				;;
-		esac
-		return 0
-	fi
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | sed -e '/--/!d' \
-				-e 's/.*\(--[-A-Za-z0-9]\+\).*/\1/' |sort -u )"\
-				-- "$cur" ) )
-	elif [[ "$1" == rmdir ]]; then
-		_filedir -d
-	else
-		_filedir
-	fi
+    local cur prev
+
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    if _split_longopt; then
+        case "$prev" in
+            *[Dd][Ii][Rr]*)
+                _filedir -d
+                ;;
+            *[Ff][Ii][Ll][Ee]*)
+                _filedir
+                ;;
+        esac
+        return 0
+    fi
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | sed -e '/--/!d' \
+            -e 's/.*\(--[-A-Za-z0-9]\+\).*/\1/' |sort -u )"\
+            -- "$cur" ) )
+    elif [[ "$1" == rmdir ]]; then
+        _filedir -d
+    else
+        _filedir
+    fi
 }
 # makeinfo and texi2dvi are defined elsewhere.
 for i in a2ps autoconf automake bc gprof ld nm objcopy objdump readelf strip \
-	 bison diff patch enscript cp df dir du ln ls mkfifo mknod mv rm \
-	 touch vdir awk gperf grep grub indent less m4 sed shar date \
-	 tee who texindex cat csplit cut expand fmt fold head \
-	 md5sum nl od paste pr ptx sha1sum sort split tac tail tr unexpand \
-	 uniq wc ldd bash id irb mkdir rmdir; do
-  have $i && complete -F _longopt $filenames $i
+    bison diff patch enscript cp df dir du ln ls mkfifo mknod mv rm \
+    touch vdir awk gperf grep grub indent less m4 sed shar date \
+    tee who texindex cat csplit cut expand fmt fold head \
+    md5sum nl od paste pr ptx sha1sum sort split tac tail tr unexpand \
+    uniq wc ldd bash id irb mkdir rmdir; do
+    have $i && complete -F _longopt $filenames $i
 done
 
 # These commands do not use filenames, so '-o filenames' is not needed.
 for i in env netstat seq uname units wget; do
-  have $i && complete -F _longopt $default $i
+    have $i && complete -F _longopt $default $i
 done
 unset i
 
@@ -1536,14 +1535,14 @@ unset i
 have look &&
 _look()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD = 1 ]; then
-		COMPREPLY=( $( compgen -W '$(look "$cur" 2>/dev/null)' ) )
-	fi
+    if [ $COMP_CWORD = 1 ]; then
+        COMPREPLY=( $( compgen -W '$(look "$cur" 2>/dev/null)' ) )
+    fi
 } &&
 complete -F _look $default look
 
@@ -1552,75 +1551,74 @@ complete -F _look $default look
 have id &&
 _id()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -g --group -G --groups -n --name\
-			-r --real -u --user --help --version' -- "$cur" ) )
-	else
-		COMPREPLY=( $( compgen -u "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -g --group -G --groups -n --name\
+            -r --real -u --user --help --version' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -u "$cur" ) )
+    fi
 } &&
 complete -F _id id
 
 _filedir_xspec()
 {
-	local IFS cur xspec
-
-	IFS=$'\t\n'
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_expand || return 0
-
-	# get first exclusion compspec that matches this command
-	xspec=$( sed -ne $'/^complete .*[ \t]'${1##*/}$'\([ \t]\|$\)/{p;q;}' \
-		  $BASH_COMPLETION )
-	# prune to leave nothing but the -X spec
-	xspec=${xspec#*-X }
-	xspec=${xspec%% *}
-
-	local -a toks
-	local tmp
-
-	toks=( ${toks[@]-} $(
-		compgen -d -- "$(quote_readline "$cur")" | {
-			while read -r tmp; do
-				# see long TODO comment in _filedir() --David
-				echo $tmp
-			done
-		}
-	))
-
-	toks=( ${toks[@]-} $(
-		eval compgen -f -X "$xspec" -- "\$(quote_readline "\$cur")" | {
-			while read -r tmp; do
-				[ -n $tmp ] && echo $tmp
-			done
-		}
-	))
-
-	COMPREPLY=( "${toks[@]}" )
+    local IFS cur xspec
+
+    IFS=$'\t\n'
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _expand || return 0
+
+    # get first exclusion compspec that matches this command
+    xspec=$( sed -ne $'/^complete .*[ \t]'${1##*/}$'\([ \t]\|$\)/{p;q;}' \
+        $BASH_COMPLETION )
+    # prune to leave nothing but the -X spec
+    xspec=${xspec#*-X }
+    xspec=${xspec%% *}
+
+    local -a toks
+    local tmp
+
+    toks=( ${toks[@]-} $(
+        compgen -d -- "$(quote_readline "$cur")" | {
+        while read -r tmp; do
+            # see long TODO comment in _filedir() --David
+            echo $tmp
+        done
+        }
+        ))
+
+    toks=( ${toks[@]-} $(
+        eval compgen -f -X "$xspec" -- "\$(quote_readline "\$cur")" | {
+        while read -r tmp; do
+            [ -n $tmp ] && echo $tmp
+        done
+        }
+        ))
+
+    COMPREPLY=( "${toks[@]}" )
 }
-list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' \
-	  $BASH_COMPLETION | \
-	# read exclusion compspecs
-	(
-	while read line
-	do
-		# ignore compspecs that are commented out
-		if [ "${line#\#}" != "$line" ]; then continue; fi
-		line=${line%# START exclude*}
-		line=${line%# FINISH exclude*}
-		line=${line##*\'}
-		list=( "${list[@]}" $line )
-	done
-	echo "${list[@]}"
-	)
-     ) )
+list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' $BASH_COMPLETION | \
+    # read exclusion compspecs
+    (
+    while read line
+    do
+        # ignore compspecs that are commented out
+        if [ "${line#\#}" != "$line" ]; then continue; fi
+        line=${line%# START exclude*}
+        line=${line%# FINISH exclude*}
+        line=${line##*\'}
+        list=( "${list[@]}" $line )
+    done
+    echo "${list[@]}"
+    )
+    ) )
 # remove previous compspecs
 if [ ${#list[@]} -gt 0 ]; then
     eval complete -r ${list[@]}
@@ -1631,36 +1629,36 @@ unset list
 
 # source completion directory definitions
 if [ -d $BASH_COMPLETION_COMPAT_DIR -a -r $BASH_COMPLETION_COMPAT_DIR -a \
-	 -x $BASH_COMPLETION_COMPAT_DIR ]; then
-	for i in $BASH_COMPLETION_COMPAT_DIR/*; do
-		[[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) ]] &&
-			[ \( -f $i -o -h $i \) -a -r $i ] && . $i
-	done
+    -x $BASH_COMPLETION_COMPAT_DIR ]; then
+    for i in $BASH_COMPLETION_COMPAT_DIR/*; do
+        [[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) ]] &&
+        [ \( -f $i -o -h $i \) -a -r $i ] && . $i
+    done
 fi
 if [ -d $BASH_COMPLETION_DIR -a -r $BASH_COMPLETION_DIR -a \
-     $BASH_COMPLETION_DIR != $BASH_COMPLETION_COMPAT_DIR -a \
-     -x $BASH_COMPLETION_DIR ]; then
-	for i in $BASH_COMPLETION_DIR/*; do
-		[[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) ]] &&
-			[ \( -f $i -o -h $i \) -a -r $i ] && . $i
-	done
+    $BASH_COMPLETION_DIR != $BASH_COMPLETION_COMPAT_DIR -a \
+    -x $BASH_COMPLETION_DIR ]; then
+    for i in $BASH_COMPLETION_DIR/*; do
+        [[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) ]] &&
+        [ \( -f $i -o -h $i \) -a -r $i ] && . $i
+    done
 fi
 unset i
 
 # source user completion file
 [ $BASH_COMPLETION != ~/.bash_completion -a -r ~/.bash_completion ] \
-	&& . ~/.bash_completion
+    && . ~/.bash_completion
 unset -f have
 unset UNAME USERLAND default dirnames filenames have nospace bashdefault \
-	plusdirs compopt
+    plusdirs compopt
 
 set $BASH_COMPLETION_ORIGINAL_V_VALUE
 unset BASH_COMPLETION_ORIGINAL_V_VALUE
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/_subversion b/contrib/_subversion
index 7bd9a37..0168ecd 100644
--- a/contrib/_subversion
+++ b/contrib/_subversion
@@ -424,8 +424,8 @@ complete -F _svnlook $default svnlook
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/_yum b/contrib/_yum
index 4abd080..b228307 100644
--- a/contrib/_yum
+++ b/contrib/_yum
@@ -84,16 +84,14 @@ _yum()
 				cache dbcache all' -- $cur ) )
 			;;
 		repolist)
-			COMPREPLY=( $( compgen -W 'all enabled disabled' \
-				-- $cur ) )
+			COMPREPLY=( $( compgen -W 'all enabled disabled' -- $cur ) )
 			;;
 		localinstall|localupdate)
 			# TODO: should not match *src.rpm
 			_filedir rpm
 			;;
 		-d|-e)
-			COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9 10' \
-				-- $cur ) )
+			COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9 10' -- $cur ) )
 			;;
 		-c)
 			_filedir
@@ -102,12 +100,10 @@ _yum()
 			_filedir -d
 			;;
 		--enablerepo)
-			COMPREPLY=( $( compgen -W '$( _yum_repolist \
-				disabled )' -- $cur ) )
+			COMPREPLY=( $( compgen -W '$( _yum_repolist disabled )' -- $cur ) )
 			;;
 		--disablerepo)
-			COMPREPLY=( $( compgen -W '$( _yum_repolist \
-				enabled )' -- $cur ) )
+			COMPREPLY=( $( compgen -W '$( _yum_repolist enabled )' -- $cur ) )
 			;;
 		--disableexcludes)
 			COMPREPLY=( $( compgen -W '$( _yum_repolist all ) \
@@ -164,8 +160,7 @@ _yum_arch()
 
 	case "$cur" in
 		-*)
-			COMPREPLY=( $( compgen -W '-d -v -vv -n -c -z -s -l \
-				-q' -- $cur ) )
+			COMPREPLY=( $( compgen -W '-d -v -vv -n -c -z -s -l -q' -- $cur ) )
 			;;
 		*)
 			_filedir -d
@@ -178,8 +173,8 @@ complete -F _yum_arch $filenames yum-arch
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/ant b/contrib/ant
index 591b663..58423f7 100644
--- a/contrib/ant
+++ b/contrib/ant
@@ -67,8 +67,8 @@ have complete-ant-cmd.pl && \
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/apache2ctl b/contrib/apache2ctl
index 5a81a39..1987d24 100644
--- a/contrib/apache2ctl
+++ b/contrib/apache2ctl
@@ -2,22 +2,23 @@
 
 have apache2ctl && {
 _apache2ctl() {
-	local APWORDS
+    local APWORDS
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	APWORDS=$(apache2ctl 2>&1 >/dev/null | head -n1 | cut -f3 -d" " | tr "|" " ")
+    APWORDS=$(apache2ctl 2>&1 >/dev/null | head -n1 | cut -f3 -d" " | \
+        tr "|" " ")
 
-	COMPREPLY=( $( compgen -W "$APWORDS" -- "$cur" ) )
+    COMPREPLY=( $( compgen -W "$APWORDS" -- "$cur" ) )
 }
 complete -F _apache2ctl apache2ctl
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/apt b/contrib/apt
index 935197d..36c66c9 100644
--- a/contrib/apt
+++ b/contrib/apt
@@ -3,79 +3,68 @@
 have apt-get &&
 _apt_get()
 {
-	local cur prev special i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[i]} == @(install|remove|autoremove|purge|source|build-dep) ]]; then
-			special=${COMP_WORDS[i]}
-		fi
-	done
-
-	if [ -n "$special" ]; then
-		case $special in
-		remove|autoremove|purge)
-			if [ -f /etc/debian_version ]; then
-				# Debian system
-				COMPREPLY=( $( _comp_dpkg_installed_packages \
-						$cur ) )
-			else
-				# assume RPM based
-				_rpm_installed_packages
-			fi
-			return 0
-			;;
-		*)
-			COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" 2> /dev/null ) )
-			return 0
-			;;
-
-		esac
-	fi
-
-	case "$prev" in
-	    -@(c|-config-file))
- 		     _filedir
-		     return 0
-		     ;;
-
-	    -@(t|-target-release|-default-release))
-		     COMPREPLY=( $( apt-cache policy | \
-				    grep "release.o=Debian,a=$cur" | \
-				    sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) )
-		     return 0
-		     ;;
-
-	esac
-
-	if [[ "$cur" == -* ]]; then
-
-		COMPREPLY=( $( compgen -W '-d -f -h -v -m -q -s -y \
-				-u -t -b -c -o --download-only --fix-broken \
-				--help --version --ignore-missing \
-				--fix-missing --no-download --quiet --simulate \
-				--just-print --dry-run --recon --no-act --yes \
-				--assume-yes --show-upgraded --only-source \
-				--compile --build --ignore-hold \
-				--target-release --no-upgrade --force-yes \
-				--print-uris --purge --reinstall \
-				--list-cleanup --default-release \
-				--trivial-only --no-remove --diff-only \
-				--no-install-recommends \
-				--tar-only --config-file --option --auto-remove' -- "$cur" ) )
-	else
-
-		COMPREPLY=( $( compgen -W 'update upgrade dselect-upgrade \
-				dist-upgrade install remove purge source build-dep \
-				check clean autoclean autoremove' -- "$cur" ) )
-
-	fi
-
-
-	return 0
+    local cur prev special i
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[i]} == @(install|remove|autoremove|purge|source|build-dep) ]]; then
+            special=${COMP_WORDS[i]}
+        fi
+    done
+
+    if [ -n "$special" ]; then
+        case $special in
+            remove|autoremove|purge)
+                if [ -f /etc/debian_version ]; then
+                    # Debian system
+                    COMPREPLY=( $( _comp_dpkg_installed_packages $cur ) )
+                else
+                    # assume RPM based
+                    _rpm_installed_packages
+                fi
+                return 0
+                ;;
+            *)
+                COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \
+                    2> /dev/null ) )
+                return 0
+                ;;
+        esac
+    fi
+
+    case "$prev" in
+        -@(c|-config-file))
+             _filedir
+             return 0
+             ;;
+        -@(t|-target-release|-default-release))
+             COMPREPLY=( $( apt-cache policy | \
+                 grep "release.o=Debian,a=$cur" | \
+                 sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null) )
+             return 0
+             ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d -f -h -v -m -q -s -y -u -t -b -c -o \
+            --download-only --fix-broken --help --version --ignore-missing \
+            --fix-missing --no-download --quiet --simulate --just-print \
+            --dry-run --recon --no-act --yes --assume-yes --show-upgraded \
+            --only-source --compile --build --ignore-hold --target-release \
+            --no-upgrade --force-yes --print-uris --purge --reinstall \
+            --list-cleanup --default-release --trivial-only --no-remove \
+            --diff-only --no-install-recommends --tar-only --config-file \
+            --option --auto-remove' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W 'update upgrade dselect-upgrade \
+            dist-upgrade install remove purge source build-dep \
+            check clean autoclean autoremove' -- "$cur" ) )
+    fi
+
+    return 0
 } &&
 complete -F _apt_get $filenames apt-get
 
@@ -84,83 +73,83 @@ complete -F _apt_get $filenames apt-get
 have apt-cache &&
 _apt_cache()
 {
-	local cur prev special i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-
-	if [ "$cur" != show ]; then
-	    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[i]} == @(add|depends|dotty|madison|policy|rdepends|show?(pkg|src|)) ]]; then
-		    special=${COMP_WORDS[i]}
-		fi
-	    done
-	fi
-
-
-	if [ -n "$special" ]; then
-	    case $special in
-		add)
-		    _filedir
-		    return 0
-		    ;;
-
-		showsrc)
-			COMPREPLY=( $( apt-cache dumpavail | \
-							grep "^Source: $cur" | sort | \
-							uniq | cut -f2 -d" " ) )
-			return 0
-			;;
-
- 		*)
-		    COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" 2> /dev/null ) )
-		    return 0
-		    ;;
-
-	    esac
-	fi
-
-
-	case "$prev" in
-	     -@(c|p|s|-config-file|-@(pkg|src)-cache))
-		     _filedir
-		     return 0
-		     ;;
-	     search)
-		     if [[ "$cur" != -* ]]; then
-			    return 0
-		     fi
-		     ;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-
-		COMPREPLY=( $( compgen -W '-h -v -p -s -q -i -f -a -g -c \
-				-o --help --version --pkg-cache --src-cache \
-				--quiet --important --full --all-versions \
-				--no-all-versions --generate --no-generate \
-				--names-only --all-names --recurse \
-				--config-file --option --installed' -- "$cur" ) )
-	else
-
-		COMPREPLY=( $( compgen -W 'add gencaches show showpkg showsrc \
-				stats dump dumpavail unmet search search \
-				depends rdepends pkgnames dotty xvcg \
-				policy madison' -- "$cur" ) )
-
-	fi
-
-
-	return 0
+    local cur prev special i
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+
+    if [ "$cur" != show ]; then
+        for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[i]} == @(add|depends|dotty|madison|policy|rdepends|show?(pkg|src|)) ]]; then
+            special=${COMP_WORDS[i]}
+        fi
+        done
+    fi
+
+
+    if [ -n "$special" ]; then
+        case $special in
+        add)
+            _filedir
+            return 0
+            ;;
+
+        showsrc)
+            COMPREPLY=( $( apt-cache dumpavail | \
+                            grep "^Source: $cur" | sort | \
+                            uniq | cut -f2 -d" " ) )
+            return 0
+            ;;
+
+        *)
+            COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" 2> /dev/null ) )
+            return 0
+            ;;
+
+        esac
+    fi
+
+
+    case "$prev" in
+         -@(c|p|s|-config-file|-@(pkg|src)-cache))
+             _filedir
+             return 0
+             ;;
+         search)
+             if [[ "$cur" != -* ]]; then
+                return 0
+             fi
+             ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+
+        COMPREPLY=( $( compgen -W '-h -v -p -s -q -i -f -a -g -c \
+                -o --help --version --pkg-cache --src-cache \
+                --quiet --important --full --all-versions \
+                --no-all-versions --generate --no-generate \
+                --names-only --all-names --recurse \
+                --config-file --option --installed' -- "$cur" ) )
+    else
+
+        COMPREPLY=( $( compgen -W 'add gencaches show showpkg showsrc \
+                stats dump dumpavail unmet search search \
+                depends rdepends pkgnames dotty xvcg \
+                policy madison' -- "$cur" ) )
+
+    fi
+
+
+    return 0
 } &&
 complete -F _apt_cache $filenames apt-cache
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/apt-build b/contrib/apt-build
index 3866b67..6031d61 100644
--- a/contrib/apt-build
+++ b/contrib/apt-build
@@ -3,71 +3,65 @@
 have apt-build &&
 _apt_build()
 {
-	local cur prev special i
+    local cur prev special i
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[i]} == @(install|remove|source|info|clean) ]]; then
-			special=${COMP_WORDS[i]}
-		fi
-	done
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[i]} == @(install|remove|source|info|clean) ]]; then
+            special=${COMP_WORDS[i]}
+        fi
+    done
 
-	if [ -n "$special" ]; then
-		case $special in
-		@(install|source|info))
-			COMPREPLY=( $( apt-cache pkgnames "$cur" 2> /dev/null ) )
-			return 0
-			;;
-		remove)
-			COMPREPLY=( $( _comp_dpkg_installed_packages \
-					"$cur" ) )
-			return 0
-			;;
-		*)
-			return 0
-			;;
-		esac
-	fi
+    if [ -n "$special" ]; then
+        case $special in
+            @(install|source|info))
+                COMPREPLY=( $( apt-cache pkgnames "$cur" 2> /dev/null ) )
+                return 0
+                ;;
+            remove)
+                COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
+                return 0
+                ;;
+            *)
+                return 0
+                ;;
+        esac
+    fi
 
-	case "$prev" in
+    case "$prev" in
+         --@(patch|build-dir|repository-dir))
+               _filedir
+               return 0
+               ;;
+         -@(h|-help))
+               return 0
+               ;;
+    esac
 
-	     --@(patch|build-dir|repository-dir))
-		   _filedir
-		   return 0
-		   ;;
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--help --show-upgraded -u --build-dir \
+            --repository-dir --build-only --build-command --reinstall \
+            --rebuild --remove-builddep --no-wrapper --purge --patch \
+            --patch-strip -p --yes -y --version -v --no-source' -- "$cur" ) )
 
-	     -@(h|-help))
-		   return 0
-		   ;;
+    else
+        COMPREPLY=( $( compgen -W 'update upgrade install remove source \
+            dist-upgrade world clean info clean-build update-repository' \
+            -- "$cur" ) )
+    fi
 
-	esac
 
-	if [[ "$cur" == -* ]]; then
-	    COMPREPLY=( $( compgen -W '--help --show-upgraded -u --build-dir \
-				  --repository-dir --build-only \
-				  --build-command --reinstall --rebuild \
-				  --remove-builddep --no-wrapper --purge \
-				  --patch --patch-strip -p --yes -y \
-				  --version -v --no-source' -- "$cur" ) )
-
-	else
-	    COMPREPLY=( $( compgen -W 'update upgrade install remove \
-				  source dist-upgrade world clean info \
-				  clean-build update-repository ' -- "$cur" ) )
-	fi
-
-
-	return 0
+    return 0
 } &&
 complete -F _apt_build $filenames apt-build
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/aptitude b/contrib/aptitude
index 4dbb5ac..b83440e 100644
--- a/contrib/aptitude
+++ b/contrib/aptitude
@@ -4,99 +4,93 @@ have aptitude && {
 have grep-status && {
 _comp_dpkg_hold_packages()
 {
-	grep-status -P -e "^$1" -a -FStatus 'hold' -n -s Package
+    grep-status -P -e "^$1" -a -FStatus 'hold' -n -s Package
 }
 } || {
 _comp_dpkg_hold_packages()
 {
-	grep -B 2 'hold' /var/lib/dpkg/status | grep "Package: $1" \
-		| cut -d\  -f2
+    grep -B 2 'hold' /var/lib/dpkg/status | grep "Package: $1" | cut -d\  -f2
 }
 }
 
 _aptitude()
 {
-	local cur dashoptions prev special i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-
-	dashoptions='-S -u -i -h --help --version -s --simulate -d \
-		     --download-only -P --prompt -y --assume-yes -F \
-		     --display-format -O --sort -w --width -f -r -g \
-		     --with-recommends -R -G --without-recommends -t \
-		     --target-release -V --show-versions -D --show-deps\
-		     -Z -v --verbose --purge-unused --schedule-only'
-
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-	    if [[ ${COMP_WORDS[i]} == @(install|reinstall|hold|unhold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|forbid-version|purge|remove|changelog|why|why-not|keep|keep-all|build-dep) ]]; then
-		special=${COMP_WORDS[i]}
-	    fi
-	    #exclude some mutually exclusive options
-	    [[ ${COMP_WORDS[i]} == '-u' ]] && dashoptions=${dashoptions/-i}
-	    [[ ${COMP_WORDS[i]} == '-i' ]] && dashoptions=${dashoptions/-u}
-	done
-
-	if [[ -n "$special" ]]; then
-	   case $special in
-	       @(install|hold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|changelog|why|why-not|build-dep))
-		   COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
-		   return 0
-		   ;;
-	       @(purge|remove|reinstall|forbid-version))
-  		   COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
-		   return 0
-		   ;;
-	       unhold)
-  		   COMPREPLY=( $( _comp_dpkg_hold_packages "$cur" ) )
-		   return 0
-		   ;;
-
-	   esac
-	fi
-
-	case $prev in
-	    # don't complete anything if these options are found
-	    @(autoclean|clean|forget-new|search|upgrade|safe-upgrade|update|keep-all))
-		return 0
-		;;
-
-	    -S)
-		_filedir
-		return 0
-		;;
-
-	    -@(t|-target-release|-default-release))
-		COMPREPLY=( $( apt-cache policy | \
-		    grep "release.o=Debian,a=$cur" | \
-		    sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) )
-		return 0
-		;;
-
-	esac
-
-	if [[ "$cur" == -* ]]; then
-	    COMPREPLY=( $( compgen -W "$dashoptions" -- "$cur" ) )
-	else
-	    COMPREPLY=( $( compgen -W 'update upgrade safe-upgrade forget-new clean \
-				       autoclean install reinstall remove \
-				       hold unhold purge markauto unmarkauto why why-not \
-				       dist-upgrade full-upgrade download search show \
-				       forbid-version changelog keep-all build-dep' -- "$cur" ) )
-	fi
-
-
-	return 0
+    local cur dashoptions prev special i
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+
+    dashoptions='-S -u -i -h --help --version -s --simulate -d \
+        --download-only -P --prompt -y --assume-yes -F \
+        --display-format -O --sort -w --width -f -r -g \
+        --with-recommends -R -G --without-recommends -t \
+        --target-release -V --show-versions -D --show-deps\
+        -Z -v --verbose --purge-unused --schedule-only'
+
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[i]} == @(install|reinstall|hold|unhold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|forbid-version|purge|remove|changelog|why|why-not|keep|keep-all|build-dep) ]]; then
+        special=${COMP_WORDS[i]}
+        fi
+        #exclude some mutually exclusive options
+        [[ ${COMP_WORDS[i]} == '-u' ]] && dashoptions=${dashoptions/-i}
+        [[ ${COMP_WORDS[i]} == '-i' ]] && dashoptions=${dashoptions/-u}
+    done
+
+    if [[ -n "$special" ]]; then
+       case $special in
+           @(install|hold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|changelog|why|why-not|build-dep))
+               COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
+               return 0
+               ;;
+           @(purge|remove|reinstall|forbid-version))
+               COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
+               return 0
+               ;;
+           unhold)
+               COMPREPLY=( $( _comp_dpkg_hold_packages "$cur" ) )
+               return 0
+               ;;
+       esac
+    fi
+
+    case $prev in
+        # don't complete anything if these options are found
+        @(autoclean|clean|forget-new|search|upgrade|safe-upgrade|update|keep-all))
+            return 0
+            ;;
+        -S)
+            _filedir
+            return 0
+            ;;
+        -@(t|-target-release|-default-release))
+            COMPREPLY=( $( apt-cache policy | \
+                grep "release.o=Debian,a=$cur" | \
+                sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W "$dashoptions" -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W 'update upgrade safe-upgrade forget-new \
+            clean autoclean install reinstall remove \
+            hold unhold purge markauto unmarkauto why why-not \
+            dist-upgrade full-upgrade download search show \
+            forbid-version changelog keep-all build-dep' -- "$cur" ) )
+    fi
+
+    return 0
 }
 complete -F _aptitude $default aptitude
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/aspell b/contrib/aspell
index 979370e..7a5b04e 100644
--- a/contrib/aspell
+++ b/contrib/aspell
@@ -3,87 +3,87 @@
 have aspell && {
 _aspell_dictionary()
 {
-	local datadir
-	datadir=$( aspell config data-dir 2>/dev/null || echo /usr/lib/aspell )
-	# First, get aliases (dicts dump does not list them)
-	COMPREPLY=( $( command ls $datadir/*.alias 2>/dev/null ) )
-	COMPREPLY=( ${COMPREPLY[@]%.alias} )
-	COMPREPLY=( ${COMPREPLY[@]#$datadir/} )
-	# Then, add the canonical dicts
-	COMPREPLY=( "${COMPREPLY[@]}" $( aspell dicts 2>/dev/null ) )
-	COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
+    local datadir
+    datadir=$( aspell config data-dir 2>/dev/null || echo /usr/lib/aspell )
+    # First, get aliases (dicts dump does not list them)
+    COMPREPLY=( $( command ls $datadir/*.alias 2>/dev/null ) )
+    COMPREPLY=( ${COMPREPLY[@]%.alias} )
+    COMPREPLY=( ${COMPREPLY[@]#$datadir/} )
+    # Then, add the canonical dicts
+    COMPREPLY=( "${COMPREPLY[@]}" $( aspell dicts 2>/dev/null ) )
+    COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
 }
 
 _aspell()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-c|-p|check|--@(conf|personal|repl|per-conf))
-			_filedir
-			return 0
-			;;
-		--@(conf-dir|data-dir|dict-dir|home-dir|local-data-dir|prefix))
-			_filedir -d
-			return 0
-			;;
-		dump|create|merge)
-			COMPREPLY=( $( compgen -W 'master personal repl' -- "$cur" ) )
-			return 0
-			;;
-		--mode)
-			COMPREPLY=( $( compgen -W 'none url email sgml tex' -- "$cur" ) )
-			return 0
-			;;
-		--sug-mode)
-			COMPREPLY=( $( compgen -W 'ultra fast normal bad-speller' -- "$cur" ) )
-			return 0
-			;;
-		--keymapping)
-			COMPREPLY=( $( compgen -W 'aspell ispell' -- "$cur" ) )
-			return 0
-			;;
-		-d|--master)
-			_aspell_dictionary
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -c|-p|check|--@(conf|personal|repl|per-conf))
+            _filedir
+            return 0
+            ;;
+        --@(conf-dir|data-dir|dict-dir|home-dir|local-data-dir|prefix))
+            _filedir -d
+            return 0
+            ;;
+        dump|create|merge)
+            COMPREPLY=( $( compgen -W 'master personal repl' -- "$cur" ) )
+            return 0
+            ;;
+        --mode)
+            COMPREPLY=( $( compgen -W 'none url email sgml tex' -- "$cur" ) )
+            return 0
+            ;;
+        --sug-mode)
+            COMPREPLY=( $( compgen -W 'ultra fast normal bad-speller' -- "$cur" ) )
+            return 0
+            ;;
+        --keymapping)
+            COMPREPLY=( $( compgen -W 'aspell ispell' -- "$cur" ) )
+            return 0
+            ;;
+        -d|--master)
+            _aspell_dictionary
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--conf --conf-dir --data-dir --dict-dir \
-			--encoding --add-filter --rem-filter --mode -e \
-			-H -t --add-extra-dicts --rem-extra-dicts \
-			--home-dir -W --ignore --ignore-accents \
-			--dont-ignore-accents --ignore-case --dont-ignore-case \
-			--ignore-repl --dont-ignore-repl --jargon --keyboard \
-			--lang --language-tag --local-data-dir -d --master \
-			--module --add-module-search-order \
-			--rem-module-search-order --per-conf -p --personal \
-			--prefix --repl -C -B --run-together --dont-run-together \
-			--run-together-limit --run-together-min --save-repl \
-			--dont-save-repl --set-prefix --dont-set-prefix --size \
-			--spelling --strip-accents --dont-strip-accents \
-			--sug-mode --add-word-list-path --rem-word-list-path \
-			-b -x --backup -b|-x --dont-backup --reverse --dont-reverse \
-			--time --dont-time --keymapping --add-email-quote \
-			--rem-email-quote --email-margin --add-tex-command \
-			--rem-tex-command --tex-check-comments \
-			--dont-tex-check-comments --add-tex-extension \
-			--rem-tex-extension --add-sgml-check --rem-sgml-check \
-			--add-sgml-extension --rem-sgml-extension' -- "$cur" ) )
-	else
-		COMPREPLY=( $( compgen -W '-? help -c check -a pipe -l list \
-			config config soundslike filter -v version dump \
-			create merge' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--conf --conf-dir --data-dir --dict-dir \
+            --encoding --add-filter --rem-filter --mode -e \
+            -H -t --add-extra-dicts --rem-extra-dicts \
+            --home-dir -W --ignore --ignore-accents \
+            --dont-ignore-accents --ignore-case --dont-ignore-case \
+            --ignore-repl --dont-ignore-repl --jargon --keyboard \
+            --lang --language-tag --local-data-dir -d --master \
+            --module --add-module-search-order \
+            --rem-module-search-order --per-conf -p --personal \
+            --prefix --repl -C -B --run-together --dont-run-together \
+            --run-together-limit --run-together-min --save-repl \
+            --dont-save-repl --set-prefix --dont-set-prefix --size \
+            --spelling --strip-accents --dont-strip-accents \
+            --sug-mode --add-word-list-path --rem-word-list-path \
+            -b -x --backup -b|-x --dont-backup --reverse --dont-reverse \
+            --time --dont-time --keymapping --add-email-quote \
+            --rem-email-quote --email-margin --add-tex-command \
+            --rem-tex-command --tex-check-comments \
+            --dont-tex-check-comments --add-tex-extension \
+            --rem-tex-extension --add-sgml-check --rem-sgml-check \
+            --add-sgml-extension --rem-sgml-extension' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W '-? help -c check -a pipe -l list \
+            config config soundslike filter -v version dump \
+            create merge' -- "$cur" ) )
+    fi
 
 }
 complete -F _aspell $filenames aspell
@@ -91,8 +91,8 @@ complete -F _aspell $filenames aspell
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/autorpm b/contrib/autorpm
index 7614bb7..e111af0 100644
--- a/contrib/autorpm
+++ b/contrib/autorpm
@@ -3,22 +3,21 @@
 have autorpm &&
 _autorpm()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	COMPREPLY=( $( compgen -W '--notty --debug --help --version \
-				   auto add fullinfo info help install list \
-				   remove set' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '--notty --debug --help --version auto add \
+        fullinfo info help install list remove set' -- "$cur" ) )
 
 } &&
 complete -F _autorpm autorpm
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/bash-builtins b/contrib/bash-builtins
index 419da4f..c0af45d 100644
--- a/contrib/bash-builtins
+++ b/contrib/bash-builtins
@@ -2,20 +2,20 @@
 #
 _alias()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	case "$COMP_LINE" in
-	*[^=])
-		COMPREPLY=( $( compgen -A alias -- "$cur" ) )
-		;;
-	*=)
-		COMPREPLY=( "$( alias ${cur%=} 2>/dev/null | \
-			     sed -e 's|^alias '"$cur"'\(.*\)$|\1|' )" )
-		;;
-	esac
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    case "$COMP_LINE" in
+        *[^=])
+            COMPREPLY=( $( compgen -A alias -- "$cur" ) )
+            ;;
+        *=)
+            COMPREPLY=( "$( alias ${cur%=} 2>/dev/null | sed \
+                -e 's|^alias '"$cur"'\(.*\)$|\1|' )" )
+            ;;
+    esac
 }
 complete -F _alias $nospace alias
 
@@ -23,25 +23,25 @@ complete -F _alias $nospace alias
 #
 _export()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	case "$COMP_LINE" in
-	*=\$*)
-		COMPREPLY=( $( compgen -v -P '$' -- "${cur#*=\$}" ) )
-		;;
-	*[^=])
-		COMPREPLY=( $( compgen -v -S '=' -- "$cur" ) )
-		;;
-	*=)
-		COMPREPLY=( "$( eval echo -n \"$`echo ${cur%=}`\" |
-			( echo -n \'
-			  sed -e 's/'\''/'\''\\\'\'''\''/g'
-			  echo -n \' ) )" )
-		;;
-	esac
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    case "$COMP_LINE" in
+        *=\$*)
+            COMPREPLY=( $( compgen -v -P '$' -- "${cur#*=\$}" ) )
+            ;;
+        *[^=])
+            COMPREPLY=( $( compgen -v -S '=' -- "$cur" ) )
+            ;;
+        *=)
+            COMPREPLY=( "$( eval echo -n \"$`echo ${cur%=}`\" |
+                ( echo -n \'
+                  sed -e 's/'\''/'\''\\\'\'''\''/g'
+                  echo -n \' ) )" )
+            ;;
+    esac
 }
 complete -F _export $default $nospace export
 
@@ -49,24 +49,23 @@ complete -F _export $default $nospace export
 #
 _function()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	if [[ $1 == @(declare|typeset) ]]; then
-		if [ "$prev" = -f ]; then
-			COMPREPLY=( $( compgen -A function -- "$cur" ) )
-		elif [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '-a -f -F -i -r -x -p' -- \
-				       "$cur" ) )
-		fi
-	elif [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -A function -- "$cur" ) )
-	else
-		COMPREPLY=( "() $( type -- ${COMP_WORDS[1]} | sed -e 1,2d )" )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    if [[ $1 == @(declare|typeset) ]]; then
+        if [ "$prev" = -f ]; then
+            COMPREPLY=( $( compgen -A function -- "$cur" ) )
+        elif [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-a -f -F -i -r -x -p' -- "$cur" ) )
+        fi
+    elif [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -A function -- "$cur" ) )
+    else
+        COMPREPLY=( "() $( type -- ${COMP_WORDS[1]} | sed -e 1,2d )" )
+    fi
 }
 complete -F _function function declare typeset
 
@@ -74,61 +73,61 @@ complete -F _function function declare typeset
 #
 _complete()
 {
-	local cur prev options
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-o)
-			options="default dirnames filenames"
-			[ -n "$bash205b" ] && options="$options nospace"
-			[ -n "$bash3" ] && options="$options bashdefault plusdirs"
-			COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
-			return 0
-			;;
-
-		-A)
-			COMPREPLY=( $( compgen -W 'alias arrayvar binding \
-				builtin command directory disabled enabled \
-				export file function group helptopic hostname \
-				job keyword running service setopt shopt \
-				signal stopped user variable' -- "$cur" ) )
-			return 0
-			;;
-
-		-C)
-			COMPREPLY=( $( compgen -A command -- "$cur" ) )
-			return 0
-			;;
-		-F)
-			COMPREPLY=( $( compgen -A function -- "$cur" ) )
-			return 0
-			;;
-		-@(p|r))
-			COMPREPLY=( $( complete -p | sed -e 's|.* ||' ) )
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
-			return 0
-			;;
-
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		# relevant options completion
-		options="-a -b -c -d -e -f -g -j -k -s -v -u -A -G -W -P -S -X -F -C"
-		[ -n "$bash205" ] && options="$options -o"
-		COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
-	else
-		COMPREPLY=( $( compgen -A command -- "$cur" ) )
-	fi
+    local cur prev options
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -o)
+            options="default dirnames filenames"
+            [ -n "$bash205b" ] && options="$options nospace"
+            [ -n "$bash3" ] && options="$options bashdefault plusdirs"
+            COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
+            return 0
+            ;;
+
+        -A)
+            COMPREPLY=( $( compgen -W 'alias arrayvar binding \
+                builtin command directory disabled enabled \
+                export file function group helptopic hostname \
+                job keyword running service setopt shopt \
+                signal stopped user variable' -- "$cur" ) )
+            return 0
+            ;;
+
+        -C)
+            COMPREPLY=( $( compgen -A command -- "$cur" ) )
+            return 0
+            ;;
+        -F)
+            COMPREPLY=( $( compgen -A function -- "$cur" ) )
+            return 0
+            ;;
+        -@(p|r))
+            COMPREPLY=( $( complete -p | sed -e 's|.* ||' ) )
+            COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
+            return 0
+            ;;
+
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        # relevant options completion
+        options="-a -b -c -d -e -f -g -j -k -s -v -u -A -G -W -P -S -X -F -C"
+        [ -n "$bash205" ] && options="$options -o"
+        COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -A command -- "$cur" ) )
+    fi
 }
 complete -F _complete complete
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/bind-utils b/contrib/bind-utils
index d0a537e..6c00539 100644
--- a/contrib/bind-utils
+++ b/contrib/bind-utils
@@ -3,22 +3,21 @@
 have nslookup &&
 _nslookup()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=${COMP_WORDS[COMP_CWORD]#-}
+    COMPREPLY=()
+    cur=${COMP_WORDS[COMP_CWORD]#-}
 
-	COMPREPLY=( $( compgen -P '-' -W 'all class= debug d2 domain= \
-			       srchlist= defname search port= querytype= \
-			       type= recurse retry root timeout vc \
-			       ignoretc' -- "$cur" ) )
+    COMPREPLY=( $( compgen -P '-' -W 'all class= debug d2 domain= srchlist= \
+        defname search port= querytype= type= recurse retry root timeout vc \
+        ignoretc' -- "$cur" ) )
 } &&
 complete -F _nslookup nslookup
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/bitkeeper b/contrib/bitkeeper
index a9e25e8..737837e 100644
--- a/contrib/bitkeeper
+++ b/contrib/bitkeeper
@@ -7,8 +7,7 @@ _bk() {
 	COMPREPLY=()
 	cur=`_get_cword`
 
-	BKCMDS="$( bk help topics | grep '^  bk' | cut -d ' ' -f 4 | \
-		   xargs echo )"
+	BKCMDS="$( bk help topics | grep '^  bk' | cut -d ' ' -f 4 | xargs echo )"
 
 	COMPREPLY=( $( compgen -W "$BKCMDS" -- "$cur" ) )
 	_filedir
@@ -19,8 +18,8 @@ complete -F _bk bk
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/bittorrent b/contrib/bittorrent
index ea27b3c..cc1e95e 100644
--- a/contrib/bittorrent
+++ b/contrib/bittorrent
@@ -4,42 +4,39 @@ have btdownloadheadless.py || have btdownloadcurses.py || \
 have btdownloadgui.py &&
 _btdownload()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		--@(responsefile|saveas))
-			_filedir
-			return 0
-			;;
-	esac
+    case "$prev" in
+        --@(responsefile|saveas))
+            _filedir
+            return 0
+            ;;
+    esac
 
-	 if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--max_uploads --keepalive_interval \
-				--download_slice_size --request_backlog \
-				--max_message_length --ip --minport --maxport \
-				--responsefile --url --saveas --timeout \
-				--timeout_check_interval --max_slice_length \
-				--max_rate_period --bind --upload_rate_fudge \
-				--display_interval --rerequest_interval \
-				--min_peers --http_timeout --max_initiate \
-				--max_allow_in --check_hashes \
-				--max_upload_rate --snub_time --spew \
-				--rarest_first_cutoff --min_uploads \
-				--report_hash_failures' -- "$cur" ) )
-	else
-		_filedir
-	fi
+     if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--max_uploads --keepalive_interval \
+            --download_slice_size --request_backlog --max_message_length \
+            --ip --minport --maxport --responsefile --url --saveas --timeout \
+            --timeout_check_interval --max_slice_length --max_rate_period \
+            --bind --upload_rate_fudge --display_interval --rerequest_interval \
+            --min_peers --http_timeout --max_initiate --max_allow_in \
+            --check_hashes --max_upload_rate --snub_time --spew \
+            --rarest_first_cutoff --min_uploads --report_hash_failures' \
+            -- "$cur" ) )
+    else
+        _filedir
+    fi
 } &&
 complete -F _btdownload btdownloadheadless.py btdownloadcurses.py btdownloadgui.py
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/bluez-utils b/contrib/bluez-utils
index 770c046..f4d56ea 100644
--- a/contrib/bluez-utils
+++ b/contrib/bluez-utils
@@ -3,457 +3,450 @@
 have hcitool && {
 _bluetooth_adresses()
 {
-	if [ -n "${COMP_BLUETOOTH_SCAN:-}" ]; then
-		COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool scan | \
-			awk '/^\t/{print $1}' )" -- "$cur" ) )
-	fi
+    if [ -n "${COMP_BLUETOOTH_SCAN:-}" ]; then
+        COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool scan | \
+            awk '/^\t/{print $1}' )" -- "$cur" ) )
+    fi
 }
 
 _bluetooth_devices()
 {
-	COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool dev | \
-		awk '/^\t/{print $1}' )" -- "$cur" ) )
+    COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -W "$( hcitool dev | \
+        awk '/^\t/{print $1}' )" -- "$cur" ) )
 }
 
 _bluetooth_services()
 {
-	COMPREPLY=( $( compgen -W 'DID SP DUN LAN FAX OPUSH FTP HS HF HFAG \
-		SAP NAP GN PANU HCRP HID CIP A2SRC A2SNK AVRCT AVRTG UDIUE \
-		UDITE SYNCML' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'DID SP DUN LAN FAX OPUSH FTP HS HF HFAG \
+        SAP NAP GN PANU HCRP HID CIP A2SRC A2SNK AVRCT AVRTG UDIUE \
+        UDITE SYNCML' -- "$cur" ) )
 }
 
 _bluetooth_packet_types()
 {
-	COMPREPLY=( $( compgen -W 'DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3' -- \
-		"$cur" ) )
+    COMPREPLY=( $( compgen -W 'DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3' \
+        -- "$cur" ) )
 }
 
 _get_command()
 {
-	local i
-
-	command=
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" != -* ]]; then
-			command=${COMP_WORDS[i]}
-			break
-		fi
-	done
+    local i
+
+    command=
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" != -* ]]; then
+            command=${COMP_WORDS[i]}
+            break
+        fi
+    done
 }
 
 _hcitool()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-i)
-			_bluetooth_devices
-			return 0;
-			;;
-		--role)
-			COMPREPLY=( $( compgen -W 'm s' -- "$cur" ) )
-			return 0;
-			;;
-		--pkt-type)
-			_bluetooth_packet_types
-			return 0;
-			;;
-	esac
-
-	$split && return 0
-
-	_get_command
-	if [ -z $command ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '-h -i' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W 'dev inq scan name info \
-				spinq epinq cmd con cc dc sr cpt rssi lq tpl \
-				afh lst auth enc key clkoff clock' -- "$cur" ) )
-		fi
-	else
-		case $command in
-			@(name|info|dc|rssi|lq|afh|auth|key|clkoff|lst))
-				_count_args
-				if [ $args -eq 2 ]; then
-					_bluetooth_adresses
-				fi
-				;;
-			cc)
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '--role \
-						--pkt-type' -- "$cur" ) )
-				else
-					_count_args
-					if [ $args -eq 2 ]; then
-						_bluetooth_adresses
-					fi
-				fi
-				;;
-			sr)
-				_count_args
-				if [ $args -eq 2 ]; then
-					_bluetooth_adresses
-				else
-					COMPREPLY=( $( compgen -W \
-						'master slave' -- "$cur" ) )
-				fi
-				;;
-			cpt)
-				_count_args
-				if [ $args -eq 2 ]; then
-					_bluetooth_adresses
-				else
-					_bluetooth_packet_types
-				fi
-				;;
-			@(tpl|enc|clock))
-				_count_args
-				if [ $args -eq 2 ]; then
-					_bluetooth_adresses
-				else
-					COMPREPLY=( $( compgen -W \
-						'0 1' -- "$cur" ) )
-				fi
-				;;
-		esac
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -i)
+            _bluetooth_devices
+            return 0;
+            ;;
+        --role)
+            COMPREPLY=( $( compgen -W 'm s' -- "$cur" ) )
+            return 0;
+            ;;
+        --pkt-type)
+            _bluetooth_packet_types
+            return 0;
+            ;;
+    esac
+
+    $split && return 0
+
+    _get_command
+    if [ -z $command ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-h -i' -- "$cur" ) )
+        else
+            COMPREPLY=( $( compgen -W 'dev inq scan name info \
+                spinq epinq cmd con cc dc sr cpt rssi lq tpl \
+                afh lst auth enc key clkoff clock' -- "$cur" ) )
+        fi
+    else
+        case $command in
+            @(name|info|dc|rssi|lq|afh|auth|key|clkoff|lst))
+                _count_args
+                if [ $args -eq 2 ]; then
+                    _bluetooth_adresses
+                fi
+                ;;
+            cc)
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '--role --pkt-type' -- "$cur" ) )
+                else
+                    _count_args
+                    if [ $args -eq 2 ]; then
+                        _bluetooth_adresses
+                    fi
+                fi
+                ;;
+            sr)
+                _count_args
+                if [ $args -eq 2 ]; then
+                    _bluetooth_adresses
+                else
+                    COMPREPLY=( $( compgen -W 'master slave' -- "$cur" ) )
+                fi
+                ;;
+            cpt)
+                _count_args
+                if [ $args -eq 2 ]; then
+                    _bluetooth_adresses
+                else
+                    _bluetooth_packet_types
+                fi
+                ;;
+            @(tpl|enc|clock))
+                _count_args
+                if [ $args -eq 2 ]; then
+                    _bluetooth_adresses
+                else
+                    COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) )
+                fi
+                ;;
+        esac
+    fi
 }
 complete -F _hcitool hcitool
 
 _sdptool()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		--bdaddr)
-			_bluetooth_adresses
-			return 0;
-			;;
-	esac
-
-	$split && return 0
-
-	_get_command
-	if [ -z $command ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--help' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W 'search browse records add \
-				del get setattr setseq' -- "$cur" ) )
-		fi
-	else
-		case $command in
-			search)
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '--bdaddr \
-						--tree --raw --xml' -- "$cur" ) )
-				else
-					_bluetooth_services
-				fi
-				;;
-			@(browse|records))
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '--tree \
-						--raw --xml' -- "$cur" ) )
-				else
-					_bluetooth_adresses
-				fi
-				;;
-			add)
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '--handle \
-						--channel' -- "$cur" ) )
-				else
-					_bluetooth_services
-				fi
-				;;
-			get)
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '--bdaddr \
-						--tree --raw --xml' -- "$cur" ) )
-				fi
-				;;
-		esac
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        --bdaddr)
+            _bluetooth_adresses
+            return 0;
+            ;;
+    esac
+
+    $split && return 0
+
+    _get_command
+    if [ -z $command ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '--help' -- "$cur" ) )
+        else
+            COMPREPLY=( $( compgen -W 'search browse records add \
+                del get setattr setseq' -- "$cur" ) )
+        fi
+    else
+        case $command in
+            search)
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '--bdaddr \
+                        --tree --raw --xml' -- "$cur" ) )
+                else
+                    _bluetooth_services
+                fi
+                ;;
+            @(browse|records))
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '--tree --raw --xml' -- "$cur" ) )
+                else
+                    _bluetooth_adresses
+                fi
+                ;;
+            add)
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '--handle --channel' -- "$cur" ) )
+                else
+                    _bluetooth_services
+                fi
+                ;;
+            get)
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '--bdaddr \
+                        --tree --raw --xml' -- "$cur" ) )
+                fi
+                ;;
+        esac
+    fi
 }
 complete -F _sdptool sdptool
 
 _l2ping()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-i)
-			_bluetooth_devices
-			return 0;
-			;;
-	esac
+    case $prev in
+        -i)
+            _bluetooth_devices
+            return 0;
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-i -s -c -t -f -r' -- "$cur" ) )
-	else
-		_bluetooth_adresses
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-i -s -c -t -f -r' -- "$cur" ) )
+    else
+        _bluetooth_adresses
+    fi
 
 }
 complete -F _l2ping l2ping
 
 _rfcomm()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-@(f|-config))
-			_filedir
-			return 0;
-			;;
-		-i)
-			_bluetooth_devices
-			_bluetooth_adresses
-			return 0;
-			;;
-	esac
-
-	_get_command
-	if [ -z $command ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '-h --help -a -r --raw -f \
-				--config -i -A --auth -E --encrypt -S --secure \
-				-M --master' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W 'show connect listen watch \
-				bind release' -- "$cur" ) )
-		fi
-	else
-		_count_args
-		if [ $args -eq 2 ]; then
-			_bluetooth_devices
-		else
-			case $command in
-				@(connect|bind))
-					if [ $args -eq 3 ]; then
-						_bluetooth_adresses
-					fi
-					;;
-			esac
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -@(f|-config))
+            _filedir
+            return 0;
+            ;;
+        -i)
+            _bluetooth_devices
+            _bluetooth_adresses
+            return 0;
+            ;;
+    esac
+
+    _get_command
+    if [ -z $command ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-h --help -a -r --raw -f \
+                --config -i -A --auth -E --encrypt -S --secure \
+                -M --master' -- "$cur" ) )
+        else
+            COMPREPLY=( $( compgen -W 'show connect listen watch \
+                bind release' -- "$cur" ) )
+        fi
+    else
+        _count_args
+        if [ $args -eq 2 ]; then
+            _bluetooth_devices
+        else
+            case $command in
+                @(connect|bind))
+                    if [ $args -eq 3 ]; then
+                        _bluetooth_adresses
+                    fi
+                    ;;
+            esac
+        fi
+    fi
 }
 complete -F _rfcomm rfcomm
 
 _ciptool()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-i)
-			_bluetooth_devices
-			_bluetooth_adresses
-			return 0;
-			;;
-	esac
-
-	_get_command
-	if [ -z $command ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '-h --help -i' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W 'show search connect release \
-				loopback' -- "$cur" ) )
-		fi
-	else
-		case $command in
-			@(connect|release|loopback))
-				_count_args
-				if [ $args -eq 2 ]; then
-					_bluetooth_adresses
-				fi
-				;;
-		esac
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -i)
+            _bluetooth_devices
+            _bluetooth_adresses
+            return 0;
+            ;;
+    esac
+
+    _get_command
+    if [ -z $command ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-h --help -i' -- "$cur" ) )
+        else
+            COMPREPLY=( $( compgen -W 'show search connect release \
+                loopback' -- "$cur" ) )
+        fi
+    else
+        case $command in
+            @(connect|release|loopback))
+                _count_args
+                if [ $args -eq 2 ]; then
+                    _bluetooth_adresses
+                fi
+                ;;
+        esac
+    fi
 }
 complete -F _ciptool ciptool
 
 _dfutool()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-@(d|-device))
-			_bluetooth_devices
-			return 0;
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-h --help -d --device' -- "$cur" ) )
-	else
-		_count_args
-		case $args in
-			1)
-				COMPREPLY=( $( compgen -W 'verify modify \
-					upgrade archive' -- "$cur" ) )
-				;;
-			2)
-				_filedir
-				;;
-		esac
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -@(d|-device))
+            _bluetooth_devices
+            return 0;
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-h --help -d --device' -- "$cur" ) )
+    else
+        _count_args
+        case $args in
+            1)
+                COMPREPLY=( $( compgen -W 'verify modify \
+                    upgrade archive' -- "$cur" ) )
+                ;;
+            2)
+                _filedir
+                ;;
+        esac
+    fi
 }
 complete -F _dfutool dfutool
 
 _hciconfig()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_get_command
-	if [ -z $command ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '-h --help -a --all' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W 'up down reset rstat auth \
-				noauth encrypt noencrypt secmgr nosecmgr \
-				piscan noscan iscan pscan ptype name class \
-				voice iac inqmode inqdata inqtype inqparams \
-				pageparms pageto afhmode aclmtu scomtu putkey \
-				delkey commands features version revision lm' \
-				-- "$cur" ) )
-		fi
-	else
-		case $command in
-			@(putkey|delkey))
-				_count_args
-				if [ $args -eq 2 ]; then
-					_bluetooth_adresses
-				fi
-				;;
-			lm)
-				_count_args
-				if [ $args -eq 2 ]; then
-					COMPREPLY=( $( compgen -W 'MASTER \
-						SLAVE NONE ACCEPT' -- "$cur" ) )
-				fi
-				;;
-			ptype)
-				_count_args
-				if [ $args -eq 2 ]; then
-					_bluetooth_packet_types
-				fi
-				;;
-		esac
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _get_command
+    if [ -z $command ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-h --help -a --all' -- "$cur" ) )
+        else
+            COMPREPLY=( $( compgen -W 'up down reset rstat auth \
+                noauth encrypt noencrypt secmgr nosecmgr \
+                piscan noscan iscan pscan ptype name class \
+                voice iac inqmode inqdata inqtype inqparams \
+                pageparms pageto afhmode aclmtu scomtu putkey \
+                delkey commands features version revision lm' \
+                -- "$cur" ) )
+        fi
+    else
+        case $command in
+            @(putkey|delkey))
+                _count_args
+                if [ $args -eq 2 ]; then
+                    _bluetooth_adresses
+                fi
+                ;;
+            lm)
+                _count_args
+                if [ $args -eq 2 ]; then
+                    COMPREPLY=( $( compgen -W 'MASTER \
+                        SLAVE NONE ACCEPT' -- "$cur" ) )
+                fi
+                ;;
+            ptype)
+                _count_args
+                if [ $args -eq 2 ]; then
+                    _bluetooth_packet_types
+                fi
+                ;;
+        esac
+    fi
 }
 complete -F _hciconfig hciconfig
 
 _hciattach()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-n -p -t -b -s -l' -- "$cur" ) )
-	else
-		_count_args
-		case $args in
-			1)
-				COMPREPLY=( $( command ls /dev/tty* ) )
-				COMPREPLY=( $( compgen -W '${COMPREPLY[@]} \
-					${COMPREPLY[@]#/dev/}' -- "$cur" ) )
-				;;
-			2)
-				COMPREPLY=( $( compgen -W 'any ericsson digi \
-					xircom csr bboxes swave bcsp 0x0105 \
-					0x080a 0x0160 0x0002' -- "$cur" ) )
-				;;
-			3)
-				COMPREPLY=( $( compgen -W '9600 19200 38400 \
-					57600 115200 230400 460800 921600' \
-					-- "$cur" ) )
-				;;
-			4)
-				COMPREPLY=( $( compgen -W 'flow noflow' \
-					-- "$cur" ) )
-				;;
-			5)
-				_bluetooth_adresses
-				;;
-		esac
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-n -p -t -b -s -l' -- "$cur" ) )
+    else
+        _count_args
+        case $args in
+            1)
+                COMPREPLY=( $( command ls /dev/tty* ) )
+                COMPREPLY=( $( compgen -W '${COMPREPLY[@]} \
+                    ${COMPREPLY[@]#/dev/}' -- "$cur" ) )
+                ;;
+            2)
+                COMPREPLY=( $( compgen -W 'any ericsson digi \
+                    xircom csr bboxes swave bcsp 0x0105 \
+                    0x080a 0x0160 0x0002' -- "$cur" ) )
+                ;;
+            3)
+                COMPREPLY=( $( compgen -W '9600 19200 38400 \
+                    57600 115200 230400 460800 921600' -- "$cur" ) )
+                ;;
+            4)
+                COMPREPLY=( $( compgen -W 'flow noflow' -- "$cur" ) )
+                ;;
+            5)
+                _bluetooth_adresses
+                ;;
+        esac
+    fi
 
 }
 complete -F _hciattach hciattach
 
 _hid2hci()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-h --help -q --quiet -0 --tohci -1 \
-			--tohid' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-h --help -q --quiet -0 --tohci -1 \
+            --tohid' -- "$cur" ) )
+    fi
 }
 complete -F _hid2hci hid2hci
 
 _avctrl()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-h --help -q --quiet' -- "$cur" ) )
-	else
-		_count_args
-		if [ $args -eq 1 ]; then
-			COMPREPLY=( $( compgen -W 'discover switch' -- "$cur" ) )
-		fi
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-h --help -q --quiet' -- "$cur" ) )
+    else
+        _count_args
+        if [ $args -eq 1 ]; then
+            COMPREPLY=( $( compgen -W 'discover switch' -- "$cur" ) )
+        fi
+    fi
 }
 complete -F _avctrl avctrl
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/brctl b/contrib/brctl
index c10e97b..a612034 100644
--- a/contrib/brctl
+++ b/contrib/brctl
@@ -3,47 +3,46 @@
 have brctl &&
 _brctl()
 {
-	local cur command
+    local cur command
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	command=${COMP_WORDS[1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    command=${COMP_WORDS[1]}
 
-	case $COMP_CWORD in
-		1)
-			COMPREPLY=( $( compgen -W "addbr delbr addif delif \
-				setageing setbridgeprio setfd sethello \
-				setmaxage setpathcost setportprio show \
-				showmacs showstp stp" -- "$cur" ) )
-			;;
-		2)
-			case $command in
-				show)
-					;;
-				*)
-					COMPREPLY=( $( compgen -W "$(brctl \
-						show | sed '1d' | \
-						awk '{print $1}' )" -- "$cur" ) )
-			esac
-			;;
-		3)
-			case $command in
-				@(add|del)if)
-					_configured_interfaces
-					;;
-				stp)
-					COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
-					;;
-			esac
-			;;
-	esac
+    case $COMP_CWORD in
+        1)
+            COMPREPLY=( $( compgen -W "addbr delbr addif delif \
+                setageing setbridgeprio setfd sethello \
+                setmaxage setpathcost setportprio show \
+                showmacs showstp stp" -- "$cur" ) )
+            ;;
+        2)
+            case $command in
+                show)
+                    ;;
+                *)
+                    COMPREPLY=( $( compgen -W "$(brctl show | sed '1d' | \
+                        awk '{print $1}' )" -- "$cur" ) )
+            esac
+            ;;
+        3)
+            case $command in
+                @(add|del)if)
+                    _configured_interfaces
+                    ;;
+                stp)
+                    COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
+                    ;;
+            esac
+            ;;
+    esac
 } &&
 complete -F _brctl $default brctl
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/bzip2 b/contrib/bzip2
index 51fa9f1..5572d09 100644
--- a/contrib/bzip2
+++ b/contrib/bzip2
@@ -3,45 +3,45 @@
 have bzip2 &&
 _bzip2()
 {
-	local cur prev xspec
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -d -f -h -k -L -q -s \
-			-t -v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \
-			--help --decompress --compress --keep --force \
-			--test --stdout --quiet --verbose --license \
-			--version --small --fast --best' -- "$cur" ) )
-		return 0
-	fi
-
-	local IFS=$'\t\n'
-
-	xspec="*.bz2"
-	if [[ "$prev" == --* ]]; then
-		[[ "$prev" == --decompress || \
-			"$prev" == --list || \
-			"$prev" == --test ]] && xspec="!"$xspec
-		[[ "$prev" == --compress ]] && xspec=
-	elif [[ "$prev" == -* ]]; then
-		[[ "$prev" == -*[dt]* ]] && xspec="!"$xspec
-		[[ "$prev" == -*z* ]] && xspec=
-	fi
-
-	_expand || return 0
-
-	COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
-		    $( compgen -d -- "$cur" ) )
+    local cur prev xspec
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c -d -f -h -k -L -q -s \
+            -t -v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \
+            --help --decompress --compress --keep --force \
+            --test --stdout --quiet --verbose --license \
+            --version --small --fast --best' -- "$cur" ) )
+        return 0
+    fi
+
+    local IFS=$'\t\n'
+
+    xspec="*.bz2"
+    if [[ "$prev" == --* ]]; then
+        [[ "$prev" == --decompress || \
+            "$prev" == --list || \
+            "$prev" == --test ]] && xspec="!"$xspec
+        [[ "$prev" == --compress ]] && xspec=
+    elif [[ "$prev" == -* ]]; then
+        [[ "$prev" == -*[dt]* ]] && xspec="!"$xspec
+        [[ "$prev" == -*z* ]] && xspec=
+    fi
+
+    _expand || return 0
+
+    COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
+        $( compgen -d -- "$cur" ) )
 } &&
 complete -F _bzip2 $filenames bzip2
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cardctl b/contrib/cardctl
index 64e5c18..c16c52d 100644
--- a/contrib/cardctl
+++ b/contrib/cardctl
@@ -3,23 +3,22 @@
 have cardctl &&
 _cardctl()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W 'status config ident suspend \
-					   resume reset eject insert scheme' \
-			       -- "$cur" ) )
-	fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W 'status config ident suspend \
+            resume reset eject insert scheme' -- "$cur" ) )
+    fi
 } &&
 complete -F _cardctl cardctl
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cfengine b/contrib/cfengine
index 5be498a..0f40e0c 100644
--- a/contrib/cfengine
+++ b/contrib/cfengine
@@ -3,92 +3,91 @@
 have cfagent && {
 _cfagent_options()
 {
-	COMPREPLY=( $( compgen -W '-a --sysadm -b --force-net-copy -c \
-		--no-check-files -C --no-check-mounts -d --debug -D --define \
-		-e --no-edits -E --enforce-links -f --file -h --help -H \
-		--no-hard-classes -i --no-ifconfig -I --inform -k --no-copy \
-		-K --no-lock -l --traverse-links -L --delete-stale-links -m \
-		--no-mount -M --no-modules -n --recon --dry-run --just-print \
-		-N --negate --undefine -p --parse-only -P --no-processes -q \
-		--no-splay -s --no-commands -S --silent -t --no-tidy -u \
-		--use-env -U --underscore-classes -v --verbose -V --version \
-		-x --no-preconf -X --no-links -w --no-warn --quiet' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '-a --sysadm -b --force-net-copy -c \
+        --no-check-files -C --no-check-mounts -d --debug -D --define \
+        -e --no-edits -E --enforce-links -f --file -h --help -H \
+        --no-hard-classes -i --no-ifconfig -I --inform -k --no-copy \
+        -K --no-lock -l --traverse-links -L --delete-stale-links -m \
+        --no-mount -M --no-modules -n --recon --dry-run --just-print \
+        -N --negate --undefine -p --parse-only -P --no-processes -q \
+        --no-splay -s --no-commands -S --silent -t --no-tidy -u \
+        --use-env -U --underscore-classes -v --verbose -V --version \
+        -x --no-preconf -X --no-links -w --no-warn --quiet' -- "$cur" ) )
 }
 
 _cfagent()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-@(f|-file))
-			_filedir
-			return 0
-			;;
-	esac
+    case $prev in
+        -@(f|-file))
+            _filedir
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		_cfagent_options
-	fi
+    if [[ "$cur" == -* ]]; then
+        _cfagent_options
+    fi
 }
 complete -F _cfagent cfagent
 
 _cfrun()
 {
-	local i section cfinputs
+    local i section cfinputs
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	section=1
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == -- ]]; then
-			section=$((section + 1))
-		fi
-	done
+    section=1
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == -- ]]; then
+            section=$((section + 1))
+        fi
+    done
 
-	case $section in
-		1)
-			prev=${COMP_WORDS[COMP_CWORD-1]}
-			case $prev in
-				-f)
-					_filedir
-					return 0
-					;;
-			esac
+    case $section in
+        1)
+            prev=${COMP_WORDS[COMP_CWORD-1]}
+            case $prev in
+                -f)
+                    _filedir
+                    return 0
+                    ;;
+            esac
 
-			if [[ "$cur" == -* ]]; then
-				COMPREPLY=( $( compgen -W '-f -h -d -S -T -v' \
-					-- $cur ) )
-			else
-				hostfile=${CFINPUTS:-/var/lib/cfengine/inputs}/cfrun.hosts
-				for (( i=1; i < COMP_CWORD; i++ )); do
-					if [[ "${COMP_WORDS[i]}" == -f ]]; then
-						hostfile=${COMP_WORDS[i+1]}
-						break
-					fi
-				done
-				[ ! -f $hostfile ] && return 0
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W '-f -h -d -S -T -v' -- $cur ) )
+            else
+                hostfile=${CFINPUTS:-/var/lib/cfengine/inputs}/cfrun.hosts
+                for (( i=1; i < COMP_CWORD; i++ )); do
+                    if [[ "${COMP_WORDS[i]}" == -f ]]; then
+                        hostfile=${COMP_WORDS[i+1]}
+                        break
+                    fi
+                done
+                [ ! -f $hostfile ] && return 0
 
-				COMPREPLY=( $(compgen -W  "$( grep -v \
-					-E '(=|^$|^#)' $hostfile )" -- "$cur" ) )
-			fi
-			;;
-		2)
-			_cfagent_options
-			;;
-	esac
+                COMPREPLY=( $(compgen -W  "$( grep -v \
+                    -E '(=|^$|^#)' $hostfile )" -- "$cur" ) )
+            fi
+            ;;
+        2)
+            _cfagent_options
+            ;;
+    esac
 }
 complete -F _cfrun cfrun
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/chkconfig b/contrib/chkconfig
index 578e43a..7c12c0d 100644
--- a/contrib/chkconfig
+++ b/contrib/chkconfig
@@ -3,45 +3,43 @@
 have chkconfig &&
 _chkconfig()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-	@(?(--level=)[1-6]|--@(list|add|del|override)))
-		_services
-		return 0
-		;;
-	--level)
-		COMPREPLY=( $( compgen -W '1 2 3 4 5 6' -- "$cur" ) )
-		return 0
-		;;
-	esac
+    case "$prev" in
+    @(?(--level=)[1-6]|--@(list|add|del|override)))
+        _services
+        return 0
+        ;;
+    --level)
+        COMPREPLY=( $( compgen -W '1 2 3 4 5 6' -- "$cur" ) )
+        return 0
+        ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--list --add --del --override \
-						--level' -- "$cur" ) )
-	else
-		if [ $COMP_CWORD -eq 2 -o $COMP_CWORD -eq 4 ]; then
-			COMPREPLY=( $( compgen -W 'on off reset \
-						resetpriorities' -- "$cur" ) )
-		else
-			_services
-		fi
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--list --add --del --override --level' -- "$cur" ) )
+    else
+        if [ $COMP_CWORD -eq 2 -o $COMP_CWORD -eq 4 ]; then
+            COMPREPLY=( $( compgen -W 'on off reset resetpriorities' -- "$cur" ) )
+        else
+            _services
+        fi
+    fi
 } &&
 complete -F _chkconfig chkconfig
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/chsh b/contrib/chsh
index dc03131..46ee029 100644
--- a/contrib/chsh
+++ b/contrib/chsh
@@ -2,26 +2,26 @@
 
 _chsh()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	if [ "$prev" = "-s" ]; then
-		_shells
-	else
-		COMPREPLY=( $( compgen -u -- "$cur" ) )
-	fi
+    if [ "$prev" = "-s" ]; then
+        _shells
+    else
+        COMPREPLY=( $( compgen -u -- "$cur" ) )
+    fi
 
-	return 0
+    return 0
 }
 complete -F _chsh chsh
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cksfv b/contrib/cksfv
index 0e1e146..0ddea02 100644
--- a/contrib/cksfv
+++ b/contrib/cksfv
@@ -3,34 +3,34 @@
 have cksfv &&
 _cksfv()
 {
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W '-C -f -i -q -v' -- "$cur" ) )
-		return 0
-	fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W '-C -f -i -q -v' -- "$cur" ) )
+        return 0
+    fi
 
-	case "${COMP_WORDS[$COMP_CWORD-1]}" in
-	-C)
-		_filedir -d
-		return 0
-		;;
-	-f)
-		_filedir 'sfv'
-		return 0
-		;;
-	esac
+    case "${COMP_WORDS[$COMP_CWORD-1]}" in
+    -C)
+        _filedir -d
+        return 0
+        ;;
+    -f)
+        _filedir 'sfv'
+        return 0
+        ;;
+    esac
 
-	_filedir
-	return 0
+    _filedir
+    return 0
 } &&
 complete -F _cksfv cksfv
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/clisp b/contrib/clisp
index 57aeca9..322faab 100644
--- a/contrib/clisp
+++ b/contrib/clisp
@@ -11,12 +11,11 @@ _clisp()
 
     # completing an option (may or may not be separated by a space)
     if [[ "$cur" == -* ]]; then
-	COMPREPLY=( $( compgen -W '-h --help --version --license -B -K \
-                     -M -m -L -N -E -q --quiet --silent -w -I -ansi \
-                     -traditional -p -C -norc -i -c -l -o -x ' \
-                     -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '-h --help --version --license -B -K \
+        -M -m -L -N -E -q --quiet --silent -w -I -ansi \
+         -traditional -p -C -norc -i -c -l -o -x ' -- "$cur" ) )
     else
-	_filedir
+        _filedir
     fi
 
     return 0
@@ -25,8 +24,8 @@ complete -F _clisp $default clisp
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/configure b/contrib/configure
index a18b8c8..3195bcb 100644
--- a/contrib/configure
+++ b/contrib/configure
@@ -2,27 +2,31 @@
 
 _configure()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	# if $COMP_CONFIGURE_HINTS is not null, then completions of the form
-	# --option=SETTING will include 'SETTING' as a contextual hint
-	[[ "$cur" != -* ]] && return 0
+    # if $COMP_CONFIGURE_HINTS is not null, then completions of the form
+    # --option=SETTING will include 'SETTING' as a contextual hint
+    [[ "$cur" != -* ]] && return 0
 
-	if [ -n "$COMP_CONFIGURE_HINTS" ]; then
-		COMPREPLY=( $( $1 --help 2>&1 | awk '/^  --[A-Za-z]/ { print $1; if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' | grep ^$cur ) )
-	else
-		COMPREPLY=( $( $1 --help 2>&1 | awk '/^  --[A-Za-z]/ { print $1; if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,=].*//g' | grep ^$cur ) )
-	fi
+    if [ -n "$COMP_CONFIGURE_HINTS" ]; then
+        COMPREPLY=( $( $1 --help 2>&1 | awk '/^  --[A-Za-z]/ { print $1; \
+            if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' | \
+            grep ^$cur ) )
+    else
+        COMPREPLY=( $( $1 --help 2>&1 | awk '/^  --[A-Za-z]/ { print $1; \
+            if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,=].*//g' | \
+            grep ^$cur ) )
+    fi
 }
 complete -F _configure $default configure
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cowsay b/contrib/cowsay
index f66e503..0a44144 100644
--- a/contrib/cowsay
+++ b/contrib/cowsay
@@ -3,30 +3,30 @@
 have cowsay &&
 _cowsay()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-f)
-			COMPREPLY=( $( compgen -W '$( cowsay -l | tail -n +2 \
-				)' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        -f)
+            COMPREPLY=( $( compgen -W '$( cowsay -l | tail -n +2)' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	# relevant options completion
-	COMPREPLY=( $( compgen -W '-b -d -g -p -s -t -w -y -e -f -h -l -n -T -W' -- "$cur" ) )
+    # relevant options completion
+    COMPREPLY=( $( compgen -W '-b -d -g -p -s -t -w -y -e -f -h -l -n -T -W' \
+        -- "$cur" ) )
 
 } &&
 complete -F _cowsay $default cowsay cowthink
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cpan2dist b/contrib/cpan2dist
index 20c86ef..e2147bf 100644
--- a/contrib/cpan2dist
+++ b/contrib/cpan2dist
@@ -3,48 +3,51 @@
 have cpan2dist &&
 _cpan2dist()
 {
-	local cur prev packagelist cpandirs
+    local cur prev packagelist cpandirs
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		--format)
-			# should remove ":" from COMP_WORDBREAKS, but doesn't work (?)
-			COMPREPLY=( $( compgen -W '$(perl -MCPANPLUS::Dist -e "print map { \"\$_\n\" } CPANPLUS::Dist->dist_types")' -- "$cur" ) )
-			return 0
-			;;
-		--@(banlist|ignorelist|modulelist|logfile))
-			_filedir
-			return 0
-			;;
-	esac
+    case $prev in
+        --format)
+            # should remove ":" from COMP_WORDBREAKS, but doesn't work (?)
+            COMPREPLY=( $( compgen -W '$(perl -MCPANPLUS::Dist -e \
+                "print map { \"\$_\n\" } CPANPLUS::Dist->dist_types")' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        --@(banlist|ignorelist|modulelist|logfile))
+            _filedir
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--help --skiptest --force --install \
-			--verbose --keepsource --makefile --buildprereq \
-			--archive --flushcache --defaults --edit-metafile \
-			--format --ban --banlist --ignore --ignorelist \
-			--modulelist --logfile --timeout --set-config \
-			--set-program --dist-opts --default-banlist \
-			--default-ignorelist' -- $cur ) )
-	else
-		cpandirs=( "$HOME/.cpanplus/" "$HOME/.cpan/source/modules/" )
-		for dir in ${cpandirs[@]}; do
-			[ -d "$dir" -a -r "$dir/02packages.details.txt.gz" ] && packagelist="$dir/02packages.details.txt.gz"
-		done
-		COMPREPLY=( $( zgrep "^${cur//-/::}" \
-			$packagelist 2>/dev/null \
-			| awk '{print $1}' | sed -e 's/::/-/g' ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--help --skiptest --force --install \
+            --verbose --keepsource --makefile --buildprereq \
+            --archive --flushcache --defaults --edit-metafile \
+            --format --ban --banlist --ignore --ignorelist \
+            --modulelist --logfile --timeout --set-config \
+            --set-program --dist-opts --default-banlist \
+            --default-ignorelist' -- $cur ) )
+    else
+        cpandirs=( "$HOME/.cpanplus/" "$HOME/.cpan/source/modules/" )
+        for dir in ${cpandirs[@]}; do
+            [ -d "$dir" -a -r "$dir/02packages.details.txt.gz" ] && \
+                packagelist="$dir/02packages.details.txt.gz"
+        done
+        COMPREPLY=( $( zgrep "^${cur//-/::}" \
+            $packagelist 2>/dev/null \
+            | awk '{print $1}' | sed -e 's/::/-/g' ) )
+    fi
 } &&
 complete -F _cpan2dist $default cpan2dist
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cpio b/contrib/cpio
index 3ab18da..f28b1b2 100644
--- a/contrib/cpio
+++ b/contrib/cpio
@@ -3,99 +3,99 @@
 have cpio && {
 _cpio_format()
 {
-	COMPREPLY=( $( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- "$cur" ) )
 }
 
 _cpio()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	# --name value style option
-	case $prev in
-		-H|--format)
-			_cpio_format
-			return 0
-			;;
-		-@(E|F|I|-?(pattern-)file))
-			_filedir
-			return 0
-			;;
-		-R|--owner)
-			_usergroup
-			return 0
-			;;
-		--rsh-command)
-			COMPREPLY=( $( compgen -c -- "$cur" ) )
-			return 0
-			;;
-	esac
+    # --name value style option
+    case $prev in
+        -H|--format)
+            _cpio_format
+            return 0
+            ;;
+        -@(E|F|I|-?(pattern-)file))
+            _filedir
+            return 0
+            ;;
+        -R|--owner)
+            _usergroup
+            return 0
+            ;;
+        --rsh-command)
+            COMPREPLY=( $( compgen -c -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W '-o --create -i --extract -p --pass-through' -- "$cur" ) )
-	else
-		case ${COMP_WORDS[1]} in
-			-@(o|-create))
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '-0 -a -c -v -A -B\
-						-L -V -C -H -M -O -F --file --format\
-						--message --null --reset-access-time\
-						--verbose --dot --append --block-size\
-						--dereference --io-size --quiet\
-						--force-local --rsh-command --help\
-						--version' -- "$cur" ) )
-				fi
-				;;
-			-@(i|-extract))
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '-b -c -d -f -m -n -r\
-						-t -s -u -v -B -S -V -C -E -H -M -R -I\
-						-F --file --make-directories\
-						--nonmatching\
-						--preserve-modification-time\
-						--numeric-uid-gid --rename -t --list\
-						--swap-bytes --swap --dot\
-						--unconditional --verbose --block-size\
-						--swap-halfwords --io-size\
-						--pattern-file --format --owner\
-						--no-preserve-owner --message\
-						--force-local --no-absolute-filenames\
-						--sparse --only-verify-crc --quiet\
-						--rsh-command --help\
-						--version' -- "$cur" ) )
-				fi
-				;;
-			-@(p|-pass-through))
-				if [[ "$cur" == -* ]]; then
-					COMPREPLY=( $( compgen -W '-0 -a -d -l -m -u -v\
-						-L -V -R --null --reset-access-time\
-						--make-directories --link --quiet\
-						--preserve-modification-time\
-						--unconditional --verbose --dot\
-						--dereference --owner\
-						--no-preserve-owner --sparse --help\
-						--version' -- "$cur" ) )
-				else
-					_filedir -d
-				fi
-				;;
-		esac
-	fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W '-o --create -i --extract -p --pass-through' -- "$cur" ) )
+    else
+        case ${COMP_WORDS[1]} in
+            -@(o|-create))
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '-0 -a -c -v -A -B\
+                        -L -V -C -H -M -O -F --file --format\
+                        --message --null --reset-access-time\
+                        --verbose --dot --append --block-size\
+                        --dereference --io-size --quiet\
+                        --force-local --rsh-command --help\
+                        --version' -- "$cur" ) )
+                fi
+                ;;
+            -@(i|-extract))
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '-b -c -d -f -m -n -r\
+                        -t -s -u -v -B -S -V -C -E -H -M -R -I\
+                        -F --file --make-directories\
+                        --nonmatching\
+                        --preserve-modification-time\
+                        --numeric-uid-gid --rename -t --list\
+                        --swap-bytes --swap --dot\
+                        --unconditional --verbose --block-size\
+                        --swap-halfwords --io-size\
+                        --pattern-file --format --owner\
+                        --no-preserve-owner --message\
+                        --force-local --no-absolute-filenames\
+                        --sparse --only-verify-crc --quiet\
+                        --rsh-command --help\
+                        --version' -- "$cur" ) )
+                fi
+                ;;
+            -@(p|-pass-through))
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W '-0 -a -d -l -m -u -v\
+                        -L -V -R --null --reset-access-time\
+                        --make-directories --link --quiet\
+                        --preserve-modification-time\
+                        --unconditional --verbose --dot\
+                        --dereference --owner\
+                        --no-preserve-owner --sparse --help\
+                        --version' -- "$cur" ) )
+                else
+                    _filedir -d
+                fi
+                ;;
+        esac
+    fi
 }
 complete -F _cpio cpio
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cups b/contrib/cups
index 50d3b24..0d7ceab 100644
--- a/contrib/cups
+++ b/contrib/cups
@@ -3,19 +3,19 @@
 have cancel &&
 _cancel()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	COMPREPLY=( $( compgen -W "$( lpstat | cut -d' ' -f1 )" -- "$cur" ) )
+    COMPREPLY=( $( compgen -W "$( lpstat | cut -d' ' -f1 )" -- "$cur" ) )
 } &&
 complete -F _cancel $filenames cancel
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/cvs b/contrib/cvs
index 6f354cc..aa2d46c 100644
--- a/contrib/cvs
+++ b/contrib/cvs
@@ -3,270 +3,264 @@
 have cvs && {
 set_prefix()
 {
-	[ -z ${prefix:-} ] || prefix=${cur%/*}/
-	[ -r ${prefix:-}CVS/Entries ] || prefix=""
+    [ -z ${prefix:-} ] || prefix=${cur%/*}/
+    [ -r ${prefix:-}CVS/Entries ] || prefix=""
 }
 
 get_entries()
 {
-	local IFS=$'\n'
-	[ -r ${prefix:-}CVS/Entries ] && \
-	entries=$(cut -d/ -f2 -s ${prefix:-}CVS/Entries)
+    local IFS=$'\n'
+    [ -r ${prefix:-}CVS/Entries ] && \
+    entries=$(cut -d/ -f2 -s ${prefix:-}CVS/Entries)
 }
 
 get_modules()
 {
-	if [ -n "$prefix" ]; then
-		COMPREPLY=( $( command ls -d ${cvsroot}/${prefix}/!(CVSROOT) ) )
-	else
-		COMPREPLY=( $( command ls -d ${cvsroot}/!(CVSROOT) ) )
-	fi
+    if [ -n "$prefix" ]; then
+        COMPREPLY=( $( command ls -d ${cvsroot}/${prefix}/!(CVSROOT) ) )
+    else
+        COMPREPLY=( $( command ls -d ${cvsroot}/!(CVSROOT) ) )
+    fi
 }
 
 _cvs()
 {
-	local cur count mode i cvsroot cvsroots pwd
-	local -a flags miss files entries changed newremoved
+    local cur count mode i cvsroot cvsroots pwd
+    local -a flags miss files entries changed newremoved
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	count=0
-	for i in "${COMP_WORDS[@]}"; do
-		[ $count -eq $COMP_CWORD ] && break
-		# Last parameter was the CVSROOT, now go back to mode selection
-		if [ "${COMP_WORDS[((count))]}" == "$cvsroot" -a "$mode" == "cvsroot" ]; then
-			mode=""
-		fi
-		if [ -z "$mode" ]; then
-			case $i in
-			-d)
-				mode=cvsroot
-				cvsroot=${COMP_WORDS[((count+1))]}
-				;;
-			@(ad?(d)|new))
-				mode=add
-				;;
-			@(adm?(in)|rcs))
-				mode=admin
-				;;
-			ann?(notate))
-				mode=annotate
-				;;
-			@(checkout|co|get))
-				mode=checkout
-				;;
-			@(com?(mit)|ci))
-				mode=commit
-				;;
-			di?(f?(f)))
-				mode=diff
-				;;
-			ex?(p?(ort)))
-				mode=export
-				;;
-			?(un)edit)
-				mode=$i
-				;;
-			hi?(s?(tory)))
-				mode=history
-				;;
-			im?(p?(ort)))
-				mode=import
-				;;
-			re?(l?(ease)))
-				mode=release
-				;;
-			?(r)log)
-				mode=log
-				;;
-			@(rdiff|patch))
-				mode=rdiff
-				;;
-			@(remove|rm|delete))
-				mode=remove
-				;;
-			@(rtag|rfreeze))
-				mode=rtag
-				;;
-			st?(at?(us)))
-				mode=status
-				;;
-			@(tag|freeze))
-				mode=tag
-				;;
-			up?(d?(ate)))
-				mode=update
-				;;
-			*)
-				;;
-			esac
-		elif [[ "$i" = -* ]]; then
-			flags=( "${flags[@]}" $i )
-		fi
-		count=$((++count))
-	done
+    count=0
+    for i in "${COMP_WORDS[@]}"; do
+        [ $count -eq $COMP_CWORD ] && break
+        # Last parameter was the CVSROOT, now go back to mode selection
+        if [ "${COMP_WORDS[((count))]}" == "$cvsroot" -a "$mode" == "cvsroot" ]; then
+            mode=""
+        fi
+        if [ -z "$mode" ]; then
+            case $i in
+            -d)
+                mode=cvsroot
+                cvsroot=${COMP_WORDS[((count+1))]}
+                ;;
+            @(ad?(d)|new))
+                mode=add
+                ;;
+            @(adm?(in)|rcs))
+                mode=admin
+                ;;
+            ann?(notate))
+                mode=annotate
+                ;;
+            @(checkout|co|get))
+                mode=checkout
+                ;;
+            @(com?(mit)|ci))
+                mode=commit
+                ;;
+            di?(f?(f)))
+                mode=diff
+                ;;
+            ex?(p?(ort)))
+                mode=export
+                ;;
+            ?(un)edit)
+                mode=$i
+                ;;
+            hi?(s?(tory)))
+                mode=history
+                ;;
+            im?(p?(ort)))
+                mode=import
+                ;;
+            re?(l?(ease)))
+                mode=release
+                ;;
+            ?(r)log)
+                mode=log
+                ;;
+            @(rdiff|patch))
+                mode=rdiff
+                ;;
+            @(remove|rm|delete))
+                mode=remove
+                ;;
+            @(rtag|rfreeze))
+                mode=rtag
+                ;;
+            st?(at?(us)))
+                mode=status
+                ;;
+            @(tag|freeze))
+                mode=tag
+                ;;
+            up?(d?(ate)))
+                mode=update
+                ;;
+            *)
+                ;;
+            esac
+        elif [[ "$i" = -* ]]; then
+            flags=( "${flags[@]}" $i )
+        fi
+        count=$((++count))
+    done
 
-	case "$mode" in
-	add)
-		if [[ "$cur" != -* ]]; then
-			set_prefix
-			if [ $COMP_CWORD -gt 1 -a -r ${prefix:-}CVS/Entries ]; then
-				get_entries
-				[ -z "$cur" ] && \
-				files=$( command ls -Ad !(CVS) ) || \
-				files=$( command ls -d ${cur}* 2>/dev/null )
-				for i in "${entries[@]}"; do
-					files=( ${files[@]/#$i//} )
-				done
-				COMPREPLY=( $( compgen -X '*~' -W '${files[@]}' -- \
-					       $cur ) )
-			fi
-		else
-			COMPREPLY=( $( compgen -W '-k -m' -- "$cur" ) )
-		fi
-		;;
-	admin)
-		if [[ "$cur" = -* ]]; then
-			COMPREPLY=( $( compgen -W '-i -a -A -e -b -c -k -l -u \
-						   -L -U -m -M -n -N -o -q -I \
-						   -s -t -t- -T -V -x -z' -- \
-					$cur ) )
-		fi
-		;;
-	annotate)
-		if [[ "$cur" = -* ]]; then
-			COMPREPLY=( $( compgen -W '-D -F -f -l -R -r' -- "$cur" ) )
-		else
-			get_entries
-			COMPREPLY=( $( compgen -W '${entries[@]}' -- "$cur" ) )
-		fi
-		;;
-	checkout)
-		if [[ "$cur" != -* ]]; then
-			[ -z "$cvsroot" ] && cvsroot=$CVSROOT
-			COMPREPLY=( $( cvs -d "$cvsroot" co -c 2> /dev/null | \
-					awk '{print $1}' ) )
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W '-A -N -P -R -c -f -l -n -p \
-						  -s -r -D -d -k -j' -- "$cur" ) )
-		fi
-		;;
-	commit)
-		set_prefix
+    case "$mode" in
+        add)
+            if [[ "$cur" != -* ]]; then
+                set_prefix
+                if [ $COMP_CWORD -gt 1 -a -r ${prefix:-}CVS/Entries ]; then
+                    get_entries
+                    [ -z "$cur" ] && \
+                    files=$( command ls -Ad !(CVS) ) || \
+                    files=$( command ls -d ${cur}* 2>/dev/null )
+                    for i in "${entries[@]}"; do
+                        files=( ${files[@]/#$i//} )
+                    done
+                    COMPREPLY=( $( compgen -X '*~' -W '${files[@]}' -- $cur ) )
+                fi
+            else
+                COMPREPLY=( $( compgen -W '-k -m' -- "$cur" ) )
+            fi
+            ;;
+        admin)
+            if [[ "$cur" = -* ]]; then
+                COMPREPLY=( $( compgen -W '-i -a -A -e -b -c -k -l -u -L -U -m -M \
+                    -n -N -o -q -I -s -t -t- -T -V -x -z' -- $cur ) )
+            fi
+            ;;
+        annotate)
+            if [[ "$cur" = -* ]]; then
+                COMPREPLY=( $( compgen -W '-D -F -f -l -R -r' -- "$cur" ) )
+            else
+                get_entries
+                COMPREPLY=( $( compgen -W '${entries[@]}' -- "$cur" ) )
+            fi
+            ;;
+        checkout)
+            if [[ "$cur" != -* ]]; then
+                [ -z "$cvsroot" ] && cvsroot=$CVSROOT
+                COMPREPLY=( $( cvs -d "$cvsroot" co -c 2> /dev/null | \
+                    awk '{print $1}' ) )
+                COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
+            else
+                COMPREPLY=( $( compgen -W '-A -N -P -R -c -f -l -n -p \
+                    -s -r -D -d -k -j' -- "$cur" ) )
+            fi
+            ;;
+        commit)
+            set_prefix
 
-		if [[ "$cur" != -* ]] && [ -r ${prefix:-}CVS/Entries ]; then
-			# if $COMP_CVS_REMOTE is not null, 'cvs commit' will
-			# complete on remotely checked-out files (requires
-			# passwordless access to the remote repository
-			if [ -n "${COMP_CVS_REMOTE:-}" ]; then
-				# this is the least computationally intensive
-				# way found so far, but other changes
-				# (something other than changed/removed/new)
-				# may be missing
-				changed=( $( cvs -q diff --brief 2>&1 | \
-				sed -ne 's/^Files [^ ]* and \([^ ]*\) differ$/\1/p' ) )
-				newremoved=( $( cvs -q diff --brief 2>&1 | \
-				sed -ne 's/^cvs diff: \([^ ]*\) .*, no comparison available$/\1/p' ) )
-				COMPREPLY=( $( compgen -W '${changed[@]:-} \
-						   ${newremoved[@]:-}' -- "$cur" ) )
-			else
-				COMPREPLY=( $(compgen $default -- "$cur") )
-			fi
-		else
-			COMPREPLY=( $( compgen -W '-n -R -l -f -F -m -r' -- \
-				       $cur ) )
-		fi
-		;;
-	cvsroot)
-		if [ -r ~/.cvspass ]; then
-			# Ugly escaping because of bash treating ':' specially
-			cvsroots=$( sed 's/^[^ ]* //; s/:/\\:/g' ~/.cvspass )
-			COMPREPLY=( $( compgen -W '$cvsroots' -- "$cur" ) )
-		fi
-		;;
-	export)
-		if [[ "$cur" != -* ]]; then
-			[ -z "$cvsroot" ] && cvsroot=$CVSROOT
-			COMPREPLY=( $( cvs -d "$cvsroot" co -c | awk '{print $1}' ) )
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W '-N -f -l -R -n \
-						  -r -D -d -k' -- "$cur" ) )
-		fi
-		;;
-	diff)
-		if [[ "$cur" == -* ]]; then
-			_longopt diff
-		else
-			get_entries
-			COMPREPLY=( $( compgen -W '${entries[@]:-}' -- "$cur" ) )
-		fi
-		;;
-	remove)
-		if [[ "$cur" != -* ]]; then
-			set_prefix
-			if [ $COMP_CWORD -gt 1 -a -r ${prefix:-}CVS/Entries ]; then
-				get_entries
-				# find out what files are missing
-				for i in "${entries[@]}"; do
-					[ ! -r "$i" ] && miss=( "${miss[@]}" $i )
-				done
-				COMPREPLY=( $(compgen -W '${miss[@]:-}' -- "$cur") )
-			fi
-		else
-			COMPREPLY=( $( compgen -W '-f -l -R' -- "$cur" ) )
-		fi
-		;;
-	import)
-		if [[ "$cur" != -* ]]; then
-			# starts with same algorithm as checkout
-			[ -z "$cvsroot" ] && cvsroot=$CVSROOT
-			prefix=${cur%/*}
-			if [ -r ${cvsroot}/${prefix} ]; then
-				get_modules
-				COMPREPLY=( ${COMPREPLY[@]#$cvsroot} )
-				COMPREPLY=( ${COMPREPLY[@]#\/} )
-			fi
-			pwd=$( pwd )
-			pwd=${pwd##*/}
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]} $pwd' -- \
-				       $cur ) )
-		else
-			COMPREPLY=( $( compgen -W '-d -k -I -b -m -W' -- "$cur" ))
-		fi
-		;;
-	update)
-		if [[ "$cur" = -* ]]; then
-			COMPREPLY=( $( compgen -W '-A -P -C -d -f -l -R -p \
-						   -k -r -D -j -I -W' -- \
-						   "$cur" ) )
-		fi
-		;;
-	"")
-		COMPREPLY=( $( compgen -W 'add admin annotate checkout ci co \
-					   commit diff delete edit export \
-					   freeze get history import log new \
-					   patch rcs rdiff release remove \
-					   rfreeze rlog rm rtag stat status \
-					   tag unedit up update -H -Q -q -b \
-					   -d -e -f -l -n -t -r -v -w -x -z \
-					   --help --version' -- "$cur" ) )
-		;;
-	*)
-		;;
-	esac
+            if [[ "$cur" != -* ]] && [ -r ${prefix:-}CVS/Entries ]; then
+                # if $COMP_CVS_REMOTE is not null, 'cvs commit' will
+                # complete on remotely checked-out files (requires
+                # passwordless access to the remote repository
+                if [ -n "${COMP_CVS_REMOTE:-}" ]; then
+                    # this is the least computationally intensive
+                # way found so far, but other changes
+                # (something other than changed/removed/new)
+                # may be missing
+                changed=( $( cvs -q diff --brief 2>&1 | \
+                sed -ne 's/^Files [^ ]* and \([^ ]*\) differ$/\1/p' ) )
+                newremoved=( $( cvs -q diff --brief 2>&1 | \
+                sed -ne 's/^cvs diff: \([^ ]*\) .*, no comparison available$/\1/p' ) )
+                COMPREPLY=( $( compgen -W '${changed[@]:-} \
+                           ${newremoved[@]:-}' -- "$cur" ) )
+                else
+                    COMPREPLY=( $(compgen $default -- "$cur") )
+                fi
+            else
+                COMPREPLY=( $( compgen -W '-n -R -l -f -F -m -r' -- $cur ) )
+            fi
+            ;;
+        cvsroot)
+            if [ -r ~/.cvspass ]; then
+                # Ugly escaping because of bash treating ':' specially
+                cvsroots=$( sed 's/^[^ ]* //; s/:/\\:/g' ~/.cvspass )
+                COMPREPLY=( $( compgen -W '$cvsroots' -- "$cur" ) )
+            fi
+            ;;
+        export)
+            if [[ "$cur" != -* ]]; then
+                [ -z "$cvsroot" ] && cvsroot=$CVSROOT
+                COMPREPLY=( $( cvs -d "$cvsroot" co -c | awk '{print $1}' ) )
+                COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
+            else
+                COMPREPLY=( $( compgen -W '-N -f -l -R -n -r -D -d -k' \
+                    -- "$cur" ) )
+            fi
+            ;;
+        diff)
+            if [[ "$cur" == -* ]]; then
+                _longopt diff
+            else
+                get_entries
+                COMPREPLY=( $( compgen -W '${entries[@]:-}' -- "$cur" ) )
+            fi
+            ;;
+        remove)
+            if [[ "$cur" != -* ]]; then
+                set_prefix
+                if [ $COMP_CWORD -gt 1 -a -r ${prefix:-}CVS/Entries ]; then
+                    get_entries
+                    # find out what files are missing
+                    for i in "${entries[@]}"; do
+                        [ ! -r "$i" ] && miss=( "${miss[@]}" $i )
+                    done
+                    COMPREPLY=( $(compgen -W '${miss[@]:-}' -- "$cur") )
+                fi
+            else
+                COMPREPLY=( $( compgen -W '-f -l -R' -- "$cur" ) )
+            fi
+            ;;
+        import)
+            if [[ "$cur" != -* ]]; then
+                # starts with same algorithm as checkout
+                [ -z "$cvsroot" ] && cvsroot=$CVSROOT
+                prefix=${cur%/*}
+                if [ -r ${cvsroot}/${prefix} ]; then
+                    get_modules
+                    COMPREPLY=( ${COMPREPLY[@]#$cvsroot} )
+                    COMPREPLY=( ${COMPREPLY[@]#\/} )
+                fi
+                pwd=$( pwd )
+                pwd=${pwd##*/}
+                COMPREPLY=( $( compgen -W '${COMPREPLY[@]} $pwd' -- $cur ) )
+            else
+                COMPREPLY=( $( compgen -W '-d -k -I -b -m -W' -- "$cur" ))
+            fi
+            ;;
+        update)
+            if [[ "$cur" = -* ]]; then
+                COMPREPLY=( $( compgen -W '-A -P -C -d -f -l -R -p \
+                    -k -r -D -j -I -W' -- "$cur" ) )
+            fi
+            ;;
+        "")
+            COMPREPLY=( $( compgen -W 'add admin annotate checkout ci co \
+                commit diff delete edit export \
+                freeze get history import log new \
+                patch rcs rdiff release remove \
+                rfreeze rlog rm rtag stat status \
+                tag unedit up update -H -Q -q -b \
+                -d -e -f -l -n -t -r -v -w -x -z \
+                --help --version' -- "$cur" ) )
+            ;;
+        *)
+            ;;
+    esac
 
-	return 0
+    return 0
 }
 complete -F _cvs $default cvs
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/dcop b/contrib/dcop
index f3ff797..6f384f7 100644
--- a/contrib/dcop
+++ b/contrib/dcop
@@ -3,23 +3,24 @@
 have dcop &&
 _dcop()
 {
-	local cur compstr
+    local cur compstr
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	if [ -z $cur ]; then
-	    compstr=${COMP_WORDS[*]}
-	else
-	    compstr=$( command echo ${COMP_WORDS[*]} | sed "s/ $cur$//" )
-	fi
-	COMPREPLY=( $( compgen -W '$( command $compstr | sed s/\(.*\)// )'  -- "$cur" ) )
+    COMPREPLY=()
+    cur=`_get_cword`
+    if [ -z $cur ]; then
+        compstr=${COMP_WORDS[*]}
+    else
+        compstr=$( command echo ${COMP_WORDS[*]} | sed "s/ $cur$//" )
+    fi
+    COMPREPLY=( $( compgen -W '$( command $compstr | sed s/\(.*\)// )'  \
+        -- "$cur" ) )
 } &&
 complete -F _dcop dcop
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/dd b/contrib/dd
index 71589ff..3c1d3c3 100644
--- a/contrib/dd
+++ b/contrib/dd
@@ -3,38 +3,37 @@
 have dd &&
 _dd()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword =`
+    COMPREPLY=()
+    cur=`_get_cword =`
 
-	case "$cur" in
-	if=*|of=*)
-		cur=${cur#*=}
-		_filedir
-		return 0
-		;;
-	conv=*)
-		cur=${cur#*=}
-		COMPREPLY=( $( compgen -W 'ascii ebcdic ibm block unblock \
-				lcase notrunc ucase swab noerror sync' \
-				-- "$cur" ) )
-		return 0
-		;;
-	esac
+    case "$cur" in
+    if=*|of=*)
+        cur=${cur#*=}
+        _filedir
+        return 0
+        ;;
+    conv=*)
+        cur=${cur#*=}
+        COMPREPLY=( $( compgen -W 'ascii ebcdic ibm block unblock \
+            lcase notrunc ucase swab noerror sync' -- "$cur" ) )
+        return 0
+        ;;
+    esac
 
-	_expand || return 0
+    _expand || return 0
 
-	COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) \
-				$( compgen -W 'bs cbs conv count ibs if obs of seek skip'\
-				-S '=' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) \
+                $( compgen -W 'bs cbs conv count ibs if obs of seek skip'\
+                -S '=' -- "$cur" ) )
 } &&
 complete -F _dd $nospace $filenames dd
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/dhclient b/contrib/dhclient
index 75a5570..9ea79f3 100644
--- a/contrib/dhclient
+++ b/contrib/dhclient
@@ -2,36 +2,36 @@
 
 have dhclient && _dhclient()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(cf|lf|pf|sf))
-			_filedir
-			return 0
-			;;
-		-s)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(cf|lf|pf|sf))
+            _filedir
+            return 0
+            ;;
+        -s)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-p -d -q -1 -r -lf -pf \
-			-cf -sf -s -g -n -nw -w' -- "$cur" ) )
-	else
-		_available_interfaces
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-p -d -q -1 -r -lf -pf \
+            -cf -sf -s -g -n -nw -w' -- "$cur" ) )
+    else
+        _available_interfaces
+    fi
 } &&
 complete -F _dhclient dhclient
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/dict b/contrib/dict
index c9e36e6..c45310f 100644
--- a/contrib/dict
+++ b/contrib/dict
@@ -3,76 +3,76 @@
 { have dict || have rdict; } && {
 _dictdata()
 {
-	dict $host $port $1 2>/dev/null | sed -ne \
-	    's/^['$'\t '']['$'\t '']*\([^'$'\t '']*\).*$/\1/p'
+    dict $host $port $1 2>/dev/null | sed -ne \
+        's/^['$'\t '']['$'\t '']*\([^'$'\t '']*\).*$/\1/p'
 }
 
 _dict()
 {
-	local cur prev host port db dictfile
+    local cur prev host port db dictfile
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	dictfile=/usr/share/dict/words
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    dictfile=/usr/share/dict/words
 
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		case "${COMP_WORDS[i]}" in
-		-@(h|--host))
-			host=${COMP_WORDS[i+1]}
-			[ -n "$host" ] && host="-h $host"
-			i=$((++i))
-			;;
-		-@(p|-port))
-			port=${COMP_WORDS[i+1]}
-			[ -n "$port" ] && port="-p $port"
-			i=$((++i))
-			;;
-		-@(d|-database))
-			db=${COMP_WORDS[i+1]}
-			[ -n "$db" ] && host="-d $db"
-			i=$((++i))
-			;;
-		*)
-			;;
-		esac
-	done
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        case "${COMP_WORDS[i]}" in
+        -@(h|--host))
+            host=${COMP_WORDS[i+1]}
+            [ -n "$host" ] && host="-h $host"
+            i=$((++i))
+            ;;
+        -@(p|-port))
+            port=${COMP_WORDS[i+1]}
+            [ -n "$port" ] && port="-p $port"
+            i=$((++i))
+            ;;
+        -@(d|-database))
+            db=${COMP_WORDS[i+1]}
+            [ -n "$db" ] && host="-d $db"
+            i=$((++i))
+            ;;
+        *)
+            ;;
+        esac
+    done
 
-	if [[ "$cur" = -* ]]; then
-		COMPREPLY=( $( compgen -W '-h --host -p --port -d --database \
-			       -m --match -s --strategy -c --config -C \
-			       --nocorrect -D --dbs -S --strats -H \
-			       --serverhelp -i --info -I --serverinfo \
-			       -a --noauth -u --user -k --key -V --version \
-			       -L --license --help -v --verbose -r --raw \
-			       -P --pager --debug --html --pipesize --client' \
-			       -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" = -* ]]; then
+        COMPREPLY=( $( compgen -W '-h --host -p --port -d --database \
+                   -m --match -s --strategy -c --config -C \
+                   --nocorrect -D --dbs -S --strats -H \
+                   --serverhelp -i --info -I --serverinfo \
+                   -a --noauth -u --user -k --key -V --version \
+                   -L --license --help -v --verbose -r --raw \
+                   -P --pager --debug --html --pipesize --client' \
+                   -- "$cur" ) )
+        return 0
+    fi
 
-	case "$prev" in
-	-@(d|-database|i|info))
-		COMPREPLY=( $( compgen -W '$( _dictdata -D )' -- "$cur" ) )
-		return 0
-		;;
-	-@(s|-strategy))
-		COMPREPLY=( $( compgen -W '$( _dictdata -S )' -- "$cur" ) )
-		return 0
-		;;
-	*)
-		;;
-	esac
+    case "$prev" in
+    -@(d|-database|i|info))
+        COMPREPLY=( $( compgen -W '$( _dictdata -D )' -- "$cur" ) )
+        return 0
+        ;;
+    -@(s|-strategy))
+        COMPREPLY=( $( compgen -W '$( _dictdata -S )' -- "$cur" ) )
+        return 0
+        ;;
+    *)
+        ;;
+    esac
 
-	[ -r $dictfile ] && \
-		COMPREPLY=( $( compgen -W '$( cat $dictfile )' -- "$cur" ) )
+    [ -r $dictfile ] && \
+        COMPREPLY=( $( compgen -W '$( cat $dictfile )' -- "$cur" ) )
 }
 complete -F _dict $default dict rdict
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/dpkg b/contrib/dpkg
index 01c39db..6437b8a 100644
--- a/contrib/dpkg
+++ b/contrib/dpkg
@@ -3,16 +3,16 @@ have dpkg && {
 have grep-status && {
 _comp_dpkg_installed_packages()
 {
-	grep-status -P -e "^$1" -a -FStatus 'install ok installed' -n -s Package
+    grep-status -P -e "^$1" -a -FStatus 'install ok installed' -n -s Package
 }
 } || {
 _comp_dpkg_installed_packages()
 {
-	grep -A 1 "Package: $1" /var/lib/dpkg/status | \
-		grep -B 1 -Ee "ok installed|half-installed|unpacked| \
-					half-configured|config-files" \
-				  -Ee "^Essential: yes" | \
-		grep "Package: $1" | cut -d\  -f2
+    grep -A 1 "Package: $1" /var/lib/dpkg/status | \
+        grep -B 1 -Ee "ok installed|half-installed|unpacked| \
+            half-configured|config-files" \
+            -Ee "^Essential: yes" | \
+        grep "Package: $1" | cut -d\  -f2
 }
 }
 
@@ -20,75 +20,74 @@ _comp_dpkg_installed_packages()
 #
 _dpkg()
 {
-	local cur prev i
+    local cur prev i
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	i=$COMP_CWORD
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    i=$COMP_CWORD
 
-	_expand || return 0
+    _expand || return 0
 
-	_split_longopt
+    _split_longopt
 
-	# find the last option flag
-	if [[ $cur != -* ]]; then
-		while [[ $prev != -* && $i != 1 ]]; do
-			i=$((i-1))
-			prev=${COMP_WORDS[i-1]}
-		done
-	fi
+    # find the last option flag
+    if [[ $cur != -* ]]; then
+        while [[ $prev != -* && $i != 1 ]]; do
+            i=$((i-1))
+            prev=${COMP_WORDS[i-1]}
+        done
+    fi
 
-	case "$prev" in
-	-@(c|i|A|I|f|e|x|X|-@(install|unpack|record-avail|contents|info|fsys-tarfile|field|control|extract)))
-		_filedir '?(u)deb'
-		return 0
-		;;
-	-@(b|-build))
-		_filedir -d
-		return 0
-		;;
-   	-@(s|p|l|-@(status|print-avail|list)))
-		COMPREPLY=( $( apt-cache pkgnames "$cur" 2>/dev/null ) )
-		return 0
-		;;
-	-@(S|-search))
-		_filedir
-		return 0
-		;;
-	-@(r|L|P|-@(remove|purge|listfiles)))
-		COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
-		return 0
-		;;
-	*)
-
-	COMPREPLY=( $( compgen -W '-i --install --unpack -A --record-avail \
-			--configure -r --remove -P --purge --get-selections \
-			--set-selections --update-avail --merge-avail \
-			--clear-avail  --command-fd --forget-old-unavail -s \
-			--status -p --print-avail -L --listfiles -l --list \
-			-S --search -C --audit --print-architecture \
-			--print-gnu-build-architecture \
-			--print-installation-architecture \
-			--compare-versions --help --version --force-help \
-			--force-all --force-auto-select --force-downgrade \
-			--force-configure-any --force-hold --force-bad-path \
-			--force-not-root --force-overwrite \
-			--force-overwrite-diverted --force-bad-verify \
-			--force-depends-version --force-depends \
-			--force-confnew --force-confold --force-confdef \
-			--force-confmiss --force-conflicts --force-architecture\
-			--force-overwrite-dir --force-remove-reinstreq \
-			--force-remove-essential -Dh \
-			--debug=help --licence --admindir --root --instdir \
-			-O --selected-only -E --skip-same-version \
-			-G --refuse-downgrade -B --auto-deconfigure \
-			--no-debsig --no-act -D --debug --status-fd \
-			-b --build -I --info -f --field -c --contents \
-			-x --extract -X --vextract --fsys-tarfile -e --control \
-			--ignore-depends --abort-after' -- "$cur" ) )
-		;;
-	esac
+    case "$prev" in
+        -@(c|i|A|I|f|e|x|X|-@(install|unpack|record-avail|contents|info|fsys-tarfile|field|control|extract)))
+            _filedir '?(u)deb'
+            return 0
+            ;;
+        -@(b|-build))
+            _filedir -d
+            return 0
+            ;;
+        -@(s|p|l|-@(status|print-avail|list)))
+            COMPREPLY=( $( apt-cache pkgnames "$cur" 2>/dev/null ) )
+            return 0
+            ;;
+        -@(S|-search))
+            _filedir
+            return 0
+            ;;
+        -@(r|L|P|-@(remove|purge|listfiles)))
+            COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
+            return 0
+            ;;
+        *)
+            COMPREPLY=( $( compgen -W '-i --install --unpack -A --record-avail \
+                --configure -r --remove -P --purge --get-selections \
+                --set-selections --update-avail --merge-avail \
+                --clear-avail  --command-fd --forget-old-unavail -s \
+                --status -p --print-avail -L --listfiles -l --list \
+                -S --search -C --audit --print-architecture \
+                --print-gnu-build-architecture \
+                --print-installation-architecture \
+                --compare-versions --help --version --force-help \
+                --force-all --force-auto-select --force-downgrade \
+                --force-configure-any --force-hold --force-bad-path \
+                --force-not-root --force-overwrite \
+                --force-overwrite-diverted --force-bad-verify \
+                --force-depends-version --force-depends \
+                --force-confnew --force-confold --force-confdef \
+                --force-confmiss --force-conflicts --force-architecture\
+                --force-overwrite-dir --force-remove-reinstreq \
+                --force-remove-essential -Dh \
+                --debug=help --licence --admindir --root --instdir \
+                -O --selected-only -E --skip-same-version \
+                -G --refuse-downgrade -B --auto-deconfigure \
+                --no-debsig --no-act -D --debug --status-fd \
+                -b --build -I --info -f --field -c --contents \
+                -x --extract -X --vextract --fsys-tarfile -e --control \
+                --ignore-depends --abort-after' -- "$cur" ) )
+            ;;
+    esac
 
 
 }
@@ -100,34 +99,33 @@ complete -F _dpkg $filenames dpkg dpkg-deb
 have dpkg-reconfigure &&
 _dpkg_reconfigure()
 {
-	local cur prev opt
+    local cur prev opt
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
 
-	case "$prev" in
-	    -@(f|-frontend))
-		opt=( $( echo /usr/share/perl5/Debconf/FrontEnd/* ) )
-		opt=( ${opt[@]##*/} )
-		opt=( ${opt[@]%.pm} )
-		COMPREPLY=( $( compgen -W '${opt[@]}' -- "$cur" ) )
-		return 0
-		;;
-	    -@(p|-priority))
-  		COMPREPLY=( $( compgen -W 'low medium high critical' -- "$cur" ) )
-		return 0
-		;;
-	esac
+    case "$prev" in
+        -@(f|-frontend))
+        opt=( $( echo /usr/share/perl5/Debconf/FrontEnd/* ) )
+        opt=( ${opt[@]##*/} )
+        opt=( ${opt[@]%.pm} )
+        COMPREPLY=( $( compgen -W '${opt[@]}' -- "$cur" ) )
+        return 0
+        ;;
+        -@(p|-priority))
+        COMPREPLY=( $( compgen -W 'low medium high critical' -- "$cur" ) )
+        return 0
+        ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-	    COMPREPLY=( $( compgen -W '-f --frontend -p --priority -a --all \
-				       -u --unseen-only -h --help -s --showold \
-				       --force --terse' -- "$cur" ) )
-	else
-	    COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-f --frontend -p --priority -a --all -u \
+            --unseen-only -h --help -s --showold --force --terse' -- "$cur" ) )
+    else
+        COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
+    fi
 } &&
 complete -F _dpkg_reconfigure $default dpkg-reconfigure
 
@@ -136,135 +134,135 @@ complete -F _dpkg_reconfigure $default dpkg-reconfigure
 have dpkg-source &&
 _dpkg_source()
 {
-	local cur prev options work i action packopts unpackopts
+    local cur prev options work i action packopts unpackopts
 
-	packopts="-c -l -F -V -T -D -U -W -E -sa -i -I -sk -sp -su -sr -ss -sn -sA -sK -sP -sU -sR"
-	unpackopts="-sp -sn -su"
-	options=`echo "-x -b $packopts $unpackopts" | xargs echo | sort -u | xargs echo`
+    packopts="-c -l -F -V -T -D -U -W -E -sa -i -I -sk -sp -su -sr -ss -sn -sA -sK -sP -sU -sR"
+    unpackopts="-sp -sn -su"
+    options=`echo "-x -b $packopts $unpackopts" | xargs echo | sort -u | xargs echo`
 
-	COMPREPLY=()
-	if [ "$1" != "dpkg-source" ]; then
-		return 1
-	fi
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	action="options"
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[$i]} == "-x" ]]; then
-			action=unpack
-		elif [[ ${COMP_WORDS[$i]} == "-b" ]]; then
-			action=pack
-		elif [[ ${COMP_WORDS[$i]} == "-h" ]]; then
-			action=help
-		fi
-	done
-	# if currently seeing a complete option, return just itself.
-	for i in $options; do
-		if [ "$cur" = "$i" ]; then
-			COMPREPLY=( "$cur" )
-			return 0
-		fi
-	done
-	case "$action" in
-		"unpack")
-			if [ "$cur" = "-" -o "$cur" = "-s" ]; then
-				COMPREPLY=( $unpackopts )
-				return 0
-			fi
-			case "$prev" in
-				"-x")
-					COMPREPLY=( $( compgen -d -- "$cur" ) \
-						    $( compgen -f -X '!*.dsc' -- "$cur" ) )
-					return 0
-					;;
-				*)
-					COMPREPLY=( $unpackopts $(compgen -d -f -- "$cur" ) )
-					return 0
-					;;
-			esac
-			return 0
-			;;
-		"pack")
-			if [ "$cur" = "-" ]; then
-				COMPREPLY=( $packopts )
-				return 0
-			fi
-			if [ "$cur" = "-s" ]; then
-				COMPREPLY=( "-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" \
-			    		"-sA" "-sK" "-sP" "-sU" "-sR" )
-				return 0
-			fi
-			case "$prev" in
-				"-b")
-					COMPREPLY=( $( compgen -d -- "$cur" ) )
-					return 0
-					;;
-				"-c"|"-l"|"-T"|"-i"|"-I")
-					# -c: get controlfile
-					# -l: get per-version info from this file
-					# -T: read variables here, not debian/substvars
-					# -i: <regexp> filter out files to ignore diffs of.
-					# -I: filter out files when building tarballs.
-					# return directory names and file names
-					COMPREPLY=( $( compgen -d -f ) )
-					return 0
-					;;
-				"-F")
-					# -F: force change log format
-					COMPREPLY=( $( ( cd /usr/lib/dpkg/parsechangelog; compgen -f "$cur" ) ) )
-					return 0
-					;;
-				"-V"|"-D")
-					# -V: set a substitution variable
-					# we don't know anything about possible variables or values
-					# so we don't try to suggest any completion.
-					COMPREPLY=()
-					return 0
-					;;
-				"-D")
-					# -D: override or add a .dsc field and value
-					# if $cur doesn't contain a = yet, suggest variable names
-					if echo -- "$cur" | grep -q "="; then
-						# $cur contains a "="
-						COMPREPLY=()
-						return 0
-					else
-						COMPREPLY=( Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files )
-						return 0
-					fi
-					;;
-				"-U")
-					# -U: remove a field
-					# Suggest possible fieldnames
-					COMPREPLY=( Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files )
-					return 0
-					;;
-				*)
-					COMPREPLY=( $packopts )
-					return 0
-					;;
-			esac
-			return 0
-			;;
-		*)
-			# if seeing a partial option, return possible completions.
-			if [ "$cur" = "-s" ]; then
-				COMPREPLY=( "-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" \
-			    		"-sA" "-sK" "-sP" "-sU" "-sR" )
-				return 0
-			fi
-			# else return all possible options.
-			COMPREPLY=( $options )
-			return 0
-			;;
-	esac
+    COMPREPLY=()
+    if [ "$1" != "dpkg-source" ]; then
+        return 1
+    fi
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    action="options"
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[$i]} == "-x" ]]; then
+            action=unpack
+        elif [[ ${COMP_WORDS[$i]} == "-b" ]]; then
+            action=pack
+        elif [[ ${COMP_WORDS[$i]} == "-h" ]]; then
+            action=help
+        fi
+    done
+    # if currently seeing a complete option, return just itself.
+    for i in $options; do
+        if [ "$cur" = "$i" ]; then
+            COMPREPLY=( "$cur" )
+            return 0
+        fi
+    done
+    case "$action" in
+        "unpack")
+            if [ "$cur" = "-" -o "$cur" = "-s" ]; then
+                COMPREPLY=( $unpackopts )
+                return 0
+            fi
+            case "$prev" in
+                "-x")
+                    COMPREPLY=( $( compgen -d -- "$cur" ) \
+                            $( compgen -f -X '!*.dsc' -- "$cur" ) )
+                    return 0
+                    ;;
+                *)
+                    COMPREPLY=( $unpackopts $(compgen -d -f -- "$cur" ) )
+                    return 0
+                    ;;
+            esac
+            return 0
+            ;;
+        "pack")
+            if [ "$cur" = "-" ]; then
+                COMPREPLY=( $packopts )
+                return 0
+            fi
+            if [ "$cur" = "-s" ]; then
+                COMPREPLY=( "-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" \
+                    "-sA" "-sK" "-sP" "-sU" "-sR" )
+                return 0
+            fi
+            case "$prev" in
+                "-b")
+                    COMPREPLY=( $( compgen -d -- "$cur" ) )
+                    return 0
+                    ;;
+                "-c"|"-l"|"-T"|"-i"|"-I")
+                    # -c: get controlfile
+                    # -l: get per-version info from this file
+                    # -T: read variables here, not debian/substvars
+                    # -i: <regexp> filter out files to ignore diffs of.
+                    # -I: filter out files when building tarballs.
+                    # return directory names and file names
+                    COMPREPLY=( $( compgen -d -f ) )
+                    return 0
+                    ;;
+                "-F")
+                    # -F: force change log format
+                    COMPREPLY=( $( ( cd /usr/lib/dpkg/parsechangelog; compgen -f "$cur" ) ) )
+                    return 0
+                    ;;
+                "-V"|"-D")
+                    # -V: set a substitution variable
+                    # we don't know anything about possible variables or values
+                    # so we don't try to suggest any completion.
+                    COMPREPLY=()
+                    return 0
+                    ;;
+                "-D")
+                    # -D: override or add a .dsc field and value
+                    # if $cur doesn't contain a = yet, suggest variable names
+                    if echo -- "$cur" | grep -q "="; then
+                        # $cur contains a "="
+                        COMPREPLY=()
+                        return 0
+                    else
+                        COMPREPLY=( Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files )
+                        return 0
+                    fi
+                    ;;
+                "-U")
+                    # -U: remove a field
+                    # Suggest possible fieldnames
+                    COMPREPLY=( Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files )
+                    return 0
+                    ;;
+                *)
+                    COMPREPLY=( $packopts )
+                    return 0
+                    ;;
+            esac
+            return 0
+            ;;
+        *)
+            # if seeing a partial option, return possible completions.
+            if [ "$cur" = "-s" ]; then
+                COMPREPLY=( "-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" \
+                        "-sA" "-sK" "-sP" "-sU" "-sR" )
+                return 0
+            fi
+            # else return all possible options.
+            COMPREPLY=( $options )
+            return 0
+            ;;
+    esac
 } &&
 complete -F _dpkg_source dpkg-source
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/dselect b/contrib/dselect
index 22b05c8..31ad2de 100644
--- a/contrib/dselect
+++ b/contrib/dselect
@@ -3,41 +3,40 @@
 have dselect &&
 _dselect()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-	     --admindir)
-		  _filedir -d
-		  return 0
-		  ;;
-
-	     -@(D|debug))
-		  _filedir
-		  return 0
-		  ;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-	    COMPREPLY=( $( compgen -W '--admindir --help --version --licence \
-				  --license --expert --debug' -- "$cur" ) )
-	else
-	    COMPREPLY=( $( compgen -W 'access update select install config \
-				  remove quit' -- "$cur" ) )
-	fi
-
-
-	return 0
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        --admindir)
+            _filedir -d
+            return 0
+            ;;
+        -@(D|debug))
+            _filedir
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--admindir --help --version --licence \
+            --license --expert --debug' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W 'access update select install config \
+            remove quit' -- "$cur" ) )
+    fi
+
+
+    return 0
 } &&
 complete -F _dselect $filenames dselect
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/dsniff b/contrib/dsniff
index c57f7bd..901fa8e 100644
--- a/contrib/dsniff
+++ b/contrib/dsniff
@@ -5,28 +5,28 @@
 have arpspoof &&
 _arpspoof()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-		-t)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-i -t' -- "$cur" ) )
-	else
-		_known_hosts_real "$cur"
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+        -t)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-i -t' -- "$cur" ) )
+    else
+        _known_hosts_real "$cur"
+    fi
 
 } &&
 complete -F _arpspoof arpspoof
@@ -36,26 +36,26 @@ complete -F _arpspoof arpspoof
 have dnsspoof &&
 _dnsspoof()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-		-f)
-			_filedir
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-i -f' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+        -f)
+            _filedir
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-i -f' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _dnsspoof dnsspoof
@@ -65,27 +65,26 @@ complete -F _dnsspoof dnsspoof
 have dsniff &&
 _dsniff()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(r|w|f))
-			_filedir
-			return 0
-			;;
-		-i)
-			_interfaces
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -d -m -n -i -s -f -t \
-			-r -w' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(r|w|f))
+            _filedir
+            return 0
+            ;;
+        -i)
+            _interfaces
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c -d -m -n -i -s -f -t -r -w' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _dsniff dsniff
@@ -95,22 +94,22 @@ complete -F _dsniff dsniff
 have filesnarf || have mailsnarf || have msgsnarf &&
 _snarf()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-i -v' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-i -v' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _snarf filesnarf mailsnarf msgsnarf
@@ -120,23 +119,23 @@ complete -F _snarf filesnarf mailsnarf msgsnarf
 have macof &&
 _macof()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+    esac
 
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-i -s -d -e -x -y -n' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-i -s -d -e -x -y -n' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _macof macof
@@ -146,16 +145,16 @@ complete -F _macof macof
 have sshmitm &&
 _sshmitm()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d -I -p' -- "$cur" ) )
-	else
-		_known_hosts_real "$cur"
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d -I -p' -- "$cur" ) )
+    else
+        _known_hosts_real "$cur"
+    fi
 
 } &&
 complete -F _sshmitm sshmitm
@@ -165,22 +164,22 @@ complete -F _sshmitm sshmitm
 have sshow &&
 _sshow()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d -i' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d -i' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _sshow sshow
@@ -190,22 +189,22 @@ complete -F _sshow sshow
 have tcpkill &&
 _tcpkill()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-i -1 -2 -3 -4 -5 -6 -7 -8 -9' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-i -1 -2 -3 -4 -5 -6 -7 -8 -9' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _tcpkill tcpkill
@@ -215,22 +214,22 @@ complete -F _tcpkill tcpkill
 have tcpnice &&
 _tcpnice()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A -I -M -i' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A -I -M -i' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _tcpnice tcpnice
@@ -240,22 +239,22 @@ complete -F _tcpnice tcpnice
 have urlsnarf &&
 _urlsnarf()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-i)
-			_interfaces
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -i)
+            _interfaces
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-n -i -v' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-n -i -v' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _urlsnarf urlsnarf
@@ -265,24 +264,24 @@ complete -F _urlsnarf urlsnarf
 have webmitm &&
 _webmitm()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d' -- "$cur" ) )
-	else
-		_known_hosts_real "$cur"
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d' -- "$cur" ) )
+    else
+        _known_hosts_real "$cur"
+    fi
 
 } &&
 complete -F _webmitm webmitm
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/findutils b/contrib/findutils
index 726655d..d77c892 100644
--- a/contrib/findutils
+++ b/contrib/findutils
@@ -5,117 +5,118 @@
 have find &&
 _find()
 {
-	local cur prev i exprfound onlyonce
+    local cur prev i exprfound onlyonce
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-	-@(max|min)depth)
-		COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' -- "$cur" ) )
-		return 0
-		;;
-	-?(a|c)newer|-fls|-fprint?(0|f)|-?(i)?(l)name|-?(i)wholename)
-		_filedir
-		return 0
-		;;
-	-fstype)
-		# this is highly non-portable
-		[ -e /proc/filesystems ] &&
-		COMPREPLY=( $( compgen -W "$( cut -d$'\t' -f2 /proc/filesystems )" -- "$cur" ) )
-		return 0
-		;;
-	-gid)
-		_gids
-		return 0
-		;;
-	-group)
-		if [ -n "$bash205" ]; then
-			COMPREPLY=( $( compgen -g -- $cur 2>/dev/null) )
-		fi
-		return 0
-		;;
-	-?(x)type)
-		COMPREPLY=( $( compgen -W 'b c d p f l s' -- "$cur" ) )
-		return 0
-		;;
-	-uid)
-		_uids
-		return 0
-		;;
-	-user)
-		COMPREPLY=( $( compgen -u -- "$cur" ) )
-		return 0
-		;;
-	-exec|-ok)
-		COMP_WORDS=(COMP_WORDS[0] "$cur")
-		COMP_CWORD=1
-		_command
-		return 0
-		;;
-	-[acm]min|-[acm]time|-?(i)?(l)?(whole)name|-inum|-?(i)path|-?(i)regex| \
-	-links|-perm|-size|-used|-printf)
-		# do nothing, just wait for a parameter to be given
-		return 0
-		;;
-	esac
+    case "$prev" in
+    -@(max|min)depth)
+        COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' -- "$cur" ) )
+        return 0
+        ;;
+    -?(a|c)newer|-fls|-fprint?(0|f)|-?(i)?(l)name|-?(i)wholename)
+        _filedir
+        return 0
+        ;;
+    -fstype)
+        # this is highly non-portable
+        [ -e /proc/filesystems ] &&
+            COMPREPLY=( $( compgen -W "$( cut -d$'\t' -f2 /proc/filesystems )" \
+            -- "$cur" ) )
+        return 0
+        ;;
+    -gid)
+        _gids
+        return 0
+        ;;
+    -group)
+        if [ -n "$bash205" ]; then
+            COMPREPLY=( $( compgen -g -- $cur 2>/dev/null) )
+        fi
+        return 0
+        ;;
+    -?(x)type)
+        COMPREPLY=( $( compgen -W 'b c d p f l s' -- "$cur" ) )
+        return 0
+        ;;
+    -uid)
+        _uids
+        return 0
+        ;;
+    -user)
+        COMPREPLY=( $( compgen -u -- "$cur" ) )
+        return 0
+        ;;
+    -exec|-ok)
+        COMP_WORDS=(COMP_WORDS[0] "$cur")
+        COMP_CWORD=1
+        _command
+        return 0
+        ;;
+    -[acm]min|-[acm]time|-?(i)?(l)?(whole)name|-inum|-?(i)path|-?(i)regex| \
+    -links|-perm|-size|-used|-printf)
+        # do nothing, just wait for a parameter to be given
+        return 0
+        ;;
+    esac
 
-	_expand || return 0
+    _expand || return 0
 
-	# set exprfound to 1 if there is already an expression present
-	for i in ${COMP_WORDS[@]}; do
-		[[ "$i" = [-\(\),\!]* ]] && exprfound=1 && break
-	done
+    # set exprfound to 1 if there is already an expression present
+    for i in ${COMP_WORDS[@]}; do
+        [[ "$i" = [-\(\),\!]* ]] && exprfound=1 && break
+    done
 
-	# handle case where first parameter is not a dash option
-	if [ "$exprfound" != 1 ] && [[ "$cur" != [-\(\),\!]* ]]; then
-		_filedir -d
-		return 0
-	fi
+    # handle case where first parameter is not a dash option
+    if [ "$exprfound" != 1 ] && [[ "$cur" != [-\(\),\!]* ]]; then
+        _filedir -d
+        return 0
+    fi
 
-	# complete using basic options
-	COMPREPLY=( $( compgen -W '-daystart -depth -follow -help -maxdepth \
-			-mindepth -mount -noleaf -version -xdev -amin -anewer \
-			-atime -cmin -cnewer -ctime -empty -false -fstype \
-			-gid -group -ilname -iname -inum -ipath -iregex \
-			-wholename \
-			-links -lname -mmin -mtime -name -newer -nouser \
-			-nogroup -perm -regex -size -true -type -uid -used \
-			-user -xtype -exec -fls -fprint -fprint0 -fprintf -ok \
-			-print -print0 -printf -prune -ls -wholename -iwholename' -- "$cur" ) )
+    # complete using basic options
+    COMPREPLY=( $( compgen -W '-daystart -depth -follow -help -maxdepth \
+        -mindepth -mount -noleaf -version -xdev -amin -anewer \
+        -atime -cmin -cnewer -ctime -empty -false -fstype \
+        -gid -group -ilname -iname -inum -ipath -iregex \
+        -wholename \
+        -links -lname -mmin -mtime -name -newer -nouser \
+        -nogroup -perm -regex -size -true -type -uid -used \
+        -user -xtype -exec -fls -fprint -fprint0 -fprintf -ok \
+        -print -print0 -printf -prune -ls -wholename -iwholename' -- "$cur" ) )
 
-	# this removes any options from the list of completions that have
-	# already been specified somewhere on the command line, as long as
-	# these options can only be used once (in a word, "options", in
-	# opposition to "tests" and "actions", as in the find(1) manpage).
-	onlyonce=' -daystart -depth -follow -help -maxdepth -mindepth -mount \
-		   -noleaf -version -xdev '
-	COMPREPLY=( $( echo "${COMP_WORDS[@]}" | \
-		       (while read -d ' ' i; do
-			    [ "$i" == "" ] ||
-			    [ "${onlyonce/ ${i%% *} / }" == "$onlyonce" ] &&
-			    continue
-			    # flatten array with spaces on either side,
-			    # otherwise we cannot grep on word boundaries of
-			    # first and last word
-			    COMPREPLY=" ${COMPREPLY[@]} "
-			    # remove word from list of completions
-			    COMPREPLY=( ${COMPREPLY/ ${i%% *} / } )
-			done
-			echo "${COMPREPLY[@]}")
-		  ) )
+    # this removes any options from the list of completions that have
+    # already been specified somewhere on the command line, as long as
+    # these options can only be used once (in a word, "options", in
+    # opposition to "tests" and "actions", as in the find(1) manpage).
+    onlyonce=' -daystart -depth -follow -help -maxdepth -mindepth -mount \
+       -noleaf -version -xdev '
+    COMPREPLY=( $( echo "${COMP_WORDS[@]}" | \
+           (while read -d ' ' i; do
+            [ "$i" == "" ] ||
+            [ "${onlyonce/ ${i%% *} / }" == "$onlyonce" ] &&
+            continue
+            # flatten array with spaces on either side,
+            # otherwise we cannot grep on word boundaries of
+            # first and last word
+            COMPREPLY=" ${COMPREPLY[@]} "
+            # remove word from list of completions
+            COMPREPLY=( ${COMPREPLY/ ${i%% *} / } )
+            done
+            echo "${COMPREPLY[@]}")
+          ) )
 
-	_filedir
+    _filedir
 
-	return 0
+    return 0
 } &&
 complete -F _find $filenames find
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/freeciv b/contrib/freeciv
index 215cc48..202596d 100644
--- a/contrib/freeciv
+++ b/contrib/freeciv
@@ -3,25 +3,24 @@
 have civserver &&
 _civserver()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(f|g|l|r|-file|-log|-gamelog|-read))
-			_filedir
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(f|g|l|r|-file|-log|-gamelog|-read))
+            _filedir
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d -f -g -h -i -l -m -M -p -q -r -v\
-			--debug --file --gamelog --help --info --log --meta \
-			--Metaserver --port --quitidle --read --version' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d -f -g -h -i -l -m -M -p -q -r -v\
+            --debug --file --gamelog --help --info --log --meta \
+            --Metaserver --port --quitidle --read --version' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _civserver civserver
@@ -31,41 +30,40 @@ complete -F _civserver civserver
 have civclient &&
 _civclient()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(l|S|t|-log|-Sound|-tiles))
-			_filedir
-			return 0
-			;;
-		-@(P|-Plugin))
-			COMPREPLY=( $( compgen -W 'none esd sdl' -- "$cur" ) )
-			return 0
-			;;
-		-@(s|-server))
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(l|S|t|-log|-Sound|-tiles))
+            _filedir
+            return 0
+            ;;
+        -@(P|-Plugin))
+            COMPREPLY=( $( compgen -W 'none esd sdl' -- "$cur" ) )
+            return 0
+            ;;
+        -@(s|-server))
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -d -h -l -m -n -p -P -s -S -t -v\
-			--autoconnect --debug --help --log --meta --name \
-			--port --Plugin --server --Sound --tiles --version' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -d -h -l -m -n -p -P -s -S -t -v\
+            --autoconnect --debug --help --log --meta --name --port \
+            --Plugin --server --Sound --tiles --version' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _civclient civclient
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gcc b/contrib/gcc
index cc8a128..a4f8095 100644
--- a/contrib/gcc
+++ b/contrib/gcc
@@ -11,40 +11,40 @@
 have gcc &&
 _gcc()
 {
-	local cur cc backend
+    local cur cc backend
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	_expand || return 0
+    _expand || return 0
 
-	case "$1" in
-	gcj)
-		backend=jc1
-		;;
-	gpc)
-		backend=gpc1
-		;;
-	*77)
-		backend=f771
-		;;
-	*)
-		backend=cc1	# (near-)universal backend
-		;;
-	esac
+    case "$1" in
+        gcj)
+            backend=jc1
+            ;;
+        gpc)
+            backend=gpc1
+            ;;
+        *77)
+            backend=f771
+            ;;
+        *)
+            backend=cc1 # (near-)universal backend
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		cc=$( $1 -print-prog-name=$backend )
-		# sink stderr:
-		# for C/C++/ObjectiveC it's useless
-		# for FORTRAN/Java it's an error
-		COMPREPLY=( $( compgen -W "$( $cc --help 2>/dev/null | \
-			       tr '\t' ' ' | \
-			       sed -e '/^  *-/!d' -e 's/ *-\([^ ]*\).*/-\1/' | \
-			       sort -u )" -- "$cur" ) )
-	else
-		_filedir
-	fi
+    if [[ "$cur" == -* ]]; then
+        cc=$( $1 -print-prog-name=$backend )
+        # sink stderr:
+        # for C/C++/ObjectiveC it's useless
+        # for FORTRAN/Java it's an error
+        COMPREPLY=( $( compgen -W "$( $cc --help 2>/dev/null | \
+           tr '\t' ' ' | \
+           sed -e '/^  *-/!d' -e 's/ *-\([^ ]*\).*/-\1/' | \
+           sort -u )" -- "$cur" ) )
+    else
+        _filedir
+    fi
 } &&
 complete $filenames -F _gcc gcc g++ c++ g77 gcj gpc
 [ $USERLAND = GNU -o $UNAME = Cygwin ] && \
@@ -52,8 +52,8 @@ complete $filenames -F _gcc gcc g++ c++ g77 gcj gpc
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gcl b/contrib/gcl
index 8cb758f..ce6923f 100644
--- a/contrib/gcl
+++ b/contrib/gcl
@@ -11,11 +11,10 @@ _gcl()
 
     # completing an option (may or may not be separated by a space)
     if [[ "$cur" == -* ]]; then
-	COMPREPLY=( $( compgen -W '-eval -load -f -batch -dir -libdir \
-                     -compile -o-file -c-file -h-file -data-file -system-p '\
-                     -- "$cur" ) )
+        COMPREPLY=( $( compgen -W '-eval -load -f -batch -dir -libdir \
+            -compile -o-file -c-file -h-file -data-file -system-p '-- "$cur" ) )
     else
-	_filedir
+        _filedir
     fi
 
     return 0
@@ -24,8 +23,8 @@ complete -F _gcl $default gcl
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gdb b/contrib/gdb
index fb95200..7ea304e 100644
--- a/contrib/gdb
+++ b/contrib/gdb
@@ -3,42 +3,41 @@
 have gdb &&
 _gdb()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		local IFS
-		if [[ "$cur" == */* ]]; then
-			# compgen -c works as expected if $cur contains any slashes.
-			IFS=$'\n'
-			COMPREPLY=( $( PATH="$PATH:." compgen -d -c -- "$cur" ) )
-		else
-			# otherwise compgen -c contains Bash's built-in commands,
-			# functions and aliases. Thus we need to retrieve the program
-			# names manually.
-			IFS=":"
-			local path_array=( $(echo "$PATH" | sed 's/::\+/:/g;s/^:\|:$//g') )
-			IFS=$'\n'
-			COMPREPLY=( $( compgen -d -W '$(find "${path_array[@]}" . \
-				-mindepth 1 -maxdepth 1 -not -type d -executable -printf "%f\\n" 2>/dev/null)' \
-				-- "$cur" ) )
-		fi
-	elif [ $COMP_CWORD -eq 2 ]; then
-		prev=${prev##*/}
-		COMPREPLY=( $( compgen -fW "$( command ps axo comm,pid | \
-				awk '{if ($1 ~ /^'"$prev"'/) print $2}' )" \
-				-- "$cur" ) )
-	fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        local IFS
+        if [[ "$cur" == */* ]]; then
+            # compgen -c works as expected if $cur contains any slashes.
+            IFS=$'\n'
+            COMPREPLY=( $( PATH="$PATH:." compgen -d -c -- "$cur" ) )
+        else
+            # otherwise compgen -c contains Bash's built-in commands,
+            # functions and aliases. Thus we need to retrieve the program
+            # names manually.
+            IFS=":"
+            local path_array=( $(echo "$PATH" | sed 's/::\+/:/g;s/^:\|:$//g') )
+            IFS=$'\n'
+            COMPREPLY=( $( compgen -d -W '$(find "${path_array[@]}" . \
+                -mindepth 1 -maxdepth 1 -not -type d -executable \
+                -printf "%f\\n" 2>/dev/null)' -- "$cur" ) )
+        fi
+    elif [ $COMP_CWORD -eq 2 ]; then
+        prev=${prev##*/}
+        COMPREPLY=( $( compgen -fW "$( command ps axo comm,pid | \
+            awk '{if ($1 ~ /^'"$prev"'/) print $2}' )" -- "$cur" ) )
+    fi
 } &&
 complete -F _gdb $default gdb
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/genisoimage b/contrib/genisoimage
index c0e3b48..7f3abfe 100644
--- a/contrib/genisoimage
+++ b/contrib/genisoimage
@@ -3,77 +3,77 @@
 (have mkisofs || have genisoimage) &&
 _mkisofs()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(o|abstract|biblio|check-session|copyright|log-file|root-info|prep-boot|*-list))
-			_filedir
-			return 0
-			;;
-		-*-charset)
-			COMPREPLY=( $( compgen -W '$( mkisofs -input-charset \
-					help 2>&1 | tail -n +3 )' -- "$cur" ) )
-			return 0
-			;;
-		-uid)
-			_uids
-			return 0
-			;;
-		-gid)
-			_gids
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(o|abstract|biblio|check-session|copyright|log-file|root-info|prep-boot|*-list))
+            _filedir
+            return 0
+            ;;
+        -*-charset)
+            COMPREPLY=( $( compgen -W '$( mkisofs -input-charset \
+                    help 2>&1 | tail -n +3 )' -- "$cur" ) )
+            return 0
+            ;;
+        -uid)
+            _uids
+            return 0
+            ;;
+        -gid)
+            _gids
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-abstract -A -allow-lowercase \
-				-allow-multidot -biblio -cache-inodes \
-				-no-cache-inodes -b -eltorito-alt-boot -B -G \
-				-hard-disk-boot -no-emul-boot -no-boot \
-				-boot-load-seg -boot-load-size \
-				-boot-info-table -C -c -check-oldname \
-				-check-session -copyright -d -D -dir-mode \
-				-dvd-video -f -file-mode -gid -gui \
-				-graft-points -hide -hide-list -hidden \
-				-hidden-list -hide-joliet -hide-joliet-list \
-				-hide-joliet-trans-tbl -hide-rr-moved \
-				-input-charset -output-charset -iso-level -J \
-				-joliet-long -jcharset -l -L -log-file -m \
-				-exclude-list -max-iso9660-filenames -M -N \
-				-new-dir-mode -nobak -no-bak -force-rr -no-rr \
-				-no-split-symlink-components \
-				-no-split-symlink-fields -o -pad -no-pad \
-				-path-list -P -p -print-size -quiet -R -r \
-				-relaxed-filenames -sort -split-output \
-				-stream-media-size -stream-file-name -sysid -T\
-				-table-name -ucs-level -udf -uid \
-				-use-fileversion -U -no-iso-translate -V \
-				-volset -volset-size -volset-seqno -v -x -z \
-				-hfs -apple -map -magic -hfs-creator \
-				-hfs-type -probe -no-desktop -mac-name \
-				-boot-hfs-file -part -auto -cluster-size \
-				-hide-hfs -hide-hfs-list -hfs-volid \
-				-icon-position -root-info -prep-boot \
-				-input-hfs-charset -output-hfs-charset \
-				-hfs-unlock -hfs-bless -hfs-parms --cap \
-				--netatalk --double --ethershare --ushare \
-				--exchange --sgi --xinet --macbin --single \
-				--dave --sfm --osx-double --osx-hfs' -- "$cur" ))
-	else
-		_filedir
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-abstract -A -allow-lowercase \
+            -allow-multidot -biblio -cache-inodes \
+            -no-cache-inodes -b -eltorito-alt-boot -B -G \
+            -hard-disk-boot -no-emul-boot -no-boot \
+            -boot-load-seg -boot-load-size \
+            -boot-info-table -C -c -check-oldname \
+            -check-session -copyright -d -D -dir-mode \
+            -dvd-video -f -file-mode -gid -gui \
+            -graft-points -hide -hide-list -hidden \
+            -hidden-list -hide-joliet -hide-joliet-list \
+            -hide-joliet-trans-tbl -hide-rr-moved \
+            -input-charset -output-charset -iso-level -J \
+            -joliet-long -jcharset -l -L -log-file -m \
+            -exclude-list -max-iso9660-filenames -M -N \
+            -new-dir-mode -nobak -no-bak -force-rr -no-rr \
+            -no-split-symlink-components \
+            -no-split-symlink-fields -o -pad -no-pad \
+            -path-list -P -p -print-size -quiet -R -r \
+            -relaxed-filenames -sort -split-output \
+            -stream-media-size -stream-file-name -sysid -T\
+            -table-name -ucs-level -udf -uid \
+            -use-fileversion -U -no-iso-translate -V \
+            -volset -volset-size -volset-seqno -v -x -z \
+            -hfs -apple -map -magic -hfs-creator \
+            -hfs-type -probe -no-desktop -mac-name \
+            -boot-hfs-file -part -auto -cluster-size \
+            -hide-hfs -hide-hfs-list -hfs-volid \
+            -icon-position -root-info -prep-boot \
+            -input-hfs-charset -output-hfs-charset \
+            -hfs-unlock -hfs-bless -hfs-parms --cap \
+            --netatalk --double --ethershare --ushare \
+            --exchange --sgi --xinet --macbin --single \
+            --dave --sfm --osx-double --osx-hfs' -- "$cur" ))
+    else
+        _filedir
+    fi
 
 } &&
 complete -F _mkisofs $filenames mkisofs genisoimage
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/getent b/contrib/getent
index 0149866..ec49e2e 100644
--- a/contrib/getent
+++ b/contrib/getent
@@ -3,55 +3,54 @@
 have getent &&
 _getent()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		passwd)
-			COMPREPLY=( $( compgen -u "$cur"  ) )
-			return 0
-			;;
-		group)
-			COMPREPLY=( $( compgen -g "$cur"  ) )
-			return 0
-			;;
-		services)
-			COMPREPLY=( $( compgen -s "$cur"  ) )
-			return 0
-			;;
-		hosts)
-			COMPREPLY=( $( compgen -A hostname "$cur"  ) )
-			return 0
-			;;
-		protocols|networks|ahosts|ahostsv4|ahostsv6|rpc)
-			COMPREPLY=( $( getent "$prev" | \
-				sed -ne 's|^\('"$cur"'[^[:space:]]*\).*|\1|p' ) )
-			return 0
-			;;
-		aliases|shadow)
-			COMPREPLY=( $( getent "$prev" | \
-				sed -ne 's|^\('"$cur"'[^:]*\).*|\1|p' ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        passwd)
+            COMPREPLY=( $( compgen -u "$cur"  ) )
+            return 0
+            ;;
+        group)
+            COMPREPLY=( $( compgen -g "$cur"  ) )
+            return 0
+            ;;
+        services)
+            COMPREPLY=( $( compgen -s "$cur"  ) )
+            return 0
+            ;;
+        hosts)
+            COMPREPLY=( $( compgen -A hostname "$cur"  ) )
+            return 0
+            ;;
+        protocols|networks|ahosts|ahostsv4|ahostsv6|rpc)
+            COMPREPLY=( $( getent "$prev" | \
+                sed -ne 's|^\('"$cur"'[^[:space:]]*\).*|\1|p' ) )
+            return 0
+            ;;
+        aliases|shadow)
+            COMPREPLY=( $( getent "$prev" | \
+                sed -ne 's|^\('"$cur"'[^:]*\).*|\1|p' ) )
+            return 0
+            ;;
+    esac
 
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W 'passwd group hosts services \
-					   protocols networks ahosts ahostsv4 \
-					   ahostsv6 aliases ethers netgroup \
-					   rpc shadow' -- "$cur" ) )
-	fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W 'passwd group hosts services protocols \
+            networks ahosts ahostsv4 ahostsv6 aliases ethers netgroup rpc \
+            shadow' -- "$cur" ) )
+    fi
 } &&
 complete -F _getent getent
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gkrellm b/contrib/gkrellm
index c501182..6414410 100644
--- a/contrib/gkrellm
+++ b/contrib/gkrellm
@@ -3,41 +3,40 @@
 have gkrellm || have gkrellm2 &&
 _gkrellm()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(t|-theme))
-			_filedir -d
-			return 0
-			;;
-		-@(p|-plugin))
-			_filedir 'so'
-			return 0
-			;;
-		-@(s|-server))
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(t|-theme))
+            _filedir -d
+            return 0
+            ;;
+        -@(p|-plugin))
+            _filedir 'so'
+            return 0
+            ;;
+        -@(s|-server))
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--help -t --theme -s --server \
-			-g --geometry -wm -w --withdrawn -c --config -nc \
-			-f --force-host-config -demo -p --plugin -P \
-			--port' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--help -t --theme -s --server \
+            -g --geometry -wm -w --withdrawn -c --config -nc \
+            -f --force-host-config -demo -p --plugin -P --port' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _gkrellm gkrellm gkrellm2
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gnatmake b/contrib/gnatmake
index 9664493..3b66aa3 100644
--- a/contrib/gnatmake
+++ b/contrib/gnatmake
@@ -3,36 +3,35 @@
 have gnatmake &&
 _gnatmake()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-        if [[ "$cur" == -* ]]; then
-		# relevant (and less relevant ;-) )options completion
-		COMPREPLY=( $( compgen -W '-a -c -f -i -j -k -m -M -n -o \
-                               -q -s -v -z -aL -A -aO -aI -I -I- -L -nostdinc \
-                               -nostdlib -cargs -bargs -largs -fstack-check \
-                               -fno-inline -g -O1 -O0 -O2 -O3 -gnata -gnatA \
-                               -gnatb -gnatc -gnatd -gnatD -gnate -gnatE \
-                               -gnatf -gnatF -gnatg -gnatG -gnath -gnati \
-                               -gnatk -gnatl -gnatL -gnatm -gnatn -gnato \
-                               -gnatO -gnatp -gnatP -gnatq -gnatR -gnats \
-                               -gnatt -gnatT -gnatu -gnatU -gnatv -gnatws \
-                               -gnatwe -gnatwl -gnatwu -gnatW -gnatx -gnatX \
-                               -gnaty -gnatz -gnatZ -gnat83' -- "$cur" ) )
-	else
-			# source file completion
-			_filedir '@(adb|ads)'
-
-	fi
+    if [[ "$cur" == -* ]]; then
+        # relevant (and less relevant ;-) )options completion
+        COMPREPLY=( $( compgen -W '-a -c -f -i -j -k -m -M -n -o \
+            -q -s -v -z -aL -A -aO -aI -I -I- -L -nostdinc \
+           -nostdlib -cargs -bargs -largs -fstack-check \
+           -fno-inline -g -O1 -O0 -O2 -O3 -gnata -gnatA \
+           -gnatb -gnatc -gnatd -gnatD -gnate -gnatE \
+           -gnatf -gnatF -gnatg -gnatG -gnath -gnati \
+           -gnatk -gnatl -gnatL -gnatm -gnatn -gnato \
+           -gnatO -gnatp -gnatP -gnatq -gnatR -gnats \
+           -gnatt -gnatT -gnatu -gnatU -gnatv -gnatws \
+           -gnatwe -gnatwl -gnatwu -gnatW -gnatx -gnatX \
+           -gnaty -gnatz -gnatZ -gnat83' -- "$cur" ) )
+    else
+        # source file completion
+        _filedir '@(adb|ads)'
+    fi
 } &&
 complete -F _gnatmake $filenames gnatmake
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gpg b/contrib/gpg
index ef7790a..a0dea7d 100644
--- a/contrib/gpg
+++ b/contrib/gpg
@@ -3,43 +3,47 @@
 have gpg &&
 _gpg()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-	-@(s|-sign|-clearsign|-decrypt-files|-load-extension))
-		_filedir
-		return 0
-		;;
-	--@(export|@(?(l|nr|nrl)sign|edit)-key))
-		# return list of public keys
-		COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^pub.*/\([^ ]*\).*$@\1 at p;s@^.*\(<\([^>]*\)>\).*$@\2 at p')" -- "$cur" ))
-		return 0
-		;;
-	-@(r|-recipient))
-		COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^.*<\([^>]*\)>.*$@\1 at p')" -- "$cur" ))
-		if [ -e ~/.gnupg/gpg.conf ]; then
-			COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$( sed -ne 's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1 at p' ~/.gnupg/gpg.conf  )" -- "$cur") )
-		fi
-		return 0
-		;;
-	esac
+    case "$prev" in
+        -@(s|-sign|-clearsign|-decrypt-files|-load-extension))
+            _filedir
+            return 0
+            ;;
+        --@(export|@(?(l|nr|nrl)sign|edit)-key))
+            # return list of public keys
+            COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | \
+                sed -ne 's@^pub.*/\([^ ]*\).*$@\1 at p;s@^.*\(<\([^>]*\)>\).*$@\2 at p')" -- "$cur" ))
+            return 0
+            ;;
+        -@(r|-recipient))
+            COMPREPLY=( $( compgen -W "$( gpg --list-keys 2>/dev/null | \
+                sed -ne 's@^.*<\([^>]*\)>.*$@\1 at p')" -- "$cur" ))
+            if [ -e ~/.gnupg/gpg.conf ]; then
+                COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$( sed -ne \
+                    's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1 at p' \
+                    ~/.gnupg/gpg.conf  )" -- "$cur") )
+            fi
+            return 0
+        ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-s -b -e -f -c -d -a -r -u -Z -o -v\
-				-q -n -N $(gpg --dump-options)' -- "$cur" ) )
-	 fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-s -b -e -f -c -d -a -r -u -Z -o -v\
+            -q -n -N $(gpg --dump-options)' -- "$cur" ) )
+     fi
 
 } &&
 complete -F _gpg $default gpg
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gpg2 b/contrib/gpg2
index f6d935a..56e3c6e 100644
--- a/contrib/gpg2
+++ b/contrib/gpg2
@@ -3,47 +3,51 @@
 have gpg2 && {
 _gpg2 ()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		--homedir)
-			_filedir -d
-			return 0
-			;;
-		-@(s|-sign|-clearsign|-options|-decrypt))
-			_filedir
-			return 0
-			;;
-		--@(export|@(?(l|nr|nrl)sign|edit)-key))
-			# return list of public keys
-			COMPREPLY=( $( compgen -W "$( gpg2 --list-keys 2>/dev/null | sed -ne 's@^pub.*/\([^ ]*\).*$@\1 at p;s@^.*\(<\([^>]*\)>\).*$@\2 at p')" -- "$cur" ))
-			return 0
-			;;
-		-@(r|-recipient))
-			COMPREPLY=( $( compgen -W "$( gpg2 --list-keys 2>/dev/null | sed -ne 's@^.*<\([^>]*\)>.*$@\1 at p')" -- "$cur" ))
-			if [ -e ~/.gnupg/gpg.conf ]; then
-				COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$( sed -ne 's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1 at p' ~/.gnupg/gpg.conf)" -- "$cur"))
-			fi
-		return 0
-		;;
-	esac
+    case "$prev" in
+        --homedir)
+            _filedir -d
+            return 0
+            ;;
+        -@(s|-sign|-clearsign|-options|-decrypt))
+            _filedir
+            return 0
+            ;;
+        --@(export|@(?(l|nr|nrl)sign|edit)-key))
+            # return list of public keys
+            COMPREPLY=( $( compgen -W "$( gpg2 --list-keys 2>/dev/null | \
+                sed -ne 's@^pub.*/\([^ ]*\).*$@\1 at p;s@^.*\(<\([^>]*\)>\).*$@\2 at p')" -- "$cur" ))
+            return 0
+            ;;
+        -@(r|-recipient))
+            COMPREPLY=( $( compgen -W "$( gpg2 --list-keys 2>/dev/null | \
+                sed -ne 's@^.*<\([^>]*\)>.*$@\1 at p')" -- "$cur" ))
+            if [ -e ~/.gnupg/gpg.conf ]; then
+                COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$( sed -ne \
+                    's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1 at p' \
+                    ~/.gnupg/gpg.conf)" -- "$cur"))
+            fi
+        return 0
+        ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-s -b -e -c -d -k -K -a -r -u -z -o -v \
-									-n -N -i -h -R -t $(gpg2 --dump-options)' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-s -b -e -c -d -k -K -a -r -u -z -o -v \
+            -n -N -i -h -R -t $(gpg2 --dump-options)' -- "$cur" ) )
+    fi
 } &&
 complete -F _gpg2 $default gpg2
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/gzip b/contrib/gzip
index a3f964d..0bfd748 100644
--- a/contrib/gzip
+++ b/contrib/gzip
@@ -3,47 +3,46 @@
 have gzip &&
 _gzip()
 {
-	local cur prev xspec helpopts
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	helpopts=`_parse_help gzip`
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W "$helpopts -2 -3 -4 -5 -6 -7 -8" \
-						-- "$cur" ) )
-		return 0
-	fi
-
-	local IFS=$'\t\n'
-
-	xspec="*.?(t)gz"
-	if [[ "$prev" == --* ]]; then
-		[[ "$prev" == --decompress || \
-			"$prev" == --list || \
-			"$prev" == --test ]] && xspec="!"$xspec
-		[[ "$prev" == --force ]] && xspec=
-	elif [[ "$prev" == -* ]]; then
-		[[ "$prev" == -*[dlt]* ]] && xspec="!"$xspec
-		[[ "$prev" == -*f* ]] && xspec=
-	elif [ "$prev" = '>' -o "$prev" = '>>' ]; then
-		xspec=
-	elif [ "$prev" = '<' ]; then
-		xspec=
-	fi
-
-	_expand || return 0
-
-	COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
-		    $( compgen -d -- "$cur" ) )
+    local cur prev xspec helpopts
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    helpopts=`_parse_help gzip`
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W "$helpopts -2 -3 -4 -5 -6 -7 -8" -- "$cur" ) )
+        return 0
+    fi
+
+    local IFS=$'\t\n'
+
+    xspec="*.?(t)gz"
+    if [[ "$prev" == --* ]]; then
+        [[ "$prev" == --decompress || \
+            "$prev" == --list || \
+            "$prev" == --test ]] && xspec="!"$xspec
+        [[ "$prev" == --force ]] && xspec=
+    elif [[ "$prev" == -* ]]; then
+        [[ "$prev" == -*[dlt]* ]] && xspec="!"$xspec
+        [[ "$prev" == -*f* ]] && xspec=
+    elif [ "$prev" = '>' -o "$prev" = '>>' ]; then
+        xspec=
+    elif [ "$prev" = '<' ]; then
+        xspec=
+    fi
+
+    _expand || return 0
+
+    COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
+        $( compgen -d -- "$cur" ) )
 } &&
 complete -F _gzip $filenames gzip
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/harbour b/contrib/harbour
index 2dc1c9e..787d690 100644
--- a/contrib/harbour
+++ b/contrib/harbour
@@ -6,8 +6,8 @@ complete -f -X '!*.[Hh][Rr][Bb]' hbrun
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/heimdal b/contrib/heimdal
index 7401a90..6d79d14 100644
--- a/contrib/heimdal
+++ b/contrib/heimdal
@@ -4,136 +4,131 @@ have ktutil && {
 _heimdal_principals()
 {
 
-	COMPREPLY=( $( compgen -W "$( kadmin -l dump 2>/dev/null | \
-		awk '{print $1}' )" -- "$cur" ) )
+    COMPREPLY=( $( compgen -W "$( kadmin -l dump 2>/dev/null | \
+        awk '{print $1}' )" -- "$cur" ) )
 }
 
 _heimdal_realms()
 {
 
-	COMPREPLY=( $( compgen -W "( kadmin -l dump 2>/dev/null | \
-		awk '{print $1}' | awk -F @ '{print $2}' )" -- "$cur" ) )
+    COMPREPLY=( $( compgen -W "( kadmin -l dump 2>/dev/null | \
+        awk '{print $1}' | awk -F @ '{print $2}' )" -- "$cur" ) )
 }
 
 _heimdal_encodings()
 {
 
-	COMPREPLY=( $( compgen -W 'des-cbc-mcrc des-cbc-md4 des-cbc-md5 \
-		des3-cbc-sha1 arcfour-hmac-md5 aes128-cts-hmac-sha1-96 \
-		aes256-cts-hmac-sha1-96' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'des-cbc-mcrc des-cbc-md4 des-cbc-md5 \
+        des3-cbc-sha1 arcfour-hmac-md5 aes128-cts-hmac-sha1-96 \
+        aes256-cts-hmac-sha1-96' -- "$cur" ) )
 }
 
-
 _ktutil()
 {
-	local cur prev command options split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-p|--principal)
-			_heimdal_principals
-			return 0
-			;;
-		-e|--enctype)
-			_heimdal_encodings
-			return 0
-			;;
-		-a|--admin-server)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-r|--realm)
-			_heimdal_realms
-			return 0
-			;;
-		-@(s|k|-@(srv|key)tab))
-			_filedir
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	commands='add change copy get list remove rename purge srvconvert \
-		srv2keytab srvcreate key2srvtab'
-
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		case ${COMP_WORDS[i]} in
-			-@(k|-keytab))
-				i=$(($i+1))
-				;;
-			-*)
-				;;
-			*)
-				command=${COMP_WORDS[i]}
-				break
-				;;
-		esac
-	done
-
-	if [[ "$cur" == -* ]]; then
-		case $command in
-			add)
-				options='-p --principal -V -e --enctype -w \
-					--password -r --random -s --no-salt \
-					-h --hex'
-			;;
-			change)
-				options='-r --realm -a --admin-server -s \
-					--server-port'
-			;;
-			get)
-				options='-p --principal -e --enctype -r \
-					--realm -a --admin-server -s server \
-					--server-port'
-				;;
-			list)
-				options='--keys --timestamp'
-				;;
-			remove)
-				options='-p --principal -V --kvno -e --enctype'
-				;;
-			purge)
-				options='--age'
-				;;
-			@(srv2keytab|key2srvtab))
-				options='-s --srvtab'
-				;;
-			*)
-				options='-k --keytab -v --verbose --version \
-					-v --help'
-				;;
-		esac
-		COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
-	else
-		case $command in
-			copy)
-				_filedir
-				;;
-			get)
-				_heimdal_principals
-				;;
-			rename)
-				_heimdal_principals
-				;;
-			*)
-				COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
-				;;
-		esac
-	fi
+    local cur prev command options split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -p|--principal)
+            _heimdal_principals
+            return 0
+            ;;
+        -e|--enctype)
+            _heimdal_encodings
+            return 0
+            ;;
+        -a|--admin-server)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -r|--realm)
+            _heimdal_realms
+            return 0
+            ;;
+        -@(s|k|-@(srv|key)tab))
+            _filedir
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    commands='add change copy get list remove rename purge srvconvert \
+        srv2keytab srvcreate key2srvtab'
+
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        case ${COMP_WORDS[i]} in
+            -@(k|-keytab))
+                i=$(($i+1))
+                ;;
+            -*)
+                ;;
+            *)
+                command=${COMP_WORDS[i]}
+                break
+                ;;
+        esac
+    done
+
+    if [[ "$cur" == -* ]]; then
+        case $command in
+            add)
+                options='-p --principal -V -e --enctype -w --password -r \
+                    --random -s --no-salt -h --hex'
+            ;;
+            change)
+                options='-r --realm -a --admin-server -s --server-port'
+            ;;
+            get)
+                options='-p --principal -e --enctype -r --realm -a \
+                    --admin-server -s server --server-port'
+                ;;
+            list)
+                options='--keys --timestamp'
+                ;;
+            remove)
+                options='-p --principal -V --kvno -e --enctype'
+                ;;
+            purge)
+                options='--age'
+                ;;
+            @(srv2keytab|key2srvtab))
+                options='-s --srvtab'
+                ;;
+            *)
+                options='-k --keytab -v --verbose --version -v --help'
+                ;;
+        esac
+        COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
+    else
+        case $command in
+            copy)
+                _filedir
+                ;;
+            get)
+                _heimdal_principals
+                ;;
+            rename)
+                _heimdal_principals
+                ;;
+            *)
+                COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
+                ;;
+        esac
+    fi
 }
 complete -F _ktutil ktutil
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/iconv b/contrib/iconv
index 454d95c..cf497e9 100644
--- a/contrib/iconv
+++ b/contrib/iconv
@@ -3,33 +3,33 @@
 have iconv &&
 _iconv()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(f|t|-@(from|to)-code))
-			COMPREPLY=( $( compgen -W \
-			    '$( iconv --list | sed -e "s@//@@;" )' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(f|t|-@(from|to)-code))
+            COMPREPLY=( $( compgen -W \
+                '$( iconv --list | sed -e "s@//@@;" )' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
 
-	if [[ "$cur" = -* ]]; then
-		COMPREPLY=( $( compgen -W '--from-code -f --to-code -t --list
-		--output -o --verbose' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" = -* ]]; then
+        COMPREPLY=( $( compgen -W '--from-code -f --to-code -t --list
+            --output -o --verbose' -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _iconv $default iconv
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/imagemagick b/contrib/imagemagick
index 4604ebc..ed2d01e 100644
--- a/contrib/imagemagick
+++ b/contrib/imagemagick
@@ -3,541 +3,530 @@
 have convert && {
 _ImageMagick()
 {
-	local prev
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-channel)
-			COMPREPLY=( $( compgen -W 'Red Green Blue Opacity \
-				Matte Cyan Magenta Yellow Black' -- "$cur" ) )
-			return 0
-			;;
-		-colormap)
-			COMPREPLY=( $( compgen -W 'shared private' -- "$cur" ) )
-			return 0
-			;;
-		-colorspace)
-			COMPREPLY=( $( compgen -W 'GRAY OHTA RGB Transparent \
-				XYZ YCbCr YIQ YPbPr YUV CMYK' -- "$cur" ) )
-			return 0
-			;;
-		-compose)
-			COMPREPLY=( $( compgen -W 'Over In Out Atop Xor Plus \
-				Minus Add Subtract Difference Multiply Bumpmap\
-				Copy CopyRed CopyGreen CopyBlue CopyOpacity' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-compress)
-			COMPREPLY=( $( compgen -W 'None BZip Fax Group4 JPEG \
-				Lossless LZW RLE Zip' -- "$cur" ) )
-			return 0
-			;;
-		-dispose)
-			COMPREPLY=( $( compgen -W 'Undefined None Background \
-						    Previous' -- "$cur" ) )
-			return 0
-			;;
-		-encoding)
-			COMPREPLY=( $( compgen -W 'AdobeCustom AdobeExpert \
-				AdobeStandard AppleRoman BIG5 GB2312 Latin2 \
-				None SJIScode Symbol Unicode Wansung' -- "$cur"))
-			return 0
-			;;
-		-endian)
-			COMPREPLY=( $( compgen -W 'MSB LSB' -- "$cur" ) )
-			return 0
-			;;
-		-filter)
-			COMPREPLY=( $( compgen -W 'Point Box Triangle Hermite \
-				Hanning Hamming Blackman Gaussian Quadratic \
-				Cubic Catrom Mitchell Lanczos Bessel Sinc' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-format)
-			COMPREPLY=( $( compgen -W "$( convert -list format | \
-				    awk '/ [r-][w-][+-] / {print $1}' | \
-				    tr -d '*' | tr [:upper:] [:lower:] )" \
-				    -- "$cur" ) )
-			return 0
-			;;
-		-gravity)
-			COMPREPLY=( $( compgen -W 'Northwest North NorthEast \
-				West Center East SouthWest South SouthEast' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-intent)
-			COMPREPLY=( $( compgen -W 'Absolute Perceptual \
-					Relative Saturation' -- "$cur" ) )
-			return 0
-			;;
-		-interlace)
-			COMPREPLY=( $( compgen -W 'None Line Plane Partition' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-limit)
-			COMPREPLY=( $( compgen -W 'Disk File Map Memory' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-list)
-			COMPREPLY=( $( compgen -W 'Delegate Format Magic \
-					Module Resource Type' -- "$cur" ) )
-			return 0
-			;;
-		-map)
-			COMPREPLY=( $( compgen -W 'best default gray red \
-					green blue' -- "$cur" ) )
-			_filedir
-			return 0
-			;;
-		-noise)
-			COMPREPLY=( $( compgen -W 'Uniform Gaussian \
-					Multiplicative \
-				Impulse Laplacian Poisson' -- "$cur" ) )
-			return 0
-			;;
-		-preview)
-			COMPREPLY=( $( compgen -W 'Rotate Shear Roll Hue \
-					Saturation Brightness Gamma Spiff \
-					Dull Grayscale Quantize Despeckle \
-					ReduceNoise AddNoise Sharpen Blur \
-					Treshold EdgeDetect Spread Shade \
-					Raise Segment Solarize Swirl Implode \
-					Wave OilPaint CharcoalDrawing JPEG' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-@(mask|profile|texture|tile|write))
-			_filedir
-			return 0
-			;;
-		-type)
-			COMPREPLY=( $( compgen -W 'Bilevel Grayscale Palette \
-					PaletteMatte TrueColor TrueColorMatte \
-					ColorSeparation ColorSeparationlMatte \
-					Optimize' -- "$cur" ) )
-			return 0
-			;;
-		-units)
-			COMPREPLY=( $( compgen -W 'Undefined PixelsPerInch \
-					PixelsPerCentimeter' -- "$cur" ) )
-			return 0
-			;;
-		-virtual-pixel)
-			COMPREPLY=( $( compgen -W 'Constant Edge mirror tile' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-visual)
-			COMPREPLY=( $( compgen -W 'StaticGray GrayScale \
-					StaticColor PseudoColor TrueColor \
-					DirectColor defaut visualid' -- "$cur" ))
-			return 0
-			;;
-	esac
+    local prev
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -channel)
+            COMPREPLY=( $( compgen -W 'Red Green Blue Opacity \
+                Matte Cyan Magenta Yellow Black' -- "$cur" ) )
+            return 0
+            ;;
+        -colormap)
+            COMPREPLY=( $( compgen -W 'shared private' -- "$cur" ) )
+            return 0
+            ;;
+        -colorspace)
+            COMPREPLY=( $( compgen -W 'GRAY OHTA RGB Transparent \
+                XYZ YCbCr YIQ YPbPr YUV CMYK' -- "$cur" ) )
+            return 0
+            ;;
+        -compose)
+            COMPREPLY=( $( compgen -W 'Over In Out Atop Xor Plus \
+                Minus Add Subtract Difference Multiply Bumpmap\
+                Copy CopyRed CopyGreen CopyBlue CopyOpacity' -- "$cur" ) )
+            return 0
+            ;;
+        -compress)
+            COMPREPLY=( $( compgen -W 'None BZip Fax Group4 JPEG \
+                Lossless LZW RLE Zip' -- "$cur" ) )
+            return 0
+            ;;
+        -dispose)
+            COMPREPLY=( $( compgen -W 'Undefined None Background Previous' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -encoding)
+            COMPREPLY=( $( compgen -W 'AdobeCustom AdobeExpert \
+                AdobeStandard AppleRoman BIG5 GB2312 Latin2 \
+                None SJIScode Symbol Unicode Wansung' -- "$cur"))
+            return 0
+            ;;
+        -endian)
+            COMPREPLY=( $( compgen -W 'MSB LSB' -- "$cur" ) )
+            return 0
+            ;;
+        -filter)
+            COMPREPLY=( $( compgen -W 'Point Box Triangle Hermite \
+                Hanning Hamming Blackman Gaussian Quadratic \
+                Cubic Catrom Mitchell Lanczos Bessel Sinc' -- "$cur" ) )
+            return 0
+            ;;
+        -format)
+            COMPREPLY=( $( compgen -W "$( convert -list format | \
+                awk '/ [r-][w-][+-] / {print $1}' | \
+                tr -d '*' | tr [:upper:] [:lower:] )" -- "$cur" ) )
+            return 0
+            ;;
+        -gravity)
+            COMPREPLY=( $( compgen -W 'Northwest North NorthEast \
+                West Center East SouthWest South SouthEast' -- "$cur" ) )
+            return 0
+            ;;
+        -intent)
+            COMPREPLY=( $( compgen -W 'Absolute Perceptual \
+                Relative Saturation' -- "$cur" ) )
+            return 0
+            ;;
+        -interlace)
+            COMPREPLY=( $( compgen -W 'None Line Plane Partition' -- "$cur" ) )
+            return 0
+            ;;
+        -limit)
+            COMPREPLY=( $( compgen -W 'Disk File Map Memory' -- "$cur" ) )
+            return 0
+            ;;
+        -list)
+            COMPREPLY=( $( compgen -W 'Delegate Format Magic Module Resource \
+                Type' -- "$cur" ) )
+            return 0
+            ;;
+        -map)
+            COMPREPLY=( $( compgen -W 'best default gray red green blue' \
+                -- "$cur" ) )
+            _filedir
+            return 0
+            ;;
+        -noise)
+            COMPREPLY=( $( compgen -W 'Uniform Gaussian Multiplicative \
+                Impulse Laplacian Poisson' -- "$cur" ) )
+            return 0
+            ;;
+        -preview)
+            COMPREPLY=( $( compgen -W 'Rotate Shear Roll Hue \
+                Saturation Brightness Gamma Spiff \
+                Dull Grayscale Quantize Despeckle \
+                ReduceNoise AddNoise Sharpen Blur \
+                Treshold EdgeDetect Spread Shade \
+                Raise Segment Solarize Swirl Implode \
+                Wave OilPaint CharcoalDrawing JPEG' -- "$cur" ) )
+            return 0
+            ;;
+        -@(mask|profile|texture|tile|write))
+            _filedir
+            return 0
+            ;;
+        -type)
+            COMPREPLY=( $( compgen -W 'Bilevel Grayscale Palette PaletteMatte \
+                TrueColor TrueColorMatte ColorSeparation ColorSeparationlMatte \
+                Optimize' -- "$cur" ) )
+            return 0
+            ;;
+        -units)
+            COMPREPLY=( $( compgen -W 'Undefined PixelsPerInch \
+                PixelsPerCentimeter' -- "$cur" ) )
+            return 0
+            ;;
+        -virtual-pixel)
+            COMPREPLY=( $( compgen -W 'Constant Edge mirror tile' -- "$cur" ) )
+            return 0
+            ;;
+        -visual)
+            COMPREPLY=( $( compgen -W 'StaticGray GrayScale StaticColor \
+                PseudoColor TrueColor DirectColor defaut visualid' -- "$cur" ))
+            return 0
+            ;;
+    esac
 }
 
 _convert()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-adaptive-blur -adaptive-resize \
-			-adaptive-sharpen -adjoin -affine -alpha -annotate \
-			-antialias -append -attenuate -authenticate \
-			-auto-orient -average -background -bench -bias \
-			-black-point-compensation -black-threshold \
-			-blue-primary -blur -border -bordercolor -caption \
-			-channel -charcoal -chop -clip -clip-mask -clip-path \
-			-clone -clut -coalesce -colorize -colors -colorspace \
-			-combine -comment -compose -composite -compress \
-			-contrast -contrast-stretch -convolve -crop -cycle \
-			-debug -decipher -deconstruct -define -delay -delete \
-			-density -depth -despeckle -display -dispose -distort \
-			-dither -draw -edge -emboss -encipher -encoding \
-			-endian -enhance -equalize -evaluate -extent -extract \
-			-family -fill -filter -flatten -flip -floodfill -flop \
-			-font -format -frame -fuzz -fx -gamma -gaussian-blur \
-			-geometry -gravity -green-primary -help -identify \
-			-implode -insert -intent -interlace -interpolate \
-			-label -lat -layers -level -limit -linear-stretch \
-			-liquid-rescale -list -log -loop -map -mask \
-			-mattecolor -median -modulate -monitor -monochrome \
-			-morph -mosaic -motion-blur -negate -noise -normalize \
-			-opaque -ordered-dither -orient -page -paint -ping \
-			-pointsize -polaroid -posterize -preview -print \
-			-process -profile -quality -quantize -quiet \
-			-radial-blur -raise -random-threshold -recolor \
-			-red-primary -regard-warnings -region -render -repage \
-			-resample -resize -respect-parenthesis -reverse -roll \
-			-rotate -sample -sampling-factor -scale -scene -seed \
-			-segment -separate -sepia-tone -set -shade -shadow \
-			-sharpen -shave -shear -sigmoidal-contrast -size \
-			-sketch -solarize -splice -spread -stretch -strip \
-			-stroke -strokewidth -style -swap -swirl -taint \
-			-texture -threshold -thumbnail -tile -tile-offset \
-			-tint -transform -transparent -transparent-color \
-			-transpose -transverse -treedepth -trim -type \
-			-undercolor -unique-colors -units -unsharp -verbose \
-			-version -view -vignette -virtual-pixel -wave \
-			-weight -white-point -white-threshold \
-			-write' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+adjoin +append +compress \
-			+contrast +debug +dither +endian +gamma +label +map \
-			+mask +matte +negate +noise +page +raise +render \
-			+write' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-adaptive-blur -adaptive-resize \
+            -adaptive-sharpen -adjoin -affine -alpha -annotate \
+            -antialias -append -attenuate -authenticate \
+            -auto-orient -average -background -bench -bias \
+            -black-point-compensation -black-threshold \
+            -blue-primary -blur -border -bordercolor -caption \
+            -channel -charcoal -chop -clip -clip-mask -clip-path \
+            -clone -clut -coalesce -colorize -colors -colorspace \
+            -combine -comment -compose -composite -compress \
+            -contrast -contrast-stretch -convolve -crop -cycle \
+            -debug -decipher -deconstruct -define -delay -delete \
+            -density -depth -despeckle -display -dispose -distort \
+            -dither -draw -edge -emboss -encipher -encoding \
+            -endian -enhance -equalize -evaluate -extent -extract \
+            -family -fill -filter -flatten -flip -floodfill -flop \
+            -font -format -frame -fuzz -fx -gamma -gaussian-blur \
+            -geometry -gravity -green-primary -help -identify \
+            -implode -insert -intent -interlace -interpolate \
+            -label -lat -layers -level -limit -linear-stretch \
+            -liquid-rescale -list -log -loop -map -mask \
+            -mattecolor -median -modulate -monitor -monochrome \
+            -morph -mosaic -motion-blur -negate -noise -normalize \
+            -opaque -ordered-dither -orient -page -paint -ping \
+            -pointsize -polaroid -posterize -preview -print \
+            -process -profile -quality -quantize -quiet \
+            -radial-blur -raise -random-threshold -recolor \
+            -red-primary -regard-warnings -region -render -repage \
+            -resample -resize -respect-parenthesis -reverse -roll \
+            -rotate -sample -sampling-factor -scale -scene -seed \
+            -segment -separate -sepia-tone -set -shade -shadow \
+            -sharpen -shave -shear -sigmoidal-contrast -size \
+            -sketch -solarize -splice -spread -stretch -strip \
+            -stroke -strokewidth -style -swap -swirl -taint \
+            -texture -threshold -thumbnail -tile -tile-offset \
+            -tint -transform -transparent -transparent-color \
+            -transpose -transverse -treedepth -trim -type \
+            -undercolor -unique-colors -units -unsharp -verbose \
+            -version -view -vignette -virtual-pixel -wave \
+            -weight -white-point -white-threshold \
+            -write' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+adjoin +append +compress \
+            +contrast +debug +dither +endian +gamma +label +map \
+            +mask +matte +negate +noise +page +raise +render \
+            +write' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _convert $filenames convert
 
 _mogrify()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-adaptive-blur -adaptive-resize \
-			-adaptive-sharpen -adjoin -affine -alpha -annotate \
-			-antialias -attenuate -authenticate -auto-orient \
-			-background -bias -black-point-compensation \
-			-black-threshold -blue-primary -blur -border \
-			-bordercolor -caption -channel -charcoal -chop -clip \
-			-clip-mask -clip-path -clut -colorize -colors \
-			-colorspace -comment -compose -compress -contrast \
-			-contrast-stretch -convolve -cycle -debug -decipher \
-			-define -delay -density -depth -despeckle -display \
-			-dispose -distort -dither -draw -edge -emboss \
-			-encipher -encoding -endian -enhance -equalize \
-			-evaluate -extent -extract -family -fill -filter \
-			-flip -floodfill -flop -font -format -frame -fuzz \
-			-gamma -gaussian-blur -geometry -gravity \
-			-green-primary -help -identify -implode -intent \
-			-interlace -interpolate -label -lat -layers -level \
-			-limit -linear-stretch -liquid-rescale -list -log \
-			-loop -mask -mattecolor -median -modulate -monitor \
-			-monochrome -motion-blur -negate -noise -normalize \
-			-opaque -ordered-dither -orient -page -paint -path \
-			-ping -pointsize -polaroid -posterize -preview -print \
-			-profile -quality -quantize -quiet -radial-blur \
-			-raise -random-threshold -recolor -red-primary \
-			-regard-warnings -region -render -repage -resample \
-			-resize -roll -rotate -sample -sampling-factor -scale \
-			-scene -seed -segment -sepia-tone -set -shade -shadow \
-			-sharpen -shave -shear -sigmoidal-contrast -size \
-			-sketch -solarize -splice -spread -stretch -strip \
-			-stroke -strokewidth -style -swirl -taint -texture \
-			-threshold -thumbnail -tile -tile-offset -tint \
-			-transform -transparent -transparent-color -transpose \
-			-transverse -treedepth -trim -type -undercolor \
-			-unique-colors -units -unsharp -verbose -version \
-			-view -vignette -virtual-pixel -wave -weight \
-			-white-point -white-threshold' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+compress +contrast +debug +dither \
-			+endian +gamma +label +map +mask +matte +negate +page \
-			+raise' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-adaptive-blur -adaptive-resize \
+            -adaptive-sharpen -adjoin -affine -alpha -annotate \
+            -antialias -attenuate -authenticate -auto-orient \
+            -background -bias -black-point-compensation \
+            -black-threshold -blue-primary -blur -border \
+            -bordercolor -caption -channel -charcoal -chop -clip \
+            -clip-mask -clip-path -clut -colorize -colors \
+            -colorspace -comment -compose -compress -contrast \
+            -contrast-stretch -convolve -cycle -debug -decipher \
+            -define -delay -density -depth -despeckle -display \
+            -dispose -distort -dither -draw -edge -emboss \
+            -encipher -encoding -endian -enhance -equalize \
+            -evaluate -extent -extract -family -fill -filter \
+            -flip -floodfill -flop -font -format -frame -fuzz \
+            -gamma -gaussian-blur -geometry -gravity \
+            -green-primary -help -identify -implode -intent \
+            -interlace -interpolate -label -lat -layers -level \
+            -limit -linear-stretch -liquid-rescale -list -log \
+            -loop -mask -mattecolor -median -modulate -monitor \
+            -monochrome -motion-blur -negate -noise -normalize \
+            -opaque -ordered-dither -orient -page -paint -path \
+            -ping -pointsize -polaroid -posterize -preview -print \
+            -profile -quality -quantize -quiet -radial-blur \
+            -raise -random-threshold -recolor -red-primary \
+            -regard-warnings -region -render -repage -resample \
+            -resize -roll -rotate -sample -sampling-factor -scale \
+            -scene -seed -segment -sepia-tone -set -shade -shadow \
+            -sharpen -shave -shear -sigmoidal-contrast -size \
+            -sketch -solarize -splice -spread -stretch -strip \
+            -stroke -strokewidth -style -swirl -taint -texture \
+            -threshold -thumbnail -tile -tile-offset -tint \
+            -transform -transparent -transparent-color -transpose \
+            -transverse -treedepth -trim -type -undercolor \
+            -unique-colors -units -unsharp -verbose -version \
+            -view -vignette -virtual-pixel -wave -weight \
+            -white-point -white-threshold' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+compress +contrast +debug +dither \
+            +endian +gamma +label +map +mask +matte +negate +page \
+            +raise' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _mogrify $filenames mogrify
 
 _display()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-alpha -antialias -authenticate \
-			-auto-orient -backdrop -background -border \
-			-bordercolor -borderwidth -channel -clip \
-			-clip-path -coalesce -colormap -colors -colorspace \
-			-comment -compress -contrast -crop -debug -decipher \
-			-define -delay -density -depth -despeckle -display \
-			-dispose -dither -edge -endian -enhance -extract \
-			-filter -flatten -flip -flop -font -foreground \
-			-format -frame -gamma -geometry -help -iconGeometry \
-			-iconic -identify -immutable -interlace -interpolate \
-			-label -limit -list -log -loop -map -mattecolor \
-			-monitor -monochrome -name -negate -page -profile \
-			-quality -quantize -quiet -raise -regard-warnings \
-			-remote -repage -resample -resize \
-			-respect-parenthesis -roll -rotate -sample \
-			-sampling-factor -scenes -seed -segment -set \
-			-shared-memory -sharpen -size -strip -texture -title \
-			-transparent-color -treedepth -trim -update \
-			-usePixmap -verbose -version -virtual-pixel -visual \
-			-window -window-group -write' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+compress +contrast +debug +dither \
-			+endian +gamma +label +map +matte +negate +page \
-			+raise +write' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-alpha -antialias -authenticate \
+            -auto-orient -backdrop -background -border \
+            -bordercolor -borderwidth -channel -clip \
+            -clip-path -coalesce -colormap -colors -colorspace \
+            -comment -compress -contrast -crop -debug -decipher \
+            -define -delay -density -depth -despeckle -display \
+            -dispose -dither -edge -endian -enhance -extract \
+            -filter -flatten -flip -flop -font -foreground \
+            -format -frame -gamma -geometry -help -iconGeometry \
+            -iconic -identify -immutable -interlace -interpolate \
+            -label -limit -list -log -loop -map -mattecolor \
+            -monitor -monochrome -name -negate -page -profile \
+            -quality -quantize -quiet -raise -regard-warnings \
+            -remote -repage -resample -resize \
+            -respect-parenthesis -roll -rotate -sample \
+            -sampling-factor -scenes -seed -segment -set \
+            -shared-memory -sharpen -size -strip -texture -title \
+            -transparent-color -treedepth -trim -update \
+            -usePixmap -verbose -version -virtual-pixel -visual \
+            -window -window-group -write' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+compress +contrast +debug +dither \
+            +endian +gamma +label +map +matte +negate +page \
+            +raise +write' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _display $filenames display
 
 _animate()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-alpha -authenticate -backdrop \
-			-background -bordercolor -borderwidth -channel \
-			-coalesce -colormap -colors -colorspace -crop -debug \
-			-decipher -define -delay -density -depth -display \
-			-dispose -dither -extract -filter -flatten -font \
-			-foreground -format -gamma -geometry -help \
-			-iconGeometry -iconic -identify -immutable -interlace \
-			-interpolate -limit -list -log -loop -map -mattecolor \
-			-mattecolor -monitor -monochrome -name -page -pause \
-			-quantize -quiet -regard-warnings -remote -repage \
-			-resample -resize -respect-parenthesis -rotate \
-			-sampling-factor -scenes -seed -set -shared-memory \
-			-size -strip -title -transparent-color -treedepth \
-			-trim -verbose -version -virtual-pixel -visual \
-			-window' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+debug +dither +gamma +map +matte' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-alpha -authenticate -backdrop \
+            -background -bordercolor -borderwidth -channel \
+            -coalesce -colormap -colors -colorspace -crop -debug \
+            -decipher -define -delay -density -depth -display \
+            -dispose -dither -extract -filter -flatten -font \
+            -foreground -format -gamma -geometry -help \
+            -iconGeometry -iconic -identify -immutable -interlace \
+            -interpolate -limit -list -log -loop -map -mattecolor \
+            -mattecolor -monitor -monochrome -name -page -pause \
+            -quantize -quiet -regard-warnings -remote -repage \
+            -resample -resize -respect-parenthesis -rotate \
+            -sampling-factor -scenes -seed -set -shared-memory \
+            -size -strip -title -transparent-color -treedepth \
+            -trim -verbose -version -virtual-pixel -visual \
+            -window' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+debug +dither +gamma +map +matte' \
+            -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _animate $filenames animate
 
 _identify()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-alpha -antialias -authenticate \
-			-channel -colorspace -crop -debug -define -density \
-			-depth -extract -format -fuzz -gamma -help -interlace \
-			-interpolate -limit -list -log -monitor -ping -quiet \
-			-regard-warnings -respect-parenthesis \
-			-sampling-factor -seed -set -size -strip -units \
-			-verbose -version -virtual-pixel' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-alpha -antialias -authenticate \
+            -channel -colorspace -crop -debug -define -density \
+            -depth -extract -format -fuzz -gamma -help -interlace \
+            -interpolate -limit -list -log -monitor -ping -quiet \
+            -regard-warnings -respect-parenthesis \
+            -sampling-factor -seed -set -size -strip -units \
+            -verbose -version -virtual-pixel' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _identify $filenames identify
 
 _montage()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-adjoin -affine -alpha \
-			-authenticate -background -blue-primary -blur -border \
-			-bordercolor -borderwidth -caption -channel -clone \
-			-coalesce -colors -colorspace -comment -compose \
-			-compress -crop -debug -define -density -depth \
-			-display -dispose -dither -draw -encoding -endian \
-			-extract -fill -filter -flatten -flip -flop -font \
-			-format -frame -gamma -geometry -gravity \
-			-green-primary -help -identify -interlace \
-			-interpolate -label -limit -list -log -mattecolor \
-			-mode -monitor -monochrome -origin -page -pointsize \
-			-polaroid -profile -quality -quantize -quiet \
-			-red-primary -regard-warnings -repage -resize \
-			-respect-parenthesis -rotate -sampling-factor -scenes \
-			-seed -set -shadow -size -strip -stroke -texture \
-			-thumbnail -tile -title -transform -transparent \
-			-transparent-color -treedepth -trim -type -units \
-			-verbose -version -virtual-pixel \
-			-white-point' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+adjoin +compress +debug +dither \
-			+endian +gamma +label +matte +page' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-adjoin -affine -alpha \
+            -authenticate -background -blue-primary -blur -border \
+            -bordercolor -borderwidth -caption -channel -clone \
+            -coalesce -colors -colorspace -comment -compose \
+            -compress -crop -debug -define -density -depth \
+            -display -dispose -dither -draw -encoding -endian \
+            -extract -fill -filter -flatten -flip -flop -font \
+            -format -frame -gamma -geometry -gravity \
+            -green-primary -help -identify -interlace \
+            -interpolate -label -limit -list -log -mattecolor \
+            -mode -monitor -monochrome -origin -page -pointsize \
+            -polaroid -profile -quality -quantize -quiet \
+            -red-primary -regard-warnings -repage -resize \
+            -respect-parenthesis -rotate -sampling-factor -scenes \
+            -seed -set -shadow -size -strip -stroke -texture \
+            -thumbnail -tile -title -transform -transparent \
+            -transparent-color -treedepth -trim -type -units \
+            -verbose -version -virtual-pixel \
+            -white-point' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+adjoin +compress +debug +dither \
+            +endian +gamma +label +matte +page' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _montage $filenames montage
 
 _composite()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-affine -alpha -authenticate \
-			-blend -blue-primary -border -bordercolor -channel \
-			-colors -colorspace -comment -compose -compress \
-			-debug -decipher -define -density -depth -displace \
-			-display -dispose -dissolve -dither -encipher \
-			-encoding -endian -extract -filter -font -format \
-			-geometry -gravity -green-primary -help -identify \
-			-interlace -interpolate -label -limit -list -log \
-			-monitor -monochrome -negate -page -profile -quality \
-			-quantize -quiet -red-primary -regard-warnings \
-			-repage -resize -respect-parenthesis -rotate \
-			-sampling-factor -scene -seed -sharpen -shave -size \
-			-stegano -stereo -strip -swap -thumbnail -tile \
-			-transform -transparent-color -treedepth -type -units \
-			-unsharp -verbose -version -virtual-pixel -watermark \
-			-white-point -write' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+compress +debug +dither +endian +label \
-			+matte +negate +page +write' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-affine -alpha -authenticate \
+            -blend -blue-primary -border -bordercolor -channel \
+            -colors -colorspace -comment -compose -compress \
+            -debug -decipher -define -density -depth -displace \
+            -display -dispose -dissolve -dither -encipher \
+            -encoding -endian -extract -filter -font -format \
+            -geometry -gravity -green-primary -help -identify \
+            -interlace -interpolate -label -limit -list -log \
+            -monitor -monochrome -negate -page -profile -quality \
+            -quantize -quiet -red-primary -regard-warnings \
+            -repage -resize -respect-parenthesis -rotate \
+            -sampling-factor -scene -seed -sharpen -shave -size \
+            -stegano -stereo -strip -swap -thumbnail -tile \
+            -transform -transparent-color -treedepth -type -units \
+            -unsharp -verbose -version -virtual-pixel -watermark \
+            -white-point -write' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+compress +debug +dither +endian +label \
+            +matte +negate +page +write' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _composite $filenames composite
 
 _compare()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-alpha -authenticate -channel \
-			-colorspace -compress -debug -decipher -define \
-			-density -depth -encipher -extract -format -fuzz \
-			-help -highlight-color -identify -interlace -limit \
-			-list -log -metric -monitor -passphrase -profile \
-			-quality -quantize -quiet -regard-warnings \
-			-respect-parenthesis -sampling-factor -seed -set \
-			-size -transparent-color -type -verbose -version \
-			-virtual-pixel' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-alpha -authenticate -channel \
+            -colorspace -compress -debug -decipher -define \
+            -density -depth -encipher -extract -format -fuzz \
+            -help -highlight-color -identify -interlace -limit \
+            -list -log -metric -monitor -passphrase -profile \
+            -quality -quantize -quiet -regard-warnings \
+            -respect-parenthesis -sampling-factor -seed -set \
+            -size -transparent-color -type -verbose -version \
+            -virtual-pixel' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _compare $filenames compare
 
 _conjure()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-debug -help -list -log -monitor \
-			-quiet -regard-warnings -seed -verbose \
-			-version' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-debug -help -list -log -monitor -quiet \
+            -regard-warnings -seed -verbose -version' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _conjure $filenames conjure
 
 _import()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-adjoin -annotate -border -channel \
-			-colors -colorspace -comment -compress -crop -debug \
-			-define -delay -density -depth -descend -display \
-			-dispose -dither -encipher -encoding -endian -filter \
-			-format -frame -geometry -gravity -help -identify \
-			-interlace -interpolate -label -limit -list -log \
-			-monitor -monochrome -negate -page -pause -pointsize \
-			-quality -quantize -quiet -regard-warnings -repage \
-			-resize -respect-parenthesis -rotate -sampling-factor \
-			-scene -screen -seed -set -silent -snaps -strip \
-			-thumbnail -transparent -transparent-color -treedepth \
-			-trim -type -verbose -version -virtual-pixel \
-			-window' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-adjoin -annotate -border -channel \
+            -colors -colorspace -comment -compress -crop -debug \
+            -define -delay -density -depth -descend -display \
+            -dispose -dither -encipher -encoding -endian -filter \
+            -format -frame -geometry -gravity -help -identify \
+            -interlace -interpolate -label -limit -list -log \
+            -monitor -monochrome -negate -page -pause -pointsize \
+            -quality -quantize -quiet -regard-warnings -repage \
+            -resize -respect-parenthesis -rotate -sampling-factor \
+            -scene -screen -seed -set -silent -snaps -strip \
+            -thumbnail -transparent -transparent-color -treedepth \
+            -trim -type -verbose -version -virtual-pixel \
+            -window' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _import $filenames import
 
 _stream()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_ImageMagick
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-authenticate -channel -colorspace \
-			-compress -debug -define -density -depth -extract \
-			-help -identify -interlace -interpolate -limit -list \
-			-log -map -monitor -quantize -quiet -regard-warnings \
-			-respect-parenthesis -sampling-factor -seed -set \
-			-size -storage-type -transparent-color -verbose \
-			-version -virtual-pixel' -- "$cur" ) )
-	elif [[ "$cur" == +* ]]; then
-		COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _ImageMagick
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-authenticate -channel -colorspace \
+            -compress -debug -define -density -depth -extract \
+            -help -identify -interlace -interpolate -limit -list \
+            -log -map -monitor -quantize -quiet -regard-warnings \
+            -respect-parenthesis -sampling-factor -seed -set \
+            -size -storage-type -transparent-color -verbose \
+            -version -virtual-pixel' -- "$cur" ) )
+    elif [[ "$cur" == +* ]]; then
+        COMPREPLY=( $( compgen -W '+debug' -- "$cur" ) )
+    else
+        _filedir
+    fi
 }
 complete -F _stream $filenames stream
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/info b/contrib/info
index c90dafa..5d49145 100644
--- a/contrib/info
+++ b/contrib/info
@@ -3,56 +3,56 @@
 have info &&
 _info()
 {
-	local cur i infopath
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_expand || return 0
-
-	# default completion if parameter contains /
-	if [[ "$cur" == */* ]]; then
-		_filedir
-		return 0
-	fi
-
-	infopath='/usr/share/info'
-
-	if [ "${INFOPATH: -1:1}" == ':' ]; then
-		infopath=${INFOPATH}${infopath}
-	elif [ ${INFOPATH:+set} ]; then
-		infopath=$INFOPATH
-	fi
-
-	infopath=$infopath:
-	if [ -n "$cur" ]; then
-		infopath="${infopath//://$cur* }"
-	else
-		infopath="${infopath//:// }"
-	fi
-
-	# redirect stderr for when path doesn't exist
-	COMPREPLY=( $( eval command ls "$infopath" 2>/dev/null ) )
-	# weed out directory path names and paths to info pages
-	COMPREPLY=( ${COMPREPLY[@]##*/?(:)} )
-	# weed out info dir file
-	for (( i=0 ; i < ${#COMPREPLY[@]} ; ++i )); do
-		if [ "${COMPREPLY[$i]}" == 'dir' ]; then
-			unset COMPREPLY[$i];
-		fi;
-	done
-	# strip suffix from info pages
-	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|xz|lzma)} )
-	COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
-
-	return 0
+    local cur i infopath
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _expand || return 0
+
+    # default completion if parameter contains /
+    if [[ "$cur" == */* ]]; then
+        _filedir
+        return 0
+    fi
+
+    infopath='/usr/share/info'
+
+    if [ "${INFOPATH: -1:1}" == ':' ]; then
+        infopath=${INFOPATH}${infopath}
+    elif [ ${INFOPATH:+set} ]; then
+        infopath=$INFOPATH
+    fi
+
+    infopath=$infopath:
+    if [ -n "$cur" ]; then
+        infopath="${infopath//://$cur* }"
+    else
+        infopath="${infopath//:// }"
+    fi
+
+    # redirect stderr for when path doesn't exist
+    COMPREPLY=( $( eval command ls "$infopath" 2>/dev/null ) )
+    # weed out directory path names and paths to info pages
+    COMPREPLY=( ${COMPREPLY[@]##*/?(:)} )
+    # weed out info dir file
+    for (( i=0 ; i < ${#COMPREPLY[@]} ; ++i )); do
+        if [ "${COMPREPLY[$i]}" == 'dir' ]; then
+            unset COMPREPLY[$i];
+        fi;
+    done
+    # strip suffix from info pages
+    COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|xz|lzma)} )
+    COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
+
+    return 0
 } &&
 complete -F _info $filenames info
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/ipmitool b/contrib/ipmitool
index 177c2cb..3862491 100644
--- a/contrib/ipmitool
+++ b/contrib/ipmitool
@@ -3,39 +3,37 @@
 have ipmitool &&
 _ipmitool()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-I)
-			COMPREPLY=( $( compgen -W 'open imb lan lanplus free' \
-				-- "$cur" ) )
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -I)
+            COMPREPLY=( $( compgen -W 'open imb lan lanplus free' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-h -V -v -c -d -I -H -p -U -f -S -a \
-			-e -C -k -y -K -A -P -E -K -m -b -r -B -T -l -o -O' \
-			-- "$cur" ) )
-	else
-		COMPREPLY=( $( compgen -W 'raw i2c spd lan chassis power event \
-			mc sdr sensor fru gendev sel pef sol tsol isol user \
-			channel session sunoem kontronoem picmg fwum firewall \
-			exec set hpm ekanalyzer' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-h -V -v -c -d -I -H -p -U -f -S -a \
+            -e -C -k -y -K -A -P -E -K -m -b -r -B -T -l -o -O' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W 'raw i2c spd lan chassis power event \
+            mc sdr sensor fru gendev sel pef sol tsol isol user \
+            channel session sunoem kontronoem picmg fwum firewall \
+            exec set hpm ekanalyzer' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _ipmitool ipmitool
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/iptables b/contrib/iptables
index 0b8c59f..849fd54 100644
--- a/contrib/iptables
+++ b/contrib/iptables
@@ -3,68 +3,68 @@
 have iptables &&
 _iptables()
 {
-	local cur prev table chain
+    local cur prev table chain
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	chain='s/^Chain \([^ ]\+\).*$/\1/p'
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    chain='s/^Chain \([^ ]\+\).*$/\1/p'
 
-	if [[ $COMP_LINE == *-t\ *filter* ]]; then
-		table="-t filter"
-	elif [[ $COMP_LINE == *-t\ *nat* ]]; then
-		table="-t nat"
-	elif [[ $COMP_LINE == *-t\ *mangle* ]]; then
-		table="-t mangle"
-	fi
+    if [[ $COMP_LINE == *-t\ *filter* ]]; then
+        table="-t filter"
+    elif [[ $COMP_LINE == *-t\ *nat* ]]; then
+        table="-t nat"
+    elif [[ $COMP_LINE == *-t\ *mangle* ]]; then
+        table="-t mangle"
+    fi
 
-	_split_longopt
+    _split_longopt
 
-	case "$prev" in
-	-*[AIDRPFXLZ])
-		COMPREPLY=( $( compgen -W '`iptables $table -nL | \
-			    sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- "$cur" ) )
-		;;
-	-*t)
-		COMPREPLY=( $( compgen -W 'nat filter mangle' -- "$cur" ) )
-		;;
-	-j)
-		if [ "$table" = "-t filter" -o "$table" = "" ]; then
-		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
-		    `iptables $table -nL | sed -ne "$chain" \
-		    -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
-		    "$cur" ) )
-		elif [ "$table" = "-t nat" ]; then
-		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
-		    MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \
-		    sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' \
-		    -- "$cur" ) )
-		elif [ "$table" = "-t mangle" ]; then
-		    COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
-		    MARK TOS `iptables $table -nL | sed -ne "$chain" \
-		    -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
-		    "$cur" ) )
-		fi
-		;;
-	*)
-		if [[ "$cur" == -* ]]; then
-		    COMPREPLY=( $( compgen -W '-i -o -s -d -p -f -m --append \
-		    --delete --insert --replace --list --flush --zero --new \
-		    --delete-chain --policy --rename-chain --proto --source \
-		    --destination --in-interface --jump --match --numeric \
-		    --out-interface --table --verbose --line-numbers --exact \
-		    --fragment --modprobe --set-counters --version' -- "$cur") )
-		fi
-		;;
-	esac
+    case "$prev" in
+    -*[AIDRPFXLZ])
+        COMPREPLY=( $( compgen -W '`iptables $table -nL | \
+                sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- "$cur" ) )
+        ;;
+    -*t)
+        COMPREPLY=( $( compgen -W 'nat filter mangle' -- "$cur" ) )
+        ;;
+    -j)
+        if [ "$table" = "-t filter" -o "$table" = "" ]; then
+            COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+                `iptables $table -nL | sed -ne "$chain" \
+                -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
+                "$cur" ) )
+        elif [ "$table" = "-t nat" ]; then
+            COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+                MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \
+                sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' \
+                -- "$cur" ) )
+        elif [ "$table" = "-t mangle" ]; then
+            COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+                MARK TOS `iptables $table -nL | sed -ne "$chain" \
+                -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
+                "$cur" ) )
+        fi
+        ;;
+    *)
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-i -o -s -d -p -f -m --append \
+                --delete --insert --replace --list --flush --zero --new \
+                --delete-chain --policy --rename-chain --proto --source \
+                --destination --in-interface --jump --match --numeric \
+                --out-interface --table --verbose --line-numbers --exact \
+                --fragment --modprobe --set-counters --version' -- "$cur") )
+        fi
+        ;;
+    esac
 
 } &&
 complete -F _iptables iptables
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/isql b/contrib/isql
index 60b6868..ff4ad88 100644
--- a/contrib/isql
+++ b/contrib/isql
@@ -3,17 +3,18 @@
 have isql &&
 _isql()
 {
-	local cur
-	cur=`_get_cword`
+    local cur
+    cur=`_get_cword`
 
-	[ -f "$ODBCINI" ] && COMPREPLY=( $( grep \\["$cur" "$ODBCINI" | tr -d \\[\\] ) )
+    [ -f "$ODBCINI" ] \
+        && COMPREPLY=( $( grep \\["$cur" "$ODBCINI" | tr -d \\[\\] ) )
 } &&
 complete -F _isql isql
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/jar b/contrib/jar
index 6aed117..6ef632b 100644
--- a/contrib/jar
+++ b/contrib/jar
@@ -3,34 +3,34 @@
 have jar &&
 _jar()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD = 1 ]; then
-		COMPREPLY=( $( compgen -W 'c t x u' -- "$cur" ) )
-		return 0
-	fi
+    if [ $COMP_CWORD = 1 ]; then
+        COMPREPLY=( $( compgen -W 'c t x u' -- "$cur" ) )
+        return 0
+    fi
 
-	case "${COMP_WORDS[1]}" in
-		*c*f)
-			_filedir
-			;;
-		*f)
-			_filedir '?([ejw]ar|zip|[EJW]AR|ZIP)'
-			;;
-		*)
-			_filedir
-			;;
-	esac
+    case "${COMP_WORDS[1]}" in
+        *c*f)
+            _filedir
+            ;;
+        *f)
+            _filedir '?([ejw]ar|zip|[EJW]AR|ZIP)'
+            ;;
+        *)
+            _filedir
+            ;;
+    esac
 } &&
 complete -F _jar $filenames jar
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/java b/contrib/java
index b2366f1..9b8c95d 100644
--- a/contrib/java
+++ b/contrib/java
@@ -4,168 +4,168 @@
 have java && {
 _java_path()
 {
-	cur=${cur##*:}
-	_filedir '@(jar|zip)'
+    cur=${cur##*:}
+    _filedir '@(jar|zip)'
 }
 
 # exact classpath determination
 _java_find_classpath()
 {
-	local i
+    local i
 
-	# search first in current options
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == -@(cp|classpath) ]]; then
-			classpath=${COMP_WORDS[i+1]}
-			break
-		fi
-	done
+    # search first in current options
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == -@(cp|classpath) ]]; then
+            classpath=${COMP_WORDS[i+1]}
+            break
+        fi
+    done
 
-	# default to environment
-	[ -z "$classpath" ] && classpath=$CLASSPATH
+    # default to environment
+    [ -z "$classpath" ] && classpath=$CLASSPATH
 
-	# default to current directory
-	[ -z "$classpath" ] && classpath=.
+    # default to current directory
+    [ -z "$classpath" ] && classpath=.
 }
 
 # exact sourcepath determination
 _java_find_sourcepath()
 {
-	local i
-
-	# search first in current options
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == -sourcepath ]]; then
-			sourcepath=${COMP_WORDS[i+1]}
-			break
-		fi
-	done
-
-	# default to classpath
-	if [ -z "$sourcepath" ]; then
-		_java_find_classpath
-		sourcepath=$classpath
-	fi
+    local i
+
+    # search first in current options
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == -sourcepath ]]; then
+            sourcepath=${COMP_WORDS[i+1]}
+            break
+        fi
+    done
+
+    # default to classpath
+    if [ -z "$sourcepath" ]; then
+        _java_find_classpath
+        sourcepath=$classpath
+    fi
 }
 
 # available classes completion
 _java_classes()
 {
-	local classpath i
-
-	# find which classpath to use
-	_java_find_classpath
-
-	# convert package syntax to path syntax
-	cur=${cur//.//}
-	# parse each classpath element for classes
-	for i in ${classpath//:/ }; do
-		if [ -r $i ] && [[ "$i" == *.@(jar|zip) ]]; then
-			if type zipinfo &>/dev/null; then
-				COMPREPLY=( "${COMPREPLY[@]}" $( zipinfo -1 \
-					"$i" "$cur*" 2>/dev/null | \
-					grep '^[^$]*\.class$' ) )
-			else
-				COMPREPLY=( "${COMPREPLY[@]}" $( jar tf "$i" \
-					"$cur" | grep '^[^$]*\.class$' ) )
-			fi
-
-		elif [ -d $i ]; then
-			i=${i%/}
-
-			# See Debian bug #496828
-			COMPREPLY=( "${COMPREPLY[@]}" $( find "$i" -type f \
-			-maxdepth 1 -path "$i/$cur*.class" 2>/dev/null | \
-			grep -v "\\$" | sed -e "s|^$i/||" ) )
-
-			# FIXME: if we have foo.class and foo/, the completion
-			# returns "foo/"... how to give precedence to files
-			# over directories?
-		fi
-	done
-
-	# remove class extension
-	COMPREPLY=( ${COMPREPLY[@]%.class} )
-	# convert path syntax to package syntax
-	COMPREPLY=( ${COMPREPLY[@]//\//.} )
+    local classpath i
+
+    # find which classpath to use
+    _java_find_classpath
+
+    # convert package syntax to path syntax
+    cur=${cur//.//}
+    # parse each classpath element for classes
+    for i in ${classpath//:/ }; do
+        if [ -r $i ] && [[ "$i" == *.@(jar|zip) ]]; then
+            if type zipinfo &>/dev/null; then
+                COMPREPLY=( "${COMPREPLY[@]}" $( zipinfo -1 \
+                    "$i" "$cur*" 2>/dev/null | \
+                    grep '^[^$]*\.class$' ) )
+            else
+                COMPREPLY=( "${COMPREPLY[@]}" $( jar tf "$i" \
+                    "$cur" | grep '^[^$]*\.class$' ) )
+            fi
+
+        elif [ -d $i ]; then
+            i=${i%/}
+
+            # See Debian bug #496828
+            COMPREPLY=( "${COMPREPLY[@]}" $( find "$i" -type f \
+                -maxdepth 1 -path "$i/$cur*.class" 2>/dev/null | \
+                grep -v "\\$" | sed -e "s|^$i/||" ) )
+
+            # FIXME: if we have foo.class and foo/, the completion
+            # returns "foo/"... how to give precedence to files
+            # over directories?
+        fi
+    done
+
+    # remove class extension
+    COMPREPLY=( ${COMPREPLY[@]%.class} )
+    # convert path syntax to package syntax
+    COMPREPLY=( ${COMPREPLY[@]//\//.} )
 }
 
 # available packages completion
 _java_packages()
 {
-	local sourcepath i
-
-	# find which sourcepath to use
-	_java_find_sourcepath
-
-	# convert package syntax to path syntax
-	cur=${cur//.//}
-	# parse each sourcepath element for packages
-	for i in ${sourcepath//:/ }; do
-		if [ -d $i ]; then
-			COMPREPLY=( "${COMPREPLY[@]}" $( command ls -F -d \
-				$i/$cur* 2>/dev/null | sed -e 's|^'$i'/||' ) )
-		fi
-	done
-	# keep only packages
-	COMPREPLY=( $( echo "${COMPREPLY[@]}" | tr " " "\n" | grep "/$" ) )
-	# remove packages extension
-	COMPREPLY=( ${COMPREPLY[@]%/} )
-	# convert path syntax to package syntax
-	cur=${COMPREPLY[@]//\//.}
+    local sourcepath i
+
+    # find which sourcepath to use
+    _java_find_sourcepath
+
+    # convert package syntax to path syntax
+    cur=${cur//.//}
+    # parse each sourcepath element for packages
+    for i in ${sourcepath//:/ }; do
+        if [ -d $i ]; then
+            COMPREPLY=( "${COMPREPLY[@]}" $( command ls -F -d \
+                $i/$cur* 2>/dev/null | sed -e 's|^'$i'/||' ) )
+        fi
+    done
+    # keep only packages
+    COMPREPLY=( $( echo "${COMPREPLY[@]}" | tr " " "\n" | grep "/$" ) )
+    # remove packages extension
+    COMPREPLY=( ${COMPREPLY[@]%/} )
+    # convert path syntax to package syntax
+    cur=${COMPREPLY[@]//\//.}
 }
 
 # java completion
 #
 _java()
 {
-	local cur prev i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	for ((i=1; i < $COMP_CWORD; i++)); do
-		case ${COMP_WORDS[$i]} in
-		    -cp|-classpath)
-			((i++))	# skip the classpath string.
-			;;
-		    -*)
-			# this is an option, not a class/jarfile name.
-			;;
-		    *)
-			# once we've seen a class, just do filename completion
-			_filedir
-			return 0
-			;;
-		esac
-	done
-
-	case $prev in
-		-@(cp|classpath))
-			_java_path
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		# relevant options completion
-		COMPREPLY=( $( compgen -W '-client -hotspot -server -classic \
-				-cp -classpath -D -verbose -verbose:class \
-				-verbose:gc -version:jni -version \
-				-showversion -? -help -X -jar \
-				-ea -enableassertions -da -disableassertions \
-				-esa -enablesystemassertions \
-				-dsa -disablesystemassertions ' -- "$cur" ) )
-	else
-		if [[ "$prev" == -jar ]]; then
-			# jar file completion
-			_filedir jar
-		else
-			# classes completion
-			_java_classes
-		fi
-	fi
+    local cur prev i
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    for ((i=1; i < $COMP_CWORD; i++)); do
+        case ${COMP_WORDS[$i]} in
+            -cp|-classpath)
+            ((i++)) # skip the classpath string.
+            ;;
+            -*)
+            # this is an option, not a class/jarfile name.
+            ;;
+            *)
+            # once we've seen a class, just do filename completion
+            _filedir
+            return 0
+            ;;
+        esac
+    done
+
+    case $prev in
+        -@(cp|classpath))
+            _java_path
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        # relevant options completion
+        COMPREPLY=( $( compgen -W '-client -hotspot -server -classic \
+            -cp -classpath -D -verbose -verbose:class \
+            -verbose:gc -version:jni -version \
+            -showversion -? -help -X -jar \
+            -ea -enableassertions -da -disableassertions \
+            -esa -enablesystemassertions \
+            -dsa -disablesystemassertions ' -- "$cur" ) )
+    else
+        if [[ "$prev" == -jar ]]; then
+            # jar file completion
+            _filedir jar
+        else
+            # classes completion
+            _java_classes
+        fi
+    fi
 }
 complete -F _java $filenames java
 }
@@ -173,89 +173,88 @@ complete -F _java $filenames java
 have javadoc &&
 _javadoc()
 {
-	COMPREPLY=()
-	local cur prev
-
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-@(overview|helpfile|stylesheetfile))
-			_filedir
-			return 0
-			;;
-		-d)
-			_filedir -d
-			return 0
-			;;
-		-@(classpath|bootclasspath|docletpath|sourcepath|extdirs))
-			_java_path
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		# relevant options completion
-		COMPREPLY=( $( compgen -W '-overview -public -protected \
-				-package -private -help -doclet -docletpath \
-				-sourcepath -classpath -exclude -subpackages \
-				-breakiterator -bootclasspath -source -extdirs \
-				-verbose -locale -encoding -J -d -use -version \
-				-author -docfilessubdirs -splitindex \
-				-windowtitle -doctitle -header -footer -bottom \
-				-link -linkoffline -excludedocfilessubdir \
-				-group -nocomment -nodeprecated -noqualifier \
-				-nosince -nodeprecatedlist -notree -noindex \
-				-nohelp -nonavbar -quiet -serialwarn -tag \
-				-taglet -tagletpath -charset -helpfile \
-				-linksource -stylesheetfile -docencoding' -- \
-				"$cur" ) )
-	else
-		# source files completion
-		_filedir java
-		# packages completion
-		_java_packages
-	fi
+    COMPREPLY=()
+    local cur prev
+
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -@(overview|helpfile|stylesheetfile))
+            _filedir
+            return 0
+            ;;
+        -d)
+            _filedir -d
+            return 0
+            ;;
+        -@(classpath|bootclasspath|docletpath|sourcepath|extdirs))
+            _java_path
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        # relevant options completion
+        COMPREPLY=( $( compgen -W '-overview -public -protected \
+            -package -private -help -doclet -docletpath \
+            -sourcepath -classpath -exclude -subpackages \
+            -breakiterator -bootclasspath -source -extdirs \
+            -verbose -locale -encoding -J -d -use -version \
+            -author -docfilessubdirs -splitindex \
+            -windowtitle -doctitle -header -footer -bottom \
+            -link -linkoffline -excludedocfilessubdir \
+            -group -nocomment -nodeprecated -noqualifier \
+            -nosince -nodeprecatedlist -notree -noindex \
+            -nohelp -nonavbar -quiet -serialwarn -tag \
+            -taglet -tagletpath -charset -helpfile \
+            -linksource -stylesheetfile -docencoding' -- "$cur" ) )
+    else
+        # source files completion
+        _filedir java
+        # packages completion
+        _java_packages
+    fi
 } &&
 complete -F _javadoc $filenames javadoc
 
 have javac &&
 _javac()
 {
-	COMPREPLY=()
-	local cur prev
-
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-d)
-			_filedir -d
-			return 0
-			;;
-		-@(classpath|bootclasspath|sourcepath|extdirs))
-			_java_path
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		# relevant options completion
-		COMPREPLY=( $( compgen -W '-g -g:none -g:lines -g:vars\
-		-g:source -O -nowarn -verbose -deprecation -classpath\
-		-sourcepath -bootclasspath -extdirs -d -encoding -source\
-		-target -help' -- "$cur" ) )
-	else
-		# source files completion
-		_filedir java
-	fi
+    COMPREPLY=()
+    local cur prev
+
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -d)
+            _filedir -d
+            return 0
+            ;;
+        -@(classpath|bootclasspath|sourcepath|extdirs))
+            _java_path
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        # relevant options completion
+        COMPREPLY=( $( compgen -W '-g -g:none -g:lines -g:vars\
+            -g:source -O -nowarn -verbose -deprecation -classpath\
+            -sourcepath -bootclasspath -extdirs -d -encoding -source\
+            -target -help' -- "$cur" ) )
+    else
+        # source files completion
+        _filedir java
+    fi
 } &&
 complete -F _javac $filenames javac
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/kldload b/contrib/kldload
index 2a79193..36207af 100644
--- a/contrib/kldload
+++ b/contrib/kldload
@@ -5,25 +5,25 @@
 
 _kldload()
 {
-	local cur moddir
+    local cur moddir
 
-	moddir=/modules/
-	[ -d $moddir ] || moddir=/boot/kernel/
-	cur=`_get_cword`
+    moddir=/modules/
+    [ -d $moddir ] || moddir=/boot/kernel/
+    cur=`_get_cword`
 
-	COMPREPLY=( $( compgen -f "$moddir$cur" ) )
-	COMPREPLY=( ${COMPREPLY[@]#$moddir} )
-	COMPREPLY=( ${COMPREPLY[@]%.ko} )
+    COMPREPLY=( $( compgen -f "$moddir$cur" ) )
+    COMPREPLY=( ${COMPREPLY[@]#$moddir} )
+    COMPREPLY=( ${COMPREPLY[@]%.ko} )
 
-	return 0
+    return 0
 }
 complete -F _kldload $filenames kldload
 
 _kldunload()
 {
-	local cur
-	cur=`_get_cword`
-	COMPREPLY=( $(kldstat | sed -ne "s/^.*[ \t]\+\($cur[a-z_]\+\).ko$/\1/p") )
+    local cur
+    cur=`_get_cword`
+    COMPREPLY=( $(kldstat | sed -ne "s/^.*[ \t]\+\($cur[a-z_]\+\).ko$/\1/p") )
 }
 complete -F _kldunload $filenames kldunload
 
@@ -31,8 +31,8 @@ complete -F _kldunload $filenames kldunload
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/larch b/contrib/larch
index c428983..c3a5519 100644
--- a/contrib/larch
+++ b/contrib/larch
@@ -3,43 +3,47 @@
 have larch &&
 _larch()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	if [ $COMP_CWORD -eq 1 ] || [[ "$prev" == -* ]]; then
-		COMPREPLY=( $( compgen -W ' \
-my-id my-default-archive register-archive whereis-archive archives          \
-init-tree tree-root tree-version set-tree-version inventory tagging-method  \
-tree-lint missing-tags add delete move explicit-default set-manifest        \
-manifest check-manifest mkpatch dopatch patch-report empty-patch            \
-make-archive make-category make-branch make-version categories              \
-branches versions revisions cat-archive-log archive-cache-revision          \
-archive-cached-revisions archive-uncache-revision category-readme           \
-branch-readme version-readme make-log logs add-log log-ls cat-log           \
-log-header-field changelog log-for-merge merge-points new-on-branch         \
-import commit get get-patch lock-branch lock-revision push-mirror           \
-build-config update-config replay-config record-config show-config          \
-config-history update replay delta-patch star-merge tag prepare-branch      \
-finish-branch join-branch whats-missing what-changed file-diffs pristines   \
-lock-pristine my-revision-library library-find library-add library-remove   \
-library-archives library-categories library-branches library-versions       \
-library-revisions library-log library-file touched-files-prereqs            \
-patch-set-web update-distributions distribution-name notify my-notifier     \
-mail-new-categories mail-new-branches mail-new-versions mail-new-revisions  \
-notify-library notify-browser push-new-revisions sendmail-mailx' "$cur" ))
-	fi
+    if [ $COMP_CWORD -eq 1 ] || [[ "$prev" == -* ]]; then
+        COMPREPLY=( $( compgen -W ' \
+            my-id my-default-archive register-archive whereis-archive archives \
+            init-tree tree-root tree-version set-tree-version inventory \
+            tagging-method tree-lint missing-tags add delete \
+            move explicit-default set-manifest manifest check-manifest mkpatch \
+            dopatch patch-report empty-patch make-archive make-category \
+            make-branch make-version categories branches versions revisions \
+            cat-archive-log archive-cache-revision archive-cached-revisions \
+            archive-uncache-revision category-readme branch-readme \
+            version-readme make-log logs add-log log-ls cat-log \
+            log-header-field changelog log-for-merge merge-points \
+            new-on-branch import commit get get-patch lock-branch \
+            lock-revision push-mirror build-config update-config replay-config \
+            record-config show-config config-history update replay delta-patch \
+            star-merge tag prepare-branch finish-branch join-branch \
+            whats-missing what-changed file-diffs pristines lock-pristine \
+            my-revision-library library-find library-add library-remove \
+            library-archives library-categories library-branches \
+            library-versions library-revisions library-log library-file \
+            touched-files-prereqs patch-set-web update-distributions \
+            distribution-name notify my-notifier mail-new-categories \
+            mail-new-branches mail-new-versions mail-new-revisions \
+            notify-library notify-browser push-new-revisions sendmail-mailx' \
+            "$cur" ))
+    fi
 
-	return 0
+    return 0
 } &&
 complete -F _larch $default larch
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/ldapvi b/contrib/ldapvi
index da9cd51..e006f56 100644
--- a/contrib/ldapvi
+++ b/contrib/ldapvi
@@ -3,73 +3,71 @@
 have ldapvi &&
 _ldapvi()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(h|-host))
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-@(Y|-sasl-mech))
-			COMPREPLY=( $( compgen -W 'EXTERNAL GSSAPI DIGEST-MD5 \
-				CRAM-MD5 PLAIN ANONYMOUS' -- "$cur" ) )
-			return 0
-			;;
-		--bind)
-			COMPREPLY=( $( compgen -W 'simple sasl' -- "$cur" ) )
-			return 0
-			;;
-		--bind-dialog)
-			COMPREPLY=( $( compgen -W 'never auto always' \
-				-- $cur ) )
-			return 0
-			;;
-		--scope)
-			COMPREPLY=( $( compgen -W 'base one sub' -- "$cur" ) )
-			return 0
-			;;
-		--deref)
-			COMPREPLY=( $( compgen -W 'never searching finding \
-				always' -- "$cur" ) )
-			return 0
-			;;
-		--encoding)
-			COMPREPLY=( $( compgen -W 'ASCII UTF-8 binary' \
-				-- "$cur" ) )
-			return 0
-			;;
-		--tls)
-			COMPREPLY=( $( compgen -W 'never allow try strict' \
-				-- "$cur" ) )
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(h|-host))
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -@(Y|-sasl-mech))
+            COMPREPLY=( $( compgen -W 'EXTERNAL GSSAPI DIGEST-MD5 \
+                CRAM-MD5 PLAIN ANONYMOUS' -- "$cur" ) )
+            return 0
+            ;;
+        --bind)
+            COMPREPLY=( $( compgen -W 'simple sasl' -- "$cur" ) )
+            return 0
+            ;;
+        --bind-dialog)
+            COMPREPLY=( $( compgen -W 'never auto always' -- $cur ) )
+            return 0
+            ;;
+        --scope)
+            COMPREPLY=( $( compgen -W 'base one sub' -- "$cur" ) )
+            return 0
+            ;;
+        --deref)
+            COMPREPLY=( $( compgen -W 'never searching finding always' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        --encoding)
+            COMPREPLY=( $( compgen -W 'ASCII UTF-8 binary' -- "$cur" ) )
+            return 0
+            ;;
+        --tls)
+            COMPREPLY=( $( compgen -W 'never allow try strict' \
+                -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--discover --out --in --delete \
-			--rename -h --host -D --user -w --password --bind \
-			--bind-dialog -I --sasl-interactive --bind-dialog -O \
-			--sasl-secprops -Q --sasl-quiet -R --sasl-realm -U \
-			--sasl-authcid -X --sasl-authzid -Y --sasl-mech -b \
-			--base -s --scope -S --sort --add -o --class --config \
-			-c --continue --deleteoldrdn -a --deref -d --discover \
-			-A --empty --ncoding -H --help --ldap-conf -m --may -M \
-			--managedsait --noquestions -! --noninteractive -q \
-			--quiet -R --read -Z --starttls --tls -v --verbose \
-			--ldapsearch --ldapmodify --ldapdelete --ldapmoddn' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--discover --out --in --delete \
+            --rename -h --host -D --user -w --password --bind \
+            --bind-dialog -I --sasl-interactive --bind-dialog -O \
+            --sasl-secprops -Q --sasl-quiet -R --sasl-realm -U \
+            --sasl-authcid -X --sasl-authzid -Y --sasl-mech -b \
+            --base -s --scope -S --sort --add -o --class --config \
+            -c --continue --deleteoldrdn -a --deref -d --discover \
+            -A --empty --ncoding -H --help --ldap-conf -m --may -M \
+            --managedsait --noquestions -! --noninteractive -q \
+            --quiet -R --read -Z --starttls --tls -v --verbose \
+            --ldapsearch --ldapmodify --ldapdelete --ldapmoddn' \
+            -- "$cur" ) )
+    fi
 } &&
 complete -F _ldapvi ldapvi
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/lftp b/contrib/lftp
index ef95fc2..feb8af6 100644
--- a/contrib/lftp
+++ b/contrib/lftp
@@ -3,24 +3,24 @@
 have lftp &&
 _lftp()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD -eq 1 ] && [ -f ~/.lftp/bookmarks ]; then
-	    COMPREPLY=( $( compgen -W '$( sed -ne "s/^\(.*\)'$'\t''.*$/\1/p" \
-			   ~/.lftp/bookmarks )' -- "$cur" ) )
-	fi
+    if [ $COMP_CWORD -eq 1 ] && [ -f ~/.lftp/bookmarks ]; then
+        COMPREPLY=( $( compgen -W '$( sed -ne "s/^\(.*\)'$'\t''.*$/\1/p" \
+            ~/.lftp/bookmarks )' -- "$cur" ) )
+    fi
 
-	return 0
+    return 0
 } &&
 complete -F _lftp $default lftp
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/lilo b/contrib/lilo
index 7921b68..afff372 100644
--- a/contrib/lilo
+++ b/contrib/lilo
@@ -3,60 +3,59 @@
 have lilo && {
 _lilo_labels()
 {
-	COMPREPLY=( $( compgen -W "$( awk -F'=' '/label/ {print $2}' \
-		/etc/lilo.conf | sed -e 's/\"//g' )" -- "$cur" ) )
+    COMPREPLY=( $( compgen -W "$( awk -F'=' '/label/ {print $2}' \
+        /etc/lilo.conf | sed -e 's/\"//g' )" -- "$cur" ) )
 }
 
 _lilo()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-@(C|i|m|s|S))
-			_filedir
-			return 0
-			;;
-		-r)
-			_filedir -d
-			return 0
-			;;
-		-@(I|D|R))
-			# label completion
-			_lilo_labels
-			return 0
-			;;
-		-@(A|b|M|u|U))
-			# device completion
-			cur=${cur:=/dev/}
-			_filedir
-			return 0
-			;;
-		-T)
-			# topic completion
-			COMPREPLY=( $( compgen -W 'help ChRul EBDA geom geom= \
-					table= video' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        -@(C|i|m|s|S))
+            _filedir
+            return 0
+            ;;
+        -r)
+            _filedir -d
+            return 0
+            ;;
+        -@(I|D|R))
+            # label completion
+            _lilo_labels
+            return 0
+            ;;
+        -@(A|b|M|u|U))
+            # device completion
+            cur=${cur:=/dev/}
+            _filedir
+            return 0
+            ;;
+        -T)
+            # topic completion
+            COMPREPLY=( $( compgen -W 'help ChRul EBDA geom geom= \
+                table= video' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		# relevant options completion
-		COMPREPLY=( $( compgen -W '-A -b -c -C -d -f -g -i -I -l -L -m \
-			-M -p -P -q -r -R -s -S -t -T -u -U -v -V -w -x -z' -- \
-			"$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        # relevant options completion
+        COMPREPLY=( $( compgen -W '-A -b -c -C -d -f -g -i -I -l -L -m \
+            -M -p -P -q -r -R -s -S -t -T -u -U -v -V -w -x -z' -- "$cur" ) )
+    fi
 }
 complete -F _lilo lilo
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/lilypond b/contrib/lilypond
index ae45de2..af8ac12 100644
--- a/contrib/lilypond
+++ b/contrib/lilypond
@@ -4,8 +4,8 @@ complete -f -X '!*.ly' lilypond ly2dvi
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/links b/contrib/links
index e480a72..b2b41cf 100644
--- a/contrib/links
+++ b/contrib/links
@@ -3,42 +3,41 @@
 have links &&
 _links()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	case "$cur" in
-	    --*)
-		COMPREPLY=( $( compgen -W '--help' -- "$cur" ) )
-		;;
-	    -*)
-		COMPREPLY=( $( compgen -W '-async-dns -max-connections \
-				-max-connections-to-host -retries \
-				-receive-timeout -unrestartable-receive-timeout\
-				-format-cache-size -memory-cache-size \
-				-http-proxy -ftp-proxy -download-dir \
-				-assume-codepage -anonymous -dump -no-connect \
-				-source -version -help' -- "$cur" ) )
-		;;
-	    *)
-		if [ -r ~/.links/links.his ]; then
-		    COMPREPLY=( $( compgen -W '$( < ~/.links/links.his )' \
-				   -- "$cur" ) )
-		fi
-				_filedir '@(htm|html)'
-				return 0
-		;;
-	esac
+    case "$cur" in
+        --*)
+            COMPREPLY=( $( compgen -W '--help' -- "$cur" ) )
+            ;;
+        -*)
+            COMPREPLY=( $( compgen -W '-async-dns -max-connections \
+                -max-connections-to-host -retries -receive-timeout \
+                -unrestartable-receive-timeout -format-cache-size \
+                -memory-cache-size -http-proxy -ftp-proxy -download-dir \
+                -assume-codepage -anonymous -dump -no-connect \
+                -source -version -help' -- "$cur" ) )
+                ;;
+        *)
+            if [ -r ~/.links/links.his ]; then
+                COMPREPLY=( $( compgen -W '$( < ~/.links/links.his )' \
+                    -- "$cur" ) )
+            fi
+            _filedir '@(htm|html)'
+            return 0
+            ;;
+    esac
 
-	return 0
+    return 0
 } &&
 complete -F _links $filenames links
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/lisp b/contrib/lisp
index 40f4171..cf9e2f8 100644
--- a/contrib/lisp
+++ b/contrib/lisp
@@ -11,12 +11,11 @@ _lisp()
 
     # completing an option (may or may not be separated by a space)
     if [[ "$cur" == -* ]]; then
-	COMPREPLY=( $( compgen -W '-core -lib -batch -quit -edit -eval -init \
-                     -dynamic-space-size -hinit -noinit -nositeinit -load \
-                     -slave ' \
-                     -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '-core -lib -batch -quit -edit -eval -init \
+        -dynamic-space-size -hinit -noinit -nositeinit -load -slave ' \
+        -- "$cur" ) )
     else
-	_filedir
+        _filedir
     fi
 
     return 0
@@ -25,8 +24,8 @@ complete -F _lisp $default lisp
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/lvm b/contrib/lvm
index a536883..647564a 100644
--- a/contrib/lvm
+++ b/contrib/lvm
@@ -3,1131 +3,1126 @@
 have lvm && {
 _volumegroups()
 {
-	COMPREPLY=( $(compgen -W "$( vgscan 2>/dev/null | \
-	    sed -n -e 's|.*Found.*"\(.*\)".*$|\1|p' )" -- "$cur" ) )
+    COMPREPLY=( $(compgen -W "$( vgscan 2>/dev/null | \
+        sed -n -e 's|.*Found.*"\(.*\)".*$|\1|p' )" -- "$cur" ) )
 }
 
 _physicalvolumes()
 {
-	COMPREPLY=( $(compgen -W "$( pvscan 2>/dev/null | \
-	    sed -n -e 's|^.*PV \(.*\) VG.*$|\1|p' )" -- "$cur" ) )
+    COMPREPLY=( $(compgen -W "$( pvscan 2>/dev/null | \
+        sed -n -e 's|^.*PV \(.*\) VG.*$|\1|p' )" -- "$cur" ) )
 }
 
 _logicalvolumes()
 {
-	COMPREPLY=( $(compgen -W "$( lvscan 2>/dev/null | \
-	    sed -n -e "s|^.*'\(.*\)'.*$|\1|p" )" -- "$cur" ) )
+    COMPREPLY=( $(compgen -W "$( lvscan 2>/dev/null | \
+        sed -n -e "s|^.*'\(.*\)'.*$|\1|p" )" -- "$cur" ) )
 }
 
 _units()
 {
-	COMPREPLY=( $( compgen -W 'h s b k m g t H K M G T' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'h s b k m g t H K M G T' -- "$cur" ) )
 }
 
 _sizes()
 {
-	COMPREPLY=( $( compgen -W 'k K m M g G t T' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'k K m M g G t T' -- "$cur" ) )
 }
 
 _args()
 {
-	args=0
-	if [[ "${COMP_WORDS[0]}" == lvm ]]; then
-		offset=2
-	else
-		offset=1
-	fi
-	for (( i=$offset; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" != -* ]]; then
-			args=$(($args + 1))
-		fi
-	done
+    args=0
+    if [[ "${COMP_WORDS[0]}" == lvm ]]; then
+        offset=2
+    else
+        offset=1
+    fi
+    for (( i=$offset; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" != -* ]]; then
+            args=$(($args + 1))
+        fi
+    done
 }
 
 _lvmdiskscan()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -h -? --help -l \
-			--lvmpartition -v --verbose --version' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -h -? --help -l \
+            --lvmpartition -v --verbose --version' -- "$cur" ) )
+    fi
 }
 complete -F _lvmdiskscan lvmdiskscan
 
 _pvscan()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -e \
-			--exported -n --novolumegroup -h -? \
-			--help --ignorelockingfailure -P \
-			--partial -s --short -u --uuid -v \
-			--verbose --version' -- "$cur" ) )
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -e \
+            --exported -n --novolumegroup -h -? \
+            --help --ignorelockingfailure -P \
+            --partial -s --short -u --uuid -v \
+            --verbose --version' -- "$cur" ) )
+    fi
 }
 complete -F _pvscan pvscan
 
 _pvs()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(o|O|-options|-sort))
-			COMPREPLY=( $( compgen -W 'pv_fmt pv_uuid \
-				pv_size pv_free pv_used pv_name \
-				pv_attr pv_pe_count \
-				pv_pe_alloc_count' -- "$cur" ) )
-			return 0
-			;;
-		--units)
-			_units
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--aligned -a --all -d --debug \
-			-h -? --help --ignorelockingfailure --noheadings \
-			--nosuffix -o --options -O --sort \
-			--separator --unbuffered --units \
-			-v --verbose --version' -- "$cur" ) )
-	else
-		_physicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(o|O|-options|-sort))
+            COMPREPLY=( $( compgen -W 'pv_fmt pv_uuid \
+                pv_size pv_free pv_used pv_name \
+                pv_attr pv_pe_count \
+                pv_pe_alloc_count' -- "$cur" ) )
+            return 0
+            ;;
+        --units)
+            _units
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--aligned -a --all -d --debug \
+            -h -? --help --ignorelockingfailure --noheadings \
+            --nosuffix -o --options -O --sort \
+            --separator --unbuffered --units \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _physicalvolumes
+    fi
 }
 complete -F _pvs pvs
 
 _pvdisplay()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		--units)
-			_units
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c --colon -C --columns --units \
-			-v --verbose -d --debug -h --help --version' -- "$cur" ) )
-	else
-		_physicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        --units)
+            _units
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c --colon -C --columns --units \
+            -v --verbose -d --debug -h --help --version' -- "$cur" ) )
+    else
+        _physicalvolumes
+    fi
 }
 complete -F _pvdisplay pvdisplay
 
 _pvchange()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|x|-autobackup|--allocatable))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all -A --autobackup \
-			-d --debug -h --help -t --test -u --uuid -x \
-			--allocatable -v --verbose --addtag --deltag \
-			--version' -- "$cur" ) )
-	else
-		_physicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|x|-autobackup|--allocatable))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all -A --autobackup \
+            -d --debug -h --help -t --test -u --uuid -x \
+            --allocatable -v --verbose --addtag --deltag \
+            --version' -- "$cur" ) )
+    else
+        _physicalvolumes
+    fi
 }
 complete -F _pvchange pvchange
 
 _pvcreate()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		--restorefile)
-			_filedir
-			return 0
-			;;
-		-@(M|-metadatatype))
-			COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
-			return 0
-			;;
-		--metadatacopies)
-			COMPREPLY=( $( compgen -W '0 1 2' -- "$cur" ) )
-			return 0
-			;;
-		--@(metadatasize|setphysicalvolumesize))
-			_sizes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--restorefile -d --debug -f \
-			--force -h -? --help --labelsector -M --metadatatype \
-			--metadatacopies --metadatasize \
-			--setphysicalvolumesize -t --test -u --uuid uuid -v \
-			--verbose -y --yes --version' -- "$cur" ) )
-	else
-		_physicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        --restorefile)
+            _filedir
+            return 0
+            ;;
+        -@(M|-metadatatype))
+            COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
+            return 0
+            ;;
+        --metadatacopies)
+            COMPREPLY=( $( compgen -W '0 1 2' -- "$cur" ) )
+            return 0
+            ;;
+        --@(metadatasize|setphysicalvolumesize))
+            _sizes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--restorefile -d --debug -f \
+            --force -h -? --help --labelsector -M --metadatatype \
+            --metadatacopies --metadatasize \
+            --setphysicalvolumesize -t --test -u --uuid uuid -v \
+            --verbose -y --yes --version' -- "$cur" ) )
+    else
+        _physicalvolumes
+    fi
 }
 complete -F _pvcreate pvcreate
 
 _pvmove()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(n|-name))
-			_logicalvolumes
-			return 0
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--abort -A --autobackup \
-			-b --background -d --debug -f --force -h -? \
-			--help -i --interval -t --test -v --verbose \
-			--version -n --name' -- "$cur" ) )
-	else
-		_physicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(n|-name))
+            _logicalvolumes
+            return 0
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--abort -A --autobackup \
+            -b --background -d --debug -f --force -h -? \
+            --help -i --interval -t --test -v --verbose \
+            --version -n --name' -- "$cur" ) )
+    else
+        _physicalvolumes
+    fi
 }
 complete -F _pvmove pvmove
 
 _pvremove()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -f --force -h -? \
-			--help -y --yes -t --test -v --verbose \
-			--version' -- "$cur" ) )
-	else
-		_physicalvolumes
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -f --force -h -? \
+            --help -y --yes -t --test -v --verbose \
+            --version' -- "$cur" ) )
+    else
+        _physicalvolumes
+    fi
 }
 complete -F _pvremove pvremove
 
 _vgscan()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -h --help \
-			--ignorelockingfailure --mknodes -P \
-			--partial -v --verbose --version' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -h --help \
+            --ignorelockingfailure --mknodes -P \
+            --partial -v --verbose --version' -- "$cur" ) )
+    fi
 }
 complete -F _vgscan vgscan
 
 _vgs()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(o|O|-options|-sort))
-			COMPREPLY=( $( compgen -W 'vg_fmt vg_uuid vg_name \
-				vg_attr vg_size vg_free vg_sysid \
-				vg_extent_size vg_extent_count vg_free_count \
-				max_lv max_pv pv_count lv_count snap_count \
-				vg_seqno' -- "$cur" ) )
-			return 0
-			;;
-		--units)
-			_units
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--aligned -d --debug \
-			-h --help --ignorelockingfailure --noheadings \
-			--nosuffix -o --options -O --sort -P --partial \
-			--separator --unbuffered --units \
-			-v --verbose --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(o|O|-options|-sort))
+            COMPREPLY=( $( compgen -W 'vg_fmt vg_uuid vg_name \
+                vg_attr vg_size vg_free vg_sysid \
+                vg_extent_size vg_extent_count vg_free_count \
+                max_lv max_pv pv_count lv_count snap_count \
+                vg_seqno' -- "$cur" ) )
+            return 0
+            ;;
+        --units)
+            _units
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--aligned -d --debug \
+            -h --help --ignorelockingfailure --noheadings \
+            --nosuffix -o --options -O --sort -P --partial \
+            --separator --unbuffered --units \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgs vgs
 
 _vgdisplay()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		--units)
-			_units
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c --colon -C --columns --units \
-			-P --partial -A --activevolumegroups -v --verbose \
-			-d --debug -h --help --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        --units)
+            _units
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c --colon -C --columns --units \
+            -P --partial -A --activevolumegroups -v --verbose \
+            -d --debug -h --help --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgdisplay vgdisplay
 
 _vgchange()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(a|A|x|-available|-autobackup|-resizeable))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup --alloc -P \
-			--partial -d --debug -h --help --ignorelockingfailure \
-			-t --test -u --uuid -v --verbose --version -a \
-			--available -x --resizeable -l --logicalvolume \
-			--addtag --deltag' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(a|A|x|-available|-autobackup|-resizeable))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup --alloc -P \
+            --partial -d --debug -h --help --ignorelockingfailure \
+            -t --test -u --uuid -v --verbose --version -a \
+            --available -x --resizeable -l --logicalvolume \
+            --addtag --deltag' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgchange vgchange
 
 _vgcreate()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(M|-metadatatype))
-			COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
-			return 0
-			;;
-		-@(s|-physicalextentsize))
-			_sizes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup --addtag \
-			--alloc -d --debug -h --help -l --maxlogicalvolumes \
-			-M --metadatatype -p --maxphysicalvolumes -s \
-			--physicalextentsize -t --test -v --verbose \
-			--version' -- "$cur" ) )
-	else
-		_args
-		if [ $args -eq 0 ]; then
-			_volumegroups
-		else
-			_physicalvolumes
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(M|-metadatatype))
+            COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
+            return 0
+            ;;
+        -@(s|-physicalextentsize))
+            _sizes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup --addtag --alloc -d \
+            --debug -h --help -l --maxlogicalvolumes -M --metadatatype -p \
+            --maxphysicalvolumes -s --physicalextentsize -t --test -v \
+            --verbose --version' -- "$cur" ) )
+    else
+        _args
+        if [ $args -eq 0 ]; then
+            _volumegroups
+        else
+            _physicalvolumes
+        fi
+    fi
 }
 complete -F _vgcreate vgcreate
 
 _vgremove()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -h --help -t --test \
-		-v --verbose --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -h --help -t --test \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgremove vgremove
 
 _vgrename()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -h \
-			-? --help -t --test -v --verbose --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -h \
+            -? --help -t --test -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgrename vgrename
 
 _vgreduce()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all -A --autobackup -d \
-			--debug -h --help --removemissing -t --test -v \
-			--verbose --version' -- "$cur" ) )
-
-	else
-		_args
-		if [ $args -eq 0 ]; then
-			_volumegroups
-		else
-			_physicalvolumes
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all -A --autobackup -d \
+            --debug -h --help --removemissing -t --test -v \
+            --verbose --version' -- "$cur" ) )
+
+    else
+        _args
+        if [ $args -eq 0 ]; then
+            _volumegroups
+        else
+            _physicalvolumes
+        fi
+    fi
 }
 complete -F _vgreduce vgreduce
 
 _vgextend()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(L|-size))
-			_sizes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -h \
-			-? --help -t --test -v --verbose --version' -- "$cur" ) )
-	else
-		_args
-		if [ $args -eq 0 ]; then
-			_volumegroups
-		else
-			_physicalvolumes
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(L|-size))
+            _sizes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -h \
+            -? --help -t --test -v --verbose --version' -- "$cur" ) )
+    else
+        _args
+        if [ $args -eq 0 ]; then
+            _volumegroups
+        else
+            _physicalvolumes
+        fi
+    fi
 }
 complete -F _vgextend vgextend
 
 _vgport()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all -d --debug -h \
-			-? --help -v --verbose --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all -d --debug -h \
+            -? --help -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgport vgimport vgexport
 
 _vgck()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -h \
-			-? --help -v --verbose --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -h \
+            -? --help -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgck vgck
 
 _vgconvert()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(M|-metadatatype))
-			COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
-			return 0
-			;;
-		--metadatacopies)
-			COMPREPLY=( $( compgen -W '0 1 2' -- "$cur" ) )
-			return 0
-			;;
-		--metadatasize)
-			_sizes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -h --help --labelsector \
-			-M --metadatatype --metadatacopies --metadatasize \
-			-t --test -v --verbose --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(M|-metadatatype))
+            COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
+            return 0
+            ;;
+        --metadatacopies)
+            COMPREPLY=( $( compgen -W '0 1 2' -- "$cur" ) )
+            return 0
+            ;;
+        --metadatasize)
+            _sizes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -h --help --labelsector \
+            -M --metadatatype --metadatacopies --metadatasize \
+            -t --test -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgconvert vgconvert
 
 _vgcfgbackup()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(f|-file))
-			_filedir
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -f --file -h --help \
-			--ignorelockingfailure -P --partial -v --verbose \
-			--version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(f|-file))
+            _filedir
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -f --file -h --help \
+            --ignorelockingfailure -P --partial -v --verbose \
+            --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgcfgbackup vgcfgbackup
 
 _vgcfgrestore()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(f|-file))
-			_filedir
-			return 0
-			;;
-		-@(M|-metadatatype))
-			COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
-			return 0
-			;;
-		-@(n|-name))
-			_volumegroups
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -f --file -l --list \
-			-h --help -M --Metadatatype -n --name -t --test \
-			-v --verbose --version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(f|-file))
+            _filedir
+            return 0
+            ;;
+        -@(M|-metadatatype))
+            COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
+            return 0
+            ;;
+        -@(n|-name))
+            _volumegroups
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -f --file -l --list \
+            -h --help -M --Metadatatype -n --name -t --test \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgcfgrestore vgcfgrestore
 
 _vgmerge()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -d --debug \
-			-h --help -l --list -t --test -v --verbose \
-			--version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -h --help -l \
+            --list -t --test -v --verbose --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgmerge vgmerge
 
 _vgsplit()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(M|-metadatatype))
-			COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -d --debug \
-			-h --help -l --list -M --metadatatype -t --test \
-			-v --verbose --version' -- "$cur" ) )
-	else
-		_args
-		if [ $args -eq 0 -o $args -eq 1 ]; then
-			_volumegroups
-		else
-			_physicalvolumes
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(M|-metadatatype))
+            COMPREPLY=( $( compgen -W '1 2' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -d --debug \
+            -h --help -l --list -M --metadatatype -t --test \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _args
+        if [ $args -eq 0 -o $args -eq 1 ]; then
+            _volumegroups
+        else
+            _physicalvolumes
+        fi
+    fi
 }
 complete -F _vgsplit vgsplit
 
 _vgmknodes()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --debug -h --help -v --verbose \
-			--version' -- "$cur" ) )
-	else
-		_volumegroups
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --debug -h --help -v --verbose \
+            --version' -- "$cur" ) )
+    else
+        _volumegroups
+    fi
 }
 complete -F _vgmknodes vgmknodes
 
 _lvscan()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-b --blockdevice -d --debug \
-			-h -? --help --ignorelockingfailure -P \
-			--partial -v --verbose --version' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-b --blockdevice -d --debug \
+            -h -? --help --ignorelockingfailure -P \
+            --partial -v --verbose --version' -- "$cur" ) )
+    fi
 }
 complete -F _lvscan lvscan
 
 _lvs()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(o|O|-options|-sort))
-			COMPREPLY=( $( compgen -W 'lv_uuid lv_name \
-				lv_attr lv_minor lv_size seg_count \
-				origin snap_percent segtype stripes \
-				stripesize chunksize seg_start \
-				seg_size' -- "$cur" ) )
-			return 0
-			;;
-		--units)
-			_units
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--aligned -d --debug \
-			-h --help --ignorelockingfailure --noheadings \
-			--nosuffix -o --options -O --sort -P --partial \
-			--segments --separator --unbuffered --units \
-			-v --verbose --version' -- "$cur" ) )
-	else
-		_logicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(o|O|-options|-sort))
+            COMPREPLY=( $( compgen -W 'lv_uuid lv_name lv_attr lv_minor \
+                lv_size seg_count origin snap_percent segtype stripes \
+                stripesize chunksize seg_start seg_size' -- "$cur" ) )
+            return 0
+            ;;
+        --units)
+            _units
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--aligned -d --debug -h --help \
+            --ignorelockingfailure --noheadings --nosuffix -o --options -O \
+            --sort -P --partial --segments --separator --unbuffered --units \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _logicalvolumes
+    fi
 }
 complete -F _lvs lvs
 
 _lvdisplay()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		--units)
-			_units
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c --colon -C --columns --units \
-			-P --partial -m --maps -v --verbose -d --debug -h \
-			--help --version' -- "$cur" ) )
-	else
-		_logicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        --units)
+            _units
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c --colon -C --columns --units \
+            -P --partial -m --maps -v --verbose -d --debug -h \
+            --help --version' -- "$cur" ) )
+    else
+        _logicalvolumes
+    fi
 }
 complete -F _lvdisplay lvdisplay
 
 _lvchange()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(a|A|C|M|-available|-autobackup|-continguous|-persistent))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(p|-permission))
-			COMPREPLY=( $( compgen -W 'r rw' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -a --available \
-			--addtag --alloc -C --contiguous -d --debug --deltag \
-			-f --force -h --help --ignorelockingfailure -M \
-			--persistent --major major --minor minor -P --partial \
-			-p --permission -r --readahead --refresh -t --test \
-			-v --verbose --version' -- "$cur" ) )
-	else
-		_logicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(a|A|C|M|-available|-autobackup|-continguous|-persistent))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(p|-permission))
+            COMPREPLY=( $( compgen -W 'r rw' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -a --available \
+            --addtag --alloc -C --contiguous -d --debug --deltag \
+            -f --force -h --help --ignorelockingfailure -M \
+            --persistent --major major --minor minor -P --partial \
+            -p --permission -r --readahead --refresh -t --test \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _logicalvolumes
+    fi
 }
 complete -F _lvchange lvchange
 
 _lvcreate()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|C|M|Z|-autobackup|-continguous|-persistent|-zero))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(L|-size))
-			_sizes
-			return 0
-			;;
-		-@(p|-permission))
-			COMPREPLY=( $( compgen -W 'r rw' -- "$cur" ) )
-			return 0
-			;;
-		-@(n|-name))
-			_logicalvolumes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup --addtag --alloc \
-			-C --contiguous -d --debug -h -? --help -i --stripes \
-			-I --stripesize -l --extents -L --size -M --persistent \
-			--major --minor -n --name -p --permission -r \
-			--readahead -t --test --type -v --verbose -Z --zero \
-			--version' -- "$cur" ) )
-	else
-		_args
-		if [ $args -eq 0 ]; then
-			_volumegroups
-		else
-			_physicalvolumes
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|C|M|Z|-autobackup|-continguous|-persistent|-zero))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(L|-size))
+            _sizes
+            return 0
+            ;;
+        -@(p|-permission))
+            COMPREPLY=( $( compgen -W 'r rw' -- "$cur" ) )
+            return 0
+            ;;
+        -@(n|-name))
+            _logicalvolumes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup --addtag --alloc \
+            -C --contiguous -d --debug -h -? --help -i --stripes \
+            -I --stripesize -l --extents -L --size -M --persistent \
+            --major --minor -n --name -p --permission -r \
+            --readahead -t --test --type -v --verbose -Z --zero \
+            --version' -- "$cur" ) )
+    else
+        _args
+        if [ $args -eq 0 ]; then
+            _volumegroups
+        else
+            _physicalvolumes
+        fi
+    fi
 }
 complete -F _lvcreate lvcreate
 
 _lvremove()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -f \
-			--force -h -?  --help -t --test -v --verbose \
-			--version' -- "$cur" ) )
-	else
-		_logicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -f \
+            --force -h -?  --help -t --test -v --verbose \
+            --version' -- "$cur" ) )
+    else
+        _logicalvolumes
+    fi
 }
 complete -F _lvremove lvremove
 
 _lvrename()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -h \
-			-? --help -t --test -v --verbose --version' -- "$cur" ) )
-	else
-		_logicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -d --debug -h \
+            -? --help -t --test -v --verbose --version' -- "$cur" ) )
+    else
+        _logicalvolumes
+    fi
 }
 complete -F _lvrename lvrename
 
 _lvreduce()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(L|-size))
-			_sizes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup -d \
-			--debug -f --force -h --help -l --extents \
-			-L --size -n --nofsck -r --resizefs -t --test \
-			-v --verbose --version' -- "$cur" ) )
-	else
-		_logicalvolumes
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(L|-size))
+            _sizes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup -d \
+            --debug -f --force -h --help -l --extents \
+            -L --size -n --nofsck -r --resizefs -t --test \
+            -v --verbose --version' -- "$cur" ) )
+    else
+        _logicalvolumes
+    fi
 }
 complete -F _lvreduce lvreduce
 
 _lvresize()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(L|-size))
-			_sizes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup --alloc -d \
-			--debug -h --help -i --stripes -I --stripesize \
-			-l --extents -L --size -n --nofsck -r --resizefs \
-			-t --test --type -v --verbose --version' -- "$cur" ) )
-	else
-		_args
-		if [ $args -eq 0 ]; then
-			_logicalvolumes
-		else
-			_physicalvolumes
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(L|-size))
+            _sizes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup --alloc -d \
+            --debug -h --help -i --stripes -I --stripesize \
+            -l --extents -L --size -n --nofsck -r --resizefs \
+            -t --test --type -v --verbose --version' -- "$cur" ) )
+    else
+        _args
+        if [ $args -eq 0 ]; then
+            _logicalvolumes
+        else
+            _physicalvolumes
+        fi
+    fi
 }
 complete -F _lvresize lvresize
 
 _lvextend()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(A|-autobackup))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
-			return 0
-			;;
-		-@(L|-size))
-			_sizes
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --autobackup --alloc -d \
-			--debug -h --help -i --stripes -I --stripesize \
-			-l --extents -L --size -n --nofsck -r --resizefs \
-			-t --test --type -v --verbose --version' -- "$cur" ) )
-	else
-		_args
-		if [ $args -eq 0 ]; then
-			_logicalvolumes
-		else
-			_physicalvolumes
-		fi
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -@(A|-autobackup))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur" ) )
+            return 0
+            ;;
+        -@(L|-size))
+            _sizes
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --autobackup --alloc -d \
+            --debug -h --help -i --stripes -I --stripesize \
+            -l --extents -L --size -n --nofsck -r --resizefs \
+            -t --test --type -v --verbose --version' -- "$cur" ) )
+    else
+        _args
+        if [ $args -eq 0 ]; then
+            _logicalvolumes
+        else
+            _physicalvolumes
+        fi
+    fi
 }
 complete -F _lvextend lvextend
 
 _lvm()
 {
-	local prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W 'dumpconfig help lvchange \
-			lvcreate lvdisplay lvextend lvmchange \
-			lvmdiskscan lvmsadc lvmsar lvreduce \
-			lvremove lvrename lvresize lvs lvscan \
-			pvchange pvcreate pvdata pvdisplay pvmove \
-			pvremove pvresize pvs pvscan vgcfgbackup \
-			vgcfgrestore vgchange vgck vgconvert \
-			vgcreate vgdisplay vgexport vgextend \
-			vgimport vgmerge vgmknodes vgreduce \
-			vgremove vgrename vgs vgscan vgsplit \
-			version' -- "$cur" ) )
-	else
-		case ${COMP_WORDS[1]} in
-			pvchange)
-				_pvchange
-				;;
-			pvcreate)
-				_pvcreate
-				;;
-			pvdisplay)
-				_pvdisplay
-				;;
-			pvmove)
-				_pvmove
-				;;
-			pvremove)
-				_pvremove
-				;;
-			pvresize)
-				_pvresize
-				;;
-			pvs)
-				_pvs
-				;;
-			pvscan)
-				_pvscan
-				;;
-			vgcfgbackup)
-				_vgcfgbackup
-				;;
-			vgcfgrestore)
-				_vgcfgrestore
-				;;
-			vgchange)
-				_vgchange
-				;;
-			vgck)
-				_vgck
-				;;
-			vgconvert)
-				_vgconvert
-				;;
-			vgcreate)
-				_vgcreate
-				;;
-			vgdisplay)
-				_vgdisplay
-				;;
-			vgexport)
-				_vgexport
-				;;
-			vgextend)
-				_vgextend
-				;;
-			vgimport)
-				_vgimport
-				;;
-			vgmerge)
-				_vgmerge
-				;;
-			vgmknodes)
-				_vgmknodes
-				;;
-			vgreduce)
-				_vgreduce
-				;;
-			vgremove)
-				_vgremove
-				;;
-			vgrename)
-				_vgrename
-				;;
-			vgs)
-				_vgs
-				;;
-			vgscan)
-				_vgscan
-				;;
-			vgsplit)
-				_vgsplit
-				;;
-			lvchange)
-				_lvchange
-				;;
-			lvcreate)
-				_lvcreate
-				;;
-			lvdisplay)
-				_lvdisplay
-				;;
-			lvextend)
-				_lvextend
-				;;
-			lvreduce)
-				_lvreduce
-				;;
-			lvremove)
-				_lvremove
-				;;
-			lvrename)
-				_lvrename
-				;;
-			lvresize)
-				_lvresize
-				;;
-			lvs)
-				_lvs
-				;;
-			lvscan)
-				_lvscan
-				;;
-		esac
-	fi
+    local prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W 'dumpconfig help lvchange \
+            lvcreate lvdisplay lvextend lvmchange \
+            lvmdiskscan lvmsadc lvmsar lvreduce \
+            lvremove lvrename lvresize lvs lvscan \
+            pvchange pvcreate pvdata pvdisplay pvmove \
+            pvremove pvresize pvs pvscan vgcfgbackup \
+            vgcfgrestore vgchange vgck vgconvert \
+            vgcreate vgdisplay vgexport vgextend \
+            vgimport vgmerge vgmknodes vgreduce \
+            vgremove vgrename vgs vgscan vgsplit \
+            version' -- "$cur" ) )
+    else
+        case ${COMP_WORDS[1]} in
+            pvchange)
+                _pvchange
+                ;;
+            pvcreate)
+                _pvcreate
+                ;;
+            pvdisplay)
+                _pvdisplay
+                ;;
+            pvmove)
+                _pvmove
+                ;;
+            pvremove)
+                _pvremove
+                ;;
+            pvresize)
+                _pvresize
+                ;;
+            pvs)
+                _pvs
+                ;;
+            pvscan)
+                _pvscan
+                ;;
+            vgcfgbackup)
+                _vgcfgbackup
+                ;;
+            vgcfgrestore)
+                _vgcfgrestore
+                ;;
+            vgchange)
+                _vgchange
+                ;;
+            vgck)
+                _vgck
+                ;;
+            vgconvert)
+                _vgconvert
+                ;;
+            vgcreate)
+                _vgcreate
+                ;;
+            vgdisplay)
+                _vgdisplay
+                ;;
+            vgexport)
+                _vgexport
+                ;;
+            vgextend)
+                _vgextend
+                ;;
+            vgimport)
+                _vgimport
+                ;;
+            vgmerge)
+                _vgmerge
+                ;;
+            vgmknodes)
+                _vgmknodes
+                ;;
+            vgreduce)
+                _vgreduce
+                ;;
+            vgremove)
+                _vgremove
+                ;;
+            vgrename)
+                _vgrename
+                ;;
+            vgs)
+                _vgs
+                ;;
+            vgscan)
+                _vgscan
+                ;;
+            vgsplit)
+                _vgsplit
+                ;;
+            lvchange)
+                _lvchange
+                ;;
+            lvcreate)
+                _lvcreate
+                ;;
+            lvdisplay)
+                _lvdisplay
+                ;;
+            lvextend)
+                _lvextend
+                ;;
+            lvreduce)
+                _lvreduce
+                ;;
+            lvremove)
+                _lvremove
+                ;;
+            lvrename)
+                _lvrename
+                ;;
+            lvresize)
+                _lvresize
+                ;;
+            lvs)
+                _lvs
+                ;;
+            lvscan)
+                _lvscan
+                ;;
+        esac
+    fi
 }
 complete -F _lvm lvm
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/lzma b/contrib/lzma
index 2f05fa5..42d2bfb 100644
--- a/contrib/lzma
+++ b/contrib/lzma
@@ -3,45 +3,45 @@
 have lzma &&
 _lzma()
 {
-	local cur prev xspec
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -d -f -h -k -L -q -s \
-			-v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \
-			--help --decompress --compress --keep --force \
-			--test --stdout --quiet --verbose --license \
-			--version --small --fast --best --text' -- "$cur" ) )
-		return 0
-	fi
-
-	local IFS=$'\t\n'
-
-	xspec="*.lzma"
-	if [[ "$prev" == --* ]]; then
-		[[ "$prev" == --decompress || \
-			"$prev" == --list || \
-			"$prev" == --test ]] && xspec="!"$xspec
-		[[ "$prev" == --compress ]] && xspec=
-	elif [[ "$prev" == -* ]]; then
-		[[ "$prev" == -*[dt]* ]] && xspec="!"$xspec
-		[[ "$prev" == -*z* ]] && xspec=
-	fi
-
-	_expand || return 0
-
-	COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
-		$( compgen -d -- "$cur" ) )
+    local cur prev xspec
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c -d -f -h -k -L -q -s \
+            -v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \
+            --help --decompress --compress --keep --force \
+            --test --stdout --quiet --verbose --license \
+            --version --small --fast --best --text' -- "$cur" ) )
+        return 0
+    fi
+
+    local IFS=$'\t\n'
+
+    xspec="*.lzma"
+    if [[ "$prev" == --* ]]; then
+        [[ "$prev" == --decompress || \
+            "$prev" == --list || \
+            "$prev" == --test ]] && xspec="!"$xspec
+        [[ "$prev" == --compress ]] && xspec=
+    elif [[ "$prev" == -* ]]; then
+        [[ "$prev" == -*[dt]* ]] && xspec="!"$xspec
+        [[ "$prev" == -*z* ]] && xspec=
+    fi
+
+    _expand || return 0
+
+    COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
+        $( compgen -d -- "$cur" ) )
 } &&
 complete -F _lzma $filenames lzma
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/lzop b/contrib/lzop
index 980a379..9090bac 100644
--- a/contrib/lzop
+++ b/contrib/lzop
@@ -3,56 +3,72 @@
 have lzop &&
 _lzop()
 {
-	local cur prev xspec
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	# TODO: -p: takes a dir argument, without a separating space
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d -x -l -t -h -I -V -L -1 -2 -3 \
-			-4 -5 -6 -7 -8 -9 -q -v -c -f -F -n -N -P -k -U -o \
-			-S --fast --best --decompress --uncompress --extract \
-			--test --list --ls --info --sysinfo --license --help \
-			--version --stdout --to-stdout --output --path \
-			--force --no-checksum --no-name --name --no-mode \
-			--no-time --suffix --keep --unlink --delete --crc32 \
-			--no-warn --ignore-warn --quiet --silent --verbose \
-			--no-stdin --filter --checksum --no-color --mono \
-			--color' -- "$cur" ) )
-		return 0
-	fi
-
-	case "$prev" in
-		-o|--output)	_filedir ; return 0 ;;
-		--path)		_filedir -d ; return 0 ;;
-		-S|--suffix)	return 0 ;;
-	esac
-
-	xspec="*.?(t)lzo"
-	case "$prev" in
-		--@(@(de|un)compress|extract|list|ls|info|test))
-				xspec="!"$xspec ;;
-		--force)	xspec= ;;
-		--*)		;;
-		-*f*|'<'|'>')	xspec= ;;
-		-*[dltx]*)	xspec="!"$xspec ;;
-	esac
-
-	_expand || return 0
-
-	local IFS=$'\t\n'
-	COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
-		    $( compgen -d -- "$cur" ) )
+    local cur prev xspec
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    # TODO: -p: takes a dir argument, without a separating space
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d -x -l -t -h -I -V -L -1 -2 -3 \
+            -4 -5 -6 -7 -8 -9 -q -v -c -f -F -n -N -P -k -U -o \
+            -S --fast --best --decompress --uncompress --extract \
+            --test --list --ls --info --sysinfo --license --help \
+            --version --stdout --to-stdout --output --path \
+            --force --no-checksum --no-name --name --no-mode \
+            --no-time --suffix --keep --unlink --delete --crc32 \
+            --no-warn --ignore-warn --quiet --silent --verbose \
+            --no-stdin --filter --checksum --no-color --mono \
+            --color' -- "$cur" ) )
+        return 0
+    fi
+
+    case "$prev" in
+        -o|--output)
+            _filedir
+            return 0
+            ;;
+        --path)
+            _filedir -d
+            return 0
+            ;;
+        -S|--suffix)
+            return 0
+            ;;
+    esac
+
+    xspec="*.?(t)lzo"
+    case "$prev" in
+        --@(@(de|un)compress|extract|list|ls|info|test))
+            xspec="!"$xspec
+            ;;
+        --force)
+            xspec=
+            ;;
+        --*)
+            ;;
+        -*f*|'<'|'>')
+            xspec=
+            ;;
+        -*[dltx]*)
+            xspec="!"$xspec
+            ;;
+    esac
+
+    _expand || return 0
+
+    local IFS=$'\t\n'
+    COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
+            $( compgen -d -- "$cur" ) )
 } &&
 complete -F _lzop $filenames lzop
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mailman b/contrib/mailman
index 629bb02..8cfec3e 100644
--- a/contrib/mailman
+++ b/contrib/mailman
@@ -3,21 +3,20 @@
 have list_lists && {
 _mailman_lists()
 {
-	COMPREPLY=( $( compgen -W '$( list_lists -b )' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '$( list_lists -b )' -- "$cur" ) )
 }
 
 _list_lists()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --advertised \
-			--virtual-host-overview -V -b --bare \
-			-h --help' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --advertised --virtual-host-overview -V \
+            -b --bare -h --help' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _list_lists list_lists
@@ -26,34 +25,34 @@ complete -F _list_lists list_lists
 have add_members &&
 _add_members()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-@(r|d|-regular-members-file|-digest-members-file))
-			_filedir
-			return 0
-			;;
-		-@(w|a|-welcome-msg|-admin-notify))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur") )
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--regular-members-file -r \
-			--digest-members-file -d --welcome-msg -w \
-			--admin-notify -a --help -h' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -@(r|d|-regular-members-file|-digest-members-file))
+            _filedir
+            return 0
+            ;;
+        -@(w|a|-welcome-msg|-admin-notify))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur") )
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--regular-members-file -r \
+            --digest-members-file -d --welcome-msg -w \
+            --admin-notify -a --help -h' -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _add_members add_members
@@ -61,30 +60,29 @@ complete -F _add_members add_members
 have remove_members &&
 _remove_members()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-@(f|-file))
-			_filedir
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(f|-file))
+            _filedir
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--file -f --all -a \
-			--fromall --nouserack -n --noadminack -N \
-			--help -h' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--file -f --all -a --fromall --nouserack -n \
+            --noadminack -N --help -h' -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _remove_members remove_members
@@ -92,27 +90,27 @@ complete -F _remove_members remove_members
 have find_member &&
 _find_member()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-@(l|x|-listname|-exclude))
-			_mailman_lists
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(l|x|-listname|-exclude))
+            _mailman_lists
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-l --listname -x \
-			--exclude --owners -w --help -h' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-l --listname -x --exclude --owners -w \
+            --help -h' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _find_member find_member
@@ -120,27 +118,27 @@ complete -F _find_member find_member
 have clone_member &&
 _clone_member()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-@(l|-listname))
-			_mailman_lists
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(l|-listname))
+            _mailman_lists
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-l --listname --remove -r \
-		--admin -a --quiet -q --nomodify -n --help -h' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-l --listname --remove -r --admin -a \
+            --quiet -q --nomodify -n --help -h' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _clone_member clone_member
@@ -148,34 +146,34 @@ complete -F _clone_member clone_member
 have sync_members &&
 _sync_members()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-@(w|g|d|--welcome-msg|-goodbye-msg|-digest))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur") )
-			return 0
-			;;
-		-@(d|-file))
-			_filedir
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--no-change -n --welcome-msg -w \
-			--goodbye-msg -g --digest -d --notifyadmin -a \
-			-f --file -h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -@(w|g|d|--welcome-msg|-goodbye-msg|-digest))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur") )
+            return 0
+            ;;
+        -@(d|-file))
+            _filedir
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--no-change -n --welcome-msg -w \
+            --goodbye-msg -g --digest -d --notifyadmin -a -f --file -h --help' \
+            -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _sync_members sync_members
@@ -183,16 +181,16 @@ complete -F _sync_members sync_members
 have unshunt &&
 _unshunt()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-h --help' -- "$cur" ) )
-	else
-		_filedir -d
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-h --help' -- "$cur" ) )
+    else
+        _filedir -d
+    fi
 
 } &&
 complete -F _unshunt unshunt
@@ -200,17 +198,17 @@ complete -F _unshunt unshunt
 have list_admins &&
 _list_admins()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--all-vhost -v \
-			--all -a -h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--all-vhost -v --all -a -h --help' \
+            -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _list_admins list_admins
@@ -218,17 +216,17 @@ complete -F _list_admins list_admins
 have list_owners &&
 _list_owners()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-w --with-listnames \
-			-m --moderators -h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-w --with-listnames -m --moderators -h \
+            --help' -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _list_owners list_owners
@@ -236,38 +234,38 @@ complete -F _list_owners list_owners
 have list_members &&
 _list_members()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-@(o|-output))
-			_filedir
-			return 0
-			;;
-		-@(d|-digest))
-			COMPREPLY=( $( compgen -W 'mime plain' -- "$cur") )
-			return 0
-			;;
-		-@(n|-nomail))
-			COMPREPLY=( $( compgen -W 'byadmin byuser bybounce unknown' -- "$cur") )
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--output -o --regular -r \
-			--digest -d --nomail -n --fullnames -f \
-			--preserve -p -h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -@(o|-output))
+            _filedir
+            return 0
+            ;;
+        -@(d|-digest))
+            COMPREPLY=( $( compgen -W 'mime plain' -- "$cur") )
+            return 0
+            ;;
+        -@(n|-nomail))
+            COMPREPLY=( $( compgen -W 'byadmin byuser bybounce unknown' \
+                -- "$cur") )
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--output -o --regular -r --digest -d \
+            --nomail -n --fullnames -f --preserve -p -h --help' -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _list_members list_members
@@ -275,27 +273,27 @@ complete -F _list_members list_members
 have change_pw &&
 _change_pw()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-@(l|-listname))
-			_mailman_lists
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(l|-listname))
+            _mailman_lists
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all --domain -d --listname -l \
-			--password -p --quiet -q -h --help' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all --domain -d --listname -l \
+            --password -p --quiet -q -h --help' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _change_pw change_pw
@@ -303,17 +301,17 @@ complete -F _change_pw change_pw
 have withlist &&
 _withlist()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-l --lock -i --interactive \
-			-r --run -a --all -q --quiet -h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-l --lock -i --interactive \
+            -r --run -a --all -q --quiet -h --help' -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _withlist withlist
@@ -321,16 +319,17 @@ complete -F _withlist withlist
 have newlist &&
 _newlist()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-l --language -q --quiet -h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-l --language -q --quiet -h --help' \
+            -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _newlist newlist
@@ -338,17 +337,16 @@ complete -F _newlist newlist
 have rmlist &&
 _rmlist()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--archives -a \
-			-h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--archives -a -h --help' -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _rmlist rmlist
@@ -356,29 +354,29 @@ complete -F _rmlist rmlist
 have config_list &&
 _config_list()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-@(i|o|-inputfile|-outputfile))
-			_filedir
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(i|o|-inputfile|-outputfile))
+            _filedir
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--inputfile -i --outputfile -o \
-		--checkonly -c --verbose -v -h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--inputfile -i --outputfile -o \
+            --checkonly -c --verbose -v -h --help' -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _config_list $filenames config_list
@@ -386,46 +384,46 @@ complete -F _config_list $filenames config_list
 have arch &&
 _arch()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-@(w|g|d|--welcome-msg|-goodbye-msg|-digest))
-			COMPREPLY=( $( compgen -W 'y n' -- "$cur") )
-			return 0
-			;;
-		-@(d|-file))
-			_filedir
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--wipe -s --start -e --end \
-			-q --quiet -h --help' -- "$cur" ) )
-	else
-		args=$COMP_CWORD
-		for (( i=1; i < COMP_CWORD; i++ )); do
-			if [[ "${COMP_WORDS[i]}" == -* ]]; then
-				args=$(($args-1))
-			fi
-		done
-		case $args in
-			1)
-				_mailman_lists
-				;;
-			2)
-				_filedir
-				;;
-		esac
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -@(w|g|d|--welcome-msg|-goodbye-msg|-digest))
+            COMPREPLY=( $( compgen -W 'y n' -- "$cur") )
+            return 0
+            ;;
+        -@(d|-file))
+            _filedir
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--wipe -s --start -e --end -q --quiet -h \
+            --help' -- "$cur" ) )
+    else
+        args=$COMP_CWORD
+        for (( i=1; i < COMP_CWORD; i++ )); do
+            if [[ "${COMP_WORDS[i]}" == -* ]]; then
+                args=$(($args-1))
+            fi
+        done
+        case $args in
+            1)
+                _mailman_lists
+                ;;
+            2)
+                _filedir
+                ;;
+        esac
+    fi
 
 } &&
 complete -F _arch $filenames arch
@@ -433,15 +431,15 @@ complete -F _arch $filenames arch
 have cleanarch &&
 _cleanarch()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-s --status -n --dry-run \
-			-q --quiet -h --help' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-s --status -n --dry-run -q --quiet -h \
+            --help' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _cleanarch cleanarch
@@ -449,29 +447,29 @@ complete -F _cleanarch cleanarch
 have inject &&
 _inject()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-@(l|-listname))
-			_mailman_lists
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(l|-listname))
+            _mailman_lists
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-l --listname -q --queue \
-			-h --help' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-l --listname -q --queue -h --help' \
+            -- "$cur" ) )
+    else
+        _filedir
+    fi
 
 } &&
 complete -F _inject $filenames inject
@@ -479,16 +477,17 @@ complete -F _inject $filenames inject
 have dumpdb &&
 _dumpdb()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--marshal -m --pickle -p --noprint -n -h --help' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--marshal -m --pickle -p --noprint -n -h \
+            --help' -- "$cur" ) )
+    else
+        _filedir
+    fi
 
 } &&
 complete -F _dumpdb $filenames dumpdb
@@ -496,17 +495,17 @@ complete -F _dumpdb $filenames dumpdb
 have check_db &&
 _check_db()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--all -a --verbose -v \
-			-h --help' -- "$cur" ) )
-	else
-		_mailman_lists
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--all -a --verbose -v -h --help' \
+            -- "$cur" ) )
+    else
+        _mailman_lists
+    fi
 
 } &&
 complete -F _check_db check_db
@@ -514,14 +513,14 @@ complete -F _check_db check_db
 have check_perms &&
 _check_perms()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-f -v -h' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-f -v -h' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _check_perms check_perms
@@ -529,14 +528,14 @@ complete -F _check_perms check_perms
 have genaliases &&
 _genaliases()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-q --quiet -h --help' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-q --quiet -h --help' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _genaliases genaliases
@@ -544,14 +543,14 @@ complete -F _genaliases genaliases
 have mmsitepass &&
 _mmsitepass()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c --listcreator -h --help' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c --listcreator -h --help' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _mmsitepass mmsitepass
@@ -559,18 +558,18 @@ complete -F _mmsitepass mmsitepass
 have qrunner &&
 _qrunner()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && return 0
+    _split_longopt && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-r --runner --once -o \
-			-l --list -v --verbose -s --subproc -h --help' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-r --runner --once -o \
+            -l --list -v --verbose -s --subproc -h --help' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _qrunner qrunner
@@ -578,25 +577,25 @@ complete -F _qrunner qrunner
 have mailmanctl &&
 _mailmanctl()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-n --no-restart -u --run-as-user \
-			-s --stale-lock-cleanup --quiet -q -h --help' -- "$cur" ) )
-	else
-		COMPREPLY=( $( compgen -W 'start stop restart reopen' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-n --no-restart -u --run-as-user \
+            -s --stale-lock-cleanup --quiet -q -h --help' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W 'start stop restart reopen' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _mailmanctl mailmanctl
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/make b/contrib/make
index ded19f0..ecbd56e 100644
--- a/contrib/make
+++ b/contrib/make
@@ -3,77 +3,77 @@
 have make || have gmake || have gnumake || have pmake &&
 _make()
 {
-	local file makef makef_dir="." makef_inc cur prev i split=false
+    local file makef makef_dir="." makef_inc cur prev i split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case $prev in
-		-@(f|o|W|-@(?(make|old-|new-)file|assume-@(old|new)|what-if)))
-			_filedir
-			return 0
-			;;
-		-I|-C|--directory|--include-dir)
-			_filedir -d
-			return 0
-			;;
-	esac
+    case $prev in
+        -@(f|o|W|-@(?(make|old-|new-)file|assume-@(old|new)|what-if)))
+            _filedir
+            return 0
+            ;;
+        -I|-C|--directory|--include-dir)
+            _filedir -d
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-b -m -B -C -d -e -f -h -i -I\
-			-j -l -k -n -o -p -q -r -R - s -S -t -v -w -W \
-			--always-make --directory --debug \
-			--environment-overrides --file --makefile --help \
-			--ignore-errors --include-dir --jobs --load-average \
-			--max-load --keep-going --just-print --dry-run \
-			--recon --old-file --assume-old --print-data-base \
-			--question --no-builtin-rules --no-builtin-variables \
-			--silent --quiet --no-keep-goind --stop --touch \
-			--version --print-directory --no-print-directory \
-			--what-if --new-file --assume-new \
-			--warn-undefined-variables' -- "$cur" ) )
-	else
-		# before we check for makefiles, see if a path was specified
-		# with -C
-		for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
-			if [[ ${COMP_WORDS[i]} == -C ]]; then
-				# eval for tilde expansion
-				eval makef_dir=${COMP_WORDS[i+1]}
-				break
-			fi
-		done
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-b -m -B -C -d -e -f -h -i -I\
+            -j -l -k -n -o -p -q -r -R - s -S -t -v -w -W \
+            --always-make --directory --debug \
+            --environment-overrides --file --makefile --help \
+            --ignore-errors --include-dir --jobs --load-average \
+            --max-load --keep-going --just-print --dry-run \
+            --recon --old-file --assume-old --print-data-base \
+            --question --no-builtin-rules --no-builtin-variables \
+            --silent --quiet --no-keep-goind --stop --touch \
+            --version --print-directory --no-print-directory \
+            --what-if --new-file --assume-new \
+            --warn-undefined-variables' -- "$cur" ) )
+    else
+        # before we check for makefiles, see if a path was specified
+        # with -C
+        for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
+            if [[ ${COMP_WORDS[i]} == -C ]]; then
+                # eval for tilde expansion
+                eval makef_dir=${COMP_WORDS[i+1]}
+                break
+            fi
+        done
 
-		# before we scan for targets, see if a Makefile name was
-		# specified with -f
-		for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
-			if [[ ${COMP_WORDS[i]} == -f ]]; then
-				# eval for tilde expansion
-				eval makef=${COMP_WORDS[i+1]}
-				break
-			fi
-		done
+        # before we scan for targets, see if a Makefile name was
+        # specified with -f
+        for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
+            if [[ ${COMP_WORDS[i]} == -f ]]; then
+                # eval for tilde expansion
+                eval makef=${COMP_WORDS[i+1]}
+                break
+            fi
+        done
 
-		[ -n "$makef" ] && makef="-f ${makef}"
-		[ -n "$makef_dir" ] && makef_dir="-C ${makef_dir}"
+        [ -n "$makef" ] && makef="-f ${makef}"
+        [ -n "$makef_dir" ] && makef_dir="-C ${makef_dir}"
 
-		COMPREPLY=( $( compgen -W "$( make -qp $makef $makef_dir 2>/dev/null | \
-					awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ \
-					{split($1,A,/ /);for(i in A)print A[i]}' )" \
-					-- "$cur" ) )
+        COMPREPLY=( $( compgen -W "$( make -qp $makef $makef_dir 2>/dev/null | \
+            awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ \
+            {split($1,A,/ /);for(i in A)print A[i]}' )" \
+            -- "$cur" ) )
 
-	fi
+    fi
 } &&
 complete -F _make $filenames make gmake gnumake pmake
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/man b/contrib/man
index 37acb4a..4804a94 100644
--- a/contrib/man
+++ b/contrib/man
@@ -5,69 +5,69 @@
   -o $UNAME = OpenBSD ] &&
 _man()
 {
-	local cur i prev sect manpath manext mansect uname
+    local cur i prev sect manpath manext mansect uname
 
-	manext="@([0-9lnp]|[0-9][px]|man|3pm)?(.@(gz|bz2|lzma))"
-	mansect="@([0-9lnp]|[0-9][px]|3pm)"
+    manext="@([0-9lnp]|[0-9][px]|man|3pm)?(.@(gz|bz2|lzma))"
+    mansect="@([0-9lnp]|[0-9][px]|3pm)"
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	if [[ "$prev" == -l ]]; then
-		_filedir $manext
-		return 0
-	fi
+    if [[ "$prev" == -l ]]; then
+        _filedir $manext
+        return 0
+    fi
 
-	_expand || return 0
+    _expand || return 0
 
-	# file based completion if parameter contains /
-	if [[ "$cur" == */* ]]; then
-		_filedir $manext
-		return 0
-	fi
+    # file based completion if parameter contains /
+    if [[ "$cur" == */* ]]; then
+        _filedir $manext
+        return 0
+    fi
 
-	uname=$( uname -s )
-	if [[ $uname == @(Linux|GNU|GNU/*|FreeBSD|Cygwin|CYGWIN_*) ]]; then
-		manpath=$( manpath 2>/dev/null || command man --path )
-	else
-		manpath=$MANPATH
-	fi
+    uname=$( uname -s )
+    if [[ $uname == @(Linux|GNU|GNU/*|FreeBSD|Cygwin|CYGWIN_*) ]]; then
+        manpath=$( manpath 2>/dev/null || command man --path )
+    else
+        manpath=$MANPATH
+    fi
 
-	if [ -z "$manpath" ]; then
-		COMPREPLY=( $( compgen -c -- "$cur" ) )
-		return 0
-	fi
+    if [ -z "$manpath" ]; then
+        COMPREPLY=( $( compgen -c -- "$cur" ) )
+        return 0
+    fi
 
-	# determine manual section to search
-	[[ "$prev" == $mansect ]] && sect=$prev || sect='*'
+    # determine manual section to search
+    [[ "$prev" == $mansect ]] && sect=$prev || sect='*'
 
-	manpath=$manpath:
-	if [ -n "$cur" ]; then
-		manpath="${manpath//://*man$sect/$cur* } ${manpath//://*cat$sect/$cur* }"
-	else
-		manpath="${manpath//://*man$sect/ } ${manpath//://*cat$sect/ }"
-	fi
+    manpath=$manpath:
+    if [ -n "$cur" ]; then
+        manpath="${manpath//://*man$sect/$cur* } ${manpath//://*cat$sect/$cur* }"
+    else
+        manpath="${manpath//://*man$sect/ } ${manpath//://*cat$sect/ }"
+    fi
 
-	# redirect stderr for when path doesn't exist
-	COMPREPLY=( $( eval command ls "$manpath" 2>/dev/null ) )
-	# weed out directory path names and paths to man pages
-	COMPREPLY=( ${COMPREPLY[@]##*/?(:)} )
-	# strip suffix from man pages
-	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|lzma)} )
-	COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
+    # redirect stderr for when path doesn't exist
+    COMPREPLY=( $( eval command ls "$manpath" 2>/dev/null ) )
+    # weed out directory path names and paths to man pages
+    COMPREPLY=( ${COMPREPLY[@]##*/?(:)} )
+    # strip suffix from man pages
+    COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|lzma)} )
+    COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
 
-	if [[ "$prev" != $mansect ]]; then
-		# File based completion for the rest, prepending ./ if needed
-		# (man 1.6f needs that for man pages in current dir)
-		local start=${#COMPREPLY[@]}
-		_filedir $manext
-		for (( i=$start; i < ${#COMPREPLY[@]}; i++ )); do
-			[[ ${COMPREPLY[i]} == */* ]] || COMPREPLY[i]=./${COMPREPLY[i]}
-		done
-	fi
+    if [[ "$prev" != $mansect ]]; then
+        # File based completion for the rest, prepending ./ if needed
+        # (man 1.6f needs that for man pages in current dir)
+        local start=${#COMPREPLY[@]}
+        _filedir $manext
+        for (( i=$start; i < ${#COMPREPLY[@]}; i++ )); do
+            [[ ${COMPREPLY[i]} == */* ]] || COMPREPLY[i]=./${COMPREPLY[i]}
+        done
+    fi
 
-	return 0
+    return 0
 }
 [ $USERLAND = GNU -o $UNAME = Darwin \
   -o $UNAME = FreeBSD -o $UNAME = SunOS -o $UNAME = Cygwin \
@@ -76,8 +76,8 @@ complete -F _man $filenames man apropos whatis
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mc b/contrib/mc
index 9edcd44..c834e05 100644
--- a/contrib/mc
+++ b/contrib/mc
@@ -3,48 +3,48 @@
 have mc &&
 _mc()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-e|--edit|-v|--view|-l|--ftplog|-P|--printwd)
-			_filedir
-			return 0
-			;;
-		-C|--colors|-D|--debuglevel)
-			# argument required but no completions available
-			return 0
-			;;
-		-h|--help|-V|--version)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -e|--edit|-v|--view|-l|--ftplog|-P|--printwd)
+            _filedir
+            return 0
+            ;;
+        -C|--colors|-D|--debuglevel)
+            # argument required but no completions available
+            return 0
+            ;;
+        -h|--help|-V|--version)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --stickchars -b --nocolor -c \
-			--color -C --colors -d --nomouse -e --edit -f \
-			--datadir -k --resetsoft -l --ftplog -P --printwd \
-			-s --slow -t --termcap -u --nosubshell -U --subshell \
-			-v --view -V --version -x --xterm -D --debuglevel -h \
-			--help' -- "$cur" ) )
-	else
-		_filedir -d
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --stickchars -b --nocolor -c \
+            --color -C --colors -d --nomouse -e --edit -f \
+            --datadir -k --resetsoft -l --ftplog -P --printwd \
+            -s --slow -t --termcap -u --nosubshell -U --subshell \
+            -v --view -V --version -x --xterm -D --debuglevel -h \
+            --help' -- "$cur" ) )
+    else
+        _filedir -d
+    fi
 } &&
 complete -F _mc $filenames mc
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mcrypt b/contrib/mcrypt
index f23d441..3ee8c41 100644
--- a/contrib/mcrypt
+++ b/contrib/mcrypt
@@ -3,84 +3,83 @@
 have mcrypt || have mdecrypt &&
 _mcrypt()
 {
-	local cur prev i decrypt
+    local cur prev i decrypt
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(g|-openpgp-z))
-			COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-@(o|-keymode))
-			COMPREPLY=( $( compgen -W '$( mcrypt --list-keymodes \
-				2>/dev/null )' -- "$cur" ) )
-			return 0
-			;;
-		-@(m|-mode))
-			COMPREPLY=( $( compgen -W "$( mcrypt --list \
-				2>/dev/null | sed -e 's/.*: //' -e 's/ $//' | \
-				sort | uniq )" -- "$cur" ) )
-			return 0
-			;;
-		-@(a|-algorithm))
-			COMPREPLY=( $( compgen -W "$( mcrypt --list \
-				2>/dev/null | awk '{print $1}' )" -- "$cur" ) )
-			return 0
-			;;
-		-@(h|-hash))
-			COMPREPLY=( $( compgen -W '$( mcrypt --list-hash \
-				2>/dev/null | sed -e 1d )' -- "$cur" ) )
-			return 0
-			;;
-		-@(k|s|-@(key?(size))))
-			return 0
-			;;
-		-@(f|c|-@(keyfile|config)))
-			_filedir
-			return 0
-			;;
-		--@(algorithm|mode)s-directory)
-			_filedir -d
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(g|-openpgp-z))
+            COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' -- "$cur" ) )
+            return 0
+            ;;
+        -@(o|-keymode))
+            COMPREPLY=( $( compgen -W '$( mcrypt --list-keymodes \
+                2>/dev/null )' -- "$cur" ) )
+            return 0
+            ;;
+        -@(m|-mode))
+            COMPREPLY=( $( compgen -W "$( mcrypt --list \
+                2>/dev/null | sed -e 's/.*: //' -e 's/ $//' | \
+                sort | uniq )" -- "$cur" ) )
+            return 0
+            ;;
+        -@(a|-algorithm))
+            COMPREPLY=( $( compgen -W "$( mcrypt --list 2>/dev/null | \
+                awk '{print $1}' )" -- "$cur" ) )
+            return 0
+            ;;
+        -@(h|-hash))
+            COMPREPLY=( $( compgen -W '$( mcrypt --list-hash 2>/dev/null | \
+                sed -e 1d )' -- "$cur" ) )
+            return 0
+            ;;
+        -@(k|s|-@(key?(size))))
+            return 0
+            ;;
+        -@(f|c|-@(keyfile|config)))
+            _filedir
+            return 0
+            ;;
+        --@(algorithm|mode)s-directory)
+            _filedir -d
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-g --openpgp --openpgp-z -d \
-			--decrypt -s --keysize -o --keymode -f --keyfile \
-			-c --config -a --algorithm --algorithms-directory \
-			-m --mode --modes-directory -h --hash -k --key \
-			--noiv -b --bare -z --gzip -p --bzip2 --flush -l \
-			--doublecheck -u --unlink --nodelete -t --time -F \
-			--force --echo -r --random --list --list-keymodes \
-			--list-hash -V --verbose -q --quiet --help -v \
-			--version -L --license' -- "$cur" ) )
-	elif [[ ${COMP_WORDS[0]} == mdecrypt ]]; then
-		_filedir '@(nc)'
-	else
-		decrypt=0
-		for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do
-			if [[ ${COMP_WORDS[i]} == -@(d|-decrypt) ]]; then
-				_filedir '@(nc)'
-				decrypt=1
-				break
-			fi
-		done
-		if [[ $decrypt -eq 0 ]]; then
-			_filedir
-		fi
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-g --openpgp --openpgp-z -d \
+            --decrypt -s --keysize -o --keymode -f --keyfile \
+            -c --config -a --algorithm --algorithms-directory \
+            -m --mode --modes-directory -h --hash -k --key \
+            --noiv -b --bare -z --gzip -p --bzip2 --flush -l \
+            --doublecheck -u --unlink --nodelete -t --time -F \
+            --force --echo -r --random --list --list-keymodes \
+            --list-hash -V --verbose -q --quiet --help -v \
+            --version -L --license' -- "$cur" ) )
+    elif [[ ${COMP_WORDS[0]} == mdecrypt ]]; then
+        _filedir '@(nc)'
+    else
+        decrypt=0
+        for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do
+            if [[ ${COMP_WORDS[i]} == -@(d|-decrypt) ]]; then
+                _filedir '@(nc)'
+                decrypt=1
+                break
+            fi
+        done
+        if [[ $decrypt -eq 0 ]]; then
+            _filedir
+        fi
+    fi
 } &&
 complete $filenames -F _mcrypt mcrypt mdecrypt
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mdadm b/contrib/mdadm
index 20316fb..0847b61 100644
--- a/contrib/mdadm
+++ b/contrib/mdadm
@@ -3,162 +3,185 @@
 have mdadm && {
 _mdadm_raid_level()
 {
-	local mode
-
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		case ${COMP_WORDS[i]} in
-			-@(C|-create))
-				mode=create
-				break
-				;;
-			-@(B|-build))
-				mode=build
-				break
-				;;
-		esac
-	done
-
-	case $mode in
-		create)
-			COMPREPLY=( $( compgen -W 'linear raid0 0 stripe raid1 1 mirror raid4 4 raid5 5 raid6 6 raid10 10 multipath mp faulty' -- "$cur" ) )
-			;;
-		build)
-			COMPREPLY=( $( compgen -W 'linear stripe raid0 0 raid1 multipath mp faulty' -- "$cur" ) )
-			;;
-	esac
+    local mode
+
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        case ${COMP_WORDS[i]} in
+            -@(C|-create))
+                mode=create
+                break
+                ;;
+            -@(B|-build))
+                mode=build
+                break
+                ;;
+        esac
+    done
+
+    case $mode in
+        create)
+            COMPREPLY=( $( compgen -W 'linear raid0 0 stripe raid1 1 mirror \
+                raid4 4 raid5 5 raid6 6 raid10 10 multipath mp faulty' \
+                -- "$cur" ) )
+            ;;
+        build)
+            COMPREPLY=( $( compgen -W 'linear stripe raid0 0 raid1 multipath \
+                mp faulty' -- "$cur" ) )
+            ;;
+    esac
 }
 
 _mdadm_raid_layout()
 {
-	local level
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == -@(l|-level) ]]; then
-			level=${COMP_WORDS[i+1]}
-			break
-		fi
-	done
-
-	case $level in
-		raid5)
-			COMPREPLY=( $( compgen -W 'left-asymmetric left-symmetric right-asymmetric right-symmetric la ra ls rs' -- "$cur" ) )
-			;;
-		raid10)
-			COMPREPLY=( $( compgen -W 'n o p' -- "$cur" ) )
-			;;
-		faulty)
-			COMPREPLY=( $( compgen -W 'write-transient wt read-transient rt write-persistent wp read-persistent rp write-all read-fixable rf clear flush none' -- $cur ) )
-			;;
-	esac
+    local level
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == -@(l|-level) ]]; then
+            level=${COMP_WORDS[i+1]}
+            break
+        fi
+    done
+
+    case $level in
+        raid5)
+            COMPREPLY=( $( compgen -W 'left-asymmetric left-symmetric \
+                right-asymmetric right-symmetric la ra ls rs' -- "$cur" ) )
+            ;;
+        raid10)
+            COMPREPLY=( $( compgen -W 'n o p' -- "$cur" ) )
+            ;;
+        faulty)
+            COMPREPLY=( $( compgen -W 'write-transient wt read-transient rt \
+                write-persistent wp read-persistent rp write-all read-fixable \
+                rf clear flush none' -- $cur ) )
+            ;;
+    esac
 }
 
 _mdadm_auto_flag()
 {
-	COMPREPLY=( $( compgen -W 'no yes md mdp part p' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'no yes md mdp part p' -- "$cur" ) )
 }
 
 _mdadm_update_flag()
 {
-	COMPREPLY=( $( compgen -W 'sparc2.2 summaries uuid name homehost resync byteorder super-minor' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'sparc2.2 summaries uuid name homehost resync \
+        byteorder super-minor' -- "$cur" ) )
 }
 
 
 _mdadm()
 {
-	local cur prev mode options
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	# --name value style option
-	case $prev in
-		-@(c|b))
-			_filedir
-			return 0
-			;;
-		-l)
-			_mdadm_raid_level
-			return 0
-			;;
-		-p)
-			_mdadm_raid_layout
-			return 0
-			;;
-		-a)
-			_mdadm_auto_flag
-			return 0
-			;;
-		-U)
-			_mdadm_update_flag
-			return 0
-			;;
-	esac
-
-	# --name=value style option
-	if [[ "$cur" == *=* ]]; then
-		prev=${cur/=*/}
-		cur=${cur/*=/}
-		case "$prev" in
-		--@(config|bitmap|backup-file))
-			_filedir
-			return 0
-			;;
-		--level)
-			_mdadm_raid_level
-			return 0
-			;;
-		--@(layout|parity))
-			_mdadm_raid_layout
-			return 0
-			;;
-		--auto)
-			_mdadm_auto_flag
-			return 0
-			;;
-		--update)
-			_mdadm_update_flag
-			return 0
-			;;
-		esac
-	fi
-
-        options='-h --help --help-options -V --version -v --verbose -q --quiet -b --brief -f --force -c --config= -s --scan -e --metadata= --homehost='
-
-	if [[ "$cur" == -* ]]; then
-		if [[ $COMP_CWORD -eq 1 ]] ; then
-			COMPREPLY=( $( compgen -W "$options -A --assemble -B --build -C --create -F --follow --monitor -G --grow" -- "$cur" ) )
-		else
-			case ${COMP_WORDS[COMP_CWORD-1]} in
-				-@(A|-assemble))
-					COMPREPLY=( $( compgen -W "$options -u --uuid= -m --super-minor= -N --name= -f --force -R --run --no-degraded -a --auto -b --bitmap= --backup-file= -U --update= --auto-update-homehost" -- "$cur" ) )
-					;;
-				-@(B|C|G|-build|-create|-grow))
-					COMPREPLY=( $( compgen -W "$options -n --raid-devices= -x --spare-devices= -z --size= -c --chunk= --rounding= -l --level= -p --layout= --parity= -b --bitmap= --bitmap-chunk= -W --write-mostly --write-behind= --assume-clean --backup-file= -N --name= -R --run -f --force -a --auto" -- "$cur" ) )
-					;;
-				-@(F|-follow|-monitor))
-					COMPREPLY=( $( compgen -W "$options -m --mail -p --program --alert -y --syslog -d --delay -f --daemonise -i --pid-file -1 --oneshot -t --test" -- "$cur" ) )
-
-					;;
-				@(/dev/*|--add|--fail|--remove))
-					COMPREPLY=( $( compgen -W "$options -a --add --re-add -r --remove -f --fail --set-faulty" -- "$cur" ) )
-					;;
-				*)
-					COMPREPLY=( $( compgen -W "$options -Q --query -D --detail -E --examine --sparc2.2 -X --examine-bitmap -R --run -S --stop -o --readonly -w --readwrite --zero-superblock -t --test" -- "$cur" ) )
-					;;
-			esac
-		fi
-	else
-		cur=${cur:=/dev/}
-		_filedir
-	fi
+    local cur prev mode options
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    # --name value style option
+    case $prev in
+        -@(c|b))
+            _filedir
+            return 0
+            ;;
+        -l)
+            _mdadm_raid_level
+            return 0
+            ;;
+        -p)
+            _mdadm_raid_layout
+            return 0
+            ;;
+        -a)
+            _mdadm_auto_flag
+            return 0
+            ;;
+        -U)
+            _mdadm_update_flag
+            return 0
+            ;;
+    esac
+
+    # --name=value style option
+    if [[ "$cur" == *=* ]]; then
+        prev=${cur/=*/}
+        cur=${cur/*=/}
+        case "$prev" in
+        --@(config|bitmap|backup-file))
+            _filedir
+            return 0
+            ;;
+        --level)
+            _mdadm_raid_level
+            return 0
+            ;;
+        --@(layout|parity))
+            _mdadm_raid_layout
+            return 0
+            ;;
+        --auto)
+            _mdadm_auto_flag
+            return 0
+            ;;
+        --update)
+            _mdadm_update_flag
+            return 0
+            ;;
+        esac
+    fi
+
+    options='-h --help --help-options -V --version -v --verbose -q --quiet -b \
+        --brief -f --force -c --config= -s --scan -e --metadata= --homehost='
+
+    if [[ "$cur" == -* ]]; then
+        if [[ $COMP_CWORD -eq 1 ]] ; then
+            COMPREPLY=( $( compgen -W "$options -A --assemble -B --build -C \
+                --create -F --follow --monitor -G --grow" -- "$cur" ) )
+        else
+            case ${COMP_WORDS[COMP_CWORD-1]} in
+                -@(A|-assemble))
+                    COMPREPLY=( $( compgen -W "$options -u --uuid= -m \
+                        --super-minor= -N --name= -f --force -R --run \
+                        --no-degraded -a --auto -b --bitmap= --backup-file= \
+                        -U --update= --auto-update-homehost" -- "$cur" ) )
+                    ;;
+                -@(B|C|G|-build|-create|-grow))
+                    COMPREPLY=( $( compgen -W "$options -n --raid-devices= -x \
+                        --spare-devices= -z --size= -c --chunk= --rounding= -l \
+                        --level= -p --layout= --parity= -b --bitmap= \
+                        --bitmap-chunk= -W --write-mostly --write-behind= \
+                        --assume-clean --backup-file= -N --name= -R --run -f \
+                        --force -a --auto" -- "$cur" ) )
+                    ;;
+                -@(F|-follow|-monitor))
+                    COMPREPLY=( $( compgen -W "$options -m --mail -p --program \
+                        --alert -y --syslog -d --delay -f --daemonise -i \
+                        --pid-file -1 --oneshot -t --test" -- "$cur" ) )
+
+                    ;;
+                @(/dev/*|--add|--fail|--remove))
+                    COMPREPLY=( $( compgen -W "$options -a --add --re-add -r \
+                        --remove -f --fail --set-faulty" -- "$cur" ) )
+                    ;;
+                *)
+                    COMPREPLY=( $( compgen -W "$options -Q --query -D --detail \
+                        -E --examine --sparc2.2 -X --examine-bitmap -R --run \
+                        -S --stop -o --readonly -w --readwrite \
+                        --zero-superblock -t --test" -- "$cur" ) )
+                    ;;
+            esac
+        fi
+    else
+        cur=${cur:=/dev/}
+        _filedir
+    fi
 }
 complete -F _mdadm mdadm
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/minicom b/contrib/minicom
index 3add87f..4b6a9e7 100644
--- a/contrib/minicom
+++ b/contrib/minicom
@@ -3,49 +3,52 @@
 have minicom &&
 _minicom()
 {
-	local cur prev confdir
+    local cur prev confdir
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-@(a|c))
-			COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
-			return 0
-			;;
-		-@(S|C))
-			_filedir
-			return 0
-			;;
-		-P)
-			COMPREPLY=( $( command ls /dev/tty* ) )
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]} ${COMPREPLY[@]#/dev/}' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        -@(a|c))
+            COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
+            return 0
+            ;;
+        -@(S|C))
+            _filedir
+            return 0
+            ;;
+        -P)
+            COMPREPLY=( $( command ls /dev/tty* ) )
+            COMPREPLY=( $( compgen -W '${COMPREPLY[@]} ${COMPREPLY[@]#/dev/}' \
+                -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-s -o -m -M -z -l -L -w -a -t \
-			-c -S -d -p -C -T -7 -8' -- "$cur" ) )
-		return 0
-	else
-		[ -n "$( command ls /etc/minirc.* 2>/dev/null)" ] && confdir=/etc
-		[ -n "$( command ls /etc/minicom/minirc.* 2>/dev/null)" ] && confdir=/etc/minicom
-		if [ -n "$confdir" ]; then
-			COMPREPLY=( $( compgen -W '$( command ls $confdir/minirc.* | \
-				sed -e "s|$confdir/minirc.||")' -- "$cur" ) )
-			return 0
-		fi
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-s -o -m -M -z -l -L -w -a -t \
+            -c -S -d -p -C -T -7 -8' -- "$cur" ) )
+        return 0
+    else
+        [ -n "$( command ls /etc/minirc.* 2>/dev/null)" ] \
+            && confdir=/etc
+        [ -n "$( command ls /etc/minicom/minirc.* 2>/dev/null)" ] \
+            && confdir=/etc/minicom
+        if [ -n "$confdir" ]; then
+            COMPREPLY=( $( compgen -W '$( command ls $confdir/minirc.* | \
+                sed -e "s|$confdir/minirc.||")' -- "$cur" ) )
+            return 0
+        fi
+    fi
 } &&
 complete -F _minicom $default minicom
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mkinitrd b/contrib/mkinitrd
index 771ceb6..040ab2a 100644
--- a/contrib/mkinitrd
+++ b/contrib/mkinitrd
@@ -3,58 +3,58 @@
 have mkinitrd &&
 _mkinitrd()
 {
-	local cur prev args split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		--@(preload|with|builtin))
-			_modules
-			return 0
-			;;
-		--@(fstab|dsdt))
-			_filedir
-			return 0
-			;;
-		--net-dev)
-			_available_interfaces
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--version --help -v -f --preload \
-			--force-scsi-probe --omit-scsi-modules \
-			--omit-ide-modules --image-version --force-raid-probe \
-			--omit-raid-modules --with --force-lvm-probe \
-			--omit-lvm-modules --builtin --omit-dmraid --net-dev \
-			--fstab --nocompress --dsdt --bootchart' -- "$cur" ) )
-	else
-		_count_args
-
-		case $args in
-			1)
-				_filedir
-				;;
-			2)
-				_kernel_versions
-				;;
-		esac
-	fi
+    local cur prev args split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        --@(preload|with|builtin))
+            _modules
+            return 0
+            ;;
+        --@(fstab|dsdt))
+            _filedir
+            return 0
+            ;;
+        --net-dev)
+            _available_interfaces
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--version --help -v -f --preload \
+            --force-scsi-probe --omit-scsi-modules \
+            --omit-ide-modules --image-version --force-raid-probe \
+            --omit-raid-modules --with --force-lvm-probe \
+            --omit-lvm-modules --builtin --omit-dmraid --net-dev \
+            --fstab --nocompress --dsdt --bootchart' -- "$cur" ) )
+    else
+        _count_args
+
+        case $args in
+            1)
+                _filedir
+                ;;
+            2)
+                _kernel_versions
+                ;;
+        esac
+    fi
 
 } &&
 complete -F _mkinitrd mkinitrd
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mock b/contrib/mock
index af9eabc..0c94e1b 100644
--- a/contrib/mock
+++ b/contrib/mock
@@ -3,82 +3,83 @@
 have mock &&
 _mock()
 {
-	local cur prev plugins cfgdir split=false
+    local cur prev plugins cfgdir split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	plugins='tmpfs root_cache yum_cache bind_mount ccache'
-	cfgdir=/etc/mock
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    plugins='tmpfs root_cache yum_cache bind_mount ccache'
+    cfgdir=/etc/mock
 
-	count=0
-	for i in "${COMP_WORDS[@]}" ; do
-		[ $count -eq $COMP_CWORD ] && break
-		if [[ "$i" == --configdir ]] ; then
-			cfgdir="${COMP_WORDS[((count+1))]}"
-		elif [[ "$i" == --configdir=* ]] ; then
-			cfgdir=${i/*=/}
-		fi
-		count=$((++count))
-	done
+    count=0
+    for i in "${COMP_WORDS[@]}" ; do
+        [ $count -eq $COMP_CWORD ] && break
+        if [[ "$i" == --configdir ]] ; then
+            cfgdir="${COMP_WORDS[((count+1))]}"
+        elif [[ "$i" == --configdir=* ]] ; then
+            cfgdir=${i/*=/}
+        fi
+        count=$((++count))
+    done
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case $prev in
-		-@(h|-help|-copy@(in|out)|-arch|D|-define|-with?(out)|-uniqueext|-rpmbuild_timeout|-sources|-cwd))
-			return 0
-			;;
-		-r|--root)
-			COMPREPLY=( $( compgen -W "$( command ls $cfgdir )" \
-				-- $cur ) )
-			COMPREPLY=( ${COMPREPLY[@]/%.cfg/} )
-			return 0
-			;;
-		--@(config|result)dir)
-			_filedir -d
-			return 0
-			;;
-		--spec)
-			_filedir spec
-			return 0
-			;;
-		--target)
-			# Yep, compatible archs, not compatible build archs
-			# (e.g. ix86 chroot builds in x86_64 mock host)
-			# This would actually depend on what the target root
-			# can be used to build for...
-			COMPREPLY=( $( compgen -W "$( command rpm --showrc | sed -ne 's/^\s*compatible\s\+archs\s*:\s*\(.*\)/\1/i p' )" -- "$cur" ) )
-			return 0
-			;;
-		--@(en|dis)able-plugin)
-			COMPREPLY=( $( compgen -W "$plugins" -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        -@(h|-help|-copy@(in|out)|-arch|D|-define|-with?(out)|-uniqueext|-rpmbuild_timeout|-sources|-cwd))
+            return 0
+            ;;
+        -r|--root)
+            COMPREPLY=( $( compgen -W "$( command ls $cfgdir )" -- $cur ) )
+            COMPREPLY=( ${COMPREPLY[@]/%.cfg/} )
+            return 0
+            ;;
+        --@(config|result)dir)
+            _filedir -d
+            return 0
+            ;;
+        --spec)
+            _filedir spec
+            return 0
+            ;;
+        --target)
+            # Yep, compatible archs, not compatible build archs
+            # (e.g. ix86 chroot builds in x86_64 mock host)
+            # This would actually depend on what the target root
+            # can be used to build for...
+            COMPREPLY=( $( compgen -W "$( command rpm --showrc | \
+                sed -ne 's/^\s*compatible\s\+archs\s*:\s*\(.*\)/\1/i p' )" \
+                -- "$cur" ) )
+            return 0
+            ;;
+        --@(en|dis)able-plugin)
+            COMPREPLY=( $( compgen -W "$plugins" -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]] ; then
-		COMPREPLY=( $( compgen -W '--version -h --help --rebuild \
-			--buildsrpm --shell --chroot --clean --init \
-			--installdeps --install --update --orphanskill \
-			--copyin --copyout -r --root --offline --no-clean \
-			--cleanup-after --no-cleanup-after --arch --target \
-			-D --define --with --without --resultdir --uniqueext \
-			--configdir --rpmbuild_timeout --unpriv --cwd --spec \
-			--sources -v --verbose -q --quiet --trace \
-			--enable-plugin --disable-plugin --print-root-path' \
-			-- "$cur" ) )
-	else
-		_filedir '?(no)src.rpm'
-	fi
+    if [[ "$cur" == -* ]] ; then
+        COMPREPLY=( $( compgen -W '--version -h --help --rebuild \
+            --buildsrpm --shell --chroot --clean --init \
+            --installdeps --install --update --orphanskill \
+            --copyin --copyout -r --root --offline --no-clean \
+            --cleanup-after --no-cleanup-after --arch --target \
+            -D --define --with --without --resultdir --uniqueext \
+            --configdir --rpmbuild_timeout --unpriv --cwd --spec \
+            --sources -v --verbose -q --quiet --trace \
+            --enable-plugin --disable-plugin --print-root-path' \
+            -- "$cur" ) )
+    else
+        _filedir '?(no)src.rpm'
+    fi
 } &&
 complete -F _mock $filenames mock
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/modules b/contrib/modules
index 5bb286f..1f99534 100644
--- a/contrib/modules
+++ b/contrib/modules
@@ -56,26 +56,24 @@ _module () {
 
       COMPREPLY=( $(compgen -W "$options" -- "$cur") )
 
-   elif [ $COMP_CWORD -eq 2 ] ; then
-
-      case "$prev" in
-      @(add|display|help|load|show|whatis))
-          COMPREPLY=( $(_module_avail "$cur") )
-          ;;
-
-      @(rm|switch|swap|unload|update))
-          COMPREPLY=( $(_module_list "$cur") )
-          ;;
-      unuse)
-          COMPREPLY=( $(_module_path "$cur") )
-         ;;
-      esac
-   elif [ $COMP_CWORD -eq 3 ] ; then
-      case ${COMP_WORDS[1]} in
-         @(sw?(ap|itch)))
-            COMPREPLY=( $(_module_avail "$cur") )
-            ;;
-      esac
+    elif [ $COMP_CWORD -eq 2 ] ; then
+        case "$prev" in
+            @(add|display|help|load|show|whatis))
+                COMPREPLY=( $(_module_avail "$cur") )
+                ;;
+            @(rm|switch|swap|unload|update))
+                COMPREPLY=( $(_module_list "$cur") )
+                ;;
+            unuse)
+                COMPREPLY=( $(_module_path "$cur") )
+                ;;
+        esac
+    elif [ $COMP_CWORD -eq 3 ] ; then
+        case ${COMP_WORDS[1]} in
+            @(sw?(ap|itch)))
+                COMPREPLY=( $(_module_avail "$cur") )
+                ;;
+        esac
    fi
    return 0
 }
@@ -84,8 +82,8 @@ complete -F _module $default module
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/monodevelop b/contrib/monodevelop
index 46f4b4c..5ec8202 100644
--- a/contrib/monodevelop
+++ b/contrib/monodevelop
@@ -3,100 +3,84 @@
 have monodevelop &&
 _monodevelop()
 {
-	local cur
-	cur=`_get_cword`
+    local cur
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-? -help \
-									-help2 \
-									-ipc-tcp \
-									-newwindow \
-									-nologo \
-									-usage \
-									-V -version' -- "$cur" ) )
-	else
-		_filedir
-	fi
-	return 0
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-? -help -help2 -ipc-tcp -newwindow -nologo \
+            -usage -V -version' -- "$cur" ) )
+    else
+        _filedir
+    fi
+    return 0
 } &&
 complete -F _monodevelop monodevelop
 
 have mdtool &&
 _mdtool()
 {
-	local cur prev command i
+    local cur prev command i
 
-	COMPREPLY=()
+    COMPREPLY=()
 
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[i]} == @(build|generate-makefiles|setup) ]]; then
-			command=${COMP_WORDS[i]}
-		fi
-	done
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[i]} == @(build|generate-makefiles|setup) ]]; then
+            command=${COMP_WORDS[i]}
+        fi
+    done
 
-	if [[ -n "$command" ]]; then
-		case $command in
-			"build")
-				COMPREPLY=( $( compgen -W '--f --buildfile --p --project' -S":" -- "$cur" ) )
-				# TODO: This does not work :(
-				#if [[ "$prev" == *: ]]; then
-				#	case "$prev" in
-				#		@(--p:|--project:))
-				#			COMPREPLY=( $( compgen -f -G "*.mdp" -- "$cur" ) )
-				#			;;
-				#		@(--f:|--buildfile:))
-				#			COMPREPLY=( $( compgen -f -G "*.mdp" -G "*.mds" -- "$cur" ) )
-				#			;;
-				#	esac
-				#fi
-				return 0
-				;;
-			"generate-makefiles")
-				COMPREPLY=( $( compgen $filenames -G"*.mds" -- "$cur" ) )
-				if [[ "$prev" == *mds ]]; then
-					COMPREPLY=( $( compgen -W '--simple-makefiles --s --d:' -- "$cur" ) )
-				fi
-				return 0
-				;;
-			"setup")
-				# TODO: at least return filenames after these options.
-				COMPREPLY=( $( compgen -W 'install i \
-											uninstall u \
-											check-install ci \
-											update up \
-											list l \
-											list-av la \
-											list-update lu \
-											rep-add ra \
-											rep-remove rr \
-											rep-update ru \
-											rep-list rl \
-											reg-update reg-build rgu \
-											info \
-											rep-build rb \
-											pack p \
-											help h \
-											dump-file' -- "$cur" ) )
-				return 0
-				;;
-		esac
-	fi
+    if [[ -n "$command" ]]; then
+        case $command in
+            "build")
+                COMPREPLY=( $( compgen -W '--f --buildfile --p --project' \
+                    -S":" -- "$cur" ) )
+                # TODO: This does not work :(
+                #if [[ "$prev" == *: ]]; then
+                #   case "$prev" in
+                #       @(--p:|--project:))
+                #           COMPREPLY=( $( compgen -f -G "*.mdp" -- "$cur" ) )
+                #           ;;
+                #       @(--f:|--buildfile:))
+                #           COMPREPLY=( $( compgen -f -G "*.mdp" -G "*.mds" -- "$cur" ) )
+                #           ;;
+                #   esac
+                #fi
+                return 0
+                ;;
+            "generate-makefiles")
+                COMPREPLY=( $( compgen $filenames -G"*.mds" -- "$cur" ) )
+                if [[ "$prev" == *mds ]]; then
+                    COMPREPLY=( $( compgen -W '--simple-makefiles --s --d:' \
+                        -- "$cur" ) )
+                fi
+                return 0
+                ;;
+            "setup")
+                # TODO: at least return filenames after these options.
+                COMPREPLY=( $( compgen -W 'install i uninstall u check-install \
+                    ci update up list l list-av la list-update lu rep-add ra \
+                    rep-remove rr rep-update ru rep-list rl reg-update \
+                    reg-build rgu info rep-build rb pack p help h dump-file' \
+                    -- "$cur" ) )
+                return 0
+                ;;
+        esac
+    fi
 
-	COMPREPLY=( $( compgen -W 'gsetup build dbgen project-export \
-								generate-makefiles gettext-update \
-								setup -q' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'gsetup build dbgen project-export \
+        generate-makefiles gettext-update setup -q' -- "$cur" ) )
 
-	return 0
+    return 0
 } &&
 complete -F _mdtool $filenames mdtool
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mplayer b/contrib/mplayer
index c6bb8e8..5c8d8f7 100644
--- a/contrib/mplayer
+++ b/contrib/mplayer
@@ -3,269 +3,240 @@
 have mplayer && {
 _mplayer_options_list()
 {
-	cur=${cur%\\}
-	COMPREPLY=( $( compgen -W "$( $1 $2 help 2>/dev/null | \
-		sed -e '1,/^Available/d' | awk '{print $1}' | \
-		sed -e 's/:$//' -e 's/^'${2#-}'$//' -e 's/<.*//' )" -- "$cur" ) )
+    cur=${cur%\\}
+    COMPREPLY=( $( compgen -W "$( $1 $2 help 2>/dev/null | \
+        sed -e '1,/^Available/d' | awk '{print $1}' | \
+        sed -e 's/:$//' -e 's/^'${2#-}'$//' -e 's/<.*//' )" -- "$cur" ) )
 }
 
 _mplayer()
 {
-	local cmd cur prev skinsdir IFS=$' \t\n' i j k=0
+    local cmd cur prev skinsdir IFS=$' \t\n' i j k=0
 
-	COMPREPLY=()
-	cmd=${COMP_WORDS[0]}
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cmd=${COMP_WORDS[0]}
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@([av][cfo]|[av]fm|vop|fstype|demuxer|o[av]c|of|profile))
-			_mplayer_options_list $cmd $prev
-			return 0
-			;;
-		-audiofile)
-			_filedir '@(mp3|MP3|mpg|MPG|ogg|OGG|w?(a)v|W?(A)V|mid|MID|flac|FLAC|mka|MKA|ape|APE)'
-			return 0
-			;;
-		-font)
-			_filedir '@(desc|ttf)'
-			return 0
-			;;
-		-sub)
-			_filedir '@(srt|SRT|sub|SUB|txt|TXT|utf|UTF|rar|RAR|mpsub|smi|js|ssa|SSA|ass|ASS)'
-			return 0
-			;;
-		-vobsub)
-			_filedir '@(idx|IDX|ifo|IFO|sub|SUB)'
-			IFS=$'\t\n'
-			COMPREPLY=( $( for i in "${COMPREPLY[@]}"; do
-						if [ -f $i -a -r $i ]; then
-							echo ${i%.*}
-						else
-							echo $i
-						fi
-				       done ) )
-			IFS=$' \t\n'
-			return 0
-			;;
-		-ifo)
-			_filedir '@(ifo|IFO)'
-			return 0
-			;;
-		-cuefile)
-			_filedir '@(bin|BIN|cue|CUE)'
-			return 0
-			;;
-		-skin)
-			# if you don't have installed mplayer in /usr you
-			# may want to set the MPLAYER_SKINS_DIR global variable
-			if [ -n "$MPLAYER_SKINS_DIR" ]; then
-				skinsdir=$MPLAYER_SKINS_DIR
-			else
-				skinsdir=/usr/share/mplayer/Skin
-			fi
+    case "$prev" in
+        -@([av][cfo]|[av]fm|vop|fstype|demuxer|o[av]c|of|profile))
+            _mplayer_options_list $cmd $prev
+            return 0
+            ;;
+        -audiofile)
+            _filedir '@(mp3|MP3|mpg|MPG|ogg|OGG|w?(a)v|W?(A)V|mid|MID|flac|FLAC|mka|MKA|ape|APE)'
+            return 0
+            ;;
+        -font)
+            _filedir '@(desc|ttf)'
+            return 0
+            ;;
+        -sub)
+            _filedir '@(srt|SRT|sub|SUB|txt|TXT|utf|UTF|rar|RAR|mpsub|smi|js|ssa|SSA|ass|ASS)'
+            return 0
+            ;;
+        -vobsub)
+            _filedir '@(idx|IDX|ifo|IFO|sub|SUB)'
+            IFS=$'\t\n'
+            COMPREPLY=( $( for i in "${COMPREPLY[@]}"; do
+                        if [ -f $i -a -r $i ]; then
+                            echo ${i%.*}
+                        else
+                            echo $i
+                        fi
+                       done ) )
+            IFS=$' \t\n'
+            return 0
+            ;;
+        -ifo)
+            _filedir '@(ifo|IFO)'
+            return 0
+            ;;
+        -cuefile)
+            _filedir '@(bin|BIN|cue|CUE)'
+            return 0
+            ;;
+        -skin)
+            # if you don't have installed mplayer in /usr you
+            # may want to set the MPLAYER_SKINS_DIR global variable
+            if [ -n "$MPLAYER_SKINS_DIR" ]; then
+                skinsdir=$MPLAYER_SKINS_DIR
+            else
+                skinsdir=/usr/share/mplayer/Skin
+            fi
 
-			IFS=$'\t\n'
-			for i in ~/.mplayer/Skin $skinsdir; do
-				if [ -d $i -a -r $i ]; then
-					for j in $( compgen -d $i/$cur ); do
-						COMPREPLY[$k]=${j#$i/}
-						k=$((++k))
-					done
-				fi
-			done
-			IFS=$' \t\n'
-			return 0
-			;;
-		-@(mixer|@(cdrom|dvd)-device|dvdauth|fb|zrdev))
-			cur=${cur:=/dev/}
-			_filedir
-			return 0
-			;;
-		-@(edl?(out)|lircconf|menu-cfg|playlist|csslib|dumpfile)| \
-		-@(subfile|vobsub|aofile|fbmodeconfig|include|o|dvdkey)| \
-		-passlogfile)
-			_filedir
-			return 0
-			;;
-		-@(auto@(q|sync)|loop|menu-root|speed|sstep|aid|alang)| \
-		-@(?(@(audio|sub)-)demuxer|bandwidth|cache|chapter)| \
-		-@(dvd?(angle)|fps|frames|mc|passwd|user|sb|srate|ss|vcd)| \
-		-@(vi?(d|vo)|ffactor|sid|slang|spu@(align|aa|gauss))| \
-		-@(vobsubid|delay|bpp|brightness|contrast|dfbopts|display)| \
-		-@(fbmode|geometry|guiwid|hue|icelayer|screen[wh]|wid)| \
-		-@(monitor@(aspect|-@(dotclock|[hv]freq))|panscan|saturation)| \
-		-@(xineramascreen|zr@(crop|norm|quality|[xy]doff|[vh]dec))| \
-		-@(aspect|pp|x|y|xy|z|stereo|audio-@(density|delay|preload))| \
-		-@(endpos|osdlevel|ffourcc|sws|channels|skiplimit|format)| \
-		-@(ofps|aa@(driver|@(osd|sub)color)|vobsubout?(i@(ndex|d)))| \
-		-sub@(-bg-@(alpha|color)|cp|delay|fps|pos|align|width)| \
-		-sub@(font-@(blur|outline|autoscale|encoding|@(osd|text)-scale)))
-			return 0
-			;;
-		-lavdopts)
-			COMPREPLY=( $( compgen -W 'ec er= bug= idct= gray' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-lavcopts)
-			COMPREPLY=( $( compgen -W 'vcodec= vqmin= vqscale= \
-					vqmax= mbqmin= mbqmax= vqdiff= \
-					vmax_b_frames= vme= vhq v4mv \
-					keyint= vb_strategy= vpass= \
-					aspect= vbitrate= vratetol= \
-					vrc_maxrate= vrc_minrate= \
-					vrc_buf_size= vb_qfactor= vi_qfactor= \
-					vb_qoffset= vi_qoffset= vqblur= \
-					vqcomp= vrc_eq= vrc_override= \
-					vrc_init_cplx= vqsquish= vlelim= \
-					vcelim= vstrict= vdpart vpsize= gray \
-					vfdct= idct= lumi_mask= dark_mask= \
-					tcplx_mask= scplx_mask= naq ildct \
-					format= pred qpel precmp= cmp= \
-					subcmp= predia= dia= trell last_pred= \
-					preme= subq= psnr mpeg_quant aic umv' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-ssf)
-			COMPREPLY=( $( compgen -W 'lgb= cgb= ls= cs= chs= \
-					cvs=' -- "$cur" ) )
-			return 0
-			;;
-		-jpeg)
-			COMPREPLY=( $( compgen -W 'noprogressive progressive \
-					nobaseline baseline optimize= \
-					smooth= quality= outdir=' -- "$cur" ) )
-			return 0
-			;;
-		-xvidopts)
-			COMPREPLY=( $( compgen -W 'dr2 nodr2' -- "$cur" ) )
-			return 0
-			;;
-		-xvidencopts)
-			COMPREPLY=( $( compgen -W 'pass= bitrate= \
-					fixed_quant= me_quality= 4mv \
-					rc_reaction_delay_factor= \
-					rc_averaging_period= rc_buffer= \
-					quant_range= min_key_interval= \
-					max_key_interval= mpeg_quant \
-					mod_quant lumi_mask hintedme \
-					hintfile debug keyframe_boost= \
-					kfthreshold= kfreduction=' -- "$cur" ) )
-			return 0
-			;;
-		-divx4opts)
-			COMPREPLY=( $( compgen -W 'br= key= deinterlace q= \
-					min_quant= max_quant= rc_period= \
-					rc_reaction_period= crispness= \
-					rc_reaction_ratio= pass= vbrpass= \
-					help' -- "$cur" ) )
-			return 0
-			;;
-		-info)
-			COMPREPLY=( $( compgen -W 'name= artist= genre= \
-					subject= copyright= srcform= \
-					comment= help' -- "$cur" ) )
-			return 0
-			;;
-		-lameopts)
-			COMPREPLY=( $( compgen -W 'vbr= abr cbr br= q= aq= \
-					ratio= vol= mode= padding= fast \
-					preset= help' -- "$cur" ) )
-			return 0
-			;;
-		-rawaudio)
-			COMPREPLY=( $( compgen -W 'on channels= rate= \
-					samplesize= format=' -- "$cur" ) )
-			return 0
-			;;
-		-rawvideo)
-			COMPREPLY=( $( compgen -W 'on fps= sqcif qcif cif \
-					4cif pal ntsc w= h= y420 yv12 yuy2 \
-					y8 format= size=' -- "$cur" ) )
-			return 0
-			;;
-		-aop)
-			COMPREPLY=( $( compgen -W 'list= delay= format= fout= \
-					volume= mul= softclip' -- "$cur" ) )
-			return 0
-			;;
-		-dxr2)
-			COMPREPLY=( $( compgen -W 'ar-mode= iec958-encoded \
-					iec958-decoded mute ucode= 75ire bw \
-					color interlaced macrovision= norm= \
-					square-pixel ccir601-pixel cr-left= \
-					cr-right= cr-top= cr-bot= ck-rmin= \
-					ck-gmin= ck-bmin= ck-rmax= ck-gmax= \
-					ck-bmax= ck-r= ck-g= ck-b= \
-					ignore-cache= ol-osd= olh-cor= \
-					olw-cor= olx-cor= oly-cor= overlay \
-					overlay-ratio= update-cache' -- "$cur" ))
-			return 0
-			;;
-		-tv)
-			COMPREPLY=( $( compgen -W 'on noaudio driver= device= \
-					input= freq= outfmt= width= height= \
-					buffersize= norm= channel= chanlist= \
-					audiorate= forceaudio alsa amode= \
-					forcechan= adevice= audioid= volume= \
-					bass= treble= balance= fps= \
-					channels= immediatemode=' -- "$cur" ) )
-			return 0
-			;;
-		-mf)
-			COMPREPLY=( $( compgen -W 'on w= h= fps= type=' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-cdda)
-			COMPREPLY=( $( compgen -W 'speed= paranoia= \
-					generic-dev= sector-size= overlap= \
-					toc-bias toc-offset= skip noskip' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-input)
-			COMPREPLY=( $( compgen -W 'conf= ar-delay ar-rate \
-					keylist cmdlist js-dev file' -- "$cur" ) )
-			return 0
-			;;
-		-af)
-			COMPREPLY=( $( compgen -W 'resample resample= \
-					channels channels= format format= \
-					volume volume= delay delay= pan \
-					pan= sub sub= surround surround=' \
-					-- "$cur" ) )
-			return 0
-			;;
-		-af-adv)
-			COMPREPLY=( $( compgen -W 'force= list=' -- "$cur" ) )
-			return 0
-			;;
-	esac
+            IFS=$'\t\n'
+            for i in ~/.mplayer/Skin $skinsdir; do
+                if [ -d $i -a -r $i ]; then
+                    for j in $( compgen -d $i/$cur ); do
+                        COMPREPLY[$k]=${j#$i/}
+                        k=$((++k))
+                    done
+                fi
+            done
+            IFS=$' \t\n'
+            return 0
+            ;;
+        -@(mixer|@(cdrom|dvd)-device|dvdauth|fb|zrdev))
+            cur=${cur:=/dev/}
+            _filedir
+            return 0
+            ;;
+        -@(edl?(out)|lircconf|menu-cfg|playlist|csslib|dumpfile)| \
+        -@(subfile|vobsub|aofile|fbmodeconfig|include|o|dvdkey)| \
+        -passlogfile)
+            _filedir
+            return 0
+            ;;
+        -@(auto@(q|sync)|loop|menu-root|speed|sstep|aid|alang)| \
+        -@(?(@(audio|sub)-)demuxer|bandwidth|cache|chapter)| \
+        -@(dvd?(angle)|fps|frames|mc|passwd|user|sb|srate|ss|vcd)| \
+        -@(vi?(d|vo)|ffactor|sid|slang|spu@(align|aa|gauss))| \
+        -@(vobsubid|delay|bpp|brightness|contrast|dfbopts|display)| \
+        -@(fbmode|geometry|guiwid|hue|icelayer|screen[wh]|wid)| \
+        -@(monitor@(aspect|-@(dotclock|[hv]freq))|panscan|saturation)| \
+        -@(xineramascreen|zr@(crop|norm|quality|[xy]doff|[vh]dec))| \
+        -@(aspect|pp|x|y|xy|z|stereo|audio-@(density|delay|preload))| \
+        -@(endpos|osdlevel|ffourcc|sws|channels|skiplimit|format)| \
+        -@(ofps|aa@(driver|@(osd|sub)color)|vobsubout?(i@(ndex|d)))| \
+        -sub@(-bg-@(alpha|color)|cp|delay|fps|pos|align|width)| \
+        -sub@(font-@(blur|outline|autoscale|encoding|@(osd|text)-scale)))
+            return 0
+            ;;
+        -lavdopts)
+            COMPREPLY=( $( compgen -W 'ec er= bug= idct= gray' -- "$cur" ) )
+            return 0
+            ;;
+        -lavcopts)
+            COMPREPLY=( $( compgen -W 'vcodec= vqmin= vqscale= vqmax= mbqmin= \
+                mbqmax= vqdiff= vmax_b_frames= vme= vhq v4mv keyint= \
+                vb_strategy= vpass= aspect= vbitrate= vratetol= vrc_maxrate= \
+                vrc_minrate= vrc_buf_size= vb_qfactor= vi_qfactor= vb_qoffset= \
+                vi_qoffset= vqblur= vqcomp= vrc_eq= vrc_override= \
+                vrc_init_cplx= vqsquish= vlelim= vcelim= vstrict= vdpart \
+                vpsize= gray vfdct= idct= lumi_mask= dark_mask= tcplx_mask= \
+                scplx_mask= naq ildct format= pred qpel precmp= cmp= subcmp= \
+                predia= dia= trell last_pred= preme= subq= psnr mpeg_quant aic \
+                umv' -- "$cur" ) )
+        return 0
+        ;;
+    -ssf)
+        COMPREPLY=( $( compgen -W 'lgb= cgb= ls= cs= chs= cvs=' -- "$cur" ) )
+            return 0
+            ;;
+        -jpeg)
+            COMPREPLY=( $( compgen -W 'noprogressive progressive nobaseline \
+                baseline optimize= smooth= quality= outdir=' -- "$cur" ) )
+            return 0
+            ;;
+        -xvidopts)
+            COMPREPLY=( $( compgen -W 'dr2 nodr2' -- "$cur" ) )
+            return 0
+            ;;
+        -xvidencopts)
+            COMPREPLY=( $( compgen -W 'pass= bitrate= fixed_quant= me_quality= \
+                4mv rc_reaction_delay_factor= rc_averaging_period= rc_buffer= \
+                quant_range= min_key_interval= max_key_interval= mpeg_quant \
+                mod_quant lumi_mask hintedme hintfile debug keyframe_boost= \
+                kfthreshold= kfreduction=' -- "$cur" ) )
+            return 0
+            ;;
+        -divx4opts)
+            COMPREPLY=( $( compgen -W 'br= key= deinterlace q= min_quant= \
+                max_quant= rc_period= rc_reaction_period= crispness= \
+                rc_reaction_ratio= pass= vbrpass= help' -- "$cur" ) )
+            return 0
+            ;;
+        -info)
+            COMPREPLY=( $( compgen -W 'name= artist= genre= subject= \
+                copyright= srcform= comment= help' -- "$cur" ) )
+            return 0
+            ;;
+        -lameopts)
+            COMPREPLY=( $( compgen -W 'vbr= abr cbr br= q= aq= ratio= vol= \
+                mode= padding= fast preset= help' -- "$cur" ) )
+            return 0
+            ;;
+        -rawaudio)
+            COMPREPLY=( $( compgen -W 'on channels= rate= samplesize= format=' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -rawvideo)
+            COMPREPLY=( $( compgen -W 'on fps= sqcif qcif cif 4cif pal ntsc w= \
+                h= y420 yv12 yuy2 y8 format= size=' -- "$cur" ) )
+            return 0
+            ;;
+        -aop)
+            COMPREPLY=( $( compgen -W 'list= delay= format= fout= volume= mul= \
+                softclip' -- "$cur" ) )
+            return 0
+            ;;
+        -dxr2)
+            COMPREPLY=( $( compgen -W 'ar-mode= iec958-encoded iec958-decoded \
+                mute ucode= 75ire bw color interlaced macrovision= norm= \
+                square-pixel ccir601-pixel cr-left= cr-right= cr-top= cr-bot= \
+                ck-rmin= ck-gmin= ck-bmin= ck-rmax= ck-gmax= ck-bmax= ck-r= \
+                ck-g= ck-b= ignore-cache= ol-osd= olh-cor= olw-cor= olx-cor= \
+                oly-cor= overlay overlay-ratio= update-cache' -- "$cur" ))
+            return 0
+            ;;
+        -tv)
+            COMPREPLY=( $( compgen -W 'on noaudio driver= device= input= freq= \
+                outfmt= width= height= buffersize= norm= channel= chanlist= \
+                audiorate= forceaudio alsa amode= forcechan= adevice= audioid= \
+                volume= bass= treble= balance= fps= channels= immediatemode=' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -mf)
+            COMPREPLY=( $( compgen -W 'on w= h= fps= type=' -- "$cur" ) )
+            return 0
+            ;;
+        -cdda)
+            COMPREPLY=( $( compgen -W 'speed= paranoia= generic-dev= \
+                sector-size= overlap= toc-bias toc-offset= skip noskip' \ 
+                -- "$cur" ) )
+            return 0
+            ;;
+        -input)
+            COMPREPLY=( $( compgen -W 'conf= ar-delay ar-rate keylist cmdlist \
+                js-dev file' -- "$cur" ) )
+            return 0
+            ;;
+        -af)
+            COMPREPLY=( $( compgen -W 'resample resample= channels channels= \
+                format format= volume volume= delay delay= pan pan= sub sub= \
+                surround surround=' -- "$cur" ) )
+            return 0
+            ;;
+        -af-adv)
+            COMPREPLY=( $( compgen -W 'force= list=' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	case "$cur" in
-		-*)
-			COMPREPLY=( $( compgen -W '$( $cmd -list-options 2>/dev/null | \
-			sed -ne '1,/^[[:space:]]*Name/d' \
-			     -e "s/^[[:space:]]*/-/" -e "s/[[:space:]:].*//" \
-			     -e "/^-\(Total\|.*\*\)\?$/!p" )' -- "$cur" ) )
-			;;
-		*)
-			_filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fl[iv]|FL[IV]|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[234]|MP[234]|m4[av]|M4[AV]|og[gmavx]|OG[GMAVX]|w?(a)v|W?(A)V|dump|DUMP|mk[av]|MK[AV]|m4a|M4A|aac|AAC|m[24]v|M[24]V|dv|DV|rmvb|RMVB|mid|MID|ts|TS|3g[p2]|mpc|MPC|flac|FLAC|vro|VRO|divx|DIVX|aif?(f)|AIF?(F)|m2ts|M2TS|vdr|VDR|xvid|XVID|ape|APE)'
-			;;
-	esac
+    case "$cur" in
+        -*)
+            COMPREPLY=( $( compgen -W '$( $cmd -list-options 2>/dev/null | \
+                sed -ne '1,/^[[:space:]]*Name/d' \
+                    -e "s/^[[:space:]]*/-/" -e "s/[[:space:]:].*//" \
+                    -e "/^-\(Total\|.*\*\)\?$/!p" )' -- "$cur" ) )
+            ;;
+        *)
+            _filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fl[iv]|FL[IV]|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[234]|MP[234]|m4[av]|M4[AV]|og[gmavx]|OG[GMAVX]|w?(a)v|W?(A)V|dump|DUMP|mk[av]|MK[AV]|m4a|M4A|aac|AAC|m[24]v|M[24]V|dv|DV|rmvb|RMVB|mid|MID|ts|TS|3g[p2]|mpc|MPC|flac|FLAC|vro|VRO|divx|DIVX|aif?(f)|AIF?(F)|m2ts|M2TS|vdr|VDR|xvid|XVID|ape|APE)'
+            ;;
+    esac
 
-	return 0
+    return 0
 }
 complete $filenames -F _mplayer mplayer mencoder gmplayer kplayer
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/msynctool b/contrib/msynctool
index a38fadf..3192305 100644
--- a/contrib/msynctool
+++ b/contrib/msynctool
@@ -3,53 +3,53 @@
 have msynctool &&
 _msynctool()
 {
-	local cur prev anteprev
+    local cur prev anteprev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	if [ $COMP_CWORD -ge 2 ]; then
-		anteprev=${COMP_WORDS[COMP_CWORD-2]}
-	fi
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    if [ $COMP_CWORD -ge 2 ]; then
+        anteprev=${COMP_WORDS[COMP_CWORD-2]}
+    fi
 
-	case $anteprev in
-		--configure)
-			COMPREPLY=( $( compgen -W "$(msynctool --showgroup \
-				$prev | awk '/^Member/ {print $2}' | sed \
-				-e 's/:$//' )" -- "$cur" ) )
-			return 0
-			;;
-		--addmember)
-			COMPREPLY=( $( compgen -W '$(msynctool --listplugins \
-				| sed -e '1d' )' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $anteprev in
+        --configure)
+            COMPREPLY=( $( compgen -W "$(msynctool --showgroup \
+                $prev | awk '/^Member/ {print $2}' | sed \
+                -e 's/:$//' )" -- "$cur" ) )
+            return 0
+            ;;
+        --addmember)
+            COMPREPLY=( $( compgen -W '$(msynctool --listplugins \
+                | sed -e '1d' )' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	case $prev in
-		--@(configure|@(add|del|show)group|sync|addmember))
-			COMPREPLY=( $( compgen -W '$(msynctool --listgroups \
-				| sed -e '1d' )' -- "$cur" ) )
-			return 0
-			;;
-		--@(showformats|filter-objtype|slow-sync))
-			COMPREPLY=( $( compgen -W '$(msynctool --listobjects \
-				| sed -e '1d' )' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        --@(configure|@(add|del|show)group|sync|addmember))
+            COMPREPLY=( $( compgen -W '$(msynctool --listgroups \
+                | sed -e '1d' )' -- "$cur" ) )
+            return 0
+            ;;
+        --@(showformats|filter-objtype|slow-sync))
+            COMPREPLY=( $( compgen -W '$(msynctool --listobjects \
+                | sed -e '1d' )' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	COMPREPLY=( $( compgen -W '--listgroups --listplugins --listobjects \
-		--showformats --showgroup --sync --filter-objtype --slow-sync \
-		--wait --multi --addgroup --delgroup --addmember --configure \
-		--manual --configdir --conflict' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '--listgroups --listplugins --listobjects \
+        --showformats --showgroup --sync --filter-objtype --slow-sync \
+        --wait --multi --addgroup --delgroup --addmember --configure \
+        --manual --configdir --conflict' -- "$cur" ) )
 } &&
 complete -F _msynctool msynctool
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mtx b/contrib/mtx
index 84b5531..4b20ba7 100644
--- a/contrib/mtx
+++ b/contrib/mtx
@@ -10,32 +10,32 @@ _mtx()
     prev=${COMP_WORDS[COMP_CWORD-1]}
 
     options="-f nobarcode invert noattach --version inquiry noattach \
-             inventory status load unload eepos first last next"
+        inventory status load unload eepos first last next"
 
     tapes=$(mtx status | \
-	awk '/Storage Element [0-9]+:Full/ { printf "%s ", $3 }')
+        awk '/Storage Element [0-9]+:Full/ { printf "%s ", $3 }')
     tapes=${tapes//:Full}
 
     drives=$(mtx status | \
-	     awk '/Data Transfer Element [0-9]+:(Full|Empty)/ { printf "%s ", $4 }')
+        awk '/Data Transfer Element [0-9]+:(Full|Empty)/ { printf "%s ", $4 }')
     drives=${drives//:Full}
     drives=${drives//:Empty}
 
     if [ $COMP_CWORD -gt 1 ]; then
-	case $prev in
-	    load)
-		COMPREPLY=( $( compgen -W "$tapes" -- "$cur" ) )
-		;;
-	    unload|first|last|next)
-		COMPREPLY=( $( compgen -W "$drives" -- "$cur" ) )
-		;;
-	    -f)
-		true
-		;;
-	    *)
-		true
-		;;
-	esac
+        case $prev in
+            load)
+                COMPREPLY=( $( compgen -W "$tapes" -- "$cur" ) )
+                ;;
+            unload|first|last|next)
+                COMPREPLY=( $( compgen -W "$drives" -- "$cur" ) )
+                ;;
+            -f)
+                true
+                ;;
+            *)
+                true
+                ;;
+        esac
     else
         COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
     fi
@@ -45,8 +45,8 @@ complete -F _mtx mtx
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/munin-node b/contrib/munin-node
index f709c63..2753fc2 100644
--- a/contrib/munin-node
+++ b/contrib/munin-node
@@ -3,103 +3,101 @@
 have munin-run &&
 _munin-run()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		--@(config|sconffile))
-			_filedir
-			return 0
-			;;
-		--@(service|sconf)dir)
-			_filedir -d
-			return 0
-			;;
-	esac
+    case $prev in
+        --@(config|sconffile))
+            _filedir
+            return 0
+            ;;
+        --@(service|sconf)dir)
+            _filedir -d
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--config --servicedir --sconfdir \
-			--sconffile --help --debug --version' -- "$cur" ) )
-	else
-		COMPREPLY=( $( compgen -W '$( command ls /etc/munin/plugins )' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--config --servicedir --sconfdir \
+            --sconffile --help --debug --version' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W '$( command ls /etc/munin/plugins )' \
+            -- "$cur" ) )
+    fi
 } &&
 complete -F _munin-run munin-run
 
 have munin-update &&
 _munin-update()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		--config)
-			_filedir
-			return 0
-			;;
-		--host)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
+    case $prev in
+        --config)
+            _filedir
+            return 0
+            ;;
+        --host)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--force-root --[no]force-root \
-			--service --host --config --help --debug --nodebug \
-			--fork --nofork --stdout --nostdout --timeout' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--force-root --[no]force-root \
+            --service --host --config --help --debug --nodebug \
+            --fork --nofork --stdout --nostdout --timeout' -- "$cur" ) )
+    fi
 } &&
 complete -F _munin-update munin-update
 
 have munin-node-configure &&
 _munin-node-configure()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		--config)
-			_filedir
-			return 0
-			;;
-		--@(service|lib)dir)
-			_filedir -d
-			return 0
-			;;
-		--snmp)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		--snmpversion)
-			COMPREPLY=( $( compgen -W '1 2c 3' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        --config)
+            _filedir
+            return 0
+            ;;
+        --@(service|lib)dir)
+            _filedir -d
+            return 0
+            ;;
+        --snmp)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        --snmpversion)
+            COMPREPLY=( $( compgen -W '1 2c 3' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--help --version --debug --config \
-			--servicedir --libdir --families --suggest --shell \
-			--remove-also --snmp --snmpversion --snmpcommunity' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--help --version --debug --config \
+            --servicedir --libdir --families --suggest --shell \
+            --remove-also --snmp --snmpversion --snmpcommunity' -- "$cur" ) )
+    fi
 } &&
 complete -F _munin-node-configure munin-node-configure
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mutt b/contrib/mutt
index fcecf19..62540bd 100644
--- a/contrib/mutt
+++ b/contrib/mutt
@@ -6,133 +6,132 @@
 have mutt || have muttng && {
 _muttaddr()
 {
-	_muttaliases
-	_muttquery
+    _muttaliases
+    _muttquery
 
-	cur=`_get_cword`
-	COMPREPLY=( "${COMPREPLY[@]}" $( compgen -u -- "$cur" ) )
+    cur=`_get_cword`
+    COMPREPLY=( "${COMPREPLY[@]}" $( compgen -u -- "$cur" ) )
 
-	return 0
+    return 0
 }
 
 _muttconffiles()
 {
-	local file sofar
-	local -a newconffiles
-
-	sofar=" $1 "
-	shift
-	while [[ "$1" ]]; do
-	    newconffiles=( $(sed -rn 's|^source[[:space:]]+([^[:space:]]+).*$|\1|p' $(eval echo $1) ) )
-	    for file in "${newconffiles[@]}"; do
-		[[ ! "$file" ]] || [[ "${sofar/ ${file} / }" != "$sofar" ]] &&
-		    continue
-		sofar="$sofar $file"
-		sofar=" $(eval _muttconffiles \"$sofar\" $file) "
-	    done
-	    shift
-	done
-	echo $sofar
+    local file sofar
+    local -a newconffiles
+
+    sofar=" $1 "
+    shift
+    while [[ "$1" ]]; do
+        newconffiles=( $(sed -rn 's|^source[[:space:]]+([^[:space:]]+).*$|\1|p' $(eval echo $1) ) )
+        for file in "${newconffiles[@]}"; do
+        [[ ! "$file" ]] || [[ "${sofar/ ${file} / }" != "$sofar" ]] &&
+            continue
+        sofar="$sofar $file"
+        sofar=" $(eval _muttconffiles \"$sofar\" $file) "
+        done
+        shift
+    done
+    echo $sofar
 }
 
 _muttaliases()
 {
-	local cur muttrc muttcmd=${COMP_WORDS[0]}
-	local -a conffiles aliases
-	cur=`_get_cword =`
+    local cur muttrc muttcmd=${COMP_WORDS[0]}
+    local -a conffiles aliases
+    cur=`_get_cword =`
 
-	[ -f ~/.${muttcmd}/${muttcmd}rc ] && muttrc="~/.${muttcmd}/${muttcmd}rc"
-	[ -f ~/.${muttcmd}rc ] && muttrc="~/.${muttcmd}rc"
-	[ -z "$muttrc" ] && return 0
+    [ -f ~/.${muttcmd}/${muttcmd}rc ] && muttrc="~/.${muttcmd}/${muttcmd}rc"
+    [ -f ~/.${muttcmd}rc ] && muttrc="~/.${muttcmd}rc"
+    [ -z "$muttrc" ] && return 0
 
-	conffiles=( $(eval _muttconffiles $muttrc $muttrc) )
-	aliases=( $( sed -rn 's|^alias[[:space:]]+([^[:space:]]+).*$|\1|p' \
-			$(eval echo "${conffiles[@]}") ) )
-	COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "${aliases[*]}" -- "$cur" ) )
+    conffiles=( $(eval _muttconffiles $muttrc $muttrc) )
+    aliases=( $( sed -rn 's|^alias[[:space:]]+([^[:space:]]+).*$|\1|p' \
+        $(eval echo "${conffiles[@]}") ) )
+    COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "${aliases[*]}" -- "$cur" ) )
 
-	return 0
+    return 0
 }
 
 _muttquery()
 {
-	local cur querycmd muttcmd=${COMP_WORDS[0]}
-	local -a queryresults
-	cur=`_get_cword`
-
-	querycmd="$( $muttcmd -Q query_command  | sed -r 's|^query_command=\"(.*)\"$|\1|; s|%s|'$cur'|' )"
-	if [ -z "$cur" -o -z "$querycmd" ]; then
-	    queryresults=()
-	else
-	    queryresults=( $( $querycmd | \
-	      sed -nr '2,$s|^([^[:space:]]+).*|\1|p' ) )
-	fi
-
-	COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "${queryresults[*]}" \
-			-- "$cur" ) )
-
-	return 0
+    local cur querycmd muttcmd=${COMP_WORDS[0]}
+    local -a queryresults
+    cur=`_get_cword`
+
+    querycmd="$( $muttcmd -Q query_command  | sed -r 's|^query_command=\"(.*)\"$|\1|; s|%s|'$cur'|' )"
+    if [ -z "$cur" -o -z "$querycmd" ]; then
+        queryresults=()
+    else
+        queryresults=( $( $querycmd | sed -nr '2,$s|^([^[:space:]]+).*|\1|p' ) )
+    fi
+
+    COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "${queryresults[*]}" \
+        -- "$cur" ) )
+
+    return 0
 }
 
 _muttfiledir()
 {
-	local cur folder spoolfile muttcmd=${COMP_WORDS[0]}
-	cur=`_get_cword`
-
-	# This is currently not working so well. Perhaps this function should
-	# just call _filedir() for the moment.
-	if [[ $cur == [=+]* ]]; then
-		folder="$( $muttcmd -Q folder | sed -r 's|^folder=\"(.*)\"$|\1|' )"
-		: folder:=~/Mail
-
-		# Match any file in $folder beginning with $cur
-		# (minus the leading '=' sign).
-		COMPREPLY=( $( compgen -f -- "$folder/${cur:1}" ) )
-		COMPREPLY=( ${COMPREPLY[@]#$folder/} )
-		return 0
-	elif [ "$cur" == !* ]; then
-		spoolfile="$( $muttcmd -Q spoolfile | sed -r 's|^spoolfile=\"(.*)\"$|\1|' )"
-		[ ! -z "$spoolfile" ] && eval cur="${cur/^!/$spoolfile}";
-	fi
-	_filedir
-
-	return 0
+    local cur folder spoolfile muttcmd=${COMP_WORDS[0]}
+    cur=`_get_cword`
+
+    # This is currently not working so well. Perhaps this function should
+    # just call _filedir() for the moment.
+    if [[ $cur == [=+]* ]]; then
+        folder="$( $muttcmd -Q folder | sed -r 's|^folder=\"(.*)\"$|\1|' )"
+        : folder:=~/Mail
+
+        # Match any file in $folder beginning with $cur
+        # (minus the leading '=' sign).
+        COMPREPLY=( $( compgen -f -- "$folder/${cur:1}" ) )
+        COMPREPLY=( ${COMPREPLY[@]#$folder/} )
+        return 0
+    elif [ "$cur" == !* ]; then
+        spoolfile="$( $muttcmd -Q spoolfile | \
+            sed -r 's|^spoolfile=\"(.*)\"$|\1|' )"
+        [ ! -z "$spoolfile" ] && eval cur="${cur/^!/$spoolfile}";
+    fi
+    _filedir
+
+    return 0
 }
 
 _mutt()
 {
-	local cur prev
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	COMPREPLY=()
-
-	case "$cur" in
-	-*)
-		COMPREPLY=( $( compgen -W '-A -a -b -c -e -f -F -H -i -m -n \
-					    -p -Q -R -s -v -x -y -z -Z -h' \
-					    -- "$cur" ) )
-		return 0
-		;;
-	*)
-	    case "$prev" in
-	    -@(a|f|F|H|i))
-		    _muttfiledir
-		    return 0
-		    ;;
-	    -A)
-		    _muttaliases
-		    return 0
-		    ;;
-	    -@(e|m|Q|s|h|p|R|v|y|z|Z))
-		    return 0
-		    ;;
-	    *)
-		    _muttaddr
-		    return 0
-		    ;;
-	    esac
-	    ;;
-	esac
+    local cur prev
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    COMPREPLY=()
+
+    case "$cur" in
+    -*)
+        COMPREPLY=( $( compgen -W '-A -a -b -c -e -f -F -H -i -m -n \
+            -p -Q -R -s -v -x -y -z -Z -h' -- "$cur" ) )
+        return 0
+        ;;
+    *)
+        case "$prev" in
+        -@(a|f|F|H|i))
+            _muttfiledir
+            return 0
+            ;;
+        -A)
+            _muttaliases
+            return 0
+            ;;
+        -@(e|m|Q|s|h|p|R|v|y|z|Z))
+            return 0
+            ;;
+        *)
+            _muttaddr
+            return 0
+            ;;
+        esac
+        ;;
+    esac
 
 }
 complete -F _mutt $default $filenames mutt muttng
@@ -140,8 +139,8 @@ complete -F _mutt $default $filenames mutt muttng
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/mysqladmin b/contrib/mysqladmin
index f6ae853..0a84de1 100644
--- a/contrib/mysqladmin
+++ b/contrib/mysqladmin
@@ -3,38 +3,36 @@
 have mysqladmin &&
 _mysqladmin()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-	-u)
-		COMPREPLY=( $( compgen -u -- "$cur" ) )
-		return 0
-		;;
-	*)
-		;;
-	esac
+    case "$prev" in
+    -u)
+        COMPREPLY=( $( compgen -u -- "$cur" ) )
+        return 0
+        ;;
+    *)
+        ;;
+    esac
 
-	COMPREPLY=( $( compgen -W '-# -f -? -C -h -p -P -i -r -E -s -S -t -u \
-					      -v -V -w' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '-# -f -? -C -h -p -P -i -r -E -s -S -t -u \
+        -v -V -w' -- "$cur" ) )
 
-	COMPREPLY=( "${COMPREPLY[@]}" \
-		    $( compgen -W 'create drop extended-status flush-hosts \
-				   flush-logs flush-status flush-tables \
-				   flush-threads flush-privileges kill \
-				   password ping processlist reload refresh \
-				   shutdown status variables version' \
-		       -- "$cur" ) )
+    COMPREPLY=( "${COMPREPLY[@]}" \
+        $( compgen -W 'create drop extended-status flush-hosts flush-logs \
+        flush-status flush-tables flush-threads flush-privileges kill \
+        password ping processlist reload refresh shutdown status variables \
+        version' -- "$cur" ) )
 } &&
 complete -F _mysqladmin mysqladmin
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/ncftp b/contrib/ncftp
index 0b5882b..6d5a611 100644
--- a/contrib/ncftp
+++ b/contrib/ncftp
@@ -3,24 +3,24 @@
 have ncftp &&
 _ncftp()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD -eq 1 ] && [ -f ~/.ncftp/bookmarks ]; then
-	    COMPREPLY=( $( compgen -W '$( sed -ne "s/^\([^,]\{1,\}\),.*$/\1/p" \
-			   ~/.ncftp/bookmarks )' -- "$cur" ) )
-	fi
+    if [ $COMP_CWORD -eq 1 ] && [ -f ~/.ncftp/bookmarks ]; then
+        COMPREPLY=( $( compgen -W '$( sed -ne "s/^\([^,]\{1,\}\),.*$/\1/p" \
+            ~/.ncftp/bookmarks )' -- "$cur" ) )
+    fi
 
-	return 0
+    return 0
 } &&
 complete -F _ncftp $default ncftp
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/net-tools b/contrib/net-tools
index 90b1576..b3bf861 100644
--- a/contrib/net-tools
+++ b/contrib/net-tools
@@ -3,70 +3,70 @@
 have mii-tool &&
 _mii_tool()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-F|--force)
-			COMPREPLY=( $( compgen -W '100baseTx-FD 100baseTx-HD \
-				10baseT-FD 10baseT-HD' -- "$cur" ) )
-			return 0
-			;;
-		-A|--advertise)
-			COMPREPLY=( $( compgen -W '100baseT4 100baseTx-FD 100baseTx-HD \
-				10baseT-FD 10baseT-HD' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-v --verbose -V --version -R \
-			--reset -r --restart -w  --watch -l --log -A \
-			--advertise -F --force' -- "$cur" ) )
-	else
-		_available_interfaces -a
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -F|--force)
+            COMPREPLY=( $( compgen -W '100baseTx-FD 100baseTx-HD \
+                10baseT-FD 10baseT-HD' -- "$cur" ) )
+            return 0
+            ;;
+        -A|--advertise)
+            COMPREPLY=( $( compgen -W '100baseT4 100baseTx-FD 100baseTx-HD \
+                10baseT-FD 10baseT-HD' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-v --verbose -V --version -R \
+            --reset -r --restart -w  --watch -l --log -A \
+            --advertise -F --force' -- "$cur" ) )
+    else
+        _available_interfaces -a
+    fi
 } &&
 complete -F _mii_tool $default mii-tool
 
 have mii-diag &&
 _mii_diag()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-@(F|A|-advertise|-fixed-speed))
-			COMPREPLY=( $( compgen -W '100baseT4 100baseTx \
-				100baseTx-FD 100baseTx-HD 10baseT 10baseT-FD \
-				10baseT-HD' -- "$cur" ) )
-				return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A --advertise -F --fixed-speed -a \
-			--all-interfaces -s --status -D --debug -g \
-			--read-parameters -G --set-parameters -M  --msg-level \
-			-p --phy -r  --restart -R  --reset -v -V -w --watch \
-			-? --help' -- "$cur" ) )
-	else
-		_available_interfaces -a
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -@(F|A|-advertise|-fixed-speed))
+            COMPREPLY=( $( compgen -W '100baseT4 100baseTx \
+                100baseTx-FD 100baseTx-HD 10baseT 10baseT-FD \
+                10baseT-HD' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A --advertise -F --fixed-speed -a \
+            --all-interfaces -s --status -D --debug -g \
+            --read-parameters -G --set-parameters -M  --msg-level \
+            -p --phy -r  --restart -R  --reset -v -V -w --watch \
+            -? --help' -- "$cur" ) )
+    else
+        _available_interfaces -a
+    fi
 } &&
 complete -F _mii_diag $default mii-diag
 
@@ -75,41 +75,41 @@ complete -F _mii_diag $default mii-diag
 [ $UNAME = Linux ] &&
 _route()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	if [ "$prev" = dev ]; then
-	    COMPREPLY=( $( ifconfig -a | sed -ne 's|^\('$cur'[^ ]*\).*$|\1|p' ))
-	    return 0
-	fi
-
-	COMPREPLY=( $( compgen -W 'add del -host -net netmask metric mss \
-				   window irtt reject mod dyn reinstate dev \
-				   default gw' -- "$cur" ) )
-
-	COMPREPLY=( $( echo " ${COMP_WORDS[@]}" | \
-		       (while read -d ' ' i; do
-			   [ "$i" == "" ] && continue
-			   # flatten array with spaces on either side,
-			   # otherwise we cannot grep on word
-			   # boundaries of first and last word
-			   COMPREPLY=" ${COMPREPLY[@]} "
-			   # remove word from list of completions
-			   COMPREPLY=( ${COMPREPLY/ $i / } )
-			done
-		       echo "${COMPREPLY[@]}")
-		  ) )
-	return 0
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    if [ "$prev" = dev ]; then
+        COMPREPLY=( $( ifconfig -a | sed -ne 's|^\('$cur'[^ ]*\).*$|\1|p' ))
+        return 0
+    fi
+
+    COMPREPLY=( $( compgen -W 'add del -host -net netmask metric mss \
+        window irtt reject mod dyn reinstate dev \
+        default gw' -- "$cur" ) )
+
+    COMPREPLY=( $( echo " ${COMP_WORDS[@]}" | \
+        (while read -d ' ' i; do
+            [ "$i" == "" ] && continue
+            # flatten array with spaces on either side,
+            # otherwise we cannot grep on word
+            # boundaries of first and last word
+            COMPREPLY=" ${COMPREPLY[@]} "
+            # remove word from list of completions
+            COMPREPLY=( ${COMPREPLY/ $i / } )
+        done
+           echo "${COMPREPLY[@]}")
+        ) )
+    return 0
 }
 [ $UNAME = Linux ] && complete -F _route route
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/ntpdate b/contrib/ntpdate
index 8edfd48..233f69f 100644
--- a/contrib/ntpdate
+++ b/contrib/ntpdate
@@ -3,36 +3,36 @@
 have ntpdate &&
 _ntpdate()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-k)
-			_filedir
-			return 0
-			;;
-		-U)
-			COMPREPLY=( $( compgen -u "$cur"  ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        -k)
+            _filedir
+            return 0
+            ;;
+        -U)
+            COMPREPLY=( $( compgen -u "$cur"  ) )
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-4 -6 -b -B -d -Q -q -s -u -v -a\
-			-e -k -p -o -r -t' -- "$cur" ) )
-	else
-		_known_hosts_real "$cur"
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-4 -6 -b -B -d -Q -q -s -u -v -a\
+            -e -k -p -o -r -t' -- "$cur" ) )
+    else
+        _known_hosts_real "$cur"
+    fi
 } &&
 complete -F _ntpdate ntpdate
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/openldap b/contrib/openldap
index e7709c3..5869811 100644
--- a/contrib/openldap
+++ b/contrib/openldap
@@ -3,275 +3,271 @@
 have ldapsearch && {
 _ldap_uris()
 {
-	COMPREPLY=( $( compgen -W 'ldap:// ldaps://' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'ldap:// ldaps://' -- "$cur" ) )
 }
 
 _ldap_protocols()
 {
-	COMPREPLY=( $( compgen -W '2 3' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '2 3' -- "$cur" ) )
 }
 
 _ldapsearch()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-h)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-H)
-			_ldap_uris
-			return 0
-			;;
-		-T)
-			_filedir -d
-			return 0
-			;;
-		-@(f|y))
-			_filedir
-			return 0
-			;;
-		-s)
-			COMPREPLY=( $( compgen -W 'base one sub children' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-a)
-			COMPREPLY=( $( compgen -W 'never always search find' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-P)
-			_ldap_protocols
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -h)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -H)
+            _ldap_uris
+            return 0
+            ;;
+        -T)
+            _filedir -d
+            return 0
+            ;;
+        -@(f|y))
+            _filedir
+            return 0
+            ;;
+        -s)
+            COMPREPLY=( $( compgen -W 'base one sub children' -- "$cur" ) )
+            return 0
+            ;;
+        -a)
+            COMPREPLY=( $( compgen -W 'never always search find' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -P)
+            _ldap_protocols
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-n -u -v -t -tt -T -F -A -C -L -LL \
-			-LLL -M -MM -S -d -f -x -D -W -w -y -H -h -p -b -s -a \
-			-P -e -E -l -z -O -I -Q -U -R -X -Y -Z -ZZ' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-n -u -v -t -tt -T -F -A -C -L -LL \
+            -LLL -M -MM -S -d -f -x -D -W -w -y -H -h -p -b -s -a \
+            -P -e -E -l -z -O -I -Q -U -R -X -Y -Z -ZZ' -- "$cur" ) )
+    fi
 }
 complete -F _ldapsearch ldapsearch
 
 _ldapaddmodify()
 {
-	local cur prev options
+    local cur prev options
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-h)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-H)
-			_ldap_uris
-			return 0
-			;;
-		-@(S|f|y))
-			_filedir
-			return 0
-			;;
-		-P)
-			_ldap_protocols
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -h)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -H)
+            _ldap_uris
+            return 0
+            ;;
+        -@(S|f|y))
+            _filedir
+            return 0
+            ;;
+        -P)
+            _ldap_protocols
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		options='-c -S -n -v -M -MM -d -D -W -w -y -h -H -p -P -O -I \
-			-Q -U -R -x -X -Y -Z -ZZ -f'
-		if [[ ${COMP_WORDS[0]} == ldapmodify ]]; then
-			options="$options -a"
-		fi
-		COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        options='-c -S -n -v -M -MM -d -D -W -w -y -h -H -p -P -O -I \
+            -Q -U -R -x -X -Y -Z -ZZ -f'
+        if [[ ${COMP_WORDS[0]} == ldapmodify ]]; then
+            options="$options -a"
+        fi
+        COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
+    fi
 }
 complete -F _ldapaddmodify ldapadd ldapmodify
 
 _ldapdelete()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-h)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-H)
-			_ldap_uris
-			return 0
-			;;
-		-@(f|y))
-			_filedir
-			return 0
-			;;
-		-P)
-			_ldap_protocols
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -h)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -H)
+            _ldap_uris
+            return 0
+            ;;
+        -@(f|y))
+            _filedir
+            return 0
+            ;;
+        -P)
+            _ldap_protocols
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-n -v -c -M -MM -d -f -D -W -w -y \
-			-H -h -P -p -O -U -R -r -x -I -Q -X -Y -Z -ZZ' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-n -v -c -M -MM -d -f -D -W -w -y \
+            -H -h -P -p -O -U -R -r -x -I -Q -X -Y -Z -ZZ' -- "$cur" ) )
+    fi
 }
 complete -F _ldapdelete ldapdelete
 
 _ldapcompare()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-h)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-H)
-			_ldap_uris
-			return 0
-			;;
-		-y)
-			_filedir
-			return 0
-			;;
-		-P)
-			_ldap_protocols
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -h)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -H)
+            _ldap_uris
+            return 0
+            ;;
+        -y)
+            _filedir
+            return 0
+            ;;
+        -P)
+            _ldap_protocols
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-n -v -z -M -MM -d -D -W -w -y \
-			-H -h -P -p -O -I -Q -U -R -x -X -Y -Z -ZZ' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-n -v -z -M -MM -d -D -W -w -y \
+            -H -h -P -p -O -I -Q -U -R -x -X -Y -Z -ZZ' -- "$cur" ) )
+    fi
 }
 complete -F _ldapcompare ldapcompare
 
 _ldapmodrdn()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-h)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-H)
-			_ldap_uris
-			return 0
-			;;
-		-@(f|y))
-			_filedir
-			return 0
-			;;
-		-P)
-			_ldap_protocols
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -h)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -H)
+            _ldap_uris
+            return 0
+            ;;
+        -@(f|y))
+            _filedir
+            return 0
+            ;;
+        -P)
+            _ldap_protocols
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-r -s -n -v -c -M -MM -d -D -W -w \
-			-y -H -h -P -p -O -I -Q -U -R -x -X -Y -Z -ZZ -f' \
-			-- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-r -s -n -v -c -M -MM -d -D -W -w \
+            -y -H -h -P -p -O -I -Q -U -R -x -X -Y -Z -ZZ -f' -- "$cur" ) )
+    fi
 }
 complete -F _ldapmodrdn ldapmodrdn
 
 _ldapwhoami()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-h)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-H)
-			_ldap_uris
-			return 0
-			;;
-		-@(f|y))
-			_filedir
-			return 0
-			;;
-		-P)
-			_ldap_protocols
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -h)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -H)
+            _ldap_uris
+            return 0
+            ;;
+        -@(f|y))
+            _filedir
+            return 0
+            ;;
+        -P)
+            _ldap_protocols
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-n -v -z -d -D -W -w -y -H -h -p -P \
-			-O -I -Q -U -R -x -X -Y -Z -ZZ' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-n -v -z -d -D -W -w -y -H -h -p -P \
+            -O -I -Q -U -R -x -X -Y -Z -ZZ' -- "$cur" ) )
+    fi
 }
 complete -F _ldapwhoami ldapwhoami
 
 _ldappasswd()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-h)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-H)
-			_ldap_uris
-			return 0
-			;;
-		-@(t|T|y))
-			_filedir
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -h)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -H)
+            _ldap_uris
+            return 0
+            ;;
+        -@(t|T|y))
+            _filedir
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A -a -t -d -D -H -h -n -p -S -s -T \
-			-v -W -w -y -O -I -Q -U -R -x -X -Y -Z -ZZ' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A -a -t -d -D -H -h -n -p -S -s -T \
+            -v -W -w -y -O -I -Q -U -R -x -X -Y -Z -ZZ' -- "$cur" ) )
+    fi
 }
 complete -F _ldappasswd ldappasswd
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/openssl b/contrib/openssl
index e42d99f..8fdbb87 100644
--- a/contrib/openssl
+++ b/contrib/openssl
@@ -3,300 +3,249 @@
 have openssl && {
 _openssl_sections()
 {
-	local config f
+    local config f
 
-	# check if a specific configuration file is used
-	for (( i=2; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == -config ]]; then
-			config=${COMP_WORDS[i+1]}
-			break
-		fi
-	done
+    # check if a specific configuration file is used
+    for (( i=2; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == -config ]]; then
+            config=${COMP_WORDS[i+1]}
+            break
+        fi
+    done
 
-	# if no config given, check some usual default locations
-	if [ -z "$config" ]; then
-		for f in /etc/ssl/openssl.cnf /etc/pki/tls/openssl.cnf \
-			/usr/share/ssl/openssl.cnf; do
-			[ -f $f ] && config=$f && break
-		done
-	fi
+    # if no config given, check some usual default locations
+    if [ -z "$config" ]; then
+        for f in /etc/ssl/openssl.cnf /etc/pki/tls/openssl.cnf \
+            /usr/share/ssl/openssl.cnf; do
+            [ -f $f ] && config=$f && break
+        done
+    fi
 
-	[ ! -f "$config" ] && return 0
+    [ ! -f "$config" ] && return 0
 
-	COMPREPLY=( $( compgen -W "$( awk '/\[.*\]/ {print $2}' $config )" \
-		-- "$cur" ) )
+    COMPREPLY=( $( compgen -W "$( awk '/\[.*\]/ {print $2}' $config )" \
+        -- "$cur" ) )
 }
 
 _openssl()
 {
-	local cur prev commands command options formats
+    local cur prev commands command options formats
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	commands='asn1parse ca ciphers crl crl2pkcs7 dgst dh dhparam dsa \
-		dsaparam ec ecparam enc engine errstr gendh gendsa genrsa \
-		nseq ocsp passwd pkcs12 pkcs7 pkcs8 prime rand req rsa \
-		rsautl s_client s_server s_time sess_id smime speed spkac \
-		verify version x509 md2 md4 md5 rmd160 sha sha1 aes-128-cbc \
-		aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc aes-256-ecb \
-		base64 bf bf-cbc bf-cfb bf-ecb bf-ofb camellia-128-cbc \
-		camellia-128-ecb camellia-192-cbc camellia-192-ecb \
-		camellia-256-cbc camellia-256-ecb cast cast-cbc cast5-cbc \
-		cast5-cfb cast5-ecb cast5-ofb des des-cbc des-cfb des-ecb \
-		des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ede3 \
-		des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb des3 desx rc2 \
-		rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4 \
-		rc4-40'
+    commands='asn1parse ca ciphers crl crl2pkcs7 dgst dh dhparam dsa \
+        dsaparam ec ecparam enc engine errstr gendh gendsa genrsa \
+        nseq ocsp passwd pkcs12 pkcs7 pkcs8 prime rand req rsa \
+        rsautl s_client s_server s_time sess_id smime speed spkac \
+        verify version x509 md2 md4 md5 rmd160 sha sha1 aes-128-cbc \
+        aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc aes-256-ecb \
+        base64 bf bf-cbc bf-cfb bf-ecb bf-ofb camellia-128-cbc \
+        camellia-128-ecb camellia-192-cbc camellia-192-ecb \
+        camellia-256-cbc camellia-256-ecb cast cast-cbc cast5-cbc \
+        cast5-cfb cast5-ecb cast5-ofb des des-cbc des-cfb des-ecb \
+        des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ede3 \
+        des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb des3 desx rc2 \
+        rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4 \
+        rc4-40'
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
-	else
-		command=${COMP_WORDS[1]}
-		prev=${COMP_WORDS[COMP_CWORD-1]}
-		case $prev in
-			-@(CA|CAfile|CAkey|CAserial|cert|certfile|config|content|dcert|dkey|dhparam|extfile|in|inkey|kfile|key|keyout|out|oid|prvrify|rand|recip|revoke|sess_in|sess_out|spkac|sign|signkey|signer|signature|ss_cert|untrusted|verify))
-				_filedir
-				return 0
-				;;
-			-@(outdir|CApath))
-				_filedir -d
-				return 0
-				;;
-			-@(name|crlexts|extensions))
-				_openssl_sections
-				return 0
-				;;
-			-@(in|out|key|cert|CA|CAkey|dkey|dcert)form)
-				formats='DER PEM'
-				case $command in
-					x509)
-						formats="$formats NET"
-						;;
-					smime)
-						formats="$formats SMIME"
-						;;
-				esac
-				COMPREPLY=( $( compgen -W "$formats" -- "$cur" ) )
-				return 0
-				;;
-			-connect)
-				_known_hosts_real "$cur"
-				return 0
-				;;
-			-starttls)
-				COMPREPLY=( $( compgen -W 'smtp pop3 imap ftp' \
-					-- "$cur" ) )
-				return 0
-				;;
-			-cipher)
-				COMPREPLY=( $( compgen -W "$(openssl ciphers | \
-					tr ':' '\n')" -- "$cur" ) )
-				return 0
-				;;
-		esac
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
+    else
+        command=${COMP_WORDS[1]}
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+        case $prev in
+            -@(CA|CAfile|CAkey|CAserial|cert|certfile|config|content|dcert|dkey|dhparam|extfile|in|inkey|kfile|key|keyout|out|oid|prvrify|rand|recip|revoke|sess_in|sess_out|spkac|sign|signkey|signer|signature|ss_cert|untrusted|verify))
+                _filedir
+                return 0
+                ;;
+            -@(outdir|CApath))
+                _filedir -d
+                return 0
+                ;;
+            -@(name|crlexts|extensions))
+                _openssl_sections
+                return 0
+                ;;
+            -@(in|out|key|cert|CA|CAkey|dkey|dcert)form)
+                formats='DER PEM'
+                case $command in
+                    x509)
+                        formats="$formats NET"
+                        ;;
+                    smime)
+                        formats="$formats SMIME"
+                        ;;
+                esac
+                COMPREPLY=( $( compgen -W "$formats" -- "$cur" ) )
+                return 0
+                ;;
+            -connect)
+                _known_hosts_real "$cur"
+                return 0
+                ;;
+            -starttls)
+                COMPREPLY=( $( compgen -W 'smtp pop3 imap ftp' \
+                    -- "$cur" ) )
+                return 0
+                ;;
+            -cipher)
+                COMPREPLY=( $( compgen -W "$(openssl ciphers | \
+                    tr ':' '\n')" -- "$cur" ) )
+                return 0
+                ;;
+        esac
 
-		if [[ "$cur" == -* ]]; then
-			# possible options for the command
-			case $command in
-				asn1parse)
-					options='-inform -in -out -noout \
-						-offset -length -i -oid \
-						-strparse'
-					;;
-				ca)
-					options='-verbose -config -name \
-						-gencrl -revoke -crl_reason \
-						-crl_hold -crl_compromise \
-						-crl_CA_compromise -crldays \
-						-crlhours -crlexts -startdate \
-						-enddate -days -md -policy \
-						-keyfile -key -passin -cert \
-						-selfsig -in -out -notext \
-						-outdir -infiles -spkac \
-						-ss_cert -preserveDN \
-						-noemailDN -batch -msie_hack \
-						-extensions -extfile -engine \
-						-subj -utf8 -multivalue-rdn'
-						;;
-				ciphers)
-					options='-v -ssl2 -ssl3 -tls1'
-					;;
-				crl)
-					options='-inform -outform -text -in \
-						-out -noout -hash -issuer \
-						-lastupdate -nextupdate \
-						-CAfile -CApath'
-					;;
-				crl2pkcs7)
-					options='-inform -outform -in -out \
-						-print_certs'
-					;;
-				dgst)
-					options='-md5 -md4 -md2 -sha1 -sha \
-						-mdc2 -ripemd160 -dss1 -c -d \
-						-hex -binary -out -sign \
-						-verify -prverify -signature'
-					;;
-				dsa)
-					options='-inform -outform -in -passin \
-						-out -passout -des -des3 -idea \
-						-text -noout -modulus -pubin \
-						-pubout'
-					;;
-				dsaparam)
-					options='-inform -outform -in -out \
-						-noout -text -C -rand -genkey'
-					;;
-				enc)
-					options='-ciphername -in -out -pass \
-						-e -d -a -A -k -kfile -S -K \
-						-iv -p -P -bufsize -debug'
-					;;
-				dhparam)
-					options='-inform -outform -in -out \
-						-dsaparam -noout -text -C -2 \
-						-5 -rand'
-					;;
-				gendsa)
-					options='-out -des -des3 -idea -rand'
-					;;
-				genrsa)
-					options='-out -passout -des -des3 \
-						-idea -f4 -3 -rand'
-					;;
-				pkcs7)
-					options='-inform -outform -in -out \
-						-print_certs -text -noout'
-					;;
-				rand)
-					options='-out -rand -base64'
-					;;
-				req)
-					options='-inform -outform -in -passin \
-						-out -passout -text -noout \
-						-verify -modulus -new -rand \
-						-newkey -newkey -nodes -key \
-						-keyform -keyout -md5 -sha1 \
-						-md2 -mdc2 -config -x509 \
-						-days -asn1-kludge -newhdr \
-						-extensions -reqexts section'
-					;;
-				rsa)
-					options='-inform -outform -in -passin \
-						-out -passout -sgckey -des \
-						-des3 -idea -text -noout \
-						-modulus -check -pubin -pubout \
-						-engine'
-					;;
-				rsautl)
-					options='-in -out -inkey -pubin \
-						-certin -sign -verify -encrypt \
-						-decrypt -pkcs -ssl -raw \
-						-hexdump -asn1parse'
-					;;
-				s_client)
-					options='-connect -verify -cert \
-						-certform -key -keyform -pass \
-						-CApath -CAfile -reconnect \
-						-pause -showcerts -debug -msg \
-						-nbio_test -state -nbio -crlf \
-						-ign_eof -quiet -ssl2 -ssl3 \
-						-tls1 -no_ssl2 -no_ssl3 \
-						-no_tls1 -bugs -cipher \
-						-starttls -engine -tlsextdebug \
-						-no_ticket -sess_out -sess_in \
-						-rand'
-					;;
-				s_server)
-					options='-accept -context -verify \
-						-Verify -crl_check \
-						-crl_check_all -cert -certform \
-						-key -keyform -pass -dcert \
-						-dcertform -dkey -dkeyform \
-						-dpass -dhparam -nbio \
-						-nbio_test -crlf -debug -msg \
-						-state -CApath -CAfile -nocert \
-						-cipher -quiet -no_tmp_rsa \
-						-ssl2 -ssl3 -tls1 -no_ssl2 \
-						-no_ssl3 -no_tls1 -no_dhe \
-						-bugs -hack -www -WWW -HTTP \
-						-engine -tlsextdebug \
-						-no_ticket -id_prefix -rand'
-					;;
-				s_time)
-					options='-connect -www -cert -key \
-						-CApath -CAfile -reuse -new \
-						-verify -nbio -time -ssl2 \
-						-ssl3 -bugs -cipher'
-					;;
-				sess_id)
-					options='-inform -outform -in -out \
-						-text -noout -context ID'
-					;;
-				smime)
-					options='-encrypt -decrypt -sign \
-						-verify -pk7out -des -des3 \
-						-rc2-40 -rc2-64 -rc2-128 \
-						-aes128 -aes192 -aes256 -in \
-						-certfile -signer -recip \
-						-inform -passin -inkey -out \
-						-outform -content -to -from \
-						-subject -text -rand'
-					;;
-				speed)
-					options='-engine'
-					;;
-				verify)
-					options='-CApath -CAfile -purpose \
-						-untrusted -help \
-						-issuer_checks -verbose \
-						-certificates'
-					;;
-				x509)
-					options='-inform -outform -keyform \
-						-CAform -CAkeyform -in -out \
-						-serial -hash -subject-hash \
-						-issuer_hash -subject -issuer \
-						-nameopt -email -startdate \
-						-enddate -purpose -dates \
-						-modulus -fingerprint -alias \
-						-noout -trustout -clrtrust \
-						-clrreject -addtrust \
-						-addreject -setalias -days \
-						-set_serial -signkey \
-						-x509toreq -req -CA -CAkey \
-						-CAcreateserial -CAserial \
-						-text -C -md2 -md5 -sha1 -mdc2 \
-						-clrext -extfile -extensions \
-						-engine'
-					;;
-				@(md5|md4|md2|sha1|sha|mdc2|ripemd160))
-					options='-c -d'
-					;;
-			esac
-			COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
-		else
-			if [[ "$command" == speed ]]; then
-				COMPREPLY=( $( compgen -W 'md2 mdc2 md5 hmac \
-					sha1 rmd160 idea-cbc rc2-cbc rc5-cbc \
-					bf-cbc des-cbc des-ede3 rc4 rsa512 \
-					rsa1024 rsa2048 rsa4096 dsa512 dsa1024 \
-					dsa2048 idea rc2 des rsa blowfish' -- \
-					"$cur" ) )
-			else
-				_filedir
-			fi
-		fi
-	fi
+        if [[ "$cur" == -* ]]; then
+            # possible options for the command
+            case $command in
+                asn1parse)
+                    options='-inform -in -out -noout -offset -length -i -oid \
+                        -strparse'
+                    ;;
+                ca)
+                    options='-verbose -config -name -gencrl -revoke \
+                        -crl_reason -crl_hold -crl_compromise \
+                        -crl_CA_compromise -crldays -crlhours -crlexts \
+                        -startdate -enddate -days -md -policy -keyfile -key \
+                        -passin -cert -selfsig -in -out -notext -outdir \
+                        -infiles -spkac -ss_cert -preserveDN -noemailDN \
+                        -batch -msie_hack -extensions -extfile -engine \
+                        -subj -utf8 -multivalue-rdn'
+                        ;;
+                ciphers)
+                    options='-v -ssl2 -ssl3 -tls1'
+                    ;;
+                crl)
+                    options='-inform -outform -text -in -out -noout -hash \
+                        -issuer -lastupdate -nextupdate -CAfile -CApath'
+                    ;;
+                crl2pkcs7)
+                    options='-inform -outform -in -out -print_certs'
+                    ;;
+                dgst)
+                    options='-md5 -md4 -md2 -sha1 -sha -mdc2 -ripemd160 -dss1 \
+                        -c -d -hex -binary -out -sign -verify -prverify \
+                        -signature'
+                    ;;
+                dsa)
+                    options='-inform -outform -in -passin -out -passout -des \
+                        -des3 -idea -text -noout -modulus -pubin -pubout'
+                    ;;
+                dsaparam)
+                    options='-inform -outform -in -out -noout -text -C -rand \
+                        -genkey'
+                    ;;
+                enc)
+                    options='-ciphername -in -out -pass -e -d -a -A -k -kfile \
+                        -S -K -iv -p -P -bufsize -debug'
+                    ;;
+                dhparam)
+                    options='-inform -outform -in -out -dsaparam -noout -text \
+                        -C -2 -5 -rand'
+                    ;;
+                gendsa)
+                    options='-out -des -des3 -idea -rand'
+                    ;;
+                genrsa)
+                    options='-out -passout -des -des3 -idea -f4 -3 -rand'
+                    ;;
+                pkcs7)
+                    options='-inform -outform -in -out -print_certs -text \
+                        -noout'
+                    ;;
+                rand)
+                    options='-out -rand -base64'
+                    ;;
+                req)
+                    options='-inform -outform -in -passin -out -passout -text \
+                        -noout -verify -modulus -new -rand -newkey -newkey \
+                        -nodes -key -keyform -keyout -md5 -sha1 -md2 -mdc2 \
+                        -config -x509 -days -asn1-kludge -newhdr -extensions \
+                        -reqexts section'
+                    ;;
+                rsa)
+                    options='-inform -outform -in -passin -out -passout \
+                        -sgckey -des -des3 -idea -text -noout -modulus -check \
+                        -pubin -pubout -engine'
+                    ;;
+                rsautl)
+                    options='-in -out -inkey -pubin -certin -sign -verify \
+                        -encrypt -decrypt -pkcs -ssl -raw -hexdump -asn1parse'
+                    ;;
+                s_client)
+                    options='-connect -verify -cert -certform -key -keyform \
+                        -pass -CApath -CAfile -reconnect -pause -showcerts \
+                        -debug -msg -nbio_test -state -nbio -crlf -ign_eof \
+                        -quiet -ssl2 -ssl3 -tls1 -no_ssl2 -no_ssl3 -no_tls1 \
+                        -bugs -cipher -starttls -engine -tlsextdebug \
+                        -no_ticket -sess_out -sess_in -rand'
+                    ;;
+                s_server)
+                    options='-accept -context -verify -Verify -crl_check \
+                        -crl_check_all -cert -certform -key -keyform -pass \
+                        -dcert -dcertform -dkey -dkeyform -dpass -dhparam \
+                        -nbio -nbio_test -crlf -debug -msg -state -CApath \
+                        -CAfile -nocert -cipher -quiet -no_tmp_rsa -ssl2 \
+                        -ssl3 -tls1 -no_ssl2 -no_ssl3 -no_tls1 -no_dhe \
+                        -bugs -hack -www -WWW -HTTP -engine -tlsextdebug \
+                        -no_ticket -id_prefix -rand'
+                    ;;
+                s_time)
+                    options='-connect -www -cert -key -CApath -CAfile -reuse \
+                        -new -verify -nbio -time -ssl2 -ssl3 -bugs -cipher'
+                    ;;
+                sess_id)
+                    options='-inform -outform -in -out -text -noout -context \
+                        ID'
+                    ;;
+                smime)
+                    options='-encrypt -decrypt -sign -verify -pk7out -des \
+                        -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256 \
+                        -in -certfile -signer -recip -inform -passin -inkey \
+                        -out -outform -content -to -from -subject -text -rand'
+                    ;;
+                speed)
+                    options='-engine'
+                    ;;
+                verify)
+                    options='-CApath -CAfile -purpose -untrusted -help \
+                        -issuer_checks -verbose -certificates'
+                    ;;
+                x509)
+                    options='-inform -outform -keyform -CAform -CAkeyform -in \
+                        -out -serial -hash -subject-hash -issuer_hash -subject \
+                        -issuer -nameopt -email -startdate -enddate -purpose \
+                        -dates -modulus -fingerprint -alias -noout -trustout \
+                        -clrtrust -clrreject -addtrust -addreject -setalias \
+                        -days -set_serial -signkey -x509toreq -req -CA -CAkey \
+                        -CAcreateserial -CAserial -text -C -md2 -md5 -sha1 \
+                        -mdc2 -clrext -extfile -extensions -engine'
+                    ;;
+                @(md5|md4|md2|sha1|sha|mdc2|ripemd160))
+                    options='-c -d'
+                    ;;
+            esac
+            COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
+        else
+            if [[ "$command" == speed ]]; then
+                COMPREPLY=( $( compgen -W 'md2 mdc2 md5 hmac sha1 rmd160 \
+                    idea-cbc rc2-cbc rc5-cbc bf-cbc des-cbc des-ede3 rc4 \
+                    rsa512 rsa1024 rsa2048 rsa4096 dsa512 dsa1024 dsa2048 idea \
+                    rc2 des rsa blowfish' -- "$cur" ) )
+            else
+                _filedir
+            fi
+        fi
+    fi
 }
 complete -F _openssl $default openssl
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/p4 b/contrib/p4
index 736944e..4e7fc3d 100644
--- a/contrib/p4
+++ b/contrib/p4
@@ -3,59 +3,58 @@
 have p4 &&
 _p4()
 {
-	local cur prev prev2 p4commands p4filetypes
+    local cur prev prev2 p4commands p4filetypes
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	# rename isn't really a command
-	p4commands="$( p4 help commands | awk 'NF>3 {print $1}' )"
-	p4filetypes="ctext cxtext ktext kxtext ltext tempobj ubinary \
-		uresource uxbinary xbinary xltext xtempobj xtext \
-		text binary resource"
+    # rename isn't really a command
+    p4commands="$( p4 help commands | awk 'NF>3 {print $1}' )"
+    p4filetypes="ctext cxtext ktext kxtext ltext tempobj ubinary \
+        uresource uxbinary xbinary xltext xtempobj xtext \
+        text binary resource"
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W "$p4commands" -- "$cur" ) )
-	elif [ $COMP_CWORD -eq 2 ]; then
-		case "$prev" in
-		help)
-			COMPREPLY=( $( compgen -W "simple commands \
-				environment filetypes jobview revisions \
-				usage views $p4commands" -- "$cur" ) )
-			;;
-		admin)
-			COMPREPLY=( $( compgen -W "checkpoint stop" -- "$cur" ) )
-			;;
-		*)
-			;;
-		esac
-	elif [ $COMP_CWORD -gt 2 ]; then
-		prev2=${COMP_WORDS[COMP_CWORD-2]}
-		case "$prev" in
-		-t)
-			case "$prev2" in
-			add|edit|reopen)
-				COMPREPLY=( $( compgen -W "$p4filetypes" \
-					       -- "$cur") )
-				;;
-			*)
-				;;
-			esac
-			;;
-		*)
-			;;
-		esac
-	fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W "$p4commands" -- "$cur" ) )
+    elif [ $COMP_CWORD -eq 2 ]; then
+        case "$prev" in
+            help)
+                COMPREPLY=( $( compgen -W "simple commands \
+                    environment filetypes jobview revisions \
+                    usage views $p4commands" -- "$cur" ) )
+                ;;
+            admin)
+                COMPREPLY=( $( compgen -W "checkpoint stop" -- "$cur" ) )
+                ;;
+            *)
+                ;;
+        esac
+    elif [ $COMP_CWORD -gt 2 ]; then
+        prev2=${COMP_WORDS[COMP_CWORD-2]}
+        case "$prev" in
+            -t)
+                case "$prev2" in
+                    add|edit|reopen)
+                        COMPREPLY=( $( compgen -W "$p4filetypes" -- "$cur") )
+                        ;;
+                    *)
+                        ;;
+                esac
+                ;;
+            *)
+                ;;
+        esac
+    fi
 
-	return 0
+    return 0
 } &&
 complete -F _p4 $default p4 g4
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/perl b/contrib/perl
index aa94ae0..77fac47 100644
--- a/contrib/perl
+++ b/contrib/perl
@@ -19,32 +19,32 @@ _perl()
 
     # If option not followed by whitespace, reassign prev and cur
     if [[ "$cur" == -?* ]]; then
-	temp=$cur
-	prev=${temp:0:2}
-	cur=${temp:2}
-	optPrefix=-P$prev
-	optSuffix=-S/
-	prefix=$prev
+        temp=$cur
+        prev=${temp:0:2}
+        cur=${temp:2}
+        optPrefix=-P$prev
+        optSuffix=-S/
+        prefix=$prev
     fi
 
     # only handle module completion for now
     case "$prev" in
-    -I|-x)
-    	local IFS=$'\t\n'
-    	COMPREPLY=( $( compgen -d $optPrefix $optSuffix -- "$cur" ) )
-    	return 0
-    	;;
-	-m|-M)
-	    _perlmodules
-	    return 0
-	    ;;
+        -I|-x)
+            local IFS=$'\t\n'
+            COMPREPLY=( $( compgen -d $optPrefix $optSuffix -- "$cur" ) )
+            return 0
+            ;;
+        -m|-M)
+            _perlmodules
+            return 0
+            ;;
     esac
 
     if [[ "$cur" == -* ]]; then
 	    COMPREPLY=( $( compgen -W '-C -s -T -u -U -W -X -h -v -V -c -w -d \
 		    -D -p -n -a -F -l -0 -I -m -M -P -S -x -i -e ' -- "$cur" ) )
     else
-	_filedir
+        _filedir
     fi
 }
 complete -F _perl $nospace $filenames perl
@@ -60,56 +60,59 @@ _perldoc()
 
     # completing an option (may or may not be separated by a space)
     if [[ "$cur" == -?* ]]; then
-	temp=$cur
-	prev=${temp:0:2}
-	cur=${temp:2}
-	prefix=$prev
+        temp=$cur
+        prev=${temp:0:2}
+        cur=${temp:2}
+        prefix=$prev
     fi
 
     # complete builtin perl functions
     case $prev in
-	-f)
-	    COMPREPLY=( $( compgen -W 'chomp chop chr crypt hex index lc \
-	    lcfirst length oct ord pack q qq reverse rindex sprintf \
-	    substr tr uc ucfirst y m pos quotemeta s split study qr abs \
-	    atan2 cos exp hex int log oct rand sin sqrt srand pop push \
-	    shift splice unshift grep join map qw reverse sort unpack \
-	    delete each exists keys values binmode close closedir \
-	    dbmclose dbmopen die eof fileno flock format getc print \
-	    printf read readdir rewinddir seek seekdir select syscall \
-	    sysread sysseek syswrite tell telldir truncate warn write \
-	    pack read syscall sysread syswrite unpack vec -X chdir chmod \
-	    chown chroot fcntl glob ioctl link lstat mkdir open opendir \
-	    readlink rename rmdir stat symlink umask unlink utime caller \
-	    continue do dump eval exit goto last next redo return \
-	    sub wantarray caller import local my our package use defined \
-	    formline reset scalar undef \
-	    alarm exec fork getpgrp getppid getpriority kill pipe qx \
-	    setpgrp setpriority sleep system times wait waitpid \
-	    import no package require use bless dbmclose dbmopen package \
-	    ref tie tied untie use accept bind connect getpeername \
-	    getsockname getsockopt listen recv send setsockopt shutdown \
-	    socket socketpair msgctl msgget msgrcv msgsnd semctl semget \
-	    semop shmctl shmget shmread shmwrite endgrent endhostent \
-	    endnetent endpwent getgrent getgrgid getgrnam getlogin \
-	    getpwent getpwnam getpwuid setgrent setpwent endprotoent \
-	    endservent gethostbyaddr gethostbyname gethostent \
-	    getnetbyaddr getnetbyname getnetent getprotobyname \
-	    getprotobynumber getprotoent getservbyname getservbyport \
-	    getservent sethostent setnetent setprotoent setservent \
-	    gmtime localtime time times' -- "$cur" ) )
-	    return 0
-	    ;;
+        -f)
+            COMPREPLY=( $( compgen -W 'chomp chop chr crypt hex index lc \
+                lcfirst length oct ord pack q qq reverse rindex sprintf \
+                substr tr uc ucfirst y m pos quotemeta s split study qr abs \
+                atan2 cos exp hex int log oct rand sin sqrt srand pop push \
+                shift splice unshift grep join map qw reverse sort unpack \
+                delete each exists keys values binmode close closedir \
+                dbmclose dbmopen die eof fileno flock format getc print \
+                printf read readdir rewinddir seek seekdir select syscall \
+                sysread sysseek syswrite tell telldir truncate warn write \
+                pack read syscall sysread syswrite unpack vec -X chdir chmod \
+                chown chroot fcntl glob ioctl link lstat mkdir open opendir \
+                readlink rename rmdir stat symlink umask unlink utime caller \
+                continue do dump eval exit goto last next redo return \
+                sub wantarray caller import local my our package use defined \
+                formline reset scalar undef \
+                alarm exec fork getpgrp getppid getpriority kill pipe qx \
+                setpgrp setpriority sleep system times wait waitpid \
+                import no package require use bless dbmclose dbmopen package \
+                ref tie tied untie use accept bind connect getpeername \
+                getsockname getsockopt listen recv send setsockopt shutdown \
+                socket socketpair msgctl msgget msgrcv msgsnd semctl semget \
+                semop shmctl shmget shmread shmwrite endgrent endhostent \
+                endnetent endpwent getgrent getgrgid getgrnam getlogin \
+                getpwent getpwnam getpwuid setgrent setpwent endprotoent \
+                endservent gethostbyaddr gethostbyname gethostent \
+                getnetbyaddr getnetbyname getnetent getprotobyname \
+                getprotobynumber getprotoent getservbyname getservbyport \
+                getservent sethostent setnetent setprotoent setservent \
+                gmtime localtime time times' -- "$cur" ) )
+            return 0
+            ;;
     esac
 
     if [[ "$cur" == -* ]]; then
-	    COMPREPLY=( $( compgen -W '-h -v -t -u -m -l -F -X -f -q' -- "$cur" ))
+        COMPREPLY=( $( compgen -W '-h -v -t -u -m -l -F -X -f -q' -- "$cur" ))
     else
-	    # return available modules (unless it is clearly a file)
-	    if [[ "$cur" != */* ]]; then
-		    _perlmodules
-		    COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W '$( PAGER=/bin/cat man perl |  sed -ne "/perl.*Perl overview/,/perlwin32/p" | awk "\$NF=2 { print \$1}" | grep perl )' -- "$cur" ) )
-	    fi
+        # return available modules (unless it is clearly a file)
+        if [[ "$cur" != */* ]]; then
+            _perlmodules
+            COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
+                '$( PAGER=/bin/cat man perl |  \
+                sed -ne "/perl.*Perl overview/,/perlwin32/p" | \
+                awk "\$NF=2 { print \$1}" | grep perl )' -- "$cur" ) )
+        fi
     fi
 }
 complete -F _perldoc $default perldoc
@@ -117,8 +120,8 @@ complete -F _perldoc $default perldoc
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/pine b/contrib/pine
index e2a5dd3..0c96bed 100644
--- a/contrib/pine
+++ b/contrib/pine
@@ -3,20 +3,20 @@
 have pine &&
 _pineaddr()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	COMPREPLY=( $( compgen -W '$( awk "{print \$1}" ~/.addressbook 2>/dev/null)' \
-			-- "$cur" ) )
+    COMPREPLY=( $( compgen -W '$( awk "{print \$1}" ~/.addressbook \
+        2>/dev/null)' -- "$cur" ) )
 } &&
 complete -F _pineaddr $default pine
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/pkg-config b/contrib/pkg-config
index bf57b47..1f8cc83 100644
--- a/contrib/pkg-config
+++ b/contrib/pkg-config
@@ -3,50 +3,50 @@
 have pkg-config &&
 _pkg_config()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case $prev in
-		--@(?(define-)variable|@(atleast?(-pkgconfig)|exact|max)-version))
-			# argument required but no completions available
-			return 0
-			;;
-		-\?|--help|--version|--usage)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
+    case $prev in
+        --@(?(define-)variable|@(atleast?(-pkgconfig)|exact|max)-version))
+            # argument required but no completions available
+            return 0
+            ;;
+        -\?|--help|--version|--usage)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		# return list of available options
-		COMPREPLY=( $( compgen -W '--version --modversion \
-			--atleast-pkgconfig-version --libs --static \
-			--short-errors --libs-only-l --libs-only-other \
-			--libs-only-L --cflags --cflags-only-I \
-			--cflags-only-other --variable --define-variable \
-			--exists --uninstalled --atleast-version \
-			--exact-version --max-version --list-all --debug \
-			--print-errors --silence-errors --errors-to-stdout \
-			--print-provides --print-requires -? --help --usage' \
-			-- "$cur") )
-	else
-		COMPREPLY=( $( compgen -W "$( pkg-config --list-all \
-				2>/dev/null | awk '{print $1}' )" -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        # return list of available options
+        COMPREPLY=( $( compgen -W '--version --modversion \
+            --atleast-pkgconfig-version --libs --static \
+            --short-errors --libs-only-l --libs-only-other \
+            --libs-only-L --cflags --cflags-only-I \
+            --cflags-only-other --variable --define-variable \
+            --exists --uninstalled --atleast-version \
+            --exact-version --max-version --list-all --debug \
+            --print-errors --silence-errors --errors-to-stdout \
+            --print-provides --print-requires -? --help --usage' \
+            -- "$cur") )
+    else
+        COMPREPLY=( $( compgen -W "$( pkg-config --list-all \
+            2>/dev/null | awk '{print $1}' )" -- "$cur" ) )
+    fi
 } &&
 complete -F _pkg_config pkg-config
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/pkg_install b/contrib/pkg_install
index cd076e2..3bdf2b7 100644
--- a/contrib/pkg_install
+++ b/contrib/pkg_install
@@ -5,18 +5,18 @@
 
 _pkg_delete()
 {
-	local cur pkgdir prev
+    local cur pkgdir prev
 
-	pkgdir=${PKG_DBDIR:-/var/db/pkg}/
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    pkgdir=${PKG_DBDIR:-/var/db/pkg}/
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	[ "$prev" = "-o" -o "$prev" = "-p" -o "$prev" = "-W" ] && return 0
+    [ "$prev" = "-o" -o "$prev" = "-p" -o "$prev" = "-W" ] && return 0
 
-	COMPREPLY=( $( compgen -d "$pkgdir$cur" ) )
-	COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
+    COMPREPLY=( $( compgen -d "$pkgdir$cur" ) )
+    COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
 
-	return 0
+    return 0
 }
 complete -F _pkg_delete $dirnames pkg_delete pkg_info
 
@@ -24,8 +24,8 @@ complete -F _pkg_delete $dirnames pkg_delete pkg_info
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/pkgtools b/contrib/pkgtools
index 63f0f98..c8092b7 100644
--- a/contrib/pkgtools
+++ b/contrib/pkgtools
@@ -3,20 +3,20 @@
 have removepkg && [ -f /etc/slackware-version ] &&
 _removepkg()
 {
-	local packages cur
+    local packages cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	COMPREPLY=( $( (cd /var/log/packages; compgen -f -- "$cur") ) )
+    COMPREPLY=( $( (cd /var/log/packages; compgen -f -- "$cur") ) )
 } &&
 complete -F _removepkg $filenames removepkg &&
-	complete $dirnames -f -X '!*.tgz' installpkg upgradepkg explodepkg
+    complete $dirnames -f -X '!*.tgz' installpkg upgradepkg explodepkg
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/portupgrade b/contrib/portupgrade
index 8f7cac8..b991473 100644
--- a/contrib/portupgrade
+++ b/contrib/portupgrade
@@ -3,46 +3,46 @@
 have portupgrade &&
 _portupgrade()
 {
-	local cur pkgdir prev
+    local cur pkgdir prev
 
-	pkgdir=${PKG_DBDIR:-/var/db/pkg}/
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    pkgdir=${PKG_DBDIR:-/var/db/pkg}/
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	[ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
+    [ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
 
-	COMPREPLY=( $( compgen -d "$pkgdir$cur" ) )
-	COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
-	COMPREPLY=( ${COMPREPLY[@]%-*} )
+    COMPREPLY=( $( compgen -d "$pkgdir$cur" ) )
+    COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
+    COMPREPLY=( ${COMPREPLY[@]%-*} )
 
-	return 0
+    return 0
 } &&
 complete -F _portupgrade $dirnames portupgrade
 
 have portinstall &&
 _portinstall()
 {
-	local cur portsdir prev indexfile
-	local -a COMPREPLY2
-
-	portsdir=${PORTSDIR:-/usr/ports}/
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	# First try INDEX-5
-	indexfile=$portsdir/INDEX-5
-	# Then INDEX if INDEX-5 does not exist or system is not FreeBSD 5.x
-	[ "${OSTYPE%.*}" = "freebsd5" -a -f $indexfile ] ||
-	  indexfile=$portsdir/INDEX
-
-	[ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
-
-	COMPREPLY=( $( egrep "^$cur" < $indexfile | cut -d'|' -f1 ) )
-	COMPREPLY2=( $( egrep "^[^\|]+\|$portsdir$cur" < $indexfile | \
-			cut -d'|' -f2 ) )
-	COMPREPLY2=( ${COMPREPLY2[@]#$portsdir} )
-	COMPREPLY=( "${COMPREPLY[@]}" "${COMPREPLY2[@]}" )
-
-	return 0
+    local cur portsdir prev indexfile
+    local -a COMPREPLY2
+
+    portsdir=${PORTSDIR:-/usr/ports}/
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    # First try INDEX-5
+    indexfile=$portsdir/INDEX-5
+    # Then INDEX if INDEX-5 does not exist or system is not FreeBSD 5.x
+    [ "${OSTYPE%.*}" = "freebsd5" -a -f $indexfile ] ||
+      indexfile=$portsdir/INDEX
+
+    [ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
+
+    COMPREPLY=( $( egrep "^$cur" < $indexfile | cut -d'|' -f1 ) )
+    COMPREPLY2=( $( egrep "^[^\|]+\|$portsdir$cur" < $indexfile | \
+        cut -d'|' -f2 ) )
+    COMPREPLY2=( ${COMPREPLY2[@]#$portsdir} )
+    COMPREPLY=( "${COMPREPLY[@]}" "${COMPREPLY2[@]}" )
+
+    return 0
 } &&
 complete -F _portinstall $dirnames portinstall
 
@@ -52,8 +52,8 @@ complete -F _pkg_delete $dirnames pkg_deinstall
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/postfix b/contrib/postfix
index c8ebdbf..dccdc1e 100644
--- a/contrib/postfix
+++ b/contrib/postfix
@@ -5,30 +5,30 @@ have postfix && {
 #
 _postfix()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-c)
-			_filedir -d
-			return 0
-			;;
-		-D)
-			COMPREPLY=( $( compgen -W 'start' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ $cur == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -D -v' -- "$cur" ) )
-		return 0
-	fi
-
-	COMPREPLY=( $( compgen -W 'check start stop abort flush reload status \
-		set-permissions upgrade-configuration' -- "$cur" ) )
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -c)
+            _filedir -d
+            return 0
+            ;;
+        -D)
+            COMPREPLY=( $( compgen -W 'start' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c -D -v' -- "$cur" ) )
+        return 0
+    fi
+
+    COMPREPLY=( $( compgen -W 'check start stop abort flush reload status \
+        set-permissions upgrade-configuration' -- "$cur" ) )
 }
 complete -F _postfix $filenames postfix
 
@@ -36,44 +36,44 @@ complete -F _postfix $filenames postfix
 #
 _postmap()
 {
-	local cur prev len idx
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-c)
-			_filedir -d
-			return 0
-			;;
-		-[dq])
-			return 0
-			;;
-	esac
-
-	if [[ $cur == -* ]]; then
-		COMPREPLY=( $( compgen -W '-N -f -i -n -o -p -r -v -w -c -d -q'\
-			-- "$cur" ) )
-		return 0
-	fi
-
-	if [[ "$cur" == *:* ]]; then
-	       	COMPREPLY=( $( compgen -f -- "${cur#*:}" ) )
-	else
-		len=${#cur}
-		idx=0
-		for pval in $( /usr/sbin/postconf -m ); do
-			if [[ "$cur" == "${pval:0:$len}" ]]; then
-				COMPREPLY[$idx]="$pval:"
-				idx=$(($idx+1))
-			fi
-		done
-		if [[ $idx -eq 0 ]]; then
-			COMPREPLY=( $( compgen -f -- "$cur" ) )
-		fi
-	fi
-	return 0
+    local cur prev len idx
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -c)
+            _filedir -d
+            return 0
+            ;;
+        -[dq])
+            return 0
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '-N -f -i -n -o -p -r -v -w -c -d -q'\
+            -- "$cur" ) )
+        return 0
+    fi
+
+    if [[ "$cur" == *:* ]]; then
+            COMPREPLY=( $( compgen -f -- "${cur#*:}" ) )
+    else
+        len=${#cur}
+        idx=0
+        for pval in $( /usr/sbin/postconf -m ); do
+            if [[ "$cur" == "${pval:0:$len}" ]]; then
+                COMPREPLY[$idx]="$pval:"
+                idx=$(($idx+1))
+            fi
+        done
+        if [[ $idx -eq 0 ]]; then
+            COMPREPLY=( $( compgen -f -- "$cur" ) )
+        fi
+    fi
+    return 0
 }
 complete -F _postmap $filenames postmap postalias
 
@@ -81,43 +81,43 @@ complete -F _postmap $filenames postmap postalias
 #
 _postcat()
 {
-	local cur prev pval len idx qfile
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-c)
-			_filedir -d
-			return 0
-			;;
-	esac
-
-	if [[ $cur == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -q -v' -- "$cur" ) )
-		return 0
-	fi
-
-	qfile=0
-	for idx in "${COMP_WORDS[@]}"; do
-		[[ "$idx" = -q ]] && qfile=1 && break
-	done
-	if [[ $qfile == 1 ]]; then
-		len=${#cur}
-		idx=0
-		for pval in $( mailq 2>/dev/null | \
-			sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
-			if [[ "$cur" == "${pval:0:$len}" ]]; then
-				COMPREPLY[$idx]=$pval
-				idx=$(($idx+1))
-			fi
-		done
-		return 0
-	else
-		_filedir
-		return 0
-	fi
+    local cur prev pval len idx qfile
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -c)
+            _filedir -d
+            return 0
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c -q -v' -- "$cur" ) )
+        return 0
+    fi
+
+    qfile=0
+    for idx in "${COMP_WORDS[@]}"; do
+        [[ "$idx" = -q ]] && qfile=1 && break
+    done
+    if [[ $qfile == 1 ]]; then
+        len=${#cur}
+        idx=0
+        for pval in $( mailq 2>/dev/null | \
+            sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
+            if [[ "$cur" == "${pval:0:$len}" ]]; then
+                COMPREPLY[$idx]=$pval
+                idx=$(($idx+1))
+            fi
+        done
+        return 0
+    else
+        _filedir
+        return 0
+    fi
 }
 complete -F _postcat $filenames postcat
 
@@ -125,42 +125,42 @@ complete -F _postcat $filenames postcat
 #
 _postconf()
 {
-	local cur prev pval len idx eqext
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-b|-t)
-			_filedir
-			return 0
-			;;
-		-c)
-			_filedir -d
-			return 0
-			;;
-		-e)
-			cur=${cur#[\"\']}
-			eqext='='
-			;;
-	esac
-
-	if [[ $cur == -* ]]; then
-		COMPREPLY=( $( compgen -W '-A -a -b -c -d -e -h -m -l -n -t -v'\
-			-- "$cur" ) )
-		return 0
-	fi
-
-	len=${#cur}
-	idx=0
-	for pval in $( /usr/sbin/postconf 2>/dev/null | cut -d ' ' -f 1 ); do
-		if [[ "$cur" == "${pval:0:$len}" ]]; then
-			COMPREPLY[$idx]="$pval$eqext"
-			idx=$(($idx+1))
-		fi
-	done
-	return 0
+    local cur prev pval len idx eqext
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -b|-t)
+            _filedir
+            return 0
+            ;;
+        -c)
+            _filedir -d
+            return 0
+            ;;
+        -e)
+            cur=${cur#[\"\']}
+            eqext='='
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '-A -a -b -c -d -e -h -m -l -n -t -v'\
+            -- "$cur" ) )
+        return 0
+    fi
+
+    len=${#cur}
+    idx=0
+    for pval in $( /usr/sbin/postconf 2>/dev/null | cut -d ' ' -f 1 ); do
+        if [[ "$cur" == "${pval:0:$len}" ]]; then
+            COMPREPLY[$idx]="$pval$eqext"
+            idx=$(($idx+1))
+        fi
+    done
+    return 0
 }
 complete -F _postconf $filenames postconf
 
@@ -168,69 +168,69 @@ complete -F _postconf $filenames postconf
 #
 _postsuper()
 {
-	local cur prev pval len idx
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-c)
-			_filedir -d
-			return 0
-			;;
-		-[dr])
-			len=${#cur}
-			idx=0
-			for pval in $( echo ALL; mailq 2>/dev/null | \
-				sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
-				if [[ "$cur" == "${pval:0:$len}" ]]; then
-					COMPREPLY[$idx]=$pval
-					idx=$(($idx+1))
-				fi
-			done
-			return 0
-			;;
-		-h)
-			len=${#cur}
-			idx=0
-			for pval in $( echo ALL; mailq 2>/dev/null | \
-				sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* ].*$//; /!$/d' ); do
-				if [[ "$cur" == "${pval:0:$len}" ]]; then
-					COMPREPLY[$idx]=$pval
-					idx=$(($idx+1))
-				fi
-			done
-			return 0
-			;;
-		-H)
-			len=${#cur}
-			idx=0
-			for pval in $( echo ALL; mailq 2>/dev/null | \
-				sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; /^[0-9A-Z]*[* ]/d; s/!.*$//' ); do
-				if [[ "$cur" == "${pval:0:$len}" ]]; then
-					COMPREPLY[$idx]=$pval
-					idx=$(($idx+1))
-				fi
-			done
-			return 0
-			;;
-	esac
-
-	if [[ $cur == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -d -h -H -p -r -s -v' -- "$cur" ) )
-		return 0
-	fi
-
-	COMPREPLY=( $( compgen -W 'hold incoming active deferred' -- "$cur" ) )
+    local cur prev pval len idx
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -c)
+            _filedir -d
+            return 0
+            ;;
+        -[dr])
+            len=${#cur}
+            idx=0
+            for pval in $( echo ALL; mailq 2>/dev/null | \
+                sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
+                if [[ "$cur" == "${pval:0:$len}" ]]; then
+                    COMPREPLY[$idx]=$pval
+                    idx=$(($idx+1))
+                fi
+            done
+            return 0
+            ;;
+        -h)
+            len=${#cur}
+            idx=0
+            for pval in $( echo ALL; mailq 2>/dev/null | \
+                sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* ].*$//; /!$/d' ); do
+                if [[ "$cur" == "${pval:0:$len}" ]]; then
+                    COMPREPLY[$idx]=$pval
+                    idx=$(($idx+1))
+                fi
+            done
+            return 0
+            ;;
+        -H)
+            len=${#cur}
+            idx=0
+            for pval in $( echo ALL; mailq 2>/dev/null | \
+                sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; /^[0-9A-Z]*[* ]/d; s/!.*$//' ); do
+                if [[ "$cur" == "${pval:0:$len}" ]]; then
+                    COMPREPLY[$idx]=$pval
+                    idx=$(($idx+1))
+                fi
+            done
+            return 0
+            ;;
+    esac
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c -d -h -H -p -r -s -v' -- "$cur" ) )
+        return 0
+    fi
+
+    COMPREPLY=( $( compgen -W 'hold incoming active deferred' -- "$cur" ) )
 }
 complete -F _postsuper $filenames postsuper
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/postgresql b/contrib/postgresql
index 34b5e2a..125b6f6 100644
--- a/contrib/postgresql
+++ b/contrib/postgresql
@@ -3,62 +3,61 @@
 have psql && {
 _pg_databases()
 {
-	return # See https://launchpad.net/bugs/164772
-	COMPREPLY=( $( compgen -W "$( psql -l 2>/dev/null | \
-			sed -e '1,/^-/d' -e '/^(/,$d' | \
-			awk '{print $1}' )" -- "$cur" ) )
+    return # See https://launchpad.net/bugs/164772
+    COMPREPLY=( $( compgen -W "$( psql -l 2>/dev/null | \
+        sed -e '1,/^-/d' -e '/^(/,$d' | \
+        awk '{print $1}' )" -- "$cur" ) )
 }
 
 _pg_users()
 {
-	# See https://launchpad.net/bugs/164772
-	#COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \
-	#		grep "^ $cur" ) )
-	#[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) )
-	COMPREPLY=( $( compgen -u -- "$cur" ) )
+    # See https://launchpad.net/bugs/164772
+    #COMPREPLY=( $( psql -qtc 'select usename from pg_user' template1 2>/dev/null | \
+    #       grep "^ $cur" ) )
+    #[ ${#COMPREPLY[@]} -eq 0 ] && COMPREPLY=( $( compgen -u -- $cur ) )
+    COMPREPLY=( $( compgen -u -- "$cur" ) )
 }
 
 # createdb(1) completion
 #
 _createdb()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-h|--host)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-U|--username|-O|--owner)
-			_pg_users
-			return 0
-			;;
-		-p|--port|-D|--tablespace|-E|--encoding|-T|--template)
-			# argument required but no completions available
-			return 0
-			;;
-		--help|--version)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-D -T -E -h -p -U -W -e -q \
-			--tablespace --template --encoding --host --port \
-			--username --password --echo --quiet --help --version' \
-			-- "$cur" ))
-	else
-		_pg_databases
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -h|--host)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -U|--username|-O|--owner)
+            _pg_users
+            return 0
+            ;;
+        -p|--port|-D|--tablespace|-E|--encoding|-T|--template)
+            # argument required but no completions available
+            return 0
+            ;;
+        --help|--version)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-D -T -E -h -p -U -W -e -q \
+            --tablespace --template --encoding --host --port \
+            --username --password --echo --quiet --help --version' -- "$cur" ))
+    else
+        _pg_databases
+    fi
 }
 complete -F _createdb $default createdb
 
@@ -66,38 +65,38 @@ complete -F _createdb $default createdb
 #
 _dropdb()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-h|--host)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-U|--username)
-			_pg_users
-			return 0
-			;;
-		--help|--version)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-h -p -U -W -i -e -q \
-			--host --port --username --password --interactive \
-			--echo --quiet --help --version' -- "$cur" ) )
-	else
-		_pg_databases
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -h|--host)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -U|--username)
+            _pg_users
+            return 0
+            ;;
+        --help|--version)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-h -p -U -W -i -e -q \
+            --host --port --username --password --interactive \
+            --echo --quiet --help --version' -- "$cur" ) )
+    else
+        _pg_databases
+    fi
 }
 complete -F _dropdb $default dropdb
 
@@ -105,68 +104,68 @@ complete -F _dropdb $default dropdb
 #
 _psql()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-h|--host)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-		-U|--username)
-			_pg_users
-			return 0
-			;;
-		-d|--dbname)
-			_pg_databases
-			return 0
-			;;
-		-o|--output|-f|--file|-L|--log-file)
-			_filedir
-			return 0
-			;;
-		-c|--command|-F|--field-separator|-p|--port|-P|--pset|\
-		-R|--record-separator|-T|--table-attr|-v|--set|--variable)
-			# argument required but no completions available
-			return 0
-			;;
-		-\?|--help|-V|--version)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		# return list of available options
-		COMPREPLY=( $( compgen -W '-a --echo-all -A --no-align \
-			-c --command -d --dbname -e --echo-queries \
-			-E --echo-hidden -f --file -F --field-separator \
-			-h --host -H --html -l --list -L --log-file -n \
-			-o --output -p --port -P --pset -q --quiet \
-			-R --record-separator -s --single-step \
-			-S --single-line -t --tuples-only -T --table-attr \
-			-U --username -v --set --variable -V --version \
-			-W --password -x --expanded -X --no-psqlrc \
-			-1 --single-transaction -? --help' -- "$cur" ) )
-	else
-		# return list of available databases
-		_pg_databases
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -h|--host)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+        -U|--username)
+            _pg_users
+            return 0
+            ;;
+        -d|--dbname)
+            _pg_databases
+            return 0
+            ;;
+        -o|--output|-f|--file|-L|--log-file)
+            _filedir
+            return 0
+            ;;
+        -c|--command|-F|--field-separator|-p|--port|-P|--pset|\
+        -R|--record-separator|-T|--table-attr|-v|--set|--variable)
+            # argument required but no completions available
+            return 0
+            ;;
+        -\?|--help|-V|--version)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        # return list of available options
+        COMPREPLY=( $( compgen -W '-a --echo-all -A --no-align \
+            -c --command -d --dbname -e --echo-queries \
+            -E --echo-hidden -f --file -F --field-separator \
+            -h --host -H --html -l --list -L --log-file -n \
+            -o --output -p --port -P --pset -q --quiet \
+            -R --record-separator -s --single-step \
+            -S --single-line -t --tuples-only -T --table-attr \
+            -U --username -v --set --variable -V --version \
+            -W --password -x --expanded -X --no-psqlrc \
+            -1 --single-transaction -? --help' -- "$cur" ) )
+    else
+        # return list of available databases
+        _pg_databases
+    fi
 }
 complete -F _psql $filenames psql
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/povray b/contrib/povray
index ae73bcb..4a4df01 100644
--- a/contrib/povray
+++ b/contrib/povray
@@ -3,63 +3,64 @@
 have povray || have xpovray || have spovray &&
 _povray()
 {
-	local cur prev povcur pfx oext defoext
-	defoext=png # default output extension, if cannot be determined FIXME
+    local cur prev povcur pfx oext defoext
+    defoext=png # default output extension, if cannot be determined FIXME
 
-	COMPREPLY=()
-	povcur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    povcur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_expand || return 0
+    _expand || return 0
 
-	case $povcur in
-		[-+]I*)
-			cur="${povcur#[-+]I}" # to confuse _filedir
-			pfx="${povcur%"$cur"}"
-			_filedir pov
-			COMPREPLY=( ${COMPREPLY[@]/#/$pfx} )
-			return 0
-			;;
-		[-+]O*)
-			# guess what output file type user may want
-			case $( ( IFS=$'\n'; echo "${COMP_WORDS[*]}" | grep '^[-+]F' ) ) in
-				[-+]FN) oext=png ;;
-				[-+]FP) oext=ppm ;;
-				[-+]F[CT]) oext=tga ;;
-				*) oext=$defoext ;;
-			esac
-			# complete filename corresponding to previously specified +I
-			COMPREPLY=( $( ( IFS=$'\n'; echo "${COMP_WORDS[*]}" | grep '^[-+]I' ) ) )
-			COMPREPLY=( ${COMPREPLY[@]#[-+]I} )
-			COMPREPLY=( ${COMPREPLY[@]/%.pov/.$oext} )
-			cur="${povcur#[-+]O}" # to confuse _filedir
-			pfx="${povcur%"$cur"}"
-			_filedir $oext
-			COMPREPLY=( ${COMPREPLY[@]/#/$pfx} )
-			return 0
-			;;
-		*.ini\[|*.ini\[*[^]]) # sections in .ini files
-			cur="${povcur#*\[}"
-			pfx="${povcur%\["$cur"}" # prefix == filename
-			[ -r "$pfx" ] || return 0
-			COMPREPLY=( $(sed -e 's/^[[:space:]]*\[\('"$cur"'[^]]*\]\).*$/\1/' -e 't' -e 'd' -- "$pfx") )
-			# to prevent [bar] expand to nothing.  can be done more easily?
-			COMPREPLY=( "${COMPREPLY[@]/#/$pfx[}" )
-			return 0
-			;;
-		*)
-			cur="$povcur"
-			_filedir '?(ini|pov)'
-			return 0
-			;;
-	esac
+    case $povcur in
+        [-+]I*)
+            cur="${povcur#[-+]I}" # to confuse _filedir
+            pfx="${povcur%"$cur"}"
+            _filedir pov
+            COMPREPLY=( ${COMPREPLY[@]/#/$pfx} )
+            return 0
+            ;;
+        [-+]O*)
+            # guess what output file type user may want
+            case $( ( IFS=$'\n'; echo "${COMP_WORDS[*]}" | grep '^[-+]F' ) ) in
+                [-+]FN) oext=png ;;
+                [-+]FP) oext=ppm ;;
+                [-+]F[CT]) oext=tga ;;
+                *) oext=$defoext ;;
+            esac
+            # complete filename corresponding to previously specified +I
+            COMPREPLY=( $( ( IFS=$'\n'; echo "${COMP_WORDS[*]}" | grep '^[-+]I' ) ) )
+            COMPREPLY=( ${COMPREPLY[@]#[-+]I} )
+            COMPREPLY=( ${COMPREPLY[@]/%.pov/.$oext} )
+            cur="${povcur#[-+]O}" # to confuse _filedir
+            pfx="${povcur%"$cur"}"
+            _filedir $oext
+            COMPREPLY=( ${COMPREPLY[@]/#/$pfx} )
+            return 0
+            ;;
+        *.ini\[|*.ini\[*[^]]) # sections in .ini files
+            cur="${povcur#*\[}"
+            pfx="${povcur%\["$cur"}" # prefix == filename
+            [ -r "$pfx" ] || return 0
+            COMPREPLY=( $(sed -e 's/^[[:space:]]*\[\('"$cur"'[^]]*\]\).*$/\1/' \
+                -e 't' -e 'd' -- "$pfx") )
+            # to prevent [bar] expand to nothing.  can be done more easily?
+            COMPREPLY=( "${COMPREPLY[@]/#/$pfx[}" )
+            return 0
+            ;;
+        *)
+            cur="$povcur"
+            _filedir '?(ini|pov)'
+            return 0
+            ;;
+    esac
 } &&
 complete -F _povray $filenames povray xpovray spovray
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/python b/contrib/python
index fd03dcf..6bd4e0c 100644
--- a/contrib/python
+++ b/contrib/python
@@ -3,56 +3,57 @@
 have python &&
 _python()
 {
-	local prev cur i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]##*/}
-
-	case "$prev" in
-	-Q)
-		COMPREPLY=( $( compgen -W "old new warn warnall" -- "$cur" ) )
-		return 0
-		;;
-	-W)
-		COMPREPLY=( $( compgen -W "ignore default all module once error" -- "$cur" ) )
-		return 0
-		;;
-	-c)
-		_filedir '@(py|pyc|pyo)'
-		return 0
-		;;
-	!(python|-?))
-		[[ ${COMP_WORDS[COMP_CWORD-2]} != -@(Q|W) ]] && _filedir
-		;;
-	esac
-
-
-	# if '-c' is already given, complete all kind of files.
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[i]} == -c ]]; then
-			_filedir
-		fi
-	done
-
-
-	if [[ "$cur" != -* ]]; then
-		_filedir '@(py|pyc|pyo)'
-	else
-		COMPREPLY=( $( compgen -W "- -d -E -h -i -O -Q -S -t -u \
-					   -U -v -V -W -x -c" -- "$cur" ) )
-	fi
-
-
-
-	return 0
+    local prev cur i
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]##*/}
+
+    case "$prev" in
+    -Q)
+        COMPREPLY=( $( compgen -W "old new warn warnall" -- "$cur" ) )
+        return 0
+        ;;
+    -W)
+        COMPREPLY=( $( compgen -W "ignore default all module once error" \
+            -- "$cur" ) )
+        return 0
+        ;;
+    -c)
+        _filedir '@(py|pyc|pyo)'
+        return 0
+        ;;
+    !(python|-?))
+        [[ ${COMP_WORDS[COMP_CWORD-2]} != -@(Q|W) ]] && _filedir
+        ;;
+    esac
+
+
+    # if '-c' is already given, complete all kind of files.
+    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+        if [[ ${COMP_WORDS[i]} == -c ]]; then
+            _filedir
+        fi
+    done
+
+
+    if [[ "$cur" != -* ]]; then
+        _filedir '@(py|pyc|pyo)'
+    else
+        COMPREPLY=( $( compgen -W "- -d -E -h -i -O -Q -S -t -u \
+            -U -v -V -W -x -c" -- "$cur" ) )
+    fi
+
+
+
+    return 0
 } &&
 complete -F _python $filenames python
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/qdbus b/contrib/qdbus
index 7a5d71c..1e70c70 100644
--- a/contrib/qdbus
+++ b/contrib/qdbus
@@ -3,23 +3,24 @@
 have qdbus &&
 _qdbus()
 {
-	local cur compstr
+    local cur compstr
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	if [ -z "$cur" ]; then
-		compstr=${COMP_WORDS[*]}
-	else
-		compstr=$( command echo ${COMP_WORDS[*]} | sed "s/ ${cur/\//\\/}$//" )
-	fi
-	COMPREPLY=( $( compgen -W '$( command $compstr | sed s/\(.*\)// )' -- "$cur" ) )
+    COMPREPLY=()
+    cur=`_get_cword`
+    if [ -z "$cur" ]; then
+        compstr=${COMP_WORDS[*]}
+    else
+        compstr=$( command echo ${COMP_WORDS[*]} | sed "s/ ${cur/\//\\/}$//" )
+    fi
+        COMPREPLY=( $( compgen -W '$( command $compstr | sed s/\(.*\)// )' \
+            -- "$cur" ) )
 } &&
 complete -F _qdbus qdbus
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/qemu b/contrib/qemu
index e99fa5c..c129f0c 100644
--- a/contrib/qemu
+++ b/contrib/qemu
@@ -3,129 +3,130 @@
 have qemu &&
 _qemu()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-@(fd[ab]|hd[abcd]|cdrom|option-rom|kernel|initrd|bootp|pidfile|loadvm|mtdblock|sd|pflash|bios))
-			_filedir
-			return 0
-			;;
-		-@(tftp|smb|L|chroot))
-			_filedir -d
-			return 0
-			;;
-		-boot)
-			COMPREPLY=( $( compgen -W 'a c d n' -- "$cur" ) )
-			return 0
-			;;
-		-k)
-			COMPREPLY=( $( compgen -W 'ar de-ch es fo fr-ca hu ja \
-				mk no pt-br sv da en-gb et fr fr-ch is lt nl pl\
-				ru th de en-us fi fr-be hr it lv nl-be pt sl \
-				tr' -- "$cur" ) )
-			return 0
-			;;
-		-soundhw)
-			COMPREPLY=( $( compgen -W "$( qemu -soundhw ? | awk \
-				'/^[[:lower:]]/ {print $1}' ) all" -- "$cur" ) )
-			return 0
-			;;
-		-M)
-			COMPREPLY=( $( compgen -W "$( qemu -M ? | awk \
-				'/^[[:lower:]]/ {print $1}' )" -- "$cur" ) )
-			return 0
-			;;
-		-cpu)
-			COMPREPLY=( $( compgen -W "$( qemu -cpu ? | awk \
-				'{print $2}' )" -- "$cur" ) )
-			return 0
-			;;
-		-usbdevice)
-			COMPREPLY=( $( compgen -W 'mouse tablet disk: host: \
-				serial: braille net' -- "$cur" ) )
-			return 0
-			;;
-		-net)
-			COMPREPLY=( $( compgen -W 'nic user tap socket vde none dump' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-@(serial|parallel|monitor))
-			COMPREPLY=( $( compgen -W 'vc pty none null /dev/ \
-				file: stdio pipe: COM udp: tcp: telnet: unix: \
-				mon: braille' -- "$cur" ) )
-			return 0
-			;;
-		-redir)
-			COMPREPLY=( $( compgen -S":" -W 'tcp udp' -- "$cur" ) )
-			return 0
-			;;
-		-bt)
-			COMPREPLY=( $( compgen -W 'hci vhci device' -- "$cur" ) )
-			return 0
-			;;
-		-vga)
-			COMPREPLY=( $( compgen -W 'cirrus std vmware xenfb none' -- "$cur" ) )
-			return 0
-			;;
-		-drive)
-			COMPREPLY=( $( compgen -S"=" -W 'file if bus unit index media \
-				cyls snapshot cache format serial addr' -- "$cur" ) )
-			return 0
-			;;
-		-ballon)
-			COMPREPLY=( $( compgen -W 'none virtio' -- "$cur" ) )
-			return 0
-			;;
-		-smbios)
-			COMPREPLY=( $( compgen -W 'file type' -- "$cur" ) )
-			return 0
-			;;
-		-watchdog)
-			COMPREPLY=( $( compgen -W "$( qemu -watchdog ? 2>&1 | awk '{print $1}' )" -- "$cur" ) )
-			return 0
-			;;
-		-watchdog-action)
-			COMPREPLY=( $( compgen -W 'reset shutdown poweroff pause \
-			debug none' -- "$cur" ) )
-			return 0
-			;;
-		-runas)
-			COMPREPLY=( $( compgen -u -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        -@(fd[ab]|hd[abcd]|cdrom|option-rom|kernel|initrd|bootp|pidfile|loadvm|mtdblock|sd|pflash|bios))
+            _filedir
+            return 0
+            ;;
+        -@(tftp|smb|L|chroot))
+            _filedir -d
+            return 0
+            ;;
+        -boot)
+            COMPREPLY=( $( compgen -W 'a c d n' -- "$cur" ) )
+            return 0
+            ;;
+        -k)
+            COMPREPLY=( $( compgen -W 'ar de-ch es fo fr-ca hu ja \
+                mk no pt-br sv da en-gb et fr fr-ch is lt nl pl\
+                ru th de en-us fi fr-be hr it lv nl-be pt sl tr' -- "$cur" ) )
+            return 0
+            ;;
+        -soundhw)
+            COMPREPLY=( $( compgen -W "$( qemu -soundhw ? | awk \
+                '/^[[:lower:]]/ {print $1}' ) all" -- "$cur" ) )
+            return 0
+            ;;
+        -M)
+            COMPREPLY=( $( compgen -W "$( qemu -M ? | awk \
+                '/^[[:lower:]]/ {print $1}' )" -- "$cur" ) )
+            return 0
+            ;;
+        -cpu)
+            COMPREPLY=( $( compgen -W "$( qemu -cpu ? | awk \
+                '{print $2}' )" -- "$cur" ) )
+            return 0
+            ;;
+        -usbdevice)
+            COMPREPLY=( $( compgen -W 'mouse tablet disk: host: \
+                serial: braille net' -- "$cur" ) )
+            return 0
+            ;;
+        -net)
+            COMPREPLY=( $( compgen -W 'nic user tap socket vde none dump' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -@(serial|parallel|monitor))
+            COMPREPLY=( $( compgen -W 'vc pty none null /dev/ \
+                file: stdio pipe: COM udp: tcp: telnet: unix: \
+                mon: braille' -- "$cur" ) )
+            return 0
+            ;;
+        -redir)
+            COMPREPLY=( $( compgen -S":" -W 'tcp udp' -- "$cur" ) )
+            return 0
+            ;;
+        -bt)
+            COMPREPLY=( $( compgen -W 'hci vhci device' -- "$cur" ) )
+            return 0
+            ;;
+        -vga)
+            COMPREPLY=( $( compgen -W 'cirrus std vmware xenfb none' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -drive)
+            COMPREPLY=( $( compgen -S"=" -W 'file if bus unit index media \
+                cyls snapshot cache format serial addr' -- "$cur" ) )
+            return 0
+            ;;
+        -ballon)
+            COMPREPLY=( $( compgen -W 'none virtio' -- "$cur" ) )
+            return 0
+            ;;
+        -smbios)
+            COMPREPLY=( $( compgen -W 'file type' -- "$cur" ) )
+            return 0
+            ;;
+        -watchdog)
+            COMPREPLY=( $( compgen -W "$( qemu -watchdog ? 2>&1 | \
+                awk '{print $1}' )" -- "$cur" ) )
+            return 0
+            ;;
+        -watchdog-action)
+            COMPREPLY=( $( compgen -W 'reset shutdown poweroff pause debug \
+                none' -- "$cur" ) )
+            return 0
+            ;;
+        -runas)
+            COMPREPLY=( $( compgen -u -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-M -fda -fdb -hda -hdb -hdc -hdd \
-		-cdrom -boot -snapshot -no-fd-bootchk -m -smp -nographic -vnc \
-		-k -audio-help -soundhw -localtime -full-screen -pidfile \
-		-daemonize -win2k-hack -option-rom -usb -usbdevice -net -tftp \
-		-smb -redir -kernel -append -initrd -serial -parallel -monitor \
-		-s -p -S -d -hdachs -L -std-vga -no-acpi -no-reboot -loadvm \
-		-semihosting -cpu -bt -vga -drive -startdate -name -curses \
-		-no-frame -no-quit -bootp -echr -no-shutdown -icount -g \
-		-prom-env -h -help -version -numa -mtdblock -sd -pflash \
-		-device -uuid -alt-grab -sdl -portrait -rtc-td-hack -no-hpet \
-		-balloon -acpitable -smbios -singlestep -gdb -hdachs -bios \
-		-kernel-kqemu -enable-kqemu -enable-kvm -clock -watchdog \
-		-watchdog-action -virtioconsole -show-cursor -tb-size -incoming \
-		-chroot -runas' -- "$cur" ) )
-	else
-		_filedir
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-M -fda -fdb -hda -hdb -hdc -hdd \
+            -cdrom -boot -snapshot -no-fd-bootchk -m -smp -nographic -vnc \
+            -k -audio-help -soundhw -localtime -full-screen -pidfile \
+            -daemonize -win2k-hack -option-rom -usb -usbdevice -net -tftp \
+            -smb -redir -kernel -append -initrd -serial -parallel -monitor \
+            -s -p -S -d -hdachs -L -std-vga -no-acpi -no-reboot -loadvm \
+            -semihosting -cpu -bt -vga -drive -startdate -name -curses \
+            -no-frame -no-quit -bootp -echr -no-shutdown -icount -g \
+            -prom-env -h -help -version -numa -mtdblock -sd -pflash \
+            -device -uuid -alt-grab -sdl -portrait -rtc-td-hack -no-hpet \
+            -balloon -acpitable -smbios -singlestep -gdb -hdachs -bios \
+            -kernel-kqemu -enable-kqemu -enable-kvm -clock -watchdog \
+            -watchdog-action -virtioconsole -show-cursor -tb-size -incoming \
+            -chroot -runas' -- "$cur" ) )
+    else
+        _filedir
+    fi
 } &&
 complete -F _qemu $filenames qemu
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/quota-tools b/contrib/quota-tools
index 9e9f4c7..bc5346c 100644
--- a/contrib/quota-tools
+++ b/contrib/quota-tools
@@ -3,262 +3,262 @@
 have quota && {
 _user_or_group()
 {
-	local i
-
-	# complete on groups if -g was given
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == -g ]]; then
-			COMPREPLY=( $( compgen -g -- "$cur" ) )
-			return 0
-		fi
-	done
-
-	# otherwise complete on users
-	COMPREPLY=( $( compgen -u -- "$cur" ) )
+    local i
+
+    # complete on groups if -g was given
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == -g ]]; then
+            COMPREPLY=( $( compgen -g -- "$cur" ) )
+            return 0
+        fi
+    done
+
+    # otherwise complete on users
+    COMPREPLY=( $( compgen -u -- "$cur" ) )
 }
 
 _quota_formats()
 {
-	COMPREPLY=( $( compgen -W 'vfsold vfsv0 rpc xfs' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'vfsold vfsv0 rpc xfs' -- "$cur" ) )
 }
 
 _filesystems()
 {
-	#  Only list filesystems starting with "/", otherwise we also get
-	#+ "binfmt_misc", "proc", "tmpfs", ...
-	COMPREPLY=( $( compgen -W "$(awk '/^\// {print $1}' /etc/mtab)" \
-		-- "$cur" ) )
+    #  Only list filesystems starting with "/", otherwise we also get
+    #+ "binfmt_misc", "proc", "tmpfs", ...
+    COMPREPLY=( $( compgen -W "$(awk '/^\// {print $1}' /etc/mtab)" \
+        -- "$cur" ) )
 }
 
 _quota()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-F|--format)
-			_quota_formats
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-F --format -g --group -u --user -v --verbose \
-			-s --human-readable -p --raw-grace -i --no-autofs -l --local-only \
-			-A --all-nfs -m --no-mixed-pathnames -q --quiet -Q --quiet-refuse \
-			-w --no-wrap' -- "$cur" ) )
-	else
-		_user_or_group
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -F|--format)
+            _quota_formats
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-F --format -g --group -u --user -v \
+            --verbose -s --human-readable -p --raw-grace -i --no-autofs -l \
+            --local-only -A --all-nfs -m --no-mixed-pathnames -q --quiet -Q \
+            --quiet-refuse -w --no-wrap' -- "$cur" ) )
+    else
+        _user_or_group
+    fi
 }
 complete -F _quota $default quota
 
 _setquota()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-F|--format)
-			_quota_formats
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
-			-F --format -g --group -u --user -p --prototype -b --batch \
-			-c --continue-batch -t --edit-period -T --edit-times -a --all' -- "$cur" ) )
-	else
-		_count_args
-
-		case $args in
-			1)
-				_user_or_group
-				;;
-			2)
-				_filesystems
-				;;
-		esac
-
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -F|--format)
+            _quota_formats
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
+            -F --format -g --group -u --user -p --prototype -b --batch \
+            -c --continue-batch -t --edit-period -T --edit-times -a --all' \
+            -- "$cur" ) )
+    else
+        _count_args
+
+        case $args in
+            1)
+                _user_or_group
+                ;;
+            2)
+                _filesystems
+                ;;
+        esac
+
+    fi
 }
 complete -F _setquota $default setquota
 
 _edquota()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-F|--format)
-			_quota_formats
-			return 0
-			;;
-		-@(f|-filesystem))
-			_filesystems
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
-			-g --group -u --user -p --prototype -F --format -f --filesystem \
-			-t --edit-period -T --edit-times' -- "$cur" ) )
-	else
-		_user_or_group
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -F|--format)
+            _quota_formats
+            return 0
+            ;;
+        -@(f|-filesystem))
+            _filesystems
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
+            -g --group -u --user -p --prototype -F --format -f --filesystem \
+            -t --edit-period -T --edit-times' -- "$cur" ) )
+    else
+        _user_or_group
+    fi
 }
 complete -F _edquota $default edquota
 
 _quotacheck()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-F|--format)
-			_quota_formats
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-b --backup -v --verbose -d --debug \
-			-g --group -u --user -c --create-files -f --force -i \
-			--interactive -n --use-first-dquot -M --try-remount -m \
-			--no-remount -R --exclude-root -F --format -a --all' \
-			-- "$cur" ) )
-	else
-		_filesystems
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -F|--format)
+            _quota_formats
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-b --backup -v --verbose -d --debug \
+            -g --group -u --user -c --create-files -f --force -i \
+            --interactive -n --use-first-dquot -M --try-remount -m \
+            --no-remount -R --exclude-root -F --format -a --all' -- "$cur" ) )
+    else
+        _filesystems
+    fi
 }
 complete -F _quotacheck $default quotacheck
 
 _repquota()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-F|--format)
-			_quota_formats
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all -v --verbose -s --human-readable \
-			-c --batch-translation -C --no-batch-translation -t \
-			--truncate-names -n --no-names -p --raw-grace -i --no-autofs \
-			-u --user -g --group -F --format' -- "$cur" ) )
-	else
-		_filesystems
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -F|--format)
+            _quota_formats
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all -v --verbose -s --human-readable \
+            -c --batch-translation -C --no-batch-translation -t \
+            --truncate-names -n --no-names -p --raw-grace -i --no-autofs \
+            -u --user -g --group -F --format' -- "$cur" ) )
+    else
+        _filesystems
+    fi
 }
 complete -F _repquota $default repquota
 
 _quotaon()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case $prev in
-		-F|--format)
-			_quota_formats
-			return 0
-			;;
-	esac
+    case $prev in
+        -F|--format)
+            _quota_formats
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
-			-g --group -f --off -p --print-state -F --format' -- "$cur" ) )
-	else
-		_filesystems
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
+            -g --group -f --off -p --print-state -F --format' -- "$cur" ) )
+    else
+        _filesystems
+    fi
 }
 complete -F _quotaon $default quotaon
 
 _quotaoff()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-F|--format)
-			_quota_formats
-			return 0
-			;;
-		-@(x|-xfs-command))
-			COMPREPLY=( $( compgen -W 'delete enforce' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
-			-g --group -p --print-state -x --xfs-command -F --format' \
-			-- "$cur" ) )
-	else
-		_filesystems
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -F|--format)
+            _quota_formats
+            return 0
+            ;;
+        -@(x|-xfs-command))
+            COMPREPLY=( $( compgen -W 'delete enforce' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
+            -g --group -p --print-state -x --xfs-command -F --format' \
+            -- "$cur" ) )
+    else
+        _filesystems
+    fi
 }
 complete -F _quotaoff $default quotaoff
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rcs b/contrib/rcs
index da2db05..a6505de 100644
--- a/contrib/rcs
+++ b/contrib/rcs
@@ -3,42 +3,42 @@
 have rcs &&
 _rcs()
 {
-	local cur prev file dir i
+    local cur prev file dir i
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	file=${cur##*/}
-	dir=${cur%/*}
+    file=${cur##*/}
+    dir=${cur%/*}
 
-	# deal with relative directory
-	[ "$file" = "$dir" ] && dir=.
+    # deal with relative directory
+    [ "$file" = "$dir" ] && dir=.
 
-	COMPREPLY=( $( compgen -f "$dir/RCS/$file" ) )
+    COMPREPLY=( $( compgen -f "$dir/RCS/$file" ) )
 
-	for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
-		file=${COMPREPLY[$i]##*/}
-		dir=${COMPREPLY[$i]%RCS/*}
-		COMPREPLY[$i]=$dir$file
-	done
+    for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
+        file=${COMPREPLY[$i]##*/}
+        dir=${COMPREPLY[$i]%RCS/*}
+        COMPREPLY[$i]=$dir$file
+    done
 
-	COMPREPLY=( "${COMPREPLY[@]}" $( compgen -G "$dir/$file*,v" ) )
+    COMPREPLY=( "${COMPREPLY[@]}" $( compgen -G "$dir/$file*,v" ) )
 
-	for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
-		COMPREPLY[$i]=${COMPREPLY[$i]%,v}
-	done
+    for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
+        COMPREPLY[$i]=${COMPREPLY[$i]%,v}
+    done
 
-	# default to files if nothing returned and we're checking in.
-	# otherwise, default to directories
-	[ ${#COMPREPLY[@]} -eq 0 -a $1 = ci ] && _filedir || _filedir -d
+    # default to files if nothing returned and we're checking in.
+    # otherwise, default to directories
+    [ ${#COMPREPLY[@]} -eq 0 -a $1 = ci ] && _filedir || _filedir -d
 } &&
 complete -F _rcs $filenames ci co rlog rcs rcsdiff
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rdesktop b/contrib/rdesktop
index 9d0f833..79514e7 100644
--- a/contrib/rdesktop
+++ b/contrib/rdesktop
@@ -3,56 +3,56 @@
 have rdesktop &&
 _rdesktop()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-k)
-			COMPREPLY=( $( command ls \
-				/usr/share/rdesktop/keymaps 2>/dev/null | \
-				egrep -v '(common|modifiers)' ) )
-			COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
-				$HOME/.rdesktop/keymaps 2>/dev/null ) )
-			COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
-				./keymaps 2>/dev/null ) )
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
-			return 0
-			;;
-		-a)
-			COMPREPLY=( $( compgen -W '8 15 16 24' -- "$cur" ) )
-			return 0
-			;;
-		-x)
-			COMPREPLY=( $( compgen -W 'b broadband m modem l lan' \
-				-- $cur ) )
-			return 0
-			;;
-		-r)
-			# FIXME: should do $nospace for the colon options
-			COMPREPLY=( $( compgen -W 'comport: disk: lptport: \
-				printer: sound: lspci scard' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case $prev in
+        -k)
+            COMPREPLY=( $( command ls \
+                /usr/share/rdesktop/keymaps 2>/dev/null | \
+                egrep -v '(common|modifiers)' ) )
+            COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
+                $HOME/.rdesktop/keymaps 2>/dev/null ) )
+            COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
+                ./keymaps 2>/dev/null ) )
+            COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
+            return 0
+            ;;
+        -a)
+            COMPREPLY=( $( compgen -W '8 15 16 24' -- "$cur" ) )
+            return 0
+            ;;
+        -x)
+            COMPREPLY=( $( compgen -W 'b broadband m modem l lan' \
+                -- $cur ) )
+            return 0
+            ;;
+        -r)
+            # FIXME: should do $nospace for the colon options
+            COMPREPLY=( $( compgen -W 'comport: disk: lptport: \
+                printer: sound: lspci scard' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-u -d -s -c -p -n -k -g -f -b -L \
-			-A -B -e -E -m -C -D -K -S -T -N -X -a -z -x -P -r \
-			-0 -4 -5' -- "$cur" ) )
-	else
-		_known_hosts_real "$cur"
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-u -d -s -c -p -n -k -g -f -b -L \
+            -A -B -e -E -m -C -D -K -S -T -N -X -a -z -x -P -r \
+            -0 -4 -5' -- "$cur" ) )
+    else
+        _known_hosts_real "$cur"
+    fi
 
 } &&
 complete -F _rdesktop rdesktop
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/repomanage b/contrib/repomanage
index dd64d87..8cb5020 100644
--- a/contrib/repomanage
+++ b/contrib/repomanage
@@ -3,27 +3,27 @@
 have repomanage &&
 _repomanage()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	[[ "$prev" == -@(h|-help|k|-keep) ]] && return 0
+    [[ "$prev" == -@(h|-help|k|-keep) ]] && return 0
 
-	if [[ "$cur" == -* ]] ; then
-		COMPREPLY=( $( compgen -W '-o --old -n --new -s --space -k \
-				--keep -c --nocheck -h --help' -- "$cur" ) )
-	else
-		_filedir -d
-	fi
+    if [[ "$cur" == -* ]] ; then
+        COMPREPLY=( $( compgen -W '-o --old -n --new -s --space -k \
+            --keep -c --nocheck -h --help' -- "$cur" ) )
+    else
+        _filedir -d
+    fi
 } &&
 complete -F _repomanage $filenames repomanage
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/reportbug b/contrib/reportbug
index a4e22f2..b6cb5e2 100644
--- a/contrib/reportbug
+++ b/contrib/reportbug
@@ -3,125 +3,125 @@
 have reportbug &&
 _reportbug()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-	    -f|--filename|-i|--include|--mta|-o|--output)
-		_filedir
-		return 0
-		;;
-	    -B|--bts)
-		COMPREPLY=( $( compgen -W "debian guug kde mandrake help" -- \
-			       "$cur" ))
-		return 0
-		;;
-	    -e|--editor|--mua)
-		COMP_WORDS=(COMP_WORDS[0] "$cur")
-		COMP_CWORD=1
-		_command
-		return 0
-		;;
-	    --mode)
-		COMPREPLY=( $( compgen -W "novice standard expert" -- "$cur" ) )
-		return 0
-		;;
-	    -S|--severity)
-		COMPREPLY=( $( compgen -W "grave serious important normal \
-					   minor wishlist" -- "$cur" ) )
-		return 0
-		;;
-	    -u|--ui|--interface)
-		COMPREPLY=( $( compgen -W "newt text gnome" -- "$cur" ) )
-		return 0
-		;;
-	    -t|--type)
-		COMPREPLY=( $( compgen -W "gnats debbugs" -- "$cur" ) )
-		return 0
-		;;
-	    -T|--tags)
-		COMPREPLY=( $( compgen -W "none \
-					   woody potato sarge sarge-ignore etch etch-ignore \
-					   lenny lenny-ignore sid experimental confirmed \
-					   d-i fixed fixed-in-experimental fixed-upstream \
-					   help l10n moreinfo patch pending security \
-					   unreproducible upstream wontfix ipv6 lfs" -- "$cur" ))
-		return 0
-		;;
-	    *)
-		;;
-	esac
+    case "$prev" in
+        -f|--filename|-i|--include|--mta|-o|--output)
+            _filedir
+            return 0
+            ;;
+        -B|--bts)
+            COMPREPLY=( $( compgen -W "debian guug kde mandrake help" -- \
+                "$cur" ))
+            return 0
+            ;;
+        -e|--editor|--mua)
+            COMP_WORDS=(COMP_WORDS[0] "$cur")
+            COMP_CWORD=1
+            _command
+            return 0
+            ;;
+        --mode)
+            COMPREPLY=( $( compgen -W "novice standard expert" -- "$cur" ) )
+            return 0
+            ;;
+        -S|--severity)
+            COMPREPLY=( $( compgen -W "grave serious important normal \
+                minor wishlist" -- "$cur" ) )
+            return 0
+            ;;
+        -u|--ui|--interface)
+            COMPREPLY=( $( compgen -W "newt text gnome" -- "$cur" ) )
+            return 0
+            ;;
+        -t|--type)
+            COMPREPLY=( $( compgen -W "gnats debbugs" -- "$cur" ) )
+            return 0
+            ;;
+        -T|--tags)
+            COMPREPLY=( $( compgen -W "none \
+                woody potato sarge sarge-ignore etch etch-ignore \
+                lenny lenny-ignore sid experimental confirmed \
+                d-i fixed fixed-in-experimental fixed-upstream \
+                help l10n moreinfo patch pending security \
+                unreproducible upstream wontfix ipv6 lfs" -- "$cur" ))
+            return 0
+            ;;
+        *)
+            ;;
+    esac
 
-	COMPREPLY=($( compgen -W '-h --help -v --version -a --af -b \
-			--no-query-bts --query-bts -B --bts -c --configure \
-			--no-config-files --check-available -d --debug \
-			--no-check-available -e --editor --email -f \
-			--filename -g --gnupg -H --header -i --include -j \
-			--justification -l --ldap --no-ldap -L --list-cc -m \
-			--maintonly --mode --mua --mta --mutt -n --mh --nmh \
-			-o --output -p --print -P --pgp --proxy --http_proxy\
-			-q --quiet -Q --query-only --realname --report-quiet \
-			--reply-to --replyto -s --subject -S --severity \
-			--smtphost -t --type -T --tags --template -V -x \
-			--no-cc --package-version -z --no-compress \
-			--ui --interface -u \
-			wnpp boot-floppies kernel bugs.debian.org \
-			cdimage.debian.org general installation-reports \
-			listarchives lists.debian.org mirrors nm.debian.org \
-			press project qa.debian.org release-notes \
-			security.debian.org tech-ctte upgrade-reports \
-			www.debian.org' -- "$cur" ) \
-	    		$( apt-cache pkgnames -- "$cur" 2> /dev/null) )
-	_filedir
-	return 0
+    COMPREPLY=($( compgen -W '-h --help -v --version -a --af -b \
+        --no-query-bts --query-bts -B --bts -c --configure \
+        --no-config-files --check-available -d --debug \
+        --no-check-available -e --editor --email -f \
+        --filename -g --gnupg -H --header -i --include -j \
+        --justification -l --ldap --no-ldap -L --list-cc -m \
+        --maintonly --mode --mua --mta --mutt -n --mh --nmh \
+        -o --output -p --print -P --pgp --proxy --http_proxy\
+        -q --quiet -Q --query-only --realname --report-quiet \
+        --reply-to --replyto -s --subject -S --severity \
+        --smtphost -t --type -T --tags --template -V -x \
+        --no-cc --package-version -z --no-compress \
+        --ui --interface -u \
+        wnpp boot-floppies kernel bugs.debian.org \
+        cdimage.debian.org general installation-reports \
+        listarchives lists.debian.org mirrors nm.debian.org \
+        press project qa.debian.org release-notes \
+        security.debian.org tech-ctte upgrade-reports \
+        www.debian.org' -- "$cur" ) \
+        $( apt-cache pkgnames -- "$cur" 2> /dev/null) )
+    _filedir
+    return 0
 } &&
 complete -F _reportbug $filenames reportbug
 
 have querybts &&
 _querybts()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-	    -B|--bts)
-		COMPREPLY=( $( compgen -W "debian guug kde mandrake help" -- \
-			       "$cur" ))
-		return 0
-		;;
-	    -u|--ui|--interface)
-		COMPREPLY=($( compgen -W "newt text gnome" -- "$cur" ))
-		return 0
-		;;
-	esac
+    case "$prev" in
+        -B|--bts)
+            COMPREPLY=( $( compgen -W "debian guug kde mandrake help" \
+                -- "$cur" ))
+            return 0
+            ;;
+        -u|--ui|--interface)
+            COMPREPLY=($( compgen -W "newt text gnome" -- "$cur" ))
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	COMPREPLY=($( compgen -W '-h --help -v --version -A --archive \
-			-B --bts -l --ldap --no-ldap --proxy --http_proxy \
-			-s --source -w --web -u --ui --interface \
-			wnpp boot-floppies kernel bugs.debian.org \
-			cdimage.debian.org general installation-reports \
-			listarchives lists.debian.org mirrors nm.debian.org \
-			press project qa.debian.org release-notes \
-			security.debian.org tech-ctte upgrade-reports \
-			www.debian.org' -- "$cur" ) \
-	    		$( apt-cache pkgnames -- "$cur" 2> /dev/null) )
+    COMPREPLY=($( compgen -W '-h --help -v --version -A --archive \
+        -B --bts -l --ldap --no-ldap --proxy --http_proxy \
+        -s --source -w --web -u --ui --interface \
+        wnpp boot-floppies kernel bugs.debian.org \
+        cdimage.debian.org general installation-reports \
+        listarchives lists.debian.org mirrors nm.debian.org \
+        press project qa.debian.org release-notes \
+        security.debian.org tech-ctte upgrade-reports \
+        www.debian.org' -- "$cur" ) \
+        $( apt-cache pkgnames -- "$cur" 2> /dev/null) )
 } &&
 complete -F _querybts $filenames querybts
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/resolvconf b/contrib/resolvconf
index bbf59a6..70fedb0 100644
--- a/contrib/resolvconf
+++ b/contrib/resolvconf
@@ -3,29 +3,29 @@
 have resolvconf &&
 _resolvconf()
 {
-	local cur command
+    local cur command
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-@(a|d))
-			_available_interfaces
-			return 0
-			;;
-	esac
-	
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -d -u' -- "$cur" ) )
-	fi
+    case $prev in
+        -@(a|d))
+            _available_interfaces
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -d -u' -- "$cur" ) )
+    fi
 } &&
 complete -F _resolvconf resolvconf
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rfkill b/contrib/rfkill
index b15c8de..df3dde6 100644
--- a/contrib/rfkill
+++ b/contrib/rfkill
@@ -3,38 +3,36 @@
 have rfkill &&
 _rfkill()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--version' -- "$cur" ) )
-	else
-		case $COMP_CWORD in
-			1)
-				COMPREPLY=( $( compgen -W "help event list \
-					block unblock" -- "$cur" ) )
-				;;
-			2)
-				prev=${COMP_WORDS[COMP_CWORD-1]}
-				if [ $prev == block -o $prev == unblock ]; then
-					COMPREPLY=( $( compgen -W \
-						"$(rfkill list | awk -F: \
-						'/^[0-9]/ {print $1}') \
-						all wifi bluetooth uwb wimax \
-						wwan gps" -- "$cur" ) )
-				fi
-				;;
-		esac
-	fi
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--version' -- "$cur" ) )
+    else
+        case $COMP_CWORD in
+            1)
+                COMPREPLY=( $( compgen -W "help event list block unblock" \
+                    -- "$cur" ) )
+                ;;
+            2)
+                prev=${COMP_WORDS[COMP_CWORD-1]}
+                if [ $prev == block -o $prev == unblock ]; then
+                    COMPREPLY=( $( compgen -W "$(rfkill list | awk -F: \
+                        '/^[0-9]/ {print $1}') all wifi bluetooth uwb wimax \
+                        wwan gps" -- "$cur" ) )
+                fi
+                ;;
+        esac
+    fi
 } &&
 complete -F _rfkill rfkill
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/ri b/contrib/ri
index 08461de..1d55089 100644
--- a/contrib/ri
+++ b/contrib/ri
@@ -3,94 +3,94 @@
 have ri && {
 ri_get_methods()
 {
-	local regex
+    local regex
 
-	if [ "$ri_version" = integrated ]; then
-	  if [ -z "$separator" ]; then
-	    regex="(Instance|Class)"
-	  elif [ "$separator" = "#" ]; then
-	    regex=Instance
-	  else
-	    regex=Class
-	  fi
+    if [ "$ri_version" = integrated ]; then
+        if [ -z "$separator" ]; then
+            regex="(Instance|Class)"
+        elif [ "$separator" = "#" ]; then
+            regex=Instance
+        else
+            regex=Class
+        fi
 
-	  COMPREPLY=( ${COMPREPLY[@]} \
-	    "$( ri ${classes[@]} 2>/dev/null | \
-	      ruby -ane 'if /^'"$regex"' methods:/.../^------------------|^$/ and \
-	      /^ / then print $_.split(/, |,$/).grep(/^[^\[]*$/).join("\n"); \
-	      end' | sort -u )" )
-	else
-	  # older versions of ri didn't distinguish between class/module and
-	  # instance methods
-	  COMPREPLY=( ${COMPREPLY[@]} \
-	    "$( ruby -W0 $ri_path ${classes[@]} | ruby -ane 'if /^-/.../^-/ and \
-	      ! /^-/ and ! /^ +(class|module): / then \
-	      print $_.split(/, |,$| +/).grep(/^[^\[]*$/).join("\n"); \
-	      end' | sort -u )" )
-	fi
-	COMPREPLY=( $( compgen $prefix -W '${COMPREPLY[@]}' -- $method ) )
+        COMPREPLY=( ${COMPREPLY[@]} \
+            "$( ri ${classes[@]} 2>/dev/null | ruby -ane \
+            'if /^'"$regex"' methods:/.../^------------------|^$/ and \
+            /^ / then print $_.split(/, |,$/).grep(/^[^\[]*$/).join("\n"); \
+            end' | sort -u )" )
+    else
+        # older versions of ri didn't distinguish between class/module and
+        # instance methods
+        COMPREPLY=( ${COMPREPLY[@]} \
+            "$( ruby -W0 $ri_path ${classes[@]} | ruby -ane \
+            'if /^-/.../^-/ and ! /^-/ and ! /^ +(class|module): / then \
+            print $_.split(/, |,$| +/).grep(/^[^\[]*$/).join("\n"); \
+            end' | sort -u )" )
+    fi
+    COMPREPLY=( $( compgen $prefix -W '${COMPREPLY[@]}' -- $method ) )
 }
 
 # needs at least Ruby 1.8.0 in order to use -W0
 _ri()
 {
-	local cur class method prefix ri_path ri_version separator IFS
-	local -a classes
+    local cur class method prefix ri_path ri_version separator IFS
+    local -a classes
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	ri_path=$(type -p ri)
-	# which version of ri are we using?
-	# -W0 is required here to stop warnings from older versions of ri
-	# from being captured when used with Ruby 1.8.1 and later
-	ri_version="$(ruby -W0 $ri_path -v 2>&1)" || ri_version=integrated
-	[ "$ri_version" != "${ri_version%200*}" ] && ri_version=integrated
+    ri_path=$(type -p ri)
+    # which version of ri are we using?
+    # -W0 is required here to stop warnings from older versions of ri
+    # from being captured when used with Ruby 1.8.1 and later
+    ri_version="$(ruby -W0 $ri_path -v 2>&1)" || ri_version=integrated
+    [ "$ri_version" != "${ri_version%200*}" ] && ri_version=integrated
 
-	# need to also split on commas
-	IFS=$', \n\t'
-	if [[ "$cur" == [A-Z]*[#.]* ]]; then
-	  [[ "$cur" == *#* ]] && separator=# || separator=.
-	  # we're completing on class and method
-	  class=${cur%$separator*}
-	  method=${cur#*$separator}
-	  classes=( $class )
-	  prefix="-P $class$separator"
-	  ri_get_methods
-	  return 0
-	fi
+    # need to also split on commas
+    IFS=$', \n\t'
+    if [[ "$cur" == [A-Z]*[#.]* ]]; then
+        [[ "$cur" == *#* ]] && separator=# || separator=.
+        # we're completing on class and method
+        class=${cur%$separator*}
+        method=${cur#*$separator}
+        classes=( $class )
+        prefix="-P $class$separator"
+        ri_get_methods
+        return 0
+    fi
 
-	if [ "$ri_version" = integrated ]; then
-	  # integrated ri from Ruby 1.9
-	  classes=( $( ri -c | ruby -ne 'if /^\s*$/..$stdin.eof then \
-				      if /, [A-Z]+/ then print; end; end' ) )
-	elif [ "$ri_version" = "ri 1.8a" ]; then
-	  classes=( $( ruby -W0 $ri_path | \
-		       ruby -ne 'if /^'"'"'ri'"'"' has/..$stdin.eof then \
-				 if /^ .*[A-Z]/ then print; end; end' ))
-	else
-	  classes=( $( ruby -W0 $ri_path | \
-		       ruby -ne 'if /^I have/..$stdin.eof then \
-				 if /^ .*[A-Z]/ then print; end; end' ))
-	fi
+    if [ "$ri_version" = integrated ]; then
+        # integrated ri from Ruby 1.9
+        classes=( $( ri -c | ruby -ne 'if /^\s*$/..$stdin.eof then \
+        if /, [A-Z]+/ then print; end; end' ) )
+        elif [ "$ri_version" = "ri 1.8a" ]; then
+            classes=( $( ruby -W0 $ri_path | \
+            ruby -ne 'if /^'"'"'ri'"'"' has/..$stdin.eof then \
+            if /^ .*[A-Z]/ then print; end; end' ))
+            else
+                classes=( $( ruby -W0 $ri_path | \
+                ruby -ne 'if /^I have/..$stdin.eof then \
+                if /^ .*[A-Z]/ then print; end; end' ))
+                fi
 
-	COMPREPLY=( $( compgen -W '${classes[@]}' -- "$cur" ) )
-	if [[ "$cur" == [A-Z]* ]]; then
-	  # we're completing on class or module alone
-	  return 0
-	fi
+                COMPREPLY=( $( compgen -W '${classes[@]}' -- "$cur" ) )
+                if [[ "$cur" == [A-Z]* ]]; then
+                    # we're completing on class or module alone
+                    return 0
+                fi
 
-	# we're completing on methods
-	method=$cur
-	ri_get_methods
-}
-complete -F _ri ri
-}
+                # we're completing on methods
+                method=$cur
+                ri_get_methods
+            }
+            complete -F _ri ri
+        }
 
-# Local variables:
-# mode: shell-script
-# sh-basic-offset: 8
-# sh-indent-comment: t
-# indent-tabs-mode: t
-# End:
-# ex: ts=8 sw=8 noet filetype=sh
+        # Local variables:
+        # mode: shell-script
+        # sh-basic-offset: 4
+        # sh-indent-comment: t
+        # indent-tabs-mode: nil
+        # End:
+        # ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rpcdebug b/contrib/rpcdebug
index 9ed7677..196d187 100644
--- a/contrib/rpcdebug
+++ b/contrib/rpcdebug
@@ -4,55 +4,55 @@ have rpcdebug && {
 _rpcdebug_flags()
 {
 
-	local i module
-
-	for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
-		if [[ ${COMP_WORDS[i]} == -m ]]; then
-			module=${COMP_WORDS[i+1]}
-		fi
-	done
-
-	if [ -n "$module" ]; then
-		COMPREPLY=( $( compgen -W "$(rpcdebug -vh 2>&1 \
-			| grep '^'$module' '\
-			| awk '{$1 = ""; print $0}')" -- "$cur" ) )
-	fi
+    local i module
+
+    for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
+        if [[ ${COMP_WORDS[i]} == -m ]]; then
+            module=${COMP_WORDS[i+1]}
+        fi
+    done
+
+    if [ -n "$module" ]; then
+        COMPREPLY=( $( compgen -W "$(rpcdebug -vh 2>&1 \
+            | grep '^'$module' '\
+            | awk '{$1 = ""; print $0}')" -- "$cur" ) )
+    fi
 }
 
 _rpcdebug()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-s)
-			_rpcdebug_flags
-			return 0
-			;;
-		-c)
-			_rpcdebug_flags
-			return 0
-			;;
-		-m)
-			COMPREPLY=( $( compgen -W 'rpc nfs nfsd nlm' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-v -h -m -s -c' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -s)
+            _rpcdebug_flags
+            return 0
+            ;;
+        -c)
+            _rpcdebug_flags
+            return 0
+            ;;
+        -m)
+            COMPREPLY=( $( compgen -W 'rpc nfs nfsd nlm' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-v -h -m -s -c' -- "$cur" ) )
+    fi
 }
 complete -F _rpcdebug rpcdebug
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rpm b/contrib/rpm
index 0f7f66e..dbfcc8f 100644
--- a/contrib/rpm
+++ b/contrib/rpm
@@ -5,299 +5,293 @@ have rpm && {
 
 _rpm_installed_packages()
 {
-	local nodig="$1" nosig="$2"
+    local nodig="$1" nosig="$2"
 
-	if [ -r /var/log/rpmpkgs -a \
-		/var/log/rpmpkgs -nt /var/lib/rpm/Packages ]; then
-		# using RHL 7.2 or later - this is quicker than querying the DB
-		COMPREPLY=( $( sed -ne \
-		's|^\('$cur'[^[:space:]]*\)-[^[:space:]-]\+-[^[:space:]-]\+\.rpm$|\1|p' \
-				/var/log/rpmpkgs ) )
-	else
-		_rpm_nodigsig
-		COMPREPLY=( $( rpm -qa $nodig $nosig --qf='%{NAME} ' "$cur*" ) )
-	fi
+    if [ -r /var/log/rpmpkgs -a \
+        /var/log/rpmpkgs -nt /var/lib/rpm/Packages ]; then
+        # using RHL 7.2 or later - this is quicker than querying the DB
+        COMPREPLY=( $( sed -ne \
+            's|^\('$cur'[^[:space:]]*\)-[^[:space:]-]\+-[^[:space:]-]\+\.rpm$|\1|p' \
+            /var/log/rpmpkgs ) )
+    else
+        _rpm_nodigsig
+        COMPREPLY=( $( rpm -qa $nodig $nosig --qf='%{NAME} ' "$cur*" ) )
+    fi
 }
 
 _rpm_groups()
 {
-	# TODO: shown completions are wrong but real ones work nevertheless
-	# http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-May/001486.html
-	local IFS=$'\n'
-	COMPREPLY=( $( compgen -W "$( rpm -qa $nodig $nosig --queryformat \
-		'%{group}\n' )" -- "$cur" ) )
+    # TODO: shown completions are wrong but real ones work nevertheless
+    # http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-May/001486.html
+    local IFS=$'\n'
+    COMPREPLY=( $( compgen -W "$( rpm -qa $nodig $nosig --queryformat \
+        '%{group}\n' )" -- "$cur" ) )
 }
 
 _rpm_nodigsig()
 {
-	if [ -z "$nodig" -a -z "$nosig" ]; then
-		local rpmver
+    if [ -z "$nodig" -a -z "$nosig" ]; then
+        local rpmver
 
-		rpmver=$(rpm --version)
-		rpmver=${rpmver##* }
+        rpmver=$(rpm --version)
+        rpmver=${rpmver##* }
 
-		if [[ "$rpmver" > "4.0.4" ]]; then
-			nodig="--nodigest"
-		fi
-		if [[ "$rpmver" > "4.0.99" ]]; then
-			nosig="--nosignature"
-		fi
-	fi
+        if [[ "$rpmver" > "4.0.4" ]]; then
+            nodig="--nodigest"
+        fi
+        if [[ "$rpmver" > "4.0.99" ]]; then
+            nosig="--nosignature"
+        fi
+    fi
 }
 
 # rpm(8) completion
 #
 _rpm()
 {
-	local cur prev opts nodig nosig
+    local cur prev opts nodig nosig
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	nodig=""
-	nosig=""
-	_rpm_nodigsig
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    nodig=""
+    nosig=""
+    _rpm_nodigsig
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		# first parameter on line
-		case "$cur" in
-		-b*)
-			COMPREPLY=( $( compgen -W '-ba -bb -bc -bi -bl -bp -bs'\
-				       -- "$cur" ) )
-			;;
-		-t*)
-			COMPREPLY=( $( compgen -W '-ta -tb -tc -ti -tl -tp -ts'\
-				       -- "$cur" ) )
-			;;
-		--*)
-			COMPREPLY=( $( compgen -W '--help --version --initdb \
-			--checksig --recompile --rebuild --resign --addsign \
-			--rebuilddb --showrc --setperms --setugids --tarbuild \
-			--eval --install --upgrade --query --freshen --erase \
-			--verify --querytags --rmsource --rmspec --clean \
-			--import' -- "$cur" ) )
-			;;
-		*)
-			COMPREPLY=( $( compgen -W '-b -e -E -F -i -q -t -U -V' \
-				       -- "$cur" ) )
-			;;
-		esac
+    if [ $COMP_CWORD -eq 1 ]; then
+        # first parameter on line
+        case "$cur" in
+            -b*)
+                COMPREPLY=( $( compgen -W '-ba -bb -bc -bi -bl -bp -bs' \
+                    -- "$cur" ) )
+                ;;
+            -t*)
+                COMPREPLY=( $( compgen -W '-ta -tb -tc -ti -tl -tp -ts' \
+                    -- "$cur" ) )
+                ;;
+            --*)
+                COMPREPLY=( $( compgen -W '--help --version --initdb \
+                    --checksig --recompile --rebuild --resign --addsign \
+                    --rebuilddb --showrc --setperms --setugids --tarbuild \
+                    --eval --install --upgrade --query --freshen --erase \
+                    --verify --querytags --rmsource --rmspec --clean \
+                    --import' -- "$cur" ) )
+                ;;
+            *)
+                COMPREPLY=( $( compgen -W '-b -e -E -F -i -q -t -U -V' \
+                    -- "$cur" ) )
+                ;;
+        esac
 
-	return 0
-	fi
+    return 0
+    fi
 
-	case "$prev" in
-	--@(@(db|exclude)path|prefix|relocate|root))
-		_filedir -d
-		return 0
-		;;
-	--eval|-E)
-		# get a list of macros
-		COMPREPLY=( $( rpm --showrc | sed -ne \
-		's/^-\?[0-9]\+[:=][[:space:]]\+\('${cur#%}'[^[:space:](]*\).*/\1/p' ) )
-		COMPREPLY=( "${COMPREPLY[@]/#/%}" )
-		return 0
-		;;
-	--pipe)
-		COMPREPLY=( $( compgen -c -- "$cur" ) )
-		return 0
-		;;
-	--rcfile)
-		_filedir
-		return 0
-		;;
-	--specfile)
-		# complete on .spec files
-		_filedir spec
-		return 0
-		;;
-	--whatprovides)
-		if [[ "$cur" == */* ]]; then
-			_filedir
-		else
-			# complete on capabilities
-			local IFS=$'\n'
-			COMPREPLY=( $( compgen -W "$( rpm -qa $nodig $nosig \
-					--queryformat='%{providename}\n' )" \
-					-- "$cur" ) )
-		fi
-		return 0
-		;;
-	--whatrequires)
-		if [[ "$cur" == */* ]]; then
-			_filedir
-		else
-			# complete on capabilities
-			local IFS=$'\n'
-			COMPREPLY=( $( compgen -W "$( rpm -qa $nodig $nosig \
-					--queryformat='%{requirename}\n' )" \
-					-- "$cur" ) )
-		fi
-		return 0
-		;;
-	--target)
-		COMPREPLY=( $( compgen -W "$( command rpm --showrc | sed -ne \
-		's/^\s*compatible\s\+build\s\+archs\s*:\s*\(.*\)/\1/ p' )" -- "$cur" ) )
-		return 0
-		;;
-	--define|-D)
-		# argument required but no completions available
-		return 0
-		;;
-	esac
+    case "$prev" in
+        --@(@(db|exclude)path|prefix|relocate|root))
+            _filedir -d
+            return 0
+            ;;
+        --eval|-E)
+            # get a list of macros
+            COMPREPLY=( $( rpm --showrc | sed -ne \
+                's/^-\?[0-9]\+[:=][[:space:]]\+\('${cur#%}'[^[:space:](]*\).*/\1/p' ) )
+            COMPREPLY=( "${COMPREPLY[@]/#/%}" )
+            return 0
+            ;;
+        --pipe)
+            COMPREPLY=( $( compgen -c -- "$cur" ) )
+            return 0
+            ;;
+        --rcfile)
+            _filedir
+            return 0
+            ;;
+        --specfile)
+            # complete on .spec files
+            _filedir spec
+            return 0
+            ;;
+        --whatprovides)
+            if [[ "$cur" == */* ]]; then
+                _filedir
+            else
+                # complete on capabilities
+            local IFS=$'\n'
+            COMPREPLY=( $( compgen -W "$( rpm -qa $nodig $nosig \
+                --queryformat='%{providename}\n' )" -- "$cur" ) )
+            fi
+            return 0
+            ;;
+        --whatrequires)
+            if [[ "$cur" == */* ]]; then
+                _filedir
+            else
+                # complete on capabilities
+                local IFS=$'\n'
+                COMPREPLY=( $( compgen -W "$( rpm -qa $nodig $nosig \
+                        --queryformat='%{requirename}\n' )" \
+                        -- "$cur" ) )
+            fi
+            return 0
+            ;;
+        --target)
+            COMPREPLY=( $( compgen -W "$( command rpm --showrc | sed -ne \
+                's/^\s*compatible\s\+build\s\+archs\s*:\s*\(.*\)/\1/ p' )" \
+                -- "$cur" ) )
+            return 0
+            ;;
+        --define|-D)
+            # argument required but no completions available
+            return 0
+            ;;
+    esac
 
-	# options common to all modes
-	opts="--define --eval --macros --nodigest --nosignature --rcfile
-		--quiet --pipe --verbose"
+    # options common to all modes
+    opts="--define --eval --macros --nodigest --nosignature --rcfile \
+        --quiet --pipe --verbose"
 
-	case "${COMP_WORDS[1]}" in
-	-@([iFU]*|-install|-freshen|-upgrade))
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W "$opts --percent --force \
-			--test --replacepkgs --replacefiles --root \
-			--excludedocs --includedocs --noscripts --ignorearch \
-			--dbpath --prefix --ignoreos --nodeps --allfiles \
-			--ftpproxy --ftpport --justdb --httpproxy --httpport \
-			--noorder --relocate --badreloc --notriggers \
-			--excludepath --ignoresize --oldpackage \
-			--queryformat --repackage --nosuggests" -- "$cur" ) )
-		else
-			_filedir 'rpm'
-		fi
-		;;
-	-@(e|-erase))
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W "$opts --allmatches \
-			--noscripts --notriggers --nodeps --test --repackage" \
-			-- "$cur" ) )
-		else
-			_rpm_installed_packages "$nodig" "$nosig"
-		fi
-		;;
-	-@(q*|-query))
-		# options common to all query types
-		opts="$opts --changelog --configfiles --conflicts --docfiles
-			--dump --enhances --filesbypkg --filecaps --fileclass
-			--filecolor --fileprovide --filerequire --filesbypkg
-			--info --list --obsoletes --pipe --provides
-			--queryformat --rcfile --requires --scripts --suggests
-			--triggeredby --triggers --whatprovides --whatrequires
-			--xml"
+    case "${COMP_WORDS[1]}" in
+        -@([iFU]*|-install|-freshen|-upgrade))
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W "$opts --percent --force \
+                --test --replacepkgs --replacefiles --root \
+                --excludedocs --includedocs --noscripts --ignorearch \
+                --dbpath --prefix --ignoreos --nodeps --allfiles \
+                --ftpproxy --ftpport --justdb --httpproxy --httpport \
+                --noorder --relocate --badreloc --notriggers \
+                --excludepath --ignoresize --oldpackage \
+                --queryformat --repackage --nosuggests" -- "$cur" ) )
+            else
+                _filedir 'rpm'
+            fi
+            ;;
+        -@(e|-erase))
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W "$opts --allmatches \
+                --noscripts --notriggers --nodeps --test --repackage" \
+                -- "$cur" ) )
+            else
+                _rpm_installed_packages "$nodig" "$nosig"
+            fi
+            ;;
+        -@(q*|-query))
+            # options common to all query types
+            opts="$opts --changelog --configfiles --conflicts --docfiles
+                --dump --enhances --filesbypkg --filecaps --fileclass
+                --filecolor --fileprovide --filerequire --filesbypkg
+                --info --list --obsoletes --pipe --provides
+                --queryformat --rcfile --requires --scripts --suggests
+                --triggeredby --triggers --whatprovides --whatrequires --xml"
 
-		if [ "${COMP_LINE#* -*([^ -])f}" != "$COMP_LINE" ]; then
-		    # -qf completion
-		    if [[ "$cur" == -* ]]; then
+            if [ "${COMP_LINE#* -*([^ -])f}" != "$COMP_LINE" ]; then
+                # -qf completion
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W "$opts --dbpath --fscontext \
+                        --last --root --state" -- "$cur" ) )
+                else
+                    _filedir
+                fi
+            elif [ "${COMP_LINE#* -*([^ -])g}" != "$COMP_LINE" ]; then
+                # -qg completion
+                _rpm_groups
+            elif [ "${COMP_LINE#* -*([^ -])p}" != "$COMP_LINE" ]; then
+                # -qp; uninstalled package completion
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W "$opts --ftpport --ftpproxy \
+                        --httpport --httpproxy" -- "$cur" ) )
+                else
+                    _filedir 'rpm'
+                fi
+            else
+                # -q; installed package completion
+                if [[ "$cur" == -* ]]; then
+                    COMPREPLY=( $( compgen -W "$opts --dbpath --fscontext \
+                        --last --root --state" -- "$cur" ) )
+                elif [ "${COMP_LINE#* -*([^ -])a}" == "$COMP_LINE" ]; then
+                    _rpm_installed_packages "$nodig" "$nosig"
+                fi
+            fi
+            ;;
+        -@(K*|-checksig))
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W "$opts --nopgp --nogpg --nomd5" \
+                    -- "$cur" ) )
+            else
+                _filedir 'rpm'
+            fi
+            ;;
+        -@([Vy]*|-verify))
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W "$opts --root --dbpath --nodeps \
+                    --nogroup --nolinkto --nomode --nomtime --nordev --nouser \
+                    --nofiles --noscripts --nomd5 --querytags --specfile \
+                    --whatrequires --whatprovides" -- "$cur" ) )
+            # check whether we're doing file completion
+            elif [ "${COMP_LINE#* -*([^ -])f}" != "$COMP_LINE" ]; then
+                _filedir
+            elif [ "${COMP_LINE#* -*([^ -])g}" != "$COMP_LINE" ]; then
+                _rpm_groups
+            elif [ "${COMP_LINE#* -*([^ -])p}" != "$COMP_LINE" ]; then
+                _filedir 'rpm'
+            else
+                _rpm_installed_packages "$nodig" "$nosig"
+            fi
+            ;;
+        -[bt]*)
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W "$opts --short-circuit --timecheck \
+                    --clean --rmsource --rmspec --test --sign --buildroot \
+                    --target --nobuild --nodeps --nodirtokens" -- "$cur" ) )
+            elif [[ ${COMP_WORDS[1]} == -b* ]]; then
+                _filedir 'spec'
+            else
+                _filedir '@(t?(ar.)@([gx]z|bz?(2))|tar.@(lzma|Z))'
+            fi
+            ;;
+        --re@(build|compile))
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W "$opts --nodeps --rmsource \
+                  --rmspec --sign --nodirtokens --target" -- "$cur" ) )
+            else
+                _filedir '?(no)src.rpm'
+            fi
+            ;;
+        --tarbuild)
+            _filedir '@(t?(ar.)@([gx]z|bz?(2))|tar.@(lzma|Z))'
+            ;;
+        --@(re|add)sign)
+            _filedir 'rpm'
+            ;;
+        --set@(perms|gids))
+            _rpm_installed_packages "$nodig" "$nosig"
+            ;;
+        --@(clean|rms@(ource|pec)))
+            if [[ "$cur" == -* ]]; then
+                COMPREPLY=( $( compgen -W '--clean --rmsource --rmspec' \
+                    -- "$cur" ) )
+            else
+                _filedir 'spec'
+            fi
+            ;;
+        --@(import|dbpath|root))
+            if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '--import --dbpath --root' \
+                    -- "$cur" ) )
+            else
+                _filedir
+            fi
+            ;;
+    esac
 
-			COMPREPLY=( $( compgen -W "$opts --dbpath --fscontext
-				--last --root --state" -- "$cur" ) )
-		    else
-			_filedir
-		    fi
-		elif [ "${COMP_LINE#* -*([^ -])g}" != "$COMP_LINE" ]; then
-			# -qg completion
-			_rpm_groups
-		elif [ "${COMP_LINE#* -*([^ -])p}" != "$COMP_LINE" ]; then
-			# -qp; uninstalled package completion
-			if [[ "$cur" == -* ]]; then
-				COMPREPLY=( $( compgen -W "$opts --ftpport
-					--ftpproxy --httpport --httpproxy" \
-					-- "$cur" ) )
-			else
-				_filedir 'rpm'
-			fi
-		else
-			# -q; installed package completion
-			if [[ "$cur" == -* ]]; then
-				COMPREPLY=( $( compgen -W "$opts --dbpath
-					--fscontext --last --root --state" \
-					-- "$cur" ) )
-			elif [ "${COMP_LINE#* -*([^ -])a}" == "$COMP_LINE" ]; then
-				_rpm_installed_packages "$nodig" "$nosig"
-			fi
-		fi
-		;;
-	-@(K*|-checksig))
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W "$opts --nopgp --nogpg \
-				--nomd5" -- "$cur" ) )
-		else
-			_filedir 'rpm'
-		fi
-		;;
-	-@([Vy]*|-verify))
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W "$opts --root --dbpath \
-			--nodeps --nogroup --nolinkto --nomode --nomtime \
-			--nordev --nouser --nofiles --noscripts --nomd5 \
-			--querytags --specfile --whatrequires --whatprovides" \
-			-- "$cur" ) )
-		# check whether we're doing file completion
-		elif [ "${COMP_LINE#* -*([^ -])f}" != "$COMP_LINE" ]; then
-			_filedir
-		elif [ "${COMP_LINE#* -*([^ -])g}" != "$COMP_LINE" ]; then
-			_rpm_groups
-		elif [ "${COMP_LINE#* -*([^ -])p}" != "$COMP_LINE" ]; then
-			_filedir 'rpm'
-		else
-			_rpm_installed_packages "$nodig" "$nosig"
-		fi
-		;;
-	-[bt]*)
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W "$opts --short-circuit \
-			--timecheck --clean --rmsource --rmspec --test --sign \
-			--buildroot --target --nobuild --nodeps --nodirtokens" \
-			-- "$cur" ) )
-		elif [[ ${COMP_WORDS[1]} == -b* ]]; then
-			_filedir 'spec'
-		else
-			_filedir '@(t?(ar.)@([gx]z|bz?(2))|tar.@(lzma|Z))'
-		fi
-		;;
-	--re@(build|compile))
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W "$opts --nodeps --rmsource \
-			  --rmspec --sign --nodirtokens --target" -- "$cur" ) )
-		else
-			_filedir '?(no)src.rpm'
-		fi
-		;;
-	--tarbuild)
-		_filedir '@(t?(ar.)@([gx]z|bz?(2))|tar.@(lzma|Z))'
-		;;
-	--@(re|add)sign)
-		_filedir 'rpm'
-		;;
-	--set@(perms|gids))
-		_rpm_installed_packages "$nodig" "$nosig"
-		;;
-	--@(clean|rms@(ource|pec)))
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--clean --rmsource \
-					--rmspec' -- "$cur" ) )
-		else
-			_filedir 'spec'
-		fi
-		;;
-	--@(import|dbpath|root))
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--import --dbpath --root' \
-					-- "$cur" ) )
-		else
-			_filedir
-		fi
-		;;
-	esac
-
-	return 0
+    return 0
 }
 complete -F _rpm $filenames rpm rpmbuild
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rpmcheck b/contrib/rpmcheck
index 0de6763..49240fd 100644
--- a/contrib/rpmcheck
+++ b/contrib/rpmcheck
@@ -3,33 +3,32 @@
 have rpmcheck &&
 _rpmcheck()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-base)
-			_filedir
-			return 0
-			;;
-	esac
+    case $prev in
+        -base)
+            _filedir
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-explain -failures -successes \
-			-dump -dump-all -base -help -compressed-input' \
-			-- "$cur" ) )
-	else
-		_filedir
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-explain -failures -successes \
+            -dump -dump-all -base -help -compressed-input' -- "$cur" ) )
+    else
+        _filedir
+    fi
 } &&
 complete -F _rpmcheck rpmcheck $files
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rrdtool b/contrib/rrdtool
index b24a645..891df68 100644
--- a/contrib/rrdtool
+++ b/contrib/rrdtool
@@ -3,17 +3,16 @@
 have rrdtool &&
 _rrdtool ()
 {
-	cur=`_get_cword`
-	COMPREPLY=( $( compgen -W 'create update updatev graph dump \
-	                           restore last lastupdate first info \
-	                           fetch tune resize xport' -- "$cur" ) )
+    cur=`_get_cword`
+    COMPREPLY=( $( compgen -W 'create update updatev graph dump restore last \
+        lastupdate first info fetch tune resize xport' -- "$cur" ) )
 } &&
 complete -F _rrdtool rrdtool
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/rsync b/contrib/rsync
index 4a6507d..c8dc6cf 100644
--- a/contrib/rsync
+++ b/contrib/rsync
@@ -3,100 +3,99 @@
 have rsync &&
 _rsync()
 {
-	# TODO: _split_longopt
+    # TODO: _split_longopt
 
-	local cur prev shell i userhost path
+    local cur prev shell i userhost path
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_expand || return 0
+    _expand || return 0
 
-	case "$prev" in
-	--@(config|password-file|include-from|exclude-from))
-		_filedir
-		return 0
-		;;
-	-@(T|-temp-dir|-compare-dest))
-		_filedir -d
-		return 0
-		;;
-	-@(e|-rsh))
-		COMPREPLY=( $( compgen -W 'rsh ssh' -- "$cur" ) )
-		return 0
-		;;
-	esac
+    case "$prev" in
+    --@(config|password-file|include-from|exclude-from))
+        _filedir
+        return 0
+        ;;
+    -@(T|-temp-dir|-compare-dest))
+        _filedir -d
+        return 0
+        ;;
+    -@(e|-rsh))
+        COMPREPLY=( $( compgen -W 'rsh ssh' -- "$cur" ) )
+        return 0
+        ;;
+    esac
 
-	case "$cur" in
-	-*)
-		COMPREPLY=( $( compgen -W '-v -q  -c -a -r -R -b -u -l -L -H \
-				-p -o -g -D -t -S -n -W -x -B -e -C -I -T -P \
-				-z -h -4 -6 --verbose --quiet --checksum \
-				--archive --recursive --relative --backup \
-				--backup-dir --suffix= --update --links \
-				--copy-links --copy-unsafe-links --safe-links \
-				--hard-links --perms --owner --group --devices\
-				--times --sparse --dry-run --whole-file \
-				--no-whole-file --one-file-system \
-				--block-size= --rsh= --rsync-path= \
-				--cvs-exclude --existing --ignore-existing \
-				--delete --delete-excluded --delete-after \
-				--ignore-errors --max-delete= --partial \
-				--force --numeric-ids --timeout= \
-				--ignore-times --size-only --modify-window= \
-				--temp-dir= --compare-dest= --compress \
-				--exclude= --exclude-from= --include= \
-				--include-from= --version --daemon --no-detach\
-				--address= --config= --port= --blocking-io \
-				--no-blocking-io --stats --progress \
-				--log-format= --password-file= --bwlimit= \
-				--write-batch= --read-batch= --help' -- "$cur" ))
-		;;
-	*:*)
-		# find which remote shell is used
-		shell=ssh
-		for (( i=1; i < COMP_CWORD; i++ )); do
-			if [[ "${COMP_WORDS[i]}" == -@(e|-rsh) ]]; then
-				shell=${COMP_WORDS[i+1]}
-				break
-			fi
-		done
-		if [[ "$shell" == ssh ]]; then
-			# remove backslash escape from :
-			cur=${cur/\\:/:}
-			userhost=${cur%%?(\\):*}
-			path=${cur#*:}
-			# unescape spaces
-			path=${path//\\\\\\\\ / }
-			if [ -z "$path" ]; then
-				# default to home dir of specified
-				# user on remote host
-				path=$(ssh -o 'Batchmode yes' \
-					$userhost pwd 2>/dev/null)
-			fi
-			# escape spaces; remove executables, aliases, pipes
-			# and sockets; add space at end of file names
-			COMPREPLY=( $( ssh -o 'Batchmode yes' $userhost \
-				command ls -aF1d "$path*" 2>/dev/null | \
-				sed -e 's/ /\\\\\\\ /g' -e 's/[*@|=]$//g' \
-				-e 's/[^\/]$/& /g' ) )
-		fi
-		;;
-	*)
-		_known_hosts_real -c -a "$cur"
-		_filedir
-		;;
-	esac
+    case "$cur" in
+    -*)
+        COMPREPLY=( $( compgen -W '-v -q  -c -a -r -R -b -u -l -L -H \
+            -p -o -g -D -t -S -n -W -x -B -e -C -I -T -P \
+            -z -h -4 -6 --verbose --quiet --checksum \
+            --archive --recursive --relative --backup \
+            --backup-dir --suffix= --update --links \
+            --copy-links --copy-unsafe-links --safe-links \
+            --hard-links --perms --owner --group --devices\
+            --times --sparse --dry-run --whole-file \
+            --no-whole-file --one-file-system \
+            --block-size= --rsh= --rsync-path= \
+            --cvs-exclude --existing --ignore-existing \
+            --delete --delete-excluded --delete-after \
+            --ignore-errors --max-delete= --partial \
+            --force --numeric-ids --timeout= \
+            --ignore-times --size-only --modify-window= \
+            --temp-dir= --compare-dest= --compress \
+            --exclude= --exclude-from= --include= \
+            --include-from= --version --daemon --no-detach\
+            --address= --config= --port= --blocking-io \
+            --no-blocking-io --stats --progress \
+            --log-format= --password-file= --bwlimit= \
+            --write-batch= --read-batch= --help' -- "$cur" ))
+        ;;
+    *:*)
+        # find which remote shell is used
+        shell=ssh
+        for (( i=1; i < COMP_CWORD; i++ )); do
+            if [[ "${COMP_WORDS[i]}" == -@(e|-rsh) ]]; then
+                shell=${COMP_WORDS[i+1]}
+                break
+            fi
+        done
+        if [[ "$shell" == ssh ]]; then
+            # remove backslash escape from :
+            cur=${cur/\\:/:}
+            userhost=${cur%%?(\\):*}
+            path=${cur#*:}
+            # unescape spaces
+            path=${path//\\\\\\\\ / }
+            if [ -z "$path" ]; then
+                # default to home dir of specified
+                # user on remote host
+                path=$(ssh -o 'Batchmode yes' $userhost pwd 2>/dev/null)
+            fi
+            # escape spaces; remove executables, aliases, pipes
+            # and sockets; add space at end of file names
+            COMPREPLY=( $( ssh -o 'Batchmode yes' $userhost \
+                command ls -aF1d "$path*" 2>/dev/null | \
+                sed -e 's/ /\\\\\\\ /g' -e 's/[*@|=]$//g' \
+                -e 's/[^\/]$/& /g' ) )
+        fi
+        ;;
+    *)
+        _known_hosts_real -c -a "$cur"
+        _filedir
+        ;;
+    esac
 
-	return 0
+    return 0
 } &&
 complete -F _rsync $nospace $filenames rsync
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/samba b/contrib/samba
index 8463f0f..7256906 100644
--- a/contrib/samba
+++ b/contrib/samba
@@ -3,306 +3,303 @@
 have smbclient && {
 _samba_resolve_order()
 {
-	COMPREPLY=( $( compgen -W 'lmhosts host wins bcast' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W 'lmhosts host wins bcast' -- "$cur" ) )
 }
 
 _samba_domains()
 {
-	if [ -n "${COMP_SAMBA_SCAN:-}" ]; then
-		COMPREPLY=( $( compgen -W '$( smbtree -N -D )' -- "$cur" ) )
-	fi
+    if [ -n "${COMP_SAMBA_SCAN:-}" ]; then
+        COMPREPLY=( $( compgen -W '$( smbtree -N -D )' -- "$cur" ) )
+    fi
 }
 
 _samba_hosts()
 {
-	if [ -n "${COMP_SAMBA_SCAN:-}" ]; then
-		COMPREPLY=( $( compgen -W "$( smbtree -N -S | \
-			sed -ne 's/^[[:space:]]*\\\\*\([^[:space:]]*\).*/\1/p' \
-			)" -- $cur ) )
-	fi
+    if [ -n "${COMP_SAMBA_SCAN:-}" ]; then
+        COMPREPLY=( $( compgen -W "$( smbtree -N -S | \
+            sed -ne 's/^[[:space:]]*\\\\*\([^[:space:]]*\).*/\1/p' \
+            )" -- $cur ) )
+    fi
 }
 
 _samba_debuglevel()
 {
-	COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9 10' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9 10' -- "$cur" ) )
 }
 
 _smbclient()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-R)
-			_samba_resolve_order
-			return 0;
-			;;
-		-t)
-			COMPREPLY=( $( compgen -W 'SJIS EUC JIS7 JIS8 JUNET \
-				HEX CAP' -- "$cur" ) )
-			return 0;
-			;;
-		-s|-A|--authentication-file)
-			_filedir
-			return 0;
-			;;
-		-l|--log-basename|-D)
-			_filedir -d
-			return 0;
-			;;
-		-O)
-			COMPREPLY=( $( compgen -W 'SO_KEEPALIVE SO_REUSEADDR \
-				SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY \
-				IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF \
-				SO_SNDLOWAT SO_RCVLOWAT' -- "$cur" ) )
-			return 0;
-			;;
-		-T)
-			COMPREPLY=( $( compgen -W 'c x I X F b g q r N a' -- \
-				"$cur" ) )
-			return 0;
-			;;
-		-W|--workgroup)
-			_samba_domains
-			return 0;
-			;;
-		-d|--debuglevel)
-			_samba_debuglevel
-			return 0
-			;;
-		-p|--port|-M|-I|-b|-U|--user|-n|-i|-T|-c)
-			# argument required but no completions available
-			return 0
-			;;
-		-\?|--help|-V|--version)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-b -d -L -U -I -M -m -A -N -i -O \
-			-p -R -s -k -P -c -D -W -l -E --debuglevel \
-			--log-basename --workgroup' -- "$cur" ) )
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -R)
+            _samba_resolve_order
+            return 0;
+            ;;
+        -t)
+            COMPREPLY=( $( compgen -W 'SJIS EUC JIS7 JIS8 JUNET HEX CAP' \
+                -- "$cur" ) )
+            return 0;
+            ;;
+        -s|-A|--authentication-file)
+            _filedir
+            return 0;
+            ;;
+        -l|--log-basename|-D)
+            _filedir -d
+            return 0;
+            ;;
+        -O)
+            COMPREPLY=( $( compgen -W 'SO_KEEPALIVE SO_REUSEADDR \
+                SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY \
+                IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF \
+                SO_SNDLOWAT SO_RCVLOWAT' -- "$cur" ) )
+            return 0;
+            ;;
+        -T)
+            COMPREPLY=( $( compgen -W 'c x I X F b g q r N a' -- "$cur" ) )
+            return 0;
+            ;;
+        -W|--workgroup)
+            _samba_domains
+            return 0;
+            ;;
+        -d|--debuglevel)
+            _samba_debuglevel
+            return 0
+            ;;
+        -p|--port|-M|-I|-b|-U|--user|-n|-i|-T|-c)
+            # argument required but no completions available
+            return 0
+            ;;
+        -\?|--help|-V|--version)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-b -d -L -U -I -M -m -A -N -i -O \
+            -p -R -s -k -P -c -D -W -l -E --debuglevel \
+            --log-basename --workgroup' -- "$cur" ) )
+    fi
 }
 complete -F _smbclient smbclient
 
 _smbget()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-@(o|f|-outputfile|-rcfile))
-			_filedir
-			return 0;
-			;;
-		-d|--debuglevel)
-			_samba_debuglevel
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --guest -r --resume -R \
-			--recursive -u --username -p --password -w \
-			--workgroup -n --nonprompt -d --debuglevel -D --dots \
-			-P --keep-permissions -o --outputfile -f --rcfile -q \
-			--quiet -v --verbose -b --blocksize -? --help --usage' \
-			-- "$cur" ) )
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -@(o|f|-outputfile|-rcfile))
+            _filedir
+            return 0;
+            ;;
+        -d|--debuglevel)
+            _samba_debuglevel
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --guest -r --resume -R --recursive -u \
+            --username -p --password -w --workgroup -n --nonprompt -d \
+            --debuglevel -D --dots -P --keep-permissions -o --outputfile -f \
+            --rcfile -q --quiet -v --verbose -b --blocksize -? --help --usage' \
+            -- "$cur" ) )
+    fi
 }
 complete -F _smbget smbget
 
 _smbcacls()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-s)
-			_filedir
-			return 0;
-			;;
-		-l|--log-basename)
-			_filedir -d
-			return 0;
-			;;
-		-d|--debuglevel)
-			_samba_debuglevel
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -M -D -S -U -C -G --numeric -t \
-			-h --help -V -s -d --debuglevel -l --log-basename' -- \
-			"$cur" ) )
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -s)
+            _filedir
+            return 0;
+            ;;
+        -l|--log-basename)
+            _filedir -d
+            return 0;
+            ;;
+        -d|--debuglevel)
+            _samba_debuglevel
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -M -D -S -U -C -G --numeric -t \
+            -h --help -V -s -d --debuglevel -l --log-basename' -- "$cur" ) )
+    fi
 }
 complete -F _smbcacls smbcacls
 
 _smbcquotas()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-s|-A|--authentication-file)
-			_filedir
-			return 0;
-			;;
-		-l|--log-basename)
-			_filedir -d
-			return 0;
-			;;
-		-d|--debuglevel)
-			_samba_debuglevel
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-u -L -F -S -n -t -v -h --help -V \
-			-s -d --debuglevel -l --log-basename -N -k -A \
-			--authentication-file -U --user' -- "$cur" ) )
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -s|-A|--authentication-file)
+            _filedir
+            return 0;
+            ;;
+        -l|--log-basename)
+            _filedir -d
+            return 0;
+            ;;
+        -d|--debuglevel)
+            _samba_debuglevel
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-u -L -F -S -n -t -v -h --help -V \
+            -s -d --debuglevel -l --log-basename -N -k -A \
+            --authentication-file -U --user' -- "$cur" ) )
+    fi
 }
 complete -F _smbcquotas smbcquotas
 
 _smbpasswd()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-r)
-			_samba_hosts
-			return 0;
-			;;
-		-R)
-			_samba_resolve_order
-			return 0;
-			;;
-		-c)
-			_filedir
-			return 0;
-			;;
-		-D)
-			_samba_debuglevel
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -c -x -d -e -D -n -r -R -m -U -h \
-			-s -w -W -i -L' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -r)
+            _samba_hosts
+            return 0;
+            ;;
+        -R)
+            _samba_resolve_order
+            return 0;
+            ;;
+        -c)
+            _filedir
+            return 0;
+            ;;
+        -D)
+            _samba_debuglevel
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -c -x -d -e -D -n -r -R -m -U -h \
+            -s -w -W -i -L' -- "$cur" ) )
+    fi
 }
 complete -F _smbpasswd smbpasswd
 
 _smbtar()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		-@(r|t))
-			_filedir tar
-			return 0;
-			;;
-		-s)
-			_samba_hosts
-			return 0;
-			;;
-		-l)
-			_samba_debuglevel
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-r -i -a -v -s -p -x -X -N -b -d -l \
-			-u -t' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        -@(r|t))
+            _filedir tar
+            return 0;
+            ;;
+        -s)
+            _samba_hosts
+            return 0;
+            ;;
+        -l)
+            _samba_debuglevel
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-r -i -a -v -s -p -x -X -N -b -d -l -u -t' \
+            -- "$cur" ) )
+    fi
 }
 complete -F _smbtar smbtar
 
 _smbtree()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case $prev in
-		-s|-A|--authentication-file)
-			_filedir
-			return 0;
-			;;
-		-l|--log-basename)
-			_filedir -d
-			return 0;
-			;;
-		-d|--debuglevel)
-			_samba_debuglevel
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-b -D -S -V -s -d --debuglevel -l \
-			--log-basename -N -k -A --authentication-file -U --user\
-			-h --help' -- "$cur" ) )
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case $prev in
+        -s|-A|--authentication-file)
+            _filedir
+            return 0;
+            ;;
+        -l|--log-basename)
+            _filedir -d
+            return 0;
+            ;;
+        -d|--debuglevel)
+            _samba_debuglevel
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-b -D -S -V -s -d --debuglevel -l \
+            --log-basename -N -k -A --authentication-file -U --user\
+            -h --help' -- "$cur" ) )
+    fi
 }
 complete -F _smbtree smbtree
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/sbcl b/contrib/sbcl
index cd3ff4e..7a12f89 100644
--- a/contrib/sbcl
+++ b/contrib/sbcl
@@ -11,11 +11,11 @@ _sbcl()
 
     # completing an option (may or may not be separated by a space)
     if [[ "$cur" == -* ]]; then
-	COMPREPLY=( $( compgen -W '--core --noinform --help --version \
-                     --sysinit --userinit --eval --noprint --disable-debugger \
-                     --end-runtime-options --end-toplevel-options ' -- "$cur" ) )
+    COMPREPLY=( $( compgen -W '--core --noinform --help --version \
+        --sysinit --userinit --eval --noprint --disable-debugger \
+        --end-runtime-options --end-toplevel-options ' -- "$cur" ) )
     else
-	_filedir
+    _filedir
     fi
 
     return 0
@@ -24,8 +24,8 @@ complete -F _sbcl $filenames sbcl sbcl-mt
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/screen b/contrib/screen
index 4397b3f..cd6baea 100644
--- a/contrib/screen
+++ b/contrib/screen
@@ -3,67 +3,67 @@
 have screen &&
 _screen_sessions()
 {
-	local pattern
+    local pattern
 
-	if [ -n "$1" ]; then
-		pattern=".*$1.*"
-	else
-	pattern=".*"
-	fi
+    if [ -n "$1" ]; then
+        pattern=".*$1.*"
+    else
+    pattern=".*"
+    fi
 
-	COMPREPLY=( $( command screen -ls | \
-		sed -ne 's|^['$'\t'']\+\('"$cur"'[0-9]\+\.[^'$'\t'']\+\)'"$pattern"'$|\1|p' ) )
+    COMPREPLY=( $( command screen -ls | sed -ne \
+        's|^['$'\t'']\+\('"$cur"'[0-9]\+\.[^'$'\t'']\+\)'"$pattern"'$|\1|p' ) )
 } &&
 _screen()
 {
-	local cur prev preprev
+    local cur prev preprev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	[ "$COMP_CWORD" -ge 2 ] && preprev=${COMP_WORDS[COMP_CWORD-2]}
+    [ "$COMP_CWORD" -ge 2 ] && preprev=${COMP_WORDS[COMP_CWORD-2]}
 
-	case "$preprev" in
-		-[dD])
-			_screen_sessions
-			return 0
-		;;
-	esac
+    case "$preprev" in
+        -[dD])
+            _screen_sessions
+            return 0
+        ;;
+    esac
 
-	case "$prev" in
-		-[rR])
-			# list detached
-			_screen_sessions 'Detached'
-			return 0
-			;;
-		-[dDx])
-			# list attached
-			_screen_sessions 'Attached'
-			return 0
-			;;
-		-s)
-			# shells
-			COMPREPLY=( $( grep ^${cur:-[^#]} /etc/shells ) )
-			;;
-		-c)
-			_filedir
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -[rR])
+            # list detached
+            _screen_sessions 'Detached'
+            return 0
+            ;;
+        -[dDx])
+            # list attached
+            _screen_sessions 'Attached'
+            return 0
+            ;;
+        -s)
+            # shells
+            COMPREPLY=( $( grep ^${cur:-[^#]} /etc/shells ) )
+            ;;
+        -c)
+            _filedir
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -A -c -d -D -e -f -fn -fa -h -i \
-			-l -ln -ls -list -L -m -O -p -q -r -R -s -S -t -U -v \
-			-wipe -x -X' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -A -c -d -D -e -f -fn -fa -h -i \
+            -l -ln -ls -list -L -m -O -p -q -r -R -s -S -t -U -v \
+            -wipe -x -X' -- "$cur" ) )
+    fi
 } &&
 complete -F _screen $default screen
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/shadow b/contrib/shadow
index a09e913..c72718d 100644
--- a/contrib/shadow
+++ b/contrib/shadow
@@ -3,325 +3,325 @@
 have useradd &&
 _useradd()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	# TODO: if -o/--non-unique is given, could complete on existing uids
-	#       with -u/--uid
-
-	case "$prev" in
-		-c|--comment|-h|--help|-e|--expiredate|-f|--inactive|-k|--key|-p|--password|-u|--uid|-Z|--selinux-user)
-			return 0
-			;;
-		-b|--base-dir|-d|--home|-k|--skel)
-			_filedir -d
-			return 0
-			;;
-		-g|--gid)
-			_gids
-			[ -n "$bash205" ] && \
-				COMPREPLY=( "${COMPREPLY[@]}" $( compgen -g ) )
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
-			return 0
-			;;
-		-G|--groups)
-			[ -n "$bash205" ] && \
-				COMPREPLY=( $( compgen -g -- "$cur" ) )
-			return 0
-			;;
-		-s|--shell)
-			_shells
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-b --base-dir -c --comment -d --home\
-			-D --defaults -e --expiredate -f --inactive -g --gid \
-			-G --groups -h --help -k --skel -K --key -l -M \
-			-m --create-home -N --no-user-group -o --non-unique \
-			-p --password -r --system -s --shell -u --uid \
-			-U --user-group -Z --selinux-user' -- "$cur" ) )
-		return 0
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    # TODO: if -o/--non-unique is given, could complete on existing uids
+    #       with -u/--uid
+
+    case "$prev" in
+        -c|--comment|-h|--help|-e|--expiredate|-f|--inactive|-k|--key|-p|--password|-u|--uid|-Z|--selinux-user)
+            return 0
+            ;;
+        -b|--base-dir|-d|--home|-k|--skel)
+            _filedir -d
+            return 0
+            ;;
+        -g|--gid)
+            _gids
+            [ -n "$bash205" ] && \
+                COMPREPLY=( "${COMPREPLY[@]}" $( compgen -g ) )
+            COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
+            return 0
+            ;;
+        -G|--groups)
+            [ -n "$bash205" ] && \
+                COMPREPLY=( $( compgen -g -- "$cur" ) )
+            return 0
+            ;;
+        -s|--shell)
+            _shells
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-b --base-dir -c --comment -d --home\
+            -D --defaults -e --expiredate -f --inactive -g --gid \
+            -G --groups -h --help -k --skel -K --key -l -M \
+            -m --create-home -N --no-user-group -o --non-unique \
+            -p --password -r --system -s --shell -u --uid \
+            -U --user-group -Z --selinux-user' -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _useradd useradd
 
 have usermod &&
 _usermod()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	# TODO: if -o/--non-unique is given, could complete on existing uids
-	#       with -u/--uid
-
-	case "$prev" in
-		-c|--comment|-d|--home|-e|--expiredate|-f|--inactive|-h|--help|-l|--login|-p|--password|-u|--uid|-Z|--selinux-user)
-			return 0
-			;;
-		-g|--gid)
-			_gids
-			[ -n "$bash205" ] && \
-				COMPREPLY=( "${COMPREPLY[@]}" $( compgen -g ) )
-			COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
-			return 0
-			;;
-		-G|--groups)
-			[ -n "$bash205" ] && \
-				COMPREPLY=( $( compgen -g -- "$cur" ) )
-			return 0
-			;;
-		-s|--shell)
-			_shells
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		# TODO: -U/--unlock, -p/--password, -L/--lock mutually exclusive
-		COMPREPLY=( $( compgen -W '-a --append -c --comment -d --home \
-			-e --expiredate -f --inactive -g --gid -G --groups \
-			-h --help -l --login -L --lock -o --non-unique \
-			-p --password -s --shell -u --uid -U --unlock \
-			-Z --selinux-user' -- "$cur" ) )
-		return 0
-	fi
-
-	COMPREPLY=( $( compgen -u -- "$cur" ) )
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    # TODO: if -o/--non-unique is given, could complete on existing uids
+    #       with -u/--uid
+
+    case "$prev" in
+        -c|--comment|-d|--home|-e|--expiredate|-f|--inactive|-h|--help|-l|--login|-p|--password|-u|--uid|-Z|--selinux-user)
+            return 0
+            ;;
+        -g|--gid)
+            _gids
+            [ -n "$bash205" ] && \
+                COMPREPLY=( "${COMPREPLY[@]}" $( compgen -g ) )
+            COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
+            return 0
+            ;;
+        -G|--groups)
+            [ -n "$bash205" ] && \
+                COMPREPLY=( $( compgen -g -- "$cur" ) )
+            return 0
+            ;;
+        -s|--shell)
+            _shells
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        # TODO: -U/--unlock, -p/--password, -L/--lock mutually exclusive
+        COMPREPLY=( $( compgen -W '-a --append -c --comment -d --home \
+            -e --expiredate -f --inactive -g --gid -G --groups \
+            -h --help -l --login -L --lock -o --non-unique \
+            -p --password -s --shell -u --uid -U --unlock \
+            -Z --selinux-user' -- "$cur" ) )
+        return 0
+    fi
+
+    COMPREPLY=( $( compgen -u -- "$cur" ) )
 } &&
 complete -F _usermod usermod
 
 have userdel &&
 _userdel()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-f --force -h --help -r --remove' \
-			-- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-f --force -h --help -r --remove' \
+            -- "$cur" ) )
+        return 0
+    fi
 
-	COMPREPLY=( $( compgen -u -- "$cur" ) )
+    COMPREPLY=( $( compgen -u -- "$cur" ) )
 } &&
 complete -F _userdel userdel
 
 have chage &&
 _chage()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	case "$prev" in
-		-d|--lastday|-E|--expiredate|-h|--help|-I|--inactive|-m|--mindays|-M|--maxdays|-W|--warndays)
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -d|--lastday|-E|--expiredate|-h|--help|-I|--inactive|-m|--mindays|-M|--maxdays|-W|--warndays)
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-d --lastday -E --expiredate \
-			-h --help -I --inactive -l --list -m --mindays \
-			-M --maxdays -W --warndays' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-d --lastday -E --expiredate \
+            -h --help -I --inactive -l --list -m --mindays \
+            -M --maxdays -W --warndays' -- "$cur" ) )
+        return 0
+    fi
 
-	COMPREPLY=( $( compgen -u -- "$cur" ) )
+    COMPREPLY=( $( compgen -u -- "$cur" ) )
 } &&
 complete -F _chage chage
 
 have passwd &&
 _passwd()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-n|-x|-w|-i|-\?|--help|--usage)
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -n|-x|-w|-i|-\?|--help|--usage)
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-k -l --stdin -u -d -n -x -w -i -S \
-			-? --help --usage' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-k -l --stdin -u -d -n -x -w -i -S \
+            -? --help --usage' -- "$cur" ) )
+        return 0
+    fi
 
-	COMPREPLY=( $( compgen -u -- "$cur" ) )
+    COMPREPLY=( $( compgen -u -- "$cur" ) )
 } &&
 complete -F _passwd passwd
 
 have chpasswd &&
 _chpasswd()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-c|--crypt)
-			COMPREPLY=( $( compgen -W 'DES MD5 NONE SHA256 SHA512' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-s|--sha-rounds)
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c --crypt-method -e --encrypted \
-			-h --help -m --md5 -s --sha-rounds' -- "$cur" ) )
-		return 0
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -c|--crypt)
+            COMPREPLY=( $( compgen -W 'DES MD5 NONE SHA256 SHA512' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -s|--sha-rounds)
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c --crypt-method -e --encrypted \
+            -h --help -m --md5 -s --sha-rounds' -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _chpasswd chpasswd
 
 have newusers &&
 _newusers()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-c|--crypt)
-			COMPREPLY=( $( compgen -W 'DES MD5 NONE SHA256 SHA512' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-s|--sha-rounds)
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c --crypt-method --r --system \
-			-s --sha-rounds' -- "$cur" ) )
-		return 0
-	fi
-
-	_filedir
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -c|--crypt)
+            COMPREPLY=( $( compgen -W 'DES MD5 NONE SHA256 SHA512' \
+                -- "$cur" ) )
+            return 0
+            ;;
+        -s|--sha-rounds)
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c --crypt-method --r --system \
+            -s --sha-rounds' -- "$cur" ) )
+        return 0
+    fi
+
+    _filedir
 } &&
 complete -F _newusers $filenames newusers
 
 have pwck &&
 _pwck()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-q -r -s' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-q -r -s' -- "$cur" ) )
+        return 0
+    fi
 
-	_filedir
+    _filedir
 } &&
 complete -F _pwck $filenames pwck
 
 have groupadd &&
 _groupadd()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	# TODO: if -o/--non-unique is given, could complete on existing gids
-	#       with -g/--gid
+    # TODO: if -o/--non-unique is given, could complete on existing gids
+    #       with -g/--gid
 
-	case "$prev" in
-		-g|--gid|-K|--key|-p|--password)
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -g|--gid|-K|--key|-p|--password)
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-f --force -g --gid -h --help \
-			-K --key -o --non-unique -p --password -r --system' \
-			-- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-f --force -g --gid -h --help \
+            -K --key -o --non-unique -p --password -r --system' \
+            -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _groupadd groupadd
 
 have groupmod &&
 _groupmod()
 {
-	local cur prev split=false
+    local cur prev split=false
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	_split_longopt && split=true
+    _split_longopt && split=true
 
-	# TODO: if -o/--non-unique is given, could complete on existing gids
-	#       with -g/--gid
+    # TODO: if -o/--non-unique is given, could complete on existing gids
+    #       with -g/--gid
 
-	case "$prev" in
-		-g|--gid|-h|--help|-n|--new-name|-p|--password)
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -g|--gid|-h|--help|-n|--new-name|-p|--password)
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-g --gid -h --help -n --new-name \
-			-o --non-unique -p --password' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-g --gid -h --help -n --new-name \
+            -o --non-unique -p --password' -- "$cur" ) )
+        return 0
+    fi
 
-	[ -n "$bash205" ] && COMPREPLY=( $( compgen -g -- "$cur" ) )
+    [ -n "$bash205" ] && COMPREPLY=( $( compgen -g -- "$cur" ) )
 } &&
 complete -F _groupmod groupmod
 
@@ -330,172 +330,172 @@ complete -F _groupmod groupmod
 have newgrp &&
 _newgrp()
 {
-	COMPREPLY=()
-	if [[ "`_get_cword`" == "-" ]]; then
-		COMPREPLY=( - )
-	fi
+    COMPREPLY=()
+    if [[ "`_get_cword`" == "-" ]]; then
+        COMPREPLY=( - )
+    fi
 } &&
 complete ${bash205:+-g} -F _newgrp newgrp
 
 have gpasswd &&
 _gpasswd()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-a|-d|-A|-M)
-			COMPREPLY=( $( compgen -u -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -a|-d|-A|-M)
+            COMPREPLY=( $( compgen -u -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -d -r -R -A -M' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -d -r -R -A -M' -- "$cur" ) )
+        return 0
+    fi
 
-	[ -n "$bash205" ] && COMPREPLY=( $( compgen -g -- "$cur" ) )
+    [ -n "$bash205" ] && COMPREPLY=( $( compgen -g -- "$cur" ) )
 } &&
 complete -F _gpasswd gpasswd
 
 have groupmems &&
 _groupmems()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-a|-d)
-			COMPREPLY=( $( compgen -u -- "$cur" ) )
-			return 0
-			;;
-		-g)
-			[ -n "$bash205" ] && \
-				COMPREPLY=( $( compgen -g -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -d -p -g -l' -- "$cur" ) )
-		return 0
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -a|-d)
+            COMPREPLY=( $( compgen -u -- "$cur" ) )
+            return 0
+            ;;
+        -g)
+            [ -n "$bash205" ] && \
+                COMPREPLY=( $( compgen -g -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -d -p -g -l' -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _groupmems groupmems
 
 have grpck &&
 _grpck()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-r -s' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-r -s' -- "$cur" ) )
+        return 0
+    fi
 
-	_filedir
+    _filedir
 } &&
 complete -F _grpck $filenames grpck
 
 have vipw || have vigr &&
 _vipw()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-h|--help)
-			return 0
-			;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-g --group -h --help -p --passwd \
-			-q --quiet -s --shadow' -- "$cur" ) )
-		return 0
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        -h|--help)
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-g --group -h --help -p --passwd \
+            -q --quiet -s --shadow' -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _vipw vipw vigr
 
 have faillog &&
 _faillog()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-h|--help|-l|--lock-time|-m|--maximum|-t|--time)
-			return 0
-			;;
-		-u|--user)
-			COMPREPLY=( $( compgen -u -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a --all -h --help -l --lock-time \
-			-m --maximum -r --reset -t --time -u --user' -- "$cur" ) )
-		return 0
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -h|--help|-l|--lock-time|-m|--maximum|-t|--time)
+            return 0
+            ;;
+        -u|--user)
+            COMPREPLY=( $( compgen -u -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a --all -h --help -l --lock-time \
+            -m --maximum -r --reset -t --time -u --user' -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _faillog faillog
 
 have lastlog &&
 _lastlog()
 {
-	local cur prev split=false
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	_split_longopt && split=true
-
-	case "$prev" in
-		-b|--before|-h|--help|-t|--time)
-			return 0
-			;;
-		-u|--user)
-			COMPREPLY=( $( compgen -u -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	$split && return 0
-
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-b --before -h --help -t --time \
-			-u --user' -- "$cur" ) )
-		return 0
-	fi
+    local cur prev split=false
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        -b|--before|-h|--help|-t|--time)
+            return 0
+            ;;
+        -u|--user)
+            COMPREPLY=( $( compgen -u -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    $split && return 0
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-b --before -h --help -t --time \
+            -u --user' -- "$cur" ) )
+        return 0
+    fi
 } &&
 complete -F _lastlog lastlog
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/sitecopy b/contrib/sitecopy
index f53cf1a..abf3d92 100644
--- a/contrib/sitecopy
+++ b/contrib/sitecopy
@@ -5,33 +5,36 @@
 have sitecopy &&
 _sitecopy()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	case "$cur" in
-	    --*)
-	    	COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '--\w' | awk '{sub (/=(FILE|PATH)/, "", $2); print $2}')" -- "$cur" ) )
-		;;
-	    -*)
-	    	COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '-\w' | awk '{sub (",", "", $1); print $1}')" -- "$cur" ) )
-		;;
-	    *)
-		if [ -r ~/.sitecopyrc ]; then
-		    COMPREPLY=( $( compgen -W "$(grep '^["$'\t '"]*site'  ~/.sitecopyrc | awk '{print $2}')" -- "$cur" ) )
-		fi
-		;;
-	esac
+    case "$cur" in
+        --*)
+            COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '--\w' | \
+                awk '{sub (/=(FILE|PATH)/, "", $2); print $2}')" -- "$cur" ) )
+            ;;
+        -*)
+            COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '-\w' | \
+                awk '{sub (",", "", $1); print $1}')" -- "$cur" ) )
+            ;;
+        *)
+            if [ -r ~/.sitecopyrc ]; then
+                COMPREPLY=( $( compgen -W "$(grep '^["$'\t '"]*site' \
+                    ~/.sitecopyrc | awk '{print $2}')" -- "$cur" ) )
+            fi
+            ;;
+    esac
 
-	return 0
+    return 0
 } &&
 complete -F _sitecopy $default sitecopy
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/smartctl b/contrib/smartctl
index ba26e87..5108269 100644
--- a/contrib/smartctl
+++ b/contrib/smartctl
@@ -48,7 +48,7 @@ _smartctl_vendorattribute()
 _smartctl_firmwarebug()
 {
 	COMPREPLY=( $( compgen -W 'none samsung samsung2 samsung3 swapid' \
-		-- "$cur" ) )
+        -- "$cur" ) )
 }
 _smartctl_presets()
 {
@@ -142,8 +142,8 @@ complete -F _smartctl smartctl
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/snownews b/contrib/snownews
index d57b2f3..8d89b78 100644
--- a/contrib/snownews
+++ b/contrib/snownews
@@ -3,23 +3,23 @@
 have snownews &&
 _snownews()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		# return list of available options
-		COMPREPLY=( $( compgen -W '--update --help --version \
-				  --disable-versioncheck -u -h -V' -- "$cur"))
-	fi
+    if [[ "$cur" == -* ]]; then
+        # return list of available options
+        COMPREPLY=( $( compgen -W '--update --help --version \
+            --disable-versioncheck -u -h -V' -- "$cur"))
+    fi
 } &&
 complete -F _snownews snownews
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/ssh b/contrib/ssh
index 2070c23..0215ffd 100644
--- a/contrib/ssh
+++ b/contrib/ssh
@@ -185,9 +185,9 @@ _scp()
 		# escape spaces; remove executables, aliases, pipes and sockets;
 		# add space at end of file names
 		COMPREPLY=( $( ssh -o 'Batchmode yes' $userhost \
-			       command ls -aF1d "$path*" 2>/dev/null | \
-			       sed -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\\\\\\\\\&/g" \
-				   -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' ) )
+            command ls -aF1d "$path*" 2>/dev/null | \
+            sed -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\\\\\\\\\&/g" \
+            -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' ) )
 		return 0
 	fi
 
@@ -215,10 +215,9 @@ _scp()
 	# This approach is used instead of _filedir to get a space appended
 	# after local file/dir completions, and $nospace retained for others.
 	local IFS=$'\t\n'
-	COMPREPLY=( "${COMPREPLY[@]}" $( command ls -aF1d $cur* \
-		    2>/dev/null | sed \
-		    -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\&/g" \
-		    -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' -e "s/^/$prefix/") )
+	COMPREPLY=( "${COMPREPLY[@]}" $( command ls -aF1d $cur* 2>/dev/null | sed \
+        -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\&/g" \
+        -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' -e "s/^/$prefix/") )
 
 	return 0
 }
@@ -253,8 +252,8 @@ complete -F _ssh_copy_id $filenames ssh-copy-id
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/strace b/contrib/strace
index 0c46ca8..7925890 100644
--- a/contrib/strace
+++ b/contrib/strace
@@ -3,102 +3,101 @@
 have strace &&
 _strace()
 {
-	local cur prev offset i syscalls arch unistd
+    local cur prev offset i syscalls arch unistd
 
-	# check if we're still completing strace
-	offset=0
-	for (( i=1; i <= COMP_CWORD; i++ )); do
-		case ${COMP_WORDS[$i]} in
-			-@(o|e|p))
-				i=$((i+1))
-				continue
-				;;
-			-*)
-				continue
-				;;
-		esac
-		offset=$i
-		break
-	done
+    # check if we're still completing strace
+    offset=0
+    for (( i=1; i <= COMP_CWORD; i++ )); do
+        case ${COMP_WORDS[$i]} in
+            -@(o|e|p))
+                i=$((i+1))
+                continue
+                ;;
+            -*)
+                continue
+                ;;
+        esac
+        offset=$i
+        break
+    done
 
-	if [ $offset -gt 0 ]; then
-		# FAIL: _command_offset is not defined anywhere. Guillame?
-		_command_offset $offset
-	else
+    if [ $offset -gt 0 ]; then
+        # FAIL: _command_offset is not defined anywhere. Guillame?
+        _command_offset $offset
+    else
 
-		COMPREPLY=()
-		cur=`_get_cword`
-		prev=${COMP_WORDS[COMP_CWORD-1]}
+        COMPREPLY=()
+        cur=`_get_cword`
+        prev=${COMP_WORDS[COMP_CWORD-1]}
 
-		case $prev in
-		-e)
-			if [[ "$cur" == *=* ]]; then
-				prev=${cur/=*/}
-				cur=${cur/*=/}
+        case $prev in
+        -e)
+            if [[ "$cur" == *=* ]]; then
+                prev=${cur/=*/}
+                cur=${cur/*=/}
 
-				# Import arch-specific syscalls -- not foolproof IMHO
-				#+                                     --David Paleino
-				arch=$(command uname -m)
-				syscalls=$(awk '/^#define __NR/ {print $2}' \
-					/usr/include/asm/unistd.h | sed -e \
-					's/__NR_//')
-				if [ -z "$syscalls" ]; then
-					if [[ "$arch" =~ 86$ ]]; then
-						unistd=/usr/include/asm/unistd_32.h
-					else
-						unistd=/usr/include/asm/unistd_64.h
-					fi
-					syscalls=$(awk '/^#define __NR/ {print $2}' \
-						$unistd | sed -e 's/__NR_//')
-				fi
+                # Import arch-specific syscalls -- not foolproof IMHO
+                #+                                     --David Paleino
+                arch=$(command uname -m)
+                syscalls=$(awk '/^#define __NR/ {print $2}' \
+                    /usr/include/asm/unistd.h | sed -e \
+                    's/__NR_//')
+                if [ -z "$syscalls" ]; then
+                    if [[ "$arch" =~ 86$ ]]; then
+                        unistd=/usr/include/asm/unistd_32.h
+                    else
+                        unistd=/usr/include/asm/unistd_64.h
+                    fi
+                    syscalls=$(awk '/^#define __NR/ {print $2}' \
+                        $unistd | sed -e 's/__NR_//')
+                fi
 
-				case $prev in
-					trace)
-						COMPREPLY=( $( compgen -W "$syscalls file process \
-							network signal ipc desc all none" -- "$cur") )
-						return 0
-						;;
-				esac
-			else
-				COMPREPLY=( $( compgen -S"=" -W 'trace abbrev \
-					verbose raw signal read write' \
-					-- "$cur" ) )
-			fi
-			return 0
-			;;
-		-o)
-			_filedir
-			return 0
-			;;
-		-p)
-			_pids
-			return 0
-			;;
-		-S)
-			COMPREPLY=( $( compgen -W 'time calls name nothing' -- "$cur" ) )
-			return 0
-			;;
-		-u)
-			COMPREPLY=( $( compgen -u -- "$cur" ) )
-			return 0
-			;;
-		esac
+                case $prev in
+                    trace)
+                        COMPREPLY=( $( compgen -W "$syscalls file process \
+                            network signal ipc desc all none" -- "$cur") )
+                        return 0
+                        ;;
+                esac
+            else
+                COMPREPLY=( $( compgen -S"=" -W 'trace abbrev \
+                    verbose raw signal read write' -- "$cur" ) )
+            fi
+            return 0
+            ;;
+        -o)
+            _filedir
+            return 0
+            ;;
+        -p)
+            _pids
+            return 0
+            ;;
+        -S)
+            COMPREPLY=( $( compgen -W 'time calls name nothing' -- "$cur" ) )
+            return 0
+            ;;
+        -u)
+            COMPREPLY=( $( compgen -u -- "$cur" ) )
+            return 0
+            ;;
+        esac
 
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '-c -d -f -ff -F -h --help -i -q \
-				-r -t -tt -ttt -T -v -V -x -xx -a -e -o -O -p \
-				-s -S -u -E' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -c -- "$cur" ) )
-		fi
-	fi
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '-c -d -f -ff -F -h --help -i -q \
+                -r -t -tt -ttt -T -v -V -x -xx -a -e -o -O -p \
+                -s -S -u -E' -- "$cur" ) )
+        else
+            COMPREPLY=( $( compgen -c -- "$cur" ) )
+        fi
+    fi
 } &&
 complete -F _strace $default strace
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/svk b/contrib/svk
index e371633..1b6f70f 100644
--- a/contrib/svk
+++ b/contrib/svk
@@ -3,267 +3,225 @@
 have svk &&
 _svk()
 {
-	local cur prev commands options command
+    local cur prev commands options command
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	commands='add admin annotate ann blame praise cat checkout co cleanup \
-		cmerge cm commit ci copy cp delete del remove rm depotmap \
-		depot describe desc diff di help h ? import info list ls log \
-		merge mirror mi mkdir move mv ren rename patch propdel pd pdel \
-		propedit pe pedit propget pg pget proplist pl plist propset ps \
-		pset pull push resolved revert smerge sm status st stat switch \
-		sw sync sy update up verify'
+    commands='add admin annotate ann blame praise cat checkout co cleanup \
+        cmerge cm commit ci copy cp delete del remove rm depotmap \
+        depot describe desc diff di help h ? import info list ls log \
+        merge mirror mi mkdir move mv ren rename patch propdel pd pdel \
+        propedit pe pedit propget pg pget proplist pl plist propset ps \
+        pset pull push resolved revert smerge sm status st stat switch \
+        sw sync sy update up verify'
 
-	if [[ $COMP_CWORD -eq 1 ]] ; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--version' -- "$cur" ) )
-		else
-			COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
-		fi
-	else
+    if [[ $COMP_CWORD -eq 1 ]] ; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '--version' -- "$cur" ) )
+        else
+            COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
+        fi
+    else
 
-		prev=${COMP_WORDS[COMP_CWORD-1]}
-		case $prev in
-			-@(F|-file|-targets))
-				_filedir
-				return 0;
-				;;
-			--encoding)
-				COMPREPLY=( $( compgen -W \
-					'$( iconv --list | sed -e "s@//@@;" )' \
-					-- "$cur" ) )
-				return 0;
-				;;
-		esac
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+        case $prev in
+            -@(F|-file|-targets))
+                _filedir
+                return 0;
+                ;;
+            --encoding)
+                COMPREPLY=( $( compgen -W \
+                    '$( iconv --list | sed -e "s@//@@;" )' -- "$cur" ) )
+                return 0;
+                ;;
+        esac
 
-		command=${COMP_WORDS[1]}
+        command=${COMP_WORDS[1]}
 
-		if [[ "$cur" == -* ]]; then
-			# possible options for the command
-			case $command in
-				add)
-					options=' --non-recursive -N -q --quiet'
-					;;
-				@(blame|annotate|ann|praise))
-					options='-r --revisions -x --cross'
-					;;
-				cat)
-					options='-r --revision'
-					;;
-				@(checkout|co))
-					options='-r --revision -q --quiet -N \
-						--non-recursive -l --list -d \
-						--detach --export --relocate \
-						--purge'
-					;;
-				cleanup)
-					options='-a --all'
-					;;
-				@(cmerge|cm))
-					options='-c --change -l --log -r \
-						--revision -a --auto \
-						--verbatim --no-ticket -m \
-						--message -F --file --template \						--encoding -P --patch -S \
-						--sign -C --check-only --direct'
-					;;
-				@(commit|ci))
-					options='--import -m --message -F \
-						--file --encoding --template \
-						-P --patch -S --sign -C \
-						--check-only -N \
-						--non-recursive --direct'
-					;;
-				@(copy|cp))
-					options='-r --revision -p --parent -q \
-						--quiet -m --message -F --file \
-						--template --encoding -P \
-						--patch -S --sign -C \
-						--check-only --direct'
-					;;
-				@(delete|del|remove|rm))
-					options='-k --keep-local -m --message \
-						-F --file --encoding \
-						--template -P --patch -S \
-						--sign -C --check-only --direct'
-					;;
-				@(depotmap|depot))
-					options='-i --init -l --list -d \
-						--detach --relocate'
-					;;
-				@(diff|di))
-					options='-r --revision -s --summarize \
-						-b --verbose -N --non-recursive'
-					;;
-				import)
-					options='-f --from-checkout -t \
-						--to-checkout -m --message -F \
-						--file --template --encoding \
-						-P --patch -S --sign -C \
-						--check-only -N \
-						--non-recursive --direct'
-					;;
-				@(list|ls))
-					options='-r --revision -v --verbose -R \
-						--recursive -d --depth -f \
-						--full-path'
-					;;
-				log)
-					options='-r --revision -l --limit -q \
-						--quiet -x --cross -v --verbose'
-					;;
-				merge)
-					options='-r --revision -c --change -I \
-						--incremental -a --auto -l \
-						--log -s --sync -t --to -f \
-						--from --verbatim --no-ticket \
-						--track-rename -m --message \
-						-F --file --template \
-						--encoding -P --patch -S \
-						--sign -C --check-only --direct'
-					;;
-				@(mirror|mi))
-					options='-l --list -d --detach \
-						--relocate --recover --unlock \
-						--upgrade'
-					;;
-				mkdir)
-					options='-p --parent -m --message -F \
-						--file --template --encoding \
-						-P --patch -S --sign -C \
-						--check-only --direct'
-					;;
-				@(move|mv|rename|ren))
-					options='-r --revision -p --parent -q \
-						--quiet -m --message -F --file \
-						--encoding --template -P \
-						--patch -S --sign -C \
-						--check-only --direct'
-					;;
-				patch)
-					options='--depot'
-					;;
-				@(propdel|propset|pdel|pset|pd|ps))
-					options='-R --recursive -r --revision \
-						--revprop -m --message -F \
-						--file --template --encoding \
-						-P --patch -S --sign -C \
-						--check-only -q --quiet \
-						--direct'
-					;;
-				@(propedit|pedit|pe))
-					options='-R --recursive -r --revision \
-						--revprop -m --message -F \
-						--file --template --encoding \
-						-P --patch -S --sign -C \
-						--check-only --direct'
-					;;
-				@(propget|pget|pg))
-					options='-R --recursive -r --revision \
-						--revprop --strict'
-					;;
-				@(proplist|plist|pl))
-					options='-R --recursive -v --verbose \
-						-r --revision --revprop'
-					;;
-				pull)
-					options='-a --all -l --lump'
-					;;
-				push)
-					options='-f --from -l --lump -C \
-						--check -P --patch -S --sign \
-						--verbatim'
-					;;
-				resolved)
-					options='-R --recursive'
-					;;
-				revert)
-					options='-R --recursive -q --quiet'
-					;;
-				@(smerge|sm))
-					options='-I --incremental -l --log -B \
-						--baseless -b --base -s --sync \
-						-t --to -f --from --verbatim \
-						--no-ticket --track-rename \
-						--host --remoterev -m \
-						--message -F --file --template \
-						--encoding -P --patch -S \
-						--sign -C --check-only --direct'
-					;;
-				@(status|stat|st))
-					options='-q --quiet --no-ignore -N \
-						--non-recursive -v --verbose'
-					;;
-				@(switch|sw))
-					options='-r --revision -d --detach -q \
-						--quiet'
-					;;
-				@(sync|sy))
-					options='-a --all -s --skipto -t \
-						--torev'
-					;;
-				@(update|up))
-					options='-r --revision -N \
-						--non-recursive -C \
-						--check-only -s --sync -m \
-						--merge -q --quiet'
-					;;
-			esac
-			options="$options --help -h"
+        if [[ "$cur" == -* ]]; then
+            # possible options for the command
+            case $command in
+                add)
+                    options=' --non-recursive -N -q --quiet'
+                    ;;
+                @(blame|annotate|ann|praise))
+                    options='-r --revisions -x --cross'
+                    ;;
+                cat)
+                    options='-r --revision'
+                    ;;
+                @(checkout|co))
+                    options='-r --revision -q --quiet -N --non-recursive -l \
+                        --list -d --detach --export --relocate --purge'
+                    ;;
+                cleanup)
+                    options='-a --all'
+                    ;;
+                @(cmerge|cm))
+                    options='-c --change -l --log -r --revision -a --auto \
+                        --verbatim --no-ticket -m --message -F --file \
+                        --template --encoding -P --patch -S --sign -C \
+                        --check-only --direct'
+                    ;;
+                @(commit|ci))
+                    options='--import -m --message -F --file --encoding \
+                        --template -P --patch -S --sign -C --check-only -N \
+                        --non-recursive --direct'
+                    ;;
+                @(copy|cp))
+                    options='-r --revision -p --parent -q --quiet -m --message \
+                        -F --file --template --encoding -P --patch -S --sign \
+                        -C --check-only --direct'
+                    ;;
+                @(delete|del|remove|rm))
+                    options='-k --keep-local -m --message -F --file --encoding \
+                        --template -P --patch -S --sign -C --check-only \
+                        --direct'
+                    ;;
+                @(depotmap|depot))
+                    options='-i --init -l --list -d --detach --relocate'
+                    ;;
+                @(diff|di))
+                    options='-r --revision -s --summarize -b --verbose -N \
+                        --non-recursive'
+                    ;;
+                import)
+                    options='-f --from-checkout -t --to-checkout -m --message \
+                        -F --file --template --encoding -P --patch -S --sign \
+                        -C --check-only -N --non-recursive --direct'
+                    ;;
+                @(list|ls))
+                    options='-r --revision -v --verbose -R --recursive -d \
+                        --depth -f --full-path'
+                    ;;
+                log)
+                    options='-r --revision -l --limit -q --quiet -x --cross \
+                        -v --verbose'
+                    ;;
+                merge)
+                    options='-r --revision -c --change -I --incremental -a \
+                        --auto -l --log -s --sync -t --to -f --from \
+                        --verbatim --no-ticket --track-rename -m --message \
+                        -F --file --template --encoding -P --patch -S --sign \
+                        -C --check-only --direct'
+                    ;;
+                @(mirror|mi))
+                    options='-l --list -d --detach --relocate --recover \
+                        --unlock --upgrade'
+                    ;;
+                mkdir)
+                    options='-p --parent -m --message -F --file --template \
+                        --encoding -P --patch -S --sign -C --check-only \
+                        --direct'
+                    ;;
+                @(move|mv|rename|ren))
+                    options='-r --revision -p --parent -q --quiet -m \
+                        --message -F --file --encoding --template -P --patch \
+                        -S --sign -C --check-only --direct'
+                    ;;
+                patch)
+                    options='--depot'
+                    ;;
+                @(propdel|propset|pdel|pset|pd|ps))
+                    options='-R --recursive -r --revision --revprop -m \
+                        --message -F --file --template --encoding -P --patch \
+                        -S --sign -C --check-only -q --quiet --direct'
+                    ;;
+                @(propedit|pedit|pe))
+                    options='-R --recursive -r --revision --revprop -m \
+                        --message -F --file --template --encoding -P --patch \
+                        -S --sign -C --check-only --direct'
+                    ;;
+                @(propget|pget|pg))
+                    options='-R --recursive -r --revision --revprop --strict'
+                    ;;
+                @(proplist|plist|pl))
+                    options='-R --recursive -v --verbose \
+                        -r --revision --revprop'
+                    ;;
+                pull)
+                    options='-a --all -l --lump'
+                    ;;
+                push)
+                    options='-f --from -l --lump -C --check -P --patch -S \
+                        --sign --verbatim'
+                    ;;
+                resolved)
+                    options='-R --recursive'
+                    ;;
+                revert)
+                    options='-R --recursive -q --quiet'
+                    ;;
+                @(smerge|sm))
+                    options='-I --incremental -l --log -B --baseless -b \
+                        --base -s --sync -t --to -f --from --verbatim \
+                        --no-ticket --track-rename --host --remoterev -m \
+                        --message -F --file --template --encoding -P --patch \
+                        -S --sign -C --check-only --direct'
+                    ;;
+                @(status|stat|st))
+                    options='-q --quiet --no-ignore -N --non-recursive -v \
+                        --verbose'
+                    ;;
+                @(switch|sw))
+                    options='-r --revision -d --detach -q --quiet'
+                    ;;
+                @(sync|sy))
+                    options='-a --all -s --skipto -t --torev'
+                    ;;
+                @(update|up))
+                    options='-r --revision -N --non-recursive -C --check-only \
+                        -s --sync -m --merge -q --quiet'
+                    ;;
+            esac
+            options="$options --help -h"
 
-			COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
-		else
-			case $command in
-				@(help|h|\?))
-					COMPREPLY=( $( compgen -W "$commands \
-					environment commands intro" -- "$cur" ) )
-					;;
-				admin)
-					COMPREPLY=( $( compgen -W 'help \
-						deltify dump hotcopy \
-						list-dblogs list-unused-dblogs \
-						load lstxns recover rmtxns \
-						setlog verify rmcache' \
-						-- "$cur" ) )
-					;;
-				patch)
-					COMPREPLY=( $( compgen -W '--ls --list \
-						--cat --view --regen \
-						--regenerate --up --update \
-						--apply --rm --delete' \
-						-- "$cur" ) )
-					;;
-				sync)
-					COMPREPLY=( $( compgen -W "$( svk \
-						mirror --list 2>/dev/null | \
-						awk '/^\//{print $1}' )" \
-						-- "$cur" ) )
-					;;
-				@(co|checkout|push|pull))
-				        if [[ "$cur" == //*/* ]]; then
-						path=${cur%/*}/
-					else
-						path=//
-					fi
-					COMPREPLY=( $( compgen -W "$( svk \
-						list $path 2>/dev/null | sed -e 's|\(.*\)|'$path'\1|')" -- "$cur" ) )
-					;;
-				*)
-					_filedir
-					;;
-			esac
-		fi
-	fi
+            COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
+        else
+            case $command in
+                @(help|h|\?))
+                    COMPREPLY=( $( compgen -W "$commands \
+                        environment commands intro" -- "$cur" ) )
+                    ;;
+                admin)
+                    COMPREPLY=( $( compgen -W 'help deltify dump hotcopy \
+                        list-dblogs list-unused-dblogs load lstxns recover \
+                        rmtxns setlog verify rmcache' -- "$cur" ) )
+                    ;;
+                patch)
+                    COMPREPLY=( $( compgen -W '--ls --list --cat --view \
+                        --regen --regenerate --up --update --apply --rm \
+                        --delete' -- "$cur" ) )
+                    ;;
+                sync)
+                    COMPREPLY=( $( compgen -W "$( svk mirror --list \
+                        2>/dev/null | awk '/^\//{print $1}' )" -- "$cur" ) )
+                    ;;
+                @(co|checkout|push|pull))
+                    if [[ "$cur" == //*/* ]]; then
+                        path=${cur%/*}/
+                    else
+                        path=//
+                    fi
+                    COMPREPLY=( $( compgen -W "$( svk list $path 2>/dev/null | \
+                        sed -e 's|\(.*\)|'$path'\1|')" -- "$cur" ) )
+                    ;;
+                *)
+                    _filedir
+                    ;;
+            esac
+        fi
+    fi
 
-	return 0
+    return 0
 } &&
 complete -F _svk $filenames svk
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/sysctl b/contrib/sysctl
index 1a61feb..cd40c45 100644
--- a/contrib/sysctl
+++ b/contrib/sysctl
@@ -3,21 +3,21 @@
 have sysctl &&
 _sysctl()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	COMPREPLY=( $( compgen -W "$(sysctl -N -a 2>/dev/null)" -- "$cur" ) )
+    COMPREPLY=( $( compgen -W "$(sysctl -N -a 2>/dev/null)" -- "$cur" ) )
 
-	return 0
+    return 0
 } &&
 complete -F _sysctl sysctl
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/sysv-rc b/contrib/sysv-rc
index e6c9d31..ac2062b 100644
--- a/contrib/sysv-rc
+++ b/contrib/sysv-rc
@@ -11,53 +11,53 @@ _update_rc_d()
     prev=${COMP_WORDS[COMP_CWORD-1]}
 
     [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
-	|| sysvdir=/etc/init.d
+    || sysvdir=/etc/init.d
 
     services=( $(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))) )
     services=( ${services[@]#$sysvdir/} )
     options=( -f -n )
 
     if [[ $COMP_CWORD -eq 1 || "$prev" == -* ]]; then
-	valid_options=( $( \
-	    echo "${COMP_WORDS[@]} ${options[@]}" \
-	    | tr " " "\n" \
-	    | sed -ne "/$( echo "${options[@]}" | sed "s/ /\\|/g" )/p" \
-	    | sort | uniq -u \
-	    ) )
-	COMPREPLY=( $( compgen -W '${options[@]} ${services[@]}' \
-	    -X '$( echo ${COMP_WORDS[@]} | tr " " "|" )' -- "$cur" ) )
+    valid_options=( $( \
+        echo "${COMP_WORDS[@]} ${options[@]}" \
+        | tr " " "\n" \
+        | sed -ne "/$( echo "${options[@]}" | sed "s/ /\\|/g" )/p" \
+        | sort | uniq -u \
+        ) )
+    COMPREPLY=( $( compgen -W '${options[@]} ${services[@]}' \
+        -X '$( echo ${COMP_WORDS[@]} | tr " " "|" )' -- "$cur" ) )
     elif [[ "$prev" == ?($( echo ${services[@]} | tr " " "|" )) ]]; then
-	COMPREPLY=( $( compgen -W 'remove defaults start stop' -- "$cur" ) )
+        COMPREPLY=( $( compgen -W 'remove defaults start stop' -- "$cur" ) )
     elif [[ "$prev" == defaults && "$cur" == [0-9] ]]; then
-	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
+        COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
     elif [[ "$prev" == defaults && "$cur" == [sk]?([0-9]) ]]; then
-	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
+        COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
     elif [[ "$prev" == defaults && -z "$cur" ]]; then
-	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 s k )
+        COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 s k )
     elif [[ "$prev" == ?(start|stop) ]]; then
-	if [[ "$cur" == [0-9] || -z "$cur" ]]; then
-	    COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
-	elif [[ "$cur" == [0-9][0-9] ]]; then
-	    COMPREPLY=( $cur )
-	else
-	    COMPREPLY=()
-	fi
+        if [[ "$cur" == [0-9] || -z "$cur" ]]; then
+            COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
+        elif [[ "$cur" == [0-9][0-9] ]]; then
+            COMPREPLY=( $cur )
+        else
+            COMPREPLY=()
+        fi
     elif [[ "$prev" == ?([0-9][0-9]|[0-6S]) ]]; then
-	if [[ -z "$cur" ]]; then
-	    if [[ $prev == [0-9][0-9] ]]; then
-		COMPREPLY=( 0 1 2 3 4 5 6 S )
-	    else
-		COMPREPLY=( 0 1 2 3 4 5 6 S . )
-	    fi
-	elif [[ "$cur" == [0-6S.] ]]; then
-	    COMPREPLY=( $cur )
-	else
-	    COMPREPLY=()
-	fi
+        if [[ -z "$cur" ]]; then
+            if [[ $prev == [0-9][0-9] ]]; then
+                COMPREPLY=( 0 1 2 3 4 5 6 S )
+            else
+                COMPREPLY=( 0 1 2 3 4 5 6 S . )
+            fi
+        elif [[ "$cur" == [0-6S.] ]]; then
+            COMPREPLY=( $cur )
+        else
+            COMPREPLY=()
+        fi
     elif [[ "$prev" == "." ]]; then
-	COMPREPLY=( $(compgen -W "start stop" -- "$cur") )
+        COMPREPLY=( $(compgen -W "start stop" -- "$cur") )
     else
-	COMPREPLY=()
+        COMPREPLY=()
     fi
 
     return 0
@@ -77,28 +77,27 @@ _invoke_rc_d()
     prev=${COMP_WORDS[COMP_CWORD-1]}
 
     [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
-	|| sysvdir=/etc/init.d
+    || sysvdir=/etc/init.d
 
     services=( $(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))) )
     services=( ${services[@]#$sysvdir/} )
-    options=( --help --quiet --force --try-anyway --disclose-deny --query --no-fallback )
+    options=( --help --quiet --force --try-anyway --disclose-deny --query \
+        --no-fallback )
 
     if [[ ($COMP_CWORD -eq 1) || ("$prev" == --* ) ]]; then
-	valid_options=( $( \
-	    echo ${COMP_WORDS[@]} ${options[@]} \
-	    | tr " " "\n" \
-	    | sed -ne "/$( echo ${options[@]} | sed "s/ /\\\\|/g" )/p" \
-	    | sort | uniq -u \
-	    ) )
-	COMPREPLY=( $( compgen -W '${valid_options[@]} ${services[@]}' -- \
-	    "$cur" ) )
+    valid_options=( $( \
+        echo ${COMP_WORDS[@]} ${options[@]} \
+        | tr " " "\n" \
+        | sed -ne "/$( echo ${options[@]} | sed "s/ /\\\\|/g" )/p" \
+        | sort | uniq -u \
+        ) )
+    COMPREPLY=( $( compgen -W '${valid_options[@]} ${services[@]}' -- "$cur" ) )
     elif [ -x $sysvdir/$prev ]; then
-	COMPREPLY=( $( compgen -W '`sed -ne "y/|/ /; \
-					    s/^.*Usage:[ ]*[^ ]*[ ]*{*\([^}\"]*\).*$/\1/p" \
-					    $sysvdir/$prev`' -- \
-	    "$cur" ) )
+        COMPREPLY=( $( compgen -W '`sed -ne "y/|/ /; \
+            s/^.*Usage:[ ]*[^ ]*[ ]*{*\([^}\"]*\).*$/\1/p" \
+            $sysvdir/$prev`' -- "$cur" ) )
     else
-	COMPREPLY=()
+        COMPREPLY=()
     fi
 
     return 0
@@ -107,8 +106,8 @@ complete -F _invoke_rc_d invoke-rc.d
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/tar b/contrib/tar
index 983e802..0802c88 100644
--- a/contrib/tar
+++ b/contrib/tar
@@ -3,71 +3,70 @@
 have tar && {
 _tar()
 {
-	local cur ext regex tar untar
+    local cur ext regex tar untar
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [ $COMP_CWORD -eq 1 ]; then
-		COMPREPLY=( $( compgen -W 'c t x u r d A' -- "$cur" ) )
-		return 0
-	fi
+    if [ $COMP_CWORD -eq 1 ]; then
+        COMPREPLY=( $( compgen -W 'c t x u r d A' -- "$cur" ) )
+        return 0
+    fi
 
-	case "${COMP_WORDS[1]}" in
-	?(-)[cr]*f)
-		_filedir
-		return 0
-		;;
-	+([^IZzJjy])f)
-		ext='t@(ar?(.@(Z|gz|bz?(2)|lz?(ma)))|gz|bz?(2)|lz?(ma))'
-		regex='t\(ar\(\.\(Z\|gz\|bz2\?\|lzma\|xz\)\)\?\|gz\|bz2\?\|lzma\|xz\)'
-		;;
-	*[Zz]*f)
-		ext='t?(ar.)@(gz|Z)'
-		regex='t\(ar\.\)\?\(gz\|Z\)'
-		;;
-	*[Ijy]*f)
-		ext='t?(ar.)bz?(2)'
-		regex='t\(ar\.\)\?bz2\?'
-		;;
-	*[J]*f)
-		ext='t?(ar.)@(lz?(ma)|xz)'
-		regex='t\(ar\.\)\?\(lzma\|xz\)\?'
-		;;
-	*)
-		_filedir
-		return 0
-		;;
+    case "${COMP_WORDS[1]}" in
+    ?(-)[cr]*f)
+        _filedir
+        return 0
+        ;;
+    +([^IZzJjy])f)
+        ext='t@(ar?(.@(Z|gz|bz?(2)|lz?(ma)))|gz|bz?(2)|lz?(ma))'
+        regex='t\(ar\(\.\(Z\|gz\|bz2\?\|lzma\|xz\)\)\?\|gz\|bz2\?\|lzma\|xz\)'
+        ;;
+    *[Zz]*f)
+        ext='t?(ar.)@(gz|Z)'
+        regex='t\(ar\.\)\?\(gz\|Z\)'
+        ;;
+    *[Ijy]*f)
+        ext='t?(ar.)bz?(2)'
+        regex='t\(ar\.\)\?bz2\?'
+        ;;
+    *[J]*f)
+        ext='t?(ar.)@(lz?(ma)|xz)'
+        regex='t\(ar\.\)\?\(lzma\|xz\)\?'
+        ;;
+    *)
+        _filedir
+        return 0
+        ;;
 
-	esac
+    esac
 
-	if [[ "$COMP_LINE" == *$ext' ' ]]; then
-		# complete on files in tar file
-		#
-		# get name of tar file from command line
-		tar=$( echo "$COMP_LINE" | \
-			sed -e 's/^.* \([^ ]*'$regex'\) .*$/\1/' )
-		# devise how to untar and list it
-		untar=t${COMP_WORDS[1]//[^Izjyf]/}
+    if [[ "$COMP_LINE" == *$ext' ' ]]; then
+        # complete on files in tar file
+        #
+        # get name of tar file from command line
+        tar=$( echo "$COMP_LINE" | sed -e 's/^.* \([^ ]*'$regex'\) .*$/\1/' )
+        # devise how to untar and list it
+        untar=t${COMP_WORDS[1]//[^Izjyf]/}
 
-		COMPREPLY=( $( compgen -W "$( echo $( tar $untar $tar \
-				2>/dev/null ) )" -- "$cur" ) )
-		return 0
-	fi
+        COMPREPLY=( $( compgen -W "$( echo $( tar $untar $tar \
+            2>/dev/null ) )" -- "$cur" ) )
+        return 0
+    fi
 
-	# file completion on relevant files
-	_filedir "$ext"
+    # file completion on relevant files
+    _filedir "$ext"
 
-	return 0
+    return 0
 }
 [ -n "${COMP_TAR_INTERNAL_PATHS:-}" ] && complete -F _tar $dirnames tar ||
-	complete -F _tar $filenames tar
+    complete -F _tar $filenames tar
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/tcpdump b/contrib/tcpdump
index 194cf34..958ac8d 100644
--- a/contrib/tcpdump
+++ b/contrib/tcpdump
@@ -3,37 +3,36 @@
 have tcpdump &&
 _tcpdump()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-@(r|w|F))
-			_filedir
-			return 0
-			;;
-		-i)
-			_available_interfaces -a
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(r|w|F))
+            _filedir
+            return 0
+            ;;
+        -i)
+            _available_interfaces -a
+            return 0
+            ;;
+    esac
 
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-a -d -e -f -l -n -N -O -p \
-			-q -R -S -t -u -v -x -C -F -i -m -r -s -T -w \
-			-E' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-a -d -e -f -l -n -N -O -p \
+            -q -R -S -t -u -v -x -C -F -i -m -r -s -T -w -E' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _tcpdump tcpdump
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/unace b/contrib/unace
index fdb0986..d006ffb 100644
--- a/contrib/unace
+++ b/contrib/unace
@@ -3,33 +3,34 @@
 have unace &&
 _unace()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	case "$cur" in
-	    -*)
-		COMPREPLY=( $( compgen -W '-c -c- -f -f- -o -o- -p -y -y-' -- "$cur" ) )
-		;;
-	    *)
-		if [ $COMP_CWORD -eq 1 ]; then
-			COMPREPLY=( $( compgen -W 'e l t v x' -- "$cur" ) )
-		else
-			_filedir '@(ace|ACE)'
-		fi
-		;;
-	esac
+    case "$cur" in
+        -*)
+            COMPREPLY=( $( compgen -W '-c -c- -f -f- -o -o- -p -y -y-' \
+                -- "$cur" ) )
+            ;;
+        *)
+        if [ $COMP_CWORD -eq 1 ]; then
+            COMPREPLY=( $( compgen -W 'e l t v x' -- "$cur" ) )
+        else
+            _filedir '@(ace|ACE)'
+        fi
+        ;;
+    esac
 
-	return 0
+    return 0
 
 } &&
 complete -F _unace $filenames unace
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/unrar b/contrib/unrar
index c5c1fd6..a97fb0d 100644
--- a/contrib/unrar
+++ b/contrib/unrar
@@ -3,34 +3,34 @@
 have unrar &&
 _unrar()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	case "$cur" in
-	    -*)
-		COMPREPLY=( $( compgen -W '-ad -ap -av- -c- -cfg- -cl -cu \
-		-dh -ep -f -idp -ierr -inul -kb -o+ -o- -ow -p -p- -r -ta \
-		-tb -tn -to -u -v -ver -vp -x -x@ -y' -- "$cur" ) )
-		;;
-	    *)
-		if [ $COMP_CWORD -eq 1 ]; then
-			COMPREPLY=( $( compgen -W 'e l lb lt p t v vb vt x' -- "$cur" ) )
-		else
-			_filedir '@(rar|RAR)'
-		fi
-		;;
-	esac
+    case "$cur" in
+        -*)
+        COMPREPLY=( $( compgen -W '-ad -ap -av- -c- -cfg- -cl -cu \
+            -dh -ep -f -idp -ierr -inul -kb -o+ -o- -ow -p -p- -r -ta \
+            -tb -tn -to -u -v -ver -vp -x -x@ -y' -- "$cur" ) )
+        ;;
+        *)
+        if [ $COMP_CWORD -eq 1 ]; then
+            COMPREPLY=( $( compgen -W 'e l lb lt p t v vb vt x' -- "$cur" ) )
+        else
+            _filedir '@(rar|RAR)'
+        fi
+        ;;
+    esac
 
-	return 0
+    return 0
 } &&
 complete -F _unrar $filenames unrar
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/update-alternatives b/contrib/update-alternatives
index fdefc4a..7e12b96 100644
--- a/contrib/update-alternatives
+++ b/contrib/update-alternatives
@@ -3,97 +3,97 @@
 have update-alternatives && {
 _installed_alternatives()
 {
-	local admindir
-	# find the admin dir
-	for i in alternatives dpkg/alternatives rpm/alternatives; do
-		[ -d /var/lib/$i ] && admindir=/var/lib/$i && break
-	done
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == --admindir ]]; then
-			admindir=${COMP_WORDS[i+1]}
-			break
-		fi
-	done
-	COMPREPLY=( $( compgen -W '$( command ls $admindir )' -- "$cur" ) )
+    local admindir
+    # find the admin dir
+    for i in alternatives dpkg/alternatives rpm/alternatives; do
+        [ -d /var/lib/$i ] && admindir=/var/lib/$i && break
+    done
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == --admindir ]]; then
+            admindir=${COMP_WORDS[i+1]}
+            break
+        fi
+    done
+    COMPREPLY=( $( compgen -W '$( command ls $admindir )' -- "$cur" ) )
 }
 
 _update_alternatives()
 {
-	local cur prev mode args i
+    local cur prev mode args i
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-	--@(altdir|admindir))
-		_filedir -d
-		return 0
-		;;
-	--@(help|version))
-		return 0
-		;;
-	esac
+    case "$prev" in
+    --@(altdir|admindir))
+        _filedir -d
+        return 0
+        ;;
+    --@(help|version))
+        return 0
+        ;;
+    esac
 
-	# find which mode to use and how many real args used so far
-	for (( i=1; i < COMP_CWORD; i++ )); do
-		if [[ "${COMP_WORDS[i]}" == --@(install|remove|auto|display|config|remove-all) ]]; then
-			mode=${COMP_WORDS[i]}
-			args=$(($COMP_CWORD - i))
-			break
-		fi
-	done
+    # find which mode to use and how many real args used so far
+    for (( i=1; i < COMP_CWORD; i++ )); do
+        if [[ "${COMP_WORDS[i]}" == --@(install|remove|auto|display|config|remove-all) ]]; then
+            mode=${COMP_WORDS[i]}
+            args=$(($COMP_CWORD - i))
+            break
+        fi
+    done
 
-	case $mode in
-	--install)
-		case $args in
-		1)
-			_filedir
-			;;
-		2)
-			_installed_alternatives
-			;;
-		3)
-			_filedir
-			;;
-		esac
-		;;
-	--remove)
-		case $args in
-		1)
-			_installed_alternatives
-			;;
-		2)
-			_filedir
-			;;
-		esac
-		;;
-	--auto)
-		_installed_alternatives
-		;;
-	--remove-all)
-		_installed_alternatives
-		;;
-	--display)
-		_installed_alternatives
-		;;
-	--config)
-		_installed_alternatives
-		;;
-	*)
-		COMPREPLY=( $( compgen -W '--verbose --quiet --help --version \
-			       --altdir --admindir' -- "$cur" ) \
-			    $( compgen -W '--install --remove --auto --display \
-			       --config' -- "$cur" ) )
-	esac
+    case $mode in
+    --install)
+        case $args in
+        1)
+            _filedir
+            ;;
+        2)
+            _installed_alternatives
+            ;;
+        3)
+            _filedir
+            ;;
+        esac
+        ;;
+    --remove)
+        case $args in
+        1)
+            _installed_alternatives
+            ;;
+        2)
+            _filedir
+            ;;
+        esac
+        ;;
+    --auto)
+        _installed_alternatives
+        ;;
+    --remove-all)
+        _installed_alternatives
+        ;;
+    --display)
+        _installed_alternatives
+        ;;
+    --config)
+        _installed_alternatives
+        ;;
+    *)
+        COMPREPLY=( $( compgen -W '--verbose --quiet --help --version \
+                   --altdir --admindir' -- "$cur" ) \
+                $( compgen -W '--install --remove --auto --display \
+                   --config' -- "$cur" ) )
+    esac
 }
 complete -F _update_alternatives update-alternatives alternatives
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/vncviewer b/contrib/vncviewer
index 31bdb22..7e9c00d 100644
--- a/contrib/vncviewer
+++ b/contrib/vncviewer
@@ -2,57 +2,57 @@
 
 have vncviewer &&
 _vncviewer_bootstrap() {
-	local fname
-	case "$(_realcommand vncviewer)" in
-		# If `vncviewer' not installed, default file-dir completion
-		'') _filedir `_get_cword` ;;
-		*xvnc4viewer)      fname=_xvnc4viewer    ;;
-		*tightvncviewer|*) fname=_tightvncviewer ;;
-	esac
-	if [ $fname ]; then
-		# Install real completion for subsequent completions
-		complete -F $fname vncviewer
-		$fname  # Generate completions once for now
-		unset -f _vncviewer_bootstrap
-	fi
+    local fname
+    case "$(_realcommand vncviewer)" in
+        # If `vncviewer' not installed, default file-dir completion
+        '') _filedir `_get_cword` ;;
+        *xvnc4viewer)      fname=_xvnc4viewer    ;;
+        *tightvncviewer|*) fname=_tightvncviewer ;;
+    esac
+    if [ $fname ]; then
+        # Install real completion for subsequent completions
+        complete -F $fname vncviewer
+        $fname  # Generate completions once for now
+        unset -f _vncviewer_bootstrap
+    fi
 } &&
 complete -F _vncviewer_bootstrap vncviewer
 
 have tightvncviewer &&
 _tightvncviewer()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		-passwd)
-			_filedir
-			return 0
-			;;
-		-encodings)
-			COMPREPLY=( $( compgen -W 'copyrect tight hextile zlib \
-				corre rre raw' -- "$cur" ) )
-			return 0
-			;;
-		-via)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
+    case $prev in
+        -passwd)
+            _filedir
+            return 0
+            ;;
+        -encodings)
+            COMPREPLY=( $( compgen -W 'copyrect tight hextile zlib \
+                corre rre raw' -- "$cur" ) )
+            return 0
+            ;;
+        -via)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
 
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-help -listen -via -shared -noshared\
-			-viewonly -fullscreen -noraiseonbeep -passwd -encodings\
-			-bgr233 -owncmap -truecolour -truecolor -depth \
-			-compresslevel -quality -nojpeg -nocursorshape \
-			-x11cursor' -- $cur ) )
-	else
-		_known_hosts_real "$cur"
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-help -listen -via -shared -noshared\
+            -viewonly -fullscreen -noraiseonbeep -passwd -encodings\
+            -bgr233 -owncmap -truecolour -truecolor -depth \
+            -compresslevel -quality -nojpeg -nocursorshape \
+            -x11cursor' -- $cur ) )
+    else
+        _known_hosts_real "$cur"
+    fi
 } &&
 complete -F _tightvncviewer tightvncviewer
 
@@ -62,71 +62,71 @@ complete -F _tightvncviewer tightvncviewer
 have xvnc4viewer &&
 _xvnc4viewer()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	# Convert double dash to single dash
-	case ${prev/#--/-} in
-		# -passwd, -PasswordFile
-		-[pP][aA][sS][sS][wW][dD]|-[pP][aA][sS][sS][wW][oO][rR][dD][fF][iI][lL][eE])
-			_filedir
-			return 0
-			;;
-		# -PreferredEncoding
-		-[pP][rR][eE][fF][eE][rR][rR][eE][dD][eE][nN][cC][oO][dD][iI][nN][gG])
-			COMPREPLY=( $( compgen -W 'zrle hextile raw' -- $cur ) )
-			return 0
-			;;
-		# -via
-		-[vV][iI][aA])
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
+    # Convert double dash to single dash
+    case ${prev/#--/-} in
+        # -passwd, -PasswordFile
+        -[pP][aA][sS][sS][wW][dD]|-[pP][aA][sS][sS][wW][oO][rR][dD][fF][iI][lL][eE])
+            _filedir
+            return 0
+            ;;
+        # -PreferredEncoding
+        -[pP][rR][eE][fF][eE][rR][rR][eE][dD][eE][nN][cC][oO][dD][iI][nN][gG])
+            COMPREPLY=( $( compgen -W 'zrle hextile raw' -- $cur ) )
+            return 0
+            ;;
+        # -via
+        -[vV][iI][aA])
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* || "$cur" == --* ]]; then
-		# Default to vncviewer camelcase options, see `vncviewer -help'
-		local dash options=( \
-			AcceptClipboard AutoSelect DebugDelay display \
-			DotWhenNoCursor FullColor FullColour FullScreen \
-			geometry help listen Log \
-			LowColourLevel MenuKey name Parent \
-			passwd PasswordFile PointerEventInterval PreferredEncoding \
-			SendClipboard SendPrimary Shared UseLocalCursor \
-			via ViewOnly WMDecorationHeight WMDecorationWidth \
-			ZlibLevel \
-		)
-		[[ "$cur" == --* ]] && dash=-- || dash=-
-		# Is a `nocasematch' variable available (bash > v3.1)?
-		if shopt nocasematch 2> /dev/null | grep -q ^nocasematch; then
-			# Variable `nocasematch' is available
-			# Use vncviewer camelcase options
-			local option oldNoCaseMatch=$(shopt -p nocasematch)
-			shopt -s nocasematch
-			COMPREPLY=( $( for option in "${options[@]}"; do
-				[[ $dash$option == "$cur"* ]] && echo $dash$option
-			done ) )
-			eval "$oldNoCaseMatch" 2> /dev/null
-		else
-			# Variable 'nocasematch' isn't available;
-			# Convert completions to lowercase
-			COMPREPLY=( $( compgen -W "$(
-			    echo ${options[@]/#/$dash} | tr [:upper:] [:lower:]
-			)" -- "$(echo "$cur" | tr [:upper:] [:lower:])" ) )
-		fi
-	else
-		_known_hosts_real "$cur"
-	fi
+    if [[ "$cur" == -* || "$cur" == --* ]]; then
+        # Default to vncviewer camelcase options, see `vncviewer -help'
+        local dash options=( \
+            AcceptClipboard AutoSelect DebugDelay display \
+            DotWhenNoCursor FullColor FullColour FullScreen \
+            geometry help listen Log \
+            LowColourLevel MenuKey name Parent \
+            passwd PasswordFile PointerEventInterval PreferredEncoding \
+            SendClipboard SendPrimary Shared UseLocalCursor \
+            via ViewOnly WMDecorationHeight WMDecorationWidth \
+            ZlibLevel \
+        )
+        [[ "$cur" == --* ]] && dash=-- || dash=-
+        # Is a `nocasematch' variable available (bash > v3.1)?
+        if shopt nocasematch 2> /dev/null | grep -q ^nocasematch; then
+            # Variable `nocasematch' is available
+            # Use vncviewer camelcase options
+            local option oldNoCaseMatch=$(shopt -p nocasematch)
+            shopt -s nocasematch
+            COMPREPLY=( $( for option in "${options[@]}"; do
+                [[ $dash$option == "$cur"* ]] && echo $dash$option
+            done ) )
+            eval "$oldNoCaseMatch" 2> /dev/null
+        else
+            # Variable 'nocasematch' isn't available;
+            # Convert completions to lowercase
+            COMPREPLY=( $( compgen -W "$(
+                echo ${options[@]/#/$dash} | tr [:upper:] [:lower:]
+                )" -- "$(echo "$cur" | tr [:upper:] [:lower:])" ) )
+        fi
+    else
+        _known_hosts_real "$cur"
+    fi
 } &&
 complete -F _xvnc4viewer xvnc4viewer
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/vpnc b/contrib/vpnc
index 0c44877..aaf0300 100644
--- a/contrib/vpnc
+++ b/contrib/vpnc
@@ -3,49 +3,48 @@
 have vpnc &&
 _vpnc()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		--pfs)
-			COMPREPLY=( $( compgen -W 'nopfs dh1 dh2 dh5 server' \
-				-- "$cur" ) )
-			return 0
-			;;
-		--pfs)
-			COMPREPLY=( $( compgen -W 'dh1 dh2 dh5' -- "$cur" ) )
-			return 0
-			;;
-		--@(pid-file|script))
-			_filedir
-			return 0
-			;;
-		--gateway)
-			_known_hosts_real "$cur"
-			return 0
-			;;
-	esac
+    case $prev in
+        --pfs)
+            COMPREPLY=( $( compgen -W 'nopfs dh1 dh2 dh5 server' -- "$cur" ) )
+            return 0
+            ;;
+        --pfs)
+            COMPREPLY=( $( compgen -W 'dh1 dh2 dh5' -- "$cur" ) )
+            return 0
+            ;;
+        --@(pid-file|script))
+            _filedir
+            return 0
+            ;;
+        --gateway)
+            _known_hosts_real "$cur"
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '--version --print-config --help \
-			--long-help --gateway --id --username --udp --domain \
-			--xauth-inter --script --dh --pfs --enable-1des \
-			--application-version --ifname --debug --no-detach \
-			--pid-file --local-port  --udp-port --disable-natt \
-			--non-inter' -- "$cur" ) )
-	else
-		COMPREPLY=( $( compgen -W '$( command ls /etc/vpnc )' -- "$cur" ) )
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--version --print-config --help \
+            --long-help --gateway --id --username --udp --domain \
+            --xauth-inter --script --dh --pfs --enable-1des \
+            --application-version --ifname --debug --no-detach \
+            --pid-file --local-port  --udp-port --disable-natt \
+            --non-inter' -- "$cur" ) )
+    else
+        COMPREPLY=( $( compgen -W '$( command ls /etc/vpnc )' -- "$cur" ) )
+    fi
 } &&
 complete -F _vpnc vpnc
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/wireless-tools b/contrib/wireless-tools
index 5b4888a..22da1b2 100644
--- a/contrib/wireless-tools
+++ b/contrib/wireless-tools
@@ -6,97 +6,90 @@
 have iwconfig &&
 _iwconfig()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case $prev in
-		mode)
-			COMPREPLY=( $( compgen -W 'managed ad-hoc master \
-				repeater secondary monitor' -- "$cur" ) )
-			return 0
-			;;
-		essid)
-			COMPREPLY=( $( compgen -W 'on off any' -- "$cur" ) )
-			if [ -n "${COMP_IWLIST_SCAN:-}" ]; then
-				COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
-					"$( iwlist ${COMP_WORDS[1]} scan | \
-					awk -F '\"' '/ESSID/ {print $2}' )" \
-					-- "$cur" ) )
-			fi
-			return 0
-			;;
-		nwid)
-			COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
-			return 0
-			;;
-		channel)
-			COMPREPLY=( $( compgen -W \
-				"$( iwlist ${COMP_WORDS[1]} channel | \
-				awk '/^[[:space:]]*Channel/ {print $2}' )" \
-				-- "$cur" ) )
-			return 0
-			;;
-
-		freq)
-			COMPREPLY=( $( compgen -W \
-				"$( iwlist ${COMP_WORDS[1]} channel | \
-				awk '/^[[:space:]]*Channel/ {print $4\"G\"}')" \
-				-- "$cur" ) )
-			return 0
-			;;
-		ap)
-			COMPREPLY=( $( compgen -W 'on off any' -- "$cur" ) )
-			if [ -n "${COMP_IWLIST_SCAN:-}" ]; then
-				COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
-					"$( iwlist ${COMP_WORDS[1]} scan | \
-					awk -F ': ' '/Address/ {print $2}' )" \
-					-- "$cur" ) )
-			fi
-			return 0
-			;;
-		rate)
-			COMPREPLY=( $( compgen -W 'auto fixed' -- "$cur" ) )
-			COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
-				"$( iwlist ${COMP_WORDS[1]} rate | \
-				awk '/^[[:space:]]*[0-9]/ {print $1\"M\"}' )" \
-				-- "$cur" ) )
-			return 0
-			;;
-		rts|frag)
-			COMPREPLY=( $( compgen -W 'auto fixed off' -- "$cur" ) )
-			return 0
-			;;
-		key|enc)
-			COMPREPLY=( $( compgen -W 'off on open restricted' -- "$cur" ) )
-			return 0
-			;;
-		power)
-			COMPREPLY=( $( compgen -W 'period timeout off on' -- "$cur" ) )
-			return 0
-			;;
-		txpower)
-			COMPREPLY=( $( compgen -W 'off on auto' -- "$cur" ) )
-			return 0
-			;;
-		retry)
-			COMPREPLY=( $( compgen -W 'limit lifetime' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [ $COMP_CWORD -eq 1 ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
-		else
-			_available_interfaces -w
-		fi
-	else
-		COMPREPLY=( $( compgen -W 'essid nwid mode freq channel sens mode \
-			ap nick rate rts frag enc key power txpower commit' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case $prev in
+        mode)
+            COMPREPLY=( $( compgen -W 'managed ad-hoc master \
+                repeater secondary monitor' -- "$cur" ) )
+            return 0
+            ;;
+        essid)
+            COMPREPLY=( $( compgen -W 'on off any' -- "$cur" ) )
+            if [ -n "${COMP_IWLIST_SCAN:-}" ]; then
+                COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
+                    "$( iwlist ${COMP_WORDS[1]} scan | \
+                    awk -F '\"' '/ESSID/ {print $2}' )" -- "$cur" ) )
+            fi
+            return 0
+            ;;
+        nwid)
+            COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
+            return 0
+            ;;
+        channel)
+            COMPREPLY=( $( compgen -W "$( iwlist ${COMP_WORDS[1]} channel | \
+                awk '/^[[:space:]]*Channel/ {print $2}' )" -- "$cur" ) )
+            return 0
+            ;;
+
+        freq)
+            COMPREPLY=( $( compgen -W "$( iwlist ${COMP_WORDS[1]} channel | \
+                awk '/^[[:space:]]*Channel/ {print $4\"G\"}')" -- "$cur" ) )
+            return 0
+            ;;
+        ap)
+            COMPREPLY=( $( compgen -W 'on off any' -- "$cur" ) )
+            if [ -n "${COMP_IWLIST_SCAN:-}" ]; then
+                COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
+                    "$( iwlist ${COMP_WORDS[1]} scan | \
+                    awk -F ': ' '/Address/ {print $2}' )" -- "$cur" ) )
+            fi
+            return 0
+            ;;
+        rate)
+            COMPREPLY=( $( compgen -W 'auto fixed' -- "$cur" ) )
+            COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W \
+                "$( iwlist ${COMP_WORDS[1]} rate | \
+                awk '/^[[:space:]]*[0-9]/ {print $1\"M\"}' )" -- "$cur" ) )
+            return 0
+            ;;
+        rts|frag)
+            COMPREPLY=( $( compgen -W 'auto fixed off' -- "$cur" ) )
+            return 0
+            ;;
+        key|enc)
+            COMPREPLY=( $( compgen -W 'off on open restricted' -- "$cur" ) )
+            return 0
+            ;;
+        power)
+            COMPREPLY=( $( compgen -W 'period timeout off on' -- "$cur" ) )
+            return 0
+            ;;
+        txpower)
+            COMPREPLY=( $( compgen -W 'off on auto' -- "$cur" ) )
+            return 0
+            ;;
+        retry)
+            COMPREPLY=( $( compgen -W 'limit lifetime' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [ $COMP_CWORD -eq 1 ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
+        else
+            _available_interfaces -w
+        fi
+    else
+        COMPREPLY=( $( compgen -W 'essid nwid mode freq channel sens mode \
+            ap nick rate rts frag enc key power txpower commit' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _iwconfig iwconfig
@@ -105,23 +98,23 @@ complete -F _iwconfig iwconfig
 have iwlist &&
 _iwlist()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	if [ $COMP_CWORD -eq 1 ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
-		else
-			_available_interfaces -w
-		fi
-	else
-		COMPREPLY=( $( compgen -W 'scan scanning freq frequency \
-			channel rate bit bitrate key enc encryption power \
-			txpower retry ap accesspoint peers event' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    if [ $COMP_CWORD -eq 1 ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
+        else
+            _available_interfaces -w
+        fi
+    else
+        COMPREPLY=( $( compgen -W 'scan scanning freq frequency \
+            channel rate bit bitrate key enc encryption power \
+            txpower retry ap accesspoint peers event' -- "$cur" ) )
+    fi
 } &&
 complete -F _iwlist iwlist
 
@@ -129,20 +122,20 @@ complete -F _iwlist iwlist
 have iwspy &&
 _iwspy()
 {
-	local cur
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	if [ $COMP_CWORD -eq 1 ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
-		else
-			_available_interfaces -w
-		fi
-	else
-		COMPREPLY=( $( compgen -W 'setthr getthr off' -- "$cur" ) )
-	fi
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    if [ $COMP_CWORD -eq 1 ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
+        else
+            _available_interfaces -w
+        fi
+    else
+        COMPREPLY=( $( compgen -W 'setthr getthr off' -- "$cur" ) )
+    fi
 } &&
 complete -F _iwspy iwspy
 
@@ -150,32 +143,32 @@ complete -F _iwspy iwspy
 have iwpriv &&
 _iwpriv()
 {
-	local cur prev
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		roam)
-			COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
-			return 0
-			;;
-		port)
-			COMPREPLY=( $( compgen -W 'ad-hoc managed' -- "$cur" ) )
-			return 0
-			;;
-	esac
-
-	if [ $COMP_CWORD -eq 1 ]; then
-		if [[ "$cur" == -* ]]; then
-			COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
-		else
-			_available_interfaces -w
-		fi
-	else
-		COMPREPLY=( $( compgen -W '--all roam port' -- "$cur" ) )
-	fi
+    local cur prev
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    case "$prev" in
+        roam)
+            COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) )
+            return 0
+            ;;
+        port)
+            COMPREPLY=( $( compgen -W 'ad-hoc managed' -- "$cur" ) )
+            return 0
+            ;;
+    esac
+
+    if [ $COMP_CWORD -eq 1 ]; then
+        if [[ "$cur" == -* ]]; then
+            COMPREPLY=( $( compgen -W '--help --version' -- "$cur" ) )
+        else
+            _available_interfaces -w
+        fi
+    else
+        COMPREPLY=( $( compgen -W '--all roam port' -- "$cur" ) )
+    fi
 } &&
 complete -F _iwpriv iwpriv
 
@@ -183,8 +176,8 @@ complete -F _iwpriv iwpriv
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/wodim b/contrib/wodim
index 6924812..6359ec5 100644
--- a/contrib/wodim
+++ b/contrib/wodim
@@ -3,82 +3,83 @@
 have cdrecord || have wodim &&
 _cdrecord()
 {
-	local cur prev i generic_options track_options track_mode
+    local cur prev i generic_options track_options track_mode
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	# foo=bar style option
-	if [[ "$cur" == *=* ]]; then
-		prev=${cur/=*/}
-		cur=${cur/*=/}
-		case "$prev" in
-			@(text|cue)file)
-				_filedir
-				return 0
-				;;
-			blank)
-				COMPREPLY=( $( compgen -W 'help all fast \
-				track unreserve trtail unclose session' \
-				-- "$cur" ) )
-				return 0
-				;;
-			driveropts)
-				COMPREPLY=( $( compgen -W 'burnfree noburnfree\
-				  varirec= audiomaster forcespeed noforcespeed\
-				  speedread nospeedread singlesession \
-				  nosinglesession hidecdr nohidecdr tattooinfo\
-				  tattoofile=' -- "$cur" ) )
-				return 0
-				;;
-		esac
-	fi
+    # foo=bar style option
+    if [[ "$cur" == *=* ]]; then
+        prev=${cur/=*/}
+        cur=${cur/*=/}
+        case "$prev" in
+            @(text|cue)file)
+                _filedir
+                return 0
+                ;;
+            blank)
+                COMPREPLY=( $( compgen -W 'help all fast \
+                    track unreserve trtail unclose session' \
+                    -- "$cur" ) )
+                return 0
+                ;;
+            driveropts)
+                COMPREPLY=( $( compgen -W 'burnfree noburnfree\
+                    varirec= audiomaster forcespeed noforcespeed\
+                    speedread nospeedread singlesession \
+                    nosinglesession hidecdr nohidecdr tattooinfo\
+                    tattoofile=' -- "$cur" ) )
+                return 0
+                ;;
+        esac
+    fi
 
-	generic_options=(-version -v -V -d -silent -s -force -immed -dummy \
-			 -dao -raw -raw96r -raw96p -raw16 -multi -msinfo -toc \
-			 -atip -fix -nofix -waiti -load -lock -eject -format \
-			 -setdropts -checkdrive -prcap -inq -scanbus -reset \
-			 -abort -overburn -ignsize -useinfo -packet -noclose \
-			 -text debug= kdebug= kd= minbuf= speed= blank= fs= \
-			 dev= gracetime= timeout= driver= driveropts= \
-			 defpregap= pktsize= mcn= textfile= cuefile=)
-	track_options=(-audio -swab -data -mode2 -xa -xa1 -xa2 -xamix -cdi \
-		       -isosize -pad padsize= -nopad -shorttrack -noshorttrack\
-		       pregap= -preemp -nopreemp -copy -nocopy -scms tcsize= \
-		       isrc= index=)
-	# look if previous was either a file or a track option
-	track_mode=0
-	if [ $COMP_CWORD -gt 1 ]; then
-		if [ -f "$prev" ]; then
-			track_mode=1
-		else
-			for (( i=0; i < ${#track_options[@]}; i++ )); do
-				if [[ "${track_options[i]}" == "$prev" ]]; then
-					track_mode=1
-					break
-				fi
-			done
-		fi
-	fi
+    generic_options=(-version -v -V -d -silent -s -force -immed -dummy \
+        -dao -raw -raw96r -raw96p -raw16 -multi -msinfo -toc \
+        -atip -fix -nofix -waiti -load -lock -eject -format \
+        -setdropts -checkdrive -prcap -inq -scanbus -reset \
+        -abort -overburn -ignsize -useinfo -packet -noclose \
+        -text debug= kdebug= kd= minbuf= speed= blank= fs= \
+        dev= gracetime= timeout= driver= driveropts= \
+        defpregap= pktsize= mcn= textfile= cuefile=)
+    track_options=(-audio -swab -data -mode2 -xa -xa1 -xa2 -xamix -cdi \
+        -isosize -pad padsize= -nopad -shorttrack -noshorttrack\
+        pregap= -preemp -nopreemp -copy -nocopy -scms tcsize= \
+        isrc= index=)
+    # look if previous was either a file or a track option
+    track_mode=0
+    if [ $COMP_CWORD -gt 1 ]; then
+        if [ -f "$prev" ]; then
+            track_mode=1
+        else
+            for (( i=0; i < ${#track_options[@]}; i++ )); do
+                if [[ "${track_options[i]}" == "$prev" ]]; then
+                    track_mode=1
+                    break
+                fi
+            done
+        fi
+    fi
 
-	# files are always eligible completion
-	_filedir
-	# track options are always available
-	COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W '${track_options[@]}' -- "$cur" ) )
-	# general options are no more available after file or track option
-	if [ $track_mode -eq 0 ]; then
-		COMPREPLY=( "${COMPREPLY[@]}" \
-			    $( compgen -W '${generic_options[@]}' -- "$cur" ) )
-	fi
+    # files are always eligible completion
+    _filedir
+    # track options are always available
+    COMPREPLY=( "${COMPREPLY[@]}" \
+        $( compgen -W '${track_options[@]}' -- "$cur" ) )
+    # general options are no more available after file or track option
+    if [ $track_mode -eq 0 ]; then
+        COMPREPLY=( "${COMPREPLY[@]}" \
+            $( compgen -W '${generic_options[@]}' -- "$cur" ) )
+    fi
 
 } &&
 complete -F _cdrecord $filenames cdrecord wodim
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/wvdial b/contrib/wvdial
index 694cd27..9081f6f 100644
--- a/contrib/wvdial
+++ b/contrib/wvdial
@@ -3,52 +3,51 @@
 have wvdial &&
 _wvdial()
 {
-	local cur prev config i IFS=$'\t\n'
+    local cur prev config i IFS=$'\t\n'
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case $prev in
-		--config)
-			_filedir
-			return 0
-			;;
-	esac
+    case $prev in
+        --config)
+            _filedir
+            return 0
+            ;;
+    esac
 
-	case $cur in
-		-*)
-			COMPREPLY=( $( compgen -W '--config --chat \
-				--remotename --help --version --no-syslog' \
-				-- "$cur" ) )
-			;;
-		*)
-			# start with global and personal config files
-		       	config="/etc/wvdial.conf"$'\t'"$HOME/.wvdialrc"
-			# replace with command line config file if present
-			for (( i=1; i < COMP_CWORD; i++ )); do
-				if [[ "${COMP_WORDS[i]}" == "--config" ]]; then
-					config=${COMP_WORDS[i+1]}
-					break
-				fi
-			done
-			# parse config files for sections and
-			# remove default section
-			COMPREPLY=( $( sed -ne \
-				    "s|^\[Dialer \($cur.*\)\]$|\1|p" \
-				    $config 2>/dev/null |grep -v '^Defaults$'))
-			# escape spaces
-			COMPREPLY=${COMPREPLY// /\\ }
-			;;
-	esac
+    case $cur in
+        -*)
+            COMPREPLY=( $( compgen -W '--config --chat \
+                --remotename --help --version --no-syslog' \
+                -- "$cur" ) )
+            ;;
+        *)
+            # start with global and personal config files
+            config="/etc/wvdial.conf"$'\t'"$HOME/.wvdialrc"
+            # replace with command line config file if present
+            for (( i=1; i < COMP_CWORD; i++ )); do
+                if [[ "${COMP_WORDS[i]}" == "--config" ]]; then
+                    config=${COMP_WORDS[i+1]}
+                    break
+                fi
+            done
+            # parse config files for sections and
+            # remove default section
+            COMPREPLY=( $( sed -ne "s|^\[Dialer \($cur.*\)\]$|\1|p" $config \
+                2>/dev/null |grep -v '^Defaults$'))
+            # escape spaces
+            COMPREPLY=${COMPREPLY// /\\ }
+            ;;
+    esac
 
 } &&
 complete -F _wvdial wvdial
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/xhost b/contrib/xhost
index 06f19b9..006c961 100644
--- a/contrib/xhost
+++ b/contrib/xhost
@@ -3,22 +3,22 @@
 have xhost &&
 _xhost ()
 {
-	local cur=`_get_cword`
+    local cur=`_get_cword`
 
-	case "$cur" in
-		+*) _known_hosts_real -p+ "${cur:1}" ;;
-		-*) _known_hosts_real -p- "${cur:1}" ;;
-		*)  _known_hosts_real "$cur" ;;
-	esac
+    case "$cur" in
+        +*) _known_hosts_real -p+ "${cur:1}" ;;
+        -*) _known_hosts_real -p- "${cur:1}" ;;
+        *)  _known_hosts_real "$cur" ;;
+    esac
 
-	return 0
+    return 0
 }
 complete -F _xhost xhost
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/xm b/contrib/xm
index e7f06c3..b8337e5 100644
--- a/contrib/xm
+++ b/contrib/xm
@@ -3,223 +3,229 @@
 have xm && {
 _xen_domain_names()
 {
-	COMPREPLY=( $(compgen -W "$( xm list 2>/dev/null | awk '!/Name|Domain-0/ { print $1 }'  )" -- "$cur") )
+    COMPREPLY=( $(compgen -W "$( xm list 2>/dev/null | \
+        awk '!/Name|Domain-0/ { print $1 }'  )" -- "$cur") )
 }
 
 _xen_domain_ids()
 {
-	COMPREPLY=( $(compgen -W "$( xm list 2>/dev/null | awk '!/Name|Domain-0/ { print $2 }' )" -- "$cur") )
+    COMPREPLY=( $(compgen -W "$( xm list 2>/dev/null | \
+        awk '!/Name|Domain-0/ { print $2 }' )" -- "$cur") )
 }
 
 _xm()
 {
-	# TODO: _split_longopt
+    # TODO: _split_longopt
 
-	local cur prev command options
+    local cur prev command options
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	commands='console create new delete destroy domid domname dump-core \
-		list mem-max mem-set migrate pause reboot rename restore \
-		resume save shutdown start suspend sysrq trigger top unpause \
-		uptime vcpu-list vcpu-pin vcpu-set debug-keys dmesg info log \
-		serve sched-credit sched-sedf block-attach block-detach \
-		block-list network-attach network-detach network-list \
-		vtpm-list vnet-list vnet-create vnet-delete labels addlabel \
-		rmlabel getlabel dry-run resources makepolicy loadpolicy \
-		cfgbootpolicy dumppolicy help'
+    commands='console create new delete destroy domid domname dump-core \
+        list mem-max mem-set migrate pause reboot rename restore \
+        resume save shutdown start suspend sysrq trigger top unpause \
+        uptime vcpu-list vcpu-pin vcpu-set debug-keys dmesg info log \
+        serve sched-credit sched-sedf block-attach block-detach \
+        block-list network-attach network-detach network-list \
+        vtpm-list vnet-list vnet-create vnet-delete labels addlabel \
+        rmlabel getlabel dry-run resources makepolicy loadpolicy \
+        cfgbootpolicy dumppolicy help'
 
-	if [[ $COMP_CWORD -eq 1 ]] ; then
-		COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
-	else
-		prev=${COMP_WORDS[COMP_CWORD-1]}
-		if [[ "$cur" == *=* ]]; then
-			prev=${cur/=*/}
-			cur=${cur/*=/}
-		fi
+    if [[ $COMP_CWORD -eq 1 ]] ; then
+        COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
+    else
+        prev=${COMP_WORDS[COMP_CWORD-1]}
+        if [[ "$cur" == *=* ]]; then
+            prev=${cur/=*/}
+            cur=${cur/*=/}
+        fi
 
-		command=${COMP_WORDS[1]}
-		if [[ "$cur" == -* ]]; then
-			# possible options for the command
-			case $command in
-				create)
-					options='-c'
-					;;
-				dmesg)
-					options='--clear'
-					;;
-				list)
-					options='--long'
-					;;
-				reboot)
-					options='-w -a'
-					;;
-				shutdown)
-					options='-w -a -R -H'
-					;;
-				sched-credit)
-					options='-d -w -c'
-					;;
-				@(block|network|vtpm|vnet)-list)
-					options='-l --long'
-					;;
-				getpolicy)
-					options='--dumpxml'
-					;;
-				new)
-					options='-h --help --help_config -q \
-						--quiet --path= -f= \
-						--defconfig= -F= --config= \
-						-b --dryrun -x --xmldryrun \
-						-s --skipdtd -p --paused -c \
-						--console_autoconnect'
-					;;
-			esac
-			COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
-		else
-			case $command in
-				@(console|destroy|domname|domid|list|mem-@(set|max)|pause|reboot|rename|shutdown|unpause|vcpu-@(list|pin|set)|block-list|network-list|vtpm-list))
-					_count_args
-					case $args in
-						2)
-							_xen_domain_names
-							;;
-					esac
-					;;
-				migrate)
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-						3)
-							_known_hosts_real "$cur"
-							;;
-					esac
-					;;
-				@(restore|dry-run|vnet-create))
-					_filedir
-					;;
-				save)
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-						3)
-							_filedir
-							;;
-					esac
-					;;
-				sysrq)
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-						3)
-							COMPREPLY=( $(compgen -W "r s e i u b" -- "$cur") )
-							;;
-					esac
-					;;
-				block-attach)
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-						3)
-							COMPREPLY=( $(compgen -W "phy: file:" -- "$cur") )
-							;;
-						5)
-							COMPREPLY=( $(compgen -W "w r" -- "$cur") )
-							;;
-						6)
-							_xen_domain_names
-							;;
-					esac
-					;;
-				block-detach)
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-						3)
-							COMPREPLY=( $(compgen -W "$( xm block-list $prev 2>/dev/null | awk '!/Vdev/ { print $1 }' )" -- "$cur") )
-							;;
-					esac
-					;;
-				network-attach)
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-						*)
-							COMPREPLY=( $(compgen -W "script= ip= mac= bridge= backend=" -- "$cur") )
-							;;
-					esac
-					;;
-				network-detach)
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-						3)
-							COMPREPLY=( $(compgen -W "$( xm network-list $prev 2>/dev/null | awk '!/Idx/ { print $1 }' )" -- "$cur") )
-							;;
-					esac
-					;;
-				sched-credit)
-				        case $prev in
-						-d)
-							_xen_domain_names
-							return 0
-							;;
-					esac
-					;;
-				create)
-					_filedir
-					COMPREPLY=( ${COMPREPLY[@]:-} \
-						$( compgen -W '$( command ls \
-						/etc/xen 2>/dev/null )' \
-						-- "$cur" ) )
-					;;
-				new)
-					case $prev in
-						-@(f|F|-defconfig|-config))
-							_filedir
-							return 0
-							;;
-						--path)
-							_filedir -d
-							return 0
-							;;
-					esac
+        command=${COMP_WORDS[1]}
+        if [[ "$cur" == -* ]]; then
+            # possible options for the command
+            case $command in
+                create)
+                    options='-c'
+                    ;;
+                dmesg)
+                    options='--clear'
+                    ;;
+                list)
+                    options='--long'
+                    ;;
+                reboot)
+                    options='-w -a'
+                    ;;
+                shutdown)
+                    options='-w -a -R -H'
+                    ;;
+                sched-credit)
+                    options='-d -w -c'
+                    ;;
+                @(block|network|vtpm|vnet)-list)
+                    options='-l --long'
+                    ;;
+                getpolicy)
+                    options='--dumpxml'
+                    ;;
+                new)
+                    options='-h --help --help_config -q \
+                        --quiet --path= -f= \
+                        --defconfig= -F= --config= \
+                        -b --dryrun -x --xmldryrun \
+                        -s --skipdtd -p --paused -c \
+                        --console_autoconnect'
+                    ;;
+            esac
+            COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
+        else
+            case $command in
+                @(console|destroy|domname|domid|list|mem-@(set|max)|pause|reboot|rename|shutdown|unpause|vcpu-@(list|pin|set)|block-list|network-list|vtpm-list))
+                    _count_args
+                    case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                    esac
+                    ;;
+                migrate)
+                    _count_args
+                        case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                        3)
+                            _known_hosts_real "$cur"
+                            ;;
+                    esac
+                    ;;
+                @(restore|dry-run|vnet-create))
+                    _filedir
+                    ;;
+                save)
+                    _count_args
+                    case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                        3)
+                            _filedir
+                            ;;
+                    esac
+                    ;;
+                sysrq)
+                    _count_args
+                    case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                        3)
+                            COMPREPLY=( $(compgen -W "r s e i u b" -- "$cur") )
+                            ;;
+                    esac
+                    ;;
+                block-attach)
+                    _count_args
+                    case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                        3)
+                            COMPREPLY=( $(compgen -W "phy: file:" -- "$cur") )
+                            ;;
+                        5)
+                            COMPREPLY=( $(compgen -W "w r" -- "$cur") )
+                            ;;
+                        6)
+                            _xen_domain_names
+                            ;;
+                    esac
+                    ;;
+                block-detach)
+                    _count_args
+                    case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                        3)
+                            COMPREPLY=( $(compgen -W "$( xm block-list $prev \
+                                2>/dev/null | awk '!/Vdev/ { print $1 }' )" \
+                                -- "$cur") )
+                            ;;
+                    esac
+                    ;;
+                network-attach)
+                    _count_args
+                    case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                        *)
+                            COMPREPLY=( $(compgen -W "script= ip= mac= \
+                                bridge= backend=" -- "$cur") )
+                            ;;
+                    esac
+                    ;;
+                network-detach)
+                    _count_args
+                    case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                        3)
+                            COMPREPLY=( $(compgen -W "$( xm network-list $prev \
+                                2>/dev/null | awk '!/Idx/ { print $1 }' )" \
+                                -- "$cur") )
+                            ;;
+                    esac
+                    ;;
+                sched-credit)
+                    case $prev in
+                        -d)
+                            _xen_domain_names
+                            return 0
+                            ;;
+                    esac
+                    ;;
+                create)
+                    _filedir
+                    COMPREPLY=( ${COMPREPLY[@]:-} \
+                        $( compgen -W '$( command ls /etc/xen 2>/dev/null )' \
+                        -- "$cur" ) )
+                    ;;
+                new)
+                    case $prev in
+                        -@(f|F|-defconfig|-config))
+                            _filedir
+                            return 0
+                            ;;
+                        --path)
+                            _filedir -d
+                            return 0
+                            ;;
+                    esac
 
-					_count_args
-				        case $args in
-						2)
-							_xen_domain_names
-							;;
-					esac
-					;;
-			esac
-		fi
-	fi
+                    _count_args
+                        case $args in
+                        2)
+                            _xen_domain_names
+                            ;;
+                    esac
+                    ;;
+            esac
+        fi
+    fi
 
-	return 0
+    return 0
 }
 complete -F _xm xm
 }
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/xmllint b/contrib/xmllint
index 973352c..ff201ec 100644
--- a/contrib/xmllint
+++ b/contrib/xmllint
@@ -3,54 +3,54 @@
 have xmllint &&
 _xmllint()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-o|--output)
-			_filedir
-			return 0
-			;;
-		--path|--dtdvalidfpi|--maxmem|--encode|--pattern)
-			# argument required but no completions available
-			return 0
-			;;
-		--dtdvalid)
-			_filedir dtd
-			return 0
-			;;
-		--relaxng)
-			_filedir rng
-			return 0
-			;;
-		--schema)
-			_filedir xsd
-			return 0
-			;;
-		--schematron)
-			_filedir sch
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -o|--output)
+            _filedir
+            return 0
+            ;;
+        --path|--dtdvalidfpi|--maxmem|--encode|--pattern)
+            # argument required but no completions available
+            return 0
+            ;;
+        --dtdvalid)
+            _filedir dtd
+            return 0
+            ;;
+        --relaxng)
+            _filedir rng
+            return 0
+            ;;
+        --schema)
+            _filedir xsd
+            return 0
+            ;;
+        --schematron)
+            _filedir sch
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '$( xmllint --help 2>&1 | \
-			sed -ne "s/^[[:space:]]*\(--[^[:space:]:]*\).*/\1/p" ) \
-			-o' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '$( xmllint --help 2>&1 | \
+            sed -ne "s/^[[:space:]]*\(--[^[:space:]:]*\).*/\1/p" ) \
+            -o' -- "$cur" ) )
+        return 0
+    fi
 
-	_filedir '@(*ml|htm|svg)'
+    _filedir '@(*ml|htm|svg)'
 } &&
 complete -F _xmllint $filenames xmllint
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/xmlwf b/contrib/xmlwf
index f31d7c9..de8b725 100644
--- a/contrib/xmlwf
+++ b/contrib/xmlwf
@@ -3,38 +3,38 @@
 have xmlwf &&
 _xmlwf()
 {
-	local cur prev
+    local cur prev
 
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		-d)
-			_filedir -d
-			return 0
-			;;
-		-e)
-			COMPREPLY=( $( compgen -W 'US-ASCII UTF-8 UTF-16 \
-				ISO-8859-1' -- "$cur" ) )
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -d)
+            _filedir -d
+            return 0
+            ;;
+        -e)
+            COMPREPLY=( $( compgen -W 'US-ASCII UTF-8 UTF-16 \
+                ISO-8859-1' -- "$cur" ) )
+            return 0
+            ;;
+    esac
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-c -d -e -m -n -p -r -s -t -v -w \
-			-x' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-c -d -e -m -n -p -r -s -t -v -w \
+            -x' -- "$cur" ) )
+        return 0
+    fi
 
-	_filedir '@(*ml|htm|svg)'
+    _filedir '@(*ml|htm|svg)'
 } &&
 complete -F _xmlwf $filenames xmlwf
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/xmms b/contrib/xmms
index 7960793..ca49545 100644
--- a/contrib/xmms
+++ b/contrib/xmms
@@ -3,28 +3,28 @@
 have xmms &&
 _xmms()
 {
-	local cur
+    local cur
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-h --help -r --rew -p --play \
-			-u --pause -s --stop -t --play-pause -f --fwd -e \
-			--enqueue -m --show-main-window -i --sm-client-id \
-			-v --version' -- "$cur" ) )
-	else
-		_filedir '@(mp[23]|MP[23]|ogg|OGG|wav|WAV|pls|m3u|xm|mod|s[3t]m|it|mtm|ult|flac)'
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-h --help -r --rew -p --play \
+            -u --pause -s --stop -t --play-pause -f --fwd -e \
+            --enqueue -m --show-main-window -i --sm-client-id \
+            -v --version' -- "$cur" ) )
+    else
+        _filedir '@(mp[23]|MP[23]|ogg|OGG|wav|WAV|pls|m3u|xm|mod|s[3t]m|it|mtm|ult|flac)'
 
-	fi
+    fi
 
 } &&
 complete -F _xmms $filenames xmms
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/xrandr b/contrib/xrandr
index ad48898..cd5c05b 100644
--- a/contrib/xrandr
+++ b/contrib/xrandr
@@ -3,54 +3,54 @@
 have xrandr &&
 _xrandr()
 {
-	local cur prev output modes
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
+    local cur prev output modes
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	case "$prev" in
-		--output)
-			local outputs=$(xrandr|grep 'connected'|awk '{print $1}')
-			COMPREPLY=( $(compgen -W "$outputs" -- "$cur"))
-			return 0
-			;;
-		--mode)
-			for(( i = 1; i < COMP_CWORD; i++ )); do
-				if [[ "${COMP_WORDS[i]}" == "--output" ]]; then
-					output=${COMP_WORDS[i+1]}
-					break
-				fi
-			done
-			modes=$(xrandr|sed -e "1,/$output/ d" \
-			-e "/connected/,$ d"|awk '{print $1}')
-			COMPREPLY=( $( compgen -W "$modes" -- "$cur"))
-			return 0
-			;;
-	esac
+    case "$prev" in
+        --output)
+            local outputs=$(xrandr|grep 'connected'|awk '{print $1}')
+            COMPREPLY=( $(compgen -W "$outputs" -- "$cur"))
+            return 0
+            ;;
+        --mode)
+            for(( i = 1; i < COMP_CWORD; i++ )); do
+                if [[ "${COMP_WORDS[i]}" == "--output" ]]; then
+                    output=${COMP_WORDS[i+1]}
+                    break
+                fi
+            done
+            modes=$(xrandr|sed -e "1,/$output/ d" \
+                -e "/connected/,$ d"|awk '{print $1}')
+            COMPREPLY=( $( compgen -W "$modes" -- "$cur"))
+            return 0
+            ;;
+    esac
 
-	case "$cur" in
-		*)
-			COMPREPLY=( $(compgen -W '-d -display -help -o \
-					--orientation -q --query -s --size\
-					-r --rate -v --version -x -y --screen \
-					--verbose --dryrun --prop --fb \
-					--fbmm --dpi --output --auto --mode \
-					--preferred --pos --reflect --rotate \
-					--left-of --right-of --above --below \
-					--same-as --set --off --crtc --newmode \
-					--rmmode --addmode --delmode' -- "$cur"))
-			return 0
-			;;
-	esac
+    case "$cur" in
+        *)
+            COMPREPLY=( $(compgen -W '-d -display -help -o \
+                    --orientation -q --query -s --size\
+                    -r --rate -v --version -x -y --screen \
+                    --verbose --dryrun --prop --fb \
+                    --fbmm --dpi --output --auto --mode \
+                    --preferred --pos --reflect --rotate \
+                    --left-of --right-of --above --below \
+                    --same-as --set --off --crtc --newmode \
+                    --rmmode --addmode --delmode' -- "$cur"))
+            return 0
+            ;;
+    esac
 
-	return 0
+    return 0
 } &&
 complete -F _xrandr xrandr
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/xz b/contrib/xz
index 6067d69..f271986 100644
--- a/contrib/xz
+++ b/contrib/xz
@@ -3,60 +3,59 @@
 have xz &&
 _xz()
 {
-	COMPREPLY=()
-	local cur=`_get_cword`
-	local prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    local cur=`_get_cword`
+    local prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-z --compress -d --decompress \
-			-t --test -l --list -k --keep -f --force -c --stdout \
-			-S --suffix --files --files0 -F --format -C --check \
-			-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -M --memory --lzma1 \
-			--lzma2 --x86 --powerpc --ia64 --arm --armthumb \
-			--sparc --delta -q --quiet -v --verbose -h --help \
-			-H --long-help -V --version' -- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-z --compress -d --decompress \
+            -t --test -l --list -k --keep -f --force -c --stdout \
+            -S --suffix --files --files0 -F --format -C --check \
+            -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -M --memory --lzma1 \
+            --lzma2 --x86 --powerpc --ia64 --arm --armthumb \
+            --sparc --delta -q --quiet -v --verbose -h --help \
+            -H --long-help -V --version' -- "$cur" ) )
+        return 0
+    fi
 
-	local split=false
-	_split_longopt && split=true
+    local split=false
+    _split_longopt && split=true
 
-	local xspec="*.@(xz|lzma)"
+    local xspec="*.@(xz|lzma)"
 
-	case "$prev" in
-		-@(!(-*)[dlt]*|-decompress|-list|-test))
-			xspec="!"$xspec
-			;;
-		--files|--files0)
-			_filedir
-			return 0
-			;;
-		-C|--check)
-			COMPREPLY=( $( compgen -W 'crc32 crc64 sha256' \
-				-- "$cur" ) )
-			return 0
-			;;
-		-F|--format)
-			COMPREPLY=( $( compgen -W 'auto xz lzma raw' -- "$cur" ) )
-			return 0
-			;;
-		-M|--memory|-S|--suffix|--delta|--lzma1|--lzma2)
-			# argument required but no completions available
-			return 0
-			;;
-		-h|--help|-H|--long-help|-V|--version)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -@(!(-*)[dlt]*|-decompress|-list|-test))
+            xspec="!"$xspec
+            ;;
+        --files|--files0)
+            _filedir
+            return 0
+            ;;
+        -C|--check)
+            COMPREPLY=( $( compgen -W 'crc32 crc64 sha256' -- "$cur" ) )
+            return 0
+            ;;
+        -F|--format)
+            COMPREPLY=( $( compgen -W 'auto xz lzma raw' -- "$cur" ) )
+            return 0
+            ;;
+        -M|--memory|-S|--suffix|--delta|--lzma1|--lzma2)
+            # argument required but no completions available
+            return 0
+            ;;
+        -h|--help|-H|--long-help|-V|--version)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	_expand || return 0
+    _expand || return 0
 
-	local IFS=$'\t\n'
-	COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
-		$( compgen -d -- "$cur" ) )
+    local IFS=$'\t\n'
+    COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
+        $( compgen -d -- "$cur" ) )
 } &&
 complete -F _xz $filenames xz
 
@@ -65,40 +64,40 @@ complete -F _xz $filenames xz
 have xzdec &&
 _xzdec()
 {
-	COMPREPLY=()
-	local cur=`_get_cword`
-	local prev=${COMP_WORDS[COMP_CWORD-1]}
+    COMPREPLY=()
+    local cur=`_get_cword`
+    local prev=${COMP_WORDS[COMP_CWORD-1]}
 
-	if [[ "$cur" == -* ]]; then
-		COMPREPLY=( $( compgen -W '-M --memory -h --help -V --version' \
-			-- "$cur" ) )
-		return 0
-	fi
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '-M --memory -h --help -V --version' \
+            -- "$cur" ) )
+        return 0
+    fi
 
-	local split=false
-	_split_longopt && split=true
+    local split=false
+    _split_longopt && split=true
 
-	case "$prev" in
-		-M|--memory)
-			# argument required but no completions available
-			return 0
-			;;
-		-h|--help|-V|--version)
-			# all other arguments are noop with these
-			return 0
-			;;
-	esac
+    case "$prev" in
+        -M|--memory)
+            # argument required but no completions available
+            return 0
+            ;;
+        -h|--help|-V|--version)
+            # all other arguments are noop with these
+            return 0
+            ;;
+    esac
 
-	$split && return 0
+    $split && return 0
 
-	_filedir xz # no lzma support here as of xz 4.999.8beta
+    _filedir xz # no lzma support here as of xz 4.999.8beta
 } &&
 complete -F _xzdec $filenames xzdec
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/yp-tools b/contrib/yp-tools
index 9f2d7a7..6015527 100644
--- a/contrib/yp-tools
+++ b/contrib/yp-tools
@@ -3,33 +3,33 @@
 have ypmatch &&
 _ypmatch()
 {
-	local cur map
+    local cur map
 
-	COMPREPLY=()
-	cur=`_get_cword`
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	[ $1 = ypcat ] && [ $COMP_CWORD -gt 1 ] && return 0
-	[ $1 = ypmatch ] && [ $COMP_CWORD -gt 2 ] && return 0
+    [ $1 = ypcat ] && [ $COMP_CWORD -gt 1 ] && return 0
+    [ $1 = ypmatch ] && [ $COMP_CWORD -gt 2 ] && return 0
 
-	if [ $1 = ypmatch ] && [ $COMP_CWORD -eq 1 ] && \
-	   [ ${#COMP_WORDS[@]} -eq 3 ]; then
-		map=${COMP_WORDS[2]}
-		COMPREPLY=( $( compgen -W '$( ypcat $map | \
-						cut -d':' -f 1 )' -- "$cur") )
-	else
-		[ $1 = ypmatch ] && [ $COMP_CWORD -ne 2 ] && return 0
-		COMPREPLY=( $( compgen -W \
-			      '$( echo $(ypcat -x | cut -d"\"" -f 2))' -- "$cur"))
-	fi
+    if [ $1 = ypmatch ] && [ $COMP_CWORD -eq 1 ] && \
+       [ ${#COMP_WORDS[@]} -eq 3 ]; then
+        map=${COMP_WORDS[2]}
+        COMPREPLY=( $( compgen -W '$( ypcat $map | \
+            cut -d':' -f 1 )' -- "$cur") )
+    else
+        [ $1 = ypmatch ] && [ $COMP_CWORD -ne 2 ] && return 0
+        COMPREPLY=( $( compgen -W \
+            '$( echo $(ypcat -x | cut -d"\"" -f 2))' -- "$cur"))
+    fi
 
-	return 0
+    return 0
 } &&
 complete -F _ypmatch ypmatch ypcat
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/yum-arch b/contrib/yum-arch
index 0efd492..1cc8320 100644
--- a/contrib/yum-arch
+++ b/contrib/yum-arch
@@ -3,28 +3,28 @@
 have yum-arch &&
 _yum_arch()
 {
-	local cur
-	COMPREPLY=()
-	cur=`_get_cword`
+    local cur
+    COMPREPLY=()
+    cur=`_get_cword`
 
-	case "$cur" in
-		-*)
-			COMPREPLY=( $( compgen -W '-d -v -vv -n -c -z -s -l \
-				-q' -- "$cur" ) )
-			;;
-		*)
-			_filedir -d
-			;;
-	esac
+    case "$cur" in
+        -*)
+            COMPREPLY=( $( compgen -W '-d -v -vv -n -c -z -s -l \
+                -q' -- "$cur" ) )
+            ;;
+        *)
+            _filedir -d
+            ;;
+    esac
 
-	return 0
+    return 0
 } &&
 complete -F _yum_arch $filenames yum-arch
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/test/config/bashrc b/test/config/bashrc
index bc0dd8d..c9fd0f0 100644
--- a/test/config/bashrc
+++ b/test/config/bashrc
@@ -29,8 +29,8 @@ unset -v \
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/test/config/inputrc b/test/config/inputrc
index efd1531..33134da 100644
--- a/test/config/inputrc
+++ b/test/config/inputrc
@@ -14,8 +14,8 @@ set page-completions off
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/test/lib/library.sh b/test/lib/library.sh
index 1efee49..1852c9b 100644
--- a/test/lib/library.sh
+++ b/test/lib/library.sh
@@ -44,8 +44,8 @@ is_bash_version_minimal() {
 
 # Local variables:
 # mode: shell-script
-# sh-basic-offset: 8
+# sh-basic-offset: 4
 # sh-indent-comment: t
-# indent-tabs-mode: t
+# indent-tabs-mode: nil
 # End:
-# ex: ts=8 sw=8 noet filetype=sh
+# ex: ts=4 sw=4 et filetype=sh

-- 
bash-completion



More information about the Bash-completion-commits mailing list