@@ -44,7 +44,7 @@ rb_enum_values_pack(int argc, VALUE *argv)
44
44
#define enum_yield rb_yield_values2
45
45
46
46
static VALUE
47
- grep_i (VALUE i , VALUE args , int argc , VALUE * argv )
47
+ grep_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
48
48
{
49
49
NODE * memo = RNODE (args );
50
50
ENUM_WANT_SVALUE ();
@@ -56,7 +56,7 @@ grep_i(VALUE i, VALUE args, int argc, VALUE *argv)
56
56
}
57
57
58
58
static VALUE
59
- grep_iter_i (VALUE i , VALUE args , int argc , VALUE * argv )
59
+ grep_iter_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
60
60
{
61
61
NODE * memo = RNODE (args );
62
62
ENUM_WANT_SVALUE ();
@@ -97,7 +97,7 @@ enum_grep(VALUE obj, VALUE pat)
97
97
}
98
98
99
99
static VALUE
100
- count_i (VALUE i , VALUE memop , int argc , VALUE * argv )
100
+ count_i (VALUE i , VALUE memop , int argc , VALUE * argv , VALUE blockarg )
101
101
{
102
102
NODE * memo = RNODE (memop );
103
103
@@ -110,7 +110,7 @@ count_i(VALUE i, VALUE memop, int argc, VALUE *argv)
110
110
}
111
111
112
112
static VALUE
113
- count_iter_i (VALUE i , VALUE memop , int argc , VALUE * argv )
113
+ count_iter_i (VALUE i , VALUE memop , int argc , VALUE * argv , VALUE blockarg )
114
114
{
115
115
NODE * memo = RNODE (memop );
116
116
@@ -121,7 +121,7 @@ count_iter_i(VALUE i, VALUE memop, int argc, VALUE *argv)
121
121
}
122
122
123
123
static VALUE
124
- count_all_i (VALUE i , VALUE memop , int argc , VALUE * argv )
124
+ count_all_i (VALUE i , VALUE memop , int argc , VALUE * argv , VALUE blockarg )
125
125
{
126
126
NODE * memo = RNODE (memop );
127
127
@@ -176,7 +176,7 @@ enum_count(int argc, VALUE *argv, VALUE obj)
176
176
}
177
177
178
178
static VALUE
179
- find_i (VALUE i , VALUE memop , int argc , VALUE * argv )
179
+ find_i (VALUE i , VALUE memop , int argc , VALUE * argv , VALUE blockarg )
180
180
{
181
181
ENUM_WANT_SVALUE ();
182
182
@@ -228,7 +228,7 @@ enum_find(int argc, VALUE *argv, VALUE obj)
228
228
}
229
229
230
230
static VALUE
231
- find_index_i (VALUE i , VALUE memop , int argc , VALUE * argv )
231
+ find_index_i (VALUE i , VALUE memop , int argc , VALUE * argv , VALUE blockarg )
232
232
{
233
233
NODE * memo = RNODE (memop );
234
234
@@ -243,7 +243,7 @@ find_index_i(VALUE i, VALUE memop, int argc, VALUE *argv)
243
243
}
244
244
245
245
static VALUE
246
- find_index_iter_i (VALUE i , VALUE memop , int argc , VALUE * argv )
246
+ find_index_iter_i (VALUE i , VALUE memop , int argc , VALUE * argv , VALUE blockarg )
247
247
{
248
248
NODE * memo = RNODE (memop );
249
249
@@ -299,7 +299,7 @@ enum_find_index(int argc, VALUE *argv, VALUE obj)
299
299
}
300
300
301
301
static VALUE
302
- find_all_i (VALUE i , VALUE ary , int argc , VALUE * argv )
302
+ find_all_i (VALUE i , VALUE ary , int argc , VALUE * argv , VALUE blockarg )
303
303
{
304
304
ENUM_WANT_SVALUE ();
305
305
@@ -351,7 +351,7 @@ enum_find_all(VALUE obj)
351
351
}
352
352
353
353
static VALUE
354
- reject_i (VALUE i , VALUE ary , int argc , VALUE * argv )
354
+ reject_i (VALUE i , VALUE ary , int argc , VALUE * argv , VALUE blockarg )
355
355
{
356
356
ENUM_WANT_SVALUE ();
357
357
@@ -392,7 +392,7 @@ enum_reject(VALUE obj)
392
392
}
393
393
394
394
static VALUE
395
- collect_i (VALUE i , VALUE ary , int argc , VALUE * argv )
395
+ collect_i (VALUE i , VALUE ary , int argc , VALUE * argv , VALUE blockarg )
396
396
{
397
397
rb_ary_push (ary , enum_yield (argc , argv ));
398
398
@@ -439,7 +439,7 @@ enum_collect(VALUE obj)
439
439
}
440
440
441
441
static VALUE
442
- flat_map_i (VALUE i , VALUE ary , int argc , VALUE * argv )
442
+ flat_map_i (VALUE i , VALUE ary , int argc , VALUE * argv , VALUE blockarg )
443
443
{
444
444
VALUE tmp ;
445
445
@@ -510,7 +510,7 @@ enum_to_a(int argc, VALUE *argv, VALUE obj)
510
510
}
511
511
512
512
static VALUE
513
- enum_to_h_i (VALUE i , VALUE hash , int argc , VALUE * argv )
513
+ enum_to_h_i (VALUE i , VALUE hash , int argc , VALUE * argv , VALUE blockarg )
514
514
{
515
515
ENUM_WANT_SVALUE ();
516
516
rb_thread_check_ints ();
@@ -543,7 +543,7 @@ enum_to_h(int argc, VALUE *argv, VALUE obj)
543
543
}
544
544
545
545
static VALUE
546
- inject_i (VALUE i , VALUE p , int argc , VALUE * argv )
546
+ inject_i (VALUE i , VALUE p , int argc , VALUE * argv , VALUE blockarg )
547
547
{
548
548
NODE * memo = RNODE (p );
549
549
@@ -560,7 +560,7 @@ inject_i(VALUE i, VALUE p, int argc, VALUE *argv)
560
560
}
561
561
562
562
static VALUE
563
- inject_op_i (VALUE i , VALUE p , int argc , VALUE * argv )
563
+ inject_op_i (VALUE i , VALUE p , int argc , VALUE * argv , VALUE blockarg )
564
564
{
565
565
NODE * memo = RNODE (p );
566
566
VALUE name ;
@@ -631,7 +631,7 @@ enum_inject(int argc, VALUE *argv, VALUE obj)
631
631
{
632
632
NODE * memo ;
633
633
VALUE init , op ;
634
- VALUE ( * iter )( VALUE , VALUE , int , VALUE * ) = inject_i ;
634
+ rb_block_call_func * iter = inject_i ;
635
635
ID id ;
636
636
637
637
switch (rb_scan_args (argc , argv , "02" , & init , & op )) {
@@ -662,7 +662,7 @@ enum_inject(int argc, VALUE *argv, VALUE obj)
662
662
}
663
663
664
664
static VALUE
665
- partition_i (VALUE i , VALUE arys , int argc , VALUE * argv )
665
+ partition_i (VALUE i , VALUE arys , int argc , VALUE * argv , VALUE blockarg )
666
666
{
667
667
NODE * memo = RNODE (arys );
668
668
VALUE ary ;
@@ -707,7 +707,7 @@ enum_partition(VALUE obj)
707
707
}
708
708
709
709
static VALUE
710
- group_by_i (VALUE i , VALUE hash , int argc , VALUE * argv )
710
+ group_by_i (VALUE i , VALUE hash , int argc , VALUE * argv , VALUE blockarg )
711
711
{
712
712
VALUE group ;
713
713
VALUE values ;
@@ -756,7 +756,7 @@ enum_group_by(VALUE obj)
756
756
}
757
757
758
758
static VALUE
759
- first_i (VALUE i , VALUE params , int argc , VALUE * argv )
759
+ first_i (VALUE i , VALUE params , int argc , VALUE * argv , VALUE blockarg )
760
760
{
761
761
NODE * memo = RNODE (params );
762
762
ENUM_WANT_SVALUE ();
@@ -832,7 +832,7 @@ struct sort_by_data {
832
832
};
833
833
834
834
static VALUE
835
- sort_by_i (VALUE i , VALUE _data , int argc , VALUE * argv )
835
+ sort_by_i (VALUE i , VALUE _data , int argc , VALUE * argv , VALUE blockarg )
836
836
{
837
837
struct sort_by_data * data = (struct sort_by_data * )& RNODE (_data )-> u1 ;
838
838
VALUE ary = data -> ary ;
@@ -1162,7 +1162,7 @@ enum_none(VALUE obj)
1162
1162
}
1163
1163
1164
1164
static VALUE
1165
- min_i (VALUE i , VALUE args , int argc , VALUE * argv )
1165
+ min_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
1166
1166
{
1167
1167
VALUE cmp ;
1168
1168
NODE * memo = RNODE (args );
@@ -1234,7 +1234,7 @@ enum_min(VALUE obj)
1234
1234
}
1235
1235
1236
1236
static VALUE
1237
- max_i (VALUE i , VALUE args , int argc , VALUE * argv )
1237
+ max_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
1238
1238
{
1239
1239
NODE * memo = RNODE (args );
1240
1240
VALUE cmp ;
@@ -1334,7 +1334,7 @@ minmax_i_update(VALUE i, VALUE j, struct minmax_t *memo)
1334
1334
}
1335
1335
1336
1336
static VALUE
1337
- minmax_i (VALUE i , VALUE _memo , int argc , VALUE * argv )
1337
+ minmax_i (VALUE i , VALUE _memo , int argc , VALUE * argv , VALUE blockarg )
1338
1338
{
1339
1339
struct minmax_t * memo = (struct minmax_t * )& RNODE (_memo )-> u1 .value ;
1340
1340
int n ;
@@ -1458,7 +1458,7 @@ enum_minmax(VALUE obj)
1458
1458
}
1459
1459
1460
1460
static VALUE
1461
- min_by_i (VALUE i , VALUE args , int argc , VALUE * argv )
1461
+ min_by_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
1462
1462
{
1463
1463
NODE * memo = RNODE (args );
1464
1464
VALUE v ;
@@ -1504,7 +1504,7 @@ enum_min_by(VALUE obj)
1504
1504
}
1505
1505
1506
1506
static VALUE
1507
- max_by_i (VALUE i , VALUE args , int argc , VALUE * argv )
1507
+ max_by_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
1508
1508
{
1509
1509
NODE * memo = RNODE (args );
1510
1510
VALUE v ;
@@ -1580,7 +1580,7 @@ minmax_by_i_update(VALUE v1, VALUE v2, VALUE i1, VALUE i2, struct minmax_by_t *m
1580
1580
}
1581
1581
1582
1582
static VALUE
1583
- minmax_by_i (VALUE i , VALUE _memo , int argc , VALUE * argv )
1583
+ minmax_by_i (VALUE i , VALUE _memo , int argc , VALUE * argv , VALUE blockarg )
1584
1584
{
1585
1585
struct minmax_by_t * memo = MEMO_FOR (struct minmax_by_t , _memo );
1586
1586
VALUE vi , vj , j ;
@@ -1656,7 +1656,7 @@ enum_minmax_by(VALUE obj)
1656
1656
}
1657
1657
1658
1658
static VALUE
1659
- member_i (VALUE iter , VALUE args , int argc , VALUE * argv )
1659
+ member_i (VALUE iter , VALUE args , int argc , VALUE * argv , VALUE blockarg )
1660
1660
{
1661
1661
NODE * memo = RNODE (args );
1662
1662
@@ -1690,7 +1690,7 @@ enum_member(VALUE obj, VALUE val)
1690
1690
}
1691
1691
1692
1692
static VALUE
1693
- each_with_index_i (VALUE i , VALUE memo , int argc , VALUE * argv )
1693
+ each_with_index_i (VALUE i , VALUE memo , int argc , VALUE * argv , VALUE blockarg )
1694
1694
{
1695
1695
long n = RNODE (memo )-> u3 .cnt ++ ;
1696
1696
@@ -1766,7 +1766,7 @@ enum_reverse_each(int argc, VALUE *argv, VALUE obj)
1766
1766
1767
1767
1768
1768
static VALUE
1769
- each_val_i (VALUE i , VALUE p , int argc , VALUE * argv )
1769
+ each_val_i (VALUE i , VALUE p , int argc , VALUE * argv , VALUE blockarg )
1770
1770
{
1771
1771
ENUM_WANT_SVALUE ();
1772
1772
rb_yield (i );
@@ -1811,7 +1811,7 @@ enum_each_entry(int argc, VALUE *argv, VALUE obj)
1811
1811
}
1812
1812
1813
1813
static VALUE
1814
- each_slice_i (VALUE i , VALUE m , int argc , VALUE * argv )
1814
+ each_slice_i (VALUE i , VALUE m , int argc , VALUE * argv , VALUE blockarg )
1815
1815
{
1816
1816
NODE * memo = RNODE (m );
1817
1817
VALUE ary = memo -> u1 .value ;
@@ -1878,7 +1878,7 @@ enum_each_slice(VALUE obj, VALUE n)
1878
1878
}
1879
1879
1880
1880
static VALUE
1881
- each_cons_i (VALUE i , VALUE args , int argc , VALUE * argv )
1881
+ each_cons_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
1882
1882
{
1883
1883
NODE * memo = RNODE (args );
1884
1884
VALUE ary = memo -> u1 .value ;
@@ -1946,7 +1946,7 @@ enum_each_cons(VALUE obj, VALUE n)
1946
1946
}
1947
1947
1948
1948
static VALUE
1949
- each_with_object_i (VALUE i , VALUE memo , int argc , VALUE * argv )
1949
+ each_with_object_i (VALUE i , VALUE memo , int argc , VALUE * argv , VALUE blockarg )
1950
1950
{
1951
1951
ENUM_WANT_SVALUE ();
1952
1952
return rb_yield_values (2 , i , memo );
@@ -1977,8 +1977,9 @@ enum_each_with_object(VALUE obj, VALUE memo)
1977
1977
}
1978
1978
1979
1979
static VALUE
1980
- zip_ary (VALUE val , NODE * memo , int argc , VALUE * argv )
1980
+ zip_ary (VALUE val , VALUE memoval , int argc , VALUE * argv , VALUE blockarg )
1981
1981
{
1982
+ NODE * memo = (NODE * )memoval ;
1982
1983
volatile VALUE result = memo -> u1 .value ;
1983
1984
volatile VALUE args = memo -> u2 .value ;
1984
1985
long n = memo -> u3 .cnt ++ ;
@@ -2019,8 +2020,9 @@ call_stop(VALUE *v)
2019
2020
}
2020
2021
2021
2022
static VALUE
2022
- zip_i (VALUE val , NODE * memo , int argc , VALUE * argv )
2023
+ zip_i (VALUE val , VALUE memoval , int argc , VALUE * argv , VALUE blockarg )
2023
2024
{
2025
+ NODE * memo = (NODE * )memoval ;
2024
2026
volatile VALUE result = memo -> u1 .value ;
2025
2027
volatile VALUE args = memo -> u2 .value ;
2026
2028
volatile VALUE tmp ;
@@ -2116,7 +2118,7 @@ enum_zip(int argc, VALUE *argv, VALUE obj)
2116
2118
}
2117
2119
2118
2120
static VALUE
2119
- take_i (VALUE i , VALUE args , int argc , VALUE * argv )
2121
+ take_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
2120
2122
{
2121
2123
NODE * memo = RNODE (args );
2122
2124
rb_ary_push (memo -> u1 .value , rb_enum_values_pack (argc , argv ));
@@ -2155,7 +2157,7 @@ enum_take(VALUE obj, VALUE n)
2155
2157
2156
2158
2157
2159
static VALUE
2158
- take_while_i (VALUE i , VALUE ary , int argc , VALUE * argv )
2160
+ take_while_i (VALUE i , VALUE ary , int argc , VALUE * argv , VALUE blockarg )
2159
2161
{
2160
2162
if (!RTEST (enum_yield (argc , argv ))) rb_iter_break ();
2161
2163
rb_ary_push (ary , rb_enum_values_pack (argc , argv ));
@@ -2189,7 +2191,7 @@ enum_take_while(VALUE obj)
2189
2191
}
2190
2192
2191
2193
static VALUE
2192
- drop_i (VALUE i , VALUE args , int argc , VALUE * argv )
2194
+ drop_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
2193
2195
{
2194
2196
NODE * memo = RNODE (args );
2195
2197
if (memo -> u3 .cnt == 0 ) {
@@ -2232,7 +2234,7 @@ enum_drop(VALUE obj, VALUE n)
2232
2234
2233
2235
2234
2236
static VALUE
2235
- drop_while_i (VALUE i , VALUE args , int argc , VALUE * argv )
2237
+ drop_while_i (VALUE i , VALUE args , int argc , VALUE * argv , VALUE blockarg )
2236
2238
{
2237
2239
NODE * memo = RNODE (args );
2238
2240
ENUM_WANT_SVALUE ();
@@ -2276,7 +2278,7 @@ enum_drop_while(VALUE obj)
2276
2278
}
2277
2279
2278
2280
static VALUE
2279
- cycle_i (VALUE i , VALUE ary , int argc , VALUE * argv )
2281
+ cycle_i (VALUE i , VALUE ary , int argc , VALUE * argv , VALUE blockarg )
2280
2282
{
2281
2283
ENUM_WANT_SVALUE ();
2282
2284
@@ -2413,7 +2415,7 @@ chunk_ii(VALUE i, VALUE _argp, int argc, VALUE *argv)
2413
2415
}
2414
2416
2415
2417
static VALUE
2416
- chunk_i (VALUE yielder , VALUE enumerator , int argc , VALUE * argv )
2418
+ chunk_i (VALUE yielder , VALUE enumerator , int argc , VALUE * argv , VALUE blockarg )
2417
2419
{
2418
2420
VALUE enumerable ;
2419
2421
VALUE arg ;
@@ -2587,7 +2589,7 @@ slicebefore_ii(VALUE i, VALUE _argp, int argc, VALUE *argv)
2587
2589
}
2588
2590
2589
2591
static VALUE
2590
- slicebefore_i (VALUE yielder , VALUE enumerator , int argc , VALUE * argv )
2592
+ slicebefore_i (VALUE yielder , VALUE enumerator , int argc , VALUE * argv , VALUE blockarg )
2591
2593
{
2592
2594
VALUE enumerable ;
2593
2595
VALUE arg ;
0 commit comments