Scheme_Object *scheme_eval_compiled_sized_string(const char *str, int len, Scheme_Env *env) { Scheme_Object *port, *expr; Scheme_Config *config; config = scheme_current_config(); port = scheme_make_sized_byte_string_input_port(str, -len); /* negative means it's constant */ if (!env) env = scheme_get_env(NULL); expr = scheme_internal_read(port, NULL, 1, 1, 0, 0, -1, NULL); return _scheme_eval_compiled(expr, env); }
Scheme_Object *scheme_eval_compiled_sized_string_with_magic(const char *str, int len, Scheme_Env *env, Scheme_Object *magic_sym, Scheme_Object *magic_val, int multi_ok) { Scheme_Object *port, *expr; port = scheme_make_sized_byte_string_input_port(str, -len); /* negative means it's constant */ if (!env) env = scheme_get_env(NULL); expr = scheme_internal_read(port, NULL, 1, 1, 0, 0, -1, NULL, magic_sym, magic_val, NULL); if (multi_ok) return _scheme_eval_compiled_multi(expr, env); else return _scheme_eval_compiled(expr, env); }