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

False positive error condition parsing VM_global_library.vm

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

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.3-rc1
    • 1.5
    • Engine
    • None
    • Operating System: Linux
      Platform: Other
    • 8716

    Description

      This bug is actually against 1.3 RC1, but there is no Version listing for that
      in the Bugzilla config.

      The initial parsing of the global Velocimacro library is incorrectly indicating
      an error when context variables which are not passed in as arguments to a macro
      are used when calling one macro within the body of another. Confusing, eh? I
      assume that this could be worked around by putting double quotes around the
      supposedly non-existent arguments to the invoked macro, but was wondering if
      this was a bug. Included is a sample problem case and some log output.

      From VM_global_library.vm:

      #macro(linkedLoginName $acl $user)
      #linkIf($user.isEditableBy($acl) $currentDomain.getProjectPageURL("UserEdit",
      "userID=$user.getID()") $user.getLoginName())
      #end

      #macro(linkIf $condition $link $text)
      #if ($condition) <a href="$link">$text</a> #else $text #end
      #end

      From velocity.log:

      2002-05-01 15:04:28,496 - Velocimacro : added new VM : #enterHelp( filename
      linktext ) : source = VM_global_library.vm
      2002-05-01 15:04:28,843 - VM #linkIf: error : too few arguments to macro. Wanted
      3 got 0
      2002-05-01 15:04:28,847 - VM #servletLink: error : too few arguments to macro.
      Wanted 2 got 0
      2002-05-01 15:04:28,848 - VM #servletLink: error : too few arguments to macro.
      Wanted 2 got 0
      2002-05-01 15:04:28,849 - VM #servletLink: error : too few arguments to macro.
      Wanted 2 got 0
      2002-05-01 15:04:28,857 - VM #displayProjectTreeAsOptions: error : too few
      arguments to macro. Wanted 4 got 0
      2002-05-01 15:04:28,907 - VM #selectYear: error : too few arguments to macro.
      Wanted 2 got 0
      2002-05-01 15:04:28,907 - VM #selectMonth: error : too few arguments to macro.
      Wanted 1 got 0
      2002-05-01 15:04:28,908 - VM #selectDay: error : too few arguments to macro.
      Wanted 1 got 0
      2002-05-01 15:04:29,109 - ResourceManager : found VM_global_library.vm with
      loader org.apache.velocity.runtime.resource.loader.FileResourceLoader
      2002-05-01 15:04:29,113 - Velocimacro : VM library template macro registration
      complete.
      2002-05-01 15:04:29,113 - Velocimacro : allowInline = true : VMs can be defined
      inline in templates

      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:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment