From ad83b1b00c548fe7cdb59337623e64b8b305a3e4 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Wed, 19 Mar 2014 21:54:22 +0900 Subject: [PATCH] Adding sexp_current_input_port(ctx) and sexp_current_output_port(ctx) macros. --- include/chibi/sexp.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/chibi/sexp.h b/include/chibi/sexp.h index c4e6676f..1066ace6 100755 --- a/include/chibi/sexp.h +++ b/include/chibi/sexp.h @@ -1506,6 +1506,8 @@ SEXP_API sexp sexp_finalize_c_type (sexp ctx, sexp self, sexp_sint_t n, sexp obj (sexp_proc2)finalizer) #endif +#define sexp_current_input_port(ctx) sexp_parameter_ref(ctx, sexp_env_ref(ctx, sexp_context_env(ctx), sexp_global(ctx,SEXP_G_CUR_IN_SYMBOL), SEXP_FALSE)) +#define sexp_current_output_port(ctx) sexp_parameter_ref(ctx, sexp_env_ref(ctx, sexp_context_env(ctx), sexp_global(ctx,SEXP_G_CUR_OUT_SYMBOL), SEXP_FALSE)) #define sexp_current_error_port(ctx) sexp_parameter_ref(ctx, sexp_env_ref(ctx, sexp_context_env(ctx), sexp_global(ctx,SEXP_G_CUR_ERR_SYMBOL), SEXP_FALSE)) #define sexp_debug(ctx, msg, obj) (sexp_portp(sexp_current_error_port(ctx)) ? (sexp_write_string(ctx, msg, sexp_current_error_port(ctx)), sexp_write(ctx, obj, sexp_current_error_port(ctx)), sexp_write_char(ctx, '\n', sexp_current_error_port(ctx))) : 0)