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

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

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.3-rc1
    • 1.5
    • Engine
    • None
    • Operating System: All
      Platform: All
    • 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment