Change in parsing macro since v4?

macro DEFArr(space)
real[int] space#Arr(space#.ndof); //
mesh Th = square(10,10,flags=3);
fespace Lh(Th,P0);

The above code used to be fine on older versions. Now on v4.2 I get error:
2 : real[int] LhArr(Lhndof) The Identifier Lhndof does not exist

But if I remoe the # before “.ndof” in the macro as

macro DEFArr(space)
real[int] space#Arr(space.ndof); //

Then it correctly expands to LhArr(Lh.ndof) with the dot. Has this change been made since V4?


thank you, this has now been fixed in the develop branch.
However as you pointed out, the # is not needed when there is already a separator (the ‘.’ in your example): ‘space’ is identified as a macro parameter and replaced accordingly.