KOBAYASHI Shuji
b97ebf2aeb
Avoid unneeded directory creation during rake -T, etc.
2019-12-29 17:46:55 +09:00
Yukihiro "Matz" Matsumoto
d2f34a8455
Merge pull request #4910 from shuujii/use-Rake-DSL-instead-of-commands-of-FileUtils
...
Use Rake DSL instead of commands of `FileUtils`
2019-12-27 18:35:19 +09:00
KOBAYASHI Shuji
26e6e75ba6
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.
2019-12-27 16:49:32 +09:00
Yukihiro "Matz" Matsumoto
d15e56dab0
Prohibit assignment to numbered parameters.
...
It is stricter than CRuby but confusing anyway.
2019-12-27 11:05:56 +09:00
Yukihiro "Matz" Matsumoto
ff16331754
Allow non numbered-parameter identifier like _1 outside of blocks.
...
But it causes warnings as CRuby does; fix #4892 fix #489
2019-12-27 11:05:56 +09:00
Yukihiro "Matz" Matsumoto
ed8491cde6
Numbered parameters: usually linked list uses cdr for links.
2019-12-27 11:05:56 +09:00
Yukihiro "Matz" Matsumoto
7e6355975e
Prohibit numbered parameters as method arguments; fix #4892
...
As of CRuby2.7 it is only warned. `mruby` prohibits explicitly to
implement the future Ruby3 behavior.
2019-12-27 11:05:56 +09:00
KOBAYASHI Shuji
f92867a59e
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".
```
2019-12-24 23:20:20 +09:00
take-cheeze
bb0aec1d94
Use binary mode in mrbc source code reading
2019-12-23 21:01:42 +09:00
take-cheeze
10e9f193ca
Handle CR LF newline natively in lexer
2019-12-23 21:01:11 +09:00
Yukihiro "Matz" Matsumoto
06e09fc7a9
Numbered parameters should not be available in the lambda bodies.
...
`mruby` does not warn like `CRuby` for cases like #4893 .
Fix #4890 , fix #4891 , fix #4893 .
2019-12-21 22:41:32 +09:00
KOBAYASHI Shuji
74f564b0bb
_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
```
2019-12-21 18:54:15 +09:00
Yukihiro "Matz" Matsumoto
5cc595cb2a
Fix SEGV from numbered parameters outside of blocks; fix #4862
2019-12-21 01:24:56 +09:00
Yukihiro "Matz" Matsumoto
19fa77ddbb
Merge pull request #4871 from dearblue/method-in-method
...
Avoid method in method
2019-12-20 19:29:48 +09:00
Yukihiro "Matz" Matsumoto
adf358363c
Merge pull request #4870 from dearblue/unnessesary-branch
...
Remove unnessesary branches
2019-12-20 19:24:45 +09:00
Yukihiro "Matz" Matsumoto
64e9f278b3
Merge pull request #4874 from dearblue/method-list
...
Fix for `#methods` to include methods that were `undef`
2019-12-20 19:23:13 +09:00
Yukihiro "Matz" Matsumoto
87809742f5
Fix mixed declarations in 429f6de
2019-12-19 10:00:33 +09:00
Yukihiro "Matz" Matsumoto
fcde80a4d0
Merge pull request #4881 from shuujii/fix-mruby-bin-debugger-tests
...
Fix `mruby-bin-debugger` tests; ref d2f2f9db
2019-12-19 09:51:31 +09:00
Yukihiro "Matz" Matsumoto
429f6defdd
Reimplement vformat tests; close #4868
...
Avoid creating `Data` object that refers `mruby` objects.
Also close #4622 ref #4613
2019-12-19 09:35:51 +09:00
Yukihiro "Matz" Matsumoto
7f0e1fc90b
Revert "%C value need not to be saved in TestVFormat::Native; close #4868 "
...
This reverts commit f507ff4842 .
It makes AppVeyor tests fail.
2019-12-19 00:07:08 +09:00
KOBAYASHI Shuji
f0b8c9ec06
Fix mruby-bin-debugger tests; ref d2f2f9db
2019-12-18 19:34:11 +09:00
Yukihiro "Matz" Matsumoto
f507ff4842
%C value need not to be saved in TestVFormat::Native; close #4868
2019-12-18 01:40:11 +09:00
Yukihiro "Matz" Matsumoto
8bc9a79e65
Merge pull request #4869 from dearblue/mingw32-io-test
...
Fix mruby-io test for mingw32
2019-12-17 00:49:01 +09:00
Yukihiro "Matz" Matsumoto
fc5a9c2be2
Merge pull request #4877 from shuujii/drop-dependencies-from-mruby-complex-to-some-gems
...
Drop dependencies from `mruby-complex` to some gems
2019-12-16 13:51:48 +09:00
Yukihiro "Matz" Matsumoto
cc6d17423b
Merge pull request #4859 from dearblue/authors
...
Add "mruby developers" into some gems; Resolve #4709
2019-12-16 13:50:33 +09:00
KOBAYASHI Shuji
4bdb1eb5aa
Drop dependencies from mruby-complex to some gems
2019-12-15 22:51:07 +09:00
dearblue
184ad732df
Fix for #methods to include methods that were undef
...
If `#methods` traverse the super class, it includes the methods that
were does `undef` in the subclass.
Before patched:
```terminal
% bin/mruby -e 'p Module.instance_methods - Class.instance_methods'
[]
```
After patched:
```terminal
% bin/mruby -e 'p Module.instance_methods - Class.instance_methods'
[:append_features, :extend_object]
```
2019-12-14 21:30:44 +09:00
dearblue
5b30f789e5
Avoid method in method
...
And rename `File.concat_path` to `File._concat_path`.
2019-12-14 15:04:56 +09:00
dearblue
c18a8c53e8
Remove unnessesary branches
2019-12-14 15:01:42 +09:00
dearblue
ec1ef925a9
Fix mruby-io test for mingw32
...
Need `mkstemp()` implements.
2019-12-14 14:57:10 +09:00
KOBAYASHI Shuji
7192429e83
Fix behavior of Kernel#Integer to numbers ending with _ and spaces
...
#### Before this patch:
```ruby
Integer("1_ ") #=> 1
```
#### After this patch (same as Ruby):
```ruby
Integer("1_ ") #=> ArgumentError
```
2019-12-11 16:40:39 +09:00
KOBAYASHI Shuji
bf431e77b8
Fix behavior of String#to_i/Kernel#Integer to numbers starting with _
...
#### Before this patch:
```ruby
Integer("_1") #=> 1
"_1".to_i #=> 1
```
#### After this patch (same as Ruby):
```ruby
Integer("_1") #=> ArgumentError
"_1".to_i #=> 0
```
2019-12-10 21:31:30 +09:00
Yukihiro "Matz" Matsumoto
543a9f84d1
Merge pull request #4858 from shuujii/fix-that-String-to_f-accepts-consecutive-_-as-a-numeric-expression
...
Fix that `String#to_f` accepts consecutive `_` as a numeric expression
2019-12-10 11:09:55 +09:00
dearblue
56de911b7a
Add "mruby developers" into some gems; Resolve #4709
...
It is writing side by side with the original authors.
2019-12-09 23:49:03 +09:00
KOBAYASHI Shuji
0893ee492c
Fix that String#to_f accepts consecutive _ as a numeric expression
...
Consecutive `_` is not allowed as a numeric expression:
1_2__3 #=> SyntaxError
Float("1_2__3") #=> ArgumentError
Integer("1_2__3") #=> ArgumentError
"1_2__3".to_i #=> 12
But `String#to_f` accept it, so I fixed the issue.
Before this patch:
"1_2__3".to_f #=> 123
After this patch:
"1_2__3".to_f #=> 12
2019-12-09 21:47:59 +09:00
Yukihiro "Matz" Matsumoto
fb9e92e828
Warnings for numbered parameters in nested blocks.
2019-12-09 20:50:41 +09:00
Yukihiro "Matz" Matsumoto
f7a0f11c36
Parser refactoring on numbered parameters.
...
Now identifiers like `_1abc` are allowed.
2019-12-09 20:50:41 +09:00
Yukihiro "Matz" Matsumoto
0011652a28
Support new numbered parameter syntax _1 instead of @1.
2019-12-09 20:50:41 +09:00
Ukrainskiy Sergey
72d57ad094
Implement numbered parameters
2019-12-09 20:50:41 +09:00
KOBAYASHI Shuji
d908a73b04
Add tests to Math
2019-12-07 20:50:56 +09:00
KOBAYASHI Shuji
e6033e00fe
Auto detect MRB_TIME_T_UINT
2019-12-05 21:40:15 +09:00
KOBAYASHI Shuji
ea1911d23f
Silence Clang warning with MRB_INT64 and MRB_32BIT in time.c
...
Silence the following warnings:
```
/mruby/mrbgems/mruby-time/src/time.c:871:15: warning: result of comparison of constant 9223372036854775807 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
if (tm->sec > MRB_INT_MAX || tm->sec < MRB_INT_MIN) {
~~~~~~~ ^ ~~~~~~~~~~~
/mruby/mrbgems/mruby-time/src/time.c:871:40: warning: result of comparison of constant -9223372036854775808 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
if (tm->sec > MRB_INT_MAX || tm->sec < MRB_INT_MIN) {
~~~~~~~ ^ ~~~~~~~~~~~
/mruby/mrbgems/mruby-time/src/time.c:887:16: warning: result of comparison of constant 9223372036854775807 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
if (tm->usec > MRB_INT_MAX || tm->usec < MRB_INT_MIN) {
~~~~~~~~ ^ ~~~~~~~~~~~
/mruby/mrbgems/mruby-time/src/time.c:887:42: warning: result of comparison of constant -9223372036854775808 with expression of type 'time_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
if (tm->usec > MRB_INT_MAX || tm->usec < MRB_INT_MIN) {
~~~~~~~~ ^ ~~~~~~~~~~~
```
2019-12-03 22:50:50 +09:00
KOBAYASHI Shuji
6973539005
Silence Clang warning with MRB_INT32 and MRB_64BIT in time.c
...
Silence the following warning:
```
/mruby/mrbgems/mruby-time/src/time.c:258:60: warning: result of comparison of constant -9223372036854775808 with expression of type 'mrb_int' (aka 'int') is always false [-Wtautological-constant-out-of-range-compare]
if ((mrb_time_int)i > MRB_TIME_MAX || MRB_TIME_MIN > i) {
~~~~~~~~~~~~ ^ ~
```
2019-12-02 20:00:36 +09:00
Yukihiro "Matz" Matsumoto
ef95a9fa93
Use a string as a common regexp representation; ref #4847
2019-11-30 21:10:36 +09:00
KOBAYASHI Shuji
49653b81ea
Quit mruby -v immediately if no program is given for Ruby compatibility
2019-11-30 19:52:22 +09:00
KOBAYASHI Shuji
df437eebcc
Fix mruby --verbose (regression by #4827 )
...
#### Before this patch:
```
$ bin/mruby --verbose -e 'p 1'
bin/mruby: Cannot open program file: --verbose
```
#### After this patch:
```
$ bin/mruby --verbose -e 'p 1'
00001 NODE_SCOPE:
(snip)
irep 0x7fe97041df30 nregs=4 nlocals=1 pools=0 syms=1 reps=0 iseq=11
file: -e
1 000 OP_LOADSELF R1
(snip)
1
```
2019-11-29 19:02:04 +09:00
KOBAYASHI Shuji
f4b528e07a
Support -- (end of options) to mruby command
...
#### Before this patch:
```
$ bin/mruby -e 'p ARGV' -- -x
bin/mruby: invalid option -- (-h will show valid options)
```
#### After this patch:
```
$ bin/mruby -e 'p ARGV' -- -x
["-x"]
```
2019-11-27 19:51:43 +09:00
KOBAYASHI Shuji
f9bd414350
Fix ARGV value in mruby command (regression by #4827 )
...
#### Before this patch:
```
$ bin/mruby -e 'p ARGV' a b
["bin/mruby", "-e", "p ARGV", "a", "b"]
```
#### After this patch:
```
$ bin/mruby -e 'p ARGV' a b
["a", "b"]
```
2019-11-25 21:56:27 +09:00
Yukihiro "Matz" Matsumoto
a89d15cdde
Merge pull request #4827 from shuujii/support-short-options-concatenation-to-mruby-command
...
Support short options concatenation to `mruby` command
2019-11-25 09:49:28 +09:00
KOBAYASHI Shuji
ce553fa834
Remove unused methods of MRubyIOTestUtil
2019-11-24 21:40:22 +09:00