| Age | Commit message (Collapse) | Author |
|
|
|
shuujii/use-Rake.verbose-instead-of-verbose-and-pp_show
Use `Rake.verbose` instead of `$verbose` and `$pp_show` in build scripts
|
|
The incompatibility that the commands of `FileUtils` origin output verbose
by default due to the changes in d8a5163b and 26e6e75b is also fixed.
|
|
shuujii/use-Rake-DSL-instead-of-commands-of-FileUtils
Use Rake DSL instead of commands of `FileUtils`
|
|
- Respect `--verbose(-v)` and `--dry-run(-n)` options.
- Silence warnings to keyword arguments on Ruby 2.7.
|
|
`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.
|
|
It is stricter than CRuby but confusing anyway.
|
|
But it causes warnings as CRuby does; fix #4892 fix #489
|
|
The patch was originally written by @take-cheese. I have fixed the
conflict caused by `minirake` deletion - @matz.
|
|
|
|
As of CRuby2.7 it is only warned. `mruby` prohibits explicitly to
implement the future Ruby3 behavior.
|
|
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.
|
|
Enable sanitizer in travis test
|
|
Fix potentially use of wrong method cache
|
|
#### 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.
|
|
shuujii/refine-the-assertion-failure-message-in-mrdb-print-tests
Refine the assertion failure message in mrdb print tests
|
|
#### 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".
```
|
|
Add double quotes for cygwin filenames #4904
|
|
|
|
Use GNU extension in C++ for cygwin
|
|
Handle CR LF newline natively in lexer
|
|
|
|
|
|
|
|
Parallelize compilation only on Travis CI
|
|
Parallel execution of tests makes log difficult to see due to mixing.
|
|
Use `git checkout` instead of `git reset`
|
|
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.
|
|
|
|
Refine `.travis.yml`
|
|
Fix "undefined method `Pathname'"; fix #4895
|
|
shuujii/use-exec-instead-of-system-in-minirake-for-exit-status
Use `exec` instead of `system` in `minirake` for exit status
|
|
* Use `rake` instead of `minirake`.
* Remove `gperf` configuration.
Execution time seems to be reduced by about 15%.
|
|
#### Before this patch:
```console
$ ./minirake --foo; echo $?
invalid option: --foo
0
```
#### After this patch:
```console
$ ./minirake --foo; echo $?
invalid option: --foo
1
```
|
|
|
|
Perform `shellquote` on referenced string
|
|
`mruby` does not warn like `CRuby` for cases like #4893.
Fix #4890, fix #4891, fix #4893.
|
|
|
|
|
|
`_0` is not numbered parameter
|
|
#### 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
```
|
|
|
|
|
|
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`
|
|
If `mrb_sym` is smaller than `int`, it is promoted to `int`.
|
|
Avoid method in method
|
|
Remove unnessesary branches
|
|
Fix for `#methods` to include methods that were `undef`
|
|
|
|
|