summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2019-08-15Remove unneeded `#include` in `src/string.c`KOBAYASHI Shuji
2019-08-14Merge pull request #4631 from ↵Yukihiro "Matz" Matsumoto
shuujii/extract-initialization-code-of-shared-and-fshared-string-to-function Extract initialization code of shared and fshared string to function
2019-08-14Extract initialization code of shared and fshared string to functionKOBAYASHI Shuji
2019-08-14Avoid array copying in `mrb_instance_new`.Yukihiro "Matz" Matsumoto
2019-08-14Integrate `kazuho/mruby-class-new-fiber-safe` in the master.Yukihiro "Matz" Matsumoto
Avoid calling `initialize` via `mrb_funcall`, which cause `cross C boundary` error from Fibers started in the method.
2019-08-14Small refactoring on #4630Yukihiro "Matz" Matsumoto
2019-08-14Remove `MRB_API` from functions only called from `vm.c`.Yukihiro "Matz" Matsumoto
* `mrb_vm_define_class` * `mrb_vm_define_module` Only functions called from user code requires `MRB_API`.
2019-08-14Merge pull request #4630 from ↵Yukihiro "Matz" Matsumoto
shuujii/extract-struct-RString-initialization-code-to-function Extract `struct RString` initialization code to function
2019-08-13Extract `struct RString` initialization code to functionKOBAYASHI Shuji
2019-08-12Merge pull request #4629 from shuujii/mrb_str_pool-can-embed-one-more-byteYukihiro "Matz" Matsumoto
`mrb_str_pool` can embed one more byte; ref #4626
2019-08-12`mrb_str_pool` can embed one more byte; ref #4626KOBAYASHI Shuji
2019-08-12Remove unnecessary prototypes from 'keywords`; fix #4628Yukihiro "Matz" Matsumoto
2019-08-12Merge pull request #4626 from ↵Yukihiro "Matz" Matsumoto
shuujii/mrb_str_modify_keep_ascii-can-embed-one-more-byte `mrb_str_modify_keep_ascii` can embed one more byte
2019-08-12Replacing region may overwrap with the target region; fix #4627Yukihiro "Matz" Matsumoto
2019-08-11Revert "Should have cleared `mrb->globals` in `mrb_gc_free_gv`; fix #4618"Yukihiro "Matz" Matsumoto
This reverts commit 3dc8d9d7b3d0be2f91fa050a13e3b422500df628.
2019-08-11Reorder finalization to avoid potential crash; ref #4618Yukihiro "Matz" Matsumoto
`mrb_gc_destroy` may call other mruby API functions from the finalizers. So call that function first.
2019-08-11Add `NUL` always to short strings; ref 98fc887Yukihiro "Matz" Matsumoto
2019-08-11`mrb_str_modify_keep_ascii` can embed one more byteKOBAYASHI Shuji
The condition to make an embedded string was incorrect. Because there were several similar codes, extracted into `RSTR_EMBEDDABLE_P` macro.
2019-08-11Merge pull request #4621 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-monkey-patches-for-Ruby-1.9-or-earlier Remove monkey patches for Ruby 1.9 or earlier
2019-08-11Merge pull request #4624 from ↵Yukihiro "Matz" Matsumoto
shuujii/enumerable-reject-etc.-should-return-Enumerable-without-block `Enumerable#reject`, etc. should return `Enumerable` without block
2019-08-10`Enumerable#reject`, etc. should return `Enumerable` without blockKOBAYASHI Shuji
2019-08-09Merge pull request #4623 from chasonr/complex-fixesYukihiro "Matz" Matsumoto
Avoid premature overflow in Complex#abs and Complex#/
2019-08-09Avoid overflow and underflow in Complex#/Ray Chason
2019-08-08Implement Complex#abs in terms of Math.hypotRay Chason
Math.hypot avoids premature overflow and underflow
2019-08-08Remove monkey patches for Ruby 1.9 or earlierKOBAYASHI Shuji
2019-08-07Merge pull request #4620 from ↵Yukihiro "Matz" Matsumoto
shuujii/improve-MiniRake-rule-enhancement-for-Rake-compatibility Improve MiniRake rule enhancement for Rake compatibility
2019-08-07Improve MiniRake rule enhancement for Rake compatibilityKOBAYASHI Shuji
Support pathmap notation, recursive dependencies search, and so on.
2019-08-07Update `mrb_to_str` and related functions.Yukihiro "Matz" Matsumoto
Contrary to the name, `mrb_to_str` just checks type, no conversion.
2019-08-07Reorganize `mrb_string_value_cstr` and related functions.Yukihiro "Matz" Matsumoto
`mrb_string_value_cstr` and `mrb_string_value_len`: obsolete `mrb_string_cstr`: new function to retrieve NULL terminated C string `RSTRING_CSTR`: wrapper macro of `mrb_string_cstr`
2019-08-07Update required Ruby version to 2.0 or later.Yukihiro "Matz" Matsumoto
2019-08-07Replace i.e. (means "that is") with e.g. (means "for example").Yukihiro "Matz" Matsumoto
2019-08-07`RUBY_PLATFORM` may not contain `mswin` or `mingw`; Add `msys`Yukihiro "Matz" Matsumoto
2019-08-07Merge pull request #4619 from ↵Yukihiro "Matz" Matsumoto
shuujii/add-mrb_noreturn-to-cmperr-in-src-numeric.c Add `mrb_noreturn` to `cmperr()` in `src/numeric.c`
2019-08-06Add `mrb_noreturn` to `cmperr()` in `src/numeric.c`KOBAYASHI Shuji
2019-08-06Removed an unused local variable; ref #4615Yukihiro "Matz" Matsumoto
2019-08-06Should have cleared `mrb->globals` in `mrb_gc_free_gv`; fix #4618Yukihiro "Matz" Matsumoto
2019-08-05Merge pull request #4615 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-new-specifiers-modifiers-of-mrb_vfromat Use new specifiers/modifiers of `mrb_vfromat()`
2019-08-05Use 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-08-05Merge pull request #4614 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-mrb_int-instead-of-to_int-in-mruby-numeric-ext Use `mrb_int()` instead of `to_int()` in `mruby-numeric-ext`
2019-08-05Merge pull request #4612 from dearblue/float-constsYukihiro "Matz" Matsumoto
Add constants for floating point number
2019-08-05Merge pull request #4613 from ↵Yukihiro "Matz" Matsumoto
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`
2019-08-04Use `mrb_int()` instead of `to_int()` in `mruby-numeric-ext`KOBAYASHI Shuji
2019-08-04Add constants for floating point numberdearblue
2019-08-03Change second argument to `%l` of `mrb_vformat()` to `size_t` from `mrb_int`KOBAYASHI Shuji
- `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.
2019-08-03Merge pull request #4611 from shuujii/fix-mrb_vformat%f-with-MRB_USE_FLOATYukihiro "Matz" Matsumoto
Fix `mrb_vformat("%f")` with `MRB_USE_FLOAT`
2019-08-03Merge pull request #4610 from dearblue/time-warningsYukihiro "Matz" Matsumoto
Suppress compiler warnings for mruby-time; fix #4600
2019-08-03Fix `mrb_vformat("%f")` with `MRB_USE_FLOAT`KOBAYASHI Shuji
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`.
2019-08-03Suppress compiler warnings for mruby-time; fix #4600dearblue
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
2019-08-02Merge pull request #4609 from ↵Yukihiro "Matz" Matsumoto
shuujii/change-the-mrb_vformat-specifier-%d-for-int Change the `mrb_vformat` specifier `%d` for `int`
2019-08-02Change the `mrb_vformat` specifier `%d` for `int`KOBAYASHI Shuji
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.