Skip to content
This repository

Jul 18, 2012

  1. Watson

    use RARRAY_LENINT() to pass the value into int type arguments

    Watson1978 authored

Jun 26, 2012

  1. Watson

    `catch' accepts one or no argument

    Watson1978 authored

Jun 22, 2012

  1. Watson

    Object#instance_eval yields a reciver object to the block

    Watson1978 authored

May 16, 2012

  1. Watson

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

    …and symbols via instance_{eval, exec}
    Watson1978 authored

Apr 23, 2012

  1. Mark Rada

    Change ownership to The MacRuby Team and update copyrights

    ferrous26 authored

Jan 05, 2012

  1. Watson

    ensure va_end() after va_start()

    Watson1978 authored

Jun 16, 2011

  1. Kouji Takao

    fixed below.

    (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 5da9a95
    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 f03f4a4
    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 e0bd18a
    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 87657c9
    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 3ff39e9
    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 da2dfc2
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Fri Jun 3 22:30:43 2011 +0900
    
        added initialize outer_stack.
    
    commit 0638482
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Fri Jun 3 22:30:22 2011 +0900
    
        fixed segfault on rubyspec.
    
    commit 66c81e7
    Author: Kouji Takao <kouji@takao7.net>
    Date:   Thu Jun 2 23:20:47 2011 +0900
    
        reset outer_stack when loading rbo.
    
    commit 55beb0c
    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 ccbb5b3
    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 3b4d10ef3897ce11919bdea99d32b6fb3ce7390b and 68ac3fcaf1041ef9b25fb3bc940a47f41505b7e5.
    takaokouji authored

May 18, 2011

  1. Kouji Takao

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

    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.

May 01, 2011

  1. Kouji Takao

    fixed assertion fails in pop_current_exception when raise

    SyntaxError/rescue in rescue. (fixes #1244)
    takaokouji authored

Apr 27, 2011

  1. Kouji Takao

    reverted d17b3f2. because some rubyspec failed.

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

    fixed assertion fails in pop_current_exception when raise

    SyntaxError/rescue in rescue. (fixes #1244)
    takaokouji authored

Apr 22, 2011

  1. Laurent Sansonetti

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

    … not be returned from #new
    lrz authored

Mar 30, 2011

  1. Watson

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

    …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
    }}}
    Watson1978 authored

Mar 29, 2011

  1. Watson

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

    …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
    }}}
    Watson1978 authored
  2. Watson

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

    …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
    }}}
    Watson1978 authored

Jan 28, 2011

  1. refactor duplicated code

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

Jan 15, 2011

  1. update copyrights to 2011

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

Jan 08, 2011

  1. include/ruby/macruby.h -> macruby_internal.h

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

Nov 02, 2010

  1. expose rb_obj_instance_eval() MRI API

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

Oct 12, 2010

  1. when creating a binding, keep a reference to the top one

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

Aug 05, 2010

  1. #instance_eval: don't attempt to create singleton classes on symbols

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

Jul 08, 2010

  1. Move Obj-C related headers around.

    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
    Thibault Martin-Lagardette authored

Jun 19, 2010

  1. trim the parser and command-line parsing from static

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

Jun 05, 2010

  1. moving the dispatcher bits into the kernel + misc fixes/cleanup

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

Jun 01, 2010

  1. per-vm method cache + misc fixes/improvements

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

May 18, 2010

  1. better ivar slot system for RubyObject + misc fixes/cleanup

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

Apr 28, 2010

  1. rewrote class flags to not use the version field anymore, better typi…

    …ng system, fixed misc bugs
    
    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3968 23306eb0-4c56-4727-a40e-e92c0eb68959
    Laurent Sansonetti authored

Feb 25, 2010

  1. revert r3589 because it breaks irb...

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

Feb 23, 2010

  1. Eloy Durán

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

    … 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
    alloy authored

Feb 14, 2010

  1. Kernel#caller: now honor the skip argument

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

Jan 23, 2010

  1. fix a const lookup bug in instance_eval, fix a deadlock when autoload…

    …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
    Laurent Sansonetti authored

Jan 20, 2010

  1. - Fixed the call to eval_string() in rb_eval_cmd()

    git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/trunk@3312 23306eb0-4c56-4727-a40e-e92c0eb68959
    Thibault Martin-Lagardette authored

Jan 17, 2010

  1. #caller: remove the first backtrace element (which is #caller)

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

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

Nov 04, 2009

  1. rb_yield is now inlined + improved GC_WB to not emit a write barrier …

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