> But I wonder if this isn't the expected behavior according to bmake(1): Well, -1 is 1 in this case, so 2..-1 is 2..1, which is 1..2 in reverse. I think you need to test foo[#].