[Bash-completion-devel] [bash-completion-Bugs][314417] completion for cc and c++ does not work

bash-completion-bugs at alioth.debian.org bash-completion-bugs at alioth.debian.org
Fri Sep 6 07:40:06 UTC 2013


bash-completion-Bugs item #314417 was changed at 2013-09-06 10:40 by Ville Skyttä
You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=314417&group_id=100114

Status: Open
Priority: 3
Submitted By: Nobody (None)
Assigned to: Nobody (None)
Summary: completion for cc and c++ does not work 
Distribution: Ubuntu
Originally reported in: None
Milestone: None
Status: None
Original bug number: 


Initial Comment:
Anonymous message posted by corbellini.andrea at gmail.com

Typing "cc <TAB>" at the bash prompt does not give any hint.

The problem lies in the following piece of /usr/share/bash-completion/completions/cc:

complete -F _gcc gcc g++ g77 gcj gpc &&{
    cc  --version 2>/dev/null | grep -q GCC && complete -F _gcc cc  || :
    c++ --version 2>/dev/null | grep -q GCC && complete -F _gcc c++ || :
}

"cc/gcc/c++/g++ --version" do not print GCC, therefore the completion for cc/c++ is never installed.

I suggest to use this check instead:

  [[ "$(readlink -f /usr/bin/cc)" == "$(readlink -f /usr/bin/gcc)" ]]

However a problem still remains: when cc is not GCC, there is no completion. Therefore

  || :

should be replaced with

  || complete -F _minimal cc

----------------------------------------------------------------------

>Comment By: Ville Skyttä  (scop-guest)
Date: 2013-09-06 10:40

Message:
Our cc completion is specifically a gcc one, so we explicitly do not want to install it to anything else but gcc. And the suggested readlink approach is flawed in multiple ways, readlink -f is not portable (the _realcommand() function could be used instead of it), and the binaries might not be in /usr/bin.

If your cc --version (assuming cc is gcc) output doesn't contain GCC, what does it output?

----------------------------------------------------------------------

You can respond by visiting: 
https://alioth.debian.org/tracker/?func=detail&atid=413095&aid=314417&group_id=100114



More information about the Bash-completion-devel mailing list