Hiroshi Mimaki
7d9a49efab
Delete duplicated Array#delete_if test.
2020-01-21 12:50:26 +09:00
Hiroshi Mimaki
e24b4a1e19
Delete duplicated Array#delete_if.
2020-01-21 11:35:53 +09:00
Yukihiro "Matz" Matsumoto
fc8fb41451
Small refactoring in hash_slice; ref #4926
2020-01-10 17:57:33 +09:00
Yukihiro "Matz" Matsumoto
dbba0ca517
p->locals may be NULL when error occurs before the point.
...
This is reported by oss-fuzz:
Issue 19886: mruby:mruby_fuzzer: Potential-null-reference in setup_numparams
2020-01-08 01:18:53 +09:00
Yukihiro "Matz" Matsumoto
b545f62aeb
Avoid Boxing/Unboxing of file descriptors; ref #4872
2020-01-06 18:57:43 +09:00
Yukihiro "Matz" Matsumoto
ca71eb7eef
Merge branch 'file-size-truncate' of https://github.com/dearblue/mruby into dearblue-file-size-truncate
2020-01-06 18:49:52 +09:00
Yukihiro "Matz" Matsumoto
ccf28775b8
Fix mrb_str_len_to_dbl to support Hexadecimal like 0x10.
2020-01-06 15:52:39 +09:00
Yukihiro "Matz" Matsumoto
111045ecad
Avoid creating temporary objects in read_irep_record_1; close #4920
...
The basic idea of this change is from @dearblue.
Note: the arguments of `mrb_str_pool()` have changed, but the function
is provided for internal use (No `MRB_API`). So basically you don't have
to worry about the change.
2020-01-06 15:52:39 +09:00
dearblue
541185ef14
Fix ainfo with keyword arguments; fix #4921
2020-01-05 16:48:34 +09:00
Yukihiro "Matz" Matsumoto
9174b18f34
Rename mrb_num_args_error to mrb_argnum_error; ref #4863
2020-01-01 22:37:14 +09:00
Yukihiro "Matz" Matsumoto
b9c78c3fcc
Merge pull request #4863 from shuujii/add-mrb_num_args_error-for-wrong-number-of-arguments-error
...
Add `mrb_num_args_error()` for "wrong number of arguments" error
2020-01-01 22:34:22 +09:00
Yukihiro "Matz" Matsumoto
fd1cff7735
Fixed wrong usages of mrb_get_args in vformat.c.
2020-01-01 12:34:30 +09:00
Yukihiro "Matz" Matsumoto
943fbb2bea
Allow here-doc in the middle of Hash expressions; fix #4815
2020-01-01 12:21:17 +09:00
KOBAYASHI Shuji
b493229a23
Silence GCC warning in time.c on Travis CI
...
Silence the following warnings:
```
/mruby/mrbgems/mruby-time/src/time.c:260:55: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ((MRB_INT_MAX > MRB_TIME_MAX && i > 0 && i > MRB_TIME_MAX) ||
^
```
2019-12-31 21:52:20 +09:00
dearblue
93d0e5d9fb
Fix builds for modern mingw; fix #4869
...
What I intended to fix in #4869 was a patch for an old MinGW.
Recent MinGWs have their own `mkstemp()` function.
I knew this after checking the patch #4903 .
2019-12-31 00:11:40 +09:00
KOBAYASHI Shuji
b97ebf2aeb
Avoid unneeded directory creation during rake -T, etc.
2019-12-29 17:46:55 +09:00
Yukihiro "Matz" Matsumoto
d2f34a8455
Merge pull request #4910 from shuujii/use-Rake-DSL-instead-of-commands-of-FileUtils
...
Use Rake DSL instead of commands of `FileUtils`
2019-12-27 18:35:19 +09:00
KOBAYASHI Shuji
26e6e75ba6
Use Rake DSL instead of commands of FileUtils
...
- Respect `--verbose(-v)` and `--dry-run(-n)` options.
- Silence warnings to keyword arguments on Ruby 2.7.
2019-12-27 16:49:32 +09:00
Yukihiro "Matz" Matsumoto
d15e56dab0
Prohibit assignment to numbered parameters.
...
It is stricter than CRuby but confusing anyway.
2019-12-27 11:05:56 +09:00
Yukihiro "Matz" Matsumoto
ff16331754
Allow non numbered-parameter identifier like _1 outside of blocks.
...
But it causes warnings as CRuby does; fix #4892 fix #489
2019-12-27 11:05:56 +09:00
Yukihiro "Matz" Matsumoto
ed8491cde6
Numbered parameters: usually linked list uses cdr for links.
2019-12-27 11:05:56 +09:00
Yukihiro "Matz" Matsumoto
7e6355975e
Prohibit numbered parameters as method arguments; fix #4892
...
As of CRuby2.7 it is only warned. `mruby` prohibits explicitly to
implement the future Ruby3 behavior.
2019-12-27 11:05:56 +09:00
KOBAYASHI Shuji
f92867a59e
Refine the assertion failure message in mrdb print tests
...
#### Before this patch:
```console
Fail: mruby-bin-debugger(print) error (mrbgems: mruby-bin-debugger)
- Assertion[2]
Expected true to be false.
```
#### After this patch:
```console
Fail: mruby-bin-debugger(print) error (mrbgems: mruby-bin-debugger)
- Assertion[2]
Expected "$2 = undefined method 'bar' (NoMethodError)\n" to be start_with? "$2 = (eval):2: undefined method".
```
2019-12-24 23:20:20 +09:00
take-cheeze
bb0aec1d94
Use binary mode in mrbc source code reading
2019-12-23 21:01:42 +09:00
take-cheeze
10e9f193ca
Handle CR LF newline natively in lexer
2019-12-23 21:01:11 +09:00
Yukihiro "Matz" Matsumoto
06e09fc7a9
Numbered parameters should not be available in the lambda bodies.
...
`mruby` does not warn like `CRuby` for cases like #4893 .
Fix #4890 , fix #4891 , fix #4893 .
2019-12-21 22:41:32 +09:00
KOBAYASHI Shuji
74f564b0bb
_0 is not numbered parameter
...
#### Before this patch:
```console
$ bin/mruby rb -e '_0=:l; p ->{_0}.()'
-e:1:13: _0 is not available
-e:1:13: syntax error, unexpected $end, expecting '}'
```
#### After this patch (same as Ruby):
```console
$ bin/mruby rb -e '_0=:l; p ->{_0}.()'
:l
```
2019-12-21 18:54:15 +09:00
Yukihiro "Matz" Matsumoto
5cc595cb2a
Fix SEGV from numbered parameters outside of blocks; fix #4862
2019-12-21 01:24:56 +09:00
Yukihiro "Matz" Matsumoto
19fa77ddbb
Merge pull request #4871 from dearblue/method-in-method
...
Avoid method in method
2019-12-20 19:29:48 +09:00
Yukihiro "Matz" Matsumoto
adf358363c
Merge pull request #4870 from dearblue/unnessesary-branch
...
Remove unnessesary branches
2019-12-20 19:24:45 +09:00
Yukihiro "Matz" Matsumoto
64e9f278b3
Merge pull request #4874 from dearblue/method-list
...
Fix for `#methods` to include methods that were `undef`
2019-12-20 19:23:13 +09:00
Yukihiro "Matz" Matsumoto
87809742f5
Fix mixed declarations in 429f6de
2019-12-19 10:00:33 +09:00
Yukihiro "Matz" Matsumoto
fcde80a4d0
Merge pull request #4881 from shuujii/fix-mruby-bin-debugger-tests
...
Fix `mruby-bin-debugger` tests; ref d2f2f9db
2019-12-19 09:51:31 +09:00
Yukihiro "Matz" Matsumoto
429f6defdd
Reimplement vformat tests; close #4868
...
Avoid creating `Data` object that refers `mruby` objects.
Also close #4622 ref #4613
2019-12-19 09:35:51 +09:00
Yukihiro "Matz" Matsumoto
7f0e1fc90b
Revert "%C value need not to be saved in TestVFormat::Native; close #4868 "
...
This reverts commit f507ff4842 .
It makes AppVeyor tests fail.
2019-12-19 00:07:08 +09:00
KOBAYASHI Shuji
f0b8c9ec06
Fix mruby-bin-debugger tests; ref d2f2f9db
2019-12-18 19:34:11 +09:00
Yukihiro "Matz" Matsumoto
f507ff4842
%C value need not to be saved in TestVFormat::Native; close #4868
2019-12-18 01:40:11 +09:00
Yukihiro "Matz" Matsumoto
8bc9a79e65
Merge pull request #4869 from dearblue/mingw32-io-test
...
Fix mruby-io test for mingw32
2019-12-17 00:49:01 +09:00
Yukihiro "Matz" Matsumoto
fc5a9c2be2
Merge pull request #4877 from shuujii/drop-dependencies-from-mruby-complex-to-some-gems
...
Drop dependencies from `mruby-complex` to some gems
2019-12-16 13:51:48 +09:00
Yukihiro "Matz" Matsumoto
cc6d17423b
Merge pull request #4859 from dearblue/authors
...
Add "mruby developers" into some gems; Resolve #4709
2019-12-16 13:50:33 +09:00
KOBAYASHI Shuji
4bdb1eb5aa
Drop dependencies from mruby-complex to some gems
2019-12-15 22:51:07 +09:00
dearblue
184ad732df
Fix for #methods to include methods that were undef
...
If `#methods` traverse the super class, it includes the methods that
were does `undef` in the subclass.
Before patched:
```terminal
% bin/mruby -e 'p Module.instance_methods - Class.instance_methods'
[]
```
After patched:
```terminal
% bin/mruby -e 'p Module.instance_methods - Class.instance_methods'
[:append_features, :extend_object]
```
2019-12-14 21:30:44 +09:00
dearblue
6d9ac89f92
Implement File#size and File#truncate
2019-12-14 15:10:57 +09:00
dearblue
5b30f789e5
Avoid method in method
...
And rename `File.concat_path` to `File._concat_path`.
2019-12-14 15:04:56 +09:00
dearblue
c18a8c53e8
Remove unnessesary branches
2019-12-14 15:01:42 +09:00
dearblue
ec1ef925a9
Fix mruby-io test for mingw32
...
Need `mkstemp()` implements.
2019-12-14 14:57:10 +09:00
KOBAYASHI Shuji
81de1f159c
Add mrb_num_args_error() for "wrong number of arguments" error
...
To unify the style of messages.
2019-12-12 11:45:58 +09:00
KOBAYASHI Shuji
7192429e83
Fix behavior of Kernel#Integer to numbers ending with _ and spaces
...
#### Before this patch:
```ruby
Integer("1_ ") #=> 1
```
#### After this patch (same as Ruby):
```ruby
Integer("1_ ") #=> ArgumentError
```
2019-12-11 16:40:39 +09:00
KOBAYASHI Shuji
bf431e77b8
Fix behavior of String#to_i/Kernel#Integer to numbers starting with _
...
#### Before this patch:
```ruby
Integer("_1") #=> 1
"_1".to_i #=> 1
```
#### After this patch (same as Ruby):
```ruby
Integer("_1") #=> ArgumentError
"_1".to_i #=> 0
```
2019-12-10 21:31:30 +09:00
Yukihiro "Matz" Matsumoto
543a9f84d1
Merge pull request #4858 from shuujii/fix-that-String-to_f-accepts-consecutive-_-as-a-numeric-expression
...
Fix that `String#to_f` accepts consecutive `_` as a numeric expression
2019-12-10 11:09:55 +09:00