The anonymous in macroA.C declares an integer to be 1 then calls an anonymous in macroB.C, which sets the integer to be 2. Then it writes the result.
In this case, the result is 1. So apparently, the change within macroB is local within the anonymous macro (i.e. not the same as root 5).
However, removing the blank line in macroA.C (i.e. the second line), changes the result to 2. So in this case, we get the same result as for root 5.
Adding or removing a blank line should not change the result of code.