thanks to Etan's comment and Aaron's tip on where the makefiles are, I was able to debug this.
I ran set -x to keep track of what happens when performing a tab. The output of make c<tab> consists mainly of commands from the bash completion file for make located in /usr/share/bash-completion/completions/make (1). However, I noticed a mismatch between the output and the file. Towards the end, the exit said:
+ local mode=-- + (( COMP_TYPE != 9 )) ++ set +o ++ grep --colour=auto -n -F posix + local 'reset=23:set +o posix' + set +o posix
which I identified as matching these lines from the file:
if (( COMP_TYPE != 9 )); then mode=-d # display-only mode fi local reset=$( set +o | grep -F posix ); set +o posix # for <(...)
So the output was grep --colour=auto -n instead of grep . Indeed, I set this alias for grep
Do the job as soon as I remove the alias.
I hope this helps others debug their problems.
EDIT: I sent an error report here: https://alioth.debian.org/tracker/index.php?func=detail&aid=315108&group_id=100114&atid=413095
Ciprian tomoiagă
source share