-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
4250 lines (2658 loc) · 142 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Fri May 6 08:16:26 2016 David Silva <david.silva@digital.cabinet-office.gov.uk>
* enum.c (enum_find): [DOC] add more examples to the documentation
of Enumerable#detect, to show that it equals to Enumerable#find.
[Fix GH-1340]
Thu May 5 18:08:31 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* test/ruby/test_complexrational.rb: Remove duplicated raise.
Thu May 5 14:41:05 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* string.c (rb_str_sub): Fix a special match variable name.
[ci skip]
Thu May 5 12:22:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the
same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with
the current thread global variable.
Thu May 5 10:49:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* random.c (fill_random_bytes_syscall): use arc4random_buf if
available.
Wed May 4 23:13:58 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* numeric.c (fix_plus): Remove rb_nucomp_add prototype
declaration.
* numeric.c (fix_mul): Remove rb_nucomp_mul prototype
declaration.
* internal.h (rb_nucomp_add, rb_nucomp_mul): add prototype
declarations.
Wed May 4 18:38:00 2016 Kazuki Tsujimoto <kazuki@callcc.net>
* lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name,
each_capitalized_name,each_value,each_capitalized}): Return
sized enumerators.
* test/net/http/test_httpheader.rb: add test for above.
Wed May 4 17:53:15 2016 Kazuki Tsujimoto <kazuki@callcc.net>
* lib/set.rb (Set#{delete_if,keep_if,collect!,reject!,select!,classify,divide},
SortedSet#{delete_if,keep_if}): Return sized enumerators.
* test/test_set.rb: add test for above.
Tue May 3 23:25:48 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* numeric.c: [DOC] Update result of 123456789 ** -2.
[ruby-dev:49606] [Bug #12339]
Tue May 3 23:13:16 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG
instead of duplicated undef RCOMPLEX_SET_REAL.
Tue May 3 22:55:07 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* complex.c (rb_complex_set_imag): Fix to properly set imag
of complex.
Tue May 3 22:19:55 2016 NARUSE, Yui <naruse@ruby-lang.org>
* configure.in (warnflags): use -std=gnu99 instead of
-std=iso9899:1999. [Feature #12336]
Tue May 3 22:10:09 2016 NARUSE, Yui <naruse@ruby-lang.org>
* string.c (count_utf8_lead_bytes_with_word): Use __builtin_popcount
only if it can use SSE 4.2 POPCNT whose latency is 3 cycle.
* internal.h (rb_popcount64): use __builtin_popcountll because now
it is in fast path.
Tue May 3 14:19:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (new_if_gen): set newline flag to NODE_IF to trace all
if/elsif statements. [ruby-core:67720] [Bug #10763]
Tue May 3 05:35:54 2016 Eric Wong <e@80x24.org>
* process.c (disable_child_handler_fork_child):
initialize handler for SIGPIPE for !POSIX_SIGNAL
Mon May 2 23:03:42 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new
truncate alternative which accepts UTF-8 path.
* file.c (truncate): use above function.
[Bug #12340]
Mon May 2 20:59:21 2016 NARUSE, Yui <naruse@ruby-lang.org>
* re.c (str_coderange): to avoid function call when the string already
has coderange information.
* re.c (rb_reg_prepare_enc): add shortcut path when the regexp has
the same encoding of given string.
* re.c (rb_reg_prepare_re): avoid duplicated allocation of
onig_errmsg_buffer.
Mon May 2 12:34:52 2016 Tanaka Akira <akr@fsij.org>
* test/ruby/test_refinement.rb (test_inspect): Use Integer instead of
Fixnum.
Mon May 2 06:58:38 2016 Tanaka Akira <akr@fsij.org>
* complex.c: Don't refer rb_cFixnum and rb_cBignum.
(k_fixnum_p): Use FIXNUM_P.
(k_bignum_p): Use RB_TYPE_P.
Mon May 2 01:27:59 2016 Tanaka Akira <akr@fsij.org>
* test/ruby/test_numeric.rb (test_step): Use Integer::FIXNUM_MAX.
Mon May 2 01:15:01 2016 Tanaka Akira <akr@fsij.org>
* test/ruby/test_module.rb (test_name): Use Integer instead of Fixnum.
Mon May 2 01:00:04 2016 Tanaka Akira <akr@fsij.org>
* test/lib/test/unit/assertions.rb (assert_fixnum): Defined.
(assert_bignum): Defined.
* test/ruby/test_bignum.rb: Use assert_bignum.
* test/ruby/test_integer_comb.rb: Use assert_fixnum and assert_bignum.
* test/ruby/test_optimization.rb: Ditto.
Mon May 2 00:41:53 2016 Tanaka Akira <akr@fsij.org>
* vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to
avoid signed integer overflow.
Mon May 2 00:06:04 2016 Tanaka Akira <akr@fsij.org>
* test/lib/envutil.rb: Define Integer::{FIXNUM_MIN,FIXNUM_MAX}.
* test/ruby/test_bignum.rb: Use Integer::{FIXNUM_MIN,FIXNUM_MAX}.
* test/ruby/test_bignum.rb: Ditto.
* test/ruby/test_integer_comb.rb: Ditto.
* test/ruby/test_marshal.rb: Ditto.
* test/ruby/test_optimization.rb: Ditto.
Sun May 1 23:59:59 2016 Kenta Murata <mrkn@mrkn.jp>
* array.c (rb_ary_sum): fix for mathn
* test/ruby/test_array.rb (test_sum): ditto.
Sun May 1 23:51:54 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* test/lib/test/unit.rb (Options#non_options): fixed wrong regexp.
if both positives and negatives were specified, positives had to
be specified from the beginning.
Sun May 1 21:00:07 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c: drop Win2K support.
Sun May 1 20:39:47 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* cont.c, hash.c, random.c, win32/win32.c: cleanup some Win9x/ME/NT4
support leftovers.
[fix GH-1328] patched by @cremno
Sun May 1 07:30:44 2016 NARUSE, Yui <naruse@ruby-lang.org>
* string.c (search_nonascii): use nlz on big endian environments.
* internal.h (nlz_intptr): defined.
Sun May 1 00:03:30 2016 NARUSE, Yui <naruse@ruby-lang.org>
* configure.in (__builtin_ctz): check.
* configure.in (__builtin_ctzll): check.
* internal.h (rb_popcount32): defined for ntz_int32.
it can use __builtin_popcount but this function is not used on
GCC environment because it uses __builtin_ctz.
When another function uses this, using __builtin_popcount
should be re-considered.
* internal.h (rb_popcount64): ditto.
* internal.h (ntz_int32): defined for ntz_intptr.
* internal.h (ntz_int64): defined for ntz_intptr.
* internal.h (ntz_intptr): defined as ntz for uintptr_t.
* string.c (search_nonascii): unroll and use ntz.
Sat Apr 30 21:54:13 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (Init_Numeric): Gather Fixnum method definitions.
Sat Apr 30 21:28:14 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_div): Define Integer#/.
* bignum.c (rb_big_div): Don't define Bignum#/.
* lib/mathn.rb (Integer#/): Replace Integer#/ instead of Bignum#/.
Sat Apr 30 21:11:08 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_plus): Define Integer#+.
* bignum.c (rb_big_plus): Don't define Bignum#+.
Sat Apr 30 21:01:20 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_minus): Define Integer#-.
* bignum.c (rb_big_minus): Don't define Bignum#-.
Sat Apr 30 20:53:33 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_mul): Define Integer#*.
* bignum.c (rb_big_mul): Don't define Bignum#*.
Sat Apr 30 20:30:44 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_modulo): Define Integer#%.
* bignum.c (rb_big_modulo): Don't define Bignum#%.
Sat Apr 30 20:17:08 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_equal): Define Integer#==.
* bignum.c (rb_big_eq): Don't define Bignum#==.
Sat Apr 30 19:41:15 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_gt): Define Integer#>.
* bignum.c (rb_big_gt): Don't define Bignum#>.
Renamed from big_gt.
* internal.h (rb_big_gt): Declared.
Sat Apr 30 19:24:40 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_ge): Define Integer#>=.
* bignum.c (rb_big_ge): Don't define Bignum#>=.
Renamed from big_ge.
* internal.h (rb_big_ge): Declared.
Sat Apr 30 19:20:40 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* doc/standard_library.rdoc: Remove obsoleted classes and modules.
Sat Apr 30 19:09:23 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_lt): Define Integer#<.
* bignum.c (rb_big_lt): Don't define Bignum#<.
Renamed from big_lt.
* internal.h (rb_big_lt): Declared.
Sat Apr 30 18:44:05 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_le): Define Integer#<=.
* bignum.c (rb_big_le): Don't define Bignum#<=.
Renamed from big_le.
* internal.h (rb_big_le): Declared.
Sat Apr 30 18:11:44 2016 Tanaka Akira <akr@fsij.org>
* bignum.c (Init_Bignum): Define Integer::GMP_VERSION.
Sat Apr 30 16:58:18 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_remainder): Define Integer#remainder.
* bignum.c (rb_big_remainder): Don't define Bignum#remainder.
* internal.h (rb_big_remainder): Declared.
Sat Apr 30 15:29:24 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into
Integer.
* bignum.c (rb_big_uminus): Don't define Bignum#-@.
Sat Apr 30 14:42:20 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into
Integer.
* bignum.c (rb_big_idiv): Don't define Bignum#div.
Sat Apr 30 14:25:55 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_modulo): {Fixnum,Bignum}#modulo is unified into
Integer.
* bignum.c (rb_big_modulo): Don't define Bignum#modulo.
Sat Apr 30 14:04:30 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_divmod): {Fixnum,Bignum}#divmod is unified into
Integer.
* bignum.c (rb_big_divmod): Don't define Bignum#divmod.
Sat Apr 30 13:20:00 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_fdiv): {Fixnum,Bignum}#fdiv is unified into
Integer.
* bignum.c (rb_big_fdiv): Don't define Bignum#fdiv.
Sat Apr 30 12:25:43 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_pow): {Fixnum,Bignum}#** is unified into
Integer.
* bignum.c (rb_big_pow): Don't define Bignum#**.
Sat Apr 30 12:28:59 2016 Tanaka Akira <akr@fsij.org>
* bignum.c (rb_big_comp): Renamed from rb_big_neg.
* numeric.c (fix_comp): Renamed from fix_rev.
Sat Apr 30 12:25:43 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_comp): {Fixnum,Bignum}#~ is unified into
Integer.
* bignum.c (rb_big_neg): Don't define Bignum#~.
* internal.h (rb_big_neg): Declared.
Sat Apr 30 12:07:42 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_and): {Fixnum,Bignum}#& is unified into
Integer.
* bignum.c (rb_big_and): Don't define Bignum#&.
Sat Apr 30 11:56:15 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/thread: removed dummy extension library. thread_sync.c
provides "thread.rb" already.
Sat Apr 30 11:53:48 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_or): {Fixnum,Bignum}#| is unified into
Integer.
* bignum.c (rb_big_or): Don't define Bignum#|.
Sat Apr 30 11:18:47 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* vm_trace.c: Fix typos. [ci skip]
Sat Apr 30 10:09:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/pty/pty.c (establishShell): honor USER environment variable
and login name over uid, one uid can be shared by some login
names.
Fri Apr 29 22:40:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* doc/maintainers.rdoc (ext/io/nonblock): still maintained, as
well as ext/io/wait, which is the origin.
Fri Apr 29 21:18:12 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* doc/maintainers.rdoc (ext/win32): of course, it's still maintained.
Fri Apr 29 21:03:10 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* gems/bundled_gems: Update latest gems, test-unit-3.1.8 and rake-11.1.2.
Fri Apr 29 20:43:02 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* doc/maintainers.rdoc: Update latest maintainers list on Ruby 2.4
Fri Apr 29 19:52:45 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* doc/maintainers.rdoc: Removed deprecated entries. These are already deleted.
Fri Apr 29 19:48:45 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* doc/maintainers.rdoc: Removed Ruby 1.8 entries. It's not necessary to
Ruby 2.4 or later.
Thu Apr 28 17:03:17 2016 Nicholas Maccharoli <nmaccharoli@gmail.com>
* hash.c (rb_hash_update_{block,func}_callback): dry up hash
update callback code. [Fix GH-1338]
Thu Apr 28 16:52:05 2016 NARUSE, Yui <naruse@ruby-lang.org>
* re.c (rb_reg_prepare_enc): use rb_enc_asciicompat(enc) instead of
rb_enc_str_asciicompat_p(str) to avoid useless rb_enc_get(str) call.
Thu Apr 28 16:33:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/optparse.rb: [DOC] fix example code. base on the code by
Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323]
Thu Apr 28 09:33:03 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4.
Please see entries of 2.6.4 on
https://github.com/rubygems/rubygems/blob/master/History.txt
Thu Apr 28 04:49:07 2016 Rei Odaira <Rei.Odaira@gmail.com>
* configure.in (rb_cv_lgamma_r_pm0): check if lgamma_r(+0.0)
returns positive infinity, in addition to lgamma_r(-0.0).
AIX returns an incorrect result of negative infinity.
* math.c (ruby_lgamma_r): handle +0.0, in addition to -0.0.
Thu Apr 28 01:11:14 2016 NARUSE, Yui <naruse@ruby-lang.org>
* time.c: define _DEFAULT_SOURCE because glibc 2.20 deprecates
_BSD_SOURCE.
https://sourceware.org/glibc/wiki/Release/2.20
Thu Apr 28 00:27:55 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_xor): {Fixnum,Bignum}#^ is unified into
Integer.
* bignum.c (rb_big_xor): Don't define Bignum#^.
Wed Apr 27 20:53:59 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_aref): {Fixnum,Bignum}#[] is unified into
Integer.
* bignum.c (rb_big_aref): Don't define Bignum#<<.
* internal.h (rb_big_aref): Declared.
Wed Apr 27 16:10:35 2016 NARUSE, Yui <naruse@ruby-lang.org>
* tool/instruction.rb: fix to follow current implementation.
Wed Apr 27 15:47:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/stringio/stringio.c (strio_s_new): warn if a block is given,
as well as IO.new.
Wed Apr 27 14:29:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (ruby_only_for_internal_use): raise fatal error when
deprecated function only for internal use is called, not just a
warning.
Tue Apr 26 23:42:30 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* tool/redmine-backporter.rb (rel): should not raise exceptions even if
the user input is wrong. only reports the error and continue process.
Tue Apr 26 23:35:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c (process_options): convert -e script to the encoding
given by a command line option on Windows. assume it is the
expected encoding. [ruby-dev:49461] [Bug #11900]
Tue Apr 26 21:11:02 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_lshift): {Fixnum,Bignum}#<< is unified into
Integer.
* bignum.c (rb_big_lshift): Don't define Bignum#<<.
Tue Apr 26 20:59:40 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_rshift): {Fixnum,Bignum}#>> is unified into
Integer.
* bignum.c (rb_big_rshift): Don't define Bignum#>>.
Tue Apr 26 20:46:16 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_size): {Fixnum,Bignum}#size is unified into Integer.
* bignum.c (rb_big_size_m): Don't define Bignum#size.
* internal.h (rb_big_size_m): Declared.
Tue Apr 26 20:09:08 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (rb_int_bit_length): {Fixnum,Bignum}#bit_length is
unified into Integer.
* bignum.c (rb_big_bit_length): Don't define Bignum#bit_length.
* internal.h (rb_big_bit_length): Declared.
Tue Apr 26 19:56:16 2016 Tanaka Akira <akr@fsij.org>
* numeric.c (int_abs): Integer#{abs,magnitude} moved from
Fixnum and Bignum.
* bignum.c (rb_big_abs): Don't define Bignum#{abs,magnitude}.
* internal.h (rb_big_abs): Declared.
Mon Apr 25 14:39:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/rbconfig/sizeof/extconf.rb: just check the existence of each
types, to reduce configuration time, especially cross-compiling.
* template/sizes.c.tmpl: calculate sizes of checked types at
compilation time.
Mon Apr 25 11:27:27 2016 Marcus Stollsteimer <sto.mar@web.de>
* doc/extension.rdoc: Improvements to english grammars.
[Bug #12246][ruby-core:74792][ci skip]
Mon Apr 25 11:17:50 2016 Marcus Stollsteimer <sto.mar@web.de>
* encoding.c: Fix return value of `Encoding::ISO8859_1.name`
[Bug #12313][ruby-core:75147][ci skip]
* ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new`
Sun Apr 24 23:29:16 2016 Rei Odaira <Rei.Odaira@gmail.com>
* configure.in: add missing -lm for AIX.
Sun Apr 24 18:33:58 2016 Kazuki Tsujimoto <kazuki@callcc.net>
* vm_insnhelper.c (INLINE): disable r54738 if __NO_INLINE__ is defined.
It caused "undefined reference to `vm_getivar'".
Sun Apr 24 09:32:12 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* test/ruby/test_array.rb: Add test cases for Array#sum with
non-numeric objects.
Sun Apr 24 04:21:27 2016 NARUSE, Yui <naruse@ruby-lang.org>
* vm_insnhelper.c (INLINE): define as `inline` when it is optimized.
define as `static inline` when it is not optimized to keep
the symbol generated.
* vm_insnhelper.c (vm_getivar): use `INLINE` to force inline
so that a compiler inlines it into vm_getinstancevariable
and optimizes out is_attr and related branches.
* vm_insnhelper.c (vm_getivar): use `inline` to recommend inline.
Without this vm1_ivar_set is degraded.
benchmark results:
minimum results in each 5 measurements.
Execution time (sec)
name ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux] ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux] built-ruby
loop_whileloop 0.641 0.642 0.646
vm1_ivar* 1.002 0.999 0.831
vm1_ivar_set* 0.369 1.106 0.362
Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23
trunk 54727) [x86_64-linux]' (greater is better)
name ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux]
built-ruby
loop_whileloop
0.998 0.991
vm1_ivar*
1.003 1.205
vm1_ivar_set*
0.334 1.018
Sat Apr 23 18:01:21 2016 NARUSE, Yui <naruse@ruby-lang.org>
* vm_insnhelper.c (vm_getivar): specify inline instead of static inline.
vm_getivar is called by vm_call_ivar and vm_getinstancevariable.
At least with GCC 4.8 and 5.3 on Linux, they are inlining it into
vm_call_ivar but not vm_getinstancevariable.
By `inline`, they correctly inline it and gains performance.
Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23
trunk 54727) [x86_64-linux]' (greater is better)
name built-ruby
loop_whileloop 1.001
vm1_ivar* 1.189
vm1_ivar_set* 1.024
Note the `inline`'s meaning is different between old GCC
and C99. Old GCC's inline means C99's extern inline.
https://gcc.gnu.org/onlinedocs/gcc/Inline.html
Since Ruby specify -std=iso9899:1999, it works like C99.
Sat Apr 23 16:11:39 2016 NARUSE, Yui <naruse@ruby-lang.org>
* include/ruby/ruby.h (rb_mul_size_overflow): use UNLIKELY
by user side to improve generality.
Sat Apr 23 16:10:02 2016 NARUSE, Yui <naruse@ruby-lang.org>
* include/ruby/ruby.h (RB_LIKELY): use prefix in ruby.h.
* intern.h (LIKELY): define with RB_LIKELY.
Sat Apr 23 13:27:25 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* NEWS: Add descriptions for Time#to_time updates.
[Bug #12271]
Sat Apr 23 13:21:24 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* NEWS: Add descriptions for DateTime#to_time updates.
[Bug #12189]
Sat Apr 23 11:21:27 2016 Marcus Stollsteimer <sto.mar@web.de>
* ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime
documentation to RDoc from Markdown.
[ruby-core:75136] [Bug #12311]
Sat Apr 23 09:03:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c: cygwin does not use w32_cmdvector, command line can be
other than UTF-8. [ruby-dev:49519] [Bug #12184]
Sat Apr 23 01:00:03 2016 Rei Odaira <Rei.Odaira@gmail.com>
* configure.in: don't use the system-provided round(3) on AIX.
In AIX, round(0.49999999999999994) returns 1.0.
Use round() in numeric.c instead.
Fri Apr 22 21:00:44 2016 Tanaka Akira <akr@fsij.org>
* test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed
to avoid test failures due to the tzdata change.
https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95
Found by naruse.
Fri Apr 22 20:18:40 2016 NARUSE, Yui <naruse@ruby-lang.org>
* include/ruby/ruby.h (rb_mul_size_overflow): added to handle
mul overflow efficiently.
* include/ruby/ruby.h (rb_alloc_tmp_buffer2): use rb_mul_size_overflow
and avoid division where it can define DSIZE_T.
* gc.c (xmalloc2_size): moved from ruby.h and use rb_mul_size_overflow.
Fri Apr 22 20:34:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* time.c (time_asctime): [DOC] add ctime example, not only
asctime. [ruby-core:75126] [Bug #12310]
Fri Apr 22 18:44:32 2016 NARUSE, Yui <naruse@ruby-lang.org>
* variable.c: use uint32_t instead of long to avoid confusion about
the type of ivtbl->numiv.
Fri Apr 22 15:09:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval_jump.c (exec_end_procs_chain): restore previous error info
for each end procs. [ruby-core:75038] [Bug #12302]
Fri Apr 22 15:04:56 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* tool/redmine-backporter.rb: the fullpath of merger.rb is too long to
copy&paste on Windows. show shorter name instead on the platform.
I'm sure that the user of this command on Windows is only me.
Fri Apr 22 14:52:04 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* tool/merger.rb: remove temporary file.
Fri Apr 22 11:27:03 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/net/http.rb: Improve documentation for SSL requests via GET method.
[fix GH-1325][ci skip] Patch by @jsyeo
Fri Apr 22 10:51:13 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/webrick/ssl.rb: Support to add SSLCiphers option.
[fix GH-1321] Patch by @rhadoo
Fri Apr 22 10:43:19 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* file.c, win32/file.c: Removed obsoleted safe level checks.
[fix GH-1327] Patch by @cremno
Fri Apr 22 10:01:48 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* benchmark/bm_so_meteor_contest.rb: fix a typo.
[fix GH-1330][ci skip] Patch by @sachin21
Fri Apr 22 04:57:01 2016 NARUSE, Yui <naruse@ruby-lang.org>
* gc.c (rb_alloc_tmp_buffer_with_count): added like xmalloc2 to
avoid duplicated check of size.
* gc.c (ruby_xmalloc2): added to keep separate layers.
* include/ruby/ruby.h (rb_alloc_tmp_buffer2): added to check
the size more statically.
Fri Apr 22 04:54:40 2016 NARUSE, Yui <naruse@ruby-lang.org>
* include/ruby/ruby.h (LIKELY): moved from internal.h.
* include/ruby/ruby.h (UNLIKELY): ditto.
Thu Apr 21 01:44:19 2016 NARUSE, Yui <naruse@ruby-lang.org>
* gc.c (objspace_malloc_prepare): remove size check because it is
used by objspace_xmalloc and objspace_xcalloc.
objspace_xmalloc introduces its own check in this commit.
objspace_xcalloc checks with xmalloc2_size (ruby_xmalloc2_size).
* gc.c (objspace_xmalloc0): common xmalloc function.
* gc.c (objspace_xmalloc): introduce its own size check.
* gc.c (objspace_xmalloc2): separated from ruby_xmalloc2 to clarify
the layer who has the responsibility to check the size.
* gc.c (objspace_xrealloc): remove duplicated size check.
* gc.c (ruby_xmalloc2): use objspace_xmalloc2.
* include/ruby/ruby.h (ruby_xmalloc2_size): follow the size limit
as SSIZE_MAX. Note that ISO C says size_t is unsigned integer.
Thu Apr 21 12:14:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in: check if succeeded in creating config.h.
* tool/ifchange: ignore failures when TEST_COLORS unmatched. just
use the default value if expected name is not contained in it.
[ruby-core:75046] [Bug #12303]
Wed Apr 20 17:33:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/cgi/escape/escape.c (cgiesc_unescape): define unescape
method instead of _unescape, and should pass the optional
argument to the super method.
* lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate
method.
Wed Apr 20 15:52:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (syntax_error_initialize): move the default message,
"compile error", from parse.y. the default parameter should
belong to the class definition.
* parse.y (yycompile0): use the default parameter.
Wed Apr 20 10:25:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (append_compile_error): use rb_syntax_error_append.
* error.c (rb_syntax_error_append): append messages into a
SyntaxError exception instance.
* parse.y (yycompile0): make new SyntaxError instance in main
mode, otherwise error_buffer should be a SyntaxError if error
has occurred.
Tue Apr 19 17:42:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (err_vcatf): rename, and separate appending message from
creating a string buffer.
* error.c (rb_syntax_error_append): merge rb_error_vsprintf and
rb_compile_err_append.
* parse.y (parser_compile_error): use rb_syntax_error_append.
Tue Apr 19 13:46:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (append_compile_error, compile_bug): pass iseq and get
error info and file from it, not by the thread error info.
* error.c (rb_report_bug_valist): take va_list instead of variadic
arguments, and just report the bug but not abort.
Tue Apr 19 13:18:12 2016 Naotoshi Seo <sonots@gmail.com>
* lib/time.rb: revert r54167 because it would break
backward compatibilities, and it is documented that
Time.parse does not take into account time zone
abbreations other than ones described in RFC 822
Tue Apr 19 13:12:03 2016 Naotoshi Seo <sonots@gmail.com>
* ChangeLog: Fix dates of previous commits
Tue Apr 19 12:45:03 2016 Naotoshi Seo <sonots@gmail.com>
* ChangeLog: Add descriptions for logger updates
* NEWS: Add descriptions for logger updates
Tue Apr 19 12:45:02 2016 Naotoshi Seo <sonots@gmail.com>
* lib/logger.rb: Add shift_period_suffix option
Tue Apr 19 12:45:01 2016 Naotoshi Seo <sonots@gmail.com>
* lib/logger.rb: Allow specifying logger parameters in constructor
such as level, progname, datetime_format, formatter.
Mon Apr 18 16:07:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (iseq_peephole_optimize): should not replace the
current target INSN, not to follow the replaced dangling link in
the caller. [ruby-core:74993] [Bug #11816]
Mon Apr 18 12:56:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* numeric.c (flo_truncate): add an optional parameter, digits, as
well as Float#round. [Feature #12245]
* numeric.c (int_truncate): add an optional parameter, digits, as
well as Integer#round. [Feature #12245]
Sun Apr 17 04:18:56 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* tool/redmine-backporter.rb: revisions are strings.
Sat Apr 16 14:26:49 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* ext/date/date_core.c : remove not used f_getlocal macro.
After r54553 f_getlocal macro is not used.
Sat Apr 16 14:15:24 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
* ext/date/date_core.c : remove not used f_utc6 macro.
After r54169 f_utc6 macro is not used.
Sat Apr 16 10:00:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* struct.c (struct_make_members_list, rb_struct_s_def): member
names should be unique. [ruby-core:74971] [Bug #12291]
* struct.c (struct_make_members_list): extract making member name
list from char* va_list, with creating symbols without
intermediate IDs.
Sat Apr 16 01:33:27 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* tool/redmine-backporter.rb: sort revisions.
Sat Apr 16 01:16:02 2016 Tanaka Akira <akr@fsij.org>
* array.c (rb_ary_sum): Don't yield same element twice.
Found by nagachika.
Sat Apr 16 01:03:32 2016 Tanaka Akira <akr@fsij.org>
* array.c (rb_ary_sum): Fix SEGV by [1/2r, 1].sum.
Fri Apr 15 23:52:00 2016 Kenta Murata <mrkn@mrkn.jp>
* rational.c (rb_rational_plus): rename from rb_rational_add
to be aligned with rb_fix_plus.
* array.c (rb_ary_sum): ditto.
* internal.h: ditto.
Fri Apr 15 23:42:00 2016 Kenta Murata <mrkn@mrkn.jp>
* rational.c (rb_rational_add): rename from nurat_add.
* array.c (rb_ary_sum): use rb_rational_add directly.
* test/ruby/test_array.rb (test_sum): add assertions for an array of
Rational values.
Fri Apr 15 22:31:00 2016 Kenta Murata <mrkn@mrkn.jp>
* array.c (rb_ary_sum): apply the precision compensated algorithm
for an array in which Rational and Float values are mixed.
* test/ruby/test_array.rb (test_sum): add assertions for the above
change.
Fri Apr 15 22:30:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* thread.c (rb_thread_setname): defer setting native thread name
set in initialize until the native thread is created.
[ruby-core:74963] [Bug #12290]
Fri Apr 15 20:27:16 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined.
Fri Apr 15 15:38:58 2016 NARUSE, Yui <naruse@ruby-lang.org>
* common.mk (benchmark): order options for built-ruby and compare-ruby.
Fri Apr 15 14:14:00 2016 Kenta Murata <mrkn@mrkn.jp>
* test/ruby/test_array.rb (test_sum): add assertions for Rational and
Complex numbers.
Fri Apr 15 10:07:11 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/io/console/console.c (console_key_pressed_p): raise the same
exception, "unknown virtual key code", for names with nul chars.
though console_win32_vk() considers the length and can deal with
nul chars, rb_sprintf() raised at PRIsVALUE previously, so quote
it if it is unprintable.
Fri Apr 15 09:02:58 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/io/console/console.c (rb_sym2str): fallback definition for
older ruby. [ruby-core:74953] [Bug #12284]
Thu Apr 14 21:46:36 2016 Tanaka Akira <akr@fsij.org>
* array.c (rb_ary_sum): Support the optional argument, init, and
block.
Thu Apr 14 19:02:41 2016 NARUSE, Yui <naruse@ruby-lang.org>
* lib/irb/ext/save-history.rb: suppress warning: method redefined;
discarding old save_history=.
Thu Apr 14 14:58:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/tk/tkutil/tkutil.c (tk_hash_kv): the third argument can be
nil not only an Array. reported by @windwiny at
https://github.com/ruby/ruby/commit/cdaa94e#commitcomment-17096618
Thu Apr 14 14:28:55 2016 cremno phobia <cremno@mail.ru>
* cont.c (fiber_initialize_machine_stack_context): fix wrong
_MSC_VER check, should be decimal but not hexadecimal.
[ruby-core:74936] [Bug #12279]
Wed Apr 13 22:51:38 2016 Tanaka Akira <akr@fsij.org>
* array.c (rb_ary_sum): Array#sum is implemented.
Kahan's compensated summation algorithm for precise sum of float
numbers is moved from ary_inject_op in enum.c.
* enum.c (ary_inject_op): Don't specialize for float numbers.
[ruby-core:74569] [Feature #12217] proposed by mrkn.
Wed Apr 13 15:56:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* numeric.c (flo_ceil): add an optional parameter, digits, as
well as Float#round. [Feature #12245]
* numeric.c (flo_floor): add an optional parameter, digits, as
well as Float#round. [Feature #12245]
* numeric.c (int_ceil): add an optional parameter, digits, as
well as Integer#round. [Feature #12245]
* numeric.c (int_floor): add an optional parameter, digits, as
well as Integer#round. [Feature #12245]
Wed Apr 13 14:47:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (Init_File): add alias File.empty? to File.zero?.
[Feature #9969]
Wed Apr 13 14:36:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (assign_in_cond): allow multiple assignment in
conditional expression. [Feature #10617]
Wed Apr 13 14:11:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bignum.c (rb_big_size): add wrapper function of BIGSIZE and