Drop support for bash < 3.2.
This commit is contained in:
parent
bc6f14445f
commit
314cc0f13a
36
README
36
README
@ -12,7 +12,7 @@ if [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
|
||||
(if you happen to have *only* bash >= 3, see further if not)
|
||||
(if you happen to have *only* bash >= 3.2 installed, see further if not)
|
||||
|
||||
If you don't have the package readily available for your distribution, or
|
||||
you simply don't want to do this, put the bash_completion file somewhere
|
||||
@ -98,36 +98,6 @@ function used by mutt completion, where the function calls itself
|
||||
recursively. This seems to confuse bash and it issues spurious
|
||||
warnings if 'nounset' is set.
|
||||
|
||||
V.
|
||||
|
||||
After upgrading to bash 3.1, you may notice that completing on certain
|
||||
commands now fails with a message something like this:
|
||||
|
||||
sed: -e expression #1, char 20: unterminated `s' command
|
||||
|
||||
The reason for this is that bash 3.1 contains the following,
|
||||
innocent-looking bug fix (from bash's CHANGES file):
|
||||
|
||||
t. Fixed a bug that caused the expanded value of a $'...' string
|
||||
to be incorrectly re-quoted if it occurred within a
|
||||
double-quoted ${...} parameter expansion.
|
||||
|
||||
Unfortunately, this also had the side effect of causing single quotes
|
||||
to be stripped from $'...' strings inside double-quoted command
|
||||
substitutions. Confused?
|
||||
|
||||
Efforts have been made to work around this issue in the bash
|
||||
completion code as of the 20060301 release. All previous versions are
|
||||
vulnerable to the problem. However, it's possible that, even in the
|
||||
20060301 release and later, affected code remains.
|
||||
|
||||
The issue has now been officially recognised as a regression in the
|
||||
bash 3.1 release and is fixed by official patch 11. If you encounter
|
||||
problems of this nature, please apply the patch below to your copy of
|
||||
bash:
|
||||
|
||||
ftp://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-011
|
||||
|
||||
|
||||
FAQ
|
||||
---
|
||||
@ -318,10 +288,10 @@ guidelines in mind:
|
||||
start interpreters. Use lightweight programs such as grep(1), awk(1)
|
||||
and sed(1).
|
||||
|
||||
- Use the full power of bash >= 3. We no longer support earlier bash
|
||||
- Use the full power of bash >= 3.2. We no longer support earlier bash
|
||||
versions, so you may as well use all the features of that version of
|
||||
bash to optimise your code. However, be careful when using features
|
||||
added since bash 3.0, since not everyone will be able to use them. Be
|
||||
added since bash 3.2, since not everyone will be able to use them. Be
|
||||
ESPECIALLY careful of using features exclusive to 4.x, as many people
|
||||
are still using 3.x.
|
||||
|
||||
|
4
TODO
4
TODO
@ -2,8 +2,8 @@ bash completion needs to be rewritten from the ground up.
|
||||
---------------------------------------------------------
|
||||
|
||||
bash completion really needs to be rewritten from the ground up, using all of
|
||||
the features available in bash 3.1 and without regard for compatibility with
|
||||
the 2.x line.
|
||||
the features available in bash 3.2+ and without regard for compatibility with
|
||||
earlier versions.
|
||||
|
||||
At that time, it should be split into multiple files for easier source
|
||||
management. Whether or not it is actually installed on the destination
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# bash_completion - programmable completion functions for bash 3.x
|
||||
# bash_completion - programmable completion functions for bash 3.2+
|
||||
#
|
||||
# Copyright © 2006-2008, Ian Macdonald <ian@caliban.org>
|
||||
# © 2009-2010, Bash Completion Maintainers
|
||||
|
@ -2,9 +2,11 @@
|
||||
[ -z "$BASH_VERSION" -o -z "$PS1" -o -n "$BASH_COMPLETION" ] && return
|
||||
|
||||
# Check for recent enough version of bash.
|
||||
bash=${BASH_VERSION%.*}; bmajor=${bash%.*}
|
||||
if [ $bmajor -ge 3 -a -r @sysconfdir@/bash_completion ]; then
|
||||
# Source completion code.
|
||||
. @sysconfdir@/bash_completion
|
||||
bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
|
||||
if [ $bmajor -gt 3 ] || [ $bmajor -eq 3 -a $bminor -ge 2 ]; then
|
||||
if [ -r @sysconfdir@/bash_completion ]; then
|
||||
# Source completion code.
|
||||
. @sysconfdir@/bash_completion
|
||||
fi
|
||||
fi
|
||||
unset bash bmajor
|
||||
unset bash bmajor bminor
|
||||
|
Loading…
x
Reference in New Issue
Block a user