| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-07-10 | Remove an unused argument of `str_with_class()` | KOBAYASHI Shuji | |
| 2019-07-05 | Read/write `MRB_STR_ASCII` flag only when `MRB_UTF8_STRING` is defined | KOBAYASHI Shuji | |
| 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-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-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 | Fix `mrb_str_to_str()` to handle symbols. | Yukihiro "Matz" Matsumoto | |
| 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 | 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-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-08 | Use `mrb_string_value_cstr` in `mrb_str_to_dbl` | KOBAYASHI Shuji | |
| 2019-05-07 | Refactor `mrb_str_to_cstr` and `mrb_string_value_cstr` | KOBAYASHI Shuji | |
| - Extract null byte check to function. - Avoid string allocation if null byte is included. - Use `str_new` instead of `mrb_str_dup` + `mrb_str_modify` | |||
| 2019-05-02 | Merge pull request #4417 from ↵ | Yukihiro "Matz" Matsumoto | |
| shuujii/unify-overflow-error-class-for-conversion-to-integer-to-RangeError Unify overflow error class for conversion to integer to `RangeError` | |||
| 2019-05-02 | Unify overflow error class for conversion to integer to `RangeError` | KOBAYASHI Shuji | |
| 2019-05-01 | Remove unneeded `argc` check in `mrb_str_aref_m()` | KOBAYASHI Shuji | |
| 2019-04-24 | Remove unnecessary `mrb_regexp_check()` and related functions. | Yukihiro "Matz" Matsumoto | |
| 2019-04-09 | Extract frozen checking to function | KOBAYASHI Shuji | |
| 2019-03-26 | Fix missing `MRB_API` prefix for functions below; clse #4267 | Yukihiro "Matz" Matsumoto | |
| Functions to add prototypes to headers: * mrb_ary_splice() * mrb_notimplement() * mrb_vformat() * mrb_cstr_to_dbl() * mrb_cstr_to_inum() Functions to be made `static` (`MRB_API` was not needed): * mrb_mod_module_function() * mrb_obj_hash() * mrb_str_len_to_inum() Functions to remove `MRB_API` from definitions (referenced from within `libmruby`): * mrb_mod_cv_defined() * mrb_mod_cv_get() * mrb_f_send() | |||
| 2019-03-25 | Use uppercase version of `ctype` macros e.g. `ISSPACE`; fix #4338 | Yukihiro "Matz" Matsumoto | |
| 2019-02-06 | Reduce invocation of `mrb_convert_type()` from `mrb_str_to_str()`. | Yukihiro "Matz" Matsumoto | |
| 2019-02-05 | Fix markup and remove unneeded comment for doc in `src/string.c` [ci skip] | KOBAYASHI Shuji | |
| 2019-02-04 | Fix `Symbol#size` for multi-byte characters with `MRB_UTF8_STRING` | KOBAYASHI Shuji | |
| Before: p :あ.size #=> 3 After: p :あ.size #=> 1 | |||
| 2019-01-29 | Remove unused macro in `src/string.c` | KOBAYASHI Shuji | |
| 2018-12-17 | Recover `String#to_str`; ref #4177 | Yukihiro "Matz" Matsumoto | |
| We have removed implicit conversion to strings using `to_str`. But some people still using `to_str` as a typical string method, i.e. they do string check by code like: `obj.respond_to?(:to_str)`. So we have recovered the method. | |||
| 2018-11-19 | Call `mrb_str_to_str` from `mrb_string_value_ptr` for compatibility. | Yukihiro "Matz" Matsumoto | |
| 2018-11-19 | Use type checking `mrb_to_str` instead of converting `mrb_str_to_str`. | Yukihiro "Matz" Matsumoto | |
| 2018-11-19 | Remove implicit conversion using `to_str` method; fix #3854 | Yukihiro "Matz" Matsumoto | |
| We have added internal convenience method `__to_str` which does string type check. The issue #3854 was fixed but fundamental flaw of lack of stack depth check along with fibers still remains. Use `MRB_GC_FIXED_ARENA` for workaround. | |||
| 2018-06-28 | Use `mrb_raise()` instead of `mrb_raisef()`; ref #4062 | Yukihiro "Matz" Matsumoto | |
| 2018-06-27 | Add negative check in `mrb_str_resize`; fix #4062 | Yukihiro "Matz" Matsumoto | |
| 2018-05-02 | Need to call `mrb_str_modify()` in `mrb_str_cat_str()`; fix #4018 | Yukihiro "Matz" Matsumoto | |
| If `str` and `str2` are the same string object `str->ptr` may be rewritten by `mrb_str_modify()`. | |||
| 2018-04-28 | Fix broken support of `MRB_WITHOUT_FLOAT`; fix #4015 | Yukihiro "Matz" Matsumoto | |
| 2018-04-17 | Fallback to float when caompiled binary with 64bit compiler. | Takeshi Watanabe | |
| closes #3997. | |||
| 2018-03-24 | Return nil if type differ in `String#<=>`. | Takeshi Watanabe | |
| 2018-02-12 | `String#inspect` to use hexadecimal, not octal to print unprintable. | Yukihiro "Matz" Matsumoto | |
| 2017-12-23 | Make source compilable with C++17 | Lothar Scholz | |
| Changes applied: - Removing "register" keyword - Fixing const pointer to pointer assignments - Adding type casts to rb_malloc calls | |||
| 2017-12-12 | Modifying frozen objects will raise `FrozenError`. | Yukihiro "Matz" Matsumoto | |
| `FrozenError` is a subclass of `RuntimeError` which used to be raised. [Ruby2.5] | |||
| 2017-11-08 | Should allocate memory region before updating `len`; fix #3842 | Yukihiro "Matz" Matsumoto | |
| Otherwise half-baked string object will be allocated. | |||
| 2017-11-04 | Merge branch 'master' of github.com:mruby/mruby | YAMAMOTO Masaya | |
| 2017-11-03 | Should not use `FSHARED` state for string from `irep` pools; fix #3829 | Yukihiro "Matz" Matsumoto | |
| This strings in `irep` pools may be freed forcefully in `mrb_irep_free`. This commit probably fixes #3817 as well. | |||
| 2017-10-11 | Add MRB_WITHOUT_FLOAT | YAMAMOTO Masaya | |
| 2017-10-01 | Add new type of shared string: `RSTR_FSHARED`. | Yukihiro "Matz" Matsumoto | |
| `RSTR_FSHARED` use frozen strings as shared body instead of `struct mrb_shared_string`. This reduces allocation from literal strings. | |||
