Permalink
Switch branches/tags
Commits on Jan 17, 2018
  1. Detect cyclic link of class path references; fix #3926

    matz committed Jan 17, 2018
  2. Typo fixed.

    matz committed Jan 17, 2018
Commits on Jan 16, 2018
  1. Limit size of iseq buffer; fix #3927

    matz committed Jan 16, 2018
  2. Merge pull request #3930 from mruby/stable

    matz committed Jan 16, 2018
    Set the mruby-1.4.0 release date to `2018-1-16`.
  3. Set the mruby-1.4.0 release date to `2018-1-16`.

    mimaki committed Jan 16, 2018
Commits on Dec 26, 2017
  1. Merge pull request #3916 from mimaki/mruby-socket-cygwin-test

    matz committed Dec 26, 2017
    Passed mruby-test on Cygwin.
  2. addrinfo.ai_protocol was not set on Cygwin.

    mimaki committed Dec 26, 2017
  3. Add `Integer#{allbits?,anybits?,nobits?}. [Ruby2.5]

    matz committed Dec 26, 2017
    In mruby, those methods are defined in `Integral` module.
  4. Move `Intefer#chr` to `Integral#chr`.

    matz committed Dec 26, 2017
    Since mruby mixes `Integer` and `Float`, integer operations have
    been moved to `Integral` module.
Commits on Dec 25, 2017
  1. `KeyError` from `Hash#fetch` should inspect key.

    matz committed Dec 25, 2017
    To distinguish string keys and symbol keys.
  2. Add `Hash#slice` [Ruby 2.5]

    matz committed Dec 25, 2017
Commits on Dec 23, 2017
  1. Update `Kernel#method_missing` tests for new `NoMethodError` message.

    matz committed Dec 23, 2017
    Also removed tests that depends on implementation details of the default
    `method_missing` behavior.
  2. Do not include object string representation in `NoMethodError` message.

    matz committed Dec 23, 2017
    This information is not mandatory but causes a lot of problems in the
    past due to infinite recursion by redefining `to_str`, `inspect` etc.
  3. `super` should raise `TypeError` when the receiver is switched; fix #…

    matz committed Dec 23, 2017
    …3911
    
    The receiver can be switched using `#instance_eval` etc.
  4. Should not overwrite `ci->target_class` in `mrb_exec_irep()`.

    matz committed Dec 20, 2017
    For example, the following code behaved wrong:
    
    ```ruby
    Object.instance_exec(1,2,3){|*a|
      def foo
        42
      end
    }
    p foo()
    ```
  5. Merge pull request #3913 from llothar/master

    matz committed Dec 23, 2017
    Make source compilable with C++17
  6. Make source compilable with C++17

    llothar committed Dec 23, 2017
    Changes applied:
    
    - Removing "register" keyword
    - Fixing const pointer to pointer assignments
    - Adding type casts to rb_malloc calls
Commits on Dec 20, 2017
  1. Do not need to take `target_class` from the upper proc.

    matz committed Dec 20, 2017
    Since it is already set in `mrb_proc_new()`.
  2. Fixed method look-up for `method_missing` in OP_SUPER; ref #3905

    matz committed Dec 20, 2017
    Method look-up for `OP_SUPER` should start from the superclass of
    the `target_class` but if it fails, the look-up for `method_missing`
    should start from the class of the receiver.
    
    The following code explains the case:
    ```ruby
    class Bar
      def foo
        super
      end
    end
    
    class Foo<Bar
      def method_missing(mid, *)
        p mid
      end
    end
    ```
    Foo.new.foo
  3. The superclass info should be taken from `TARGET_CLASS(ci->proc).

    matz committed Dec 20, 2017
    Not from `ci->target_class` that may be switched using `class_eval` etc.
    fix #3899, fix #3906
    
    We found out there is a mruby specific limitation that `super` may be
    screwed up when a method is defined in a module and `super` is called
    in the block with the target class switched (for example, `super` in
    `class_eval` block).  Now we raise `RuntimeError` for such cases.
    
    The following code works in CRuby but not in mruby.
    ```
    module M
      def foo
        "aaa".singleton_class.class_eval{super 2}
      end
    end
    class Foo
      def foo(*); end
    end
    class Bar<Foo
      include M
    end
    Bar.new.foo
    ```
Commits on Dec 18, 2017
  1. Merge pull request #3904 from ksss/mruby-method

    matz committed Dec 18, 2017
    Add mruby-method
  2. Fix descriptor leakage; ref #3903

    matz committed Dec 18, 2017
  3. Fix `fptr` leakage; ref #3903

    matz committed Dec 18, 2017
  4. `open` on Windows takes `int` 3rd argument instead of `mode_t`.

    matz committed Dec 18, 2017
  5. mruby/data.h doesn't need

    ksss committed Dec 18, 2017