summaryrefslogtreecommitdiff
path: root/checks/093.compositio
diff options
context:
space:
mode:
Diffstat (limited to 'checks/093.compositio')
-rw-r--r--checks/093.compositio27
1 files changed, 27 insertions, 0 deletions
diff --git a/checks/093.compositio b/checks/093.compositio
new file mode 100644
index 0000000..c5d50e5
--- /dev/null
+++ b/checks/093.compositio
@@ -0,0 +1,27 @@
+dnl @ ../doc/m4.texi:3707: Origin of test
+dnl @ expected status: 0
+dnl @ extra options:
+dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software
+dnl @ Foundation, Inc.
+dnl @ This file is free software; the Free Software Foundation
+dnl @ gives unlimited permission to copy and/or distribute it
+dnl @ with or without modifications, as long as this notice
+dnl @ is preserved.
+include(`curry.m4')include(`stack.m4')
+dnl @result{}
+define(`rename', `copy($@)undefine(`$1')')dnl
+define(`copy', `ifdef(`$2', `errprint(`$2 already defined
+')m4exit(`1')',
+ `stack_foreach(`$1', `curry(`pushdef', `$2')')')')dnl
+pushdef(`a', `1')pushdef(`a', defn(`divnum'))pushdef(`a', `2')
+dnl @result{}
+copy(`a', `b')
+dnl @result{}
+rename(`b', `c')
+dnl @result{}
+a b c
+dnl @result{}2 b 2
+popdef(`a', `c')c a
+dnl @result{} 0
+popdef(`a', `c')a c
+dnl @result{}1 1