blob: a3ac415ea414ded19ec37be0956d676949d06ef8 [file] [log] [blame]
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing,
## software distributed under the License is distributed on an
## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
## KIND, either express or implied. See the License for the
## specific language governing permissions and limitations
## under the License.
This tests to make sure that we only alter either
the local arg in a VM, or the global context.
So in foo, we are accessing the global 'b', and
the fact that we were called from bar that has it's
arg of 'b' is irrelevant.
#macro( foo $a )
foo : \$b = $b
#set ($b = $a * 2)
foo after : \$b = $b
#end
#macro( bar $b)
#woobie($b)
bar post woobie : $b
#end
#macro( woobie $b)
#foo($b)
woobie post foo : $b
#end
#set($b = 0 )
#set($arg = 4)
precall \$b = $b
#bar( $arg)
postcall \$b = $b