Show valid parameter names in the error message when a macro is called with an invalid parameter name
diff --git a/src/main/java/freemarker/core/Environment.java b/src/main/java/freemarker/core/Environment.java
index 13ef380..7338895 100644
--- a/src/main/java/freemarker/core/Environment.java
+++ b/src/main/java/freemarker/core/Environment.java
@@ -1056,7 +1056,8 @@
private _MiscTemplateException newUndeclaredParamNameException(Macro macro, String argName) {
return new _MiscTemplateException(this,
(macro.isFunction() ? "Function " : "Macro "), new _DelayedJQuote(macro.getName()),
- " has no parameter with name ", new _DelayedJQuote(argName), ".");
+ " has no parameter with name ", new _DelayedJQuote(argName), ". Valid parameter names are: "
+ , new _DelayedJoinWithComma(macro.getArgumentNames()));
}
private _MiscTemplateException newBothNamedAndPositionalCatchAllParamsException(Macro macro) {