You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Will Glass-Husain (JIRA)" <de...@velocity.apache.org> on 2007/08/21 19:27:30 UTC

[jira] Commented: (VELOCITY-362) can't load macros in file loaded with #parse

    [ https://issues.apache.org/jira/browse/VELOCITY-362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12521535 ] 

Will Glass-Husain commented on VELOCITY-362:
--------------------------------------------

This is really a great patch.  Nice enhancement to the macro functionality.  An easily understandable structure.  Good code style.  The patch file worked fine for me (Eclipse automatically creates the new file).

I made one minor change to the code -- in mergeTemplate I changed the catch(Exception) clause to rethrow a RuntimeException instead of logging it.  I also made minor changes to some of the comments.

One big problem.  "ant test" does not pass. The parsing of the new test templates does not match the compare files.

Could you have submitted the wrong test or compare templates?  (or could they be different in the patch file)?

I

> can't load macros in file loaded with #parse
> --------------------------------------------
>
>                 Key: VELOCITY-362
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-362
>             Project: Velocity
>          Issue Type: Improvement
>          Components: Engine
>    Affects Versions: 1.4
>         Environment: Operating System: All
> Platform: All
>            Reporter: whxbb
>            Priority: Minor
>             Fix For: 1.6
>
>         Attachments: patch.zip
>
>
> I think this is a big bug. I've used velocity in my projects, erveything is ok
> but this. i want to know it's this problem will be resolved in next version? if
> it's not, i have to abandon velocity.
> the bug is :
> from doc:
>  This is important to remember if you try to #parse() a template containing
> inline #macro() directives. Because the #parse() happens at runtime, and the
> parser decides if a VM-looking element in the template is a VM at parsetime,
> #parse()-ing a set of VM declarations won't work as expected. To get around
> this, simply use the velocimacro.library  facility to have Velocity load your
> VMs at startup.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org