As explained here
and completed by Steve Haflich here
compiler macros should behave differently with respect to errors.
ECL is now closer to that spirit: when an error occurs, it aborts the expansion with a warning and continues processing the code through other channels. I will upload the associated changes today.