[Bash-completion-devel] [bash-completion-Bugs][312409] No completions for files in /etc/ld.so.conf.d
bash-completion-bugs at alioth.debian.org
bash-completion-bugs at alioth.debian.org
Wed Mar 24 09:34:27 UTC 2010
Bugs item #312409, was changed at 2010-03-23 15:18 by Ville Skyttä
You can respond by visiting:
https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=312409&group_id=100114
Status: Open
Priority: 3
Submitted By: Mark Rosenstand (rosenstand-guest)
Assigned to: Nobody (None)
Summary: No completions for files in /etc/ld.so.conf.d
Distribution: None
Originally reported in: None
Milestone: None
>Status: Accepted
Original bug number:
Initial Comment:
Trying to tab-complete "vi /etc/ld.so.conf.d/" gives no result even though the directory holds two files.
This is upstream 1.1 with debian/patches/*.patch applied from Debian's 1.1-3 and bash 4.1(.002).
----------------------------------------------------------------------
>Comment By: Ville Skyttä (scop-guest)
Date: 2010-03-24 11:34
Message:
This is because the compgen spec in question tries to avoid listing *.so and *.so.* as completions _but_ to list *.so.conf in them, and it tries to do it with (unrelated bits removed from the glob):
complete -f -X '*.@(so|so.!(conf))'
However as you noted this fails for example when completing files in /etc/ld.so.conf.d/ with full path because the -X pattern applies to whole completion strings (in this case, the whole file path, not just the file basename), and all /etc/ld.so.conf.d/* full paths match '*.so.!(conf)' and thus get excluded. I'm not sure what would be the best way to fix this, and I suppose we might have similar problems here and there elsewhere in bash completion.
----------------------------------------------------------------------
You can respond by visiting:
https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=312409&group_id=100114
More information about the Bash-completion-devel
mailing list