| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-09-17 | Merge pull request #4717 from shuujii/fix-Fixnum-to_s-inspect-argument-specs | Yukihiro "Matz" Matsumoto | |
| Fix `Fixnum#(to_s|inspect)` argument specs | |||
| 2019-09-17 | Fix `Fixnum#(to_s|inspect)` argument specs | KOBAYASHI Shuji | |
| Before this patch: $ bin/mruby -e 'p 3.to_s(2)' trace (most recent call last): [0] -e:1 -e:1: 'to_s': wrong number of arguments (1 for 0) (ArgumentError) After this patch: $ bin/mruby -e 'p 3.to_s(2)' "11" | |||
| 2019-09-17 | Merge pull request #4714 from dearblue/shrink-mrb_get_args | Yukihiro "Matz" Matsumoto | |
| Shrink `mrb_get_args()` | |||
| 2019-09-17 | Merge pull request #4715 from dearblue/need-block | Yukihiro "Matz" Matsumoto | |
| Entrust "no block given" error to `mrb_get_args()` | |||
| 2019-09-17 | Merge pull request #4713 from shuujii/fix-argument-specs-to-Enumerable | Yukihiro "Matz" Matsumoto | |
| Fix argument specs to `Enumerable` | |||
| 2019-09-16 | Entrust "no block given" error to `mrb_get_args()` | dearblue | |
| Some error messages will be changed. | |||
| 2019-09-16 | Shrink `mrb_get_args()` | dearblue | |
| As a side effect, all specifiers now accept the `!` modifier. | |||
| 2019-09-16 | Cache argv first in each specifiers for `mrb_get_args()`; ref #3090 | dearblue | |
| 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-16 | Fix argument specs to `Enumerable` | KOBAYASHI Shuji | |
| 2019-09-16 | Raise `ArgumentError` by `aspec` check; ref #4688 | Yukihiro "Matz" Matsumoto | |
| This is partial `aspec` check that only checks `MRB_ARGS_NONE()`. | |||
| 2019-09-14 | Add a macro `mrb_frozen_p` that points to `MRB_FROZEN_P`. | Yukihiro "Matz" Matsumoto | |
| 2019-09-14 | Use `%C` to `mrb_name_error` in `mrb_method_search`; ref 5890c7d5 | KOBAYASHI Shuji | |
| 2019-09-14 | Remove `mrb_funcall` from `<=>` operations. | Yukihiro "Matz" Matsumoto | |
| 2019-09-14 | Raise an error from `String#<=>` with a non string operand. | Yukihiro "Matz" Matsumoto | |
| 2019-09-14 | Use `mrb_equal` instead of `mrb_funcall`. | Yukihiro "Matz" Matsumoto | |
| In the typical case, `mrb_funcall` invocation would be skipped. | |||
| 2019-09-14 | Remove `mrb_funcall` from `mrb_method_search`. | Yukihiro "Matz" Matsumoto | |
| 2019-09-12 | Remove `$/` 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-12 | Use `mrb_str_inspect` instead of `mrb_str_dup`; fix #4678 | Yukihiro "Matz" Matsumoto | |
| 2019-09-11 | Move `String#{getbyte,setbyte,byteslice}` to the core; #4696 | Yukihiro "Matz" Matsumoto | |
| Unlike CRuby, there's no way to process strings byte-wise by core methods because there's no per string encoding in mruby, so that we moved 3 byte-wise operation methods from `mruby-string-ext` gem. | |||
| 2019-09-09 | Fix `mod.constants` not to have duplicate constant names; #4698 | Yukihiro "Matz" Matsumoto | |
| The fix was based on PR from @dearblue | |||
| 2019-09-09 | Remove duplication of `BasicObject` constant; fix #4698 | Yukihiro "Matz" Matsumoto | |
| 2019-09-09 | Fix `Class.new` argument specs | KOBAYASHI Shuji | |
| 2019-09-08 | Merge pull request #4695 from dearblue/promote-to-int | Yukihiro "Matz" Matsumoto | |
| Fix `mrb_vformat()` crashes with `MRB_INT16` | |||
| 2019-09-08 | Fix `mrb_vformat()` crashes with `MRB_INT16` | dearblue | |
| If `MRB_INT16` is specified, the variable length argument `mrb_int` is converted to `int`. | |||
| 2019-09-07 | Revert part of #4225 | Yukihiro "Matz" Matsumoto | |
| Since in mruby, Integer and Float interchange frequently (mostly on overflow), so adding explicit `.0` can cause problems sometimes. For example: https://github.com/mattn/mruby-json/pull/40 https://github.com/pepabo/mruby-msd/pull/13 https://github.com/mattn/mruby-json/pull/42 | |||
| 2019-09-04 | Fix argument specs to `BasicObject` | KOBAYASHI Shuji | |
| 2019-08-26 | fix lots of warnings and make logo not so big | David Siaw | |
| 2019-08-24 | Suppress warning by gcc with `-Wmaybe-uninitialized` | dearblue | |
| 2019-08-23 | Fix `RBreak` exceeding 6 words on 32-bit mode w/o boxing and `MRB_USE_FLOAT` | KOBAYASHI Shuji | |
| ref: https://github.com/mruby/mruby/pull/4483#issuecomment-498001736 In this configuration, `tt` of `RBreak::val` is set into `RBreak::flags`. | |||
| 2019-08-21 | Prioritize embedded string over nofree (or normal) string | KOBAYASHI Shuji | |
| Prioritize embedded string in the following functions: - `str_new_static` - `str_new` - `mrb_str_new_capa` - `mrb_str_pool` The reasons are as follows: - Consistency with `mrb_str_byte_subseq` and `str_replace`. - Memory locality increases and may be slightly faster. - No conversion cost to embedded string when modifying the string. | |||
| 2019-08-20 | Use `RBasic` padding for embedded string on 64-bit CPU | KOBAYASHI Shuji | |
| On 64-bit CPU, there is padding in `RBasic`, so reorder the fields and use it as buffer of embedded string. This change allows 4 more bytes to be embedded on 64-bit CPU. However, an incompatibility will occur if `RString::as::ary` is accessed directly because `RString` structure has changed. | |||
| 2019-08-19 | Move `mrb_str_pool` to `src/string.c` to use `str_init` family | KOBAYASHI Shuji | |
| 2019-08-19 | Merge pull request #4638 from dearblue/simplify-get-args | Yukihiro "Matz" Matsumoto | |
| Simplify get arguments | |||
| 2019-08-19 | Merge pull request #4641 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/rename-mrb_shared_string-len-to-mrb_shared_string-capa Rename `mrb_shared_string::len` to `mrb_shared_string::capa` | |||
| 2019-08-19 | Merge pull request #4640 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/also-use-str_init_shared-for-orig-in-str_make_shared Also use `str_init_shared` for `orig` in `str_make_shared()` | |||
| 2019-08-18 | Rename `mrb_shared_string::len` to `mrb_shared_string::capa` | KOBAYASHI Shuji | |
| Because this field is used as capacity of string buffer. | |||
| 2019-08-18 | Also use `str_init_shared` for `orig` in `str_make_shared()` | KOBAYASHI Shuji | |
| 2019-08-18 | Simplify get arguments | dearblue | |
| - `mrb_str_index_m()` and `mrb_str_rindex()` Make `mrb_get_args()` called only once from called twice. - `mrb_str_byteslice()` Replace `goto` with `if ~ else`. | |||
| 2019-08-18 | Prohibit changes to iseq in principle | dearblue | |
| 2019-08-17 | Merge pull request #4634 from shuujii/refactor-set-unset-string-type-flags | Yukihiro "Matz" Matsumoto | |
| Refactor set/unset string type flags | |||
| 2019-08-17 | Refactor set/unset string type flags | KOBAYASHI Shuji | |
| Introduce `RSTR_SET_TYPE_FLAG` macro to set the specified string type flag and clear the others. | |||
| 2019-08-17 | Merge pull request #4625 from dearblue/rindex-broken-utf8 | Yukihiro "Matz" Matsumoto | |
| Fix `String#rindex` with invalid UTF-8 string | |||
| 2019-08-17 | Implement `Array#each` using inline mruby bytecode. | Yukihiro "Matz" Matsumoto | |
| 2019-08-17 | Fix `String#rindex` with invalid UTF-8 string | dearblue | |
| Previously `String#rindex` returned the wrong index when given an invalid UTF-8 string. ```terminal % ruby26 -e 'str = "\xf0☀\xf1☁\xf2☂\xf3☃\xf0☀\xf1☁\xf2☂\xf3☃"; p str.rindex("☁")' 11 % ./mruby-head -e 'str = "\xf0☀\xf1☁\xf2☂\xf3☃\xf0☀\xf1☁\xf2☂\xf3☃"; p str.rindex("☁")' nil % ./mruby-patched -e 'str = "\xf0☀\xf1☁\xf2☂\xf3☃\xf0☀\xf1☁\xf2☂\xf3☃"; p str.rindex("☁")' 11 ``` | |||
| 2019-08-17 | Stop using `mrb_to_str` as a converter (it is not). | Yukihiro "Matz" Matsumoto | |
| 2019-08-17 | Avoid `mrb_funcall` from `Class#new` when no overloading. | Yukihiro "Matz" Matsumoto | |
| 2019-08-16 | Merge pull request #4633 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/shared-fshared-string-is-not-required-when-sharing-nofree-string SHARED/FSHARED string is not required when sharing NOFREE string | |||
| 2019-08-16 | Optimize bytecode for `Class#new`. | Yukihiro "Matz" Matsumoto | |
| 2019-08-16 | Implement `Class#new` using inline mruby bytecode. | Yukihiro "Matz" Matsumoto | |
| 2019-08-16 | SHARED/FSHARED string is not required when sharing NOFREE string | KOBAYASHI Shuji | |
| I think the string buffer of NOFREE string always exists and does not need to be released, so it can be shared as another NOFREE string. Also changed the `mrb_shared_string` field order so that eliminate padding if `int` and `mrb_int` sizes are less than pointer size. | |||
