summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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-24Removed the Visual Studio Version Check because it does notLothar Scholz
work with internationalized versions of Visual Studio. It will capture the returned string in the local codepage encoding and make ruby exits with an invalid UTF8 error message. Also "Version" might be translated and not appear in the output.
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