[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-99-ge3ca91b

Ville Skyttä ville.skytta at iki.fi
Wed Apr 20 20:14:14 UTC 2011


The following commit has been merged in the master branch:
commit 0cb626342442fc451f6cca5b92e0d162c9fa478e
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Wed Apr 20 22:42:55 2011 +0300

    Use _init_completion() in completions/m*.

diff --git a/completions/mailman b/completions/mailman
index b239cbb..62f5cb4 100644
--- a/completions/mailman
+++ b/completions/mailman
@@ -25,11 +25,10 @@ complete -F _list_lists list_lists
 have add_members &&
 _add_members()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -59,11 +58,10 @@ complete -F _add_members add_members
 have remove_members &&
 _remove_members()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -88,11 +86,10 @@ complete -F _remove_members remove_members
 have find_member &&
 _find_member()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -115,11 +112,10 @@ complete -F _find_member find_member
 have clone_member &&
 _clone_member()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -142,11 +138,10 @@ complete -F _clone_member clone_member
 have sync_members &&
 _sync_members()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -175,10 +170,8 @@ complete -F _sync_members sync_members
 have unshunt &&
 _unshunt()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--help' -- "$cur" ) )
@@ -192,10 +185,8 @@ complete -F _unshunt unshunt
 have list_admins &&
 _list_admins()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--all-vhost --all --help' -- "$cur" ) )
@@ -209,10 +200,8 @@ complete -F _list_admins list_admins
 have list_owners &&
 _list_owners()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--with-listnames --moderators \
@@ -227,11 +216,10 @@ complete -F _list_owners list_owners
 have list_members &&
 _list_members()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -265,11 +253,10 @@ complete -F _list_members list_members
 have change_pw &&
 _change_pw()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -292,10 +279,8 @@ complete -F _change_pw change_pw
 have withlist &&
 _withlist()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--lock --interactive \
@@ -310,10 +295,8 @@ complete -F _withlist withlist
 have newlist &&
 _newlist()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--language --quiet --help' -- "$cur" ) )
@@ -327,10 +310,8 @@ complete -F _newlist newlist
 have rmlist &&
 _rmlist()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--archives --help' -- "$cur" ) )
@@ -344,11 +325,10 @@ complete -F _rmlist rmlist
 have config_list &&
 _config_list()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -375,9 +355,10 @@ complete -F _config_list config_list
 have arch && have mailmanctl &&
 _arch()
 {
-    local cur prev split=false
+    local cur prev words cword
+    _init_completion || return
 
-    COMPREPLY=()
+    local split=false
     _get_comp_words_by_ref cur prev
 
     _split_longopt && split=true
@@ -399,9 +380,9 @@ _arch()
         COMPREPLY=( $( compgen -W '--wipe --start --end --quiet \
             --help' -- "$cur" ) )
     else
-        args=$COMP_CWORD
-        for (( i=1; i < COMP_CWORD; i++ )); do
-            if [[ "${COMP_WORDS[i]}" == -* ]]; then
+        local args=$cword
+        for (( i=1; i < cword; i++ )); do
+            if [[ "${words[i]}" == -* ]]; then
                 args=$(($args-1))
             fi
         done
@@ -421,10 +402,8 @@ complete -F _arch arch
 have cleanarch &&
 _cleanarch()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--status --dry-run --quiet \
@@ -437,11 +416,10 @@ complete -F _cleanarch cleanarch
 have inject &&
 _inject()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -465,10 +443,8 @@ complete -F _inject inject
 have dumpdb &&
 _dumpdb()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--marshal --pickle --noprint \
@@ -483,10 +459,8 @@ complete -F _dumpdb dumpdb
 have check_db &&
 _check_db()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--all --verbose --help' -- "$cur" ) )
@@ -500,10 +474,8 @@ complete -F _check_db check_db
 have check_perms &&
 _check_perms()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '-f -v -h' -- "$cur" ) )
@@ -515,10 +487,8 @@ complete -F _check_perms check_perms
 have genaliases &&
 _genaliases()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--quiet --help' -- "$cur" ) )
