/
ChangeLog
17636 lines (10916 loc) · 593 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
Wed Jan 29 12:35:37 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
fix a typo in comment in r39384.
Thu Jan 9 14:27:25 2014 Aman Gupta <ruby@tmm1.net>
* test/net/imap/cacert.pem: generate new CA cert, since the last one
expired. [Bug #9341] [ruby-core:59459]
* test/net/imap/server.crt: new server cert signed with updated CA.
* test/net/imap/Makefile: add `make regen_certs` to automate this
process.
Sun Dec 22 14:25:54 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* process.c (redirect_dup2): set standard handles when new fd is stdio,
because if there is no allocated console at the moment Windows does
not automatically associate it for child process's standard handle.
this is adhoc workaround.
reported by Martin Thiede at [ruby-core:48542] [Bug #7239].
Tue Dec 3 18:36:42 2013 Narihiro Nakamura <authornari@gmail.com>
* object.c (rb_obj_clone): protect FL_MARK of a dest object. A lazy
sweeper free up a dest object if a marker is invoked immediately
following allocate a dest object in rb_obj_alloc().
[Backport #9206]
Sun Dec 22 13:35:58 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/rubygems.rb: 1.8.23.2.
[ruby-core:58757] [Backport#9193] reported by Jeremy Evans and patched
by Eric Hodel.
Fri Nov 22 12:44:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* util.c (ruby_strtod): ignore too long fraction part, which does not
affect the result.
Fri Nov 1 00:08:21 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
* test/openssl/test_pkey_ec.rb: Skip tests for "Oakley" curves as
they are not suitable for ECDSA.
[ruby-core:54881] [Bug #8384]
Fri Nov 1 00:04:17 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* parse.y: Remove +(binary) and -(binary) special cases
[Feature #9048]
Thu Oct 31 23:57:22 2013 Benoit Daloze <eregontp@gmail.com>
* test/ruby/test_array.rb (test_count): add a test case for #count
with an argument. See Bug #8654.
Thu Oct 31 23:57:22 2013 Benoit Daloze <eregontp@gmail.com>
* array.c (rb_ary_count): check length to avoid SEGV
while iterating. Remove other pointer loop when arg is given.
* test/ruby/test_array.rb (test_count): add test for bug.
[ruby-core:56072] [Bug #8654]
Thu Oct 31 23:57:22 2013 Masaki Matsushita <glass.saga@gmail.com>
* array.c (rb_ary_count): iterate items appropriately.
[Bug #8654]
Thu Oct 31 23:42:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/tempfile.rb (Tempfile#unlink): finalizer is no longer needed
after unlinking. patched by by normalperson (Eric Wong) at
[ruby-core:56521] [Bug #8768]
Thu Oct 31 23:40:43 2013 Zachary Scott <e@zzak.io>
* lib/gserver.rb: [DOC] correct gserver.rb license [Bug #8913]
Thu Oct 31 23:35:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vsnprintf.c (MAXEXP, MAXFRACT): calculate depending on constants in
float.h.
* vsnprintf.c (BSD_vfprintf): limit length for cvt() to get rid of
buffer overflow. [ruby-core:57023] [Bug #8864]
* vsnprintf.c (exponent): make expbuf size more precise.
Thu Oct 31 23:32:41 2013 Michal Rokos <michal@rokos.cz>
* configure.in (sys/pstat.h): fix missing header check for
missing/setproctitle.c on HP-UX. [ruby-core:56644] [Bug #8792]
Thu Oct 31 23:25:25 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
* ext/openssl/ossl_pkey_ec.c: Ensure compatibility to builds of
OpenSSL with OPENSSL_NO_EC2M defined, but OPENSSL_NO_EC not
defined.
* test/openssl/test_pkey_ec.rb: Iterate over built-in curves
(and assert their non-emptiness!) instead of hard-coding them, as
this may cause problems with respect to the different availability
of individual curves in individual OpenSSL builds.
[ruby-core:54881] [Bug #8384]
Thanks to Vit Ondruch for providing the patch!
Thu Oct 31 23:22:35 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* object.c (rb_obj_cmp): [DOC] patched by Keith Bennett
<kbennett AT verisign.com>. [ruby-core:57887] [Backport #9024]
Thu Oct 31 23:10:30 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* test/dl/test_base.rb: {libc, libm} detection now handle GNU/Hurd
correctly. Patch by Gabriele Giacone (1o5g4r8o@gmail.com).
[Bug #8937][ruby-core:57311]
* test/fiddle/helper.rb: ditto.
Thu Oct 31 23:05:33 2013 Tanaka Akira <akr@fsij.org>
* lib/time.rb (Time.strptime): Time.strptime('0', '%s') returns local
time Time object as Ruby 2.0 and before.
Thu Oct 31 23:05:33 2013 Tanaka Akira <akr@fsij.org>
* lib/time.rb (Time.strptime): Use :offset.
Patch by Felipe Contreras. [ruby-core:57694]
Thu Oct 31 22:49:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (rb_io_close_read): duplex IO should wait its child process
even after close_read.
Thu Oct 31 22:49:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (rb_io_close_read): keep fptr in write_io to be discarded, to
fix freed pointer access when it is in use by other threads, and get
rid of potential memory/fd leak.
Mon Sep 2 17:21:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/date/date_parse.c (rfc2822_cb): check if wday is given, since it
can be omitted.
Mon Aug 19 18:36:37 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* test/webrick/test_cgi.rb (TestWEBrickCGI#{start_cgi_server,test_cgi}):
mswin is not only mswin32 but also mswin64. [Bug #8746]
Mon Aug 19 18:34:31 2013 Charlie Somerville <charliesome@ruby-lang.org>
* test/openssl/test_ssl.rb: Fix test for CVE-2013-4073.
Patch by Antonio Terceiro. [Bug #8750] [ruby-core:56437]
Mon Aug 19 18:31:26 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* parse.y: fix build error with bison-3.0.
Fri Aug 16 15:35:10 2013 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_{core,strftime}.c: [ruby-core:46990].
Wed Aug 14 09:56:55 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (have_framework): allow header file to check.
[ruby-core:55745] [Bug #8593]
Fri Aug 9 16:29:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (xsystem): expand environment variable in all macros not
expanded with RbConfig. [Bug #8702]
* test/mkmf/test_framework.rb (create_framework): replace all $@ not
only once.
Fri Aug 9 15:59:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_peek_variable_name): treat invalid global, class,
and instance variable names as mere strings rather than errors.
[ruby-core:54885] [Bug #8375]
Fri Aug 9 15:59:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_yylex): fail if $, @, @@ are not followed by a valid
name character. [ruby-core:54846] [Bug #8375].
Fri Aug 9 15:56:05 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/net/http.rb (Net::HTTP#send_request_with_body_stream): use
String#bytesize instead of String#length.
reported by shekhei (shek hei wong) at [ruby-core:53775]
[Backport #8176].
Fri Aug 9 15:50:11 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (wrename): use MoveFileExW instead of MoveFileW,
because the latter fails on cross device file move of some
environments.
fix [ruby-core:53492] [Bug #8109]
reported by mitchellh (Mitchell Hashimoto)
Thu Aug 8 16:09:26 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* test/coverage/test_coverage.rb (TestCoverage#test_big_code): use `1'
instead of `p' to get rid of a side effect.
Kernel#p without any argument seems to do nothing, but flushes stdout.
and, if stdout is redirected to file, fsync() will be called on
Windows. so, when running test-all on Windows with redirection, such
as CI environment, this test took a lot of time.
Fri Aug 2 20:41:15 2013 Eric Hodel <drbrain@segment7.net>
* ext/openssl/ossl_asn1.c (asn1time_to_time): Implement YYMMDDhhmmZ
format for ASN.1 UTCTime. [ruby-trunk - Bug #8664]
* test/openssl/test_asn1.rb: Test for the above.
Fri Aug 2 20:34:06 2013 Masaki Matsushita <glass.saga@gmail.com>
* io.c (io_getpartial): use rb_str_locktmp_ensure().
[ruby-core:56121] [Bug #8669]
* io.c (rb_io_sysread): ditto.
* test/ruby/test_io.rb: add tests for above.
Fri Aug 2 20:34:06 2013 Masaki Matsushita <glass.saga@gmail.com>
* string.c: add internal API rb_str_locktmp_ensure().
* io.c (io_fread): use rb_str_locktmp_ensure().
[ruby-core:56121] [Bug #8669]
* test/ruby/test_io.rb: add a test for above.
Fri Aug 2 20:03:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* rational.c (f_round_common): Rational is expected to be returned by
Rational#*, but mathn.rb breaks that assumption. [ruby-core:56177]
[Bug #8687]
Wed Jul 17 11:00:21 2013 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_core.c: [ruby-core:46058].
Wed Jul 17 10:14:37 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
* lib/openssl/ssl-internal.rb: Fix SSL client connection crash for SAN
marked critical.
The patch for CVE-2013-4073 caused SSL crash when a SSL server returns
the certificate that has critical SAN value. X509 extension could
include 2 or 3 elements in it:
[id, criticality, octet_string] if critical,
[id, octet_string] if not.
Making sure to pick the last element of X509 extension and use it as
SAN value.
[ruby-core:55685] [Bug #8575]
Thank you @nahi for providing the patch!
Wed Jul 17 09:59:33 2013 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_core.c: fixed coding error [ruby-core:55337].
reported by Riley Lynch.
Wed Jul 17 09:59:33 2013 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_core.c: fixed a bug [ruby-core:55295]. reported
by Riley Lynch.
Thu Jul 11 10:07:15 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix for the cases when
the argument x is not a BigDecimal.
This change is based on the patch made by Heesob Park and Garth Snyder.
[Bug #6862] [ruby-core:47145]
[Fix GH-332] https://github.com/ruby/ruby/pull/332
Wed Jul 10 10:27:12 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* include/ruby/intern.h (rb_path_next, rb_path_skip_prefix,
rb_path_last_separator, rb_path_end, ruby_find_basename,
ruby_find_extname): restore the declarations of these functions for
backword compatibility.
* filc.c (rb_path_next, rb_path_skip_prefix, rb_path_last_separator,
rb_path_end, ruby_find_basename, ruby_find_extname): implements
these functions as the wrapper of rb_enc_*().
Wed Jul 10 10:05:40 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* include/ruby/intern.h (rb_f_lambda): restore the declaration of
rb_f_lambda() for backword compatibility.
Thu Jun 27 20:11:52 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/openssl/lib/openssl/ssl-inernal.rb (verify_certificate_identity):
fix hostname verification. Patched by nahi.
* test/openssl/test_ssl.rb (test_verify_certificate_identity): test for
above.
Wed Jun 26 18:28:29 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* test/ruby/test_m17n.rb: assert_predicate and assert_not_predicate
is not available on 1.9.3.
Wed Jun 26 17:08:13 2013 Kazuki Tsujimoto <kazuki@callcc.net>
* include/ruby/ruby.h, vm_eval.c (rb_funcall_with_block):
new function to invoke a method with a block passed
as an argument.
* string.c (sym_call): use the above function to avoid
a block sharing. [ruby-dev:47438] [Bug #8531]
* vm_insnhelper.c (vm_yield_with_cfunc): don't set block
in the frame.
* test/ruby/test_symbol.rb (TestSymbol#test_block_given_to_proc):
run related tests.
Wed Jun 26 17:01:22 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* benchmark/bm_hash_shift.rb: add benchmark for Hash#shift
* hash.c (rb_hash_shift): use st_shift if hash is not being iterated to
delete element without iterating the whole hash.
* hash.c (shift_i): remove function
* include/ruby/st.h (st_shift): add st_shift function
* st.c (st_shift): ditto
[Backport #8328] [ruby-core:55250] Patch by funny-falcon
Wed Jun 26 16:52:57 2013 Kazuki Tsujimoto <kazuki@callcc.net>
* test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc):
run test for r41359.
Wed Jun 26 16:52:57 2013 Kazuki Tsujimoto <kazuki@callcc.net>
* include/ruby/intern.h, proc.c (rb_method_call_with_block):
new function to invoke a Method object with a block passed
as an argument.
* proc.c (bmcall): use the above function to avoid a block sharing.
[ruby-core:54626] [Bug #8341]
* test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls):
run related tests.
Wed Jun 26 16:36:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* defs/id.def (predefined): add "idProc".
* proc.c (mnew, mproc, mlambda): use predefined IDs.
* vm.c (Init_VM): ditto.
Wed Jun 26 16:36:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/intern.h (rb_block_lambda): add declaration instead of
deprecated rb_f_lambda.
Wed Jun 26 16:31:49 2013 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/imap.rb (capability_response): should ignore trailing
spaces. Thanks, Peter Kovacs. [ruby-core:55024] [Bug #8415]
* test/net/imap/test_imap_response_parser.rb: related test.
Wed Jun 26 16:29:41 2013 Charlie Somerville <charliesome@ruby-lang.org>
* intern.h: remove dangling rb_class_init_copy declaration
[ruby-core:55120] [Bug #8434]
Wed Jun 26 16:22:12 2013 Charlie Somerville <charliesome@ruby-lang.org>
* class.c (include_modules_at): invalidate method cache if included
module contains constants
* test/ruby/test_module.rb: add test
Wed Jun 26 16:13:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (io_getc): fix 7bit coderange condition, check if ascii read
data instead of read length. [ruby-core:55444] [Bug #8516]
Wed Jun 26 16:10:01 2013 Eric Hodel <drbrain@segment7.net>
* ext/socket/extconf.rb: Enable RFC 3542 IPV6 socket options for OS X
10.7+. [ruby-trunk - Bug #8517]
Wed Jun 5 12:38:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (setup_overlapped, finish_overlapped): extract from
rb_w32_read() and rb_w32_write().
Wed May 29 21:03:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (POSTLINK): default to : command to get rid of flag
only command, since BSD make does not work with it.
Wed May 29 20:59:38 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/yaml.rb: documentation updates, patched by zzak.
[ruby-core:54735] [Backport #8356]
Wed May 15 14:04:39 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* Makefile.in (miniruby): 1.9.3 doesn't have POSTLINK macro.
reported by Takahiro Kambe at [ruby-list:49362].
Wed May 15 01:06:26 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* include/ruby/intern.h: should include sys/time.h for struct timeval
if it exists.
Wed May 15 00:23:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (warnflags): disable -Werror by default unless
development. [ruby-core:52131] [Bug #7830]
Wed May 15 00:21:31 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* signal.c: need to include unistd.h for write(2).
Tue May 14 20:25:58 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
* ext/dl/lib/dl/func.rb (DL::Function#call): check tainted when
$SAFE > 0.
* ext/fiddle/function.c (function_call): check tainted when $SAFE > 0.
* test/fiddle/test_func.rb (module Fiddle): add test for above.
Tue May 14 11:36:22 2013 Shugo Maeda <shugo@ruby-lang.org>
* lib/net/imap.rb (getacl_response): parse the mailbox of an ACL
response correctly. [ruby-core:54365] [Bug #8281]
Tue May 14 11:24:22 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
* ext/openssl/ossl_ssl.c: Correct shutdown behavior w.r.t GC.
* test/openssl/test_ssl.rb: Add tests to verify correct behavior.
[Bug #8240] Patch provided by Shugo Maeda. Thanks!
Tue May 14 11:22:33 2013 Naohisa Goto <ngotogenome@gmail.com>
* configure.in (AC_CHECK_HEADERS): atomic.h for Solaris atomic_ops.
* ruby_atomic.h: Skip using Solaris10 atomic_ops on Solaris 9 or
earlier if atomic.h is not available. [ruby-dev:47229] [Bug #8228]
Tue May 14 10:42:23 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (MAIN_DOES_NOTHING): ensure symbols for tests to be
preserved. [ruby-core:53745] [Bug #8169]
Tue May 14 10:42:23 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb (MAIN_DOES_NOTHING): force to refer symbols for tests
to be preserved. [ruby-core:53745] [Bug #8169]
Tue May 14 10:39:33 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* regexec.c (onig_search): fix problem with optimization of \z.
[Backport #8210]
patched by k_takata at [ruby-core:54251].
Tue May 14 09:36:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* time.c (GetTimeval): check if already initialized instance.
* time.c (GetNewTimeval): check if newly created instance.
* time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
be newly created instance. [ruby-core:53436] [Bug #8099]
Thu Apr 11 11:24:42 2013 Akinori MUSHA <knu@iDaemons.org>
* lib/ipaddr.rb (IPAddr#in6_addr): Fix a typo with the closing
parenthesis.
Thu Apr 11 11:24:42 2013 Akinori MUSHA <knu@iDaemons.org>
* lib/ipaddr.rb (IPAddr#in6_addr): Fix the parser so that it can
recognize IPv6 addresses with only one edge 16-bit piece
compressed, like [::2:3:4:5:6:7:8] or [1:2:3:4:5:6:7::].
[Bug #7477]
Thu Apr 11 11:22:32 2013 Naohisa Goto <ngoto@gen-info.osaka-u.ac.jp>
* string.c (rb_str_concat): set array element after definition
to fix compile error with Fujitsu C Compiler 5.6 on Solaris 10
on Sparc. [Bug #5878] [ruby-dev:45123]
Thu Apr 11 11:21:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_magic_comment): should pass the proper value.
[ruby-dev:44984][Bug #5753]
Thu Apr 11 11:18:57 2013 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_core.c: [ruby-core:52303]
Thu Apr 4 16:21:39 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/objspace/objspace.c (count_nodes): fix key for unknown node.
based on a patch by tmm1 (Aman Gupta) in [ruby-core:53130] [Bug #8014]
Thu Apr 4 16:17:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* Makefile.in (miniruby, ruby): move MAINLIBC because linker arguments
must appear after object files with newer versions of gcc. patch by
tmm1 (Aman Gupta) in [ruby-core:53121] [Bug #8009]
Thu Apr 4 09:44:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point
instead of TARGET which may contain non-identifer characters.
* lib/mkmf.rb (create_makefile): add TARGET_NAME which is the first
part consists of only word characters. [ruby-core:46248][Bug #6709]
Tue Apr 2 13:13:19 2013 Martin Duerst <duerst@it.aoyama.ac.jp>
* transcode.c (documentation for str_encode): Explain
that transcoding to the same encoding is a no-op
(i.e. no exceptions, no replacements,...).
[ruby-core:43557][Bug #6190]
Tue Apr 2 13:13:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* transcode.c (str_encode_bang, encoded_dup): if nothing was
transcoded, just set encoding but leave coderange unchanged as
forcee_encoding. [ruby-core:43557][Bug #6190]
Tue Apr 2 13:07:29 2013 Tanaka Akira <akr@fsij.org>
* time.c (num_exact): use to_r method only if to_int method is
available.
[ruby-core:53764] [Bug #8173] reported by Hiro Asari.
Tue Apr 2 13:01:55 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (EXTDLDFLAGS): split options for each extension
libraries, and unused in ruby.pc. [Bug #6734]
* lib/mkmf.rb (MakeMakefile#configuration): add EXTDLDFLAGS.
Tue Apr 2 12:59:35 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (rb_w32_read): Windows 8 fixed one of a bug of console
API.
based on the patch by Heesob Park at [ruby-core:49479] [Bug #7379]
Tue Apr 2 12:56:15 2013 Naohisa Goto <ngotogenome@gmail.com>
* signal.c (ruby_abort): fix typo in r39354 [Bug #5014]
Tue Apr 2 12:56:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* signal.c (check_stack_overflow): extract duplicated code and get rid
of declaration-after-statement. [Bug #5014]
Tue Apr 2 12:56:15 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* signal.c (sigsegv): avoid to use async signal unsafe functions
when nested sigsegv is happen.
[Bug #5014] [ruby-dev:44082]
Fri Mar 29 13:22:15 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* include/ruby/missing.h: fixed merge mistake of r39985.
[Backport #8080]
Thu Mar 28 19:01:54 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* include/ruby/missing.h: removed __linux__. it's unnecessary.
Thu Mar 28 19:01:54 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread.c: disabled _FORTIFY_SOURCE for avoid to hit glibc bug.
[Bug #8080] [ruby-core:53349]
* test/ruby/test_io.rb (TestIO#test_io_select_with_many_files):
test for the above.
Thu Mar 28 19:01:54 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* include/ruby/missing.h (__syscall): moved to...
* io.c: here. because __syscall() is only used from io.c.
* include/ruby/missing.h: move "#include <sys/type.h>" to ....
* include/ruby/intern.h: here. because it was introduced for
fixing NFDBITS issue. [ruby-core:05179].
Thu Mar 28 19:01:54 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* include/ruby/missing.h (struct timespec): include <sys/time.h>
Thu Mar 28 19:01:54 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* configure.in: check struct timeval exist or not.
* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
properly. and don't include sys/time.h if struct timeval exist.
* file.c: include sys/time.h explicitly.
* random.c: ditto.
* thread_pthread.c: ditto.
* time.c: ditto.
* ext/date/date_strftime.c: ditto.
Thu Mar 28 18:54:31 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* regcomp.c (optimize_node_left, set_optimize_info_from_tree): right
handling for look behind anchor.
* regexec.c (onig_search): ditto.
[Backport #8076]
this patch is derived from Onigmo base tree.
Thu Mar 28 18:35:01 2013 Luis Lavena <luislavena@gmail.com>
* win32/file.c (get_user_from_path): add internal function that retrieves
username from supplied path (refactored).
* win32/file.c (rb_file_expand_path_internal): refactor expansion of user
home to use get_user_from_path and cover dir_string corner cases.
[ruby-core:53168] [Bug #8034]
Thu Mar 28 18:35:01 2013 Luis Lavena <luislavena@gmail.com>
* win32/file.c (rb_file_expand_path_internal): Expand home directory when
used as second parameter (dir_string). [ruby-core:53168] [Bug #8034]
* test/ruby/test_file_exhaustive.rb: add test to verify.
Thu Mar 28 18:18:49 2013 Martin Bosslet <Martin.Bosslet@googlemail.com>
* ext/openssl/ossl_asn1.c: raise TypeError when trying to encode nil
values for Primitive instances.
* test/openssl/test_asn1.rb: Assert consistent behavior when
encoding nil values: Primitives raise TypeError, Constructives
raise NoMethodError.
Fixes [ruby-core:43009][Bug #6102]
Thu Mar 28 18:14:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/mkconfig.rb: reconstruct comma separated list values. a
command line to Windows batch file is split not only by spaces
and equal signs but also by commas and semicolons.
Thu Mar 28 18:13:38 2013 NARUSE, Yui <naruse@ruby-lang.org>
* string.c (str_byte_substr): don't set coderange if it's not known.
[Bug #7954] [ruby-dev:47108]
Thu Mar 28 18:12:19 2013 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/document.rb: move entity_expansion_text_limit accessor to ...
* lib/rexml/rexml.rb: ... here to make rexml/text independent from
REXML::Document. It causes circular require.
* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
deprecated.
* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit=):
deprecated.
* lib/rexml/text.rb: add missing require "rexml/rexml" for
REXML.entity_expansion_text_limit.
Reported by Robert Ulejczyk. Thanks!!! [ruby-core:52895] [Bug #7961]
Thu Mar 21 20:34:52 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* test/win32ole/test_err_in_callback.rb (TestErrInCallBack#setup):
allow using different root for source and build directories.
this may fixes a minor problem of r39834.
Thu Mar 21 20:34:52 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* test/win32ole/test_err_in_callback.rb (TestErrInCallBack#setup): use
relative path to get rid of "too long commandline" error.
Thu Mar 21 20:34:52 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* test/win32ole/test_err_in_callback.rb
(TestErrInCallBack#test_err_in_callback): shouldn't create a file in
the top of build directory.
Tue Feb 26 09:53:59 2013 NARUSE, Yui <naruse@ruby-lang.org>
* st.c (st_add_direct): int is not always same with st_index_t. some
version of clang reports error.
* thread.c (vm_living_thread_num): ditto.
reported by d6rkaiz (Isao Sugimoto) at [ruby-dev:47096]
[Backport #7946]
Fri Feb 22 18:36:51 2013 Aaron Patterson <aaron@tenderlovemaking.com>
* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
new attribute to read/write entity expansion text limit. the default
limit is 10Kb.
* lib/rexml/text.rb (REXML::Text.unnormalize): check above attribute.
Fri Feb 22 14:48:15 2013 NARUSE, Yui <naruse@ruby-lang.org>
* vm.c (vm_exec): get rid of a SEGV when calling rb_iter_break() from
some extention libraries. [Backport #7896] [ruby-core:52607]
Fri Feb 22 14:40:57 2013 Narihiro Nakamura <authornari@gmail.com>
* gc.c : remove a unused function.
Fri Feb 22 14:40:57 2013 NARUSE, Yui <naruse@ruby-lang.org>
* regparse.c (onig_number_of_names): suppress a warning.
Fri Feb 22 14:40:57 2013 NARUSE, Yui <naruse@ruby-lang.org>
* vm_insnhelper.c (vm_call_cfunc): remove useless hack.
Fri Feb 22 14:40:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_call_cfunc): suppress a warning. note that
`volatile type *var' doesn't make var itself volatile.
Fri Feb 22 14:28:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval_jump.c (rb_exec_end_proc): remember the latest exit status.
[ruby-core:43173][Bug #5218]
Fri Feb 22 14:25:57 2013 NARUSE, Yui <naruse@ruby-lang.org>
* ext/readline/readline.c (Init_readline): don't set 0 to
rl_catch_signals and rl_catch_sigwinch. [Bug #5423]
Wed Feb 13 16:18:22 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/json: Import JSON 1.5.5.
Wed Feb 6 17:39:19 2013 Eric Hodel <drbrain@segment7.net>
* lib/rdoc: Import RDoc 3.9.5.
Wed Feb 6 14:27:25 2013 Shugo Maeda <shugo@ruby-lang.org>
* ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return
sizeof(sa_familiy_t) if path is empty. see "Autobind Feature" in
unix(7) for details.
* ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an
empty path as an abstract name.
* test/socket/test_unix.rb: related test.
* ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()
because rb_sys_fail_str() fails if its argument contains NUL.
* test/socket/test_unix.rb: related test.
* ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the
correct address length of an abstract socket.
* test/socket/test_unix.rb: related test.
* ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from
rsock_unixpath_len, because it returns not the length of the path,
but the length of a socket address for the path.
* ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),
ext/socket/unixsocket.c (unixsock_connect_internal,
rsock_init_unixsock): calculate the correct address length of
an abstract socket. Without this fix, sizeof(struct sockaddr_un)
is specified as the length of an abstract socket for bind(2) or
connect(2), so the address of the socket is filled with extra NUL
characters. See unix(7) for details.
* ext/socket/lib/socket.rb (unix_server_socket): don't access the
file system if the platform is Linux and path starts with NUL,
which means that the socket is an abstract socket.
* test/socket/test_unix.rb: related test.
* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
path in sockaddr_un, really.
reported by nagachika.
http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476
* ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest
path in sockaddr_un.
(inspect_sockaddr): ditto.
(addrinfo_mdump): ditto.
(addrinfo_mload): ditto.
(rsock_unixpath_str): new function.
(rsock_unixpath): removed.
(rsock_unixaddr): use rsock_unixpath_str.
* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
path in sockaddr_un.
(sock_s_unpack_sockaddr_un): ditto.
(sock_s_gethostbyaddr): unused variable removed.
* ext/socket/unixsocket.c (rsock_init_unixsock): support the longest
path in sockaddr_un.
* ext/socket/rubysocket.h (rsock_unixpath_str): declared.
(rsock_unixpath): removed.
* test/socket/test_unix.rb: comment out test_nul because abstract unix
sockets may contain NULs.
Wed Feb 6 14:20:12 2013 Tanaka Akira <akr@fsij.org>
* ext/socket/basicsocket.c (bsock_getsockname): ignore truncated
part of socket address.
(bsock_getpeername): ditto.
(bsock_local_address): ditto.
(bsock_remote_address): ditto.
* ext/socket/unixsocket.c (unix_path): ditto.
(unix_addr): ditto.
(unix_peeraddr): ditto.
* ext/socket/init.c (cloexec_accept): ditto.
Wed Feb 6 14:19:07 2013 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/parsers/baseparser.rb, test/rexml/test_comment.rb:
allow a single hyphen in comment. [Bug #5278] [ruby-core:39289]
Reported by Thomas Fritzsche. Thanks!!!
Wed Feb 6 14:14:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (realpath_rec): prevent link from GC while link_names refers
the content.
Wed Feb 6 14:13:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* missing/setproctitle.c (environ): use (*_NSGetEnviron()) instead of
environ on Darwin for namespace cleanness, same as [ruby-core:00537].
[ruby-core:45615] [Bug #6576]
Wed Feb 6 14:05:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* dir.c (glob_make_pattern): names under recursive need to be single
basenames to match for each name. [ruby-core:47418] [Bug #6977]
Tue Jan 15 16:30:29 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* thread_pthread.c (gvl_init): Reset gvl.wait_yield explicitly when
fork()ing. Patch by Apollon Oikonomopoulos. Thanks!
[Bug #7693][ruby-core:51424]
Tue Jan 15 16:25:35 2013 Narihiro Nakamura <authornari@gmail.com>
* gc.c (rb_objspace_call_finalizer): finalize_deferred may free up
a object which is reachable from a part after this function,
e.g. ruby_vm_destruct(). [ruby-dev:46647] [Bug #7452]
* test/ruby/test_gc.rb (test_finalizing_main_thread): add a test
for above.
Tue Jan 15 16:23:30 2013 NARUSE, Yui <naruse@ruby-lang.org>
* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
treat \r as newline as mame pointed. [ruby-dev:46425] [Bug #7278]
Tue Jan 15 16:23:30 2013 NARUSE, Yui <naruse@ruby-lang.org>
* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278]
Tue Jan 15 16:13:47 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style.
Tue Jan 15 16:13:47 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead of
`TYPE(x) == t`.
Tue Jan 15 16:13:47 2013 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (BigDecimal_sub):
need to specify precision for converting Rational and Float.
[ruby-dev:46544] [Bug #7404]
* ext/bigdecimal/bigdecimal.c (BigDecimal_mult): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto.
* test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes.
Tue Jan 15 16:03:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* tool/mkconfig.rb: use configured libdir value to fix
--enable-load-relative on systems where libdir is not default value,
overridden in config.site files. [ruby-core:47267] [Bug #6903]
Tue Jan 15 15:55:09 2013 Eric Hodel <drbrain@segment7.net>
* object.c (Init_Object): Added RDoc location pointers for
Kernel#methods, Kernel#protected_methods, Kernel#private_methods and
Kernel#public_methods. [Bug #6666]
Fri Jan 11 17:12:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_core.h (rb_iseq_t): move flip_cnt from struct iseq_compile_data,
because it has same life span as enclosing iseq. [Bug #7671]
[ruby-core:51296]
Fri Jan 11 17:11:26 2013 NARUSE, Yui <naruse@ruby-lang.org>
* lib/mkmf.rb: add dummy clean-static target to prevent errors for the
case real clean-static target doesn't exist.
Fri Jan 11 17:02:59 2013 Koichi Sasada <ko1@atdot.net>
* vm_exec.h (GENTRY): GENTRY should be pointer size.
A patch by yoshidam (Yoshida Masato) [Bug #7332].
Fri Jan 11 16:57:31 2013 NAKAMURA Usaku <usa@ruby-lang.org>
* vm_trace.c (rb_threadptr_exec_event_hooks): added a parameter to pop
a frame before JUMP_TAG() if exception occurred. This change fix bug
of Ruby 1.9. [ruby-core:51128] [ruby-trunk - Bug #7624]
* vm_core.h (EXEC_EVENT_HOOK_AND_POP_FRAME): add to use
`rb_threadptr_exec_event_hooks()' with the pop flag.
* vm.c (vm_exec): use EXEC_EVENT_HOOK_AND_POP_FRAME() while exception
handling. While exception hadnling, if an exception is raised in
hooks, need to pop current frame and raise this raised exception by
hook.
* bootstraptest/test_flow.rb: add a test.
Mon Jan 7 15:50:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (rb_vm_make_proc): save the proc made from the given block so
that it will not get collected. [ruby-core:50545] [Bug #7507]
Tue Dec 25 23:35:09 2012 NARUSE, Yui <naruse@ruby-lang.org>
* lib/mkmf.rb: fix for if config["libdir"] is nil.
Tue Dec 25 20:40:47 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* bignum.c, include/ruby/intern.h (rb_big_eql): exported.
* thread.c (recursive_check): object_id maybe a Bignum, not Fixnum on
LLP64. see also r38493 and r38548.
reported by Heesob Park at [ruby-core:51083] [Bug #7607], and patched
by shirosaki at [ruby-core:51095]
Tue Dec 25 09:54:31 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* gc.c (obj_id_to_ref): add a macro to treat Bignum object id.
This follows the change r38493.
* gc.c (id2ref): fix for working fine with Bignum object id on x64
Windows.
* gc.c (wmap_finalize): ditto.
Sat Dec 22 00:33:28 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* object.c (rb_obj_hash): shouldn't assume object_id can be long.
based on a patch by Heesob Park at [ruby-core:51060].
cf. [Backport #7454]
Sat Dec 22 00:33:28 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* gc.c (nonspecial_obj_id): VALUE is not compatible with Fixnum on
LLP64 platform, such as 64bit Windows.
reporeted by Heesob Park at [ruby-core:50255] [Bug #7454], and the
fix is suggested by akr.
Fri Dec 21 16:03:54 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/ruby/test_argf.rb (TestArgf#test_chars): since marshal data is
binary, shouldn't pass via text mode. use base64 encoded data.
Thu Dec 13 23:10:52 Charlie Somerville <charlie@charliesomerville.com>
* object.c (Init_Object): use rb_mod_init_copy for Class#initialize_copy
* class.c (rb_class_init_copy): rename to class_init_copy_check, performs type
checks on arguments to prevent reinitialization of initialized class
[ruby-core:50869] [Bug #7557]
* class.c (rb_mod_init_copy): use class_init_copy_check if receiver is T_CLASS
* test/ruby/test_class.rb (class TestClass): related test