| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2020-06-20 | Add `mrb_get_arg1()` that retrieves single (and only) argument. | Yukihiro "Matz" Matsumoto | |
| `mrb_get_arg1()` raises `ArgumentError` if the method does not receive one argument. And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function. | |||
| 2020-06-05 | Add proper casts to silence VC warnings. | Yukihiro "Matz" Matsumoto | |
| 2019-10-20 | Use `mrb_str_cat_str` instead of `mrb_str_concat` if possible | KOBAYASHI Shuji | |
| 2019-10-10 | Integrate `mrb_str_inspect` and `mrb_str_dump` | KOBAYASHI Shuji | |
| 2019-09-21 | Use `mrb_define_method` instead of `mrb_define_alias` | KOBAYASHI Shuji | |
| 2019-09-18 | Remove `mrb_get_args(mrb, "")`; ref 30f37872 | KOBAYASHI Shuji | |
| 2019-09-14 | Add a macro `mrb_frozen_p` that points to `MRB_FROZEN_P`. | Yukihiro "Matz" Matsumoto | |
| 2019-09-11 | Move tests related to `getbyte`, `setbyte`, byteslice` to core. | 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-11 | Drop test dependency from `mruby-string-ext` to `mruby-enumerator` | 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-05 | Use new specifiers/modifiers of `mrb_vfromat()` | KOBAYASHI Shuji | |
| The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in my environment than before the introduction of new specifiers/modifiers (5116789a) with this change. ------------+-------------------+-------------------+-------- BINARY | BEFORE (5116789a) | AFTER (This PR) | RATIO ------------+-------------------+-------------------+-------- mruby | 593416 bytes | 593208 bytes | -0.04% libmruby.a | 769048 bytes | 767264 bytes | -0.23% ------------+-------------------+-------------------+-------- BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613, so I put it back. | |||
| 2019-07-24 | Add `return` to silence a warning; ref #4593 | Yukihiro "Matz" Matsumoto | |
| 2019-07-23 | Add encoding argument to `Integral#chr` | KOBAYASHI Shuji | |
| Currently, `Integral#chr` in mruby changes behavior by `MRB_UTF8_STRING` setting. before this patch: $ bin/mruby -e 'p 171.chr' #=> "\xab" (`MRB_UTF8_STRING` is disabled) $ bin/mruby -e 'p 171.chr' #=> "«" (`MRB_UTF8_STRING` is enabled) This behavior is incompatible with Ruby, and a little inconvenient because it can't be interpreted as ASCII-8BIT with `MRB_UTF8_STRING`, I think. So add encoding argument according to Ruby. after this patch: $ bin/mruby -e 'p 171.chr' #=> "\xab" $ bin/mruby -e 'p 171.chr("ASCII-8BIT")' #=> "\xab" $ bin/mruby -e 'p 171.chr("UTF-8")' #=> "«" Allow only `String` for encoding because mruby doesn't have `Encoding` class, and `"ASCII-8BIT"` (`"BINARY"`) and `"UTF-8"` (only with `MRB_UTF8_STRING`) are valid value (default is `"ASCII-8BIT"`). | |||
| 2019-07-21 | Integrate `Integral#chr` (`Fixnum#chr`) to `mruby-string-ext` | KOBAYASHI Shuji | |
| Because they're defined in both `mruby-string-ext` and `mruby-numeric-ext` (they seem more natural to define in N, but `mruby-string-ext` depends on `Integral#chr`). | |||
| 2019-07-19 | Refine `String#chr` test and separate `Fixnum#chr` test | KOBAYASHI Shuji | |
| 2019-07-09 | Add Range#max and Range#min tests from Ruby Spec | Ryan Lopopolo | |
| 2019-07-08 | Add tests for String Ranges | Ryan Lopopolo | |
| Range#each depends on String#upto which is implemented in mruby-string-ext which is why these tests live there. | |||
| 2019-06-28 | Use `__ENCODING__` in tests | KOBAYASHI Shuji | |
| It cannot be used for `String#size` test if judging whether or not `MRB_UTF8_STRING` is defined by result of `String#size`. | |||
| 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-12 | Fix typo in `String#setbyte` error message | KOBAYASHI Shuji | |
| 2019-05-25 | Name the return value of `mrb_range_beg_len()` | dearblue | |
| 2019-04-27 | Remove duplicated `String#each_char` | KOBAYASHI Shuji | |
| 2019-03-15 | Use `FrozenError` instead of `RuntimeError` in `String#rstrip!` | KOBAYASHI Shuji | |
| 2019-03-12 | Fix missing assertions in `mruby-string-ext` test | KOBAYASHI Shuji | |
| 2018-11-19 | Removed `String#try_convert` method from `mruby-string-ext` gem. | Yukihiro "Matz" Matsumoto | |
| Because `try_convert` method rarely used in production. For mruby users, we have `__to_str` utility method to check string type. | |||
| 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-11-19 | Remove implicit conversion using `to_int` method. | Yukihiro "Matz" Matsumoto | |
| The ISO standard does not include implicit type conversion using `to_int`. This implicit conversion often causes vulnerability. There will be no more attacks like #4120. In addition, we have added internal convenience method `__to_int` which does type check and conversion (from floats). | |||
| 2018-11-15 | `String#{squeeze,delete,count}` to use bitmap for matching; ref #4163 | Yukihiro "Matz" Matsumoto | |
| 2018-11-15 | Pattern length may overflow `uint16_t`; fixed #4163 | Yukihiro "Matz" Matsumoto | |
| The issue is reported by `https://hackerone.com/dgaletic`. | |||
| 2018-11-02 | Add tests for empty patterns for `tr` and `count`; #4156 #4157 | Yukihiro "Matz" Matsumoto | |
| 2018-11-02 | Empty pattern string for `String#tr` should remove characters; fix #4157 | Yukihiro "Matz" Matsumoto | |
| 2018-11-02 | Empty pattern string can generate `TR_UNINITIALIZED` pattern; fix #4156 | Yukihiro "Matz" Matsumoto | |
| 2018-11-01 | Silence Appveyor's VC compilation warnings. | Yukihiro "Matz" Matsumoto | |
| 2018-10-30 | VS 2017 C does not understand inline struct initialization; ref #4153 | Yukihiro "Matz" Matsumoto | |
| 2018-10-29 | Keep tr_pattern static | take-cheeze | |
| 2018-09-27 | Fixed a `String#squeeze` bug in handling `iso-8859-1` strings; ref #4127 | Yukihiro "Matz" Matsumoto | |
| 2018-09-26 | Revert "Fix comparisons in str_squeeze." | Yukihiro "Matz" Matsumoto | |
| This reverts commit 7b04fcd092006b6e78cd63619fb7ae972f8e0c5d. The issue was addressed by 9e3cbaa. No longer needed. | |||
| 2018-09-26 | Avoid using `memmove()` for performance; fix #4130 | Yukihiro "Matz" Matsumoto | |
| 2018-09-26 | Rename `tr_pattern_free()` to `tr_free_pattern()`. | Yukihiro "Matz" Matsumoto | |
| 2018-09-25 | Fix leak in `mrb_str_count` | Takeshi Watanabe | |
| 2018-09-24 | Fix comparisons in str_squeeze. | Clayton Smith | |
| 2018-09-21 | Implement `String#delete` and `#delete!`; ref #4086 | Yukihiro "Matz" Matsumoto | |
| mruby restriction: In mruby, `String#delete` only takes single pattern argument. | |||
| 2018-09-21 | Implement `String#count`; ref #4086 | Yukihiro "Matz" Matsumoto | |
| mruby restriction: In mruby, `String#count` does not take multiple pattern arguments, but only one pattern. | |||
| 2018-09-21 | Add `String#squeeze` and `#squeeze!`; ref #4086 | Yukihiro "Matz" Matsumoto | |
| mruby restriction: `String#squeeze` can take more than 1 pattern arguments in CRuby, in that case, the intersection of patterns will be used to match. But in mruby, it doesn't take multiple patterns. | |||
| 2018-09-21 | Add `String#tr_s` and `String#tr_s!`; ref #4086 | Yukihiro "Matz" Matsumoto | |
| 2018-09-21 | Add `String#tr` and `#tr!` to `mruby-string-ext` gem; fix #4086 | Yukihiro "Matz" Matsumoto | |
| This patch is based on `mruby/c` implementation by Hirohito Higashi. We might need to add `#tr_s`, `#squeeze` and `#delete` as well. Adding them should not be too hard using functions we implemented here. | |||
| 2018-07-30 | New bytecode implementation of mruby VM. | Yukihiro "Matz" Matsumoto | |
| 2018-04-21 | Implement `String#upto` in Ruby. | Yukihiro "Matz" Matsumoto | |
| Avoid using `mrb_yield` in C code. The function is not recommended. Because it doesn't work well with fibers. | |||
| 2018-04-19 | CRuby2.6 stops deprecating `String#lines` with a block. | Yukihiro "Matz" Matsumoto | |
| `String#lines` (with a block) is now implemented in Ruby. | |||
