aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-06 14:31:43 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-06 14:31:43 +0000
commit328e0ff5ad47c4d88aeeb6341fe66b33b4bb8b37 (patch)
treec987dd15bbb2074dfd7d9cb63515e46404c595e7 /eval.c
parent34592fb5b6798b15a3fbc1dd62ad5e0250411f52 (diff)
downloadruby-328e0ff5ad47c4d88aeeb6341fe66b33b4bb8b37.tar.gz
* eval.c (ruby_Init_refinement): a new function to enable
Refinements with a warning "Refinements are experimental...". * ext/refinement/refinement.c, ext/refinement/extconf.rb: a new extension library to enable Refinements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/eval.c b/eval.c
index 9d9821a20e..ed84059374 100644
--- a/eval.c
+++ b/eval.c
@@ -1616,9 +1616,6 @@ Init_eval(void)
rb_define_private_method(rb_cModule, "include", rb_mod_include, -1);
rb_define_private_method(rb_cModule, "prepend_features", rb_mod_prepend_features, 1);
rb_define_private_method(rb_cModule, "prepend", rb_mod_prepend, -1);
- rb_define_private_method(rb_cModule, "using", rb_mod_using, 1);
- rb_define_private_method(rb_cModule, "refine", rb_mod_refine, 1);
- rb_define_method(rb_cModule, "refinements", rb_mod_refinements, 0);
rb_undef_method(rb_cClass, "module_function");
@@ -1629,7 +1626,6 @@ Init_eval(void)
rb_define_singleton_method(rb_cModule, "constants", rb_mod_s_constants, -1);
rb_define_singleton_method(rb_vm_top_self(), "include", top_include, -1);
- rb_define_singleton_method(rb_vm_top_self(), "using", top_using, 1);
rb_define_method(rb_mKernel, "extend", rb_obj_extend, -1);
@@ -1641,3 +1637,20 @@ Init_eval(void)
OBJ_TAINT(exception_error);
OBJ_FREEZE(exception_error);
}
+
+#if defined __GNUC__ && __GNUC__ >= 4
+#pragma GCC visibility push(default)
+#endif
+
+void
+ruby_Init_refinement(void)
+{
+ rb_define_private_method(rb_cModule, "using", rb_mod_using, 1);
+ rb_define_private_method(rb_cModule, "refine", rb_mod_refine, 1);
+ rb_define_method(rb_cModule, "refinements", rb_mod_refinements, 0);
+ rb_define_singleton_method(rb_vm_top_self(), "using", top_using, 1);
+}
+
+#if defined __GNUC__ && __GNUC__ >= 4
+#pragma GCC visibility pop
+#endif