Ned Freed writes:
I don't suppose there's anything to do about it, but it still riles me.Me too. In fact I had to deal with exactly this case recently because I just improved checking of tagged arguments in our implementation. And I have to agree there's nothing to be done about it.
Heh. Improve it to handle this.Consider the extensions random, which provides a test which returns true or false randomly, and well, which provides a tag for fileinto.
require [ "random", "ihave" ];
if anyof( random, not ihave "well" ) {
fileinto :well "a";
} elsif random {
fileinto :well "b";
} else {
fileinto :well "c";
}
Two of those three blocks are bad. Which ones? I have NOT improved my
code to the point of handling this.
A similar case I've seen come up many times over the years is that of scripting languages that allow abbreviations. So you write something like this in a script:$ rec foo
(REXX?)
I suppose another way to think of it is as an untested code path which, when finally activated, is found to contain a bug. But thqt doesn't provide much solace either.
No... I hate it when person x changing something here breaks something for person y over there. Too great potential for sending either/both of them chasing wild geese.
Arnt