After looking at bash-completion in detail, I believe this belongs to
bash package.
Let me explain the reasons behind this.
bash calls bash-completion, and bash-completion returns all the
filenames as a list of strings. bash takes care of displaying these
strings on the command line.
1) now, if bash-completion returns ~ (tilde) with a double quote like in "~",
the bash will go and change it to \"~\" (backslash, double-quote, tilde,
backslash, double-quote). So, when it interprets it, it will look for a file
with "~" (double-quote tilde double-quote).
2) if bash-completion returns ~ (tilde) with back-slash like in \" (backslash,
tilde), the bash will go and change it to \\~ (backslash, backslash, tilde). so
when it interprets it, it will look for a file with \" (backslash, tilde)
So, there is no way bash-completion can return a string for bash to
understand it correctly. Hence, something has to be done in bash.
>>> Some more hints about doing it in bash
bash has a file called pcomplete.c which has following line.
v = find_variable ("COMPREPLY");
this line calls the bash-completion and gets the reply in COMPREPLY (which is
an array of strings).
>>> End of hints
** Changed in: bash (Ubuntu)
Sourcepackagename: bash-completion => bash
--
"rm ~" tries to delete home directory, not the existing subdir "~"
https://bugs.launchpad.net/bugs/254762
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs