[Bug 778627] Re: In natty, bash completion now quotes shell variable references rather than expanding them
Axel Beckert
abe at deuxchevaux.org
Tue Oct 30 17:53:19 UTC 2012
Interestingly I can reproduce this issue only on some machines, but not
on all of them despite they all have bash 4.2.
I could reproduce it on Natty and Precise, on Debian Wheezy, and on one,
but not on all of my Debian Sid boxes (4.2-5).
Disabling the sourcing of /etc/bash_completion (either manually enabled
in /etc/bash.bashrc or ~/.bashrc) made the problem vanish on Debian and
on Natty, but not on Precise. Even purging bash-completion did not help
on Precise.
And that's not all: While on precise using "bash --rcfile /dev/null"
still did not fix the issue, it brought the issue back on Natty. And on
Debian Sid it still worked as expected, i.e. did not add any backslash.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to bash in Ubuntu.
https://bugs.launchpad.net/bugs/778627
Title:
In natty, bash completion now quotes shell variable references rather
than expanding them
Status in “bash” package in Ubuntu:
Confirmed
Status in “bash” package in Debian:
Unknown
Status in “bash” package in Fedora:
New
Bug description:
Binary package hint: bash
~$ mkdir -p /tmp/testd/finger/toe
/tmp$ cd /tmp/testd
/tmp/testd$ td=`pwd`
/tmp/testd$ cd ../
/tmp$ ls $td/fing
Type a TAB character at this point, and bash completion makes the line:
/tmp$ ls \$td/finger
Note that while 'fing' has been expanded to 'finger ' (with a space at the end), the $td variable reference has had the
$ character quoted with a backslash. This prevents further extension of the pathname, and in fact makes
the command invalid; if I type a newline at this point, I get:
ls: cannot access $td/finger: No such file or directory
This is not useful behavior. I believe that in Ubuntu 10.10, the $td variable would have been expanded
to '/tmp/testd', and subsequent completions starting from '/tmp/testd/finger' would have worked.
[The version of /etc/bash_completion.d/acroread.sh that is installed starts with:
# _filedir : to handle file and directories with spaces in their names.
if ! type _filedir &> /dev/null ; then
so I don't think that file is overriding /etc/bash_completion's
_filedir ...]
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: bash 4.2-0ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
Architecture: amd64
Date: Fri May 6 09:48:29 2011
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
ProcEnviron:
SHELL=/bin/bash
PATH=(custom, user)
LANG=en_US.UTF-8
LANGUAGE=en_US:en
SourcePackage: bash
UpgradeStatus: Upgraded to natty on 2011-04-30 (6 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/778627/+subscriptions
More information about the foundations-bugs
mailing list