[ https://issues.apache.org/jira/browse/VELOCITY-947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Osipov closed VELOCITY-947. ----------------------------------- Resolution: Not A Problem Closing by request of [~fabio.nb]. > Input macro variable not changed outside scope > ---------------------------------------------- > > Key: VELOCITY-947 > URL: https://issues.apache.org/jira/browse/VELOCITY-947 > Project: Velocity > Issue Type: Bug > Components: Engine > Affects Versions: 1.7.x > Reporter: Fabio Nascimento Brandão > Priority: Major > Attachments: variable_velocity.tar.gz > > > I am migrating an application from Velocity Engine 1.5 to 1.7 (I am planning > to migrate to 2.x later) and I found a different behavior between 1.5, 1.6.x > and 1.7 versions. > If you have this template: > {code:java} > #macro(testMacro $variable $newValue) > #set($variable = $newValue) > #end > #set($testevar = 'INCORRECT') > Var before: $testevar > #testMacro($testevar 'TEST OK') > Var after: $testevar > {code} > The output for the versions 1.5, 1.6, 1.6.2, 1.6.3 and 1.6.4 are: > {code:java} > Var before: INCORRECT > Var after: TEST OK > {code} > And for versions 1.6.1 and 1.7 are: > {code:java} > Var before: INCORRECT > Var after: INCORRECT > {code} > In 1.5, the set inside macro was changing the referenced variable outside > macro's scope. In 1.6.1 and 1.7 the variable is not changed. > I think this change was introduced by this issue: > https://issues.apache.org/jira/browse/VELOCITY-615 > In this method: > > [https://github.com/apache/velocity-engine/commit/e0dec30ef0107ba0066fa18facdc1f7f2677087c#diff-79959d90eea878dd1d2550fa30aff8653a583339fe8125133b6a23573f2a0848L169-R173] > Before the change, the context was updated with the key from getRootString() > method. > I am attaching a project with the tests. You can change the velocity version > in _build.gradle_ and run with _./gradlew run_ -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org For additional commands, e-mail: dev-h...@velocity.apache.org