| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-07-13 | Change type of a variable for signedness mismatch; ref #4573 | Yukihiro "Matz" Matsumoto | |
| 2019-07-13 | Avoid `mrb_funcall()` if possible using `mrb_Float()`; ref #4555 | Yukihiro "Matz" Matsumoto | |
| 2019-07-12 | Fix heap buffer overflow; fix #4569 | dearblue | |
| 2019-07-11 | Improve performance `String#index` with UTF-8 | dearblue | |
| Based on Boyer-Moore-Horspool algorithm (Quick Search algorithm). As a side effect, the correct position is returned even if an invalid UTF-8 string is given. ```console % ./mruby@master -e 'p ("\xd1" * 100 + "#").index("#")' 50 % ./mruby@improve-index -e 'p ("\xd1" * 100 + "#").index("#")' 100 ``` The other behavior should be the same as the current implementation. | |||
| 2019-07-10 | Remove an unused argument of `str_with_class()` | KOBAYASHI Shuji | |
| 2019-07-09 | Set `MRB_STR_ASCII` flag when an inline symbol is stringized | KOBAYASHI Shuji | |
| 2019-07-08 | Add macros for inline symbol for readability | KOBAYASHI Shuji | |
| 2019-07-06 | Fix missing `#ifndef MRB_ENABLE_ALL_SYMBOLS` | KOBAYASHI Shuji | |
| 2019-07-05 | Read/write `MRB_STR_ASCII` flag only when `MRB_UTF8_STRING` is defined | KOBAYASHI Shuji | |
| 2019-07-04 | It was too early to check `key` for `undef`; ref #4534 | Yukihiro "Matz" Matsumoto | |
| 2019-07-04 | Rename `MRB_STR_NO_UTF` to 'MRB_STR_ASCII`; close #4550 | Yukihiro "Matz" Matsumoto | |
| In #4550, @shuuji proposed the name name `MRB_STR_NO_MULTI_BYTE` for more precise description. Although I agree that the name name is correct, but the flag means the string does not contain multi byte UTF-8 characters, i.e. all characters fit in the range of ASCII. | |||
| 2019-07-04 | Fix heap buffer overflow; ref #4549 | dearblue | |
| This patch is showed in #4549. | |||
| 2019-07-03 | Refine document to mrb_get_args()` [ci skip] | KOBAYASHI Shuji | |
| 2019-07-02 | Fix and refine error message in `mrb_obj_to_sym()` | KOBAYASHI Shuji | |
| Before this patch: $ bin/mruby -e '1.respond_to?(2)' #=> nil is not a symbol After this patch (same as Ruby): $ bin/mruby -e '1.respond_to?(2)' #=> 2 is not a symbol nor a string | |||
| 2019-07-01 | Remove unused C header file from `src/etc.c` | KOBAYASHI Shuji | |
| 2019-06-30 | Fix `include`, `prepend` and `extend` to frozen object | KOBAYASHI Shuji | |
| 2019-06-29 | Simplify `mrb_str_aref_m()` and `mrb_str_aref()` | dearblue | |
| It is integration with part of argument parsing used in `mrb_str_aset_m()`. | |||
| 2019-06-29 | Replace `String#[]=` method by C implements | dearblue | |
| The purpose is to eliminate string objects that are temporarily created during processing. | |||
| 2019-06-28 | Remove unnecessary backticks in `src/range.c`; ref #2858 | KOBAYASHI Shuji | |
| 2019-06-27 | Skip copying delete keys in a hash; fix #4534 | Yukihiro "Matz" Matsumoto | |
| 2019-06-26 | Silence unused label warnings from gcc; ref #4524 | KOBAYASHI Shuji | |
| mruby/mruby/src/string.c:1722:4: warning: label 'bytes' defined but not used [-Wunused-label] bytes: ^~~~~ | |||
| 2019-06-26 | Merge pull request #4524 from dearblue/reverse-utf8 | Yukihiro "Matz" Matsumoto | |
| Change to UTF-8 string reversing with in place | |||
| 2019-06-26 | Merge pull request #4532 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/fix-String-byteslice-with-MRB_UTF8_STRING-and-some-edge-cases Fix `String#byteslice` with `MRB_UTF8_STRING` and some edge cases | |||
| 2019-06-25 | Fix `String#byteslice` with `MRB_UTF8_STRING` and some edge cases | KOBAYASHI Shuji | |
| Example: $ bin/mruby -e ' p "あa".byteslice(1) p "bar".byteslice(3) p "bar".byteslice(4..0) ' Before this patch: "a" "" RangeError (4..0 out of range) After this patch (same as Ruby): "\x81" nil nil | |||
| 2019-06-25 | Merge pull request #4528 from shuujii/fix-argument-specs-to-Array | Yukihiro "Matz" Matsumoto | |
| Fix argument specs to `Array` | |||
| 2019-06-25 | Merge pull request #4530 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/compare-obj-pointer-directly-instead-of-using-mrb_obj_eq-in-mrb_gc_unregister Compare obj pointer directly instead of using mrb_obj_eq in mrb_gc_unregister | |||
| 2019-06-25 | Fixed `mrb_iv_remove` with immediate objects; fix #4519 | Yukihiro "Matz" Matsumoto | |
| The #4520 tried to address the issue, but it changes the type of `mrb_check_frozen` argument; close #4520 | |||
| 2019-06-25 | Fix `mrb_str_to_str()` to handle symbols. | Yukihiro "Matz" Matsumoto | |
| 2019-06-24 | Compare obj pointer directly instead of using mrb_obj_eq in mrb_gc_unregister | KOBAYASHI Shuji | |
| Because immediate values are not registered. | |||
| 2019-06-23 | Fix argument specs to `Array` | KOBAYASHI Shuji | |
| 2019-06-23 | Merge pull request #4526 from shuujii/refine-Hash-rehash-example | Yukihiro "Matz" Matsumoto | |
| Refine `Hash#rehash` example [ci skip] | |||
| 2019-06-22 | Fix the unnecessary `mrb_str_modify()` call | dearblue | |
| Now to be calls `mrb_str_modify()` only once when 2 or more characters. | |||
| 2019-06-22 | Delete the unnecessary block brace in `mrb_str_reverse_bang` | dearblue | |
| 2019-06-22 | Fix string brakes for one UTF-8 charactor | dearblue | |
| 2019-06-22 | Change to UTF-8 string reversing with in place | dearblue | |
| Reverses UTF-8 strings without allocated heap for working memory. 1. String before reversing: ``` "!yburmの界世" # byte unit [33, 121, 98, 117, 114, 109, 227, 129, 174, 231, 149, 140, 228, 184, 150] ``` 2. Reverse the byte order of each character: ``` [33, 121, 98, 117, 114, 109, 174, 129, 227, 140, 149, 231, 150, 184, 228] ``` 3. Reverse the whole byte order and complete: ``` [228, 184, 150, 231, 149, 140, 227, 129, 174, 109, 114, 117, 98, 121, 33] # string "世界のmruby!" ``` | |||
| 2019-06-22 | Replacement to function for string reversing | dearblue | |
| 2019-06-22 | Refine `Hash#rehash` example [ci skip] | KOBAYASHI Shuji | |
| Previous example doesn't work because string key (frozen) can't be modified. | |||
| 2019-06-22 | Fix potential overflow in `utf8len()` | dearblue | |
| For example on 32 bit mode, when `p = 0xfffffffd`, `e = 0xfffffffe` and `len = 4`, the sum of `p` and `len` can be to `1`, and comparison with `e` will to be false. As a result, a segmentation fault occurs by referring to address 0. | |||
| 2019-06-16 | Fix cvar, ivar, const and method can be removed to frozen object | KOBAYASHI Shuji | |
| 2019-06-13 | Fix class name validation in `Struct.new` | KOBAYASHI Shuji | |
| Before this patch: $ bin/mruby -e 'p Struct.new("A-")' #=> Struct::"A-" After this patch: $ bin/mruby -e 'p Struct.new("A-")' #=> NameError: identifier A- needs to be constant | |||
| 2019-06-10 | `Kernel#global_variables` should not include undefined `$1`-`$9` | KOBAYASHI Shuji | |
| - They are not include in Ruby. - Appear in duplicate when `$1`-`$9` are defined. | |||
| 2019-06-07 | Remove `Kernel#global_variables` from core | KOBAYASHI Shuji | |
| This method is defined in `mruby-metaprog` gem. | |||
| 2019-05-30 | Fix inverted compilation condition; fix #4478 | Yukihiro "Matz" Matsumoto | |
| 2019-05-29 | Add `mrb_alloca` again; ref #4470 | Yukihiro "Matz" Matsumoto | |
| This time, the allocated memory comes from the string object, which is referenced from GC arena. The memory region will be reclaimed when the C function called from VM is terminated, or the GC arena is restored. | |||
| 2019-05-27 | Merge pull request #4470 from dearblue/remove-mrb_alloca | Yukihiro "Matz" Matsumoto | |
| Remove `mrb_alloca()` function | |||
| 2019-05-26 | Move `mrb_mod_s_nesting()` to `mruby-metaprog` gem from the core | KOBAYASHI Shuji | |
| 2019-05-25 | Remove `mrb_alloca()` function | dearblue | |
| When I found this function, I expected it to behave the same as the `alloca(3)` function, but it is accually the `mrb_alloca()` function does not free the heap until the `mrb_close()` function is called. Also, even if it is deleted, it can be replaced with the combination of the `MRB_TT_DATA` object and the `mrb_gv_set()` function if it is sure necessary. | |||
| 2019-05-25 | Fix double rounded by negative index | dearblue | |
| - Before patched: ``` $ mruby -e 'p (-12..-1).map { |i| "Hello"[i] }.join' "HelloHello" ``` - After patched: ``` $ mruby -e 'p (-12..-1).map { |i| "Hello"[i] }.join' "Hello" ``` | |||
| 2019-05-25 | Name the return value of `mrb_range_beg_len()` | dearblue | |
| 2019-05-22 | Merge pull request #4403 from dearblue/read-irep-from-buf | Yukihiro "Matz" Matsumoto | |
| Read irep from buffers | |||
