[ https://issues.apache.org/jira/browse/VELOCITY-619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12636216#action_12636216 ]
Nathan Bubna commented on VELOCITY-619: --------------------------------------- I have mixed feelings about this. First, there are some backwards compatibility concerns. Since #set( $!foo = 2 ) always worked (though the bang was meaningless), this could break things for people who unwittingly use(d) that syntax already. That's not a showstopper, as they had no good reason to do so, but we would have to make sure to highlight such a change in the changelog, log a debug message each time, and perhaps even make this configurable. Second, it feels odd to me that #set( $!foo = 2 ) should work, but not #set( $!foo.bar = 2 ). Your comments in the patch simply say "it makes no sense", but why not? It seems like it's more a matter of being tricky to implement the check for the value. I think if we were to do this, it would be best to be as consistent about it as possible. Anyone else have thoughts about this? > New set modifier so that set only assigns a value when variable is not > defined. > ------------------------------------------------------------------------------- > > Key: VELOCITY-619 > URL: https://issues.apache.org/jira/browse/VELOCITY-619 > Project: Velocity > Issue Type: Improvement > Components: Engine > Reporter: Byron Foster > Attachments: setBangModifier_2.patch > > > Define a new #set modifier such that a variable is only set if it is not > defined, like so: > #set($!foo = "bar") > If the '!' character proceeds the variable foo, then $foo will be set with > the value of "bar" ONLY IF $foo is not defined (is not in the context). > Otherwise if $foo is defined it will remain unchanged. -- 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]