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
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/bash-completion-devel