summaryrefslogtreecommitdiff
path: root/mini_builtin.c
diff options
context:
space:
mode:
Diffstat (limited to 'mini_builtin.c')
-rw-r--r--mini_builtin.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/mini_builtin.c b/mini_builtin.c
index d9827e70e4..75ea94d37d 100644
--- a/mini_builtin.c
+++ b/mini_builtin.c
@@ -23,7 +23,8 @@ prelude_ast_value(VALUE name, VALUE code, int line)
static void
pm_prelude_load(pm_parse_result_t *result, VALUE name, VALUE code, int line)
{
- pm_options_line_set(&result->options, line);
+ pm_parse_result_init(result);
+ pm_options_line_set(result->options, line);
VALUE error = pm_parse_string(result, code, name, NULL);
if (!NIL_P(error)) {
@@ -60,7 +61,7 @@ builtin_iseq_load(const char *feature_name, const struct rb_builtin_function *ta
};
if (rb_ruby_prism_p()) {
- pm_parse_result_t result = { 0 };
+ pm_parse_result_t result;
pm_prelude_load(&result, name_str, code, start_line);
vm->builtin_function_table = table;
@@ -96,24 +97,22 @@ builtin_iseq_load(const char *feature_name, const struct rb_builtin_function *ta
return iseq;
}
-static void
-load_with_builtin_functions(const char *feature_name, const struct rb_builtin_function *table)
+void
+rb_load_with_builtin_functions(const char *feature_name, const struct rb_builtin_function *table)
{
const rb_iseq_t *iseq = builtin_iseq_load(feature_name, table);
- rb_namespace_enable_builtin();
- rb_iseq_eval_with_refinement(iseq, rb_mNamespaceRefiner);
- rb_namespace_disable_builtin();
+ rb_iseq_eval(iseq, rb_root_box());
+}
+
+VALUE
+rb_define_gem_modules(VALUE _a, VALUE _b)
+{
+ // do nothing - moniruby doesn't load gem_prelude.rb.
+ return Qnil;
}
void
-rb_load_with_builtin_functions(const char *feature_name, const struct rb_builtin_function *table)
+rb_load_gem_prelude(VALUE _)
{
- const rb_iseq_t *iseq;
- if (rb_namespace_available() && rb_mNamespaceRefiner) {
- load_with_builtin_functions(feature_name, table);
- }
- else {
- iseq = builtin_iseq_load(feature_name, table);
- rb_iseq_eval(iseq);
- }
+ // do nothing - miniruby doesn't support loading RubyGems.
}