summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2018-01-16Set the mruby-1.4.0 release date to `2018-1-16`.1.4.0Hiroshi Mimaki
2017-12-26Merge pull request #3916 from mimaki/mruby-socket-cygwin-testYukihiro "Matz" Matsumoto
Passed mruby-test on Cygwin.
2017-12-26addrinfo.ai_protocol was not set on Cygwin.Hiroshi Mimaki
2017-12-26Disabled UNIXSocket test on CygwinHiroshi Mimaki
2017-12-26Add `Integer#{allbits?,anybits?,nobits?}. [Ruby2.5]Yukihiro "Matz" Matsumoto
In mruby, those methods are defined in `Integral` module.
2017-12-26Move `Intefer#chr` to `Integral#chr`.Yukihiro "Matz" Matsumoto
Since mruby mixes `Integer` and `Float`, integer operations have been moved to `Integral` module.
2017-12-25`KeyError` from `Hash#fetch` should inspect key.Yukihiro "Matz" Matsumoto
To distinguish string keys and symbol keys.
2017-12-25`Enumerable#{one?,none?,all?,any?} to take pattern argument [Ruby2.5]Yukihiro "Matz" Matsumoto
2017-12-25Add `Hash#slice` [Ruby 2.5]Yukihiro "Matz" Matsumoto
2017-12-25`assert_equal()` takes result as the first argumentYukihiro "Matz" Matsumoto
2017-12-23Update `Kernel#method_missing` tests for new `NoMethodError` message.Yukihiro "Matz" Matsumoto
Also removed tests that depends on implementation details of the default `method_missing` behavior.
2017-12-23Do not include object string representation in `NoMethodError` message.Yukihiro "Matz" Matsumoto
This information is not mandatory but causes a lot of problems in the past due to infinite recursion by redefining `to_str`, `inspect` etc.
2017-12-23`super` should raise `TypeError` when the receiver is switched; fix #3911Yukihiro "Matz" Matsumoto
The receiver can be switched using `#instance_eval` etc.
2017-12-23Do not initialize a local variable soon to be assigned.Yukihiro "Matz" Matsumoto
2017-12-23Avoid infinite recursion in `method_missing`; ref #3908Yukihiro "Matz" Matsumoto
2017-12-23May need more stack space in `mrb_funcall_with_block`; fix #3908Yukihiro "Matz" Matsumoto
2017-12-23Add `#module_exec` and `#class_exec` in `mruby-class-ext` gem.Yukihiro "Matz" Matsumoto
2017-12-23Should not overwrite `ci->target_class` in `mrb_exec_irep()`.Yukihiro "Matz" Matsumoto
For example, the following code behaved wrong: ```ruby Object.instance_exec(1,2,3){|*a| def foo 42 end } p foo() ```
2017-12-23Merge pull request #3913 from llothar/masterYukihiro "Matz" Matsumoto
Make source compilable with C++17
2017-12-23Make source compilable with C++17Lothar Scholz
Changes applied: - Removing "register" keyword - Fixing const pointer to pointer assignments - Adding type casts to rb_malloc calls
2017-12-20Do not need to take `target_class` from the upper proc.Yukihiro "Matz" Matsumoto
Since it is already set in `mrb_proc_new()`.
2017-12-20Should not overwrite `MRB_PROC_TARGET_CLASS(p)` if `p` has env; fix #3905Yukihiro "Matz" Matsumoto
2017-12-20Fixed method look-up for `method_missing` in OP_SUPER; ref #3905Yukihiro "Matz" Matsumoto
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
2017-12-20The superclass info should be taken from `TARGET_CLASS(ci->proc).Yukihiro "Matz" Matsumoto
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 ```
2017-12-18Merge pull request #3904 from ksss/mruby-methodYukihiro "Matz" Matsumoto
Add mruby-method
2017-12-18Fix descriptor leakage; ref #3903Yukihiro "Matz" Matsumoto
2017-12-18Fix `fptr` leakage; ref #3903Yukihiro "Matz" Matsumoto
2017-12-18Use `_dup2` instead of `dup2` on Windows; ref #3903Yukihiro "Matz" Matsumoto
2017-12-18`open` on Windows takes `int` 3rd argument instead of `mode_t`.Yukihiro "Matz" Matsumoto
2017-12-18mruby/data.h doesn't needksss
2017-12-18Use `_dup` instead of `dup` on Windows; ref #3903Yukihiro "Matz" Matsumoto
2017-12-18Clean up some files and docsksss
2017-12-18Shouldn't use allocaksss
2017-12-18Merge pull request #3903 from ksss/io-dupYukihiro "Matz" Matsumoto
Implement IO#initialize_copy
2017-12-18Add mrbgems/mruby-methodksss
from https://github.com/ksss/mruby-method/commit/0837a0b507a5b4cdf8a1f1039ee371cee4e3b7fb
2017-12-17Implement IO#initialize_copyksss
2017-12-16Need to set `ci->proc` before calling methods; fix #3902Yukihiro "Matz" Matsumoto
2017-12-16Need to clear exception handler on `return`; fix #3898Yukihiro "Matz" Matsumoto
2017-12-15Check if destinations are too distant; fix #3900 fix #3901Yukihiro "Matz" Matsumoto
2017-12-14Merge pull request #3897 from mimaki/initialize-is_socketYukihiro "Matz" Matsumoto
Initialized mrb_io.is_socket
2017-12-14Initialized mrb_io.is_socketHiroshi Mimaki
2017-12-14On Windows, `_S_IREAD` and `_S_IWRITE` is defined in `sys/stat.h`.Yukihiro "Matz" Matsumoto
2017-12-14Use `_open` and `_close` on Windows.Yukihiro "Matz" Matsumoto
2017-12-14Merge pull request #3895 from mattn/fix-mkstempYukihiro "Matz" Matsumoto
fix mkstemp implementation for MSVC
2017-12-14fix mkstemp implementation for MSVCYasuhiro Matsumoto
2017-12-14Merge pull request #3892 from mimaki/ipproto-winsockYukihiro "Matz" Matsumoto
Use IPPROTO enum values on WinSock.
2017-12-14Rename `BasicSocket#is_socket=` to `#_is_socket`; ref #3878Yukihiro "Matz" Matsumoto
2017-12-14Exclude `UNIXSocket` tests again; ref #3878Yukihiro "Matz" Matsumoto
2017-12-14Declare super class in socket.rb.Takeshi Watanabe
2017-12-14Fix socket closing by using `closesocket` API in windows instead.Takeshi Watanabe