| Summary: | app-shells/bash-completion-20060301-r3 is broken | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Davide Pesavento (RETIRED) <pesa> |
| Component: | New packages | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | coldwind, matrix47 |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
There's another problem. Only login shells execute /etc/profile; non-login interactive shells source ~/.bashrc, so completions are not loaded for terminals that don't spawn a login shell (xterm, konsole, ...). IMHO this should be mentioned in the elog message in pkg_postinst(), which is partially wrong at the moment: afaics editing ~/.bashrc is still needed... Santiago, you unmasked the package. Could you please fix these issues? Wrt the first problem:
$ echo ${foo-unset}
$ export foo=bar
$ echo ${foo-unset}
yields the expected results. What's the problem you're having? What do you mean by "broken"?
And the second problem, I've just added a message on pkg_postinst as you suggested.
Closing the bug, please, reopen if the first problem persists and explain how it's broken. Thanks.
Nope sorry, the only problem is explained in comment #1. Just ${foo:-bar} is "more standard" than ${foo-bar}, but it's purely a style thing, behavior is identical. ;-) Thanks for your quick fixing. |
After digging a bit, I found that the root cause is a typo in /etc/profile.d/bash-completion.sh @@ -20,7 +20,7 @@ # Some modules, including base, depend on the definitions # in .pre. See the ebuild for how this is created. if ! $loaded_pre; then - if [[ ${BASH_COMPLETION-unset} == unset ]]; then + if [[ ${BASH_COMPLETION:-unset} == unset ]]; then BASH_COMPLETION=/usr/share/bash-completion/base fi source /usr/share/bash-completion/.pre