summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2016-12-08 15:22:07 +0900
committerGitHub <[email protected]>2016-12-08 15:22:07 +0900
commitbcd91856fd5fdbc34d7719a3a8b5434be8efff21 (patch)
tree3cca3f96df6bfc4b412ba9d4caf91d6afef74d01
parent0d38ede33b3ff9fe5d5ce2c32d4a9325fc1d1b3e (diff)
parent0360a744b5fae6c29d91ba9729b7445415b9e293 (diff)
downloadmruby-bcd91856fd5fdbc34d7719a3a8b5434be8efff21.tar.gz
mruby-bcd91856fd5fdbc34d7719a3a8b5434be8efff21.zip
Merge pull request #3331 from dabroz/feature-load-exec
Promote load_exec to mruby API as mrb_load_exec (fixes #3248)
-rw-r--r--include/mruby/compile.h1
-rw-r--r--mrbgems/mruby-compiler/core/parse.y8
2 files changed, 5 insertions, 4 deletions
diff --git a/include/mruby/compile.h b/include/mruby/compile.h
index 3ccaf9f6a..ebcb3f355 100644
--- a/include/mruby/compile.h
+++ b/include/mruby/compile.h
@@ -174,6 +174,7 @@ MRB_API struct mrb_parser_state* mrb_parse_file(mrb_state*,FILE*,mrbc_context*);
MRB_API struct mrb_parser_state* mrb_parse_string(mrb_state*,const char*,mrbc_context*);
MRB_API struct mrb_parser_state* mrb_parse_nstring(mrb_state*,const char*,int,mrbc_context*);
MRB_API struct RProc* mrb_generate_code(mrb_state*, struct mrb_parser_state*);
+MRB_API mrb_value mrb_load_exec(mrb_state *mrb, struct mrb_parser_state *p, mrbc_context *c);
/* program load functions */
#ifndef MRB_DISABLE_STDIO
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index 05b948f8e..957ad5815 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -5692,8 +5692,8 @@ mrb_parse_string(mrb_state *mrb, const char *s, mrbc_context *c)
return mrb_parse_nstring(mrb, s, strlen(s), c);
}
-static mrb_value
-load_exec(mrb_state *mrb, parser_state *p, mrbc_context *c)
+MRB_API mrb_value
+mrb_load_exec(mrb_state *mrb, struct mrb_parser_state *p, mrbc_context *c)
{
struct RClass *target = mrb->object_class;
struct RProc *proc;
@@ -5752,7 +5752,7 @@ load_exec(mrb_state *mrb, parser_state *p, mrbc_context *c)
MRB_API mrb_value
mrb_load_file_cxt(mrb_state *mrb, FILE *f, mrbc_context *c)
{
- return load_exec(mrb, mrb_parse_file(mrb, f, c), c);
+ return mrb_load_exec(mrb, mrb_parse_file(mrb, f, c), c);
}
MRB_API mrb_value
@@ -5765,7 +5765,7 @@ mrb_load_file(mrb_state *mrb, FILE *f)
MRB_API mrb_value
mrb_load_nstring_cxt(mrb_state *mrb, const char *s, int len, mrbc_context *c)
{
- return load_exec(mrb, mrb_parse_nstring(mrb, s, len, c), c);
+ return mrb_load_exec(mrb, mrb_parse_nstring(mrb, s, len, c), c);
}
MRB_API mrb_value