From 84404ac54aab30e1d1e6c2c01a7fc3d379f46331 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sun, 27 Dec 2009 16:38:37 +0900 Subject: [PATCH] adding sexp_load_standard_parameters to fix -q option to main --- eval.c | 10 +++++++--- include/chibi/eval.h | 1 + main.c | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/eval.c b/eval.c index 0eab33aa..22f13c1a 100644 --- a/eval.c +++ b/eval.c @@ -2530,9 +2530,7 @@ sexp sexp_add_module_directory (sexp ctx, sexp dir, sexp appendp) { return SEXP_VOID; } -sexp sexp_load_standard_env (sexp ctx, sexp e, sexp version) { - sexp_gc_var3(op, tmp, sym); - sexp_gc_preserve3(ctx, op, tmp, sym); +sexp sexp_load_standard_parameters (sexp ctx, sexp e) { /* add io port and interaction env parameters */ sexp_env_define(ctx, e, sexp_global(ctx, SEXP_G_CUR_IN_SYMBOL), sexp_make_input_port(ctx, stdin, SEXP_FALSE)); @@ -2541,6 +2539,12 @@ sexp sexp_load_standard_env (sexp ctx, sexp e, sexp version) { sexp_env_define(ctx, e, sexp_global(ctx, SEXP_G_CUR_ERR_SYMBOL), sexp_make_output_port(ctx, stderr, SEXP_FALSE)); sexp_env_define(ctx, e, sexp_global(ctx, SEXP_G_INTERACTION_ENV_SYMBOL), e); +} + +sexp sexp_load_standard_env (sexp ctx, sexp e, sexp version) { + sexp_gc_var3(op, tmp, sym); + sexp_gc_preserve3(ctx, op, tmp, sym); + sexp_load_standard_parameters(ctx, e); #if SEXP_USE_DL sexp_env_define(ctx, e, sexp_intern(ctx, "*shared-object-extension*"), sexp_c_string(ctx, sexp_so_extension, -1)); diff --git a/include/chibi/eval.h b/include/chibi/eval.h index 8ba7b442..297f2b70 100644 --- a/include/chibi/eval.h +++ b/include/chibi/eval.h @@ -133,6 +133,7 @@ SEXP_API sexp sexp_make_env (sexp context); SEXP_API sexp sexp_make_null_env (sexp context, sexp version); SEXP_API sexp sexp_make_primitive_env (sexp context, sexp version); SEXP_API sexp sexp_make_standard_env (sexp context, sexp version); +SEXP_API sexp sexp_load_standard_parameters (sexp context, sexp env); SEXP_API sexp sexp_load_standard_env (sexp context, sexp env, sexp version); SEXP_API sexp sexp_find_module_file (sexp ctx, char *file); SEXP_API sexp sexp_load_module_file (sexp ctx, char *file, sexp env); diff --git a/main.c b/main.c index 85ee9ba1..55fa6dba 100644 --- a/main.c +++ b/main.c @@ -113,6 +113,7 @@ void run_main (int argc, char **argv) { free(impmod); break; case 'q': + sexp_load_standard_parameters(ctx, env); init_loaded = 1; break; case 'A':