summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-11-26Check more `MRB_ARGS_NONE()`dearblue
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-25Merge pull request #5585 from dearblue/args-passYukihiro "Matz" Matsumoto
Fixed some methods where keyword arguments are not passed
2021-11-24Fixed some methods where keyword arguments are not passeddearblue
2021-11-24Merge pull request #5581 from ↵Yukihiro "Matz" Matsumoto
mruby/dependabot/github_actions/actions/cache-2.1.7 build(deps): bump actions/cache from 2.1.6 to 2.1.7
2021-11-23build(deps): bump actions/cache from 2.1.6 to 2.1.7dependabot[bot]
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] <[email protected]>
2021-11-23AUTHORS: update entries [ci skip]Yukihiro "Matz" Matsumoto
2021-11-23Merge pull request #5580 from dearblue/static-procYukihiro "Matz" Matsumoto
Fixed occurs `SIGSEGV` with `mrbgems/mruby-method`
2021-11-22Fixed occurs `SIGSEGV` with `mrbgems/mruby-method`dearblue
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-21parse.y: check duplicated argument names; fix #5575Yukihiro "Matz" Matsumoto
2021-11-20doc/internal/opcode.md: moved from doc/opcode.mdYukihiro "Matz" Matsumoto
2021-11-20doc/opcode.md: update according to #5579Yukihiro "Matz" Matsumoto
2021-11-20fixup! parse.y: unnamed rest argument should be `mul (*)`.Yukihiro "Matz" Matsumoto
2021-11-20parse.y: unnamed rest argument should be `mul (*)`.Yukihiro "Matz" Matsumoto
2021-11-20parse.y: skip unnecessary `local_add_f(p, 0)`.Yukihiro "Matz" Matsumoto
2021-11-20Merge pull request #5578 from dearblue/OP_SENDBYukihiro "Matz" Matsumoto
Fixes keywords are lost with the `OP_SENDB`
2021-11-20Merge pull request #5579 from dearblue/OP_ASETYukihiro "Matz" Matsumoto
Fixed a discrepancy in `OP_ASET`
2021-11-19Fixed a discrepancy in `OP_ASET`dearblue
There was a discrepancy in the actual behavior, assertions, and documentation. Therefore, I modified it based on the actual behavior.
2021-11-19Fixes keywords are lost with the `OP_SENDB`dearblue
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-18Merge pull request #5577 from ↵Yukihiro "Matz" Matsumoto
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-17build(deps): bump github/super-linter from 4.8.3 to 4.8.4dependabot[bot]
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] <[email protected]>
2021-11-17codegen.c: fixed a bug in post mandatory arguments.Yukihiro "Matz" Matsumoto
2021-11-17codegen.c: should not emit the `MOVE` instruction to the same register.Yukihiro "Matz" Matsumoto
2021-11-16Merge pull request #5576 from ↵Yukihiro "Matz" Matsumoto
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-15build(deps): bump github/super-linter from 4.8.1 to 4.8.3dependabot[bot]
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] <[email protected]>
2021-11-15string-ext/string.c: fixed a memory leak.Yukihiro "Matz" Matsumoto
2021-11-14doc/internal/boxing.md: describe how `mrb_value` represents values.Yukihiro "Matz" Matsumoto
2021-11-13boxing_word.h: fix the error in the comment [ci skip]Yukihiro "Matz" Matsumoto
2021-11-12test/syntax.rb: test argument forwarding without parentheses.Yukihiro "Matz" Matsumoto
2021-11-12parse.y: should allow newline after `...`.Yukihiro "Matz" Matsumoto
2021-11-10parse.y: allow `...` in formal arguments without parentheses.Yukihiro "Matz" Matsumoto
2021-11-09etc.c: improve `mrb_obj_id` with NaN boxing and Word boxing.Yukihiro "Matz" Matsumoto
2021-11-08boxing_nan.h: update `mrb_immediate_p` and related macros.Yukihiro "Matz" Matsumoto
2021-11-08TODO.md: update.Yukihiro "Matz" Matsumoto
2021-11-06Merge pull request #5437 from dearblue/parse.yYukihiro "Matz" Matsumoto
Run the task only once when `parse.y` is updated
2021-11-06mruby3.1.md: update.Yukihiro "Matz" Matsumoto
2021-11-05mruby3.1.md: update new methods description.Yukihiro "Matz" Matsumoto
2021-11-04boxing_nan.h (mrb_float_p): wrap macro argument by parenthesis.Yukihiro "Matz" Matsumoto
2021-11-04hash.c: avoid `mrb_obj_id` to get the hash value if possible.Yukihiro "Matz" Matsumoto
2021-11-04Merge pull request #5570 from dearblue/random-bytesYukihiro "Matz" Matsumoto
Added `Random.#bytes` method
2021-11-04Merge pull request #5569 from dearblue/array-productYukihiro "Matz" Matsumoto
Added `Array#product` method
2021-11-04Merge pull request #5571 from ↵Yukihiro "Matz" Matsumoto
mruby/dependabot/github_actions/actions/checkout-2.4.0 build(deps): bump actions/checkout from 2.3.5 to 2.4.0
2021-11-03build(deps): bump actions/checkout from 2.3.5 to 2.4.0dependabot[bot]
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] <[email protected]>
2021-11-03Merge pull request #5565 from dearblue/class.newYukihiro "Matz" Matsumoto
Improved `Class#new` method
2021-11-01Merge pull request #5568 from dearblue/nan+cxx_abiYukihiro "Matz" Matsumoto
Fix failed build with `MRB_NAN_BOXING` and `enable_cxx_abi`
2021-11-01object.c: fast implementation of `mrb_obj_eq`.Yukihiro "Matz" Matsumoto
For `MRB_NAN_BOXING` and `MRB_WORD_BOXING`.
2021-10-31Added `Random.#bytes` methoddearblue
ref: https://docs.ruby-lang.org/ja/3.0.0/method/Random/i/bytes.html
2021-10-31Added `Array#product` methoddearblue
Ruby-1.9.0 feature. ref: https://docs.ruby-lang.org/ja/3.0.0/method/Array/i/product.html
2021-10-31Fix failed build with `MRB_NAN_BOXING` and `enable_cxx_abi`dearblue
```console % c++ -xc++ -std=c++03 -S -Iinclude -DMRB_NAN_BOXING -DMRB_NO_PRESYM -o- src/array.c > /dev/null In file included from src/array.c:7: In file included from include/mruby.h:115: In file included from include/mruby/value.h:201: include/mruby/boxing_nan.h:95:12: error: cannot initialize return object of type 'enum mrb_vtype' with an rvalue of type 'int' return (enum mrb_vtype)(o.u >> 8) & 0x1f; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ```
2021-10-31Merge pull request #5566 from dearblue/no_float_truncateYukihiro "Matz" Matsumoto
Avoid redefining `MRB_WORDBOX_NO_FLOAT_TRUNCATE`
2021-10-30Merge pull request #5567 from dearblue/mrb_static_assert.1Yukihiro "Matz" Matsumoto
Avoid violations of the `mrb_static_assert()` standard