app-shells/bash-completion: Sync with gentoo

It's from gentoo commit d1e3fc61c5e5a261172877f36589b0a7bd84ce00.
This commit is contained in:
Krzesimir Nowak 2022-03-02 17:23:30 +01:00
parent 524e0f2871
commit 27ecb97f8b
7 changed files with 220 additions and 328 deletions

View File

@ -1,3 +1,2 @@
DIST bash-completion-2.4.tar.xz 276148 BLAKE2B 1ca38db1d1ad9f0bf7d1aa4e49cba1c82a6a575b05118099b609da12bf2e369637be907cba1d46e1e33fface482ebd7c63d70d56c948e45ef71725780ffb2171 SHA512 b852e0a38417dfc3754a91dae2d107f99a3c2970d835a4bbaa80f2a4db8d670bc3820ddc6ada26f68070f22fb4c1db7abe50ad489b1c0f8497b1e6e91be27627 DIST bash-completion-2.11.tar.xz 311004 BLAKE2B 98e3ab6669bd70b49b238a597f1bc1309dc7ddd51c5b17c5e054f9161115d75d26e85d547471bc087e070d10554448b790a6dfb557abc413b70079ecc94acce3 SHA512 41585f730b5114d397831ba36d10d05643c6a6179e746ddc49aa1cbef61ea5525fd2f09b2e474adee14e647f99df8d5983ee48e29a59d8a30e1daf7fb1837e06
DIST bash-completion-2.7.tar.xz 280048 BLAKE2B 88b09f451fd4e14daf8e139951a4b65aaa9d9b1d86dceade388a726ac7f3caff2546597695c3f0cbd5dd64e20472d0cf3e98e0f367898b81d696d4ccb8f2fb73 SHA512 514709ad2e5f6bd4e20027c7049a1144c1854a37b653d5c11fad1cdf7a46d0e1afca725d6ce75d49691149e0de57be85747f704ac1c429ef4cea114bfbff8fcd DIST bashcomp-2.0.3.tar.gz 3539 BLAKE2B 75304d144792cc7f6ad5455a05a65c33c646d6f7384d020a06a1fcf012cd51625a3dd0750ad539253453b1eede196c340286a1e81737f0835b5091609ba01295 SHA512 b2bd185ccbd4456939ccc731cc1983fcec2b9564a9920642a753fadd5d897fdb96b925ac1524657629d621d45b37d99076c8ae72511a827e96ff6c388d720008
DIST bashcomp-2.0.2.tar.gz 3625 BLAKE2B ebd835e23634e8a7491467ad66c53941763cea43bad75fe24982d3885be2d2ba132e5273a655fec34705224315d7a3f0248c030fb7685fc613ac4f489cde5bf5 SHA512 46bc1bcc32263135f44be68569459a409250dd2c81c18190735f11e13a26508e9d3cb91d24a8fe7b21bdea678347873b7ac1b67d5e8c78c8444011f85dfdcdce

View File

