Bug 994659
Summary: | presetting environment variable inhibits tab-completion of command | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Steve Tyler <stephent98> |
Component: | bash | Assignee: | Ondrej Oprala <ooprala> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 19 | CC: | admiller, ooprala, ovasik, sheltren, stephent98, tsmetana, ville.skytta |
Target Milestone: | --- | Keywords: | FutureFeature, Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Enhancement | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-04-01 10:29:31 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Steve Tyler
2013-08-07 17:45:31 UTC
AFAIK there's nothing that can be done about this in bash-completion, it's a bash thing -- our completion functions simply aren't invoked in those kinds of command lines: $ foo() { echo ; echo "in foo"; } $ complete -F foo foo $ foo <TAB> in foo $ foo=bar foo <TAB> # filename completion occurs I'm not much familiar with bash completion, but this looks like missing feature. I will take a look on it. Thanks, Roman. The journalctl completions are in the systemd package, not the bash-completion package: $ rpm -ql systemd | grep completions/journalctl /usr/share/bash-completion/completions/journalctl Steve BTW this has nothing to do with the bash-completion or journalctl packages or completions, see comment 1. FYI, Comment 3 was an FYI. :-) Presumably some completions will need to be installed to test the bash fixes. Or am I mistaken? Can completions be tested without completions? Comment 1 contains a completion for command foo, no need to install anything besides entering those two lines and start testing. Thanks for your clarification. That's very interesting. bash has a lot of features I don't know anything about ... $ fo[tab] fold font2c fonttosfnt foo foomatic-rip foo.sh for formail $ foo[tab] foo foomatic-rip foo.sh $ foo [tab] in foo [tab] in foo [enter] in foo $ $ complete | grep foo complete -F foo foo $ $ typeset -f foo foo () { echo; echo "in foo" } $ In this case the bash is trying filename completion. It could be somehow doable to learn bash (readline) to perform command completion. I'm testing bash-4.3-beta from upstream testing branch and this feature is working. It will appear in next release of bash. What test case are you using? $ foo() { echo ; echo "in foo"; } $ complete -F foo foo $ TZ=UTC fo[tab] # completion does not occur here $ fo[tab] # this works as expected fold font2c fonttosfnt foo foomatic-rip foo.sh for formail $ echo $BASH_VERSION 4.3.0(1)-beta bash-4.3-beta.tar.gz downloaded from here: http://git.savannah.gnu.org/cgit/bash.git/ $ TZ=UTC foo[tab] # this appears to work in foo [enter] in foo $ You're right. Even worse, it only completes using programmable completions - it doesn't complete for binary files in PATH. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. Hi and thanks for the report. This issue is now fixed in bash-4.3, which can be found in rawhide. |