summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
AgeCommit message (Collapse)Author
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-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-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-23Use binary mode in mrbc source code readingtake-cheeze
2019-12-23Handle CR LF newline natively in lexertake-cheeze
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-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-21Fix SEGV from numbered parameters outside of blocks; fix #4862Yukihiro "Matz" Matsumoto
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-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-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-18Fix `mruby-bin-debugger` tests; ref d2f2f9dbKOBAYASHI Shuji
2019-12-18`%C` value need not to be saved in `TestVFormat::Native`; close #4868Yukihiro "Matz" Matsumoto
2019-12-17Merge pull request #4869 from dearblue/mingw32-io-testYukihiro "Matz" Matsumoto
Fix mruby-io test for mingw32
2019-12-16Merge pull request #4877 from ↵Yukihiro "Matz" Matsumoto
shuujii/drop-dependencies-from-mruby-complex-to-some-gems Drop dependencies from `mruby-complex` to some gems
2019-12-16Merge pull request #4859 from dearblue/authorsYukihiro "Matz" Matsumoto
Add "mruby developers" into some gems; Resolve #4709
2019-12-15Drop dependencies from `mruby-complex` to some gemsKOBAYASHI Shuji
2019-12-14Fix for `#methods` to include methods that were `undef`dearblue
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-14Support bit flags for `IO.open`dearblue
Note that this bit flags are not compatible with the native flags defined in `#include <fcntl.h>`.
2019-12-14Implement `File#size` and `File#truncate`dearblue
2019-12-14Avoid method in methoddearblue
And rename `File.concat_path` to `File._concat_path`.
2019-12-14Remove unnessesary branchesdearblue
2019-12-14Fix mruby-io test for mingw32dearblue
Need `mkstemp()` implements.
2019-12-12Add `mrb_num_args_error()` for "wrong number of arguments" errorKOBAYASHI Shuji
To unify the style of messages.
2019-12-11Fix behavior of `Kernel#Integer` to numbers ending with `_` and spacesKOBAYASHI Shuji
#### Before this patch: ```ruby Integer("1_ ") #=> 1 ``` #### After this patch (same as Ruby): ```ruby Integer("1_ ") #=> ArgumentError ```
2019-12-10Fix behavior of `String#to_i`/`Kernel#Integer` to numbers starting with `_`KOBAYASHI Shuji
#### 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-10Merge pull request #4858 from ↵Yukihiro "Matz" Matsumoto
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-09Add "mruby developers" into some gems; Resolve #4709dearblue
It is writing side by side with the original authors.
2019-12-09Fix that `String#to_f` accepts consecutive `_` as a numeric expressionKOBAYASHI Shuji
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-09Warnings for numbered parameters in nested blocks.Yukihiro "Matz" Matsumoto
2019-12-09Parser refactoring on numbered parameters.Yukihiro "Matz" Matsumoto
Now identifiers like `_1abc` are allowed.
2019-12-09Support new numbered parameter syntax `_1` instead of `@1`.Yukihiro "Matz" Matsumoto
2019-12-09Implement numbered parametersUkrainskiy Sergey
2019-12-07Add tests to `Math`KOBAYASHI Shuji
2019-12-05Auto detect `MRB_TIME_T_UINT`KOBAYASHI Shuji
2019-12-03Silence Clang warning with `MRB_INT64` and `MRB_32BIT` in `time.c`KOBAYASHI Shuji
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-02Silence Clang warning with `MRB_INT32` and `MRB_64BIT` in `time.c`KOBAYASHI Shuji
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-11-30Use a string as a common regexp representation; ref #4847Yukihiro "Matz" Matsumoto
2019-11-30Quit `mruby -v` immediately if no program is given for Ruby compatibilityKOBAYASHI Shuji
2019-11-29Fix `mruby --verbose` (regression by #4827)KOBAYASHI Shuji
#### 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-27Support `--` (end of options) to `mruby` commandKOBAYASHI Shuji
#### 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-25Fix `ARGV` value in `mruby` command (regression by #4827)KOBAYASHI Shuji
#### 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-25Merge pull request #4827 from ↵Yukihiro "Matz" Matsumoto
shuujii/support-short-options-concatenation-to-mruby-command Support short options concatenation to `mruby` command
2019-11-24Remove unused methods of `MRubyIOTestUtil`KOBAYASHI Shuji
2019-11-24Merge pull request #4834 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-proper-PEEK-macro-for-OP_EPUSH-in-patch_irep Use proper `PEEK` macro for `OP_EPUSH` in `patch_irep`; fix #4833