* automake.in (conditional_true_when): Return false if $WHEN == FALSE. (conditional_is_redundant): Simplify. (conditional_implies_one_of, variable_not_always_defined_in_cond): New functions (macro_define): Reject appends if the variable is not defined in all conditions where `+=' applies. (invert_conditions): Rewrite. Before this patch, invert_conditions("A_TRUE B_TRUE", "A_TRUE B_FALSE", "A_FALSE") would return ("A_FALSE B_TRUE", "A_FALSE B_TRUE"), which seems wrong (these conditions implies "A_FALSE"). Now it outputs (), which just means the input conditions cover all cases. (variable_conditions_permutations): Never output FALSE conditions. * tests/pluseq2.test, tests/pluseq3.test: Define data_DATA in the CHECK_FALSE condition to fix the test. * tests/pluseq5.test: Actually check the diagnostic. * tests/pluseq9.test: New file. * tests/Makefile.am (TESTS): Add pluseq9.test.