diff --git a/kiss/src/kiss/Kiss.hx b/kiss/src/kiss/Kiss.hx index 34cac715..7c5daff6 100644 --- a/kiss/src/kiss/Kiss.hx +++ b/kiss/src/kiss/Kiss.hx @@ -555,7 +555,14 @@ class Kiss { case CallExp({pos: _, def: Symbol(mac)}, args) if (macros.exists(mac)): checkNumArgs(mac); macroUsed = true; - var expanded = macros[mac](exp, args.copy(), k); + var expanded = try { + macros[mac](exp, args.copy(), k); + } catch (error:KissError) { + throw error; + } catch (error:Dynamic) { + throw KissError.fromExp(exp, 'Macro expansion error: $error'); + }; + if (expanded != null) { convert(expanded); } else if (macroExpandOnly) {