i hope this is the right section for this kind of question.
i notice that the "forward" and "reverse" macro directives, when used in macros that are not defined to received block arguments, will be processed once. This is ok. But when used in macros that are defined to received block arguments, it will be processed at least once, even if no arguments are given in macro invocation. For example :
macro greedyMacro [arg] {
forward
db arg
}
if called with > 0 arguments will be processed correctly :
but I think it shouldn't be processed at all if no arguments are given for the block argument. For example, calling greedyMacro with no arguments should make the forward block not processed at all.
what u do think?