Package: bash Version: 4.1-3 Severity: important Bash 4.0 changed the rules for completion word splitting so that they are incompatible with 3.x. I think some Breaks: will be needed to ensure smooth upgrades.
The closest to a hint NEWS provides is: i. The programmable completion code now uses the same set of characters as readline when breaking the command line into a list of words. but the problem is something else --- with exactly the same COMP_WORDBREAKS, earlier and later versions show different behavior. Example: . /etc/bash_completion.d/git git log --pretty=<tab><tab> lists medium, full, etc with bash 3.0 but falls back to completing on files in the cwd in bash 4.0. The bash_completion project works around this by introducing a _get_cword function abstracting the differences away: | commit f733e71e1f8d63c072a402346d8162f9c6b63ae2 | Date: Sun Sep 20 14:11:26 2009 +0200 | | Split _get_cword into bash-3/4 versions [...] | Bash-4 splits COMP_WORDS using characters from COMP_WORDBREAKS, but has | a bug where quoted words are also splitted, see: | http://www.mail-archive.com/bug-b...@gnu.org/msg06095.html | | __get_cword3 is used for bash-2/3 and __get_cword4 is used for bash-4. and has refined this over time to a _get_comp_words_by_ref function using only functionality that works correctly with both bash versions. The upshot: 1. bash-completion versions before 1.1 are broken by bash 4. 2. All known versions of git's completion script are broken by bash 4. There is a patch cooking on the git mailing list to get it working again. 3. Other completion scripts might need changes, too. There are about 74 packages to check :(, based on zgrep bash_completion.d Contents-i386.gz | sed -e 's/.* *//' | cut -d'/' -f2 | uniq | wc -l Any ideas for reducing the work of finding versions to Breaks:? -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org