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

False positive error condition parsing VM_global_library.vm

    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

            People

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

              Dates

                Created:
                Updated:
                Resolved: