summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-01-06Need to preserve the original input string in `mrb_str_len_to_dbl`.Yukihiro "Matz" Matsumoto
2020-01-06Merge branch 'dearblue-file-size-truncate'Yukihiro "Matz" Matsumoto
2020-01-06Avoid Boxing/Unboxing of file descriptors; ref #4872Yukihiro "Matz" Matsumoto
2020-01-06Merge branch 'file-size-truncate' of https://github.com/dearblue/mruby into ↵Yukihiro "Matz" Matsumoto
dearblue-file-size-truncate
2020-01-06Fix `mrb_str_len_to_dbl` to support Hexadecimal like `0x10`.Yukihiro "Matz" Matsumoto
2020-01-06Refactor `mrb_cstr_to_dbl`; ref #4920Yukihiro "Matz" Matsumoto
2020-01-06Avoid creating temporary objects in `read_irep_record_1`; close #4920Yukihiro "Matz" Matsumoto
The basic idea of this change is from @dearblue. Note: the arguments of `mrb_str_pool()` have changed, but the function is provided for internal use (No `MRB_API`). So basically you don't have to worry about the change.
2020-01-05Merge pull request #4923 from dearblue/kwargs-blockYukihiro "Matz" Matsumoto
Fix ainfo with keyword arguments; fix #4921
2020-01-05Fix ainfo with keyword arguments; fix #4921dearblue
2020-01-02Merge pull request #4917 from dearblue/va_endYukihiro "Matz" Matsumoto
Call `va_end()` before return
2020-01-02Call `va_end()` before returndearblue
The behavior when returning from a function without `va_end()` is undefined.
2020-01-01Rename `mrb_num_args_error` to `mrb_argnum_error`; ref #4863Yukihiro "Matz" Matsumoto
2020-01-01Merge pull request #4863 from ↵Yukihiro "Matz" Matsumoto
shuujii/add-mrb_num_args_error-for-wrong-number-of-arguments-error Add `mrb_num_args_error()` for "wrong number of arguments" error
2020-01-01Merge pull request #4919 from ↵Yukihiro "Matz" Matsumoto
shuujii/revert-SHARED-string-is-not-required-when-sharing-POOL-string Revert "SHARED string is not required when sharing POOL string" (75949836)
2020-01-01Revert "SHARED string is not required when sharing POOL string" (75949836)KOBAYASHI Shuji
Because literal pool may be released by GC. #### Example: ```ruby s1 = eval('"abcdefghijklmnopqrstuvwxyz01"') GC.start p s1 #=> "\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x90\x03\x00stuvwxyz01" ```
2020-01-01Merge pull request #4918 from dearblue/sync-varsYukihiro "Matz" Matsumoto
Integrate `i` and `arg_i` in `mrb_get_args()`
2020-01-01Merge pull request #4916 from dearblue/stdintYukihiro "Matz" Matsumoto
Do not include `stdint.h` before `mruby.h`; ref #4750
2020-01-01Integrate `i` and `arg_i` in `mrb_get_args()`dearblue
The behavior of these two variables is the same.
2020-01-01Do not include `stdint.h` before `mruby.h`; ref #4750dearblue
2020-01-01Fixed wrong usages of `mrb_get_args` in `vformat.c`.Yukihiro "Matz" Matsumoto
2020-01-01Allow `here-doc` in the middle of Hash expressions; fix #4815Yukihiro "Matz" Matsumoto
2019-12-31Merge pull request #4915 from shuujii/silence-GCC-warning-in-time.c-on-Travis-CIYukihiro "Matz" Matsumoto
Silence GCC warning in `time.c` on Travis CI
2019-12-31Silence GCC warning in `time.c` on Travis CIKOBAYASHI Shuji
Silence the following warnings: ``` /mruby/mrbgems/mruby-time/src/time.c:260:55: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if ((MRB_INT_MAX > MRB_TIME_MAX && i > 0 && i > MRB_TIME_MAX) || ^ ```
2019-12-31Merge pull request #4914 from dearblue/fix-4869Yukihiro "Matz" Matsumoto
Fix builds for modern mingw; fix #4869
2019-12-31Fix builds for modern mingw; fix #4869dearblue
What I intended to fix in #4869 was a patch for an old MinGW. Recent MinGWs have their own `mkstemp()` function. I knew this after checking the patch #4903.
2019-12-30Merge pull request #4913 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-rake-instead-of-minirake-in-.gitlab-ci.yml Use `rake` instead of `minirake` in `.gitlab-ci.yml`
2019-12-30Use `rake` instead of `minirake` in `.gitlab-ci.yml`KOBAYASHI Shuji
There was an error in the `.gitlab-ci.yml` generation script, so it was also fixed.
2019-12-29Merge pull request #4912 from ↵Yukihiro "Matz" Matsumoto
shuujii/avoid-unneeded-directory-creation-during-rake--T-etc Avoid unneeded directory creation during `rake -T`, etc.
2019-12-29Avoid unneeded directory creation during `rake -T`, etc.KOBAYASHI Shuji
2019-12-28Merge pull request #4911 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-Rake.verbose-instead-of-verbose-and-pp_show Use `Rake.verbose` instead of `$verbose` and `$pp_show` in build scripts
2019-12-28Use `Rake.verbose` instead of `$verbose` and `$pp_show` in build scriptsKOBAYASHI Shuji
The incompatibility that the commands of `FileUtils` origin output verbose by default due to the changes in d8a5163b and 26e6e75b is also fixed.
2019-12-27Merge pull request #4910 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-Rake-DSL-instead-of-commands-of-FileUtils Use Rake DSL instead of commands of `FileUtils`
2019-12-27Use Rake DSL instead of commands of `FileUtils`KOBAYASHI Shuji
- Respect `--verbose(-v)` and `--dry-run(-n)` options. - Silence warnings to keyword arguments on Ruby 2.7.
2019-12-27Revert "Enable sanitizer in travis test"; ref #4864Yukihiro "Matz" Matsumoto
`gcc` sanitizer does not work on some environment (namely my localhost). Although it works on Travis, it is not convenient that tests fail on the local host. We keep sanitizer tests on the local (using `clang`). This reverts commit 9cde967321fe4bf200d4451859ead57b06e73027.
2019-12-27Prohibit assignment to numbered parameters.Yukihiro "Matz" Matsumoto
It is stricter than CRuby but confusing anyway.
2019-12-27Allow non numbered-parameter identifier like `_1` outside of blocks.Yukihiro "Matz" Matsumoto
But it causes warnings as CRuby does; fix #4892 fix #489
2019-12-27Support `-v` flag of `rake`; close #4887Yukihiro "Matz" Matsumoto
The patch was originally written by @take-cheese. I have fixed the conflict caused by `minirake` deletion - @matz.
2019-12-27Numbered parameters: usually linked list uses `cdr` for links.Yukihiro "Matz" Matsumoto
2019-12-27Prohibit numbered parameters as method arguments; fix #4892Yukihiro "Matz" Matsumoto
As of CRuby2.7 it is only warned. `mruby` prohibits explicitly to implement the future Ruby3 behavior.
2019-12-27Enable `MRB_GC_STRESS` test on CIKOBAYASHI Shuji
The `debug` build target (`MRB_GC_STRESS` is enabled) on CI have been compiled but not tested so far. However, I think testing with `MRB_GC_STRESS` is effective (in fact, I found #4907 bug). Therefore, I integrated `debug` and `full-debug` build targets to enable `MRB_GC_STRESS` testing. Testing with `MRB_GC_STRESS` takes a little time, but compiling takes more time, so CI execution time does not increase due to decrease of build target.
2019-12-27Merge pull request #4864 from take-cheeze/enable_sanitizer_travisYukihiro "Matz" Matsumoto
Enable sanitizer in travis test
2019-12-25Merge pull request #4907 from shuujii/fix-poteltially-use-of-wrong-method-cacheYukihiro "Matz" Matsumoto
Fix potentially use of wrong method cache
2019-12-25Fix potentially use of wrong method cacheKOBAYASHI Shuji
#### Example (with `MRB_METHOD_CACHE`) ```ruby GC.start c = Class.new p c #=> #<Class:0x7fd6a180e790> c.new #=> cache `c.new` c = nil GC.start #=> `c` is GCed r = Range.dup p r #=> #<Class:0x7fd6a180e790> # [same pointer as `c`] r.new(2, 3) #=> ArgumentError: 'initialize': # wrong number of arguments (2 for 0) # [`c.new` is called instead of `r.new`] ``` #### Cause An entry of method cache is identified by class pointer and method id. However, reusing memory after GC may create a class with the same pointer as the cached class. #### Treatment Cleared method caches of the class when the class is GCed.
2019-12-25Merge pull request #4906 from ↵Yukihiro "Matz" Matsumoto
shuujii/refine-the-assertion-failure-message-in-mrdb-print-tests Refine the assertion failure message in mrdb print tests
2019-12-24Refine the assertion failure message in mrdb print testsKOBAYASHI Shuji
#### Before this patch: ```console Fail: mruby-bin-debugger(print) error (mrbgems: mruby-bin-debugger) - Assertion[2] Expected true to be false. ``` #### After this patch: ```console Fail: mruby-bin-debugger(print) error (mrbgems: mruby-bin-debugger) - Assertion[2] Expected "$2 = undefined method 'bar' (NoMethodError)\n" to be start_with? "$2 = (eval):2: undefined method". ```
2019-12-24Merge pull request #4905 from kishima/cygwin_compileYukihiro "Matz" Matsumoto
Add double quotes for cygwin filenames #4904
2019-12-23add double quotes for cygwin filenames #4904kishima
2019-12-23Merge pull request #4901 from take-cheeze/gnu_cxxYukihiro "Matz" Matsumoto
Use GNU extension in C++ for cygwin
2019-12-23Merge pull request #4902 from take-cheeze/native_crlfYukihiro "Matz" Matsumoto
Handle CR LF newline natively in lexer
2019-12-23Use binary mode in mrbc source code readingtake-cheeze