I may be blind, but I didn't find it mentioned anywhere that the Break from Loop action treats a subroutine macro as a loop, i.e. it breaks from (cancels) the subroutine without canceling the macro that executes the subroutine. This is in KM 11.0.2.
According to the wiki article, I'd rather expect this behavior from the Cancel Just This Macro action, but it doesn't seem to treat the subroutine macro as a macro, and instead cancels the executing macro.
The Continue Loop, Break From Loop, Retry Loop, refer to the surrounding loop (or currently, surrounding Group, but that is a bug), or failing that, to the macro as a whole.
But it's not very clear here that the "macro as a whole" can also be the subroutine without the executing macro.
This behavior of Break from Loop is quite useful, so I hope it's not a bug like the "Group treated as loop" was.
(Actually, I didn't look any further when I found out that Break from Loop does exactly what I need… But this one has the bonus of returning a value when needed, so I'll take it . Thanks for the hint!)
Funny enough, I have been using the subroutine macro with the Cancel Just This Macro action for years, apparently never thoroughly tested and always believing it would just cancel the subroutine, and yesterday the conditional kicked in for the first time ever…