Imported Upstream version 1.4.19
[platform/upstream/m4.git] / checks / 093.compositio
1 dnl @ ../doc/m4.texi:3705: Origin of test
2 dnl @ expected status: 0
3 dnl @ extra options: 
4 dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software
5 dnl @ Foundation, Inc.
6 dnl @ This file is free software; the Free Software Foundation
7 dnl @ gives unlimited permission to copy and/or distribute it
8 dnl @ with or without modifications, as long as this notice
9 dnl @ is preserved.
10 include(`curry.m4')include(`stack.m4')
11 dnl @result{}
12 define(`rename', `copy($@)undefine(`$1')')dnl
13 define(`copy', `ifdef(`$2', `errprint(`$2 already defined
14 ')m4exit(`1')',
15    `stack_foreach(`$1', `curry(`pushdef', `$2')')')')dnl
16 pushdef(`a', `1')pushdef(`a', defn(`divnum'))pushdef(`a', `2')
17 dnl @result{}
18 copy(`a', `b')
19 dnl @result{}
20 rename(`b', `c')
21 dnl @result{}
22 a b c
23 dnl @result{}2 b 2
24 popdef(`a', `c')c a
25 dnl @result{} 0
26 popdef(`a', `c')a c
27 dnl @result{}1 1