aboutsummaryrefslogtreecommitdiffstats
path: root/testcases-cons
diff options
context:
space:
mode:
Diffstat (limited to 'testcases-cons')
-rw-r--r--testcases-cons29
1 files changed, 29 insertions, 0 deletions
diff --git a/testcases-cons b/testcases-cons
index 4dc2788..c80bb5d 100644
--- a/testcases-cons
+++ b/testcases-cons
@@ -799,3 +799,32 @@ BEGIN {
(1 2 3 . 4)
(2 3 . 4)
(3 . 4)
+--
+42:
+$cppawk '
+#include <cons.h>
+
+function rev(li,
+ out)
+{
+ out = nil
+
+ while (!endp(li))
+ push(pop(li), out)
+
+ return out
+}
+
+BEGIN {
+ print sexp(rev(list(1, 2, 3)));
+ x = nil
+ print sexp(pop(x))
+ x = cons(3, 4)
+ print sexp(pop(x))
+ print x
+}'
+:
+(3 2 1)
+nil
+3
+4