Lothar Scholz
a9d0d90f74
Removed the Visual Studio Version Check because it does not
...
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-24 06:28:38 +01:00
Lothar Scholz
06f90a3b45
Make source compilable with C++17
...
Changes applied:
- Removing "register" keyword
- Fixing const pointer to pointer assignments
- Adding type casts to rb_malloc calls
2017-12-23 01:10:43 +01:00
Yukihiro "Matz" Matsumoto
100f0e6759
Do not need to take target_class from the upper proc.
...
Since it is already set in `mrb_proc_new()`.
2017-12-20 19:37:26 +09:00
Yukihiro "Matz" Matsumoto
73b05f0130
Should not overwrite MRB_PROC_TARGET_CLASS(p) if p has env; fix #3905
2017-12-20 19:37:26 +09:00
Yukihiro "Matz" Matsumoto
165e7b181b
Fixed method look-up for method_missing in OP_SUPER; ref #3905
...
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-20 19:37:26 +09:00
Yukihiro "Matz" Matsumoto
d0f60182af
The superclass info should be taken from `TARGET_CLASS(ci->proc).
...
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-20 10:34:54 +09:00
Yukihiro "Matz" Matsumoto
d9049c10fa
Merge pull request #3904 from ksss/mruby-method
...
Add mruby-method
2017-12-18 11:59:36 +09:00
Yukihiro "Matz" Matsumoto
bba6c9a1ce
Fix descriptor leakage; ref #3903
2017-12-18 11:55:12 +09:00
Yukihiro "Matz" Matsumoto
e5056d058a
Fix fptr leakage; ref #3903
2017-12-18 11:55:12 +09:00
Yukihiro "Matz" Matsumoto
83d02bcd5a
Use _dup2 instead of dup2 on Windows; ref #3903
2017-12-18 11:55:12 +09:00
Yukihiro "Matz" Matsumoto
5e22e8e350
open on Windows takes int 3rd argument instead of mode_t.
2017-12-18 11:15:27 +09:00
ksss
c0914dbb65
mruby/data.h doesn't need
2017-12-18 11:11:44 +09:00
Yukihiro "Matz" Matsumoto
b4dcb8f286
Use _dup instead of dup on Windows; ref #3903
2017-12-18 11:10:49 +09:00
ksss
615f296fcf
Clean up some files and docs
2017-12-18 11:10:10 +09:00
ksss
ae786b18d5
Shouldn't use alloca
2017-12-18 11:05:55 +09:00
Yukihiro "Matz" Matsumoto
a510564d6d
Merge pull request #3903 from ksss/io-dup
...
Implement IO#initialize_copy
2017-12-18 10:58:12 +09:00
ksss
b83ff8ccd8
Add mrbgems/mruby-method
...
from https://github.com/ksss/mruby-method/commit/0837a0b507a5b4cdf8a1f1039ee371cee4e3b7fb
2017-12-18 10:54:37 +09:00
ksss
35185e69bf
Implement IO#initialize_copy
2017-12-17 18:02:37 +09:00
Yukihiro "Matz" Matsumoto
ddb1aae41d
Need to set ci->proc before calling methods; fix #3902
2017-12-16 09:33:37 +09:00
Yukihiro "Matz" Matsumoto
03614ed918
Need to clear exception handler on return; fix #3898
2017-12-16 09:17:07 +09:00
Yukihiro "Matz" Matsumoto
05129ab9b3
Check if destinations are too distant; fix #3900 fix #3901
2017-12-15 17:57:45 +09:00
Yukihiro "Matz" Matsumoto
7ecb96a00a
Merge pull request #3897 from mimaki/initialize-is_socket
...
Initialized mrb_io.is_socket
2017-12-14 13:58:27 +09:00
Hiroshi Mimaki
41039524a9
Initialized mrb_io.is_socket
2017-12-14 12:36:25 +09:00
Yukihiro "Matz" Matsumoto
5b304c156c
On Windows, _S_IREAD and _S_IWRITE is defined in sys/stat.h.
2017-12-14 01:19:44 +09:00
Yukihiro "Matz" Matsumoto
7ac39333b5
Use _open and _close on Windows.
2017-12-14 01:19:21 +09:00
Yukihiro "Matz" Matsumoto
ebf49932c7
Merge pull request #3895 from mattn/fix-mkstemp
...
fix mkstemp implementation for MSVC
2017-12-14 00:46:19 +09:00
Yasuhiro Matsumoto
e7e5db51de
fix mkstemp implementation for MSVC
2017-12-14 00:43:38 +09:00
Yukihiro "Matz" Matsumoto
f0379c8c45
Merge pull request #3892 from mimaki/ipproto-winsock
...
Use IPPROTO enum values on WinSock.
2017-12-14 00:09:45 +09:00
Yukihiro "Matz" Matsumoto
16e473caad
Rename BasicSocket#is_socket= to #_is_socket; ref #3878
2017-12-14 00:07:42 +09:00
Yukihiro "Matz" Matsumoto
69ad12de06
Exclude UNIXSocket tests again; ref #3878
2017-12-14 00:05:23 +09:00
Takeshi Watanabe
d2163d13a8
Declare super class in socket.rb.
2017-12-14 00:05:23 +09:00
Takeshi Watanabe
949bf6ca43
Fix socket closing by using closesocket API in windows instead.
2017-12-14 00:05:23 +09:00
Yukihiro "Matz" Matsumoto
2300c9f737
Merge pull request #3893 from mimaki/add-mrbgem-summary
...
Added mrbgem's summary.
2017-12-14 00:00:10 +09:00
Yukihiro "Matz" Matsumoto
dc5de38414
Merge pull request #3894 from mattn/mirb-locale
...
fix locale message in mirb
2017-12-13 23:11:49 +09:00
Yukihiro "Matz" Matsumoto
1a150a6e48
Merge pull request #3891 from mimaki/set-addrinfo-protocol
...
Set protocol of AddrInfo
2017-12-13 23:00:25 +09:00
Yasuhiro Matsumoto
0ab9ac6b22
fix locale in mirb
2017-12-13 22:28:18 +09:00
Hiroshi Mimaki
584e4e413a
Added mrbgem's summary.
2017-12-13 16:05:06 +09:00
Hiroshi Mimaki
9fac1a3f8b
Use IPPROTO enum values on WinSock.
2017-12-13 15:58:23 +09:00
Hiroshi Mimaki
398da99d05
Set protocol of AddrInfo
2017-12-13 14:44:13 +09:00
Yukihiro "Matz" Matsumoto
55fced30cd
Use _tempnam instead of tempnam on Windows.
2017-12-13 14:17:49 +09:00
Yukihiro "Matz" Matsumoto
a3925f3dec
Merge pull request #3889 from mattn/fix-crash
...
fix crash bug on Windows
2017-12-13 14:10:44 +09:00
Yukihiro "Matz" Matsumoto
aec65f2605
Merge pull request #3890 from mimaki/mruby-socket-windows-test
...
Skip tests on Windows platform
2017-12-13 13:59:28 +09:00
Hiroshi Mimaki
4353623b72
Skip tests on Windows platform
2017-12-13 13:02:59 +09:00
Yasuhiro Matsumoto
6123d653b7
fix crash bug on Windows
2017-12-13 12:48:26 +09:00
Yukihiro "Matz" Matsumoto
fa33bd86a8
Remove VC++ compiler warnings.
2017-12-13 11:39:32 +09:00
Yukihiro "Matz" Matsumoto
7d940e3682
Merge pull request #3888 from mattn/fix-locale
...
fix path locales
2017-12-13 10:24:52 +09:00
Yasuhiro Matsumoto
16c2ac2588
fix path locales
2017-12-13 10:12:59 +09:00
Yukihiro "Matz" Matsumoto
e14387440e
Skip test/t/float.rb tests; ref #3827
2017-12-13 08:45:46 +09:00
Yukihiro "Matz" Matsumoto
11b6696ce2
Retrieve operands at the beginning of OP_SCLASS.
2017-12-13 08:43:15 +09:00
Yukihiro "Matz" Matsumoto
e647b16d1d
Should not define Float class in mrblib/00class.rb; ref #3828
...
Unless it is defined in `numeric.c`.
2017-12-13 08:42:07 +09:00