
| Key: |
VELOCITY-108
|
| Type: |
Bug
|
| Status: |
Closed
|
| Resolution: |
Duplicate
|
| Priority: |
Major
|
| Assignee: |
Unassigned
|
| Reporter: |
Daniel Rall
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
File Attachments:
|
|
|
Environment:
|
Operating System: All
Platform: All
Operating System: All
Platform: All
|
|
Issue Links:
|
Duplicate
|
|
This issue duplicates:
|
|
VELOCITY-71
False positive error condition parsing VM_global_library.vm
|
|
|
|
|
|
|
|
| Bugzilla Id: |
13623
|
| Resolution Date: |
29/Sep/05 08:43 AM
|
|
I've confirmed that both forward referenced and recursed Velocimacros cause
error messages in 1.3-rc1 and 1.3.1-rc2 (I assume the intervening versions are
affected as well). I have not (yet) tested 1.4-dev.
The error message currently spouted by
org.apache.velocity.runtime.directive.VelocimacroProxy does not differentiate
between forward referencing and recursion (it is a very similar problem), and is
not representitive of the problem. It goes as follows:
2002-10-14 16:03:49,562 - VM #linkIf: error : too few arguments to macro.
Wanted 3 got 0
This issue can be reproduced through either of the following setups:
a) Use the #linkIf macro in your VM_global_library.vm, then define it later on
in the file.
b) Define a #linkIf macro which calls itself recursively.
The expected behavior is that Velocity will either provide a more accurate
description of what it wants from the user, or allow forward referencing and
recursion without error messages. If not already in use, perhaps a multi-pass
approach to dealing with Velocimacro libraries should be put in place to
implement this.
|
|
Description
|
I've confirmed that both forward referenced and recursed Velocimacros cause
error messages in 1.3-rc1 and 1.3.1-rc2 (I assume the intervening versions are
affected as well). I have not (yet) tested 1.4-dev.
The error message currently spouted by
org.apache.velocity.runtime.directive.VelocimacroProxy does not differentiate
between forward referencing and recursion (it is a very similar problem), and is
not representitive of the problem. It goes as follows:
2002-10-14 16:03:49,562 - VM #linkIf: error : too few arguments to macro.
Wanted 3 got 0
This issue can be reproduced through either of the following setups:
a) Use the #linkIf macro in your VM_global_library.vm, then define it later on
in the file.
b) Define a #linkIf macro which calls itself recursively.
The expected behavior is that Velocity will either provide a more accurate
description of what it wants from the user, or allow forward referencing and
recursion without error messages. If not already in use, perhaps a multi-pass
approach to dealing with Velocimacro libraries should be put in place to
implement this. |
Show » |
|
Does velocity in general support recursive VM calling (protecting a given
level's references from redefinition in other recursion levels)?