Please apply this patch to "make" completion. This avoids completion getting confused on variables when a makefile is reloaded.
--- completions/make | 10 +++++++--- test/fixtures/make/.gitignore | 1 + test/fixtures/make/Makefile | 5 +++++ test/lib/completions/make.exp | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/make/.gitignore diff --git a/completions/make b/completions/make index e84e5ba..ad1348b 100644 --- a/completions/make +++ b/completions/make @@ -20,9 +20,13 @@ function _make_target_extract_script() fi cat <<EOF - 1,/^# * Files/ d; # skip until files section - /^# * Not a target/,/^$/ d; # skip not target blocks - /^${prefix_pat}/,/^$/! d; # skip anything user dont want + 1,/^# * Make data base/ d; # skip any makefile output + /^# * Finished Make data base/,/^# * Make data base/{ + d; # skip any makefile output + } + /^# * Variables/,/^# * Files/ d; # skip until files section + /^# * Not a target/,/^$/ d; # skip not target blocks + /^${prefix_pat}/,/^$/! d; # skip anything user dont want # The stuff above here describes lines that are not # explicit targets or not targets other than special ones diff --git a/test/fixtures/make/.gitignore b/test/fixtures/make/.gitignore new file mode 100644 index 0000000..3d1325c --- /dev/null +++ b/test/fixtures/make/.gitignore @@ -0,0 +1 @@ +extra_makefile diff --git a/test/fixtures/make/Makefile b/test/fixtures/make/Makefile index 3d1d5f3..c04602f 100644 --- a/test/fixtures/make/Makefile +++ b/test/fixtures/make/Makefile @@ -39,3 +39,8 @@ clean: ifndef __BASH_MAKE_COMPLETION__ -include sample.d endif + +extra_makefile: + touch $@ +include extra_makefile + diff --git a/test/lib/completions/make.exp b/test/lib/completions/make.exp index 93a53db..041ef86 100644 --- a/test/lib/completions/make.exp +++ b/test/lib/completions/make.exp @@ -21,7 +21,7 @@ sync_after_int set test "\"make <TAB>\" should complete targets" set dir $::srcdir/fixtures/make -set targets "all sample install clean" +set targets "all sample install clean extra_makefile" assert_complete_dir $targets "make " $dir $test -- 2.5.0
_______________________________________________ Bash-completion-devel mailing list Bash-completion-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/bash-completion-devel