KOBAYASHI Shuji
e8299a89da
Fix potentially crash in %n of mrb_vformat() with 64-bit int
...
If `mrb_sym` is smaller than `int`, it is promoted to `int`.
2019-12-20 23:04:46 +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
868ba8464e
Merge pull request #4882 from shuujii/simplify-print_backtrace
...
Simplify `print_backtrace()`
2019-12-19 09:50:22 +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
6df6bd4ac7
Simplify print_backtrace()
2019-12-18 19:35:24 +09:00
KOBAYASHI Shuji
f0b8c9ec06
Fix mruby-bin-debugger tests; ref d2f2f9db
2019-12-18 19:34:11 +09:00
Yukihiro "Matz" Matsumoto
815e0c400a
Merge pull request #4875 from shuujii/remove-location-info-from-Exception-inspect
...
Remove location info from `Exception#inspect`
2019-12-18 01:55:23 +09:00
Yukihiro "Matz" Matsumoto
4c1667a5f6
Merge pull request #4879 from shuujii/refine-output-of-mrb_print_error
...
Refine output of `mrb_print_error()`
2019-12-18 01:54:28 +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
KOBAYASHI Shuji
29ecc3840a
Refine output of mrb_print_error()
...
The following improvements are made according to Ruby's behavior:
- Match location number to index.
- Remove duplicate most recent call output.
- Fix that first call is not output when array (unpacked) backtrace.
### Example
```ruby
def a; raise "error!" end
def b; a end
begin
b
rescue => e
e.backtrace if ARGV[0] == "unpack" # unpack backtrace
raise e
end
```
#### Before this patch:
```
$ bin/mruby example.rb unpack
trace (most recent call last):
[0] example.rb:2:in b
[1] example.rb:1:in a
example.rb:1: error! (RuntimeError)
```
#### After this patch:
```
$ bin/mruby example.rb unpack
trace (most recent call last):
[2] example.rb:4
[1] example.rb:2:in b
example.rb:1:in a: error! (RuntimeError)
```
2019-12-17 23:16:20 +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
6a22fa7f47
Merge pull request #4878 from shuujii/remove-unneeded-null-checks-to-struct-backtrace_locationfilename
...
Remove unneeded null checks to `struct backtrace_location::filename`
2019-12-17 00:48:27 +09:00
KOBAYASHI Shuji
854c61c3ab
Remove unneeded null checks to struct backtrace_location::filename
...
`struct backtrace_location` is created only in `each_backtrace()`, and
the `filename` field will never be null (it will be `(unknown)` if null).
2019-12-16 18:57:53 +09:00
Yukihiro "Matz" Matsumoto
85b4ed623e
Merge pull request #4876 from dearblue/class-methods
...
Remove module only methods from class
2019-12-16 13:53:55 +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
KOBAYASHI Shuji
d2f2f9db51
Remove location info from Exception#inspect
...
Because location info (file name and line number) is kept in the backtrace,
it should not be kept in the result of `inspect` (and the exception object
itself), I think.
### Example
```ruby
# example.rb
begin
raise "err"
rescue => e
p e
end
```
#### Before this patch:
```
$ bin/mruby example.rb
example.rb:2: err (RuntimeError)
```
#### After this patch:
```
$ bin/mruby example.rb
err (RuntimeError)
```
2019-12-14 22:29:37 +09:00
dearblue
cc52fa66e8
Remove module only methods from class
...
The `#prepend_features` and `#module_function` methods are not haves for
class objects.
2019-12-14 22:12:32 +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
Yukihiro "Matz" Matsumoto
6c5ee8f79e
Merge pull request #4866 from shuujii/fix-arguments-check-to-Array-each
...
Fix arguments check to `Array#each`
2019-12-14 01:14:26 +09:00
KOBAYASHI Shuji
e18aa4d893
Fix arguments check to Array#each
...
#### Before this patch:
```
$ mruby -e '[].each(1){}' #=> no error
```
#### After this patch:
```
$ mruby -e '[].each(1){}' #=> ArgumentError: wrong number of arguments
```
2019-12-13 17:30:34 +09:00
Yukihiro "Matz" Matsumoto
9c4c82ed1c
Merge pull request #4861 from shuujii/fix-behavior-of-Kernel-Integer-to-numbers-ending-with-_-and-spaces
...
Fix behavior of `Kernel#Integer` to numbers ending with `_` and spaces
2019-12-12 09:26:14 +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
Yukihiro "Matz" Matsumoto
994da0fd73
Merge pull request #4860 from shuujii/fix-behavior-of-String-to_i-Kernel-Integer-to-numbers-starting-with-_
...
Fix behavior of `String#to_i`/`Kernel#Integer` to numbers starting with `_`
2019-12-10 23:00:17 +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
694089fafe
Fix mrb_get_argv() to return array pointer every time; fix #4832
2019-12-09 20:50:41 +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
Yukihiro "Matz" Matsumoto
8267993988
Merge pull request #4855 from dearblue/kwargs-uninit
...
Fix keyword arguments not be obtained with `mrb_get_args()`; Fix #4754
2019-12-09 17:31:53 +09:00
Yukihiro "Matz" Matsumoto
ef644120e4
Merge pull request #4856 from shuujii/fix-the-error-message-of-Kernel-Float
...
Fix the error message of `Kernel#Float`
2019-12-08 21:31:14 +09:00
KOBAYASHI Shuji
cf6ae0de6a
Fix the error message of Kernel#Float
...
#### Before this patch:
```
$ bin/mruby -e 'Float("1_a")'
-e:1: invalid string for float(a) (ArgumentError)
```
#### After this patch:
```
$ bin/mruby -e 'Float("1_a")'
-e:1: invalid string for float("1_a") (ArgumentError)
```
2019-12-08 18:31:41 +09:00
Yukihiro "Matz" Matsumoto
2456d3abc0
Merge pull request #4854 from shuujii/add-tests-to-Math
...
Add tests to `Math`
2019-12-08 11:24:29 +09:00
dearblue
1ca4fdc4c7
Fix keyword arguments not be obtained with mrb_get_args(); Fix #4754
...
If ":" is after "|" and there is no "?" or "*", the keyword argument
could not be obtained and it was not initialized with `undef`.
For example: "|oo:"
2019-12-07 22:48:58 +09:00
KOBAYASHI Shuji
d908a73b04
Add tests to Math
2019-12-07 20:50:56 +09:00
Yukihiro "Matz" Matsumoto
6e5c861fff
Merge pull request #4852 from shuujii/auto-detect-MRB_TIME_T_UINT
...
Auto detect `MRB_TIME_T_UINT`
2019-12-06 08:00:53 +09:00
KOBAYASHI Shuji
e6033e00fe
Auto detect MRB_TIME_T_UINT
2019-12-05 21:40:15 +09:00