| Age | Commit message (Collapse) | Author |
|
Remove unused C header file from `src/etc.c`
|
|
|
|
shuujii/fix-include-prepend-and-extend-to-frozen-object
Fix `include`, `prepend` and `extend` to frozen object
|
|
|
|
Nested `assert` for mrbtest
|
|
Replace `String#[]=` method by C implements
|
|
It is integration with part of argument parsing used in `mrb_str_aset_m()`.
|
|
The purpose is to eliminate string objects that are temporarily created during processing.
|
|
|
|
|
|
Ref commit 35319bed01d58c785f73ce03e67d4e58be30f4b5
|
|
When nesting `assert` used in test, it is indented and displayed.
Assertion numbers are concatenated by `"-"` at this time.
The purpose is to match the apparent numbers when failing with `assert_mruby`
which is defined by `mrbgems/mruby-bin-mruby/bintest/mruby.rb` for example.
Child assertions "skip" and "info" are reported as parent assertions "info"
and `$ok_test += 1`. The child assertions "ko" and "crash" are reported as the
parent assertion "ko" and `$ko_test += 1`.
When child assertions are mixed, "ko" takes precedence.
Incompatibility:
- `$mrbtest_assert_idx` takes `nil` or an integer array object.
So far it was `nil` or an integer.
- `$asserts` points to the top of the internal stack in the `assert`.
- `$mrbtest_assert` points to the top of the internal stack in `assert`.
|
|
Use `__ENCODING__` in tests
|
|
shuujii/remove-unnecessary-backticks-in-src-range.c
Remove unnecessary backticks in `src/range.c`; ref #2858
|
|
|
|
It cannot be used for `String#size` test if judging whether or not `MRB_UTF8_STRING` is defined by result of `String#size`.
|
|
Add modification tests for immediate value
|
|
Fix broken links for mruby.org
|
|
A part of a fix for issue mruby/mruby.github.io#50
|
|
|
|
|
|
Silence unused label warnings from gcc; ref #4524
|
|
mruby/mruby/src/string.c:1722:4: warning: label 'bytes' defined but not used [-Wunused-label]
bytes:
^~~~~
|
|
Change to UTF-8 string reversing with in place
|
|
shuujii/fix-String-byteslice-with-MRB_UTF8_STRING-and-some-edge-cases
Fix `String#byteslice` with `MRB_UTF8_STRING` and some edge cases
|
|
Fix rational new on 32 bits mode
|
|
Fix complex new on 32 bits mode
|
|
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
|
|
shuujii/fix-struct-RRange-overflow-on-32-bit-CPU-with-MRB_NAN_BOXING
Fix `struct RRange` overflow on 32-bit CPU with `MRB_NAN_BOXING`
|
|
shuujii/remove-unneeded-statement-in-SET_OBJ_VALUE-with-boxing_word.h
Remove unneeded statement in `SET_OBJ_VALUE` with `boxing_word.h`
|
|
Fix argument specs to `Array`
|
|
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
|
|
The #4520 tried to address the issue, but it changes the type of
`mrb_check_frozen` argument; close #4520
|
|
|
|
|
|
|
|
Because immediate values are not registered.
|
|
|
|
Refine `Hash#rehash` example [ci skip]
|
|
Use stack memory for small name of Struct members
|
|
Fix potential overflow in `utf8len()`
|
|
Now to be calls `mrb_str_modify()` only once when 2 or more characters.
|
|
|
|
|
|
|
|
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!"
```
|
|
|
|
Previous example doesn't work because string key (frozen) can't be modified.
|
|
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.
|
|
shuujii/add-ISO-section-number-to-Kernel-local_variables
Add ISO section number to `Kernel.#local_variables` [ci skip]
|