@@ -530,10 +500,8 @@ complete -F _genaliases genaliases
 have mmsitepass &&
 _mmsitepass()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--listcreator --help' -- "$cur" ) )
@@ -545,10 +513,8 @@ complete -F _mmsitepass mmsitepass
 have qrunner &&
 _qrunner()
 {
-    local cur prev
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     _split_longopt && return 0
 
@@ -563,10 +529,8 @@ complete -F _qrunner qrunner
 have mailmanctl &&
 _mailmanctl()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '--no-restart --run-as-user \
diff --git a/completions/make b/completions/make
index de75d5b..e06aa98 100644
--- a/completions/make
+++ b/completions/make
@@ -4,10 +4,10 @@ have make || have gmake || have gnumake || have pmake || return
 
 _make()
 {
-    local file makef makef_dir="." makef_inc cur prev i split=false
+    local cur prev words cword
+    _init_completion || return
 
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local file makef makef_dir="." makef_inc i split=false
 
     _split_longopt && split=true
 
@@ -40,20 +40,20 @@ _make()
     else
         # before we check for makefiles, see if a path was specified
         # with -C/--directory
-        for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
-            if [[ ${COMP_WORDS[i]} == -@(C|-directory) ]]; then
+        for (( i=0; i < ${#words[@]}; i++ )); do
+            if [[ ${words[i]} == -@(C|-directory) ]]; then
                 # eval for tilde expansion
-                eval makef_dir=${COMP_WORDS[i+1]}
+                eval makef_dir=${words[i+1]}
                 break
             fi
         done
 
         # before we scan for targets, see if a Makefile name was
         # specified with -f/--file/--makefile
-        for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
-            if [[ ${COMP_WORDS[i]} == -@(f|-?(make)file) ]]; then
+        for (( i=0; i < ${#words[@]}; i++ )); do
+            if [[ ${words[i]} == -@(f|-?(make)file) ]]; then
                 # eval for tilde expansion
-                eval makef=${COMP_WORDS[i+1]}
+                eval makef=${words[i+1]}
                 break
             fi
         done
diff --git a/completions/man b/completions/man
index 8fd5fd6..c29cf09 100644
--- a/completions/man
+++ b/completions/man
@@ -4,14 +4,14 @@
     $UNAME == SunOS || $UNAME == Cygwin || $UNAME == OpenBSD ]] &&
 _man()
 {
-    local cur i prev sect manpath manext mansect uname
+    local cur prev words cword
+    _init_completion -n : || return
+
+    local i sect manpath manext mansect uname
 
     manext="@([0-9lnp]|[0-9][px]|man|3pm)?(.@([gx]z|bz2|lzma|Z))"
     mansect="@([0-9lnp]|[0-9][px]|3pm)"
 
-    COMPREPLY=()
-    _get_comp_words_by_ref -n : cur prev
-
     if [[ "$prev" == -l ]]; then
         _filedir $manext
         return 0
diff --git a/completions/mc b/completions/mc
index 968139f..e7b5762 100644
--- a/completions/mc
+++ b/completions/mc
@@ -4,11 +4,10 @@ have mc || return
 
 _mc()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
diff --git a/completions/mcrypt b/completions/mcrypt
index a6c21ce..c2d6dbb 100644
--- a/completions/mcrypt
+++ b/completions/mcrypt
@@ -4,10 +4,8 @@ have mcrypt || have mdecrypt || return
 
 _mcrypt()
 {
-    local cur prev i decrypt
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     case $prev in
         -g|--openpgp-z)
@@ -58,12 +56,12 @@ _mcrypt()
             --force --echo --random --list --list-keymodes \
             --list-hash --verbose --quiet --help \
             --version --license' -- "$cur" ) )
-    elif [[ ${COMP_WORDS[0]} == mdecrypt ]]; then
+    elif [[ ${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
+        local i decrypt=0
+        for (( i=1; i < ${#words[@]}-1; i++ )); do
+            if [[ ${words[i]} == -@(d|-decrypt) ]]; then
                 _filedir nc
                 decrypt=1
                 break
diff --git a/completions/mdadm b/completions/mdadm
index fe03eba..2232468 100644
--- a/completions/mdadm
+++ b/completions/mdadm
@@ -6,8 +6,8 @@ _mdadm_raid_level()
 {
     local mode
 
-    for (( i=1; i < COMP_CWORD; i++ )); do
-        case ${COMP_WORDS[i]} in
+    for (( i=1; i < cword; i++ )); do
+        case ${words[i]} in
             -C|--create)
                 mode=create
                 break
@@ -35,9 +35,9 @@ _mdadm_raid_level()
 _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]}
+    for (( i=1; i < cword; i++ )); do
+        if [[ "${words[i]}" == -@(l|-level) ]]; then
+            level=${words[i+1]}
             break
         fi
     done
@@ -72,11 +72,10 @@ _mdadm_update_flag()
 
 _mdadm()
 {
-    local cur prev mode options split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -104,15 +103,16 @@ _mdadm()
 
     $split && return 0
 
+    local options
     options='--help --help-options --version --verbose --quiet \
         --brief --force --config --scan --metadata --homehost'
 
     if [[ "$cur" == -* ]]; then
-        if [[ $COMP_CWORD -eq 1 ]] ; then
+        if [[ $cword -eq 1 ]] ; then
             COMPREPLY=( $( compgen -W "$options --assemble --build \
                 --create --monitor --grow" -- "$cur" ) )
         else
-            case ${COMP_WORDS[COMP_CWORD-1]} in
+            case ${words[cword-1]} in
                 -A|--assemble)
                     COMPREPLY=( $( compgen -W "$options --uuid \
                         --super-minor --name --force --run \
diff --git a/completions/medusa b/completions/medusa
index 5aa13f6..d60abcd 100644
--- a/completions/medusa
+++ b/completions/medusa
@@ -4,11 +4,8 @@ have medusa || return
 
 _medusa()
 {
-    local cur prev
-
-    COMPREPLY=()
-    cur=`_get_cword`
-    prev=`_get_pword`
+    local cur prev words cword
+    _init_completion || return
 
     case $prev in
         -h)
diff --git a/completions/minicom b/completions/minicom
index 6a5e864..2daaf00 100644
--- a/completions/minicom
+++ b/completions/minicom
@@ -4,10 +4,8 @@ have minicom || return
 
 _minicom()
 {
-    local cur prev confdir
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     case $prev in
         -a|-c)
@@ -32,6 +30,7 @@ _minicom()
             -c -S -d -p -C -T -7 -8' -- "$cur" ) )
         return 0
     else
+        local confdir
         [ -n "$( command ls /etc/minirc.* 2>/dev/null)" ] \
             && confdir=/etc
         [ -n "$( command ls /etc/minicom/minirc.* 2>/dev/null)" ] \
diff --git a/completions/mkinitrd b/completions/mkinitrd
index d8626d6..d5cc025 100644
--- a/completions/mkinitrd
+++ b/completions/mkinitrd
@@ -4,11 +4,10 @@ have mkinitrd || return
 
 _mkinitrd()
 {
-    local cur prev args split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in
@@ -36,6 +35,7 @@ _mkinitrd()
             --omit-lvm-modules --builtin --omit-dmraid --net-dev \
             --fstab --nocompress --dsdt --bootchart' -- "$cur" ) )
     else
+        local args
         _count_args
 
         case $args in
diff --git a/completions/module-init-tools b/completions/module-init-tools
index bf2d24d..fcef11c 100644
--- a/completions/module-init-tools
+++ b/completions/module-init-tools
@@ -6,10 +6,8 @@
 have rmmod &&
 _rmmod()
 {
-    local cur
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     _installed_modules "$cur"
     return 0
@@ -23,13 +21,11 @@ complete -F _rmmod rmmod
 have insmod || have modprobe || have modinfo &&
 _insmod()
 {
-    local cur prev modpath
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     # behave like lsmod for modprobe -r
-    if [[ ${1##*/} == modprobe && "${COMP_WORDS[1]}" == -r ]]; then
+    if [[ ${1##*/} == modprobe && "${words[1]}" == -r ]]; then
         _installed_modules "$cur"
         return 0
     fi
@@ -40,9 +36,9 @@ _insmod()
         return 0
     fi
 
-    if [[ $COMP_CWORD -gt 1 && "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
+    if [[ $cword -gt 1 && "${words[cword-1]}" != -* ]]; then
         # do module parameter completion
-        COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${COMP_WORDS[1]} | \
+        COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${words[1]} | \
             cut -d: -f1 )" -- "$cur" ) )
     else
         _modules $(uname -r)
diff --git a/completions/monodevelop b/completions/monodevelop
index 69b2344..b53f3ca 100644
--- a/completions/monodevelop
+++ b/completions/monodevelop
@@ -3,8 +3,8 @@
 have monodevelop &&
 _monodevelop()
 {
-    local cur
-    _get_comp_words_by_ref cur
+    local cur prev words cword
+    _init_completion || return
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W '-? -help -help2 -ipc-tcp -newwindow -nologo \
@@ -19,15 +19,14 @@ complete -F _monodevelop monodevelop
 have mdtool &&
 _mdtool()
 {
-    local cur prev command i
+    local cur prev words cword
+    _init_completion || return
 
-    COMPREPLY=()
+    local command i
 
-    _get_comp_words_by_ref cur prev
-
-    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-        if [[ ${COMP_WORDS[i]} == @(build|generate-makefiles|setup) ]]; then
-            command=${COMP_WORDS[i]}
+    for (( i=0; i < ${#words[@]}-1; i++ )); do
+        if [[ ${words[i]} == @(build|generate-makefiles|setup) ]]; then
+            command=${words[i]}
         fi
     done
 
diff --git a/completions/mount b/completions/mount
index 65ca8ea..ccff018 100644
--- a/completions/mount
+++ b/completions/mount
@@ -76,10 +76,10 @@ _linux_fstab()
 
 _mount()
 {
-    local cur sm host prev
+    local cur prev words cword
+    _init_completion -n : || return
 
-    COMPREPLY=()
-    _get_comp_words_by_ref -n : cur prev
+    local sm host
 
     case $prev in
         -t|--types)
@@ -136,9 +136,8 @@ complete -F _mount -o default -o dirnames mount
 have umount &&
 _umount()
 {
-    local cur
-    _get_comp_words_by_ref cur
-    COMPREPLY=()
+    local cur prev words cword
+    _init_completion || return
 
     if [[ $OSTYPE == *linux* && -r /proc/mounts ]]; then
         # Linux /proc/mounts is properly quoted. This is important when
diff --git a/completions/mplayer b/completions/mplayer
index eafb16d..21e0fd9 100644
--- a/completions/mplayer
+++ b/completions/mplayer
@@ -12,11 +12,10 @@ _mplayer_options_list()
 
 _mplayer()
 {
-    local cmd cur prev i j k=0
+    local cur prev words cword
+    _init_completion || return
 
-    COMPREPLY=()
-    cmd=${COMP_WORDS[0]}
-    _get_comp_words_by_ref cur prev
+    local cmd=${words[0]} i j k=0
 
     case $prev in
         -[av][cfo]|-[av]fm|-vop|-fstype|-demuxer|-o[av]c|-of|-profile| \
diff --git a/completions/msynctool b/completions/msynctool
index 21b4dd8..3afab81 100644
--- a/completions/msynctool
+++ b/completions/msynctool
@@ -4,12 +4,10 @@ have msynctool || return
 
 _msynctool()
 {
-    local cur prev anteprev
+    local cur prev words cword
+    _init_completion || return
 
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev anteprev
-
-    case $anteprev in
+    case $words in
         --configure)
             COMPREPLY=( $( compgen -W "$(msynctool --showgroup \
                 $prev | awk '/^Member/ {print $2}' | sed \
diff --git a/completions/mtx b/completions/mtx
index 8cfa493..e119b80 100644
--- a/completions/mtx
+++ b/completions/mtx
@@ -4,10 +4,10 @@ have mtx || return
 
 _mtx()
 {
-    local cur prev options tapes drives
+    local cur prev words cword
+    _init_completion || return
 
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local options tapes drives
 
     options="-f nobarcode invert noattach --version inquiry noattach \
         inventory status load unload eepos first last next"
@@ -21,7 +21,7 @@ _mtx()
     drives=${drives//:Full}
     drives=${drives//:Empty}
 
-    if [ $COMP_CWORD -gt 1 ]; then
+    if [ $cword -gt 1 ]; then
         case $prev in
             load)
                 COMPREPLY=( $( compgen -W "$tapes" -- "$cur" ) )
diff --git a/completions/munin-node b/completions/munin-node
index abf2b0f..9c50c4c 100644
--- a/completions/munin-node
+++ b/completions/munin-node
@@ -3,10 +3,8 @@
 have munin-run &&
 _munin_run()
 {
-    local cur prev
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     case $prev in
         --config|--sconffile)
@@ -32,10 +30,8 @@ complete -F _munin_run munin-run
 have munindoc &&
 _munindoc()
 {
-    local cur prev
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     COMPREPLY=( $( compgen -W '$( command ls /usr/share/munin/plugins )' \
         -- "$cur" ) )
@@ -45,10 +41,8 @@ complete -F _munindoc munindoc
 have munin-update &&
 _munin_update()
 {
-    local cur prev
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     case $prev in
         --config)
@@ -72,10 +66,8 @@ complete -F _munin_update munin-update
 have munin-node-configure &&
 _munin_node_configure()
 {
-    local cur prev
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
     case $prev in
         --config)
diff --git a/completions/mutt b/completions/mutt
index 92e90ad..8925d5a 100644
--- a/completions/mutt
+++ b/completions/mutt
@@ -22,7 +22,7 @@ _muttaddr()
 _muttrc()
 {
     # Search COMP_WORDS for '-F muttrc' or '-Fmuttrc' argument
-    set -- "${COMP_WORDS[@]}"
+    set -- "${words[@]}"
     while [ $# -gt 0 ]; do
         if [ "${1:0:2}" = -F ]; then
             if [ ${#1} -gt 2 ]; then
@@ -76,7 +76,7 @@ _muttconffiles()
 # @param $1 (cur) Current word to complete
 _muttaliases()
 {
-    local cur=$1 muttrc muttcmd=${COMP_WORDS[0]}
+    local cur=$1 muttrc muttcmd=${words[0]}
     local -a conffiles aliases
 
     muttrc=$(_muttrc)
@@ -94,7 +94,7 @@ _muttaliases()
 # @param $1 (cur) Current word to complete
 _muttquery()
 {
-    local cur=$1 querycmd muttcmd=${COMP_WORDS[0]}
+    local cur=$1 querycmd muttcmd=${words[0]}
     local -a queryresults
 
     querycmd="$( $muttcmd -Q query_command | sed -e 's|^query_command=\"\(.*\)\"$|\1|' -e 's|%s|'$cur'|' )"
@@ -114,7 +114,7 @@ _muttquery()
 # @param $1 (cur) Current word to complete
 _muttfiledir()
 {
-    local cur=$1 folder muttrc spoolfile muttcmd=${COMP_WORDS[0]}
+    local cur=$1 folder muttrc spoolfile muttcmd=${words[0]}
 
     muttrc=$(_muttrc)
     if [[ $cur == [=+]* ]]; then
@@ -140,12 +140,8 @@ _muttfiledir()
 
 _mutt()
 {
-    local cur prev
-    _get_comp_words_by_ref -n =+! cur prev
-    #cur=`_get_cword =+!`
-    #prev=`_get_pword =+!`
-
-    COMPREPLY=()
+    local cur prev words cword
+    _init_completion -n =+! || return
 
     case $cur in
     -*)
diff --git a/completions/mysqladmin b/completions/mysqladmin
index 1b6ce4d..1e86117 100644
--- a/completions/mysqladmin
+++ b/completions/mysqladmin
@@ -4,11 +4,10 @@ have mysqladmin || return
 
 _mysqladmin()
 {
-    local cur prev split=false
-
-    COMPREPLY=()
-    _get_comp_words_by_ref cur prev
+    local cur prev words cword
+    _init_completion || return
 
+    local split=false
     _split_longopt && split=true
 
     case $prev in

-- 
bash-completion



More information about the Bash-completion-commits mailing list