Hardy regressions [bash-completion]
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bash-completion (Ubuntu) |
Fix Released
|
Low
|
Siegfried Gevatter |
Bug Description
Binary package hint: bash-completion
Here are some regressions that showed up on Hardy recently.
(Currently using 20060301-1ubuntu1).
===
Support for file names with spaces is broken:
1. Directory example
$ mkdir -p "dir a/dir b/dir c"
$ ls dir[TAB]
=>
$ ls dir\ a/[TAB]
=> Nothing happens. You're stuck there.
2. File example
$ touch "file 1 with spaces in name" "file 2 with spaces in name"
$ ls f[TAB]
=>
$ ls file\ [TAB]
=>
$ls file\\\ [TAB]
=>
$ ls file\\\\\\\ [TAB]
=>
$ ls file\\\\\\\\\\\\\\\ [TAB]
=>
$ ls file\\\
and so on... Not very useful.
===
scp host completion is broken:
$ grep "Host homer" ~/.ssh/config
Host homer homer.jknet homer.local
$ scp hom[TAB]
=>
$ scp homer homer.jknet homer.local:
With ssh it works:
$ ssh hom[TAB]
=>
$ ssh homer[TAB]
homer homer.jknet homer.local
===
scp file completion is broken:
Case 1:
This is bit strange. It works like expected from $HOME but not from other directories:
$ cd test
$ scp homer:[TAB]
=>
$ scp homer:
amy amy.jknet amy.local: file\ 1\ with\ spaces\ in\ name
arthur arthur.jknet: file\ 2\ with\ spaces\ in\ name
[...]
Ie. it lists other hosts from ~/.ssh/config and files from pwd.
In older versions it listed the contents of the default directory on the remote host. Much more useful.
Case 2:
Expansion happens on the local host instead of on the remote host.
$ cd
$ ls -d Archive*
Archive/ Archive.test/
$ ssh chaos "ls -d Archive*"
Archive
Archive.nobackup
$ scp chaos:Arch[TAB]
=>
$ scp chaos:Archive[TAB]
=>
$ scp chaos:Archive
Archive/ Archive.test/
Wrong! It should show Archive and Archive.nobackup.
2nd example for that:
$ ls xxx xxy
ls: cannot access xxx: No such file or directory
ls: cannot access xxy: No such file or directory
$ ssh chaos "ls xxx xxy"
xxx
ls: xxy: No such file or directory
$ scp chaos:xx[TAB]
=> nothing happens because completion is done locally
$ touch xxy
$ scp chaos:xx[TAB]
=>
$ scp chaos:xxy
Wrong! xxy is on the local host, not on the remote host.
Related branches
Changed in bash-completion: | |
assignee: | nobody → rainct |
importance: | Undecided → Low |
status: | Confirmed → In Progress |
tab complete is not working at all for me on apt-get xyz