Ville Skyttä bdf553
diff -up bash-completion-1.3/bash_completion~ bash-completion-1.3/bash_completion
Ville Skyttä bdf553
--- bash-completion-1.3/bash_completion~	2011-08-15 22:31:12.425983498 +0300
Ville Skyttä bdf553
+++ bash-completion-1.3/bash_completion	2011-08-15 22:39:37.107327165 +0300
Ville Skyttä bdf553
@@ -64,68 +64,6 @@ shopt -s extglob progcomp
Ville Skyttä bdf553
 # Make directory commands see only directories
Ville Skyttä bdf553
 complete -d pushd
Ville Skyttä bdf553
 
Ville Skyttä bdf553
-# The following section lists completions that are redefined later
Ville Skyttä bdf553
-# Do NOT break these over multiple lines.
Ville Skyttä bdf553
-#
Ville Skyttä bdf553
-# START exclude -- do NOT remove this line
Ville Skyttä bdf553
-# bzcmp, bzdiff, bz*grep, bzless, bzmore intentionally not here, see Debian: #455510
Ville Skyttä bdf553
-complete -f -X '!*.?(t)bz?(2)' bunzip2 bzcat pbunzip2 pbzcat
Ville Skyttä bdf553
-complete -f -X '!*.@(zip|[ejw]ar|exe|pk3|wsz|zargo|xpi|sxw|o[tx]t|od[fgpst]|epub|apk)' unzip zipinfo
Ville Skyttä bdf553
-complete -f -X '*.Z' compress znew
Ville Skyttä bdf553
-# zcmp, zdiff, z*grep, zless, zmore intentionally not here, see Debian: #455510
Ville Skyttä bdf553
-complete -f -X '!*.@(Z|[gGd]z|t[ag]z)' gunzip zcat unpigz
Ville Skyttä bdf553
-complete -f -X '!*.Z' uncompress
Ville Skyttä bdf553
-# lzcmp, lzdiff intentionally not here, see Debian: #455510
Ville Skyttä bdf553
-complete -f -X '!*.@(tlz|lzma)' lzcat lzegrep lzfgrep lzgrep lzless lzmore unlzma
Ville Skyttä bdf553
-complete -f -X '!*.@(?(t)xz|tlz|lzma)' unxz xzcat
Ville Skyttä bdf553
-complete -f -X '!*.lrz' lrunzip
Ville Skyttä bdf553
-complete -f -X '!*.@(gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx)' ee
Ville Skyttä bdf553
-complete -f -X '!*.@(gif|jp?(e)g|tif?(f)|png|p[bgp]m|bmp|x[bp]m|rle|rgb|pcx|fits|pm)' xv qiv
Ville Skyttä bdf553
-complete -f -X '!*.@(@(?(e)ps|?(E)PS|pdf|PDF)?(.gz|.GZ|.bz2|.BZ2|.Z))' gv ggv kghostview
Ville Skyttä bdf553
-complete -f -X '!*.@(dvi|DVI)?(.@(gz|Z|bz2))' xdvi kdvi
Ville Skyttä bdf553
-complete -f -X '!*.dvi' dvips dviselect dvitype dvipdf advi dvipdfm dvipdfmx
Ville Skyttä bdf553
-complete -f -X '!*.[pf]df' acroread gpdf xpdf
Ville Skyttä bdf553
-complete -f -X '!*.@(?(e)ps|pdf)' kpdf
Ville Skyttä bdf553
-complete -f -X '!*.@(@(?(e)ps|?(E)PS|[pf]df|[PF]DF|dvi|DVI)?(.gz|.GZ|.bz2|.BZ2)|cb[rz]|djv?(u)|gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|fdf)' evince
Ville Skyttä bdf553
-complete -f -X '!*.@(okular|@(?(e|x)ps|?(E|X)PS|pdf|PDF|dvi|DVI|cb[rz]|CB[RZ]|djv?(u)|DJV?(U)|dvi|DVI|gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|GIF|JP?(E)G|MIFF|TIF?(F)|PN[GM]|P[BGP]M|BMP|XPM|ICO|XWD|TGA|PCX|epub|EPUB|odt|ODT|fb?(2)|FB?(2)|mobi|MOBI|g3|G3|chm|CHM|fdf|FDF)?(.?(gz|GZ|bz2|BZ2)))' okular
Ville Skyttä bdf553
-complete -f -X '!*.@(?(e)ps|pdf)' ps2pdf ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr
Ville Skyttä bdf553
-complete -f -X '!*.texi*' makeinfo texi2html
Ville Skyttä bdf553
-complete -f -X '!*.@(?(la)tex|texi|dtx|ins|ltx|dbj)' tex latex slitex jadetex pdfjadetex pdftex pdflatex texi2dvi
Ville Skyttä bdf553
-complete -f -X '!*.mp3' mpg123 mpg321 madplay
Ville Skyttä bdf553
-complete -f -X '!*@(.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|divx|DIVX|vcd|ps|pes|fli|flv|FLV|fxm|FXM|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp[234]|MP[234]|m4[pv]|M4[PV]|mkv|MKV|og[gmv]|OG[GMV]|t[ps]|T[PS]|m2t?(s)|M2T?(S)|wav|WAV|flac|FLAC|asx|ASX|mng|MNG|srt|m[eo]d|M[EO]D|s[3t]m|S[3T]M|it|IT|xm|XM)|+([0-9]).@(vdr|VDR))?(.part)' xine aaxine fbxine
Ville Skyttä bdf553
-complete -f -X '!*@(.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|divx|DIVX|vcd|ps|pes|fli|flv|FLV|fxm|FXM|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp[234]|MP[234]|m4[pv]|M4[PV]|mkv|MKV|og[gmv]|OG[GMV]|t[ps]|T[PS]|m2t?(s)|M2T?(S)|wav|WAV|flac|FLAC|asx|ASX|mng|MNG|srt|m[eo]d|M[EO]D|s[3t]m|S[3T]M|it|IT|xm|XM|iso|ISO)|+([0-9]).@(vdr|VDR))?(.part)' kaffeine dragon
Ville Skyttä bdf553
-complete -f -X '!*.@(avi|asf|wmv)' aviplay
Ville Skyttä bdf553
-complete -f -X '!*.@(rm?(j)|ra?(m)|smi?(l))' realplay
Ville Skyttä bdf553
-complete -f -X '!*.@(mpg|mpeg|avi|mov|qt)' xanim
Ville Skyttä bdf553
-complete -f -X '!*.@(ogg|m3u|flac|spx)' ogg123
Ville Skyttä bdf553
-complete -f -X '!*.@(mp3|ogg|pls|m3u)' gqmpeg freeamp
Ville Skyttä bdf553
-complete -f -X '!*.fig' xfig
Ville Skyttä bdf553
-complete -f -X '!*.@(mid?(i)|cmf)' playmidi
Ville Skyttä bdf553
-complete -f -X '!*.@(mid?(i)|rmi|rcp|[gr]36|g18|mod|xm|it|x3m|s[3t]m|kar)' timidity
Ville Skyttä bdf553
-complete -f -X '!*.@(m[eo]d|s[3t]m|xm|it)' modplugplay modplug123
Ville Skyttä bdf553
-complete -f -X '*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite
Ville Skyttä bdf553
-complete -f -X '!*.@([eE][xX][eE]?(.[sS][oO])|[cC][oO][mM]|[sS][cC][rR])' wine
Ville Skyttä bdf553
-complete -f -X '!*.@(zip|z|gz|tgz)' bzme
Ville Skyttä bdf553
-# konqueror not here on purpose, it's more than a web/html browser
Ville Skyttä bdf553
-complete -f -X '!*.@(?([xX]|[sS])[hH][tT][mM]?([lL]))' netscape mozilla lynx opera galeon dillo elinks amaya firefox mozilla-firefox iceweasel google-chrome chromium-browser epiphany
Ville Skyttä bdf553
-complete -f -X '!*.@(sxw|stw|sxg|sgl|doc?([mx])|dot?([mx])|rtf|txt|htm|html|?(f)odt|ott|odm)' oowriter
Ville Skyttä bdf553
-complete -f -X '!*.@(sxi|sti|pps?(x)|ppt?([mx])|pot?([mx])|?(f)odp|otp)' ooimpress
Ville Skyttä bdf553
-complete -f -X '!*.@(sxc|stc|xls?([bmx])|xlw|xlt?([mx])|[ct]sv|?(f)ods|ots)' oocalc
Ville Skyttä bdf553
-complete -f -X '!*.@(sxd|std|sda|sdd|?(f)odg|otg)' oodraw
Ville Skyttä bdf553
-complete -f -X '!*.@(sxm|smf|mml|odf)' oomath
Ville Skyttä bdf553
-complete -f -X '!*.odb' oobase
Ville Skyttä bdf553
-complete -f -X '!*.[rs]pm' rpm2cpio
Ville Skyttä bdf553
-complete -f -X '!*.aux' bibtex
Ville Skyttä bdf553
-complete -f -X '!*.po' poedit gtranslator kbabel lokalize
Ville Skyttä bdf553
-complete -f -X '!*.@([Pp][Rr][Gg]|[Cc][Ll][Pp])' harbour gharbour hbpp
Ville Skyttä bdf553
-complete -f -X '!*.[Hh][Rr][Bb]' hbrun
Ville Skyttä bdf553
-complete -f -X '!*.ly' lilypond ly2dvi
Ville Skyttä bdf553
-complete -f -X '!*.@(dif?(f)|?(d)patch)?(.@([gx]z|bz2|lzma))' cdiff
Ville Skyttä bdf553
-complete -f -X '!*.lyx' lyx
Ville Skyttä bdf553
-complete -f -X '!@(*.@(ks|jks|jceks|p12|pfx|bks|ubr|gkr|cer|crt|cert|p7b|pkipath|pem|p10|csr|crl)|cacerts)' portecle
Ville Skyttä bdf553
-complete -f -X '!*.@(mp[234c]|og[ag]|@(fl|a)ac|m4[abp]|spx|tta|w?(a)v|wma|aif?(f)|asf|ape)' kid3 kid3-qt
Ville Skyttä bdf553
-# FINISH exclude -- do not remove this line
Ville Skyttä bdf553
-
Ville Skyttä bdf553
 # start of section containing compspecs that can be handled within bash
Ville Skyttä bdf553
 
Ville Skyttä bdf553
 # user commands see only users
Ville Skyttä bdf553
@@ -1582,25 +1520,17 @@ for i in a2ps awk bash bc bison cat colo
Ville Skyttä bdf553
 done
Ville Skyttä bdf553
 unset i
Ville Skyttä bdf553
 
Ville Skyttä bdf553
+declare -A _xspecs
Ville Skyttä bdf553
 _filedir_xspec()
Ville Skyttä bdf553
 {
Ville Skyttä bdf553
-    local IFS cur xspec
Ville Skyttä bdf553
-
Ville Skyttä bdf553
-    IFS=$'\n'
Ville Skyttä bdf553
+    local cur
Ville Skyttä bdf553
     COMPREPLY=()
Ville Skyttä bdf553
     _get_comp_words_by_ref cur
Ville Skyttä bdf553
 
Ville Skyttä bdf553
     _expand || return 0
Ville Skyttä bdf553
 
Ville Skyttä bdf553
-    # get first exclusion compspec that matches this command
Ville Skyttä bdf553
-    xspec=$( awk "/^complete[ \t]+.*[ \t]${1##*/}([ \t]|\$)/ { print \$0; exit }" \
Ville Skyttä bdf553
-        "$BASH_COMPLETION" )
Ville Skyttä bdf553
-    # prune to leave nothing but the -X spec
Ville Skyttä bdf553
-    xspec=${xspec#*-X }
Ville Skyttä bdf553
-    xspec=${xspec%% *}
Ville Skyttä bdf553
-
Ville Skyttä bdf553
+    local IFS=$'\n' xspec=${_xspecs[${1##*/}]} tmp
Ville Skyttä bdf553
     local -a toks
Ville Skyttä bdf553
-    local tmp
Ville Skyttä bdf553
 
Ville Skyttä bdf553
     toks=( ${toks[@]-} $(
Ville Skyttä bdf553
         compgen -d -- "$(quote_readline "$cur")" | {
Ville Skyttä bdf553
@@ -1633,28 +1563,73 @@ _filedir_xspec()
Ville Skyttä bdf553
     [ ${#toks[@]} -ne 0 ] && _compopt_o_filenames
Ville Skyttä bdf553
     COMPREPLY=( "${toks[@]}" )
Ville Skyttä bdf553
 }
Ville Skyttä bdf553
-list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' "$BASH_COMPLETION" | \
Ville Skyttä bdf553
-    # read exclusion compspecs
Ville Skyttä bdf553
-    (
Ville Skyttä bdf553
-    while read line
Ville Skyttä bdf553
-    do
Ville Skyttä bdf553
-        # ignore compspecs that are commented out
Ville Skyttä bdf553
-        if [ "${line#\#}" != "$line" ]; then continue; fi
Ville Skyttä bdf553
-        line=${line%# START exclude*}
Ville Skyttä bdf553
-        line=${line%# FINISH exclude*}
Ville Skyttä bdf553
-        line=${line##*\'}
Ville Skyttä bdf553
-        list=( "${list[@]}" $line )
Ville Skyttä bdf553
+
Ville Skyttä bdf553
+_install_xspec()
Ville Skyttä bdf553
+{
Ville Skyttä bdf553
+    local xspec=$1 cmd
Ville Skyttä bdf553
+    shift
Ville Skyttä bdf553
+    for cmd in $@; do
Ville Skyttä bdf553
+        _xspecs[$cmd]=$xspec
Ville Skyttä bdf553
     done
Ville Skyttä bdf553
-    printf '%s ' "${list[@]}"
Ville Skyttä bdf553
-    )
Ville Skyttä bdf553
-    ) )
Ville Skyttä bdf553
-# remove previous compspecs
Ville Skyttä bdf553
-if [ ${#list[@]} -gt 0 ]; then
Ville Skyttä bdf553
-    eval complete -r ${list[@]}
Ville Skyttä bdf553
-    # install new compspecs
Ville Skyttä bdf553
-    eval complete -F _filedir_xspec "${list[@]}"
Ville Skyttä bdf553
-fi
Ville Skyttä bdf553
-unset list
Ville Skyttä bdf553
+    complete -F _filedir_xspec $@
Ville Skyttä bdf553
+}
Ville Skyttä bdf553
+# bzcmp, bzdiff, bz*grep, bzless, bzmore intentionally not here, see Debian: #455510
Ville Skyttä bdf553
+_install_xspec '!*.?(t)bz?(2)' bunzip2 bzcat pbunzip2 pbzcat
Ville Skyttä bdf553
+_install_xspec '!*.@(zip|[ejw]ar|exe|pk3|wsz|zargo|xpi|sxw|o[tx]t|od[fgpst]|epub|apk)' unzip zipinfo
Ville Skyttä bdf553
+_install_xspec '*.Z' compress znew
Ville Skyttä bdf553
+# zcmp, zdiff, z*grep, zless, zmore intentionally not here, see Debian: #455510
Ville Skyttä bdf553
+_install_xspec '!*.@(Z|[gGd]z|t[ag]z)' gunzip zcat unpigz
Ville Skyttä bdf553
+_install_xspec '!*.Z' uncompress
Ville Skyttä bdf553
+# lzcmp, lzdiff intentionally not here, see Debian: #455510
Ville Skyttä bdf553
+_install_xspec '!*.@(tlz|lzma)' lzcat lzegrep lzfgrep lzgrep lzless lzmore unlzma
Ville Skyttä bdf553
+_install_xspec '!*.@(?(t)xz|tlz|lzma)' unxz xzcat
Ville Skyttä bdf553
+_install_xspec '!*.lrz' lrunzip
Ville Skyttä bdf553
+_install_xspec '!*.@(gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx)' ee
Ville Skyttä bdf553
+_install_xspec '!*.@(gif|jp?(e)g|tif?(f)|png|p[bgp]m|bmp|x[bp]m|rle|rgb|pcx|fits|pm)' xv qiv
Ville Skyttä bdf553
+_install_xspec '!*.@(@(?(e)ps|?(E)PS|pdf|PDF)?(.gz|.GZ|.bz2|.BZ2|.Z))' gv ggv kghostview
Ville Skyttä bdf553
+_install_xspec '!*.@(dvi|DVI)?(.@(gz|Z|bz2))' xdvi kdvi
Ville Skyttä bdf553
+_install_xspec '!*.dvi' dvips dviselect dvitype dvipdf advi dvipdfm dvipdfmx
Ville Skyttä bdf553
+_install_xspec '!*.[pf]df' acroread gpdf xpdf
Ville Skyttä bdf553
+_install_xspec '!*.@(?(e)ps|pdf)' kpdf
Ville Skyttä bdf553
+_install_xspec '!*.@(@(?(e)ps|?(E)PS|[pf]df|[PF]DF|dvi|DVI)?(.gz|.GZ|.bz2|.BZ2)|cb[rz]|djv?(u)|gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|fdf)' evince
Ville Skyttä bdf553
+_install_xspec '!*.@(okular|@(?(e|x)ps|?(E|X)PS|pdf|PDF|dvi|DVI|cb[rz]|CB[RZ]|djv?(u)|DJV?(U)|dvi|DVI|gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|GIF|JP?(E)G|MIFF|TIF?(F)|PN[GM]|P[BGP]M|BMP|XPM|ICO|XWD|TGA|PCX|epub|EPUB|odt|ODT|fb?(2)|FB?(2)|mobi|MOBI|g3|G3|chm|CHM|fdf|FDF)?(.?(gz|GZ|bz2|BZ2)))' okular
Ville Skyttä bdf553
+_install_xspec '!*.@(?(e)ps|pdf)' ps2pdf ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr
Ville Skyttä bdf553
+_install_xspec '!*.texi*' makeinfo texi2html
Ville Skyttä bdf553
+_install_xspec '!*.@(?(la)tex|texi|dtx|ins|ltx|dbj)' tex latex slitex jadetex pdfjadetex pdftex pdflatex texi2dvi
Ville Skyttä bdf553
+_install_xspec '!*.mp3' mpg123 mpg321 madplay
Ville Skyttä bdf553
+_install_xspec '!*@(.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|divx|DIVX|vcd|ps|pes|fli|flv|FLV|fxm|FXM|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp[234]|MP[234]|m4[pv]|M4[PV]|mkv|MKV|og[gmv]|OG[GMV]|t[ps]|T[PS]|m2t?(s)|M2T?(S)|wav|WAV|flac|FLAC|asx|ASX|mng|MNG|srt|m[eo]d|M[EO]D|s[3t]m|S[3T]M|it|IT|xm|XM)|+([0-9]).@(vdr|VDR))?(.part)' xine aaxine fbxine
Ville Skyttä bdf553
+_install_xspec '!*@(.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|divx|DIVX|vcd|ps|pes|fli|flv|FLV|fxm|FXM|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp[234]|MP[234]|m4[pv]|M4[PV]|mkv|MKV|og[gmv]|OG[GMV]|t[ps]|T[PS]|m2t?(s)|M2T?(S)|wav|WAV|flac|FLAC|asx|ASX|mng|MNG|srt|m[eo]d|M[EO]D|s[3t]m|S[3T]M|it|IT|xm|XM|iso|ISO)|+([0-9]).@(vdr|VDR))?(.part)' kaffeine dragon
Ville Skyttä bdf553
+_install_xspec '!*.@(avi|asf|wmv)' aviplay
Ville Skyttä bdf553
+_install_xspec '!*.@(rm?(j)|ra?(m)|smi?(l))' realplay
Ville Skyttä bdf553
+_install_xspec '!*.@(mpg|mpeg|avi|mov|qt)' xanim
Ville Skyttä bdf553
+_install_xspec '!*.@(ogg|m3u|flac|spx)' ogg123
Ville Skyttä bdf553
+_install_xspec '!*.@(mp3|ogg|pls|m3u)' gqmpeg freeamp
Ville Skyttä bdf553
+_install_xspec '!*.fig' xfig
Ville Skyttä bdf553
+_install_xspec '!*.@(mid?(i)|cmf)' playmidi
Ville Skyttä bdf553
+_install_xspec '!*.@(mid?(i)|rmi|rcp|[gr]36|g18|mod|xm|it|x3m|s[3t]m|kar)' timidity
Ville Skyttä bdf553
+_install_xspec '!*.@(m[eo]d|s[3t]m|xm|it)' modplugplay modplug123
Ville Skyttä bdf553
+_install_xspec '*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite
Ville Skyttä bdf553
+_install_xspec '!*.@([eE][xX][eE]?(.[sS][oO])|[cC][oO][mM]|[sS][cC][rR])' wine
Ville Skyttä bdf553
+_install_xspec '!*.@(zip|z|gz|tgz)' bzme
Ville Skyttä bdf553
+# konqueror not here on purpose, it's more than a web/html browser
Ville Skyttä bdf553
+_install_xspec '!*.@(?([xX]|[sS])[hH][tT][mM]?([lL]))' netscape mozilla lynx opera galeon dillo elinks amaya firefox mozilla-firefox iceweasel google-chrome chromium-browser epiphany
Ville Skyttä bdf553
+_install_xspec '!*.@(sxw|stw|sxg|sgl|doc?([mx])|dot?([mx])|rtf|txt|htm|html|?(f)odt|ott|odm)' oowriter
Ville Skyttä bdf553
+_install_xspec '!*.@(sxi|sti|pps?(x)|ppt?([mx])|pot?([mx])|?(f)odp|otp)' ooimpress
Ville Skyttä bdf553
+_install_xspec '!*.@(sxc|stc|xls?([bmx])|xlw|xlt?([mx])|[ct]sv|?(f)ods|ots)' oocalc
Ville Skyttä bdf553
+_install_xspec '!*.@(sxd|std|sda|sdd|?(f)odg|otg)' oodraw
Ville Skyttä bdf553
+_install_xspec '!*.@(sxm|smf|mml|odf)' oomath
Ville Skyttä bdf553
+_install_xspec '!*.odb' oobase
Ville Skyttä bdf553
+_install_xspec '!*.[rs]pm' rpm2cpio
Ville Skyttä bdf553
+_install_xspec '!*.aux' bibtex
Ville Skyttä bdf553
+_install_xspec '!*.po' poedit gtranslator kbabel lokalize
Ville Skyttä bdf553
+_install_xspec '!*.@([Pp][Rr][Gg]|[Cc][Ll][Pp])' harbour gharbour hbpp
Ville Skyttä bdf553
+_install_xspec '!*.[Hh][Rr][Bb]' hbrun
Ville Skyttä bdf553
+_install_xspec '!*.ly' lilypond ly2dvi
Ville Skyttä bdf553
+_install_xspec '!*.@(dif?(f)|?(d)patch)?(.@([gx]z|bz2|lzma))' cdiff
Ville Skyttä bdf553
+_install_xspec '!*.lyx' lyx
Ville Skyttä bdf553
+_install_xspec '!@(*.@(ks|jks|jceks|p12|pfx|bks|ubr|gkr|cer|crt|cert|p7b|pkipath|pem|p10|csr|crl)|cacerts)' portecle
Ville Skyttä bdf553
+_install_xspec '!*.@(mp[234c]|og[ag]|@(fl|a)ac|m4[abp]|spx|tta|w?(a)v|wma|aif?(f)|asf|ape)' kid3 kid3-qt
Ville Skyttä bdf553
+unset -f _install_xspec
Ville Skyttä bdf553
 
Ville Skyttä bdf553
 # source completion directory definitions
Ville Skyttä bdf553
 if [[ -d $BASH_COMPLETION_COMPAT_DIR && -r $BASH_COMPLETION_COMPAT_DIR && \