Uploaded image for project: 'Velocity'
  1. Velocity
  2. VELOCITY-108

Use of Velocimacro forward reference and/or recursion causes error messages

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 1.3-rc1
    • Fix Version/s: 1.5
    • Component/s: Engine
    • Labels:
      None
    • Environment:
      Operating System: All
      Platform: All
    • Bugzilla Id:
      13623

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                dlr@finemaltcoding.com Daniel Rall
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: