Hi nidud,
AFAICS the problem is mainly relevant for two cases: elseif macro() and or'ed macros like this:
; Let esi="This is a stupid test"
.Break .if Instr_(esi, "stuupid") ; works correctly
; both macros get expanded at the label, but only the second one gets tested
.Break .if Instr_(esi, "stuupid") || Instr_(esi, "stupid")
There is, of course, a simple workaround for the latter case: two .Break .if lines.
Again, a warning for the noobs would be luxury, but Japheth seems not so eager to dig into it, so I'll pull out and leave him in peace :icon14: