diff --git a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java index 1a3b5fcca..2199658cb 100644 --- a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java +++ b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java @@ -249,7 +249,8 @@ public class MacroInstance extends Task implements DynamicAttribute, TaskContain ret.setQName(ue.getQName()); ret.setTaskType(ue.getTaskType()); ret.setTaskName(ue.getTaskName()); - ret.setLocation(ue.getLocation()); + ret.setLocation( + macroDef.getBackTrace() ? ue.getLocation() : getLocation()); if (getOwningTarget() == null) { Target t = new Target(); t.setProject(getProject()); diff --git a/src/testcases/org/apache/tools/ant/LocationTest.java b/src/testcases/org/apache/tools/ant/LocationTest.java index 917f6598f..49f04cd8a 100644 --- a/src/testcases/org/apache/tools/ant/LocationTest.java +++ b/src/testcases/org/apache/tools/ant/LocationTest.java @@ -52,7 +52,7 @@ public class LocationTest extends BuildFileTest { assertFalse(c.getLocation().getLineNumber() == 0); } - public void XtestMacrodefWrappedTask() { + public void testMacrodefWrappedTask() { executeTarget("testMacrodefWrappedTask"); Echo e = (Echo) getProject().getReference("echo3"); assertTrue(getLog().indexOf("Line: "