aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cppawk-include/cons.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/cppawk-include/cons.h b/cppawk-include/cons.h
index f5d9671..ca3bb39 100644
--- a/cppawk-include/cons.h
+++ b/cppawk-include/cons.h
@@ -98,7 +98,7 @@
prog(__g(i) = cdr(__g(i)), index++))
#define list_begin() ""
-#define list_add(stk, item) (length(item) ":" item stk)
+#define list_add(stk, item) __pack(stk, item)
#define list_end(stk) __unpack(stk)
#define __bag_init_first(x) (x = list_begin())
@@ -376,6 +376,11 @@ function equal(__obj1, __obj2)
#define equal(obj1, obj2) ((obj1) == (obj2) ? 1 : __slow_equal(obj1, obj2))
+function __pack(__stk, __item)
+{
+ return length(__item) ":" __item __stk
+}
+
function __unpack(__stk,
__col, __out)
{