Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jul 18, 2012
  1. Watson
Commits on Jun 26, 2012
  1. Watson
Commits on Jun 22, 2012
  1. Watson
Commits on May 16, 2012
  1. Watson

    [fix #73] should not remove the method from special constant objects …

    Watson1978 authored
    …and symbols via instance_{eval, exec}
Commits on Apr 23, 2012
  1. Mark Rada
Commits on Jan 5, 2012
  1. Watson
Commits on Jun 16, 2011
  1. Kouji Takao

    fixed below.

    takaokouji authored
    (fixes #1285 and #1292)
    
    however, this changes has regresion that does not support alias eval, instance_eval, module_eval and class_eval.
    
    ---
    Squashed commit of the following:
    
    commit 5da9a951b2e483753b2bab0929037af2d3c30b23
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 15 20:49:45 2011 +0900
    
        fixed memory error in Binding#dup, Binding#clone.
        removed fails tag for spec/frozen/tags/macruby/core/binding/clone_tags.txt and spec/frozen/tags/macruby/core/binding/dup_tags.txt.
    
    commit f03f4a48869978764f7d92c5fb556f0dec003c50
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 15 20:19:26 2011 +0900
    
        fixed memory leak in proc + outer_stack.
        fixed segv with RBO.
    
    commit e0bd18a4225f1f16f7a967d89cbbd063fb2b4a9c
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Sat Jun 4 00:49:22 2011 +0900
    
        passed failed test in test_vm/block.rb below.
        ---
        assert ':ok', %{
          proc do
            def proc_caller(&b) b.call end
            def enclosing_method
              proc_caller { return :ok }
              :nok
            end
            p enclosing_method
          end.call
        }
    
        raise TypeError below.
        ---
        1.instance_eval "def f; end"
        1.instance_eval { def f; end }
    
    commit 87657c9de4df385319e4729b3a8c30c15b823a72
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Fri Jun 3 22:36:29 2011 +0900
    
        added fails tags, because segfault on BigDecimal with raise exception.
    
    commit 3ff39e9fa36758f69ce2faded063c066e3abf3c8
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Fri Jun 3 22:31:33 2011 +0900
    
        reset current_class, outer_stack and current_outer in rb_vm_aot_feature_load().
    
    commit da2dfc2c48ad668b5898a233c8585d7cdfea4596
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Fri Jun 3 22:30:43 2011 +0900
    
        added initialize outer_stack.
    
    commit 0638482e0c91584d9a6ef981066bb0f1292fe5f3
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Fri Jun 3 22:30:22 2011 +0900
    
        fixed segfault on rubyspec.
    
    commit 66c81e720c55641453a543d90691c541d7ffa3a9
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 23:20:47 2011 +0900
    
        reset outer_stack when loading rbo.
    
    commit 55beb0c2922839210215938a1c9462ffab639b7c
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 19:24:34 2011 +0900
    
        removed outer_mask from RoxorCompiler, because It is not used now.
    
    commit ccbb5b390bebe3849904921210201d5ccd2e52c8
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 18:51:11 2011 +0900
    
        fixed bug, retain outer_stack in RoxorVM copy constructer and release outer_stack in RoxorVM destructer.
    
    commit e78a418480d41fdaffb6962dd5b386ddb7769892
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 17:22:34 2011 +0900
    
        fixed bug, defined?(<expected constants>)
    
    commit bdfde05de4cf1b7777894383afd1fb1c1aa80827
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 14:44:07 2011 +0900
    
        implemented Binding#dup and Binding#clone.
    
    commit 227017b27d2ce39692f10b51b95d20f3f4097dbf
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 14:27:26 2011 +0900
    
        removed rb_vm_set_outer() and rb_vm_get_outer().
        because does not use original outer now.
    
    commit 3c11376eb514301a2474693a8e4cd893e0dab833
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 11:46:18 2011 +0900
    
        fixed segfault on defined?(CONSTANT) in method below.
        ---
        class A
          CONST = 42
          def f
            p(defined? CONST)
          end
        end
        GC.start # GC [A] outer_stack
    
        A.new.f # before SEGV
    
    commit 96cf97a5a6315d684297685fc05d95c223dd4949
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 23:19:51 2011 +0900
    
        occurs TypeError exception below. This is CRuby spec. (like above)
        ---
        1.instance_eval "class A; end"
    
    commit a51d5415c9d6ef1532a0f2a4b1cd37d9b0c9afa8
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 23:07:05 2011 +0900
    
        occurs TypeError exception below. This is CRuby spec.
        ---
        1.instance_eval "A = 10"
    
    commit 6a55eac0bec96de075e648683298cae1ec40d50f
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 22:00:29 2011 +0900
    
        fixed memory leak below. (but MacRuby has memory leak calling eval with string now)
        ---
        Array.class_eval <<-EOS
          def f
          end
        EOS
    
    commit b1aa927a45085305a317a7fbc96212582e12c0b7
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 16:38:16 2011 +0900
    
        does not push outer in eval.
    
    commit 4f8696d7c095cbc311b8f3a1e5f7af37c2f1de2b
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 16:11:22 2011 +0900
    
        fixed bug below.
        ---
        module M1
          B = 42
          module M2
            eval("B") # before uninitialized constant M1::M2::B (NameError), after none.
          end
        end
    
    commit ba3b3110139003b970c207e8c68ec9591fd36cad
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 15:06:40 2011 +0900
    
        fixed memory leak below.
        ---
        loop do
          1.instance_eval do
            42
          end
        end
    
    commit c0b3bbf22383a1fd9689698a6b2df4801a851bfc
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 14:41:08 2011 +0900
    
        Revert "removed rb_vm_outer_t.pushed_by_eval struct member. it use detecting current class on cRuby, but MacRuby has rb_vm_t.current_class."
    
        This reverts commit 5f6cf8fd924a07553e59a474d508274e2ec2b275.
    
    commit 1446c62436ba5fc7a9d71dc929fc84278778f718
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 14:40:54 2011 +0900
    
        Revert "fixed bug below."
    
        This reverts commit 3531dfc0c48af2b610946159a5f621db52d42b4e.
    
    commit d297f371b9d4fd3ebf03fb1534e9bcbb80f524ce
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 14:37:15 2011 +0900
    
        fixed bug below.
        ---
        class EvalSpecs
          class A
            def c
              eval "class C; end"
            end
          end
        end
    
        EvalSpecs::A.new.c
    
        p EvalSpecs::A::C.name #=> "EvalSpecs::A::C"
    
    commit 7f0595b4d23a0494949bf7c23b11a0e007f5e25b
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 13:40:16 2011 +0900
    
        removed rb_vm_outer_t.pushed_by_eval struct member. it use detecting current class on cRuby, but MacRuby has rb_vm_t.current_class.
    
    commit dad53ecafda46ebe7c08a8836260c577df805503
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 13:24:23 2011 +0900
    
        fixed memory leak like below.
        ---
        class A
          Module.nesting
        end
    
    commit a3e956ba4681d16686178fe5f8b93eaae9d89e28
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Wed Jun 1 02:08:26 2011 +0900
    
        fixed memory leak when run below.
        ---
        loop do
          class A
          end
        end
    
    commit d40229a6dfc92571803e858310cf7bb5fdbf3f3d
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Sun May 29 21:10:54 2011 +0900
    
        Revert "fixed displays "reference count underflow" message (fixes #1284)" and "fixed RoxorVM::pop_outer() leaks memory. (fixes #1267)"
    
        This reverts commit 3b4d10e and 68ac3fc.
Commits on May 18, 2011
  1. Kouji Takao

    fixed RoxorVM::pop_outer() leaks memory. (fixes #1267)

    takaokouji authored
    This changes included many things. See below.
    
    (1) fixed memory leak below.
    1.instance_eval { 42 }
    
    But did not below.
    1.instance_eval "42"
    
    I think currently MacRuby occurs memory leak in eval().
    
    (2) occurs TypeError exception below. This is CRuby spec.
    1.instance_eval "A = 10"
    
    (3) occurs TypeError exception below. This is CRuby spec. (like above)
    1.instance_eval "class A; end"
    
    (4) passed failed test in test_vm/block.rb below.
    assert ':ok', %{
      proc do
        def proc_caller(&b) b.call end
        def enclosing_method
          proc_caller { return :ok }
          :nok
        end
        p enclosing_method
      end.call
    }
    
    (5) removed outer_mask in RoxorCompiler
    Because It is not used now.
    
    (6) supported alias eval, instance_eval, module_eval and class_eval.
    
    (7) set, push and pop outer_stack in runtime.
    
    (8) removed rb_vm_set_outer() and rb_vm_get_outer().
    because does not use original outer now.
    
    (9) implemented Binding#dup and Binding#clone.
Commits on May 1, 2011
  1. Kouji Takao

    fixed assertion fails in pop_current_exception when raise

    takaokouji authored
    SyntaxError/rescue in rescue. (fixes #1244)
Commits on Apr 27, 2011
  1. Kouji Takao

    reverted d17b3f2. because some rubyspec failed.

    takaokouji authored
        fixed assertion fails in pop_current_exception when raise
        SyntaxError/rescue in rescue. (fixes #1244)
  2. Kouji Takao

    fixed assertion fails in pop_current_exception when raise

    takaokouji authored
    SyntaxError/rescue in rescue. (fixes #1244)
Commits on Apr 22, 2011
  1. Laurent Sansonetti

    fix a bug when returning a value using break inside #initialize would…

    lrz authored
    … not be returned from #new
Commits on Mar 30, 2011
  1. Watson

    rewrite 351ebd7 and 954a8c7 because they cause crash when refer to cl…

    Watson1978 authored
    …ass variable within instance_{eval, exec}'s block.
    
    Test Script:
    {{{
    require 'test/unit/assertions.rb'
    include Test::Unit::Assertions
    
    @@a = 4
    assert_equal(4, 1.instance_eval { @@a } )
    assert_equal(4, 1.instance_exec { @@a } )
    
    assert_raise(TypeError){ 1.instance_eval { def foo; end } }
    assert_raise(TypeError){ 1.instance_eval { alias :foo :to_s} }
    
    assert_raise(TypeError){ 1.instance_exec { def foo; end } }
    assert_raise(TypeError){ 1.instance_exec { alias :foo :to_s} }
    
    puts :ok
    }}}
Commits on Mar 29, 2011
  1. Watson

    Object#instance_eval will raise a TypeError when defining/alias metho…

    Watson1978 authored
    …ds on numerics.
    
    Test Script:
    {{{
    require 'test/unit/assertions.rb'
    include Test::Unit::Assertions
    
    assert_raise(TypeError){ 1.instance_eval { def foo; end } }
    assert_raise(TypeError){ 1.instance_eval { alias :foo :to_s} }
    
    puts :ok
    }}}
  2. Watson

    Object#instance_exec will raise a TypeError when defining/alias metho…

    Watson1978 authored
    …ds on numerics.
    
    Test Script:
    {{{
    require 'test/unit/assertions.rb'
    include Test::Unit::Assertions
    
    assert_raise(TypeError){ 1.instance_exec { def foo; end } }
    assert_raise(TypeError){ 1.instance_exec { alias :foo :to_s} }
    
    puts :ok
    }}}
Commits on Jan 28, 2011
  1. refactor duplicated code

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@5203 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jan 15, 2011
  1. update copyrights to 2011

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@5168 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jan 8, 2011
  1. include/ruby/macruby.h -> macruby_internal.h

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@5137 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Nov 2, 2010
  1. expose rb_obj_instance_eval() MRI API

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4872 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Oct 12, 2010
  1. when creating a binding, keep a reference to the top one

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4789 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Aug 5, 2010
  1. #instance_eval: don't attempt to create singleton classes on symbols

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4407 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jul 8, 2010
  1. Move Obj-C related headers around.

    Thibault Martin-Lagardette authored
    Snything that is Obj-C related is now in a separate header. This will avoid "true" to already be defined for example.
    
     - Fixes <rdar://problem/7871199>
     - Fixes #728
    
    
    
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4330 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jun 19, 2010
  1. trim the parser and command-line parsing from static

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4251 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jun 5, 2010
  1. moving the dispatcher bits into the kernel + misc fixes/cleanup

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4208 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jun 1, 2010
  1. per-vm method cache + misc fixes/improvements

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4181 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on May 18, 2010
  1. better ivar slot system for RubyObject + misc fixes/cleanup

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@4119 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Apr 28, 2010
  1. rewrote class flags to not use the version field anymore, better typi…

    Laurent Sansonetti authored
    …ng system, fixed misc bugs
    
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3968 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Feb 25, 2010
  1. revert r3589 because it breaks irb...

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3620 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Feb 23, 2010
  1. Eloy Durán

    Make sure to set the outer mod to the class of an object, unless it's…

    alloy authored
    … the main object, when using eval. [Fixes #425].
    
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3589 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Feb 14, 2010
  1. Kernel#caller: now honor the skip argument

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3524 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jan 23, 2010
  1. fix a const lookup bug in instance_eval, fix a deadlock when autoload…

    Laurent Sansonetti authored
    …ing constants, fix a GC bug when passing thread-local objects to a new thread
    
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3323 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jan 20, 2010
  1. - Fixed the call to eval_string() in rb_eval_cmd()

    Thibault Martin-Lagardette authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3312 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Jan 17, 2010
  1. #caller: remove the first backtrace element (which is #caller)

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3288 23306eb0-4c56-4727-a40e-e92c0eb68959
  2. experimental debugger

    Laurent Sansonetti authored
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3287 23306eb0-4c56-4727-a40e-e92c0eb68959
Commits on Nov 4, 2009
  1. rb_yield is now inlined + improved GC_WB to not emit a write barrier …

    Laurent Sansonetti authored
    …if the slot already has the value
    
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@2955 23306eb0-4c56-4727-a40e-e92c0eb68959
Something went wrong with that request. Please try again.