adding sexp_load_standard_parameters to fix -q option to main

This commit is contained in:
Alex Shinn 2009-12-27 16:38:37 +09:00
parent 6fa8474c42
commit 84404ac54a
3 changed files with 9 additions and 3 deletions

10
eval.c
View file

@ -2530,9 +2530,7 @@ sexp sexp_add_module_directory (sexp ctx, sexp dir, sexp appendp) {
return SEXP_VOID; return SEXP_VOID;
} }
sexp sexp_load_standard_env (sexp ctx, sexp e, sexp version) { sexp sexp_load_standard_parameters (sexp ctx, sexp e) {
sexp_gc_var3(op, tmp, sym);
sexp_gc_preserve3(ctx, op, tmp, sym);
/* add io port and interaction env parameters */ /* add io port and interaction env parameters */
sexp_env_define(ctx, e, sexp_global(ctx, SEXP_G_CUR_IN_SYMBOL), sexp_env_define(ctx, e, sexp_global(ctx, SEXP_G_CUR_IN_SYMBOL),
sexp_make_input_port(ctx, stdin, SEXP_FALSE)); 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_env_define(ctx, e, sexp_global(ctx, SEXP_G_CUR_ERR_SYMBOL),
sexp_make_output_port(ctx, stderr, SEXP_FALSE)); sexp_make_output_port(ctx, stderr, SEXP_FALSE));
sexp_env_define(ctx, e, sexp_global(ctx, SEXP_G_INTERACTION_ENV_SYMBOL), e); 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 #if SEXP_USE_DL
sexp_env_define(ctx, e, sexp_intern(ctx, "*shared-object-extension*"), sexp_env_define(ctx, e, sexp_intern(ctx, "*shared-object-extension*"),
sexp_c_string(ctx, sexp_so_extension, -1)); sexp_c_string(ctx, sexp_so_extension, -1));

View file

@ -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_null_env (sexp context, sexp version);
SEXP_API sexp sexp_make_primitive_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_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_load_standard_env (sexp context, sexp env, sexp version);
SEXP_API sexp sexp_find_module_file (sexp ctx, char *file); SEXP_API sexp sexp_find_module_file (sexp ctx, char *file);
SEXP_API sexp sexp_load_module_file (sexp ctx, char *file, sexp env); SEXP_API sexp sexp_load_module_file (sexp ctx, char *file, sexp env);

1
main.c
View file

@ -113,6 +113,7 @@ void run_main (int argc, char **argv) {
free(impmod); free(impmod);
break; break;
case 'q': case 'q':
sexp_load_standard_parameters(ctx, env);
init_loaded = 1; init_loaded = 1;
break; break;
case 'A': case 'A':