- 01 Dec, 2021 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
This is a fundamentally simplified reimplementation of #5317 by @shuujii Instead of having array of `struct iv_elem`, we have sequences of keys and values packed in single chunk of malloc'ed memory. We don't have to worry about gaps from alignment, especially on 64 bit architecture, where `sizeof(struct iv_elem)` probably consumes 16 bytes, but `sizeof(mrb_sym)+sizeof(mrb_value)` is 12 bytes. In addition, this change could improve memory access locality. close #5317
-
- 29 Nov, 2021 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Align "wrong number of arguments" messages
-
- 28 Nov, 2021 5 commits
-
-
Yukihiro "Matz" Matsumoto authored
Fixed compile error for `mrbgems/mruby-cmath` with `clang++`
-
Yukihiro "Matz" Matsumoto authored
Fix `args_unshift()` in `mrbgems/mruby-method`
-
dearblue authored
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) ```
-
dearblue authored
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.
-
dearblue authored
Both keyword arguments and block arguments were being destroyed when there were no arguments. The cause of this is #5585. I' m sorry.
-
- 26 Nov, 2021 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
dearblue authored
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`.
-
- 25 Nov, 2021 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
Fixed some methods where keyword arguments are not passed
-
- 24 Nov, 2021 2 commits
-
-
dearblue authored
-
Yukihiro "Matz" Matsumoto authored
build(deps): bump actions/cache from 2.1.6 to 2.1.7
-
- 23 Nov, 2021 3 commits
-
-
dependabot[bot] authored
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>
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Fixed occurs `SIGSEGV` with `mrbgems/mruby-method`
-
- 22 Nov, 2021 1 commit
-
-
dearblue authored
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`.
-
- 21 Nov, 2021 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 20 Nov, 2021 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 19 Nov, 2021 7 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Fixes keywords are lost with the `OP_SENDB`
-
Yukihiro "Matz" Matsumoto authored
Fixed a discrepancy in `OP_ASET`
-
dearblue authored
There was a discrepancy in the actual behavior, assertions, and documentation. Therefore, I modified it based on the actual behavior.
-
dearblue authored
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>] ```
-
- 18 Nov, 2021 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
build(deps): bump github/super-linter from 4.8.3 to 4.8.4
-
- 17 Nov, 2021 3 commits
-
-
dependabot[bot] authored
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>
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 16 Nov, 2021 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
build(deps): bump github/super-linter from 4.8.1 to 4.8.3
-
- 15 Nov, 2021 2 commits
-
-
dependabot[bot] authored
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>
-
Yukihiro "Matz" Matsumoto authored
-
- 14 Nov, 2021 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 13 Nov, 2021 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-
- 12 Nov, 2021 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 10 Nov, 2021 1 commit
-
-
Yukihiro "Matz" Matsumoto authored
-