-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
17568 lines (11206 loc) · 603 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
Thu Nov 15 00:47:20 2012 Yusuke Endoh <[email protected]>
* array.c (rb_ary_bsearch): add Array#bsearch for binary search.
[ruby-core:36390] [Feature #4766]
* test/ruby/test_array.rb: add a test for above.
* range.c (range_bsearch): add Range#bsearch for binary search.
[ruby-core:36390] [Feature #4766]
* test/ruby/test_range.rb: add a test for above
* NEWS: added the two new methods.
Wed Nov 14 13:25:00 2012 Zachary Scott <[email protected]>
* lib/fileutils.rb (chmod): Add "X" to modes, convert format to table
[ruby-core:48965] [Bug #7288]
Wed Nov 14 11:51:00 2012 Zachary Scott <[email protected]>
* lib/csv.rb (init_comments): Document private method #init_comments.
Based on a patch from Vincent Batts [ruby-core:49172] [Bug #7319]
Wed Nov 14 00:54:00 2012 Kenta Murata <[email protected]>
* Makefile.in (probes.h): create from probes.d
Tue Nov 13 18:44:01 2012 Koichi Sasada <[email protected]>
* vm_insnhelper.c (vm_call_cfunc_with_frame): don't use ci after
EXEC_EVENT_HOOK because ci can be overridden.
* vm_eval.c: ditto.
* method.h: change invoker's parameters types.
* vm_method.c (call_cfunc_invoker_func): ditto.
Tue Nov 13 18:01:54 2012 Shugo Maeda <[email protected]>
* eval.c (rb_mod_using): raise an ArgumentError if cyclic using is
detected. based on the patch by Charlie Somerville.
[ruby-core:49092] Bug #7308
* test/ruby/test_refinement.rb: related test.
Tue Nov 13 17:40:04 2012 NARUSE, Yui <[email protected]>
* common.mk (vm_insnhelper.c): this target is useless and causes
ruby always need rebuild.
Tue Nov 13 17:35:49 2012 Koichi Sasada <[email protected]>
* compile.c (insn_data_to_s_detail): remove debug lines.
Tue Nov 13 17:28:47 2012 Koichi Sasada <[email protected]>
* vm_insnhelper.c (vm_caller_setup_args): save and restore
ci->argc and ci->blockptr before and after method invocations
because these method dispatches can override call_info.
* bootstraptest/test_method.rb: add tests for this fix.
Tue Nov 13 16:38:02 2012 NARUSE, Yui <[email protected]>
* common.mk (dmyprobes.h): always create for make dist.
* Makefile.in (probes.h): create or copy dmyprobes.h
* win32/Makefile.sub: only do copy dmyprobes.h.
Tue Nov 13 15:37:21 2012 NARUSE, Yui <[email protected]>
* Makefile.in (.SUFFIX): .SUFFIX is needed here for .d.h on bsd make.
Tue Nov 13 15:34:35 2012 NAKAMURA Usaku <[email protected]>
* common.mk Makefile.in win32/Makefile.sub (.d.h): it's not common.
Tue Nov 13 12:27:11 2012 NARUSE, Yui <[email protected]>
* configure.in: disable dtrace because it doesn't work on FreeBSD.
* common.mk (clean-local): rm probes.h.
* common.mk (parse.o): depend $(PROBES_H_INCLUDES).
* common.mk (.d.h): moved from Makefile.in and use BASERUBY.
* tool/gen_dummy_probes.rb: reimplemented with ruby because sed is not
available on Windows Microsoft VC++ environment.
Tue Nov 13 12:30:26 2012 NAKAMURA Usaku <[email protected]>
* win32/README.win32: added mention about build directory. currently
we can not build ruby in win32 directory. this problem is reported
by Masahiro Kitajima <[email protected]>.
Tue Nov 13 11:03:47 2012 Masaki Matsushita <[email protected]>
* re.c (rb_memsearch_ss): performance improvement by using memmem(3) if
possible. [ruby-dev:45530] [Feature #6311]
* configure.in: check existence of memmem(3) and that it is not broken.
Tue Nov 13 06:50:02 2012 Aaron Patterson <[email protected]>
* probes.d: add DTrace probe declarations. [ruby-core:27448]
* array.c (empty_ary_alloc, ary_new): added array create DTrace probe.
* compile.c (rb_insns_name): allowing DTrace probes to access
instruction sequence name.
* Makefile.in: translate probes.d file to appropriate header file.
* common.mk: declare dependencies on the DTrace header.
* configure.in: add a test for existence of DTrace.
* eval.c (setup_exception): add a probe for when an exception is
raised.
* gc.c: Add DTrace probes for mark begin and end, and sweep begin and
end.
* hash.c (empty_hash_alloc): Add a probe for hash allocation.
* insns.def: Add probes for function entry and return.
* internal.h: function declaration for compile.c change.
* load.c (rb_f_load): add probes for `load` entry and exit, require
entry and exit, and wrapping search_required for load path search.
* object.c (rb_obj_alloc): added a probe for general object creation.
* parse.y (yycompile0): added a probe around parse and compile phase.
* string.c (empty_str_alloc, str_new): DTrace probes for string
allocation.
* test/dtrace/*: tests for DTrace probes.
* vm.c (vm_invoke_proc): add probes for function return on exception
raise, hash create, and instruction sequence execution.
* vm_core.h: add probe declarations for function entry and exit.
* vm_dump.c: add probes header file.
* vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on
function entry and return.
* vm_exec.c: expose instruction number to instruction name function.
* vm_insnshelper.c: add function entry and exit probes for cfunc
methods.
* vm_insnhelper.h: vm usage information is always collected, so
uncomment the functions.
Mon Nov 12 19:14:50 2012 Akinori MUSHA <[email protected]>
* configure.in (isinf, isnan): isinf() and isnan() are macros on
DragonFly which cannot be found by AC_REPLACE_FUNCS(). This
workaround enforces the fact that they exist on DragonFly.
Mon Nov 12 15:59:38 2012 Shugo Maeda <[email protected]>
* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo),
vm_insnhelper.c (vm_search_method): revert r37616 because it's too
slow. [ruby-dev:46477]
* test/ruby/test_refinement.rb (test_inline_method_cache): skip
the test until the bug is fixed efficiently.
Mon Nov 12 14:28:01 2012 NAKAMURA Usaku <[email protected]>
* win32/mkexports.rb (each_export): skip garbage generated by VS2012's
nmake.
reported and patched by Yoshida Masato at [Bug #7333] [ruby-dev:46484]
Sun Nov 11 18:58:55 2012 Tadayoshi Funaba <[email protected]>
* test/date/test_date_{parse,strptime}.rb: changed the format of
some extra messages.
Sun Nov 11 18:41:34 2012 Tadayoshi Funaba <[email protected]>
* ext/date/date_parse.c (date__parse): revised the tight parser
(about handling of apostrophes).
Sun Nov 11 15:39:04 2012 Nobuyoshi Nakada <[email protected]>
* hash.c (rb_hash_s_create): just warn for wrong elements now.
[ruby-dev:46440] [Bug #7300]
* hash.c (rb_hash_s_create): refine error messages.
* error.c (rb_builtin_class_name): share for above.
Sun Nov 11 15:12:18 2012 Shugo Maeda <[email protected]>
* eval.c (top_using): remove Kernel#using, and add main.using instead.
* test/ruby/test_refinement.rb: related test.
Sun Nov 11 13:41:01 2012 Shugo Maeda <[email protected]>
* eval.c (rb_using_refinement, rb_mod_using, f_using): clear method
cache only when using is called explicitly.
* test/ruby/test_refinement.rb: related test.
Sun Nov 11 12:56:34 2012 Masaki Matsushita <[email protected]>
* lib/pstore.rb (PStore): fix not to replace ThreadError raised in
#transaction block with PStore::Error.
[ruby-core:39238] [Bug #5269]
Sun Nov 11 11:36:19 2012 Shugo Maeda <[email protected]>
* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo):
add a new field for inline method cache.
* vm_insnhelper.c (vm_search_method): check rb_call_info_t::refinements
not to confuse inline method cache when module_eval is used with
refinements.
* test/ruby/test_refinement.rb: related test.
Sun Nov 11 08:45:45 2012 Martin Duerst <[email protected]>
* ruby.c: removed a comma before "before"
Sat Nov 10 23:02:31 2012 Narihiro Nakamura <[email protected]>
* gc.c: move immutable fields from struct heaps_slot and struct
sorted_heaps_slot into struct heaps_header.
Based on a patch from Sokolov Yura [Feature #6199][ruby-core:43592]
Sat Nov 10 19:28:16 2012 Tadayoshi Funaba <[email protected]>
* complex.c: modified doc.
* rational.c: ditto.
Sat Nov 10 18:20:10 2012 Tadayoshi Funaba <[email protected]>
* ext/date/date_parse.c: edited about era.
Sat Nov 10 12:13:41 2012 Kouhei Sutou <[email protected]>
* tool/rbinstall.rb: Don't install *.gemspec under lib/.
[ruby-core:48966] [Bug #7289]
Reported by Vit Ondruch. Thanks!!!
Sat Nov 10 00:49:26 2012 Naohisa Goto <[email protected]>
* ruby_atomic.h: renamed from atomic.h to avoid header file name
conflict on Solaris 10. [ruby-dev:46414] [Bug #7287]
* gc.c, signal.c, vm_core.h, common.mk: reflect the rename from
atomic.h to ruby_atomic.h.
Sat Nov 10 00:46:57 2012 Naohisa Goto <[email protected]>
* atomic.h: Revert r37491 which is a temporary workaround.
Sat Nov 10 00:33:31 2012 NAKAMURA Usaku <[email protected]>
* siphash.h: check configure macros before include newer headers.
Fri Nov 9 23:33:05 2012 Nobuyoshi Nakada <[email protected]>
* lib/erb.rb (ERB#run, ERB#result): eval under isolated bindings for
safe concurrent use. [ruby-core:47638] [Bug #7046]
Fri Nov 9 23:05:06 2012 Nobuyoshi Nakada <[email protected]>
* random.c (BYTE_ORDER): define using configured WORDS_BIGENDIAN.
* siphash.c (sip_init_state): use union to suppress warnings by gcc
4.7.
Fri Nov 9 19:40:03 2012 NARUSE, Yui <[email protected]>
* array.c (rb_ary_splice): fix r37583 doesn't consider the case when
beg > array length.
Fri Nov 9 16:11:58 2012 Nobuyoshi Nakada <[email protected]>
* random.c (rb_memhash): use siphash.
Fri Nov 9 16:08:46 2012 Sokolov Yura funny-falcon <[email protected]>
* array.c: speedup Array#unshift by using space in shared array.
[Feature #6638]
- when array owns its shared array (ARY_SHARED_NUM == 1), and there
is enough space then try unshift values directly into shared
array.
- when resulting array is big (~>64 items) then make it shared with
enough room for future #unshifts, and then insert into shared
array.
* array.c (rb_ary_splice): use shared array in rb_ary_slice.
[Feature #6638]
- use ary_ensure_room_for_push when rb_ary_slice used to add at the
end of array, cause rb_ary_concat use rb_ary_slice.
* array.c (ary_ensure_room_for_push): make array really suitable for
queue. [Feature #6638]
when array is shared (which happens after Array#shift), and
ARY_SHARED_NUM == 1 (which is very often when array used as queue),
then make rb_ary_push push directly into shared array.
* array.c (rb_ary_modify): steal shared array's container when
ARY_SHARED_NUM == 1. [Feature #6638]
- Do not allocate new memory in rb_ary_modify when ARY_SHARED_NUM == 1
and length almost same.
- Store ARY_CAPA instead of RARRAY_LEN in ary_make_shared, to make
it useful.
- Fix rb_ary_sort_bang accordantly.
Fri Nov 9 16:00:00 2012 Zachary Scott <[email protected]>
* ext/bigdecimal/bigdecimal.c: Documentation for BigDecimal
Based on a patch from Vincent Batts [ruby-core:49047] [Bug #7305]
Fri Nov 9 15:25:42 2012 Akinori MUSHA <[email protected]>
* lib/shellwords.rb (Shellwords#shellescape): Add back my original
real world example with some enhancement.
* lib/shellwords.rb (Shellwords#shelljoin): Undo part of the
previous rdoc change. This new example using a string-only
array was not in line with the description.
Fri Nov 9 12:58:13 2012 NARUSE, Yui <[email protected]>
* string.c (rb_str_crypt): crypt(3) may return NULL.
Latest glibc (2.16?) crypt(3) actually returns NULL. [Bug #7312]
Fri Nov 9 12:07:06 2012 Akinori MUSHA <[email protected]>
* include/ruby/ruby.h (alloca), eval_intern.h (alloca), gc.c
(alloca): Make alloca() globally available by moving the
ultimate ifdef's to ruby/ruby.h. Gcc hides its builtin alloca()
when compiling with -ansi, and linking thus fails on platforms
that lack their own alloca() implementation in libc, which
include OpenBSD and some ports of NetBSD. We use alloca()
everywhere including from within third party C extensions, so
alloca() must be made globally available. [Bug #7307]
* addr2line.c (alloca): Replace the alloca() part with the
ultimate ifdef's. [Bug #7307]
Fri Nov 9 09:30:00 2012 Zachary Scott <[email protected]>
* io.c (IO#new):
Fix indentation from r37444
[ruby-core:48052] [Bug #7179]
Fri Nov 9 07:36:00 2012 Kenta Murata <[email protected]>
* bignum.c (bigmul0): enable big_mul_toom3.
[ruby-core:48552] [Bug #7242]
* bignum.c (bigmul1_toom3): fix incorrect calculation.
the patch is made by Heesob Park.
[ruby-core:48552] [Bug #7242]
Fri Nov 9 05:33:00 2012 Kenta Murata <[email protected]>
* bignum.c (bigmul0): disable big_mul_toom3 temporarily.
[ruby-core:48552] [Bug #7242]
* test/ruby/test_bignum.rb (test_mul_large_numbers):
add a test for bigmul1_toom3 suggested in [Bug #7242].
Thu Nov 8 21:57:59 2012 Masaki Matsushita <[email protected]>
* re.c (rb_memsearch): performance improvement by using memchr().
[ruby-dev:45397] [Feature #6173]
Thu Nov 8 19:02:50 2012 NARUSE, Yui <[email protected]>
* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
treat \r as newline as mame pointed. [ruby-dev:46425] [Bug #7278]
Thu Nov 8 11:32:11 2012 Akinori MUSHA <[email protected]>
* configure.in (--with-opt-dir): Avoid nesting of double quotes
inside backquotes, since some traditional shells like PD KSH
(which OpenBSD's /bin/sh bases on) fail to parse them.
Thu Nov 8 09:34:00 2012 Kenta Murata <[email protected]>
* numeric.c: Add a caution that the results of the comparing
operations of two NaNs are undefined.
[#1720] [ruby-dev:38725] [ruby-core:36966]
Thu Nov 8 04:45:21 2012 Marc-Andre Lafortune <[email protected]>
* include/ruby/intern.h: Restore rb_enumeratorize as it was before
r37497 and introduce rb_enumeratorize_with_size instead. [#7302]
* enumerator.c: ditto.
Wed Nov 7 15:22:37 2012 NARUSE, Yui <[email protected]>
* numeric.c (ruby_float_step): fix r37514: it yielded with NaN
if the unit is infinity.
Wed Nov 7 15:46:12 2012 Ayumu AIZAWA <[email protected]>
* lib/webrick.rb: fix typo. reported by Rohit Arondekar.
https://github.com/ruby/ruby/pull/211
Wed Nov 7 15:34:12 2012 Takeyuki FUJIOKA <[email protected]>
* lib/cgi/core.rb: alias CGI#http_header to CGI#header.
Wed Nov 7 12:49:39 2012 Shugo Maeda <[email protected]>
* eval.c (rb_mod_refine): set RMODULE_IS_REFINEMENT to a created
refinement module, and don't override method_added.
* vm_method.c (rb_method_entry_make): check redefinition of
optimized methods when a method is added to a refinement module.
[ruby-core:48970] [Bug #7290]
* test/ruby/test_refinement.rb: related test.
Wed Nov 7 11:48:14 2012 Nobuyoshi Nakada <[email protected]>
* misc/ruby-additional.el (ruby-mode-set-encoding): now encoding needs
to be set always explicitly actually. [Feature #6679]
Wed Nov 7 09:15:58 2012 Nobuyoshi Nakada <[email protected]>
* object.c (rb_mod_const_get): avoid inadvertent symbol creation.
Wed Nov 7 07:52:50 2012 Nobuyoshi Nakada <[email protected]>
* enum.c (rb_enum_cycle_size): prefix with rb.
Wed Nov 7 04:32:15 2012 Luis Lavena <[email protected]>
* test/ruby/test_file_exhaustive.rb: Remove FIXME skip on Windows
specific test because the test in question was already fixed.
Wed Nov 7 03:45:12 2012 Luis Lavena <[email protected]>
* ext/zlib/extconf.rb: Recognize zlibwapi as linking library.
Patch by Daniel Berger.
[ruby-core:44979] [Feature #6421]
Wed Nov 7 02:06:40 2012 Marc-Andre Lafortune <[email protected]>
* enumerator.c: New method #size; constructor accepts size.
Have #to_enum accept a block
Warn when using deprecated form of constructor
Support #size for enumerators created from enumerators
Support for lazy.{map|flat_map|...}.size.
* include/ruby/intern.h: RETURN_SIZED_ENUMERATOR for support of
sized enumerators.
* array.c: Support for various enumerator.size.
* enum.c: ditto.
* hash.c: ditto.
* numeric.c: ditto.
* range.c: ditto.
* string.c: ditto.
* struct.c: ditto.
* vm_eval.c: ditto.
Tue Nov 6 20:40:28 2012 Aaron Patterson <[email protected]>
* object.c (rb_mod_const_get): Fix constant missing exception class
and message to maintain backwards compatibility. Constant search
should start at Object when constant starts with '::'
* test/ruby/test_module.rb: test for fixes
Tue Nov 6 16:50:00 2012 Masaki Matsushita <[email protected]>
* lib/tempfile.rb (Tempfile#inspect): fix confusing #inspect.
previous Tempfile#inspect says it is a File, but actually
it is not a File.
t = Tempfile.new("foo") #=> #<File:/tmp/foo20121106-31970-1ffbum0>
t.is_a? File #=> false
now Tempfile#inspect returns like:
t = Tempfile.new("foo")
#=> #<Tempfile:/tmp/foo20121106-31970-1ffbum0>
[ruby-core:47544] [Bug #7027]
Tue Nov 6 16:22:30 2012 Naohisa Goto <[email protected]>
* atomic.h: add #include <sys/atomic.h> for the workaround of
header file name conflict of atomic.h with /usr/include/atomic.h
on Solaris 10. [ruby-dev:46414] [Bug #7287]
Tue Nov 6 14:38:00 2012 NAKAMURA Usaku <[email protected]>
* test/win32ole/test_win32ole.rb: now source encoding is UTF-8, so
binary strings in old scripts are dangerous.
Tue Nov 6 14:25:09 2012 NARUSE, Yui <[email protected]>
* lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line):
don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278]
Tue Nov 6 09:42:26 2012 NARUSE, Yui <[email protected]>
* string.c (rb_str_b): Add String#b, returning a copied string
whose encoding is ASCII-8BIT. [ruby-dev:45992] [Feature #6767]
Tue Nov 6 09:37:57 2012 NARUSE, Yui <[email protected]>
* ruby.c (load_file_internal): set default source encoding as
UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679]
* parse.y (parser_initialize): set default parser encoding as
UTF-8 instead of US-ASCII.
Tue Nov 6 05:48:06 2012 Hiroshi Shirosaki <[email protected]>
* test/ruby/test_require.rb
(TestRequire#test_require_to_path_redefined_in_load_path,
TestRequire#test_require_to_str_redefined_in_load_path):
Suppress method redefined warning when test-all with RUBYOPT=-w.
Thu Nov 8 00:24:14 2012 Akinori MUSHA <[email protected]>
* ext/curses/view.rb: Do not fail if the file to view is shorter
than the screen height.
Mon Nov 5 11:40:00 2012 Mark Somerville <[email protected]>
* thread_pthread.c (rb_reserved_fd_p): fix typo in macro check
that prevented the ifdef ever being true.
[Bug #7281] [ruby-core:48940]
Mon Nov 5 23:28:57 2012 Hiroshi Shirosaki <[email protected]>
* file.c (rb_get_path_check_to_string): extract from
rb_get_path_check(). We change the spec not to call to_path of
String object.
* file.c (rb_get_path_check_convert): extract from rb_get_path_check().
* file.c (rb_get_path_check): follow the above change.
* file.c (rb_file_expand_path_fast): remove check_expand_path_args().
Instead we call it in load.c.
* file.c (rb_find_file_ext_safe): use rb_get_expanded_load_path() to
reduce expand cost.
* file.c (rb_find_file_safe): ditto.
* internal.h (rb_get_expanded_load_path): add a declaration.
* internal.h (rb_get_path_check_to_string, rb_get_path_check_convert):
add declarations.
* load.c (rb_construct_expanded_load_path): fix for compatibility.
Same checks in rb_get_path_check() are added. We don't replace
$LOAD_PATH and ensure that String object of $LOAD_PATH are frozen.
We don't freeze non String object and expand it every time. We add
arguments for expanding load path partially and checking if load path
have relative paths or non String objects.
* load.c (load_path_getcwd): get current working directory for checking
if it's changed when getting load path.
* load.c (rb_get_expanded_load_path): fix for rebuilding cache properly.
We check if current working directory is changed and rebuild expanded
load path cache. We expand paths which start with ~ (User HOME) and
non String objects every time for compatibility. We make this
accessible from other source files.
* load.c (rb_feature_provided): call rb_get_path() since we changed
rb_file_expand_path_fast() not to call it.
* load.c (Init_load): initialize vm->load_path_check_cache.
* vm.c (rb_vm_mark): mark vm->load_path_check_cache for GC.
* vm_core.h (rb_vm_struct): add vm->load_path_check_cache to store data
to check load path cache validity.
* test/ruby/test_require.rb (TestRequire): add tests for require
compatibility related to cached expanded load path.
[ruby-core:47970] [Bug #7158]
Mon Nov 5 23:26:05 2012 Greg Price <[email protected]>
* load.c (rb_get_expanded_load_path): cache the expanded load
path. This saves 4KB of allocation and some stats for every
element of the load path (so nearly a MB in my Rails app)
on every require.
* load.c (rb_construct_expanded_load_path): ensure that $LOAD_PATH
entries are frozen strings. The user must mutate $LOAD_PATH
itself rather than its individual entries.
* vm_core.h (rb_vm_struct): add fields.
* vm.c (rb_vm_mark): mark new fields.
* ruby.c (process_options): modify $LOAD_PATH directly rather than
its elements.
Patch by Greg Price.
[ruby-core:47970] [Bug #7158]
Mon Nov 5 23:24:42 2012 Greg Price <[email protected]>
* load.c (rb_feature_p, rb_provide_feature): index $LOADED_FEATURES
so that require isn't so slow.
* load.c (rb_provide_feature, get_loaded_features_index): ensure
that $LOADED_FEATURES entries are frozen strings. The user
must mutate $LOADED_FEATURES itself rather than its individual
entries.
* load.c (reset_loaded_features_snapshot): add a new function to reset
vm->loaded_features_snapshot.
* load.c (get_loaded_features_index_raw): add a new function to get
the loaded-features index.
* load.c (features_index_add_single): add a new function to add to the
loaded-features index a single feature.
* load.c (features_index_add): add a new function to add to the
loaded-features index all the required entries for `feature`.
* vm_core.h (rb_vm_struct): add fields.
* vm.c (rb_vm_mark): mark new fields.
* include/ruby/intern.h (rb_hash_clear): declare function.
* hash.c (rb_hash_clear): make function non-static.
Patch by Greg Price.
[ruby-core:47970] [Bug #7158]
Mon Nov 5 23:23:51 2012 Greg Price <[email protected]>
* array.c (rb_ary_shared_with_p): new function.
Expose whether two arrays are shared (read-only, C only).
* include/ruby/intern.h (rb_ary_shared_with_p): declare.
Patch by Greg Price.
[ruby-core:47970] [Bug #7158]
Mon Nov 5 23:21:14 2012 Greg Price <[email protected]>
* load.c (loaded_feature_path): clarify and briefly comment
function. These clarifications have no effect on the behavior
of the function.
* load.c (rb_feature_p): explain the search loop. Especially
useful because the logic is complicated as described in the
second paragraph.
Patch by Greg Price.
[ruby-core:47970] [Bug #7158]
Mon Nov 5 22:45:03 2012 Hiroshi Shirosaki <[email protected]>
* ext/dl/win32/lib/Win32API.rb (Win32API#call): use 64bit pointer for x64
Windows. This would fix
TestSecureRandom#test_s_random_bytes_without_openssl error.
[ruby-core:47451] [Bug #6990]
Mon Nov 5 22:09:26 2012 Hiroshi Shirosaki <[email protected]>
* cygwin/GNUmakefile.in (uncommon.mk): link *.res.o.
EXTOBJES is defined in uncommon.mk. *.res.o setting should be below
uncommon.mk.
[ruby-core:48858] [Bug #7277]
Mon Nov 5 11:35:11 2012 KOSAKI Motohiro <[email protected]>
* thread_pthread.c (native_thread_init, native_thread_destroy):
removed HAVE_PTHREAD_CONDATTR_INIT check because this silly
#ifdef makes use-uninitialized-var issue and (2) native_cond_initialize()
already have a right platform and caller don't need any additional care.
[Bug #6825]
Mon Nov 5 10:57:59 2012 NARUSE, Yui <[email protected]>
* lib/cgi/core.rb: check if Tempfile is defined before use it.
* lib/cgi/core.rb: remove tempfiles only if tempfiles exist
Mon Nov 5 12:17:00 2012 Zachary Scott <[email protected]>
* lib/uri/http.rb (URI::HTTP.build): Fix example
Patch by Carina C. Zona
[Fixes #209 Github]
Mon Nov 5 09:55:05 2012 Takeyuki FUJIOKA <[email protected]>
* lib/cgi/core.rb: remove tempfile more early.
Sun Nov 4 20:29:46 2012 Takeyuki FUJIOKA <[email protected]>
* lib/cgi.rb, lib/cgi/*/rb: rename CGI#header to CGI#http_header,
add and update HTML5 tag generator. [Bug #7110]
Patch provided by Marcus Stollsteimer, thank you !
Sun Nov 4 11:47:39 2012 Masaki Matsushita <[email protected]>
* lib/fileutils.rb (module FileUtils): repatch [ruby-core:39622]
[Feature #5337]. improve performance of FileUtils.compare_stream.
[ruby-core:47545] [Feature #7028]
Sun Nov 4 11:27:54 2012 Masaki Matsushita <[email protected]>
* array.c (recursive_equal): fix to return true when self and other
are resized to same size and the current index become out of
range.
* test/ruby/test_array.rb: add a test for the above.
Sun Nov 4 10:19:03 2012 Nobuyoshi Nakada <[email protected]>
* dir.c (file_s_fnmatch): match with expanding braces if FNM_EXTGLOB
is set. [ruby-core:40037] [Feature #5422]
Sat Nov 3 23:38:15 2012 Tadayoshi Funaba <[email protected]>
* complex.c: modified doc.
* rational.c: ditto.
Sat Nov 3 22:38:55 2012 Tadayoshi Funaba <[email protected]>
* ext/date/date_core.c: modified doc.
Sat Nov 3 18:35:55 2012 Kazuki Tsujimoto <[email protected]>
* vm.c (rb_vm_rewrite_ep_in_errinfo, vm_rewrite_ep_in_errinfo):
merge code and remove `rb_vm_rewrite_ep_in_errinfo'.
Sat Nov 3 18:15:24 2012 Kazuki Tsujimoto <[email protected]>
* vm.c, proc.c: avoid unnecessary `rb_vm_rewrite_ep_in_errinfo'
calls.
Sat Nov 3 17:53:43 2012 Kouhei Sutou <[email protected]>
* bin/testrb: Use only Test::Unit::AutoRunner in test-unit gem
compatible API to be available by both test/unit bundled in Ruby
and test-unit gem.
* lib/test/unit.rb (Test::Unit::AutoRunner): Move codes from testrb.
Sat Nov 3 14:56:21 2012 Tadayoshi Funaba <[email protected]>
* ext/date/date_parse.c (parse_eu): should capture apostrophe too.
Sat Nov 3 14:46:15 2012 Tadayoshi Funaba <[email protected]>
* ext/date/date_parse.c (date__parse): revised the tight parser.
Sat Nov 3 14:43:42 2012 Kouhei Sutou <[email protected]>
* lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A
and \z.
Sat Nov 3 14:42:55 2012 Kouhei Sutou <[email protected]>
* lib/rexml/output.rb (REXML::Output#initialize): Use normalized
encoding name.
Sat Nov 3 14:41:17 2012 Kouhei Sutou <[email protected]>
* lib/rexml/output.rb (REXML::Output): Don't output BOM in middle
of the output string.
* test/rexml/test_document.rb: Add a test for the above change.
Sat Nov 3 14:09:55 2012 Kouhei Sutou <[email protected]>
* NEWS: Add an item about REXML::Document#write.
Sat Nov 3 13:46:49 2012 Kouhei Sutou <[email protected]>
* test/rexml/test_document.rb: Fix tests that expect encoding name
isn't normalized.
Sat Nov 3 13:26:00 2012 Zachary Scott <[email protected]>
* dir.c (Dir#glob):
Documentation for pattern section, backslash subsection
Patch by Eric Bouchut
[ruby-core:48528] [Bug #7230]
Sat Nov 3 13:26:00 2012 Zachary Scott <[email protected]>
* io.c (IO#new):
Documentation for IO#open modes and formatting
[ruby-core:48052] [Bug #7179]
Sat Nov 3 13:01:02 2012 Kouhei Sutou <[email protected]>
* test/rexml/test_encoding.rb (EncodingTester#test_in_different_out):
Fix a test that expects encoding in XML declaration is changed by
Output's encoding. It is dropped feature.
Sat Nov 3 12:49:45 2012 Kouhei Sutou <[email protected]>
* lib/rexml/document.rb (REXML::Document#write): Document encoding
option. Now different encoding between XML file's encoding and
XML declaration's encoding is support.
[Feature #4872] (work in progress)
* lib/rexml/xmldecl.rb (REXML::XMLDecl#write): Always use XMLDecl's
encoding.
* test/rexml/test_document.rb: Update tests for the above change.
Sat Nov 3 12:18:35 2012 Masaki Matsushita <[email protected]>
* array.c (recursive_equal): fix not to make invalid pointers when
self and other are resized to same size in #== of their elements.
[ruby-dev:46373] [Feature #6177]
Sat Nov 3 12:06:15 2012 Kouhei Sutou <[email protected]>
* test/rexml/test_xml_declaration.rb (TestXmlDeclaration#test_*):
Remove needless prefix from test names.
Sat Nov 3 12:04:52 2012 Kouhei Sutou <[email protected]>
* test/rexml/test_xml_declaration_parent_child.rb: Rename to ...
* test/rexml/test_xml_declaration.rb: ... this.
Sat Nov 3 11:43:00 2012 Zachary Scott <[email protected]>
* hash.c (rb_hash_delete): Correct grammar
Patch by Glenn Oppegard
[Fixes #208 Github]
Sat Nov 3 11:28:28 2012 Narihiro Nakamura <[email protected]>
* NEWS: add a news about GC::Profiler.raw_data.
Sat Nov 3 11:01:32 2012 Narihiro Nakamura <[email protected]>
* NEWS: add a news about rb_newobj_of() and NEWOBJ_OF().
Sat Nov 3 10:17:41 2012 Narihiro Nakamura <[email protected]>
* eval.c (f_current_dirname): add the new method for Kernel.
This method almost same as File.dirname(__FILE__). One
different behavior is it returns nil when __FILE__ returns nil.
[Feature #3346]
* NEWS: ditto
* test/ruby/test_method.rb: related test.
Sat Nov 3 09:03:34 2012 Shugo Maeda <[email protected]>
* test/ruby/test_refinement.rb (test_new_method_by_send,
test_new_method_by_method_object): add tests for Kernel#send and
Kernel#method with refinements.
* test/ruby/test_refinement.rb (test_symbol_to_proc): add a test
calling a proc created by Symbol#to_proc outside the scope where
a refinement is closed over.
Sat Nov 3 04:14:19 2012 Nobuyoshi Nakada <[email protected]>
* vm.c (rb_vm_rewrite_ep_in_errinfo): rewrite all catch points in
errinfo, not only the topmost frame. based on the patch by
ktsj (Kazuki Tsujimoto) in [ruby-dev:45656]. [Bug #6460]
Fri Nov 2 20:11:17 2012 Nobuyoshi Nakada <[email protected]>
* lib/mkmf.rb (MakeMakefile#timestamp_file): remove @ which looks like
configure variables.
* lib/mkmf.rb (MakeMakefile#timestamp_file): use .-. instead of !, a
special character of NMAKE and BSD make. [Bug #7265]
Fri Nov 2 17:55:39 2012 Shota Fukumori <[email protected]>
* lib/test/unit.rb (_run_parallel): Delete status line before showing
results. Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250]
* lib/test/unit.rb (_run_parallel): Fix strange result when disabled retrying.
Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250]
Fri Nov 2 17:52:12 2012 Shugo Maeda <[email protected]>
* object.c (rb_mod_to_s): Module#{to_s,inspect}, when invoked on
a refinement, returns a string in the format #<refinement:C@M>,
where C is a refined class and M is a module at which the refinement
is defined.
* eval.c (rb_mod_refine): store information on a refinement for the
above change.
* test/ruby/test_refinement.rb: related test.
Fri Nov 2 16:57:52 2012 Shota Fukumori <[email protected]>
* vm_dump.c (rb_vm_bugreport): Because of many log directories,
making directory lists readable.
Fri Nov 2 16:44:00 2012 Kenta Murata <[email protected]>
* vm_dump.c (rb_vm_bugreport): add ~/Library/Logs/DiagnosticReports
in the locations list of crash reports.
Fri Nov 2 14:52:52 2012 Masaki Matsushita <[email protected]>
* array.c (recursive_equal): performance improvement by avoiding
overhead to call rb_ary_elt().
[ruby-dev:45412] [Feature #6177]
Fri Nov 2 14:47:53 2012 Shugo Maeda <[email protected]>
* string.c (sym_to_proc, sym_call): A Proc created by Symbol#to_proc
should close over the current refinements.
[ruby-dev:46345] [Bug #7261]
* vm_eval.c (rb_call0, rb_search_method_entry,
rb_funcall_passing_block_with_refinements): add a new argument
`refinements' for the above changes.
* test/ruby/test_refinement.rb: related test.
Fri Nov 2 08:24:28 2012 Nobuyoshi Nakada <[email protected]>
* proc.c (top_define_method): new method, main.define_method.
[ruby-core:45715] [Feature #6609]
* eval.c (top_include): fix a warning message, main is not a class or
module.
Fri Nov 2 04:41:33 2012 Nobuyoshi Nakada <[email protected]>
* lib/mkmf.rb (MakeMakefile#timestamp_file): use ! instead of %, a GNU
make special character.
Fri Nov 2 04:40:10 2012 Nobuyoshi Nakada <[email protected]>
* test/ruby/test_process.rb (test_execopts_preserve_env_on_exec_failure):
use never existing file in the current temporary directory.
Fri Nov 2 04:23:20 2012 NARUSE, Yui <[email protected]>
* tool/merger.rb: add feature to tag preview/rc.
Fri Nov 2 03:23:37 2012 NARUSE, Yui <[email protected]>
* lib/mkmf.rb: fix for if config["libdir"] is nil.
Thu Nov 1 23:06:01 2012 NARUSE, Yui <[email protected]>
* tool/make-snapshot: fix wrong regexp for releasing preview.
patched by mame.
Thu Nov 1 22:27:11 2012 Koichi Sasada <[email protected]>
* NEWS: add a news about objspace,
ObjectSpace.reachable_objects_from.
Thu Nov 1 21:57:00 2012 Kenta Murata <[email protected]>
* ext/bigdecimal/bigdecimal.c (BigDecimal_new),
test/bigdecimal/test_bigdecimal.rb:
Fix exception message of BigDecimal constructor with a Float.
Thu Nov 1 21:52:20 2012 Kenta Murata <[email protected]>
* ext/bigdecimal/bigdecimal.c (BigDecimal_add),
test/bigdecimal/test_bigdecimal.rb:
need to specify precision for converting Rational and Float.
[ruby-core:48045] [Bug #7176]
Thu Nov 1 21:42:20 2012 Yusuke Endoh <[email protected]>
* test/ruby/test_process.rb: Revert r37404. My ubuntu box has