<div dir="ltr">Hi,<div><br></div><div>Firstly please ignore my previous email containing a commit that adds completion for hidden targets when the user has partially offered the name because I've included that feature in the attached bundle along with a unit test.</div><div><br></div><div>Secondly, please would you have a look at the bundle and consider applying it?. </div><div>The contents are listed towards the end of this email. HOWEVER, please be warned that there is a bizarre test case failure in the last change which brings me to "Thirdly".</div><div><br></div><div>Thirdly, I really need some help with the last change in the bundle which is failing its unit test but it looks like a test suite bug. Details follow...</div><div><br></div><div><br></div><div>Help needed with a weird testcase assert failure</div><div>====================================</div><div>I wonder if somebody would be able to help with one of the changes in the bundle - it looks like a problem in the test suite but I couldn't follow the assertion code to figure it out.</div><div><br></div><div>The "Offer hidden targets" change fails its unit test where the completion appears to offer the expected targets:</div><div><br></div><div>  relevant section of the test</div><div>  ====================</div><div><div>set test "\"make .cache/.<TAB>\" should complete hidden targets"</div><div>set dir $::srcdir/fixtures/make</div><div>set targets ".1 .2"</div><div>assert_complete_dir $targets "make .cache/." $dir $test</div></div><div><br></div><div>  relevant section of the completion.log</div><div>  ============================</div><div><div>/@cd ./fixtures/make</div><div>/@echo $?</div><div>0</div><div>/@make .cache/.</div><div>.1  .2</div><div>/@make .cache/.FAIL: "make .cache/.<TAB>" should complete hidden targets</div><div>^C</div></div><div><br></div><div>As you see, the log shows that ".1" and ".2" are offered and the test shows that ".1" and ".2" are expected yet the test suite reports an assertion failure.</div><div><br></div><div>Any ideas?</div><div><br></div><div><br></div><div>Changes in this bundle:</div><div>==================</div><div><br></div><div><div>commit 3fcdd733ee003f421d8e8b74653e00e7ccb2d10b</div><div>Author: Tristan Wibberley <<a href="mailto:tristan.wibberley@gmail.com">tristan.wibberley@gmail.com</a>></div><div>Date:   Sun Apr 5 14:21:51 2015 +0100</div><div><br></div><div>    make: Offer hidden targets when it is clear that the user is trying to complete one of them</div><div><br></div><div>commit 5ed19e33817e020840aeb363bf4e7e1a03dbb503</div><div>Author: Tristan Wibberley <<a href="mailto:tristan.wibberley@gmail.com">tristan.wibberley@gmail.com</a>></div><div>Date:   Sun Apr 5 04:44:06 2015 +0100</div><div><br></div><div>    make: Add __BASH_MAKE_COMPLETION__ variable</div><div>    </div><div>    This variable is there so that makefiles can avoid adding targets that shouldn't be offered.</div><div>    A typical example would be targets added to dependency files by the -MP option to gcc.</div><div><br></div><div>commit e7ce9a6cc4d0664d8928e3fde8d505880a1799f4</div><div>Author: Tristan Wibberley <<a href="mailto:tristan.wibberley@gmail.com">tristan.wibberley@gmail.com</a>></div><div>Date:   Sun Apr 5 04:39:51 2015 +0100</div><div><br></div><div>    make: Fix detection of intermediate targets where make has changed its database whitespace</div><div><br></div></div></div>