[ 
https://issues.apache.org/jira/browse/VELOCITY-285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Henning Schmiedehausen closed VELOCITY-285.
-------------------------------------------


> reference within macro and foreach is incorrect
> -----------------------------------------------
>
>                 Key: VELOCITY-285
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-285
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.4
>         Environment: Operating System: other
> Platform: Other
>            Reporter: Gilles Scokart
>         Assigned To: Henning Schmiedehausen
>            Priority: Minor
>             Fix For: 1.5
>
>
> It seems that there is a bug when we have loop into a recursive macro.
> Here is the test I run :
> #macro (test_loop $p)
> call to test_loop ($p)
> #foreach($child in $p)
>     in the loop the param should not be changed : ($p)
> #test_loop($child)
> #end
> return
> #end
> #set($l1=["a"])
> #set($l = [$l1])
> #test_loop($l)
> It produce:
> call to test_loop ([[a]])
>       in the loop the param should not be changed : ([[a]])
> call to test_loop ([a])
>       in the loop the param should not be changed : (a)
> call to test_loop (a)
> return
> return
> return
> IMHO, it should be 
> call to test_loop ([[a]])
>       in the loop the param should not be changed : ([[a]])
> call to test_loop ([a])
>       in the loop the param should not be changed : ([a])
> call to test_loop (a)
> return
> return
> return
> The difference is in the second recusive call.  I don't know why, but it seems
> that the instruction #foreach($child in $p) has modified $p that contains the
> value of $child.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to