Hiroshi Mimaki
7c91efc1ff
Update version and release date.
...
`mruby 2.0.1 (2019-4-4)`
2019-04-04 09:26:40 +09:00
Yukihiro "Matz" Matsumoto
2871d0cdc5
Avoid keeping pointers from mrb_sym2name_len(); fix #4342
...
The addresses for packed inline symbols reference `mrb->symbuf` that
could be overridden by the later call of `mrb_sym2name_len`. Since
file names in call stack information are kept as symbols, keeping the
address in the C structures could cause problems like #4342 .
This changes small incompatible changes in function prototypes:
* `mrb_parser_get_filename`: return value changed to `mrb_sym`.
* `mrb_debug_get_filename`: add `mrb_state*` as a first argument.
* `mrb_debug_get_line`: ditto.
I believe above functions are almost internal, and no third-party
mrbgem use them.
2019-04-01 14:13:06 +09:00
Yukihiro "Matz" Matsumoto
6ec855a38e
Merge pull request #4351 from shuujii/fix-warning-interpreted-as-argument-prefix
...
Fix warning: '*' interpreted as argument prefix
2019-03-31 17:39:10 +09:00
KOBAYASHI Shuji
9b024dcf7a
Fix warning: '*' interpreted as argument prefix
2019-03-31 14:52:18 +09:00
Yukihiro "Matz" Matsumoto
19537b103c
Merge pull request #4349 from shuujii/add-pass-and-flunk-to-test-assert.rb
...
Add `pass` and `flunk` to `test/assert.rb`
2019-03-30 22:07:29 +09:00
KOBAYASHI Shuji
4e9c90ed47
Add pass and flunk to test/assert.rb
2019-03-30 13:19:31 +09:00
Yukihiro "Matz" Matsumoto
3c732cd28c
Merge pull request #4348 from shuujii/fix-missing-assertions-in-mruby-math-test
...
Fix missing assertions in `mruby-math` test
2019-03-29 15:51:20 +09:00
Yukihiro "Matz" Matsumoto
85f816528c
Merge pull request #4347 from iij/include-stdarg-in-mruby-h
...
fixes build on OpenBSD.
2019-03-29 15:49:41 +09:00
Tomoyuki Sahara
d8d59f70c1
va_list is defined in stdarg.h.
...
fixes build on OpenBSD.
2019-03-29 11:55:04 +09:00
KOBAYASHI Shuji
d1f937e1f4
Fix missing assertions in mruby-math test
2019-03-29 09:40:13 +09:00
Yukihiro "Matz" Matsumoto
42f240796f
Use Mrbtest::FLOAT_TOLERANCE instead of Math::TORELANCE; ref #4345
2019-03-28 23:22:32 +09:00
Yukihiro "Matz" Matsumoto
3b92b642eb
Break loop whem sum==0 to avoid zero division; ref #4345
2019-03-28 23:22:32 +09:00
Yukihiro "Matz" Matsumoto
a26856f883
Use DBL_EPSILON instead of 1E-12; ref #4345
2019-03-28 23:22:32 +09:00
Yukihiro "Matz" Matsumoto
6023180848
Merge pull request #4346 from shuujii/use-mrb_sym2str-in-implementation-of-symbol-to_s
...
Use `mrb_sym2str` in implementation of `Symbol#to_s`
2019-03-28 23:22:23 +09:00
KOBAYASHI Shuji
da2bc9e678
Use mrb_sym2str in implementation of Symbol#to_s
2019-03-28 19:56:51 +09:00
Yukihiro "Matz" Matsumoto
21b8d20d7e
Fixed mistakes in 92dce05
...
* rename `sym2name` to `sym2name_len`.
* `MRB_API` -> `static`
2019-03-28 07:06:44 +09:00
Yukihiro "Matz" Matsumoto
5fe00c46ba
Merge pull request #4344 from shuujii/remove-unused-variable-in-each_backtrace
...
Remove unused variable in `each_backtrace()`
2019-03-27 20:24:31 +09:00
KOBAYASHI Shuji
58ca4061b5
Remove unused variable in each_backtrace()
2019-03-27 19:27:00 +09:00
Yukihiro "Matz" Matsumoto
92dce053ad
Fix another bug related to #4342
...
For short symbols with alpha numeric characters, `mrb_sym2name_len()`
returns the same buffer `mrb->symbuf`. Some occasion, we forget the fact
that the second call could overwrite the result of first call of the
function.
We have prepared the static function `sym2name()` which specifies the
buffer region for inline packed symbols and use the function in
`mrb_sym_to_s`.
2019-03-27 17:38:06 +09:00
Yukihiro "Matz" Matsumoto
b8f00e439d
Avoid using 'mrb_str_new_static` if a symbol is packed; fix #4342
2019-03-27 12:53:24 +09:00
Yukihiro "Matz" Matsumoto
5598612336
Merge pull request #4343 from shuujii/fix-dealing-with-infinity-and-NaN-in-assert_float
...
Fix dealing with infinity and NaN in `test/assert.rb:assert_float`
2019-03-27 06:53:30 +09:00
KOBAYASHI Shuji
0b6696cc28
Fix dealing with infinity and NaN in test/assert.rb:assert_float
...
`assert_float` is always passed when expected value and/or actual value are
infinity or NaN. This behavior seems unintentional.
Before this patch:
assert_float(Float::INFINITY, 1.0) #=> pass
assert_float(-Float::INFINITY, 1) #=> pass
assert_float(1, 1/0) #=> pass
assert_float(1, -1/0) #=> pass
assert_float(1.0, Float::NAN) #=> pass
assert_float(Float::NAN, 1) #=> pass
After this patch:
assert_float(Float::INFINITY, 1.0) #=> fail: Expected 1.0 to be Infinity.
assert_float(-Float::INFINITY, 1) #=> fail: Expected 1 to be -Infinity.
assert_float(1, 1/0) #=> fail: Expected Infinity to be 1.
assert_float(1, -1/0) #=> fail: Expected -Infinity to be 1.
assert_float(1.0, Float::NAN) #=> fail: Expected NaN to be 1.0.
assert_float(Float::NAN, 1) #=> fail: Expected 1 to be NaN.
2019-03-26 22:12:09 +09:00
Yukihiro "Matz" Matsumoto
c2660b8111
Fix missing MRB_API prefix for functions below; clse #4267
...
Functions to add prototypes to headers:
* mrb_ary_splice()
* mrb_notimplement()
* mrb_vformat()
* mrb_cstr_to_dbl()
* mrb_cstr_to_inum()
Functions to be made `static` (`MRB_API` was not needed):
* mrb_mod_module_function()
* mrb_obj_hash()
* mrb_str_len_to_inum()
Functions to remove `MRB_API` from definitions (referenced from within `libmruby`):
* mrb_mod_cv_defined()
* mrb_mod_cv_get()
* mrb_f_send()
2019-03-26 10:23:52 +09:00
Yukihiro "Matz" Matsumoto
a5a6b51126
Use uppercase version of ctype macros e.g. ISSPACE; fix #4338
2019-03-25 22:05:31 +09:00
Yukihiro "Matz" Matsumoto
1e14afa4e4
Merge pull request #4341 from shuujii/remove-implementation-of-Symbol-eqq
...
Remove implementation of `Symbol#===`
2019-03-25 22:05:18 +09:00
KOBAYASHI Shuji
b489ddcbd1
Remove implementation of Symbol#===
...
For reducing program size.
2019-03-25 21:39:11 +09:00
Yukihiro "Matz" Matsumoto
33a9840e4a
Need to check length before packing a symbol; fix #4340
2019-03-25 20:28:21 +09:00
Yukihiro "Matz" Matsumoto
f7e05c7d22
Update float test values to avoid precision errors.
2019-03-25 16:54:34 +09:00
Yukihiro "Matz" Matsumoto
ce67561511
Avoid infinite binary floating numbers in float.
2019-03-25 16:21:50 +09:00
Yukihiro "Matz" Matsumoto
3e5dd40a5c
Merge pull request #4339 from shuujii/fix-arguments-spec-in-src-proc.c
...
Fix arguments spec in `src/proc.c`
2019-03-24 22:26:37 +09:00
Yukihiro "Matz" Matsumoto
e36db51bea
Merge pull request #4337 from shuujii/refactor-t_print-for-test
...
Refactor `t_print` for test
2019-03-24 21:29:00 +09:00
KOBAYASHI Shuji
10a8e0f105
Fix arguments spec in src/proc.c
2019-03-24 20:55:04 +09:00
KOBAYASHI Shuji
df4b081392
Refactor t_print for test
2019-03-23 19:27:21 +09:00
Yukihiro "Matz" Matsumoto
36c9416bff
Merge pull request #4336 from shuujii/simplify-assert_step
...
Simplify `assert_step` in `test/t/numeric.rb`
2019-03-22 22:38:05 +09:00
KOBAYASHI Shuji
04fc265858
Simplify assert_step in test/t/numeric.rb
2019-03-22 18:37:37 +09:00
Yukihiro "Matz" Matsumoto
84241d3dba
Merge pull request #4334 from shuujii/remove-redundant-content-in-assertion-failure-message-and-diff
...
Remove redundant content in assertion failure message and diff
2019-03-22 14:40:19 +09:00
Yukihiro "Matz" Matsumoto
19191a5476
Merge pull request #4335 from shuujii/fix-Float-eql
...
Fix `Float#eql?`
2019-03-22 14:38:23 +09:00
KOBAYASHI Shuji
a41b02ab91
Fix Float#eql?
2019-03-21 21:36:54 +09:00
KOBAYASHI Shuji
2b72baccf3
Remove redundant content in assertion failure message and diff
...
Based on minitest RubyGem.
Example of before this patch:
- Assertion[1] Failed: Expected 1 to be 2
Expected: 2
Actual: 1
- Assertion[2] Failed: Expected [1, 3] to include 2
Collection: [1, 3]
Object: 2
Example of after this patch:
- Assertion[1]
Expected: 2
Actual: 1
- Assertion[2]
Expected [1, 3] to include 2.
2019-03-21 20:53:52 +09:00
Yukihiro "Matz" Matsumoto
3f7cd4687f
Merge pull request #4333 from shuujii/use-FrozenError-instead-of-RuntimeError-in-frozen-obj-mod-test
...
Use `FrozenError` instead of `RuntimeError` in frozen object modification test
2019-03-20 18:43:41 +09:00
Yukihiro "Matz" Matsumoto
cd3bf55b3e
Merge pull request #4332 from shuujii/use-Rake-instead-of-MiniRake-on-AppVeyor
...
Use Rake instead of MiniRake on AppVeyor
2019-03-20 18:42:54 +09:00
KOBAYASHI Shuji
fbad7a1595
Use FrozenError instead of RuntimeError in frozen object modification test
2019-03-19 20:48:32 +09:00
KOBAYASHI Shuji
bc321ece4c
Use Rake instead of MiniRake on AppVeyor
...
1. Reduce build time
Build time becomes less than half. In MiniRake, a way of using fiber may not be good.
2. Synchronize standard output
No synchronized:
mrbtest - Embeddable Ruby Test
...........................
Total: 1165
(snip)
Time: 1.19 seconds
bintest - Command Binary Test
.....................
Total: 21
(snip)
Time: 0.39 seconds
mrbtest - Embeddable Ruby Test
...........................
Total: 1165
(snip)
Skip: 23
Time: 1.15 seconds
(snip)
>>> Test cxx_abi <<<
>>> Bintest host <<<
>>> Test host <<<
>>> Test full-debug <<<
>>> Bintest cxx_abi <<<
Synchronized:
>>> Test full-debug <<<
mrbtest - Embeddable Ruby Test
...........................
Total: 1165
(snip)
Time: 1.25 seconds
>>> Test host <<<
mrbtest - Embeddable Ruby Test
...........................
Total: 1165
(snip)
Time: 1.16 seconds
>>> Bintest host <<<
bintest - Command Binary Test
.....................
Total: 21
(snip)
Time: 0.41 seconds
>>> Test cxx_abi <<<
mrbtest - Embeddable Ruby Test
(snip)
2019-03-18 14:25:24 +09:00
Yukihiro "Matz" Matsumoto
f8b17d1ec4
Merge pull request #4331 from shuujii/fix-class-instance-variable-name-validation
...
Fix class/instance variable name validation
2019-03-17 18:38:06 +09:00
KOBAYASHI Shuji
b588e5a5b7
Fix class/instance variable name validation
...
- `@@?` etc are invalid class variable name.
- `@1` etc are invalid instance variable name.
2019-03-17 16:58:31 +09:00
Yukihiro "Matz" Matsumoto
15b6499c8b
Merge pull request #4330 from shuujii/refine-appveyor.yml
...
Refine `appveyor.yml`
2019-03-16 20:30:07 +09:00
KOBAYASHI Shuji
1809fb755a
Refine appveyor.yml
...
- Add Visual Studio 2017.
- Enable `shallow_clone` for saving build time.
- Cache extracted WinFlexBison.
2019-03-16 13:37:52 +09:00
Yukihiro "Matz" Matsumoto
e9b1f14cdc
Merge pull request #4329 from shuujii/use-FrozenError-instead-of-RuntimeError
...
Use `FrozenError` instead of `RuntimeError` in `String#rstrip!`
2019-03-15 23:18:19 +09:00
KOBAYASHI Shuji
cd4daf78ec
Use FrozenError instead of RuntimeError in String#rstrip!
2019-03-15 22:49:40 +09:00
Yukihiro "Matz" Matsumoto
a1e1201148
Merge pull request #4328 from shuujii/fix-constant-name-validation
...
Fix constant name validation
2019-03-15 21:19:48 +09:00
Yukihiro "Matz" Matsumoto
298807fa4e
Avoid using infinite binary floating point numbers in tests.
2019-03-15 15:25:43 +09:00
Yukihiro "Matz" Matsumoto
63b8f5cf57
Use fmt_fp() for portable float representation.
2019-03-15 15:25:43 +09:00
KOBAYASHI Shuji
16b1b2978e
Fix constant name validation
...
`X!` etc are invalid constant name.
2019-03-14 23:09:05 +09:00
Yukihiro "Matz" Matsumoto
63124bf633
Merge pull request #4327 from shuujii/do-not-raise-an-exception-when-bintest-fail
...
Do not raise an exception when bintest fail
2019-03-13 22:30:08 +09:00
KOBAYASHI Shuji
c3122c887a
Do not raise an exception when bintest fail
...
- An exception do not raise when mrbtest fail.
- There are no useful informations in exception message and backtrace.
2019-03-13 22:04:14 +09:00
Yukihiro "Matz" Matsumoto
ad0a8888f3
Merge pull request #4326 from shuujii/fix-typo-in-AUTHORS
...
Fix typo in `AUTHORS` [ci skip]
2019-03-13 09:06:18 +09:00
KOBAYASHI Shuji
29951a6d07
Fix typo in AUTHORS [ci skip]
2019-03-13 07:56:32 +09:00
Yukihiro "Matz" Matsumoto
1d38c1f307
Merge pull request #4322 from shuujii/reduce-String-creation-in-checking-name
...
Reduce `String` creation in `check_(cv|const)_name_sym`
2019-03-12 23:48:48 +09:00
Yukihiro "Matz" Matsumoto
d2c325d08a
Merge pull request #4325 from shuujii/fix-missing-assertions-in-mruby-string-ext-test
...
Fix missing assertions in `mruby-string-ext` test
2019-03-12 23:48:03 +09:00
Yukihiro "Matz" Matsumoto
07b9a10c06
Update the description at the head of AUTHORS; ref #4324
2019-03-12 23:36:26 +09:00
KOBAYASHI Shuji
e3b339bec6
Fix missing assertions in mruby-string-ext test
2019-03-12 21:47:33 +09:00
Yukihiro "Matz" Matsumoto
adfb25ab13
Merge pull request #4324 from shuujii/update-AUTHORS
...
Update `AUTHORS` [ci skip]
2019-03-12 21:21:25 +09:00
KOBAYASHI Shuji
fc96dbcac6
Update AUTHORS [ci skip]
2019-03-12 09:46:29 +09:00
Yukihiro "Matz" Matsumoto
46e4524566
Merge pull request #4323 from shuujii/rename-MITL-to-LICENSE
...
Rename `MITL` to `LICENSE` in `.yardopts`; ref 67728c1 [ci skip]
2019-03-12 09:27:04 +09:00
KOBAYASHI Shuji
e2976172c5
Rename MITL to LICENSE in .yardopts; ref 67728c1 [ci skip]
2019-03-12 09:21:43 +09:00
Yukihiro "Matz" Matsumoto
67728c1576
Rename MITL to LICENSE to conform GitHub convention.
2019-03-12 07:54:38 +09:00
KOBAYASHI Shuji
425e6e0ffb
Reduce String creation in check_(cv|const)_name_sym
2019-03-11 17:26:19 +09:00
Yukihiro "Matz" Matsumoto
fba8ecf55c
Merge pull request #4321 from shuujii/add-bintest-header
...
Add bintest header
2019-03-10 23:51:03 +09:00
KOBAYASHI Shuji
7d1a8d3f8e
Add bintest header
2019-03-10 21:46:24 +09:00
Yukihiro "Matz" Matsumoto
6a0ae792df
Merge pull request #4316 from shuujii/add-a-missing-file-for-4314
...
Add a missing file for #4314
2019-03-09 10:19:32 +09:00
Yukihiro "Matz" Matsumoto
d27808ef82
Merge pull request #4319 from shuujii/allow-enable_bintest-without-enable_test
...
Allow `enable_bintest` without `enable_test` in build config
2019-03-08 23:05:05 +09:00
KOBAYASHI Shuji
441c964716
Allow enable_bintest without enable_test in build config
2019-03-08 22:00:06 +09:00
Yukihiro "Matz" Matsumoto
4fb3edce11
Merge pull request #4318 from shuujii/set-GEMNAME-on-bintest
...
Set `GEMNAME` on bintest
2019-03-08 12:22:24 +09:00
KOBAYASHI Shuji
968e3b9400
Set GEMNAME on bintest
2019-03-07 22:16:47 +09:00
KOBAYASHI Shuji
f6326803c7
Add a missing file for #4314
2019-03-07 21:36:54 +09:00
Yukihiro "Matz" Matsumoto
bf922c9f7a
Merge pull request #4315 from shuujii/refer-also-CXX-and-CC-env-vars-as-linker-command
...
Refer also CXX and CC env vars as linker command in gcc and clang toolchain
2019-03-06 22:26:34 +09:00
KOBAYASHI Shuji
e2bb5ce079
Refer also CXX and CC env vars as linker command in gcc and clang toolchain
...
ref #4292
2019-03-06 20:42:31 +09:00
Yukihiro "Matz" Matsumoto
06e07cbcd8
Merge pull request #4314 from shuujii/count-skip-test
...
Count skip tests
2019-03-06 19:54:37 +09:00
KOBAYASHI Shuji
650ca7da17
Count skip tests
2019-03-05 19:53:25 +09:00
Yukihiro "Matz" Matsumoto
06dae1a9b6
Merge pull request #4313 from shuujii/extract-similar-code-fragment-to-method-in-src-class.c
...
Extract similar code fragment to method in `src/class.c`
2019-03-04 21:57:37 +09:00
Yukihiro "Matz" Matsumoto
f82e11a7ed
Merge pull request #4312 from shuujii/GEMNAME-is-undefined-in-bintest
...
`GEMNAME` is undefined in bintest
2019-03-04 06:48:31 +09:00
KOBAYASHI Shuji
ee537eceee
GEMNAME is undefined in bintest
...
ref: https://github.com/mruby/mruby/pull/4296#discussion_r261868710
2019-03-04 00:18:54 +09:00
Yukihiro "Matz" Matsumoto
d1cdb9ef75
Merge pull request #4311 from shuujii/simplify-MRubyTestSkip-in-test-assert.rb
...
Simplify `MRubyTestSkip` in `test/assert.rb`
2019-03-03 23:22:23 +09:00
KOBAYASHI Shuji
376dd992f1
Extract similar code fragment to method in src/class.c
2019-03-03 20:45:44 +09:00
KOBAYASHI Shuji
c6b8106924
Simplify MRubyTestSkip in test/assert.rb
2019-03-03 18:58:11 +09:00
Yukihiro "Matz" Matsumoto
83a1df3785
Merge pull request #4309 from shuujii/fix-missing-assertion-in-test-t-class.rb
...
Fix missing assertion in `test/t/class.rb`
2019-03-02 21:14:41 +09:00
KOBAYASHI Shuji
729ab86d49
Fix missing assertion in test/t/class.rb
2019-03-02 18:55:02 +09:00
Yukihiro "Matz" Matsumoto
ad45f51caf
Remove unused gem.bin= method; close #4271
2019-03-02 15:57:39 +09:00
Yukihiro "Matz" Matsumoto
af51119d3a
Raise error on failed comparison in sort; ref #4307
2019-03-02 15:46:50 +09:00
Yukihiro "Matz" Matsumoto
73091ab202
Do not apply mrb_ptr() to immediate objects; fix #4307
2019-03-02 15:45:15 +09:00
Yukihiro "Matz" Matsumoto
ca0dcbb226
Free struct mrb_time before error; fix #4308
...
To avoid memory leak from `time_update_datetime`.
2019-03-02 14:13:06 +09:00
Yukihiro "Matz" Matsumoto
e5649eba70
Remove useless regression tests; ref #4306
2019-03-02 14:01:52 +09:00
Yukihiro "Matz" Matsumoto
997cc8238d
Remove useless regression tests; fix #4306
2019-03-02 14:00:25 +09:00
Yukihiro "Matz" Matsumoto
13e0a48e3c
Print length of the iseq in code dump header; fix #4304
2019-03-02 13:51:46 +09:00
Yukihiro "Matz" Matsumoto
48fb239efb
Merge pull request #4305 from shuujii/add-warning-prefix-to-parser-warning-message
...
Add `warning: ` prefix to parser warning message
2019-03-01 06:58:33 +09:00
KOBAYASHI Shuji
8c04ba2222
Add warning: prefix to parser warning message
2019-02-28 19:54:45 +09:00
Yukihiro "Matz" Matsumoto
d25b9c9d0e
Remove unnecessary backticks; ref #4301
2019-02-28 12:59:16 +09:00
Yukihiro "Matz" Matsumoto
f1fb2bf29e
Remove ?A style string literals from string tests; #4303
...
We have a plan to obsolete this style in the future.
2019-02-28 12:55:44 +09:00
Yukihiro "Matz" Matsumoto
4f3067fe2f
Merge pull request #4301 from shuujii/remove-unnecessary-backticks
...
Remove unnecessary backticks; ref #2858
2019-02-28 12:55:26 +09:00
Yukihiro "Matz" Matsumoto
5424640f6f
Merge pull request #4303 from dearblue/string-literal-concatenation
...
String literal concatenation
2019-02-28 07:05:08 +09:00
dearblue
f9a568adcb
Add test for string literal concatenation
2019-02-27 22:58:13 +09:00
dearblue
e871a1538d
Compositing NODE_DSTR and NODE_DSTR
2019-02-27 22:58:13 +09:00
dearblue
4d2bb3cb47
Compositing NODE_DSTR and NODE_STR
2019-02-27 22:58:13 +09:00
dearblue
8ead6da913
Compositing NODE_STR and NODE_DSTR
2019-02-27 22:58:13 +09:00
dearblue
25957421bc
Replacement to function for composite two string nodes
2019-02-27 22:58:13 +09:00
dearblue
477e5285e8
Replacement to function for NODE_STR cheking
2019-02-27 22:58:09 +09:00
dearblue
9913643ed8
Compositing NODE_STR and NODE_STR
2019-02-27 22:57:45 +09:00
dearblue
cece016389
Concatenate string literals
2019-02-27 22:35:53 +09:00
Yukihiro "Matz" Matsumoto
6962d0ddde
Merge pull request #4302 from shuujii/add-newline-to-warning-by-mrb_warn
...
Add newline to warning by `mrb_warn()`
2019-02-27 22:33:22 +09:00
Yukihiro "Matz" Matsumoto
759b57d22a
Merge pull request #4300 from shuujii/use-yywarning-instead-of-yywarning_s-for-MRB_WITHOUT_FLOAT
...
Use `yywarning()` instead of `yywarning_s()` for `MRB_WITHOUT_FLOAT`
2019-02-27 22:32:31 +09:00
KOBAYASHI Shuji
62bb9c6436
Add newline to warning by mrb_warn()
2019-02-27 20:58:20 +09:00
KOBAYASHI Shuji
c11bd075f7
Remove unnecessary backticks; ref #2858
2019-02-27 20:27:29 +09:00
KOBAYASHI Shuji
2894625089
Use yywarning() instead of yywarning_s() for MRB_WITHOUT_FLOAT
2019-02-27 20:21:40 +09:00
Yukihiro "Matz" Matsumoto
018f4bd32e
Merge pull request #4299 from shuujii/remove-unneeded-separator-in-test-skip-error-messages
...
Remove unneeded `=>` in test skip/error messages
2019-02-27 07:29:17 +09:00
Yukihiro "Matz" Matsumoto
d544401f1f
Merge pull request #4298 from shuujii/remove-unneeded-const_defined-Time-in-mruby-io-test
...
Remove unneeded `const_defined?(:Time)` in `mruby-io` test
2019-02-26 21:49:32 +09:00
KOBAYASHI Shuji
fdb7f9dad3
Remove unneeded => in test skip/error messages
2019-02-26 21:32:34 +09:00
KOBAYASHI Shuji
c6cd69970b
Remove unneeded const_defined?(:Time) in mruby-io test
...
`mruby-time` is included in test dependencies.
2019-02-26 21:12:41 +09:00
Yukihiro "Matz" Matsumoto
68f421c859
Merge pull request #4294 from shuujii/remove-explicit-set-of-DISABLE_GEMS
...
Remove explicit set of `DISABLE_GEMS`
2019-02-25 23:49:16 +09:00
Yukihiro "Matz" Matsumoto
6337bde8a5
Merge pull request #4296 from shuujii/refine-mrbgem-name-in-assertion-failure-message-for-core-test
...
Refine mrbgem name in assertion failure/skip message for core test
2019-02-25 23:48:04 +09:00
Yukihiro "Matz" Matsumoto
96b12b9813
Merge pull request #4297 from shuujii/refactor-src-backtrace.c
...
Refactor `src/backtrace.c`
2019-02-25 23:46:24 +09:00
KOBAYASHI Shuji
c49a10f9a0
Refactor src/backtrace.c
...
- Move calling `mrb_debug_get_filename()` to after `lineno` check.
- Remove unneeded array check in `print_backtrace()`.
- Add a few `const` qualifier.
2019-02-25 20:39:20 +09:00
KOBAYASHI Shuji
5c40203930
Refine mrbgem name in assertion failure/skip message for core test
2019-02-24 19:21:40 +09:00
Yukihiro "Matz" Matsumoto
ad87fd2287
Merge pull request #4295 from wataash/struct-dig
...
Move `Object#dig` to `Struct#dig`
2019-02-24 18:13:56 +09:00
Wataru Ashihara
e91f3ec770
Move Object#dig to Struct#dig
...
This method seems to be mistakenly put into `Object` instead of `Struct`
since it's in `struct.rb` and daf83946b says:
add #dig to Array,Hash and Struct
2019-02-24 16:59:02 +09:00
KOBAYASHI Shuji
31f1b4a553
Remove explicit set of DISABLE_GEMS
...
`DISABLE_GEMS` is automatically set (or unset); ref #790
2019-02-23 18:29:37 +09:00
Yukihiro "Matz" Matsumoto
f5cfb77078
Merge pull request #4293 from shuujii/integrate-init_mrbtest.c-to-driver.c-in-mruby-test-mrbgem
...
Integrate `init_mrbtest.c` to `driver.c` in `mruby-test` mrbgem
2019-02-23 10:31:40 +09:00
KOBAYASHI Shuji
f209f781ac
Integrate init_mrbtest.c to driver.c in mruby-test mrbgem
...
- `mrbgemtest_init()` is needed if `DISABLE_GEMS` is enabled because core
tests are run as part of `mruby-test` mrbgem (moreover, `DISABLE_GEMS` is
disabled when `enable_test` is used in build config).
- For the same reason `mrb_open_core()` etc for core tests is unneeded.
2019-02-22 20:41:20 +09:00
Yukihiro "Matz" Matsumoto
5cc277340f
Merge pull request #4291 from shuujii/fix-typo-in-lib-mruby-build-command.rb
...
Fix typo in `lib/mruby/build/command.rb`
2019-02-21 22:40:17 +09:00
Yukihiro "Matz" Matsumoto
769b56c3ae
Merge pull request #4290 from shuujii/refactor-exception-handling-in-assert
...
Refactor exception handling in `assert`
2019-02-21 22:37:09 +09:00
KOBAYASHI Shuji
37fb5f929f
Fix typo in lib/mruby/build/command.rb
2019-02-21 19:47:00 +09:00
KOBAYASHI Shuji
ad789944db
Refactor exception handling in assert
2019-02-21 17:44:45 +09:00
Yukihiro "Matz" Matsumoto
76262b8e28
Merge pull request #4288 from shuujii/assert_true-should-pass-when-actual-is-only-true
...
`assert_true`/`assert_false` should pass when actual is only `true`/`false`
2019-02-20 19:42:01 +09:00
KOBAYASHI Shuji
244abdae09
assert_true/assert_false should pass when actual is only true/false
...
For the following reasons:
- Previous behavior is confusable because it's different from test/unit rubygem's `assert_true`
- Tests may pass unintentionally in an inappropriate way; ref #4285 #4287
2019-02-20 18:49:38 +09:00
Yukihiro "Matz" Matsumoto
baf8fbe6ed
Merge pull request #4286 from kimushu/mrdb-local-variables
...
mrdb: add "info locals" command
2019-02-19 20:44:16 +09:00
Yukihiro "Matz" Matsumoto
8781596c35
Merge pull request #4287 from shuujii/use-more-appropriate-assertion-methods
...
Use more appropriate assertion methods
2019-02-19 20:31:10 +09:00
KOBAYASHI Shuji
8a7298e069
Use more appropriate assertion methods
2019-02-19 20:02:50 +09:00
kimu_shu
477ffc7473
Add "info locals" command to mrdb
2019-02-19 18:10:05 +09:00
Yukihiro "Matz" Matsumoto
971bfd13c1
Merge pull request #4284 from shuujii/use-assert_same-instead-of-assert_equal-in-enum-reverse_each-test
...
Use `assert_same` instead of `assert_equal` in `Enumerable#reverse_each` test
2019-02-18 21:50:08 +09:00
Yukihiro "Matz" Matsumoto
4164d4efdf
Merge pull request #4285 from shuujii/fix-wrong-assertin-method-in-some-tests
...
Fix wrong assertion method in some tests
2019-02-18 21:47:41 +09:00
KOBAYASHI Shuji
d68eb3d043
Fix wrong assertion method in some tests
2019-02-18 21:24:20 +09:00
KOBAYASHI Shuji
f86e4a5d93
Use assert_same instead of assert_equal in Enumerable#reverse_each test
2019-02-18 21:06:18 +09:00
Yukihiro "Matz" Matsumoto
9215c85450
Parenthesize expression to suppress warning; ref #4278
2019-02-18 17:25:01 +09:00
Yukihiro "Matz" Matsumoto
4ccc3f1525
Use key argument register for OP_KEY_P to reduce register use.
2019-02-18 17:25:01 +09:00
Yukihiro "Matz" Matsumoto
e986dfa8aa
Merge pull request #4283 from shuujii/reorder-members-in-struct-backtrace_location
...
Reorder members in `struct backtrace_location`
2019-02-18 17:24:48 +09:00
Yukihiro "Matz" Matsumoto
93e25f4aaa
Merge pull request #4282 from shuujii/remove-unneeded-memset-in-backtrace.c
...
Remove unneeded `memset()` in `src/backtrace.c`
2019-02-18 17:24:16 +09:00
KOBAYASHI Shuji
a28d714398
Reorder members in struct backtrace_location
...
`sizeof(struct backtrace_location)` is 24 bytes -> 16 bytes in LP64
data model etc.
2019-02-18 16:38:56 +09:00
KOBAYASHI Shuji
15344dfd0b
Remove unneeded memset() in src/backtrace.c
2019-02-18 16:12:12 +09:00
Yukihiro "Matz" Matsumoto
3e0d29b7be
Merge pull request #4279 from dearblue/fix-inline-packed-symbols
...
Fix destroyed "inline packed symbols" on 32 bit mode with `MRB_WORD_BOXING`
2019-02-17 22:13:22 +09:00
Yukihiro "Matz" Matsumoto
a3e8b750ef
Merge pull request #4280 from shuujii/refine-deps-for-mruby-config
...
Refine dependencies for `mruby-config`
2019-02-17 22:12:19 +09:00
Yukihiro "Matz" Matsumoto
391b5aa0d8
Merge pull request #4281 from yui-knk/typos [ci skip
...
Fix typos
2019-02-17 22:11:32 +09:00
yui-knk
f614eed13a
Fix typos
2019-02-17 21:34:33 +09:00
KOBAYASHI Shuji
b3e0a13989
Refine dependencies for mruby-config
2019-02-17 15:52:16 +09:00
dearblue
5067a5cd58
Use const int instead of enum
2019-02-16 22:13:16 +09:00
Yukihiro "Matz" Matsumoto
21933b7790
Merge pull request #4278 from shuujii/add-length-argument-for-sym_inline_unpack
...
Add length argument for `sym_inline_unpack()`
2019-02-16 21:52:39 +09:00
dearblue
81cbc92513
Fix inline packed symbols on 32 bit mode with MRB_WORD_BOXING
2019-02-16 21:26:45 +09:00
dearblue
d1db959cab
Fix to defined MRB_SYMBOL_BITSIZE and MRB_SYMBOL_MAX always; ref #4077
2019-02-16 21:24:05 +09:00
KOBAYASHI Shuji
2c8af128f4
Add length argument for sym_inline_unpack()
...
`sym_inline_unpack_with_bit()` is moved inside of `sym_inline_unpack()`
because this is used only one place.
2019-02-16 20:48:33 +09:00
Yukihiro "Matz" Matsumoto
c769013f9b
Merge pull request #4277 from shuujii/extract-code-fragment-for-unpacking-in-sym_inline_unpack
...
Extract code fragment for unpacking into method in `sym_inline_unpack()`
2019-02-15 20:12:49 +09:00
KOBAYASHI Shuji
5b10439f6f
Extract code fragment for unpacking into method in sym_inline_unpack()
2019-02-15 19:48:00 +09:00
Yukihiro "Matz" Matsumoto
cc94c8bf9d
Merge pull request #4276 from shuujii/use-assert-for-checking-sym-in-sym_inline_unpack
...
Use `mrb_assert()` for checking `sym` in `sym_inline_unpack()`
2019-02-15 16:34:18 +09:00
Yukihiro "Matz" Matsumoto
702a868b86
Merge pull request #4275 from shuujii/add-const-to-pack_table-in-symbol.c
...
Add `const` to `pack_table` in `src/symbol.c`
2019-02-14 20:12:03 +09:00
KOBAYASHI Shuji
921af6923d
Use mrb_assert() for checking sym in sym_inline_unpack()
2019-02-14 18:48:41 +09:00
KOBAYASHI Shuji
bedd672571
Add const to pack_table to src/symbol.c
2019-02-14 18:44:00 +09:00
Yukihiro "Matz" Matsumoto
01c908117d
Merge pull request #4274 from shuujii/lazy-message-diff-creation-for-assertion
...
Lazy message/diff creation for assertion in `test/assert.rb`
2019-02-14 13:10:48 +09:00
KOBAYASHI Shuji
6cdac5efb6
Lazy message/diff creation for assertion in test/assert.rb
...
Include the following changes too:
- Extract part of logic with block to a method
- Use `var ||= ...` instead of `var = ... unless var`
- Unify using parentheses for `t_print`
- Change methods order
2019-02-14 09:04:42 +09:00
Yukihiro "Matz" Matsumoto
a6c0aa8306
Merge pull request #4269 from shuujii/always-through-assert_true-for-assertion
...
Always through `assert_true` for assertion methods in `test/assert.rb`
2019-02-13 07:10:13 +09:00
Yukihiro "Matz" Matsumoto
ae5ff737e0
Merge pull request #4273 from shuujii/refine-mruby-bin-config-mrbgem.rake
...
Refine `mrbgems/mruby-bin-config/mrbgem.rake`
2019-02-13 07:09:07 +09:00
KOBAYASHI Shuji
c592c093aa
Refine mrbgems/mruby-bin-config/mrbgem.rake
...
- Use `MRuby::Gem::Specification`
- Fix a binary name is added to `MRuby::Build#bins` multiple times
- Close file immediately (avoid using `open(...).read`)
- Simplify
2019-02-12 21:45:38 +09:00
Yukihiro "Matz" Matsumoto
37bc343e0a
Disable Symbol.all_symbols.
2019-02-12 17:30:34 +09:00
Yukihiro "Matz" Matsumoto
06ba5905f0
Implement inline packed symbols.
...
Small symbols with all alphanumeric characters (<5) are packed in 32bit
symbol integer a la base64. This means those small symbols are not
listed in `Symbol.all_symbols`.
2019-02-12 17:30:34 +09:00
Yukihiro "Matz" Matsumoto
3a95bf0ddb
Merge pull request #4272 from shuujii/refactor-for-node_back_ref-in-codegen
...
Small refactoring in `codegen.c`
2019-02-11 22:47:43 +09:00
KOBAYASHI Shuji
c6e2d91536
Small refactoring in codegen.c
2019-02-11 21:09:40 +09:00
Yukihiro "Matz" Matsumoto
ef93ff6405
Should not copy keys&values when a hash table is empty; fix #4270
2019-02-11 15:20:34 +09:00
Yukihiro "Matz" Matsumoto
639f6e2799
No strict argument check for blocks when keyword arguments exist; ref #4270
2019-02-11 15:20:34 +09:00
Yukihiro "Matz" Matsumoto
55e58d8512
Merge pull request #4268 from dearblue/null-safe-mrb_open_core
...
NULL safed `mrb_open_core()`
2019-02-10 08:58:10 +09:00
KOBAYASHI Shuji
e60f5f5cee
Always through assert_true for assertion methods in test/assert.rb
2019-02-09 21:48:12 +09:00
dearblue
eb6aee117b
mrb_default_allocf() is default allocator for NULL safe
2019-02-09 20:22:08 +09:00
Yukihiro "Matz" Matsumoto
fc883de458
Merge pull request #4266 from shuujii/add-no_method_error-tests-to-enumerator
...
Add `NoMethodError` tests to `mruby-enumerator`
2019-02-08 23:28:38 +09:00
KOBAYASHI Shuji
19740d45a1
Add NoMethodError tests to mruby-enumerator
2019-02-08 17:40:12 +09:00
Yukihiro "Matz" Matsumoto
3d73a29783
Merge branch 'shuujii-fix-enumerator-initialize-for-nil-or-false'
2019-02-08 09:35:34 +09:00
Yukihiro "Matz" Matsumoto
e0bc87297e
Update mruby-enumerator test to conform the last update.
2019-02-08 09:35:28 +09:00
Yukihiro "Matz" Matsumoto
9ab7c1111b
Update #4265 patch.
...
* Update doc comment to clarify `Enumerator.new` without a block is
deprecated and left only for internal use.
* Fixed some cases `mruby` raise `ArgumentError` too eagerly compared
with `CRuby`.
2019-02-08 09:35:28 +09:00
KOBAYASHI Shuji
2650999092
Fix Enumerator#(initialize|inspect) for nil/false
2019-02-08 09:35:28 +09:00
Yukihiro "Matz" Matsumoto
c32e3158f5
Update mruby-enumerator test to conform the last update.
2019-02-08 09:34:31 +09:00
Yukihiro "Matz" Matsumoto
32f3ffa2c9
Update #4265 patch.
...
* Update doc comment to clarify `Enumerator.new` without a block is
deprecated and left only for internal use.
* Fixed some cases `mruby` raise `ArgumentError` too eagerly compared
with `CRuby`.
2019-02-08 09:31:55 +09:00
Yukihiro "Matz" Matsumoto
60529fdeeb
Merge branch 'fix-enumerator-initialize-for-nil-or-false' of https://github.com/shuujii/mruby into shuujii-fix-enumerator-initialize-for-nil-or-false
2019-02-08 09:13:39 +09:00
Yukihiro "Matz" Matsumoto
687a4d961f
Merge pull request #4251 from shuujii/remove-no-meaning-statements-in-mruby-io-tests
...
Remove no meaning statements in `mruby-io` tests
2019-02-08 07:19:40 +09:00
KOBAYASHI Shuji
e846db709f
Fix Enumerator#(initialize|inspect) for nil/false
2019-02-07 23:52:08 +09:00
Yukihiro "Matz" Matsumoto
bdc9de875f
Add OP_ENTER to blocks without parameters; fix #4175
...
So that `lambda{}.call(1)` raises `ArgumentError` as CRuby does.
Also, fixed junk assignment for `lambda{|;a|p a}.call{}`.
2019-02-07 22:44:36 +09:00
Yukihiro "Matz" Matsumoto
156641515c
Merge branch 'shuujii-rename-bin-mruby-config-to-bin-config'
2019-02-07 15:54:08 +09:00
Yukihiro "Matz" Matsumoto
e199df032d
Merge branch 'rename-bin-mruby-config-to-bin-config' of https://github.com/shuujii/mruby into shuujii-rename-bin-mruby-config-to-bin-config
2019-02-07 15:52:58 +09:00
Yukihiro "Matz" Matsumoto
6397ec727f
Raise NameError for symbol struct access.
2019-02-07 15:52:33 +09:00
Yukihiro "Matz" Matsumoto
215906dc83
Merge pull request #4264 from shuujii/integrate-definition-of-exefile
...
Integrate definition of `MRuby::Build#exefile`
2019-02-07 07:05:05 +09:00
Yukihiro "Matz" Matsumoto
d52f46da45
Implement symbol hash table to boost find_symbol.
...
In 4174e02, we removed the symbol hash table from `mrb_state` but
`find_symbol` was too slow with linear search. My performance estimation
was wrong. So we implemented a new compact hash table for symbols.
2019-02-06 22:07:11 +09:00
Yukihiro "Matz" Matsumoto
905fef2669
Reduce invocation of mrb_convert_type() from mrb_str_to_str().
2019-02-06 22:07:11 +09:00
Yukihiro "Matz" Matsumoto
02fbb2c211
Remove symbol hash table from mrb_state structure.
...
Use linear search instead. Number of symbols is usually small (<1K), so
we don't need performance boost from hash tables. In our benchmark
measurement, hash tables consumes 790KB for `build/full-debug/mrbtest`.
2019-02-06 22:07:11 +09:00
KOBAYASHI Shuji
c8628f7ca4
Integrate definition of MRuby::Build#exefile
2019-02-06 22:05:10 +09:00
Yukihiro "Matz" Matsumoto
1076bebde7
Merge pull request #4256 from shuujii/move-none-to-mrblib-enum
...
Move `NONE` to `mrblib/enum.rb`
2019-02-06 20:18:45 +09:00
Yukihiro "Matz" Matsumoto
cb8bbd9e12
Merge pull request #4262 from shuujii/remove-old-comment-in-symbol
...
Remove old comment for `mrb_sym2name_len()` [ci skip]
2019-02-05 22:51:26 +09:00
Yukihiro "Matz" Matsumoto
f51c0f5a59
Merge pull request #4261 from shuujii/fix-doc-markup-in-string
...
Fix markup and remove unneeded comment for doc in `src/string.c` [ci skip]
2019-02-05 22:50:56 +09:00
KOBAYASHI Shuji
5ef1e479da
Remove old comment for mrb_sym2name_len() [ci skip]
2019-02-05 19:16:23 +09:00
KOBAYASHI Shuji
7a2865cfef
Fix markup and remove unneeded comment for doc in src/string.c [ci skip]
2019-02-05 19:11:59 +09:00
Yukihiro "Matz" Matsumoto
db2545cb3c
Merge pull request #4260 from shuujii/fix-symbol-size-with-mrb_utf8_string
...
Fix `Symbol#size` for multi-byte characters with `MRB_UTF8_STRING`
2019-02-04 21:11:06 +09:00
KOBAYASHI Shuji
69fd1a5925
Fix Symbol#size for multi-byte characters with MRB_UTF8_STRING
...
Before:
p :あ.size #=> 3
After:
p :あ.size #=> 1
2019-02-04 18:11:22 +09:00
Yukihiro "Matz" Matsumoto
5fd9f68b27
Merge pull request #4259 from shuujii/use-eException_class-instead-of-mrb_class_get
...
Use `mrb->eException_class` instead of `mrb_class_get()`
2019-02-04 07:35:00 +09:00
KOBAYASHI Shuji
c86861bddf
Use mrb->eException_class instead of mrb_class_get()
2019-02-03 22:00:55 +09:00
Yukihiro "Matz" Matsumoto
3f7137feae
Merge pull request #4258 from shuujii/extend-only-when-necessary
...
Extend only when necessary in `lib/mruby-core-ext.rb`
2019-02-02 21:14:55 +09:00
KOBAYASHI Shuji
668ed60521
Extend only when necessary in lib/mruby-core-ext.rb
2019-02-02 18:53:49 +09:00
KOBAYASHI Shuji
6da3cd5d22
Move NONE to mrblib/enum.rb
2019-02-01 16:02:01 +09:00
Yukihiro "Matz" Matsumoto
32067b5005
Merge pull request #4254 from shuujii/remove-unneeded-dup-in-enumerator-initialize
...
Remove unneeded `dup` in `Enumerator#initialize`
2019-01-31 16:20:11 +09:00
KOBAYASHI Shuji
6218585968
Remove unneeded dup in Enumerator#initialize
2019-01-30 19:41:32 +09:00
Yukihiro "Matz" Matsumoto
cc32cc50f8
Merge pull request #4253 from shuujii/remove-unused-macro-in-string
...
Remove unused macro in `src/string.c`
2019-01-29 23:10:27 +09:00
KOBAYASHI Shuji
486154ce34
Remove unused macro in src/string.c
2019-01-29 20:21:25 +09:00
Yukihiro "Matz" Matsumoto
c02c4047f8
Merge pull request #4252 from shuujii/class-expr-with-empty-body-should-return-nil
...
`class`/`module` expression with empty body should return `nil`
2019-01-28 23:14:22 +09:00
KOBAYASHI Shuji
abbc501433
class/module expression with empty body should return nil
...
Before:
p(class A end) #=> A
p(class << self; end) #=> #<Class:#<Object:0x7fdc3880e420>>
p(module B end) #=> B
After/Ruby:
p(class A end) #=> nil
p(class << self; end) #=> nil
p(module B end) #=> nil
2019-01-28 21:29:55 +09:00
KOBAYASHI Shuji
12ba571a13
Use assertion methods in FileTest tests
2019-01-28 12:17:41 +09:00
KOBAYASHI Shuji
e85cb9799c
Remove no meaning statements in mruby-io tests
2019-01-27 20:35:41 +09:00
Yukihiro "Matz" Matsumoto
1b597f9da4
Merge pull request #4249 from takkaw/fix_time_carry_up_and_down
...
fix Time about carry-up and carry-down
2019-01-27 11:41:31 +09:00
takkaw
995a329bf4
fix Time about carry-up and carry-down
2019-01-26 23:19:53 +09:00
Yukihiro "Matz" Matsumoto
8a988643e8
Merge pull request #4241 from shuujii/fix-tests-for-string-reverse-with-mrb-utf8-string
...
Fix tests for `String#reverse` with `MRB_UTF8_STRING`
2019-01-26 22:34:05 +09:00
Yukihiro "Matz" Matsumoto
a03e721408
Merge pull request #4237 from dearblue/fix-memleak-Data_Wrap_Struct
...
Fix memory leak `sval` when out of memory in `Data_Wrap_Struct()`
2019-01-26 22:33:23 +09:00
Yukihiro "Matz" Matsumoto
2f62178dda
Merge pull request #4235 from shuujii/avoid-side-effect-when-run-rake
...
Avoid a side effect when run Rake without execution of tasks
2019-01-26 22:19:00 +09:00
Yukihiro "Matz" Matsumoto
1e67c98c85
Merge pull request #4248 from shuujii/refine-error-message-for-time-interval
...
Refine error message for time interval
2019-01-26 22:17:31 +09:00
KOBAYASHI Shuji
1cd57006f3
Refine error message for time interval
...
Time interval value can be zero, and float (in `Kernel#sleep`)
2019-01-26 18:37:53 +09:00
Yukihiro "Matz" Matsumoto
aee67eaf62
Merge pull request #4240 from shuujii/refactor-sleep-test
...
Use `assert_raise` and `assert_nothing_raised` in `mruby-sleep` tests
2019-01-25 22:47:56 +09:00
Yukihiro "Matz" Matsumoto
fc5dc5270c
Merge pull request #4245 from shuujii/remove-assert_nothing_raised-in-io-test
...
Remove definition of `assert_nothing_raised` in `IO` test
2019-01-25 22:47:15 +09:00
Yukihiro "Matz" Matsumoto
a2615900c0
Merge pull request #4246 from shuujii/use-assertion-methods-in-file-test
...
Use assertion methods in `File` test
2019-01-25 22:46:12 +09:00
Yukihiro "Matz" Matsumoto
89a76f4a49
Merge pull request #4247 from shuujii/remove-unused-file-for-mruby-io-test
...
Remove unused file for `mruby-io` test
2019-01-25 22:45:08 +09:00
KOBAYASHI Shuji
b91a17b33b
Remove unused file for mruby-io test
2019-01-25 20:35:55 +09:00
KOBAYASHI Shuji
e9a6ec05b6
Use assertion methods in File test
2019-01-25 20:12:24 +09:00
KOBAYASHI Shuji
bdbbac999f
Remove definition of assert_nothing_raised in IO test
2019-01-25 20:02:45 +09:00
Yukihiro "Matz" Matsumoto
671447964f
Merge pull request #4243 from shuujii/remove-definition-of-sprintf-in-mruby-print
...
Remove definition of `Kernel#sprintf` in `mruby-print`
2019-01-25 08:15:27 +09:00
Yukihiro "Matz" Matsumoto
8eddcbf53d
Merge pull request #4244 from shuujii/remove-redundant-null-check-for-mrb_malloc
...
Remove redundant `NULL` check for `mrb_malloc`
2019-01-24 22:20:56 +09:00
KOBAYASHI Shuji
a4c5fcc038
Remove redundant NULL check for mrb_malloc
2019-01-24 20:53:40 +09:00
KOBAYASHI Shuji
1d6679e9d1
Remove definition of Kernel#sprintf in mruby-print
2019-01-24 20:44:55 +09:00
Yukihiro "Matz" Matsumoto
5956f5b4e8
Merge pull request #4242 from shuujii/remove-no-meaning-statement
...
[ci skip] Remove no meaning statement in `bm_app_lc_fizzbuzz.rb`
2019-01-23 21:50:09 +09:00
KOBAYASHI Shuji
f54262776e
[ci skip] Remove no meaning statement in bm_app_lc_fizzbuzz.rb
2019-01-23 21:19:39 +09:00
KOBAYASHI Shuji
6d5a62cf5f
Fix tests for String#reverse with MRB_UTF8_STRING
2019-01-22 19:37:14 +09:00
KOBAYASHI Shuji
3707ef3d1c
Use assert_raise and assert_nothing_raised in mruby-sleep tests
2019-01-21 19:37:20 +09:00
KOBAYASHI Shuji
8c22911c86
Rename mruby-bin-mruby-config mrbgem to mruby-bin-config
...
For brevity and consistency (e.g. `mruby-bin-strip` doesn't have `mruby-`
after `bin-`).
2019-01-20 19:47:58 +09:00
dearblue
d6d02774c5
Fix memory leak sval when out of memory in Data_Wrap_Struct()
2019-01-20 14:23:22 +09:00
Yukihiro "Matz" Matsumoto
b83e4df43d
Merge pull request #4236 from shuujii/remove-gitkeep
...
Remove `.gitkeep` files
2019-01-20 10:30:12 +09:00
KOBAYASHI Shuji
dff0f2ee10
Remove .gitkeep files
2019-01-19 20:40:21 +09:00
KOBAYASHI Shuji
107dc0c778
Avoid a side effect when run Rake without execution of tasks
...
Avoid directory creation when run `rake -T` etc.
2019-01-18 23:29:35 +09:00
Yukihiro "Matz" Matsumoto
cb1946f26c
Merge pull request #4233 from shuujii/remove-special-treatments-for-without-float-in-build-scripts
...
Remove special treatments for `MRB_WITHOUT_FLOAT` in build scripts
2019-01-18 16:17:58 +09:00
Yukihiro "Matz" Matsumoto
3d32be6f3e
Merge pull request #4231 from shuujii/avoid-runtime-eval-for-without-float
...
Avoid runtime evaluation for `MRB_WITHOUT_FLOAT`
2019-01-18 16:16:48 +09:00
Yukihiro "Matz" Matsumoto
9a2366ded6
Merge pull request #4234 from shuujii/fix-assertion-name-for-numeric-test
...
Fix assertion name for `Numeric#**` test
2019-01-18 16:16:19 +09:00
KOBAYASHI Shuji
cfe3654fd1
Fix assertion name for Numeric#** test
2019-01-17 21:16:02 +09:00
KOBAYASHI Shuji
366a14f297
Remove special treatments for MRB_WITHOUT_FLOAT in build scripts
2019-01-16 23:48:59 +09:00
KOBAYASHI Shuji
8969edf03b
Avoid runtime evaluation for MRB_WITHOUT_FLOAT
2019-01-16 19:32:29 +09:00
Yukihiro "Matz" Matsumoto
fa34a8b5be
Merge pull request #4230 from shuujii/fix-coercing-for-step-counter-in-numeric-step
...
Fix coercing for first step counter in `Numeric#step`
2019-01-15 22:27:40 +09:00
KOBAYASHI Shuji
de5da4b7f6
Fix coercing for first step counter in Numeric#step
...
Before:
a=[]; 7.step(4, -3.0) { |c| a << c }; p a #=> [7, 4.0]
After / Ruby:
a=[]; 7.step(4, -3.0) { |c| a << c }; p a #=> [7.0, 4.0]
2019-01-15 21:41:54 +09:00
Yukihiro "Matz" Matsumoto
348442dd5e
Merge pull request #4228 from shuujii/sort-gitignore
...
[ci skip] Sort `.gitignore`
2019-01-15 20:09:00 +09:00
KOBAYASHI Shuji
adfc2d08c9
[ci skip] Sort .gitignore
2019-01-15 19:30:15 +09:00
Yukihiro "Matz" Matsumoto
127d355bf8
Merge pull request #4226 from dearblue/fix-build-cxx-exc
...
Build fails when set `conf.build_dir=<rel path>` and `conf.enable_cxx_exception`
2019-01-15 11:00:05 +09:00
Yukihiro "Matz" Matsumoto
4797542b71
Merge pull request #4227 from shuujii/ignore-compiler-tmp-files
...
Ignore compiler temporary files (for `-save-temps` flag)
2019-01-15 10:57:44 +09:00
KOBAYASHI Shuji
bb52efd0fc
Ignore compiler temporary files (for -save-temps flag)
2019-01-14 21:45:57 +09:00
Yukihiro "Matz" Matsumoto
17333bde3a
Merge pull request #4222 from shuujii/use-g-instead-of-e
...
Use `%g` instead of `%e` for float representation in dump format
2019-01-14 19:13:48 +09:00
Yukihiro "Matz" Matsumoto
348526e1ad
Merge pull request #4225 from shuujii/improve-compatibility-to-cruby-for-float-to_s
...
Improve compatibility to CRuby for `Float#to_s`
2019-01-14 19:13:09 +09:00
dearblue
a7c2ef9dab
Fix build failed when set conf.build_dir=<rel path> and conf.enable_cxx_exception
2019-01-14 15:21:21 +09:00
KOBAYASHI Shuji
0e04c46261
Use 2 digits exponent format for printf family on old MSVC
...
For conforming C standard.
2019-01-13 23:24:57 +09:00
KOBAYASHI Shuji
9f081183d2
Improve compatibility to CRuby for Float#to_s
...
Bfore:
Float::INFINITY.to_s #=> "inf"
50.0.to_s #=> "50"
1e20.to_s #=> "1e+20"
After / CRuby:
Float::INFINITY.to_s #=> "Infinity"
50.0.to_s #=> "50.0"
1e20.to_s #=> "1.0e+20"
2019-01-13 19:59:22 +09:00
Yukihiro "Matz" Matsumoto
c1b92f88a2
Merge pull request #4224 from shuujii/use-__send__-instead-of-send
...
Use `__send__` instead of `send`; ref #4207
2019-01-13 08:03:14 +09:00
KOBAYASHI Shuji
8b951710fe
Use __send__ instead of send; ref #4207
2019-01-12 22:21:34 +09:00
KOBAYASHI Shuji
2d8aec2b88
Use %g instead of %e for float representation in dump format
...
`%g` use shorter representation than `%e`.
2019-01-11 19:54:46 +09:00
Yukihiro "Matz" Matsumoto
980b7b5c50
Merge pull request #4221 from shuujii/remove-duplicate-code-in-numeric
...
Remove duplicate code in numeric.c
2019-01-11 08:47:02 +09:00
KOBAYASHI Shuji
856b8d9610
Remove duplicate code in numeric.c
2019-01-10 23:22:23 +09:00
Yukihiro "Matz" Matsumoto
8dcd66cc27
Merge pull request #4220 from shuujii/change-order-for-assertion-args
...
Change the order of "expected" and "actual" in test
2019-01-10 09:19:17 +09:00
KOBAYASHI Shuji
0740595f85
Change the order of "expected" and "actual" in test
2019-01-09 20:00:17 +09:00
Yukihiro "Matz" Matsumoto
d88d7aaf4b
Use $mrbtest_io_wfname for chmod test.
2019-01-09 13:04:23 +09:00
Yukihiro "Matz" Matsumoto
81862fd689
Update compiled binary format version; ref #4219
2019-01-08 21:44:40 +09:00
Yukihiro "Matz" Matsumoto
d38a8e8807
Update OP_APOST description (typo fixed).
2019-01-08 21:43:04 +09:00
Yukihiro "Matz" Matsumoto
712a8bb1b2
Merge pull request #4219 from shuujii/fix-dump-load-float-literal-evaluate-to-infinity
...
Fix dump/load float leteral evaluate to infinity
2019-01-08 21:42:50 +09:00
Yukihiro "Matz" Matsumoto
b575d0c45e
Merge pull request #4218 from take-cheeze/export_time_api
...
Add `Time` object creation API
2019-01-08 21:35:51 +09:00
KOBAYASHI Shuji
68735d1261
Fix dump/load float leteral evaluate to infinity
...
Example:
# example.rb
p(2e308)
p(-2e308)
Good:
$ bin/mruby example.rb
inf
-inf
Bad:
$ bin/mrbc example.rb
$ bin/mruby -b example.mrb
0
-0
Cause:
Float infinity representation is `inf` on dump and it is converted by
corresponding `String#to_f` on load.
Treatment:
- Introduce new representations (`i`: +infinity, `I`: -infinity)
- Allow old representations (`inf`, `-inf`, `infinity`, `-infinity`) too
- Raise error for unknown representations (use corresponding `Kernel#Float`)
2019-01-08 20:43:23 +09:00
take-cheeze
3e7a3a0a15
Export Time creation API
2019-01-08 20:26:39 +09:00
Yukihiro "Matz" Matsumoto
817436c33b
Merge pull request #4217 from shuujii/fix-0.0-handling
...
Fix `0.0` and `-0.0` handling.
2019-01-07 18:16:27 +09:00
KOBAYASHI Shuji
c8f904b7f5
Fix 0.0 and -0.0 handling.
...
Fix the following issue:
Good:
$ bin/mruby -e 'p(-0.0)' #=> "-0"
Bad:
$ bin/mruby -e 'a=0.0; p(-0.0)' #=> "0"
2019-01-06 23:05:13 +09:00
Yukihiro "Matz" Matsumoto
89c79e56c5
Merge pull request #4216 from shuujii/add-assert_same
...
Add `assert_same` and `assert_not_same`
2019-01-06 20:59:22 +09:00
KOBAYASHI Shuji
6f395a58d2
Add assert_same and assert_not_same
2019-01-05 20:41:09 +09:00
Yukihiro "Matz" Matsumoto
d45a6d8363
Merge pull request #4215 from shuujii/integrate-float.rb-into-numeric.c
...
Integrate mrblib/float.rb into src/numeric.c
2019-01-04 20:49:42 +09:00
KOBAYASHI Shuji
b30ca87bd0
Integrate mrblib/float.rb into src/numeric.c
...
- Avoid hack for `MRB_WITHOUT_FLOAT` in build scripts
- Avoid runtime dispatch for `MRB_WITHOUT_FLOAT`
2019-01-04 20:31:05 +09:00
Yukihiro "Matz" Matsumoto
1c574b065d
Remove mrb_ prefix from static functions in mruby-range-ext; #4213
2019-01-04 14:46:17 +09:00
Yukihiro "Matz" Matsumoto
53d87c59c0
Remove unused local variable n in range_initialize; #4213
2019-01-04 14:42:47 +09:00
Yukihiro "Matz" Matsumoto
1e7d6890a5
Merge pull request #4210 from dearblue/enum-chain
...
Add enumerator chain feature (CRuby-2.6 compatible)
2019-01-04 14:39:20 +09:00
Yukihiro "Matz" Matsumoto
1bf6c84682
Merge pull request #4213 from shuujii/range-rafactor
...
range: Refactor range.h/range.c
2019-01-04 14:39:04 +09:00
Yukihiro "Matz" Matsumoto
2a9ccf2449
Merge pull request #4211 from dearblue/proc-composition
...
Add proc composition feature (CRuby-2.6 compatible)
2019-01-04 14:32:19 +09:00
Yukihiro "Matz" Matsumoto
acb1fdc79f
Merge pull request #4212 from shuujii/pack-remove-float-check
...
pack: Remove redundant float check in pack_utf8()
2019-01-04 14:27:58 +09:00
KOBAYASHI Shuji
eb216fc858
range: Refactor range.h/range.c
...
Functions order, name, linkage and so on.
2019-01-03 20:09:41 +09:00
KOBAYASHI Shuji
668d632c6e
pack: Remove redundant float check in pack_utf8()
...
The argument is converted to fixnum before calling.
2019-01-03 19:11:30 +09:00
dearblue
f392337e10
Add test for Enumerator::Chain
2019-01-03 18:16:26 +09:00
dearblue
fc20d0186d
Add test for #<< and #>> for Proc and Method class
2019-01-03 18:16:26 +09:00
dearblue
a98359faa7
Add enumerator chain feature (CRuby-2.6 compatible)
...
- Enumerator::Chain
- Enumerable#chain
- Enumerable#+
2019-01-03 18:16:26 +09:00
dearblue
9a9e12a129
Add proc composition feature (CRuby-2.6 compatible)
...
- Proc#<< and Proc#>>
- Method#<< and Method#>>
2019-01-03 18:16:26 +09:00
Yukihiro "Matz" Matsumoto
cca19532c5
Remove Kernel#class_defined? which is not available in CRuby; #3829
2019-01-03 11:34:35 +09:00
Yukihiro "Matz" Matsumoto
f9d89e3fa5
mruby-inline-struct to support MRB_WITHOUT_FLOAT.
2019-01-03 11:29:10 +09:00
Yukihiro "Matz" Matsumoto
3e59f25eef
Merge pull request #4208 from shuujii/io-skip-tty-test
...
io: Skip TTY test for environments that TTY device is unavailable.
2019-01-02 11:41:57 +09:00
Yukihiro "Matz" Matsumoto
4ffc280372
Merge pull request #4209 from shuujii/range-embed-edges-in-rrange
...
range: Embed edges in RRange on boxing environment.
2019-01-02 11:40:32 +09:00
KOBAYASHI Shuji
ff0ab552d0
io: Skip TTY test for environments that TTY device is unavailable.
...
e.g. GitLab CI
2019-01-01 19:25:12 +09:00
KOBAYASHI Shuji
648b57620a
range: Embed edges in RRange on boxing environment.
...
[Breaking changes]
Developers must use following APIs for accessing attributes of RRange
because RRange structure depends on boxing setting.
- mrb_range_beg
- mrb_range_end
- mrb_range_excl_p
2019-01-01 15:35:56 +09:00
Yukihiro "Matz" Matsumoto
c6f9a09e39
Merge pull request #4207 from shuujii/use-__send__-instead-of-send
...
Use `__send__` instead of `send` in a Range test.
2019-01-01 11:24:54 +09:00
KOBAYASHI Shuji
4da687a6c3
Use __send__ instead of send in a Range test.
...
This assertion is accidentaly passed because `send` was removed from mruby
core so `NoMethodError` is raised and `NoMethodError` is subclass of
`NameError`.
2019-01-01 09:38:58 +09:00
Yukihiro "Matz" Matsumoto
b04506cdcc
Should not check non-node value to void_expr_error; fix #4203
...
This is also a reason for #4192 as well.
2018-12-31 12:52:27 +09:00
Yukihiro "Matz" Matsumoto
23ca1dcb4e
Merge pull request #4206 from shuujii/enumerator-refine-accessor
...
mruby-enumerator: Refine accessors (obj/meth/args/fib).
2018-12-31 11:22:11 +09:00
Yukihiro "Matz" Matsumoto
a5ad768cac
Merge pull request #4204 from shuujii/fix-yacc-running-multiple-times
...
Fix Yacc running multiple times.
2018-12-31 11:21:11 +09:00
KOBAYASHI Shuji
bc03650c6a
mruby-enumerator: Refine accessors (obj/meth/args/fib).
...
- `fib=` writer is not used.
- All accessors are used as public (e.g. in `initialized_copy`).
2018-12-30 11:30:14 +09:00
KOBAYASHI Shuji
482b2ea01e
Use each_with_object instead of reduce.
...
For fix Codacy issue.
2018-12-30 11:16:00 +09:00
KOBAYASHI Shuji
ce5e45443e
Fix Yacc running multiple times.
...
Example:
$ MRUBY_CONFIG=<(echo 'MRuby::Build.new{toolchain(:gcc);gem(core:"mruby-bin-mruby");enable_test}') ./minirake
Before:
...
CC build/host/mrbgems/gem_init.c -> build/host/mrbgems/gem_init.o
YACC mrbgems/mruby-compiler/core/parse.y -> build/host/mrbgems/mruby-compiler/core/y.tab.c
YACC mrbgems/mruby-compiler/core/parse.y -> build/host/mrbgems/mruby-compiler/core/y.tab.c
YACC mrbgems/mruby-compiler/core/parse.y -> build/host/mrbgems/mruby-compiler/core/y.tab.c
YACC mrbgems/mruby-compiler/core/parse.y -> build/host/mrbgems/mruby-compiler/core/y.tab.c
CC build/host/mrbgems/mruby-compiler/core/y.tab.c -> build/host/mrbgems/mruby-compiler/core/y.tab.o
CC build/host/mrbgems/mruby-compiler/core/y.tab.c -> build/host/mrbgems/mruby-compiler/core/y.tab.o
CC build/host/mrbgems/mruby-compiler/core/y.tab.c -> build/host/mrbgems/mruby-compiler/core/y.tab.o
CC build/host/mrbgems/mruby-compiler/core/y.tab.c -> build/host/mrbgems/mruby-compiler/core/y.tab.o
AR build/host/lib/libmruby_core.a
...
After:
...
CC build/host/mrbgems/gem_init.c -> build/host/mrbgems/gem_init.o
YACC mrbgems/mruby-compiler/core/parse.y -> build/host/mrbgems/mruby-compiler/core/y.tab.c
CC build/host/mrbgems/mruby-compiler/core/y.tab.c -> build/host/mrbgems/mruby-compiler/core/y.tab.o
AR build/host/lib/libmruby_core.a
...
2018-12-29 10:40:06 +09:00
Yukihiro "Matz" Matsumoto
37d795dec7
Revert "Simplify full-core.gembox"
...
This reverts commit e20d652f22 .
This change cannot handle hidden dependency between `mruby-print` and
`mruby-sprintf`; ref #4202
2018-12-25 23:17:10 +09:00
Yukihiro "Matz" Matsumoto
f2b48875a4
Merge pull request #4201 from take-cheeze/patch-2
...
Fix `$rake_root_fiber` checking
2018-12-25 18:44:15 +09:00
Yukihiro "Matz" Matsumoto
2216fb2895
Merge pull request #4202 from shuujii/simplify-full-core-gembox
...
Simplify full-core.gembox
2018-12-25 18:43:45 +09:00
KOBAYASHI Shuji
e20d652f22
Simplify full-core.gembox
...
Dependencies order is auto detected.
2018-12-25 15:23:05 +09:00
Takeshi Watanabe
5b5e54d38e
Fix $rake_root_fiber checking.
...
https://github.com/mruby/mruby/pull/4101#pullrequestreview-187752352
2018-12-25 14:37:32 +09:00
Yukihiro "Matz" Matsumoto
45e8cb47ea
Merge pull request #4200 from shuujii/add-test-dependency-for-mruby
...
mruby-bin-mruby: Add test dependency.
2018-12-25 09:55:32 +09:00
KOBAYASHI Shuji
1f91482585
mruby-bin-mruby: Add test dependency.
...
`Kernel#p` etc are used.
2018-12-25 09:47:28 +09:00
Yukihiro "Matz" Matsumoto
ecd2bcc9ae
Merge pull request #4199 from shuujii/refine-desc-for-rake-test
...
Refine description for rake test tasks.
2018-12-24 16:02:57 +09:00
KOBAYASHI Shuji
96bea076ec
Refine description for rake test tasks.
...
Before:
$ rake -T test
rake test_test # run all mruby tests
After:
$ rake -T test
rake test # run all mruby tests
2018-12-24 12:12:10 +09:00
Yukihiro "Matz" Matsumoto
c34aa8a63e
Merge pull request #4197 from shuujii/suppress-struct-initializer-warn
...
Suppress a struct initializer warning
2018-12-23 22:26:55 +09:00
Yukihiro "Matz" Matsumoto
2fbea74de5
Merge pull request #4198 from dearblue/missing-macros
...
Suppress missing macro warns
2018-12-23 22:18:07 +09:00
dearblue
0bfeefad2a
Suppress _MSC_VER warns for mingw32
2018-12-23 17:36:06 +09:00
dearblue
027f4ded34
Suppress TARGET_OS_IPHONE warns
2018-12-23 17:24:16 +09:00
dearblue
be980e9a7a
Suppress __FreeBSD_version warns for FreeBSD
2018-12-23 17:23:51 +09:00
dearblue
49cce74c1a
Suppress __STDC_VERSION__ warns for C++
2018-12-23 17:22:59 +09:00
KOBAYASHI Shuji
b0dc163b5d
Suppress a struct initializer warning
...
Suppress a compiler (clang) warning bellow:
src/vm.c:104:38: warning: suggest braces around initialization of
subobject [-Wmissing-braces]
const mrb_value mrb_value_zero = { 0 };
^
{}
2018-12-23 14:23:44 +09:00
Yukihiro "Matz" Matsumoto
f6c07b8835
Merge pull request #4196 from dearblue/add-Wundef-cflags
...
Append cflags for undefined macro
2018-12-22 22:49:14 +09:00
Yukihiro "Matz" Matsumoto
a154d657ae
Merge pull request #4194 from shuujii/mirb-drop-dependency-on-mruby-print
...
mirb: drop dependency on mruby-print in a test
2018-12-22 22:47:27 +09:00
Yukihiro "Matz" Matsumoto
30dae4742b
Merge pull request #4195 from dearblue/fix-byteorder
...
Fix byte order
2018-12-22 22:47:03 +09:00
dearblue
129a804136
Append cflags for undefined macro
2018-12-22 21:58:58 +09:00
dearblue
b7a832bf4f
Define byte order macros, if not defined it and there are alternatives
2018-12-22 21:05:27 +09:00
dearblue
e9ceb865b6
Fix MRB_ENDIAN_BIG is always defined, if byte order macro is not defined
2018-12-22 20:37:51 +09:00
KOBAYASHI Shuji
6578fec779
mirb: drop dependency on mruby-print in a test
2018-12-22 17:26:11 +09:00
Yukihiro "Matz" Matsumoto
281d0ff4ea
Merge pull request #4193 from dearblue/fix-assert-variable
...
Fix undefined variable is using
2018-12-22 13:31:06 +09:00
dearblue
9377da9775
Fix undefined variable is using
2018-12-21 23:44:38 +09:00
Yukihiro "Matz" Matsumoto
aeafce23e4
Merge branch 'cubicdaiya-feature/optimize_proc_parameters'
2018-12-21 13:00:27 +09:00
Tatsuhiko Kubo
d2fb4752e2
Add test for Proc#parameters
2018-12-21 12:59:38 +09:00
Tatsuhiko Kubo
cc71bd51f1
optimize Proc#parameters
2018-12-21 12:59:38 +09:00
Yukihiro "Matz" Matsumoto
94b73b1440
Add NULL pointer check before void_expr_error(); fix #4192
2018-12-21 09:35:10 +09:00
Yukihiro "Matz" Matsumoto
ed2bc5d4ed
Simplify MRB_ENDIAN_BIG macro definition; ref #4190
...
`cpp` does not raise error on undefined macro access in condition.
2018-12-21 09:28:19 +09:00
Yukihiro "Matz" Matsumoto
445c64d0ad
Fixed a bug on platforms without BYTE_ORDER; ref #4190
2018-12-21 09:26:48 +09:00
Yukihiro "Matz" Matsumoto
f5537912ab
Define MRB_ENDIAN_BIG automatically; ref #4190
...
You had to define this macro on big endian platforms, but it is very
error-prone. So define the macro automatically if possible.
2018-12-21 08:57:17 +09:00
Yukihiro "Matz" Matsumoto
2fdb309e55
mruby-pack should not rely on MRB_ENDIAN_BIG macro; fix #4190
...
The `MRB_ENDIAN_BIG` macro is originally used for `NaN` boxing.
We cannot assume it is defined on every big endian platform (#4190
is the case). So instead of relying on untrusted `MRB_ENDIAN_BIG`, we
use `BYTE_ORDER` macro with a fallback function to check endian in
runtime.
2018-12-21 08:52:31 +09:00
Yukihiro "Matz" Matsumoto
7e35c659aa
Remove things we've done in TODO file.
2018-12-21 00:47:56 +09:00
Yukihiro "Matz" Matsumoto
e588e9df23
Merge pull request #4191 from dearblue/parenthesis
...
Fix parenthesis for macros
2018-12-19 20:40:34 +09:00
Yukihiro "Matz" Matsumoto
624b126fb6
Added Android Hack to time.c.
...
Android bionic defines `TIME_UTC` but does not provide `timespec_get`.
2018-12-19 13:12:30 +09:00
dearblue
e19353be25
Fix macro expressions with paren
2018-12-18 23:14:26 +09:00
dearblue
14133f4057
Fix macro arguments with paren
2018-12-18 23:05:36 +09:00
Yukihiro "Matz" Matsumoto
11071b9ab1
Merge pull request #4189 from sdottaka/fix-mrb_ary_clear
...
Make mrb_ary_clear() function callable from C again
2018-12-17 16:29:00 +09:00
Yukihiro "Matz" Matsumoto
ccc5edc60d
Small refactoring of #4188
2018-12-17 16:00:22 +09:00
Yukihiro "Matz" Matsumoto
e65d42644a
Remove #include <mruby/khash.h> from mruby/hash.h.
2018-12-17 15:59:42 +09:00
Yukihiro "Matz" Matsumoto
e690314525
Recover #to_int; ref #4177
...
We have removed implicit conversion to strings using `to_int`. But some
users still using `to_int` as a typical integer method, i.e. they do
string check by code like: `obj.respond_to?(:to_int)`. So we have
recovered the method.
2018-12-17 15:59:42 +09:00
Yukihiro "Matz" Matsumoto
c03fa0e1b3
Recover String#to_str; ref #4177
...
We have removed implicit conversion to strings using `to_str`. But some
people still using `to_str` as a typical string method, i.e. they do
string check by code like: `obj.respond_to?(:to_str)`. So we have
recovered the method.
2018-12-17 15:59:42 +09:00
Yukihiro "Matz" Matsumoto
ea71f1165b
Merge pull request #4188 from dearblue/mrb_hash_size
...
Add `mrb_hash_size()` function
2018-12-17 15:59:31 +09:00
Takashi Sawanaka
d8c70167f7
Make mrb_ary_clear() function callable from C again
2018-12-15 05:17:38 +09:00
dearblue
62dd4d89fc
Add mrb_hash_size() function.
2018-12-14 21:41:07 +09:00
Yukihiro "Matz" Matsumoto
ec812c646f
Merge pull request #4185 from icm7216/fix-sleep-example
...
Fix sleep example
2018-12-12 13:48:58 +09:00
icm7216
59651f43ad
Specify the core library instead of the external library.
2018-12-12 00:54:15 +09:00
icm7216
74c5402211
Sleep module is undefined. Remove module name.
2018-12-12 00:52:07 +09:00
Yukihiro "Matz" Matsumoto
730b925332
Merge pull request #4184 from mruby/stable
...
Release mruby 2.0.0
2018-12-11 11:52:33 +09:00
Yukihiro "Matz" Matsumoto
60da293d5c
Avoid using floating point number for HT_SEG_INCREASE_RATIO; ref #4182
2018-12-11 10:54:47 +09:00
Hiroshi Mimaki
1c09046c13
Update release date.
2018-12-11 10:52:20 +09:00
Yukihiro "Matz" Matsumoto
265171a28c
Rename ht_foreach_func to mrb_hash_foreach_func.
2018-12-11 10:41:26 +09:00
Yukihiro "Matz" Matsumoto
e935d20ab5
Add mrb_ prefix to iv_foreach_func.
2018-12-11 10:39:53 +09:00
Yukihiro "Matz" Matsumoto
a0df27d8e0
Add new API mrb_iv_foreach() to iterate over instance variables.
2018-12-11 09:48:15 +09:00
Yukihiro "Matz" Matsumoto
f6b2e6231a
Update iv_foreach() function.
...
* return `void` instead of `mrb_bool'.
* non zero return value from `func` breaks the loop.
* no longer remove items on negative return value from `func`.
2018-12-11 09:47:06 +09:00
Hiroshi Mimaki
716e7b815f
Fixed missing comma in mruby/mirb usage.
2018-12-11 09:37:23 +09:00
Yukihiro "Matz" Matsumoto
378c728338
Update comments.
2018-12-11 09:04:08 +09:00
Yukihiro "Matz" Matsumoto
c0d91a14e7
Add API function mrb_hash_foreach() to iterate over items in a hash.
2018-12-11 09:01:05 +09:00
Yukihiro "Matz" Matsumoto
c23e68d32b
Need to clear stack before invoking a block; fix #4181
2018-12-10 10:23:01 +09:00
Yukihiro "Matz" Matsumoto
e6bad6766a
Add new methods Module#{>,>=,<=>}; ref #4174
2018-12-04 08:41:09 +09:00
Yukihiro "Matz" Matsumoto
d5d9cc8b62
Remove unnecessary check in Module#<; ref #4174
2018-12-04 08:40:23 +09:00
Yukihiro "Matz" Matsumoto
6ef4a5fd6b
Replace RDoc <i></i> to Markdown back quotes; ref #4174
2018-12-04 08:39:44 +09:00
Yukihiro "Matz" Matsumoto
20c655dc45
Merge pull request #4174 from robfors/module_operators
...
Adds Module#< and Module#<=
2018-12-04 08:09:18 +09:00
Rob
e300ac8e3a
Adds Module#< and Module#<=
2018-12-02 20:56:47 -05:00
Hiroshi Mimaki
e3ae0e4f29
Merge branch 'master' into stable
2018-11-27 09:09:20 +09:00
Yukihiro "Matz" Matsumoto
26475d0a78
Update doc/limitations.md for argument destructuring.
2018-11-25 18:03:27 +09:00
Yukihiro "Matz" Matsumoto
762f682b80
Allow destructuring in formal arguments.
...
e.g.
```
def m(a,(b,c),d); p [a,b,c,d]; end
m(1,[2,3],4) # => [1,2,3,4]
```
mruby limitation:
Destructured arguments (`b` and `c` in above example) cannot be accessed
from the default expression of optional arguments and keyword arguments,
since actual assignment is done after the evaluation of those default
expressions. Thus:
```
def f(a,(b,c),d=b)
p [a,b,c,d]
end
f(1,[2,3])
```
raises `NoMethodError` for `b` in mruby.
2018-11-25 09:07:49 +09:00
Yukihiro "Matz" Matsumoto
e6b72b2121
Remove redundant rules from parse.y.
2018-11-25 07:30:32 +09:00
Yukihiro "Matz" Matsumoto
7ed9bb3bd3
Fix wrong number of arguments in Array#fetch; fix #4170
2018-11-25 06:05:07 +09:00
Yukihiro "Matz" Matsumoto
e2e6554b56
Protect from exceptions raised outside of mrb_vm_run().
...
It can happen if signals are used (e.g. from `mruby-alarm` gem).
2018-11-25 06:05:07 +09:00
Yukihiro "Matz" Matsumoto
91bf55bbe5
Remove do { ... } while(0) hacks from MRB_TRY macros.
...
Because it can swallow `break` etc. if they are used in loops.
2018-11-25 06:05:07 +09:00
Hiroshi Mimaki
0711c861ca
Fix mruby-socket test failure on MinGW.
2018-11-22 09:49:00 +09:00
Yukihiro "Matz" Matsumoto
b158f26f0c
Merge pull request #4168 from robfors/doc
...
Add documentation to mrb_load_irep
2018-11-21 12:16:07 +09:00
Rob Fors
c9a66d4c41
Update documentation to mrb_load_irep
2018-11-20 21:27:03 -05:00
Yukihiro "Matz" Matsumoto
68c5384830
Update version number; fix #4165
2018-11-20 10:43:34 +09:00
Yukihiro "Matz" Matsumoto
ec19c34a20
Fixed a bug in mirb heredoc handling; fix #3989
2018-11-20 10:39:34 +09:00
Yukihiro "Matz" Matsumoto
f1eeaad84a
Stop special treating of \r in the lexer; fix #4132
2018-11-20 09:35:38 +09:00
Yukihiro "Matz" Matsumoto
86d102350b
Restrict total recursion number of ecall(); fix #3789
2018-11-20 09:14:34 +09:00
Yukihiro "Matz" Matsumoto
afd46eccd1
Add -fpermissive to C++ compiler flags.
2018-11-19 17:11:59 +09:00
Yukihiro "Matz" Matsumoto
65a2c2082d
Call mrb_str_to_str from mrb_string_value_ptr for compatibility.
2018-11-19 17:11:19 +09:00
Yukihiro "Matz" Matsumoto
53e2df3e93
Restore mrb_string_type function for compatibility.
2018-11-19 16:13:26 +09:00
Yukihiro "Matz" Matsumoto
c308a149f0
Add Hash type check for OP_KARG and OP_KEY_P; ref #4166
2018-11-19 15:35:59 +09:00
Yukihiro "Matz" Matsumoto
423f872c84
Need to keep rooms for empty splat; fix #4166
2018-11-19 15:26:19 +09:00
Yukihiro "Matz" Matsumoto
87ffab5713
Adjust codedump output format; ref #4166
2018-11-19 15:25:42 +09:00
Yukihiro "Matz" Matsumoto
9516731329
Use type checking mrb_to_str instead of converting mrb_str_to_str.
2018-11-19 12:08:28 +09:00
Yukihiro "Matz" Matsumoto
c022e4643f
Avoid assignments from type checking String#__to_str.
2018-11-19 12:08:28 +09:00
Yukihiro "Matz" Matsumoto
610bcc88c2
Removed to_hash conversion method.
2018-11-19 12:08:28 +09:00
Yukihiro "Matz" Matsumoto
698f5f707c
Removed to_ary conversion method.
2018-11-19 12:08:28 +09:00
Yukihiro "Matz" Matsumoto
5bbcea9b3b
Removed try_convert method from Array and Hash.
2018-11-19 12:08:28 +09:00
Yukihiro "Matz" Matsumoto
b5d43a16a3
Removed String#try_convert method from mruby-string-ext gem.
...
Because `try_convert` method rarely used in production. For mruby users,
we have `__to_str` utility method to check string type.
2018-11-19 12:08:28 +09:00
Yukihiro "Matz" Matsumoto
ff08856fe3
Remove implicit conversion using to_str method; fix #3854
...
We have added internal convenience method `__to_str` which
does string type check.
The issue #3854 was fixed but fundamental flaw of lack of stack
depth check along with fibers still remains. Use `MRB_GC_FIXED_ARENA`
for workaround.
2018-11-19 12:05:46 +09:00
Yukihiro "Matz" Matsumoto
afca99a40b
Remove implicit conversion using to_int method.
...
The ISO standard does not include implicit type conversion using
`to_int`. This implicit conversion often causes vulnerability.
There will be no more attacks like #4120 .
In addition, we have added internal convenience method `__to_int` which
does type check and conversion (from floats).
2018-11-19 11:28:51 +09:00
Yukihiro "Matz" Matsumoto
426c1f9e0b
fix non-ASCII comment.
2018-11-19 11:28:03 +09:00
Yukihiro "Matz" Matsumoto
0a0cc5a217
Check method existence for Enumerators; fix #3920
...
The issue #3920 was fixed but the fundamental flaw of lack of stack
depth check along with fibers still remains, even though it's not
easy to cause the issue. Use `MRB_GC_FIXED_ARENA` to avoid the issue
for workaround.
After this patch, `obj.to_enum` raises `ArgumentError` if the object
does not respond to the enumerating method. This is incompatible to
CRuby but I think this behavior is better and CRuby should be updated
to behave like this.
2018-11-19 10:57:07 +09:00
Yukihiro "Matz" Matsumoto
31a961acf1
The current context may be changed in mrb_vm_exec; ref #3668 #4104
2018-11-19 09:50:31 +09:00
Yukihiro "Matz" Matsumoto
cab6b0f39b
Protect Fiber from GC in ecall(); fix #4104
2018-11-19 09:49:20 +09:00
Yukihiro "Matz" Matsumoto
25d390d6cc
Improve Hash table using variable sized segments.
2018-11-19 09:30:15 +09:00
Yukihiro "Matz" Matsumoto
180b73fec4
The key or value object could be reclaimed by GC; fix #4164
...
The GC may occur between `sg_shift` and `mrb_assoc_new`, in which
case `key` and `value` could be freed even tough they are still alive.
The issue is found and fixed by https://hackerone.com/hexodus
2018-11-16 01:04:57 +09:00
Yukihiro "Matz" Matsumoto
0a022f7b8d
The saved pc from ERR_PC_SET was wrong; fix #4138
...
The saving `pc` position should be beginning of the instruction.
But after `mruby 2.0` byte code modification, the `pc` variable
points the beginning of the next instruction. We save the previous
position in a local variable `pc0`.
2018-11-15 23:34:32 +09:00
Yukihiro "Matz" Matsumoto
418ad65db4
Fixed a bug in continuous read of target files; ref #4138
...
Line number information in a compiled file was wrong.
2018-11-15 23:34:32 +09:00
Yukihiro "Matz" Matsumoto
7e3e8d8ed5
Shrink file name table size to uint16_t; ref #4138
2018-11-15 23:34:32 +09:00
Yukihiro "Matz" Matsumoto
faf51f82c7
Rename local variables in mrb_debug_info_append_file
2018-11-15 23:34:32 +09:00
Yukihiro "Matz" Matsumoto
56db3cf3eb
Simplify argument parsing; ref #4161
2018-11-15 21:01:56 +09:00
Yukihiro "Matz" Matsumoto
f39f428ed4
Silence -fsanitize=undefined warning in src/enum.c; fix #4161
2018-11-15 21:01:56 +09:00
Yukihiro "Matz" Matsumoto
61f49690e4
Remove filename&lines from mrb_irep struct.
...
This patch slightly reduce memory consumption (2% for my test).
2018-11-15 21:01:56 +09:00
Yukihiro "Matz" Matsumoto
1bea1e2050
Small renaming refactor in dump.c
2018-11-15 19:24:45 +09:00
Yukihiro "Matz" Matsumoto
485955eccc
String#{squeeze,delete,count} to use bitmap for matching; ref #4163
2018-11-15 04:51:27 +09:00
Yukihiro "Matz" Matsumoto
4550f4e381
Pattern length may overflow uint16_t; fixed #4163
...
The issue is reported by `https://hackerone.com/dgaletic `.
2018-11-15 02:03:54 +09:00
Yukihiro "Matz" Matsumoto
c3188cac43
Merge pull request #4160 from mimaki/wrong-negative-float-in-mrb
...
Wrong pool data length for negative floating value in a mrb file.
2018-11-07 18:22:13 +09:00
Hiroshi Mimaki
7d7f9feee7
Wrong pool data length for negative floating value in a mrb file.
2018-11-07 17:20:18 +09:00
Yukihiro "Matz" Matsumoto
d25ebec988
Fixed wrong ArgumentError with keyword arguments; fix #4159
2018-11-05 21:52:17 +09:00
Yukihiro "Matz" Matsumoto
d47003aea4
Fixed a bug in argument number check with kwargs; fix #4159
2018-11-05 07:44:25 +09:00
Yukihiro "Matz" Matsumoto
d9e2532552
Remove reserved symbols for now.
...
It should be done by planned embedded symbols.
2018-11-02 22:58:12 +09:00
Yukihiro "Matz" Matsumoto
9c5e28646b
Merge pull request #4151 from take-cheeze/remove_op_symidx
...
Reduce instruction size
2018-11-02 22:37:47 +09:00
Yukihiro "Matz" Matsumoto
788e4388f8
Merge branch 'take-cheeze-fix_dump_load'
...
Since our new VM instruction is byte based, there's no need to endian
conversion of instruction sequences.
2018-11-02 20:58:15 +09:00
take-cheeze
57a435aa1d
Suppress warning
2018-11-02 15:49:34 +09:00
take-cheeze
659c680a5b
Fix dump and load with endianess
2018-11-02 15:47:28 +09:00
Yukihiro "Matz" Matsumoto
0419f07915
Add NULL checks for mrb->ci and proc->upeer; #4024
2018-11-02 14:57:03 +09:00
Yukihiro "Matz" Matsumoto
f2084f300b
Add tests for empty patterns for tr and count; #4156 #4157
2018-11-02 08:58:21 +09:00
Yukihiro "Matz" Matsumoto
8e59695625
Empty pattern string for String#tr should remove characters; fix #4157
2018-11-02 08:55:17 +09:00
Yukihiro "Matz" Matsumoto
65b04066a2
Empty pattern string can generate TR_UNINITIALIZED pattern; fix #4156
2018-11-02 08:54:24 +09:00
Yukihiro "Matz" Matsumoto
7ad53273a2
Silence Appveyor's VC compilation warnings.
2018-11-01 22:52:12 +09:00
Yukihiro "Matz" Matsumoto
d68da042b3
The env object referenced from fibers may be freed; fix #4154
...
By dffa203 that reclaim `env` objects from heaps, there's more chance
for `env` objects referenced from fibers may be freed from heap pages.
2018-11-01 22:36:06 +09:00
Yukihiro "Matz" Matsumoto
830321fed5
Merge pull request #4155 from mimaki/fix-4153
...
Fixed a bug in INIT_DISPATCH for non direct threading; fix #4153
2018-11-01 22:31:31 +09:00
Hiroshi Mimaki
73727aeb50
Fixed a bug in INIT_DISPATCH for non direct threading; fix #4153
2018-11-01 11:10:47 +09:00
Yukihiro "Matz" Matsumoto
31eb5f4e1b
Merge pull request #4152 from take-cheeze/build_debug_flag
...
Add debug flag to `MRuby::Build`
2018-10-30 09:04:35 +09:00
Yukihiro "Matz" Matsumoto
cca5e0977c
VS 2017 C does not understand inline struct initialization; ref #4153
2018-10-30 09:01:12 +09:00
take-cheeze
08bd095446
Add debug flag to MRuby::Build
2018-10-29 20:10:03 +09:00
take-cheeze
6a6586ca84
Reduce unnecessary symbol table entry
2018-10-29 19:40:33 +09:00
take-cheeze
486c9d902d
Fix codedumper
2018-10-29 19:35:31 +09:00
take-cheeze
7d51a7bbf5
Fix document
2018-10-29 19:34:56 +09:00
take-cheeze
557805da07
Fix operator
2018-10-29 19:29:43 +09:00
take-cheeze
68714ab648
Fix SEGV
2018-10-29 19:26:00 +09:00
take-cheeze
e022080390
Define null symbol
2018-10-29 19:22:53 +09:00
take-cheeze
3248de83b6
Reduce instruction size
2018-10-29 19:17:05 +09:00
Yukihiro "Matz" Matsumoto
eebb56713e
Merge pull request #4149 from take-cheeze/static_tr_pattern
...
Keep `tr_pattern` static if possible
2018-10-29 15:34:07 +09:00
Yukihiro "Matz" Matsumoto
ae5463c9e4
Merge pull request #4148 from take-cheeze/rename_libmruby_stuff
...
Rename `MRuby::Build#libmruby` stuff to avoid confusion
2018-10-29 15:13:24 +09:00
Yukihiro "Matz" Matsumoto
63fade1396
Merge pull request #4147 from take-cheeze/add_missing_dep
...
Add missing dependency of source code generator
2018-10-29 15:12:07 +09:00
Yukihiro "Matz" Matsumoto
a7e42a2024
Merge pull request #4146 from take-cheeze/sup_sleep_warn
...
Suppress sleep test script warning
2018-10-29 15:11:07 +09:00
Yukihiro "Matz" Matsumoto
c7327c84dc
Merge pull request #4145 from take-cheeze/sort_test_rbfiles
...
Sort test script list too
2018-10-29 15:10:36 +09:00
take-cheeze
b37b312081
Rename libmruby stuff to avoid confusion
2018-10-29 14:07:16 +09:00
take-cheeze
c240aeada9
Add missing dependency of source code generator
2018-10-29 13:58:57 +09:00
take-cheeze
1b185f08e7
Suppress sleep test script warning
2018-10-29 13:58:25 +09:00
take-cheeze
ac512e9d9f
Sort test script list too
2018-10-29 13:57:41 +09:00
take-cheeze
52d55e6069
Keep tr_pattern static
2018-10-29 13:21:36 +09:00
Yukihiro "Matz" Matsumoto
fa33a4d75a
We need no write barrier here; ref #4143
2018-10-29 12:01:27 +09:00
Yukihiro "Matz" Matsumoto
3dc3643e34
Marking from terminated fibers are not needed; ref #4143
...
The old condition marks the top-level callinfo even after the
fiber is terminated.
2018-10-29 11:58:10 +09:00
Yukihiro "Matz" Matsumoto
34872e90d4
Re-implement Array#_inspect and Hash#_inspect without blocks.
...
To reduce the env object allocation; ref #4143
2018-10-29 11:55:49 +09:00
Yukihiro "Matz" Matsumoto
dffa203d07
Need to mark shared env objects as MRB_TT_FREE; fix #4143
...
The following code mistakenly exits from the function without marking
the env object as `MRB_TT_FREE`.
``` ruby
if (MRB_ENV_STACK_SHARED_P(e)) {
/* cannot be freed */
return; // <- should be `break`
}
```
2018-10-29 11:51:04 +09:00
Yukihiro "Matz" Matsumoto
7ff84789c3
Add argument check to Array#clear; fix #4144
2018-10-29 10:12:10 +09:00
Yukihiro "Matz" Matsumoto
b3a181aaa1
Fixed a bug in processing OP_EXT? instructions.
...
fix haconiwa/haconiwa#171
2018-10-23 21:10:03 +09:00
Yukihiro "Matz" Matsumoto
80b5a56f51
Need to freeze string keys.
2018-10-20 19:02:12 +09:00
Yukihiro "Matz" Matsumoto
e89676a6ec
Merge pull request #4142 from iij/mergesort
...
replace quicksort with mergesort.
2018-10-18 13:02:11 +08:00
Tomoyuki Sahara
91444c4747
replace quicksort with mergesort.
2018-10-18 13:07:47 +09:00
Yukihiro "Matz" Matsumoto
fdd5ce8fac
Fixed a bug caused by too much optimization; fix #4137
2018-10-13 00:31:13 +09:00
Yukihiro "Matz" Matsumoto
d2313aebd6
Fixed broken stack consistency; fix #4135
2018-10-12 23:26:14 +09:00
Yukihiro "Matz" Matsumoto
e5f160dc7e
Should not compare undef (deleted) key in hashes; fix #4136
2018-10-12 19:00:45 +09:00
Yukihiro "Matz" Matsumoto
ab0f4db688
Call uniq! for each union processing in Array#union.
2018-10-12 19:00:14 +09:00
Yukihiro "Matz" Matsumoto
249fef7dc4
Add NULL check in sg_compact(); fix #4139
2018-10-12 08:30:57 +09:00
Yukihiro "Matz" Matsumoto
82e00ce60f
Hash#delete should return the deleted value; fix #4133
2018-10-12 08:25:54 +09:00
Yukihiro "Matz" Matsumoto
a690aef8d3
Merge pull request #4131 from junaruga/feature/ci-refactoring
...
Refactor .travis.yml to remove duplicated env: MRUBY_CONFIG.
2018-10-05 22:10:51 +09:00
Jun Aruga
f38e6c63e9
Refactor .travis.yml to remove duplicated env: MRUBY_CONFIG.
2018-10-05 14:15:33 +02:00
Yukihiro "Matz" Matsumoto
8392578216
Fixed SEGV from eval called form top-level mrb_funcall(); fix #4028
2018-10-02 17:26:43 +09:00
Yukihiro "Matz" Matsumoto
e6841abad6
Fixed a String#squeeze bug in handling iso-8859-1 strings; ref #4127
2018-09-27 21:43:35 +09:00
Yukihiro "Matz" Matsumoto
54ec08c7f1
Implement Hash#rehash in C using sg_compact().
2018-09-26 23:09:48 +09:00
Yukihiro "Matz" Matsumoto
d78acc7afe
Add index to larger segment lists for performance
2018-09-26 23:09:48 +09:00
Yukihiro "Matz" Matsumoto
8ffd4e47fb
Use mrb_undef_value for delete mark instead of shifting Hash entry table.
...
That means entry table should be compacted periodically by `sg_compact()`.
2018-09-26 23:09:48 +09:00
Yukihiro "Matz" Matsumoto
e8dcfe1745
Use segmented list to implement Hash [Experimental]
...
I know it's not hash at all, but reduce memory consumption.
2018-09-26 12:55:22 +09:00
Yukihiro "Matz" Matsumoto
01c2f59e14
Revert "Fix comparisons in str_squeeze."
...
This reverts commit 7b04fcd092 .
The issue was addressed by 9e3cbaa . No longer needed.
2018-09-26 12:35:25 +09:00
Yukihiro "Matz" Matsumoto
9e3cbaaacd
Avoid using memmove() for performance; fix #4130
2018-09-26 12:20:37 +09:00
Yukihiro "Matz" Matsumoto
87ce740168
Disambiguate block braces.
2018-09-26 12:17:38 +09:00
Yukihiro "Matz" Matsumoto
fb49a94314
Rename tr_pattern_free() to tr_free_pattern().
2018-09-26 12:17:38 +09:00
Yukihiro "Matz" Matsumoto
78195eb2ae
Small refactoring in vm.c
2018-09-26 12:17:38 +09:00
Yukihiro "Matz" Matsumoto
09a99154c0
Merge pull request #4128 from take-cheeze/patch-1
...
Fix memory leak in `mrb_str_count`
2018-09-25 12:03:26 +09:00
Takeshi Watanabe
67897195de
Fix leak in mrb_str_count
2018-09-25 11:48:59 +09:00
Yukihiro "Matz" Matsumoto
152e8c5bb2
Merge pull request #4127 from clayton-shopify/fix-str-squeeze-comparisons
...
Fix comparisons in str_squeeze.
2018-09-25 11:43:41 +09:00
Daniel Varga
4d5e3e1e63
Fix minor typos ( #4126 )
2018-09-25 09:14:01 +09:00
Clayton Smith
7b04fcd092
Fix comparisons in str_squeeze.
2018-09-24 18:16:12 -04:00
sbsoftware
8fc56f062e
Add compiler flag to disable direct threading ( #4075 )
...
* Add option to disable direct threading
* Prepend MRB_ to option name
2018-09-21 11:22:53 +09:00
Yukihiro "Matz" Matsumoto
9bd2a3b5d9
Fixed a top-level local variable bug in mirb.
...
`OP_STOP` returned a wrong value.
2018-09-21 00:51:29 +09:00
Yukihiro "Matz" Matsumoto
346f154ece
Implement String#delete and #delete!; ref #4086
...
mruby restriction:
In mruby, `String#delete` only takes single pattern argument.
2018-09-21 00:03:07 +09:00
Yukihiro "Matz" Matsumoto
58f7f2361a
Implement String#count; ref #4086
...
mruby restriction:
In mruby, `String#count` does not take multiple pattern arguments,
but only one pattern.
2018-09-21 00:03:07 +09:00
Yukihiro "Matz" Matsumoto
68523b4ec4
Add String#squeeze and #squeeze!; ref #4086
...
mruby restriction:
`String#squeeze` can take more than 1 pattern arguments in CRuby,
in that case, the intersection of patterns will be used to match.
But in mruby, it doesn't take multiple patterns.
2018-09-21 00:03:07 +09:00
Yukihiro "Matz" Matsumoto
c0ae8a96a1
Add String#tr_s and String#tr_s!; ref #4086
2018-09-21 00:03:07 +09:00
Yukihiro "Matz" Matsumoto
58ba38fe1e
Add String#tr and #tr! to mruby-string-ext gem; fix #4086
...
This patch is based on `mruby/c` implementation by Hirohito Higashi.
We might need to add `#tr_s`, `#squeeze` and `#delete` as well.
Adding them should not be too hard using functions we implemented here.
2018-09-21 00:03:07 +09:00
Yukihiro "Matz" Matsumoto
f23f2bbdad
Implement Array#union which is introduced in Ruby2.6.
2018-09-21 00:01:48 +09:00
Yukihiro "Matz" Matsumoto
dd346be99a
Improve performance of Array#uniq!.
2018-09-20 23:56:53 +09:00
Yukihiro "Matz" Matsumoto
5ec5a41fd2
Merge branch 'dearblue-assign-anon-class-name'
2018-09-20 13:58:36 +09:00
Yukihiro "Matz" Matsumoto
159575f630
Renamed is_namespace() to namespace_p().
2018-09-20 13:57:43 +09:00
Yukihiro "Matz" Matsumoto
505e601730
Revert "Add MRB_IMPROVE_META_PROGRAMMING configuration"
...
This reverts commit 1997fcf98f .
It became the default behavior.
2018-09-20 13:53:55 +09:00
Yukihiro "Matz" Matsumoto
d192a52edb
Merge branch 'assign-anon-class-name' of https://github.com/dearblue/mruby into dearblue-assign-anon-class-name
2018-09-20 13:50:16 +09:00
Yukihiro "Matz" Matsumoto
3a9caad8eb
Move Symbol#to_proc to the core from mruby-symbol-ext gem.
...
Even though `Symbol#to_proc` is not included in ISO standard, the
`some_method(&:method_name)` is used very widely and convenient.
So we moved it to the core.
2018-09-20 13:47:29 +09:00
Yukihiro "Matz" Matsumoto
19d3bb2d90
Make #to_h to take a block; [ruby-core:89088]
2018-09-20 13:47:29 +09:00
Yukihiro "Matz" Matsumoto
fa5f5954da
Merge pull request #4112 from dearblue/fix-outer-module-name
...
Fix outer module name
2018-09-20 13:47:16 +09:00
Yukihiro "Matz" Matsumoto
b7e5c86612
Allow nested gemboxes; fix #4124
2018-09-20 11:10:34 +09:00
Yukihiro "Matz" Matsumoto
3820ef791f
Small refactoring in mruby-hash-ext.
2018-09-20 09:07:24 +09:00
Yukihiro "Matz" Matsumoto
8b43754644
Use mrb_to_flo() to check return value from to_f; fix #4115
...
The ISO standard does not include implicit type conversion using
`to_int`, `to_str` and sometimes `to_f`. For the compactness of the
mruby implementation, maybe we should remove those implicit conversion
from mruby.
2018-09-18 09:35:09 +09:00
Yukihiro "Matz" Matsumoto
e9b1d9dc2f
Array size may be changed in mrb_get_args() reentry.
...
fix #4116 ; fix #4117 ; fix #4118 ; fix #4119 ; fix #4120
2018-09-18 07:07:43 +09:00
Yukihiro "Matz" Matsumoto
0ff1540e8b
Merge pull request #4122 from blacktm/iphone-exclude-pipe-exec
...
Exclude pipe and exec on iOS/tvOS
2018-09-17 13:26:04 +09:00
Tom Black
82053dd945
Exclude pipe and exec on iOS/tvOS
...
Use of `execl()` is prohibited on these platforms
2018-09-15 13:55:11 -07:00
Yukihiro "Matz" Matsumoto
ed4dbce052
fixup! Add support for iOS platforms that does not support fork; fix #4113
2018-09-16 00:58:52 +09:00
Yukihiro "Matz" Matsumoto
05595c1284
Merge pull request #4121 from clayton-shopify/fix-sprintf-overflow
...
Prevent signed integer overflow.
2018-09-16 00:45:55 +09:00
Yukihiro "Matz" Matsumoto
2661ac7049
Add support for iOS platforms that does not support fork; fix #4113
2018-09-16 00:41:48 +09:00
Clayton Smith
2760cea451
Prevent signed integer overflow.
2018-09-14 16:53:26 -04:00
Yukihiro "Matz" Matsumoto
f93734f622
Merge pull request #4110 from dearblue/fix-typo1
...
Fix typo
2018-09-08 11:20:11 +09:00
dearblue
292ea06d4d
Fix outer module name
...
example:
a = Module.new
a::B = Module.new
p [a, a::B] # => [#<Module:0x801825890>, #<Class:0x801825890>::B]
# => [#<Module:0x801825890>, #<Module:0x801825890>::B] (Fixed)
2018-09-08 10:25:30 +09:00
dearblue
5e6cd86f6e
Fix to not define outer when outer is itself.
...
example:
a = Class.new
a::A = a
2018-09-07 23:56:06 +09:00
dearblue
366848996a
Clear terminated space
2018-09-07 22:32:34 +09:00
dearblue
1997fcf98f
Add MRB_IMPROVE_META_PROGRAMMING configuration
2018-09-07 22:32:34 +09:00
dearblue
1595e8368a
Fix indent
2018-09-07 22:32:34 +09:00
dearblue
9b0ef58a48
A class/module name is now defined for meta programing
2018-09-07 22:32:34 +09:00
dearblue
fd57af3ea4
Undesirable line split
2018-09-07 22:32:34 +09:00
dearblue
2a24b40d30
Not set a class/module name into anonymous class/module
2018-09-07 22:32:34 +09:00
dearblue
9da9e5eb4e
Fix typo for concatenate
2018-09-07 22:32:34 +09:00
Yukihiro "Matz" Matsumoto
625976d793
Fix integer overflow issue; fix #4108
...
I misunderstood the return value from `snprintf()`, which is NOT number
of characters written in buffer, but the number of character the buffer
has to have to write the complete output.
2018-09-07 03:20:57 +09:00
Yukihiro "Matz" Matsumoto
3447162a4c
Add a new method unpack1 to mruby-pack gem.
2018-09-07 02:16:56 +09:00
Yukihiro "Matz" Matsumoto
04f8b0431c
Fix heap buffer overflow in unpack_a; fix #4103
2018-09-07 02:15:55 +09:00
Yukihiro "Matz" Matsumoto
fdaec90780
Make Kernel#sleep to accept float as a duration time.
...
But when `MRB_WITHOUT_FLOAT` is set, there's no way to sleep for
sub seconds. So mruby specific `usleep` is provided.
2018-09-06 23:42:05 +09:00
Yukihiro "Matz" Matsumoto
72522f8e0e
Remove Sleep module that does not exist in CRuby.
2018-09-06 23:35:32 +09:00
Yukihiro "Matz" Matsumoto
0b44e802a9
Need to check if merging hash is empty; fix #4107
2018-09-06 23:30:32 +09:00
Yukihiro "Matz" Matsumoto
4cd4c64266
Need to support multiple ** splats in argument list; fix #4106
2018-09-06 14:40:21 +09:00
Yukihiro "Matz" Matsumoto
a170c1dd70
Refactored mruby-sleep gem.
...
* Method implementation functions made `static`.
* Function declaration style has been changed.
* Unnecessary header file `mrb_sleep.h` removed.
* Used `mrb_get_args()` instead of self parsing.
* Indentation kept untouched.
2018-09-05 14:55:49 +09:00
Yukihiro "Matz" Matsumoto
44fdd53f2e
Add mruby-sleep gem to the core.
2018-09-05 13:30:14 +09:00
Yukihiro "Matz" Matsumoto
b01b0d242b
Free mrbc_context on exit from mruby.
2018-09-05 07:58:36 +09:00
Yukihiro "Matz" Matsumoto
ade7185a2b
Merge pull request #4055 from take-cheeze/verbose_bintest
...
Support verbose mode in bintest.
2018-09-05 07:11:23 +09:00
Yukihiro "Matz" Matsumoto
2a9525caab
Add argv and argc check in OP_ENTER; fix #4102
...
`argv` may be retrieved from an array whose `ptr` is `NULL` when it`s
empty.
2018-09-05 07:06:25 +09:00
Yukihiro "Matz" Matsumoto
9b5910bd0f
Revert "Remove top-level constant lookup; CRuby2.5"; fix #4070
...
This reverts commit c96def7c96 .
This change was from my misunderstanding.
2018-09-04 21:19:07 +09:00
Yukihiro "Matz" Matsumoto
7592dfcf7d
Need more precise constant name check.
...
This change was inspired by [ruby-bugs#7573]
2018-09-04 20:50:54 +09:00
Yukihiro "Matz" Matsumoto
c2634e18b6
Add type casts to silence MSVC warnings.
2018-09-04 16:22:50 +09:00
Yukihiro "Matz" Matsumoto
28c50b3e90
Merge pull request #4101 from take-cheeze/fix_4085
...
Avoid root fiber initialization for CRuby.
2018-09-04 16:22:40 +09:00
take-cheeze
901dccb2df
Avoid root fiber initialization for CRuby workaround.
...
closes #4085 .
2018-09-04 16:18:01 +09:00
take-cheeze
e6357f3baa
Fix indent.
2018-09-04 16:18:01 +09:00
Yukihiro "Matz" Matsumoto
02adae167f
Merge pull request #4098 from dearblue/reverse-gems-final
...
Reversing gems final
2018-09-04 07:26:25 +09:00
dearblue
cbf2738861
Reverse gems final
2018-09-02 14:13:09 +09:00
Yukihiro "Matz" Matsumoto
a657117e4e
Avoid warning in MSVC compilation.
2018-09-01 17:36:35 +09:00
Yukihiro "Matz" Matsumoto
20c0c6330f
Too much peephole optimization in gen_call; fix #4091
...
It causes trouble for safe navigation operator.
2018-09-01 17:14:54 +09:00
Yukihiro "Matz" Matsumoto
b80e0ef742
Move Kernel#send to mruby-metaprog gem.
...
But `BasicObject#__send__` is still available from the core.
2018-09-01 11:20:30 +09:00
Yukihiro "Matz" Matsumoto
593c12a5cd
Avoid NoMethodError exception from mrb_func_basic_p.
2018-09-01 11:18:12 +09:00
Yukihiro "Matz" Matsumoto
05f377dee4
Use __send__ instead of send.
2018-09-01 11:02:59 +09:00
Yukihiro "Matz" Matsumoto
0c6353aa2c
Remove MRB_API from mrb_f_send which is not API.
2018-09-01 11:01:50 +09:00
Yukihiro "Matz" Matsumoto
2be42aef0f
Fix ISO/JIS section numbers.
2018-09-01 09:35:46 +09:00
Yukihiro "Matz" Matsumoto
1bc1fed534
Update RITE_BINARY_FORMAT_VER and RITE_VM_VER.
...
The bytecode format was updated so the header version constants must be
updated as well.
2018-08-30 22:48:05 +09:00
Yukihiro "Matz" Matsumoto
50b840c9de
Use mrb_ensure_hash_type() to check if an operand is a Hash; fix #4097
2018-08-30 22:30:36 +09:00
Yukihiro "Matz" Matsumoto
f6564dd83e
Add new function mrb_ensure_hash_type(); ref #4097
...
Unlike `mrb_check_hash_type()` that returns `nil` if the argument is
not a `Hash`, `mrb_ensure_hash_type()` raises a `TypeError` exception.
2018-08-30 22:30:36 +09:00
Yukihiro "Matz" Matsumoto
e471d37ca5
Separate meta-programming features to mruby-metaprog gem.
...
We assume meta-programming is less used in embedded environments.
We have moved following methods:
* Kernel module
global_variables, local_variables, singleton_class,
instance_variables, instance_variables_defined?, instance_variable_get,
instance_variable_set, methods, private_methods, public_methods,
protected_methods, singleton_methods, define_singleton_methods
* Module class
class_variables, class_variables_defined?, class_variable_get,
class_variable_set, remove_class_variable, included_modules,
instance_methods, remove_method, method_removed, constants
* Module class methods
constants, nesting
Note:
Following meta-programming methods are kept in the core:
* Module class
alias_method, undef_method, ancestors, const_defined?, const_get,
const_set, remove_const, method_defined?, define_method
* Toplevel object
define_method
`mruby-metaprog` gem is linked by default (specified in default.gembox).
When it is removed, it will save 40KB (stripped:8KB) on x86-64
environment last time I measured.
2018-08-30 22:30:36 +09:00
Yukihiro "Matz" Matsumoto
75a01af710
Remove consequent OP_RETURN by peephole optimization.
2018-08-30 01:23:17 +09:00
Yukihiro "Matz" Matsumoto
5addd5db4a
Need to clear mrb->c->cibase->ridx (toplevel ridx) at L_STOP; fix #4092
...
This problem only appears when `mrb` executed multiple times (i.e. `mirb`)
2018-08-30 01:20:59 +09:00
Yukihiro "Matz" Matsumoto
500bd38dfe
uint16_t is too small for reference count; fix #4093
...
Use `uint32_t` instead. Theoretically `uint32_t` can overflow as well,
but I think it is sufficient size for embeddable Ruby VM.
2018-08-30 00:29:35 +09:00
Yukihiro "Matz" Matsumoto
2c93e4a0a8
The operand of OP_ARYDUP may not be an array; fix #4094
...
This commit also fix #4096 .
2018-08-30 00:29:35 +09:00
Yukihiro "Matz" Matsumoto
f76cc483d5
Fix off-by-one error in OP_EPUSH and OP_ONERR; fix #4095
2018-08-29 23:59:20 +09:00
Yukihiro "Matz" Matsumoto
e91b6a0378
Merge pull request #4080 from 'ukrainskiysergey-node_negate_fix'
2018-08-29 13:34:02 +09:00
Yukihiro "Matz" Matsumoto
441ff45a51
Merge branch 'node_negate_fix' of https://github.com/ukrainskiysergey/mruby into ukrainskiysergey-node_negate_fix
2018-08-29 13:29:54 +09:00
Yukihiro "Matz" Matsumoto
98c759e86a
Check the size of rescue&ensure stacks; ref #4088
...
Those small stack indexes can cause integer overflow.
2018-08-29 13:17:18 +09:00
Yukihiro "Matz" Matsumoto
2a88a546b2
Fix type of eidx and ridx from uint8_t to uint16_t; fix #4088
...
A byte was too small to hold ensure&rescue stacks indexes.
2018-08-29 13:15:24 +09:00
Yukihiro "Matz" Matsumoto
6aa091e5aa
Simplified #ifdef nesting in codedump.c; fix #4089
...
`printf()` and related functions should not be called when
`MRB_DISABLE_STDIO` is defined.
2018-08-29 12:37:07 +09:00
Yukihiro "Matz" Matsumoto
bc88fc6ed1
Check iseq buffer size before code emission; fix #4090
...
The type of `s->pc` is now `uint16_t` that can be overflowed easily.
Need more checks.
2018-08-29 12:31:48 +09:00
Yukihiro "Matz" Matsumoto
814b7b5ef8
Move back mrb_define_alias to mruby.h to avoid breakage.
2018-08-29 07:00:13 +09:00
Yukihiro "Matz" Matsumoto
93bab387a7
Merge branch 'mruby2-draft'
2018-08-28 22:13:52 +09:00
Yukihiro "Matz" Matsumoto
471288f37d
Reduce integer casting warnings.
2018-08-25 16:58:01 +09:00
Yukihiro "Matz" Matsumoto
d79dbd92f9
fixup! New bytecode implementation of mruby VM.
2018-08-25 09:49:20 +09:00
Yukihiro "Matz" Matsumoto
49d1b16822
Hash splat ** should not be ignored.
...
Implemented by adding `OP_HASHCAT` that merges hashes.
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
306732e02d
Fixed a bug in OP_HASHADD.
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
a3fb80904d
Remove unused Hash#__update method.
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
3554fc54de
Add a new function mrb_hash_merge().
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
b06dad43fa
Remove unused NODE_* constants from node.h.
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
e5eb7ef046
Add NODE_KW_HASH support in mrb_parser_dump().
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
162243d95c
Remove arg_value from parse.y.
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
b7e56e9d20
Add bytecode support for MRB_WORD_BOXING.
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
eeb6d5658d
New bytecode implementation of mruby VM.
2018-08-25 09:41:21 +09:00
Yukihiro "Matz" Matsumoto
a16885efe5
Try to fix a fragile File#mtime test.
2018-08-25 09:19:17 +09:00
Yukihiro "Matz" Matsumoto
31827189ab
Remove potential path to avoid uninitialized variable access.
2018-08-25 09:19:17 +09:00
Yukihiro "Matz" Matsumoto
fbfe519be7
Simplify mruby-inline-struct tests.
...
`gcc -O3` raises error on truncation using `snprintf`.
2018-08-25 09:19:17 +09:00
Yukihiro "Matz" Matsumoto
b3a1d37926
Make Array.new to accept both integers and floats.
...
This time we used `Integral` module which is mruby specific.
2018-08-25 09:19:17 +09:00
Kazuhiro Sera
2b2ff844a1
Fix misspelling words in comments
2018-08-25 09:19:17 +09:00
Yukihiro "Matz" Matsumoto
b083c1351f
Fixed the corner case bug in String#{gsub!,sub!}.
...
`"a".sub!("a", "a")` should not return `nil`.
2018-08-25 09:17:46 +09:00
pyama86
821135e2df
irep is released when Fiber is terminated
2018-08-25 09:17:46 +09:00
Yukihiro "Matz" Matsumoto
49d9fb8f41
Reimplement Hash#compact! to conform the standard behavior.
...
`Hash#compact!` should return `nil` if the receiver does not change.
2018-08-25 09:17:46 +09:00
Yukihiro "Matz" Matsumoto
9409a2ff6d
Rename ambiguous function names.
...
`mrb_iv_p` -> `mrb_iv_name_sym_p`
`mrb_iv_check` -> `mrb_iv_name_sym_check`
2018-08-25 09:17:46 +09:00
Yukihiro "Matz" Matsumoto
5e469d2b92
Remove utility functions: mrb_vm_iv_{get,set}.
2018-08-25 09:17:46 +09:00
Yukihiro "Matz" Matsumoto
c88fd32713
Revert 04dbbff.
...
Use segment list for instance variable again to reduce memory.
2018-08-25 09:16:01 +09:00
Yukihiro "Matz" Matsumoto
4c974b9523
Small refactoring.
...
The macro `RCLASS_SUPER`, `RCLASS_IV_TBL` and `RCLASS_M_TBL` are
removed from `include/mruby/class.h`.
2018-08-25 09:16:01 +09:00
Yukihiro "Matz" Matsumoto
f3564a405e
Small refactoring of flodivmod().
2018-08-25 09:16:01 +09:00
dearblue
322eb2328a
Fix mrb_value size with MRB_WORD_BOXING on 32-bit mode
2018-08-25 09:16:01 +09:00
Yukihiro "Matz" Matsumoto
6681e22c71
Simply use snprintf instead of custom fmt_fp,
...
Unless `MRB_DISABLE_STDIO` is set. `snprintf` is used anyway
if mruby is configured to use `stdio`. This change reduces 8KB
of program size on the Linux box.
2018-08-25 09:16:01 +09:00
Yukihiro "Matz" Matsumoto
91c08d7631
Remove nregs member from mrb_callinfo.
...
This means reducing one word per a call frame.
2018-08-25 09:16:01 +09:00
Yukihiro "Matz" Matsumoto
8a18d1539b
Should update ci->env to share the environment; fix #4073
2018-08-25 09:13:09 +09:00
Yukihiro "Matz" Matsumoto
fd086833ff
Reorganize flags values for classes; fix #3975
...
Renamed flag macro names as well:
`MRB_FLAG_IS_FROZEN` -> `MRB_FL_OBJ_FROZEN`
`MRB_FLAG_IS_PREPENDED` -> `MRB_FL_CLASS_IS_PREPENDED`
`MRB_FLAG_IS_ORIGIN` -> `MRB_FL_CLASS_IS_ORIGIN`
`MRB_FLAG_IS_INHERITED` -> `MRB_FL_CLASS_IS_INHERITED`
2018-08-25 09:13:09 +09:00
Yukihiro "Matz" Matsumoto
bfd11aab35
Check size of the integer multiply before actual overflow; fix #4062
2018-08-25 09:13:09 +09:00
Yukihiro "Matz" Matsumoto
fe77272c25
Kernel#p should return an array of arguments; fix #4083
...
Although the return value is not defined in ISO, it is better to behave
as CRuby does.
2018-08-18 22:40:44 +09:00
Yukihiro "Matz" Matsumoto
c095736002
Try to fix a fragile File#mtime test.
2018-08-13 23:15:52 +09:00
Yukihiro "Matz" Matsumoto
14206a75a3
Remove potential path to avoid uninitialized variable access.
2018-08-13 23:15:52 +09:00
Yukihiro "Matz" Matsumoto
1e52d47bc3
Simplify mruby-inline-struct tests.
...
`gcc -O3` raises error on truncation using `snprintf`.
2018-08-13 23:15:52 +09:00
Yukihiro "Matz" Matsumoto
fee9ec61bb
Make Array.new to accept both integers and floats.
...
This time we used `Integral` module which is mruby specific.
2018-08-13 23:15:52 +09:00
Yukihiro "Matz" Matsumoto
11d5782687
Merge pull request #4081 from seratch/fix-typo
...
Fix misspelling words in comments, docs
2018-08-11 10:35:13 +09:00
Kazuhiro Sera
b03f1f78e3
Fix misspelling words in comments
2018-08-11 00:28:32 +09:00
Ukrainskiy Sergey
fbe876b871
Added push() after OP_SEND
2018-08-10 06:44:19 +09:00
Ukrainskiy Sergey
672110dbe8
Small fix
2018-08-09 17:57:18 +09:00
Ukrainskiy Sergey
e3b181586c
Fix weird behavior of the NODE_NEGATE
2018-08-09 17:31:57 +09:00
Yukihiro "Matz" Matsumoto
35be8b2524
Fixed the corner case bug in String#{gsub!,sub!}.
...
`"a".sub!("a", "a")` should not return `nil`.
2018-08-07 23:03:17 +09:00
pyama86
54246db00a
irep is released when Fiber is terminated
2018-08-06 19:13:19 +09:00
Yukihiro "Matz" Matsumoto
62e8e910b2
Reimplement Hash#compact! to conform the standard behavior.
...
`Hash#compact!` should return `nil` if the receiver does not change.
2018-08-06 16:40:19 +09:00
Yukihiro "Matz" Matsumoto
0dca6206c1
Rename ambiguous function names.
...
`mrb_iv_p` -> `mrb_iv_name_sym_p`
`mrb_iv_check` -> `mrb_iv_name_sym_check`
2018-08-06 10:15:55 +09:00
Yukihiro "Matz" Matsumoto
8f386f7663
Remove utility functions: mrb_vm_iv_{get,set}.
2018-08-06 10:15:55 +09:00
Yukihiro "Matz" Matsumoto
14c7a9c548
Revert 04dbbff.
...
Use segment list for instance variable again to reduce memory.
2018-08-06 10:15:55 +09:00
Yukihiro "Matz" Matsumoto
afbbc0a2cb
Small refactoring.
...
The macro `RCLASS_SUPER`, `RCLASS_IV_TBL` and `RCLASS_M_TBL` are
removed from `include/mruby/class.h`.
2018-08-06 10:15:55 +09:00
Yukihiro "Matz" Matsumoto
005ccd9c7e
Small refactoring of flodivmod().
2018-08-06 10:15:55 +09:00
Yukihiro "Matz" Matsumoto
708d6a4964
Merge pull request #4077 from dearblue/fix-wordboxing-symbol
...
Fix to sizeof(mrb_value) is 4 bytes with MRB_WORD_BOXING on 32-bit mode
2018-08-06 10:15:34 +09:00
dearblue
ca01c8792d
Fix mrb_value size with MRB_WORD_BOXING on 32-bit mode
2018-08-05 20:33:44 +09:00
Yukihiro "Matz" Matsumoto
4713cd9eb7
Simply use snprintf instead of custom fmt_fp,
...
Unless `MRB_DISABLE_STDIO` is set. `snprintf` is used anyway
if mruby is configured to use `stdio`. This change reduces 8KB
of program size on the Linux box.
2018-08-01 16:50:44 +09:00
Yukihiro "Matz" Matsumoto
b9817b00a4
Remove nregs member from mrb_callinfo.
...
This means reducing one word per a call frame.
2018-08-01 13:18:32 +09:00
Yukihiro "Matz" Matsumoto
e89cc9b9fa
Should update ci->env to share the environment; fix #4073
2018-08-01 10:08:40 +09:00
Yukihiro "Matz" Matsumoto
d886676690
Merge pull request #4074 from znz/patch-1
...
Remove unmatched quotation mark
2018-08-01 09:26:23 +09:00
Kazuhiro NISHIYAMA
64748691de
Remove unmatched quotation mark
2018-07-31 22:09:45 +09:00
Yukihiro "Matz" Matsumoto
beb6e5c299
Bytecode support for mrdb.
2018-07-31 17:28:42 +09:00
Yukihiro "Matz" Matsumoto
889f0f5f36
Add test case corresponding to 53e2723.
2018-07-31 17:27:59 +09:00
Yukihiro "Matz" Matsumoto
8558627b9b
Reorganize flags values for classes; fix #3975
...
Renamed flag macro names as well:
`MRB_FLAG_IS_FROZEN` -> `MRB_FL_OBJ_FROZEN`
`MRB_FLAG_IS_PREPENDED` -> `MRB_FL_CLASS_IS_PREPENDED`
`MRB_FLAG_IS_ORIGIN` -> `MRB_FL_CLASS_IS_ORIGIN`
`MRB_FLAG_IS_INHERITED` -> `MRB_FL_CLASS_IS_INHERITED`
2018-07-31 16:48:50 +09:00
Yukihiro "Matz" Matsumoto
180f39bf4c
Check size of the integer multiply before actual overflow; fix #4062
2018-07-31 16:14:18 +09:00
Yukihiro "Matz" Matsumoto
4ce9058f64
Describe the difference of the keyword argument behavior.
...
The implementation of keyword arguments is heavily rely on the prototype
made by @take-cheeze in #3629 .
2018-07-31 03:26:53 +09:00
Yukihiro "Matz" Matsumoto
e27565152f
Removed merge hiccups in doc/opcode.md.
2018-07-31 03:20:27 +09:00
Yukihiro "Matz" Matsumoto
43173e1299
Removed unused instruction: OP_KDICT.
2018-07-31 03:20:00 +09:00
Yukihiro "Matz" Matsumoto
53e2723fae
Fixed a small bug in keyword argument parsing.
...
def m(a=1,**k) p [a,k] end
m(a: 1)
2018-07-31 03:14:42 +09:00
Yukihiro "Matz" Matsumoto
8c9e712784
Keyword argument implemented.
2018-07-30 22:58:01 +09:00
Yukihiro "Matz" Matsumoto
891839b976
New bytecode implementation of mruby VM.
2018-07-30 22:57:54 +09:00
Yukihiro "Matz" Matsumoto
b09d2eb900
Kernel#instance_eval should define singleton methods; fix #4069
2018-07-23 18:26:24 +09:00
Tomoyuki Sahara
cb42c98757
Merge pull request #4072 from katzer/fix/unsupported_servname
...
[mruby-socket] Network services might not be available
2018-07-21 20:07:37 +09:00
Sebastián Katzer
0bc8d1979c
Network services might not be available
2018-07-21 10:18:22 +02:00
Yukihiro "Matz" Matsumoto
e3bc680d98
Merge pull request #4068 from yurie/mrbc
...
add mrbc option `--remove-lv`
2018-07-11 15:09:57 +09:00
yuri
a921b936d6
move declaration of mrb_irep_remove_lv from dump.h to irep.h
2018-07-11 14:14:12 +09:00
yuri
5fef38e4c7
move mrb_irep_remove_lv to codegen.c in mruby-compiler
2018-07-10 15:44:25 +09:00
yuri
dabb20ddbb
add mrbc option --remove-lv
...
* refactor: move `irep_remove_lv` from `mruby-bin-strip` gem to src/dump and rename to `mrb_irep_remove_lv`
* add: mrbc option `--remove-lv` to remove LVAR section
2018-07-10 01:42:33 +09:00
Yukihiro "Matz" Matsumoto
ea435f99da
Merge pull request #4067 from katzer/patch-1
...
[mruby-test] Fix task name is not necessarily a valid path
2018-07-09 08:19:12 +09:00
Sebastián Katzer
b1f1fe2f81
Fix task name is not necessarily a valid path
...
Errno::ENOENT: No such file or directory @ dir_s_mkdir - mruby:Z:/Documents
2018-07-08 13:51:00 +02:00
Yukihiro "Matz" Matsumoto
17c9e65603
Merge pull request #4066 from duangsuse/master
...
Added ~/Android/Sdk/ndk-bundle as default NDK home
2018-07-04 22:12:41 +09:00
duangsuse
06428059f6
Add ~/Android/Sdk/ndk-bundle as default NDK home
2018-07-04 19:33:11 +08:00
Yukihiro "Matz" Matsumoto
5bb3f60e49
Merge pull request #4064 from mame/mrb_without_float-for-mruby-io
...
Support MRB_WITHOUT_FLOAT to mruby-io
2018-07-02 11:00:35 +09:00
Yusuke Endoh
7917b7f8bf
Support MRB_WITHOUT_FLOAT to mruby-io
2018-07-02 10:47:56 +09:00
Yukihiro "Matz" Matsumoto
adb1eae912
Use mrb_raise() instead of mrb_raisef(); ref #4062
2018-06-28 22:40:24 +09:00
Yukihiro "Matz" Matsumoto
e60829405c
Merge pull request #4063 from graywolf/patch-1
...
Add information about Kernel#binding
2018-06-28 08:43:25 +09:00
W
3116d06003
Add information about Kernel#binding
2018-06-27 12:20:24 +00:00
Yukihiro "Matz" Matsumoto
695f29cd60
Add negative check in mrb_str_resize; fix #4062
2018-06-27 16:32:24 +09:00
Yukihiro "Matz" Matsumoto
7e79840587
initialize a local variable to avoid warning
2018-06-22 12:03:52 +09:00
Yukihiro "Matz" Matsumoto
351614bbdd
Merge pull request #4059 from take-cheeze/parallel_tests
...
Run tests parallelly for each target.
2018-06-22 12:02:09 +09:00
Yukihiro "Matz" Matsumoto
864a998c24
Merge pull request #4058 from take-cheeze/exp_sleep
...
Increase sleep duration exponentially instead of `Thread.pass`.
2018-06-22 12:01:33 +09:00
take-cheeze
eaf463ada3
Run tests parallelly for each target.
2018-06-22 11:43:14 +09:00
take-cheeze
48ba7c7bb0
Increase sleep duration exponentially instead of Thread.pass.
2018-06-22 11:41:12 +09:00
Yukihiro "Matz" Matsumoto
3671404391
Merge pull request #4053 from take-cheeze/use_transfer
...
Use Fiber#transfer instead in minirake.
2018-06-22 10:26:37 +09:00
Yukihiro "Matz" Matsumoto
410a5031fc
Merge pull request #4057 from take-cheeze/use_thread_pass
...
Use `Thread.pass` instead of sleeping.
2018-06-22 10:19:16 +09:00
take-cheeze
61e8f831dd
Use Thread.pass instead of sleeping.
2018-06-22 09:29:59 +09:00
Yukihiro "Matz" Matsumoto
36e1796e41
Merge branch 'master' into use_transfer
2018-06-22 07:23:50 +09:00
Yukihiro "Matz" Matsumoto
640fca3276
Merge pull request #4056 from take-cheeze/fix_rake_jobs
...
Fix job waiter of minirake.
2018-06-22 07:18:01 +09:00
Yukihiro "Matz" Matsumoto
485efd9253
Merge pull request #4054 from take-cheeze/show_rake_bt
...
Show minirake backtrace in verbose mode.
2018-06-22 07:16:48 +09:00
take-cheeze
7c246cb9db
Fix job waiter.
2018-06-21 12:45:55 +09:00
take-cheeze
acd04ad519
Support verbose mode in bintest.
2018-06-21 11:33:34 +09:00
take-cheeze
c90dbd12ef
Show minirake backtrace in verbose mode.
2018-06-21 11:29:50 +09:00
take-cheeze
6f35b07fab
Use Fiber#transfer instead in minirake.
2018-06-21 11:26:55 +09:00
Yukihiro "Matz" Matsumoto
fd9617cad0
Merge pull request #4052 from take-cheeze/fix_mtime_test
...
Use temporary file name for `File#mtime` test to avoid conflicts.
2018-06-20 23:19:52 +09:00
Yukihiro "Matz" Matsumoto
1829b76929
Merge pull request #4051 from take-cheeze/para_rake
...
Make minirake parallel.
2018-06-20 22:09:54 +09:00
take-cheeze
7bb2fc70f2
Set jobs to 4 since it have 2 CPUs.
2018-06-20 21:44:23 +09:00
take-cheeze
8f808cc9b1
Use temporary name for File#mtime test to avoid conflicts.
2018-06-20 21:42:48 +09:00
take-cheeze
33f72bb038
disable sudo.
2018-06-20 21:34:03 +09:00
take-cheeze
c3ac33d9cd
Make minirake parallel.
2018-06-20 20:51:24 +09:00
Yukihiro "Matz" Matsumoto
cfed6e3a4b
Merge pull request #4050 from take-cheeze/fix_build_script
...
Fix build scripts.
2018-06-20 20:42:53 +09:00
Yukihiro "Matz" Matsumoto
1a9195285c
Merge pull request #4049 from take-cheeze/fix_mirb_leak
...
Fix memory leaks in mirb.
2018-06-20 19:13:43 +09:00
take-cheeze
b8fec13cab
Make codacy happy.
2018-06-20 18:29:11 +09:00
take-cheeze
1d7c69a7cb
Fix dependencies.
2018-06-20 18:23:08 +09:00
take-cheeze
a212428fed
Comment out unused variable.
2018-06-20 18:22:50 +09:00
take-cheeze
633599a2cb
Fix forgotten argument passing.
2018-06-20 18:21:57 +09:00
take-cheeze
dfddc6a09f
Fix dependencies.
2018-06-20 18:21:33 +09:00
take-cheeze
e050cfb349
Add forgotten mkdir_ps.
2018-06-20 18:20:26 +09:00
take-cheeze
26d143bda8
Fix memory leaks in mirb.
2018-06-20 18:16:25 +09:00
Yukihiro "Matz" Matsumoto
f29bc4607a
Add test_dependency from mruby-io to mruby-time.
2018-06-20 15:24:46 +09:00
Yukihiro "Matz" Matsumoto
54cd2623b3
Turn off enable_debug flag in build_config.rb by default.
...
This will improve the default performance of mruby; fix #4045
2018-06-20 15:24:46 +09:00
Yukihiro "Matz" Matsumoto
58d819f317
Merge pull request #4048 from kou/export-mrb-utf8-locale
...
Export mrb_utf8_from_locale() and mrb_locale_from_utf8()
2018-06-20 13:39:59 +09:00
Kouhei Sutou
e38d1d278b
Export mrb_utf8_from_locale() and mrb_locale_from_utf8()
2018-06-20 11:45:15 +09:00
Yukihiro "Matz" Matsumoto
5e7ced0785
Merge pull request #4047 from kou/stop-to-use-freed-value
...
Stop to use freed value
2018-06-19 19:33:37 +09:00
Yukihiro "Matz" Matsumoto
47413d0507
Merge pull request #4046 from kou/fix-wrong-free-function
...
Fix wrong free function
2018-06-19 19:32:18 +09:00
Kouhei Sutou
33c8c8f8a6
Stop to use freed value
2018-06-19 17:27:34 +09:00
Kouhei Sutou
fb9358206e
Fix wrong free function
...
mrb_locale_free() should be used for the return value of
mrb_locale_from_utf8().
2018-06-19 17:25:38 +09:00
Yukihiro "Matz" Matsumoto
a9abf65f03
Fixed wrong usages of mrb_raisef(); ref #4043
...
`mrb_raisef()` only takes `%S` specifier. If you don't have extra
arguments, use `mrb_raise()`.
2018-06-15 07:47:18 +09:00
Yukihiro "Matz" Matsumoto
70600c3ba8
Resolve sign comparison warning; ref #4044
2018-06-14 14:16:04 +09:00
Tomoyuki Sahara
5340d39ed4
Merge pull request #4044 from iij/fixes-from-iij-socket
...
incorporate fixes from iij/socket
2018-06-14 13:58:48 +09:00
Tomoyuki Sahara
af8020e7fd
sa_family_t is not defined on windows.
2018-06-14 13:52:37 +09:00
Tomoyuki Sahara
2eeac91098
set sockaddr_un.sun_len on the systems that have sockaddr.sa_len.
...
If your system has sa_len but is not BSD-derived, define HAVE_SA_LEN=1
on mrbgem.rake or build_config.rb.
2018-06-14 13:36:01 +09:00
Tomoyuki Sahara
5013d2b20f
struct sockaddr_un can be truncated.
...
When we have "struct sockaddr_un *s_un", we could not assume *s_un
points to a memory region which size is at least sizeof(*s_un).
Even worse, it may be shorter than sizeof(struct sockaddr) on some
systems.
2018-06-14 13:28:32 +09:00
Tomoyuki Sahara
3618556a95
struct sockaddr_un can be shorter than struct sockaddr.
...
ref: https://github.com/iij/mruby-socket/issues/45
2018-06-14 13:25:57 +09:00
Yukihiro "Matz" Matsumoto
97933665b6
Restore GC arena after raised exceptions; ref #4042
2018-06-14 11:42:34 +09:00
Yukihiro "Matz" Matsumoto
ba090a46af
Need to add a write barrier for ranges; fix #4042
...
Ranges are almost immutable but `initialize` and `initialize_copy`
modify the receiver so that we need to add a write barrier.
2018-06-14 11:25:12 +09:00
Yukihiro "Matz" Matsumoto
a7f77fefa9
Check for switching to uninitialized fiber; fix #4041
...
The problem was caused by `Fiber.current.resume'.
2018-06-14 11:15:49 +09:00
Yukihiro "Matz" Matsumoto
896de5532b
Merge pull request #4043 from take-cheeze/fix_test_dep
...
Fix unnecessary rebuild of tests.
2018-06-14 10:13:35 +09:00
take-cheeze
f715f2ddea
Fix unnecessary rebuild of tests.
2018-06-13 23:32:08 +09:00
Yukihiro "Matz" Matsumoto
23a4e7149d
Revert "No longer need to insert write barriers for fibers."
...
This reverts commit c6736357a7 .
The assumption was wrong and caused the issue; fix #4020
2018-06-11 14:50:42 +09:00
Yukihiro "Matz" Matsumoto
a9b740b36b
Retrieve b operand from the instruction (for debugging); ref #4020
2018-06-11 14:50:03 +09:00
Yukihiro "Matz" Matsumoto
faa4eaf680
mrb_class_real() did not work for BasicObject; fix #4037
2018-06-08 14:13:06 +09:00
Yukihiro "Matz" Matsumoto
55edae0226
Allow Object#clone to copy frozen status only; fix #4036
...
Copying all flags from the original object may overwrite the clone's
flags e.g. the embedded flag.
2018-06-07 16:17:00 +09:00
Yukihiro "Matz" Matsumoto
cfd0c93d7d
Merge pull request #4035 from katzer/patch-1
...
[mruby-socket] Declare inet_ntop and inet_pton as static
2018-06-07 16:03:14 +09:00
Yukihiro "Matz" Matsumoto
55dcdd26cc
Merge pull request #4039 from i110/i110/fix-broken-lexical-variables
...
fix broken lexical variables
2018-06-07 16:02:30 +09:00
Yukihiro "Matz" Matsumoto
778500563a
Extend stack when pushing arguments that does not fit in; fix #4038
2018-06-07 15:59:00 +09:00
Yukihiro "Matz" Matsumoto
ff0a4f7867
Export stack_extend function (renamed mrb_stack_extend); fix #3219
...
This change is required to support #4038 .
2018-06-07 15:55:20 +09:00
Ichito Nagata
1dbeda5c9c
add test for eval
2018-06-06 15:35:41 +09:00
Ichito Nagata
c2b2bec9e2
Revert "Fix heap use after free on mruby-aws-sigv4."
...
This reverts commit b8869498b7 .
2018-06-06 15:04:58 +09:00
Sebastián Katzer
e7a4699135
Declare inet_ntop and inet_pton as static
...
To avoid conflicts with multiple definitions of inet_ntop and inet_pton if compiled with # define _WIN32_WINNT _WIN32_WINNT_VISTA
C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libWs2_32.a(dghfs00169.o):(.text+0x0): multiple definition of `inet_pton'
722C:/projects/iss/mruby/build/host/lib/libmruby.a(socket.o):C:/projects/iss/mruby/mrbgems/mruby-socket/src/socket.c:80: first defined here
define _WIN32_WINNT _WIN32_WINNT_VISTA
2018-06-05 15:59:12 +02:00
Yukihiro "Matz" Matsumoto
aa5c5de4fd
Merge pull request #4033 from i110/i110/fix-envadjust
...
fix env->stack misadjusting: fix #4029
2018-06-03 20:54:12 +09:00
Ichito Nagata
edaa7a1ba1
fix env->stack misadjusting
2018-06-03 19:40:33 +09:00
Yukihiro "Matz" Matsumoto
395260747a
Instead of defining Hash#dup, we should define Hash#initialize_copy.
...
`Hash#clone` did not work properly; fix #4030
2018-06-01 22:40:42 +09:00
Yukihiro "Matz" Matsumoto
f408143c28
The clone method should copy object status (e.g. frozen) too; #4030
2018-06-01 22:39:40 +09:00
Yukihiro "Matz" Matsumoto
7ed164ba89
Merge pull request #4031 from i110/i110/hash_default
...
let Hash#merge keep ifnone value
2018-06-01 20:29:45 +09:00
Ichito Nagata
4a2b055cdd
let Hash#merge keep ifnone value
2018-06-01 12:48:17 +09:00
Yukihiro "Matz" Matsumoto
b64ce17852
Should not call initialize_copy for TT_ICLASS; fix #4027
...
Since `TT_ICLASS` is a internal object that should never be revealed
to Ruby world.
2018-05-30 17:05:40 +09:00
Yukihiro "Matz" Matsumoto
1dddc2f712
Clear __classname__ of duped class/module; ref #4027
2018-05-30 17:05:05 +09:00
Yukihiro "Matz" Matsumoto
14c21793a0
Check if the exception is frozen; fix #4025
...
`exc_debug_info()` and `mrb_keep_backtrace()` raise `FrozenError`
if the exception is frozen and lead to infinite loop.
2018-05-23 08:30:50 +09:00
Yukihiro "Matz" Matsumoto
c8fb7453fc
Add then alias to yield_self.
...
`then' was added in CRuby 2.6.
2018-05-23 08:30:50 +09:00
Yukihiro "Matz" Matsumoto
a7c8575fe3
Merge pull request #4023 from iwamatsu/fix-upstream
...
Fix test of mruby-pack with big-endian CPUs
2018-05-11 10:34:01 +09:00
Nobuhiro Iwamatsu
0759647f06
Fix test of mruby-pack with big-endian CPUs
...
When running the mruby-pack test with big endian, test data is incorrect,
so it will fail with "i" and "I".
------
Fail: pack/unpack "i" (mrbgems: mruby-pack)
- Assertion[1] Failed: Expected to be equal
Expected: "\xff\xff\xc7\xcf"
Actual: "\xff\xff\xcf\xc7"
- Assertion[2] Failed: Expected to be equal
Expected: [-12345]
Actual: [-14385]
Fail: pack/unpack "I" (mrbgems: mruby-pack)
- Assertion[1] Failed: Expected to be equal
Expected: "\x00\x0090"
Actual: "\x00\x0009"
- Assertion[2] Failed: Expected to be equal
Expected: [12345]
Actual: [14640]
------
This will fix the test data at big-endian.
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org >
2018-05-10 12:54:08 +09:00
Yukihiro "Matz" Matsumoto
bda88bdbea
Merge pull request #4022 from mimaki/mruby-r-option
...
Add `-r` option for `mruby` and `mirb`. (mrbgem is not supported)
2018-05-09 18:31:34 +08:00
Hiroshi Mimaki
e76492c776
Fix CI build errors and warnings.
2018-05-08 09:55:09 +09:00
Hiroshi Mimaki
d973a8ebc4
Add -r option for mruby and mirb.
2018-05-07 18:17:50 +09:00
Yukihiro "Matz" Matsumoto
fc247449e2
Merge pull request #4017 from mimaki/mruby-d-option
...
Add `-d` option for `mruby` and `mirb`.
2018-05-07 14:31:19 +08:00
Hiroshi Mimaki
0c01afc3c9
Fix CI build errors and warnings.
2018-05-07 12:23:32 +09:00
Yukihiro "Matz" Matsumoto
72581696d3
env referred from top-level callinfo should not be unshared; fix #4019
...
Because `mirb` keeps top-level environment across each iteration.
2018-05-03 15:15:30 +09:00
Yukihiro "Matz" Matsumoto
2d4c092de7
Need to call mrb_str_modify() in mrb_str_cat_str(); fix #4018
...
If `str` and `str2` are the same string object `str->ptr` may be
rewritten by `mrb_str_modify()`.
2018-05-02 22:50:55 +09:00
Hiroshi Mimaki
1d16646506
Add -d option for mruby and mirb.
2018-05-02 20:52:02 +09:00
Yukihiro "Matz" Matsumoto
028e34d345
Update MRB_FLO_TO_STR_FMT to "%.16g"; fix #4016
2018-05-01 17:21:01 +09:00
Yukihiro "Matz" Matsumoto
2a38eb9325
Check the return value from mrb_get_datatype(); fix #4009
...
The return value (void*) may be NULL. Avoid using `mrb_get_datatype()`
directly and use `io_get_open_fptr()` instead.
2018-05-01 13:29:08 +09:00
Yukihiro "Matz" Matsumoto
a8122a9d56
Fix stack position in multiple assignment; fix #4008
...
This was caused by a patch from #2684 .
2018-05-01 12:25:04 +09:00
Yukihiro "Matz" Matsumoto
59c8fdd651
Update OP_APOST description; ref #4008
2018-04-28 15:36:23 +09:00
Yukihiro "Matz" Matsumoto
0fee6e1ee9
Fix broken support of MRB_WITHOUT_FLOAT; fix #4015
2018-04-28 15:15:28 +09:00
Yukihiro "Matz" Matsumoto
50a9c5d7c7
Update the patch to not use funcall in C; ref #4013
2018-04-28 11:26:23 +09:00
kimu_shu
4b29abc565
Fix Enumerable#hash on non 32-bit integer conf.
2018-04-28 11:26:23 +09:00
Yukihiro "Matz" Matsumoto
84b499d02b
Merge pull request #4014 from mruby/stable
...
Set the mruby-1.4.1 release date to `2018-4-27`.
2018-04-28 10:08:56 +09:00
Yukihiro "Matz" Matsumoto
b956c0f43c
Merge pull request #4012 from take-cheeze/fix_heap_use_after_free
...
Fix heap use after free on mruby-aws-sigv4.
2018-04-28 10:08:20 +09:00
Hiroshi Mimaki
023070a639
Set the mruby-1.4.1 release date to 2018-4-27.
2018-04-27 11:30:30 +09:00
Takeshi Watanabe
b8869498b7
Fix heap use after free on mruby-aws-sigv4.
2018-04-27 10:45:59 +09:00
Yukihiro "Matz" Matsumoto
1b261382a0
Merge pull request #4011 from kou/fix-gc-env-children
...
Fix wrong the number of marked objects of MRB_TT_ENV in gray mark phase
2018-04-26 23:00:25 +09:00
Kouhei Sutou
4194fe9d65
Fix wrong the number of marked objects of MRB_TT_ENV in gray mark phase
...
If MRB_TT_ENV has stack shared flag or bidx flag, flags is too large
than the real stack size.
2018-04-26 15:25:36 +09:00
Yukihiro "Matz" Matsumoto
1c66d42e47
Merge pull request #4010 from take-cheeze/fix_ary_replace_leak
...
Fix array replace leak error in mruby-uri.
2018-04-25 15:59:56 +09:00
Takeshi Watanabe
e66c990234
Fix array replace leak error in mruby-uri.
2018-04-25 13:27:00 +09:00
Yukihiro "Matz" Matsumoto
8bfad558f8
Merge pull request #4007 from iij/sort-should-not-consume-system-stack
...
sort method should not consume system stack.
2018-04-23 13:15:10 +09:00
Yukihiro "Matz" Matsumoto
1ca06f407b
Merge pull request #4006 from take-cheeze/fix_ub_check
...
Fix undefined error of pointer dereference.
2018-04-23 13:13:36 +09:00
Tomoyuki Sahara
f0e54df4fe
sort method should not consume system stack.
2018-04-23 12:28:15 +09:00
Takeshi Watanabe
25c40c2f12
Fix undefined error of pointer dereference.
2018-04-23 12:06:13 +09:00
Yukihiro "Matz" Matsumoto
2213deeeaa
Implement String#upto in Ruby.
...
Avoid using `mrb_yield` in C code. The function is not recommended.
Because it doesn't work well with fibers.
2018-04-21 22:30:54 +09:00
Yukihiro "Matz" Matsumoto
8b92ab5c7b
CRuby2.6 stops deprecating String#lines with a block.
...
`String#lines` (with a block) is now implemented in Ruby.
2018-04-19 17:33:00 +09:00
Yukihiro "Matz" Matsumoto
c79e81ebc3
String#lines with a block is deprecated style.
2018-04-19 09:07:11 +09:00
Yukihiro "Matz" Matsumoto
54905e98cf
ary_dup() should not use `ary_replace(); fix #4004
...
Otherwise the duplicated object may have shared entities that
should not be modified in-line.
2018-04-18 17:30:33 +09:00
Yukihiro "Matz" Matsumoto
391e24210f
A new function ary_from_values(); ref #4004
2018-04-18 17:29:45 +09:00
Yukihiro "Matz" Matsumoto
c9275bbbed
mrb_io_initialize_copy should not free existing fptr; fix #4005
...
When arguments `copy` and `orig` are the same object.
2018-04-18 17:27:41 +09:00
Yukihiro "Matz" Matsumoto
05db341ef5
mrb_dup() should fail if fd is a negative integer; ref #4005
2018-04-18 17:25:52 +09:00
Yukihiro "Matz" Matsumoto
135b4773e3
Turn off major GC mode before full GC; fix #4000
2018-04-18 00:18:03 +09:00
Yukihiro "Matz" Matsumoto
0866fa38b0
Avoid unnecessary object allocation (addrinfo) in _accept; ref #3999
2018-04-18 00:18:03 +09:00
Yukihiro "Matz" Matsumoto
f7cf5812b1
Merge pull request #4003 from take-cheeze/int32_overflow
...
Fallback to float when compiled binary with 64bit compiler.
2018-04-17 23:08:36 +09:00
Takeshi Watanabe
87ef6aeb02
Fallback to float when caompiled binary with 64bit compiler.
...
closes #3997 .
2018-04-17 22:59:07 +09:00
Yukihiro "Matz" Matsumoto
4880f6dc89
Socket.accept should have returned [fd, addr]; fix #3999
2018-04-17 17:21:49 +09:00
Yukihiro "Matz" Matsumoto
0e76faed8c
Make ary_replace() to share entry buffers if possible.
2018-04-17 17:21:45 +09:00
Yukihiro "Matz" Matsumoto
5c15aa2f3b
Make ary_concat() to replace the receiver when it is empty.
2018-04-17 12:34:30 +09:00
Yukihiro "Matz" Matsumoto
c078783a5a
Make ary_replace() to take struct RArray* argument.
2018-04-17 12:33:01 +09:00
Yukihiro "Matz" Matsumoto
66b1695ba9
Define SOL_IP and SOL_TCP; ref #3999
2018-04-17 12:01:32 +09:00
Yukihiro "Matz" Matsumoto
d88191e7e7
Implement Array#__svalue in C.
2018-04-17 11:32:31 +09:00
Yukihiro "Matz" Matsumoto
b51b21fc63
Fix use after free in File#initilialize_copy; fix #4001
...
The bug and the fix were reported by https://hackerone.com/pnoltof
2018-04-17 09:57:41 +09:00
Yukihiro "Matz" Matsumoto
fabc460880
Invoke full GC when too many objects allocated during GC; fix #3998
...
When object allocation rate during incremental GC is too high, the
`gc->majorgc_old_threshold` becomes too big. This means major GC
start slower and old objects stay longer (and consume too much memory).
2018-04-14 06:18:49 +09:00
Yukihiro "Matz" Matsumoto
3b273243e6
Change MAJOR_GC_INC_RATIO to 120; ref #3998
...
Because 200% is consumes too much memory for some cases.
2018-04-14 06:13:00 +09:00
Yukihiro "Matz" Matsumoto
fc85016a32
Remove DEFAULT_ from DEFAULT_MAJOR_GC_INC_RATIO; ref #3998
...
Because unlike other GC ratio constants, it's not a default value.
2018-04-14 06:12:12 +09:00
Yukihiro "Matz" Matsumoto
c6736357a7
No longer need to insert write barriers for fibers.
...
Those barriers are inserted to fix #3699 but all living fibers are
marked from `mark_context()` anyway now.
2018-04-13 23:46:40 +09:00
Yukihiro "Matz" Matsumoto
e3e87ee26a
The #3871 fix caused wrong break from proc-closure error; fix #3996
2018-04-13 21:56:45 +09:00
Yukihiro "Matz" Matsumoto
4df0380f1e
Add fallthrough comment to silence gcc warning.
2018-04-13 11:23:27 +09:00
Yukihiro "Matz" Matsumoto
4b09c7364e
Silence gcc initializer warning.
2018-04-13 11:22:54 +09:00
Yukihiro "Matz" Matsumoto
1905091634
Check length of env stack before accessing upvar; fix #3995
2018-04-11 10:24:44 +09:00
Yukihiro "Matz" Matsumoto
e340b17252
Merge pull request #3994 from kou/fix-windows-build-error-on-dll-build
...
Fix build error on Windows with MRB_BUILD_AS_DLL
2018-04-10 16:35:48 +09:00
Kouhei Sutou
0bc6c17490
Fix build error on Windows with MRB_BUILD_AS_DLL
...
Error message:
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1098): error C2375: 'mrb_gc_arena_save' : redefinition; different linkage [C:\projects\groonga\vendor\mruby\mruby.vcxproj]
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1083) : see declaration of 'mrb_gc_arena_save'
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1099): error C2375: 'mrb_gc_arena_restore' : redefinition; different linkage [C:\projects\groonga\vendor\mruby\mruby.vcxproj]
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1084) : see declaration of 'mrb_gc_arena_restore'
2018-04-10 15:24:41 +09:00
Yukihiro "Matz" Matsumoto
e9ddb593f3
Merge pull request #3991 from take-cheeze/fix_eval_env_gc
...
Fix possible heap use after free in `mrb_exec_irep` and stack expanding.
2018-04-05 15:44:24 +09:00
Takeshi Watanabe
26e436e247
Adjust environment when mrb_exec_irep happened.
2018-04-05 11:53:30 +09:00
Yukihiro "Matz" Matsumoto
f23c3cddc8
Merge pull request #3990 from mimaki/fix-mrdb-illegal-free
...
Fixed memory failure on mruby debugger.
2018-04-04 15:44:49 +09:00
mimaki
e57d9e6047
Fixed test case for mruby ddebugger.
2018-04-04 14:07:59 +09:00
mimaki
c1b9ec0c30
Fixed illegal memory operation on mruby debugger.
2018-04-04 13:20:40 +09:00
Yukihiro "Matz" Matsumoto
951ebbafdc
Merge pull request #3988 from ksss/each_with_object
...
Refactoring for `Enumerable#each_with_object`
2018-03-28 14:50:41 +09:00
ksss
e683c95e90
Refactoring for Enumerable#each_with_object
...
`each_with_object` arity should be 1
2018-03-27 23:09:10 +09:00
Yukihiro "Matz" Matsumoto
a072015c4e
Merge pull request #3987 from ksss/enum-lazy-zip
...
Reimplement `Enumerable#zip` with Enumerator
2018-03-27 13:53:37 +09:00
Yukihiro "Matz" Matsumoto
211d417b02
Merge pull request #3986 from ksss/enum-zip
...
Support block yielding for Enumerable#zip
2018-03-27 13:52:13 +09:00
ksss
3a22d113ee
Reimplement Enumerable#zip with Enumerator
...
for fix some specs
- [passes each element of the result array to a block and return nil if a block is given](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L11-L17 )
- [converts arguments to arrays using #to_ary](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L23-L27 )
- [converts arguments to enums using #to_enum](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L29-L34 )
- [gathers whole arrays as elements when each yields multiple](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L36-L39 )
2018-03-27 10:53:33 +09:00
ksss
b1c8fad94a
Should raise TypeError instead of NoMethodError
2018-03-27 10:52:32 +09:00
ksss
5a7ce01f12
Support block yielding for Enumerable#zip
2018-03-27 10:51:59 +09:00
Yukihiro "Matz" Matsumoto
203b071ca2
Merge pull request #3985 from take-cheeze/revert_ai_protocol
...
Revert #3984 .
2018-03-26 11:07:50 +09:00
Takeshi Watanabe
baff7c63ee
Revert #3984 .
2018-03-26 11:02:05 +09:00
Yukihiro "Matz" Matsumoto
0da7b4454f
Merge pull request #3984 from take-cheeze/merge_socket
...
Catch up with latest mruby-socket.
2018-03-25 22:25:15 +09:00
Takeshi Watanabe
306cb99b10
Merge commit '36d016afd663d34607c843d03371bedb71efa34e'
2018-03-25 21:10:11 +09:00
Yukihiro "Matz" Matsumoto
4b5c21cf3b
Merge pull request #3982 from take-cheeze/fix_str_cmp
...
Return nil if type differ in `String#<=>`.
2018-03-24 16:27:22 +09:00
Takeshi Watanabe
77a3863a3d
Return nil if type differ in String#<=>.
2018-03-24 16:18:44 +09:00
Yukihiro "Matz" Matsumoto
8e8bc9e40b
Merge pull request #3974 from take-cheeze/repo_path
...
Add `:path` option for git repository.
2018-03-22 17:06:31 +09:00
Takeshi Watanabe
4940ddb9fc
Add :path option for git repository.
2018-03-22 12:42:41 +09:00
Yukihiro "Matz" Matsumoto
fb78f10893
Need to keep block argument in mrb_exec_irep; fix #3973
2018-03-22 01:01:18 +09:00
Yukihiro "Matz" Matsumoto
c8538be471
Needed to set ci->proc in OP_SUPER; fix #3966
2018-03-20 23:16:38 +09:00
Yukihiro "Matz" Matsumoto
a85bc19f35
Merge pull request #3972 from take-cheeze/fix_ary_set_len_assert
...
Set array length after expanding capacity.
2018-03-20 23:15:37 +09:00
Takeshi Watanabe
1218ff5d47
Set array length after expanding capacity.
2018-03-19 21:40:17 +09:00
Tomoyuki Sahara
36d016afd6
Set protocol of AddrInfo
...
backport https://github.com/mruby/mruby/pull/3891
2018-03-16 17:05:37 +09:00
Yukihiro "Matz" Matsumoto
1a8483f17e
__sort_sub__ is a method defined in Array; fix #3970
...
Reorganize `__sort_sub__` arguments.
2018-03-16 14:49:51 +09:00
Yukihiro "Matz" Matsumoto
1abff3f2ab
Merge pull request #3957 from take-cheeze/fix_io_read
...
Pass same mode parameter to `IO.sysopen` and `IO.open` in `IO.read`.
2018-03-16 14:34:44 +09:00
Yukihiro "Matz" Matsumoto
ceeb8c05df
Needed to pass sort block.
2018-03-16 08:20:43 +09:00
Yukihiro "Matz" Matsumoto
ec390e8f1b
Update mrb_get_args reference comment; ref #3963
2018-03-16 08:18:52 +09:00
Yukihiro "Matz" Matsumoto
6c84e6e4a5
Merge pull request #3969 from hfm/patch-1
...
Fix tinytypo
2018-03-16 08:18:38 +09:00
Okumura Takahiro
0664c452ee
Fix tinytypo
2018-03-16 00:19:09 +09:00
Yukihiro "Matz" Matsumoto
59dabb38ab
Merge pull request #3963 from dearblue/forced-block-arguments
...
Give me block by mrb_get_args() (forced block arguments)
2018-03-12 22:14:08 +09:00
Yukihiro "Matz" Matsumoto
843053c97c
Merge pull request #3965 from take-cheeze/patch-1
...
Add same fix as #3964 to lib/mruby/gem.rb .
2018-03-05 10:51:32 +09:00
Takeshi Watanabe
e8cea2accf
Add same fix as #3964 to lib/mruby/gem.rb .
2018-03-05 10:38:44 +09:00
Yukihiro "Matz" Matsumoto
e924501693
Merge pull request #3964 from take-cheeze/patch-1
...
Close `mrb_state` before error exit.
2018-03-05 10:26:02 +09:00
Takeshi Watanabe
0f5cf385b8
Close mrb_state before exit.
2018-03-05 10:13:55 +09:00
Takeshi Watanabe
94aebe3137
Close on exception too.
2018-03-05 10:12:33 +09:00
dearblue
a5ac49de30
fix && to &! in mrb_get_args()
2018-03-04 23:48:45 +09:00
dearblue
2ce6d23db6
add forced block arguments feature to mrb_get_args
2018-03-04 22:23:47 +09:00
Yukihiro "Matz" Matsumoto
10f28fc82d
Add mrb_fiber_alive_p to C API.
2018-03-02 10:14:36 +09:00
Yukihiro "Matz" Matsumoto
a95b6d34aa
Round up the dstlen value; fix #3949
...
The fix was proposed by https://hackerone.com/aerodudrizzt
2018-03-02 10:14:36 +09:00
Takeshi Watanabe
92641248fa
Pass same mode parameter to IO.sysopen and IO.open in IO.read.
2018-02-23 20:42:13 +09:00
Yukihiro "Matz" Matsumoto
097bfdcac5
Merge pull request #3953 from take-cheeze/fix_cross_test_runner_verbose
...
Add verbose flag to cross test runner too. [experimental]
2018-02-17 18:34:46 +09:00
Takeshi Watanabe
5d43a93046
Add verbose flag to cross test runner too.
2018-02-16 23:44:58 +09:00
Yukihiro "Matz" Matsumoto
75c1fccd08
Check if to_int returns fixnum value; fix #3946
2018-02-13 09:12:39 +09:00
Yukihiro "Matz" Matsumoto
ef1a0e6358
Check sizeof(base64_dec_tab) in base64 encoding; fix #3947
...
The issue (and the fix) reported by https://hackerone.com/aerodudrizzt
2018-02-13 08:55:24 +09:00
Yukihiro "Matz" Matsumoto
7483753094
Check negative offset in pack method; fix #3944
2018-02-13 08:48:23 +09:00
Yukihiro "Matz" Matsumoto
c5ec37a8ab
Fixed wrong offset in pack_x function; ref #3944
2018-02-13 08:47:33 +09:00
Yukihiro "Matz" Matsumoto
00845ea908
Use 'mrb_raise instead of mrb_raisef` when no argument given.
2018-02-13 08:35:01 +09:00
Yukihiro "Matz" Matsumoto
1d55260423
String#inspect to use hexadecimal, not octal to print unprintable.
2018-02-12 22:56:24 +09:00
Yukihiro "Matz" Matsumoto
b9523d0e06
Merge pull request #3945 from take-cheeze/fix_dep_core_gems
...
Fix core dependencies resolving in dependencies gems.
2018-02-12 22:41:31 +09:00
Yukihiro "Matz" Matsumoto
2c84d94854
Merge pull request #3915 from llothar/master
...
Uncommented the Visual Studio version check
2018-02-12 09:32:35 +09:00
Yukihiro "Matz" Matsumoto
4790f28d62
Resolve conflicts between labels and conditional ternary; fix #3931
2018-02-12 09:28:09 +09:00
Takeshi Watanabe
3dc8634d86
Fix core dependencies resolving in dependencies gems.
2018-02-10 23:23:57 +09:00
Yukihiro "Matz" Matsumoto
7a116f27e4
Need to determine IS_LABEL_POSSIBLE() properly.
...
Otherwise, `{"a": 1}` will cause `SyntaxError`.
2018-02-10 17:17:36 +09:00
Yukihiro "Matz" Matsumoto
79cfa377e1
Check negative count in pack_x and unpack_x; fix #3944
2018-02-10 16:59:14 +09:00
Yukihiro "Matz" Matsumoto
4f31bcbc84
Add mruby-io and mruby-pack to default.gembox
2018-02-10 16:58:59 +09:00
Yukihiro "Matz" Matsumoto
4c1494d58f
Check if mruby-pack template count overflow; fix #3942
2018-02-09 12:55:13 +09:00
Yukihiro "Matz" Matsumoto
b43c146455
Check ensure proc is NULL before calling; fix #3943
2018-02-09 12:34:54 +09:00
Yukihiro "Matz" Matsumoto
4c18e37f71
Merge pull request #3941 from matsumotory/patch-1
...
Depend mruby-io and mruby-pack in mruby core
2018-02-04 00:01:03 +09:00
MATSUMOTO, Ryosuke
6ae4fb707a
Depend mruby-io and mruby-pack in mruby core
2018-02-03 14:57:12 +09:00
Yukihiro "Matz" Matsumoto
e02cbb4426
Need fcntl.h and sys/stat.h as well for _open; ref #3938
2018-02-02 14:58:09 +09:00
Yukihiro "Matz" Matsumoto
c9fa7b1919
Need to include io.h anyway for _WIN32/64; ref #3938
2018-02-02 14:18:25 +09:00
Yukihiro "Matz" Matsumoto
cafe6ce4f4
Merge pull request #3940 from take-cheeze/fix_proc_ctx_access
...
Fix possible memory access error.
2018-02-02 14:16:10 +09:00
Takeshi Watanabe
3c18ec27e9
Fix possible memory access error.
2018-02-02 13:30:32 +09:00
Yukihiro "Matz" Matsumoto
6f1e1777cb
Merge pull request #3938 from mattn/include-io
...
include io.h on mingw
2018-01-31 12:32:23 +09:00
Yasuhiro Matsumoto
0e0dad7697
include io.h on mingw
2018-01-31 12:18:35 +09:00
Yukihiro "Matz" Matsumoto
f7ff2d0ee3
Define compatibility only for _MSC_VER; ref #3923
...
Suggested by @mattn.
2018-01-31 12:10:51 +09:00
Yukihiro "Matz" Matsumoto
1ad2dd6187
Merge pull request #3923 from ksss/tempnam
...
Shouldn't use tempnam
2018-01-31 11:58:49 +09:00
ksss
e422ba0bff
Use mkstemp instead of tempnam
2018-01-31 11:34:29 +09:00
Yukihiro "Matz" Matsumoto
55431b4cef
Need not to pop callinfo on OP_STOP.
2018-01-30 22:55:58 +09:00
Yukihiro "Matz" Matsumoto
43594843d7
Merge pull request #3937 from mattn/file-mtime
...
add File#mtime
2018-01-30 21:39:08 +09:00
Yasuhiro Matsumoto
f4f006ba40
add File#mtime
2018-01-30 16:02:00 +09:00
Yukihiro "Matz" Matsumoto
3498a787ba
Merge pull request #3936 from ken-mu/uint
...
mruby-time: support time_t is uint
2018-01-30 12:42:49 +09:00
ken-mu
a1b71b64b3
mruby-time: remove ifdef for mktime error handling
2018-01-29 09:43:43 +00:00
ken-mu
6a2c0c6e2a
mruby-time: support time_t is uint
2018-01-28 03:03:20 +00:00
Yukihiro "Matz" Matsumoto
83f2654bac
Do not use MRB_METHOD_TABLE_INLINE by default; fix #3924
...
It was default on Linux. Abandoned for 2 reasons:
* some cross-platform compiler defines `__linux__` even on bare metal
environment (RTL8196 (MIPS big endian soc) for example).
* some compilers do not align functions pointers so that we need to
specify `-falign-functions=n` (where n>1). It's not suitable for
default configuration.
By our measurement, `mrbtest` consumes 400KB less memory. So if your
target machine is memory tight, add the following command-line options
to `GCC` (unfortunately `clang` does not support `-falign-functions`).
`-falign-functions=2 -DMRB_METHOD_TABLE_INLINE`
2018-01-25 14:22:01 +09:00
Yukihiro "Matz" Matsumoto
ec1a5af719
Use LSB not MSB for MRB_METHOD_TABLE_INLINE; ref #3924
2018-01-25 14:02:38 +09:00
Yukihiro "Matz" Matsumoto
d895861a30
Check arena_idx before accessing; fix #3934
2018-01-25 12:30:10 +09:00
Yukihiro "Matz" Matsumoto
0e93f1ff12
Merge pull request #3921 from ksss/cloexec
...
Should be true for close_on_exec flag
2018-01-24 22:04:05 +09:00
Yukihiro "Matz" Matsumoto
dfb56074d6
Add big_endian and little_endian methods to CrossBuild; ref #3922
...
When your target machine is big endian, specify as following in the
`build_config.rb`:
```ruby
MRuby::CrossBuild.new('32bit') do |conf|
toolchain :gcc
conf.big_endian
end
```
2018-01-24 21:42:25 +09:00
Yukihiro "Matz" Matsumoto
3ff56a8e55
Time.new(1969,12,31,23,59,59) may or may not faile; ref #3932
...
On some platform and timezone it is a valid time spec.
2018-01-24 21:42:25 +09:00
Yukihiro "Matz" Matsumoto
f8ab3c1eeb
Merge pull request #3932 from ken-mu/timegm
...
mruby-time: Fix mruby specific timegm() cannot return minus
2018-01-21 21:10:01 +09:00
ken-mu
d398cd47d7
mruby-time: remove test case less than Dec 31 23:59:58 1969
2018-01-21 02:47:17 +00:00
ken-mu
a1f36316d2
mruby-time: Fix mruby specific timegm() cannot return minus
2018-01-20 13:09:58 +00:00
Yukihiro "Matz" Matsumoto
e5fb21b6d2
Detect cyclic link of class path references; fix #3926
2018-01-17 09:41:26 +09:00
Yukihiro "Matz" Matsumoto
3ae621fcb3
Typo fixed.
2018-01-17 09:38:41 +09:00
Yukihiro "Matz" Matsumoto
ec63b1a0e0
Limit size of iseq buffer; fix #3927
2018-01-16 15:17:56 +09:00
Yukihiro "Matz" Matsumoto
ca837b1a24
Allow -> do rescue; end as well as proc do rescue; end [Ruby2.6]
2018-01-16 15:08:51 +09:00
Yukihiro "Matz" Matsumoto
03e88b9ae0
Merge pull request #3930 from mruby/stable
...
Set the mruby-1.4.0 release date to `2018-1-16`.
2018-01-16 15:07:53 +09:00
ksss
dc9c40f72d
Remove trailing space
2018-01-14 22:40:46 +09:00
ksss
540efd3730
IO#close_on_exec? is not supported on MinGW
2018-01-14 22:40:46 +09:00
ksss
e5e9d03482
Should be true for close_on_exec flag
2018-01-14 22:40:45 +09:00
Lothar Scholz
a9d0d90f74
Removed the Visual Studio Version Check because it does not
...
work with internationalized versions of Visual Studio. It will capture
the returned string in the local codepage encoding and make ruby exits
with an invalid UTF8 error message.
Also "Version" might be translated and not appear in the output.
2017-12-24 06:28:38 +01:00