summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2019-09-16Entrust "no block given" error to `mrb_get_args()`dearblue
Some error messages will be changed.
2019-09-16Shrink `mrb_get_args()`dearblue
As a side effect, all specifiers now accept the `!` modifier.
2019-09-16Cache argv first in each specifiers for `mrb_get_args()`; ref #3090dearblue
In terms of specifiers, argv is never referenced after a method call as shown in #3090. Reduction of object code can be expected. If you need to refer to argv after a method call in the same loop, update argv after the method call.
2019-09-16Merge pull request #4255 from shuujii/enumerator-size-is-not-supportedYukihiro "Matz" Matsumoto
`Enumerator#size` is not supported [ci skip]
2019-09-16Fix argument specs to `Enumerable`KOBAYASHI Shuji
2019-09-16Remove `MRB_METHOD_TABLE_INLINE`.Yukihiro "Matz" Matsumoto
`MRB_METHOD_TABLE_INLINE` was fragile. It requires `-falign-functions=n`. On platform that uses higher bits of function pointers, you can use new `MRB_METHOD_T_STRUCT` configuration macro.
2019-09-16Raise `ArgumentError` by `aspec` check; ref #4688Yukihiro "Matz" Matsumoto
This is partial `aspec` check that only checks `MRB_ARGS_NONE()`.
2019-09-16Share common definition of `MRB_METHOD_FUNC_FL`.Yukihiro "Matz" Matsumoto
2019-09-16Use bit shifting to pack function pointers to `mrb_method_t`.Yukihiro "Matz" Matsumoto
So you don't need `-falign-functions=2` anymore. Instead your platform must not use higher bits of the pointer (true for most platforms). If not, you have to use `struct mrb_method_t` version.
2019-09-16Refactor `mrb_method_t`.Yukihiro "Matz" Matsumoto
2019-09-16Implement `Enumerable` tally from Ruby2.7.Yukihiro "Matz" Matsumoto
2019-09-16Implement `filter_map` from Ruby2.6.Yukihiro "Matz" Matsumoto
2019-09-16Add `filter` aliases for `Enumerable` and `Hash`.Yukihiro "Matz" Matsumoto
2019-09-16Add `Array#difference` method from Ruby2.6.Yukihiro "Matz" Matsumoto
2019-09-16Implement `bind_call` method from Ruby2.7.Yukihiro "Matz" Matsumoto
2019-09-16Merge branch 'dearblue-mruby-io'Yukihiro "Matz" Matsumoto
2019-09-16Add small fix over #4712Yukihiro "Matz" Matsumoto
2019-09-16Fix broken UTF-8 characters by `IO#getc`dearblue
Character (multi-byte UTF-8) is destroyed when character spanning `IO::BUF_SIZE` (4096 bytes) exist. - Prepare file: ```ruby File.open("sample", "wb") { |f| f << "●" * 1370 } ``` - Before patched: ```ruby File.open("sample") { |f| a = []; while ch = f.getc; a << ch; end; p a } # => ["●", "●", ..., "●", "\xe2", "\x97", "\x8f", "●", "●", "●", "●"] - After patched: ```ruby File.open("sample") { |f| a = []; while ch = f.getc; a << ch; end; p a } # => ["●", "●", ..., "●", "●", "●", "●", "●", "●"]
2019-09-16Small improvement for mruby-iodearblue
2019-09-16Fix `IO#pos`dearblue
2019-09-16Revert part of 8c90b5fc6dearblue
`IO#readline` and `IO#readchar` process in character units.
2019-09-15Merge pull request #4512 from lopopolo/patch-1Yukihiro "Matz" Matsumoto
Support parsing a Regexp literal with 'o' option
2019-09-15Merge pull request #4710 from ↵Yukihiro "Matz" Matsumoto
shuujii/refactor-mrb_type-in-include-mruby-boxing_word.h Refactor `mrb_type` in `include/mruby/boxing_word.h`
2019-09-15Refactor `mrb_type` in `include/mruby/boxing_word.h`KOBAYASHI Shuji
2019-09-14Add unavailability of declaration form of visibility methods; #4708Yukihiro "Matz" Matsumoto
2019-09-14Add argument names to C function prototypes.Yukihiro "Matz" Matsumoto
2019-09-14Add a macro `mrb_frozen_p` that points to `MRB_FROZEN_P`.Yukihiro "Matz" Matsumoto
2019-09-14Replace `String#byteslice` by custom `IO._bufread`.Yukihiro "Matz" Matsumoto
`byteslice` creates 2 string objects. `_bufread` creates one, and modifies the original buffer string, that is more efficient.
2019-09-14Merge pull request #4707 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-%C-to-mrb_name_error-in-mrb_method_search Use `%C` to `mrb_name_error` in `mrb_method_search`; ref 5890c7d5
2019-09-14Use `%C` to `mrb_name_error` in `mrb_method_search`; ref 5890c7d5KOBAYASHI Shuji
2019-09-14Revert "Update `%pure-parser` to `%define api.pure` for newer `bison`; fix ↵Yukihiro "Matz" Matsumoto
#4706" The `bison` on MacOS does not support `%define api.pure`. This reverts commit f7c9f1f796d83b9316917681ea068ff648248425.
2019-09-14Update `%pure-parser` to `%define api.pure` for newer `bison`; fix #4706Yukihiro "Matz" Matsumoto
2019-09-14Remove `mrb_funcall` from `<=>` operations.Yukihiro "Matz" Matsumoto
2019-09-14Raise an error from `String#<=>` with a non string operand.Yukihiro "Matz" Matsumoto
2019-09-14Use `mrb_equal` instead of `mrb_funcall`.Yukihiro "Matz" Matsumoto
In the typical case, `mrb_funcall` invocation would be skipped.
2019-09-14Remove `mrb_funcall` from `mrb_method_search`.Yukihiro "Matz" Matsumoto
2019-09-14Replace `loop` method with `while true` loop to gain performance.Yukihiro "Matz" Matsumoto
2019-09-13Merge pull request #4705 from ↵Yukihiro "Matz" Matsumoto
shuujii/revert-part-of-Refine-tasks-toolchains-gcc-clang.rake Revert part of "Refine `tasks/toolchains/(gcc|clang).rake`" (07c6b7f0)
2019-09-13Revert part of "Refine `tasks/toolchains/(gcc|clang).rake`" (07c6b7f0)KOBAYASHI Shuji
`-Wzero-length-array` is not a mandatory option, so the original is better.
2019-09-13Merge pull request #4704 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-warnings-for-invalid-C++-option-with-enable_cxx_abi Fix warnings for invalid C++ option with `enable_cxx_abi`; ref #3618, #4703
2019-09-13Fix warnings for invalid C++ option with `enable_cxx_abi`; ref #3618, #4703KOBAYASHI Shuji
2019-09-13Update `assert_take` for zero size take.Yukihiro "Matz" Matsumoto
2019-09-13Add `Enumerator.produce` from Ruby2.7Yukihiro "Matz" Matsumoto
2019-09-13Remove `-std=gnu99` when `enable_cxx_abi`; ref #4703Yukihiro "Matz" Matsumoto
To stop warnings since C++ do not accept `-std=gnu99` option.
2019-09-13Remove unnecessary files from `mruby-{io,pack,socket}`.Yukihiro "Matz" Matsumoto
2019-09-12Merge pull request #4703 from shuujii/refine-tasks-toolchains-gcc-clang.rakeYukihiro "Matz" Matsumoto
Refine `tasks/toolchains/(gcc|clang).rake`
2019-09-12Refine `tasks/toolchains/(gcc|clang).rake`KOBAYASHI Shuji
- Make sure to specify `-std=gnu99` for C compiler flag. - Make sure to specify `-Wzero-length-array` for C/C++ compiler flag (Clang). - Extract similar codes.
2019-09-12Remove `$/` from mruby implementation.Yukihiro "Matz" Matsumoto
1. `$/` and other Perl-ish global variables are not defined in ISO. 2. The current Ruby policy do not encourage those variables. 3. Those variables has global effect and can cause troubles.
2019-09-12Merge pull request #4527 from lopopolo/string-each-line-paragraph-modeYukihiro "Matz" Matsumoto
Add paragraph mode to String#each_line in mrblib
2019-09-12Use `mrb_str_inspect` instead of `mrb_str_dup`; fix #4678Yukihiro "Matz" Matsumoto