[macruby-changes] [1290] MacRuby/branches/experimental

source_changes at macosforge.org source_changes at macosforge.org
Thu Apr 2 19:35:45 PDT 2009


Revision: 1290
          http://trac.macosforge.org/projects/ruby/changeset/1290
Author:   lsansonetti at apple.com
Date:     2009-04-02 19:35:45 -0700 (Thu, 02 Apr 2009)
Log Message:
-----------
implemented TOPLEVEL_BINDING

Modified Paths:
--------------
    MacRuby/branches/experimental/eval.c
    MacRuby/branches/experimental/proc.c

Modified: MacRuby/branches/experimental/eval.c
===================================================================
--- MacRuby/branches/experimental/eval.c	2009-04-03 02:27:16 UTC (rev 1289)
+++ MacRuby/branches/experimental/eval.c	2009-04-03 02:35:45 UTC (rev 1290)
@@ -18,7 +18,6 @@
 #include "id.h"
 
 VALUE proc_invoke(VALUE, VALUE, VALUE, VALUE);
-VALUE rb_binding_new(void);
 
 ID rb_frame_callee(void);
 VALUE rb_eLocalJumpError;

Modified: MacRuby/branches/experimental/proc.c
===================================================================
--- MacRuby/branches/experimental/proc.c	2009-04-03 02:27:16 UTC (rev 1289)
+++ MacRuby/branches/experimental/proc.c	2009-04-03 02:35:45 UTC (rev 1290)
@@ -233,6 +233,12 @@
     return Data_Wrap_Struct(rb_cBinding, NULL, NULL, bind);
 }
 
+static VALUE
+rb_binding_new_from_binding(rb_vm_binding_t *bind)
+{
+    return Data_Wrap_Struct(rb_cBinding, NULL, NULL, bind);
+}
+
 /*
  *  call-seq:
  *     binding -> a_binding
@@ -1748,5 +1754,11 @@
     rb_objc_define_method(rb_cBinding, "dup", binding_dup, 0);
     rb_objc_define_method(rb_cBinding, "eval", bind_eval, -1);
     rb_objc_define_method(rb_mKernel, "binding", rb_f_binding, 0);
+
+    rb_vm_binding_t *binding = (rb_vm_binding_t *)xmalloc(
+	    sizeof(rb_vm_binding_t));
+    GC_WB(&binding->self, rb_vm_top_self());
+    rb_define_global_const("TOPLEVEL_BINDING",
+	    rb_binding_new_from_binding(binding));
 }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090402/5960507f/attachment.html>


More information about the macruby-changes mailing list