Yukihiro "Matz" Matsumoto
b137eb2678
vm.c: remove duplicate code in VM.
2021-11-29 23:18:57 +09:00
Yukihiro "Matz" Matsumoto
a245c34210
Merge pull request #5589 from dearblue/argerr
...
Align "wrong number of arguments" messages
2021-11-29 10:14:59 +09:00
Yukihiro "Matz" Matsumoto
a0f38005fb
Merge pull request #5588 from dearblue/cmath+clang++
...
Fixed compile error for `mrbgems/mruby-cmath` with `clang++`
2021-11-28 19:04:57 +09:00
Yukihiro "Matz" Matsumoto
6bb2af9666
Merge pull request #5587 from dearblue/args-pass.1
...
Fix `args_unshift()` in `mrbgems/mruby-method`
2021-11-28 19:03:33 +09:00
dearblue
c4bca7cbb3
Align "wrong number of arguments" messages
...
Make "N for M" into the form "given N, expected M".
As I worked, I noticed that the `argnum_error()` function had a part to include the method name in the message.
I think this part is no longer needed by https://github.com/mruby/mruby/pull/5394 .
- Before this patch
```console
% bin/mruby -e '[1, 2, 3].each 0'
trace (most recent call last):
[1] -e:1
-e:1:in each: 'each': wrong number of arguments (1 for 0) (ArgumentError)
```
- After this patch
```console
% bin/mruby -e '[1, 2, 3].each 0'
trace (most recent call last):
[1] -e:1
-e:1:in each: wrong number of arguments (given 1, expected 0) (ArgumentError)
```
2021-11-28 18:21:29 +09:00
dearblue
f81bc3de38
Fixed compile error for mrbgems/mruby-cmath with clang++
...
If the preprocessor check part is only `__clang__`, CI's such as `Ubuntu-2004-clang` will fail to compile.
This is why we limited the addition to FreeBSD and OpenBSD, which have `clang++` in their base systems.
DragonFly BSD and NetBSD have GCC built into their base systems, so nothing is changed.
2021-11-28 17:28:44 +09:00
dearblue
58a9621df7
Fix args_unshift() in mrbgems/mruby-method
...
Both keyword arguments and block arguments were being destroyed when there were no arguments.
The cause of this is #5585 . I' m sorry.
2021-11-28 14:10:37 +09:00
Yukihiro "Matz" Matsumoto
e4d6917786
test/kernel.rb: remove duplicate tests; ref #5584
2021-11-26 12:18:41 +09:00
dearblue
668b12e756
Check more MRB_ARGS_NONE()
...
The `__id__` method implemented in the C function has `MRB_ARGS_NONE()` specified, but it is also effective in the following cases.
```ruby
p nil.__id__ opts: 1 rescue p :a
p nil.method(:__id__).call 1 rescue p :b
p nil.method(:__id__).call opts: 1 rescue p :c
p nil.method(:__id__).to_proc.call 1 rescue p :d
p nil.method(:__id__).to_proc.call opts: 1 rescue p :e
p nil.method(:__id__).unbind.bind_call nil, 1 rescue p :f
p nil.method(:__id__).unbind.bind_call nil, opts: 1 rescue p :g
p nil.__send__ :__id__, 1 rescue p :h
p nil.__send__ :__id__, opts: 1 rescue p :i
```
After applying this patch, all items will output symbols in the same way as CRuby.
For this purpose, add `MRB_PROC_NOARG` to `struct RProc::flags`.
2021-11-26 12:18:41 +09:00
Yukihiro "Matz" Matsumoto
b631c226eb
Merge pull request #5585 from dearblue/args-pass
...
Fixed some methods where keyword arguments are not passed
2021-11-25 17:08:32 +09:00
dearblue
16e388863a
Fixed some methods where keyword arguments are not passed
2021-11-24 23:35:42 +09:00
Yukihiro "Matz" Matsumoto
d6e1114f71
Merge pull request #5581 from mruby/dependabot/github_actions/actions/cache-2.1.7
...
build(deps): bump actions/cache from 2.1.6 to 2.1.7
2021-11-24 09:39:50 +09:00
dependabot[bot]
9ae657520b
build(deps): bump actions/cache from 2.1.6 to 2.1.7
...
Bumps [actions/cache](https://github.com/actions/cache ) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases )
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-23 14:12:20 +00:00
Yukihiro "Matz" Matsumoto
d627c22924
AUTHORS: update entries [ci skip]
2021-11-23 10:05:16 +09:00
Yukihiro "Matz" Matsumoto
4a84fa5db5
Merge pull request #5580 from dearblue/static-proc
...
Fixed occurs `SIGSEGV` with `mrbgems/mruby-method`
2021-11-23 10:03:44 +09:00
dearblue
b02bd63dc5
Fixed occurs SIGSEGV with mrbgems/mruby-method
...
Calling the `Method#{parameters,source_location}` method on a static `Proc` object resulted in `SIGSEGV`.
The trigger is https://github.com/mruby/mruby/pull/5402 .
The original implementation of the `Method#{parameters,source_location}` method was to temporarily rewrite the object and then call the method of the same name in `Proc`.
Rewriting of objects placed in the ROM section by #5402 above is prohibited by hardware such as the CPU.
This caused a `SIGSEGV`.
2021-11-22 21:55:02 +09:00
Yukihiro "Matz" Matsumoto
01cadd3e70
parse.y: check duplicated argument names; fix #5575
2021-11-21 19:05:50 +09:00
Yukihiro "Matz" Matsumoto
f69eafc6bd
doc/internal/opcode.md: moved from doc/opcode.md
2021-11-20 14:56:59 +09:00
Yukihiro "Matz" Matsumoto
28f00b23bf
doc/opcode.md: update according to #5579
2021-11-20 14:55:09 +09:00
Yukihiro "Matz" Matsumoto
a04d2a8865
fixup! parse.y: unnamed rest argument should be mul (*).
2021-11-20 08:50:52 +09:00
Yukihiro "Matz" Matsumoto
2e41b20590
parse.y: unnamed rest argument should be mul (*).
2021-11-20 08:50:52 +09:00
Yukihiro "Matz" Matsumoto
9e064f2353
parse.y: skip unnecessary local_add_f(p, 0).
2021-11-20 08:50:51 +09:00
Yukihiro "Matz" Matsumoto
4c28356b71
Merge pull request #5578 from dearblue/OP_SENDB
...
Fixes keywords are lost with the `OP_SENDB`
2021-11-20 08:50:42 +09:00
Yukihiro "Matz" Matsumoto
c6c789d2e8
Merge pull request #5579 from dearblue/OP_ASET
...
Fixed a discrepancy in `OP_ASET`
2021-11-20 08:48:05 +09:00
dearblue
6fba0dbece
Fixed a discrepancy in OP_ASET
...
There was a discrepancy in the actual behavior, assertions, and documentation.
Therefore, I modified it based on the actual behavior.
2021-11-19 22:53:01 +09:00
dearblue
279e0122da
Fixes keywords are lost with the OP_SENDB
...
If a splat argument was passed, it could write out of range on the VM stack.
```console
% bin/mruby -e 'def m(*args, **opts, &blk) p [args, opts, blk] end; m(*%w(X Y Z), r: 1, g: 2, b: 3) {}'
[["X", "Y", "Z"], {}, #<Proc:0x80077d7d0>]
```
2021-11-19 22:35:47 +09:00
Yukihiro "Matz" Matsumoto
1a1ff6b3ff
Merge pull request #5577 from mruby/dependabot/github_actions/github/super-linter-4.8.4
...
build(deps): bump github/super-linter from 4.8.3 to 4.8.4
2021-11-18 10:28:35 +09:00
dependabot[bot]
a66db89a5d
build(deps): bump github/super-linter from 4.8.3 to 4.8.4
...
Bumps [github/super-linter](https://github.com/github/super-linter ) from 4.8.3 to 4.8.4.
- [Release notes](https://github.com/github/super-linter/releases )
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md )
- [Commits](https://github.com/github/super-linter/compare/v4.8.3...v4.8.4 )
---
updated-dependencies:
- dependency-name: github/super-linter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-17 14:09:11 +00:00
Yukihiro "Matz" Matsumoto
f4e18a5d84
codegen.c: fixed a bug in post mandatory arguments.
2021-11-17 16:34:44 +09:00
Yukihiro "Matz" Matsumoto
f5d9aab372
codegen.c: should not emit the MOVE instruction to the same register.
2021-11-17 16:33:53 +09:00
Yukihiro "Matz" Matsumoto
e3e54453a7
Merge pull request #5576 from mruby/dependabot/github_actions/github/super-linter-4.8.3
...
build(deps): bump github/super-linter from 4.8.1 to 4.8.3
2021-11-16 16:59:10 +09:00
dependabot[bot]
927812a7e6
build(deps): bump github/super-linter from 4.8.1 to 4.8.3
...
Bumps [github/super-linter](https://github.com/github/super-linter ) from 4.8.1 to 4.8.3.
- [Release notes](https://github.com/github/super-linter/releases )
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md )
- [Commits](https://github.com/github/super-linter/compare/v4.8.1...v4.8.3 )
---
updated-dependencies:
- dependency-name: github/super-linter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-15 14:08:13 +00:00
Yukihiro "Matz" Matsumoto
e0a3800e5d
string-ext/string.c: fixed a memory leak.
2021-11-15 09:49:05 +09:00
Yukihiro "Matz" Matsumoto
a0b58eed46
doc/internal/boxing.md: describe how mrb_value represents values.
2021-11-14 17:45:21 +09:00
Yukihiro "Matz" Matsumoto
1fe722cd78
boxing_word.h: fix the error in the comment [ci skip]
2021-11-13 20:59:54 +09:00
Yukihiro "Matz" Matsumoto
4e3df65d6f
test/syntax.rb: test argument forwarding without parentheses.
2021-11-12 15:02:49 +09:00
Yukihiro "Matz" Matsumoto
7c1878669a
parse.y: should allow newline after ....
2021-11-12 15:02:04 +09:00
Yukihiro "Matz" Matsumoto
885a87e408
parse.y: allow ... in formal arguments without parentheses.
2021-11-10 22:25:02 +09:00
Yukihiro "Matz" Matsumoto
2e0c1b4361
etc.c: improve mrb_obj_id with NaN boxing and Word boxing.
2021-11-09 17:24:53 +09:00
Yukihiro "Matz" Matsumoto
a5567fbad4
boxing_nan.h: update mrb_immediate_p and related macros.
2021-11-08 14:33:50 +09:00
Yukihiro "Matz" Matsumoto
5dc91029d1
TODO.md: update.
2021-11-08 14:33:50 +09:00
Yukihiro "Matz" Matsumoto
5c8e184fcf
Merge pull request #5437 from dearblue/parse.y
...
Run the task only once when `parse.y` is updated
2021-11-06 19:58:28 +09:00
Yukihiro "Matz" Matsumoto
c3a1456cc8
mruby3.1.md: update.
2021-11-06 18:18:38 +09:00
Yukihiro "Matz" Matsumoto
879f074cd0
mruby3.1.md: update new methods description.
2021-11-05 15:08:44 +09:00
Yukihiro "Matz" Matsumoto
d6f6467ad7
boxing_nan.h (mrb_float_p): wrap macro argument by parenthesis.
2021-11-04 20:49:19 +09:00
Yukihiro "Matz" Matsumoto
c21a094a7f
hash.c: avoid mrb_obj_id to get the hash value if possible.
2021-11-04 15:54:31 +09:00
Yukihiro "Matz" Matsumoto
877e82eb92
Merge pull request #5570 from dearblue/random-bytes
...
Added `Random.#bytes` method
2021-11-04 15:54:22 +09:00
Yukihiro "Matz" Matsumoto
8f67a0d0e1
Merge pull request #5569 from dearblue/array-product
...
Added `Array#product` method
2021-11-04 15:54:09 +09:00
Yukihiro "Matz" Matsumoto
b940ed69d9
Merge pull request #5571 from mruby/dependabot/github_actions/actions/checkout-2.4.0
...
build(deps): bump actions/checkout from 2.3.5 to 2.4.0
2021-11-04 07:48:14 +09:00
dependabot[bot]
b8b5d4094f
build(deps): bump actions/checkout from 2.3.5 to 2.4.0
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-03 14:06:38 +00:00