forked from ruby/ruby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
3496 lines (2209 loc) · 119 KB
/
ChangeLog
File metadata and controls
3496 lines (2209 loc) · 119 KB
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
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
rename the method function with _m suffix.
* numeric.c (int_round_zero_p): extracted from rb_int_round.
optimize for Bignum, and convert VALUE returned by Numeric#size
to long.
Wed Apr 13 12:00:08 2016 Koichi Sasada <ko1@atdot.net>
* test/ruby/test_basicinstructions.rb: add a test to check access
instance variables on special const objects.
All of such objects are frozen, so that we can not set instance
variables for them. But we can read instance variables and return
default value (nil).
Tue Apr 12 20:40:35 2016 Kaneko Yuichiro <spiketeika@gmail.com>
* ext/date/date_core.c (time_to_time): should preserve timezone
info. [ruby-core:74889] [Bug #12271]
Tue Apr 12 11:51:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (new_label_body): initialize bit fields, since
compile_data_alloc does not clear the memory. [Bug #12082]
Mon Apr 11 20:18:43 2016 Koichi Sasada <ko1@atdot.net>
* vm_backtrace.c (frame2klass): filter only for imemo_ment.
T_IMEMO/imemo_iseq can be passed here.
Mon Apr 11 17:43:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (iseq_optimize): disable tail call optimization in
rescued, rescue, and ensure blocks.
[ruby-core:73871] [Bug #12082]
Mon Apr 11 06:54:39 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (apply2files): apply to a VALUE vector instead of a
temporary array.
Sun Apr 10 20:54:16 2016 Joe Swatosh <joe.swatosh@gmail.com>
* ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix
API names. [ruby-core:74863] [Bug #12264]
Sun Apr 10 17:47:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (rb_realpath_internal): no argument conversions since
this internal function does not need to_path and encoding
conversions, not to be affected by the default internal
encoding.
Sat Apr 9 10:03:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* load.c (rb_f_load): raise with the original path name before
encoding conversion.
Sat Apr 9 02:05:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bignum.c (rb_cstr_parse_inum): [EXPERIMENTAL] new function to
parse integer in C-string with length. the name and the
arguments may be changed in the future.
* bignum.c (rb_str_to_inum): preserve encoding of the argument in
error messages, and no longer needs to copy non-terminated
strings.
* bignum.c (rb_str2big_{poweroftwo,normal,karatsuba,gmp}): ditto.
Thu Apr 7 19:04:03 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* doc/regexp.rdoc (comments): [DOC] terminators cannot appear in
comments. [ruby-core:74838] [Bug #12256]
Thu Apr 7 11:24:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/tk/tkutil/tkutil.c (cbsubst_initialize): fix out-of-bound
access when no arguments given. `p Tk::Event.new` crashed.
Fri Apr 1 01:26:00 2016 Benoit Daloze <eregontp@gmail.com>
* ext/coverage/coverage.c: Fully reset coverage to not persist global state.
It was returning old file coverages as empty arrays to the user.
[ruby-core:74596] [Bug #12220]
* ext/coverage/coverage.c (rb_coverages): remove unused static state.
* thread.c: Moved and renamed coverage_clear_result_i to reset_coverage_i.
* test/coverage/test_coverage.rb: improve precision of tests.
Wed Apr 6 22:41:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (rb_cv_lgamma_r_m0): fix the condition for
lgamma_r(-0.0). [Bug #12249]
Wed Apr 6 17:38:42 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* tool/downloader.rb (RubyGems.download): follow the change of the
rubygems ssl_certs directory tree introduced by previous commit.
Wed Apr 6 15:00:27 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3.
Please see entries of 2.6.3 on
https://github.com/rubygems/rubygems/blob/master/History.txt
Wed Apr 6 14:13:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)
returns negative infinity. [Bug #12249]
* math.c (ruby_lgamma_r): define by the configured result.
Wed Apr 6 10:56:15 2016 Anton Davydov <antondavydov.o@gmail.com>
* lib/logger.rb (Logger#level=): remove unnecessary local
variable.
* lib/logger.rb (Logger#initialize, Logger#reopen): [DOC] mention
the default values. cherrypicked from [GH-1319].
Wed Apr 6 10:17:53 2016 cremno phobia <cremno@mail.ru>
* math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows,
since msvcrt does not provide it.
* missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0).
[ruby-core:74823] [Bug #12249]
Wed Apr 6 01:22:55 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong.
cf. [Bug #12249]
Wed Apr 6 00:53:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* math.c (ruby_lgamma_r): fix lgamma(-0.0) on mingw and OSX.
* math.c (ruby_tgamma): fix tgamma(-0.0) on mingw.
[ruby-core:74817] [Bug #12249]
Tue Apr 5 14:50:28 2016 NARUSE, Yui <naruse@ruby-lang.org>
* ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo.
[Bug #12202] [ruby-core:74802]
Tue Apr 5 00:06:44 2016 Aeris <aeris@imirhil.fr>
* ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral
TLS session key in case of forward secrecy cipher. Only
available since OpenSSL 1.0.2. [Fix GH-1318]
* ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key.
Mon Apr 4 23:37:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_core.h (rb_vm_struct): make at_exit a single linked list but
not RArray, not to mark the registered functions by the write
barrier. based on the patches by Evan Phoenix.
[ruby-core:73908] [Bug #12095]
Mon Apr 4 17:43:45 2016 Koichi Sasada <ko1@atdot.net>
* gc.c: change default value of
RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO 0.3 -> 0.2
RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO 0.8 -> 0.65
These values are same as Ruby 2.0.0.
This change cause GC counts.
However, generational GC reduced each (minor) GC time and
increase memory locality. So that not so big impact on my
benchmarking results.
(surprisingly, this fix speed up programs on some cases)
You can change these values by environment variables
if you feel wrong.
Mon Apr 4 17:36:52 2016 Koichi Sasada <ko1@atdot.net>
* gc.c (get_envparam_double): take an upper_bound.
And also take an accept_zero flag which allow to accept zero
even if lower_bound is set.
* gc.c (ruby_gc_set_params): fix parameters.
RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO set 0.9 as *lower_bound*, so that
it should be upper_bound.
Set RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO as lower bound.
Also set lower/upper bound of RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO to
RUBY_GC_HEAP_FREE_SLOTS_MIN/MAX_RATIO.
Mon Apr 4 16:41:32 2016 Koichi Sasada <ko1@atdot.net>
* vm.c (Init_VM): should pass tokens.
Sun Apr 3 09:34:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* numeric.c (flodivmod): round division if it is a finite number
and module is required.
* numeric.c (dbl2ival): do not round here.
* numeric.c (flo_ceil): use dbl2ival.
* numeric.c (flo_round): round explicitly.
Sat Apr 2 15:24:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/intern.h (rb_check_arity): returns argc.
Fri Apr 1 20:58:33 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode/case-folding.rb, casefold.h: Data generation to implement
swapcase functionality for titlecase characters. Swapcase isn't defined
by Unicode, because the purpose/usage of swapcase is unclear anyway.
The implementation follows a proposal from Nobu, swapping the case of
each component of a titlecase character individually.
This means that the titlecase characters have to be decomposed.
* enc/unicode.c: Code using the above data.
* test/ruby/enc/test_case_mapping.rb: Tests for the above.
Fri Apr 1 14:55:28 2016 Kazuki Yamaguchi <k@rhe.jp>
* configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing
the real git_dir, such as when the git working tree is a "linked
working tree" (a working tree created by git-worktree). So use
git-rev-parse --git-dir to check if $srcdir is the top-level of a git
repository, not just checking if the $srcdir/.git directory does exist
or not. [ruby-core:74759] [Bug #12239]
* tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have
its own VCS detection code, while we have tool/vcs.rb.
* tool/vcs.rb (detect): remove code duplication
Fri Apr 1 04:50:44 2016 Eric Wong <e@80x24.org>
* ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc):
enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default
[Bug #12126]
Fri Apr 1 01:13:55 2016 Benoit Daloze <eregontp@gmail.com>
* thread.c (update_coverage): Do not track coverage in loaded files
after Coverage.result. Avoids out-of-bounds access. [Bug #12237]
* ext/coverage/coverage.c (coverage_clear_result_i): document.
Thu Mar 31 19:16:16 2016 Koichi Sasada <ko1@atdot.net>
* gc.c: need to set initial value of GC_HEAP_FREE_SLOTS_GOAL_RATIO.
Thu Mar 31 17:50:27 2016 Koichi Sasada <ko1@atdot.net>
* gc.c: change additional allocation policy.
Introduce new environment variable
RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO (goal_ratio) to calculate the
ratio of additional memory.
Before this change, we add pages with the following formula
(when free_slots < total_pages * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO):
next_pages = total_pages * RUBY_GC_HEAP_GROWTH_FACTOR
This addition can allocate too much.
With this change, we increase pages to satisfy the following formula:
next_free_slots = next_total_slots * goal_ratio
where
next_free_slots = free_slots + adding_slots
next_total_slots = total_slots + adding_slots.
If you want to prepare many free slots, increase this ratio.
If this variable is 0, then simply multiply
RUBY_GC_HEAP_GROWTH_FACTOR.
* gc.c (get_envparam_double): enable to accept 0.
Thu Mar 31 17:48:25 2016 Koichi Sasada <ko1@atdot.net>
* gc.c (gc_marks_finish): fix syntax error.
Thu Mar 31 16:49:36 2016 Koichi Sasada <ko1@atdot.net>
* gc.c: simplify allocate/free detecting logic at the end of marking.
Before this change, heap_pages_min_slots are calculated at the
beginning sweeping phase. And this value is used at the end of
*next* marking phase.
To simplify it, we use this value at the end of this marking phase.
It means that we don't need to store this value as global state.
Also heap_pages_max_slots is calculated at the begging of sweeping
phase and used at the end of sweeping phase.
To simplify this logic, we introduced new global value
heap_pages_freeable_pages it means extra pages count we can free.
gc_sweep_step() checks this value and moves empty pages to tomb_heap
not more than this value.
Because of this fix, heap_pages_swept_slots is no longer needed.
* gc.c (rb_objspace_t::heap_pages): restruct the objspace global
status.
remove the following fields
* swept_slots (and heap_pages_swept_slots)
* min_free_slots (and heap_pages_min_free_slots)
* max_free_slots (and heap_pages_max_free_slots)
And add the following filed.
* freeable_pages (and heap_pages_freeable_pages)
* gc.c (heap_pages_free_unused_pages): unlink tomb heap pages
because tomb heap should have only freeable pages.
* gc.c (heap_extend_pages): add parameters for future extension.
Thu Mar 31 16:43:02 2016 Koichi Sasada <ko1@atdot.net>
* gc.c: add GC parameters to configure the following values:
* RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO:
allocate additional pages when free slots is lower than
the value (total_slots * (this ratio)).
* RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO:
allow to free pages when free slots is greater than
the value (total_slots * (this ratio)).
Before this change, these values are hard coded.
* gc.c (ruby_gc_params_t): ditto.
* gc.c (ruby_gc_set_params): ditto.
Thu Mar 31 15:59:17 2016 Koichi Sasada <ko1@atdot.net>
* gc.c (gc_verify_heap_page): check the number of zombies.
* gc.c (gc_verify_heap_pages): check also tomb heap.
Thu Mar 31 15:48:18 2016 Koichi Sasada <ko1@atdot.net>
* gc.c (gc_page_sweep): return free slots count.
* gc.c (gc_sweep_step): use returned free slots count.
* gc.c (gc_sweep_step): change variable name `next'
to `next_sweep_page'.
Thu Mar 31 11:33:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC]
fix indent not to be a big sole verbatim.
Thu Mar 31 11:18:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc
of DateTime. [ruby-core:74729] [Bug #12233]
Thu Mar 31 03:41:02 2016 NARUSE, Yui <naruse@ruby-lang.org>
* ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde.
fix indent.
Wed Mar 30 16:33:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors.
Renamed files, wrong method names or argument types; the example
GetDBM macro is now updated to the current version of the actual
code. patch by Marcus Stollsteimer in [ruby-core:74690].
[Bug #12228]
Wed Mar 30 09:46:01 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/open-uri.rb: Use `userinfo` for authenticated proxy.
[fix GH-1148] Patch by @SokichiFujita
* test/open-uri/test_open-uri.rb: ditto.
[fix GH-1309] Patch by @jdamick
Wed Mar 30 01:56:06 2016 NARUSE, Yui <naruse@ruby-lang.org>
* ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0.
patched by Anton Sivakov [Bug #12201] [Bug #12202]
Wed Mar 30 01:54:30 2016 NARUSE, Yui <naruse@ruby-lang.org>
* tool/redmine-backporter.rb: add given revision to current changesets
on associating the revision to the related ticket.
Wed Mar 30 01:53:17 2016 NARUSE, Yui <naruse@ruby-lang.org>
* tool/merger.rb: update revision.h before merge.
Tue Mar 29 19:33:54 2016 NARUSE, Yui <naruse@ruby-lang.org>
* addr2line.c: define toupper for its use. fix r54391.
Tue Mar 29 19:23:46 2016 NARUSE, Yui <naruse@ruby-lang.org>
* include/ruby/ruby.h (rb_isupper, rb_islower, rb_isalpha, rb_isdigit,
rb_isalnum, rb_isxdigit, rb_isblank, rb_isspace, rb_isblank,
rb_iscntrl, rb_isprint, rb_ispunct, rb_isgraph,
rb_tolower, rb_toupper): use inline function to avoid function call.
* include/ruby/ruby.h (rb_isascii): use inline function to clarify
the logic.
Tue Mar 29 18:56:55 2016 NARUSE, Yui <naruse@ruby-lang.org>
* tool/redmine-backporter.rb (backport): show merger.rb's path.
* tool/redmine-backporter.rb (show): show current issue again if no
ticket number is given.
* tool/redmine-backporter.rb (rel): show error message if current
bugs.ruby-lang.org doesn't support the API.
Tue Mar 29 18:54:34 2016 NARUSE, Yui <naruse@ruby-lang.org>
* tool/merger.rb: support to backport header as backport identifier.
Now you can specify by 'merge revision(s) 49254: [Backport #10738]'.
Tue Mar 29 16:53:44 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode/case-folding.rb, casefold.h: Tweaked handling of 6
special cases in CaseUnfold_11_Table.
* enc/unicode.c: Adjustments for above.
* test/ruby/enc/test_case_mapping.rb: Tests for the above: Some tests in
test_titlecase activated; test_greek added. A test in test_cherokee fixed.
Tue Mar 29 13:31:00 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode.c: Cleaned up some comments.
Tue Mar 29 13:24:56 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode/case-folding.rb, casefold.h: Removing data for idempotent
titlecasing.
* enc/unicode.c: Adjust code to data removal.
Tue Mar 29 12:45:18 2016 Laurent Arnoud <laurent@spkdev.net>
* lib/webrick/httpresponse.rb: Move error_body to method. It allow to
override the body more easily. [fix GH-1307]
* test/webrick/test_httpresponse.rb: ditto.
Tue Mar 29 06:40:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (rb_compile_err_append): rb_thread_t::base_block is no
longer used.
* iseq.c (rb_iseq_compile_with_option): ditto, no protection is
needed.
Tue Mar 29 06:39:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (struct parser_params): move parse_in_eval flag from
rb_thread_t.
* parse.y (rb_parser_set_context): set parsing context, not only
mild error flag.
* iseq.c (rb_iseq_compile_with_option): the parser now refers no
thread local states to be restored.
* vm_eval.c (eval_string_with_cref): ditto.
Mon Mar 28 21:24:02 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* numeric.c (int_pos_p): fix typos.
Mon Mar 28 14:54:49 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode.c: Refactoring in preparation for data reduction for
titlecase.
Mon Mar 28 14:36:36 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode.c: Minor refactoring for I WITH DOT ABOVE.
Mon Mar 28 14:26:24 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode.c: Removed code now covered by data from table.
Mon Mar 28 11:49:21 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode.c: Adding comments. [ci skip]
Mon Mar 28 11:30:23 2016 Shinichi Maeshima <netwillnet@gmail.com>
* lib/rubygems.rb: Fix `Gem.find_spec_for_exe` picks oldest gem.
https://github.com/travis-ci/travis-ci/issues/5798
https://github.com/rubygems/rubygems/pull/1566
* test/rubygems/test_gem.rb: ditto.
Mon Mar 28 11:26:31 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.2.
Please see entries of 2.6.2 on
https://github.com/rubygems/rubygems/blob/master/History.txt
Mon Mar 28 11:02:31 2016 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path.
https://github.com/rubygems/rubygems/pull/1554
[Bug #12193][ruby-core:74431]
Mon Mar 28 08:19:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* sprintf.c (rb_str_format): refactor floating point format of
Rational by using generic Integer functions.
* sprintf.c (rb_str_format): fix buffer overflow, length must be
greater than precision. reported by William Bowling <will AT
wbowling.info>.
Sun Mar 27 12:13:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* sprintf.c (rb_str_format): convert Rational to floating point
format by using generic Integer functions, not by methods which
can be overwritten.
Sat Mar 26 10:55:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* numeric.c (rb_int2str): conversion function to String for
generic Integer.
* numeric.c (rb_int_round): rounding function for generic
Integers.
* numeric.c (rb_int_{uminus,plus,minus,mul,idiv,modulo}): basic
arithmetic functions for generic Integers.
* numeric.c (FIXNUM_{POSITIVE,NEGATIVE,ZERO}_P): predict macros
only for Fixnum.
Sat Mar 26 06:34:24 2016 NARUSE, Yui <naruse@ruby-lang.org>
* localeinit.c (rb_locale_charmap_index): fix prototype.
patched by Andreas Schwab [Bug #12218]
Fri Mar 25 16:40:48 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* test/ruby/enc/test_case_mapping.rb: Additional tests title case;
some not yet activated.
Fri Mar 25 13:38:11 2016 Kazuki Yamaguchi <k@rhe.jp>
* ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb
function rather than OPENSSL_NPN_NEGOTIATED macro. it exists
even if it is disabled by OpenSSL configuration.
[ruby-core:74384] [Bug #12182]
* ext/openssl/ossl_ssl.c: update #ifdef(s) as above.
* test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled.
Fri Mar 25 11:08:37 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example,
missing mandatory arguments. [ruby-core:74540] [Bug #12215]
Fri Mar 25 01:50:58 2016 NARUSE, Yui <naruse@ruby-lang.org>
* thread_pthread.c (reserve_stack): fix reserving position where
the stack growing bottom to top. [Bug #12118]
Fri Mar 25 01:10:42 2016 Sebastian Schuberth <sschuberth@gmail.com>
* lib/mkmf.rb (find_executable0): On Windows, it is actually valid
to surround individual PATH directory entries with double
quotes. Remove these before joining the path as otherwise the
literal quotes would become part of the path, resulting in the
executable not to be found. [Fix GH-1305]
Thu Mar 24 22:38:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* strftime.c (FMT, FMTV): remove recursive-assignments to get rid
of undefined behavior. [ruby-core:74532] [Bug #12213]
Thu Mar 24 17:44:02 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* strftime.c (FMT_PADDING): extract format for padding.
* strftime.c (FMT_PRECISION): extract precision formula.
* strftime.c (FMTV): append formatted string to expand the result.
Thu Mar 24 14:20:21 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* strftime.c (STRFTIME): deal with case conversion flags for
recursive formats.
Thu Mar 24 12:43:26 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/date/date_core.c (dt_lite_iso8601): strftimev() always
returns a String, so append them directly.
* ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv),
(dt_lite_jisx0301): format by the format string in local buffer
to prevent intermediate strings from GC.
* ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by
"%+"PRIsVALUE, to prevent intermediate strings from GC.
Thu Mar 24 11:43:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* strftime.c (rb_strftime_with_timespec): remove unnecessary
check, as `s` equals to `endp` when recursed STRFTIME resized
the capacity same as the size.
Wed Mar 23 21:48:00 2016 Kenta Murata <mrkn@mrkn.jp>
* enum.c (ary_inject_op): put subtract operation out of if-clause.
Wed Mar 23 21:38:00 2016 Kenta Murata <mrkn@mrkn.jp>
* enum.c (ary_inject_op): Use Kahan's compensated summation algorithm
for summing up float values.
Wed Mar 23 20:56:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* strftime.c (rb_strftime_with_timespec): append formatted results
to the given string with expanding, and also deal with NUL chars.
* strftime.c (rb_strftime, rb_strftime_timespec): return formatted
string, not the length put in the given buffer.
* time.c (rb_strftime_alloc): no longer needs to retry with
reallocating buffers.
* time.c (time_strftime): no longer needs to split by NUL chars.
Wed Mar 23 14:23:54 2016 NARUSE, Yui <naruse@ruby-lang.org>
* lib/rdoc/ri/driver.rb (interactive): rescue NotFoundError raised in
expand_name. (display_name rescues NotFoundError by itself,
the original logic looks buggy...)
Wed Mar 23 11:44:53 2016 cremno <cremno@mail.ru>
* marshal.c (r_long): cast to `signed char`, which is used
already, instead of SIGN_EXTEND_CHAR.
* parse.y: SIGN_EXTEND_CHAR is no longer used. [Fix GH-1302]
Wed Mar 23 11:38:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM):
* add missing parentheses and remove double quotes.
* rename to get rid of recursive references.
* as --excludes-dir option is for a path name, its argument
should be converted.
[ruby-dev:49526] [Bug #12199]
Wed Mar 23 10:39:38 2016 Koichi ITO <koic.ito@gmail.com>
* variable.c: Added documentation about order of `Module#constants`
[ci skip][Bug #12121][ruby-dev:49505][fix GH-1301]
Tue Mar 22 21:08:30 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* include/ruby/oniguruma.h: Additional flag for characters that are titlecase.
* enc/unicode/case-folding.rb, casefold.h: Using above flag in data.
* enc/unicode.c: Marking capitalized character as unmodified if it is
already titlecase.
* test/ruby/enc/test_case_mapping.rb: Tests for above functionality.
Tue Mar 22 14:18:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (lambda_body, parser_yylex): warn mismatched indentation
of lambda block.
Tue Mar 22 11:36:49 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* time.c (wmul): wrong condition.
fixed many test failures on 32bit and LLP64 platforms.
Tue Mar 22 10:31:34 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments
are valid pointers.
maybe checking them in wdivmod0() is better manner, but I guess that
passing real dummy pointers may be faster than checking and branching
in wdivmod0().
this commit fixes SEGV on 32bit and LLP64 platforms.
Tue Mar 22 10:24:04 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* time.c (divmodv): void function never returns any value.
Tue Mar 22 10:11:01 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/lib/test/unit.rb (Test::Unit::StatusLine#failed): print
failed messages only if replacing mode, otherwise defer them
until the end, to get rid of interleaving failures with progress
messages. refix r54195.
Tue Mar 22 03:45:03 2016 NARUSE, Yui <naruse@ruby-lang.org>
* time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV.
* time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch.
* time.c (wmul): use mul which has Fixnum optimization.
* time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same
optimized logic, else mul() has also the similar logic for Fixnum.
* time.c (rb_time_unmagnify): almost ditto.
Tue Mar 22 03:10:09 2016 NARUSE, Yui <naruse@ruby-lang.org>
* time.c (divmodv): add the case both arguments are Fixnum.
* time.c (wquo): use quo which has Fixnum optimization.
* time.c (wdivmod0): added for WIDEVALUE_IS_WIDER.
* time.c (wdivmod): use wdivmod0 and divmodv.
divmodv has Fixnum optimization.
* time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which
calls id_quo whose return value is array.
* time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which
calls id_quo whose return value is array.
Mon Mar 21 22:32:50 2016 NARUSE, Yui <naruse@ruby-lang.org>
* internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if
x == FIXNUM_MIN && y == -1. This must be a rare case and it is
expected compiler to handle well.
Mon Mar 21 22:15:11 2016 NARUSE, Yui <naruse@ruby-lang.org>
* time.c (mod): Add Fixnum case.
* time.c (quo): c can be Fixnum except a == FIXNUM_MIN && b == -1.
Such case can be optimized out because quo()'s argument is constant.