forked from ruby/ruby
/
ChangeLog
6626 lines (4154 loc) · 226 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
Tue Feb 14 05:23:40 2012 Eric Hodel <drbrain@segment7.net>
* process.c (proc_wait): Change typo "SystemError" to
"SystemCallError". [ruby-trunk - Bug #5962]
* process.c (proc_wait2): ditto
Tue Feb 14 05:18:24 2012 Eric Hodel <drbrain@segment7.net>
* enumerator.c: Document use of Enumerator.new for creating a lazy
enumeration for filtering/chaining. [ruby-trunk - Feature #707]
Mon Feb 13 23:01:50 2012 Akinori MUSHA <knu@iDaemons.org>
* vm_method.c (rb_method_boundp):
obj.respond_to?(:a_protected_method) should return false because
calling a protected method may cause NoMethodError if called
from outside the class inheritance tree. Kernel#respond_to? is
mostly used to test if it is safe to call a method, so the false
positive should be avoided. [ruby-dev:40461] [ruby-dev:41739]
[ruby-dev:41837]
Mon Feb 13 21:52:06 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c (HEAP_OBJ_LIMIT, HEAP_BITMAP_LIMIT): HEAP_OBJ_LIMIT used
`sizeof(struct heaps_slot)` while heap is currently allocated
with `struct heaps_header`.
HEAP_BITMAP_LIMIT were calculated from
`HEAP_OBJ_LIMIT/sizeof(uintptr_t)` - one Byte for each object,
not one Bit. [Bug #6006]
patched by Sokolov Yura. https://github.com/ruby/ruby/pull/92
Mon Feb 13 18:30:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (io_setstrbuf): defer resizing buffer string until data is
read actually.
Mon Feb 13 10:24:39 2012 Loren Segal <lsegal@soen.ca>
* io.c (Init_IO): use directive hack to make ARGF documentable
in other tools. [ruby-core:42515][Bug #6007]
Sun Feb 12 20:43:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/ruby.h (rb_event_hook_func_t): add argument names.
Sun Feb 12 16:30:23 2012 Akinori MUSHA <knu@iDaemons.org>
* tool/merger.rb (#default_merge_branch): Add support for
Subversion 1.7 which adopted a whole new working directory
structure.
Sun Feb 12 15:14:41 2012 Kazuki Tsujimoto <kazuki@callcc.net>
* benchmark/driver.rb: suppress unused/shadowing variable warnings.
Sun Feb 12 03:14:40 2012 Eric Hodel <drbrain@segment7.net>
* vm_eval.c (check_funcall): Call respond_to? with matching arity for
legacy single-argument implementations. [ruby-trunk - Bug #6000]
Sat Feb 11 12:04:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (defined_expr): guard the whole expression.
[ruby-dev:45021][Bug#5786]
Sat Feb 11 08:34:42 2012 Eric Hodel <drbrain@segment7.net>
* ext/zlib/zlib.c (rb_inflate_add_dictionary): Added
Zlib::Inflate#add_dictionary to allow users to pre-specify
for using during #inflate. [ruby-trunk - Feature #5937]
Sat Feb 11 08:23:02 2012 Eric Hodel <drbrain@segment7.net>
* ext/zlib/zlib.c (do_inflate): Inflate more data if buffered data
exists. Allows Zlib::Inflate#set_dictionary to work.
[ruby-trunk - Bug #5929]
Sat Feb 11 06:00:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
* dir.c (fnmatch): The * needs to be escaped to avoid formatting in
fnmatch comment.
patched by @dalton. https://github.com/ruby/ruby/pull/91
Fri Feb 10 03:41:31 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/parser.c: removed external encoding setter, allow parser
to be reused.
* ext/psych/lib/psych/parser.rb: added external encoding setter.
* test/psych/test_parser.rb: test parser reuse
Fri Feb 10 01:30:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/dl/dl.h (ALIGN_OF): use offsetof().
* ext/dl/dl.h (DLALIGN): round up at once and get rid of overflow.
Fri Feb 10 00:47:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/ruby/envutil.rb (assert_no_memory_leak): new assertion to
check memory leak by invoking child ruby process and watch its
memory size.
Thu Feb 9 23:41:44 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* test/pathname/test_pathname.rb (test_binread): add assertion to
check encoding.
Thu Feb 9 16:48:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/dl/dl.c (Init_dl): fix mangled document.
Thu Feb 9 16:10:34 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/ruby/memory_status.rb (Memory::Win32): 64bit support.
Thu Feb 9 16:08:55 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/dl/lib/value.rb (DL::ValueUtil.{unsigned_value,signed_value}):
currently pack/unpack does not accept "q!" and "Q!".
Thu Feb 9 16:01:29 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/fiddle/conversions.c (value_to_generic): src is not guaranteed as
a Bignum if the type is LONG_LONG. it may be a Fixnum if the value
is small.
Thu Feb 9 11:32:36 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/dl/lib/types.rb: Win64 support.
Thu Feb 9 04:12:29 2012 NARUSE, Yui <naruse@ruby-lang.org>
* test/pathname/test_pathname.rb: not read but binread.
patched by Benoit Daloze, [ruby-core:42440] [Bug #5984]
Wed Feb 8 22:29:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (rb_str_modify_expand): fix memory leak.
Wed Feb 8 14:06:59 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
* ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL
option to prevent BEAST attack. See [Bug #5353].
In OpenSSL, OP_DONT_INSERT_EMPTY_FRAGMENTS is used to prevent
TLS-CBC-IV vulnerability described at
http://www.openssl.org/~bodo/tls-cbc.txt
It's known issue of TLSv1/SSLv3 but it attracts lots of attention
these days as BEAST attack. (CVE-2011-3389)
Until now ossl sets OP_ALL at SSLContext allocation and call
SSL_CTX_set_options at connection. SSL_CTX_set_options updates the
value by using |= so bits set by OP_ALL cannot be unset afterwards.
This commit changes to call SSL_CTX_set_options only 1 time for each
SSLContext. It sets the specified value if SSLContext#options= are
called and sets OP_ALL if not.
To help users to unset bits in OP_ALL, this commit also adds several
constant to SSL such as
OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS. These constants were
not exposed in Ruby because there's no way to unset bits in OP_ALL
before.
Following is an example to enable 0/n split for BEAST prevention.
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
* test/openssl/test_ssl.rb: Test above option exists.
Wed Feb 8 13:12:02 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* ext/openssl/ossl_x509name.c: Use the numerical representation of
unrecognized OIDs instead of the sn "UNDEF".
* test/openssl/test_x509name.rb: Add tests for the fixed behavior.
Patch provided by Paul Kehrer, thank you!
[ruby-core:41769] [Feature #5787]
Wed Feb 8 09:49:58 2012 NARUSE, Yui <naruse@ruby-lang.org>
* tool/merger.rb: don't abort, update first.
Wed Feb 8 09:47:33 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* ext/openssl/ossl_asn1.c: Call INT2NUM only once for GeneralString.
Thanks to Mantas Mikulenas for noticing and providing a patch!
[ruby-core:42358] [Bug #5972]
Wed Feb 8 09:19:00 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* ext/openssl/ossl_cipher.c: Add warning about key as IV.
Tue Feb 7 20:08:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* error.c (exc_inspect): Fix typo. patch from Trent Ogren
via https://github.com/ruby/ruby/pull/90
Tue Feb 7 19:37:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* st.c: refactor packed entries using structs.
Tue Feb 7 14:52:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* st.c (st_update): table can be unpacked in the callback.
* st.c (st_foreach): should not yield same pair when checking
after unpacking.
Mon Feb 6 21:55:13 2012 NARUSE, Yui <naruse@ruby-lang.org>
* tool/merger.rb: abort if the working directory is dirty.
* tool/merger.rb: update the working directory after commit.
Mon Feb 6 00:16:27 2012 NARUSE, Yui <naruse@ruby-lang.org>
* encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string
is ascii only string. [ruby-core:42354] [Bug #5968]
Fri Feb 3 07:16:47 2012 Eric Hodel <drbrain@segment7.net>
* lib/webrick.rb: Moved proxy rewriting to WEBrick::HTTPProxy.
* lib/webrick/httpproxy.rb: Add examples of creating a proxy server
and response rewriting using HTTPProxy.
Fri Feb 3 06:53:22 2012 Eric Hodel <drbrain@segment7.net>
* ext/openssl/ossl_x509store.c: Add class documentation for
OpenSSL::X509::Store
Thu Feb 2 22:28:13 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* test/net/http/test_https_proxy.rb
(HTTPSProxyTest#test_https_proxy_authentication):
add workaround to avoid to hang up without openssl.
see [ruby-dev:45021][Bug #5786]
* test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):
ditto.
Thu Feb 2 21:48:18 2012 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/parsers/baseparser.rb: use meaningful names.
Thu Feb 2 21:38:52 2012 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:
fix the default xml namespace URI validation.
[ruby-dev:45169] [Bug #5956]
Reported by Miho Hiramatsu. Thanks!!!
Thu Feb 2 17:51:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
* io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.
r34409 breaks replacing ARGV.
[ruby-dev:45160] [Bug #5952]
Thu Feb 2 16:21:01 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/net/http/test_http.rb (TestNetHTTPKeepAlive#*): remove debug
output.
Thu Feb 2 01:24:34 2012 Yusuke Endoh <mame@tsg.ne.jp>
* parse.y (debug_lines, coverage): set file path encoding for coverage
result. [ruby-dev:44950]
Wed Feb 1 14:38:31 2012 Akinori MUSHA <knu@iDaemons.org>
* lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): Just
call File.unlink and ignore ENOENT because existence check
before unlinking does not help in terms of race condition.
* lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): My
comment about thread safeness is obsolete.
Wed Feb 1 09:50:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* doc/re.rdoc (Repetition): fix typo. reported by Ori Avtalion
and patched by Zachary Scott. [Bug #5947]
Wed Feb 1 06:38:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (argf_close): skip stdin, which should be readable again.
[ruby-dev:45160] [Bug #5952]
* io.c (argf_readlines): reinitialize after all read to be
readable again.
Tue Jan 31 21:27:43 2012 Narihiro Nakamura <authornari@gmail.com>
* configure.in (HEAP_ALIGN_LOG): HEAP_ALIGN_LOG should be page
size in OpenBSD. [ruby-core:42158][Bug #5901]
* gc.c : avoid to redefine.
Tue Jan 31 14:27:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* test/ruby/envutil.rb (EnvUtil.invoke_ruby): yield also child pid
in block form.
Mon Jan 30 19:08:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_eval.c (vm_call0): should pass block to enumerators. patched
by Kazuki Tsujimoto. [ruby-dev:44961][Bug #5731]
* vm_eval.c (method_missing), vm_insnhelper.c (vm_call_method):
ditto. patched by satoshi shiba.
Mon Jan 30 12:31:05 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* file.c (append_fspath): need to set the encoding to result always.
Mon Jan 30 10:38:37 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/irb/test_completion.rb: skip if cannot load irb/completion
(maybe readline does not exist).
Sun Jan 29 22:47:19 2012 Yutaka Kanemoto <kanemoto@ruby-lang.org>
* tool/config.{guess,sub}: updated to automake-1.11.2.
Sun Jan 29 12:17:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/readline/readline.c (readline_attempted_completion_function):
respect encodings. [Bug #5941]
Sat Jan 28 09:33:33 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* win32/win32.c (rb_w32_read): fix an issue that $stdin.read doesn't
terminate by CTRL-C on Windows.
[ruby-dev:45149] [Bug #5812]
Sat Jan 28 08:18:11 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* test/ruby/test_thread.rb
(TestThreadGroup#test_thread_timer_and_interrupt): skip exit status
assertion because we cannot get signal status on Windows.
* win32/win32.c (CreateChild): create process group to receive the
signal by GenerateConsoleCtrlEvent().
* win32/win32.c (kill): use CTRL_BREAK_EVENT instead of CTRL_C_EVENT
if a process group is specified. CTRL_C_EVENT signal cannot be
generated for process groups for the specification.
[ruby-dev:45149] [Bug #5812]
Sat Jan 28 07:46:03 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* thread_win32.c (rb_w32_wait_events_blocking): use
ruby_thread_from_native() instead of GET_THREAD() because
GET_THREAD() doesn't always return the current thread and
WaitForMultipleObjects() at rb_w32_read() doesn't return by
Thread#kill. This fixes TestQueue#test_thr_kill failure on
Windows.
* thread_win32.c (rb_w32_wait_events): use ruby_thread_from_native()
instead of GET_THREAD() for consistency with the above change.
* thread_win32.c (rb_w32_sleep): ditto.
* thread_win32.c (rb_w32_Sleep): ditto.
[ruby-dev:45149] [Bug #5812]
Sat Jan 28 07:28:48 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* test/zlib/test_zlib.rb (TestZlibGzipReader#test_reader_wrap): set
binmode explicitly for fixing test error on Windows. This is consistent
with r34243.
[ruby-dev:45149] [Bug #5812]
Sat Jan 28 05:53:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/irb/completion.rb (IRB::InputCompletor::CompletionProc):
ignore non-string name modules. [ruby-core:42244][Bug #5938]
Fri Jan 27 16:31:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* gc.c (HEAP_ALIGN, HEAP_ALIGN_MASK): DRY, let compiler calculate
from HEAP_ALIGN_LOG.
Thu Jan 26 11:03:37 2012 Eric Hodel <drbrain@segment7.net>
* lib/matrix.rb: Clean up extra whitespace in output documentation.
Thu Jan 26 03:24:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/io/console/console.c (io_getch): default delegating method
for StringIO. https://github.com/nobu/io-console/issues/4
* ext/stringio/stringio.c: moved some methods to hidden modules.
Wed Jan 25 13:27:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (rb_file_s_basename): ignore non-ascii extension in
different encoding, which cannot match.
* file.c (rmext): no extension to strip if empty string.
* file.c (rb_enc_path_next, rb_enc_path_skip_prefix)
(rb_enc_path_last_separator, rb_enc_path_end)
(ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware
path handling functions.
* file.c (rb_home_dir, file_expand_path, rb_realpath_internal)
(rb_file_s_basename, rb_file_dirname, rb_file_s_extname)
(rb_file_join): should respect the encodings of arguments than
file system encoding. [ruby-dev:45145] [Bug #5919]
* dir.c (check_dirname, ruby_glob0): ditto.
* ext/pathname/pathname.c (path_sub_ext): ditto.
Tue Jan 24 14:20:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (rb_iter_break_value): new function to break a block with
the value. [ruby-dev:45132] [Feature #5895]
Tue Jan 24 12:58:41 2012 Yukihiro Matsumoto <matz@ruby-lang.org>
* object.c (rb_Hash): add Kernel#Hash conversion method like
Array() or Float(). a patch from Run Paint Run Run. Fix #3131
Tue Jan 24 11:38:05 2012 NARUSE, Yui <naruse@ruby-lang.org>
* lib/uri/common.rb (URI.encode_www_form_component): initialize on
requiring to support JRuby, which runs parallel multithreads.
[ruby-core:42222] [Bug #5925]
* lib/uri/common.rb (URI.decode_www_form_component): initialize on
Mon Jan 23 20:33:11 2012 Jason Kay <geniture@me.com>
* lib/net/http.rb (Net::HTTP#connect): Writing entire packet at
once to avoid incomplete transmission. Current code using
writeline was causing sub-optimal conversing with a proxy due to
the connect tunnel request headers being split over multiple
packets. The modification I made allows the connect request to
be written as one packet, avoiding problems and optimizing the
conversation.
https://github.com/ruby/ruby/pull/72
[Feature #5460]
Mon Jan 23 17:06:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
* lib/uri/mailto.rb (URI::MailTo.build): follow Array#to_s change of
Ruby 1.9; use Array#join. [Bug #5840]
Mon Jan 23 16:42:28 2012 NARUSE, Yui <naruse@ruby-lang.org>
* io.c (extract_binmode): raise an exception if binmode/textmode
is specified with both vmode and opthash.
[ruby-core:42199] [Bug #5918]
Mon Jan 23 16:35:27 2012 NARUSE, Yui <naruse@ruby-lang.org>
* io.c (rb_io_extract_modeenc): set ASCII-8BIT if binmode is specified
with opthash. [ruby-core:42197] [Bug #5917]
Mon Jan 23 10:08:00 2012 Kenta Murata <mrkn@cookpad.com>
* test/cgi/test_cgi_util.rb (test_cgi_escape_preserve_encoding):
add a test for CGI::escape to preserve encoding.
* test/cgi/test_cgi_util.rb (test_cgi_unescape_preserve_encoding):
add a test for CGI::unescape to preserve encoding.
Mon Jan 23 00:45:34 2012 Akinori MUSHA <knu@iDaemons.org>
* misc/rdoc-mode.el (rdoc-imenu-create-index): Add imenu support
to rdoc-mode.
* misc/rdoc-mode.el (rdoc-mode): Fix regexp patterns containing
"\s " where CR/LF is not supposed to match.
Sun Jan 22 15:41:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (rb_intern3): split to registration check and new
registration.
* parse.y (rb_intern_str): make interned string shared with the
given string.
* parse.y (rb_intern3, rb_intern_str): check the coderange first.
Sat Jan 21 22:21:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/ruby.h (FIXNUM_P): simple flag should be int.
Sat Jan 21 21:51:19 2012 NARUSE, Yui <naruse@ruby-lang.org>
* encoding.c (rb_enc_compatible): fix segv on symbols.
[ruby-core:42204] [Bug #5921]
Sat Jan 21 11:43:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* dir.c (dir_chdir, check_dirname): get rid of optimization-out.
Fri Jan 20 20:47:37 2012 Kenta Murata <mrkn@cookpad.com>
* lib/cgi/util.rb (CGI.escape): support a string with invalid byte
sequence. [Bug #5913]
* test/cgi/test_cgi_util.rb
(test_cgi_escape_with_invalid_byte_sequence): test for the above
change.
Fri Jan 20 17:37:37 2012 NARUSE, Yui <naruse@ruby-lang.org>
* vm.c (vm_exec): remove workaround for LLVM because r34278 fixes it.
* vm_insnhelper.c (vm_call_cfunc): ditto.
Fri Jan 20 14:31:43 2012 NARUSE, Yui <naruse@ruby-lang.org>
* lib/net/http.rb (Net::HTTP#transport_request): retry a idempotent
request automatically. [ruby-dev:45030] [Bug #5790]
[ruby-core:41821] [Bug #5813]
* lib/net/http.rb (Net::HTTP#keep_alive_timeout=): added to specify
the second to reconnect the TCP connection on Keep-Alive.
The default value is 2 second because current servers uses 2 sec.
http://ftp-admin.blogspot.com/2009/09/keepalivetimeout2.html
* lib/net/http.rb (Net::HTTP#begin_transport): reconnect TCP
connection on keep-alive timeout.
Thu Jan 19 07:53:09 2012 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_strptime.c: moved detector of leftover.
Thu Jan 19 07:10:47 2012 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_parse.c: [ruby-core:42173].
Wed Jan 18 18:11:02 2012 Akinori MUSHA <knu@iDaemons.org>
* misc/rdoc-mode.el (rdoc-mode): Add provide so that requiring
this library succeeds.
Wed Jan 18 18:06:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/curses/curses.c (cWindow, cMouseEvent): made typed data.
Wed Jan 18 12:49:15 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: Added support for loading
subclasses of String with ivars
* ext/psych/lib/psych/visitors/yaml_tree.rb: Added support for dumping
subclasses of String with ivars
* test/psych/test_string.rb: corresponding tests
Wed Jan 18 10:39:47 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: Added ability to load array
subclasses with ivars.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Added ability to dump
array subclasses with ivars.
* test/psych/test_array.rb: corresponding tests
Tue Jan 17 17:18:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (SPT_TYPE): enable as SPT_REUSEARGV on Darwin.
* missing/setproctitle.c (ruby_init_setproctitle): changed prefix.
Tue Jan 17 12:32:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* gc.c (aligned_malloc, aligned_free): covered missing defined
operators and fixes for cygwin.
Tue Jan 17 10:54:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* st.c (do_hash): it's the time to remove cast to unsigned int.
Tue Jan 17 07:30:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
* st.c (unpack_entries): Fix r34310: on unpacking, the position of
a hash must be do_hash-ed value.
* st.c (add_packed_direct): ditto.
Mon Jan 16 16:41:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/optparse.rb (Regexp): fix incorrect options when casting to
a Regexp, and suppress encoding option warnings.
https://github.com/ruby/ruby/pull/82
Mon Jan 16 11:22:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (rb_chsize): no need to get the current file size.
Mon Jan 16 00:41:33 2012 Sokolov Yura <funny.falcon@gmail.com>
* st.c: st use function instead of macro. In my current
environment (Ubuntu 11.04 32bit gcc-4.5.2) it gives 4%
performance improvement.
https://github.com/ruby/ruby/pull/77
Sun Jan 15 14:09:48 2012 NARUSE, Yui <naruse@ruby-lang.org>
* object.c (rb_inspect): raise the result is not compatible with
the default external encoding. [ruby-core:42095] [Bug #5848]
If the default external encoding is ASCII compatible, the encoding of
inspected result must be compatible with it.
If the default external encoding is ASCII incompatible,
the result must be ASCII only.
Sun Jan 15 13:21:50 2012 NARUSE, Yui <naruse@ruby-lang.org>
* ext/json/parser/parser.rl (json_string_unescape): workaround fix
for over optimization of GCC 4.7. [ruby-core:42085] [Bug #5888]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51862
Sat Jan 14 22:24:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/dl/callback/mkcallback.rb (gencallback): suppress unused
variables.
Sat Jan 14 21:56:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* iseq.c (iseq_data_to_ary): check line info table boundary. line
number 0 means no line number info is needed. [ruby-dev:45130]
[Bug #5894]
Sat Jan 14 18:24:13 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* error.c (exc_equal): clear rb_thread_t::errinfo when ignore
an exception under rb_protect(). [ruby-core:41979] [Bug #5865]
Sat Jan 14 12:02:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* sprintf.c (rb_enc_vsprintf): relaxed the restriction. since the
implementation deeply depends on plain char, so wchar_t based
encodings are not supported.
Sat Jan 14 12:00:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (exc_equal): ignore exceptions during implicit
conversion. [ruby-core:41979] [Bug #5865]
Sat Jan 14 05:58:54 2012 Eric Hodel <drbrain@segment7.net>
* io.c (rb_io_s_read): Fix formatting of open_args comment. Reported
by Adam Prescott.
Fri Jan 13 18:41:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* sprintf.c (rb_enc_vsprintf): can be used for ASCII compatible
encodings only.
Fri Jan 13 18:29:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* thread.c (rb_mutex_unlock_th): simplified.
* thread.c (rb_barrier_waiting): fix potential overflows.
Fri Jan 13 17:23:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* load.c (load_unlock): update loading table at once.
Fri Jan 13 16:44:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (exc_equal): try implicit conversion for delegator.
[ruby-core:41979] [Bug #5865]
Fri Jan 13 03:46:53 2012 Akinori MUSHA <knu@iDaemons.org>
* lib/shellwords.rb (Shellwords#shellescape): shellescape() now
stringifies the given object using to_s.
* lib/shellwords.rb (Shellwords#shelljoin): shelljoin() accepts
non-string objects in the given array, each of which is
stringified using to_s.
* lib/shellwords.rb: Fix rdoc markups.
Fri Jan 13 03:38:36 2012 Akinori MUSHA <knu@iDaemons.org>
* lib/shellwords.rb (Shellwords#shellsplit): Fix a bug where
consecutive backslashes in double quotes are all removed except
the one at the tail.
Fri Jan 13 03:28:00 2012 Luis Lavena <luislavena@gmail.com>
* ext/socket/extconf.rb (if ipv6): only define _WIN32_WINNT if was not
previously defined. This solve warnings with multiple defines in
command line with GCC 4.6.1
Thu Jan 12 18:44:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/mkmf.rb: fix r33904 and revert r33905. initialize global
variables with init_mkmf before initializing constants.
[ruby-dev:45124] [Bug #5879]
Thu Jan 12 13:51:00 2012 NARUSE, Yui <naruse@ruby-lang.org>
* cont.c (cont_restore_0): prevent optimizing out `sp'. sp is used for
reserving a memory space with ALLOCA_N for restoring machine stack
stored in cont->machine_stack, but clang optimized out it (and
maybe #5851 is also caused by this).
This affected TestContinuation#test_check_localvars.
* cont.c (cont_restore_1): revert workaround introduced in r32201.
Thu Jan 12 02:14:43 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* object.c: Added examples for Object#is_a? and
Object#instance_of? patched from Manoj Kumar.
[Bug #5880] [ruby-core:42057]
Thu Jan 12 00:57:48 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* lib/mkmf.rb: verbose-mode can use by RM, RMDIRS, etc.
(e.g. make V=1 realclean)
Wed Jan 11 23:40:21 2012 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]
Wed Jan 11 22:52:51 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* gc.c (ruby_mimmalloc): don't set allocated size to header.
ruby_mimmalloc() doesn't increment allocated_size/allocations and
decrement them in ruby_xfree() cause inconsistency.
* gc.c (ruby_xfree): don't decrement allocated_size/allocations if
allocated size record is 0.
Wed Jan 11 22:36:43 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* test/readline/test_readline.rb (test_completion_proc_empty_result):
ensure clearance of Readline's line_buffer after the test.
Tue Jan 10 21:57:38 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com>
* ext/dbm/dbm.c (Init_dbm): fix a build error on mswin32.
use `extern __declspec(dllimport)` for dll link with VC.
[ruby-core:41996] [Bug #5869]
Tue Jan 10 15:31:55 2012 NARUSE, Yui <naruse@ruby-lang.org>
* vm.c (vm_exec): refix r34162; suppress warning and add description.
Tue Jan 10 15:13:58 2012 NARUSE, Yui <naruse@ruby-lang.org>
* ext/readline/readline.c (readline_attempted_completion_function):
use rb_memerror().
Tue Jan 10 12:49:42 2012 NARUSE, Yui <naruse@ruby-lang.org>
* gc.c: in fact, i686-linux doesn't need to define _XOPEN_SOURCE 600.
Tue Jan 10 12:44:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
* gc.c (ruby_mimmalloc): defined for objects need not rb_objspace,
but should return pointer suitable for ruby_xfree;
main vm and main thread.
patched by Sokolov Yura. https://github.com/ruby/ruby/pull/79
* internal.h: ditto.
* vm.c (Init_BareVM): use ruby_mimmalloc.
* ext/dl/cfunc.c: #include <ruby/util.h>.
* ext/syslog/syslog.c: use xfree because it is allocated by
ruby_strdup.
Tue Jan 10 12:13:56 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
* ext/readline/readline.c (readline_attempted_completion_function):
fix compile error.
Tue Jan 10 10:41:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/readline/readline.c (readline_attempted_completion_function):
empty completion result does not mean memory error.
Tue Jan 10 02:19:22 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* test/ruby/test_io.rb (test_autoclose_true_closed_by_finalizer,
test_autoclose_true_closed_by_finalizer): skip if IO objects are
not recycled yet. [ruby-dev:45098] [Bug #5850]
Tue Jan 10 00:41:28 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* lib/tempfile.rb (Tempfile#_close): clear @tempfile and @data[1] even
when exception is raised at @tempfile.close. [ruby-dev:45113]
* lib/tempfile.rb (Tempfile#unlink): fix a typo.
Tue Jan 10 00:32:17 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore
an exception under rb_protect(). [ruby-dev:45113]
Mon Jan 9 23:37:43 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* ext/readline/readline.c (readline_attempted_completion_function):
fix typos.
Mon Jan 9 20:55:34 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c : don't embed struct heaps_slot to a heap block because it
can causes copy-on-write of memory page on heap block when its
free_next is rewritten.
Mon Jan 9 20:26:33 2012 Tanaka Akira <akr@fsij.org>
* ext/pathname/pathname.c (path_entries): add document suggested by
the thread [ruby-core:41959] [Bug #5859].
Mon Jan 9 20:14:13 2012 Tanaka Akira <akr@fsij.org>
* ext/socket/lib/socket.rb (family_addrinfo): don't require protocol
equality. For example, protocol 0 and IPPROTO_TCP is not problem
for TCP.
Mon Jan 9 20:08:52 2012 Tanaka Akira <akr@fsij.org>
* ext/socket/lib/socket.rb (family_addrinfo): return the given
addrinfo object.
Patch by Ippei Obayashi. [ruby-dev:45095] [Bug #5845]
Mon Jan 9 19:40:20 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/zlib/test_zlib.rb (TestZlibGzipWriter#test_writer_wrap): set
binmode explicitly.
Mon Jan 9 14:42:41 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c: free_slots is changed Singly linked list. clear
free_slots before sweep.
Mon Jan 9 07:46:17 2012 NARUSE, Yui <naruse@ruby-lang.org>
* gc.c: i686-linux needs to define _XOPEN_SOURCE 600 for posix_memalign.
Mon Jan 9 04:24:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
* gc.c (rb_objspace_free): global_List is allocated with xmalloc.
patched by Sokolov Yura. https://github.com/ruby/ruby/pull/78
* dln_find.c: remove useless replacement of free.
* ext/readline/readline.c (readline_attempted_completion_function):
strings for readline must allocated with malloc.
* process.c (run_exec_dup2): use free; see also r20950.
* re.c (onig_new_with_source): use malloc for oniguruma.
* vm.c (ruby_vm_destruct): use free for VMs.
* vm.c (thread_free): use free for threads.
Mon Jan 9 04:24:59 2012 NARUSE, Yui <naruse@ruby-lang.org>
* dln_find.c: remove useless replacement of free.
* ext/readline/readline.c (filename_completion_proc_call):
matches should use xfree.
* ext/readline/readline.c (username_completion_proc_call): ditto.
Mon Jan 9 01:12:35 2012 NARUSE, Yui <naruse@ruby-lang.org>
* numeric.c (rb_enc_uint_char): raise RangeError when added codepoint
is invalid. [Feature #5855] [Bug #5863] [Bug #5864]
* string.c (rb_str_concat): ditto.
* string.c (rb_str_concat): set encoding as ASCII-8BIT when the string
is US-ASCII and the argument is an integer greater than 127.
* regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code.
* enc/euc_jp.c (code_to_mbclen): ditto.
* enc/shift_jis.c (code_to_mbclen): ditto.
Sun Jan 8 20:31:45 2012 Narihiro Nakamura <narihiro@netlab.jp>
* gc.c : consider header bytes which are used by malloc.
Sun Jan 8 11:54:43 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c (aligned_free): support MinGW. Patch by Hiroshi Shirosaki.
Sun Jan 8 11:43:05 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c (slot_sweep): add a assertion instead of a debug print.
Sun Jan 8 01:18:19 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* test/-ext-/old_thread_select/test_old_thread_select.rb:
avoid platform bug. [Bug #5858] [ruby-dev:45108]
Sun Jan 8 00:46:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* gc.c: get rid of implicit narrowing conversion.
Sun Jan 8 00:10:10 2012 NARUSE, Yui <naruse@ruby-lang.org>
* configure.in: check posix_memalign(3) and memalign(3).
* gc.c (aligned_malloc): use configure's result instead of
_POSIX_C_SOURCE and _XOPEN_SOURCE because they can't be used
to check availability at least on FreeBSD.
Sat Jan 7 22:25:50 2012 Narihiro Nakamura <authornari@gmail.com>
* gc.c: use Bitmap Marking algorithm to avoid copy-on-write of
memory pages. See [ruby-dev:45085] [Feature #5839]
[ruby-core:41916].
* include/ruby/ruby.h : FL_MARK rename to FL_RESERVED1.
* node.h : ditto.
* debug.c : ditto.
* object.c (rb_obj_clone): FL_MARK move to a bitmap.
* class.c (rb_singleton_class_clone): ditto.
Sat Jan 7 00:47:07 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
* configure.in: always define CANONICALIZATION_FOR_MATHN.
[ruby-dev:45100] [Bug #5852]
Fri Jan 6 23:11:20 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* include/ruby/version.h: RUBY_API_VERSION 2.0.0
Fri Jan 6 12:24:11 2012 NARUSE, Yui <naruse@ruby-lang.org>
* object.c (rb_inspect): raises Encoding::CompatibilityError if the
result is incompatible with the default external encoding.
[ruby-core:41931] [Bug #5848]
Thu Jan 5 15:26:15 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (check_valid_dir): strict checking of root.
GetDriveType() succeeds with non root directory as the argument,
even if MSDN says that the API needs the root directory.
this patch fixes a failure of test/ruby/test_file_exhaustive.rb.
Thu Jan 5 12:15:55 2012 NARUSE, Yui <naruse@ruby-lang.org>
* file.c (rb_file_join): separator is appended by array length - 1
times. patched by Benoit Daloze [ruby-core:41901] [Bug #5841]
Thu Jan 5 11:47:54 2012 NARUSE, Yui <naruse@ruby-lang.org>
* lib/uri/common.rb (URI::Parser#initialize_regexp):
use \A \z instead of ^ $. [Bug #5843]
Wed Jan 4 17:55:53 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* array.c (rb_ary_sample): add example for Array#sample
based on patch from https://github.com/ruby/ruby/pull/74
Wed Jan 4 14:24:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (str_nth_len): count ascii-only run at the end. this
bug appears only when single-byte-optimization is disabled due
to unknown coderange. [ruby-core:41896] [Bug #5836]
Wed Jan 4 11:32:07 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (check_valid_dir): special case for a root directory.
Reported by Masateru OKAMOTO at [Bug #5819].
Wed Jan 4 00:19:54 2012 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/parsers/baseparser.rb: use private instead of _xxx
method name. This is Ruby code not Python code.
refs #5696
Tue Jan 3 23:57:37 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* lib/rexml/parsers/baseparser.rb: rexml BaseParser uses
instance_eval unnecessarily on listener add.
patch from Charles Nutter. [Bug #5696] [ruby-core:41437]
Tue Jan 3 20:44:13 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* README: add comment for Git user. patch from Arun Agrawal.
* README.ja: ditto.
Tue Jan 3 15:58:22 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com>