diff options
-rw-r--r-- | cppawk-include/base.h | 2 | ||||
-rw-r--r-- | cppawk-include/fun-priv.h | 2 | ||||
-rw-r--r-- | cppawk-include/fun.h | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/cppawk-include/base.h b/cppawk-include/base.h index f22f599..5472233 100644 --- a/cppawk-include/base.h +++ b/cppawk-include/base.h @@ -34,6 +34,8 @@ #define __cat(a, b) a ## b #define __xcat(a, b) __cat(a, b) +#define __str(x) # x +#define __xstr(x) __str(x) #define __g(name) __xcat(name, __LINE__) #define __error(...) { printf(__VA_ARGS__); print; exit 1 } diff --git a/cppawk-include/fun-priv.h b/cppawk-include/fun-priv.h index 56313c0..5d60bfc 100644 --- a/cppawk-include/fun-priv.h +++ b/cppawk-include/fun-priv.h @@ -41,7 +41,7 @@ #endif #define __bind(fname, env) __cons(#fname, env) -#define __fun(fname) #fname +#define __fun_(fname) __xstr(fname) #define __call(fobj, ...) (__consp(fobj) \ ? __progn(__g(f) = __car(fobj), \ @__g(f)(__cdr(fobj), __VA_ARGS__)) \ diff --git a/cppawk-include/fun.h b/cppawk-include/fun.h index 6bf38ef..d54eeab 100644 --- a/cppawk-include/fun.h +++ b/cppawk-include/fun.h @@ -33,7 +33,7 @@ #endif #define bind(fname, env) __bind(fname, env) -#define fun(fname) __fun(fname) +#define fun(fname) __fun_(fname) #define call(...) __call(__VA_ARGS__) #endif |