summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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
2019-12-23Handle CR LF newline natively in lexertake-cheeze
2019-12-23Use GNU extension in C++ for cygwintake-cheeze
2019-12-23Merge pull request #4900 from shuujii/parallelize-compilation-only-on-Travis-CIYukihiro "Matz" Matsumoto
Parallelize compilation only on Travis CI
2019-12-23Parallelize compilation only on Travis CIKOBAYASHI Shuji
Parallel execution of tests makes log difficult to see due to mixing.
2019-12-22Merge pull request #4899 from dearblue/build-gitYukihiro "Matz" Matsumoto
Use `git checkout` instead of `git reset`
2019-12-22Use `git checkout` instead of `git reset`dearblue
With this change, if the checkout fails, it will stop with an error. The purpose is to avoid deleting working branch history when developing gem.
2019-12-22Display directory with git commanddearblue
2019-12-22Merge pull request #4898 from shuujii/refine-.travis.ymlYukihiro "Matz" Matsumoto
Refine `.travis.yml`
2019-12-22Merge pull request #4896 from shuujii/fix-undefined-method-PathnameYukihiro "Matz" Matsumoto
Fix "undefined method `Pathname'"; fix #4895
2019-12-22Merge pull request #4897 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-exec-instead-of-system-in-minirake-for-exit-status Use `exec` instead of `system` in `minirake` for exit status
2019-12-22Refine `.travis.yml`KOBAYASHI Shuji
* Use `rake` instead of `minirake`. * Remove `gperf` configuration. Execution time seems to be reduced by about 15%.
2019-12-21Use `exec` instead of `system` in `minirake` for exit statusKOBAYASHI Shuji
#### Before this patch: ```console $ ./minirake --foo; echo $? invalid option: --foo 0 ``` #### After this patch: ```console $ ./minirake --foo; echo $? invalid option: --foo 1 ```
2019-12-21Fix "undefined method `Pathname'"; fix #4895KOBAYASHI Shuji
2019-12-21Merge pull request #4888 from dearblue/shellquoteYukihiro "Matz" Matsumoto
Perform `shellquote` on referenced string
2019-12-21Numbered parameters should not be available in the lambda bodies.Yukihiro "Matz" Matsumoto
`mruby` does not warn like `CRuby` for cases like #4893. Fix #4890, fix #4891, fix #4893.
2019-12-21Add emulating `minirake` that calls real `rake`.Yukihiro "Matz" Matsumoto
2019-12-21Abandon `minirake`. Use `rake` for compilation; fix #4884Yukihiro "Matz" Matsumoto
2019-12-21Merge pull request #4889 from shuujii/_0-is-not-numbered-parameterYukihiro "Matz" Matsumoto
`_0` is not numbered parameter
2019-12-21`_0` is not numbered parameterKOBAYASHI Shuji
#### Before this patch: ```console $ bin/mruby rb -e '_0=:l; p ->{_0}.()' -e:1:13: _0 is not available -e:1:13: syntax error, unexpected $end, expecting '}' ``` #### After this patch (same as Ruby): ```console $ bin/mruby rb -e '_0=:l; p ->{_0}.()' :l ```
2019-12-21Perform `shellquote` on referenced stringdearblue
2019-12-21Fix SEGV from numbered parameters outside of blocks; fix #4862Yukihiro "Matz" Matsumoto
2019-12-21Merge pull request #4885 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-potentially-crash-in-%n-of-mrb_vformat-with-64-bit-int Fix potentially crash in `%n` of `mrb_vformat()` with 64-bit `int`
2019-12-20Fix potentially crash in `%n` of `mrb_vformat()` with 64-bit `int`KOBAYASHI Shuji
If `mrb_sym` is smaller than `int`, it is promoted to `int`.
2019-12-20Merge pull request #4871 from dearblue/method-in-methodYukihiro "Matz" Matsumoto
Avoid method in method
2019-12-20Merge pull request #4870 from dearblue/unnessesary-branchYukihiro "Matz" Matsumoto
Remove unnessesary branches
2019-12-20Merge pull request #4874 from dearblue/method-listYukihiro "Matz" Matsumoto
Fix for `#methods` to include methods that were `undef`
2019-12-19Enable sanitizer in travis testtake-cheeze
2019-12-19Fix mixed declarations in 429f6deYukihiro "Matz" Matsumoto
2019-12-19Merge pull request #4881 from shuujii/fix-mruby-bin-debugger-testsYukihiro "Matz" Matsumoto
Fix `mruby-bin-debugger` tests; ref d2f2f9db
2019-12-19Merge pull request #4882 from shuujii/simplify-print_backtraceYukihiro "Matz" Matsumoto
Simplify `print_backtrace()`
2019-12-19Reimplement `vformat` tests; close #4868Yukihiro "Matz" Matsumoto
Avoid creating `Data` object that refers `mruby` objects. Also close #4622 ref #4613
2019-12-19Revert "`%C` value need not to be saved in `TestVFormat::Native`; close #4868"Yukihiro "Matz" Matsumoto
This reverts commit f507ff4842b92a60c0c600fa1f29efdf2688c877. It makes AppVeyor tests fail.
2019-12-18Simplify `print_backtrace()`KOBAYASHI Shuji
2019-12-18Fix `mruby-bin-debugger` tests; ref d2f2f9dbKOBAYASHI Shuji
2019-12-18Merge pull request #4875 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-location-info-from-Exception-inspect Remove location info from `Exception#inspect`
2019-12-18Merge pull request #4879 from shuujii/refine-output-of-mrb_print_errorYukihiro "Matz" Matsumoto
Refine output of `mrb_print_error()`
2019-12-18`%C` value need not to be saved in `TestVFormat::Native`; close #4868Yukihiro "Matz" Matsumoto