Commit Graph

7961 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto ab63ee61ca Fixed out-of-bounds access of ensure[]; ref #3491 2017-04-03 18:47:38 +09:00
Yukihiro "Matz" Matsumoto b8461c8681 Protect ensure clause lambdas from GC; fix #3491 2017-04-03 18:38:49 +09:00
Yukihiro "Matz" Matsumoto 6a992a2579 Merge pull request #3577 from okkez/fix-return-value-of-each-slice
Change return value of Enumerable#each_slice
2017-04-03 18:04:57 +09:00
Yukihiro "Matz" Matsumoto fea8d00ef2 Merge pull request #3576 from okkez/fix-return-value-of-each-cons
Change return value of Enumberable#each_cons
2017-04-03 18:04:33 +09:00
Yukihiro "Matz" Matsumoto 0a1f15e57c Insert mrb_field_write_barrier() for GC; fix #3534 2017-04-03 18:01:43 +09:00
Yukihiro "Matz" Matsumoto 246db71139 Add struct REnv to union RVALUE; ref #3534 2017-04-03 18:01:17 +09:00
Yukihiro "Matz" Matsumoto 77331d127b Unify else clause style 2017-04-03 16:56:27 +09:00
Yukihiro "Matz" Matsumoto fbf4089d2f Remove spaces around parens 2017-04-03 16:49:18 +09:00
Kenji Okimoto cff54ab2f3 Change return value of Enumerable#each_slice
More compatibility to CRuby.
2017-04-03 16:46:47 +09:00
Kenji Okimoto 4975aa4c1c Change return value of Enumberable#each_cons
More compatibility to CRuby.
2017-04-03 16:42:53 +09:00
Yukihiro "Matz" Matsumoto 666787beb2 Adjust exit point in loop_pop(); fix #3541 2017-04-03 12:41:27 +09:00
Yukihiro "Matz" Matsumoto d35fcf1ea2 NODE_SPLAT to pass VAL/NOVAL; fix #3532 2017-04-03 12:02:39 +09:00
Yukihiro "Matz" Matsumoto f5632f2f12 Restrict recursion levels in method_missing(); fix #3556
Note this is a temporary fix. Error message generation
(including `inspect`) should be deferred until its use.
2017-04-03 10:50:31 +09:00
Yukihiro "Matz" Matsumoto d27a3d47cd String#initialize to make a string empty; ref #3574 2017-04-03 10:22:38 +09:00
Yukihiro "Matz" Matsumoto a14a930c80 Remove unnecessary indirection; ref #3557 2017-04-03 10:03:58 +09:00
Yukihiro "Matz" Matsumoto 8193c0b566 Check before generating special operators (e.g. OP_ADD); fix #3557 2017-04-03 10:01:44 +09:00
Yukihiro "Matz" Matsumoto a49c9f86e7 Update callinfo->target_class in mrb_exec_irep(); fix #3543 2017-04-03 00:05:16 +09:00
Yukihiro "Matz" Matsumoto 081535bf02 Merge pull request #3573 from ksss/parameters
Fix parameters when noname rest
2017-04-02 23:54:30 +09:00
ksss 7f983928b9 Reduce object allocation 2017-04-02 23:34:26 +09:00
ksss be5c304b4c Fix parameters when noname rest 2017-04-02 23:30:05 +09:00
Yukihiro "Matz" Matsumoto 5d00e85314 Fixed out of bounds access; fix #3572, ref #3553 2017-04-02 20:32:11 +09:00
Yukihiro "Matz" Matsumoto 5a445f012e Add alias "append" to Array#push, and "prepend" to Array#unshift.
According to CRuby [Feature#12746]
2017-04-01 21:27:23 +09:00
Yukihiro "Matz" Matsumoto 93d802987e Extend VM stack just in case; ref #3551 2017-04-01 21:21:57 +09:00
Yukihiro "Matz" Matsumoto 071164b799 Should not shrink VM stack; fix #3551 2017-04-01 18:54:37 +09:00
Yukihiro "Matz" Matsumoto 56322cd5dd Pacify signed warning; ref #3565 2017-04-01 18:41:55 +09:00
Yukihiro "Matz" Matsumoto dcbfe71625 NODE_ASGN arguments may be 127 (CALL_MAXARGS) accidentally; fix #3559 2017-04-01 14:11:15 +09:00
Yukihiro "Matz" Matsumoto e22f37a166 Argument order of __case_eqq was wrong; fix #3567 2017-04-01 13:42:44 +09:00
Yukihiro "Matz" Matsumoto 1e87dfdf48 The stack may be reallocated in the func call; fix #3560 2017-04-01 13:20:19 +09:00
Yukihiro "Matz" Matsumoto 8d9d7c929e Improve Time.new() performance using division; fix #3561 2017-04-01 13:03:34 +09:00
Yukihiro "Matz" Matsumoto 195af525fb Expand stack for method_missing; fix #3528 2017-04-01 12:42:11 +09:00
Yukihiro "Matz" Matsumoto 9eb2ed0879 Merge pull request #3571 from keizo042/fix_get_constant_of_module_from_sigleton
Modify to get constant of parent module in singleton class; fix #3568
2017-03-31 16:39:21 +09:00
Kouichi Nakanishi 507e00e86f Modify to get constant of parent module in singleton class; fix #3568 2017-03-31 13:43:20 +09:00
Yukihiro "Matz" Matsumoto 39ca4ef3bc Avoid crash if hv.n is greater than kh_size(h); fix #3565
The resulting behavior is different from CRuby, but modifying
hash key afterwards is undefined behavior in ISO spec.
2017-03-31 13:02:01 +09:00
Yukihiro "Matz" Matsumoto 952207d243 small cosmetic change; ref #3570 2017-03-30 17:10:44 +09:00
Yukihiro "Matz" Matsumoto 669b18383d Merge pull request #3570 from keizo042/fix_cv_definition_in_singleton
Modify class variable definition in singleton class; fix #3539
2017-03-30 17:09:43 +09:00
Kouichi Nakanishi 5efe77fede Modify class variable definition in singleton class; fix #3539 2017-03-30 16:29:47 +09:00
Yukihiro "Matz" Matsumoto 898077a2c2 Merge pull request #3566 from okkez/fix-enumerator-each-with-index
Fix Enumerator#each_with_index with block
2017-03-30 14:49:34 +09:00
Kenji Okimoto d93a5c1a84 Fix Enumerator#each_with_index with block
In previous version,

```
a = [3, 2, 1]
e = a.each
e.sort_by(&:to_i) # => []
```

In this version,

```
a = [3, 2, 1]
e = a.each
e.sort_by(&:to_i) # => [1, 2, 3]
```
2017-03-30 10:53:55 +09:00
Yukihiro "Matz" Matsumoto 905f46a129 Merge pull request #3558 from ksss/domain
Should raise FloatDomainError
2017-03-29 12:50:42 +09:00
ksss db3573e0bf Should raise FloatDomainError 2017-03-29 11:59:19 +09:00
Yukihiro "Matz" Matsumoto 1f6bf0e14f Merge pull request #3563 from clayton-shopify/dup-renumber-keys
Renumber hash keys during dup since there may be duplicates.
2017-03-29 09:43:33 +09:00
Yukihiro "Matz" Matsumoto 506c05f01d Merge pull request #3564 from okkez/set-proper-class-to-subclass-of-array
Set proper class to subclass of Array
2017-03-29 09:40:44 +09:00
okkez 6dbe2272cf Set proper class to subclass of Array
More compatibility to CRuby.
2017-03-29 08:02:21 +09:00
Clayton Smith a6e25f73a0 Renumber hash keys during dup since there may be duplicates. 2017-03-28 16:31:19 -04:00
Yukihiro "Matz" Matsumoto 5ec051fc34 Avoid inline local variable declarations; fix #3554 2017-03-28 18:22:05 +09:00
Yukihiro "Matz" Matsumoto 1bdaf9c840 Merge pull request #3553 from okkez/add-array-slice-bang
Implement Array#slice!
2017-03-28 15:24:52 +09:00
Kenji Okimoto 33f77fe367 Implement Array#slice! 2017-03-28 15:07:57 +09:00
Yukihiro "Matz" Matsumoto 0f5289326f Merge pull request #3552 from ksss/time
Fix infinity loop ref #3546
2017-03-28 14:47:23 +09:00
ksss 397f1fc946 Fix infinity loop
And some cases should raise FloatDomainError
2017-03-28 10:58:18 +09:00
Yukihiro "Matz" Matsumoto 66980493ae Merge pull request #3544 from ksss/lineno
Fix lost lineno
2017-03-27 11:50:18 +09:00