@ -0,0 +1,137 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
BASHCOMP_P=bashcomp-2.0.3
PYTHON_COMPAT=( python3_{7..9} )
inherit bash-completion-r1 python-any-r1 user-info
DESCRIPTION="Programmable Completion for bash"
HOMEPAGE="https://github.com/scop/bash-completion"
SRC_URI="
https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz
eselect? ( https://github.com/mgorny/bashcomp2/releases/download/v${BASHCOMP_P#*-}/${BASHCOMP_P}.tar.gz )"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris"
IUSE="+eselect test"
RESTRICT="!test? ( test )"
# completion collision with net-fs/mc
RDEPEND=">=app-shells/bash-4.3_p30-r1:0
sys-apps/miscfiles
!!net-fs/mc"
DEPEND="
test? (
${RDEPEND}
$(python_gen_any_dep '
dev-python/pexpect[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
')
)"
PDEPEND=">=app-shells/gentoo-bashcomp-20140911"
strip_completions() {
# Remove unwanted completions.
local strip_completions=(
# Slackware package stuff, quite generic names cause collisions
# (e.g. with sys-apps/pacman)
explodepkg installpkg makepkg pkgtool removepkg upgradepkg
# Debian/Red Hat network stuff
ifdown ifup ifquery ifstatus
# Installed in app-editors/vim-core
xxd
# Now-dead symlinks to deprecated completions
hd ncal
)
if [[ ${ARCH} != *-fbsd && ${ARCH} != *-freebsd ]]; then
strip_completions+=(
freebsd-update kldload kldunload portinstall portsnap
pkg_deinstall pkg_delete pkg_info
)
fi
local file
for file in "${strip_completions[@]}"; do
rm "${ED}"/usr/share/bash-completion/completions/${file} ||
die "stripping ${file} failed"
done
# remove deprecated completions (moved to other packages)
rm "${ED}"/usr/share/bash-completion/completions/_* || die
}
python_check_deps() {
has_version "dev-python/pexpect[${PYTHON_USEDEP}]" &&
has_version "dev-python/pytest[${PYTHON_USEDEP}]"
}
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
use eselect &&
eapply "${WORKDIR}/${BASHCOMP_P}/bash-completion-blacklist-support.patch"
# redhat-specific, we strip these completions
rm test/t/test_if{down,up}.py || die
# not available for icedtea
rm test/t/test_javaws.py || die
eapply_user
}
src_test() {
# portage's HOME override breaks tests
emake check HOME="$(egethome "${UID}")" PYTESTFLAGS="-vv" NETWORK=none
}
src_install() {
# work-around race conditions, bug #526996
mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die
emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install
strip_completions
dodoc AUTHORS CHANGES CONTRIBUTING.md README.md
# install the eselect module
if use eselect; then
insinto /usr/share/eselect/modules
doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect"
doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5"
fi
}
pkg_postinst() {
local v
for v in ${REPLACING_VERSIONS}; do
if ver_test "${v}" -lt 2.1-r90; then
ewarn "For bash-completion autoloader to work, all completions need to"
ewarn "be installed in /usr/share/bash-completion/completions. You may"
ewarn "need to rebuild packages that installed completions in the old"
ewarn "location. You can do this using:"
ewarn
ewarn "$ find ${EPREFIX}/usr/share/bash-completion -maxdepth 1 -type f '!' -name 'bash_completion' -exec emerge -1v {} +"
ewarn
ewarn "After the rebuild, you should remove the old setup symlinks:"
ewarn
ewarn "$ find ${EPREFIX}/etc/bash_completion.d -type l -delete"
fi
done
if has_version 'app-shells/zsh'; then
elog
elog "If you are interested in using the provided bash completion functions with"
elog "zsh, valuable tips on the effective use of bashcompinit are available:"
elog " http://www.zsh.org/mla/workers/2003/msg00046.html"
elog
fi
}

View File

@ -1,98 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
BASHCOMP_P=bashcomp-2.0.2
inherit versionator
DESCRIPTION="Programmable Completion for bash"
HOMEPAGE="https://github.com/scop/bash-completion"
SRC_URI="https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz
https://bitbucket.org/mgorny/bashcomp2/downloads/${BASHCOMP_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris"
IUSE=""
RDEPEND=">=app-shells/bash-4.3_p30-r1
sys-apps/miscfiles
!app-eselect/eselect-bashcomp"
DEPEND="app-arch/xz-utils"
PDEPEND=">=app-shells/gentoo-bashcomp-20140911"
# Remove unwanted completions.
STRIP_COMPLETIONS=(
# Slackware package stuff, quite generic names cause collisions
# (e.g. with sys-apps/pacman)
explodepkg installpkg makepkg pkgtool removepkg upgradepkg
# Debian/Red Hat network stuff
ifdown ifup ifstatus
# Installed in app-editors/vim-core
xxd
# Now-dead symlinks to deprecated completions
hd ncal
# Installed by sys-apps/util-linux-2.28
mount umount mount.linux umount.linux
)
src_prepare() {
eapply "${WORKDIR}/${BASHCOMP_P}/${PN}"-2.1_p*.patch
# Bug 543100, update bug 601194
eapply "${FILESDIR}/${PN}-2.1-escape-characters-r1.patch"
eapply_user
}
src_test() { :; } # Skip testsuite because of interactive shell wrt #477066
src_install() {
# work-around race conditions, bug #526996
mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die
emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install
local file
for file in "${STRIP_COMPLETIONS[@]}"; do
rm "${ED}"/usr/share/bash-completion/completions/${file} || die
done
# remove deprecated completions (moved to other packages)
rm "${ED}"/usr/share/bash-completion/completions/_* || die
dodoc AUTHORS CHANGES CONTRIBUTING.md README.md
# install the eselect module
insinto /usr/share/eselect/modules
doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect"
doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5"
}
pkg_postinst() {
local v
for v in ${REPLACING_VERSIONS}; do
if ! version_is_at_least 2.1-r90 ${v}; then
ewarn "For bash-completion autoloader to work, all completions need to"
ewarn "be installed in /usr/share/bash-completion/completions. You may"
ewarn "need to rebuild packages that installed completions in the old"
ewarn "location. You can do this using:"
ewarn
ewarn "$ find ${EPREFIX}/usr/share/bash-completion -maxdepth 1 -type f '!' -name 'bash_completion' -exec emerge -1v {} +"
ewarn
ewarn "After the rebuild, you should remove the old setup symlinks:"
ewarn
ewarn "$ find ${EPREFIX}/etc/bash_completion.d -type l -delete"
fi
done
if has_version 'app-shells/zsh'; then
elog
elog "If you are interested in using the provided bash completion functions with"
elog "zsh, valuable tips on the effective use of bashcompinit are available:"
elog " http://www.zsh.org/mla/workers/2003/msg00046.html"
elog
fi
}

View File

@ -1,133 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
BASHCOMP_P=bashcomp-2.0.2
inherit versionator
DESCRIPTION="Programmable Completion for bash"
HOMEPAGE="https://github.com/scop/bash-completion"
SRC_URI="https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz
https://bitbucket.org/mgorny/bashcomp2/downloads/${BASHCOMP_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ~ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris"
IUSE="test"
# Multiple test failures, need to investigate the exact problem
RESTRICT="test"
# completion collision with net-fs/mc
RDEPEND=">=app-shells/bash-4.3_p30-r1
sys-apps/miscfiles
!app-eselect/eselect-bashcomp
!!net-fs/mc"
DEPEND="app-arch/xz-utils
test? (
${RDEPEND}
app-misc/dtach
dev-util/dejagnu
dev-tcltk/tcllib
)"
PDEPEND=">=app-shells/gentoo-bashcomp-20140911"
# Remove unwanted completions.
STRIP_COMPLETIONS=(
# Slackware package stuff, quite generic names cause collisions
# (e.g. with sys-apps/pacman)
explodepkg installpkg makepkg pkgtool removepkg upgradepkg
# Debian/Red Hat network stuff
ifdown ifup ifstatus
# Installed in app-editors/vim-core
xxd
# Now-dead symlinks to deprecated completions
hd ncal
# Installed by sys-apps/util-linux-2.28
mount umount mount.linux umount.linux
# Installed by sys-apps/util-linux-2.31
rfkill
)
src_prepare() {
eapply "${WORKDIR}/${BASHCOMP_P}/${PN}"-2.1_p*.patch
# Bug 543100, update bug 601194
eapply "${FILESDIR}/${PN}-2.1-escape-characters-r1.patch"
eapply_user
# Remove implicit completions for vim.
# https://bugs.gentoo.org/649986
sed -i -e 's/vi vim gvim rvim view rview rgvim rgview gview//' \
bash_completion || die
rm test/completion/vi.exp || die
}
src_test() {
# Tests need an interactive shell, #477066
# idea stolen from:
# http://pkgs.fedoraproject.org/cgit/rpms/bash-completion.git/tree/bash-completion.spec
# real-time output of the log ;-)
touch "${T}/dtach-test.log" || die
tail -f "${T}/dtach-test.log" &
local tail_pid=${!}
nonfatal dtach -N "${T}/dtach.sock" \
bash -c 'emake check &> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out'
kill "${tail_pid}"
[[ -f ${T}/dtach-test.out ]] || die "Unable to run tests"
[[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed"
}
src_install() {
# work-around race conditions, bug #526996
mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die
emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install
local file
for file in "${STRIP_COMPLETIONS[@]}"; do
rm "${ED}"/usr/share/bash-completion/completions/${file} || die
done
# remove deprecated completions (moved to other packages)
rm "${ED}"/usr/share/bash-completion/completions/_* || die
dodoc AUTHORS CHANGES CONTRIBUTING.md README.md
# install the eselect module
insinto /usr/share/eselect/modules
doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect"
doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5"
}
pkg_postinst() {
local v
for v in ${REPLACING_VERSIONS}; do
if ! version_is_at_least 2.1-r90 ${v}; then
ewarn "For bash-completion autoloader to work, all completions need to"
ewarn "be installed in /usr/share/bash-completion/completions. You may"
ewarn "need to rebuild packages that installed completions in the old"
ewarn "location. You can do this using:"
ewarn
ewarn "$ find ${EPREFIX}/usr/share/bash-completion -maxdepth 1 -type f '!' -name 'bash_completion' -exec emerge -1v {} +"
ewarn
ewarn "After the rebuild, you should remove the old setup symlinks:"
ewarn
ewarn "$ find ${EPREFIX}/etc/bash_completion.d -type l -delete"
fi
done
if has_version 'app-shells/zsh'; then
elog
elog "If you are interested in using the provided bash completion functions with"
elog "zsh, valuable tips on the effective use of bashcompinit are available:"
elog " http://www.zsh.org/mla/workers/2003/msg00046.html"
elog
fi
}

View File

@ -1,90 +1,105 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=6 EAPI=7
BASHCOMP_P=bashcomp-2.0.2 PYTHON_COMPAT=( python3_{7..9} )
EGIT_REPO_URI="https://github.com/scop/bash-completion" inherit autotools git-r3 python-any-r1 user-info
inherit autotools git-r3 versionator
DESCRIPTION="Programmable Completion for bash" DESCRIPTION="Programmable Completion for bash"
HOMEPAGE="https://github.com/scop/bash-completion" HOMEPAGE="https://github.com/scop/bash-completion"
SRC_URI="https://bitbucket.org/mgorny/bashcomp2/downloads/${BASHCOMP_P}.tar.gz" EGIT_REPO_URI="https://github.com/scop/bash-completion"
LICENSE="GPL-2" LICENSE="GPL-2+"
SLOT="0" SLOT="0"
KEYWORDS="" KEYWORDS=""
IUSE="test" IUSE="+eselect test"
RESTRICT="!test? ( test )"
# completion collision with net-fs/mc # completion collision with net-fs/mc
RDEPEND=">=app-shells/bash-4.3_p30-r1 RDEPEND=">=app-shells/bash-4.3_p30-r1:0
sys-apps/miscfiles sys-apps/miscfiles
!app-eselect/eselect-bashcomp
!!net-fs/mc" !!net-fs/mc"
DEPEND="app-arch/xz-utils DEPEND="
test? ( test? (
${RDEPEND} ${RDEPEND}
app-misc/dtach $(python_gen_any_dep '
dev-util/dejagnu dev-python/pexpect[${PYTHON_USEDEP}]
dev-tcltk/tcllib dev-python/pytest[${PYTHON_USEDEP}]
')
)" )"
PDEPEND=">=app-shells/gentoo-bashcomp-20140911" PDEPEND=">=app-shells/gentoo-bashcomp-20140911"
strip_completions() {
# Remove unwanted completions. # Remove unwanted completions.
STRIP_COMPLETIONS=( local strip_completions=(
# Slackware package stuff, quite generic names cause collisions # Slackware package stuff, quite generic names cause collisions
# (e.g. with sys-apps/pacman) # (e.g. with sys-apps/pacman)
explodepkg installpkg makepkg pkgtool removepkg upgradepkg explodepkg installpkg makepkg pkgtool removepkg upgradepkg
# Debian/Red Hat network stuff # Debian/Red Hat network stuff
ifdown ifup ifstatus ifdown ifup ifquery ifstatus
# Installed in app-editors/vim-core # Installed in app-editors/vim-core
xxd xxd
# Now-dead symlinks to deprecated completions # Now-dead symlinks to deprecated completions
hd ncal hd ncal
# Installed by sys-apps/util-linux-2.28 (and now deprecated)
_mount _umount _mount.linux _umount.linux
# Deprecated in favor of sys-apps/util-linux-2.31
_rfkill
) )
if [[ ${ARCH} != *-fbsd && ${ARCH} != *-freebsd ]]; then
strip_completions+=(
freebsd-update kldload kldunload portinstall portsnap
pkg_deinstall pkg_delete pkg_info
)
fi
local file
for file in "${strip_completions[@]}"; do
rm "${ED}"/usr/share/bash-completion/completions/${file} ||
die "stripping ${file} failed"
done
# remove deprecated completions (moved to other packages)
rm "${ED}"/usr/share/bash-completion/completions/_* || die
}
python_check_deps() {
has_version "dev-python/pexpect[${PYTHON_USEDEP}]" &&
has_version "dev-python/pytest[${PYTHON_USEDEP}]"
}
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_unpack() { src_unpack() {
git-r3_src_unpack use eselect && git-r3_fetch https://github.com/mgorny/bashcomp2
default git-r3_fetch
use eselect && git-r3_checkout https://github.com/mgorny/bashcomp2 \
"${WORKDIR}"/bashcomp2
git-r3_checkout
} }
src_prepare() { src_prepare() {
eapply "${WORKDIR}/${BASHCOMP_P}/${PN}"-2.1_p*.patch if use eselect; then
eapply_user # generate and apply patch
emake -C "${WORKDIR}"/bashcomp2 bash-completion-blacklist-support.patch
eapply "${WORKDIR}"/bashcomp2/bash-completion-blacklist-support.patch
fi
# redhat-specific, we strip these completions
rm test/t/test_if{down,up}.py || die
# not available for icedtea
rm test/t/test_javaws.py || die
eapply_user
eautoreconf eautoreconf
} }
src_test() { src_test() {
# Tests need an interactive shell, #477066 # portage's HOME override breaks tests
# idea stolen from: emake check HOME="$(egethome "${UID}")" PYTESTFLAGS="-vv" NETWORK=none
# http://pkgs.fedoraproject.org/cgit/rpms/bash-completion.git/tree/bash-completion.spec
# real-time output of the log ;-)
touch "${T}/dtach-test.log" || die
tail -f "${T}/dtach-test.log" &
local tail_pid=${!}
# override the default expect timeout and buffer size to avoid tests
# failing randomly due to cold cache, busy system or just more output
# than upstream anticipated (they run tests on pristine docker
# installs of binary distros)
nonfatal dtach -N "${T}/dtach.sock" \
bash -c 'emake check RUNTESTFLAGS="OPT_TIMEOUT=300 OPT_BUFFER_SIZE=1000000" \
&> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out'
kill "${tail_pid}"
[[ -f ${T}/dtach-test.out ]] || die "Unable to run tests"
[[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed"
} }
src_install() { src_install() {
@ -93,26 +108,20 @@ src_install() {
emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install
local file strip_completions
for file in "${STRIP_COMPLETIONS[@]}"; do
rm "${ED}"/usr/share/bash-completion/completions/${file} ||
die "stripping ${file} failed"
done
# remove deprecated completions (moved to other packages)
rm "${ED}"/usr/share/bash-completion/completions/_* || die
dodoc AUTHORS CHANGES CONTRIBUTING.md README.md dodoc AUTHORS CHANGES CONTRIBUTING.md README.md
# install the eselect module # install the eselect module
insinto /usr/share/eselect/modules use eselect &&
doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect" emake -C "${WORKDIR}"/bashcomp2 DESTDIR="${D}" \
doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5" PREFIX="${EPREFIX}/usr" install
} }
pkg_postinst() { pkg_postinst() {
local v local v
for v in ${REPLACING_VERSIONS}; do for v in ${REPLACING_VERSIONS}; do
if ! version_is_at_least 2.1-r90 ${v}; then if ver_test "${v}" -lt 2.1-r90; then
ewarn "For bash-completion autoloader to work, all completions need to" ewarn "For bash-completion autoloader to work, all completions need to"
ewarn "be installed in /usr/share/bash-completion/completions. You may" ewarn "be installed in /usr/share/bash-completion/completions. You may"
ewarn "need to rebuild packages that installed completions in the old" ewarn "need to rebuild packages that installed completions in the old"

View File

@ -1,27 +0,0 @@
--- bash-completion-2.1/bash_completion.orig 2014-03-09 17:38:14 +0000
+++ bash-completion-2.1/bash_completion 2014-03-13 23:26:44 +0000
@@ -536,13 +536,23 @@
# @param $2 Name of variable to return result to
_quote_readline_by_ref()
{
- if [[ $1 == \'* ]]; then
+ if [ -z "$1" ]; then
+ # avoid quoting if empty
+ printf -v $2 %s "$1"
+ elif [[ $1 == \'* ]]; then
# Leave out first character
printf -v $2 %s "${1:1}"
+ elif [[ $1 == \~* ]]; then
+ # avoid escaping first ~
+ printf -v $2 \~%q "${1:1}"
else
printf -v $2 %q "$1"
fi
+ # Replace double escaping ( \\ ) by single ( \ )
+ # This happens always when argument is already escaped at cmdline,
+ # and passed to this function as e.g.: file\ with\ spaces
+ [[ ${!2} == *\\* ]] && printf -v $2 %s "${1//\\\\/\\}"
# If result becomes quoted like this: $'string', re-evaluate in order to
# drop the additional quoting. See also: http://www.mail-archive.com/
# bash-completion-devel@lists.alioth.debian.org/msg01942.html

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata> <pkgmetadata>
<maintainer type="person"> <maintainer type="person">
<email>mgorny@gentoo.org</email> <email>mgorny@gentoo.org</email>
@ -9,6 +9,12 @@
<email>shell-tools@gentoo.org</email> <email>shell-tools@gentoo.org</email>
<name>Gentoo Shell Tools Project</name> <name>Gentoo Shell Tools Project</name>
</maintainer> </maintainer>
<use>
<flag name="eselect">
Support blacklisting of completions via 'eselect bash-completion'.
This enables custom Gentoo patching of upstream completion loader.
</flag>
</use>
<longdescription> <longdescription>
Since v2.04, bash has allowed you to intelligently program and extend its Since v2.04, bash has allowed you to intelligently program and extend its
standard completion behavior to achieve complex command lines with just a standard completion behavior to achieve complex command lines with just a
@ -23,7 +29,6 @@
</longdescription> </longdescription>
<stabilize-allarches/> <stabilize-allarches/>
<upstream> <upstream>
<remote-id type="bitbucket">mgorny/bashcomp2</remote-id>
<remote-id type="github">scop/bash-completion</remote-id> <remote-id type="github">scop/bash-completion</remote-id>
</upstream> </upstream>
</pkgmetadata> </pkgmetadata>