diff options
Diffstat (limited to 'cppawk-include/fun.h')
-rw-r--r-- | cppawk-include/fun.h | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/cppawk-include/fun.h b/cppawk-include/fun.h index 77ebf38..6bf38ef 100644 --- a/cppawk-include/fun.h +++ b/cppawk-include/fun.h @@ -28,27 +28,12 @@ #ifndef __CPPAWK_FUN_H #define __CPPAWK_FUN_H -#ifndef __CPPAWK_BASE_H -#include "base.h" +#ifndef __CPPAWK_FUN_PRIV_H +#include "fun-priv.h" #endif -#ifndef __CPPAWK_ITER_H -#include "iter.h" -#endif - -#ifndef __CPPAWK_CONS_H -#include "cons-priv.h" -#endif - -#if !__have_indirect_functions -#warning "<fun.h> requires an Awk with function indirection like newer GNU Awk" -#endif - -#define bind(fname, env) cons(#fname, env) -#define fun(fname) #fname -#define call(fobj, ...) (__consp(fobj) \ - ? progn(__g(f) = __car(fobj), \ - @__g(f)(__cdr(fobj), __VA_ARGS__)) \ - : @fobj(__VA_ARGS__)) +#define bind(fname, env) __bind(fname, env) +#define fun(fname) __fun(fname) +#define call(...) __call(__VA_ARGS__) #endif |