- 06 Aug, 2019 4 commits
-
-
Yukihiro "Matz" Matsumoto authored
Add `mrb_noreturn` to `cmperr()` in `src/numeric.c`
-
KOBAYASHI Shuji authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 05 Aug, 2019 3 commits
-
-
Yukihiro "Matz" Matsumoto authored
Use new specifiers/modifiers of `mrb_vfromat()`
-
KOBAYASHI Shuji authored
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.
-
Yukihiro "Matz" Matsumoto authored
Use `mrb_int()` instead of `to_int()` in `mruby-numeric-ext`
-
- 04 Aug, 2019 4 commits
-
-
Yukihiro "Matz" Matsumoto authored
Add constants for floating point number
-
Yukihiro "Matz" Matsumoto authored
Merge pull request #4613 from shuujii/change-second-argument-to-%l-of-mrb_vformat-to-size_t-from-mrb_int Change second argument to `%l` of `mrb_vformat()` to `size_t` from `mrb_int`
-
KOBAYASHI Shuji authored
-
dearblue authored
-
- 03 Aug, 2019 5 commits
-
-
KOBAYASHI Shuji authored
- `size_t` is more commonly used. - `len` argument of `mrb_str_new()` is `size_t`. NOTE: The test for `%l` is temporarily disabled because adding a new type to `mrbgems/mruby-test/vformat.c` causes an error (memory error?) on Visual Studio 2017 in AppVeyor.
-
Yukihiro "Matz" Matsumoto authored
Fix `mrb_vformat("%f")` with `MRB_USE_FLOAT`
-
Yukihiro "Matz" Matsumoto authored
Suppress compiler warnings for mruby-time; fix #4600
-
KOBAYASHI Shuji authored
It potentially not work when `mrb_float` is `float` because `float` variable in variable length arguments is promoted to `double`. Also I fixed build with `MRB_WITHOUT_FLOAT`.
-
dearblue authored
Warnings: - If `MRB_TIME_T_UINT` is defined, the compiler issues a warning with an integer comparison of different signs. - It is mentioned that the `usec` variable passed to the `mrb_to_time_t()` function may not be initialized
-
- 02 Aug, 2019 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Change the `mrb_vformat` specifier `%d` for `int`
-
KOBAYASHI Shuji authored
It potentially breaks, for example, in the case of `mrb_int` is 64-bit and more smaller type is passed by `%d`. In fact, the problem could become apparent when I used `%d` to `backtrace_location::lineno` in `src/backtrace.c:mrb_unpack_backtrace()` on AppVeyor. Therefore, change `%d` for `int` (not `mrb_int`) so that it can be used mostly without casting.
-
- 01 Aug, 2019 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Add new specifiers/modifiers to format string of `mrb_vfromat()`
-
KOBAYASHI Shuji authored
Format sequence syntax: %[modifier]specifier Modifiers: ----------+------------------------------------------------------------ Modifier | Meaning ----------+------------------------------------------------------------ ! | Convert to string by corresponding `inspect` instead of | corresponding `to_s`. ----------+------------------------------------------------------------ Specifiers: ----------+----------------+-------------------------------------------- Specifier | Argument Type | Note ----------+----------------+-------------------------------------------- c | char | d,i | mrb_int | f | mrb_float | l | char*, mrb_int | Arguments are string and length. n | mrb_sym | s | char* | Argument is NUL terminated string. t | mrb_value | Convert to type (class) of object. v,S | mrb_value | C | struct RClass* | T | mrb_value | Convert to real type (class) of object. Y | mrb_value | Same as `!v` if argument is `true`, `false` | | or `nil`, otherwise same as `T`. % | - | Convert to percent sign itself (no argument | | taken). ----------+----------------+-------------------------------------------- This change will increase the binary size, but replacing all format strings with new specifiers/modifiers will decrease the size because it reduces inline expansion of `mrb_obj_value()`, etc. at the caller.
-
- 31 Jul, 2019 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Merge pull request #4607 from shuujii/fix-UTC-offset-representation-in-Time-to_s-on-some-environments Fix UTC offset representation in `Time#to_s` on some environments; ref #4604
-
KOBAYASHI Shuji authored
Use own implementation to calculate UTC offset on Visual Studio 2015 or earlier or MinGW because `strftime("%z")` on these environments does not conform C99.
-
- 30 Jul, 2019 7 commits
-
-
Yukihiro "Matz" Matsumoto authored
`MRB_INT_MIN` is the only integer value that has no corresponding positive integer value (i.e. `-MRB_INT_MIN` = `MRB_INT_MIN`).
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Refine message to `skip` in nested `assert`
-
KOBAYASHI Shuji authored
- I think "Info" is used only to `skip`, so change to "Skip". - Changed the default value of `assert` and specify the argument explicitly at the caller of `assert` because it is unnatural "Assertion failed" is output even though the assertion doesn't fail. == Example: def assert_foo(exp, act) assert do assert_equal exp[0], act[0] assert_equal exp[1], act[1] end end def assert_bar(exp, act) assert do skip end end def assert_baz(exp, act) assert do assert_equal exp, act assert_bar exp, act end end assert 'test#skip_in_nested_assert' do assert_baz 1, 1 end === Before this patch: ?.. Info: test#skip_in_nested_assert (core) - Assertion[1] Info: Assertion failed (core) - Assertion[1-2] Skip: Assertion failed (core) Total: 3 OK: 2 KO: 0 Crash: 0 Warning: 0 Skip: 1 === After this patch: ??? Skip: test#skip_in_nested_assert (core) - Assertion[1] Skip: assert (core) - Assertion[1-2] Skip: assert (core) Total: 3 OK: 0 KO: 0 Crash: 0 Warning: 0 Skip: 3
-
- 29 Jul, 2019 4 commits
-
-
Yukihiro "Matz" Matsumoto authored
Fix "Warn if assertion is missing inside `assert`"; ref ff43b2b9
-
KOBAYASHI Shuji authored
-
Yukihiro "Matz" Matsumoto authored
Fix Time#to_s encoding on Windows
-
Sutou Kouhei authored
strftime() on Windows returns locale encoding time zone for "%z" even if MSDN says "%z" is "The offset from UTC in ISO 8601 format; no characters if time zone is unknown" in MSDN: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l?view=vs-2019 So we need to convert encoding of string from strftime().
-
- 28 Jul, 2019 7 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Merge pull request #4407 from shuujii/add-assert_raise_with_message-and-assert_raise_with_message_pattern Add `assert_raise_with_message` and `assert_raise_with_message_pattern`
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Remove `Enumerator::Chain#initialize_copy`
-
Yukihiro "Matz" Matsumoto authored
Merge pull request #4603 from shuujii/define-plus-to-Enumerator-and-Enumerator-Chain-instead-of-Enumerable Define `#+` to `Enumerator` and `Enumerator#Chain` instead of `Enumerable`
-
KOBAYASHI Shuji authored
-
KOBAYASHI Shuji authored
I think `Enumerator::Chain#initialize_copy` is unnecessary because CRuby doesn't clone elements.
-