diff --git a/docs/manual/CoreTasks/macrodef.html b/docs/manual/CoreTasks/macrodef.html index 97c0a1b6c..0fb7e384b 100644 --- a/docs/manual/CoreTasks/macrodef.html +++ b/docs/manual/CoreTasks/macrodef.html @@ -98,6 +98,9 @@ The contents of the nested elements of the task instance are placed in the templated task at the tag name.

+

+ The case of the element name is ignored. +

Parameters

diff --git a/src/etc/testcases/taskdefs/macrodef.xml b/src/etc/testcases/taskdefs/macrodef.xml index b9fca2666..671bdad35 100644 --- a/src/etc/testcases/taskdefs/macrodef.xml +++ b/src/etc/testcases/taskdefs/macrodef.xml @@ -86,4 +86,19 @@ + + + + + + + + + + + + nested element + + + diff --git a/src/main/org/apache/tools/ant/taskdefs/MacroDef.java b/src/main/org/apache/tools/ant/taskdefs/MacroDef.java index 3e7e0e941..69d9353b8 100644 --- a/src/main/org/apache/tools/ant/taskdefs/MacroDef.java +++ b/src/main/org/apache/tools/ant/taskdefs/MacroDef.java @@ -395,7 +395,7 @@ public class MacroDef extends AntlibDefinition { throw new BuildException( "Illegal name [" + name + "] for attribute"); } - this.name = name; + this.name = name.toLowerCase(Locale.US); } /** diff --git a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java index 639bb5d13..102420617 100644 --- a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java +++ b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java @@ -277,7 +277,7 @@ public class MacroInstance extends Task implements DynamicConfigurator { while (e.hasMoreElements()) { RuntimeConfigurable r = (RuntimeConfigurable) e.nextElement(); UnknownElement unknownElement = (UnknownElement) r.getProxy(); - String tag = unknownElement.getTaskType(); + String tag = unknownElement.getTaskType().toLowerCase(Locale.US); MacroDef.TemplateElement templateElement = (MacroDef.TemplateElement) getNsElements().get(tag); if (templateElement == null) { diff --git a/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java b/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java index 73b4a1c44..8bb2131a6 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java @@ -109,5 +109,11 @@ public class MacroDefTest extends BuildFileTest { "ignorecase", "a is ab is b"); } + + public void testIgnoreElementCase() { + expectLog( + "ignore-element-case", + "nested elementnested element"); + } }