From 102b946b9daea4d21cd656f6e78f237b983a47b6 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sat, 15 May 2010 13:08:33 +0900 Subject: [PATCH] getting current-in/out/err-ports without using eval in repl loop --- main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index ef97201b..99e4c196 100644 --- a/main.c +++ b/main.c @@ -27,9 +27,9 @@ static void repl (sexp ctx) { sexp_env_define(ctx, sexp_context_env(ctx), sexp_global(ctx, SEXP_G_INTERACTION_ENV_SYMBOL), env); sexp_context_tracep(ctx) = 1; - in = sexp_eval_string(ctx, "(current-input-port)", -1, env); - out = sexp_eval_string(ctx, "(current-output-port)", -1, env); - err = sexp_eval_string(ctx, "(current-error-port)", -1, env); + in = sexp_env_ref(env, sexp_global(ctx, SEXP_G_CUR_IN_SYMBOL), SEXP_FALSE); + out = sexp_env_ref(env, sexp_global(ctx, SEXP_G_CUR_OUT_SYMBOL), SEXP_FALSE); + err = sexp_env_ref(env, sexp_global(ctx, SEXP_G_CUR_ERR_SYMBOL), SEXP_FALSE); sexp_port_sourcep(in) = 1; while (1) { sexp_write_string(ctx, "> ", out);