Details
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
- is duplicated by
-
VELOCITY-108 Use of Velocimacro forward reference and/or recursion causes error messages
- Closed