Package: bash-completion Version: 1:1.1-3 Severity: normal Tags: patch Please apply the patch below. The problem is that declare has a nasty side-effect: it make variables local if they are called from within a function. I source my /etc/bash_completion in my .bashrc as:
sourceif() { test -r "$1" && . "$1"; } [...] sourceif /etc/bash_completion meaning that if I move to a machine without bash-completion installed, my profile will still work. However, this means that bash4 is made local to the function, and hence completion fails on filenames with spaces, as bash4 is unset by the time the test is used. This patch makes the bash* variables readonly without using the localising declare function. Julian --- /etc/bash_completion.orig 2010-04-19 21:32:50.000000000 +0300 +++ /etc/bash_completion 2010-04-19 21:37:43.000000000 +0300 @@ -59,7 +59,8 @@ # 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 || : + bash205=$BASH_VERSION + readonly bash205 default="-o default" dirnames="-o dirnames" filenames="-o filenames" @@ -68,18 +69,21 @@ # 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 || : + bash205b=$BASH_VERSION + readonly bash205b 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 || : + bash3=$BASH_VERSION + readonly bash3 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 || : + bash4=$BASH_VERSION + readonly bash4 compopt=compopt fi -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages bash-completion depends on: ii bash 4.1-2 The GNU Bourne Again SHell bash-completion recommends no packages. bash-completion suggests no packages. -- no debconf information _______________________________________________ Bash-completion-devel mailing list Bash-completion-devel@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/bash-completion-devel