summaryrefslogtreecommitdiff
path: root/spec/ruby/core/queue/freeze_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/queue/freeze_spec.rb')
-rw-r--r--spec/ruby/core/queue/freeze_spec.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/spec/ruby/core/queue/freeze_spec.rb b/spec/ruby/core/queue/freeze_spec.rb
new file mode 100644
index 0000000000..ced2cc52dd
--- /dev/null
+++ b/spec/ruby/core/queue/freeze_spec.rb
@@ -0,0 +1,6 @@
+require_relative '../../spec_helper'
+require_relative '../../shared/queue/freeze'
+
+describe "Queue#freeze" do
+ it_behaves_like :queue_freeze, :freeze, -> { Queue.new }
+end
='100%'> -rw-r--r--.travis.yml86
-rw-r--r--BSDL22
-rw-r--r--COPYING4
-rw-r--r--COPYING.ja72
-rw-r--r--ChangeLog24615
-rw-r--r--GPL39
-rw-r--r--KNOWNBUGS.rb5
-rw-r--r--LEGAL335
-rw-r--r--LGPL504
-rw-r--r--Makefile.in424
-rw-r--r--NEWS461
-rw-r--r--README140
-rw-r--r--README.EXT1487
-rw-r--r--README.EXT.ja2032
-rw-r--r--README.ja224
-rw-r--r--ToDo126
-rw-r--r--addr2line.c1082
-rw-r--r--addr2line.h21
-rw-r--r--array.c5705
-rw-r--r--bcc32/Makefile.sub499
-rw-r--r--bcc32/README.bcc32137
-rwxr-xr-xbcc32/configure.bat92
-rwxr-xr-xbcc32/mkexports.rb27
-rw-r--r--bcc32/setup.mak133
-rw-r--r--benchmark/bm_app_answer.rb15
-rw-r--r--benchmark/bm_app_aobench.rb292
-rw-r--r--benchmark/bm_app_erb.rb26
-rw-r--r--benchmark/bm_app_factorial.rb11
-rw-r--r--benchmark/bm_app_fib.rb10
-rw-r--r--benchmark/bm_app_mandelbrot.rb23
-rw-r--r--benchmark/bm_app_pentomino.rb259
-rw-r--r--benchmark/bm_app_raise.rb8
-rw-r--r--benchmark/bm_app_strconcat.rb5
-rw-r--r--benchmark/bm_app_tak.rb13
-rw-r--r--benchmark/bm_app_tarai.rb10
-rw-r--r--benchmark/bm_app_uri.rb8
-rw-r--r--benchmark/bm_hash_flatten.rb9
-rw-r--r--benchmark/bm_hash_keys.rb9
-rw-r--r--benchmark/bm_hash_shift.rb10
-rw-r--r--benchmark/bm_hash_values.rb9
-rw-r--r--benchmark/bm_io_file_create.rb13
-rw-r--r--benchmark/bm_io_file_read.rb15
-rw-r--r--benchmark/bm_io_file_write.rb14
-rw-r--r--benchmark/bm_io_select.rb9
-rw-r--r--benchmark/bm_io_select2.rb22
-rw-r--r--benchmark/bm_io_select3.rb21
-rw-r--r--benchmark/bm_loop_for.rb3
-rw-r--r--benchmark/bm_loop_generator.rb14
-rw-r--r--benchmark/bm_loop_times.rb1
-rw-r--r--benchmark/bm_loop_whileloop.rb4
-rw-r--r--benchmark/bm_loop_whileloop2.rb4
-rw-r--r--benchmark/bm_so_ackermann.rb19
-rw-r--r--benchmark/bm_so_array.rb23
-rw-r--r--benchmark/bm_so_binary_trees.rb62
-rw-r--r--benchmark/bm_so_concatenate.rb18
-rw-r--r--benchmark/bm_so_count_words.rb19
-rw-r--r--benchmark/bm_so_exception.rb61
-rw-r--r--benchmark/bm_so_fannkuch.rb45
-rw-r--r--benchmark/bm_so_fasta.rb81
-rw-r--r--benchmark/bm_so_k_nucleotide.rb48
-rw-r--r--benchmark/bm_so_lists.rb47
-rw-r--r--benchmark/bm_so_mandelbrot.rb57
-rw-r--r--benchmark/bm_so_matrix.rb48
-rw-r--r--benchmark/bm_so_meteor_contest.rb564
-rw-r--r--benchmark/bm_so_nbody.rb148
-rw-r--r--benchmark/bm_so_nested_loop.rb24
-rw-r--r--benchmark/bm_so_nsieve.rb35
-rw-r--r--benchmark/bm_so_nsieve_bits.rb43
-rw-r--r--benchmark/bm_so_object.rb56
-rw-r--r--benchmark/bm_so_partial_sums.rb31
-rw-r--r--benchmark/bm_so_pidigits.rb92
-rw-r--r--benchmark/bm_so_random.rb20
-rw-r--r--benchmark/bm_so_reverse_complement.rb30
-rw-r--r--benchmark/bm_so_sieve.rb24
-rw-r--r--benchmark/bm_so_spectralnorm.rb50
-rw-r--r--benchmark/bm_vm1_attr_ivar.rb14
-rw-r--r--benchmark/bm_vm1_attr_ivar_set.rb14
-rw-r--r--benchmark/bm_vm1_block.rb10
-rw-r--r--benchmark/bm_vm1_const.rb8
-rw-r--r--benchmark/bm_vm1_ensure.rb11
-rw-r--r--benchmark/bm_vm1_float_simple.rb7
-rw-r--r--benchmark/bm_vm1_gc_short_lived.rb10
-rw-r--r--benchmark/bm_vm1_gc_short_with_complex_long.rb27
-rw-r--r--benchmark/bm_vm1_gc_short_with_long.rb13
-rw-r--r--benchmark/bm_vm1_gc_short_with_symbol.rb15
-rw-r--r--benchmark/bm_vm1_gc_wb_ary.rb10
-rw-r--r--benchmark/bm_vm1_gc_wb_obj.rb13
-rw-r--r--benchmark/bm_vm1_ivar.rb8
-rw-r--r--benchmark/bm_vm1_ivar_set.rb6
-rw-r--r--benchmark/bm_vm1_length.rb9
-rw-r--r--benchmark/bm_vm1_lvar_init.rb18
-rw-r--r--benchmark/bm_vm1_lvar_set.rb5
-rw-r--r--benchmark/bm_vm1_neq.rb8
-rw-r--r--benchmark/bm_vm1_not.rb7
-rw-r--r--benchmark/bm_vm1_rescue.rb7
-rw-r--r--benchmark/bm_vm1_simplereturn.rb9
-rw-r--r--benchmark/bm_vm1_swap.rb8
-rw-r--r--benchmark/bm_vm1_yield.rb10
-rw-r--r--benchmark/bm_vm2_array.rb5
-rw-r--r--benchmark/bm_vm2_bigarray.rb106
-rw-r--r--benchmark/bm_vm2_bighash.rb5
-rw-r--r--benchmark/bm_vm2_case.rb14
-rw-r--r--benchmark/bm_vm2_defined_method.rb9
-rw-r--r--benchmark/bm_vm2_dstr.rb6
-rw-r--r--benchmark/bm_vm2_eval.rb6
-rw-r--r--benchmark/bm_vm2_method.rb9
-rw-r--r--benchmark/bm_vm2_method_missing.rb12
-rw-r--r--benchmark/bm_vm2_method_with_block.rb9
-rw-r--r--benchmark/bm_vm2_mutex.rb9
-rw-r--r--benchmark/bm_vm2_poly_method.rb20
-rw-r--r--benchmark/bm_vm2_poly_method_ov.rb20
-rw-r--r--benchmark/bm_vm2_proc.rb14
-rw-r--r--benchmark/bm_vm2_raise1.rb18
-rw-r--r--benchmark/bm_vm2_raise2.rb18
-rw-r--r--benchmark/bm_vm2_regexp.rb6
-rw-r--r--benchmark/bm_vm2_send.rb12
-rw-r--r--benchmark/bm_vm2_super.rb20
-rw-r--r--benchmark/bm_vm2_unif1.rb8
-rw-r--r--benchmark/bm_vm2_zsuper.rb20
-rw-r--r--benchmark/bm_vm3_backtrace.rb22
-rw-r--r--benchmark/bm_vm3_clearmethodcache.rb8
-rwxr-xr-xbenchmark/bm_vm3_gc.rb7
-rw-r--r--benchmark/bm_vm_thread_alive_check1.rb6
-rw-r--r--benchmark/bm_vm_thread_create_join.rb6
-rw-r--r--benchmark/bm_vm_thread_mutex1.rb21
-rw-r--r--benchmark/bm_vm_thread_mutex2.rb21
-rw-r--r--benchmark/bm_vm_thread_mutex3.rb20
-rw-r--r--benchmark/bm_vm_thread_pass.rb15
-rw-r--r--benchmark/bm_vm_thread_pass_flood.rb8
-rw-r--r--benchmark/bm_vm_thread_pipe.rb17
-rw-r--r--benchmark/bm_vm_thread_queue.rb18
-rw-r--r--benchmark/driver.rb301
-rw-r--r--benchmark/gc/aobench.rb1
-rw-r--r--benchmark/gc/binary_trees.rb1
-rw-r--r--benchmark/gc/gcbench.rb56
-rw-r--r--benchmark/gc/hash1.rb11
-rw-r--r--benchmark/gc/hash2.rb7
-rw-r--r--benchmark/gc/null.rb1
-rw-r--r--benchmark/gc/pentomino.rb1
-rw-r--r--benchmark/gc/rdoc.rb13
-rw-r--r--benchmark/gc/redblack.rb366
-rw-r--r--benchmark/gc/ring.rb29
-rw-r--r--benchmark/make_fasta_output.rb19
-rw-r--r--benchmark/other-lang/ack.pl11
-rw-r--r--benchmark/other-lang/ack.py16
-rw-r--r--benchmark/other-lang/ack.rb12
-rw-r--r--benchmark/other-lang/ack.scm7
-rw-r--r--benchmark/other-lang/eval.rb66
-rw-r--r--benchmark/other-lang/fact.pl13
-rw-r--r--benchmark/other-lang/fact.py18
-rw-r--r--benchmark/other-lang/fact.rb13
-rw-r--r--benchmark/other-lang/fact.scm8
-rw-r--r--benchmark/other-lang/fib.pl11
-rw-r--r--benchmark/other-lang/fib.py7
-rw-r--r--benchmark/other-lang/fib.rb9
-rw-r--r--benchmark/other-lang/fib.scm7
-rw-r--r--benchmark/other-lang/loop.pl3
-rw-r--r--benchmark/other-lang/loop.py2
-rw-r--r--benchmark/other-lang/loop.rb4
-rw-r--r--benchmark/other-lang/loop.scm1
-rw-r--r--benchmark/other-lang/loop2.rb1
-rw-r--r--benchmark/other-lang/tak.pl11
-rw-r--r--benchmark/other-lang/tak.py8
-rw-r--r--benchmark/other-lang/tak.rb13
-rw-r--r--benchmark/other-lang/tak.scm10
-rw-r--r--benchmark/prepare_so_count_words.rb15
-rw-r--r--benchmark/prepare_so_k_nucleotide.rb2
-rw-r--r--benchmark/prepare_so_reverse_complement.rb2
-rw-r--r--benchmark/report.rb79
-rw-r--r--benchmark/run.rb127
-rw-r--r--benchmark/runc.rb27
-rw-r--r--benchmark/wc.input.base25
-rw-r--r--bignum.c7394
-rwxr-xr-xbin/erb74
-rwxr-xr-xbin/gem25
-rw-r--r--[-rwxr-xr-x]bin/irb16
-rwxr-xr-xbin/rake33
-rw-r--r--[-rwxr-xr-x]bin/rdoc81
-rwxr-xr-xbin/ri53
-rwxr-xr-xbin/testrb4
-rw-r--r--bootstraptest/pending.rb39
-rwxr-xr-xbootstraptest/runner.rb485
-rw-r--r--bootstraptest/test_attr.rb36
-rw-r--r--bootstraptest/test_autoload.rb70
-rw-r--r--bootstraptest/test_block.rb599
-rw-r--r--bootstraptest/test_class.rb169
-rw-r--r--bootstraptest/test_eval.rb324
-rw-r--r--bootstraptest/test_exception.rb432
-rw-r--r--bootstraptest/test_finalizer.rb8
-rw-r--r--bootstraptest/test_flip.rb1
-rw-r--r--bootstraptest/test_flow.rb591
-rw-r--r--bootstraptest/test_fork.rb69
-rw-r--r--bootstraptest/test_gc.rb34
-rw-r--r--bootstraptest/test_io.rb112
-rw-r--r--bootstraptest/test_jump.rb308
-rw-r--r--bootstraptest/test_literal.rb231
-rw-r--r--bootstraptest/test_literal_suffix.rb54
-rw-r--r--bootstraptest/test_load.rb27
-rw-r--r--bootstraptest/test_marshal.rb5
-rw-r--r--bootstraptest/test_massign.rb183
-rw-r--r--bootstraptest/test_method.rb1220
-rw-r--r--bootstraptest/test_objectspace.rb46
-rw-r--r--bootstraptest/test_proc.rb483
-rw-r--r--bootstraptest/test_struct.rb5
-rw-r--r--bootstraptest/test_syntax.rb902
-rw-r--r--bootstraptest/test_thread.rb464
-rw-r--r--class.c1821
-rw-r--r--common.mk1084
-rw-r--r--compar.c134
-rw-r--r--compile.c6012
-rw-r--r--complex.c2211
-rw-r--r--config.guess1459
-rw-r--r--config.sub1537
-rw-r--r--configure.in4314
-rw-r--r--constant.h36
-rw-r--r--cont.c1696
-rw-r--r--cygwin/GNUmakefile.in67
-rw-r--r--debug.c162
-rw-r--r--defines.h264
-rw-r--r--defs/default_gems5
-rw-r--r--defs/gmake.mk29
-rw-r--r--defs/id.def105
-rw-r--r--defs/keywords53
-rw-r--r--defs/known_errors.def145
-rw-r--r--defs/lex.c.src53
-rw-r--r--defs/opt_insn_unif.def29
-rw-r--r--defs/opt_operand.def22
-rw-r--r--dir.c1493
-rw-r--r--distruby.rb59
-rw-r--r--djgpp/GNUmakefile.in2
-rw-r--r--djgpp/README.djgpp21
-rw-r--r--djgpp/config.hin114
-rw-r--r--djgpp/config.sed128
-rwxr-xr-xdjgpp/configure.bat20
-rw-r--r--djgpp/mkver.sed1
-rw-r--r--dln.c892
-rw-r--r--dln.h21
-rw-r--r--dln_find.c294
-rw-r--r--dmydln.c11
-rw-r--r--dmyext.c7
-rw-r--r--doc/.document4
-rw-r--r--doc/ChangeLog-1.8.0157
-rw-r--r--doc/ChangeLog-1.9.392772
-rw-r--r--doc/ChangeLog-2.0.024015
-rw-r--r--doc/ChangeLog-YARV6917
-rw-r--r--doc/NEWS-1.8.0837
-rw-r--r--doc/NEWS-1.8.7669
-rw-r--r--doc/NEWS-1.9.1429
-rw-r--r--doc/NEWS-1.9.2509
-rw-r--r--doc/NEWS-1.9.3341
-rw-r--r--doc/NEWS-2.0.0531
-rw-r--r--doc/contributing.rdoc459
-rw-r--r--doc/contributors.rdoc778
-rw-r--r--doc/dtrace_probes.rdoc178
-rw-r--r--doc/etc.rd.ja75
-rw-r--r--doc/forwardable.rd84
-rw-r--r--doc/forwardable.rd.ja45
-rw-r--r--doc/globals.rdoc69
-rw-r--r--doc/images/boottime-classes.pngbin28677 -> 0 bytes-rw-r--r--doc/irb/irb-tools.rd.ja111
-rw-r--r--doc/irb/irb.rd392
-rw-r--r--doc/irb/irb.rd.ja375
-rw-r--r--doc/maintainers.rdoc322
-rw-r--r--doc/marshal.rdoc313
-rw-r--r--doc/pty/README.expect.ja21
-rw-r--r--doc/pty/README.ja76
-rw-r--r--doc/regexp.rdoc685
-rw-r--r--doc/security.rdoc144
-rw-r--r--doc/shell.rd348
-rw-r--r--doc/shell.rd.ja151
-rw-r--r--doc/standard_library.rdoc125
-rw-r--r--doc/syntax.rdoc34
-rw-r--r--doc/syntax/assignment.rdoc455
-rw-r--r--doc/syntax/calling_methods.rdoc349
-rw-r--r--doc/syntax/control_expressions.rdoc500
-rw-r--r--doc/syntax/exceptions.rdoc96
-rw-r--r--doc/syntax/literals.rdoc307
-rw-r--r--doc/syntax/methods.rdoc414
-rw-r--r--doc/syntax/miscellaneous.rdoc107
-rw-r--r--doc/syntax/modules_and_classes.rdoc345
-rw-r--r--doc/syntax/precedence.rdoc60
-rw-r--r--doc/syntax/refinements.rdoc266
-rw-r--r--enc/Makefile.in82
-rw-r--r--enc/ascii.c96
-rw-r--r--enc/big5.c373
-rw-r--r--enc/cp949.c221
-rw-r--r--enc/depend160
-rw-r--r--enc/emacs_mule.c341
-rw-r--r--enc/encdb.c31
-rw-r--r--enc/encinit.c.erb26
-rw-r--r--enc/euc_jp.c644
-rw-r--r--enc/euc_kr.c194
-rw-r--r--enc/euc_tw.c227
-rw-r--r--enc/gb18030.c603
-rw-r--r--enc/gb2312.c13
-rw-r--r--enc/gbk.c224
-rw-r--r--enc/iso_2022_jp.h47
-rw-r--r--enc/iso_8859_1.c289
-rw-r--r--enc/iso_8859_10.c246
-rw-r--r--enc/iso_8859_11.c113
-rw-r--r--enc/iso_8859_13.c245
-rw-r--r--enc/iso_8859_14.c248
-rw-r--r--enc/iso_8859_15.c242
-rw-r--r--enc/iso_8859_16.c244
-rw-r--r--enc/iso_8859_2.c254
-rw-r--r--enc/iso_8859_3.c242
-rw-r--r--enc/iso_8859_4.c244
-rw-r--r--enc/iso_8859_5.c232
-rw-r--r--enc/iso_8859_6.c109
-rw-r--r--enc/iso_8859_7.c239
-rw-r--r--enc/iso_8859_8.c109
-rw-r--r--enc/iso_8859_9.c245
-rw-r--r--enc/koi8_r.c221
-rw-r--r--enc/koi8_u.c223
-rwxr-xr-xenc/make_encmake.rb136
-rw-r--r--enc/mktable.c1162
-rw-r--r--enc/prelude.rb6
-rw-r--r--enc/shift_jis.c614
-rw-r--r--enc/trans/CP/CP932UDA%UCS.src1912
-rw-r--r--enc/trans/CP/CP932VDC@IBM%UCS.src420
-rw-r--r--enc/trans/CP/CP932VDC@NEC_IBM%UCS.src406
-rw-r--r--enc/trans/CP/UCS%CP932UDA.src1912
-rw-r--r--enc/trans/CP/UCS%CP932VDC@IBM.src420
-rw-r--r--enc/trans/CP/UCS%CP932VDC@NEC_IBM.src406
-rw-r--r--enc/trans/EMOJI/EMOJI_ISO-2022-JP-KDDI%UCS.src658
-rw-r--r--enc/trans/EMOJI/EMOJI_SHIFT_JIS-DOCOMO%UCS.src293
-rw-r--r--enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI%UCS.src658
-rw-r--r--enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI-UNDOC%UCS.src658
-rw-r--r--enc/trans/EMOJI/EMOJI_SHIFT_JIS-SOFTBANK%UCS.src496
-rw-r--r--enc/trans/EMOJI/UCS%EMOJI_ISO-2022-JP-KDDI-UNDOC.src658
-rw-r--r--enc/trans/EMOJI/UCS%EMOJI_ISO-2022-JP-KDDI.src658
-rw-r--r--enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-DOCOMO.src293
-rw-r--r--enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-KDDI-UNDOC.src658
-rw-r--r--enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-KDDI.src658
-rw-r--r--enc/trans/EMOJI/UCS%EMOJI_SHIFT_JIS-SOFTBANK.src496
-rw-r--r--enc/trans/GB/GB12345%UCS.src7618
-rw-r--r--enc/trans/GB/GB2312%UCS.src7535
-rw-r--r--enc/trans/GB/UCS%GB12345.src7620
-rw-r--r--enc/trans/GB/UCS%GB2312.src7531
-rw-r--r--enc/trans/JIS/JISX0201-KANA%UCS.src127
-rw-r--r--enc/trans/JIS/JISX0208@1990%UCS.src6972
-rw-r--r--enc/trans/JIS/JISX0208@MS%UCS.src6893
-rw-r--r--enc/trans/JIS/JISX0208UDC%UCS.src954
-rw-r--r--enc/trans/JIS/JISX0208VDC@NEC%UCS.src97
-rw-r--r--enc/trans/JIS/JISX0212%UCS.src6167
-rw-r--r--enc/trans/JIS/JISX0212@MS%UCS.src6081
-rw-r--r--enc/trans/JIS/JISX0212UDC%UCS.src954
-rw-r--r--enc/trans/JIS/JISX0212VDC@IBM%UCS.src120
-rw-r--r--enc/trans/JIS/JISX0213-1%UCS@BMP.src1926
-rw-r--r--enc/trans/JIS/JISX0213-1%UCS@SIP.src60
-rw-r--r--enc/trans/JIS/JISX0213-2%UCS@BMP.src2193
-rw-r--r--enc/trans/JIS/JISX0213-2%UCS@SIP.src311
-rw-r--r--enc/trans/JIS/UCS%JISX0201-KANA.src127
-rw-r--r--enc/trans/JIS/UCS%JISX0208@1990.src6974
-rw-r--r--enc/trans/JIS/UCS%JISX0208@MS.src6894
-rw-r--r--enc/trans/JIS/UCS%JISX0208UDC.src955
-rw-r--r--enc/trans/JIS/UCS%JISX0208VDC@NEC.src98
-rw-r--r--enc/trans/JIS/UCS%JISX0212.src6170
-rw-r--r--enc/trans/JIS/UCS%JISX0212@MS.src6082
-rw-r--r--enc/trans/JIS/UCS%JISX0212UDC.src955
-rw-r--r--enc/trans/JIS/UCS%JISX0212VDC@IBM.src121
-rw-r--r--enc/trans/JIS/UCS@BMP%JISX0213-1.src1922
-rw-r--r--enc/trans/JIS/UCS@BMP%JISX0213-2.src2189
-rw-r--r--enc/trans/JIS/UCS@SIP%JISX0213-1.src56
-rw-r--r--enc/trans/JIS/UCS@SIP%JISX0213-2.src307
-rw-r--r--enc/trans/big5-hkscs-tbl.rb37302
-rw-r--r--enc/trans/big5-uao-tbl.rb19784
-rw-r--r--enc/trans/big5.trans32
-rw-r--r--enc/trans/chinese.trans31
-rw-r--r--enc/trans/cp850-tbl.rb130
-rw-r--r--enc/trans/cp852-tbl.rb130
-rw-r--r--enc/trans/cp855-tbl.rb130
-rw-r--r--enc/trans/cp949-tbl.rb8831
-rw-r--r--enc/trans/emoji-exchange-tbl.rb8407
-rw-r--r--enc/trans/emoji.trans36
-rw-r--r--enc/trans/emoji_iso2022_kddi.trans216
-rw-r--r--enc/trans/emoji_sjis_docomo.trans32
-rw-r--r--enc/trans/emoji_sjis_kddi.trans33
-rw-r--r--enc/trans/emoji_sjis_softbank.trans32
-rw-r--r--enc/trans/escape.trans93
-rw-r--r--enc/trans/euckr-tbl.rb8230
-rw-r--r--enc/trans/gb18030-tbl.rb63362
-rw-r--r--enc/trans/gb18030.trans183
-rw-r--r--enc/trans/gbk-tbl.rb21794
-rw-r--r--enc/trans/gbk.trans15
-rw-r--r--enc/trans/ibm437-tbl.rb130
-rw-r--r--enc/trans/ibm737-tbl.rb130
-rw-r--r--enc/trans/ibm775-tbl.rb130
-rw-r--r--enc/trans/ibm852-tbl.rb130
-rw-r--r--enc/trans/ibm855-tbl.rb130
-rw-r--r--enc/trans/ibm857-tbl.rb127
-rw-r--r--enc/trans/ibm860-tbl.rb130
-rw-r--r--enc/trans/ibm861-tbl.rb130
-rw-r--r--enc/trans/ibm862-tbl.rb130
-rw-r--r--enc/trans/ibm863-tbl.rb130
-rw-r--r--enc/trans/ibm865-tbl.rb130
-rw-r--r--enc/trans/ibm866-tbl.rb130
-rw-r--r--enc/trans/ibm869-tbl.rb121
-rw-r--r--enc/trans/iso-8859-1-tbl.rb98
-rw-r--r--enc/trans/iso-8859-10-tbl.rb98
-rw-r--r--enc/trans/iso-8859-11-tbl.rb90
-rw-r--r--enc/trans/iso-8859-13-tbl.rb98
-rw-r--r--enc/trans/iso-8859-14-tbl.rb98
-rw-r--r--enc/trans/iso-8859-15-tbl.rb98
-rw-r--r--enc/trans/iso-8859-16-tbl.rb98
-rw-r--r--enc/trans/iso-8859-2-tbl.rb98
-rw-r--r--enc/trans/iso-8859-3-tbl.rb91
-rw-r--r--enc/trans/iso-8859-4-tbl.rb98
-rw-r--r--enc/trans/iso-8859-5-tbl.rb98
-rw-r--r--enc/trans/iso-8859-6-tbl.rb53
-rw-r--r--enc/trans/iso-8859-7-tbl.rb95
-rw-r--r--enc/trans/iso-8859-8-tbl.rb62
-rw-r--r--enc/trans/iso-8859-9-tbl.rb98
-rw-r--r--enc/trans/iso2022.trans567
-rw-r--r--enc/trans/japanese.trans97
-rw-r--r--enc/trans/japanese_euc.trans57
-rw-r--r--enc/trans/japanese_sjis.trans33
-rw-r--r--enc/trans/koi8-r-tbl.rb130
-rw-r--r--enc/trans/koi8-u-tbl.rb130
-rw-r--r--enc/trans/korean.trans18
-rw-r--r--enc/trans/maccroatian-tbl.rb129
-rw-r--r--enc/trans/maccyrillic-tbl.rb130
-rw-r--r--enc/trans/macgreek-tbl.rb129
-rw-r--r--enc/trans/maciceland-tbl.rb129
-rw-r--r--enc/trans/macroman-tbl.rb129
-rw-r--r--enc/trans/macromania-tbl.rb129
-rw-r--r--enc/trans/macturkish-tbl.rb128
-rw-r--r--enc/trans/macukraine-tbl.rb130
-rw-r--r--enc/trans/newline.trans135
-rw-r--r--enc/trans/single_byte.trans91
-rw-r--r--enc/trans/tis-620-tbl.rb89
-rw-r--r--enc/trans/transdb.c18
-rw-r--r--enc/trans/ucm/glibc-BIG5-2.3.3.ucm14087
-rw-r--r--enc/trans/ucm/glibc-BIG5HKSCS-2.3.3.ucm18332
-rw-r--r--enc/trans/ucm/windows-950-2000.ucm20379
-rw-r--r--enc/trans/ucm/windows-950_hkscs-2001.ucm23446
-rw-r--r--enc/trans/utf8_mac-tbl.rb23154
-rw-r--r--enc/trans/utf8_mac.trans256
-rw-r--r--enc/trans/utf_16_32.trans556
-rw-r--r--enc/trans/windows-1250-tbl.rb125
-rw-r--r--enc/trans/windows-1251-tbl.rb129
-rw-r--r--enc/trans/windows-1252-tbl.rb125
-rw-r--r--enc/trans/windows-1253-tbl.rb113
-rw-r--r--enc/trans/windows-1254-tbl.rb123
-rw-r--r--enc/trans/windows-1255-tbl.rb141
-rw-r--r--enc/trans/windows-1256-tbl.rb130
-rw-r--r--enc/trans/windows-1257-tbl.rb118
-rw-r--r--enc/trans/windows-874-tbl.rb99
-rw-r--r--enc/unicode.c680
-rw-r--r--enc/unicode/casefold.h2238
-rw-r--r--enc/unicode/name2ctype.h28722
-rw-r--r--enc/unicode/name2ctype.h.blt28722
-rw-r--r--enc/unicode/name2ctype.kwd26550
-rw-r--r--enc/unicode/name2ctype.src26550
-rw-r--r--enc/us_ascii.c33
-rw-r--r--enc/utf_16_32.h5
-rw-r--r--enc/utf_16be.c258
-rw-r--r--enc/utf_16le.c250
-rw-r--r--enc/utf_32be.c193
-rw-r--r--enc/utf_32le.c192
-rw-r--r--enc/utf_7.h5
-rw-r--r--enc/utf_8.c457
-rw-r--r--enc/windows_1251.c210
-rw-r--r--enc/windows_31j.c80
-rw-r--r--enc/x_emoji.h26
-rw-r--r--encoding.c1950
-rw-r--r--enum.c2831
-rw-r--r--enumerator.c2087
-rw-r--r--env.h60
-rw-r--r--error.c2281
-rw-r--r--eval.c13380
-rw-r--r--eval_error.c304
-rw-r--r--eval_intern.h270
-rw-r--r--eval_jump.c142
-rw-r--r--ext/-test-/array/resize/extconf.rb1
-rw-r--r--ext/-test-/array/resize/resize.c14
-rw-r--r--ext/-test-/bignum/big2str.c54
-rw-r--r--ext/-test-/bignum/bigzero.c26
-rw-r--r--ext/-test-/bignum/depend7
-rw-r--r--ext/-test-/bignum/div.c36
-rw-r--r--ext/-test-/bignum/extconf.rb7
-rw-r--r--ext/-test-/bignum/init.c11
-rw-r--r--ext/-test-/bignum/intpack.c88
-rw-r--r--ext/-test-/bignum/mul.c66
-rw-r--r--ext/-test-/bignum/str2big.c39
-rw-r--r--ext/-test-/bug-3571/bug.c23
-rw-r--r--ext/-test-/bug-3571/extconf.rb1
-rw-r--r--ext/-test-/bug-3662/bug.c16
-rw-r--r--ext/-test-/bug-3662/extconf.rb1
-rw-r--r--ext/-test-/bug-5832/bug.c14
-rw-r--r--ext/-test-/bug-5832/extconf.rb1
-rw-r--r--ext/-test-/bug_reporter/bug_reporter.c24
-rw-r--r--ext/-test-/bug_reporter/extconf.rb1
-rw-r--r--ext/-test-/class/class2name.c14
-rw-r--r--ext/-test-/class/extconf.rb7
-rw-r--r--ext/-test-/class/init.c11
-rw-r--r--ext/-test-/debug/depend3
-rw-r--r--ext/-test-/debug/extconf.rb6
-rw-r--r--ext/-test-/debug/init.c11
-rw-r--r--ext/-test-/debug/inspector.c32
-rw-r--r--ext/-test-/debug/profile_frames.c43
-rw-r--r--ext/-test-/exception/dataerror.c31
-rw-r--r--ext/-test-/exception/depend3
-rw-r--r--ext/-test-/exception/enc_raise.c15
-rw-r--r--ext/-test-/exception/ensured.c25
-rw-r--r--ext/-test-/exception/extconf.rb6
-rw-r--r--ext/-test-/exception/init.c11
-rw-r--r--ext/-test-/fatal/extconf.rb1
-rw-r--r--ext/-test-/fatal/rb_fatal.c19
-rw-r--r--ext/-test-/file/depend2
-rw-r--r--ext/-test-/file/extconf.rb7
-rw-r--r--ext/-test-/file/init.c11
-rw-r--r--ext/-test-/file/stat.c27
-rw-r--r--ext/-test-/funcall/extconf.rb2
-rw-r--r--ext/-test-/funcall/passing_block.c30
-rw-r--r--ext/-test-/iter/break.c25
-rw-r--r--ext/-test-/iter/extconf.rb7
-rw-r--r--ext/-test-/iter/init.c11
-rw-r--r--ext/-test-/iter/yield.c16
-rw-r--r--ext/-test-/load/dot.dot/dot.dot.c1
-rw-r--r--ext/-test-/load/dot.dot/extconf.rb1
-rw-r--r--ext/-test-/marshal/compat/extconf.rb1
-rw-r--r--ext/-test-/marshal/compat/usrcompat.c32
-rw-r--r--ext/-test-/marshal/usr/extconf.rb1
-rw-r--r--ext/-test-/marshal/usr/usrmarshal.c35
-rw-r--r--ext/-test-/method/arity.c22
-rw-r--r--ext/-test-/method/extconf.rb6
-rw-r--r--ext/-test-/method/init.c11
-rw-r--r--ext/-test-/num2int/extconf.rb1
-rw-r--r--ext/-test-/num2int/num2int.c136
-rw-r--r--ext/-test-/old_thread_select/depend4
-rw-r--r--ext/-test-/old_thread_select/extconf.rb4
-rw-r--r--ext/-test-/old_thread_select/old_thread_select.c75
-rw-r--r--ext/-test-/path_to_class/extconf.rb6
-rw-r--r--ext/-test-/path_to_class/path_to_class.c15
-rw-r--r--ext/-test-/postponed_job/depend1
-rw-r--r--ext/-test-/postponed_job/extconf.rb1
-rw-r--r--ext/-test-/postponed_job/postponed_job.c53
-rw-r--r--ext/-test-/printf/depend3
-rw-r--r--ext/-test-/printf/extconf.rb1
-rw-r--r--ext/-test-/printf/printf.c110
-rw-r--r--ext/-test-/rational/depend3
-rw-r--r--ext/-test-/rational/extconf.rb7
-rw-r--r--ext/-test-/rational/rat.c38
-rw-r--r--ext/-test-/recursion/extconf.rb2
-rw-r--r--ext/-test-/recursion/recursion.c28
-rw-r--r--ext/-test-/st/numhash/extconf.rb1
-rw-r--r--ext/-test-/st/numhash/numhash.c120
-rw-r--r--ext/-test-/st/update/extconf.rb1
-rw-r--r--ext/-test-/st/update/update.c34
-rw-r--r--ext/-test-/string/coderange.c30
-rw-r--r--ext/-test-/string/cstr.c26
-rw-r--r--ext/-test-/string/depend5
-rw-r--r--ext/-test-/string/ellipsize.c13
-rw-r--r--ext/-test-/string/enc_associate.c14
-rw-r--r--ext/-test-/string/enc_str_buf_cat.c14
-rw-r--r--ext/-test-/string/extconf.rb7
-rw-r--r--ext/-test-/string/init.c11
-rw-r--r--ext/-test-/string/modify.c22
-rw-r--r--ext/-test-/string/normalize.c18
-rw-r--r--ext/-test-/string/qsort.c61
-rw-r--r--ext/-test-/string/set_len.c14
-rw-r--r--ext/-test-/struct/extconf.rb7
-rw-r--r--ext/-test-/struct/init.c11
-rw-r--r--ext/-test-/struct/member.c18
-rw-r--r--ext/-test-/symbol/extconf.rb6
-rw-r--r--ext/-test-/symbol/init.c11
-rw-r--r--ext/-test-/symbol/intern.c14
-rw-r--r--ext/-test-/symbol/type.c50
-rw-r--r--ext/-test-/tracepoint/depend1
-rw-r--r--ext/-test-/tracepoint/extconf.rb1
-rw-r--r--ext/-test-/tracepoint/gc_hook.c80
-rw-r--r--ext/-test-/tracepoint/tracepoint.c96
-rw-r--r--ext/-test-/typeddata/extconf.rb1
-rw-r--r--ext/-test-/typeddata/typeddata.c20
-rw-r--r--ext/-test-/wait_for_single_fd/depend4
-rw-r--r--ext/-test-/wait_for_single_fd/extconf.rb1
-rw-r--r--ext/-test-/wait_for_single_fd/wait_for_single_fd.c30
-rw-r--r--ext/-test-/win32/dln/dlntest.c17
-rw-r--r--ext/-test-/win32/dln/empty/empty.c4
-rw-r--r--ext/-test-/win32/dln/empty/extconf.rb3
-rw-r--r--ext/-test-/win32/dln/extconf.rb37
-rw-r--r--ext/-test-/win32/dln/libdlntest.c4
-rw-r--r--ext/-test-/win32/dln/libdlntest.def2
-rw-r--r--ext/-test-/win32/fd_setsize/depend2
-rw-r--r--ext/-test-/win32/fd_setsize/extconf.rb3
-rw-r--r--ext/-test-/win32/fd_setsize/fd_setsize.c55
-rw-r--r--ext/.cvsignore2
-rw-r--r--ext/.document102
-rw-r--r--ext/Setup9
-rw-r--r--ext/Setup.atheos8
-rw-r--r--ext/Setup.dj34
-rw-r--r--ext/Setup.emx10
-rw-r--r--ext/Setup.nacl48
-rw-r--r--ext/Setup.nt9
-rw-r--r--ext/Setup.x6834
-rw-r--r--ext/Win32API/.cvsignore3
-rw-r--r--ext/Win32API/Win32API.c215
-rw-r--r--ext/Win32API/depend1
-rw-r--r--ext/Win32API/extconf.rb6
-rw-r--r--ext/Win32API/getch.rb5
-rw-r--r--ext/Win32API/lib/win32/registry.rb831
-rw-r--r--ext/Win32API/lib/win32/resolv.rb366
-rw-r--r--ext/Win32API/point.rb18
-rw-r--r--ext/bigdecimal/.cvsignore3
-rw-r--r--ext/bigdecimal/README6
-rw-r--r--ext/bigdecimal/bigdecimal.c6847
-rw-r--r--ext/bigdecimal/bigdecimal.def2
-rw-r--r--ext/bigdecimal/bigdecimal.gemspec31
-rw-r--r--ext/bigdecimal/bigdecimal.h217
-rw-r--r--ext/bigdecimal/bigdecimal_en.html796
-rw-r--r--ext/bigdecimal/bigdecimal_ja.html799
-rw-r--r--ext/bigdecimal/depend2
-rw-r--r--ext/bigdecimal/extconf.rb4
-rw-r--r--ext/bigdecimal/lib/bigdecimal/jacobian.rb34
-rw-r--r--ext/bigdecimal/lib/bigdecimal/ludcmp.rb44
-rw-r--r--ext/bigdecimal/lib/bigdecimal/math.rb174
-rw-r--r--ext/bigdecimal/lib/bigdecimal/newton.rb16
-rw-r--r--ext/bigdecimal/lib/bigdecimal/util.rb144
-rw-r--r--ext/bigdecimal/sample/linear.rb1
-rw-r--r--ext/bigdecimal/sample/nlsolve.rb2
-rw-r--r--ext/continuation/continuation.c8
-rw-r--r--ext/continuation/extconf.rb3
-rw-r--r--ext/coverage/coverage.c109
-rw-r--r--ext/coverage/depend11
-rw-r--r--ext/coverage/extconf.rb4
-rw-r--r--ext/curses/.cvsignore3
-rw-r--r--ext/curses/curses.c2101
-rw-r--r--ext/curses/depend1
-rw-r--r--ext/curses/extconf.rb31
-rw-r--r--ext/curses/hello.rb30
-rw-r--r--ext/curses/mouse.rb53
-rw-r--r--ext/curses/rain.rb76
-rw-r--r--ext/curses/view.rb91
-rw-r--r--ext/curses/view2.rb115
-rw-r--r--ext/date/date_core.c9541
-rw-r--r--ext/date/date_parse.c3128
-rw-r--r--ext/date/date_strftime.c633
-rw-r--r--ext/date/date_strptime.c699
-rw-r--r--ext/date/date_tmx.h56
-rw-r--r--ext/date/depend7
-rw-r--r--ext/date/extconf.rb2
-rw-r--r--ext/date/lib/date.rb61
-rw-r--r--ext/date/lib/date/format.rb1
-rw-r--r--ext/dbm/.cvsignore3
-rw-r--r--ext/dbm/dbm.c718
-rw-r--r--ext/dbm/depend1
-rw-r--r--ext/dbm/extconf.rb267
-rw-r--r--ext/digest/.cvsignore3
-rw-r--r--ext/digest/bubblebabble/.cvsignore3
-rw-r--r--ext/digest/bubblebabble/bubblebabble.c36
-rw-r--r--ext/digest/bubblebabble/depend4
-rw-r--r--ext/digest/defs.h14
-rw-r--r--ext/digest/depend3
-rw-r--r--ext/digest/digest.c126
-rw-r--r--ext/digest/extconf.rb2
-rw-r--r--ext/digest/lib/digest.rb64
-rw-r--r--ext/digest/lib/digest/hmac.rb302
-rw-r--r--ext/digest/lib/md5.rb23
-rw-r--r--ext/digest/lib/sha1.rb23
-rw-r--r--ext/digest/md5/.cvsignore3
-rw-r--r--ext/digest/md5/depend7
-rw-r--r--ext/digest/md5/extconf.rb9
-rw-r--r--ext/digest/md5/md5.c4
-rw-r--r--ext/digest/md5/md5init.c7
-rw-r--r--ext/digest/rmd160/.cvsignore3
-rw-r--r--ext/digest/rmd160/depend7
-rw-r--r--ext/digest/rmd160/extconf.rb9
-rw-r--r--ext/digest/rmd160/rmd160.c10
-rw-r--r--ext/digest/rmd160/rmd160.h2
-rw-r--r--ext/digest/rmd160/rmd160init.c7
-rw-r--r--ext/digest/sha1/.cvsignore3
-rw-r--r--ext/digest/sha1/depend9
-rw-r--r--ext/digest/sha1/extconf.rb9
-rw-r--r--ext/digest/sha1/sha1.h4
-rw-r--r--ext/digest/sha1/sha1init.c11
-rw-r--r--ext/digest/sha2/.cvsignore3
-rw-r--r--ext/digest/sha2/depend8
-rw-r--r--ext/digest/sha2/extconf.rb25
-rw-r--r--ext/digest/sha2/lib/sha2.rb50
-rw-r--r--ext/digest/sha2/sha2.c294
-rw-r--r--ext/digest/sha2/sha2.h170
-rw-r--r--ext/digest/sha2/sha2init.c8
-rw-r--r--ext/digest/sha2/sha2ossl.c13
-rw-r--r--ext/digest/sha2/sha2ossl.h17
-rw-r--r--ext/dl/.cvsignore8
-rw-r--r--ext/dl/callback/depend15
-rw-r--r--ext/dl/callback/extconf.rb14
-rw-r--r--ext/dl/callback/mkcallback.rb242
-rw-r--r--ext/dl/cfunc.c677
-rw-r--r--ext/dl/cptr.c669
-rw-r--r--ext/dl/depend54
-rw-r--r--ext/dl/dl.c1213
-rw-r--r--ext/dl/dl.def59
-rw-r--r--ext/dl/dl.h420
-rw-r--r--ext/dl/doc/dl.txt266
-rw-r--r--ext/dl/extconf.rb221
-rw-r--r--ext/dl/h2rb500
-rw-r--r--ext/dl/handle.c504
-rw-r--r--ext/dl/install.rb49
-rw-r--r--ext/dl/lib/dl.rb15
-rw-r--r--ext/dl/lib/dl/callback.rb112
-rw-r--r--ext/dl/lib/dl/cparser.rb156
-rw-r--r--ext/dl/lib/dl/func.rb251
-rw-r--r--ext/dl/lib/dl/import.rb439
-rw-r--r--ext/dl/lib/dl/pack.rb128
-rw-r--r--ext/dl/lib/dl/stack.rb116
-rw-r--r--ext/dl/lib/dl/struct.rb369
-rw-r--r--ext/dl/lib/dl/types.rb302
-rw-r--r--ext/dl/lib/dl/value.rb114
-rw-r--r--ext/dl/lib/dl/win32.rb25
-rw-r--r--ext/dl/mkcall.rb62
-rw-r--r--ext/dl/mkcallback.rb56
-rw-r--r--ext/dl/mkcbtable.rb18
-rw-r--r--ext/dl/ptr.c1067
-rw-r--r--ext/dl/sample/c++sample.C35
-rw-r--r--ext/dl/sample/c++sample.rb60
-rw-r--r--ext/dl/sample/drives.rb70
-rw-r--r--ext/dl/sample/getch.rb5
-rw-r--r--ext/dl/sample/libc.rb69
-rw-r--r--ext/dl/sample/msgbox.rb19
-rw-r--r--ext/dl/sample/msgbox2.rb18
-rw-r--r--ext/dl/sample/stream.rb87
-rw-r--r--ext/dl/sym.c992
-rw-r--r--ext/dl/test/libtest.def28
-rw-r--r--ext/dl/test/test.c247
-rw-r--r--ext/dl/test/test.rb306
-rw-r--r--ext/dl/type.rb115
-rw-r--r--ext/enumerator/.cvsignore2
-rw-r--r--ext/enumerator/enumerator.c298
-rw-r--r--ext/enumerator/enumerator.txt102
-rw-r--r--ext/enumerator/extconf.rb2
-rw-r--r--ext/etc/.cvsignore3
-rw-r--r--ext/etc/depend4
-rw-r--r--ext/etc/etc.c654
-rw-r--r--ext/etc/etc.txt72
-rw-r--r--ext/etc/etc.txt.ja72
-rw-r--r--ext/etc/extconf.rb19
-rw-r--r--[-rwxr-xr-x]ext/extmk.rb462
-rw-r--r--ext/fcntl/.cvsignore3
-rw-r--r--ext/fcntl/depend1
-rw-r--r--ext/fcntl/fcntl.c190
-rw-r--r--ext/fiber/extconf.rb3
-rw-r--r--ext/fiber/fiber.c8
-rw-r--r--ext/fiddle/closure.c316
-rw-r--r--ext/fiddle/closure.h8
-rw-r--r--ext/fiddle/conversions.c141
-rw-r--r--ext/fiddle/conversions.h44
-rw-r--r--ext/fiddle/depend4
-rw-r--r--ext/fiddle/extconf.rb60
-rw-r--r--ext/fiddle/fiddle.c454
-rw-r--r--ext/fiddle/fiddle.h143
-rw-r--r--ext/fiddle/function.c254
-rw-r--r--ext/fiddle/function.h8
-rw-r--r--ext/fiddle/handle.c478
-rw-r--r--ext/fiddle/lib/fiddle.rb55
-rw-r--r--ext/fiddle/lib/fiddle/closure.rb48
-rw-r--r--ext/fiddle/lib/fiddle/cparser.rb176
-rw-r--r--ext/fiddle/lib/fiddle/function.rb17
-rw-r--r--ext/fiddle/lib/fiddle/import.rb314
-rw-r--r--ext/fiddle/lib/fiddle/pack.rb128
-rw-r--r--ext/fiddle/lib/fiddle/struct.rb243
-rw-r--r--ext/fiddle/lib/fiddle/types.rb71
-rw-r--r--ext/fiddle/lib/fiddle/value.rb112
-rw-r--r--ext/fiddle/pointer.c712
-rw-r--r--ext/gdbm/.cvsignore3
-rw-r--r--ext/gdbm/depend1
-rw-r--r--ext/gdbm/gdbm.c482
-rw-r--r--ext/iconv/.cvsignore5
-rw-r--r--ext/iconv/charset_alias.rb103
-rw-r--r--ext/iconv/depend2
-rw-r--r--ext/iconv/extconf.rb51
-rw-r--r--ext/iconv/iconv.c910
-rw-r--r--ext/io/console/console.c798
-rw-r--r--ext/io/console/depend4
-rw-r--r--ext/io/console/extconf.rb26
-rw-r--r--ext/io/console/io-console.gemspec21
-rw-r--r--ext/io/console/lib/console/size.rb22
-rw-r--r--ext/io/nonblock/depend4
-rw-r--r--ext/io/nonblock/extconf.rb8
-rw-r--r--ext/io/nonblock/nonblock.c135
-rw-r--r--ext/io/wait/.cvsignore2
-rw-r--r--ext/io/wait/depend4
-rw-r--r--ext/io/wait/extconf.rb5
-rw-r--r--ext/io/wait/lib/nonblock.rb23
-rw-r--r--ext/io/wait/wait.c165
-rw-r--r--ext/json/extconf.rb3
-rw-r--r--ext/json/fbuffer/fbuffer.h181
-rw-r--r--ext/json/generator/depend2
-rw-r--r--ext/json/generator/extconf.rb4
-rw-r--r--ext/json/generator/generator.c1436
-rw-r--r--ext/json/generator/generator.h148
-rw-r--r--ext/json/lib/json.rb62
-rw-r--r--ext/json/lib/json/add/bigdecimal.rb28
-rw-r--r--ext/json/lib/json/add/complex.rb22
-rw-r--r--ext/json/lib/json/add/core.rb11
-rw-r--r--ext/json/lib/json/add/date.rb34
-rw-r--r--ext/json/lib/json/add/date_time.rb50
-rw-r--r--ext/json/lib/json/add/exception.rb31
-rw-r--r--ext/json/lib/json/add/ostruct.rb31
-rw-r--r--ext/json/lib/json/add/range.rb29
-rw-r--r--ext/json/lib/json/add/rational.rb22
-rw-r--r--ext/json/lib/json/add/regexp.rb30
-rw-r--r--ext/json/lib/json/add/struct.rb30
-rw-r--r--ext/json/lib/json/add/symbol.rb25
-rw-r--r--ext/json/lib/json/add/time.rb38
-rw-r--r--ext/json/lib/json/common.rb484
-rw-r--r--ext/json/lib/json/ext.rb21
-rw-r--r--ext/json/lib/json/generic_object.rb70
-rw-r--r--ext/json/lib/json/version.rb8
-rw-r--r--ext/json/parser/depend2
-rw-r--r--ext/json/parser/extconf.rb3
-rw-r--r--ext/json/parser/parser.c2204
-rw-r--r--ext/json/parser/parser.h77
-rw-r--r--ext/json/parser/parser.rl927
-rw-r--r--ext/json/parser/prereq.mk10
-rw-r--r--ext/mathn/complex/complex.c7
-rw-r--r--ext/mathn/complex/extconf.rb3
-rw-r--r--ext/mathn/rational/extconf.rb3
-rw-r--r--ext/mathn/rational/rational.c7
-rw-r--r--ext/nkf/.cvsignore3
-rw-r--r--ext/nkf/depend7
-rw-r--r--ext/nkf/lib/kconv.rb285
-rw-r--r--ext/nkf/nkf-utf8/config.h77
-rw-r--r--ext/nkf/nkf-utf8/nkf.c10011
-rw-r--r--ext/nkf/nkf-utf8/nkf.h189
-rw-r--r--ext/nkf/nkf-utf8/utf8tbl.c7346
-rw-r--r--ext/nkf/nkf-utf8/utf8tbl.h38
-rw-r--r--ext/nkf/nkf.c403
-rw-r--r--ext/objspace/depend14
-rw-r--r--ext/objspace/extconf.rb2
-rw-r--r--ext/objspace/object_tracing.c490
-rw-r--r--ext/objspace/objspace.c775
-rw-r--r--ext/objspace/objspace.h20
-rw-r--r--ext/objspace/objspace_dump.c432
-rw-r--r--ext/openssl/.cvsignore5
-rw-r--r--ext/openssl/depend6
-rw-r--r--ext/openssl/deprecation.rb21
-rw-r--r--ext/openssl/extconf.rb97
-rw-r--r--ext/openssl/lib/net/ftptls.rb43
-rw-r--r--ext/openssl/lib/net/telnets.rb248
-rw-r--r--ext/openssl/lib/openssl.rb4
-rw-r--r--ext/openssl/lib/openssl/bn.rb41
-rw-r--r--ext/openssl/lib/openssl/buffering.rb268
-rw-r--r--ext/openssl/lib/openssl/cipher.rb69
-rw-r--r--ext/openssl/lib/openssl/config.rb472
-rw-r--r--ext/openssl/lib/openssl/digest.rb101
-rw-r--r--ext/openssl/lib/openssl/ssl.rb167
-rw-r--r--ext/openssl/lib/openssl/x509.rb58
-rw-r--r--ext/openssl/openssl_missing.c41
-rw-r--r--ext/openssl/openssl_missing.h108
-rw-r--r--ext/openssl/ossl.c847
-rw-r--r--ext/openssl/ossl.h76
-rw-r--r--ext/openssl/ossl_asn1.c1273
-rw-r--r--ext/openssl/ossl_asn1.h4
-rw-r--r--ext/openssl/ossl_bio.c26
-rw-r--r--ext/openssl/ossl_bn.c323
-rw-r--r--ext/openssl/ossl_bn.h5
-rw-r--r--ext/openssl/ossl_cipher.c712
-rw-r--r--ext/openssl/ossl_cipher.h1
-rw-r--r--ext/openssl/ossl_config.c426
-rw-r--r--ext/openssl/ossl_digest.c404
-rw-r--r--ext/openssl/ossl_digest.h1
-rw-r--r--ext/openssl/ossl_engine.c252
-rw-r--r--ext/openssl/ossl_hmac.c226
-rw-r--r--ext/openssl/ossl_ns_spki.c190
-rw-r--r--ext/openssl/ossl_ocsp.c121
-rw-r--r--ext/openssl/ossl_pkcs12.c96
-rw-r--r--ext/openssl/ossl_pkcs12.h1
-rw-r--r--ext/openssl/ossl_pkcs5.c189
-rw-r--r--ext/openssl/ossl_pkcs5.h6
-rw-r--r--ext/openssl/ossl_pkcs7.c183
-rw-r--r--ext/openssl/ossl_pkcs7.h1
-rw-r--r--ext/openssl/ossl_pkey.c245
-rw-r--r--ext/openssl/ossl_pkey.h47
-rw-r--r--ext/openssl/ossl_pkey_dh.c289
-rw-r--r--ext/openssl/ossl_pkey_dsa.c291
-rw-r--r--ext/openssl/ossl_pkey_ec.c1683
-rw-r--r--ext/openssl/ossl_pkey_rsa.c331
-rw-r--r--ext/openssl/ossl_rand.c106
-rw-r--r--ext/openssl/ossl_ssl.c1714
-rw-r--r--ext/openssl/ossl_ssl.h15
-rw-r--r--ext/openssl/ossl_ssl_session.c323
-rw-r--r--ext/openssl/ossl_version.h2
-rw-r--r--ext/openssl/ossl_x509attr.c74
-rw-r--r--ext/openssl/ossl_x509cert.c343
-rw-r--r--ext/openssl/ossl_x509crl.c98
-rw-r--r--ext/openssl/ossl_x509ext.c107
-rw-r--r--ext/openssl/ossl_x509name.c229
-rw-r--r--ext/openssl/ossl_x509req.c88
-rw-r--r--ext/openssl/ossl_x509revoked.c46
-rw-r--r--ext/openssl/ossl_x509store.c168
-rw-r--r--ext/openssl/ruby_missing.h16
-rw-r--r--ext/pathname/depend3
-rw-r--r--ext/pathname/extconf.rb2
-rw-r--r--ext/pathname/lib/pathname.rb574
-rw-r--r--ext/pathname/pathname.c1442
-rw-r--r--ext/psych/.gitignore11
-rw-r--r--ext/psych/depend3
-rw-r--r--ext/psych/extconf.rb38
-rw-r--r--ext/psych/lib/psych.rb498
-rw-r--r--ext/psych/lib/psych/class_loader.rb101
-rw-r--r--ext/psych/lib/psych/coder.rb94
-rw-r--r--ext/psych/lib/psych/core_ext.rb35
-rw-r--r--ext/psych/lib/psych/deprecated.rb85
-rw-r--r--ext/psych/lib/psych/exception.rb13
-rw-r--r--ext/psych/lib/psych/handler.rb249
-rw-r--r--ext/psych/lib/psych/handlers/document_stream.rb22
-rw-r--r--ext/psych/lib/psych/handlers/recorder.rb39
-rw-r--r--ext/psych/lib/psych/json/ruby_events.rb19
-rw-r--r--ext/psych/lib/psych/json/stream.rb16
-rw-r--r--ext/psych/lib/psych/json/tree_builder.rb12
-rw-r--r--ext/psych/lib/psych/json/yaml_events.rb29
-rw-r--r--ext/psych/lib/psych/nodes.rb77
-rw-r--r--ext/psych/lib/psych/nodes/alias.rb18
-rw-r--r--ext/psych/lib/psych/nodes/document.rb60
-rw-r--r--ext/psych/lib/psych/nodes/mapping.rb56
-rw-r--r--ext/psych/lib/psych/nodes/node.rb55
-rw-r--r--ext/psych/lib/psych/nodes/scalar.rb67
-rw-r--r--ext/psych/lib/psych/nodes/sequence.rb81
-rw-r--r--ext/psych/lib/psych/nodes/stream.rb37
-rw-r--r--ext/psych/lib/psych/omap.rb4
-rw-r--r--ext/psych/lib/psych/parser.rb51
-rw-r--r--ext/psych/lib/psych/scalar_scanner.rb149
-rw-r--r--ext/psych/lib/psych/set.rb4
-rw-r--r--ext/psych/lib/psych/stream.rb37
-rw-r--r--ext/psych/lib/psych/streaming.rb27
-rw-r--r--ext/psych/lib/psych/syntax_error.rb21
-rw-r--r--ext/psych/lib/psych/tree_builder.rb96
-rw-r--r--ext/psych/lib/psych/visitors.rb6
-rw-r--r--ext/psych/lib/psych/visitors/depth_first.rb26
-rw-r--r--ext/psych/lib/psych/visitors/emitter.rb51
-rw-r--r--ext/psych/lib/psych/visitors/json_tree.rb24
-rw-r--r--ext/psych/lib/psych/visitors/to_ruby.rb370
-rw-r--r--ext/psych/lib/psych/visitors/visitor.rb19
-rw-r--r--ext/psych/lib/psych/visitors/yaml_tree.rb521
-rw-r--r--ext/psych/lib/psych/y.rb9
-rw-r--r--ext/psych/psych.c34
-rw-r--r--ext/psych/psych.gemspec23
-rw-r--r--ext/psych/psych.h20
-rw-r--r--ext/psych/psych_emitter.c538
-rw-r--r--ext/psych/psych_emitter.h8
-rw-r--r--ext/psych/psych_parser.c579
-rw-r--r--ext/psych/psych_parser.h6
-rw-r--r--ext/psych/psych_to_ruby.c43
-rw-r--r--ext/psych/psych_to_ruby.h8
-rw-r--r--ext/psych/psych_yaml_tree.c24
-rw-r--r--ext/psych/psych_yaml_tree.h8
-rw-r--r--ext/psych/yaml/LICENSE19
-rw-r--r--ext/psych/yaml/api.c1415
-rw-r--r--ext/psych/yaml/config.h10
-rw-r--r--ext/psych/yaml/dumper.c394
-rw-r--r--ext/psych/yaml/emitter.c2329
-rw-r--r--ext/psych/yaml/loader.c459
-rw-r--r--ext/psych/yaml/parser.c1370
-rw-r--r--ext/psych/yaml/reader.c469
-rw-r--r--ext/psych/yaml/scanner.c3583
-rw-r--r--ext/psych/yaml/writer.c141
-rw-r--r--ext/psych/yaml/yaml.h1971
-rw-r--r--ext/psych/yaml/yaml_private.h664
-rw-r--r--ext/pty/.cvsignore3
-rw-r--r--ext/pty/README65
-rw-r--r--ext/pty/README.expect22
-rw-r--r--ext/pty/README.expect.ja21
-rw-r--r--ext/pty/README.ja89
-rw-r--r--ext/pty/depend7
-rw-r--r--ext/pty/expect_sample.rb55
-rw-r--r--ext/pty/extconf.rb8
-rw-r--r--ext/pty/lib/expect.rb39
-rw-r--r--ext/pty/pty.c840
-rw-r--r--ext/pty/script.rb37
-rw-r--r--ext/pty/shl.rb (renamed from sample/pty/shl.rb)0
-rw-r--r--ext/racc/cparse/.cvsignore3
-rw-r--r--ext/racc/cparse/README11
-rw-r--r--ext/racc/cparse/cparse.c107
-rw-r--r--ext/racc/cparse/depend1
-rw-r--r--ext/racc/cparse/extconf.rb1
-rw-r--r--ext/rbconfig/sizeof/depend3
-rw-r--r--ext/rbconfig/sizeof/extconf.rb2
-rw-r--r--ext/readline/.cvsignore3
-rw-r--r--ext/readline/README68
-rw-r--r--ext/readline/README.ja393
-rw-r--r--ext/readline/depend6
-rw-r--r--ext/readline/extconf.rb108
-rw-r--r--ext/readline/readline.c1918
-rw-r--r--ext/ripper/README30
-rw-r--r--ext/ripper/depend56
-rw-r--r--ext/ripper/eventids2.c293
-rw-r--r--ext/ripper/extconf.rb21
-rw-r--r--ext/ripper/lib/ripper.rb73
-rw-r--r--ext/ripper/lib/ripper/core.rb70
-rw-r--r--ext/ripper/lib/ripper/filter.rb77
-rw-r--r--ext/ripper/lib/ripper/lexer.rb186
-rw-r--r--ext/ripper/lib/ripper/sexp.rb114
-rwxr-xr-xext/ripper/tools/generate-param-macros.rb14
-rwxr-xr-xext/ripper/tools/generate.rb154
-rwxr-xr-xext/ripper/tools/preproc.rb91
-rwxr-xr-xext/ripper/tools/strip.rb12
-rw-r--r--ext/sdbm/.cvsignore3
-rw-r--r--ext/sdbm/_sdbm.c252
-rw-r--r--ext/sdbm/depend4
-rw-r--r--ext/sdbm/extconf.rb1
-rw-r--r--ext/sdbm/init.c717
-rw-r--r--ext/sdbm/sdbm.h10
-rw-r--r--ext/socket/.cvsignore3
-rw-r--r--ext/socket/.document17
-rw-r--r--ext/socket/addrinfo.h49
-rw-r--r--ext/socket/ancdata.c1832
-rw-r--r--ext/socket/basicsocket.c776
-rw-r--r--ext/socket/constants.c145
-rw-r--r--ext/socket/depend32
-rw-r--r--ext/socket/extconf.rb660
-rw-r--r--ext/socket/getaddrinfo.c112
-rw-r--r--ext/socket/getnameinfo.c51
-rw-r--r--ext/socket/ifaddr.c457
-rw-r--r--ext/socket/init.c636
-rw-r--r--ext/socket/ipsocket.c334
-rw-r--r--ext/socket/lib/socket.rb871
-rw-r--r--ext/socket/mkconstants.rb773
-rw-r--r--ext/socket/option.c1127
-rw-r--r--ext/socket/raddrinfo.c2574
-rw-r--r--ext/socket/rubysocket.h395
-rw-r--r--ext/socket/socket.c4956
-rw-r--r--ext/socket/sockport.h84
-rw-r--r--ext/socket/sockssocket.c71
-rw-r--r--ext/socket/tcpserver.c178
-rw-r--r--ext/socket/tcpsocket.c82
-rw-r--r--ext/socket/udpsocket.c266
-rw-r--r--ext/socket/unixserver.c155
-rw-r--r--ext/socket/unixsocket.c525
-rw-r--r--ext/stringio/.cvsignore3
-rw-r--r--ext/stringio/README3
-rw-r--r--ext/stringio/depend6
-rw-r--r--ext/stringio/stringio.c1101
-rw-r--r--ext/strscan/.cvsignore3
-rw-r--r--ext/strscan/depend8
-rw-r--r--ext/strscan/extconf.rb1
-rw-r--r--ext/strscan/strscan.c383
-rw-r--r--ext/syck/.cvsignore3
-rw-r--r--ext/syck/bytecode.c1166
-rw-r--r--ext/syck/depend12
-rw-r--r--ext/syck/emitter.c1242
-rw-r--r--ext/syck/extconf.rb5
-rw-r--r--ext/syck/gram.c1894
-rw-r--r--ext/syck/gram.h79
-rw-r--r--ext/syck/handler.c174
-rw-r--r--ext/syck/implicit.c2990
-rw-r--r--ext/syck/node.c408
-rw-r--r--ext/syck/rubyext.c2367
-rw-r--r--ext/syck/syck.c504
-rw-r--r--ext/syck/syck.h456
-rw-r--r--ext/syck/token.c2725
-rw-r--r--ext/syck/yaml2byte.c257
-rw-r--r--ext/syck/yamlbyte.h170
-rw-r--r--ext/syslog/.cvsignore3
-rw-r--r--ext/syslog/depend4
-rw-r--r--ext/syslog/lib/syslog/logger.rb208
-rw-r--r--ext/syslog/syslog.c388
-rw-r--r--ext/syslog/syslog.txt9
-rw-r--r--ext/syslog/test.rb164
-rw-r--r--ext/thread/extconf.rb8
-rw-r--r--ext/thread/lib/thread.rb5
-rw-r--r--ext/thread/thread.c1310
-rw-r--r--ext/tk/.cvsignore3
-rw-r--r--ext/tk/ChangeLog.tkextlib72
-rw-r--r--ext/tk/MANUAL_tcltklib.eng332
-rw-r--r--ext/tk/MANUAL_tcltklib.eucj557
-rw-r--r--ext/tk/MANUAL_tcltklib.ja584
-rw-r--r--ext/tk/README.1st29
-rw-r--r--ext/tk/README.ActiveTcl35
-rw-r--r--ext/tk/README.fork14
-rw-r--r--ext/tk/README.macosx-aqua20
-rw-r--r--ext/tk/README.tcltklib133
-rw-r--r--ext/tk/config_list.in41
-rw-r--r--ext/tk/depend4
-rw-r--r--ext/tk/extconf.rb2068
-rw-r--r--ext/tk/lib/README4
-rw-r--r--ext/tk/lib/multi-tk.rb969
-rw-r--r--ext/tk/lib/remote-tk.rb38
-rw-r--r--ext/tk/lib/tcltk.rb24
-rw-r--r--ext/tk/lib/tk.rb1878
-rw-r--r--ext/tk/lib/tk/autoload.rb704
-rw-r--r--ext/tk/lib/tk/bindtag.rb83
-rw-r--r--ext/tk/lib/tk/busy.rb118
-rw-r--r--ext/tk/lib/tk/button.rb8
-rw-r--r--ext/tk/lib/tk/canvas.rb173
-rw-r--r--ext/tk/lib/tk/canvastag.rb144
-rw-r--r--ext/tk/lib/tk/checkbutton.rb13
-rw-r--r--ext/tk/lib/tk/composite.rb118
-rw-r--r--ext/tk/lib/tk/console.rb6
-rw-r--r--ext/tk/lib/tk/dialog.rb30
-rw-r--r--ext/tk/lib/tk/encodedstr.rb90
-rw-r--r--ext/tk/lib/tk/entry.rb9
-rw-r--r--ext/tk/lib/tk/event.rb276
-rw-r--r--ext/tk/lib/tk/font.rb825
-rw-r--r--ext/tk/lib/tk/fontchooser.rb176
-rw-r--r--ext/tk/lib/tk/frame.rb8
-rw-r--r--ext/tk/lib/tk/grid.rb79
-rw-r--r--ext/tk/lib/tk/image.rb194
-rw-r--r--ext/tk/lib/tk/itemconfig.rb315
-rw-r--r--ext/tk/lib/tk/itemfont.rb69
-rw-r--r--ext/tk/lib/tk/kinput.rb6
-rw-r--r--ext/tk/lib/tk/label.rb8
-rw-r--r--ext/tk/lib/tk/labelframe.rb12
-rw-r--r--ext/tk/lib/tk/listbox.rb41
-rw-r--r--ext/tk/lib/tk/macpkg.rb11
-rw-r--r--ext/tk/lib/tk/menu.rb186
-rw-r--r--ext/tk/lib/tk/menubar.rb46
-rw-r--r--ext/tk/lib/tk/menuspec.rb259
-rw-r--r--ext/tk/lib/tk/message.rb9
-rw-r--r--ext/tk/lib/tk/mngfocus.rb4
-rw-r--r--ext/tk/lib/tk/msgcat.rb85
-rw-r--r--ext/tk/lib/tk/namespace.rb164
-rw-r--r--ext/tk/lib/tk/optiondb.rb62
-rw-r--r--ext/tk/lib/tk/optionobj.rb18
-rw-r--r--ext/tk/lib/tk/pack.rb17
-rw-r--r--ext/tk/lib/tk/package.rb4
-rw-r--r--ext/tk/lib/tk/palette.rb6
-rw-r--r--ext/tk/lib/tk/panedwindow.rb72
-rw-r--r--ext/tk/lib/tk/place.rb12
-rw-r--r--ext/tk/lib/tk/radiobutton.rb13
-rw-r--r--ext/tk/lib/tk/root.rb47
-rw-r--r--ext/tk/lib/tk/scale.rb38
-rw-r--r--ext/tk/lib/tk/scrollbar.rb75
-rw-r--r--ext/tk/lib/tk/scrollbox.rb7
-rw-r--r--ext/tk/lib/tk/selection.rb6
-rw-r--r--ext/tk/lib/tk/spinbox.rb67
-rw-r--r--ext/tk/lib/tk/text.rb338
-rw-r--r--ext/tk/lib/tk/textimage.rb24
-rw-r--r--ext/tk/lib/tk/textmark.rb108
-rw-r--r--ext/tk/lib/tk/texttag.rb136
-rw-r--r--ext/tk/lib/tk/textwindow.rb33
-rw-r--r--ext/tk/lib/tk/timer.rb89
-rw-r--r--ext/tk/lib/tk/toplevel.rb33
-rw-r--r--ext/tk/lib/tk/ttk_selector.rb98
-rw-r--r--ext/tk/lib/tk/validation.rb53
-rw-r--r--ext/tk/lib/tk/variable.rb630
-rw-r--r--ext/tk/lib/tk/virtevent.rb85
-rw-r--r--ext/tk/lib/tk/winfo.rb10
-rw-r--r--ext/tk/lib/tk/winpkg.rb25
-rw-r--r--ext/tk/lib/tk/wm.rb476
-rw-r--r--ext/tk/lib/tk/xim.rb4
-rw-r--r--ext/tk/lib/tkextlib/ICONS/icons.rb8
-rw-r--r--ext/tk/lib/tkextlib/ICONS/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/SUPPORT_STATUS87
-rw-r--r--ext/tk/lib/tkextlib/blt.rb6
-rw-r--r--ext/tk/lib/tkextlib/blt/barchart.rb6
-rw-r--r--ext/tk/lib/tkextlib/blt/bitmap.rb21
-rw-r--r--ext/tk/lib/tkextlib/blt/busy.rb3
-rw-r--r--ext/tk/lib/tkextlib/blt/component.rb627
-rw-r--r--ext/tk/lib/tkextlib/blt/container.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/dragdrop.rb77
-rw-r--r--ext/tk/lib/tkextlib/blt/eps.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/graph.rb4
-rw-r--r--ext/tk/lib/tkextlib/blt/htext.rb4
-rw-r--r--ext/tk/lib/tkextlib/blt/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/blt/stripchart.rb6
-rw-r--r--ext/tk/lib/tkextlib/blt/table.rb30
-rw-r--r--ext/tk/lib/tkextlib/blt/tabnotebook.rb93
-rw-r--r--ext/tk/lib/tkextlib/blt/tabset.rb185
-rw-r--r--ext/tk/lib/tkextlib/blt/ted.rb12
-rw-r--r--ext/tk/lib/tkextlib/blt/tile.rb4
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/button.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/checkbutton.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/frame.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/label.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/radiobutton.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/scrollbar.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/toplevel.rb2
-rw-r--r--ext/tk/lib/tkextlib/blt/tree.rb387
-rw-r--r--ext/tk/lib/tkextlib/blt/treeview.rb285
-rw-r--r--ext/tk/lib/tkextlib/blt/unix_dnd.rb22
-rw-r--r--ext/tk/lib/tkextlib/blt/vector.rb49
-rw-r--r--ext/tk/lib/tkextlib/blt/watch.rb47
-rw-r--r--ext/tk/lib/tkextlib/blt/winop.rb12
-rw-r--r--ext/tk/lib/tkextlib/bwidget.rb2
-rw-r--r--ext/tk/lib/tkextlib/bwidget/arrowbutton.rb2
-rw-r--r--ext/tk/lib/tkextlib/bwidget/button.rb4
-rw-r--r--ext/tk/lib/tkextlib/bwidget/buttonbox.rb22
-rw-r--r--ext/tk/lib/tkextlib/bwidget/combobox.rb21
-rw-r--r--ext/tk/lib/tkextlib/bwidget/dialog.rb51
-rw-r--r--ext/tk/lib/tkextlib/bwidget/dynamichelp.rb7
-rw-r--r--ext/tk/lib/tkextlib/bwidget/entry.rb4
-rw-r--r--ext/tk/lib/tkextlib/bwidget/label.rb4
-rw-r--r--ext/tk/lib/tkextlib/bwidget/labelentry.rb4
-rw-r--r--ext/tk/lib/tkextlib/bwidget/labelframe.rb10
-rw-r--r--ext/tk/lib/tkextlib/bwidget/listbox.rb62
-rw-r--r--ext/tk/lib/tkextlib/bwidget/mainframe.rb54
-rw-r--r--ext/tk/lib/tkextlib/bwidget/messagedlg.rb18
-rw-r--r--ext/tk/lib/tkextlib/bwidget/notebook.rb32
-rw-r--r--ext/tk/lib/tkextlib/bwidget/pagesmanager.rb18
-rw-r--r--ext/tk/lib/tkextlib/bwidget/panedwindow.rb15
-rw-r--r--ext/tk/lib/tkextlib/bwidget/panelframe.rb22
-rw-r--r--ext/tk/lib/tkextlib/bwidget/passwddlg.rb8
-rw-r--r--ext/tk/lib/tkextlib/bwidget/progressbar.rb2
-rw-r--r--ext/tk/lib/tkextlib/bwidget/progressdlg.rb6
-rw-r--r--ext/tk/lib/tkextlib/bwidget/scrollableframe.rb10
-rw-r--r--ext/tk/lib/tkextlib/bwidget/scrolledwindow.rb20
-rw-r--r--ext/tk/lib/tkextlib/bwidget/scrollview.rb2
-rw-r--r--ext/tk/lib/tkextlib/bwidget/selectcolor.rb30
-rw-r--r--ext/tk/lib/tkextlib/bwidget/selectfont.rb14
-rw-r--r--ext/tk/lib/tkextlib/bwidget/separator.rb2
-rw-r--r--ext/tk/lib/tkextlib/bwidget/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/bwidget/spinbox.rb4
-rw-r--r--ext/tk/lib/tkextlib/bwidget/statusbar.rb26
-rw-r--r--ext/tk/lib/tkextlib/bwidget/titleframe.rb10
-rw-r--r--ext/tk/lib/tkextlib/bwidget/tree.rb116
-rw-r--r--ext/tk/lib/tkextlib/bwidget/widget.rb20
-rw-r--r--ext/tk/lib/tkextlib/itcl/incr_tcl.rb14
-rw-r--r--ext/tk/lib/tkextlib/itcl/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/itk/incr_tk.rb50
-rw-r--r--ext/tk/lib/tkextlib/itk/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/buttonbox.rb8
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/calendar.rb23
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/canvasprintbox.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/canvasprintdialog.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/checkbox.rb24
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/combobox.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/dateentry.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/datefield.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/dialog.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/dialogshell.rb8
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/disjointlistbox.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/entryfield.rb37
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/extbutton.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/extfileselectionbox.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/extfileselectiondialog.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/feedback.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/fileselectionbox.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/fileselectiondialog.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/finddialog.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/hierarchy.rb80
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/hyperhelp.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/labeledframe.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/mainwindow.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/menubar.rb8
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/messagebox.rb8
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/messagedialog.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/notebook.rb19
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/optionmenu.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/panedwindow.rb8
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/promptdialog.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/pushbutton.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/radiobox.rb19
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scopedobject.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb26
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledframe.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledhtml.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb6
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb94
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledwidget.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/selectionbox.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/selectiondialog.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/shell.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spindate.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spinint.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spinner.rb37
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spintime.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/tabnotebook.rb24
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/tabset.rb52
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/timeentry.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/timefield.rb2
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/toolbar.rb4
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/watch.rb4
-rwxr-xr-xext/tk/lib/tkextlib/pkg_checker.rb6
-rw-r--r--ext/tk/lib/tkextlib/setup.rb8
-rw-r--r--ext/tk/lib/tkextlib/tcllib.rb29
-rw-r--r--ext/tk/lib/tkextlib/tcllib/README14
-rw-r--r--ext/tk/lib/tkextlib/tcllib/autoscroll.rb26
-rw-r--r--ext/tk/lib/tkextlib/tcllib/calendar.rb55
-rw-r--r--ext/tk/lib/tkextlib/tcllib/canvas_sqmap.rb36
-rw-r--r--ext/tk/lib/tkextlib/tcllib/canvas_zoom.rb21
-rw-r--r--ext/tk/lib/tkextlib/tcllib/chatwidget.rb151
-rw-r--r--ext/tk/lib/tkextlib/tcllib/crosshair.rb117
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ctext.rb14
-rw-r--r--ext/tk/lib/tkextlib/tcllib/cursor.rb14
-rw-r--r--ext/tk/lib/tkextlib/tcllib/dateentry.rb62
-rw-r--r--ext/tk/lib/tkextlib/tcllib/datefield.rb14
-rw-r--r--ext/tk/lib/tkextlib/tcllib/diagrams.rb224
-rw-r--r--ext/tk/lib/tkextlib/tcllib/dialog.rb2
-rw-r--r--ext/tk/lib/tkextlib/tcllib/getstring.rb9
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ico.rb52
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ip_entry.rb17
-rw-r--r--ext/tk/lib/tkextlib/tcllib/khim.rb68
-rw-r--r--ext/tk/lib/tkextlib/tcllib/menuentry.rb47
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ntext.rb146
-rw-r--r--ext/tk/lib/tkextlib/tcllib/panelframe.rb10
-rw-r--r--ext/tk/lib/tkextlib/tcllib/plotchart.rb785
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ruler.rb2
-rw-r--r--ext/tk/lib/tkextlib/tcllib/screenruler.rb2
-rw-r--r--ext/tk/lib/tkextlib/tcllib/scrolledwindow.rb57
-rw-r--r--ext/tk/lib/tkextlib/tcllib/scrollwin.rb2
-rw-r--r--ext/tk/lib/tkextlib/tcllib/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tcllib/statusbar.rb79
-rw-r--r--ext/tk/lib/tkextlib/tcllib/superframe.rb2
-rw-r--r--ext/tk/lib/tkextlib/tcllib/swaplist.rb15
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tablelist.rb9
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tablelist_core.rb342
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb20
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tkpiechart.rb36
-rw-r--r--ext/tk/lib/tkextlib/tcllib/toolbar.rb175
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tooltip.rb13
-rw-r--r--ext/tk/lib/tkextlib/tcllib/widget.rb34
-rw-r--r--ext/tk/lib/tkextlib/tclx/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tile.rb285
-rw-r--r--ext/tk/lib/tkextlib/tile/dialog.rb22
-rw-r--r--ext/tk/lib/tkextlib/tile/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tile/sizegrip.rb9
-rw-r--r--ext/tk/lib/tkextlib/tile/style.rb259
-rw-r--r--ext/tk/lib/tkextlib/tile/tbutton.rb10
-rw-r--r--ext/tk/lib/tkextlib/tile/tcheckbutton.rb12
-rw-r--r--ext/tk/lib/tkextlib/tile/tcombobox.rb6
-rw-r--r--ext/tk/lib/tkextlib/tile/tentry.rb15
-rw-r--r--ext/tk/lib/tkextlib/tile/tframe.rb10
-rw-r--r--ext/tk/lib/tkextlib/tile/tlabel.rb10
-rw-r--r--ext/tk/lib/tkextlib/tile/tlabelframe.rb12
-rw-r--r--ext/tk/lib/tkextlib/tile/tmenubutton.rb16
-rw-r--r--ext/tk/lib/tkextlib/tile/tnotebook.rb45
-rw-r--r--ext/tk/lib/tkextlib/tile/tpaned.rb93
-rw-r--r--ext/tk/lib/tkextlib/tile/tprogressbar.rb6
-rw-r--r--ext/tk/lib/tkextlib/tile/tradiobutton.rb12
-rw-r--r--ext/tk/lib/tkextlib/tile/treeview.rb291
-rw-r--r--ext/tk/lib/tkextlib/tile/tscale.rb14
-rw-r--r--ext/tk/lib/tkextlib/tile/tscrollbar.rb39
-rw-r--r--ext/tk/lib/tkextlib/tile/tseparator.rb6
-rw-r--r--ext/tk/lib/tkextlib/tile/tspinbox.rb107
-rw-r--r--ext/tk/lib/tkextlib/tile/tsquare.rb2
-rw-r--r--ext/tk/lib/tkextlib/tkDND/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tkDND/shape.rb32
-rw-r--r--ext/tk/lib/tkextlib/tkDND/tkdnd.rb70
-rw-r--r--ext/tk/lib/tkextlib/tkHTML/htmlwidget.rb25
-rw-r--r--ext/tk/lib/tkextlib/tkHTML/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tkimg/README2
-rw-r--r--ext/tk/lib/tkextlib/tkimg/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tktable/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tktable/tktable.rb307
-rw-r--r--ext/tk/lib/tkextlib/tktrans/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/tktrans/tktrans.rb4
-rw-r--r--ext/tk/lib/tkextlib/treectrl/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/treectrl/tktreectrl.rb519
-rw-r--r--ext/tk/lib/tkextlib/trofs/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/version.rb2
-rw-r--r--ext/tk/lib/tkextlib/vu/bargraph.rb10
-rw-r--r--ext/tk/lib/tkextlib/vu/charts.rb2
-rw-r--r--ext/tk/lib/tkextlib/vu/dial.rb6
-rw-r--r--ext/tk/lib/tkextlib/vu/pie.rb83
-rw-r--r--ext/tk/lib/tkextlib/vu/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/vu/spinbox.rb4
-rw-r--r--ext/tk/lib/tkextlib/winico/setup.rb4
-rw-r--r--ext/tk/lib/tkextlib/winico/winico.rb89
-rw-r--r--ext/tk/old-README.tcltklib.eucj159
-rw-r--r--ext/tk/old-README.tcltklib.ja159
-rw-r--r--ext/tk/old-extconf.rb440
-rw-r--r--ext/tk/sample/24hr_clock.rb130
-rw-r--r--ext/tk/sample/binding_sample.rb8
-rw-r--r--ext/tk/sample/bindtag_sample.rb38
-rw-r--r--ext/tk/sample/binstr_usage.rb14
-rw-r--r--ext/tk/sample/cd_timer.rb16
-rw-r--r--ext/tk/sample/cmd_res_test.rb2
-rw-r--r--ext/tk/sample/demos-en/ChangeLog.prev2
-rw-r--r--ext/tk/sample/demos-en/README130
-rw-r--r--ext/tk/sample/demos-en/README.1st8
-rw-r--r--ext/tk/sample/demos-en/README.tkencoding22
-rw-r--r--ext/tk/sample/demos-en/anilabel.rb24
-rw-r--r--ext/tk/sample/demos-en/aniwave.rb19
-rw-r--r--ext/tk/sample/demos-en/arrow.rb80
-rw-r--r--ext/tk/sample/demos-en/bind.rb67
-rw-r--r--ext/tk/sample/demos-en/bitmap.rb16
-rw-r--r--ext/tk/sample/demos-en/browse122
-rw-r--r--ext/tk/sample/demos-en/browse222
-rw-r--r--ext/tk/sample/demos-en/button.rb12
-rw-r--r--ext/tk/sample/demos-en/check.rb22
-rw-r--r--ext/tk/sample/demos-en/check2.rb46
-rw-r--r--ext/tk/sample/demos-en/clrpick.rb30
-rw-r--r--ext/tk/sample/demos-en/colors.rb20
-rw-r--r--ext/tk/sample/demos-en/combo.rb96
-rw-r--r--ext/tk/sample/demos-en/cscroll.rb34
-rw-r--r--ext/tk/sample/demos-en/ctext.rb81
-rw-r--r--ext/tk/sample/demos-en/doc.org/license.terms2
-rw-r--r--ext/tk/sample/demos-en/doc.org/license.terms.tk802
-rw-r--r--ext/tk/sample/demos-en/entry1.rb18
-rw-r--r--ext/tk/sample/demos-en/entry2.rb12
-rw-r--r--ext/tk/sample/demos-en/entry3.rb70
-rw-r--r--ext/tk/sample/demos-en/filebox.rb47
-rw-r--r--ext/tk/sample/demos-en/floor.rb560
-rw-r--r--ext/tk/sample/demos-en/floor2.rb560
-rw-r--r--ext/tk/sample/demos-en/form.rb14
-rw-r--r--ext/tk/sample/demos-en/goldberg.rb419
-rw-r--r--ext/tk/sample/demos-en/hello6
-rw-r--r--ext/tk/sample/demos-en/hscale.rb29
-rw-r--r--ext/tk/sample/demos-en/icon.rb24
-rw-r--r--ext/tk/sample/demos-en/image1.rb15
-rw-r--r--ext/tk/sample/demos-en/image2.rb28
-rw-r--r--ext/tk/sample/demos-en/image3.rb43
-rw-r--r--ext/tk/sample/demos-en/items.rb103
-rw-r--r--ext/tk/sample/demos-en/ixset28
-rw-r--r--ext/tk/sample/demos-en/ixset254
-rw-r--r--ext/tk/sample/demos-en/knightstour.rb271
-rw-r--r--ext/tk/sample/demos-en/label.rb29
-rw-r--r--ext/tk/sample/demos-en/labelframe.rb18
-rw-r--r--ext/tk/sample/demos-en/mclist.rb117
-rw-r--r--ext/tk/sample/demos-en/menu.rb60
-rw-r--r--ext/tk/sample/demos-en/menu84.rb68
-rw-r--r--ext/tk/sample/demos-en/menubu.rb14
-rw-r--r--ext/tk/sample/demos-en/msgbox.rb34
-rw-r--r--ext/tk/sample/demos-en/msgbox2.rb91
-rw-r--r--ext/tk/sample/demos-en/paned1.rb18
-rw-r--r--ext/tk/sample/demos-en/paned2.rb52
-rw-r--r--ext/tk/sample/demos-en/patch_1.1c193
-rw-r--r--ext/tk/sample/demos-en/pendulum.rb75
-rw-r--r--ext/tk/sample/demos-en/plot.rb36
-rw-r--r--ext/tk/sample/demos-en/puzzle.rb38
-rw-r--r--ext/tk/sample/demos-en/radio.rb24
-rw-r--r--ext/tk/sample/demos-en/radio2.rb33
-rw-r--r--ext/tk/sample/demos-en/radio3.rb55
-rw-r--r--ext/tk/sample/demos-en/rmt68
-rw-r--r--ext/tk/sample/demos-en/rolodex6
-rw-r--r--ext/tk/sample/demos-en/rolodex-j323
-rw-r--r--ext/tk/sample/demos-en/ruler.rb42
-rw-r--r--ext/tk/sample/demos-en/sayings.rb16
-rw-r--r--ext/tk/sample/demos-en/search.rb51
-rw-r--r--ext/tk/sample/demos-en/spin.rb22
-rw-r--r--ext/tk/sample/demos-en/square12
-rw-r--r--ext/tk/sample/demos-en/states.rb30
-rw-r--r--ext/tk/sample/demos-en/style.rb80
-rw-r--r--ext/tk/sample/demos-en/tcolor18
-rw-r--r--ext/tk/sample/demos-en/text.rb16
-rw-r--r--ext/tk/sample/demos-en/textpeer.rb76
-rw-r--r--ext/tk/sample/demos-en/timer2
-rw-r--r--ext/tk/sample/demos-en/toolbar.rb130
-rw-r--r--ext/tk/sample/demos-en/tree.rb119
-rw-r--r--ext/tk/sample/demos-en/ttkbut.rb139
-rw-r--r--ext/tk/sample/demos-en/ttkmenu.rb85
-rw-r--r--ext/tk/sample/demos-en/ttknote.rb89
-rw-r--r--ext/tk/sample/demos-en/ttkpane.rb213
-rw-r--r--ext/tk/sample/demos-en/ttkprogress.rb66
-rw-r--r--ext/tk/sample/demos-en/twind.rb72
-rw-r--r--ext/tk/sample/demos-en/twind2.rb134
-rw-r--r--ext/tk/sample/demos-en/unicodeout.rb50
-rw-r--r--ext/tk/sample/demos-en/vscale.rb29
-rw-r--r--ext/tk/sample/demos-en/widget359
-rw-r--r--ext/tk/sample/demos-jp/README104
-rw-r--r--ext/tk/sample/demos-jp/README.1st28
-rw-r--r--ext/tk/sample/demos-jp/anilabel.rb45
-rw-r--r--ext/tk/sample/demos-jp/aniwave.rb28
-rw-r--r--ext/tk/sample/demos-jp/arrow.rb97
-rw-r--r--ext/tk/sample/demos-jp/bind.rb88
-rw-r--r--ext/tk/sample/demos-jp/bitmap.rb33
-rw-r--r--ext/tk/sample/demos-jp/browse122
-rw-r--r--ext/tk/sample/demos-jp/browse222
-rw-r--r--ext/tk/sample/demos-jp/button.rb24
-rw-r--r--ext/tk/sample/demos-jp/check.rb39
-rw-r--r--ext/tk/sample/demos-jp/check2.rb61
-rw-r--r--ext/tk/sample/demos-jp/clrpick.rb45
-rw-r--r--ext/tk/sample/demos-jp/colors.rb39
-rw-r--r--ext/tk/sample/demos-jp/combo.rb98
-rw-r--r--ext/tk/sample/demos-jp/cscroll.rb53
-rw-r--r--ext/tk/sample/demos-jp/ctext.rb108
-rw-r--r--ext/tk/sample/demos-jp/dialog1.rb11
-rw-r--r--ext/tk/sample/demos-jp/dialog2.rb11
-rw-r--r--ext/tk/sample/demos-jp/doc.org/license.terms2
-rw-r--r--ext/tk/sample/demos-jp/doc.org/license.terms.tk802
-rw-r--r--ext/tk/sample/demos-jp/entry1.rb45
-rw-r--r--ext/tk/sample/demos-jp/entry2.rb41
-rw-r--r--ext/tk/sample/demos-jp/entry3.rb105
-rw-r--r--ext/tk/sample/demos-jp/filebox.rb72
-rw-r--r--ext/tk/sample/demos-jp/floor.rb579
-rw-r--r--ext/tk/sample/demos-jp/floor2.rb579
-rw-r--r--ext/tk/sample/demos-jp/form.rb37
-rw-r--r--ext/tk/sample/demos-jp/goldberg.rb440
-rw-r--r--ext/tk/sample/demos-jp/hello5
-rw-r--r--ext/tk/sample/demos-jp/hscale.rb41
-rw-r--r--ext/tk/sample/demos-jp/icon.rb45
-rw-r--r--ext/tk/sample/demos-jp/image1.rb36
-rw-r--r--ext/tk/sample/demos-jp/image2.rb52
-rw-r--r--ext/tk/sample/demos-jp/image3.rb40
-rw-r--r--ext/tk/sample/demos-jp/items.rb156
-rw-r--r--ext/tk/sample/demos-jp/ixset30
-rw-r--r--ext/tk/sample/demos-jp/ixset277
-rw-r--r--ext/tk/sample/demos-jp/knightstour.rb273
-rw-r--r--ext/tk/sample/demos-jp/label.rb46
-rw-r--r--ext/tk/sample/demos-jp/labelframe.rb48
-rw-r--r--ext/tk/sample/demos-jp/mclist.rb121
-rw-r--r--ext/tk/sample/demos-jp/menu.rb141
-rw-r--r--ext/tk/sample/demos-jp/menu84.rb107
-rw-r--r--ext/tk/sample/demos-jp/menu8x.rb159
-rw-r--r--ext/tk/sample/demos-jp/menubu.rb41
-rw-r--r--ext/tk/sample/demos-jp/msgbox.rb63
-rw-r--r--ext/tk/sample/demos-jp/msgbox2.rb90
-rw-r--r--ext/tk/sample/demos-jp/paned1.rb34
-rw-r--r--ext/tk/sample/demos-jp/paned2.rb74
-rw-r--r--ext/tk/sample/demos-jp/pendulum.rb84
-rw-r--r--ext/tk/sample/demos-jp/plot.rb61
-rw-r--r--ext/tk/sample/demos-jp/puzzle.rb67
-rw-r--r--ext/tk/sample/demos-jp/radio.rb43
-rw-r--r--ext/tk/sample/demos-jp/radio2.rb49
-rw-r--r--ext/tk/sample/demos-jp/radio3.rb61
-rw-r--r--ext/tk/sample/demos-jp/rmt68
-rw-r--r--ext/tk/sample/demos-jp/rolodex6
-rw-r--r--ext/tk/sample/demos-jp/rolodex-j135
-rw-r--r--ext/tk/sample/demos-jp/ruler.rb59
-rw-r--r--ext/tk/sample/demos-jp/sayings.rb35
-rw-r--r--ext/tk/sample/demos-jp/search.rb80
-rw-r--r--ext/tk/sample/demos-jp/spin.rb64
-rw-r--r--ext/tk/sample/demos-jp/square12
-rw-r--r--ext/tk/sample/demos-jp/states.rb43
-rw-r--r--ext/tk/sample/demos-jp/style.rb258
-rw-r--r--ext/tk/sample/demos-jp/tcolor51
-rw-r--r--ext/tk/sample/demos-jp/text.rb111
-rw-r--r--ext/tk/sample/demos-jp/textpeer.rb82
-rw-r--r--ext/tk/sample/demos-jp/timer2
-rw-r--r--ext/tk/sample/demos-jp/toolbar.rb136
-rw-r--r--ext/tk/sample/demos-jp/tree.rb120
-rw-r--r--ext/tk/sample/demos-jp/ttkbut.rb145
-rw-r--r--ext/tk/sample/demos-jp/ttkmenu.rb91
-rw-r--r--ext/tk/sample/demos-jp/ttknote.rb97
-rw-r--r--ext/tk/sample/demos-jp/ttkpane.rb216
-rw-r--r--ext/tk/sample/demos-jp/ttkprogress.rb71
-rw-r--r--ext/tk/sample/demos-jp/twind.rb143
-rw-r--r--ext/tk/sample/demos-jp/twind2.rb223
-rw-r--r--ext/tk/sample/demos-jp/unicodeout.rb86
-rw-r--r--ext/tk/sample/demos-jp/vscale.rb44
-rw-r--r--ext/tk/sample/demos-jp/widget619
-rw-r--r--ext/tk/sample/editable_listbox.rb135
-rw-r--r--ext/tk/sample/encstr_usage.rb9
-rw-r--r--ext/tk/sample/figmemo_sample.rb456
-rw-r--r--ext/tk/sample/irbtk.rb4
-rw-r--r--ext/tk/sample/irbtkw.rbw50
-rw-r--r--ext/tk/sample/menubar1.rb20
-rw-r--r--ext/tk/sample/menubar2.rb24
-rw-r--r--ext/tk/sample/menubar3.rb72
-rw-r--r--ext/tk/sample/msgs_rb/README4
-rw-r--r--ext/tk/sample/msgs_rb/es.msg2
-rw-r--r--ext/tk/sample/msgs_rb/ru.msg4
-rw-r--r--ext/tk/sample/msgs_rb2/README2
-rw-r--r--ext/tk/sample/msgs_rb2/ja.msg154
-rw-r--r--ext/tk/sample/msgs_tk/README4
-rw-r--r--ext/tk/sample/msgs_tk/el.msg2
-rw-r--r--ext/tk/sample/msgs_tk/es.msg2
-rw-r--r--ext/tk/sample/msgs_tk/license.terms2
-rw-r--r--ext/tk/sample/msgs_tk/ru.msg4
-rw-r--r--ext/tk/sample/multi-ip_sample.rb7
-rw-r--r--ext/tk/sample/multi-ip_sample2.rb2
-rw-r--r--ext/tk/sample/optobj_sample.rb30
-rw-r--r--ext/tk/sample/propagate.rb2
-rw-r--r--ext/tk/sample/remote-ip_sample.rb10
-rw-r--r--ext/tk/sample/remote-ip_sample2.rb20
-rw-r--r--ext/tk/sample/safe-tk.rb57
-rw-r--r--ext/tk/sample/scrollframe.rb30
-rw-r--r--ext/tk/sample/tcltklib/sample0.rb12
-rw-r--r--ext/tk/sample/tcltklib/sample1.rb304
-rw-r--r--ext/tk/sample/tcltklib/sample2.rb120
-rw-r--r--ext/tk/sample/tkalignbox.rb102
-rw-r--r--ext/tk/sample/tkballoonhelp.rb118
-rw-r--r--ext/tk/sample/tkbiff.rb6
-rw-r--r--ext/tk/sample/tkbrowse.rb2
-rw-r--r--ext/tk/sample/tkcombobox.rb133
-rw-r--r--ext/tk/sample/tkdialog.rb2
-rw-r--r--ext/tk/sample/tkextlib/ICONS/viewIcons.rb38
-rw-r--r--ext/tk/sample/tkextlib/blt/barchart5.rb22
-rw-r--r--ext/tk/sample/tkextlib/blt/calendar.rb54
-rw-r--r--ext/tk/sample/tkextlib/blt/graph6.rb4056
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7.rb8
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7a.rb10
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7b.rb8
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7c.rb8
-rw-r--r--ext/tk/sample/tkextlib/blt/pareto.rb34
-rw-r--r--ext/tk/sample/tkextlib/blt/plot1b.rb2
-rw-r--r--ext/tk/sample/tkextlib/blt/readme.txt2
-rw-r--r--ext/tk/sample/tkextlib/blt/winop1.rb8
-rw-r--r--ext/tk/sample/tkextlib/blt/winop2.rb2
-rw-r--r--ext/tk/sample/tkextlib/bwidget/Orig_LICENSE.txt12
-rw-r--r--ext/tk/sample/tkextlib/bwidget/basic.rb96
-rw-r--r--ext/tk/sample/tkextlib/bwidget/demo.rb84
-rw-r--r--ext/tk/sample/tkextlib/bwidget/dnd.rb16
-rw-r--r--ext/tk/sample/tkextlib/bwidget/manager.rb28
-rw-r--r--ext/tk/sample/tkextlib/bwidget/select.rb56
-rw-r--r--ext/tk/sample/tkextlib/bwidget/tmpldlg.rb162
-rw-r--r--ext/tk/sample/tkextlib/bwidget/tree.rb96
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/catalog_demo/Orig_LICENSE.txt24
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb8
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb8
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb12
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb16
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb10
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb12
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb16
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb4
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb36
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb66
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb12
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb6
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb6
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb8
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb4
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb4
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb4
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb6
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb4
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/shell.rb8
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb8
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb2
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb32
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/watch.rb2
-rw-r--r--ext/tk/sample/tkextlib/tcllib/Orig_LICENSE.txt8
-rw-r--r--ext/tk/sample/tkextlib/tcllib/datefield.rb4
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos1.rb22
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos2.rb8
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos3.rb20
-rw-r--r--ext/tk/sample/tkextlib/tcllib/xyplot.rb2
-rw-r--r--ext/tk/sample/tkextlib/tile/demo.rb213
-rw-r--r--ext/tk/sample/tkextlib/tile/readme.txt4
-rw-r--r--ext/tk/sample/tkextlib/tile/repeater.tcl10
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl8
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/blue/pkgIndex.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl28
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc.rb122
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl38
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/toolbutton.tcl34
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/README6
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/hv.rb48
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/page1/index.html2
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/page2/index.html48
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/page3/index.html38
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/ss.rb82
-rw-r--r--ext/tk/sample/tkextlib/tkimg/demo.rb10
-rw-r--r--ext/tk/sample/tkextlib/tkimg/license_terms_of_Img_extension4
-rw-r--r--ext/tk/sample/tkextlib/tkimg/readme.txt2
-rw-r--r--ext/tk/sample/tkextlib/tktable/Orig_LICENSE.txt4
-rw-r--r--ext/tk/sample/tkextlib/tktable/basic.rb14
-rw-r--r--ext/tk/sample/tkextlib/tktable/buttons.rb12
-rw-r--r--ext/tk/sample/tkextlib/tktable/command.rb22
-rw-r--r--ext/tk/sample/tkextlib/tktable/debug.rb16
-rw-r--r--ext/tk/sample/tkextlib/tktable/dynarows.rb14
-rw-r--r--ext/tk/sample/tkextlib/tktable/maxsize.rb14
-rw-r--r--ext/tk/sample/tkextlib/tktable/spreadsheet.rb16
-rwxr-xr-x[-rw-r--r--]ext/tk/sample/tkextlib/tktable/tcllogo.gifbin2341 -> 2341 bytes-rw-r--r--ext/tk/sample/tkextlib/tktable/valid.rb12
-rw-r--r--ext/tk/sample/tkextlib/treectrl/bitmaps.rb32
-rw-r--r--ext/tk/sample/tkextlib/treectrl/demo.rb349
-rw-r--r--ext/tk/sample/tkextlib/treectrl/explorer.rb126
-rw-r--r--ext/tk/sample/tkextlib/treectrl/help.rb106
-rw-r--r--ext/tk/sample/tkextlib/treectrl/imovie.rb30
-rw-r--r--ext/tk/sample/tkextlib/treectrl/layout.rb26
-rw-r--r--ext/tk/sample/tkextlib/treectrl/mailwasher.rb100
-rw-r--r--ext/tk/sample/tkextlib/treectrl/outlook-folders.rb52
-rw-r--r--ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb102
-rw-r--r--ext/tk/sample/tkextlib/treectrl/random.rb68
-rw-r--r--ext/tk/sample/tkextlib/treectrl/readme.txt2
-rw-r--r--ext/tk/sample/tkextlib/treectrl/www-options.rb72
-rw-r--r--ext/tk/sample/tkextlib/vu/Orig_LICENSE.txt4
-rw-r--r--ext/tk/sample/tkextlib/vu/canvItems.rb68
-rw-r--r--ext/tk/sample/tkextlib/vu/canvSticker.rb4
-rw-r--r--ext/tk/sample/tkextlib/vu/canvSticker2.rb16
-rw-r--r--ext/tk/sample/tkextlib/vu/dial_demo.rb62
-rw-r--r--ext/tk/sample/tkextlib/vu/oscilloscope.rb16
-rw-r--r--ext/tk/sample/tkextlib/vu/pie.rb10
-rw-r--r--ext/tk/sample/tkextlib/vu/vu_demo.rb14
-rw-r--r--ext/tk/sample/tkfrom.rb2
-rw-r--r--ext/tk/sample/tkhello.rb2
-rw-r--r--ext/tk/sample/tkmenubutton.rb56
-rw-r--r--ext/tk/sample/tkmsgcat-load_rb.rb16
-rw-r--r--ext/tk/sample/tkmsgcat-load_rb2.rb16
-rw-r--r--ext/tk/sample/tkmsgcat-load_tk.rb22
-rw-r--r--ext/tk/sample/tkmulticolumnlist.rb114
-rw-r--r--ext/tk/sample/tkmultilistbox.rb96
-rw-r--r--ext/tk/sample/tkmultilistframe.rb168
-rw-r--r--ext/tk/sample/tkoptdb-safeTk.rb30
-rw-r--r--ext/tk/sample/tkoptdb.rb34
-rw-r--r--ext/tk/sample/tkrttimer.rb17
-rw-r--r--ext/tk/sample/tksleep_sample.rb29
-rw-r--r--ext/tk/sample/tktextframe.rb267
-rw-r--r--ext/tk/sample/tktextio.rb66
-rw-r--r--ext/tk/sample/tktimer2.rb8
-rw-r--r--ext/tk/sample/tktimer3.rb8
-rw-r--r--ext/tk/sample/tktree.rb26
-rw-r--r--ext/tk/sample/ttk_wrapper.rb154
-rw-r--r--ext/tk/stubs.c134
-rw-r--r--ext/tk/tcltklib.c4537
-rw-r--r--ext/tk/tkutil/.cvsignore3
-rw-r--r--ext/tk/tkutil/extconf.rb7
-rw-r--r--ext/tk/tkutil/tkutil.c887
-rw-r--r--ext/win32/extconf.rb3
-rw-r--r--ext/win32/lib/Win32API.rb31
-rw-r--r--ext/win32/lib/win32/importer.rb14
-rw-r--r--ext/win32/lib/win32/registry.rb898
-rw-r--r--ext/win32/lib/win32/resolv.rb378
-rw-r--r--ext/win32/lib/win32/sspi.rb330
-rw-r--r--ext/win32ole/.cvsignore4
-rw-r--r--ext/win32ole/depend2
-rw-r--r--ext/win32ole/doc/win32ole.rd294
-rw-r--r--ext/win32ole/extconf.rb41
-rw-r--r--ext/win32ole/sample/excel1.rb15
-rw-r--r--ext/win32ole/sample/excel2.rb10
-rw-r--r--ext/win32ole/sample/ieconst.rb2
-rw-r--r--ext/win32ole/sample/ienavi.rb2
-rw-r--r--ext/win32ole/sample/ienavi2.rb40
-rw-r--r--ext/win32ole/sample/oledirs.rb2
-rw-r--r--ext/win32ole/sample/olegen.rb33
-rw-r--r--ext/win32ole/sample/xml.rb36
-rw-r--r--ext/win32ole/tests/oleserver.rb10
-rw-r--r--ext/win32ole/tests/testNIL2VTEMPTY.rb28
-rw-r--r--ext/win32ole/tests/testOLEEVENT.rb91
-rw-r--r--ext/win32ole/tests/testOLEMETHOD.rb92
-rw-r--r--ext/win32ole/tests/testOLEPARAM.rb65
-rw-r--r--ext/win32ole/tests/testOLETYPE.rb96
-rw-r--r--ext/win32ole/tests/testOLEVARIABLE.rb49
-rw-r--r--ext/win32ole/tests/testVARIANT.rb32
-rw-r--r--ext/win32ole/tests/testWIN32OLE.rb372
-rw-r--r--ext/win32ole/tests/test_ole_methods.rb36
-rw-r--r--ext/win32ole/tests/test_propertyputref.rb19
-rw-r--r--ext/win32ole/tests/test_word.rb37
-rw-r--r--ext/win32ole/tests/testall.rb15
-rw-r--r--ext/win32ole/win32ole.c6228
-rw-r--r--ext/zlib/.cvsignore3
-rw-r--r--ext/zlib/depend5
-rw-r--r--ext/zlib/doc/zlib.rd911
-rw-r--r--ext/zlib/extconf.rb15
-rw-r--r--ext/zlib/zlib.c2881
-rw-r--r--file.c4371
-rw-r--r--gc.c8151
-rw-r--r--gc.h101
-rw-r--r--gem_prelude.rb1
-rw-r--r--golf_prelude.rb123
-rw-r--r--goruby.c58
-rw-r--r--hash.c3324
-rw-r--r--ia64.s11
-rw-r--r--include/ruby.h35
-rw-r--r--include/ruby/backward/classext.h18
-rw-r--r--include/ruby/backward/rubyio.h6
-rw-r--r--include/ruby/backward/rubysig.h52
-rw-r--r--include/ruby/backward/st.h6
-rw-r--r--include/ruby/backward/util.h6
-rw-r--r--include/ruby/debug.h110
-rw-r--r--include/ruby/defines.h324
-rw-r--r--include/ruby/encoding.h363
-rw-r--r--include/ruby/intern.h959
-rw-r--r--include/ruby/io.h214
-rw-r--r--include/ruby/missing.h244
-rw-r--r--include/ruby/oniguruma.h837
-rw-r--r--include/ruby/re.h71
-rw-r--r--include/ruby/regex.h46
-rw-r--r--include/ruby/ruby.h1872
-rw-r--r--include/ruby/st.h154
-rw-r--r--include/ruby/subst.h19
-rw-r--r--include/ruby/thread.h45
-rw-r--r--include/ruby/util.h95
-rw-r--r--include/ruby/version.h74
-rw-r--r--include/ruby/vm.h64
-rw-r--r--include/ruby/win32.h837
-rw-r--r--inits.c119
-rw-r--r--insns.def2173
-rw-r--r--install-sh (renamed from lib/rdoc/generator/template/darkfish/.document)0
-rwxr-xr-xinstruby.rb355
-rw-r--r--intern.h505
-rw-r--r--internal.h892
-rw-r--r--io.c12206
-rw-r--r--iseq.c2322
-rw-r--r--iseq.h136
-rw-r--r--keywords42
-rw-r--r--lex.c136
-rw-r--r--lex.c.blt219
-rw-r--r--lib/.document106
-rw-r--r--lib/English.rb52
-rw-r--r--lib/Env.rb18
-rw-r--r--lib/README96
-rw-r--r--[-rwxr-xr-x]lib/abbrev.rb107
-rw-r--r--lib/base64.rb142
-rw-r--r--lib/benchmark.rb453
-rw-r--r--lib/cgi-lib.rb272
-rw-r--r--lib/cgi.rb2209
-rw-r--r--lib/cgi/.document2
-rw-r--r--lib/cgi/cookie.rb170
-rw-r--r--lib/cgi/core.rb859
-rw-r--r--lib/cgi/html.rb1034
-rw-r--r--lib/cgi/session.rb291
-rw-r--r--lib/cgi/session/pstore.rb60
-rw-r--r--lib/cgi/util.rb202
-rw-r--r--lib/cmath.rb400
-rw-r--r--lib/complex.rb633
-rw-r--r--lib/csv.rb3027
-rw-r--r--lib/date.rb1708
-rw-r--r--lib/date/format.rb1088
-rw-r--r--lib/date2.rb5
-rw-r--r--lib/debug.rb1706
-rw-r--r--lib/delegate.rb534
-rw-r--r--lib/drb/acl.rb152
-rw-r--r--lib/drb/drb.rb674
-rw-r--r--lib/drb/eq.rb4
-rw-r--r--lib/drb/extserv.rb23
-rw-r--r--lib/drb/extservm.rb71
-rw-r--r--lib/drb/gw.rb42
-rw-r--r--lib/drb/invokemethod.rb14
-rw-r--r--lib/drb/observer.rb23
-rw-r--r--lib/drb/ssl.rb340
-rw-r--r--lib/drb/timeridconv.rb96
-rw-r--r--lib/drb/unix.rb57
-rw-r--r--lib/e2mmap.rb127
-rw-r--r--lib/erb.rb881
-rw-r--r--lib/eregex.rb37
-rw-r--r--lib/fileutils.rb575
-rw-r--r--lib/finalize.rb193
-rw-r--r--lib/find.rb59
-rw-r--r--lib/forwardable.rb305
-rw-r--r--lib/ftools.rb261
-rw-r--r--lib/generator.rb380
-rw-r--r--lib/getoptlong.rb297
-rw-r--r--lib/getopts.rb127
-rw-r--r--lib/gserver.rb97
-rw-r--r--lib/importenv.rb33
-rw-r--r--lib/ipaddr.rb525
-rw-r--r--lib/irb.rb680
-rw-r--r--lib/irb/cmd/chws.rb10
-rw-r--r--lib/irb/cmd/fork.rb16
-rw-r--r--lib/irb/cmd/help.rb25
-rw-r--r--lib/irb/cmd/load.rb13
-rw-r--r--lib/irb/cmd/nop.rb12
-rw-r--r--lib/irb/cmd/pushws.rb9
-rw-r--r--lib/irb/cmd/subirb.rb11
-rw-r--r--lib/irb/completion.rb170
-rw-r--r--lib/irb/context.rb225
-rw-r--r--lib/irb/ext/change-ws.rb25
-rw-r--r--lib/irb/ext/history.rb26
-rw-r--r--lib/irb/ext/loader.rb30
-rw-r--r--lib/irb/ext/math-mode.rb20
-rw-r--r--lib/irb/ext/multi-irb.rb89
-rw-r--r--lib/irb/ext/save-history.rb95
-rw-r--r--lib/irb/ext/tracer.rb22
-rw-r--r--lib/irb/ext/use-loader.rb18
-rw-r--r--lib/irb/ext/workspaces.rb20
-rw-r--r--lib/irb/extend-command.rb124
-rw-r--r--lib/irb/frame.rb21
-rw-r--r--lib/irb/help.rb35
-rw-r--r--lib/irb/init.rb101
-rw-r--r--lib/irb/input-method.rb115
-rw-r--r--lib/irb/inspector.rb145
-rw-r--r--lib/irb/lc/.document4
-rw-r--r--lib/irb/lc/error.rb13
-rw-r--r--lib/irb/lc/help-message43
-rw-r--r--lib/irb/lc/ja/encoding_aliases.rb10
-rw-r--r--lib/irb/lc/ja/error.rb33
-rw-r--r--lib/irb/lc/ja/help-message71
-rw-r--r--lib/irb/locale.rb162
-rw-r--r--lib/irb/magic-file.rb37
-rw-r--r--lib/irb/notifier.rb116
-rw-r--r--lib/irb/output-method.rb68
-rw-r--r--lib/irb/ruby-lex.rb218
-rw-r--r--lib/irb/ruby-token.rb30
-rw-r--r--lib/irb/slex.rb49
-rw-r--r--lib/irb/src_encoding.rb4
-rw-r--r--lib/irb/version.rb11
-rw-r--r--lib/irb/workspace.rb37
-rw-r--r--lib/irb/ws-for-case-2.rb9
-rw-r--r--lib/irb/xmp.rb91
-rw-r--r--lib/jcode.rb220
-rw-r--r--lib/logger.rb413
-rw-r--r--lib/mailread.rb62
-rw-r--r--lib/mathn.rb432
-rw-r--r--lib/matrix.rb1781
-rw-r--r--lib/matrix/eigenvalue_decomposition.rb882
-rw-r--r--lib/matrix/lup_decomposition.rb218
-rw-r--r--lib/minitest/.document2
-rw-r--r--lib/minitest/README.txt457
-rw-r--r--lib/minitest/autorun.rb19
-rw-r--r--lib/minitest/benchmark.rb423
-rw-r--r--lib/minitest/hell.rb20
-rw-r--r--lib/minitest/mock.rb200
-rw-r--r--lib/minitest/parallel_each.rb80
-rw-r--r--lib/minitest/pride.rb119
-rw-r--r--lib/minitest/spec.rb551
-rw-r--r--lib/minitest/unit.rb1422
-rw-r--r--lib/mkmf.rb3513
-rw-r--r--lib/monitor.rb357
-rw-r--r--lib/mutex_m.rb129
-rw-r--r--lib/net/ftp.rb915
-rw-r--r--lib/net/http.rb2642
-rw-r--r--lib/net/http/backward.rb25
-rw-r--r--lib/net/http/exceptions.rb25
-rw-r--r--lib/net/http/generic_request.rb329
-rw-r--r--lib/net/http/header.rb452
-rw-r--r--lib/net/http/proxy_delta.rb16
-rw-r--r--lib/net/http/request.rb20
-rw-r--r--lib/net/http/requests.rb122
-rw-r--r--lib/net/http/response.rb405
-rw-r--r--lib/net/http/responses.rb271
-rw-r--r--lib/net/https.rb163
-rw-r--r--lib/net/imap.rb1232
-rw-r--r--lib/net/pop.rb370
-rw-r--r--lib/net/protocol.rb74
-rw-r--r--lib/net/smtp.rb831
-rw-r--r--lib/net/telnet.rb273
-rw-r--r--lib/observer.rb107
-rw-r--r--lib/open-uri.rb447
-rw-r--r--lib/open3.rb664
-rw-r--r--lib/optparse.rb418
-rw-r--r--lib/optparse/ac.rb50
-rw-r--r--lib/optparse/version.rb10
-rw-r--r--lib/ostruct.rb244
-rw-r--r--lib/parsearg.rb87
-rw-r--r--lib/parsedate.rb53
-rw-r--r--lib/pathname.rb1062
-rw-r--r--lib/ping.rb64
-rw-r--r--lib/pp.rb467
-rw-r--r--lib/prettyprint.rb756
-rw-r--r--lib/prime.rb490
-rw-r--r--lib/profile.rb4
-rw-r--r--lib/profiler.rb157
-rw-r--r--lib/pstore.rb373
-rw-r--r--lib/racc/parser.rb286
-rw-r--r--lib/racc/rdoc/grammar.en.rdoc219
-rw-r--r--lib/rake.rb73
-rw-r--r--lib/rake/alt_system.rb108
-rw-r--r--lib/rake/application.rb728
-rw-r--r--lib/rake/backtrace.rb20
-rw-r--r--lib/rake/clean.rb55
-rw-r--r--lib/rake/cloneable.rb16
-rw-r--r--lib/rake/contrib/compositepublisher.rb21
-rw-r--r--lib/rake/contrib/ftptools.rb139
-rw-r--r--lib/rake/contrib/publisher.rb73
-rw-r--r--lib/rake/contrib/rubyforgepublisher.rb16
-rw-r--r--lib/rake/contrib/sshpublisher.rb50
-rw-r--r--lib/rake/contrib/sys.rb2
-rw-r--r--lib/rake/default_loader.rb10
-rw-r--r--lib/rake/dsl_definition.rb157
-rw-r--r--lib/rake/early_time.rb18
-rw-r--r--lib/rake/ext/core.rb28
-rw-r--r--lib/rake/ext/module.rb1
-rw-r--r--lib/rake/ext/string.rb166
-rw-r--r--lib/rake/ext/time.rb15
-rw-r--r--lib/rake/file_creation_task.rb24
-rw-r--r--lib/rake/file_list.rb416
-rw-r--r--lib/rake/file_task.rb46
-rw-r--r--lib/rake/file_utils.rb116
-rw-r--r--lib/rake/file_utils_ext.rb144
-rw-r--r--lib/rake/gempackagetask.rb2
-rw-r--r--lib/rake/invocation_chain.rb57
-rw-r--r--lib/rake/invocation_exception_mixin.rb16
-rw-r--r--lib/rake/lib/.document1
-rw-r--r--lib/rake/lib/project.rake21
-rw-r--r--lib/rake/linked_list.rb103
-rw-r--r--lib/rake/loaders/makefile.rb40
-rw-r--r--lib/rake/multi_task.rb13
-rw-r--r--lib/rake/name_space.rb25
-rw-r--r--lib/rake/packagetask.rb190
-rw-r--r--lib/rake/pathmap.rb1
-rw-r--r--lib/rake/phony.rb15
-rw-r--r--lib/rake/private_reader.rb20
-rw-r--r--lib/rake/promise.rb99
-rw-r--r--lib/rake/pseudo_status.rb29
-rw-r--r--lib/rake/rake_module.rb37
-rw-r--r--lib/rake/rake_test_loader.rb22
-rw-r--r--lib/rake/rdoctask.rb2
-rw-r--r--lib/rake/ruby182_test_unit_fix.rb27
-rw-r--r--lib/rake/rule_recursion_overflow_error.rb20
-rw-r--r--lib/rake/runtest.rb22
-rw-r--r--lib/rake/scope.rb42
-rw-r--r--lib/rake/task.rb378
-rw-r--r--lib/rake/task_argument_error.rb7
-rw-r--r--lib/rake/task_arguments.rb89
-rw-r--r--lib/rake/task_manager.rb297
-rw-r--r--lib/rake/tasklib.rb22
-rw-r--r--lib/rake/testtask.rb201
-rw-r--r--lib/rake/thread_history_display.rb48
-rw-r--r--lib/rake/thread_pool.rb161
-rw-r--r--lib/rake/trace_output.rb22
-rw-r--r--lib/rake/version.rb9
-rw-r--r--lib/rake/win32.rb56
-rw-r--r--lib/rational.rb525
-rw-r--r--lib/rbconfig/.document1
-rw-r--r--lib/rbconfig/datadir.rb13
-rw-r--r--lib/rbconfig/obsolete.rb38
-rw-r--r--lib/rdoc.rb183
-rw-r--r--lib/rdoc/README489
-rw-r--r--lib/rdoc/alias.rb111
-rw-r--r--lib/rdoc/anon_class.rb10
-rw-r--r--lib/rdoc/any_method.rb308
-rw-r--r--lib/rdoc/attr.rb175
-rw-r--r--lib/rdoc/class_module.rb799
-rw-r--r--lib/rdoc/code_object.rb429
-rw-r--r--lib/rdoc/code_objects.rb766
-rw-r--r--lib/rdoc/comment.rb229
-rw-r--r--lib/rdoc/constant.rb186
-rw-r--r--lib/rdoc/context.rb1208
-rw-r--r--lib/rdoc/context/section.rb238
-rw-r--r--lib/rdoc/cross_reference.rb183
-rw-r--r--lib/rdoc/diagram.rb335
-rw-r--r--lib/rdoc/dot/dot.rb255
-rw-r--r--lib/rdoc/encoding.rb97
-rw-r--r--lib/rdoc/erb_partial.rb18
-rw-r--r--lib/rdoc/erbio.rb37
-rw-r--r--lib/rdoc/extend.rb9
-rw-r--r--lib/rdoc/generator.rb50
-rw-r--r--lib/rdoc/generator/darkfish.rb759
-rw-r--r--lib/rdoc/generator/json_index.rb248
-rw-r--r--lib/rdoc/generator/markup.rb169
-rw-r--r--lib/rdoc/generator/ri.rb30
-rw-r--r--lib/rdoc/generator/template/darkfish/_footer.rhtml5
-rw-r--r--lib/rdoc/generator/template/darkfish/_head.rhtml22
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml19
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml9
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml15
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml9
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml15
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml15
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml12
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml11
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml12
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml11
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml14
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml11
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml18
-rw-r--r--lib/rdoc/generator/template/darkfish/class.rhtml174
-rw-r--r--lib/rdoc/generator/template/darkfish/fonts.css167
-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttfbin94668 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttfbin94196 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttfbin96184 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttfbin95316 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttfbin71200 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttfbin71692 -> 0 bytes-rwxr-xr-xlib/rdoc/generator/template/darkfish/images/add.pngbin733 -> 0 bytes-rwxr-xr-xlib/rdoc/generator/template/darkfish/images/arrow_up.pngbin372 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/brick.pngbin452 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/brick_link.pngbin764 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bug.pngbin774 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bullet_black.pngbin211 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.pngbin207 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.pngbin209 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/date.pngbin626 -> 0 bytes-rwxr-xr-xlib/rdoc/generator/template/darkfish/images/delete.pngbin715 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/find.pngbin659 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/loadingAnimation.gifbin5886 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/macFFBgHack.pngbin207 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/package.pngbin853 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/page_green.pngbin621 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/page_white_text.pngbin342 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/page_white_width.pngbin309 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/plugin.pngbin591 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/ruby.pngbin592 -> 0 bytes-rwxr-xr-xlib/rdoc/generator/template/darkfish/images/tag_blue.pngbin1880 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/tag_green.pngbin613 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/transparent.pngbin97 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/wrench.pngbin610 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/wrench_orange.pngbin584 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/zoom.pngbin692 -> 0 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/index.rhtml23
-rw-r--r--lib/rdoc/generator/template/darkfish/js/darkfish.js140
-rw-r--r--lib/rdoc/generator/template/darkfish/js/jquery.js4
-rw-r--r--lib/rdoc/generator/template/darkfish/js/search.js109
-rw-r--r--lib/rdoc/generator/template/darkfish/page.rhtml18
-rw-r--r--lib/rdoc/generator/template/darkfish/rdoc.css580
-rw-r--r--lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml18
-rw-r--r--lib/rdoc/generator/template/darkfish/servlet_root.rhtml63
-rw-r--r--lib/rdoc/generator/template/darkfish/table_of_contents.rhtml58
-rw-r--r--lib/rdoc/generator/template/json_index/.document1
-rw-r--r--lib/rdoc/generator/template/json_index/js/navigation.js142
-rw-r--r--lib/rdoc/generator/template/json_index/js/searcher.js228
-rw-r--r--lib/rdoc/generators/chm_generator.rb112
-rw-r--r--lib/rdoc/generators/html_generator.rb1509
-rw-r--r--lib/rdoc/generators/ri_generator.rb268
-rw-r--r--lib/rdoc/generators/template/chm/chm.rb87
-rw-r--r--lib/rdoc/generators/template/html/hefss.rb418
-rw-r--r--lib/rdoc/generators/template/html/html.rb711
-rw-r--r--lib/rdoc/generators/template/html/kilmer.rb435
-rw-r--r--lib/rdoc/generators/template/html/old_html.rb728
-rw-r--r--lib/rdoc/generators/template/html/one_page_html.rb122
-rw-r--r--lib/rdoc/generators/template/xml/rdf.rb112
-rw-r--r--lib/rdoc/generators/template/xml/xml.rb112
-rw-r--r--lib/rdoc/generators/xml_generator.rb130
-rw-r--r--lib/rdoc/ghost_method.rb6
-rw-r--r--lib/rdoc/include.rb9
-rw-r--r--lib/rdoc/known_classes.rb73
-rw-r--r--lib/rdoc/markdown.rb15961
-rw-r--r--lib/rdoc/markdown/entities.rb2131
-rw-r--r--lib/rdoc/markdown/literals_1_9.rb420
-rw-r--r--lib/rdoc/markup.rb869
-rw-r--r--lib/rdoc/markup/.document2
-rw-r--r--lib/rdoc/markup/attr_changer.rb22
-rw-r--r--lib/rdoc/markup/attr_span.rb29
-rw-r--r--lib/rdoc/markup/attribute_manager.rb343
-rw-r--r--lib/rdoc/markup/attributes.rb70
-rw-r--r--lib/rdoc/markup/blank_line.rb27
-rw-r--r--lib/rdoc/markup/block_quote.rb14
-rw-r--r--lib/rdoc/markup/document.rb164
-rw-r--r--lib/rdoc/markup/formatter.rb264
-rw-r--r--lib/rdoc/markup/formatter_test_case.rb767
-rw-r--r--lib/rdoc/markup/hard_break.rb31
-rw-r--r--lib/rdoc/markup/heading.rb78
-rw-r--r--lib/rdoc/markup/include.rb42
-rw-r--r--lib/rdoc/markup/indented_paragraph.rb47
-rw-r--r--lib/rdoc/markup/inline.rb1
-rw-r--r--lib/rdoc/markup/list.rb101
-rw-r--r--lib/rdoc/markup/list_item.rb99
-rw-r--r--lib/rdoc/markup/paragraph.rb28
-rw-r--r--lib/rdoc/markup/parser.rb558
-rw-r--r--lib/rdoc/markup/pre_process.rb293
-rw-r--r--lib/rdoc/markup/raw.rb69
-rw-r--r--lib/rdoc/markup/rule.rb20
-rw-r--r--lib/rdoc/markup/sample/rdoc2latex.rb16
-rw-r--r--lib/rdoc/markup/sample/sample.rb42
-rw-r--r--lib/rdoc/markup/simple_markup.rb476
-rw-r--r--lib/rdoc/markup/simple_markup/fragments.rb328
-rw-r--r--lib/rdoc/markup/simple_markup/inline.rb340
-rw-r--r--lib/rdoc/markup/simple_markup/lines.rb151
-rw-r--r--lib/rdoc/markup/simple_markup/preprocess.rb73
-rw-r--r--lib/rdoc/markup/simple_markup/to_flow.rb188
-rw-r--r--lib/rdoc/markup/simple_markup/to_html.rb289
-rw-r--r--lib/rdoc/markup/simple_markup/to_latex.rb333
-rw-r--r--lib/rdoc/markup/special.rb40
-rw-r--r--lib/rdoc/markup/test/AllTests.rb2
-rw-r--r--lib/rdoc/markup/test/TestInline.rb154
-rw-r--r--lib/rdoc/markup/test/TestParse.rb503
-rw-r--r--lib/rdoc/markup/text_formatter_test_case.rb114
-rw-r--r--lib/rdoc/markup/to_ansi.rb93
-rw-r--r--lib/rdoc/markup/to_bs.rb78
-rw-r--r--lib/rdoc/markup/to_html.rb397
-rw-r--r--lib/rdoc/markup/to_html_crossref.rb160
-rw-r--r--lib/rdoc/markup/to_html_snippet.rb284
-rw-r--r--lib/rdoc/markup/to_joined_paragraph.rb71
-rw-r--r--lib/rdoc/markup/to_label.rb74
-rw-r--r--lib/rdoc/markup/to_markdown.rb191
-rw-r--r--lib/rdoc/markup/to_rdoc.rb333
-rw-r--r--lib/rdoc/markup/to_table_of_contents.rb87
-rw-r--r--lib/rdoc/markup/to_test.rb69
-rw-r--r--lib/rdoc/markup/to_tt_only.rb120
-rw-r--r--lib/rdoc/markup/verbatim.rb83
-rw-r--r--lib/rdoc/meta_method.rb6
-rw-r--r--lib/rdoc/method_attr.rb410
-rw-r--r--lib/rdoc/mixin.rb120
-rw-r--r--lib/rdoc/normal_class.rb92
-rw-r--r--lib/rdoc/normal_module.rb73
-rw-r--r--lib/rdoc/options.rb1611
-rw-r--r--lib/rdoc/parser.rb310
-rw-r--r--lib/rdoc/parser/c.rb1229
-rw-r--r--lib/rdoc/parser/changelog.rb194
-rw-r--r--lib/rdoc/parser/markdown.rb23
-rw-r--r--lib/rdoc/parser/rd.rb22
-rw-r--r--lib/rdoc/parser/ruby.rb2160
-rw-r--r--lib/rdoc/parser/ruby_tools.rb167
-rw-r--r--lib/rdoc/parser/simple.rb61
-rw-r--r--lib/rdoc/parser/text.rb11
-rw-r--r--lib/rdoc/parsers/parse_c.rb773
-rw-r--r--lib/rdoc/parsers/parse_f95.rb1841
-rw-r--r--lib/rdoc/parsers/parse_rb.rb2605
-rw-r--r--lib/rdoc/parsers/parse_simple.rb41
-rw-r--r--lib/rdoc/parsers/parserfactory.rb99
-rw-r--r--lib/rdoc/rd.rb99
-rw-r--r--lib/rdoc/rd/block_parser.rb1055
-rw-r--r--lib/rdoc/rd/inline.rb71
-rw-r--r--lib/rdoc/rd/inline_parser.rb1207
-rw-r--r--lib/rdoc/rdoc.rb724
-rw-r--r--lib/rdoc/require.rb51
-rw-r--r--lib/rdoc/ri.rb20
-rw-r--r--lib/rdoc/ri/driver.rb1497
-rw-r--r--lib/rdoc/ri/formatter.rb5
-rw-r--r--lib/rdoc/ri/paths.rb187
-rw-r--r--lib/rdoc/ri/ri_cache.rb187
-rw-r--r--lib/rdoc/ri/ri_descriptions.rb154
-rw-r--r--lib/rdoc/ri/ri_display.rb255
-rw-r--r--lib/rdoc/ri/ri_driver.rb143
-rw-r--r--lib/rdoc/ri/ri_formatter.rb672
-rw-r--r--lib/rdoc/ri/ri_options.rb313
-rw-r--r--lib/rdoc/ri/ri_paths.rb80
-rw-r--r--lib/rdoc/ri/ri_reader.rb100
-rw-r--r--lib/rdoc/ri/ri_util.rb75
-rw-r--r--lib/rdoc/ri/ri_writer.rb62
-rw-r--r--lib/rdoc/ri/store.rb6
-rw-r--r--lib/rdoc/ruby_lex.rb1377
-rw-r--r--lib/rdoc/ruby_token.rb460
-rw-r--r--lib/rdoc/rubygems_hook.rb247
-rw-r--r--lib/rdoc/servlet.rb441
-rw-r--r--lib/rdoc/single_class.rb21
-rw-r--r--lib/rdoc/stats.rb457
-rw-r--r--lib/rdoc/stats/normal.rb48
-rw-r--r--lib/rdoc/stats/quiet.rb59
-rw-r--r--lib/rdoc/stats/verbose.rb45
-rw-r--r--lib/rdoc/store.rb979
-rw-r--r--lib/rdoc/task.rb330
-rw-r--r--lib/rdoc/template.rb234
-rw-r--r--lib/rdoc/test_case.rb217
-rw-r--r--lib/rdoc/text.rb315
-rw-r--r--lib/rdoc/token_stream.rb95
-rw-r--r--lib/rdoc/tokenstream.rb25
-rw-r--r--lib/rdoc/tom_doc.rb257
-rw-r--r--lib/rdoc/top_level.rb282
-rw-r--r--lib/rdoc/usage.rb210
-rw-r--r--lib/readbytes.rb41
-rw-r--r--lib/resolv-replace.rb24
-rw-r--r--lib/resolv.rb1900
-rw-r--r--lib/rexml/attlistdecl.rb112
-rw-r--r--lib/rexml/attribute.rb310
-rw-r--r--lib/rexml/cdata.rb115
-rw-r--r--lib/rexml/child.rb164
-rw-r--r--lib/rexml/comment.rb122
-rw-r--r--lib/rexml/doctype.rb73
-rw-r--r--lib/rexml/document.rb389
-rw-r--r--lib/rexml/dtd/attlistdecl.rb14
-rw-r--r--lib/rexml/dtd/dtd.rb82
-rw-r--r--lib/rexml/dtd/elementdecl.rb26
-rw-r--r--lib/rexml/dtd/entitydecl.rb98
-rw-r--r--lib/rexml/dtd/notationdecl.rb64
-rw-r--r--lib/rexml/element.rb2303
-rw-r--r--lib/rexml/encoding.rb92
-rw-r--r--lib/rexml/encodings/CP-1252.rb98
-rw-r--r--lib/rexml/encodings/EUC-JP.rb35
-rw-r--r--lib/rexml/encodings/ICONV.rb22
-rw-r--r--lib/rexml/encodings/ISO-8859-1.rb7
-rw-r--r--lib/rexml/encodings/ISO-8859-15.rb69
-rw-r--r--lib/rexml/encodings/SHIFT-JIS.rb37
-rw-r--r--lib/rexml/encodings/SHIFT_JIS.rb1
-rw-r--r--lib/rexml/encodings/UNILE.rb34
-rw-r--r--lib/rexml/encodings/US-ASCII.rb30
-rw-r--r--lib/rexml/encodings/UTF-16.rb35
-rw-r--r--lib/rexml/encodings/UTF-8.rb18
-rw-r--r--lib/rexml/entity.rb300
-rw-r--r--lib/rexml/formatters/default.rb111
-rw-r--r--lib/rexml/formatters/pretty.rb141
-rw-r--r--lib/rexml/formatters/transitive.rb57
-rw-r--r--lib/rexml/functions.rb57
-rw-r--r--lib/rexml/instruction.rb102
-rw-r--r--lib/rexml/light/node.rb381
-rw-r--r--lib/rexml/namespace.rb78
-rw-r--r--lib/rexml/node.rb93
-rw-r--r--lib/rexml/output.rb29
-rw-r--r--lib/rexml/parent.rb51
-rw-r--r--lib/rexml/parseexception.rb8
-rw-r--r--lib/rexml/parsers/baseparser.rb197
-rw-r--r--lib/rexml/parsers/lightparser.rb84
-rw-r--r--lib/rexml/parsers/pullparser.rb2
-rw-r--r--lib/rexml/parsers/sax2parser.rb433
-rw-r--r--lib/rexml/parsers/streamparser.rb10
-rw-r--r--lib/rexml/parsers/treeparser.rb17
-rw-r--r--lib/rexml/parsers/ultralightparser.rb80
-rw-r--r--lib/rexml/parsers/xpathparser.rb103
-rw-r--r--lib/rexml/quickpath.rb495
-rw-r--r--lib/rexml/rexml.rb20
-rw-r--r--lib/rexml/sax2listener.rb184
-rw-r--r--lib/rexml/security.rb27
-rw-r--r--lib/rexml/source.rb452
-rw-r--r--lib/rexml/streamlistener.rb180
-rw-r--r--lib/rexml/syncenumerator.rb7
-rw-r--r--lib/rexml/text.rb254
-rw-r--r--lib/rexml/undefinednamespaceexception.rb8
-rw-r--r--lib/rexml/validation/relaxng.rb36
-rw-r--r--lib/rexml/validation/validation.rb10
-rw-r--r--lib/rexml/xmldecl.rb131
-rw-r--r--lib/rexml/xmltokens.rb28
-rw-r--r--lib/rexml/xpath.rb120
-rw-r--r--lib/rexml/xpath_parser.rb108
-rw-r--r--lib/rinda/rinda.rb68
-rw-r--r--lib/rinda/ring.rb341
-rw-r--r--lib/rinda/tuplespace.rb129
-rw-r--r--lib/rss.rb85
-rw-r--r--lib/rss/0.9.rb95
-rw-r--r--lib/rss/1.0.rb93
-rw-r--r--lib/rss/2.0.rb39
-rw-r--r--lib/rss/atom.rb839
-rw-r--r--lib/rss/content.rb27
-rw-r--r--lib/rss/content/1.0.rb9
-rw-r--r--lib/rss/content/2.0.rb11
-rw-r--r--lib/rss/converter.rb44
-rw-r--r--lib/rss/dublincore.rb57
-rw-r--r--lib/rss/dublincore/1.0.rb12
-rw-r--r--lib/rss/dublincore/2.0.rb12
-rw-r--r--lib/rss/dublincore/atom.rb16
-rw-r--r--lib/rss/image.rb32
-rw-r--r--lib/rss/itunes.rb412
-rw-r--r--lib/rss/maker.rb59
-rw-r--r--lib/rss/maker/0.9.rb450
-rw-r--r--lib/rss/maker/1.0.rb343
-rw-r--r--lib/rss/maker/2.0.rb169
-rw-r--r--lib/rss/maker/atom.rb172
-rw-r--r--lib/rss/maker/base.rb968
-rw-r--r--lib/rss/maker/content.rb14
-rw-r--r--lib/rss/maker/dublincore.rb150
-rw-r--r--lib/rss/maker/entry.rb163
-rw-r--r--lib/rss/maker/feed.rb426
-rw-r--r--lib/rss/maker/image.rb118
-rw-r--r--lib/rss/maker/itunes.rb242
-rw-r--r--lib/rss/maker/slash.rb33
-rw-r--r--lib/rss/maker/syndication.rb13
-rw-r--r--lib/rss/maker/taxonomy.rb126
-rw-r--r--lib/rss/maker/trackback.rb117
-rw-r--r--lib/rss/parser.rb226
-rw-r--r--lib/rss/rexmlparser.rb15
-rw-r--r--lib/rss/rss.rb817
-rw-r--r--lib/rss/slash.rb51
-rw-r--r--lib/rss/syndication.rb18
-rw-r--r--lib/rss/taxonomy.rb24
-rw-r--r--lib/rss/trackback.rb40
-rw-r--r--lib/rss/utils.rb174
-rw-r--r--lib/rss/xml-stylesheet.rb8
-rw-r--r--lib/rss/xml.rb71
-rw-r--r--lib/rss/xmlparser.rb17
-rw-r--r--lib/rss/xmlscanner.rb10
-rw-r--r--lib/rubygems.rb1217
-rw-r--r--lib/rubygems/LICENSE.txt54
-rw-r--r--lib/rubygems/available_set.rb164
-rw-r--r--lib/rubygems/basic_specification.rb250
-rw-r--r--lib/rubygems/command.rb579
-rw-r--r--lib/rubygems/command_manager.rb217
-rw-r--r--lib/rubygems/commands/build_command.rb60
-rw-r--r--lib/rubygems/commands/cert_command.rb278
-rw-r--r--lib/rubygems/commands/check_command.rb93
-rw-r--r--lib/rubygems/commands/cleanup_command.rb165
-rw-r--r--lib/rubygems/commands/contents_command.rb170
-rw-r--r--lib/rubygems/commands/dependency_command.rb207
-rw-r--r--lib/rubygems/commands/environment_command.rb155
-rw-r--r--lib/rubygems/commands/fetch_command.rb77
-rw-r--r--lib/rubygems/commands/generate_index_command.rb84
-rw-r--r--lib/rubygems/commands/help_command.rb205
-rw-r--r--lib/rubygems/commands/install_command.rb309
-rw-r--r--lib/rubygems/commands/list_command.rb40
-rw-r--r--lib/rubygems/commands/lock_command.rb110
-rw-r--r--lib/rubygems/commands/mirror_command.rb23
-rw-r--r--lib/rubygems/commands/outdated_command.rb32
-rw-r--r--lib/rubygems/commands/owner_command.rb97
-rw-r--r--lib/rubygems/commands/pristine_command.rb151
-rw-r--r--lib/rubygems/commands/push_command.rb98
-rw-r--r--lib/rubygems/commands/query_command.rb343
-rw-r--r--lib/rubygems/commands/rdoc_command.rb96
-rw-r--r--lib/rubygems/commands/search_command.rb40
-rw-r--r--lib/rubygems/commands/server_command.rb86
-rw-r--r--lib/rubygems/commands/setup_command.rb483
-rw-r--r--lib/rubygems/commands/sources_command.rb210
-rw-r--r--lib/rubygems/commands/specification_command.rb145
-rw-r--r--lib/rubygems/commands/stale_command.rb38
-rw-r--r--lib/rubygems/commands/uninstall_command.rb152
-rw-r--r--lib/rubygems/commands/unpack_command.rb182
-rw-r--r--lib/rubygems/commands/update_command.rb275
-rw-r--r--lib/rubygems/commands/which_command.rb90
-rw-r--r--lib/rubygems/commands/yank_command.rb112
-rw-r--r--lib/rubygems/compatibility.rb60
-rw-r--r--lib/rubygems/config_file.rb472
-rw-r--r--lib/rubygems/core_ext/kernel_gem.rb59
-rwxr-xr-xlib/rubygems/core_ext/kernel_require.rb149
-rw-r--r--lib/rubygems/defaults.rb163
-rw-r--r--lib/rubygems/dependency.rb313
-rw-r--r--lib/rubygems/dependency_installer.rb441
-rw-r--r--lib/rubygems/dependency_list.rb244
-rw-r--r--lib/rubygems/deprecate.rb70
-rw-r--r--lib/rubygems/doctor.rb131
-rw-r--r--lib/rubygems/errors.rb107
-rw-r--r--lib/rubygems/exceptions.rb250
-rw-r--r--lib/rubygems/ext.rb18
-rw-r--r--lib/rubygems/ext/build_error.rb6
-rw-r--r--lib/rubygems/ext/builder.rb218
-rw-r--r--lib/rubygems/ext/cmake_builder.rb16
-rw-r--r--lib/rubygems/ext/configure_builder.rb23
-rw-r--r--lib/rubygems/ext/ext_conf_builder.rb76
-rw-r--r--lib/rubygems/ext/rake_builder.rb36
-rw-r--r--lib/rubygems/gem_runner.rb81
-rw-r--r--lib/rubygems/gemcutter_utilities.rb154
-rw-r--r--lib/rubygems/indexer.rb498
-rw-r--r--lib/rubygems/install_default_message.rb12
-rw-r--r--lib/rubygems/install_message.rb12
-rw-r--r--lib/rubygems/install_update_options.rb169
-rw-r--r--lib/rubygems/installer.rb794
-rw-r--r--lib/rubygems/installer_test_case.rb191
-rw-r--r--lib/rubygems/local_remote_options.rb148
-rw-r--r--lib/rubygems/mock_gem_ui.rb88
-rw-r--r--lib/rubygems/name_tuple.rb121
-rw-r--r--lib/rubygems/package.rb600
-rw-r--r--lib/rubygems/package/digest_io.rb64
-rw-r--r--lib/rubygems/package/old.rb178
-rw-r--r--lib/rubygems/package/tar_header.rb229
-rw-r--r--lib/rubygems/package/tar_reader.rb123
-rw-r--r--lib/rubygems/package/tar_reader/entry.rb145
-rw-r--r--lib/rubygems/package/tar_test_case.rb137
-rw-r--r--lib/rubygems/package/tar_writer.rb320
-rw-r--r--lib/rubygems/package_task.rb128
-rw-r--r--lib/rubygems/path_support.rb87
-rw-r--r--lib/rubygems/platform.rb203
-rw-r--r--lib/rubygems/psych_additions.rb9
-rw-r--r--lib/rubygems/psych_tree.rb31
-rw-r--r--lib/rubygems/rdoc.rb336
-rw-r--r--lib/rubygems/remote_fetcher.rb347
-rw-r--r--lib/rubygems/request.rb274
-rw-r--r--lib/rubygems/request_set.rb304
-rw-r--r--lib/rubygems/request_set/gem_dependency_api.rb521
-rw-r--r--lib/rubygems/request_set/lockfile.rb584
-rw-r--r--lib/rubygems/requirement.rb270
-rw-r--r--lib/rubygems/resolver.rb452
-rw-r--r--lib/rubygems/resolver/activation_request.rb165
-rw-r--r--lib/rubygems/resolver/api_set.rb115
-rw-r--r--lib/rubygems/resolver/api_specification.rb79
-rw-r--r--lib/rubygems/resolver/best_set.rb50
-rw-r--r--lib/rubygems/resolver/composed_set.rb50
-rw-r--r--lib/rubygems/resolver/conflict.rb122
-rw-r--r--lib/rubygems/resolver/current_set.rb13
-rw-r--r--lib/rubygems/resolver/dependency_request.rb97
-rw-r--r--lib/rubygems/resolver/git_set.rb122
-rw-r--r--lib/rubygems/resolver/git_specification.rb35
-rw-r--r--lib/rubygems/resolver/index_set.rb78
-rw-r--r--lib/rubygems/resolver/index_specification.rb69
-rw-r--r--lib/rubygems/resolver/installed_specification.rb40
-rw-r--r--lib/rubygems/resolver/installer_set.rb138
-rw-r--r--lib/rubygems/resolver/local_specification.rb16
-rw-r--r--lib/rubygems/resolver/lock_set.rb80
-rw-r--r--lib/rubygems/resolver/lock_specification.rb58
-rw-r--r--lib/rubygems/resolver/requirement_list.rb81
-rw-r--r--lib/rubygems/resolver/set.rb44
-rw-r--r--lib/rubygems/resolver/spec_specification.rb58
-rw-r--r--lib/rubygems/resolver/specification.rb89
-rw-r--r--lib/rubygems/resolver/stats.rb44
-rw-r--r--lib/rubygems/resolver/vendor_set.rb85
-rw-r--r--lib/rubygems/resolver/vendor_specification.rb24
-rw-r--r--lib/rubygems/security.rb595
-rw-r--r--lib/rubygems/security/policies.rb115
-rw-r--r--lib/rubygems/security/policy.rb294
-rw-r--r--lib/rubygems/security/signer.rb154
-rw-r--r--lib/rubygems/security/trust_dir.rb118
-rw-r--r--lib/rubygems/server.rb833
-rw-r--r--lib/rubygems/source.rb222
-rw-r--r--lib/rubygems/source/git.rb232
-rw-r--r--lib/rubygems/source/installed.rb35
-rw-r--r--lib/rubygems/source/local.rb129
-rw-r--r--lib/rubygems/source/lock.rb48
-rw-r--r--lib/rubygems/source/specific_file.rb67
-rw-r--r--lib/rubygems/source/vendor.rb27
-rw-r--r--lib/rubygems/source_list.rb149
-rw-r--r--lib/rubygems/source_local.rb5
-rw-r--r--lib/rubygems/source_specific_file.rb4
-rw-r--r--lib/rubygems/spec_fetcher.rb276
-rw-r--r--lib/rubygems/specification.rb2757
-rw-r--r--lib/rubygems/ssl_certs/.document1
-rw-r--r--lib/rubygems/ssl_certs/Class3PublicPrimaryCertificationAuthority.pem14
-rw-r--r--lib/rubygems/ssl_certs/DigiCertHighAssuranceEVRootCA.pem23
-rw-r--r--lib/rubygems/ssl_certs/EntrustnetSecureServerCertificationAuthority.pem28
-rw-r--r--lib/rubygems/ssl_certs/GeoTrustGlobalCA.pem20
-rw-r--r--lib/rubygems/stub_specification.rb176
-rw-r--r--lib/rubygems/syck_hack.rb76
-rw-r--r--lib/rubygems/test_case.rb1393
-rw-r--r--lib/rubygems/test_utilities.rb381
-rw-r--r--lib/rubygems/text.rb65
-rw-r--r--lib/rubygems/uninstaller.rb342
-rw-r--r--lib/rubygems/uri_formatter.rb49
-rw-r--r--lib/rubygems/user_interaction.rb694
-rw-r--r--lib/rubygems/util.rb121
-rw-r--r--lib/rubygems/util/list.rb48
-rw-r--r--lib/rubygems/util/stringio.rb34
-rw-r--r--lib/rubygems/validator.rb165
-rw-r--r--lib/rubygems/version.rb352
-rw-r--r--lib/rubygems/version_option.rb71
-rw-r--r--lib/rubyunit.rb6
-rw-r--r--lib/runit/assert.rb73
-rw-r--r--lib/runit/cui/testrunner.rb51
-rw-r--r--lib/runit/error.rb9
-rw-r--r--lib/runit/testcase.rb45
-rw-r--r--lib/runit/testresult.rb44
-rw-r--r--lib/runit/testsuite.rb26
-rw-r--r--lib/runit/topublic.rb8
-rw-r--r--lib/scanf.rb782
-rw-r--r--lib/securerandom.rb260
-rw-r--r--lib/set.rb1136
-rw-r--r--lib/shell.rb292
-rw-r--r--lib/shell/builtin-command.rb68
-rw-r--r--lib/shell/command-processor.rb720
-rw-r--r--lib/shell/error.rb11
-rw-r--r--lib/shell/filter.rb91
-rw-r--r--lib/shell/process-controller.rb353
-rw-r--r--lib/shell/system-command.rb147
-rw-r--r--lib/shell/version.rb15
-rw-r--r--lib/shellwords.rb235
-rw-r--r--lib/singleton.rb420
-rw-r--r--lib/soap/attachment.rb107
-rw-r--r--lib/soap/baseData.rb942
-rw-r--r--lib/soap/element.rb258
-rw-r--r--lib/soap/encodingstyle/aspDotNetHandler.rb213
-rw-r--r--lib/soap/encodingstyle/handler.rb100
-rw-r--r--lib/soap/encodingstyle/literalHandler.rb226
-rw-r--r--lib/soap/encodingstyle/soapHandler.rb582
-rw-r--r--lib/soap/generator.rb268
-rw-r--r--lib/soap/header/handler.rb57
-rw-r--r--lib/soap/header/handlerset.rb70
-rw-r--r--lib/soap/header/simplehandler.rb44
-rw-r--r--lib/soap/httpconfigloader.rb119
-rw-r--r--lib/soap/mapping.rb10
-rw-r--r--lib/soap/mapping/factory.rb355
-rw-r--r--lib/soap/mapping/mapping.rb381
-rw-r--r--lib/soap/mapping/registry.rb541
-rw-r--r--lib/soap/mapping/rubytypeFactory.rb475
-rw-r--r--lib/soap/mapping/typeMap.rb50
-rw-r--r--lib/soap/mapping/wsdlencodedregistry.rb280
-rw-r--r--lib/soap/mapping/wsdlliteralregistry.rb418
-rw-r--r--lib/soap/marshal.rb59
-rw-r--r--lib/soap/mimemessage.rb240
-rw-r--r--lib/soap/netHttpClient.rb190
-rw-r--r--lib/soap/parser.rb251
-rw-r--r--lib/soap/processor.rb66
-rw-r--r--lib/soap/property.rb333
-rw-r--r--lib/soap/rpc/cgistub.rb206
-rw-r--r--lib/soap/rpc/driver.rb254
-rw-r--r--lib/soap/rpc/element.rb325
-rw-r--r--lib/soap/rpc/httpserver.rb129
-rw-r--r--lib/soap/rpc/proxy.rb497
-rw-r--r--lib/soap/rpc/router.rb594
-rw-r--r--lib/soap/rpc/rpc.rb25
-rw-r--r--lib/soap/rpc/soaplet.rb162
-rw-r--r--lib/soap/rpc/standaloneServer.rb43
-rw-r--r--lib/soap/soap.rb140
-rw-r--r--lib/soap/streamHandler.rb229
-rw-r--r--lib/soap/wsdlDriver.rb575
-rw-r--r--lib/sync.rb343
-rw-r--r--lib/tempfile.rb396
-rw-r--r--lib/test/unit.rb1130
-rw-r--r--lib/test/unit/assertionfailederror.rb14
-rw-r--r--lib/test/unit/assertions.rb835
-rw-r--r--lib/test/unit/autorunner.rb220
-rw-r--r--lib/test/unit/collector.rb43
-rw-r--r--lib/test/unit/collector/dir.rb107
-rw-r--r--lib/test/unit/collector/objectspace.rb34
-rw-r--r--lib/test/unit/error.rb56
-rw-r--r--lib/test/unit/failure.rb51
-rw-r--r--lib/test/unit/parallel.rb189
-rw-r--r--lib/test/unit/test-unit.gemspec14
-rw-r--r--lib/test/unit/testcase.rb160
-rw-r--r--lib/test/unit/testresult.rb80
-rw-r--r--lib/test/unit/testsuite.rb76
-rw-r--r--lib/test/unit/ui/console/testrunner.rb127
-rw-r--r--lib/test/unit/ui/fox/testrunner.rb268
-rw-r--r--lib/test/unit/ui/gtk/testrunner.rb416
-rw-r--r--lib/test/unit/ui/gtk2/testrunner.rb465
-rw-r--r--lib/test/unit/ui/testrunnermediator.rb68
-rw-r--r--lib/test/unit/ui/testrunnerutilities.rb46
-rw-r--r--lib/test/unit/ui/tk/testrunner.rb260
-rw-r--r--lib/test/unit/util/backtracefilter.rb40
-rw-r--r--lib/test/unit/util/observable.rb90
-rw-r--r--lib/test/unit/util/procwrapper.rb48
-rw-r--r--lib/thread.rb479
-rw-r--r--lib/thwait.rb97
-rw-r--r--lib/time.rb735
-rw-r--r--lib/timeout.rb179
-rw-r--r--lib/tmpdir.rb157
-rw-r--r--lib/tracer.rb245
-rw-r--r--lib/tsort.rb310
-rw-r--r--lib/ubygems.rb10
-rw-r--r--lib/un.rb230
-rw-r--r--lib/uri.rb93
-rw-r--r--lib/uri/common.rb1090
-rw-r--r--lib/uri/ftp.rb167
-rw-r--r--lib/uri/generic.rb880
-rw-r--r--lib/uri/http.rb42
-rw-r--r--lib/uri/https.rb4
-rw-r--r--lib/uri/ldap.rb78
-rw-r--r--lib/uri/ldaps.rb20
-rw-r--r--lib/uri/mailto.rb56
-rw-r--r--lib/weakref.rb165
-rw-r--r--lib/webrick.rb201
-rw-r--r--lib/webrick/accesslog.rb101
-rw-r--r--lib/webrick/cgi.rb107
-rw-r--r--lib/webrick/compat.rb20
-rw-r--r--lib/webrick/config.rb64
-rw-r--r--lib/webrick/cookie.rb71
-rw-r--r--lib/webrick/htmlutils.rb10
-rw-r--r--lib/webrick/httpauth.rb56
-rw-r--r--lib/webrick/httpauth/authenticator.rb69
-rw-r--r--lib/webrick/httpauth/basicauth.rb47
-rw-r--r--lib/webrick/httpauth/digestauth.rb101
-rw-r--r--lib/webrick/httpauth/htdigest.rb48
-rw-r--r--lib/webrick/httpauth/htgroup.rb32
-rw-r--r--lib/webrick/httpauth/htpasswd.rb51
-rw-r--r--lib/webrick/httpauth/userdb.rb31
-rw-r--r--lib/webrick/httpproxy.rb309
-rw-r--r--lib/webrick/httprequest.rb321
-rw-r--r--lib/webrick/httpresponse.rb215
-rw-r--r--lib/webrick/https.rb29
-rw-r--r--lib/webrick/httpserver.rb82
-rw-r--r--lib/webrick/httpservlet/abstract.rb94
-rw-r--r--lib/webrick/httpservlet/cgi_runner.rb9
-rw-r--r--lib/webrick/httpservlet/cgihandler.rb55
-rw-r--r--lib/webrick/httpservlet/erbhandler.rb47
-rw-r--r--lib/webrick/httpservlet/filehandler.rb208
-rw-r--r--lib/webrick/httpservlet/prochandler.rb21
-rw-r--r--lib/webrick/httpstatus.rb182
-rw-r--r--lib/webrick/httputils.rb182
-rw-r--r--lib/webrick/httpversion.rb30
-rw-r--r--lib/webrick/log.rb77
-rw-r--r--lib/webrick/server.rb191
-rw-r--r--lib/webrick/ssl.rb85
-rw-r--r--lib/webrick/utils.rb181
-rw-r--r--lib/webrick/version.rb6
-rw-r--r--lib/wsdl/binding.rb65
-rw-r--r--lib/wsdl/data.rb64
-rw-r--r--lib/wsdl/definitions.rb250
-rw-r--r--lib/wsdl/documentation.rb32
-rw-r--r--lib/wsdl/import.rb80
-rw-r--r--lib/wsdl/importer.rb38
-rw-r--r--lib/wsdl/info.rb39
-rw-r--r--lib/wsdl/message.rb54
-rw-r--r--lib/wsdl/operation.rb130
-rw-r--r--lib/wsdl/operationBinding.rb108
-rw-r--r--lib/wsdl/param.rb85
-rw-r--r--lib/wsdl/parser.rb163
-rw-r--r--lib/wsdl/part.rb52
-rw-r--r--lib/wsdl/port.rb84
-rw-r--r--lib/wsdl/portType.rb73
-rw-r--r--lib/wsdl/service.rb61
-rw-r--r--lib/wsdl/soap/address.rb40
-rw-r--r--lib/wsdl/soap/binding.rb49
-rw-r--r--lib/wsdl/soap/body.rb56
-rw-r--r--lib/wsdl/soap/cgiStubCreator.rb76
-rw-r--r--lib/wsdl/soap/classDefCreator.rb314
-rw-r--r--lib/wsdl/soap/classDefCreatorSupport.rb126
-rw-r--r--lib/wsdl/soap/clientSkeltonCreator.rb78
-rw-r--r--lib/wsdl/soap/complexType.rb161
-rw-r--r--lib/wsdl/soap/data.rb42
-rw-r--r--lib/wsdl/soap/definitions.rb149
-rw-r--r--lib/wsdl/soap/driverCreator.rb95
-rw-r--r--lib/wsdl/soap/element.rb28
-rw-r--r--lib/wsdl/soap/fault.rb56
-rw-r--r--lib/wsdl/soap/header.rb86
-rw-r--r--lib/wsdl/soap/headerfault.rb56
-rw-r--r--lib/wsdl/soap/mappingRegistryCreator.rb92
-rw-r--r--lib/wsdl/soap/methodDefCreator.rb228
-rw-r--r--lib/wsdl/soap/operation.rb122
-rw-r--r--lib/wsdl/soap/servantSkeltonCreator.rb67
-rw-r--r--lib/wsdl/soap/standaloneServerStubCreator.rb85
-rw-r--r--lib/wsdl/soap/wsdl2ruby.rb176
-rw-r--r--lib/wsdl/types.rb43
-rw-r--r--lib/wsdl/wsdl.rb23
-rw-r--r--lib/wsdl/xmlSchema/all.rb69
-rw-r--r--lib/wsdl/xmlSchema/annotation.rb34
-rw-r--r--lib/wsdl/xmlSchema/any.rb56
-rw-r--r--lib/wsdl/xmlSchema/attribute.rb127
-rw-r--r--lib/wsdl/xmlSchema/choice.rb69
-rw-r--r--lib/wsdl/xmlSchema/complexContent.rb92
-rw-r--r--lib/wsdl/xmlSchema/complexType.rb139
-rw-r--r--lib/wsdl/xmlSchema/content.rb96
-rw-r--r--lib/wsdl/xmlSchema/data.rb80
-rw-r--r--lib/wsdl/xmlSchema/element.rb154
-rw-r--r--lib/wsdl/xmlSchema/enumeration.rb36
-rw-r--r--lib/wsdl/xmlSchema/import.rb65
-rw-r--r--lib/wsdl/xmlSchema/importer.rb87
-rw-r--r--lib/wsdl/xmlSchema/include.rb54
-rw-r--r--lib/wsdl/xmlSchema/length.rb35
-rw-r--r--lib/wsdl/xmlSchema/parser.rb166
-rw-r--r--lib/wsdl/xmlSchema/pattern.rb36
-rw-r--r--lib/wsdl/xmlSchema/schema.rb143
-rw-r--r--lib/wsdl/xmlSchema/sequence.rb69
-rw-r--r--lib/wsdl/xmlSchema/simpleContent.rb65
-rw-r--r--lib/wsdl/xmlSchema/simpleExtension.rb54
-rw-r--r--lib/wsdl/xmlSchema/simpleRestriction.rb73
-rw-r--r--lib/wsdl/xmlSchema/simpleType.rb73
-rw-r--r--lib/wsdl/xmlSchema/unique.rb34
-rw-r--r--lib/wsdl/xmlSchema/xsd2ruby.rb107
-rw-r--r--lib/xmlrpc.rb301
-rw-r--r--lib/xmlrpc/.document1
-rw-r--r--lib/xmlrpc/README.txt31
-rw-r--r--lib/xmlrpc/base64.rb71
-rw-r--r--lib/xmlrpc/client.rb690
-rw-r--r--lib/xmlrpc/config.rb34
-rw-r--r--lib/xmlrpc/create.rb218
-rw-r--r--lib/xmlrpc/datetime.rb129
-rw-r--r--lib/xmlrpc/httpserver.rb81
-rw-r--r--lib/xmlrpc/marshal.rb20
-rw-r--r--lib/xmlrpc/parser.rb511
-rw-r--r--lib/xmlrpc/server.rb679
-rw-r--r--lib/xmlrpc/utils.rb76
-rw-r--r--lib/xsd/charset.rb187
-rw-r--r--lib/xsd/codegen.rb12
-rw-r--r--lib/xsd/codegen/classdef.rb203
-rw-r--r--lib/xsd/codegen/commentdef.rb34
-rw-r--r--lib/xsd/codegen/gensupport.rb166
-rw-r--r--lib/xsd/codegen/methoddef.rb63
-rw-r--r--lib/xsd/codegen/moduledef.rb191
-rw-r--r--lib/xsd/datatypes.rb1269
-rw-r--r--lib/xsd/datatypes1999.rb20
-rw-r--r--lib/xsd/iconvcharset.rb33
-rw-r--r--lib/xsd/mapping.rb42
-rw-r--r--lib/xsd/namedelements.rb95
-rw-r--r--lib/xsd/ns.rb140
-rw-r--r--lib/xsd/qname.rb78
-rw-r--r--lib/xsd/xmlparser.rb61
-rw-r--r--lib/xsd/xmlparser/parser.rb96
-rw-r--r--lib/xsd/xmlparser/rexmlparser.rb54
-rw-r--r--lib/xsd/xmlparser/xmlparser.rb50
-rw-r--r--lib/xsd/xmlparser/xmlscanner.rb147
-rw-r--r--lib/yaml.rb495
-rw-r--r--lib/yaml/baseemitter.rb247
-rw-r--r--lib/yaml/basenode.rb216
-rw-r--r--lib/yaml/constants.rb45
-rw-r--r--lib/yaml/dbm.rb200
-rw-r--r--lib/yaml/encoding.rb33
-rw-r--r--lib/yaml/error.rb34
-rw-r--r--lib/yaml/loader.rb14
-rw-r--r--lib/yaml/rubytypes.rb408
-rw-r--r--lib/yaml/store.rb76
-rw-r--r--lib/yaml/stream.rb40
-rw-r--r--lib/yaml/stringio.rb83
-rw-r--r--lib/yaml/syck.rb19
-rw-r--r--lib/yaml/tag.rb91
-rw-r--r--lib/yaml/types.rb194
-rw-r--r--lib/yaml/yamlnode.rb54
-rw-r--r--lib/yaml/ypath.rb52
-rw-r--r--load.c1190
-rw-r--r--loadpath.c92
-rw-r--r--localeinit.c65
-rw-r--r--main.c45
-rw-r--r--man/erb.1157
-rw-r--r--man/goruby.139
-rw-r--r--man/irb.1173
-rw-r--r--man/rake.1205
-rw-r--r--man/ri.1181
-rw-r--r--man/ruby.1516
-rw-r--r--marshal.c1739
-rw-r--r--math.c885
-rwxr-xr-xmdoc2man.rb465
-rw-r--r--method.h142
-rw-r--r--miniinit.c30
-rw-r--r--misc/README7
-rw-r--r--misc/inf-ruby.el249
-rw-r--r--misc/rb_optparse.bash20
-rwxr-xr-xmisc/rb_optparse.zsh38
-rw-r--r--misc/rdebug.el136
-rw-r--r--misc/rdoc-mode.el132
-rw-r--r--misc/ruby-additional.el113
-rw-r--r--misc/ruby-electric.el561
-rw-r--r--misc/ruby-mode.el1919
-rw-r--r--misc/ruby-style.el79
-rw-r--r--misc/rubydb3x.el42
-rw-r--r--missing.h142
-rw-r--r--missing/acosh.c19
-rw-r--r--missing/alloca.c13
-rw-r--r--missing/cbrt.c11
-rw-r--r--missing/close.c72
-rw-r--r--missing/crt_externs.h8
-rw-r--r--missing/crypt.c125
-rw-r--r--missing/dup2.c5
-rw-r--r--missing/erf.c13
-rw-r--r--missing/ffs.c49
-rw-r--r--missing/file.h2
-rw-r--r--missing/finite.c5
-rw-r--r--missing/flock.c25
-rw-r--r--missing/hypot.c4
-rw-r--r--missing/isinf.c24
-rw-r--r--missing/isnan.c25
-rw-r--r--missing/langinfo.c148
-rw-r--r--missing/lgamma_r.c80
-rw-r--r--missing/memcmp.c10
-rw-r--r--missing/memmove.c18
-rw-r--r--missing/os2.c29
-rw-r--r--missing/setproctitle.c170
-rw-r--r--missing/signbit.c19
-rw-r--r--missing/strcasecmp.c16
-rw-r--r--missing/strchr.c22
-rw-r--r--missing/strerror.c5
-rw-r--r--missing/strftime.c907
-rw-r--r--missing/strlcat.c74
-rw-r--r--missing/strlcpy.c70
-rw-r--r--missing/strncasecmp.c21
-rw-r--r--missing/strstr.c15
-rw-r--r--missing/strtod.c271
-rw-r--r--missing/strtol.c10
-rw-r--r--missing/strtoul.c184
-rw-r--r--missing/tgamma.c92
-rw-r--r--missing/vsnprintf.c1135
-rw-r--r--missing/x68.c40
-rw-r--r--missing/x86_64-chkstk.s10
-rwxr-xr-xmkconfig.rb191
-rw-r--r--nacl/GNUmakefile.in87
-rw-r--r--nacl/README.nacl34
-rw-r--r--nacl/create_nmf.rb70
-rw-r--r--nacl/dirent.h15
-rw-r--r--nacl/example.html150
-rw-r--r--nacl/ioctl.h7
-rw-r--r--nacl/nacl-config.rb61
-rw-r--r--nacl/package.rb109
-rw-r--r--nacl/pepper_main.c870
-rw-r--r--nacl/resource.h8
-rw-r--r--nacl/select.h7
-rw-r--r--nacl/signal.h6
-rw-r--r--nacl/stat.h10
-rw-r--r--nacl/unistd.h9
-rw-r--r--nacl/utime.h11
-rw-r--r--node.c904
-rw-r--r--node.h417
-rw-r--r--numeric.c3681
-rw-r--r--object.c3024
-rw-r--r--pack.c1897
-rw-r--r--parse.y10325
-rw-r--r--prec.c141
-rw-r--r--prelude.rb15
-rw-r--r--probes.d234
-rw-r--r--probes_helper.h67
-rw-r--r--proc.c2725
-rw-r--r--process.c6617
-rw-r--r--random.c1404
-rw-r--r--range.c1350
-rw-r--r--rational.c2606
-rw-r--r--re.c3662
-rw-r--r--re.h42
-rw-r--r--regcomp.c6698
-rw-r--r--regenc.c955
-rw-r--r--regenc.h223
-rw-r--r--regerror.c404
-rw-r--r--regex.c4648
-rw-r--r--regex.h221
-rw-r--r--regexec.c4370
-rw-r--r--regint.h911
-rw-r--r--regparse.c6323
-rw-r--r--regparse.h363
-rw-r--r--regsyntax.c387
-rw-r--r--ruby.1351
-rw-r--r--ruby.c2158
-rw-r--r--ruby.h759
-rw-r--r--ruby_atomic.h170
-rw-r--r--rubyio.h88
-rw-r--r--rubysig.h105
-rwxr-xr-xrubytest.rb49
-rwxr-xr-xrunruby.rb59
-rw-r--r--safe.c143
-rw-r--r--sample/README15
-rw-r--r--sample/biorhythm.rb134
-rw-r--r--sample/cal.rb86
-rw-r--r--sample/cbreak.rb4
-rw-r--r--sample/coverage.rb62
-rw-r--r--sample/dbmtest.rb14
-rw-r--r--sample/drb/README.ja.rdoc59
-rw-r--r--sample/drb/README.rd56
-rw-r--r--sample/drb/README.rd.ja59
-rw-r--r--sample/drb/README.rdoc56
-rw-r--r--sample/drb/darray.rb2
-rw-r--r--sample/drb/darrayc.rb16
-rw-r--r--sample/drb/dbiff.rb24
-rw-r--r--sample/drb/dchatc.rb4
-rw-r--r--sample/drb/dchats.rb22
-rw-r--r--sample/drb/dhasen.rb4
-rw-r--r--sample/drb/dhasenc.rb7
-rw-r--r--sample/drb/dlogc.rb2
-rw-r--r--sample/drb/dlogd.rb6
-rw-r--r--sample/drb/dqin.rb2
-rw-r--r--sample/drb/dqout.rb2
-rw-r--r--sample/drb/dqueue.rb2
-rw-r--r--sample/drb/drbc.rb2
-rw-r--r--sample/drb/drbch.rb2
-rw-r--r--sample/drb/drbm.rb6
-rw-r--r--sample/drb/drbmc.rb2
-rw-r--r--sample/drb/drbs-acl.rb6
-rw-r--r--sample/drb/drbs.rb4
-rw-r--r--sample/drb/extserv_test.rb12
-rw-r--r--sample/drb/gw_cu.rb2
-rw-r--r--sample/drb/holderc.rb2
-rw-r--r--sample/drb/holders.rb6
-rw-r--r--sample/drb/http0.rb64
-rw-r--r--sample/drb/http0serv.rb118
-rw-r--r--sample/drb/name.rb16
-rw-r--r--sample/drb/namec.rb2
-rw-r--r--sample/drb/old_tuplespace.rb80
-rw-r--r--sample/drb/ring_echo.rb2
-rw-r--r--sample/drb/simpletuple.rb14
-rw-r--r--sample/drb/speedc.rb2
-rw-r--r--sample/drb/speeds.rb4
-rw-r--r--sample/dualstack-fetch.rb2
-rw-r--r--sample/dualstack-httpd.rb36
-rw-r--r--sample/eval.rb2
-rw-r--r--sample/exyacc.rb32
-rw-r--r--sample/fib.awk8
-rw-r--r--sample/fib.pl4
-rw-r--r--sample/fib.scm4
-rw-r--r--sample/freq.rb2
-rw-r--r--sample/from.rb161
-rw-r--r--sample/fullpath.rb2
-rw-r--r--sample/getopts.test36
-rw-r--r--sample/goodfriday.rb48
-rw-r--r--sample/list.rb1
-rw-r--r--sample/list2.rb2
-rw-r--r--sample/list3.rb2
-rw-r--r--sample/logger/app.rb2
-rw-r--r--[-rwxr-xr-x]sample/mine.rb39
-rw-r--r--sample/mkproto.rb24
-rw-r--r--sample/mrshtest.rb13
-rw-r--r--sample/observ.rb8
-rw-r--r--sample/occur.pl8
-rw-r--r--sample/occur.rb6
-rw-r--r--sample/occur2.rb13
-rw-r--r--sample/openssl/c_rehash.rb38
-rw-r--r--sample/openssl/cert_store_view.rb911
-rw-r--r--sample/openssl/certstore.rb54
-rw-r--r--sample/openssl/cipher.rb73
-rw-r--r--sample/openssl/crlstore.rb32
-rw-r--r--sample/openssl/echo_cli.rb21
-rw-r--r--sample/openssl/echo_svr.rb15
-rw-r--r--sample/openssl/gen_csr.rb13
-rw-r--r--sample/openssl/smime_read.rb10
-rw-r--r--sample/openssl/smime_write.rb12
-rw-r--r--sample/openssl/wget.rb17
-rw-r--r--[-rwxr-xr-x]sample/optparse/opttest.rb76
-rw-r--r--sample/philos.rb2
-rw-r--r--sample/pty/expect_sample.rb48
-rw-r--r--sample/pty/script.rb37
-rw-r--r--sample/rcs.awk54
-rw-r--r--sample/rdoc/markup/rdoc2latex.rb15
-rw-r--r--sample/rdoc/markup/sample.rb40
-rw-r--r--sample/regx.rb23
-rw-r--r--sample/ripper/ruby2html.rb112
-rw-r--r--sample/ripper/strip-comment.rb19
-rwxr-xr-xsample/rss/blend.rb6
-rwxr-xr-xsample/rss/convert.rb2
-rw-r--r--[-rwxr-xr-x]sample/rss/list_description.rb17
-rwxr-xr-xsample/rss/re_read.rb14
-rw-r--r--[-rwxr-xr-x]sample/rss/rss_recent.rb24
-rw-r--r--sample/svr.rb4
-rw-r--r--[-rwxr-xr-x]sample/test.rb957
-rw-r--r--sample/time.rb16
-rw-r--r--sample/timeout.rb42
-rw-r--r--sample/trick2013/README.md13
-rw-r--r--sample/trick2013/kinaba/authors.markdown3
-rw-r--r--sample/trick2013/kinaba/entry.rb1
-rw-r--r--sample/trick2013/kinaba/remarks.markdown37
-rw-r--r--sample/trick2013/mame/authors.markdown3
-rw-r--r--sample/trick2013/mame/entry.rb97
-rw-r--r--sample/trick2013/mame/music-box.mp4bin580724 -> 0 bytes-rw-r--r--sample/trick2013/mame/remarks.markdown47
-rw-r--r--sample/trick2013/shinh/authors.markdown2
-rw-r--r--sample/trick2013/shinh/entry.rb10
-rw-r--r--sample/trick2013/shinh/remarks.markdown4
-rw-r--r--sample/trick2013/yhara/authors.markdown3
-rw-r--r--sample/trick2013/yhara/entry.rb28
-rw-r--r--sample/trick2013/yhara/remarks.en.markdown23
-rw-r--r--sample/trick2013/yhara/remarks.markdown24
-rw-r--r--sample/trojan.rb4
-rw-r--r--sample/tsvr.rb2
-rw-r--r--sample/webrick/httpproxy.rb7
-rw-r--r--signal.c1277
-rw-r--r--siphash.c483
-rw-r--r--siphash.h48
-rw-r--r--sparc.c40
-rw-r--r--spec/README31
-rw-r--r--spec/default.mspec21
-rw-r--r--sprintf.c1185
-rw-r--r--st.c1615
-rw-r--r--st.h72
-rw-r--r--strftime.c1163
-rw-r--r--string.c8541
-rw-r--r--struct.c1094
-rw-r--r--symbian/README.SYMBIAN93
-rw-r--r--symbian/configure.bat123
-rw-r--r--symbian/missing-aeabi.c18
-rw-r--r--symbian/missing-pips.c65
-rw-r--r--symbian/pre-build83
-rw-r--r--symbian/setup440
-rw-r--r--template/Doxyfile.tmpl265
-rw-r--r--template/GNUmakefile.in6
-rw-r--r--template/encdb.h.tmpl91
-rw-r--r--template/fake.rb.in47
-rw-r--r--template/id.c.tmpl27
-rw-r--r--template/id.h.tmpl111
-rw-r--r--template/insns.inc.tmpl20
-rw-r--r--template/insns_info.inc.tmpl83
-rw-r--r--template/known_errors.inc.tmpl14
-rw-r--r--template/minsns.inc.tmpl14
-rw-r--r--template/opt_sc.inc.tmpl32
-rw-r--r--template/optinsn.inc.tmpl30
-rw-r--r--template/optunifs.inc.tmpl35
-rw-r--r--template/ruby.pc.in56
-rw-r--r--template/sizes.c.tmpl30
-rw-r--r--template/transdb.h.tmpl59
-rw-r--r--template/verconf.h.in61
-rw-r--r--template/vm.inc.tmpl29
-rw-r--r--template/vmtc.inc.tmpl18
-rw-r--r--template/yarvarch.en7
-rw-r--r--template/yarvarch.ja454
-rw-r--r--template/yasmdata.rb.tmpl20
-rw-r--r--test/-ext-/array/test_resize.rb29
-rw-r--r--test/-ext-/bignum/test_big2str.rb29
-rw-r--r--test/-ext-/bignum/test_bigzero.rb13
-rw-r--r--test/-ext-/bignum/test_div.rb28
-rw-r--r--test/-ext-/bignum/test_mul.rb137
-rw-r--r--test/-ext-/bignum/test_pack.rb374
-rw-r--r--test/-ext-/bignum/test_str2big.rb37
-rw-r--r--test/-ext-/bug_reporter/test_bug_reporter.rb17
-rw-r--r--test/-ext-/class/test_class2name.rb18
-rw-r--r--test/-ext-/debug/test_debug.rb58
-rw-r--r--test/-ext-/debug/test_profile_frames.rb104
-rw-r--r--test/-ext-/exception/test_data_error.rb14
-rw-r--r--test/-ext-/exception/test_enc_raise.rb15
-rw-r--r--test/-ext-/exception/test_ensured.rb32
-rw-r--r--test/-ext-/file/test_stat.rb14
-rw-r--r--test/-ext-/funcall/test_passing_block.rb22
-rw-r--r--test/-ext-/iter/test_iter_break.rb15
-rw-r--r--test/-ext-/iter/test_yield_block.rb21
-rw-r--r--test/-ext-/load/test_dot_dot.rb10
-rw-r--r--test/-ext-/marshal/test_usrmarshal.rb33
-rw-r--r--test/-ext-/method/test_arity.rb37
-rw-r--r--test/-ext-/num2int/test_num2int.rb267
-rw-r--r--test/-ext-/old_thread_select/test_old_thread_select.rb103
-rw-r--r--test/-ext-/path_to_class/test_path_to_class.rb12
-rw-r--r--test/-ext-/postponed_job/test_postponed_job.rb28
-rw-r--r--test/-ext-/rational/test_rat.rb31
-rw-r--r--test/-ext-/st/test_numhash.rb49
-rw-r--r--test/-ext-/st/test_update.rb50
-rw-r--r--test/-ext-/string/test_cstr.rb42
-rw-r--r--test/-ext-/string/test_ellipsize.rb46
-rw-r--r--test/-ext-/string/test_enc_associate.rb12
-rw-r--r--test/-ext-/string/test_enc_str_buf_cat.rb15
-rw-r--r--test/-ext-/string/test_modify_expand.rb15
-rw-r--r--test/-ext-/string/test_normalize.rb106
-rw-r--r--test/-ext-/string/test_qsort.rb19
-rw-r--r--test/-ext-/string/test_set_len.rb25
-rw-r--r--test/-ext-/struct/test_member.rb16
-rw-r--r--test/-ext-/symbol/test_inadvertent_creation.rb266
-rw-r--r--test/-ext-/symbol/test_type.rb120
-rw-r--r--test/-ext-/test_bug-3571.rb21
-rw-r--r--test/-ext-/test_bug-3662.rb10
-rw-r--r--test/-ext-/test_bug-5832.rb21
-rw-r--r--test/-ext-/test_printf.rb190
-rw-r--r--test/-ext-/test_recursion.rb36
-rw-r--r--test/-ext-/tracepoint/test_tracepoint.rb80
-rw-r--r--test/-ext-/typeddata/test_typeddata.rb16
-rw-r--r--test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb45
-rw-r--r--test/-ext-/win32/test_dln.rb35
-rw-r--r--test/-ext-/win32/test_fd_setsize.rb25
-rw-r--r--test/base64/test_base64.rb100
-rw-r--r--test/benchmark/test_benchmark.rb169
-rw-r--r--test/bigdecimal/test_bigdecimal.rb1550
-rw-r--r--test/bigdecimal/test_bigdecimal_util.rb50
-rw-r--r--test/bigdecimal/test_bigmath.rb63
-rw-r--r--test/bigdecimal/testbase.rb27
-rw-r--r--test/cgi/test_cgi_cookie.rb110
-rw-r--r--test/cgi/test_cgi_core.rb373
-rw-r--r--test/cgi/test_cgi_header.rb185
-rw-r--r--test/cgi/test_cgi_modruby.rb146
-rw-r--r--test/cgi/test_cgi_multipart.rb370
-rw-r--r--test/cgi/test_cgi_session.rb172
-rw-r--r--test/cgi/test_cgi_tag_helper.rb355
-rw-r--r--test/cgi/test_cgi_util.rb89
-rw-r--r--test/cgi/testdata/file1.html10
-rw-r--r--test/cgi/testdata/large.pngbin156414 -> 0 bytes-rw-r--r--test/cgi/testdata/small.pngbin82 -> 0 bytes-rw-r--r--test/coverage/test_coverage.rb64
-rw-r--r--test/csv/base.rb8
-rw-r--r--test/csv/line_endings.gzbin59 -> 0 bytes-rw-r--r--test/csv/test_csv.rb1753
-rwxr-xr-xtest/csv/test_csv_parsing.rb221
-rwxr-xr-xtest/csv/test_csv_writing.rb97
-rwxr-xr-xtest/csv/test_data_converters.rb263
-rwxr-xr-xtest/csv/test_encodings.rb347
-rwxr-xr-xtest/csv/test_features.rb325
-rwxr-xr-xtest/csv/test_headers.rb289
-rwxr-xr-xtest/csv/test_interface.rb362
-rwxr-xr-xtest/csv/test_row.rb349
-rwxr-xr-xtest/csv/test_table.rb420
-rw-r--r--test/csv/ts_all.rb20
-rw-r--r--test/date/test_date.rb153
-rw-r--r--test/date/test_date_arith.rb286
-rw-r--r--test/date/test_date_attr.rb112
-rw-r--r--test/date/test_date_base.rb442
-rw-r--r--test/date/test_date_compat.rb21
-rw-r--r--test/date/test_date_conv.rb137
-rw-r--r--test/date/test_date_marshal.rb41
-rw-r--r--test/date/test_date_new.rb271
-rw-r--r--test/date/test_date_parse.rb1137
-rw-r--r--test/date/test_date_strftime.rb422
-rw-r--r--test/date/test_date_strptime.rb492
-rw-r--r--test/date/test_switch_hitter.rb664
-rw-r--r--test/dbm/test_dbm.rb198
-rw-r--r--[-rwxr-xr-x]test/digest/test_digest.rb93
-rw-r--r--test/digest/test_digest_extend.rb158
-rw-r--r--test/digest/test_digest_hmac.rb2
-rw-r--r--test/dl/test_base.rb146
-rw-r--r--test/dl/test_c_struct_entry.rb55
-rw-r--r--test/dl/test_c_union_entity.rb31
-rw-r--r--test/dl/test_callback.rb72
-rw-r--r--test/dl/test_cfunc.rb80
-rw-r--r--test/dl/test_cparser.rb33
-rw-r--r--test/dl/test_cptr.rb226
-rw-r--r--test/dl/test_dl2.rb140
-rw-r--r--test/dl/test_func.rb184
-rw-r--r--test/dl/test_handle.rb191
-rw-r--r--test/dl/test_import.rb165
-rw-r--r--test/dl/test_win32.rb54
-rw-r--r--test/drb/drbtest.rb111
-rw-r--r--test/drb/ignore_test_drb.rb16
-rw-r--r--test/drb/test_acl.rb2
-rw-r--r--test/drb/test_drb.rb95
-rw-r--r--test/drb/test_drbssl.rb10
-rw-r--r--test/drb/test_drbunix.rb10
-rw-r--r--test/drb/ut_array.rb2
-rw-r--r--test/drb/ut_array_drbssl.rb13
-rw-r--r--test/drb/ut_drb.rb3
-rw-r--r--test/drb/ut_drb_drbssl.rb13
-rw-r--r--test/drb/ut_eq.rb30
-rw-r--r--test/drb/ut_large.rb2
-rw-r--r--test/drb/ut_safe1.rb2
-rw-r--r--test/drb/ut_timerholder.rb2
-rw-r--r--test/dtrace/dummy.rb1
-rw-r--r--test/dtrace/helper.rb51
-rw-r--r--test/dtrace/test_array_create.rb35
-rw-r--r--test/dtrace/test_cmethod.rb49
-rw-r--r--test/dtrace/test_function_entry.rb87
-rw-r--r--test/dtrace/test_gc.rb26
-rw-r--r--test/dtrace/test_hash_create.rb52
-rw-r--r--test/dtrace/test_load.rb52
-rw-r--r--test/dtrace/test_method_cache.rb28
-rw-r--r--test/dtrace/test_object_create_start.rb35
-rw-r--r--test/dtrace/test_raise.rb29
-rw-r--r--test/dtrace/test_require.rb34
-rw-r--r--test/dtrace/test_singleton_function.rb55
-rw-r--r--test/dtrace/test_string.rb27
-rw-r--r--test/erb/hello.erb4
-rw-r--r--test/erb/test_erb.rb453
-rw-r--r--test/erb/test_erb_m17n.rb123
-rw-r--r--test/etc/test_etc.rb115
-rw-r--r--test/fiddle/helper.rb125
-rw-r--r--test/fiddle/test_c_struct_entry.rb76
-rw-r--r--test/fiddle/test_c_union_entity.rb34
-rw-r--r--test/fiddle/test_closure.rb84
-rw-r--r--test/fiddle/test_cparser.rb35
-rw-r--r--test/fiddle/test_fiddle.rb16
-rw-r--r--test/fiddle/test_func.rb92
-rw-r--r--test/fiddle/test_function.rb74
-rw-r--r--test/fiddle/test_handle.rb196
-rw-r--r--test/fiddle/test_import.rb149
-rw-r--r--test/fiddle/test_pointer.rb238
-rw-r--r--test/fileutils/clobber.rb91
-rw-r--r--test/fileutils/fileasserts.rb112
-rw-r--r--test/fileutils/test_dryrun.rb20
-rw-r--r--test/fileutils/test_fileutils.rb440
-rw-r--r--test/fileutils/test_nowrite.rb90
-rw-r--r--test/fileutils/test_verbose.rb18
-rw-r--r--test/fileutils/visibility_tests.rb41
-rw-r--r--test/gdbm/test_gdbm.rb250
-rw-r--r--test/inlinetest.rb55
-rw-r--r--test/io/console/test_io_console.rb302
-rw-r--r--test/io/nonblock/test_flush.rb42
-rw-r--r--test/io/wait/test_io_wait.rb108
-rw-r--r--test/irb/test_completion.rb22
-rw-r--r--test/irb/test_option.rb12
-rw-r--r--test/json/fixtures/fail1.json1
-rw-r--r--test/json/fixtures/fail10.json1
-rw-r--r--test/json/fixtures/fail11.json1
-rw-r--r--test/json/fixtures/fail12.json1
-rw-r--r--test/json/fixtures/fail13.json1
-rw-r--r--test/json/fixtures/fail14.json1
-rw-r--r--test/json/fixtures/fail18.json1
-rw-r--r--test/json/fixtures/fail19.json1
-rw-r--r--test/json/fixtures/fail2.json1
-rw-r--r--test/json/fixtures/fail20.json1
-rw-r--r--test/json/fixtures/fail21.json1
-rw-r--r--test/json/fixtures/fail22.json1
-rw-r--r--test/json/fixtures/fail23.json1
-rw-r--r--test/json/fixtures/fail24.json1
-rw-r--r--test/json/fixtures/fail25.json1
-rw-r--r--test/json/fixtures/fail27.json2
-rw-r--r--test/json/fixtures/fail28.json2
-rw-r--r--test/json/fixtures/fail3.json1
-rw-r--r--test/json/fixtures/fail4.json1
-rw-r--r--test/json/fixtures/fail5.json1
-rw-r--r--test/json/fixtures/fail6.json1
-rw-r--r--test/json/fixtures/fail7.json1
-rw-r--r--test/json/fixtures/fail8.json1
-rw-r--r--test/json/fixtures/fail9.json1
-rw-r--r--test/json/fixtures/pass1.json56
-rw-r--r--test/json/fixtures/pass15.json1
-rw-r--r--test/json/fixtures/pass16.json1
-rw-r--r--test/json/fixtures/pass17.json1
-rw-r--r--test/json/fixtures/pass2.json1
-rw-r--r--test/json/fixtures/pass26.json1
-rw-r--r--test/json/fixtures/pass3.json6
-rw-r--r--test/json/setup_variant.rb11
-rwxr-xr-xtest/json/test_json.rb545
-rwxr-xr-xtest/json/test_json_addition.rb196
-rw-r--r--test/json/test_json_encoding.rb65
-rwxr-xr-xtest/json/test_json_fixtures.rb35
-rwxr-xr-xtest/json/test_json_generate.rb323
-rw-r--r--test/json/test_json_generic_object.rb75
-rw-r--r--test/json/test_json_string_matching.rb39
-rwxr-xr-xtest/json/test_json_unicode.rb72
-rw-r--r--test/logger/test_logger.rb308
-rw-r--r--test/matrix/test_matrix.rb426
-rw-r--r--test/matrix/test_vector.rb154
-rw-r--r--test/minitest/metametameta.rb74
-rw-r--r--test/minitest/test_minitest_benchmark.rb135
-rw-r--r--test/minitest/test_minitest_mock.rb412
-rw-r--r--test/minitest/test_minitest_spec.rb811
-rw-r--r--test/minitest/test_minitest_unit.rb1863
-rw-r--r--test/misc/test_ruby_mode.rb181
-rw-r--r--test/mkmf/base.rb129
-rw-r--r--test/mkmf/test_config.rb17
-rw-r--r--test/mkmf/test_constant.rb37
-rw-r--r--test/mkmf/test_convertible.rb34
-rw-r--r--test/mkmf/test_find_executable.rb50
-rw-r--r--test/mkmf/test_flags.rb35
-rw-r--r--test/mkmf/test_framework.rb46
-rw-r--r--test/mkmf/test_have_func.rb14
-rw-r--r--test/mkmf/test_have_library.rb55
-rw-r--r--test/mkmf/test_have_macro.rb35
-rw-r--r--test/mkmf/test_libs.rb86
-rw-r--r--test/mkmf/test_signedness.rb29
-rw-r--r--test/mkmf/test_sizeof.rb47
-rw-r--r--test/monitor/test_monitor.rb31
-rw-r--r--test/net/ftp/test_buffered_socket.rb40
-rw-r--r--test/net/ftp/test_ftp.rb813
-rw-r--r--test/net/http/test_buffered_io.rb17
-rw-r--r--test/net/http/test_http.rb918
-rw-r--r--test/net/http/test_http_request.rb79
-rw-r--r--test/net/http/test_httpheader.rb29
-rw-r--r--test/net/http/test_httpresponse.rb254
-rw-r--r--test/net/http/test_httpresponses.rb24
-rw-r--r--test/net/http/test_https.rb153
-rw-r--r--test/net/http/test_https_proxy.rb17
-rw-r--r--test/net/http/utils.rb117
-rw-r--r--test/net/imap/Makefile15
-rw-r--r--test/net/imap/cacert.pem66
-rw-r--r--test/net/imap/server.crt48
-rw-r--r--test/net/imap/server.key15
-rw-r--r--test/net/imap/test_imap.rb535
-rw-r--r--test/net/imap/test_imap_response_parser.rb261
-rw-r--r--test/net/pop/test_pop.rb132
-rw-r--r--test/net/protocol/test_protocol.rb28
-rw-r--r--test/net/smtp/test_response.rb99
-rw-r--r--test/net/smtp/test_smtp.rb54
-rw-r--r--test/net/smtp/test_ssl_socket.rb91
-rw-r--r--test/nkf/test_kconv.rb104
-rw-r--r--test/nkf/test_nkf.rb6
-rw-r--r--test/objspace/test_objspace.rb279
-rw-r--r--test/open-uri/test_open-uri.rb716
-rw-r--r--test/open-uri/test_ssl.rb325
-rw-r--r--test/openssl/ssl_server.rb2
-rw-r--r--test/openssl/test_asn1.rb426
-rw-r--r--test/openssl/test_bn.rb52
-rw-r--r--test/openssl/test_buffering.rb87
-rw-r--r--test/openssl/test_cipher.rb172
-rw-r--r--test/openssl/test_config.rb297
-rw-r--r--test/openssl/test_digest.rb52
-rw-r--r--test/openssl/test_engine.rb75
-rw-r--r--test/openssl/test_fips.rb14
-rw-r--r--test/openssl/test_hmac.rb28
-rw-r--r--test/openssl/test_ns_spki.rb12
-rw-r--r--test/openssl/test_ocsp.rb47
-rw-r--r--test/openssl/test_pair.rb259
-rw-r--r--test/openssl/test_pkcs12.rb209
-rw-r--r--test/openssl/test_pkcs5.rb97
-rw-r--r--test/openssl/test_pkcs7.rb38
-rw-r--r--test/openssl/test_pkey_dh.rb82
-rw-r--r--test/openssl/test_pkey_dsa.rb240
-rw-r--r--test/openssl/test_pkey_ec.rb211
-rw-r--r--test/openssl/test_pkey_rsa.rb276
-rw-r--r--test/openssl/test_ssl.rb739
-rw-r--r--test/openssl/test_ssl_session.rb367
-rw-r--r--test/openssl/test_x509cert.rb129
-rw-r--r--test/openssl/test_x509crl.rb34
-rw-r--r--test/openssl/test_x509ext.rb7
-rw-r--r--test/openssl/test_x509name.rb115
-rw-r--r--test/openssl/test_x509req.rb56
-rw-r--r--test/openssl/test_x509store.rb52
-rw-r--r--test/openssl/utils.rb206
-rw-r--r--test/optparse/test_acceptable.rb195
-rw-r--r--test/optparse/test_autoconf.rb63
-rw-r--r--test/optparse/test_bash_completion.rb42
-rw-r--r--test/optparse/test_getopts.rb5
-rw-r--r--test/optparse/test_noarg.rb14
-rw-r--r--test/optparse/test_optarg.rb4
-rw-r--r--test/optparse/test_optparse.rb22
-rw-r--r--test/optparse/test_placearg.rb13
-rw-r--r--test/optparse/test_reqarg.rb22
-rw-r--r--test/optparse/test_summary.rb46
-rw-r--r--test/optparse/test_zsh_completion.rb22
-rw-r--r--test/ostruct/test_ostruct.rb115
-rw-r--r--test/pathname/test_pathname.rb922
-rw-r--r--test/profile_test_all.rb90
-rw-r--r--test/psych/handlers/test_recorder.rb25
-rw-r--r--test/psych/helper.rb114
-rw-r--r--test/psych/json/test_stream.rb109
-rw-r--r--test/psych/nodes/test_enumerable.rb43
-rw-r--r--test/psych/test_alias_and_anchor.rb96
-rw-r--r--test/psych/test_array.rb57
-rw-r--r--test/psych/test_boolean.rb36
-rw-r--r--test/psych/test_class.rb36
-rw-r--r--test/psych/test_coder.rb184
-rw-r--r--test/psych/test_date_time.rb38
-rw-r--r--test/psych/test_deprecated.rb214
-rw-r--r--test/psych/test_document.rb46
-rw-r--r--test/psych/test_emitter.rb94
-rw-r--r--test/psych/test_encoding.rb259
-rw-r--r--test/psych/test_engine_manager.rb47
-rw-r--r--test/psych/test_exception.rb151
-rw-r--r--test/psych/test_hash.rb44
-rw-r--r--test/psych/test_json_tree.rb65
-rw-r--r--test/psych/test_merge_keys.rb150
-rw-r--r--test/psych/test_nil.rb18
-rw-r--r--test/psych/test_null.rb19
-rw-r--r--test/psych/test_numeric.rb45
-rw-r--r--test/psych/test_object.rb44
-rw-r--r--test/psych/test_object_references.rb67
-rw-r--r--test/psych/test_omap.rb75
-rw-r--r--test/psych/test_parser.rb339
-rw-r--r--test/psych/test_psych.rb168
-rw-r--r--test/psych/test_safe_load.rb97
-rw-r--r--test/psych/test_scalar.rb11
-rw-r--r--test/psych/test_scalar_scanner.rb106
-rw-r--r--test/psych/test_serialize_subclasses.rb38
-rw-r--r--test/psych/test_set.rb49
-rw-r--r--test/psych/test_stream.rb93
-rw-r--r--test/psych/test_string.rb162
-rw-r--r--test/psych/test_struct.rb49
-rw-r--r--test/psych/test_symbol.rb17
-rw-r--r--test/psych/test_tainted.rb130
-rw-r--r--test/psych/test_to_yaml_properties.rb63
-rw-r--r--test/psych/test_tree_builder.rb79
-rw-r--r--test/psych/test_yaml.rb1289
-rw-r--r--test/psych/test_yamldbm.rb197
-rw-r--r--test/psych/test_yamlstore.rb87
-rw-r--r--test/psych/visitors/test_depth_first.rb49
-rw-r--r--test/psych/visitors/test_emitter.rb144
-rw-r--r--test/psych/visitors/test_to_ruby.rb326
-rw-r--r--test/psych/visitors/test_yaml_tree.rb173
-rw-r--r--test/rake/file_creation.rb34
-rw-r--r--test/rake/helper.rb128
-rw-r--r--test/rake/support/rakefile_definitions.rb444
-rw-r--r--test/rake/support/ruby_runner.rb33
-rw-r--r--test/rake/test_private_reader.rb42
-rw-r--r--test/rake/test_rake.rb40
-rw-r--r--test/rake/test_rake_application.rb517
-rw-r--r--test/rake/test_rake_application_options.rb457
-rw-r--r--test/rake/test_rake_backtrace.rb113
-rw-r--r--test/rake/test_rake_clean.rb52
-rw-r--r--test/rake/test_rake_definitions.rb79
-rw-r--r--test/rake/test_rake_directory_task.rb57
-rw-r--r--test/rake/test_rake_dsl.rb40
-rw-r--r--test/rake/test_rake_early_time.rb31
-rw-r--r--test/rake/test_rake_extension.rb59
-rw-r--r--test/rake/test_rake_file_creation_task.rb56
-rw-r--r--test/rake/test_rake_file_list.rb627
-rw-r--r--test/rake/test_rake_file_list_path_map.rb8
-rw-r--r--test/rake/test_rake_file_task.rb122
-rw-r--r--test/rake/test_rake_file_utils.rb309
-rw-r--r--test/rake/test_rake_ftp_file.rb74
-rw-r--r--test/rake/test_rake_functional.rb466
-rw-r--r--test/rake/test_rake_invocation_chain.rb64
-rw-r--r--test/rake/test_rake_linked_list.rb84
-rw-r--r--test/rake/test_rake_makefile_loader.rb46
-rw-r--r--test/rake/test_rake_multi_task.rb58
-rw-r--r--test/rake/test_rake_name_space.rb43
-rw-r--r--test/rake/test_rake_package_task.rb79
-rw-r--r--test/rake/test_rake_path_map.rb168
-rw-r--r--test/rake/test_rake_path_map_explode.rb34
-rw-r--r--test/rake/test_rake_path_map_partial.rb18
-rw-r--r--test/rake/test_rake_pseudo_status.rb21
-rw-r--r--test/rake/test_rake_rake_test_loader.rb20
-rw-r--r--test/rake/test_rake_reduce_compat.rb26
-rw-r--r--test/rake/test_rake_require.rb40
-rw-r--r--test/rake/test_rake_rules.rb362
-rw-r--r--test/rake/test_rake_scope.rb44
-rw-r--r--test/rake/test_rake_task.rb376
-rw-r--r--test/rake/test_rake_task_argument_parsing.rb103
-rw-r--r--test/rake/test_rake_task_arguments.rb121
-rw-r--r--test/rake/test_rake_task_lib.rb9
-rw-r--r--test/rake/test_rake_task_manager.rb158
-rw-r--r--test/rake/test_rake_task_manager_argument_resolution.rb19
-rw-r--r--test/rake/test_rake_task_with_arguments.rb171
-rw-r--r--test/rake/test_rake_test_task.rb119
-rw-r--r--test/rake/test_rake_thread_pool.rb142
-rw-r--r--test/rake/test_rake_top_level_functions.rb71
-rw-r--r--test/rake/test_rake_win32.rb72
-rw-r--r--test/rake/test_thread_history_display.rb101
-rw-r--r--test/rake/test_trace_output.rb52
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Amps and angle encoding.text21
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Auto links.text13
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Backslash escapes.text120
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Blockquotes with code blocks.text11
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Code Blocks.text14
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Code Spans.text6
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text8
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Horizontal rules.text67
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Inline HTML (Advanced).text15
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Inline HTML (Simple).text69
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Inline HTML comments.text13
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Links, inline style.text12
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Links, reference style.text71
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Links, shortcut references.text20
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Literal quotes in titles.text7
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Markdown Documentation - Basics.text306
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text888
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Nested blockquotes.text5
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Ordered and unordered lists.text131
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Strong and em together.text7
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Tabs.text21
-rw-r--r--test/rdoc/MarkdownTest_1.0.3/Tidyness.text5
-rw-r--r--test/rdoc/README1
-rw-r--r--test/rdoc/binary.datbin1024 -> 0 bytes-rw-r--r--test/rdoc/hidden.zip.txt1
-rw-r--r--test/rdoc/parsers/test_parse_c.rb261
-rw-r--r--test/rdoc/test.ja.large.rdoc3
-rw-r--r--test/rdoc/test.ja.largedoc3
-rw-r--r--test/rdoc/test.ja.rdoc10
-rw-r--r--test/rdoc/test.ja.txt8
-rw-r--r--test/rdoc/test.txt1
-rw-r--r--test/rdoc/test_attribute_manager.rb120
-rw-r--r--test/rdoc/test_rdoc_alias.rb13
-rw-r--r--test/rdoc/test_rdoc_any_method.rb431
-rw-r--r--test/rdoc/test_rdoc_attr.rb190
-rw-r--r--test/rdoc/test_rdoc_class_module.rb1492
-rw-r--r--test/rdoc/test_rdoc_code_object.rb450
-rw-r--r--test/rdoc/test_rdoc_comment.rb504
-rw-r--r--test/rdoc/test_rdoc_constant.rb151
-rw-r--r--test/rdoc/test_rdoc_context.rb899
-rw-r--r--test/rdoc/test_rdoc_context_section.rb130
-rw-r--r--test/rdoc/test_rdoc_cross_reference.rb192
-rw-r--r--test/rdoc/test_rdoc_encoding.rb204
-rw-r--r--test/rdoc/test_rdoc_extend.rb94
-rw-r--r--test/rdoc/test_rdoc_generator_darkfish.rb229
-rw-r--r--test/rdoc/test_rdoc_generator_json_index.rb264
-rw-r--r--test/rdoc/test_rdoc_generator_markup.rb59
-rw-r--r--test/rdoc/test_rdoc_generator_ri.rb78
-rw-r--r--test/rdoc/test_rdoc_include.rb108
-rw-r--r--test/rdoc/test_rdoc_markdown.rb980
-rw-r--r--test/rdoc/test_rdoc_markdown_test.rb1884
-rw-r--r--test/rdoc/test_rdoc_markup.rb95
-rw-r--r--test/rdoc/test_rdoc_markup_attribute_manager.rb358
-rw-r--r--test/rdoc/test_rdoc_markup_attributes.rb39
-rw-r--r--test/rdoc/test_rdoc_markup_document.rb207
-rw-r--r--test/rdoc/test_rdoc_markup_formatter.rb175
-rw-r--r--test/rdoc/test_rdoc_markup_hard_break.rb31
-rw-r--r--test/rdoc/test_rdoc_markup_heading.rb29
-rw-r--r--test/rdoc/test_rdoc_markup_include.rb19
-rw-r--r--test/rdoc/test_rdoc_markup_indented_paragraph.rb53
-rw-r--r--test/rdoc/test_rdoc_markup_paragraph.rb32
-rw-r--r--test/rdoc/test_rdoc_markup_parser.rb1680
-rw-r--r--test/rdoc/test_rdoc_markup_pre_process.rb473
-rw-r--r--test/rdoc/test_rdoc_markup_raw.rb22
-rw-r--r--test/rdoc/test_rdoc_markup_to_ansi.rb369
-rw-r--r--test/rdoc/test_rdoc_markup_to_bs.rb366
-rw-r--r--test/rdoc/test_rdoc_markup_to_html.rb643
-rw-r--r--test/rdoc/test_rdoc_markup_to_html_crossref.rb225
-rw-r--r--test/rdoc/test_rdoc_markup_to_html_snippet.rb710
-rw-r--r--test/rdoc/test_rdoc_markup_to_joined_paragraph.rb32
-rw-r--r--test/rdoc/test_rdoc_markup_to_label.rb112
-rw-r--r--test/rdoc/test_rdoc_markup_to_markdown.rb389
-rw-r--r--test/rdoc/test_rdoc_markup_to_rdoc.rb377
-rw-r--r--test/rdoc/test_rdoc_markup_to_table_of_contents.rb126
-rw-r--r--test/rdoc/test_rdoc_markup_to_tt_only.rb246
-rw-r--r--test/rdoc/test_rdoc_markup_verbatim.rb29
-rw-r--r--test/rdoc/test_rdoc_method_attr.rb163
-rw-r--r--test/rdoc/test_rdoc_normal_class.rb47
-rw-r--r--test/rdoc/test_rdoc_normal_module.rb42
-rw-r--r--test/rdoc/test_rdoc_options.rb747
-rw-r--r--test/rdoc/test_rdoc_parser.rb312
-rw-r--r--test/rdoc/test_rdoc_parser_c.rb1825
-rw-r--r--test/rdoc/test_rdoc_parser_changelog.rb315
-rw-r--r--test/rdoc/test_rdoc_parser_markdown.rb61
-rw-r--r--test/rdoc/test_rdoc_parser_rd.rb55
-rw-r--r--test/rdoc/test_rdoc_parser_ruby.rb3310
-rw-r--r--test/rdoc/test_rdoc_parser_simple.rb115
-rw-r--r--test/rdoc/test_rdoc_rd.rb30
-rw-r--r--test/rdoc/test_rdoc_rd_block_parser.rb533
-rw-r--r--test/rdoc/test_rdoc_rd_inline.rb63
-rw-r--r--test/rdoc/test_rdoc_rd_inline_parser.rb177
-rw-r--r--test/rdoc/test_rdoc_rdoc.rb434
-rw-r--r--test/rdoc/test_rdoc_require.rb25
-rw-r--r--test/rdoc/test_rdoc_ri_driver.rb1436
-rw-r--r--test/rdoc/test_rdoc_ri_paths.rb155
-rw-r--r--test/rdoc/test_rdoc_ruby_lex.rb410
-rw-r--r--test/rdoc/test_rdoc_ruby_token.rb19
-rw-r--r--test/rdoc/test_rdoc_rubygems_hook.rb254
-rw-r--r--test/rdoc/test_rdoc_servlet.rb535
-rw-r--r--test/rdoc/test_rdoc_single_class.rb12
-rw-r--r--test/rdoc/test_rdoc_stats.rb667
-rw-r--r--test/rdoc/test_rdoc_store.rb993
-rw-r--r--test/rdoc/test_rdoc_task.rb120
-rw-r--r--test/rdoc/test_rdoc_text.rb554
-rw-r--r--test/rdoc/test_rdoc_token_stream.rb42
-rw-r--r--test/rdoc/test_rdoc_tom_doc.rb520
-rw-r--r--test/rdoc/test_rdoc_top_level.rb287
-rw-r--r--test/rdoc/xref_data.rb76
-rw-r--r--test/rdoc/xref_test_case.rb67
-rw-r--r--test/readline/test_readline.rb518
-rw-r--r--test/readline/test_readline_history.rb292
-rw-r--r--test/resolv/test_addr.rb28
-rw-r--r--test/resolv/test_dns.rb164
-rw-r--r--test/rexml/data/LostineRiver.kml.gzbin50154 -> 0 bytes-rw-r--r--test/rexml/data/ProductionSupport.xml29
-rw-r--r--test/rexml/data/axis.xml25
-rw-r--r--test/rexml/data/bad.xml5
-rw-r--r--test/rexml/data/basic.xml11
-rw-r--r--test/rexml/data/basicupdate.xml47
-rw-r--r--test/rexml/data/broken.rss20
-rw-r--r--test/rexml/data/contents.xml70
-rw-r--r--test/rexml/data/dash.xml12
-rw-r--r--test/rexml/data/defaultNamespace.xml6
-rw-r--r--test/rexml/data/doctype_test.xml34
-rw-r--r--test/rexml/data/documentation.xml542
-rw-r--r--test/rexml/data/euc.xml296
-rw-r--r--test/rexml/data/evaluate.xml28
-rw-r--r--test/rexml/data/fibo.xml29
-rw-r--r--test/rexml/data/foo.xml10
-rw-r--r--test/rexml/data/google.2.xml156
-rw-r--r--test/rexml/data/id.xml21
-rw-r--r--test/rexml/data/iso8859-1.xml4
-rw-r--r--test/rexml/data/jaxen24.xml2
-rw-r--r--test/rexml/data/jaxen3.xml15
-rw-r--r--test/rexml/data/lang.xml11
-rw-r--r--test/rexml/data/lang0.xml18
-rw-r--r--test/rexml/data/message.xml27
-rw-r--r--test/rexml/data/moreover.xml244
-rw-r--r--test/rexml/data/much_ado.xml6850
-rw-r--r--test/rexml/data/namespaces.xml18
-rw-r--r--test/rexml/data/nitf.xml67
-rw-r--r--test/rexml/data/numbers.xml18
-rw-r--r--test/rexml/data/ofbiz-issues-full-177.xml13971
-rw-r--r--test/rexml/data/pi.xml13
-rw-r--r--test/rexml/data/pi2.xml6
-rw-r--r--test/rexml/data/project.xml1
-rw-r--r--test/rexml/data/simple.xml2
-rw-r--r--test/rexml/data/stream_accents.xml4
-rw-r--r--test/rexml/data/t63-1.xmlbin161690 -> 0 bytes-rw-r--r--test/rexml/data/t63-2.svg2828
-rw-r--r--test/rexml/data/t75.xml31
-rw-r--r--test/rexml/data/test/tests.xml683
-rw-r--r--test/rexml/data/test/tests.xsl369
-rw-r--r--test/rexml/data/testNamespaces.xml22
-rw-r--r--test/rexml/data/testsrc.xml64
-rw-r--r--test/rexml/data/text.xml10
-rw-r--r--test/rexml/data/ticket_110_utf16.xmlbin207464 -> 0 bytes-rw-r--r--test/rexml/data/ticket_61.xml4
-rw-r--r--test/rexml/data/ticket_68.xml590
-rw-r--r--test/rexml/data/tutorial.xml678
-rw-r--r--test/rexml/data/underscore.xml6
-rw-r--r--test/rexml/data/web.xml42
-rw-r--r--test/rexml/data/web2.xml7
-rw-r--r--test/rexml/data/working.rss202
-rw-r--r--test/rexml/data/xmlfile-bug.xml15
-rw-r--r--test/rexml/data/xp.tst27
-rw-r--r--test/rexml/data/yahoo.xml80
-rw-r--r--test/rexml/listener.rb50
-rw-r--r--test/rexml/parse/test_document_type_declaration.rb47
-rw-r--r--test/rexml/parse/test_notation_declaration.rb97
-rw-r--r--test/rexml/parser/test_sax2.rb200
-rw-r--r--test/rexml/parser/test_tree.rb40
-rw-r--r--test/rexml/parser/test_ultra_light.rb67
-rw-r--r--test/rexml/rexml_test_utils.rb6
-rw-r--r--test/rexml/test_attributes.rb220
-rw-r--r--test/rexml/test_attributes_mixin.rb29
-rw-r--r--test/rexml/test_changing_encoding.rb43
-rw-r--r--test/rexml/test_comment.rb25
-rw-r--r--test/rexml/test_contrib.rb581
-rw-r--r--test/rexml/test_core.rb1462
-rw-r--r--test/rexml/test_doctype.rb104
-rw-r--r--test/rexml/test_document.rb397
-rw-r--r--test/rexml/test_elements.rb116
-rw-r--r--test/rexml/test_encoding.rb94
-rw-r--r--test/rexml/test_encoding_2.rb59
-rw-r--r--test/rexml/test_entity.rb203
-rw-r--r--test/rexml/test_functions.rb223
-rw-r--r--test/rexml/test_functions_number.rb32
-rw-r--r--test/rexml/test_jaxen.rb126
-rw-r--r--test/rexml/test_light.rb104
-rw-r--r--test/rexml/test_lightparser.rb12
-rw-r--r--test/rexml/test_listener.rb129
-rw-r--r--test/rexml/test_martin_fowler.rb37
-rw-r--r--test/rexml/test_namespace.rb38
-rw-r--r--test/rexml/test_order.rb105
-rw-r--r--test/rexml/test_preceding_sibling.rb38
-rw-r--r--test/rexml/test_pullparser.rb100
-rw-r--r--test/rexml/test_rexml_issuezilla.rb14
-rw-r--r--test/rexml/test_sax.rb279
-rw-r--r--test/rexml/test_stream.rb127
-rw-r--r--test/rexml/test_text.rb19
-rw-r--r--test/rexml/test_ticket_80.rb56
-rw-r--r--test/rexml/test_validation_rng.rb790
-rw-r--r--test/rexml/test_xml_declaration.rb33
-rw-r--r--test/rexml/test_xpath.rb1079
-rw-r--r--test/rexml/test_xpath_attribute_query.rb89
-rw-r--r--test/rexml/test_xpath_msw.rb38
-rw-r--r--test/rexml/test_xpath_pred.rb80
-rw-r--r--test/rexml/test_xpathtext.rb72
-rw-r--r--test/rinda/test_rinda.rb590
-rw-r--r--test/rinda/test_tuplebag.rb172
-rw-r--r--test/ripper/dummyparser.rb216
-rw-r--r--test/ripper/test_files.rb24
-rw-r--r--test/ripper/test_filter.rb83
-rw-r--r--test/ripper/test_parser_events.rb1190
-rw-r--r--test/ripper/test_ripper.rb49
-rw-r--r--test/ripper/test_scanner_events.rb892
-rw-r--r--test/rss/dot.pngbin111 -> 0 bytes-rw-r--r--test/rss/rss-assertions.rb1944
-rw-r--r--test/rss/rss-testcase.rb218
-rw-r--r--test/rss/test_1.0.rb212
-rw-r--r--test/rss/test_2.0.rb147
-rw-r--r--test/rss/test_accessor.rb34
-rw-r--r--test/rss/test_atom.rb683
-rw-r--r--test/rss/test_content.rb78
-rw-r--r--test/rss/test_dublincore.rb320
-rw-r--r--test/rss/test_image.rb51
-rw-r--r--test/rss/test_inherit.rb7
-rw-r--r--test/rss/test_itunes.rb347
-rw-r--r--test/rss/test_maker_0.9.rb217
-rw-r--r--test/rss/test_maker_1.0.rb283
-rw-r--r--test/rss/test_maker_2.0.rb200
-rw-r--r--test/rss/test_maker_atom_entry.rb393
-rw-r--r--test/rss/test_maker_atom_feed.rb454
-rw-r--r--test/rss/test_maker_content.rb17
-rw-r--r--test/rss/test_maker_dc.rb24
-rw-r--r--test/rss/test_maker_image.rb6
-rw-r--r--test/rss/test_maker_itunes.rb471
-rw-r--r--test/rss/test_maker_slash.rb37
-rw-r--r--test/rss/test_maker_sy.rb7
-rw-r--r--test/rss/test_maker_taxo.rb8
-rw-r--r--test/rss/test_maker_trackback.rb4
-rw-r--r--test/rss/test_maker_xml-stylesheet.rb16
-rw-r--r--test/rss/test_parser.rb36
-rw-r--r--test/rss/test_parser_1.0.rb29
-rw-r--r--test/rss/test_parser_2.0.rb2
-rw-r--r--test/rss/test_parser_atom_entry.rb163
-rw-r--r--test/rss/test_parser_atom_feed.rb276
-rw-r--r--test/rss/test_setup_maker_0.9.rb51
-rw-r--r--test/rss/test_setup_maker_1.0.rb112
-rw-r--r--test/rss/test_setup_maker_2.0.rb44
-rw-r--r--test/rss/test_setup_maker_atom_entry.rb409
-rw-r--r--test/rss/test_setup_maker_atom_feed.rb445
-rw-r--r--test/rss/test_setup_maker_itunes.rb144
-rw-r--r--test/rss/test_setup_maker_slash.rb38
-rw-r--r--test/rss/test_slash.rb64
-rw-r--r--test/rss/test_syndication.rb42
-rw-r--r--test/rss/test_taxonomy.rb32
-rw-r--r--test/rss/test_to_s.rb264
-rw-r--r--test/rss/test_trackback.rb30
-rw-r--r--test/rss/test_version.rb4
-rw-r--r--test/rss/test_xml-stylesheet.rb24
-rw-r--r--test/ruby/allpairs.rb102
-rw-r--r--test/ruby/beginmainend.rb2
-rw-r--r--test/ruby/enc/test_big5.rb28
-rw-r--r--test/ruby/enc/test_cp949.rb28
-rw-r--r--test/ruby/enc/test_emoji.rb442
-rw-r--r--test/ruby/enc/test_euc_jp.rb24
-rw-r--r--test/ruby/enc/test_euc_kr.rb36
-rw-r--r--test/ruby/enc/test_euc_tw.rb28
-rw-r--r--test/ruby/enc/test_gb18030.rb126
-rw-r--r--test/ruby/enc/test_gbk.rb28
-rw-r--r--test/ruby/enc/test_iso_8859.rb163
-rw-r--r--test/ruby/enc/test_koi8.rb22
-rw-r--r--test/ruby/enc/test_shift_jis.rb27
-rw-r--r--test/ruby/enc/test_utf16.rb384
-rw-r--r--test/ruby/enc/test_utf32.rb93
-rw-r--r--test/ruby/enc/test_windows_1251.rb16
-rw-r--r--test/ruby/endblockwarn.rb (renamed from test/ruby/endblockwarn_rb)0
-rw-r--r--test/ruby/envutil.rb467
-rw-r--r--test/ruby/lbtest.rb49
-rw-r--r--test/ruby/marshaltestlib.rb186
-rw-r--r--test/ruby/memory_status.rb127
-rw-r--r--test/ruby/sentence.rb668
-rw-r--r--test/ruby/test_alias.rb189
-rw-r--r--test/ruby/test_argf.rb853
-rw-r--r--test/ruby/test_arity.rb69
-rw-r--r--test/ruby/test_array.rb2377
-rw-r--r--test/ruby/test_assignment.rb710
-rw-r--r--test/ruby/test_autoload.rb176
-rw-r--r--test/ruby/test_backtrace.rb244
-rw-r--r--test/ruby/test_basicinstructions.rb700
-rw-r--r--test/ruby/test_beginendblock.rb173
-rw-r--r--test/ruby/test_bignum.rb628
-rw-r--r--test/ruby/test_call.rb19
-rw-r--r--test/ruby/test_case.rb76
-rw-r--r--test/ruby/test_class.rb381
-rw-r--r--test/ruby/test_clone.rb2
-rw-r--r--test/ruby/test_comparable.rb86
-rw-r--r--test/ruby/test_complex.rb1163
-rw-r--r--test/ruby/test_complex2.rb735
-rw-r--r--test/ruby/test_complexrational.rb407
-rw-r--r--test/ruby/test_const.rb43
-rw-r--r--test/ruby/test_continuation.rb135
-rw-r--r--test/ruby/test_defined.rb173
-rw-r--r--test/ruby/test_dir.rb249
-rw-r--r--test/ruby/test_dir_m17n.rb331
-rw-r--r--test/ruby/test_econv.rb924
-rw-r--r--test/ruby/test_encoding.rb120
-rw-r--r--test/ruby/test_enum.rb454
-rw-r--r--test/ruby/test_enumerator.rb629
-rw-r--r--test/ruby/test_env.rb489
-rw-r--r--test/ruby/test_eval.rb455
-rw-r--r--test/ruby/test_exception.rb432
-rw-r--r--test/ruby/test_fiber.rb348
-rw-r--r--test/ruby/test_file.rb414
-rw-r--r--test/ruby/test_file_exhaustive.rb1203
-rw-r--r--test/ruby/test_fixnum.rb308
-rw-r--r--test/ruby/test_flip.rb42
-rw-r--r--test/ruby/test_float.rb545
-rw-r--r--test/ruby/test_fnmatch.rb132
-rw-r--r--test/ruby/test_gc.rb279
-rw-r--r--test/ruby/test_hash.rb1217
-rw-r--r--test/ruby/test_ifunless.rb14
-rw-r--r--test/ruby/test_integer.rb280
-rw-r--r--test/ruby/test_integer_comb.rb631
-rw-r--r--test/ruby/test_io.rb3004
-rw-r--r--test/ruby/test_io_m17n.rb2538
-rw-r--r--test/ruby/test_iseq.rb127
-rw-r--r--test/ruby/test_iterator.rb150
-rw-r--r--test/ruby/test_keyword.rb523
-rw-r--r--test/ruby/test_lambda.rb136
-rw-r--r--test/ruby/test_lazy_enumerator.rb493
-rw-r--r--test/ruby/test_literal.rb437
-rw-r--r--test/ruby/test_m17n.rb1572
-rw-r--r--test/ruby/test_m17n_comb.rb1609
-rw-r--r--test/ruby/test_marshal.rb586
-rw-r--r--test/ruby/test_math.rb284
-rw-r--r--test/ruby/test_metaclass.rb167
-rw-r--r--test/ruby/test_method.rb716
-rw-r--r--test/ruby/test_mixed_unicode_escapes.rb25
-rw-r--r--test/ruby/test_module.rb1996
-rw-r--r--test/ruby/test_not.rb12
-rw-r--r--test/ruby/test_notimp.rb84
-rw-r--r--test/ruby/test_numeric.rb332
-rw-r--r--test/ruby/test_object.rb827
-rw-r--r--test/ruby/test_objectspace.rb65
-rw-r--r--test/ruby/test_optimization.rb203
-rw-r--r--test/ruby/test_pack.rb670
-rw-r--r--test/ruby/test_parse.rb855
-rw-r--r--test/ruby/test_path.rb57
-rw-r--r--test/ruby/test_pipe.rb17
-rw-r--r--test/ruby/test_primitive.rb423
-rw-r--r--test/ruby/test_proc.rb1216
-rw-r--r--test/ruby/test_process.rb1867
-rw-r--r--test/ruby/test_rand.rb556
-rw-r--r--test/ruby/test_range.rb553
-rw-r--r--test/ruby/test_rational.rb1169
-rw-r--r--test/ruby/test_rational2.rb1386
-rw-r--r--test/ruby/test_readpartial.rb14
-rw-r--r--test/ruby/test_refinement.rb1175
-rw-r--r--test/ruby/test_regexp.rb1082
-rw-r--r--test/ruby/test_require.rb668
-rw-r--r--test/ruby/test_rubyoptions.rb682
-rw-r--r--test/ruby/test_rubyvm.rb16
-rw-r--r--test/ruby/test_settracefunc.rb1455
-rw-r--r--test/ruby/test_signal.rb312
-rw-r--r--test/ruby/test_sleep.rb22
-rw-r--r--test/ruby/test_sprintf.rb380
-rw-r--r--test/ruby/test_sprintf_comb.rb553
-rw-r--r--test/ruby/test_string.rb2228
-rw-r--r--test/ruby/test_stringchar.rb65
-rw-r--r--test/ruby/test_struct.rb307
-rw-r--r--test/ruby/test_super.rb384
-rw-r--r--test/ruby/test_symbol.rb160
-rw-r--r--test/ruby/test_syntax.rb448
-rw-r--r--test/ruby/test_system.rb183
-rw-r--r--test/ruby/test_thread.rb1011
-rw-r--r--test/ruby/test_threadgroup.rb55
-rw-r--r--test/ruby/test_time.rb960
-rw-r--r--test/ruby/test_time_tz.rb406
-rw-r--r--test/ruby/test_trace.rb46
-rw-r--r--test/ruby/test_transcode.rb2094
-rw-r--r--test/ruby/test_undef.rb37
-rw-r--r--test/ruby/test_unicode_escape.rb271
-rw-r--r--test/ruby/test_variable.rb64
-rw-r--r--test/ruby/test_weakmap.rb134
-rw-r--r--test/ruby/test_whileuntil.rb114
-rw-r--r--test/ruby/test_yield.rb393
-rw-r--r--test/ruby/ut_eof.rb16
-rw-r--r--test/rubygems/alternate_cert.pem18
-rw-r--r--test/rubygems/alternate_cert_32.pem18
-rw-r--r--test/rubygems/alternate_key.pem27
-rw-r--r--test/rubygems/bad_rake.rb1
-rw-r--r--test/rubygems/bogussources.rb8
-rw-r--r--test/rubygems/ca_cert.pem68
-rw-r--r--test/rubygems/child_cert.pem18
-rw-r--r--test/rubygems/child_cert_32.pem18
-rw-r--r--test/rubygems/child_key.pem27
-rw-r--r--test/rubygems/client.pem49
-rw-r--r--test/rubygems/data/gem-private_key.pem27
-rw-r--r--test/rubygems/data/gem-public_cert.pem20
-rw-r--r--test/rubygems/data/null-type.gemspec.rzbin554 -> 0 bytes-rw-r--r--test/rubygems/encrypted_private_key.pem30
-rw-r--r--test/rubygems/expired_cert.pem18
-rw-r--r--test/rubygems/fake_certlib/openssl.rb7
-rw-r--r--test/rubygems/fix_openssl_warnings.rb12
-rw-r--r--test/rubygems/future_cert.pem18
-rw-r--r--test/rubygems/future_cert_32.pem18
-rw-r--r--test/rubygems/good_rake.rb1
-rw-r--r--test/rubygems/grandchild_cert.pem18
-rw-r--r--test/rubygems/grandchild_cert_32.pem18
-rw-r--r--test/rubygems/grandchild_key.pem27
-rw-r--r--test/rubygems/invalid_client.pem49
-rw-r--r--test/rubygems/invalid_issuer_cert.pem18
-rw-r--r--test/rubygems/invalid_issuer_cert_32.pem18
-rw-r--r--test/rubygems/invalid_key.pem27
-rw-r--r--test/rubygems/invalid_signer_cert.pem18
-rw-r--r--test/rubygems/invalid_signer_cert_32.pem18
-rw-r--r--test/rubygems/invalidchild_cert.pem18
-rw-r--r--test/rubygems/invalidchild_cert_32.pem18
-rw-r--r--test/rubygems/invalidchild_key.pem27
-rw-r--r--test/rubygems/plugin/exception/rubygems_plugin.rb2
-rw-r--r--test/rubygems/plugin/load/rubygems_plugin.rb3
-rw-r--r--test/rubygems/plugin/standarderror/rubygems_plugin.rb2
-rw-r--r--test/rubygems/private_key.pem27
-rw-r--r--test/rubygems/public_cert.pem18
-rw-r--r--test/rubygems/public_cert_32.pem18
-rw-r--r--test/rubygems/public_key.pem9
-rw-r--r--test/rubygems/rubygems/commands/crash_command.rb5
-rw-r--r--test/rubygems/rubygems_plugin.rb21
-rw-r--r--test/rubygems/simple_gem.rb66
-rw-r--r--test/rubygems/specifications/bar-0.0.2.gemspec9
-rw-r--r--test/rubygems/specifications/foo-0.0.1.gemspecbin269 -> 0 bytes-rw-r--r--test/rubygems/test_bundled_ca.rb60
-rw-r--r--test/rubygems/test_config.rb14
-rw-r--r--test/rubygems/test_deprecate.rb76
-rw-r--r--test/rubygems/test_gem.rb1415
-rw-r--r--test/rubygems/test_gem_available_set.rb125
-rw-r--r--test/rubygems/test_gem_command.rb188
-rw-r--r--test/rubygems/test_gem_command_manager.rb263
-rw-r--r--test/rubygems/test_gem_commands_build_command.rb110
-rw-r--r--test/rubygems/test_gem_commands_cert_command.rb669
-rw-r--r--test/rubygems/test_gem_commands_check_command.rb68
-rw-r--r--test/rubygems/test_gem_commands_cleanup_command.rb167
-rw-r--r--test/rubygems/test_gem_commands_contents_command.rb196
-rw-r--r--test/rubygems/test_gem_commands_dependency_command.rb221
-rw-r--r--test/rubygems/test_gem_commands_environment_command.rb152
-rw-r--r--test/rubygems/test_gem_commands_fetch_command.rb126
-rw-r--r--test/rubygems/test_gem_commands_generate_index_command.rb50
-rw-r--r--test/rubygems/test_gem_commands_help_command.rb67
-rw-r--r--test/rubygems/test_gem_commands_install_command.rb898
-rw-r--r--test/rubygems/test_gem_commands_list_command.rb33
-rw-r--r--test/rubygems/test_gem_commands_lock_command.rb68
-rw-r--r--test/rubygems/test_gem_commands_mirror.rb32
-rw-r--r--test/rubygems/test_gem_commands_outdated_command.rb33
-rw-r--r--test/rubygems/test_gem_commands_owner_command.rb204
-rw-r--r--test/rubygems/test_gem_commands_pristine_command.rb370
-rw-r--r--test/rubygems/test_gem_commands_push_command.rb262
-rw-r--r--test/rubygems/test_gem_commands_query_command.rb668
-rw-r--r--test/rubygems/test_gem_commands_search_command.rb17
-rw-r--r--test/rubygems/test_gem_commands_server_command.rb59
-rw-r--r--test/rubygems/test_gem_commands_setup_command.rb129
-rw-r--r--test/rubygems/test_gem_commands_sources_command.rb248
-rw-r--r--test/rubygems/test_gem_commands_specification_command.rb250
-rw-r--r--test/rubygems/test_gem_commands_stale_command.rb40
-rw-r--r--test/rubygems/test_gem_commands_uninstall_command.rb245
-rw-r--r--test/rubygems/test_gem_commands_unpack_command.rb210
-rw-r--r--test/rubygems/test_gem_commands_update_command.rb467
-rw-r--r--test/rubygems/test_gem_commands_which_command.rb85
-rw-r--r--test/rubygems/test_gem_commands_yank_command.rb97
-rw-r--r--test/rubygems/test_gem_config_file.rb455
-rw-r--r--test/rubygems/test_gem_dependency.rb223
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb1298
-rw-r--r--test/rubygems/test_gem_dependency_list.rb259
-rw-r--r--test/rubygems/test_gem_dependency_resolution_error.rb28
-rw-r--r--test/rubygems/test_gem_doctor.rb168
-rw-r--r--test/rubygems/test_gem_ext_builder.rb323
-rw-r--r--test/rubygems/test_gem_ext_cmake_builder.rb84
-rw-r--r--test/rubygems/test_gem_ext_configure_builder.rb82
-rw-r--r--test/rubygems/test_gem_ext_ext_conf_builder.rb206
-rw-r--r--test/rubygems/test_gem_ext_rake_builder.rb64
-rw-r--r--test/rubygems/test_gem_gem_runner.rb68
-rw-r--r--test/rubygems/test_gem_gemcutter_utilities.rb225
-rw-r--r--test/rubygems/test_gem_impossible_dependencies_error.rb45
-rw-r--r--test/rubygems/test_gem_indexer.rb366
-rw-r--r--test/rubygems/test_gem_install_update_options.rb150
-rw-r--r--test/rubygems/test_gem_installer.rb1452
-rw-r--r--test/rubygems/test_gem_local_remote_options.rb120
-rw-r--r--test/rubygems/test_gem_name_tuple.rb37
-rw-r--r--test/rubygems/test_gem_package.rb805
-rw-r--r--test/rubygems/test_gem_package_old.rb89
-rw-r--r--test/rubygems/test_gem_package_tar_header.rb144
-rw-r--r--test/rubygems/test_gem_package_tar_reader.rb79
-rw-r--r--test/rubygems/test_gem_package_tar_reader_entry.rb119
-rw-r--r--test/rubygems/test_gem_package_tar_writer.rb249
-rw-r--r--test/rubygems/test_gem_package_task.rb80
-rw-r--r--test/rubygems/test_gem_path_support.rb84
-rw-r--r--test/rubygems/test_gem_platform.rb296
-rw-r--r--test/rubygems/test_gem_rdoc.rb269
-rw-r--r--test/rubygems/test_gem_remote_fetcher.rb827
-rw-r--r--test/rubygems/test_gem_request.rb348
-rw-r--r--test/rubygems/test_gem_request_set.rb353
-rw-r--r--test/rubygems/test_gem_request_set_gem_dependency_api.rb684
-rw-r--r--test/rubygems/test_gem_request_set_lockfile.rb857
-rw-r--r--test/rubygems/test_gem_requirement.rb363
-rw-r--r--test/rubygems/test_gem_resolver.rb605
-rw-r--r--test/rubygems/test_gem_resolver_activation_request.rb63
-rw-r--r--test/rubygems/test_gem_resolver_api_set.rb208
-rw-r--r--test/rubygems/test_gem_resolver_api_specification.rb104
-rw-r--r--test/rubygems/test_gem_resolver_best_set.rb80
-rw-r--r--test/rubygems/test_gem_resolver_composed_set.rb18
-rw-r--r--test/rubygems/test_gem_resolver_conflict.rb75
-rw-r--r--test/rubygems/test_gem_resolver_dependency_request.rb20
-rw-r--r--test/rubygems/test_gem_resolver_git_set.rb163
-rw-r--r--test/rubygems/test_gem_resolver_git_specification.rb100
-rw-r--r--test/rubygems/test_gem_resolver_index_set.rb63
-rw-r--r--test/rubygems/test_gem_resolver_index_specification.rb89
-rw-r--r--test/rubygems/test_gem_resolver_installed_specification.rb49
-rw-r--r--test/rubygems/test_gem_resolver_installer_set.rb92
-rw-r--r--test/rubygems/test_gem_resolver_local_specification.rb45
-rw-r--r--test/rubygems/test_gem_resolver_lock_set.rb57
-rw-r--r--test/rubygems/test_gem_resolver_lock_specification.rb87
-rw-r--r--test/rubygems/test_gem_resolver_requirement_list.rb20
-rw-r--r--test/rubygems/test_gem_resolver_specification.rb32
-rw-r--r--test/rubygems/test_gem_resolver_vendor_set.rb67
-rw-r--r--test/rubygems/test_gem_resolver_vendor_specification.rb83
-rw-r--r--test/rubygems/test_gem_security.rb306
-rw-r--r--test/rubygems/test_gem_security_policy.rb540
-rw-r--r--test/rubygems/test_gem_security_signer.rb208
-rw-r--r--test/rubygems/test_gem_security_trust_dir.rb98
-rw-r--r--test/rubygems/test_gem_server.rb339
-rw-r--r--test/rubygems/test_gem_silent_ui.rb111
-rw-r--r--test/rubygems/test_gem_source.rb211
-rw-r--r--test/rubygems/test_gem_source_fetch_problem.rb19
-rw-r--r--test/rubygems/test_gem_source_git.rb274
-rw-r--r--test/rubygems/test_gem_source_installed.rb28
-rw-r--r--test/rubygems/test_gem_source_list.rb111
-rw-r--r--test/rubygems/test_gem_source_local.rb106
-rw-r--r--test/rubygems/test_gem_source_lock.rb114
-rw-r--r--test/rubygems/test_gem_source_specific_file.rb71
-rw-r--r--test/rubygems/test_gem_source_vendor.rb27
-rw-r--r--test/rubygems/test_gem_spec_fetcher.rb310
-rw-r--r--test/rubygems/test_gem_specification.rb2998
-rw-r--r--test/rubygems/test_gem_stream_ui.rb238
-rw-r--r--test/rubygems/test_gem_stub_specification.rb143
-rw-r--r--test/rubygems/test_gem_text.rb58
-rw-r--r--test/rubygems/test_gem_uninstaller.rb460
-rw-r--r--test/rubygems/test_gem_uri_formatter.rb28
-rw-r--r--test/rubygems/test_gem_util.rb31
-rw-r--r--test/rubygems/test_gem_validator.rb45
-rw-r--r--test/rubygems/test_gem_version.rb213
-rw-r--r--test/rubygems/test_gem_version_option.rb151
-rw-r--r--test/rubygems/test_kernel.rb55
-rw-r--r--test/rubygems/test_require.rb215
-rw-r--r--test/rubygems/wrong_key_cert.pem18
-rw-r--r--test/rubygems/wrong_key_cert_32.pem18
-rw-r--r--test/runner.rb36
-rw-r--r--test/scanf/data.txt6
-rw-r--r--test/scanf/test_scanf.rb325
-rw-r--r--test/scanf/test_scanfblocks.rb81
-rw-r--r--test/scanf/test_scanfio.rb20
-rw-r--r--test/sdbm/test_sdbm.rb144
-rw-r--r--test/shell/test_command_processor.rb69
-rw-r--r--test/soap/asp.net/hello.wsdl96
-rw-r--r--test/soap/asp.net/test_aspdotnet.rb111
-rw-r--r--test/soap/calc/calc.rb17
-rw-r--r--test/soap/calc/calc2.rb29
-rw-r--r--test/soap/calc/server.cgi13
-rw-r--r--test/soap/calc/server.rb17
-rw-r--r--test/soap/calc/server2.rb20
-rw-r--r--test/soap/calc/test_calc.rb49
-rw-r--r--test/soap/calc/test_calc2.rb53
-rw-r--r--test/soap/calc/test_calc_cgi.rb69
-rw-r--r--test/soap/fault/test_customfault.rb58
-rw-r--r--test/soap/header/server.cgi119
-rw-r--r--test/soap/header/test_authheader.rb240
-rw-r--r--test/soap/header/test_authheader_cgi.rb121
-rw-r--r--test/soap/header/test_simplehandler.rb116
-rw-r--r--test/soap/helloworld/hw_s.rb16
-rw-r--r--test/soap/helloworld/test_helloworld.rb40
-rw-r--r--test/soap/marshal/test_digraph.rb56
-rw-r--r--test/soap/marshal/test_marshal.rb26
-rw-r--r--test/soap/marshal/test_struct.rb47
-rw-r--r--test/soap/ssl/README1
-rw-r--r--test/soap/ssl/ca.cert23
-rw-r--r--test/soap/ssl/client.cert19
-rw-r--r--test/soap/ssl/client.key15
-rw-r--r--test/soap/ssl/server.cert (renamed from test/rubygems/ssl_cert.pem)0
-rw-r--r--test/soap/ssl/server.key (renamed from test/rubygems/ssl_key.pem)0
-rw-r--r--test/soap/ssl/sslsvr.rb57
-rw-r--r--test/soap/ssl/subca.cert21
-rw-r--r--test/soap/ssl/test_ssl.rb204
-rw-r--r--test/soap/struct/test_struct.rb77
-rw-r--r--test/soap/swa/test_file.rb73
-rw-r--r--test/soap/test_basetype.rb970
-rw-r--r--test/soap/test_envelopenamespace.rb92
-rw-r--r--test/soap/test_httpconfigloader.rb39
-rw-r--r--test/soap/test_mapping.rb59
-rw-r--r--test/soap/test_no_indent.rb86
-rw-r--r--test/soap/test_property.rb424
-rw-r--r--test/soap/test_soapelement.rb122
-rw-r--r--test/soap/test_streamhandler.rb209
-rw-r--r--test/soap/test_styleuse.rb333
-rw-r--r--test/soap/wsdlDriver/README.txt2
-rw-r--r--test/soap/wsdlDriver/calc.wsdl126
-rw-r--r--test/soap/wsdlDriver/document.wsdl54
-rw-r--r--test/soap/wsdlDriver/echo_version.rb20
-rw-r--r--test/soap/wsdlDriver/simpletype.wsdl63
-rw-r--r--test/soap/wsdlDriver/test_calc.rb100
-rw-r--r--test/soap/wsdlDriver/test_document.rb78
-rw-r--r--test/soap/wsdlDriver/test_simpletype.rb87
-rw-r--r--test/socket/test_addrinfo.rb640
-rw-r--r--test/socket/test_ancdata.rb66
-rw-r--r--test/socket/test_basicsocket.rb88
-rw-r--r--test/socket/test_nonblock.rb172
-rw-r--r--test/socket/test_socket.rb669
-rw-r--r--test/socket/test_sockopt.rb51
-rw-r--r--test/socket/test_tcp.rb80
-rw-r--r--test/socket/test_udp.rb72
-rw-r--r--test/socket/test_unix.rb502
-rw-r--r--test/stringio/test_stringio.rb566
-rw-r--r--test/strscan/test_stringscanner.rb240
-rw-r--r--test/syslog/test_syslog_logger.rb572
-rw-r--r--test/test_abbrev.rb54
-rw-r--r--test/test_cmath.rb16
-rw-r--r--test/test_delegate.rb240
-rw-r--r--test/test_find.rb260
-rw-r--r--test/test_ipaddr.rb3
-rw-r--r--test/test_mathn.rb118
-rw-r--r--test/test_mutex_m.rb26
-rw-r--r--test/test_open3.rb243
-rw-r--r--test/test_pp.rb187
-rw-r--r--test/test_prettyprint.rb519
-rw-r--r--test/test_prime.rb174
-rw-r--r--test/test_pstore.rb137
-rw-r--r--test/test_pty.rb220
-rw-r--r--test/test_rbconfig.rb53
-rw-r--r--test/test_securerandom.rb185
-rw-r--r--test/test_set.rb718
-rw-r--r--test/test_shellwords.rb61
-rw-r--r--test/test_singleton.rb103
-rw-r--r--test/test_syslog.rb185
-rw-r--r--test/test_tempfile.rb343
-rw-r--r--test/test_time.rb416
-rw-r--r--test/test_timeout.rb83
-rw-r--r--test/test_tmpdir.rb33
-rw-r--r--test/test_tracer.rb61
-rw-r--r--test/test_tsort.rb100
-rw-r--r--test/test_weakref.rb64
-rw-r--r--test/testunit/collector/test_dir.rb406
-rw-r--r--test/testunit/collector/test_objectspace.rb98
-rw-r--r--test/testunit/runit/test_assert.rb402
-rw-r--r--test/testunit/runit/test_testcase.rb91
-rw-r--r--test/testunit/runit/test_testresult.rb144
-rw-r--r--test/testunit/runit/test_testsuite.rb49
-rw-r--r--test/testunit/test4test_hideskip.rb7
-rw-r--r--test/testunit/test4test_redefinition.rb11
-rw-r--r--test/testunit/test4test_sorting.rb15
-rw-r--r--test/testunit/test_assertion.rb8
-rw-r--r--test/testunit/test_assertions.rb528
-rw-r--r--test/testunit/test_error.rb26
-rw-r--r--test/testunit/test_failure.rb33
-rw-r--r--test/testunit/test_hideskip.rb16
-rw-r--r--test/testunit/test_parallel.rb189
-rw-r--r--test/testunit/test_rake_integration.rb35
-rw-r--r--test/testunit/test_redefinition.rb15
-rw-r--r--test/testunit/test_sorting.rb17
-rw-r--r--test/testunit/test_testcase.rb275
-rw-r--r--test/testunit/test_testresult.rb104
-rw-r--r--test/testunit/test_testsuite.rb129
-rw-r--r--test/testunit/tests_for_parallel/ptest_first.rb7
-rw-r--r--test/testunit/tests_for_parallel/ptest_forth.rb29
-rw-r--r--test/testunit/tests_for_parallel/ptest_second.rb11
-rw-r--r--test/testunit/tests_for_parallel/ptest_third.rb10
-rw-r--r--test/testunit/tests_for_parallel/runner.rb10
-rw-r--r--test/testunit/util/test_backtracefilter.rb41
-rw-r--r--test/testunit/util/test_observable.rb102
-rw-r--r--test/testunit/util/test_procwrapper.rb36
-rw-r--r--test/thread/test_cv.rb212
-rw-r--r--test/thread/test_queue.rb242
-rw-r--r--test/thread/test_sync.rb57
-rw-r--r--test/thread/test_thread.rb67
-rw-r--r--test/uri/test_common.rb131
-rw-r--r--test/uri/test_ftp.rb30
-rw-r--r--test/uri/test_generic.rb272
-rw-r--r--test/uri/test_http.rb5
-rw-r--r--test/uri/test_ldap.rb32
-rw-r--r--test/uri/test_mailto.rb36
-rw-r--r--test/uri/test_parser.rb41
-rw-r--r--test/webrick/.htaccess1
-rw-r--r--test/webrick/test_cgi.rb120
-rw-r--r--test/webrick/test_cookie.rb27
-rw-r--r--test/webrick/test_filehandler.rb226
-rw-r--r--test/webrick/test_htmlutils.rb20
-rw-r--r--test/webrick/test_httpauth.rb173
-rw-r--r--test/webrick/test_httpproxy.rb284
-rw-r--r--test/webrick/test_httprequest.rb145
-rw-r--r--test/webrick/test_httpresponse.rb141
-rw-r--r--test/webrick/test_httpserver.rb143
-rw-r--r--test/webrick/test_httputils.rb40
-rw-r--r--test/webrick/test_server.rb56
-rw-r--r--test/webrick/test_utils.rb64
-rw-r--r--test/webrick/utils.rb36
-rw-r--r--test/webrick/webrick_long_filename.cgi36
-rw-r--r--test/win32ole/err_in_callback.rb9
-rw-r--r--test/win32ole/orig_data.csv5
-rw-r--r--test/win32ole/test_err_in_callback.rb55
-rw-r--r--test/win32ole/test_folderitem2_invokeverb.rb65
-rw-r--r--test/win32ole/test_nil2vtempty.rb36
-rw-r--r--test/win32ole/test_ole_methods.rb36
-rw-r--r--test/win32ole/test_propertyputref.rb30
-rw-r--r--test/win32ole/test_thread.rb33
-rw-r--r--test/win32ole/test_win32ole.rb524
-rw-r--r--test/win32ole/test_win32ole_event.rb334
-rw-r--r--test/win32ole/test_win32ole_method.rb146
-rw-r--r--test/win32ole/test_win32ole_param.rb106
-rw-r--r--test/win32ole/test_win32ole_type.rb249
-rw-r--r--test/win32ole/test_win32ole_typelib.rb116
-rw-r--r--test/win32ole/test_win32ole_variable.rb61
-rw-r--r--test/win32ole/test_win32ole_variant.rb656
-rw-r--r--test/win32ole/test_win32ole_variant_m.rb35
-rw-r--r--test/win32ole/test_win32ole_variant_outarg.rb68
-rw-r--r--test/win32ole/test_word.rb72
-rw-r--r--test/with_different_ofs.rb17
-rw-r--r--test/wsdl/any/any.wsdl50
-rw-r--r--test/wsdl/any/expectedDriver.rb54
-rw-r--r--test/wsdl/any/expectedEcho.rb14
-rw-r--r--test/wsdl/any/expectedService.rb52
-rw-r--r--test/wsdl/any/test_any.rb58
-rw-r--r--test/wsdl/axisArray/axisArray.wsdl60
-rw-r--r--test/wsdl/axisArray/itemList.rb27
-rw-r--r--test/wsdl/axisArray/test_axisarray.rb69
-rw-r--r--test/wsdl/datetime/DatetimeService.rb44
-rw-r--r--test/wsdl/datetime/datetime.rb (renamed from test/rubygems/foo/discover.rb)0
-rw-r--r--test/wsdl/datetime/datetime.wsdl45
-rw-r--r--test/wsdl/datetime/datetimeServant.rb21
-rw-r--r--test/wsdl/datetime/test_datetime.rb82
-rw-r--r--test/wsdl/document/document.wsdl74
-rw-r--r--test/wsdl/document/echo.rb92
-rw-r--r--test/wsdl/document/number.wsdl54
-rw-r--r--test/wsdl/document/ping_nosoapaction.wsdl66
-rw-r--r--test/wsdl/document/test_nosoapaction.rb109
-rw-r--r--test/wsdl/document/test_number.rb99
-rw-r--r--test/wsdl/document/test_rpc.rb177
-rw-r--r--test/wsdl/emptycomplextype.wsdl31
-rw-r--r--test/wsdl/map/map.wsdl92
-rw-r--r--test/wsdl/map/map.xml43
-rw-r--r--test/wsdl/map/test_map.rb99
-rw-r--r--test/wsdl/marshal/person.wsdl21
-rw-r--r--test/wsdl/marshal/person_org.rb22
-rw-r--r--test/wsdl/marshal/test_wsdlmarshal.rb80
-rw-r--r--test/wsdl/multiplefault.wsdl68
-rw-r--r--test/wsdl/qualified/lp.rb (renamed from test/rubygems/sff/discover.rb)0
-rw-r--r--test/wsdl/qualified/lp.wsdl47
-rw-r--r--test/wsdl/qualified/lp.xsd26
-rw-r--r--test/wsdl/qualified/np.wsdl50
-rw-r--r--test/wsdl/qualified/test_qualified.rb154
-rw-r--r--test/wsdl/qualified/test_unqualified.rb143
-rw-r--r--test/wsdl/raa/RAA.rb243
-rw-r--r--test/wsdl/raa/RAAServant.rb99
-rw-r--r--test/wsdl/raa/RAAService.rb100
-rw-r--r--test/wsdl/raa/README.txt8
-rw-r--r--test/wsdl/raa/raa.wsdl264
-rw-r--r--test/wsdl/raa/server.rb103
-rw-r--r--test/wsdl/raa/test_raa.rb71
-rw-r--r--test/wsdl/ref/expectedProduct.rb90
-rw-r--r--test/wsdl/ref/product.wsdl86
-rw-r--r--test/wsdl/ref/test_ref.rb54
-rw-r--r--test/wsdl/rpc/echoDriver.rb55
-rw-r--r--test/wsdl/rpc/echo_serviceClient.rb23
-rw-r--r--test/wsdl/rpc/rpc.wsdl75
-rw-r--r--test/wsdl/rpc/test-rpc-lit.wsdl364
-rw-r--r--test/wsdl/rpc/test-rpc-lit12.wsdl455
-rw-r--r--test/wsdl/rpc/test_rpc.rb118
-rw-r--r--test/wsdl/rpc/test_rpc_lit.rb399
-rw-r--r--test/wsdl/simpletype/rpc/expectedClient.rb34
-rw-r--r--test/wsdl/simpletype/rpc/expectedDriver.rb62
-rw-r--r--test/wsdl/simpletype/rpc/expectedEchoVersion.rb23
-rw-r--r--test/wsdl/simpletype/rpc/expectedServant.rb32
-rw-r--r--test/wsdl/simpletype/rpc/expectedService.rb60
-rw-r--r--test/wsdl/simpletype/rpc/rpc.wsdl80
-rw-r--r--test/wsdl/simpletype/rpc/test_rpc.rb62
-rw-r--r--test/wsdl/simpletype/simpletype.wsdl95
-rw-r--r--test/wsdl/simpletype/test_simpletype.rb99
-rw-r--r--test/wsdl/soap/soapbodyparts.wsdl103
-rw-r--r--test/wsdl/soap/test_soapbodyparts.rb79
-rw-r--r--test/wsdl/test_emptycomplextype.rb21
-rw-r--r--test/wsdl/test_fault.rb51
-rw-r--r--test/wsdl/test_multiplefault.rb39
-rw-r--r--test/xmlrpc/data/blog.xml18
-rw-r--r--test/xmlrpc/htpasswd2
-rw-r--r--test/xmlrpc/test_client.rb316
-rw-r--r--test/xmlrpc/test_cookie.rb97
-rw-r--r--test/xmlrpc/test_datetime.rb66
-rw-r--r--test/xmlrpc/test_features.rb10
-rw-r--r--test/xmlrpc/test_marshal.rb25
-rw-r--r--test/xmlrpc/test_parser.rb20
-rw-r--r--test/xmlrpc/test_webrick_server.rb65
-rw-r--r--test/xmlrpc/webrick_testing.rb43
-rw-r--r--test/xsd/codegen/test_classdef.rb214
-rw-r--r--test/xsd/noencoding.xml4
-rw-r--r--test/xsd/test_noencoding.rb32
-rw-r--r--test/xsd/test_xmlschemaparser.rb22
-rw-r--r--test/xsd/test_xsd.rb1511
-rw-r--r--test/xsd/xmlschema.xml12
-rw-r--r--test/yaml/test_yaml.rb1284
-rw-r--r--test/zlib/test_zlib.rb1063
-rw-r--r--thread.c5339
-rw-r--r--thread_native.h23
-rw-r--r--thread_pthread.c1620
-rw-r--r--thread_pthread.h56
-rw-r--r--thread_win32.c794
-rw-r--r--thread_win32.h45
-rw-r--r--time.c5381
-rw-r--r--timev.h42
-rw-r--r--tool/asm_parse.rb51
-rwxr-xr-xtool/bisect.sh42
-rwxr-xr-xtool/build-transcode16
-rwxr-xr-xtool/change_maker.rb34
-rw-r--r--tool/compile_prelude.rb198
-rw-r--r--tool/config_files.rb8
-rw-r--r--tool/enc-emoji-citrus-gen.rb131
-rw-r--r--tool/enc-emoji4unicode.rb133
-rwxr-xr-xtool/enc-unicode.rb365
-rw-r--r--tool/eval.rb159
-rwxr-xr-xtool/file2lastrev.rb68
-rwxr-xr-xtool/gen_dummy_probes.rb28
-rwxr-xr-xtool/gen_ruby_tapset.rb105
-rw-r--r--tool/generic_erb.rb42
-rwxr-xr-xtool/get-config_files7
-rwxr-xr-xtool/id2token.rb24
-rwxr-xr-xtool/ifchange61
-rwxr-xr-xtool/insns2vm.rb15
-rw-r--r--tool/install-sh17
-rwxr-xr-xtool/instruction.rb1343
-rw-r--r--tool/jisx0208.rb84
-rwxr-xr-xtool/make-snapshot303
-rwxr-xr-xtool/mdoc2man.rb465
-rwxr-xr-xtool/merger.rb242
-rwxr-xr-xtool/mkconfig.rb283
-rwxr-xr-xtool/mkrunnable.rb116
-rwxr-xr-xtool/node_name.rb6
-rw-r--r--tool/parse.rb13
-rw-r--r--tool/probes_to_wiki.rb16
-rwxr-xr-xtool/rbinstall.rb795
-rwxr-xr-xtool/rbuninstall.rb67
-rwxr-xr-xtool/rmdirs11
-rwxr-xr-xtool/rubytest.rb30
-rwxr-xr-xtool/runruby.rb99
-rwxr-xr-xtool/strip-rdoc.rb23
-rw-r--r--tool/test/test_jisx0208.rb40
-rw-r--r--tool/transcode-tblgen.rb1074
-rwxr-xr-xtool/update-deps157
-rw-r--r--tool/vcs.rb114
-rw-r--r--tool/vpath.rb82
-rw-r--r--tool/vtlh.rb15
-rwxr-xr-xtool/ytab.sed37
-rw-r--r--transcode.c4550
-rw-r--r--transcode_data.h123
-rw-r--r--util.c4201
-rw-r--r--util.h67
-rw-r--r--variable.c2356
-rw-r--r--version.c82
-rw-r--r--version.h65
-rw-r--r--vm.c3084
-rw-r--r--vm_backtrace.c1382
-rw-r--r--vm_core.h1055
-rw-r--r--vm_debug.h37
-rw-r--r--vm_dump.c812
-rw-r--r--vm_eval.c1998
-rw-r--r--vm_exec.c158
-rw-r--r--vm_exec.h182
-rw-r--r--vm_insnhelper.c2402
-rw-r--r--vm_insnhelper.h273
-rw-r--r--vm_method.c1745
-rw-r--r--vm_opts.h56
-rw-r--r--vm_trace.c1538
-rw-r--r--vms/config.h102
-rw-r--r--vms/vms.h10
-rw-r--r--vms/vmsruby_private.c52
-rw-r--r--vms/vmsruby_private.h7
-rw-r--r--vsnprintf.c1339
-rw-r--r--win32/Makefile.sub906
-rw-r--r--win32/README.win3283
-rwxr-xr-xwin32/configure.bat161
-rw-r--r--win32/dir.h26
-rw-r--r--win32/enc-setup.mak10
-rw-r--r--win32/file.c706
-rwxr-xr-xwin32/ifchange.bat77
-rwxr-xr-xwin32/makedirs.bat3
-rwxr-xr-xwin32/mkexports.rb184
-rwxr-xr-xwin32/resource.rb30
-rwxr-xr-xwin32/rm.bat12
-rwxr-xr-xwin32/rmall.bat6
-rwxr-xr-xwin32/rmdirs.bat29
-rw-r--r--win32/rtname.cmd18
-rw-r--r--win32/setup.mak192
-rw-r--r--win32/stub.c42
-rw-r--r--win32/win32.c6260
-rw-r--r--win32/win32.h558
-rw-r--r--win32/winmain.c4
-rw-r--r--wince/Makefile.sub505
-rw-r--r--wince/README.wince121
-rw-r--r--wince/assert.c11
-rw-r--r--wince/assert.h6
-rwxr-xr-xwince/configure.bat102
-rw-r--r--wince/direct.c54
-rw-r--r--wince/direct.h22
-rw-r--r--wince/errno.c11
-rw-r--r--wince/errno.h55
-rw-r--r--wince/fcntl.h42
-rw-r--r--wince/io.h76
-rw-r--r--wince/io_wce.c230
-rw-r--r--wince/mkconfig_wce.rb7
-rw-r--r--wince/mkexports.rb35
-rw-r--r--wince/process.h46
-rw-r--r--wince/process_wce.c47
-rw-r--r--wince/resource.rb96
-rw-r--r--wince/setup.mak245
-rw-r--r--wince/signal.h71
-rw-r--r--wince/signal_wce.c26
-rw-r--r--wince/stddef.h5
-rw-r--r--wince/stdio.c36
-rw-r--r--wince/stdlib.c57
-rw-r--r--wince/string_wce.c89
-rw-r--r--wince/sys/stat.c102
-rw-r--r--wince/sys/stat.h68
-rw-r--r--wince/sys/timeb.c25
-rw-r--r--wince/sys/timeb.h26
-rw-r--r--wince/sys/types.h60
-rw-r--r--wince/sys/utime.c44
-rw-r--r--wince/sys/utime.h27
-rw-r--r--wince/time.h63
-rw-r--r--wince/time_wce.c301
-rw-r--r--wince/varargs.h34
-rw-r--r--wince/wince.c583
-rw-r--r--wince/wince.h191
-rw-r--r--wince/wincemain.c19
-rw-r--r--wince/wincon.h7
-rw-r--r--wince/winsock2.c338
-rw-r--r--x68/_dtos18.c250
-rw-r--r--x68/_round.c45
-rw-r--r--x68/fconvert.c81
-rw-r--r--x68/select.c167
4327 files changed, 251716 insertions, 1388885 deletions
diff --git a/.cvsignore b/.cvsignore
new file mode 100644
index 0000000000..a72211d03f
--- /dev/null
+++ b/.cvsignore
@@ -0,0 +1,48 @@
+*.bak
+*.orig
+*.rej
+*.sav
+*~
+.*.list
+.*.time
+.ccmalloc
+.ppack
+.ext
+.git
+.svn
+.pc
+COPYING.LIB
+ChangeLog.pre-alpha
+ChangeLog.pre1_1
+Makefile
+README.fat-patch
+README.v6
+README.atheos
+archive
+autom4te*.cache
+automake
+beos
+config.cache
+config.h
+config.h.in
+config.log
+config.status
+configure
+libruby.so.*
+miniruby
+newdate.rb
+newver.rb
+parse.c
+patches
+ppack
+preview
+rbconfig.rb
+repack
+riscos
+rubicon
+ruby
+ruby-man.rd.gz
+tmp
+web
+y.output
+y.tab.c
diff --git a/.document b/.document
index 9a5067bc52..230c50e387 100644
--- a/.document
+++ b/.document
@@ -6,23 +6,11 @@
# Process all the C source files
*.c
-# prelude
-prelude.rb
-
# the lib/ directory (which has its own .document file)
-lib
-
-# and some of the ext/ directory (which has its own .document file)
-ext
-# rdoc files
-ChangeLog
+lib
-NEWS
-README
-README.EXT
-README.EXT.ja
-README.ja
+# and some of the ext/ directory (which has its own .document file)
-doc
+ext
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 67abf4b978..0000000000
--- a/.editorconfig
+++ /dev/null
@@ -1,16 +0,0 @@
-root = true
-
-[*]
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
-tab_width = 8
-indent_style = tab
-indent_size = 4
-
-[**.bat]
-end_of_line = crlf
-
-[**.rb]
-indent_style = space
-indent_size = 2
diff --git a/.gdbinit b/.gdbinit
deleted file mode 100644
index 17be7d8779..0000000000
--- a/.gdbinit
+++ /dev/null
@@ -1,882 +0,0 @@
-define hook-run
- set $color_type = 0
- set $color_highlite = 0
- set $color_end = 0
-end
-
-define ruby_gdb_init
- if !$color_type
- set $color_type = "\033[31m"
- end
- if !$color_highlite
- set $color_highlite = "\033[36m"
- end
- if !$color_end
- set $color_end = "\033[m"
- end
- if ruby_dummy_gdb_enums.special_consts
- end
-end
-
-# set prompt \033[36m(gdb)\033[m\040
-
-define rp
- ruby_gdb_init
- if (VALUE)($arg0) & RUBY_FIXNUM_FLAG
- printf "FIXNUM: %ld\n", (long)($arg0) >> 1
- else
- if ((VALUE)($arg0) & ~(~(VALUE)0<<RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG
- set $id = (($arg0) >> RUBY_SPECIAL_SHIFT)
- printf "%sSYMBOL%s: ", $color_type, $color_end
- rp_id $id
- else
- if ($arg0) == RUBY_Qfalse
- echo false\n
- else
- if ($arg0) == RUBY_Qtrue
- echo true\n
- else
- if ($arg0) == RUBY_Qnil
- echo nil\n
- else
- if ($arg0) == RUBY_Qundef
- echo undef\n
- else
- if (VALUE)($arg0) & RUBY_IMMEDIATE_MASK
- if ((VALUE)($arg0) & RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG
- printf "%sFLONUM%s: %g\n", $color_type, $color_end, (double)rb_float_value($arg0)
- else
- echo immediate\n
- end
- else
- set $flags = ((struct RBasic*)($arg0))->flags
- if ($flags & RUBY_FL_PROMOTED)
- printf "[PROMOTED] "
- end
- if ($flags & RUBY_T_MASK) == RUBY_T_NONE
- printf "%sT_NONE%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_NIL
- printf "%sT_NIL%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_OBJECT
- printf "%sT_OBJECT%s: ", $color_type, $color_end
- print (struct RObject *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_CLASS
- printf "%sT_CLASS%s%s: ", $color_type, ($flags & RUBY_FL_SINGLETON) ? "*" : "", $color_end
- rp_class $arg0
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_ICLASS
- printf "%sT_ICLASS%s: ", $color_type, $color_end
- rp_class $arg0
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_MODULE
- printf "%sT_MODULE%s: ", $color_type, $color_end
- rp_class $arg0
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_FLOAT
- printf "%sT_FLOAT%s: %.16g ", $color_type, $color_end, (((struct RFloat*)($arg0))->float_value)
- print (struct RFloat *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_STRING
- printf "%sT_STRING%s: ", $color_type, $color_end
- rp_string $arg0 $flags
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_REGEXP
- set $regsrc = ((struct RRegexp*)($arg0))->src
- set $rsflags = ((struct RBasic*)$regsrc)->flags
- printf "%sT_REGEXP%s: ", $color_type, $color_end
- set print address off
- output (char *)(($rsflags & RUBY_FL_USER1) ? \
- ((struct RString*)$regsrc)->as.heap.ptr : \
- ((struct RString*)$regsrc)->as.ary)
- set print address on
- printf " len:%ld ", ($rsflags & RUBY_FL_USER1) ? \
- ((struct RString*)$regsrc)->as.heap.len : \
- (($rsflags & (RUBY_FL_USER2|RUBY_FL_USER3|RUBY_FL_USER4|RUBY_FL_USER5|RUBY_FL_USER6)) >> RUBY_FL_USHIFT+2)
- if $flags & RUBY_FL_USER6
- printf "(none) "
- end
- if $flags & RUBY_FL_USER5
- printf "(literal) "
- end
- if $flags & RUBY_FL_USER4
- printf "(fixed) "
- end
- printf "encoding:%d ", ($flags & RUBY_ENCODING_MASK) >> RUBY_ENCODING_SHIFT
- print (struct RRegexp *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_ARRAY
- if ($flags & RUBY_FL_USER1)
- set $len = (($flags & (RUBY_FL_USER3|RUBY_FL_USER4)) >> (RUBY_FL_USHIFT+3))
- printf "%sT_ARRAY%s: len=%ld ", $color_type, $color_end, $len
- printf "(embed) "
- if ($len == 0)
- printf "{(empty)} "
- else
- output/x *((VALUE*)((struct RArray*)($arg0))->as.ary) @ $len
- printf " "
- end
- else
- set $len = ((struct RArray*)($arg0))->as.heap.len
- printf "%sT_ARRAY%s: len=%ld ", $color_type, $color_end, $len
- if ($flags & RUBY_FL_USER2)
- printf "(shared) shared="
- output/x ((struct RArray*)($arg0))->as.heap.aux.shared
- printf " "
- else
- printf "(ownership) capa=%ld ", ((struct RArray*)($arg0))->as.heap.aux.capa
- end
- if ($len == 0)
- printf "{(empty)} "
- else
- output/x *((VALUE*)((struct RArray*)($arg0))->as.heap.ptr) @ $len
- printf " "
- end
- end
- print (struct RArray *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_FIXNUM
- printf "%sT_FIXNUM%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_HASH
- printf "%sT_HASH%s: ", $color_type, $color_end,
- if ((struct RHash *)($arg0))->ntbl
- printf "len=%ld ", ((struct RHash *)($arg0))->ntbl->num_entries
- end
- print (struct RHash *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_STRUCT
- printf "%sT_STRUCT%s: len=%ld ", $color_type, $color_end, \
- (($flags & (RUBY_FL_USER1|RUBY_FL_USER2)) ? \
- ($flags & (RUBY_FL_USER1|RUBY_FL_USER2)) >> (RUBY_FL_USHIFT+1) : \
- ((struct RStruct *)($arg0))->as.heap.len)
- print (struct RStruct *)($arg0)
- x/xw (($flags & (RUBY_FL_USER1|RUBY_FL_USER2)) ? \
- ((struct RStruct *)($arg0))->as.ary : \
- ((struct RStruct *)($arg0))->as.heap.ptr)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_BIGNUM
- printf "%sT_BIGNUM%s: sign=%d len=%ld ", $color_type, $color_end, \
- (($flags & RUBY_FL_USER1) != 0), \
- (($flags & RUBY_FL_USER2) ? \
- ($flags & (RUBY_FL_USER5|RUBY_FL_USER4|RUBY_FL_USER3)) >> (RUBY_FL_USHIFT+3) : \
- ((struct RBignum*)($arg0))->as.heap.len)
- if $flags & RUBY_FL_USER2
- printf "(embed) "
- end
- print (struct RBignum *)($arg0)
- x/xw (($flags & RUBY_FL_USER2) ? \
- ((struct RBignum*)($arg0))->as.ary : \
- ((struct RBignum*)($arg0))->as.heap.digits)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_RATIONAL
- printf "%sT_RATIONAL%s: ", $color_type, $color_end
- print (struct RRational *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_COMPLEX
- printf "%sT_COMPLEX%s: ", $color_type, $color_end
- print (struct RComplex *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_FILE
- printf "%sT_FILE%s: ", $color_type, $color_end
- print (struct RFile *)($arg0)
- output *((struct RFile *)($arg0))->fptr
- printf "\n"
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_TRUE
- printf "%sT_TRUE%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_FALSE
- printf "%sT_FALSE%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_DATA
- if ((struct RTypedData *)($arg0))->typed_flag == 1
- printf "%sT_DATA%s(%s): ", $color_type, $color_end, ((struct RTypedData *)($arg0))->type->wrap_struct_name
- print (struct RTypedData *)($arg0)
- else
- printf "%sT_DATA%s: ", $color_type, $color_end
- print (struct RData *)($arg0)
- end
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_MATCH
- printf "%sT_MATCH%s: ", $color_type, $color_end
- print (struct RMatch *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_SYMBOL
- printf "%sT_SYMBOL%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_UNDEF
- printf "%sT_UNDEF%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_NODE
- printf "%sT_NODE%s(", $color_type, $color_end
- output (enum node_type)(($flags&RUBY_NODE_TYPEMASK)>>RUBY_NODE_TYPESHIFT)
- printf "): "
- print *(NODE *)($arg0)
- else
- if ($flags & RUBY_T_MASK) == RUBY_T_ZOMBIE
- printf "%sT_ZOMBIE%s: ", $color_type, $color_end
- print (struct RData *)($arg0)
- else
- printf "%sunknown%s: ", $color_type, $color_end
- print (struct RBasic *)($arg0)
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
-end
-document rp
- Print a Ruby's VALUE.
-end
-
-define rp_id
- set $id = (ID)$arg0
- if $id == '!' || $id == '+' || $id == '-' || $id == '*' || $id == '/' || $id == '%' || $id == '<' || $id == '>' || $id == '`'
- printf "(:%c)\n", $id
- else
- if $id == idDot2
- printf "(:..)\n"
- else
- if $id == idDot3
- printf "(:...)\n"
- else
- if $id == idUPlus
- printf "(:+@)\n"
- else
- if $id == idUMinus
- printf "(:-@)\n"
- else
- if $id == idPow
- printf "(:**)\n"
- else
- if $id == idCmp
- printf "(:<=>)\n"
- else
- if $id == idLTLT
- printf "(:<<)\n"
- else
- if $id == idLE
- printf "(:<=)\n"
- else
- if $id == idGE
- printf "(:>=)\n"
- else
- if $id == idEq
- printf "(:==)\n"
- else
- if $id == idEqq
- printf "(:===)\n"
- else
- if $id == idNeq
- printf "(:!=)\n"
- else
- if $id == idEqTilde
- printf "(:=~)\n"
- else
- if $id == idNeqTilde
- printf "(:!~)\n"
- else
- if $id == idAREF
- printf "(:[])\n"
- else
- if $id == idASET
- printf "(:[]=)\n"
- else
- if $id <= tLAST_OP_ID
- printf "O"
- else
- set $id_type = $id & RUBY_ID_SCOPE_MASK
- if $id_type == RUBY_ID_LOCAL
- printf "l"
- else
- if $id_type == RUBY_ID_INSTANCE
- printf "i"
- else
- if $id_type == RUBY_ID_GLOBAL
- printf "G"
- else
- if $id_type == RUBY_ID_ATTRSET
- printf "a"
- else
- if $id_type == RUBY_ID_CONST
- printf "C"
- else
- if $id_type == RUBY_ID_CLASS
- printf "c"
- else
- printf "j"
- end
- end
- end
- end
- end
- end
- end
- printf "(%ld): ", $id
- rb_numtable_entry global_symbols.id_str $id
- if $rb_numtable_rec
- rp_string $rb_numtable_rec
- else
- echo undef\n
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
-end
-document rp_id
- Print an ID.
-end
-
-define rp_string
- set $flags = ((struct RBasic*)($arg0))->flags
- set print address off
- output (char *)(($flags & RUBY_FL_USER1) ? \
- ((struct RString*)($arg0))->as.heap.ptr : \
- ((struct RString*)($arg0))->as.ary)
- set print address on
- printf " bytesize:%ld ", ($flags & RUBY_FL_USER1) ? \
- ((struct RString*)($arg0))->as.heap.len : \
- (($flags & (RUBY_FL_USER2|RUBY_FL_USER3|RUBY_FL_USER4|RUBY_FL_USER5|RUBY_FL_USER6)) >> RUBY_FL_USHIFT+2)
- if !($flags & RUBY_FL_USER1)
- printf "(embed) "
- else
- if ($flags & RUBY_FL_USER2)
- printf "(shared) "
- end
- if ($flags & RUBY_FL_USER3)
- printf "(assoc) "
- end
- end
- printf "encoding:%d ", ($flags & RUBY_ENCODING_MASK) >> RUBY_ENCODING_SHIFT
- if ($flags & RUBY_ENC_CODERANGE_MASK) == 0
- printf "coderange:unknown "
- else
- if ($flags & RUBY_ENC_CODERANGE_MASK) == RUBY_ENC_CODERANGE_7BIT
- printf "coderange:7bit "
- else
- if ($flags & RUBY_ENC_CODERANGE_MASK) == RUBY_ENC_CODERANGE_VALID
- printf "coderange:valid "
- else
- printf "coderange:broken "
- end
- end
- end
- print (struct RString *)($arg0)
-end
-document rp_string
- Print the content of a String.
-end
-
-define rp_class
- printf "(struct RClass *) %p", (void*)$arg0
- if ((struct RClass *)($arg0))->ptr.origin != $arg0
- printf " -> %p", ((struct RClass *)($arg0))->ptr.origin
- end
- printf "\n"
- rb_classname $arg0
- print *(struct RClass *)($arg0)
- print *((struct RClass *)($arg0))->ptr
-end
-document rp_class
- Print the content of a Class/Module.
-end
-
-define nd_type
- print (enum node_type)((((NODE*)($arg0))->flags&RUBY_NODE_TYPEMASK)>>RUBY_NODE_TYPESHIFT)
-end
-document nd_type
- Print a Ruby' node type.
-end
-
-define nd_file
- print ((NODE*)($arg0))->nd_file
-end
-document nd_file
- Print the source file name of a node.
-end
-
-define nd_line
- print ((unsigned int)((((NODE*)($arg0))->flags>>RUBY_NODE_LSHIFT)&RUBY_NODE_LMASK))
-end
-document nd_line
- Print the source line number of a node.
-end
-
-# Print members of ruby node.
-
-define nd_head
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-define nd_alen
- printf "%su2.argc%s: ", $color_highlite, $color_end
- p ($arg0).u2.argc
-end
-
-define nd_next
- printf "%su3.node%s: ", $color_highlite, $color_end
- rp ($arg0).u3.node
-end
-
-
-define nd_cond
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-define nd_body
- printf "%su2.node%s: ", $color_highlite, $color_end
- rp ($arg0).u2.node
-end
-
-define nd_else
- printf "%su3.node%s: ", $color_highlite, $color_end
- rp ($arg0).u3.node
-end
-
-
-define nd_orig
- printf "%su3.value%s: ", $color_highlite, $color_end
- rp ($arg0).u3.value
-end
-
-
-define nd_resq
- printf "%su2.node%s: ", $color_highlite, $color_end
- rp ($arg0).u2.node
-end
-
-define nd_ensr
- printf "%su3.node%s: ", $color_highlite, $color_end
- rp ($arg0).u3.node
-end
-
-
-define nd_1st
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-define nd_2nd
- printf "%su2.node%s: ", $color_highlite, $color_end
- rp ($arg0).u2.node
-end
-
-
-define nd_stts
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-
-define nd_entry
- printf "%su3.entry%s: ", $color_highlite, $color_end
- p ($arg0).u3.entry
-end
-
-define nd_vid
- printf "%su1.id%s: ", $color_highlite, $color_end
- p ($arg0).u1.id
-end
-
-define nd_cflag
- printf "%su2.id%s: ", $color_highlite, $color_end
- p ($arg0).u2.id
-end
-
-define nd_cval
- printf "%su3.value%s: ", $color_highlite, $color_end
- rp ($arg0).u3.value
-end
-
-
-define nd_cnt
- printf "%su3.cnt%s: ", $color_highlite, $color_end
- p ($arg0).u3.cnt
-end
-
-define nd_tbl
- printf "%su1.tbl%s: ", $color_highlite, $color_end
- p ($arg0).u1.tbl
-end
-
-
-define nd_var
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-define nd_ibdy
- printf "%su2.node%s: ", $color_highlite, $color_end
- rp ($arg0).u2.node
-end
-
-define nd_iter
- printf "%su3.node%s: ", $color_highlite, $color_end
- rp ($arg0).u3.node
-end
-
-
-define nd_value
- printf "%su2.node%s: ", $color_highlite, $color_end
- rp ($arg0).u2.node
-end
-
-define nd_aid
- printf "%su3.id%s: ", $color_highlite, $color_end
- p ($arg0).u3.id
-end
-
-
-define nd_lit
- printf "%su1.value%s: ", $color_highlite, $color_end
- rp ($arg0).u1.value
-end
-
-
-define nd_frml
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-define nd_rest
- printf "%su2.argc%s: ", $color_highlite, $color_end
- p ($arg0).u2.argc
-end
-
-define nd_opt
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-
-define nd_recv
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-define nd_mid
- printf "%su2.id%s: ", $color_highlite, $color_end
- p ($arg0).u2.id
-end
-
-define nd_args
- printf "%su3.node%s: ", $color_highlite, $color_end
- rp ($arg0).u3.node
-end
-
-
-define nd_noex
- printf "%su1.id%s: ", $color_highlite, $color_end
- p ($arg0).u1.id
-end
-
-define nd_defn
- printf "%su3.node%s: ", $color_highlite, $color_end
- rp ($arg0).u3.node
-end
-
-
-define nd_old
- printf "%su1.id%s: ", $color_highlite, $color_end
- p ($arg0).u1.id
-end
-
-define nd_new
- printf "%su2.id%s: ", $color_highlite, $color_end
- p ($arg0).u2.id
-end
-
-
-define nd_cfnc
- printf "%su1.cfunc%s: ", $color_highlite, $color_end
- p ($arg0).u1.cfunc
-end
-
-define nd_argc
- printf "%su2.argc%s: ", $color_highlite, $color_end
- p ($arg0).u2.argc
-end
-
-
-define nd_cname
- printf "%su1.id%s: ", $color_highlite, $color_end
- p ($arg0).u1.id
-end
-
-define nd_super
- printf "%su3.node%s: ", $color_highlite, $color_end
- rp ($arg0).u3.node
-end
-
-
-define nd_modl
- printf "%su1.id%s: ", $color_highlite, $color_end
- p ($arg0).u1.id
-end
-
-define nd_clss
- printf "%su1.value%s: ", $color_highlite, $color_end
- rp ($arg0).u1.value
-end
-
-
-define nd_beg
- printf "%su1.node%s: ", $color_highlite, $color_end
- rp ($arg0).u1.node
-end
-
-define nd_end
- printf "%su2.node%s: ", $color_highlite, $color_end
- rp ($arg0).u2.node
-end
-
-define nd_state
- printf "%su3.state%s: ", $color_highlite, $color_end
- p ($arg0).u3.state
-end
-
-define nd_rval
- printf "%su2.value%s: ", $color_highlite, $color_end
- rp ($arg0).u2.value
-end
-
-
-define nd_nth
- printf "%su2.argc%s: ", $color_highlite, $color_end
- p ($arg0).u2.argc
-end
-
-
-define nd_tag
- printf "%su1.id%s: ", $color_highlite, $color_end
- p ($arg0).u1.id
-end
-
-define nd_tval
- printf "%su2.value%s: ", $color_highlite, $color_end
- rp ($arg0).u2.value
-end
-
-define rb_p
- call rb_p($arg0)
-end
-
-define rb_numtable_entry
- set $rb_numtable_tbl = $arg0
- set $rb_numtable_id = (st_data_t)$arg1
- set $rb_numtable_key = 0
- set $rb_numtable_rec = 0
- if $rb_numtable_tbl->entries_packed
- set $rb_numtable_p = $rb_numtable_tbl->as.packed.bins
- while $rb_numtable_p && $rb_numtable_p < $rb_numtable_tbl->as.packed.bins+$rb_numtable_tbl->num_entries
- if $rb_numtable_p.k == $rb_numtable_id
- set $rb_numtable_key = $rb_numtable_p.k
- set $rb_numtable_rec = $rb_numtable_p.v
- set $rb_numtable_p = 0
- else
- set $rb_numtable_p = $rb_numtable_p + 1
- end
- end
- else
- set $rb_numtable_p = $rb_numtable_tbl->as.big.bins[$rb_numtable_id % $rb_numtable_tbl->num_bins]
- while $rb_numtable_p
- if $rb_numtable_p->key == $rb_numtable_id
- set $rb_numtable_key = $rb_numtable_p->key
- set $rb_numtable_rec = $rb_numtable_p->record
- set $rb_numtable_p = 0
- else
- set $rb_numtable_p = $rb_numtable_p->next
- end
- end
- end
-end
-
-define rb_id2name
- ruby_gdb_init
- printf "%sID%s: ", $color_type, $color_end
- rp_id $arg0
-end
-document rb_id2name
- Print the name of id
-end
-
-define rb_method_entry
- set $rb_method_entry_klass = (struct RClass *)$arg0
- set $rb_method_entry_id = (ID)$arg1
- set $rb_method_entry_me = (rb_method_entry_t *)0
- while !$rb_method_entry_me && $rb_method_entry_klass
- rb_numtable_entry $rb_method_entry_klass->m_tbl_wrapper->tbl $rb_method_entry_id
- set $rb_method_entry_me = (rb_method_entry_t *)$rb_numtable_rec
- if !$rb_method_entry_me
- set $rb_method_entry_klass = (struct RClass *)$rb_method_entry_klass->ptr->super
- end
- end
- if $rb_method_entry_me
- print *$rb_method_entry_klass
- print *$rb_method_entry_me
- else
- echo method not found\n
- end
-end
-document rb_method_entry
- Search method entry by class and id
-end
-
-define rb_classname
- # up to 128bit int
- set $rb_classname_permanent = "0123456789ABCDEF"
- set $rb_classname = classname($arg0, $rb_classname_permanent)
- if $rb_classname != RUBY_Qnil
- rp $rb_classname
- else
- echo anonymous class/module\n
- end
-end
-
-define rb_ancestors
- set $rb_ancestors_module = $arg0
- while $rb_ancestors_module
- rp_class $rb_ancestors_module
- set $rb_ancestors_module = ((struct RClass *)($rb_ancestors_module))->ptr.super
- end
-end
-document rb_ancestors
- Print ancestors.
-end
-
-define rb_backtrace
- call rb_backtrace()
-end
-
-define iseq
- if ruby_dummy_gdb_enums.special_consts
- end
- if ($arg0)->type == ISEQ_ELEMENT_NONE
- echo [none]\n
- end
- if ($arg0)->type == ISEQ_ELEMENT_LABEL
- print *(LABEL*)($arg0)
- end
- if ($arg0)->type == ISEQ_ELEMENT_INSN
- print *(INSN*)($arg0)
- if ((INSN*)($arg0))->insn_id != YARVINSN_jump
- set $i = 0
- set $operand_size = ((INSN*)($arg0))->operand_size
- set $operands = ((INSN*)($arg0))->operands
- while $i < $operand_size
- rp $operands[$i++]
- end
- end
- end
- if ($arg0)->type == ISEQ_ELEMENT_ADJUST
- print *(ADJUST*)($arg0)
- end
-end
-
-define rb_ps
- rb_ps_vm ruby_current_vm
-end
-document rb_ps
-Dump all threads and their callstacks
-end
-
-define rb_ps_vm
- print $ps_vm = (rb_vm_t*)$arg0
- set $ps_threads = (st_table*)$ps_vm->living_threads
- if $ps_threads->entries_packed
- set $ps_threads_i = 0
- while $ps_threads_i < $ps_threads->num_entries
- set $ps_threads_key = (st_data_t)$ps_threads->as.packed.entries[$ps_threads_i].key
- set $ps_threads_val = (st_data_t)$ps_threads->as.packed.entries[$ps_threads_i].val
- rb_ps_thread $ps_threads_key $ps_threads_val
- set $ps_threads_i = $ps_threads_i + 1
- end
- else
- set $ps_threads_ptr = (st_table_entry*)$ps_threads->head
- while $ps_threads_ptr
- set $ps_threads_key = (st_data_t)$ps_threads_ptr->key
- set $ps_threads_val = (st_data_t)$ps_threads_ptr->record
- rb_ps_thread $ps_threads_key $ps_threads_val
- set $ps_threads_ptr = (st_table_entry*)$ps_threads_ptr->fore
- end
- end
-end
-document rb_ps_vm
-Dump all threads in a (rb_vm_t*) and their callstacks
-end
-
-define rb_ps_thread
- set $ps_thread = (struct RTypedData*)$arg0
- set $ps_thread_id = $arg1
- print $ps_thread_th = (rb_thread_t*)$ps_thread->data
-end
-
-# Details: https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/MachineInstructionsTraceWithGDB
-define trace_machine_instructions
- set logging on
- set height 0
- set width 0
- display/i $pc
- while !$exit_code
- info line *$pc
- si
- end
-end
-
-define SDR
- call rb_vmdebug_stack_dump_raw_current()
-end
-
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index dee365b3c6..0000000000
--- a/.gitignore
+++ /dev/null
@@ -1,137 +0,0 @@
-*-*-*.def
-*.a
-*.bak
-*.dSYM
-*.dmyh
-*.dylib
-*.elc
-*.inc
-*.log
-*.o
-*.orig
-*.rej
-*.sav
-*.swp
-*~
-.*-*
-.*.list
-.*.time
-.DS_Store
-.ccmalloc
-.ext
-.pc
-.ppack
-.svn
-Makefile
-Makefile.old
-extconf.h
-y.output
-y.tab.c
-
-# /
-/*.pc
-/*_prelude.c
-/COPYING.LIB
-/ChangeLog-1.8.0
-/ChangeLog.pre-alpha
-/ChangeLog.pre1_1
-/Doxyfile
-/GNUmakefile
-/GNUmakefile.old
-/README.atheos
-/README.fat-patch
-/README.v6
-/TAGS
-/archive
-/autom4te*.cache
-/automake
-/beos
-/breakpoints.gdb
-/config.cache
-/config.h
-/config.h.in
-/config.status
-/config.status.lineno
-/configure
-/doc/capi
-/enc.mk
-/encdb.h
-/exts.mk
-/goruby
-/id.[ch]
-/largefile.h
-/lex.c
-/libruby*.*
-/miniprelude.c
-/miniruby
-/newdate.rb
-/newline.c
-/newver.rb
-/parse.c
-/parse.h
-/patches
-/patches-master
-/pitest.rb
-/ppack
-/prelude.c
-/preview
-/probes.h
-/rbconfig.rb
-/rename2.h
-/repack
-/revision.h
-/riscos
-/rubicon
-/ruby
-/ruby-man.rd.gz
-/sizes.c
-/test.rb
-/tmp
-/transdb.h
-/uncommon.mk
-/verconf.h
-/web
-/yasmdata.rb
-
-# /benchmark/
-/benchmark/bmx_*.rb
-
-# /enc/trans/
-/enc/trans/*.c
-
-# /ext/
-/ext/extinit.c
-
-# /ext/dl/callback/
-/ext/dl/callback/callback-*.c
-/ext/dl/callback/callback.c
-
-# /ext/rbconfig/
-/ext/rbconfig/sizeof/sizes.c
-
-# /ext/ripper/
-/ext/ripper/eventids1.c
-/ext/ripper/eventids2table.c
-/ext/ripper/ripper.*
-/ext/ripper/ids1
-/ext/ripper/ids2
-
-# /ext/socket/
-/ext/socket/constants.h
-/ext/socket/constdefs.h
-/ext/socket/constdefs.c
-
-# /ext/tk/
-/ext/tk/config_list
-
-# /spec/
-/spec/mspec
-/spec/rubyspec
-
-# /tool/
-/tool/config.guess
-/tool/config.sub
-
-# /win32/
-/win32/*.ico
-/win32/.time
diff --git a/.indent.pro b/.indent.pro
deleted file mode 100644
index 6a207a0554..0000000000
--- a/.indent.pro
+++ /dev/null
@@ -1,21 +0,0 @@
--bap
--nbbb
--nbc
--br
--nbs
--ncdb
--ce
--cli0.5
--ndj
--ei
--nfc1
--i4
--l120
--lp
--npcs
--psl
--sc
--sob
-
--TID
--TVALUE
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 8db00587d6..0000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright (C) 2011 Urabe, Shyouhei. All rights reserved.
-#
-# This file is a part of the programming language Ruby. Permission is hereby
-# granted, to either redistribute or modify this file, provided that the
-# conditions mentioned in the file COPYING are met. Consult the file for
-# details.
-
-# This is a Travis-CI build configuration file. The list of configurations
-# available is located in
-#
-# http://about.travis-ci.org/docs/user/build-configuration/
-#
-# and as Ruby itself is a project written in C language,
-#
-# http://about.travis-ci.org/docs/user/languages/c/
-#
-# is also a good place to look at.
-
-# Language specification.
-language: c
-
-# Compilers. Several compilers are provided in Travis, so we try them all.
-# The value set here is visible via $CC environment variable.
-compiler:
- - gcc
- - clang
-
-# Dependencies. Some header files are missing in a Travis' worker VM, so we
-# have to install them. The "1.9.1" here is OK. It is the most adopted
-# version string for Debian/Ubuntu, and no dependencies have been changed so
-# far since the 1.9.1 release.
-before_install:
- - "sudo apt-get -qq update"
- - "sudo apt-get -qq install $CC" # upgrade if any
-install: "sudo apt-get -qq build-dep ruby1.9.1 2>/dev/null"
-
-# Script is where the test runs. Note we just do "make test", not other tests
-# like test-all, test-rubyspec. This is because they take too much time,
-# enough for Travis to shut down the VM as being stalled.
-before_script:
- - "make -f common.mk BASERUBY=ruby srcdir=. update-config_files"
- - "autoconf"
- - "mkdir config_1st config_2nd"
- - "./configure -C --with-gcc=$CC"
- - "cp -pr config.status .ext/include config_1st"
- - "make reconfig"
- - "cp -pr config.status .ext/include config_2nd"
- - "diff -ru config_1st config_2nd"
- - "make -sj encs"
- - "make -sj exts"
-script:
- - "make test OPTS=-v"
-# - "make test-all TESTS='-v'"
-
-# Branch matrix. Not all branches are Travis-ready so we limit branches here.
-branches:
- only:
- - trunk
- - ruby_1_9_3
-
-# We want to be notified when something happens.
-notifications:
- irc:
- channels:
- - "irc.freenode.org#ruby-core"
- - "irc.freenode.org#ruby-ja"
- on_success: change # [always|never|change] # default: always
- on_failure: change # [always|never|change] # default: always
- template:
- - "%{message} by @%{author}: See %{build_url}"
-
- # Update ruby-head installed on Travis CI so other projects can test against it.
- webhooks:
- urls:
- - "https://rubies.travis-ci.org/rebuild/ruby-head"
- on_success: always
- on_failure: never
-
-# Local Variables:
-# mode: YAML
-# coding: utf-8-unix
-# indent-tabs-mode: nil
-# tab-width: 4
-# fill-column: 79
-# default-justification: full
-# End:
diff --git a/BSDL b/BSDL
deleted file mode 100644
index a009caefea..0000000000
--- a/BSDL
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
diff --git a/COPYING b/COPYING
index a1f19ff99d..9043404a83 100644
--- a/COPYING
+++ b/COPYING
@@ -1,6 +1,6 @@
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
-You can redistribute it and/or modify it under either the terms of the
-2-clause BSDL (see the file BSDL), or the conditions below:
+You can redistribute it and/or modify it under either the terms of the GPL
+version 2 (see the file GPL), or the conditions below:
1. You may make and give away verbatim copies of the source form of the
software without restriction, provided that you duplicate all of the
diff --git a/COPYING.ja b/COPYING.ja
index e50d01c8d1..933cc7cb9a 100644
--- a/COPYING.ja
+++ b/COPYING.ja
@@ -1,51 +1,51 @@
-本プログラムã¯ãƒ•リーソフトウェアã§ã™ï¼Ž2-clause BSDL
-ã¾ãŸã¯ä»¥ä¸‹ã«ç¤ºã™æ¡ä»¶ã§æœ¬ãƒ—ログラムをå†é…布ã§ãã¾ã™
-2-clause BSDLã«ã¤ã„ã¦ã¯BSDLファイルをå‚ç…§ã—ã¦ä¸‹ã•ã„.
+$BK\%W%m%0%i%`$O%U%j!<%=%U%H%&%'%"$G$9!%(BGPL(the GNU General
+Public License)$B$^$?$O0J2<$K<($9>r7o$GK\%W%m%0%i%`$r:FG[I[$G(B
+$B$-$^$9!%(BGPL$B$K$D$$$F$O(BGPL$B%U%!%$%k$r;2>H$7$F2<$5$$!%(B
- 1. 複製ã¯åˆ¶é™ãªã自由ã§ã™ï¼Ž
+ 1. $BJ#@=$O@)8B$J$/<+M3$G$9!%(B
- 2. ä»¥ä¸‹ã®æ¡ä»¶ã®ã„ãšã‚Œã‹ã‚’満ãŸã™æ™‚ã«æœ¬ãƒ—ログラムã®ã‚½ãƒ¼ã‚¹ã‚’
- 自由ã«å¤‰æ›´ã§ãã¾ã™ï¼Ž
+ 2. $B0J2<$N>r7o$N$$$:$l$+$rK~$?$9;~$KK\%W%m%0%i%`$N%=!<%9$r(B
+ $B<+M3$KJQ99$G$-$^$9!%(B
- (a) ãƒãƒƒãƒˆãƒ‹ãƒ¥ãƒ¼ã‚ºã«ãƒã‚¹ãƒˆã—ãŸã‚Šï¼Œä½œè€…ã«å¤‰æ›´ã‚’é€ä»˜ã™ã‚‹
- ãªã©ã®æ–¹æ³•ã§ï¼Œå¤‰æ›´ã‚’公開ã™ã‚‹ï¼Ž
+ (a) $B%M%C%H%K%e!<%:$K%]%9%H$7$?$j!$:n<T$KJQ99$rAwIU$9$k(B
+ $B$J$I$NJ}K!$G!$JQ99$r8x3+$9$k!%(B
- (b) 変更ã—ãŸæœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã‚’è‡ªåˆ†ã®æ‰€å±žã™ã‚‹çµ„織内部ã ã‘ã§
- 使ã†ï¼Ž
+ (b) $BJQ99$7$?K\%W%m%0%i%`$r<+J,$N=jB0$9$kAH?%FbIt$@$1$G(B
+ $B;H$&!%(B
- (c) 変更点を明示ã—ãŸã†ãˆï¼Œã‚½ãƒ•トウェアã®åå‰ã‚’変更ã™ã‚‹ï¼Ž
- ãã®ã‚½ãƒ•トウェアをé…布ã™ã‚‹æ™‚ã«ã¯å¤‰æ›´å‰ã®æœ¬ãƒ—ログラ
- ãƒ ã‚‚åŒæ™‚ã«é…布ã™ã‚‹ï¼Žã¾ãŸã¯å¤‰æ›´å‰ã®æœ¬ãƒ—ログラムã®ã‚½ãƒ¼
- スã®å…¥æ‰‹æ³•を明示ã™ã‚‹ï¼Ž
+ (c) $BJQ99E@$rL@<($7$?$&$(!$%=%U%H%&%'%"$NL>A0$rJQ99$9$k!%(B
+ $B$=$N%=%U%H%&%'%"$rG[I[$9$k;~$K$OJQ99A0$NK\%W%m%0%i(B
+ $B%`$bF1;~$KG[I[$9$k!%$^$?$OJQ99A0$NK\%W%m%0%i%`$N%=!<(B
+ $B%9$NF~<jK!$rL@<($9$k!%(B
- (d) ãã®ä»–ã®å¤‰æ›´æ¡ä»¶ã‚’作者ã¨åˆæ„ã™ã‚‹ï¼Ž
+ (d) $B$=$NB>$NJQ99>r7o$r:n<T$H9g0U$9$k!%(B
- 3. ä»¥ä¸‹ã®æ¡ä»¶ã®ã„ãšã‚Œã‹ã‚’満ãŸã™æ™‚ã«æœ¬ãƒ—ログラムをコンパイ
- ルã—ãŸã‚ªãƒ–ジェクトコードや実行形å¼ã§ã‚‚é…布ã§ãã¾ã™ï¼Ž
+ 3. $B0J2<$N>r7o$N$$$:$l$+$rK~$?$9;~$KK\%W%m%0%i%`$r%3%s%Q%$(B
+ $B%k$7$?%*%V%8%'%/%H%3!<%I$d<B9T7A<0$G$bG[I[$G$-$^$9!%(B
- (a) ãƒã‚¤ãƒŠãƒªã‚’å—ã‘å–ã£ãŸäººãŒã‚½ãƒ¼ã‚¹ã‚’入手ã§ãるよã†ã«ï¼Œ
- ソースã®å…¥æ‰‹æ³•を明示ã™ã‚‹ï¼Ž
+ (a) $B%P%$%J%j$r<u$1<h$C$??M$,%=!<%9$rF~<j$G$-$k$h$&$K!$(B
+ $B%=!<%9$NF~<jK!$rL@<($9$k!%(B
- (b) 機械å¯èª­ãªã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’添付ã™ã‚‹ï¼Ž
+ (b) $B5!3#2DFI$J%=!<%9%3!<%I$rE:IU$9$k!%(B
- (c) 変更を行ã£ãŸãƒã‚¤ãƒŠãƒªã¯åå‰ã‚’変更ã—ãŸã†ãˆï¼Œã‚ªãƒªã‚¸ãƒŠ
- ルã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®å…¥æ‰‹æ³•を明示ã™ã‚‹ï¼Ž
+ (c) $BJQ99$r9T$C$?%P%$%J%j$OL>A0$rJQ99$7$?$&$(!$%*%j%8%J(B
+ $B%k$N%=!<%9%3!<%I$NF~<jK!$rL@<($9$k!%(B
- (d) ãã®ä»–ã®é…布æ¡ä»¶ã‚’作者ã¨åˆæ„ã™ã‚‹ï¼Ž
+ (d) $B$=$NB>$NG[I[>r7o$r:n<T$H9g0U$9$k!%(B
- 4. ä»–ã®ãƒ—ログラムã¸ã®å¼•用ã¯ã„ã‹ãªã‚‹ç›®çš„ã§ã‚れ自由ã§ã™ï¼ŽãŸ
- ã ã—,本プログラムã«å«ã¾ã‚Œã‚‹ä»–ã®ä½œè€…ã«ã‚ˆã‚‹ã‚³ãƒ¼ãƒ‰ã¯ï¼Œã
- れãžã‚Œã®ä½œè€…ã®æ„å‘ã«ã‚ˆã‚‹åˆ¶é™ãŒåŠ ãˆã‚‰ã‚Œã‚‹å ´åˆãŒã‚りã¾ã™ï¼Ž
+ 4. $BB>$N%W%m%0%i%`$X$N0zMQ$O$$$+$J$kL\E*$G$"$l<+M3$G$9!%$?(B
+ $B$@$7!$K\%W%m%0%i%`$K4^$^$l$kB>$N:n<T$K$h$k%3!<%I$O!$$=(B
+ $B$l$>$l$N:n<T$N0U8~$K$h$k@)8B$,2C$($i$l$k>l9g$,$"$j$^$9!%(B
- ãれらファイルã®ä¸€è¦§ã¨ãれãžã‚Œã®é…布æ¡ä»¶ãªã©ã«ä»˜ã„ã¦ã¯
- LEGALファイルをå‚ç…§ã—ã¦ãã ã•ã„.
+ $B$=$l$i%U%!%$%k$N0lMw$H$=$l$>$l$NG[I[>r7o$J$I$KIU$$$F$O(B
+ LEGAL$B%U%!%$%k$r;2>H$7$F$/$@$5$$!%(B
- 5. 本プログラムã¸ã®å…¥åŠ›ã¨ãªã‚‹ã‚¹ã‚¯ãƒªãƒ—トãŠã‚ˆã³ï¼Œæœ¬ãƒ—ログラ
- ムã‹ã‚‰ã®å‡ºåŠ›ã®æ¨©åˆ©ã¯æœ¬ãƒ—ログラムã®ä½œè€…ã§ã¯ãªã,ãれãž
- れã®å…¥å‡ºåŠ›ã‚’ç”Ÿæˆã—ãŸäººã«å±žã—ã¾ã™ï¼Žã¾ãŸï¼Œæœ¬ãƒ—ログラムã«
- 組ã¿è¾¼ã¾ã‚Œã‚‹ãŸã‚ã®æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã«ã¤ã„ã¦ã‚‚åŒæ§˜ã§ã™ï¼Ž
+ 5. $BK\%W%m%0%i%`$X$NF~NO$H$J$k%9%/%j%W%H$*$h$S!$K\%W%m%0%i(B
+ $B%`$+$i$N=PNO$N8"Mx$OK\%W%m%0%i%`$N:n<T$G$O$J$/!$$=$l$>(B
+ $B$l$NF~=PNO$r@8@.$7$??M$KB0$7$^$9!%$^$?!$K\%W%m%0%i%`$K(B
+ $BAH$_9~$^$l$k$?$a$N3HD%%i%$%V%i%j$K$D$$$F$bF1MM$G$9!%(B
- 6. 本プログラムã¯ç„¡ä¿è¨¼ã§ã™ï¼Žä½œè€…ã¯æœ¬ãƒ—ログラムをサãƒãƒ¼ãƒˆ
- ã™ã‚‹æ„å¿—ã¯ã‚りã¾ã™ãŒï¼Œãƒ—ログラム自身ã®ãƒã‚°ã‚ã‚‹ã„ã¯æœ¬ãƒ—
- ログラムã®å®Ÿè¡Œãªã©ã‹ã‚‰ç™ºç”Ÿã™ã‚‹ã„ã‹ãªã‚‹æå®³ã«å¯¾ã—ã¦ã‚‚責
- 任をæŒã¡ã¾ã›ã‚“.
+ 6. $BK\%W%m%0%i%`$OL5J]>Z$G$9!%:n<T$OK\%W%m%0%i%`$r%5%]!<%H(B
+ $B$9$k0U;V$O$"$j$^$9$,!$%W%m%0%i%`<+?H$N%P%0$"$k$$$OK\%W(B
+ $B%m%0%i%`$N<B9T$J$I$+$iH/@8$9$k$$$+$J$kB;32$KBP$7$F$b@U(B
+ $BG$$r;}$A$^$;$s!%(B
diff --git a/ChangeLog b/ChangeLog
index fe76d3d1fb..6d56027d21 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,20085 +1,19176 @@
-Thu Nov 13 22:32:34 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Tue May 22 20:53:02 2007 Akinori MUSHA <knu@iDaemons.org>
- * lib/rexml/document.rb: add REXML::Document#document.
- reported by Tomas Hoger <thoger@redhat.com> and patched by nahi.
+ * ext/thread/thread.c (remove_one): Preserve List invariants;
+ submitted by: MenTaLguY <mental AT rydia.net>
+ in [ruby-core:10598] and [ruby-bugs:PR#9388].
-Thu Nov 6 22:57:43 2014 Naohisa Goto <ngotogenome@gmail.com>
+Tue Mar 20 15:37:24 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * bignum.c (absint_numwords_generic): set an array element after
- definition of a variable to fix compile error with older version
- of fcc (Fujitsu C Compiler) 5.6 on Solaris 10 on Sparc.
- [Bug #10350] [ruby-dev:48608]
+ * distruby.rb: Add zip generation.
-Thu Nov 6 22:36:55 2014 Naohisa Goto <ngotogenome@gmail.com>
+Fri Mar 16 21:48:11 2007 Akinori MUSHA <knu@iDaemons.org>
- * compile.c (compile_data_alloc): add padding when strict alignment
- is required for memory access. Currently, the padding is enabled
- only when the CPU is 32-bit SPARC and the compiler is GCC.
- [Bug #9681] [ruby-core:61715]
+ * ext/dl/dl.c (rb_ary2cary): Fix a bug in type validation;
+ submitted by sheepman <sheepman AT sheepman.sakura.ne.jp>
+ in [ruby-dev:30554].
- * compile.c (STRICT_ALIGNMENT): defined if strict alignment is required
+Fri Mar 16 18:28:06 2007 Akinori MUSHA <knu@iDaemons.org>
- * compile.c (ALIGNMENT_SIZE, ALIGNMENT_SIZE_MASK, PADDING_SIZE_MAX):
- new macros for alignemnt word size, bit mask, max size of padding.
+ * ext/etc/etc.c (etc_getgrgid): Fix a bug in Etc::getgrgid()
+ always returning the (real) group entry of the running process;
+ reported by: UEDA Hiroyuki <ueda AT netforest.ad.jp>
+ in [ruby-dev:30586].
- * compile.c (calc_padding): new function to calculate padding size.
+Fri Mar 16 16:33:58 2007 Akinori MUSHA <knu@iDaemons.org>
-Wed Nov 5 00:18:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/thread/thread.c (unlock_mutex_inner): Make sure that the
+ given mutex is actually owned by the caller; submitted by:
+ Sylvain Joyeux <sylvain.joyeux AT m4x.org> in [ruby-core:10598].
- * configure.in (__builtin_setjmp): disable with gcc/clang earlier
- than 4.3 on Mac OS X. [ruby-core:65174] [Bug #10272]
+Fri Mar 16 16:21:35 2007 Akinori MUSHA <knu@iDaemons.org>
-Wed Nov 5 00:01:04 2014 Tanaka Akira <akr@fsij.org>
+ * ext/thread/thread.c (wait_condvar, lock_mutex): Fix a problem in
+ ConditionVariable#wait that occurs when two threads that are
+ trying to access the condition variable are also in concurrence
+ for the given mutex; submitted by: Sylvain Joyeux
+ <sylvain.joyeux AT m4x.org> and MenTaLguY <mental AT rydia.net>
+ in [ruby-core:10598].
- * bignum.c (bary_mul_balance_with_mulfunc): Fix free work area
- location.
- [ruby-dev:48723] [Bug #10464]
- [ruby-core:66044] [Bug #10465]
- Reported by Kohji Nishihama.
+Fri Mar 16 16:17:27 2007 Akinori MUSHA <knu@iDaemons.org>
-Tue Oct 28 22:30:21 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/thread/test_thread.rb: Add a test script for the `thread'
+ library. This should result in failure as of now with
+ ext/thread; submitted by: Sylvain Joyeux <sylvain.joyeux AT
+ m4x.org> in [ruby-core:10598].
- * configure.in: remove apple-gcc4.2 from CC candidates.
+Wed Mar 14 12:30:00 2007 Shigeo Kobayashi <shigeo@tinyforest.jp>
-ç« 10 28 22:19:44 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * ext/bigdecimal/bigdecimal.c: BigDecimal("-.31") is now
+ treated as ("-0.31") not as ("0.31").
- * version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.5.
+Tue Mar 13 04:04:04 2007 Akinori MUSHA <knu@iDaemons.org>
-Mon Oct 27 20:20:14 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * stable version 1.8.6 released.
- * lib/rexml/entity.rb: keep the entity size within the limitation.
- reported by Willis Vandevanter <will@silentrobots.com> and
- patched by nahi.
+Tue Mar 13 02:54:17 2007 Akinori MUSHA <knu@iDaemons.org>
-Sun Oct 26 03:31:46 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/cgi.rb (CGI::header): IIS >= 5.0 does not need the nph
+ assumption any more; submitted by MIYASAKA Masaru <alkaid AT
+ coral.ocn.ne.jp> in [ruby-dev:30537].
- * vm_method.c (rb_method_entry_make): warn redefinition only for
- already defined methods, but not for undefined methods.
- [ruby-dev:48691] [Bug #10421]
+Mon Mar 12 11:07:44 2007 Akinori MUSHA <knu@iDaemons.org>
-Sun Oct 26 03:21:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_asn1.c (Init_ossl_asn1): Let rdoc know about
+ externally defined modules; submitted by Technorama
+ Ltd. <oss-ruby AT technorama.net> in [ruby-bugs:PR#4704].
- * class.c (unknown_keyword_error): delete expected keywords
- directly from raw table, so that the given block is not called.
- [ruby-core:65837] [Bug #10413]
+ * ext/openssl/ossl_bn.c (Init_ossl_bn): Ditto.
-Wed Oct 22 23:02:49 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * ext/openssl/ossl_cipher.c (Init_ossl_cipher): Ditto.
- * ext/openssl/lib/openssl/ssl.rb (DEFAULT_PARAMS): override
- options even if OpenSSL::SSL::OP_NO_SSLv3 is not defined.
- this is pointed out by Stephen Touset. [ruby-core:65711] [Bug #9424]
+ * ext/openssl/ossl_digest.c (Init_ossl_digest): Ditto.
-Wed Oct 22 23:02:49 2014 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * ext/openssl/ossl_hmac.c (Init_ossl_hmac): Ditto.
- * test/openssl/test_ssl.rb: Reuse TLS default options from
- OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.
+ * ext/openssl/ossl_pkey.c (Init_ossl_pkey): Ditto.
-Wed Oct 22 23:02:49 2014 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): Ditto.
- * lib/openssl/ssl.rb: Explicitly whitelist the default
- SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable
- compression by default.
- Reported by Jeff Hodges.
- [ruby-core:59829] [Bug #9424]
+ * ext/openssl/ossl_pkey_dsa.c (Init_ossl_dsa): Ditto.
-Sun Oct 19 03:22:53 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): Ditto.
- * vm_core.h, vm.c, proc.c: fix GC mark miss on bindings.
- [ruby-dev:48616] [Bug #10368]
+ * ext/openssl/ossl_rand.c (Init_ossl_rand): Ditto.
- * test/ruby/test_eval.rb: add a test code.
+ * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Ditto.
-Sun Oct 19 03:13:38 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 12 01:23:50 2007 Akinori MUSHA <knu@iDaemons.org>
- * parse.y (parser_here_document): do not append already appended
- and disposed code fragment. [ruby-dev:48647] [Bug #10392]
+ * ext/dl/sym.c (rb_dlsym_inspect): Use "0x%x" rather for pointers.
+ This might not be very right but it is commonly used in other
+ parts of the code; submitted by sheepman <sheepman AT
+ sheepman.sakura.ne.jp> in [ruby-dev:30532].
-Thu Oct 16 22:10:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/dl/ptr.c (rb_dlptr_inspect): Ditto.
- * ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO
- should be writable any encoding strings, without conversion.
- [ruby-core:65240] [Bug #10285]
+ * ext/dl/lib/dl/import.rb (DL::Importable::Internal::import,
+ DL::Importable::Internal::callback): Avoid race condition for an
+ instance variable; submitted by sheepman <sheepman AT
+ sheepman.sakura.ne.jp> in [ruby-dev:30530].
-Thu Oct 16 22:06:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Mar 11 19:04:29 2007 Akinori MUSHA <knu@iDaemons.org>
- * vm_eval.c (eval_string_with_cref): fix super from eval with
- scope. set klass in the current control frame to the class of
- the receiver in the context to be evaluated, this class/module
- must match the actual receiver to call super.
- [ruby-core:65122] [Bug #10263]
+ * misc/README: Add a note about ruby-electric.el.
-Thu Oct 16 00:30:30 2014 Tanaka Akira <akr@fsij.org>
+ * misc/ruby-mode.el (ruby-non-block-do-re): Fix
+ ruby-non-block-do-re. [ruby-core:03719]
- * lib/find.rb (Find.find): Call to_path for arguments to obtain
- strings.
- [ruby-core:63713] [Bug #10035] Reported by Herwin.
+ * misc/inf-ruby.el: Synchronize the comment section with trunk.
-Thu Oct 16 00:20:12 2014 Eric Wong <e@80x24.org>
+ * misc/README, misc/rdebug.el: Add rdebug.el, Emacs ruby-debug
+ interface based on rubydb3x.el; submitted by Martin Nordholts
+ <enselic AT gmail.com> in [ruby-bugs:PR#9023].
- * object.c (rb_class_real): do not dereference 0 VALUE
+Sun Mar 11 17:51:46 2007 Akinori MUSHA <knu@iDaemons.org>
- * test/ruby/test_module.rb (test_inspect_segfault):
- Test case and bug report by Thomas Stratmann.
- [ruby-core:65214] [Bug #10282]
+ * ext/dl/mkcallback.rb (mkfunc): Make sure that a callback
+ function is found in the function table before trying to call
+ it; submitted by sheepman <sheepman AT sheepman.sakura.ne.jp>
+ in [ruby-dev:30524].
-Thu Oct 16 00:10:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Mar 11 17:30:53 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * signal.c (rb_f_kill): get rid of deadlock as unhandled and
- discarded signals do not make interrupt_cond signaled.
- based on the patch by Kazuki Tsujimoto at [ruby-dev:48606].
- [Bug #9820]
+ * eval.c (error_handle): no message when exiting by signal.
-Thu Oct 16 00:10:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (ruby_cleanup): re-send signal. [ruby-dev:30516]
- * signal.c (rb_f_kill): should not ignore signal unless the
- default handler is registered. [ruby-dev:48592] [Bug #9820]
+ * eval.c (rb_thread_interrupt): instantiate SignalException.
-Wed Oct 15 23:58:13 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * eval.c (rb_thread_signal_raise): now takes signal number instead
+ of signal name.
- merge r47598 partially. extracted commits are as follows. [Bug #9728]
- https://github.com/k-takata/Onigmo/commit/15ddec6d18e27fdc1988236764e766fd5892ecf5
+ * intern.h (rb_thread_signal_raise, ruby_default_signal): prototypes.
-Wed Oct 15 23:50:33 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * signal.c (esignal_init): takes a signal number and an optional
+ signal name.
- * lib/fileutils.rb: handle ENOENT error with symlink targeted to
- non-exists file. [ruby-dev:45933] [Bug #6716]
+ * signal.c (interrupt_init): pass SIGINT always.
-Wed Oct 15 23:25:24 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * signal.c (ruby_default_signal): invoke system default signal
+ handler.
- * configure.in: NetBSD's ksh, used by configure, needs escapes.
+ * signal.c (rb_signal_exec, trap): handle SIGTERM. [ruby-dev:30505]
-Wed Oct 15 23:13:43 2014 Eric Wong <e@80x24.org>
+Tue Mar 6 19:03:42 2007 Akinori MUSHA <knu@iDaemons.org>
- * array.c (ary_recycle_hash): add RB_GC_GUARD
- (rb_ary_diff): remove volatile
- [Bug #10369]
+ * ext/digest/lib/md5.rb (MD5::new, MD5::md5): Do not modify
+ Digest::MD5.
-Wed Oct 15 23:10:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/lib/sha1.rb (SHA1::new, SHA1::sha1): Ditto.
- * dir.c (dir_s_aref): fix rdoc. `Dir.glob` allows an array but
- `Dir[]` not. the former accepts an optional parameter `flags`,
- while the latter accepts arbitrary number of arguments but no
- `flags`. [ruby-core:65265] [Bug #10294]
+ * lib/shell/process-controller.rb: fix thread synchronization
+ problem for [ruby-dev:30477].
-Wed Oct 15 23:08:02 2014 Rei Odaira <Rei.Odaira@gmail.com>
+ * ext/digest/lib/md5.rb (MD5::new, MD5::md5): Catch up with
+ Digest's API changes; noted by: Kazuhiro Yoshida <moriq AT
+ moriq.com> in [ruby-dev:30500].
- * configure.in: Fix typo. [Bug #9914]
+ * ext/digest/lib/sha1.rb (SHA1::new, SHA1::sha1): Ditto.
+
+ * time.c (time_to_s): Back out the format changes; discussed
+ in [ruby-dev:30495].
-Wed Oct 15 22:46:52 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/sample/irbtkw.rbw: fails to exit process.
- * error.c: update exception tree. [DOC]
- reported by @hemge via twitter.
+Mon Mar 5 20:26:10 2007 Akinori MUSHA <knu@iDaemons.org>
-Wed Sep 24 02:30:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * time.c (time_to_s): Correct the wrong format which did not
+ really conform to RFC 2822; pointed out by: OHARA Shigeki <os at
+ iij.ad.jp> in [ruby-dev:30487].
- * parse.y (parse_ident): just after a label, new expression should
- start, cannot be a modifier. [ruby-core:65211] [Bug #10279]
+Sun Mar 4 23:53:27 2007 Minero Aoki <aamine@loveruby.net>
-Wed Sep 24 02:21:41 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/fileutils.rb (mv): could not move a directory between
+ different filesystems. [ruby-dev:30411]
- * win32/Makefile.sub (VCSUP): nothing to do if this worktree is not
- under any VCS (it means that the worktree may be from the release
- package).
+Sun Mar 4 23:46:40 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 24 02:06:33 2014 Tanaka Akira <akr@fsij.org>
+ * file.c (rb_file_s_utime): allow nil to set the current time.
- * test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.
- [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.
+ * lib/fileutils.rb (touch): ditto, and added :mtime and :nocreate
+ options. fixed: [ruby-talk:219037]
-Wed Sep 24 02:06:33 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun Mar 4 23:19:00 2007 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/minitest/test_minitest_unit.rb: removed obsoleted condition
- for Ruby 1.8.
- * test/ruby/test_time_tz.rb: ditto.
+ * util.c (push_element): should return a int value.
-Wed Sep 24 01:43:13 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Sun Mar 4 01:06:55 2007 Akinori MUSHA <knu@iDaemons.org>
- * version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.4.
+ * lib/set.rb (Set#^, Set#&): Correct documentation. Those methods
+ return sets, not arrays; noted by Oliver Frank Wittich <nietz AT
+ mangabrain.de>.
-Fri Sep 19 00:58:34 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Sat Mar 3 21:41:31 2007 Akinori MUSHA <knu@iDaemons.org>
- * version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.3.
+ * eval.c (stack_check): Unset inline to fix build with GCC 3.4.6;
+ submitted by: NISHIMATSU Takeshi <t_nissie AT yahoo.co.jp> in
+ [ruby-list:43218].
+ cf. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24556
-Mon Sep 15 23:12:47 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Mar 3 19:07:05 2007 Akinori MUSHA <knu@iDaemons.org>
- * signal.c (check_stack_overflow): drop the last tag too close to
- the fault page, to get rid of stack overflow deadlock.
- [Bug #9971]
+ * ext/thread/thread.c (push_list): Use ALLOC().
-Mon Sep 15 22:34:39 2014 Natalie Weizenbaum <nweiz@google.com>
+ * ext/thread/thread.c (rb_mutex_alloc): Ditto.
- * ext/pathname/lib/pathname.rb (SAME_PATHS):
- Pathname#relative_path_from uses String#casecmp to compare strings
- on case-insensitive filesystem platforms (e.g., Windows). This can
- return nil for strings with different encodings, and the code
- previously assumed that it always returned a Fixnum. [Fix GH-713]
+ * ext/thread/thread.c (rb_condvar_alloc): Ditto.
-Mon Sep 15 22:31:33 2014 Sho Hashimoto <sho.hsmt@gmail.com>
+Sat Mar 3 18:56:40 2007 Akinori MUSHA <knu@iDaemons.org>
- * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo,
- SIZEOF_LONG_LON. [Fix GH-714]
+ * NEWS: Add a note for String#intern.
-Mon Sep 15 11:08:23 2014 Shota Fukumori <her@sorah.jp>
+Sat Mar 3 18:36:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb (configuration): Make CXXFLAGS customizable.
- Patch by Kohei Suzuki (eagletmt). [Fixes GH-492]
+ * eval.c (rb_provided): return true only for features loaded from
+ .rb files, and not search actual library type. [ruby-dev:30414]
-Mon Sep 15 01:06:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_feature_p): check loading_tbl if the given ext is
+ empty. [ruby-dev:30452]
- * lib/mkmf.rb (MakeMakefile#pkg_config): append --cflags to also
- $CXXFLAGS, as they are often used by C++ compiler.
- [ruby-core:54532] [Bug #8315]
+ * eval.c (rb_feature_p): fix possible buffer overrun.
-Mon Sep 15 00:02:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Mar 3 16:30:39 2007 Akinori MUSHA <knu@iDaemons.org>
- * lib/csv.rb (CSV#<<): honor explicitly given encoding. based on
- the patch by DAISUKE TANIWAKI <daisuketaniwaki AT gmail.com> at
- [ruby-core:62113]. [Bug #9766]
+ * env.h (SCOPE_CLONE): Introduce a new scope flag to prevent a
+ local_tbl region from getting freed many times; submitted by
+ Chikanaga Tomoyuki <chikanag AT nippon-control-system.co.jp> in
+ [ruby-dev:30460].
-Wed Sep 10 23:36:38 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (proc_invoke): Ditto.
- * test/ruby/test_object.rb: extend timeout.
+ * gc.c (obj_free): Ditto.
-Wed Sep 10 23:36:38 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (top_local_setup_gen): Ditto.
- * object.c (rb_obj_copy_ivar): allocate no memory for empty
- instance variables. [ruby-core:64700] [Bug #10191]
+Sat Mar 3 16:09:27 2007 Akinori MUSHA <knu@iDaemons.org>
-Wed Sep 10 23:36:38 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * object.c (rb_obj_ivar_set): RDoc updated according to a
+ suggestion from Brian Candler <B.Candler AT pobox.com>.
+ [ruby-core:10469]
- * object.c (rb_obj_copy_ivar): extract function to copy instance
- variables only for T_OBJECT from init_copy.
+Sat Mar 3 15:41:33 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 10 23:14:42 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * parse.y (stmt, arg): should not omit lhs of OP_ASGN1 even if
+ empty. [ruby-dev:30452]
- merge r46831 partially. extracted commits are as follows. [Bug #9344]
- https://github.com/k-takata/Onigmo/commit/bdfc1997aa15b6baddaf9a482c6610b32504bd86
+Thu Mar 1 04:08:30 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09.
- this includes Support for Unicode 7.0 [Bug #9092].
+ * mkconfig.rb (patchlevel): read from version.h.
-Wed Sep 10 22:58:25 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Mar 1 03:42:09 2007 Akinori MUSHA <knu@iDaemons.org>
- * common.mk (Doxyfile): revert r43888, not to require preinstalled
- ruby. [ruby-core:64488] [Bug #10161]
+ * ext/digest/digest.c (get_digest_base_metadata): Allow inheriting
+ Digest::Base subclasses, which was unintentionally made
+ impossible while restructuring Digest classes.
-Wed Sep 10 03:29:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Feb 28 22:10:55 2007 Akinori MUSHA <knu@iDaemons.org>
- * io.c (io_close): ignore only "closed stream" IOError and
- NoMethodError, do not swallow other exceptions at the end of
- block. [ruby-core:64463] [Bug #10153]
+ * doc/NEWS-1.8.0: Rename NEWS to NEWS-1.8.0. This is way too old
+ NEWS.
-Wed Sep 10 03:17:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * NEWS: Add NEWS, a document file to keep user visible feature
+ changes between releases.
- * enc/trans/euckr-tbl.rb (EUCKR_TO_UCS_TBL): add missing euro and
- registered signs. [ruby-core:64452] [Bug #10149]
+ * configure.in (ac_cv_func_fcntl): fcntl support for MinGW.
-Wed Sep 10 03:01:31 2014 Eric Wong <e@80x24.org>
+ * missing/flock.c: workaround for MinGW.
- * time.c (time_timespec): fix tv_nsec overflow
- [Bug #10144]
+ * ext/openssl/extconf.rb: no need to check unistd.h and sys/time.h.
+ they are already checked at configure.
+ reported by KOBAYASHI Yasuhiro [ruby-list:43225]
-Wed Sep 10 02:51:38 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/mkmf.rb ($DEFLIBPATH): default library paths ($(topdir), etc)
+ should be the first elements of library paths list.
+ reported by KOBAYASHI Yasuhiro [ruby-list:43225]
- * iseq.c (rb_iseq_clone): Should not insert write barrier from
- non-RVALUE data (to non-RVALUE data, of course).
+ * test/{dbm,gdbm}/test_{dbm,gdbm}.rb: shouldn't use host_os. use
+ target_os instead. reported by KOBAYASHI Yasuhiro [ruby-list:43225]
- Ruby 2.1 also has a same problem.
+ * mkconfig.rb (RbConfig): add CONFIG['PATCHLEVEL']
-Wed Sep 10 02:33:08 2014 Koichi Sasada <ko1@atdot.net>
+ * common.mk: new target dist
- * parse.y (setup_fake_str): fake strings should not set class by
- RBASIC_SET_CLASS() because it insert write barriers to fake
- (non-RVALUE) structure.
+ * distruby.rb: new file
- It can cause unexpected behaviour.
+ * configure.in (--enable-auto-image-base): avoid the neccessity to
+ rebase the shared libs as much as possible;
+ submitted by Corinna Vinschen <spam at vinschen.de> in
+ [ruby-talk:240964].
-Fri Sep 5 17:01:38 2014 Zachary Scott <e@zzak.io>
+Wed Feb 28 20:51:32 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * lib/rdoc/generator/template/darkfish/js/jquery.js: Backport
- rdoc/rdoc@74f60fcb04fee1778fe2694d1a0ea6513f8e67b7
+ * pack.c (pack_unpack): properly ignore non-base64 octets such as
+ UTF-8 encoded BOMs; submitted by SOUMA Yutaka <holon@radastery.jp>
+ to fix [ruby-core:10437]
-Sat Sep 6 00:57:07 2014 Eric Wong <e@80x24.org>
+Tue Feb 27 21:50:10 2007 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/zlib/zlib.c (gzfile_reset): preserve ZSTREAM_FLAG_GZFILE
- [Bug #10101]
+ * util.c (__crt0_glob_function): use ruby_glob() instead of rb_globi().
- * test/zlib/test_zlib.rb (test_rewind): test each_byte
+ * configure.in (ac_cv_func_setrlimit): workaround for djgpp.
-Sat Sep 6 00:47:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Feb 27 20:49:19 2007 Akinori MUSHA <knu@iDaemons.org>
- * configure.in (rb_cv_broken_backtrace): exit with failure
- normally, no needs to abort. [ruby-core:63678] [Bug #10008]
+ * lib/base64.rb (Base64::b64encode): Fix documentation; submitted
+ by David Symonds <dsymonds@gmail.com> in [ruby-core:10432].
-Sat Sep 6 00:05:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * regex.c (calculate_must_string, slow_search, re_search): Silence
+ warnings regarding char * vs. unsigned char * mismatch;
+ submitted by Lyle Johnson <lyle.johnson@gmail.com>
+ in [ruby-core:10416].
- * include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a
- wrapper function for inet_pton minimum supported client is
- Vista, as well as inet_ntop.
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_load): Ditto.
-Sat Sep 6 00:05:02 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * ext/digest/sha1/sha1ossl.c (SHA1_Finish): Ditto.
- * ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of
- MEMZERO is type. Coverity Scan found this bug.
+ * ext/digest/rmd160/rmd160ossl.c (RMD160_Finish): Ditto.
-Sat Sep 6 00:05:02 2014 Tanaka Akira <akr@fsij.org>
+ * ext/digest/digest.c (rb_digest_base_finish,
+ rb_digest_base_update): Ditto.
- * ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc.
- Suggested by Eric Wong.
- https://bugs.ruby-lang.org/issues/9525#note-14
+ * ext/nkf/nkf.c (rb_str_resize, rb_nkf_kconv, rb_nkf_guess1,
+ rb_nkf_guess2): Ditto.
-Sat Sep 6 00:05:02 2014 Tanaka Akira <akr@fsij.org>
+ * ext/thread/thread.c (wait_list_cleanup, rb_mutex_try_lock):
+ Eliminate rb_thread_critical switching where unnecessary;
+ implied by shugo in [ruby-dev:30412].
- * ext/socket: Bypass getaddrinfo() if node and serv are numeric.
- Reporeted by Naotoshi Seo. [ruby-core:60801] [Bug #9525]
+ * ext/thread/thread.c (set_critical): Merge in
+ thread_exclusive_ensure().
- * ext/socket/extconf.rb: Detect struct sockaddr_in6.sin6_len.
+ * ext/thread/thread.c: Consistently use 0 and 1 for
+ rb_thread_critical values.
- * ext/socket/sockport.h (SET_SIN6_LEN): New macro.
- (INIT_SOCKADDR_IN6): Ditto.
+ * ext/thread/thread.c: Use xmalloc()/xfree() instead of
+ malloc()/free(); pointed out by shugo in [ruby-dev:30412].
- * ext/socket/rubysocket.h (struct rb_addrinfo): Add
- allocated_by_malloc field.
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::initialize):
+ Initialize @workdir properly to silence a warning under -w.
+ Submitted by <tommy at tmtm.org> in [ruby-dev:30400].
- * ext/socket/raddrinfo.c (numeric_getaddrinfo): New function.
- (rb_getaddrinfo): Call numeric_getaddrinfo at first.
- (rb_freeaddrinfo): Free struct addrinfo properly when it is
- allocated by numeric_getaddrinfo.
+Sun Feb 25 02:50:51 2007 Akinori MUSHA <knu@iDaemons.org>
-Sat Sep 6 00:05:02 2014 Tanaka Akira <akr@fsij.org>
+ * defines.h: Pull the RUBY_MBCHAR_MAXSIZE definition from trunk,
+ which is necessary for dir.c to compile on djgpp and emx.
- * ext/socket: Wrap struct addrinfo by struct rb_addrinfo.
+Sat Feb 24 17:04:01 2007 Tadayoshi Funaba <tadf@dotrb.org>
-Thu Sep 4 00:31:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/date/format.rb: updated based on date2 4.0.3.
- * ext/thread/thread.c (get_array): check instance variables are
- initialized properly. [ruby-core:63826][Bug #10062]
+Sat Feb 24 17:01:02 2007 Minero Aoki <aamine@loveruby.net>
-Thu Sep 4 00:29:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/racc/cparse/cparse.c (cparse_params_mark): remove useless
+ rb_gc_mark. Thanks Tomoyuki Chikanaga. [ruby-dev:30405]
- * io.c (rb_io_initialize): [DOC] fix rdoc of append mode. it does
- not move the pointer at open. [ruby-core:63747] [Bug #10039]
+Sat Feb 24 16:53:09 2007 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Sep 4 00:23:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * signal.c (sighandler): need to tell to be interrupted to main
+ context when handler is installed.
- * sprintf.c (GETASTER): should not use the numbered argument to be
- formatted, raise ArgumentError instead.
- [ruby-dev:48330] [Bug #9982]
+ * win32/win32.[ch] (rb_win32_interrupted): new function to listen
+ interrupt.
-Thu Sep 4 00:21:05 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * win32/win32.c (set_pioinfo_extra): new function for VC++8 SP1
+ workaround. [ruby-core:10259]
- * test/openssl/test_pkey_rsa.rb (OpenSSL#test_sign_verify_memory_leak):
- added timeout into testcase for low performance environment.
- [Bug #9984][ruby-core:63367]
+ * win32/win32.c (NtInitialize): call above function.
-Tue Sep 2 02:21:58 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Feb 23 13:04:43 2007 Akinori MUSHA <knu@iDaemons.org>
- * hash.c (env_aset, env_has_key, env_assoc, env_has_value),
- (env_rassoc, env_key): prohibit tainted strings if $SAFE is
- non-zero. [Bug #9976]
+ * numeric.c (fix_cmp, fix_equal): Remove FIX2LONG() to optimize.
+ suggested in
+ http://t-a-w.blogspot.com/2007/02/making-ruby-faster.html.
+ [ruby-talk:240223]
-Tue Sep 2 02:08:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Feb 23 12:47:13 2007 James Edward Gray II <james@grayproductions.net>
- * signal.c (rb_f_kill): directly enqueue an ignored signal to self,
- except for SIGSEGV and SIGBUS. [ruby-dev:48203] [Bug #9820]
+ * lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): Make the
+ Content-Length parameter optional for responses in
+ xmlrpc/client.rb; suggested by Daniel Berger
+ <Daniel.Berger@qwest.com> and approved by the maintainer.
-Sun Aug 31 01:13:21 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): Add DateTime
+ support to xmlrpc; approved by the maintainer.
- * gc.c: change full GC timing to keep lower memory usage.
+Mon Feb 19 18:33:30 2007 Akinori MUSHA <knu@iDaemons.org>
- Extend heap only at
- (1) after major GC
- or
- (2) after several (two times, at current) minor GC
+ * ext/socket/socket.c (unix_peeraddr): wrong syscall name in error
+ message for #peeraddr. a patch from Sam Roberts
+ <sroberts at uniserve.com>. [ruby-core:10366]
- Details in https://bugs.ruby-lang.org/issues/9607#note-9
- [Bug #9607]
+Mon Feb 19 18:27:42 2007 Akinori MUSHA <knu@iDaemons.org>
-Sun Aug 31 01:07:05 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * configure.in, defines.h, eval.c (rb_feature_p, rb_provided,
+ load_wait, search_required, rb_require_safe), ext/extmk.rb: Fix
+ a bug where a statically linked extension cannot be autoloaded.
+ [ruby-dev:30023] / [ruby-dev:30239]
- * ext/win32ole/win32ole.c (ole_create_dcom): use the converted
- result if the argument can be converted to a string, to get rid
- of invalid access. Thanks to nobu. [ruby-dev:48467] [Bug #10127]
+Thu Feb 15 20:31:07 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/uri/ftp.rb: Revert the previous change pending discussion.
+
+Fri Feb 16 11:18:21 2007 Eric Hodel <drbrain@segment7.net>
-Sun Aug 31 00:54:47 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/.document: Apply patch for irb, e2mmap and README by Hugh Sasse
+ <hgs at dmu.ac.uk> from [ruby-core:10135]
- * process.c (open): use UTF-8 version function to support
- non-ascii path properly. [ruby-core:63185] [Bug #9946]
+ * lib/prettyprint.rb: Suppress RDoc for PrettyPrint test suite.
-Tue Aug 26 00:08:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 15 18:10:09 2007 Akinori MUSHA <knu@iDaemons.org>
- * configure.in (RUBY_SETJMP_TYPE): check for setjmp type after
- CCDLFLAGS is appended to CFLAGS, since __builtin_setjmp can be
- affected. [ruby-core:62469] [Bug #9818]
+ * dir.c (glob_helper): Fix the function declaration.
-Tue Aug 26 00:07:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 15 16:55:33 2007 Akinori MUSHA <knu@iDaemons.org>
- * configure.in: get rid of __builtin_setjmp/__builtin_longjmp on
- x64-mingw, which causes SEGV with callcc.
- [ruby-core:61887] [Bug #9710]
+ * version.h: Branch off ruby_1_8_6 from ruby_1_8 in preparation
+ for the forthcoming 1.8.6 release.
-Tue Aug 26 00:06:05 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 15 16:44:14 2007 Akinori MUSHA <knu@iDaemons.org>
- * configure.in (ac_cv_func___builtin_setjmp): should not skip
- flags restoration in RUBY_WERROR_FLAG by `break`.
- [ruby-dev:48086] [Bug #9698]
+ * lib/uri/generic.rb (URI::Generic::userinfo): Considering how
+ `scheme://user:@...', `scheme://:password@...' and
+ `scheme://:@...' are parsed, an empty user name or password
+ should be allowed and represented as it is.
-Tue Aug 26 00:02:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 15 11:46:05 2007 KIMURA Koichi <hogemuta@gmail.com>
- * configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp()
- in Apple LLVM 5.1 (LLVM 3.4svn) uses `void**`, not `jmp_buf`.
- [Bug #9692]
+ * dir.c, win32/win32.c, win32/dir.h, ruby.h, intern.h: Bring
+ encoding aware globbing support in from trunk. Dir.[] and
+ Dir.glob() can now take many patterns in an array. Minor fixes
+ will follow.
-Tue Aug 26 00:02:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 15 11:00:26 2007 Akinori MUSHA <knu@iDaemons.org>
- * configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a
- variable as the second argument of __builtin_longjmp().
- [ruby-core:61800] [Bug #9692]
+ * lib/uri/generic.rb (URI::Generic::userinfo): should support
+ empty password. [ruby-core:10290]
-Mon Aug 25 00:36:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/uri/generic.rb (URI::Generic::set_password): password can be
+ cleared by nil. [ruby-core:10290]
- * parse.y (parser_yylex): fix invalid char in eval, should raise
- an syntax error too, as well as directly coded.
- [ruby-core:64243] [Bug #10117]
+ * lib/uri/common.rb (escape): regard second string argument as a
+ character set properly. [ruby-dev:27692]
-Mon Aug 25 00:26:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/uri/ftp.rb: Attempt to conform to RFC 1738 with regard to
+ relative/absolute paths.
- * parse.y (parser_yyerror): preserve source code encoding in
- syntax error messages. [ruby-core:64228] [Bug #10114]
+ * lib/uri: Lovely RDOC patches from mathew (metaATpoboxDOTcom).
-Sat Aug 23 02:39:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 15 10:57:38 2007 Tietew <tietew@tietew.net>>
- * vm_insnhelper.c (vm_call_method): unusable super class should cause
- method missing when BasicObject is refined but not been using.
- [ruby-core:64166] [Bug #10106]
+ * lib/cgi.rb (CGI::unescapeHTML): invalid decoding for single
+ unescaped ampersand. a patch from Tietew
+ <tietew+ruby-dev at tietew.net> in [ruby-dev:30292].
+ fixed: [ruby-dev:30289]
-Sat Aug 23 02:22:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 15 10:48:40 2007 MenTaLguY <mental@rydia.net>
- * string.c (rb_str_count): fix wrong single-byte optimization.
- 7bit ascii can be a trailing byte in Shift_JIS.
- [ruby-dev:48442] [Bug #10078]
+ * ext/thread/thread.c: Handle interrupted waits correctly.
+ [ruby-bugs:PR#8663]
-Thu Aug 21 01:44:46 2014 Tanaka Akira <akr@fsij.org>
+Wed Feb 14 19:22:15 2007 Akinori MUSHA <knu@iDaemons.org>
- * gc.c (mark_current_machine_context): Call SET_STACK_END.
- This reverts a hunk of r40703 by ko1.
- This fixes [ruby-dev:48098] [Bug #9717].
+ * ext/digest/lib/digest.rb (Digest::self.const_missing): Drop
+ autoloads for sha2 classes in favor of handling in
+ const_missing(), to work around a problem exposed on OS X.
-Thu Aug 21 01:41:09 2014 Tanaka Akira <akr@fsij.org>
+Tue Feb 13 02:21:12 2007 Sam Roberts <sroberts@uniserve.com>
- * lib/time.rb (Time.parse): [DOC] Fix an example in the documentation
- to use EST.
- Reported by Marcus Stollsteimer.
- [ruby-core:60778] [Bug #9521] and [ruby-core:61718] [Bug #9682]
+ * io.c (rb_f_syscall): Fix buffer overflow with syscall
+ arguments. [ruby-bugs:PR#8541]
-Thu Aug 21 01:41:09 2014 Zachary Scott <e@zzak.io>
+Sun Feb 11 07:46:45 2007 Akinori MUSHA <knu@iDaemons.org>
- * lib/time.rb: [DOC] Fix timezone in example of Time.parse [Bug #9521]
- Based on patch by @stomar
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): Properly parse
+ a quoted-string in a Content-Disposition value.
-Tue Aug 19 23:31:48 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Sun Feb 11 06:27:54 2007 Akinori MUSHA <knu@iDaemons.org>
- merge r46831 partially. extracted commits are as follows.
- https://github.com/k-takata/Onigmo/commit/b9fba1dc63ccb42a86e934011b468e6022fabb74
- https://github.com/k-takata/Onigmo/commit/c1fc76b9bd463948ffc5058bc352bf93732f0314
- https://github.com/k-takata/Onigmo/commit/a0efc0a200f7108ca3d5ac3039c8f952e0051619
- https://github.com/k-takata/Onigmo/commit/c7cda4ed5676167b0d01bb5555724f6164fbdb13
- [Bug #8716]
+ * configure.in, ext/thread/extconf.rb, lib/thread.rb: Add a
+ configure option `--disable-fastthread', to choose the original,
+ pure ruby version of the "thread" library instead of the new,
+ much faster implementation in ext/thread.
- * include/ruby/oniguruma.h (ONIG_MAX_CAPTURE_GROUP_NUM,
- ONIGERR_TOO_MANY_CAPTURE_GROUPS): add cheking the number of capture
- groups.
+Sun Feb 11 06:22:20 2007 Akinori MUSHA <knu@iDaemons.org>
- * regerror.c (onig_error_code_to_format): ditto.
+ * ext/Setup: Add thread except for platforms without threads
+ support.
- * regparse.c (scan_env_add_mem_entry): ditto.
+Sun Feb 11 06:15:16 2007 Akinori MUSHA <knu@iDaemons.org>
- * regexec.c (onig_region_copy, match_at): fix: segmation fault occurs
- when many groups are used.
+ * ext/thread/lib/thread.rb: Add a replacement of thread.rb that
+ loads this extension.
-Mon Aug 18 23:38:21 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 11 05:39:47 2007 Akinori MUSHA <knu@iDaemons.org>
- * encoding.c (enc_find): [DOC] never accepted a symbol.
- [ruby-dev:48308] [Bug #9966]
+ * lib/thread.rb: Remove an ineffective part of the code.
-Mon Aug 18 23:22:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 11 05:32:54 2007 Akinori MUSHA <knu@iDaemons.org>
- * string.c (rb_str_resize): update capa only when buffer get
- reallocated.
- http://d.hatena.ne.jp/nagachika/20140613/ruby_trunk_changes_46413_46420#r46413
+ * ext/thread/thread.c (rb_thread_exclusive): Implement
+ Thread.exclusive.
-Mon Aug 18 23:22:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 11 05:26:51 2007 Akinori MUSHA <knu@iDaemons.org>
- * string.c (rb_str_resize): should consider the capacity instead
- of the old length, as pointed out by nagachika.
+ * ext/thread/thread.c: Get rid of use of a dummy function.
-Mon Aug 18 23:22:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 11 01:45:31 2007 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * file.c (expand_path): shrink expanded path which no longer needs
- rooms to append. [ruby-core:63114] [Bug #9934]
+ * ext/thread/thread.c (Init_thread): Define missing aliases:
+ Queue#enq and SizedQueue#enq.
-Mon Aug 11 23:55:32 2014 Mark Lorenz <mlorenz@covermymeds.com>
+Sat Feb 10 09:27:35 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * lib/erb.rb (result): [DOC] no longer accepts a Proc, as
- Kernel.eval does not. [fix GH-619]
+ * ext/win32ole/win32ole.c (ole_variant2val): fix compile error
+ on VC++.
-Mon Aug 11 23:38:20 2014 Tanaka Akira <akr@fsij.org>
+Sat Feb 10 07:41:52 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * io.c (rb_io_autoclose_p): Don't raise on frozen IO.
+ * ext/win32ole/win32ole.c (ole_variant2val): fix the bug when
+ SAFEARRAY pointer is NULL.
-Mon Aug 11 23:38:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Feb 10 00:13:11 2007 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * io.c (rb_io_fileno, rb_io_inspect): non-modification does not
- error on frozen IO. [ruby-dev:48241] [Bug #9865]
+ * ext/tk/lib/tk.rb: fix typo (TkConfigMethod::__confinfo_cmd,
+ __conv_keyonly_opts).
-Mon Aug 11 22:34:47 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Feb 9 20:44:53 2007 Akinori MUSHA <knu@iDaemons.org>
- * configure.in (posix_fadvise): disable use of posix_fadvise
- itself on 32-bit AIX. [ruby-core:62968] [Bug #9914]
+ * ext/thread: Make style fixes (mostly de-K&R'ism) to match the
+ rest of the source code.
-Mon Aug 11 22:34:47 2014 <kanemoto@ruby-lang.org>
+ * ext/thread: Make USE_MEM_POOLS an extconf option.
- * io.c (rb_io_advise): AIX currently does not support a 32-bit call to
- posix_fadvise() if _LARGE_FILES is defined. Patch by Rei Odaira.
- [ruby-core:62968] [Bug #9914]
+Fri Feb 9 20:43:01 2007 Akinori MUSHA <knu@iDaemons.org>
-Mon Aug 11 22:14:28 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/thread: Import the "fastthread" implementation by MenTaLguY
+ in the original form. This module is not hooked into the build
+ yet since it needs some style fixes and adjustments.
- * vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack
- pointer to get rid of overwriting splat arguments by arguments
- for `to_hash` conversion. [ruby-core:63593] [Bug #10016]
+Fri Feb 9 15:46:09 2007 Akinori MUSHA <knu@iDaemons.org>
-Fri Aug 8 23:36:01 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal: Synchronize with trunk. Better function
+ prototypes, removal of a useless method `!=', and document
+ updates.
- * ext/stringio/stringio.c (strio_write): use rb_str_append to
- reuse coderange bits other than ASCII-8BIT, and keep
- taintedness. [ruby-dev:48118] [Bug #9769]
+Tue Feb 06 22:06:45 2007 NARUSE, Yui <naruse@ruby-lang.org>
-Mon Aug 4 01:29:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/nkf/nkf-utf8/{nkf.c,utf8tbl.c}:
+ imported nkf 2007-01-28.
+ * Fixed: can't decode MIME encode JIS string.
+ * Fixed: Fullwitdh-halfwidth conversion.
+ * Support DoCoMo's and Softbank's EMOJI
+ * Support CP932, CP5022x, eucJP-ms UDC
+ * Support UTF-32 encoding
+ * Support beyond BMP
+ [ruby-dev:29700] [ruby-dev:29922] [ruby-dev:30144]
- * hash.c (env_shift): fix memory leak on Windows, free environment
- strings block always. [ruby-dev:48332] [Bug #9983]
+Wed Jan 31 14:52:09 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Aug 4 01:26:46 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_iterate): need to PUSH_ITER in proper order.
+ [ruby-core:10125]
- * hash.c (env_select): fix memory leak and crash on Windows, make
- keys array first instead of iterating on environ directly.
- [ruby-dev:48325] [Bug #9978]
+ * test/ruby/test_iterator.rb (TestIterator::test_block_given_within_iterator):
+ add new test. [ruby-core:10125]
-Mon Aug 4 01:24:09 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 30 14:58:51 2007 NAKAMURA Usaku <usa@ruby-lang.org>
- * hash.c (ruby_setenv): fix memory leak on Windows, free
- environment strings block after check for the size.
- [ruby-dev:48323] [Bug #9977]
+ * string.c (rb_str_sub_bang): calling rb_str_modify() should be just
+ before actually modifying the string.
+ fixed: [ruby-dev:30211] (originally reported by zunda)
-Mon Aug 4 01:11:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 30 12:05:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * re.c (match_aref, rb_reg_regsub): consider encoding of captured
- names, encoding-incompatible should not match.
- [ruby-dev:48278] [Bug #9903]
+ * mkconfig.rb: autoconf 2.61 support. [ruby-core:10016]
-Mon Aug 4 00:52:42 2014 Koichi Sasada <ko1@atdot.net>
+Sat Jan 27 15:20:11 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (rb_catch_protect): fix same problem of [Bug #9961].
+ * parse.y (dyna_var_lookup): should not alter dvar->val not to
+ destroy living value. [ruby-core:10076]
- * vm_eval.c (rb_iterate): ditto.
+ * parse.y (dyna_init): ditto.
-Mon Aug 4 00:52:42 2014 Koichi Sasada <ko1@atdot.net>
+Fri Jan 26 12:03:39 2007 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfp
- with invoking RUBY_EVENT_C_RETURN.
- [Bug #9961]
+ * ext/tk/lib/tk.rb (TkConfigMethod#__confinfo_cmd,
+ __conv_keyonly_optkeys): make them private [ruby-dev:30074].
- * vm_core.h: ditto.
+ * ext/tk/lib/tk/txtwin_abst.rb: fix typo [ruby-dev:30073].
- * eval.c (rb_protect): use it.
+ * ext/tk/lib/tk/canvas.rb (TkCanvas#scan_dragto): lack of an argument.
- * eval.c (rb_rescue2): ditto.
+ * ext/tk/lib/tk/canvas.rb: clarify the including module name
+ [ruby-dev:30080].
- * vm_eval.c (rb_iterate): ditto.
+ * ext/tk/lib/tk/scrollable.rb: change primary name of modules
+ [ruby-dev:30080].
- * test/ruby/test_settracefunc.rb: add a test.
+Wed Jan 24 18:05:39 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_core.h (rb_vm_rewind_cfp): add the prototype declaration.
+ * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): fix
+ regexp font-lock bug. [ruby-talk:235758]
-Sun Aug 3 00:06:10 2014 Charlie Somerville <charliesome@ruby-lang.org>
+Tue Jan 23 11:02:33 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest::read_line):
- * node.c (dump_node): handle nd_value == (NODE *)-1 to mean this
- keyword argument is required
+Tue Jan 23 18:26:12 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 31 01:56:11 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): use == instead
+ of ===. [ruby-dev:30176]
- * compile.c (rb_iseq_compile_node): put start label of block after
- trace (b_call).
- [Bug #9964]
+Tue Jan 23 10:48:17 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add a test.
+ * hash.c: added documentation for Hash about how it uses eql? and
+ hash methods for the keys. [ruby-core:09995]
- added assert_consistent_call_return() method check call/return
- consistency.
+Mon Jan 22 14:57:25 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 31 01:22:43 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/socket.c: fix errors in socket sample code.
+ [ruby-core:09992]
- * vm.c (invoke_block_from_c): move call/return event timing for
- bmethod. It can invoke inconsistent call event if this call raises
- argument error.
- [Bug #9959]
+Sat Jan 13 23:54:48 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * vm_insnhelper.c (vm_call_bmethod_body): ditto.
+ * ext/win32ole/win32ole.c (ole_free, ole_type_free,
+ olemethod_free, olevariable_free, oleparam_free,
+ ole_event_free): fix memory leak. [ruby-core:09846]
- * test/ruby/test_settracefunc.rb: add a test.
+Fri Jan 12 11:13:55 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jul 31 01:12:55 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/etc/etc.c (etc_getpwuid, etc_getgrgid): fix to correctly
+ convert uid/gid from VALUE. (backport of r11521)
- * vm_core.h: add VM_FRAME_MAGIC_RESCUE to recognize normal block or
- rescue clause.
+Wed Jan 10 18:57:57 2007 Minero Aoki <aamine@loveruby.net>
- * vm.c (vm_exec): use VM_FRAME_MAGIC_RESCUE on at rescue/ensure.
+ * ext/strscan/strscan.c (strscan_do_scan): should set kcode option
+ before match. [ruby-dev:29914]
- * test/ruby/test_settracefunc.rb: should not invoke b_return at rescue
- clause.
- [Bug #9957]
+ * test/strscan/test_stringscanner.rb: test it.
- * vm_dump.c (control_frame_dump): check VM_FRAME_MAGIC_RESCUE.
+ * re.c: export kcode_set_option and kcode_reset_option (with "rb_"
+ prefix).
- * vm_dump.c (vm_stack_dump_each): ditto.
+ * intern.h: ditto.
-Thu Jul 31 00:44:34 2014 Koichi Sasada <ko1@atdot.net>
+Tue Jan 9 17:45:17 2007 NAKAMURA Usaku <usa@ruby-lang.org>
- * vm_trace.c: clear and restore recursive checking thread local data
- to avoid unexpected throw from TracePoint.
- [Bug #9940]
+ * file.c (rb_find_file): should not call fpath_check() with NULL.
+ fixed: [ruby-core:09867]
- * test/ruby/test_settracefunc.rb: add a test.
+Tue Jan 9 03:54:38 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c: added
- * rb_threadptr_reset_recursive_data(rb_thread_t *th);
- * rb_threadptr_restore_recursive_data(rb_thread_t *th, VALUE old);
+ * string.c (rb_str_upto): String#upto from empty string makes
+ inifinite loop. [ruby-core:09864]
- * vm_core.h: ditto.
+Sun Jan 7 12:13:26 2007 Eric Hodel <drbrain@segment7.net>
-Wed Jul 23 23:49:59 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_class_comment):
+ Look for class and module comments above rb_define_class and
+ rb_define_module. Patch by Daniel Berger <djberg96 at gmail.com>
- * lib/test/unit/parallel.rb: fix test-all parallel failure if a test
- is skipped after raise.
- DL::TestFunc#test_sinf is skipped after raise on mingw ruby.
- But it causes Marshal.load failure due to undefined class/module
- DL::DLError when doing test-all parallel and test-all doesn't
- complete. We create new MiniTest::Skip object to avoid Marshal.load
- failure.
- [ruby-core:62133] [Bug #9767]
+Sun Jan 7 10:32:12 2007 Eric Hodel <drbrain@segment7.net>
- * test/testunit/test_parallel.rb (TestParallel): add a test.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constants):
+ Properly handle escaping of : in comments.
+ * test/rdoc/parsers/test_parse_c.rb:
+ Test RDoc::C_Parser#do_classes and Rdoc::C_Parser#find_class_comment.
- * test/testunit/tests_for_parallel/ptest_forth.rb: ditto.
+Sun Jan 7 09:33:02 2007 Tadayoshi Funaba <tadf@dotrb.org>
-Wed Jul 23 23:11:28 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/date/format.rb: updated based on date2 4.0.1.
- * test/socket/test_socket.rb: unix socket is required by test case.
+Wed Jan 3 11:36:51 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 23 23:11:28 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * io.c (ruby_dup): start GC on ENOMEM as well.
- * test/socket/test_addrinfo.rb: remove unused variables.
- * test/socket/test_nonblock.rb: ditto.
- * test/socket/test_socket.rb: ditto.
- * test/socket/test_unix.rb: ditto.
- * test/testunit/test_parallel.rb: ditto.
- * test/webrick/test_filehandler.rb: ditto.
- * test/xmlrpc/test_features.rb: ditto.
- * test/zlib/test_zlib.rb: ditto.
+Mon Jan 1 06:13:11 2007 Eric Hodel <drbrain@segment7.net>
-Wed Jul 23 23:05:19 2014 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/parsers/c_parser.rb: Make Rdoc accessible. Update constant
+ value information.
- * ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all
- separators File::SEPARATOR from File::ALT_SEPARATOR.
- Reported by Daniel Rikowski.
- Fixed by Nobuyoshi Nakada. [Bug #9618]
+Mon Jan 1 06:13:11 2007 Eric Hodel <drbrain@segment7.net>
- * ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto.
+ * ext/bigdecimal/bigdecimal.c: Update constant comments to provide
+ values for RDoc.
-Wed Jul 23 22:51:34 2014 Naohisa Goto <ngotogenome@gmail.com>
+Mon Jan 1 06:05:55 2007 Eric Hodel <drbrain@segment7.net>
- * lib/fileutils.rb (rmdir): rescue Errno::EEXIST in addition to
- ENOTEMPTY (and ENOENT), because SUSv3 describes that "If the
- directory is not an empty directory, rmdir() shall fail and set
- errno to [EEXIST] or [ENOTEMPTY]" and Solaris uses EEXIST.
- [Bug #9571] [ruby-dev:48017]
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constansts):
+ Allow RDoc comment to give friendly value for rb_define_const. Patch
+ by Daniel Berger <djberg96 at gmail.com>, [ruby-patches-7499].
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#handle_constansts): Fix
+ whitespace handling in constant comments.
-Wed Jul 23 22:43:50 2014 Tanaka Akira <akr@fsij.org>
+Sun Dec 31 00:31:16 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which
- security.mac.portacl.port_high is changed.
- See mac_portacl(4) for details.
- Reported by Jakub Szafranski. [ruby-core:60917] [Bug #9544]
+ * lib/date.rb, lib/date/format.rb: updated based on date2 4.0.
-Wed Jul 23 22:24:26 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Thu Dec 14 18:29:13 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/openssl/test_x509cert.rb: split assertions into algorithms.
- CentOS 7 seems finish MD5 support
- http://chkbuild005.hsbt.org/chkbuild/ruby-trunk/log/20140722T140010Z.fail.html.gz
+ * ext/readline/readline.c: NetBSD editline does not have
+ rl_username_completion_function() and rl_completion_matches().
+ a patch from Takahiro Kambe <taca at back-street.net>.
+ [ruby-dev:30008]
- * test/openssl/test_x509req.rb: ditto.
+Thu Dec 14 18:20:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Jul 19 01:44:34 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/irb/locale.rb (IRB::Locale::puts): typo fixed. a patch from
+ NAKAMURA Usaku <usa@ruby-lang.org>. [ruby-dev:30012]
- * re.c (match_aref): should not ignore name after NUL byte.
- [ruby-dev:48275] [Bug #9902]
+Mon Dec 11 11:58:36 2006 Akinori MUSHA <knu@iDaemons.org>
-Sun Jul 13 23:28:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/digest/sha2/lib/sha2.rb: Moved one level up from under
+ the superfluous subdirectory digest/.
- * test/test_timeout.rb (test_timeout): inverted test condition.
- [Bug #8523]
+Mon Dec 11 11:46:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 13 23:18:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * variable.c (rb_define_const): typo fixed.
- * ext/digest/digest.c (rb_digest_instance_equal): no need to call
- `to_s` twice. [Bug #9913]
+Mon Dec 11 09:36:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 13 23:18:11 2014 Benoit Daloze <eregontp@gmail.com>
+ * string.c (rb_str_aset): index double decode problem.
+ [ruby-core:09695]
- * ext/digest/digest.c (rb_digest_instance_equal):
- fix #== for non-string arguments. [ruby-core:62967] [Bug #9913]
+Sat Dec 9 21:39:24 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/digest/test_digest.rb: add test for above.
+ * eval.c (ruby_cleanup): keep the exception till after END blocks.
+ [ruby-core:09675]
-Sun Jul 13 23:10:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 9 11:22:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (yield_indexed_values): extract from permute0(),
- rpermute0(), and rcombinate0().
+ * lib/irb/locale.rb (IRB::Locale::search_file): ues File.exist?
+ instead of File.exists?. a patch from Yutaka Kanemoto
+ <kinpoco at gmail.com> in [ruby-dev:30000].
-Sun Jul 13 23:02:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 7 09:29:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_permutation): `p` is the array of size `r`, as
- commented at permute0(). since `n >= r` here, buffer overflow
- never happened, just reduce unnecessary allocation though.
+ * lib/weakref.rb (WeakRef::__setobj__): should support
+ marshaling. [ruby-talk:228508]
-Sun Jul 13 22:52:43 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/delegate.rb (Delegator::marshal_load): need to call
+ __setobj__.
- * pack.c (encodes): fix buffer overrun by tail_lf. Thanks to
- Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019]
+Wed Dec 6 23:56:14 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 13 22:44:05 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * Makefile.in, common.mk (NULLCMD): moved for platforms that empty
+ command does not run. fixed: [ruby-dev:29994]
- * ext/thread/thread.c (undumpable): ConditionVariable and Queue
- are not dumpable. [ruby-core:61677] [Bug #9674]
+Wed Dec 6 17:17:26 2006 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Jul 11 23:07:09 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * configure.in (SITE_DIR): fixed to emtpy RUBY_SITE_LIB in config.h on
+ NetBSD. fixed: [ruby-dev:29358]
- * lib/matrix.rb: Fix sign for cross_product [#9499]
+Tue Dec 5 00:59:05 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 6 23:16:30 2014 Masaya Tarui <tarui@ruby-lang.org>
+ * misc/ruby-mode.el (ruby-parse-partial): need to parse "/=" as
+ self assignment operator, not regex. [ruby-talk:227324]
- * st.c (st_foreach_check): change start point of search at check
- from top to current. [ruby-dev:48047] [Bug #9646]
+Mon Dec 4 10:48:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 6 22:56:03 2014 Zachary Scott <e@zzak.io>
+ * ruby.h (OFFT2NUM): use LONG2NUM() if sizeof(long) equals to
+ sizeof(off_t).
- * lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543]
+Mon Dec 4 10:43:46 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 4 00:46:03 2014 Zachary Scott <e@zzak.io>
+ * parse.y (dyna_init_gen): dvar initialization only if dvar is
+ assigned inner block. [ruby-talk:227402]
- * enumerator.c: [DOC] Fix example to show Enumerator#peek behavior
- Patch by Erik Hollembeak [Bug #9814]
+Mon Dec 4 08:32:49 2006 Shugo Maeda <shugo@ruby-lang.org>
-Fri Jul 4 00:44:43 2014 Zachary Scott <e@zzak.io>
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): should quote
+ boundary. JVN#84798830
- * enum.c: [DOC] Use #find in example to clarify alias by @rachellogie
- Patch submitted via documenting-ruby/ruby#34
+Sat Dec 2 07:09:04 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Fri Jul 4 00:42:57 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/openssl/ossl_ocsp.c: OpenSSL::OCSP::OSCPError should be
+ subclass of OpenSSL::OpenSSLError. [ruby-dev:29980]
- * man/ruby.1: remove deadlink. [ruby-core:62145][Bug #9773]
+Fri Dec 1 17:01:49 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Jul 4 00:25:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (ruby_init_stack): decrease "stack level too deep" in Windows.
+ merge from trunk.
- * struct.c (not_a_member): extract name error and use same error
- messages. based on the patch by Marcus Stollsteimer <sto.mar AT
- web.de> at [ruby-core:61721]. [Bug #9684]
+Fri Dec 1 16:31:53 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Jul 3 01:19:50 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * ext/tk/tcltklib.c: shouldn't run the killed thread at callback.
+ [ruby-talk: 227408]
- * numeric.c (num_step_scan_args): table argument of rb_get_kwargs() is
- array of IDs, not Symbols. [ruby-dev:48353] [Bug #9811]
+Mon Nov 27 17:18:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 3 01:19:50 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sprintf.c (rb_f_sprintf): need not to truncate string if no
+ width specifier given for %s. [ruby-dev:29952]
- * numeric.c (num_step_scan_args): check keyword arguments and fail
- if they conflict with positional arguments.
- [ruby-dev:48177] [Bug #9811]
+Sun Nov 26 16:36:46 2006 URABE Shyouhei <shyouhei@ruby-lang.org>
-Tue Jul 1 03:05:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * version.h: addition of RUBY_PATCHLEVEL.
+ * version.c: ditto.
- * io.c (read_all): truncate the buffer before appending read data,
- instead of truncating before reading.
- [ruby-core:55951] [Bug #8625]
+Fri Nov 24 10:17:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 1 03:05:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (bignorm): avoid segmentation. a patch from Hiroyuki
+ Ito <ZXB01226@nifty.com>. [ruby-list:43012]
- * io.c (io_setstrbuf, io_read): should not shorten the given buffer until
- read succeeds. [ruby-core:55951] [Bug #8625]
+Thu Nov 23 10:38:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jun 30 03:15:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_mod_define_method): set implicit visibility only when
+ it's called for the target class (ruby_cbase).
- * vm.c (core_hash_merge_kwd): should return the result hash, which
- may be converted from and differ from the given argument.
- [ruby-core:62921] [Bug #9898]
+Wed Nov 22 16:00:49 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jun 30 03:07:22 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/tk/extconf.rb: support --with-X11/--without-X11 option.
- * lib/net/ftp.rb (gets, readline): read lines without LF properly.
- [ruby-core:63205] [Bug #9949]
+ * ext/tk/README.tcltklib: add description about --with-X11-* option
+ [ruby-talk:225166] and --with-X11/--without-X11 option.
- * test/net/ftp/test_buffered_socket.rb: related test.
+ * ext/tk/tkutil/extconf.rb: able to be called manually
+ [ruby-talk:225950].
-Mon Jun 30 02:59:08 2014 Shugo Maeda <shugo@ruby-lang.org>
+Wed Nov 15 23:22:54 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body
- type as "MIXED" followed immediately by params
- [ruby-core:62864] [Bug #9885]
- Patch by @rayners (David Raynes). [Fixes GH-622]
- https://github.com/ruby/ruby/pull/622
+ * file.c (test_grpowned, rb_stat_grpowned): should honor
+ supplementary group IDs. [ruby-core:09546]
-Mon Jun 30 02:46:44 2014 Rei Odaira <Rei.Odaira@gmail.com>
+Thu Nov 9 03:15:22 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * signal.c (ruby_signal): should return either `old.sa_sigaction`
- or `old.sa_handler`, depending on whether `SA_SIGINFO` is set in
- `old.sa_flags`, because they may not be a union.
- [ruby-core:62836] [Bug #9878]
+ * eval.c (BEGIN_CALLARGS): ruby_block may be NULL even when
+ ITER_PRE.
-Mon Jun 30 02:36:08 2014 Eric Wong <e@80x24.org>
+Tue Nov 7 18:34:34 2006 Akinori MUSHA <knu@iDaemons.org>
- * process.c (proc_getgroups, proc_setgroups): use ALLOCV_N
- [Bug #9856]
+ * ext/digest/lib/digest/hmac.rb: Keep this out of the 1.8 tree
+ until we reach a consensus that HMAC should be put under Digest.
-Mon Jun 30 02:28:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 7 18:05:01 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * io.c (io_setstrbuf): always check if the buffer is modifiable.
- [ruby-core:62643] [Bug #9847]
+ * ext/tk/lib/tk/itemconfig.rb: minor bug fix.
-Mon Jun 30 02:25:00 2014 Tanaka Akira <akr@fsij.org>
+Mon Nov 6 20:11:20 2006 Kouhei Sutou <kou@cozmixng.org>
- * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept):
- Consider Socket#accept as well as TCPServer#accept.
- Reported by Sam Stelfox. [ruby-core:62064] [Bug #9750]
+ * lib/rss/0.9.rb (RSS::Rss): removed needless include.
-Mon Jun 30 02:18:47 2014 Eric Wong <e@80x24.org>
+Mon Nov 6 15:41:55 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * complex.c (parse_comp): replace ALLOCA_N with ALLOCV_N/ALLOCV_END
- [Bug #9608]
- * rational.c (read_digits): ditto
+ * ext/tk/lib/tk/itemconfig.rb: ext/tk/lib/tk/itemconfig.rb: bug
+ fix on 'itemconfiginfo' method, and modify to make it easy to
+ override 'itemconfiginfo' method.
-Mon Jun 30 02:10:34 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tkextlib/tile/treeview.rb : support Tile 0.7.8.
- * vsnprintf.c (BSD_vfprintf): fix string width when precision is
- given. as the result of `memchr` is NULL or its offset from the
- start cannot exceed the size, the comparison was always false.
- [ruby-core:62737] [Bug #9861]
+ * ext/tk/lib/tkextlib/version.rb : [new] add Tk::Tkextlib_RELEASE_DATE
+ to get the information from scripts.
-Mon Jun 30 01:46:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: load 'tkextlib/version.rb', and update RELEASE_DATE
- * ext/fiddle/extconf.rb: supply 0 to fill RUBY_LIBFFI_MODVERSION
- with 3-digit. libffi 3.1 returns just 2-digit.
- [ruby-core:62920] [Bug #9897]
+ * ext/tk/lib/tkextlib/SUPPORT_STATUS: update.
-Mon Jun 30 00:57:05 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/editable_listbox.rb: [new] the listbox with editable
+ items. It's one of the example about usage of Place geometry manager.
- * vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event.
- The patch base by drkaes (Stefan Kaes).
- [Bug #9321]
+ * ext/tk/sample/tktextio.rb: improve the functions of TkTextIO class.
+ Those are required by 'irbtkw.rbw'.
- * variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()
- instead of rb_frame_pop().
+ * ext/tk/sample/irbtkw.rbw: [new] IRB on Ruby/Tk. It doesn't need any
+ real console. IRB works on a text widget without I/O blocking. That
+ is, thread switching on IRB will work properly, even if on Windows.
- * vm_eval.c (raise_method_missing): ditto.
+Sun Nov 5 19:53:49 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * vm_eval.c (rb_iterate): ditto.
+ * lib/date.rb: updated based on date2 3.9.7.
- * internal.h (rb_vm_pop_cfunc_frame): add decl.
+Sat Nov 4 13:13:57 2006 Shugo Maeda <shugo@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add tests.
- provided by drkaes (Stefan Kaes).
+ * lib/net/imap.rb: accept NOMODSEQ. [ruby-core:9002]
+ (backported from HEAD)
- * vm.c, eval.c, include/ruby/intern.h (rb_frame_pop):
- move definition of rb_frame_pop() and deprecate it.
- It doesn't care about `return' events.
+Fri Nov 3 00:16:37 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jun 29 01:34:06 2014 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c (ruby_getnameinfo__aix): AF_INET6 workaround
+ for AIX. a patch from Yutaka Kanemoto <kinpoco AT gmail.com>.
+ [ruby-dev:29744]
- * lib/webrick/utils.rb (create_listeners): Close socket objects.
+Thu Nov 2 15:43:39 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Jun 28 16:35:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (primary): should set NODE even when compstmt is NULL.
+ merge from trunk. fixed: [ruby-dev:29732]
- * string.c (rb_str_substr): need to reset code range for shared
- string too, not only copied string.
- [ruby-core:62842] [Bug #9882]
+Thu Nov 2 14:48:30 2006 Akinori MUSHA <knu@iDaemons.org>
-Sat Jun 28 14:37:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/set.rb (Set#^): Fix XOR operation against a container that
+ holds duplicate values. [issue: #6444]
- * parse.y (local_tbl_gen): remove local variables duplicated with
- arguments.
- [ruby-core:60501] [Bug #9486]
+Wed Nov 1 02:41:38 2006 Akinori MUSHA <knu@iDaemons.org>
-Tue Jun 24 00:21:58 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/digest/lib/digest/hmac.rb (Digest::HMAC::update): Minor
+ optimization.
- * eval.c (rb_using_refinement): add write-barriers for
- cref->nd_refinements.
+ * ext/digest/digest.c (rb_digest_instance_equal): Allow comparing
+ a digest instance with another of a different class.
-Tue Jun 24 00:14:20 2014 Tanaka Akira <akr@fsij.org>
+Wed Nov 1 01:05:13 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/net/ftp.rb (transfercmd): Close TCP server socket even if an
- exception occur.
+ * eval.c (rb_call0): fixed bug of zsuper with both of opt and rest.
+ fixed: [ruby-list:42928]
-Tue Jun 24 00:06:41 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * test/ruby/test_super.rb: add tests to check above bug.
- * thread_win32.c (rb_w32_stack_overflow_handler): use Structured
- Exception Handling by AddVectoredExceptionHandler() for machine
- stack overflow on mingw.
- This would be equivalent to the handling using __try and __except
- on mswin introduced by r43748.
+Tue Oct 31 17:03:21 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jun 23 23:56:54 2014 Eric Wong <e@80x24.org>
+ * time.c (time_dup): duplicate the class of original time.
+ [ruby-core:09357]
- * signal.c (signal_exec): ignore immediate cmd for SIG_IGN
- * signal.c (trap_handler): set cmd to true for SIG_IGN
- * signal.c (trap): handle nil and true values for oldcmd
- [Bug #9835]
+ * lib/time.rb (Time::make_time, Time::rfc2822, Time::httpdate):
+ should respect subclasses. [ruby-core:09357]
-Mon Jun 23 02:46:14 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Oct 30 23:40:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * class.c (rb_mod_init_copy): always clear instance variable,
- constant and method tables first, regardless the source tables.
- [ruby-dev:48182] [Bug #9813]
+ * Makefile.in (miniruby): add XLDFLAGS.
-Mon Jun 23 02:36:04 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in (aix): use -bE option for miniruby. [ruby-dev:29698]
- * thread.c (thread_start_func_2): stop if forked in a sub-thread,
- the thread has become the main thread.
- [ruby-core:62070] [Bug #9751]
+ * dir.c (glob_helper): get rid of possible memory leak.
-Mon Jun 23 01:53:18 2014 Josh Goebel <dreamer3@gmail.com>
+ * win32/win32.c (cmdglob, rb_w32_cmdvector, rb_w32_opendir,
+ rb_w32_get_environ): not to use GC before initialization.
- * net/protocol.rb (using_each_crlf_line): fix SMTP dot-stuffing
- for messages not ending with a new-line.
- [ruby-core:61441] [Bug #9627] [fix GH-616]
+Mon Oct 30 19:29:20 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Jun 20 00:40:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big2str0): use better approximation.
- * thread_pthread.c (ruby_init_stack, ruby_stack_overflowed_p):
- place get_stack above others to get stack boundary information.
- [ruby-core:60113] [Bug #9454]
+Mon Oct 30 18:35:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jun 20 00:40:06 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * bignum.c (rb_big2str0): wrong allocation length. a patch from
+ U.Nakamura <usa at garbagecollect.jp> [ruby-dev:29710]
- * thread_pthread.c: rlimit is only available on Linux.
- At least r44712 breaks FreeBSD.
- [ruby-core:60113] [Bug #9454]
+Mon Oct 30 12:34:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jun 20 00:40:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_eval): fix commit miss. [ruby-dev:29707]
- * thread_pthread.c: get current main thread stack size, which may
- be expanded than allocated size at initialization, by rlimit().
- [ruby-core:60113] [Bug #9454]
+Mon Oct 30 12:20:58 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jun 20 00:20:02 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * bignum.c (rb_big2str0): a bug in length adjustment.
- * configure.in: enable SSE2 on mingw. target='i386-pc-mingw32'.
- [ruby-core:62095] [Bug #8358]
+Mon Oct 30 11:15:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jun 17 00:45:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sprintf.c (rb_str_format): should preserve leading zero
+ information for negative %b and %x. [ruby-talk:221347]
- * compile.c (compile_array_): make copy a first hash not to modify
- the argument itself. keyword splat should be non-destructive.
- [ruby-core:62161] [Bug #9776]
+Thu Oct 26 21:05:58 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Jun 17 00:37:15 2014 Bugra Barin <bugrabarin@hotmail.com>
+ * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): should clear error.
+ (fix http://bugs.debian.org/394336)
- * dln.c (dln_load): use wchar version to load a library in
- non-ascii path on Windows. based on the patch by Bugra Barin
- <bugrabarin AT hotmail.com> in [ruby-core:61845]. [Bug #9699]
+ * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto.
-Tue Jun 17 00:26:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 26 15:21:10 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r()
- may need larger buffers than sysconf values, so retry with
- expanding the buffer when ERANGE is returned.
- [ruby-core:61325] [Bug #9600]
+ * ext/digest/digest.c (Init_digest): typo.
-Wed Jun 11 22:58:30 2014 Eric Wong <e@80x24.org>
+Wed Oct 25 17:23:28 2006 Akinori MUSHA <knu@iDaemons.org>
- * gc.c (ruby_gc_set_params): simplify condition
+ * ext/digest, test/digest/test_digest.rb: Merge from trunk:
+ - Introduce versioning in Digest::Base API, and prefix C
+ constants with RUBY_ and C type names with rb_ to avoid name
+ clash in writing extensions.
+ - Introduce Digest::Class and Digest::Instance for ease of
+ implementing subclasses and add-ons.
+ - Digest::Instance module requires and assumes that any instance
+ be resettable and clonable. An instance method #new() is
+ added so digest instances work just like digest classes.
+ - The constructor does no longer take an initial string to feed;
+ digest() and hexdigest() now do, instead. This allows digest
+ classes to take their own hashing parameters.
+ - Make some changes to digest() and hexdigest() class methods,
+ which now take extra arguments, which are passed through to
+ the constructor in an internal call.
+ - Add #digest_length/size/length() and #block_length(),
+ - Add the Digest::SHA2 class to wrap up SHA2 variants: SHA256,
+ SHA384 and SHA512, hoping this module would make a decent
+ example of a digest subclass written in Ruby.
+ - Rip BubbleBabble support out of the base class and have a
+ separate module named digest/bubblebabble.
+ - Remove RD documents in favor of newly written and embedded
+ RDoc documentation.
-Wed Jun 11 22:58:30 2014 Eric Wong <e@80x24.org>
+Wed Oct 25 08:03:23 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * gc.c (ruby_gc_set_params): fix building without RGenGC
+ * lib/date/format.rb: updated based on date2 3.9.6.
+ [ruby-core:09323]
-Wed Jun 11 02:43:32 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+Sun Oct 22 14:48:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file):
- remove dependency on json library.
+ * signal.c (ruby_signal): don't set SA_RESTART. a backport from
+ the HEAD. [ruby-talk:220937] [ruby-talk:147220]
-Wed Jun 11 02:43:32 2014 Scott Francis <scott.francis@shopify.com>
+ * signal.c (Init_signal): avoid duplicated installation of SIGCHLD
+ handler.
- * ext/objspace/objspace_dump.c: Check fptr before trying to dump RFILE
- object fd. [GH-562]
+Sun Oct 22 16:47:56 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/objspace/test_objspace.rb: add test
+ * string.c (rb_str_substr): should be infected with only original
+ string, but not the shared string. fixed: [ruby-core:09152]
-Wed Jun 11 02:27:55 2014 Akinori MUSHA <knu@iDaemons.org>
+ * string.c (rb_str_new4): keep shared string untainted when orignal
+ string is tainted. fixed: [ruby-dev:29672]
- * configure.in: Fix a build problem with clang and --with-opt-dir.
- If ruby is configured with --with-opt-dir=dir when using clang
- as compiler, a warning `clang: warning: argument unused during
- compilation: '-I dir'` is emitted almost every time clang
- compiles a file. Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes
- any output from the compiler as fatal error, and the check thus
- fails due to the warning. This is an attempt to fix the problem
- by adding a flag -Qunused-arguments to CFLAGS locally in the
- function to suppress the warning. [ruby-dev:48062] [Bug #9658]
- [Fixes GH-571] https://github.com/ruby/ruby/pull/571
+Sun Oct 22 05:20:34 2006 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
-Wed Jun 11 02:18:34 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * configure.in: alloca is broken; use C_ALLOCA instead.
+ [ruby-dev:29416]
- * numeric.c: Fix Numeric#step with 0 unit [Bug #9575]
+Fri Oct 20 10:47:43 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Jun 11 00:36:05 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * lib/mkmf.rb: fixed the bug of handling COMMON_MACROS.
- * test/ruby/test_string (test_LSHIFT_neary_long_max): extend timeout.
- this test fails on some CI environment by timeout.
+Fri Oct 20 08:42:38 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jun 7 01:17:16 2014 Tanaka Akira <akr@fsij.org>
+ * common.mk (NULLCMD): dummy command.
- * signal.c (check_stack_overflow): Don't use ucontext_t if ucontext.h
- is not available.
- Fixes build on Android (x86).
+ * bcc32/Makefile.sub (post-install-*): Borland make cannot ignore
+ command-less double-colon rules. [ruby-dev:29676]
-Tue Jun 3 00:38:33 2014 Eric Wong <e@80x24.org>
+Fri Oct 20 00:37:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * class.c (rb_class_subclass_add): use xmalloc
- * class.c (rb_module_add_to_subclasses_list): ditto
- * class.c (rb_class_remove_from_super_subclasses): use xfree
- * class.c (rb_class_remove_from_module_subclasses): ditto
- [Bug #9616]
+ * bcc32/Makefile.sub ($(LIBRUBY_SO)): execute pre-link hook.
-Mon Jun 2 02:19:30 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/extmk.rb: workaround for Borland make.
- * win32/win32.c (rb_w32_accept, open_ifs_socket, socketpair_internal):
- reset inherit flag of socket to avoid unintentional inheritance of
- socket. note that the return value of SetHandleInformation() is not
- verified intentionally because old Windows may return an error.
- [Bug #9688] [ruby-core:61754]
+Wed Oct 18 23:02:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Jun 2 02:12:10 2014 Eric Wong <e@80x24.org>
+ * array.c (rb_ary_shift): shorten copy size. fixed: [ruby-list:42907]
- * time.c (time_mload): freeze and preserve marshal-loaded time zone
- * test/ruby/test_time.rb: add test for GC on loaded object
- [Bug #9652]
+ * signal.c (Init_signal): handle SIGTERM. fixed: [ruby-list:42895]
-Mon Jun 2 01:57:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (rb_w32_utime): allow NULL to set the current time.
+ [ruby-talk:219248]
- * vm_insnhelper.c (vm_callee_setup_arg): turn a macro into an
- inline function.
+Wed Oct 18 00:55:33 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Jun 2 01:46:43 2014 Eric Wong <e@80x24.org>
+ * parse.y (parser_yylex): use particular enums. [ruby-core:09221]
- * variable.c (rb_const_set): delete existing entry on redefinition
- [Bug #9645]
- * test/ruby/test_const.rb (test_redefinition): test for leak
+Mon Oct 16 08:30:43 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri May 30 00:13:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * mkconfig.rb: *OBJS are not needed for extension libraries.
- * eval.c (setup_exception): preserve errinfo across calling #to_s
- method on the exception. [ruby-core:61091] [Bug #9568]
+ * {bcc32,wince,win32}/Makefile.sub (config.status): fixed typo,
+ missing comma.
-Thu May 29 20:57:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 15 01:03:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * numeric.c (ruby_num_interval_step_size): check signs and get rid
- of implementation dependent behavior of negative division.
- [ruby-core:61106] [Bug #9570]
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect): append base
+ directory but not prepend.
-Wed May 28 23:47:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): do not
+ join with dot. fixed: [ruby-core:09179]
- * configure.in (rb_cv_func___builtin_unreachable): try with an
- external variable not only by a warning, which might not be
- shown due to the optimization. [ruby-core:61647] [Bug #9665]
+Sat Oct 14 23:39:50 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed May 28 23:40:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (singleton): no need to re-create NODE_SELF() again.
+ [ruby-core:09177]
- * ext/openssl/ossl_asn1.c (ossl_asn1_initialize): SYMID on a value
- other than Symbol is an undefined behavior. fix up r31699.
- [ruby-core:62142] [Bug #9771]
+Sat Oct 14 23:25:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed May 28 23:37:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (parser_warning, parser_warn): some error message may
+ contain format specifiers. a patch from Akinori MUSHA <knu at
+ iDaemons.org>. [ruby-dev:29657]
- * ext/stringio/stringio.c (strio_putc): fix for non-ascii
- encoding, like as IO#putc. [ruby-dev:48114] [Bug #9765]
+ * ext/bigdecimal/bigdecimal.c (VpException): ditto.
-Wed May 28 01:05:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/dl/handle.c (rb_dlhandle_initialize): ditto.
- * lib/fileutils.rb (FileUtils#copy_entry): update rdoc about
- preserve option and permissions, following r31123.
- [ruby-core:62065] [Bug #9748]
+ * ext/gdbm/gdbm.c (rb_gdbm_fatal): ditto.
-Wed May 28 00:57:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 14 08:24:45 2006 Akinori MUSHA <knu@iDaemons.org>
- * proc.c (umethod_bind): use the ancestor iclass instead of new
- iclass to get rid of infinite recursion, if the defined module
- is already included. [ruby-core:62014] [Bug #9721]
+ * ext/digest/lib/digest/hmac: Back out the addition of digest/hmac
+ for now because the API is too premature for a stable branch.
-Wed May 28 00:57:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 14 00:55:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * proc.c (rb_method_call_with_block, umethod_bind): call with
- IClass including the module for a module instance method.
- [ruby-core:61936] [Bug #9721]
+ * bcc32/Makefile.sub (post-install-ext): no longer needed.
- * vm_insnhelper.c (vm_search_super_method): allow bound
- UnboundMethod case.
+ * bcc32/configure.bat: get rid of a quirk of Borland make, which
+ sets empty macro in command line to "1".
-Wed May 28 00:38:37 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 13 22:50:43 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * array.c (ary_reject): may be turned into a shared array during
- the given block. [ruby-dev:48101] [Bug #9727]
+ * lib/date.rb: updated based on date2 3.9.5.
-Wed May 28 00:29:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 13 22:33:28 2006 Minero Aoki <aamine@loveruby.net>
- * string.c (str_buf_cat): should round up the capacity by 4KiB,
- but not number of rooms. [ruby-core:61886] [Bug #9709]
+ * lib/fileutils.rb (FileUtils.cp_r): dereference_root=true is
+ default in Ruby 1.8. This line is wrongly removed in last commit.
-Wed May 28 00:23:11 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Fri Oct 13 18:19:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/xmlrpc/client.rb (do_rpc): don't check body length.
- If HTTP content-encoding is used, the length may be different.
- [Bug #8182] [ruby-core:53811]
+ * object.c: Class#inherited RDoc added. a patch from Daniel
+ Berger <djberg96 at gmail.com> [ruby-core:08942]
-Wed May 28 00:18:29 2014 Tadayoshi Funaba <tadf@dotrb.org>
+Fri Oct 13 02:30:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/date/date_core.c (d_lite_cmp): should compare with #<.
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect): prepend
+ base directory to load path.
-Fri May 23 00:04:13 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): should
+ use the given File-like interface, but not File directly.
- * ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
- Reported by Saravana kumar. [ruby-core:61820] [Bug #9697]
- Fixed by Heesob Park. [ruby-core:61868]
+ * test/testunit/collector/test_dir.rb (TestDir::FileSystem): implement
+ File-like methods correctly.
-Fri May 23 00:04:13 2014 Tanaka Akira <akr@fsij.org>
+Fri Oct 13 01:48:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket: Wrap struct addrinfo by struct rb_addrinfo.
+ * lib/date.rb (Date::self.complete_hash): need to check if g is
+ nil before dereference. [ruby-core:09116]
-Fri May 23 00:04:13 2014 Tanaka Akira <akr@fsij.org>
+Fri Oct 13 00:34:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.
+ * object.c (rb_mod_cvar_defined): wrong id check. a patch from
+ Mauricio Fernandez <mfp at acm.org>. [ruby-core:09158]
-Mon May 19 00:47:00 2014 Koichi Sasada <ko1@atdot.net>
+ * object.c (rb_mod_cvar_get): typo fixed. [ruby-core:09168]
- * test/ruby/test_array.rb: remove useless `assert'.
+ * object.c (rb_mod_cvar_set): ditto.
-Mon May 19 00:47:00 2014 Koichi Sasada <ko1@atdot.net>
+Wed Oct 11 22:21:41 2006 Akinori MUSHA <knu@iDaemons.org>
- * array.c (rb_ary_modify): remember shared array owner if a shared
- array owner is promoted and a shared array is not promoted.
+ * ext/digest: Merge from trunk; metadata location changed,
+ Digest::Base#reset() added, Digest::Base#equal() changed, and
+ digest/hmac added with some modifications made for ruby 1.8.
- Now, shared array is WB-unprotected so that shared arrays are not
- promoted. All objects referred from shared array should be marked
- correctly.
+Tue Oct 10 17:24:12 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- [ruby-core:61919] [ruby-trunk - Bug #9718]
+ * {bcc32,win32,wince}/Makefile.sub (config.status): shouldn't use
+ copy command instead of install. use -run install.
- * test/ruby/test_array.rb: add a test for above.
+Tue Oct 10 16:49:16 2006 Akinori MUSHA <knu@iDaemons.org>
-Mon May 19 00:26:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/digest.c (hexdigest_str_new, bubblebabble_str_new):
+ Perform StringValue() checks properly.
- * parse.y (parser_yylex): only a newline after label should be
- significant. [ruby-core:61658] [Bug #9669]
+ * ext/digest/digest.c: Use RSTRING_{PTR,LEN} macros.
-Mon May 19 00:26:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Oct 10 13:49:53 2006 Akinori MUSHA <knu@iDaemons.org>
- * parse.y (lex_state_e, parser_params, f_arglist, parser_yylex):
- separate EXPR_LABELARG from EXPR_BEG and let newline significant,
- so that required keyword argument can place at the end of
- argument list without parentheses. [ruby-core:61658] [Bug #9669]
+ * ext/digest: Merge from trunk; apply all changes since the
+ initial import, except for the removal of compatibility stub
+ libraries (md5.rb and sha1.rb).
-Fri May 16 00:27:02 2014 James Edward Gray II <james@graysoftinc.com>
+Mon Oct 9 23:46:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/csv.rb: Fixed a broken regular expression that was causing
- CSV to miss escaping some special meaning characters when used
- in parsing.
- Reported by David Unric
- [ruby-core:54986] [Bug #8405]
+ * lib/parsedate.rb: documentation patch from Konrad Meyer
+ <konrad.meyer@gmail.com>. [ruby-doc:1238]
-Fri May 16 00:14:25 2014 Kohei Suzuki <eagletmt@gmail.com>
+ * lib/open3.rb, lib/ping.rb: ditto.
- * vm_method.c (rb_method_entry_get_without_cache): me->klass is 0
- for a method aliased in a module. [ruby-core:61636] [Bug #9663]
+Mon Oct 9 22:56:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri May 16 00:14:25 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rexml/encoding.rb (REXML::Encoding::check_encoding): spaces
+ are allowed around equal sign. [ruby-core:09032]
- * vm_method.c (rb_method_entry_get_without_cache): get rid of
- infinite recursion at aliases in a subclass and a superclass.
- return actually defined class for other than singleton class.
- [ruby-core:60431] [Bug #9475]
+ * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser): ditto.
-Mon May 12 22:53:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 7 23:53:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * parse.y (primary): flush cmdarg flags inside left-paren in a
- command argument, to allow parenthesed do-block as an argument
- without arguments parentheses. [ruby-core:61950] [Bug #9726]
+ * string.c (rb_str_scan): small documentation fix.
+ [ruby-core:09007]
-Mon May 12 22:22:43 2014 Koichi Sasada <ko1@atdot.net>
+Sat Oct 7 23:44:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm.c (invoke_block_from_c): add VM_FRAME_FLAG_BMETHOD to record
- it is bmethod frame.
+ * bignum.c (rb_big_rshift): a bug in right shift of negative
+ bignums. [ruby-core:09020]
- * vm.c (vm_exec): invoke RUBY_EVENT_RETURN event if rollbacked frame
- is VM_FRAME_FLAG_BMETHOD.
- [Bug #9759]
+Sat Oct 7 00:27:58 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add a test for TracePoint/set_trace_func.
+ * class.c (rb_include_module): remove unnecessary check.
+ [ruby-talk:218402]
- * vm_core.h: rename rb_thread_t::passed_me to
- rb_thread_t::passed_bmethod_me to clarify the usage.
+Fri Oct 6 04:30:30 2006 Akinori MUSHA <knu@iDaemons.org>
- * vm_insnhelper.c (vm_call_bmethod_body): use renamed member.
+ * sample/openssl/c_rehash.rb: Use digest/md5 instead of obsolete md5.
-Mon May 12 22:11:47 2014 Shota Fukumori <her@sorah.jp>
+Wed Oct 4 18:47:25 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_eval.c (eval_string_with_cref): Unify to use NIL_P.
+ * ext/tk/lib/tkextlib/*: bugfix and update
+ (see ext/tk/ChangeLog.tkextlib).
-Mon May 12 22:11:47 2014 Shota Fukumori <her@sorah.jp>
+Wed Oct 4 17:25:14 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (eval_string_with_cref): Use file path even if scope is
- given. Related to [ruby-core:56099] [Bug #8662] and r42103.
+ * eval.c (rb_call): check protected visibility based on real self,
+ not ruby_frame->self. [ruby-talk:217822]
-Thu May 8 01:13:10 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Oct 4 08:52:30 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: correct pthread_setname_np's prototype on NetBSD.
- [Bug #9586]
+ * test/optparse/test_getopts.rb: changed the class name of test case
+ to get rid of conflict with test_optparse.rb.
-Tue May 6 00:54:56 2014 Narihiro Nakamura <authornari@gmail.com>
+Tue Oct 3 23:32:27 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_after_sweep): suppress unnecessary expanding heap.
- Tomb heap pages are freed pages here, so expanding heap is
- not required.
+ * lib/test/unit/testcase.rb (Test::Unit::TestCase.suite): test name
+ must be string. fixed: [ruby-core:08978]
-Mon May 5 02:35:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Oct 2 23:47:55 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_pkey.c (ossl_pkey_verify): as EVP_VerifyFinal()
- finalizes only a copy of the digest context, the context must be
- cleaned up after initialization by EVP_MD_CTX_cleanup() or a
- memory leak will occur. [ruby-core:62038] [Bug #9743]
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::COLLECTORS):
+ base directory should be lower precedence. fixed: [ruby-dev:29622]
-Mon May 5 02:21:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): typo.
- * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free),
- ext/fiddle/handle.c (fiddle_handle_free),
- ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak.
- based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599].
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
+ load expanded path. fixed: [ruby-dev:29621]
-Mon May 5 01:20:27 2014 Eric Wong <e@80x24.org>
+Mon Oct 2 15:49:19 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (rb_gc_writebarrier): drop special case for big hash/array
- [Bug #9518]
+ * instruby.rb: batfile should be CRLF'ed.
-Mon May 5 01:13:00 2014 Koichi Sasada <ko1@atdot.net>
+Mon Oct 2 01:24:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_before_sweep): cap `malloc_limit' to
- gc_params.malloc_limit_max. It can grow and grow with such case:
- `loop{"a" * (1024 ** 2)}'
- [Bug #9687]
+ * common.mk (test-all): separate directory where running test cases
+ from source tree.
- This issue is pointed by Tim Robertson.
- http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/
+ * lib/test/unit/autorunner.rb (options): added --basedir, --workdir
+ and --load-path options.
-Mon May 5 00:52:18 2014 Kenta Murata <mrkn@mrkn.jp>
+ * lib/test/unit/collector/dir.rb (recursive_collect, collect_file):
+ base directory support.
- * ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard.
+Sun Oct 1 23:56:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto.
+ * Makefile.in, common.mk, ext/extmk.rb, win{32,ce}/Makefile.in: keep
+ LIBRUBY_SO unless need to be removed.
-Mon May 5 00:42:35 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun Oct 1 23:12:19 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/psych/psych.gemspec: update gemspec for psych-2.0.5
+ * lib/optparse.rb (OptionParser#make_switch): pass arguments directly.
-Mon May 5 00:42:35 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Sep 30 15:12:25 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * ext/psych/lib/psych.rb: Merge psych-2.0.5. bump version to
- libyaml-0.1.6 for CVE-2014-2525.
- * ext/psych/yaml/config.h: ditto.
- * ext/psych/yaml/scanner.c: ditto.
- * ext/psych/yaml/yaml_private.h: ditto.
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.4.
-Mon May 5 00:35:20 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Fri Sep 29 12:11:04 2006 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encoding
- objects.
+ * jcode.rb (succ!): call original succ! if $KCODE == 'n'.
+ fixed: [ruby-talk:216845]
- * ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding
- objects.
+Fri Sep 29 11:43:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/psych/test_encoding.rb: add test
+ * lib/mkmf.rb (try_func): revert fallback checking undeclared function.
+ fixed: [ruby-core:08949]
- * ext/psych/lib/psych.rb: add version
+Fri Sep 29 09:56:56 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon May 5 00:16:35 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/extmk.rb: extout is needed for also clean.
+ fixed: [ruby-core:08944]
- * gc.c: Fix up default GC params by @csfrancis [fix GH-556]
+ * lib/optparse.rb (OptionParser::Switch#conv_arg): unsplat by
+ Proc#call if no conversion is given.
-Fri May 2 00:19:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 28 23:59:31 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl.c (ossl_make_error): check NULL for unknown
- error reasons with old OpenSSL, and insert a colon iff formatted
- message is not empty.
+ * node.h (struct thread): declare win32_exception_list on cygwin and
+ win32 regardless if it is implemented. Provisional fix for
+ [ruby-core:08917].
-Thu May 1 20:56:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 28 20:53:16 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/readline/extconf.rb (rl_hook_func_t): check pointer type.
- [ruby-dev:48089] [Bug #9702]
+ * lib/tmpdir.rb: use return value of getdir.call for length.
-Thu May 1 20:47:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 27 01:04:49 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`.
- [ruby-core:61756] [Bug #9578]
+ * lib/mkmf.rb (try_func): check function pointer first and macro next.
-Thu May 1 20:47:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/mkmf.rb (have_type): simplified with typedef and sizeof.
- * ext/readline/extconf.rb (rl_hook_func_t): define as Function for
- very old readline versions. [ruby-core:61209] [Bug #9578]
+Tue Sep 26 23:57:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 1 20:47:08 2014 Tanaka Akira <akr@fsij.org>
+ * lib/optparse.rb (OptionParser#getopts): use strings as key.
+ fixed: [ruby-dev:29614]
- * ext/readline/readline.c (Init_readline): Use rl_hook_func_t instead
- of Function to support readline-6.3. (rl_hook_func_t is available
- since readline-4.2.)
- Reported by Dmitry Medvinsky. [ruby-core:61141] [Bug #9578]
+Tue Sep 26 15:31:26 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Mar 1 21:00:27 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * {win32,wince}/Makefile.sub (CPP): check predefined value.
- * proc.c: Having optional keyword arguments makes maximum arity +1,
- not unlimited [#8072]
+Tue Sep 26 07:55:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Mar 1 17:25:12 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * array.c (rb_ary_shift): should not move memory region if array
+ body is shared. a patch from Kent Sibilev <ksruby at gmail.com>.
+ [ruby-core:08922]
- * proc.c: Having any mandatory keyword argument increases min arity
- [#9299]
+Mon Sep 25 22:26:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Feb 24 14:56:41 2014 WATANABE Hirofumi <eban@ruby-lang.org>
+ * file.c (rb_path_end): skip root directory. fixed: [ruby-core:08913]
- * tool/make-snapshot: needs CXXFLAGS. [ruby-core:59393][Bug #9320]
+ * lib/mkmf.rb (init_mkmf): set default $LDFLAGS. Patch by Michal
+ Suchanek <hramrach at centrum.cz>. [ruby-talk:216256]
-Mon Feb 24 14:56:41 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Sep 25 08:14:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/make-snapshot: support new version scheme.
+ * array.c (rb_ary_shift): should clear shifting top element.
+ [ruby-talk:216055]
-Mon Feb 24 13:05:48 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * array.c (rb_ary_shift): avoid creating shared object if array
+ size is small.
- * ext/psych/lib/psych.rb: New release of psych.
- * ext/psych/psych.gemspec: ditto
+Mon Sep 25 08:11:35 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Feb 24 13:05:48 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * random.c (rb_f_rand): RDoc typo fix. a patch from Frederick
+ Cheung <fred at 82ask.com>. [ruby-talk:216047]
- * ext/psych/yaml/emitter.c: merge libyaml 0.1.5
- * ext/psych/yaml/loader.c: ditto
- * ext/psych/yaml/parser.c: ditto
- * ext/psych/yaml/reader.c: ditto
- * ext/psych/yaml/scanner.c: ditto
- * ext/psych/yaml/writer.c: ditto
- * ext/psych/yaml/yaml_private.h: ditto
+Sun Sep 24 22:28:20 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Feb 22 22:26:43 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * runruby.rb: extension library scripts moved into common directory.
- * ext/io/console/console.c (console_dev): need read access for conout$
- because some functions need it. [Bug#9554]
+Sun Sep 24 14:59:50 2006 Tanaka Akira <akr@fsij.org>
-Sat Feb 22 21:56:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * node.h (struct thread): ia64 support is broken by sandbox patch.
- * compile.c (iseq_set_arguments): set arg_keyword_check from
- nd_cflag, which is set by parser. internal ID is used for
- unnamed keyword rest argument, which should be separated from no
- keyword check.
+Sun Sep 24 12:11:16 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is
- present.
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.3.
- * parse.y (new_args_tail_gen): set keywords check to nd_cflag, which
- equals to that keyword rest is not present.
+Sat Sep 23 23:24:57 2006 why the lucky stiff <why@ruby-lang.org>
-Sat Feb 22 21:56:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_save_context, rb_thread_restore_context):
+ sandbox hook to save and restore sandbox state.
- * iseq.c (rb_iseq_parameters): push argument type symbol only for
- unnamed rest keywords argument.
+ * eval.c (thread_no_ensure): added THREAD_NO_ENSURE thread flag.
-Sat Feb 22 21:56:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_kill_bang): Thread#kill! uses the above flag
+ to circumvent ensure, in order to prevent endless loops.
+ [ruby-core:08768]
- * proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if
- having rest keywords argument. [ruby-core:53298] [Bug #8072]
+ * eval.c (rb_thread_kill): fix Thread#kill docs, which returns
+ the thread object in all cases.
-Sat Feb 22 18:55:08 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * node.h: expose the rb_jmpbuf_t and rb_thread_t structs, along
+ with the thread flags. used by the sandbox extension.
- * ext/socket/init.c (wait_connectable): break if the socket is
- writable to avoid infinite loops on FreeBSD and other platforms
- which conforms to SUSv3. This problem cannot be reproduced with
- loopback interfaces, so it's hard to write test code.
- rsock_connect() and wait_connectable() are overly complicated, so
- they should be refactored, but I commit this fix as a workaround
- for the release of Ruby 1.9.3 scheduled on Feb 24.
- [ruby-core:60940] [Bug #9547]
+ * ruby.h: extern rb_eThreadError, so sandbox can swap it.
-Sat Feb 22 18:48:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 23 21:34:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * class.c (rb_mod_init_copy): do nothing if copying self.
- [ruby-dev:47989] [Bug #9535]
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): CGI content
+ may be empty. a patch from Jamis Buck <jamis at 37signals.com>.
- * hash.c (rb_hash_initialize_copy): ditto.
+Sat Sep 23 08:35:53 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Feb 22 18:20:58 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * lib/rdoc/ri/ri_options.rb: prevent NameError. [ruby-dev:29597]
- * hash.c (rb_hash_flatten): fix behavior of flatten(-1).
- [ruby-dev:47988] [Bug #9533]
+Sat Sep 23 01:04:20 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * test/ruby/test_array.rb: test for above.
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.2.
-Sat Feb 22 17:46:32 2014 Tanaka Akira <akr@fsij.org>
+Fri Sep 22 02:06:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/open-uri.rb: Make proxy disabling working again.
- Fixed by Christophe Philemotte. [ruby-core:59650] [Bug #9385]
+ * .cvsignore: ignore timestamp files and installed list file.
-Sat Feb 22 17:33:39 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Sep 22 01:36:34 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_mod_s_constants): return its own constants for other
- than Module itself. [ruby-core:59763] [Bug #9413]
+ * instruby.rb: include FileUtils unconditionally.
-Sat Feb 22 16:51:36 2014 Eric Wong <e@80x24.org>
+Thu Sep 21 22:56:20 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/json/generator/depend: add build dependencies for json extension
- [Bug #9374] [ruby-core:59609]
- * ext/json/parser/depend: ditto
+ * common.mk (no-install): not install rdoc actually.
-Sat Feb 22 16:34:12 2014 Yusuke Endoh <mame@tsg.ne.jp>
+ * common.mk (install-doc, no-install-doc): use instruby.rb.
- * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.
- [ruby-core:57599] [Bug #8978].
+ * instruby.rb: rdoc installation.
-Sat Feb 22 16:34:12 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/extmk.rb: expand ruby executable names.
- * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.
- [ruby-core:57599] [Bug #8978]. Thanks mame!
+Thu Sep 21 13:55:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Feb 22 16:17:54 2014 Eric Wong <e@80x24.org>
+ * ext/etc/etc.c (etc_getpwuid): uid integer should be wraped in
+ uid_t value. [ruby-core:08897]
- * ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error
- (bsock_recvmsg_internal): ditto
- * test/socket/test_unix.rb: test above for infinite loop
+ * ext/etc/etc.c (etc_getpwuid): uid_t may be bigger than plain
+ 'int' type.
-Sat Feb 22 15:56:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 20 23:17:41 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread_pthread.c (rb_thread_create_timer_thread): fix for platforms
- where PTHREAD_STACK_MIN is a dynamic value and not a compile-time
- constant. [ruby-dev:47911] [Bug #9436]
+ * common.mk (pre-install-doc): create data directory before install.
-Sat Feb 22 15:56:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/mkmf.rb (dir_re): fixed typo.
- * thread_pthread.c (rb_thread_create_timer_thread): expand timer
- thread stack size to get rid of segfault on FreeBSD/powerpc64.
- based on the patch by Steve Wills at [ruby-core:59923].
- [ruby-core:56590] [Bug #8783]
+ * lib/mkmf.rb (install_dirs): remove extra slash.
-Sat Feb 22 15:13:38 2014 Benoit Daloze <eregontp@gmail.com>
+Wed Sep 20 09:53:38 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * range.c (Range#size): [DOC] improve description and add examples.
- Patch by @skade. [Fixes GH-501]
+ * {bcc32,win32,wince}/Makefile.sub (INSTALLED_LIST): need to define
+ this macro to install.
-Sat Feb 22 15:07:58 2014 Zachary Scott <e@zzak.io>
+Wed Sep 20 09:43:10 2006 Shugo Maeda <shugo@ruby-lang.org>
- * lib/racc/rdoc/grammar.en.rdoc: [DOC] Correct grammar and typos
- Patch by Giorgos Tsiftsis [Bug #9429] [ci skip]
+ * lib/net/imap.rb: allow extra spaces in responses.
+ Thanks, Tom Soderlund. (backported from HEAD)
-Sat Feb 22 15:06:32 2014 Zachary Scott <e@zzak.io>
+Wed Sep 20 09:25:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/open-uri.rb: [DOC] use lower case version of core classes, same
- as commit r44878, based on patch by Jonathan Jackson [Bug #9483]
+ * ext/gdbm/gdbm.c: add RDoc documentation. a patch from Peter
+ Adolphs <futzilogik at users dot sourceforge dot net>.
+ [ruby-doc:1223]
-Sat Feb 22 15:06:32 2014 Zachary Scott <e@zzak.io>
+Tue Sep 19 01:28:00 2006 Minero Aoki <aamine@loveruby.net>
- * ext/ripper/lib/ripper/lexer.rb: [DOC] use lower case version of core
- classes when referring to return value, since we aren't directly
- talking about the class. Patch by Jonathan Jackson [Bug #9483]
+ * lib/fileutils.rb: backport from HEAD (rev 1.71).
-Sat Feb 22 15:03:05 2014 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * lib/fileutils.rb (FileUtils.cp_r): new option
+ :remove_destination.
- * variable.c: adding extra example in docs.
- patched by Steve Klabnik. [Bug #9210]
+Tue Sep 19 00:42:15 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Feb 22 15:01:21 2014 Tanaka Akira <akr@fsij.org>
+ * object.c (rb_obj_ivar_defined, rb_mod_cvar_defined): new methods,
+ Kernel#instance_variable_defined? and Module#class_variable_defined?.
+ [ruby-dev:29587]
- * lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated
- string.
- Patch by Ryan Brunner. [ruby-core:58220] [Bug #9093]
+ * lib/date/format.rb (Date::Bag#method_missing): use new method,
+ instance_variable_defined? to check if an instance variable is
+ defined. fixed: [ruby-dev:29554]
+ -- This didn't fix anything.
-Sat Feb 22 14:52:55 2014 Zachary Scott <e@zzak.io>
+Sun Sep 17 23:44:58 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243]
+ * lib/rdoc/rdoc.rb (RDoc::RDoc#document): scan only files modified
+ after the previous generation.
-Sat Feb 22 14:45:36 2014 Zachary Scott <e@zzak.io>
+Sun Sep 17 17:42:13 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/xmlrpc/client.rb: [DOC] Remove note about SSL package on RAA
- Since RAA has been deprecated, and the SSL package has been replaced
- with net/https this statement is entirely false and should be
- deleted. [Bug #9152]
+ * common.mk (install-doc): reverted.
-Sat Feb 22 14:31:23 2014 Zachary Scott <e@zzak.io>
+ * instruby.rb: stores file name list without destdir prefix.
- * lib/net/smtp.rb: [DOC] Remove dead link to RAA by Giorgos Tsiftsis
- Fixes the following bugs: [Bug #9152] [Bug #9268] [Bug #9394]
- * lib/open-uri.rb: ditto
+ * lib/rdoc/generators/ri_generator.rb: do not chdir twice.
-Sat Feb 22 14:18:35 2014 Tanaka Akira <akr@fsij.org>
+Sat Sep 16 23:14:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/resolv.rb: Ignore name servers which cause EAFNOSUPPORT on
- socket creation.
- Reported by Bjoern Rennhak. [ruby-core:60442] [Bug #9477]
+ * ext/pty/pty.c (establishShell): remove remaining unused line.
-Sat Feb 22 14:07:04 2014 Tanaka Akira <akr@fsij.org>
+Sat Sep 16 16:40:44 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder): Raise
- DecodeError if no data before the limit.
- Reported by Will Bryant. [ruby-core:60557] [Bug #9498]
+ * Makefile.in, common.in, instruby.rb, ext/extmk.rb, lib/mkmf.rb:
+ use instruby.rb to install extensions instead of ext/extmk.rb.
-Sat Feb 22 13:49:30 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * instruby.rb: store installed list into the file.
- * vm_insnhelper.c (vm_call_method): should check ci->me->flag of
- a refining method in case the method is private.
- [ruby-core:60111] [Bug #9452]
+ * ext/dbm/extconf.rb: allow multiple candidates for dbm-type.
- * vm_method.c (make_method_entry_refined): set me->flag of a refined
- method entry to NOEX_PUBLIC in case the original method is private
- and it is refined as a public method. The original flag is stored
- in me->def->body.orig_me, so it's OK to make a refined method
- entry public. [ruby-core:60111] [Bug #9452]
+ * ext/io/wait/extconf.rb: suspicious checking_for.
- * test/ruby/test_refinement.rb: related tests.
+ * ext/pty/pty.c (establishShell): parent pid is not used.
-Sat Feb 22 13:26:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/pty/pty.c (freeDevice): not used.
- * iseq.c (iseq_load): keep type_map to get rid of memory leak.
- based on a patch by Eric Wong at [ruby-core:59699]. [Bug #9399]
+ * ext/pty/pty.c (get_device_once): removed garbage right brace.
-Sat Feb 22 13:17:32 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * lib/mkmf.rb (checking_for): improved the messages.
- * ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS
- on SizedQueue#clear. [ruby-core:59462] [Bug #9342]
+Thu Sep 14 16:11:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/thread/test_queue.rb: add test. the patch is from
- Justin Collins.
+ * string.c (rb_str_intern): raise SecurityError only when $SAFE
+ level is greater than zero. [ruby-core:08862]
-Sat Feb 22 01:35:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (rb_interned_p): new function to check if a string is
+ already interned.
- * configure.in: check if pthread_setname_np is available.
+ * object.c (str_to_id): use rb_str_intern().
- * thread_pthread.c: pthread_setname_np is not available on old
- Darwins. [ruby-core:60524] [Bug #9492]
+Wed Sep 13 18:43:05 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Feb 22 00:21:50 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * README.EXT: English adjustment. [ruby-core:08851] and
+ [ruby-core:08852]
- * parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to
- isolate command argument state from outer scope.
- [ruby-core:59342] [Bug #9308]
+Wed Sep 13 18:25:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Feb 21 23:51:38 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * misc/ruby-mode.el (ruby-parse-partial): better here-doc support.
+ a patch from Marshall T. Vandegrift <llasram at gmail.com>.
+ [ruby-core:08804]
- * encoding.c (must_encindex, rb_enc_from_index, rb_obj_encoding): mask
- encoding index and ignore dummy flags. [ruby-core:59354] [Bug #9314]
+Wed Sep 13 16:43:36 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Feb 21 23:10:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_intern): prohibit interning tainted string.
- * lib/mkmf.rb (RbConfig): expand RUBY_SO_NAME for extensions
- backward compatibility. [ruby-core:59426] [Bug #9329]
+Wed Sep 13 01:14:21 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Feb 21 23:07:56 2014 Akio Tajima <artonx@yahoo.co.jp>
+ * lib/optparse.rb (OptionParser#getopts): works with pre-registered
+ options. [ruby-core:08826]
- * win32/Makefile.sub: remove HAVE_FSEEKO because fseeko removed from win32/win32.c
- Fixed [Bug #9333].
+Sun Sep 10 20:27:13 2006 Tadayoshi Funaba <tadf@dotrb.org>
-Fri Feb 21 23:00:34 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.1.
- * ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with
- quotes should not have changed. [ruby-core:59316] [Bug #9300]
+Tue Jan 10 09:18:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/psych/lib/psych.rb: fixed missing require.
+ * eval.c (stack_extend): fixed prototype.
- * test/psych/test_string.rb: test
+ * eval.c (rb_require_safe): prevent extension from loading twice.
+ fixed: [ruby-dev:29523]
-Sun Feb 2 05:48:42 2014 Eric Wong <e@80x24.org>
+Sat Sep 9 23:50:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * io.c (rb_io_syswrite): add RB_GC_GUARD
- [Bug #9472][ruby-core:60407]
+ * bignum.c (rb_big_mul0): bignum multiplication without
+ normalization.
-Fri Feb 21 17:42:42 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big_pow): use rb_big_mul0(). [ruby-dev:29547]
- * lib/resolv.rb (Resolv::Hosts#lazy_initialize): should not
- consider encodings in hosts file. [ruby-core:59239] [Bug #9273]
+Sat Sep 9 14:08:38 2006 Eric Hodel <drbrain@segment7.net>
- * lib/resolv.rb (Resolv::Config.parse_resolv_conf): ditto.
+ * lib/test/unit/testcase.rb (Test::Unit::TestCase#run): Rescue
+ Exception in Test::Unit::TestCase#run. [ruby-core:08783]
-Fri Feb 21 16:47:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 9 04:55:59 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (get_encoding): respect BOM on pseudo encodings.
- [ruby-dev:47895] [Bug #9415]
+ * lib/pstore.rb: open all in binary mode, and get rid of the quirk of
+ msvcrt. fixed: [ruby-dev:29518]
-Fri Feb 21 16:47:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 9 04:54:42 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (get_actual_encoding): get actual encoding according to
- the BOM if exists.
+ * Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT.
- * string.c (rb_str_inspect): use according encoding, instead of
- pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940]
+ * mkconfig.rb, ext/extmk.rb, lib/mkmf.rb, win32/mkexports.rb: suppress
+ warnings with $VERBOSE.
-Fri Feb 21 13:39:21 2014 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/extmk.rb: Proc#call does not pass the block in 1.8.
- * compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block
- as hash key when loading serialized instruction sequences from arrays.
- [Bug #9455] [ruby-core:60146]
+ * win32/resource.rb: add more info.
-Thu Feb 20 12:58:45 2014 Tanaka Akira <akr@fsij.org>
+Fri Sep 8 10:03:59 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * process.c (READ_FROM_CHILD): Apply the last hunk of
- 0001-process.c-avoid-EINTR-from-Process.spawn.patch written by
- Eric Wong in [Bug #8770].
+ * lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookies): new
+ method to parse multiple cookies per Set-Cookie header.
+ Thanks to Aaron Patterson <aaron_patterson at speakeasy.net>.
+ [ruby-core:08802]
-Thu Feb 20 12:58:45 2014 Eric Wong <normalperson@yhbt.net>
+Fri Sep 8 08:59:30 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (send_child_error): retry write on EINTR to fix
- occasional Errno::EINTR from Process.spawn.
+ * win32/Makefile.sub, win32/configure.bat win32/setup.mak: program
+ name transform.
- * process.c (recv_child_error): retry read on EINTR to fix
- occasional Errno::EINTR from Process.spawn.
+Fri Sep 8 01:33:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Feb 20 12:24:59 2014 Eric Hodel <drbrain@segment7.net>
+ * ruby.h (RSTRING_PTR): add migration macro.
- * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use
- ipv4_multicast_ttl option for portability.
+ * ruby.h (RARRAY_PTR): ditto.
-Thu Feb 20 10:19:40 2014 Tanaka Akira <akr@fsij.org>
+Thu Sep 7 23:27:05 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/option.c: IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket
- option takes a byte on OpenBSD.
- Fixed by Jeremy Evans. [ruby-core:59496] [Bug #9350]
+ * file.c (path_check_0, fpath_check): disable path check on cygwin.
+ [ruby-talk:213074]
-Wed Feb 19 15:25:13 2014 Koichi Sasada <ko1@atdot.net>
+Wed Sep 06 12:05:19 2006 NARUSE, Yui <naruse@ruby-lang.org>
- * gc.c (ruby_gc_set_params): don't show obsolete warnings for
- RUBY_FREE_MIN/RUBY_HEAP_MIN_SLOTS if
- RUBY_GC_HEAP_FREE_SLOTS/RUBY_GC_HEAP_INIT_SLOTS are given.
- [Bug #9276]
+ * ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): fix regexp for euc-jp
+ [ruby-dev:29344]
-Wed Feb 19 14:25:55 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/nkf/lib/kconv.rb (Kconv::toeuc): remove -m0 [ruby-dev:29505]
- * test/ruby/test_gc.rb: ignore warning messages for running with -w
- option such as chkbuild.
+Tue Sep 5 06:47:22 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Feb 19 14:25:55 2014 Koichi Sasada <ko1@atdot.net>
+ * time.c (time_to_s): variable declaration after an execution
+ statement.
- * gc.c (get_envparam_double): fix a warning message.
+Tue Sep 5 05:56:51 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Feb 19 14:25:55 2014 Koichi Sasada <ko1@atdot.net>
+ * numeric.c (flo_hash): improve collision. fixed: [ruby-dev:29352]
- * gc.c: introduce new environment variable
- "RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR" to control major/minor GC
- frequency.
+Tue Sep 5 05:49:41 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Do full GC when the number of old objects is more than R * N
- where R is this factor and
- N is the number of old objects just after last full GC.
+ * file.c (path_check_0): check if sticky bit is set on parent
+ directories for executable path. fixed: [ruby-dev:29415]
- * test/ruby/test_gc.rb: add a test.
+Tue Sep 5 05:03:46 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Feb 19 07:51:02 2014 Eric Hodel <drbrain@segment7.net>
+ * numeric.c (fix_plus): addition in Fixnum will never overflow
+ long. a patch from Ondrej Bilka <neleai at seznam.cz>.
+ [ruby-core:08794]
- * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use
- ipv4_multicast_loop option for portability. Patch by Jeremy Evans.
- [ruby-trunk - Bug #9351]
+ * numeric.c (fix_minus): ditto.
-Mon Feb 17 05:43:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big_pow): eagerly truncate resulting bignum.
+ [ruby-core:08794]
- * configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after
- LIBPATHFLAG and RPATHFLAG are set. [ruby-dev:47868] [Bug #9317]
+Mon Sep 4 23:15:34 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Feb 16 07:13:36 2014 Tanaka Akira <akr@fsij.org>
+ * time.c (time_to_s): make it conform to RFC2822 date format.
+ [ruby-dev:29467]
- * configure.in: Fix compilation error.
- https://bugs.ruby-lang.org/issues/8358#note-16
+Mon Sep 4 21:43:57 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Feb 16 07:13:36 2014 Vit Ondruch <vondruch@redhat.com>
+ * ext/dbm/extconf.rb: create makefile according to the result of check
+ for dbm header. fixed: [ruby-dev:29445]
- * configure.in: add qouting brackets and append wildcard for the
- rest after target_cpu, to properly detect platform for SSE2
- instructions. [ruby-core:60576] [Bug #8358]
+Mon Sep 4 21:42:35 2006 Tadayoshi Funaba <tadf@dotrb.org>
-Sun Feb 16 07:13:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.
- * configure.in: -mstackrealign is necessary for -msse2 working.
- [ruby-core:54716] [Bug #8349]
+Mon Sep 4 21:14:20 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Feb 16 07:13:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * time.c (time_strftime): include nul character. fixed: [ruby-dev:29422]
- * configure.in: -mstackrealign is necessary for -msse2 working.
- [ruby-core:54716] [Bug #8349]
+Mon Sep 4 16:29:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: use SSE2 instructions to drop unexpected precisions on
- other than mingw. [ruby-core:59472] [Bug #8358]
+ * lib/cgi.rb (CGI::out): specify -m0 -x option for nkf.
+ [ruby-dev:29284]
-Sun Feb 16 07:13:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Sep 4 16:13:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: use SSE2 instructions for drop unexpected
- precisions. [ruby-core:54738] [Bug #8358]
+ * io.c (pipe_open): command name should not contain null bytes.
+ [ruby-dev:29421]
-Fri Feb 7 04:19:19 2014 Koichi Sasada <ko1@atdot.net>
+ * process.c (proc_spawn): ditto.
- * gc.c (get_envparam_int): correct warning messsages.
+ * process.c (proc_spawn_n): ditto.
- * gc.c (get_envparam_double): ditto.
+ * process.c (rb_f_system): ditto.
-Fri Feb 7 04:19:19 2014 Koichi Sasada <ko1@atdot.net>
+Sun Sep 3 15:32:44 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (get_envparam_int): don't accept a value equals to lowerbound
- (changed by last commit) because "" or "foo" (not a number) strings
- are parsed as 0. They should be rejected.
+ * lib/mkmf.rb: get rid of nil.to_s.
- * gc.c (get_envparam_double): ditto.
+Sun Sep 3 06:24:38 2006 Tanaka Akira <akr@fsij.org>
-Thu Feb 6 08:23:28 2014 Eric Wong <e@80x24.org>
+ * ext/socket/socket.c (ruby_connect): sockerrlen should be socklen_t.
- * ext/thread/thread.c (rb_szqueue_max_set): use correct queue and
- limit wakeups. [Bug #9343][ruby-core:60517]
- * test/thread/test_queue.rb (test_sized_queue_assign_max):
- test for bug
+Sun Sep 3 04:40:42 2006 Tanaka Akira <akr@fsij.org>
-Thu Feb 6 11:27:39 2014 Eric Hodel <drbrain@segment7.net>
+ * ext/socket/extconf.rb: check arpa/inet.h for ntohs.
- * lib/rubygems: RubyGems 2.2.2 which contains the following bug fixes:
- http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05
- https://bugs.ruby-lang.org/issues/9489
+ * ext/socket/socket.c: include arpa/inet.h if available.
-Thu Feb 6 11:23:59 2014 Koichi Sasada <ko1@atdot.net>
+Sun Sep 3 02:34:55 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * gc.c (ruby_gc_set_params): if RUBY_GC_OLDMALLOC_LIMIT is provided,
- then set objspace->rgengc.oldmalloc_increase_limit.
- Without this fix, the env variable RUBY_GC_OLDMALLOC_LIMIT
- does not work.
+ * lib/drb/unix.rb (DRbUNIXSocket#close): don't get path if client mode.
+ [ruby-dev:29417]
- * gc.c (get_envparam_int): accept a value equals to lowerbound.
+Sun Sep 3 01:45:17 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * gc.c (get_envparam_double): ditto.
+ * lib/drb/acl.rb (ACLEntry#initialize): examine whether '*' is
+ included before IPAddr.new. [ruby-dev:29406]
-Wed Feb 5 23:57:05 2014 Charlie Somerville <charliesome@ruby-lang.org>
+Sat Sep 2 13:23:01 2006 Tanaka Akira <akr@fsij.org>
- * ext/thread/thread.c (rb_szqueue_push): check GET_SZQUEUE_WAITERS
- instead of GET_QUEUE_WAITERS to prevent deadlock. Patch by Eric Wong.
- [Bug #9302] [ruby-core:59324]
+ * common.mk (ia64.o): use the compiler driver to assemble ia64.s
+ to use appropriate ABI.
- * test/thread/test_queue.rb: add test
+Sat Sep 2 03:36:22 2006 Tanaka Akira <akr@fsij.org>
-Wed Feb 5 23:43:30 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * common.mk, configure.in, defines.h, eval.c, gc.c, main.c,
+ numeric.c, ruby.h, ia64.s: backport IA64 HP-UX support.
- * hash.c (rb_objid_hash): should return `long'. brushup r44534.
+Fri Sep 1 13:52:57 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * object.c (rb_obj_hash): follow above change.
+ * ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work
+ on Tcl/Tk8.x.
-Wed Feb 5 23:43:30 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Aug 31 12:46:55 2006 why the lucky stiff <why@ruby-lang.org>
- * hash.c (rb_any_hash): should treat the return value of rb_objid_hash()
- as `long', because ruby assumes the hash value of the object id of
- an object is `long'.
- this fixes test failures on mswin64 introduced at r44525.
+ * eval.c (ruby_init): rename top_cref to ruby_top_cref and export,
+ along with ruby_cref, for use by the sandbox. [ruby-core:08762]
-Wed Feb 5 23:43:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * node.h: ditto.
- * hash.c (rb_objid_hash): return hash value from object ID with a
- salt, extract from rb_any_hash().
+Tue Aug 29 19:10:10 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c (rb_obj_hash): return same value as rb_any_hash().
- fix r44125. [ruby-core:59638] [Bug #9381]
+ * hash.c (rb_hash_s_create): fixed memory leak, based on the patch
+ by Kent Sibilev <ksruby at gmail.com>. fixed: [ruby-talk:211233]
-Wed Feb 5 22:28:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Aug 28 11:36:02 2006 Eric Hodel <drbrain@segment7.net>
- * vm_insnhelper.c (vm_search_super_method): allow bound method from a
- module, yet another method transplanting.
+ * lib/rdoc/parsers/parse_rb.rb: Fix typo. Submitted by
+ <calamitas at gmail.com>. [ruby-core:08724]
-Wed Feb 5 22:28:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Aug 28 07:53:44 2006 Eric Hodel <drbrain@segment7.net>
- * vm_insnhelper.c (vm_search_super_method): when super called in a
- bound UnboundMethod generated from a module, no superclass is
- found since the current defined class is the module, then call
- method_missing in that case. [ruby-core:59619] [Bug #9377]
+ * lib/rdoc/ri/ri_formatter.rb: Don't unescape HTML in HtmlFormatter.
+ Submitted by Kent Sibilev <ksruby at gmail.com>. [ruby-core:08392].
-Wed Feb 5 21:57:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Aug 28 07:25:45 2006 Eric Hodel <drbrain@segment7.net>
- * ext/socket/socket.c (rsock_syserr_fail_host_port): add errno
- argument version anduse rb_syserr_fail_str() instead of
- rb_sys_fail_str() with restoring errno.
+ * file.c (File#size?): Fix documentation submitted by Rick Ohnemus.
+ ruby-Bugs-5529. [ruby-core:08725]
- * ext/socket/socket.c (rsock_syserr_fail_path): ditto, and
- rb_syserr_fail().
+Sat Aug 26 08:07:13 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use
- rsock_syserr_fail_raddrinfo().
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.8.2.
- * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto.
+Fri Aug 25 22:32:04 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (setup_domain_and_type): ditto.
+ * lib/rexml/source.rb (REXML::IOSource#initialize): encoding have to
+ be set with the accessor. fixed: [ruby-list:42737]
-Wed Feb 5 21:57:40 2014 Eric Wong <normalperson@yhbt.net>
+Fri Aug 25 17:15:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errno
- before calling rb_sys_fail_str to prevent [BUG] errno == 0.
- Patch by Eric Wong. [ruby-core:59498] [Bug #9352]
+ * stable version 1.8.5 released.
- * ext/socket/socket.c (rsock_sys_fail_path): ditto
- * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto
- * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto
- * ext/socket/socket.c (rsock_sys_fail_raddrinfo_or_sockaddr): ditto
+Fri Aug 25 17:02:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Feb 5 21:12:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (gc_sweep): typo fixed.
- * lib/timeout.rb (Timeout::ExitException.catch): pass arguments
- for new instance.
+Tue Aug 22 18:47:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/timeout.rb (Timeout::ExitException#exception): fallback to
- Timeout::Error if couldn't throw. [ruby-dev:47872] [Bug #9380]
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::handle_method):
+ rdoc documents C module methods as instance methods. a patch in
+ [ruby-core:08536].
- * lib/timeout.rb (Timeout#timeout): initialize ExitException with
- message for the fallback case.
+Sat Aug 19 14:15:02 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Feb 5 21:12:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/Makefile.sub (config.status): include winsock2.h instead of
+ winsock.h when --with-winsock2 is specified.
+ fixed: [ruby-dev:29296]
- * lib/timeout.rb (Timeout#timeout): should not rescue ordinarily
- raised ExitException, which should not be thrown.
+Sat Aug 19 11:28:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/timeout.rb (Timeout::ExitException.catch): set @thread only if
- it ought to be caught.
+ * file.c (rb_file_s_rename): use errno if set properly.
+ fixed: [ruby-dev:29293]
- * lib/timeout.rb (Timeout#timeout): when a custom exception is given,
- no instance is needed to be caught, so defer creating new instance
- until it is raised. [ruby-core:59511] [Bug #9354]
+Sat Aug 19 11:09:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Feb 5 17:55:28 2014 Aman Gupta <ruby@tmm1.net>
+ * parse.y (then): remove semicolon warning. [ruby-dev:29299]
- * array.c (ary_add_hash): Fix consistency issue between Array#uniq and
- Array#uniq! [Bug #9340] [ruby-core:59457]
- * test/ruby/test_array.rb (class TestArray): regression test for above.
+Thu Aug 17 19:15:16 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Feb 5 11:48:42 2014 Charlie Somerville <charliesome@ruby-lang.org>
+ * file.c (rb_stat_[rRwWxX]): check for super user.
+ fixed: [ruby-core:08616]
- * struct.c (rb_struct_set): return assigned value from setter method
- rather than struct object. [Bug #9353] [ruby-core:59509]
+Thu Aug 17 14:47:06 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_struct.rb (test_setter_method_returns_value): add test
+ * lib/mkmf.rb: added rdoc by Daniel Berger. [ruby-core:08177]
-Wed Feb 5 11:13:21 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Aug 17 00:39:05 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * string.c (rb_str_modify_expand): enable capacity and disable
- assocation with packed objects when setting capa, so that
- pack("p") string fails to unpack properly after modified.
+ * lib/rinda/ring.rb (do_reply): Fix for RingServer fails to find a
+ TupleSpace when TupleSpace resides in the same ruby process with
+ RingServer. a patch from Kent Sibilev. [ruby-core:08453]
-Sun Feb 2 22:39:28 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Aug 16 11:45:36 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/delegate.rb (Delegator): keep source information methods
- which start and end with '__'. [ruby-core:59718] [Bug #9403]
+ * process.c (proc_setuid, proc_setgid, proc_seteuid, proc_setegid):
+ get rid of bogus implementations on Mac OS X.
-Fri Jan 31 12:10:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 15 19:10:18 2006 Eric Hodel <drbrain@segment7.net>
- * proc.c (mnew_from_me): keep iclass as-is, to make inheritance
- chain consistent. [ruby-core:59358] [Bug #9315]
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_class_comment): Fix
+ broken class-level documentation.
- * proc.c (method_owner): return the original defined_class from
- prepended iclass, instead.
+Wed Aug 16 11:09:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jan 31 12:05:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ruby.c (set_arg0): fill argv other than the first with an empty
+ string instead of NULL.
- * configure.in: let mingw do something black-magic, and check if
- _gmtime64_s() is available actually.
+Wed Aug 16 11:08:00 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and
- _localtime64_s() if available, not depending on very confusing
- mingw variants macros. based on the patch by phasis68 (Heesob
- Park) at [ruby-core:58764]. [ruby-core:58391] [Bug #9119]
+ * win32/win32.h: removed an excess macro. fixed: [ruby-dev:29258]
-Thu Jan 30 15:02:35 2014 Shugo Maeda <shugo@ruby-lang.org>
+Tue Aug 8 23:49:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: use $@ instead of $(.TARGET) because .TARGET is not
- supported by GNU make.
+ * lib/irb/extend-command.rb (IRB::ExtendCommandBundle): pacify
+ RDoc. a patch from Eric Hodel <drbrain at segment7.net>.
+ [ruby-core:08522]
-Mon Jan 27 16:49:52 2014 Kenta Murata <mrkn@mrkn.jp>
+Tue Aug 8 11:32:54 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional
- digit for the quotient to be compatible with bigdecimal 1.2.1 and
- the former. [ruby-core:59365] [#9316] [#9305]
+ * Makefile.in, common.mk, configure.in: fix for platforms without
+ rm. patches from Yutaka kanemoto <kinpoco at gmail.com>.
+ [ruby-dev:29215]
- * test/bigdecimal/test_bigdecimal.rb: tests for the above change.
+Mon Aug 7 17:56:59 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4.
+ * ext/bigdecimal/bigdecimal.c, ext/digest/rmd160/rmd160ossl.c,
+ ext/digest/sha1/sha1ossl.c, ext/readline/readline.c: move
+ incluion of config.h to pacify AIX. a patch from Yutaka
+ Kanemoto <kinpoco at gmail.com>. [ruby-dev:29197]
-Mon Jan 27 16:45:34 2014 Yamashita Yuu <yamashita@geishatokyo.com>
+Mon Aug 7 15:55:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Declare a constant
- `OP_MSIE_SSLV2_RSA_PADDING` only if the macro is defined. The
- `SSL_OP_MSIE_SSLV2_RSA_PADDING` has been removed from latest
- snapshot of OpenSSL 1.0.1. [Fixes GH-488]
+ * ext/syck/syck.c (syck_move_tokens): should avoid negative
+ memmove. [ruby-list:42625]
-Thu Jan 23 10:37:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Aug 7 14:37:48 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * hash.c (HAS_EXTRA_STATES): warn extra states only when something
- differ. [ruby-core:59254] [Bug #9275]
+ * configure.in, common.mk: AIX link issue. a patch from Yutaka
+ Kanemoto <kinpoco at gmail.com>. [ruby-dev:29190]
-Thu Jan 9 14:05:24 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/socket/socket.c: AIX socket support. [ruby-dev:29190]
- * win32/{setup.mak,Makefile.sub}: update fake.rb like
- template/fake.rb.in.
+Mon Aug 7 12:05:28 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jan 9 14:05:24 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * dln.c, eval.c, gc.c, regex.c, ruby.h: shut up AIX alloca
+ warning. a patch from Yutaka Kanemoto <kinpoco at gmail.com>.
+ [ruby-dev:29191]
- * win32/Makefile.sub (fake.rb): should depend on version.h because
- if RUBY_VERSION is updated, fake.rb need to say the new version
- to avoid install error in rbconfig.rb.
+Sun Aug 6 20:40:41 2006 Tadayoshi Funaba <tadf@dotrb.org>
-Thu Jan 9 08:21:00 2014 Aman Gupta <ruby@tmm1.net>
+ * lib/date/format.rb (str[fp]time): %[EO]U didn't denote %U.
- * 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.
+Sat Aug 5 17:07:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Dec 26 03:28:11 2013 Koichi Sasada <ko1@atdot.net>
+ * parse.y (top_local_setup): local_vars[-1] should point
+ ruby_scope itself to protect local_tbl from garbage collection.
+ [ruby-dev:29049]
- * vm_insnhelper.c (argument_error): insert dummy frame to make
- a backtrace object intead of modify backtrace string array.
- [Bug #9295]
+Sat Aug 5 13:54:03 2006 Tadayoshi Funaba <tadf@dotrb.org>
- * test/ruby/test_backtrace.rb: add a test for this patch.
- fix test to compare a result of Exception#backtrace with
- a result of Exception#backtrace_locations.
+ * lib/date/format.rb (str[fp]time): "%\n" means "\n".
-Wed Dec 25 16:58:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Aug 4 15:21:00 2006 Eric Hodel <drbrain@segment7.net>
- * proc.c (rb_mod_define_method): consider visibility only if self
- in the caller is same as the receiver, otherwise make public as
- well as old behavior. [ruby-core:57747] [Bug #9005]
- [ruby-core:58497] [Bug #9141]
+ * lib: Merge RDoc and .document from HEAD.
+ * lib/drb/ssl.rb: Close socket on SSLError [ruby-core:7197]
- * vm.c (rb_vm_cref_in_context): return ruby level cref if self is
- same.
+Fri Aug 4 19:13:41 2006 Keiju Ishitsuka <keiju@ruby-lang.org>
-Wed Dec 25 16:35:34 2013 Yusuke Endoh <mame@tsg.ne.jp>
+ * lib/irb/{init.rb,ruby-lex.rb,slex.rb}: can't input '\c' for
+ [ruby-core: 7122].
- * sample/trick2013/: added the award-winning entries of TRICK 2013.
- See https://github.com/tric/trick2013 for the contest outline.
- (Matz has approved the attachment.)
+Fri Aug 4 14:02:14 2006 James Edward Gray II <james@grayproductions.net>
-Tue Dec 24 23:47:50 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/date/format.rb (__strptime, strftime): allow multi-line patterns
+ in Date#strftime the same as Time#strftime accepts.
+ fixed: [ruby-core:08466]
- * README.EXT: add a refer to URL.
+Fri Aug 4 13:56:51 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 24 23:47:50 2013 Koichi Sasada <ko1@atdot.net>
+ * pack.c (pack_pack): check argument overrun for 'P'. based on a
+ patch by rucila <rucila at yahoo.cojp>. fixed: [ruby-dev:29182]
- * README.EXT: add a document about RGenGC.
- Reviewed by havenwood.
- [misc #8962]
+Tue Aug 1 17:44:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * README.EXT.ja: ditto.
+ * win32/win32.c (init_stdhandle): assign standard file handles.
-Mon Dec 23 19:00:00 2013 Eric Hodel <drbrain@segment7.net>
+Tue Aug 1 12:24:58 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rubygems/test_gem_ext_builder.rb: Fix warning due to ambiguous
- expression.
+ * eval.c (Init_Binding): fix old commit miss.
-Mon Dec 23 16:13:10 2013 Eric Hodel <drbrain@segment7.net>
+Mon Jul 31 17:08:20 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/rubygems/commands/install_command.rb: Restore gem install
- --ignore-dependencies for remote gems
- * test/rubygems/test_gem_commands_install_command.rb: Test for the
- above.
+ * win32/win32.c (exit_handler): new function; release winsock and
+ environment work area.
-Mon Dec 23 16:12:24 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * win32/win32.c (NTInitialize): setup exit_handler.
- * array.c: Have to_h raise on elements that are not key-value pairs
- [#9239]
+ * win32/win32.c (StartSockets): use exit_handler.
- * enum.c: ditto
+ * win32/win32.c (rb_w32_getenv): use GetEnvironmentStrings() instead
+ of GetEnvironmentVariable(), because the latter cannot distinguish
+ wheather a null environment variable exists or not.
+ fixed: [ruby-talk:205123]
-Sun Dec 22 19:22:52 2013 Eric Hodel <drbrain@segment7.net>
+Mon Jul 31 16:15:13 2006 Tanaka Akira <akr@fsij.org>
- * lib/rdoc.rb: Set RDoc to release version.
+ * test/ruby/test_process.rb (TestProcess#test_rlimit_nofile):
+ setrlimit may fail with EINVAL.
+ reported by MIYAMUKO Katsuyuki. [ruby-dev:29174]
-Sun Dec 22 19:22:31 2013 Eric Hodel <drbrain@segment7.net>
+Mon Jul 31 13:38:22 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/rubygems.rb: Set RubyGems to release version.
+ * lib/webrick/httprequest.rb (WEBrick::HTTPReuqest#parse_uri): improve
+ for the value of IPv6 address in the Host: header field.
-Sun Dec 22 19:22:01 2013 Eric Hodel <drbrain@segment7.net>
+Mon Jul 31 09:22:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems.rb (module Gem): Fix comment for
- Gem::load_path_insert_index.
+ * ruby.h: use ifdef (or defined) for macro constants that may or
+ may not be defined to shut up gcc's -Wundef warnings.
+ [ruby-core:08447]
-Sun Dec 22 18:08:42 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Jul 30 23:26:22 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/Makefile.sub (fake.rb): fixed wrong RUBY_PLATFORM, to correctly
- install win32.h.
- [ruby-core:58801][Bug #9199] reported by arton.
+ * eval.c (rb_call0): trace call/return of method defined from block.
+ fixed: [ruby-core:08329]
-Fri Dec 20 17:52:50 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_trap_eval): make the current thread runnable to deal with
+ exceptions which occurred within the trap. fixed: [ruby-dev:27729]
- * vm_method.c: check definition of
- GLOBAL_METHOD_CACHE_SIZE and GLOBAL_METHOD_CACHE_MASK.
+ * lib/cgi/session.rb, lib/cgi/session/pstore.rb: suppress warnings.
+ fixed: [ruby-talk:204896]
-Fri Dec 20 17:03:10 2013 Koichi Sasada <ko1@atdot.net>
+Sat Jul 29 06:12:06 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * include/ruby/ruby.h: rename OBJ_WRITE and OBJ_WRITTEN into
- RB_OBJ_WRITE and RB_OBJ_WRITTEN.
+ * ext/tk/lib/multi-tk.rb: freeze ip_name for security reason.
- * array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
- proc.c, process.c, re.c, string.c, variable.c, vm.c,
- vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
- vm_method.c: catch up this change.
+Sat Jul 29 01:23:52 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Dec 20 16:01:35 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/logger.rb: improves the amount of documentation that Rdoc
+ picks up when processing logger.rb by moving the require
+ statement back before the comment block. a patch from Hugh
+ Sasse <hgs at dmu.ac.uk>. [ruby-core:08422]
- * include/ruby/ruby.h: add a comment for WB interfaces.
+Thu Jul 27 22:21:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Dec 20 16:00:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * time.c (time_to_s): fixed format mismatch.
- * configure.in: DLDFLAGS is defined in --with-opt-dir handler, so
- ${DLDFLAGS=} does not work now. use RUBY_APPEND_OPTIONS instead.
- [ruby-dev:47855] [Bug #9256]
+Thu Jul 27 21:19:54 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Dec 20 14:19:12 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * math.c (domain_check): a new function to check domain error
+ explicitly for systems that return NaN like FreeBSD.
+ [ruby-core:07019]
- * configure.in (AC_ARG_WITH): use withval directly.
- fix failure on FreeBSD.
- http://fb32.rubyci.org/~chkbuild/ruby-trunk/log/20131217T070301Z.diff.html.gz
+ * math.c (math_acos, math_asin, math_acosh, math_atanh, math_log,
+ math_log10, math_sqrt): use domain_check().
-Fri Dec 20 14:00:01 2013 Aman Gupta <ruby@tmm1.net>
+ * math.c (math_sqrt): fix documentation flaw.
- * include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl.
- since RCLASS_SUPER() is commonly used inside while loops, we move it
- back inside struct RClass to improve cache hits. this provides a
- small improvement (1%) in hotspots like rb_obj_is_kind_of()
- * internal.h (struct rb_classext_struct): remove super, add
- iv_index_table
- * internal.h (RCLASS_SUPER): update for new location
- * internal.h (RCLASS_SET_SUPER): ditto
- * internal.h (RCLASS_IV_INDEX_TBL): ditto
- * object.c (rb_class_get_superclass): ditto
- * include/ruby/backward/classext.h (RCLASS_SUPER): ditto
+Thu Jul 27 18:12:12 2006 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Dec 20 07:07:35 2013 Eric Hodel <drbrain@segment7.net>
+ * time.c: need to declare time_utc_offset.
- * lib/rubygems: Update to RubyGems master 03d6ae7. Changes include:
+Thu Jul 27 17:01:01 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * Fixed typos.
+ * io.c (io_close): always calls "close" method of the receiver.
+ [ruby-core:6911] [ruby-core:8112]
- * Relaxed Gem.ruby test for ruby packagers that do not use `ruby`.
+Thu Jul 27 16:49:01 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rubygems: ditto.
+ * time.c (time_to_s): use +0900 style timezone string for local time.
+ [ruby-dev:29143]
-Thu Dec 19 14:03:04 2013 Koichi Sasada <ko1@atdot.net>
+Thu Jul 27 16:41:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (heap_get_freeobj): improve hot path performance.
+ * ext/openssl/ossl.h: move <ruby.h> inclusion point to shut up
+ Solaris compiler. [ruby-core:08114]
- * gc.c (heap_get_freeobj_from_next_freepage): replace with
- heap_get_freepage(). It returns freeobj instead of freepage.
- This is not on hot path.
+Wed Jul 26 22:20:59 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Dec 19 12:05:17 2013 Eric Hodel <drbrain@segment7.net>
+ * configure.in: add support for as and ASFLAGS. [ruby-dev:29138]
- * lib/rubygems: Update to RubyGems master af60443. Changes include:
+Wed Jul 26 22:13:45 2006 Minero Aoki <aamine@loveruby.net>
- * Improved speed of `gem install --ignore-dependencies`.
+ * lib/net/http.rb: sync with HEAD (rev 1.132).
- * Open read-write for exclusive flock. [ruby-trunk - Bug #9257]
+ * lib/net/http.rb (Net::HTTP#post, request_post, request): should
+ set Content-Type: x-www-form-urlencoded by default.
- * Remove specification before install to prevent infinite loop.
+ * lib/net/http.rb (Net::HTTPHeader#content_type): should return
+ nil when there's no Content-Type.
-Thu Dec 19 11:23:49 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/net/http.rb (Net::HTTPHeader#sub_type): should return nil
+ when there's no sub Content-Type (e.g. "Content-Type: text").
- * vm_insnhelper.c (vm_call_iseq_setup_normal): simple for loop
- condition optimization. this area shows up as a hotspot in VM
- profiles.
+ * lib/net/http.rb (Net::HTTPHeader#type_params): wrongly failed
+ when there's no Content-Type.
-Thu Dec 19 10:50:13 2013 Koichi Sasada <ko1@atdot.net>
+Wed Jul 26 18:35:38 2006 Minero Aoki <aamine@loveruby.net>
- * gc.c (newobj_of): don't need to RBASIC_SET_CLASS() which includes WB
- here because created obj is always YOUNG/INFANT.
+ * ext/strscan/strscan.c: sync with HEAD (rev 1.25).
-Thu Dec 19 10:48:37 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/strscan/strscan.c (strscan_do_scan):
+ StringScanner.new("").scan(//) should return "". [ruby-Bugs:4361]
- * benchmark/gc/gcbench.rb: check GC::OPTS availability
- for not MRI 2.1.0.
+Wed Jul 26 18:14:19 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Dec 19 03:10:30 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/pty/pty.c (getDevice): retry once after GC on failure.
+ [ruby-core:08282]
- * gc.c (heap_get_freeobj): remove redundant assignment. heap->freelist
- is set after the while() loop already.
+Wed Jul 26 17:28:16 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Dec 19 01:54:30 2013 Koichi Sasada <ko1@atdot.net>
+ * sprintf.c (rb_f_sprintf): prepend ".." to %u for negative bignum,
+ but not "-". fixed: [ruby-core:08167]
- * test/runner.rb: fix commit miss on r44278.
+Wed Jul 26 16:39:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Dec 19 00:26:11 2013 Koichi Sasada <ko1@atdot.net>
+ * string.c (rb_str_scan): add string modification check.
+ [ruby-core:7216]
- * gc.c (garbage_collect_body): lazy_sweep setting should work
- without USE_RGENGC.
+Wed Jul 26 16:06:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 18 23:31:04 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): check
+ multipart boundary end. a patch from Fujioka <fuj at rabbix.jp>
+ [ruby-dev:28470]
- * gc.c (gc_profile_dump_major_reason): fix this function because major_reason
- can be OR of multiple reasons.
+Wed Jul 26 01:02:59 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_profile_dump_on): ditto.
+ * configure.in: suppress warnings by automake 1.8 or later.
-Wed Dec 18 17:03:00 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jul 25 00:30:06 2006 Eric Hodel <drbrain@segment7.net>
- * gc.c (gc_profile_record_get): should return an empty array
- when profiling is active.
+ * lib/prettyprint.rb: RD to RDoc conversion by Hugh Sasse.
-Wed Dec 18 16:49:40 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jul 25 14:49:51 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (gc_profile_clear, gc_profile_enable): remove rest_sweep().
+ * lib/mkmf.rb (configuration): typo.
- * gc.c: check objspace->profile.current_record before inserting
- profiling record by new macro gc_prof_enabled().
+Tue Jul 25 13:14:32 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 18 14:32:06 2013 Koichi Sasada <ko1@atdot.net>
+ * process.c (rb_proc_times): rename hz to hertz to avoid name
+ crash on AIX. [ruby-dev:29126]
- * vm_exec.h (VM_DEBUG_STACKOVERFLOW): added.
- disable stack overflow check for every stack pushing as default.
+Mon Jul 24 22:03:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_exec.c (vm_stack_overflow_for_insn): ditto.
+ * eval.c (backtrace): skip frames successive on node and method name.
-Wed Dec 18 10:00:22 2013 Eric Hodel <drbrain@segment7.net>
+Mon Jul 24 17:55:55 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems: Update to RubyGems master d8f12e2. This increases the
- speed of `gem install --ignore-dependencies` which helps bundler
- tests.
- * test/rubygems: ditto.
+ * process.c (rb_f_system): add security check. [ruby-talk:202947]
-Wed Dec 18 09:00:17 2013 Koichi Sasada <ko1@atdot.net>
+ * process.c (rb_f_system): move signal right before fork to avoid
+ signal handler intervention.
- * test/ruby/test_gc.rb (test_expand_heap): allow +/-1 diff.
+Mon Jul 24 15:51:52 2006 Tanaka Akira <akr@fsij.org>
-Tue Dec 17 23:44:15 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/readline/readline.c (readline_readline): rl_deprep_term_function
+ may be NULL with libedit. reported by Ryan Davis. [ruby-dev:29070]
- * test/ruby/test_io.rb: fix duplicated test name.
+Mon Jul 24 15:19:55 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 17 20:15:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_call0): revert last change. [ruby-dev:29112]
+ [ruby-core:08374]
- * hash.c (rb_hash_reject): revert to deprecated behavior, with
- warnings, due to compatibility for HashWithDifferentAccess.
- [ruby-core:59154] [Bug #9223]
+Sun Jul 23 22:59:49 2006 Tanaka Akira <akr@fsij.org>
-Tue Dec 17 17:30:56 2013 Akinori MUSHA <knu@iDaemons.org>
+ * test/socket/test_unix.rb: disabled on cygwin.
+ reported by Kouhei Yanagita. [ruby-dev:29080]
- * misc/ruby-electric.el: Import version 2.1.1 from
- https://github.com/knu/ruby-electric.el.
+Fri Jul 21 21:21:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ruby-electric-delete-backward-char: Enable support for number
- prefix.
+ * eval.c (rb_call0): include funcalled methods in caller list.
+ fixed: [ruby-core:08290]
- * ruby-electric-curlies: Fix electric operation after an open
- curly.
+Fri Jul 21 12:11:00 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 17 16:19:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/extmk.rb, lib/mkmf.rb (with_destdir): remove drive letter before
+ prepending destdir on DOSISH.
- * vm_trace.c (rb_postponed_job_flush): isolate exceptions in
- postponed jobs and restore outer ones. based on a patch by
- tarui. [ruby-core:58652] [Bug #9168]
+Thu Jul 20 15:07:14 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 17 10:48:04 2013 Aman Gupta <ruby@tmm1.net>
+ * ruby.h: export classes/modules to implement sandbox.
+ [ruby-core:08283]
- * configure.in (RUBY_DTRACE_POSTPROCESS): Fix compatibility with
- systemtap on linux. stap requires `dtrace -G` post-processing, but
- the dtrace compatibility wrapper is very strict about probes.d
- syntax.
+Thu Jul 20 00:06:29 2006 Keiju Ishitsuka <keiju@ishitsuka.com>
-Tue Dec 17 05:18:17 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/irb/completion.rb: support for completion of numeric
+ number. [ruby-dev: 29038]
- * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems
- repackagers to disable backward-compatible shared gem directory
- behavior.
- * test/rubygems: ditto.
+Wed Jul 19 23:53:05 2006 Kouhei Sutou <kou@cozmixng.org>
-Tue Dec 17 05:14:35 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/rss/parser.rb, lib/rss/utils.rb: added documents.
- * NEWS (RDoc): Update version number so I don't have to change it
- for the final release.
+Tue Jul 18 22:10:13 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Dec 16 19:19:19 2013 Koichi Sasada <ko1@atdot.net>
+ * process.c (rb_f_system): block SIGCHLD during the process
+ execution, like glibc system(3) does. [ruby-talk:202361]
- * gc.c (rb_objspace_markable_object_p): should check special_const_p
- first (by is_markable_object()).
+Tue Jul 18 23:12:14 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Dec 16 19:12:54 2013 Koichi Sasada <ko1@atdot.net>
+ * win32/win32.c (open_ifs_socket): should not use plain malloc.
- * ext/objspace/objspace.c (reachable_object_from_root_i): use
- compare_by_identity hash to avoid hash modify problem
- during iteration.
- [Bug #9252]
+ * win32/win32.c (rb_w32_opendir): should not use plain realloc.
- * ext/objspace/objspace.c (reachable_objects_from_root): ditto.
+Tue Jul 18 18:05:49 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Dec 16 18:16:28 2013 Koichi Sasada <ko1@atdot.net>
+ * test/ruby/test_float.rb (TestFloat::test_strtod): update test to
+ conform strtod change.
- * gc.c (gc_verify_internal_consistency): should not use
- rb_objspace_each_objects() because it call rest_sweep().
+Tue Jul 18 15:49:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Dec 16 18:07:30 2013 Koichi Sasada <ko1@atdot.net>
+ * pack.c (pack_unpack): propagate association array to copied
+ string. [ruby-core:08223]
- * gc.c (rb_objspace_markable_object_p): fix last commit (build error).
+ * pack.c (pack_unpack): return referenced string itself if it has
+ same length as specified. a patch from <nobu at ruby-lang.org>
+ in [ruby-core:08225].
-Mon Dec 16 18:04:28 2013 Koichi Sasada <ko1@atdot.net>
+ * pack.c (pack_pack): taint 'p' packed strings.
- * gc.c (rb_objspace_markable_object_p): it should be live objects.
+Tue Jul 18 14:03:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Dec 16 18:00:51 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer::unmount): remove
+ inpect argument from sprintf. [ruby-dev:29039]
- * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep
- flag in nested case.
+Tue Jul 18 10:53:37 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Dec 16 16:40:35 2013 Koichi Sasada <ko1@atdot.net>
+ * object.c (rb_cstr_to_dbl): limit out-of-range message.
- * vm_method.c (rb_method_entry_make): fix WB miss.
- Note that rb_method_entry_t::klass is not constified.
- We may constify this field.
+ * util.c (ruby_strtod): return end pointer even if ERANGE occurred.
+ fixed: [ruby-dev:29041]
- * test/ruby/test_alias.rb: add a test.
+Mon Jul 18 00:43:05 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Dec 16 14:14:22 2013 Koichi Sasada <ko1@atdot.net>
+ * util.c (ruby_strtod): stop at dot not followed by digits.
+ fixed: [ruby-dev:29035]
- * gc.c: use gc_verify_internal_consistency() instead of
- gc_check_before_marks_i() for check consistency
- on RGENGC_CHECK_MODE >= 2.
+Tue Jul 18 00:01:27 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Dec 16 14:01:48 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/extmk.rb: remove LIBRUBY_SO if static linked extensions exist.
- * process.c (make_clock_result): add :second as a unit for
- Process.clock_gettime.
+Mon Jul 17 23:30:46 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Dec 16 13:10:54 2013 Koichi Sasada <ko1@atdot.net>
+ * configure.in (rb_cv_msvcrt): defaulted to msvcrt. Workaround for a
+ bug of cygwin 1.5.20.
- * gc.c: introduce GC.verify_internal_consistency method to verify GC
- internal data structure.
+Mon Jul 17 13:43:05 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- Now this method only checks generation (old/young) consistency.
+ * pack.c (define_swapx): should not use plain malloc.
-Mon Dec 16 11:49:26 2013 Aman Gupta <ruby@tmm1.net>
+Mon Jul 17 12:58:41 2006 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c (gc_info_decode): Fix build errors when compiled with
- RGENGC_ESTIMATE_OLDMALLOC=0
- * gc.c (objspace_malloc_increase): ditto
+ * configure.in: should use ac_cv_lib_dl_dlopen=no on MinGW.
-Sun Dec 15 13:38:29 2013 Koichi Sasada <ko1@atdot.net>
+Sat Jul 15 23:50:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/objspace/objspace.c (reachable_object_from_root_i):
- reachable objects should not include categories and
- category_objects because it is noisy information.
+ * eval.c (rb_require_safe): wait for another thread requiring the same
+ feature. fixed: [ruby-core:08229]
- In fact, objects created after calling
- ObjectSpace.reachable_objects_from_root should not be included
- as a returning hash objects. Currently, mswin64 platform has a
- problem because of this behavior. Should we trace new objects?
+Sat Jul 15 01:27:13 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Dec 15 07:09:28 2013 Eric Hodel <drbrain@segment7.net>
+ * dir.c (has_magic): glob names contain alphabets to enable case fold
+ search also for directories. fixed: [ruby-talk:201917]
- * lib/rdoc: Update to RDoc master 263a9e5. This improves the
- accessibility of the search box.
+Sat Jul 15 01:09:22 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Dec 14 17:39:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * st.c (malloc): use xmalloc/xcalloc instead of plain
+ malloc/calloc, to detect memory allocation failure. see
+ <http://www.nongnu.org/failmalloc/>.
- * vm_insnhelper.c (vm_callee_setup_arg_complex): count post
- arguments as mandatory arguments. [ruby-core:57706] [Bug #8993]
+ * gc.c (rb_memerror): should not raise empty nomem_error.
- * vm_insnhelper.c (vm_yield_setup_block_args): ditto.
+Fri Jul 14 13:08:13 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Dec 14 16:26:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: add methods for new features of latest Tcl/Tk8.5.
- * configure.in (rubylibprefix): replace exec_prefix as well as
- bindir and libdir. a patch by kimuraw (Wataru Kimura) at
- [ruby-dev:47852]. [Bug #9160]
+ * ext/tk/lib/tk/namespace.rb: ditto.
-Sat Dec 14 14:42:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 14 02:30:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/logger.rb (lock_shift_log): no need to rotate the log file
- if it has been rotated by another process. based on the patch
- by no6v (Nobuhiro IMAI) in [ruby-core:58620]. [Bug #9133]
+ * lib/monitor.rb: document patch from Hugh Sasse <hgs at dmu.ac.uk>.
+ [ruby-core:08205]
-Sat Dec 14 13:01:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 14 01:09:46 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * proc.c (mnew_from_me): method by respond_to_missing? should be
- owned by the original class.
+ * parse.y (then): error in warning action.
-Sat Dec 14 11:55:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 14 00:10:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/scanf.rb (IO#scanf): fix mistaken use of rescue modifier.
- a patch by Mon_Ouie at [ruby-core:52813]. [Bug #7940]
+ * array.c (rb_ary_pop): may cause realloc oscillation. a patch
+ from MORITA Naoyuki <mlgetter at kidou.sakura.ne.jp>.
+ [ruby-dev:29028]
-Sat Dec 14 11:44:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jul 13 22:23:56 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * util.c (ruby_qsort): fix potential stack overflow on a large
- machine. based on the patch by Conrad Irwin <conrad.irwin AT
- gmail.com> at [ruby-core:51816]. [Bug #7772]
+ * ext/tk/lib/tk/composite.rb: improve handling of the classname on the
+ option database for the widget class which includes TkComposite.
-Sat Dec 14 11:25:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jul 13 20:32:19 2006 Kouhei Sutou <kou@cozmixng.org>
- * object.c (rb_mod_const_defined): support nested class path as
- well as const_get. [Feature #7414]
+ * lib/rss/parser.rb: updated documents by a patch from
+ Hugh Sasse <hgs at dmu.ac.uk>. [ruby-core:8194]
-Sat Dec 14 01:31:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jul 12 13:54:09 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * eval.c (rb_rescue2): reuse tags pushed for body proc to protect
- rescue proc too.
+ * parse.y (then): we'd like to reserve colon here for the future.
+ warning added.
-Sat Dec 14 01:15:51 2013 Masaya Tarui <tarui@ruby-lang.org>
+Tue Jul 11 20:58:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (wmap_final_func): Bugfix. Should update *value to new pointer.
+ * ruby.h: export rb_cMethod. [ruby-talk:201259]
-Sat Dec 14 01:05:46 2013 Tanaka Akira <akr@fsij.org>
+Tue Jul 11 19:13:33 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because
- it may be set before the body.
- Reported by ko1 and mrkn. [ruby-core:59088] [Bug #9247]
+ * ext/tk/lib/multi-tk.rb: remove restriction on the class of
+ pseudo-toplevel.
- * lib/cgi/core.rb: Ditto.
+Tue Jul 11 18:00:57 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/drb/ssl.rb: Ditto.
+ * ext/tk/lib/multi-tk.rb: security fix.
-Sat Dec 14 00:34:31 2013 Naohisa Goto <ngotogenome@gmail.com>
+Tue Jul 11 17:33:39 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * internal.h (ruby_sized_xrealloc2): fix typo introduced in r44117,
- which cause compile error on Solaris.
+ * string.c (rb_str_dump): need to extend len for \b.
-Sat Dec 14 00:22:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jul 10 22:00:00 2006 Shigeo Kobayashi <shigek@ruby-lang.org>
- * thread.c: (exec_recursive): use rb_catch_protect() instead of
- rb_catch_obj() and PUSH_TAG(), and reduce pushing tags and
- machine stack usage.
+ * ext/bigdecimal/bigdecimal.c: Allows '_' to appear within
+ digits. [ruby-dev:28872]
-Sat Dec 14 00:18:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal/lib/bigdecimal/util.rb: Bug in to_r reported by
+ [ruby-list:42533] fixed.
- * proc.c (mnew_from_me): achieve the original defined_class from
- prepended iclass, to fix inherited owner.
+Mon Jul 10 19:22:19 2006 Tanaka Akira <akr@fsij.org>
- * proc.c (method_owner): return the defined class, but not the
- class which the method object is created from.
+ * gc.c (gc_sweep): expand heap earlier.
+ reported by MORITA Naoyuki. [ruby-dev:28960]
-Fri Dec 13 22:29:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jul 10 18:59:34 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * proc.c (method_owner): return the class where alias is defined, not
- the class original method is defined.
+ * ext/tk/lib/tk/font.rb: sorry. mistaken to patch.
- * vm_method.c (rb_method_entry_make, rb_alias): store the originally
- defined class in me. [Bug #7993] [Bug #7842] [Bug #9236]
+Mon Jul 10 18:46:52 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_method.c (rb_method_entry_get_without_cache): cache included
- module but not iclass.
+ * ext/tk/tcltklib.c: make SEGV risk lower at exit.
-Fri Dec 13 16:27:17 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/tk/lib/tk.rb: ditto.
- * gc.c (gc_info_decode): Use :major_by=>:nofree as fallback reason
- when other trigger conditions are present.
+ * ext/tk/lib/multi-tk.rb: fail to call function-style methods on slave
+ interpreters. The strategy (MultiTkIp_PseudoToplevel_Evaluable) to
+ fix the problem is a little tricky. You may have to take care of
+ conflicting with it.
-Fri Dec 13 13:25:30 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: a little change for the pseudo-toplevel strategy.
- * error.c: add Exception#backtrace_locations.
- Now, there are no setter and independent from Exception#backtrace.
- [Feature #8960]
+ * ext/tk/lib/tk/font.rb: ditto.
- * eval.c (setup_exception): set backtrace locations for `bt_location'
- special attribute.
+ * ext/tk/lib/tk/msgcat.rb: ditto.
- * vm_backtrace.c (rb_backtrace_to_location_ary): added.
+ * ext/tk/lib/tkextlib/itk/incr_tk.rb: ditto.
- * internal.h: ditto.
+ * ext/tk/sample/demos-en/widget: fail to call function-style methods
+ on sample scripts. To fix it, a strategy which similar to the way
+ on MultiTiIp is used. Please take care when re-write and re-run a
+ demo script on the Widget-Demo code viewer.
- * test/ruby/test_backtrace.rb: add a test for
- Exception#backtrace_locations.
+ * ext/tk/sample/demos-jp/widget: ditto.
-Fri Dec 13 12:01:07 2013 Koichi Sasada <ko1@atdot.net>
+Mon Jul 10 13:58:40 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (garbage_collect_body): use rb_bug() and explicit error message
- instead of using assert().
- [Bug #9222]
+ * signal.c (ruby_nativethread_signal, posix_nativethread_signal,
+ sigsend_to_ruby_thread, install_nativethread_sighandler):
+ nativethread-support on signal handler. RE-backport from 1.9.
-Fri Dec 13 11:52:41 2013 Koichi Sasada <ko1@atdot.net>
+ * ruby.h (HAVE_NATIVETHREAD_KILL): ditto.
- * array.c: fix comment to remove the word "shady".
+ * eval.c (ruby_native_thread_kill): ditto.
- * variable.c: ditto.
+Mon Jul 10 10:54:14 2006 Ryan Davis <ryand@zenspider.com>
-Fri Dec 13 11:33:55 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/parsers/parse_f95.rb: massive overhaul from Yasuhiro
+ Morikawa including new file suffixes, function support, public
+ variables and constants, derived-types, defined operators and
+ assignments, namelists, and subroutine and function
+ arguments. Truly massive.
- * gc.c: rename *shady* func/macros.
- * RVALUE_RAW_SHADY() -> RVALUE_WB_PROTECTED_RAW()
- * RVALUE_SHADY() -> RVALUE_RAW_SHADY()
- * rgengc_check_shady() -> rgengc_check_relation().
- And fix some messages using "shady" to "non-WB-protected".
+ * lib/rdoc/diagram.rb: diagrams are now cached.
-Fri Dec 13 10:04:23 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/irb/completion.rb: fixed a crasher when completing against
+ an unnamed class/module.
- * lib/rubygems/request_set/lockfile.rb: Import RubyGems master a8d0669
- with a 1.8.7 compatibility fix.
- * test/rubygems/test_gem_request_set_lockfile.rb: ditto.
+ * lib/rdoc/parsers/parse_c.rb: private comment (--/++) support in
+ C-file rdoc.
-Fri Dec 13 09:50:49 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/debug.rb: minor clarification in help.
- * lib/rubygems: Update to RubyGems master ddac51f. Changes:
+ * lib/pp.rb: minor clarification on exception.
- * Allow override for the shared gem installation directory for
- rubygems packagers.
+Mon Jul 10 09:29:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * Lock gem cache files for read and write to improve thread safety.
+ * eval.c (rb_clear_cache_for_undef): clear entries for included
+ module. fixed: [ruby-core:08180]
- * Use io/console when available.
+Mon Jul 10 01:48:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * Minor cleanup.
+ * st.h (st_data_t): use pointer sized integer for st_data_t.
+ [ruby-dev:28988]
- * test/rubygems: ditto.
+Sun Jul 9 18:06:47 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Dec 13 08:15:31 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/mkmf.rb (try_constant): fix for value 1 at cross compiling.
- * class.c (include_modules_at): use RCLASS_M_TBL_WRAPPER for
- equality checks. this avoids an unnecessary deference inside a tight
- loop, fixing a performance regression from r43973.
- * object.c (rb_obj_is_kind_of): ditto.
- * object.c (rb_class_inherited_p): ditto.
+ * lib/mkmf.rb (create_makefile): prevent substitution of macro
+ definition. fixed: http://www.yotabanana.com/lab/20060624.html#p02
-Wed Dec 13 02:00:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Sun Jul 9 00:54:34 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (VpSetPTR): fix for limitation of the resulting
- precision.
- [ruby-core:50269] [Bug #7458]
+ * eval.c (next_jump): deal with destination of next.
+ fixed: [ruby-core:08169]
- * test/bigdecimal/test_bigdecimal.rb (test_limit): add tests for the above
- change.
+Fri Jul 7 00:38:49 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 13 01:56:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * hash.c (rb_hash_default): should not call default procedure if
+ no key is given. [ruby-list:42541]
- * ext/bigdecimal/bigdecimal.c (VpAddAbs): put out a conditional branch from
- the inside of while-loop.
+Fri Jul 7 00:29:10 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (VpSubAbs): ditto.
+ * time.c (time_mload): a patch from Daniel Berger
+ <Daniel.Berger at qwest.com>. [ruby-core:08128]
-Wed Dec 13 01:53:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Thu Jul 6 22:21:57 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (VPrint): be a static function, support another
- dump formats, and add more information of the given bigdecimal.
+ * process.c (rb_proc_times): use sysconf(_SC_CLK_TCK) value prior to
+ HZ and CLK_TCK. fixed: [ruby-talk:200293]
- * ext/bigdecimal/bigdecimal.h: ditto.
+Thu Jul 6 22:17:21 2006 Minero Aoki <aamine@loveruby.net>
-Wed Dec 11 16:45:58 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/racc/cparse/cparse.c: sync with original code, rev 1.8.
- * eval.c (rb_raise_jump): call c_return hook immediately after
- popping `raise' frame.
- Patches by deivid (David Rodriguez). [Bug #8886]
+ * ext/racc/cparse/cparse.c: should mark CparseParams objects.
- * test/ruby/test_settracefunc.rb: catch up this fix.
+ * lib/racc/parser.rb: sync with original code, rev 1.8.
-Wed Dec 11 16:01:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/racc/parser.rb: update coding style.
- * hash.c (rb_hash_reject): return a plain hash, without copying
- the class, default value, instance variables, and taintedness.
- they had been copied just by accident.
- [ruby-core:59045] [Bug #9223]
+Mon Jul 3 19:04:38 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Dec 11 15:36:15 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/tk/tcltklib.c (ip_make_menu_embeddable): help to make a menu
+ widget embeddable (pack, grid, and so on) like as a general widget.
+ However, an embeddable menu may require to be definied some event
+ bindings for general use.
- * compile.c (iseq_specialized_instruction): emit opt_aset instruction
- to optimize Hash#[]= and Array#[]= when called with Fixnum argument.
- [Bug #9227] [ruby-core:58956]
+ * ext/tk/lib/tk/event.rb: [bug fix] Tk.callback_break and
+ Tk.callback_continue don't work on MultiTkIp.
-Wed Dec 11 04:54:03 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/multi-tk.rb: ditto.
- * lib/rubygems: Update to RubyGems master ec8ed22. Notable changes
- include:
+ * ext/tk/lib/tk.rb: lack of Tk.callback_return.
- * Renamed extension_install_dir to extension_dir (backwards
- compatible).
+ * ext/tk/lib/tk/menu.rb: improve creating clone menus.
- * Fixed creation of gem.deps.rb.lock file from
- TestGemRequestSet#test_install_from_gemdeps_install_dir
+Mon Jul 3 14:42:06 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * Fixed a typo and some documentation.
+ * ext/etc/extconf.rb (PW_UID2VAL, PW_GID2VAL): defaulted to conversion
+ from int, and sys/types.h needs to be included before grp.h.
+ fixed: [ruby-dev:28938]
- * test/rubygems: ditto.
+Mon Jul 3 01:14:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 11 03:18:08 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * string.c (rb_str_inspect): encode \b (\010) for escape.
+ [ruby-dev:28927]
- * insns.def: Fix optimization bug of Float#/ [Bug #9238]
+ * string.c (rb_str_dump): ditto.
-Tue Dec 10 23:58:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jul 2 19:17:56 2006 Minero Aoki <aamine@loveruby.net>
- * ext/date/date_strptime.c (date__strptime_internal): unset
- case-insensitive flag for [:alpha:], which already implies both
- cases, to get rid of backtrack explosion. [ruby-core:58984]
- [Bug #9221]
+ * ext/racc/cparse/cparse.c: sync with original code (rev 1.7).
-Tue Dec 10 23:44:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/racc/cparse/cparse.c: use rb_catch instead of rb_iterate.
+ Giving a block to a Ruby-level method by rb_iterate is obsolete on
+ Ruby 1.9. Note that current cparse.c still includes one
+ rb_iterate call on Ruby 1.8, but it is not a problem (at least
+ just now).
- * array.c (rb_ary_hash): add salt to differentiate false and empty
- array. [ruby-core:58993] [Bug #9231]
+Sat Jul 1 15:15:49 2006 Tanaka Akira <akr@m17n.org>
- * hash.c (rb_any_hash, rb_hash_hash): ditto.
+ * test/socket/test_nonblock.rb: add timeout to send/receive
+ an empty UDP packet.
+ [ruby-dev:28820]
-Tue Dec 10 18:16:09 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Jun 30 23:46:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * man/ruby.1: [DOC] Use www.ruby-toolbox.com instead of RAA.
+ * configure.in: should test isinf for Solaris with GCC compiler.
+ a patch from <ville.mattila at stonesoft.com>. [ruby-core:07791]
-Tue Dec 10 17:21:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in: -shared patch from Andrew Morrow
+ <andrew.c.morrow at gmail.com>. [ruby-core:08100]
- * gc.c (wmap_finalize, wmap_aset_update): use simple malloced array
- instead of T_ARRAY, to reduce GC pressure.
+Thu Jun 29 18:58:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 10 15:56:48 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_version): fix patch
+ failure.
- * gc.c (reflist_add): revert changes from r44109. it is unnecessary
- after r44113
- * gc.c (allrefs_i): fix whitespace
- * gc.c (allrefs_roots_i): fix whitespace
+Thu Jun 29 18:00:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 10 15:46:03 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/bigdecimal/bigdecimal.c: add RDoc document. a patch from
+ mathew <meta at pobox.com>. [ruby-core:07050]
- * gc.c (allrefs_add): push obj only if allrefs table doesn't have
- obj.
+Wed Jun 28 15:47:14 2006 Eric Hodel <drbrain@segment7.net>
- * gc.c (allrefs_roots_i): ditto.
+ * lib/optparse.rb: RDoc patch from Robin Stocker <robin@nibor.org>
+ [ruby-core:08087]
-Tue Dec 10 15:28:10 2013 Koichi Sasada <ko1@atdot.net>
+Wed Jun 28 19:04:34 2006 Tanaka Akira <akr@m17n.org>
- * gc.c (RGENGC_CHECK_MODE): separate checkers to different modes.
- * 2: enable generational bits check (for debugging)
- * 3: enable livness check
- * 4: show all references
+ * test/socket/test_unix.rb: test_seqpacket_pair removed.
+ [ruby-dev:28846]
-Tue Dec 10 15:15:37 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jun 27 23:03:49 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gc_marks_check): disable GC during checking and
- restore malloc_increase info.
+ * string.c: RDoc update for =~ method. a patch from Alex Young
+ <alex at blackkettle.org>. [ruby-core:08068]
-Tue Dec 10 14:41:53 2013 Aman Gupta <ruby@tmm1.net>
+Tue Jun 27 22:47:18 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (reflist_add): return 0 if reference already exists
- * gc.c (allrefs_add): return 1 on newly added references
- * gc.c (allrefs_i): follow references to construct complete object
- graph. before this patch, RGENGC_CHECK could fail to verify some WB
- miss issues. [Bug #9226] [ruby-core:58959]
+ * ext/tk/tcltklib.c: forgot to update TCLTKLIB_RELEASE_DATE.
-Tue Dec 10 11:20:56 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/tk/lib/tk.rb (tk_tcl2ruby): [bug fix] sometimes fail to convert
+ a tcl string to a ruby object if the tcl string includes "\n".
- * ext/objspace/objspace_dump.c (dump_object): include fstring flag on
- strings. include gc flags (old, remembered, wb_protected) on all objects.
- * ext/objspace/objspace_dump.c (Init_objspace_dump): initialize lazy
- IDs before first use.
- * gc.c (rb_obj_gc_flags): new function to retrieve object flags
- * internal.h (RB_OBJ_GC_FLAGS_MAX): maximum flags allowed for one obj
- * test/objspace/test_objspace.rb (test_dump_flags): test for above
- * test/objspace/test_objspace.rb (test_trace_object_allocations):
- resolve name before dump (for rb_class_path_cached)
+Tue Jun 27 16:04:05 2006 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Dec 10 07:48:29 2013 Aman Gupta <ruby@tmm1.net>
+ * win32/win32.h: define isascii on MinGW for msvcrt compatibility.
- * vm_method.c (rb_clear_method_cache_by_class): fire
- ruby::method-cache-clear probe on global or klass-level method cache
- clear [Bug #9190]
- * probes.d (provider ruby): new dtrace probe
- * doc/dtrace_probes.rdoc: docs for new probe
- * test/dtrace/test_method_cache.rb: test for new probe
+ * configure.in: set ac_cv_header_sys_time_h=no on MinGW
+ for msvcrt compatibility.
-Tue Dec 10 06:14:11 2013 Eric Hodel <drbrain@segment7.net>
+Tue Jun 27 11:36:02 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/.document: Remove curses from documentable directories.
+ * ext/etc/etc.c (setup_passwd, setup_group): allow bignum uid, gid and
+ so on. [ruby-talk:199102]
-Tue Dec 10 04:55:36 2013 Zachary Scott <e@zzak.io>
+Mon Jun 26 13:37:27 2006 Eric Hodel <drbrain@segment7.net>
- * ext/openssl/lib/openssl/digest.rb: Deprecate OpenSSL::Digest::Digest
- [Fixes GH-446] https://github.com/ruby/ruby/pull/446
+ * lib/rdoc: Merge from HEAD.
+ Add options to limit the ri search path.
-Tue Dec 10 00:41:42 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Tue Jun 27 00:54:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/thread/thread.c: [DOC] add call-seq alias for Queue#enq, #<<, etc.
+ * util.c (powersOf10): constified.
- * ext/thread/thread.c (Init_thread): use rb_define_alias instead of
- rb_alias to document alias.
+Mon Jun 26 18:37:44 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Dec 9 20:00:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/tk/tcltklib.c (ip_delete): fix SEGV when a slave-ip is
+ deleted on callback.
- * internal.h (RCLASS_SERIAL): Add RCLASS_SERIAL as a convenience
- accessor for RCLASS_EXT(klass)->class_serial.
+Mon Jun 26 10:47:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * class.c, vm_insnhelper.c, vm_method.c: Use RCLASS_SERIAL
+ * io.c (pipe_open): avoid closing uninitialized file descriptors.
+ a patch from <tommy at tmtm.org> [ruby-dev:28600]
-Mon Dec 9 19:50:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Mon Jun 26 09:56:22 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * compile.c, insns.def, test/ruby/test_rubyvm.rb, vm.c, vm_core.h,
- vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Rename method_serial
- to global_method_state and constant_serial to global_constant_state
- after discussion with ko1.
+ * win32/win32.[ch] (rb_w32_send, rb_w32_sendto): constified.
-Mon Dec 9 18:50:43 2013 Aman Gupta <ruby@tmm1.net>
+Sun Jun 25 23:02:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (rb_hash_replace): fix segv on `{}.replace({})` introduced
- in r44060 [Bug #9230] [ruby-core:58991]
- * test/ruby/test_hash.rb: regression test for above
+ * Makefile.in, mkconfig.rb: catch-up for latest autoconf.
-Mon Dec 9 18:10:10 2013 Koichi Sasada <ko1@atdot.net>
+Sat Jun 24 06:35:00 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm.c (vm_stat): renamed from ruby_vm_stat.
- Should not use ruby_ prefix here.
+ * signal.c: revert last change.
-Mon Dec 9 16:13:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ruby.h: ditto.
- * gc.c (wmap_size): add ObjectSpace::WeakMap#size and #length.
+ * eval.c: ditto.
-Mon Dec 9 15:26:17 2013 Shugo Maeda <shugo@ruby-lang.org>
+Thu Jun 22 11:52:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/test_curses.rb: removed.
+ * lib/net/http.rb (Net::HTTPResponse): duplicated error 501;
+ HTTPInternalServerError should be error 500. [ruby-core:08037]
-Mon Dec 9 13:36:55 2013 Shugo Maeda <shugo@ruby-lang.org>
+Thu Jun 22 05:15:58 2006 Tanaka Akira <akr@m17n.org>
- * ext/curses, sample/curses: removed curses.
+ * ext/socket/socket.c (sock_s_socketpair): try GC only once.
+ [ruby-dev:28778]
- * NEWS: added an entry for the above change.
+Wed Jun 21 21:28:32 2006 Tadayoshi Funaba <tadf@dotrb.org>
-Mon Dec 9 12:26:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/date.rb (jd_to_commercial): now works fine even if in
+ mathn-ized context.
- * ext/objspace/object_tracing.c (newobj_i): use cached class path
- only to get rid object allocation during NEWOBJ hook.
- [ruby-core:58853] [Bug #9212]
+Wed Jun 21 17:32:31 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * variable.c (rb_class_path_cached): returns cached class path
- only, without searching and allocating new class path string.
+ * signal.c (ruby_nativethread_signal, posix_nativethread_signal,
+ sigsend_to_ruby_thread, install_nativethread_sighandler):
+ nativethread-support on signal handler (backport from 1.9).
-Mon Dec 9 11:14:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ruby.h (HAVE_NATIVETHREAD_KILL): ditto.
- * ext/date/date_parse.c (parse_time): unset case-insensitive flag
- for [:alpha:], which already implies both cases, to get rid of
- backtrack explosion. [ruby-core:58876] [Bug #9221]
+ * eval.c (ruby_native_thread_kill): ditto.
-Mon Dec 9 08:40:40 2013 Eric Hodel <drbrain@segment7.net>
+Wed Jun 21 08:39:54 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems: Update to RubyGems master bf37240. Fixes useless
- error message with `gem install -g` with no gem dependencies file.
- * test/rubygems: ditto.
+ * lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): merge Date
+ and Time processing. [ruby-core:08033]
-Mon Dec 9 04:52:25 2013 Eric Hodel <drbrain@segment7.net>
+Wed Jun 21 01:40:25 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * NEWS: Update RubyGems entry with notable features.
+ * parse.y (yylex, reswords): modifier token is no longer returned in
+ fname state. [ruby-dev:28775]
-Mon Dec 9 04:43:54 2013 Eric Hodel <drbrain@segment7.net>
+Wed Jun 21 01:12:46 2006 Kouhei Sutou <kou@cozmixng.org>
- * ext/.document: Add syslog/lib and thread/thread.c to documentable
- items. [ruby-trunk - Bug #9228]
+ * lib/rss/rss.rb: RSS::Element.def_corresponded_attr_writer
+ supported date type.
-Mon Dec 9 04:28:50 2013 Eric Hodel <drbrain@segment7.net>
+Tue Jun 20 22:08:36 2006 Kouhei Sutou <kou@cozmixng.org>
- * lib/rubygems: Update to RubyGems master 096db36. Changes include
- support for PATH in Gemfile.lock and a typo fix from Akira Matsuda.
- * test/rubygems: ditto.
+ * test/rss/test_parser.rb: split parser tests into ...
+ * test/rss/test_parser_1.0.rb: ... RSS 1.0 parsing tests and ...
+ * test/rss/test_parser_2.0.rb: ... RSS 2.0 parsing tests.
-Mon Dec 9 02:10:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Jun 20 21:19:06 2006 Kouhei Sutou <kou@cozmixng.org>
- * lib/net/http/responses.rb:
- Add `HTTPIMUsed`, as it is also supported by rack/rails.
- RFC - http://tools.ietf.org/html/rfc3229
- by Vipul A M <vipulnsward@gmail.com>
- https://github.com/ruby/ruby/pull/447 fix GH-447
+ * lib/rss/rss.rb: provided default RSS::Element#children.
-Sun Dec 8 20:47:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rss/0.9.rb: used default RSS::Element#children.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
- * class.c (rb_get_kwargs): when values is non-null, remove
- extracted keywords from the rest keyword argument.
+Tue Jun 20 21:04:33 2006 Kouhei Sutou <kou@cozmixng.org>
-Sun Dec 8 20:26:54 2013 Yutaka Kanemoto <kanemoto@ruby-lang.org>
+ * lib/rss/rss.rb: provided default RSS::Element#_tags.
- * common.mk (ruby.imp): avoid circular dependency on AIX
+ * lib/rss/0.9.rb: used default RSS::Element#_tags.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
-Sun Dec 8 20:21:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Tue Jun 20 20:47:07 2006 Kouhei Sutou <kou@cozmixng.org>
- * bigdecimal.c (BigDecimal_coerce): convert a Float to a BigDecimal instead
- of converting the receiver to a Float. The reason is there are BigDecimal
- instances with precisions that is smaller than the Float's precision.
- [ruby-core:58756] [Bug #9192]
+ * lib/rss/rss.rb: hide RSS::Element.install_model.
+ (RSS::Element.install_have_child_element,
+ RSS::Element.install_have_children_element,
+ RSS::Element.install_text_element,
+ RSS::Element.install_date_element): call
+ RSS::Element.install_model internally.
- * test/bigdecimal/test_bigdecimal.rb: add tests for the above change.
+ * lib/rss/0.9.rb: followed new API.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/content.rb: ditto.
+ * lib/rss/dublincore.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/syndication.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
+ * lib/rss/trackback.rb: ditto.
-Sun Dec 8 18:28:20 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Tue Jun 20 20:18:05 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * NEWS: [DOC] update NEWS about GC.
+ * ext/openssl/extconf.rb: add check for OBJ_NAME_do_all_sorted.
-Sun Dec 8 17:52:24 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/openssl/ossl_cipher.c (ossl_s_ciphers): new method
+ OpenSSL::Cipher.ciphers. it returns all the cipher names.
- * object.c: [DOC] document Module#singleton_class?.
+ * ext/openssl/lib/openssl/cipher.rb:
+ - add constants AES128, AES192, AES256. [ruby-dev:28610]
+ - reimplement without eval()
-Sun Dec 8 16:19:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/openssl/digest.rb: reimplement without eval().
- * class.c (rb_get_kwargs): if optional is negative, unknown
- keywords are allowed.
+ * test/openssl/test_cipher.rb, test_digest: fix about reimplemented
+ features.
- * vm_insnhelper.c (vm_callee_setup_keyword_arg): check unknown
- keywords.
+ * sample/openssl/cipher.rb: rewrite all.
-Sun Dec 8 14:55:12 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Sat Jun 19 11:21:46 2006 Eric Hodel <drbrain@segment7.net>
- * array.c (rb_ary_shuffle_bang, rb_ary_sample): rename local variables.
+ * lib/test/unit/assertions.rb: Merge RDoc from HEAD.
-Sun Dec 8 13:59:38 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Tue Jun 20 01:06:57 2006 Kouhei Sutou <kou@cozmixng.org>
- * array.c (rb_ary_shuffle_bang, rb_ary_sample): check
- unknown keywords.
+ * lib/rss/rss.rb:
+ - cleanup validation mechanism. Now, #XXX_validation is
+ needless.
+ - changed internal variable name RSS::Element::MODEL to
+ RSS::Element::MODELS.
+ - RSS::Element.install_model requires uri.
- * test/ruby/test_array.rb (test_shuffle, test_sample): tests for
- the above.
+ * lib/rss/0.9.rb: followed new validation API.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/content.rb: ditto.
+ * lib/rss/dublincore.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/syndication.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
+ * lib/rss/trackback.rb: ditto.
-Sun Dec 8 13:01:11 2013 Aman Gupta <ruby@tmm1.net>
+Mon Jun 19 23:40:59 2006 NARUSE, Yui <naruse@ruby-lang.org>
- * vm.c (ruby_vm_stat): add RubyVM.stat() for access to internal cache
- counters. this methods behaves like GC.stat, accepting an optional
- hash or symbol argument. [Bug #9190] [ruby-core:58750]
- * test/ruby/test_rubyvm.rb: test for new method
+ * ext/nkf/lib/kconv.rb: remove default -m0 and fix document.
-Sun Dec 8 11:59:40 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/nkf/nkf-8/{nkf.c, config.h, utf8tbl.c, utf8tbl.h}:
+ imported nkf 2.0.7.
- * hash.c (rb_hash_replace): add a write barrier to fix GC mark miss on
- hashes using Hash#replace [Bug #9226] [ruby-core:58948]
+Mon Jun 19 22:31:59 2006 Kouhei Sutou <kou@cozmixng.org>
-Sun Dec 8 11:21:00 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/rss/rss.rb:
+ - provided default #to_s as RSS::Element#to_s.
+ - removed RSS::Element#other_element.
+ - RSS::Element#tag requires attributes as Hash instead of Array.
- * include/ruby/ruby.h: add RGENGC_WB_PROTECTED_NODE_CREF setting
- In a large app, this reduces the size of
- remembered_shady_object_count by 80%. [Bug #9225] [ruby-core:58947]
- * gc.c (rb_node_newnode): add FL_WB_PROTECTED flag to NODE_CREF
- * class.c (rewrite_cref_stack): insert OBJ_WRITE for NODE_CREF
- * iseq.c (set_relation): ditto
- * iseq.c (rb_iseq_clone): ditto
- * vm_eval.c (rb_yield_refine_block): ditto
- * vm_insnhelper.c (vm_cref_push): ditto
- * vm_insnhelper.h (COPY_CREF): ditto
+ * lib/rss/0.9.rb: removed #to_s to use RSS::Element#to_s.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
+ * lib/rss/trackback.rb: ditto.
-Sun Dec 8 10:45:05 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/rss/2.0.rb: removed #other_element.
- * hash.c (hash_aset_str): revert r43870 due to performance issue
- [Bug #9188] [ruby-core:58730]
- * parse.y (assoc): convert literal string hash keys to fstrings
- * test/ruby/test_hash.rb (class TestHash): expand test
+Mon Jun 19 22:09:16 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Sun Dec 8 10:22:38 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/win32ole/win32ole.c(ole_invoke): support some kind of
+ method of word. [ruby-Bugs#3237]
- * parse.y (register_symid_str): use fstrings in symbol table
- [Bug #9171] [ruby-core:58656]
- * parse.y (rb_id2str): ditto
- * string.c (rb_fstring): create frozen_strings on first usage. this
- allows rb_fstring() calls from the parser (before cString is created)
- * string.c (fstring_set_class_i): set klass on fstrings generated
- before cString was defined
- * string.c (Init_String): convert frozen_strings table to String
- objects after boot
- * ext/-test-/symbol/type.c (bug_sym_id2str): expose rb_id2str()
- * test/-ext-/symbol/test_type.rb (module Test_Symbol): verify symbol
- table entries are fstrings
+ * ext/win32ole/tests/test_word.rb: ditto.
-Sun Dec 8 10:24:20 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/win32ole/tests/testall.rb: ditto.
- * lib/rubygems.rb: Update version for upcoming ruby 2.1.0 RC.
+Mon Jun 19 00:02:17 2006 Kouhei Sutou <kou@cozmixng.org>
-Sun Dec 8 10:21:36 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/rss/rss.rb: automatically detected attributes.
- * lib/rubygems: Update to RubyGems master 14749ce. This fixes bugs
- handling of gem dependencies lockfiles (Gemfile.lock).
+ * lib/rss/0.9.rb: removed #_attrs.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
+ * lib/rss/trackback.rb: ditto.
- * test/rubygems: ditto.
+ * lib/rss/parser.rb: followed new internal API.
-Sun Dec 8 09:40:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Mon Jun 19 00:00:17 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * array.c (rb_ary_or): use RHASH_TBL_RAW instead of RHASH_TBL
+ * ext/tk/lib/multi-tk.rb: fix bug: initialize improper tables.
- * process.c (rb_execarg_fixup): use RHASH_TBL_RAW and insert write
- barriers where appropriate
+Sun Jun 18 22:36:13 2006 Kouhei Sutou <kou@cozmixng.org>
- * vm.c (kwmerge_i): use RHASH_TBL_RAW
+ * lib/rss/rss.rb: RSS::Element#initialize accepts initial
+ attributes.
+ * lib/rss/0.9.rb: ditto.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/dublincore.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
+ * lib/rss/trackback.rb: ditto.
- * vm.c (HASH_ASET): use rb_hash_aset instead of calling directly into
- st_insert
+ * lib/rss/utils.rb: added Utils.element_initialize_arguments? to
+ detect backward compatibility initial arguments.
-Sat Dec 7 11:15:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rss/parser.rb: user initial attributes to initialize
+ RSS::Element.
- * hash.c (rb_hash_reject): copy unrejected elements only to new hash,
- so that the change on the original receiver can affect.
- [ruby-core:58914] [Bug #9223]
+Sun Jun 18 18:24:42 2006 Kouhei Sutou <kou@cozmixng.org>
-Sat Dec 7 08:25:00 2013 Richo Healey <richo@psych0tik.net>
+ * lib/rss/converter.rb: use NKF for Uconv fallback.
- * test/ruby/test_struct.rb: Add regression test for question marks and
- bangs in struct members. [Closes GH-468]
+Sun Jun 18 18:22:04 2006 Kouhei Sutou <kou@cozmixng.org>
-Fri Dec 6 19:33:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/rss/test_image.rb: shared name space configuration.
- * class.c (rb_extract_keywords, rb_get_kwargs): move from
- vm_insnhelper.c.
+Sun Jun 18 18:13:25 2006 Kouhei Sutou <kou@cozmixng.org>
-Fri Dec 6 19:18:02 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/rss.rb: improved ignore_unknown_element
+ handling. RSS::NotExpectedTagError provides tag URI.
+ * lib/rss/parser.rb: ditto.
+ * lib/rss/0.9.rb: ditto.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/content.rb: ditto.
+ * lib/rss/dublincore.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/syndication.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
+ * lib/rss/trackback.rb: ditto.
- * gc.c: change oldmalloc meaning.
- Increase oldmalloc_increase with malloc_increase
- instead of using obj_memsize_of().
+ * test/rss/rss-assertions.rb: checked URI of not expected tag too.
+ * test/rss/test_parser.rb: ditto.
- This change will avoid the danger of memory full without major GC.
+Sun Jun 18 18:08:36 2006 Kouhei Sutou <kou@cozmixng.org>
-Fri Dec 6 19:08:48 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/rss.rb: changed empty namespace URI representation to ""
+ from nil.
+ * lib/rss/parser.rb: ditto.
+ * lib/rss/0.9.rb: ditto.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
- * gc.c (atomic_sub_nounderflow): not 0 but val itself.
+Sun Jun 18 18:03:50 2006 Kouhei Sutou <kou@cozmixng.org>
-Fri Dec 6 18:37:11 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/parser.rb: removed a guard for requiring open-uri.
- * gc.c (rb_objspace_alloc, Init_heap): initialize
- oldmalloc_increase_limit at Init_heap.
+Sun Jun 18 18:01:26 2006 Kouhei Sutou <kou@cozmixng.org>
- rb_objspace_alloc() is not called on some platforms.
+ * lib/rss/rss.rb: fixed typo: except -> expect
+ * lib/rss/parser.rb: ditto.
+ * test/rss/rss-assertions.rb: ditto.
+ * test/rss/test_parser.rb: ditto.
-Fri Dec 6 18:33:39 2013 Koichi Sasada <ko1@atdot.net>
+Sun Jun 18 17:52:39 2006 Kouhei Sutou <kou@cozmixng.org>
- * gc.c (garbage_collect_body): bug fix.
- initialize after recording.
+ * lib/rss/rss.rb: RSS::Element#calc_indent became to be deprecated.
+ * lib/rss/0.9.rb: ditto.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/taxonomy.rb: ditto.
+ * lib/rss/trackback.rb: ditto.
-Fri Dec 6 17:49:46 2013 Koichi Sasada <ko1@atdot.net>
+ * test/rss/test_1.0.rb: removed RSS::Element.indent_size tests.
+ * test/rss/test_2.0.rb: ditto.
- * gc.c (atomic_sub_nounderflow): added to simplify atomic sub with
- care about underflow.
+Sun Jun 18 00:49:11 2006 Tanaka Akira <akr@m17n.org>
- * gc.c (objspace_malloc_increase): use it.
+ * ext/socket/socket.c (bsock_recv_nonblock): new method
+ BasicSocket#recv_nonblock.
+ (udp_recvfrom_nonblock): renamed from ip_recvfrom_nonblock.
+ IPSocket#recvfrom_nonblock is moved to UDPSocket#recvfrom_nonblock.
+ (unix_recvfrom_nonblock): removed.
+ UNIXSocket#recvfrom_nonblock is removed.
-Fri Dec 6 17:10:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 17 22:17:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_insnhelper.c (rb_get_kwargs): get keyword argument values from an
- option hash, not only checking keys.
+ * lib/mathn.rb (Integer::prime_division): raise ZeroDivisionError
+ on zeros. [ruby-dev:28739]
- * dir.c (dir_initialize): use rb_get_kwargs.
+Sat Jun 17 14:53:32 2006 Tanaka Akira <akr@m17n.org>
- * gc.c (gc_start_internal): ditto.
+ * lib/pathname.rb: backport from 1.9.
+ (Kernel#Pathname): new method.
-Fri Dec 6 16:47:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 17 10:30:41 2006 Kouhei Sutou <kou@cozmixng.org>
- * misc/ruby-mode.el (ruby-brace-to-do-end): split single line block.
+ * lib/rss/rss.rb (Hash#merge, Enumerable#sort_by): removed.
- * misc/ruby-mode.el (ruby-do-end-to-brace): shrink single line block
- to one line.
+ * lib/rss/rss.rb (RSS::RootElementMixin#to_xml): added.
+ [ruby-talk:197284]
-Fri Dec 6 16:16:30 2013 Koichi Sasada <ko1@atdot.net>
+ We can convert RSS version easily like the following:
+ rss10 = RSS::Parser.parse(File.read("1.0.rdf"))
+ File.open("2.0.rss", "w") {|f| f.print(rss10.to_xml("2.0"))}
- * gc.c (gc_start_internal): do not use rb_gc_start() and rb_gc().
+ * test/rss/test_1.0.rb: added #to_xml test.
+ * test/rss/test_2.0.rb: ditto.
-Fri Dec 6 15:24:30 2013 Koichi Sasada <ko1@atdot.net>
+ * test/rss/rss-testcase.rb: added some helper methods that
+ generates sample RSS 2.0.
- * gc.c (gc_start_internal, rb_gc): do not need
- heap_pages_free_unused_pages() here.
- It was done in after_sweep().
+ * sample/rss/convert.rb: added a sample script to convert RSS format.
- * gc.c (rb_gc): The reason is now GPR_FLAG_CAPI.
+Sat Jun 17 10:23:22 2006 Kouhei Sutou <kou@cozmixng.org>
-Fri Dec 6 14:05:19 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/rss/rss.rb (Kernel#funcall): removed.
+ * lib/rss/parser.rb (Kernel.URI): removed.
- * gc.c (gc_start_internal): GC.start() now accepts two optional
- keyword arguments. These can be used to disable full_mark (minor
- mark only) or disable immediate_sweep (use lazy sweep). These new
- options are useful for benchmarking GC behavior, or performing minor
- GC out-of-band.
- * test/ruby/test_gc.rb (class TestGc): tests for new options.
+ * lib/rss/maker/: supported
+ xxx.new_yyy do |yyy|
+ yyy.zzz = zzz
+ ...
+ end
+ style and this style became the style of the recommendation.
-Fri Dec 6 11:51:28 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ Old style
+ yyy = xxx.new_yyy
+ yyy.zzz = zzz
+ ...
+ is supported too but this style isn't recommended.
+ [ruby-talk:197284]
- * lib/erb.rb: [DOC] fix broken link, Use rubygems.org and www.ruby-toolbox.com instead of RAA.
- [Bug #9197]
+ * test/rss/test_*maker*.rb: used new recommended style.
-Fri Dec 6 10:50:54 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Jun 17 09:03:47 2006 Kouhei Sutou <kou@cozmixng.org>
- * lib/webrick/httprequest.rb: [DOC] Fix broken link of CGI specification by @udzura [fix GH-466]
+ * lib/rss, test/rss: backported from trunk. (2005-11-16 - now)
-Thu Dec 6 01:27:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.5 -> 0.1.6.
+ * test/rss/test_version.rb (RSS::TestVersion#test_version): ditto.
- * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec):
- treat 0.0 and -0.0 of floating-point numbers specially for an optimization
- and to correctly propagate its signbit to the result.
- [Bug #9214] [ruby-core:58858]
+ * lib/rss/trackback.rb: added TrackBack prefix.
+ * lib/rss/maker/trackback.rb: ditto.
- * test/bigdecimal/test_bigdecimal.rb: add tests case for the above change.
+ * lib/rss/rss.rb : removed needless argument 'prefix'.
+ * lib/rss/parser.rb: ditto.
- * test/bigdecimal/test_bigdecimal_util.rb: ditto.
+ * lib/rss/1.0.rb: added rdf:Bag.
-Thu Dec 5 22:18:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rss/taxonomy.rb: implemented taxonomy module.
+ * test/rss/test_taxonomy.rb: added tests for taxonomy support.
- * lib/mkmf.rb (configuration): strip destdir part from prefix to get
- rid of duplication. a patch by arton at [ruby-core:58859].
- [ruby-core:58856] [Bug #9213]
+ * lib/rss/1.0.rb: added convenience method 'resources'.
+ * lib/rss/taxonomy.rb: ditto.
+ * test/rss/rss-assertions.rb: added test for 'resources'.
+ * test/rss/test_taxonomy.rb: ditto.
-Thu Dec 5 21:53:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rss/rss.rb: fixed a indentation bug.
+ * lib/rss/taxonomy.rb: fixed <taxo:topic> #to_s bug.
+ * test/rss/test_taxonomy.rb: added a #to_s test.
- * array.c (rb_ary_or): lhs elements are preferred, so should not
- replace with rhs elements.
+ * lib/rss/maker/taxonomy.rb: implemented taxonomy module for RSS
+ Maker.
+ * lib/rss/taxonomy.rb: supported RSS Maker.
+ * lib/rss/maker.rb: added taxonomy module support.
- * test/ruby/test_array.rb (test_OR_in_order): import the test failed
- by r43969 from rubyspec/core/array/union_spec.rb.
+ * lib/rss/rss.rb: adjusted to other element API.
+ * lib/rss/1.0.rb: adjusted to other element API but backward
+ compatibility is reserved.
+ * lib/rss/0.9.rb: ditto.
-Thu Dec 5 21:05:42 2013 Koichi Sasada <ko1@atdot.net>
+ * test/rss/test_maker_taxo.rb: added test case for taxonomy module
+ for RSS Maker.
+ * test/rss/test_setup_maker_1.0.rb: added tests for taxo:topic.
- * gc.c (gc_info_decode): fix to avoid syntax error on VS2012.
+ * test/rss/test_setup_maker_1.0.rb: added backward compatibility
+ test.
+ * test/rss/test_setup_maker_0.9.rb: ditto.
+ * test/rss/test_setup_maker_2.0.rb: ditto.
-Thu Dec 5 19:35:35 2013 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * test/rss/rss-testcase.rb: added convenience method for setting
+ up taxo:topic.
+ * test/rss/rss-assertions.rb: added assertion for taxo:topic.
- * st.c: tweaked comment
+ * sample/rss/blend.rb: followed new API.
-Thu Dec 5 19:21:10 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/rss/taxonomy.rb: changed class or module prefix to
+ Taxonomy from Taxo.
+ * lib/rss/maker/taxonomy.rb: ditto.
- * gc.c (struct rb_objspace): rename internal last_collection_flags to
- latest_gc_info
- * gc.c (gc_latest_collection_info): add GC.latest_gc_info() with similar
- behavior to GC.stat()
- * gc.c (rb_gc_latest_gc_info): new c-api for above
- * gc.c (gc_stat_internal): remove :last_collection_flags from GC.stat
- * gc.c (gc_profile_decode_flags): remove GC::Profiler.decode_flags
- * include/ruby/intern.h (rb_gc_latest_gc_info): export new c-api
- * test/ruby/test_gc.rb (class TestGc): test for new behavior
- * NEWS: note about new api
+ * test/rss/test_taxonomy.rb: use #reject directory.
- * gc.c (gc_stat_internal): raise TypeError on wrong type
- * gc.c (gc_stat): fix error message
+ * lib/rss/: use #__send__ instead of #send.
+ * test/rss/: ditto.
-Thu Dec 5 18:18:08 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/rss/parser.rb: added entity handling type predicate.
+ * lib/rss/rexmlparser.rb: ditto.
+ * lib/rss/xmlparser.rb: ditto.
+ * lib/rss/xmlscanner.rb: ditto.
- * ext/objspace/gc_hook.c: remove this file
- * ext/-test-/tracepoint/gc_hook.c: new filename for above
- * ext/objspace/objspace.c: remove ObjectSpace.after_gc_start_hook=
- * test/objspace/test_objspace.rb: remove test
- * test/-ext-/tracepoint/test_tracepoint.rb: add above test for
- tracepoint re-entry
+ * lib/rss/xmlscanner.rb: more robust entity handling.
-Thu Dec 5 17:44:53 2013 Koichi Sasada <ko1@atdot.net>
+ * test/rss/test_parser.rb: added an entity handling test.
- * gc.c: change function names vm_ prefix to objspace_ prefix.
- They are objspace_ functionality.
+ * test/rss/test_2.0.rb: added RSS 2.0 tests.
+ * test/rss/rss-assertions.rb: extended XML stylesheet assertion.
+ * lib/rss/0.9.rb: added initialize method.
+ * test/rss/test_1.0.rb: cleanup.
-Thu Dec 5 16:11:04 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/rss/image.rb: added Image prefix.
+ * lib/rss/maker/image.rb: ditto.
- * include/ruby/intern.h: add rb_gc_stat() for access to GC.stat
- variables from c-api
- * gc.c (rb_gc_stat): new c-api method. accepts either VALUE hash like
- GC.stat, or VALUE symbol key and returns size_t directly. the second
- form is useful to avoid allocations, i.e. for usage inside
- INTERNAL_EVENT_GC tracepoints.
- * gc.c (gc_stat): add GC.stat(:key) to return single value instead of hash
- * gc.c (gc_stat_internal): helper method to retrieve single or all stat values
- * test/ruby/test_gc.rb (class TestGc): test for new behavior
- * NEWS: note about this new api
+ * lib/rss/rss.rb: improved type conversion.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/0.9.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/syndication.rb: ditto.
-Thu Dec 5 14:40:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/rss/test_2.0.rb: added type conversion tests.
+ * test/rss/test_accessor.rb: ditto.
+ * test/rss/test_to_s.rb: ditto.
+ * test/rss/test_syndication.rb: ditto.
+ * test/rss/test_setup_maker_2.0.rb: ditto.
+ * test/rss/test_setup_maker_1.0.rb: ditto.
+ * test/rss/test_setup_maker_0.9.rb: ditto.
+ * test/rss/test_maker_sy.rb: ditto.
+ * test/rss/test_maker_image.rb: ditto.
+ * test/rss/test_maker_2.0.rb: ditto.
+ * test/rss/test_maker_0.9.rb: ditto.
+ * test/rss/test_image.rb: ditto.
- * hash.c (rb_hash): revert r43981 and bail out to the outermost frame
- when recursion is detected.
+ * test/rss/test_maker_1.0.rb: use assert instead of assert_equal.
-Thu Dec 5 13:47:15 2013 Koichi Sasada <ko1@atdot.net>
+ * test/rss/rss-assertions.rb: improved type conversion assertions.
- * gc.c (vm_malloc_size): added.
- return malloc_usable_size() if possible.
+ * lib/rss/rss.rb: added backward compatibility codes.
+ * lib/rss/parser.rb: ditto.
+ * test/rss/test_parser.rb: ditto.
+ * test/rss/test_2.0.rb: ditto.
- * gc.c (MALLOC_ALLOCATED_SIZE): add new setting macro to enable
- GC.allocated_size.
- If platform supports `malloc_usable_size()' (or similar one),
- GC.allocated_size can be implemented with this function.
- Default is 0.
+Sat Jun 17 02:01:00 2006 Tanaka Akira <akr@m17n.org>
- * gc.c (vm_xmalloc, vm_xrealloc, vm_xfree): use vm_malloc_size()
- to detect collect allocated size.
+ * lib/pp.rb (Kernel#pretty_inspect): defined for pretty printed
+ string.
- * gc.c (vm_malloc_increase): refactoring.
+Sat Jun 17 00:23:58 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Dec 5 13:19:03 2013 Aman Gupta <ruby@tmm1.net>
+ * parse.y (reswords): kDO_BLOCK was missing. fixed: [ruby-core:7995]
- * include/ruby/ruby.h: remove INTERNAL_EVENT_GC_END and replace with
- two new events: GC_END_MARK and GC_END_SWEEP
- * gc.c (gc_after_sweep): emit GC_END_SWEEP after lazy sweep is done
- * gc.c (gc_marks_body): emit GC_END_MARK at end of minor/major mark
- * ext/-test-/tracepoint/tracepoint.c (struct tracepoint_track): tests
- for new events.
- * test/-ext-/tracepoint/test_tracepoint.rb (class TestTracepointObj):
- ditto.
- * NEWS: remove ObjectSpace.after_gc_*_hook. These are only a sample,
- and will be removed before ruby 2.1.
- * ext/objspace/gc_hook.c: remove ObjectSpace.after_gc_end_hook=
+Sat Jun 17 00:02:15 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Thu Dec 5 10:47:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/win32ole/win32ole.c (ole_propertyput): support
+ PROPERTYPUTREF. [ruby-talk:183042]
- * ruby_atomic.h (ATOMIC_PTR_EXCHANGE): atomic exchange function for
- a generic pointer.
+ * ext/win32ole/tests/test_propertyputref.rb: ditto.
-Thu Dec 5 10:47:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 15 23:02:47 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * gc.c (finalize_deferred): flush all deferred finalizers while other
- finalizers can get ready to run newly by lazy sweep.
- [ruby-core:58833] [Bug #9205]
+ * ext/win32ole/win32ole.c (fole_methods): The return value
+ of WIN32OLE#ole_methods should include PROPERTYPUTREF methods.
-Thu Dec 5 09:07:59 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/win32ole/win32ole.c (fole_put_methods): The return value
+ of WIN32OLE#ole_put_methods should include PROPERTYPUTREF methods.
- * gc.c (ruby_gc_set_params): Accept safe_level argument so GC tuning
- settings can be applied before rb_safe_level() is available.
- * internal.h (rb_gc_set_params): ditto.
- * ruby.c (process_options): Apply GC tuning early during boot process
- so boot-time allocations can benefit. This also benefits any code
- loaded in via `ruby -r`.
+ * ext/win32ole/tests/test_ole_methods.rb: ditto.
-Wed Dec 4 13:02:13 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/win32ole/tests/testall.rb : ditto.
- * vm_trace.c (rb_suppress_tracing): Fix initialization of stack
- allocated rb_trace_arg_t structure. Without this patch, sometimes
- INTERNAL_EVENT_GC would be skipped accidentally inside
- rb_threadptr_exec_event_hooks_orig().
+Wed Jun 14 18:23:28 2006 Eric Hodel <drbrain@segment7.net>
-Wed Dec 4 12:57:24 2013 Aman Gupta <ruby@tmm1.net>
+ * enum.c (enum_any): Documentation typo.
- * string.c (fstr_update_callback): Improve implementation in r43968
- based on feedback from @nagachika. In the existing case, we can
- return ST_STOP to prevent any hash modification. In the !existing
- case, set both key and value to the fstr.
+Wed Jun 14 15:01:09 2006 Eric Hodel <drbrain@segment7.net>
-Wed Dec 4 12:47:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser#warn): Don't print
+ warnings when -q is set.
- * lib/delegate.rb (Delegator#method_missing): ignore the target if not
- set, and delegate to global methods. [ruby-core:58572] [Bug #9155]
+Wed Jun 14 23:03:53 2006 Tanaka Akira <akr@m17n.org>
- * lib/delegate.rb (Delegator#respond_to_missing): ditto.
+ * configure.in: check sizeof(rlim_t).
+ check setrlimit.
- * lib/delegate.rb (SimpleDelegator#__getobj__): yield and return if
- not delegated but a block is given, like as Hash#fetch.
+ * process.c (proc_getrlimit): new method Process.getrlimit.
+ (proc_setrlimit): new method Process.setrlimit.
- * lib/delegate.rb (DelegateClass#__getobj__): ditto.
+ * ruby.h (NUM2ULL): new macro.
-Tue Dec 3 23:48:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jun 12 22:25:09 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: check malloc_size() availability.
+ * sprintf.c (rb_f_sprintf): adjust precision length to prevent
+ splitting multi-byte characters. [ruby-list:42389]
- * gc.c: use malloc_size() with malloc/malloc.h if available.
+Sun Jun 11 23:20:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 3 23:06:20 2013 Narihiro Nakamura <authornari@gmail.com>
+ * lib/optparse.rb (OptionParser::Arguable#getopts): pass self to the
+ parser.
- * object.c (rb_obj_clone): don't copy FL_WB_PROTECTED of a
- original object.
+Sun Jun 11 10:00:57 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Dec 3 22:32:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.h (write): not need to define on bcc.
- * hash.c (rb_hash_recursive): make similar (recursive) constructs
- return same hash value. execute recursively, and rewind to the
- topmost frame with an object which .eql? to the recursive
- object, if recursion is detected.
+Sun Jun 11 08:30:33 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (rb_hash): detect recursion for all `hash' methods. each
- `hash' methods no longer need to use rb_exec_recursive().
+ * lib/optparse.rb (OptionParser#getopts): new methods.
-Tue Dec 3 21:53:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 10 18:02:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (rb_catch_protect): new function similar to
- rb_catch_obj(), but protect from all global jumps like as
- rb_load_protect(), rb_protect(), etc.
+ * ext/bigdecimal/lib/bigdecimal/newton.rb (Newton::nlsolve): typo
+ fixed: raize -> raise. [ruby-talk:196608]
-Tue Dec 3 20:18:46 2013 Narihiro Nakamura <authornari@gmail.com>
+Thu Jun 8 14:19:17 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * object.c (rb_obj_clone): Protect FL_PROMOTED and FL_WB_PROTECTED
- flags of a destination object.
+ * win32/win32.[ch] (rb_w32_read, rb_w32_write): new functions.
+ use recv() and send() when fd is socket. fixed: [ruby-dev:28694]
-Tue Dec 3 20:16:38 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Jun 7 16:22:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_hash_rehash): use hash_alloc() instead of rb_hash_new(),
- to hide temporary object from ObjectSpace. [Bug #9187]
+ * lib/tempfile.rb (Tempfile::make_tmpname): put dot between
+ basename and pid. [ruby-talk:196272]
-Tue Dec 3 17:11:47 2013 Aman Gupta <ruby@tmm1.net>
+Wed Jun 7 14:53:04 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * load.c (features_index_add_single): Move loaded_features_index array values off
- the ruby heap. [Bug #9201] [ruby-core:58805]
- * load.c (loaded_features_index_clear_i): Clean up off-heap array structure.
- * vm.c (rb_vm_mark): Remove unnecessary mark_tbl for loaded_features_index.
- This improves minor GC time by 15% in a large application.
+ * win32/win32.c (errmap): add some winsock errors.
-Tue Dec 3 17:01:45 2013 Aman Gupta <ruby@tmm1.net>
+Wed Jun 7 11:34:38 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * include/ruby/ruby.h (struct RClass): Add wrapper struct around
- RClass->m_tbl with serial. This prevents double marking method
- tables, since many classes/modules can share the same method table.
- This improves minor mark time in a large application by 30%.
- * internal.h (struct method_table_wrapper): Define new
- wrapper struct with additional serial.
- * internal.h (RCLASS_M_TBL_INIT): New macro for initializing method
- table wrapper and st_table.
- * method.h (void rb_sweep_method_entry): Rename rb_free_m_table to
- rb_free_m_tbl for consistency
- * .gdbinit (define rb_method_entry): Update rb_method_entry gdb helper
- for new method table structure.
- * class.c: Use RCLASS_M_TBL_WRAPPER and
- RCLASS_M_TBL_INIT macros.
- * class.c (rb_include_class_new): Share WRAPPER between module and
- iclass, so serial can prevent double marking.
- * eval.c (rb_prepend_module): ditto.
- * eval.c (rb_using_refinement): ditto.
- * gc.c: Mark and free new wrapper struct.
- * gc.c (obj_memsize_of): Count size of additional wrapper struct.
+ * configure.in: add new configure option `--with-winsock2' for mingw.
-Tue Dec 3 14:05:49 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * win32/Makefile.sub (config.h): define USE_WINSOCK2 in config.h
+ instead of in CPPFLAGS.
- * array.c (rb_ary_uniq_bang): remove duplicate code.
+ * ext/socket/extconf.rb: determine whether to use winsock2 or not
+ by using with_config.
-Tue Dec 3 13:40:42 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Jun 7 10:45:10 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * array.c (ary_add_hash): set and return values because string keys
- will be frozen. [ruby-core:58809] [Bug #9202]
+ * win32/{configure.bat, setup.mak, Makefile.sub, win32.h}: add
+ new configure option `--with-winsock2'.
- * array.c (rb_ary_uniq_bang): ditto.
+ * win32/win32.c (StartSockets): ditto.
- * array.c (rb_ary_or): ditto.
+ * ext/socket/extconf.rb: ditto.
- * array.c (rb_ary_uniq): ditto.
+ * win32/win32.c (open_ifs_socket): new function.
- * test/ruby/test_array.rb: tests for above.
+ * win32/win32.c (StartSockets, rb_w32_socket): use open_ifs_socket()
+ instead of socket().
+ ifs socket support is backported from trunk.
- The patch is from normalperson (Eric Wong).
+Wed Jun 7 09:14:44 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 3 12:20:21 2013 Aman Gupta <ruby@tmm1.net>
+ * eval.c (rb_call0): binding for the return event hook should have
+ consistent scope. [ruby-core:07928]
- * string.c (rb_fstring): Use st_update instead of st_lookup +
- st_insert.
- * string.c (fstr_update_callback): New callback for st_update.
+ * eval.c (EXEC_EVENT_HOOK): trace_func may remove itself from
+ event_hooks. no guarantee for arbitrary hook deletion.
+ [ruby-dev:28632]
-Tue Dec 3 12:17:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jun 5 18:12:12 2006 Tanaka Akira <akr@m17n.org>
- * lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for
- NoMethodError when the original of alias is not found.
+ * ext/socket/socket.c (sock_s_unpack_sockaddr_in): reject
+ non-AF_INET/AF_INET6 sockaddr.
+ (sock_s_unpack_sockaddr_un): reject non-AF_UNIX sockaddr.
+ [ruby-dev:28691]
-Tue Dec 3 10:43:58 2013 Eric Hodel <drbrain@segment7.net>
+Sun Jun 4 20:40:19 2006 Tanaka Akira <akr@m17n.org>
- * ext/openssl/lib/openssl/buffering.rb: Return ASCII-8BIT strings from
- SSLSocket methods. [ruby-trunk - Bug #9028]
- * test/openssl/test_ssl.rb: Test for the above.
+ * ext/socket/socket.c: fix sockaddr_un handling.
+ [ruby-dev:28677]
-Tue Dec 3 09:42:27 2013 Eric Hodel <drbrain@segment7.net>
+Fri Jun 2 22:08:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rdoc: Update to RDoc master 900de99. Changes include:
+ * lib/forwardable.rb: RDoc typo fix from Jan Svitok
+ <jan.svitok at gmail.com>. [ruby-core:07943]
- Fixed documentation display of constants
+Fri Jun 2 19:02:09 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
- Fixed handling of unknown parsers
+ * ext/openssl/extconf.rb: use create_header.
- * test/rdoc: ditto.
+ * ext/openssl/ossl.h, ext/openssl/openssl_missing.h:
+ include RUBY_EXTCONF_H.
-Mon Dec 2 22:30:10 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Jun 2 17:16:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (getenv): fixed test failures introduced by r43950.
- [ruby-core:58774] [Bug #9195] reported by phasis68 (Heesob Park).
+ * lib/mkmf.rb (CLEANINGS): remove extconf.h by distclean if created.
-Mon Dec 2 21:49:19 2013 Masaki Matsushita <glass.saga@gmail.com>
+Fri Jun 2 00:11:19 2006 Tanaka Akira <akr@m17n.org>
- * hash.c (rb_hash_rehash): make temporary st_table under the control
- of GC. [Bug #9187]
+ * ext/socket/socket.c (s_recvfrom): alen may be zero with UNIXSocket
+ too. (tested on NetBSD 3.0)
+ (s_recvfrom_nonblock): extracted from sock_recvfrom_nonblock.
+ (sock_recvfrom_nonblock): use s_recvfrom_nonblock.
+ (ip_recvfrom_nonblock): new method: IPSocket#recvfrom_nonblock
+ (unix_recvfrom_nonblock): new method: UNIXSocket#recvfrom_nonblock
+ (s_accept_nonblock): extracted from sock_accept_nonblock.
+ (sock_accept_nonblock): use s_accept_nonblock.
+ (tcp_accept_nonblock): new method: TCPServer#accept_nonblock
+ (unix_accept_nonblock): new method: UNIXServer#accept_nonblock
- * test/ruby/test_hash.rb: add a test for above.
+Thu Jun 1 19:12:37 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Dec 2 17:23:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * win32/win32.c (rb_w32_cmdvector): backslashes inside single-quotes
+ no longer has special meanings. fixed: [ruby-list:42311]
- * variable.c (rb_mod_constants): when calling Module#constants with
- inherit=false, there is no need to use a hashtable to deduplicate
- constant names. [Feature #9196] [ruby-core:58786]
+Thu Jun 1 16:14:41 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Dec 2 14:16:52 2013 Eric Hodel <drbrain@segment7.net>
+ * win32/win32.c (rb_w32_getcwd): runtime's getcwd() will not success
+ if the length of the cwd is longer than MAX_PATH.
+ fixed [ruby-list:42335]
- * lib/net/smtp.rb (Net::SMTP#critical): Always return a
- Net::SMTP::Response. Patch by Pawel Veselov.
- [ruby-trunk - Bug #9125]
- * test/net/smtp/test_smtp.rb: Test for the above.
+Thu Jun 1 11:29:14 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Dec 2 05:52:33 2013 Eric Hodel <drbrain@segment7.net>
+ * win32/win32.c (rb_w32_getcwd): set errno if not set.
+ fixed [ruby-list:42346]
- * lib/rubygems: Update to RubyGems master baa965b. Notable changes:
+Sat May 27 11:29:46 2006 nobuyoshi nakada <nobu@ruby-lang.org>
- Copy directories to lib/ when installing extensions. This completes
- the fix for [ruby-trunk - Bug #9106]
+ * ext/extmk.rb (extmake): remove extinit files if no statically linked
+ extensions.
- * test/rubygems: ditto.
+Fri May 26 09:05:11 2006 nobuyoshi nakada <nobu@ruby-lang.org>
-Mon Dec 2 02:03:47 2013 Shota Fukumori <her@sorah.jp>
+ * ruby.h, lib/mkmf.rb (create_header): clear command line options for
+ macros moved to extconf.h.
- * test/ruby/test_case.rb (test_nomethoderror):
- Add test related to r43913, r43914
+ * ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
+ EXTSTATIC permanent.
-Mon Dec 2 00:53:01 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.
- * hash.c (getenv): use ANSI codepage version of getenv() for miniruby
- on Windows.
- [ruby-core:58732] [Bug #9189] reported by phasis68 (Heesob Park).
+ * {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
+ $(INCFLAGS).
-Sun Dec 1 22:14:27 2013 Zachary Scott <e@zzak.io>
+ * lib/mkmf.rb (configuration): add $defs unless extconf.h was created.
- * doc/contributors.rdoc: [DOC] Import contributors from redmine wiki
- Many wiki pages have become outdated and spam-ridden, we will import
- these to trunk and begin maintaining them in ruby-trunk. This will
- also allow new contributors to easily contribute patches to update
- these pages, where previously a redmine account with wiki access was
- required. Another bonus is having a contributors file to show thanks
- to all of the people who have submitted a patch to Ruby.
+Thu May 25 01:52:07 2006 nobuyoshi nakada <nobu@ruby-lang.org>
-Sun Dec 1 18:03:26 2013 Zachary Scott <e@zzak.io>
+ * lib/mkmf.rb (pkg_config): particular config commands support.
- * doc/maintainers.rdoc: [DOC] Current maintainers of Ruby
+ * ext/extmk.rb: deal with $static set in extconf.rb.
-Sun Dec 1 17:17:36 2013 Zachary Scott <e@zzak.io>
+ * mkconfig.rb: merge multiple entries to an entry with multiple lines.
- * doc/contributing.rdoc: [DOC] Current branch maintainers
+ * lib/mkmf.rb: allow a series of commands to link.
-Sun Dec 1 17:16:36 2013 Zachary Scott <e@zzak.io>
+ * win32/Makefile.sub: embed manifests.
- * doc/contributing.rdoc: [DOC] Reporting other (ruby-lang.org) issues
+ * win32/setup.mak: suffix OS name by runtime version.
-Sun Dec 1 17:15:51 2013 Zachary Scott <e@zzak.io>
+Wed May 24 23:52:11 2006 nobuyoshi nakada <nobu@ruby-lang.org>
- * doc/contributing.rdoc: [DOC] Current platform maintainers
+ * configure.in (ac_install_sh): ignore dummy install-sh.
+ [ruby-talk:193876]
-Sun Dec 1 17:14:55 2013 Zachary Scott <e@zzak.io>
+Wed May 24 03:10:48 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * doc/contributing.rdoc: [DOC] Reporting downstream distro issues
+ * ext/openssl/lib/openssl/ssl.rb
+ (OpenSSL::SSL::SocketForwarder#setsockopt,getsockopt): typo fixed.
-Sun Dec 1 14:37:20 2013 Masaki Matsushita <glass.saga@gmail.com>
+Mon May 22 17:54:12 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * hash.c (rb_hash_to_a): specify array capa.
+ * ext/socket/socket.c (sock_recvfrom_nonblock): use rb_read_pending
+ instead of rb_io_read_pending.
+ [ruby-dev:28663]
-Sun Dec 1 14:15:36 2013 Masaki Matsushita <glass.saga@gmail.com>
+Mon May 22 17:30:04 2006 Tanaka Akira <akr@m17n.org>
- * hash.c (rb_hash_rehash): fix to free new st_table when exception
- is raised in do_hash(). [Bug #9187]
+ * rubyio.h (rb_io_set_nonblock): declared.
-Sun Dec 1 11:57:59 2013 Zachary Scott <e@zzak.io>
+ * io.c (rb_io_set_nonblock): new function.
+ (io_getpartial): nonblocking read support.
+ (io_read_nonblock): new method: IO#read_nonblock.
+ (io_write_nonblock): new method: IO#write_nonblock.
- * ext/openssl/lib/openssl/buffering.rb: Fix warning in copyright
+ * ext/socket/socket.c
+ (sock_connect_nonblock): new method: Socket#connect_nonblock.
+ (sock_accept_nonblock): new method: Socket#accept_nonblock.
+ (sock_recvfrom_nonblock): new method: Socket#recvfrom_nonblock.
-Sun Dec 1 08:27:28 2013 Eric Hodel <drbrain@segment7.net>
+ [ruby-core:7917]
- * lib/rubygems: Update to RubyGems master 66e5c39. Notable changes:
+Mon May 22 15:57:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- Implement gem.deps.rb (Gemfile) .lock support
+ * eval.c (umethod_bind): should not update original class.
+ [ruby-dev:28636]
- Fixed `gem uninstall` for a relative directory in GEM_HOME.
+Mon May 22 13:38:57 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rubygems: ditto.
+ * eval.c (ev_const_get): should support constant access from
+ within instance_eval(). [ruby-dev:28327]
-Sun Dec 1 06:00:49 2013 Aman Gupta <ruby@tmm1.net>
+Thu May 18 17:51:32 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_gc.rb (test_gc_reason): Force minor GC by consuming
- free slots to fix test.
+ * time.c (time_timeval): should round for usec floating
+ number. [ruby-core:07896]
-Sat Nov 30 21:22:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * time.c (time_add): ditto.
- * dir.c (dir_initialize): check unknown keywords. [ruby-dev:47152]
- [Bug #8060]
+Thu May 18 17:11:45 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 30 18:05:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/cgi.rb (CGI::out): support utf-8. a patch from Fujioka
+ <fuj at rabbix.jp>. [ruby-dev:28649]
- * ext/win32ole/win32ole.c (hash2named_arg): correct declaration to fix
- build failure. a patch by phasis68 (Heesob Park) at
- [ruby-core:58710]. [Bug #9184]
+Thu May 18 00:42:12 2006 nobuyoshi nakada <nobu@ruby-lang.org>
-Sat Nov 30 17:46:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/extmk.rb, lib/mkmf.rb: use BUILD_FILE_SEPARATOR in Makefiles.
- * eval.c (ruby_cleanup): determine exit status and signal to terminate
- before finalization, to get rid of access destroyed T_DATA exception
- object. [ruby-core:58643] [Bug #9167]
+Wed May 17 17:55:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 30 16:25:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c (sys_warning): should not call a vararg function
+ rb_sys_warning() indirectly. [ruby-core:07886]
- * enumerator.c (enumerator_with_index): should not store local variable
- address to memoize the arguments. it is invalidated after the return.
- [ruby-core:58692] [Bug #9178]
+Wed May 17 08:17:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 30 13:28:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * util.c (ruby_strtod): try to reduce errors using powersOf10
+ table. [ruby-dev:28644]
- * siphash.c (sip_hash24): fix for aligned word access little endian
- platforms. [ruby-core:58658] [Bug #9172]
+Tue May 16 15:34:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 30 13:21:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * re.c (rb_reg_initialize): should not allow modifying literal
+ regexps. frozen check moved from rb_reg_initialize_m as well.
- * vm_eval.c (rb_yield_block): implement non-nil block argument.
+Tue May 16 09:20:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Nov 29 20:59:39 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * re.c (rb_reg_initialize): should not modify untainted objects in
+ safe levels higher than 3.
- * vm_dump.c (rb_vmdebug_debug_print_pre): Bugfix. Get PC directly.
- PC is cached into local stack and cfp->pc is incorrect at next of
- branch or jump.
- * vm_exec.h (DEBUG_ENTER_INSN): catch up this change.
- * vm_core.h: update signature of rb_vmdebug_debug_print_pre.
+ * re.c (rb_memcmp): type change from char* to const void*.
-Fri Nov 29 20:43:57 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * dir.c (dir_close): should not close untainted dir stream.
- * compile.c: Bugsfix for dump_disasm_list.
- rb_inspect denies a hidden object. So, insert wrapper that creates
- the unhidden one.
- adjust->label is null sometimes.
- insn_data_line_no makes no sense at all.
+ * dir.c (GetDIR): add tainted/frozen check for each dir operation.
-Fri Nov 29 18:06:45 2013 Shota Fukumori <her@sorah.jp>
+Mon May 15 17:42:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_case.rb (test_method_missing): Test for r43913.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_symbol_arg):
+ typo fixed. a patch from Florian Gross <florg at florg.net>.
-Fri Nov 29 17:53:22 2013 Shota Fukumori <her@sorah.jp>
+Sat May 13 16:14:05 2006 Tanaka Akira <akr@m17n.org>
- * vm_insnhelper.c (check_match): Fix SEGV with VM_CHECKMATCH_TYPE_CASE
- and class of `pattern` has `method_missing`
- [Bug #8872] [ruby-core:58606]
+ * lib/pp.rb (PP.mcall): new method.
+ (Struct#pretty_print): call Kernel#class and Struct#members even if
+ overridden.
+ (Struct#pretty_print_cycle): ditto.
+ [ruby-core:7865]
-Fri Nov 29 17:06:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu May 11 19:57:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (rb_yield_block): yield block with rb_block_call_func
- arguments.
+ * util.c (ruby_strtod): differ addition to minimize error.
+ [ruby-dev:28619]
- * range.c (range_each): use rb_yield_block.
+Fri Aug 11 15:39:25 2006 Eric Hodel <drbrain@segment7.net>
- * include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): constify argv.
+ * lib/yaml/tag.rb: Replace nodoc with stopdoc so Module methods get
+ documented.
- * enum.c (rb_enum_values_pack): ditto.
+Thu May 11 18:10:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (rb_block_call, rb_check_block_call): ditto.
+ * util.c (ruby_strtod): should not raise ERANGE when the input
+ string does not have any digits. [ruby-dev:28629]
- * include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): for declaration
- argument list of rb_block_call_func.
+Sun May 7 03:09:51 2006 Stephan Maka <stephan@spaceboyz.net>
-Fri Nov 29 11:26:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP#initialize):
+ Use AF_INET6 for nameservers containing colons.
- * include/ruby/ruby.h (rb_block_call_func): add blockarg. block
- function can take block argument, e.g., proc {|&blockarg| ...}.
+Sat May 6 00:38:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 28 21:43:48 2013 Zachary Scott <e@zzak.io>
+ * signal.c (trap): sig should be less then NSIG. Coverity found
+ this bug. a patch from Kevin Tew <tewk at tewk.com>.
+ [ruby-core:07823]
- * doc/dtrace_probes.rdoc: [DOC] Import dtrace probes doc from wiki
+Thu May 4 02:24:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 28 21:17:32 2013 Zachary Scott <e@zzak.io>
+ * ext/syck/emitter.c (syck_scan_scalar): avoid accessing
+ uninitialized array element. a patch from Pat Eyler
+ <rubypate at gmail.com>. [ruby-core:07809]
- * doc/contributing.rdoc: [DOC] Add heading above ChangeLog tips to
- setup entry for commits, its not required. Actually easier if
- contributors don't include a ChangeLog entry.
+ * array.c (rb_ary_fill): initialize local variables first. a
+ patch from Pat Eyler <rubypate at gmail.com>. [ruby-core:07810]
-Thu Nov 28 21:16:18 2013 Zachary Scott <e@zzak.io>
+ * ext/syck/yaml2byte.c (syck_yaml2byte_handler): need to free
+ type_tag. a patch from Pat Eyler <rubypate at gmail.com>.
+ [ruby-core:07808]
- * doc/contributing.rdoc: [DOC] Add coding style heading for patch
- rules
+Wed May 3 02:12:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 28 21:15:45 2013 Zachary Scott <e@zzak.io>
+ * ext/socket/socket.c (make_hostent_internal): accept ai_family
+ check from Sam Roberts <sroberts at uniserve.com>.
+ [ruby-core:07691]
- * doc/contributing.rdoc: [DOC] Add notes about deciding what to patch
+Mon May 1 12:23:19 2006 <sinara@blade.nagaokaut.ac.jp>
-Thu Nov 28 19:43:45 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * numeric.c (num_div): use floor rather than rb_Integer().
+ [ruby-dev:28589]
- * benchmark/bm_hash_flatten.rb: added. r43896 is about 4 times faster
- than 2.0.0p353.
+ * numeric.c (flo_divmod): the first element of Float#divmod should
+ be an integer. [ruby-dev:28589]
- * benchmark/bm_hash_keys.rb: added. r43896 is about 5 times faster
- than 2.0.0p353.
+ * test/ruby/test_float.rb: add tests for divmod, div, modulo and remainder.
- * benchmark/bm_hash_values.rb: added. r43896 is about 5 times faster
- than 2.0.0p353.
+Sat Apr 29 22:42:08 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Nov 28 19:29:04 2013 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl_asn1.c (ossl_asn1_decode0): should initialize
+ flag. [ruby-core:07785]
- * doc/contributing.rdoc: [DOC] Add notes about slideshow proposals
- from wiki page: HowToRequestFeatures
+Fri Apr 28 10:53:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 28 17:34:42 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * util.c (ruby_strtod): should not cut off 18 digits for no
+ reason. [ruby-core:07796]
- * st.c: add st_values() and st_values_check().
+ * util.c (ruby_strtod): fixed wrong conversion.
- * include/ruby/st.h: add prototypes for above.
+Thu Apr 27 01:38:10 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * hash.c (rb_hash_values): use st_values_check() for performance
- improvement if VALUE and st_data_t are compatible.
+ * array.c (rb_ary_fill): internalize local variable "beg" to
+ pacify Coverity. [ruby-core:07770]
-Thu Nov 28 17:14:14 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Apr 26 16:59:24 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * st.c (st_keys): fix not to use Qundef in st.c.
+ * pack.c (pack_unpack): now supports CRLF newlines. a patch from
+ <tommy at tmtm.org>. [ruby-dev:28601]
- * include/ruby/st.h: define modified prototype.
+Tue Apr 25 18:00:05 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * hash.c (rb_hash_keys): use modified st_keys().
+ * ext/tk/tcltklib.c (delete_slaves): maybe increment the reference
+ count of a NULL Tcl_Obj [ruby-core:07759].
-Thu Nov 28 16:34:43 2013 Aman Gupta <ruby@tmm1.net>
+Tue Apr 25 07:55:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c: Expose details about last garbage collection via GC.stat.
- * gc.c (gc_stat): Add :last_collection_flags for reason/trigger/type of
- last GC run.
- * gc.c (gc_prof_sweep_timer_stop): Record HAVE_FINALIZE GPR even
- without GC_PROFILE_MORE_DETAIL.
- * gc.c (gc_profile_flags): Add GC::Profiler.decode_flags to make sense
- of GC.stat[:last_collection_flags]
- * test/ruby/test_gc.rb (class TestGc): Test for above.
+ * lib/jcode.rb (String::tr_s): should have translated non
+ squeezing character sequence (i.e. a character) as well. thanks
+ to Hiroshi Ichikawa <gimite at gimite.ddo.jp> [ruby-list:42090]
-Thu Nov 28 16:15:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Apr 25 00:08:24 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * win32/win32.c (rb_w32_dup2): extract from rb_cloexec_dup2() and
- redirect_dup2().
+ * regex.c (re_compile_pattern): should check if c is not a
+ multibyte character. a patch from KIMURA Koichi
+ <kimura.koichi at canon.co.jp>. [ruby-dev:28598]
-Tue Nov 28 14:40:00 2013 Akira Matsuda <ronnie@dio.jp>
+Fri Apr 21 15:19:13 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/drb/ssl.rb: [Doc] Fix typo
+ * ext/tk/tcltklib.c (lib_eventloop_ensure): refer freed pointer
+ [ruby-core:07744] and memory leak.
-Thu Nov 28 13:56:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Apr 21 12:14:52 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * common.mk (Doxyfile): tool/file2lastrev.rb needs running with
- BASERUBY since r43617. [ruby-dev:47823] [Bug #9169]
+ * ext/socket/socket.c: document update patch from Sam Roberts
+ <sroberts at uniserve.com>. [ruby-core:07701]
-Thu Nov 28 09:18:39 2013 Koichi Sasada <ko1@atdot.net>
+Wed Apr 19 13:55:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * string.c (rb_fstring): fstrings should be ELTS_SHARED.
- If we resurrect dying objects (non-marked, but not swept yet),
- pointing shared string can be collected.
- To avoid such issue, fstrings (recorded to fstring_table)
- should not be ELTS_SHARED (should not have a shared string).
+ * parse.y (arg): too much NEW_LIST()
-Thu Nov 28 01:35:08 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.
- * st.c (st_keys): fix to use st_index_t for size of hash.
+Wed Apr 19 11:57:04 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 28 00:36:52 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.
+ [ruby-dev:28585]
- * st.c (st_keys): define st_keys(). it writes each key to buffer.
+ * parse.y (list_concat): revert last change.
- * hash.c (rb_hash_keys): use st_keys() for performance improvement
- if st_data_t and VALUE are compatible.
+ * parse.y (arg): use NODE_ARGSCAT for placeholder.
- * include/ruby/st.h: define macro ST_DATA_COMPATIBLE_P() to predicate
- whether st_data_t and passed type are compatible.
+Wed Apr 19 11:13:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: check existence of builtin function to use in
- ST_DATA_COMPATIBLE_P().
+ * lib/getoptlong.rb (GetoptLong::get): RDoc update patch from
+ mathew <meta at pobox.com>. [ruby-core:07738]
-Thu Nov 28 00:07:28 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Apr 19 10:13:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ruby_atomic.h: remove duplicate definitions between ATOMIC_XXX
- and ATOMIC_SIZE_XXX.
+ * variable.c (rb_const_set): raise error when no target klass is
+ supplied. [ruby-dev:28582]
-Wed Nov 27 23:55:50 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Apr 19 09:49:36 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ruby_atomic.h: define ATOMIC_SIZE_CAS() with
- __atomic_compare_exchange_n() and refactoring.
+ * parse.y (list_concat): should not modify nodes other than
+ NODE_ARRAY. [ruby-dev:28583]
-Tue Nov 27 21:43:00 2013 Akira Matsuda <ronnie@dio.jp>
+Tue Apr 18 17:40:37 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/irb/notifier.rb: [Doc] Fix typo
- * ext/json/lib/json/common.rb: Ditto.
+ * ext/tk/lib/multi-tk.rb: add a binding to a container for a slave IP.
-Tue Nov 27 18:04:57 2013 Akira Matsuda <ronnie@dio.jp>
+ * ext/tk/lib/tk.rb: update RELEASE_DATE.
- * lib/irb/notifier.rb: Fix typo
+ * ext/tk/tcltklib.c: forget to reset a Tcl interpreter.
-Wed Nov 27 17:54:57 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/stubs.c: fix potential bugs about handling rb_argv0.
- * gc.c (gc_mark_stacked_objects): check only when check_mode > 0.
+Tue Apr 18 00:11:21 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 27 16:07:19 2013 Aman Gupta <ruby@tmm1.net>
+ * eval.c: block_unique should be 1, not frame_unique.
+ [ruby-dev:28577]
- * test/ruby/test_gc.rb (class TestGc): Fix warning in
- test_expand_heap.
+Fri Aug 11 15:39:25 2006 Eric Hodel <drbrain@segment7.net>
-Wed Nov 27 15:55:52 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_body): Make RDoc
+ ignore C function prototypes. Patch by Tilman Sauerbeck
+ <tilman at code-monkey.de>. [ruby-core:8574]
+ * lib/yaml/tag.rb: Replace nodoc with stopdoc so Module methods get
+ documented.
- * gc.c (Init_GC): Add new GC::INTERNAL_CONSTANTS for information about
- GC heap/page/slot sizing.
- * test/ruby/test_gc.rb (class TestGc): test for above.
+Mon Apr 10 01:03:10 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 27 15:21:17 2013 Aman Gupta <ruby@tmm1.net>
+ * prec.c (prec_prec_f): documentation patch from
+ <gerardo.santana at gmail.com>. [ruby-core:07689]
- * gc.c (gc_page_sweep): Fix compile warning from last commit.
- * hash.c (hash_aset_str): Re-use existing variable to avoid
- unnecessary pointer dereferencing.
+Sat Apr 8 02:34:34 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 27 15:12:55 2013 Koichi Sasada <ko1@atdot.net>
+ * bignum.c (rb_big_pow): second operand may be too big even if
+ it's a Fixnum. [ruby-talk:187984]
- * gc.c (gc_page_sweep): disable debug print.
+Sat Apr 8 02:12:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 27 15:05:59 2013 Koichi Sasada <ko1@atdot.net>
+ * README.EXT: update symbol description. [ruby-talk:188104]
- * gc.c (gc_stat): add new information heap_eden_page_length and
- heap_tomb_page_length.
+Thu Apr 6 23:28:47 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_gc.rb: fix to use GC.stat[:heap_eden_page_length]
- instead of GC.stat[:heap_length].
- This test expects `heap_eden_page_length' (used pages size).
+ * COPYING: explicitly note GPLv2. [ruby-talk:187922]
-Wed Nov 27 15:02:53 2013 Aman Gupta <ruby@tmm1.net>
+Thu Apr 6 11:18:37 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/ruby/test_eval.rb (class TestEval): Use assert_same instead of
- assert_equal.
- * test/ruby/test_hash.rb (class TestHash): ditto.
- * test/ruby/test_iseq.rb (class TestISeq): ditto.
+ * ext/tk/lib/tk/panedwindow.rb: lack of arguments. [ruby-core:7681]
-Wed Nov 27 14:50:02 2013 Eric Hodel <drbrain@segment7.net>
+Thu Apr 6 01:04:47 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/rinda/ring.rb: Announce RingServer for the same process.
- [ruby-trunk - Bug #9163]
- * test/rinda/test_rinda.rb: Tests for the above.
+ * ext/tk/tcltklib.c: fix SEGV when embedding to an application.
+ [ruby-core:7600]
-Wed Nov 27 14:37:33 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/tk/tcltklib.c: fix SEGV at exit. [ruby-talk:186489]
- * test/ruby/test_eval.rb (class TestEval): Add test for shared eval
- filenames via rb_fstring().
- * test/ruby/test_iseq.rb (class TestISeq): Add test for shared
- iseq labels via rb_fstring(). [Bug #9159]
+ * ext/tk/tkutil/tkutil.c: follow to changing specification of
+ instance_eval on ruby-1.9.x.
-Wed Nov 27 14:24:55 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/tk/lib/tk.rb: ditto.
- * hash.c (hash_aset_str): Use rb_fstring() to de-duplicate hash string
- keys. Patch by Eric Wong. [Bug #8998] [ruby-core:57727]
- * test/ruby/test_hash.rb (class TestHash): test for above.
+ * ext/tk/lib/multi-tk.rb: ditto.
-Wed Nov 27 10:39:39 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/tk/lib/tk.rb: remove warning about redefinition of methods.
- * gc.c: Rename rb_heap_t members:
- used -> page_length
- limit -> total_slots
+ * ext/tk/lib/tk/variable.rb: remove warning about unseting Tcl
+ variables.
-Wed Nov 27 08:24:49 2013 Aman Gupta <ruby@tmm1.net>
+Wed Mar 29 20:54:44 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * compile.c: Use rb_fstring() to de-duplicate string literals in code.
- [ruby-core:58599] [Bug #9159] [ruby-core:54405]
- * iseq.c (prepare_iseq_build): De-duplicate iseq labels and source
- locations.
- * re.c (rb_reg_initialize): Use rb_fstring() for regex string.
- * string.c (rb_fstring): Handle non-string and already-fstr arguments.
- * vm_eval.c (eval_string_with_cref): De-duplicate eval source
- filename.
+ * ext/win32ole/win32ole.c (fole_getproperty): WIN32OLE#[] should accept
+ multi arguments.
-Wed Nov 27 07:13:54 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/win32ole/tests/testWIN32OLE.rb (test_setproperty_bracket): ditto.
- * ext/psych/lib/psych.rb: psych version 2.0.2
- * ext/psych/psych.gemspec: ditto
+Wed Mar 29 10:07:44 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Nov 27 06:40:18 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/nkf/nkf-utf8/nkf.c (nkf_each_char_to_hex, encode_fallback_subchar,
+ e2w_conv): support C90 compiler.
- * ext/psych/lib/psych/scalar_scanner.rb: fix support for negative
- years.
- * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
- * test/psych/test_date_time.rb: test for change.
- Fixes: https://github.com/tenderlove/psych/issues/168
+Wed Mar 29 06:48:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 27 04:46:55 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * eval.c (backtrace): reports aliased method names in a generated
+ backtrace. a patch from "U.Nakamura" <usa at garbagecollect.jp>.
+ [ruby-dev:28471]
- * ext/psych/lib/psych/scalar_scanner.rb: fix regexp for matching TIME
- strings.
- * test/psych/test_date_time.rb: test for change.
- Fixes: https://github.com/tenderlove/psych/issues/171
+Mon Mar 27 22:19:09 2006 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Nov 27 02:26:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/nkf/nkf-utf8/{nkf.c, utf8tbl.c, config.h}: imported nkf 2.0.6.
+ * Add --ic / --oc option and mapping tables.
+ * Add fallback option.
+ * Add --no-best-fit-chars option.
+ * Fix some bugs.
- * string.c (str_new4): copy the original capacity so that memsize of
- frozen shared string returns correct size.
+ * ext/nkf/nkf.c (nkf_split_options): added for parse option string.
-Wed Nov 27 02:20:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/nkf/lib/kconv.rb (Kconv.to*): add -m0.
+ Note that Kconv.to* still imply -X.
- * array.c (rb_ary_hash): should not ignore the rest of recursive
- constructs.
+Mon Mar 27 03:17:21 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * hash.c (rb_hash_hash): ditto.
+ * eval.c (rb_call0): insecure calling should be checked for non
+ NODE_SCOPE method invocations too.
- * range.c (range_hash): ditto.
+ * eval.c (rb_alias): should preserve the current safe level as
+ well as method definition.
- * struct.c (rb_struct_hash): ditto.
+Fri Mar 24 23:14:30 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/-ext-/test_recursion.rb (TestRecursion): separate from
- test/ruby/test_thread.rb.
+ * eval.c (yield_under_i): pass self again for instance_eval().
+ [ruby-dev:28466]
-Tue Nov 26 22:43:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Mar 24 17:20:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * hash.c (rb_hash): cut off if recursion detected to get rid of stack
- overflow. [ruby-core:58567] [Bug #9151]
+ * process.c (rb_f_sleep): remove description about SIGALRM which
+ is not valid on the current implementation. [ruby-dev:28464]
-Tue Nov 26 20:02:39 2013 Koichi Sasada <ko1@atdot.net>
+Thu Mar 23 10:47:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add tests for a_call/a_return
- by Brandur <brandur@mutelight.org> [Feature #9120]
+ * eval.c (method_missing): should support argument splat in
+ super. [ruby-talk:185438]
-Tue Nov 26 19:29:52 2013 Koichi Sasada <ko1@atdot.net>
+Mon Mar 20 12:05:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * common.mk: add useful config "set breakpoint pending on"
- for run.gdb.
+ * configure.in: Solaris SunPro compiler -rapth patch from
+ <kuwa at labs.fujitsu.com>. [ruby-dev:28443]
-Tue Nov 26 19:17:47 2013 Koichi Sasada <ko1@atdot.net>
+Mon Mar 20 09:40:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/objspace/object_tracing.c (newobj_i): skip class_path if class
- is frozen.
+ * configure.in: remove enable_rpath=no for Solaris.
+ [ruby-dev:28440]
- rb_class_path() can modify frozen classes (and causes errors).
- This patch is temporary. We need no-modification/no-allocation
- class path function.
+Fri Mar 17 19:08:49 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Nov 26 18:12:13 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: fix typo.
+ [ruby-core:07571]
- * vm_trace.c: skip "exception check" and "reentrant check (only normal
- events) for internal events.
+Wed Mar 15 16:54:21 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- Reentrant check for internal events are remaining.
+ * lib/mkmf.rb (create_makefile): support libraries without *.so.
-Tue Nov 26 17:38:16 2013 Koichi Sasada <ko1@atdot.net>
+Wed Mar 15 16:35:43 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_trace.c: prohibit to specify normal events and internal events
- simultaneously.
- I will introduce special care for internal events later.
+ * ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: should use
+ "rb_str_new(0, 0)" to make empty string.
- * ext/-test-/tracepoint/tracepoint.c: test this behavior.
+Sat Mar 11 14:24:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/-ext-/tracepoint/test_tracepoint.rb: ditto.
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::wrap): removed
+ space before argument parenthesis. [ruby-talk:183630]
-Tue Nov 26 16:30:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ruby.1: a clarification patch from David Lutterkort
+ <dlutter at redhat.com>. [ruby-core:7508]
- * file.c (rb_readlink): fix buffer overflow on a long symlink. since
- rb_str_modify_expand() expands from its length but not its capacity,
- need to set the length properly for each expansion.
- [ruby-core:58592] [Bug #9157]
+Sat Mar 4 15:26:40 2006 Tanaka Akira <akr@m17n.org>
-Tue Nov 26 14:23:17 2013 Aman Gupta <ruby@tmm1.net>
+ * gc.c (id2ref): fix symbol test.
- * ext/objspace/objspace_dump.c (dump_append_string_value): Escape
- control characters for strict json parsers.
- * ext/objspace/objspace_dump.c (objspace_dump): Document File/IO
- output option.
+Sat Mar 4 01:08:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Nov 26 11:43:19 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * lib/rdoc/ri/ri_paths.rb (RI::Paths): adding paths from rubygems
+ directories. a patch from Eric Hodel <drbrain at segment7.net>.
+ [ruby-core:07423]
- * ruby_atomic.h: use __atomic builtin functions supported by GCC.
- __sync family are legacy functions now and it is recommended
- that new code use the __atomic functions.
- http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
+Thu Mar 2 19:44:18 2006 Tanaka Akira <akr@m17n.org>
- * configure.in: check existence of __atomic functions.
+ * gc.c: align VALUE with sizeof(RVALUE) globally.
+ (is_pointer_to_heap): check alignment out of loop.
+ (id2ref): avoid collision between symbols and objects.
+ (rb_obj_id): ditto. moved from object.c.
+ [ruby-talk:178364] [ruby-core:7305]
-Tue Nov 26 10:57:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Mar 2 18:58:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.gemspec: revert Gem::Specification#date
- for snapshot/release tarballs.
+ * eval.c (rb_thread_fd_writable): should not re-schedule output
+ from KILLED thread (must be error printing).
-Tue Nov 26 06:42:50 2013 Aman Gupta <ruby@tmm1.net>
+Thu Mar 2 17:57:49 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * NEWS: Add ObjectSpace.after_gc_{start,end}_hook=
- * ext/objspace/objspace_dump.c: [DOC] catch up dump/dump_all to r43679
+ * gc.c: commited magic for reducing RVALUE size on windows. (24->20byte)
+ [ruby-core:7474]
-Tue Nov 26 04:12:10 2013 Eric Hodel <drbrain@segment7.net>
+Thu Mar 2 12:59:14 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/rubygems: Update to RubyGems master 612f85a. Notable changes:
+ * win32/win32.c (filetime_to_unixtime): should set tm_isdst to -1.
+ stat() didn't treat daylight saving time property on WinNT.
+ [ruby-talk:182100]
- Fixed installation and activation of git: and path: gems via
- Gem.use_gemdeps
+Thu Mar 2 08:02:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- Improved documentation coverage
+ * gc.c (add_heap): heap_slots may overflow. a patch from Stefan
+ Weil <weil at mail.berlios.de>.
- * test/rubygems: ditto.
+Wed Mar 1 00:24:31 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Mon Nov 25 22:23:03 2013 Zachary Scott <e@zzak.io>
+ * lib/rdoc/parsers/parse_rb.rb (read_escape): could not handle /\^/.
+ merged Mr. Ishizuka's lib/irb/ruby-lex.rb 's patch rev 1.29.
+ [ruby-talk:181631] [ruby-dev:28404]
- * lib/xmlrpc.rb: [DOC] Fix link to xmlrpc4r site [Bug #9148]
- Patch by Giorgos Tsiftsis
+Tue Feb 28 09:32:17 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Nov 25 19:48:10 2013 Zachary Scott <e@zzak.io>
+ * lib/drb/extservm.rb (invoke_service_command): cannot invoke command
+ if command name is quoted on mswin32. [ruby-dev:28400]
- * lib/uri/common.rb: [DOC] typo fixes by @vipulnsward [Fixes GH-456]
- https://github.com/ruby/ruby/pull/456
- * lib/uri/generic.rb: [DOC] ditto.
+Mon Feb 27 00:19:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Nov 25 14:34:42 2013 Zachary Scott <e@zzak.io>
+ * ruby.h (SYM2ID): should not cast to signed long.
+ [ruby-core:07414]
- * ext/bigdecimal/bigdecimal.gemspec: bump BigDecimal to 1.2.3 for
- proper release date in RubyGems
+Fri Feb 24 20:07:23 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Mon Nov 25 14:25:08 2013 Zachary Scott <e@zzak.io>
+ * test/drb/drbtest.rb (add_service_command): quote pathnames in the
+ server's command line for space contained directory names.
+ Thanks, arton. [ruby-dev:28386]
- * ext/bigdecimal/bigdecimal.gemspec: Remove Gem::Specification#date
- We should rely on rubygems to create the date the gem was released
- for each version.
+Fri Feb 24 12:11:08 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Nov 25 06:53:30 2013 Koichi Sasada <ko1@atdot.net>
+ * instruby.rb: install *.exe.manifest and *.dll.manifest if exist.
+ It's for VC++8.
- * internal.h: do not use ruby_sized_xrealloc() and ruby_sized_xfree()
- if HAVE_MALLOC_USABLE_SIZE (or _WIN32) is defined.
+Fri Feb 24 11:33:52 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- We don't need these function if malloc_usable_size() is available.
+ * bcc32/Makefile.sub (HAVE_HYPOT): bcc32 has hypot().
- * gc.c: catch up this change.
+Fri Feb 24 11:19:58 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c: define HAVE_MALLOC_USABLE_SIZE on _WIN32.
+ * time.c (time_new_internal): add prototype to tell the compiler
+ arugments types.
- * array.c (ary_resize_capa): do not use ruby_sized_xfree() with
- local variable to avoid "unused local variable" warning.
- This change only has few impact.
+ * win32/win32.c (NtInitialize): need to set a handler for VC++8.
- * string.c (rb_str_resize): ditto.
+Fri Feb 24 08:19:16 2006 NARUSE, Yui <naruse@ruby-lang.org>
-Mon Nov 25 05:05:04 2013 Koichi Sasada <ko1@atdot.net>
+ * test.rb: Removed. Obsolete by test/nkf.
- * test/-ext-/tracepoint/test_tracepoint.rb: catch up GC.stat changes
- at r43835.
+ * ext/.document: enabled documents in nkf and kconv
-Mon Nov 25 04:45:59 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/nkf/nkf.c ext/nkf/lib/kconv.rb: Add rdoc.
- * gc.c: continue to change OLDSPACE -> OLDMALLOC.
- RGENGC_ESTIMATE_OLDSPACE -> RGENGC_ESTIMATE_OLDMALLOC.
+Thu Feb 23 22:39:59 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c: add a new major GC reason GPR_FLAG_MAJOR_BY_OLDMALLOC.
+ * bcc32/Makefile.sub: use borlndmm.dll if possible. bcc32's RTL internal
+ memory manager cannot handle large memory block properly.
+ ex: 10000.times { "" << "." * 529671; GC.start } # crash
+ [ruby-dev:28230]
-Mon Nov 25 04:16:09 2013 Koichi Sasada <ko1@atdot.net>
+Thu Feb 23 13:20:28 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c: change terminology "..._num" to "..._slots" about slot operation.
- * final_num -> final_slots
- * objspace_live_num() -> objspace_live_slots()
- * objspace_limit_num() -> objspace_limit_slots()
- * objspace_free_num() -> objspace_free_slots()
+ * eval.c (SETUP_ARGS0): fixed memory corruption. [ruby-dev:28360]
-Mon Nov 25 04:03:12 2013 Koichi Sasada <ko1@atdot.net>
+Tue Feb 21 02:18:46 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (gc_stat): add internal information.
- * heap_swept_slot
- * malloc_increase
- * malloc_limit
- * remembered_shady_object
- * remembered_shady_object_limit
- * old_object
- * old_object_limit
- * oldmalloc_increase
- * oldmalloc_limit
+ * configure.in (mingw): have link. [ruby-list:41838]
- * gc.c (gc_stat): rename names.
- * heap_live_num -> heap_live_slot
- * heap_free_num -> heap_free_slot
- * heap_final_slot -> heap_final_slot
+ * win32/Makefile.sub (config.h): ditto.
- Quote from RDoc of GC.stat():
- "The contents of the hash are implementation specific and may
- be changed in the future."
+Tue Feb 21 02:07:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_gc.rb: catch up this change.
+ * parse.y (f_arglist): should set command_start = Qtrue for
+ command body. [ruby-talk:180648]
-Mon Nov 25 03:59:45 2013 Koichi Sasada <ko1@atdot.net>
+Mon Feb 20 17:37:26 2006 Tanaka Akira <akr@m17n.org>
- * test/ruby/test_gc.rb: catch up last commit.
- Now RUBY_GC_OLDSPACE_LIMIT(...) is RUBY_GC_OLDMALLOC_LIMIT(...).
+ * mkconfig.rb: alias RbConfig for Config.
-Mon Nov 25 03:10:46 2013 Koichi Sasada <ko1@atdot.net>
+Mon Feb 20 12:27:53 2006 Kent Sibilev <ksruby@gmail.com>
- * gc.c: change terminology OLDSPACE -> OLDMALLOC.
- (oldspace -> oldmalloc for variable names)
+ * lib/rational.rb (Integer::gcd): small typo fix.
+ [ruby-core:07395]
- OLDSPACE is confusing because it is not includes slots.
- To more clearly, rename such as (oldspace_limit -> oldmalloc_limit).
- It is clear that it measures (estimates) malloc()'ed size.
+Mon Feb 20 01:05:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Nov 25 00:50:03 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * lib/rational.rb (Integer::gcd): replaced by gcd4 in
+ [ruby-core:07390]. [ruby-core:07377]
- * internal.h: use __builtin_bswap16() if possible.
+Mon Feb 20 00:57:02 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * configure.in: check existence of __builtin_bswap16().
+ * ext/openssl/ossl.h (OSSL_Debug): should not use __func__.
+ [ruby-dev:28339]
-Sun Nov 24 22:24:19 2013 Tanaka Akira <akr@fsij.org>
+Sun Feb 19 04:46:29 2006 Guy Decoux <ts@moulon.inra.fr>
- * bignum.c (bigxor_int): Apply BIGLO for long in a BDIGIT expression.
- (bigor_int): Ditto.
- (bigand_int): Ditto.
+ * eval.c: initial value for block_unique must be 1.
+ [ruby-talk:180420]
-Sun Nov 24 18:13:23 2013 Tanaka Akira <akr@fsij.org>
+Sat Feb 18 23:58:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * include/ruby/defines.h (SIZEOF_ACTUAL_BDIGIT): Defined.
+ * lib/tracer.rb (Tracer::Tracer.add_filter): turn on tracer mode
+ only when caller() level size is one. [ruby-core:07389]
- * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Use
- SIZEOF_ACTUAL_BDIGIT instead of SIZEOF_BDIGITS.
- SIZEOF_BDIGITS can be different to sizeof(BDIGIT).
+ * lib/rdoc/parsers/parse_rb.rb: need not to require "tracer".
+ [ruby-core:07389]
-Sun Nov 24 13:49:08 2013 Tanaka Akira <akr@fsij.org>
+ * sample/rtags.rb: ditto.
- * include/ruby/defines.h: Don't use int128_t for Bignum.
- It's not always faster.
+Sat Feb 18 12:18:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c: Ditto.
+ * lib/fileutils.rb (FileUtils::fu_world_writable): make it
+ private. [ruby-core:07383]
-Sun Nov 24 10:18:15 2013 Aman Gupta <ruby@tmm1.net>
+Sat Feb 18 00:22:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * NEWS: Add details about new debugging features and APIs.
+ * lib/tracer.rb: merged a minor clarification patch from Daniel
+ Berger <Daniel.Berger at qwest.com>. [ruby-core:07376]
-Sun Nov 24 09:37:20 2013 Andrew Vit <andrew@avit.ca>
+Fri Feb 17 11:18:42 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/csv.rb: Optimize header hashes by freezing string keys.
- [ruby-core:58510]
+ * util.c (ruby_strtod): Float("1e") should fail. [ruby-core:7330]
-Sun Nov 24 09:18:06 2013 Aman Gupta <ruby@tmm1.net>
+ * pack.c (EXTEND32): unpack("l") did not work where sizeof(long) != 4.
+ [ruby-talk:180024]
- * ext/objspace/objspace_dump.c (dump_object): Use PRIuSIZE to print
- size_t for better win32 compatibility.
- * test/objspace/test_objspace.rb (test_dump_all): Hold reference to
- test string to avoid failure due to GC. Reduce size of failure message
- using grep(/TEST STRING/).
+ * pack.c (pack_unpack): fixed integer overflow on template "w".
+ [ruby-talk:180126]
-Sun Nov 24 08:38:00 2013 Kyle Stevens <kstevens715@gmail.com>
+Fri Feb 17 09:39:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/csv.rb: If skip_lines is set to a String, convert it to a Regexp
- to prevent the alternative, which is that each line in the CSV gets
- converted to a Regexp when calling skip_lines#match.
+ * eval.c (rb_thread_wait_for): sleep should always sleep for
+ specified amount of time. [ruby-talk:180067]
-Sun Nov 24 01:03:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Thu Feb 16 01:10:48 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_power): Use FIX2LONG instead
- of FIX2INT to avoid conversion error.
+ * eval.c (backtrace): frame->orig_func may not be initialized.
+ [ruby-core:07367]
-Sun Nov 24 00:44:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Feb 15 16:52:52 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): define by macros
- defined in defines.h, instead of complex and repeated expression.
+ * eval.c (rb_eval): NODE_OP_ASGN1 should allow splat in its
+ argument list. [ruby-core:07366]
-Sat Nov 23 22:22:26 2013 Tanaka Akira <akr@fsij.org>
+ * parse.y (arg): avoid unnecessary extra argument.
+ [ruby-core:07366]
- * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Limit the value to
- less than 8.
+ * eval.c (rb_eval): honor visibility on OP_ASGN1 and
+ OP_ASGN2. [ruby-core:07366]
-Sat Nov 23 19:52:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Wed Feb 15 10:09:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/lib/bigdecimal/math.rb (BigMath.E): Use BigMath.exp.
- [Feature #6857] [ruby-core:47130]
+ * eval.c (yield_under_i): should not pass self as an argument to
+ the block for instance_eval. [ruby-core:07364]
-Sat Nov 23 19:46:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Wed Feb 15 09:20:35 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Optimize the
- calculation algorithm to reduce the number of divisions.
- This optimization was proposed by Rafal Michalski.
- [Feature #6857] [ruby-core:47130]
+ * eval.c (rb_obj_instance_eval): should be no singleton classes for
+ true, false, and nil. [ruby-dev:28186]
-Sat Nov 23 19:20:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Tue Feb 14 18:48:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_div2): The signature was
- changed to allow us to pass arguments directly.
+ * eval.c (DMETHOD_P): accessing wrong frame. [ruby-dev:28181]
- * ext/bigdecimal/bigdecimal.c (BigDecimal_div3): Added for the role of
- the old BigDecimal_div2.
+ * eval.c (proc_invoke): preserve FRAME_DMETH flag.
-Sat Nov 23 12:31:00 2013 Koichi Sasada <ko1@atdot.net>
+Tue Feb 14 15:13:51 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c: fix global variable name.
- Now we have following environments (and related variable names).
+ * ext/zlib/zlib.c: supress warning on test/zlib. [ruby-dev:28323]
- * RUBY_GC_HEAP_INIT_SLOTS
- * RUBY_GC_HEAP_FREE_SLOTS
- * RUBY_GC_HEAP_GROWTH_FACTOR (new from 2.1)
- * RUBY_GC_HEAP_GROWTH_MAX_SLOTS (new from 2.1)
+Tue Feb 14 14:01:17 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * obsolete
- * RUBY_FREE_MIN -> RUBY_GC_HEAP_FREE_SLOTS (from 2.1)
- * RUBY_HEAP_MIN_SLOTS -> RUBY_GC_HEAP_INIT_SLOTS (from 2.1)
+ * time.c (search_time_t): support non 32bit time_t environments.
- * RUBY_GC_MALLOC_LIMIT
- * RUBY_GC_MALLOC_LIMIT_MAX (new from 2.1)
- * RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR (new from 2.1)
+ * win32/Makefile.sub (config.h): VC++8 has ``long long'' type.
- * RUBY_GC_OLDSPACE_LIMIT (new from 2.1)
- * RUBY_GC_OLDSPACE_LIMIT_MAX (new from 2.1)
- * RUBY_GC_OLDSPACE_LIMIT_GROWTH_FACTOR (new from 2.1)
+ * win32/Makefile.sub (config.h): VC++8's time_t is 64bit value.
- * test/ruby/test_gc.rb: catch up this change.
+ * win32/win32.c (rb_w32_utime): drop read-only attribute before
+ changing file time.
-Sat Nov 23 09:45:49 2013 Aman Gupta <ruby@tmm1.net>
+ all changes are backported from CVS HEAD.
- * marshal.c (w_object): Use HASH_PROC_DEFAULT directly from internal.h
+Tue Feb 14 11:21:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 23 08:43:23 2013 Aman Gupta <ruby@tmm1.net>
+ * io.c (argf_forward): should not use frame->argv.
+ [ruby-core:07358]
- * gc.c: Rename heap_pages_swept_num to heap_pages_swept_slots to
- clarify meaning (number of slots, not pages).
+Mon Feb 13 18:08:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 23 08:23:23 2013 Aman Gupta <ruby@tmm1.net>
+ * eval.c (rb_call0): argument update propagation. [ruby-dev:28044]
- * lib/set.rb (class SortedSet): Fix source_location for methods
- defined via eval.
+ * env.h: remove argv member from struct FRAME.
-Sat Nov 23 03:44:03 2013 Eric Hodel <drbrain@segment7.net>
+Mon Feb 13 13:27:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems: Update to RubyGems master dcce4ff. Important changes
- in this commit:
+ * eval.c (eval): should push class from binding if supplied.
+ [ruby-core:07347]
- Remove automatic detection of gem dependencies files. This prevents a
- security hole as described in [ruby-core:58490]
+Mon Feb 13 00:04:00 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- Fixed bugs for installing git gems.
+ * lib/erb.rb (ERB::Compiler): add instance variable @insert_cmd to
+ change <%='s behavior. (backported 1.15 - 1.16)
- * test/rubygems: ditto.
+Sat Feb 11 02:04:11 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Nov 22 22:30:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * eval.c (eval): no need to push ruby_class. [ruby-dev:28176]
- * ext/bigdecimal/bigdecimal.c (BigDecimal_power):
- Round the result value only if the precision is given.
+Sat Feb 11 01:57:44 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Nov 22 17:20:50 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (rb_f_autoload): check if ruby_cbase is nil (during
+ instance_eval for objects cannot have singleton classes,
+ e.g. fixnums and symbols). [ruby-dev:28178]
- * transcode.c (str_transcode0): don't scrub invalid chars if
- str.encode doesn't have explicit invalid: :replace.
- workaround fix for see #8995
+Tue Feb 7 23:03:24 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Nov 22 17:11:26 2013 Narihiro Nakamura <authornari@gmail.com>
+ * ext/zlib/zlib.c: should not access ruby objects in finalizer.
+ [ruby-dev:28286]
- * include/ruby/intern.h, internal.h: Expose rb_gc_count().
+Mon Feb 6 16:02:51 2006 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Nov 22 17:07:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * file.c (rb_thread_flock): ERROR_NOT_LOCKED is not an error on Cygwin.
+ In such situation, flock() should return 0.
- * ext/bigdecimal/bigdecimal.gemspec: version 1.2.2.
+Mon Feb 6 00:41:08 2006 Tanaka Akira <akr@m17n.org>
-Fri Nov 22 17:04:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * ruby.h (RSTRUCT_LEN, RSTRUCT_PTR): defined for source level
+ compatibility with ruby 1.9.
- * ext/bigdecimal/bigdecimal.c (BigDecimal_data_type):
- Use RUBY_TYPED_FREE_IMMEDIATELY only if it is available.
+Sun Feb 5 21:05:34 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Nov 22 16:49:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * numeric.c (fix_to_s): removed workaround for radix 2. Historically,
+ rb_fix2str could only handle radix 8, 10, 16. (Rev1.37) But for now,
+ it can handle radix 2..36. [ruby-Bugs#3438] [ruby-core:7300]
- * ext/bigdecimal/bigdecimal.c (BigDecimal_power): Round the result value.
- [Bug #8818] [ruby-core:56802]
+Sun Feb 5 18:55:08 2006 Minero Aoki <aamine@loveruby.net>
- * test/bigdecimal/test_bigdecimal.rb: Add a test for the above fix.
+ * lib/net/http.rb: imported from trunk, rev 1.129
-Fri Nov 22 16:25:43 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/net/http.rb (add_field, get_fields): keep 1.8.2 backward
+ compatibility.
- * gc.c (heap_set_increment): accept minimum additional page number.
+ * lib/net/https.rb: imported from trunk, rev 1.3.
- * gc.c (gc_after_sweep): allocate pages to allocate at least
- RUBY_HEAP_MIN_SLOTS.
- [Bug #9137]
+ * lib/net/https.rb: #use_ssl? definition moved from net/http.rb.
-Fri Nov 22 16:19:52 2013 Narihiro Nakamura <authornari@gmail.com>
+Sun Feb 5 14:22:15 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * include/ruby/intern.h (rb_gc_set_params): Deprecate
- rb_gc_set_params because it's only used in ruby internal.
+ * lib/pstore.rb: should return default value if name is not found.
+ [ruby-core:7304]
- * internal.h (ruby_gc_set_params): Declare rb_gc_set_params's
- alias function.
+ * lib/pstore.rb: should raise PStore::Error if not in transaction.
- * gc.c: ditto.
+Sat Feb 4 22:51:43 2006 Tanaka Akira <akr@m17n.org>
- * ruby.c: use ruby_gc_set_params.
+ * eval.c: apply the FreeBSD getcontext/setcontext workaround
+ only before FreeBSD 7-CURRENT.
-Fri Nov 22 14:55:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Sat Feb 4 21:19:23 2006 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Insert rb_thread_check_ints.
+ * win32/win32.c (LK_ERR): ERROR_NOT_LOCKED is not an error.
+ In such situation, flock() should return 0.
-Fri Nov 22 14:35:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Sat Feb 4 15:56:37 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix the inserting points
- of RB_GC_GUARDs.
+ * numeric.c (fix_to_s): (2**32).to_s(2) fails with exception where
+ sizeof(int) == 4 < sizeof(long). [ruby-core:7300]
-Fri Nov 22 14:31:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Fri Feb 3 15:06:50 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/bigdecimal/bigdecimal.c: Fix indentation.
+ * ext/syck/syck.c (syck_move_tokens): should reset p->cursor or etc
+ even if skip == 0. This causes buffer overrun.
+ (ex: YAML.load('--- "..' + '\x82\xA0' * 511 + '"'))
-Fri Nov 22 14:03:00 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Feb 2 23:51:18 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/nkf: merge nkf 2.1.3 2a2f2c5.
+ * ext/syck/emitter.c (syck_emitter_write): should not set '\0' on
+ emitter's marker. if marker points to the end of buffer, this causes
+ buffer overrun. (ex: YAML.dump("." * 12288))
-Fri Nov 22 12:43:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 2 16:01:24 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * util.c (ruby_strtod): ignore too long fraction part, which does not
- affect the result.
+ * eval.c (eval): need not to protect $SAFE value.
+ [ruby-core:07177]
-Fri Nov 22 12:17:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 2 14:45:53 2006 Ville Mattila <ville.mattila@stonesoft.com>
- * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#initialize):
- initialize of a module should pass arguments to super.
+ * configure.in: The isinf is not regognized by autoconf
+ library guesser on solaris 10. [ruby-core:7138]
-Fri Nov 22 12:02:58 2013 Tanaka Akira <akr@fsij.org>
+Wed Feb 1 22:01:47 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/ruby/test_settracefunc.rb: Ignore events from other threads.
+ * configure.in, hash.c (ruby_setenv): use setenv(3) and unsetenv(3)
+ where they are supported. modifing environ variable seems to
+ segfault solaris 10. [ruby-core:7276] [ruby-dev:28270]
-Fri Nov 22 10:35:57 2013 Koichi Sasada <ko1@atdot.net>
+ * ruby.c (set_arg0): if use setenv(3), environ space cannot be used
+ for altering argv[0].
- * vm.c (ruby_vm_destruct): do not use ruby_xfree() after freeing
- objspace.
+Tue Jan 31 14:46:28 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (ruby_mimfree): added. It is similar to ruby_mimmalloc().
+ * struct.c (rb_struct_select): update RDoc description.
+ [ruby-core:7254]
- * internal.h: ditto.
+Tue Jan 31 11:58:51 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Nov 22 09:42:35 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp#eval and bg_eval.
- * test/digest/test_digest.rb: Reverse order of assert_equal
- Reported by @splattael
+ * ext/tk/lib/tk/namespace.rb: TkNamespace#eval was enbugged at the
+ last commit. Now it will return a proper object.
-Fri Nov 22 09:03:16 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Jan 31 00:10:26 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c: fix build failure on FreeBSD introduced by r43763.
- malloc_usable_size() is defined by malloc_np.h on FreeBSD.
+ * ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV.
+ ex: ruby -ryaml -e 'YAML.load("!map:B {}")' [ruby-core:7217]
- * configure.in: check malloc.h and malloc_np.h.
+Sat Jan 28 07:56:57 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Nov 22 08:27:13 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/rdoc/usage.rb: support "a:0:33" style caller[-1]. In this case
+ file name is "a:0". I don't know this really happens though...
+ [ruby-Bugs:3344]
- * lib/rubygems: Update to RubyGems master 50a8210. Important changes
- in this commit:
+Wed Jan 25 22:29:04 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- RubyGems now automatically checks for gem.deps.rb or Gemfile when
- running ruby executables. This behavior is similar to `bundle exec
- rake`. This change may be reverted before Ruby 2.1.0 if too many bugs
- are found.
+ * configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use
+ system routine if provided. fixed: [ruby-core:07195]
- * test/rubygems: ditto.
+Sun Jan 22 23:27:13 2006 Go Noguchi <gonoguti@yahoo.co.jp>
-Thu Nov 21 22:33:59 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/test/unit/autorunner.rb (process_args): ignore arguments after
+ '--' so that test scripts can handle them. fixed: [ruby-dev:28258]
- * gc.c: RGENGC_CHECK_MODE should be 0.
+Sun Jan 22 22:09:52 2006 Tanaka Akira <akr@m17n.org>
-Thu Nov 21 21:40:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * eval.c (POST_GETCONTEXT): define separately from PRE_GETCONTEXT on
+ IA64 to avoid reusing variable address.
- * ext/bigdecimal/bigdecimal.c (VpAlloc): Fix the expr to adjust the size
- of the digit array.
+Sun Jan 22 20:03:35 2006 Tanaka Akira <akr@m17n.org>
-Thu Nov 21 21:36:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * eval.c (ruby_setjmp): define PRE_GETCONTEXT and POST_GETCONTEXT
+ instead of FUNCTION_CALL_MAY_RETURN_TWICE.
+ define PRE_GETCONTEXT to clear carry flag for workaround of
+ FreeBSD/i386 getcontext/setcontext bug.
+ [ruby-dev:28263]
- * ext/bigdecimal/bigdecimal.c (BigDecimal_sqrt): Fix the precision of
- the result BigDecimal of sqrt.
- [Bug #5266] [ruby-dev:44450]
+Sat Jan 21 00:36:47 2006 Tanaka Akira <akr@m17n.org>
- * test/bigdecimal/test_bigdecimal.rb: add tests for the above changes.
+ * eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): use only on SPARC and IA64
+ before gcc 4.0.3.
+ [ruby-dev:28247]
-Thu Nov 21 18:49:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jan 19 22:21:23 2006 Minero Aoki <aamine@loveruby.net>
- * gc.c (vm_xrealloc, vm_xfree): use malloc_usable_size() to obtain old
- size if available.
+ * lib/fileutils.rb (mv): should remove file after copying.
+ [ruby-dev:28223]
-Thu Nov 21 18:47:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jan 18 23:37:06 2006 Tanaka Akira <akr@m17n.org>
- * lib/delegate.rb (SimpleDelegator#__getobj__): target object must be set.
+ * eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): don't clobber %l7 of SPARC
+ if enable-shared.
+ (ruby_setjmp): call FUNCTION_CALL_MAY_RETURN_TWICE after getcontext
+ too.
+ reported by Pav Lucistnik and Marius Strobl.
+ http://lists.freebsd.org/pipermail/freebsd-sparc64/2006-January/003739.html
- * lib/delegate.rb (DelegateClass#__getobj__): ditto.
+Tue Jan 17 11:32:46 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Nov 21 18:28:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/setup.mak (MAKE): workaround for nmake 8.
- * lib/tempfile.rb (Tempfile#initialize): use class method to get rid
- of warnings when $VERBOSE.
+Tue Jan 17 11:10:21 2006 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Nov 21 17:43:29 2013 Koichi Sasada <ko1@atdot.net>
+ * win32/{Makefile.sub,setup.mak}: invoke .bat via shell. workaround
+ for nmake 8.
- * gc.c: rename initial_xxx variables to gc_params.xxx.
- They are not only used initial values.
+Mon Jan 16 10:26:23 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- Chikanaga-san: Congratulations on RubyPrize!
+ * ext/syck/emitter.c (syck_emit_seq, syck_emit_map, syck_emit_item):
+ should output complex key mark even if map's key is empty seq/map.
+ [ruby-core:7129]
-Thu Nov 21 17:16:00 2013 Koichi Sasada <ko1@atdot.net>
+Sat Jan 14 05:37:06 2006 Tanaka Akira <akr@m17n.org>
- * gc.c: enable "RGENGC_ESTIMATE_OLDSPACE" option as default.
- Without this option, some application consumes huge memory.
- (and there are only a few performance down)
+ * io.c (READ_DATA_PENDING, READ_DATA_PENDING_COUNT): defined
+ for DragonFly BSD 1.4.0.
- Introduced new environment variables:
- * RUBY_GC_HEAP_OLDSPACE (default 16MB)
- * RUBY_GC_HEAP_OLDSPACE_MAX (default 128 MB)
- * RUBY_GC_HEAP_OLDSPACE_GROWTH_FACTOR (default 1.2)
+Sat Jan 14 03:43:24 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c (initial_malloc_limit): rename to initial_malloc_limit_min.
+ * file.c (rb_file_s_chmod): avoid warning where sizeof(int) !=
+ sizeof(void*).
-Thu Nov 21 16:51:34 2013 Zachary Scott <e@zzak.io>
+Fri Jan 13 19:14:56 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/digest/bubblebabble/bubblebabble.c: Teach RDoc digest/bubblebabble
+ * lib/rdoc/diagram.rb:
+ - properly quote bare element attributes
+ - terminates dangling elements (e.g. <img>, <br>, <link>, etc)
+ - converts "CVS" to the more HTML-friendly acronym element
+ - adds missing type attributes to style elements
-Thu Nov 21 16:50:16 2013 Zachary Scott <e@zzak.io>
+ based on Paul Duncan's patch <pabs@pablotron.org> [ruby-core:7028]
- * test/digest/test_digest.rb: Add more tests for digest/bubblebabble
+ * lib/rdoc/generators/html_generator.rb: ditto.
+ * lib/rdoc/generators/template/html/hefss.rb: ditto.
+ * lib/rdoc/generators/template/html/html.rb: ditto.
+ * lib/rdoc/generators/template/html/kilmer.rb: ditto.
-Thu Nov 21 16:32:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jan 12 11:53:08 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/delegate.rb (Delegator#method_missing): try private methods defined in
- Kernel after the target. [Fixes GH-449]
+ * ext/tk/sample/tkballoonhelp.rb: [bug fix] couldn't add to a widget
+ which is constructed with TkComposite module.
+ [new feature] support 'command' option which is called just before
+ popping up the balloon help.
-Thu Nov 21 16:25:08 2013 Akinori MUSHA <knu@iDaemons.org>
+Wed Jan 11 15:00:00 2006 Ville Mattila <mulperi@iki.fi>
- * test/uri/test_generic.rb (URI#test_merge): Test uri + URI(path)
- in addition to uri + path.
+ * io.c (READ_PENDING*): Support solaris 64-bit environments.
+ Solaris defines a opaque FILE struct when compiling 64 bit
+ binaries. This means that we dont have access to _ptr etc.
+ members anymore. The solution by Steven Lumos is to define
+ FILE64 that has needed members available. I've modified
+ the origanal patch a bit so that it compiles both with gcc
+ and now free sun studio 11 compiler and both amd64 and sparc.
+ NOTE! We have to 64 bit solaris FILE structure time to time
+ otherwise we'll get breakage.
+ [ruby-core:7106]
-Thu Nov 21 15:36:08 2013 Zachary Scott <e@zzak.io>
+Tue Jan 10 19:42:33 2006 Tanaka Akira <akr@m17n.org>
- * ext/openssl/lib/openssl/buffering.rb: [DOC] Fix HEREDOC comment for
- OpenSSL::Buffering which breaks overview because of RDoc bug
+ * gc.c (garbage_collect): mark ruby_current_node.
+ if an exception is raised in a finalizer called written in C by
+ rb_gc_call_finalizer_at_exit, ruby_set_current_source may use
+ collected ruby_current_node and mark_source_filename may corrupt
+ memory.
-Thu Nov 21 14:46:57 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Jan 10 13:30:34 2006 akira yamada <akira@ruby-lang.org>
- * eval_intern.h (SAVE_ROOT_JMPBUF): workaround for the failure of
- test/ruby/test_exception.rb on Windows.
- wrap by __try and __exception statements on mswin to raise SIGSEGV
- when EXCEPTION_STACK_OVERFLOW is occurred, because MSVCRT doesn't
- handle the exception.
- however, (1) mingw-gcc doesn't support __try and __exception
- statements, and (2) we cannot retry SystemStackError after this
- change yet (maybe crashed) because SEH and longjmp() are too
- uncongenial.
+ * ext/syck/rubyext.c (syck_resolver_transfer): should be able to load
+ !ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159]
- * signal.c (check_stack_overflow, CHECK_STACK_OVERFLOW): now defined on
- Windows, too.
+Tue Jan 10 12:47:41 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * thread_win32.c (ruby_stack_overflowed_p): ditto.
+ * lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in
+ ruby 1.8.3/1.8.4. [ruby-core:6115]
-Thu Nov 21 14:18:24 2013 Zachary Scott <e@zzak.io>
+ * lib/yaml/rubytypes.rb (Numeric): Subclass of Numeric could not
+ be dumped properly. [ruby-core:7047]
- * object.c: [DOC] Clarify Object#dup vs #clone [Bug #9128]
- Moving existing doc for this comparison to separate section of #dup
- Adding examples to document behavior of #dup with Module#extend.
- Based on a patch by stevegoobermanhill
+Tue Jan 10 12:00:48 2006 Aaron Schrab <aaron @nospam@ schrab.com>
-Thu Nov 21 14:06:02 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/yaml/rubytypes.rb (Symbol#yaml_new): YAML loading of quoted
+ Symbols broken. [ruby-Bugs:2535]
- * gc.c (gc_marks_check): do not dump all refs.
+Mon Jan 9 19:54:35 2006 arton <artonx@yahoo.co.jp>
- * gc.c (allrefs_dump_i): fix output format.
+ * ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by
+ http://www.zlib.net/ has zdll.lib. [ruby-dev:28209]
-Thu Nov 21 13:43:07 2013 Koichi Sasada <ko1@atdot.net>
+Mon Jan 9 14:17:12 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c: change RGENGC_CHECK_MODE (>= 2) logic.
- Basically, make an object graph of all of living objects before and
- after marking and check status.
+ * win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag,
+ (VisualC++6) so use -O2b2xg- if $(MSC_VER) < 1400. [ruby-core:7040]
- [Before marking: check WB sanity]
- If there is a non-old object `obj' pointed from old object
- (`parent') then `parent' or `obj' should be remembered.
+Mon Jan 9 14:17:12 2006 Kero van Gelder <rubyforge @nospam@ kero.tmfweb.nl>
- [After marking: check marking miss]
- Traversible objects with the object graph should be marked.
- (However, this alert about objects pointed by machine context
- can be false positive. We only display alert.)
+ * lib/webrick/httpservlet/filehandler.rb: fixed typo. [ruby-core:7075]
- [Implementation memo]
- objspace_allrefs() creates an object graph.
- The object graph is represented by st_table, key is object (VALUE)
- and value is referring objects. Referring objects are stored by
- "struct reflist".
+Sat Jan 7 15:40:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (init_mark_stack): do not use push_mark_stack_chunk() at init.
- This pre-allocation causes failure on is_mark_stack_empty()
- without any pushing.
+ * parse.y (singleton): get rid of segfault on syntax error.
+ fixed: [ruby-core:07070]
-Thu Nov 21 13:40:20 2013 Zachary Scott <e@zzak.io>
+Fri Jan 6 10:16:20 2006 Steven Lumos <steven@lumos.us>
- * lib/observer.rb: [DOC] Clarify default observer method.
- By @edward [Fixes GH-450] https://github.com/ruby/ruby/pull/450
+ * io.c (READ_DATA_PENDING): defined for 64bit Solaris on SPARC.
+ [ruby-core:7057]
+ (READ_DATA_PENDING_COUNT): ditto.
+ (READ_DATA_PENDING_PTR): ditto.
-Thu Nov 21 13:32:53 2013 Zachary Scott <e@zzak.io>
+Sun Jan 1 17:07:59 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/openssl/ossl_engine.c: [DOC] Documentation for OpenSSL::Engine
- This patch is based off work by @vbatts in GH-436 completing the
- documentation for this class and its methods.
- https://github.com/ruby/ruby/pull/436
+ * win32/win32.c (rb_w32_seekdir): should not segfault even if passed
+ the location which rb_w32_telldir didn't return. [ruby-core:7035]
+ (I think HEAD implementation is better. but binary compatibility)
-Thu Nov 21 10:45:22 2013 Zachary Scott <e@zzak.io>
+ * test/ruby/test_dir.rb: added.
- * ext/openssl/lib/openssl/buffering.rb: Remove unused arguments from
- OpenSSL::Buffering.new [Fixes GH-445]
+Sat Dec 31 22:57:00 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 21 10:30:47 2013 Zachary Scott <e@zzak.io>
+ * eval.c (rb_thread_save_context): should not recycle scope object used
+ in a thread. fixed: [ruby-dev:28177]
- * test/digest/test_digest.rb: Add test for Digest::SHA256.bubblebabble
+Fri Dec 30 18:22:42 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 20 20:54:01 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * gc.c (garbage_collect): mark objects refered from aborting threads.
+ [ruby-dev:28190]
- * tool/instruction.rb : fix typo.
+ * win32/Makefile.sub: VC++8 support.
-Wed Nov 20 19:45:22 2013 Tanaka Akira <akr@fsij.org>
+Fri Dec 30 14:24:53 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * random.c (rand_init): Make it possible to specify arbitrary array
- for init_genrand().
+ * dir.c (glob_helper): do not use TRUE for djgpp.
-Wed Nov 20 17:34:13 2013 Koichi Sasada <ko1@atdot.net>
+Fri Dec 30 04:54:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * parse.y (rb_gc_mark_symbols): set global_symbols.minor_marked only
- when full_mark is 0.
- rb_gc_mark_symbols() (with full_mark == 1) can be called by other
- than GC (such as rb_objspace_reachable_objects_from_root()).
+ * file.c (eaccess): workaround for VC++8 runtime.
-Wed Nov 20 11:46:38 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * win32/win32.c (ioinfo): VC++8 support.
- * ext/json: merge JSON 1.8.1.
- https://github.com/nurse/json/compare/002ac2771ce32776b32ccd2d06e5604de6c36dcd...e09ffc0d7da25d0393873936c118c188c78dbac3
- * Remove Rubinius exception since transcoding should be working now.
- * Fix https://github.com/flori/json/issues/162 reported by Marc-Andre
- Lafortune <github_rocks@marc-andre.ca>. Thanks!
- * Applied patches by Yui NARUSE <naruse@airemix.jp> to suppress
- warning with -Wchar-subscripts and better validate UTF-8 strings.
- * Applied patch by ginriki@github to remove unnecessary if.
- * Add load/dump interface to JSON::GenericObject to make
- serialize :some_attribute, JSON::GenericObject
- work in Rails active models for convenient
- SomeModel#some_attribute.foo.bar access to serialised JSON data.
+Thu Dec 29 23:59:37 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 20 01:39:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_gc_mark_threads): leave unmarked threads which won't wake
+ up alone, and mark threads in the loading table. [ruby-dev:28154]
- * lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for
- NoMethodError when the original of alias is not found.
+ * eval.c (rb_gc_abort_threads), gc.c (gc_sweep): kill unmarked
+ threads. [ruby-dev:28172]
-Tue Nov 19 23:38:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 29 17:02:07 2005 Tanaka Akira <akr@m17n.org>
- * configure.in (--with-os-version-style): option to transform target
- OS version string.
+ * test/ruby/envutil.rb (EnvUtil.rubybin): search "ruby" instead of
+ "miniruby". [ruby-dev:28140]
-Tue Nov 19 21:27:33 2013 Tanaka Akira <akr@fsij.org>
+Tue Dec 27 16:59:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/net/http/utils.rb (spawn_server): Specify zero for port to
- avoid reusing an allocated port.
+ * test/drb/drbtest.rb (DRbService::self.ext_service): increase
+ timeout limit. a patch from Kazuhiro NISHIYAMA
+ <zn at mbf.nifty.com>. [ruby-dev:28132]
- * test/net/http/test_http.rb: Don't specify port here.
+Tue Dec 27 08:29:18 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/net/http/test_https.rb: Ditto.
+ * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_chech):
+ treat wildcard character in commonName. [ruby-dev:28121]
-Tue Nov 19 18:52:10 2013 Koichi Sasada <ko1@atdot.net>
+Mon Dec 26 22:32:47 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (heap_is_swept_object): use heap_page::before_sweep flag.
+ * eval.c (rb_eval), gc.c (gc_mark_children), node.h (NEW_ALIAS,
+ NEW_VALIAS), parse.y (fitem): allow dynamic symbols to
+ NODE_UNDEF and NODE_ALIAS.
+ backported from trunk. fixed: [ruby-dev:28105]
-Tue Nov 19 18:49:32 2013 Koichi Sasada <ko1@atdot.net>
+Mon Dec 26 08:50:36 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (rb_objspace_reachable_objects_from_root): do major marking.
+ * eval.c (ev_const_get): fixed a bug in constant reference during
+ instance_eval. [yarv-dev:707]
-Tue Nov 19 18:45:40 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (ev_const_defined): ditto.
- * gc.c (rb_gc_resurrect): added.
- rb_fstring() used rb_gc_mark() to avoid freeing used string.
- However, rb_gc_mark() set mark bit *and* pushes mark_stack.
- rb_gc_resurrect() does only set mark bit if it is before sweeping.
+ * lib/yaml.rb (YAML::add_domain_type): typo fixed. a patch from
+ Joel VanderWerf <vjoel at path.berkeley.edu>.
+ [ruby-talk:165285] [ruby-core:6995]
- * string.c (rb_fstring): use rb_gc_resurrect.
+Sat Dec 24 18:58:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * internal.h: add decl.
+ * stable version 1.8.4 released.
-Tue Nov 19 09:47:02 2013 Eric Hodel <drbrain@segment7.net>
+Fri Dec 23 10:30:23 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rdoc: Update to RDoc master a1195ce. Changes include:
+ * ext/digest/sha2/sha2.c (ULL): support AIX C. a patch from
+ Kailden <kailden at gmail.com>. [ruby-core:06984]
- Improved accessibility of the main sidebar navigation.
+Wed Dec 21 16:53:06 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- Fixed handling of regexp options in HTML source highlighting.
+ * file.c (w32_io_info): should return handle because FileIndex is
+ valid only while file is open. [ruby-dev:28088]
- * test/rdoc: ditto.
+Wed Dec 21 14:53:26 2005 Tanaka Akira <akr@m17n.org>
-Tue Nov 19 09:33:52 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/pathname.rb (test_kernel_open): use File.identical?.
+ [ruby-talk:171804]
- * lib/rubygems: Update to RubyGems master 6a3d9f9. Changes include:
+Tue Dec 20 22:41:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Compatibly renamed Gem::DependencyResolver to Gem::Resolver.
+ * eval.c (eval_under_i): evaluate source in caller's frame.
+ [ruby-dev:28076]
- Added support for git gems in gem.deps.rb and Gemfile.
+ * eval.c (rb_call_super): use original method name on exception.
+ [ruby-dev:28078]
- Fixed resolver bugs.
+Tue Dec 20 13:11:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/rubygems: ditto.
+ * ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62)
+ [ruby-dev:27839]
- * lib/rubygems/LICENSE.txt: Updated to license from RubyGems trunk.
- [ruby-trunk - Bug #9086]
+ * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is
+ NULL or not before S_FREE.
- * lib/rubygems/commands/which_command.rb: RubyGems now indicates
- failure when any file is missing. [ruby-trunk - Bug #9004]
+ * st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert
+ in gram.c to insert node from rb_syck_bad_anchor_handler into
+ SyckParser's hash table. if GC occurs in st_insert, it's not under
+ SyckParser's mark system yet. so RString can be released wrongly.
+ [ruby-dev:28057]
- * lib/rubygems/ext/builder: Extensions are now installed into the
- extension install directory and the first directory in the require
- path from the gem. This allows backwards compatibility with msgpack
- and other gems that calculate full require paths.
- [ruby-trunk - Bug #9106]
+Tue Dec 20 12:53:23 2005 why the lucky stiff <why@ruby-lang.org>
+ * ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility
+ with previous Ruby versions, documents are no longer headless.
-Tue Nov 19 07:21:56 2013 Tanaka Akira <akr@fsij.org>
+Tue Dec 20 01:46:48 2005 Tanaka Akira <akr@m17n.org>
- * configure.in (LOCALTIME_OVERFLOW_PROBLEM): Define it for cross
- compiling.
- [ruby-core:58391] [Bug #9119] Reported by Luis Lavena.
- Analyzed by Heesob Park.
+ * io.c (rb_f_backquote): fix a GC problem on
+ IA64 with gcc 4.0.3 20051216 (prerelease) -O3.
-Tue Nov 19 05:55:05 2013 Eric Hodel <drbrain@segment7.net>
+Mon Dec 19 23:32:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/rubygems_hook.rb: Remove debugging puts committed by
- accident.
+ * parse.y (rb_symname_p): fixed wrong validation. [ruby-dev:28047]
-Mon Nov 18 22:47:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 17 03:57:01 2005 Tanaka Akira <akr@m17n.org>
- * eval_intern.h (TH_PUSH_TAG, TH_EXEC_TAG): refine stack overflow
- detection. chain local tag after setjmp() successed on it, because
- calling setjmp() also can overflow the stack.
- [ruby-dev:47804] [Bug #9109]
+ * bignum.c (rb_big_rshift): fix a GC problem on
+ IA64 with gcc 4.0.3 20051216 (prerelease).
- * vm_eval.c (rb_catch_obj): now th->tag points previous tag until
- TH_EXEC_TAG().
+Sat Dec 17 03:30:23 2005 Tanaka Akira <akr@m17n.org>
- * thread_pthread.c (ruby_init_stack): set stack_start properly by
- get_main_stack() if possible.
+ * eval.c (bmcall): fix a GC problem by tail call on
+ IA64 with gcc 4.0.3 20051216 (prerelease).
-Mon Nov 18 22:45:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Dec 16 00:54:06 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * eval_jump.c (rb_exec_end_proc): unlink and free procs data before
- calling for each procs. [Bug #9110]
+ * signal.c (Init_signal): revert C++ style comment.
+ [ruby-dev:28041]
-Sun Nov 17 06:33:32 2013 Shota Fukumori <her@sorah.jp>
+Thu Dec 15 12:35:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: Use $LIBS for base of $SOLIBS, also in darwin.
- By this fix, environment that libgmp is located in $LIBS can build
- ruby.
+ * lib/tmpdir.rb: merged RDoc patch from Eric Hodel <drbrain at
+ segment7.net>. [ruby-core:06894]
-Sun Nov 17 01:56:32 2013 Tanaka Akira <akr@fsij.org>
+Thu Dec 15 01:33:31 2005 Tanaka Akira <akr@m17n.org>
- * thread_pthread.c (rb_thread_create_timer_thread): Show error
- message instead of error number.
- (thread_create_core): Ditto.
+ * ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on
+ x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4)
- * cont.c (fiber_machine_stack_alloc): Ditto.
+Wed Dec 14 12:11:46 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Nov 16 18:28:08 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/gdbm/test_gdbm.rb: specify pid for the argument of
+ Process.wait. workaround for Cygwin.
- * lib/rexml/parsers/ultralightparser.rb
- (REXML::Parsers::UltraLightParser#parse): Fix wrong :start_doctype
- position.
- [Bug #9061] [ruby-dev:47778]
- Patch by Ippei Obayashi. Thanks!!!
+Wed Dec 14 12:01:26 2005 Tanaka Akira <akr@m17n.org>
- * test/rexml/parser/test_ultra_light.rb: Add a test for this case.
+ * marshal.c (r_object0): fix a GC problem for reading a bignum on
+ IA64 with gcc 3.3.5 (Debian 1:3.3.5-13).
-Sat Nov 16 02:13:56 2013 Masaya Tarui <tarui@ruby-lang.org>
+Tue Dec 13 12:23:47 2005 Tanaka Akira <akr@m17n.org>
- * cont.c : Introduce ensure rollback mechanism. Please see below.
+ * re.c (rb_reg_regcomp): fix a GC problem on x86_64 with
+ gcc 3.3.5 (Debian 1:3.3.5-13).
- * internal.h (ruby_register_rollback_func_for_ensure): catch up above change.
- Add rollback mechanism API.
+Tue Dec 13 01:44:16 2005 Tanaka Akira <akr@m17n.org>
- * vm_core.h (typedef struct rb_vm_struct): catch up above change.
- Introduce ensure-rollback relation table.
+ * array.c (rb_ary_diff): fix a GC problem on IA64 with
+ gcc 3.3.5 (Debian 1:3.3.5-13).
+ When rb_ary_push is called, there was no register which contains
+ `hash' but `&RHASH(hash)->tbl' instead.
- * vm_core.h (typedef struct rb_thread_struct): catch up above change.
- Introduce ensure stack.
+Tue Dec 13 00:08:09 2005 Tanaka Akira <akr@m17n.org>
- * eval.c (rb_ensure): catch up above change.
- Introduce ensure stack.
+ * sprintf.c (rb_str_format): fix a GC problem.
+ [ruby-dev:28001]
- * hash.c : New function for rollback ensure, and register it to
- ensure-rollback relation table. [ruby-dev:47803] [Bug #9105]
+Mon Dec 12 15:54:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- Ensure Rollback Mechanism:
- A rollback's function is a function to rollback a state before ensure's
- function execution.
- When the jump of callcc is across the scope of rb_ensure,
- ensure's functions and rollback's functions are executed appropriately
- for keeping consistency.
+ * test/openssl/test_ssl.rb (test_parallel): call GC.start to close
+ unused files. [ruby-dev:27981]
- Current API is unstable, and only internal use.
+Mon Dec 12 00:33:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- ruby_register_rollback_func_for_ensure(ensure_func,rollback_func)
- This API create relation ensure's function to rollback's function.
- By registered rollback's function, it is executed When jumping into
- corresponding rb_ensure scope.
+ * ext/digest/digest.c (rb_digest_base_s_digest): add volatile to
+ protect temporary context object. [ruby-dev:27979]
-Sat Nov 16 00:18:36 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should
+ be called before actual variable initialization.
+ [ruby-dev:27986]
- * eval_jump.c (rb_exec_end_proc): fix double free or corruption error
- when reentering by callcc. [ruby-core:58329] [Bug #9110]
+Fri Dec 9 23:31:02 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_beginendblock.rb: test for above.
+ * lib/rexml/encoding.rb (encoding=): give priority to particular
+ conversion to iconv. [ruby-core:06520]
-Fri Nov 15 01:06:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 8 02:07:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/objspace/objspace_dump.c (dump_output): allow IO object as
- output, and use Tempfile.create and return open file instead of
- mkstemp() and path name for :file output.
- [ruby-core:58266] [Bug #9102]
+ * eval.c (umethod_bind): adjust invoking class for module method.
+ [ruby-dev:27964]
- * test/objspace/test_objspace.rb (TestObjSpace#dump_my_heap_please):
- remove temporary output file.
+Thu Dec 8 00:40:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 14 23:39:00 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * eval.c (call_trace_func): klass parameter should be a
+ class/module that defines calling method. [ruby-talk:169307]
- * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] remove example of
- Rational#to_d without argument. [Bug #8958]
+Wed Dec 7 17:10:27 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Thu Nov 14 20:24:15 2013 Naohisa Goto <ngotogenome@gmail.com>
+ * sprintf.c (rb_f_sprintf): [ruby-dev:27967]
- * ruby_atomic.h (ATOMIC_SIZE_CAS): fix compile error on Solaris
- since r43460.
+Wed Dec 7 15:31:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 14 19:53:00 2013 Tanaka Akira <akr@fsij.org>
+ * sprintf.c (rb_str_format): integer overflow check added.
- * test/openssl/test_cipher.rb (test_aes_gcm_wrong_tag): Don't use
- String#succ because it can make modified (wrong) auth_tag longer
- than 16 bytes. The longer auth_tag makes that
- EVP_CIPHER_CTX_ctrl (and internally aes_gcm_ctrl) fail.
- [ruby-core:55143] [Bug #8439] reported by Vit Ondruch.
+ * sprintf.c (GETASTER): ditto.
-Thu Nov 14 11:33:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 7 01:02:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * hash.c (foreach_safe_i, hash_foreach_iter): deal with error detected
- by ST_CHECK.
+ * ext/tk/README.macosx-aqua: [new document] tips to avoid the known
+ bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.
- * st.c (st_foreach_check): call with non-error argument in normal case.
+ * ext/tk/tcltklib.c: fix bug on switching threads and waiting on the
+ deleted interpreter on vwait and tkwait command.
-Thu Nov 14 02:37:14 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
+ interpreter.
- * ext/thread/thread.c: [DOC] This patch accomplishes the following:
+ * ext/tk/sample/demos-jp/image3.rb: [bug fix] wrong argument.
- - Teach RDoc about ConditionVariable
- - Teach RDoc about Queue
- - Teach RDoc about SizedQueue
- - Use fully-qualified namespace for Document-method
- This is necessary to separate definitions between classes
- - Fix rdoc bug in call_seq vs. call-seq
- - Correct doc for SizedQueue#pop patch by @jackdanger [Bug #8988]
+ * ext/tk/sample/demos-en/image3.rb: ditto.
-Thu Nov 14 01:11:54 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/sample/demos-jp/menu.rb: fix message for MacOS X.
- * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] +precision+ is required
+ * ext/tk/sample/demos-jp/menu8x.rb: ditto.
-Wed Nov 13 19:21:36 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/sample/demos-en/menu.rb: ditto.
- * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] Document the required
- +precision+ argument for Rational#to_d [Bug #8958]
+Tue Dec 6 16:37:57 2005 Yuya Nishida <yuya@j96.org>
-Wed Nov 13 19:02:05 2013 Zachary Scott <e@zzak.io>
+ * eval.c (exec_under): avoid accessing ruby_frame->prev.
+ [ruby-dev:27948]
- * ext/digest/*: [DOC] Fix several typos and broken http links.
- Improved examples for Digest overview and fixed a broken example in
- Digest::HMAC overview. This patch also adds a description of
- Digest::SHA256.bubblebabble to the Digest overview.
+Thu Dec 1 00:50:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Patched by @stomar [Bug #9027]
+ * eval.c (rb_funcall2): allow to call protected methods.
+ fixed: [ruby-dev:27890]
-Wed Nov 13 18:32:12 2013 Zachary Scott <e@zzak.io>
+Wed Nov 30 23:52:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_config.c: [DOC] Document the following:
+ * parse.y (NEWHEAP, ADD2HEAP): set count after pointer was set.
+ fixed: [ruby-dev:27896]
- - OpenSSL::ConfigError
- - OpenSSL::Config::DEFAULT_CONFIG_FILE
+Wed Nov 30 13:43:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- Patched by @vbatts via GH-436
- https://github.com/ruby/ruby/pull/436
+ * misc/ruby-mode.el (ruby-expr-beg): support $! at the end of
+ expression. [ruby-dev:27868]
-Wed Nov 13 18:03:00 2013 Zachary Scott <e@zzak.io>
+Mon Nov 28 18:55:43 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/openssl/ossl_asn1.c: [DOC] Document parts of
- OpenSSL::ASN1::ObjectId included a fix for the class overview, which
- previously showed the documentation for Constructive due to missing
- ObjectId overview. This patch also includes a note for Primitive.
+ * ext/socket/socket.c (init_inetsock_internal): remove setting
+ SO_REUSEADDR option on server socket on Cygwin.
+ fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ])
- Based on a patch by @vbatts via GH-436
- https://github.com/ruby/ruby/pull/436
+Mon Nov 28 13:08:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Nov 13 17:19:36 2013 Zachary Scott <e@zzak.io>
+ * win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken
+ error message on bccwin32 + winsock)
- * ext/openssl/lib/openssl/config.rb: In #parse use +string+ for +str+
+Mon Nov 28 09:21:49 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Nov 13 17:09:45 2013 Zachary Scott <e@zzak.io>
+ * lib/mkmf.rb (create_makefile): should not change sodir with
+ dir.gsub!. (bccwin32 failed to install third party exntesions)
+ [ruby-dev:27834]
- * ext/openssl/lib/openssl/*.rb: [DOC] Document the following:
+Sun Nov 27 00:56:13 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- - Integer#to_bn
- - OpenSSL::Buffering module
- - Deprecated OpenSSL::Digest::Digest compatibility class
- - OpenSSL::Config
+ * lib/wsdl/xmlSchema/complexContent.rb: missing
+ ComplexContent#elementformdefault method.
- These changes were based on a patch by @vbatts via GH-436
- https://github.com/ruby/ruby/pull/436
+Sat Nov 26 19:57:45 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Wed Nov 13 10:55:43 2013 Zachary Scott <e@zzak.io>
+ * dln.c (conv_to_posix_path): should initialize posix.
- * doc/regexp.rdoc: [DOC] Fix typo in Special global variables section.
- Reported by Alex Johnson on ruby-doc.org
+Thu Nov 24 21:05:58 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Nov 13 10:43:19 2013 Zachary Scott <e@zzak.io>
+ * configure.in (AC_CHECK_FUNCS): need to check link().
+ fixed: [ruby-dev:27814]
- * hash.c: [DOC] Adds an example for Hash#store
+Thu Nov 24 01:22:25 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Nov 13 09:03:40 2013 Zachary Scott <e@zzak.io>
+ * file.c (w32_io_info): CreateFile failed on Win9x if file was already
+ opened. (FILE_SHARE_READ was needed, but actually I don't understand
+ the flags of CreateFile well...)
- * doc/regexp.rdoc: [DOC] add note about Bug #4044 as suggested by
- duerst-san in [ruby-core:43612] [Fixes GH-443] Patched by @rosenfeld
- https://github.com/ruby/ruby/pull/443
+Wed Nov 23 20:59:01 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Nov 12 10:15:14 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get
+ [Tk8.5 feature].
- * test/rubygems/insure_session.rb: Remove unused test file.
+ * ext/tk/lib/tk/text.rb: supports new indices modifires on a Text
+ widget [Tk8.5 feature].
-Tue Nov 12 09:16:24 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent.
- * lib/rubygems: Update to RubyGems master b9213d7. Changes include:
+ * ext/tk/lib/tk/autoload.rb: ditto.
- Fixed tests on Windows (I hope) by forcing platform for
- platform-dependent tests.
+ * ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5
+ feature].
- Fixed File.exists? warnings.
+Wed Nov 23 18:55:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- Improved testing infrastructure.
+ * file.c (w32_io_info): should not call GetFileInformationByHandle
+ for pipe.
- * test/rubygems: ditto.
+ * file.c (w32_io_info): checks return value from rb_w32_get_osfhandle.
- * test/rdoc/test_rdoc_rubygems_hook.rb: Switch to util_spec like
- RubyGems.
+ * file.c (w32_io_info): now can identify directory on WinNT.
-Mon Nov 11 18:31:12 2013 Aman Gupta <ruby@tmm1.net>
+Wed Nov 23 03:40:49 2005 Guy Decoux <ts@moulon.inra.fr>
- * internal.h: move common string/hash flags to include file.
- * ext/objspace/objspace_dump.c: remove flags shared above.
- * hash.c: ditto.
- * string.c: ditto.
+ * re.c (KR_REHASH): should cast to unsigned for 64bit CPU.
+ [ruby-core:06721]
-Mon Nov 11 04:36:14 2013 Eric Hodel <drbrain@segment7.net>
+Wed Nov 23 11:01:33 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/rubygems/specification.rb: Include 2.2.0.preview.2 when checking
- if extensions should be built. Fixes a ruby-ci failure.
- * test/rubygems/test_gem_specification.rb: Test for the above.
+ * intern.h, file.c: failed to compile on windows.
-Mon Nov 11 03:15:56 2013 Koichi Sasada <ko1@atdot.net>
+Wed Nov 23 07:26:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_trace.c (symbol2event_flag): add secret feature.
- add a_call/a_return events.
- a_call is call | b_call | c_call, and same as a_return.
+ * ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.
-Mon Nov 11 02:51:17 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use
+ OPENSSL_malloc to allocate X509V3_CTX.
- * lib/rubygems: Update to RubyGems master 4bdc4f2. Important changes
- in this commit:
+ * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): use
+ X509V3_EXT_nconf_nid to avoid SEGV (and to build extensions which
+ values are placed in separate section).
- RubyGems now chooses the test server port reliably. Patch by akr.
+ * test/openssl/test_x509ext.rb: new file.
- Partial implementation of bundler's Gemfile format.
+Wed Nov 23 01:22:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Refactorings to improve the new resolver.
+ * file.c (test_identical): test if two files are identical.
- Fixes bugs in the resolver.
+ * file.c (rb_f_test): support DOSISH systems where st_ino is not
+ reliable. fixed: [ruby-core:06672]
- * test/rubygems: Tests for the above.
+ * win32.h, win32.c (rb_w32_osid): check the running platform.
-Mon Nov 11 01:02:06 2013 Zachary Scott <e@zzak.io>
+Tue Nov 22 23:52:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/timeout.rb: [DOC] Add note about change from #8730 [Fixes GH-440]
- * NEWS: [DOC] Improve grammar on change to Timeout
- Patched by @srawlins in https://github.com/ruby/ruby/pull/440
+ * lib/optparse.rb: match incomplete (in current enconding) multibyte
+ string. http://inamode6.tokuhirom.dnsalias.org/show/1551
-Sun Nov 10 23:47:05 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Tue Nov 22 18:36:11 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c (rb_gcdebug_print_obj_condition): catch up recent changes
- to compile on GC_DEBUG.
+ * win32/win32.c (winnt_stat): set mapped errno instead of ENOENT.
-Sun Nov 10 22:16:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 22 14:46:57 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * error.c (exc_cause): captured previous exception.
+ * file.c (rb_file_s_basename): skip slashes just after UNC top slashes.
- * eval.c (make_exception): capture previous exception automagically.
- [Feature #8257]
+ * test/ruby/test_path.rb (test_dirname, test_basename): follow new
+ spec. and add new tests.
-Sun Nov 10 08:37:20 2013 Zachary Scott <e@zzak.io>
+Tue Nov 22 13:18:32 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * thread.c: [DOC] Remove duplicate reference
+ * win32/win32.c (rb_w32_stat): Dir.chdir('//server/shared');
+ p Dir.glob('*') should work on WinNT. (implemented our own
+ stat(2) on WinNT) [ruby-list:41552] [ruby-dev:27711]
-Sun Nov 10 08:09:29 2013 Zachary Scott <e@zzak.io>
+Tue Nov 22 02:31:53 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/drb/drb.rb: [DOC] promote better windows-safe filename regular
- expression in DRb Logger example. Reported by Chris Pheonix
- [Bug #9074]
+ * ext/tk/lib/tkextlib/tile.rb: bug fix (Tk::Tile::USE_TTK_NAMESPACE
+ is not defined).
-Sun Nov 10 08:03:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 22 01:45:21 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (rb_define_finalizer, rb_undefine_finalizer): rename and export
- finalizer functions.
+ * file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but
+ DOSISH is not. fixed: [ruby-dev:27797]
-Sun Nov 10 07:41:22 2013 Zachary Scott <e@zzak.io>
+Mon Nov 21 22:50:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/weakref.rb: [DOC] fix typos by @xaviershay [Fixes GH-439]
- https://github.com/ruby/ruby/pull/439
+ * file.c (rb_path_skip_prefix, rb_file_s_basename): UNC without path
+ should not be splitted. fixed: [ruby-dev:27776] [ruby-dev:27786]
-Sun Nov 10 06:14:39 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * parse.y (dsym): prohibit empty symbol literal by interpolation.
+ fixed: [ruby-talk:166529]
- * compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze
- method is called on a static string literal with no arguments.
+Mon Nov 21 16:03:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * defs/id.def (firstline): add freeze so idFreeze is available
+ * win32/setup.mk: findstr doesn't exist on win9x.
+ fixed: [ruby-dev:27756]
- * insns.def (opt_str_freeze): add opt_str_freeze instruction which
- pushes a frozen string literal without allocating a new object if
- String#freeze is not overridden
+Sun Nov 20 22:34:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (Init_String): define String#freeze
+ * parse.y (rb_symname_p): [ not followed by ] is not valid symbol.
+ fixed: [ruby-talk:166520]
- * vm.c (vm_init_redefined_flag): define BOP_FREEZE on String class as
- a basic operation
+Sat Nov 19 19:57:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_insnhelper.h: ditto
+ * lib/fileutils.rb (FileUtils::ln): ln documentation fix.
+ [ruby-core:06661]
- [Feature #8992] [ruby-core:57705]
+Sat Nov 19 07:34:32 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Nov 10 01:34:14 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8
+ or 1.9).
- * gc.c (vm_malloc_increase): sweep immediately on GC due to malloc().
- To reduce memory usage, sweep as soon as possible.
- This behavior is same as Ruby 2.0.0 and before.
+ * ext/tk/lib/tkextlib/ICONS/icons.rb: ditto.
-Sun Nov 10 00:39:26 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.
- * benchmark/gc/gcbench.rb: output version description and GC::OPTS.
+Fri Nov 18 17:57:08 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Nov 10 00:36:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c (rb_file_s_dirname): should use skipprefix for UNC path.
+ pointed out by nobu ([ruby-dev:27744]). fixed: [ruby-core:5076]
- * gc.c (should_be_callable): allow private call since rb_eval_cmd
- calls even private methods.
+Fri Nov 18 17:35:09 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Nov 10 00:33:17 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/multi-tk.rb: add restriction to access the entried
+ command table and manipulate other IPs (for reason of security).
+ Now, a IP object can be controlled by only its master IP or the
+ default IP.
- * lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo by Tsuyoshi Sawada
- [Bug #9077]
+ * ext/tk/lib/remote-tk.rb: add restriction to manipulate.
-Sat Nov 9 22:35:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip)
+ to check manipulability.
- * tool/rbinstall.rb (Gem::Specification.load): obtain spec date from
- VCS for the case using git, RUBY_RELEASE_DATE is the last resort.
- probably fixes [Bug #9085].
+ * ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces.
-Sat Nov 9 20:56:12 2013 Narihiro Nakamura <authornari@gmail.com>
+ * ext/tk/lib/tk/namespace.rb: ditto.
- * ext/objspace/object_tracing.c: use declarations in internal.h.
+Fri Nov 18 17:26:06 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/objspace/objspace.c: ditto
+ * file.c (rb_file_s_dirname): added checks for some patterns with drive
+ letter. fixed: [ruby-dev:27738]
-Sat Nov 9 20:32:59 2013 Tanaka Akira <akr@fsij.org>
+ * test/ruby/test_path.rb (test_dirname): added tests for above
+ patterns.
- * test/objspace/test_objspace.rb (test_dump_all): Make the test string
- shorter to be an embedded string on 32bit environment as well as
- 64bit environment.
+Fri Nov 18 12:18:02 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sat Nov 9 15:00:16 2013 Zachary Scott <e@zzak.io>
+ * win32/win32.h (S_IFIFO): r,w = IO.pipe; r.stat.pipe? now
+ returns true on VisualC++6.
- * io.c: [DOC] ARGF.gets may return nil [Bug #9029] patch by znz
+Wed Nov 16 23:24:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Nov 9 14:54:52 2013 Zachary Scott <e@zzak.io>
+ * common.mk (static-ruby): overridable.
- * lib/rss/*: [DOC] document various constants @steveklabnik [Bug #8812]
+ * ext/extmk.rb (parse_args): force to link extensions statically only
+ if static is given for extstatic.
-Sat Nov 9 14:50:09 2013 Zachary Scott <e@zzak.io>
+ * ext/extmk.rb (RUBY, RUBYW): overridable.
- * lib/rss/rss.rb: [DOC] document Time#w3cdtf by @steveklabnik
- [Bug #8821]
+Tue Nov 15 23:46:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 9 14:29:04 2013 Zachary Scott <e@zzak.io>
+ * lib/find.rb (Find::find): should not ignore symbolic links to
+ non-existing files. [ruby-talk:165866]
- * ext/dl/cfunc.c: [DOC] fix typo in example [Bug #8944]
- Patched by Heesob Park
+Tue Nov 15 16:23:26 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sat Nov 9 13:59:58 2013 Zachary Scott <e@zzak.io>
+ * array.c (rb_ary_fill): previous commit disabled this usage:
- * lib/test/unit/assertions.rb: [DOC] better example for assert_send()
- Patch by Andrew Grimm [Bug #8975]
+ a = [0,1,2,3,4,5,6,7,8,9]
+ a.fill {|i| a[i] * 10} #=> [nil, nil, ...., nil]
-Sat Nov 9 12:45:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ previous commit has the advantage of early garbage collection, but
+ potensially this would break some script. so I reverted behavior.
- * insns.def: unify ic_constant_serial and ic_class_serial into one field
- ic_serial. This is possible because these fields are only ever used
- exclusively with each other.
+Tue Nov 15 16:04:10 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * insns.def: ditto
- * vm_core.h: ditto
- * vm_insnhelper.c: ditto
+ * array.c (rb_ary_fill): tail elements were vanished when the middle
+ part of array was filled. (ie: [0,1,2,3,4].fill(-1,2,1) => [0,1,-1])
-Sat Nov 9 12:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * test/ruby/test_array.rb (test_fill): added.
- * class.c: unify names of vm state version counters to 'serial'.
- This includes renaming 'vm_state_version_t' to 'rb_serial_t',
- 'method_state' to 'method_serial', 'seq' to 'class_serial',
- 'vmstat' to 'constant_serial', etc.
+Tue Nov 15 14:39:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * insns.def: ditto
- * internal.h: ditto
- * vm.c: ditto
- * vm_core.h: ditto
- * vm_insnhelper.c: ditto
- * vm_insnhelper.h: ditto
- * vm_method.c: ditto
+ * array.c (rb_ary_fill): should adjust array length correctly when
+ an array is expanded in the fill process. [ruby-core:06625]
-Sat Nov 9 09:22:29 2013 Masaya Tarui <tarui@ruby-lang.org>
+Mon Nov 14 23:49:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_page_sweep, rgengc_rememberset_mark): Refactoring.
- Get bitmaps directly.
+ * file.c (rb_file_s_readlink): ERANGE will occur only on GPFS.
+ [ruby-dev:27699]
-Sat Nov 9 09:16:36 2013 Masaya Tarui <tarui@ruby-lang.org>
+Mon Nov 14 17:36:22 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (RVALUE_PROMOTE_INFANT): Refactoring. Remove duplicated nonsense
- code.
+ * array.c (rb_ary_first): RDoc update from Daniel Berger
+ <djberg96@yahoo.com>. [ruby-core:06577].
-Sat Nov 9 09:04:48 2013 Masaya Tarui <tarui@ruby-lang.org>
+Fri Nov 11 10:31:44 2005 Zach Dennis <zdennis@mktec.com>
- * gc.c (gc_marks_test): Bugfix. Fix a struct member name for build
- with RGENGC_CHECK_MODE.
+ * ext/socket/socket.c: Socket Documentation. [ruby-core:6552]
-Sat Nov 9 08:58:23 2013 Masaya Tarui <tarui@ruby-lang.org>
+Fri Nov 11 08:20:56 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c : Add GC_PROFILE_DETAIL_MEMORY option.
- If GC_PROFILE_MORE_DETAIL && GC_PROFILE_DETAIL_MEMORY,
- maxrss, minflt and majflt are added to each profile record.
+ * Makefile.in (OUTFLAG): keep trailing spaces. [ruby-dev:27666]
-Sat Nov 9 07:41:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * mkconfig.rb: substitution refereces added.
- * internal.h (rb_vm_backtrace_object, rb_gc_count): make prototype
- declarations, not old-K&R style.
+Fri Nov 11 07:44:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sat Nov 9 06:11:14 2013 vo.x (Vit Ondruch) <vondruch@redhat.com>
+ * configure.in: undef HAVE_LINK on BeOS. (link(2) always returns
+ EINVAL, and this causes error in test/fileutils.)
- * tool/rbinstall.rb (Gem::Specification#collect): make stable
- Gem::Specification.files in default .gemspecs the different order of
- "files" in .gemspec files makes them different therefore possibly
- conflicting in multilib scenario. patch by vo.x (Vit Ondruch) at
- [ruby-core:57544] [Bug #8623].
+ * file.c: overwride chown(2) and fchown(2) on BeOS. (these functions
+ should not change user/group id if -1 is passed as corresponding
+ argument, and this causes error in test/fileutils too)
+ [ruby-dev:27672]
-Sat Nov 9 01:59:18 2013 Aman Gupta <ruby@tmm1.net>
+ * file.c (rb_file_s_link): checks HAVE_LINK.
- * ext/objspace/objspace_dump.c: Add experimental methods to
- dump objectspace as json: ObjectSpace.dump_all and
- ObjectSpace.dump(obj). These methods are useful for debugging
- reference leaks and memory growth in large ruby applications.
- [Bug #9026] [ruby-core:57893] [Fixes GH-423]
- * test/objspace/test_objspace.rb: tests for above.
+Tue Nov 8 15:32:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Nov 9 00:26:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/drb/ssl.rb (DRb::SSLConfig#accept): fixed typo.
+ [ruby-dev:27560] [ruby-core:4627]
- * file.c (GetLastError): already defined in windows.h on nowadays
- cygwin, and caused the confliction with the system provided
- definition on cygwin64. by @kou1okada [Fixes GH-433].
+Mon Nov 7 13:43:51 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Nov 8 18:35:31 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/stubs.c (_nativethread_consistency_check): use simpler
+ (low cost) way to check whether the Tcl interpreter was compiled
+ with threads enabled of not.
- * lib/open3.rb: receive arguments as keyword arguments.
+ * ext/tk/tcltklib.c: reduce warnings.
-Fri Nov 8 13:19:26 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/tkutil/tkutil.c: ditto.
- * io.c (rb_io_open_with_args): use RARRAY_CONST_PTR().
+Mon Nov 7 00:06:58 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * io.c (rb_scan_open_args): use const qualifier for above.
+ * lib/yaml.rb: removed :nodoc: to generate Kernel doc. [ruby-core:6324]
- * io.c (rb_open_file): ditto.
+Sun Nov 6 23:39:13 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_open_with_args): ditto.
+ * ext/iconv/iconv.c (Iconv::BrokenLibrary): exception when detected a
+ bug of underlying library.
-Fri Nov 8 11:35:06 2013 Masaki Matsushita <glass.saga@gmail.com>
+Sun Nov 6 21:46:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * dir.c, pack.c, ruby.c, struct.c, vm_eval.c: use RARRAY_CONST_PTR().
+ * ext/tk/stubs.c (ruby_tcl_create_ip_and_stubs_init): should touch
+ interpreter after initialization is done. [ruby-dev:27638]
-Fri Nov 8 10:58:02 2013 Masaki Matsushita <glass.saga@gmail.com>
+Sun Nov 6 20:13:27 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * compile.c (iseq_build_from_ary_exception): use RARRAY_CONST_PTR().
+ * file.c (rb_file_s_readlink): readlink(2) on AIX fails with ERANGE if
+ buffer size is less than required. fixed: [ruby-dev:27634]
- * compile.c (iseq_build_from_ary_body): ditto.
+Wed Nov 2 20:25:28 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Nov 8 10:49:34 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/extconf.rb: ext/tk/extconf.rb: change the check parameter
+ for Win32.
- * enumerator.c (append_method): use RARRAY_CONST_PTR().
+Wed Nov 2 20:14:53 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * enumerator.c (lazy_init_iterator): ditto.
+ * ext/tcltklib: merge into ext/tk and remove.
-Fri Nov 8 02:44:29 2013 Koichi Sasada <ko1@atdot.net>
+Wed Nov 2 19:03:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (vm_malloc_increase): check GVL before gc_rest_sweep().
- vm_malloc_increase() can be called without GVL.
- However, gc_rest_sweep() assumes acquiring GVL.
- To avoid this problem, check GVL before gc_rest_sweep().
- [Bug #9090]
+ * ext/tcltklib/tcltklib.c (ip_rbUpdateObjCmd,
+ ip_rb_threadUpdateObjCmd): passed improper flags to DoOneEvent().
- This workaround introduces possibility to set malloc_limit as
- wrong value (*1). However, this may be rare case. So I commit it.
+ * ext/tk/tkutil.c: use rb_obj_respond_to() instead of rb_respond_to().
- *1: Without rest_sweep() here, gc_rest_sweep() can decrease
- malloc_increase due to ruby_sized_xfree().
+Tue Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Nov 8 02:50:25 2013 Zachary Scott <e@zzak.io>
+ * eval.c (rb_call_super): should call method_missing if super is
+ called from Kernel method.
- * lib/securerandom.rb: [DOC] specify arguments passed to ::random_bytes
- By @chastell [Fixes GH-412] https://github.com/ruby/ruby/pull/412
+ * eval.c (exec_under): frame during eval should preserve external
+ information.
-Fri Nov 8 02:43:01 2013 Zachary Scott <e@zzak.io>
+Tue Nov 1 10:50:17 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/objspace/object_tracing.c: [DOC] trace_object_allocations_stop
- By @srawlins [Fixes GH-421] https://github.com/ruby/ruby/pull/421
+ * ext/openssl/extconf.rb: should check ERR_peek_last_error().
+ [ruby-dev:27597]
-Fri Nov 8 02:34:20 2013 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl.c (ossl_raise): ditto.
- * lib/net/ftp.rb: [DOC] Document Net::FTP.mdtm and .set_socket and fix
- spelling typo, based on patch by @artfuldodger [Fixes GH-426]
- https://github.com/ruby/ruby/pull/426
+Mon Oct 31 17:34:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Nov 8 02:14:37 2013 Zachary Scott <e@zzak.io>
+ * configure.in: use proper option for Sun linker. A patch from
+ Shinya Kuwamura <kuwa at labs.fujitsu.com>. [ruby-dev:27603]
- * array.c: [DOC] Add note about negative indices in Array overview
- By @ckaenzig [Fixes GH-427] https://github.com/ruby/ruby/pull/427
+Mon Oct 31 11:27:22 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Nov 8 02:09:12 2013 Zachary Scott <e@zzak.io>
+ * test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb (test_s_open_error):
+ skip on Win32/DOS platforms.
- * lib/csv.rb: [DOC] Fix typo in CSV.parse_line by @funky-bibimbap
- [Fixes GH-430] https://github.com/ruby/ruby/pull/430
+Mon Oct 31 05:49:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Fri Nov 8 01:01:54 2013 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must
+ not be empty. [ruby-talk:161220]
- * golf_prelude.rb: syntax formatting for whitespace [Fixes GH-425]
- Patch by @edward https://github.com/ruby/ruby/pull/425
+ * test/openssl/test_cipher.rb: add test for Cipher#update("").
-Thu Nov 7 19:36:09 2013 Koichi Sasada <ko1@atdot.net>
+Mon Oct 31 05:37:20 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c: modify malloc_limit strategy.
+ * lib/webrick/httpservlet/cgihandler.rb
+ (WEBrick::HTTPServlet::CGIHandler#do_GET): the value of Set-Cookie:
+ header field should be splited into each cookie. [ruby-Bugs:2199]
- * fix default values:
- GC_MALLOC_LIMIT_GROWTH_FACTOR
- GC_MALLOC_LIMIT: 8MB -> 16MB
- GC_MALLOC_LIMIT_MAX: 384MB -> 32MB
+ * lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method
+ to parse the value of Set-Cookie: header field.
- * algorithm of malloc_limit increment.
- if (malloc_increase < malloc_limit) {
- next_malloc_limit = malloc_limit * factor
- if (malloc_limit > malloc_limit_max) {
- malloc_limit = malloc_increase
- }
- }
- This algorithm change malloc_limit from
- 16MB -> 32MB slowly.
- If malloc_limit exceeds malloc_limit_max, then
- increase with malloc_increase.
+ * test/webrick/test_cookie.rb, test/webrick/test_cgi.rb,
+ test/webrick/webrick.cgi: add some test for cookie.
-Thu Nov 7 11:06:05 2013 Masaki Matsushita <glass.saga@gmail.com>
+Mon Oct 31 03:19:36 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_shuffle_bang): use RARRAY_PTR_USE() without WB
- because there are not new relations.
+ * ext/readline/readline.c (readline_readline): type check.
+ [ruby-core:6089]
-Thu Nov 7 10:34:12 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * numeric.c (fix_rshift): RDoc fix. [ruby-core:6351]
- * array.c (rb_ary_sample): use rb_ary_dup().
+ * util.h (strtod): add #undef for platforms defines strtod()
+ macro. [ruby-dev:27563]
-Thu Nov 7 09:39:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Oct 31 02:35:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * vm_trace.c (rb_threadptr_exec_event_hooks_orig): errinfo should not
- be propagated to trace blocks so that no argument raise does not
- throw internal objects. [ruby-dev:47793] [Bug #9088]
+ * test/ruby/test_float.rb (test_precision): test by assert_in_delta.
+ [ruby-dev:27575]
-Wed Nov 6 21:30:55 2013 Masaya Tarui <tarui@ruby-lang.org>
+Sat Oct 29 01:58:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gc_before_sweep): Change algorithm of malloc_limit to
- conservative for closing to memory consumption of ruby 2.0.
+ * ext/etc/etc.c: document update from mathew <meta@pobox.com>.
+ [ruby-core:06473]
- * gc.c (GC_MALLOC_LIMIT, GC_MALLOC_LIMIT_GROWTH_FACTOR):
- Adjust parameters for new algorithm.
+ * ext/fcntl/fcntl.c: ditto.
-Wed Nov 6 21:16:51 2013 Masaki Matsushita <glass.saga@gmail.com>
+Thu Oct 27 16:45:31 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_shift_m): use RARRAY_PTR_USE() without WB because
- there are not new relations.
+ * string.c (scan_once): wrong condition to use mbclen2().
+ [ruby-dev:27535]
-Wed Nov 6 21:05:20 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Oct 26 09:27:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * array.c (rb_ary_reverse): use RARRAY_PTR_USE().
+ * ext/syck/implicit.c (syck_type_id_to_uri): should return
+ newly allocated memory. otherwise, type_id will be freed
+ twice. [ruby-dev:27384] [ruby-core:6385]
-Wed Nov 6 19:30:44 2013 Masaya Tarui <tarui@ruby-lang.org>
+Wed Oct 26 09:04:51 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * common.mk (help): add texts about gcbench.
+ * ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate
+ values have VALUE type. there is an environment where sizeof(VALUE)
+ != sizeof(int) like IA64. if 32bit integer (Qtrue) is passed to ANYARGS
+ and received by 64bit integer (VALUE), upper bits may have garbage value.
+ [ruby-dev:27513]
-Wed Nov 6 16:32:32 2013 Martin Duerst <duerst@it.aoyama.ac.jp>
+Wed Oct 26 01:58:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/open3.rb: tweaked grammar in comments
+ * configure.in (RUBY_EXTERN): macro to export symbols in shared
+ library. [ruby-core:05528]
-Wed Nov 6 11:46:36 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to
+ configuration pass.
- * array.c (rb_ary_sample): use RARRAY_AREF() and RARRAY_PTR_USE()
- instead of RARRAY_PTR().
+ * ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions.
-Wed Nov 6 10:37:07 2013 Masaki Matsushita <glass.saga@gmail.com>
+Tue Oct 25 15:32:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_and): defer hash creation and some refactoring.
+ * lib/rational.rb: applied documentation patch from Gavin Sinclair
+ <gsinclair@gmail.com>. [ruby-core:06364]
-Wed Nov 6 09:14:31 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/irb.rb (IRB::Irb::eval_input): handle prompts with newlines
+ in irb auto-indentation mode. [ruby-core:06358]
- * benchmark/bm_vm1_gc_short_lived.rb: added.
- These GC benchmarks do not reflect practical applications.
- They are only for tuning.
+Tue Oct 25 02:12:08 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * benchmark/bm_vm1_gc_short_with_complex_long.rb: added.
+ * lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::LABEL_LIST_RE):
+ reduce redundant backtrack. [ruby-talk:161771]
- * benchmark/bm_vm1_gc_short_with_long.rb: added.
+Tue Oct 25 00:27:35 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * benchmark/bm_vm1_gc_short_with_symbol.rb: added.
+ * lib/rinda/*: RDoc documentation from Eric Hodel
+ <drbrain@segment7.net> added.
- * benchmark/bm_vm1_gc_wb_ary.rb: added.
+Mon Oct 24 21:14:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * benchmark/bm_vm1_gc_wb_obj.rb: added.
+ * configure.in, io.c: use sys/syscall.h if syscall.h is not available.
+ [ruby-core:06247]
- * benchmark/bm_vm_thread_queue.rb: added.
- This benchmark is added to know how fast C version of thread.so.
+Mon Oct 24 20:49:45 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Nov 6 09:13:32 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/Win32API/lib/win32/resolv.rb (get_info): support multiple DNS.
+ fixed: [ruby-list:40058], [ruby-dev:27479]
- * gc.c: define RGENGC_ESTIMATE_OLDSPACE == 0 if USE_RGENGC is 0.
+Mon Oct 24 07:57:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 6 07:13:18 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/canvas.rb (TkCanvasItemConfig::__item_val2ruby_optkeys):
+ typo fixed. [ruby-talk:162187]
- * gc.c (Init_GC): add GC::OPTS to show options.
+ * ext/tk/lib/tk/menu.rb (TkMenuEntryConfig::__item_val2ruby_optkeys):
+ ditto. [ruby-core:06359]
-Wed Nov 6 07:12:17 2013 Koichi Sasada <ko1@atdot.net>
+Sun Oct 23 21:50:15 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * benchmark/gc/gcbench.rb: add some options to make quiet.
+ * ext/enumerator/enumerator.c: applied documentation patch from
+ James Edward Gray II <james@grayproductions.net>.
+ [ruby-core:06348]
-Wed Nov 6 04:14:25 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Sun Oct 23 07:11:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/psych/lib/psych/visitors/to_ruby.rb: process merge keys before
- reviving objects. Fixes GH psych #168
- * test/psych/test_merge_keys.rb: test for change
- https://github.com/tenderlove/psych/issues/168
+ * ext/tcltklib/extconf.rb: improve messages [ruby-core:06325].
-Tue Nov 5 21:21:47 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb, ext/tk/lib/tk/canvas.rb, ext/tk/lib/tk/entry.rb,
+ ext/tk/lib/tk/frame.rb, ext/tk/lib/tk/image.rb,
+ ext/tk/lib/tk/itemconfig.rb, ext/tk/lib/tk/labelframe.rb,
+ ext/tk/lib/tk/listbox.rb, ext/tk/lib/tk/menu.rb,
+ ext/tk/lib/tk/radiobutton.rb, ext/tk/lib/tk/scale.rb,
+ ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tk/text.rb,
+ ext/tk/lib/tk/toplevel.rb: improve conversion of option values.
- * test/ruby/test_thread.rb (test_thread_join_in_trap):
- Run the test in a different process.
+ * ext/tk/lib/tkextlib/*: ditto.
-Tue Nov 5 20:14:32 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * ext/tk/lib/tkextlib/*: update to support ActiveTcl8.4.11.2.
- * gc.c (is_live_object): A hidden object may be a live object.
- [ruby-dev:47788] [Bug #9072]
+ * ext/tk/lib/tkextlib/trofs/*: support Trofs 0.4.3.
-Tue Nov 5 13:37:19 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tkextlib/tile/*: support Tile 0.7.2.
- * gc.c: add support to estimate increase of oldspace memory usage.
- This is another approach to solve an issue discussed at r43530.
- This feature is disabled as default.
+ * ext/tk/lib/tkextlib/vu/*: support vu 2.3.0.
- This feature measures an increment of memory consumption by oldgen
- objects. It measures memory consumption for each objects when
- the object is promoted. However, measurement of memory consumption
- is not accurate now. So that this measurement is `estimation'.
+ * ext/tk/lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3).
- To implement this feature, move memsize_of() function from
- ext/objspace/objspace.c and expose rb_obj_memsize_of().
+Sat Oct 22 23:54:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Some memsize() functions for T_DATA (T_TYPEDDATA) have problem to
- measure memory size, so that we ignores T_DATA objects now.
- For example, some functions skip NULL check for pointer.
+ * ext/extmk.rb, lib/mkmf.rb (with_config): support --with-extension
+ options. [ruby-dev:27449]
- The macro RGENGC_ESTIMATE_OLDSPACE enables/disables this feature,
- and turned off as default.
+Sat Oct 22 13:26:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- We need to compare 3gen GC and this feature carefully.
- (it is possible to enable both feature)
- We need a help to compare them.
+ * object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check
+ if valid as a symbol name more strictly. [ruby-dev:27478]
- * internal.h: expose rb_obj_memsize_of().
+ * test/ruby/test_symbol.rb: tests for [ruby-core:03573].
- * ext/objspace/objspace.c: use rb_obj_memsize_of() function.
+ * time.c (rb_strftime): removed meaningless volatile modifiers, and
+ concatenate successive nul characters at once. [ruby-dev:27472]
- * cont.c (fiber_memsize): fix to check NULL.
+Fri Oct 21 19:21:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * variable.c (autoload_memsize): ditto.
+ * rubysig.h (CHECK_INTS): fixed typo. (I believe bit-or is improper)
- * vm.c (vm_memsize): ditto.
+Fri Oct 21 17:49:32 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Nov 5 04:03:07 2013 Koichi Sasada <ko1@atdot.net>
+ * bin/erb (ERB::Main::run): typo fixed. [ruby-core:06337]
- * gc.c (GC_MALLOC_LIMIT_MAX): fix default value 512MB -> 384MB.
- 512MB is huge.
+Fri Oct 21 15:27:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Nov 5 03:31:23 2013 Koichi Sasada <ko1@atdot.net>
+ * bignum.c (bignew_1): convertion from `int' to `char' discards
+ upper bits, (ie. (char)0xff00 -> 0) so it's better to test if
+ nonzero and set 0 or 1 instead of simply casting ... as a flag usage.
+ (but I believe this won't cause actual bug in current implementation)
+ [ruby-dev:27055]
- * gc.c: add 3gen GC patch, but disabled as default.
+ * time.c: should use LONG_LONG instead of `long long'.
- RGenGC is designed as 2 generational GC, young and old generation.
- Young objects will be promoted to old objects after one GC.
- Old objects are not collect until major (full) GC.
+Thu Oct 20 09:37:15 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- The issue of this approach is some objects can promoted as old
- objects accidentally and not freed until major GC.
- Major GC is not frequently so short-lived but accidentally becoming
- old objects are not freed.
+ * lib/mkmf.rb (create_makefile): Borland make seems not to allow
+ empty dependency list. If this change is not good, please correct
+ it.
- For example, the program "loop{Array.new(1_000_000)}" consumes huge
- memories because short lived objects (an array which has 1M
- elements) are promoted while GC and they are not freed before major
- GC.
+Thu Oct 20 07:55:09 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- To solve this problem, generational GC with more generations
- technique is known. This patch implements three generations gen GC.
+ * lib/mkmf.rb (create_makefile): get rid of a restriction
+ of Borland make. fixed: [ruby-dev:27460]
- At first, newly created objects are "Infant" objects.
- After surviving one GC, "Infant" objects are promoted to "Young"
- objects.
- "Young" objects are promoted to "Old" objects after surviving
- next GC.
- "Infant" and "Young" objects are collected if it is not marked
- while minor GC. So that this technique solves this problem.
+Thu Oct 20 00:13:18 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- Representation of generations:
- * Infant: !FL_PROMOTED and !oldgen_bitmap [00]
- * Young : FL_PROMOTED and !oldgen_bitmap [10]
- * Old : FL_PROMOTED and oldgen_bitmap [11]
+ * rubysig.h (CHECK_INTS): fix typo.
- The macro "RGENGC_THREEGEN" enables/disables this feature, and
- turned off as default because there are several problems.
- (1) Failed sometimes (Heisenbugs).
- (2) Performance down.
- Especially on write barriers. We need to detect Young or Old
- object by oldgen_bitmap. It is slower than checking flags.
+Wed Oct 19 23:58:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- To evaluate this feature on more applications, I commit this patch.
- Reports are very welcome.
+ * lib/mkmf.rb (create_makefile): do not create unnecessary empty
+ directories. fixed: [ruby-dev:27451]
- This patch includes some refactoring (renaming names, etc).
+Wed Oct 19 19:26:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h: catch up 3gen GC.
+ * parse.y (rb_gc_mark_parser): get rid of segfault with old yacc.
+ fixed: [ruby-dev:27439]
- * .gdbinit: fix to show a prompt "[PROMOTED]" for promoted objects.
+Wed Oct 19 08:28:32 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 5 00:05:51 2013 Koichi Sasada <ko1@atdot.net>
+ * file.c (rb_file_join): elements may contain null pointer strings.
+ report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]
- * node.h: catch up comments for last commit.
+Wed Oct 19 02:34:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 5 00:02:00 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c, gc.c, time.c: made internal symbols static. [ruby-dev:27435]
- * include/ruby/ruby.h: rename FL_OLDGEN to FL_PROMOTED.
- This flag represents that "this object is promoted at least once."
+Wed Oct 19 01:27:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c, debug.c, object.c: catch up this change.
+ * regex.c (re_compile_pattern): numeric literal inside character class
+ disabled succeeding backtrack. fixed: [ruby-list:41328]
-Mon Nov 4 22:20:16 2013 Tanaka Akira <akr@fsij.org>
+Mon Oct 17 21:18:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/xmlrpc: Don't use fixed ports: 8070 and 8071.
+ * parse.y (parser_heap): byacc never free parser stack.
+ fixed: [ruby-dev:27428]
-Mon Nov 4 15:25:52 2013 Tanaka Akira <akr@fsij.org>
+Mon Oct 17 16:04:47 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/xmlrpc/webrick_testing.rb (start_server): Initialize the server
- at main thread to fail early.
+ * file.c (chmod_internal, lchmod_internal): fixed type of 2nd argument.
-Mon Nov 4 10:08:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 16 22:16:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval_intern.h (TH_EXEC_TAG, TH_JUMP_TAG): get rid of undefined
- behavior of setjmp() in rhs of assignment expression.
- [ISO/IEC 9899:1999] 7.13.1.1
+ * ext/extmk.rb: omit non-existing directories.
-Sun Nov 3 23:06:51 2013 Tanaka Akira <akr@fsij.org>
+Sun Oct 16 14:30:05 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * sample/test.rb: Make temporary file names unique.
+ * lib/rinda/rinda.rb (Rinda::Tuple#initialize): check remote hash
+ tuple. fixed: [ruby-list:41227]
-Sun Nov 3 20:41:17 2013 Tanaka Akira <akr@fsij.org>
+ * test/rinda/test_rinda.rb: test it.
- * test/xmlrpc: Wrap definitions by TestXMLRPC module.
+Sun Oct 16 03:38:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Nov 3 20:23:38 2013 Tanaka Akira <akr@fsij.org>
+ * rubysig.h (CHECK_INTS): prevent signal handler to run during
+ critical section. [ruby-core:04039]
- * test/xmlrpc/webrick_testing.rb (stop_server): Don't try to shutdown
- the server if the server is not started.
+ * eval.c (load_wait): need not to call rb_thread_schedule()
+ explicitly. [ruby-core:04039]
-Sun Nov 3 09:35:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_schedule): clear rb_thread_critical.
+ [ruby-core:04039]
- * load.c (rb_feature_p): deal with default loadable suffixes.
+Sat Oct 15 19:56:38 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * load.c (load_lock): initialize statically linked extensions.
+ * bin/erb: typo fixed, again. thanks, Doug Kearns.
- * load.c (search_required, rb_require_safe): deal with statically
- linked extensions.
+Fri Oct 14 22:08:26 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * load.c (ruby_init_ext): defer initialization of statically linked
- extensions until required actually. [Bug #8883]
+ * win32/win32.c (ioctl): should set errno.
-Sat Nov 2 15:14:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 14 16:57:32 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/logger.rb (Logger::LogDevice::LogDeviceMutex#lock_shift_log):
- open file can't be removed or renamed on Windows. [ruby-dev:47790]
- [Bug #9046]
+ * lib/webrick/config.rb (Config::FileHandler): :UserDir should be nil.
+ It is harmful to permit the access to ~/public_html by default.
+ suggested by Hiroyuki Iwatsuki.
- * test/logger/test_logger.rb (TestLogDevice#run_children): don't use
- fork.
+Thu Oct 13 23:29:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Nov 2 07:08:43 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * parse.y (HEAPCNT): bison allocates indivisible size.
+ fixed: [ruby-core:06261]
- * lib/logger.rb: Inter-process locking for log rotation
- Current implementation fails log rotation on multi process env.
- by sonots <sonots@gmail.com>
- https://github.com/ruby/ruby/pull/428 fix GH-428 [Bug #9046]
+ * io.c, pack.c, ext/syck/rubyext.c, ext/syck/syck.h, missing/isinf.c:
+ get rid of warnings. fixed: [ruby-core:06247]
-Fri Nov 1 23:24:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 12 12:52:57 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (wmap_mark_map): mark live objects only, but delete zombies.
- [ruby-dev:47787] [Bug #9069]
+ * ext/openssl/ossl.c (Init_openssl): should call
+ OpenSSL_add_ssl_algorithms().
-Fri Nov 1 22:45:54 2013 Masaya Tarui <tarui@ruby-lang.org>
+Wed Oct 12 11:08:54 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c (struct heap_page, gc_page_sweep, gc_sweep): Refactoring for
- performance. Add before_sweep condition to heap_page structure.
+ * file.c (rb_f_test): typo in RDoc comments.
- * gc.c (rb_gc_force_recycle): Use before_sweep member.
+Tue Oct 11 21:41:58 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (heap_is_before_sweep, is_before_sweep): Remove. They have not
- already been used.
+ * eval.c (rb_obj_respond_to): check if obj responds to the given
+ method with the given visibility. [ruby-dev:27408]
-Fri Nov 1 22:20:28 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * eval.c (rb_respond_to): conform to Object#respond_to?. [ruby-dev:27411]
- * gc.c (make_deferred): Refactoring. Collect codes which should be
- atomic.
+Tue Oct 11 00:01:21 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (make_io_deferred, obj_free, rb_objspace_call_finalizer,
- gc_page_sweep): Correspond to the above.
+ * st.c (st_free_table): do not call free() but xfree().
+ [ruby-core:06205]
-Fri Nov 1 21:40:35 2013 Masaya Tarui <tarui@ruby-lang.org>
+Sat Oct 8 20:04:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (typedef struct rb_objspace): Refactoring. Move some members
- into profile member.
+ * eval.c (Init_Binding): add Binding#dup method. [yarv-dev:666]
- * gc.c (newobj_of): Correspond to the above.
+ * parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on
+ heap. [ruby-list:41199]
- * gc.c (finalize_list): Ditto.
+ * ext/iconv/charset_alias.rb: parse config.charset_alias file directly.
- * gc.c (objspace_live_num): Ditto.
+Fri Oct 7 09:54:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gc_page_sweep): Ditto.
+ * lib/cgi.rb (CGI::Cookie::parse): Cookies from Nokia devices may
+ not be parsed correctly. A patch from August Z. Flatby
+ (augustzf) in [ruby-Patches-2595]. [ruby-core:06183]
- * gc.c (rb_gc_force_recycle): Ditto.
+Thu Oct 6 20:12:16 2005 Minero Aoki <aamine@loveruby.net>
- * gc.c (garbage_collect_body): Ditto.
+ * ext/strscan/strscan.c (strscan_free): remove useless code.
+ [ruby-dev:26368] [ruby-dev:27389]
+ (backported from trunk, rev 1.22)
- * gc.c (rb_gc_count): Ditto.
+Wed Oct 5 04:42:38 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (gc_stat): Ditto.
+ * lib/xmlrpc/server.rb (XMLRPC::Server#initialize): should mount the
+ servlet on "/".
- * gc.c (gc_prof_set_heap_info): Ditto.
+Wed Oct 5 03:59:09 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (gc_profile_dump_on): Ditto.
+ * lib/xmlrpc/server.rb (XMLRPC::Server#serve): delete wrong call
+ of "join".
-Fri Nov 1 20:53:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Oct 3 00:04:00 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * string.c (rb_str_scrub): fix typo, should yield invalid byte
- sequence to be scrubbed. reported by znz at IRC.
+ * pack.c (EXTEND16): [ruby-dev:27383]
-Fri Nov 1 17:25:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 29 10:26:18 2005 Tanaka Akira <akr@m17n.org>
- * gc.c (is_live_object): finalizer may not run because of lazy-sweep.
- [ruby-dev:47786] [Bug #9069]
+ * ext/dl/dl.c (rb_io_to_ptr): abolish sizeof(FILE).
+ [ruby-dev:27317]
-Fri Nov 1 16:55:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 29 07:22:05 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_str_scrub): export with fixed length arguments, and
- allow nil as replacement string instead of omitting.
+ * evalc. (rb_f_send): underscores need to be escaped.
+ fixed by Doug Kearns. [ruby-core:06053]
-Fri Nov 1 06:20:44 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Sep 29 00:57:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread.c (rb_mutex_struct): reduce rb_mutex_t size by 8 bytes
- on 64bit platform. Patch by Eric Wong. [Feature #9068][ruby-core:58114]
+ * eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when
+ autoload succeeded.
-Fri Nov 1 01:08:33 2013 Koichi Sasada <ko1@atdot.net>
+ * variable.c (rb_autoload_load): now return true if autoload
+ succeeded. fixed: [ruby-dev:27331]
- * benchmark/gc/gcbench.rb: print HWM (high water mark) if possible.
+Wed Sep 28 23:42:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Oct 31 21:48:31 2013 Kouhei Sutou <kou@cozmixng.org>
+ * file.c (apply2files): add prototype.
- * lib/rexml/parsers/streamparser.rb: Add dependency file require.
- [Bug #9062] [ruby-dev:47779]
- Reported by Ippei Obayashi. Thanks!!!
+ * file.c (rb_stat_inspect): constified.
-Thu Oct 31 14:09:32 2013 Koichi Sasada <ko1@atdot.net>
+ * class.c (rb_mod_init_copy, rb_class_init_copy), file.c (rb_stat_init_copy),
+ numeric.c (num_init_copy), object.c (rb_obj_init_copy, Init_Object),
+ re.c (match_init_copy, rb_reg_init_copy), time.c (time_init_copy):
+ undocumented.
- * vm_method.c (rb_method_entry_make): fix to pass an ISeq value.
- OBJ_WRITTEN() accepts only VALUE.
+Wed Sep 28 23:09:23 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Oct 30 19:07:57 2013 Akinori MUSHA <knu@iDaemons.org>
+ * lib/delegate.rb: document update from James Edward Gray II
+ <james@grayproductions.net>. [ruby-core:06027]
- * misc/ruby-additional.el (ruby-brace-to-do-end)
- (ruby-do-end-to-brace, ruby-toggle-block): Remove functions that
- are already in the latest released version of Emacs (24.3).
- [Bug #7565]
+Wed Sep 28 15:14:19 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Oct 30 12:44:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string should
+ refer the value of QUERY_STRING. [ruby-list:41186]
- * win32/Makefile.sub (config.status): add missing variables,
- PLATFORM_DIR and THREAD_MODEL.
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#query_string=):
+ add new method.
-Wed Oct 30 12:20:32 2013 Tanaka Akira <akr@fsij.org>
+Wed Sep 28 10:45:44 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * time.c (v2w): Normalize a rational value to an integer if possible.
- [ruby-core:58070] [Bug #9059] reported by Isaac Schwabacher.
+ * ext/tcltklib/tcltklib.c: cannot compile with Tcl/Tk8.0.x
+ [ruby-dev:27335].
-Wed Oct 30 12:08:41 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Sep 28 08:12:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_uniq_bang): use rb_ary_modify_check() instead of
- rb_ary_modify() because the array will be unshared soon.
+ * io.c (read_buffered_data): check if reached EOF. fixed: [ruby-dev:27334]
-Wed Oct 30 03:25:10 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Wed Sep 28 07:56:52 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/psych/lib/psych/visitors/yaml_tree.rb: make less garbage when
- testing if a string is binary.
+ * lib/yaml/basenode.rb (YAML::BaseNode::match_segment): fix typo.
+ [ruby-dev:27237], [ruby-core:05854]
-Wed Oct 30 03:08:24 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * lib/yaml/tag.rb (Module#yaml_as): suppress warnings.
- * ext/psych/lib/psych/visitors/yaml_tree.rb: string subclasses should
- not be considered to be binary. Fixes Psych / GH 166
- https://github.com/tenderlove/psych/issues/166
+ * lib/yaml/types.rb (YAML::PrivateType, YAML::DomainType): ditto.
- * test/psych/test_string.rb: test for fix
+Wed Sep 28 03:23:35 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Oct 29 23:01:18 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * rubysig.h: fixed build problem with --enable-pthread on platforms
+ which don't have setitimer().
- * array.c (rb_ary_zip): some refactoring.
+Mon Sep 26 22:32:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Oct 29 22:11:37 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * eval.c (set_trace_func): add rb_secure(4) to prevent adding
+ tracing function.
- * array.c (rb_ary_uniq_bang): use st_foreach() instead of for loop.
+Sun Sep 25 12:05:10 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Tue Oct 29 20:01:58 2013 Koichi Sasada <ko1@atdot.net>
+ * bin/erb: typo fixed.
- * add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use
- safe functions during garbage collection such as xfree().
+Sun Sep 25 01:46:43 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- On default, T_DATA objects are freed at same points as finalizers.
- This approach protects issues such as reported by [ruby-dev:35578].
- However, freeing T_DATA objects immediately helps heap usage.
+ * misc/ruby-mode.el (ruby-calculate-indent): arrange deep-indent
+ closing parenthesis at same column as the opening.
- Most of T_DATA (in other words, most of dfree functions) are safe.
- However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default
- for safety.
+Sun Sep 25 00:42:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * cont.c: ditto.
+ * misc/ruby-mode.el (ruby-expr-beg): deal with heredoc separately.
+ fixed: [ruby-list:41168]
- * dir.c: ditto.
+ * misc/ruby-mode.el (ruby-calculate-indent): not to deepen indent
+ level for continuous line inside parentheses.
+ http://nabeken.tdiary.net/20050915.html#p02
- * encoding.c: ditto.
+Sun Sep 25 00:18:11 2005 Tanaka Akira <akr@m17n.org>
- * enumerator.c: ditto.
+ * eval.c (unknown_node): show more information. [ruby-dev:26196]
- * error.c: ditto.
+Sat Sep 24 08:56:01 2005 Minero Aoki <aamine@loveruby.net>
- * file.c: ditto.
+ * lib/fileutils.rb (cd): no longer accept :noop option, related
+ code is useless (backported from trunk, rev 1.67).
+ [ruby-core:05858] [ruby-Bugs:2494]
- * gc.c: ditto.
+Sat Sep 24 08:38:07 2005 Minero Aoki <aamine@loveruby.net>
- * io.c: ditto.
+ * lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose,
+ DryRun (backported from trunk, rev 1.66). [ruby-core:05954]
- * iseq.c: ditto.
+ * test/fileutils/test_nowrite.rb: test it.
- * marshal.c: ditto.
+ * test/fileutils/test_dryrun.rb: new file.
- * parse.y: ditto.
+ * test/fileutils/test_verbose.rb: new file.
- * proc.c: ditto.
+Sat Sep 24 02:40:20 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * process.c: ditto.
+ * lib/delegate.rb: document update from James Edward Gray II
+ <james@grayproductions.net>. [ruby-core:05942]
- * random.c: ditto.
+Thu Sep 22 23:36:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread.c: ditto.
+ * lib/mkmf.rb (find_executable0): default path if environment is not
+ set. [ruby-dev:27281]
- * time.c: ditto.
+Thu Sep 22 16:33:12 2005 Shugo Maeda <shugo@ruby-lang.org>
- * transcode.c: ditto.
+ * test/readline/test_readline.rb (TestReadline::replace_stdio):
+ merged the patch of [ruby-dev:25232] instead of [ruby-dev:25223].
- * variable.c: ditto.
+Wed Sep 21 23:30:44 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm.c: ditto.
+ * lib/mkmf.rb (configuration): generalized nmake dependent code.
- * vm_backtrace.c: ditto.
+Wed Sep 21 09:07:55 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_trace.c: ditto.
+ * stable version 1.8.3 released.
- * ext/bigdecimal/bigdecimal.c: ditto.
+Wed Sep 21 08:52:25 2005 why the lucky stiff <why@ruby-lang.org>
- * ext/objspace/objspace.c: ditto.
+ * ext/syck/token.c: correctly compute identation of a block
+ scalar's parent node. [ruby-talk:150620]
- * ext/stringio/stringio.c: ditto.
+Wed Sep 21 08:20:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/strscan/strscan.c: ditto.
+ * README.EXT, README.EXT.ja: add new features.
-Tue Oct 29 19:48:33 2013 Koichi Sasada <ko1@atdot.net>
+Wed Sep 21 07:43:58 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h: fix typo (FL_WB_PROTECT -> FL_WB_PROTECTED).
+ * lib/optparse.rb (default_argv, Arguable#options): defaults strings
+ to be parsed to Arguable instance.
-Tue Oct 29 18:45:08 2013 Koichi Sasada <ko1@atdot.net>
+Wed Sep 21 02:44:09 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_trace.c (tp_free): removed because empty free function.
- Use RUBY_TYPED_NEVER_FREE instead.
+ * file.c (path_check_0): disallow sticky world writable directory
+ in PATH (and $LOAD_PATH). [ruby-dev:27226]
-Tue Oct 29 18:37:33 2013 Koichi Sasada <ko1@atdot.net>
+ * file.c (fpath_check): typo fixed.
- * include/ruby/ruby.h: introduce new flags for T_TYPEDDATA.
- * RUBY_TYPED_FREE_IMMEDIATELY: free the data given by DATA_PTR()
- with dfree function immediately. Otherwise (default), the data
- freed at finalization point.
- * RUBY_TYPED_WB_PROTECTED: make this object with FL_WB_PROTECT
- (not shady).
+Tue Sep 20 22:29:49 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c (obj_free): support RUBY_TYPED_FREE_IMMEDIATELY.
+ * test/wsdl/simpletype/rpc/test_rpc.rb, test/wsdl/ref/test_ref.rb,
+ test/wsdl/any/test_any.rb test/soap/wsdlDriver/test_calc.rb:
+ suppress deliberate warnings with $VERBOSE = nil.
-Tue Oct 29 16:49:03 2013 Koichi Sasada <ko1@atdot.net>
+Tue Sep 20 21:26:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (vm_malloc_increase): decrease it more carefully.
+ * ext/io/wait/lib/nonblock.rb: disable on platforms non-blocking flag
+ is not available. fixed: [ruby-dev:27187]
-Tue Oct 29 16:24:52 2013 Koichi Sasada <ko1@atdot.net>
+Tue Sep 20 18:23:04 2005 Tanaka Akira <akr@m17n.org>
- * gc.c (heap_page_resurrect): return a page in tomb heap even if
- freelist is NULL.
+ * eval.c (thread_mark): mark th->last_status. [ruby-dev:27179]
-Tue Oct 29 15:46:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 20 18:20:33 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ruby_atomic.h (ATOMIC_SIZE_CAS): new macro, compare and swap size_t.
+ * lib/yaml.rb: require 'yaml/constants'. [ruby-core:5776]
-Tue Oct 29 12:08:05 2013 Tanaka Akira <akr@fsij.org>
+Tue Sep 20 17:48:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/readline/readline.c (readline_getc): Consider
- NULL as input.
+ * lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): add charset
+ information to content-type header.[ruby-core:5127]
-Tue Oct 29 11:10:08 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/xmlrpc/server.rb (CGIServer::serve): ditto.
- * gc.c (gc_profile_total_time): fix off-by-one error in
- GC::Profiler.total_time.
- * test/ruby/test_gc.rb (class TestGc): test for above.
+ * lib/xmlrpc/server.rb (ModRubyServer::serve): ditto.
-Tue Oct 29 09:53:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * lib/xmlrpc/server.rb (WEBrickServlet::service): ditto.
- * insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: split
- ruby_vm_global_state_version into two separate counters - one for the
- global method state and one for the global constant state. This means
- changes to constants do not affect method caches, and changes to
- methods do not affect constant caches. In particular, this means
- inclusions of modules containing constants no longer globally
- invalidate the method cache.
+Tue Sep 20 17:34:46 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * class.c, eval.c, include/ruby/intern.h, insns.def, vm.c, vm_method.c:
- rename rb_clear_cache_by_class to rb_clear_method_cache_by_class
+ * test/webrick/test_cgi.rb: set ENV["PATH"] to CGIEnvPath on
+ windows. bcc32's runtime is not installed into system directory,
+ so it cannot be found without this setting. [ruby-dev:27166]
- * class.c, include/ruby/intern.h, variable.c, vm_method.c: add
- rb_clear_constant_cache
+Tue Sep 20 17:10:38 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * compile.c, vm_core.h, vm_insnhelper.c: rename vmstat field in
- rb_call_info_struct to method_state
+ * test/dbm/test_dbm.rb (TestDBM::test_s_open_error): remove
+ test_s_open_error test to detect duplicate open.
+ [ruby-dev:27202]
- * vm_method.c: rename vmstat field in struct cache_entry to method_state
+Tue Sep 20 17:08:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Mon Oct 28 23:26:04 2013 Tanaka Akira <akr@fsij.org>
+ * io.c: PIPE_BUF is not defined on BeOS. use _POSIX_PIPE_BUF instead.
+ [ruby-dev:27185]
- * test/readline/test_readline.rb (teardown): Clear Readline.input and
- Readline.output.
+Tue Sep 20 16:53:53 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Oct 28 21:35:31 2013 Tanaka Akira <akr@fsij.org>
+ * test/readline/test_readline.rb (TestReadline::replace_stdio):
+ BSD seek support from [ruby-dev:25223]. fixed: [ruby-dev:27150]
- * ext/-test-/file/depend, ext/-test-/postponed_job/depend,
- ext/-test-/tracepoint/depend: New files for dependencies.
+Tue Sep 20 15:39:40 2005 why the lucky stiff <why@ruby-lang.org>
-Mon Oct 28 15:32:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/syck/emitter.c (syck_scan_scalar): prevent indicators from
+ appearing alone or at the end of plain scalars. [ruby-core:5826]
- * ext/openssl/depend (ossl.o): work around of dependency of
- thread_native.h, which depends on headers by THREAD_MODEL.
- [ruby-dev:47777]
+ * ext/syck/emitter.c (syck_emit_scalar): treat typed scalar nodes
+ as complex keys.
- * ext/openssl/extconf.rb: need THREAD_MODEL.
+ * lib/syck.h: version 0.60.
-Mon Oct 28 14:57:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/yaml/basenode.rb (YAML::BaseNode#at): transform keys during
+ key searches.
- * load.c (ruby_init_ext): share feature names between frame name and
- provided features.
+ * ext/syck/rubyext.c: loading of binary-typed nodes. prevent
+ emission of plain strings that look like symbols, but which aren't.
-Mon Oct 28 14:41:27 2013 Akinori MUSHA <knu@iDaemons.org>
+Tue Sep 20 05:50:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * misc/ruby-electric.el: Import ruby-electric.el 2.1 from
- https://github.com/knu/ruby-electric.el.
+ * test/xmlrpc/test_webrick_server.rb (setup_http_server):
+ should not include 'webrick/https' unless 'use_ssl' because
+ it fails where openssl is not installed.
- * Hitting the newline-and-indent key within a comment fires
- comment-indent-new-line.
+Tue Sep 20 00:34:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * Introduce a new feature
- `ruby-electric-autoindent-on-closing-char`.
+ * io.c (io_close): call rb_io_close() directly if io is a T_FILE
+ object. [ruby-dev:27156]
- * Fix fallback behavior of ruby-electric-space/return that
- caused error with auto-complete.
+Mon Sep 19 19:09:08 2005 Minero Aoki <aamine@loveruby.net>
-Mon Oct 28 13:17:17 2013 Or Cohen <orc@fewbytes.com>
+ * file.c (rb_file_chown): should accept nil. [ruby-dev:27171]
+ (backport from trunk, rev 1.208)
- * error.c (name_err_to_s): remove no longer needed overriding, since
- r30455 which made exc_to_s almost same. Fixes [GH-413].
+Mon Sep 19 18:35:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Oct 28 12:42:11 2013 Tanaka Akira <akr@fsij.org>
+ * ext/dl/dl.c (rb_io_to_ptr): fix DragonFlyBSD support.
+ [ruby-dev:27151]
- * common.mk, ext/objspace/depend, ext/coverage/depend,
- ext/-test-/debug/depend, ext/date/depend: Update dependencies.
+Mon Sep 19 14:17:04 2005 Minero Aoki <aamine@loveruby.net>
-Mon Oct 28 09:29:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/syck/emitter.c (syck_emit): passing an int* value to the
+ long* parameter causes unaligned access on LP64 systems.
+ [ruby-dev:27161]
- * vm.c: vm_clear_all_cache is not necessary now we use a 64 bit counter
- for global state version.
+Mon Sep 19 13:44:03 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * vm_insnhelper.h: ruby_vm_global_state_version overflow is unnecessary
+ * ext/win32ole/win32ole.c: avoid core dump with WIN32OLE_EVENT.
+ [ruby-dev:27133]
-Mon Oct 28 07:47:32 2013 Aman Gupta <ruby@tmm1.net>
+Mon Sep 19 10:36:06 2005 Minero Aoki <aamine@loveruby.net>
- * vm_backtrace.c (rb_profile_frame_classpath): do not use rb_inspect
- directly, since it might have a custom implementation or show ivars.
+ * lib/fileutils.rb (cp_r): default is :dereference_root=>true for
+ backward compatibility. [ruby-dev:27145]
-Mon Oct 28 04:10:41 2013 Aman Gupta <ruby@tmm1.net>
+ * test/fileutils/test_fileutils.rb (test_cp_r): test it.
- * vm_backtrace.c (rb_profile_frame_classpath): handle singleton
- methods defined directly on an object.
- * test/-ext-/debug/test_profile_frames.rb: test for above.
+Mon Sep 19 09:57:39 2005 Minero Aoki <aamine@loveruby.net>
-Mon Oct 28 00:52:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb: backported from trunk (1.36).
+ (again) [ruby-dev:27145]
- * struct.c (new_struct): fix warning message, class name and encoding.
+Mon Sep 19 07:45:37 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Oct 27 20:53:08 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_pkey.h, ossl_pkey_rsa.c, ossl_pkey_dsa.c:
+ an instance variable "private" is added to OpenSSL::PKey class.
+ this ivar is a flag that shows whether there is a private key
+ in the instance.
- * ext/readline/readline.c: Include ruby/thread.h for
- rb_thread_call_without_gvl2.
- (readline_rl_instream, readline_rl_outstream): Record FILE
- structures allocated by this extension.
- (getc_body): New function extracted from readline_getc.
- (getc_func): New function.
- (readline_getc): Use rb_thread_call_without_gvl2 to invoke getc_func.
- [ruby-dev:47033] [Bug #8749]
- (clear_rl_instream, clear_rl_outstream): Close FILE structure
- allocated by this extension reliably. [ruby-core:57951] [Bug #9040]
- (readline_readline): Use clear_rl_instream and clear_rl_outstream.
- (readline_s_set_input): Set readline_rl_instream.
- (readline_s_set_output): Set readline_rl_outstream.
- (Init_readline): Don't call readline_s_set_input because
- readline_getc doesn't block other threads for any FILE structure now.
+ * ext/openssl/ossl_engine.c: (ossl_engine_load_privkey): set private
+ key flag.
- [ruby-dev:47033] [Bug #8749] reported by Nobuhiro IMAI.
- [ruby-core:57951] [Bug #9040] reported by Eamonn Webster.
+Mon Sep 19 06:41:32 2005 Minero Aoki <aamine@loveruby.net>
-Sat Oct 26 19:31:28 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/fileutils.rb: backported from trunk (rev 1.65):
- * gc.c: catch up recent changes to compile on GC_DEBUG,
- RGENGC_CHECK_MODE.
+ * lib/fileutils.rb (rm_r): new option :secure.
-Sat Oct 26 19:08:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/fileutils.rb (rm_rf): new option :secure.
- * range.c (range_initialize_copy): disallow to modify after
- initialized.
+ * lib/fileutils.rb: new method #remove_entry_secure.
-Sat Oct 26 17:48:54 2013 Tanaka Akira <akr@fsij.org>
+ * lib/fileutils.rb (cd): remove option :noop.
- * lib/open-uri.rb (meta_add_field): : Re-implemented.
- [ruby-core:58017] [Bug #9051] patch by Eamonn Webster.
+ * lib/fileutils.rb (cp_r): new option :dereference_root.
-Sat Oct 26 14:35:09 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/fileutils.rb (cp_r): new option :dereference_root.
- * gc.c (gc_profile_dump_on): use "Page" terminology.
+ * lib/fileutils.rb: new method #remove_entry.
-Sat Oct 26 13:25:45 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/fileutils.rb: new method #chmod_R.
- * gc.c (gc_sweep, gc_heap_lazy_sweep): fix measurement code.
- We only need one sweep time measurement without lazy sweep.
+ * lib/fileutils.rb: new method #chown.
-Sat Oct 26 11:59:13 2013 Tanaka Akira <akr@fsij.org>
+ * lib/fileutils.rb: new method #chown_R.
- * addr2line.c: Include ELF header after system headers (especially
- sys/types.h) to avoid compilation failure,
- "usr/include/sh3/elf_machdep.h:4:2: error: #error Define _BYTE_ORDER!",
- on NetBSD/sh3 (dreamcast, hpcsh, landisk, mmeye).
+ * lib/fileutils.rb: new method .commands.
-Sat Oct 26 11:35:22 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/fileutils.rb: new method .options.
- * gc.c: tuning parameters.
+ * lib/fileutils.rb: new method .have_option?.
- * gc.c (GC_MALLOC_LIMIT): change default value to 16MB.
+ * lib/fileutils.rb: new method .options_of.
- * gc.c (GC_MALLOC_LIMIT_GROWTH_FACTOR): change default value to 2.0.
+ * lib/fileutils.rb: new method .collect_method.
- * gc.c (gc_before_sweep): change decrease ratio of `malloc_limit'
- from 1/4 to 1/10.
+ * lib/fileutils.rb: use module_function instead of single extend.
-Sat Oct 26 11:30:07 2013 Koichi Sasada <ko1@atdot.net>
+ * test/fileutils/test_fileutils.rb: backported from trunk (1.36).
- * gc.c (vm_malloc_increase): do gc_rest_sweep() before GC.
- gc_rest_sweep() can reduce malloc_increase, so try it before GC.
- Otherwise, malloc_increase can be less than malloc_limit at
- gc_before_sweep(). This means that re-calculation of malloc_limit
- may be wrong value.
+Mon Sep 19 03:17:48 2005 Tanaka Akira <akr@m17n.org>
-Sat Oct 26 06:35:41 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * file.c (rb_thread_flock): wrap the flock system call by
+ TRAP_BEG/TRAP_END to enable signals. [ruby-dev:27122]
- * gc.c (gc_before_heap_sweep): Restructure code to mean clearly.
- heap->freelist is connected to end of list.
+ * ext/socket/socket.c (bsock_send): wrap the sendto and send system
+ call by TRAP_BEG/TRAP_END to enable signals when writing to a socket
+ which is full. [ruby-dev:27132]
-Sat Oct 26 04:01:35 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (rb_io_syswrite): wrap the write system call by
+ TRAP_BEG/TRAP_END to enable signals when writing to a pipe which is
+ full. [ruby-dev:27134]
- * gc.c (gc_before_heap_sweep): fix freelist management.
- After rb_gc_force_recycle() for a object belonging to heap->freelist,
- `heap->using_page->freelist' is not null.
+Mon Sep 19 03:02:08 2005 Tanaka Akira <akr@m17n.org>
-Thu Oct 24 21:57:24 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * io.c (io_fwrite): wrap the write system call by TRAP_BEG/TRAP_END to
+ enable signals when writing to a pipe which is full.
- * parse.y: Remove +(binary) and -(binary) special cases
- [Feature #9048]
+Sun Sep 18 02:10:47 2005 why the lucky stiff <why@ruby-lang.org>
-Thu Oct 24 12:45:53 2013 Zachary Scott <e@zzak.io>
+ * lib/yaml/rubytypes.rb: remove comments that are bungling up
+ the rdoc and ri output. output symbols as plain scalars.
- * object.c: [DOC] Document first argument also takes string for:
+ * ext/syck/rubyext.c (syck_emitter_reset): emit headless
+ documents always.
- rb_mod_const_get, rb_mod_const_set, rb_mod_const_defined
+ * ext/syck/emitter.c (syck_scan_scalar): quote scalars with any
+ kind of surrounding line space, tabs or spaces alike.
- Also added note about NameError exception for invalid constant name
+ * ext/syck/token.c: accept tabs as whitespace, not for indentation,
+ but strip from plain scalars.
-Thu Oct 24 12:23:58 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * test/yaml/test_yaml.rb: remove outdated tests.
- * thread.c (rb_thread_terminate_all): add a comment why we need
- state check and call terminate_i again.
+Sat Sep 17 23:25:04 2005 sheepman <sheepman@sheepman.sakura.ne.jp>
-Thu Oct 24 12:15:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/mathn.rb (Rational::inspect): should preserve original
+ operand. [ruby-core:05806]
- * thread.c (rb_thread_terminate_all): add a comment why infinite
- sleep is safe.
+Sat Sep 17 23:20:27 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Oct 24 07:41:42 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/cgi.rb (CGI::Cookie): should handle multiple values for a
+ cookie name. [ruby-talk:156140]
- * gc.c: add new initial_growth_max tuning parameter.
- [ruby-core:57928] [Bug #9035]
- * gc.c (heap_set_increment): when initial_growth_max is set,
- do not grow number of slots by more than growth_max at a time.
- * gc.c (rb_gc_set_params): load optional new tuning value from
- RUBY_HEAP_SLOTS_GROWTH_MAX environment variable.
- * test/ruby/test_gc.rb (class TestGc): test for above.
+Sat Sep 17 10:42:13 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Oct 24 01:34:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string
+ should call Kernel.eval on caller's safe-level instead of slave's
+ safe-level (Of course, the given script should be evaluated on
+ slave's safe-level).
- * include/ruby/win32.h (rb_infinity_float): suppress overflow in
- constant arithmetic warnings. [ruby-core:57981] [Bug #9044]
+Sat Sep 17 09:45:26 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Oct 24 00:11:24 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * string.c (rb_str_substr): should propagate taintness even for
+ empty strings. [ruby-dev:27121]
- * lib/ostruct.rb: raise NoMethodError with a #name and #args.
- Raise RuntimeError when modifying frozen instances
- instead of TypeError.
- (OpenStruct#each_pair): Return an enumerator with size
- (OpenStruct#delete): Use the converted argument.
- Patches by Kenichi Kamiya. [Fixes GH-383]
+ * string.c (rb_str_aref): should infect result if range argument
+ is tainted. [ruby-dev:27121]
- * test/ostruct/test_ostruct.rb: Added tests for above.
+Sat Sep 17 08:35:39 2005 Kouhei Sutou <kou@cozmixng.org>
-Thu Oct 24 00:10:22 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * lib/rss/maker/base.rb (RSS::Maker::ItemsBase#normalize): fixed
+ strange RSS::Maker::Item#max_size behavior.
+ Thanks to Kazuhiko <kazuhiko@fdiary.net>.
- * array.c: Add Array#to_h [Feature #7292]
+ * test/rss/test_maker_1.0.rb (RSS::TestMaker10#test_items): ditto.
- * enum.c: Add Enumerable#to_h
+Fri Sep 16 23:09:20 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Wed Oct 23 23:48:28 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/win32ole/win32ole.c (ole_search_event_at): bug fix
+ in ext/win32ole/sample/ienavi.rb.
- * gc.c: Rename free_min to min_free_slots and free_min_page to
- max_free_slots. The algorithm for heap growth is:
- if (swept_slots < min_free_slots) pages++
- if (swept_slots > max_free_slots) pages--
+ * ext/win32ole/win32ole/tests/testOLEEVENT.rb: ditto.
-Wed Oct 23 22:51:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Sep 16 22:41:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/Makefile.sub (config.h): VC 2013 supports C99 mathematics
- functions. [ruby-core:57981] [Bug #9044]
+ * file.c (rb_file_s_extname): empty string for path name ending with a
+ period. fixed: [ruby-core:05651]
-Wed Oct 23 19:13:18 2013 Koichi Sasada <ko1@atdot.net>
+ * file.c (rb_file_join): smarter behavior at edge cases.
+ fixed: [ruby-core:05706]
- * gc.c: move increment from heap to heap_pages.
- Share `increment' information with heaps.
+Fri Sep 16 18:34:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c: change ratio of heap_pages_free_min_page
- to 0.80.
- This change means slow down page freeing speed.
+ * ext/syck/node.c (syck_replace_str): was using return from the
+ void function. a patch from MIYAMUKO Katsuyuki
+ <miyamuko at mtb.biglobe.ne.jp>. [ruby-dev:27111]
-Wed Oct 23 17:52:03 2013 Koichi Sasada <ko1@atdot.net>
+Fri Sep 16 14:48:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (heap_pages_free_unused_pages): cast to (int) for size_t
- variable `i'.
+ * ext/tk/lib/multi-tk.rb: fix typo on MultiTkIp#bg_eval_string
-Wed Oct 23 17:39:35 2013 Koichi Sasada <ko1@atdot.net>
+Fri Sep 16 12:02:12 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c: introduce tomb heap.
- Tomb heap is where zombie objects and ghost (freed slot) lived in.
- Separate from other heaps (now there is only eden heap) at sweeping
- helps freeing pages more efficiently.
- Before this patch, even if there is an empty page at former phase
- of sweeping, we can't free it.
+ * ext/syck/rubyext.c (syck_resolver_transfer): remove C++ style
+ comment (//). [ruby-core:05793]
- Algorithm:
- (1) Sweeping all pages in a heap and move empty pages from the
- heap to tomb_heap.
- (2) Check all existing pages and free a page
- if all slots of this page are empty and
- there is enough empty slots (checking by swept_num)
+Fri Sep 16 00:14:14 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- To introduce this patch, there are several tuning of GC parameters.
+ * test/logger/test_logger.rb: unintentionally overwritten changes by
+ Usa. reverted.
-Wed Oct 23 14:20:56 2013 Koichi Sasada <ko1@atdot.net>
+Fri Sep 16 00:06:18 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (gc_prof_sweep_timer_stop): catch up recent changes
- to compile on GC_PROFILE_MORE_DETAIL=1.
+ * lib/webrick/cgi.rb (WEBrick::CGI::Socket#initialize): should set
+ $stdout.binmode.
-Wed Oct 23 11:43:27 2013 Zachary Scott <e@zzak.io>
+Thu Sep 15 23:25:21 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * file.c: [DOC] fix rdoc format of File#expand_path from r43386
+ * lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.5.
-Tue Oct 22 21:58:28 2013 URABE Shyouhei <shyouhei@ruby-lang.org>
+ #nnn is a ticket number at http://dev.ctor.org/soap4r
- * vm_core.h (enum): avoid syntax error.
+ * SOAP
- * method.h: ditto.
+ * allow to configure an envelope namespace of SOAP request. (#124)
+ TemporaryNamespace = 'http://www.w3.org/2003/05/soap-envelope'
+ @client.options["soap.envelope.requestnamespace"] =
+ TemporaryNamespace
+ @client.options["soap.envelope.responsenamespace"] =
+ TemporaryNamespace
+ @client.do_proc(...)
- * internal.h: ditto.
+ * let SOAP request XML indent space configuable. see
+ "soap.envelope.no_indent" option. (#130)
-Tue Oct 22 19:53:16 2013 Koichi Sasada <ko1@atdot.net>
+ * let external CES configuable.
+ ex. client["soap.mapping.external_ces"] = 'SJIS'. $KCODE is used
+ by default. (#133)
+ external CES ::= CES used in Ruby object of client and server
+ internal CES ::= CES used in SOAP/OM
- * gc.c (Init_heap): move logics from heap_pages_init() and remove
- heap_pages_init().
+ * add iso-8859-1 external CES support. (#106)
-Tue Oct 22 19:19:05 2013 Koichi Sasada <ko1@atdot.net>
+ * fixed illegal 'qualified' handling of elements. it caused
+ ASP.NET inteoperability problem. (#144)
- * gc.c: allow multiple heaps.
- Now, objects are managed by page. And a set of pages is called heap.
- This commit supports multiple heaps in the object space.
+ * added 'soap.envelope.use_numeric_character_reference' (boolean)
+ option to let query XML use numeric character reference in XML,
+ not plain UTF-8 character. !GoogleSearch server seems to not
+ allow plain UTF-8 character since 2005-08-15 update. (#147)
- * Functions heap_* and rb_heap_t manages heap data structure.
- * Functions heap_page_* and struct heap_page manage page data
- structure.
- * Functions heap_pages_* and struct rb_objspace_t::heap_pages
- maintains all pages.
- For example, pages are allocated from the heap_pages.
+ * SOAP::Header::SimpleHeader (de)serialization throws an exception
+ on !SimpleHeader.on_(in|out)bound when header is a String. so we
+ could not use a simple single element headerItem. fixed. thanks
+ to emil. (#129)
- See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design
- and https://bugs.ruby-lang.org/attachments/4015/data-heap_structure_with_multiple_heaps.png
- for more details.
+ * out parameter of rpc operation did not work. (#132)
- Now, there is only one heap called `eden', which is a space for all
- new generated objects.
+ * follow HTTP redirect only if using http-access2. (#125) (#145)
-Tue Oct 22 18:26:12 2013 Tanaka Akira <akr@fsij.org>
+ * add a workaround for importing an WSDL whose path begins with
+ drive letter. (#115)
- * lib/pp.rb (object_address_group): Use Kernel#to_s to obtain the class
- name and object address.
- This fix a problem caused by %p in C generates variable length
- address.
- Reported by ko1 via IRC.
+ * WSDL
-Tue Oct 22 16:57:48 2013 Benoit Daloze <eregontp@gmail.com>
+ * SOAP Data which is defined as a simpletype was not mapped
+ correctly to Ruby obj when using wsdl2ruby.rb generated classdef
+ file. (#123)
- * file.c (File#expand_path): [DOC] improve documentation of File#expand_path.
- Based on patch by Prathamesh Sonpatki. [ruby-core:57734] [Bug #9002]
+ * rpc/literal support. (#118)
-Tue Oct 22 15:59:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * re-implemented local element qualify/unqualify control. handles
+ elementFormDefault and form in WSDL. (#119)
- * dir.c (glob_helper): don't skip current directories if FNM_DOTMATCH
- is given. [ruby-core:53108] [Bug #8006]
+ * Array of an element which has simpleType causes a crash. (#128)
-Tue Oct 22 14:53:11 2013 Koichi Sasada <ko1@atdot.net>
+ * prarmeterOrder may not contain return part so it can be shorter
+ than parts size. Thanks to Hugh. (#139)
- * vm_trace.c: exterminate Zombies.
- There is a bug that T_ZOMBIE objects are not collected.
- Because there is a pass to miss finalizer postponed job
- with multi-threading. This patch solve this issue.
+ * Samples
- * vm_trace.c (rb_postponed_job_register_one): set
- RUBY_VM_SET_POSTPONED_JOB_INTERRUPT(th) if another same job
- is registered.
- There is a possibility to remain a postponed job without
- interrupt flag.
+ * added !BasicAuth client sample. (#117)
- * vm_trace.c (rb_postponed_job_register_one): check interrupt
- carefully.
+ * added Base64 client/server sample.
- * vm_trace.c (rb_postponed_job_register_one): use additional space
- to avoid buffer full.
+ * added Flickr SOAP interface client sample. (#122)
- * gc.c (gc_finalize_deferred_register): check failure.
+ * added !SalesForce client sample. (#135)
- * thread.c (rb_threadptr_execute_interrupts): check
- `postponed_job_interrupt' immediately. There is a possibility
- to miss this flag.
+ * updated Thawte CA certificate for !GoogleAdWords sample.
-Tue Oct 22 12:11:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * updated a client script with the newer version made by Johan.
+ thanks!
- * configure.in: check if the given CFLAGS and LDFLAGS are working, and
- bail out early if not.
+ * shortened long file names. (#120)
-Tue Oct 22 00:06:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * fixed typo in authheader sample. (#129)
- * file.c (rb_file_exists_p): warn deprecated name. [Bug #9041]
+ * updated deprecated method usage. (#138)
-Mon Oct 21 23:57:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 15 23:02:57 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * encoding.c (load_encoding): should preserve outer errinfo, so that
- expected exception may not be lost. [ruby-core:57949] [Bug #9038]
+ * win32/win32.h (rb_w32_stat): added prototype.
-Sun Oct 20 15:41:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 15 22:35:55 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * io.c (rb_io_reopen): create a new, temporary FD via rb_sysopen and
- call rb_cloexec_dup2 on it to atomically replace the file fptr->fd
- points to. This leaves no possible window where fptr->fd is invalid
- to userspace (even for any threads running w/o GVL). based on the
- patch by Eric Wong <normalperson@yhbt.net> at [ruby-core:57943].
- [Bug #9036]
+ * test/ruby/test_signal.rb (test_exit_action): skip the test using
+ fork on fork-less platforms.
-Sun Oct 20 15:29:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 15 11:39:18 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * error.c (rb_syserr_fail_path_in): new function split from
- rb_sys_fail_path_in to raise SystemCallError without errno.
+ * ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,
+ TkDialogObj#name raises an exception. [ruby-talk:156109]
- * internal.h (rb_syserr_fail_path): like rb_sys_fail_path but without
- errno.
+Thu Sep 15 01:39:19 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sun Oct 20 13:58:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rinda/tuplespace.rb (Rinda::TemplateEntry::initialize): pull
+ up method. Tabs converted to spaces.
- * include/ruby/ruby.h (rb_obj_wb_unprotect, rb_obj_written),
- (rb_obj_write): suppress unused-parameter warnings.
+Thu Sep 15 00:18:24 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Oct 20 10:32:48 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/net/telnet.rb (Net::Telnet::waitfor): replace sysread with
+ readpartial. [ruby-talk:127641]
- * lib/rubygems: Update RubyGems to master 0886307. This commit
- improves documentation and should bring ruby above 75% documented on
- rubyci.
+Wed Sep 14 22:40:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Oct 20 09:30:56 2013 Eric Hodel <drbrain@segment7.net>
+ * dir.c (ruby_glob): glob function not using ruby exception system.
- * lib/rubygems: Update to RubyGems master 3de7e0f. Changes:
+Wed Sep 14 01:26:03 2005 Minero Aoki <aamine@loveruby.net>
- Only attempt to build extensions for newly-installed gems. This
- prevents compilation attempts at gem activation time for gems that
- already have extensions built.
+ * lib/net/https.rb: backported from trunk, rev 1.3.
+ [ruby-dev:25673] (again), [ruby-dev:26617] (again),
+ [ruby-dev:27062]
- Fix crash in the dependency resolver for dependencies that cannot be
- resolved.
+ * ext/openssl/lib/net/https.rb: removed.
- * test/rubygems: ditto.
+ * ext/openssl/lib/net/protocols.rb: removed.
-Sun Oct 20 05:24:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/http.rb: #use_ssl?, #use_ssl are moved from net/https.
- * variable.c (rb_class2name): should return real class name, not
- singleton class or iclass.
+Tue Sep 13 22:09:40 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun Oct 20 04:18:48 2013 Aman Gupta <ruby@tmm1.net>
+ * lib/logger.rb (Logger): added formatter accessor to logger for
+ dictating the way in which the logger should format the messages it
+ displays. Thanks to Nicholas Seckar (cf. [ruby-talk:153391]) and
+ Daniel Berger.
- * variable.c (rb_class2name): call rb_tmp_class_path() directly to
- avoid extra rb_str_dup() from rb_class_name().
+ * lib/logger.rb (Logger): added VERSION constant.
-Sat Oct 19 19:59:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/logger.rb: removed document for LogDevice. It is an
+ implementation detail and is not a public interface.
- * win32/file.c (code_page): use simple array instead of st_table.
+ * test/logger/test_logger.rb: added tests.
- * encoding.c (rb_locale_encindex): defer initialization of win32 code
- page table until encoding db loaded.
+Tue Sep 13 21:47:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Oct 19 08:25:05 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (BEGIN_CALLARGS): pop halfly pushed status.
+ fixed: [ruby-dev:26881]
- * gc.c: fix rb_objspace_t.
- * make "struct heap" and move most of variables
- in rb_objspace_t::heap.
- * rename rb_objspace_t::heap::sorted to
- rb_objspace_t::heap_sorted_pages
- and make a macro heap_sorted_pages.
- * rename rb_objspace_t::heap::range to
- rb_objspace_t::heap_range and rename macros
- lomem/himem to heap_lomem/heap_himem.
+Tue Sep 13 16:26:45 2005 Minero Aoki <aamine@loveruby.net>
-Sat Oct 19 07:14:40 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/net/http.rb: backported from trunk, rev 1.128.
+ [ruby-dev:25673] [ruby-dev:26617]
- * lib/rubygems: Update to RubyGems master 42543b6. Changes:
+ * lib/net/protocol.rb: backported from trunk, rev 1.78.
- Fix `gem update` for gems with multiple platforms.
+ * lib/net/protocol.rb: new method #old_open to support net/smtp
+ and net/pop.
- * test/rubygems: ditto.
+ * lib/net/smtp.rb: use #old_open.
-Sat Oct 19 06:55:52 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/net/pop.rb: ditto.
- * lib/rubygems: Update to RubyGems master 0a3814b. Changes:
+Tue Sep 13 12:33:05 2005 why the lucky stiff <why@ruby-lang.org>
- Fixed extension directory in Gem::Specification#require_paths.
+ * lib/yaml.rb: reworking YAML::Stream to use the new
+ emitter.
- Allow installation of gems when $HOME is nonexistent or unwritable.
+ * lib/yaml/stream.rb: ditto.
- Use proper API in InstallCommand.
+ * lib/yaml/rubytypes.rb: added Object#yaml_new.
- Improve support for path option in gem dependency files.
+ * lib/yaml/tag.rb: the tag_subclasses? method now
+ shows up in the class. allow taguri to be set using an accessor.
+ continue support of Object#to_yaml_type.
- Remove warnings.
+ * ext/syck/rubyext.c: new emitter code. yaml_new and yaml_initialize
+ get called, should they be present. consolidated all the diaspora of internal
+ node types into the family below YAML::Syck::Node -- Map,
+ Seq, Scalar -- all of whom are SyckNode structs pointing to
+ Ruby data. moved Object#yaml_new into the node_import and made it the
+ default behavior. the target_class is always called wih yaml_new, prepended
+ a parameter, which is the klass. loaded nodes through GenericResolver show their style.
+ new Resolver#tagurize converts type ids to taguris.
- * test/rubygems: ditto.
+ * ext/syck/implicit.re: were 'y' and 'n' seriously omitted??
-Fri Oct 18 15:23:34 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/emitter.c: renovated emitter, walks the tree in advance.
+ consolidated redundant block_styles struct into
+ the scalar_style struct. (this means loaded nodes can now
+ be sent back to emitter and preserve at least its very basic
+ formatting.)
- * gc.c: change terminology of heap.
- Change "slot" to "page". "Slot" is a space of RVALUE.
- 1. "Heap" consists of a set of "heap_page"s (pages).
- 2. Each "heap_page" has "heap_page_body".
- 3. "heap_page_body" has RVALUE (a.k.a. "slot") spaces.
- 4. "sorted" is a sorted array of "heap_page"s, sorted
- by address of heap_page_body (for "is_pointer_to_heap").
+ * ext/syck/gram.c: headless documents of any kind allowed.
- See https://bugs.ruby-lang.org/attachments/4008/data-heap_structure.png.
+ * ext/syck/node.c: new syck_replace_str methods and syck_empty_*
+ methods for rewriting node contents, while keeping the ID
+ and other setup info. added syck_seq_assign.
-Fri Oct 18 09:40:43 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/syck/syck.h: reflect block_styles and new node functions.
- * lib/rubygems: Update to RubyGems master cee6788. Changes:
+Mon Sep 12 20:53:06 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- Fix test failure on vc10-x64 Server on rubyci.org due to attempting
- to File.chmod where it is not supported.
+ * test/openssl/test_pkcs7.rb (test_enveloped): skip this test
+ to avoid a bug of PKCS7_enctypt() (only if ext/openssl is
+ compiled with OpenSSL-0.9.7d or earlier versions).
+ http://www.mail-archive.com/openssl-dev@openssl.org/msg17376.html
- Continuing work on improved gem dependencies file (Gemfile) support.
+Mon Sep 12 14:03:33 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test: ditto.
+ * test/dbm/test_dbm.rb: remove locking test, which may not be
+ supported on some platforms. [ruby-dev:27030]
-Fri Oct 18 06:02:49 2013 Eric Hodel <drbrain@segment7.net>
+Mon Sep 12 10:45:58 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems: Update to RubyGems master f738c67. Changes:
+ * ext/dl/dl.c (rb_io_to_ptr): merged a patch for DragonFly BSD
+ from Takahiro Kambe <taca at back-street.net>. [ruby-dev:27023]
- Fixed test bug for ruby with ENABLE_SHARED = no
+Sun Sep 11 22:05:51 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * test/rubygems: ditto.
+ * bin/erb (ERB::Main#run): set ERB#filename so that it is used
+ when reporting syntax/runtime errors. Tabs converted to spaces.
-Fri Oct 18 00:57:07 2013 Tanaka Akira <akr@fsij.org>
+Sat Sep 10 10:17:03 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/tsort.rb (TSort.tsort): Extracted from TSort#tsort.
- (TSort.tsort_each): Extracted from TSort#tsort_each.
- (TSort.strongly_connected_components): Extracted from
- TSort#strongly_connected_components.
- (TSort.each_strongly_connected_component): Extracted from
- TSort#each_strongly_connected_component.
+ * ext/openssl/ossl_engine.c (ossl_engine_s_by_id):
+ OpenSSL::Engine.by_id calls given block before calling
+ ENGINE_init (block parameter is the return value of this method
+ itself). this functionality is useful to load dynamic shared
+ engines. the following code is a sample of loading a key using
+ OpenSC PKCS #11 module.
-Thu Oct 17 18:50:08 2013 Koichi Sasada <ko1@atdot.net>
+ require "openssl"
+ pkcs11 = OpenSSL::Engine.by_id("dynamic"){|e|
+ e.ctrl_cmd("SO_PATH", "/usr/lib/opensc/engine_pkcs11.so")
+ e.ctrl_cmd("LIST_ADD", "1")
+ e.ctrl_cmd("LOAD")
+ }
+ pkcs11.ctrl_cmd("PIN", "secret")
+ key = pkcs11.load_private_key
- * gc.c (CALC_EXACT_MALLOC_SIZE_CHECK_OLD_SIZE): introduced.
- This macro enable checker compare with allocated memory and
- declared old_size of sized_xfree and sized_xrealloc.
+ * ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method
+ OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.
-Thu Oct 17 18:45:41 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method
+ OpenSSL::Engine#cmds. it returms engine command definitions.
- * string.c (STR_HEAP_SIZE): includes TERM_LEN(str).
+Sat Sep 10 10:09:47 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * string.c (rb_str_memsize): use STR_HEAP_SIZE().
+ * ext/openssl/ossl_asn1.c (asn1str_to_str): new function.
-Thu Oct 17 17:43:00 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.
+ this class wraps PKCS7_RECIP_INFO struct.
- * vm_insnhelper.c (vm_call_method): set ci->me to 0 when the
- original method of a refined method is undef to avoid SEGV.
+ * ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to
+ OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of
+ SignerInfo.)
- * vm_method.c (rb_method_entry_without_refinements): return 0 when
- the original method of a refined method is undef to avoid SEGV.
+ * test/openssl/test_pkcs7.rb: new file.
- * test/ruby/test_refinement.rb: related test.
+Sat Sep 10 10:05:51 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Oct 17 17:38:36 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): assume that
+ the argument is a DER string if Base64 decoding failed.
- * gc.c, internal.h: rename ruby_xsizefree/realloc to
- rb_sized_free/realloc.
+ * ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.
- * array.c: catch up these changes.
+ * test/openssl/test_ns_spki.rb: add new file.
- * string.c: ditto.
+Sat Sep 10 09:56:24 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Oct 17 17:32:51 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/lib/digest.rb: added SHA224, SHA256, SHA384 and SHA512.
+ these features are enabled if this library is compiled with
+ OpenSSL 0.9.8 or later.
- * array.c, string.c: use ruby_xsizedfree() and ruby_xsizedrealloc().
+ * test/openssl/test_digest.rb: add test for new digests.
- * internal.h (SIZED_REALLOC_N): define a macro as REALLOC_N().
+Sat Sep 10 09:51:30 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Oct 17 17:11:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl.c (ossl_raise): should use ERR_peek_last_error
+ to get last error on the current thread. And should report
+ errors on the stack while OpenSSL.debug is true.
- * win32/win32.c (console_emulator_p): check by comparison between
- module handle of WriteConsoleW and kernel32.dll.
+ * ext/openssl/ossl.c (ossl_get_errors): new method for debugging
+ this library.
- * configure.in, win32/Makefile.sub, win32/setup.mak: no longer need
- psapi.lib.
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): fix error message.
-Thu Oct 17 16:53:30 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid
+ of unused variable.
- * gc.c, internal.h: add new internal memory management functions.
- * void *ruby_xsizedrealloc(void *ptr, size_t new_size, size_t old_size)
- * void ruby_xsizedfree(void *x, size_t size)
- These functions accept additional size parameter to calculate more
- accurate malloc_increase parameter which control GC timing.
- [Feature #8985]
+ * ext/openssl/ossl_x509store.c (ossl_x509store_initialize): should
+ set @time to avoid warning.
-Thu Oct 17 14:21:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths,
+ X509_STORE_add_cert, X509_STORE_add_crl): should raise error if
+ wrapped functions failed.
- * win32/file.c (rb_file_expand_path_internal): fix memory leaks at
- a non-absolute home exception.
+ * test/openssl/test_x509store.rb: add test for errors.
-Thu Oct 17 14:06:39 2013 Koichi Sasada <ko1@atdot.net>
+Fri Sep 9 22:13:19 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/objspace/object_tracing.c (newobj_i): fix memory leak.
- There is possibility to remain info due to missing FREEOBJ event.
- FREEOBJ events are skipped while suppress_tracing state, for example,
- during trace events are invoking.
+ * eval.c (rb_call0): prohibit calling tainted method (>2) when
+ $SAFE == 0.
-Thu Oct 17 12:30:16 2013 Tanaka Akira <akr@fsij.org>
+Fri Sep 9 16:45:25 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/tsort.rb (TSort.each_strongly_connected_component_from):
- Extracted from TSort#each_strongly_connected_component_from.
+ * string.c (rb_str_times): make empty strings to keep taintness,
+ and a little improvement. [ruby-dev:26900]
-Thu Oct 17 11:07:06 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/iconv/iconv.c (iconv_try), ext/iconv/extconf.rb: get rid of meta
+ characters in command line option. fixed: [ruby-talk:155369]
- * lib/rubygems: Update to RubyGems master 941c21a. Changes:
+Thu Sep 8 14:58:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- Restored method bundler wants to remove for compatibility.
+ * merged a patch from Takahiro Kambe <taca at back-street.net> to
+ support DragonFly BSD. [ruby-dev:26984]
- Improvements to Gemfile compatibility.
+Wed Sep 7 12:55:08 2005 Tanaka Akira <akr@m17n.org>
- * test/rubygems: ditto.
+ * lib/open-uri.rb: abolish mod === tempfile to avoid a problem
+ [ruby-dev:26967].
-Thu Oct 17 08:08:11 2013 Koichi Sasada <ko1@atdot.net>
+Wed Sep 7 10:45:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/objspace/object_tracing.c (newobj_i): add workaround.
- some bugs hits this check.
+ * eval.c (rb_thread_switch): convert all exceptions to
+ SystemExit. fixed: [ruby-core:05724]
- * ext/objspace/object_tracing.c (object_allocations_reporter_i): cast as pointer.
+ * eval.c (rb_thread_terminated): show backtrace before propagate
+ exceptions to main thread.
-Thu Oct 17 07:36:53 2013 Eric Hodel <drbrain@segment7.net>
+Wed Sep 7 08:35:04 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rubygems: Update to RubyGems master 2abce58. Changes:
+ * Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load
+ extension libraries.
- Fixed documentation generation when sdoc and json are installed as
- gems.
+ * bignum.c (bignew_1, bigadd): K&R style argument actually can't be
+ defined as char.
- Added some missing documentation.
+ * missing/vsnprintf.c: ANSI compiler supports const keyword.
-Thu Oct 17 07:10:26 2013 Zachary Scott <e@zzak.io>
+ * ext/digest/sha2/extconf.rb: reject platforms which has inttypes.h
+ but no 64bit integer.
- * ext/curses/curses.c: [DOC] Cleaned up formatting consistency of rdoc
- comments for Curses, including period spacing and column width.
+ * lib/mkmf.rb (what_type?): guesstimate type.
- This patch also fixed some typos. Thanks to @postmodern for the patch!
- [Fixes GH-420] https://github.com/ruby/ruby/pull/420
+ * ext/etc/etc.c (setup_passwd), ext/etc/extconf.rb: pw_age might be
+ char*. fixed: [ruby-core:05470]
-Thu Oct 17 06:58:42 2013 Zachary Scott <e@zzak.io>
+Wed Sep 7 08:32:47 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/date/date_core.c: [DOC] plural grammar fixed by @scott113341
- Contributed via documenting-ruby.org: documenting-ruby/ruby#16
- https://github.com/documenting-ruby/ruby/pull/16
+ * object.c (rb_mod_cvar_get, rb_mod_cvar_set): document fix from
+ sheepman <sheepman@sheepman.sakura.ne.jp>; a bug in visibility
+ description. [ruby-dev:26965]
-Thu Oct 17 05:52:31 2013 Zachary Scott <e@zzak.io>
+ * sprintf.c (rb_f_sprintf): warn "too many argument" on verbose
+ mode (-v/-w); backported from 1.9. [ruby-dev:26963]
- * ext/io/nonblock/nonblock.c: [DOC] Document io/nonblock by reprah
- [Fixes GH-418] https://github.com/ruby/ruby/pull/418 based on the
- original discussion from documenting-ruby/ruby#18
+Mon Sep 5 17:03:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Oct 17 05:40:33 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/ostruct.rb: a patch from Florian Gross <florgro at gmail.com>
+ merged to allow recursive inspect (and to_s) for OpenStruct.
+ [ruby-core:05532]
- * gc.c (objspace_each_objects): do not skip empty RVALUEs.
+Mon Sep 5 07:01:12 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Oct 17 05:31:31 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/openssl/lib/openssl/buffering.rb (Buffering#do_write):
+ should clear data from the buffer which already been output.
- * error.c (rb_bug_reporter_add): return simply 0 if failed.
- Please check return value.
+Fri Sep 2 23:51:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Oct 17 05:17:33 2013 Koichi Sasada <ko1@atdot.net>
+ * lib: do not use __send__ to access private methods. [ruby-dev:26935]
- * ext/objspace/object_tracing.c: add new method
- ObjectSpace.trace_object_allocations_debug_start for GC debugging.
- If you encounter the BUG "... is T_NONE" (and so on) on your
- application, please try this method at the beginning of your app.
+Fri Sep 2 03:29:00 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
-Wed Oct 16 22:35:27 2013 Zachary Scott <e@zzak.io>
+ * lib/irb/init.rb: make IRB -I option that is same befavior for ruby.
+ [ruby-dev:26872], [ruby-dev: 26920]
- * ext/io/nonblock/nonblock.c: use rb_cIO instead of VALUE
+ * lib/irb/locale.rb: support to print help message when OS locale is
+ ja_JP.utf-8. [ruby-dev:26872]
-Wed Oct 16 17:45:13 2013 Koichi Sasada <ko1@atdot.net>
+Thu Sep 1 17:11:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bootstraptest/runner.rb: check nil before calling `signal?'
- for a process status.
+ * eval.c (rb_call0): wrong condition for $SAFE restoration.
-Wed Oct 16 17:37:17 2013 Koichi Sasada <ko1@atdot.net>
+Thu Sep 1 14:12:45 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * error.c, internal.h (rb_bug_reporter_add): add a new C-API.
- rb_bug_reporter_add() allows to register a function which
- is called at rb_bug() called.
+ * ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't
+ work (gives wrong order of arguments).
- * ext/-test-/bug_reporter/bug_reporter.c: add a test for this C-API.
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace
+ to support '-namespace' option of 'interp invokehidden' command
+ on Tcl8.5.
- * ext/-test-/bug_reporter/extconf.rb: ditto.
+Wed Aug 31 14:43:15 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/-ext-/bug_reporter/test_bug_reporter.rb: ditto.
+ * win32/Makefile.sub (OPTFLAGS): default global optimization to
+ disabled for all VC++ versions. fixed: [ruby-dev:26897]
-Wed Oct 16 15:14:21 2013 Koichi Sasada <ko1@atdot.net>
+Wed Aug 31 11:35:43 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * NEWS: add a line into NEWS for last commit.
+ * test/gdbm/test_gdbm.rb (teardown): should remove GDBM temporary
+ file.
-Wed Oct 16 15:09:14 2013 Koichi Sasada <ko1@atdot.net>
+Wed Aug 31 10:30:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/objspace/objspace.c: add a new method `reachable_objects_from_root'.
- ObjectSpace.reachable_objects_from_root returns all objects referred
- from root (called "root objects").
- This feature is for deep object analysis.
+ * process.c (proc_detach, proc_setmaxgroups): missing argument type
+ declaration. (I recommend ANSI-style function)
- * test/objspace/test_objspace.rb: add a test.
+Tue Aug 30 23:20:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 16 15:00:21 2013 Eric Hodel <drbrain@segment7.net>
+ * eval.c (rb_rescue2): initialization miss. fixed: [ruby-dev:26917]
- * lib/rubygems: Update to RubyGems master b955554. Changes:
+ * lib/mkmf.rb (xsystem, xpopen): no longer expand by Config.
- Fixed NameError for Gem::Ext due to re-entering file lookup in
- RubyGems' overridden require. Bug by Koichi Sasada.
+ * lib/mkmf.rb (link_command, cc_command, cpp_command): expand
+ variables at once, and quote hdrdir. fixed: [ruby-core:05680]
- Fixed possible circular require warning in tests.
+ * lib/mkmf.rb (libpathflag): quote paths.
- Used existing constant for `gem install -g` dependency file list.
+Tue Aug 30 19:34:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/rubygems: ditto.
+ * ext/digest/md5/md5ossl.h, ext/digest/rmd160/rmd160ossl.h,
+ ext/digest/sha1/sha1ossl.h: include <stddef.h> to avoid
+ error in compilation with OpenSSL-0.9.8. [ruby-list:41068]
-Wed Oct 16 09:42:42 2013 Eric Hodel <drbrain@segment7.net>
+Mon Aug 29 19:54:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/rubygems: Update to RubyGems master 278d00d. Changes:
+ * lib/rdoc/usage.rb: improper exceptions. [ruby-dev:26870]
- Fixes building extensions without a "clean" make rule
+ * lib/rdoc/usage.rb: support the case when non-ruby code exists before
+ shebang. (this is needed when ri.bat is executed on windows)
- Adds gem dependency file autodetection to "gem install -g"
+Mon Aug 29 17:48:17 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rubygems: Tests for the above.
+ * eval.c (method_arity): should return proper arity value.
+ [ruby-dev:26390]
-Wed Oct 16 09:12:23 2013 Eric Hodel <drbrain@segment7.net>
+Mon Aug 29 01:19:57 2005 Tanaka Akira <akr@m17n.org>
- * lib/rubygems: Update to RubyGems master commit 2a74263. This fixes
- several bugs in RubyGems 2.2.0.preview.1.
+ * lib/time.rb (Time.parse): extract fractional seconds using
+ Date._parse. [ruby-talk:153859]
- * test/rubygems: ditto.
+Sat Aug 27 20:20:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Oct 16 07:25:02 2013 Aman Gupta <ruby@tmm1.net>
+ * ext/curses/curses.c ({curses,window}_clrtoeol): added. suggested
+ by Reyn Vlietstra.
- * gc.c (gc_mark_roots): rename roots to be categories
- instead of function names.
+ * ext/curses/curses.c: chtype in curses is not `char', rahter `long'.
+ [ruby-Bugs:2298]
-Tue Oct 15 19:18:13 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/curses/view.rb: String =~ String is deprecated.
- * gc.h (rb_objspace_reachable_objects_from_root): added.
- This API provides information which objects are root objects.
- `category' shows what kind of root objects.
+Wed Aug 24 10:53:28 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (gc_mark_roots): separate from gc_marks_body().
+ * test/logger/test_logger.rb (test_shifting_size): should close log
+ device before unlink, since some platform cannot unlink opened
+ file.
-Tue Oct 15 17:47:59 2013 Tanaka Akira <akr@fsij.org>
+Sun Aug 21 00:13:27 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * process.c: Fix a typo. MacOS X doesn't have ENOTSUPP.
+ * lib/wsdl/xmlSchema/importer.rb (WSDL::XMLSchema::Importer#fetch): add
+ a workaround for importing an WSDL whose path begins with drive
+ letter. [ruby-dev:26242]
-Mon Oct 14 12:32:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Aug 20 22:37:13 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ruby.c (process_options): load statically linked extensions before
- rubygems, because of ext/thread.
+ * lib/logger.rb (write, shift_log?, shift_log): file shifting race
+ condition bug fixed. [ruby-dev:26764]
- * ruby.c (process_options): use gem_prelude instead of requiring
- rubygems directly when --enable=gems is given.
+ * test/logger/test_logger.rb: tests.
- * Makefile.in (DEFAULT_PRELUDES): always use gem_prelude regardless of
- --disable-rubygems.
+Fri Aug 19 18:13:39 2005 Tanaka Akira <akr@m17n.org>
-Mon Oct 14 11:07:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/time.rb (Time.apply_offset): fix a problem with last day of
+ month. reported by Lucas Nussbaum. [ruby-talk:152866]
- * lib/mkmf.rb (have_framework): should append framework options to
- $LIBS, not $LDFLAGS. The former is propagated to exts.mk when
- enable-static-linked-ext.
+Thu Aug 18 12:46:28 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/mkmf.rb (create_makefile): ranlib on static library, not DLLIB.
+ * bcc32/Makefile.sub (COMMON_HEADERS): reverted 1.42.2.24.
+ I misunderstood, bccwin32 on ruby_1_8 uses winsock2 originally.
+ [ruby-dev:26806]
-Sun Oct 13 23:53:40 2013 Andrew Grimm <andrew.j.grimm@gmail.com>
+ * win32/win32.h: include winsock2.h instead of winsock.h. (bcc32)
- * vsnprintf.c: Fix spelling from compliment to complement.
- Patch by @agrimm.
+Wed Aug 17 23:58:05 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h: ditto
+ * object.c (rb_to_integer): argument constified.
-Sun Oct 13 20:59:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (terminate_process): take String message.
- * vm.c (Init_BareVM): initialize defined_module_hash here,
- Init_top_self() is too late to register core classes/modules.
+ * eval.c (rb_thread_switch): propagate the exception caused thread
+ termination directly. fixed: [ruby-core:05552]
- * compile.c (compile_array_): no hash to merge if it is empty.
+Wed Aug 17 00:05:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm.c (m_core_hash_merge_kwd): just check keys if only one argument
- is given, without merging.
+ * eval.c (rb_add_method): preserve safe level in the environment
+ where a method is defined .
-Sat Oct 12 06:35:01 2013-10-11 Eric Hodel <drbrain@segment7.net>
+ * eval.c (rb_call0): restore preserved safe level in the method
+ execution.
- * lib/rake: Update to rake 10.1.0
- * bin/rake: ditto.
- * test/rake: ditto.
+Mon Aug 15 00:38:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * NEWS: Update NEWS to include rake 10.1.0 and links to release notes.
+ * eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE.
+ [ruby-dev:26800]
-Sat Oct 12 03:26:04 2013 Koichi Sasada <ko1@atdot.net>
+ * range.c (range_check, range_init): reduce useless exceptions.
- * class.c, variable.c, gc.c (rb_class_tbl): removed.
+Sat Aug 13 18:51:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm.c, vm_core.h (rb_vm_add_root_module): added to register as a
- defined root module or class.
- This guard helps mark miss from defined classes/modules they are
- only referred from C's global variables in C-exts.
- Basically, it is extension's bug.
- Register to hash object VM has.
- Marking a hash objects allows generational GC supports.
+ * eval.c (rb_block_pass): distinguish current block from others.
+ fixed: [ruby-dev:26274]
- * gc.c (RGENGC_PRINT_TICK): disable (revert).
+ * ext/stringio/stringio.c (strio_set_string): disallow nil.
+ http://www.rubyist.net/~nobu/t/20050811.html#c05
-Sat Oct 12 03:24:49 2013 Koichi Sasada <ko1@atdot.net>
+Thu Aug 11 23:29:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_method.c (rb_gc_mark_unlinked_live_method_entries):
- revert last commit to introduce debug prints.
+ * ext/stringio/stringio.c: keep holding string after closed.
-Fri Oct 11 21:05:19 2013 Koichi Sasada <ko1@atdot.net>
+Thu Aug 11 13:01:48 2005 Kouhei Sutou <kou@cozmixng.org>
- * internal.h, parse.y: use `full_mark' instead of `full_marking'.
+ * lib/rss: fixed sort bug. [ruby-list:41018]
-Fri Oct 11 20:58:16 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/1.0.rb (RSS::RDF::Channel#setup_maker_attributes):
+ removed self.
- * gc.c: use terminology `full_mark' instead of `minor_gc'
- in mark functions.
+ * lib/rss/maker/base.rb (RSS::Maker::ItemsBase#<=>): use #date
+ instead of @date.
+ (RSS::Maker::Base::self.def_array_element): added #size.
-Fri Oct 11 20:46:09 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/maker/1.0.rb
+ (RSS::Maker::RSS10::Channel#to_rss,
+ RSS::Maker::RSS10::Items::Item#to_rss): cleared dc_dates set
+ upped by using #date.
- * gc.c: use __GNUC__ instead of __GCC__.
+ * lib/rss/maker/dublincore.rb
+ (RSS::Maker::ChannelBase, RSS::Maker::ItemsBase::ItemBase):
+ fixed opposite alias.
-Fri Oct 11 20:35:59 2013 Koichi Sasada <ko1@atdot.net>
+ * test/rss/test_setup_maker_1.0.rb
+ (RSS::TestSetupMaker10::test_setup_maker_items_sort): added some
+ tests for RSS::Maker::ItemsBase#do_sort.
- * gc.c, parse.y: support generational Symbol related marking.
- Each symbols has String objects respectively to represent
- Symbols.
- These objects are marked only when:
- * full marking
- * new symbols are added
- This hack reduce symbols (related strings) marking time.
- For example, on my Linux environment, the following code
- "20_000_000.times{''}"
- with 40k symbols (similar symbol number on Rails 3.2.14 app,
- @jugyo tells me) boosts, from 7.3sec to 4.2sec.
+Wed Aug 10 10:29:40 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * internal.h: change prototype of rb_gc_mark_symbols().
+ * ext/tk/lib/tk.rb: fix bug on handling __ruby2val_optkeys().
-Fri Oct 11 19:27:22 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/tk/itemconfig.rb: fix bug on handling
+ __item_ruby2val_optkeys().
- * misc/ruby-electric.el: Import ruby-electric.el 2.0.1 which fixes
- a bug and a flaw with auto-end introduced in the revamp.
+ * ext/tk/lib/tk/canvas.rb: didn't check __item_ruby2val_optkeys().
- * ruby-forward-sexp is inappropriate here because it moves the
- cursor past the keyword.
+ * ext/tk/lib/tkextlib/blt/component.rb: ditto.
- * Fix a reversed looking-back check in
- ruby-electric--block-beg-keyword-at-point-p.
+Tue Aug 9 15:12:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * Do not add end again if space or return is hit repeatedly
- after a block beginning keyword.
+ * ext/tcltklib/tcltklib.c: remove dangerous 'rb_jump_tag's.
-Fri Oct 11 18:12:47 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to
+ help to convert option values between ruby and tcl.
- * ext/objspace/gc_hook.c: prohibit reentrant.
+ * ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and
+ __item_ruby2val_optkeys to help to convert option values between
+ ruby and tcl.
-Fri Oct 11 18:11:34 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'
+ option (for the reason of backward compatibility).
- * vm_trace.c (rb_postponed_job_flush): fix bit operation.
+ * ext/tk/lib/tk/composite.rb: clarify the arguments of super().
-Fri Oct 11 17:33:24 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/tk/spinbox.rb: ditto.
- * misc/ruby-electric.el: Import ruby-electric.el 2.0 from
- https://github.com/knu/ruby-electric.el which integrates changes
- from another fork by @qoobaa.
+ * ext/tk/lib/tk/text.rb: ditto.
- * Allow ruby-electric-mode to be disabled by introducing a
- dedicated key map. Electric key bindings are now defined in
- ruby-electric-mode-map instead of overwriting ruby-mode-map.
+ * ext/tk/lib/tk/validation.rb: ditto.
- * Add ruby-electric-mode-hook.
+ * ext/tk/lib/tkextlib/*: support to treat tkvariable-type
+ configure options.
- * Use a remap in binding ruby-electric-delete-backward-char.
+Tue Aug 9 20:30:19 2005 Tadashi Saito <shiba@mail2.accsnet.ne.jp>
- * Totally revamp electric keywords and then introduce electric
- return. Modifier keywords are now properly detected making
- use of ruby-mode's indentation level calculator, and
+ * bignum.c (rb_big_coerce): allow bignum x bignum coercing.
+ [ruby-dev:26778]
- * block-mid keywords (then, else, elsif, when, rescue and
- ensure) also become electric with automatic reindentation.
+Mon Aug 8 20:43:02 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * Add standardized comments for ELPA integration.
+ * test/ruby/test_method.rb: added. [ruby-dev:26761]
- * Fix interaction with smartparens-mode by disabling its end
- keyword completion, since ruby-electric has become more clever
- at it.
+Sun Aug 7 23:50:14 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * The custom variable `ruby-electric-keywords` is changed to
- `ruby-electric-keywords-alist`, allowing user to fine-grained
- configuration.
+ * test/ruby/test_super.rb: added from HEAD. [ruby-dev:26743]
-Fri Oct 11 16:53:28 2013 Koichi Sasada <ko1@atdot.net>
+Sun Aug 7 01:31:15 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * vm_trace.c (rb_postponed_job_flush): simplify.
+ * ext/win32ole/win32ole.c (WIN32OLE_EVENT#on_event): should set
+ only one event handler.
-Fri Oct 11 03:36:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/win32ole/tests/testOLEEVENT.rb: ditto.
- * thread.c (rb_threadptr_execute_interrupts): flush postponed job only
- once at last.
+ * ext/win32ole/tests/testOLEPARAM.rb: remove re-defined
+ test_ole_type_detail method.
- * vm_trace.c (rb_postponed_job_flush): defer calling postponed jobs
- registered while flushing to get rid of infinite reentrance of
- ObjectSpace.after_gc_start_hook. [ruby-dev:47400] [Bug #8492]
+Sat Aug 6 12:35:24 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Oct 10 23:04:00 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/{tk.rb,tk/itemconfig.rb}: configure creates
+ TkVariable if key name is 'variable' or 'textvariable'
+ by default. [ruby-dev:26749]
- * array.c (rb_ary_or): remove unused variables.
+ * ext/tk/lib/tk/{label,radiobutton}.rb: removed its own
+ {variable,textvariable} function.
-Thu Oct 10 23:01:16 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/variable.rb: retains backward conpatibility.
- * array.c (rb_ary_or): use rb_hash_keys().
+Fri Aug 5 12:50:32 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Oct 10 21:36:16 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tcltklib/tcltklib.c: fixed memory leak when tk_funcall raised
+ exception. (copies argv into heap in tk_funcall instead of
+ caller)
- * array.c (rb_ary_compact_bang): use ary_resize_smaller().
+Fri Aug 5 12:42:57 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Oct 10 17:25:28 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/mkmf.rb (create_makefile): need to convert path separetor
+ before invoking install command.
- * vm.c (vm_exec): support :b_return event for "lambda{return}.call".
- [Bug #8622]
+Fri Aug 5 00:27:04 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/ruby/test_settracefunc.rb: add a test.
+ * ext/tcltklib/tcltklib.c: refactoring - extract ruby string <->
+ tcl object conversion as get_str_from_obj and get_obj_from_str.
-Thu Oct 10 13:52:37 2013 Koichi Sasada <ko1@atdot.net>
+Fri Aug 5 00:19:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_trace.c (postponed_job): use preallocated buffer.
- Pre-allocate MAX_POSTPONED_JOB (1024) sized buffer
- and use it.
- If rb_postponed_job_register() cause overflow, simply it
- fails and returns 0.
- And maybe rb_postponed_job_register() is signal safe.
+ * extmk.rb (extmake): needs to be wrapped in an Array.
- * vm_core.h: change data structure.
+Thu Aug 4 18:38:36 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Oct 10 11:11:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c: cannot compile for Tcl7.6/Tk4.2.
- * vm.c (Init_VM): hide also the singleton class of frozen-core, not
- only frozen-core itself.
+ * ext/tcltklib/tcltklib.c: add nativethread consistency check.
-Thu Oct 10 06:02:08 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tcltklib/stubs.c: ditto.
- * test/ruby/test_rand.rb: fix r43224. local variable `e' is
- no longer available.
+ * ext/tk/lib/tk.rb: forgot to define TclTkIp.encoding and encoding=
+ when Tcl is 7.6 or 8.0.
-Thu Oct 10 00:02:35 2013 Yusuke Endoh <mame@tsg.ne.jp>
+ * ext/tk/lib/tk/wm.rb: support to make some methods as options of
+ root or toplevel widget. [ruby-talk:150336]
- * numeric.c (fix_aref): avoid a possible undefined behavior.
- 1L << 63 on 64-bit platform is undefined, at least, according to
- ISO/IEC 9899 (C99) 6.5.7.
+ * ext/tk/lib/tk/root.rb: ditto.
-Wed Oct 9 23:57:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/toplevel.rb: ditto.
- * object.c (id_for_attr): avoid inadvertent symbol creation.
+ * ext/tk/lib/tkextlib/SUPPRT_STATUS: update RELEASE_DATE
-Wed Oct 9 18:03:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Aug 4 08:03:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_method.c (rb_attr): preserve encoding of the attribute ID in
- error message.
+ * ext/extmk.rb (extmake): should not modify $mflags for each
+ extentions.
-Wed Oct 9 17:40:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Aug 4 00:25:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_fstring): because of lazy sweep, str may be unmarked
- already and swept at next time, so mark it for the time being.
- [ruby-core:57756]
+ * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated
+ macro definitions.
-Wed Oct 9 13:53:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.
- * compar.c (cmp_eq): fail if recursion. [ruby-core:57736] [Bug #9003]
+ * {win32,wince}/Makefile.sub: separate config.h for compiler versions.
- * thread.c (rb_exec_recursive_paired_outer): new function which is
- combination of paired and outer variants.
+Wed Aug 3 21:59:16 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Oct 9 09:18:14 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/variable.rb: TkVariable#trace didn't work on
+ TkVariable retrived from TkVariable.new_hash.ref. [ruby-dev:26721]
- * include/ruby/debug.h,
- vm_backtrace.c (rb_profile_frame_full_label): add new C API
- rb_profile_frame_full_label() which returns label with
- qualified method name.
- Note that in future version of Ruby label() may return
- same return value of full_label().
+Wed Aug 3 08:22:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/-test-/debug/profile_frames.c,
- test/-ext-/debug/test_profile_frames.rb: fix a test for this change.
+ * ext/socket/socket.c (ruby_connect): revert [ruby-talk:111654]
+ changes at 2004-09-07. [ruby-dev:26656]
+Tue Aug 2 10:20:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Oct 9 00:55:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c: use Tcl_[GS]etVar2Ex instead of
+ Tcl_Obj[GS]etVar2. (avoid Tcl_NewStringObj on supported platforms)
- * load.c (load_lock): display backtrace to $stderr at circular
- require.
+ * ext/tcltklib/tcltklib.c: use ip_{get,set,unset}_variable2_core from
+ ip_{get,set,unset}_variable.
- * vm_backtrace.c (rb_backtrace_print_to): new function to print
- backtrace to the given output.
+ * ext/tcltklib/tcltklib.c: replaced Tcl_Panic with rb_bug.
-Tue Oct 8 21:03:35 2013 Koichi Sasada <ko1@atdot.net>
+Tue Aug 2 01:41:28 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_backtrace.c, include/ruby/debug.h: add new APIs
- * VALUE rb_profile_frame_method_name(VALUE frame)
- * VALUE rb_profile_frame_qualified_method_name(VALUE frame)
+ * lib/ping.rb (Ping.pingecho): should rescue StandardError.
+ [ruby-dev:26677]
- * iseq.c (rb_iseq_klass), internal.h: add new internal function
- rb_iseq_method_name().
+Mon Aug 1 19:09:41 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/-test-/debug/profile_frames.c (profile_frames),
- test/-ext-/debug/test_profile_frames.rb: add a test.
+ * ext/tcltklib/tcltklib.c: refactoring - replaced rb_ivar_defined &
+ rb_ivar_get with single rb_attr_get call.
-Tue Oct 8 16:11:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Aug 1 18:45:07 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * array.c (rb_ary_uniq): use rb_hash_values(), as well as the case no
- block is given.
+ * ext/tcltklib/tcltklib.c (Tcl_GetStringResult): refactoring - define
+ alternative macro on Tcl7.x or earlier.
- * internal.h: define rb_hash_values() as internal API.
+Mon Aug 1 13:57:35 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Oct 8 13:53:21 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tcltklib/tcltklib.c (deleted_ip): refactoring - interpreter
+ deletion check. [ruby-dev:26664]
- * array.c (rb_ary_uniq): use rb_hash_keys().
+Mon Aug 1 01:17:40 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * internal.h: define rb_hash_keys() as internal API.
+ * lib/drb/drb.rb (check_insecure_method): use private_methods and
+ protected_methods instead of respond_to? to check method visibility.
+ [ruby-dev:26616]
- * hash.c (rb_hash_keys): ditto.
+ * test/drb/drbtest.rb: ditto.
-Tue Oct 8 10:56:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * test/drb/ut_drb.rb: ditto.
- * cont.c: disable FIBER_USE_NATIVE on GNU/Hurd because it doesn't
- support a combination getcontext() and threads. Patch by
- Gabriele Giacone (1o5g4r8o@gmail.com). [Bug #8990][ruby-core:57685]
+Mon Aug 1 00:07:32 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
+ * lib/irb/context.rb: fix `irb --readline` option. [ruby-list:40955]
-Tue Oct 8 05:58:12 2013 Tanaka Akira <akr@fsij.org>
+Fri Jul 29 09:59:38 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/time.rb (Time.strptime): Time.strptime('0', '%s') returns local
- time Time object as Ruby 2.0 and before.
+ * eval.c (rb_yield_0): push yielded node instead of yielding.
+ fixed: [yarv-dev:549]
-Tue Oct 8 05:40:37 2013 Eric Hodel <drbrain@segment7.net>
+Thu Jul 28 18:09:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * .travis.yml: Rebuild Travis CI's "ruby-head" version on successful
- build. Patch by Konstantin Haase. [Fixes GH-417]
- https://github.com/ruby/ruby/pull/417
+ * ext/tcltklib/stubs.c: When --enable-tcltk-stubs, the initialize
+ routine creates a Tcl/Tk interpreter and deletes it. However,
+ init cost of Tk's MainWindow is not so small. And that makes it
+ impossible to use libraries written with Tcl functions only on
+ an environment without a graphical display. This changes support
+ delaying initalization of Tk_Stubs until the script needs Tk.
-Tue Oct 8 04:28:25 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tcltklib/stubs.h: New file. Define prototypes and return
+ codes of functions on stubs.c.
- * misc/ruby-mode.el: Use preceding-char/following-char
- (returning 0 at BOF/EOF) instead of char-before/char-after
- (returning nil at BOF/EOF) to avoid error from char-syntax when
- at BOF/EOF.
+ * ext/tcltklib/tcltklib.c: Support delaying initalization of
+ Tk_Stubs until the script needs Tk.
-Tue Oct 8 04:12:45 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tcltklib/tcltklib.c: Show friendly error messages for errors
+ on initialization.
- * misc/ruby-additional.el (ruby-mode-set-encoding): Add a missing
- else clause to unbreak with `cp932`, etc.
+ * ext/tcltklib/tcltklib.c: Avoid SEGV on ip_finalize() when ruby is
+ exiting and $DEBUG is true. (Not fix. If you know the reason of
+ why, please fix it.)
- * misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.
+ * ext/tk/tkutil.c (ary2list, ary2list2): bug fix on handling of
+ encoding.
-Tue Oct 8 03:57:34 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string
+ don't work propery.
- * misc/ruby-additional.el (ruby-mode-set-encoding): Use
- `default-buffer-file-coding-system` if the :prefer-utf-8
- property is not available.
+ * ext/tk/lib/tk.rb: Forget extending Tk::Encoding module to Tk.
+ * ext/tk/lib/tk/variable.rb: TkVarAccess fails to initialize the
+ object for an element of a Tcl's array variable.
- * misc/ruby-mode.el (ruby-mode-set-encoding): Ditto.
+Wed Jul 27 23:23:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * misc/ruby-additional.el (ruby-encoding-map): Override the
- default value.
+ * gc.c (obj_free): make message format consistent with one from
+ gc_mark(). [ruby-talk:149668]
-Tue Oct 8 03:19:19 2013 Akinori MUSHA <knu@iDaemons.org>
+Wed Jul 27 22:11:37 2005 Kouhei Sutou <kou@cozmixng.org>
- * misc/ruby-additional.el (ruby-mode-set-encoding): Add support
- for `prefer-utf-8` which was introduced in Emacs trunk.
+ * sample/rss/tdiary_plugin: removed. because the plugin
+ is imported in the tDiary plugin packages.
- * misc/ruby-additional.el (ruby-encoding-map): Add a mapping from
- `japanese-cp932` to `cp932` to fix the problem where saving a
- source file written in Shift_JIS twice would end up having
- `coding: japanese-cp932` which Ruby could not recognize.
+Wed Jul 27 10:59:02 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * misc/ruby-additional.el (ruby-mode-set-encoding): Add support
- for encodings mapped to nil in `ruby-encoding-map`.
+ * dir.c (dir_each): rewinddir(3) before iteration.
+ [ruby-talk:149628]
- * misc/ruby-additional.el (ruby-encoding-map): Map `us-ascii` and
- `utf-8` to nil by default, meaning they need not be explicitly
- declared in magic comment.
+Tue Jul 26 12:57:49 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * misc/ruby-additional.el (ruby-encoding-map): Add type
- declaration for better customize UI.
+ * ext/openssl/openssl_missin.c: include <openssl/engine.h> before
+ <openssl/x509_vfy.h> to avoid compilation error of mswin32.
+ suggested by NAKAMURA Usaku.
- * misc/ruby-mode.el: Ditto for the above.
+Mon Jul 25 21:30:46 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Oct 8 00:14:53 2013 Akinori MUSHA <knu@iDaemons.org>
+ * {bcc32,win32,wince}/Makefile.sub: moved CPPFLAGS only for ruby
+ source to XCFLAGS.
- * misc/ruby-additional.el: Add a standard header and footer,
- including (provide 'ruby-additional).
+Mon Jul 25 13:45:18 2005 NAJIMA Hiroki <najima@mickey.ai.kyutech.ac.jp>
-Mon Oct 7 22:52:45 2013 Akinori MUSHA <knu@iDaemons.org>
+ * io.c: check HAVE_SYS_IOCTL_H before including the header.
+ [ruby-dev:26610]
- * misc/ruby-electric.el (ruby-electric-space-can-be-expanded-p):
- Return nil to avoid "end" insertion when in smartparens-mode
- that is configured to insert "end" for the same keyword.
+Mon Jul 25 14:10:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * misc/ruby-electric.el (ruby-electric-keywords): New custom
- variable to replace `ruby-electric-simple-keywords-re` with.
+ * ext/tk/lib/multi-tk.rb: fix en-bugged part in the last commit.
-Mon Oct 7 22:52:16 2013 Akinori MUSHA <knu@iDaemons.org>
+Sat Jul 23 16:49:04 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * misc/ruby-additional.el: Use preceding-char/following-char
- (returning 0 at BOF/EOF) instead of char-before/char-after
- (returning nil at BOF/EOF) to avoid error from char-syntax when
- at BOF/EOF.
+ * ext/openssl/ossl_engine.c (ossl_engine_s_load): should check
+ OPENSSL_NO_STATIC_ENGINE.
-Mon Oct 7 22:45:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 22 21:06:08 2005 Tadashi Saito <shiba@mail2.accsnet.ne.jp>
- * cont.c (FIBER_USE_NATIVE): split long conditions.
+ * bignum.c (rb_big_eq): reduce isnan(). [ruby-dev:26600]
-Mon Oct 7 20:29:31 2013 Zachary Scott <e@zzak.io>
+ * numeric.c (flo_eq, flo_gt, flo_ge, flo_lt, flo_le): ditto.
- * lib/time.rb: [DOC] typo in Time.rb overview by @srt32 [Fixes GH-416]
- https://github.com/ruby/ruby/pull/416
+Fri Jul 22 15:02:39 2005 Kouhei Sutou <kou@cozmixng.org>
-Mon Oct 7 20:07:20 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss/rss.rb: moved copyright description to lib/rss.rb.
- * lib/time.rb (Time.strptime): Use :offset.
- Patch by Felipe Contreras. [ruby-core:57694]
+ * lib/rss.rb: added for convenience.
-Mon Oct 7 16:47:27 2013 Koichi Sasada <ko1@atdot.net>
+ * sample/rss/re_read.rb: added #to_s sample.
- * test/-ext-/debug/test_profile_frames.rb: rename class C to
- something long name because one test depends on absence of
- class ::C.
+ * sample/rss/blend.rb: use 'require "rss"' instead of
+ 'require "rss/*"'.
+ * sample/rss/list_description.rb: ditto.
+ * sample/rss/rss_recent.rb: ditto.
+ * sample/rss/tdiary-plugin/rss-recent.rb: ditto.
-Mon Oct 7 16:33:10 2013 Koichi Sasada <ko1@atdot.net>
+ * sample/rss/tdiary-plugin/rss-recent.rb: 0.0.6 -> 0.0.7.
- * ext/-test-/debug/profile_frames.c:
- test/-ext-/debug/test_profile_frames.rb: add a test for new C-APIs.
+Fri Jul 22 14:37:43 2005 Kouhei Sutou <kou@cozmixng.org>
-Mon Oct 7 16:12:36 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/parser.rb (RSS::Parser#initialize): accept HTTP/FTP
+ URI and local file path too.
- * include/ruby/debug.h: add backtrace collecting APIs for profiler.
- * int rb_profile_frames(int start, int limit, VALUE *buff, int *lines);
- Collect information of frame information.
+ * test/rss/test_parser.rb (RSS::TestParser#test_parse): test
+ for the above.
- * VALUE rb_profile_frame_path(VALUE frame);
- * VALUE rb_profile_frame_absolute_path(VALUE frame);
- * VALUE rb_profile_frame_label(VALUE frame);
- * VALUE rb_profile_frame_base_label(VALUE frame);
- * VALUE rb_profile_frame_first_lineno(VALUE frame);
- * VALUE rb_profile_frame_classpath(VALUE frame);
- * VALUE rb_profile_frame_singleton_method_p(VALUE frame);
- Get information about each frame.
+Fri Jul 22 07:01:42 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- These APIs are designed for profilers, for example, no object allocation,
- and enough information for profilers.
- In this version, this API collects only Ruby level frames.
- This issue will be fixed after Ruby 2.1.
+ * ext/tk/tkutil.c (tk_conv_args): forget to revert thread_critical
+ and gc_disable when raise ArgumentError.
- * vm_backtrace.c: implement above APIs.
+ * ext/tk/lib/remote-tk.rb: RemoteTkIp doesn't need to include TkUtil.
- * iseq.c (rb_iseq_klass): return local_iseq's class.
+ * ext/tcltklib/tcltklib.c: add TclTkIp#has_mainwindow? method.
-Mon Oct 7 14:26:01 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: add Tk.has_mainwindow? method.
- * proc.c: catch up last commit.
- Type of return value of rb_iseq_first_lineno() is now VALUE.
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp#has_mainwindow? method.
- * vm_insnhelper.c (argument_error): ditto.
+ * ext/tk/lib/remote-tk.rb: add RemoteTkIp#has_mainwindow? method.
- * vm_method.c (rb_method_entry_make): ditto.
+ * ext/tk/lib/multi-tk.rb: slave IP fail to exit itself when $SAFE==4.
-Mon Oct 7 14:07:45 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: remove constants from MultiTkIp module to
+ avoid access from external.
- * iseq.c, internal.h: change to public (but internal) functions
- * VALUE rb_iseq_path(VALUE iseqval);
- * VALUE rb_iseq_absolute_path(VALUE iseqval);
- * VALUE rb_iseq_label(VALUE iseqval);
- * VALUE rb_iseq_base_label(VALUE iseqval);
- * VALUE rb_iseq_first_lineno(VALUE iseqval);
- And new (temporary) function:
- * VALUE rb_iseq_klass(VALUE iseqval);
+ * ext/tk/lib/multi-tk.rb: check_root flag is ignored on slave IPs'
+ mainloop.
- * iseq.c. vm_core.h (int rb_iseq_first_lineno): remove
- function `int rb_iseq_first_lineno(const rb_iseq_t *iseq)'.
- Use `VALUE rb_iseq_first_lineno(VALUE iseqval)' instead.
+ * ext/tk/lib/multi-tk.rb: hang-up Tk.mainloop called on a slave IP
+ with $SAFE==4.
- * proc.c. vm_insnhelper.c, vm_method.c: catch up this change.
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#bg_eval_proc doesn't work
+ properly.
-Sun Oct 6 08:37:39 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp#set_cb_error(proc) and
+ cb_error(exc) to log errors at callbacks on safe slave IPs.
- * lib/webrick.rb: [DOC] fix grammar in WEBrick overview [Fixes GH-413]
- Based on patch by @chastell https://github.com/ruby/ruby/pull/413
+ * ext/tk/lib/multi-tk.rb: fail to get an available slave IP object
+ when call Tk.mainloop in the block which is given to new_* method,
+ because cannot finish initialize while the root widget is alive.
-Sat Oct 5 11:21:01 2013 Aaron Pfeifer <aaron.pfeifer@gmail.com>
+ * ext/tk/lib/multi-tk.rb: fail to control a slave IP when Tk.mainloop
+ runs on the IP.
- * thread.c (terminate_atfork_i): fix locking mutexes not unlocked in
- forks when not tracked in thread. [ruby-core:55102] [Bug #8433]
+Wed Jul 20 19:20:37 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Oct 4 19:54:09 2013 Zachary Scott <e@zzak.io>
+ * io.c (S_ISREG): need to define S_ISREG before it is used first.
- * ext/dbm/dbm.c: [DOC] Fix wrong constant name in DBM by @edward
- [Fixes GH-409] https://github.com/ruby/ruby/pull/409
+Wed Jul 20 18:40:50 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Oct 4 19:49:42 2013 Aman Gupta <ruby@tmm1.net>
+ * io.c (wsplit_p): patch for the environment where
+ fcntl(F_GETFL, O_NONBLOCK) is not supported. in that case,
+ set FMODE_WSPLIT without fcntl check. [ruby-dev:26566]
- * gc.c: rename heap.free_num as heap.swept_num to clarify meaning and
- avoid confusion with objspace_free_num().
+Wed Jul 20 18:07:11 2005 Tanaka Akira <akr@m17n.org>
-Fri Oct 4 19:02:01 2013 Aman Gupta <ruby@tmm1.net>
+ * io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT
+ by F_SETFL.
- * gc.c (objspace_free_num): new method for available/free slots on
- heap. [ruby-core:57633] [Bug #8983]
- * gc.c (gc_stat): change heap_free_num definition to use new method.
- * test/ruby/test_gc.rb: test for above.
+Wed Jul 20 10:04:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Oct 4 18:53:42 2013 Aman Gupta <ruby@tmm1.net>
+ * variable.c (rb_class_path): need to adjust snprintf() len for
+ teminating NUL. [ruby-dev:26581]
- * gc.c: add rb_objspace.limit to keep accurate count of total heap
- slots [ruby-core:57633] [Bug #8983]
+Wed Jul 20 04:01:55 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Oct 4 09:32:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c: sorry, BeOS also uses HAVE_CLOSESOCKET,
+ so reverted.
- * lib/csv.rb (CSV.foreach): support enumerator. based on a patch by
- Hanmac (Hans Mackowiak) at [ruby-core:57643]. [ruby-core:57283]
- [Feature #8929]
+ * ext/socket/extconf.rb: should not define HAVE_CLOSESOCKET
+ on windows.
-Thu Oct 3 18:20:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jul 20 03:16:43 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * win32/win32.c (console_emulator_p, constat_handle): disable built-in
- console colorizing when console-emulator-like DLL is injected.
- [Feature #8201]
+ * ext/socket/socket.c: should not undef close() on win32.
+ it's defined to rb_w32_close(), otherwise handle leaks.
+ [ruby-Bugs-2131]
-Thu Oct 3 18:01:44 2013 Koichi Sasada <ko1@atdot.net>
+Wed Jul 20 00:48:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c: define gc_profile_record::allocated_size if
- CALC_EXACT_MALLOC_SIZE is true.
+ * error.c (syserr_initialize): don't use str before StringValue()
+ check. [ruby-dev:26579]
-Thu Oct 3 13:42:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jul 19 22:47:29 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * common.mk (yes-test-sample): use RUNRUBY instead of MINIRUBY to set
- runtime library path and run the built ruby. [Bug #8971]
+ * error.c (syserr_initialize): add 1 byte for snprintf() size for
+ NUL at the end. [ruby-dev:26574]
-Thu Oct 3 00:17:15 2013 Akinori MUSHA <knu@iDaemons.org>
+Tue Jul 19 16:39:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * misc/ruby-additional.el: Properly quote the body. An unquoted
- body given to eval-after-load is evaluated immediately!
+ * io.c (rb_io_inspect): replace sprintf() with "%s" format all
+ over the place by snprintf() to avoid integer overflow.
-Wed Oct 2 21:38:30 2013 Yusuke Endoh <mame@tsg.ne.jp>
+Tue Jul 19 14:08:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/socket/ifaddr.c (rsock_getifaddrs): fix possible memory leak.
- When a system had no interface, this function used xmalloc for root
- but did not return any reference to it. This patch fixes it by
- immediately returning an empty array if no interface is found.
- Coverity Scan found this bug.
+ * ext/tcltklib/tcltklib.c: rbtk_eventloop_depth is used as int.
-Wed Oct 2 21:37:04 2013 Yusuke Endoh <mame@tsg.ne.jp>
+ * ext/tcltklib/tcltklib.c: rbtk_pending_exception is tested with
+ NIL_P, so should assign Qnil instead of 0 (Qfalse).
- * random.c (make_seed_value): a local array declaration was accessed
- out of scope. Coverity Scan found this bug.
+ * ext/tcltklib/tcltklib.c (ip_invoke_real): fixed memory leak when
+ ip is deleted.
-Wed Oct 2 18:52:40 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jul 19 13:19:46 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c: relax GC condition due to malloc_limit.
+ * ext/tk/lib/tk/variable.rb: For symmetry, add TkVariable#string. It
+ returns a string even if the default value type of the TkVariable
+ object is not "string".
- * gc.c (GC_MALLOC_LIMIT_MAX): change default value
- (256MB -> 512MB) and permit zero to ignore max value.
+Mon Jul 18 21:40:20 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c (vm_malloc_increase, vm_xrealloc): do not cause GC on realloc.
+ * eval.c (rb_call0): make the pointer to NODE volatile
+ instead of NODE itself.
- * gc.c (gc_before_sweep): change debug messages.
+Mon Jul 18 14:32:21 2005 Tanaka Akira <akr@m17n.org>
-Wed Oct 2 16:26:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_call0): make body volatile to avoid optimization problem.
+ [ruby-dev:26195]
- * io.c (rb_io_close_read): duplex IO should wait its child process
- even after close_read.
+Mon Jul 18 12:23:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Oct 2 15:39:13 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/io/wait/wait.c: wrong backport from trunk. fixed: [ruby-dev:26562]
- * vm_core.h: use __has_attribute() instead of __clang__major__ because
- clang says "Note that marketing version numbers should not be used
- to check for language features, as different vendors use different
- numbering schemes. Instead, use the Feature Checking Macros."
- http://clang.llvm.org/docs/LanguageExtensions.html
+Mon Jul 18 09:36:25 2005 Tanaka Akira <akr@m17n.org>
-Wed Oct 2 14:19:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * rubyio.h (FMODE_WSPLIT, FMODE_WSPLIT_INITIALIZED): new constant.
- * io.c (rb_io_close_write): detach tied IO for writing before closing
- to get rid of race condition. [ruby-list:49598]
+ * io.c (wsplit_p): new function.
+ (io_fwrite): split writing data by PIPE_BUF if wsplit_p is true in
+ multi-threaded mode.
+ [ruby-dev:26540]
- * 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.
+Sun Jul 17 13:46:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Oct 1 23:44:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/io/wait/extconf.rb, ext/io/wait/wait.c: Win32 platforms support.
- * vm_core.h: use __attribute__((unused)) in UNINITIALIZED_VAR on clang
- 4.0+ instead of just on 4.2. Clang has supported the unused attribute
- since before version 4, so this should be safe.
+Fri Jul 15 23:59:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Oct 1 22:03:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_c.rb (handle_class_module): handle a
+ module enclosed in a built-in module. fixed: [ruby-talk:148239]
- * lib/tempfile.rb (Tempfile#unlink): finalizer is no longer needed
- after unlinking. patched by by normalperson (Eric Wong) at
- [ruby-core:56521] [Bug #8768]
+ * lib/rdoc/parsers/parse_c.rb (find_body): allow macros as methods.
-Tue Oct 1 20:54:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_c.rb (find_call_seq): allow :nodoc: modifier
+ in C. [ruby-core:04572]
- * file.c (stat_new_0): constify.
+Fri Jul 15 18:00:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * file.c (rb_stat_new): constify and export. based on a patch by
- Hanmac (Hans Mackowiak) at [ruby-core:53225]. [Feature #8050]
+ * bcc32/Makefile.sub (COMMON_HEADERS): ruby_1_8 is using winsock.h.
+ failed to compile ext/socket on bcc5.6.4. [ruby-dev:26193]
-Tue Oct 1 16:03:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 15 07:58:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * include/ruby/ruby.h (ruby_safe_level_4_warning): needed by extension
- libraries which check safe level 4. [ruby-dev:47517] [Bug #8652]
+ * lib/webrick/server.rb (WEBrick::GenericServer#accept_client):
+ sockets should be non-blocking mode. [ruby-dev:26405]
-Mon Sep 30 23:14:36 2013 Zachary Scott <e@zzak.io>
+ * lib/webrick/utils.rb (WEBrick::Utils.set_non_blocking): new method.
- * ext/objspace/objspace.c: [DOC] Cleaned up many rdoc formatting
- issues and several duplicate grammar bugs.
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_chunked):
+ should call sock.read repeatedly until the preferred size data
+ is obtained.
-Mon Sep 30 23:01:01 2013 Zachary Scott <e@zzak.io>
+Thu Jul 14 18:27:16 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/objspace/object_tracing.c: [DOC] Adjust rdoc formatting and fix
- small grammar typo
+ * win32/win32.c (rb_w32_strerror): should return correct message
+ for ENAMETOOLONG and ENOTEMPTY. (bcc32) [ruby-dev:26533]
-Mon Sep 30 17:28:39 2013 Koichi Sasada <ko1@atdot.net>
+ * win32/win32.c (rb_w32_strerror): stripped CR LF on the tail.
+ (bcc32) [ruby-dev:26533]
- * ext/objspace/object_tracing.c: [DOC] add some notes for
- ObjectSpace::trace_object_allocations.
+Thu Jul 14 00:45:42 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Sep 30 16:46:58 2013 Koichi Sasada <ko1@atdot.net>
+ * LEGAL (ext/nkf/nkf-utf8): updated from nkf1.7 to nkf-utf8.
- * ext/objspace/object_tracing.c: add new 3 methods to control tracing.
- * ObjectSpace::trace_object_allocations_start
- * ObjectSpace::trace_object_allocations_stop
- * ObjectSpace::trace_object_allocations_clear
- And some refactoring.
+Wed Jul 13 19:37:47 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/objspace/test_objspace.rb: add a test for new methods.
+ * win32/win32.c (rb_w32_mkdir): should set EEXIST (not EACCES)
+ if file or directory already exists. (bcc32) [ruby-dev:26508]
- * NEWS: add a description for new methods.
+ * win32/win32.c (rb_w32_rmdir): should set ENOTDIR (not EINVAL)
+ if it is not directory. (bcc32, win32)
-Mon Sep 30 11:18:04 2013 Koichi Sasada <ko1@atdot.net>
+ * win32/win32.c (rb_w32_rmdir, rb_w32_unlink): restore
+ FILE_ATTRIBUTE_READONLY flag on function failure.
- * gc.c (rb_gc_disable): do rest_sweep() before disable GC.
- This fix may solve a failure of
- TestTracepointObj#test_tracks_objspace_events
- [test/-ext-/tracepoint/test_tracepoint.rb:43].
+Wed Jul 13 12:40:00 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Sep 30 10:40:20 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c: TclTkLib.do_one_event doesn't work.
- * vm_method.c (rb_undef): raise a NameError if the original method
- of a refined method is not defined.
+ * ext/tk/lib/tk.rb: Tk.thread_update is available.
- * vm_insnhelper.c (rb_method_entry_eq): added NULL check to avoid SEGV.
+Tue Jul 12 23:32:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_refinement.rb: related test.
+ * lib/mkmf.rb: keep curdir unexpanded.
-Sun Sep 29 23:45:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jul 11 08:31:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (rb_id_attrset, intern_str): allow junk attrset ID for
- Struct.
+ * regex.c (read_special): fix parsing backslashes following \c in
+ regexp. fixed: [ruby-dev:26500]
- * parse.y (rb_id_attrset): fix inconsistency with literals, allow
- ID_ATTRSET and return it itself, but ID_JUNK cannot make ID_ATTRSET.
- and raise a NameError instead of rb_bug() for invalid argument.
+Mon Jul 11 02:53:00 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Sep 29 18:45:05 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):
+ mistook in merging the patch of [ruby-dev:26235] at
+ revision 1.4.2.6.
- * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args):
- clear keyword arguments to prevent GC bug which occurs
- while marking VM stack.
- [ruby-dev:47729] [Bug #8964]
+Sun Jul 10 23:58:04 2005 Tanaka Akira <akr@m17n.org>
- * test/ruby/test_keyword.rb: tests for the above.
+ * lib/pathname.rb (Pathname#unlink): try Dir.unlink first to
+ avoid unlink a directory by root.
+ cf. [ruby-dev:26237]
-Sat Sep 28 23:25:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jul 11 05:18:17 2005 Michael Neumann <mneumann@ruby-lang.org>
- * math.c (math_log, math_log2, math_log10): fix for Bignum argument.
- numbits should be add only when right shifted.
+ * lib/xmlrpc/server.rb (XMLRPC::Server): Switch from GServer over to
+ WEBrick. This makes file lib/xmlrpc/httpserver.rb obsolete (at least it is
+ no further used by the XML-RPC library).
-Sat Sep 28 14:30:29 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sun Jul 10 12:47:01 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.
+ * lib/debug.rb (debug_command): added a deficient format specifier.
+ fixed: [ruby-core:05419]
-Sat Sep 28 00:19:41 2013 Shugo Maeda <shugo@ruby-lang.org>
+Sat Jul 9 21:28:46 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * ext/curses/extconf.rb: check the size of chtype.
+ * ext/win32ole/win32ole.c (ole_method_dispid): convert dispid
+ in Ruby and C by INT2NUM and NUM2INT.
- * ext/curses/curses.c (NUM2CH, CH2NUM): use proper macros for
- the size of chtype.
+ * ext/win32ole/win32ole.c (ole_invoke2): ditto.
- [ruby-core:56090] [Bug #8659]
+ * ext/win32ole/test/testWIN32OLE.rb: ditto.
-Fri Sep 27 18:33:23 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/win32ole/test/testOLEMETHOD.rb: ditto.
- * gc.c: add two GC tuning environment variables.
- RUBY_GC_MALLOC_LIMIT_MAX and RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR.
- See r43067 for details.
+Fri Jul 8 15:45:04 2005 Kouhei Sutou <kou@cozmixng.org>
- * gc.c (rb_gc_set_params): refactoring. And change verbose notation.
- Mostly duplicated functions get_envparam_int/double is not cool.
- Please rewrite it.
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.4 -> 0.1.5.
- * test/ruby/test_gc.rb: fix a test for this change.
+ * test/rss/test_version.rb (RSS::TestVersion#test_version):
+ ditto.
-Fri Sep 27 17:44:41 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/0.9.rb (RSS::Rss::Channel::Item::Category):
+ domain attribute of <category> is optional. Thanks to
+ Chris Lee <clee@kde.org>.
- * gc.c (GC_MALLOC_LIMIT): 8,000,000 -> 8 * 1,024 * 1,024.
+ * test/rss/test_parser.rb (RSS::TestParser#test_category20):
+ adjusted test case.
-Fri Sep 27 17:19:39 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jul 5 23:44:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_before_sweep): cast to size_t to suppress warnings.
+ * instruby.rb: expand source library path.
-Fri Sep 27 17:07:55 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jul 5 23:27:14 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c: add some fine-grained profiling codes to tuning marking phase.
- If you enable RGENGC_PRINT_TICK to 1, then profiling results by RDTSC
- (on x86/amd64 environment) are printed at last.
- Thanks Yoshii-san.
+ * array.c (sort_2): get rid of yet another bcc's bug.
+ fixed: [ruby-core:05152]
-Fri Sep 27 16:32:27 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_thread_save_context): must not switch contexts during
+ re-allocating stack. fixed: [ruby-core:05219]
- * gc.c: simplify threshold of GC caused by malloc_increase.
- Now, malloc_limit is increased/decreased by mysterious logic.
- This fix simplify malloc_limit increase/decrease logic such as:
- if (malloc_increase > malloc_limit) /* so many malloc */
- malloc_limit += malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1);
- else
- malloc_limit -= malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1)/4;
- Default value of GC_MALLOC_LIMIT_FACTOR is 1.8.
- malloc_limit is bounded by GC_MALLOC_LIMIT_MAX (256MB by default).
- This logic runs at gc_before_sweep(). So there are no effect from
- caused by lazy sweep. And we can remove malloc_increase2.
+Tue Jul 5 15:15:10 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (HEAP_MIN_SLOTS, FREE_MIN, HEAP_GROWTH_FACTOR): rename to
- GC_HEAP_MIN_SLOTS, GC_FREE_MIN, GC_HEAP_GROWTH_FACTOR respectively.
- Check them by `#ifndef' so you can specify these values outside gc.c.
+ * ext/tk/tkutil.c: fix typo.
- * gc.c (ruby_gc_params_t): add initial_malloc_limit_factor and
- initial_malloc_limit_max.
+Tue Jul 5 14:51:35 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (vm_malloc_prepare, vm_xrealloc): use vm_malloc_increase to
- add and check malloc_increase.
+ * ext/tcltklib/tcltklib.c: bug fix on treating Unicode strings.
-Fri Sep 27 01:05:00 2013 Zachary Scott <e@zzak.io>
+ * ext/tcltklib/tcltklib.c: add methods to treat encoding mode.
- * re.c: [DOC] arguments of Regexp::union receive #to_regexp [Bug #8205]
+ * ext/tcltklib/MANUAL.eng: add description of TclTkLib#encoding,
+ encoding_system, and so on.
-Fri Sep 27 00:39:27 2013 Zachary Scott <e@zzak.io>
+ * ext/tcltklib/MANUAL.euc: ditto.
- * struct.c: [DOC] grammar of ArgumentError in Struct.new [Bug #8936]
- Patch by Prathamesh Sonpatki
+ * ext/tk/tkutil.c: fail to create a Tcl's list string from an
+ array including multiple kind of encoded strings.
-Thu Sep 26 22:11:56 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk.rb: ditto.
- * ext/bigdecimal/bigdecimal.c: [DOC] several fixes by @chastell
- This includes fixing the capitalization of Infinity, return value of
- example "BigDecimal.new('NaN') == 0.0", and code style in example.
- [Fixes GH-398] https://github.com/ruby/ruby/pull/398
+ * ext/tk/lib/multi-tk.rb: 2nd arg of _{to|from}UTF8 is omissible.
-Thu Sep 26 22:08:11 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/remote-tk.rb: ditto.
- * lib/observer.rb: [DOC] syntax improvement in example by @chastell
- [Fixes GH-400] https://github.com/ruby/ruby/pull/400
+ * ext/tk/lib/tk.rb: override TclTkLib#encoding and encoding= to
+ use TkCore::INTERP.encoding and encoding=.
-Thu Sep 26 22:03:15 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk.rb: when "require 'tk'" and $KCODE=='NONE', check
+ DEFAULT_TK_ENCODING to decide Ruby/Tk's system encoding mode.
- * ext/digest/digest.c: [DOC] typo in overview by @chastell
- [Fixes GH-399] https://github.com/ruby/ruby/pull/399
+ * ext/tk/lib/tk/encodedstr.rb: check both of Tk.encoding and
+ Tk.encoding_system. Tk.encoding has higher priority.
-Thu Sep 26 22:00:42 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk/optiondb.rb: ditto.
- * ext/openssl/ossl.c: [DOC] typo in example by @zoranzaric
- [Fixes GH-401] https://github.com/ruby/ruby/pull/401
+ * ext/tk/lib/tk/spinbox.rb: ditto.
-Thu Sep 26 21:07:49 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/tk/validation.rb: ditto.
- * misc/ruby-electric.el (ruby-electric-delete-backward-char): Add
- support for smartparens-mode.
+ * ext/tk/lib/tk/namespace.rb: arguemnts for TclTkIp#_merge_tklist
+ should be UTF-8 strings.
- * misc/ruby-electric.el (ruby-electric-cua-replace-region-maybe)
- (ruby-electric-cua-delete-region-maybe): New functions that
- combine `ruby-electric-cua-*-region` with
- `ruby-electric-cua-*-region-p`, using a slightly better way to
- detect if it is in cua-mode.
+Mon Jul 4 14:35:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Sep 26 16:51:00 2013 Shota Fukumori <her@sorah.jp>
+ * sample/svr.rb: service can be stopped by ill-behaved client; use
+ tsvr.rb instead.
- * insns.def (opt_regexpmatch2): Check String#=~ hasn't overridden
- before calling rb_reg_match().
+Mon Jul 4 13:25:21 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_string.rb: Test for above.
+ * missing/erf.c: original erf.c by prof. Okumura is confirmed to
+ be public domain. reverted BSD implementation.
- * vm.c (vm_init_redefined_flag): Add BOP flag for String#=~
+Mon Jul 4 11:15:37 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- [ruby-core:57385] [Bug #8953]
+ * test/{dbm,gdbm,sdbm}/test_{dbm,gdbm,sdbm}.rb: skip some tests
+ which using fork on fork-less platforms.
-Thu Sep 26 16:43:42 2013 Akinori MUSHA <knu@iDaemons.org>
+Sun Jul 3 23:26:30 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * misc/ruby-electric.el: Avoid use of the interactive function
- `self-insert-command` which fires `post-self-insert-hook` and
- `post-command-hook`, to make the ruby-electric commands work
- nicely with those minor modes that make use of them to do
- similar input assistance, such as electric-pair-mode,
- autopair-mode and smartparens-mode.
+ * test/wsdl/document/test_rpc.rb: compare formatted time string of
+ Time objects instead of comparing Time objects itself to avoid
+ unintended conflict of usec part. [ruby-dev:26220]
-Thu Sep 26 16:24:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Sat Jul 2 22:41:04 2005 Tanaka Akira <akr@m17n.org>
- * insns.def (opt_regexpmatch1): check Regexp#=~ is not defined before
- calling rb_reg_match()
+ * ext/socket/socket.c (unix_send_io, unix_recv_io): support x86-64 and
+ IA64.
- * test/ruby/test_regexp.rb: add test
+Sat Jul 2 17:06:23 2005 Tanaka Akira <akr@m17n.org>
- * vm.c (ruby_vm_redefined_flag): change type to short[]
+ * defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.
+ (flush_register_windows): declare flush_register_windows.
- * vm.c (vm_redefinition_check_flag): return REGEXP_REDEFINED_OP_FLAG if
- klass == rb_cRegexp
+ * eval.c (flush_register_windows): new function.
- * vm.c (vm_init_redefined_flag): setup BOP flag for Regexp#=~
+Fri Jul 1 17:48:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_insnhelper.h: add REGEXP_REDEFINED_OP_FLAG
+ * bignum.c (get2comp): revert all prior changes, and calculate
+ proper 2's complement for negative numbers. backported from
+ HEAD.
- [ruby-core:57385] [Bug #8953]
+Fri Jul 1 15:50:12 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Sep 26 14:46:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * missing/erf.c: need to include some headers for some platforms.
- * gc.c (mark_locations_array): disable AddressSanitizer. based on a
- patch by halfie (Ruby Guy) at [ruby-core:57372].
- [ruby-core:56155] [Bug #8680]
+ * win32/win32.h (copysign, scalb): define for compatibility with
+ other platforms. [ruby-dev:26430]
-Wed Sep 25 17:41:29 2013 Koichi Sasada <ko1@atdot.net>
+Fri Jul 1 15:37:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * README.EXT, README.EXT.ja: remove description of RARRAY_PTR()
- and add a caution of accessing internal data structure directly.
- Also add a description of rb_ary_store().
- [Bug #8399]
+ * missing/crypt.c: modified to make it compilable on platforms
+ other than BSD. [ruby-dev:26430]
-Wed Sep 25 17:12:08 2013 Koichi Sasada <ko1@atdot.net>
+ * missing/erf.c: ditto. code from <exp.c> merged.
- * include/ruby/ruby.h: rename RARRAY_RAWPTR() to RARRAY_CONST_PTR().
- RARRAY_RAWPTR(ary) returns (const VALUE *) type pointer and
- usecase of this macro is not acquire raw pointer, but acquire
- read-only pointer. So we rename to better name.
- RSTRUCT_RAWPTR() is also renamed to RSTRUCT_CONST_PTR()
- (I expect that nobody use it).
+Fri Jul 1 12:44:56 2005 Tanaka Akira <akr@m17n.org>
- * array.c, compile.c, cont.c, enumerator.c, gc.c, proc.c, random.c,
- string.c, struct.c, thread.c, vm_eval.c, vm_insnhelper.c:
- catch up this change.
+ * lib/open-uri.rb (OpenURI.open_http): refine post_connection_check
+ call.
-Wed Sep 25 16:58:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 1 11:34:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * internal.h (rb_float_value, rb_float_new): move inline functions
- from ruby/ruby.h.
+ * missing/crypt.c: replaced with 4.4BSD version.
- * numeric.c (rb_float_value, rb_float_new): define external functions
- for extension libraries.
+ * missing/erf.c: ditto.
-Wed Sep 25 15:37:02 2013 Koichi Sasada <ko1@atdot.net>
+ * missing/vsnprintf.c: removed the third provision from the old
+ BSD license. [ruby-core:05177]
- * test/rdoc/test_rdoc_generator_darkfish.rb: add a guard for windows.
+Fri Jul 1 01:45:21 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 25 09:53:11 2013 Eric Hodel <drbrain@segment7.net>
+ * enum.c (enum_min, enum_max): must not return Qundef.
+ fixed: [ruby-core:05299]
- * lib/rubygems: Fix CVE-2013-4363. Miscellaneous minor improvements.
+Fri Jul 1 00:18:40 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rubygems: Tests for the above.
+ * lib/delegate.rb (Delegator::respond_to): respond_to? must check
+ destination object. [ruby-talk:146894]
-Tue Sep 24 17:38:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 30 19:00:21 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
+ * lib/irb/ruby-lex.rb (RubyLex::identify_number): alternative implements
+ for [ruby-dev:26410]. And support a numeric form of 0d99999.
- * string.c (rb_str_inspect): get rid of out-of-bound access.
+Thu Jun 30 17:28:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * string.c (rb_str_inspect): when a UTF-16/32 string doesn't have a
- BOM, inspect as a dummy encoding string.
+ * lib/irb/ruby-lex.rb (RubyLex::identify_number): should not treat
+ plain zero as an octal number. [ruby-dev:26410]
-Tue Sep 24 17:15:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 30 15:13:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * enc/encdb.c (ENC_DUMMY_UNICODE): make BOM-encodings dummy.
+ * eval.c (rb_eval): pre-evaluate argument for unambiguous
+ evaluation order. [ruby-dev:26383]
- * encoding.c (enc_autoload): keep dummy encodings dummy.
+Thu Jun 30 09:53:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Sep 24 16:41:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/delegate.rb (Delegator::method_missing): forward unknown
+ method to the destination. suggested by
+ <christophe.poucet@gmail.com>. [ruby-talk:146776]
- * ext/win32/lib/win32/registry.rb (Win32::Registry#write): data size
- is in bytes, not chars. terminators should be placed automatically.
+Tue Jun 28 21:59:29 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Tue Sep 24 16:39:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c, eval.c, hash.c, process.c, ruby.c: avoid warning "unused
+ variable" [ruby-dev:26387]
- * ext/win32/lib/win32/registry.rb (Win32::Registry#each_value): encode
- name.
+Sat Jun 25 17:15:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/win32/lib/win32/registry.rb (Win32::Registry#each_key): ditto.
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_query): should
+ discard if key=val pair is empty. patch from Gary Wright.
- * ext/win32/lib/win32/registry.rb (Win32::Registry#export_string):
- encode to locale encoding if default internal is not set.
+Sat Jun 25 23:30:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Sep 24 16:35:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * process.c (detach_process_watcher): terminate process watcher
+ thread right after rb_waitpid() succeed. [ruby-talk:146430]
- * ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumKey):
- size of the name is in WCHARs, not in bytes.
+Sat Jun 25 15:49:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 24 14:07:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * enum.c (enum_min, enum_max): do not ignore nil as the first element.
- * gc.c (free_method_cache_entry_i): unused function
+Sat Jun 25 14:40:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c (rb_free_mc_table): ditto
+ * ext/sdbm/init.c (fsdbm_select): SDBM#select had returned the array
+ which contained each elements twice. [ruby-dev:26358]
- * internal.h (method_cache_entry_t): unused struct
+Fri Jun 25 05:06:47 2005 Michael Neumann <mneumann@ruby-lang.org>
- * vm_method.c (verify_method_cache): remove unused variable
+ * lib/xmlrpc/*, test/xmlrpc/*: backported changes from HEAD into 1.8
- * vm_method.c (rb_method_entry): ditto
+Fri Jun 24 17:00:00 2005 Shigeo Kobayashi <shigeo@tinyforest.jp>
-Tue Sep 24 14:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/bigdecimal/bigdecimal.c: patch from "NATORI Shin"
+ (u-tokyo.ac.jp) applied to fix rounding bug.
- * class.c (class_alloc): remove mc_tbl
+Fri Jun 24 13:06:45 2005 akira yamada <akira@ruby-lang.org>
- * gc.c (obj_free): ditto
+ * lib/uri/common.rb, lib/uri/generic.rb: fixed typo in documents and
+ replaced some existent domain name with "example.com".
- * internal.h (struct rb_classext_struct): ditto
+Fri Jun 24 12:23:19 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * method.h (rb_method_entry): remove ent param
+ * ext/tk/lib/tk.rb: fix typo on Tk.grid_propagate.
- * vm_method.c: restore the global method cache. Per class cache tables
- turned out to be far too slow.
+ * ext/tk/lib/tk.rb: Tk.event_generate and TkWindow#event_generate
+ accept TkEvent::Event object as context argument.
- [ruby-core:57289] [Bug #8930]
+ * ext/tk/lib/tk/event.rb: add TkEvent::Event#valid_fields and
+ valid_for_generate to get field parameters of event_generate.
-Tue Sep 24 12:51:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 23 23:55:59 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32/lib/win32/registry.rb (Win32::Registry::API): need
- Constants.
+ * runruby.rb: should load built rbconfig.rb.
- * ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumValue):
- size of the name is in WCHARs, not in bytes.
+Thu Jun 23 16:53:15 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Sep 23 22:16:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/canvastag.rb: TkcGroup.new cannot include given items.
+ TkcGroup#exclude calls wrong method.
+ Add alias TkcGroup#add [ruby-talk:146049].
- * enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): Unicode with BOM
- must be based on big endian variants, so that actual encodings would
- work. [ruby-core:57318] [Bug #8940]
+ * ext/tk/lib/tk/canvas.rb: TkCanvas#dtag and some subcommands of
+ TkCanvas#addtag fail to treat a TkcTag argument.
-Mon Sep 23 12:11:26 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/event.rb: add TkEvent::Event#generate to help to send
+ current event to other widgets.
- * hash.c (env_each_pair): do not call rb_assoc_new() if
- it isn't needed.
+Mon Jun 20 18:44:04 2005 Tanaka Akira <akr@m17n.org>
-Mon Sep 23 10:42:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): DUMMY_SETJMP is replaced
+ because setjmp is not enough to fix getcontext and SPARC register
+ window problem.
- * test/ruby/test_module.rb (TestModule#test_include_toplevel): test
- for top level main.include. based on a part of the patch by
- kyrylo at [GH-395].
+Mon Jun 20 16:48:36 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Sep 23 05:07:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/dbm/dbm.c (fdbm_closed): new method DBM#closed?
- * include/ruby/intern.h (rb_ary_cat): move from internal.h, since it
- is described in README.EXT.
+ * ext/gdbm/gdbm.c (fgdbm_closed): new method GDBM#closed?
-Sun Sep 22 20:55:20 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/sdbm/init.c (fsdbm_closed): new method SDBM#closed?
- * vm_insnhelper.c (vm_make_proc_with_iseq): fix bug message.
- This is follow up to changes in r42637.
+ * test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb
+ (teardown): close all db objects before deleting data files.
-Sun Sep 22 20:35:38 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * win32/win32.{ch} (unlink): hook runtime function to change
+ file attribute before unlinking.
+ fixed: [ruby-dev:26360]
- * ext/-test-/tracepoint/tracepoint.c (Init_tracepoint): prevent from GC.
+Mon Jun 20 02:15:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Sep 22 19:00:28 2013 Benoit Daloze <eregontp@gmail.com>
+ * gc.c (define_final): document fix: finalizers never get called
+ before target object is destroyed.
- * benchmark/bm_app_answer.rb: revert r42990, benchmark scripts should
- be self-contained and avoid dependencies, especially such small one.
- See https://github.com/ruby/ruby/pull/393#issuecomment-24861301.
+Mon Jun 20 01:26:49 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Sep 21 20:11:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/openssl_missing.c, ext/openssl/ossl.h,
+ ext/openssl/ossl_asn1.c, ext/openssl/ossl_bio.c,
+ ext/openssl/ossl_pkcs12.h, ext/openssl/ossl_x509req.c: avoid
+ compiler warnings. suggested by Michal Rokos.
- * process.c (rb_fork_internal): remove cloexec setting on pipes
- created by rb_cloexec_pipe. patch by normalperson (Eric Wong) at
- [ruby-core:56523]. [Bug #8769]
+Sun Jun 19 14:09:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Sep 21 01:04:25 2013 Zachary Scott <e@zzak.io>
+ * gc.c (run_final): reduce unnecessary object allocation during
+ finalization.
- * lib/benchmark.rb: [DOC] grammar of Benchmark#bm [Bug #8888]
- Patch by Prathamesh Sonpatki
+ * gc.c (rb_gc_call_finalizer_at_exit): deferred finalizers list should
+ be cleared before calling them. fixed: [ruby-talk:145790]
-Sat Sep 21 00:50:02 2013 Zachary Scott <e@zzak.io>
+Fri Jun 17 13:01:40 2005 Tanaka Akira <akr@m17n.org>
- * enumerator.c: [DOC] Enumerator#each arguments documentation [GH-388]
- Patch by @kachick https://github.com/ruby/ruby/pull/388
+ * lib/time.rb (Time.parse): fix previous leap seconds support.
+ (Time.rfc2822): ditto.
+ (Time.xmlschema): ditto.
-Sat Sep 21 00:49:16 2013 Zachary Scott <e@zzak.io>
+Thu Jun 16 15:06:55 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * enum.c: [DOC] Enumerable#to_a accepts arguments [GH-388]
- Patch by @kachick https://github.com/ruby/ruby/pull/388
+ * ext/tcltklib/tcltklib.c (ip_rb_threadVwaitCommand): Tcl_Release
+ was missing.
-Sat Sep 21 00:47:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 16 13:34:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * string.c (rb_str_conv_enc_opts): make sure to scan coderange to get
- rid of unnecessary conversion.
+ * ext/tk/lib/tk.rb: add Tk.getMultiple{Open|Save}File() which return
+ an Array of selected files.
-Sat Sep 21 00:21:08 2013 Zachary Scott <e@zzak.io>
+Thu Jun 16 12:53:24 2005 Tanaka Akira <akr@m17n.org>
- * ext/openssl/lib/openssl/ssl.rb: [DOC] Document OpenSSL::SSLServer
- Based on a patch by Rafal Lisowski [Bug #8758]
+ * lib/time.rb (Time.parse): "Fri Jan 1 08:59:60 +0900 1999" was
+ parsed as "Fri Jan 01 09:00:00 JST 1999" even on an environment
+ which supports leap seconds.
+ (Time.rfc2822): ditto.
+ (Time.xmlschema): ditto.
-Fri Sep 20 23:54:03 2013 Zachary Scott <e@zzak.io>
+Thu Jun 16 08:29:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/gserver.rb: [DOC] correct gserver.rb license [Bug #8913]
+ * ext/dl/sym.c (rb_dlsym_call): needs FREE_ARGS before return.
+ fixed memory leak. [ruby-Bugs-2034]
-Fri Sep 20 23:48:34 2013 Zachary Scott <e@zzak.io>
+Wed Jun 15 18:26:39 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/psych/yaml/yaml.h: [DOC] merge upstream typo fix by @GreenGeorge
- https://github.com/tenderlove/psych/pull/161
+ * ext/tk/lib/tk.rb: support "tk inactive" sub-command [for Tcl/Tk8.5a3]
-Fri Sep 20 23:37:40 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk/namespace.rb: support "namespace path" sub-command and
+ 'namespace ensemble' sub-command [for Tcl/Tk8.5a3]
- * lib/securerandom.rb: [DOC] SecureRandom.hex length argument
- [Fixes GH-394] Patch by @avdi https://github.com/ruby/ruby/pull/394
+Tue Jun 14 02:02:43 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Sep 20 23:34:48 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/tkutil.c: add TkUtil::CallbackSubst.subst_arg(m, ...) &
+ _define_attribute_aliases(hash) to get substitution-argument from
+ attributes (e.g. subst_arg(:x,:y,:num,:button) --> "%x %y %b %b ").
- * benchmark/bm_app_answer.rb: removed duplicate code [Fixes GH-393]
- Patch by @gouravtiwari https://github.com/ruby/ruby/pull/393
+ * ext/tk/lib/tk/event.rb: use _define_attribute_aliases().
-Fri Sep 20 23:24:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jun 13 13:01:05 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * common.mk (btest, btest-ruby, test-knownbug): add $(RUN_OPTS) to
- ruby to be run, so that tests are runnable before making exts.
+ * hash.c (ruby_setenv): fixed SEGV. [ruby-dev:26186]
- * common.mk (test-sample): ditto, and use $(MINIRUBY) as rubytest.rb
- does not need extension libraries.
+Mon Jun 13 01:54:20 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/rubytest.rb: pass $(RUN_OPTS) to testing ruby using --run-opt.
+ * signal.c (sigexit): call rb_thread_signal_exit() instead of
+ rb_exit(). [ruby-dev:26347]
-Fri Sep 20 15:01:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_signal_exit): a new function to exit on main
+ thread.
- * parse.y (intern_str): sigil only names are junk, at least one
- identifier character is needed. [ruby-dev:47723] [Bug #8928]
+ * eval.c (rb_thread_switch): exit status should be retrieved from
+ ruby_errinfo.
- * parse.y (rb_enc_symname_type): fix out of bound access.
+ * eval.c (rb_f_exit): ensure exit(0) should call
+ exit(EXIT_SUCCESS).
-Fri Sep 20 14:14:32 2013 Tanaka Akira <akr@fsij.org>
+Mon Jun 13 01:20:02 2005 Tanaka Akira <akr@m17n.org>
- * ext/-test-/printf/printf.c (printf_test_call): Fix an end of buffer
- argument.
+ * eval.c (rb_gc_mark_threads): curr_thread may not be part of the
+ thread list. [ruby-dev:26312]
-Thu Sep 19 16:59:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 10 23:35:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * parse.y (lambda): adjust position to the beginning of the block.
+ * missing/mkdir.c: remove. [ruby-core:05177]
-Thu Sep 19 16:25:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 10 22:54:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vsnprintf.c (BSD_vfprintf): initialize cp so that size is 0 in the
- commented case. fix an accidental bug at r16716.
+ * missing.h: fd_set stuffs need sys/types.h. fixed: [ruby-core:05179]
-Thu Sep 19 14:33:14 2013 Koichi Sasada <ko1@atdot.net>
+Thu Jun 9 23:58:12 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * NEWS: add a news for r42974.
+ * ext/Win32API/Win32API.c (Win32API_Call): disable global
+ optimization. fixed: [ruby-core:05143]
-Thu Sep 19 14:12:02 2013 Koichi Sasada <ko1@atdot.net>
+Thu Jun 9 23:35:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h: make Symbol objects frozen.
- [Feature #8906]
- I want to freeze this good day, too.
+ * enum.c (enum_inject): default the result value to Qundef to use
+ first element as initial value if not given.
- * test/ruby/test_eval.rb: catch up this change.
+Thu Jun 9 19:55:41 2005 Tanaka Akira <akr@m17n.org>
- * test/ruby/test_symbol.rb: add a test to check frozen symbols.
+ * eval.c (ruby_longjmp): new macro to call longjmp, setcontext, etc.
+ (ruby_setjmp): new macro to call setjmp, getcontext, etc.
+ (ruby_setjmp): call setjmp before getcontext to avoid IA64 register
+ stack problem.
+ [ruby-talk:144939]
-Thu Sep 19 09:11:33 2013 Eric Hodel <drbrain@segment7.net>
+ * gc.c (Init_stack): remove IA64_MAGIC_STACK_LIMIT.
- * NEWS: Update for RDoc 4.1.0.preview.1 and RubyGems 2.2.0.preview.1
+Thu Jun 9 11:55:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Sep 19 08:59:41 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/delegate.rb (SimpleDelegator::__setobj__): need check for
+ recursive delegation. [ruby-core:04940]
- * lib/rdoc/markdown/literals_1_9.rb: Fix trailing whitespace.
+Wed Jun 8 18:47:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- Previously kpeg (which generates this file) added trailing
- whitespace, but this bug is now fixed.
+ * misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.
- * lib/rdoc/markdown.rb: ditto.
+Wed Jun 8 11:11:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Sep 19 08:33:14 2013 Eric Hodel <drbrain@segment7.net>
+ * bignum.c (get2comp): calculate proper 2's complement for
+ negative numbers. a bug in normalizing negative numbers
+ reported from Honda Hiroki <hhonda@ipflex.com>.
- * lib/rdoc: Update to RDoc 4.1.0.preview.1
+Wed Jun 8 08:33:10 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- RDoc 4.1.0 contains a number of enhancements including a new default
- style and accessibility support. You can see the changelog here:
+ * enum.c (enum_min_by, enum_max_by): return nil if no iteration.
+ fixed: [ruby-dev:26245]
- https://github.com/rdoc/rdoc/blob/v4.1.0.preview.1/History.rdoc
+ * eval.c (rb_need_block): ensure a block is given.
- * test/rdoc: ditto.
+ * eval.c (backtrace): skip successive frames sharing same node.
-Thu Sep 19 07:16:26 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Wed Jun 8 00:15:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/psych/lib/psych.rb: updating Psych version
+ * ext/socket/socket.c (ruby_getaddrinfo__aix): merged a patch from
+ KUBO Takehiro <kubo at jiubao.org> to support AIX. [ruby-list:40832]
- * ext/psych/psych.gemspec: ditto
+Wed Jun 8 00:09:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Sep 19 06:39:40 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/yaml/rubytypes.rb (Array::to_yaml): merged a patch from
+ Tilman Sauerbeck <tilman at code-monkey.de>. [ruby-core:05055]
- * lib/rubygems/dependency_resolver.rb: Switch the iterative resolver
- algorithm from recursive to iterative to avoid possible
- SystemStackError.
+ * lib/yaml/rubytypes.rb (Hash::to_yaml): ditto.
-Thu Sep 19 06:29:30 2013 Eric Hodel <drbrain@segment7.net>
+Wed Jun 8 00:00:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems: Update to RubyGems 2.2.0.preview.1
+ * ext/curses/curses.c (curses_insertln): merged a patch from
+ TAKAHASHI Tamotsu <ttakah at lapis.plala.or.jp>. [ruby-ext:02305]
- This brings several new features to RubyGems summarized here:
+Tue Jun 7 19:34:15 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- https://github.com/rubygems/rubygems/blob/v2.2.0.preview.1/History.txt
+ * lib/irb/init.rb (IRB::IRB.rc_file_generators): more flexible
+ IRB.rc_file_generators. [ruby-core:05163]
- * test/rubygems: ditto.
+Tue Jun 7 18:39:31 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Sep 18 23:14:58 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * lib/thread.rb: RDoc documentation from Eric Hodel
+ <drbrain at segment7.net> added. [ruby-core:05148]
- * string.c (rb_str_enumerate_lines): make String#each_line and
- #lines not raise invalid byte sequence error when it is called
- with an argument. The patch also causes performance improvement.
- [ruby-dev:47549] [Bug #8698]
+Tue Jun 7 18:30:04 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_m17n_comb.rb (test_str_each_line): remove
- assertions which check that String#each_line and #lines will
- raise an error if the receiver includes invalid byte sequence.
+ * lib/mkmf.rb (create_makefile): add .SUFFIXES from depend file.
+ fixed: [ruby-dev:26294]
-Wed Sep 18 16:32:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jun 7 17:39:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * proc.c (mnew_from_me): allocate structs after allocated wrapper
- object successfully, to get rid of potential memory leak.
+ * object.c (rb_mod_cvar_get): Module#class_variable_get(): back
+ ported from CVS HEAD. [ruby-talk:144741]
-Tue Sep 17 15:54:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * object.c (rb_mod_cvar_set): Module#class_variable_set().
+ [ruby-talk:144741]
- * lib/shell/command-processor.rb (Shell::CommandProcessor#find_system_command):
- return executable file only, should ignore directories and
- unexecutable files. [ruby-core:57235] [Bug #8918]
+Tue Jun 7 16:32:53 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_throw):
- assertion for throw. MiniTest::Assertions#assert_throws discards
- the caught value.
+ * sprintf.c (rb_f_sprintf): raise exception on debug mode (-d),
+ not verbose mode (-v/-w). [ruby-core:05123]
- * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_nothing_thrown):
- returns the result of the given block.
+Tue Jun 7 10:30:49 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Sep 17 12:55:58 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/multi-tk.rb: slave-ip fails to call procedures
+ delegated by master-ip.
- * doc/regexp.rdoc: [DOC] Replace paragraphs in verbatim sections with
- plain paragraphs to improve readability as ri and HTML.
+Sun Jun 5 23:00:35 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Sep 16 07:32:35 2013 Tadayoshi Funaba <tadf@dotrb.org>
+ * ext/tk/lib/tk/console.rb: create console when required
- * complex.c: removed meaningless lines.
- * rational.c: ditto.
+ * ext/tk/sample/tkextlib/tile/demo.rb: fix TypeError & create Console
-Mon Sep 16 00:44:23 2013 Masaki Matsushita <glass.saga@gmail.com>
+Sat Jun 4 14:55:18 2005 Tanaka Akira <akr@m17n.org>
- * ext/socket/mkconstants.rb: define MSG_FASTOPEN.
- [ruby-core:57138] [Feature #8897]
+ * test/dbm/test_dbm.rb: merged from ext/dbm/testdbm.rb.
-Sun Sep 15 13:31:23 2013 Tadayoshi Funaba <tadf@dotrb.org>
+ * test/gdbm/test_gdbm.rb: merged from ext/gdbm/testgdbm.rb.
- * rational.c (nurat_div): reverted r28844, r28886 and r28887.
- REASON: Nobuyoshi Nakada <nobu@ruby-lang.org>'s commits are buggy.
- So Rational#/ may produce exact number with inexact number.
- Moreover, without reducing.
- REALLY NONSENSE COMMITS.
- A bug report by me [ruby-dev:44710] is also caused by this behavior.
- Kenta Murata <mrkn@mrkn.jp> patched it up.
- But he did not fix the origin.
- Today, the bug is still alive in ruby 1.9.3 and 2.0.0.
+ * test/sdbm/test_sdbm.rb: renamed from ext/sdbm/testsdbm.rb with
+ modification to use test/unit.
-Sat Sep 14 06:08:10 2013 Eric Hodel <drbrain@segment7.net>
+Fri Jun 3 14:06:12 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * dir.c (dir_s_glob): [DOC] Improve wording and layout.
+ * ext/tk/lib/multi-tk.rb: fix typo.
- * dir.c (file_s_fnmatch): ditto.
+Wed Jun 1 11:32:42 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * dir.c (Init_Dir): [DOC] Document File::Constants::FNM_XXX
- constants. (These won't show up in RDoc until a new RDoc is
- imported.)
+ * bcc32/Makefile.sub: can use single quote character in DESTDIR.
+ [ruby-dev:26205]
-Thu Sep 12 14:58:58 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Mon May 30 23:48:29 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/uri/generic.rb (URI::Generic.find_proxy): return nil if
- http_proxy environment variable is empty string.
- [ruby-core:57140] [Bug #8898]
+ * ext/tk/lib/tk/macpkg.rb: add PACKAGE_NAME information of Tcl/Tk
+ Extension.
-Fri Sep 13 10:40:28 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tk/msgcat.rb: ditto.
- * lib/rubygems: Update to RubyGems 2.1.3
+ * ext/tk/lib/tk/winpkg.rb: ditto.
- Fixed installing platform gems
+ * ext/tk/lib/tkextlib/*: ditto.
- Restored concurrent requires
+Sat May 28 16:40:15 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- Fixed installing gems with extensions with --install-dir
+ * test/openssl/test_x509store.rb: add test for expired CRL
+ and refine some assertions.
- Fixed `gem fetch -v` to install the latest version
+Sat May 28 05:15:51 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- Fixed installing gems with "./" in their files entries
+ * ext/openssl/ossl_x509store.c (ossl_x509stctx_set_time): should
+ not set internal flag directry.
- * test/rubygems/test_gem_package.rb: Tests for the above.
+Sat May 28 02:00:11 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * NEWS: Updated for RubyGems 2.1.3
+ * lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):
+ ENV["REQUEST_URI"] is better to get correct Request-URI
+ than ENV["SCRIPT_NAME"] + ENV["PATH_INFO"]. [ruby-dev:26235]
-Thu Sep 12 22:40:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri May 27 16:32:04 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * configure.in (RUBY_CHECK_SIGNEDNESS): macro to check signedness of a
- type.
+ * lib/mkmf.rb: use the semicolon as the path separator
+ in the environment of MSYS. fixed: [ruby-dev:26232]
- * configure.in (size_t): must be unsigned.
- [ruby-core:57149] [Feature #8890]
+Thu May 26 06:08:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Sep 12 22:37:08 2013 Anton Ovchinnikov <revolver112@gmail.com>
+ * ext/tk/lib/tk.rb: add shortcut-methods of tk_call + tk_split_list
- * ext/bigdecimal/bigdecimal.c, ext/digest/md5/md5.c,
- ext/json/fbuffer/fbuffer.h, ext/json/generator/generator.c:
- Eliminate less-than-zero checks for unsigned variables.
- According to section 4.1.5 of C89 standard, size_t is an unsigned
- type. These checks were found with 'cppcheck' static analysis tool.
- [ruby-core:57117] [Feature #8890]
+Wed May 25 22:52:42 2005 Shugo Maeda <shugo@ruby-lang.org>
-Thu Sep 12 21:35:46 2013 Naohisa Goto <ngotogenome@gmail.com>
+ * lib/irb/input-method.rb: do not use Readline::HISTORY.pop.
+ (backported from HEAD)
- * Makefile.in (libruby-static.a): change LDFLAGS order. LDFLAGS may
- include library path that should be specified before LIBS.
- [ruby-dev:47707] [Bug #8901]
+Wed May 25 21:55:40 2005 Shugo Maeda <shugo@ruby-lang.org>
-Thu Sep 12 20:07:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/readline/readline.c: supported libedit. (backported from HEAD)
- * vsnprintf.c (MAXEXP, MAXFRACT): calculate depending on constants in
- float.h.
+ * ext/readline/extconf.rb: ditto.
- * vsnprintf.c (BSD_vfprintf): limit length for cvt() to get rid of
- buffer overflow. [ruby-core:57023] [Bug #8864]
+ * test/readline/test_readline.rb: ditto.
- * vsnprintf.c (exponent): make expbuf size more precise.
+Wed May 25 20:06:27 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Sep 11 17:30:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: TkComm#tk_split_*list fail to split a kind of SJIS
+ strings. To avoid the trouble, add arguments to control converting
+ encoding, and do split on a UTF8 string.
- * configure.in (RUNRUBY): append -- only after runruby.rb, not
- cross-compiling baseruby, so that $(RUN_OPT) can be command line
- options. [ruby-dev:47703] [Bug #8893]
+ * ext/tk/lib/multi-tk.rb: modify to attend encoding.
-Wed Sep 11 07:55:17 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/tk/lib/remote-tk.rb: ditto.
- * thread.c (rb_mutex_unlock): Mutex#unlock no longer raise
- an exception even if uses on trap. [Bug #8891]
+ * ext/tk/lib/tk/itemconfig.rb: ditto.
-Tue Sep 10 14:37:01 2013 Shota Fukumori <sorah@tubusu.net>
+ * ext/tk/lib/tk/listbox.rb: ditto.
- * vm_backtrace.c (vm_backtrace_to_ary): Ignore the second argument if
- it is nil. [Bug #8884] [ruby-core:57094]
+ * ext/tk/lib/tk/namespace.rb: ditto.
- * test/ruby/test_backtrace.rb (test_caller_with_nil_length):
- Test for above.
+ * ext/tk/lib/tk/panedwindow.rb: ditto.
-Tue Sep 10 12:39:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: ditto.
- * class.c (method_entry_i): should exclude refined methods from
- instance method list. [ruby-core:57080] [Bug #8881]
+ * ext/tk/lib/tk/textmark.rb: ditto.
-Tue Sep 10 12:05:04 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * ext/tk/lib/tk/texttag.rb: ditto.
- * io.c (rb_f_printf): [DOC] add missing parenthesis in rdoc.
+ * ext/tk/lib/tk/variable.rb: ditto.
-Tue Sep 10 10:08:00 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * ext/tk/lib/tk/winfo.rb: ditto.
- * NEWS: Update RubyGems note.
+ * ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto.
-Tue Sep 10 09:51:22 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: ditto.
- * lib/rubygems: Update to RubyGems 2.1.0. Fixes CVE-2013-4287.
+ * ext/tk/lib/tk.rb: add TkWindow#lower_window/raise_window and
+ Tk#lower_window/raise_window by reason of method-name conflict
- See http://rubygems.rubyforge.org/rubygems-update/CVE-2013-4287_txt.html
- for CVE information.
+ * ext/tk/lib/tk/canvas.rb: bug fix on TkCanvas#delete when given
+ non-TkcItem arguments.
- See http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.1.0+%2F+2013-09-09
- for release notes.
+ * ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb: ditto.
- * test/rubygems: Tests for the above.
+Wed May 25 12:59:48 2005 Tanaka Akira <akr@m17n.org>
-Mon Sep 9 21:31:45 2013 Tanaka Akira <akr@fsij.org>
+ * lib/open-uri.rb (OpenURI::Meta::RE_QUOTED_STRING): a content of
+ quoted-string should be zero or more characters.
- * process.c: Remove spaces between SI prefix and unit to follow
- SI brochure.
- http://www.bipm.org/en/si/si_brochure/
- https://www.nmij.jp/library/units/si/
+Tue May 24 23:42:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * time.c: Ditto.
+ * numeric.c (fix_pow): support Fixnum ** Float case directly
+ without coercing. [ruby-talk:142697] [ruby-talk:143054]
- * ext/socket/ancdata.c: Ditto.
+Tue May 24 16:57:24 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Sep 9 16:55:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ruby.c (require_libraries): caused SEGV when continuation jumped
+ in to the required library code.
- * vm_method.c (rb_add_refined_method_entry): clear cache in the
- refined class since refining a method entry is modifying the class.
- [ruby-core:57079] [Bug #8880]
+Tue May 24 11:56:25 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Mon Sep 9 09:14:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/getopts.rb: should warn only if verbose mode.
+ fixed: [ruby-dev:26201]
- * tool/rbinstall.rb (Gem::Specification#initialize): default date to
- RUBY_RELEASE_DATE. [ruby-core:57072] [Bug #8878]
+Tue May 24 06:45:31 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/rbinstall.rb (Gem::Specification#to_ruby): add date.
+ * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): string
+ literals to be matched non-greedy.
-Sun Sep 8 16:01:54 2013 Tanaka Akira <akr@fsij.org>
+Tue May 24 00:34:32 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * rational.c (f_gcd): Relax the condition to use GMP.
+ * test/soap/calc: method name 'set' was able to crash with a class Set.
+ [ruby-dev:26210]
-Sun Sep 8 13:56:38 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * test/wsdl/document/test_rpc.rb: dateTime comparison failed under
+ TZ=right/Asia/Tokyo (with leap second.) [ruby-dev:26208]
- * ext/win32ole/win32ole.c (folevariant_initialize): check type of
- element of array.
+Mon May 23 16:24:05 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/win32ole/test_win32ole_variant.rb (test_s_new_ary): ditto.
+ * ext/tcltklib/extconf.rb: Framework support on MacOS X Tiger.
-Sat Sep 7 21:33:10 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/README.1st: add description of Framework support options.
- * math.c (math_log): Test the sign for bignums.
- (math_log2): Ditto.
- (math_log10): Ditto.
+Mon May 23 12:21:37 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Sep 7 20:25:47 2013 Tanaka Akira <akr@fsij.org>
+ * re.c (make_regexp): should not return junk address during
+ compile time. [ruby-dev:26206]
- * math.c (math_log): Support bignums bigger than 2**1024.
- (math_log2): Ditto.
- (math_log10): Ditto.
+Sun May 22 21:54:06 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Sep 7 15:36:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.4.
- * vm_eval.c (vm_call0): fix prototype, the id parameter should be of
- type ID, not VALUE
+ == SOAP client and server ==
- * vm_insnhelper.c (check_match): the rb_funcall family of functions
- does not care about refinements. We need to use
- rb_method_entry_with_refinements instead to call === with
- refinements. Thanks to Jon Conley for reporting this bug.
- [ruby-core:57051] [Bug #8872]
+ === for both client side and server side ===
- * test/ruby/test_refinement.rb: add test
+ * improved document/literal service support.
+ style(rpc,document)/use(encoding, literal) combination are all
+ supported. for the detail about combination, see
+ test/soap/test_style.rb.
-Sat Sep 7 13:49:40 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * let WSDLEncodedRegistry#soap2obj map SOAP/OM to Ruby according to
+ WSDL as well as obj2soap. closes #70.
- * variable.c (classname): the name of class that has
- non class id should not be nil. This bug was introduced
- in r36577.
+ * let SOAP::Mapping::Object handle XML attribute for doc/lit service.
+ you can set/get XML attribute via accessor methods which as a name
+ 'xmlattr_' prefixed (<foo name="bar"/> -> Foo#xmlattr_name).
- * test/thread/test_cv.rb: test for change.
+ === client side ===
-Sat Sep 7 13:29:22 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * WSDLDriver capitalized name operation bug fixed. from
+ 1.5.3-ruby1.8.2, operation which has capitalized name (such as
+ KeywordSearchRequest in AWS) is defined as a method having
+ uncapitalized name. (converted with GenSupport.safemethodname
+ to handle operation name 'foo-bar'). it introduced serious
+ incompatibility; in the past, it was defined as a capitalized.
+ define capitalized method as well under that circumstance.
- * lib/find.rb (Find.find): respect the encodings of arguments.
- [ruby-dev:47530] [Feature #8657]
+ * added new factory interface 'WSDLDriverFactory#create_rpc_driver'
+ to create RPC::Driver, not WSDLDriver (RPC::Driver and WSDLDriver
+ are merged). 'WSDLDriverFactory#create_driver' still creates
+ WSDLDriver for compatibility but it warns that the method is
+ deprecated. please use create_rpc_driver instead of create_driver.
- * test/test_find.rb: add tests.
+ * allow to use an URI object as an endpoint_url even with net/http,
+ not http-access2.
-Sat Sep 7 10:40:32 2013 Tanaka Akira <akr@fsij.org>
+ === server side ===
- * ext/socket/mkconstants.rb (TCP_FASTOPEN): Defined for TCP fast open.
- [ruby-core:57048] [Feature #8871] patch by Masaki Matsushita.
+ * added mod_ruby support to SOAP::CGIStub. rename a CGI script
+ server.cgi to server.rb and let mod_ruby's RubyHandler handles the
+ script. CGIStub detects if it's running under mod_ruby environment
+ or not.
-Fri Sep 6 23:53:31 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * added fcgi support to SOAP::CGIStub. see the sample at
+ sample/soap/calc/server.fcgi. (almost same as server.cgi but has
+ fcgi handler at the bottom.)
- * common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can't
- require extension libraries. The patch is from nobu
- (Nobuyoshi Nakada).
+ * allow to return a SOAPFault object to respond customized SOAP fault.
- * ext/thread/extconf.rb: for build ext/thread/thread.c.
+ * added the interface 'generate_explicit_type' for server side
+ (CGIStub, HTTPServer). call 'self.generate_explicit_type = true'
+ if you want to return simplified XML even if it's rpc/encoded
+ service.
- * include/ruby/intern.h: ditto.
+ == WSDL ==
- * thread.c: ditto.
+ === WSDL definition ===
- * lib/thread.rb: removed and replaced by ext/thread/thread.c.
+ * improved XML Schema support such as extension, restriction,
+ simpleType, complexType + simpleContent, ref, length, import,
+ include.
- * ext/thread/thread.c: Queue, SizedQueue and ConditionVariable
- implementations in C. This patch is based on patches from panaggio
- (Ricardo Panaggio) and funny_falcon (Yura Sokolov) and ko1
- (Koichi Sasada). [ruby-core:31513] [Feature #3620]
+ * reduced "unknown element/attribute" warnings (warn only 1 time for
+ each QName).
- * test/thread/test_queue.rb (test_queue_thread_raise): add a test for
- ensuring that killed thread should be removed from waiting threads.
- It is based on a code by ko1 (Koichi Sasada). [ruby-core:45950]
+ * importing XSD file at schemaLocation with xsd:import.
-Fri Sep 6 22:47:12 2013 Tanaka Akira <akr@fsij.org>
+ === code generation from WSDL ===
- * configure.in: Define ac_cv_func_clock_getres to yes for mingw*.
+ * generator crashed when there's '-' in defined element/attribute
+ name.
-Fri Sep 6 21:04:10 2013 Tanaka Akira <akr@fsij.org>
+ * added ApacheMap WSDL definition.
- * rational.c: Include gmp.h if GMP is used.
- (GMP_GCD_DIGITS): New macro.
- (rb_gcd_gmp): New function.
- (f_gcd_normal): Renamed from f_gcd.
- (rb_gcd_normal): New function.
- (f_gcd): Invoke rb_gcd_gmp or f_gcd_normal.
+ * sample/{soap,wsdl}: removed.
- * internal.h (rb_gcd_normal): Declared.
- (rb_gcd_gmp): Ditto.
+Sun May 22 19:11:35 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/-test-/rational: New directory.
+ * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#intialize):
+ should initialize session id context. [ruby-core:4663]
- * test/-ext-/rational: New directory.
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): add session id support.
-Fri Sep 6 14:23:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat May 21 10:24:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * win32/win32.c (clock_getres): required as well as clock_gettime().
- [ruby-dev:47699] [Bug #8869]
+ * bcc32/Makefile.sub: tds files were not deleted when DESTDIR
+ included '\' path delimiter. [ruby-dev:26193]
-Fri Sep 6 11:45:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu May 19 19:04:29 2005 speakillof <speakillof@yahoo.co.jp>
- * transcode.c (rb_econv_append): new function to append a string data
- with converting its encoding. split from rb_econv_substr_append.
+ * lib/rexml/encodings/SHIFT-JIS.rb: encoding and decoding were
+ swapped. [ruby-core:4772]
-Fri Sep 6 02:37:22 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Wed May 18 23:42:25 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/psych/lib/psych/visitors/yaml_tree.rb: use double quotes when
- strings start with special characters.
- https://github.com/tenderlove/psych/issues/157
+ * error.c (exc_exception): reverted to call Exception#initialize
+ directly. fixed: [ruby-dev:26177]
- * test/psych/test_string.rb: test for change.
+Wed May 18 23:39:09 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 6 00:05:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c (glob_helper): get rid of using String. [ruby-dev:26180]
- * class.c (rewrite_cref_stack): remove recursion.
+ * dir.c (push_braces): should skip balanced braces.
-Thu Sep 5 18:05:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * eval.c (ruby_options), win32/win32.c (NtInitialize): move argument
+ intialization back. [ruby-dev:26180]
- * string.c (fstring_cmp): take string encoding into account when
- comparing fstrings [ruby-core:57037] [Bug #8866]
+Tue May 17 15:31:31 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_string.rb: add test
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should
+ break the loop if the socket reached to EOF. [ruby-talk:142285]
-Thu Sep 5 17:25:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue May 17 11:52:18 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * string.c (rb_fstring, rb_str_free): use st_data_t instead of VALUE.
+ * win32/win32.c (unixtime_to_filetime): use localtime() instead of
+ gmtime() when using FileLocalTimeToFileTime().
- * string.c (rb_fstring): get rid of duplicating already frozen object.
+Mon May 16 22:28:43 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 5 14:01:22 2013 Eric Hodel <drbrain@segment7.net>
+ * win32/win32.h, {bcc32,win32,wince}/Makefile.sub: moved rb_[ugp]id_t
+ to get rid of redefinition warnings on mingw.
- * lib/optparse.rb: The Integer acceptable now allows binary and
- hexadecimal numbers per the documentation. [ruby-trunk - Bug #8865]
+ * class.c (rb_class_init_copy): singleton class is disallowed to copy,
+ from its definition. fixed: [ruby-talk:142749]
- DecimalInteger, OctalInteger, DecimalNumeric now validate their input
- before converting to a number. [ruby-trunk - Bug #8865]
+Mon May 16 08:52:29 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/optparse/test_acceptable.rb: Tests for the above, tests for all
- numeric acceptables for existing behavior.
+ * win32/win32.{h,c}: define rb_[pgu]id_t.
-Thu Sep 5 13:49:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Mon May 16 00:21:02 2005 Tanaka Akira <akr@m17n.org>
- * include/ruby/ruby.h: add RSTRING_FSTR flag
+ * lib/pathname.rb (Pathname#unlink): use SystemCallError instead of
+ Errno::EISDIR because EISDIR is not portable.
+ [ruby-core:5001]
- * internal.h: add rb_fstring() prototype
+Sun May 15 22:11:33 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * string.c (rb_fstring): deduplicate frozen string literals
+ * lib/drb/drb.rb (DRbObject#method_missing): use raise(exception).
+ [ruby-dev:26164]
- * string.c (rb_str_free): delete fstrings from frozen_strings table when
- they are GC'd
+Sun May 15 18:56:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (Init_String): initialize frozen_strings table
+ * configure.in, ruby.h: define rb_[pgu]id_t macros instead of typedefs
+ to get rid of types which might not be defined yet. [ruby-dev:26165]
-Thu Sep 5 12:48:00 2013 Kenta Murata <mrkn@cookpad.com>
+Sun May 15 14:35:46 2005 Tanaka Akira <akr@m17n.org>
- * configure.in (with_gmp): set with_gmp no if it is empty.
+ * lib/pathname.rb (Pathname#unlink): unlink a symlink to a directory
+ was failed. [ruby-core:4992]
-Thu Sep 5 10:41:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Sun May 15 09:57:30 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_insnhelper.c (vm_getivar): use class sequence to check class
- identity, instead of pointer + vm state
+ * win32/win32.c (unixtime_to_filetime): deal with DST.
+ [ruby-talk:141817]
- * vm_insnhelper.c (vm_setivar): ditto
+Sat May 14 23:59:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 5 08:20:58 2013 Tanaka Akira <akr@fsij.org>
+ * error.c (exc_exception, {exit,name_err,syserr}_initialize): call
+ Execption#initialize. fixed: [ruby-talk:142593]
- * bignum.c (GMP_DIV_DIGITS): New macro.
- (bary_divmod_gmp): New function.
- (rb_big_divrem_gmp): Ditto.
- (bary_divmod_branch): Ditto.
- (bary_divmod): Use bary_divmod_branch.
- (bigdivrem): Ditto.
+Sat May 14 23:57:26 2005 Erik Huelsmann <ehuels@gmail.com>
- * internal.h (rb_big_divrem_gmp): Declared.
+ * configure.in: Check for the availability of pid_t, gid_t and uid_t and
+ remove AC_TYPE_UID_T. fixed: [ruby-core:04745]
-Thu Sep 5 06:22:42 2013 Tanaka Akira <akr@fsij.org>
+ * defines.h: Remove pid_t typedef.
- * bignum.c (bary_divmod_normal): Reduce temporary array allocations.
+ * ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with
+ the available system types.
-Thu Sep 5 02:17:06 2013 Tanaka Akira <akr@fsij.org>
+ * process.c: Change instances of pid_t and gid_t to their rb_*
+ counterparts.
- * bignum.c (rb_big_divrem_normal): Add GC guards.
+ * ext/pty/pty.c: Change pid_t to rb_pid_t.
-Thu Sep 5 00:38:32 2013 Tanaka Akira <akr@fsij.org>
+ * vms/config.h: Define HAVE_{P,G,U}ID_T to 1.
- * bignum.c (rb_big_divrem_normal): New function.
+ * win32/Makefile.sub: Remove #define for {g,u}id_t.
- * internal.h (rb_big_divrem_normal): Declared.
+ * win32/win32.c: Change pid_t to rb_pid_t.
- * ext/-test-/bignum/div.c: New file.
+ * wince/Makefile.sub: Remove #define for {g,u}id_t.
- * test/-ext-/bignum/test_div.rb: New file.
+ * wince/sys/types.h: Remove definitions of {p,g,u}id_t.
-Thu Sep 5 00:08:44 2013 Tanaka Akira <akr@fsij.org>
+Fri May 13 23:44:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (bigdivrem_normal): Removed.
- (bary_divmod_normal): New function.
- (bary_divmod): Use bary_divmod_normal.
- (bigdivrem): Use bary_divmod_normal.
+ * ext/extmk.rb: keep srcdir unexpanded.
-Wed Sep 4 23:02:12 2013 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb (create_makefile): quote topdir and hdrdir if necessary.
+ fixed: [ruby-core:04932]
- * bignum.c (bigdivrem): Useless declaration removed.
+ * lib/mkmf.rb (configuration), {bcc32,win32,wince}/Makefile.sub: make
+ also INSTALL_PROG and INSTALL_DATA system dependent.
+ fixed: [ruby-core:04931]
-Wed Sep 4 22:56:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri May 13 17:54:39 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * numeric.c (NUM_STEP_GET_INF): split from NUM_STEP_SCAN_ARGS(), since
- inf is not used in num_step_size().
+ * variable.c (generic_ivar_get): rb_attr_get should not warn.
+ [ruby-dev:26010]
-Wed Sep 4 20:22:43 2013 Tanaka Akira <akr@fsij.org>
+Fri May 13 12:28:43 2005 Daniel Berger <djberge@qwest.com>
- * bignum.c (bigdivrem_normal): Add assertions.
+ * array.c (rb_ary_select): can remove argc check. [ruby-core:4911]
-Wed Sep 4 19:18:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_array.rb: add test for find_all.
- * internal.h (vm_state_version_t): prefer LONG_LONG to uint64_t.
+Fri May 13 11:29:00 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Sep 4 16:28:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (unknown_node): add volatile directive to prototype.
- * internal.h (vm_state_version_t): use uint64_t when it is larger than
- LONG_LONG, and fallback to unsigned long.
+Thu May 12 17:08:48 2005 Tanaka Akira <akr@m17n.org>
-Wed Sep 4 15:37:05 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * io.c (rb_io_eof, remain_size, read_all, io_read, appendline)
+ (swallow, rb_io_each_byte, rb_io_getc): revert previous change.
- * enc/trans/utf8_mac-tbl.rb: fix r42789.
- Fix conversion table and logic. [ruby-dev:47680]
+ * io.c (rb_io_eof, io_fread, appendline, swallow, rb_io_each_byte)
+ (rb_io_getc, rb_getc): call clearerr before getc to avoid
+ stdio incompatibility.
-Wed Sep 4 14:08:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Thu May 12 16:52:20 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * class.c, compile.c, eval.c, gc.h, insns.def, internal.h, method.h,
- variable.c, vm.c, vm_core.c, vm_insnhelper.c, vm_insnhelper.h,
- vm_method.c: Implement class hierarchy method cache invalidation.
+ * lib/rdoc/parsers/parse_c.rb: more readability for mixing
+ progress "c..." and warning message.
- [ruby-core:55053] [Feature #8426] [GH-387]
+Thu May 12 16:31:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Sep 4 11:13:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 2.0.5
- * string.c (str_gsub): use BEG(0) for whole matched position not
- return value from rb_reg_search(), for \K matching.
- [ruby-dev:47694] [Bug #8856]
+Thu May 12 16:15:01 2005 Tanaka Akira <akr@m17n.org>
-Wed Sep 4 11:11:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (rb_io_eof, remain_size, read_all, io_read, appendline)
+ (swallow, rb_io_each_byte, rb_io_getc): don't rely EOF flag.
+ [ruby-talk:141527]
- * configure.in (SOLIBS): LIBRUBY_SO also needs linking with gmp, to
- run worker processes in test-all on non-ELF platforms.
+Thu May 12 15:56:20 2005 Tilman Sauerbeck <tilman@code-monkey.de>
-Tue Sep 3 23:01:41 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/rdoc/parsers/parse_c.rb: show parsing progress for C files.
+ [ruby-core:4341]
- * test/rexml/parser/test_tree.rb
- (TestTreeParser::TestInvalid#test_unmatched_close_tag):
- Compute expected value from test value.
+Thu May 12 13:47:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Sep 3 22:59:58 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/drb/test_drb{ssl,unix}.rb: can test drb
+ before install. (backported from HEAD) [ruby-dev:26146]
- * lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):
- Add source information to parse exception on no close tag error.
- [Bug #8844] [ruby-dev:47672]
- Patch by Ippei Obayashi. Thanks!!!
- * test/rexml/parser/test_tree.rb: Add a test for the above case.
+Thu May 12 09:53:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 3 22:57:57 2013 Kouhei Sutou <kou@cozmixng.org>
+ * version.c (ruby_show_version): flush for non-tty stdout.
- * test/rexml/parser/test_tree.rb: Fix test name to describe test
- content.
+Thu May 12 09:07:07 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Sep 3 22:54:46 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/ruby/envutil.rb, test/drb/drbtest.rb: can test drb
+ before install. (backported from HEAD) [ruby-Bugs-1672]
- * lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse):
- Remove needless nested parse exception information.
- [Bug #8844] [ruby-dev:47672]
- Reported by Ippei Obayashi. Thanks!!!
- * test/rexml/parser/test_tree.rb: Add a test for the above case.
+Thu May 12 01:23:55 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 3 22:03:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at
+ parser. fixed: [ruby-dev:26113]
- * string.c (rb_enc_str_new_cstr): new function to create a string from
- the C-string pointer with the specified encoding.
+ * eval.c (unknown_node): ignore broken NODE to get rid of accessing
+ possibly inaccessible address. fixed: [ruby-dev:26122]
+ should emit more useful information like [ruby-dev:26126], though.
-Tue Sep 3 21:41:37 2013 Akira Matsuda <ronnie@dio.jp>
+Wed May 11 16:20:01 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * eval.c (Init_eval): Make Module#include and Module#prepend public
- [Feature #8846]
+ * lib/webrick/cgi.rb: new methods WEBrick::CGI#[], WEBrick::CGI#logger
+ and WEBrick::CGI#config. (backported from HEAD)
- * test/ruby/test_module.rb (class TestModule): Test for above
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape_path): should
+ not use String#split("/"). (backported from HEAD)
-Tue Sep 3 21:35:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 11 15:58:39 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread_pthread.c (sys/dyntune.h): for gettune().
+ * eval.c (break_jump): break should not cross functions.
+ [ruby-list:40818]
- * thread_pthread.c (hpux_attr_getstackaddr): fix missing *.
- [ruby-core:56983] [Feature #8793]
+Wed May 11 10:39:37 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Sep 3 20:12:46 2013 Tanaka Akira <akr@fsij.org>
+ * lib/tempfile.rb (Tempfile#unlink): fixed typo.
- * bignum.c (GMP_STR2BIG_DIGITS): New macro.
- (str2big_gmp): New function.
- (rb_cstr_to_inum): Use str2big_gmp for big bignums.
- (rb_str2big_gmp): New function.
+Wed May 11 01:03:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * internal.h (rb_str2big_gmp): Declared.
+ * eval.c (TMP_ALLOC): use macro NEW_NODE() to get rid of warnings on
+ platforms which have no alloca(). fixed: [ruby-talk:141301]
-Tue Sep 3 19:44:40 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun May 8 23:17:47 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/win32/lib/win32/registry.rb (Win32::Registry#values): added.
- [Feature #7763] [ruby-core:51783]
+ * ext/tk/lib/tk/timer.rb: fix typo.
-Tue Sep 3 18:26:00 2013 Akinori MUSHA <knu@iDaemons.org>
+Sun May 8 16:52:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * misc/inf-ruby.el (inf-ruby-keys, run-ruby): Add magic autoload
- comments.
+ * lib/profiler.rb: fixed "undefined method `[]' for nil:NilClass"
+ [ruby-core:4775] [ruby-talk:140401] [ruby-dev:26118]
- * misc/rdoc-mode.el (rdoc-mode): Ditto.
+Sat May 7 22:58:00 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * misc/ruby-electric.el (ruby-electric-mode): Ditto.
+ * lib/mkmf.rb (have_var): no libs argument is given.
- * misc/ruby-style.el (ruby-style-c-mode): Ditto.
+Sun May 1 09:58:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 3 17:06:15 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ruby.c (process_sflag): replace '-' in variable names with '_'.
+ [ruby-dev:26107]
- * test/ruby/test_rubyoptions.rb
- (TestRubyOptions::SEGVTest::ExpectedStderr): the URL was changed at
- r42800.
+ * ruby.c (set_arg0): use also environment variable space for setting
+ $0. [ruby-core:04774]
-Tue Sep 3 14:48:25 2013 Zachary Scott <e@zzak.io>
+Wed Apr 27 23:42:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/thread.rb: [DOC] CV#wait typo by @avdi [Fixes GH-386]
- https://github.com/ruby/ruby/pull/386
+ * win32/Makefile.sub (OPTFLAGS): default global optimization to
+ disabled only for VC++6.
-Tue Sep 3 14:37:53 2013 Zachary Scott <e@zzak.io>
+Tue Apr 26 22:58:00 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * error.c: [DOC] Update bug tracker url by @ScotterC [Fixes GH-390]
- https://github.com/ruby/ruby/pull/390
+ * ext/tcltklib/tcltklib.c (ip_invoke_core): call Tcl's "::unknown"
+ command when can't get information of target command.
-Tue Sep 3 12:45:23 2013 Tanaka Akira <akr@fsij.org>
+Mon Apr 25 01:18:43 2005 Tanaka Akira <akr@m17n.org>
- * bignum.c (rb_str2big_poweroftwo): New function.
- (rb_str2big_normal): Ditto.
- (rb_str2big_karatsuba): Ditto.
+ * regex.c: declare rb_warn to have variadic argument. [ruby-core:4751]
- * internal.h (rb_str2big_poweroftwo): Declared.
- (rb_str2big_normal): Ditto.
- (rb_str2big_karatsuba): Ditto.
+Sat Apr 23 19:45:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/-test-/bignum/str2big.c: New file.
+ * ext/tcltklib/tcltklib.c (ip_RubyExitCommand): exit with status code
+ via TclTkIp#_eval didn't work. [ruby-talk:139390]
- * test/-ext-/bignum/test_str2big.rb: New file.
+Fri Apr 22 16:41:50 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/-test-/bignum/depend: Add the dependency for str2big.c.
+ * ext/tcltklib/tcltklib.c (ip_set_exc_message): fixed memory leak.
-Tue Sep 3 12:09:08 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c: eTkCallbackReturn was not initialized.
- * process.c (rb_clock_gettime): Support times() based monotonic clock.
- (rb_clock_getres): Ditto.
+Thu Apr 21 00:07:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 3 12:03:02 2013 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb (create_makefile): support platforms have file separator
+ other than /.
- * bignum.c (str2big_scan_digits): Extracted from rb_cstr_to_inum.
+ * {bcc32,win32,wince}/Makefile.sub (BUILD_FILE_SEPARATOR): separator
+ of building platform.
-Tue Sep 3 11:23:57 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * {bcc32,win32,wince}/Makefile.sub (CP, INSTALL): use COPY command.
- * win32/win32.c (rb_w32_select_with_thread): rounding up the fraction of
- tv_usec instead of rounding down.
- this change is an experiment to get rid of failures on vc10-x64 CI.
+Wed Apr 20 23:22:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 3 11:00:28 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * Makefile.in, common.mk: miniruby depens on MINIOBJS.
- * win32/win32.c (do_select): constify timeout.
+ * dmydln.c (dln_load): dummy function to raise LoadError.
- * win32/win32.c (rb_w32_select_with_thread): constify 10ms wait and
- 0ms wait structs.
+ * cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby
+ can't load extensions on Windows.
-Tue Sep 3 10:03:42 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Apr 20 23:01:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/openssl/test_pair.rb
- (OpenSSL::TestPair#test_write_nonblock_no_exceptions): on some CIs
- such as Debian 6.0, Ubuntu 10.04, CentOS and vc10-x64 (maybe depend
- on OpenSSL version), writing to SSLSocket after SSL_ERROR_WANT_WRITE
- causes SSL_ERROR_SSL "bad write retry".
+ * win32/ifchange.bat: delete testing files.
-Tue Sep 3 08:20:46 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Apr 20 07:27:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * enc/trans/utf8_mac-tbl.rb: update conversion table to recent OS X.
- Previous table is used on Mac OS X 10.1 or prior.
- This table is used on 10.2 or later. [ruby-dev:47680]
+ * {bcc32,win32,wince}/configure.bat, {bcc32,win32,wince}/setup.mak:
+ add extout option.
-Tue Sep 3 07:49:25 2013 Akinori MUSHA <knu@iDaemons.org>
+ * bcc32/setup.mak: make configuration variables overridable.
- * numeric.c (NUM_STEP_SCAN_ARGS): On second thought, keep
- Numeric#step backward compatible in that it raises TypeError
- when nil is given as second argument.
+Wed Apr 20 04:15:27 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
- * test/ruby/test_float.rb (TestFloat#test_num2dbl): Revert.
+ * lib/irb.rb lib/irb/* doc/irb: IRB 0.9.5
- * test/ruby/test_numeric.rb (TestNumeric#test_step): Fix test
- cases for the above change.
+Tue Apr 19 23:37:09 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Sep 3 07:39:58 2013 Tanaka Akira <akr@fsij.org>
+ * lib/ftools.rb (File.safe_unlink): do not modify a symlinked file.
- * bignum.c (bytes_2comp): Define it only for little endian
- environment.
+Tue Apr 19 00:06:20 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 3 07:31:29 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/extmk.rb: expand path for ext/**/extconf.rb.
- * numeric.c (NUM_STEP_SCAN_ARGS): Numeric#step should raise
- TypeError if a non-numeric parameter is given.
+Mon Apr 18 11:25:14 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/ruby/test_float.rb (TestFloat#test_num2dbl): Allow nil as
- step, as with the keyword argument.
+ * ext/zlib/zlib.c (zstream_run): fixed SEGV. [ruby-core:4712]
- * test/ruby/test_numeric.rb (TestNumeric#test_step): Add tests for
- nil as step or limit.
+Sun Apr 17 23:57:49 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 3 07:28:49 2013 Tanaka Akira <akr@fsij.org>
+ * ext/extmk.rb (extmake, parse_args): do not expand destdir.
- * internal.h (bit_length): Add casts to fix compilation error with
- clang 3.0 -Werror,-Wshorten-64-to-32.
- [ruby-dev:47687] reported by SASADA Koichi.
+ * ext/extmk.rb (relative_from): treat mere drive letter as an absolute
+ path.
-Tue Sep 3 03:17:26 2013 Koichi Sasada <ko1@atdot.net>
+Sat Apr 16 17:01:16 2005 Kouhei Sutou <kou@cozmixng.org>
- * vm_insnhelper.c (vm_search_super_method): use ci->argc instead of
- ci->orig_argc. ci->argc can be changed by splat arguments.
- [ruby-list:49575]
- This fix should be applied to Ruby 2.0.0 series.
+ * sample/rss/tdiary_plugin/rss-recent.rb (rss_recent_cache_rss):
+ use the first date information of items as site date information
+ if channel doesn't have date information.
- * test/ruby/test_super.rb: add a test for above.
+Sat Apr 16 15:27:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Sep 2 23:46:29 2013 Akinori MUSHA <knu@iDaemons.org>
+ * configure.in (RUBY_PROG_INSTALL): not add -p option to INSTALL.
+ files need timestamps to be kept are only ar-archive on a few
+ platforms, and be installed by instruby.rb but not INSTALL.
+ fixed: [ruby-core:04721]
- * numeric.c (num_step): Default the limit argument to infinity and
- allow it to be omitted. Keyword arguments (by: and to:) are
- introduced for ease of use. [Feature #8838] [ruby-dev:47662]
- [ruby-dev:42194]
+ * mkconfig.rb: purge autoconf value variables.
- * numeric.c (num_step): Optimize for infinite loop.
+Sat Apr 16 10:36:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Mon Sep 2 22:55:59 2013 Tanaka Akira <akr@fsij.org>
+ * bcc32/Makefile.sub: quick hack... prepend DESTDIR.
+ still have restriction on DESTDIR ("", "/", "e:")
- * bignum.c (ISDIGIT): Unused macro removed.
+Sat Apr 16 03:59:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Mon Sep 2 22:49:15 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/extconf.rb: check for OPENSSL_cleanse.
- * bignum.c (str2big_poweroftwo): Extracted from rb_cstr_to_inum.
- (str2big_normal): Ditto.
- (str2big_karatsuba): Ditto.
+ * ext/openssl/openssl_missing.h: ditto.
-Mon Sep 2 14:39:29 2013 Akinori MUSHA <knu@iDaemons.org>
+Thu Apr 14 19:18:30 2005 Minero Aoki <aamine@loveruby.net>
- * ruby.c (Process#setproctitle): [DOC] Fix and improve rdoc.
+ * lib/fileutils.rb (remove_file): ignore exceptions caused by
+ chmod.
- * ruby.c (Process#argv0): [DOC] Improve rdoc.
+ * lib/fileutils.rb (remove_dir): try to get rights to rmdir.
+ [ruby-Bugs:1502] (2 items backportted from HEAD, rev 1.53-54)
-Mon Sep 2 14:15:00 2013 Kenta Murata <mrkn@cookpad.com>
+Thu Apr 14 16:57:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * NEWS: fix description of number literal suffixes.
+ * bcc32/Makefile.sub: failed to remove debug information files.
+ fixed: [ruby-dev:26034]
-Mon Sep 2 14:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Wed Apr 13 23:40:21 2005 Kouhei Sutou <kou@cozmixng.org>
- * test/rake/test_rake_rules.rb: add space after string literal to
- prevent conflict with string options syntax "foo"opts
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.3 -> 0.1.4.
- * test/rss/rss-assertions.rb: ditto
+ * lib/rss/rss.rb (RSS::Element#converter): fixed converter
+ transmission bug.
-Mon Sep 2 12:28:38 2013 Tanaka Akira <akr@fsij.org>
+Wed Apr 13 21:20:35 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/ruby/test_bignum.rb (test_interrupt_during_to_s): Disable it
- when GMP is used.
+ * configure.in (mingw32): extract msvcr*.dll from objdump result.
-Mon Sep 2 07:02:10 2013 Tanaka Akira <akr@fsij.org>
+Wed Apr 13 20:24:30 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (Init_Bignum): Define Bignum::GMP_VERSION when GMP is used.
+ * configure.in (mingw32): use actual runtime DLL name as ruby DLL
+ name and default load path.
-Mon Sep 2 01:46:14 2013 Tanaka Akira <akr@fsij.org>
+ * win32/Makefile.sub, win32/setup.mak: ditto.
- * bignum.c (big2str_generic): Reduce arguments.
- (big2str_gmp): Ditto.
- (rb_big2str1): Follow the above change.
+Tue Apr 12 15:33:09 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Sep 2 00:08:08 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c (ip_finalize): better modification than the
+ previous commit [ruby-dev:26029].
- * process.c (get_mach_timebase_info): Extracted from rb_clock_gettime.
- (rb_clock_gettime): Use get_mach_timebase_info.
- (rb_clock_getres): Support MACH_ABSOLUTE_TIME_BASED_CLOCK_MONOTONIC.
+Tue Apr 12 12:38:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Sep 1 23:30:47 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c (ip_finalize): fix SEGV when Tcl_GlobalEval()
+ modifies the argument string to eval.
- * bignum.c (GMP_BIG2STR_DIGITS): New constant.
- (big2str_gmp): New function.
- (rb_big2str1): Use big2str_gmp for big bignums.
+Tue Apr 12 02:21:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * internal.h (rb_big2str_gmp): Declared.
+ * ext/tcltklib/tcltklib.c (ip_finalize): add existence check of
+ Tcl commands before calling Tcl_GlobalEval().
- * ext/-test-/bignum/big2str.c (big2str_gmp): New method.
+Mon Apr 11 23:47:21 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sun Sep 1 22:37:51 2013 Tanaka Akira <akr@fsij.org>
+ * lib/drb/drb.rb: [druby-ja:123] fix: When reference of my object is
+ loaded, the object is tainted.
- * bignum.c (bary_mul_gmp): Use mpz_init and mpz_clear instead of
- mpz_inits and mpz_clears.
- Older GMP don't have them.
+ * test/drb/test_drb.rb: ditto.
-Sun Sep 1 21:17:54 2013 Tanaka Akira <akr@fsij.org>
+Mon Apr 11 22:18:23 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/net/http/test_http.rb (test_bind_to_local_port): Choose an open
- port more reliably.
+ * dir.c, file.c (lstat): avoid warnings for mingw.
-Sun Sep 1 20:32:40 2013 Tanaka Akira <akr@fsij.org>
+Mon Apr 11 20:11:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (big2str_base_poweroftwo): Renamed from
- big2str_base_powerof2.
- (rb_big2str_poweroftwo): New function for test.
- (big2str_generic): Extracted from rb_big2str1.
- (rb_big2str_generic): New function for test.
+ * ext/tcltklib/tcltklib.c (ip_finalize): adhoc patch to avoid SEGV
+ when exit on Tcl/Tk8.3.x.
- * internal.h (rb_big2str_poweroftwo): Declared.
- (rb_big2str_generic): Ditto.
+Mon Apr 11 15:26:25 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/-test-/bignum/big2str.c: New file.
+ * lib/mkmf.rb (configuration): shouldn't output hdrdir twice.
- * test/-ext-/bignum/test_big2str.rb: New file.
+Mon Apr 11 12:09:05 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sun Sep 1 15:21:21 2013 Tanaka Akira <akr@fsij.org>
+ * {bcc32,win32,wince}/Makefile.sub: ri data was not installed
+ into correct path. [ruby-dev:26011]
- * bignum.c (big2str_2bdigits): Renamed from big2str_orig.
+ * bcc32/Makefile.sub: defaulted install-nodoc. [ruby-dev:26011]
-Sun Sep 1 13:02:24 2013 Tanaka Akira <akr@fsij.org>
+Sun Apr 10 10:12:42 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * bignum.c: Remove BITSPERDIG >= INT_MAX test. The static assertion,
- SIZEOF_BDIGITS <= sizeof(BDIGIT) is enough.
+ * ext/win32ole/win32ole.c(ole_invoke): retry after converting Qnil
+ to VT_EMPTY.
-Sun Sep 1 11:38:26 2013 Tanaka Akira <akr@fsij.org>
+ * ext/win32ole/win32ole/tests/testWIN32OLE.rb: correct error
+ message string "Unknown" => "unknown".
- * bignum.c (maxpow_in_bdigit): Removed.
+Sat Apr 9 18:20:31 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Sep 1 10:30:42 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/image.rb: support to create TkImage object without
+ creating a new image object on Tk.
- * numeric.c (rb_fix_bit_length): Moved from bignum.c.
+ * ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()
-Sun Sep 1 09:55:45 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.
- * internal.h (bit_length): Moved from bignum.c.
- (nlz_int): Ditto.
- (nlz_long): Ditto.
- (nlz_long_long): Ditto.
- (nlz_int128): Ditto.
+ * ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString
+ from (x, y) coords.
-Sun Sep 1 03:32:22 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tkextlib/tile/: add demo and update support status.
- * bignum.c (bit_length): Renamed from bitsize.
+Sat Apr 9 14:42:29 2005 Kouhei Sutou <kou@cozmixng.org>
-Sun Sep 1 00:07:09 2013 Tanaka Akira <akr@fsij.org>
+ * sample/rss/tdiary_plugin/rss-recent.rb: supported configuration
+ via Web browser.
- * bignum.c (rb_big_bit_length): New method.
- (rb_fix_bit_length): Ditto.
- [ruby-core:56247] [Feature #8700]
+Sat Apr 9 11:59:57 2005 Kouhei Sutou <kou@cozmixng.org>
-Sat Aug 31 22:18:29 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss: backoported from HEAD.
- * process.c (rb_clock_getres): New method.
- (timetick2dblnum_reciprocal): New function.
+ * lib/rss: refactored.
+ - gave a name to 'x'.
+ - undef_method -> remove_method for avoiding a warning in ruby 1.6.
- * configure.in: Check clock_getres.
- [ruby-core:56780] [Feature #8809] accepted as a CRuby feature at
- DevelopersMeeting20130831Japan
- https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130831Japan
+ * lib/rss/parser.rb: @@setter -> @@setters.
-Sat Aug 31 21:02:07 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss/parser.rb
+ (RSS::BaseListener.register_uri)
+ (RSS::BaseListener.uri_registered?)
+ (RSS::BaseListener.install_get_text_element):
+ swapped the first argument and the second argument.
- * bignum.c: Use GMP to accelerate big Bignum multiplication.
- (bary_mul_gmp): New function.
- (bary_mul): Use bary_mul_gmp.
- (bigsq): Use different threshold with GMP.
+ * lib/rss/taxonomy.rb: swapped the first argument and the second
+ argument for RSS::BaseListener.install_get_text_element.
+ * lib/rss/image.rb: ditto.
+ * lib/rss/syndication.rb: ditto.
+ * lib/rss/dublincore.rb: ditto.
+ * lib/rss/parser.rb: ditto.
+ * lib/rss/1.0.rb: ditto.
+ * lib/rss/2.0.rb: ditto.
+ * lib/rss/0.9.rb: ditto.
+ * lib/rss/content.rb: ditto.
- * configure.in: Detect GMP.
+ * lib/rss/parser.rb
+ (RSS::BaseListener.install_setter)
+ (RSS::BaseListener.register_uri): changed fallback way.
- [ruby-core:56658] [Feature #8796]
+ * lib/rss/parser.rb: added class name registry for complex model
+ elements. (ex. have childlen elements, have some attributes and
+ a child element and so on.)
-Sat Aug 31 15:03:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
- * compile.c (NODE_MATCH3): pass CALL_INFO to opt_regexpmatch2
+ * lib/rss/dublincore.rb: supported multiple Dublin Core items.
+ * lib/rss/maker/dublincore.rb: ditto.
- * insns.def (opt_regexpmatch2): use CALL_SIMPLE_METHOD to call =~ if
- the receiver is not a T_STRING [Bug #8847] [ruby-core:56916]
+ * lib/rss/maker/image.rb: supproted new Dublin Core API.
-Sat Aug 31 14:07:11 2013 Tanaka Akira <akr@fsij.org>
- * lib/securerandom.rb (random_bytes): Use Process.clock_gettime.
+ * lib/rss/maker/base.rb: added default current_element implementation.
-Sat Aug 31 00:25:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/encoding.h (rb_{ascii8bit,utf8,usascii}_encindex): get
- rid of conflict with macros defined in internal.h.
+ * lib/rss/trackback.rb (RSS::TrackBackUtils.new_with_value_if_need):
+ moved to RSS::Utils.
-Fri Aug 30 22:37:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rss/utils.rb (RSS::Utils.new_with_value_if_need):
+ moved from RSS::TrackBackUtils.
- * thread_pthread.c (native_thread_init_stack): wait the creator thread
- to fill machine stack info, if get_stack_of() is available.
- * thread_pthread.c (native_thread_create): fill the created thread
- stack info after starting, if get_stack_of() is available.
+ * lib/rss/maker/image.rb: fixed invalid argument of
+ add_need_initialize_variable bug.
+ * lib/rss/maker/trackback.rb: ditto.
- * thread_pthread.c (native_thread_create): define attr only if it is
- used, and merge pthread_create() calls.
- * thread_pthread.c (get_main_stack): separate function to get stack of
- main thread.
+ * lib/rss/rss.rb (Hash#merge): added for ruby 1.6.
-Thu Aug 29 18:05:33 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/rss.rb (RSS::BaseModel.date_writer): changed to accept nil
+ for date value.
- * struct.c (rb_struct_define_without_accessor_under): added.
- This function is similar to rb_define_class_under() against
- rb_define_class().
- * include/ruby/intern.h: add a declaration of this function.
+ * test/test_dublincore.rb: added tests for plural accessor and
+ multiple Dublin Core items.
-Thu Aug 29 17:03:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/test_setup_maker_1.0.rb: fixed swapped actual and expected
+ values.
- * vm_insnhelper.c (vm_call_method): a method entry refers the based
- class/module, so should search superclass from the origin i-class
- where the entry belongs to, to get rid of infinite loop when zsuper
- in a prepended class/module. [ruby-core:54105] [Bug #8238]
+ * test/rss/rss-assertions.rb (assert_multiple_dublin_core): added
+ an assertion for testing multiple Dublin Core items.
-Thu Aug 29 05:35:58 2013 Eric Hodel <drbrain@segment7.net>
+ * test/rss/test_maker_dc.rb (test_rss10_multiple): added a test
+ for making multiple Dublin Core items.
- * ext/zlib/zlib.c (zstream_run): Fix handling of deflate streams that
- need a dictionary but are being decompressed by Zlib::Inflate.inflate
- (which has no option to set a dictionary). Now Zlib::NeedDict is
- raised instead of crashing. [ruby-trunk - Bug #8829]
- * test/zlib/test_zlib.rb (TestZlibInflate): Test for the above.
+ * test/rss/test_maker_dc.rb (test_date): added a test for #date=
+ and #dc_date=.
-Thu Aug 29 02:40:45 2013 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/psych/lib/psych/scalar_scanner.rb: invalid floats should be
- treated as strings.
- https://github.com/tenderlove/psych/issues/156
+ * sample/rss/tdiary_plugin/rss-recent.rb:
+ new option: @options['rss-recent.use-image-link']:
+ use image as link instread of text if available.
- * test/psych/test_string.rb: test for change
+ * sample/rss/tdiary_plugin/rss-recent.rb (RSS_RECENT_VERSION):
+ 0.0.5 -> 0.0.6.
-Wed Aug 28 17:20:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Apr 8 20:17:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread_pthread.c (hpux_attr_getstackaddr): basic support for the
- get_stack() under HP-UX. based on the patch by michal@rokos.cz
- (Michal Rokos) at [ruby-core:56645]. [Feature #8793]
+ * ext/extmk.rb (extmake): hdrdir needs to be defined also in
+ Config::CONFIG.
-Wed Aug 28 11:24:20 2013 Michal Rokos <michal@rokos.cz>
+ * lib/mkmf.rb (configuration, create_makefile): get rid of recursive
+ macro reference.
- * configure.in (sys/pstat.h): fix missing header check for
- missing/setproctitle.c on HP-UX. [ruby-core:56644] [Bug #8792]
+Fri Apr 8 18:26:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Aug 28 04:54:33 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/openssl/ossl_ssl.c: add callbacks to OpenSSL::SSL::SSLContexts.
+ - SSLContext#client_cert_cb=(aProc). it is called when a client
+ certificate is requested by a server and no certificate was not
+ set for the SSLContext. it must return an Array which includes
+ OpenSSL::X509::Certificate and OpenSSL::PKey::RSA/DSA objects.
+ - SSLContext#tmp_dh_callback=(aProc). it is called in key
+ exchange with DH algorithm. it must return an OpenSSL::PKey::DH
+ object.
- * ext/openssl/ossl_ssl.c (ossl_ssl_read): Replace duplicate
- wait_writable with wait_readable.
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): ignore the
+ argument if it's nil.
-Tue Aug 27 17:18:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_pkey.c
+ (GetPrivPKeyPtr, ossl_pkey_sign): should call rb_funcall first.
+ (DupPrivPKeyPtr): new function.
- * lib/timeout.rb (Timeout#timeout): skip rescue clause only when no
- exception class is given.
+ * ext/openssl/ossl_pkey_dh.c: add default DH parameters.
-Tue Aug 27 17:02:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_pkey.h: ditto.
- * io.c (copy_stream_body): should write in binary mode. based on a
- patch by godfat (Lin Jen-Shin) at [ruby-core:56556].
- [ruby-core:56518] [Bug #8767]
+Fri Apr 8 01:55:20 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 27 17:02:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/demos-{en,jp}/goldberg.rb: reduced window size.
+ [ruby-dev:25992]
- * io.c (copy_stream_body): move common open flags.
+Thu Apr 7 23:58:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 27 16:56:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/extmk.rb (extmake): keep directory names in Makefile as macros.
- * enumerator.c (enumerator_size): use rb_check_funcall() instead of
- respond_to? and call.
+ * lib/mkmf.rb (configuration, create_makefile): ditto.
- * enumerator.c (enumerator_each): ensure that argument array size
- does not overflow at appending.
+ * lib/mkmf.rb (CXX_EXT): separate C++ extensions.
-Tue Aug 27 16:46:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Apr 7 17:43:25 2005 Shugo Maeda <shugo@ruby-lang.org>
- * array.c (rb_ary_index, rb_ary_rindex): use optimized equality to
- improve performance. [Feature #8820]
+ * eval.c (rb_call0): "return" event hook should be always executed
+ if event_hooks is set. fixed: [ruby-core:04662]
+ (backported from HEAD)
- * vm_insnhelper.c (rb_equal_opt): optimized equality function.
+Mon Apr 4 23:17:52 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 27 16:11:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb (TkComm#array2tk_list): accept enc-mode argument to
+ decide whether convert encoding of each element or not.
- * vm_insnhelper.c (opt_eq_func): use RBASIC_CLASS() instead of HEAP_CLASS_OF().
+ * ext/tk/lib/tk/variable.rb (TkVariable#value=): fail to convert the
+ encoding of array elements when assign an array to an TkVariable
+ object.
- * insns.def (opt_plus, opt_minus, opt_mult, opt_div, opt_mod, opt_lt),
- (opt_gt, opt_ltlt, opt_aref, opt_aset, opt_length, opt_size),
- (opt_empty_p, opt_succ): ditto.
+Mon Apr 4 10:26:48 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Aug 27 16:08:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/dialog.rb: fixed typo.
- * vm_eval.c (rb_check_funcall, rb_check_funcall_with_hook): constify
- argv.
+Sun Apr 3 17:16:33 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Aug 27 13:03:33 2013 Koichi Sasada <ko1@atdot.net>
+ * win32/win32.{h,c} (rb_w32_fdopen): avoid warning on bcc32.
+ (backported from HEAD)
- * ext/stringio/stringio.c (strio_read_nonblock): declare local
- variables at the first of function.
+Sat Apr 2 23:38:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 27 11:51:37 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * configure.in (CP, INSTALL): get rid of less portable options.
- * enumerator.c: Allow Enumerator size argument to be any callable.
- Patch by Avdi Grimm. [bug #8641] [ruby-core:56032] [fix GH-362]
+ * lib/mkmf.rb (configuration, create_makefile): correct configuration
+ variable.
- * test/ruby/test_enumerator.rb: Test for above
+ * {bcc32,win32,wince}/{Makefile.sub,setup.mak}: leave prefix empty in
+ config.status for backward compatibility. fixed: [ruby-core:04649]
-Tue Aug 27 11:46:31 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/mkmf.rb (create_makefile): ensure library directories get made
+ before copying libraries there.
- * gc.c (gc_profile_clear): do rest_sweep() before clearing
- profile.current_record.
+Sat Apr 2 16:59:46 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 27 07:35:05 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/tk/lib/tk.rb: forgot to update RELEASE_DATE
- * io.c (io_read_nonblock): support non-blocking reads without raising
- exceptions. As in: `io.read_nonblock(size, exception: false)`
- [ruby-core:38666] [Feature #5138]
- * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): ditto
- * ext/stringio/stringio.c (strio_sysread): ditto
- * io.c (rb_io_write_nonblock): support non-blocking writes without
- raising an exception.
- * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): ditto
- * test/openssl/test_pair.rb (class OpenSSL): tests
- * test/ruby/test_io.rb (class TestIO): ditto
- * test/socket/test_nonblock.rb (class TestSocketNonblock): ditto
- * test/stringio/test_stringio.rb (class TestStringIO): ditto
+ * ext/tk/lib/tk/variable.rb: fix namespace trouble when autoloading
-Tue Aug 27 05:24:34 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tk/palette.rb: define Tcl variable 'tkPalette' as global
- * lib/rubygems: Import RubyGems 2.1.0 Release Candidate
- * test/rubygems: ditto.
+ * ext/tk/lib/tk/dialog.rb: use array2tk_list method when calling
+ Tk.ip_eval.
-Mon Aug 26 16:24:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/autoload.rb: add autoload entry 'TkDialogObj' and
+ 'TkWarningObj'
- * parse.y (parser_nextc): warn carriage return in middle of line.
- [ruby-core:56240] [Feature #8699]
+Sat Apr 2 02:19:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Aug 26 15:27:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb (TkWindow.initialize): accept 'without_creating'
+ option without 'widgetname' option to allow creating a widget object
+ which is used as an argument of Tcl/Tk's widget allocation commands.
- * lib/timeout.rb (Timeout#timeout): should not be caught by rescue
- clause. [Bug #8730]
+ * ext/tk/lib/tk/image.rb (TkImage.initialize): accept 'imagename'
+ option to create a image object by the given name.
-Mon Aug 26 14:44:26 2013 Koichi Sasada <ko1@atdot.net>
+Thu Mar 31 22:23:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_splice): use RARRAY_PTR_USE() without WB because
- there are not new relations.
+ * lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case
+ insensitive file system platforms.
- * enum.c (enum_sort_by): ditto.
+ * README.EXT, README.EXT.ja (Appendix C): utility functions.
- * struct.c (setup_struct): use RARRAY_RAWPTR().
+Thu Mar 31 14:15:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_eval.c (yield_under): ditto.
+ * ext/openssl/ossl_engine.c (ossl_engine_s_load): should return
+ value. [ruby-dev:25971]
- * ext/pathname/pathname.c (path_entries): use RARRAY_AREF().
+Thu Mar 31 08:25:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/pathname/pathname.c (path_s_glob): ditto.
+ * common.mk (RUBYOPT): clear for the environment RubyGems installed.
-Mon Aug 26 13:11:10 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * common.mk (clean-local): keep $(PREP) files till distclean.
- * array.c (ary_ensure_room_for_push): fix typo in r42658.
+ * common.mk (check): do all tests.
-Mon Aug 26 12:37:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Mar 31 06:00:20 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * template/sizes.c.tmpl: generate automatically by extracting
- RUBY_CHECK_SIZEOF from configure.in.
+ * ext/openssl/ossl_engine.c (ossl_engine_s_load): should not raise
+ error even if the specified engine could not be loaded. (Dynamic
+ engines don't have fixed name to load.)
-Mon Aug 26 10:16:59 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Thu Mar 31 00:18:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * process.c (gcd_timetick_int): Renamed from gcd_timtick_int.
+ * win32/ifchange.bat, win32/rm.bat: backported from HEAD.
-Sun Aug 25 21:02:15 2013 Tanaka Akira <akr@fsij.org>
+Wed Mar 30 23:44:50 2005 Nobuyoshi Nakada <nobu.nokada@softhome.net>
- * sizes.c (Init_sizes): Define the size of clock_t.
+ * Makefile.in, */Makefile.sub, */configure.bat,
+ cygwin/GNUmakefile.in, common.mk, configure.in, ext/extmk.rb,
+ lib/mkmf.rb, instruby.rb, runruby.rb: backport extout.
+ [ruby-dev:25963]
-Sun Aug 25 01:47:47 2013 Tanaka Akira <akr@fsij.org>
+Wed Mar 30 17:41:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (BARY_SHORT_MUL): Renamed from BARY_MUL1.
- (bary_short_mul): Renamed from bary_mul1.
+ * ext/tcltklib/tcltklib.c: add TclTkIp#_create_console() method to
+ create a Tcl/Tk's console window.
-Sat Aug 24 10:35:09 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/multi-tk.rb: support TclTkIp#_create_console() method.
- * process.c (rb_clock_gettime): The emulated clock names changed.
+ * ext/tk/lib/remote-tk.rb: ditto.
-Fri Aug 23 22:22:07 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/console.rb: ditto.
- * process.c (rb_clock_gettime): Add a cast to fix compile error by
- -Werror,-Wshorten-64-to-32.
+ * ext/tk/lib/tk.rb: update RELEASE_DATE
-Fri Aug 23 22:12:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/demo-*/check2.rb: use 'return' in the Proc object.
- * process.c (rb_intern): no symbol cache while initialization.
+ * ext/tk/sample/tkextlib/**: ditto.
-Fri Aug 23 22:07:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Mar 29 22:11:56 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * configure.in (clock_t): needs time.h.
+ * test/rinda/test_rinda.rb: use DRbObject.new_with instead of reinit.
+ [ruby-dev:25961]
-Fri Aug 23 21:37:28 2013 Tanaka Akira <akr@fsij.org>
+Mon Mar 28 23:40:40 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * process.c (reduce_factors): New function.
- (timetick2dblnum): Use reduce_factors.
- (timetick2integer): Ditto.
- (make_clock_result): Follow the above change.
- (rb_clock_gettime): Ditto.
+ * lib/drb/drb.rb: move method DRbObject#reinit to DRbObject.new_with.
+ extract method DRbObject.prepare_backtrace. add DRb.regist_server,
+ remove_server, fetch_server. change server in thread variable if
+ in-proc server. [druby-ja:113]
-Fri Aug 23 21:00:55 2013 Tanaka Akira <akr@fsij.org>
+ * lib/drb/gw.rb: ditto.
- * process.c (timetick_int_t): Renamed from timetick_giga_count_t.
- (gcd_timtick_int): Renamed from gcd_ul and make the arguments
- timetick_giga_count_t.
- (reduce_fraction): Make the arguments timetick_int_t.
- (timetick2integer): Ditto.
- (make_clock_result): Ditto.
- (timetick2dblnum): Fix the return type.
- (rb_clock_gettime): Use timetick_int_t.
+Mon Mar 28 20:43:34 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Aug 23 20:50:40 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/rubyext.c: get rid of warnings caused by a bug of VC.
- * process.c (gcd_ul): New function.
- (reduce_fraction): Ditto.
- (reduce_fraction): Ditto.
- (timetick2dblnum): Ditto.
- (timetick2integer): Ditto.
- (make_clock_result): Use timetick2dblnum and timetick2integer.
- (rb_clock_gettime): Follow the make_clock_result change.
+Mon Mar 28 08:39:49 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Aug 23 18:39:04 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/iconv/iconv.c (iconv_create): Iconv::Failure requires 3
+ arguments. (pointed out by NaHi)
- * array.c (ary_make_shared): shared ary as shady. Need more effort to
- make it normal object.
+Sat Mar 26 22:51:33 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * array.c (rb_ary_modify): use RARRAY_PTR_USE() without WB because
- there are not new relations.
+ * ext/tk/lib/tk.rb (_callback_entry_class?): add for checking whether
+ a class is available for a callback entry.
- * array.c (ary_ensure_room_for_unshift): use RARRAY_RAWPTR() because
- there are not new relations.
+ * ext/tk/lib/tk.rb (after_cancel): add Tk.after_cancel(afterID) method.
-Fri Aug 23 11:25:57 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb (array2tk_list): change from private module method
+ of TkComm to public module method.
- * array.c: introduce ARY_SHARED_OCCUPIED(shared).
+ * ext/tk/lib/tk.rb (cget): add check that slot argument is not
+ empty string.
-Fri Aug 23 11:07:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb (configinfo): ditto.
- * win32/Makefile.sub (config.h): now SIZEOF_CLOCK_T is needed for
- unsigned_clock_t.
+ * ext/tk/lib/tk/itemconfig.rb (itemcget): add check that slot argument
+ is not empty string.
-Thu Aug 22 22:01:04 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/itemconfig.rb (itemconfiginfo): ditto.
- * process.c (rb_clock_gettime): Strip "s" from unit names.
+ * ext/tk/lib/tk/entry.rb: add TkEntry#icursor and icursor= (alias of
+ cursor and cursor= method).
-Thu Aug 22 20:14:59 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/font.rb: improve font treatment when the font name is
+ empty string.
- * process.c (unsigned_clock_t): Defined.
- (rb_clock_gettime): Consider clock_t overflow for
- ISO_C_CLOCK_BASED_CLOCK_PROCESS_CPUTIME_ID.
+ * ext/tk/lib/tk/variable.rb: add :variable, :window and :procedure
+ type.
- * configure.in: Check the size of clock_t.
+ * ext/tk/lib/tk/variable.rb: improve treatment of array-type
+ tkvariable.
-Thu Aug 22 16:22:48 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tkextlib/blt.rb: add commands for zooming.
- * compile.c (build_postexe_iseq): fix to setup the local table.
+ * ext/tk/lib/tkextlib/blt/*: bug fix.
-Thu Aug 22 15:42:43 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and add methods
+ to call TreeCtrl commands for bindings.
- * compile.c (rb_iseq_compile_node): accept NODE_IFUNC to support
- custom compilation.
+ * ext/tk/sample/tkextlib/blt/*: new sample scripts.
- * compile.c (NODE_POSTEXE): compile to
- "ONCE{ VMFrozenCore::core#set_postexe{...} }" with a new custom
- compiler `build_postexe_iseq()'.
+ * ext/tk/sample/tkextlib/treectrl/*: ditto.
- * vm.c (m_core_set_postexe): remove parameters (passed by a block).
+Fri Mar 25 10:53:16 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Aug 22 06:54:15 2013 Tanaka Akira <akr@fsij.org>
+ * configure.in (WIN32_LEAN_AND_MEAN): removed because a lot of
+ troubles. [ruby-list:40721]
- * process.c (rb_clock_gettime): Change emulation symbols for
- Process.clock_gettime.
+Thu Mar 24 23:10:44 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 22 06:24:54 2013 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb (macro_defined?): try to compile for an old compiler
+ which doesn't bail out at #error directive. [ruby-dev:25818]
- * process.c (make_clock_result): Extracted from rb_clock_gettime.
+ * lib/mkmf.rb (check_sizeof): refine logging messages.
-Wed Aug 21 22:30:51 2013 Tanaka Akira <akr@fsij.org>
+Thu Mar 24 03:57:48 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * process.c (rb_clock_gettime): clock() based CLOCK_PROCESS_CPUTIME_ID
- emulation implemented.
+ * lib/webrick/utils.rb (WEBrick::Utils.create_listeners):
+ - should raise ArgumentError if no port is specified.
+ - even if the specified port is 0, all TCPServers should be
+ initialized with the port given to the first one.
-Wed Aug 21 21:02:37 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/server.rb (WEBrick::GenericServer#initialize): if :Port
+ parameter is 0, it should be updated with the port number which
+ actually listened.
- * process.c (rb_proc_times): Use RB_GC_GUARD to guard objects from GC.
+Wed Mar 23 00:35:10 2005 Shugo Maeda <shugo@ruby-lang.org>
-Wed Aug 21 20:33:01 2013 Tanaka Akira <akr@fsij.org>
+ * test/ruby/test_settracefunc.rb (test_event): added tests for
+ "class" and "end" and "raise".
- * process.c (get_clk_tck): Extracted from rb_proc_times.
- (rb_clock_gettime): times() based CLOCK_PROCESS_CPUTIME_ID emulation
- is implemented.
+Tue Mar 22 22:40:18 2005 Shugo Maeda <shugo@ruby-lang.org>
-Wed Aug 21 19:31:48 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_call0): check event_hooks instead of trace_func.
- * process.c: POSIX_GETTIMEOFDAY_CLOCK_REALTIME is renamed to
- SUS_GETTIMEOFDAY_CLOCK_REALTIME.
+Tue Mar 22 17:30:44 2005 Shugo Maeda <shugo@ruby-lang.org>
-Wed Aug 21 19:17:46 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_add_event_hook): new function to add a hook function for
+ interpreter events. (backported form HEAD)
- * process.c (rb_clock_gettime): CLOCK_PROCESS_CPUTIME_ID emulation
- using getrusage is implemented.
+Sun Mar 20 22:51:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 21 17:34:27 2013 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb (mkmf_failed): check if Makefile is created without
+ create_makefile.
- * gc.c (getrusage_time): Fallback clock_gettime to getrusage when
- clock_gettime fails.
- Reported by Eric Saxby. [ruby-core:56762] [Bug #8805]
+Sat Mar 19 23:48:10 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 21 02:32:32 2013 Koichi Sasada <ko1@atdot.net>
+ * misc/ruby-mode.el (ruby-expr-beg): returned true always.
+ fixed: [ruby-list:40683]
- * insns.def: fix regexp's once option behavior.
- fix [ruby-trunk - Bug #6701]
+Sat Mar 19 00:41:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * insns.def: remove `onceinlinecache' and introduce `once' instruction.
- `once' doesn't use `setinlinecache' insn any more.
+ * ext/tk/lib/tk/font.rb: add some TkFont class methods to get font
+ information without creating a TkFont object.
- * vm_core.h: `union iseq_inline_storage_entry' to store once data.
+ * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and define some
+ classes for components of Tk::TreeCtrl
- * compile.c: catch up above changes.
+Thu Mar 17 17:42:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * iseq.c: ditto.
+ * struct.c (make_struct): allow non local-id field
+ names. [ruby-core:04575]
- * vm.c, vm_insnhelper.c: ditto. fix `m_core_set_postexe()' which
- is depend on `onceinlinecache' insn.
+ * struct.c (inspect_struct): ditto.
- * test/ruby/test_regexp.rb: add tests.
+Wed Mar 16 23:36:02 2005 Shugo Maeda <shugo@ruby-lang.org>
- * iseq.c: ISEQ_MINOR_VERSION to 1 (should increment major?)
+ * eval.c (rb_call0): call_cfunc() should be protected.
-Wed Aug 21 02:30:15 2013 Koichi Sasada <ko1@atdot.net>
+ * test/ruby/test_settracefunc.rb: added test for c-return.
- * gc.c (rb_gcdebug_print_obj_condition): add printing information.
+Wed Mar 16 22:20:25 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Aug 20 13:38:00 2013 Naohisa Goto <ngotogenome@gmail.com>
+ * object.c (str_to_id): fixed typo.
- * test/gdbm/test_gdbm.rb: skip TestGDBM#test_s_open_lock on Solaris.
- On Solaris (and platforms which do not have flock and have lockf),
- with GDBM 1.10, gdbm_open(3) blocks when opening already locked
- gdbm file. [Bug #8790] [ruby-dev:47631]
+Wed Mar 16 18:08:32 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Aug 20 02:32:52 2013 Zachary Scott <e@zzak.io>
+ * eval.c (rb_call0): reorganize "return" event post.
- * lib/test/: [DOC] Document Test::Unit, hide most submodules and
- classes from rdoc. Since lib/test is only present as a compatibility
- layer with the legacy test suite many test/unit users will be using
- minitest or the test/unit gem instead. It is recommended to use one
- of these alternatives for writing new tests.
+Tue Mar 15 23:49:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- This patch was based on a patch submitted by Steve Klabnik.
- [ruby-core:56694] [Bug #8778]
+ * ext/iconv/iconv.c (Init_iconv): InvalidEncoding also should include
+ Iconv::Failure.
-Tue Aug 20 02:10:19 2013 Zachary Scott <e@zzak.io>
+Tue Mar 15 16:38:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/rss/rss.rb: [DOC] Document for constants by Steve Klabnik
- [ruby-core:56705] [Bug #8798]
+ * ext/tk/tkutil.c (ary2list): give wrong arguments to hash2kv()
-Tue Aug 20 02:01:10 2013 Zachary Scott <e@zzak.io>
+Mon Mar 14 19:39:33 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/rss/xmlparser.rb: [DOC] Hide legacy constant from rdoc
- Patch by Steve Klabnik [ruby-core:56708] [Bug #8799]
+ * ext/tk/lib/tk/timer.rb (TkTimer): forgot to clear @return_value
+ when restarting
-Tue Aug 20 01:52:05 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk/sample/cd_timer.rb: new sample of TkRTTimer
- * ext/socket/unixserver.c: [DOC] Document #accept
- * ext/socket/tcpserver.c: ditto
- * ext/socket/udpsocket.c: [DOC] Fix indentation of documentation
- * ext/socket/socket.c: ditto
- Patches by David Rodr'iguez [ruby-core:56734] [Bug #8802]
+Mon Mar 14 12:21:03 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 20 01:19:22 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/timer.rb (TkRTTimer): forgot to reset the callback
+ time. So, 'continue' do all callbacks between 'stop' and 'continue'.
- * configure.in: Define ac_cv_func_clock_gettime to yes for mingw*.
+Mon Mar 14 08:14:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Aug 19 21:31:35 2013 Tanaka Akira <akr@fsij.org>
+ * object.c (str_to_id): warn for NUL containing strings.
- * include/ruby/defines.h: Fix a compilation error with
- i586-mingw32msvc-gcc of gcc-mingw32 package on Debian squeeze.
- ruby/missing.h should be included before include/ruby/win32.h
- because struct timespec, used in the clock_gettime declaration in
- include/ruby/win32.h, is defined in ruby/missing.h instead of
- system headers.
+Mon Mar 14 00:13:49 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Aug 19 20:55:12 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/timer.rb (TkRTTimer): correct calculation of offset
+ value. get a little better accuracy.
- * gc.c: fix around GC_DEBUG.
+ * ext/tk/sample/demos-en/widget: use a binding with no local variables
+ when eval a sample script.
- * gc.c (RVALUE::line): should be VALUE. On some environment
- (such as mswin64), `int' introduces alignment mismatch.
+ * ext/tk/sample/demos-en/bind.rb: ditto.
- * gc.c (newobj_of): add an assertion to check VALUE alignment.
+ * ext/tk/sample/demos-en/tcolor: ditto.
- * gc.c (aligned_malloc): `&' is low priority than `=='.
+ * ext/tk/sample/demos-jp/widget: ditto.
- * gc.c: define GC_DEBUG everytime and use it as value 0 or 1.
+ * ext/tk/sample/demos-jp/bind.rb: ditto.
-Mon Aug 19 17:43:44 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/demos-jp/tcolor: ditto.
- * test/ruby/test_fiber.rb: collect garbage fibers immediately.
+Sun Mar 13 10:04:17 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Mon Aug 19 17:41:49 2013 Koichi Sasada <ko1@atdot.net>
+ * test/rinda/test_rinda.rb: remove test_gc. [ruby-dev:25871]
- * test/profile_test_all.rb: add `failed?' information.
+Thu Mar 10 19:12:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Aug 19 17:00:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (lib_eventloop_ensure): mis-delete a timer
+ handler when exit from a recursive called eventloop
- * process.c (retry_fork): retry with GC if ENOMEM occurred, to free
- swap/kernel space.
+ * ext/tk/lib/tk/timer.rb: new TkRTTimer class, which can works for a
+ realtime operation
-Mon Aug 19 13:28:47 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/sample/tkrttimer.rb: sample of TkRTTimer class
- * include/ruby/win32.h (CLOCK_MONOTONIC): typo.
+ * ext/tk/lib/tk/textmark.rb: move TkTextMark#+ and TkTextMark#- to
+ TkText::IndexModMethods
- * win32/win32.c: removed duplicated declarations.
+ * ext/tk/lib/tk/text.rb: improve TkTextMark#+ and TkTextMark#-, and
+ add them to TkText::IndexModMethods module
-Mon Aug 19 13:03:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/tktextio.rb: add test part of "seek by text index
+ modifiers"
- * configure.in (clock_gettime): should not overwrite cache variable
- with different condition. otherwise -lrt is not linked and the link
- fails, after reconfig.
+Thu Mar 10 08:10:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Aug 19 12:56:49 2013 Tanaka Akira <akr@fsij.org>
+ * re.c (make_regexp): need to free internal regexp structure when
+ compilation fails. [ruby-talk:133228]
- * process.c (Init_process): Add constants: CLOCK_REALTIME_ALARM and
- CLOCK_BOOTTIME_ALARM.
+Wed Mar 9 20:25:58 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Aug 18 20:17:41 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_write): call
+ rb_sys_fail if errno isn't 0. [ruby-dev:25831]
- * variable.c, vm_method.c: remove dead code.
+ * ext/openssl/lib/openssl/cipher.rb: fix typo. [ruby-dev:24285]
- * test/ruby/test_fiber.rb, test/ruby/test_thread.rb:
- change accordingly.
+Wed Mar 9 15:46:35 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Aug 18 19:32:26 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/webrick/server.rb (WEBrick::GenericServer#start): should
+ restore @token if accept failure. suggested by Dominique Brezinski.
+ [ruby-core:04518]
- * error.c, file.c, gc.c, hash.c, thread.c, variable.c, vm_eval.c, bin/erb:
- $SAFE=4 is obsolete.
+Wed Mar 9 13:37:57 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Aug 18 14:30:47 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/tktextio.rb: fix bug of handling 'end' position.
+ support initial text, overwrite setting and pos_gravity control.
- * process.c (rb_clock_gettime): Rename POSIX_TIME_CLOCK_REALTIME to
- ISO_C_TIME_CLOCK_REALTIME.
+Tue Mar 8 18:16:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Aug 18 14:22:45 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/tktextio.rb: New sample script. TkTextIO class in this
+ sample supports to use a text widget as if it is a I/O stream (such
+ like as StringIO class).
- * configure.in: Revert r42604. It causes linking librt on systems
- with newer glibc uselessly.
+Tue Mar 8 13:54:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Aug 18 13:18:38 2013 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c: workaround for some of 4.4BSD-Lite derived OSs.
- * process.c (Init_process): Add constants: CLOCK_REALTIME_COARSE,
- CLOCK_MONOTONIC_COARSE and CLOCK_BOOTTIME.
+Tue Mar 8 12:36:17 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Aug 18 12:41:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c: document from Sam Roberts
+ <sroberts@uniserve.com> for getsockopt and setsockopt is merged.
+ [ruby-doc:824]
- * configure.in (clock_gettime): need to check with -lrt prior to check
- for the function only. otherwise -lrt is not linked and the link
- fails, when ac_cv_func_clock_gettime is cached as yes.
+Tue Mar 8 01:27:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
-Sun Aug 18 10:05:12 2013 Tanaka Akira <akr@fsij.org>
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.66
+ fixed: [ruby-dev:25828]
- * bignum.c (rb_big2str1): Make an expression more explicit.
+Mon Mar 7 21:35:02 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Aug 18 03:18:45 2013 Tanaka Akira <akr@fsij.org>
+ * sample/webrick/httpsd.rb: fix typo in comment. suggested by
+ Kazuhiko Shiozaki.
- * bignum.c (rb_big2str1): Use power_level instead of bitsize(xn).
+Mon Mar 7 14:55:43 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Aug 18 00:44:58 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (block_pass): should not push unique number if a block is
+ not an orphan. [ruby-dev:25808]
- * bignum.c (BIGDIVREM_EXTRA_WORDS): Redefine to 1.
- (bigdivrem_num_extra_words): Removed.
- (bigdivrem_normal): Simplified.
- (big2str_karatsuba): Ditto.
+Wed Feb 16 02:55:21 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Aug 17 23:25:19 2013 Benoit Daloze <eregontp@gmail.com>
+ * ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_read,
+ ossl_ssl_write):
+ - need to set errno on Win32 platform.
+ - should call rb_sys_fail instead of rasing SSLError if
+ SSL_ERROR_SYSCALL occured.
+ - should wait for that the underlying IO become readable or
+ writable if the error was SSL_ERROR_WANT_READ or
+ SSL_ERROR_WANT_WRITE. [ruby-dev:25795]
- * test/ruby/test_time.rb: use the in_timezone() helper
- and define it at the top with other helpers.
+ * ext/openssl/lib/openssl/buffering.rb
+ (Buffering#initialize): should set @eof and @rbuffer.
+ (Buffering#fill_rbuff): should rescue Errno::EAGAIN.
+ (Buffering#consume_rbuf): pointless eof flag resetting is deleted.
+ (Buffering#read): should return an empty string if the specified
+ size is zero.
+ (Buffering#readpartial): new method.
+ (Buffering#readline): fix typo.
+ (Buffering#getc): return the first character of string correctly.
+ (Buffering#each): fix typo. suggested by Brian Ollenberger.
+ (Buffering#readchar): fix typo.
+ (Buffering#eof?): should read again it the input buffer is empty.
+ (Buffering#do_write): should rescue Errno::EAGAIN.
+ (Buffering#puts): use "\n" as the output field separator.
-Sat Aug 17 22:20:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/openssl/ssl.rb: set non-blocking flag to the
+ underlying IO.
- * time.c (time_mload): ignore auxiliary data, offset and zone, if
- invalid. [ruby-core:56648] [Bug #8795]
+ * ext/openssl/extconf.rb: get rid of GNUmakefile generation.
-Sat Aug 17 20:11:49 2013 Benoit Daloze <eregontp@gmail.com>
+ * text/openssl/test_pair.rb: test for IO like methods.
- * process.c: [DOC] MACH_ABSOLUTE_TIME_CLOCK_MONOTONIC is an
- available emulation for a monotonic clock on Darwin.
- https://developer.apple.com/library/mac/qa/qa1398/_index.html
+ * test/ruby/ut_eof.rb: test about empty file.
-Fri Aug 16 18:12:05 2013 Koichi Sasada <ko1@atdot.net>
+Mon Mar 7 10:22:06 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/profile_test_all.rb: fix typo.
+ * lib/un.rb: should use OptionParser. (backported form HEAD)
-Fri Aug 16 18:09:20 2013 Koichi Sasada <ko1@atdot.net>
+Mon Mar 7 09:18:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/profile_test_all.rb: remove space characters from test names.
+ * string.c (rb_str_cmp_m): should not return false but nil.
+ fixed: [ruby-dev:25811]
-Fri Aug 16 17:32:02 2013 Koichi Sasada <ko1@atdot.net>
+Mon Mar 7 01:22:14 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/profile_test_all.rb: refactoring memory profiling tool for
- test-all.
- Add profiling targets /proc/meminfo and /proc/self/status.
+ * ext/tk/tkutil.c: remove the some codes which depend on the
+ difference between Ruby1.8 and 1.9, because st.c on Ruby1.9
+ was changed.
- * test/runner.rb: accept other than 'true'.
+Mon Mar 7 00:01:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Aug 16 11:23:35 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c: fail to call TclTkLib.mainloop when $SAFE==4
- * file.c (rb_file_size, rb_file_flock): improve performance of Windows.
+Sun Mar 6 16:41:33 2005 Minero Aoki <aamine@loveruby.net>
- * file.c (rb_file_truncate): removed unnecessary #ifdef.
+ * lib/net/http.rb: HTTPHeader holds its header fields as an array
+ (backport from CVS HEAD rev 1.112-1.123). [ruby-list:40629]
- * test/test_file.rb (TestFile#test_truncate_size): added an assertion
- for File#size.
+ * test/net/http/test_httpheader.rb: new file.
-Fri Aug 16 10:07:59 2013 Tanaka Akira <akr@fsij.org>
+Sun Mar 6 11:47:10 2005 Sam Roberts <sroberts@uniserve.com>
- * bignum.c (bigdivrem_single1): Renamed from bigdivrem_single. Add
- x_higher_bdigit argument.
- (bigdivrem_single): Just call bigdivrem_single1.
- (bigdivrem_restoring): Use bigdivrem_single1 to avoid memmove.
+ * lib/pp.rb: rdoced. [ruby-core:4490]
-Fri Aug 16 09:17:00 2013 Tanaka Akira <akr@fsij.org>
+Sun Mar 6 11:36:37 2005 Tanaka Akira <akr@m17n.org>
- * bignum.c (bary_small_rshift): Specify the higher BDIGIT instead of
- sign bit.
- (big_shift3): Follow the above change.
+ * lib/pp.rb (File::Stat#pretty_print): Etc.getpwuid and Etc.getgrgid
+ may return nil. [ruby-talk:129826]
+ reported by Daniel Berger.
-Fri Aug 16 02:20:39 2013 Tanaka Akira <akr@fsij.org>
+Sat Mar 5 18:06:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * bignum.c (bary_mul_toom3): Reduce a branch.
+ * dir.c (fnmatch): removed unnecessary code. (ruby_1_8 didn't have
+ String#clear, so [ruby-dev:24749] didn't affect it)
-Fri Aug 16 02:14:09 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * win32/win32.c (NtInitialize): ditto. (by numeric.c 1.101.2.14)
- * process.c (rb_clock_gettime): add CLOCK_MONOTONIC support on OS X.
- http://developer.apple.com/library/mac/qa/qa1398/_index.html
- [Feature #8658]
+Sat Mar 5 16:29:26 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Aug 16 01:37:43 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/multi-tk.rb: freeze callback-entry objects
- * bignum.c (bigdivrem_single): Use shift when y is a power of two.
+ * ext/tk/lib/tkextlib/tile.rb: support tile-0.6
-Fri Aug 16 01:09:33 2013 Tanaka Akira <akr@fsij.org>
+Fri Mar 4 19:39:28 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (bigdivrem_restoring): Use bigdivrem_single if non-topmost
- BDIGITs of y are zero.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#do_includes): replace
+ also locally defined modules.
-Fri Aug 16 00:33:12 2013 Tanaka Akira <akr@fsij.org>
+ * ext/iconv/iconv.c: backport Iconv::InvalidEncoding from CVS HEAD.
- * bignum.c (rb_big2str1): Truncate topmost zeros of x.
+ * ext/strscan/strscan.c: moved misplaced rdoc.
-Fri Aug 16 00:00:57 2013 Tanaka Akira <akr@fsij.org>
+Fri Mar 4 15:58:12 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (bary_divmod): Simplify an expression.
+ * lib/cgi-lib.rb: add deprecation warning. [ruby-dev:25499]
+ getopts.rb, parsearg.rb, importenv.rb as well.
-Thu Aug 15 23:26:12 2013 Tanaka Akira <akr@fsij.org>
+Fri Mar 4 11:17:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (bigdivrem_normal): Remove a local variable.
+ * ext/tcltklib/tcltklib.c (ip_rbUpdateCommand): get rid of
+ warnings with Tcl/Tk 8.3 or former (backport from CVS_HEAD).
-Thu Aug 15 23:08:32 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c (ip_rb_threadUpdateCommand): ditto.
- * bignum.c (big2str_karatsuba): Use bigdivrem_restoring directly to
- reduce working buffer and memory copy.
- (rb_big2str1): Allocate working buffer for big2str_karatsuba here.
+Fri Mar 4 10:15:30 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Aug 15 20:51:29 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/set.rb (SortedSet::setup): a hack to shut up warning.
+ [ruby-talk:132866]
- * io.c, internal.h (rb_io_flush_raw): new function to select calling
- fsync() (on Windows).
+Fri Mar 4 07:07:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
- * io.c (rb_io_flush_raw): use above function.
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.63
- * file.c (rb_file_truncate): use above function.
+Thu Mar 3 23:49:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
- * test/ruby/test_file.rb (TestFile#test_truncate_size): test for
- above changes.
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.62
-Thu Aug 15 18:39:31 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Mar 3 11:49:51 2005 Kouhei Sutou <kou@cozmixng.org>
- * win32/win32.c (clock_gettime): improve precision when freq is less
- than and nearly equals 10**9.
+ * sample/rss/tdiary_plugin/rss-recent.rb: added site information.
-Thu Aug 15 17:43:15 2013 Koichi Sasada <ko1@atdot.net>
+Wed Mar 2 19:53:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_lazy_sweep): remove heap_increment() here because heap_inc
- may be 0.
+ * ext/extmk.rb (parse_args): add DESTDIR only when not directed
+ already. fixed: [ruby-dev:25781]
-Thu Aug 15 16:59:56 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Mar 2 17:14:18 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * io.c (rb_io_rewind): remove fsync() for Windows to improve the
- performance.
+ * ext/tcltklib/tcltklib.c (lib_eventloop_core): fix typo
-Thu Aug 15 16:30:23 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Mar 2 16:00:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/fileutils/test_fileutils.rb (TestFileUtils#test_rmdir):
- FileUtils.rmdir ignores Errno::ENOTEMPTY, so, in such cases, this
- assertion is nonsense.
+ * ext/tcltklib/tcltklib.c: enforce thread-check and exception-handling
+ to avoid SEGV trouble.
+ [KNOWN BUG] When supports pthread and running multiple Tk
+ interpreters, an interrupt signal causes SEGV frequently. That
+ may be a trouble of Ruby's signal handler.
-Thu Aug 15 15:49:35 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/tkutil/tkutil.c; fix a bug on converting a SJIS string array
+ to a Tcl's list string.
- * process.c (rb_clock_gettime): [DOC] FreeBSD 7.1 supports
- CLOCK_THREAD_CPUTIME_ID.
- http://www.freebsd.org/releases/7.1R/relnotes.html
+ * ext/tk/tcltklib.c: wrap Tcl's original "namespace" command to
+ protect from namespace crash.
-Thu Aug 15 14:30:23 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: enforce exception-handling.
- * include/ruby/win32.h, win32/Makefile.sub, win32/win32.c
- (clock_gettime): [experimental] emulates clock_gettime(2) of posix.
+ * ext/tk/lib/multi-tk.rb: catch IRB_EXIT to work on irb.
-Thu Aug 15 02:32:40 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk.rb: ditto.
- * hash.c (rb_hash_aset): [DOC] Document key dup patch by @kachick
- [Fixes GH-382] https://github.com/ruby/ruby/pull/382
+ * ext/tk/tcltklib.c: add TclTkLib.mainloop_thread?
-Wed Aug 14 14:28:39 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: (bug fix) callback returns a value.
- * proc.c (rb_mod_define_method): now they return the symbols of the
- defined methods, not the methods/procs themselves.
- [ruby-dev:42151] [Feature #3753]
+ * ext/tk/lib/tk/canvas.rb (delete): bug fix when multiple arguments.
- * NEWS: documents about above change and def-expr (see r42337).
+ * ext/tk/lib/clock.rb: fix 'no method error'.
- * test/ruby/test_module.rb: tests about above change.
+ * ext/tk/lib/clock.rb (self.clicks): accept a Symbol argument.
-Wed Aug 14 00:51:14 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/variable.rb: be able to set default_value_type; :numeric,
+ :bool, :string, :symbol, :list, :numlist or nil (default; same to
+ :string). If set a type, TkVariable#value returns a value of the
+ type.
- * bignum.c (bigdivrem_restoring): xn argument removed.
- (bigdivrem_normal): Follow the above change.
+ * ext/tk/lib/tkextlib/tclx/tclx.rb: add Tk::TclX.signal to warn the
+ risk of using TclX extension's 'signal' command.
-Wed Aug 14 00:18:39 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/irbtk.rb: irb with Ruby/Tk.
- * bignum.c (big_div_struct): Remove xn and j field. Add zn field.
- (bigdivrem1): Follow the above change.
- (bigdivrem_restoring): Ditto.
+ * ext/tk/sample/demos-*/anilabel.rb: bug fix on 'show code'
-Tue Aug 13 23:38:17 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/demos-*/aniwave.rb: new Ruby/Tk animation demo.
- * bignum.c (big_div_struct): ynzero field removed.
- (bigdivrem1): Follow the above change.
- (bigdivrem_restoring): Ditto.
+ * ext/tk/sample/demos-*/pendulum.rb: ditto.
-Tue Aug 13 23:01:16 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/demos-*/goldberg.rb: ditto.
- * bignum.c (bigdivrem_restoring): Extracted from bigdivrem_normal.
+ * ext/tk/sample/demos-*/widget: add entries of animation demos.
-Tue Aug 13 22:12:59 2013 Kenichi Kamiya <kachick1@gmail.com>
+Tue Mar 1 00:47:43 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * random.c (rb_random_ulong_limited): coerce before check negative.
- [Fixes GH-379]
+ * test/rinda/test_rinda.rb: backport from CVS_HEAD. use
+ MockClock.sleep instead of Kernel.sleep [ruby-dev:25387]
-Tue Aug 13 21:52:15 2013 Kenichi Kamiya <kachick1@gmail.com>
+Tue Mar 1 00:34:24 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * object.c (Init_Object): undef Module#prepend_features on Class, as
- well as Module#append_features. [Fixes GH-376]
+ * lib/rinda/tuplespace.rb (Rinda::TupleSpace): improved keeper thread.
- * test_class.rb: Added test for above. And ensure type checking
- on similar methods as module_function.
+ * test/rinda/test_rinda.rb: ditto.
-Tue Aug 13 08:52:18 2013 Zachary Scott <e@zzak.io>
+Mon Feb 28 11:42:23 2005 Ian Macdonald <ian@caliban.org>
- * doc/syntax/literals.rdoc: [DOC] String literal concat by @cknadler
- [Fixes GH-380] https://github.com/ruby/ruby/pull/380
+ * exception error messages updated. [ruby-core:04497]
-Mon Aug 12 23:07:21 2013 Masaya Tarui <tarui@ruby-lang.org>
+Mon Feb 28 09:03:09 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gc_marks_test): inhibit gc for st's operation.
+ * ext/socket/socket.c (Init_socket): add bunch of Socket
+ constants. Patch from Sam Roberts <sroberts@uniserve.com>.
+ [ruby-core:04409]
-Mon Aug 12 15:59:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Feb 23 15:04:32 2005 akira yamada <akira@ruby-lang.org>
- * parse.y (parser_whole_match_p): treat CR in middle of a line as a
- mere whitespace.
+ * lib/uri/generic.rb (split_userinfo): should split ":pass" into ""
+ and "pass". [ruby-dev:25667]
-Mon Aug 12 15:16:58 2013 Koichi Sasada <ko1@atdot.net>
+Wed Feb 23 08:00:18 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * class.c (rb_prepend_module): make T_ICLASS object shady because
- this T_ICLASS object seems to share method table with other class
- objects. It was causes WB miss.
- TODO: need to know the data structure.
+ * array.c (rb_ary_s_create): no need for negative argc check.
+ [ruby-core:04463]
- * test/ruby/test_module.rb: add a test for WB miss.
+ * array.c (rb_ary_unshift_m): ditto.
-Mon Aug 12 13:47:54 2013 Zachary Scott <e@zzak.io>
+Wed Feb 23 01:57:46 2005 Shugo Maeda <shugo@ruby-lang.org>
- * process.c: [DOC] RDoc formatting of Process.clock_gettime
+ * lib/net/imap.rb (initialize): handle certs correctly. Thanks,
+ NABEYA Kenichi. (backported from CVS HEAD)
-Mon Aug 12 13:29:09 2013 Zachary Scott <e@zzak.io>
+Tue Feb 22 07:25:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/yaml/dbm.rb: [DOC] Document call-seq for YAML::DBM
+ * parse.y (parser_yylex): identfier after dot must not be a variable.
-Mon Aug 12 12:57:26 2013 Zachary Scott <e@zzak.io>
+Mon Feb 21 10:04:49 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/dbm/extconf.rb: [DOC] Hide from RDoc
- Some libraries might want to document extconf.rb so RDoc treats it
- like any other ruby program. However, DBM users shouldn't care about
- these methods.
+ * {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl.
-Mon Aug 12 12:53:39 2013 Zachary Scott <e@zzak.io>
+ * win32/win32.[ch] (fcntl): ditto.
- * ext/dbm/dbm.c: [DOC] Reformat headings of DBM class
+ * win32/win32.c (rb_w32_connect): support nonblocking mode.
-Mon Aug 12 12:46:31 2013 Zachary Scott <e@zzak.io>
+ * ext/socket/socket.c (wait_connectable, ruby_connect): support
+ nonblocking connect on various platforms.
+ all changes are backported from CVS HEAD. [ruby-core:3154],
+ [ruby-core:4364].
- * lib/yaml.rb, lib/yaml/: [DOC] Document YAML::DBM#key and add
- references to similar methods with more detail. This patch brings
- lib/yaml to 100% documentation coverage.
+Sun Feb 20 00:48:48 2005 Tanaka Akira <akr@m17n.org>
-Mon Aug 12 02:51:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/open-uri.rb (URI::FTP#buffer_open): access mechanism
+ re-implemented according to RFC 1738.
+ reported by Guillaume Marcais. [ruby-talk:131650]
- * ext/readline/readline.c (readline_s_set_input): on OS X with editline,
- Readline.readline doesn't work because readline_get doesn't use
- rl_getc. The difference is introduced by r42402 [ruby-dev:47509]
- [Bug #8644]. Before it rb_io_stdio_file set ifp->stdio_file.
- Therefore add manually setting the value.
+Sat Feb 19 18:11:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * ext/readline/readline.c (readline_s_set_output): ditto.
+ * lib/drb/drb.rb (DRbObject#respond_to?): take two arguments.
+ [ruby-dev:25722]
-Sun Aug 11 23:27:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/drb/drbtest.rb: ditto.
- * file.c (rb_str_encode_ospath): OS path encoding on Mac OS X is also
- fixed.
+Sat Feb 19 13:52:02 2005 Tanaka Akira <akr@m17n.org>
-Sun Aug 11 22:57:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/open-uri.rb: call OpenSSL::SSL::SSLSocket#post_connection_check
+ after connection is made.
- * test/ruby/test_require.rb (assert_require_nonascii_path): OS path
- encoding on Windows is fixed, so encoding of __FILE__ should be it.
- [ruby-core:56498] [Bug #8764]
+Sat Feb 19 01:32:03 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sun Aug 11 19:11:45 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/bigdecimal/lib/bigdecimal/newton.rb: resolved LoadError.
+ [ruby-dev:25685]
- * test/rexml/parser/test_sax2.rb: Expand abbreviated class name.
+ * ext/bigdecimal/sample/linear.rb: ditto.
-Sun Aug 11 19:06:03 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/bigdecimal/sample/nlsolve.rb: ditto.
- * lib/rexml/sax2listener.rb (REXML::SAX2Listener#notationdecl): Fix
- wrong number of arguments in the template listener.
- [Bug #8731] [ruby-dev:47582]
- Reported by Ippei Obayashi.
- * test/rexml/parser/test_sax2.rb: Add tests for parsing notation
- declarations with SAX2 API.
+ * ext/bigdecimal/lib/bigdecimal/nlsolve.rb: removed because this file
+ is sample script and same file exists in ext/bigdecimal/sample.
-Sun Aug 11 18:44:04 2013 Kouhei Sutou <kou@cozmixng.org>
+Fri Feb 18 17:14:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rexml/sax2listener.rb (REXML::SAX2Listener#elementdecl): Fix wrong
- examples. [Bug #8731] [ruby-dev:47582]
- Reported by Ippei Obayashi.
+ * lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
+ of StandardError class, not Exception class. [ruby-core:04429]
-Sun Aug 11 18:42:13 2013 Kouhei Sutou <kou@cozmixng.org>
+Thu Feb 17 20:11:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/rexml/parsers/sax2parser.rb
- (REXML::Parsers::SAX2Parser#handle_entitydecl): Extract.
+ * lib/drb/drb.rb (DRbServer.default_safe_level): fix typo.
-Sun Aug 11 18:40:25 2013 Kouhei Sutou <kou@cozmixng.org>
+Thu Feb 17 20:11:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):
- Fix wrong "%" position in parameter entity declaration event argument.
- * test/rexml/parser/test_sax2.rb: Add tests for the above case.
+ * test/digest/test_digest.rb: separate test case for each algorithms.
+ [ruby-dev:25412]
-Sun Aug 11 18:08:40 2013 Kouhei Sutou <kou@cozmixng.org>
+Thu Feb 17 11:54:00 2005 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):
- Support NDATA in external ID entity declaration.
- * test/rexml/parser/test_sax2.rb: Add tests for the above case.
+ * lib/test/unit/collector.rb (collect_file): now deletes paths added
+ to $LOAD_PATH instead of restoring it verbatim.
-Sun Aug 11 18:07:39 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/test/unit/autorunner.rb (AutoRunner.run): fixed so that
+ 'ruby -rtest/unit -rtest1 -rtest2 -e0' will use the objectspace
+ collector again. Also tried to simplify the calling convention.
- * lib/rexml/parsers/baseparser.rb
- (REXML::Parsers::BaseParser#pull_event): Support optional NDATA
- in external ID entity declaration.
+ * test/runner.rb: adjusted for new AutoRunner semantics.
-Sun Aug 11 17:54:07 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/test/unit.rb: ditto.
- * NEWS (REXML::Parsers::SAX2Parser): Add about this change.
- * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse):
- Fix wrong number of arguments. Document says "an array of the
- entity declaration" but it passes two or more arguments.
- This is a bug but it break backward compatibility.
- Reported by Ippei Obayashi. [Bug #8731] [ruby-dev:47582]
- * lib/rexml/sax2listener.rb (REXML::SAX2Listener#entitydecl): ditto.
- The listener template accepted two arguments.
- * test/rexml/parser/test_sax2.rb: Add tests for external ID case.
+Thu Feb 17 04:21:47 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Aug 11 17:41:41 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
+ fixed: [ruby-core:04444]
- * test/rexml/parser/test_sax2.rb: Add SAX2 API test.
+Thu Feb 17 00:09:45 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sun Aug 11 15:10:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/drb/ignore_test_drb.rb: move TestDRbReusePort to new file
+ [ruby-dev:25238]
- * parse.y (rb_enc_symname_type): allow ID_ATTRSET for ID_INSTANCE,
- ID_GLOBAL, ID_CLASS, ID_JUNK too. [Bug #8756]
+ * test/drb/test_drb.rb: add method DRbService.ext_service, move
+ TestDRbReusePort to new file [ruby-dev:25238]
-Sun Aug 11 13:17:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * test/drb/test_drb.rb: ditto.
- * include/ruby/encoding.h: Reduce ENCODING_INLINE_MAX to 127 as this
- should be sufficient to represent all the encodings Ruby supports.
+ * test/drb/test_drbssl.rb: ditto.
-Sun Aug 11 11:54:38 2013 Tanaka Akira <akr@fsij.org>
+ * test/drb/test_drbunix.rb: ditto.
- * process.c (rb_clock_gettime): New method.
- This is accepted in the meeting:
- https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130809
- This method is accepted as a CRuby feature.
- I.e. Other Ruby implementations don't need to implement it.
- [ruby-core:56087] [Feature #8658]
+ * test/drb/ut_drb.rb: reduce sleep.
-Sun Aug 11 10:40:48 2013 Zachary Scott <e@zzak.io>
+Thu Feb 17 00:02:27 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/time.rb: [DOC] Correcting rdoc visibility of time.rb constants
- Reported by Tanaka Akira [ruby-core:56517]
+ * eval.c (is_defined): NODE_IASGN is an assignment.
-Sun Aug 11 04:48:14 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Feb 16 23:34:30 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * file.c (rb_str_normalize_ospath):
- HFS Plus (Mac OS Extended) uses a variant of Normal Form D in which
- U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through
- U+2FAFF are not decomposed (this avoids problems with round trip
- conversions from old Mac text encodings).
- http://developer.apple.com/library/mac/qa/qa1173/_index.html
- Therefore fix r42457 to exclude the range.
+ * lib/drb/drb.rb: add lazy stop_service. ([druby-ja:109])
-Sun Aug 11 03:26:07 2013 Tanaka Akira <akr@fsij.org>
+ * lib/drb/extserv.rb: ditto.
- * bignum.c (bitsize): Fix a conditional expression.
+Wed Feb 16 17:07:57 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Aug 11 02:44:03 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/tkutil.c: Follow the change of st.c (st_foreach)
+ [ruby-list:40623].
+ Sometimes mis-convert from a Ruby's Array of SJIS Strings, which
+ includes some kind of SJIS characters, to a Tcl's UTF8 list string.
- * lib/time.rb: [DOC] Document constants by @markijbema [Fixes GH-377]
- https://github.com/ruby/ruby/pull/377
+Mon Feb 14 23:58:17 2005 Kouhei Sutou <kou@cozmixng.org>
-Sun Aug 11 01:28:52 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss/parser.rb (RSS::ListenerMixin::tag_end):
+ fixed invalid namespace handling bug.
- * configure.in: Revert r42458.
- It removes the HAVE_CLOCK_GETTIME from config.h.
- http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130809T044800Z.diff.html.gz
+Mon Feb 14 13:12:38 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Aug 10 13:53:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/openssl/ssl.rb
+ (OpenSSL::SSL::SSLSocket#post_connection_check): new method.
- * parse.y (rb_id_attrset): allow other than ID_ATTRSET.
+Mon Feb 14 00:40:49 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * parse.y (intern_str): ditto. try stem ID for ID_INSTANCE,
- ID_GLOBAL, ID_CLASS, ID_JUNK too. [Bug #8756]
+ * lib/drb/drb.rb (InvokeMethod.perform): pass DRb info to sub thread.
-Sat Aug 10 12:49:50 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/drb/test_drb.rb (test_01_safe1_safe4_eval): fix test case.
- * lib/rexml/parsers/baseparser.rb
- (REXML::Parsers::BaseParser::CDATA_END): Use "\A" instead of "^".
- It is not an used constant but I fix it. (Or should I remove it?)
+Sun Feb 13 23:13:46 2005 Kouhei Sutou <kou@cozmixng.org>
-Sat Aug 10 12:47:19 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/rss/dublincore.rb (RSS::DublicCoreModel#date{,=}): added
+ convenient methods.
- * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser):
- Fix wrong constant name. "]>" pattern match is the same but
- it is used for "<!DOCTYPE" end mark not "<![CDATA[" end mark.
+ * lib/rss/0.9.rb (RSS::Rss::Channel#date{,=}): ditto.
-Sat Aug 10 12:43:15 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/rss/2.0.rb (RSS::Rss::Channel::Item#date{,=}): ditto.
- * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser):
- Use "\A" instead of "^" in document type declaration patterns
- because they are used as the head match in content not the head
- match in line. They don't cause any problems in the current code
- but it should be fixed.
+ * test/rss/: added tests for the convenient methods.
-Sat Aug 10 12:39:00 2013 Kouhei Sutou <kou@cozmixng.org>
+Sun Feb 13 22:43:03 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * test/rexml/parse/test_document_type_declaration.rb: Add tests for
- parsing document type declaration.
+ * lib/drb/drb.rb (DRbServer): add default_safe_level, safe_level,
+ config[:safe_level] ([druby-ja:120])
-Sat Aug 10 12:00:45 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/drb/test_drb.rb, ut_eval.rb, ut_safe1.rb: ditto.
- * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::SYSTEM):
- Fix loose "head" match regular expression. It doesn't cause any
- problem in the current code but it should be fixed because readers
- may confuse it.
- Patch by Ippei Obayashi. Thanks!!!
+Sun Feb 13 16:56:52 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Aug 10 11:58:24 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/webrick/cgi.rb (WEBrick::CGI.start): should set reason-phrase
+ to the value of status header field. ([ruby-dev:40617])
- * test/rexml/parse/test_notation_declaration.rb (#test_system_public):
- Add a test for PUBLIC notation and SYSTEM notation order case.
+Sun Feb 13 00:52:33 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sat Aug 10 11:31:35 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/erb.rb (ERB::Util.h, u): make it module_function.
- * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::PUBLIC):
- Fix loose "head" match regular expression.
- [Bug #8701] [ruby-dev:47551]
- Patch by Ippei Obayashi. Thanks!!!
- * test/rexml/parse/test_notation_declaration.rb (#test_system_public):
- Add a test for the above case.
+Sat Feb 12 17:29:19 2005 Tanaka Akira <akr@m17n.org>
-Sat Aug 10 09:20:21 2013 Zachary Scott <e@zzak.io>
+ * lib/open-uri.rb (OpenURI.open_loop): send authentication only for
+ the URI directly specified.
- * NEWS: [DOC] typo in example reported by @moretea
- https://github.com/ruby/ruby/commit/a39e724#commitcomment-3831489
+Sat Feb 12 15:07:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 10 09:19:04 2013 Zachary Scott <e@zzak.io>
+ * random.c (rand_init): suppress warning.
- * proc.c: [DOC] rdoc code formatting
+Sat Feb 12 13:54:03 2005 Tanaka Akira <akr@m17n.org>
-Sat Aug 10 09:12:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/open-uri.rb: support https if the platform provides CA
+ certificates.
- * parse.y (rb_id_attrset): check if the argument is valid type as an
- attribute.
+Sat Feb 12 06:18:28 2005 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
-Sat Aug 10 05:44:08 2013 Zachary Scott <e@zzak.io>
+ * ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check.
+ [ruby-dev:25675]
- * lib/rss/trackback.rb: [DOC] Hide RSS::Trackback from rdoc
- Patch by Steve Klabnik [Bug #8755] [ruby-core:56456]
+Fri Feb 11 17:40:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Aug 10 04:52:21 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):
+ new method OpenSSL::X509::Store#set_default_paths.
- * bignum.c (big_div_struct): Use size_t.
- (bigdivrem1): Ditto.
- (bigdivrem_num_extra_words): Ditto.
- (bigdivrem_single): Ditto.
- (bigdivrem_normal): Ditto.
- (bary_divmod): Ditto.
+Fri Feb 11 11:33:53 2005 Tanaka Akira <akr@m17n.org>
-Fri Aug 9 23:47:15 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/open-uri.rb (URI::HTTP#proxy_open): new option supported:
+ :http_basic_authentication.
+ suggested by Kent Sibilev. [ruby-core:4392]
- * lib/rss/rexmlparser.rb: Remove needless REXML version check.
- Both RSS Parser and REXML are bundled in Ruby. RSS Parser can
- always use the latest REXML. [Bug #8754] [ruby-core:56454]
- Patch by Steve Klabnik. Thanks!!!
+Fri Feb 11 06:30:07 2005 George Ogata <g_ogata@optushome.com.au>
-Fri Aug 9 22:51:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * misc/ruby-mode.el: ignore parenthesis inside heredoc.
+ [ruby-core:04415]
- * configure.in (XLDFLAGS, LIBRUBYARG_STATIC): CoreFoundation framework
- option is now needed always, regardless enable-shared.
- [ruby-core:56467] [Bug #8759]
+Fri Feb 11 04:54:13 2005 Tilman Sauerbeck <tilman@code-monkey.de>
-Fri Aug 9 22:20:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/generators/html_generator.rb: [ruby-core:04412]
- * ruby.c (load_file_internal): use rb_parser_compile_string_path and
- rb_parser_compile_file_path, String path name versions. [Bug #8753]
+ * lib/rdoc/generators/ri_generator.rb: ditto.
-Fri Aug 9 07:16:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Thu Feb 10 11:14:17 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/io/console/console.c: delete redefinition of rb_cloexec_open.
- drop support for 1.8 and 1.9 from the next release of io-console gem.
+ * win32/Makefile.sub (COMMON_HEADERS): shouldn't include winsock2.h.
-Fri Aug 9 19:13:54 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/extconf.rb (sockaddr_storage): remove workaround for
+ mswin32.
- * NEWS: update about new methods for Binding.
+Thu Feb 10 10:29:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Aug 9 18:48:09 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/curses/curses.c: don't need to check HAVE_WCOLOR_SET excluding
+ window_color_set().
- * proc.c: add Binding#local_variable_get/set/defined?
- to access local variables which a binding contains.
- Most part of implementation by nobu.
+Thu Feb 10 00:47:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_proc.rb: add a tests for above.
+ * struct.c (make_struct): fixed: [ruby-core:04402]
- * vm.c, vm_core.h (rb_binding_add_dynavars): add a new function
- to add a new environment to create space for new local variables.
+Wed Feb 9 08:07:08 2005 Paul Duncan <pabs@pablotron.org>
-Fri Aug 9 14:02:01 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/curses/curses.c (window_color_set): [ruby-core:04393]
- * tool/make-snapshot: Fix order of priority for option parameter.
+Tue Feb 8 23:51:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Aug 9 12:06:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/drb/drb.rb: reject :instance_eval, :class_eval, :module_eval
+ [druby-ja:117]
- * file.c (rb_str_normalize_ospath): normalize to Normalization Form C
- using CFString.
+Tue Feb 8 13:06:12 2005 Sam Roberts <sroberts@uniserve.com>
-Fri Aug 9 10:53:57 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
+ [ruby-talk:130092]
- * time.c (get_timeval, get_new_timeval): use rb_obj_class()
- instead of CLASS_OF() because CLASS_OF() may return
- a singleton class.
+Tue Feb 8 09:30:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Aug 9 10:42:11 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/cgi.rb (CGI::Cookie): [ruby-talk:130040]
- * vm_insnhelper.c (vm_invoke_block): returning from lambda proc
- now always exits from the Proc. [ruby-core:56193] [Feature #8693]
+Tue Feb 8 00:19:02 2005 Tanaka Akira <akr@m17n.org>
- * NEWS, test/ruby/test_lambda.rb: ditto. Patch by nobu.
+ * lib/resolv.rb (Resolv::DNS::Name#subdomain_of?): new method.
+ (Resolv::DNS::Name#inspect): ditto.
+ Suggested by Sam Roberts. [ruby-talk:129086]
-Fri Aug 9 00:10:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Feb 7 10:06:30 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * enumerator.c (lazy_zip_func): fix non-single argument. fix
- out-of-bound access and pack multiple yielded values.
- [ruby-core:56383] [Bug #8735]
+ * object.c: [ruby-doc:818]
-Thu Aug 8 23:01:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Feb 7 01:56:20 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * object.c (rb_mod_singleton_p): new method Module#singleton_class? to
- return whether the receiver is a singleton class or not.
- [ruby-core:51087] [Feature #7609]
+ * instruby.rb, rubytest.rb (srcdir): no longer embed srcdir into
+ rbconfig.rb. (backported from CVS HEAD)
-Thu Aug 8 21:56:44 2013 Tanaka Akira <akr@fsij.org>
+ * ext/socket/extconf.rb (sockaddr_storage): winsock2.h have the
+ definition of struct sockaddr_storage, but socket.c doesn't
+ include it because this version of ruby still has binary level
+ compatibility with winsock1.
- * time.c (time_overflow_p): Avoid signed integer overflow.
- (rb_time_new): Fix overflow condition.
+ * lib/mkmf.rb (create_makefile): should support header files in
+ depend file.
-Thu Aug 8 19:58:02 2013 Koichi Sasada <ko1@atdot.net>
+Mon Feb 7 01:21:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread.c (rb_threadptr_pending_interrupt_check_mask):
- use RARRAY_RAWPTR() instead of RARRAY_PTR() because
- there is no new reference.
+ * ext/socket/extconf.rb: check if getaddrinfo() works fine only when
+ wide-getaddrinfo option is not given. fixed: [ruby-dev:25422]
-Thu Aug 8 19:56:52 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/mkmf.rb ($extmk): check if under ext directory.
- * string.c (rb_str_format_m): use RARRAY_RAWPTR() instead of
- RARRAY_PTR() because there is no new reference.
+ * lib/mkmf.rb (Logging.postpone): allow recursive operation.
-Thu Aug 8 19:55:51 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/mkmf.rb (try_constant): make sure if really a constant, reduce
+ the number of times of compile.
- * include/ruby/ruby.h: define USE_RGENGC_LOGGING_WB_UNPROTECT.
+ * lib/mkmf.rb (have_macro, have_var, byte_order): new functions.
-Thu Aug 8 16:44:25 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/mkmf.rb (find_library): allow directory list with separators.
- * include/ruby/ruby.h: add old macro name `RUBY_EVENT_SWITCH'.
- This macro name is obsolete because it is renamed to
- RUBY_INTERNAL_EVENT_SWITCH, but it has compatibility problem
- using this macro name like ruby-prof.
- I want to remove this macro after ruby 2.1.
+ * lib/mkmf.rb (arg_config): manage provided configuration options.
-Thu Aug 8 15:37:53 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/mkmf.rb (dir_config): accept arrays of directory names as
+ default values.
- * 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.
+ * mkconfig.rb: no longer embed srcdir and compile_dir into
+ rbconfig.rb.
-Thu Aug 8 14:54:18 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * lib/mkmf.rb (create_makefile): fix unbalanced parens.
- * NEWS: add description of incompatibility introduced by r42396.
- [ruby-core:56329] [Bug #8722]
+Sun Feb 6 19:23:01 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Aug 8 14:50:36 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (stack_extend): add prototype because VC++8 doesn't
+ accept __declspec(noinline) with K&R style function definitions.
+ (backported from CVS HEAD)
- * common.mk (mini): portable target to build miniruby
+Sun Feb 6 14:14:26 2005 Tadayoshi Funaba <tadf@dotrb.org>
- * common.mk (bisect): run git-bisect with miniruby
+ * lib/date.rb (new_with_hash): changed messages of exception.
- * common.mk (bisect-ruby): run git-bisect with ruby
+ * lib/date/format.rb (str[fp]time): undocumented conversion
+ specifications %[1-3] are now deprecated.
- * tool/bisect.sh: script for git-bisect
+Sun Feb 6 12:20:11 2005 Akinori MUSHA <knu@iDaemons.org>
-Thu Aug 8 12:11:43 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * bignum.c (rb_big2ulong_pack): One too many arguments are passed
+ to big2ulong().
- * test/webrick/test_httpresponse.rb (test_send_body_*_chunked): these
- expectations assumes that the IOs are binmode. fixed test failures
- introduced at r42427 on Windows.
+ * re.c (rb_reg_init_copy, rb_reg_initialize_m): One too many
+ arguments are passed to rb_reg_initialize().
-Thu Aug 8 10:27:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 6 03:24:20 2005 Tanaka Akira <akr@m17n.org>
- * range.c (range_last): revert r42400. [Bug #8739]
+ * lib/resolv.rb (Resolv::DNS::Resource::TXT): multiple strings was not
+ handled.
+ (Resolv::DNS::Resource::TXT#strings): new method to return all
+ strings.
+ (Resolv::DNS::Message::MessageEncoder#put_string_list): new method.
+ (Resolv::DNS::Message::MessageDecoder#get_string_list): ditto.
+ based on [ruby-talk:129732] by Sam Roberts.
-Thu Aug 8 10:26:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Feb 4 00:30:45 2005 Kouhei Sutou <kou@cozmixng.org>
- * file.c (rb_str_normalize_ospath): extract and move from dir.c.
+ * lib/rss: supported Image module.
+ http://web.resource.org/rss/1.0/modules/image/
-Thu Aug 8 05:59:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Thu Feb 3 23:42:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/openssl/test_ssl.rb: Fix test for CVE-2013-4073.
- Patch by Antonio Terceiro. [Bug #8750] [ruby-core:56437]
+ * ext/stringio/stringio.c (strio_close, strio_close_read, strio_close_write):
+ should return nil instead of self as well as IO. [ruby-dev:25623]
-Thu Aug 8 03:37:38 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/stringio/stringio.c (strio_extend, strio_putc): fill with zero
+ extended portion. [ruby-dev:25626]
- * lib/webrick/httpresponse.rb: Allow #body to be an IO-like object
- that responds to #readpartial and #read.
- [ruby-trunk - Feature #8155]
- * NEWS: NEWS for above
- * test/webrick/test_httpresponse.rb: Tests for above.
+Wed Feb 2 23:52:53 2005 sheepman <sheepman@tcn.zaq.ne.jp>
-Wed Aug 7 23:06:26 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/stringio/stringio.c (strio_truncate): should MEMZERO an extended
+ part. [ruby-dev:25618]
- * ruby.c (Process.argv0): New method to return the original value
- of $0. [Feature #8696]
+Wed Feb 2 21:56:01 2005 Kouhei Sutou <kou@cozmixng.org>
-Wed Aug 7 23:05:55 2013 Akinori MUSHA <knu@iDaemons.org>
+ * lib/rss/rss.rb (RSS::Element#convert): added.
- * ruby.c (Process.setproctitle): New method to change the title of
- the running process that is shown in ps(1). [Feature #8696]
+ * lib/rss/rss.rb: convert -> need_convert.
-Wed Aug 7 20:05:38 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss/1.0.rb: ditto.
- * bignum.c (rb_big_odd_p): Check the bignum length.
- (rb_big_even_p): Ditto.
+ * lib/rss/0.9.rb: ditto.
-Wed Aug 7 19:29:26 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss/2.0.rb: ditto.
- * bignum.c (dbl2big): A condition simplified.
+ * lib/rss/trackback.rb: ditto.
-Wed Aug 7 16:34:30 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Feb 1 22:48:48 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * test/webrick/test_cgi.rb (TestWEBrickCGI#{start_cgi_server,test_cgi}):
- mswin is not only mswin32 but also mswin64. [Bug #8746]
+ * lib/drb/drb.rb (DRb::DRbObject#respond_to?): check marshal_dump and
+ _dump.
-Wed Aug 7 16:19:12 2013 Koichi Sasada <ko1@atdot.net>
+Tue Feb 1 00:20:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * cont.c (rb_fiber_start): use RARRAY_RAWPTR() instead of
- RARRAY_PTR() because there is no new reference.
+ * configure.in (aix): fix linker flags on AIX. [ruby-talk:125460]
- * proc.c (curry): ditto.
+Mon Jan 31 13:33:21 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * proc.c (rb_proc_call): remove line break.
+ * ext/tcltklib/tcltklib.c: add invalid namespace check
-Wed Aug 7 13:20:12 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: add invalid_namespace? method
- * random.c (random_load): use RARRAY_RAWPTR() instead of
- RARRAY_PTR() because there is no new reference.
+ * ext/tk/lib/remote-tk.rb: ditto
-Wed Aug 7 12:58:23 2013 Koichi Sasada <ko1@atdot.net>
+Mon Jan 31 10:29:18 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c (thread_start_func_2): use RARRAY_RAWPTR() instead of
- RARRAY_PTR() because there is no new reference.
+ * lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]
-Wed Aug 7 09:00:24 2013 Zachary Scott <e@zzak.io>
+Sat Jan 29 09:42:12 2005 Sam Roberts <sroberts@uniserve.com>
- * string.c: [DOC] Description of rb_str_equal [Fixes GH-375]
- Based on a patch by @markijbema
- https://github.com/ruby/ruby/pull/375
+ * lib/resolv.rb (Resolv::DNS::Resource::IN::SRV): Added RFC2782 SRV
+ resource record for specifying location of services.
-Wed Aug 7 08:30:38 2013 Zachary Scott <e@zzak.io>
+Fri Jan 28 17:16:55 2005 Tanaka Akira <akr@m17n.org>
- * ext/openssl/ossl_hmac.c: [DOC] Documentation for OpenSSL::HMAC
- based on a patch by @repah documenting-ruby/ruby#14
- https://github.com/documenting-ruby/ruby/pull/14
+ * lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf):
+ parse options line for ndots option.
+ (Resolv::Hosts#lazy_initialize): return self.
+ (Resolv::DNS#lazy_initialize): ditto.
+ (Resolv::DNS::Config#lazy_initialize): ditto.
+ Suggested by Sam Roberts.
-Wed Aug 7 07:46:23 2013 Zachary Scott <e@zzak.io>
+Thu Jan 27 13:18:03 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rss/utils.rb: [DOC] RSS::Utils by Steve Klabnik [Bug #8745]
+ * st.c (st_foreach): report success/failure by return value.
+ [ruby-Bugs-1396]
-Wed Aug 7 07:38:39 2013 Tanaka Akira <akr@fsij.org>
+Thu Jan 27 00:15:29 2005 Minero Aoki <aamine@loveruby.net>
- * bignum.c (nlz16): Removed.
- (nlz32): Ditto.
- (nlz64): Ditto.
- (nlz128): Ditto.
- (nlz_int): New function.
- (nlz_long): New function.
- (nlz_long_long): New function.
- (nlz_int128): New function.
- (nlz): Follow above changes.
- (bitsize): Follow above changes.
+ * test/fileutils/test_fileutils.rb (setup): support BSD-style
+ directory group inheritance. (backport from HEAD, rev 1.32)
-Tue Aug 6 22:38:15 2013 Zachary Scott <e@zzak.io>
+ * test/fileutils/fileasserts.rb (assert_same_entry): show entry
+ difference. (backport from HEAD, rev 1.4)
- * time.c: [DOC] Typo in Time overview by @sparr [Fixes GH-374]
- https://github.com/ruby/ruby/pull/374
+Wed Jan 26 23:09:11 2005 Minero Aoki <aamine@loveruby.net>
-Tue Aug 6 22:35:32 2013 Zachary Scott <e@zzak.io>
+ * lib/net/protocol.rb (WriteAdapter#puts): should append \n, not
+ prepend. [ruby-talk:128302] (backport from HEAD, rev 1.75)
- * lib/rss/1.0.rb: [DOC] Document RSS10 by Steve Klabnik [Bug #8740]
+Wed Jan 26 10:51:50 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Aug 6 22:14:11 2013 Kouji Takao <kouji.takao@gmail.com>
+ * win32/win32.c (flock_winnt, flock_win95): unlock file even if
+ LOCK_NB is specified. (backported from CVS HEAD)
- * ext/readline/readline.c (readline_s_delete_text): remove
- checking "$SAFE == 4".
+Tue Jan 25 17:11:51 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/readline/readline.c: fix rdoc, remove "Raises SecurityError"
- and add "Raises NotImplementedError".
+ * ruby.c (proc_options): correct -T option in RUBYOPT. (backported
+ from CVS HEAD)
-Tue Aug 6 22:04:38 2013 Kouji Takao <kouji.takao@gmail.com>
+Tue Jan 25 14:05:52 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/readline/readline.c, test/readline/test_readline.rb: fix
- indent.
+ * ext/tcltklib/tcltklib.c: fix SEGV bug; trouble on canceling remained
+ after scripts [ruby-dev:25479]: NULL current namespace when deleting
+ Tk interpreter [ruby-talk:126225]
-Tue Aug 6 21:59:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/extconf.rb: bug fix; TCL_ENABLE_THREAD flag is inverted
+ [ruby-talk:126360]
- * range.c (range_last): return nil for empty range, or in the case the
- predecessor is smaller than the begin. [Bug #8739]
+ * ext/tcltklib/extconf.rb: add yet another native-thread check
-Tue Aug 6 21:48:31 2013 Kouji Takao <kouji.takao@gmail.com>
+ * ext/tk/tkutil.c: fix SEGV bug; NULL string pointer when finalize
+ Ruby interpreter
- * ext/readline/readline.c (readline_s_set_point, Init_readline):
- add Readline.point=(pos). Patched by naruse. [ruby-dev:47535]
- [Feature #8675]
+ * ext/tk/lib/multi-tk.rb: avoid warning for deleted safeTk ip frame
-Tue Aug 6 21:14:11 2013 Kouji Takao <kouji.takao@gmail.com>
+ * ext/tk/lib/tk/bindtag.rb: bug fix; new method of named bindtag
+ doesn't return the created object [ruby-dev:25479]
- * ext/readline/readline.c (Init_readline, readline_s_set_output)
- (clear_rl_outstream, readline_s_set_input, clear_rl_instream)
- (readline_readline): fix causing SEGV if closed IO object that is
- set Readline.input or Readline.output. Patched by akr
- [ruby-dev:47509] [Bug #8644]
+ * ext/tk/lib/tk/menu.rb: bug on treating arguments [ruby-dev:25479]
-Tue Aug 6 17:56:40 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: bug fix; cannot accept a callback ID string for
+ a command argument [ruby-dev:25479]
- * vm_insnhelper.c (vm_push_frame): change type of stack_max to size_t.
+ * ext/tk/lib/multi-tk.rb: ditto
-Tue Aug 6 17:42:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/*.rb: ditto
- * range.c (range_last): exclude the last number of the exclusive range
- if the end is Numeric. [ruby-dev:47587] [Bug #8739]
+ * ext/tk/lib/tkextlib/*.rb: ditto
-Tue Aug 6 17:42:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/demos-jp/anilabel.rb: new demo script
- * win32/win32.c (rb_w32_conv_from_wchar): converted string to CP_UTF8
- should have UTF-8 encoding. otherwise no conversion takes place
- later.
+ * ext/tk/sample/demos-en/anilabel.rb: ditto
-Tue Aug 6 17:21:38 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/tkHTML/ss.rb: local variable scope bug fix
+ [ruby-dev:25479]
- * vm_insnhelper.c (vm_push_frame): fix stack overflow check codes.
- Stack overflow check should be done *after* pushing a stack frame.
- However, some stack overflow checking codes checked *before*
- pushing a stack frame with iseq->stack_max.
- To solve this problem, add a new parameter `stack_max' to specify
- a possible consuming stack size.
+Mon Jan 24 15:44:25 2005 Tilman Sauerbeck <tilman@code-monkey.de>
- * vm_core.h (CHECK_VM_STACK_OVERFLOW0): add to share the stack overflow
- checking code.
+ * lib/rdoc/parsers/parse_c.rb: allow whitespace after function names.
+ [ruby-core:4296]
- * insns.def: catch up this change.
+ * lib/rdoc/parsers/parse_simple.rb: adds support for private comments
+ in the "simple" parser. [ruby-core:4301]
- * vm.c, vm_eval.c: ditto.
+Mon Jan 24 15:44:25 2005 Charles Mills <cmills@freeshell.org>
- * test/ruby/test_exception.rb: add a stack overflow test.
- This code is reported by nobu.
+ * lib/rdoc/parsers/parse_c.rb: adds support for constants
+ (rb_define_const), accessors (rb_define_attr), and makes a
+ couple fixes. [ruby-core:4307]
-Tue Aug 6 17:02:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jan 24 15:44:25 2005 Florian Gro <florgro@gmail.com>
- * win32/win32.c (rb_w32_conv_from_wchar): use WideCharToMultiByte(),
- as like as mbstr_to_wstr(), in the first step of the conversion from
- WCHAR.
+ * lib/rdoc/parsers/parse_rb.rb: Logic for def Builtin.method() end
+ [ruby-core:4302]
-Tue Aug 6 16:14:32 2013 Shugo Maeda <shugo@ruby-lang.org>
+Mon Jan 24 15:44:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (eval_string_with_cref): copy cref to limit the scope of
- refinements in the eval string. [ruby-core:56329] [Bug #8722]
+ * document updates - [ruby-core:04296], [ruby-core:04301],
+ [ruby-core:04302], [ruby-core:04307]
- * test/ruby/test_refinement.rb: related test.
+Sun Jan 23 12:41:16 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Aug 6 12:23:12 2013 Tanaka Akira <akr@fsij.org>
+ * lib/soap/wsdlDriver.rb: from 1.5.3-ruby1.8.2, operation which has
+ capitalized name (such as KeywordSearchRequest in AWS) is defined as
+ a method having uncapitalized name. (converted with
+ GenSupport.safemethodname to handle operation name 'foo-bar'). it
+ introduced serious incompatibility; in the past, it was defined as a
+ capitalized.
- * bignum.c (rb_big_realloc): Use VALGRIND_MAKE_MEM_UNDEFINED to
- declare undefined memory area.
- (bignew_1): Ditto.
+ define capitalized method as well under that circumstance.
- * internal.h (VALGRIND_MAKE_MEM_DEFINED): Moved from gc.c
- (VALGRIND_MAKE_MEM_UNDEFINED): Ditto.
+Sun Jan 23 05:24:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Aug 6 01:40:37 2013 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl_ocsp.c (ossl_ocspreq_to_der): should call
+ GetOCSPReq at first.
- * process.c: [DOC] Document caveats of command form of Process.spawn
- with regard to the shell and OS. Patched by Steve Klabnik [Bug #8550]
+Sat Jan 22 23:09:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Tue Aug 6 01:28:35 2013 Zachary Scott <e@zzak.io>
+ * lib/drb/ssl.rb (accept): rescue SSLError. [druby-ja:110]
- * lib/rss/0.9.rb: [DOC] Typo in example [Bug #8732]
+Sat Jan 22 22:35:03 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Tue Aug 6 01:22:37 2013 Zachary Scott <e@zzak.io>
+ * lib/drb/unix.rb: fail if UNIXFileOwner is set. [druby-ja:111]
- * lib/rss/2.0.rb: [DOC] Document RSS::Rss by Steve Klabnik #8740
- * lib/rss/atom.rb: [DOC] Typo in rdoc by Steve Klabnik
+Fri Jan 21 23:58:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Aug 5 23:47:59 2013 Tanaka Akira <akr@fsij.org>
+ * ext/stringio/stringio.c (strio_set_pos): clear EOF flag.
+ [ruby-talk:127511]
- * bignum.c: Rename local variables.
+Fri Jan 21 20:07:02 2005 Tanaka Akira <akr@m17n.org>
-Mon Aug 5 22:23:59 2013 Zachary Scott <e@zzak.io>
+ * lib/resolv.rb (Resolv::DNS::Config.resolv): don't raise ResolvError.
+ reported by Sam Roberts. [ruby-talk:127133]
- * vm_trace.c: [DOC] Fix TracePoint return values in examples
- Based on a patch by @sho-h [Fixes GH-373]
- https://github.com/ruby/ruby/pull/373
+Fri Jan 21 16:58:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Aug 5 17:38:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c (rb_push_glob): should work for NUL delimited patterns.
- * win32/win32.c (rb_w32_write_console): use MultiByteToWideChar() for
- the last step of conversion to WCHAR, to get rid of warnings from
- rb_enc_find() in miniruby. [ruby-dev:47584] [Bug #8733]
+Fri Jan 21 13:58:37 2005 Shugo Maeda <shugo@ruby-lang.org>
- * win32/win32.c (wstr_to_mbstr, mbstr_to_wstr): fix wrong trimming.
- WideCharToMultiByte() and MultiByteToWideChar() do not count
- NUL-terminator in the size for conversion result, unless the input
- length is -1.
+ * lib/net/imap.rb (u8tou16): fixed typo. fixed: [ruby-list:40546]
+ (backported from CVS HEAD)
-Mon Aug 5 11:51:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Fri Jan 21 09:30:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * include/ruby/encoding.h: document which user flags are used by
- ENCODING_MASK for better greppability
+ * rubyio.h (rb_eof_error): should mark as NORETURN. (backported
+ from CVS HEAD)
-Mon Aug 5 10:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Fri Jan 21 00:31:36 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * object.c (rb_class_inherited_p): allow iclasses to be tested for
- inheritance. [Bug #8686] [ruby-core:56174]
+ * ext/syck/rubyext.c (syck_parser_bufsize_set): avoid VC++ warning
+ "local variable 'size' used without having been initialized".
- * test/ruby/test_method.rb: add test
+Thu Jan 20 19:03:24 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Aug 5 06:13:48 2013 Zachary Scott <e@zzak.io>
+ * ext/extmk.rb (extmake): shouldn't set $extflags on mswin32.
- * enumerator.c: [DOC] Remove reference to Enumerator::Lazy#cycle
- Patch by @kachick [Fixes GH-372]
- https://github.com/ruby/ruby/pull/372
+ * win32/Makefile.sub (LIBRUBY_SO): should use $DLDOBJS instead of
+ $EXTOBJS.
+ fixed: [ruby-core:04290] (backported from CVS HEAD)
-Mon Aug 5 03:57:16 2013 Zachary Scott <e@zzak.io>
+Thu Jan 20 11:42:02 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rss/0.9.rb: [DOC] Document RSS09 by Steve Klabnik [Bug #8732]
+ * string.c (rb_str_new4): should propagate taintedness.
-Mon Aug 5 03:35:11 2013 Zachary Scott <e@zzak.io>
+ * struct.c (rb_struct_set): use original method name, not callee
+ name, to retrieve member slot. [ruby-core:04268]
- * lib/rexml/attribute.rb: [DOC] Update example for #namespace
- Patch by Ippei Obayashi [Bug #8685] [ruby-core:56173]
+ * time.c (time_strftime): protect from format modification from GC
+ finalizers.
-Sun Aug 4 21:08:29 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Jan 19 18:06:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * array.c (rb_ary_zip): performance implement by using
- ALLOCA_N() to allocate tmp buffer.
+ * lib/ipaddr.rb (to_s, test_to_s): too many colons with some cases.
+ (backported from CVS HEAD)
-Sun Aug 4 07:14:49 2013 Tanaka Akira <akr@fsij.org>
+Wed Jan 19 01:16:30 2005 Tanaka Akira <akr@m17n.org>
- * README.EXT, README.EXT.ja: Mention rb_integer_pack and
- rb_integer_unpack.
+ * lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf): ignore
+ domain and search directive without an argument.
+ reported by Sam Roberts. [ruby-talk:126781]
-Sun Aug 4 01:54:45 2013 Tanaka Akira <akr@fsij.org>
+Tue Jan 18 15:03:05 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (BARY_TRUNC): New macro.
- (bary_cmp): Use BARY_TRUNC.
- (bary_mul_toom3): Ditto.
- (bary_divmod): Ditto.
- (abs2twocomp): Ditto.
- (bigfixize): Ditto.
- (rb_cstr_to_inum): Ditto.
- (big2str_karatsuba): Ditto.
- (bigdivrem): Ditto.
+ * lib/webrick/ssl.rb (WEBrick::Config::SSL): the default value
+ of :SSLEnable is false.
-Sun Aug 4 00:57:58 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/server.rb (WEBrick::Daemon.start): prepared stdio
+ don't allow changing its mode.
- * bignum.c (big2str_karatsuba): Don't allocate new temporary buffer
- if the buffer is enough for current invocation.
+ * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):
+ should delete trailing LF from the result of pack("m*").
-Sun Aug 4 00:22:34 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):
+ - should delete trailing LF from the result of pack("m*").
+ - clear Request-Line not to send the response by HTTPServer#run.
- * bignum.c (bary2bdigitdbl): New function.
- (bdigitdbl2bary): Ditto.
- (bary_mul_single): Use bdigitdbl2bary.
- (power_cache_get_power): Ditto.
- (bary_divmod): Use bary2bdigitdbl.
- (big2str_orig): Ditto.
- (bigdivrem): Ditto.
+ * lib/webrick/httputils (WEBrick::HTTPUtils.parse_qvalues):
+ refine regexp (and change the name of a local variable).
-Sat Aug 3 22:47:11 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils#escape_path): add
+ new method to escape URI path component.
- * bignum.c: The branch condition of selecting multiplication
- algorithms should check smaller argument because Karatsuba and Toom3
- is effective only if both arguments are big.
- (bary_mul_toom3_branch): Compare the smaller argument to
- TOOM3_MUL_DIGITS.
- (bary_mul): Compare the smaller argument to KARATSUBA_MUL_DIGITS.
+ * lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line): should
+ escape SCRIPT_NAME and PATH_INFO before being parsed as a URI.
-Sat Aug 3 22:23:31 2013 Tanaka Akira <akr@fsij.org>
+ * test/webrick/*, sample/webrick/httpproxy.rb: add new file.
- * bignum.c (big2str_orig): Receive the number to stringize as
- BDIGIT array and size.
- (big2str_karatsuba): Receive the number to stringize as BDIGIT array
- and size. Use an temporary array of BDIGIT.
- (rb_big2str1): Follow the above change.
+Mon Jan 17 23:33:46 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 3 13:30:04 2013 Tanaka Akira <akr@fsij.org>
+ * configure.in (aix): fix typo. [ruby-talk:126401]
- * bignum.c (MAX_BASE36_POWER_TABLE_ENTRIES): Renamed from
- MAX_BIG2STR_TABLE_ENTRIES.
- (base36_power_cache): Renamed from big2str_power_cache.
- (base36_numdigits_cache): Renamed from big2str_numdigits_cache.
+Mon Jan 17 07:08:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 3 10:33:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/readline/readline.c: suppress warnings.
- * parse.y (parser_set_integer_literal): use rb_rational_raw1() for
- integral rational because no reduction is needed with 1.
+ * lib/irb/extend-command.rb (IRB::ContextExtender.def_extend_command):
+ ditto.
-Sat Aug 3 09:46:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/irb/ext/history.rb (IRB::Context::set_last_value): ditto.
- * ext/etc/etc.c (setup_passwd, setup_group): set proper encodings to
- string members.
+ * lib/irb/ext/history.rb (IRB::Context::eval_history): ditto.
-Sat Aug 3 09:30:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/irb/locale.rb (IRB::Locale::real_load): ditto.
- * struct.c (rb_struct_define_under): new function to define Struct
- under the given namespace, not under Struct. [Feature #8264]
+ * lib/irb/slex.rb (SLex::Node::create_subnode): remove garbage.
- * ext/etc/etc.c: use rb_struct_define_under.
+Mon Jan 17 00:09:42 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Aug 3 06:55:29 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/uri/common.rb (PORT): typo fix. fixed: [ruby-core:04256]
- * parse.y (value_expr_gen): now NODE_DEFN and NODE_DEFS are not void
- value expressions. get rid of wrong warning with -w, and make to
- pass tests with chkbuild. ref. [Feature #3753]
+Sat Jan 15 14:57:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 3 04:23:48 2013 Eric Hodel <drbrain@segment7.net>
+ * ruby.c (proc_options): ignore trailing CRs at the end of short
+ options as well as long options. fixed: [ruby-core:04232]
- * doc/syntax/refinements.rdoc: Remove mention of instance_eval and
- module_eval from scope section per:
- http://twitter.com/shugomaeda/status/363219951336693761
+Sat Jan 15 13:35:16 2005 Kouhei Sutou <kou@cozmixng.org>
-Sat Aug 3 02:22:05 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.2 -> 0.1.3.
- * bignum.c (big2str_orig): Refactored.
+ * lib/rss/rss.rb: accept inheritance. [ruby-talk:126104]
-Sat Aug 3 01:20:19 2013 Tanaka Akira <akr@fsij.org>
+Thu Jan 13 04:48:53 2005 Tanaka Akira <akr@m17n.org>
- * bignum.c (bigadd_core): Removed.
- (bigadd): Use bary_add instead of bigadd_core.
+ * io.c (io_fread): don't warn nonblocking behavior by default.
-Sat Aug 3 00:52:43 2013 Tanaka Akira <akr@fsij.org>
+Wed Jan 12 00:36:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (rb_big2str1): Simplify power_level calculation.
+ * object.c (rb_class_superclass): superclass of singleton class also
+ should be a singleton class. fixed: [ruby-list:40519]
-Sat Aug 3 00:34:20 2013 Masaki Matsushita <glass.saga@gmail.com>
+Tue Jan 11 09:44:40 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * array.c (rb_ary_zip): use rb_ary_new2() to create buffer
- if rb_block_arity() > 1.
+ * numeric.c (Init_Numeric): turn off floating point exceptions
+ on bcc32. "1e300".to_f had crashed by overflow.
-Sat Aug 3 00:12:00 2013 Masaki Matsushita <glass.saga@gmail.com>
+Tue Jan 11 03:10:10 2005 Minero Aoki <aamine@loveruby.net>
- * NEWS: Add the description that IO#seek supports SEEK_DATA
- and SEEK_HOLE.
+ * lib/fileutils.rb (copy_entry): could not copy symbolic link.
+ [ruby-talk:125733]
-Fri Aug 2 23:57:57 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/fileutils.rb (copy_stream): use read/write instead of
+ sysread/syswrite.
- * vm.c (m_core_define_method, m_core_define_singleton_method): now
- the value of def-expr is the Symbol of the name of the method, not
- nil.
- ref. [ruby-dev:42151] [Feature #3753]
+Mon Jan 10 23:08:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_syntax.rb (TestSyntax#test_value_of_def): test for
- above changes.
+ * variable.c (rb_autoload): hide internal data from ruby level.
+ fixed: [ruby-dev:25435], [ruby-list:40498]
-Fri Aug 2 23:54:11 2013 Masaki Matsushita <glass.saga@gmail.com>
+Mon Jan 10 01:22:55 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_zip): performance improvement by avoiding
- array creation if rb_block_arity() > 1.
+ * gc.c (rb_data_object_alloc): klass may be NULL.
+ [ruby-list:40498]
-Fri Aug 2 23:50:53 2013 Tanaka Akira <akr@fsij.org>
+Sun Jan 9 03:12:58 2005 Tanaka Akira <akr@m17n.org>
- * bignum.c (power_cache_get_power): Apply bigtrunc to the result of
- bigsq.
- (big2str_karatsuba): Fix number of leading zero characters.
+ * io.c (io_fread): warn nonblocking behavior.
+ (io_readpartial): new method IO#readpartial.
-Fri Aug 2 23:48:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 8 04:38:47 2005 why the lucky stiff <why@ruby-lang.org>
- * parse.y (parser_yylex): calculate denominator directly as powers of
- ten, not parsing string.
+ * lib/yaml.rb: Kernel#y requires an argument.
- * parse.y (parser_number_literal_suffix): return bit set of found
- suffixes.
+Fri Jan 7 21:12:29 2005 TAMURA Takashi <sheepman@tcn.zaq.ne.jp>
- * parse.y (parser_set_number_literal, parser_set_integer_literal):
- split from parser_number_literal_suffix to set yylval.
+ * random.c (rand_init): use ALLOC_N instead of ALLOCA_N
+ [ruby-dev:25426]
- * parse.y (parser_yylex): parse rational number literal with decimal
- point precisely.
+Fri Jan 7 18:03:35 2005 Tanaka Akira <akr@m17n.org>
- * parse.y (simple_numeric): integrate numeric literals and simplify
- numeric rules.
+ * gc.c (mark_locations_array): avoid core dump with -O3.
+ [ruby-dev:25424]
- * ext/ripper/eventids2.c (ripper_init_eventids2): ripper support for
- new literals, tRATIONAL and tIMAGINARY.
+Thu Jan 6 20:31:07 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Aug 2 18:33:28 2013 Tanaka Akira <akr@fsij.org>
+ * ext/zlib/zlib.c (zstream_end): should return value. (backported
+ from CVS HEAD)
- * bignum.c (big2str_karatsuba): Reduce power_level more than one at
- recursion, if possible.
- (rb_big2str1): Follow the above change.
+Thu Jan 6 19:55:13 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Aug 2 12:25:15 2013 Tanaka Akira <akr@fsij.org>
+ * win32/win32.c (rb_w32_close): didn't close socket handle.
+ [ruby-dev:25414]
- * bignum.c (bary_mul): Swap x and y for bary_mul1 if x is longer than y.
- [ruby-dev:47565] [Bug #8719] Reported by Narihiro Nakamura.
+ * win32/win32.c (rb_w32_open_osfhandle): bcc32's _open_osfhandle
+ never set EMFILE.
-Fri Aug 2 10:39:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Thu Jan 6 17:14:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * parse.y (negate_lit): add T_RATIONAL and T_COMPLEX to the switch
- statement, and call rb_bug() if an unknown type is passed to
- negate_lit(). [ruby-core:56316] [Bug #8717]
+ * random.c (random_seed): O_NONBLOCK isn't defined on some
+ platforms. [ruby-dev:25417]
- * bootstraptest/test_literal_suffix.rb (assert_equal): add test
+Thu Jan 6 13:45:35 2005 Tanaka Akira <akr@m17n.org>
-Fri Aug 2 09:14:47 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/time.rb: recognize +00:00 and GMT as a localtime.
- * doc/syntax/refinements.rdoc: Improve description of where you may
- activate refinements.
+Thu Jan 6 07:58:28 2005 Dave Thomas <dave@pragprog.com>
-Fri Aug 2 07:45:55 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/usage.rb (RDoc::RDoc.usage_no_exit): Allow for colons
+ in path names on DOS machines. (thanks to Johan Nilsson)
- * bignum.c (big2str_orig): Remove len argument.
- (big2str_karatsuba): Ditto.
- (rb_big2str1): Follow above change.
+Wed Jan 5 20:16:32 2005 Tanaka Akira <akr@m17n.org>
-Thu Aug 2 02:32:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * random.c (limited_big_rand): didn't work if SIZEOF_BDIGITS == 2.
+ [ruby-dev:25408]
- * NEWS: Add the description of number literal suffixes.
+ * random.c (random_seed): refined.
-Thu Aug 2 00:02:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Wed Jan 5 12:49:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bootstraptest/test_literal_suffix.rb: add two test cases to
- examine that "1if true" and "1rescue nil" are recognized as 1.
+ * eval.c (rb_thread_initialize): Thread objects cannot be initialized
+ again. fixed: [ruby-core:04067]
-Thu Aug 1 23:45:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Wed Jan 5 10:48:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * rational.c (rb_flt_rationalize_with_prec): new public C function
- to rationalize a Float instance with a precision.
+ * dir.c (dir_s_mkdir): win32 special processing doesn't need any
+ longer. (backported from CVS HEAD)
- * rational.c (rb_flt_rationalize): new public C function to
- rationalize a Float instance. A precision is calculated from
- the given float number.
+ * win32/win32.[ch] (rb_w32_mkdir): new function. POSIX.1 compatible
+ interface. (backported from CVS HEAD)
- * include/ruby/intern.h: Add rb_flt_rationalize_with_prec and
- rb_flt_rationalize.
+ * win32/win32.[ch] (rb_w32_rmdir): new function. (backported from CVS
+ HEAD)
- * parse.y: implement number literal suffixes, 'r' and 'i'.
- [ruby-core:55096] [Feature #8430]
+Wed Jan 5 02:30:11 2005 Tanaka Akira <akr@m17n.org>
- * bootstraptest/test_literal_suffix.rb: add tests for parser to scan
- number literals with the above tsuffixes.
+ * random.c (init_by_array): imported from mt19937ar-cok.tgz.
+ (genrand_int32): ditto.
+ (genrand_real): replaced with genrand_res53 in mt19937ar-cok.
+ (rand_init): support bignum for longer seed.
+ (random_seed): generate longer seed.
+ (make_mask): new function.
+ (limited_rand): ditto.
+ (limited_big_rand): ditto.
+ (rb_f_rand): call limited_rand and limited_big_rand.
+ [ruby-dev:25403]
-Thu Aug 1 23:55:08 2013 Tanaka Akira <akr@fsij.org>
+Tue Jan 4 23:25:29 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (rb_big2str1): Remove a local variable.
+ * bignum.c (rb_big_rand): should return positive random number.
+ [ruby-dev:25401]
-Thu Aug 1 23:33:01 2013 Tanaka Akira <akr@fsij.org>
+Tue Jan 4 11:15:29 2005 TAMURA Takashi <sheepman@tcn.zaq.ne.jp>
- * bignum.c (rb_cstr_to_inum): Use power_cache_get_power.
+ * bignum.c (rb_big_rand): do not use rb_big_modulo to generate
+ random bignums. [ruby-dev:25396]
-Thu Aug 1 21:02:48 2013 Tanaka Akira <akr@fsij.org>
+Mon Jan 3 14:01:54 2005 Tanaka Akira <akr@m17n.org>
- * bignum.c (rb_big2str1): Raise an error for too big number.
+ * random.c (random_seed): don't use /dev/urandom if it is not
+ character device.
-Thu Aug 1 20:46:29 2013 Tanaka Akira <akr@fsij.org>
+Mon Jan 3 11:37:42 2005 Tanaka Akira <akr@m17n.org>
- * bignum.c (power_cache_get_power): Hide cached Bignum objects.
+ * random.c (random_seed): use /dev/urandom if available.
+ [ruby-dev:25392]
-Thu Aug 1 19:15:05 2013 Tanaka Akira <akr@fsij.org>
+Mon Jan 3 07:46:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (rb_big2str1): Remove non-trim mode.
- (rb_big2str0): Non-trim mode implemented here.
- (big2str_find_n1): Change the result type to long again.
- (big2str_base_powerof2): Don't take arguments: len and trim.
- (rb_big2str): Follow above change.
+ * lib/webrick/httpauth/htpasswd.rb (WEBrick::Htpasswd#reload):
+ raise NotImplementedError if password is encrypted by digest
+ algorithms. This patch is contributed by sheepman. [ruby-list:40467]
-Thu Aug 1 12:37:58 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httpauth/digestauth.rb
+ (WEBrick::HTTPAuth::DigestAuth#_authenticate): fix digest calculation.
+ This patch is contributed by sheepman. [ruby-list:40482]
- * bignum.c (big2str_alloc): New function to allocate the result string.
- It is called after actual length is calculated.
- (big2str_struct): Add fields: negative, result and ptr.
- (big2str_orig): Write out the result via b2s->ptr.
- (big2str_orig): Ditto.
- (rb_big2str1): Don't allocate the result string at beginning.
+ * lib/webrick/{httpauth.rb,httpauth/basicauth.rb,httpproxy.rb}: use
+ pack/unpack-template char "m" instead of lib/base64.rb to do base64
+ encoding/decoding. fixed: [ruby-dev:25336]
-Thu Aug 1 07:36:27 2013 Tanaka Akira <akr@fsij.org>
+ * test/webrick/test_httpauth.rb: new file.
- * bignum.c (big2str_orig): Use temporary buffer when trim mode.
+Sat Jan 1 04:20:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Aug 1 06:28:48 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_ns_spki.c (ossl_spki_set_challenge): should call
+ StringValue before GetSPKI. fixed: [ruby-dev:25359].
- * bignum.c (big2str_orig): Simplified because RBIGNUM_LEN(x) <= 2 now.
- (big2str_struct): Two fields added: hbase2, hbase2_numdigits.
- (rb_big2str1): Initialize above fields.
+Sat Jan 1 01:13:28 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Aug 1 04:06:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * variable.c (rb_autoload): [ruby-dev:25373]
- * lib/rdoc/options.rb (RDoc#finish): include root path in include
- paths, to work in another directory than the source directory.
- [ruby-core:56282] [Bug #8712]
+Fri Dec 31 14:10:43 2004 Dave Thomas <dave@pragprog.com>
- * test/test_rdoc_markup_pre_process.rb (TestRDocMarkupPreProcess#setup):
- fix input_file_name, as the test script is not pre-processed.
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item): Fix problem
+ if heading contains formatting.
-Thu Aug 1 01:45:18 2013 Tanaka Akira <akr@fsij.org>
+Thu Dec 30 00:41:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (big2str_karatsuba): Fix a condition of power_level.
+ * eval.c (svalue_to_avalue): [ruby-dev:25366]
-Thu Aug 1 01:09:02 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (rb_str_justify): [ruby-dev:25367]
- * bignum.c (LOG2_KARATSUBA_BIG2STR_DIGITS): Removed.
- (KARATSUBA_BIG2STR_DIGITS): Removed.
- (big2str_numdigits_cache): New variable.
- (power_cache_get_power): Merged with power_cache_get_power0.
- This function returns maxpow_in_bdigit_dbl(base)**(2**power_level).
- (rb_big2str1): use power_cache_get_power.
+Wed Dec 29 11:07:07 2004 Dave Thomas <dave@pragprog.com>
-Wed Jul 31 23:59:28 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/generators/template/html/kilmer.rb: Update to use new
+ sections.
- * bignum.c (big2str_find_n1): Change the return type to size_t.
- (big2str_orig): Ditto.
- (big2str_karatsuba): Ditto.
- (rb_big2str1): Follow the above changes.
+Tue Dec 28 22:31:46 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 31 23:19:06 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (rb_str_justify): create buffer string after argument type
+ conversion. fixed: [ruby-dev:25341]
- * bignum.c (power_cache_get_power): Change numdigits_ret to size_t *.
- (big2str_orig): Change len argument to size_t.
- (big2str_karatsuba): Ditto.
- (rb_big2str1): Follow the above changes.
+Tue Dec 28 15:41:48 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 31 22:59:47 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/nkf/nkf-utf8/nkf.c (reinit): should initialize all static
+ variables. fixed: [ruby-list:40445]
- * test/rexml/parse/test_notation_declaration.rb: Change class
- name to follow file name change.
+Tue Dec 28 15:25:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 31 22:57:50 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): second byte is up to
+ 0xfe.
- * test/rexml/test_notationdecl_parsetest.rb: Rename to ...
- * test/rexml/parse/test_notation_declaration.rb: ... this.
+ * ext/nkf/lib/kconv.rb (Kconv#kconv): should handle UTF8 and UTF16
+ properly.
-Wed Jul 31 22:54:39 2013 Kouhei Sutou <kou@cozmixng.org>
+Tue Dec 28 13:35:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rexml/test_notationdecl_mixin.rb: Remove duplicated tests.
+ * ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate): ensure
+ freeing internal zstreams. fixed: [ruby-dev:25309]
-Wed Jul 31 22:52:55 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/zlib/zlib.c (rb_deflate_init_copy): replace rb_deflate_clone.
- * test/rexml/test_notationdecl_parsetest.rb: Fix typos in expected
- value.
- pubilc ->
- public
- ^^
+Tue Dec 28 12:26:45 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Jul 31 22:50:51 2013 Kouhei Sutou <kou@cozmixng.org>
+ * win32/Makefile.sub, win32/setup.mak (RDOCTARGET, install,
+ install-nodoc, install-doc): rdoc support for mswin32.
- * test/rexml/test_notationdecl_parsetest.rb: Add tests that focus
- system literal in external ID system notation declaration.
+ * win32/configure.bat (--enable-install-doc, --disable-install-doc):
+ ditto.
-Wed Jul 31 22:36:21 2013 Tanaka Akira <akr@fsij.org>
+Mon Dec 27 20:02:14 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (bary_cmp): Extracted from rb_big_cmp.
- (power_cache_get_power): Change n1 argument (number of digits) to
- power_level which is just passed to power_cache_get_power0.
- (big2str_karatsuba): Ditto.
- (rb_big2str1): Calculate the initial power_level.
+ * ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp
-Wed Jul 31 22:04:36 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tk/lib/multi-tk.rb: ditto
- * test/rexml/test_notationdecl_parsetest.rb: Fix a typo.
- Extern ID ->
- ExternalID
- ^^
+Mon Dec 27 16:55:17 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Jul 31 22:01:36 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/openssl/ossl_x509name.c (Init_ossl_x509name): should use
+ rb_hash_new to get exactly a Hash. fix [ruby-dev:25325].
- * test/rexml/test_notationdecl_parsetest.rb: Add tests that focus
- public ID in external ID notation declaration.
+Mon Dec 27 16:29:56 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 31 22:01:24 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * string.c (rb_str_justify): [ruby-dev:25341]
- * parse.y: fix build error with bison-3.0.
+Mon Dec 27 15:47:48 2004 Minero Aoki <aamine@loveruby.net>
-Wed Jul 31 21:58:53 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/fileutils/fileasserts.rb: sync with HEAD.
- * test/rexml/test_notationdecl_parsetest.rb: Split test patterns.
+ * test/fileutils/test_fileutils.rb: ditto.
-Wed Jul 31 21:42:33 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/fileutils/test_nowrite.rb: ditto.
- * test/rexml/test_notationdecl_parsetest.rb: Group tests.
+Mon Dec 27 15:21:07 2004 Minero Aoki <aamine@loveruby.net>
-Wed Jul 31 21:37:51 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/fileutils.rb (mv): should raise error when moving a
+ directory to the (empty) directory. [ruby-talk:124368]
+ (backport from HEAD 1.48)
- * test/rexml/test_notationdecl_mixin.rb (TestNotationDecl#test_name):
- Move to ...
- * test/rexml/test_notationdecl_parsetest.rb
- (TestNotationDecl#test_name): ... here.
+ * lib/fileutils.rb (mv): wrongly did not overwrite file on Win32
+ platforms. (backport from HEAD 1.48)
-Wed Jul 31 21:37:47 2013 Kouhei Sutou <kou@cozmixng.org>
+Sat Dec 25 11:11:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 31 21:31:49 2013 Kouhei Sutou <kou@cozmixng.org>
+ * stable version 1.8.2 released.
- * test/rexml/test_notationdecl_parsetest.rb: Remove setup because it
- doesn't share anything with other tests.
+Sat Dec 25 04:23:49 2004 Minero Aoki <aamine@loveruby.net>
-Wed Jul 31 21:24:55 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/fileutils.rb (mkdir, mkdir_p): should ensure directory
+ permission. (backportted from HEAD, 1.47)
- * test/rexml/test_attributes_mixin.rb: Remove a needless shebang.
- * test/rexml/test_notationdecl_mixin.rb: ditto.
- * test/rexml/test_doctype.rb: ditto.
- * test/rexml/test_xml_declaration.rb: ditto.
- * test/rexml/test_changing_encoding.rb: ditto.
+ * lib/fileutils.rb (traverse, remove_dir): untaint trasted
+ objects. (backportted from HEAD, 1.46)
-Wed Jul 31 21:20:08 2013 Kouhei Sutou <kou@cozmixng.org>
+Sat Dec 25 01:28:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rexml/test_notationdecl_parsetest.rb: remove a needless shebang.
+ * io.c: cancel io_reopen() change on Dec. 24th.
-Wed Jul 31 20:11:01 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * dln.c: use <dlfcn.h> for NetBSD. [ruby-dev:25313]
- * string.c (rb_str_rindex): fix bug introduced in r42269.
- "".rindex("") should return 0.
- (str_rindex): ditto.
+ * io.c (rb_f_select): IO list could be altered. [ruby-dev:25312]
-Wed Jul 31 19:55:33 2013 Tanaka Akira <akr@fsij.org>
+Fri Dec 24 23:51:48 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * bignum.c (MAX_BIG2STR_TABLE_ENTRIES): Use SIZEOF_SIZE_T.
- (power_cache_get_power0): Add rb_bug call for too bit i argument.
- (power_cache_get_power): Simplified.
+ * bcc32/Makefile.sub: bcc32 should use RTL dll (backport from HEAD)
+ [ruby-dev:25306]
-Wed Jul 31 18:32:25 2013 Akinori MUSHA <knu@iDaemons.org>
+ * win32/win32.[ch]: ditto.
- * lib/uri/common.rb (URI.decode_www_form_component): Use String#b.
+Fri Dec 24 23:27:18 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Jul 31 18:24:02 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/tk/lib/tk/image.rb: TkPhotoImage#cget bug fix
- * eval.c (rb_mod_refine, mod_using, top_using): don't show
- warnings because Refinements are no longer experimental.
- [ruby-core:55993] [Feature #8632]
+Fri Dec 24 18:39:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/ruby/test_refinement.rb: related test.
+ * win32/win32.[ch]: failed to compile on bcc32 (and probably wince)
+ [ruby-dev:25306]
- * NEWS: fixes for the above change.
+Fri Dec 24 02:52:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 31 17:55:55 2013 Shota Fukumori <her@sorah.jp>
+ * io.c (io_reopen, rb_io_reopen): prohibit to change access mode for
+ special IO ports. [ruby-dev:25225]
- * lib/uri/common.rb (URI.decode_www_form_component):
- Don't raise error when str includes multibyte characters.
+Fri Dec 24 02:22:53 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 31 17:45:39 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973]
- * string.c (rb_str_rindex): performance improvement by using
- memrchr(3).
+ * ext/syck/rubyext.c (syck_loader_transfer): check type conversion.
-Wed Jul 31 16:43:30 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/syck/rubyext.c (syck_parser_assign_io, rb_new_syck_node): duck
+ typing.
- * string.c (rb_str_rindex): refactoring and avoid to call str_nth() if
- pos == 0.
+ * ext/syck/rubyext.c (syck_parser_s_alloc, syck_parser_initialize):
+ allocation framework.
-Wed Jul 31 14:41:36 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/syck/rubyext.c (syck_emitter_s_alloc, syck_emitter_initialize):
+ ditto.
- * lib/set.rb: [DOC] Add a couple of notes on Hash as storage.
- ref. [Feature #6589]
+Fri Dec 24 01:21:00 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Jul 31 14:38:52 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/tkextlib/blt.rb: add BLT extension support
- * lib/set.rb: [DOC] Fix example result. Hash is now ordered.
+ * ext/tk/lib/tkextlib/blt/*.rb: ditto
-Wed Jul 31 14:38:10 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/tkextlib/blt/tile/*.rb: ditto
- * lib/set.rb: [DOC] Use the term "sorted" instead of "ordered"
- when mentioning SortSet.
+Thu Dec 23 23:36:28 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 31 12:18:47 2013 Tanaka Akira <akr@fsij.org>
+ * process.c (proc_setgroups): check if the argument lenght is
+ modified. fixed: [ruby-dev:25285]
- * bignum.c (big2str_struct): New structure.
- (big2str_orig): Use big2str_struct.
- (big2str_karatsuba): Ditto.
- (rb_big2str1): Ditto.
+Thu Dec 23 13:13:33 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Jul 31 12:02:16 2013 Zachary Scott <e@zzak.io>
+ * ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and
+ RELEASE_DATE
- * lib/rubygems.rb: [DOC] typo in url patch by @Red54 [Fixes #369]
- https://github.com/ruby/ruby/pull/369
+ * ext/tcltklib/extconf.rb: ditto
-Wed Jul 31 07:09:07 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/tkutil.c: define TkUtil::RELEASE_DATE
- * lib/rubygems: Import RubyGems from master as of commit 523551c
- * test/rubygems: ditto.
+ * ext/tk/lib/tk.rb: define Tk::RELEASE_DATE
-Tue Jul 30 22:21:54 2013 Masaki Matsushita <glass.saga@gmail.com>
+Thu Dec 23 09:38:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_hash.rb: add a test for enumeration order of Hash.
+ * io.c (io_reopen): restore exact mode. fixed: [ruby-core:04003]
-Tue Jul 30 18:52:27 2013 Akinori MUSHA <knu@iDaemons.org>
+Thu Dec 23 00:16:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/set.rb (Set#intersect?, Set#disjoint?): Add new methods for
- testing if two sets have any element in common.
- [ruby-core:45641] [Feature #6588] Based on the code by marcandre.
+ * configure.in (bsdi): use $(CC) for LDSHARED. fixed [ruby-dev:25270]
-Tue Jul 30 17:16:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 22 11:14:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * sprintf.c (ruby__sfvextra): add QUOTE flag to escape unprintable
- characters.
+ * io.c (rb_io_mode_modenum): replace O_ACCMODE with O_RDWR.
+ fixed: [ruby-dev:25273]
-Tue Jul 30 11:00:52 2013 Zachary Scott <e@zzak.io>
+Wed Dec 22 08:34:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/curses/extconf.rb: [DOC] nodoc to reduce Object pollution
+ * ext/dl/sym.c (rb_dlsym_initialize): extract internal pointers after
+ all argument conversion. fixed: [ruby-dev:25271]
-Tue Jul 30 08:19:42 2013 Tanaka Akira <akr@fsij.org>
+Wed Dec 22 00:08:01 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * sizes.c (Init_sizes): Define sizes only if the type actually exists.
+ * lib/soap/*, test/soap/*, sample/soap/authheader/*: eval cleanup.
-Mon Jul 29 22:55:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Dec 21 22:07:33 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * sizes.c (Init_sizes): define RbConfig::SIZEOF. [Feature #8568]
+ * ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
+ ossl_asn1_decode_all): temporary value should be marked volatile.
-Mon Jul 29 22:25:20 2013 Zachary Scott <e@zzak.io>
+Tue Dec 21 14:40:02 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/curses/curses.c: [DOC] Update location of samples
- * samples/curses/*: Move Curses samples and refactor from mixin
- The samples are included in rdoc for module and use of mixin is
- confusing
+ * ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
+ ossl_asn1_decode_all): use rb_str_new4 to avoid SEGV.
+ fix [ruby-dev:25261]
-Mon Jul 29 22:16:11 2013 Tanaka Akira <akr@fsij.org>
+ * test/openssl/test_asn1.rb: add tests for OpenSSL::ASN1.
- * bignum.c (LOG2_KARATSUBA_BIG2STR_DIGITS): Renamed from
- LOG2_KARATSUBA_DIGITS.
- (KARATSUBA_BIG2STR_DIGITS): Renamed from KARATSUBA_DIGITS.
+Tue Dec 21 12:22:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Jul 29 22:04:45 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * io.c (io_reopen): keep duplex pipe in correct mode for exception
+ safeness. fixed: [ruby-dev:25152]
- * hash.c (rb_hash_compare_by_id): add function prototype.
+Tue Dec 21 12:10:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jul 29 21:53:41 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/grid.rb: rescue bug of 'grid configure' on Tcl/Tk8.3-
- * hash.c (rb_hash_compare_by_id): don't call rb_hash_rehash()
- if self.compare_by_identity? == true.
+Tue Dec 21 00:53:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jul 29 21:29:48 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/openssl/ossl_asn1.c (ossl_asn1_traverse): [ruby-dev:25261]
- * hash.c (rb_hash_assoc): performance improvement by replacing
- compare function in RHASH(hash)->ntbl->type temporarily like r42224.
- it falls back to rb_hash_foreach() if st_lookup() doesn't find the key.
+ * ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto.
- * test/ruby/test_hash.rb: add a test for above.
+ * ext/openssl/ossl_asn1.c (ossl_asn1_decode_all): ditto.
-Mon Jul 29 21:15:30 2013 Akinori MUSHA <knu@iDaemons.org>
+Mon Dec 20 23:22:26 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/ruby/test_lazy_enumerator.rb
- (TestLazyEnumerator#test_initialize): Make sure
- Enumerator::Lazy#initialize raises error if the object is
- frozen. The check was performed by rb_ivar_set() before
- rb_check_frozen() was added to enumerator_init().
+ * added files:
+ * lib/soap/mapping/wsdl*.rb
+ * lib/wsdl/soap/element.rb
+ * lib/wsdl/xmlSchema/simpleContent.rb
-Mon Jul 29 21:06:42 2013 Akinori MUSHA <knu@iDaemons.org>
+ * modified files:
+ * lib/soap/*
+ * lib/wsdl/*
+ * lib/xsd/*
+ * test/soap/*
+ * test/wsdl/*
+ * test/xsd/*
+ * sample/soap/*
+ * sample/sdl/*
- * enumerator.c (enumerator_init): Add a frozenness check to
- prevent a frozen Enumerator object from being reinitialized with
- a different enumerable object. This is the least we should do,
- and more fixes will follow. [Fixes GH-368] Patch by Kenichi
- Kamiya.
+ * summary
+ * imported from the soap4r repository. Version: 1.5.3-ruby1.8.2
- * enumerator.c (generator_init): Ditto.
+ * added several XSD basetype support: nonPositiveInteger,
+ negativeInteger, nonNegativeInteger, unsignedLong, unsignedInt,
+ unsignedShort, unsignedByte, positiveInteger
-Mon Jul 29 20:14:24 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * HTTP client connection/send/receive timeout support.
- * hash.c (rb_hash_assoc): revert r42224. table->type->compare is
- called only if hashes are matched.
+ * HTTP client/server gzipped content encoding support.
- * test/ruby/test_hash.rb: add a test to check using #== to compare.
+ * improved WSDL schema definition support; still is far from
+ complete, but is making step by step improovement.
-Mon Jul 29 17:00:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 20 22:56:39 2004 Tanaka Akira <akr@m17n.org>
- * parse.y (yycompile): store file name as String to keep the encoding.
+ * gc.c (stack_end_address): gcc noinline attribute is available since
+ gcc-3.1.
- * parse.y (rb_parser_compile_string_path, rb_parser_compile_file_path):
- new functions to pass file name as a String.
+Mon Dec 20 14:07:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * parse.y (gettable_gen): return a copy of the original file name, not
- a copy in filesystem encoding.
+ * ext/tk/lib/multi-tk.rb: supports new features of Tcl/Tk8.5a2
- * vm_eval.c (eval_string_with_cref): use Qundef instead of "(eval)".
+ * ext/tk/lib/tk/clock.rb: ditto
-Mon Jul 29 16:53:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: ditto
- * hash.c (rb_hash_initialize_copy): copy st_table type even if empty.
- [ruby-core:56256] [Bug #8703]
+ * ext/tk/lib/tk/panedwindow.rb: ditto
-Mon Jul 29 16:34:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 20 12:47:13 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * hash.c (rb_hash_initialize_copy): clear old table before copy new
- table.
+ * ext/openssl/lib/net/https.rb,protocols.rb,telnets.rb: delete
+ doc and code about SSLContext#{key_file,cert_file}.
+ fixed: [ruby-dev:25243]
-Mon Jul 29 16:34:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 20 12:42:17 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * hash.c (rb_hash_assoc): aggregate object can be initialized only
- with link time constants.
+ * io.c (io_fwrite): workaround for MSVCRT's bug.
+ fixed: [ruby-core:03982]
-Mon Jul 29 14:54:44 2013 Masaki Matsushita <glass.saga@gmail.com>
+Mon Dec 20 11:21:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (rb_hash_assoc): performance improvement by replacing
- compare function in RHASH(hash)->ntbl->type temporarily.
+ * io.c (rb_io_eof): check if closed before clearerr().
+ fixed: [ruby-dev:25251]
-Mon Jul 29 14:52:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 20 03:30:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb (xsystem): expand environment variable in all macros not
- expanded with RbConfig. [Bug #8702]
+ * lib/cgi/session.rb (CGI::Session#initialize): empty session id was
+ used if request had no session key. fixed: [ruby-core:03981]
- * test/mkmf/test_framework.rb (create_framework): replace all $@ not
- only once.
+Mon Dec 20 01:51:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jul 29 06:54:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * struct.c (make_struct): [ruby-dev:25249]
- * win32/win32.c (rb_w32_pipe): use enum for compile time constants,
- instead of const int for debugging.
+Mon Dec 20 00:28:20 2004 Kouhei Sutou <kou@cozmixng.org>
-Mon Jul 29 00:11:49 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rexml/encodings/SHIFT-JIS.rb: backported from CVS HEAD.
- * bignum.c (bigdivrem): Specialized implementation added for
- nx == 2 && ny == 2
+ * lib/rexml/encodings/SHIFT_JIS.rb: ditto.
-Sun Jul 28 20:28:41 2013 Masaki Matsushita <glass.saga@gmail.com>
+Sun Dec 19 17:19:48 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * io.c (io_getpartial): use rb_str_locktmp_ensure().
- [ruby-core:56121] [Bug #8669]
+ * ext/openssl/ossl_x509store.c
+ (ossl_x509store_set_time): add OpenSSL::X509::Store#time=.
+ (ossl_x509stctx_set_time): add OpenSSL::X509::StoreContext#time=.
- * io.c (rb_io_sysread): ditto.
+ * test/openssl/ossl_x509store.rb: test certificate validity times.
- * test/ruby/test_io.rb: add tests for above.
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_s): add optional
+ second argument to specify the output format (see also
+ X509_NAME_print_ex).
-Sun Jul 28 20:10:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509name.c (ossl_x509name_init): new constants:
+ OpenSSL::X509::Name::COMPAT, OpenSSL::X509::Name::RFC2253,
+ OpenSSL::X509::ONELINE, OpenSSL::X509::MULTILINE.
- * ext/extmk.rb (extmake): should make static libraries for extensions
- to be statically linked. [Bug #7948]
+ * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name::RFC2253DN):
+ new module to provide the parse for RFC2253 DN format.
-Sun Jul 28 17:38:32 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name.parse_rfc2253):
+ new method to parse RFC2253 DN format.
- * string.c: add internal API rb_str_locktmp_ensure().
+ * test/openssl/ossl_x509name.rb: add tests about RFC2253 DN.
- * io.c (io_fread): use rb_str_locktmp_ensure().
- [ruby-core:56121] [Bug #8669]
+ * text/openssl/ssl_server.rb: try to listen ports from 20443 to 20542
+ while EADDRINUSE is raised.
- * test/ruby/test_io.rb: add a test for above.
+ * all changes in this entry are backport from 1.9.
-Sun Jul 28 13:04:39 2013 Masaki Matsushita <glass.saga@gmail.com>
+Sun Dec 19 17:24:59 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (interpret_seek_whence): support SEEK_DATA and SEEK_HOLE.
- These are whences for lseek(2) supported by Linux since version 3.1.
- [ruby-core:56123] [Feature #8671]
+ * configure.in (enable_rpath): use rpath flag to embed the library
+ path into extensions on ELF environment. [ruby-dev:25035]
- * test/ruby/test_io.rb: Add tests for above.
+Sun Dec 19 11:01:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 28 12:41:39 2013 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit.rb: use standalone runner for -e.
- * bignum.c (absint_numwords_generic): The char_bit variable changed
- to static constant.
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): accept
+ multiple -p and -x options.
-Sun Jul 28 12:03:23 2013 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#recursive_collect):
+ ditto.
- * bignum.c: Constify bary_* functions.
+Sat Dec 18 16:36:23 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 28 11:12:07 2013 Tanaka Akira <akr@fsij.org>
+ * ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate):
+ disallow interrupt by type conversion. fixed: [ruby-dev:25226]
- * include/ruby/intern.h (rb_absint_size): Declaration moved from
- internal.h to calculate required buffer size to pack integers.
- (rb_absint_numwords): Ditto.
- (rb_absint_singlebit_p): Ditto.
- [ruby-core:42813] [Feature #6065]
+Sat Dec 18 15:16:41 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun Jul 28 10:54:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httpauth.rb,
+ lib/webrick/httpauth/{basicauth.rb,digestauth.rb}: use
+ pack/unpack-template char "m" instead of lib/base64.rb to do base64
+ encoding/decoding.
- * win32/win32.c (rb_w32_pipe): fix pipe name formatting. as "%x" may
- not contain '0' at all, fill at fixed position instead.
+Sat Dec 18 10:51:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 28 00:35:14 2013 Tanaka Akira <akr@fsij.org>
+ * dir.c (dir_open_dir): new function. [ruby-dev:25242]
- * bignum.c (rb_big_size): Return the bignum "bytewise" size.
- [ruby-core:55578] [Feature #8553]
- This is accepted by matz on DevelopersMeeting20130727Japan.
+Fri Dec 17 18:07:01 2004 Shugo Maeda <shugo@ruby-lang.org>
-Sun Jul 28 00:07:48 2013 Tanaka Akira <akr@fsij.org>
+ * test/readline/test_readline.rb: fix for BSD. Thanks, GOTOU Yuuzou.
+ fixed: [ruby-dev:25218]
- * include/ruby/intern.h (rb_integer_pack): Declaration moved from
- internal.h.
- (rb_integer_unpack): Ditto.
- [ruby-core:42813] [Feature #6065]
+Fri Dec 17 16:28:12 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jul 26 23:18:13 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tk/lib/tk.rb: fix bug on setting up system encoding
- * NEWS: Add a new feature that REXML::Parsers::StreamParser
- supports "entity" event.
+ * ext/tk/lib/tk/event.rb: fix error on require process
-Fri Jul 26 23:14:31 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tk/lib/tk/font.rb: fix abnormal termination error on Windows
- * lib/rexml/parsers/streamparser.rb
- (REXML::Parsers::StreamParser#parse): Add "entity" event support to
- listener. [Bug #8689] [ruby-dev:47542]
- Reported by Ippei Obayashi.
- * test/rexml/test_stream.rb (StreamTester#entity): Add a test for
- the above case.
+ * ext/tk/lib/tk/virtevent.rb: TkVirtualEvent::PreDefVirtEvent.new()
+ accepts event-sequence arguments
-Fri Jul 26 23:05:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: fail to dump embedded images
- * parse.y (parser_yylex): separate numeric literal from succeeding
- token, and treat 'e' as floating point number only if followed by
- exponent part.
+ * ext/tk/lib/tk/text.rb: tag_nextrange and tag_prevrange returns wrong
+ types of values
-Fri Jul 26 22:14:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/texttag.rb: nextrange and prevrange returns wrong
+ types of values
- * vm_exec.h (CHECK_VM_STACK_OVERFLOW_FOR_INSN): surround with
- do/while (0), and remove unnecessary casts.
+ * ext/tk/lib/tk/text.rb: add TkText::IndexModMethods module and
+ TkText::IndexString class to treat text index modifiers
-Fri Jul 26 20:12:07 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/tk/texttag.rb: use TkText::IndexModMethods module
- * ext/syslog/lib/syslog/logger.rb (Syslog::Logger): Add facility
- to Syslog::Logger. [Fixes GH-305] patch by Max Shytikov
- https://github.com/ruby/ruby/pull/305
+ * ext/tk/lib/tk/textmark.rb: ditto
-Fri Jul 26 19:25:17 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/textimage.rb: ditto
- * vm_exec.h, tool/instruction.rb: not an error, but a BUG if stack
- overflow checking failed just before/after the beginning of an
- instruction. It should be treated as a BUG.
- Please tell us if your code cause BUG with this problem.
- This check will removed soon (for performance).
+ * ext/tk/lib/tk/textwindow.rb: ditto
-Fri Jul 26 18:30:14 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/textimage.rb: wrong gravity of text mark for embedded
+ image
- * array.c (ary_memcpy): cast to int to suppress a warning.
+ * ext/tk/lib/tk/textwindow.rb: wrong gravity of text mark for
+ embedded window
-Fri Jul 26 18:21:58 2013 Koichi Sasada <ko1@atdot.net>
+Fri Dec 17 13:50:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
- * array.c (ary_memcpy): try to enable optimization.
- At least on my environments, I don't see any errors
- with many trials. Please tell us if you find any GC bugs.
+ * vms/vmsruby_private.c, vms/vmsruby_private.h: private routines
+ for VMS port are added.
-Fri Jul 26 17:49:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (ruby_init): change to call VMS private intialization routine.
- * win32/file.c (fix_string_encoding): fix target encoding. the
- parameter `encoding' is not the target encoding but the original
- encoding.
+Fri Dec 17 13:33:58 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jul 26 14:05:19 2013 Zachary Scott <e@zzak.io>
+ * lib/cgi/session.rb (CGI::Session#initialize): control adding
+ session_id hidden fields. fixed: [ruby-talk:123850]
- * ext/fiddle/*: [DOC] More doc on dlopen and RTLD_DEFAULT from r42184
+Thu Dec 16 23:25:25 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Jul 26 13:08:53 2013 Zachary Scott <e@zzak.io>
+ * lib/drb/drb.rb, lib/drb/ssl.rb: backported from CVS HEAD.
+ [druby-ja:101]
- * ext/fiddle/lib/fiddle.rb: [DOC] Document Fiddle.dlopen(nil)
- * ext/fiddle/handle.c: [DOC] Document Fiddle::Handle.new(nil)
+ * test/drb/test_drb.rb: adjust and reduce sleep (backported from
+ CVS HEAD.)
-Fri Jul 26 13:04:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 16 18:44:58 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * load.c (rb_load_internal): use rb_load_file_str() to keep path
- encoding.
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should wait
+ for reading request till data arrive. [ruby-talk:121068]
- * load.c (rb_require_safe): search in OS path encoding for Windows.
+ * lib/webrick/server.rb (WEBrick::GenericServer#start_thread):
+ should log about all accepted socket. [ruby-core:03962]
- * ruby.c (rb_load_file_str): load file with keeping path encoding.
+ * lib/webrick/accesslog.rb (WEBrick::AccessLog#setup_params):
+ "%%" and "%u" are supported. [webricken:135]
- * win32/file.c (rb_file_load_ok): use WCHAR type API assuming incoming
- path is encoded in UTF-8. [ruby-core:56136] [Bug #8676]
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::FileHandler#check_filename):
+ :NondisclosureName is acceptable if it is Enumerable.
- * file.c (rb_str_encode_ospath): simplify using rb_str_conv_enc().
+ * lib/webrick/config.rb (WEBrick::Config::FileHandler):
+ default value of :NondisclosureName is [".ht*", "*~"].
- * win32/file.c (fix_string_encoding): simplify with rb_str_conv_enc().
+Thu Dec 16 18:36:52 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * win32/file.c (convert_mb_to_wchar): use bare pointer instead of
- VALUE, and remove useless argument.
+ * ext/openssl/ossl.c (ossl_raise): refine message format.
-Fri Jul 26 11:42:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 16 16:29:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * rational.c (f_round_common): Rational is expected to be returned by
- Rational#*, but mathn.rb breaks that assumption. [ruby-core:56177]
- [Bug #8687]
+ * ext/tk/sample/demos-en/widget: modify version check for
+ supporting features
-Fri Jul 26 01:37:45 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Dec 16 16:03:50 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * include/ruby/ruby.h: check defined(USE_RGENGC_LOGGING_WB_UNPROTECT)
+ * ext/tk/lib/tk/bindtag.rb: bug fix [ruby-talk: 123667]
-Fri Jul 26 01:21:41 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/lib/tk/timer.rb: accept :idle for the interval argument
- * file.c (rb_file_expand_path_internal): fix r42160; skip '~'.
+ * ext/tk/lib/tk.rb: add TkComm._callback_entry?()
-Thu Jul 25 17:53:18 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp.cb_entry_class
- * lib/net/http.rb (Net::HTTP#connect): disable Nagle's algorithm on
- HTTP connection. [ruby-core:56158] [Feature #8681]
+ * ext/tk/lib/tk/canvas.rb: use TkComm._callback_entry?()
-Thu Jul 25 17:49:42 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/lib/tk/canvastag.rb: ditto
- * re.c (rb_reg_to_s): convert closing parenthesis to the target encoding
- if it is ASCII incompatible encoding. [ruby-core:56063] [Bug #8650]
+ * ext/tk/lib/tk/dialog.rb: ditto
-Thu Jul 25 17:21:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/optiondb.rb: ditto
- * encoding.c (is_obj_encoding): new macro to check if obj is an
- Encoding. obj can be any type while is_data_encoding expects T_DATA
- only.
+ * ext/tk/lib/tk/text.rb: ditto
-Thu Jul 25 17:17:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/texttag.rb: ditto
- * file.c (rb_file_expand_path_internal): should clear coderange after
- copying user name as binary data.
+ * ext/tk/lib/tk/textwindow.rb: ditto
-Thu Jul 25 16:17:55 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/timer.rb: ditto
- * encoding.c (check_encoding): Check T_DATA or not.
- is_data_encoding(obj) assumes that `obj' is T_DATA.
+ * ext/tk/lib/tk/validation.rb: ditto
-Thu Jul 25 13:06:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tkextlib/*: ditto
- * dir.c (dir_s_home): use rb_home_dir_of and rb_default_home_dir.
+Thu Dec 16 03:14:28 2004 Minero Aoki <aamine@loveruby.net>
- * file.c (rb_home_dir_of): split from rb_home_dir() for the home
- directry of the given user, and the user name is a VALUE, not a bare
- pointer. should raise if the user does not exist.
+ * lib/net/http.rb (basic_encode): return value of pack('m') may
+ include multiple CR/LFs. Backported from main trunk (rev 1.112).
+ [ruby-dev:25212]
- * file.c (rb_default_home_dir): split from rb_home_dir() for the home
- directry of the current user.
+Thu Dec 16 00:33:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 25 12:32:11 2013 Koichi Sasada <ko1@atdot.net>
+ * hash.c (Init_Hash): remove custom "hash" and "eql?".
- * ext/openssl/ossl.c: support additional three thread synchronization
- functions. [ruby-trunk - Bug #8386]
+Wed Dec 15 18:57:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 25 07:15:58 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/set.rb (Set::eql): wrong definition. [ruby-dev:25207]
- * lib/rubygems: Import RubyGems from master as of commit 4ff70cc
- * test/rubygems: ditto.
+Wed Dec 15 18:48:42 2004 Shugo Maeda <shugo@ruby-lang.org>
-Wed Jul 24 20:57:44 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/curses/curses.c (window_subwin): call NUM2INT() before
+ GetWINDOW(). (backported from CVS HEAD)
- * compile.c (iseq_set_arguments): use RARRAY_RAWPTR() instead of
- RARRAY_PTR() because there is no new reference.
+Wed Dec 15 17:03:50 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * compile.c (iseq_set_exception_table): ditto.
+ * win32/win32.[ch] (rb_w32_isatty): new function to replace MSVCRT's
+ isatty because it never sets errno. (backported from CVS HEAD)
-Wed Jul 24 19:49:54 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Dec 15 15:39:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/uri/generic.rb (find_proxy): raise BadURIError if the URI is
- a relative URI. [Bug #8645]
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_a): avoid SEGV
+ (rollback the previous commit).
-Wed Jul 24 18:56:06 2013 Koichi Sasada <ko1@atdot.net>
+Wed Dec 15 16:10:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_insnhelper.c (vm_expandarray): use RARRAY_RAWPTR() instead of
- RARRAY_PTR() because there is no new reference.
+ * object.c (rb_obj_id_obsolete): warn always.
- * vm_insnhelper.c (vm_caller_setup_args): ditto.
+ * eval.c (rb_enable_super): ditto.
- * vm_insnhelper.c (vm_yield_setup_block_args): ditto.
+Wed Dec 15 15:31:02 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 24 18:40:11 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/set.rb (Set#==): [ruby-dev:25206]
- * array.c, gc.c: move ary_unprotect_logging() into
- rb_gc_unprotect_logging() which is general version
+Wed Dec 15 14:22:10 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * include/ruby/ruby.h: add USE_RGENGC_LOGGING_WB_UNPROTECT
- to enable.
+ * win32/win32.c (rb_w32_fdisset): check whether the handle is valid.
+ fixed: [ruby-core:03959]
-Wed Jul 24 17:37:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 15 10:30:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * file.c (rb_file_expand_path_internal): preserve the file name
- encoding in an exception message.
+ * ext/openssl/ossl_digest.c (ossl_digest_initialize): [ruby-dev:25198]
-Wed Jul 24 08:04:49 2013 Koichi Sasada <ko1@atdot.net>
+Tue Dec 14 17:10:09 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/-ext-/tracepoint/test_tracepoint.rb: add GC on/off to count
- GC events strictly.
+ * win32/win32.c (rb_w32_close): need to reset osfhnd().
-Tue Jul 23 23:19:24 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Dec 14 14:03:57 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/openssl/extconf.rb (CRYPTO_THREADID): check exist or not.
+ * ext/openssl/ossl.c (ossl_raise): avoid buffer overrun.
+ [ruby-dev:25187]
- * ext/openssl/ossl.c (ossl_thread_id): use rb_nativethread_self()
- implemented at r42137 to allow threads which doesn't associated with
- Ruby thread to use openssl functions.
+Tue Dec 14 12:36:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/openssl/ossl.c (Init_ossl_locks): If CRYPTO_THREADID is defined
- (OpenSSL 1.0.0 or later has it) use CRYPTO_THREADID_set_callback()
- instead of CRYPTO_set_id_callback() because its argument is
- unsigned long; it may cause id collision on mswin64
- whose sizeof(unsigned long) < sizeof(void*).
- http://www.openssl.org/docs/crypto/threads.html
+ * lib/cgi/session.rb (CGI::Session::initialize): generate new
+ session if given session_id does not exist. [ruby-list:40368]
- * ext/openssl/ossl.c (ossl_threadid_func): defined for above.
+Mon Dec 13 18:13:52 2004 Tanaka Akira <akr@m17n.org>
-Tue Jul 23 20:47:36 2013 Tanaka Akira <akr@fsij.org>
+ * gc.c (stack_end_address): new function to obtain stack end address.
+ stack_end_address calls __builtin_frame_address(0) to obtain the
+ frame pointer of a stack frame of stack_end_address. The address
+ is the stack pointer of the caller's stack frame.
+ (SET_STACK_END): use stack_end_address.
+ This makes the conservative garbage collector to scan a stack frame
+ of the garbage_collect function itself. This is required because
+ callee-save registers may be stored in the frame.
+ [ruby-dev:25158]
- * bignum.c: Move functions.
+Mon Dec 13 00:58:02 2004 Tanaka Akira <akr@m17n.org>
-Tue Jul 23 20:14:55 2013 Tanaka Akira <akr@fsij.org>
+ * lib/pathname.rb (cleanpath_aggressive): make it private.
+ (cleanpath_conservative): ditto.
+ Suggested by Daniel Berger. [ruby-core:3914]
- * bignum.c (bary_divmod): Add special cases for x < y easily detected
- and nx == 2 && ny == 2.
+Sun Dec 12 20:06:38 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Tue Jul 23 19:48:38 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/drb/drb.rb: backported from CVS HEAD.
- * thread_(pthread|win32).h: rename rb_thread_cond_t to
- rb_nativethread_cond_t.
+Sun Dec 12 10:35:10 2004 Dave Thomas <dave@pragprog.com>
- * thread.c, thread_pthread.c, thread_win32.c, vm_core.h: catch up
- renaming.
+ * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Don't
+ show an accessor's r/w flag if none was specified
-Tue Jul 23 19:44:32 2013 Koichi Sasada <ko1@atdot.net>
+Sun Dec 12 10:14:03 2004 Dave Thomas <dave@pragprog.com>
- * thread_native.h: add rb_nativethread_self() which returns
- current running native thread identifier.
+ * lib/rdoc/rdoc.rb (RDoc::RDoc::parse_files): Never exclude files
+ explicitly given on the command line.
- * thread_[pthread|win32].c: implement rb_nativethread_self().
+Sun Dec 11 23:54:07 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Jul 23 19:34:11 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/*: update to support libraries in ActiveTcl8.4.12.0
+ (see ext/tk/ChangeLog.tkextlib).
- * thread_pthread.h, thread_win32.h: rename rb_thread_id_t to
- rb_nativethread_id_t.
+ * ext/tk/sample/scrollframe.rb: add a new sample.
- * thread_pthread.c, vm_core.h: use rb_nativethread_id_t.
+Sat Dec 11 20:12:21 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Tue Jul 23 18:56:11 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/drb/drb.rb: add DRbRemoteError. [ruby-list:40348],
+ [ruby-list:40390]
- * ext/openssl/ossl.c: use system native (system provided)
- thread locking APIs added by last commit.
- This patch fixes [Bug #8386].
- "rb_mutex_*" APIs control only "Ruby" threads.
- Not for native threads.
+ * test/drb/drbtest.rb: ditto.
-Tue Jul 23 18:44:15 2013 Koichi Sasada <ko1@atdot.net>
+ * test/drb/ut_drb.rb: ditto.
- * thread_native.h: added.
- Move native thread related lines from vm_core.h.
- And declare several functions "rb_nativethread_lock_*",
- manipulate locking.
+Sat Dec 11 15:38:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * common.mk: add thread_native.h.
+ * lib/jcode.rb (String::succ): [ruby-dev:25156]
- * thread.c: add functions "rb_nativethread_lock_*".
+Sat Dec 11 12:41:55 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * thread.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t
- to rb_nativethread_lock_t to make it clear that this lock is for
- native threads, not for ruby threads.
+ * eval.c (run_trap_eval): prototype; avoid VC++ warnings.
-Tue Jul 23 16:14:57 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/getaddrinfo.c: fix typo. fixed: [ruby-core:03947]
- * gc.c (gc_before_sweep): fix spacing.
+ * win32/win32.c: need to include dln.h.
-Tue Jul 23 15:57:11 2013 Koichi Sasada <ko1@atdot.net>
+Sat Dec 11 00:10:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (heap_get_freeobj): clear slot->freelist here.
- This means that this slot doesn't have any free objects.
- And store this slot with objspace->heap.using_slot.
+ * io.c (io_reopen): [ruby-dev:25150]
- * gc.c (gc_before_sweep): restore objspace->freelist
- into objspace->heap.using_slot->freelist.
- This means that using_slot has free objects which are
- pointed from objspace->freelist.
+Fri Dec 10 08:39:27 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_slot_sweep): do not need to clear slot->freelist.
+ * ext/socket/socket.c (sock_listen): get OpenFile just before calling
+ listen(2). fixed: [ruby-dev:25149]
-Tue Jul 23 09:34:49 2013 Zachary Scott <e@zzak.io>
+Thu Dec 9 17:00:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
- * sample/drb/README*.rdoc: [DOC] migrate DRb sample READMEs to rdoc
+ * ext/socket/socket.c, ext/socket/getaddrinfo.c: port to VMS
-Tue Jul 23 09:28:05 2013 Zachary Scott <e@zzak.io>
+Thu Dec 9 16:31:02 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/drb/invokemethod.rb: [DOC] nodoc InvokeMethod18Mixin
+ * ext/sdbm/init.c (GetDBM): typo.
-Tue Jul 23 08:44:37 2013 Eric Hodel <drbrain@segment7.net>
+Thu Dec 9 16:05:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
- * 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.
+ * defines.h: change path of vms.h
+ * vms/vms.h: delete reference for snprintf()
+ * vms/config.h: new file
+ * vms/config.h_in: deleted
-Tue Jul 23 08:11:32 2013 Zachary Scott <e@zzak.io>
+Thu Dec 9 14:38:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rexml/streamlistener.rb: [DOC] Fix examples in
- REXML::StreamListener#entitydecl patch by Ippei Obayashi [Bug #8665]
+ * string.c (rb_str_inspect): escape # which starts an expression
+ substitution. fixed: [ruby-core:03922]
-Tue Jul 23 07:44:59 2013 Eric Hodel <drbrain@segment7.net>
+ * string.c (rb_str_dump): not escape # which isn't a substitution.
- * lib/rubygems: Import RubyGems from master as of commit b165260
- * test/rubygems: ditto.
+Thu Dec 9 10:54:36 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 23 07:14:31 2013 Tanaka Akira <akr@fsij.org>
+ * ext/dbm/dbm.c (fdbm_select): [ruby-dev:25132]
- * bignum.c (bary_mulsub_1xN): New function.
- (bary_mul_toom3): Use bary_mulsub_1xN.
+ * ext/sdbm/init.c: ditto.
-Tue Jul 23 03:32:23 2013 Tanaka Akira <akr@fsij.org>
+ * ext/gdbm/gdbm.c: ditto.
- * bignum.c (KARATSUBA_BALANCED): New macro.
- (TOOM3_BALANCED): Ditto.
- (bary_mul_balance_with_mulfunc): Use KARATSUBA_BALANCED and
- TOOM3_BALANCED.
- (rb_big_mul_balance): Relax a condition.
- (rb_big_mul_karatsuba): Use KARATSUBA_BALANCED.
- (rb_big_mul_toom3): Use TOOM3_BALANCED.
- (bary_mul_karatsuba_branch): Use KARATSUBA_BALANCED.
- (bary_mul_toom3_branch): Use TOOM3_BALANCED.
+Thu Dec 9 03:08:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Jul 23 01:34:45 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c (ip_init): set root-win title to "ruby" when
+ the running script is '-e one-liner' or '-' (stdin).
- * bignum.c (bigdivrem_mulsub): Extracted from bigdivrem1.
- (bigdivrem1): Use bary_add.
+ * ext/tcltklib/extconf.rb: add find_library("#{lib}#{ver}",..) for
+ stub libs
-Mon Jul 22 18:39:52 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/textmark.rb: TkTextMarkCurrent and TkTextMarkAnchor
+ have a wrong parent class.
- * string.c (rb_str_enumerate_chars): specify array capa
- with str_strlen().
+ * ext/tk/lib/tk/dialog.rb: rename TkDialog2 --> TkDialogObj and
+ TkWarning2 --> TkWarningObj (old names are changed to alias names)
- * string.c (rb_str_enumerate_codepoints): ditto.
+ * ext/tk/lib/tk/dialog.rb: bug fix of treatment of 'prev_command'
+ option and hashes for configuration
-Mon Jul 22 18:01:33 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/dialog.rb: add TkDialogObj#name to return the
+ button name
- * string.c (rb_str_enumerate_chars): specify array capa.
+ * ext/tk/lib/tk/radiobutton.rb: rename enbugged method value() ==>
+ get_value() and value=(val) ==> set_value(val).
-Mon Jul 22 17:24:14 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/menu.rb: add TkMenu.new_menuspec
- * string.c (rb_str_each_char_size): performance improvement by
- using rb_str_length().
+ * ext/tk/lib/tk/menu.rb: add alias (TkMenuButton = TkMenubutton,
+ TkOptionMenuButton = TkOptionMenubutton)
-Mon Jul 22 16:32:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/event.rb: new method aliases (same as option keys of
+ event_generate) for Event object
- * vm_eval.c (eval_string_with_cref): check by Check_TypedStruct
- instead of rb_obj_is_kind_of.
+ * ext/tk/lib/tk/font.rb: configinfo returns proper types of values
-Mon Jul 22 13:19:22 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: bind methods accept subst_args + block
- * array.c (ary_resize_capa): use RARRAY_RAWPTR() because
- this code creates no new references.
+ * ext/tk/lib/tk/canvas.rb: ditto
-Mon Jul 22 12:58:18 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/canvastag.rb: ditto
- * array.c (ary_memfill): added.
+ * ext/tk/lib/tk/frame.rb: ditto
- * array.c (rb_ary_initialize): use ary_memfill().
+ * ext/tk/lib/tk/text.rb: ditto
- * array.c (rb_ary_fill): ditto.
+ * ext/tk/lib/tk/texttag.rb: ditto
- * array.c (rb_ary_slice_bang): use RARRAY_RAWPTR() because
- this code creates no new references.
+ * ext/tk/lib/tk/toplevel.rb: ditto
-Mon Jul 22 10:09:46 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tkextlib/*: ditto and bug fix
- * gc.c (gc_slot_sweep): need to add empty RVALUE as freeobj.
+Wed Dec 8 23:54:29 2004 Dave Thomas <dave@pragprog.com>
-Mon Jul 22 09:48:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Typo
+ meant that h2 tag was invisible.
- * vm_eval.c (eval_string_with_cref): use the given file name unless
- eval even if scope is given. additional fix for [Bug #8436].
- based on the patch by srawlins at [ruby-core:56099] [Bug #8662].
+Wed Dec 8 21:56:31 2004 Kouhei Sutou <kou@cozmixng.org>
-Mon Jul 22 09:24:19 2013 Kouji Takao <kouji@takao7.net>
+ * lib/rss, test/rss, sample/rss: backported from CVS HEAD.
- * ext/readline/readline.c (Init_readline): added
- Readline.delete_text. [ruby-dev:45789] [Feature #6626]
- * ext/readline/extconf.rb: check for rl_delete_text() in Readline library.
+Wed Dec 8 14:31:36 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- Thanks, Nobuyoshi Nakada, for the patch.
+ * io.c (io_fwrite): change dereference for cosmetic reason.
-Mon Jul 22 03:15:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sprintf.c (rb_f_sprintf): [ruby-dev:25104]
- * ext/date/date_parse.c (rfc2822_cb): check if wday is given, since it
- can be omitted.
+Tue Dec 7 19:08:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
-Mon Jul 22 00:15:20 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (io_fwrite): fix offset incrementation (for VMS and Human68k)
- * bignum.c (bary_sq_fast): Refine expressions.
+Tue Dec 7 00:27:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 21 21:08:59 2013 Tanaka Akira <akr@fsij.org>
+ * process.c (proc_setgroups): [ruby-dev:25081]
- * bignum.c (bary_mul): Use simple multiplication if yl is small.
- (rb_cstr_to_inum): Invoke bigsq instead of bigmul0.
- (bigsq): Re-implemented.
- (bigmul0): Invoke bigsq if two arguments are identical.
+Mon Dec 6 18:08:10 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 21 09:58:19 2013 Tanaka Akira <akr@fsij.org>
+ * re.c (rb_reg_eqq): document fix. [ruby-talk:122541]
- * bignum.c (bary_mul_toom3): New function based on bigmul1_toom3.
- (bary_mul_toom3_branch): Call bary_mul_toom3.
- (rb_big_mul_toom3): Ditto.
- (bigmul1_toom3): Removed.
- (big_real_len): Ditto.
- (big_split): Ditto.
- (big_split3): Ditto.
+Mon Dec 6 17:19:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 21 08:12:16 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * rubysig.h (TRAP_BEG, TRAP_END): safe errno around CHECK_INTS.
+ (backported from CVS HEAD) [ruby-dev:24993]
- * proc.c (proc_to_s): use PRIsVALUE to preserve the result encoding.
+Mon Dec 6 10:18:17 2004 Dave Thomas <dave@pragprog.com>
-Sun Jul 21 03:36:18 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::look_for_directives_in):
+ Oops - 1.8 doesn't have String#clear
- * hash.c (rb_hash_flatten): use NUM2INT to raise TypeError on 32bit
- platform. it's introduced by r42039
+Mon Dec 6 09:59:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 21 01:07:45 2013 Benoit Daloze <eregontp@gmail.com>
+ * ext/socket/socket.c (sock_connect): use rb_str_new4().
+ [ruby-dev:25052]
- * common.mk (help): Fix environment variable name and argument.
- Actually it can also be a directory or any argument for
- test/unit runner. [Fixes GH-363]
+Mon Dec 6 01:42:08 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Jul 20 22:44:50 2013 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt,
+ ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,
+ ossl_rsa_private_decrypt): should take an optional argument
+ to specify padding mode. [ruby-talk:122539]
- * common.mk: Document running a single test [Fixes GH-363]
- Patch by Avdi Grimm https://github.com/ruby/ruby/pull/363
+ * ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): add new constants
+ PKCS1_PADDING, SSLV23_PADDING, NO_PADDING and PKCS1_OAEP_PADDING
+ under OpenSSL::PKey::RSA.
-Sat Jul 20 22:39:56 2013 Zachary Scott <e@zzak.io>
+ * test/openssl/test_pkey_rsa.rb: new file.
- * sample/*: whitespace patch by Sergio Campama [Fixes GH-364]
- https://github.com/ruby/ruby/pull/364
+Sun Dec 5 19:39:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jul 20 22:33:13 2013 Zachary Scott <e@zzak.io>
+ * lib/optparse.rb (OptionParser::Completion#complete): new parameter
+ to direct case insensitiveness.
- * doc/regexp.rdoc: [DOC] Fix typo in example [Fixes GH-365]
- Patch by Juanito Fatas https://github.com/ruby/ruby/pull/365
+ * lib/optparse.rb (OptionParser#order!): ignore case only for long
+ option. [ruby-dev:25048]
-Sat Jul 20 17:46:03 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Dec 4 22:54:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * string.c (rb_str_succ): add missing case NEIGHBOR_WRAPPED.
- r42078 caused buggy behavior like "\xFF".b -> "\x01\xFF".b
+ * io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050]
-Sat Jul 20 15:22:38 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (io_fwrite): takes VALUE string as an argument.
+ [ruby-dev:25050]
- * array.c (rb_ary_resize): use simple memcpy because there are no new
- references.
+ * ext/socket/socket.c (sock_connect): remove rb_str_locktmp().
+ [ruby-dev:25050]
-Sat Jul 20 15:02:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (udp_connect): [ruby-dev:25045]
- * safe.c (ruby_safe_level_4_warning): define for old extension
- libraries. [Bug #8652]
+ * ext/socket/socket.c (udp_bind): ditto.
-Sat Jul 20 14:38:00 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/socket.c (udp_send): ditto.
- * array.c (ary_make_shared): make shared array shady.
- Making non-shady shared array causes SEGV (see rubyci).
- It seems a bug around shared array.
+ * ext/socket/socket.c (bsock_send): ditto.
-Sat Jul 20 12:14:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (s_recvfrom): ditto.
- * string.c (enc_succ_char, enc_pred_char): consider wchar case.
- [ruby-core:56071] [Bug #8653]
+ * hash.c (rb_hash_hash): should provide "hash" method where "eql?"
+ is redefined. [ruby-talk:122482]
- * string.c (rb_str_succ): do not replace with invalid char.
+Sat Dec 4 14:54:52 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * encoding.c (rb_enc_code_to_mbclen): add new function which returns
- mbclen from codepoint like as rb_enc_codelen() but 0 for invalid
- char.
+ * eval.c (proc_invoke): use volatile `tmp' rather than `args'.
+ [ruby-core:03882]
- * include/ruby/encoding.h (rb_enc_code_to_mbclen): declaration and
- shortcut macro.
+Sat Dec 4 14:28:56 2004 Dave Thomas <dave@pragprog.com>
-Fri Jul 19 21:59:12 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/code_objects.rb (RDoc::Context::Section::set_comment):
+ Section comments may now be bracketed by lines which are
+ ignored. You can now write
+ # -----------
+ # :section: Dave's Section
+ # comment material
+ # -----------
+ The lines before :section: are removed, and identical lines at the end are
+ also removed if present.
- * gc.c: declare type_name() at the beginning of file.
+Sat Dec 4 03:33:45 2004 Shugo Maeda <shugo@ruby-lang.org>
-Fri Jul 19 21:35:09 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/readline/readline.c: check $SAFE. (backported from CVS HEAD)
- * array.c: reduce shady operations.
+ * test/readline/test_readline.rb: added tests for readline.
+ (backported from CVS HEAD)
- * array.c (rb_ary_modify, ary_make_partial, rb_ary_splice,
- rb_ary_replace, rb_ary_eql, rb_ary_compact_bang):
- use RARRAY_RAWPTR() instead of RARRAY_PTR().
+Sat Dec 4 02:24:00 2004 NARUSE, Yui <naruse@ruby-lang.org>
- * array.c (rb_ary_shift): use RARRAY_PTR_USE() without WB because
- there are not new relations.
+ * ext/nkf/nkf.c: add constant NKF::VERSION
- * array.c (ary_ensure_room_for_unshift): ditto.
+ * ext/nkf/nkf.c(guess): this becomes an alias of guess2
- * array.c (rb_ary_sort_bang): ditto.
+ * ext/nkf/test.rb(mime_out2): add --no-cp932
- * array.c (rb_ary_delete_at): ditto.
+ * ext/nkf/nkf-utf8/nkf.c: original nkf2 revision 1.47
- * array.c (rb_ary_reverse_m): use RARRAY_RAWPTR() because
- there are not new relations.
+Sat Dec 4 00:35:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 19 20:58:20 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]
- * array.c: reduce shade operations.
+Fri Dec 3 18:57:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_modify): use RARRAY_RAWPTR().
+ * lib/ostruct.rb: 1.9 marshaling support back-ported.
+ [ruby-core:03871]
- * array.c (ary_make_substitution, rb_ary_s_create, ary_make_partial,
- rb_ary_splice, rb_ary_resize, rb_ary_rotate_m, rb_ary_times):
- use ary_memcpy().
+Fri Dec 3 13:45:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 19 19:55:28 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (proc_invoke): copy arguments to frame.argv.
+ [ruby-core:03861]
- * array.c (ary_mem_clear): added. This operation doesn't need WB
- because this operation creates a reference to Qnil.
+Fri Dec 3 12:25:41 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (ary_make_shared, rb_ary_store, rb_ary_shift_m,
- rb_ary_splice, rb_ary_resize, rb_ary_fill): use ary_mem_clear()
- instead of rb_mem_clear().
+ * st.h: fix prototypes.
- * array.c (ary_make_shared): use RARRAY_RAWPTR() instead of RARRAY_PTR().
+Fri Dec 3 00:21:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 19 19:18:51 2013 Koichi Sasada <ko1@atdot.net>
+ * object.c (convert_type): use rb_respond_to() again.
+ [ruby-dev:25021]
- * array.c: fix commit miss.
- RGENGC_UNPROTECT_LOGGING should be 0.
+ * eval.c (rb_respond_to): funcall respond_to? if it's redefined.
+ [ruby-dev:25021]
-Fri Jul 19 19:15:30 2013 Koichi Sasada <ko1@atdot.net>
+Fri Dec 3 01:55:24 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * array.c (rb_ary_resurrect): use RARRAY_RAWPTR() because there is no
- writing.
+ * ext/tk/lib/tk.rb: widget configuration by TkWindow#method_missing
+ returns proper object. "widget.option = val" returns val, and
+ "widget.option(val)" returns self.
- * array.c (rb_ary_new_from_values): use ary_memcpy().
+ * ext/tk/lib/tk/font.rb: TkFont#replace accepts only one font argument.
-Fri Jul 19 19:07:31 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/radiobutton.rb: add TkRadiobutton#value and
+ TkRadiobutton#value=(val).
- * array.c (ary_memcpy): add a function to copy VALUEs into ary
- with write barrier. If ary is promoted, use write barrier correctly.
+ * ext/tk/lib/tk/spinbox.rb: callback substitution support on
+ command option.
- * array.c (rb_ary_cat, rb_ary_unshift_m, rb_ary_dup,
- rb_ary_sort_bang, rb_ary_replace, rb_ary_plus): use ary_memcpy().
+ * ext/tk/sample/demos-en/widget: bug fix (wrong image height)
-Fri Jul 19 15:32:57 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/demos-jp/widget: ditto.
- * array.c (rb_ary_store): use RARRAY_PTR_USE() instead of RARRAY_PTR().
- Clearing memory space doesn't need WBs.
+Fri Dec 3 00:11:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 19 15:19:37 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (rb_file_initialize): [ruby-dev:25032]
- * array.c (ary_ensure_room_for_push): use RARRAY_RAWPTR() instead of
- RARRAY_PTR. In this code, there are no "write" operation.
+Thu Dec 2 16:41:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_equal): ditto.
+ * eval.c (rb_protect): prevent continuations created inside from being
+ called from the outside. [ruby-dev:25003]
- * array.c (recursive_equal): ditto.
+ * eval.c (rb_callcc, rb_cont_call): prohibit calling from different
+ signal contexts. [ruby-dev:25022]
-Fri Jul 19 15:09:22 2013 Koichi Sasada <ko1@atdot.net>
+Thu Dec 2 09:57:24 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c, internal.h (rb_gc_writebarrier_remember_promoted): add a new
- function to remember an specified object. This api is only
- experimental (strongly depend on WB/rgengc strategy).
+ * lib/ostruct.rb (OpenStruct::Marshaler): OpenStruct can be
+ marshaled again. [ruby-core:03862]
-Fri Jul 19 14:56:00 2013 Koichi Sasada <ko1@atdot.net>
+Thu Dec 2 09:30:06 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (ary_unprotect_logging): use (void *) for first parameter
- because VALUE is not defined before including ruby/ruby.h.
+ * eval.c (thread_mark): mark thread group. [ruby-dev:25020]
-Fri Jul 19 14:19:48 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * eval.c (thgroup_add): check whether the argument is really a Thread.
- * ext/pathname/pathname.c (path_inspect): use PRIsVALUE to preserve
- the result encoding.
+Thu Dec 2 07:57:16 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 19 12:35:41 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_ctl): [ruby-dev:25019]
- * test/socket/test_tcp.rb (test_initialize_failure): Use EADDRNOTAVAIL
- to test an error message generated by bind() failure.
+Wed Dec 1 02:21:02 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 19 11:27:38 2013 Zachary Scott <e@zzak.io>
+ * signal.c (sighandler): call handler immediately only for default
+ handlers. [ruby-dev:25003]
- * lib/racc/parser.rb: [DOC] Capitalize "Ruby" in documentation
- Patch by Dave Worth https://github.com/ruby/ruby/pull/341
+Tue Nov 30 23:38:18 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jul 19 11:26:28 2013 Zachary Scott <e@zzak.io>
+ * io.c (io_fread): need not to null terminate. [ruby-dev:24998]
- * ext/psych/lib/psych*: [DOC] Capitalize "Ruby" in documentation
- Patch by Dave Worth https://github.com/ruby/ruby/pull/341
+ * io.c (read_all): remove unnecessary rb_str_resize().
+ [ruby-dev:24996] (backported from CVS HEAD)
-Fri Jul 19 11:25:12 2013 Zachary Scott <e@zzak.io>
+ * io.c (io_readpartial): ditto.
- * lib/rdoc/*: [DOC] Capitalize "Ruby" in documentation
- Patch by Dave Worth https://github.com/ruby/ruby/pull/341
+ * io.c (io_read): ditto.
-Fri Jul 19 11:23:55 2013 Zachary Scott <e@zzak.io>
+Tue Nov 30 16:18:50 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems*: [DOC] Capitalize "Ruby" in documentation
- Patch by Dave Worth https://github.com/ruby/ruby/pull/341
+ * io.c (io_fread): need not to null terminate. [ruby-dev:24998]
-Fri Jul 19 11:16:54 2013 Akinori MUSHA <knu@iDaemons.org>
+ * io.c (read_all): remove unnecessary rb_str_resize().
+ [ruby-dev:24996]
- * lib/set.rb (Set#to_set): Define Set#to_set so that aSet.to_set
- returns self. [Fixes GH-359]
+ * io.c (io_read): ditto.
-Fri Jul 19 11:10:23 2013 Zachary Scott <e@zzak.io>
+Tue Nov 30 00:49:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rake/*: [DOC] Capitalize "Ruby" in documentation
- Patch by Dave Worth https://github.com/ruby/ruby/pull/341
+ * io.c (rb_io_sysread): use temporary lock. [ruby-dev:24992]
-Fri Jul 19 01:04:14 2013 Tanaka Akira <akr@fsij.org>
+Mon Nov 29 16:06:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/-test-/bignum/intpack.c: Renamed from ext/-test-/bignum/pack.c.
- (Init_intpack): Renamed from Init_pack.
- Reported by Naohisa Goto. [ruby-dev:47526] [Bug #8655]
+ * ext/stringio/stringio.c (strio_write): insufficiently filled string
+ being extended when overwriting. [ruby-core:03836]
-Fri Jul 19 00:54:27 2013 Benoit Daloze <eregontp@gmail.com>
+Mon Nov 29 15:59:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_array.rb (test_count): add a test case for #count
- with an argument. See Bug #8654.
+ * lib/ostruct.rb (OpenStruct::method_missing): check method
+ duplication for -d.
-Thu Jul 18 23:45:06 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * lib/ostruct.rb (OpenStruct::initialize): ditto.
- * array.c (rb_ary_eql): compare RARRAY_PTR() for performance
- improvement in case of that self and other are shared.
+Mon Nov 29 15:22:28 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jul 18 22:46:42 2013 Zachary Scott <e@zzak.io>
+ * test/io/nonblock/test_flush.rb: abandon tests when io/nonblock is
+ not supported.
- * lib/cgi.rb: [DOC] Capitalize "Ruby" in documentation [Fixes GH-341]
- Patch by Dave Worth https://github.com/ruby/ruby/pull/341
- * lib/webrick.rb: ditto
- * lib/scanf.rb: ditto
- * lib/xmlrpc/config.rb: ditto
- * lib/resolv.rb: ditto
- * lib/e2mmap.rb: ditto
- * lib/fileutils.rb: ditto
- * lib/mkmf.rb: ditto
- * lib/cgi/session.rb: ditto
- * lib/yaml.rb: ditto
- * lib/erb.rb: ditto
- * lib/irb.rb: ditto
- * lib/tracer.rb: ditto
- * lib/net/http.rb: ditto
- * ext/syslog/lib/syslog/logger.rb: ditto
- * sample/pty/expect_sample.rb: ditto
+Mon Nov 29 03:08:30 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 18 21:30:50 2013 Tanaka Akira <akr@fsij.org>
+ * object.c (convert_type): direct call conversion methods for the
+ performance. [ruby-core:03845]
- * bignum.c (bary_sq_fast): Specialize the last iteration of the
- outer loop.
- (bigfixize): A condition simplified.
+ * eval.c (rb_funcall_rescue): new function.
-Thu Jul 18 21:15:41 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * object.c (rb_Array): avoid using rb_respond_to().
- * array.c (rb_ary_equal): compare RARRAY_PTR() for performance
- improvement in case of that self and other are shared.
+ * object.c (rb_Integer): ditto.
-Thu Jul 18 20:44:51 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * parse.y (reduce_nodes): empty body should return nil.
- * array.c (rb_ary_fill): use memfill().
+ * string.c (rb_str_aset): the original string should not be
+ affected by modifying duplicated string. [ruby-dev:24981]
-Thu Jul 18 20:35:14 2013 Benoit Daloze <eregontp@gmail.com>
+Mon Nov 29 13:57:38 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * array.c (rb_ary_count): check length to avoid SEGV
- while iterating. Remove other pointer loop when arg is given.
+ * win32/win32.c (CreateChild): search executable file if no program
+ name given. (backported from CVS HEAD)
- * test/ruby/test_array.rb (test_count): add test for bug.
- [ruby-core:56072] [Bug #8654]
+Mon Nov 29 13:37:54 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jul 18 18:14:36 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * io.c (fptr_finalize): must not use FILE after fclose().
+ [ruby-dev:24985]
- * array.c (rb_ary_count): iterate items appropriately.
- [Bug #8654]
+Mon Nov 29 13:16:31 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Jul 18 17:35:41 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * win32/win32.c (CreateChild): push back the last space before next
+ loop because CharNext() eats it.
- * hash.c (rb_hash_flatten): performance improvement by not using
- rb_hash_to_a() to avoid array creation with rb_assoc_new().
+Mon Nov 29 01:18:18 2004 Tanaka Akira <akr@m17n.org>
-Thu Jul 18 16:16:17 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (rb_io_check_writable): call io_seek regardless of
+ NEED_IO_SEEK_BETWEEN_RW. [ruby-dev:24986]
- * array.c: add logging feature for RGenGC's write barrier unprotect
- event.
+Sat Nov 27 21:43:39 2004 Tanaka Akira <akr@m17n.org>
-Thu Jul 18 15:45:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c: avoid data lost with nonblocking fd and
+ stdio buffering in sync mode. [ruby-dev:24966]
+ based on matz's patch [ruby-dev:24967]
+ (io_fwrite): new primitive writing function which writes
+ directly if sync mode.
+ (rb_io_fwrite): wrapper for io_fwrite now.
+ (io_write): call io_fwrite instead of rb_io_fwrite.
- * include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): make only
- rb_set_safe_level(4) an error always but make rb_secure(4) an error
- only in the core. [ruby-dev:47517] [Bug #8652]
+Sat Nov 27 14:44:15 2004 Kent Sibilev <ksibilev@bellsouth.net>
-Thu Jul 18 15:42:01 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/cgi/session.rb (CGI::Session::initialize): create_new_id is
+ now a instance method. [ruby-core:03832]
- * include/ruby/ruby.h: fix spell miss.
+Sat Nov 27 09:41:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 18 15:11:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (io_fread): old rb_io_fread with file closing checking.
+ (rb_io_fread): wrapper for io_fread now.
+ [ruby-dev:24964]
- * include/ruby/ruby.h (ruby_safe_level_4): get rid of special
- character. [ruby-dev:47512] [misc #8646]
+Fri Nov 26 18:02:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Jul 18 14:51:39 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: Tk.destroy uses TkWindow#epath
- * array.c (ary_alloc): slim setup process.
+ * ext/tk/lib/tk/image.rb: bug fix
-Thu Jul 18 14:37:57 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/wm.rb: add 'iconphoto' method(Windows only)
- * string.c (str_alloc): no need to clear RString (already cleared).
+ * ext/tk/lib/tkextlib/*: some methods uses TkWindow#epath
-Thu Jul 18 12:57:47 2013 Tanaka Akira <akr@fsij.org>
+Fri Nov 26 13:49:06 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (BDIGITS_ZERO): Defined.
- (bary_pack): Use BDIGITS_ZERO.
- (bary_unpack): Ditto.
- (bary_mul_single): Ditto.
- (bary_mul_normal): Ditto.
- (bary_sq_fast): Ditto.
- (bary_mul_balance_with_mulfunc): Ditto.
- (bary_mul_precheck): Ditto.
- (bary_mul_toom3_branch): Ditto.
- (rb_cstr_to_inum): Ditto.
- (big_shift3): Ditto.
- (bigmul1_toom3): Ditto.
- (bary_divmod): Ditto.
+ * eval.c (method_missing): raise TypeError for classes do not
+ have allocators. [ruby-core:03752]
-Thu Jul 18 06:30:02 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/erb.rb: add RDoc by James Edward Gray II. [ruby-core:03786]
- * gc.c: rename gc related functions with prefix "gc_".
- * before_gc_sweep() -> gc_before_sweep().
- * after_gc_sweep() -> gc_after_sweep().
- * lazy_sweep() -> gc_lazy_sweep().
- * rest_sweep() -> gc_rest_sweep().
- * slot_sweep() -> gc_slot_sweep().
+Fri Nov 26 13:29:02 2004 Dave Thomas <dave@pragprog.com>
- * gc.c: rename a heap management function with prefix "heap_".
- * get_freeobj() -> heap_get_freeobj().
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::look_for_directives_in): Break
+ out of preprocessing when we find a :section: directive (previously cleared out the
+ comment, but this apparently now generates an error in gsub!)
- * gc.c: rename markable_object_p() to is_markable_object().
+Fri Nov 26 00:17:40 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 17 22:57:40 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * io.c (io_read): move StringValue() check before GetOpenFile().
+ [ruby-dev:24959]
- * hash.c (delete_if_i): use ST_DELETE.
+Thu Nov 25 20:14:57 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 17 22:34:47 2013 Tanaka Akira <akr@fsij.org>
+ * lib/thwait.rb (ThreadsWait#join_nowait): abnormally terminated
+ threads should be also processed. [ruby-talk:121320]
- * bignum.c: An static assertion for relation of SIZEOF_LONG and
- SIZEOF_BDIGITS is added.
- (bary_mul_precheck): Reduce comparisons.
- (bary_mul): Invoke bary_sq_fast or bary_mul1 if the bignum size is
- small.
- (bigfixize): Resize the argument bignum here.
- (bignorm): Don't call bigtrunc after bigfixize.
+Thu Nov 25 10:14:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 17 22:13:26 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * dir.c (push_braces): do not reuse buffer strings. [ruby-core:03806]
- * hash.c (rb_hash_replace): performance improvement by using
- st_copy().
+Thu Nov 25 07:59:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 17 17:19:54 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (read_all): stringify non-nil buffer argument, and always
+ taint the result. [ruby-dev:24955]
- * gc.c: rename heap management functions with prefix "heap_".
- * allocate_sorted_array() -> heap_allocate_sorted_array().
- * slot_add_freeobj() -> heap_slot_add_freeobj().
- * assign_heap_slot() -> heap_assign_slot().
- * add_heap_slots() -> heap_add_slots().
- * init_heap() -> heap_init().
- * set_heap_increment() -> heap_set_increment().
+Wed Nov 24 01:01:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (initial_expand_heap): inlined in rb_gc_set_params().
+ * io.c (io_read): integer conversion should be prior to
+ GetOpenFile(). [ruby-dev:24952]
-Wed Jul 17 17:12:23 2013 Matthew M. Boedicker <matthewm@boedicker.org>
+ * configure.in, io.c: cancel [ ruby-Patches-1074 ].
- * hash.c (env_fetch): Add key name to message on ENV.fetch KeyError,
- as well as Hash#fetch. [ruby-core:56062] [Feature #8649]
+Tue Nov 23 08:09:50 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Jul 17 15:59:33 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/menu.rb: improve usability of TkOptionMenubutton
- * gc.c: catch up last changes for debugging/checking mode.
+Tue Nov 23 02:00:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 17 15:50:10 2013 Koichi Sasada <ko1@atdot.net>
+ * file.c (rb_file_chown): integer conversion should be prior to
+ GetOpenFile(). [ruby-dev:24949]
- * gc.c (rb_objspace_free): free slot itself.
+Tue Nov 23 00:10:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (objspace_each_objects): fix condition.
- Use slot->body instead of slot.
+ * file.c (rb_file_chown): integer conversion should be prior to
+ GetOpenFile(). [ruby-dev:24947]
- * gc.c (count_objects): use "slot" variable.
+ * file.c (rb_file_truncate): ditto.
-Wed Jul 17 15:21:10 2013 Koichi Sasada <ko1@atdot.net>
+ * file.c (rb_file_s_truncate): ditto.
- * gc.c (unlink_heap_slot): fix memory leak.
- free slot itself at free_heap_slot().
+ * dir.c (dir_seek): use NUM2OFFT().
- Reproduce-able code is here:
- N1 = 100_000; N2 = 1_000_000
- N1.times{ary = []; N2.times{ary << ''}}
- Maybe this problem is remaining in Ruby 2.0.0.
+ * misc/ruby-mode.el (ruby-non-block-do-re): should not match words
+ start with block keyword and underscore. [ruby-core:03719]
- * gc.c (unlink_heap_slot): remove not working code.
+Mon Nov 22 22:33:02 2004 Dave Thomas <dave@pragprog.com>
-Wed Jul 17 14:31:13 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Don't use names
+ of variables or constants when oarsing 'require'
- * gc.c: re-design the heap structure.
+Mon Nov 22 00:13:35 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- (1) The heap is consists of a set of slots.
- (2) Each "slot" has a "slot_body".
- slot::start and slot::limit specify RVALUE beginning address
- and number of RVALUE in a "slot_body".
- (3) "slot_body" contains a pointer to slot (slot_body::header::slot)
- and an array of RVALUE.
- (4) heap::sorted is an array of "slots", sorted by an address of
- slot::body.
+ * dir.c (dir_seek): should retrieve dir_data after NUM2INT().
+ [ruby-dev:24941]
- See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design
- for more details (figure).
+Sat Nov 20 23:57:33 2004 Dave Thomas <dave@pragprog.com>
- * gc.c: Avoid "heaps" terminology. It is ambiguous.
+ * lib/rdoc/README (et al): Add a new directive, :section:, and
+ change the output format to accomodate. :section: allows to to
+ group together methods, attributes, constants, etc under
+ headings in the output. If used, a table of contents is
+ generated.
-Wed Jul 17 13:29:16 2013 Koichi Sasada <ko1@atdot.net>
+Sat Nov 20 23:56:54 2004 Dave Thomas <dave@pragprog.com>
- * gc.c: fix heaps_header and heaps_slot to reduce memory consumption.
- (1) move heaps_header::start and limit to heaps_slot.
- (2) remove heaps_header::end which can be calculated by start+limit.
+ * lib/rdoc/options.rb (Options::parse): Force --inline-source if
+ --one-file option given
- * gc.c: catch up above change.
+Sat Nov 20 23:55:19 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 17 12:30:05 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (rb_str_splice): should place index wrapping after
+ possible modification. [ruby-dev:24940]
- * include/ruby/st.h (st_strcasecmp): Macro defined for compatibility.
- (st_strncasecmp): Ditto.
+Sat Nov 20 13:26:03 2004 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Jul 17 11:57:45 2013 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
+ * ext/nkf/nkf-utf8/utf8tbl.c: original revision 1.7
- * lib/cgi/util.rb (CGI::Util#escape, unescape): Avoid use of regexp
- special global variable. [Feature #8648] Thanks to fotos.
+Sat Nov 20 05:34:24 2004 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Jul 17 11:57:10 2013 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
+ * ext/nkf/nkf-utf8/nkf.c: original nkf.c rev:1.40
- * lib/erb.rb (ERB::Util#url_encode): Avoid use of regexp special global
- variable. [Feature #8648] Thanks to fotos.
+ * ext/nkf/test.rb: add test for mime encode/decode
-Wed Jul 17 08:12:41 2013 Tanaka Akira <akr@fsij.org>
+Sat Nov 20 01:37:34 2004 Johan Holmberg <holmberg@iar.se>
- * st.c (st_locale_insensitive_strcasecmp): Renamed from st_strcasecmp.
- (st_locale_insensitive_strncasecmp): Renamed from st_strncasecmp.
+ * eval.c (error_print): nicer traceback at interrupt.
+ [ruby-core:03774]
- * include/ruby/st.h: Follow above changes.
+Sat Nov 20 00:07:16 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * include/ruby/ruby.h: Ditto.
+ * string.c (str_gsub): internal buffer should not be listed by
+ ObjectSpace.each_object() by String#gsub. [ruby-dev:24931]
-Wed Jul 17 00:14:59 2013 Tanaka Akira <akr@fsij.org>
+Fri Nov 19 01:20:22 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (bigmul1_toom3): Use bigdivrem_single instead of bigdivrem.
- (big_three): Removed.
- (Init_Bignum): Don't initialize big_three.
+ * lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise
+ exception if data corresponding to session specified from the
+ client does not exist.
-Tue Jul 16 21:46:03 2013 Masaki Matsushita <glass.saga@gmail.com>
+Fri Nov 19 00:59:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: revert r42008. strcasecmp() uses the current locale.
+ * string.c (str_gsub): internal buffer should not be listed by
+ ObjectSpace.each_object(). [ruby-dev:24919]
- * include/ruby/ruby.h: ditto.
+Thu Nov 18 18:41:08 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * st.c (st_strcasecmp): ditto.
+ * test/ruby/test_stringchar.rb (test_bang): added.
-Tue Jul 16 21:07:04 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * string.c (rb_str_upcase_bang, rb_str_capitalize_bang)
+ (rb_str_swapcase_bang): missing rb_str_modify(). [ruby-dev:24915]
- * configure.in: check strcasecmp().
+Thu Nov 18 00:21:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * include/ruby/ruby.h: use strcasecmp() as st_strcasecmp() if it
- exists.
+ * process.c (proc_getpgrp): prohibit for $SAFE=2.
+ [ruby-dev:24899]
- * st.c (st_strcasecmp): define the function only if strcasecmp()
- doesn't exist.
+ * process.c (get_pid): ditto. [ruby-dev:24904]
-Tue Jul 16 20:21:28 2013 Tanaka Akira <akr@fsij.org>
+ * process.c (get_ppid): ditto.
- * bignum.c (bigsq): Renamed from bigsqr.
+ * array.c (rb_ary_delete): defer rb_ary_modify() until actual
+ modification. [ruby-dev:24901]
-Tue Jul 16 19:42:08 2013 Tanaka Akira <akr@fsij.org>
+Thu Nov 18 10:10:14 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (USHORT): Unused macro removed.
+ * io.c, rubyio.h (rb_io_modenum_flags): exported.
-Tue Jul 16 19:18:51 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/stringio/stringio.c (strio_initialize): allow Fixnum as mode as
+ well as IO.new does. [ruby-dev:24896]
- * gc.c: slim a path of newobj_of().
+Wed Nov 17 23:42:40 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c (objspace): add a new field objspace::freelist, which contains
- available RVALUEs.
+ * test/ruby/test_settracefunc.rb: added. [ruby-dev:24884]
- * gc.c (newobj_of): simply call new function `get_freeobj()'.
- get_freeobj() returns objspace::freelist. If objspace::freelist
- is not available, refill objspace::freelist with a slot pointed by
- objspace::heap::free_slots.
+Wed Nov 17 13:56:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (before_gc_sweep): clear objspace::freelist.
+ * parse.y (newline_node): should not use FL_SET. [ruby-dev:24874]
- * gc.c (slot_sweep): clear slot::freelist.
+ * parse.y (string_content): should not use FL_UNSET.
- * gc.c (heaps_prepare_freeslot): renamed to heaps_prepare_freeslot.
+ * node.h (NODE_NEWLINE): remove unused bit to utilize flag field
+ in nodes.
- * gc.c (unlink_free_heap_slot): remove unused function.
+Wed Nov 17 13:09:40 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (rb_free_const_table): remove unused function.
+ * {bcc32,win32,wince}/Makefile.sub (test): should build ruby.exe
+ before running test. [ruby-core:03756]
-Tue Jul 16 19:05:12 2013 Tanaka Akira <akr@fsij.org>
+Wed Nov 17 04:33:01 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (big_shift3): Big shift width is not a problem for right
- shift.
+ * pack.c: all features are backport from 1.9. [ruby-dev:24826]
-Tue Jul 16 18:50:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big2ulong_pack): new function to pack Bignums.
- * array.c (rb_ary_count): [DOC] fix typo. Array#count uses ==, not
- ===. a question at asakusa.rb ML.
+Wed Nov 17 03:42:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 16 18:35:48 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (rb_str_splice): move rb_str_modify() after
+ StringValue(), which may alter the receiver. [ruby-dev:24878]
- * bignum.c (bary_mul_karatsuba): Avoid duplicate calculation when
- squaring.
- (bary_mul_toom3_branch): Ditto.
+Tue Nov 16 23:45:07 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 16 17:43:22 2013 Koichi Sasada <ko1@atdot.net>
+ * numeric.c (flo_divmod): protect float values from GC by
+ assignment to local variables. [ruby-dev:24873]
- * gc.c (link_free_heap_slot): removed.
+Tue Nov 16 16:30:21 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (slot_sweep): use `heaps_add_freeslot' instead of
- `link_free_heap_slot'.
+ * {bcc32,win32,wince}/setup.mak (-epilogue-): remove config.h and
+ config.status to force updating them.
- * gc.c (assign_heap_slot): use local variable `slot' instead of
- `heaps'.
+Tue Nov 16 16:20:45 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 16 17:21:39 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/stringio/stringio.c (strio_read): position was ignored when a
+ buffer was passed. http://www.yo.rim.or.jp/~nov/d/?date=20041116#p03
- * gc.c (assign_heap_slot): refactoring variable names.
+Tue Nov 16 11:19:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (slot_add_freeobj): added.
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::options): use
+ Regexp conversion.
- * gc.c (heaps_add_freeslot): added.
+Tue Nov 16 01:41:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (finalize_list, rb_gc_force_recycle, slot_sweep): use
- `slot_add_freeobj' instead of modifying linked list directly.
+ * string.c (str_mod_check): frozen check should be separated.
+ [ruby-core:3742]
-Tue Jul 16 16:30:58 2013 Koichi Sasada <ko1@atdot.net>
+ * array.c (rb_ary_update): pedantic check to detect
+ rb_ary_to_ary() to modify the receiver. [ruby-dev:24861]
- * gc.c (lazy_sweep): refactoring.
+Mon Nov 15 13:50:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 16 13:32:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_justify): typo fixed. [ruby-dev:24851]
- * encoding.c (enc_set_index): since r41967, old terminator is dealt
- with in str_fill_term(). should not consider it here because this
- function is called before any encoding is set.
+Mon Nov 15 11:50:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 16 11:12:03 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle
+ operator symbols. [ruby-talk:120177]
- * proc.c (rb_block_arity): raise ArgumentError if no block given.
+Sun Nov 14 13:27:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 16 08:15:22 2013 Zachary Scott <e@zzak.io>
+ * lib/pp.rb (PP#object_address_group): remove odd number of 'f'
+ prefixed to negative address.
- * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] document top-level
- classes from BigDecimal utils native extensions
+Sun Nov 14 08:51:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Jul 16 03:23:03 2013 Zachary Scott <e@zzak.io>
+ * test/logger/test_logger.rb: Logger just expects
+ Logger#datetime_format to be used for Time#strftime independently of
+ locale. [ruby-dev:24828]
- * numeric.c: [DOC] improve rdoc formatting for parameters and links
+Fri Nov 12 15:03:26 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Jul 15 14:40:00 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (ruby_options): now we cannot call rb_glob() before
+ ruby_init(), so call rb_w32_cmdvector() at ruby_options().
- * include/ruby/intern.h (rb_big2str0): Deprecated.
+ * win32.{c,h} (rb_w32_cmdvector): rename make_cmdvector() and
+ export it.
- * bignum.c (rb_big2str1): Renamed from rb_big2str0.
- (rb_big2str0): Deprecated wrapper for rb_big2str1.
- (rb_big2str): Invoke rb_big2str1 instead of rb_big2str0.
+Fri Nov 12 14:08:01 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jul 15 14:13:02 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/event.rb: remove $LOADED_FEATURES trick
- * struct.c (rb_struct_each_pair): use rb_yield_values(2, key, value)
- instead of rb_yield(rb_assoc_new(key, value)) if rb_block_arity()
- is greater than 1.
+ * ext/tk/lib/tk.rb: ditto
-Mon Jul 15 13:46:26 2013 Tanaka Akira <akr@fsij.org>
+Fri Nov 12 00:31:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c: Add static assertions.
+ * ext/gdbm/gdbm.c (fgdbm_store): StringValue() may alter string
+ pointer. [ruby-dev:24783]
-Mon Jul 15 13:36:02 2013 Masaki Matsushita <glass.saga@gmail.com>
+Thu Nov 11 17:36:12 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (rb_hash_each_pair): performance improvement by using
- rb_block_arity().
+ * dir.c (rb_globi): also should call back via rb_glob_caller().
+ [ruby-dev:24775]
-Mon Jul 15 13:15:37 2013 Masaki Matsushita <glass.saga@gmail.com>
+Thu Nov 11 16:47:21 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * proc.c (rb_block_arity): create internal API rb_block_arity().
- it returns arity of given block.
+ * test/ruby/test_file.rb (test_truncate_wbuf): we want to test
+ only File#truncate, not behaviour of seek(2).
-Mon Jul 15 13:07:27 2013 Yuki Yugui Sonoda <yugui@yugui.jp>
+Thu Nov 11 09:41:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/prime.rb (Prime::EratosthenesGenerator,
- Prime::EratosthenesSieve): New implementation by
- robertjlooby <robertjlooby AT gmail.com>.
+ * dir.c (push_braces): was confusing VALUE and char*.
- * test/test_prime.rb: updated with new method name
+ * dir.c (rb_push_glob): Dir.glob should have called its block.
-Mon Jul 15 11:32:46 2013 Zachary Scott <e@zzak.io>
+Thu Nov 11 01:52:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * numeric.c (rb_cNumeric): [DOC] Added comment for Numeric to fix doc
+ * error.c (syserr_initialize): use stringified object.
+ [ruby-dev:24768]
-Mon Jul 15 11:24:48 2013 Tanaka Akira <akr@fsij.org>
+Wed Nov 10 22:49:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (maxpow_in_bdigit_dbl): Useless #if removed.
+ * lib/delegate.rb (SimpleDelegator::dup): wrong number of
+ arguments.
-Mon Jul 15 11:10:46 2013 Zachary Scott <e@zzak.io>
+ * lib/delegate.rb (DelegateClass::dup): ditto.
- * bignum.c (rb_big_coerce): [DOC] Add docs for Bignum#coerce
- Based on patch by Juanito Fatas [Fixes GH-360]
- https://github.com/ruby/ruby/pull/360
+Wed Nov 10 12:31:21 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Jul 15 10:56:01 2013 Zachary Scott <e@zzak.io>
+ * README.EXT (Example): extconf.rb is indispensable now.
- * thread.c (mutex_sleep): [DOC] Awake thread will reacquire lock
- By Tim Abdulla [Fixes GH-342] https://github.com/ruby/ruby/pull/342
+Wed Nov 10 03:33:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jul 15 10:45:09 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c: fix SEGV when compiled with Tcl/Tk8.3.x
+ or older
- * bignum.c (nlz16): Use __builtin_clz if possible.
- (nlz32): Use __builtin_clz or __builtin_clzl if possible.
- (nlz64): Use __builtin_clzl or __builtin_clzll if possible.
- (nlz128): Use __builtin_clzll if possible.
+ * ext/tk/lib/tkextlib/tile/style.rb: bug fix
- * configure.in: Check __builtin_clz, __builtin_clzl and
- __builtin_clzll.
+Tue Nov 9 14:27:18 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Jul 15 09:39:07 2013 Tanaka Akira <akr@fsij.org>
+ * lib/optparse.rb (OptionParser::Officious): moved from DefaultList.
- * bignum.c (power_cache_get_power): Use bitsize instead of ceil_log2.
- (ones): Removed.
- (next_pow2): Removed.
- (floor_log2): Removed.
- (ceil_log2): Removed.
+Tue Nov 9 01:05:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in (__builtin_popcountl): Don't check.
+ * dir.c (rb_glob2): do not allocate buffer from heap to avoid
+ memory leaks. use string object for buffering instead.
+ [ruby-dev:24738]
-Mon Jul 15 02:47:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c (join_path): ditto.
- * localeinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):
- move from encoding.c.
+ * io.c (io_read): external input buffer may be modified even after
+ rb_str_locktmp(). [ruby-dev:24735]
- * miniinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):
- define miniruby specific functions only.
+ * dir.c (fnmatch): p or s may be NULL. [ruby-dev:24749]
-Mon Jul 15 02:32:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 9 00:53:53 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * encoding.c (rb_enc_init): no longer needs NO_PRESERVED_ENCODING.
+ * regex.c (slow_match): avoid GCC 3.4.x warnings.
- * encoding.c (enc_inspect): defer loading autoloaded encoding.
+Tue Nov 9 00:50:06 2004 Dave Thomas <dave@pragprog.com>
- * encoding.c (enc_check_encoding): use is_data_encoding() to check
- type consistently.
+ * lib/rdoc/rdoc.rb: Change version numbering of RDoc and ri
- * encoding.c (must_encoding): return rb_encoding* instead of encoding
- index.
+Mon Nov 8 23:38:35 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * encoding.c (enc_check_encoding): use is_data_encoding() to check
- type consistently.
+ * lib/drb/extservm.rb: add DRb::ExtServManager#uri=.
+ [ruby-dev:24743]
- * encoding.c (must_encoding): return rb_encoding* instead of encoding
- index.
+Mon Nov 8 22:20:19 2004 Dave Thomas <dave@pragprog.com>
-Mon Jul 15 02:21:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):
+ Fix bug where parent class wasn't being detected if the
+ child class was defined using the A::B notation.
- * string.c (str_fill_term): consider old terminator length, and should
- not use rb_enc_ascget since it depends on the current encoding which
- may not be compatible with the new terminator. [Bug #8634]
+Mon Nov 8 00:14:13 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * encoding.c (enc_inspect): use PRIsVALUE to preserve the result
- encoding.
+ * configure.in: add setup for mignw32 cross compiling.
+ [ruby-talk:119413]
-Sun Jul 14 23:21:47 2013 Tanaka Akira <akr@fsij.org>
+Sun Nov 7 23:49:26 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * configure.in: Check __builtin_popcountl, __builtin_bswap32 and
- __builtin_bswap64.
+ * ext/tk/lib/tk.rb: bind-event methods accept multi substitution
+ arguments.
- * internal.h (swap32): Use the configure result for the condition to
- use __builtin_bswap32.
- (swap64): Use the configure result for the condition to use
- __builtin_bswap64.
+ * ext/tk/lib/tk/canvas.rb: ditto.
- * bignum.c (ones): Use the configure result for the condition to use
- __builtin_popcountl.
- (bary_unpack_internal): Use appropriate types for swap argument.
+ * ext/tk/lib/tk/canvastag.rb: ditto.
-Sun Jul 14 22:21:11 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/text.rb: ditto.
- * bignum.c (bary_subb): Support xn < yn.
- (bigsub_core): Removed.
- (bigsub): Don't compare before subtraction. Just subtract and
- get the two's complement if the subtraction causes a borrow.
+ * ext/tk/lib/tk/texttag.rb: ditto.
-Sun Jul 14 00:36:03 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tkextlib: ditto.
- * bignum.c (DIGSPERLONG): Unused macro removed.
- (DIGSPERLL): Ditto.
+Sat Nov 6 14:58:44 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Jul 14 00:32:51 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/server.rb (WEBrick::HTTPServer#start): remove
+ :DoNotReverseLookup option. (Socket#do_not_reverse_lookup is a
+ ruby 1.9 feature)
- * bignum.c (rb_big_aref): Less scan when the number is negative.
+Sat Nov 6 11:31:04 2004 Tadayoshi Funaba <tadf@dotrb.org>
-Sun Jul 14 00:17:42 2013 Tanaka Akira <akr@fsij.org>
+ * lib/date.rb (_parse): checks whether zone was given.
- * bignum.c (big_shift): Avoid signed integer overflow.
+Sat Nov 6 00:46:27 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 14 00:14:15 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (rb_str_locktmp): check STR_TMPLOCK flag before
+ locking. [ruby-dev:24727]
- * bignum.c (bary_mul_precheck): Use bary_small_lshift or
- bary_mul_normal if xl is 1.
+Fri Nov 5 18:12:42 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Jul 13 22:58:16 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/scrollable.rb: divide Scrollable module into
+ X_Scrollable and Y_Scrollable
- * bignum.c (big_shift3): New function.
- big_lshift and big_rshift are merged.
- (big_shift2): New function.
- (big_lshift): Use big_shift3.
- (big_rshift): Ditto.
- (check_shiftdown): Removed.
- (rb_big_lshift): Use big_shift2 and big_shift3.
- (rb_big_rshift): Ditto.
- (big_lshift): Removed.
- (big_rshift): Ditto.
+ * ext/tk/lib/tk/entry.rb: include X_Scrollable instead of Scrollable
-Sat Jul 13 15:51:38 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/autoload.rb: define autoload for X_Scrollable and
+ Y_Scrollable
- * bignum.c (bary_small_lshift): Use size_t instead of long.
- (bary_small_rshift): Ditto.
+Fri Nov 5 16:05:32 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Jul 13 15:33:33 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: TkComm._at() supprts both of "@x,y" and "@x"
- * bignum.c (bary_small_lshift): Functions moved to remove
- declaration.
- (bary_small_rshift): Ditto.
+Fri Nov 5 13:22:58 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Jul 13 12:27:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: sorry. bug fix again.
- * encoding.c (rb_enc_associate_index): fill new terminator length, not
- old one.
+Fri Nov 5 13:17:54 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Jul 13 12:24:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: bug fix
- * ext/win32: move from ext/dl and ext/fiddle. since ext/extmk.rb
- builds extensions in alphabetical order, compiled?('fiddle') under
- ext/dl makes no sense.
+Fri Nov 5 08:52:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Jul 13 09:26:09 2013 Tanaka Akira <akr@fsij.org>
+ * gc.c (gc_mark): stricter GC stack check.
- * bignum.c (biglsh_bang): Removed.
- (bigrsh_bang): Ditto.
- (bigmul1_toom3): Use bary_small_lshift and bary_small_rshift.
+Fri Nov 5 08:52:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Jul 13 01:04:43 2013 Zachary Scott <e@zzak.io>
+ * gc.c (gc_mark): stricter GC stack check.
- * lib/rubygems/psych_additions.rb: Ignore Psych docs here
+Fri Nov 5 08:34:43 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 12 18:10:46 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * string.c (str_gsub): should have removed rb_str_unlocktmp(str).
+ [ruby-dev:24708]
- * ext/fiddle/win32/lib/win32/registry.rb
- (Win32::Registry::API#make_wstr): same as r41922.
+Thu Nov 4 21:25:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 12 16:28:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (str_gsub): string modify check no longer based on
+ tmplock. [ruby-dev:24706]
- * encoding.c (rb_enc_associate_index): refill the terminator if it
- becomes longer than before. [ruby-dev:47500] [Bug #8624]
+Thu Nov 4 19:27:46 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * string.c (str_null_char, str_fill_term): get rid of out of bound
- access.
+ * io.c (rb_f_open): fix typo.
- * string.c (rb_str_fill_terminator): add a parameter for the length of
- new terminator.
+Thu Nov 4 15:02:14 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jul 12 11:26:25 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/tk/lib/tk/variable.rb: forget to initialize instance_variables
+ of TkVarAccess objects
- * hash.c (rb_hash_reject_bang): do not call rb_hash_foreach() if RHash
- has ntbl and it is empty.
+Thu Nov 4 09:11:35 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 12 11:17:41 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * gc.c (gc_mark): enable GC stack checking.
- * hash.c (recursive_hash): use RHASH_SIZE() to check hash size.
+Thu Nov 4 03:11:33 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jul 12 00:20:00 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * string.c (str_gsub): lock strings temporarily. [ruby-dev:24687]
- * hash.c (rb_hash_size): use RHASH_SIZE().
+ * ext/socket/socket.c (s_recvfrom): tmplock input buffer.
+ [ruby-dev:24705]
-Fri Jul 12 00:08:24 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Nov 3 22:32:12 2004 NARUSE, Yui <naruse@ruby-lang.org>
- * hash.c (rb_hash_values): set array capa to RHASH_SIZE().
+ * process.c: On NetBSD don't use setruid() and setrgid().
-Thu Jul 11 23:54:45 2013 Masaki Matsushita <glass.saga@gmail.com>
+Wed Nov 3 22:24:17 2004 Daigo Moriwaki <techml@sgtpepper.net>
- * hash.c (rb_hash_keys): set array capa to RHASH_SIZE().
+ * lib/webrick/httpauth/digestauth.rb: use Base64.encode64 to
+ avoid warnings.
-Thu Jul 11 21:30:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 3 17:19:59 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * win32/win32.c (rb_w32_pow): undef pow to get rid of infinite
- recursive call. re-fix [Bug #8495]. [ruby-core:55923] [Bug #8621]
+ * array.c (rb_ary_uniq_bang): do not push frozen string from hash
+ table. [ruby-dev:24695]
-Thu Jul 11 20:18:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * array.c (rb_ary_and): ditto.
- * ext/dl/win32/lib/win32/registry.rb (Win32::Registry::API#make_wstr):
- remove workaround to append WCHAR terminator.
+ * array.c (rb_ary_or): ditto.
- * transcode.c (str_encode_associate): fill terminator after conversion.
+Wed Nov 3 17:13:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * string.c (rb_enc_str_new, rb_str_set_len, rb_str_resize): fill
- minimum length of the encoding as the terminator.
+ * io.c (pipe_open): fix compile error
- * string.c (str_buf_cat, rb_str_buf_append, rb_str_splice_0): ditto.
+Wed Nov 3 16:58:07 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * string.c (str_make_independent_expand, rb_str_modify_expand): make
- the capacity enough for multi-byte terminator.
+ * ext/tk/lib/tk.rb: support to use different Tcl commands between
+ configure and configinfo
- * string.c (rb_string_value_cstr): fill minimum length of the encoding
- as the terminator.
+ * ext/tk/lib/font.rb: ditto.
- * string.c (rb_string_value_cstr): check null char in char, not in
- byte.
+ * ext/tk/lib/itemconfig.rb: support to use different Tcl commands
+ between item_configure and item_configinfo
-Thu Jul 11 14:48:35 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/itemfont.rb: ditto.
- * array.c: Replace confusing example for #reverse_each in overview
- Patch by Earl St Sauver [Fixes documenting-ruby/ruby-12]
- https://github.com/documenting-ruby/ruby/pull/12
+ * ext/tk/extconf.rb: install SUPPORT_STATUS
-Thu Jul 11 14:22:37 2013 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tkextlib: some bug fixes (see ext/tk/ChangeLog.tkextlib)
- * test/drb/ut_eq.rb: Use localhost for drb tests [Bug #7311]
- Patch by Vit Ondruch [ruby-core:49101]
- * test/drb/ut_array.rb: ditto
- * test/drb/ut_array_drbssl.rb: ditto
+Wed Nov 3 16:30:41 2004 NARUSE, Yui <naruse@ruby-lang.org>
-Thu Jul 11 13:48:03 2013 Zachary Scott <e@zzak.io>
+ * ext/nkf: follow nkf 2.0.4
- * sprintf.c: Fix typo patch by @hynkle [Fixes GH-357]
- https://github.com/ruby/ruby/pull/357
+Wed Nov 3 15:53:34 2004 Kouhei Sutou <kou@cozmixng.org>
-Thu Jul 11 13:00:34 2013 Zachary Scott <e@zzak.io>
+ * test/rss/test_maker_*.rb: added tests for RSS Maker.
- * lib/securerandom.rb: Refactor conditions by Rafal Chmiel
- [Fixes GH-326] https://github.com/ruby/ruby/pull/326
+ * lib/rss/maker.rb: added RSS Maker.
-Thu Jul 11 12:04:47 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rss/maker/*.rb: ditto.
- * bignum.c: Don't use toom3 after once karatsuba is chosen.
- (mulfunc_t): New type.
- (bary_mul_toom3_start): Renamed from bary_mul.
- (bary_mul_karatsuba_start): Renamed from bary_mul.
- (bary_mul_balance_with_mulfunc): Renamed from bary_mul_balance and
- new argument, mulfunc, is added.
- (rb_big_mul_balance): Invoke bary_mul_balance_with_mulfunc with
- bary_mul_toom3_start.
- (bary_mul_karatsuba): Invoke bary_mul_karatsuba_start instead of
- bary_mul.
- (bary_mul_precheck): Extracted from bary_mul.
- (bary_mul_karatsuba_branch): Extracted from bary_mul.
- (bary_mul_karatsuba_start): New function to call bary_mul_precheck
- and bary_mul_karatsuba_branch.
- (bary_mul_toom3_branch): Extracted from bary_mul.
- (bary_mul_toom3_start): New function to call bary_mul_precheck and
- bary_mul_toom3_branch.
- (bary_mul): Just call bary_mul_toom3_start.
- Arguments for work memory are removed.
- (rb_cstr_to_inum): Follow the bary_mul change.
- (bigmul0): Ditto.
+Tue Nov 2 16:35:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 11 10:46:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/enumerator/enumerator.c (each_cons_i): pass copy of an
+ internal consequent array. [ruby-talk:118691]
- * tool/probes_to_wiki.rb: fix usage comment. use Enumerable#grep
- which yields each elements to reduce unnecessary array.
+Tue Nov 2 16:05:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 11 10:09:18 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * process.c (rb_f_fork): need to flush stdout and stderr before
+ fork(2). [ruby-talk:117715]
- * process.c (rb_daemon): daemon(3) is implemented with fork(2).
- Therefore it needs rb_thread_atfork(). (and revert r41903)
+Tue Nov 2 01:20:09 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 11 03:22:10 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * eval.c (proc_invoke): nail down dyna_var node when Proc object
+ or continuation is created. [ruby-dev:24671]
- * tool/probes_to_wiki.rb: adding a script to convert probes.d to wiki
- format for easy wiki updates.
+Mon Nov 1 13:59:28 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Jul 11 00:54:07 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/extmk.rb (MANIFEST): do not use anymore, use extconf.rb instead.
- * man/ri.1: Incorrect use of .Dd macro [Bug #8620] by Tristan Hill
+ * ext/enumerator/extconf.rb, ext/fcntl/extconf.rb,
+ ext/stringio/extconf.rb: added.
-Thu Jul 11 00:48:29 2013 Zachary Scott <zachary@zacharyscott.net>
+ * MANIFEST, ext/**/MANIFEST: removed.
- * lib/delegate.rb: Add example for __setobj__ and __getobj__
- [Bug #8615] Patch by Caleb Thompson
+ * README.EXT, README.EXT.ja: remove MANIFEST stuff.
-Wed Jul 10 23:29:22 2013 Zachary Scott <zachary@zacharyscott.net>
+Mon Nov 1 01:14:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/logger.rb: Use :call-seq: for method signature rdoc
+ * io.c (rb_f_open): create copy of popen specifier. [ruby-dev:24656]
-Wed Jul 10 23:23:18 2013 Zachary Scott <zachary@zacharyscott.net>
+Mon Nov 1 00:36:48 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/logger.rb (#add): Remove incorrect rdoc for return value
- [Bug #8567] Reported by Tim Pease.
+ * main.c (_stklen): move to gc.c.
-Wed Jul 10 23:12:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 31 00:22:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * string.c (rb_str_subpos): make public function.
+ * string.c (rb_str_locktmp): lock string temporarily.
-Wed Jul 10 22:44:19 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (str_independent): add tmplock check.
- * bignum.c: Add a static assertion for RBIGNUM_EMBED_LEN_MAX.
+ * io.c (io_write): lock output string temporarily.
+ [ruby-dev:24649]
-Wed Jul 10 22:31:25 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * io.c (io_write): use rb_str_locktmp().
- * string.c (rb_str_index): cache single byte flag and some
- cosmetic changes.
+ * io.c (read_all): ditto.
-Wed Jul 10 22:03:27 2013 Tanaka Akira <akr@fsij.org>
+Sat Oct 30 06:53:24 2004 Peter Vanbroekhoven <peter.vanbroekhoven@cs.kuleuven.ac.be>
- * bignum.c (bary_2comp): Don't use bary_plus_one.
- (bary_add_one): Replaced by the implementation of bary_plus_one.
+ * eval.c (rb_eval): NODE_XSTR should pass copy of literal string.
-Wed Jul 10 20:48:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 30 00:19:40 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (sizeof_bdigit_dbl): check sizeof(BDIGIT_DBL).
+ * enum.c (enum_sort_by): protect continuation jump in.
+ [ruby-dev:24642]
- * internal.h (STATIC_ASSERT): move from enum.c.
+Fri Oct 29 21:27:51 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 10 20:08:21 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_check_initialized): new function to check uninitialized
+ object. [ruby-talk:118234]
- * bignum.c (SIZEOF_BDIGIT_DBL): Add a ifdef guard for test.
+ * file.c (rb_file_path), io.c (rb_io_closed): check if initialized.
-Wed Jul 10 14:18:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 29 10:00:30 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * process.c (fork_daemon): kill the other threads all and abandon the
- kept mutexes.
+ * eval.c (rb_thread_start_0): forget to free some memory chunks.
+ [ruby-core:03611]
-Wed Jul 10 11:35:36 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * eval.c (ruby_cleanup): ruby_finalize_1 may cause exception,
+ should be wrapped by PUSH_TAG/POP_TAG(). [ruby-dev:24627]
- * test/net/http/test_http.rb (TestNetHTTP_v1_2#test_get,
- TestNetHTTP_v1_2_chunked#test_get): shouldn't check
- HttpResponse#decode_content if Zlib is not available.
- ko1 complained via IRC.
+Thu Oct 28 08:42:02 2004 Tanaka Akira <akr@m17n.org>
-Wed Jul 10 10:20:07 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * io.c (argf_forward): use ANSI style.
+ (argf_read): call argf_forward with argv argument.
+ [ruby-dev:24624]
- * tool/rbinstall.rb: always require rubygems to stabilize rubygems
- related status like whether Gem::Specification is defined or not.
+Thu Oct 28 23:32:54 2004 akira yamada <akira@ruby-lang.org>
- * tool/rbinstall.rb (Gem::Specification.unresolved_deps): define stub.
+ * ext/zlib/zlib.c (zstream_detach_input): resets klass of z->input if
+ z->input isn't nil.
-Wed Jul 10 08:21:15 2013 Eric Hodel <drbrain@segment7.net>
+Thu Oct 28 23:19:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rubygems: Import RubyGems 2.1
- * test/rubygems: Ditto.
+ * ext/extmk.rb: prefer relative path. [ruby-talk:93037]
-Wed Jul 10 07:34:34 2013 Eric Hodel <drbrain@segment7.net>
+Wed Oct 27 18:49:11 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/rubygems/ext/ext_conf_builder.rb: Remove siteconf file after
- building the gem.
- * test/rubygems/test_gem_ext_ext_conf_builder.rb: Test for the above.
+ * gc.c: prototype; rb_io_fptr_finalize() doesn't return any value
+ at this version.
- * lib/rubygems/psych_tree.rb (module Gem): Add backward compatibility
- for r41148
+Wed Oct 27 17:27:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rubygems/test_gem_package.rb: Add backward compatibility for
- double-slash elimination.
+ * gc.c (gc_sweep): recover ruby_in_compile variable.
-Wed Jul 10 06:22:27 2013 Tadayoshi Funaba <tadf@dotrb.org>
+Wed Oct 27 09:17:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/date/date_parse.c (date_zone_to_diff): [ruby-core:55831].
+ * string.c (str_gsub): use a string object for exception safeness.
+ [ruby-dev:24601]
-Wed Jul 10 00:41:42 2013 Tanaka Akira <akr@fsij.org>
+Tue Oct 26 23:52:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (bary_mul): x*1 is x.
+ * io.c (rb_io_getline): rs modification check should not interfere in the loop.
-Tue Jul 9 22:24:39 2013 Tanaka Akira <akr@fsij.org>
+Tue Oct 26 23:30:39 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (bary_mul1): No need to invoke MEMZERO at last.
- (bary_mul_single): Invoke MEMZERO here.
+ * lib/rdoc/code_objects.rb (RDoc::Context::add_class_or_module):
+ Restore correct :nopdoc: behavior with nested classes and modules.
-Tue Jul 9 21:40:01 2013 Kouhei Sutou <kou@cozmixng.org>
+Tue Oct 26 18:21:29 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rexml/test_text.rb: Add missing tests for Text#<<.
- Reported by nagachika. Thanks!!!
+ * string.c (RESIZE_CAPA): check string attribute before modifying
+ capacity member of string structure. [ruby-dev:24594]
-Tue Jul 9 18:02:38 2013 Akinori MUSHA <knu@iDaemons.org>
+Tue Oct 26 11:33:26 2004 David G. Andersen <dga@lcs.mit.edu>
- * lib/fileutils.rb (FileUtils#chown_R): Do not skip traversal even
- if user and group are both nil, to be consistent with #chown and
- other commands.
+ * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
+ performance. [ruby-talk:117701]
-Tue Jul 9 17:58:26 2013 Akinori MUSHA <knu@iDaemons.org>
+Tue Oct 26 10:56:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/fileutils/test_fileutils.rb
- (TestFileUtils#assert_output_lines): New utility assertion
- method for testing verbose output.
+ * sprintf.c (rb_f_sprintf): raise ArgumentError for extra
+ arguments, unless (digit)$ style used.
-Tue Jul 9 17:43:57 2013 Koichi Sasada <ko1@atdot.net>
+Tue Oct 26 11:33:26 2004 David G. Andersen <dga@lcs.mit.edu>
- * test/test_tracer.rb: catch up recent rubygems changes.
+ * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
+ performance. [ruby-talk:117701]
-Tue Jul 9 16:58:30 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Oct 26 10:56:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/{dl,fiddle}/win32/lib/win32/registry.rb: hope that the final
- resolution to fix the failure of test-all. and includes Win64
- support (fixed a potential bug).
+ * sprintf.c (rb_f_sprintf): raise ArgumentError for extra
+ arguments, unless (digit)$ style used.
-Tue Jul 9 15:57:20 2013 Akinori MUSHA <knu@iDaemons.org>
+Mon Oct 25 18:35:39 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * object.c: Fix rdoc for Kernel#<=>. [Fixes GH-352]
+ * win32/win32.c (isUNCRoot): should check NUL after '.'.
+ [ruby-dev:24590]
-Tue Jul 9 15:53:51 2013 Akinori MUSHA <knu@iDaemons.org>
+ * win32/win32.c (isUNCRoot): fixed buffer overrun.
- * lib/fileutils.rb (FileUtils#mode_to_s): Define mode_to_s() also
- as singleton method, or FileUtils.chmod fails in verbose mode.
+Mon Oct 25 08:03:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 9 15:16:02 2013 Akinori MUSHA <knu@iDaemons.org>
+ * eval.c (get_backtrace): ignore illegal backtrace. [ruby-dev:24587]
- * test/fileutils/fileasserts.rb
- (Test::Unit::FileAssertions#assert_not_symlink): Add a missing
- optional argument "message".
+Sun Oct 24 00:41:09 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 9 15:03:24 2013 Akinori MUSHA <knu@iDaemons.org>
+ * eval.c (rb_load, search_required, rb_require_safe, rb_require): use
+ frozen shared string to avoid outside modification. [ruby-dev:24580]
- * lib/fileutils.rb (FileUtils#chown, FileUtils#chown_R): If user
- and group are both nil, print ":".
+Sat Oct 23 22:18:32 2004 Guy Decoux <ts@moulon.inra.fr>
-Tue Jul 9 12:47:08 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * eval.c (frame_free): Guy Decoux solved the leak problem.
+ Thanks. [ruby-core:03549]
- * io.c (appendline): use READ_CHAR_PENDING_XXX macros and
- RSTRING_END().
+Sat Oct 23 00:20:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * io.c (rb_io_getline_1): rewrite nested if statement into one
- statement.
+ * ext/zlib/zlib.c (zstream_append_input): clear klass for z->input
+ to avoid potential vulnerability.
-Tue Jul 9 11:04:35 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/zlib/zlib.c (zstream_run): always use zstream_append_input()
+ to avoid SEGV. [ruby-dev:24568]
- * ext/{dl,fiddle}/win32/lib/win32/registry.rb (Win32::Registry#check):
- should report the position of the error.
+Fri Oct 22 12:02:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/{dl,fiddle}/win32/lib/win32/registry.rb
- (Win32::Registry#QueryValue): workaround for test-all crash.
+ * eval.c (rb_alias): was warning for wrong condition.
+ [ruby-dev:24565]
-Tue Jul 9 10:27:56 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Oct 22 10:36:37 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/{dl,fiddle}/win32/lib/win32/registry.rb
- (Win32::Registry.expand_environ): use suitable encoding for the
- string.
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#meta_vars):
+ should check if path_info is not nil.
- * ext/{dl,fiddle}/win32/lib/win32/registry.rb (Win32::Registry#read):
- should return REG_SZ, REG_EXPAND_SZ and REG_MULTI_SZ values with
- the expected encoding -- assumed as the same encoding of name.
+Fri Oct 22 00:22:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 9 10:02:45 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/zlib/zlib.c (zstream_shift_buffer): should restore class
+ field of a buffer. [ruby-dev:24562]
- * ext/{dl,fiddle}/win32/lib/win32/registry.rb
- (Win32::Registry::Error#initialize): use suitable encoding for the
- string.
+Fri Oct 22 00:20:33 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 9 09:46:53 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * string.c (rb_str_include): should not treat char as negative value.
+ [ruby-dev:24558]
- * ext/dl/win32/lib/win32/registry.rb (Win32::Registry.expand_environ):
- use suitable encoding for the string. fixed a test-all error of
- r41838.
+Thu Oct 21 21:32:30 2004 IWATSUKI Hiroyuki <don@na.rim.or.jp>
- * ext/fiddle/win32/lib/win32/registry.rb: same changes of r41838 and
- this revision of dl's win32/registry.rb.
+ * lib/pstore.rb (PStore#transaction): Use the empty content when a
+ file is not found. [ruby-dev:24561]
-Tue Jul 9 07:39:45 2013 Eric Hodel <drbrain@segment7.net>
+Thu Oct 21 19:06:15 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/rubygems: Update to RubyGems 2.0.4. See
- https://github.com/rubygems/rubygems/blob/2.0/History.txt for changes
+ * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):
+ ensure to close @body. (http://bugs.debian.org/277520)
-Tue Jul 9 01:47:16 2013 Tanaka Akira <akr@fsij.org>
+Thu Oct 21 00:36:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (biglsh_bang): Don't shift a BDIGIT with BITSPERDIG bits.
- (bigrsh_bang): Ditto.
+ * eval.c (rb_alias): should warn on method discarding.
+ [ruby-dev:24546]
-Tue Jul 9 01:17:57 2013 Tanaka Akira <akr@fsij.org>
+ * ext/zlib/zlib.c (zstream_expand_buffer_into): hide internal
+ string buffer by clearing klass. [ruby-dev:24548]
- * bignum.c (bigrsh_bang): Fix bignum digits overrun.
+Wed Oct 20 19:45:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 9 00:46:22 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (str_gsub): reentrant check. [ruby-dev:24432]
- * bignum.c (biglsh_bang): Fix bignum digits under-run.
+ * backport all SEGV bug fixes from CVS HEAD. [ruby-dev:24536]
-Mon Jul 8 23:36:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 20 04:17:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/dl/win32/lib/win32/registry.rb (Error, API): use WCHAR
- interfaces. c.f. [Bug #8508]
+ * ext/dbm/dbm.c (fdbm_delete_if): should check if deleting element
+ is a string. [ruby-dev:24490]
-Mon Jul 8 23:13:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/sdbm/init.c (fsdbm_delete_if): ditto.
- * win32/win32.c (rb_w32_pow): move from win32.h and disable strict
- ANSI mode macro to let _controlfp() stuff defined.
- [ruby-core:55312] [Bug #8495]
+Wed Oct 20 01:37:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * numeric.c (finite): add declaration for strict ANSI.
- [ruby-core:55312] [Bug #8495]
+ * array.c (rb_ary_times): Array#* should return an instance of
+ the class of right operand. [ruby-dev:24526]
- * thread_win32.c (w32_thread_start_func, thread_start_func_1),
- (timer_thread_func): use __stdcall instead of _stdcall which is
- unavailable in strict ANSI mode. [ruby-core:55312] [Bug #8495]
+ * ext/zlib/zlib.c (zstream_detach_buffer): should not expose
+ class-less object to Ruby world. [ruby-dev:24530]
- * win32/win32.c (gettimeofday): use __cdecl instead of _cdecl.
+ * eval.c (proc_dup): provide Proc#dup as well. [ruby-talk:116915]
-Mon Jul 8 22:41:12 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (ruby_exec): stack marking position may be higher than
+ expected. thanks to Guy Decoux. [ruby-core:03527]
- * bignum.c (bary_mul): Arguments for work memory added.
- (bary_mul_balance): Ditto.
- (bary_mul_karatsuba): Ditto.
+Tue Oct 19 22:43:12 2004 Dave Thomas <dave@pragprog.com>
-Mon Jul 8 22:03:30 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_attr): If
+ we come across 'attr' in a context where it isn't
+ followed by a symbol, just issue a warning.
- * bignum.c (rb_big_sq_fast): New function for testing.
- (rb_big_mul_toom3): Ditto.
+Tue Oct 19 20:41:37 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * internal.h (rb_big_sq_fast): Declared.
- (rb_big_mul_toom3): Ditto.
+ * ext/win32ole.c(ole_invoke): retrieve the result value when
+ retrying the IDispatch::invoke.
-Mon Jul 8 21:59:34 2013 Tanaka Akira <akr@fsij.org>
+Tue Oct 19 17:24:11 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (bary_mul_balance): Initialize a local variable to suppress
- a warning.
+ * io.c (read_all): block string buffer modification during
+ rb_io_fread() by freezing it temporarily. [ruby-dev:24479]
-Mon Jul 8 20:55:22 2013 Tanaka Akira <akr@fsij.org>
+ * dir.c (rb_push_glob): block call at once the end of method.
+ [ruby-dev:24487]
- * bignum.c (bary_mul_balance): Reduce work memory.
+ * ext/enumerator/enumerator.c (enum_each_slice): remove
+ rb_gc_force_recycle() to prevent potential SEGV.
+ [ruby-dev:24499]
-Mon Jul 8 08:26:15 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * ext/zlib/zlib.c (zstream_expand_buffer): hide internal string
+ buffer by clearing klass. [ruby-dev:24510]
- * test/openssl/test_pkey_ec.rb: Skip tests for "Oakley" curves as
- they are not suitable for ECDSA.
- [ruby-core:54881] [Bug #8384]
+Tue Oct 19 16:12:18 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jul 8 08:03:01 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/tkutil.c: backport from CVS HEAD
- * bignum.c (bary_mul): Add a RB_GC_GUARD.
+Tue Oct 19 08:54:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 7 23:56:32 2013 Tanaka Akira <akr@fsij.org>
+ * intern.h, object.c (rb_class_inherited_p): export.
- * bignum.c (bary_mul_karatsuba): Unreachable code removed. Remove
- several branches.
+Tue Oct 19 08:46:57 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 7 22:59:06 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (rb_str_upto): method result must be checked. [ruby-dev:24504]
- * internal.h (rb_big_mul_normal): Declared.
- (rb_big_mul_balance): Ditto.
- (rb_big_mul_karatsuba): Ditto.
+ * eval.c (error_print): ditto. [ruby-dev:24519]
- * bignum.c (rb_big_mul_normal): New function for tests.
- (rb_big_mul_balance): Ditto.
- (rb_big_mul_karatsuba): Ditto.
+Mon Oct 18 23:37:05 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 7 19:21:30 2013 Tanaka Akira <akr@fsij.org>
+ * marshal.c (r_object0): check inheritance by the internal function.
+ [ruby-dev:24515]
- * bignum.c: Reorder functions to decrease forward reference.
+Mon Oct 18 15:58:01 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Jul 7 14:41:57 2013 Tanaka Akira <akr@fsij.org>
+ * range.c (range_step, range_each): need cast.
- * bignum.c: (bigsub_core): Use bary_sub.
- (bary_sub): Returns a borrow flag. Use bary_subb.
- (bary_subb): New function for actually calculating subtraction with
- borrow.
- (bary_sub_one): New function.
- (bigadd_core): Use bary_add.
- (bary_add): Returns a carry flag. Use bary_addc.
- (bary_addc): New function for actually calculating addition with
- carry.
- (bary_add_one): New function.
- (bary_muladd_1xN): Extracted from bary_mul_normal.
- (bigmul1_normal): Removed.
- (bary_mul_karatsuba): New function.
- (bary_mul1): Invoke rb_thread_check_ints after bary_mul_normal.
- (bary_mul): Remove most and least significant zeros before actual
- multiplication. Use bary_sq_fast, bary_mul_balance,
- bary_mul_karatsuba and bigmul1_toom3 as bigmul0.
- (bigmul1_balance): Removed.
- (bigmul1_karatsuba): Removed.
- (bigsqr_fast): Removed.
- (bary_sparse_p): Extracted from big_sparse_p.
- (big_sparse_p): Removed.
- (bigmul0): Use bary_mul.
+Fri Oct 29 16:34:19 2004 Daiki Ueno <ueno@unixuser.org>
-Sun Jul 7 11:54:33 2013 Kouhei Sutou <kou@cozmixng.org>
+ * misc/ruby-mode.el (ruby-parse-partial): Parse the rest of the
+ line after opening heredoc identifier. [ruby-dev:24635]
- * NEWS: Add REXML::Text#<< related updates.
+Mon Oct 18 07:26:21 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 7 11:49:19 2013 Kouhei Sutou <kou@cozmixng.org>
+ * file.c (rb_file_truncate): discard read buffer before truncation.
+ [ruby-dev:24197]
- * lib/rexml/text.rb (REXML::Text#<<): Support appending in not
- "raw" mode. [Bug #8602] [ruby-dev:47482]
- Reported by Ippei Obayashi. Thanks!!!
+Mon Oct 18 02:11:21 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Jul 7 11:43:13 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/webrick/config.rb (WEBrick::Config::General): add default values:
+ - WEBrick::Config[:DoNotReverseLookup]
+ - WEBrick::Config[:RequestCallback] (it used as an alias of
+ :RequestHandler in WEBrick::HTTPServer#run)
+ - WEBrick::Config::FileHandler[:AcceptableLanguages]
- * lib/rexml/text.rb (REXML::Text#<<): Support method chain use by "<<"
- like other objects.
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::FileHandler#set_filename): search files
+ having suffix of language-name which Accept-Language header field
+ includes if :AcceptableLanguages options is present.
-Sun Jul 7 11:34:18 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::FileHandler#get_servlet): new method to
+ search servlet correspond to the suffix of filename.
- * lib/rexml/text.rb (REXML::Text#clear_cache): Extract common
- cache clear code.
+ * lib/webrick/httprequest.rb: add attributes access methods: accept,
+ accept_charset, accept_encoding, accept_language, content_length
+ and content_type.
-Sun Jul 7 11:01:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httpresponse.rb: add attribute access methods:
+ content_length, content_length=, content_type and content_type=.
- * configure.in (RUBY_DTRACE_POSTPROCESS): dtrace version SUN D 1.11
- introduces a check in the dtrace compiler to ensure that probes
- actually exist. If there are no probes, then the -G step will
- fail. As this test is only being used to determine whether -G is
- necessary (for instance, on OSX it is not), adding a real probe to
- the conftest allows it to succeed on newer versions of dtrace.
- Patch by Eric Saxby <sax AT livinginthepast.org> at
- [ruby-core:55826]. [Fixes GH-351], [Bug #8606].
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.mime_types):
+ use the second suffix to detect media type. (the first suffix
+ may be a language name.)
-Sun Jul 7 10:07:22 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_qvalues):
+ add method to parse Accept header field. it returns an Array of
+ values sorted by the qvalues.
- * bignum.c (bary_sq_fast): Extracted from bigsqr_fast and
- ensure not to access zds[2*xn].
- (bigsqr_fast): Allocate the result bignum with 2*xn words.
+Mon Oct 18 02:04:11 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Jul 6 07:37:43 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host): new
+ method to register virtual hosting servers.
- * 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]
+ * lib/webrick/server.rb (WEBrick::GenericServer#accept): call
+ do_not_reverse_lookup for each socket if :DoNotReverseLookup
+ is set. [ruby-core:02357]
- Thanks to Vit Ondruch for providing the patch!
+Mon Oct 18 00:42:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Jul 6 07:12:39 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * ext/socket/socket.c (sock_s_getservbyaname): protocol string
+ might be altered. [ruby-dev:24503]
- * test/openssl/test_x509crl.rb: Remove unused variable.
- [ruby-core:53501] [Bug #8114]
+ * string.c (rb_str_upto): check if return value from succ is a
+ string. [ruby-dev:24504]
- Thanks, Vipul Amler, for pointing this out!
+Sun Oct 17 23:03:48 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Jul 6 06:37:10 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * ext/tk/lib/tk/timer.rb: TkTimer#start and restart accept a block
- * ext/openssl/ossl.c: Provide CRYPTO_set_locking_callback() and
- CRYPTO_set_id_callback() callback functions ossl_thread_id and
- ossl_lock_callback to ensure the OpenSSL extension is usable in
- multi-threaded environments.
- [ruby-core:54900] [Bug #8386]
+Sun Oct 17 13:05:04 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- Thanks, Dirkjan Bussink, for the patch!
+ * ext/win32ole/win32ole.c (fole_func_methods): correct argument mismatch.
+ * ext/win32ole/win32ole.c (fole_get_methods): ditto.
+ * ext/win32ole/win32ole.c (fole_put_methods): ditto.
+ * ext/win32ole/tests/testWIN32OLE.rb: add test for WIN32OLE#ole_func_methods
+ WIN32OLE#ole_get_methods, WIN32OLE#ole_put_methods
-Sat Jul 6 06:06:16 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
+Sat Oct 16 14:45:28 2004 Kouhei Sutou <kou@cozmixng.org>
- * lib/openssl/ssl.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:
+ * lib/rss/0.9.rb (RSS::Rss#to_s): removed garbage.
- [id, criticality, octet_string] if critical,
- [id, octet_string] if not.
+Sat Oct 16 13:42:49 2004 Kouhei Sutou <kou@cozmixng.org>
- Making sure to pick the last element of X509 extension and use it as
- SAN value.
- [ruby-core:55685] [Bug #8575]
+ * lib/rss/: untabified.
+ * test/rss/: untabified.
+ * lib/rss/0.9.rb (RSS::Rss#to_s): inent -> indent.
- Thank you @nahi for providing the patch!
+Sat Oct 16 13:34:56 2004 Kouhei Sutou <kou@cozmixng.org>
-Sat Jul 6 04:49:38 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * lib/rss: supported prety print.
+ * test/rss/test_1.0.rb: added test for calculating default indent size.
- * ext/psych/lib/psych/visitors/yaml_tree.rb: register time objects so
- they are referenced as ids during output.
- * test/psych/test_date_time.rb: corresponding test.
+Fri Oct 15 18:04:35 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jul 5 20:46:39 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/lib/tk/timer.rb: TkTimer.new(interval, loop){ ... } is
+ acceptable. Add TkTimer.start ( == new + start ).
- * test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic): this
- assertion doesn't seems to be checking the unicode string on command
- line, but seems to be checking how to treat the unicode string from
- stdin. so, should escape '\' before 'u'. this fixes a test failure
- on Windows.
+Fri Oct 15 12:43:09 2004 Tanaka Akira <akr@m17n.org>
-Fri Jul 5 19:05:40 2013 Akinori MUSHA <knu@iDaemons.org>
+ * eval.c (Init_stack): make prototype declaration consistent with
+ the definition in gc.c.
- * lib/fileutils.rb (FileUtils#chown, FileUtils#chown_R): Fix the
- wrong output message when user is nil, which should be "chown
- :group file" instead of "chown group file".
+Thu Oct 14 14:34:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Jul 5 16:21:56 2013 Akinori MUSHA <knu@iDaemons.org>
+ * io.c (MODE_BINMODE, MODE_BINARY): fixed reversed condition.
- * test/ruby/test_regexp.rb
- (TestRegexp#test_options_in_look_behind)
- (TestRegexp#assert_match_at): Add tests for another problem
- fixed in Onigmo 5.13.5. Previously Onigmo did not allow option
- enclosures in look-behind, which makes it impossible to
- interpolate a regexp into another in the middle of a look-behind
- pattern. cf. https://github.com/k-takata/Onigmo/pull/17
+Thu Oct 14 13:33:59 2004 Kouhei Sutou <kou@cozmixng.org>
- * test/ruby/test_regexp.rb
- (TestRegexp#test_options_in_look_behind)
- (TestRegexp#assert_match_at): Parse regexps in run time rather
- than in compile time.
+ * lib/rss/rss.rb: added link to Tutorial.
-Fri Jul 5 12:14:40 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Oct 11 13:48:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_notfound): after
- r41710, the path of command uses backslash as the separator on
- Windows.
+ * ext/tk/lib/tk/*: untabify
-Fri Jul 5 11:29:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 10 12:32:08 2004 Dave Thomas <dave@pragprog.com>
- * lib/test/unit/assertions.rb (assert_raise_with_message): move from
- test/fileutils/test_fileutils.rb. this is still experimental and
- the interface may be changed.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Allow 'require'
+ to be used as a variable name
-Fri Jul 5 11:08:00 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Oct 9 21:23:37 2004 Kouhei Sutou <kou@cozmixng.org>
- * win32/win32.c (w32_spawn): r41710 made that if the command starts with
- a quote and includes slash, removed the top quote and NOT removed the
- last quote.
- this fixes test failures on test/ruby/test_process.rb and
- test/webrick.
+ * lib/rss/converter.rb: changed to try to use Iconv for default
+ conversion.
-Fri Jul 5 09:53:15 2013 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/mkmf.rb (CONFIG['CPPOUTFILE']): fix r41769; CONFIG['CPPOUTFILE']
- may be nil.
+ * lib/rss/rss.rb: 0.0.9 -> 0.1.0.
-Fri Jul 5 05:39:53 2013 Tanaka Akira <akr@fsij.org>
+Sat Oct 9 19:50:36 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (BARY_MUL1): Renamed from BARY_MUL.
- (bary_mul1): Renamed from bary_mul.
- (bary_mul): Renamed from bary_mul2.
+ * io.c (rb_io_getline): should not treat char as negative value.
+ [ruby-dev:24460]
-Fri Jul 5 04:58:05 2013 Tanaka Akira <akr@fsij.org>
+Fri Oct 8 09:49:32 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (bary_mul_balance): Extracted from bigmul1_balance and
- use bary_mul2 and bary_add to decrease allocations.
+ * pack.c (pack_pack): pointer modification check before each
+ iteration. [ruby-dev:24445]
-Fri Jul 5 02:14:00 2013 Akinori MUSHA <knu@iDaemons.org>
+Fri Oct 8 01:13:05 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/fileutils.rb (FileUtils#symbolic_modes_to_i): Fix the wrong
- character class [+-=], which happened to match all desired
- characters but also match undesired characters.
+ * ext/tk/lib/tk/optiondb.rb: make it more secure
- * lib/fileutils.rb (FileUtils.chmod{,_R}): Enhance the symbolic
- mode parser to support the permission symbols u/g/o and multiple
- actions as defined in SUS, so that chmod("g=o+w", file) works as
- expected. Invalid symbolic modes are now rejected with
- ArgumentError.
+Thu Oct 7 23:47:57 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jul 5 00:25:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/scrollbar.rb: When 'set' operation, a scrollbar
+ cannot propagate view port information from the source widget
+ (that calls 'set') to other assigned widgets.
- * lib/mkmf.rb (have_framework): allow header file to check.
- [ruby-core:55745] [Bug #8593]
+Thu Oct 7 17:36:25 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Jul 4 22:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/tk/lib/tk.rb: When CHILDKILLED and so on, Tk.errorCode returns
+ a Fixnum for 2nd element (it's pid) of the return value.
- * object.c (rb_obj_equal): Fixed an rb_obj_equal documentation typo
- where "a" was used instead of "obj".
- Fixes GH-349. Patch by @adnandoric
+Thu Oct 7 12:55:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 4 20:39:20 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (io_read): should freeze buffer before thread context
+ switch. [ruby-dev:24442]
- * tool/make-snapshot: Exit with EXIT_FAILURE when it fails.
+ * pack.c (pack_unpack): string conversion should at the top of the
+ method. [ruby-dev:24439]
-Thu Jul 4 20:20:23 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (io_read): buffer should be frozen only after the length
+ check. [ruby-dev:24440]
- * bignum.c (maxpow_in_bdigit_dbl): Use tables if available.
- (maxpow_in_bdigit): Ditto.
- (U16): New macro.
- (U32): Ditto.
- (U64): Ditto.
- (U128): Ditto.
- (maxpow16_exp): New table.
- (maxpow16_num): New table.
- (maxpow32_exp): New table.
- (maxpow32_num): New table.
- (maxpow64_exp): New table.
- (maxpow64_num): New table.
- (maxpow128_exp): New table.
- (maxpow128_num): New table.
+Thu Oct 7 02:56:43 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jul 4 18:25:25 2013 Tanaka Akira <akr@fsij.org>
+ * ext/stringio/stringio.c: use FMODE_APPEND.
- * bignum.c (rb_cstr_to_inum): Avoid temporary buffer allocation except
- very big base non-power-of-2 numbers.
+Thu Oct 7 01:05:33 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Jul 4 15:51:56 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/lib/tk.rb: add Tk.errorInfo and Tk.errorCode
- * string.c (rb_str_succ): use ONIGENC_MBCLEN_CHARFOUND_P correctly.
+Thu Oct 7 00:08:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * string.c (rb_str_dump): ditto.
+ * io.c (rb_io_s_sysopen): preserve path in the buffer allocated by
+ ALLOCA_N() to prevent modification. [ruby-dev:24438]
+
+Wed Oct 6 09:21:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (rb_io_mode_flags): preserve append mode flag.
+ [ruby-dev:24436]
+
+ * io.c (rb_io_modenum_mode): do not use external output buffer.
+
+ * string.c (rb_str_justify): differ pointer retrieval to prevent
+ padding string modification. [ruby-dev:24434]
+
+ * range.c (range_each_func): allow func to terminate loop by
+ returning RANGE_EACH_BREAK.
+
+ * range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959]
+
+Mon Oct 4 14:04:14 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * io.c (rb_file_open_internal, rb_io_reopen): fname might be altered
+ while GC. [ruby-dev:24408]
+
+Mon Oct 4 12:53:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/optiondb.rb: support definition of command
+ resources on widgets
+
+ * ext/tk/lib/tk/image.rb: bug fix
+
+Sun Oct 3 21:20:03 2004 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/imap.rb (TEXT_REGEXP): allow 8-bit characters for the german
+ version of Microsoft Exchange Server. (backported from HEAD)
-Thu Jul 4 10:04:11 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/net/imap.rb (RTEXT_REGEXP): ditto.
- * regcomp.c (): Merge Onigmo 5.13.5 23b523076d6f1161.
+ * lib/net/imap.rb (CTEXT_REGEXP): ditto.
- * [bug] (thanks Akinori MUSHA and Ippei Obayashi)
- Fix a renumbering bug in condition regexp with a named
- capture. [Bug #8583]
- * [spec] (thanks Akinori MUSHA)
- Allow ENCLOSE_OPTION in look-behind.
+Sat Oct 2 20:34:22 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jul 4 00:36:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * node.h (NEW_DVAR): extra semicolon.
- * internal.h (SIGNED_INTEGER_MAX): suppress warning C4146 on VC6.
- seems a logical ORed expression becomes unsigned.
+Sat Oct 2 00:42:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 4 00:13:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * marshal.c (r_byte): retrieve pointer from string value for each
+ time. [ruby-dev:24404]
- * ruby_atomic.h (rb_w32_atomic_cas): call InterlockedCompareExchange
- directly.
+ * marshal.c (r_bytes0): ditto.
- * ruby_atomic.h (ATOMIC_CAS): fix missing function call.
+ * enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399]
-Wed Jul 3 23:47:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (io_read): should freeze all reading buffer.
+ [ruby-dev:24400]
- * ruby_atomic.h (ATOMIC_CAS): suppress C4022 and C4047 warnings in
- VC6. only InterlockedCompareExchange is declared using PVOID.
+ * string.c (rb_str_sum): should use bignums when bits is greater
+ than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]
-Wed Jul 3 22:29:20 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (specific_eval): defer pointer retrieval to prevent
+ unsafe sourcefile string modification. [ruby-dev:24382]
- * internal.h (ruby_digit36_to_number_table): Declared.
+ * eval.c (specific_eval): defer pointer retrieval to prevent
+ unsafe sourcefile string modification. [ruby-dev:24382]
- * util.c (ruby_digit36_to_number_table): Moved from scan_digits.
+ * string.c (rb_str_sum): wrong cast caused wrong result.
+ [ruby-dev:24385]
- * bignum.c (conv_digit): Use ruby_digit36_to_number_table.
+ * enum.c (enum_sort_by): hide temporary array from
+ ObjectSpace.each_object. [ruby-dev:24386]
- * pack.c (hex2num): Ditto.
+ * string.c (rb_str_sum): check was done with false pointer.
+ [ruby-dev:24383]
-Wed Jul 3 18:12:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
- * lib/mkmf.rb (install_dirs): revert DESTDIR prefix by r39841, since
- it is fixed by r41648. [ruby-core:55760] [Bug #8115]
+Mon Oct 11 17:51:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jul 3 14:15:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (rb_io_popen): get mode string via rb_io_flags_mode() to
+ avoid mode string modification. [ruby-dev:24454]
- * dir.c (do_stat): use rb_w32_ustati64() in win32.c to get rid of
- mysterious behavior of FindFirstFile() Windows API which treat "<"
- and ">" like as wildcard characters. [ruby-core:55764] [Bug #8597]
+ * io.c (rb_io_getline_fast): should take delim as unsigned char to
+ distinguish EOF and '\377'. [ruby-dev:24460]
-Wed Jul 3 12:06:42 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_getline): add check for RS modification.
+ [ruby-dev:24461]
- * bignum.c (maxpow_in_bdigit): Renamed from calc_hbase and return
- maxpow.
+ * enum.c (enum_sort_by): use qsort() directly instead using
+ rb_iterate(). [ruby-dev:24462]
-Tue Jul 2 23:47:50 2013 Tanaka Akira <akr@fsij.org>
+ * enum.c (enum_each_with_index): remove rb_gc_force_recycle() to
+ prevent access to recycled object (via continuation for
+ example). [ruby-dev:24463]
- * bignum.c (roomof): Cast to long.
- (rb_ull2big): Fix bignew arguments.
+Fri Oct 1 11:40:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 2 21:17:37 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe
+ sourcefile string modification. [ruby-dev:24373]
- * bignum.c (rb_cstr_to_inum): Merge two temporary buffers.
+ * io.c (io_read): block string buffer modification during
+ rb_io_fread() by freezing it temporarily. [ruby-dev:24366]
-Tue Jul 2 20:25:04 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_s_popen): mode argument may be altered.
+ [ruby-dev:24375]
- * bignum.c (rb_cstr_to_inum): Use BDIGIT_DBL to collect adjacent digits.
- (BDIGIT_DBL_MAX): New macro.
- (maxpow_in_bdigit_dbl): New function.
+ * file.c (rb_file_s_basename): ext argument may be altered.
+ [ruby-dev:24377]
-Tue Jul 2 17:23:33 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * enum.c (enum_sort_by): use NODE instead of 2 element arrays.
+ [ruby-dev:24378]
- * doc/syntax/refinements.rdoc: add description of Module#using and
- refinement inheritance by module inclusion.
+ * string.c (rb_str_chomp_bang): StringValue() may change the
+ receiver. [ruby-dev:24371]
-Tue Jul 2 17:22:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 1 11:25:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * internal.h: add EUC-JP and Windows-31J.
+ * ext/tk/lib/tk/grid.rb: revive TkGrid.grid
- * re.c (rb_char_to_option_kcode): use built-in encoding indexes in
- internal.h.
+ * ext/tk/lib/tk/pack.rb: revive TkPack.pack
- * internal.h: add UTF8-MAC.
+ * ext/tk/lib/tk/place.rb: revive TkPlace.place
- * dir.c (rb_utf8mac_encoding): use built-in encoding indexes in
- internal.h.
+Thu Sep 30 00:50:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * internal.h: add UTF-{16,32} dummy encodings.
+ * ext/tcltklib/tcltklib.c (ip_init): bug fix
- * string.c (rb_str_inspect, str_scrub0): use built-in encoding indexes
- in internal.h.
+ * ext/tk/tkutil.c (get_eval_string_core): accept a Regexp object
- * internal.h: add UTF-{16,32}{BE,LE}.
+ * ext/tk/lib/multi-tk.rb: fix bug on 'exit' operation
- * io.c (io_strip_bom): use built-in encoding indexes in internal.h.
+ * ext/tk/lib/tk/text.rb: 'tksearch' accepts a Regexp object as a
+ matting pattern argument
- * internal.h (rb_{ascii8bit,utf8,usascii}_encindex): use built-in
- encoding indexes for optimization.
+Wed Sep 29 10:58:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * encoding.c (enc_inspect, rb_locale_encindex),
- (enc_set_filesystem_encoding, rb_filesystem_encindex): use built-in
- encoding indexes directly.
+ * enum.c (sort_by_i): internally used object must not be changed
+ outside. [ruby-dev:24368]
- * encoding.c (rb_enc_set_index, rb_enc_associate_index): validate
- argument encoding index.
+Mon Sep 27 13:46:45 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/encoding.h (ENCODING_SET): use rb_enc_set_index()
- instead of setting inlined bits directly.
+ * intern.h, struct.c (rb_struct_s_members, rb_struct_members): public
+ accessors. [ruby-dev:24342]
- * encoding.c (rb_enc_init): register preserved indexes.
+ * marshal.c (w_object, r_object0): use accessors.
- * internal.h (ruby_preserved_encindex): move from encoding.c.
+Mon Sep 27 09:14:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 2 11:14:36 2013 Shota Fukumori <sorah@cookpad.com>
+ * ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.
+ [ruby-talk:113807]
- * lib/mkmf.rb (try_config): Fix to not replace $LDFLAGS with $libs
- (1.9.3 behavior) [ruby-core:55752] [Bug #8595]
+Fri Sep 24 16:09:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jul 2 00:39:59 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (proc_invoke): propagate DVAR_DONT_RECYCLE on termination
+ to avoid double call to rb_gc_force_recycle(). [ruby-dev:24311]
- * ext/socket/ipsocket.c (init_inetsock_internal): Don't try mismatched
- address family if already failed.
+Fri Sep 24 08:29:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jul 1 23:07:38 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * array.c (rb_ary_subseq): original object might be modified after
+ sharing data creation. [ruby-dev:24327]
- * template/encdb.h.tmpl: define encoding index macros to use the index
- statically from C source.
+ * array.c (rb_ary_replace): ditto.
-Mon Jul 1 22:57:19 2013 Tanaka Akira <akr@fsij.org>
+ * array.c (ary_make_shared): freeze shared array. [ruby-dev:24325]
- * bignum.c (bary_mul2): New function.
- (rb_cstr_to_inum): Use a better algorithm to compose the result
- if input length is very long.
+ * struct.c (struct_members): always check struct size and size of
+ members list in the class. [ruby-dev:24320]
-Mon Jul 1 20:22:00 2013 Kenta Murata <mrkn@cookpad.com>
+Thu Sep 23 09:29:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.h (RB_UNUSED_VAR, UNREACHABLE):
- import macros from ruby.h for 1.9.3.
- [Bug #8588] [ruby-core:55730]
+ * string.c (rb_str_sub_bang): check if string is not modified
+ during iteration. [ruby-dev:24315]
- * ext/bigdecimal/bigdecimal.gemspec: Bump version to 1.2.1.
+ * hash.c (rb_hash_rehash): replace st_foreach() by its deep
+ checking counterpart. [ruby-dev:24310]
-Mon Jul 1 20:03:39 2013 Tanaka Akira <akr@fsij.org>
+Wed Sep 22 13:38:12 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/ipsocket.c (init_inetsock_internal): Use an address
- family for local address which is different to the remote
- address if no other choice.
+ * hash.c (rb_hash_rehash): add iteration check. [ruby-dev:24301]
-Mon Jul 1 15:05:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * st.c (st_foreach): add deep check.
- * lib/csv.rb (CSV#<<): use StringIO#set_encoding instead of creating
- new StringIO instance with String#force_encoding, forcing encoding
- discards the cached coderange bits and can make further operations
- very slow. [ruby-core:55714] [Bug #8585]
+Wed Sep 22 13:06:14 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/stringio/stringio.c (strio_write): keep coderange of
- ptr->string.
+ * win32/win32.c (rb_w32_call_handler): workaround for Ctrl-C.
+ merge from HEAD.
- * string.c (rb_enc_cr_str_buf_cat, rb_str_append): consider an empty
- string 7bit-clean and should not discard cached coderange of string
- to be appended.
+Wed Sep 22 00:11:12 2004 Dave Thomas <dave@pragprog.com>
-Mon Jul 1 12:56:41 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * process.c: Add documentation for fork()
- * eval.c (rb_using_module): activate refinements in the ancestors of
- the argument module to support refinement inheritance by
- Module#include. [ruby-core:55671] [Feature #8571]
+Wed Sep 22 09:04:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_refinement.rb: related test.
+ * array.c (rb_ary_collect_bang): element size might change during
+ comparison. [ruby-dev:24300]
-Mon Jul 1 12:02:39 2013 Tanaka Akira <akr@fsij.org>
+ * array.c (rb_ary_reject_bang): ditto. [ruby-dev:24300]
- * bignum.c (rb_cstr_to_inum): Skip leading zeros.
+ * array.c (rb_ary_eql): ditto. [ruby-dev:24300]
-Mon Jul 1 00:59:23 2013 Tanaka Akira <akr@fsij.org>
+Tue Sep 21 18:29:49 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (nlz16): New function.
- (nlz32): Ditto.
- (nlz64): Ditto.
- (nlz128): Ditto.
- (nlz): Redefined using an above function.
- (bitsize): New macro.
- (rb_cstr_to_inum): Use bitsize instead of nlz.
+ * array.c (rb_ary_equal): merge miss.
-Sun Jun 30 22:40:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * array.c (rb_ary_uniq_bang): element size might change during
+ comparison. [ruby-dev:24298]
- * lib/prime.rb: Corrected a few comments. Patch by @Nullset14.
- Fixes GH-346.
+Mon Sep 20 00:24:19 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jun 30 21:53:38 2013 Tanaka Akira <akr@fsij.org>
+ * enum.c (enum_sort_by): do not use qsort directly. use
+ rb_ary_sort_bang() instead. [ruby-dev:24291]
- * bignum.c (rb_cstr_to_inum): Use rb_integer_unpack if base is a power
- of 2.
+ * enum.c (enum_sort_by): pedantic type check added.
+ [ruby-dev:24291]
-Sun Jun 30 10:59:23 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * hash.c (rb_hash_foreach_iter): check iter_lev after each
+ iteration. [ruby-dev:24289]
- * win32/win32.c (join_argv): use backslash instead of slash in program
- path, otherwise cannot invoke "./c\u{1ee7}a.exe" for some reason.
- [ruby-core:24309] [Bug #1771]
+ * array.c (rb_ary_and): element size might change during
+ comparison. [ruby-dev:24290]
- * io.c (spawnv, spawn): use UTF-8 spawn family. [Bug #1771]
+ * array.c (rb_ary_or): ditto. [ruby-dev:24292]
- * process.c (proc_exec_sh, proc_spawn_cmd, proc_spawn_sh): ditto.
+ * array.c (rb_ary_equal): wrong fix. [ruby-dev:24286]
- * win32/win32.c (translate_char, join_argv, has_redirection): make
- codepage aware.
+Sat Sep 18 15:02:22 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * win32/win32.c (rb_w32_udln_find_exe_r, rb_w32_udln_find_file_r):
- codepage independent versions.
+ * array.c (rb_ary_equal): element size might change during
+ comparison. [ruby-dev:24254]
- * win32/win32.c (w32_spawn): extract codepage aware code from
- rb_w32_spawn().
+ * array.c (rb_ary_diff): ditto. [ruby-dev:24274]
- * win32/win32.c (rb_w32_uspawn): add UTF-8 version function.
+ * array.c (rb_ary_select): ditto. [ruby-dev:24278]
- * win32/win32.c (w32_aspawn_flags): extract codepage aware code from
- rb_w32_aspawn_flags().
+ * array.c (rb_ary_delete): ditto. [ruby-dev:24283]
- * win32/win32.c (rb_w32_uaspawn_flags, rb_w32_uaspawn_flags): add
- UTF-8 version functions.
+ * array.c (rb_ary_rindex): ditto. [ruby-dev:24275]
- * win32/win32.c (w32_getenv): extract codepage aware code from
- rb_w32_ugetenv() and rb_w32_getenv().
+ * array.c (rb_ary_initialize): element size might change during
+ initializing block. [ruby-dev:24284]
- * win32/win32.c (w32_stati64): extract codepage aware code from
- rb_w32_ustati64() and rb_w32_stati64().
+Sat Sep 18 14:10:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * dln.h (DLN_FIND_EXTRA_ARG, DLN_FIND_EXTRA_ARG_DECL): allow extra
- arguments to dln_find_{exe,file}_r().
+ * dir.c (dir_s_chdir): avoid memory leak and unnecessary chdir to
+ the original directory when exception has caused in changing
+ direcotry or within block. thanks to Johan Holmberg
+ <holmberg@iar.se> [ruby-core:03446]
- * dln_find.c (dln_find_exe_r, dln_find_file_r): add extract arguments.
+Fri Sep 17 20:20:27 2004 Minero Aoki <aamine@loveruby.net>
- * process.c (EXPORT_STR, EXPORT_DUP): convert to default process
- encoding if defined.
+ * lib/fileutils.rb (mkdir_p): backport from CVS HEAD 1.45. [ruby-core:03420]
- * process.c (check_exec_env_i): convert environment variables too.
+Fri Sep 17 17:11:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * process.c (rb_exec_fillarg): convert program path and arguments too.
+ * array.c (rb_ary_delete): element comparison might change array
+ size. [ruby-dev:24273]
-Sun Jun 30 01:57:08 2013 Tanaka Akira <akr@fsij.org>
+ * file.c (rb_file_truncate): clear stdio buffer before truncating
+ the file. [ruby-dev:24191]
- * bignum.c (big_rshift): Use abs2twocomp and twocomp2abs_bang.
+ * ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF
+ which might return singleton class. [ruby-dev:24202]
-Sun Jun 30 00:14:20 2013 Tanaka Akira <akr@fsij.org>
+Fri Sep 17 16:07:09 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (RBIGNUM_SET_NEGATIVE_SIGN): New macro.
- (RBIGNUM_SET_POSITIVE_SIGN): Ditto.
- (rb_big_neg): Inline get2comp to avoid double negation.
+ * ext/tk/lib/multi-tk.rb: improve exit operation
-Sat Jun 29 23:26:41 2013 Tanaka Akira <akr@fsij.org>
+Fri Sep 17 15:01:57 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (bary_neg): Extracted from bary_2comp.
- (bary_plus_one): Extracted from bary_2comp.
- (bary_2comp): Use bary_neg and bary_plus_one.
- (big_extend_carry): Extracted from get2comp.
- (get2comp): Use big_extend_carry.
- (rb_integer_unpack): Use big_extend_carry.
- (rb_big_neg): Use bary_neg.
+ * ext/tcltklib/tcltklib.c: fix SEGV when (thread_)vwait or
+ (thread_)tkwait
-Sat Jun 29 22:31:59 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: add alias wait_window to wait_destroy
- * bignum.c (bary_2comp): Simplified.
+ * ext/tk/lib/multi-tk.rb: support calling 'mainloop' on slave
+ interpreters (however, the 'real' eventloop must be run on the
+ Default Master IP)
-Sat Jun 29 09:33:53 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/remote-tk.rb: follow the changes of ext/tk/lib/multi-tk.rb
- * bignum.c (bigor_int): Return -1 if y == -1.
+ * ext/tk/sample/remote-ip_sample2.rb: ditto
-Sat Jun 29 09:07:16 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/tkoptdb-safeTk.rb: ditto
- * bignum.c (bigor_int): Use RB_GC_GUARD.
- (bigxor_int): Take xn and hibitsx arguments. Use twocomp2abs_bang.
- (rb_big_xor): Use abs2twocomp and twocomp2abs_bang.
+Thu Sep 16 18:12:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Jun 29 08:19:58 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/cgi.rb (WEBrick::CGI#start): should set REMOTE_USER
+ to request.user attribute.
- * bignum.c (bigand_int): Don't apply bitwise and for BDIGIT and long.
- (bigor_int): Take xn and hibitsx arguments. Use twocomp2abs_bang.
- (rb_big_or): Use abs2twocomp and twocomp2abs_bang.
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::FileHandler#initialize): should expand
+ the pathname of document root directory.
-Fri Jun 29 01:08:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Thu Sep 16 15:49:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * numeric.c (fix_mul): remove FIT_SQRT_LONG test as it was causing
- fix_mul to return an incorrect result for -2147483648*-2147483648
- on 64 bit platforms
+ * string.c (rb_str_intern): protect string argument from GC.
+ [ruby-core:03411]
- * test/ruby/test_integer_comb.rb (class TestIntegerComb): add test case
+Wed Sep 15 20:22:23 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jun 28 12:26:53 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/tkoptdb-safeTk.rb: fix a bug depend on the changes
+ of MultiTkIp
- * bignum.c (rb_big_and): Allocate new bignum with same size to shorter
- argument if it's high bits are zero.
+Tue Sep 14 23:54:11 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jun 28 12:14:04 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string was en-bugged by
+ the previous changes.
- * ext/socket/ipsocket.c (init_inetsock_internal): Don't use local
- addresses which address family is different to remote address.
+Tue Sep 14 23:45:44 2004 Dave Thomas <dave@pragprog.com>
-Fri Jun 28 08:06:22 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::TextFormatter.for):
+ Add Eric Hodel's simpleformatter.
- * bignum.c (bigand_int): Add arguments, xn and hibitsx.
- Use twocomp2abs_bang.
+Tue Sep 14 16:59:37 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Jun 27 23:58:13 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c: fix SEGV
- * bignum.c (abs2twocomp_bang): Removed.
- (abs2twocomp): Take n_ret argument to return actual length.
- (rb_big_and): Follow above change.
+ * ext/tk/lib/multi-tk.rb: improve safe-level handling of argument proc
-Thu Jun 27 22:52:19 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/multi-ip_sample.rb: rename of old 'safe-tk.rb'
- * bignum.c (get2comp): Use bary_2comp.
- (abs2twocomp_bang): New function.
- (abs2twocomp): New function.
- (twocomp2abs_bang): New function.
- (rb_big_and): Use abs2twocomp and twocomp2abs_bang.
+ * ext/tk/sample/safe-tk.rb: new sample script
-Thu Jun 27 20:03:13 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Tue Sep 14 00:15:15 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/openssl/lib/openssl/ssl.rb (verify_certificate_identity): fix
- hostname verification. Patched by nahi.
+ * ext/zlib/zlib.c: backported from HEAD.
- * test/openssl/test_ssl.rb (test_verify_certificate_identity): test for
- above.
+Mon Sep 13 19:16:33 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * eval.c (blk_copy_prev): need frame_dup(). [ruby-dev:24103]
-Thu Jun 27 00:23:57 2013 Tanaka Akira <akr@fsij.org>
+Mon Sep 13 16:23:27 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (rb_big_pow): Retry if y is a Bignum and it is
- representable as a Fixnum.
- Use rb_absint_numwords.
+ * ext/tk/lib/multi-tk.rb: MultiTkIp.new_master and new_slave accept
+ safe-level value argument
-Wed Jun 26 23:53:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Mon Sep 13 10:20:45 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode): fix typo.
- Fixes GH-343. Patch by @jgarber.
+ * object.c (nil_inspect): fix typo.
-Wed Jun 26 23:22:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Sep 13 01:03:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * enumerator.c (rb_enumeratorize_with_size): use strict definition
- rb_enumerator_size_func.
+ * ext/tcltklib/tcltklib.c: improve control of preserv/release tcltkip
-Wed Jun 26 23:11:14 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tcltklib/tcltklib.c: store original 'exit' command
- * gc.c (is_before_sweep): Add a missing space before a parenthesis.
- * gc.c (rb_gc_force_recycle): Add a missing space around a parenthesis.
+ * ext/tk/tkutil.c: fix(?) SEGV
-Wed Jun 26 22:44:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Sep 12 23:46:23 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * include/ruby/intern.h (rb_enumeratorize_with_size): cast for
- backward compatibility.
+ * util.c (ruby_strdup): remove unnecessary code. (xmalloc never
+ returns NULL.)
- * include/ruby/intern.h (rb_enumerator_size_func): define strict
- function declaration for rb_enumeratorize_with_size().
+ * util.c (ruby_getcwd): fix memory leak on failure.
-Wed Jun 26 21:01:22 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+Sun Sep 12 02:41:58 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): skip if
- writing a file is slow.
- [ruby-core:55541] [Bug #8519]
+ * ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and
+ allow_ruby_exit=
-Wed Jun 26 16:42:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb: should use expanded values for header directories
- unless extmk. patch by vo.x (Vit Ondruch) at [ruby-core:55653]
- [Bug #8115], rhbz#921650.
+ * ext/tk/lib/multi-tk.rb: ditto.
-Wed Jun 26 12:48:22 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/remote-tk.rb: ditto.
- * bignum.c (bigxor_int): Fix a buffer over read.
+ * ext/tcltklib/MANUAL.euc: ditto.
-Wed Jun 26 12:13:12 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/MANUAL.eng: ditto.
- * bignum.c (bigand_int): Consider negative values.
- (bigor_int): The allocated bignum should have enough size
- to store long.
- This fixes (bignum fits in a BDIGIT) | (fixnum bigger than BDIGIT)
- on platforms which SIZEOF_BDIGITS < SIZEOF_LONG,
- such as LP64 with 32bit BDIGIT (no int128).
+ * ext/tcltklib/tcltklib.c: fix some reasons of SEGV
-Wed Jun 26 12:08:51 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/tkutil.c: ditto.
- * test/socket/test_udp.rb: Close sockets explicitly.
- Don't use fixed port number.
+ * ext/tk/lib/multi-tk.rb: ditto.
-Wed Jun 26 07:27:17 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/timer.rb: ditto.
- * bignum.c (bigand_int): Fix a buffer over read.
+Sat Sep 11 16:09:46 2004 Dave Thomas <dave@pragprog.com>
-Wed Jun 26 06:48:07 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/parsers/parse_rb.rb: Fix up cross-file class merging.
- * bignum.c (bigadd_int): Fix a buffer over read.
+Fri Sep 10 20:20:53 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Jun 26 01:18:13 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (lib_merge_tklist): fix suspicious
+ pointer conversion.
- * gc.c (is_before_sweep): Add new helper function that check the object
- is before sweep?
- * gc.c (rb_gc_force_recycle): Have to clear mark bit if object's slot
- already ready to minor sweep.
+Fri Sep 10 02:43:54 2004 Dave Thomas <dave@pragprog.com>
-Wed Jun 26 01:17:29 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/generators/template/kilmer.rb: James Buck's
+ patch for call-seq.
- * bignum.c (bigsub_int): Fix a buffer over read.
+Thu Sep 9 13:58:56 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Jun 25 22:45:43 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c (ip_init): change flag value for setting
+ 'argv' and 'argv0' variable
- * bignum.c (rb_absint_singlebit_p): Use POW2_P.
- (bary_pack): Ditto.
- (rb_big2str0): Ditto.
- (POW2_P): Moved to top.
+ * ext/tk/lib/remote-tk.rb: follow changes of multi-tk.rb
-Tue Jun 25 22:28:07 2013 Akinori MUSHA <knu@iDaemons.org>
+Thu Sep 9 11:46:18 2004 Dave Thomas <dave@pragprog.com>
- * lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Pass
- DESTDIR via command line to override what's in MAKEFLAGS. This
- fixes an installation problem under a package building
- environment where DESTDIR is specified in the (parent) command
- line. [Fixes GH-327]
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_classes): Allow
+ spaces aroun parameter to define_method_under (James Buck)
-Tue Jun 25 21:43:13 2013 Tanaka Akira <akr@fsij.org>
+Wed Sep 8 18:44:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (big2dbl): Use (BDIGIT)1 instead of 1UL.
- (bary_mul_normal): Remove a useless cast.
+ * ext/stringio/stringio.c (strio_write): zero fill a gap if exsts.
+ [ruby-dev:24190]
-Tue Jun 25 21:26:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Wed Sep 8 15:19:49 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.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]
- [Fixes GH-332] https://github.com/ruby/ruby/pull/332
+ * ext/tcltklib/tcltklib.c (ip_init): cannot create a IP at level 4
-Tue Jun 25 20:36:31 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/multi-tk.rb: improve 'exit' operation, security check,
+ and error treatment
- * bignum.c (big2ulong): "check" argument removed.
- (rb_big2ulong): Follow above change.
- (rb_big2long): Ditto.
- (rb_big_rshift): Ditto.
- (rb_big_aref): Ditto.
+ * ext/tk/lib/multi-tk.rb: allow a trusted slave IP to create slave IPs
-Tue Jun 25 20:08:29 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/listbox.rb: add TkListbox#value, value=, clear, and
+ erase
- * bignum.c (rb_big2ulong_pack): Use rb_integer_pack.
- (rb_big_aref): Call big2ulong with TRUE for "check" argument.
- It should be non-effective.
+ * ext/tk/lib/tk/text.rb: add TkText#clear and erase
-Tue Jun 25 19:07:33 2013 Tanaka Akira <akr@fsij.org>
+Tue Sep 7 15:17:49 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (LSHIFTX): Revert r41611.
- The redundant expression suppresses a warning, C4293, by Visual
- Studio.
- http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130625T072854Z.log.html.gz#miniruby
+ * ext/socket/socket.c (ruby_connect): break immediately if a
+ socket is non-blocking. [ruby-talk:111654]
-Tue Jun 25 19:03:00 2013 Tanaka Akira <akr@fsij.org>
+Mon Sep 6 11:08:50 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * bignum.c (big2ulong): Add a cast.
- (big2ull): Add a specialized code for SIZEOF_LONG_LONG <=
- SIZEOF_BDIGITS.
+ * ext/tk/lib/tk/menu.rb(TkOptionMenubutton#insert): call correct method
-Tue Jun 25 12:42:57 2013 Tanaka Akira <akr@fsij.org>
+Mon Sep 6 11:00:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (integer_unpack_single_bdigit): Use "1 + ~u" instead of
- "-u" to suppress warning (C4146) by Visual Studio.
- Reported by ko1 via IRC.
+ * dir.c (dir_s_chdir): the patch to shut up false warning when
+ exception occurred within a block. a patch was given from Johan
+ Holmberg <holmberg at iar.se>. [ruby-core:03292]
-Tue Jun 25 12:28:57 2013 Tanaka Akira <akr@fsij.org>
+Mon Sep 6 07:51:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (big2ulong): Add code specialized for SIZEOF_LONG <=
- SIZEOF_BDIGITS.
- This prevents shift width warning from "num <<= BITSPERDIG".
+ * eval.c (cvar_cbase): singletons should refer outer cvar scope.
+ [ruby-dev:24223]
-Tue Jun 25 12:23:30 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_load): should preserve previous ruby_wrapper value.
+ [ruby-dev:24226]
- * gc.c: fix oldgen/remembered_shady counting algorithm.
+Sat Sep 4 01:14:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (rgengc_check_shady): increment
- `objspace->rgengc.remembered_shady_object_count' here.
+ * eval.c (cvar_cbase): class variables cause SEGV in
+ instance_eval() for fixnums and symbols. [ruby-dev:24213]
- * gc.c (rgengc_remember): return FALSE if obj is already remembered.
+Fri Sep 3 17:47:58 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (rgengc_rememberset_mark): make it void.
+ * struct.c (make_struct): remove redefining constant when
+ conflict. [ruby-dev:24210]
- * gc.c (gc_mark_children): fix to double counting oldgen_object_count
- at minor GC.
+Fri Sep 3 11:31:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Jun 25 12:07:18 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: Tk.after makes TkCore::INTERP.tk_cmd_tbl grow
+ [ruby-dev:24207]
- * bignum.c (MSB): Removed.
- (BDIGIT_MSB): Defined using BIGRAD_HALF.
- (bary_2comp): Apply BIGLO after possible over flow of BDIGIT.
- (get2comp): Ditto.
- (bary_unpack_internal): Use BDIGIT_MSB.
- Apply BIGLO after possible over flow of BDIGIT.
- (rb_integer_unpack): Use BDIGIT_MSB.
- (calc_hbase): Use BDIGMAX.
- (big2dbl): Use BDIGMAX.
- Apply BIGLO after possible over flow of BDIGIT.
- (rb_big_neg): Apply BIGLO after possible over flow of BDIGIT.
- (biglsh_bang): Ditto.
- (bigrsh_bang): Ditto.
- (bary_divmod): Use BDIGIT_MSB.
- (bigdivrem): Ditto.
- (bigxor_int): Apply BIGLO after possible over flow of BDIGIT.
+Fri Sep 3 02:12:48 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * marshal.c (shortlen): Use SIZEOF_BDIGITS instead of sizeof(BDIGIT).
+ * ext/tcltklib/tcltklib.c: fix typo [ruby-talk:111266]
- * ext/openssl/ossl_bn.c (ossl_bn_initialize): Use SIZEOF_BDIGITS
- instead of sizeof(BDIGIT).
+ * ext/tk/lib/tk/text.rb: fix typo
-Tue Jun 25 11:40:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: improve safe-level treatment on slave IPs
- * bignum.c (big2ulong): suppress shorten-64-to-32 warning. BDIGIT can
- be bigger than long now.
+Fri Sep 3 01:54:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (LSHIFTX): remove redundant never-true expression.
+ * ext/extmk.rb: already built-in libraries satisfy dependencies.
+ [ruby-dev:24028]
-Tue Jun 25 00:55:54 2013 Masaya Tarui <tarui@ruby-lang.org>
+Thu Sep 2 11:36:20 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c (typedef struct rb_objspace): Change members for monitor objects.
- * gc.c (gc_marks_test): Check all WriteBarrier Errors and track them in obj-tree.
- * gc.c (rgengc_check_shady): Ditto.
- * gc.c (gc_marks): Move 2 function calls to gc_marks_test for test initialize.
+ * eval.c (rb_obj_instance_eval): backported from HEAD.
-Mon Jun 24 23:30:31 2013 Tanaka Akira <akr@fsij.org>
+Wed Sep 1 21:18:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * bignum.c (integer_unpack_single_bdigit): Refine code to filling
- higher bits and use BIGLO.
+ * ext/tk/lib/tk/spinbox.rb: fix typo
-Mon Jun 24 22:26:31 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+Tue Aug 31 18:24:04 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6):
- ifindex() function may not be implemented on Windows. We use another
- check for the case.
+ * ext/tk/tkutil.c (cbsubst_init): fix memory leak
-Mon Jun 24 22:11:37 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV
- * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_nolock):
- skip a failing test on Windows because flock() implementation is
- different from Unix.
+Tue Aug 31 16:04:22 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jun 24 22:06:14 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * ext/tcltklib/tcltklib.c (ip_delete): when a tcltkip is deleted,
+ destroy its root widget
- * test/rubygems/test_gem_installer.rb (test_install_extension_flat):
- use ruby in build directory in case ruby is not installed.
- [ruby-core:53265] [Bug #8058]
+Tue Aug 31 12:30:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jun 24 22:04:02 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * ext/tcltklib/tcltklib.c (del_root): fix SEGV
- * ext/dl/cfunc.c (rb_dlcfunc_call): fix conversion from Bignum to
- pointer. sizeof(DLSTACK_TYPE) is larger than sizeof(long) on
- Windows x64 and higher bits over sizeof(long) of DLSTACK_TYPE was
- zero even if a pointer value was over 32 bits which causes SEGV on
- DL::TestCPtr#test_to_ptr_io. Adding a cast solves the bug.
+Mon Aug 30 23:11:06 2004 Dave Thomas <dave@pragprog.com>
-Mon Jun 24 22:04:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * lib/rdoc/ri/ri_driver.rb (and others): ri now merges documentation
+ if it finds the same class in multiple places.
- * eval_error.c (warn_printf): use rb_vsprintf instead so ruby specific
- extensions like PRIsVALUE can be used in format strings
- * eval_error.c (error_print): use warn_print_str (alias for
- rb_write_error_str) to print a string value instead of using
- RSTRING_PTR and RSTRING_LEN manually
- * eval.c (setup_exception): use PRIsVALUE instead of %s and RSTRING_PTR
+Mon Aug 30 22:40:30 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jun 24 20:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: 'restart' method accepts arguments
- * compile.c (make_name_for_block): use PRIsVALUE in format string
- instead of %s and RSTRING_PTR to protect objects from being garbage
- collected too soon
- * encoding.c (str_to_encindex): ditto
- * hash.c (rb_hash_fetch_m): ditto
- * io.c (rb_io_reopen): ditto
- * parse.y (reg_fragment_check_gen): ditto
- * parse.y (reg_compile_gen): ditto
- * parse.y (ripper_assert_Qundef): ditto
- * re.c (rb_reg_raise): ditto
- * ruby.c (set_option_encoding_once): ditto
- * vm_eval.c (rb_throw_obj): ditto
+Mon Aug 30 21:50:14 2004 Dave Thomas <dave@pragprog.com>
-Mon Jun 24 07:57:18 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * object.c: Add RDoc for Module.included.
- * gc.c (after_gc_sweep): Have to record malloc info before reset.
- * gc.c (gc_prof_timer_start): Pick out part of new record creation as gc_prof_setup_new_record.
- * gc.c (gc_prof_set_malloc_info): Move point of recording allocation size to front of mark.
+Mon Aug 30 15:10:46 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Mon Jun 24 02:53:09 2013 Zachary Scott <zachary@zacharyscott.net>
+ * configure.in (GNU/k*BSD): fixed FTBFS on GNU/k*BSD. [ruby-dev:24051]
- * array.c: Return value in Array overview example found by @PragTob
- [Fixes GH-336] https://github.com/ruby/ruby/pull/336
+Mon Aug 30 11:29:35 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Jun 24 02:45:51 2013 Zachary Scott <zachary@zacharyscott.net>
+ * win32/win32.c (CreateChild): strip trailing spaces. [ruby-dev:24143]
+ merge from HEAD.
- * array.c (rb_ary_zip): typo by @PragTob [Fixes GH-337]
- https://github.com/ruby/ruby/pull/337
+Sun Aug 29 14:08:56 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jun 24 02:42:01 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/tcltklib/tcltklib.c: compile error on bcc32 [ruby-dev:24081]
- * win32/README.win32: grammar typo by @blankenshipz [Fixes GH-334]
- https://github.com/ruby/ruby/pull/334
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string does not work
-Mon Jun 24 00:59:35 2013 Tanaka Akira <akr@fsij.org>
+Sat Aug 28 23:04:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (BIGUP): Use LSHIFTX and avoid cast to consider the type
- of x is bigger than BDIGIT_DBL.
- (big2ulong): Use unsigned long to store the result.
- (big2ull): Use unsigned LONG_LONG to store the result.
- (bigand_int): Use long for num to avoid data loss.
- (bigor_int): Ditto.
- (bigxor_int): Ditto.
+ * bignum.c (rb_big_and): protect parameters from GC.
+ [ruby-talk:110664]
-Sun Jun 23 23:05:58 2013 Tanaka Akira <akr@fsij.org>
+Thu Aug 26 04:38:29 2004 Dave Thomas <dave@pragprog.com>
- * include/ruby/defines.h (BDIGIT): Define it only if it is not defined
- yet. This eases tests and debug.
- (SIZEOF_BDIGITS): Ditto.
- (BDIGIT_DBL): Ditto.
- (BDIGIT_DBL_SIGNED): Ditto.
- (PRI_BDIGIT_PREFIX): Ditto.
- (PRI_BDIGIT_DBL_PREFIX): Ditto.
- (PRIdBDIGIT): Define it only if PRI_BDIGIT_PREFIX is defined.
- (PRIiBDIGIT): Ditto.
- (PRIoBDIGIT): Ditto.
- (PRIuBDIGIT): Ditto.
- (PRIxBDIGIT): Ditto.
- (PRIXBDIGIT): Ditto.
- (PRIdBDIGIT_DBL): Ditto.
- (PRIiBDIGIT_DBL): Ditto.
- (PRIoBDIGIT_DBL): Ditto.
- (PRIuBDIGIT_DBL): Ditto.
- (PRIxBDIGIT_DBL): Ditto.
- (PRIXBDIGIT_DBL): Ditto.
+ * eval.c (return_jump): Minor typo in error message. Now reads
+ "return can't jump across threads".
- * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Define it only if it is
- not defined yet.
+Tue Aug 24 17:30:00 2004 Shugo Maeda <shugo@ruby-lang.org>
-Sun Jun 23 17:29:51 2013 Tanaka Akira <akr@fsij.org>
+ * lib/cgi/session.rb (CGI::Session::FileStore#initialize): do not
+ use a session id as a filename. (backported from HEAD)
- * bignum.c (integer_unpack_single_bdigit): Use a cast.
+ * lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): ditto.
-Sun Jun 23 15:38:07 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): use
+ Dir::tmpdir. (backported from HEAD)
- * bootstraptest/test_thread.rb: rescue resource limitation errors.
+Tue Aug 24 14:40:16 2004 Shugo Maeda <shugo@ruby-lang.org>
-Sun Jun 23 08:19:27 2013 Tanaka Akira <akr@fsij.org>
+ * lib/cgi/session.rb (CGI::Session::FileStore#initialize): untaint
+ session id after check. (backported from HEAD)
- * bignum.c (integer_unpack_single_bdigit): Extracted from
- bary_unpack_internal.
+Tue Aug 24 09:09:01 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Jun 23 07:41:52 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): d2i
+ functions may replace the pointer indicated by the first argument.
- * bignum.c (bary_unpack_internal): Suppress warnings (C4146) on Visual Studio.
- Reported by ko1 via IRC.
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.
-Sun Jun 23 06:49:28 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.
- * include/ruby/ruby.h, gc.c: rename macros and functions:
- OBJ_WB_GIVEUP() -> OBJ_WB_UNPROTECT(),
- rb_obj_wb_giveup() -> rb_obj_wb_unprotect(),
- rb_gc_giveup_promoted_writebarrier() ->
- rb_gc_writebarrier_unprotect_promoted(),
+Mon Aug 23 14:04:51 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * class.c, eval.c, hash.c: use OBJ_WB_UNPROTECT().
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read):
+ - should return an empty string if specified length to read is 0.
+ - should check for pending data and wait for fd before reading.
+ - call underlying IO's sysread if SSL session is not started.
+ [ruby-dev:24072], [ruby-dev:24075]
-Sun Jun 23 05:41:32 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_write):
+ - call underlying IO's syswrite if SSL session is not started.
- * class.c (rb_include_class_new), eval.c (rb_using_refinement):
- make classes/modules (who share method table) shady.
- If module `a' and `b' shares method table m_tbl and new method
- with iseq is added, then write barrier is applied only `a' or `b'.
- To avoid this issue, shade such classes/modules.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_pending): new method
+ OpenSSL::SSL#pending.
- * vm_method.c (rb_method_entry_make): add write barriers.
+ * ext/openssl/lib/openssl/buffering.rb: should not use select.
-Sun Jun 23 01:27:54 2013 Tanaka Akira <akr@fsij.org>
+Mon Aug 23 12:40:56 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * bignum.c (bytes_zero_p): Removed.
- (bary_pack): Don't call bytes_zero_p.
+ * lib/resolv.rb (Config.default_config_hash): when multiple domains
+ are set, Win32::Resolv.get_resolv_info returns Array.
-Sun Jun 23 00:51:29 2013 Tanaka Akira <akr@fsij.org>
+Sun Aug 22 01:15:31 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (bytes_zero_p): Extracted from bary_pack.
- (bary_pack): Use bytes_zero_p.
+ * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):
+ should call :ProxyContentHandler before finishing CONNECT.
-Sun Jun 23 00:16:57 2013 Tanaka Akira <akr@fsij.org>
+Sat Aug 21 06:41:16 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (MSB): New macro.
- (bary_unpack_internal): Use MSB.
- (bary_divmod): Ditto.
- (bigdivrem): Ditto.
+ * ext/tcltklib/extconf.rb (find_tcl, find_tk): find stub library.
-Sat Jun 22 23:45:22 2013 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb (arg_config, with_config): deal with '-' and '_'
+ uniformly. [ruby-dev:24118]
- * bignum.c (bary_swap): New function.
- (bary_pack): Use bary_swap.
- (bary_unpack_internal): Ditto.
+Thu Aug 19 16:29:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Jun 22 23:18:39 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: Fail to treat a hash value of 'font' option.
- * bignum.c (bytes_2comp): Renamed from quad_buf_complement.
- (bary_pack): Use bytes_2comp.
- (rb_quad_pack): Use rb_integer_pack.
- (rb_quad_unpack): Use rb_integer_unpack.
+ * ext/tk/lib/tk.rb: bindinfo cannot return '%' substiturion infomation.
-Sat Jun 22 21:46:18 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/menu.rb: typo bug.
- * bignum.c (rb_integer_unpack): Don't allocate a Bignum if possible.
+Thu Aug 19 15:15:24 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Jun 22 21:03:58 2013 Tanaka Akira <akr@fsij.org>
+ * dir.c (free_dir): fix memory leak. reported by yamamoto
+ madoka.
- * pack.c (pack_unpack): Remove specialized unpackers for integers.
+Thu Aug 19 11:00:00 2004 Akiyoshi, Masamichi <masamichi.akiyoshi@hp.com>
-Sat Jun 22 20:36:50 2013 Tanaka Akira <akr@fsij.org>
+ * dln.c (dln_load): Modify to call lib$find_image_symbol for VMS.
+ * io.c (rb_io_fwrite): Use fputc() for VMS non-stream file.
- * bignum.c (bary_unpack_internal): Specialized unpacker implemented.
- (bary_unpack): Support INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION.
- (rb_integer_unpack): Support INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION.
+Thu Aug 19 06:07:45 2004 why the lucky stiff <why@ruby-lang.org>
-Sat Jun 22 18:53:10 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/token.c: re2c no longer compiled with bit vectors. caused
+ problems for non-ascii characters. [ruby-core:03280]
+ * ext/syck/implicit.c: ditto.
+ * ext/syck/bytecode.c: ditto.
- * bignum.c (bary_pack): Support
- INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION flag.
- Fix byte order and word order handling in code specialized for
- wordsize % SIZEOF_BDIGITS == 0.
+ * lib/yaml/baseemitter.rb: folding now handles double-quoted strings,
+ fixed problem with extra line feeds at end of folding, whitespace
+ opening scalar blocks.
- * internal.h (INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION): Defined.
+ * lib/yaml/rubytypes.rb: subtelties in handling strings with
+ non-printable characters and odd whitespace patterns.
-Sat Jun 22 15:41:25 2013 Koichi Sasada <ko1@atdot.net>
+Wed Aug 18 23:41:33 2004 Minero Aoki <aamine@loveruby.net>
- * gc.c (rgengc_check_shady): add new WB miss checking
- on RGENGC_CHECK_MODE >= 2.
+ * lib/net/protocol.rb (rbuf_fill): OpenSSL::SSL::SSLSocket has its own
+ buffer, select(2) might not work. [ruby-dev:24072]
- (1) Save bitmaps before marking
- (2) Run full marking
- (3) On each traceable object,
- (a) object was not oldgen (== newly or shady object) &&
- (b) parent object was oldgen &&
- (c) parent object was not remembered &&
- (d) object was not remembered
- then, it should be WB miss.
+Wed Aug 18 17:10:12 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- This idea of this checker is by Masaya Tarui <tarui@ruby-lang.org>.
+ * ext/tcltklib/stubs.c (ruby_tcltk_stubs): need to call
+ Tcl_FindExecutable() for Tcl/Tk 8.4.
-Sat Jun 22 15:25:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Wed Aug 18 12:52:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/etc/etc.c (setup_passwd): revert r41560, unnecessary
+ * eval.c (rb_obj_instance_eval): evaluates under special singleton
+ classes as for special constants.
-Sat Jun 22 14:39:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Tue Aug 17 17:20:59 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/etc/etc.c (Init_etc): omit 'passwd' from definition of Etc::Passwd
- if HAVE_STRUCT_PASSWD_PW_PASSWD is not defined to prevent mismatch of
- fields and values in setup_passwd
+ * io.c (rb_io_reopen): should clear allocated OpenFile. pointed
+ out by Guy Decoux. [ruby-core:03288]
-Sat Jun 22 14:35:40 2013 Tanaka Akira <akr@fsij.org>
+Tue Aug 17 01:36:32 2004 Dave Thomas <dave@pragprog.com>
- * ext/dl/cfunc.c (rb_dlcfunc_call): Use rb_big_pack instead of
- rb_big2ulong_pack and rb_big2ull.
+ * lib/rdoc/usage.rb: Remove extra indent. Tidy 'ri' option
+ parsing so RDoc::usage plays better with OptionParser.
- * include/ruby/intern.h (rb_big2ulong_pack): Deprecated.
+Sat Aug 14 13:09:10 2004 Minero Aoki <aamine@loveruby.net>
-Sat Jun 22 14:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * lib/fileutils.rb: backport from CVS HEAD (rev1.44).
- * ext/etc/etc.c (setup_passwd): pass 0 as VALUE to rb_struct_new to
- prevent segfault if the compiler passes it as a 32 bit integer on
- a 64 bit ruby
+ * lib/fileutils.rb: cp_r should copy symlink itself, except cp_r
+ root.
-Sat Jun 22 13:47:13 2013 Tanaka Akira <akr@fsij.org>
+ * lib/fileutils.rb: new option mv :force.
- * bignum.c (bary_pack): MEMZERO can be used even if nails is not zero.
+ * lib/fileutils.rb: new module FileUtils::DryRun.
-Sat Jun 22 13:43:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Sat Aug 14 02:48:16 2004 Dave Thomas <dave@pragprog.com>
- * ext/etc/etc.c (etc_getpwnam): use PRIsVALUE in format string instead
- of %s and RSTRING_PTR
+ * lib/rdoc/usage.rb: Added. Allows command line programs
+ to report usage using their initial RDoc comment.
- * ext/etc/etc.c (etc_getgrnam): ditto
+Fri Aug 13 13:23:17 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Jun 22 13:07:15 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_range_header):
+ fix regex for range-spec.
- * bignum.c (CLEAR_LOWBITS): Rewritten without RSHIFTX.
- (RSHIFTX): Removed.
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content):
+ multipart/byteranges response was broken.
-Sat Jun 22 10:38:03 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httpservlet/erbhandler.rb
+ (WEBrick::HTTPServlet::ERBHandler#do_GET): should select media type
+ by suffix of script filename.
- * pack.c (num2i32): Removed.
- (pack_pack): Don't use num2i32.
+ * lib/xmlrpc/server.rb: refine example code.
-Sat Jun 22 09:55:13 2013 Tanaka Akira <akr@fsij.org>
+Wed Aug 11 17:17:50 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * bignum.c (LSHIFTX): Defined to suppress a warning.
- (RSHIFTX): Ditto.
- (CLEAR_LOWBITS): Use LSHIFTX and RSHIFTX.
- (FILL_LOWBITS): Use LSHIFTX.
- Reported by ko1 via IRC.
+ * configure.in (RPATHFLAG): stop setting RPATHFLAG on Interix.
-Sat Jun 22 09:11:33 2013 Ryan Davis <ryand-ruby@zenspider.com>
+Sun Aug 8 00:43:31 2004 why the lucky stiff <why@ruby-lang.org>
- * lib/minitest/*: Imported minitest 4.7.5 (r8724)
- * test/minitest/*: ditto
+ * lib/implicit.c: added sexagecimal float#base60.
-Sat Jun 22 07:20:30 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/rubyext.c (yaml_org_handler): ditto.
- * gc.c (gc_prof_set_heap_info, after_gc_sweep): call
- gc_prof_set_heap_info() just after sweeping to calculate
- live object number correctly.
- (live object number = total generated number (before marking) -
- total freed number (after sweeping))
+ * lib/token.c: indentation absolutely ignored when processing flow
+ collections. plain scalars are trimmed if indentation follows in
+ an ambiguous flow collection.
- * gc.c (gc_marks): record `oldgen_object_count' into current profile`
- record directly.
+Sat Aug 7 00:50:01 2004 Tanaka Akira <akr@m17n.org>
- * gc.c (rgengc_rememberset_mark): same for remembered_normal_objects
- and remembered_shady_objects.
+ * ext/zlib/zlib.c: Zlib::GzipReader#read(0) returns "" instead of nil.
-Sat Jun 22 06:46:04 2013 Koichi Sasada <ko1@atdot.net>
+Tue Aug 3 13:49:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (rb_objspace::profile): rename rb_objspace::profile::record to
- records (because it points a set of records) and add a field
- rb_objspace::profile::current_record to point a current profiling
- record.
+ * ext/tk/lib/tk/namespace.rb: bug fix
- * gc.c: use above fields.
+ * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: add Tk::TreeCtrl.loupe
-Sat Jun 22 06:05:36 2013 Koichi Sasada <ko1@atdot.net>
+Mon Aug 2 18:04:21 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (rb_gc_giveup_promoted_writebarrier): remove `rest_sweep()'
- because all of remembered objects are called for gc_mark_children().
+ * ext/tk/lib/tk/msgcat.rb (set_translation): bug fix (fail to set
+ trans_str to the same as src_str when trans_str is not given.)
-Sat Jun 22 05:08:03 2013 Koichi Sasada <ko1@atdot.net>
+Mon Aug 2 11:53:06 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (rgengc_rememberset_mark): call gc_mark_children() for
- remembered objects directly instead of pushing on the mark stack.
+ * lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): Fix infinite recursion
+ looking up some top level symbols (batsman)
-Sat Jun 22 04:48:53 2013 Koichi Sasada <ko1@atdot.net>
+Mon Aug 2 11:48:29 2004 Dave Thomas <dave@pragprog.com>
- * include/ruby/ruby.h (OBJ_WRITE): cast to (VALUE *) for second
- parameter `slot'. You don't need to write a cast (VALUE *) any more.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Allow '.'s in
+ variable names to support SWIG generated files (Hans Fugal)
- * class.c, compile.c, hash.c, iseq.c, proc.c, re.c, variable.c,
- vm.c, vm_method.c: remove cast expressions for OBJ_WRITE().
+Sat Jul 31 17:40:16 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jun 22 04:37:08 2013 Koichi Sasada <ko1@atdot.net>
+ * misc/ruby-mode.el (ruby-expr-beg, ruby-parse-partial,
+ ruby-calculate-indent, ruby-move-to-block, ruby-forward-sexp,
+ ruby-backward-sexp): keywords must match word-wise.
- * gc.c (slot_sweep_body): rename to slot_sweep().
- No need to separate major/minor GC.
+Sat Jul 31 05:47:37 2004 why the lucky stiff <why@ruby-lang.org>
- * gc.c (gc_setup_mark_bits): remove gc_clear_mark_bits() and unify to
- this function.
+ * lib/yaml.rb (YAML::load_file, YAML::parse_file): added.
-Sat Jun 22 04:20:21 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/yaml/rubytypes.rb: exceptions were using an older
+ YAML.object_maker. [ruby-core:03080]
- * gc.c (check_bitmap_consistency): add to check flag and bitmap consistency.
- Use this function in several places.
+ * ext/syck/token.c (sycklex_yaml_utf8): using newline_len to
+ handline CR-LFs. "\000" was showing up on folded blocks which
+ stopped at EOF.
-Sat Jun 22 02:18:07 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/token.c: re2c compiled with bit vectors now.
+ * ext/syck/implicit.c: ditto.
+ * ext/syck/bytecode.c: ditto.
- * bignum.c (bary_pack): Specialized packers implemented.
- (HOST_BIGENDIAN_P): New macro.
- (ALIGNOF): New macro.
- (CLEAR_LOWBITS): New macro.
- (FILL_LOWBITS): New macro.
- (swap_bdigit): New macro.
- (bary_2comp): Returns an int.
+Fri Jul 30 16:10:54 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * internal.h (swap16): Moved from pack.c
- (swap32): Ditto.
- (swap64): Ditto.
+ * ext/tcltklib/tcltklib.c (lib_fromUTF8_core): raise ArgumentError when
+ the unknown encoding name is given.
-Fri Jun 21 21:29:49 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (lib_toUTF8_core): ditto.
- * gc.c (typedef enum): Introduce flags of major gc reason.
- * gc.c (garbage_collect_body): Ditto.
- * gc.c (gc_profile_flags): Ditto.
- * gc.c (gc_profile_dump_on): Ditto.
+ * ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertfrom): bug fix.
-Fri Jun 21 21:11:53 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertto): ditto.
- * gc.c (allocate_sorted_heaps): remove unused variable `add'.
+Wed Jul 28 18:59:17 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jun 21 20:50:32 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/cgi.rb (CGI::initialize): remove at_exit code for CGI_PARAMS
+ and CGI_COOKIES. they will no longer be used.
- * include/ruby/ruby.h: constify RArray::as::ary and RArray::heap::ptr.
- Use RARRAY_ASET() or RARRAY_PTR_USE() to modify Array objects.
+Wed Jul 28 01:04:44 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c, gc.c: catch up above changes.
+ * gc.c (run_final): wrong order of data. [ruby-dev:23984]
-Fri Jun 21 20:32:13 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jul 27 07:05:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_eval): copy on write for argument local variable
+ assignment.
+
+ * eval.c (assign): ditto.
+
+ * eval.c (rb_call0): update ruby_frame->argv with the default
+ value used for the optional arguments.
+
+ * object.c (Init_Object): "===" calls rb_obj_equal() directly.
+ [ruby-list:39937]
+
+Mon Jul 26 11:22:55 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape): should
+ escape space.
+
+Sun Jul 25 11:05:21 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/win32.{h,c} (rb_w32_{f,fd,fs}open): workaround for bcc32's
+ {f,fd,fs}open bug. set errno EMFILE and EBADF. [ruby-dev:23963]
+
+Sat Jul 24 13:32:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * range.c (rb_range_beg_len): returns Qnil only when "beg" points
+ outside of a range. No boundary check for "end".
+
+Fri Jul 23 16:40:25 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * gc.c (define_final): should not disclose NODE* to Ruby world.
+ [ruby-dev:23957]
+
+Fri Jul 23 09:03:16 2004 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/imap.rb (disconnected?): new method. (backported from HEAD)
+
+Thu Jul 22 16:41:54 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/cgi/session.rb (CGI::Session::FileStore#update): sets the
+ permission of the session data file to 0600.
+
+ * lib/cgi/session/pstore.rb (CGI::Session::Pstore#initialize):
+ ditto.
- * vm_eval.c (eval_string_with_cref): fix WB miss.
+Thu Jul 22 00:02:21 2004 Masahiro Kitajima <katonbo@katontech.com>
-Fri Jun 21 20:15:49 2013 Koichi Sasada <ko1@atdot.net>
+ * process.c (rb_f_system): not need to call last_status_set() any
+ longer on _WIN32.
- * include/ruby/ruby.h: support write barrier protection for T_STRUCT.
- Introduce the following C APIs:
- * RSTRUCT_RAWPTR(st) returns pointer (do WB on your risk).
- The type of returned pointer is (const VALUE *).
- * RSTRUCT_GET(st, idx) returns idx-th value of struct.
- * RSTRUCT_SET(st, idx, v) set idx-th value by v with WB.
- And
- * RSTRUCT_PTR(st) returns pointer with shady operation.
- The type of returned pointer is (VALUE *).
+Tue Jul 20 09:15:17 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * struct.c, re.c, gc.c, marshal.c: rewrite with above APIs.
+ * test/fileutils/test_fileutils.rb: File.link raises EINVAL on BeOS.
-Fri Jun 21 19:38:37 2013 Tanaka Akira <akr@fsij.org>
+Mon Jul 19 01:15:07 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (BDIGMAX): Use BIGRAD.
- (BIGLO): Use BDIGMAX.
- (bigdivrem1): Ditto.
- (bigor_int): Ditto.
- (rb_big_or): Ditto.
+ * lib/webrick/httpservlet/cgihandler.rb
+ (WEBrick::HTTPServlet::CGIhandler#do_GET): set SystemRoot environment
+ variable to CGI process on Windows native platforms. [ruby-dev:23936]
-Fri Jun 21 19:18:48 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httpservlet/cgihandler.rb
+ (WEBrick::HTTPServlet::CGIhandler#do_GET): use $?.exitstatus and
+ refine log message.
- * pack.c (pack_pack): Move the implementation for 'c' directive after
- pack_integer label.
+Sun Jul 18 16:14:29 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jun 21 19:11:56 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/msgcat.rb (TkMsgCatalog.callback): bug fix
+ ( wrong number of argument )
- * include/ruby/ruby.h, re.c: support write barrier for T_REGEXP.
+Sun Jul 18 08:13:58 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Note: T_MATCH object is also easy to support write barriers.
- However, most of T_MATCH objects are short-lived objects.
- So I skipped to support non-shady T_MATCH.
+ * sprintf.c (rb_f_sprintf): remove extra sign digit.
-Fri Jun 21 18:56:58 2013 Tanaka Akira <akr@fsij.org>
+Sun Jul 18 03:21:42 2004 Akinori MUSHA <knu@iDaemons.org>
- * bignum.c (bigsub_int): Use bdigit_roomof.
- (bigadd_int): Ditto.
- (bigand_int): Ditto.
- (bigor_int): Ditto.
- (bigxor_int): Ditto.
+ * dir.c (range): use NULL instead of 0.
-Fri Jun 21 17:56:25 2013 Koichi Sasada <ko1@atdot.net>
+ * dir.c (range): get rid of a gcc 3.4 warning.
- * benchmark/gc/gcbench.rb: fix summary of benchmark result notation.
+Sun Jul 18 03:12:11 2004 Shugo Maeda <shugo@ruby-lang.org>
-Fri Jun 21 16:38:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * lib/net/imap.rb (receive_responses): return if a LOGOUT response
+ received. (backported from HEAD)
+ * lib/net/imap.rb (send_string_data): wait command continuation
+ requests before sending octet data of literals. (backported from HEAD)
- * ext/openssl/ossl_x509attr.c: change OSSL_X509ATTR_IS_SINGLE and
- OSSL_X509ATTR_SET_SINGLE macros to use ->value.set rather than
- ->set to fix compile failure
+Sat Jul 17 23:54:59 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jun 21 15:26:45 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/variable.rb: TkVariable#ref returns a TkVariable object
- * gc.c (gc_sweep): profile sweep time correctly when LAZY_SWEEP is
- disabled.
+Sat Jul 17 22:04:44 2004 akira yamada <akira@ruby-lang.org>
- * gc.c (gc_marks_test): store oldgen count and shady count
- before test marking and restore them after marking.
+ * lib/uri/ldap.rb: method hierarchical? should be in URI::LDAP.
-Fri Jun 21 15:07:42 2013 Koichi Sasada <ko1@atdot.net>
+Sat Jul 17 18:29:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c: enable lazy sweep (commit miss).
+ * parse.y (stmt): not to show same error messages twice.
-Fri Jun 21 14:31:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jul 17 13:13:32 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * hash.c (ruby_setenv): refine error message so include the variable
+ * lib/irb/ruby-lex.rb (RubyLex::identify_string): %s string do not
+ process expression interpolation. [ruby-talk:106691]
+
+Sat Jul 17 05:26:27 2004 Dave Thomas <dave@pragprog.com>
+
+ * lib/rdoc/diagram.rb: Incorporate Micheal Neuman's
+ client-side imagemao patch
+
+Sat Jul 17 01:57:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (THREAD_ALLOC): th->thread should be initialized to NULL.
+ [ruby-talk:106657] The solution was found by Guy Decoux.
+
+Fri Jul 16 22:30:28 2004 Michael Neumann <mneumann@ntecs.de>
+
+ * file.c (rb_stat_dev_major): new methods File::Stat#dev_major and
+ #dev_minor. [ruby-core:03195]
+
+Fri Jul 16 15:23:53 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (return_jump, break_jump): raise unexpceted local jump
+ exception directly. [ruby-dev:23740]
+
+ * lib/base64.rb (Deprecated): super in bound method calls original
+ name method in stable version. [ruby-dev:23916]
+
+Fri Jul 16 11:31:49 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * lib/test/unit/ui/{fox,gtk,gtk2}/testrunner.rb: remove
+ garbage (patch from akira yamada) [ruby-dev:23911]
+
+Fri Jul 16 11:20:00 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * sprintf.c (rb_f_sprintf): fix output of NaN, Inf and -Inf with
+ "%f" or etc on MSVCRT platforms. (backported from HEAD)
+
+Fri Jul 16 11:17:38 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * error.c (exit_initialize): use EXIT_SUCCESS instead of 0.
+ [ruby-dev:23913]
+
+ * error.c (exit_success_p): new method SystemExit#success?.
+ [ruby-dev:23912]
+
+ * error.c (syserr_initialize): initialization for subclasses.
+ [ruby-dev:23912]
+
+Thu Jul 15 23:53:38 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (OptionParser#warn, OptionParser#abort): Exception
+ no longer has to_str method.
+
+Thu Jul 15 22:59:48 2004 Shugo Maeda <shugo@ruby-lang.org>
+
+ * ext/readline/extconf.rb: added dir_config for curses, ncurses,
+ termcap. (backported from HEAD)
+
+Thu Jul 15 20:29:15 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * class.c, error.c, eval.c, intern.h, object.c, variable.c:
+ do not set path if it is a singleton class. [ruby-dev:22588]
+ (backport from 1.9)
+
+Thu Jul 15 10:15:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/, ext/tcltklib/: bug fix
+
+ * ext/tk/lib/tk.rb: better operation for SIGINT when processing
+ callbacks.
+ * ext/tk/lib/tk/msgcat.rb: ditto.
+ * ext/tk/lib/tk/variable.rb: ditto.
+ * ext/tk/lib/tk/timer.rb: ditto.
+
+ * ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd
+ to define validatecommand methods easier
+
+ * ext/tk/lib/tk.rb (_genobj_for_tkwidget): support autoload Tk ext
+ classes
+
+ * ext/tk/lib/tk/canvas.rb and so on: remove the parent widget type
+ check for items (e.g. canvas items; depends on the class) to
+ avoid some troubles on Tk extension widget class definition.
+
+ * ext/tk/lib/tkextlib/: add Iwidget and TkTable extension support
+
+ * ext/tk/sample/tkextlib/: add samples of Iwidget and TkTable
+
+
+Wed Jul 14 18:08:37 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_asn1.c (ossl_asn1cons_to_der): fix type of
+ argument. [ruby-dev:23891]
+
+ * test/openssl/test_x509store.rb: prune tests for CRL checking
+ unless X509::V_FLAG_CRL_CHECK is defined.
+
+Wed Jul 14 12:29:07 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * util.c (ruby_strtod): should not convert string in the form of
+ "-I.FE-X" which both "I" and "F" are ommitted. [ruby-dev:23883]
+
+ * test/ruby/test_float.rb (test_strtod): add test for bug fix.
+
+Wed Jul 14 00:31:15 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * array.c: rdoc patch. merged patch from Johan Holmberg
+ <holmberg@iar.se> [ruby-core:3170]
+
+Tue Jul 13 19:39:12 2004 akira yamada <akira@ruby-lang.org>
+
+ * lib/uri/generic.rb (URI::Generic#merge_path):
+ "URI('http://www.example.com/foo/..') + './'" should return
+ "URI('http://www.example.com/')". [ruby-list:39838]
+ "URI('http://www.example.com/') + './foo/bar/..'" should return
+ "URI('http://www.example.com/foo/')". [ruby-list:39844]
+
+ * test/uri/test_generic.rb (TestGeneric#test_merge): added tests.
+
+Tue Jul 13 15:51:45 2004 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/mkmf.rb (init_mkmf): Do not add $(libdir) to $LIBPATH in
+ extmk mode.
+
+ * lib/mkmf.rb (dir_config): Prepend a new library path instead of
+ appending so it is tried first.
+
+Tue Jul 13 00:50:48 2004 Dave Thomas <dave@pragprog.com>
+
+ * lib/rdoc/parsers/parse_rb.rb: Support call-seq: for Ruby files.
+
+Mon Jul 12 21:20:36 2004 Dave Thomas <dave@pragprog.com>
+
+ * html_generator.rb: Support hyperlinks of the form {any text}[xxx]
+ as well as stuff[xxx]
+
+Sat Jul 10 09:30:24 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/soap/marshal/test_struct.rb: use qualified build-tin class name
+ (::Struct) to avoid name crash.
+
+Sat Jul 10 04:21:56 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb: better operation for SIGINT when processing
+ callbacks.
+ * ext/tk/lib/tk/msgcat.rb: ditto.
+ * ext/tk/lib/tk/variable.rb: ditto.
+ * ext/tk/lib/tk/timer.rb: ditto.
+
+ * ext/tk/lib/tk/validation.rb (__def_validcmd): add a module
+ function of Tk::ValidateConfigure to define validatecommand
+ methods easier
+
+Fri Jul 9 22:36:36 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * array.c, enum.c, pack.c: rdoc patch from Johan Holmberg
+ <holmberg@iar.se> [ruby-core:3132] [ruby-core:3136]
+
+ * numeric.c: rdoc patch.
+
+Fri Jul 9 19:26:39 2004 Tanaka Akira <akr@m17n.org>
+
+ * lib/open-uri.rb (URI::HTTPS#proxy_open): raise ArgumentError to
+ notice https is not supported.
+
+Fri Jul 9 14:28:54 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_thread_raise): accept third argument as well as
+ Kernel#raise, and evaluate the arguments to create an exception in
+ the caller's context. [ruby-talk:105507]
+
+Fri Jul 9 01:47:08 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib : bug fix
+ * ext/tk/lib/tkextlib/itcl : add [incr Tcl] support
+ * ext/tk/lib/tkextlib/itk : add [incr Tk] support
+ * ext/tk/lib/tkextlib/iwidgets : midway point of [incr Widgets] support
+ * ext/tk/sample/tkextlib/iwidgets : very simple examples of
+ [incr Widgets]
+
+Thu Jul 8 22:52:19 2004 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/{rss,parser,0.9,1.0,2.0}.rb: supported RSS 0.9x/2.0
+ validation and validation which disregard order of elements.
+ * test/rss/test_parser.rb: added tests for RSS 0.9x/2.0
+ validation.
+ * test/rss/{test_trackback,rss-testcase}.rb: fixed no good method
name.
-Fri Jun 21 14:15:08 2013 Koichi Sasada <ko1@atdot.net>
+Thu Jul 8 00:05:23 2004 akira yamada <akira@ruby-lang.org>
+
+ * lib/tempfile.rb (Tempfile::initialize): got out code of
+ generating tmpname. [ruby-dev:23832][ruby-dev:23837]
+
+Wed Jul 7 15:53:14 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * string.c (rb_str_match): raise TypeError when both arguments are
+ strings. [ruby-dev:22869] (backported from HEAD)
+
+ * string.c (rb_str_match2): removed.
+
+ * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,
+ wince/Makefile.sub (string.c): now not depend on version.h.
+
+Wed Jul 7 00:48:34 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * ext/tk/lib/tkextlib/tktrans.rb,
+ ext/tk/lib/tkextlib/treectrl.rb: fix syntax errors.
+
+Tue Jul 6 18:38:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib : improve framework of developping Tcl/Tk extension
+ wrappers
+
+Mon Jul 5 23:56:42 2004 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/{trackback,syndication,dublincore,content}.rb: worked
+ with ruby 1.6 again.
+
+ * test/rss/rss-assertions.rb: ditto.
+
+Mon Jul 5 22:54:39 2004 Tanaka Akira <akr@m17n.org>
+
+ * lib/uri/common.rb (Kernel#URI): new global method for parsing URIs.
+
+Mon Jul 5 09:02:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_thread_yield, rb_f_catch): 4th argument to rb_yield_0()
+ is a set of bit flags. [ruby-dev:23859]
+
+Mon Jul 5 01:27:32 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * lib/drb/drb.rb(DRbConn self.open): If socket pool is full, close
+ the socket whose last-access-time is oldest. (and add new one)
+ [ruby-dev:23860]
+
+Sun Jul 4 12:24:50 2004 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb: added copyright header.
+
+Sun Jul 4 00:24:40 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * added files
+ * lib/soap/attachment.rb
+ * lib/soap/header
+ * lib/soap/mimemessage.rb
+ * lib/soap/rpc/httpserver.rb
+ * lib/wsdl/soap/cgiStubCreator.rb
+ * lib/wsdl/soap/classDefCreator.rb
+ * lib/wsdl/soap/classDefCreatorSupport.rb
+ * lib/wsdl/soap/clientSkeltonCreator.rb
+ * lib/wsdl/soap/driverCreator.rb
+ * lib/wsdl/soap/mappingRegistryCreator.rb
+ * lib/wsdl/soap/methodDefCreator.rb
+ * lib/wsdl/soap/servantSkeltonCreator.rb
+ * lib/wsdl/soap/standaloneServerStubCreator.rb
+ * lib/wsdl/xmlSchema/enumeration.rb
+ * lib/wsdl/xmlSchema/simpleRestriction.rb
+ * lib/wsdl/xmlSchema/simpleType.rb
+ * lib/xsd/codegen
+ * lib/xsd/codegen.rb
+ * sample/soap/authheader
+ * sample/soap/raa2.4
+ * sample/soap/ssl
+ * sample/soap/swa
+ * sample/soap/whois.rb
+ * sample/soap/calc/samplehttpd.conf
+ * sample/soap/exchange/samplehttpd.conf
+ * sample/soap/sampleStruct/samplehttpd.conf
+ * sample/wsdl/raa2.4
+ * sample/wsdl/googleSearch/samplehttpd.conf
+ * test/openssl/_test_ssl.rb
+ * test/soap/header
+ * test/soap/ssl
+ * test/soap/struct
+ * test/soap/swa
+ * test/soap/wsdlDriver
+ * test/wsdl/multiplefault.wsdl
+ * test/wsdl/simpletype
+ * test/wsdl/test_multiplefault.rb
+
+ * modified files
+ * lib/soap/baseData.rb
+ * lib/soap/element.rb
+ * lib/soap/generator.rb
+ * lib/soap/marshal.rb
+ * lib/soap/netHttpClient.rb
+ * lib/soap/parser.rb
+ * lib/soap/processor.rb
+ * lib/soap/property.rb
+ * lib/soap/soap.rb
+ * lib/soap/streamHandler.rb
+ * lib/soap/wsdlDriver.rb
+ * lib/soap/encodingstyle/handler.rb
+ * lib/soap/encodingstyle/literalHandler.rb
+ * lib/soap/encodingstyle/soapHandler.rb
+ * lib/soap/mapping/factory.rb
+ * lib/soap/mapping/mapping.rb
+ * lib/soap/mapping/registry.rb
+ * lib/soap/mapping/rubytypeFactory.rb
+ * lib/soap/mapping/wsdlRegistry.rb
+ * lib/soap/rpc/cgistub.rb
+ * lib/soap/rpc/driver.rb
+ * lib/soap/rpc/element.rb
+ * lib/soap/rpc/proxy.rb
+ * lib/soap/rpc/router.rb
+ * lib/soap/rpc/soaplet.rb
+ * lib/soap/rpc/standaloneServer.rb
+ * lib/wsdl/data.rb
+ * lib/wsdl/definitions.rb
+ * lib/wsdl/operation.rb
+ * lib/wsdl/parser.rb
+ * lib/wsdl/soap/definitions.rb
+ * lib/wsdl/xmlSchema/complexContent.rb
+ * lib/wsdl/xmlSchema/complexType.rb
+ * lib/wsdl/xmlSchema/data.rb
+ * lib/wsdl/xmlSchema/parser.rb
+ * lib/wsdl/xmlSchema/schema.rb
+ * lib/xsd/datatypes.rb
+ * lib/xsd/qname.rb
+ * sample/soap/calc/httpd.rb
+ * sample/soap/exchange/httpd.rb
+ * sample/soap/sampleStruct/httpd.rb
+ * sample/soap/sampleStruct/server.rb
+ * sample/wsdl/amazon/AmazonSearch.rb
+ * sample/wsdl/amazon/AmazonSearchDriver.rb
+ * sample/wsdl/googleSearch/httpd.rb
+ * test/soap/test_basetype.rb
+ * test/soap/test_property.rb
+ * test/soap/test_streamhandler.rb
+ * test/soap/calc/test_calc.rb
+ * test/soap/calc/test_calc2.rb
+ * test/soap/calc/test_calc_cgi.rb
+ * test/soap/helloworld/test_helloworld.rb
+ * test/wsdl/test_emptycomplextype.rb
+ * test/wsdl/axisArray/test_axisarray.rb
+ * test/wsdl/datetime/test_datetime.rb
+ * test/wsdl/raa/test_raa.rb
+ * test/xsd/test_xmlschemaparser.rb
+ * test/xsd/test_xsd.rb
+
+ * summary
+ * add SOAP Header mustUnderstand support.
+
+ * add HTTP client SSL configuration and Cookies support (works
+ completely with http-access2).
+
+ * add header handler for handling sending/receiving SOAP Header.
+
+ * map Ruby's anonymous Struct to common SOAP Struct in SOAP Object
+ Model. it caused error.
+
+ * add WSDL simpleType support to restrict lexical value space.
+
+ * add SOAP with Attachment support.
+
+Sat Jul 3 17:19:44 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * ext/tk/lib/tkextlib/tkDND.rb: fix syntax error.
+
+Thu Jul 1 23:15:29 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/pstore.rb (transaction): safer backup scheme. [ruby-list:39102]
+
+ * lib/pstore.rb (commit_new): use FileUtils.copy_stream for Cygwin.
+ [ruby-dev:23157]
+
+ * lib/pstore.rb (transaction): allow overriding dump and load.
+ [ruby-dev:23567]
+
+ * lib/pstore.rb (PStore#transaction): get rid of opening in write mode
+ when read only transaction. [ruby-dev:23842]
+
+ * lib/yaml/store.rb: follow lib/pstore.rb's change.
- * gc.c: fix to use total_allocated_object_num and heaps_used
- at the GC time for profiler.
+Thu Jul 1 18:36:08 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Jun 21 12:35:35 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tcltklib : bug fix
- * gc.c: RGENGC_CHECK_MODE should be 0.
+ * ext/tk/lib/tk : bug fix and add Tcl/Tk extension support libraries
-Fri Jun 21 11:18:25 2013 Koichi Sasada <ko1@atdot.net>
+Thu Jul 1 11:59:45 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (gc_marks_body): fix to get `th' in this function.
+ * ext/openssl/extconf.rb: check for EVP_CIPHER_CTX_copy, ENGINE_add,
+ EVP_CIPHER_CTX_set_padding, EVP_CipherFinal_ex, EVP_CipherInit_ex,
+ EVP_DigestFinal_ex and EVP_DigestInit_ex.
-Fri Jun 21 10:21:44 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/openssl_missing.c (EVP_CIPHER_CTX_copy): new function.
- * gc.c (heaps_header/heaps_slot): embed bitmaps into heaps_slot.
- no need to maintain allocation/free bitmaps.
+ * ext/openssl/openssl_missing.h (EVP_DigestInit_ex, EVP_DigestFinal_ex,
+ EVP_CipherInit_ex, EVP_CipherFinal_ex, HMAC_Init_ex): new macro for
+ OpenSSL 0.9.6.
-Fri Jun 21 09:22:16 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_cipher.c (ossl_cipher_encrypt, ossl_cipher_decrypt):
+ re-implemnt (the arguments for this method is ).
- * gc.c (slot_sweep_body): add counters at a time.
+ * ext/openssl/ossl_cipher.c (ossl_cipher_pkcs5_keyivgen): new method
+ OpenSSL::Cipher::Cipher#pkcs5_keyivgen. it calls EVP_BytesToKey().
- * gc.c (gc_profile_dump_on): fix line break position.
+ * ext/openssl/ossl_cipher.c (ossl_cipher_alloc, ossl_cipher_initialize,
+ ossl_cipher_copy, ossl_cipher_reset ossl_cipher_final,
+ ossl_cipher_set_key, ossl_cipher_set_iv): replace all EVP_CipherInit
+ and EVP_CipherFinal into EVP_CipherInit_ex and EVP_CipherFinal_ex.
+ and EVP_CIPHER_CTX_init should only be called once.
-Fri Jun 21 08:14:00 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * ext/openssl/ossl_cipher.c (ossl_cipher_set_key_length): new method
+ OpenSSL::Cipher::Cipher#key_len=.
- * gc.c: refactoring bitmaps. introduce bits_t type and some Consts.
+ * ext/openssl/ossl_cipher.c (ossl_cipher_init_deprecated): new
+ finction; print warning for Cipher#<<.
-Fri Jun 21 08:04:32 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_digest.c: replace all EVP_DigestInit and
+ EVP_DigestFinal into EVP_DigestInit_ex and EVP_DigestFinal_ex.
+ and EVP_MD_CTX_init should only be called once.
- * gc.c: fix to support USE_RGENGC == 0 (disable RGenGC).
- If USE_RGENGC==0, it caused compilation error.
+ * ext/openssl/ossl_digest.c (digest_final): should call
+ EVP_MD_CTX_cleanup to avoid memory leak.
-Fri Jun 21 08:08:11 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * ext/openssl/ossl_hmac.c (ossl_hmac_initialize): repalce HMAC_init
+ into HMAC_init_ex. and HMAC_CTX_init is moved to ossl_hmac_alloc.
- * gc.c (lazy_sweep): Use is_lazy_sweeping()
- * gc.c (rest_sweep): Ditto.
- * gc.c (gc_prepare_free_objects): Ditto.
+ * ext/openssl/ossl_hmac.c (hmac_final): should call
+ HMAC_CTX_cleanup to avoid memory leak.
-Fri Jun 21 07:34:47 2013 Koichi Sasada <ko1@atdot.net>
+ * test/openssl/test_cipher.rb, test/openssl/test_digest.rb,
+ test/openssl/test_hmac.rb: new file.
- * gc.c (gc_profile_record::oldgen_objects): added.
+Thu Jul 1 04:08:30 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (gc_profile_dump_on): print the following information:
- * Living object counts
- * Free object counts
- If RGENGC_PROFILE > 0 then
- * Oldgen object counts
- * Remembered normal object counts
- * Remembered shady object counts
+ * ext/openssl/ossl_asn1.c (ossl_i2d_ASN1_TYPE, ossl_ASN1_TYPE_free):
+ workaround for the versions earlier than OpenSSL-0.9.7.
-Fri Jun 21 06:43:59 2013 Tanaka Akira <akr@fsij.org>
+Thu Jul 1 03:33:55 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (rb_ull2big): Refactored.
- (rb_uint2big): Useless code removed.
+ * ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize): should create
+ empty pkey object if no argument is passed. [ruby-talk:103328]
-Fri Jun 21 05:37:39 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.
- * gc.c (gc_prof_sweep_timer_stop): accumulate sweep time only when
- record->gc_time > 0.
+ * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): ditto.
-Fri Jun 21 00:37:31 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_pkey_dh.c: add new methods: OpenSSL::PKey::DH#p,
+ OpenSSL::PKey::DH#p=, OpenSSL::PKey::DH#g, OpenSSL::PKey::DH#g=,
+ OpenSSL::PKey::DH#pub_key, OpenSSL::PKey::DH#pub_key=,
+ OpenSSL::PKey::DH#priv_key and OpenSSL::PKey::DH#priv_key=.
- * ext/bigdecimal: Workaround fix for bigdecimal test failures caused
- by [ruby-dev:47413] [Feature #8509]
+ * ext/openssl/ossl_pkey_dsa.c: add new methods: OpenSSL::PKey::DSA#p,
+ OpenSSL::PKey::DSA#p=, OpenSSL::PKey::DSA#q, OpenSSL::PKey::DSA#q=,
+ OpenSSL::PKey::DSA#g, OpenSSL::PKey::DSA#g=,
+ OpenSSL::PKey::DSA#pub_key, OpenSSL::PKey::DSA#pub_key=,
+ OpenSSL::PKey::DSA#priv_key and OpenSSL::PKey::DSA#priv_key=.
- * ext/bigdecimal/bigdecimal.h (BDIGIT): Make it independent from the
- definition for bignum.c.
- (SIZEOF_BDIGITS): Ditto.
- (BDIGIT_DBL): Ditto.
- (BDIGIT_DBL_SIGNED): Ditto.
- (PRI_BDIGIT_PREFIX): Undefine the definition.
- (PRI_BDIGIT_DBL_PREFIX): Ditto.
+Thu Jul 1 03:16:09 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/bigdecimal/bigdecimal.c (RBIGNUM_ZERO_P): Use rb_bigzero_p.
- (bigzero_p): Removed.
- (is_even): Use rb_big_pack.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read): take optional second argument
+ to specify a string to be written.
-Thu Jun 20 22:52:42 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#read):
+ take optional second argument to specify a string to be written.
- * bignum.c (bigmul1_toom3): Don't call bignorm twice.
+ * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#gets):
+ refine regexp for end-of-line.
-Thu Jun 20 22:49:27 2013 Tanaka Akira <akr@fsij.org>
+ * ext/opnessl/lib/openssl/ssl.rb
+ (OpenSSL::SSL::SocketForwarder#listen): fix typo.
- * bignum.c (bignorm): Don't call bigtrunc if the result is a fixnum.
+Wed Jun 30 11:38:51 2004 Mikael Brockman <phubuh@phubuh.org>
-Thu Jun 20 22:29:42 2013 Tanaka Akira <akr@fsij.org>
+ * parse.y (primary): should not be NULL. [ruby-core:03098]
- * bignum.c (rb_uint2big): Refactored.
+Wed Jun 30 02:53:24 2004 why the lucky stiff <why@ruby-lang.org>
-Thu Jun 20 22:24:41 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/rubyext.c (syck_emitter_new): set buffer after
+ Data_Wrap_Struct to avoid possible GC. [ruby-talk:104835]
- * bignum.c (dump_bignum): Use SIZEOF_BDIGITS.
+Tue Jun 29 10:31:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 20 22:22:46 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_eval_cmd, rb_thread_trap_eval): restore safe level.
- * bignum.c (big2ulong): Change the return type to unsigned long.
- (rb_big2ulong_pack): Follow the above change.
- (rb_big2long): Ditto.
- (rb_big_lshift): Ditto.
- (rb_big_rshift): Ditto.
- (rb_big_aref): Ditto.
+ * gc.c (define_final, run_final): preserve and restore safe level for
+ finalizers. [ruby-core:03058]
-Thu Jun 20 22:02:46 2013 Tanaka Akira <akr@fsij.org>
+ * signal.c (signal_exec, rb_trap_exit, trap): preserve and restore
+ safe level for signal handlers. [ruby-dev:23829]
- * bignum.c (bary_unpack_internal): Return -2 when negative overflow.
- (bary_unpack): Set the overflowed bit if an extra BDIGIT exists.
- (rb_integer_unpack): Set the overflowed bit.
+Mon Jun 28 14:57:56 2004 Jeff Mitchell <quixoticsycophant@yahoo.com>
-Thu Jun 20 21:17:19 2013 Koichi Sasada <ko1@atdot.net>
+ * configure.in, lib/mkmf.rb (LIBPATHFLAG): use double quotes due to
+ DOSISH compilers. [ruby-core:03107]
- * gc.c (rgengc_rememberset_mark): record
- (1) normal objects count in remember set
- (2) shady objects count in remember set
- each GC timing.
+Mon Jun 28 00:30:19 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * gc.c (gc_profile_record_get): enable to access above information
- and REMOVING_OBJECTS, EMPTY_OBJECTS.
+ * sample/drb/*.rb: using 'DRb.thread.join' instead of 'gets'
-Thu Jun 20 18:29:26 2013 Koichi Sasada <ko1@atdot.net>
+Sun Jun 27 22:39:51 2004 Kouhei Sutou <kou@cozmixng.org>
- * benchmark/gc/gcbench.rb: Do not use GC::Profiler::disable because
- GC::Profiler::disable prohibit to access profiling data. It should
- be spec bug.
+ * sample/rss/tdiary_plugin/rss-recent.rb: supported Hiki.
- Skip GC::Profiler::report if RUBY_VERSION < '2.0.0'
+Sun Jun 27 12:19:46 2004 Kouhei Sutou <kou@cozmixng.org>
-Thu Jun 20 17:59:08 2013 Koichi Sasada <ko1@atdot.net>
+ * {lib,sample,test}/rss: added RSS Parser. [ruby-dev:23780]
- * benchmark/gc/gcbench.rb: stop GC::Profiler before output results.
- Generating GC::Profiler result under profiling causes infinite loop.
+Sat Jun 26 11:07:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 20 17:24:24 2013 Koichi Sasada <ko1@atdot.net>
+ * configure.in (aix): -b must come at the start of the command line,
+ and -e must not appear while testing libraries. [ruby-talk:104501]
- * benchmark/gc/gcbench.rb: don't use __dir__ to make compatible
- with ruby 1.9.3.
+ * lib/mkmf.rb (dir_config): quote directory names if necessary.
+ [ruby-talk:104505]
-Thu Jun 20 16:57:19 2013 Koichi Sasada <ko1@atdot.net>
+Fri Jun 25 15:33:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * benchmark/bm_app_aobench.rb: use attr_accessor/reader instead of
- defining methods.
+ * ext/iconv/extconf.rb: check stricter. [ruby-talk:104501]
-Thu Jun 20 16:46:46 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/iconv/extconf.rb: include iconv.h for libiconv. [ruby-dev:22715]
- * benchmark/bm_app_aobench.rb: added.
+Fri Jun 25 08:31:29 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * benchmark/gc/aobench.rb: added.
+ * eval.c (rb_thread_atfork): remove "fork terminates thread"
+ warning. [ruby-dev:23768]
-Thu Jun 20 16:28:33 2013 Koichi Sasada <ko1@atdot.net>
+ * object.c (rb_obj_clone): backport FL_FINALIZE patch from 1.9.
+ [ruby-core:02786][ruby-core:03067]
- * benchmark/bm_so_binary_trees.rb: disable `puts' method
- and change iteration parameter to increase execution time.
+ * ext/socket/socket.c (sock_sockaddr): Socket#gethostbyname()
+ should give us packed address, not struct sockaddr.
+ [ruby-core:03053]
- * benchmark/gc/binarytree.rb: added.
+Fri Jun 25 02:04:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Jun 20 16:06:37 2013 Koichi Sasada <ko1@atdot.net>
+ * {bcc32,win32,wince}/setup.mak: remove RUBY_EXTERN lines when
+ including version.h. [ruby-talk:104456] (backported from HEAD)
- * benchmark/gc/pentomino.rb: added.
- Simply load pentomino puzzle in the benchmark/ directory.
+Thu Jun 24 14:23:29 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 20 15:32:56 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (rb_io_fread): return already read data when system call is
+ interrupted. [ruby-talk:97206]
- * benchmark/gc/redblack.rb: import red black tree benchmark from
- https://github.com/jruby/rubybench/blob/master/time/bench_red_black.rb
+Thu Jun 24 01:32:43 2004 Shugo Maeda <shugo@ruby-lang.org>
- * benchmark/gc/ring.rb: add a benchmark. This benchmark create many
- old objects.
+ * version.h: added declarations of ruby_version,
+ ruby_release_date, ruby_platform.
+ (backported from HEAD)
-Thu Jun 20 15:14:00 2013 Koichi Sasada <ko1@atdot.net>
+Wed Jun 23 22:23:37 2004 Dave Thomas <dave@pragprog.com>
- * benchmark/gc: create a directory to store GC related benchmark.
+ * ext/socket/socket.c (sock_s_gethostbyaddr): Work around problem
+ with OS X not returning 'from' parameter to recvfrom for
+ connection-oriented sockets.
- * benchmark/gc/gcbench.rb: moved from tool/gcbench.rb.
+Wed Jun 23 01:45:27 2004 Dave Thomas <dave@pragprog.com>
- * benchmark/gc/hash(1|2).rb: ditto.
+ * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_quotation):
+ Fix problem with the 'r' being dropped from %r{xxx}
- * benchmark/gc/rdoc.rb: ditto.
+Wed Jun 23 00:20:20 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * benchmark/gc/null.rb: added.
+ * ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing
+ CRs and LFs. (doesn't depend on CR+LF) [ruby-dev:23749]
- * common.mk: fix rule.
+Wed Jun 23 00:00:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 20 14:09:54 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (rb_io_initialize): should check fcntl result. [ruby-dev:23742]
- * tool/hashbench1.rb: fix parameter too. Increase temporary objects.
+Tue Jun 22 21:11:36 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Thu Jun 20 14:01:35 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/win32ole/win32ole.c (OLE_FREE): should not call CoFreeUnuse-
+ dLibraries().
- * tool/hashbench1.rb: fix parameters.
+ * ext/win32ole/win32ole.c (ole_event_free): ditto.
-Thu Jun 20 14:00:34 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/win32ole/win32ole.c (ole_hresult2msg): truncate error message
+ before CR.
- * common.mk: remove dependency from ruby.
+Tue Jun 22 16:47:42 2004 Shugo Maeda <shugo@ruby-lang.org>
-Thu Jun 20 13:14:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/ftp.rb (MDTM_REGEXP): fix for demon's ftp server.
+ Thanks, Rutger Nijlunsing.
- * error.c (rb_check_backtrace): evaluate RARRAY_AREF only once.
- the first argument of RB_TYPE_P is expanded twice for non-immediate
- types.
+Mon Jun 21 10:19:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Jun 20 08:09:29 2013 Koichi Sasada <ko1@atdot.net>
+ * win32/win32.c (rb_w32_opendir): use FindFirstFile()/FindNextFile()/
+ FindClose() instead of _findfirst()/_findnext()/_findclose().
+ merge from HEAD.
- * tool/gcbench.rb: Summary in one line.
+Sat Jun 19 13:24:15 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * common.mk: separate gcbench-hash to gcbench-hash1 and gcbench-hash2.
+ * eval.c (method_call): allow changing $SAFE. [ruby-dev:23713]
-Thu Jun 20 08:07:23 2013 Tanaka Akira <akr@fsij.org>
+Fri Jun 18 23:12:22 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (BIGSIZE): New macro.
- (bigfixize): Use BIGSIZE.
- (big2ulong): Ditto.
- (check_shiftdown): Ditto.
- (rb_big_aref): Ditto.
+ * eval.c (proc_save_safe_level, rb_set_safe_level, safe_setter): limit
+ safe level.
-Thu Jun 20 07:46:48 2013 Masaya Tarui <tarui@ruby-lang.org>
+Wed Jun 16 23:05:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (rb_gc_writebarrier): give up rescan A and register B directly
- if A has huge number of children.
+ * object.c (rb_mod_freeze): prepare string representation before
+ freezing. [ruby-talk:103646]
-Thu Jun 20 07:30:35 2013 Koichi Sasada <ko1@atdot.net>
+Wed Jun 16 16:04:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * common.mk: add new rules `gcbench-rdoc', `gcbench-hash'.
+ * object.c (rb_mod_le): singleton class inherits Class rather than its
+ object's class. [ruby-dev:23690]
- * tool/gcbench.rb: separate GC bench framework and process.
+Wed Jun 16 16:01:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/hashbench1.rb, tool/hashbench2.rb: add two types GC bench.
- hashbench1: many temporal objects (GC by newobj)
- hashbench2: hash size becomes bigger and bigger (GC by malloc)
- Two benches are executed by `gcbench-hash' rule.
+ * gc.c (stack_grow_direction): memoize the direction.
- * tool/rdocbench.rb: separated.
+ * gc.c (Init_stack): should always move to end of VALUE.
-Thu Jun 20 06:25:39 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jun 15 12:10:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * tool/rdocbench.rb: add summary.
+ * ext/tk/lib/tk.rb: bug fix (TkWindow#grab)
-Thu Jun 20 06:18:01 2013 Koichi Sasada <ko1@atdot.net>
+Mon Jun 14 18:23:27 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (gc_profile_total_time): check objspace->profile.next_index > 0.
+ * ext/tk/lib/remote-tk.rb: bug fix
-Thu Jun 20 05:47:41 2013 Koichi Sasada <ko1@atdot.net>
+Sun Jun 13 00:23:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (gc_prof_sweep_timer_start): fix merge miss.
+ * ext/tcltklib/extconf.rb: [EXPERIMENTAL] MacOS X (darwin) support
- * gc.c (GC_PROFILE_MORE_DETAIL): set it 0.
+ * ext/tcltklib/tcltklib.c: fix thread trouble on callback proc, and
+ eliminate warning about instance variable access
-Thu Jun 20 05:38:56 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/menubar.rb: improve supported menu_spec
- * gc.c: Accumulate sweep time to GC time.
- Now [GC time] is [mark time] + [sweep time] + [misc].
- ([GC time] >= [mark time] + [sweep time])
+ * ext/tk/lib/tk/menuspec.rb: [add] menu_spec support library
- * gc.c (gc_prof_sweep_slot_timer_start/stop): rename to
- gc_prof_sweep_timer_start/stop and locate at lazy_sweep().
+ * ext/tk/lib/tk/root.rb: add menu_spec support
- * gc.c (elapsed_time_from): add a utility function.
+ * ext/tk/lib/tk/text.rb: bug fix
-Thu Jun 20 05:08:53 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/toplevel.rb: add menu_spec support
- * gc.c (gc_marks): fix wrong option. FALSE means major/full GC.
- It should be TRUE (minor marking).
+ * ext/tk/sample/menubar?.rb: [add] sample of menu_spec usage
-Thu Jun 20 02:44:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 12 11:15:53 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * win32/win32.c (waitpid): should not return 0 but wait until exit
- unless WNOHANG is given. waiting huge process may return while
- active, for some reason.
+ * configure.in (target_os): strip -gnu suffix on Linux.
-Thu Jun 20 01:34:15 2013 Tanaka Akira <akr@fsij.org>
+Fri Jun 11 17:08:21 2004 Akinori MUSHA <knu@iDaemons.org>
- * bignum.c (bdigit_roomof): Use SIZEOF_BDIGITS.
- (bigfixize): Refine an ifdef condition.
- (rb_absint_size): Use bdigit_roomof.
- (rb_absint_singlebit_p): Ditto.
- (rb_integer_pack): Ditto.
- (integer_pack_fill_dd): Use BITSPERDIG.
- (integer_unpack_push_bits): Use BITSPERDIG, BIGLO and BIGDN.
+ * config.guess: Restore a wrongly removed hyphen.
-Thu Jun 20 01:07:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 11 14:30:08 2004 Akinori MUSHA <knu@iDaemons.org>
- * gc.c (MARKED_IN_BITMAP, FL_TEST2): return boolean value since always
- used as boolean value.
+ * config.guess: Attempt to avoid system name change on
+ Darwin platforms also.
- * gc.c (MARK_IN_BITMAP, CLEAR_IN_BITMAP): evaluate bits once.
+Fri Jun 11 14:22:45 2004 Akinori MUSHA <knu@iDaemons.org>
-Thu Jun 20 00:05:07 2013 Koichi Sasada <ko1@atdot.net>
+ * config.guess, config.sub: Attempt to avoid system name change on
+ Linux platforms. We have been using "linux" instead of
+ "linux-gnu" on this branch.
- * gc.c (RVALUE_PROMOTED): fix type.
+Thu Jun 10 19:19:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jun 19 23:39:01 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/sdbm/init.c (fsdbm_store): sdbm should use StringValue().
+ [ruby-talk:103062]
- * gc.c (gc_marks_test): rewrite checking code.
- When RGENGC_CHECK_MODE >= 2, all minor marking, run normal minor
- marking *and* major/full marking. After that, compare the results
- and shows BUG if a object living with major/full marking but dead
- with minor marking.
- After detecting bugs, print references information.
- (RGENGC_CHECK_MODE == 2, show references to dead object)
- (RGENGC_CHECK_MODE == 3, show all references)
+Wed Jun 9 18:04:14 2004 akira yamada <akira@ruby-lang.org>
-Wed Jun 19 23:51:48 2013 Tanaka Akira <akr@fsij.org>
+ * lib/uri/generic.rb (URI::Generic::merge,
+ URI::Generic::route_from): accepts non-hierarchical URI.
+ [ruby-dev:23631]
- * bignum.c (bigfixize): Use rb_absint_size.
- (check_shiftdown): Ditto.
- (big2ulong): Use bdigit_roomof.
+ * test/uri/test_generic.rb (TestGeneric::test_route,
+ TestGeneric::test_merge): added tests for above changes.
-Wed Jun 19 23:32:23 2013 Koichi Sasada <ko1@atdot.net>
+Wed Jun 9 17:39:37 2004 Akinori MUSHA <knu@iDaemons.org>
- * gc.c (RVALUE_PROMOTED): check consistency between oldgen flag and
- oldgen bitmap if RGENGC_CHECK_MODE > 0.
+ * config.guess, config.sub: Update to a more recent version as of
+ 2004-01-20.
-Wed Jun 19 23:29:29 2013 Koichi Sasada <ko1@atdot.net>
+ * configure.in: Add support for DragonFly BSD.
- * gc.c (rb_gc_force_recycle): clear oldgen bitmap, too.
+Wed Jun 2 20:16:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jun 19 21:02:13 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (str_new4): should share shared instance if it already
+ exists. [ruby-dev:23665]
- * bignum.c (rb_uint2big): Consider environments BDIGIT is bigger than
- long.
- (big2ulong): Ditto.
- (rb_big_aref): Ditto.
- (rb_big_pack): Just call rb_integer_pack.
- (rb_big_unpack): Just call rb_integer_unpack.
+Wed Jun 2 12:41:53 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Jun 19 20:51:21 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * io.c (rb_io_gets_m): set lastline ($_) even when read line is
+ nil. [ruby-dev:23663]
- * gc.c (gc_stress_get): GC.stress can be Fixnum.
+Fri May 28 11:20:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jun 19 19:31:30 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_eval): bad influence on frame node.
- * bignum.c (DIGSPERLONG): Don't define if BDIGIT is bigger than long.
- (DIGSPERLL): Don't define if BDIGIT is bigger than LONG_LONG
- (rb_absint_size): Consider environments BDIGIT is bigger than long.
- Use BIGLO and BIGDN.
- (rb_absint_singlebit_p): Ditto.
- (rb_integer_pack): Ditto.
- (bigsub_int): Consider environments BDIGIT is bigger than long.
- Use SIZEOF_BDIGITS instead of sizeof(BDIGIT).
- (bigadd_int): Ditto.
- (bigand_int): Ditto.
- (bigor_int): Ditto.
- (bigxor_int): Ditto.
+ * eval.c (eval): reverted wrongly removed condition. [ruby-dev:23638]
-Wed Jun 19 15:14:30 2013 Koichi Sasada <ko1@atdot.net>
+Thu May 27 23:15:18 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * include/ruby/ruby.h (struct rb_data_type_struct), gc.c: add
- rb_data_type_struct::flags. Now, this flags is passed
- at T_DATA object creation. You can specify FL_WB_PROTECTED
- on this flag.
+ * lib/logger.rb: leading 0 padding of timestamp usec part.
- * iseq.c: making non-shady iseq objects.
+ * lib/csv.rb (CSV.parse): [CAUTION] behavior changed. in the past,
+ CSV.parse accepts a filename to be read-opened (it was just a
+ shortcut of CSV.open(filename, 'r')). now CSV.parse accepts a
+ string or a stream to be parsed e.g.
+ CSV.parse("1,2\n3,r") #=> [['1', '2'], ['3', '4']]
- * class.c, compile.c, proc.c, vm.c: add WB for iseq objects.
+ * lib/csv.rb: CSV::Row and CSV::Cell are deprecated. these classes
+ are removed in the future. in the new csv.rb, row is represented
+ as just an Array. since CSV::Row was a subclass of Array, it won't
+ hurt almost all programs except one which depended CSV::Row#match.
+ and a cell is represented as just a String or nil(NULL). this
+ change will cause widespread destruction.
- * vm_core.h, iseq.h: constify fields to detect WB insertion.
+ CSV.open("foo.csv", "r") do |row|
+ row.each do |cell|
+ if cell.is_null # using Cell#is_null
+ p "(NULL)"
+ else
+ p cell.data # using Cell#data
+ end
+ end
+ end
-Wed Jun 19 15:11:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ must be just;
- * gc.c (gc_mark_children): show more info for broken object.
+ CSV.open("foo.csv", "r") do |row|
+ row.each do |cell|
+ if cell.nil?
+ p "(NULL)"
+ else
+ p cell
+ end
+ end
+ end
-Wed Jun 19 14:04:41 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * lib/csv.rb: [CAUTION] record separator(CR, LF, CR+LF) behavior
+ change. CSV.open, CSV.parse, and CSV,generate now do not force
+ opened file binmode. formerly it set binmode explicitly.
- * test/ruby/envutil.rb (EnvUtil#rubybin): remove unnecessary
- unless expression.
+ with CSV.open, binmode of opened file depends the given mode
+ parameter "r", "w", "rb", and "wb". CSV.parse and CSV.generate open
+ file with "r" and "w".
-Wed Jun 19 07:47:48 2013 Koichi Sasada <ko1@atdot.net>
+ setting mode properly is user's responsibility now.
- * gc.c (garbage_collect_body): use FIX2INT for ruby_gc_stress.
+ * lib/csv.rb: accepts String as a fs (field separator/column separator)
+ and rs (record separator/row separator)
-Wed Jun 19 07:44:31 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/csv.rb (CSV.read, CSV.readlines): added. works as IO.read and
+ IO.readlines in CSV format.
- * gc.c (rb_objspace::gc_stress): int -> VALUE to store Fixnum object.
+ * lib/csv.rb: added CSV.foreach(path, rs = nil, &block). CSV.foreach
+ now does not handle "| cmd" as a path different from IO.foreach.
+ needed?
-Wed Jun 19 07:25:35 2013 Koichi Sasada <ko1@atdot.net>
+ * test/csv/test_csv.rb: updated.
- * gc.c (make_deferred): clear flags to T_ZOMBIE.
+ * test/ruby/test_float.rb: added test_strtod to test Float("0").
- * gc.c (slot_sweep_body): fix indent.
+Thu May 27 21:37:50 2004 Tanaka Akira <akr@m17n.org>
-Wed Jun 19 07:18:47 2013 Tanaka Akira <akr@fsij.org>
+ * lib/pathname.rb (Pathname#initialize): refine pathname initialization
+ by pathname.
- * bignum.c (rb_big_aref): Apply BIGLO to ~xds[i] for environment which
- BDIGIT is 16bit.
+Thu May 27 20:22:05 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Jun 19 07:09:26 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (rb_io_fwrite): check all case errno != 0 [ruby-dev:23648]
- * gc.c (rgengc_remember): fix output level.
+Thu May 27 14:53:13 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c (rgengc_rememberset_mark): fix to output clear count.
- (shady_object_count + clear_count = count of remembered objects)
+ * io.c (rb_io_fwrite): workaround for bcc32's fwrite bug.
+ add errno checking. [ruby-dev:23627]
-Wed Jun 19 07:06:21 2013 Koichi Sasada <ko1@atdot.net>
+Wed May 26 14:19:42 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (rgengc_remember): check T_NONE and T_ZOMBIE
- if RGENGC_CHECK_MODE > 0.
+ * eval.c (rb_eval, eval): make line number consistent on eval with
+ Proc. [ruby-talk:101253]
-Wed Jun 19 07:02:19 2013 Koichi Sasada <ko1@atdot.net>
+Wed May 26 13:59:17 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (RGENGC_CHECK_MODE): add new check mode `3'.
- In this mode, show all references if there is
- a miss-corrected object.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::skip_for_variable): Allow for
+ 'do' after for statement
-Wed Jun 19 06:31:08 2013 Koichi Sasada <ko1@atdot.net>
+Wed May 26 13:56:03 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (gc_stress_set): add special option of GC.stress.
- `GC.stress=(flag)' accepts integer to control behavior of GC.
- See code for details. Of course, this feature is only for MRI.
+ * lib/rdoc/generators/html_generator.rb (Generators::MarkUp::style_url): Fix
+ relative path to code CSS file
- You can debug RGenGC (WB) using `GC.stress = 1'.
- Using this option, do minor marking at all possible places.
+Wed May 26 13:14:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- GC::STRESS_MINOR_MARK = 1 and GC::STRESS_LAZY_SWEEP = 2
- seem good to add.
+ * io.c (rb_io_init_copy): copy also positions. [ruby-talk:100910]
-Wed Jun 19 06:29:31 2013 Koichi Sasada <ko1@atdot.net>
+Wed May 26 00:00:00 2004 why the lucky stiff <why@ruby-lang.org>
- * vm.c (kwmerge_i): add WB.
+ * ext/syck/syck.c (syck_new_parser): clear parser on init.
+ thanks, ts. [ruby-core:02931]
-Wed Jun 19 06:26:49 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/token.c (sycklex_yaml_utf8): buffer underflow.
+ thanks, ts. [ruby-core:02929]
- * hash.c: `st_update()' also has same issue of last fix.
- write barriers at callback function are too early.
- All write barriers are executed after `st_update()'
+ * lib/yaml/baseemitter.rb (indent_text): simpler flow block code.
-Wed Jun 19 04:33:22 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/yaml.rb: added rdoc to beginning of lib.
- * variable.c (rb_const_set): fix WB miss.
+Mon May 24 10:46:26 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- WBs had located before creating reference between a klass
- and constant value. It causes GC bug.
+ * lib/rdoc/generators/template/html/html.rb: SYSTEM identifiers
+ must be absolute URIs
- # pseudo code:
- WB(klass, value); # WB and remember klass
- st_insert(klass->const_table, const_id, value);
+Sat May 22 12:00:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- `st_insert()' can cause GC before inserting `value' and
- forget `klass' from the remember set. After that, relationship
- between `klass' and `value' are created with constant table.
- Now, `value' can be young (shady) object and `klass' can be old
- object, without remembering `klass' object.
- At the next GC, old `klass' object will be skipped and
- young (shady) `value' will be miss-collected. -> GC bug
+ * MANIFEST: add new encodings in rexml.
- Lesson: The place of a WB is important.
+ * ext/tk/MANIFEST: add recent files.
-Tue Jun 18 22:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Sat May 22 05:37:11 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_insnhelper.c (vm_call_method): ensure methods of type
- VM_METHOD_TYPE_ATTR_SET are called with 1 argument
+ * ext/tk/lib/remote-tk.rb: (NEW library) controll Tk interpreters
+ on the other processes by Tcl/Tk's 'send' command
- * test/ruby/test_module.rb
- (TestModule#test_attr_writer_with_no_arguments): add test
- [ruby-core:55543] [Bug #8540]
+Fri May 21 09:22:05 2004 Dave Thomas <dave@pragprog.com>
-Tue Jun 18 22:36:23 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_parameters):
+ Add ()'s around parameters that don't have them
- * gc.c (gc_profile_record_flag): fix typo.
+Thu May 20 17:02:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jun 18 22:08:53 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/mkmf.rb (check_sizeof): define result size. [ruby-core:02911]
- * ext/objspace/object_tracing.c: Return for ::allocation_generation
+ * lib/mkmf.rb (create_header): macro name should not include equal
+ sign.
-Tue Jun 18 22:04:35 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu May 20 15:59:50 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/objspace/object_tracing.c: Document object_tracing methods.
+ * ext/socket/socket.c: fix SEGV. [ruby-dev:23550]
-Tue Jun 18 21:58:17 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu May 20 14:35:52 2004 Tanaka Akira <akr@m17n.org>
- * gc.c: Rename rb_mObSpace -> rb_mObjSpace
+ * ext/socket/socket.c: check SCM_RIGHTS macro addition to
+ the msg_control field to test existence of file descriptor passing
+ by msg_control.
-Tue Jun 18 20:55:05 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu May 20 12:38:06 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/objspace/objspace.c: Document ObjectSpace::InternalObjectWrapper.
+ * numeric.c (flo_eq): always check if operands are NaN.
+ [ruby-list:39685]
-Tue Jun 18 20:39:04 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu May 20 12:34:39 2004 Dave Thomas <dave@pragprog.com>
- * ext/objspace/object_tracing.c: Teach rdoc object_tracing.c [Bug #8537]
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_visibility):
+ At Ryan Davis' suggestion, honor visibility modifers if guarded by a
+ statement modifier
-Tue Jun 18 20:29:47 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu May 20 12:22:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/.document: add object_tracing.c to document file
+ * lib/mkmf.rb (have_type): do not check pointer to incomplete type,
+ which always get compiled. [ruby-list:39683]
-Tue Jun 18 20:20:27 2013 Zachary Scott <zachary@zacharyscott.net>
+Wed May 19 11:09:00 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/objspace/objspace.c: rdoc on require to overview from r41355
+ * ext/tk/lib/tk.rb: change permition of TkObject#tk_send from
+ private to public
-Tue Jun 18 18:39:58 2013 Tanaka Akira <akr@fsij.org>
+Tue May 18 14:00:46 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: Check __int128.
+ * node.h (NEW_DSTR): adjust list length.
- * include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available.
- (BDIGIT): Use uint64_t if uint128_t is available.
- (SIZEOF_BDIGITS): Defined for above case.
- (BDIGIT_DBL_SIGNED): Ditto.
- (PRI_BDIGIT_PREFIX): Ditto.
+ * parse.y (literal_concat): ditto.
- * include/ruby/ruby.h (PRI_64_PREFIX): Defined.
+Mon May 17 16:14:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which
- rb_big_pow returns Float or Bignum.
+ * numeric.c (flo_to_s): it's preferable that "p 0.0" outputs "0.0"
+ instead of "0.0e+00". [ruby-dev:23480]
- [ruby-dev:47413] [Feature #8509]
+ * numeric.c (flo_to_s): it's preferable that "p 0.00000000000000000001"
+ outputs "1.0e-20" instead of "9.999999999999999e-21". (the precision
+ is considered, but there is assumption DBL_DIG == 15 in current
+ implementation)
-Tue Jun 18 16:43:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon May 17 10:13:33 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * parse.y (parser_heredoc_restore): clear lex_strterm always to get
- rid of marking recycled node. this bug is revealed by r41372 with
- GC.stress=true.
+ * ext/socket/socket.c (setup_domain_and_type): honor duck typing.
+ [ruby-dev:23522]
-Tue Jun 18 12:53:25 2013 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c (sock_s_getnameinfo): ditto.
- * bignum.c (nlz): Cast the result explicitly.
- (big2dbl): Don't assign BDIGIT values to int variable.
+Mon May 17 01:15:23 2004 why the lucky stiff <why@ruby-lang.org>
-Tue Jun 18 12:25:16 2013 Tanaka Akira <akr@fsij.org>
+ * lib/yaml.rb: removed fallback to pure Ruby parser.
- * bignum.c (rb_big_xor): Non-effective code removed.
+ * lib/yaml/baseemitter.rb (indent_text): was forcing a mod value
+ of zero at times, which kept some blocks from getting indentation.
-Tue Jun 18 11:26:05 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/yaml/baseemitter.rb (node_text): rewriting folded scalars.
- * gc.c (gc_stat): add `generated_normal_object_count_types' for
- RGENGC_PROFILE >= 2.
+ * ext/syck/syck.h: reports style of scalars now, be they plain, block
+ single-, or double-quoted.
-Tue Jun 18 11:02:18 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/syck.c: ditto.
- * gc.c (gc_mark_maybe): check to skip T_NONE.
+ * ext/syck/gram.c: ditto.
- * gc.c (markable_object_p): do not need to check (flags == 0) here.
+ * ext/syck/node.c: ditto.
-Tue Jun 18 10:17:37 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/token.c: ditto.
- * variable.c (rb_autoload): fix WB miss.
+ * ext/syck/rubyext.c (yaml_org_handler): symbols loaded only
+ if scalar style is plain.
-Tue Jun 18 04:20:18 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/rubyext.c (yaml_org_handler): some empty strings were
+ loaded as symbols.
- * gc.c (gc_mark_children): don't need to care about T_ZOMBIE here.
+ * test/yaml/test_yaml.rb (test_perl_regexp): updated test to
+ match new regexp serialization.
-Mon Jun 17 22:16:02 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Mon May 17 00:03:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc):
- run test for r41359.
+ * lib/drb/drb.rb: Cosmetic documentation changes.
-Mon Jun 17 21:42:18 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Sun May 16 22:36:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * include/ruby/ruby.h, vm_eval.c (rb_funcall_with_block):
- new function to invoke a method with a block passed
- as an argument.
+ * lib/test/unit.rb: Removed :nodoc: directive (it prevented effective
+ RDoc operation), and added file-level comment.
- * string.c (sym_call): use the above function to avoid
- a block sharing. [ruby-dev:47438] [Bug #8531]
+Sun May 16 20:55:49 2004 Tanaka Akira <akr@m17n.org>
- * vm_insnhelper.c (vm_yield_with_cfunc): don't set block
- in the frame.
+ * ext/dbm/dbm.c (fdbm_initialize): accept optional 3rd argument to
+ specify an open flag.
+ (Init_dbm): define open flags: DBM::READER, DBM::WRITER, DBM::WRCREAT
+ and DBM::NEWDB.
- * test/ruby/test_symbol.rb (TestSymbol#test_block_given_to_proc):
- run related tests.
+Sun May 16 13:10:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Mon Jun 17 21:33:27 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/test/unit/**/*.rb: Removed :nodoc: directives (many were
+ generating warnings, many were on private methods).
- * 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.
+Sat May 15 01:41:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * proc.c (bmcall): use the above function to avoid a block sharing.
- [ruby-core:54626] [Bug #8341]
+ * eval.c (eval): forgot to restore $SAFE value before evaluating
+ compiled node. [ruby-core:02872]
- * test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls):
- run related tests.
+Sat May 15 01:33:12 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jun 17 20:53:21 2013 Tanaka Akira <akr@fsij.org>
+ * range.c (range_each_func): terminates loop if generating value
+ is same to @end. [ruby-talk:100269]
- * loadpath.c (RUBY_REVISION): Defined to suppress revision.h
- inclusion actually. r41352 removes the dependency.
+Fri May 14 22:08:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jun 17 18:15:57 2013 Benoit Daloze <eregontp@gmail.com>
+ * string.c (rb_str_new4): should not reuse frozen shared string if
+ the original is not an instance of String. [ruby-talk:100193]
- * ext/objspace/objspace.c: let rdoc know about objspace methods.
- Specify 'objspace' should be required. See #8537.
+Fri May 14 18:39:25 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jun 17 17:44:31 2013 Benoit Daloze <eregontp@gmail.com>
+ * ext/tk/lib/tk/canvas.rb: improve coords support for canvas items.
+ Now, supports all of the followings.
+ TkcLine.new(c, 0, 0, 100, 100, :fill=>'red')
+ TkcLine.new(c, [0, 0, 100, 100], :fill=>'red')
+ TkcLine.new(c, [0, 0], [100, 100], :fill=>'red')
+ TkcLine.new(c, [[0, 0], [100, 100]], :fill=>'red')
+ TkcLine.new(c, :coords=>[0, 0, 100, 100], :fill=>'red')
+ TkcLine.new(c, :coords=>[[0, 0], [100, 100]], :fill=>'red')
- * gc.c (ObjectSpace): is a module not a class.
+Fri May 14 12:11:43 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/objspace/objspace.c: try to include overview in rdoc,
- see #8537.
+ * util.c (ruby_strtod): strtod("0", &end); => end should point '\0'.
+ [ruby-dev:23498]
-Mon Jun 17 17:38:24 2013 Benoit Daloze <eregontp@gmail.com>
+Thu May 13 15:47:30 2004 akira yamada <akira@ruby-lang.org>
- * gc.c: fix example of ObjectSpace.define_finalizer in overview
+ * lib/net/telnet.rb (Net::Telnet::login): "options" can specify
+ regexps for login prompt and/or password prompt.
-Mon Jun 17 16:59:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu May 13 14:23:45 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/tk/tkutil/tkutil.c: use rb_sprintf(), rb_id2str(), and
- rb_intern_str() instead of rb_intern() and RSTRING_PTR() with
- RB_GC_GUARD(), to prevent temporary objects from GC.
- [ruby-core:39000] [Bug #5199]
+ * hash.c (delete_if_i): use st_delete_safe() (via
+ rb_hash_delete()) instead of returning ST_DELETE.
+ backport from HEAD. [ruby-dev:23487]
-Mon Jun 17 14:27:54 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu May 13 13:01:30 2004 akira yamada <akira@ruby-lang.org>
- * vm_backtrace.c: Update rdoc for Backtrace#label with @_ko1
+ * lib/uri/mailto.rb (URI::MailTo::to_s): should include fragment.
-Mon Jun 17 13:04:01 2013 Akinori MUSHA <knu@iDaemons.org>
+Thu May 13 11:04:08 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/ifchange (until): Fix the condition, although harmless in
- this case.
+ * pack.c (pack_pack): always add with null for 'Z'.
-Mon Jun 17 11:50:29 2013 Koichi Sasada <ko1@atdot.net>
+ * pack.c (pack_unpack): terminated by null for 'Z'. [ruby-talk:98281]
- * gc.c (gc_mark_maybe): added. check `is_pointer_to_heap()' and
- type is not T_ZOMBIE.
+Wed May 12 19:59:43 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c: use `gc_mark_maybe()'. T_ZOMBIE objects should not be pushed
- to the mark stack.
+ * lib/mkmf.rb (have_type, check_sizeof): replace unusable characters.
+ [ruby-talk:99788]
-Mon Jun 17 07:56:24 2013 Tanaka Akira <akr@fsij.org>
+Wed May 12 17:41:42 2004 Tanaka Akira <akr@m17n.org>
- * bignum.c (bary_small_lshift): Renamed from bdigs_small_lshift.
- (bary_small_rshift): Renamed from bdigs_small_rshift.
+ * lib/resolv.rb (Resolv::DNS::Config): make it configurable without
+ external file such as /etc/resolv.conf.
-Mon Jun 17 07:38:48 2013 Tanaka Akira <akr@fsij.org>
+Wed May 12 14:37:27 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (absint_numwords_bytes): Removed.
- (rb_absint_numwords): Don't call absint_numwords_bytes.
+ * ext/openssl/ossl_x509name.c: attribute value of DC (short name of
+ domainComponent) should be IA5String.
-Sun Jun 16 23:14:58 2013 Tanaka Akira <akr@fsij.org>
+Wed May 12 13:20:19 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (BARY_ADD): New macro.
- (BARY_SUB): Ditto.
- (BARY_MUL): Ditto.
- (BARY_DIVMOD): Ditto.
- (BARY_ZERO_P): Ditto.
- (absint_numwords_generic): Use these macros.
+ * ext/tk/lib/tk/composite.rb: improve configure methods (based on
+ the proposal of [ruby-talk:99671]).
-Sun Jun 16 21:41:39 2013 Tanaka Akira <akr@fsij.org>
+Wed May 12 11:51:08 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (bary_2comp): Extracted from get2comp.
- (integer_unpack_num_bdigits): Extracted from
- rb_integer_unpack_internal.
- (bary_unpack_internal): Renamed from bary_unpack and support
- INTEGER_PACK_2COMP.
- (bary_unpack): New function to validate arguments and invoke
- bary_unpack_internal.
- (rb_integer_unpack_internal): Removed.
- (rb_integer_unpack): Invoke bary_unpack_internal.
- (rb_integer_unpack_2comp): Removed.
+ * class.c (rb_obj_singleton_methods): fix rdoc
- * internal.h (rb_integer_unpack_2comp): Removed.
+Mon May 10 21:44:42 2004 Dave Thomas <dave@pragprog.com>
- * pack.c: Follow the above change.
+ * lib/rdoc/generators/html_generator.rb: Change scheme for
+ looking up symbols in HTML generator.
-Sun Jun 16 18:41:42 2013 Tanaka Akira <akr@fsij.org>
+Mon May 10 16:45:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * internal.h (INTEGER_PACK_2COMP): Defined.
- (rb_integer_pack_2comp): Removed.
+ * eval.c (eval): warning during eval should not cause deadlock.
+ [ruby-talk:98651]
- * bignum.c (bary_pack): Support INTEGER_PACK_2COMP.
- (rb_integer_pack): Invoke bary_pack directly.
- (rb_integer_pack_2comp): Removed.
- (rb_integer_pack_internal): Ditto.
- (absint_numwords_generic): Follow the above change.
+ * eval.c (rb_eval): raise TypeError exception for superclass
+ mismatch. [ruby-list:39567]
- * pack.c (pack_pack): Ditto.
+Mon May 10 12:11:37 2004 Dave Thomas <dave@pragprog.com>
- * sprintf.c (rb_str_format): Ditto.
+ * lib/rdoc/generators/html_generator.rb: Hack to search parents
+ for unqualified constant names.
-Sun Jun 16 17:48:14 2013 Tanaka Akira <akr@fsij.org>
+Mon May 10 12:11:37 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (absint_numwords_generic): rb_funcall invocations removed.
+ * lib/rdoc/generators/html_generator.rb: Hack to search parents
+ for unqualified constant names.
-Sun Jun 16 16:04:38 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sun May 9 22:37:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * tool/config_files.rb: use URI.read to allow it runs with Ruby 1.8.5.
+ * lib/net/ftp.rb: improved documentation
+ * lib/net/imap.rb: ditto
+ * lib/net/pop.rb: ditto
+ * lib/net/smtp.rb: ditto
+ * lib/net/telnet.rb: ditto
-Sun Jun 16 14:32:25 2013 Tanaka Akira <akr@fsij.org>
+Fri May 7 21:50:21 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (bary_pack) Extracted from rb_integer_pack_internal.
- (absint_numwords_generic): Use bary_pack.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_include): Allow
+ multiple arguments to 'include'
-Sun Jun 16 11:01:57 2013 Kouhei Sutou <kou@cozmixng.org>
+Fri May 7 21:31:56 2004 Minero Aoki <aamine@loveruby.net>
- * NEWS (XMLRPC::Client#http): Add.
- [ruby-core:55197] [Feature #8461]
+ * lib/fileutils.rb (fu_list): Array() breaks pathes including "\n".
+ [ruby-core:02843]
-Sun Jun 16 10:38:45 2013 Tanaka Akira <akr@fsij.org>
+Fri May 7 11:25:53 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * bignum.c (bary_add): New function.
- (bary_zero_p): Extracted from bigzero_p.
- (absint_numwords_generic): Use bary_zero_p and bary_add.
- (bary_mul): Fix an argument for bary_mul_single.
- (bary_divmod): Use size_t for arguments.
+ * util.c (ruby_strtod): "0.0000000000000000001" should be converted
+ to 1.0e-19 instead of 0.0. (leading zeros aren't significant digits)
+ [ruby-talk:99318] [ruby-dev:23465]
-Sun Jun 16 08:55:22 2013 Tanaka Akira <akr@fsij.org>
+Fri May 7 10:00:05 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bignum.c (bigdivrem): Use a BDIGIT variable to store the return
- value of bigdivrem_single.
+ * ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]
-Sun Jun 16 08:43:59 2013 Tanaka Akira <akr@fsij.org>
+Thu May 6 22:13:17 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * bignum.c (bary_divmod): New function.
- (absint_numwords_generic): Use bary_divmod.
- (bigdivrem_num_extra_words): Extracted from bigdivrem.
- (bigdivrem_single): Ditto.
- (bigdivrem_normal): Ditto.
- (BIGDIVREM_EXTRA_WORDS): Defined.
+ * ext/socket/socket.c (ippaddr): use NUMERICHOST if can not resolve
+ hostname.
-Sun Jun 16 05:51:51 2013 Masaya Tarui <tarui@ruby-lang.org>
+Thu May 6 14:22:29 2004 why the lucky stiff <why@ruby-lang.org>
- * gc.c: Fixup around GC by MALLOC.
- Add allocate size to malloc_increase before GC
- for updating limit in after_gc_sweep.
- Reset malloc_increase into garbage_collect()
- for preventing GC again soon.
+ * lib/yaml/rubytypes.rb (to_yaml): added instance variable handling
+ for Ranges, Strings, Structs, Regexps.
-Sun Jun 16 05:15:36 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * lib/yaml/rubytypes.rb (to_yaml_fold): new method for setting a
+ String's flow style.
- * gc.c: Add some columns to more detail profile.
- new columns: Allocated size, Prepare Time, Removing Objects, Empty Objects
+ * lib/yaml.rb (YAML::object_maker): now uses Object.allocate.
-Sun Jun 16 02:04:40 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * ext/syck/gram.c: fixed transfer methods on structs, broke it
+ last commit.
- * gc.c (gc_prof_timer_stop): Merge function codes of GC_PROFILE_MORE_DETAIL and !GC_PROFILE_MORE_DETAIL.
- * gc.c (gc_prof_mark_timer_start): Ditto.
- * gc.c (gc_prof_mark_timer_stop): Ditto.
- * gc.c (gc_prof_sweep_slot_timer_start): Ditto.
- * gc.c (gc_prof_sweep_slot_timer_stop): Ditto.
- * gc.c (gc_prof_set_malloc_info): Ditto.
- * gc.c (gc_prof_set_heap_info): Ditto.
+Thu May 6 11:40:28 2004 Shugo Maeda <shugo@ruby-lang.org>
-Sat Jun 15 23:50:24 2013 Tanaka Akira <akr@fsij.org>
+ * lib/net/imap.rb (string): accept NIL.
- * bignum.c (bary_sub): New function.
- (absint_numwords_generic): Use bary_sub.
- (bigsub_core): Skip unnecessary copy.
+ * lib/net/imap.rb (body_type_basic): allow body-fields omissions.
-Sat Jun 15 22:05:30 2013 Tanaka Akira <akr@fsij.org>
+Thu May 6 01:59:04 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (bary_mul): New function.
- (absint_numwords_generic): Use bary_mul.
- (bary_mul_single): Extracted from bigmul1_single.
- (bary_mul_normal): Extracted from bigmul1_normal.
+ * lib/rdoc/generators/html_generator.rb (Generators::HtmlMethod::params):
+ Don't include the &block parameter if we have explicit
+ yield parameters.
-Sat Jun 15 20:13:46 2013 Tanaka Akira <akr@fsij.org>
+Wed May 5 03:40:29 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * bignum.c (bary_unpack): Extracted from rb_integer_unpack_internal.
- (absint_numwords_generic): Use bary_unpack.
- (roomof): Defined.
- (bdigit_roomof): Defined.
- (BARY_ARGS): Defined.
- (bary_unpack): Declared.
+ * lib/rinda/ring.rb: use recv instead of recvfrom.
-Sat Jun 15 19:35:04 2013 Tanaka Akira <akr@fsij.org>
+Tue May 4 23:52:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * bignum.c (absint_numwords_bytes): Make it static.
- (absint_numwords_small): Ditto.
- (absint_numwords_generic): Ditto.
+ * lib/gserver.rb: documented
-Sat Jun 15 17:14:32 2013 Tanaka Akira <akr@fsij.org>
+Tue May 4 23:46:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * bignum.c (bigmul1_normal): Shrink the result Bignum length.
+ * lib/xmlrpc/README.txt: introduced for documentation purposes
-Sat Jun 15 10:19:42 2013 Zachary Scott <zachary@zacharyscott.net>
+Mon May 3 09:47:24 2004 Dave Thomas <dave@pragprog.com>
- * ext/bigdecimal/bigdecimal.c: Update overview formatting of headers
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):
+ Fix parsing bug if yield called within 1 line block
-Sat Jun 15 10:19:06 2013 Zachary Scott <zachary@zacharyscott.net>
+Sun May 2 01:04:38 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/bigdecimal/bigdecimal.gemspec: Update authors
+ * ext/tcltklib, ext/tk: renewal Ruby/Tk
-Sat Jun 15 10:02:26 2013 Tanaka Akira <akr@fsij.org>
+Fri Apr 30 20:08:41 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * bignum.c (bdigs_small_rshift): Extracted from big_rshift.
- (bigdivrem): Use bdigs_small_rshift.
+ * time.c (SIZEOF_TIME_T): support SIZEOF_TIME_T == SIZEOF_INT.
-Sat Jun 15 08:37:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Apr 27 13:12:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (eval_string_with_cref): propagate absolute path from the
- binding if it is given explicitly. patch by Gat (Dawid Janczak) at
- [ruby-core:55123]. [Bug #8436]
+ * eval.c (rb_eval): too many line trace call. (ruby-bugs PR#1320)
-Sat Jun 15 02:40:18 2013 Tanaka Akira <akr@fsij.org>
+Tue Apr 27 08:41:28 2004 why the lucky stiff <why@ruby-lang.org>
- * bignum.c (bdigs_small_lshift): Extracted from big_lshift.
- (bigdivrem): Use bdigs_small_lshift.
+ * lib/yaml/rubytypes.rb: passing Range tests.
-Fri Jun 14 20:47:41 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/syck.h: version 0.44.
- * bignum.c (bigdivrem): Reduce number of digits before bignew() for div.
+ * ext/syck/gram.c: transfers no longer open an indentation.
+ fixed transfers which precede blocks.
-Fri Jun 14 20:12:37 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/token.c: ditto.
- * bignum.c (bigdivrem): Use bignew when ny == 1.
+ * ext/syck/syck.c: fixed segfault if an anchor has been released already.
-Fri Jun 14 18:52:51 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/node.c (syck_free_members): organized order of free'd nodes.
- * compile.c (rb_iseq_compile_node): fix location of a `trace'
- instruction (b_return event).
- [ruby-core:55305] [ruby-trunk - Bug #8489]
- (need a backport to 2.0.0?)
+ * ext/syck/rubyext.c (syck_emitter_write_m): test for proper string with
+ StringValue.
- * test/ruby/test_settracefunc.rb: add a test.
+Mon Apr 26 23:56:54 2004 Daniel Kelley <news-1082945587@dkelley.gmp.san-jose.ca.us>
-Fri Jun 14 18:18:07 2013 Koichi Sasada <ko1@atdot.net>
+ * README.EXT, README.EXT.ja: fixed wrong function signature.
+ [ruby-talk:98349]
- * class.c, include/ruby/ruby.h: add write barriers for T_CLASS,
- T_MODULE, T_ICLASS.
+Mon Apr 26 21:40:09 2004 Dave Thomas <dave@pragprog.com>
- * constant.h: constify rb_const_entry_t::value and file to detect
- assignment.
+ * lib/rdoc/code_objects.rb (RDoc::Context::add_alias): Only alias
+ to instance methods.
- * variable.c, internal.h (rb_st_insert_id_and_value, rb_st_copy):
- added. update table with write barrier.
+Sat Apr 24 10:38:31 2004 Dave Thomas <dave@pragprog.com>
- * method.h: constify some variables to detect assignment.
+ * lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::group_lines):
+ Fix bug where consecutive headings are merged.
- * object.c (init_copy): add WBs.
+Fri Apr 23 23:26:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * variable.c: ditto.
+ * lib/mkmf.rb: $hdrdir should not contain macros for backward
+ compatibility. [bruby-dev:28]
- * vm_method.c (rb_add_method): ditto.
+ * version.c (ruby_show_copyright): obtain copyright year from
+ RUBY_RELEASE_YEAR.
-Fri Jun 14 14:33:47 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * win32/resource.rb: ditto.
- * NEWS: add a note for Module#using.
+ * win32/resource.rb: default rubyw icon to ruby.ico, and let DLL also
+ include them.
-Fri Jun 14 13:40:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/resource.rb: include winver.h for older WindowsCE.
- * .travis.yml (before_script): update config files.
+Fri Apr 23 16:38:46 2004 Tanaka Akira <akr@m17n.org>
- * common.mk ($(srcdir)/tool/config.{guess,sub}): use get-config_files.
+ * lib/pathname.rb: sync taint/freeze flag between
+ a pathname object and its internal string object.
- * tool/config_files.rb: split get-config_files.
+Fri Apr 23 14:52:08 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * common.mk (update-config_files): rule to download config files.
+ * parse.y (stmt, arg, aref_args): should not make sole splat into
+ array, in aref_args other than aref with op_asgn.
- * tool/config.guess, tool/config.sub: remove and download from the
- upstream.
+Fri Apr 23 14:14:38 2004 Tanaka Akira <akr@m17n.org>
- * tool/config_files.rb: download config files from GNU.
+ * lib/resolv.rb: don't use Regexp#source to embed regexps.
+ [ruby-dev:23432]
-Fri Jun 14 12:21:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Apr 22 04:15:36 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): suppress warnings
- "left-hand operand of comma expression has no effect", on gcc 4.4.
+ * parse.y (aref_args): should pass expanded list. [ruby-core:02793]
-Fri Jun 14 09:48:48 2013 Shugo Maeda <shugo@ruby-lang.org>
+Thu Apr 22 01:12:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * NEWS: add notes for $SAFE.
+ * numeric.c (flo_to_s): tweak output string based to preserve
+ decimal point and to remove trailing zeros. [ruby-talk:97891]
- * doc/security.rdoc: remove the description of $SAFE=4.
+ * string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM
+ search. [ruby-talk:97342]
-Fri Jun 14 00:14:29 2013 Tanaka Akira <akr@fsij.org>
+Wed Apr 21 22:57:27 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * bignum.c (bigdivrem): Zero test condition simplified.
+ * lib/rinda/rinda.rb, test/rinda/test_rinda.rb: check Hash tuple size.
-Thu Jun 13 23:43:11 2013 Zachary Scott <zachary@zacharyscott.net>
+Wed Apr 21 20:05:00 2004 Tanaka Akira <akr@m17n.org>
- * ext/bigdecimal/*: improve documentation, nodoc samples with @mrkn
+ * lib/open-uri.rb (URI::HTTP#proxy_open): set Host: field explicitly.
+ [ruby-list:39542]
-Thu Jun 13 23:02:14 2013 Kouhei Sutou <kou@cozmixng.org>
+Mon Apr 19 18:11:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/xmlrpc/client.rb (XMLRPC::Client#http): Add reader for raw
- Net::HTTP. [ruby-core:55197] [Feature #8461]
- Reported by Herwin Weststrate. Thanks!!!
+ * hash.c (rb_hash_equal): returns true if two hashes have same set
+ of key-value set. [ruby-talk:97559]
-Thu Jun 13 22:44:52 2013 Kouhei Sutou <kou@cozmixng.org>
+ * hash.c (rb_hash_eql): returns true if two hashes are equal and
+ have same default values.
- * lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Support
- multiple names in a response. [ruby-core:41711] [Bug #5774]
- Reported by Roman Riha. Thanks!!!
- * test/xmlrpc/test_client.rb (XMLRPC::ClientTest#test_cookie_override):
- Add a test of the above case.
+Mon Apr 19 08:19:58 2004 Doug Kearns <djkea2@mugca.its.monash.edu.au>
-Thu Jun 13 22:35:50 2013 Kouhei Sutou <kou@cozmixng.org>
+ * dln.c, io.c, lib/benchmark.rb, lib/cgi.rb, lib/csv.rb, lib/date.rb,
+ lib/ftools.rb, lib/getoptlong.rb, lib/logger.rb, lib/matrix.rb,
+ lib/monitor.rb, lib/set.rb, lib/thwait.rb, lib/timeout.rb,
+ lib/yaml.rb, lib/drb/drb.rb, lib/irb/workspace.rb, lib/net/ftp.rb,
+ lib/net/http.rb, lib/net/imap.rb, lib/net/telnet.rb,
+ lib/racc/parser.rb, lib/rinda/rinda.rb, lib/rinda/tuplespace.rb,
+ lib/shell/command-processor.rb, lib/soap/rpc/soaplet.rb,
+ lib/test/unit/testcase.rb, lib/test/unit/testsuite.rb: typo fix.
- * lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Use
- guard style.
+Mon Apr 19 08:14:18 2004 Dave Thomas <dave@pragprog.com>
-Thu Jun 13 22:12:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Allow for
+ #ifdef HAVE_PROTOTYPES
- * lib/fileutils.rb (FileUtils#rmdir): fix traversal loop, not trying
- remove same directory only.
+Fri Apr 16 22:33:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Thu Jun 13 21:30:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/iconv/iconv.c: nearly finished RDoc comments.
- * configure.in (opt-dir), tool/ifchange: get rid of "alternate value"
- expansion for legacy sh. [ruby-dev:47420] [Bug #8524]
+Fri Apr 16 17:04:07 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jun 13 21:24:09 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (rb_str_equal): always returns true or false, never
+ returns nil. [ruby-dev:23404]
- * bignum.c (bigdivrem): Refactored to use ALLOCV_N for temporary
- buffers.
+Fri Apr 16 08:27:02 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 13 18:54:11 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/extmk.rb: skip linking when libraries to be preloaded not
+ compiled. [ruby-list:39561]
- * bignum.c (integer_unpack_num_bdigits_generic): reorder terms (but not
- changed the intention of the expression) because VC++ reports a
- warning for it. reported by ko1 via IRC.
+Thu Apr 15 23:21:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 13 18:53:14 2013 Tanaka Akira <akr@fsij.org>
+ * process.c (pst_success_p): new method Process::Status#success?.
+ [ruby-dev:23385]
- * test/ruby/test_thread.rb (test_thread_local_security): Don't create
- an unused thread.
+Thu Apr 15 17:12:13 2004 Tanaka Akira <akr@m17n.org>
-Thu Jun 13 18:34:20 2013 Tanaka Akira <akr@fsij.org>
+ * ext/gdbm/gdbm.c (Init_gdbm): define GDBM::READER, GDBM::WRITER,
+ GDBM::WRCREAT and GDBM::NEWDB.
+ (fgdbm_initialize): use specified read/write flag.
- * bignum.c (bigdivrem): Use nlz.
+Wed Apr 14 11:29:56 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Jun 13 14:51:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * numeric.c (flo_eq): workaround for bcc32's bug.
+ (ruby-bugs-ja:PR#594)
- * include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): check constant safe
- level at compile time.
+Wed Apr 14 13:06:35 2004 Doug Kearns <djkea2@mugca.its.monash.edu.au>
-Thu Jun 13 14:39:08 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,
+ process.c, re.c, string.c: typos in RDoc comments. [ruby-core:02783]
- * test/-ext-/test_printf.rb, test/rss/test_parser.rb,
- test/ruby/test_array.rb, test/ruby/test_hash.rb,
- test/ruby/test_m17n.rb, test/ruby/test_marshal.rb,
- test/ruby/test_object.rb, test/ruby/test_string.rb: don't use
- untrusted?, untrust, and trust to avoid warnings in case $VERBOSE is
- true.
+Wed Apr 14 11:06:38 2004 Dave Thomas <dave@pragprog.com>
-Thu Jun 13 10:47:16 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::scan): Changed
+ behavior of :enddoc: -- it now unconditionally terminates
+ processing of the current file.
- * bootstraptest/test_autoload.rb, bootstraptest/test_method.rb:
- remove tests for $SAFE=4.
+Wed Apr 14 11:03:22 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/pp.rb: use taint instead of untrust to avoid warnings when
- $VERBOSE is set to true.
+ * defines.h: include <net/socket.h> to get fd_set definition in BeOS.
-Thu Jun 13 06:12:18 2013 Tanaka Akira <akr@fsij.org>
+Tue Apr 13 23:06:30 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * bignum.c (integer_unpack_num_bdigits_small): Fix a compile error on
- clang -Werror,-Wshorten-64-to-32
- Reported by Eric Hodel. [ruby-core:55467] [Bug #8522]
+ * lib/rinda/rinda.rb: change pattern matching.
+ a === b -> a == b || a === b. [druby-ja:98]
-Thu Jun 13 05:32:13 2013 Eric Hodel <drbrain@segment7.net>
+ * test/rinda/test_rinda.rb: ditto.
- * ext/socket/extconf.rb: Enable RFC 3542 IPV6 socket options for OS X
- 10.7+. [ruby-trunk - Bug #8517]
+Tue Apr 13 19:54:29 2004 Minero Aoki <aamine@loveruby.net>
-Thu Jun 13 00:17:18 2013 Tanaka Akira <akr@fsij.org>
+ * lib/net/http.rb: should not overwrite HTTP request header.
+ [ruby-list:39543]
- * bignum.c (rb_integer_unpack_2comp): New function.
- (rb_integer_unpack_internal): Extracted from rb_integer_unpack and
- nlp_bits_ret argument added.
- (integer_unpack_num_bdigits_small): nlp_bits_ret argument added to
- return number of leading padding bits.
- (integer_unpack_num_bdigits_generic): Ditto.
+Tue Apr 13 01:30:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * internal.h (rb_integer_unpack_2comp): Declared.
+ * ext/iconv/iconv.c: RDoc documentation (from RD; nearly finished).
+ * ext/iconv/charset_alias.rb: Prevent from RDoc'ing.
- * pack.c (pack_unpack): Use rb_integer_unpack_2comp and
- rb_integer_unpack.
+Mon Apr 12 19:11:29 2004 Eric Hodel <drbrain@segment7.net>
-Wed Jun 12 23:27:03 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * gc.c (rb_gc_copy_finalizer): typo. [ruby-core:02774]
- * eval.c (mod_using): new method Module#using, which activates
- refinements of the specified module only in the current class or
- module definition. [ruby-core:55273] [Feature #8481]
+Mon Apr 12 18:52:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_refinement.rb: related test.
+ * ext/openssl/ossl_x509name.c (ossl_x509name_init_i): should return
+ a value.
-Wed Jun 12 22:58:48 2013 Shugo Maeda <shugo@ruby-lang.org>
+Mon Apr 12 10:43:47 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * safe.c (rb_set_safe_level, safe_setter): raise an ArgumentError
- when $SAFE is set to 4. $SAFE=4 is now obsolete.
- [ruby-core:55222] [Feature #8468]
+ * dir.c (rb_glob2, rb_glob, rb_globi, push_globs, push_braces,
+ rb_push_glob): fix memory leak. (leaked when block was interrupted)
- * object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust):
- Kernel#untrusted?, untrust, and trust are now deprecated.
- Their behavior is same as tainted?, taint, and untaint,
- respectively.
+Mon Apr 12 10:27:37 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED()
- and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(),
- respectively.
+ * bcc32/Makefile.sub: backport SIZEOF_TIME_T definition from 1.9.
- * array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c,
- ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c,
- ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c,
- ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c,
- ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c,
- ext/socket/socket.c, ext/socket/udpsocket.c,
- ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c,
- ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c,
- load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c,
- safe.c, string.c, thread.c, transcode.c, variable.c,
- vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for
- $SAFE=4.
+ * win32/Makefile.sub: ditto.
- * test/dl/test_dl2.rb, test/erb/test_erb.rb,
- test/readline/test_readline.rb,
- test/readline/test_readline_history.rb, test/ruby/test_alias.rb,
- test/ruby/test_array.rb, test/ruby/test_dir.rb,
- test/ruby/test_encoding.rb, test/ruby/test_env.rb,
- test/ruby/test_eval.rb, test/ruby/test_exception.rb,
- test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb,
- test/ruby/test_io.rb, test/ruby/test_method.rb,
- test/ruby/test_module.rb, test/ruby/test_object.rb,
- test/ruby/test_pack.rb, test/ruby/test_rand.rb,
- test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb,
- test/ruby/test_struct.rb, test/ruby/test_thread.rb,
- test/ruby/test_time.rb: remove tests for $SAFE=4.
+ * wince/Makefile.sub: ditto.
-Wed Jun 12 22:18:23 2013 Tanaka Akira <akr@fsij.org>
+Sun Apr 11 19:12:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (integer_unpack_num_bdigits_generic): Rewritten without
- rb_funcall.
- (integer_unpack_num_bdigits_bytes): Removed.
- (rb_integer_unpack): integer_unpack_num_bdigits_bytes invocation
- removed.
+ * ruby.c (require_libraries): restore source file/line after
+ statically linked extensions initialized. [ruby-dev:23357]
-Wed Jun 12 20:18:03 2013 Kouhei Sutou <kou@cozmixng.org>
+Sun Apr 11 10:47:04 2004 Dave Thomas <dave@pragprog.com>
- * lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Extract.
+ * lib/rdoc/code_objects.rb (RDoc::TopLevel::add_class_or_module): Toplevel
+ classes and modules are a special case too... (handle extending existing
+ classes with or without :enddoc:)
-Wed Jun 12 18:19:41 2013 Tanaka Akira <akr@fsij.org>
+Sat Apr 10 23:51:13 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (validate_integer_pack_format): supported_flags argument
- added and validate given flags.
- (rb_integer_pack_internal): Specify supported_flags.
- (rb_integer_unpack): Ditto.
+ * lib/rdoc/code_objects.rb (RDoc::Context::add_to): Implementation of :enddoc:
+ made one too many assumptions...
-Wed Jun 12 16:41:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Apr 10 00:00:19 2004 Dave Thomas <dave@pragprog.com>
- * array.c (rb_ary_sort_bang): remove duplicated assertions.
- ARY_HEAP_PTR() implies ary not to be embedded. [ruby-dev:47419]
- [Bug #8518]
+ * lib/rdoc/markup/simple_markup/inline.rb: Fix problem
+ with \_cat_<b>dog</b>
-Wed Jun 12 12:44:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Apr 7 00:19:50 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * io.c (io_getc): fix 7bit coderange condition, check if ascii read
- data instead of read length. [ruby-core:55444] [Bug #8516]
+ * lib/rinda/rinda.rb: fix hash tuple bug.
-Wed Jun 12 12:35:13 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rinda/tuplespace.rb: ditto.
- * pack.c (pack_pack): Use rb_integer_pack_2comp.
+ * test/rinda/test_rinda.rb
-Wed Jun 12 12:07:04 2013 Tanaka Akira <akr@fsij.org>
+Tue Apr 6 18:24:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * sprintf.c (rb_str_format): Fix a dynamic format string.
+ * io.c (rb_io_reopen): should use rb_io_check_io().
-Wed Jun 12 12:04:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Apr 6 16:46:09 2004 Tanaka Akira <akr@m17n.org>
- * array.c (rb_ary_uniq_bang): must not be modified once frozen even in
- a callback method.
+ * configure.in: check the size of time_t.
-Wed Jun 12 12:03:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * time.c (time_add): new function.
+ (time_plus): use time_add.
+ (time_minus): use time_add.
- * array.c (rb_ary_sort_bang): must not be modified once frozen even in
- a callback method.
+Tue Apr 6 13:21:30 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Jun 12 12:00:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (make_hostent): must return value.
- * array.c (FL_SET_EMBED): shared object is frozen even when get
- unshared.
+Tue Apr 6 00:05:30 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * array.c (rb_ary_modify): ARY_SET_CAPA needs unshared array.
+ * lib/rinda/rinda.rb: add require 'drb/drb'
-Wed Jun 12 07:32:01 2013 Tanaka Akira <akr@fsij.org>
+Mon Apr 5 08:18:23 2004 Dave Thomas <dave@pragprog.com>
- * random.c (rand_int): Use rb_big_uminus.
+ * lib/rdoc/rdoc.rb: Remove leading ./ from file names so that cross
+ references work properly.
-Wed Jun 12 07:12:54 2013 Eric Hodel <drbrain@segment7.net>
+Sun Apr 4 20:33:42 2004 Minero Aoki <aamine@loveruby.net>
- * struct.c: Improve documentation: replace "instance variable" with
- "member", recommend the use of a block to customize structs, note
- that member accessors are created, general cleanup.
+ * eval.c (Init_load): make $LOADED_FEATURES built-in.
+ [ruby-dev:23299]
-Wed Jun 12 06:35:01 2013 Tanaka Akira <akr@fsij.org>
+ * ruby.c (ruby_prog_init): make $PROGRAM_NAME built-in.
- * internal.h (INTEGER_PACK_NEGATIVE): Defined.
- (rb_integer_unpack): sign argument removed.
+ * lib/English.rb: remove $LOADED_FEATURES and $PROGRAM_NAME.
- * bignum.c (rb_integer_unpack): sign argument removed.
- Non-negative integers generated by default.
- INTEGER_PACK_NEGATIVE flag is used to generate non-positive integers.
+Sun Apr 4 14:01:20 2004 Dave Thomas <dave@pragprog.com>
- * pack.c (pack_unpack): Follow the above change.
+ * lib/rdoc/options.rb (Options::parse): Allow multiple -x options to RDoc.
+ Fix bug where files weren't being excluded properly
- * random.c (int_pair_to_real_inclusive): Ditto.
- (make_seed_value): Ditto.
- (mt_state): Ditto.
- (limited_big_rand): Ditto.
+Sat Apr 3 17:11:05 2004 why the lucky stiff <why@ruby-lang.org>
- * marshal.c (r_object0): Ditto.
+ * ext/syck/syck.h: version 0.43.
-Wed Jun 12 00:07:46 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/syck/lib/gram.c: allow root-level inline collections.
+ [ruby-talk:94922]
- * test/xmlrpc/test_client.rb (XMLRPC::ClientTest#test_cookie_simple):
- Add a test for the extracted method.
+ * lib/yaml/rubytypes.rb (Symbol#to_yaml): emit symbols as implicits.
+ [ruby-talk:94930]
-Tue Jun 11 23:56:24 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/syck/bytecode.c: turn off default implicit typing.
- * test/xmlrpc/test_client.rb (XMLRPC::ClientTest::Fake::HTTP#started):
- Add a missing empty line.
+ * ext/syck/implicit.c: detect base60 integers.
-Tue Jun 11 23:37:19 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/rubyext.c: handle base60, as well as hex and octal
+ with commas. implicit typing of ruby symbols.
- * bignum.c (validate_integer_pack_format): Don't require a word order
- flag if numwords is 1 or less.
- (absint_numwords_generic): Don't specify a word order for
- rb_integer_pack.
+Fri Apr 2 17:27:17 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * hash.c (rb_hash): Ditto.
+ * eval.c (top_include): include in the wrapped load is done for
+ the wrapper, not for a singleton class for wrapped main.
+ [ruby-dev:23305]
- * time.c (v2w_bignum): Ditto.
+Fri Apr 2 15:13:44 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jun 11 23:01:57 2013 Tanaka Akira <akr@fsij.org>
+ * bignum.c (rb_big_eq): use temporary double variable to save the
+ result (internal float register may be bigger than 64 bits, for
+ example, 80 bits on x86). [ruby-dev:23311]
- * bignum.c (validate_integer_pack_format): Refine error messages.
+Fri Apr 2 14:35:26 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jun 11 22:25:04 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (block_pass): should generate unique identifier of the
+ pushing block. [ruby-talk:96363]
- * bignum.c (validate_integer_pack_format): numwords argument added.
- Move a varidation from rb_integer_pack_internal and rb_integer_unpack.
- (rb_integer_pack_internal): Follow above change.
- (rb_integer_unpack): Ditto.
+Fri Apr 2 07:31:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jun 11 20:52:43 2013 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c (make_hostent): fix memory leak, based on
+ the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.
- * bignum.c (rb_integer_pack_internal): Renamed from rb_integer_pack
- and overflow_2comp argument added.
- (rb_integer_pack): Just call rb_integer_pack_internal.
- (rb_integer_pack_2comp): New function.
+Thu Apr 1 22:55:33 2004 Dave Thomas <dave@pragprog.com>
- * internal.h (rb_integer_pack_2comp): Declared.
+ * lib/rdoc/parsers/parse_rb.rb: Allow rdoc comments in
+ =begin rdoc/=end
- * sprintf.c (rb_str_format): Use rb_integer_pack and
- rb_integer_pack_2comp to format binary/octal/hexadecimal integers.
- (ruby_digitmap): Declared.
- (remove_sign_bits): Removed.
- (BITSPERDIG): Ditto.
- (EXTENDSIGN): Ditto.
+ * lib/rdoc/parsers/parse_rb.rb: Fix problem with comment in
+ top-level method being taken as file comment.
-Tue Jun 11 16:15:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Apr 1 22:55:04 2004 Dave Thomas <dave@pragprog.com>
- * array.c (ary_shrink_capa): shrink the capacity so it fits just with
- the length.
+ * lib/rdoc/ri/ri_options.rb: Fix undefined variable warning.
- * array.c (ary_make_shared): release never used elements from frozen
- array to be shared. [ruby-dev:47416] [Bug #8510]
+Thu Apr 1 19:58:37 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Jun 11 12:49:01 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/soap/mapping/{factory.rb,registry.rb}: fixed illegal mapped URI
+ object with soap/marshal.
+ added URIFactory class for URI mapping. BasetypeFactory checks
+ instance_variables when original mapping is not allowed (ivar must
+ be empty). Instance of URI have instance_variables but it must be
+ llowed whenever original mapping is allowed or not.
- * doc/re.rdoc: Rename to doc/regexp.rdoc
- * re.c: Update rdoc include for rename of file
+ * lib/xsd/datatypes.rb: check the smallest positive non-zero
+ single-precision float exactly instead of packing with "f".
+ [ruby-talk:88822]
-Tue Jun 11 07:13:13 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * lib/soap/mapping/rubytypeFactory.rb: should not dump singleton class.
+ [ruby-dev:22588]
+ c = class << Object.new; class C; self; end; end; SOAPMarshal.dump(c)
- * eval_error.c (error_print): keep that errat is non-shady object.
- and guard errat from GC.
+Wed Mar 31 19:06:23 2004 Tanaka Akira <akr@m17n.org>
-Tue Jun 11 05:04:25 2013 Benoit Daloze <eregontp@gmail.com>
+ * time.c (year_leap_p): new function.
+ (timegm_noleapsecond): ditto.
+ (search_time_t): use timegm_noleapsecond instead of
+ mktime for first guess.
- * ext/racc/cparse/cparse.c: use rb_ary_entry() and
- rb_ary_subseq() instead of RARRAY_PTR.
- Based on a patch by Dirkjan Bussink. See Bug #8399.
+Wed Mar 31 12:04:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Jun 10 23:51:51 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * lib/delegate.rb (DelegateClass): define internal methods of the
+ result class, but not metaclass of the caller. [ruby-talk:96156]
- * array.c (rb_ary_new_from_values): fix a typo. pointed out by
- nagachika.
- http://d.hatena.ne.jp/nagachika/20130610/ruby_trunk_changes_41199_41220
+ * intern.h: provide proper prototypes. [ruby-core:02724]
-Mon Jun 10 21:51:03 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ruby.h: missing.h is now prerequisite to intern.h.
- * ext/socket/raddrinfo.c (nogvl_getaddrinfo): Fix indent.
+Tue Mar 30 20:25:34 2004 Tanaka Akira <akr@m17n.org>
-Mon Jun 10 21:49:43 2013 Kouhei Sutou <kou@cozmixng.org>
+ * time.c (search_time_t): limit guess range by mktime if it is
+ available. [ruby-dev:23274]
- * ext/socket/raddrinfo.c (nogvl_getaddrinfo): Add missing return
- value assignment.
+Sun Mar 28 14:16:59 2004 Minero Aoki <aamine@loveruby.net>
-Mon Jun 10 20:58:11 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/net/pop.rb (auth): failed when account/password include "%".
+ [ruby-talk:95933]
- * ext/socket/raddrinfo.c (nogvl_getaddrinfo): work around for Ubuntu
- 13.04's getaddrinfo issue with mdns4. [ruby-list:49420]
+Sat Mar 27 21:40:41 2004 Tanaka Akira <akr@m17n.org>
-Mon Jun 10 19:34:39 2013 Tanaka Akira <akr@fsij.org>
+ * lib/open-uri.rb: permit extra semicolon in content-type field.
- * bignum.c (rb_integer_pack): Returns sign instead of words.
- (absint_numwords_generic): Follow the above change.
- (big2str_base_powerof2): Follow the above change.
+Sat Mar 27 10:40:48 2004 Tanaka Akira <akr@m17n.org>
- * internal.h: Ditto.
+ * (lib/pp.rb, lib/prettyprint.rb): define seplist in PP::PPMethods
+ instead of PrettyPrint.
- * hash.c (rb_hash): Ditto.
+Thu Mar 25 23:28:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * pack.c (pack_pack): Ditto.
+ * time.c (time_overflow_p): backport 1.9 usec overflow function.
+ (ruby-bugs PR#1307)
- * random.c (int_pair_to_real_inclusive): Ditto.
- (rand_init): Ditto.
- (random_load): Ditto.
- (limited_big_rand): Ditto.
+Thu Mar 25 23:15:24 2004 Dave Thomas <dave@pragprog.com>
- * time.c (v2w_bignum): Ditto.
+ * lib/rdoc/ri/ri_options.rb (RI::Options::show_version):
+ Add --version option
-Mon Jun 10 17:20:01 2013 Koichi Sasada <ko1@atdot.net>
+Thu Mar 25 04:16:18 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (rgengc_remember): permit promoted object.
- (rb_gc_writebarrier -> remember)
+ * lib/rdoc/ri/ri_options.rb (RI::Options): Add the --list-names option,
+ which dumps our all known names
-Mon Jun 10 17:14:01 2013 Koichi Sasada <ko1@atdot.net>
+Thu Mar 25 03:57:47 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (RVALUE_PROMOTE): fix parameter name (`x' to `obj')
- and make it inline function (like RVALUE_PROMOTE).
+ * lib/rdoc/ri/ri_util.rb (NameDescriptor::initialize): No longer
+ allow nested classes to be designated using "."--you must
+ now use "::"
-Mon Jun 10 16:22:50 2013 Koichi Sasada <ko1@atdot.net>
+Thu Mar 25 02:00:18 2004 Dave Thomas <dave@pragprog.com>
- * array.c (rb_ary_new_from_values): add assertion
- (ary should be young object).
+ * lib/rdoc/generators/template/html/one_page_html.rb (Page):
+ Fix to work with C modules.
-Mon Jun 10 16:05:59 2013 Koichi Sasada <ko1@atdot.net>
+Wed Mar 24 21:17:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * gc.c (wmap_mark): check allocation of `w->obj2wmap'.
- (no-allocation `w->obj2wmap' will be NULL pointer reference)
+ * lib/uri.rb: Documented (thanks Dmitry V. Sabanin).
+ * lib/uri/common.rb: Ditto.
+ * lib/uri/ftp.rb: Ditto.
+ * lib/uri/generic.rb: Ditto.
+ * lib/uri/http.rb: Ditto.
+ * lib/uri/https.rb: Ditto.
+ * lib/uri/ldap.rb: Ditto.
+ * lib/uri/mailto.rb: Ditto.
+ (All backported from 1.9)
-Mon Jun 10 15:36:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Mar 24 18:48:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval_error.c (error_print): use checking functions instead of
- catching exceptions.
+ * lib/mkmf.rb ($ruby, $topdir, $hdrdir): should not be affected by
+ DESTDIR after installed.
- * eval_error.c (error_print): restore errinfo for the case new
- exception raised while printing the message. [ruby-core:55365]
- [Bug #8501]
+ * lib/mkmf.rb (RUBY): / is not recognized as path separator on
+ nmake/bmake. [ruby-list:39388]
- * eval_error.c (error_print): reduce calling setjmp.
+ * lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.
-Mon Jun 10 12:10:06 2013 Tanaka Akira <akr@fsij.org>
+Wed Mar 24 12:32:56 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (integer_unpack_num_bdigits_small: Extracted from
- rb_integer_unpack.
- (integer_unpack_num_bdigits_generic): Ditto.
- (integer_unpack_num_bdigits_bytes): New function.
- (rb_integer_unpack): Use above functions.
- Return a Bignum for INTEGER_PACK_FORCE_BIGNUM even when the result
- is zero.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::handle_class_module):
+ Don't document methods if we don't know for sure the
+ class or module.
-Mon Jun 10 05:38:23 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):
+ Don't store documentation for singleton classes if we
+ don't know the real class.
- * bignum.c (absint_numwords_small): New function.
- (absint_numwords_generic): Use absint_numwords_small if possible.
+Wed Mar 24 11:11:26 2004 Dave Thomas <dave@pragprog.com>
-Mon Jun 10 01:07:57 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/generators/html_generator.rb (Generators::HTMLGenerator::load_html_template):
+ Allow non-RDoc templates by putting a slash in the template name
- * bignum.c (absint_numwords_bytes): New function.
- (absint_numwords_generic): Extracted from rb_absint_numwords.
- (rb_absint_numwords): Use absint_numwords_bytes if possible.
+Mon Mar 22 16:19:57 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Sun Jun 9 21:33:15 2013 Tanaka Akira <akr@fsij.org>
+ * ruby.1: add -width option to .Bl for old groff.
- * bignum.c (rb_absint_numwords): Return (size_t)-1 when overflow.
- Refine variable names.
- (rb_absint_size): Refine variable names.
+Sun Mar 21 21:11:16 2004 Keiju Ishitsuka <keiju@ishitsuka.com>
- * internal.h (rb_absint_size): Refine an argument name.
- (rb_absint_numwords): Ditto.
+ * lib/shell/*: bug fix for Shell#system(command_line_string).
-Sun Jun 9 16:51:41 2013 Tanaka Akira <akr@fsij.org>
+Sat Mar 20 20:57:10 2004 David Black <dblack@wobblini.net>
- * bignum.c (rb_absint_numwords): Renamed from rb_absint_size_in_word.
+ * lib/scanf.rb: Backported 1.9 branch
+ modifications/corrections to 1.8 branch
- * internal.h (rb_absint_numwords): Follow the above change.
+Sat Mar 20 23:51:03 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * pack.c (pack_pack): Ditto.
+ * eval.c (rb_require_safe): preserve old ruby_errinfo.
+ [ruby-talk:95409]
- * random.c (rand_init): Ditto.
- (limited_big_rand): Ditto.
+ * eval.c (rb_f_raise): should not clear backtrace information if
+ exception object already have one.
-Sun Jun 9 14:41:05 2013 Tanaka Akira <akr@fsij.org>
+Sat Mar 20 15:25:36 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (rb_integer_pack): numwords_allocated argument removed.
+ * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Force
+ page background to white.
- * internal.h (rb_integer_pack): Follow the above change.
+Sat Mar 20 09:52:33 2004 Tadayoshi Funaba <tadf@dotrb.org>
- * hash.c (rb_hash): Ditto.
+ * lib/date.rb, lib/date/format.rb: _parse() now accepts fractional
+ part of second minute that follows a comma or a full stop.
- * time.c (v2w_bignum): Ditto.
+Fri Mar 19 01:55:57 2004 Mauricio Fernandez <batsman.geo@yahoo.com>
- * pack.c (pack_pack): Ditto.
+ * io.c (rb_io_sync): need not to check writable. [ruby-core:02674]
- * random.c (int_pair_to_real_inclusive): Ditto.
- (rand_init): Ditto.
- (random_load): Ditto.
- (limited_big_rand): Ditto.
+Thu Mar 18 21:44:38 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sun Jun 9 09:34:44 2013 Tanaka Akira <akr@fsij.org>
+ * lib/drb/drb.rb: backport drb.rb 1.16.
- * bignum.c (big2str_base_powerof2): New function.
- (rb_big2str0): Use big2str_base_powerof2 if base is 2, 4, 8, 16 or 32.
+Fri Mar 18 17:49:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jun 9 00:59:04 2013 Tanaka Akira <akr@fsij.org>
+ * struct.c (make_struct): allow const_id for accessor names.
+ [ruby-core:04585]
- * hash.c (rb_hash): Use rb_integer_pack to obtain least significant
- long integer.
+ * eval.c (rb_attr): check if attribute name is local_id or
+ const_id.
-Sat Jun 8 23:56:00 2013 Tanaka Akira <akr@fsij.org>
+Thu Mar 18 16:22:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * numeric.c (rb_num_to_uint): Use rb_absint_size instead of
- RBIGNUM_LEN.
+ * eval.c (proc_eq): avoid false positive by using scope and
+ dyna_vars. no longer use frame.uniq.
-Sat Jun 8 22:53:45 2013 Tanaka Akira <akr@fsij.org>
+Wed Mar 17 14:44:43 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * marshal.c (r_object0): Use rb_integer_unpack.
+ * dir.c (range): fix possible "\0" overrun. (in case of "\0-")
-Sat Jun 8 22:18:57 2013 Tanaka Akira <akr@fsij.org>
+Mon Mar 15 07:39:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * time.c (v2w): Use rb_absint_size instead of RBIGNUM_LEN.
+ * eval.c (rb_yield_0): should not re-submit TAG_BREAK if this
+ yield is not break destination. [ruby-dev:23197]
-Sat Jun 8 21:47:33 2013 Tanaka Akira <akr@fsij.org>
+Sat Mar 13 14:28:16 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * time.c (v2w_bignum): Simplified using rb_integer_pack.
- (rb_big_abs_find_maxbit): Removed.
+ * test/drb/test_drbssl.rb: rescue LoadError. (Barkport from main
+ trunk)
-Sat Jun 8 21:03:40 2013 Tanaka Akira <akr@fsij.org>
+ * test/drb/test_drbunix.rb: ditto.
- * bignum.c (rb_absint_singlebit_p): New function.
+Wed Mar 10 22:28:09 2004 Minero Aoki <aamine@loveruby.net>
- * internal.h (rb_absint_singlebit_p): Declared.
+ * lib/fileutils.rb (remove_dir): should handle symlink correctly.
+ This patch is contributed by Christian Loew. [ruby-talk:94635]
+ (Backport from main trunk)
- * time.c (v2w_bignum): Use rb_absint_singlebit_p instead of
- rb_big_abs_find_minbit.
- (rb_big_abs_find_minbit): Removed.
+Wed Mar 10 16:28:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Jun 8 20:24:23 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (return_jump): set return value to the return
+ destination. separated from localjump_destination().
- * time.c (rb_big_abs_find_maxbit): Use rb_absint_size.
- (bdigit_find_maxbit): Removed.
+ * eval.c (break_jump): break innermost loop (or thread or proc).
-Sat Jun 8 19:47:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * eval.c (rb_yield_0): set exit_value for block break.
- * class.c (include_modules_at): invalidate method cache if included
- module contains constants
+Wed Mar 10 15:58:43 2004 Ryan Davis <ryand@zenspider.com>
- * test/ruby/test_module.rb: add test
+ * eval.c (eval): Only print backtrace if generating the backtrace
+ doesn't generate an exception. [ruby-core:02621]
-Sat Jun 8 19:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Tue Mar 9 13:04:26 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * random.c (limited_big_rand): declare rnd, lim and mask as uint32_t
- to avoid 64 bit to 32 bit shorten warnings.
+ * io.c (rb_io_ungetc): raise IOError instead of calling
+ rb_sys_fail(). [ruby-talk:23181]
-Sat Jun 8 19:23:53 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Mon Mar 8 19:32:28 2004 akira yamada <akira@ruby-lang.org>
- * win32/Makefile.sub: r41163 changed win32/win32.c and configure.in
- but it didn't treat about mswin32/mswin64, so fix it.
- NOTE: this needs a review by usa whether additional condition is
- required or not.
+ * lib/uri/common.rb (URI::REGEXP::PATTERN::HOSTPORT): (?:#{PORT})
+ -> (?::#{PORT}). [ruby-dev:23170]
-Sat Jun 8 19:06:26 2013 Tanaka Akira <akr@fsij.org>
+Mon Mar 8 15:31:41 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * random.c: Unused RBignum internal accessing macros removed.
+ * dir.c (range): treat incomplete '[' as ordinary character (like
+ has_magic does).
-Sat Jun 8 19:04:15 2013 Tanaka Akira <akr@fsij.org>
+ * dir.c (range): Cancel above change. More discussion is needed.
- * random.c (limited_big_rand): The argument, limit, is changed to
- VALUE. Use rb_integer_pack and rb_integer_unpack.
+Sun Mar 7 22:37:46 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sat Jun 8 17:15:18 2013 Tanaka Akira <akr@fsij.org>
+ * test/drb/ut_drb.rb: use 'druby://localhost:0'. [ruby-dev:23078]
- * random.c (make_seed_value): Fix the length given for
- rb_integer_unpack.
+ * test/drb/ut_eval.rb: ditto.
-Sat Jun 8 16:38:02 2013 Tanaka Akira <akr@fsij.org>
+ * test/drb/ut_large.rb: ditto.
- * bignum.c (rb_integer_unpack): Don't use rb_funcall if possible.
+ * test/drb/ut_safe1.rb: ditto.
- * random.c: Use uint32_t for elements of seed.
- (make_seed_value): Use rb_integer_unpack.
+ * test/drb/ut_drb_drbssl.rb: use 'drbssl://localhost:0'.
-Sat Jun 8 15:58:18 2013 Tanaka Akira <akr@fsij.org>
+Sun Mar 7 16:22:26 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * random.c (rand_init): Add a cast to fix clang compile error:
- random.c:410:32: error: implicit conversion loses integer precision:
- 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
- This cast doesn't cause a problem because len is not bigger than
- MT_MAX_STATE.
+ * Makefile.in (lex.c): use $? instead of $<.
-Sat Jun 8 15:30:03 2013 Tanaka Akira <akr@fsij.org>
+Fri Mar 5 00:54:14 2004 Dave Thomas <dave@pragprog.com>
- * random.c (rand_init): Use rb_integer_pack.
- (roomof): Removed.
+ * lib/test/unit.rb: MOve RDoc documentation so that you can
+ now say 'ri Test::Unit'
-Sat Jun 8 14:58:32 2013 Tanaka Akira <akr@fsij.org>
+Tue Mar 2 12:32:59 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * internal.h (INTEGER_PACK_FORCE_BIGNUM): New flag constant.
+ * win32/Makefile.sub, wince/Makefile.sub (config.h): shouldn't check
+ defined? NORETURN. [ruby-dev:23100]
- * bignum.c (rb_integer_unpack): Support INTEGER_PACK_FORCE_BIGNUM.
+Mon Mar 1 12:24:10 2004 Dave Thomas <dave@pragprog.com>
- * random.c (int_pair_to_real_inclusive): Use
- INTEGER_PACK_FORCE_BIGNUM to use rb_big_mul instead of rb_funcall.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_alias):
+ Allow aliases to have parentheses
-Sat Jun 8 14:17:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 29 23:14:53 2004 Dave Thomas <dave@pragprog.com>
- * configure.in: check for NET_LUID. header macro varies across
- compiler versions.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):
+ Handle :nodoc: on singleton classes.
- * win32/win32.c: use configured macro.
+Sat Feb 28 10:58:49 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sat Jun 8 11:59:55 2013 Tanaka Akira <akr@fsij.org>
+ * MANIFEST: add test_erb.rb
- * random.c (int_pair_to_real_inclusive): Use rb_funcall instead of
- rb_big_mul because rb_integer_unpack can return a Fixnum.
+ * lib/erb.rb, test/erb/test_erb.rb: don't forget filename,
+ if both filename and safe_level given. [ruby-dev:23050]
-Sat Jun 8 11:17:39 2013 Tanaka Akira <akr@fsij.org>
+Fri Feb 27 01:00:09 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * random.c (int_pair_to_real_inclusive): Use rb_integer_pack.
+ * lib/drb/drb.rb, test/drb/drbtest.rb: require drb/eq.rb by default
-Sat Jun 8 09:49:42 2013 Tanaka Akira <akr@fsij.org>
+Wed Feb 25 21:16:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * random.c (int_pair_to_real_inclusive): Use rb_integer_unpack.
+ * instruby.rb (with_destdir): should return the given argument if no
+ DESTDIR is given.
-Sat Jun 8 08:12:22 2013 Tanaka Akira <akr@fsij.org>
+ * instruby.rb: use path name expansion of cmd.exe.
- * random.c (random_load): Use rb_integer_pack.
+Wed Feb 25 09:35:22 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Jun 8 06:15:46 2013 Tanaka Akira <akr@fsij.org>
+ * error.c (NameError::Message): new class for lazy evaluation of
+ message to ensure replaced before marshalling. merge from HEAD.
+ (ruby-bugs-ja:PR#588)
- * random.c (numberof): Removed.
+ * eval.c (rb_method_missing): use NameError::Message. merge from
+ HEAD. (ruby-bugs-ja:PR#588)
-Sat Jun 8 06:00:47 2013 Tanaka Akira <akr@fsij.org>
+Tue Feb 24 18:59:37 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * random.c: include internal.h.
- (mt_state): Use rb_integer_unpack.
+ * dir.c (glob_helper): '**/' should not match leading period
+ unless File::FNM_DOTMATCH is set. (like '*/') [ruby-dev:23014]
-Sat Jun 8 00:55:51 2013 Tanaka Akira <akr@fsij.org>
+Tue Feb 24 13:22:21 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (integer_pack_loop_setup): word_num_nailbytes_ret argument
- removed.
- (rb_integer_pack): Follow the above change.
- (rb_integer_unpack): Follow the above change.
+ * lib/rdoc/rdoc.rb (RDoc::RDoc::normalized_file_list): Attempt to get better
+ heuristics on which files to include and exclude. Now only include
+ non-standard files if they are explicitly named in ARGV.
-Sat Jun 8 00:37:32 2013 Tanaka Akira <akr@fsij.org>
+Tue Feb 24 07:23:30 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (validate_integer_pack_format): Renamed from
- validate_integer_format.
- (integer_pack_loop_setup): Renamed from integer_format_loop_setup.
- (integer_pack_fill_dd): Renamed from int_export_fill_dd.
- (integer_pack_take_lowbits): Renamed from int_export_take_lowbits.
- (integer_unpack_push_bits): Renamed from int_import_push_bits.
+ * lib/rdoc/generators/html_generator.rb: Deal with :stopdoc: when
+ choosing a default main page to display (ie. don't select a page
+ if we don't have documentation for it).
-Fri Jun 7 23:58:06 2013 Tanaka Akira <akr@fsij.org>
+Tue Feb 24 06:40:14 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (rb_integer_pack): Arguments changed. Use flags to
- specify word order and byte order.
- (rb_integer_unpack): Ditto.
- (validate_integer_format): Follow the above change.
- (integer_format_loop_setup): Ditto.
+ * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle
+ class variables in code listings
- * pack.c: Ditto.
+Tue Feb 24 06:40:14 2004 Dave Thomas <dave@pragprog.com>
- * internal.h: Ditto.
- (INTEGER_PACK_MSWORD_FIRST): Defined.
- (INTEGER_PACK_LSWORD_FIRST): Ditto.
- (INTEGER_PACK_MSBYTE_FIRST): Ditto.
- (INTEGER_PACK_LSBYTE_FIRST): Ditto.
- (INTEGER_PACK_NATIVE_BYTE_ORDER): Ditto.
- (INTEGER_PACK_LITTLE_ENDIAN): Ditto.
- (INTEGER_PACK_BIG_ENDIAN): Ditto.
+ * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle
+ class variables in code listings
-Fri Jun 7 22:10:50 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Feb 24 06:32:27 2004 Dave Thomas <dave@pragprog.com>
- * lib/rubygems/specification.rb (Gem::Specification#to_yaml):
- use Gem::NoAliasYAMLTree.create instead of Gem::NoAliasYAMLTree.new
- to suppress deprecated warnings.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_aliases): Handle
+ aliases in C files.
-Fri Jun 7 21:39:39 2013 Tanaka Akira <akr@fsij.org>
+Tue Feb 24 06:16:22 2004 Dave Thomas <dave@pragprog.com>
- * bignum.c (rb_integer_pack): Renamed from rb_int_export.
- (rb_integer_unpack): Renamed from rb_int_import.
+ * lib/rdoc/rdoc.rb (RDoc::RDoc::document): Now create op dir _before_
+ parsing files.
- * internal.h, pack.c: Follow the above change.
+Tue Feb 24 06:08:47 2004 Dave Thomas <dave@pragprog.com>
-Fri Jun 7 21:05:26 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_constant):
+ Start collecting text of constant values earlier: was missing
+ values in output if there was no space after '='
- * bignum.c (integer_format_loop_setup): Extracted from rb_int_export
- and rb_int_import.
+Tue Feb 24 06:08:25 2004 Dave Thomas <dave@pragprog.com>
-Fri Jun 7 19:48:38 2013 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/generators/html_generator.rb: Escape contant values.
- * bignum.c (validate_integer_format): Extracted from rb_int_export and
- rb_int_import.
+Tue Feb 24 03:45:06 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Fri Jun 7 19:23:15 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_config.c (ossl_config_each): add new method
+ OpenSSL::Config#each. it iterates with section name, field name
+ and value.
- * bignum.c (rb_absint_size): Use numberof.
- (rb_int_export): Ditto.
+ * ext/openssl/ossl_config.c (Init_ossl_config): include Enumerable.
-Fri Jun 7 18:58:56 2013 Tanaka Akira <akr@fsij.org>
+Mon Feb 23 09:16:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * internal.h (numberof): Gathered from various files.
+ * instruby.rb (DOSISH): embedded path in batch files should not be
+ prefixed by DESTDIR. [ruby-core:02186]
- * array.c, math.c, thread_pthread.c, iseq.c, enum.c, string.c, io.c,
- load.c, compile.c, struct.c, eval.c, gc.c, parse.y, process.c,
- error.c, ruby.c: Remove the definitions of numberof.
+Sun Feb 22 09:54:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Fri Jun 7 18:24:39 2013 Tanaka Akira <akr@fsij.org>
+ * re.c: corrected documentation format (again)
- * bignum.c (rb_absint_size): Declare a variable, i, just before used
- to suppress a warning.
- (rb_int_export): Ditto.
+Sun Feb 22 09:43:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Fri Jun 7 17:41:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * re.c: corrected documentation format (rb_reg_initialize_m)
- * bignum.c (rb_absint_size): explicit cast to BDIGIT to avoid implicit
- 64 bit to 32 bit shortening warning
- * bignum.c (rb_int_export): ditto
- * bignum.c (int_import_push_bits): ditto
+Sat Feb 21 22:36:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Fri Jun 7 17:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * ext/zlib/zlib.c: documented, but needs more effort.
- * internal.h (RCLASS_SUPER): use descriptive variable name
- * internal.h (RCLASS_SET_SUPER): ditto
+Sat Feb 21 11:12:15 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jun 7 13:25:27 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * missing/os2.c, missing/x68.c: typo fix. pointed out by greentea.
- * ext/json/fbuffer/fbuffer.h (fbuffer_append_str): change the place of
- RB_GC_GUARD. it should be after the object is used.
+Fri Feb 20 18:59:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jun 7 13:22:43 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/irb/init.rb (IRB::IRB.parse_opts): add -I option to
+ irb. [ruby-dev:39243]
- * gc.c (before_gc_sweep): noinline can also avoid the segv instead of
- -O0 of r41084. this way is expected less slow.
+Thu Feb 19 23:24:16 2004 Dave Thomas <dave@pragprog.com>
-Fri Jun 7 11:45:42 2013 Kenta Murata <mrkn@cookpad.com>
+ * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):
+ Support visibility modifiers for attributes
- * rational.c (numeric_quo): move num_quo in numeric.c to numeric_quo
- in rational.c to refer canonicalization state for mathn support.
- [ruby-core:41575] [Bug #5736]
+Thu Feb 19 23:24:16 2004 Dave Thomas <dave@pragprog.com>
- * numeric.c (num_quo): ditto.
+ * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):
+ Support visibility modifiers for attributes
- * test/test_mathn.rb: add a test for the change at r41109.
+Thu Feb 19 22:39:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Jun 7 11:41:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/rinda/test_rinda.rb: DRb.start_service only once in testsuites.
+ DRb.start_service could handle this.
- * configure.in: revert r41106. size_t may not be unsigned
+Thu Feb 19 22:19:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * bignum.c (rb_absint_size_in_word, rb_int_export, rb_int_import): use
- NUM2SIZET() and SIZET2NUM() already defined in ruby/ruby.h.
+ * lib/ostruct.rb: documented
-Fri Jun 7 11:28:37 2013 Masaya Tarui <tarui@ruby-lang.org>
+Thu Feb 19 21:28:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * gc.c: use oldgen bitmap as initial mark bitmap when major gc.
- so can skip oldgen bitmap check around mark & sweep.
- * gc.c (slot_sweep_body): change scan algorithm for performance:
- from object's pointer base to bitmap one.
+ * ext/strscan/strscan.c: improved documentation
-Fri Jun 7 11:25:56 2013 Masaya Tarui <tarui@ruby-lang.org>
+Thu Feb 19 03:10:52 2004 Minero Aoki <aamine@loveruby.net>
- * gc.c: introduce oldgen bitmap for preparing performance tuning.
+ * ext/strscan/strscan.c: synchronized with main trunk (rev 1.11).
-Fri Jun 7 11:20:57 2013 Masaya Tarui <tarui@ruby-lang.org>
+Thu Feb 19 02:30:34 2004 Minero Aoki <aamine@loveruby.net>
- * gc.c (MARKED_IN_BITMAP, MARK_IN_BITMAP, CLEAR_IN_BITMAP): bring
- bitmap macros in one place, and introduce BITMAP_BIT.
+ * ext/strscan/strscan.c: documentation checked.
-Fri Jun 7 11:18:35 2013 Masaya Tarui <tarui@ruby-lang.org>
+Thu Feb 19 00:11:05 2004 Dave Thomas <dave@pragprog.com>
- * array.c (ary_new): change order of allocation in order
- to remove FL_OLDGEN operation.
+ * lib/rdoc/markup/simple_markup/preprocess.rb (SM::PreProcess::handle):
+ Strip extraneous space from filenames in :include:
-Fri Jun 7 11:16:28 2013 Masaya Tarui <tarui@ruby-lang.org>
+Wed Feb 18 22:52:00 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * tool/rdocbench.rb: add gc total time information.
+ * lib/drb/unix.rb: remove O_NONBLOCK, thanks \ay
-Fri Jun 7 10:12:01 2013 Koichi Sasada <ko1@atdot.net>
+Wed Feb 18 22:47:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * gc.c: remove "Sunny" terminology.
- "Sunny" doesn't mean antonym of "Shady" (questionable, doubtful, etc).
- Instead of "Sunny", use "non-shady" or "normal".
+ * ext/strscan/strscan.c: documented
-Fri Jun 7 09:29:33 2013 Kenta Murata <mrkn@cookpad.com>
+Wed Feb 18 22:03:11 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * bignum.c (rb_int_import): explicitly casting BDIGIT_DBL to BDIGIT
- to prevent warning.
+ * test/*: should not depend on $KCODE.
-Fri Jun 7 07:29:33 2013 Tanaka Akira <akr@fsij.org>
+Wed Feb 18 17:18:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * internal.h (rb_int_export): countp argument is split into
- wordcount_allocated and wordcount.
+ * ext/win32ole/win32ole.c: need to include <olectl.h> on Cygwin.
- * bignum.c (rb_int_export): Follow the above change.
+Wed Feb 18 10:40:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * pack.c (pack_pack): Ditto.
+ * sprintf.c (rb_f_sprintf): do not prepend dots for negative
+ numbers if FZERO is specified. [ruby-dev:39218]
-Fri Jun 7 07:17:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Tue Feb 17 23:40:34 2004 Guy Decoux <ts@moulon.inra.fr>
- * NEWS: describe a compatibility issue of Numeric#quo
- introduced at r41109.
+ * sprintf.c (rb_f_sprintf): preserve original val for
+ format_integer. [ruby-talk:92975]
-Fri Jun 7 07:15:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Tue Feb 17 23:28:45 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * NEWS: fix style.
+ * test/ruby/marshaltestlib.rb: common marshal testcase added.
-Fri Jun 7 06:48:17 2013 Benoit Daloze <eregontp@gmail.com>
+ * test/ruby/test_marshal.rb: use above testsuite.
- * numeric.c: remove unused ID id_to_r introduced in r41109.
+ * test/soap/marshal/test_marshal.rb: ditto.
-Fri Jun 7 06:15:31 2013 Tanaka Akira <akr@fsij.org>
+ * test/soap/marshal/cmarshal.rb: removed (not used).
- * bignum.c (rb_int_import): New function.
- (int_import_push_bits): Ditto.
+Tue Feb 17 10:51:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * internal.h (rb_int_import): Declared.
+ * ext/syck/rubyext.c (syck_emitter_end_object): takes only one arg.
- * pack.c (pack_unpack): Use rb_int_import for BER compressed integer.
+Tue Feb 17 01:35:28 2004 Tanaka Akira <akr@m17n.org>
-Thu Jun 6 22:24:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * eval.c (rb_eval): care that another thread replace NODE_DREGX_ONCE
+ to NODE_LIT. [ruby-dev:22920]
- * numeric.c (num_quo): Use to_r method to convert the receiver to
- rational. [ruby-core:41575] [Bug #5736]
+Tue Feb 17 01:24:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_numeric.rb: add a test for the above change.
+ * bcc32/Makefile.sub, win32/Makefile.sub (config.h): define
+ STACK_GROW_DIRECTION. [ruby-dev:22910]
-Thu Jun 6 20:40:17 2013 Tanaka Akira <akr@fsij.org>
+ * bcc32/Makefile.sub (config.h): add newer checks.
- * configure.in: Invoke RUBY_REPLACE_TYPE for size_t.
- Don't invoke RUBY_CHECK_PRINTF_PREFIX for size_t to avoid conflict
- with RUBY_REPLACE_TYPE.
+ * wince/Makefile.sub (config.h): define NEED_IO_SEEK_BETWEEN_RW.
- * internal.h (rb_absint_size): Declared.
- (rb_absint_size_in_word): Ditto.
- (rb_int_export): Ditto.
+Tue Feb 17 00:38:10 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * bignum.c (rb_absint_size): New function.
- (rb_absint_size_in_word): Ditto.
- (int_export_fill_dd): Ditto.
- (int_export_take_lowbits): Ditto.
- (rb_int_export): Ditto.
+ * lib/rinda/tuplespace.rb: TupleSpace#initialize, stop doubling timeout
- * pack.c (pack_pack): Use rb_int_export for BER compressed integer.
+Tue Feb 17 00:18:03 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Thu Jun 6 19:31:33 2013 Tadayoshi Funaba <tadf@dotrb.org>
+ * test/rinda/test_rinda.rb: import test_rinda.rb
- * ext/date/date_core.c: fixed coding error [ruby-core:55337].
- reported by Riley Lynch.
+Tue Feb 17 00:14:30 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Jun 6 14:16:37 2013 Narihiro Nakamura <authornari@gmail.com>
+ * bcc32/Makefile.sub: avoid warning "Redefinition of macro
+ 'HAVE_GETLOGIN'".
- * ext/objspace/object_tracing.c: rename allocation_info to
- lookup_allocation_info. At times I confused "struct
- allocation_info" with "function allocation_info".
+ * vms/config.h_in: ditto.
-Thu Jun 6 13:57:06 2013 Narihiro Nakamura <authornari@gmail.com>
+Mon Feb 16 23:28:14 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/objspace/object_tracing.c: allocation_info function isn't
- called by any other file.
+ * lib/csv.rb: document reduction. [ruby-core:02429]
-Thu Jun 6 09:41:00 2013 Kenta Murata <mrkn@cookpad.com>
+Mon Feb 16 22:08:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * numeric.c (num_quo): should return a Float for a Float argument.
- [ruby-dev:44710] [Bug #5515]
+ * lib/generator.rb: corrected doc format
+ * lib/rinda/rinda.rb: added documentation (from Hugh Sasse)
+ * lib/rinda/tuplespace.rb: ditto
- * test/ruby/test_fixnum.rb: Add an assertion for the above change.
+Mon Feb 16 20:41:32 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/ruby/test_bignum.rb: ditto.
+ * bcc32/Makefile.sub: show more warnings. (refering to mingw)
-Thu Jun 6 00:59:44 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * bcc32/setup.mak: ditto.
- * gc.c (gc_mark): get rid of pushing useless objects.
- * gc.c (rgengc_rememberset_mark): bypass gc_mark() in order to push
- sunny old object at minor gc.
- * gc.c (gc_mark_children): move sunny old check to gc_mark().
- * gc.c (rgengc_check_shady): remove DEMOTE that already unnecessary.
- * gc.c (rb_gc_writebarrier): ditto.
+Mon Feb 16 13:39:44 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- change sunny old check point in order to save mark stack and
- remove unnatural rest_sweep & demote.
+ * dir.c (rb_glob, rb_globi): add const.
-Thu Jun 6 00:52:42 2013 Masaya Tarui <tarui@ruby-lang.org>
+ * ruby.h: ditto.
- * gc.c (rgengc_rememberset_mark): change scan algorithm for performance:
- from object's pointer base to bitmap one.
+Mon Feb 16 02:16:33 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Jun 6 00:30:04 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * bcc32/Makefile.sub: should warn suspicious pointer conversion.
- * win32/win32.c (NET_LUID): define it on MinGW32.
- mingw-w64 has NET_LUID but mingw32 (mingw.org) still doesn't have
- NET_LUID. reported by taco on IRC
+ * bcc32/setup.mak: ditto.
-Thu Jun 6 00:05:08 2013 Akinori MUSHA <knu@iDaemons.org>
+Sun Feb 15 19:06:42 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * string.c (String#b): Allow code range scan to happen later so
- ascii_only? on a result string returns the correct value.
- [ruby-core:55315] [Bug #8496]
+ * lib/rinda/tuplespace.rb: TupleSpace#read(tpl, 0), raise
+ RequestExpiredError if not found.
-Wed Jun 5 22:40:42 2013 Shugo Maeda <shugo@ruby-lang.org>
+Sun Feb 15 15:56:46 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * lib/net/imap.rb (capability_response): should ignore trailing
- spaces. Thanks, Peter Kovacs. [ruby-core:55024] [Bug #8415]
+ * ext/win32ole/win32ole.c: add IDispatch wrapper in val2variant.
+ Thanks, arton.
- * test/net/imap/test_imap_response_parser.rb: related test.
+Sun Feb 15 01:46:05 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Jun 5 21:17:08 2013 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb: absolute path of ruby is assigned to $(RUBY).
+ [ruby-dev:22870]
- * bignum.c (big_fdiv): Use nlz() instead of bdigbitsize().
- (bdigbitsize): Removed.
+Sat Feb 14 11:29:41 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Jun 5 20:32:00 2013 Kenta Murata <mrkn@cookpad.com>
+ * sample/drb/*: import lib/drb/sample
- * include/ruby/ruby.h: fix alignment in comment.
+Sat Feb 14 11:08:23 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Jun 5 20:05:29 2013 Tanaka Akira <akr@fsij.org>
+ * lib/drb/drb.rb: add pretty_print, thanks gotoken.
- * random.c (int_pair_to_real_inclusive): Add a cast to BDIGIT.
- (random_load): Fix shift width for fixnums.
- Re-implement bignum extraction without ifdefs.
+Fri Feb 13 12:35:08 2004 Minero Aoki <aamine@loveruby.net>
-Wed Jun 5 15:26:10 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb: File.link may raise EINVAL and
+ EACCES on Windows.
- * gc.c (before_gc_sweep): don't optimize it to avoid segv on Ubuntu
- 10.04 gcc 4.4.
- http://u32.rubyci.org/~chkbuild/ruby-trunk/log/20130527T190301Z.diff.html.gz
+Thu Feb 12 21:45:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Wed Jun 5 09:46:46 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/ftools.rb: documented
- * test/fileutils/test_fileutils.rb (TestFileUtils#test_mkdir): add
- EACCES for Windows.
+Thu Feb 12 21:25:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Wed Jun 5 08:13:37 2013 Tanaka Akira <akr@fsij.org>
+ * lib/base64.rb: backported from HEAD (modularised and documented)
- * bignum.c (rb_big_pow): Don't need to multiply SIZEOF_BDIGITS.
- Use nlz instead of bitlength_bdigit.
- (bitlength_bdigit): Removed.
+Thu Feb 12 20:31:48 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jun 5 07:14:18 2013 Tadayoshi Funaba <tadf@dotrb.org>
+ * lib/mkmf.rb (create_tmpsrc): cpp32 of Borland C++ ignores #error
+ directives in DOS line-ending files at all.
- * ext/date/date_core.c (d_lite_cmp, d_lite_equal): simplified.
+Thu Feb 12 02:23:56 2004 Tanaka Akira <akr@m17n.org>
-Wed Jun 5 07:07:01 2013 Tadayoshi Funaba <tadf@dotrb.org>
+ * lib/pathname.rb: use assert_raise instead of assert_raises.
- * ext/date/date_core.c: fixed a bug [ruby-core:55295]. reported
- by Riley Lynch.
+ * lib/pp.rb: ditto.
-Wed Jun 5 06:44:08 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/time.rb: ditto.
- * lib/rubygems: Update to RubyGems 2.0.3
+ * lib/tsort.rb: ditto.
+ use TSortHash and TSortArray instead of Hash and Array in test.
- * test/rubygems: Tests for the above.
+Wed Feb 11 20:01:12 2004 akira yamada <akira@ruby-lang.org>
- * NEWS: Added RubyGems 2.0.3 note.
+ * test/ruby/test_file.rb (TestFile::test_fnmatch): added tests for
+ File.fnmatch. [ruby-dev:22815][ruby-dev:22819]
-Wed Jun 5 06:35:15 2013 Eric Hodel <drbrain@segment7.net>
+ * test/ruby/test_proc.rb (TestProc::test_eq): added a
+ test. [ruby-dev:22599]
- * doc/marshal.rdoc: Add description of Marshal format.
+ * test/ruby/test_proc.rb (TestProc::test_eq): added tests for
+ Proc#==. [ruby-dev:22592], [ruby-dev:22601]
-Wed Jun 5 01:16:09 2013 Benoit Daloze <eregontp@gmail.com>
+Tue Feb 10 16:43:56 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (Array#+): fix documentation example.
- Patch by Logan Serman. [Fixes GH-324]
+ * eval.c (umethod_bind): purge unused check. [ruby-dev:22850]
-Wed Jun 5 00:21:54 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+Mon Feb 9 17:16:00 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/irb/lc/ja/help-message: update help messages.
- following r41028. [ruby-dev:46707] [Feature #7510]
+ * lib/rdoc/parsers/parse_c.rb: escape '{' and '}' to avoid warnings.
-Wed Jun 5 00:09:32 2013 Tanaka Akira <akr@fsij.org>
+Mon Feb 9 13:00:55 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * marshal.c (r_object0): Generalize a round up expression.
- Use BDIGIT instead of int.
+ * dir.c (fnmatch): File.fnmatch('*?', 'a') should return true.
+ [ruby-dev:22815]
-Tue Jun 4 23:44:02 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * dir.c (fnmatch): File.fnmatch('\[1\]' , '[1]') should return true.
+ [ruby-dev:22819]
- * object.c (rb_Hash): fix docs. patched by Stefan Sch"ussler.
- [ruby-core:55299] [Bug #8487]
+Sun Feb 8 16:46:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jun 4 23:16:49 2013 Benoit Daloze <eregontp@gmail.com>
+ * lib/pp.rb (PP::PPMethods::object_address_group): suppress negative
+ sign for higher heap areas.
- * lib/irb/completion.rb: Use %w literal construction for long lists.
- Patch by Dave Goodchild. [Fixes GH-299]
+Fri Feb 6 22:48:16 2004 Dave Thomas <dave@pragprog.com>
-Tue Jun 4 23:08:42 2013 Benoit Daloze <eregontp@gmail.com>
+ * lib/rdoc/generators/html_generator.rb (gen_url): Support
+ https in RDoc hyperlinks
- * ext/objspace/objspace.c: improve wording and remove duplicated comment.
- Based on a patch by Dave Goodchild. [Fixes GH-299]
+Fri Feb 6 22:41:22 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Jun 4 18:41:47 2013 Tanaka Akira <akr@fsij.org>
+ * lib/pp.rb (PPInspectTest#test_to_s_with_iv): rollback the previous
+ commit. [ruby-dev:22813]
- * bignum.c (bitlength_bdigit): Fix an off-by-one error.
+Fri Feb 6 22:22:50 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Jun 4 15:30:00 2013 Kenta Murata <mrkn@cookpad.com>
+ * lib/pp.rb (PPInspectTest#test_to_s_with_iv): remove instance
+ variable which is defined in the test.
- * ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): fix the number
- of figures. Patch by Vipul A M <vipulnsward@gmail.com>.
- https://github.com/ruby/ruby/pull/323 fix GH-323
+Fri Feb 6 00:48:37 2004 Tanaka Akira <akr@m17n.org>
- * test/bigdecimal/test_bigdecimal_util.rb: fix for the above change.
+ * lib/prettyprint.rb (PrettyPrint#first?): obsoleted.
-Tue Jun 4 00:44:27 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Thu Feb 5 23:56:55 2004 Tanaka Akira <akr@m17n.org>
- * test/fileutils/test_fileutils.rb (TestFileUtils#test_mkdir): add
- EEXIST for Linux. (suggested by nurse)
+ * lib/prettyprint.rb (PrettyPrint#seplist): added.
-Mon Jun 3 23:58:19 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * lib/pp.rb (PPMethods#pp_object): use seplist.
+ (PPMethods#pp_hash): ditto.
+ (Array#pretty_print): ditto.
+ (Struct#pretty_print): ditto.
+ (MatchData#pretty_print): ditto.
- * lib/fileutils.rb (FileUtils.rmdir): use remove_tailing_slash.
- * test/fileutils/test_fileutils.rb: test for above.
+ * lib/set.rb (Set#pretty_print): use seplist.
-Mon Jun 3 23:47:55 2013 Tanaka Akira <akr@fsij.org>
+Wed Feb 4 02:12:06 2004 Tanaka Akira <akr@m17n.org>
- * bignum.c (bitlength_bdigit): New function.
- (rb_big_pow): Use bitlength_bdigit instead of ffs.
+ * file.c (test_l): fix wrong method name in document.
+ (test_S): ditto.
+ (test_b): ditto.
+ (test_c): ditto.
+ (test_suid): ditto.
+ (test_sgid): ditto.
+ (test_sticky): ditto.
-Mon Jun 3 23:11:19 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+Tue Feb 3 08:04:57 2004 Tanaka Akira <akr@m17n.org>
- * lib/fileutils.rb: fix behavior when mkdir/mkdir_p accepted "/".
- * test/fileutils/test_fileutils.rb: add test for above change.
- Patched by Mitsunori Komatsu. [GH-319]
+ * lib/pp.rb (Struct#pretty_print_cycle): follow 1.8 style.
-Mon Jun 3 19:02:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Feb 2 19:33:49 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * dir.c (is_hfs): use the file descriptor instead of a path.
+ * configure.in: backport from 1.9 for Interix.
-Mon Jun 3 07:15:17 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * dln.c (dln_load): ditto.
- * configure.in: removes AC_CHECK_FUNCS(readdir_r). readdir_r()
- is only used from dir.c and it doesn't need readdir_r().
- * configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): removed. It is
- only used for readdir_r.
- * dir.c: removes NAME_MAX_FOR_STRUCT_DIRENT. It is not right way
- to detect maximum length of path len. POSIX require to use
- fpathconf(). IOW, it might have lead to make a vulnerability
- using stack smashing. Moreover, readdir() works enough for our
- usage.
- * dir.c (READDIR): removes an implementation which uses
- readdir_r() and parenthesize in a macro body correctly.
- * dir.c (dir_read): removes IF_HAVE_READDIR_R(DEFINE_STRUCT_DIRENT
- entry), it is used only for readdir_r().
- * dir.c (dir_each): ditto.
- * dir.c (glob_helper): ditto.
+Mon Feb 2 13:31:51 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * dir.c (READDIR): removes entry and dp argument.
- * dir.c (dir_read): adjust for the above change.
- * dir.c (dir_each): ditto.
- * dir.c (glob_helper): ditto.
+ * lib/net/http.rb (canonical_each): fix merge miss.
-Mon Jun 3 03:40:29 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Mon Feb 2 01:54:00 2004 Tanaka Akira <akr@m17n.org>
- * vm_insnhelper.c (vm_yield_setup_block_args): partially revert r41019.
- The code is not useless.
+ * lib/pp.rb (Struct#pretty_print): make it 1.8 style.
+ (Numeric#pretty_print, FalseClass#pretty_print)
+ (TrueClass#pretty_print, Module#pretty_print): fix pp for objects
+ with instance variables. [ruby-talk:91157]
-Mon Jun 3 01:25:25 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * lib/open-uri.rb (URI::Generic#find_proxy): return nil on loopback
+ address.
- * test/socket/test_sockopt.rb: change test name. follow r41037.
+ * lib/resolv-replace.rb (BasicSocket#send): don't replace because
+ it has no hostname argument.
+ (IPSocket.getaddress): raise SocketError instead of
+ Resolv::ResolvError for errors.
+ (TCPSocket#initialize, UDPSocket#bind, UDPSocket#connect)
+ (SOCKSSocket#initialize): use IPSocket.getaddress instead of
+ Resolv.getaddress.
+ (UDPSocket#send): recognize 3 arguments form. try all addresses on
+ 4 arguments form.
-Mon Jun 3 01:08:43 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+Sun Feb 1 18:17:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * test/rinda/test_rinda.rb: rename functions introduced in r41009.
+ * lib/net/http.rb: merged coding style changes from HEAD.
-Sun Jun 2 23:33:42 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Sun Feb 1 16:15:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * enc/trans/japanese_euc.trans, test/ruby/test_transcode.rb,
- tool/transcode-tblgen.rb: change EUC-JP-2004 to EUC-JIS-2004.
- This is follow up to changes in r41024.
+ * lib/test/unit.rb: rearranged documentation for RDoc's sake.
+ * lib/matrix.rb: improved documentation.
+ * lib/net/http.rb: slight documentation formatting improvement.
-Sun Jun 2 22:44:42 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sun Feb 1 05:30:06 2004 Tanaka Akira <akr@m17n.org>
- * ext/socket/option.c: rename functions introduced in r41009
- s/ip/ipv4/g because they are ipv4 functions.
- (there's a policy that the name "ip" is for methods which supports
- both ipv4 and ipv6)
+ * lib/open-uri.rb (URI::Generic#find_proxy): warn HTTP_PROXY.
+ raise an errror on non-http proxy URI.
+ (OpenURI::Buffer#<<): make a tempfile binmode. [ruby-talk:90793]
-Sun Jun 2 16:15:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 31 09:20:32 2004 NAKAMURA, Hiroshi <nakahiro@sairon.co.jp>
- * dln_find.c (dln_find_exe, dln_find_file): remove deprecated
- non-reentrant functions.
+ * sample/openssl/gen_csr.rb: wrong usage string.
-Sun Jun 2 15:04:35 2013 Zachary Scott <zachary@zacharyscott.net>
+Sat Jan 31 01:00:32 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/cgi/util.rb, lib/erb.rb: Use String#b [Feature #8394] by znz
+ * lib/soap/wsdlDriver.rb, lib/wsdl/soap/operation.rb: add support of
+ "parts" attribute of soap:body element in WSDL.
-Sun Jun 2 14:10:21 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/wsdl/xmlSchema/schema.rb: friendly warning message for
+ simpleType element which is not supported for now.
- * lib/irb/lc/help-message: Apply english updates for irb --help #7510
+ * lib/soap/mapping/factory.rb: deleted unused methods.
-Sun Jun 2 12:03:58 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/soap/mapping/rubytypeFactory.rb: do no ignore case while xsi:type
+ string <-> Ruby class name matching.
- * range.c: Fix rdoc on Range#bsearch [Bug #8242] [ruby-core:54143]
+ * test/wsdl/soap/{soapbodyparts.wsdl,test_soapbodyparts.wsdl}: new
+ files.
-Sun Jun 2 02:08:37 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Jan 29 23:56:00 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * enc/euc_jp.c: fix typo: the name of EUC-JIS-2004.
+ * util.c (mblen): fix overrun. [ruby-dev:22672]
-Sat Jun 1 23:17:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Thu Jan 29 22:41:53 2004 Dave Thomas <dave@pragprog.com>
- * vm_eval.c (rb_mod_module_eval): mention in docs that arguments passed
- to the method are passed to the block
+ * lib/rdoc/generators/html_generator.rb: Allow 'link:' in Tidylinks.
+ THis means you can write "see f1[link:files/f1_rb.html]".
-Sat Jun 1 17:58:13 2013 Akinori MUSHA <knu@iDaemons.org>
+Thu Jan 29 15:33:23 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/set.rb (Set#freeze, taint, untaint): Save a "self" by
- utilizing super returning self, and add tests while at it.
+ * ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change
+ second argument. it expected to be a Hash not an Integer.
-Sat Jun 1 17:24:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new
+ function for OpenSSL::X509::Name#add_entry.
- * compile.c (iseq_set_arguments): not a simple single argument if any
- keyword arguments exist. [ruby-core:55203] [Bug #8463]
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_a): append ASN.1
+ tag number to each element of return value.
- * vm_insnhelper.c (vm_yield_setup_block_args): split single parameter
- if any keyword arguments exist, and then extract keyword arguments.
- [ruby-core:55203] [Bug #8463]
+ * ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants
+ OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.
-Sat Jun 1 11:16:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):
+ second argument takes OBJECT_TYPE_TEMPLATE by default.
- * error.c (rb_exc_new_cstr): rename from rb_exc_new2.
+ * sample/openssl/gen_csr.rb: use OpenSSL::X509::Name.parse.
- * error.c (rb_exc_new_str): rename from rb_exc_new3.
+Wed Jan 28 04:29:41 2004 Eric Schwartz <emschwar@fc.hp.com>
-Sat Jun 1 10:13:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/cgi/session.rb: use LOCK_SH to read, and a few other
+ improvements. [ruby-core:02328]
- * string.c (rb_str_new[2-5], rb_{tainted,usascii}_str_new2),
- (rb_str_buf_new2): remove old interfaces.
+Tue Jan 27 11:09:29 2004 FUKUMOTO Atsushi <fukumoto@nospam.imasy.or.jp>
-Sat Jun 1 08:00:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (s_recvfrom): sending length should be an
+ invariant while retrying on EAGAIN. [ruby-talk:89962]
- * ext/zlib/zlib.c (gzfile_read, gzfile_read_all, gzfile_getc),
- (gzreader_gets): check EOF. [ruby-core:55220] [Bug #8467]
+Tue Jan 27 10:35:18 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Jun 1 07:32:15 2013 Tanaka Akira <akr@fsij.org>
+ * ext/win32ole/win32ole.c (set_argv): fix condition.
- * bignum.c: Use BDIGIT type for hbase.
+Tue Jan 27 02:26:31 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Jun 1 02:37:35 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/webrick/httputils.rb (WEBrick:HTTPUtils::parse_header):
+ refine regex for header-name.
- * ext/socket/option.c (sockopt_s_byte): constructor of the sockopt
- whose value's is byte.
+Tue Jan 27 00:30:11 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/socket/option.c (sockopt_byte): getter for above.
+ * win32/Makefile.sub: rollback.
- * ext/socket/option.c (inspect_byte): inspect for above.
+Mon Jan 26 22:53:04 2004 Dave Thomas <dave@pragprog.com>
- * ext/socket/option.c (sockopt_s_ip_multicast_loop): constructor of
- the sockopt whose optname is IP_MULTICAST_LOOP.
+ * io.c: Remove documentation references to $defout.
- * ext/socket/option.c (sockopt_ip_multicast_loop): getter for above.
+Mon Jan 26 15:11:47 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/socket/option.c (sockopt_s_ip_multicast_ttl): constructor of
- the sockopt whose optname is IP_MULTICAST_TTL.
+ * sample/exyacc.rb: escape '}' to avoid warning.
- * ext/socket/option.c (sockopt_ip_multicast_ttl): getter for above.
+Mon Jan 26 14:41:46 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/option.c (sockopt_inspect): use above.
+ * lib/delegate.rb (Delegator::initialize): preserve
+ singleton_method_added method [ruby-dev:22685]
-Sat Jun 01 01:50:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * lib/delegate.rb (Delegator::initialize): use Kernel::raise
+ instead of mere raise. [ruby-dev:22681]
- * ext/bigdecimal/bigdecimal.c (BigDecimal_power): use rb_dbl2big
- to convert a double value to a Bignum.
+Mon Jan 26 12:47:17 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Jun 1 00:19:50 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c: define CONST84 when TCL_MAJOR_VERSION == 7
- * bignum.c (calc_hbase): Make hbase the maximum power of base
- representable in BDIGIT.
+Mon Jan 26 11:35:23 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri May 31 23:56:13 2013 Tanaka Akira <akr@fsij.org>
+ * ext/extmk.rb: Makefiles should depend on also rbconfig.rb.
+ (ruby-bugs:PR#1256)
- * bignum.c (calc_hbase): Extracted from rb_big2str0.
+ * ext/win32ole/win32ole.c (set_argv): set real arguments to
+ WIN32OLE::ARGV. [ruby-list:39073]
-Fri May 31 23:22:24 2013 Tanaka Akira <akr@fsij.org>
+Thu Jan 22 22:54:53 2004 Shugo Maeda <shugo@ruby-lang.org>
- * bignum.c: Don't hard code SIZEOF_BDIGITS for log_base(hbase).
- (big2str_orig): hbase_numdigits argument added.
- (big2str_karatsuba): Ditto.
- (rb_big2str0): Calculate hbase_numdigits.
+ * lib/net/imap.rb (BEG_REGEXP): allow 8-bit characters in quoted
+ strings for Novell GroupWise Internet Agent.
+ * lib/net/imap.rb (DATA_REGEXP): ditto.
-Fri May 31 17:57:21 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu Jan 22 16:21:33 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c: Improve Process::exec documentation
+ * parse.y (string_content): reset lexical states at the beginning of
+ string contents. [ruby-list:39061]
-Fri May 31 17:26:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jan 21 21:55:51 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * vm_eval.c (rb_funcallv): add better names of rb_funcall2.
+ * lib/drb/drb.rb: remove O_NONBLOCK, thanks \ay
+ * lib/drb/extserv.rb: typo
- * vm_eval.c (rb_funcallv_public): ditto for rb_funcall3.
+Wed Jan 21 17:57:56 2004 Shugo Maeda <shugo@ruby-lang.org>
-Fri May 31 17:04:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/imap.rb (envelope): allow NIL.
+ * lib/net/imap.rb (body): ditto.
+ * lib/net/imap.rb (number): ditto.
+ * lib/net/imap.rb (ensure_nz_number): show a detailed error
+ message.
- * array.c (rb_ary_new_capa): add better names of rb_ary_new2.
+Wed Jan 21 16:44:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_new_from_args): ditto for rb_ary_new3.
+ * lib/mkmf.rb (merge_libs): squeeze successive same libraries.
+ [ruby-dev:22652]
- * array.c (rb_ary_new_from_values): ditto for rb_ary_new4.
+Wed Jan 21 16:01:37 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri May 31 16:35:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/rmd160/extconf.rb: have_library appends found library.
- * configure.in (HAVE_ATTRIBUTE_FUNCTION_ALIAS): define to tell if
- alias attribute is available.
+Wed Jan 21 11:36:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri May 31 16:03:23 2013 Zachary Scott <zachary@zacharyscott.net>
+ * parse.y (block_append): update nd_end for "real" head node.
+ [ruby-list:39058]
- * object.c, proc.c: s/call_seq/call-seq in rdoc. [Fixes GH-322]
+Tue Jan 20 14:48:13 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Fri May 31 15:56:36 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/openssl/extconf.rb: should check <openssl/conf_api.h> instead
+ of OPENSSL_VERSION_NUMBER. [ruby-list:39056]
- * ext/openssl/ossl_ssl.c: Add missing paren in rdoc [Fixes GH-321]
+Tue Jan 20 14:43:17 2004 Dave Thomas <dave@pragprog.com>
-Fri May 31 11:58:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/base64.rb: Add RDoc
- * vm_method.c (set_visibility): extract from rb_mod_public(),
- rb_mod_protected() and rb_mod_private().
+Tue Jan 20 14:25:51 2004 Dave Thomas <dave@pragprog.com>
-Thu May 30 19:47:42 2013 Yusuke Endoh <mame@tsg.ne.jp>
+ * lib/abbrev.rb: Add RDoc
- * vm_insnhelper.c (vm_callee_setup_keyword_arg,
- vm_callee_setup_arg_complex): consider a hash argument for keyword
- only when the number of arguments is more than the expected
- mandatory parameters. [ruby-core:53199] [ruby-trunk - Bug #8040]
+Tue Jan 20 13:22:39 2004 Dave Thomas <dave@pragprog.com>
- * test/ruby/test_keyword.rb: update a test for above.
+ * lib/rdoc/generators/html_generator.rb: Document aliases at
+ top-most level.
-Thu May 30 17:55:04 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/English.rb: Document English.rb.
- * process.c: RDoc on Process.spawn
+Tue Jan 20 02:49:22 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu May 30 00:08:14 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/extconf.rb: add check for OpenSSL version.
+ [ruby-list:39054]
- * gc.c (gc_profile_enable): rest_sweep() to finish last GC.
- Profiling record is allocated at first of marking phase.
- Enable at lazy sweeping may cause an error (SEGV).
+Tue Jan 20 02:38:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed May 29 10:33:27 2013 Koichi Sasada <ko1@atdot.net>
+ * marshal.c (w_class): should not dump singleton class.
+ [ruby-dev:22631]
- * hash.c: fix WB bug.
- (1) Hash's key also needs WB.
- (2) callback parameter *key and *value of st_update() is not a
- storage of st_table itself (only local variable). So that
- OBJ_WRITE() is not suitable, especially for `!existing'.
- OBJ_WRITTEN() is used instead of OBJ_WRITE().
+Tue Jan 20 01:31:36 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue May 28 12:31:21 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (lineno): typo fix(FIX2INT -> INT2FIX).
- * ext/objspace/object_tracing.c: fix a bug reported at
- "[ruby-core:55182] [ruby-trunk - Bug #8456][Open] Sugfault in Ruby Head"
- Care about the case TracePoint#path #=> `nil'.
+Mon Jan 19 21:53:38 2004 akira yamada <akira@ruby-lang.org>
- * ext/objspace/object_tracing.c: add two new methods:
- * ObjectSpace.allocation_class_path(o)
- * ObjectSpace.allocation_method_id(o)
- They are not useful for Object.new because they are always
- "Class" and :new.
- To trace more useful information, we need to maintain call-tree
- using call/return hooks, which is implemented by
- ll-prof <http://sunagae.net/wiki/doku.php?id=software:llprof>
+ * io.c, re.c, string.c, time.c: fixed up positions of RDocs.
- * test/objspace/test_objspace.rb: add a test.
+Mon Jan 19 07:09:20 2004 Tadayoshi Funaba <tadf@dotrb.org>
-Tue May 28 11:30:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/date.rb: zone was wrong when it was behind UTC.
+ Thanks Mark J. Reed.
- * ext/extmk.rb (extmake): leave makefiles untouched if the content is
- not changed, to get rid of unnecessary re-linking.
+ * lib/date/format.rb: %z is now always replaced by four digits
+ with a leading plus or minus sign.
-Tue May 28 03:11:02 2013 Koichi Sasada <ko1@atdot.net>
+ * sample/cal.rb: added a class, anyway.
- * ext/objspace/gc_hook.c, ext/objspace/objspace.c: add new methods to
- hook GC invocation.
- * ObjectSpace.after_gc_start_hook=(proc)
- * ObjectSpace.after_gc_end_hook=(proc)
+Sun Jan 18 20:47:35 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- Note that hooks are not kicked immediately. Procs are kicked
- at postponed_job.
+ * ruby.c: use translate_char() on Cygwin.
- This feature is a sample of new internal event and
- rb_postponed_job API.
+Sun Jan 18 02:33:26 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue May 28 02:56:15 2013 Koichi Sasada <ko1@atdot.net>
+ * defines.h (_WIN32): undef _WIN32 on Cygwin before defining DOSISH.
- * gc.c (gc_stat): remove wrong rest_sweep().
+Sun Jan 18 00:23:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 28 02:44:23 2013 Koichi Sasada <ko1@atdot.net>
+ * marshal.c (class2path): check anonymous class/module before
+ checking referable, and allow singleton classes.
- * gc.c (garbage_collect_body): fix GC_ENABLE_LAZY_SWEEP condition.
+Fri Jan 16 14:33:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (GC_NOTIFY): move debug print location and use stderr instead
- of stdout.
+ * marshal.c (class2path): get class path and check referable.
+ [ruby-dev:22588]
-Tue May 28 02:07:21 2013 Koichi Sasada <ko1@atdot.net>
+Fri Jan 16 09:52:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_trace.c (rb_postponed_job_register_one): fix iteration bug.
+ * eval.c (proc_eq): Proc with empty body may not be equal.
+ [ruby-dev:22590]
- * ext/-test-/postponed_job/postponed_job.c,
- test/-ext-/postponed_job/test_postponed_job.rb: add a test.
+Thu Jan 15 13:03:10 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 28 00:34:23 2013 Koichi Sasada <ko1@atdot.net>
+ * io.c (argf_read): do not append EOF. (ruby-bugs-ja:PR#585)
- * include/ruby/ruby.h, gc.c: add new internal event
- RUBY_INTERNAL_EVENT_GC_END. This event invokes at the end of
- after_sweep().
- Time chart with lazy sweep is:
- (1) Kick RUBY_INTERNAL_EVENT_GC_START
- (2) [gc_marks()]
- (3) [lazy_sweep()]
- (4) [... run Ruby program (mutator) with lazy_sweep() ...]
- (5) [after_sweep()]
- (6) Kick RUBY_INTERNAL_EVENT_GC_END
- (7) [... run Ruby program (mutator), and go to (1) ...]
- Time chart without lazy sweep (GC.start, etc) is:
- (1) Kick RUBY_INTERNAL_EVENT_GC_START
- (2) [gc_marks()]
- (3) [gc_sweep()]
- (4) [after_sweep()]
- (5) Kick RUBY_INTERNAL_EVENT_GC_END
- (6) [... run Ruby program (mutator), and go to (1) ...]
+ * io.c (rb_io_fwrite): ad-hockery hack to get rid of HP-UX stdio
+ weird behavior. [ruby-dev:22424]
- * ext/-test-/tracepoint/tracepoint.c,
- test/-ext-/tracepoint/test_tracepoint.rb: modify a test.
+Wed Jan 14 13:31:06 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 28 00:18:57 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/iconv/extconf.rb: wrapper iconv.rb is dependent on platform.
- * vm_trace.c (rb_postponed_job_flush): remove a wrong comment.
+Tue Jan 13 18:54:28 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Mon May 27 22:09:33 2013 Tanaka Akira <akr@fsij.org>
+ * lib/logger.rb(Logger#msg2str): no special treatment for the object
+ which responds to :to_str. commited at 2004-01-11T21:46:27 by
+ gsinclair.
- * include/ruby/ruby.h (RHASH_SIZE): Add a cast to suppress a
- warning, comparison between signed and unsigned integer
- expressions [-Wsign-compare], on ILP32.
+ * lib/logger.rb(LogDevice#initialize): remove type checking if the
+ given object is a String. Kernel.open handles it correctly.
+ commited at 2004-01-11T21:46:27 by gsinclair.
-Mon May 27 19:25:47 2013 Koichi Sasada <ko1@atdot.net>
+ * test/logger/test_logger.rb: follow above change (ArgumentError ->
+ TypeError.) follow above commit.
- * include/ruby/ruby.h: rename RUBY_INTERNAL_EVENT_FREE to
- RUBY_INTERNAL_EVENT_FREEOBJ.
+Tue Jan 13 14:27:13 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * ext/-test-/tracepoint/tracepoint.c,
- ext/objspace/object_tracing.c,
- gc.c, vm_trace.c: catch up this change.
+ * lib/test/unit/ui/testrunnerutilities.rb (TestRunnerUtilities):
+ moved run method which allows output level. [ruby-dev:22554]
-Mon May 27 18:57:28 2013 Koichi Sasada <ko1@atdot.net>
+Tue Jan 13 04:29:52 2004 Dave Thomas <dave@pragprog.com>
- * ext/objspace/objspace.c: support ObjectSpace.trace_object_allocations.
- Read the following test to know HOWTO.
- This feature is a sample of RUBY_INTERNAL_EVENT.
+ * lib/rdoc/ri/ri_driver.rb (RiDriver::report_method_stuff):
+ Show fully-qualified class names in class list.
- * test/objspace/test_objspace.rb: add a test.
+Tue Jan 13 01:04:37 2004 Dave Thomas <dave@pragprog.com>
- * ext/objspace/object_tracing.c: ditto.
+ * lib/rdoc/ri/ri_paths.rb (RI::Paths): First attempt at
+ incorporating DESTDIR in the rdoc installation.
- * gc.c (rb_gc_count): add. This function returns GC count.
+Mon Jan 12 23:27:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * internal.h: add decl. of rb_gc_count(). Same as `GC.count'.
+ * parse.y (primary): fix position after FCALL. [ruby-dev:22574]
-Mon May 27 17:33:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jan 12 12:07:22 2004 Dave Thomas <dave@pragprog.com>
- * tool/rbinstall.rb (install_recursive): add maxdepth option.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods):
+ Someone changed the "// in eval.c" comments to "/*...*/" style,
+ so the parsing of the source file name broke.
- * tool/rbinstall.rb (bin-comm): limit depth of bindir and reject empty
- files. [ruby-core:55101] [Bug #8432]
+ * object.c: Remove spurious space in TrueClass documentation.
-Mon May 27 16:16:18 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Fix
+ bad regexp: if the code before a documented method contained
+ a comment that wasn't terminated by whitespace, that comment
+ and all intervening code was included in the following
+ method's documentation.
- * vm_trace.c (rb_postponed_job_flush, rb_postponed_job_register): use
- ruby_xmalloc/xfree. It is safe during GC.
+ * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter::break_to_newline):
+ HTML formats need explicit line breaks.
-Mon May 27 09:24:03 2013 Koichi Sasada <ko1@atdot.net>
+Mon Jan 12 11:46:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/-ext-/postponed_job/test_postponed_job.rb: fix typo and class name.
+ * configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single
+ quotes. [ruby-dev:22564]
-Mon May 27 09:05:17 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/mkmf.rb (libpathflag): do not enclose with quotes always.
- * include/ruby/ruby.h, gc.c, vm_trace.c: add internal events.
- * RUBY_INTERNAL_EVENT_NEWOBJ: object created.
- * RUBY_INTERNAL_EVENT_FREE: object freed.
- * RUBY_INTERNAL_EVENT_GC_START: GC started.
- And rename `RUBY_EVENT_SWITCH' to `RUBY_INTERNAL_EVENT_SWITCH'.
+ * {bcc32,win32,wince}/Makefile.sub (LIBPATHFLAG): quoted.
- Internal events can not invoke any Ruby program because the tracing
- timing may be critical (under huge restriction).
- These events can be hooked only by C-extensions.
- We recommend to use rb_postponed_job_register() API to call Ruby
- program safely.
+Mon Jan 12 02:24:07 2004 Dave Thomas <dave@pragprog.com>
- This change is mostly written by Aman Gupta (tmm1).
- https://bugs.ruby-lang.org/issues/8107#note-12
- [Feature #8107]
+ * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML
+ generation support to ri (Elliot Hughes)
- * include/ruby/debug.h, vm_trace.c: added two new APIs.
- * rb_tracearg_event_flag() returns rb_event_flag_t of this event.
- * rb_tracearg_object() returns created/freed object.
+Mon Jan 12 02:24:07 2004 Dave Thomas <dave@pragprog.com>
- * ext/-test-/tracepoint/extconf.rb,
- ext/-test-/tracepoint/tracepoint.c,
- test/-ext-/tracepoint/test_tracepoint.rb: add a test.
+ * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML
+ generation support to ri (Elliot Hughes)
-Mon May 27 08:38:21 2013 Koichi Sasada <ko1@atdot.net>
+Sun Jan 11 02:07:47 2004 Dave Thomas <dave@pragprog.com>
- * ext/-test-/postponed_job/postponed_job.c: fix `init' function name.
+ * lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):
+ Also accept command line options via the 'RI' environment variable.
-Mon May 27 06:22:41 2013 Koichi Sasada <ko1@atdot.net>
+Sun Jan 11 02:07:47 2004 Dave Thomas <dave@pragprog.com>
- * include/ruby/debug.h, vm_trace.c: add rb_postponed_job API.
- Postponed jobs are registered with this API. Registered jobs
- are invoked at `ruby-running-safe-point' as soon as possible.
- This timing is completely same as finalizer timing.
+ * lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):
+ Also accept command line options via the 'RI' environment variable.
- There are two APIs:
- * rb_postponed_job_register(flags, func, data): register a
- postponed job with data. flags are reserved.
- * rb_postponed_job_register_one(flags, func, data): same as
- `rb_postponed_job_register', but only one `func' job is
- registered (skip if `func' is already registered).
+Sat Jan 10 21:27:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- This change is mostly written by Aman Gupta (tmm1).
- https://bugs.ruby-lang.org/issues/8107#note-15
- [Feature #8107]
+ * eval.c (eval): need to add message delimiter. [ruby-dev:22561]
- * gc.c: use postponed job API for finalizer.
+Sat Jan 10 01:54:50 2004 Eric Sunshine <sunshine@sunshineco.com>
- * common.mk: add dependency from vm_trace.c to debug.h.
+ * defines.h (__NeXT__): Ensure that all standard S_IRUSR, S_IWGRP,
+ S_IRWXO, etc. macros are defined since future code might require
+ them (even though present code only requires a subset).
- * ext/-test-/postponed_job/extconf.rb, postponed_job.c,
- test/-ext-/postponed_job/test_postponed_job.rb: add a test.
+ * defines.h (__NeXT__): Bug fix: WORDS_BIGENDIAN was not being set
+ correctly on Rhapsody when -arch compiler flag was used (via
+ configure's --enable-fat-binary option).
- * thread.c: implement postponed API.
+Fri Jan 9 10:05:14 2004 Siena. <siena@faculty.chiba-u.jp>
- * vm_core.h: ditto.
+ * lib/mkmf.rb (libpathflag): use single quotes. [ruby-dev:22440]
-Mon May 27 02:26:02 2013 Koichi Sasada <ko1@atdot.net>
+Thu Jan 8 23:49:21 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c (gc_stat): collect promote_operation_count and
- types (RGENGC_PROFILE >= 2).
+ * configure.in (RDOCTARGET): new macro. if you want to install
+ rdoc documentation, you need to run configure with
+ --enable-install-doc.
-Mon May 27 01:40:58 2013 Koichi Sasada <ko1@atdot.net>
+Thu Jan 8 21:29:43 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (gc_stat): collect shade_operation_count,
- remembered_sunny_object_count and remembered_shady_object_count
- for each types when RGENGC_PROFILE >= 2.
- They are informative for optimization.
+ * ext/openssl/ossl_pkey.c (ossl_pkey_to_der): removed; it returns
+ public key only.
-Mon May 27 01:15:22 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_pkey_dh.c (ossl_dh_to_der): new function for
+ OpenSSL::PKey::DH#to_der.
- * hash.c (rb_hash_tbl_raw), internal.h: added.
- Returns st_table without shading hash.
+ * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_to_der): new function for
+ OpenSSL::PKey::DSA#to_der.
- * array.c: use rb_hash_tbl_raw() for read-only purpose.
+ * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_to_der): new function for
+ OpenSSL::PKey::RSA#to_der.
- * compile.c (iseq_compile_each): ditto.
+Thu Jan 8 16:51:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c (count_objects): ditto.
+ * test/wsdl/datetime/test_datetime.rb: fixed a stupid testcase which
+ dumps "E" at month-end.
- * insns.def: ditto.
+Thu Jan 8 11:20:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * process.c: ditto.
+ * eval.c, object.c, process.c, re.c: don't use C++ style comments.
- * thread.c (clear_coverage): ditto.
+Thu Jan 8 04:36:21 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_insnhelper.c: ditto.
+ * lib/webrick/cgi.rb (WEBrick::CGI#initialize): should create
+ @config[:Logger] if it was not given.
-Mon May 27 00:31:09 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * sample/webrick/*: new files.
- * tool/make-snapshot: use ENV["AUTOCONF"] instead of directly using
- literal "autoconf".
+ * MANIFEST: add sample/webrick/*
-Sun May 26 21:31:46 2013 Koichi Sasada <ko1@atdot.net>
+Wed Jan 7 13:00:18 2004 Dave Thomas <dave@pragprog.com>
- * hash.c, include/ruby/ruby.h: support WB protected hash.
- * constify RHash::ifnone and make new macro RHASH_SET_IFNONE().
- * insert write barrier for st_update().
+ * lib/rdoc/ri/ri_driver.rb: Fix problem where ri was
+ being too eager to find matches of ambiguous method
+ names (such as "ri Thread.join" would return both
+ Thread.join and ThreadsWait.join)
- * include/ruby/intern.h: declare rb_hash_set_ifnone(hash, ifnone).
+Wed Jan 7 12:35:41 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * marshal.c (r_object0): use RHASH_SET_IFNONE().
+ * lib/debug.rb: revert command parse regexps. [ruby-list:39014] by
+ Shirai,Kaoru.
- * ext/openssl/ossl_x509name.c (Init_ossl_x509name): ditto.
+Wed Jan 7 08:21:04 2004 Dave Thomas <dave@pragprog.com>
-Sat May 25 23:22:38 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/rdoc/parsers/parserfactory.rb: Check for shebang
+ line in files that would otherwise be treated as
+ plain text.
- * test/fiddle/test_c_struct_entry.rb,
- test/fiddle/test_c_union_entity.rb,
- test/fiddle/test_cparser.rb, test/fiddle/test_func.rb,
- test/fiddle/test_handle.rb, test/fiddle/test_import.rb,
- test/fiddle/test_pointer.rb: don't run test if the system
- don't support fiddle.
+Tue Jan 6 22:13:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat May 25 21:29:34 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (rb_mod_modfunc): should break if m has no super class.
+ [ruby-dev:22498]
- * ext/pty/pty.c (get_device_once): FreeBSD 10-current and 9-stable
- added O_CLOEXEC support to posix_openpt, so assume FreeBSD 9.2 or
- later supports it.
- http://www.freebsd.org/cgi/query-pr.cgi?pr=162374
+Tue Jan 6 21:55:02 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 25 18:46:23 2013 Yusuke Endoh <mame@tsg.ne.jp>
+ * io.c (fptr_finalize): should save errno just after failure.
+ [ruby-dev:22492]
- * proc.c (rb_method_entry_min_max_arity): fix missing break in switch.
- This was introduced in r38236, which is not intentional apparently.
- This has caused no actual harm because VM_METHOD_TYPE_OPTIMIZED is
- not used except for OPTIMIZED_METHOD_TYPE_SEND, but may do in
- future. Coverity Scan found this inadequacy.
+Tue Jan 6 14:53:14 2004 Dave Thomas <dave@pragprog.com>
-Sat May 25 18:08:06 2013 Yusuke Endoh <mame@tsg.ne.jp>
+ * bin/ri: split out the display side, making it pluggable. Added
+ new ri_driver and ri_display files in lib/rdoc/ri.
- * dir.c (bracket): fix copy-paste error. When the first and last
- characters of fnmatch range have different length, fnmatch may
- have wrongly matched a path that does not really match.
- Coverity Scan found this bug.
+Tue Jan 6 06:37:53 2004 Dave Thomas <dave@pragprog.com>
-Sat May 25 17:06:25 2013 Koichi Sasada <ko1@atdot.net>
+ * bin/rdoc: Add --ri-system switch
- * gc.c (after_gc_sweep): reduce full GC timing.
+ * lib/.document: Update with list of files that seem to have
+ documentation
-Sat May 25 11:28:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit.rb: Reorder comment to make it RDoc friendly.
- * variable.c (set_const_visibility): return without clearing method
- cache if no arguments.
+ * Makefile.in: add install-nodoc target, and make it
+ generate RDoc on default install.
- * vm_method.c (set_method_visibility): ditto.
+ * lib/rdoc/ri/ri_options.rb (RI::Options::parse): Add
+ --doc-dir option to ri.
-Sat May 25 11:27:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 6 00:04:40 2004 Dave Thomas <dave@pragprog.com>
- * vm_method.c (set_method_visibility): quote unprintable method name.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):
+ fix parsing if there are braces in a method parameter list
-Sat May 25 11:24:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jan 2 14:54:11 2004 Dave Thomas <dave@pragprog.com>
- * eval.c (rb_frame_callee): returns the called name of the current
- frame, not the previous frame.
+ * bin/ri: Add new --classes option, and arrange for
+ help messages to be paged too.
- * eval.c (prev_frame_callee, prev_frame_func): rename and make static,
- as these are used by rb_f_method_name() and rb_f_callee_name() only.
+ * bin/rdoc: Add statistics.
- * variable.c (set_const_visibility): use the called name.
+ * process.c: (MG) Added Process documentation
-Sat May 25 08:58:23 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/ri/ri_formatter.rb (RI::AttributeFormatter::wrap):
+ Fix problem with labels not displaying in RI labeled
+ lists using BS and ANSI modes.
- * string.c (rb_str_quote_unprintable): check if argument is a string.
+Fri Jan 2 01:50:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri May 24 19:32:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+ * io.c (argf_eof): ARGF.eof? should not have any side effect.
+ [ruby-dev:22469]
- * variable.c (set_const_visibility): use rb_frame_this_func() instead
- of rb_frame_callee() for getting the name of the called method
+Wed Dec 31 17:25:17 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_module.rb: add test for private_constant with no args
+ * io.c (argf_each_byte): should return self. [ruby-dev:22465]
-Fri May 24 18:53:10 2013 Koichi Sasada <ko1@atdot.net>
+Wed Dec 31 11:20:34 2003 Dave Thomas <dave@pragprog.com>
- * gc.c: do major/full GC when:
- * number of oldgen object is bigger than twice of
- number of oldgen object at last full GC.
- * number of remembered shady object is bigger than twice of
- number of remembered shady object at last full GC.
- * number of oldgen object and remembered shady object is bigger
- than half of total object space.
- (please fix my English!)
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Make
+ file referenced in "// in sss.c" relative to current file.
-Fri May 24 17:07:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
+Wed Dec 31 11:17:37 2003 Dave Thomas <dave@pragprog.com>
- * intern.h: remove dangling rb_class_init_copy declaration
- [ruby-core:55120] [Bug #8434]
+ * lib/rdoc/generators/html_generator.rb: Fix problem when
+ a public method was aliased, but the alias is then
+ made private, and hence doesn't appear in RDoc output.
-Fri May 24 16:31:23 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Dec 31 01:33:05 2003 Dave Thomas <dave@pragprog.com>
- * ext/strscan/strscan.c (strscan_aref): raise error if given
- name reference is not found.
+ * array.c, error.c, eval.c, io.c, prec.c, range.c, re.c,
+ string.c, time.c: Add RDoc for Kernel functions, and tidy.
-Fri May 24 15:48:18 2013 Koichi Sasada <ko1@atdot.net>
+Tue Dec 30 19:39:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (after_gc_sweep, garbage_collect_body): do major GC (full GC)
- before extending heaps.
- TODO: do major GC when there are many old (promoted) objects.
+ * io.c (rb_f_readline): should raise EOFError at the end of
+ files. [ruby-dev:22458]
- * gc.c (after_gc_sweep): remove TODO comments.
+ * io.c (argf_read): should concatenate input files when length
+ argument is nil. [ruby-dev:22450]
-Fri May 24 11:04:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (argf_read): should update supplied string buffer (2nd
+ argument) even when IO#read is called multiple times.
- * configure.in (LIBRUBY_RPATHFLAGS): do not append -L option with
- runtime library directory if cross compiling, but only -R option.
- runtime path makes no sense on the host system. [ruby-dev:47363]
- [Bug #8443]
+ * io.c: should initialize lineno by zero. [ruby-dev:22460]
-Fri May 24 02:57:17 2013 Koichi Sasada <ko1@atdot.net>
+Tue Dec 30 12:30:30 2003 Dave Thomas <dave@pragprog.com>
- * object.c (rb_obj_clone): should not propagate OLDGEN status.
- This propagation had caused WB miss for class.
+ * lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): If a
+ class and a method have the same name, finding Xxx.abc was trying
+ to find 'abc' in method 'Xxx', not class 'Xxx'.
-Thu May 23 17:35:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * load.c (loaded_feature_path): fix invalid read by index underflow.
- the beginning of name is also a boundary as well as just after '/'.
+Tue Dec 30 08:32:32 2003 Dave Thomas <dave@pragprog.com>
-Thu May 23 17:21:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):
+ Handle undoing nesting of yield parameters correctly for:
- * gc.c (gc_profile_dump_on): revert r40898. ok to show the record
- accumulating while lazy_sweep().
+ def each_entry(&b) Dir.foreach(@path) {|f| yield P.new(f) } end
-Wed May 22 16:50:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_profile_dump_on): use size_t to get rid of overflow and
- show the header when next_index > 0, instead of next_index != 1.
+Tue Dec 30 08:32:32 2003 Dave Thomas <dave@pragprog.com>
-Wed May 22 15:18:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):
+ Handle undoing nesting of yield parameters correctly for:
- * win32/win32.c (setup_overlapped): check the error code in addition
- to the result of SetFilePointer() to determine if an error occurred,
- because INVALID_SET_FILE_POINTER is a valid value.
- [ruby-core:55098] [Bug #8431]
+ def each_entry(&block) Dir.foreach(@path) {|f| yield Pathname.new(f) } end
- * win32/win32.c (setup_overlapped, finish_overlapped): extract from
- rb_w32_read() and rb_w32_write().
+Mon Dec 29 12:51:02 2003 Dave Thomas <dave@pragprog.com>
-Wed May 22 14:19:56 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c: Add RDoc for Kernel global functions.
- * gc.c (gc_prepare_free_objects, rest_sweep, lazy_sweep): fix position
- of `during_gc' setting.
+Mon Dec 29 11:00:16 2003 Dave Thomas <dave@pragprog.com>
-Wed May 22 07:36:08 2013 Koichi Sasada <ko1@atdot.net>
+ * array.c: Tidy up RDoc loose ends.
- * gc.c (garbage_collect): all GC is start from garbage_collect()
- (or garbage_collect_body()). `garbage_collect()' accept additional
- two parameters `full_mark' and `immediate_sweep'.
- If `full_mark' is TRUE, then force it full gc (major gc), otherwise,
- it depends on status of object space. Now, it will be minor gc.
- If `immediate_sweep' is TRUE, then disable lazy sweep.
- To allocate free memory, `full_mark' and `immediate_sweep' should be
- TRUE. Otherwise, they should be FALSE.
+Mon Dec 29 05:05:51 2003 Dave Thomas <dave@pragprog.com>
- * gc.c (gc_prepare_free_objects): use `garbage_collect_body()'.
+ * struct.c, random: Add RDoc comments
- * gc.c (slot_sweep, before_gc_sweep, after_gc_sweep): add logging code.
+Mon Dec 29 02:20:54 2003 Dave Thomas <dave@pragprog.com>
-Tue May 21 22:47:06 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c: Add RDoc for class Proc, Method, UnboundMethod
- * ext/strscan/strscan.c (strscan_aref): support named captures.
- patched by Konstantin Haase [ruby-core:54664] [Feature #8343]
+Mon Dec 29 00:41:44 2003 Dave Thomas <dave@pragprog.com>
-Tue May 21 21:48:44 2013 Kouhei Sutou <kou@cozmixng.org>
+ * math.c: Add RDoc comments
- * test/ruby/test_dir_m17n.rb (TestDir_M17N#test_entries_compose):
- Use #each instead of #map just for iteration.
+Sun Dec 28 20:19:11 2003 Tanaka Akira <akr@m17n.org>
-Tue May 21 19:57:22 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/stringio/stringio.c (strio_sysread): StringIO.new.sysread didn't
+ raise EOFError.
- * ext/digest/lib/digest.rb (Digest::Class.file): Take optional
- arguments that are passed to the constructor of the digest
- class.
+ * ext/zlib/zlib.c (gzreader_gets): don't increment lineno when
+ gzfile_read_all returns "".
-Tue May 21 17:21:12 2013 Koichi Sasada <ko1@atdot.net>
+Sun Dec 28 15:25:08 2003 Dave Thomas <dave@pragprog.com>
- * gc.c: remove gc_profile_record::is_marked. always true.
+ * class.c,object.c,parse.y,sprintf.c,variable.c: Document classes
+ Object, Module, etc...
-Tue May 21 17:13:40 2013 Koichi Sasada <ko1@atdot.net>
+Sun Dec 28 11:55:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c: fix to collect additional information for GC::Profiler.
- * major/minor GC
- * trigger reason of GC
+ * test/csv/test_csv.rb: generate bom.csv and mac.csv files on the fly.
+ [ruby-talk:88852]
- * gc.c (gc_profile_dump_on): change reporting format with
- added information.
+ * test/csv/{bom.csv,mac.csv}: removed.
- * gc.c (gc_profile_record_get): return added information by
- :GC_FLAGS => array.
+Sun Dec 28 08:56:51 2003 Dave Thomas <dave@pragprog.com>
-Tue May 21 16:45:31 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c: Thead[Group] RDoc (thanks to MG)
- * gc.c: GC::Profiler's sweeping time is accumulated all slot
- sweeping time. At lazy GC, GC::Profiler makes new record entry
- for each lazy_sweep(). In this change, accumulating all
- slot_sweep() time.
- And change indentation.
+Sun Dec 28 03:50:05 2003 Dave Thomas <dave@pragprog.com>
-Tue May 21 16:29:09 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_override_comment):
+ Escape method names used in regexp
- * common.mk (rdoc-bench): add a benchmark rule
- using RDoc. Generate all rdoc related files
- (same as `make rdoc') in temporary directory
- and remove them. Execution time, GC::Profiler
- and results of GC.stat are printed.
+Sun Dec 28 01:46:02 2003 Dave Thomas <dave@pragprog.com>
- * tool/rdocbench.rb: added for `rdoc-bench'.
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item):
+ Add support for rules in 'ri' output.
-Tue May 21 16:25:05 2013 Koichi Sasada <ko1@atdot.net>
+Sun Dec 28 01:35:35 2003 Dave Thomas <dave@pragprog.com>
- * gc.c (gc_profile_dump_on): `count' should be (int) because it
- can be negative number.
- And use pointer for `record' (don't copy).
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body):
+ Sometimes the Ruby source aliases two otherwise
+ unrelated methods (for example Kernel#object_id and
+ Kernel#hash are both the same C function). Provide a
+ facility to allow the methods to be documented
+ separately.
-Tue May 21 03:11:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Dec 28 01:05:31 2003 Dave Thomas <dave@pragprog.com>
- * dir.c (dir_each): compose HFS file names from
- UTF8-MAC. [ruby-core:48745] [Bug #7267]
+ * marshal.c, signal.c: RDoc collemts added by Elliott Hughes
-Tue May 21 03:08:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Dec 28 00:48:47 2003 Dave Thomas <dave@pragprog.com>
- * test/ruby/envutil.rb (assert_separately): require envutil in the
- child process too.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_class_comment):
+ Some source files use lower case class or module names
+ when naming the Init_XXX function in C.
-Tue May 21 03:07:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 27 23:41:46 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * string.c (rb_str_conv_enc_opts): should infect.
+ * configure.in: fix "test: too many arguments" error.
-Mon May 20 22:24:45 2013 Akinori MUSHA <knu@iDaemons.org>
+Sat Dec 27 15:32:19 2003 Dave Thomas <dave@wireless_3.local.thomases.com>
- * lib/set.rb (Set#delete_if, Set#keep_if): Avoid blockless call of
- proc, which is not portable to JRuby. Replace &method() with
- faster and simpler literal blocks while at it.
+ * time.c: RDoc comments added
-Mon May 20 22:00:31 2013 Zachary Scott <zachary@zacharyscott.net>
+Sat Dec 27 15:07:57 2003 Dave Thomas <dave@pragprog.com>
- * lib/e2mmap.rb: Format of E2MM documentation
+ * object.c: Add RDoc comments for Symbol class.
-Mon May 20 21:41:15 2013 Zachary Scott <zachary@zacharyscott.net>
+Sat Dec 27 14:42:30 2003 Dave Thomas <dave@pragprog.com>
- * ext/extmk.rb: nodoc this file
+ * numeric.c: Add RDoc comments.
-Mon May 20 20:43:32 2013 Zachary Scott <zachary@zacharyscott.net>
+Sat Dec 27 00:44:00 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/cmath.rb: Remove duplicate RDoc heading from overview
+ * io.c (next_argv): warn always for stdin on inplace edit mode.
-Mon May 20 20:36:19 2013 Zachary Scott <zachary@zacharyscott.net>
+ * io.c (read_all): need to check string value.
- * lib/securerandom.rb: Update position of overview for RDoc
+ * io.c (argf_read): allow ARGF.read(nil). [ruby-dev:22433]
-Mon May 20 19:33:55 2013 Benoit Daloze <eregontp@gmail.com>
+Fri Dec 26 23:02:09 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * math.c: improve and fix documentation of sin, tan and log
+ * io.c (rb_f_backquote): need not to check nil result.
+ [ruby-core:02078]
-Mon May 20 19:31:49 2013 Benoit Daloze <eregontp@gmail.com>
+ * io.c (rb_io_getline): should return nil when read_all gives
+ empty string, even when nil rs is specified. [ruby-core:02077]
- * lib/logger.rb (Logger::Application): show namespace in documentation
+Fri Dec 26 18:50:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon May 20 11:50:12 2013 Zachary Scott <zachary@zacharyscott.net>
+ * configure.in: check if getcontext and setcontext are available.
- * lib/pp.rb: Revert part of r40834 and nodoc PP::ObjectMixin
- [ruby-core:55068]
+ * eval.c: use presence of getcontext/setcontext.
-Mon May 20 10:40:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Dec 26 16:40:53 2003 Tanaka Akira <akr@m17n.org>
- * lib/webrick/htmlutils.rb (WEBrick::HTMLUtils#escape): replace HTML
- meta chars even in non-ascii string. [Bug #8425] [ruby-core:55052]
+ * lib/pathname.rb (PathnameTest#test_plus): add 2 assertions.
- * lib/webrick/httputils.rb (WEBrick::HTTPUtils#{_escape,_unescape}):
- fix %-escape encodings. [Bug #8425] [ruby-core:55052]
+Fri Dec 26 09:26:58 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/webrick/httpservlet/filehandler.rb (set_dir_list): revert r20152
- partially and fix misuse of bytesize and regexp repetition operator.
+ * pack.c (pack_pack): add sign check for 'i', and 'l'.
+ [ruby-dev:22427]
-Mon May 20 08:03:51 2013 Zachary Scott <zachary@zacharyscott.net>
+ * bignum.c (rb_quad_pack): add range check for 'quad int'.
- * lib/profiler.rb: Document Profiler__ methods
+Thu Dec 25 22:39:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon May 20 08:02:13 2013 Zachary Scott <zachary@zacharyscott.net>
+ * string.c (rb_str_update): don't return any value.
- * lib/tempfile.rb: nodoc Tempfile#inspect
+Thu Dec 25 15:30:17 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon May 20 07:48:24 2013 Zachary Scott <zachary@zacharyscott.net>
+ * string.c (rb_str_update): call rb_str_modify().
- * ext/stringio/stringio.c: Correct position of method rdoc
+Thu Dec 25 05:08:09 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon May 20 07:27:41 2013 Zachary Scott <zachary@zacharyscott.net>
+ * eval.c (search_required): search actual file name once when no
+ extension specified.
- * math.c: RDoc formatting of Math core docs with domains and codomains
- Patch by @eLobato [Fixes GH-309]
+Thu Dec 25 04:00:44 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon May 20 05:58:12 2013 Zachary Scott <zachary@zacharyscott.net>
+ * stable version 1.8.1 released.
- * ext/bigdecimal/bigdecimal.c: Formatting for BigMath [Fixes GH-306]
- Based on a patch by @eLobato.
- * ext/bigdecimal/lib/bigdecimal/math.rb: ditto
+Thu Dec 25 00:17:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon May 20 04:56:59 2013 Zachary Scott <zachary@zacharyscott.net>
+ * configure.in: check for nanosleep, -lrt if required.
+ [ruby-core:02059]
- * lib/forwardable.rb: Forwardable examples in overview were broken
- Based on patch by @joem [Fixes GH-303] [Bug #8392]
+ * eval.c (thread_timer): use select(2) if nanosleep(2) is not
+ available.
-Mon May 20 03:35:26 2013 Zachary Scott <zachary@zacharyscott.net>
+ * eval.c: check __stub_getcontext for glibc on some platforms.
+ [ruby-list:38984]
- * lib/optparse.rb: nodoc OptionParser::Version and SPLAT_PROC
+Wed Dec 24 23:48:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Mon May 20 03:16:52 2013 Zachary Scott <zachary@zacharyscott.net>
+ * test/soap/test_basetype.rb, test/soap/marshal/test_marshal.rb
+ test/xsd/test_xsd.rb: use "(-1.0 / (1.0 / 0.0))" instead of "-0.0"
+ to express -0.0. [ruby-talk:88786]
- * lib/pp.rb: Document PP::ObjectMixin [Fixes GH-312]
+Wed Dec 24 23:29:30 2003 Tanaka Akira <akr@m17n.org>
-Sun May 19 23:52:22 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * lib/tsort.rb (test_orphaned_break): removed.
- * test/webrick/test_htmlutils.rb: add test for WEBrick::HTMLUtils.
+Wed Dec 24 20:53:06 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun May 19 23:12:07 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * ext/tk/sample/tkmulticolumnlist.rb: new sample
- * encoding.c: document fix, change default script encoding.
- patched by @windwiny [Fixes GH-310]
+ * ext/tk/sample/tkmultilistframe.rb: bug fix
-Sun May 19 17:29:07 2013 Akinori MUSHA <knu@iDaemons.org>
+Wed Dec 24 20:37:37 2003 Eric Sunshine <sunshine@sunshineco.com>
- * lib/set.rb (Set#delete_if, Set#keep_if): Add comments.
+ * configure.in (LDSHARED): Fixed typographical error in assignment of
+ LDSHARED for Rhapsody which caused linking of extension modules to
+ fail.
-Sun May 19 11:37:36 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Wed Dec 24 17:51:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/fiddle/extconf.rb: ignore rc version of libffi to fix build failure.
+ * file.c (rb_thread_flock): enable thread support again.
-Sun May 19 10:38:50 2013 Akinori MUSHA <knu@iDaemons.org>
+Wed Dec 24 16:46:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * misc/ruby-electric.el (ruby-electric-delete-backward-char): Use
- delete-char instead of delete-backward-char, which is an
- interactive function.
+ * eval.c (catch_timer): do not call rb_thread_schedule() inside to
+ avoid pthread_mutex_lock() deadlock. interrupts to system calls
+ are detected by TRAP_END via EINTR error.
-Sun May 19 03:59:29 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (thread_timer): do not post signal unless it is
+ absolutely necessary.
- * string.c (str_scrub0): added for refactoring.
+ * rubysig.h (TRAP_END): add CHECK_INTS to switch thread.
-Sun May 19 03:48:26 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * regex.c (re_compile_pattern): check if nextp is smaller than
+ pend. [ruby-dev:22372]
- * lib/uri/common.rb (URI.decode_www_form): scrub string if decoded
- bytes are invalid for the encoding.
+ * eval.c (umethod_bind): remove method overridden check.
+ [ruby-dev:22366]
-Sun May 19 02:46:32 2013 Akinori MUSHA <knu@iDaemons.org>
+Wed Dec 24 16:13:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/set.rb (Set#delete_if, Set#keep_if): Make Set#delete_if and
- Set#keep_if more space and time efficient by avoiding to_a.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read): should check for error
+ status by SSL_get_error().
-Sun May 19 02:33:09 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_write): ditto.
- * misc/ruby-electric.el (ruby-electric-setup-keymap): Make
- backquotes electric as well. It was listed in
- ruby-electric-expand-delimiters-list but not activated.
+Wed Dec 24 14:23:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * misc/ruby-electric.el (ruby-electric-delete-backward-char):
- Introduce electric DEL that deletes what the previous electric
- command has input.
+ * ext/stringio/stringio.c (strio_read): clear the buffer argument
+ when returning nil. [ruby-dev:22363]
- * misc/ruby-electric.el (ruby-electric-matching-char): Make
- electric quotes work again at the end of buffer.
+ * test/ruby/ut_eof.rb (TestEOF::test_eof_0, TestEOF::test_eof_1):
+ add buffer argument tests.
-Sun May 19 01:39:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 24 14:07:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (setjmp-type): check if setjmpex() is really available.
- workaround for i686-w64-mingw32 which declares it but lacks its
- definition.
+ * lib/test/unit/assertions.rb: Modules are allowed to rescue.
- * include/ruby/defines.h: include setjmpex.h only if also setjmpex()
- is available.
+ * lib/test/unit/autorunner.rb: show output_level in order.
-Sat May 18 23:57:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/collector/dir.rb: get rid of successive same
+ directories in load path.
- * configure.in (setjmp-type): use setjmpex() on w64-mingw32 to get rid
- of -Wclobbered warnings.
+ * test/testunit/test_assertions.rb (test_assert_nothing_raised,
+ test_assert_raise): test for modules.
- * include/ruby/defines.h: include setjmpex.h here becase setjmp.h is
- included from win32.h via intrin.h, winnt.h, and so on.
+Wed Dec 24 13:43:34 2003 Shugo Maeda <shugo@ruby-lang.org>
-Sat May 18 20:28:12 2013 Tanaka Akira <akr@fsij.org>
+ * lib/net/imap.rb (authenticate): remove "\n" from base64 encoded
+ strings.
- * ext/socket/mkconstants.rb (INTEGER2NUM): Make less comparisons.
+Wed Dec 24 11:26:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 18 20:15:28 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb: should not create any
+ files or directories in current directory. [ruby-talk:88724]
- * string.c (str_scrub_bang): add String#scrub!. [Feature #8414]
+Wed Dec 24 10:29:53 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 18 16:59:52 2013 Tanaka Akira <akr@fsij.org>
+ * ext/stringio/stringio.c (strio_read): never return nil at
+ unlimited read. [ruby-dev:22334]
- * ext/socket/mkconstants.rb (INTEGER2NUM): Renamed from INTEGER2VALUE.
+ * ext/stringio/stringio.c (strio_read): support second
+ argument. [ruby-dev:22350]
-Sat May 18 16:57:58 2013 Tanaka Akira <akr@fsij.org>
+Wed Dec 24 09:38:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/mkconstants.rb (INTEGER2VALUE): Suppress a warning:
- comparison between signed and unsigned integer expressions
+ * parse.y (arg): should return 0 after error. [ruby-dev:22360]
-Sat May 18 16:38:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 24 00:56:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * compile.c (iseq_compile_each): forward anonymous and first keyword
- rest argument one. [ruby-core:55033] [Bug #8416].
+ * io.c (read_all): do not return nil at the end of file.
+ [ruby-dev:22334]
-Sat May 18 15:49:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (argf_read): do not depend on nil at eof behavior of
+ IO#read().
- * vm_core.h (rb_vm_tag): move jmpbuf between tag and prev so ensure to
- be accessible.
+ * eval.c (rb_thread_join): dup exception before re-raising it.
-Sat May 18 11:05:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (rb_io_eof): call clearerr() to prevent side effect. this
+ patch is supplied by Masahiro Sakai <sakai@tom.sfc.keio.ac.jp>.
+ [ruby-dev:22234]
- * enumerator.c (inspect_enumerator): use VALUE instead of mere char*
- by using rb_sprintf() and rb_id2str().
+ * pack.c (OFF16): get offset for big endian machines.
- * enumerator.c (append_method): extract from inspect_enumerator().
+ * pack.c (pack_pack): use OFF16 instead of OFF16B.
+ [ruby-dev:22344]
-Sat May 18 09:00:32 2013 Tanaka Akira <akr@fsij.org>
+ * pack.c (pack_unpack): ditto.
- * ext/socket/mkconstants.rb (INTEGER2VALUE): Use LONG2FIX if possible.
+Tue Dec 23 22:47:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat May 18 00:38:47 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_check_readable): set FMODE_RBUF always, even if
+ NEED_IO_SEEK_BETWEEN_RW is not defined. [ruby-dev:22340]
- * ext/socket/mkconstants.rb: Convert integer constants bigger than int
- correctly.
+ * io.c (rb_io_check_writable): clear FMODE_RBUF before writing
+ something.
-Fri May 17 22:02:15 2013 Tanaka Akira <akr@fsij.org>
+Tue Dec 23 22:25:00 2003 Gavin Sinclair <gsinclair@soyabean.com.au>
- * ext/socket/ifaddr.c: Use unsigned LONG_LONG to represent flags
- because SunOS 5.11 (OpenIndiana) defines ifa_flags as uint64_t.
+ * lib/optparse.rb: incomplete RDoc documentation added in place of
+ existing RD comments. Tabs converted to spaces.
-Fri May 17 21:47:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Dec 23 19:44:47 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * cont.c: Typo in constant MAX_MACHINE_STACK_CACHE from '..MAHINE..'
- patch by @schmurfy [Fixes GH-307]
+ * test/soap/test_streamhandler.rb (test_basic_auth): removed.
+ soap4r + basic_auth is not officially supported in ruby/1.8.1 even
+ though soap4r + basic_auth + http-access2 should run fine.
-Fri May 17 19:18:24 2013 Akinori MUSHA <knu@iDaemons.org>
+Tue Dec 23 19:42:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * misc/ruby-electric.el (ruby-electric-matching-char): Do not put
- a closing quote when the quote typed does not start a string, as
- in $', ?\' or ?\".
+ * io.c (rb_io_ungetc): raise an exception at unread stream to
+ avoid unspecified behavior. [ruby-dev:22330]
-Fri May 17 18:06:15 2013 Tanaka Akira <akr@fsij.org>
+ * test/ruby/test_system.rb (test_syntax): glob relatively from
+ __FILE__.
- * configure.in: Consider error messages to find out version option of
- C compiler.
- The C compiler of Sun Studio C emits "Warning: Option -qversion
- passed to ld, if ld is invoked, ignored otherwise" and exit
- successfully.
+Tue Dec 23 18:09:40 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri May 17 17:34:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * pack.c (pack_pack): remove unnecessary negative value check.
+ [ruby-dev:22329]
- * gc.c (rb_gc_guarded_ptr): unoptimize on other compilers than gcc and
- msvc.
+Tue Dec 23 17:26:55 2003 KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
-Fri May 17 11:06:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bcc32/Makefile.sub (config.h): bcc has finite(). [ruby-list:38940]
- * eval_intern.h (TH_PUSH_TAG): ensure jmpbuf to be accessible before
- pushing tag to get rid of unaccessible tag by stack overflow.
+Tue Dec 23 16:08:16 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu May 16 17:15:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/rexml/encodings/US-ASCII.rb: typo. [ruby-talk:88650]
- * vm_eval.c (rb_catch_obj): add volatile to tag to prevent crash
- experimentally.
- http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130515T133500Z.log.html.gz
+ * test/ruby/test_system.rb: num of asserts depended on running dir.
-Thu May 16 16:19:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/xsd/test_noencoding.rb: rexml + without iconv/uconv cannot
+ handle euc-jp. install iconv, uconv or xmlscan.
- * win32/Makefile.sub (verconf.in): no longer used.
+Tue Dec 23 14:13:51 2003 akira yamada <akira@ruby-lang.org>
- * win32/Makefile.sub (config.status): fix typo.
+ * lib/uri/generic.rb (URI::Generic::check_userinfo,
+ URI::Generic::check_user, URI::Generic::check_password): tests
+ conflicts/depends with other components closely.
- * configure.in, template/verconf.h.in (RUBY_EXEC_PREFIX): fix for
- default prefix.
+ * test/uri/test_generic.rb (TestGeneric::test_set_component):
+ added tets.
-Thu May 16 13:12:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Dec 23 11:08:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * template/verconf.h.in: generate verconf.h from the template and
- rbconfig.rb.
+ * test/xsd/test_noencoding.rb: rescue Errno::EINVAL and do not test.
+ "euc-jp" might not be in supported encoding name list.
+ [ruby-talk:88650]
-Thu May 16 05:47:18 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Tue Dec 23 06:10:31 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/psych/lib/psych/visitors/yaml_tree.rb: fix syntax error.
- Thanks @spastorino! [ruby-core:55011]
+ * lib/webrick/cgi.rb (CGI): add support for mod_ruby.
-Thu May 16 03:05:45 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/webrick/cgi.rb (CGI::Socket): add check for existence of
+ OpenSSL module in all HTTPS related methods.
- * gc.c (rb_node_newnode): use newobj_of() instead of rb_newobj().
+ * lib/webrick/cgi.rb (CGI::Socket#cipher): should create similar
+ value to OpenSSL::SSLSocket#cipher.
-Thu May 16 02:03:39 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httpresponse.rb (HTTPResponse#setup_header): should
+ set "connection: close" if @keep_alive is false.
- * ext/socket/depend: Add a dependency for ifaddr.o.
+ * lib/webrick/https.rb (HTTPrequest#meta_vars): add supprt for
+ SSL_PROTOCOL, SSL_CIPHER_USEKEYSIZE and SSL_CIPHER_ALGKEYSIZE.
-Thu May 16 01:44:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 22 23:00:05 2003 akira yamada <akira@ruby-lang.org>
- * common.mk (verconf.h): $< cannot be used in explicit rules with
- nmake.
+ * lib/uri/generic.rb (URI::Generic::check_opaque): fixed typo.
- * win32/Makefile.sub (CONFIG_H): create verconf.in instead of
- verconf.h.
+Mon Dec 22 21:59:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 16 01:25:07 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/iconv/iconv.c (map_charset): always ensure code is a String.
- * ext/psych/lib/psych/visitors/yaml_tree.rb: only emit warnings when
- -w is enabled.
+Mon Dec 22 21:15:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 15 18:58:17 2013 Koichi Sasada <ko1@atdot.net>
+ * class.c (rb_mod_init_copy): always copy singleton class.
+ [ruby-dev:22325]
- * gc.c (newobj): rename to `newobj_of' and accept additional
- three parameters v1, v2, v3. newobj_of() do OBJSETUP() and
- fill values with v1, v2, v3.
+Mon Dec 22 20:44:36 2003 akira yamada <akira@ruby-lang.org>
- * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):
- use newobj_of().
+ * lib/uri/generic.rb (URI::Generic#route_from): accepts urls which
+ has no host-part.
-Wed May 15 17:55:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/uri/test_generic.rb (TestGeneric::test_route): added a test.
- * configure.in (RUBY_PLATFORM): move to config.h as needed by
- version.c.
+Mon Dec 22 20:38:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 15 17:04:11 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/cgi.rb: reduce eval.
- * gc.c: add an additional RGENGC_PROFILE mode (2).
- Profiling result can be check by GC.stat.
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): alias path to
+ local_path. [ruby-list:38883]
- * gc.c (type_name): separate from obj_type_name().
+Mon Dec 22 20:09:31 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed May 15 16:58:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/soap/test_property.rb: remove duplicated test method.
- * configure.in: save configured load path values into verconf.in.
+Mon Dec 22 18:22:04 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * common.mk (verconf.h): create from verconf.in with shvar_to_cpp.rb.
+ * bcc32/Makefile.sub, win32/Makefile.sub (config.h): remove
+ HAVE_ISINF definition to follow previous commits of missing.h
+ and win32/win32.h.
- * tool/shvar_to_cpp.rb: turn shell variables into C macros.
- [Bug #7959]
+Mon Dec 22 17:23:42 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * loadpath.c: split load path staffs from version.c.
+ * configure.in (ac_cv_func_setitimer): moved from defines.h
- * dmyloadpath.c: miniruby has no builtin load paths, so verconf.h is
- not needed.
+ * defines.h, rubysig.h, signal.c: removed macro handling which
+ should be done in configure.
-Wed May 15 03:56:09 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * configure.in (intrinsics.h): check if present.
- * ext/psych/lib/psych/visitors/yaml_tree.rb: adding backwards
- compatible YAMLTree.new method
+ * ruby.h: include intrinsics.h if available.
-Wed May 15 02:22:16 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * bignum.c, marshal.c: include ieeefp.h if available.
- * ext/psych/lib/psych.rb: Adding Psych.safe_load for loading a user
- defined, restricted subset of Ruby object types.
- * ext/psych/lib/psych/class_loader.rb: A class loader for
- encapsulating the logic for which objects are allowed to be
- deserialized.
- * ext/psych/lib/psych/deprecated.rb: Changes to use the class loader
- * ext/psych/lib/psych/exception.rb: ditto
- * ext/psych/lib/psych/json/stream.rb: ditto
- * ext/psych/lib/psych/nodes/node.rb: ditto
- * ext/psych/lib/psych/scalar_scanner.rb: ditto
- * ext/psych/lib/psych/stream.rb: ditto
- * ext/psych/lib/psych/streaming.rb: ditto
- * ext/psych/lib/psych/visitors/json_tree.rb: ditto
- * ext/psych/lib/psych/visitors/to_ruby.rb: ditto
- * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
- * ext/psych/psych_to_ruby.c: ditto
- * test/psych/helper.rb: ditto
- * test/psych/test_safe_load.rb: tests for restricted subset.
- * test/psych/test_scalar_scanner.rb: ditto
- * test/psych/visitors/test_to_ruby.rb: ditto
- * test/psych/visitors/test_yaml_tree.rb: ditto
+ * missing.h (isinf): define as a macro if finite() and isnan()
+ are available. [ruby-core:02032]
-Wed May 15 02:06:35 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Mon Dec 22 17:07:31 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/psych/helper.rb: envutil is not available outside Ruby, so
- port the functions from envutil to the test helper.
+ * configure.in (mingw): set isnan, finite and isinf to yes.
- * test/psych/test_deprecated.rb: ditto
+Mon Dec 22 13:40:19 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/psych/test_encoding.rb: ditto
+ * lib/soap/property.rb: passing block by reference.
-Wed May 15 00:42:54 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Dec 22 00:32:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * signal.c: need to include unistd.h for write(2).
- unistd.h is now included via ruby/defines.h, but should explicitly
- include here. (suggested by kosaki)
+ * eval.c (rb_with_disable_interrupt): use ENABLE_INTS instead of
+ ALLOW_INTS which may switch context. [ruby-dev:22319]
-Tue May 14 23:43:05 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/emitter.c (syck_emitter_write): str bigger than
+ e->bufsize causes buffer overflow. [ruby-dev:22307]
- * ext/socket/.document: Add ifaddr.c.
+Sun Dec 21 17:29:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 14 23:24:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * class.c (rb_check_inheritable): new function. [ruby-dev:22316]
- * ext/socket/extconf.rb: check for if_nametoindex() for
- i686-w64-mingw32, and check for declarations of if_indextoname() and
- if_nametoindex().
+ * intern.h: add prototype.
- * ext/socket/ifaddr.c (ifaddr_ifindex): not-implement unless
- if_nametoindex() is available.
+ * eval.c (superclass): use rb_check_inheritable().
- * ext/socket/rubysocket.h: declare if_indextoname() and
- if_nametoindex() if available but not declared.
+ * object.c (rb_class_initialize): check argument validity.
-Tue May 14 19:58:17 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Sun Dec 21 16:25:10 2003 Tanaka Akira <akr@m17n.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.
+ * lib/pathname.rb (Pathname#+): re-implemented to resolve ".." in
+ beginning of the argument.
+ (Pathname#join): concatenate from the last argument.
+ (Pathname#parent): just use Pathname#+.
+Sun Dec 21 00:12:37 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue May 14 14:51:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: add new methods (TkScrollbar#assign, assign_list)
- * include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): split
- from intptr_t and uintptr_t, since VC9 defines the latter only in
- crtdefs.h.
+ * ext/tk/sample/tkmultilistframe.rb: use TkScrollbar#assign method
-Tue May 14 12:21:28 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Dec 20 21:59:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * win32/win32.c (NET_LUID): mingw may have NET_LUID and not defined
- _IFDEF_.
+ * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): refine regexp.
-Tue May 14 03:33:17 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/webrick/cgi.rb (CGI#start): NPH scripts return status line
+ instead of Status: header field.
- * string.c (rb_str_new_frozen): remove debug print.
+ * lib/webrick/cgi.rb (CGI::Socket): refine some coditions.
-Tue May 14 03:22:51 2013 Koichi Sasada <ko1@atdot.net>
+Sat Dec 20 16:07:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h: enable to generate write barrier protected
- arrays (T_ARRAY).
+ * lib/optparse.rb (OptionParser::Completion::complete): wrong
+ Regexp for word boundary. pointed out by Gavin Sinclair.
-Tue May 14 03:21:42 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/optparse.rb (OptionParser::make_switch): [no-] prefix was
+ missing.
- * include/ruby/ruby.h: enable to generate write barrier protected
- strings (T_STRING).
+Sat Dec 20 11:40:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 14 03:19:59 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/yaml.rb (YAML::YAML): adjust Marshal version.
- * include/ruby/ruby.h: enable to generate write barrier protected
- objects (T_OBJECT).
+Sat Dec 20 03:56:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue May 14 03:17:15 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_with_disable_interrupt): prohibit thread context
+ switch during proc execution. [ruby-dev:21899]
- * include/ruby/ruby.h: enable to generate write barrier protected
- objects for numeric types (Float, Complex, Rational, Bignum).
+Sat Dec 20 02:41:02 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue May 14 03:10:59 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/webrick/cgi.rb: add file. (yet another CGI library)
- * include/ruby/ruby.h: enable RGENGC (USE_RGENGC)
- but no type creates write protected (sunny) objects
- (RGENGC_WB_PROTECTED_* == 0).
+ * MANIFEST: add lib/webrick/cgi.rb.
-Tue May 14 02:47:30 2013 Koichi Sasada <ko1@atdot.net>
+Sat Dec 20 02:18:31 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c: support RGENGC. [ruby-trunk - Feature #8339]
- See this ticket about RGENGC.
+ * misc/ruby-mode.el (ruby-calculate-indent): proper indentation
+ inside of parentheses. [ruby-dev:22308]
- * gc.c: Add several flags:
- * RGENGC_DEBUG: if >0, then prints debug information.
- * RGENGC_CHECK_MODE: if >0, add assertions.
- * RGENGC_PROFILE: if >0, add profiling features.
- check GC.stat and GC::Profiler.
+Fri Dec 19 21:24:22 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * include/ruby/ruby.h: disable RGENGC by default (USE_RGENGC == 0).
+ * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): should not set
+ HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH.
- * array.c: add write barriers for T_ARRAY and generate sunny objects.
+ * lib/webrick/https.rb (HTTPRequest#parse): should check presence
+ of cert() method to detect SSLSocket.
- * include/ruby/ruby.h (RARRAY_PTR_USE): added. Use this macro if
- you want to access raw pointers. If you modify the contents which
- pointer pointed, then you need to care write barrier.
+Fri Dec 19 22:56:46 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * bignum.c, marshal.c, random.c: generate T_BIGNUM sunny objects.
+ * lib/soap/property.rb (SOAP::Property#load): new method for loading
+ property value into existing property tree.
- * complex.c, include/ruby/ruby.h: add write barriers for T_COMPLEX
- and generate sunny objects.
+ * test/soap/test_property.rb: add test.
- * rational.c (nurat_s_new_internal), include/ruby/ruby.h: add write
- barriers for T_RATIONAL and generate sunny objects.
+Fri Dec 19 19:21:49 2003 akira yamada <akira@ruby-lang.org>
- * internal.h: add write barriers for RBasic::klass.
+ * lib/runit/cui/testrunner.rb (RUNIT::CUI::TestRunner::run):
+ should use Test::Unit::UI::{PROGRESS_ONLY,VERBOSE}.
- * numeric.c (rb_float_new_in_heap): generate sunny T_FLOAT objects.
+Fri Dec 19 17:36:49 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * object.c (rb_class_allocate_instance), range.c:
- generate sunny T_OBJECT objects.
+ * ext/tk/sample/tkmultilistbox.rb: bug fix
- * string.c: add write barriers for T_STRING and generate sunny objects.
+ * ext/tk/sample/tkmultilistframe.rb: new sample script
- * variable.c: add write barriers for ivars.
+Fri Dec 19 03:44:27 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_insnhelper.c (vm_setivar): ditto.
+ * lib/webrick/httputils.rb (parse_form_data): should return an
+ empty Hash if the body is empty.
- * include/ruby/ruby.h, debug.c: use two flags
- FL_WB_PROTECTED and FL_OLDGEN.
+Thu Dec 18 21:47:35 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * node.h (NODE_FL_CREF_PUSHED_BY_EVAL, NODE_FL_CREF_OMOD_SHARED):
- move flag bits.
+ * lib/mkmf.rb (create_makefile): should remove deffile if it's
+ made by miniruby. based on nobu's patch.
-Tue May 14 01:54:48 2013 Koichi Sasada <ko1@atdot.net>
+Thu Dec 18 21:44:21 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c: remove rb_objspace_t::marked_num.
- We can use `objspace_live_num()' instead of removed `marked_num'
- if it is after `after_gc_sweep()' function call.
+ * eval.c (stack_extend): ignore inline optimization on VC7.
- * gc.c (after_gc_sweep): use objspace_live_num() instead of removed
- rb_objspace_t::marked_num.
+ * win32/Makefile.sub (OS, RT): can override.
- * gc.c (gc_mark_ptr, gc_marks): remove rb_objspace_t::marked_num code.
+ * win32/Makefile.sub (LDFLAGS): ditto. shouldn't use pdb:none
+ option. based on Tietew's patch [ruby-dev:22289]
- * gc.c (gc_prepare_free_objects): do not call set_heaps_increment()
- with checking objspace->heap.marked_num. At this point, we only
- need to check availability of free-cell.
+Thu Dec 18 16:38:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (lazy_sweep): call after_gc_sweep() if there are no sweep_able entry.
+ * dir.c (fnmatch): unlike find_dirsep(), rb_path_next() never
+ return NULL.
- * gc.c (rest_sweep, gc_prepare_free_objects): remove after_gc_sweep() call.
+Thu Dec 18 15:27:59 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue May 14 01:50:41 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/ipaddr.rb (IPSocket::getaddress): merge usa's patch.
+ [ruby-dev:21678]
- * gc.c: disable GC_PROFILE_MORE_DETAIL (fix last commit).
+Wed Dec 17 15:15:30 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gc_prof_set_malloc_info): fix "objspace->heap.live_num" to
- "objspace_live_num(objspace)". There is no such member variable.
+ * lib/cgi.rb (CGI::QueryExtension::Value::[]): should work like
+ String#[] if more than one arguments are specified.
-Tue May 14 01:25:55 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/delegate.rb: avoid using common instance name as "@obj".
- * gc.c: refactoring GC::Profiler.
+ * lib/cgi.rb (CGI::QueryExtension::Value): Value is no longer
+ subclass of String, but DelegateClass(String).
- * gc.c (gc_prof_sweep_timer_start/stop): removed because
- they doesn't support lazy sweep.
+ * ext/curses/extconf.rb: restore function check for init_color.
+ [ruby-list:38905]
- * gc.c (gc_prof_sweep_slot_timer_start/stop): added.
- redefine `sweeping time' to accumulated time of all of
- slot_sweep().
+ * Makefile.in: need to specify $(MAINLIBS) for the miniruby
+ generation rule.
- * gc.c (rb_objspace_t::profile::count): renamed to
- rb_objspace_t::profile::next_index. `counter' seems ambiguous.
- increment it when next record is acquired.
+ * configure.in: better FreeBSD -lc_r support.
-Tue May 14 00:48:55 2013 Koichi Sasada <ko1@atdot.net>
+Wed Dec 17 00:16:14 2003 Minero Aoki <aamine@loveruby.net>
- * include/ruby/ruby.h: constify RRational::(num,den) and
- RComplex::(real,imag).
- Add macro to set these values:
- * RRATIONAL_SET_NUM()
- * RRATIONAL_SET_DEN()
- * RCOMPLEX_SET_REAL()
- * RCOMPLEX_SET_IMAG()
- This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
+ * ext/strscan/strscan.c: new method
+ StringScanner#beginning_of_line? (alias #bol?)
- TODO: API design. RRATIONAL_SET(rat,num,den) is enough?
- TODO: Setting constify variable with cast has same issue of r40691.
+ * ext/strscan/strscan.c: new method StringScanner#concat and #<<.
- * complex.c, rational.c: use above macros.
+ * ext/strscan/strscan.c: StringScanner#new(str) does not duplicate
+ nor freeze STR (allow destructive modification).
-Mon May 13 21:49:17 2013 Tanaka Akira <akr@fsij.org>
+ * test/strscan/test_stringscanner.rb: test new methods above.
- * ext/socket/extconf.rb: Check socketpair again.
- It is required on Unix.
+ * test/strscan/test_stringscanner.rb: test destructive string
+ modification.
-Mon May 13 21:20:32 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Dec 16 21:20:47 2003 Tanaka Akira <akr@m17n.org>
- * win32/win32.c (getipaddrs): use alternative interface name if
- available, because if_nametoindex() requires them.
+ * lib/pp.rb: don't use local variable `pp'.
-Mon May 13 20:23:24 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/prettyprint.rb: ditto.
- * win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental]
- emulate getipaddrs(3) on Unix.
+Tue Dec 16 13:20:43 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above
- function.
+ * ext/tk/lib/tk.rb: condition bug of if statement on
+ {pack,grid}_propagate methods
- * include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't
- substitute for any function, so use non-prefixed name.
+Tue Dec 16 03:17:29 2003 why the lucky stiff <why@ruby-lang.org>
- * ext/socket/extconf.rb (socketpair); follow above change.
+ * lib/yaml/rubytypes.rb: comments in strings. [ruby-talk:88012]
-Mon May 13 20:11:06 2013 Koichi Sasada <ko1@atdot.net>
+ * test/yaml/test_yaml.rb: add test.
- * iseq.c (prepare_iseq_build): remove additional line break.
+Tue Dec 16 01:14:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon May 13 19:29:54 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (catch_timer): check rb_thread_crtical in main native
+ thread.
- * include/ruby/ruby.h: constify RBasic::klass and add
- RBASIC_CLASS(obj) macro which returns a class of `obj'.
- This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
+ * eval.c (thread_timer): just sends signals periodically, to
+ prevent main native thread from receiving them in critical
+ section. [ruby-core:01959]
- * object.c: add new function rb_obj_reveal().
- This function reveal internal (hidden) object by rb_obj_hide().
- Note that do not change class before and after hiding.
- Only permitted example is:
- klass = RBASIC_CLASS(obj);
- rb_obj_hide(obj);
- ....
- rb_obj_reveal(obj, klass);
+Mon Dec 15 13:32:22 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- TODO: API design. rb_obj_reveal() should be replaced with others.
+ * dir.c (check_dirname): check string safety and remove extraneous
+ trailing directory separators. [ruby-dev:22279]
- TODO: modify constified variables using cast may be harmful for
- compiler's analysis and optimization.
- Any idea to prohibit inserting RBasic::klass directly?
- If rename RBasic::klass and force to use RBASIC_CLASS(obj),
- then all codes such as `RBASIC(obj)->klass' will be
- compilation error. Is it acceptable? (We have similar
- experience at Ruby 1.9,
- for example "RARRAY(ary)->ptr" to "RARRAY_PTR(ary)".
+ * file.c: renamed and externalized rb_path_next,
+ rb_path_skip_prefix, rb_path_last_separator, rb_path_end.
- * internal.h: add some macros.
- * RBASIC_CLEAR_CLASS(obj) clear RBasic::klass to make it internal
- object.
- * RBASIC_SET_CLASS(obj, cls) set RBasic::klass.
- * RBASIC_SET_CLASS_RAW(obj, cls) same as RBASIC_SET_CLASS
- without write barrier (planned).
- * RCLASS_SET_SUPER(a, b) set super class of a.
+ * intern.h: prototypes for rb_path_next, rb_path_skip_prefix,
+ rb_path_last_separator, rb_path_end.
- * array.c, class.c, compile.c, encoding.c, enum.c, error.c, eval.c,
- file.c, gc.c, hash.c, io.c, iseq.c, marshal.c, object.c,
- parse.y, proc.c, process.c, random.c, ruby.c, sprintf.c,
- string.c, thread.c, transcode.c, vm.c, vm_eval.c, win32/file.c:
- Use above macros and functions to access RBasic::klass.
+Mon Dec 15 09:27:46 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/coverage/coverage.c, ext/readline/readline.c,
- ext/socket/ancdata.c, ext/socket/init.c,
- * ext/zlib/zlib.c: ditto.
+ * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): first argument
+ of rb_protect should take an argument of VALUE.
-Mon May 13 18:44:14 2013 Koichi Sasada <ko1@atdot.net>
+Sun Dec 14 18:46:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * *.c, parse.y, insns.def: use RARRAY_AREF/ASET macro
- instead of using RARRAY_PTR().
+ * ext/socket/socket.c (Init_socket): IPv6 is not supported although
+ AF_INET6 is defined on MinGW.
-Mon May 13 16:53:53 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/ipaddr.rb (AF_INET6): workaround in the environment which does
+ not support IPv6.
- * include/ruby/ruby.h: add new utility macros to access
- Array's element.
- * RARRAY_AREF(a, i) returns i-th element of an array `a'
- * RARRAY_ASET(a, i, v) set i-th element of `a' to `v'
- This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
+Sat Dec 13 18:55:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon May 13 15:31:10 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/iconv/charset_alias.rb: preserve original order.
- * object.c (rb_obj_setup): added.
+ * ext/iconv/extconf.rb: remove wrapper file at clean.
- * include/ruby/ruby.h (OBJSETUP): use rb_obj_setup() instead of
- a macro.
+Sat Dec 13 18:09:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon May 13 15:24:16 2013 Koichi Sasada <ko1@atdot.net>
+ * eval.c (thread_timer): use timer by sub-thread and nanosleep.
+ [ruby-talk:87519]
- * gc.c (rb_data_object_alloc): check klass only if klass is not 0.
- klass==0 means internal object.
+ * gc.c (Init_stack): no stack adjustment for THREAD_SAFE.
-Mon May 13 14:57:28 2013 Koichi Sasada <ko1@atdot.net>
+Sat Dec 13 17:17:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):
- use NEWOBJ_OF() instead of NEWOBJ().
+ * eval.c (proc_alloc): cache the created object at first time.
+ [ruby-talk:61288], [ruby-dev:22240]
-Mon May 13 14:51:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 13 09:01:23 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * proc.c (rb_obj_singleton_method): new method Kernel#singleton_method
- which returns a Method object of the singleton method.
- non-singleton method causes NameError, but not aliased or zsuper
- method, right now.
- [ruby-core:54914] [Feature #8391]
+ * configure.in: check ucontext.h.
- * vm_method.c (rb_method_entry_at): return the method entry for id at
- klass, without ancestors.
+ * eval.c: use getcontext/setcontext() instead of setjmp/longjmp()
+ on ia64 or with native thread enabled. [ruby-core:01932]
- * class.c (rb_singleton_class_get): get the singleton class if exists,
- or nil.
+Sat Dec 13 03:09:14 2003 why the lucky stiff <why@ruby-lang.org>
-Mon May 13 10:20:59 2013 Yuki Yugui Sonoda <yugui@google.com>
+ * lib/yaml/rubytypes.rb: anonymous struct fix. [ruby-core:01946]
- * ext/openssl/ossl_ssl.c: Disabled OpenSSL::SSL::SSLSocket if
- defined(OPENSSL_NO_SOCK).
+ * test/yaml/test_yaml.rb: add test.
- This fixes a linkage error on platforms which do not have socket.
- OpenSSL itself is still useful as a set of cryptographic functions
- even on such platforms.
+Fri Dec 12 22:36:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Mon May 13 10:30:04 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/csv.rb: add Cell#to_str and Cell#to_s for /.../ =~ aCell,
+ "#{aCell}" and so on.
- * hash.c: Hash[] and {} are not equivalent by @eam [Fixes GH-301]
+ * test/csv/test_csv.rb: add tests.
-Mon May 13 10:04:22 2013 Zachary Scott <zachary@zacharyscott.net>
+Fri Dec 12 19:33:06 2003 Minero Aoki <aamine@loveruby.net>
- * random.c: Document Random::DEFAULT by @eLobato [Fixes GH-304]
+ * lib/fileutils.rb (mkdir): remove trailing `/' from pathes.
-Sun May 12 21:12:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/fileutils.rb (rmdir): ditto. [ruby-dev:22238]
- * include/ruby/ruby.h (OFFT2NUM): RUBY_REPLACE_TYPE also defines macro
- to convert int type to VALUE if found.
+ * lib/fileutils.rb (rmdir_r): ditto.
-Wed May 8 13:46:52 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/fileutils.rb (fu_copy_dir): check if it is a directory after
+ mkdir(2).
- * include/ruby/intern.h (rb_iv_set, rb_iv_get): removed. Because
- ruby.h has a declaration for that.
+Fri Dec 12 06:06:09 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 8 13:49:06 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * eval.c (proc_invoke): fix class name in warning message for
+ define_method. [ruby-dev:22235]
- * include/ruby/intern.h (rb_uint2big, rb_int2big, rb_uint2inum)
- (rb_int2inum, rb_ll2inum, rb_ull2inum): removed because ruby.h
- has a declaration for these.
+Thu Dec 11 21:24:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun May 12 17:52:23 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/openssl/ossl_pkcs12.[ch]: new files. add OpenSSL::PKCS12.
- * configure.in: removes 'ac_cv_func_fseeko=yes' form MinGW
- specific definitions.
+ * ext/openssl/ossl.[ch]: ditto.
-Sun May 12 17:25:46 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/openssl/MANIFEST: add ossl_pkcs12.[ch].
- * file.c (rb_file_s_truncate): use correct type. chsize takes
- a long.
+Thu Dec 11 20:54:28 2003 Minero Aoki <aamine@loveruby.net>
-Sun May 12 17:18:46 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/fileutils.rb (mkdir_p): remove trailing `/' befere mkdir(2).
+ mkdir("nonexistdir/") does not work on NetBSD/Alpha 1.6.1.
- * process.c: move '#define HAVE_SPAWNV 1' to win32/Makefile.sub.
- * win32/Makefile.sub: see above.
+ * lib/fileutils.rb (fu_list): call to_str for all arguments.
-Sun May 12 17:13:32 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Dec 11 20:07:01 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * configure.in: removes AC_CHECK_FUNCS(setitimer) because it's
- unused.
+ * lib/ftools.rb (makedirs): sync with fileutils.
-Sun May 12 17:08:16 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Dec 11 19:53:03 2003 Minero Aoki <aamine@loveruby.net>
- * configure.in: removes AC_CHECK_FUNCS(pause) because it's unused.
+ * lib/fileutils.rb (mkdir_p): catch all SystemCallErrors.
+ (mkdir("C:\") causes EACCESS on Windows 2000/NTFS)
-Sun May 12 17:05:18 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Dec 11 19:08:02 2003 Minero Aoki <aamine@loveruby.net>
- * signal.c (rb_f_kill): fixes typo. s/HAS_KILLPG/HAVE_KILLPG/.
+ * lib/fileutils.rb (mkdir_p): check if it is a directory after
+ mkdir(2) instead of before mkdir(2), to avoid race condition.
+ [ruby-talk:87730]
+ Refer: mkinstalldirs sh script, GNU mkdir(1) (coreutils 5.0)
-Sun May 12 17:03:27 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Dec 11 18:49:30 2003 Minero Aoki <aamine@loveruby.net>
- * configure.in: abort if gettimeofday doesn't exist.
+ * lib/fileutils.rb: def m( arg ) -> def m(arg).
-Sun May 12 16:31:27 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Dec 11 11:39:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: adds RUBY_REPLACE_TYPE(off_t) for creating
- NUM2OFFT.
- * file.c (rb_file_truncate): use correct type. chsize() take
- a long.
- * include/ruby/ruby.h (NUM2OFFT): use a definition created by
- a configure script by default.
+ * configure.in (ieeefp.h), numeric.c: needed for finite() on
+ Solaris. [ruby-core:01921]
-Sun May 12 16:03:41 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * file.c (rb_stat_inspect): adjust format specifier.
- * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,
- ftello64). They are not used from anywhere.
+ * parse.c (arg_prepend): nodetype() is for debug use.
- * win32/win32.c (fseeko): removes.
- * win32/win32.c (rb_w32_ftello): removes.
- * include/ruby/win32.h: removes declarations of rb_w32_ftello and
- rb_w32_fseeko.
- * win32/Makefile.sub: removes '#define HAVE_FTELLO 1'.
+ * ruby.h (ISASCII, etc): cast to int to get rid of warning.
-Sun May 12 15:51:47 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ruby.h (alloca.h): include even in GCC. [ruby-core:01925]
- * configure.in: remove AC_CHECK_FUNC(close). It is not used from
- anywhere.
+ * ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
+ specifier.
-Sun May 12 15:50:45 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
+ BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.
- * configure.in: adds comments for setjmp check.
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.
-Sun May 12 15:38:09 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
+ volatile.
- * configure.in: move clock_gettime() check into regular place.
+ * ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
+ format specifier.
-Wed May 8 13:45:53 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
+ define unless used.
- * configure.in: add getenv() declaration check.
- * dln_find.c: add HAVE_DECL_GETENV test.
+ * ext/pty/pty.c (getDevice): get rid of warning.
-Sun May 12 15:33:18 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/socket/socket.c (port_str, sock_s_getaddrinfo,
+ sock_s_getnameinfo): FIX2INT() now returns long.
- * configure.in: sorts AC_CHECK_FUNCS()s as alphabetical order.
+ * ext/socket/socket.c (init_inetsock_internal): uninitialized
+ variable.
-Wed May 8 13:41:57 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/syck/rubyext.c (syck_parser_assign_io): add prototype.
- * bignum.c: remove redundant decl for big_lshift() big_rshift().
+ * ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use
+ ISDIGIT() instead of isdigit() to avoid warnings and for
+ platforms which don't support non-ascii charater.
-Sun May 12 16:06:43 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Dec 10 19:28:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/rubysocket.h (rsock_inspect_sockaddr): as r40646
- check HAVE_TYPE_STRUCT_SOCKADDR_DL.
+ * ext/stringio/stringio.c (strio_read): set EOF flag at short read.
+ [ruby-dev:22223], [ruby-dev:22224]
-Sat May 11 23:01:58 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Dec 10 18:07:25 2003 Minero Aoki <aamine@loveruby.net>
- * ext/socket/rubysocket.h (HAVE_TYPE_STRUCT_SOCKADDR_DL):
- MSVC has struct sockaddr_dl, but its content is broken.
- http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130511T103938Z.log.html.gz
+ * lib/erb.rb: new method ERB#filename(=). [ruby-dev:22208]
-Sat May 11 22:07:42 2013 Tanaka Akira <akr@fsij.org>
+Wed Dec 10 17:54:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rinda/test_rinda.rb: Socket.getifaddrs may returns an interface
- which #addr method returns nil for venet0 in OpenVZ.
+ * ext/stringio/stringio.c (strio_read): do not set EOF flag when
+ requested length is zero. [ruby-dev:22214]
-Sat May 11 21:56:34 2013 Tanaka Akira <akr@fsij.org>
+Wed Dec 10 17:17:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/raddrinfo.c (rsock_inspect_sockaddr): Add casts to
- suppress warnings.
+ * io.c (read_all): should return given string even if data read is
+ empty. [ruby-dev:22207]
-Sat May 11 17:28:51 2013 Tanaka Akira <akr@fsij.org>
+Wed Dec 10 17:16:06 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket: New method, Socket.getifaddrs, implemented.
- [ruby-core:54777] [Feature #8368]
+ * ext/stringio/stringio.c (strio_read): adjust behavior at reading
+ beyond EOF to IO. [ruby-dev:22205]
-Sat May 11 00:47:22 2013 Tanaka Akira <akr@fsij.org>
+ * test/ruby/ut_eof.rb (TestEOF::Seek): test behaviors at reading
+ beyond EOF.
- * gc.h (SET_MACHINE_STACK_END): Add !defined(_ILP32) to a defining
- condition to avoid compilation error on x32.
- https://sites.google.com/site/x32abi/
+ * test/ruby/test_file.rb, test/stringio/test_stringio.rb: include
+ TestEOF::Seek test case.
-Fri May 10 23:56:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 10 15:01:19 2003 Shugo Maeda <shugo@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]
+ * test/monitor/test_monitor.rb (test_cond): use Queue#deq
+ instead of sleep.
-Fri May 10 20:22:40 2013 Tanaka Akira <akr@fsij.org>
+Wed Dec 10 14:45:39 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * configure.in: Move library checks into "Checks for libraries." part.
+ * ext/pty/pty.c (HAVE_SYS_IOCTL_H): need to include <sys/ioctl.h>
+ for TIOCSCTTY on *BSD. based on gotoyuzo's patch.
+ (ruby-bugs:PR#1211)
-Fri May 10 19:32:01 2013 Tanaka Akira <akr@fsij.org>
+ * ext/pty/pty.c (establishShell): should close descriptors if fork
+ failed.
- * configure.in: Reformat arguments of AC_CHECK_HEADERS and
- AC_CHECK_FUNCS to track modifications easily.
+Wed Dec 10 12:53:05 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri May 10 12:01:36 2013 Tanaka Akira <akr@fsij.org>
+ * win32/win32.h: define execv() using do_aspawn().
- * configure.in: Don't link librt if clock_gettime is available in
- the main C library.
- glibc 2.17 moves clock_* from librt to the main C library.
- http://sourceware.org/ml/libc-announce/2012/msg00001.html
+ * process.c (proc_exec_v): remove #ifdef's which stopped needing.
-Thu May 9 22:00:35 2013 Tanaka Akira <akr@fsij.org>
+Tue Dec 9 23:32:23 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/socket/ancdata.c (bsock_sendmsg_internal): controls_num should
- not be negative.
+ * ext/tk/lib/tk.rb, ext/tk/lib/tkcanvas.rb, ext/tk/lib/tkdialog.rb,
+ ext/tk/lib/tkentry.rb, ext/tk/lib/tkscrollbox.rb, ext/tk/lib/tktext.rb,
+ ext/tk/sample/tkalignbox.rb, ext/tk/sample/tkcombobox.rb,
+ ext/tk/sample/tkmultilistbox.rb, ext/tk/sample/tkoptdb.rb, ext/tk/sample/tktextframe.rb,
+ ext/tk/sample/demos-en/dialog1.rb, ext/tk/sample/demos-en/dialog2.rb,
+ ext/tk/sample/demos-jp/dialog1.rb, ext/tk/sample/demos-jp/dialog2.rb:
+ overrided instance methods, which are private methods on the super
+ class, are changed to 'private'
-Thu May 9 21:09:57 2013 Tanaka Akira <akr@fsij.org>
+Tue Dec 9 19:53:02 2003 akira yamada <akira@ruby-lang.org>
- * file.c, ext/etc/etc.c, ext/socket/unixsocket.c,
- ext/openssl/ossl.h, ext/openssl/openssl_missing.c: Use
- HAVE_AGGREGATE_MEMBER instead of HAVE_ST_MEMBER.
+ * lib/uri/generic.rb (URI::Generic#route_from0): make case insensitive
+ for host-part.
-Thu May 9 20:43:41 2013 Tanaka Akira <akr@fsij.org>
+ * test/uri/test_generic.rb (test_route): added tests for the above
+ change.
- * ext/socket/ancdata.c (bsock_sendmsg_internal): Always set
- controls_num to raise NotImplementedError appropriately.
- (bsock_recvmsg_internal): Raise NotImplementedError if
- :scm_rights=>true is given on platforms which don't have
- 4.4BSD style control message.
+Tue Dec 9 14:10:48 2003 Tanaka Akira <akr@m17n.org>
-Thu May 9 12:06:07 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_check_readable): don't call io_seek if EOF flag is set,
+ to avoid clearing EOF flag.
+ (rb_io_check_writable): ditto.
- * ext/socket/rubysocket.h, ext/socket/unixsocket.c,
- ext/socket/ancdata.c: Use HAVE_STRUCT_MSGHDR_MSG_CONTROL instead
- of HAVE_ST_MSG_CONTROL.
+Tue Dec 9 02:53:55 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu May 9 11:30:02 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/tk/sample/tkalignbox.rb: new sample script
- * string.c: Add call-seq alias for String#=== [Bug #8381]
+Tue Dec 9 00:45:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Thu May 9 11:14:18 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/test/unit/assertions.rb: renamed #assert_raises to #assert_raise
+ and made the former call the latter. [ruby-core:01890]
- * doc/contributing.rdoc: Add guide for contributing to CRuby
+ * test/testunit/test_assertions.rb: ditto.
-Thu May 9 04:55:49 2013 Tanaka Akira <akr@fsij.org>
+Tue Dec 9 00:07:35 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * configure.in: Check socket library again. shutdown() is used in
- io.c.
+ * lib/soap/rpc/standaloneServer.rb: add 'shutdown' and 'status'
+ methods as delegates to WEBrick.
-Thu May 9 01:52:31 2013 Tanaka Akira <akr@fsij.org>
+ * test/soap/calc/{test_calc.rb,test_calc2.rb},
+ test/soap/helloworld/test_helloworld.rb,
+ test/wsdl/datetime/test_datetime.rb, test/wsdl/raa/test_raa.rb:
+ follow the change.
- * configure.in: Don't check socketpair. socketpair is not used in
- ruby command itself.
+Mon Dec 8 22:48:03 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 9 01:05:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/autorunner.rb: remove dependency to a particular
+ runner. [ruby-core:01901], [ruby-list:38869]
- * class.c (rb_mod_included_modules): should not include non-modules.
- [ruby-core:53158] [Bug #8025]
+ * lib/test/unit/ui/testrunnerutilities.rb: moved output level
+ constants from Console.
-Wed May 8 22:46:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/ui/console/testrunner.rb: ditto.
- * class.c (rb_mod_included_modules): should not include the original
- module itself. [ruby-core:53158] [Bug #8025]
+ * lib/test/unit/ui/{fox,gtk,gtk2,tk}/testrunner.rb (initialize):
+ accept output_level.
-Wed May 8 17:43:55 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Mon Dec 8 15:03:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_ext_int_to_encs): ignore internal encoding if external
- encoding is ASCII-8BIT. [Bug #8342]
+ * ext/syck/syck.c (syck_io_str_read): get rid of buffer overflow.
-Wed May 8 13:49:38 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Mon Dec 8 13:02:11 2003 Minero Aoki <aamine@loveruby.net>
- * ext/json/generator/generator.c (isArrayOrObject): cast char to
- unsigned char. [Bug #8378]
+ * lib/uri/common.rb: new method URI.regexp. [ruby-dev:22121]
-Wed May 8 13:46:10 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/uri/test_common.rb: add test for URI.regexp.
- * ext/json/generator/depend: fix dependencies [Bug #8379]
+Mon Dec 8 12:44:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/json/parser/depend: ditto.
+ * pack.c: define swap16 and swap32 only if they are not
+ defined. OpenBSD defines these macros. [ruby-dev:22181]
-Wed May 8 13:07:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Dec 7 20:54:17 2003 Tanaka Akira <akr@m17n.org>
- * parse.y (parser_yylex): fail if $, @, @@ are not followed by a valid
- name character. [ruby-core:54846] [Bug #8375].
+ * ext/iconv/iconv.c (map_charset): make case sensitive.
+ ext/iconv/charset_alias.rb (charset_alias): don't ignore
+ config.charset's information. sort aliases.
-Wed May 8 13:06:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 6 22:58:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * include/ruby/ruby.h (ISGRAPH): add missing macro.
+ * ext/openssl/ossl_ssl.c (ossl_start_ssl): new function to wrap
+ SSL_connect and SSL_accept; if SSL_connect (or SSL_accept) returned
+ but not finished the handshake process, we should retry it.
-Wed May 8 06:42:56 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_connect): call ossl_start_ssl.
- * ext/socket/socket.c (socket_s_ip_address_list): fix wrongly filled
- sin6_scope_id on KAME introduced by r40593 for OpenIndiana.
- KAME uses fe80:<scope_id>::<interface id> for link-local address
- internally.
- Setting sin6_scope_id causes it leaked.
- see also comments of sockaddr_obj().
+ * ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto.
-Tue May 7 22:12:34 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read): allow signal traps.
- * ext/readline/readline.c (insert_ignore_escape): Add a cast to
- unsigned char * before dereference.
- This suppress a warning on Cygwin.
+Sat Dec 6 21:45:10 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue May 7 12:15:24 2013 Tanaka Akira <akr@fsij.org>
+ * io.c (flush_before_seek): flush before seek on any platform.
- * ext/socket/ancdata.c (bsock_recvmsg_internal): Add a cast to
- suppress warning.
- Bionic defines socklen_t as int.
- Bionic defines msg_controllen as unsigned int (__kernel_size_t)
- instead of socklen_t as POSIX.
+ * configure.in: ditto.
-Tue May 7 12:12:42 2013 Tanaka Akira <akr@fsij.org>
+Sat Dec 6 17:23:00 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/socket/ancdata.c (ancillary_inspect): Don't call
- anc_inspect_ipv6_pktinfo if !HAVE_TYPE_STRUCT_IN6_PKTINFO.
- anc_inspect_ipv6_pktinfo is not defined in the case.
+ * lib/soap/soap.rb(SOAP::Env.getenv): allow upcase environment variable
+ as well as downcase one.
-Tue May 7 12:10:52 2013 Tanaka Akira <akr@fsij.org>
+ * lib/soap/netHttpClient.rb(SOAP::NetHttpClient#proxy=): check URI.
- * ext/socket/socket.c (socket_s_ip_address_list): Cast EXTRA_SPACE as
- int. This suppress a warning.
+Fri Dec 5 23:22:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 7 12:09:29 2013 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises,
+ Test::Unit::Assertions::assert_nothing_raised): use the last
+ argument as message unless class object.
- * ext/socket/extconf.rb: Set close_fds false for Cygwin.
- Cygwin doesn't support fd passing.
- This enables socket extension library cross-compilable by default.
+ * test/testunit/test_assertions.rb (test_assert_raises): test for
+ multiple exception list. [ruby-core:01891]
-Tue May 7 12:07:35 2013 Tanaka Akira <akr@fsij.org>
+ * test/testunit/test_assertions.rb (test_assert_nothing_raised): test
+ for non-exception classes.
- * pack.c (swap32): Don't redefine it if it is already defined.
- Bionic defines it.
- (swap64): Ditto.
+Fri Dec 5 22:23:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Mon May 6 20:50:37 2013 Tanaka Akira <akr@fsij.org>
+ * lib/soap/netHttpClient.rb: proxy support did not work. fixed.
- * ext/socket/socket.c (socket_s_ip_address_list): Fill sin6_scope_id
- if getifaddrs() returns an IPv6 link local address which
- sin6_scope_id is zero, such as on OpenIndiana SunOS 5.11.
+ * lib/soap/property.rb: add class methods for loading property from
+ stream/file/propertyfile. propertyfile is a file which is located at
+ somedir in $:.
-Sun May 5 18:56:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/soap.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb,
+ lib/wsdl/importer.rb: load property from propertyfile 'soap/property'
+ e.g. /usr/local/lib/ruby/site_ruby/1.8/soap/property.
- * insns.def (defined): use vm_search_superclass() like as normal super
- call. based on a patch <https://gist.github.com/wanabe/5520026> by
- wanabe.
+ * test/soap/test_property.rb, test/soap/test_streamhandler.rb: new file.
- * vm_insnhelper.c (vm_search_superclass): return error but not raise
- exceptions.
+Fri Dec 5 17:26:23 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_insnhelper.c (vm_search_super_method): check the result of
- vm_search_superclass and raise exceptions on error.
+ * eval.c (rb_exec_end_proc): maintain tmp_end_procs.
+ [ruby-dev:22154]
-Sun May 5 16:29:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Dec 5 13:36:59 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * insns.def (defined): get method entry from the method top level
- frame, not block frame. [ruby-core:54769] [Bug #8367]
+ * eval.c (rb_exec_end_proc): should not clear end_procs and
+ ephemeral_end_procs before execution. [ruby-dev:22144]
-Sun May 5 13:28:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_obj_extend): call Module#extended hook after
+ extended_object. [ruby-list:38866]
- * template/ruby.pc.in (Cflags): use rubyarchhdrdir for multiarch.
- [Bug #7874]
+ * object.c (Init_Object): Module#extended defined.
-Sat May 4 07:20:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Fri Dec 5 13:17:30 2003 Tanaka Akira <akr@m17n.org>
- * doc/security.rdoc: Add note about reporting security vulns
+ * test/ruby/test_pipe.rb: use IO.pipe instead of IO.popen.
-Sat May 4 04:13:27 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Fri Dec 5 11:54:45 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): New for
- attribute((alloc_size(params))).
+ * ext/stringio/stringio.c (strio_read): follow IO#read.
- * include/ruby/defines.h (xmalloc, xmalloc2, xcalloc)
- (xrealloc, xrealloc2): Annotated by RUBY_ATTR_ALLOC_SIZE.
- * include/ruby/ruby.h (rb_alloc_tmp_buffer): ditto.
+ * test/ruby/ut_eof.rb, test/ruby/test_file.rb, test/ruby/test_pipe.rb,
+ test/stringio/test_stringio.rb: add EOF test.
-Fri May 3 19:32:13 2013 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
+Fri Dec 5 02:49:35 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/cgi/util.rb: All class methods modulized.
- We can use these methods like a function when "include CGI::Util".
- [Feature #8354]
+ * lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises):
+ allow multiple exception list. [ruby-core:01884]
-Fri May 3 14:09:45 2013 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_nothing_raised):
+ check whether arguments are subclass of Exception.
- * ext/socket/extconf.rb: Make default_ipv6 true for Cygwin.
- Cygwin supports IPv6 since Cygwin 1.7.1 (2009-12).
- http://cygwin.com/ml/cygwin-announce/2009-12/msg00027.html
+Thu Dec 4 23:54:00 2003 Rick Ohnemus <rick.ohnemus@systemware.com>
-Fri May 3 13:35:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dln.c (aix_loaderror): should not use member named 'errno' which
+ might be a macro (e.g. on AIX).
- * ext/socket/{getaddrinfo,getnameinfo}.c: define socklen_t if not
- defined, e.g., older VC.
+Thu Dec 4 23:32:26 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri May 3 13:29:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (read_all): do not depend on lseek position.
+ [ruby-dev:22026]
- * include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): also
- should be defined when defining intptr_t and uintptr_t.
- bigdecimal.c requires the former two now.
+Thu Dec 4 22:37:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri May 3 13:22:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_eval): preserve $! value when retry happens in the
+ rescue clause. [ruby-talk:86697]
- * win32/win32.c (poll_child_status): fix build error on older mingw.
+Thu Dec 4 21:50:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri May 3 00:15:58 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * lib/drb/drb.rb (DRb::DRbMessage::send_request, send_reply):
+ should rescue errors and re-raise DRbConnError on write too.
+ [ruby-dev:22132]
- * common.mk: remove timestamps in distclean-ext realclean-ext.
+Thu Dec 4 16:41:17 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 2 23:23:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (exc_list): allow expanding list. [ruby-dev:22134]
- * object.c (rb_obj_is_kind_of): skip prepending modules.
- [ruby-core:54742] [Bug #8357]
+Thu Dec 4 14:09:24 2003 Minero Aoki <aamine@loveruby.net>
- * object.c (rb_class_inherited_p): ditto.
- [ruby-core:54736] [Bug #8357]
+ * test/fileutils/test_fileutils.rb (test_cp): test if the error is
+ kind of SystemCallError. It is needless details that which errno
+ is set on each systems.
-Thu May 2 22:11:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 4 13:24:13 2003 Shugo Maeda <shugo@ruby-lang.org>
- * bin/irb: remove dead code from sample/irb.rb.
+ * lib/monitor.rb: use Object#__send__ instead of Object#send.
-Thu May 2 17:32:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 4 13:17:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * marshal.c (copy_ivar_i): get rid of overwriting already copied
- instance variables. c.f. [Bug #8276]
+ * lib/soap/streamHandler.rb: support latest released version of
+ http-access2.
-Thu May 2 16:55:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 4 13:04:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * thread.c (id_locals): use cached ID.
+ * lib/soap/soap.rb: add SOAP::Env module for environment repository
+ such as HTTP_PROXY.
- * vm.c (ruby_thread_init): ditto.
+ * lib/soap/property.rb: property implementation.
- * defs/id.def: add more predefined IDs used in core.
+ * lib/soap/streamHandler.rb, lib/soap/wsdlDriver.rb,
+ lib/soap/rpc/driver.rb: use soap/property.rb.
-Thu May 2 13:42:42 2013 Ryan Davis <ryand-ruby@zenspider.com>
+ * lib/wsdl/importer.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb:
+ use SOAP::Env.
- * lib/minitest/*: Imported minitest 4.7.4 (r8483)
- * test/minitest/*: ditto
+ * lib/soap/netHttpClient.rb: add basic_auth, ssl_config, and cookie
+ management interface, but ignored for now.
-Thu May 2 11:32:22 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/xsd/charset.rb: add XSD::Charset.encoding= interface to set
+ wiredump charset explicitly. it was fixed to 'utf-8' when iconv or
+ uconv module was found.
- * win32/win32.c (poll_child_status): [experimental] set the cause of
- a child's death to status if its exitcode seems to be an error.
+Thu Dec 4 10:43:58 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe now
- we can test it.
+ * ext/dl/sym.c (rb_dlsym_guardcall): __declspec(noinline) is VC7
+ feature.
- * test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt):
- ditto.
+Thu Dec 4 10:27:12 2003 Minero Aoki <aamine@loveruby.net>
-Thu May 2 11:24:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/net/http.rb: update hyperlink to the Japanese document.
- * lib/yaml.rb: nodoc EngineManager, add History doc #8344
+Thu Dec 4 09:12:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed May 1 21:11:17 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_asn1.c (asn1time_to_time): should check that
+ the underlying value of ASN1_TIME isn't NULL. [ruby-core:01881]
- * time.c (localtime_with_gmtoff_zone): musl libc may return NULL for
- tm_zone.
+Thu Dec 4 08:29:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed May 1 18:59:36 2013 Benoit Daloze <eregontp@gmail.com>
+ * lib/webrick/server.rb (GenericServer#start): should rescue
+ Exception to avoid unexpected aborting. [ruby-core:01853]
- * enum.c (Enumerable#chunk): fix grammar of error message
- for symbols beginning with an underscore [Bug #8351]
+ * lib/webrick/server.rb (GenericServer#start_thread): should check
+ that peeraddr isn't nil before printing.
-Wed May 1 16:47:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httpresponse.rb (HTTPResponse#start_thread): should
+ rescue Exception to avoid unexpected aborting of thread.
- * ext/curses/extconf.rb (curses_version): try once for each tests, a
- function or a variable. fallback to variable for old SVR4.
+Thu Dec 4 03:48:59 2003 Tanaka Akira <akr@m17n.org>
-Wed May 1 16:17:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/pathname.rb (Pathname#link, Pathname#symlink): obsoleted.
+ (Pathname#make_link, Pathname#make_symlink): new method.
- * ext/extmk.rb (extmake): extensions not to be installed should not
- make static libraries, but make dynamic libraries always.
+Thu Dec 4 01:45:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed May 1 12:20:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * io.c (argf_read): should not terminate on empty string; wait
+ until real EOF. [ruby-dev:21969]
- * lib/rake/version.rb: Fix RDoc warning with :include: [Bug #8347]
+ * io.c (argf_read): should adjust length to read, when length is
+ specified and read spans command line argument files.
-Wed May 1 11:40:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 3 19:38:36 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * defs/id.def (predefined): add "idProc".
+ * lib/drb/drb.rb: correct fcntl parameter. [ruby-dev:22120]
- * eval.c (frame_func_id): use predefined IDs.
+Wed Dec 3 13:49:07 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * proc.c (mnew, mproc, mlambda): use predefined IDs.
+ * ext/tk/lib/tk.rb: 'format'==>'Kernel.format' (avoid override trouble)
- * vm.c (rb_vm_control_frame_id_and_class): ditto.
+ * ext/tk/lib/tkafter.rb: ditto.
- * vm.c (Init_VM): ditto.
+ * ext/tk/lib/tkcanvas.rb: ditto.
-Tue Apr 30 23:18:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/tk/lib/tkdialog.rb: ditto.
- * lib/benchmark.rb: Update Benchmark results on newer CPU
+ * ext/tk/lib/tktext.rb: ditto.
-Tue Apr 30 12:31:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 3 13:28:13 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * proc.c (mproc, mlambda): use frozen core methods instead of plain
- global methods, so that methods cannot be overridden.
- [ruby-core:54687] [Bug #8345]
+ * Makefile.in (lex.c): try gperf first, and copy from the source
+ directory if failed. [ruby-dev:22123]
- * vm.c (Init_VM): define proc and lambda on the frozen core object.
+ * ext/extmk.rb (MTIMES): let makefiles depend to mkmf.rb.
- * include/ruby/intern.h (rb_block_lambda): add declaration instead of
- deprecated rb_f_lambda.
+ * lib/mkmf.rb (configuration): DLDFLAGS was duplicated.
-Mon Apr 29 17:02:30 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Dec 2 23:18:12 2003 Minero Aoki <aamine@loveruby.net>
- * ext/nkf/nkf-utf8/nkf.h: Bionic libc doesn't have locale.
- [Feature #8338]
+ * lib/net/http.rb: wrote the warning about HTTP_PROXY environment
+ variable.
+Tue Dec 2 21:31:42 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Apr 29 06:58:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bin/testrb: new test runner. [ruby-core:01845]
- * ext/openssl/ossl_bn.c (ossl_bn_initialize): no need of alloca for
- small fixed size array.
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner.run,
+ Test::Unit::AutoRunner#process_args): take test list to run and
+ options.
- * ext/openssl/ossl_bn.c (ossl_bn_initialize): check overflow first,
- and use alloca for small size input.
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::RUNNERS,
+ Test::Unit::AutoRunner#run): should not exit inside a library,
+ just return the result instead.
-Mon Apr 29 00:40:13 2013 Benoit Daloze <eregontp@gmail.com>
+ * lib/test/unit.rb: ditto.
- * lib/yaml.rb: Clarify documentation about YAML being always Psych.
- Give a tip about using Syck. See #8344.
+ * test/runner.rb: exit with the test result.
-Sun Apr 28 23:34:01 2013 Benoit Daloze <eregontp@gmail.com>
+Tue Dec 2 20:18:48 2003 Eric Sunshine <sunshine@sunshineco.com>
- * lib/yaml.rb: Use another trick to define the YAML module.
- https://twitter.com/n0kada/status/328342207511801856
+ * configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
+ instead of Bison or byacc.
-Sun Apr 28 23:19:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least
+ 10000 (Bison's default) since some old versions of Yacc define it as
+ low as 150 by default, which is too low for Ruby to parse some files,
+ such as date/format.rb. Among other issues, the parse problem causes
+ "make test" to fail.
- * lib/pp.rb: Update PP module overview by @geopet
+Tue Dec 2 20:03:20 2003 Minero Aoki <aamine@loveruby.net>
-Sun Apr 28 22:04:37 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * test/fileutils/test_fileutils.rb: check if Pathnames are usable
+ for arguments.
- * ext/openssl/ossl_bn.c (ossl_bn_initialize): fix buffer overflow on
- x64 Windows and memory leak when initializing with integer.
- [ruby-core:54615] [Bug #8337]
+Tue Dec 2 04:22:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Sun Apr 28 12:38:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/assertions.rb: fixed #assert_no_match message.
- * README.EXT: correct method name to be used. [Bug #7982]
+ * test/testunit/test_assertions.rb: ditto.
- * README.EXT.ja: add notes too.
+Tue Dec 2 00:43:00 2003 why the lucky stiff <why@ruby-lang.org>
-Sun Apr 28 10:35:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/syck/syck.c: string buffering bug. decrementing by full
+ max_size now. [ruby-core:01834]
- * object.c: With feedback from Steve Klabnik, reverted a change to
- #untrusted? and #tainted?. Also adjusted grammar for $SAFE levels
+Mon Dec 1 21:33:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Apr 28 10:10:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * numeric.c (num_sadded): prohibit singleton method definition for
+ Numerics. fill yet another gap between Fixnum and Bignum.
- * lib/yaml.rb: Disable setting YAML const twice [ruby-core:54642]
+Mon Dec 1 17:33:47 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Apr 28 09:50:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * pack.c (htov16): converts endian using swap16. htov32(), hton16,
+ hton32 as well. [ruby-talk:85377]
- * object.c: Documentation for taint and trust [Bug #8162]
+ * pack.c (swap16): swap 2 bytes no matter how big short is on the
+ platform. swap32() is also prepared.
-Sun Apr 28 09:40:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * numeric.c (rb_num2int): returns long to preserve information.
+ rb_fix2int(), rb_num2uint(), rb_fix2uint() as well.
+ [ruby-talk:85377]
- * README.EXT: Copy note from r40505 for rb_sprintf() [Bug #7982]
+ * numeric.c (rb_num2uint): should not check for value range if the
+ source value is negative.
-Sun Apr 28 08:28:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Mon Dec 1 17:14:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/curses/curses.c: Update Curses::Window example for nicer output
- Patch by Michal Suchanek [Bug #8121] [ruby-core:53520]
+ * sample/optparse/opttest.rb: added.
-Sun Apr 28 08:10:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Mon Dec 1 16:10:52 2003 Dave Thomas <dave@pragprog.com>
- * README.EXT: Update note from r40504, by Jeremy Evans [Bug #7982]
+ * lib/rdoc/rdoc.rb: (etc) initial merge into main tree.
-Sun Apr 28 08:02:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Mon Dec 1 14:17:49 2003 Minero Aoki <aamine@loveruby.net>
- * README.EXT: Add note to warn use of %i in Exceptions [Bug #7982]
+ * lib/fileutils.rb (fu_each_src_dest0): call #to_str to allow
+ Pathname for arguments. [ruby-core:01795]
-Sun Apr 28 02:41:05 2013 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_fileutils.rb: does much strict test on
+ "same" files detecting.
- * configure.in: Fix a typo. Should check endgrent() instead of
- endgrnam().
+Mon Dec 1 09:28:14 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Apr 28 00:35:45 2013 Tanaka Akira <akr@fsij.org>
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (XCFLAGS): re-export $(XCFLAGS).
- * process.c (obj2gid): Don't call endgrent() if not exist.
- Bionic (Android's libc) don't have endgrent().
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (ARCH_FLAG): export $(ARCH_FLAG) (perhaps empty value).
- * configure.in: Check endgrnam function.
+Mon Dec 1 01:03:27 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Apr 27 23:53:00 2013 Charlie Somerville <charlie@charliesomerville.com>
+ * lib/mkmf.rb (TRY_LINK, link_command): added support for DLDFLAGS
+ and ARCH_FLAG. [ruby-dev:22085]
- * lib/yaml.rb: add security warning to YAML documentation
+Sun Nov 30 20:18:07 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Apr 27 23:25:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * configure.in: keep ARCH_FLAG separate. export ARCH_FLAG.
+ [ruby-core:01819]
- * lib/yaml.rb: Documentation for YAML module [Bug #8213]
+ * Makefile.in: add ARCH_FLAG to CFLAGS.
-Sat Apr 27 20:19:21 2013 Tanaka Akira <akr@fsij.org>
+ * Makefile.in: add @CPPFLAGS@ to CPPFLAGS.
- * thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
- This fixes a compilation failure while cross-compiling for Tensilica
- Xtensa Processor.
+ * lib/mkmf.rb (link_command, cc_command): use ARCH_FLAG.
-Sat Apr 27 19:32:44 2013 Benoit Daloze <eregontp@gmail.com>
+ * lib/mkmf.rb (configuration): add ARCH_FLAG to DLDFLAGS.
- * thread.c: fix typos and documentation
+ * Makefile.in: add ARCH_FLAG to DLDFLAGS.
-Sat Apr 27 19:04:55 2013 Tanaka Akira <akr@fsij.org>
+ * configure.in: should put getcwd in AC_CHECK_FUNCS, not
+ AC_REPLACE_FUNCS. [ruby-core:01826]
- * sparc.c: Use __asm__ instead of asm for gcc.
- gcc doesn't provide asm keyword if -ansi option is given.
- http://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html
+Sun Nov 30 18:22:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Apr 27 17:22:50 2013 Tanaka Akira <akr@fsij.org>
+ * configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS,
+ DLDFLAGS and LDSHARED.
- * ext/socket/extconf.rb: Redundant test removed.
+ * configure.in: XCFLAGS for compiling ruby itself. ARCH_FLAG is
+ reflected in CFLAGS.
-Sat Apr 27 16:00:10 2013 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb: ditto. do not import XCFLAGS from config.status.
- * ext/socket/extconf.rb (test_recvmsg_with_msg_peek_creates_fds):
- Extracted.
+Sun Nov 30 17:37:36 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Apr 27 15:50:40 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: bug fix [ruby-talk:86746]
- * internal.h (SIGNED_INTEGER_TYPE_P): New macro.
- (SIGNED_INTEGER_MAX): Ditto.
- (SIGNED_INTEGER_MIN): Ditto.
- (UNSIGNED_INTEGER_MAX): Ditto.
- (TIMET_MAX): Use SIGNED_INTEGER_MAX and UNSIGNED_INTEGER_MAX.
- (TIMET_MIN): Use SIGNED_INTEGER_MIN.
+Sun Nov 30 13:02:00 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * thread.c (TIMEVAL_SEC_MAX): Use SIGNED_INTEGER_MAX.
- (TIMEVAL_SEC_MIN): Use SIGNED_INTEGER_MIN.
+ * lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying
+ Conditional Expressions.
-Sat Apr 27 10:52:52 2013 Tanaka Akira <akr@fsij.org>
+ * lib/wsdl/soap/definitions.rb: refactoring - Move Method.
- * thread.c (TIMEVAL_SEC_MAX, TIMEVAL_SEC_MIN): Consider environments,
- sizeof(time_t) is smaller than sizeof(tv_sec), such as
- OpenBSD 5.2 (amd64).
+ * test/xsd/{test_noencoding.rb,noencoding.xml}: new files. test for
+ encoding unspecified XML file parsing.
-Fri Apr 26 23:34:59 2013 Kouhei Sutou <kou@cozmixng.org>
+ * test/wsdl/{test_fault.rb,map,datetime}: new files. test of
+ SOAPFault, dateTime and Apache's Map.
- * lib/rexml/text.rb (REXML::Text.normalize): Fix a bug that all
- entity filters are ignored. [ruby-dev:47278] [Bug #8302]
- Patch by Ippei Obayashi. Thanks!!!
- * test/rexml/test_entity.rb (EntityTester#test_entity_filter): Add
- a test of the above change.
+Sun Nov 30 09:35:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Apr 26 22:53:55 2013 Kouhei Sutou <kou@cozmixng.org>
+ * string.c (rb_str_update): get rid of SEGV at just allocated String.
+ [ruby-core:01812]
- * lib/rexml/element.rb (REXML::Attributes#to_a): Support
- namespaced attributes. [ruby-dev:47277] [Bug #8301]
- Patch by Ippei Obayashi. Thanks!!!
- * test/rexml/test_attributes.rb
- (AttributesTester#test_to_a_with_namespaces): Add a test of the
- above change.
+Fri Nov 28 23:19:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Apr 26 21:48:29 2013 Kouhei Sutou <kou@cozmixng.org>
+ * gc.c (gc_mark): explicitly check mark recursion levels, instead
+ of unreliable stack length.
- * lib/rss/atom.rb (RSS::Atom::Entry): Fix indent of document comment.
+Fri Nov 28 22:49:56 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Apr 26 21:21:17 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/rinda/rinda.rb: fix TupleSpaceProxy#read, read_all.
- * lib/rss/maker.rb (RSS::Maker): Fix indent of document comment.
+Fri Nov 28 21:44:40 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Apr 26 18:41:04 2013 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_fileutils.rb (test_ln_s): should be a file, not
+ a directory for FreeBSD.
- * ext/socket/extconf.rb: Use a block of enable_config() for
- --{enable,disable}-close-fds-by-recvmsg-with-peek configure option
+Fri Nov 28 19:37:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Apr 26 18:08:08 2013 Tanaka Akira <akr@fsij.org>
+ * hash.c (env_has_value, env_index): must match exactly.
- * dir.c (dir_set_pos): Fix a compilation error when seekdir() is not
- exist.
+ * test/ruby/test_env.rb (test_has_value, test_index): condition for
+ aboves.
-Fri Apr 26 17:41:17 2013 Tanaka Akira <akr@fsij.org>
+Fri Nov 28 17:59:20 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
- This fixes a compilation failure while cross-compiling for ARM.
+ * test/ruby/test_env.rb: add tests for ENV.
-Fri Apr 26 14:35:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Fri Nov 28 17:47:46 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * lib/rss/atom.rb: Documentation for RSS::Atom based on a patch by
- Michael Denomy
- * lib/rss/maker.rb: Documentation for RSS::Maker also by @mdenomy
+ * lib/drb/drb.rb (DRbMessage#load): rescue Errno::* and raise
+ DRbConnError.
-Fri Apr 26 12:41:22 2013 Tanaka Akira <akr@fsij.org>
+Fri Nov 28 15:41:15 2003 Tanaka Akira <akr@m17n.org>
- * ext/curses/extconf.rb: Test linkability of curses_version at first.
+ * lib/pathname.rb (Pathname#realpath): obsolete the force_absolute
+ argument.
- * ext/socket/extconf.rb: Test the behavior of fd passing with MSG_PEEK
- only if recvmsg(), msg_control member, AF_UNIX and SCM_RIGHTS are
- available.
+Fri Nov 28 14:41:52 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Apr 26 00:07:52 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * lib/soap/streamHandler.rb: drop unused http parameters.
- * lib/rinda/ring.rb (Rinda::RingServer#initialize): accept array
- arguments of address to specify multicast interface.
+ * lib/soap/encodingstyle/soapHandler.rb, lib/soap/mapping/factory.rb,
+ lib/soap/mapping/mapping.rb, lib/soap/mapping/registry.rb,
+ lib/wsdl/soap/complexType.rb: ApacheSOAP's map support was broken
+ under WSDL dynanic client environment. fixed.
- * lib/rinda/ring.rb (Rinda::RingServer#make_socket): add optional
- arguments for multicast interface.
+ * test/wsdl/raa/*: add tests.
- * test/rinda/test_rinda.rb
- (TestRingFinger#test_ring_server_ipv4_multicast,
- TestRingFinger#test_ring_server_ipv6_multicast): add tests for
- above change.
+ * lib/xsd/datatypes.rb: dateTime precision bug fix (at least, I hope.)
+ bug of soap4r. XSDDateTimeImple.to_time passed a Float to
+ Time.local/Time.gm as an usec, and NUM2LONG(rb_num2long for Float)
+ causes rounding error.
- * test/rinda/test_rinda.rb
- (TestRingServer#test_make_socket_ipv4_multicast,
- TestRingServer#test_make_socket_ipv6_multicast): change bound
- interface address because multicast address is not allowed on Linux
- or Windows.
- [ruby-core:53692] [Bug #8159]
+ * test/soap/test_basetype.rb, test/xsd/test_xsd.rb: add tests.
-Thu Apr 25 23:45:02 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+Fri Nov 28 04:15:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rinda/ring.rb (Rinda::RingServer#initialize): add a socket
- to @sockets in make_socket() to close sockets on shutdown even if
- make_socket() is called after initialize.
+ * eval.c (method_arity): used wrong Proc object. [ruby-talk:86504]
- * lib/rinda/ring.rb (Rinda::RingServer#make_socket): ditto.
+Fri Nov 28 00:47:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Apr 25 23:39:42 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * eval.c (rb_f_exit), process.c (rb_f_exit_bang): treat true as
+ success, false as failure. [ruby-dev:22067]
- * test/rinda/test_rinda.rb (TupleSpaceProxyTest#test_take_bug_8215):
- use KILL on Windows since TERM doen't work and ruby process remains
- after test-all on Windows.
+ * eval.c (rb_f_abort, rb_thread_switch), process.c (rb_f_system): use
+ ANSI macro instead of hard coded value.
-Thu Apr 25 23:16:28 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_f_exit), process.c (rb_f_exit_bang): use VALUEs not but
+ TYPEs.
- * ext/curses/extconf.rb: Implement
- --with-curses-version={function,variable} configure option for
- cross-compiling.
+Thu Nov 27 22:05:48 2003 Akinori MUSHA <knu@iDaemons.org>
-Thu Apr 25 18:15:46 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c, gc.c: FreeBSD/ia64 currently does not have a way for a
+ process to get the base address for the RSE backing store, so
+ hardcode it for the moment.
+ [submitted by: Marcel Moolenaar <marcel@FreeBSD.org>]
- * ext/socket/extconf.rb: Don't use WIDE getaddrinfo by default.
+Thu Nov 27 17:36:42 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Apr 25 17:56:39 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tkafter.rb: bug fix on TkTimer#cancel_on_exception=(mode).
+ TkTimer#wait recieves the exception of the callback.
+ The exception is kept on @return_value.
- * ext/socket/extconf.rb: Remove obsolete options: ---with-ipv6-lib and
- --with-ipv6-libdir.
+Thu Nov 27 16:58:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Apr 25 17:43:49 2013 Tanaka Akira <akr@fsij.org>
+ * win32/win32.c (rb_w32_stat): remove _fullpath() for NUL: device.
- * ext/socket/extconf.rb: Implement
- --{enable,disable}-close-fds-by-recvmsg-with-peek configure option
- for cross-compiling.
- Make --{enable,disable}-wide-getaddrinfo configure option
- cross-compiling friendly.
+Wed Nov 26 15:38:47 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Apr 25 16:11:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb (test_ln_s): should take the
+ existing symbolic link for OpenBSD.
- * io.c (rb_io_ext_int_to_encs, parse_mode_enc): bom-prefixed name is
- not a real encoding name, just a fallback. so the proper conversion
- should take place even if if the internal encoding is equal to the
- bom-prefixed name, unless actual encoding is equal to the internal
- encoding. [ruby-core:54563] [Bug #8323]
+Wed Nov 26 04:48:42 2003 why the lucky stiff <why@ruby-lang.org>
- * io.c (io_set_encoding_by_bom): reset extenal encoding if no BOM
- found. [ruby-core:54569]
+ * ext/syck/token.c: removed YYTOKTMP references which
+ were causing buffer overflows on large block scalars,
+ comments, quoted scalars and plain scalars.
-Thu Apr 25 14:35:01 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/syck/rubyext.c: dynamic changing of buffer size.
- * ext/openssl/ossl_bn.c (ossl_bn_initialize): allow Fixnum and Bignum.
- [ruby-core:53986] [Feature #8217]
+ * ext/syck/syck.h: default buffer size of 4k.
-Thu Apr 25 14:26:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Nov 26 00:55:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/uri/common.rb (URI.decode_www_form): follow current URL Standard.
- It gets encoding argument to specify the character encoding.
- It now allows loose percent encoded strings, but denies ;-separator.
- [ruby-core:53475] [Bug #8103]
+ * lib/webrick/httpresponse.rb: add HTTPResponse#keep_alive=.
- * lib/uri/common.rb (URI.decode_www_form): follow current URL Standard.
- It gets encoding argument to convert before percent encode.
- Now UTF-16 strings aren't converted to UTF-8 before percent encode
- by default.
+ * lib/webrick/httpserver.rb (HTTPServer#run): should pass the
+ request's keep_alive flag to the response.
-Wed Apr 25 14:26:00 2013 Charlie Somerville <charlie@charliesomerville.com>
+Tue Nov 25 21:41:35 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * benchmark/bm_hash_shift.rb: add benchmark for Hash#shift
+ * defines.h (ENV_IGNORECASE): should define when DOSISH without
+ human68k. [ruby-dev:22047]
- * hash.c (rb_hash_shift): use st_shift if hash is not being iterated to
- delete element without iterating the whole hash.
+ * hash.c (env_has_value, env_index): don't ignore case of value.
+ [ruby-dev:22048]
- * hash.c (shift_i): remove function
+Tue Nov 25 21:39:37 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * include/ruby/st.h (st_shift): add st_shift function
+ * file.c (path_check_1): honor sticky bits always.
+ [ruby-talk:86273]
- * st.c (st_shift): ditto
+Tue Nov 25 20:02:14 2003 Minero Aoki <aamine@loveruby.net>
- [Bug #8312] [ruby-core:54524] Patch by funny-falcon
+ * test/fileutils/test_fileutils.rb: do test in more deep
+ directory.
-Thu Apr 25 12:03:38 2013 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_nowrite.rb: ditto.
- * ext/socket/extconf.rb: Extract C programs as toplevel constants.
+Tue Nov 25 19:04:23 2003 Tanaka Akira <akr@m17n.org>
-Thu Apr 25 02:23:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/open-uri.rb (URI::Generic#find_proxy): ENV case sensitivity test
+ refined.
- * configure.in (RUBY_RM_RECURSIVE): this hack is needed by only
- autoconf 2.69 or earlier on darwin.
+Tue Nov 25 18:13:30 2003 Minero Aoki <aamine@loveruby.net>
-Thu Apr 25 01:22:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb: chdir Dir.tmpdir before each
+ test. [ruby-dev:22045]
- * lib/tracer.rb (get_line): simply read by File.readlines.
+ * test/fileutils/test_nowrite.rb: ditto.
- * lib/debug.rb (script_lines): get source lines from SCRIPT_LINES__ or
- read from the file.
+Tue Nov 25 17:52:11 2003 Tanaka Akira <akr@m17n.org>
- * lib/debug.rb (display_list): use script_lines instead of recursion.
- [Bug #8318]
+ * lib/open-uri.rb (URI::Generic#find_proxy): use http_proxy under CGI
+ if the environment variable is case sensitive.
- * lib/debug.rb (line_at): use script_lines same as display_list.
+Tue Nov 25 16:41:33 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/debug.rb (display_list): Fix debug listing when called from the
- same file it has been required. patch by Dario Bertini <berdario AT
- gmail.com> [Bug #8318] [fix GH-280]
+ * test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb:
+ removed. this test requires extra libraries in soap4r/1.5.*.
-Wed Apr 24 21:51:13 2013 Tanaka Akira <akr@fsij.org>
+Tue Nov 25 16:24:42 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * configure.in: Check mblen().
- mblen() is optional in uClibc.
+ * lib/soap/**/*.rb, lib/wsdl/**/*.rb, lib/xsd/**/*.rb: changed license;
+ GPL2 -> Ruby's.
- * eval_intern.h (CharNext): Don't use mblen() is not available.
+ * lib/soap/rpc/driver.rb, lib/soap/wsdlDriver.rb,
+ lib/soap/streamHandler.rb: add interface to streamhandler.
-Wed Apr 24 15:55:06 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/soap/marshal.rb: raise error if parse fails.
- * io.c (rb_fd_fix_cloexec): use rb_update_max_fd().
+ * lib/soap/netHttpClient.rb: add https support. Patched by
+ Oliver M. Bolzer.
-Wed Apr 24 14:08:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/soap/netHttpClient.rb: dump HTTP response message body by itself.
- * numeric.c: Fix wiki link on Float imprecision in overview, patched
- by Makoto Kishimoto [Bug #8304] [ruby-dev:47280]
+ * lib/soap/rpc/driver.rb, lib/soap/rpc/proxy.rb,
+ lib/soap/wsdlDriver.rb: add driver#mandatorycharset interface to foce
+ using charset for parsing response from buggy server.
-Wed Apr 24 14:03:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/encodingstyle/soapHandler.rb: support Apache Axis's half
+ typed multi-ref array.
- * parse.y (parser_yylex): disallow $- without following identifier
- character. [ruby-talk:406969]
+ * lib/soap/mapping/factory.rb, lib/soap/mapping/registry.rb: map
+ SOAPStruct which has multi-accessors which name are the same, to an
+ array.
- * parse.y (is_special_global_name): mere $- is not a valid global
- variable name.
+ * lib/soap/rpc/element.rb: fixed illegal parameter order.
-Wed Apr 24 13:54:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/soap/rpc/element.rb: element name of response message could have
+ the name other than 'return'.
- * string.c: Document String#setbyte return value by @gjmurakami-10gen
- [Fixes GH-294]
+ * lib/wsdl/operation.rb, lib/wsdl/operationBinding.rb,
+ lib/wsdl/soap/classDefCreator.rb, lib/wsdl/soap/methodDefCreator.rb,
+ lib/wsdl/soap/methodDefCreatorSupport.rb: WSDL/1.1 allows plural
+ fault definition in a operation. [ruby-talk:84948]
-Wed Apr 24 13:45:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb: add
+ test for above fix.
- * class.c: Example of Object#methods by @windwiny [Fixes GH-293]
- * ruby.c: Document return values of Kernel #sub, #gsub, and #chop
+ * lib/wsdl/soap/complexType.rb: support WSDL array definition with
+ maxOccures="unbound".
-Wed Apr 24 12:54:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/xsd/charset.rb: use cp932 under emx. Patched by
+ Siena. / SHINAGAWA, Norihide in [ruby-dev:21972]
- * ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292]
+ * lib/xsd/xmlparser/parser.rb: set @charset nil by default. Nil means
+ 'follow encoding declaration in XML'.
+ * sample/soap/digraph.rb, sample/wsdl/amazon/wsdlDriver.rb,
+ sample/wsdl/googleSearch/sampleClient.rb,
+ sample/wsdl/googleSearch/wsdlDriver.rb,
+ test/wsdl/test_emptycomplextype.rb,
+ test/wsdl/marshal/test_wsdlmarshal.rb,
+ test/xsd/test_xmlschemaparser.rb: use File.open(...) { |f| f.read }
+ instead of File.open(...).read. [ruby-dev:21964]
-Wed Apr 24 12:54:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * test/wsdl/emptycomplextype.wsdl, test/wsdl/test_emptycomplextype.rb:
+ simplify the test case.
- * ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292]
+ * test/wsdl/axisArray/*: add tests for axis's array encoding.
-Wed Apr 24 12:27:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Nov 25 16:15:29 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * array.c: Fix documentation for Array#index and #replace aliases
- Based on a patch by @phiggins [Fixes GH-282]
+ * ruby.h: don't treat Cygwin as Windows.
-Tue Apr 23 21:14:38 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Nov 25 15:18:28 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * string.c (rb_str_inspect): refix r40413, on Ruby 1.9 usual character
- escape uses hex/Unicode escapes, so fix to use Unicode escape on
- Unicode strings and hex on others. [ruby-core:54458] [Bug #8290]
+ * configure.in: change default value of --enable-pthread (default: no)
-Tue Apr 23 20:10:02 2013 Tanaka Akira <akr@fsij.org>
+Tue Nov 25 07:31:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * missing/isnan.c (isnan): Don't define if isnan() macro is defined.
- This fixes a compilation failure on uClibc based Gentoo system.
+ * parse.y (primary): allow newlines just before right argument
+ parenthesis. (ruby-bugs:PR#1221)
-Tue Apr 23 17:40:40 2013 Martin Duerst <duerst@it.aoyama.ac.jp>
+Mon Nov 24 23:32:06 2003 Tanaka Akira <akr@m17n.org>
- * lib/rexml/document.rb, lib/rexml/element.rb,
- lib/rexml/formatters/pretty.rb: remove opinionated
- language in documentation. [Bug #8309],
- reported by Charles Beckmann
+ * lib/open-uri.rb (OpenURI.open_loop, URI::HTTP#proxy_open): use
+ catch/throw for redirection instead of exception.
+ (OpenURI.open_loop, OpenURI.redirectable?): restrict redirection.
-Tue Apr 23 14:04:44 2013 Shugo Maeda <shugo@ruby-lang.org>
+Mon Nov 24 19:59:48 2003 Tanaka Akira <akr@m17n.org>
- * lib/net/imap.rb (getacl_response): parse the mailbox of an ACL
- response correctly. [ruby-core:54365] [Bug #8281]
+ * lib/open-uri.rb (URI::Generic#find_proxy): use CGI_HTTP_PROXY
+ instead of HTTP_PROXY in the CGI environment.
-Tue Apr 23 11:58:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Nov 24 19:32:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * string.c (rb_str_scrub): fix for UTF-32. strlen() on strings
- contain NUL returns wrong result, use sizeof operator instead.
- [ruby-dev:45975] [Feature #6752]
+ * ext/etc/extconf.rb: check for pw_passwd in struct passwd and
+ gr_passwd in struct group for DJGPP.
-Tue Apr 23 10:26:50 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/etc/etc.c: ditto.
- * test/ruby/test_module.rb
- (TestModule#test_const_get_invalid_name)
- (test_const_defined_invalid_name): Fix expected values.
+ * ext/Setup.dj: support for curses, etc, zlib.
-Tue Apr 23 09:51:26 2013 Akinori MUSHA <knu@iDaemons.org>
+Mon Nov 24 17:00:00 2003 Tanaka Akira <akr@m17n.org>
- * string.c (rb_str_inspect): NUL should not be represented as "\0"
- when octal digits may follow. [ruby-core:54458] [Bug #8290]
+ * lib/open-uri.rb: validate option names.
+ :content_length_proc and :progress_proc option implemented.
-Mon Apr 22 22:54:00 2013 Charlie Somerville <charlie@charliesomerville.com>
+Mon Nov 24 14:53:10 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * insns.def (opt_mod): Use % operator if both operands are positive for
- a significant performance improvement. Thanks to @samsaffron.
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (XCFLAGS): output empty value instead of `-DRUBY_EXPORT'.
-Mon Apr 22 17:09:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Nov 22 23:09:45 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * marshal.c (r_object0): copy all instance variables not only generic
- ivars, before calling post proc. [ruby-core:51163] [Bug #7627]
+ * configure.in: set enable_pthread to no on MinGW.
-Mon Apr 22 10:25:21 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Nov 22 22:56:20 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * util.c (ruby_hdtoa): revert r29729.
- If you want ruby to behave as before on x86, specify to use SSE like
- -msse2 -mfpmath=sse for gcc.
+ * configure.in: add --enable-pthread option (default: yes)
-Sun Apr 21 23:19:00 2013 Charlie Somerville <charlie@charliesomerville.com>
+Sat Nov 22 22:48:46 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * configure.in: Revert using sigsetjmp by default due to performance
- problems on some systems (eg. older Linux)
+ * ext/tk/lib/tk.rb: add Tk.grab_release and fix bug of TkComposite
-Sun Apr 21 21:35:00 2013 Charlie Somerville <charlie@charliesomerville.com>
+ * ext/tk/lib/tkafter.rb: bug fix of TkAfter#start
- * configure.in: Use sigsetjmp by default so jumping out of signal
- handlers properly restores the signal mask and SS_ONSTACK flag.
- [ruby-core:54175] [Bug #8254]
+ * ext/tk/sample/tkcombobox.rb: new sample script
- * configure.in: Manually check for presence of sigsetjmp. It is not a
- function on some systems, so AC_CHECK_FUNCS cannot be used.
+ * ext/tcltklib/tcltklib.c: add native thread check
-Sun Apr 21 08:00:55 2013 Tanaka Akira <akr@fsij.org>
+Sat Nov 22 18:49:47 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/csv/test_features.rb, test/logger/test_logger.rb
- test/mkmf/test_have_macro.rb, test/net/http/test_http.rb,
- test/openssl/test_config.rb, test/psych/test_encoding.rb,
- test/psych/test_exception.rb, test/psych/test_psych.rb,
- test/psych/test_tainted.rb, test/readline/test_readline.rb,
- test/rexml/test_contrib.rb, test/ruby/test_autoload.rb,
- test/ruby/test_beginendblock.rb, test/ruby/test_exception.rb,
- test/ruby/test_file.rb, test/ruby/test_io.rb,
- test/ruby/test_marshal.rb, test/ruby/test_process.rb,
- test/ruby/test_require.rb, test/ruby/test_rubyoptions.rb,
- test/syslog/test_syslog_logger.rb, test/webrick/test_httpauth.rb,
- test/zlib/test_zlib.rb: Use Tempfile.create.
+ * ext/curses/curses.c (window_nodelay): nodelay() of NetBSD's
+ libcruses returns no value, just like keypad().
-Sun Apr 21 00:15:36 2013 Tanaka Akira <akr@fsij.org>
+Sat Nov 22 17:36:36 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/tempfile.rb (Tempfile.create): Close when the block exits.
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (HAVE_GETCWD): output to config.h.
-Sat Apr 20 23:38:14 2013 Tanaka Akira <akr@fsij.org>
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (XCFLAGS): output to config.status.
- * lib/webrick/httpauth/htpasswd.rb: Use Tempfile.create to avoid
- unintentional unlink() by the finalizer.
- lib/webrick/httpauth/htdigest.rb: Ditto.
+Sat Nov 22 13:10:10 2003 Minero Aoki <aamine@loveruby.net>
-Sat Apr 20 22:47:48 2013 Tanaka Akira <akr@fsij.org>
+ * lib/fileutils.rb (have_st_ino?): djgpp has valid st_ino.
- * lib/tempfile.rb (Tempfile.create): New method.
- The method name is proposed by Shugo Maeda. [ruby-dev:47220]
- [ruby-core:41478] [Feature #5707]
+Sat Nov 22 11:28:48 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Apr 20 14:22:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (Init_stack): stack region is far smaller than usual if
+ pthread is used.
- * marshal.c (w_object): dump no ivars to the original by marshal_dump.
- [ruby-core:54334] [Bug #8276]
+Sat Nov 22 07:30:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * marshal.c (r_object0): copy all ivars of marshal_dump data to the
- result object instead. [ruby-core:51163] [Bug #7627]
+ * lib/test/unit/util/backtracefilter.rb: fixed a bug that occurred
+ when an exception had no backtrace.
-Sat Apr 20 02:33:27 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/testunit/util/test_backtracefilter.rb: ditto.
- * string.c (str_scrub): add ruby method String#scrub which verify and
- fix invalid byte sequence. [ruby-dev:45975] [Feature #6752]
+Fri Nov 21 16:44:18 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * string.c (str_compat_and_valid): check given string is compatible
- and valid with given encoding.
+ * ext/tk/lib/tkentry.rb: fix the encoding trouble of percent
+ substitutions on validatecommand option of TkEntry widget
- * transcode.c (str_transcode0): If invalid: :replace is specified for
- String#encode, replace invalid byte sequence even if the destination
- encoding equals to the source encoding.
+ * ext/tk/lib/tk.rb: fix bug on {pack|grid}_propagate() method
-Fri Apr 19 21:55:40 2013 Kouhei Sutou <kou@cozmixng.org>
+Fri Nov 21 16:12:11 2003 Akinori MUSHA <knu@iDaemons.org>
- * README.EXT.ja (Data_Wrap_Struct): Remove a description about
- orphan argument. Oh, I renamed the argument name without
- changing description at r36180... Sorry....
- Patch by Makoto Kishimoto. Thanks!!! [ruby-dev:47269] [Bug #8292]
- * README.EXT.ja (Data_Make_Struct): Add a sample code that describes
- how it works.
- Patch by Makoto Kishimoto. Thanks!!! [ruby-dev:47269] [Bug #8292]
+ * ruby.1: Fix markups and grammar.
-Fri Apr 19 17:54:57 2013 Shugo Maeda <shugo@ruby-lang.org>
+Fri Nov 21 14:49:42 2003 Minero Aoki <aamine@loveruby.net>
- * lib/net/imap.rb (body_type_msg): should accept
- message/delivery-status with extra data.
- [ruby-core:53741] [Bug #8167]
+ * ruby.1: wrote about ruby related environment variables.
- * test/net/imap/test_imap_response_parser.rb: related test.
+Fri Nov 21 12:28:03 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Apr 19 13:03:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * marshal.c (w_extended): singleton methods should not be checked
+ when dumping via marshal_dump() or _dump(). [ruby-talk:85909]
- * marshal.c (w_object): do not dump encoding which is dumped with
- marshal_dump data. [ruby-core:54334] [Bug #8276]
+Fri Nov 21 01:40:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Apr 19 11:36:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in: check <pthread.h>
- * configure.in (stack_protector): control use of -fstack-protector.
+ * ruby.h: include pthread.h if existence.
+ define is_ruby_native() macro when not HAVE_NATIVETHREAD
- * configure.in (debugflags): let -fstack-protector precede and disable
- debugflags, because they can't work together on SmartOS. [Bug #8268]
+ * eval.c: undef is_ruby_native() function when not HAVE_NATIVETHREAD
-Fri Apr 19 07:43:52 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Fri Nov 21 00:43:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * test/openssl/test_cipher.rb: Correct a typo
- by jgls <joerg@joergleis.com>
- https://github.com/ruby/ruby/pull/291 fix GH-291
+ * lib/test/unit/assertions.rb: use #__send__ instead of #send.
-Thu Apr 18 16:58:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/testcase.rb: ditto.
- * vm_method.c (rb_mod_public_method): fix visibility on anonymous
- module. set visibility of singleton method, not method in base
- class. [ruby-core:54404] [Bug #8284]
+Thu Nov 20 19:19:22 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Apr 18 16:20:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in: don't find the Cygwin's pthread library on MinGW.
- * dir.c (glob_helper): should skip dot directories only for recursion,
- but should not if matching to the given pattern. [ruby-core:54387]
- [Bug #8283]
+Thu Nov 20 19:15:50 2003 Minero Aoki <aamine@loveruby.net>
-Thu Apr 18 16:20:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/fileutils.rb (have_st_ino?): emx (OS/2 with EMX) does not
+ have st_ino (always 0). [ruby-dev:21972]
- * pack.c (pack_unpack): increase buffer size to fix buffer overflow,
- and fix garbage just after unpacking without missing paddings.
- [Bug #8286]
+ * lib/fileutils.rb (rename_cannot_overwrite_file?): emx does not
+ allow overwriting files by rename(2).
-Thu Apr 18 13:35:54 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb: windows? ->
+ have_drive_letter?, have_file_perm?
- * pack.c (pack_unpack): output characters even if the input doesn't
- have paddings. [Bug #8286]
+Thu Nov 20 17:50:58 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Apr 18 08:20:48 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/sample/tkballoonhelp.rb: new sample script
- * common.mk (clean-ext): remove timestamps.
+ * ext/tk/sample/tkmultilistbox.rb: ditto
-Wed Apr 17 22:07:50 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/tktextframe.rb: ditto
- * ext/socket/rubysocket.h (SOCKLEN_MAX): Expression simplified.
+Thu Nov 20 13:37:34 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Apr 17 20:09:19 2013 Aman Gupta <ruby@tmm1.net>
+ * ruby.h: define is_ruby_native_thread() for no native thread
+ environment
- * compile.c (iseq_add_mark_object): Use new rb_iseq_add_mark_object().
+ * eval.c: ditto
- * insns.def (setinlinecache): Ditto.
+Thu Nov 20 12:42:47 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * iseq.c (rb_iseq_add_mark_object): New function to allocate
- iseq->mark_ary on demand. [Bug #8142]
+ * configure.in: always check existence of the pthread library
- * iseq.h (rb_iseq_add_mark_object): Ditto.
+ * ruby.h: define macros for ruby's native thread check
- * iseq.c (prepare_iseq_build): Avoid allocating mark_ary until needed.
+ * eval.c: add ruby's native thread check
- * iseq.c (rb_iseq_build_for_ruby2cext): Ditto.
+ * gc.c: ditto
-Wed Apr 17 20:00:18 2013 Tanaka Akira <akr@fsij.org>
+Wed Nov 19 14:45:18 2003 Minero Aoki <aamine@loveruby.net>
- * ext/socket/rubysocket.h (SOCKLEN_MAX): Defined.
+ * lib/net/http.rb (to_ary): print more friendly warning message.
- * ext/socket/raddrinfo.c (ext/socket/raddrinfo.c): Reject too long
- Linux abstract socket name.
+Wed Nov 19 14:32:08 2003 Minero Aoki <aamine@loveruby.net>
-Wed Apr 17 19:45:27 2013 Aman Gupta <tmm1@ruby-lang.org>
+ * lib/fileutils.rb (fu_same?): add djgpp and wince.
- * iseq.c (iseq_location_setup): re-use existing string when iseq has
- the same path and absolute_path. [Bug #8149]
+ * lib/fileutils.rb (cannot_overwrite_file?): add wince.
-Wed Apr 17 11:38:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 19 11:04:47 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):
- UNASSIGNED is not a valid message.
+ * lib/fileutils.rb (cannot_overwrite_file?, have_st_ino?): bccwin32
+ is same as mswin32.
-Wed Apr 17 10:58:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 19 07:54:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * thread.c (sleep_timeval): get rid of overflow on Windows where
- timeval.tv_sec is not time_t but mere long.
+ * lib/test/unit.rb: do not run tests if $! is set.
-Tue Apr 16 23:07:12 2013 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/assertionfailederror.rb: extend StandardError instead
+ Exception (irb catches the former but not the latter).
- * ext/socket/unixsocket.c (unix_send_io): Suppress a warning by clang.
- (unix_recv_io): Ditto.
+Tue Nov 18 23:31:36 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Apr 16 12:27:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * missing/memmove.c (memmove): take void *, not char *.
- * ext/sdbm/init.c: Fix comment indentation, by windwiny [Fixes GH-277]
+ * missing.h (memmove): ditto.
-Tue Apr 16 12:25:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * missing.h (strchr, strrchr): return char *, not int.
- * ext/socket/option.c: Document synonymous methods, by windwiny [GH-277]
- * ext/stringio/stringio.c: ditto
- * ext/io/wait/wait.c: ditto
- * ext/gdbm/gdbm.c: ditto
- * ext/dl/cfunc.c: ditto
- * ext/zlib/zlib.c: ditto
- * ext/win32ole/win32ole.c: ditto
- * ext/dbm/dbm.c: ditto
- * ext/json/generator/generator.c: ditto
- * ext/date/date_core.c: ditto
+Tue Nov 18 22:20:10 2003 Minero Aoki <aamine@loveruby.net>
-Tue Apr 16 11:23:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/fileutils.rb (fu_same?): temporal fix for windows.
- * ext/openssl/*: Document synonymous methods, by windwiny [GH-277]
+Tue Nov 18 19:05:04 2003 Minero Aoki <aamine@loveruby.net>
-Mon Apr 15 22:21:42 2013 Tanaka Akira <akr@fsij.org>
+ * lib/fileutils.rb (fu_same?): check by inode instead of path
+ name, to detect two hard links pointing to the same content.
- * ext/fiddle/depend: New file.
+ * test/fileutils.rb: did not create correctly looped symlinks.
-Mon Apr 15 22:01:02 2013 Akinori MUSHA <knu@iDaemons.org>
+Tue Nov 18 18:23:05 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * misc/ruby-electric.el (ruby-electric-insert): Check
- ruby-electric-is-last-command-char-expandable-punct-p here.
+ * ext/stringio/stringio.c (strio_read): behave as IO at empty string.
+ [ruby-dev:21939], [ruby-dev:21941]
- * misc/ruby-electric.el (ruby-electric-closing-char): New
- interactive function bound to closing characters. Typing one of
- those closing characters right after the matching counterpart
- cancels the effect of automatic closing. For example, typing
- "{" followed by "}" simply makes "{}" instead of "{ } }".
+ * ext/stringio/stringio.c (strio_getc, strio_getline): set EOF flag.
-Mon Apr 15 12:54:42 2013 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * ext/stringio/stringio.c (strio_rewind, strio_seek, strio_ungetc):
+ clear EOF flag.
- * ext/openssl/ossl_ssl.c: Correct shutdown behavior w.r.t GC.
+ * test/stringio/test_stringio.rb: imported from [ruby-dev:21941].
- * test/openssl/test_ssl.rb: Add tests to verify correct behavior.
+Tue Nov 18 14:06:35 2003 Minero Aoki <aamine@loveruby.net>
- [Bug #8240] Patch provided by Shugo Maeda. Thanks!
+ * lib/fileutils.rb (fu_each_src_dest): raise if src==dest.
+ [ruby-talk:85344] [ruby-core:01699]
-Mon Apr 15 10:23:39 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/fileutils.rb: use Object#is_a? instead of Class#=== to allow
+ e.g. remote objects for receivers.
- * ext/coverage/depend: fix id.h place as r40283.
+ * lib/fileutils.rb: FileTest -> File.
- * ext/coverage/extconf.rb: add topdir and topsrcdir to VPATH.
+ * lib/fileutils.rb: put parentheses for arguments of File.xxxx?
-Sun Apr 14 19:46:14 2013 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_fileutils.rb (test_cp): test "cp a a".
- * ext/-test-/debug/depend: New file.
+ * test/fileutils/test_fileutils.rb (test_mv): test "mv a a".
- * ext/-test-/exception/depend: Ditto.
+ * test/fileutils/test_fileutils.rb (test_ln): test "ln a a".
- * ext/-test-/printf/depend: Ditto.
+ * test/fileutils/test_fileutils.rb (test_ln_s): test "ln_s a a".
- * ext/-test-/string/depend: Ditto.
+ * test/fileutils/test_fileutils.rb (test_install): test "install a a".
- * ext/coverage/depend: Ditto.
+ * test/fileutils/fileasserts.rb: new method assert_symlink.
- * ext/io/console/depend: Ditto.
+ * test/fileutils/fileasserts.rb: assert_is_directory -> assert_directory.
- * ext/io/nonblock/depend: Ditto.
+Mon Nov 17 19:38:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/io/wait/depend: Ditto.
+ * file.c (getcwdofdrv): avoid using getcwd() directly, use
+ my_getcwd() instead.
- * ext/openssl/depend: Ditto.
+ * merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
+ <sunshine@sunshineco.com>. [ruby-core:01596]
- * ext/pathname/depend: Ditto.
+Mon Nov 17 10:50:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/psych/depend: Ditto.
+ * lib/optparse.rb (OptionParser::Completion::complete): allow least
+ common completion for three or more candidates.
- * ext/zlib/depend: Ditto.
+Mon Nov 17 09:41:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Apr 14 02:46:50 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/test/unit/ui/tk/testrunner.rb,
+ lib/test/unit/ui/gtk/testrunner.rb:
+ run GUI main loop in sub thread.
- * lib/mkmf.rb (MakeMakefile#create_makefile): remove {$(VPATH)} other
- than nmake.
+ * lib/test/unit/ui/gtk2/testrunner.rb: imported from rough.
- * ext/ripper/depend: use VPATH expecting removed by above.
+ * lib/test/unit/autorunner.rb (keyword_display): sort keywords.
-Sat Apr 13 23:06:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Nov 16 18:10:57 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb (timestamp_file): gather timestamp files in one
- directory from each extension directories.
+ * eval.c (rb_eval): iterator should return value from next inside
+ begin/rescue/end. (ruby-bugs:PR#1218)
-Sat Apr 13 21:09:02 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Nov 16 13:26:07 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/mkmf.rb (MakeMakefile#create_makefile): output new macro
- disthdrdir to specify the path of id.h, parse.h and etc.
+ * marshal.c (w_object): LINK check earlier than anything else,
+ i.e. do not dump TYPE_IVAR for already dumped objects.
+ (ruby-bugs:PR#1220)
- * ext/ripper/depend: use above macro.
+ * eval.c (rb_eval): call "inherited" only when a new class is
+ generated; not on reopening.
-Sat Apr 13 20:28:08 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (eval): prepend error position in evaluating string to
+ "mesg" attribute string only when it's available and is a
+ string.
- * Merge Onigmo 5.13.4 f22cf2e566712cace60d17f84d63119d7c5764ee.
- [bug] fix problem with optimization of \z (Issue #16) [Bug #8210]
+Sun Nov 16 12:16:10 2003 Minero Aoki <aamine@loveruby.net>
-Sat Apr 13 18:56:15 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/net/protocol.rb: logging response body. [experimental]
+ [ruby-list:38800]
- * ext/ripper/depend: parse.h and id.h may be created on topdir.
+Sun Nov 16 10:49:38 2003 Gavin Sinclair <gsinclair@soyabean.com.au>
-Sat Apr 13 12:08:16 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * lib/thread.rb (Thread.exclusive): wrap method definition in
+ class Thread to enable rdoc to process.
- * lib/matrix.rb: Add Vector#cross_product, patch by Luis Ezcurdia
- [fix GH-276] [rubyspec:81eec89a124]
+Sun Nov 16 09:45:23 2003 Minero Aoki <aamine@loveruby.net>
-Sat Apr 13 10:20:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/http.rb (set_debug_output): warn if method is called
+ after #start. [ruby-dev:38798]
- * struct.c (rb_struct_define_without_accessor, rb_struct_define),
- (rb_struct_s_def): hide member names array.
+Sun Nov 16 04:41:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * struct.c (anonymous_struct, new_struct, setup_struct): split
- make_struct() for each purpose.
+ * eval.c (eval): do not re-raise exception to avoid unnecessary
+ exception copying, instead modify exception and internal
+ information to adjust eval().
-Sat Apr 13 09:34:31 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (backtrace): can return the current frame information
+ only if lev < -1.
- * lib/mkmf.rb: Add ruby/ruby.h, ruby/missing.h, ruby/intern.h,
- ruby/st.h and ruby/subst.h for ruby_headers in generated Makefile.
+Sat Nov 15 22:16:42 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/-test-/old_thread_select/depend: Update dependencies.
+ * /ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext):
+ refine error message.
- * ext/-test-/wait_for_single_fd/depend: Ditto.
+Sat Nov 15 10:05:40 2003 Tanaka Akira <akr@m17n.org>
- * ext/bigdecimal/depend: Ditto.
+ * lib/open-uri.rb (OpenURI.open_loop, OpenURI::HTTP#proxy_open):
+ refactored to support options.
+ (Buffer): maintain size by this class.
- * ext/curses/depend: Ditto.
+Sat Nov 15 07:40:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/digest/bubblebabble/depend: Ditto.
+ * eval.c (rb_method_node): new API to retrieve method body.
- * ext/digest/depend: Ditto.
+Fri Nov 14 13:21:30 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/digest/md5/depend: Ditto.
+ * ext/tcltklib/tcltklib.c: fix (en-bugged at 2003/11/07)
- * ext/digest/rmd160/depend: Ditto.
+ * ext/tk/lib/tkdialog.rb: TkDialog.new accepts a parent widget
+ argument [ruby-talk:85066]
- * ext/digest/sha1/depend: Ditto.
+Thu Nov 13 20:53:35 2003 Tanaka Akira <akr@m17n.org>
- * ext/digest/sha2/depend: Ditto.
+ * lib/open-uri.rb (Kernel[#.]open): hard coded URI schemes removed.
+ [ruby-ext:02251]
- * ext/dl/callback/depend: Ditto.
+Thu Nov 13 19:17:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/dl/depend: Ditto.
+ * lib/test/unit/ui/tk/testrunner.rb: use grid and panedwindow
+ (if available)
- * ext/etc/depend: Ditto.
+Thu Nov 13 17:56:41 2003 Tanaka Akira <akr@m17n.org>
- * ext/nkf/depend: Ditto.
+ * lib/open-uri.rb (OpenURI.open_uri): use File::RDONLY.
+ reported by Take_tk <ggb03124@nifty.ne.jp>.
+ [ruby-ext:02245]
- * ext/objspace/depend: Ditto.
+Thu Nov 13 16:45:53 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/pty/depend: Ditto.
+ * ext/openssl/ossl_x509req.c (ossl_x509req_to_der): add function for
+ X509::Request#to_der.
- * ext/readline/depend: Ditto.
+Thu Nov 13 11:31:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/ripper/depend: Ditto.
+ * lib/optparse.rb (OptionParser::Completion#complete): prior shorter
+ name to containing longer name.
- * ext/sdbm/depend: Ditto.
+Thu Nov 13 06:08:54 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/socket/depend: Ditto.
+ * ext/tk/lib/tk.rb: stop freezing some classes
- * ext/stringio/depend: Ditto.
+ * ext/tk/lib/multi-tk.rb: ditto.
- * ext/strscan/depend: Ditto.
+Wed Nov 12 17:32:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/syslog/depend: Ditto.
+ * lib/test/unit/assertions.rb (assert_throws, assert_nothing_thrown):
+ uncaught throw in sub thread raises ThreadError.
- * ext/-test-/num2int/depend: Removed.
+ * lib/test/unit/ui/tk/testrunner.rb (setup_ui): "expand" is not
+ necessary.
- * ext/dbm/depend: Ditto.
+Wed Nov 12 14:09:43 2003 Shugo Maeda <shugo@ruby-lang.org>
- * ext/fcntl/depend: Ditto.
+ * test/monitor/test_monitor.rb: fix the timing problem by Queue.
- * ext/gdbm/depend: Ditto.
+Wed Nov 12 12:59:44 2003 Shugo Maeda <shugo@ruby-lang.org>
- * ext/racc/cparse/depend: Ditto.
+ * test/monitor/test_monitor.rb: added.
-Sat Apr 13 00:15:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 12 10:14:28 2003 Shugo Maeda <shugo@ruby-lang.org>
- * ext/etc/etc.c (Init_etc): move Passwd and Group under Etc namespace
- as primary names.
+ * lib/monitor.rb: refactored. Thanks, Gennady Bystritsky.
-Fri Apr 12 21:06:55 2013 Tanaka Akira <akr@fsij.org>
+Wed Nov 12 06:11:39 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * common.mk: pack.o depends on internal.h.
+ * ext/openssl/ossl.c (ossl_x509_sk2ary, ossl_x509crl_sk2ary):
+ add functions to convert STACK into Array.
-Fri Apr 12 20:59:24 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl.h: add prototypes.
- * bignum.c (ones): Use __builtin_popcountl if available.
+ * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_set_certificates,
+ ossl_pkcs7_get_certificates, ossl_pkcs7_get_crls,
+ ossl_pkcs7_set_crls): add functions for PKCS7#certificates=
+ PKCS7#certificates, PKCS7#crls= and PKCS7#crls.
- * internal.h (GCC_VERSION_SINCE): Macro moved from pack.c.
+Wed Nov 12 00:47:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * pack.c: Include internal.h for GCC_VERSION_SINCE.
+ * lib/test/unit/ui/testrunnermediator.rb: should require 'test/unit'.
-Fri Apr 12 18:29:42 2013 Tanaka Akira <akr@fsij.org>
+Tue Nov 11 23:54:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * common.mk: version.o depends on $(srcdir)/include/ruby/version.h
- instead of {$(VPATH)}version.h to avoid confusion by VPATH between
- top level version.h and include/ruby/version.h for build in-place.
- [ruby-dev:47249] [Bug #8256]
+ * lib/test/unit/ui/gtk/testrunner.rb: added a rescue clause to handle
+ the case when the requested font is not available.
-Fri Apr 12 15:21:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 11 22:44:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_insnhelper.c (vm_callee_setup_keyword_arg): non-symbol key is not
- a keyword argument, keep it as a positional argument.
+ * io.c (appendline): file may not end with newline. a bug if
+ READ_DATA_PENDING_PTR is defined. [ruby-talk:84925]
-Fri Apr 12 11:58:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Nov 11 10:42:41 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * array.c: Document synonymous methods, by windwiny [GH-277]
- * bignum.c: ditto
- * complex.c: ditto
- * dir.c: ditto
- * encoding.c: ditto
- * enumerator.c: ditto
- * numeric.c: ditto
- * proc.c: ditto
- * re.c: ditto
- * string.c: ditto
+ * ext/tk/lib/tk.rb: raise an exception when creating TkWindow
+ object, because TkWindow class is an abstract class.
-Thu Apr 11 23:41:46 2013 Tanaka Akira <akr@fsij.org>
+Tue Nov 11 03:30:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * common.mk: Add dependencies for include/ruby.h
+ * lib/ext/openssl/ossl_conf.c (ossl_config_get_value): return nil
+ if the specified value doesn't exist.
- * tool/update-deps: Use "make -p all miniruby ruby golf" to extract
- dependencies in makefiles.
+ * lib/ext/openssl/ossl_conf.c (ossl_config_get_section): return
+ a empty hash if the specified section doesn't exist.
-Thu Apr 11 23:21:17 2013 Tanaka Akira <akr@fsij.org>
+Mon Nov 10 11:40:29 2003 Shugo Maeda <shugo@ruby-lang.org>
- * tool/update-deps: Use "make -p all golf" to extract dependencies in
- makefiles.
+ * lib/monitor.rb (wait): return true on signal/broadcastfalse and
+ false on timeout. Thanks Gennady Bystritsky.
-Thu Apr 11 21:02:19 2013 Tanaka Akira <akr@fsij.org>
+Mon Nov 10 00:07:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * common.mk: Dependency updated.
+ * parse.y (primary): primary_value may be 0 when syntax error.
+ [ruby-talk:84893]
- * tool/update-deps: Rewritten.
+Sun Nov 9 02:05:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Thu Apr 11 19:59:48 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/test/unit/assertions.rb: un-deprecated #assert_not_nil to
+ maintain symmetry with #assert_nil. Also added better output for
+ #assert_kind_of.
- * common.mk: partially revert r40183, which breaks building on
- other than source directory. (its commit log also says the same
- thing, but such failure is not reproducible on my environment
- and the commit breaks build on my environment)
+ * test/testunit/tc_assertions.rb: ditto.
-Thu Apr 11 16:10:01 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Nov 8 18:50:20 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 on
- Mac OS X and Linux [Bug #3371]
+ * test/wsdl/raa/*: add new testcase for WSDL loading, parsing and
+ reading.
-Thu Apr 11 13:19:22 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/soap/marshal/*: backport from soap4r/1.5.1. all differences are
+ for ruby/1.6.
- * test/drb/drbtest.rb (Drb{Core,Ary}#teardown): retry Process.kill
- if it fails with Errno::EPERM on Windows (workaround).
- [ruby-dev:47245] [Bug #8251]
+ * lib/soap/*: backport from soap4r/1.5.1. all differences are for
+ ruby/1.6.
-Thu Apr 11 11:11:38 2013 Akinori MUSHA <knu@iDaemons.org>
+ * lib/wsdl/data.rb, lib/wsdl/xmlSchema/data.rb: move definition of
+ ArrayTypeAttrName from ::WSDL::XMLSchema::* to ::WSDL::*.
+ [ruby-talk:84813]
- * dir.c: Fix a typo.
+ * lib/wsdl/soap/definitions.rb: element name typo in custom exception
+ struct definition which is needed for wsdlDriver; camelCase ->
+ underscore_name.
-Thu Apr 11 10:39:34 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Nov 8 13:49:50 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): add missing case:
- RUBY_LIBFFI_MODVERSION is not defined (usually on Windows).
+ * configure.in: improvement of pthread check
-Thu Apr 11 09:27:04 2013 Konstantin Haase <me@rkh.im>
+Sat Nov 8 13:28:46 2003 Takaaki Tateishi <ttate@ttsky.net>
+ * ext/dl/sym.c: Add DL.win32_last_error and DL.last_error.
+ Thanks, Kaoru Shirai.
- * dir.c (file_s_fnmatch): Document File::FNM_EXTGLOB flag.
+Sat Nov 8 06:19:38 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Apr 11 09:17:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/tcltklib/tcltklib.c: To fix 'pthread-enabled Tcl/Tk' problem,
+ TclTkIp#_eval calls Tcl_Eval() on the mainloop thread only
+ (queueing a handler to the EventQueue).
- * README: Fix typo by Benjamin Winkler [Fixes GH-281]
+ * ext/tcltklib/README.1st: edit the description of '--with-pthread-ext'
-Thu Apr 11 06:15:51 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Fri Nov 7 23:23:04 2003 Tanaka Akira <akr@m17n.org>
- * regint.h: fix typo: _M_AMD86 -> _M_AMD64.
+ * lib/pathname.rb (Pathname#+): if self or the argument is `.', return
+ another.
+ (Pathname#parent): if self is `.', return `..'.
+ (Pathname#children): if self is `.', don't prepend self for a
+ pathname in a result.
+ (Pathname#join): re-implemented using Pathname#+.
+ (Pathname#find): if self is `.', remove `./' prefix of yielding
+ pathname.
- * siphash.c: ditto.
+Fri Nov 7 10:23:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * st.c: ditto.
+ * ext/socket/socket.c (make_hostent): get rid of SEGV on aliases
+ lookup failure. (ruby-bugs:PR#1215)
-Thu Apr 11 06:09:57 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Fri Nov 7 04:08:05 2003 UENO Katsuhiro <katsu@blue.sky.or.jp>
- * ext/fiddle/extconf.rb: define RUBY_LIBFFI_MODVERSION macro.
+ * ext/zlib/zlib.c (Init_zlib): define Zlib::GzipReader#each_line as
+ an alias of Zlib::GzipReader#each.
- * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 or 1
- with platform and libffi's version. [Bug #3371]
+Fri Nov 7 01:03:16 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Apr 11 05:30:43 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (rb_load): save and restore rb_prohibit_interrupt.
+ [ruby-dev:21857]
- * lib/mkmf.rb (pkg_config): Add optional argument "option".
- If it is given, it returns the result of
- `pkg-config --<option> <pkgname>`.
+Thu Nov 6 18:05:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Apr 11 03:33:05 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * io.c (rb_io_inspect): show the path also at a closed file.
+ [ruby-dev:21851]
- * ext/fiddle/closure.c (initialize): check mprotect's return value.
- If mprotect is failed because of PaX or something, its function call
- will cause SEGV.
- http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20130401T210301Z.diff.html.gz
+Thu Nov 6 11:42:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Apr 10 17:39:13 2013 Tanaka Akira <akr@fsij.org>
+ * ext/stringio/stringio.c (strio_set_string, strio_reopen): check
+ tainted.
- * ext/bigdecimal/bigdecimal.c (VpCtoV): Initialize a local variable
- even when overflow.
+ * ext/stringio/stringio.c (strio_copy, strio_ungetc, strio_write,
+ strio_putc): add infection.
-Wed Apr 10 12:32:37 2013 Tanaka Akira <akr@fsij.org>
+ * ext/stringio/stringio.c (strio_path): just nil. [ruby-dev:21846]
- * bignum.c (rb_ll2big): Don't overflow on signed integer negation.
+ * ruby.c (proc_options): reserve searched script path in the
+ source file name table. [ruby-list:38765]
- * ext/bigdecimal/bigdecimal.c (MUL_OVERFLOW_SIGNED_VALUE_P): New
- macro.
- (AddExponent): Don't overflow on signed integer multiplication.
- (VpCtoV): Don't overflow on signed integer arithmetic.
- (VpCtoV): Don't overflow on signed integer arithmetic.
+ * lib/optparse.rb (OptionParser::Completion#complete): default not to
+ ignore case on completion. [ruby-talk:84726]
-Wed Apr 10 06:32:12 2013 Tanaka Akira <akr@fsij.org>
+ * win32/win32.c (make_cmdvector): process backslashes even if a quote
+ is not enclosed.
- * internal.h (MUL_OVERFLOW_INT_P): New macro.
+Wed Nov 5 23:49:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * sprintf.c (GETNUM): Don't overflow on signed integer multiplication.
+ * sample/openssl/gen_csr.rb: there (at least) is a CA which does not
+ accept DN in UTF8STRING format. it's a sample.
-Tue Apr 9 20:38:20 2013 Tanaka Akira <akr@fsij.org>
+Wed Nov 5 22:55:16 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * internal.h (MUL_OVERFLOW_SIGNED_INTEGER_P): New macro.
- (MUL_OVERFLOW_FIXNUM_P): Ditto.
- (MUL_OVERFLOW_LONG_P): Ditto.
+ * configure.in, eval.c, signal.c: : add '--with-pthread-ext'
+ option to fix the pthread trouble on 'tcltklib'
- * array.c (rb_ary_product): Don't overflow on signed integer
- multiplication.
+ * ext/tcltklib/README.1st: add the description of '--with-pthread-ext'
- * numeric.c (fix_mul): Ditto.
- (int_pow): Ditto.
+ * ext/tk/lib/tktext.rb : add TkText#text_copy, text_cut, text_paste
+ to support Tcl/Tk8.4's tk_textCopy, tk_textCut, tk_textPaste
- * rational.c (f_imul): Ditto.
+ * ext/tk/lib/tk.rb : add TkMenu#set_focus support Tcl/Tk's
+ tk_menuSetFocus
- * insns.def (opt_mult): Ditto.
+Wed Nov 5 17:33:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c (sleep_timeval): Don't overflow on signed integer addition.
+ * eval.c (rb_load): allow interrupt during loaded program
+ evaluation. [ruby-dev:21834]
- * bignum.c (rb_int2big): Don't overflow on signed integer negation.
- (rb_big2ulong): Ditto.
- (rb_big2long): Ditto.
- (rb_big2ull): Ditto.
- (rb_big2ll): Ditto.
+ * hash.c (rb_hash_fetch): always warn if default argument and a
+ block are supplied at the same time. [ruby-dev:21842]
-Tue Apr 9 19:45:44 2013 Tanaka Akira <akr@fsij.org>
+ * hash.c (env_fetch): ditto.
- * lib/open-uri.rb: Support multiple fields with same field
- name (like Set-Cookie).
- (OpenURI::Meta#metas): New accessor to obtain fields as a Hash from
- field name (string) to field values (array of strings).
- [ruby-core:37734] [Bug #4964] reported by ren li.
+ * array.c (rb_ary_fetch): ditto.
-Tue Apr 9 15:26:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 5 19:08:47 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * compile.c (iseq_compile_each): append keyword hash to argument array
- to splat if needed. [ruby-core:54094] [Bug #8236]
+ * lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
+ do not remove next argument if empty value is placed.
-Tue Apr 9 10:02:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/optparse: added.
- * lib/mkmf.rb (timestamp_file): gather timestamp files in one
- directory from each extension directories, with considering
- target_prefix.
+Wed Nov 5 17:05:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Apr 9 04:57:59 JST 2013 Charles Oliver Nutter <headius@headius.com>
+ * lib/test/unit/ui/gtk/testrunner.rb: typo.
- * error.c: Capture EAGAIN, EWOULDBLOCK, EINPROGRESS exceptions and
- export them for use in WaitReadable/Writable exceptions.
- * io.c: Create versions of EAGAIN, EWOULDBLOCK, EINPROGRESS that
- include WaitReadable and WaitWritable. Add rb_readwrite_sys_fail
- for nonblocking failures using those exceptions. Use that
- function in io_getpartial and io_write_nonblock instead of
- rb_mod_sys_fail
- * ext/openssl/ossl_ssl.c: Add new SSLError subclasses that include
- WaitReadable and WaitWritable. Use those classes for
- write_would_block and read_would_block instead of rb_mod_sys_fail.
- * ext/socket/ancdata.c: Use rb_readwrite_sys_fail instead of
- rb_mod_sys_fail in bsock_sendmsg_internal and
- bsock_recvmsg_internal.
- * ext/socket/init.c: Use rb_readwrite_sys_fail instead of
- rb_mod_sys_fail in rsock_s_recvfrom_nonblock and
- rsock_s_connect_nonblock.
- * ext/socket/socket.c: Use rb_readwrite_sys_fail instead of
- rb_mod_sys_fail in sock_connect_nonblock.
- * include/ruby/ruby.h: Export rb_readwrite_sys_fail for use instead
- of rb_mod_sys_fail. Introduce new constants RB_IO_WAIT_READABLE and
- RB_IO_WAIT_WRITABLE for first arg to rb_readwrite_sys_fail.
+Wed Nov 5 11:13:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Apr 9 02:44:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c: add #include "version.h". this file still depends on it.
- * ext/socket/extconf.rb: $defs needs -D or -U. nothing is added
- otherwize.
+ * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,
+ wince/Makefile.sub: add version.h dependency to string.c.
- * ext/socket/extconf.rb: check struct in_addr6, which is defined in
- VC6 instead of in6_addr.
+Wed Nov 5 09:14:23 2003 Shugo Maeda <shugo@ruby-lang.org>
- * ext/socket/option.c (optname_to_sym): fix macro name.
+ * lib/monitor.rb: revert to the previous revision.
- * ext/socket/constants.c (rsock_cmsg_type_arg): fix macro name.
+Wed Nov 5 08:39:51 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Mon Apr 8 23:57:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/https.rb (HTTPRequest#parse): set @client_cert_chain.
- * object.c (id_for_setter): extract common code from const, class
- variable, instance variable setters.
+ * lib/webrick/https.rb (HTTPRequest#meta_vars): create
+ SSL_CLIENT_CERT_CHAIN_n from @client_cert_chain.
-Mon Apr 8 23:55:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_get_peer_cert_chain): return nil
+ if no cert-chain was given.
- * ext/depend (ENCOBJS, TRANSOBJS): use explicit path to ruby.h for
- nmake.
+Tue Nov 4 23:44:48 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/depend (ENCOBJS, TRANSOBJS): fix header dependency, VPATH has
- $(srcdir)/include/ruby but not $(srcdir)/include, so cannot find out
- ruby/ruby.h. use ruby.h instead and ../ruby for include/ruby.h.
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub:
+ remove needless version.h dependency.
-Mon Apr 8 20:30:37 2013 Yuki Yugui Sonoda <yugui@google.com>
+Tue Nov 4 23:38:43 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/depend (ENCOBJS, TRANSOBJS): Add missing dependencies.
+ * class.c, hash.c, string.c: remove #include "version.h".
-Mon Apr 8 17:19:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * Makefile.in: remove needless version.h dependency.
- * ext/win32ole/win32ole.c (fole_missing): should check actual argument
- count before accessing.
+Tue Nov 4 06:54:52 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Apr 8 16:03:55 2013 Yuki Yugui Sonoda <yugui@google.com>
+ * io.c (read_all): fptr->f may be NULL, if IO is closed in the
+ signal handler.
- Fixes a build failure of ext/ripper/ripper.c on building out of place.
- * common.mk (id.h, id.c): Always generated in $(srcdir).
- (ext/ripper/ripper.c): Passes $(PATH_SEPARATOR) too to the sub make.
+ * io.c (io_read): ditto.
-Mon Apr 8 12:05:02 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * string.c (get_pat): remove 1.8.0 warning code.
- * object.c (rb_obj_ivar_set): call to_str for string only once.
- to_str was called from rb_is_const_name and rb_to_id before.
+ * string.c (rb_str_match): extend warning until 1.8.2.
- * object.c (rb_mod_const_set): ditto.
+ * string.c (rb_str_match2): ditto.
- * object.c (rb_mod_cvar_set): ditto.
+ * class.c (class_instance_method_list): remove 1.8.0 warnings.
+ method_list now recurs. [ruby-dev:21816]
-Sun Apr 7 13:56:16 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * class.c (rb_obj_singleton_methods): ditto.
- * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):
- RUBY_PLATFORM should escape as Regexp,
- because RUBY_PLATFORM may contain '.'.
+ * array.c (rb_ary_select): remove select with block.
+ [ruby-dev:21824]
-Sun Apr 7 10:44:01 2013 Tanaka Akira <akr@fsij.org>
+ * hash.c (rb_hash_select): ditto.
- * include/ruby/defines.h: Simplify the logic to include sys/select.h.
- This fixes a compilation error on Haiku (gcc2 and gcc4).
+ * hash.c (env_select): ditto.
- * configure.in: Use shared linker as $(CC) for Haiku.
- This fixes a build error on Haiku (gcc2).
+ * re.c (match_select): ditto.
-Sun Apr 7 10:41:30 2013 Tanaka Akira <akr@fsij.org>
+ * struct.c (rb_struct_select): ditto.
- * lib/resolv.rb (MDNSOneShot#sender): Delete an unused variable.
+Mon Nov 3 22:53:21 2003 Minero Aoki <aamine@loveruby.net>
-Sun Apr 7 03:24:36 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/racc/parser.rb: synchronize with Racc 1.4.4.
- * addr2line.c: use more generic type:
- * u_char -> unsigned char
- * u_short -> unsigned short
- * u_int -> unsigned int
- * u_long -> unsigned long
- * quad_t -> int64_t
- * u_quad_t -> uint64_t
+ * ext/racc/cparse/cparse.c: ditto.
- * addr2line.c (imax): inline is defined by configure.
+ * ext/racc/cparse/cparse.c (parse_main): should abort when
+ the length of LR state stack <=1, not ==0.
-Sun Apr 7 01:40:39 2013 Akinori MUSHA <knu@iDaemons.org>
+Mon Nov 3 08:50:47 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * misc/ruby-electric.el (ruby-electric-hash): New electric
- function that expands a hash sign inside a string or regexp to
- "#{}".
+ * process.c (check_uid_switch): remove duplicated error messages.
- * misc/ruby-electric.el (ruby-electric-curlies): Do not insert
- spaces inside when the curly brace is a delimiter of %r, %w,
- etc.
+ * process.c (check_gid_switch): ditto.
- * misc/ruby-electric.el (ruby-electric-curlies): Insert another
- space before a closing curly brace when
- ruby-electric-newline-before-closing-bracket is nil.
+Sun Nov 2 02:28:33 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Apr 7 01:01:26 2013 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/ssl.rb: new option :SSLExtraChainCert.
- * strftime.c (rb_strftime_with_timespec): Test yday range.
- [ruby-core:44088] [Bug #6247] reported by Ruby Submit.
+Sun Nov 2 01:02:04 2003 Akinori MUSHA <knu@iDaemons.org>
-Sat Apr 6 23:46:54 2013 Naohisa Goto <ngotogenome@gmail.com>
+ * string.c (rb_str_hash): Update the HASH_PERL alternative hash
+ algorithm in sync with Perl 5.8.
- * configure.in (AC_CHECK_HEADERS): atomic.h for Solaris atomic_ops.
+ * st.c (strhash): Ditto.
- * ruby_atomic.h: Skip using Solaris10 atomic_ops on Solaris 9 or
- earlier if atomic.h is not available. [ruby-dev:47229] [Bug #8228]
+Sat Nov 1 18:21:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Apr 6 23:40:40 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_peer_cert_chain): add new method
+ SSLSocket#peer_cert_chain.
- * lib/resolv.rb: Support LOC resources.
- [ruby-core:23361] [Feature #1436] by JB Smith.
+ * ext/openssl/ossl_x509req.c (GetX509ReqPtr): new function
+ which returns underlying X509_REQ.
-Sat Apr 6 23:38:09 2013 Naohisa Goto <ngotogenome@gmail.com>
+ * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_issuer_cert,
+ ossl_x509extfactory_set_subject_cert, ossl_x509extfactory_set_crl,
+ ossl_x509extfactory_set_subject_req, ossl_x509extfactory_set_config):
+ use underlying C struct without duplication not to leak momory.
- * addr2line.c: quad_t and u_quad_t is not available on Solaris.
- __inline is not available with old compilers on Solaris.
- [ruby-dev:47229] [Bug #8227]
+Sat Nov 1 01:49:03 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Apr 6 23:31:38 2013 Tanaka Akira <akr@fsij.org>
+ * lib/soap/mapping/factory.rb: mark marshalled basetype objects when
+ @allow_original_mapping is true. multi-referencing basetype node is
+ prohibited in SOAP/1.1 encoding but soap4r's original ruby object
+ mapping requires basetype to be marked to detect self referencing
+ loop. e.g. o = 1; o.instance_eval { @iv = o } soap4r's original
+ mapping is only used through soap/marshal API.
- * lib/resolv.rb: Add one-shot multicast DNS support.
- [ruby-core:53387] [Feature #8089] by Eric Hodel.
+ * test/soap/marshal/test_marshal.rb: add tests for self referencing
+ immutable objects.
-Sat Apr 6 22:12:01 2013 Tanaka Akira <akr@fsij.org>
+ * test/soap/calc/test_calc_cgi.rb: fix test name.
- * lib/resolv.rb (Resolv::DNS.fetch_resource): New method to obtain
- full result.
- [ruby-dev:43587] [Feature #4788] proposed by Makoto Kishimoto.
+Fri Oct 31 22:26:29 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
-Sat Apr 6 20:17:51 2013 Tanaka Akira <akr@fsij.org>
+ * wince/string_wce.c (strrchr): should decrement pointer.
- * ext/socket/socket.c (rsock_sys_fail_raddrinfo): Renamed from
- rsock_sys_fail_addrinfo.
- (rsock_sys_fail_raddrinfo_or_sockaddr): Renamed from
- rsock_sys_fail_addrinfo_or_sockaddr.
+ * wince/Makefile.sub: correct a range of isdigit().
- * ext/socket/rubysocket.h: Follow the above change.
+Fri Oct 31 12:55:24 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Apr 6 19:24:59 2013 Tanaka Akira <akr@fsij.org>
+ * configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD.
+ [ruby-dev:21791]
- * ext/socket/socket.c (rsock_sys_fail_sockaddr): Takes struct sockaddr
- and socklen_t instead of String object.
- (rsock_sys_fail_addrinfo_or_sockaddr): Follow the above change.
+ * bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.
- * ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow the above
- change.
+Fri Oct 31 01:38:14 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Apr 6 14:28:23 2013 Tanaka Akira <akr@fsij.org>
+ * wince/Makefile.sub, win32/Makefile.sub (.y.c): allow white spaces
+ at the beginning of line to remove by sed. (ruby-bugs-ja:PR#580)
- * ext/socket/rubysocket.h (SockAddrStringValueWithAddrinfo): New macro.
- (rsock_sockaddr_string_value_with_addrinfo): New declaration.
- (rsock_addrinfo_inspect_sockaddr): Ditto.
- (rsock_sys_fail_addrinfo): Ditto.
- (rsock_sys_fail_sockaddr_or_addrinfo): Ditto.
+Fri Oct 31 01:02:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/raddrinfo.c (rsock_addrinfo_inspect_sockaddr): Renamed
- from addrinfo_inspect_sockaddr and exported.
- (rsock_sockaddr_string_value_with_addrinfo): New function to obtain
- string and possibly addrinfo object.
+ * compar.c (cmp_equal): protect exceptions from <=> comparison
+ again. returns nil if any exception or error happened during
+ comparison.
- * ext/socket/socket.c (rsock_sys_fail_sockaddr): Don't use
- rsock_sys_fail_host_port which is IP dependent. Invoke
- rsock_sys_fail_addrinfo.
- (rsock_sys_fail_addrinfo): New function using
- rsock_addrinfo_inspect_sockaddr.
- (rsock_sys_fail_addrinfo_or_sockaddr): New function.
- (sock_connect): Use SockAddrStringValueWithAddrinfo and
- rsock_sys_fail_addrinfo_or_sockaddr.
- (sock_connect_nonblock): Ditto.
- (sock_bind): Ditto.
+ * eval.c (search_required): should update *featurep when DLEXT2 is
+ defined. (ruby-bugs-ja:PR#581)
-Sat Apr 6 13:34:20 2013 Tanaka Akira <akr@fsij.org>
+Thu Oct 30 23:41:04 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * ext/socket/socket.c (rsock_sys_fail_sockaddr): Delete 2nd argument.
+ * lib/drb/drb.rb: add DRbArray
- * ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow above
- change.
+ * lib/drb/invokemethod.rb: fix Hash#each problem. [ruby-dev:21773]
-Sat Apr 6 13:13:39 2013 Tanaka Akira <akr@fsij.org>
+ * lib/drb/unix.rb: add LoadError. [ruby-dev:21743]
- * ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect only
- for String to avoid SEGV.
+Thu Oct 30 23:19:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Apr 6 12:40:16 2013 Tanaka Akira <akr@fsij.org>
+ * lib/soap/generator.rb: better XML pretty printing.
- * ext/socket/rubysocket.h (rsock_sys_fail_host_port): Wrap by NORETURN.
- (rsock_sys_fail_path): Ditto.
- (rsock_sys_fail_sockaddr): Ditto.
+ * lib/soap/encodingstyle/soapHandler.rb: remove unnecessary namespace
+ assignment in the element which has "encodingStyle" attribute, and
+ add necessary namespace assignment for "arrayType" attribute.
-Sat Apr 6 11:49:35 2013 Tanaka Akira <akr@fsij.org>
+ * test/soap/calc/test_calc_cgi.rb: take over $DEBUG to ruby process
+ through CGI.
- * ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect if the
- path contains a NUL.
+Thu Oct 30 22:59:39 2003 why the lucky stiff <why@ruby-lang.org>
-Sat Apr 6 11:39:19 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/yaml2byte.c: HASH const too long. Thanks, matz.
- * ext/socket: Improve socket exception message to show socket address.
- [ruby-core:45617] [Feature #6583] proposed Eric Hodel.
+Thu Oct 30 19:13:53 2003 Akinori MUSHA <knu@iDaemons.org>
- * ext/socket/rubysocket.h (rsock_sys_fail_host_port): Declared.
- (rsock_sys_fail_path): Ditto.
- (rsock_sys_fail_sockaddr): Ditto.
+ * ext/syck/MANIFEST: Add yamlbyte.h.
- * ext/socket/udpsocket.c (udp_connect): Use rsock_sys_fail_host_port.
- (udp_bind): Ditto.
- (udp_send): Ditto.
+Thu Oct 30 14:25:31 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/init.c (rsock_init_sock): Specify a string for rb_sys_fail
- argument.
- (make_fd_nonblock): Ditto.
- (rsock_s_accept): Ditto.
+ * io.c (READ_DATA_BUFFERED): new macro to detect whether stdio
+ buffer filled.
- * ext/socket/ipsocket.c (init_inetsock_internal): Use
- rsock_sys_fail_host_port.
+ * io.c (rb_io_fptr_cleanup): move path deallocation to
+ rb_io_fptr_finalize (finalizer called by GC).
- * ext/socket/socket.c (rsock_sys_fail_host_port): Defined.
- (rsock_sys_fail_path): Ditto.
- (rsock_sys_fail_sockaddr): Ditto.
- (setup_domain_and_type): Use rsock_sys_fail_sockaddr.
- (sock_connect_nonblock): Ditto.
- (sock_bind): Ditto.
- (sock_gethostname): Specify a string for rb_sys_fail argument.
- (socket_s_ip_address_list): Ditto.
+Thu Oct 30 13:23:39 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/basicsocket.c (bsock_shutdown): Specify a string for
- rb_sys_fail argument.
- (bsock_setsockopt): Use rsock_sys_fail_path.
- (bsock_getsockopt): Ditto.
- (bsock_getpeereid): Refine the argument for rb_sys_fail.
+ * parse.y (logop): left may be NULL. [ruby-talk:84539]
- * ext/socket/unixsocket.c (rsock_init_unixsock): Use
- rsock_sys_fail_path.
- (unix_path): Ditto.
- (unix_send_io): Ditto.
- (unix_recv_io): Ditto.
- (unix_addr): Ditto.
- (unix_peeraddr): Ditto.
+ * eval.c (rb_eval): NODE_CASE nd_head may be NULL.
-Sat Apr 6 11:23:18 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+Thu Oct 30 10:14:51 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):
- fix load path for encoding to run the test as stand-alone.
+ * lib/test/unit/autorunner.rb: make fox runner work.
-Sat Apr 6 09:54:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 30 09:32:26 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * pack.c (NATINT_LEN): fix definition order, must be after
- NATINT_PACK.
+ * process.c (rb_f_system): fixed lack of security check before
+ calling do_spawn() on win32. [ruby-talk:84555]
-Sat Apr 6 03:11:07 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Thu Oct 30 02:46:35 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/psych/lib/psych/visitors/yaml_tree.rb: fix symbol keys in coder
- emission. Thanks @tjwallace
- * test/psych/test_coder.rb: test for change
+ * eval.c (proc_invoke): single array value to normal Proc#call
+ (i.e. not via lambda call), should be treated just like yield.
+ [ruby-dev:21726]
-Sat Apr 6 02:54:08 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Thu Oct 30 02:25:48 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/psych/lib/psych/exception.rb: there should be only one exception
- base class. Fixes tenderlove/psych #125
- * ext/psych/lib/psych.rb: require the correct exception class
- * ext/psych/lib/psych/syntax_error.rb: ditto
- * ext/psych/lib/psych/visitors/to_ruby.rb: ditto
+ * ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):
+ add new method to inherit @sync from @io.sync.
-Sat Apr 6 02:30:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): no need to
+ set sync flag explicitly.
- * parse.y (new_defined): remove all extra parentheses, and return
- "nil" for defined? with empty expression.
- [ruby-core:54024] [Bug #8224]
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): call super.
-Sat Apr 6 02:06:04 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): set extra chain
+ certificates in @extra_chain_cert.
- * ext/psych/lib/psych/visitors/to_ruby.rb: correctly register
- self-referential strings. Fixes tenderlove/psych #135
+Wed Oct 29 22:02:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/psych/test_string.rb: appropriate test.
+ * test/drb/drbtest.rb: use rbconfig.rb to make the path of ruby
+ interpreter to exec, instead of test/ruby/envutil.rb,
-Sat Apr 6 01:21:56 2013 Tanaka Akira <akr@fsij.org>
+Wed Oct 29 19:58:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/socket/init.c (cloexec_accept): Fix a compile error on
- Debian GNU/kFreeBSD. Consider HAVE_ACCEPT4 is defined
- but SOCK_CLOEXEC is not defined.
+ * ext/tcltklib/tcltklib.c (CONST84): define CONST84 when it is not
+ defined and TCL_MAJOR_VERSION >= 8.
-Sat Apr 6 00:19:30 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * ext/tcltklib/tcltklib.c (VwaitVarProc, WaitVariableProc,
+ rb_threadVwaitProc): use CONST84 instead of CONST.
- * load.c (features_index_add): use rb_str_subseq() to specify C string
- position properly to fix require non ascii path.
- [ruby-core:53733] [Bug #8165]
+ * ext/tcltklib/tcltklib.c (ip_rbTkWaitCommand,
+ ip_rb_threadTkWaitCommand): use CONST84 always.
- * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):
- a test for the above.
+Wed Oct 29 17:27:05 2003 Tanaka Akira <akr@m17n.org>
-Fri Apr 5 20:41:49 2013 Tanaka Akira <akr@fsij.org>
+ * re.c (rb_reg_s_union, Init_Regexp): new method `Regexp.union'.
- * include/ruby/defines.h (HAVE_TRUE_LONG_LONG): Defined to distinguish
- availability of long long and availability of 64bit integer type.
+ * lib/pathname.rb (realpath): examine Dir.pwd because it may have
+ symlinks.
- * pack.c: Use HAVE_TRUE_LONG_LONG to distinguish q! and Q! support.
+Wed Oct 29 17:16:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Apr 5 20:19:42 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_longjmp): must not disturb original jump.
+ [ruby-dev:21733]
- * addr2line.c: Include ruby/missing.h to fix compile error on Debian.
+Wed Oct 29 15:28:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Apr 5 19:39:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (Init_Proc): taint preallocated exception object
+ sysstack_error. [ruby-talk:84534]
- * compile.c (iseq_compile_each): fix of defined? with empty
- expression. [ruby-core:53999] [Bug #8220]
+Wed Oct 29 11:27:39 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Apr 5 13:22:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (ret_args): node may be NULL. [ruby-talk:84530]
- * ext/curses/curses.c (Init_curses): fix implementation function,
- crmode should be same as cbreak. [ruby-core:54013] [Bug #8222]
+Tue Oct 28 15:20:12 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Apr 5 12:06:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/tcltklib/tcltklib.c (VwaitVarProc, ip_rbVwaitObjCmd,
+ WaitVariableProc, WaitVisibilityProc, WaitWindowProc,
+ ip_rbTkWaitObjCmd, ip_rbTkWaitCommand, rb_threadVwaitProc,
+ rb_threadWaitVisibilityProc, rb_threadWaitWindowProc,
+ ip_rb_threadVwaitObjCmd, ip_rb_threadTkWaitObjCmd): prototype;
+ avoid VC++ warnings.
- * ext/curses/hello.rb: Typo in Curses example by Drew Blas
- [Fixes GH-273]
+Mon Oct 27 19:19:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Apr 4 23:45:13 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_longjmp): ignore reentering error while warning.
+ [ruby-dev:21730]
- * lib/resolv.rb (bind_random_port): Rescue EACCES for SunOS.
- bind() on SunOS for port 2049 (nfs) and 4045 (lockd) causes
- EACCES with unprivileged process. cf. PRIV_SYS_NFS in privileges(5)
- [ruby-core:48064] [Bug #7183] reported by Frank Meier.
+Mon Oct 27 00:23:50 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Apr 4 23:24:45 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c (ip_ruby): bug fix on Win : hang-up when
+ calling 'exit' in the Tk callback procedure. [ruby-list:38656]
- * ext/socket/extconf.rb: Remove condition for bcc.
+Sat Oct 25 09:18:04 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Apr 4 22:53:23 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_method_missing): protect exception from within
+ "inspect". (ruby-bugs:PR#1204)
- * include/ruby/ruby.h (FIX2LONG): Parenthesize the macro body.
+Fri Oct 24 23:26:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Apr 4 22:32:32 2013 Tanaka Akira <akr@fsij.org>
+ * hash.c (rb_hash_each): Hash#each should yield single value.
+ [ruby-talk:84420]
- * time.c (time_strftime): Describe %L and %N truncates digits under
- the specified length.
- [ruby-core:52130] [Bug #7829]
+ * hash.c (env_each): ditto for ENV.each.
-Thu Apr 4 22:08:46 2013 Tanaka Akira <akr@fsij.org>
+Thu Oct 23 20:25:32 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * object.c (rb_mod_cvar_set): Reverted "avoid inadvertent
- symbol creation" to avoid SEGV by
- Class.new.class_variable_set(1, 2).
+ * lib/webrick/server.rb (GenericServer#start): should rescue
+ IOError from IO::accept. [ruby-dev:21692]
-Thu Apr 4 20:07:19 2013 Tanaka Akira <akr@fsij.org>
+Thu Oct 23 17:59:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/pathname/pathname.c (path_write): New method.
- (path_binwrite): Ditto.
- [ruby-core:49468] [Feature #7378]
+ * eval.c (ruby_cleanup): initialize stack bottom for embedding.
+ [ruby-dev:21686]
-Thu Apr 4 16:51:29 2013 Yuki Yugui Sonoda <yugui@google.com>
+ * ext/dl/extconf.rb: move list of files to clean from DEPEND file,
+ to get rid of macro redefinitions.
- * thread_pthread.c: Fixes wrong scopes of #if USE_SLEEPY_TIMER_THREAD
- .. #endif sections. This fixes a build error on NativeClient.
+Thu Oct 23 13:44:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Apr 3 17:25:31 2013 Yuki Yugui Sonoda <yugui@google.com>
+ * parse.y: integrate operations for stack_type. [ruby-dev:21681]
- * thread_pthread.c (ruby_init_stack): Avoid using uninitialized value.
- stackaddr and size are not set if get_stack() fails.
+Thu Oct 23 00:41:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu Apr 4 16:55:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/soap/calc/*, test/soap/helloworld/*: set logging threshold
+ to ERROR.
- * struct.c (make_struct): avoid inadvertent symbol creation.
- (rb_struct_aref): ditto.
- (rb_struct_aset): ditto.
+Wed Oct 22 12:53:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Apr 4 16:54:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
+ ignore tests which raised LoadError.
- * object.c (rb_mod_const_set): avoid inadvertent symbol creation.
- (rb_obj_ivar_set): ditto.
- (rb_mod_cvar_set): ditto.
+ * test/drb/drbtest.rb, test/ruby/test_beginendblock.rb,
+ test/ruby/test_system.rb: avoid requiring same file twice.
-Thu Apr 4 15:46:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/drb/test_drbssl.rb, test/drb/test_drbunix.rb: should not use
+ ARGV unless invoked directly. do not create test cases unless
+ required libraries are available.
- * enum.c (enum_inject): avoid inadvertent symbol creation.
+Wed Oct 22 02:31:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Apr 4 14:37:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (ruby_cleanup): should not ignore exit_value in END
+ execution. [ruby-dev:21670]
- * thread.c (rb_thread_aref): avoid inadvertent symbol creation.
- (rb_thread_variable_get): ditto.
- (rb_thread_key_p): ditto.
- (rb_thread_variable_p): ditto.
+Tue Oct 21 23:16:26 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Apr 4 11:33:57 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (ruby_cleanup): call finalizers and exit procs before
+ terminating threads.
- * ext/openssl/ossl_bn.c (ossl_bn_to_i): Use bn2hex to speed up.
- In general, binary to/from decimal needs extra cost.
+ * eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().
-Thu Apr 4 07:24:18 2013 Tanaka Akira <akr@fsij.org>
+Tue Oct 21 15:57:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/extconf.rb: Specify arguments to test functions.
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
+ prepend the directory of target file to the load path.
-Thu Apr 4 03:25:09 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Oct 21 15:08:53 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/openssl/ossl_bn.c (ossl_bn_initialize): fix can't create from bn.
+ * win32/win32.c (do_spawn, do_aspawn): should wait child process even
+ if callded with P_OVERLAY.
-Wed Apr 3 22:09:25 2013 Tanaka Akira <akr@fsij.org>
+ * win32/win32.c (do_spawn, do_aspawn): should return child's exit
+ status to parent.
- * ext/socket/extconf.rb: Test functions and libraries after headers.
+Tue Oct 21 00:35:02 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed Apr 3 21:23:29 2013 Tanaka Akira <akr@fsij.org>
+ * test/soap/calc/*, test/soap/helloworld/*: catch the exception from
+ test server thread and recover.
- * io.c (rb_io_seek_m): Accept :CUR, :END, :SET as "whence" argument.
- (interpret_seek_whence): New function.
- [ruby-dev:45818] [Feature #6643]
+Tue Oct 21 00:22:57 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Apr 3 20:52:49 2013 Tanaka Akira <akr@fsij.org>
+ * test/drb/*: import drb/runit.
- * process.c: Describe the behavior which Ruby invokes a commandline
- directly without shell if the commandline is simple enough.
- [ruby-core:50459] [Bug #7489]
+Mon Oct 20 23:55:47 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Apr 3 20:27:37 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_eval): set current node after arguments evaluation.
+ [ruby-dev:21632]
- * ext/extmk.rb (extmake): Invoke Logging::log_close in a ensure
- clause.
+ * eval.c (rb_yield_0): set current node and keep it at local jump.
-Wed Apr 3 18:53:58 2013 Tanaka Akira <akr@fsij.org>
+Mon Oct 20 22:01:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/extmk.rb (extmake): Use Logging.open to switch stdout and
- stderr. Delay Logging::log_close until the failure message is
- written. Write the failure message only if log file is opened.
+ * eval.c (rb_thread_cleanup): keep thread group for main thread.
+ [ruby-dev:21644]
- * lib/mkmf.rb (Logging.log_opened?): New method.
+Mon Oct 20 18:28:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- [ruby-dev:47215] [Bug #8209]
+ * eval.c (rb_catch): backout.
-Wed Apr 3 17:11:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Oct 20 17:31:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * win32/win32.c (constat_apply): pass through unknown sequence which
- starts with ESC but is not followed by a bracket. [ruby-core:53879]
- [Bug #8201]
+ * eval.c (PUSH_FRAME): generate unique number to be TAG_JUMP()
+ destination.
-Wed Apr 3 16:35:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (localjump_destination): use unique number in ruby_frame
+ for localjump destination.
- * bignum.c (rb_big_eq): hide intermediate Bignums not just freeing
- memory. [ruby-core:53893] [Bug #8204]
+Mon Oct 20 11:31:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c (rb_obj_hide): hide an object by clearing klass.
+ * test/ruby/test_signal.rb (test_signal): restore old trap.
- * bignum.c (rb_big_eq): test as Fixnum if possible and get rid of zero
- length Bignum. [ruby-core:53893] [Bug #8204]
+Mon Oct 20 11:00:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Apr 2 23:56:03 2013 Tanaka Akira <akr@fsij.org>
+ * gc.c (gc_sweep): loosen page free condition to avoid add_heap()
+ race condition. [ruby-dev:21633]
- * lib/securerandom.rb (SecureRandom.random_bytes): Use
- OpenSSL::Random.random_add instead of OpenSSL::Random.seed and
- specify 0.0 as the entropy.
- [ruby-core:47308] [Bug #6928]
+ * gc.c (gc_sweep): do not update malloc_limit when malloc_increase
+ is smaller than malloc_limit.
-Tue Apr 2 20:24:52 2013 Tanaka Akira <akr@fsij.org>
+Mon Oct 20 09:45:12 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * pack.c: Support Q! and q! for long long.
- (natstr): Moved to toplevel. Add q and Q if there is long long type.
- (endstr): Moved to toplevel.
- (NATINT_PACK): Consider long long.
- (NATINT_LEN_Q): New macro.
- (pack_pack): Support Q! and q!.
- (pack_unpack): Ditto.
- [ruby-dev:43970] [Feature #3946]
+ * lib/debug.rb (debug_command): remove debug print.
-Tue Apr 2 19:24:26 2013 Tanaka Akira <akr@fsij.org>
+Wed Oct 20 00:25:41 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/-test-/num2int/num2int.c: Define utility methods
- as module methods of Num2int.
+ * eval.c (search_required): required name must not be changed before
+ loading. [ruby-dev:24492]
- * test/-ext-/num2int/test_num2int.rb: Follow the above change.
+Sun Oct 19 13:12:30 2003 Tanaka Akira <akr@m17n.org>
-Tue Apr 2 18:49:01 2013 Tanaka Akira <akr@fsij.org>
+ * lib/pathname.rb (foreachline, dir_foreach): add obsolete warning.
- * lib/securerandom.rb: Don't use Array#to_s.
- [ruby-core:52058] [Bug #7811] fixed by zzak (Zachary Scott).
+Sun Oct 19 00:14:22 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Apr 2 17:38:20 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/soap/calc/*, test/soap/helloworkd/*: changed port# of test
+ server. (17171)
- * re.c (rb_reg_to_s): suppress duplicated charclass warning.
- Regexp#to_s suppress extra its whole regexp options by calling
- onig_new with its source, but it doesn't call rb_reg_preprocess.
- Therefore its Unicode escapes (\u{XXXX}) are given as is,
- and it may cause duplicated charclass warning for example
- "[\u{33}]" (3 is duplicated) or "[\u{a}\u{b}]" (u is duplicated).
- [ruby-core:53649] [Bug #8151]
+Sat Oct 18 23:01:32 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Apr 2 16:00:06 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * missing/acosh.c (DBL_MANT_DIG): typo fix(ifdef -> ifndef).
- * vm_dump.c (rb_print_backtrace): separate to ease showing C backtrace.
+Sat Oct 18 05:48:59 2003 why the lucky stiff <why@ruby-lang.org>
- * internal.h (rb_print_backtrace): ditto.
+ * ext/syck/rubyext.c: YAML::Syck::compile method.
-Tue Apr 2 15:22:09 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/syck/syck.c: Buffer edge bug.
- * test/ruby/envutil.rb (assert_separately): stop_auto_run of
- Test::Unit::Runner to prevent auto runner use ARGV.
+ * ext/syck/yaml2byte.c: YAML to bytecode converter.
- * test/ruby/envutil.rb (assert_separately): add $: to separate process.
+ * ext/syck/yamlbyte.h: Ditto.
- * test/ruby/envutil.rb (assert_separately): fail if stderr is not
- empty and ignore_stderr is false.
+ * ext/syck/bytecode.c: Bytecode parser fixes to empty collections
+ and empty strings.
-Tue Apr 2 06:46:59 2013 Tanaka Akira <akr@fsij.org>
+ * ext/syck/token.c: Ditto.
- * ext/-test-/num2int/num2int.c: Rename utility methods
- to global functions to ease manual experiments.
+Fri Oct 17 23:07:38 2003 Akinori MUSHA <knu@iDaemons.org>
- * test/-ext-/num2int/test_num2int.rb: Follow the above change.
+ * ext/enumerator/enumerator.c, ext/enumerator/enumerator.txt:
+ Provide Kernel#to_enum as an alias for Kernel#enum_for. Maybe
+ this is a better name.
-Mon Apr 1 22:26:17 2013 Tanaka Akira <akr@fsij.org>
+Fri Oct 17 23:00:30 2003 Akinori MUSHA <knu@iDaemons.org>
- * ext/zlib/zlib.c (rb_gzfile_set_mtime): Use NUM2UINT.
- The old logic doesn't work well on LP64 platforms as:
- .. -2**63-1 => error,
- -2**63 .. -2**62-1 => success,
- -2**62 .. -2**31-1 => error,
- -2**31 .. 2**31-1 => success,
- 2**31 .. 2**62-1 => error,
- 2**62 .. 2**64-1 => success,
- 2**64 .. => error.
+ * lib/generator.rb: Add rdoc documentation.
-Mon Apr 1 22:08:02 2013 Benoit Daloze <eregontp@gmail.com>
+Fri Oct 17 22:16:42 2003 Akinori MUSHA <knu@iDaemons.org>
- * ext/zlib/zlib.c (Zlib::Inflate.new):
- Fix documentation syntax and naming errors.
- Based on patch by Robin Dupret. Fix GH-271.
+ * lib/set.rb: Reword and fix Overview.
-Mon Apr 1 21:22:31 2013 Tanaka Akira <akr@fsij.org>
+ * lib/set.rb: It is not necessary to require
+ 'test/unit/ui/console/testrunner'.
- * test/-ext-/num2int/test_num2int.rb: Test small bignums.
+Fri Oct 17 11:15:22 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Apr 1 21:10:56 2013 Tanaka Akira <akr@fsij.org>
+ * test/ruby/test_range.rb: added.
- * numeric.c (rb_num2ulong_internal): Don't cast a negative double value
- into unsigned long, which is undefined behavior.
- (rb_num2ull): Don't cast a value bigger than LLONG_MAX into
- long long, which is undefined behavior.
+ * MANIFEST: add test/ruby/test_range.rb.
-Mon Apr 1 20:57:57 2013 Tanaka Akira <akr@fsij.org>
+Fri Oct 17 03:21:23 2003 William Sobel <will.sobel@barra.com>
- * ext/-test-/num2int/num2int.c: Return string for result, instead of
- printing.
+ * ext/socket/socket.c (make_hostent): h_aliases may be NULL.
+ (ruby-bugs:PR#1195)
- * test/-ext-/num2int/test_num2int.rb: updated to follow above change.
+ * ext/socket/socket.c (sock_s_gethostbyaddr): ditto.
-Mon Apr 1 20:08:07 2013 Tanaka Akira <akr@fsij.org>
+Fri Oct 17 00:12:41 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * numeric.c (rb_num2long): Don't use SIGNED_VALUE uselessly.
- (check_int): Ditto.
- (check_short): Ditto.
- (rb_num2fix): Ditto.
- (rb_num2ulong_internal): Add a cast.
+ * ext/tk/lib/tk.rb: (bug fix) instance variable @frame was used
+ without initializing on TkComposite module.
-Mon Apr 1 18:41:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 16 23:51:04 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * configure.in: skip autoconf 2.64 and 2.66, 2.67 seems short-lived
- but stick on it for Debian Squeeze.
+ * ext/tk/lib/tk.rb: If $DEBUG == true and some exception is caused
+ in a callback operation, Ruby/Tk shows a (verbose) backtrace
+ information on the callback process.
-Mon Apr 1 14:22:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 16 17:09:19 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: check clang version by predefined macro values.
- [Bug #8192]
+ * lib/debug.rb (DEBUGGER__::Context::debug_command): do not call
+ debug_silent_eval() when $1 is not set. (ruby-bugs:PR#1194)
-Mon Apr 1 12:05:15 2013 Tanaka Akira <akr@fsij.org>
+Thu Oct 16 16:54:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * numeric.c (check_uint): Take the 1st argument as unsigned long,
- instead of VALUE. Refine the validity test conditions.
- (check_ushort): Ditto.
+ * string.c (rb_str_upto): ("a"..."a").to_a should return [].
+ [ruby-core:01634]
-Mon Apr 1 07:15:03 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+Thu Oct 16 16:40:51 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * configure.in: use quadrigraph to put '[' or ']'. [Bug #8192]
+ * ext/tk/lib/tk.rb:
+ Add Tk::EncodedString and Tk::UTF8_String class to support
+ characters using the \uXXXX escape to the UNICODE string.
-Mon Apr 1 04:16:41 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/sample/{demos-en,demos-jp}/unicodeout.rb
+ new demo-scripts (samples of Tk::UTF8_String)
- * configure.in: kick old clang. [ruby-dev:47204] [Bug #8192]
+ * ext/tk/sample/{demos-en,demos-jp}/widget
+ add entries for 'unicodeout.rb'
-Mon Apr 1 01:12:46 2013 Tanaka Akira <akr@fsij.org>
+Thu Oct 16 08:38:06 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h (FIX2ULONG): Make it consistent with NUM2ULONG.
+ * test/digest/test_digest.rb (test_eq): show failed class.
- * ext/-test-/num2int/num2int.c: Add utility methods for FIX2XXX tests.
+ * test/ruby/test_iterator.rb (test_break, test_return_trace_func):
+ test localjump destination.
- * test/-ext-/num2int/test_num2int.rb: Add tests for FIX2XXX.
+Wed Oct 15 20:22:31 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun Mar 31 17:17:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/netHttpClient.rb: use URI::HTTP#request_uri instead of
+ instance_eval('path_query'). [ruby-list:38575]
- * proc.c (rb_mod_define_method): consider visibility in define_method.
- patch by mashiro <mail AT mashiro.org>. fix GH-268.
+Wed Oct 15 17:24:45 2003 URABE Shyouhei <root@mput.dip.jp>
-Sun Mar 31 15:40:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/cgi.rb (CGI::Cookie): tiny typo fix.
- * win32/configure.bat: try to fix option arguments split by commas and
- equals here. this batch file no longer run with old command.com.
+Wed Oct 15 15:00:54 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/mkconfig.rb: no hacks for cmd.exe.
+ * eval.c (ruby_run): just return FAILURE instead of parse error
+ count. [ruby-list:38569]
-Sun Mar 31 13:47:04 2013 Tanaka Akira <akr@fsij.org>
+Wed Oct 15 13:17:02 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * numeric.c (rb_num2ulong_internal): New function similar to
- rb_num2ulong but integer wrap around flag is also returned.
- (rb_num2ulong): Use rb_num2ulong_internal.
- (rb_num2uint): Use rb_num2ulong_internal and the wrap around flag is
- used instead of negative_int_p(val).
- (rb_num2ushort): ditto.
+ * ext/digest/digest.c (rb_digest_base_alloc): need to initialize
+ buffer. [ruby-dev:21622]
-Sun Mar 31 06:27:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 15 11:23:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * class.c (HAVE_METACLASS_P): should check FL_SINGLETON flag before get
- instance variable to get rid of wrong warning about __attached__.
- [ruby-core:53839] [Bug #8188]
+ * marshal.c (w_object): dump extended modules as well.
-Sat Mar 30 14:11:28 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * marshal.c (r_object0): TYPE_USRMARSHAL should restore extended
+ modules before invoking marshal_load. these two fixes are done
+ by Masatoshi Seki <m_seki@mva.biglobe.ne.jp>.
- * bcc32: removed. agreed at
- http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130223Japan
+Wed Oct 15 09:30:34 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Mar 30 03:58:00 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/enumerator/enumerator.c (enumerator_each): avoid VC++ warning.
- * win32/file.c (code_page): use cp1252 instead of cp20127 as US-ASCII.
- fix [ruby-core:53079] [Bug #7996]
- reported and patched by mmeltner (Michael Meltner).
+ * ext/syck/syck.h: include stdio.h for definition of FILE.
-Sat Mar 30 03:49:21 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Oct 15 08:09:07 2003 why the lucky stiff <why@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).
+ * ext/syck/bytecode.c: Checkin of YAML bytecode support.
-Fri Mar 29 22:09:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/syck/gram.c: Ditto.
- * thread.c (rb_mutex_synchronize_m): yield no block params. patch by
- splattael (Peter Suschlik) in [ruby-core:53773] [Bug #8097].
- fix GH-266.
+ * ext/syck/syck.c: Ditto.
-Fri Mar 29 16:51:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/syck/token.c: Ditto.
- * io.c (argf_next_argv): set init flag if succeeded to forward, after
- skipping.
+ * ext/syck/handler.c: Ditto.
- * io.c (argf_block_call_i, argf_block_call): no more forwarding if
- forwarded after skipping. [ruby-list:49185]
+ * ext/syck/handler.c: Now using 'tag' rather than 'taguri' in type URIs.
- * io.c (argf_close): deal with init flag.
+ * ext/syck/rubyext.c: Ditto (on both counts).
- * io.c (argf_block_call_i, argf_block_call): forward next file if
- skipped while iteration, to get rid of IOError. [ruby-list:49185]
+Wed Oct 15 05:05:53 2003 Akinori MUSHA <knu@iDaemons.org>
-Fri Mar 29 11:09:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/generator.rb: A new library which converts an internal
+ iterator to an external iterator.
- * lib/mkmf.rb (configuration): not include all CFLAGS in CXXFLAGS, to
- use different set than C for C++. [ruby-core:45273] [Bug #6504]
+ * lib/abbrev.rb: A new library which creates an abbreviation table
+ from a list.
-Fri Mar 29 10:24:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 15 04:31:51 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * include/ruby/io.h: undef POSIX compliant names on AIX, which are no
- longer needed. patch suggested by edelsohn (David Edelsohn) in
- [ruby-core:53815]. [Bug #8174]
+ * ext/tk/sample/demos-en/entry3.rb, ext/tk/sample/demos-jp/entry3.rb :
+ new demo-scripts
-Fri Mar 29 06:39:42 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/demos-en/widget, ext/tk/sample/demos-jp/widget :
+ add entries for 'entry3.rb'
- * numeric.c (rb_num2ull): Cast double to unsigned LONG_LONG via
- LONG_LONG instead of double to unsigned LONG_LONG directly.
- This is a challenge to fix a test_num2ull(TestNum2int)
- failure (NUM2ULL(-1.0) should be "18446744073709551615" but was "0")
- on Mac OS X with 32bit clang.
- http://a.mrkn.jp/~mrkn/chkbuild/mountain_lion/ruby-trunk-m32-o0/log/20130328T191100Z.diff.html.gz
+Wed Oct 15 04:31:47 2003 Akinori MUSHA <knu@iDaemons.org>
-Fri Mar 29 00:54:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/digest/test_digest.rb: Moved from ext/digest/test.rb.
- * lib/mkmf.rb (MAIN_DOES_NOTHING): ensure symbols for tests to be
- preserved. [ruby-core:53745] [Bug #8169]
+Wed Oct 15 03:53:20 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Mar 28 23:11:25 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: fixed trouble on auto-load Tcl commands (enbug
+ on the last commit).
- * lib/resolv.rb: Test Windows platform by detecting LoadError when
- require 'win32/resolv' suggested by Nobuyoshi Nakada [ruby-core:53389].
- [ruby-core:53388] [Feature #8090] Reported by Charles Nutter.
+Wed Oct 15 00:25:00 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Mar 28 23:10:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (yylex): argument parentheses preceded by spaces should
+ be warned; not error. [ruby-talk:84103]
- * include/ruby/io.h: rename SVR3,4 member names as POSIX compliant,
- to get rid of conflict on AIX. [ruby-core:53765] [Bug #8174]
+Wed Oct 15 00:20:15 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Mar 28 18:22:21 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c: replace Tcl/Tk's vwait and tkwait to
+ switch on threads smoothly and avoid seg-fault.
- * test/-ext-/num2int/test_num2int.rb: extract
- assert_num2i_success_internal and assert_num2i_error_internal and
- provide assertion messages as "NUM2XXX(NNN)".
+ * ext/tcltklib/tcltklib.c: add TclTkIp._thread_vwait and
+ _thread_tkwait for waiting on a thread. (Because Tcl/Tk's vwait
+ and tkwait command wait on an eventloop.)
-Thu Mar 28 07:05:25 2013 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/multi-tk.rb: support TclTkIp._thread_vwait and
+ _thread_tkwait.
- * include/ruby/intern.h: Delete redundant inclusions caused by
- AC_INCLUDES_DEFAULT in defines.h.
+ * ext/tk/lib/tk.rb: now, TkVariable#wait has 2 arguments.
+ If 1st argument is true, waits on a thread. If false, waits on
+ an eventloop. If 2nd argument is true, checks existence of
+ rootwidgets. If false, doesn't. Default is wait(true, false).
- * include/ruby/defines.h: Ditto.
+ * ext/tk/lib/tk.rb: add TkVariable#tkwait(arg) which is equal to
+ TkVariable#wait(arg, true). wait_visibility and wait_destroy
+ have an argument for waiting on a thread or an eventloop.
- * include/ruby/ruby.h: Ditto.
+ * ext/tk/lib/tk.rb: improve of accessing Tcl/Tk's special variables.
- * include/ruby/st.h: Ditto.
+ * ext/tk/lib/tkafter.rb: support 'wait on a thread' and 'wait on
+ an eventloop'.
-Thu Mar 28 06:51:31 2013 Tanaka Akira <akr@fsij.org>
+Wed Oct 15 00:10:24 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * include/ruby/defines.h: Fix a compilation error on NetBSD,
- "type of formal parameter 1 is incomplete" for the rb_thread_wait_for
- invocation in rb_file_flock, by including header files as
- AC_INCLUDES_DEFAULT of autoconf.
+ * lib/soap/baseData.rb: Introduce SOAPType as the common ancestor of
+ SOAPBasetype and SOAPCompoundtype.
-Wed Mar 27 22:09:14 2013 Tanaka Akira <akr@fsij.org>
+ * lib/soap/generator.rb, lib/soap/element.rb, lib/soap/encodingstyle/*:
+ Encoding methods signature change. Pass SOAPGenerator as a parameter.
- * numeric.c (LONG_MIN_MINUS_ONE_IS_LESS_THAN): New macro.
- (LLONG_MIN_MINUS_ONE_IS_LESS_THAN): Ditto.
- (rb_num2long): Use LONG_MIN_MINUS_ONE_IS_LESS_THAN.
- (rb_num2ulong): Ditto.
- (rb_num2ll): Use LLONG_MIN_MINUS_ONE_IS_LESS_THAN.
- (rb_num2ull): Ditto.
+ * lib/soap/mapping/*, test/soap/marshal/test_marshal.rb: Refactoring
+ for better marshalling/unmarshalling support. Now I think SOAP
+ marshaller supports all kind of object graph which is supported by
+ Ruby's original marshaller. Of course there could be bugs as always.
+ Find it. :-)
- * test/-ext-/num2int/test_num2int.rb (assert_num2i_success): Test the
- value converted into a Float if Float can represent the value
- exactly.
- (assert_num2i_error): Ditto.
+ * lib/soap/rpc/standaloneServer.rb: Set severity threshould to INFO.
+ DEBUG is too noisy.
-Wed Mar 27 20:59:47 2013 Tanaka Akira <akr@fsij.org>
+ * lib/xsd/datatypes.rb: DateTime#of is obsoleted. Use DateTime#offset.
- * test/-ext-/num2int/test_num2int.rb (assert_num2i_success): New
- utility method.
- (assert_num2i_error): Ditto.
+ * test/wsdl/emptycomplextype.wsdl, test/xsd/xmlschema.xml: Avoid
+ useless warning.
-Wed Mar 27 20:37:59 2013 Tanaka Akira <akr@fsij.org>
+Tue Oct 14 19:09:35 2003 Nobuyoshi Nakada <nobu@ruby-lang.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.
+ * eval.c (ruby_finalize_0): return the given exit status unless
+ SystemExit got raised.
-Wed Mar 27 12:07:40 2013 Tanaka Akira <akr@fsij.org>
+Tue Oct 14 11:53:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/-ext-/num2int/test_num2int.rb (test_num2ll): test LLONG_MIN,
- not LONG_MIN.
+ * intern.h (ruby_stop): never return.
-Wed Mar 27 12:02:45 2013 Tanaka Akira <akr@fsij.org>
+ * ruby.h (ruby_run): ditto.
- * internal.h (TIMET_MAX_PLUS_ONE): definition simplified.
+Tue Oct 14 04:43:55 2003 Tanaka Akira <akr@m17n.org>
-Wed Mar 27 06:39:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/pathname.rb (realpath): make ELOOP check bit more robust.
+ (children): prepend self by default.
+ (chroot): obsoleted.
- * lib/mkmf.rb (MAIN_DOES_NOTHING): force to refer symbols for tests
- to be preserved. [ruby-core:53745] [Bug #8169]
+Tue Oct 14 02:29:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Mar 27 05:15:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_require_safe): segfault after loading .so.
- * configure.in (RUBY_REPLACE_TYPE): define SIGNEDNESS_OF_type same as
- check_signedness of mkmf.rb.
+Tue Oct 14 02:05:23 2003 Akinori MUSHA <knu@iDaemons.org>
- * internal.h (TIMET_MAX, TIMET_MIN, TIMET_MAX_PLUS_ONE): use
- SIGNEDNESS_OF_TIME_T.
+ * ext/Setup*, ext/enumerator/*: Add ext/enumerator, a helper
+ module for the Enumerable interface.
-Wed Mar 27 00:28:45 2013 Tanaka Akira <akr@fsij.org>
+Mon Oct 13 23:55:59 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * internal.h (TIMET_MAX_PLUS_ONE): Defined.
+ * test/ruby/envutil.rb: use Config::CONFIG["ruby_install_name"],
+ not "ruby".
- * thread.c (double2timeval): Saturate out-of-range values.
+Mon Oct 13 23:57:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 26 23:41:18 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_feature_p): match by classified suffix.
- * internal.h: Define TIMET_MAX and TIMET_MIN here.
+ * eval.c (rb_require_safe): require library in the specified safe
+ level.
- * time.c: Remove TIMET_MAX and TIMET_MIN definitions.
+ * variable.c (rb_autoload, rb_autoload_load): restore safe level
+ when autoload was called. [ruby-dev:21338]
- * thread.c: Ditto.
+ * intern.h: prototypes; rb_require_safe.
- * thread_pthread.c: Remove TIMET_MAX definition.
+ * test/runner.rb: accept non-option arguments.
- * thread_win32.c: Ditto.
+Mon Oct 13 20:49:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Mar 26 22:31:10 2013 Tanaka Akira <akr@fsij.org>
+ * string.c (str_new4): should not preserve FL_TAINT status in the
+ internal shared string. [ruby-dev:21601]
- * ext/socket/socket.c (sockaddr_len): return the shortest length for
- unknown socket address.
+ * string.c (rb_str_new4): ditto.
-Tue Mar 26 22:14:46 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c: use EXIT_SUCCESS and EXIT_FAILURE for exit values.
- * thread.c (double2timeval): convert the infinity to TIME_MAX to avoid
- SEGV by Thread.new {}.join(Float::INFINITY) on
- Debian GNU/Linux (amd64).
+ * process.c: ditto. [ruby-list:38521]
-Mon Mar 25 07:09:20 2013 Eric Hodel <drbrain@segment7.net>
+Mon Oct 13 19:51:02 2003 Koji Arai <jca02266@nifty.ne.jp>
- * lib/rinda/tuplespace.rb: Only return tuple entry once on move,
- either through port or regular return, not both. This results in a
- 120% speedup when combined with #8125. Patch by Joel VanderWerf.
- [ruby-trunk - Feature #8119]
+ * lib/debug.rb (debug_command): should enter emacs mode when
+ assigned any value to the environment variable "EMACS".
+ On Meadow, (getenv "EMACS") is "meadow".
-Mon Mar 25 06:59:01 2013 Eric Hodel <drbrain@segment7.net>
+Sun Oct 12 14:45:03 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/rinda/test_rinda.rb: Skip IPv6 tests if no IPv6 addresses
- exist. Skip fork-dependent test if fork is not available.
- [ruby-trunk - Bug #8159]
+ * ext/win32ole/extconf.rb: check "windows.h", not "windows".
+ [ruby-talk:84051]
-Sun Mar 24 10:38:24 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sat Oct 11 20:41:03 2003 Corinna Vinschen <corinna@vinschen.de>
- * addr2line.c (putce): suppress unused return value warning.
+ * file.c (eaccess): Use access(2) on Cygwin.
-Mon Mar 25 02:01:03 2013 Narihiro Nakamura <authornari@gmail.com>
+Sat Oct 11 17:09:21 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * proc.c (bm_free): need to clean up the mark flag of a free and
- unlinked method entry. [Bug #8100] [ruby-core:53439]
+ * lib/rexml/quickpath.rb (REXML::QuickPath::match):
+ escape '[' to avoid warning.
-Sun Mar 24 22:13:51 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Oct 11 16:08:41 2003 Tanaka Akira <akr@m17n.org>
- * string.c (rb_str_rpartition): revert r39903, and convert byte offset
- to char offset; the return value of rb_reg_search is byte offset,
- but other than it of rb_str_rpartition expects char offset.
- [Bug #8138] [ruby-dev:47183]
+ * lib/pathname.rb (realpath): check existence of the file.
-Sun Mar 24 18:29:46 2013 Akinori MUSHA <knu@iDaemons.org>
+ * lib/pathname.rb (realpath): re-implemented.
+ (realpath_root?, realpath_rec): removed
- * string.c (rb_str_rpartition): Fix String#rpartition(/re/)
- against a multibyte string. [Bug #8138] [ruby-dev:47183]
+Sat Oct 11 10:19:39 2003 Shugo Maeda <shugo@ruby-lang.org>
-Sun Mar 24 13:42:24 2013 Narihiro Nakamura <authornari@gmail.com>
+ * lib/monitor.rb: handle exceptions correctly. Thanks, Gennady
+ Bystritsky.
- * gc.c (GC_ENABLE_LAZY_SWEEP): new macro to switch lazy sweeping
- for debugging. [Feature #8024] [ruby-dev:47135]
+Fri Oct 10 07:50:54 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Mar 24 12:55:47 2013 Narihiro Nakamura <authornari@gmail.com>
+ * eval.c (is_defined): inheritance line adjustment as like as
+ rb_call_super().
- * gc.c: We have no chance to expand the heap when lazy sweeping is
- restricted. So collecting is often invoked if there is not
- enough free space in the heap. Try to expand heap when this is
- the case.
+Fri Oct 10 01:19:00 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Mar 24 11:03:31 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_x509name.c (ossl_x509name_initialize): add
+ optional argument to specify the DirectoryString type
+ (ASN1::UTF8STRING by default). RFC3280 deprecates PrintableString
+ for DirectoryString, and strongly requires to use UTF8String for
+ all certificates issued after December, 31 2003.
- * test/ruby/test_require.rb: Remove temporally files in the tests.
+ * ext/openssl/lib/openssl/x509.rb (X509::Name::parse): ditto.
- * test/ruby/test_rubyoptions.rb: Ditto.
+Thu Oct 9 23:50:21 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/logger/test_logger.rb: Ditto.
+ * eval.c (rb_thread_start_0): prevent thread from GC.
+ [ruby-dev:21572]
- * test/psych/test_psych.rb: Ditto.
+Thu Oct 9 19:11:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/readline/test_readline.rb: Ditto.
+ * eval.c (rb_thread_start_0): non-volatile should be restored from
+ volatile.
- * test/syslog/test_syslog_logger.rb: Ditto.
+Thu Oct 9 17:43:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/webrick/test_httpauth.rb: Ditto.
+ * eval.c (proc_save_safe_level, proc_get_safe_level,
+ proc_set_safe_level): save/restore safe level 1..4.
- * test/zlib/test_zlib.rb: Ditto.
+Thu Oct 9 16:33:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Mar 24 05:36:29 2013 Eric Hodel <drbrain@segment7.net>
+ * marshal.c (r_object0): remove unnecessary iv restoration for
+ USRMARSHAL. [ruby-dev:21582]
- * lib/rinda/ring.rb: Added documentation for multicast support.
+ * marshal.c (w_object): dump generic instance variables from
+ a string from '_dump'.
- * NEWS: Point to above documentation.
+ * variable.c (rb_generic_ivar_table): return 0 if obj's FL_EXIVAR
+ is not set.
-Sun Mar 24 05:32:39 2013 Eric Hodel <drbrain@segment7.net>
+ * time.c (time_dump): copy instance variables to dumped string, to
+ be included in the marshaled data.
- * test/rinda/test_rinda.rb: Restore tests commented out while fixing
- test slowdown bug before r39895.
+ * bignum.c (rb_big2ulong): add range check to ensure round trip.
-Sun Mar 24 05:03:36 2013 Eric Hodel <drbrain@segment7.net>
+Thu Oct 9 15:45:27 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rinda/ring.rb: Add multicast support to Rinda::RingFinger and
- Rinda::RingServer. [ruby-trunk - Bug #8073]
- * test/rinda/test_rinda.rb: Test for the above.
+ * pack.c (uv_to_utf8): change message to "out of range", since
+ negative values are not "too big". [ruby-dev:21567]
- * NEWS: Update with Rinda multicast support
+Thu Oct 9 14:05:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Mar 24 04:13:27 2013 Eric Hodel <drbrain@segment7.net>
+ * eval.c (rb_set_end_proc, rb_exec_end_proc): restore safe level.
+ [ruby-dev:21557]
- * test/rinda/test_rinda.rb: Fixed test failures in r39890 and r39891
- due to stopping DRb service.
+Thu Oct 9 10:51:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Mar 24 03:34:02 2013 Eric Hodel <drbrain@segment7.net>
+ * eval.c (rb_yield_0): no error if block is empty.
- * lib/rinda/rinda.rb: Fixed loss of tuple when remote is alive but the
- call stack was unwound. Patch by Joel VanderWerf.
- [ruby-trunk - Bug #8125]
- * test/rinda/test_rinda.rb: Test for the above.
+Thu Oct 9 06:43:33 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Mar 24 02:14:53 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (localjump_error): id should be ID.
- * test/mkmf/test_have_macro.rb: remove temporally files in the tests.
+ * eval.c (rb_eval): nd_rval is set in copy_node_scope().
-Sat Mar 23 23:50:04 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (rb_yield_0): unused variable.
- * addr2line.c (kprintf): added from FreeBSD libstand's printf.
- this is consided as async signal safe function.
+ * eval.c (rb_yield_0): nothing to do for empty node.
- * addr2line.c (rb_dump_backtrace_with_lines): use kfprintf.
- [Bug #8144] [ruby-core:53632]
+ * eval.c (call_end_proc, proc_invoke): adjust backtrace in END.
+ [ruby-dev:21551]
-Sat Mar 23 23:28:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * eval.c (rb_thread_start_0): set the value by break as the result.
+ [ruby-dev:21552]
- * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Use Qnil and NIL_P
- instead of (VALUE)0 as a return value.
+ * eval.c (rb_thread_start_0, rb_thread_raise, rb_callcc): save
+ variables across THREAD_SAVE_CONTEXT.
- * ext/bigdecimal/bigdecimal.c (BigDecimal_div): ditto.
+Thu Oct 9 12:05:46 2003 Eric Sunshine <sunshine@sunshineco.com>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto.
+ * configure.in: revived NextStep, OpenStep, and Rhapsody ports which
+ had become unbuildable; enhanced --enable-fat-binary option so that
+ it accepts a list of desired architectures (rather than assuming a
+ fixed list), or defaults to a platform-appropriate list if user does
+ not provide an explicit list; made the default list of architectures
+ for MAB (fat binary) more comprehensive; now uses -fno-common even
+ when building the interpreter (in addition to using it for
+ extensions), thus allowing the interpreter to be embedded into a
+ plugin module of an external project (in addition to allowing
+ embedding directly into an application); added checks for
+ <netinet/in_systm.h> (needed by `socket' extension) and getcwd(); now
+ ensures that -I/usr/local/include is employed when extensions'
+ extconf.rb scripts invoke have_header() since extension checks on
+ NextStep and OpenStep will fail without it if the desired resource
+ resides in the /usr/local tree; fixed formatting of --help message.
- * ext/bigdecimal/bigdecimal.c (BigDecimal_remainder): ditto.
+ * Makefile.in: $(LIBRUBY_A) rule now deletes the archive before
+ invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives
+ (see configure's --enable-fat-binary option); added rule for new
+ missing/getcwd.c.
-Sat Mar 23 17:39:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * defines.h: fixed endian handling during MAB build (see configure's
+ --enable-fat-binary option) to ensure that all portions of the
+ project see the correct WORDS_BIGENDIAN value (some extension modules
+ were getting the wrong endian setting); added missing constants
+ GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep
+ and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H
+ define in NeXT section.
- * vm_eval.c (check_funcall_respond_to): preserve passed_block, which
- is modified in vm_call0_body() via vm_call0(), and caused a bug of
- rb_check_funcall() by false negative result of rb_block_given_p().
- re-fix [ruby-core:53650] [Bug #8153].
- [ruby-core:53653] [Bug #8154]
+ * dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on
+ NextStep since, on some installations, this value always resolves
+ uselessly to zero.
-Fri Mar 22 17:48:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dln.c: added error reporting to NextStep extension loader since the
+ previous behavior of failing silently was not useful; now ensures
+ that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined
+ for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice
+ on Rhapsody since this header lacks multiple-include protection,
+ which resulted in "redefinition" compilation errors.
- * lib/forwardable.rb (Forwardable::FILE_REGEXP): create regexp object
- outside sources for eval, to reduce allocations in def_delegators
- wrappers. //o option does not make each regexps shared. patch by
- tmm1 (Aman Gupta) in [ruby-core:53620] [Bug #8143].
+ * main.c: also create hard reference to objc_msgSend() on NeXT
+ platforms (in addition to Apple platforms).
-Fri Mar 22 17:38:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/mkmf.rb: now exports XCFLAGS from configure script to extension
+ makefiles so that extensions can be built MAB (see configure's
+ --enable-fat-binary option); also utilize XCFLAGS in cc_command()
+ (but not cpp_command() because MAB flags are incompatible with
+ direct invocation of `cpp').
- * load.c (rb_feature_p), vm_core.h (rb_vm_struct): turn
- loaded_features_index into st_table. patches by tmm1 (Aman Gupta)
- in [ruby-core:53251] and [ruby-core:53274] [Bug #8048]
+ * ext/curses/extconf.rb: now additionally checks for presence of these
+ curses functions which are not present on NextStep or Openstep:
+ bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),
+ setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),
+ wscrl(), wsetscrreg()
-Fri Mar 22 10:29:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/curses/curses.c: added appropriate #ifdef's for additional set of
+ curses functions now checked by extconf.rb; fixed curses_bkgd() and
+ window_bkgd() to correctly return boolean result rather than numeric
+ result; fixed window_getbkgd() to correctly signal an error by
+ returning nil rather than -1.
- * ext/bigdecimal/bigdecimal.c: Fix style.
+ * ext/etc/etc.c: setup_passwd() and setup_group() now check for null
+ pointers before invoking rb_tainted_str_new2() upon fields extracted
+ from `struct passwd' and `struct group' since null pointers in some
+ fields are common on NextStep/OpenStep (especially so for the
+ `pw_comment' field) and rb_tainted_str_new2() throws an exception
+ when it receives a null pointer.
-Fri Mar 22 05:30:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
+ platforms such as NextStep and OpenStep which lack strdup().
- * parse.y (ambiguous_operator): refine warning message, since this
- warning is shown after literal too.
+ * ext/socket/getaddrinfo.c: cast first argument of getservbyname(),
+ gethostbyaddr(), and gethostbyname() from (const char*) to non-const
+ (char*) for older platforms such as NextStep and OpenStep.
-Fri Mar 22 04:51:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for
+ platforms such as NextStep and OpenStep which lack strdup(); include
+ <netinet/in_systm.h> if present for NextStep and OpenStep; cast first
+ argument of gethostbyaddr() and getservbyname() from (const char*) to
+ non-const (char*) for older platforms.
- * vm_insnhelper.c (vm_callee_setup_keyword_arg): should check required
- keyword arguments even if rest hash is defined. [ruby-core:53608]
- [Bug #8139]
+ * ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
+ platforms such as NextStep and OpenStep which lack strdup().
-Fri Mar 22 01:00:17 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Wed Oct 8 22:19:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * process.c (rb_execarg_addopt, run_exec_pgroup): use rb_pid_t
- instead of pid_t.
+ * lib/test/unit.rb: removed installation instructions.
- * ext/pty/pty.c (raise_from_check, pty_check): ditto.
+ * lib/test/unit/ui/testrunnermediator.rb: moved the run flag to a more
+ central location.
-Fri Mar 22 00:04:15 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/test/unit.rb: ditto.
- * addr2line.c (rb_dump_backtrace_with_lines): output line at once.
+ * lib/test/unit.rb: extracted the running code in to AutoRunner.
-Thu Mar 21 23:17:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/autorunner.rb: added.
- * thread.c (ruby_kill): get rid of deadlock on signal 0.
- [ruby-dev:47182] [Bug #8137]
+ * lib/test/unit/collector/objectspace.rb: extracted common test
+ collection functionality in to a module.
-Thu Mar 21 22:39:46 2013 Naohisa Goto <ngotogenome@gmail.com>
+ * lib/test/unit/collector.rb: ditto; added.
- * marshal.c (marshal_dump, marshal_load): workaround for segv on
- Intel Solaris compiled with Oracle SolarisStudio 12.3.
- Partly revert r38174. [ruby-core:52042] [Bug #7805]
+ * test/testunit/collector/test_objectspace.rb: ditto.
-Thu Mar 21 16:48:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/collector/dir.rb: added. Supports collecting tests out
+ of a directory structure.
- * parse.y (simple_re_meta): escape all closing characters, not only
- round parenthesis. [ruby-core:53578] [Bug #8133]
+ * test/testunit/collector/test_dir.rb: added.
-Thu Mar 21 13:50:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/runner.rb: simplified to use the new capabilities.
- * vm_core.h (UNINITIALIZED_VAR): suppress warnings by clang 4.2.
- [ruby-core:51742] [Bug #7756]
+Tue Oct 7 15:23:09 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu Mar 21 07:34:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * test/ruby/test_beginendblock.rb: add tests for nested BEGIN/END.
- * ext/date/date_core.c: Typo in Date::MONTHNAMES by Matt Gauger
- [GH fixes #261]
+ * test/ruby/beginmainend.rb: add tests for nested BEGIN/END.
-Wed Mar 20 22:53:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/endblockwarn.rb: new file added to test of END-in-method
+ warning.
- * lib/mkmf.rb (find_library): fix to format message.
- [ruby-core:53568] [Bug #8130]
+Tue Oct 7 12:23:47 2003 Tanaka Akira <akr@m17n.org>
-Wed Mar 20 22:52:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/fcntl/fcntl.c (Init_fcntl): define Fcntl::O_ACCMODE.
- * lib/mkmf.rb (install_dirs, with_destdir): prefix with DESTDIR
- directories to install only unless bundled extension libraries.
- [ruby-core:53502] [Bug #8115]
+ * ext/socket/extconf.rb: useless assignment removed.
-Wed Mar 20 17:47:53 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Oct 7 09:13:24 2003 Nobuyoshi Nakada <nobu@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.
+ * test/ruby/test_beginendblock.rb (test_endinmethod): END{} is now
+ allowed in eval.
-Wed Mar 20 16:40:48 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+Tue Oct 7 04:15:25 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_signal.rb (test_hup_me): skip if HUP isn't supported.
- On Windows this test causes ArgumentError.
+ * parse.y (stmt): should not expand mrhs if lhs is solely starred.
-Wed Mar 20 16:24:12 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+Tue Oct 7 02:57:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rubygems/test_gem_installer.rb (test_install_extension_flat):
- use ruby in build directory in case ruby is not installed.
- [ruby-core:53265] [Bug #8058]
+ * parse.y (stmt): rhs of multiple assignment should not be
+ expanded using "to_a". [ruby-dev:21527]
-Wed Mar 20 15:22:07 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Oct 7 01:42:34 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/win32ole/test_err_in_callback.rb (TestErrInCallBack#setup): use
- relative path to get rid of "too long commandline" error.
+ * ext/openssl/ossl_asn1.c (ossl_asn1_get_asn1type): use appropriate
+ free function for ASN1_OBJECT.
-Wed Mar 20 04:27:42 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_sn): add new function for
+ ASN1::ObjectId#sn; it returns short name text representation of OID.
- * test/rinda/test_rinda.rb: remove unused variables.
- patched by Vipul A M <vipulnsward@gmail.com>
+ * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_ln): add new function for
+ ASN1::ObjectId#ln; it returns long name text representation of OID.
-Wed Mar 20 04:15:32 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_oid): add new function for
+ ASN1::ObjectId#oid; it returns numerical representation of OID.
- * ext/bigdecimal/bigdecimal.c: fixed typo.
- patched by Vipul A M <vipulnsward@gmail.com>
+Mon Oct 6 22:59:46 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Mar 16 03:40:49 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/csv.rb (IOReader, BasicWriter): call binmode when a given IO
+ respond_to?(:binmode). record separator was wrong when you gave
+ text mode IO to Reader.parse and Writer.generate.
- * test/ruby/test_signal.rb (test_hup_me): added a few comments.
+ * test/csv/test_csv.rb: add tests for above change.
-Sat Mar 16 03:39:38 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sun Oct 5 23:27:09 2003 Tanaka Akira <akr@m17n.org>
- * thread.c (ruby_kill): added a few comments.
+ * ext/socket/extconf.rb: check recvmsg even if sendmsg is exists.
-Sat Mar 16 03:36:56 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/socket/socket.c (thread_read_select): restored.
- * thread.c (ruby_kill): release GVL while waiting signal delivered.
+Mon Oct 6 16:23:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 19 19:50:48 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * marshal.c (w_object): wrong method name in the message.
- * ruby_kill (internal.h, thread.c): use rb_pid_t instead of pid_t.
- this fixes the build failure of mswin introduced at r39819.
+Mon Oct 6 16:02:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Mar 19 17:09:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (stmt): END in method should cause warning.
+ [ruby-dev:21519]
- * string.c (rb_str_conv_enc_opts): convert with one converter, instead
- of re-creating converters for each buffer expansion.
+Mon Oct 6 15:17:23 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Mar 19 17:06:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_iterator.rb (test_block_argument_without_paren):
+ added. (follows sample/test.rb)
- * dir.c (glob_helper): compose HFS file names from UTF8-MAC.
- [ruby-core:48745] [Bug #7267]
+Mon Oct 6 11:57:06 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Mar 16 01:44:29 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: added
+ test for eval-ed BEGIN END order.
- * internal.h: added a declaration of ruby_kill().
- * thread.c (ruby_kill): helper function of kill().
+Mon Oct 6 09:19:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * signal.c (rb_f_kill): use ruby_kill() instead of kill().
- * signal.c (rb_f_kill): call rb_thread_execute_interrupts()
- to ensure that make SignalException if sent a signal
- to myself. [Bug #7951] [ruby-core:52864]
+ * marshal.c (w_object): should pass "weak" value to next level.
+ [ruby-dev:21496]
- * vm_core.h (typedef struct rb_thread_struct): added
- th->interrupt_cond.
- * thread.c (rb_threadptr_interrupt_common): added to
- initialization of th->interrupt_cond.
- * thread.c (thread_create_core): ditto.
+ * eval.c (proc_alloc): should not use cached object if klass is
+ different. [ruby-talk:83685]
- * test/ruby/test_signal.rb (TestSignal#test_hup_me): test for
- the above.
+Sun Oct 5 23:27:09 2003 Tanaka Akira <akr@m17n.org>
-Sat Mar 16 00:42:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/pathname.rb: version information is added in document.
- * io.c (linux_iocparm_len): enable only exist _IOC_SIZE().
- Because musl libc doesn't have it. [Bug #8051] [ruby-core:53229]
+Sun Oct 5 23:07:03 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 19 10:05:04 2013 Shota Fukumori <her@sorah.jp>
+ * eval.c (rb_f_END): block should be given. [ruby-dev:21497]
- * ext/objspace/objspace.c: Fix typo in doc. Patch by Sho Hashimoto.
- [Bug #8116] [ruby-dev:47177]
+Sun Oct 5 22:51:23 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Mar 19 02:13:00 2013 Kenta Murata <mrkn@mrkn.jp>
+ * lib/ext/openssl/extconf.rb: add check for some engine functions
+ unavailable in OpenSSL-0.9.6.
- * configure.in: set ac_cv_prog_cxx if CXX is supplied.
+ * lib/ext/openssl/ossl_engine.c: ditto.
-Tue Mar 19 01:18:00 2013 Kenta Murata <mrkn@mrkn.jp>
+Sun Oct 5 17:56:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: Fix c++ compiler auto-selection not only for
- Darwin 11.x, but also the other versions of Darwin.
+ * eval.c (rb_eval): fix evaluation order. [ruby-list:38431]
-Tue Mar 19 00:26:22 2013 Narihiro Nakamura <authornari@gmail.com>
+Sun Oct 5 15:05:06 2003 akira yamada <akira@ruby-lang.org>
- * gc.c: Improve accuracy of objspace_live_num() and
- allocated/freed counters. patched by tmm1(Aman Gupta).
- [Bug #8092] [ruby-core:53392]
+ * test/uri/*: translated RUNIT to Test::Unit.
-Mon Mar 18 21:42:48 2013 Narihiro Nakamura <authornari@gmail.com>
+Sun Oct 5 14:37:39 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c: Avoid unnecessary heap growth. patched by tmm1(Aman Gupta).
- [Bug #8093] [ruby-core:53393]
+ * lib/xsd/datatypes.rb: Rational -> Decimal string bug fix.
-Mon Mar 18 17:58:36 2013 Narihiro Nakamura <authornari@gmail.com>
+ * test/soap/marshal/test_marshal.rb: ditto.
- * gc.c: Fix unlimited memory growth with large values of
- RUBY_FREE_MIN. patched by tmm1(Aman Gupta).
- [Bug #8095] [ruby-core:53405]
+ * test/soap/calc/test_calc_cgi.rb: add Config::CONFIG["EXEEXT"] to
+ RUBYBIN.
-Mon Mar 18 14:46:19 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Oct 5 13:47:22 2003 NAKAMURA, Hiroshi <nahi@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.
+ * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: add tests
+ about scope, order and allowed syntax.
-Mon Mar 18 13:29:52 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sun Oct 5 11:54:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * vm_dump.c (backtrace): on darwin use custom backtrace() to trace
- beyond _sigtramp. darwin's backtrace can't trace beyond signal
- trampoline with sigaltstack.
+ * test/ruby/envutil.rb: added. split "rubybin" from test_system.rb.
- * configure.in: check execinfo.h on darwin.
+ * test/ruby/test_system.rb: use envutil.rb
-Mon Mar 18 11:03:23 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/ruby/test_beginendblock.rb: added.
- * vm_exec.h (END_INSN): revert r39517 because the segv seems fixed by
- r39806.
+ * test/ruby/beginmainend.rb: added. used in test_beginendblock.rb.
-Mon Mar 18 10:41:06 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sun Oct 5 11:23:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * vm_exec.c: Correct predefined macro name. This typo is introduced by
- r36534 and should be backported to ruby_2_0_0.
+ * test/testunit/runit/test_testresult.rb: removed some unnecessary
+ cruft.
-Mon Mar 18 03:18:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Sun Oct 5 11:14:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * array.c: Typo in Array#delete by Timo Sand [GH fixes #258]
+ * lib/rubyunit.rb: aliasing TestCase into the top level is
+ problematic.
-Mon Mar 18 01:14:56 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/runit/assert.rb: fixed a couple of bugs caused by recent
+ refactoring in Test::Unit.
- * io.c (io_fillbuf): show fd number on failure to debug.
- http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/20130316T050302Z.diff.html.gz
+ * test/testunit/runit/*: added.
-Sun Mar 17 02:38:21 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sun Oct 5 10:55:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/date/date_core.c: include sys/time.h for avoiding implicit
- declaration of gettimeofday().
+ * lib/open-uri.rb (URI::Generic#find_proxy): no_proxy support did not
+ work. [ruby-dev:21484]
-Sun Mar 17 00:55:31 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sun Oct 5 09:52:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * include/ruby/missing.h: removed __linux__. it's unnecessary.
+ * lib/test/unit/assertions.rb: will use pp for output if available.
+ Can be disabled by setting Assertions.use_pp = false.
-Fri Mar 15 14:57:16 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * test/testunit/test_assertions.rb: made a small change to exception
+ formatting.
- * 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.
+Sun Oct 5 07:42:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Wed Mar 13 15:16:35 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/test/unit/assertions.rb: made small improvements to assertion
+ messages. Deprecated Assertions#assert_not_nil; use #assert instead.
- * include/ruby/missing.h (__syscall): moved to...
- * io.c: here. because __syscall() is only used from io.c.
+ * test/testunit/test_assertions.rb: ditto.
- * 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].
+ * test/testunit/util/test_procwrapper.rb: use #assert instead of
+ #assert_not_nil.
-Wed Mar 13 14:38:53 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sun Oct 5 04:10:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * include/ruby/missing.h (struct timespec): include <sys/time.h>
+ * lib/test/unit/assertions.rb: refactored message building.
-Wed Mar 13 13:54:45 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sun Oct 5 03:40:22 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * 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.
+ * ext/openssl/ossl_asn1.h: global symbols should be declared
+ as external.
- * file.c: include sys/time.h explicitly.
- * random.c: ditto.
- * thread_pthread.c: ditto.
- * time.c: ditto.
- * ext/date/date_strftime.c: ditto.
+Sun Oct 5 03:03:20 2003 akira yamada <akira@ruby-lang.org>
-Fri Mar 15 14:45:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * test/ruby/test_exception.rb (test_else): added.
- * configure.in (_FORTIFY_SOURCE): added a few comments.
+Sun Oct 5 02:12:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Fri Mar 15 14:17:55 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/test/unit/assertions.rb: changed assertion messages to rely more
+ heavily on #inspect. Added backtrace filtering for exceptions in
+ assertion messages.
- * thread_pthread.c (numberof): renamed from ARRAY_SIZE() because
- other all files use numberof().
+ * test/testunit/test_assertions.rb: ditto.
-Say Mar 15 01:33:00 2013 Charles Oliver Nutter <headius@headius.com>
+Sun Oct 5 02:12:00 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * test/ruby/test_lazy_enumerator.rb (TestLazyEnumerator#test_drop_while):
- Modify while condition to show dropping remains off after first false
- value. This change was made in 39711.
+ * lib/drb/acl.rb, lib/drb/ssl.rb: added.
-Fri Mar 15 23:06:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/drb/drb.rb: exit from a thread using 'break'.
- * time.c (GetTimeval): check if already initialized instance.
+Sat Oct 4 21:49:14 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * time.c (GetNewTimeval): check if newly created instance.
+ * gc.c (Init_stack): the type of space is changed to unsigned int
+ from double. [ruby-dev:21483]
- * time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
- be newly created instance. [ruby-core:53436] [Bug #8099]
+Sat Oct 4 17:52:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Mar 15 14:51:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/netHttpClient.rb: follow http-access2. hosts which matches
+ ENV['no_proxy'] or ENV['NO_PROXY'] are not proxyed.
+ - [,:] separated. ("ruby-lang.org:rubyist.net")
+ - no regexp. (give "ruby-lang.org", not "*.ruby-lang.org")
+ - if you want specify host by IP address, give full address.
+ ("192.168.1.1, 192.168.1.2")
- * file.c (rb_sys_fail_path_with_func): share same function, and path
- may be nil.
+ * lib/soap/rpc/cgistub.rb: return "Status: XXX MMM" line.
-Fri Mar 15 08:24:51 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/runner.rb: give testsuite name.
- * io.c (rb_sys_fail_path): define & use rb_sys_fail_path0 like r39752
+Sat Oct 4 15:16:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Mar 15 04:08:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * marshal.c (w_object): instance variable dump do not cause error
+ for objects that cannot be dumped, if they traversed from
+ marshal_dump. they are just ignored.
- * proc.c: Typo in Proc.arity found by Jack Nagel [Bug #8094]
+ * gc.c (Init_stack): cast "space" (doble value) into unsigned
+ int. should run on PowerPC.
-Thu Mar 14 16:59:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_eval): should not execute else part if any exception
+ is caught. [ruby-dev:21482]
- * configure.in (rb_cv_function_name_string): macro for function name
- string predefined identifier, __func__ in C99, or __FUNCTION__ in
- gcc.
+ * parse.y (f_args): should allow unparenthesized block argument.
- * file.c (rb_sys_fail_path): use RUBY_FUNCTION_NAME_STRING.
+ * parse.y (f_rest_arg): should allow unparenthesized rest
+ argument.
-Thu Mar 14 14:12:34 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Oct 4 14:59:51 2003 Tanaka Akira <akr@m17n.org>
- * file.c (rb_sys_fail_path): use rb_sys_fail_path0 only on GCC.
- __func__ is C99 feature.
+ * lib/pathname.rb (initialize): raise ArgumentError if argument has
+ '\0' character.
+ (relative_path_from): new method.
+ (each_entry): new method for replacement of dir_foreach.
+ (foreach, foreachline, dir_foreach, chdir): obsoleted.
-Thu Mar 14 12:59:59 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Oct 4 12:58:48 2003 akira yamada <akira@ruby-lang.org>
- * file.c (rb_sys_fail_path0): add to append the name of called function
- to ease debugging for example blow umask_spec failure.
- http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20130309T010202Z.diff.html.gz
+ * test/uri/* (6 files): added.
- * file.c (rb_sys_fail_path): use rb_sys_fail_path0.
+Sat Oct 4 12:44:45 2003 akira yamada <akira@ruby-lang.org>
-Thu Mar 14 12:53:15 2013 Luis Lavena <luislavena@gmail.com>
+ * lib/uri/ftp.rb, lib/uri/mailto.rb: renamed to #to_s from #to_str.
- * 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]
+Sat Oct 4 07:33:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Thu Mar 14 11:53:01 2013 Narihiro Nakamura <authornari@gmail.com>
+ * lib/test/unit/testsuite.rb: changed #<< to return self, and added
+ #delete.
- * NEWS: describe RUBY_HEAP_SLOTS_GROWTH_FACTOR.
+ * test/testunit/test_testsuite.rb: ditto. Also slightly refactored
+ #test_size.
-Thu Mar 14 10:01:12 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/test/unit/collector/objectspace.rb: collector now preserves the
+ hierarchy of suites.
- * doc/globals.rdoc: $? is thread-local
+ * test/testunit/collector/test_objectspace.rb: ditto.
-Wed Mar 13 23:25:59 2013 Narihiro Nakamura <authornari@gmail.com>
+Sat Oct 4 04:48:49 2003 why the lucky stiff <why@ruby-lang.org>
- * gc.c: allow to tune growth of heap by environment variable
- RUBY_HEAP_SLOTS_GROWTH_FACTOR. patched by tmm1(Aman Gupta).
- [Feature #8015] [ruby-core:53131]
+ * ext/syck/rubyext.c: default keys handled.
-Wed Mar 13 19:43:46 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * ext/syck/syck.h: lowered default buffer size to 16k for increased
+ performance.
- * doc/irb/irb.rd.ja: fix typo
+ * test/yaml: checkin of basic unit tests.
- * ext/tk/MANUAL_tcltklib.eng: fix typos
+Sat Oct 4 04:24:19 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/tk/sample/tktextframe.rb (Tk#component_delegates): fix typo
+ * ext/openssl/extconf.rb: add check for X509V3_set_nconf.
-Wed Mar 13 15:13:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):
+ cannot implement if X509V3_set_nconf doesn't exist.
- * class.c (rb_obj_singleton_methods): collect methods from the origin
- class. [ruby-core:53207] [Bug #8044]
+Sat Oct 4 02:12:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed Mar 13 14:51:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/xsd/datatypes.rb: dump sign by itself. under the problematic
+ platform, sprintf("%+.10g", -0.0) => +0. sigh.
- * vm_method.c (rb_export_method): directly override the flag of method
- defined in prepending class too, not adding zsuper entry.
- [ruby-core:53106] [Bug #8005]
+ * sample/wsdl/amazon/*: update schema ver2 to ver3.
-Wed Mar 13 13:06:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 4 01:33:46 2003 Tanaka Akira <akr@m17n.org>
- * configure.in (rm, shvar_to_cpp, unexpand_shvar): local is not
- available on old shells.
+ * lib/pathname.rb (initialize): duplicate and freeze argument.
+ (to_s): return duplicated string.
+ (children): new method.
+ (each_line): new alias to foreachline.
- * configure.in (shvar_to_cpp): escape quotes for old shells.
- [Bug #7959] [Bug #8071]
+Fri Oct 3 16:13:19 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Mar 13 11:11:07 2013 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/openssl/ossl_asn1.c: add DER encoder and decoder.
- * object.c (Init_Object): remove Module#used, which has been
- introduced in Ruby 2.0 by mistake. [Bug #7916] [ruby-core:52719]
+ * ext/openssl/ossl_asn1.h: add OpenSSL::ASN1 module.
-Wed Mar 13 05:49:29 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/openssl/ossl.c (Init_openssl): call Init_ossl_asn1.
- * lib/irb.rb: Fix typo
+ * ext/openssl/extconf.rb: check if X509_ATTRIBUTE has field "single".
-Tue Mar 12 22:20:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): accept
+ DER encoded data argument.
- * compile.c (iseq_set_arguments, iseq_compile_each): support required
- keyword arguments. [ruby-core:51454] [Feature #7701]
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_get_value): return
+ DER encoded data in OpenSSL::ASN1 types.
- * iseq.c (rb_iseq_parameters): ditto.
+Fri Oct 3 13:02:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * parse.y (f_kw, f_block_kw): ditto. this syntax is still
- experimental, the notation may change.
+ * lib/test/unit.rb: refactored to use optparse.
- * vm_core.h (rb_iseq_struct): ditto.
+ * lib/test/unit.rb: added support for selecting the output
+ level from the command-line.
- * vm_insnhelper.c (vm_callee_setup_keyword_arg): ditto.
+ * lib/test/unit.rb: added a command-line switch to stop processing
+ the command-line, allowing arguments to be passed to tests.
-Tue Mar 12 17:02:53 2013 TAKANO Mitsuhiro <tak@no32.tk>
+ * lib/test/unit.rb: changed the method for specifying a runner or a
+ filter from the command-line.
- * date_core.c: clearly specify operator precedence.
+ * lib/test/unit/collector/objectspace.rb: fixed a bug causing all
+ tests to be excluded when the filter was set to an empty array.
-Tue Mar 12 17:00:45 2013 TAKANO Mitsuhiro <tak@no32.tk>
+ * test/testunit/collector/test_objectspace.rb: ditto.
- * insns.def: fix condition.
+Fri Oct 3 08:14:32 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Mar 12 16:48:19 2013 TAKANO Mitsuhiro <tak@no32.tk>
+ * lib/irb/ruby-lex.rb (RubyLex::identify_identifier): support
+ 'class ::Foo' syntax. [ruby-talk:83514]
- * rational.c: fix dangling if, else-if and else.
+Fri Oct 3 08:01:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Tue Mar 12 06:27:59 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/test/unit/assertions.rb: added a default message for #assert,
+ #assert_block, and #flunk.
- * lib/rubygems/commands/setup_command.rb: Don't delete non-rubygems
- files when installing RubyGems.
- * test/rubygems/test_gem_commands_setup_command.rb: Test for the
- above.
+ * test/testunit/test_assertions.rb: ditto.
- * lib/rubygems/ext/ext_conf_builder.rb: Use full path to siteconf.rb
- in case the extconf.rb changes directories (like memcached does).
+ * lib/test/unit/failure.rb: failures now show a better trace of where
+ they occurred.
- * lib/rubygems/package.rb: Remove double slash from path.
- * test/rubygems/test_gem_package.rb: Test for the above.
- * test/rubygems/test_gem_package_old.rb: ditto.
+ * test/testunit/test_failure.rb: ditto (added).
- * lib/rubygems/source.rb: Revert automatic HTTPS upgrade
- * lib/rubygems/spec_fetcher.rb: ditto.
- * test/rubygems/test_gem_remote_fetcher.rb: ditto.
- * test/rubygems/test_gem_source.rb: ditto.
- * test/rubygems/test_gem_spec_fetcher.rb: ditto.
+ * lib/test/unit/testcase.rb: ditto.
-Tue Mar 12 02:25:19 2013 Eric Hodel <drbrain@segment7.net>
+ * test/testunit/test_testcase.rb: ditto.
- * lib/net/smtp.rb: Added Net::SMTP#rset method to implement the SMTP
- RSET command. [ruby-trunk - Feature #5373]
- * NEWS: ditto.
- * test/net/smtp/test_smtp.rb: Test for the above.
+ * lib/test/unit/util/backtracefilter.rb: added.
-Mon Mar 11 22:44:57 2013 Tanaka Akira <akr@fsij.org>
+ * test/testunit/util/test_backtracefilter.rb: added.
- * lib/resolv-replace.rb (TCPSocket#initialize): resolve the 3rd
- argument only if non-nil value is given.
- [ruby-dev:47150] [ruby-trunk - Bug #8054] reported and analyzed by
- mrkn.
+ * lib/test/unit/error.rb: changed to use BacktraceFilter and improved
+ output.
-Mon Mar 11 19:22:54 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/testunit/test_error.rb: ditto.
- * test/mkmf/base.rb: class name conflict.
+Thu Oct 2 20:33:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Mar 11 18:45:09 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/iconv/iconv.c (iconv_failure_initialize): conform with
+ orthodox initialization method.
- * enumerator.c (enumerator_with_index): try to convert given offset to
- integer. fix bug introduced in r39594.
+ * ext/iconv/iconv.c (iconv_fail): initialize exception instance
+ from the class, and do not share instance variables with the
+ others. [ruby-dev:21470]
-Mon Mar 11 17:27:57 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Oct 2 18:20:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/envutil.rb (EnvUtil.with_default_external): add for
- changing Encoding.default_external without warnings.
+ * time.c (Init_Time): define initialize. [ruby-dev:21469]
- * test/ruby/envutil.rb (EnvUtil.with_default_internal): ditto.
+Thu Oct 2 17:39:38 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_io_m17n.rb: use above with_default_external.
+ * ext/openssl/ossl_engine.c: add a new module OpenSSL::Engine.
+ it supports OpenSSL hardware cryptographic engine interface.
-Mon Mar 11 16:57:00 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/ossl_engine.h: ditto.
- * io.c (extract_binmode): raise error even if binmode and textmode
- don't conflict. [Bug #5918] [ruby-core:42199]
+ * ext/openssl/MANIFEST: add ossl_engine.c and ossl_engine.h.
-Mon Mar 11 12:25:12 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/extconf.rb: add check for openssl/engine.h.
- * Merge Onigmo d4bad41e16e3eccd97ccce6f1f96712e557c4518.
- fix lookbehind assertion fails with /m mode enabled. [Bug #8023]
- fix \Z matches where it shouldn't. [Bug #8001]
+ * ext/openssl/ossl.c: call Init_ossl_engine().
-Mon Mar 11 11:53:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl.h: include openssl/engine.h.
- * lib/mkmf.rb (MakeMakefile#dir_config, MakeMakefile#_libdir_basename):
- defer use of instance variable until needed. [Bug #8074]
+ * ext/openssl/ossl_pkey_{rsa,dsa,dh}.c: check if underlying
+ EVP_PKEY referes engine.
-Thu Mar 7 10:42:28 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Oct 2 17:22:37 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/thread.rb (Queue#clear): return self.
- Patch by Cubing Cube. Thank you! [Bug #7947] [ruby-dev:47098]
- * lib/thread.rb (Queue#push): ditto.
- * lib/thread.rb (SizedQueue#push): ditto.
- * test/thread/test_queue.rb: add tests for the above.
+ * time.c (time_load): restore instance variables (if any) before
+ loading from marshaled data.
-Thu Mar 7 10:40:49 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Oct 2 14:19:15 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/change_maker.rb (#diff2index): check Encoding::BINARY.
- BASERUBY may still be 1.8.x.
+ * ext/iconv/iconv.c (iconv_fail): now yield erred substring, and
+ set error object to $!.
-Thu Mar 7 08:47:42 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/iconv/iconv.c (iconv_convert): error handler block should
+ return appended part and the rest. if rest is nil, the
+ conversion stops.
- * NEWS (Mutex#owned?): no longer experimental.
+Thu Oct 2 12:00:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Mar 10 23:38:15 2013 Luis Lavena <luislavena@gmail.com>
+ * variable.c (rb_const_defined_0): look up constants in Object as
+ well. [ruby-dev:21458]
- * 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.
+ * test/ruby/test_defined.rb (TestDefined::test_defined): test for
+ constants.
-Sun Mar 10 23:27:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 2 11:17:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
- it is impossible to predict which file will be installed to where,
- by the arguments, so use intermediate destination directory always.
- [Bug #7698]
+ * lib/test/unit/assertions.rb: should not capture an
+ AssertionFailedError unless explicitly requested.
-Sun Mar 10 17:00:22 2013 Tadayoshi Funaba <tadf@dotrb.org>
+ * test/testunit/test_assertions.rb: ditto.
- * complex.c: edited rdoc.
- * rational.c: ditto.
+ * test/testunit/collector/test_objectspace.rb: fixed a test failure
+ caused by methods being returned in different orders on different
+ platforms by moving test sorting from TestSuite into the locations
+ where suites are constructed. [ruby-talk:83156]
-Sun Mar 10 15:02:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/test/unit/testcase.rb: ditto.
- * process.c (setup_communication_pipe): remove unused function.
- it was unintentionally added r39683.
+ * lib/test/unit/testsuite.rb: ditto.
-Wed Mar 6 00:30:40 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/test/unit/collector/objectspace.rb: ditto.
- * tool/gen_ruby_tapset.rb: add tapset generator.
+Thu Oct 2 03:25:01 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Mar 6 03:27:43 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * eval.c (rb_thread_raise): prototype; avoid VC++ warning.
- * probes.d (symbol-create): change argument name `string' to
- `str'. `string' is a keyword for systemtap.
+Thu Oct 2 01:37:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Mar 5 22:23:01 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * time.c (time_mdump): new marshal dumper. _dump is still
+ available for compatibility.
- * probes.d: added argument name
+ * time.c (time_mload): new marshal loader.
-Thu Mar 7 01:17:00 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * marshal.c (w_object): preserve instance variables for objects
+ with marshal_dump.
- * test/thread/test_queue.rb (TestQueue#test_thr_kill): reduce
- iterations from 2000 to 250. When running on uniprocessor
- systems, every th.kill needs TIME_QUANTUM_USEC time (i.e.
- 100msec on posix systems). Because, "r.read 1" is 3 steps
- operations that 1) release GVL 2) read 3) acquire gvl and
- (1) invoke context switch to main thread. and then, main
- thread's th.kill resume (1), but not (2). Thus read interrupt
- need TIME_QUANTUM_USEC. Then maximum iteration is 30sec/100msec
- = 300.
+ * marshal.c (r_object0): restore instance variables before calling
+ marshal_load.
-Thu Mar 7 00:14:51 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * error.c (rb_warn_m): always return nil.
- * io.c (rb_update_max_fd): use ATOMIC_CAS because this function
- is used from timer thread too.
+Thu Oct 2 01:32:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Mar 6 23:30:21 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * eval.c (rb_f_block_given_p): real required condition is
+ ruby_frame->prev->iter == ITER_CUR.
- * thread_pthread.c (ARRAY_SIZE): new.
- * thread_pthread.c (gvl_acquire_common): use low priority
- notification for avoiding timer thread interval confusion.
- If we use timer_thread_pipe[1], every gvl_yield() request
- one more gvl_yield(). It lead to thread starvation.
- [Bug #7999] [ruby-core:53095]
- * thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low
- to reserved fds.
+ * eval.c (rb_block_given_p): ditto.
-Wed Mar 6 22:36:19 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * eval.c (block_pass): update ruby_frame->iter only when previous
+ value is ITER_NOT.
- * thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd
- argument and remove hardcoded dependency of timer_thread_pipe[1].
- * thread_pthread.c (consume_communication_pipe): add fd argument.
- * thread_pthread.c (close_communication_pipe): ditto.
+Thu Oct 2 01:02:35 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread_pthread.c (timer_thread_sleep): adjust the above changes.
+ * variable.c (rb_const_defined_at): should exclude constants from
+ Object when TYPE(klass) == T_MODULE *and* exclude is on.
+ [ruby-dev:21458]
- * thread_pthread.c (setup_communication_pipe_internal): factor
- out pipe initialize logic.
+ * variable.c (rb_const_get_0): do not lookup constants from Object
+ when TYPE(klass) == T_MODULE *and* exclude is on.
-Wed Mar 6 22:56:14 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Thu Oct 2 00:21:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * thread_pthread.c (ubf_select): add to small comments why we
- need to call rb_thread_wakeup_timer_thread().
+ * test/logger/test_logger.rb: unlinking file before close causes
+ problem under win32 box.
-Wed Mar 6 21:42:24 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/xsd/datatypes.rb(XSDFloat, XSDDouble): add +/- sign explicitly
+ when stringified and embedded into XML instance. Ruby's sprintf may
+ format -0.0 as "0.0" (no minus sign) depending on underlying C
+ sprintf implementation.
- * thread_pthread.c (rb_thread_create_timer_thread): factor out
- creating communication pipe logic into separate function.
- * thread_pthread.c (setup_communication_pipe): new helper function.
- * thread_pthread.c (set_nonblock): moves a definition before
- setup_communication_pipe.
+ * test/xsd/test_xsd.rb, test/soap/test_basetype.rb: follow above change.
-Sun Mar 3 02:42:29 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * test/soap/calc/*: give httpd config param "CGIInterpreter".
+ "/usr/bin/env ruby" thing does not work under non-Unix boxes.
- * thread_pthread.c (consume_communication_pipe): retry when
- read returned CCP_READ_BUFF_SIZE.
+Sat Oct 2 00:42:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Mar 6 21:31:35 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * marshal.c (r_byte): retrieve pointer from string value for each
+ time. [ruby-dev:24404]
- * thread_pthread.c (timer_thread_sleep): use poll() instead of
- select(). select doesn't work if timer_thread_pipe[0] is
- greater than FD_SETSIZE.
- * thread_pthread.c (USE_SLEEPY_TIMER_THREAD): add a dependency
- against poll.
+ * marshal.c (r_bytes0): ditto.
-Wed Mar 6 21:00:23 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399]
- * thread_pthread.c (USE_SLEEPY_TIMER_THREAD): use more accurate
- ifdef conditions.
+ * io.c (io_read): should freeze all reading buffer.
+ [ruby-dev:24400]
-Sun Mar 3 02:30:36 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * string.c (rb_str_sum): should use bignums when bits is greater
+ than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]
- * thread_pthread.c (set_nonblock): new helper function for set
- O_NONBLOCK.
- * thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK
- to timer_thread_pipe[0] too.
+ * eval.c (specific_eval): defer pointer retrieval to prevent
+ unsafe sourcefile string modification. [ruby-dev:24382]
-Sun Mar 10 09:12:51 2013 Tadayoshi Funaba <tadf@dotrb.org>
+ * string.c (rb_str_sum): wrong cast caused wrong result.
+ [ruby-dev:24385]
- * complex.c: described syntax of string form.
- * rational.c: ditto.
+ * enum.c (enum_sort_by): hide temporary array from
+ ObjectSpace.each_object. [ruby-dev:24386]
-Sat Mar 9 11:58:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_sum): check was done with false pointer.
+ [ruby-dev:24383]
- * marshal.c (w_extended): check for prepended object.
- [ruby-core:53206] [Bug #8043]
+ * string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
-Sat Mar 9 08:36:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 2 00:25:21 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * load.c (features_index_add_single, rb_feature_p): store single index
- as Fixnum to reduce the number of arrays for the indexes. based on
- the patch by tmm1 (Aman Gupta) in [ruby-core:53216] [Bug #8048].
+ * signal.c (ruby_signal_name): adjust to the prototype.
-Sat Mar 9 00:25:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * process.c (pst_inspect): ditto.
- * marshal.c (r_object0): load prepended objects. treat the class of
- extended object in the included modules as prepended singleton
- class. [ruby-core:53202] [Bug #8041]
+ * ext/etc/etc.c (etc_getgrent, Init_etc): typo.
-Fri Mar 8 19:44:00 2013 Akinori MUSHA <knu@iDaemons.org>
+Wed Oct 1 20:49:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * man/rake.1, man/ruby.1: Use the Pa macro to make URLs stand out.
+ * gc.c (heaps): manage slots and limits together. [ruby-dev:21453]
-Fri Mar 8 13:20:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * gc.c (add_heap): should not clear heaps slot even if realloc()
+ failed.
- * ext/pathname/pathname.c (path_f_pathname): rdoc for Pathname()
+Wed Oct 1 20:36:49 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Mar 8 12:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * MANIFEST: add wince/mkconfig_wce.rb.
- * man/rake.1: Document ENVIRONMENT variables on RAKE(1) manpage
+Wed Oct 1 17:22:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Mar 8 10:44:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/etc/etc.c: add new functions: setpwent, getpwent, endpwent,
+ setgrent, getgrent, endgrent.
- * lib/webrick/httpproxy.rb: Fix typos in HTTPProxyServer [Bug #8013]
- Patch by Nobuhiro IMAI [ruby-core:53127]
+ * ext/socket/socket.c (sock_s_gethostbyname): do not reverse lookup.
-Fri Mar 8 03:16:15 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Wed Oct 1 17:01:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * class.c (rb_mod_ancestors): Include singleton_class in ancestors
- list [Feature #8035]
+ * eval.c (rb_load): Object scope had priority over required file
+ scope. [ruby-dev:21415]
- * test/ruby/test_module.rb (class): test for above
+Wed Oct 1 14:09:53 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
- * test/ruby/marshaltestlib.rb (module): adapt test
+ * wince/mkconfig_wce.rb: sorry, forget to commit.
- * NEWS: list change
+Wed Oct 1 10:08:42 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
-Thu Mar 7 14:21:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * wince/setup.mak: add sigmarionIII SDK support.
- * compile.c (iseq_compile_each): pass keyword arguments to zsuper,
- with current values. [ruby-core:53114] [Bug #8008]
+ * wince/Makefile.sub: ditto.
-Thu Mar 7 12:53:47 2013 Eric Hodel <drbrain@segment7.net>
+ * wince/mkexports.rb: fix linker error in SH4.
- * lib/rubygems/commands/setup_command.rb: Install .pem files.
- * test/rubygems/test_gem_commands_setup_command.rb: Test for the
- above.
+ * wince/mkconfig_wce.rb: camouflage RUBY_PLATFORM for compiling ext.
- * lib/rubygems/spec_fetcher.rb: Test HTTPS upgrade with URI::HTTPS,
- not URI::HTTP. Fixes bug in automatic HTTPS upgrade.
- * test/rubygems/test_gem_spec_fetcher.rb: Test for the above.
+Wed Oct 1 08:02:52 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
- * lib/rubygems.rb: Version 2.0.2
+ * wince/time_wce.c (time): add zero check.
- * lib/rubygems/test_utilities.rb: Ensure scheme and uri class match.
+Tue Sep 30 16:11:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Mar 7 10:39:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * Makefile.in: copy lex.c from $(srcdir) if it's not the current
+ directory. [ruby-dev:21437]
- * tool/rbinstall.rb (gem): Gem.ensure_gem_subdirectories now has mode
- option since r39607. refix of r38870.
+Tue Sep 30 11:29:23 2003 Tanaka Akira <akr@m17n.org>
-Wed Mar 6 13:14:28 2013 Eric Hodel <drbrain@segment7.net>
+ * process.c (pst_inspect): describe stopped process "stopped".
- * test/rubygems/test_gem_spec_fetcher.rb: Removed unused variable.
+Tue Sep 30 09:31:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Mar 6 08:10:15 2013 Eric Hodel <drbrain@segment7.net>
+ * test/runner.rb: glob for directories.
- * test/rubygems/test_require.rb: Fix tests when 'a.rb' exists.
- [ruby-trunk - Bug #7749]
+Tue Sep 30 09:11:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Mar 6 08:00:59 2013 Eric Hodel <drbrain@segment7.net>
+ * eval.c (rb_eval): while/until should not capture break unless
+ they are destination of the break.
- * lib/rubygems.rb: Allow specification of directory permissions.
- [ruby-trunk - Bug #7713]
- * test/rubygems/test_gem.rb: Test for the above.
+Tue Sep 30 03:12:02 2003 Minero Aoki <aamine@loveruby.net>
-Wed Mar 6 07:40:21 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/net/http.rb (finish): revert to 1.93.
- * lib/rubygems/commands/query_command.rb: Only fetch remote specs when
- showing details. [ruby-trunk - Bug #8019] RubyGems bug #487
- * lib/rubygems/remote_fetcher.rb: ditto.
- * lib/rubygems/security/policy.rb: ditto.
- * test/rubygems/test_gem_commands_query_command.rb: Test for the
- above.
+ * lib/net/pop.rb (finish): revert to 1.60.
- * lib/rubygems/security.rb: Make OpenSSL optional for RubyGems.
- * lib/rubygems/commands/cert_command.rb: ditto.
+ * lib/net/smtp.rb (finish): revert to 1.67.
- * lib/rubygems/config_file.rb: Display file with YAML error, not
- ~/.gemrc
+ * lib/net/http.rb (do_start): ensure to close socket if failed to
+ start session.
- * lib/rubygems/remote_fetcher.rb: Only create gem subdirectories when
- installing gems.
- * lib/rubygems/dependency_resolver.rb: ditto.
- * lib/rubygems/test_utilities.rb: ditto.
- * test/rubygems/test_gem_commands_fetch_command.rb: Test for the
- above.
+ * lib/net/pop.rb (do_start): ditto.
- * lib/rubygems/spec_fetcher.rb: Only try to upgrade
- http://rubygems.org to HTTPS
- * test/rubygems/test_gem_spec_fetcher.rb: Test for the above.
+ * lib/net/smtp.rb (do_start): ditto.
- * lib/rubygems.rb: Update win_platform? check for JRuby compatibility.
+ * lib/net/smtp.rb: SMTP#started? wrongly returned false always.
- * test/rubygems/test_gem_installer.rb: Update for Ruby 1.9.2
- compatibility
+Tue Sep 30 02:54:49 2003 Minero Aoki <aamine@loveruby.net>
-Wed Mar 6 01:19:28 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * test/ruby/test_iterator.rb: new test
+ test_break__nested_loop[123].
- * enumerator.c (enumerator_with_index, lazy_take): use INT2FIX(0)
- instead of INT2NUM(0).
+Mon Sep 29 23:39:13 2003 Minero Aoki <aamine@loveruby.net>
- * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): ditto.
+ * lib/net/http.rb (finish): does not raise IOError even if
+ !started?, to allow closing socket which was opened before
+ session started.
- * ext/fiddle/function.c (function_call): ditto.
+ * lib/net/pop.rb (finish): ditto.
- * ext/openssl/ossl_x509store.c (ossl_x509store_initialize): ditto.
+ * lib/net/smtp.rb (finish): ditto.
- * process.c (proc_getsid): ditto.
+Mon Sep 29 19:06:51 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * transcode.c (econv_finish): ditto.
+ * ext/win32ole/extconf.rb: add windows.h checking.
+ (ruby-bugs:PR#1185)
-Tue Mar 5 21:36:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Sep 29 16:18:30 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * class.c (rb_prepend_module): check redefinition of built-in optimized
- methods. [ruby-dev:47124] [Bug #7983]
+ * lib/logger.rb: check if the given logdevice object respond_to :write
+ and :close, not is_a? IO. duck duck.
- * vm.c (rb_vm_check_redefinition_by_prepend): ditto.
+ * test/logger/test_logger.rb: self IO.pipe reading/writing may be
+ locked by the flood. use tempfile.
-Tue Mar 5 20:29:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/wsdl/xmlSchema/data.rb: wrong constant reference.
- * proc.c (mnew): revert r39224. [ruby-core:53038] [Bug #7988]
+Mon Sep 29 16:11:23 2003 Minero Aoki <aamine@loveruby.net>
-Tue Mar 5 20:23:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb: clean up temporary symlink.
+ Patched by NaHi. [ruby-dev:21420]
- * include/ruby/intern.h (rb_check_arity): make a static inline
- function so it can be used as an expression and argc would be
- evaluated only once.
+Mon Sep 29 11:16:55 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Mar 5 12:30:55 2013 Eric Hodel <drbrain@segment7.net>
+ * eval.c (rb_thread_atfork): wrong format specifier.
+ [ruby-dev:21428]
- * lib/rubygems.rb: Bump version to 2.0.1 for upcoming bugfix release
+ * process.c (pst_inspect): better description.
- * lib/rubygems/ext/ext_conf_builder.rb: Restore ruby 1.8 compatibility
- for [Bug #7698]
- * test/rubygems/test_gem_installer.rb: Ditto.
+Mon Sep 29 02:31:44 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/rubygems/package.rb: Restore ruby 1.8 compatibility.
+ * lib/webrick/utils.rb (Utils::su): use setgid and setuid to
+ set real and effective IDs. and setup group access list by
+ initgroups.
- * test/rubygems/test_gem_dependency_installer.rb: Fix warnings
+Sun Sep 28 11:14:19 2003 Koji Arai <jca02266@nifty.ne.jp>
-Tue Mar 5 12:24:23 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/digest/digest.c (Init_digest): `copy_object' was deprecated.
+ `initialize_copy' should be defined.
- * enumerator.c (enumerator_with_index): Restore handling of a nil memo
- from r39594.
+ * ext/stringio/stringio.c (Init_stringio): ditto.
-Tue Mar 5 10:40:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 27 18:25:13 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/objspace/objspace.c (count_nodes): count also newly added nodes,
- and fix key for unknown node. patch by tmm1 (Aman Gupta) in
- [ruby-core:53130] [Bug #8014]
+ * lib/xsd/charset.rb: XSD::Charset.is_ces did return always true under
+ $KCODE = "NONE" environment. check added.
-Tue Mar 5 10:20:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/xsd/test_xsd.rb: add tests for above fix.
- * enumerator.c (enumerator_with_index_i): allow Bignum as offset, to
- get rid of conversion exception and integer overflow.
- [ruby-dev:47131] [Bug #8010]
+Sat Sep 27 15:58:50 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * numeric.c (rb_int_succ, rb_int_pred): shortcut optimization for
- Bignum.
+ * lib/soap/rpc/cgistub.rb: make logging severity threshold higher.
-Tue Mar 5 10:02:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/rpc/standaloneServer.rb: defer WEBrick server start to give
+ a chance to reset logging severity threshold.
- * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
- clear DESTDIR so RUBYARCHDIR and RUBYLIBDIR are not be overridden.
- [Bug #7698]
+ * test/soap/calc/test_*, test/soap/helloworld/test_helloworld.rb: run
+ silent.
-Mon Mar 4 15:33:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 27 09:44:18 2003 Minero Aoki <aamine@loveruby.net>
- * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
- fix for unusual cases again. install to a temporary directory once
- and move installed files to the destination directory, if it is same
- as the current directory. [Bug #7698]
+ * test/fileutils/test_fileutils.rb: clear all errors on Windows.
+ [ruby-dev:21417]
-Mon Mar 4 14:13:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/fileutils/test_nowrite.rb: ditto.
- * 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]
+Mon Sep 27 09:14:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Mar 4 10:23:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * array.c (rb_ary_delete): comparison may change the capacity.
+ [ruby-dev:24348]
- * encoding.c: Typo in Encoding overview by Tom Wardrop [GH fixes #255]
+ * array.c (rb_ary_fill): fill should honor length argument.
+ [ruby-dev:24346]
-Sun Mar 3 12:35:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * array.c (rb_ary_replace): should not use ptr from shared array.
+ [ruby-dev:24345]
- * lib/mkmf.rb (MakeMakefile#libpath_env): set runtime library path for
- the case rpath is disabled.
+ * ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.
+ [ruby-talk:113807]
-Sun Mar 3 12:17:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 27 04:57:07 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/rubygems/ext/ext_conf_builder.rb
- (Gem::Ext::ExtConfBuilder.hack_for_obsolete_style_gems): remove
- circular dependencies in install-so too. [ruby-core:52882]
- [Bug #7698]
+ * test/ruby/test_file.rb: new file. only asserts unlink-before-close
+ behaviour now.
-Sun Mar 3 07:33:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * test/soap/marshal/test_digraph.rb: should close before unlink.
+ unlink-before-close pattern is not needed here.
- * ext/socket/tcpserver.c: Grammar for TCPServer.new from r39554
+Sat Sep 27 03:32:37 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun Mar 3 01:17:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/soap/*, test/wsdl/*, test/xsd/*: move TestCase classes into
+ each module namespace. TestMarshal in
+ test/soap/marshal/test_marshal.rb crashed with
+ test/ruby/test_marshal.rb.
- * lib/rubygems/ext/ext_conf_builder.rb
- (Gem::Ext::ExtConfBuilder.hack_for_obsolete_style_gems): remove
- circular dependencies for old style gems which locate extconf.rb on
- the toplevel. [ruby-core:53059] [ruby-trunk - Bug #7698]
+Sat Sep 27 01:30:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
- use RUBYOPT instead of -r option, and revert some tests. [Bug #7698]
+ * ext/socket/socket.c (ruby_connect): on win32, type of the 4th
+ argument of getsockopt is char *.
- * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
- revert use of temporary directory for build, to work some buggy
- extconf.rb which cannot build outside the source directory.
- [ruby-core:53056] [Bug #7698]
+Fri Sep 26 18:35:40 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Mar 3 00:04:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/resolv-replace.rb: 1.8 compliance. [ruby-talk:82946]
- * enc/depend (CPPFLAGS), lib/mkmf.rb (MakeMakefile#create_makefile):
- define RUBY_EXPORT for static-linked-ext mswin. [Bug #7960]
+Fri Sep 26 17:39:27 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Mar 2 22:49:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_marshal.rb: add test for ruby's objects.
- * win32/Makefile.sub (ENCOBJS, EXTOBJS, config.h): definitions for
- static-linked-ext. [Bug #7960]
+Fri Sep 26 09:52:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Mar 2 17:34:19 2013 Tanaka Akira <akr@fsij.org>
+ * defines.h (flush_register_windows): use volatile only for gcc on
+ Solaris. [ruby-dev:21403]
- * lib/webrick/utils.rb: use Socket.tcp_server_sockets to create server
- sockets.
- fix [Bug #7100] https://bugs.ruby-lang.org/issues/7100
- reported by sho-h (Sho Hashimoto).
+ * lib/mkmf.rb (xsystem): use system directly to honor shell meta
+ charaters.
-Sat Mar 2 02:45:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Fri Sep 26 00:10:13 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * array.c: typo in comment patch by Nami-Doc [Github fixes #253]
+ * lib/README: updated.
-Sat Mar 2 01:33:17 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Sep 25 17:48:10 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * Merge Onigmo 0fe387da2fee089254f6b04990541c731a26757f
- v5.13.3 [Bug#7972] [Bug#7974]
+ * ext/openssl/ossl.c (ossl_buf2str): fix type of 1st argument for
+ rb_protect.
-Fri Mar 1 11:09:06 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/openssl/ossl_hmac.c (ossl_hmac_digest): should return meaningful
+ value.
- * lib/fileutils.rb: Revert r34669 which altered the way
- metaprogramming in FileUtils occurred. [ruby-trunk - Bug #7958]
+Thu Sep 25 09:00:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * test/fileutils/visibility_tests.rb: Refactored tests of FileUtils
- options modules to expose bug found in #7958
- * test/fileutils/test_dryrun.rb: ditto.
- * test/fileutils/test_nowrite.rb: ditto.
- * test/fileutils/test_verbose.rb: ditto.
+ * lib/ostruct.rb: Added OpenStruct#==.
-Fri Mar 1 09:18:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * test/ostruct/test_ostruct.rb: Added.
- * lib/psych.rb: specify in rdoc what object is returned in parser
- By Adam Stankiewicz [Github tenderlove/psych#133]
+Thu Sep 25 07:55:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Mar 1 07:21:41 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c,
+ ext/openssl/ossl_pkey_rsa.c, ext/bigdecimal/bigdecimal.h: must
+ not use C++ or C99 style comment yet. (ruby-bugs:PR#1184)
- * lib/rubygems/ext/builder.rb: Fix incompatibilities when installing
- extensions. Patch by Nobu.
- [ruby-trunk - Bug #7698] [ruby-trunk - Bug #7971]
- * lib/rubygems/ext/ext_conf_builder.rb: ditto.
- * lib/rubygems/installer.rb: ditto.
- * test/rubygems/test_gem_ext_ext_conf_builder.rb: Test for the above.
- * test/rubygems/test_gem_installer.rb: ditto.
+Thu Sep 25 00:23:22 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/rubygems/commands/sources_command.rb: Prefer HTTPS over HTTP.
- * lib/rubygems/defaults.rb: ditto
- * lib/rubygems/dependency_resolver.rb: Ditto.
- * lib/rubygems/source.rb: ditto.
- * lib/rubygems/spec_fetcher.rb: ditto.
- * lib/rubygems/specification.rb: ditto.
- * lib/rubygems/test_utilities.rb: ditto.
- * test/rubygems/test_gem.rb: Test for the above.
- * test/rubygems/test_gem_commands_sources_command.rb: ditto.
- * test/rubygems/test_gem_dependency_resolver_api_set.rb: ditto.
- * test/rubygems/test_gem_remote_fetcher.rb: ditto.
- * test/rubygems/test_gem_source.rb: ditto.
- * test/rubygems/test_gem_spec_fetcher.rb: ditto.
+ * MANIFEST: add SOAP4R.
-Fri Mar 1 03:25:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu Sep 25 00:13:15 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/psych/lib/psych.rb: rdoc for Psych overview by Adam Stankiewicz
- [Github tenderlove/psych#134]
+ * lib/soap/* (29 files): SOAP4R added.
-Thu Feb 28 22:57:48 2013 Koichi Sasada <ko1@atdot.net>
+ * lib/wsdl/* (42 files): WSDL4R added.
- * compile.c (iseq_compile_each): remove redundant trace(line)
- instruction. for example, at the following script
- def m()
- p:xyzzy
- 1
- 2
- end
- compiler ignores `1' because there is no effect. However,
- `trace(line)' instruction remains in bytecode.
- This modification removes such redundant trace(line) instruction.
+ * lib/xsd/* (12 files): XSD4R added.
- * test/ruby/test_iseq.rb: add a test.
+ * test/soap/* (16 files): added.
-Thu Feb 28 22:23:27 2013 Tanaka Akira <akr@fsij.org>
+ * test/wsdl/* (2 files): added.
- * ext/socket/raddrinfo.c (inspect_sockaddr): don't show that Unix
- domain socket filename is bigger than sizeof(sun_path).
- This limit is not rigid on some platforms such as Darwin and SunOS.
+ * test/xsd/* (3 files): added.
-Thu Feb 28 21:33:01 2013 WATANABE Hirofumi <eban@ruby-lang.org>
+ * sample/soap/* (27 files): added.
- * configure.in(AC_DISABLE_OPTION_CHECKING): avoid warning "WARNING:
- Unrecognized options: --with-PACKAGE".
+ * sample/wsdl/* (13 files): added.
-Thu Feb 28 20:22:04 2013 Koichi Sasada <ko1@atdot.net>
+Wed Sep 24 02:08:11 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * iseq.c (iseq_data_to_ary): fix condition.
- r34303 introduces a bug to avoid all line information from
- a result of ISeq#to_a. This is a regression problem from 2.0.0p0.
+ * lib/webrick/httpservlet/cgihandler.rb: conform to mswin32.
+ [ruby-talk:82735], [ruby-talk:82748], [ruby-talk:82818]
- * test/ruby/test_iseq.rb: add a test of lines after ISeq#to_a.
+Tue Sep 23 23:10:16 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu Feb 28 08:20:33 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/logger.rb: add Logger#<<(msg) for writing msg without any
+ formatting.
- * lib/rubygems/available_set.rb: Undent for style
+ * test/logger/test_logger.rb: ditto.
- * lib/rubygems/dependency_installer.rb: Pick latest prerelease gem to
- install. Fixes RubyGems bug #468.
- * test/rubygems/test_gem_dependency_installer.rb: Test for the above.
+Tue Sep 23 20:47:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems/dependency_installer.rb: Don't display "Done installing
- documentation" if documentation will not be installed.
- * lib/rubygems/rdoc.rb: ditto
+ * error.c (rb_warn_m): should not warn if -W0 is specified.
+ [ruby-talk:82675]
- * lib/rubygems/dependency_list.rb: Use Array#concat for Ruby 1.x
- performance.
+Mon Sep 22 21:28:57 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * MANIFEST: updated.
+
+Mon Sep 22 19:22:26 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * configure.in (AC_CHECK_FUNCS): add setuid and setgid.
+
+Mon Sep 22 12:34:55 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * util.c (ruby_strtod): skip preceding zeros before counting
+ digits in the mantissa. (ruby-bugs:PR#1181)
+
+Sun Sep 21 04:12:36 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_ocsp.c (ossl_ocspreq_initialize): the argument
+ should be a String.
+
+ * ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): ditt.
+
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): ditto.
+
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.
+
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.
+
+Sat Sep 20 11:49:05 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * lib/logger.rb: typo fixed.
+
+ * test/logger/test_logger.rb: new file.
+
+Fri Sep 19 11:39:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+
+ * test/testunit/*: Added.
+
+ * lib/test/unit.rb: Documentation update.
+
+ * lib/test/unit/ui/console/testrunner.rb (TestRunner#initialize):
+ Ditto.
+
+ * lib/test/unit.rb: Factored out an ObjectSpace collector.
+
+ * lib/test/unit/collector/objectspace.rb: Ditto.
+
+ * sample/testunit/*: Added.
+
+Fri Sep 19 01:00:48 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/log.rb (BasicLog#log): get rid of as ineffectual
+ condition.
+
+ * lib/webrick/log.rb (BasicLog#format): add "\n" to message.
+
+Thu Sep 18 22:43:20 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (proc_invoke): should push PROT_PCALL tag for orphans.
+
+ * eval.c (proc_invoke): should update "result" for orphans.
+
+Thu Sep 18 20:33:03 2003 Tietew <tietew-ml-ruby-list@tietew.net>
+
+ * parse.y (str_xquote): do not prepend escapes in
+ backqoute literals. [ruby-list:38409]
+
+Thu Sep 18 20:30:17 2003 Tanaka Akira <akr@m17n.org>
+
+ * lib/pathname.rb: update document.
+
+Thu Sep 18 15:27:05 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * lib/logger.rb: new file. Logger, formerly called devel-logger or
+ Devel::Logger.
+
+ * sample/logger/*: new file. samples of logger.rb.
+
+Wed Sep 17 23:41:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (localjump_destination): should not raise ThreadError
+ exception for "break". [ruby-dev:21348]
+
+ * eval.c (proc_invoke): use result instead of prot_tag->retval.
+ retval is no longer propagated to the ancestors.
+
+Wed Sep 17 20:34:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (tokadd_string, parse_string, yylex): escaped terminator
+ is now interpreted as is. [ruby-talk:82206]
+
+Wed Sep 17 18:52:36 2003 Minero Aoki <aamine@loveruby.net>
+
+ * test/fileutils/fileassertions.rb: new file.
+
+ * test/fileutils/test_fileutils.rb: new file.
+
+ * test/fileutils/test_nowrite.rb: new file.
+
+Wed Sep 17 18:51:02 2003 Minero Aoki <aamine@loveruby.net>
+
+ * test/strscan/test_stringscanner.rb: require test/unit.
+
+Wed Sep 17 18:35:34 2003 Minero Aoki <aamine@loveruby.net>
+
+ * test/strscan/test_stringscanner.rb: new file.
+
+Wed Sep 17 18:03:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl: all files are reviewed to simplify and avoid memory leak.
+
+ * ext/openssl/extconf.rb: add check for assert.h.
+
+ * ext/openssl/ossl.c (ossl_buf2str): new function to convert
+ C buffer to String and free buffer.
+
+ * ext/openssl/ossl.c (ossl_x509_ary2sk): new function to convert
+ Array of OpenSSL::X509 to STACK_OF(X509) with exception safe.
+
+ * ext/openssl/ossl.c (ossl_to_der, ossl_to_der_if_possible): new
+ functions to convert object to DER string.
+
+ * ext/openssl/ossl.h: ditto.
+
+ * ext/openssl/ossl_bio.c (ossl_membio2str): new function to convert
+ BIO to String object and free BIO.
+
+ * ext/openssl/ossl_bio.h: ditto.
+
+ * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_to_der): add for "to_der".
+
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_der): ditto.
+
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_to_der): ditto.
+
+ * ext/openssl/ossl_x509ext.c (create_ext_from_array): removed
+ and reimplement in openssl/x509.rb.
+
+ * ext/openssl/ossl_x509attr.c: reimplemented and disable some
+ method temporarily. this class doesn't work fine without ASN.1
+ data support;-) I'll rewrite in near future.
- * lib/rubygems/installer.rb: Use formatted program name when comparing
- executables. RubyGems pull request #471
- * test/rubygems/test_gem_installer.rb: Test for the above.
+ * ext/openssl/lib/openssl/x509.c (X509::Attribute): get rid off
+ unused code.
- * lib/rubygems/package.rb: Use more explicit feature check to work
- around JRuby bug #552
+ * ext/openssl/lib/openssl/x509.c (X509::ExtensionFactory): refine all.
- * lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem: Added GeoTrust root
- certificate.
+Tue Sep 16 22:25:06 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/rubygems/test_gem_source_list.rb: Use "example" instead of real
- hostname
+ * test/csv/test_csv.rb: add negative tests of row_sep.
-Thu Feb 28 05:57:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Sep 16 18:02:36 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c: rdoc formatting for Thread, ThreadGroup, and ThreadError
+ * regex.c (re_compile_pattern): should not translate character
+ class range edge. [ruby-list:38393]
-Thu Feb 28 02:42:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Sep 16 16:47:56 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * vm.c: Typo in overview for example of Thread#status returning false
- Reported by Lee Jarvis
+ * MANIFEST: add test/csv/mac.csv.
-Wed Feb 27 22:54:27 2013 Tanaka Akira <akr@fsij.org>
+ * win32/Makefile.sub, bcc32/Makefile.sub (test): add phony NUL target.
- * ext/socket/rubysocket.h (union_sockaddr): make it longer for SunOS
- and Darwin.
+Mon Sep 15 19:02:52 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed Feb 27 21:14:34 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/csv.rb: add extra pamameter to specify row(record) separater
+ character. To parse Mac's CR separated CSV, do like this.
+ CSV.open("mac.csv", "r", ?,, ?\r) { |row| p row.to_a }
+ The 3rd parameter in this example ?, is for column separater and the
+ 4th ?\r is for row separater. Row separater is nil by default. Nil
+ separater means "\r\n" or "\n".
- * lib/rexml/security.rb (REXML::Security): create.
- * lib/rexml/rexml.rb: move entity_expansion_limit and
- entity_expansion_text_limit accessors to ...
- * lib/rexml/security.rb: ... here.
- * lib/rexml/document.rb: use REXML::Security.
- * lib/rexml/text.rb: use REXML::Security.
- * test/rexml/test_document.rb: use REXML::Security.
+ * test/csv/test_csv.rb: add tests for above feature.
-Wed Feb 27 19:53:32 2013 Benoit Daloze <eregontp@gmail.com>
+ * test/csv/mac.csv: added. Sample CR separated CSV file.
- * vm.c (Thread): fix typos in overview
+Fri Sep 12 22:41:48 2003 Michal Rokos <m.rokos@sh.cvut.cz>
-Wed Feb 27 13:21:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/openssl/ossl.c: move ASN.1 stuff to ossl_asn1.[ch]
- * vm.c (Thread): Typo in overview, swap setting and getting
+ * ext/openssl/ossl.c: move BIO stuff to ossl_bio.[ch]
-Wed Feb 27 13:02:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/openssl/ossl_asn1.[ch]: new files
- * vm.c (Thread): Documentation overview of Thread class
+ * ext/openssl/ossl_bio.[ch]: new files
-Wed Feb 27 12:57:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Fri Sep 12 12:30:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread.c (rb_thread_wakeup): rdoc formatting
+ * intern.h (rb_disable_super, rb_enable_super): replace with dummy
+ expressions instead of prototypes. the functions remain yet for
+ binary compatibility. [ruby-talk:81758]
-Wed Feb 27 12:53:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Fri Sep 12 12:09:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c (rb_thread_group): rdoc formatting
+ * bignum.c (rb_big_and): convert argument using 'to_int'.
-Wed Feb 27 12:33:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * bignum.c (rb_big_or): ditto.
- * lib/ostruct.rb: Typo in OpenStruct overview [Github Fixes #251]
- Patch by Chun-wei Kuo
+ * bignum.c (rb_big_xor): ditto.
-Wed Feb 27 12:13:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Fri Sep 12 07:06:14 2003 David Black <dblack@superlink.net>
- * vm_exec.h (END_INSN): llvm-gcc may optimize out reg_cfp and cause
- Stack/cfp consistency error when the instruction doesn't use reg_cfp.
- Usually instructions use PUSH() but for example trace doesn't.
- This hack cause speed down but you shouldn't use llvm-gcc, use clang.
- [Bug #7938]
+ * lib/scanf.rb: Took out useless @matched_item variable; some small
+ refactoring.
-Wed Feb 27 10:23:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu Sep 11 08:43:44 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c (thread_raise_m): rdoc formatting
+ * eval.c (rb_f_require): allow "require" on $SAFE>0, if feature
+ name is not tainted.
-Tue Feb 26 23:32:44 2013 Kouhei Sutou <kou@cozmixng.org>
+ * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::stream):
+ Supports StringIO.
- * lib/rexml/document.rb: move entity_expansion_limit accessor to ...
- * lib/rexml/rexml.rb: ... here for consistency.
- * lib/rexml/document.rb (REXML::Document.entity_expansion_limit):
- deprecated.
- * lib/rexml/document.rb (REXML::Document.entity_expansion_limit=):
- deprecated.
+Wed Sep 10 22:47:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Feb 26 23:26:13 2013 Kouhei Sutou <kou@cozmixng.org>
+ * ext/openssl/ossl.h: add a workaround for win32 platform.
+ libeay32.dll doesn't export functions defined in conf_api.h.
- * 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]
+ * ext/openssl/ossl_config.c (ossl_config_initialize): ditto.
-Tue Feb 26 15:12:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_config.c (ossl_config_add_value): ditto.
- * 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.
+ * ext/openssl/ossl_config.c (set_conf_section_i): should check
+ if the argument is Array.
-Tue Feb 26 15:04:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 10 22:41:54 2003 Tietew <tietew@tietew.net>
- * configure.in (unexpand_shvar): get rid of non-portable shell
- behavior on OpenBSD, so no extra quotes. [Bug #7959]
+ * eval.c (win32_get_exception_list): avoid VC7 warning.
+ [ruby-win32:577]
-Tue Feb 26 10:24:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (IS_LABEL_POSSIBLE): allow labels for keyword arguments just
- after method definition without a parenthesis. [ruby-core:52820]
- [Bug #7942]
+ * eval.c (struct tag): dst should be VALUE.
-Tue Feb 26 04:50:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * error.c: clarify reason for sleep in SignalException example
+ * eval.c (localjump_destination): stop at the scope where the current
+ block was created. [ruby-dev:21353]
-Tue Feb 26 03:47:00 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Tue Sep 9 05:17:04 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * error.c: clarify a document of SignalException. Process.kill()
- doesn't have any guarantee when signal will be delivered.
- [Bug #7951] [ruby-core:52864]
+ * ext/openssl/ossl_config.rb: avoid compile error in OpenSSL-0.9.6.
-Mon Feb 25 23:51:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 9 02:41:35 2003 Michal Rokos <m.rokos@sh.cvut.cz>
- * include/ruby/version.h: bump RUBY_API_VERSION same as RUBY_VERSION.
+ * ext/openssl/ossl_config.c: Refine compatibility.
-Mon Feb 25 21:03:34 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Sep 9 01:50:45 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * string.c (str_byte_substr): don't set coderange if it's not known.
- [Bug #7954] [ruby-dev:47108]
+ * lib/webrick/httpserver.rb (HTTPServer#access_log): add "\n" to
+ the message.
-Mon Feb 25 16:47:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/log.rb (BasicLog#log): add "\n" only if needed.
- * common.mk (realclean-local): miniprelude.c is made by srcs, so it
- should not removed by distclean but by realclean. [Bug #6807]
+Mon Sep 8 22:15:33 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Feb 25 16:30:30 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/multi-tk.rb: modify security check at creating
+ a new interpreter
- * lib/rubygems/config_file.rb: Lazily load .gem/credentials to only
- check permissions when necessary. RubyGems bug #465
- * test/rubygems/test_gem_config_file.rb: Test for the above.
+Mon Sep 8 20:00:12 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rubygems/test_gem_commands_push_command.rb: Remove duplicated
+ * lib/optparse.rb, lib/optparse/version.rb: search also all
+ capital versions.
+
+Mon Sep 8 19:26:33 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl.h: include openssl/conf.h and openssl/conf_api.h.
+
+ * ext/openssl/ossl_config.c: refine all with backward compatibility.
+
+ * ext/openssl/ossl_config.h: export GetConfigPtr() and DupConfigPtr().
+
+ * ext/openssl/ossl_x509.c: added new constants under X509 module.
+ DEFAULT_CERT_AREA, DEFAULT_CERT_DIR, DEFAULT_CERT_FILE,
+ DEFAULT_CERT_DIR_ENV, DEFAULT_CERT_FILE_ENV and DEFAULT_PRIVATE_DIR.
+
+ * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_free): don't free
+ the members of the struct. it's left to GC.
+
+ * ext/openssl/ossl_x509ext.c (ossl_x509_set_config): add for config=.
+
+ * ext/openssl/ossl_x509ext.c (Xossl_x509extfactory_initialize):
+ add attr readers: issuer_certificate, subject_certificate,
+ subject_request, crl and config.
+
+Mon Sep 8 18:26:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/accesslog.rb (AccessLog::setup_params): use req.port
+ instead of config[:Port] or req.request_uri.port.
+
+ * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): ditto.
+
+ * lib/webrick/httpservlet/filehandler.rb (FileHandler#dir_list): ditto.
+
+ * lib/webrick/config.rb: :Listen option never be used.
+
+ * lib/webrick/server.rb (GenericServer#initialize): don't use :Listen
+ option and add warning message.
+
+ * lib/webrick/log.rb (BasicLog#<<): shortcut of log(INFO, ...).
+
+ * lib/webrick/httpserver.rb (HTTPServer#accesslog): use << for logging.
+
+Sun Sep 7 16:08:28 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c (lib_mainloop_core): fixed signal-trap bug
+
+ * ext/tk/lib/*.rb : Ruby/Tk works at $SAFE == 4
+
+Sat Sep 6 02:26:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/ruby/test_*.rb: assert_same, assert_match, and so on.
+
+Sat Sep 6 18:45:46 2003 Mauricio Fernandez <batsman.geo@yahoo.com>
+
+ * parse.y (assignable): call rb_compile_error(), not rb_bug().
+ [ruby-core:01523]
+
+Sat Sep 6 17:40:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ruby_missing.c: rid of unnecessary backward
+ compatibility stuff. and remove DEFINE_ALLOC_WRAPPER from
+ all sources.
+
+ * ext/openssl/ossl_x509ext.c (X509::Extension.new): new method.
+
+ * ext/openssl/ossl_x509ext.c (X509::Extension#oid=): new method.
+
+ * ext/openssl/ossl_x509ext.c (X509::Extension#value=): new method.
+
+ * ext/openssl/ossl_x509ext.c (X509::Extension#critical=): new method.
+
+Sat Sep 6 01:23:22 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (CreateChild): need to quote cmd if RUBYSHELL is set.
+
+ * win32/win32.c (CreateChild): fix condition about whether to call
+ shell or not.
+
+Sat Sep 6 00:36:20 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * Makefile.in (test): phony target.
+
+ * lib/mkmf.rb (have_library, find_library): configure by library
+ name.
+
+ * lib/optparse.rb (OptionParser#order, #permute, #parse): allow an
+ array as argument.
+
+ * test/ruby/test_*.rb: moved invariants to left side in
+ assert_equal, and use assert_nil, assert_raises and so on.
+
+ * win32/win32.c (isInternalCmd): distinguish command.com and
+ cmd.exe.
+
+ * win32/win32.c (make_cmdvector): a character just after wildcard
+ was ignored. [ruby-core:01518]
+
+Fri Sep 5 20:27:08 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/ruby/test_*.rb: replace 'assert(a == b)' with assert_equal(a, b)'
+
+Fri Sep 5 18:00:51 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/lib/openssl/x509.rb: new method X509::Name::parse.
+
+ * ext/openssl/ossl_digest.c: add ossl_digest_new().
+
+ * ext/openssl/ossl_digest.h: ditto.
+
+ * ext/openssl/ossl_cipher.c: add ossl_cipher_new().
+
+ * ext/openssl/ossl_cipher.h: ditto.
+
+Fri Sep 5 15:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): should not
+ search delimiter forward if found in backward.
+
+Fri Sep 5 13:32:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/runner.rb: arguments should be keys.
+
+Fri Sep 5 12:09:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * test/ruby/test_system.rb (test_system): check existence of ruby
+ interpreter.
+
+Fri Sep 5 11:32:17 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (--version): fix assignment/reference order.
+
+ * lib/optparse.rb (OptionParser#help): new; OptionParser#to_s may
+ be deprecated in future.
+
+ * lib/optparse/version.rb (OptionParser#show_version): hide Object.
+
+ * test/runner.rb: fix optparse usage.
+
+ * test/runner.rb: glob all testsuits if no tests given.
+
+Fri Sep 5 10:42:58 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/runner.rb: added. gets testcases from command line and runs it.
+
+ * test/ruby/test_gc.rb: remove useless part which was for dumping test
+ result.
+
+Fri Sep 5 09:28:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/ruby/test_gc.rb: added. splitter.rb which I made to split
+ sample/test.rb into test/ruby/test_* kindly removed GC test (the
+ last section in the original test) to reduce things to be worried.
+
+Fri Sep 5 03:00:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/ruby/test_iterator.rb (test_block_in_arg): add no block
+ given tests.
+
+ * test/ruby/test_iterator.rb (test_ljump): uncomment LocalJumpError
test.
-Mon Feb 25 15:47:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Sep 5 01:10:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * enc/depend (ARFLAGS): VisualC++ linker does not allow spaces between
- output option and the output file name. [Bug #7950]
+ * test/ruby: tests for ruby itself.
- * enc/depend (RANLIB): set default command to do nothing, or make the
- entire line a label on Windows.
+ * test/ruby/test_*.rb: split sample/test.rb into 28 test/unit testcases.
+ some tests could not be translates... search '!!' mark to see it.
-Mon Feb 25 14:41:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/csv/test_csv.rb: should require 'csv', not '../lib/csv'. test
+ runner should set load path correctly.
- * lib/mkmf.rb (MakeMakefile#init_mkmf): default libdirname to libdir.
+Fri Sep 5 01:03:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * tool/rbinstall.rb: ditto.
+ * test/csv/test_csv.rb: close opened files for CSV::IOBuf explicitly.
+ opened file cannot be removed under win32 box.
-Mon Feb 25 13:12:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 4 23:59:40 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (setup): find Setup file from target_os 1. by
- suffix (e.g. Setup.nacl, Setup.atheos), 2. by "platform"
- option (e.g. Setup.nt, Setup.emx), and 3. default Setup. And
- Setup.dj had been removed.
+ * parse.y (tokadd_string): newlines have no special meanings in
+ %w/%W, otherwise they are ignored only when interpolation is
+ enabled. [ruby-dev:21325]
-Mon Feb 25 12:48:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Thu Sep 4 19:38:25 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * thread.c: Document Thread::new, clean up ::fork and mention calling
- super if subclassing Thread
+ * ext/io/wait/.cvsignore: added.
-Mon Feb 25 12:38:50 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/.cvsignore: added.
- * ext/socket/extconf.rb: don't test ss_family and ss_len member of
- struct sockaddr_storage. They are not used now except SunOS
- specific code.
+Thu Sep 4 19:28:24 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Mon Feb 25 11:03:38 2013 Akinori MUSHA <knu@iDaemons.org>
+ * sample/openssl: added. Sample of standard distribution library
+ should be locate in sample/{module_name}/*.
- * configure.in (unexpand_shvar): Use the numeric comparison
- operator instead of '==' which is a ksh extension. [Bug #7941]
+ * ext/openssl/sample/*: removed. move to sample/openssl/*.
-Mon Feb 25 02:37:56 2013 Tanaka Akira <akr@fsij.org>
+Thu Sep 4 18:02:15 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/socket: define and use union_sockaddr instead of struct
- sockaddr_storage for less casts.
+ * test/csv/test_csv.rb: use remove_const to reduce warnings. use
+ Dir.tmpdir to locate working files.
- * ext/socket/rubysocket.h (union_sockaddr): defined.
+Thu Sep 4 17:41:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (sock_accept): use union_sockaddr.
- (sock_accept_nonblock): ditto.
- (sock_sysaccept): ditto.
- (sock_s_getnameinfo): ditto.
+ * misc/ruby-mode.el (ruby-here-doc-beg-re): underscore also is
+ valid delimiter.
- * ext/socket/basicsocket.c (bsock_getsockname): ditto.
- (bsock_getpeername): ditto.
- (bsock_local_address): ditto.
- (bsock_remote_address): ditto.
+ * misc/ruby-mode.el (ruby-here-doc-end-match): must quote
+ arbitrary string to use as regexp.
- * ext/socket/ancdata.c (bsock_recvmsg_internal): ditto.
+ * misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): must not
+ call `ruby-here-doc-end-match' unless `ruby-here-doc-beg-re'
+ matched.
- * ext/socket/init.c (recvfrom_arg): ditto.
- (recvfrom_blocking): ditto.
- (rsock_s_recvfrom): ditto.
- (rsock_s_recvfrom_nonblock): ditto.
- (rsock_getfamily): ditto.
+Thu Sep 4 15:40:07 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/socket/raddrinfo.c (rb_addrinfo_t): ditto.
- (ai_get_afamily): ditto.
- (inspect_sockaddr): ditto.
- (addrinfo_mdump): ditto.
- (addrinfo_mload): ditto.
- (addrinfo_getnameinfo): ditto.
- (addrinfo_ip_port): ditto.
- (extract_in_addr): ditto.
- (addrinfo_ipv6_to_ipv4): ditto.
- (addrinfo_unix_path): ditto.
+ * test/csv/test_csv.rb: run on test/unit original layer.
- * ext/socket/tcpserver.c (tcp_accept): ditto.
- (tcp_accept_nonblock): ditto.
- (tcp_sysaccept): ditto.
+Thu Sep 4 12:54:50 2003 why the lucky stiff <why@ruby-lang.org>
- * ext/socket/ipsocket.c (ip_addr): ditto.
- (ip_peeraddr): ditto.
- (ip_s_getaddress): ditto.
+ * ext/syck/token.c: headerless documents with root-level spacing now
+ honored.
-Sun Feb 24 21:15:05 2013 Tadayoshi Funaba <tadf@dotrb.org>
+Thu Sep 4 00:06:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/date/date_core.c: [ruby-core:52303]
+ * eval.c (mark_frame_adj): need to adjust argv pointer if using
+ system's alloca. [ruby-core:01503]
-Sun Feb 24 15:33:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 3 21:33:20 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * random.c (rb_random_ulong_limited): limit is inclusive, but generic
- rand method should return a number less than it, so increase for the
- difference. [ruby-core:52779] [Bug #7935]
+ * test: add test directory. Test::Unit aware testcases and needed
+ files should be located in this directory. dir/file name convention;
+ test/{module_name}/test_{testcase_name}.rb
+ test/{module_name}/{needed_files}
+ someday, someone will write testrunner which searches test_*.rb and
+ run testcases automatically.
-Sun Feb 24 15:32:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/csv/*: add testcase for lib/csv.rb.
- * random.c (rb_random_ulong_limited): limit is inclusive, but generic
- rand method should return a number less than it, so increase for the
- difference. [ruby-core:52779] [Bug #7935]
+Wed Sep 3 01:37:09 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Feb 24 15:14:43 2013 Eric Hodel <drbrain@segment7.net>
+ * io.c (rb_f_gets): should call next_argv() before type check
+ current_file. [ruby-list:38336]
- * lib/net/http.rb: Removed duplicate Accept-Encoding in Net::HTTP#get.
- [ruby-trunk - Bug #7924]
- * test/net/http/test_http.rb: Test for the above.
+Tue Sep 2 20:37:15 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Feb 20 14:28:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): warning
+ for skipping server verification.
- * thread.c: Document ThreadGroup::Default
+Tue Sep 2 23:36:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Feb 20 14:23:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * eval.c (proc_invoke): should retrieve retval when pcall is true.
- * thread.c: Grammar for #backtrace_locations and ::handle_interrupt
+Tue Sep 2 14:09:20 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Feb 24 13:35:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/extconf.rb: check s6_addr8 in in6_addr (Tru64 UNIX).
+ the patch is submitted by nmu <nmu@users.sourceforge.jp>.
- * vm_insnhelper.c (vm_call_method): block level control frame does not
- have method entry, so obtain the method entry from method top-level
- control frame to be compared with refined method entry.
- [ruby-core:52750] [Bug #7925]
+ * ext/socket/getaddrinfo.c (getaddrinfo): should use in6_addr8 on
+ some platforms.
-Wed Feb 20 13:23:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/socket/getnameinfo.c (getnameinfo): ditto.
- * object.c: Document methods receiving string and convert to symbol
- Patch by Stefan Rusterholz
- * vm_eval.c: ditto
- * vm_method.c: ditto
+Tue Sep 2 14:02:19 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Feb 20 07:20:56 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception
- * signal.c (sigsegv): suppress unused result warning. Because
- write(2) is marked __warn_unused_result__ on Linux glibc.
+ * ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb} :
+ bug fix and improvement of font control
-Sun Feb 24 07:50:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 2 09:51:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * compile.c (iseq_set_arguments): no keyword check if any keyword rest
- argument exists, even unnamed. [ruby-core:52744] [Bug #7922]
+ * eval.c (rb_eval): should not handle exceptions within rescue
+ argument. [ruby-talk:80804]
-Sat Feb 23 16:51:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Sep 2 00:44:37 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread.c: Documentation for Thread#backtrace_locations
+ * re.c (rb_memsearch): fix overrun. [ruby-talk:80759]
-Sat Feb 23 16:05:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Tue Sep 2 00:41:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm.c: Typo in ObjectSpace::WeakMap overview
+ * ext/iconv/iconv.c (map_charset): use lower case keys.
-Sat Feb 23 16:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/iconv/iconv.c (iconv_fail): just yield error and return the
+ result if a block is given.
- * thread.c: Improved rdoc for ::handle_interrupt, ::pending_interrupt?
- and #pending_interrupt?
+ * ext/iconv/iconv.c (iconv_convert): yield error and append the
+ result if a block is given.
-Sat Feb 23 12:26:43 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/iconv/charset_alias.rb (charset_alias): optional third
+ argument.
- * misc/ruby-electric.el (ruby-electric-curlies)
- (ruby-electric-matching-char, ruby-electric-bar): Avoid electric
- insertion when there is a prefix argument.
+ * ext/iconv/charset_alias.rb (charset_alias): use CP932 instead of
+ SHIFT_JIS on cygwin.
- * misc/ruby-electric.el (ruby-electric-insert)
- (ruby-electric-cua-replace-region-p)
- (ruby-electric-cua-replace-region): Avoid electric insertion and
- fall back when cua-mode is enabled and a region is active.
+Mon Sep 1 18:34:25 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Feb 23 12:35:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * eval.c (rb_eval): make tail recursion in ELSE clause of
+ RESCUE a jump.
- * array.c: Document #<=> return values and formatting
- * bignum.c: ditto
- * file.c: ditto
- * object.c: ditto
- * numeric.c: ditto
- * rational.c: ditto
- * string.c: ditto
- * time.c: ditto
+Mon Sep 1 18:00:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Feb 23 10:50:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * parse.y (aref_args): forgot to call NEW_SPLAT(). reported by
+ Dave Butcher.
- * array.c (rb_ary_diff, rb_ary_and, rb_ary_or): Document return order
- [RubySpec #7803]
+ * eval.c (Init_Thread): protect thgroup_default. suggested by Guy
+ Decoux in [ruby-talk:80623]
-Sat Feb 23 10:17:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Mon Sep 1 16:59:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c (rb_obj_comp): Documenting Object#<=> return values
- Patch by Stefan Rusterholz
+ * eval.c (rb_thread_switch): add RESTORE_EXIT; exit by another
+ thread termination.
-Sat Feb 23 09:48:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_start_0): should not error_print() within
+ terminated thread, because $stderr used by it might be
+ overriden now. [ruby-dev:21280]
- * dir.c (file_s_fnmatch, fnmatch_brace): encoding-incompatible pattern
- and string do not match, instead of exception. [ruby-dev:47069]
- [Bug #7911]
+Sun Aug 31 22:46:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Feb 23 08:57:46 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * eval.c (TAG_DST()): take no argument.
- * doc/NEWS-*: Update NEWS from their respective branches
+ * process.c (p_gid_sw_ensure): return VALUE.
-Sat Feb 23 08:14:43 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Sun Aug 31 22:27:10 2003 Hidetoshi NAGAI <nagai@dumbo.ai.kyutech.ac.jp>
- * NEWS: many additions for Ruby 2.0.0
+ * process.c (p_gid_sw_ensure): lack of function type
- * object.c: Add doc for Module.prepended
+Sun Aug 31 12:25:06 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
-Sat Feb 23 07:52:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/optparse.rb: --version takes an optional argument; "all" or
+ a list of package names.
- * template/ruby.pc.in: reorder library flags which may refer library
- names. [Bug #7913]
+Sun Aug 31 10:17:02 2003 Tadayoshi Funaba <tadf@dotrb.org>
-Fri Feb 22 23:46:20 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * lib/date/format.rb: yyyy/mm is not an acceptable format.
- * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
- fix a typo in comment in r39384.
+ * lib/time.rb: follow above.
-Fri Feb 22 18:31:46 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Sat Aug 30 14:25:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
- new attribute to read/write entity expansion text limit. the default
- limit is 10Kb.
+ * eval.c (rb_iter_break): should not call TAG_JUMP directly.
- * lib/rexml/text.rb (REXML::Text.unnormalize): check above attribute.
+Sat Aug 30 03:58:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Feb 22 17:36:23 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (struct BLOCK): remove BLOCKTAG, use scope instead.
- * test/test_rbconfig.rb (TestRbConfig): fix r39372.
- It must see RbConfig::CONFIG instead of CONFIG.
+ * eval.c (POP_TAG): no longer propagate retval. retval is now set
+ directly by localjump_destination().
-Fri Feb 22 14:55:41 2013 Naohisa Goto <ngotogenome@gmail.com>
+ * eval.c (localjump_destination): new function to cast
+ return/break local jump.
- * signal.c (ruby_abort): fix typo in r39354 [Bug #5014]
+ * eval.c (rb_yield_0): stop TAG_RETURN/TAG_BREAK escaping.
-Fri Feb 22 12:46:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Aug 29 22:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
- * random.c (rb_random_ulong_limited): fix error message for negative
- value. [ruby-dev:47061] [Bug #7903]
+ * bigdecimal.c *.html: The 2nd arg. for add,sub,mult, and div is 0,
+ then result will be the same as +,-,*,/ respectively.
-Fri Feb 22 11:36:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Aug 29 17:30:15 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/test_rbconfig.rb (TestRbConfig): skip user defined values by
- configuration options. [Bug #7902]
+ * process.c: bug fix
-Fri Feb 22 11:33:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys}
- * lib/mkmf.rb (MakeMakefile#init_mkmf): adjust default library path
- for multiarch. [Bug #7874]
+ * process.c: deny handling IDs during evaluating the block given to
+ the Process::{UID,GID}.switch method
-Fri Feb 22 11:10:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/tcltklib/tcltklib.c : some methods have no effect if on slave-IP
- * enum.c (Enumerable#chunk: Improved examples, grammar, and formatting
- Patch by Dan Bernier and Rich Bruchal of newhaven.rb
- [Github documenting-ruby/ruby#8]
+ * ext/tcltklib/tcltklib.c : can create a interpreter without Tk
-Fri Feb 22 11:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/tcltklib/tcltklib.c : bug fix on handling exceptions
- * numeric.c: Examples and formatting for Numeric and Float
- Based on a patch by Zach Morek and Oren K of newhaven.rb
- [Github documenting-ruby/ruby#5]
+ * ext/tcltklib/MANUAL.euc : modify
-Fri Feb 22 07:04:41 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tk.rb : freeze some core modules
- * lib/rubygems/installer.rb (build_extensions): Create extension
- install destination before building extension. Patch by Kenta Murata.
- [ruby-trunk - Bug #7897]
- * test/rubygems/test_gem_installer.rb: Test for the above.
+ * ext/tk/lib/multi-tk.rb : more secure
-Fri Feb 22 06:30:57 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tk.rb: TkVariable.new(array) --> treat the array as the
+ Tk's list
- * doc/globals.rdoc: Document what setting $DEBUG does.
+ * ext/tk/lib/tk.rb: improve accessibility of TkVariable object
- * doc/globals.rdoc: Added pointer to $-d for full documentation.
+ * ext/tk/lib/tk.rb, ext/tk/lib/tkfont.rb, ext/tk/lib/tkcanvas.rb,
+ ext/tk/lib/tktext.rb : fix bug of font handling
-Fri Feb 22 06:27:07 2013 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/tkfont.rb TkFont.new() accepts compound fonts
- * doc/globals.rdoc: Document what setting $VERBOSE does. [Bug #7899]
+Thu Aug 28 22:07:12 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * doc/globals.rdoc: Added pointer to $-w and $-v for full
- documentation.
+ * variable.c (rb_autoload_load): call const_missing if autoloading
+ constant is not defined to allow hook.
-Fri Feb 22 02:33:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * eval.c (rb_eval): use rb_const_get_from() instead of
+ rb_const_get_at().
- * lib/abbrev.rb: Add words parameter to Abbrev::abbrev
- Patch by Devin Weaver [Github documenting-ruby/ruby#7]
+ * eval.c (is_defined): forgot to check NODE_COLON3.
-Thu Feb 21 17:28:14 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Aug 28 17:30:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/merger.rb: add interaction when only ChangeLog is modified.
+ * variable.c (rb_const_get_0): should check constants defined in
+ included modules, if klass is Object. [ruby-talk:79302]
-Thu Feb 21 16:34:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * numeric.c (check_uint): check should be done using UINT_MAX, not
+ INT_MAX. this fix is submitted by Lyle Johnson
+ <lyle@knology.net> in [ruby-core:01486]
- * signal.c (check_stack_overflow): extract duplicated code and get rid
- of declaration-after-statement. [Bug #5014]
+Thu Aug 28 05:02:52 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Feb 21 14:14:13 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * parse.y (singleton): typo fixed (ruby-bugs-ja:PR#562)
- * signal.c (sigsegv): avoid to use async signal unsafe functions
- when nested sigsegv is happen.
- [Bug #5014] [ruby-dev:44082]
+Thu Aug 28 02:37:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Feb 21 13:47:59 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * eval.c (rb_eval): *a = [1,2] now assigns [[1,2]] to a.
+ consistent with *a = [1], which set [[1]] to a.
- * file.c (rb_group_member): added an error check. SUS says,
- getgroups(small_value) may return EINVAL.
+ * node.h: merge NODE_RESTARY to NODE_SPLAT.
-Thu Feb 21 13:37:07 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * parse.y: rules simplified a bit by removing NODE_RESTARY.
- * process.c (RB_MAX_GROUPS): moved to
- * internal.h (RB_MAX_GROUPS): here.
+ * sample/test.rb: updated for new assignment behavior.
- * file.c (rb_group_member): use RB_MAX_GROUPS instead of
- RUBY_GROUP_MAX. They are the same.
+Wed Aug 27 22:33:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 21 13:15:40 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * error.c (rb_bug): should not use other methods; this function is
+ not for ordinary use. [ruby-dev:21259]
- * file.c (access_internal): removed.
- * file.c (rb_file_readable_real): use access() instead of
- access_internal().
- * file.c (rb_file_writable_real): ditto.
- * file.c (rb_file_executable_real): ditto.
+Wed Aug 27 15:07:57 2003 Minero Aoki <aamine@loveruby.net>
-Thu Feb 21 13:04:59 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/net/smtp.rb (check_response): AUTH CRAM-MD5 returns 334
+ response. [ruby-list:38279]
- * file.c (eaccess): use access() when not using setuid nor setgid.
- This is minor optimization.
+Wed Aug 27 05:10:15 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Feb 21 12:56:19 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * win32/win32.c (map_errno): support winsock error.
- * file.c (rb_group_member): get rid of NGROUPS dependency.
- [Bug #7886] [ruby-core:52537]
+ * win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid,
+ kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime):
+ pass errno to map_errno().
-Thu Feb 21 12:45:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind,
+ rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,
+ rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,
+ rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,
+ rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,
+ rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,
+ rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport,
+ rb_w32_fclose, rb_w32_close): use map_errno().
- * ruby.c (ruby_init_loadpath_safe): try two levels upper for stripping
- libdir name. [Bug #7874]
+ * win32/win32.h: add winsock errors.
- * configure.in (libdir_basename): expand with multiarch in configure,
- not to defer the expansion till ruby.pc.in and mkmf.rb. [Bug #7874]
+Tue Aug 26 23:53:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in (libdir_basename): also -rpath and -install_name flags
- are affected when libruby directory changes. [Bug #7874]
+ * lib/ostruct.rb (OpenStruct::method_missing): prohibit modifying
+ frozen OpenStruct. [ruby-talk:80214]
-Wed Feb 20 19:27:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 26 20:03:50 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h (HAVE_RB_SCAN_ARGS_OPTIONAL_HASH): for
- rb_scan_args() optional hash feature. [Bug #7861]
+ * lib/mkmf.rb (create_tmpsrc): add the hook for source.
+ [ruby-list:38122]
-Wed Feb 20 18:02:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 26 15:59:53 2003 why the lucky stiff <why@ruby-lang.org>
- * configure.in (target_os): do not strip -gnu suffix on Linux if
- --target is given explicitly. [Bug #7874]
+ * implicit.c (syck_type_id_to_taguri): corrected detection of
+ x-private types.
- * configure.in (libdirname): adjust library path name which libruby
- files will be installed. [Bug #7874]
+Sun Aug 24 01:02:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/rbinstall.rb (libdir): ditto.
+ * file.c (file_expand_path): performance improvement.
+ [ruby-talk:79748]
-Wed Feb 20 13:37:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Sat Aug 23 23:41:16 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/pty/pty.c: Documentation for the PTY module
+ * file.c (rb_file_s_expand_path): avoid calling rb_scan_args() for
+ apparent cases. [ruby-talk:79748]
-Wed Feb 20 12:18:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Sat Aug 23 18:56:53 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c: Document Data class [Bug #7890] [ruby-core:52549]
- Patch by Matthew Mongeau
+ * ext/nkf/nkf.c (rb_nkf_putchar): should use rb_str_resize() to just
+ resize a string, rb_str_cat() disallows NULL. [ruby-dev:21237]
-Wed Feb 20 11:50:00 2013 Zachary Scott <zachary@zacharyscott.net>
+Sat Aug 23 16:48:41 2003 Keiju Ishitsuka <keiju@ishitsuka.com>
- * lib/mutex_m.rb: Add rdoc for Mutex_m module
+ * lib/irb/ruby-lex.rb: bug fix for "foo" !~ /bar/. [ruby-talk:79942]
-Wed Feb 20 09:34:43 2013 Eric Hodel <drbrain@segment7.net>
+Sat Aug 23 15:59:58 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rubygems/commands/update_command.rb: Create the installer after
- options are processed. [ruby-trunk - Bug #7779]
- * test/rubygems/test_gem_commands_update_command.rb: Test for the
- above.
+ * eval.c (rb_eval, rb_iterate, block_pass): reduce PUSH/POP_TAG and
+ EXEC_TAG() for retry. [ruby-dev:21216]
-Wed Feb 20 07:51:19 2013 Eric Hodel <drbrain@segment7.net>
+Sat Aug 23 02:32:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rubygems/installer.rb: Use gsub instead of gsub! to avoid
- altering @bin_dir. Fixes tests on windows. [ruby-trunk - Bug #7885]
+ * eval.c (rb_yield_splat): should check if "values" is array.
-Tue Feb 19 20:50:00 2013 Kenta MURATA <mrkn@mrkn.jp>
+ * enum.c (each_with_index_i): typo.
- * ext/bigdecimal/bigdecimal.gemspec: bump to 1.2.0.
- [ruby-core:51777] [Bug #7761]
+Fri Aug 22 17:07:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Feb 19 13:07:25 2013 Akinori MUSHA <knu@iDaemons.org>
+ * enum.c (inject_i): use rb_yield_values.
- * ext/syslog/syslog.c (Init_syslog): Define inspect as a singleton
- method and remove it as an instance method. [Bug #6502]
+ * enum.c (each_with_index_i): ditto.
-Tue Feb 19 12:30:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * eval.c (rb_yield_splat): new function to call "yield *values".
- * object.c: rdoc formatting for Kernel#Array()
- * array.c: Add rdoc for Array() method to Creating Arrays section
+ * string.c (rb_str_scan): use rb_yield_splat().
-Tue Feb 19 10:35:52 2013 Eric Hodel <drbrain@segment7.net>
+Fri Aug 22 06:13:22 2003 why the lucky stiff <why@ruby-lang.org>
- * ext/openssl/ossl.c (class OpenSSL): Use only inner parenthesis in
- create_extension examples.
+ * ext/syck/rubyext.c: refactoring of the transfer method
+ dispatch. added yaml_org_handler for faster dispatch of
+ transfers to base types.
-Tue Feb 19 10:27:12 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/yaml/rubytypes.rb: removed handling of builtins from
+ Ruby library.
- * ext/openssl/ossl.c (class OpenSSL): Fixed ExtensionFactory example.
- Patch by Richard Bradley. [ruby-trunk - Bug #7551]
+ * ext/syck/token.c: quoted and block scalars are now implicit !str
-Tue Feb 19 08:32:11 2013 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/implicit.c: empty string detected as !null.
- * vm_eval.c (vm_call0_body): check interrupts after method dispatch
- from C methods. [Bug #7878]
+Fri Aug 22 01:00:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Feb 19 08:14:40 2013 Eric Hodel <drbrain@segment7.net>
+ * eval.c (block_pass): improve passing current block.
- * lib/rubygems/installer.rb: Fixed placement of executables with
- --user-install. [ruby-trunk - Bug #7779]
- * test/rubygems/test_gem_installer.rb: Test for above.
+Fri Aug 22 00:13:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
-Tue Feb 19 06:04:06 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication
+ fixed, and VpNmlz() speed up.
- * vm_dump: FreeBSD ports' libexecinfo's backtrace(3) can't trace
- beyond signal trampoline, and as described in r38342 it can't
- trace on -O because it see stack frame pointers.
- libunwind unw_backtrace see dwarf information in the binary
- and it works with -O (without frame pointers).
+Wed Aug 20 16:44:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: remove r38342's hack and check libunwind.
+ * ext/socket/socket.c (ruby_connect): many systems seem to have
+ a problem in select() after EINPROGRESS. [ruby-list:38080]
-Tue Feb 19 04:26:29 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Aug 20 01:31:17 2003 why the lucky stiff <why@ruby-lang.org>
- * configure.in: check whether backtrace(3) works well or not.
+ * ext/syck/syck.h: Parser definition problems on HP-UX.
+ [ruby-talk:79389]
- * vm_dump.c: set HAVE_BACKTRACE 0 if BROKEN_BACKTRACE.
+ * ext/syck/handler.c (syck_hdlr_get_anchor): Memory leak.
-Mon Feb 18 16:30:18 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/syck/syck.s (syck_io_file_read): Bad arguments to fread.
- * lib/ipaddr.rb (IPAddr#in6_addr): Fix a typo with the closing
- parenthesis.
+ * ext/syck/rubyext.c: Tainting issues.
-Mon Feb 18 12:32:24 2013 Akinori MUSHA <knu@iDaemons.org>
+Tue Aug 19 23:20:00 2003 Shigeo Kobayashi <shigek@ruby-lang.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]
+ * ext/bigdecimal/bigdecimal.c .h .html: to_s("+") implemented.
-Mon Feb 18 10:09:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal/lib/bigdecimal/math.rb: E implemented.
- * configure.in (unexpand_shvar): regularize a shell variable by
- unexpanding shell variables in it.
+Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Feb 17 20:55:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.
- * compar.c (rb_invcmp): compare by inversed comparison, with preventing
- from infinite recursion. [ruby-core:52305] [Bug #7870]
+ * lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb.
- * string.c (rb_str_cmp_m), time.c (time_cmp): get rid of infinite
- recursion.
+ * lib/webrick/compat.rb (File::fnmatch): remove old migration code.
-Sun Feb 17 17:23:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httpserver.rb (HTTPServer#run): ditto.
- * lib/mkmf.rb: remove extra topdir in VPATH, which was in
- win32/Makefile.sub for some reason and moved from there.
- [ruby-dev:46998] [Bug #7864]
+ * lib/webrick/server.rb (GenericServer#listen): the body of this
+ method is pull out as Utils::create_lisnteners.
-Sun Feb 17 01:19:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/webrick/utils.rb (Utils::create_lisnteners): new method.
- * ext/psych/lib/psych/y.rb: Document Kernel#y by Adam Stankiewicz
- [Github tenderlove/psych#127]
+ * lib/webrick/server.rb (GenericServer#start): should rescue
+ unknown errors. and refine comments.
-Sun Feb 17 00:52:14 2013 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close
+ socket if SSLSocket raises error.
- * tool/mkconfig.rb: remove prefix from rubyarchdir.
- r39267 expands variables, it changes expansion timing,
- breaks RbConfig::CONFIG["includedir"] and building
- extension libraries with installed ruby.
+Tue Aug 19 11:19:33 2003 Shugo Maeda <shugo@ruby-lang.org>
-Sat Feb 16 20:51:17 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+ * io.c (next_argv): should not call GetOpenFile() if rb_stdout is
+ not a IO (T_FILE).
- * vm.c (ENV_IN_HEAP_P): fix off-by-one error.
+Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Feb 16 20:47:16 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/openssl/ossl_ssl.c: sync_close is moved to SSLSocket as
+ a builtin.
- * configure.in (LIBRUBY_DLDFLAGS): Fix a bug where --with-opt-dir
- options given were not reflected to LIBRUBY_DLDFLAGS on many
- platforms including Linux and other GNU-based systems, NetBSD,
- AIX and BeOS.
+ * ext/openssl/lib/openssl/buffering.rb (Buffering#close): ditto.
-Sat Feb 16 20:43:20 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/lib/openssl/buffering.rb (Buffering#puts): should
+ add a return to the tails of each line.
- * ext/socket/ancdata.c (rsock_recvmsg): ignore truncated part of
- socket address returned from recvmsg().
+ * ext/openssl/lib/openssl/ssl.rb: new class OpenSSL::SSL::SSLServer.
- * ext/socket/init.c (recvfrom_blocking): ignore truncated part of
- socket address returned from recvfrom().
- (rsock_s_recvfrom_nonblock): ditto.
+ * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): use sync_close.
-Sat Feb 16 20:05:26 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * ext/openssl/sample/echo_svr.rb: use SSLServer.
- * test/ruby/test_thread.rb: fixed typo
- patched by Hiroki Matsue via https://github.com/ruby/ruby/pull/248
+ * ext/openssl/sample/echo_cli.rb: add example of SSLSocket#sync_close.
-Sat Feb 16 16:08:35 2013 Koichi Sasada <ko1@atdot.net>
+Tue Aug 19 01:24:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm.c (rb_thread_mark): mark a working Proc of bmethod
- (a method defined by define_method) even if the method was removed.
- We could not trace working Proc object which represents the body
- of bmethod if the method was removed (alias/undef/overridden).
- Simply, it was mark miss.
- This patch by Kazuki Tsujimoto. [Bug #7825]
+ * ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard
+ headers are inconsistent at this macro. [ruby-core:01432]
- NOTE: We can brush up this marking because we do not need to mark
- `me' on each living control frame. We need to mark `me's
- only if `me' was free'ed. This is future work after Ruby 2.0.0.
+ * ext/curses/extconf.rb: check if _XOPEN_SOURCE_EXTENDED breaks.
- * test/ruby/test_method.rb: add a test.
+ * ext/tcltklib/stubs.c: Status macro in X11/Xthreads.h bothers
+ winspool.h
-Sat Feb 16 15:45:56 2013 Koichi Sasada <ko1@atdot.net>
+ * instruby.rb: make list at first instead of iterator.
+ [ruby-talk:79347]
- * proc.c (rb_binding_new_with_cfp): create binding object even if
- the frame is IFUNC. But return a ruby-level binding to keep
- compatibility.
- This patch fix degradation introduced from r39067.
- [Bug #7774] [ruby-dev:46960]
+Mon Aug 18 11:23:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add a test.
+ * dir.c (glob_helper): preserve raw order for **.
-Sat Feb 16 13:40:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Aug 17 23:39:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (shvar_to_cpp): do not substitute exec_prefix itself
- with RUBY_EXEC_PREFIX, which cause recursive definition.
- [ruby-core:52296] [Bug #7860]
+ * ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.
-Sat Feb 16 13:13:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Aug 17 17:10:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/io/console/io-console.gemspec: bump to 0.4.2. now explicitly
- requires ruby 1.9.3 or later. [Bug #7847]
+ * ext/openssl/lib/openssl/ssl.rb (SSLSocket#sync_close=): add a
+ method to specify if the underlying IO will be closed in
+ SSLSocket#close.
- * ext/io/console/console.c (console_dev): compatibility with ruby 1.8.
+ * ext/openssl/lib/openssl/buffering.rb: add forwarders to
+ setsockopt, getsockopt and fcntl.
- * ext/io/console/console.c (rawmode_opt, console_dev): compatibility
- with ruby 1.9. [ruby-core:52220] [Bug #7847]
+ * ext/openssl/lib/net/protocols.rb: enable sync for SSLSocket.
-Sat Feb 16 12:45:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Aug 17 11:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: unexpand arch sitearch and exec_prefix values, so
- directly specified bindir, libdir, rubyprefix, etc can be properly
- substituted. [ruby-core:52296] [Bug #7860]
+ * ext/extmk.rb (extmake): should not force to remake Makefile when
+ installation and so on.
-Sat Feb 16 12:15:20 2013 Aaron Patterson <aaron@tenderlovemaking.com>
+Sat Aug 16 23:58:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y: add dtrace probe for symbol create.
+ * marshal.c (w_symbol, w_object): get rid of warnings.
- * probes.d: ditto
+ * re.c (rb_memsearch): ditto.
-Sat Feb 16 09:27:37 2013 Tanaka Akira <akr@fsij.org>
+ * time.c (time_dump): ditto.
- * ext/socket/extconf.rb: don't test sys/feature_tests.h which is not
- used now.
- It was included in r7901 as "bug of gcc 3.0 on Solaris 8 ?".
+ * ext/extmk.rb (extmake): not continue making when extconf.rb
+ failed.
-Sat Feb 16 09:24:37 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.
- * ext/socket/extconf.rb: reorder header tests to consider inclusion
- order in rubysocket.h.
+ * ext/openssl/ossl.h: remove version.h dependency.
-Sat Feb 16 08:42:58 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ruby_missing.h: ditto.
- * configure.in, ext/socket/extconf.rb: test netinet/in_systm.h in
- ext/socket/extconf.rb instead of configure.in.
+ * lib/mkmf.rb (pkg_config): use --libs output except with
+ only-L for other options. [ruby-list:38099]
- Originally, netinet/in_systm.h is included for NextStep, OpenStep,
- and Rhapsody. [ruby-core:1596]
+ * lib/mkmf.rb (create_makefile): separate rule for static
+ library from shared object.
-Sat Feb 16 07:55:40 2013 Tanaka Akira <akr@fsij.org>
+ * win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:
+ define exec_prefix and libdir.
- * configure.in: don't test xti.h here.
+Fri Aug 15 23:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
- * ext/socket/extconf.rb: test xti.h here.
+ * ext/bigdecimal/bigdecimal.c .h: Bug in combination of limit & div
+ method fixed.
- Originally, xti.h is included for IRIX [ruby-core:14447].
+ * ext/bigdecimal/lib/bigdecimal/math.rb: atan() & sqrt() added.
-Sat Feb 16 07:16:49 2013 Tanaka Akira <akr@fsij.org>
+Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/extconf.rb: test struct sockaddr_un and its member,
- sun_len.
+ * configure.in (HUGE_ST_INO): check whether struct stat.st_ino
+ is larger than long. [ruby-dev:21194]
+ http://www.geocities.co.jp/SiliconValley-PaloAlto/1409/ruby/beos.html
- * ext/socket/sockport.h (INIT_SOCKADDR_UN): new macro defined.
+ * error.c (syserr_eqq): errno might exceed Fixnum limit.
- * ext/socket/socket.c (sock_s_pack_sockaddr_un): use INIT_SOCKADDR_UN.
+ * error.c (Init_Exception): moved base initialization from
+ init_syserr().
- * ext/socket/unixsocket.c (rsock_init_unixsock): ditto.
+ * inits.c (rb_call_inits): postpone initializing errnos until
+ Bignum is available.
- * ext/socket/raddrinfo.c (init_unix_addrinfo): ditto.
- (addrinfo_mload): ditto.
+Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Feb 16 07:05:59 2013 Tanaka Akira <akr@fsij.org>
+ * ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let
+ keyname() and so on be declared.
- * ext/socket/sockport.h (INIT_SOCKADDR_IN): don't need family
- argument. it is always AF_INET.
+ * ext/curses/curses.c (curses_resizeterm, window_resize):
+ arguments conflicted with macros in term.h.
- * ext/socket/raddrinfo.c (make_inetaddr): follow INIT_SOCKADDR_IN
- change.
- (addrinfo_ipv6_to_ipv4): ditto.
+ * ext/curses/curses.c (Curses module methods): ensure
+ initialized. [ruby-dev:21191]
-Sat Feb 16 04:21:07 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Aug 15 02:08:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/extconf.rb: workaround for mswin/mingw build problem.
- sendmsg emulation in win32/win32.c is not enough.
+ * gc.c (id2ref): recycle check should be done by klass == 0.
+ [ruby-core:01408]
-Sat Feb 16 00:19:20 2013 Tanaka Akira <akr@fsij.org>
+Fri Aug 15 01:34:23 2003 Michal Rokos <m.rokos@sh.cvut.cz>
- * ext/socket/extconf.rb: use all all tested available headers for
- have_func.
+ * ext/openssl/ossl_pkey.c: move generate_cb here
-Fri Feb 15 22:21:37 2013 Akinori MUSHA <knu@iDaemons.org>
+ * ext/openssl/ossl_pkey_{dh|dsa|rsa}.c: adapt to this cb
- * configure.in: Fix a bug introduced in r38342 that the cflagspat
- substitution is messed up by the way CFLAGS and optflags are
- modified, which affected FreeBSD and NetBSD/amd64 when
- configured to use libexecinfo. This bug resulted in CFLAGS and
- CXXFLAGS in RbConfig::CONFIG having warnflags expanded in them,
- forcing third-party C/C++ extensions to follow what warnflags
- demands, like ANSI/ISO-C90 conformance. ref [Bug #7101]
+ * ext/openssl/openssl_missing.[ch]: add (0.9.6x, x<j) missing BN funcs
-Fri Feb 15 20:29:11 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_bn.c: use supplied funcs from openssl_missing.c
- * ext/socket/sockport.h (SET_SIN_LEN): defined for strict-aliasing
- rule.
- (INIT_SOCKADDR_IN): ditto.
+Fri Aug 15 00:38:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
- * ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR_IN.
- (addrinfo_ipv6_to_ipv4): ditto.
+ * ext/bigdecimal/bigdecimal.c: Bug in div method fixed.
-Fri Feb 15 18:24:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal/lib/bigdecimal/math.rb: Newly added.
- * lib/mkmf.rb (MakeMakefile#try_run): bail out explicitly if cross
- compiling, because it cannot work of course.
+ * ext/bigdecimal/sample/pi.rb: Changed so as to use math.rb.
-Fri Feb 15 12:34:58 2013 Tanaka Akira <akr@fsij.org>
+Thu Aug 14 21:19:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/extconf.rb: test struct sockaddr_storage directly.
+ * eval.c (Init_Thread): Continuation#[] added. [ruby-talk:79028]
- * ext/socket/rubysocket.h: use HAVE_TYPE_STRUCT_SOCKADDR_STORAGE.
+Thu Aug 14 20:03:34 2003 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Fri Feb 15 12:26:13 2013 Tanaka Akira <akr@fsij.org>
+ * ext/win32ole/win32ole.c (OLE_FREE): should not call
+ ole_message_loop.
- * ext/socket/getaddrinfo.c (GET_AI): don't cast 1st argument for
- INIT_SOCKADDR.
+ * ext/win32ole/win32ole.c (ole_event_free): ditto.
-Fri Feb 15 08:12:11 2013 Tanaka Akira <akr@fsij.org>
+ * ext/win32ole/win32ole.c (ole_initialize): stop calling
+ OleUninitialize at exit.
- * ext/socket/sockport.h (SET_SS_LEN): removed.
- (SET_SIN_LEN): removed.
- (INIT_SOCKADDR): new macro.
+Thu Aug 14 11:27:37 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/socket/ancdata.c (extract_ipv6_pktinfo): use INIT_SOCKADDR.
+ * gc.c (rb_data_object_alloc): check type of 1st argument.
+ [ruby-dev:21192]
- * ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR.
- (addrinfo_ipv6_to_ipv4): ditto.
+Thu Aug 14 00:21:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/getaddrinfo.c (GET_AI): use INIT_SOCKADDR.
+ * parse.y (mlhs_node): should allow "::Foo" (colon3) as lhs.
-Fri Feb 15 07:49:27 2013 Eric Hodel <drbrain@segment7.net>
+ * parse.y (lhs): ditto.
- * lib/rdoc.rb: Update to release version of 4.0.0
+ * parse.y (yylex): should return tCOLON3 right after kCLASS.
+ [ruby-talk:78918]
- * lib/rubygems.rb: Update to release version of 2.0.0
+ * error.c (exc_initialize): was converting argument to string too
+ eagerly. Only check was needed. [ruby-talk:78958]
-Fri Feb 15 07:07:27 2013 Tanaka Akira <akr@fsij.org>
+Wed Aug 13 23:31:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
- * ext/socket/sockport.h (SA_LEN): removed because unused now.
- (SS_LEN): ditto.
- (SIN_LEN): ditto.
+ * ext/bigdecimal/bigdecimal.c .h .html: Ambiguity of
+ BigDecimal::limit removed.
-Thu Feb 14 10:45:31 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Wed Aug 13 19:21:34 2003 Christian Neukirchen <chneukirchen@yahoo.de>
- * test/ruby/test_process.rb (test_setsid): Added a workaround for
- MacOS X. Patch by nagachika. [Bug #7826] [ruby-core:52126]
+ * lib/webrick/https.rb (HTTPServer#run): should set syncing-mode
+ to SSLSocket. [ruby-talk:78919]
-Fri Feb 15 00:15:31 2013 Tanaka Akira <akr@fsij.org>
+Wed Aug 13 18:13:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/sockport.h (VALIDATE_SOCKLEN): new macro to validate
- sa_len member of 4.4BSD socket address.
+ * eval.c (POP_BLOCK): turn on BLOCK_LEFT flag when leaving block.
- * ext/socket/getnameinfo.c (getnameinfo): use VALIDATE_SOCKLEN,
- instead of SA_LEN.
+ * eval.c (proc_invoke): unpack return/break destination when block
+ is already left.
- * ext/socket/socket.c (sock_s_getnameinfo): use VALIDATE_SOCKLEN
- instead of SS_LEN.
+Wed Aug 13 15:58:31 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Feb 14 22:25:54 2013 Tanaka Akira <akr@fsij.org>
+ * object.c (rb_class_s_alloc): add function prototype to avoid VC++
+ warning.
- * ext/socket/socket.c (sockaddr_len): extracted from sockaddr_obj.
- (sockaddr_obj): add an argument to length of socket address.
- (socket_s_ip_address_list): call sockaddr_obj with actual socket
- address length if given, use sockaddr_len otherwise.
+Wed Aug 13 13:50:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Feb 14 20:11:23 2013 Tanaka Akira <akr@fsij.org>
+ * ext/Win32API/Win32API.c (Win32API_initialize): should pass some
+ class to first argument of Data_Wrap_Struct(). (ruby-bugs:PR#1109)
- * ext/socket: always operate length of socket address companion with
- socket address.
+Tue Aug 12 16:55:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for
- socket address length.
- (rsock_ipaddr): ditto.
+ * Makefile.in: static link libraries to LIBRUBY_SO with static linked
+ ext. [ruby-dev:21157]
- * ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr.
- (ip_peeraddr): ditto.
- (ip_s_getaddress): pass length to rsock_make_ipaddr.
+ * ext/extmk.rb (extmake): sort extension library initialization order.
- * ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr.
- (sock_s_getnameinfo): pass actual address length to rb_getnameinfo.
- (sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr.
+ * ext/extmk.rb (extmake): compact $extlibs.
- * ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr.
- (rsock_s_recvfrom_nonblock): ditto.
+Tue Aug 12 02:48:56 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket/tcpsocket.c (tcp_sockaddr): pass length to
- rsock_make_ipaddr.
+ * eval.c (THREAD_SAVE_CONTEXT): should explicitly turn off the
+ flag before calling getcontext(2).
- * ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket
- address length. pass the length to rb_getnameinfo.
- (rsock_ipaddr): ditto.
- (rsock_make_ipaddr): add an argument for socket address length.
- pass the length to make_ipaddr0.
- (make_inetaddr): pass length to make_ipaddr0.
- a local variable renamed.
- (host_str): a local variable renamed.
- (port_str): ditto.
+ * eval.c (struct thread): add member to save backing store on
+ IA64. (ruby-bugs PR1086)
-Thu Feb 14 14:31:43 2013 Eric Hodel <drbrain@segment7.net>
+ * eval.c (thread_mark): mark IA64 backing store region.
- * lib/net/http.rb: Removed OpenSSL dependency from Net::HTTP.
+ * eval.c (thread_free): free saved IA64 backing store.
- * test/net/http/test_http.rb: Remove Zlib dependency from tests.
- * test/net/http/test_http_request.rb: ditto.
+ * eval.c (rb_thread_save_context): save IA64 backing store as well.
-Thu Feb 14 11:08:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_restore_context): restore IA64 backing store.
- * class.c (include_modules_at): detect cyclic prepend with original
- method table. [ruby-core:52205] [Bug #7841]
+ * eval.c (THREAD_ALLOC): initialize IA64 members.
-Thu Feb 14 10:30:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Aug 11 22:31:50 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * lib/debug.rb(debug_command): inspection command should inspect
+ resulting value even if it's nil. [ruby-dev:21180] by OMAE, jun
+ <jun66j5@ybb.ne.jp>.
- * vm_method.c: call method_removed hook on called class, not on
- prepending iclass. [ruby-core:52207] [Bug #7843]
+ * lib/debug.rb(debug_command): incomplete regexp.
-Thu Feb 14 10:05:57 2013 Eric Hodel <drbrain@segment7.net>
+Mon Aug 11 17:33:07 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/net/http: Do not handle Content-Encoding when the user sets
- Accept-Encoding. This allows users to handle Content-Encoding for
- themselves. This restores backwards-compatibility with Ruby 1.x.
- [ruby-trunk - Bug #7831]
- * lib/net/http/generic_request.rb: ditto.
- * lib/net/http/response.rb: ditto
- * test/net/http/test_http.rb: Test for the above.
- * test/net/http/test_http_request.rb: ditto.
- * test/net/http/test_httpresponse.rb: ditto.
+ * eval.c (rb_call_super): do not use rb_block_given_p() for
+ check. [ruby-talk:78656]
-Thu Feb 14 08:18:47 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (BEGIN_CALLARGS): push ITER_NOT only when ITER_PRE.
- * ext/socket/extconf.rb: don't define HAVE_SA_LEN and HAVE_SA_LEN.
- use HAVE_STRUCT_SOCKADDR_SA_LEN and HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
- instead.
+Sun Aug 10 10:43:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Feb 13 20:59:48 2013 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/lib/openssl/buffering.rb: increase BLOCK_SIZE
+ from 1k to 16k bytes. [ruby-talk:78603]
- * ext/socket/extconf.rb: don't define socklen_t here, just test.
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable
+ partial write to allow interruption in SSLSocket#write.
- * ext/socket/rubysocket.h: define socklen_t if not available.
+Sun Aug 10 00:34:16 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Wed Feb 13 18:37:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)'
+ for ccache.
- * proc.c (mnew): skip prepending modules and return the method bound
- on the given class. [ruby-core:52160] [Bug #7836]
+Sat Aug 9 10:36:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Feb 13 18:11:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * marshal.c (w_object): do not dump generic instance variable when
+ marshal_dump is defined.
- * proc.c (method_original_name): new methods Method#original_name and
- UnboundMethod#original_name. [ruby-core:52048] [Bug #7806]
- [EXPERIMENTAL]
+Sat Aug 9 00:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
- * proc.c (method_inspect): show the given name primarily, and
- original_id if aliased. [ruby-core:52048] [Bug #7806]
+ * ext/bigdecimal.c: F style output(like 1234.56789) implemented
+ to to_s method.
+ * ext/bigdecimal_??.html: F style output(like 1234.56789)
+ implemented to to_s method.
-Wed Feb 13 17:56:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Aug 8 12:33:17 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * configure.in (warnflags): disable -Werror by default unless
- development. [ruby-core:52131] [Bug #7830]
+ * bcc32/Makefile.sub: rubyw.exe should be a Windows GUI program.
+ add the -aa option to WLDFLAGS.
-Wed Feb 13 06:05:52 2013 Eric Hodel <drbrain@segment7.net>
+Fri Aug 8 11:29:26 2003 Koji Arai <jca02266@nifty.ne.jp>
- * lib/rubygems.rb: Return BINARY strings from Gem.gzip and Gem.gunzip.
- Fixes intermittent test failures. RubyGems issue #450 by Jeremey
- Kemper.
- * test/rubygems/test_gem.rb: Test for the above.
+ * marshal.c (w_object): should set `c_arg' at first.
-Wed Feb 13 05:49:21 2013 Tanaka Akira <akr@fsij.org>
+Fri Aug 8 03:22:28 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/socket/extconf.rb: test functions just after struct members.
+ * lib/webrick/httputils.rb (FormData#list): should not take
+ a side effect for the receiver.
-Tue Feb 12 12:02:35 2013 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Aug 7 14:40:37 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/json: merge JSON 1.7.7.
- This includes security fix. [CVE-2013-0269]
- https://github.com/flori/json/commit/d0a62f3ced7560daba2ad546d83f0479a5ae2cf2
- https://groups.google.com/d/topic/rubyonrails-security/4_YvCpLzL58/discussion
+ * cygwin/GNUmakefile: better --disbale-shared option support.
-Mon Feb 11 23:08:48 2013 Tanaka Akira <akr@fsij.org>
+ * cygwin/GNUmakefile: add forwarding DLL target for cygwin.
- * configure.in: enable rb_cv_page_size_log test for MirOS BSD.
+Thu Aug 7 14:21:05 2003 Corinna Vinschen <vinschen@redhat.com>
-Mon Feb 11 20:06:38 2013 Tanaka Akira <akr@fsij.org>
+ * configure.in: Fix Cygwin specific naming of libraries to
+ be net distribution compliant. (ruby-bugs:PR#1077)
+ cygwin-ruby18.dll -> cygruby18.dll
- * configure.in: use -pthread on mirbsd*.
+Thu Aug 7 12:51:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Feb 11 16:07:09 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_f_at_exit): should not be called without a block.
+ block_given check added.
- * configure.in: add SOLIBS and LIBRUBY_SO definition for mirbsd*.
+Thu Aug 7 06:46:06 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Feb 11 13:17:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_call0): forgot to pop ruby_class.
- * configure.in (rubysitearchprefix): sitearchdir and vendorarchdir
- should use sitearch, not arch. [ruby-dev:46964] [Bug #7823]
+ * eval.c (rb_call0): update ruby_class as well as ruby_cref.
+ (ruby-bugs-ja:PR#540)
- * win32/Makefile.sub (config.status): site and vendor directories
- should use sitearch, not arch. [ruby-dev:46964] [Bug #7823]
+Thu Aug 7 04:52:50 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Feb 11 12:31:25 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_yield_0): remove ruby_frame->cbase and unify to
+ ruby_cref. [ruby-talk:78141]
- * configure.in: move OS specific header/function knowledge before
- automatic header tests.
+Thu Aug 7 04:19:15 2003 Akinori MUSHA <knu@iDaemons.org>
-Mon Feb 11 11:04:29 2013 Tanaka Akira <akr@fsij.org>
+ * gc.c: FreeBSD/ia64's mcontext_t is a bit different from that of
+ Linux/ia64. This makes gc.c compile but miniruby coredumps for
+ the moment.
- * configure.in: move the test for -march=i486 just after
- RUBY_UNIVERSAL_ARCH/RUBY_DEFAULT_ARCH.
+Thu Aug 7 00:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
-Sun Feb 10 23:42:26 2013 Tanaka Akira <akr@fsij.org>
+ * ext/bigdecimal.c: Comparison results adjusted to Float's.
+ * ext/bigdecimal.c: Use rb_num_coerce_????(x,y) instead of own.
- * ext/socket/extconf.rb: test structure members just after types test.
+Wed Aug 6 22:58:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Sun Feb 10 20:58:17 2013 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/testcase.rb: Added equality checking.
+ * lib/test/unit/testsuite.rb: Added equality checking.
+ * lib/test/unit/assertions.rb: Fixed a warning.
- * ext/socket/extconf.rb: test types just after headers test.
+Wed Aug 6 17:28:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Feb 10 16:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/extmk.rb (extmake): pass LIBPATH to make ruby. [ruby-dev:21137]
- * lib/rake/doc/MIT-LICENSE: Add license file from upstream
- * lib/rake/doc/README.rdoc: Link to license file from Rake README
- * lib/rake/version.rb: Include README rdoc for Rake module overview
+ * ext/extmk.rb (extmake): set library name as source file name in
+ Init_ext(). [ruby-dev:21137]
-Sun Feb 10 15:26:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/mkmf.rb (Logging::postpone): postpone logging messages after
+ heading message as the result of the block.
- * lib/rake/doc/*: Sync Rake rdoc files from upstream
+ * lib/mkmf.rb (macro_defined?): append newline to src unless ended
+ with it.
-Sun Feb 10 15:50:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/mkmf.rb (have_library): treat nil function name as "main".
+ (ruby-bugs:PR#1083)
+
+ * lib/mkmf.rb (pkg_config): should append additional libraries to
+ $libs but not $LIBS. [ruby-dev:21137]
+
+ * ext/io/wait/extconf.rb: check DOSISH macro instead of platform.
+
+ * ext/digest/sha1/extconf.rb: have_library already appends library
+ name.
- * vm_exec.h (DISPATCH_ARCH_DEPEND_WAY): use __asm__ __volatile__
- instead of asm volatile.
+Wed Aug 6 17:23:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Feb 10 15:50:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * eval.c: initialize /* OK */ variables by Qnil to stop warnings.
- * gc.h (SET_MACHINE_STACK_END): use __volatile__ instead of volatile.
+Wed Aug 6 04:58:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Feb 10 14:25:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * ext/Setup*: add io/wait and openssl.
- * doc/rake/, lib/rake/doc/: Move Rake rdoc files to lib/rake
+Wed Aug 6 01:13:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Feb 10 12:10:25 2013 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_f_autoload): use ruby_cbase instead of ruby_class.
- * ext/socket/extconf.rb: test headers at first.
+ * eval.c (rb_f_autoload_p): ditto.
-Sun Feb 10 12:00:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * class.c (rb_mod_init_copy): no longer implements independent
+ clone and dup methods. override "initialize_copy" instead.
+ [ruby-core:01352]
- * doc/rake/*: Removed stale Rake static files
+ * object.c (rb_class_s_alloc): define Class allocation function.
+ this makes Classes to follow clone framework that uses
+ initialize_copy.
-Sun Feb 10 09:10:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * object.c (rb_class_initialize): separate instantiation and
+ initialization.
- * lib/pp.rb, lib/prettyprint.rb: Documentation for PP and PrettyPrint
- Based on a patch by Vincent Batts [ruby-core:51253] [Bug #7656]
+ * object.c (rb_obj_alloc): prohibit instantiation from
+ uninitialized class.
-Sat Feb 9 21:11:21 2013 Tanaka Akira <akr@fsij.org>
+ * object.c (rb_class_superclass): check uninitialized class.
- * configure.in: move header files check to the beginning of
- "header and library section".
- test rlim_t with sys/types.h and sys/time.h for MirOS BSD.
- sys/types.h and sys/time.h is guarded by #ifdef and the above
- move is required for this change.
+ * array.c (rb_ary_fill): wrong index processing with block. this
+ fix was done by Koji Arai <JCA02266@nifty.ne.jp> [ruby-list:38029]
-Sat Feb 9 17:45:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * marshal.c (w_object): should preserve generic ivar for nil,
+ true, false, symbols, and fixnums.
- * configure.in, version.c: prevent duplicated load paths by empty
- version string, it does not work right now.
+ * marshal.c (w_uclass): base_klass check should be done after
+ rb_class_real().
-Sat Feb 9 17:38:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Aug 6 01:18:50 2003 Minero Aoki <aamine@loveruby.net>
- * configure.in: fix arch parameters in help message. [Bug #7804]
+ * lib/net/http.rb: update document.
-Sat Feb 9 13:13:00 2013 Zachary Scott <zachary@zacharyscott.net>
+ * lib/net/pop.rb: ditto.
- * vm_trace.c: Note about TracePoint events set, and comment on
- Kernel#set_trace_func to prefer new TracePoint API
+ * lib/net/protocol.rb: ditto.
-Sat Feb 9 10:07:47 2013 Kazuki Tsujimoto <kazuki@callcc.net>
+Wed Aug 6 00:48:37 2003 Koji Arai <jca02266@nifty.ne.jp>
- * BSDL: update copyright notice for 2013.
+ * marshal.c (w_object): should recommend marshal_dump rather than
+ _dump_data.
-Sat Feb 9 09:24:38 2013 Eric Hodel <drbrain@segment7.net>
+Tue Aug 5 17:58:57 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/rubygems/package/old.rb: Fix behavior only on ruby 1.8.
+ * lib/fileutils.rb (install): should preserve timestamp only.
- * lib/rubygems/package.rb: Include checksums.yaml.gz signatures for
- verification.
- * test/rubygems/test_gem_package.rb: Test for the above.
+Tue Aug 5 17:31:59 2003 Ian Macdonald <ian@caliban.org>
-Sat Feb 9 01:23:24 2013 Tanaka Akira <akr@fsij.org>
+ * lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir):
+ simple typo.
- * test/fiddle/helper.rb: specify libc and libm locations for MirOS BSD.
+Tue Aug 5 15:47:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/dl/test_base.rb: ditto.
+ * eval.c (rb_load): should preserve current source file/line.
-Fri Feb 8 23:25:33 2013 Tanaka Akira <akr@fsij.org>
+Tue Aug 5 10:04:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: change CFLAGS temporally to test
- ARCH_FLAG="-march=i486".
+ * string.c (str_new4): ptr may refer null_str.
-Fri Feb 8 21:19:41 2013 Tanaka Akira <akr@fsij.org>
+Mon Aug 4 17:25:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: don't define ARCH_FLAG="-march=i486" if it causes
- compilation problem.
+ * stable version 1.8.0 released.
-For the changes before 2.0.0, see doc/ChangeLog-2.0.0
-For the changes before 1.9.3, see doc/ChangeLog-1.9.3
For the changes before 1.8.0, see doc/ChangeLog-1.8.0
Local variables:
-coding: us-ascii
add-log-time-format: (lambda ()
(let* ((time (current-time))
- (system-time-locale "C")
(diff (+ (cadr time) 32400))
(lo (% diff 65536))
- (hi (+ (car time) (/ diff 65536))))
+ (hi (+ (car time) (/ diff 65536))))
(format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
indent-tabs-mode: t
tab-width: 8
-change-log-indent-text: 2
end:
-vim: tabstop=8 shiftwidth=2
diff --git a/GPL b/GPL
index d159169d10..5b6e7c66c2 100644
--- a/GPL
+++ b/GPL
@@ -1,12 +1,12 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
+ Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
+the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
-
- GNU GENERAL PUBLIC LICENSE
+
+ GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
-
+
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
-
+
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-
+
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
- NO WARRANTY
+ NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
@@ -303,9 +303,10 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
Also add information on how to contact you by electronic and paper mail.
@@ -335,5 +336,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
+library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
diff --git a/KNOWNBUGS.rb b/KNOWNBUGS.rb
deleted file mode 100644
index b97a08d928..0000000000
--- a/KNOWNBUGS.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# This test file concludes tests which point out known bugs.
-# So all tests will cause failure.
-#
-
diff --git a/LEGAL b/LEGAL
index 65706459cd..908eb270f5 100644
--- a/LEGAL
+++ b/LEGAL
@@ -5,59 +5,34 @@ All the files in this distribution are covered under either the Ruby's
license (see the file COPYING) or public-domain except some files
mentioned below.
-include/ruby/oniguruma.h:
-regcomp.c:
-regenc.[ch]:
-regerror.c:
-regexec.c:
-regint.h:
-regparse.[ch]:
-enc/ascii.c
-enc/big5.c
-enc/cp949.c
-enc/emacs_mule.c
-enc/encdb.c
-enc/euc_jp.c
-enc/euc_kr.c
-enc/euc_tw.c
-enc/gb18030.c
-enc/gb2312.c
-enc/gbk.c
-enc/iso_8859_1.c
-enc/iso_8859_10.c
-enc/iso_8859_11.c
-enc/iso_8859_13.c
-enc/iso_8859_14.c
-enc/iso_8859_15.c
-enc/iso_8859_16.c
-enc/iso_8859_2.c
-enc/iso_8859_3.c
-enc/iso_8859_4.c
-enc/iso_8859_5.c
-enc/iso_8859_6.c
-enc/iso_8859_7.c
-enc/iso_8859_8.c
-enc/iso_8859_9.c
-enc/koi8_r.c
-enc/koi8_u.c
-enc/shift_jis.c
-enc/unicode.c
-enc/us_ascii.c
-enc/utf_16be.c
-enc/utf_16le.c
-enc/utf_32be.c
-enc/utf_32le.c
-enc/utf_8.c
-enc/windows_1251.c
-
-Oniguruma ---- (C) K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
-
-http://www.geocities.jp/kosako3/oniguruma/
-http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/oniguruma/
-http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/oniguruma/
-
- When this software is partly used or it is distributed with Ruby,
- this of Ruby follows the license of Ruby.
+regex.[ch]:
+
+ These files are under LGPL. Treat them as LGPL says. (See the file
+ LGPL for details)
+
+ Extended regular expression matching and search library.
+ Copyright (C) 1993, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file LGPL. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+ Multi-byte extension added May, 1993 by t^2 (Takahiro Tanimoto)
+ Last change: May 21, 1993 by t^2
+ removed gapped buffer support, multiple syntax support by matz <matz@nts.co.jp>
+ Perl5 extension added by matz <matz@caelum.co.jp>
+ UTF-8 extension added Jan 16 1999 by Yoshida Masato <yoshidam@tau.bekkoame.ne.jp>
configure:
@@ -68,8 +43,9 @@ configure:
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-tool/config.guess:
-tool/config.sub:
+config.guess:
+config.sub:
+parse.c:
As long as you distribute these files with the file configure, they
are covered under the Ruby's license.
@@ -96,58 +72,7 @@ tool/config.sub:
configuration script generated by Autoconf, you may include it under
the same distribution terms that you use for the rest of that program.
-parse.c:
-
- This file is licensed under the GPL, but is incorporated into Ruby and
- redistributed under the terms of the Ruby license, as permitted by the
- exception to the GPL below.
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
- /* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
-
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
-
util.c (partly):
-
- Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
-
- Permission to use, copy, modify, and distribute this software for any
- purpose without fee is hereby granted, provided that this entire notice
- is included in all copies of any software which is or includes a copy
- or modification of this software and in all copies of the supporting
- documentation for such software.
-
- THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY
- REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
-
win32/win32.[ch]:
You can apply the Artistic License to these files. (or GPL,
@@ -158,32 +83,6 @@ win32/win32.[ch]:
You may distribute under the terms of either the GNU General Public
License or the Artistic License, as specified in the perl README file.
-util.c (partly):
-
- Copyright (c) 2004-2008 David Schultz <das@FreeBSD.ORG>
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
random.c
This file is under the new-style BSD license.
@@ -231,109 +130,72 @@ random.c
http://www.math.keio.ac.jp/matumoto/emt.html
email: matumoto@math.keio.ac.jp
-vsnprintf.c:
-
- This file is under the old-style BSD license. Note that the
- paragraph 3 below is now null and void.
-
- Copyright (c) 1990, 1993
- The Regents of the University of California. All rights reserved.
-
- This code is derived from software contributed to Berkeley by
- Chris Torek.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
- IMPORTANT NOTE:
- --------------
- From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
- paragraph 3 above is now null and void.
-
st.[ch]:
+x68/*:
missing/alloca.c:
missing/dup2.c:
-missing/erf.c:
missing/finite.c:
missing/hypot.c:
missing/isinf.c:
missing/isnan.c:
-missing/lgamma_r.c:
missing/memcmp.c:
missing/memmove.c:
+missing/strcasecmp.c:
missing/strchr.c:
+missing/streror.c:
+missing/strftime.c:
+missing/strncasecmp.c:
missing/strstr.c:
missing/strtol.c:
-missing/tgamma.c:
ext/digest/sha1/sha1.[ch]:
These files are all under public domain.
-missing/crypt.c:
+missing/strtod.c:
- This file is under the old-style BSD license. Note that the
- paragraph 3 below is now null and void.
+ This file will not be used on most platforms depending on how the
+ configure script results. In any case you must not receive any fee
+ with the file itself.
- Copyright (c) 1989, 1993
- The Regents of the University of California. All rights reserved.
+ Copyright (c) 1988-1993 The Regents of the University of California.
+ Copyright (c) 1994 Sun Microsystems, Inc.
- This code is derived from software contributed to Berkeley by
- Tom Truscott.
+ Permission to use, copy, modify, and distribute this
+ software and its documentation for any purpose and without
+ fee is hereby granted, provided that the above copyright
+ notice appear in all copies. The University of California
+ makes no representations about the suitability of this
+ software for any purpose. It is provided "as is" without
+ express or implied warranty.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
+missing/strtoul.c:
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
+ This file will not be used on most platforms depending on how the
+ configure script results. In any case you must not receive any fee
+ with the file itself.
+
+ Copyright 1988 Regents of the University of California
-missing/setproctitle.c
+ Permission to use, copy, modify, and distribute this
+ software and its documentation for any purpose and without
+ fee is hereby granted, provided that the above copyright
+ notice appear in all copies. The University of California
+ makes no representations about the suitability of this
+ software for any purpose. It is provided "as is" without
+ express or implied warranty.
+
+missing/erf.c:
+missing/crypt.c:
+missing/vsnprintf.c:
This file is under the old-style BSD license. Note that the
paragraph 3 below is now null and void.
- Copyright 2003 Damien Miller
- Copyright (c) 1983, 1995-1997 Eric P. Allman
- Copyright (c) 1988, 1993
- The Regents of the University of California. All rights reserved.
+ Copyright (c) 1990, 1993
+ The Regents of the University of California. All rights reserved.
+
+ This code is derived from software contributed to Berkeley by
+ Chris Torek.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -359,46 +221,10 @@ missing/setproctitle.c
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-missing/strlcat.c
-missing/strlcpy.c
-
- These files are under the new-style BSD license.
-
- Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-missing/langinfo.c
-
- This file is from http://www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c.
- Ruby uses a modified version. The file contains the following
- author/copyright notice:
-
- Markus.Kuhn@cl.cam.ac.uk -- 2002-03-11
- Permission to use, copy, modify, and distribute this software
- for any purpose and without fee is hereby granted. The author
- disclaims all warranties with regard to this software.
+ IMPORTANT NOTE:
+ --------------
+ From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+ paragraph 3 above is now null and void.
ext/digest/md5/md5.[ch]:
@@ -438,7 +264,18 @@ ext/digest/rmd160/rmd160.[ch]:
Copyright (c) Katholieke Universiteit Leuven
1996, All Rights Reserved
+ext/digest/rmd160/rmd160hl.c:
+ext/digest/sha1/sha1hl.c:
+
+ These files are under the beer-ware license.
+
+ "THE BEER-WARE LICENSE" (Revision 42):
+ <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you
+ can do whatever you want with this stuff. If we meet some day, and you think
+ this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
+
ext/digest/sha2/sha2.[ch]:
+ext/digest/sha2/sha2hl.c:
These files are under the new-style BSD license.
diff --git a/LGPL b/LGPL
new file mode 100644
index 0000000000..b1e3f5a263
--- /dev/null
+++ b/LGPL
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/Makefile.in b/Makefile.in
index d3313bea2e..1e372885b7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,33 +1,17 @@
SHELL = /bin/sh
-NULLCMD = @NULLCMD@
-n=$(NULLCMD)
-ECHO1 = $(V:1=@$n)
-RUNCMD = $(SHELL)
-CDPATH = .
-CHDIR = @CHDIR@
-exec = exec
-NULL = /dev/null
-PATH_SEPARATOR = @PATH_SEPARATOR@
+NULLCMD = :
#### Start of system configuration section. ####
srcdir = @srcdir@
-top_srcdir = $(srcdir)
-hdrdir = $(srcdir)/include
-PLATFORM_DIR = @PLATFORM_DIR@
+VPATH = $(srcdir):$(srcdir)/missing
CC = @CC@
-CPP = @CPP@
-LD = @LD@
-YACC = bison
+YACC = @YACC@
PURIFY =
AUTOCONF = autoconf
@SET_MAKE@
MKFILES = @MAKEFILES@
-BASERUBY = @BASERUBY@
-TEST_RUNNABLE = @TEST_RUNNABLE@
-CROSS_COMPILING = @CROSS_COMPILING@
-DOXYGEN = @DOXYGEN@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -40,80 +24,37 @@ datadir = @datadir@
arch = @arch@
sitearch = @sitearch@
sitedir = @sitedir@
-archlibdir = @archlibdir@
-ruby_version = @ruby_version@
TESTUI = console
TESTS =
-INSTALLDOC = @INSTALLDOC@
-DOCTARGETS = @RDOCTARGET@ @CAPITARGET@
+RDOCTARGET = @RDOCTARGET@
EXTOUT = @EXTOUT@
-arch_hdrdir = $(EXTOUT)/include/$(arch)
-VPATH = $(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir):$(srcdir)/enc:$(srcdir)/missing
+RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
empty =
-CC_VERSION = @CC_VERSION@
OUTFLAG = @OUTFLAG@$(empty)
-COUTFLAG = @COUTFLAG@$(empty)
-ARCH_FLAG = @ARCH_FLAG@
-CFLAGS = @CFLAGS@ $(ARCH_FLAG)
-cflags = @cflags@
-optflags = @optflags@
-debugflags = @debugflags@
-warnflags = @warnflags@ @strict_warnflags@
-cppflags = @cppflags@
-INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir)
-XCFLAGS = @XCFLAGS@
-CPPFLAGS = @CPPFLAGS@ $(INCFLAGS)
+CFLAGS = @CFLAGS@ @XCFLAGS@ @ARCH_FLAG@
+CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
-EXTLDFLAGS = @EXTLDFLAGS@
+EXTLDFLAGS =
XLDFLAGS = @XLDFLAGS@ $(EXTLDFLAGS)
-EXTLIBS =
+EXTLIBS =
LIBS = @LIBS@ $(EXTLIBS)
MISSING = @LIBOBJS@ @ALLOCA@
LDSHARED = @LIBRUBY_LDSHARED@
-DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG)
+DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(EXTLDFLAGS) @ARCH_FLAG@
SOLIBS = @SOLIBS@
MAINLIBS = @MAINLIBS@
-ARCHMINIOBJS = @MINIOBJS@
-DLNOBJ = @DLNOBJ@
-ENCOBJS = @ENCOBJS@
-EXTOBJS = @EXTOBJS@
-BUILTIN_ENCOBJS = @BUILTIN_ENCOBJS@
-BUILTIN_TRANSSRCS = @BUILTIN_TRANSSRCS@
-BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@
-POSTLINK = @POSTLINK@
-
-RUBY_BASE_NAME=@RUBY_BASE_NAME@
-RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@
+MINIOBJS = @MINIOBJS@
+
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
RUBY_SO_NAME=@RUBY_SO_NAME@
-RUBY_RELEASE_DATE=@RUBY_RELEASE_DATE@
EXEEXT = @EXEEXT@
-LIBEXT = @LIBEXT@
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
RUBY = $(RUBY_INSTALL_NAME)
-MINIRUBY = @MINIRUBY@\
- $(MINIRUBYOPT)
-# RUNRUBY_COMMAND:: runruby.rb or baseruby. do not append options directly
-RUNRUBY_COMMAND = @RUNRUBY_COMMAND@
-# RUNRUBY:: run ruby with RUN_OPTS which is passed to ruby
-RUNRUBY = @RUNRUBY@ $(RUN_OPTS)
-# RUNRUBY_DEBUGGER:: debugging option for runruby.rb
-RUNRUBY_DEBUGGER = --debugger='gdb -x run.gdb --quiet --args'
-XRUBY = @XRUBY@
-BTESTRUBY = @BTESTRUBY@\
- $(MINIRUBYOPT)
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-XRUBY_LIBDIR = @XRUBY_LIBDIR@
-XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
-XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
-
-DEFAULT_PRELUDES = $(GEM_PRELUDE)
+MINIRUBY = @MINIRUBY@ $(MINIRUBYOPT)
+RUNRUBY = @RUNRUBY@
#### End of system configuration section. ####
@@ -128,70 +69,26 @@ LIBRUBY = @LIBRUBY@
LIBRUBYARG = @LIBRUBYARG@
LIBRUBYARG_STATIC = @LIBRUBYARG_STATIC@
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
-LIBRUBY_RELATIVE = @LIBRUBY_RELATIVE@
-LIBRUBY_A_OBJS = @LIBRUBY_A_OBJS@
-
-THREAD_MODEL = @THREAD_MODEL@
PREP = @PREP@
ARCHFILE = @ARCHFILE@
SETUP =
EXTSTATIC = @EXTSTATIC@
-SET_LC_MESSAGES = env LC_MESSAGES=C
-MAKEDIRS = @MKDIR_P@
-CP = cp
-MV = mv
RM = rm -f
-RMDIR = @RMDIR@
-RMDIRS = @RMDIRS@
-RMALL = @RMALL@
NM = @NM@
AR = @AR@
ARFLAGS = rcu
RANLIB = @RANLIB@
AS = @AS@
-ASFLAGS = @ASFLAGS@ $(INCFLAGS)
-IFCHANGE = $(srcdir)/tool/ifchange
-SET_LC_MESSAGES = env LC_MESSAGES=C
-OBJDUMP = @OBJDUMP@
-OBJCOPY = @OBJCOPY@
-VCS = @VCS@
-VCSUP = @VCSUP@
-DTRACE = @DTRACE@
-DTRACE_EXT = @DTRACE_EXT@
-DTRACE_OBJ = @DTRACE_OBJ@
-DTRACE_GLOMMED_OBJ = @DTRACE_GLOMMED_OBJ@
+ASFLAGS = @ASFLAGS@
OBJEXT = @OBJEXT@
-ASMEXT = S
-DLEXT = @DLEXT@
MANTYPE = @MANTYPE@
-SYMBOL_PREFIX = @SYMBOL_PREFIX@
INSTALLED_LIST= .installed.list
-
-MKMAIN_CMD = mkmain.sh
-
-NEWLINE_C = newline.c
-MINIPRELUDE_C = miniprelude.c
-RBCONFIG = .rbconfig.time
-
-SRC_FILE = $<
-OS_SRC_FILE = $<
-DEST_FILE = $@
-OS_DEST_FILE = $@
-
-MESSAGE_BEGIN = @for line in
-MESSAGE_END = ; do echo "$$line"; done
-ECHO_BEGIN = @sep=''; for word in
-ECHO_END = ; do echo @ECHO_N@ "$$sep'$$word'@ECHO_C@"; sep=' '; done; echo
-
-configure_args = @configure_args@
#### End of variables
-.SUFFIXES: .inc .h .c .y .i .$(DTRACE_EXT)
-
all:
.DEFAULT: all
@@ -200,281 +97,84 @@ all:
.NOEXPORT:
miniruby$(EXEEXT):
- @-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi
- $(ECHO) linking $@
- $(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(DMYEXT) $(DTRACE_OBJ) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@
+ @$(RM) $@
+ $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@
$(PROGRAM):
@$(RM) $@
- $(ECHO) linking $@
- $(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@
- $(Q) $(POSTLINK)
+ $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) $(OUTFLAG)$@
# We must `rm' the library each time this rule is invoked because "updating" a
# MAB library on Apple/NeXT (see --enable-fat-binary in configure) is not
# supported.
$(LIBRUBY_A):
@$(RM) $@
- $(ECHO) linking static-library $@
- $(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(DMYEXT)
+ $(AR) $(ARFLAGS) $@ $(OBJS) $(DMYEXT)
@-$(RANLIB) $@ 2> /dev/null || true
- $(ECHO) verifying static-library $@
- @$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)conftest$(EXEEXT)
- @$(RM) conftest$(EXEEXT) conftest.c
$(LIBRUBY_SO):
@-$(PRE_LIBRUBY_UPDATE)
- $(ECHO) linking shared-library $@
- $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(DTRACE_OBJ) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@
- -$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)*_threadptr_*' $@
- $(Q) $(POSTLINK)
- @-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link rescue nil; \
+ $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@
+ @-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \
File.symlink "$(LIBRUBY_SO)", link}' \
$(LIBRUBY_ALIASES) || true
-$(arch)-fake.rb: config.status $(srcdir)/template/fake.rb.in
- @./config.status --file=$@:$(srcdir)/template/fake.rb.in
- @chmod +x $@
-
-ruby_pc = @ruby_pc@
-$(ruby_pc):
- @./config.status --file=$@:$(srcdir)/template/ruby.pc.in
-
-install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/config.h \
- $(LIBRUBY_A) $(LIBRUBY_SO) $(ARCHFILE)
- $(ECHO) installing cross-compiling stuff
- $(Q) $(MAKEDIRS) $(XRUBY_RUBYLIBDIR)/$(arch) $(XRUBY_RUBYHDRDIR)/$(arch)/ruby
- $(Q) sed '/^\$$:\.unshift/q' $(arch)-fake.rb > fake.rb
- $(Q) $(BASERUBY) -p \
- -e '~/^\s*CONFIG\["LDFLAGS"\]/ and' \
- -e '$$_[/(?=\s*"$$)/] = %q[ #{(CONFIG["LIBPATHFLAG"]%File.dirname(__FILE__)).strip}]' \
- rbconfig.rb > fake-rbconfig.rb
- $(INSTALL_SCRIPT) fake.rb $(XRUBY_RUBYLIBDIR)/$(arch)/fake.rb
- $(INSTALL_SCRIPT) fake-rbconfig.rb $(XRUBY_RUBYLIBDIR)/$(arch)/rbconfig.rb
- @$(RM) fake.rb fake-rbconfig.rb
- $(INSTALL_DATA) $(arch_hdrdir)/ruby/config.h $(XRUBY_RUBYHDRDIR)/$(arch)/ruby
- $(INSTALL_DATA) $(top_srcdir)/include/ruby/win32.h $(XRUBY_RUBYHDRDIR)/ruby
- $(INSTALL_DATA) $(LIBRUBY) $(LIBRUBY_A) $(XRUBY_RUBYLIBDIR)/$(arch)
- $(INSTALL_PROGRAM) $(LIBRUBY_SO) $(XRUBY_RUBYLIBDIR)/$(arch)
-
-Makefile: $(srcdir)/Makefile.in $(srcdir)/enc/Makefile.in
-
-$(MKFILES): config.status
- @[ -f $@ ] && mv $@ $@.old
- MAKE=$(MAKE) $(SHELL) ./config.status $@
- @cmp $@ $@.old > /dev/null 2>&1 && echo $@ unchanged && exit 0; \
- { \
+
+fake.rb: Makefile
+ @echo ' \
+ class Object; \
+ CROSS_COMPILING = RUBY_PLATFORM; \
+ remove_const :RUBY_PLATFORM; \
+ remove_const :RUBY_VERSION; \
+ RUBY_PLATFORM = "@arch@"; \
+ RUBY_VERSION = "@MAJOR@.@MINOR@.@TEENY@"; \
+ end; \
+ if RUBY_PLATFORM =~ /mswin|bccwin|mingw/; \
+ class File; \
+ remove_const :ALT_SEPARATOR; \
+ ALT_SEPARATOR = "\\"; \
+ end; \
+ end; \
+ ' > $@
+
+Makefile: $(srcdir)/Makefile.in
+
+$(MKFILES): config.status $(srcdir)/common.mk
+ MAKE=$(MAKE) $(SHELL) ./config.status
+ @{ \
echo "all:; -@rm -f conftest.mk"; \
echo "conftest.mk: .force; @echo AUTO_REMAKE"; \
echo ".force:"; \
} > conftest.mk || exit 1; \
$(MAKE) -f conftest.mk | grep '^AUTO_REMAKE$$' >/dev/null 2>&1 || \
- { echo "$@ updated, restart."; exit 1; }
+ { echo "Makefile updated, restart."; exit 1; }
-uncommon.mk: $(srcdir)/common.mk
- sed 's/{\$$([^(){}]*)[^{}]*}//g' $< > $@
+config.status: $(srcdir)/configure
+ MINIRUBY="$(MINIRUBY)" $(SHELL) ./config.status --recheck
-.PHONY: reconfig
-reconfig-args = $(srcdir)/configure $(configure_args)
-config.status-args = ./config.status --recheck
-reconfig-exec-0 = exec 3>&1; exit `exec 4>&1; { "$$@" 3>&- 4>&-; echo $$? 1>&4; } | fgrep -v '(cached)' 1>&3`
-reconfig-exec-1 = set -x; "$$@"
+$(srcdir)/configure: $(srcdir)/configure.in
+ cd $(srcdir) && $(AUTOCONF)
-reconfig config.status: $(srcdir)/configure $(srcdir)/enc/Makefile.in \
- $(srcdir)/include/ruby/version.h
- @PWD= MINIRUBY="$(MINIRUBY)"; export MINIRUBY; \
- set $(SHELL) $($@-args); $(reconfig-exec-$(V))
+lex.c: keywords
+ @-$(RM) $@
+ gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? > $@ || \
+ cp "$(srcdir)/$@" .
-$(srcdir)/configure: $(srcdir)/configure.in
- $(CHDIR) $(srcdir) && exec $(AUTOCONF)
-
-incs: id.h
-all-incs: probes.h
-
-# Things which should be considered:
-# * with gperf v.s. without gperf
-# * committers may have various versions of gperf
-# * ./configure v.s. ../ruby/configure
-# * GNU make v.s. HP-UX make # HP-UX make invokes the action if lex.c and keywords has same mtime.
-# * svn checkout generate a file with mtime as current time
-# * ext4 and XFS has a mtime with fractional part
-lex.c: defs/keywords
- @\
- if cmp -s $(srcdir)/defs/lex.c.src $?; then \
- [ $(Q) ] && echo copying $@ || set -x; \
- $(CP) $(srcdir)/lex.c.blt $@; \
- else \
- [ $(Q) ] && echo generating $@ || set -x; \
- gperf -C -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? > $@.tmp && \
- $(MV) $@.tmp $@ && \
- $(CP) $? $(srcdir)/defs/lex.c.src && \
- $(CP) $@ $(srcdir)/lex.c.blt; \
- fi
-
-NAME2CTYPE_OPTIONS = -7 -c -j1 -i1 -t -C -P -T -H uniname2ctype_hash -Q uniname2ctype_pool -N uniname2ctype_p
-
-enc/unicode/name2ctype.h: enc/unicode/name2ctype.kwd
- $(MAKEDIRS) $(@D)
- @set +e; \
- if cmp -s $(?:.kwd=.src) $?; then \
- set -x; \
- $(CP) $(?:.kwd=.h.blt) $@; \
- else \
- trap '$(RM) $@-1.h $@-2.h' 0 && \
- set -x; \
- sed '/^#ifdef USE_UNICODE_PROPERTIES/,/^#endif/d' $? | gperf $(NAME2CTYPE_OPTIONS) > $@-1.h && \
- sed '/^#ifdef USE_UNICODE_PROPERTIES/d;/^#endif/d' $? | gperf $(NAME2CTYPE_OPTIONS) > $@-2.h && \
- diff -DUSE_UNICODE_PROPERTIES $@-1.h $@-2.h > $@.tmp || :; \
- $(MV) $@.tmp $@ && \
- $(CP) $? $(?:.kwd=.src) && \
- $(CP) $@ $(?:.kwd=.h.blt); \
- fi
+.y.c:
+ $(YACC) $<
+ sed '/^#/s|y\.tab\.c|$@|' y.tab.c > $@
+ rm -f y.tab.c
.c.@OBJEXT@:
- @$(ECHO) compiling $<
- $(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $<
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
.s.@OBJEXT@:
- @$(ECHO) assembling $<
- $(Q) $(AS) $(ASFLAGS) -o $@ $<
-
-.c.S:
- @$(ECHO) translating $<
- $(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -S $<
-
-.c.i:
- @$(ECHO) preprocessing $<
- $(Q) $(CPP) $(warnflags) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -E $< > $@
-
-.d.h:
- @$(ECHO) translating probes $<
- $(Q) $(DTRACE) -o $@.tmp -h -C $(INCFLAGS) -s $<
- $(Q) sed -e 's/RUBY_/RUBY_DTRACE_/g' -e 's/PROBES_H_TMP/PROBES_H/g' -e 's/(char \*/(const char */g' -e 's/, char \*/, const char */g' $@.tmp > $@
- $(Q) $(RM) $@.tmp
-
-.dmyh.h:
- @$(ECHO) copying dummy $(DEST_FILE)
- $(Q) $(CP) $(OS_SRC_FILE) $(OS_DEST_FILE)
-
-probes.@OBJEXT@: $(srcdir)/probes.d
- @$(ECHO) processing probes in object files
- $(Q) stamp="$*.stamp"; \
- if test -f "$$stamp" -o -f "$@"; then \
- $(RM) $(DTRACE_DEPENDENT_OBJS) "$$stamp"; \
- for o in $(DTRACE_DEPENDENT_OBJS); do \
- echo "rebuilding $$o which was modified by \"dtrace -G\""; \
- $(MAKE) "$$o"; \
- done; \
- fi; \
- touch "$$stamp"
- $(RM) $@
- $(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_DEPENDENT_OBJS)
-
-# DTrace static library hacks described here:
-# http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html
-ruby-glommed.$(OBJEXT):
- @$(ECHO) generating a glommed object with DTrace probes for static library
- $(Q) $(LD) -r -o $@ $(OBJS) $(DTRACE_OBJ)
+ $(AS) $(ASFLAGS) -o $@ $<
clean-local::
- $(Q)$(RM) ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \
- enc/encinit.c enc/encinit.$(OBJEXT)
- -$(Q)$(RM) $(pkgconfig_DATA)
+ @$(RM) ext/extinit.c ext/extinit.$(OBJEXT)
distclean-local::
- $(Q)$(RM) ext/config.cache $(RBCONFIG) Doxyfile
- -$(Q)$(RM) run.gdb
- -$(Q)$(RM) $(INSTALLED_LIST) $(arch_hdrdir)/ruby/config.h verconf.h
- -$(Q)$(RMDIRS) $(arch_hdrdir)/ruby 2> /dev/null || true
-
-clean-ext distclean-ext realclean-ext::
- @cd ext 2>/dev/null || exit 0; set dummy `echo "${EXTS}" | tr , ' '`; shift; \
- test "$$#" = 0 && set .; \
- set dummy `\
- find "$$@" -name Makefile -print | sed 's:^\./::;s:/Makefile$$:~:' | sort | sed 's:~$$::'; \
- `; shift; \
- cd ..; \
- for dir do \
- echo $(@:-ext=)ing "$$dir"; \
- (cd "ext/$$dir" && exec $(MAKE) $(MFLAGS) $(@:-ext=)) && \
- case "$@" in \
- *distclean-ext*|*realclean-ext*) \
- $(RMDIRS) "ext/$$dir" 2> /dev/null || true;; \
- esac; \
- done
- -$(Q)$(RM) ext/extinit.$(OBJEXT)
-
-distclean-ext realclean-ext::
- -$(Q)$(RM) ext/extinit.c
- -$(Q)$(RMDIR) ext 2> /dev/null || true
-
-clean-extout:
- -$(Q)$(RMDIRS) $(EXTOUT) 2> /dev/null || true
-
-clean-enc distclean-enc realclean-enc:
- @test -f "$(ENC_MK)" || exit 0; \
- echo $(@:-enc=ing) encodings; \
- exec $(MAKE) -f $(ENC_MK) $(MFLAGS) $(@:-enc=)
-
-clean-rdoc distclean-rdoc realclean-rdoc:
- @echo $(@:-rdoc=ing) rdoc
- $(Q)$(RMALL) $(RDOCOUT)
-clean-capi distclean-capi realclean-capi:
- @echo $(@:-capi=ing) capi
- $(Q)$(RMALL) $(CAPIOUT)
-
-clean-platform:
- @$(RM) $(PLATFORM_D)
- -$(Q) $(RMDIR) $(PLATFORM_DIR) 2> /dev/null || true
+ @$(RM) ext/config.cache $(RBCONFIG)
ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP)
- $(ECHO) compiling $@
- $(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c
-
-enc/encinit.$(OBJEXT): enc/encinit.c $(SETUP)
-
-up::
- @$(CHDIR) "$(srcdir)" && LC_TIME=C exec $(VCSUP)
-
-up::
- -$(Q)$(MAKE) $(MFLAGS) after-update
-
-after-update:: update-config_files
-
-update-mspec:
- @$(CHDIR) $(srcdir); \
- if [ -d spec/mspec ]; then \
- cd spec/mspec; \
- echo updating mspec ...; \
- exec git pull; \
- else \
- echo retrieving mspec ...; \
- exec git clone $(MSPEC_GIT_URL) spec/mspec; \
- fi
-
-update-rubyspec: update-mspec
- @$(CHDIR) $(srcdir); \
- if [ -d spec/rubyspec ]; then \
- cd spec/rubyspec; \
- echo updating rubyspec ...; \
- exec git pull; \
- else \
- echo retrieving rubyspec ...; \
- exec git clone $(RUBYSPEC_GIT_URL) spec/rubyspec; \
- fi
-
-test-rubyspec-precheck:
- @if [ ! -d $(srcdir)/spec/rubyspec ]; then echo No rubyspec here. make update-rubyspec first.; exit 1; fi
-
-INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \
- vmtc.inc vm.inc
-
-$(INSNS): $(srcdir)/insns.def vm_opts.h \
- $(srcdir)/defs/opt_operand.def $(srcdir)/defs/opt_insn_unif.def \
- $(srcdir)/tool/instruction.rb $(srcdir)/tool/insns2vm.rb
- $(ECHO) generating $@
- $(Q) $(BASERUBY) -Ku $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) $@
-
-loadpath: verconf.h
- @$(CPP) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/loadpath.c | \
- sed -e '1,/^const char ruby_initial_load_paths/d;/;/,$$d' \
- -e '/^ /!d;s/ *"\\0"$$//;s/" *"//g'
+ $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -o$@ -c ext/extinit.c
diff --git a/NEWS b/NEWS
index afd15faf3b..de1dafb533 100644
--- a/NEWS
+++ b/NEWS
@@ -1,380 +1,115 @@
-# -*- rdoc -*-
-
-= NEWS for Ruby 2.1.0
+= NEWS
This document is a list of user visible feature changes made between
-releases except for bug fixes.
+releases excluding bug fixes.
Note that each entry is kept so brief that no reason behind or
reference information is supplied with. For a full list of changes
with all sufficient information, see the ChangeLog file.
-== Changes since the 2.0.0 release
-
-=== Language changes
-
-* Now the default values of keyword arguments can be omitted. Those
- "required keyword arguments" need giving explicitly at the call time.
-
-* Added suffixes for integer and float literals: 'r', 'i', and 'ri'.
- * "42r" and "3.14r" are evaluated as Rational(42, 1) and 3.14.rationalize,
- respectively. But exponential form with 'r' suffix like "6.022e+23r" is
- not accepted because it is misleading.
- * "42i" and "3.14i" are evaluated as Complex(0, 42) and Complex(0, 3.14),
- respectively.
- * "42ri" and "3.14ri" are evaluated as Complex(0, 42r) and Complex(0, 3.14r),
- respectively.
-
-* def-expr now returns the symbol of its name instead of nil.
-
-=== Core classes updates (outstanding ones only)
-
-* Array
- * New methods
- * Array#to_h converts an array of key-value pairs into a Hash.
-
-* Binding
- * New methods
- * Binding#local_variable_get(symbol)
- * Binding#local_variable_set(symbol, obj)
- * Binding#local_variable_defined?(symbol)
-
-* Enumerable
- * New methods
- * Enumerable#to_h converts a list of key-value pairs into a Hash.
-
-* Exception
- * New methods
- * Exception#cause provides the previous exception which has been caught
- at where raising the new exception.
-
-* GC
- * improvements:
- * introduced the generational GC a.k.a RGenGC.
- * added environment variables:
- * RUBY_GC_HEAP_INIT_SLOTS
- * RUBY_GC_HEAP_FREE_SLOTS
- * RUBY_GC_HEAP_GROWTH_FACTOR
- * RUBY_GC_HEAP_GROWTH_MAX_SLOTS
- * RUBY_GC_MALLOC_LIMIT_MAX
- * RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR
- * RUBY_GC_OLDMALLOC_LIMIT
- * RUBY_GC_OLDMALLOC_LIMIT_MAX
- * RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR
- * obsoleted environment variables:
- * RUBY_FREE_MIN (Use RUBY_GC_HEAP_FREE_SLOTS instead)
- * RUBY_HEAP_MIN_SLOTS (Use RUBY_GC_HEAP_INIT_SLOTS instead)
-
-* Integer
- * New methods
- * Fixnum#bit_length
- * Bignum#bit_length
- * Bignum performance improvement
- * Use GMP if available.
- GMP is used only for several operations:
- multiplication, division, radix conversion, GCD
-
-* IO
- * extended methods:
- * IO#seek supports SEEK_DATA and SEEK_HOLE as whence.
- * IO#seek accepts symbols (:CUR, :END, :SET, :DATA, :HOLE) for 2nd argument.
- * IO#read_nonblock accepts optional `exception: false` to return symbols
- * IO#write_nonblock accepts optional `exception: false` to return symbols
-
-* Kernel
- * New methods:
- * Kernel#singleton_method
-
-* Module
- * New methods:
- * Module#using, which activates refinements of the specified module only
- in the current class or module definition.
- * Module#singleton_class? returns true if the receiver is a singleton class
- or false if it is an ordinary class or module.
- * extended methods:
- * Module#refine is no longer experimental.
- * Module#include and Module#prepend are now public methods.
-
-* Mutex
- * misc
- * Mutex#owned? is no longer experimental.
-
-* Numeric
- * extended methods:
- * Numeric#step allows the limit argument to be omitted, in which
- case an infinite sequence of numbers is generated. Keyword
- arguments `to` and `by` are introduced for ease of use.
-
-* Process
- * New methods:
- * alternative methods to $0/$0=:
- * Process.argv0() returns the original value of $0.
- * Process.setproctitle() sets the process title without affecting $0.
- * Process.clock_gettime
- * Process.clock_getres
-
-* String
- * "literal".freeze is now optimized to return the same object
- * New methods:
- * String#scrub and String#scrub! verify and fix invalid byte sequence.
- If you want to use this function with older Ruby,
- consider to use string-scrub.gem.
-
-* Symbol
- * All symbols are now frozen.
-
-* pack/unpack (Array/String)
- * Q! and q! directives for long long type if platform has the type.
-
-* toplevel
- * extended methods:
- * main.using is no longer experimental. The method activates refinements
- in the ancestors of the argument module to support refinement
- inheritance by Module#include.
-
-=== Core classes compatibility issues (excluding feature bug fixes)
-
-* Dir
- * incompatible changes:
- * Dir#glob returns composed characters (previously Apple Modofied UTF-8).
-
-* Hash
- * incompatible changes:
- * Hash#reject will return plain Hash object in the future versions, that
- is the original object's subclass, instance variables, default value,
- and taintedness will be no longer copied, so now warnings are emitted
- when called with such Hash.
-
-* IO
- * incompatible changes:
- * open ignore internal encoding if external encoding is ASCII-8BIT.
-
-* Kernel#eval, Kernel#instance_eval, and Module#module_eval.
- * Copies the scope information of the original environment, which means
- that private, protected, public, and module_function without arguments
- do not affect the environment outside the eval string.
- For example, `class Foo; eval "private"; def foo; end; end' doesn't make
- Foo#foo private.
-
-* Kernel#untrusted?, untrust, and trust
- * These methods are deprecated and their behavior is same as tainted?,
- taint, and untaint, respectively. If $VERBOSE is true, they show warnings.
-
-* Module#ancestors
- * The ancestors of a singleton class now include singleton classes,
- in particular itself.
-
-* Module#define_method and Object#define_singleton_method
- * Now they return the symbols of the defined methods, not the methods/procs
- themselves.
-
-* Numeric#quo
- * Raises TypeError instead of ArgumentError if the receiver doesn't have
- to_r method.
-
-* Proc
- * Returning from lambda proc now always exits from the Proc, not from the
- method where the lambda is created. Returning from non-lambda proc exits
- from the method, same as the former behavior.
-
-String
- * If invalid: :replace is specified for String#encode, replace
- invalid byte sequence even if the destination encoding equals to
- the source encoding.
-
-=== Stdlib updates (outstanding ones only)
-
-* CGI::Util
- * All class methods modulized.
-
-* Digest
- * extended methods:
- * Digest::Class.file takes optional arguments for its constructor
-
-* Matrix
- * Added Vector#cross_product.
-
-* Net::SMTP
- * Added Net::SMTP#rset to implement the RSET command
-
-* objspace
- * new method:
- * ObjectSpace.trace_object_allocations
- * ObjectSpace.trace_object_allocations_start
- * ObjectSpace.trace_object_allocations_stop
- * ObjectSpace.trace_object_allocations_clear
- * ObjectSpace.allocation_sourcefile
- * ObjectSpace.allocation_sourceline
- * ObjectSpace.allocation_class_path
- * ObjectSpace.allocation_method_id
- * ObjectSpace.allocation_generation
- * ObjectSpace.reachable_objects_from_root
- * ObjectSpace.dump
- * ObjectSpace.dump_all
-
-* OpenSSL::BN
- * extended methods:
- * OpenSSL::BN.new allows Fixnum/Bignum argument.
-
-* open-uri
- * Support multiple fields with same field name (like Set-Cookie).
-
-* Pathname
- * New methods:
- * Pathname#write
- * Pathname#binwrite
-
-* rake
- * Updated to 10.1.0. Major changes include removal of the class namespace,
- Rake::DSL to hold the rake DSL methods and removal of support for legacy
- rake features.
-
- For a complete list of changes since rake 0.9.6 see:
-
- http://rake.rubyforge.org/doc/release_notes/rake-10_1_0_rdoc.html
-
- http://rake.rubyforge.org/doc/release_notes/rake-10_0_3_rdoc.html
-
-* RbConfig
- * New constants:
- * RbConfig::SIZEOF is added to provide the size of C types.
-
-* RDoc
- * Updated to 4.1.0. Major enhancements include a modified default template
- * and accessibility enhancements.
-
- For a list of minor enhancements and bug fixes see:
- https://github.com/rdoc/rdoc/blob/v4.1.0.preview.1/History.rdoc
-
-* Resolv
- * New methods:
- * Resolv::DNS.fetch_resource
- * One-shot multicast DNS support
- * Support LOC resources
-
-* REXML::Parsers::SAX2Parser
- * Fixes wrong number of arguments of entitydecl event. Document of the event
- says "an array of the entity declaration" but implementation passes two
- or more arguments. It is an implementation bug but it breaks backward
- compatibility.
-
-* REXML::Parsers::StreamParser
- * Supports "entity" event.
-
-* REXML::Text
- * REXML::Text#<< supports method chain like 'text << "XXX" << "YYY"'.
- * REXML::Text#<< supports not "raw" mode.
-
-* Rinda::RingServer, Rinda::RingFinger
- * Rinda now supports multicast sockets. See Rinda::RingServer and
- Rinda::RingFinger for details.
-
-* RubyGems
- * Updated to 2.2.0. Notable new features include:
+== Changes with Ruby 1.8.5
+
+=== New platforms/build tools support
+
+* IA64 HP-UX
+
+* Visual C++ 8 SP1
+
+* autoconf 2.6x
+
+=== Library updates (outstanding ones only)
+
+* date
+
+ * Updated based on date2 4.0.3.
+
+* digest
+
+ * New internal APIs for C and Ruby.
+
+ * Support for autoloading.
+
+ * See below for new features and compatibility issues.
+
+* nkf
+
+ * Updated based on nkf as of 2007-01-28.
+
+* tk
+
+ * Tk::X_Scrollable (Y_Scrollable) is renamed to Tk::XScrollable
+ (YScrollable). Tk::X_Scrollable (Y_Scrollable) is still available,
+ but it is an alias name.
+
+ * Updated Tile extension support based on Tile 0.7.8.
+
+ * Support --without-X11 configure option for non-X11 versions of
+ Tcl/Tk (e.g. Tcl/Tk Aqua).
+
+ * New sample script: irbtkw.rbw -- IRB on Ruby/Tk. It has no trouble
+ about STDIN blocking on Windows.
+
+=== New methods and features
+
+* builtin classes
+
+ * New method: Kernel#instance_variable_defined?
+
+ * New method: Module#class_variable_defined?
+
+ * New feature: Dir::glob() can now take an array of glob patterns.
+
+* digest
+
+ * New digest class methods: file
+
+ * New digest instance methods: clone, reset, new,
+ inspect, digest_length (alias size or length),
+ block_length()
+
+ * New library: digest/bubblebabble
+
+ * New function: Digest(name)
+
+* fileutils
+
+ * New option for FileUtils.cp_r(): :remove_destination
+
+* thread
+
+ * Replaced with much faster mutex implementation in C.
+ The former implementation is available with a
+ configure option `--disable-fastthread'.
- * Gemfile or gem.deps.rb support including Gem.file.lock (experimental)
- * Improved, iterative resolver (compared to RubyGems 2.1 and earlier)
- * Support for a sharing a GEM_HOME across ruby platforms and versions
-
- * Updated to 2.2.2. Fixes some minor bugs and performance regressions.
-
- For a complete list of enhancements and bug fixes see:
- https://github.com/rubygems/rubygems/tree/master/History.txt
-
-* Set
- * New methods:
- * Set#intersect?
- * Set#disjoint?
-
-* Socket
- * New methods:
- * Socket.getifaddrs
-
-* StringScanner
- * extended methods:
- * StringScanner#[] supports named captures.
-
-* Syslog::Logger
- * Added facility.
-
-* Tempfile
- * New methods:
- * Tempfile.create
-
-* Timeout
- * The exception to terminate the given block can no longer be rescued
- inside the block, by default, unless the exception class is given
- explicitly.
-
-* TSort
- * New methods:
- * TSort.tsort
- * TSort.tsort_each
- * TSort.strongly_connected_components
- * TSort.each_strongly_connected_component
- * TSort.each_strongly_connected_component_from
+* webrick
-* WEBrick
- * The body of a response may now be a StringIO or other IO-like that responds
- to #readpartial and #read.
+ * New method: WEBrick::Cookie.parse_set_cookies()
-* XMLRPC::Client
- * New methods:
- * XMLRPC::Client#http. It returns Net::HTTP for the client. Normally,
- it is not needed. It is useful when you want to change minor HTTP client
- options. You can change major HTTP client options by XMLRPC::Client
- methods. You should use XMLRPC::Client methods for changing major
- HTTP client options instead of XMLRPC::Client#http.
+=== Compatibility issues (excluding feature bug fixes)
-=== Stdlib compatibility issues (excluding feature bug fixes)
+* builtin classes
-* Set
- * incompatible changes:
- * Set#to_set now returns self instead of generating a copy.
+ * String#intern now raises SecurityError when $SAFE level is greater
+ than zero.
-* URI
- * incompatible changes:
- * URI.decode_www_form follows current WHATWG URL Standard.
- It gets encoding argument to specify the character encoding.
- It now allows loose percent encoded strings, but denies ;-separator.
- * URI.encode_www_form follows current WHATWG URL Standard.
- It gets encoding argument to convert before percent encode.
- UTF-16 strings aren't converted to UTF-8 before percent encode by default.
-
-* curses
- * Removed.
- curses is now available as a gem.
- See https://rubygems.org/gems/curses for details.
-
-=== Built-in global variables compatibility issues
-
-* $SAFE
- * $SAFE=4 is obsolete. If $SAFE is set to 4 or larger, an ArgumentError
- is raised.
+* fileutils
-=== C API updates
-
-* rb_gc_set_params() is deprecated. This is only used in Ruby internal.
+ * A minor implementation change breaks Rake <=0.7.1.
+ Updating Rake to 0.7.2 fixes the problem.
-* rb_gc_count() added. This returns the number of times GC occurred.
+* digest
-* rb_gc_stat() added. This allows access to specific GC.stat() values from C
- without any allocation overhead.
+ * The constructor does no longer take an initial
+ string to feed; digest() and hexdigest() now do,
+ instead. The following examples show how to
+ migrate:
-* rb_gc_latest_gc_info() added. This allows access to GC.latest_gc_info().
-
-* rb_postponed_job_register() added. Takes a function callback which is invoked
- when the VM is in a consistent state, i.e. to perform work from a C signal
- handler.
-
-* rb_profile_frames() added. Provides low-cost access to the current ruby stack
- for callstack profiling.
-
-* rb_tracepoint_new() supports new internal events accessible only from C:
- * RUBY_INTERNAL_EVENT_NEWOBJ
- * RUBY_INTERNAL_EVENT_FREEOBJ
- * RUBY_INTERNAL_EVENT_GC_START
- * RUBY_INTERNAL_EVENT_GC_END_MARK
- * RUBY_INTERNAL_EVENT_GC_END_SWEEP
- * Note that you *can not* specify "internal events" with normal events
- (such as RUBY_EVENT_CALL, RUBY_EVENT_RETURN) simultaneously.
+ # Before
+ md = Digest::MD5.new("string")
+ # After (works with any version)
+ md = Digest::MD5.new.update("string")
+
+ # Before
+ hd = Digest::MD5.new("string").hexdigest
+ # After (works with any version)
+ hd = Digest::MD5.hexdigest("string")
diff --git a/README b/README
index 3ffe3553a8..cf836415ad 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-= What's Ruby
+* What's Ruby
Ruby is the interpreted scripting language for quick and
easy object-oriented programming. It has many features to
@@ -6,161 +6,109 @@ process text files and to do system management tasks (as in
Perl). It is simple, straight-forward, and extensible.
-== Features of Ruby
+* Features of Ruby
-* Simple Syntax
-* *Normal* Object-Oriented features(ex. class, method calls)
-* *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)
-* Operator Overloading
-* Exception Handling
-* Iterators and Closures
-* Garbage Collection
-* Dynamic Loading of Object files(on some architecture)
-* Highly Portable (works on many Unix-like/POSIX compatible platforms
- as well as Windows, Mac OS X, BeOS etc.)
- cf. http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms
+ + Simple Syntax
+ + *Normal* Object-Oriented features(ex. class, method calls)
+ + *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)
+ + Operator Overloading
+ + Exception Handling
+ + Iterators and Closures
+ + Garbage Collection
+ + Dynamic Loading of Object files(on some architecture)
+ + Highly Portable(works on many UNIX machines, and on DOS,
+ Windows, Mac, BeOS etc.)
-== How to get Ruby
+* How to get Ruby
-For a complete list of ways to install Ruby, including using third party
-tools like rvm, see:
+The Ruby distribution files can be found in the following FTP site:
-http://www.ruby-lang.org/en/downloads/
+ ftp://ftp.ruby-lang.org/pub/ruby/
-The Ruby distribution files can be found in the following FTP site:
+The latest source code of this version series can be checked out
+through SVN with the following command:
-ftp://ftp.ruby-lang.org/pub/ruby/
+ $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6/
The trunk of the Ruby source tree can be checked out with the
following command:
$ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
-Or if you are using git then use the following command:
-
- $ git clone git://github.com/ruby/ruby.git
-
There are some other branches under development. Try the following
command and see the list of branches:
$ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
-Or if you are using git then use the following command:
-
- $ git ls-remote git://github.com/ruby/ruby.git
-== Ruby home-page
+* Ruby home-page
The URL of the Ruby home-page is:
-http://www.ruby-lang.org/
+ http://www.ruby-lang.org/
-== Mailing list
+* Mailing list
There is a mailing list to talk about Ruby.
To subscribe this list, please send the following phrase
- subscribe YourFirstName YourFamilyName
+ subscribe YourFirstName YourFamilyName
e.g.
subscribe Joseph Smith
-in the mail body (not subject) to the address <mailto:ruby-talk-ctl@ruby-lang.org>.
+in the mail body (not subject) to the address <ruby-talk-ctl@ruby-lang.org>.
-== How to compile and install
+* How to compile and install
This is what you need to do to compile and install Ruby:
-0. If you want to use Microsoft Visual C++ to compile ruby,
- read win32/README.win32 instead of this document.
-
-1. If +./configure+ does not exist or is older than configure.in,
+ 1. If ./configure does not exist or is older than configure.in,
run autoconf to (re)generate configure.
-2. Run +./configure+, which will generate config.h and Makefile.
-
- Some C compiler flags may be added by default depending on your
- environment. Specify <tt>optflags=..</tt> and <tt>warnflags=..</tt> as
- necessary to override them.
+ 2. Run ./configure, which will generate config.h and Makefile.
-3. Edit +defines.h+ if you need. Usually this step will not be needed.
+ 3. Edit defines.h if you need. Usually this step will not be needed.
-4. Remove comment mark(<tt>#</tt>) before the module names from +ext/Setup+
- (or add module names if not present), if you want to link modules
+ 4. Remove comment mark(#) before the module names from ext/Setup (or
+ add module names if not present), if you want to link modules
statically.
If you don't want to compile non static extension modules
(probably on architectures which does not allow dynamic loading),
- remove comment mark from the line "<tt>#option nodynamic</tt>" in
- +ext/Setup+.
-
- Usually this step will not be needed.
+ remove comment mark from the line "#option nodynamic" in
+ ext/Setup.
-5. Run +make+.
+ 5. Run make.
-6. Optionally, run '<tt>make check</tt>' to check whether the compiled Ruby
- interpreter works well. If you see the message "<tt>check succeeded</tt>",
+ 6. Optionally, run 'make test' to check whether the compiled Ruby
+ interpreter works well. If you see the message "test succeeded",
your ruby works as it should (hopefully).
-7. Run '<tt>make install</tt>'
-
- This command will create following directories and install files
- onto them.
-
- * <tt>${DESTDIR}${prefix}/bin</tt>
- * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/share/man/man1</tt>
- * <tt>${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system</tt>
-
- If Ruby's API version is '_x.y.z_', the <tt>${MAJOR}</tt> is '_x_', the
- <tt>${MINOR}</tt> is '_y_', and the <tt>${TEENY}</tt> is '_z_'.
-
- *NOTE*: teeny of the API version may be different from one of
- Ruby's program version
+ 7. Run 'make install'
You may have to be a super user to install ruby.
If you fail to compile ruby, please send the detailed error report with
the error log and machine/OS type, to help others.
-Some extension libraries may not get compiled because of lack of
-necessary external libraries and/or headers, then you will need to run
-'<tt>make distclean-ext</tt>' to remove old configuration after
-installing them in such case.
-
-== Copying
-
-See the file +COPYING+.
-== Feedback
+* Copying
-Questions about the Ruby language can be asked on the Ruby-Talk mailing list
-(http://www.ruby-lang.org/en/community/mailing-lists) or on websites like
-(http://stackoverflow.com).
+See the file COPYING.
-Bug reports should be filed at http://bugs.ruby-lang.org
-== The Author
+* The Author
-Ruby was originally designed and developed by Yukihiro Matsumoto (Matz) in 1995.
+Feel free to send comments and bug reports to the author. Here is the
+author's latest mail address:
-<mailto:matz@ruby-lang.org>
+ matz@netlab.jp
---
+-------------------------------------------------------
+created at: Thu Aug 3 11:57:36 JST 1995
Local variables:
-mode: rdoc
+mode: indented-text
end:
diff --git a/README.EXT b/README.EXT
index 6f7340ceda..2fc2fd606a 100644
--- a/README.EXT
+++ b/README.EXT
@@ -1,8 +1,8 @@
-# README.EXT - -*- RDoc -*- created at: Mon Aug 7 16:45:54 JST 1995
+.\" README.EXT - -*- Text -*- created at: Mon Aug 7 16:45:54 JST 1995
This document explains how to make extension libraries for Ruby.
-= Basic Knowledge
+1. Basic knowledge
In C, variables have types and data do not have types. In contrast,
Ruby variables do not have a static type, and data themselves have
@@ -13,46 +13,46 @@ has its data-type.
To retrieve C data from a VALUE, you need to:
-1. Identify the VALUE's data type
-2. Convert the VALUE into C data
+ (1) Identify the VALUE's data type
+ (2) Convert the VALUE into C data
Converting to the wrong data type may cause serious problems.
-== Data-Types
+
+1.1 Data-types
The Ruby interpreter has the following data types:
-T_NIL :: nil
-T_OBJECT :: ordinary object
-T_CLASS :: class
-T_MODULE :: module
-T_FLOAT :: floating point number
-T_STRING :: string
-T_REGEXP :: regular expression
-T_ARRAY :: array
-T_HASH :: associative array
-T_STRUCT :: (Ruby) structure
-T_BIGNUM :: multi precision integer
-T_FIXNUM :: Fixnum(31bit or 63bit integer)
-T_COMPLEX :: complex number
-T_RATIONAL :: rational number
-T_FILE :: IO
-T_TRUE :: true
-T_FALSE :: false
-T_DATA :: data
-T_SYMBOL :: symbol
+ T_NIL nil
+ T_OBJECT ordinary object
+ T_CLASS class
+ T_MODULE module
+ T_FLOAT floating point number
+ T_STRING string
+ T_REGEXP regular expression
+ T_ARRAY array
+ T_FIXNUM Fixnum(31bit integer)
+ T_HASH associative array
+ T_STRUCT (Ruby) structure
+ T_BIGNUM multi precision integer
+ T_FILE IO
+ T_TRUE true
+ T_FALSE false
+ T_DATA data
+ T_SYMBOL symbol
In addition, there are several other types used internally:
-T_ICLASS :: included module
-T_MATCH :: MatchData object
-T_UNDEF :: undefined
-T_NODE :: syntax tree node
-T_ZOMBIE :: object awaiting finalization
+ T_ICLASS
+ T_MATCH
+ T_UNDEF
+ T_VARMAP
+ T_SCOPE
+ T_NODE
Most of the types are represented by C structures.
-== Check Data Type of the VALUE
+1.2 Check Data Type of the VALUE
The macro TYPE() defined in ruby.h shows the data type of the VALUE.
TYPE() returns the constant number T_XXXX described above. To handle
@@ -78,80 +78,65 @@ There is the data-type check function
void Check_Type(VALUE value, int type)
-which raises an exception if the VALUE does not have the type
-specified.
+which raises an exception if the VALUE does not have the type specified.
There are also faster check macros for fixnums and nil.
FIXNUM_P(obj)
NIL_P(obj)
-== Convert VALUE into C Data
+1.3 Convert VALUE into C data
-The data for type T_NIL, T_FALSE, T_TRUE are nil, false, true
+The data for type T_NIL, T_FALSE, T_TRUE are nil, true, false
respectively. They are singletons for the data type.
-The equivalent C constants are: Qnil, Qfalse, Qtrue.
-Note that Qfalse is false in C also (i.e. 0), but not Qnil.
-
-The T_FIXNUM data is a 31bit or 63bit length fixed integer.
-This size is depend on the size of long: if long is 32bit then
-T_FIXNUM is 31bit, if long is 64bit then T_FIXNUM is 63bit.
-T_FIXNUM can be converted to a C integer by using the
-FIX2INT() macro or FIX2LONG(). Though you have to check that the
-data is really FIXNUM before using them, they are faster. FIX2LONG()
-never raises exceptions, but FIX2INT() raises RangeError if the
-result is bigger or smaller than the size of int.
-There are also NUM2INT() and NUM2LONG() which converts any Ruby
-numbers into C integers. These macros includes a type check,
-so an exception will be raised if the conversion failed. NUM2DBL()
-can be used to retrieve the double float value in the same way.
-
-You can use the macros
+
+The T_FIXNUM data is a 31bit length fixed integer (63bit length on
+some machines), which can be converted to a C integer by using the
+FIX2INT() macro. There is also NUM2INT() which converts any Ruby
+numbers into C integers. The NUM2INT() macro includes a type check, so
+an exception will be raised if the conversion failed. NUM2DBL() can
+be used to retrieve the double float value in the same way.
+
+In version 1.7 or later it is recommended that you use the new macros
StringValue() and StringValuePtr() to get a char* from a VALUE.
StringValue(var) replaces var's value with the result of "var.to_str()".
StringValuePtr(var) does same replacement and returns char*
-representation of var. These macros will skip the replacement if var
-is a String. Notice that the macros take only the lvalue as their
+representation of var. These macros will skip the replacement if var is
+a String. Notice that the macros take only the lvalue as their
argument, to change the value of var in place.
-You can also use the macro named StringValueCStr(). This is just
-like StringValuePtr(), but always add nul character at the end of
-the result. If the result contains nul character, this macro causes
-the ArgumentError exception.
-StringValuePtr() doesn't guarantee the existence of a nul at the end
-of the result, and the result may contain nul.
+In version 1.6 or earlier, STR2CSTR() was used to do the same thing
+but now it is deprecated in version 1.7, because STR2CSTR() has a risk
+of a dangling pointer problem in the to_str() impliclit conversion.
Other data types have corresponding C structures, e.g. struct RArray
-for T_ARRAY etc. The VALUE of the type which has the corresponding
-structure can be cast to retrieve the pointer to the struct. The
-casting macro will be of the form RXXXX for each data type; for
-instance, RARRAY(obj). See "ruby.h". However, we do not recommend
-to access RXXXX data directly because these data structure is complex.
-Use corresponding rb_xxx() functions to access internal struct.
-For example, to access an entry of array, use rb_ary_entry(ary, offset)
-and rb_ary_store(ary, offset, obj).
-
-There are some accessing macros for structure members, for example
-`RSTRING_LEN(str)' to get the size of the Ruby String object. The
-allocated region can be accessed by `RSTRING_PTR(str)'.
+for T_ARRAY etc. The VALUE of the type which has the corresponding structure
+can be cast to retrieve the pointer to the struct. The casting macro
+will be of the form RXXXX for each data type; for instance, RARRAY(obj).
+See "ruby.h".
+
+For example, `RSTRING(str)->len' is the way to get the size of the
+Ruby String object. The allocated region can be accessed by
+`RSTRING(str)->ptr'. For arrays, use `RARRAY(ary)->len' and
+`RARRAY(ary)->ptr' respectively.
Notice: Do not change the value of the structure directly, unless you
-are responsible for the result. This ends up being the cause of
-interesting bugs.
+are responsible for the result. This ends up being the cause of interesting
+bugs.
-== Convert C Data into VALUE
+1.4 Convert C data into VALUE
To convert C data to Ruby values:
-FIXNUM ::
+ * FIXNUM
- left shift 1 bit, and turn on LSB.
+ left shift 1 bit, and turn on LSB.
-Other pointer values::
+ * Other pointer values
- cast to VALUE.
+ cast to VALUE.
-You can determine whether a VALUE is pointer or not by checking its LSB.
+You can determine whether a VALUE is pointer or not by checking its LSB.
Notice Ruby does not allow arbitrary pointer values to be a VALUE. They
should be pointers to the structures which Ruby knows about. The known
@@ -159,161 +144,81 @@ structures are defined in <ruby.h>.
To convert C numbers to Ruby values, use these macros.
-INT2FIX() :: for integers within 31bits.
-INT2NUM() :: for arbitrary sized integer.
+ INT2FIX() for integers within 31bits.
+ INT2NUM() for arbitrary sized integer.
INT2NUM() converts an integer into a Bignum if it is out of the FIXNUM
range, but is a bit slower.
-== Manipulating Ruby Data
-
-As I already mentioned, it is not recommended to modify an object's
-internal structure. To manipulate objects, use the functions supplied
-by the Ruby interpreter. Some (not all) of the useful functions are
-listed below:
-
-=== String Functions
-
-rb_str_new(const char *ptr, long len) ::
-
- Creates a new Ruby string.
-
-rb_str_new2(const char *ptr) ::
-rb_str_new_cstr(const char *ptr) ::
-
- Creates a new Ruby string from a C string. This is equivalent to
- rb_str_new(ptr, strlen(ptr)).
-
-rb_tainted_str_new(const char *ptr, long len) ::
-
- Creates a new tainted Ruby string. Strings from external data
- sources should be tainted.
-
-rb_tainted_str_new2(const char *ptr) ::
-rb_tainted_str_new_cstr(const char *ptr) ::
-
- Creates a new tainted Ruby string from a C string.
-
-rb_sprintf(const char *format, ...) ::
-rb_vsprintf(const char *format, va_list ap) ::
-
- Creates a new Ruby string with printf(3) format.
-
- Note: In the format string, %i is used for Object#to_s (or Object#inspect if
- '+' flag is set) output (and related argument must be a VALUE). For integers
- in format strings, use %d.
-
-rb_str_cat(VALUE str, const char *ptr, long len) ::
-
- Appends len bytes of data from ptr to the Ruby string.
-
-rb_str_cat2(VALUE str, const char* ptr) ::
+1.5 Manipulating Ruby data
- Appends C string ptr to Ruby string str. This function is
- equivalent to rb_str_cat(str, ptr, strlen(ptr)).
+As I already mentioned, it is not recommended to modify an object's internal
+structure. To manipulate objects, use the functions supplied by the Ruby
+interpreter. Some (not all) of the useful functions are listed below:
-rb_str_catf(VALUE str, const char* format, ...) ::
-rb_str_vcatf(VALUE str, const char* format, va_list ap) ::
+ String functions
- Appends C string format and successive arguments to Ruby string
- str according to a printf-like format. These functions are
- equivalent to rb_str_cat2(str, rb_sprintf(format, ...)) and
- rb_str_cat2(str, rb_vsprintf(format, ap)), respectively.
+ rb_str_new(const char *ptr, long len)
-rb_enc_str_new(const char *ptr, long len, rb_encoding *enc) ::
-rb_enc_str_new_cstr(const char *ptr, rb_encoding *enc) ::
+ Creates a new Ruby string.
- Creates a new Ruby string with the specified encoding.
+ rb_str_new2(const char *ptr)
-rb_usascii_str_new(const char *ptr, long len) ::
-rb_usascii_str_new_cstr(const char *ptr) ::
+ Creates a new Ruby string from a C string. This is equivalent to
+ rb_str_new(ptr, strlen(ptr)).
- Creates a new Ruby string with encoding US-ASCII.
+ rb_tainted_str_new(const char *ptr, long len)
-rb_str_resize(VALUE str, long len) ::
+ Creates a new tainted Ruby string. Strings from external data
+ sources should be tainted.
- Resizes Ruby string to len bytes. If str is not modifiable, this
- function raises an exception. The length of str must be set in
- advance. If len is less than the old length the content beyond
- len bytes is discarded, else if len is greater than the old length
- the content beyond the old length bytes will not be preserved but
- will be garbage. Note that RSTRING_PTR(str) may change by calling
- this function.
+ rb_tainted_str_new2(const char *ptr)
-rb_str_set_len(VALUE str, long len) ::
+ Creates a new tainted Ruby string from a C string.
- Sets the length of Ruby string. If str is not modifiable, this
- function raises an exception. This function preserves the content
- upto len bytes, regardless RSTRING_LEN(str). len must not exceed
- the capacity of str.
+ rb_str_cat(VALUE str, const char *ptr, long len)
-=== Array Functions
+ Appends len bytes of data from ptr to the Ruby string.
-rb_ary_new() ::
+ Array functions
- Creates an array with no elements.
+ rb_ary_new()
-rb_ary_new2(long len) ::
-rb_ary_new_capa(long len) ::
+ Creates an array with no elements.
- Creates an array with no elements, allocating internal buffer
- for len elements.
+ rb_ary_new2(long len)
-rb_ary_new3(long n, ...) ::
-rb_ary_new_from_args(long n, ...) ::
+ Creates an array with no elements, allocating internal buffer
+ for len elements.
- Creates an n-element array from the arguments.
+ rb_ary_new3(long n, ...)
-rb_ary_new4(long n, VALUE *elts) ::
-rb_ary_new_from_values(long n, VALUE *elts) ::
+ Creates an n-element array from the arguments.
- Creates an n-element array from a C array.
+ rb_ary_new4(long n, VALUE *elts)
-rb_ary_to_ary(VALUE obj) ::
+ Creates an n-element array from a C array.
- Converts the object into an array.
- Equivalent to Object#to_ary.
+ rb_ary_push(VALUE ary, VALUE val)
+ rb_ary_pop(VALUE ary)
+ rb_ary_shift(VALUE ary)
+ rb_ary_unshift(VALUE ary, VALUE val)
-There are many functions to operate an array. They may dump core if other
-types are given.
+ Array operations. The first argument to each functions must be an
+ array. They may dump core if other types are given.
-rb_ary_aref(argc, VALUE *argv, VALUE ary) ::
+2. Extending Ruby with C
- Equivalent to Array#[].
-
-rb_ary_entry(VALUE ary, long offset) ::
-
- ary[offset]
-
-rb_ary_store(VALUE ary, long offset, VALUE obj) ::
-
- ary[offset] = obj
-
-rb_ary_subseq(VALUE ary, long beg, long len) ::
-
- ary[beg, len]
-
-rb_ary_push(VALUE ary, VALUE val) ::
-rb_ary_pop(VALUE ary) ::
-rb_ary_shift(VALUE ary) ::
-rb_ary_unshift(VALUE ary, VALUE val) ::
-
-rb_ary_cat(VALUE ary, const VALUE *ptr, long len) ::
-
- Appends len elements of objects from ptr to the array.
-
-= Extending Ruby with C
-
-== Adding New Features to Ruby
+2.1 Addding new features to Ruby
You can add new features (classes, methods, etc.) to the Ruby
interpreter. Ruby provides APIs for defining the following things:
-* Classes, Modules
-* Methods, Singleton Methods
-* Constants
+ * Classes, Modules
+ * Methods, Singleton Methods
+ * Constants
-=== Class and Module Definition
+2.1.1 Class/module definition
To define a class or module, use the functions below:
@@ -328,21 +233,21 @@ To define nested classes or modules, use the functions below:
VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)
VALUE rb_define_module_under(VALUE outer, const char *name)
-=== Method and Singleton Method Definition
+2.1.2 Method/singleton method definition
To define methods or singleton methods, use these functions:
- void rb_define_method(VALUE klass, const char *name,
+ void rb_define_method(VALUE klass, const char *name,
VALUE (*func)(), int argc)
- void rb_define_singleton_method(VALUE object, const char *name,
+ void rb_define_singleton_method(VALUE object, const char *name,
VALUE (*func)(), int argc)
The `argc' represents the number of the arguments to the C function,
which must be less than 17. But I doubt you'll need that many.
If `argc' is negative, it specifies the calling sequence, not number of
-the arguments.
+the arguments.
If argc is -1, the function will be called as:
@@ -359,23 +264,15 @@ will be called like:
where obj is the receiver, and args is the Ruby array containing
actual arguments.
-There are some more functions to define methods. One takes an ID
-as the name of method to be defined. See also ID or Symbol below.
-
- void rb_define_method_id(VALUE klass, ID name,
- VALUE (*func)(ANYARGS), int argc)
-
-There are two functions to define private/protected methods:
+There are two more functions to define methods. One is to define
+private methods:
- void rb_define_private_method(VALUE klass, const char *name,
+ void rb_define_private_method(VALUE klass, const char *name,
VALUE (*func)(), int argc)
- void rb_define_protected_method(VALUE klass, const char *name,
- VALUE (*func)(), int argc)
-At last, rb_define_module_function defines a module functions,
-which are private AND singleton methods of the module.
-For example, sqrt is the module function defined in Math module.
-It can be called in the following way:
+The other is to define module functions, which are private AND singleton
+methods of the module. For example, sqrt is the module function
+defined in Math module. It can be called in the following way:
Math.sqrt(4)
@@ -386,10 +283,10 @@ or
To define module functions, use:
- void rb_define_module_function(VALUE module, const char *name,
+ void rb_define_module_function(VALUE module, const char *name,
VALUE (*func)(), int argc)
-In addition, function-like methods, which are private methods defined
+Oh, in addition, function-like methods, which are private methods defined
in the Kernel module, can be defined using:
void rb_define_global_function(const char *name, VALUE (*func)(), int argc)
@@ -398,20 +295,16 @@ To define an alias for the method,
void rb_define_alias(VALUE module, const char* new, const char* old);
-To define a reader/writer for an attribute,
-
- void rb_define_attr(VALUE klass, const char *name, int read, int write)
-
To define and undefine the `allocate' class method,
void rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE klass));
void rb_undef_alloc_func(VALUE klass);
-func has to take the klass as the argument and return a newly
-allocated instance. This instance should be as empty as possible,
+func have to take the klass as the argument and return a newly
+allocated instance. This instance should be empty as possible,
without any expensive (including external) resources.
-=== Constant Definition
+2.1.3 Constant definition
We have 2 functions to define constants:
@@ -421,11 +314,11 @@ We have 2 functions to define constants:
The former is to define a constant under specified class/module. The
latter is to define a global constant.
-== Use Ruby Features from C
+2.2 Use Ruby features from C
There are several ways to invoke Ruby's features from C code.
-=== Evaluate Ruby Programs in a String
+2.2.1 Evaluate Ruby Programs in a String
The easiest way to use Ruby's functionality from a C program is to
evaluate the string as Ruby program. This function will do the job:
@@ -435,46 +328,23 @@ evaluate the string as Ruby program. This function will do the job:
Evaluation is done under the current context, thus current local variables
of the innermost method (which is defined by Ruby) can be accessed.
-Note that the evaluation can raise an exception. There is a safer
-function:
-
- VALUE rb_eval_string_protect(const char *str, int *state)
-
-It returns nil when an error occur. Moreover, *state is zero if str was
-successfully evaluated, or nonzero otherwise.
+2.2.2 ID or Symbol
-=== ID or Symbol
+You can invoke methods directly, without parsing the string. First I need
+to explain about ID. ID is the integer number to represent Ruby's
+identifiers such as variable names. The Ruby data type corresponding to ID
+is Symbol. It can be accessed from Ruby in the form:
-You can invoke methods directly, without parsing the string. First I
-need to explain about ID. ID is the integer number to represent
-Ruby's identifiers such as variable names. The Ruby data type
-corresponding to ID is Symbol. It can be accessed from Ruby in the
-form:
-
- :Identifier
-
-or
-
- :"any kind of string"
+ :Identifier
You can get the ID value from a string within C code by using
rb_intern(const char *name)
- rb_intern_str(VALUE name)
You can retrieve ID from Ruby object (Symbol or String) given as an
argument by using
rb_to_id(VALUE symbol)
- rb_check_id(volatile VALUE *name)
- rb_check_id_cstr(const char *name, long len, rb_encoding *enc)
-
-These functions try to convert the argument to a String if it was not
-a Symbol nor a String. The second function stores the converted
-result into *name, and returns 0 if the string is not a known symbol.
-After this function returned a non-zero value, *name is always a
-Symbol or a String, otherwise it is a String if the result is 0.
-The third function takes NUL-terminated C string, not Ruby VALUE.
You can convert C ID to Ruby Symbol by using
@@ -484,7 +354,7 @@ and to convert Ruby Symbol object to ID, use
ID SYM2ID(VALUE symbol)
-=== Invoke Ruby Method from C
+2.2.3 Invoke Ruby method from C
To invoke methods directly, you can use the function below
@@ -493,11 +363,11 @@ To invoke methods directly, you can use the function below
This function invokes a method on the recv, with the method name
specified by the symbol mid.
-=== Accessing the Variables and Constants
+2.2.4 Accessing the variables and constants
You can access class variables and instance variables using access
-functions. Also, global variables can be shared between both
-environments. There's no way to access Ruby's local variables.
+functions. Also, global variables can be shared between both environments.
+There's no way to access Ruby's local variables.
The functions to access/modify instance variables are below:
@@ -510,14 +380,13 @@ To access the constants of the class/module:
VALUE rb_const_get(VALUE obj, ID id)
-See also Constant Definition above.
+See 2.1.3 for defining new constant.
-= Information Sharing Between Ruby and C
+3. Information sharing between Ruby and C
-=== Ruby Constants That C Can Be Accessed From C
+3.1 Ruby constants that C can be accessed from C
-As stated in section 1.3,
-the following Ruby constants can be referred from C.
+The following Ruby constants can be referred from C.
Qtrue
Qfalse
@@ -528,7 +397,7 @@ Boolean values. Qfalse is false in C also (i.e. 0).
Ruby nil in C scope.
-== Global Variables Shared Between C and Ruby
+3.2 Global variables shared between C and Ruby
Information can be shared between the two environments using shared global
variables. To define them, you can use functions listed below:
@@ -547,37 +416,30 @@ function below.
You can defined hooked variables. The accessor functions (getter and
setter) are called on access to the hooked variables.
- void rb_define_hooked_variable(const char *name, VALUE *var,
+ void rb_define_hooked_variable(constchar *name, VALUE *var,
VALUE (*getter)(), void (*setter)())
If you need to supply either setter or getter, just supply 0 for the
hook you don't need. If both hooks are 0, rb_define_hooked_variable()
works just like rb_define_variable().
-The prototypes of the getter and setter functions are as follows:
-
- VALUE (*getter)(ID id, VALUE *var);
- void (*setter)(VALUE val, ID id, VALUE *var);
-
-
-Also you can define a Ruby global variable without a corresponding C
-variable. The value of the variable will be set/get only by hooks.
-
void rb_define_virtual_variable(const char *name,
VALUE (*getter)(), void (*setter)())
-The prototypes of the getter and setter functions are as follows:
+This function defines a Ruby global variable without a corresponding C
+variable. The value of the variable will be set/get only by hooks.
- VALUE (*getter)(ID id);
- void (*setter)(VALUE val, ID id);
+The prototypes of the getter and setter functions are as follows:
+ (*getter)(ID id, void *data, struct global_entry* entry);
+ (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);
-== Encapsulate C Data into a Ruby Object
+3.3 Encapsulate C data into a Ruby object
To wrap and objectify a C pointer as a Ruby object (so called
DATA), use Data_Wrap_Struct().
- Data_Wrap_Struct(klass, mark, free, sval)
+ Data_Wrap_Struct(klass, mark, free, ptr)
Data_Wrap_Struct() returns a created DATA object. The klass argument
is the class for the DATA object. The mark argument is the function
@@ -586,10 +448,6 @@ function to free the pointer allocation. If this is -1, the pointer
will be just freed. The functions mark and free will be called from
garbage collector.
-These mark / free functions are invoked during GC execution. No
-object allocations are allowed during it, so do not allocate ruby
-objects inside them.
-
You can allocate and wrap the structure in one step.
Data_Make_Struct(klass, type, mark, free, sval)
@@ -610,34 +468,31 @@ Data_Get_Struct().
A pointer to the structure will be assigned to the variable sval.
-See the example below for details.
+See the example below for details.
-= Example - Creating dbm Extension
+4. Example - Creating dbm extension
OK, here's the example of making an extension library. This is the
extension to access DBMs. The full source is included in the ext/
directory in the Ruby's source tree.
-== Make the Directory
+(1) make the directory
% mkdir ext/dbm
Make a directory for the extension library under ext directory.
-== Design the Library
+(2) design the library
You need to design the library features, before making it.
-== Write the C Code
+(3) write C code.
You need to write C code for your extension library. If your library
has only one source file, choosing ``LIBRARY.c'' as a file name is
preferred. On the other hand, in case your library has multiple source
files, avoid choosing ``LIBRARY.c'' for a file name. It may conflict
with an intermediate file ``LIBRARY.o'' on some platforms.
-Note that some functions in mkmf library described below generate
-a file ``conftest.c'' for checking with compilation. You shouldn't
-choose ``conftest.c'' as a name of a source file.
Ruby will execute the initializing function named ``Init_LIBRARY'' in
the library. For example, ``Init_dbm()'' will be executed when loading
@@ -645,48 +500,53 @@ the library.
Here's the example of an initializing function.
- void
- Init_dbm(void)
- {
- /* define DBM class */
- cDBM = rb_define_class("DBM", rb_cObject);
- /* DBM includes Enumerable module */
- rb_include_module(cDBM, rb_mEnumerable);
-
- /* DBM has class method open(): arguments are received as C array */
- rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);
-
- /* DBM instance method close(): no args */
- rb_define_method(cDBM, "close", fdbm_close, 0);
- /* DBM instance method []: 1 argument */
- rb_define_method(cDBM, "[]", fdbm_fetch, 1);
-
- /* ... */
-
- /* ID for a instance variable to store DBM data */
- id_dbm = rb_intern("dbm");
- }
-
-The dbm extension wraps the dbm struct in the C environment using
+--
+Init_dbm()
+{
+ /* define DBM class */
+ cDBM = rb_define_class("DBM", rb_cObject);
+ /* DBM includes Enumerate module */
+ rb_include_module(cDBM, rb_mEnumerable);
+
+ /* DBM has class method open(): arguments are received as C array */
+ rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);
+
+ /* DBM instance method close(): no args */
+ rb_define_method(cDBM, "close", fdbm_close, 0);
+ /* DBM instance method []: 1 argument */
+ rb_define_method(cDBM, "[]", fdbm_fetch, 1);
+ :
+
+ /* ID for a instance variable to store DBM data */
+ id_dbm = rb_intern("dbm");
+}
+--
+
+The dbm extension wraps the dbm struct in the C environment using
Data_Make_Struct.
- struct dbmdata {
- int di_size;
- DBM *di_dbm;
- };
+--
+struct dbmdata {
+ int di_size;
+ DBM *di_dbm;
+};
+
- obj = Data_Make_Struct(klass, struct dbmdata, 0, free_dbm, dbmp);
+obj = Data_Make_Struct(klass, struct dbmdata, 0, free_dbm, dbmp);
+--
-This code wraps the dbmdata structure into a Ruby object. We avoid
-wrapping DBM* directly, because we want to cache size information.
+This code wraps the dbmdata structure into a Ruby object. We avoid wrapping
+DBM* directly, because we want to cache size information.
To retrieve the dbmdata structure from a Ruby object, we define the
following macro:
- #define GetDBM(obj, dbmp) {\
- Data_Get_Struct(obj, struct dbmdata, dbmp);\
- if (dbmp->di_dbm == 0) closed_dbm();\
- }
+--
+#define GetDBM(obj, dbmp) {\
+ Data_Get_Struct(obj, struct dbmdata, dbmp);\
+ if (dbmp->di_dbm == 0) closed_dbm();\
+}
+--
This sort of complicated macro does the retrieving and close checking for
the DBM.
@@ -694,11 +554,14 @@ the DBM.
There are three kinds of way to receive method arguments. First,
methods with a fixed number of arguments receive arguments like this:
- static VALUE
- fdbm_delete(VALUE obj, VALUE keystr)
- {
- /* ... */
- }
+--
+static VALUE
+fdbm_delete(obj, keystr)
+ VALUE obj, keystr;
+{
+ :
+}
+--
The first argument of the C function is the self, the rest are the
arguments to the method.
@@ -706,44 +569,52 @@ arguments to the method.
Second, methods with an arbitrary number of arguments receive
arguments like this:
- static VALUE
- fdbm_s_open(int argc, VALUE *argv, VALUE klass)
- {
- /* ... */
- if (rb_scan_args(argc, argv, "11", &file, &vmode) == 1) {
- mode = 0666; /* default value */
- }
- /* ... */
- }
+--
+static VALUE
+fdbm_s_open(argc, argv, klass)
+ int argc;
+ VALUE *argv;
+ VALUE klass;
+{
+ :
+ if (rb_scan_args(argc, argv, "11", &file, &vmode) == 1) {
+ mode = 0666; /* default value */
+ }
+ :
+}
+--
The first argument is the number of method arguments, the second
argument is the C array of the method arguments, and the third
argument is the receiver of the method.
You can use the function rb_scan_args() to check and retrieve the
-arguments. The third argument is a string that specifies how to
-capture method arguments and assign them to the following VALUE
-references.
+arguments. For example, "11" means that the method requires at least one
+argument, and at most receives two arguments.
+Methods with an arbitrary number of arguments can receive arguments
+by Ruby's array, like this:
-The following is an example of a method that takes arguments by Ruby's
-array:
-
- static VALUE
- thread_initialize(VALUE thread, VALUE args)
- {
- /* ... */
- }
+--
+static VALUE
+fdbm_indexes(obj, args)
+ VALUE obj, args;
+{
+ :
+}
+--
The first argument is the receiver, the second one is the Ruby array
which contains the arguments to the method.
-*Notice*: GC should know about global variables which refer to Ruby's objects,
-but are not exported to the Ruby world. You need to protect them by
+** Notice
+
+GC should know about global variables which refer to Ruby's objects, but
+are not exported to the Ruby world. You need to protect them by
void rb_global_variable(VALUE *var)
-== Prepare extconf.rb
+(4) prepare extconf.rb
If the file named extconf.rb exists, it will be executed to generate
Makefile.
@@ -756,26 +627,10 @@ need to put
at the top of the file. You can use the functions below to check
various conditions.
- have_macro(macro[, headers[, opt]]): check whether macro is defined
- have_library(lib[, func[, headers[, opt]]]): check whether library containing function exists
- find_library(lib[, func, *paths]): find library from paths
- have_func(func[, headers[, opt]): check whether function exists
- have_var(var[, headers[, opt]]): check whether variable exists
- have_header(header[, preheaders[, opt]]): check whether header file exists
- find_header(header, *paths): find header from paths
- have_framework(fw): check whether framework exists (for MacOS X)
- have_struct_member(type, member[, headers[, opt]]): check whether struct has member
- have_type(type[, headers[, opt]]): check whether type exists
- find_type(type, opt, *headers): check whether type exists in headers
- have_const(const[, headers[, opt]]): check whether constant is defined
- check_sizeof(type[, headers[, opts]]): check size of type
- check_signedness(type[, headers[, opts]]): check signedness of type
- convertible_int(type[, headers[, opts]]): find convertible integer type
- find_executable(bin[, path]): find executable file path
- create_header(header): generate configured header
- create_makefile(target[, target_prefix]): generate Makefile
-
-See MakeMakefile for full documentation of these functions.
+ have_library(lib, func): check whether library containing function exists.
+ have_func(func, header): check whether function exists
+ have_header(header): check whether header file exists
+ create_makefile(target): generate Makefile
The value of the variables below will affect the Makefile.
@@ -792,7 +647,7 @@ If a compilation condition is not fulfilled, you should not call
``create_makefile''. The Makefile will not be generated, compilation will
not be done.
-== Prepare Depend (Optional)
+(5) prepare depend (optional)
If the file named depend exists, Makefile will include that file to
check dependencies. You can make this file by invoking
@@ -801,22 +656,17 @@ check dependencies. You can make this file by invoking
It's harmless. Prepare it.
-== Generate Makefile
+(6) generate Makefile
Try generating the Makefile by:
ruby extconf.rb
-If the library should be installed under vendor_ruby directory
-instead of site_ruby directory, use --vendor option as follows.
-
- ruby extconf.rb --vendor
-
You don't need this step if you put the extension library under the ext
directory of the ruby source tree. In that case, compilation of the
interpreter will do this step for you.
-== Run make
+(7) make
Type
@@ -825,771 +675,482 @@ Type
to compile your extension. You don't need this step either if you have
put the extension library under the ext directory of the ruby source tree.
-== Debug
+(8) debug
You may need to rb_debug the extension. Extensions can be linked
statically by adding the directory name in the ext/Setup file so that
you can inspect the extension with the debugger.
-== Done! Now You Have the Extension Library
+(9) done, now you have the extension library
You can do anything you want with your library. The author of Ruby
will not claim any restrictions on your code depending on the Ruby API.
Feel free to use, modify, distribute or sell your program.
-= Appendix A. Ruby Source Files Overview
-
-== Ruby Language Core
-
-class.c :: classes and modules
-error.c :: exception classes and exception mechanism
-gc.c :: memory management
-load.c :: library loading
-object.c :: objects
-variable.c :: variables and constants
+Appendix A. Ruby source files overview
-== Ruby Syntax Parser
+ruby language core
-parse.y :: grammar definition
-parse.c :: automatically generated from parse.y
-keywords :: reserved keywords
-lex.c :: automatically generated from keywords
-
-== Ruby Evaluator (a.k.a. YARV)
-
- compile.c
+ class.c
+ error.c
eval.c
- eval_error.c
- eval_jump.c
- eval_safe.c
- insns.def : definition of VM instructions
- iseq.c : implementation of VM::ISeq
- thread.c : thread management and context switching
- thread_win32.c : thread implementation
- thread_pthread.c : ditto
- vm.c
- vm_dump.c
- vm_eval.c
- vm_exec.c
- vm_insnhelper.c
- vm_method.c
-
- opt_insns_unif.def : instruction unification
- opt_operand.def : definitions for optimization
-
- -> insn*.inc : automatically generated
- -> opt*.inc : automatically generated
- -> vm.inc : automatically generated
-
-== Regular Expression Engine (Oniguruma)
+ gc.c
+ object.c
+ parse.y
+ variable.c
- regex.c
- regcomp.c
- regenc.c
- regerror.c
- regexec.c
- regparse.c
- regsyntax.c
+utility functions
-== Utility Functions
-
-debug.c :: debug symbols for C debugger
-dln.c :: dynamic loading
-st.c :: general purpose hash table
-strftime.c :: formatting times
-util.c :: misc utilities
+ dln.c
+ regex.c
+ st.c
+ util.c
-== Ruby Interpreter Implementation
+ruby interpreter implementation
dmyext.c
- dmydln.c
- dmyencoding.c
- id.c
inits.c
main.c
ruby.c
version.c
- gem_prelude.rb
- prelude.rb
-
-== Class Library
-
-array.c :: Array
-bignum.c :: Bignum
-compar.c :: Comparable
-complex.c :: Complex
-cont.c :: Fiber, Continuation
-dir.c :: Dir
-enum.c :: Enumerable
-enumerator.c :: Enumerator
-file.c :: File
-hash.c :: Hash
-io.c :: IO
-marshal.c :: Marshal
-math.c :: Math
-numeric.c :: Numeric, Integer, Fixnum, Float
-pack.c :: Array#pack, String#unpack
-proc.c :: Binding, Proc
-process.c :: Process
-random.c :: random number
-range.c :: Range
-rational.c :: Rational
-re.c :: Regexp, MatchData
-signal.c :: Signal
-sprintf.c :: String#sprintf
-string.c :: String
-struct.c :: Struct
-time.c :: Time
-
-defs/known_errors.def :: Errno::* exception classes
--> known_errors.inc :: automatically generated
-
-== Multilingualization
+class library
-encoding.c :: Encoding
-transcode.c :: Encoding::Converter
-enc/*.c :: encoding classes
-enc/trans/* :: codepoint mapping tables
+ array.c
+ bignum.c
+ compar.c
+ dir.c
+ enum.c
+ file.c
+ hash.c
+ io.c
+ marshal.c
+ math.c
+ numeric.c
+ pack.c
+ prec.c
+ process.c
+ random.c
+ range.c
+ re.c
+ signal.c
+ sprintf.c
+ string.c
+ struct.c
+ time.c
-== goruby Interpreter Implementation
+Appendix B. Ruby extension API reference
- goruby.c
- golf_prelude.rb : goruby specific libraries.
- -> golf_prelude.c : automatically generated
+** Types
+ VALUE
-= Appendix B. Ruby Extension API Reference
+The type for the Ruby object. Actual structures are defined in ruby.h,
+such as struct RString, etc. To refer the values in structures, use
+casting macros like RSTRING(obj).
-== Types
+** Variables and constants
-VALUE ::
+ Qnil
- The type for the Ruby object. Actual structures are defined in ruby.h,
- such as struct RString, etc. To refer the values in structures, use
- casting macros like RSTRING(obj).
+const: nil object
-== Variables and Constants
+ Qtrue
-Qnil::
- nil object
+const: true object(default true value)
-Qtrue::
- true object (default true value)
+ Qfalse
-Qfalse::
- false object
+const: false object
-== C Pointer Wrapping
+** C pointer wrapping
-Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval) ::
+ Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)
- Wrap a C pointer into a Ruby object. If object has references to other
- Ruby objects, they should be marked by using the mark function during
- the GC process. Otherwise, mark should be 0. When this object is no
- longer referred by anywhere, the pointer will be discarded by free
- function.
+Wrap a C pointer into a Ruby object. If object has references to other
+Ruby objects, they should be marked by using the mark function during
+the GC process. Otherwise, mark should be 0. When this object is no
+longer referred by anywhere, the pointer will be discarded by free
+function.
-Data_Make_Struct(klass, type, mark, free, sval) ::
+ Data_Make_Struct(klass, type, mark, free, sval)
- This macro allocates memory using malloc(), assigns it to the variable
- sval, and returns the DATA encapsulating the pointer to memory region.
+This macro allocates memory using malloc(), assigns it to the variable
+sval, and returns the DATA encapsulating the pointer to memory region.
-Data_Get_Struct(data, type, sval) ::
+ Data_Get_Struct(data, type, sval)
- This macro retrieves the pointer value from DATA, and assigns it to
- the variable sval.
+This macro retrieves the pointer value from DATA, and assigns it to
+the variable sval.
-== Checking Data Types
+** Checking data types
-TYPE(value) ::
+TYPE(value)
+FIXNUM_P(value)
+NIL_P(value)
+void Check_Type(VALUE value, int type)
+void Check_SafeStr(VALUE value)
- Internal type (T_NIL, T_FIXNUM, etc.)
+** Data type conversion
-FIXNUM_P(value) ::
+FIX2INT(value)
+INT2FIX(i)
+NUM2INT(value)
+INT2NUM(i)
+NUM2DBL(value)
+rb_float_new(f)
+StringValue(value)
+StringValuePtr(value)
+StringValueCStr(value)
+rb_str_new2(s)
- Is +value+ a Fixnum?
+** defining class/module
-NIL_P(value) ::
+ VALUE rb_define_class(const char *name, VALUE super)
- Is +value+ nil?
+Defines a new Ruby class as a subclass of super.
-void Check_Type(VALUE value, int type) ::
+ VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)
- Ensures +value+ is of the given internal +type+ or raises a TypeError
+Creates a new Ruby class as a subclass of super, under the module's
+namespace.
-SaveStringValue(value) ::
+ VALUE rb_define_module(const char *name)
- Checks that +value+ is a String and is not tainted
+Defines a new Ruby module.
-== Data Type Conversion
+ VALUE rb_define_module_under(VALUE module, const char *name)
-FIX2INT(value), INT2FIX(i) ::
+Defines a new Ruby module under the module's namespace.
- Fixnum <-> integer
+ void rb_include_module(VALUE klass, VALUE module)
-FIX2LONG(value), LONG2FIX(l) ::
+Includes module into class. If class already includes it, just
+ignored.
- Fixnum <-> long
+ void rb_extend_object(VALUE object, VALUE module)
-NUM2INT(value), INT2NUM(i) ::
+Extend the object with the module's attributes.
- Numeric <-> integer
+** Defining Global Variables
-NUM2UINT(value), UINT2NUM(ui) ::
+ void rb_define_variable(const char *name, VALUE *var)
- Numeric <-> unsigned integer
+Defines a global variable which is shared between C and Ruby. If name
+contains a character which is not allowed to be part of the symbol,
+it can't be seen from Ruby programs.
-NUM2LONG(value), LONG2NUM(l) ::
+ void rb_define_readonly_variable(const char *name, VALUE *var)
- Numeric <-> long
+Defines a read-only global variable. Works just like
+rb_define_variable(), except the defined variable is read-only.
-NUM2ULONG(value), ULONG2NUM(ul) ::
+ void rb_define_virtual_variable(const char *name,
+ VALUE (*getter)(), VALUE (*setter)())
- Numeric <-> unsigned long
+Defines a virtual variable, whose behavior is defined by a pair of C
+functions. The getter function is called when the variable is
+referenced. The setter function is called when the variable is set to a
+value. The prototype for getter/setter functions are:
-NUM2LL(value), LL2NUM(ll) ::
+ VALUE getter(ID id)
+ void setter(VALUE val, ID id)
- Numeric <-> long long
+The getter function must return the value for the access.
-NUM2ULL(value), ULL2NUM(ull) ::
+ void rb_define_hooked_variable(const char *name, VALUE *var,
+ VALUE (*getter)(), VALUE (*setter)())
- Numeric <-> unsigned long long
+Defines hooked variable. It's a virtual variable with a C variable.
+The getter is called as
-NUM2OFFT(value), OFFT2NUM(off) ::
+ VALUE getter(ID id, VALUE *var)
- Numeric <-> off_t
+returning a new value. The setter is called as
-NUM2SIZET(value), SIZET2NUM(size) ::
+ void setter(VALUE val, ID id, VALUE *var)
- Numeric <-> size_t
+GC requires C global variables which hold Ruby values to be marked.
-NUM2SSIZET(value), SSIZET2NUM(ssize) ::
+ void rb_global_variable(VALUE *var)
- Numeric <-> ssize_t
+Tells GC to protect these variables.
-rb_integer_pack(value, words, numwords, wordsize, nails, flags), rb_integer_unpack(words, numwords, wordsize, nails, flags) ::
+** Constant Definition
- Numeric <-> Arbitrary size integer buffer
+ void rb_define_const(VALUE klass, const char *name, VALUE val)
-NUM2DBL(value) ::
+Defines a new constant under the class/module.
- Numeric -> double
+ void rb_define_global_const(const char *name, VALUE val)
-rb_float_new(f) ::
+Defines a global constant. This is just the same as
- double -> Float
+ rb_define_const(cKernal, name, val)
-StringValue(value) ::
+** Method Definition
- Object with #to_str -> String
+ rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-StringValuePtr(value) ::
+Defines a method for the class. func is the function pointer. argc
+is the number of arguments. if argc is -1, the function will receive
+3 arguments: argc, argv, and self. if argc is -2, the function will
+receive 2 arguments, self and args, where args is a Ruby array of
+the method arguments.
- Object with #to_str -> pointer to String data
+ rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-StringValueCStr(value) ::
+Defines a private method for the class. Arguments are same as
+rb_define_method().
- Object with #to_str -> pointer to String data without NULL bytes
+ rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-rb_str_new2(s) ::
+Defines a singleton method. Arguments are same as rb_define_method().
- char * -> String
+ rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)
-== Defining Class and Module
+Retrieve argument from argc, argv. The fmt is the format string for
+the arguments, such as "12" for 1 non-optional argument, 2 optional
+arguments. If `*' appears at the end of fmt, it means the rest of
+the arguments are assigned to the corresponding variable, packed in
+an array.
-VALUE rb_define_class(const char *name, VALUE super) ::
+** Invoking Ruby method
- Defines a new Ruby class as a subclass of super.
+ VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)
-VALUE rb_define_class_under(VALUE module, const char *name, VALUE super) ::
+Invokes a method. To retrieve mid from a method name, use rb_intern().
- Creates a new Ruby class as a subclass of super, under the module's
- namespace.
+ VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
-VALUE rb_define_module(const char *name) ::
+Invokes a method, passing arguments by an array of values.
- Defines a new Ruby module.
+ VALUE rb_eval_string(const char *str)
-VALUE rb_define_module_under(VALUE module, const char *name) ::
+Compiles and executes the string as a Ruby program.
- Defines a new Ruby module under the module's namespace.
+ ID rb_intern(const char *name)
-void rb_include_module(VALUE klass, VALUE module) ::
+Returns ID corresponding to the name.
- Includes module into class. If class already includes it, just ignored.
+ char *rb_id2name(ID id)
-void rb_extend_object(VALUE object, VALUE module) ::
+Returns the name corresponding ID.
- Extend the object with the module's attributes.
+ char *rb_class2name(VALUE klass)
-== Defining Global Variables
+Returns the name of the class.
-void rb_define_variable(const char *name, VALUE *var) ::
+ int rb_respond_to(VALUE object, ID id)
- Defines a global variable which is shared between C and Ruby. If name
- contains a character which is not allowed to be part of the symbol,
- it can't be seen from Ruby programs.
+Returns true if the object responds to the message specified by id.
-void rb_define_readonly_variable(const char *name, VALUE *var) ::
+** Instance Variables
- Defines a read-only global variable. Works just like
- rb_define_variable(), except the defined variable is read-only.
+ VALUE rb_iv_get(VALUE obj, const char *name)
-void rb_define_virtual_variable(const char *name, VALUE (*getter)(), VALUE (*setter)()) ::
+Retrieve the value of the instance variable. If the name is not
+prefixed by `@', that variable shall be inaccessible from Ruby.
- Defines a virtual variable, whose behavior is defined by a pair of C
- functions. The getter function is called when the variable is
- referenced. The setter function is called when the variable is set to a
- value. The prototype for getter/setter functions are:
+ VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)
- VALUE getter(ID id)
- void setter(VALUE val, ID id)
+Sets the value of the instance variable.
- The getter function must return the value for the access.
+** Control Structure
-void rb_define_hooked_variable(const char *name, VALUE *var, VALUE (*getter)(), VALUE (*setter)()) ::
+ VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2)
- Defines hooked variable. It's a virtual variable with a C variable.
- The getter is called as
+Calls the function func1, supplying func2 as the block. func1 will be
+called with the argument arg1. func2 receives the value from yield as
+the first argument, arg2 as the second argument.
+
+ VALUE rb_yield(VALUE val)
- VALUE getter(ID id, VALUE *var)
+Evaluates the block with value val.
- returning a new value. The setter is called as
+ VALUE rb_rescue(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2)
- void setter(VALUE val, ID id, VALUE *var)
+Calls the function func1, with arg1 as the argument. If an exception
+occurs during func1, it calls func2 with arg2 as the argument. The
+return value of rb_rescue() is the return value from func1 if no
+exception occurs, from func2 otherwise.
- GC requires C global variables which hold Ruby values to be marked.
+ VALUE rb_ensure(VALUE (*func1)(), void *arg1, void (*func2)(), void *arg2)
-void rb_global_variable(VALUE *var)
+Calls the function func1 with arg1 as the argument, then calls func2
+with arg2 if execution terminated. The return value from
+rb_ensure() is that of func1.
- Tells GC to protect these variables.
+** Exceptions and Errors
-== Constant Definition
+ void rb_warn(const char *fmt, ...)
-void rb_define_const(VALUE klass, const char *name, VALUE val) ::
+Prints a warning message according to a printf-like format.
- Defines a new constant under the class/module.
+ void rb_warning(const char *fmt, ...)
-void rb_define_global_const(const char *name, VALUE val) ::
+Prints a warning message according to a printf-like format, if
+$VERBOSE is true.
- Defines a global constant. This is just the same as
+void rb_raise(rb_eRuntimeError, const char *fmt, ...)
- rb_define_const(cKernal, name, val)
+Raises RuntimeError. The fmt is a format string just like printf().
-== Method Definition
+ void rb_raise(VALUE exception, const char *fmt, ...)
-rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+Raises a class exception. The fmt is a format string just like printf().
- Defines a method for the class. func is the function pointer. argc
- is the number of arguments. if argc is -1, the function will receive
- 3 arguments: argc, argv, and self. if argc is -2, the function will
- receive 2 arguments, self and args, where args is a Ruby array of
- the method arguments.
+ void rb_fatal(const char *fmt, ...)
-rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+Raises a fatal error, terminates the interpreter. No exception handling
+will be done for fatal errors, but ensure blocks will be executed.
- Defines a private method for the class. Arguments are same as
- rb_define_method().
+ void rb_bug(const char *fmt, ...)
-rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+Terminates the interpreter immediately. This function should be
+called under the situation caused by the bug in the interpreter. No
+exception handling nor ensure execution will be done.
- Defines a singleton method. Arguments are same as rb_define_method().
-
-rb_scan_args(int argc, VALUE *argv, const char *fmt, ...) ::
-
- Retrieve argument from argc and argv to given VALUE references
- according to the format string. The format can be described in ABNF
- as follows:
-
- scan-arg-spec := param-arg-spec [option-hash-arg-spec] [block-arg-spec]
-
- param-arg-spec := pre-arg-spec [post-arg-spec] / post-arg-spec /
- pre-opt-post-arg-spec
- pre-arg-spec := num-of-leading-mandatory-args [num-of-optional-args]
- post-arg-spec := sym-for-variable-length-args
- [num-of-trailing-mandatory-args]
- pre-opt-post-arg-spec := num-of-leading-mandatory-args num-of-optional-args
- num-of-trailing-mandatory-args
- option-hash-arg-spec := sym-for-option-hash-arg
- block-arg-spec := sym-for-block-arg
-
- num-of-leading-mandatory-args := DIGIT ; The number of leading
- ; mandatory arguments
- num-of-optional-args := DIGIT ; The number of optional
- ; arguments
- sym-for-variable-length-args := "*" ; Indicates that variable
- ; length arguments are
- ; captured as a ruby array
- num-of-trailing-mandatory-args := DIGIT ; The number of trailing
- ; mandatory arguments
- sym-for-option-hash-arg := ":" ; Indicates that an option
- ; hash is captured if the last
- ; argument is a hash or can be
- ; converted to a hash with
- ; #to_hash. When the last
- ; argument is nil, it is
- ; captured if it is not
- ; ambiguous to take it as
- ; empty option hash; i.e. '*'
- ; is not specified and
- ; arguments are given more
- ; than sufficient.
- sym-for-block-arg := "&" ; Indicates that an iterator
- ; block should be captured if
- ; given
-
- For example, "12" means that the method requires at least one
- argument, and at most receives three (1+2) arguments. So, the format
- string must be followed by three variable references, which are to be
- assigned to captured arguments. For omitted arguments, variables are
- set to Qnil. NULL can be put in place of a variable reference, which
- means the corresponding captured argument(s) should be just dropped.
-
- The number of given arguments, excluding an option hash or iterator
- block, is returned.
-
-== Invoking Ruby method
-
-VALUE rb_funcall(VALUE recv, ID mid, int narg, ...) ::
-
- Invokes a method. To retrieve mid from a method name, use rb_intern().
- Able to call even private/protected methods.
-
-VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv) ::
-VALUE rb_funcallv(VALUE recv, ID mid, int argc, VALUE *argv) ::
-
- Invokes a method, passing arguments as an array of values.
- Able to call even private/protected methods.
-
-VALUE rb_funcallv_public(VALUE recv, ID mid, int argc, VALUE *argv) ::
-
- Invokes a method, passing arguments as an array of values.
- Able to call only public methods.
-
-VALUE rb_eval_string(const char *str) ::
-
- Compiles and executes the string as a Ruby program.
-
-ID rb_intern(const char *name) ::
-
- Returns ID corresponding to the name.
-
-char *rb_id2name(ID id) ::
-
- Returns the name corresponding ID.
-
-char *rb_class2name(VALUE klass) ::
-
- Returns the name of the class.
-
-int rb_respond_to(VALUE object, ID id) ::
-
- Returns true if the object responds to the message specified by id.
-
-== Instance Variables
-
-VALUE rb_iv_get(VALUE obj, const char *name) ::
-
- Retrieve the value of the instance variable. If the name is not
- prefixed by `@', that variable shall be inaccessible from Ruby.
-
-VALUE rb_iv_set(VALUE obj, const char *name, VALUE val) ::
-
- Sets the value of the instance variable.
-
-== Control Structure
-
-VALUE rb_block_call(VALUE recv, ID mid, int argc, VALUE * argv, VALUE (*func) (ANYARGS), VALUE data2) ::
-
- Calls a method on the recv, with the method name specified by the
- symbol mid, with argc arguments in argv, supplying func as the
- block. When func is called as the block, it will receive the value
- from yield as the first argument, and data2 as the second argument.
- When yielded with multiple values (in C, rb_yield_values(),
- rb_yield_values2() and rb_yield_splat()), data2 is packed as an Array,
- whereas yielded values can be gotten via argc/argv of the third/fourth
- arguments.
-
-[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2) ::
-
- Calls the function func1, supplying func2 as the block. func1 will be
- called with the argument arg1. func2 receives the value from yield as
- the first argument, arg2 as the second argument.
-
- When rb_iterate is used in 1.9, func1 has to call some Ruby-level method.
- This function is obsolete since 1.9; use rb_block_call instead.
-
-VALUE rb_yield(VALUE val) ::
-
- Evaluates the block with value val.
-
-VALUE rb_rescue(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
-
- Calls the function func1, with arg1 as the argument. If an exception
- occurs during func1, it calls func2 with arg2 as the argument. The
- return value of rb_rescue() is the return value from func1 if no
- exception occurs, from func2 otherwise.
-
-VALUE rb_ensure(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
-
- Calls the function func1 with arg1 as the argument, then calls func2
- with arg2 if execution terminated. The return value from
- rb_ensure() is that of func1 when no exception occurred.
-
-VALUE rb_protect(VALUE (*func) (VALUE), VALUE arg, int *state) ::
-
- Calls the function func with arg as the argument. If no exception
- occurred during func, it returns the result of func and *state is zero.
- Otherwise, it returns Qnil and sets *state to nonzero. If state is
- NULL, it is not set in both cases.
- You have to clear the error info with rb_set_errinfo(Qnil) when
- ignoring the caught exception.
-
-void rb_jump_tag(int state) ::
-
- Continues the exception caught by rb_protect() and rb_eval_string_protect().
- state must be the returned value from those functions. This function
- never return to the caller.
-
-void rb_iter_break() ::
-
- Exits from the current innermost block. This function never return to
- the caller.
-
-void rb_iter_break_value(VALUE value) ::
-
- Exits from the current innermost block with the value. The block will
- return the given argument value. This function never return to the
- caller.
-
-== Exceptions and Errors
-
-void rb_warn(const char *fmt, ...) ::
-
- Prints a warning message according to a printf-like format.
-
-void rb_warning(const char *fmt, ...) ::
-
- Prints a warning message according to a printf-like format, if
- $VERBOSE is true.
-
-void rb_raise(rb_eRuntimeError, const char *fmt, ...) ::
-
- Raises RuntimeError. The fmt is a format string just like printf().
-
-void rb_raise(VALUE exception, const char *fmt, ...) ::
-
- Raises a class exception. The fmt is a format string just like printf().
-
-void rb_fatal(const char *fmt, ...) ::
-
- Raises a fatal error, terminates the interpreter. No exception handling
- will be done for fatal errors, but ensure blocks will be executed.
-
-void rb_bug(const char *fmt, ...) ::
-
- Terminates the interpreter immediately. This function should be
- called under the situation caused by the bug in the interpreter. No
- exception handling nor ensure execution will be done.
-
-Note: In the format string, %i is used for Object#to_s (or Object#inspect if
-'+' flag is set) output (and related argument must be a VALUE). For integers
-in format strings, use %d.
-
-== Initialize and Start the Interpreter
+** Initialize and Start the Interpreter
The embedding API functions are below (not needed for extension libraries):
-void ruby_init() ::
+ void ruby_init()
- Initializes the interpreter.
+Initializes the interpreter.
-void ruby_options(int argc, char **argv) ::
+ void ruby_options(int argc, char **argv)
- Process command line arguments for the interpreter.
+Process command line arguments for the interpreter.
-void ruby_run() ::
+ void ruby_run()
- Starts execution of the interpreter.
+Starts execution of the interpreter.
-void ruby_script(char *name) ::
+ void ruby_script(char *name)
- Specifies the name of the script ($0).
+Specifies the name of the script ($0).
-== Hooks for the Interpreter Events
+** Hooks for the Interpreter Events
- void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events,
- VALUE data)
+ void rb_add_event_hook(rb_event_hook_func_t func, rb_event_t events)
Adds a hook function for the specified interpreter events.
-events should be OR'ed value of:
-
- RUBY_EVENT_LINE
- RUBY_EVENT_CLASS
- RUBY_EVENT_END
- RUBY_EVENT_CALL
- RUBY_EVENT_RETURN
- RUBY_EVENT_C_CALL
- RUBY_EVENT_C_RETURN
- RUBY_EVENT_RAISE
- RUBY_EVENT_ALL
+events should be Or'ed value of:
+
+ RUBY_EVENT_LINE
+ RUBY_EVENT_CLASS
+ RUBY_EVENT_END
+ RUBY_EVENT_CALL
+ RUBY_EVENT_RETURN
+ RUBY_EVENT_C_CALL
+ RUBY_EVENT_C_RETURN
+ RUBY_EVENT_RAISE
+ RUBY_EVENT_ALL
The definition of rb_event_hook_func_t is below:
- typedef void (*rb_event_hook_func_t)(rb_event_t event, VALUE data,
- VALUE self, ID id, VALUE klass)
-
-The third argument `data' to rb_add_event_hook() is passed to the hook
-function as the second argument, which was the pointer to the current
-NODE in 1.8. See RB_EVENT_HOOKS_HAVE_CALLBACK_DATA below.
+ typedef void (*rb_event_hook_func_t)(rb_event_t event, NODE *node,
+ VALUE self, ID id, VALUE klass)
- int rb_remove_event_hook(rb_event_hook_func_t func)
+ int rb_remove_event_hook(rb_event_hook_func_t func)
Removes the specified hook function.
-== Macros for Compatibility
-
-Some macros to check API compatibilities are available by default.
-
-NORETURN_STYLE_NEW ::
-
- Means that NORETURN macro is functional style instead of prefix.
-
-HAVE_RB_DEFINE_ALLOC_FUNC ::
-
- Means that function rb_define_alloc_func() is provided, that means the
- allocation framework is used. This is same as the result of
- have_func("rb_define_alloc_func", "ruby.h").
-
-HAVE_RB_REG_NEW_STR ::
-
- Means that function rb_reg_new_str() is provided, that creates Regexp
- object from String object. This is same as the result of
- have_func("rb_reg_new_str", "ruby.h").
-
-HAVE_RB_IO_T ::
-
- Means that type rb_io_t is provided.
-
-USE_SYMBOL_AS_METHOD_NAME ::
-
- Means that Symbols will be returned as method names, e.g.,
- Module#methods, #singleton_methods and so on.
-
-HAVE_RUBY_*_H ::
-
- Defined in ruby.h and means corresponding header is available. For
- instance, when HAVE_RUBY_ST_H is defined you should use ruby/st.h not
- mere st.h.
-
-RB_EVENT_HOOKS_HAVE_CALLBACK_DATA ::
+Appendix C. Functions Available in extconf.rb
- Means that rb_add_event_hook() takes the third argument `data', to be
- passed to the given event hook function.
+These functions are available in extconf.rb:
-= Appendix C. Functions available for use in extconf.rb
+ have_macro(macro, headers)
-See documentation for {mkmf}[rdoc-ref:MakeMakefile].
+Checks whether macro is defined with header. Returns true if the macro
+is defined.
-= Appendix D. Generational GC
+ have_library(lib, func)
-Ruby 2.1 introduced a generational garbage collector (called RGenGC).
-RGenGC (mostly) keeps compatibility.
+Checks whether the library exists, containing the specified function.
+Returns true if the library exists.
-Generally, the use of the technique called write barriers is required in
-extension libraries for generational GC
-(http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29).
-RGenGC works fine without write barriers in extension libraries.
+ find_library(lib, func, path...)
-If your library adheres to the following tips, performance can
-be further improved. Especially, the "Don't touch pointers directly" section is
-important.
+Checks whether a library which contains the specified function exists in
+path. Returns true if the library exists.
-== Incompatibility
+ have_func(func, header)
-You can't write RBASIC(obj)->klass field directly because it is const
-value now.
+Checks whether func exists with header. Returns true if the function
+exists. To check functions in an additional library, you need to
+check that library first using have_library().
-Basically you should not write this field because MRI expects it to be
-an immutable field, but if you want to do it in your extension you can
-use the following functions:
+ have_var(var, header)
-VALUE rb_obj_hide(VALUE obj) ::
+Checks whether var exists with header. Returns true if the variable
+exists. To check variables in an additional library, you need to
+check that library first using have_library().
- Clear RBasic::klass field. The object will be an internal object.
- ObjectSpace::each_object can't find this object.
+ have_header(header)
-VALUE rb_obj_reveal(VALUE obj, VALUE klass) ::
+Checks whether header exists. Returns true if the header file exists.
- Reset RBasic::klass to be klass.
- We expect the `klass' is hidden class by rb_obj_hide().
+ find_header(header, path...)
-== Write barriers
+Checks whether header exists in path. Returns true if the header file
+exists.
-RGenGC doesn't require write barriers to support generational GC.
-However, caring about write barrier can improve the performance of
-RGenGC. Please check the following tips.
+ have_struct_member(type, member, header)
-=== Don't touch pointers directly
+Checks whether type has member with header. Returns true if the type
+is defined and has the member.
-In MRI (include/ruby/ruby.h), some macros to acquire pointers to the
-internal data structures are supported such as RARRAY_PTR(),
-RSTRUCT_PTR() and so on.
+ have_type(type, header, opt)
-DO NOT USE THESE MACROS and instead use the corresponding C-APIs such as
-rb_ary_aref(), rb_ary_store() and so on.
+Checks whether type is defined with header. Returns true if the type
+is defined.
-=== Consider whether to insert write barriers
+ check_sizeof(type, header)
-You don't need to care about write barriers if you only use built-in
-types.
+Checks the size of type in char with header. Returns the size if the
+type is defined, otherwise nil.
-If you support T_DATA objects, you may consider using write barriers.
+ create_makefile(target)
-Inserting write barriers into T_DATA objects only works with the
-following type objects: (a) long-lived objects, (b) when a huge number
-of objects are generated and (c) container-type objects that have
-references to other objects. If your extension provides such a type of
-T_DATA objects, consider inserting write barriers.
+Generates the Makefile for the extension library. If you don't invoke
+this method, the compilation will not be done.
-(a): short-lived objects don't become old generation objects.
-(b): only a few oldgen objects don't have performance impact.
-(c): only a few references don't have performance impact.
+ find_executable(bin, path)
-Inserting write barriers is a very difficult hack, it is easy to
-introduce critical bugs. And inserting write barriers has several areas
-of overhead. Basically we don't recommend you insert write barriers.
-Please carefully consider the risks.
+Finds command in path, which is File::PATH_SEPARATOR-separated list of
+directories. If path is nil or omitted, environment varialbe PATH
+will be used. Returns the path name of the command if it is found,
+otherwise nil.
-=== Combine with built-in types
+ with_config(withval[, default=nil])
-Please consider utilizing built-in types. Most built-in types support
-write barrier, so you can use them to avoid manually inserting write
-barriers.
+Parses the command line options and returns the value specified by
+--with-<withval>.
-For example, if your T_DATA has references to other objects, then you
-can move these references to Array. A T_DATA object only has a reference
-to an array object. Or you can also use a Struct object to gather a
-T_DATA object (without any references) and an that Array contains
-references.
+ enable_config(config, *defaults)
+ disable_config(config, *defaults)
-With use of such techniques, you don't need to insert write barriers
-anymore.
+Parses the command line options for boolean. Returns true if
+--enable-<config> is given, or false if --disable-<config> is given.
+Otherwise, yields defaults to the given block and returns the result
+if it is called with a block, or returns defaults.
-=== Insert write barriers
+ dir_config(target[, default_dir])
+ dir_config(target[, default_include, default_lib])
-[AGAIN] Inserting write barriers is a very difficult hack, and it is
-easy to introduce critical bugs. And inserting write barriers has
-several areas of overhead. Basically we don't recommend you insert write
-barriers. Please carefully consider the risks.
+Parses the command line options and adds the directories specified by
+--with-<target>-dir, --with-<target>-include, and/or --with-<target>-lib
+to $CFLAGS and/or $LDFLAGS. --with-<target>-dir=/path is equivalent to
+--with-<target>-include=/path/include --with-<target>-lib=/path/lib.
+Returns an array of the added directories ([include_dir, lib_dir]).
-Before inserting write barriers, you need to know about RGenGC algorithm
-(gc.c will help you). Macros and functions to insert write barriers are
-available in in include/ruby/ruby.h. An example is available in iseq.c.
+ pkg_config(pkg)
-For a complete guide for RGenGC and write barriers, please refer to
-<https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/RGenGC>.
+Obtains the information for pkg by pkg-config command. The actual
+command name can be overriden by --with-pkg-config command line
+option.
/*
* Local variables:
diff --git a/README.EXT.ja b/README.EXT.ja
index 5ccc9306d1..30c4d520ba 100644
--- a/README.EXT.ja
+++ b/README.EXT.ja
@@ -1,1647 +1,1255 @@
-# README.EXT.ja - -*- RDoc -*- created at: Mon Aug 7 16:45:54 JST 1995
+.\" README.EXT.ja - -*- Text -*- created at: Mon Aug 7 16:45:54 JST 1995
-Rubyã®æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã®ä½œã‚Šæ–¹ã‚’説明ã—ã¾ã™ï¼Ž
+Ruby¤Î³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Îºî¤êÊý¤òÀâÌÀ¤·¤Þ¤¹¡¥
-= 基礎知識
+1¡¥´ðÁÃÃμ±
-Cã®å¤‰æ•°ã«ã¯åž‹ãŒã‚り,データã«ã¯åž‹ãŒã‚りã¾ã›ã‚“.ã§ã™ã‹ã‚‰ï¼ŒãŸ
-ã¨ãˆã°ãƒã‚¤ãƒ³ã‚¿ã‚’intã®å¤‰æ•°ã«ä»£å…¥ã™ã‚‹ã¨ï¼Œãã®å€¤ã¯æ•´æ•°ã¨ã—ã¦å–
-り扱ã‚れã¾ã™ï¼Žé€†ã«Rubyã®å¤‰æ•°ã«ã¯åž‹ãŒãªã,データã«åž‹ãŒã‚りã¾
-ã™ï¼Žã“ã®é•ã„ã®ãŸã‚,Cã¨Rubyã¯ç›¸äº’ã«å¤‰æ›ã—ãªã‘れã°ï¼ŒãŠäº’ã„ã®
-データをアクセスã§ãã¾ã›ã‚“.
+C¤ÎÊÑ¿ô¤Ë¤Ï·¿¤¬¤¢¤ê¡¤¥Ç¡¼¥¿¤Ë¤Ï·¿¤¬¤¢¤ê¤Þ¤»¤ó¡¥¤Ç¤¹¤«¤é¡¤¤¿
+¤È¤¨¤Ð¥Ý¥¤¥ó¥¿¤òint¤ÎÊÑ¿ô¤ËÂåÆþ¤¹¤ë¤È¡¤¤½¤ÎÃͤÏÀ°¿ô¤È¤·¤Æ¼è
+¤ê°·¤ï¤ì¤Þ¤¹¡¥µÕ¤ËRuby¤ÎÊÑ¿ô¤Ë¤Ï·¿¤¬¤Ê¤¯¡¤¥Ç¡¼¥¿¤Ë·¿¤¬¤¢¤ê¤Þ
+¤¹¡¥¤³¤Î°ã¤¤¤Î¤¿¤á¡¤C¤ÈRuby¤ÏÁê¸ß¤ËÊÑ´¹¤·¤Ê¤±¤ì¤Ð¡¤¤ª¸ß¤¤¤Î
+¥Ç¡¼¥¿¤ò¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡¥
-Rubyã®ãƒ‡ãƒ¼ã‚¿ã¯VALUEã¨ã„ã†Cã®åž‹ã§è¡¨ç¾ã•れã¾ã™ï¼ŽVALUEåž‹ã®ãƒ‡ãƒ¼
-ã‚¿ã¯ãã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—を自分ã§çŸ¥ã£ã¦ã„ã¾ã™ï¼Žã“ã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ã¨
-ã„ã†ã®ã¯ãƒ‡ãƒ¼ã‚¿(オブジェクト)ã®å®Ÿéš›ã®æ§‹é€ ã‚’æ„味ã—ã¦ã„ã¦ï¼ŒRuby
-ã®ã‚¯ãƒ©ã‚¹ã¨ã¯ã¾ãŸé•ã£ãŸã‚‚ã®ã§ã™ï¼Ž
+Ruby¤Î¥Ç¡¼¥¿¤ÏVALUE¤È¤¤¤¦C¤Î·¿¤Çɽ¸½¤µ¤ì¤Þ¤¹¡¥VALUE·¿¤Î¥Ç¡¼
+¥¿¤Ï¤½¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤ò¼«Ê¬¤ÇÃΤäƤ¤¤Þ¤¹¡¥¤³¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤È
+¤¤¤¦¤Î¤Ï¥Ç¡¼¥¿(¥ª¥Ö¥¸¥§¥¯¥È)¤Î¼ÂºÝ¤Î¹½Â¤¤ò°ÕÌ£¤·¤Æ¤¤¤Æ¡¤Ruby
+¤Î¥¯¥é¥¹¤È¤Ï¤Þ¤¿°ã¤Ã¤¿¤â¤Î¤Ç¤¹¡¥
-VALUEã‹ã‚‰Cã«ã¨ã£ã¦æ„味ã®ã‚るデータをå–り出ã™ãŸã‚ã«ã¯
+VALUE¤«¤éC¤Ë¤È¤Ã¤Æ°ÕÌ£¤Î¤¢¤ë¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë¤Ï
-1. VALUEã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—を知る
-2. VALUEã‚’Cã®ãƒ‡ãƒ¼ã‚¿ã«å¤‰æ›ã™ã‚‹
+ (1) VALUE¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤òÃΤë
+ (2) VALUE¤òC¤Î¥Ç¡¼¥¿¤ËÊÑ´¹¤¹¤ë
-ã®ä¸¡æ–¹ãŒå¿…è¦ã§ã™ï¼Ž(1)を忘れるã¨é–“é•ã£ãŸãƒ‡ãƒ¼ã‚¿ã®å¤‰æ›ãŒè¡Œã‚れ
-ã¦ï¼Œæœ€æ‚ªãƒ—ログラムãŒcore dumpã—ã¾ã™ï¼Ž
+¤ÎξÊý¤¬É¬ÍפǤ¹¡¥(1)¤ò˺¤ì¤ë¤È´Ö°ã¤Ã¤¿¥Ç¡¼¥¿¤ÎÊÑ´¹¤¬¹Ô¤ï¤ì
+¤Æ¡¤ºÇ°­¥×¥í¥°¥é¥à¤¬core dump¤·¤Þ¤¹¡¥
-== データタイプ
+1.1 ¥Ç¡¼¥¿¥¿¥¤¥×
-Rubyã«ã¯ãƒ¦ãƒ¼ã‚¶ãŒä½¿ã†å¯èƒ½æ€§ã®ã‚る以下ã®ã‚¿ã‚¤ãƒ—ãŒã‚りã¾ã™ï¼Ž
+Ruby¤Ë¤Ï¥æ¡¼¥¶¤¬»È¤¦²ÄǽÀ­¤Î¤¢¤ë°Ê²¼¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡¥
-T_NIL :: nil
-T_OBJECT :: 通常ã®ã‚ªãƒ–ジェクト
-T_CLASS :: クラス
-T_MODULE :: モジュール
-T_FLOAT :: æµ®å‹•å°æ•°ç‚¹æ•°
-T_STRING :: 文字列
-T_REGEXP :: æ­£è¦è¡¨ç¾
-T_ARRAY :: é…列
-T_HASH :: 連想é…列
-T_STRUCT :: (Rubyã®)構造体
-T_BIGNUM :: 多å€é•·æ•´æ•°
-T_FIXNUM :: Fixnum(31bitã¾ãŸã¯63bité•·æ•´æ•°)
-T_COMPLEX :: 複素数
-T_RATIONAL :: æœ‰ç†æ•°
-T_FILE :: 入出力
-T_TRUE :: 真
-T_FALSE :: å½
-T_DATA :: データ
-T_SYMBOL :: シンボル
+ T_NIL nil
+ T_OBJECT Ä̾ï¤Î¥ª¥Ö¥¸¥§¥¯¥È
+ T_CLASS ¥¯¥é¥¹
+ T_MODULE ¥â¥¸¥å¡¼¥ë
+ T_FLOAT ÉâÆ°¾®¿ôÅÀ¿ô
+ T_STRING ʸ»úÎó
+ T_REGEXP Àµµ¬É½¸½
+ T_ARRAY ÇÛÎó
+ T_FIXNUM Fixnum(31bitĹÀ°¿ô)
+ T_HASH Ï¢ÁÛÇÛÎó
+ T_STRUCT (Ruby¤Î)¹½Â¤ÂÎ
+ T_BIGNUM ¿ÇÜĹÀ°¿ô
+ T_FILE Æþ½ÐÎÏ
+ T_TRUE ¿¿
+ T_FALSE µ¶
+ T_DATA ¥Ç¡¼¥¿
+ T_SYMBOL ¥·¥ó¥Ü¥ë
-ãã®ä»–ã«å†…部ã§åˆ©ç”¨ã•れã¦ã„る以下ã®ã‚¿ã‚¤ãƒ—ãŒã‚りã¾ã™ï¼Ž
+¤½¤Î¾¤ËÆâÉô¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë°Ê²¼¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡¥
- T_ICLASS
- T_MATCH
- T_UNDEF
- T_NODE
- T_ZOMBIE
+ T_ICLASS
+ T_MATCH
+ T_UNDEF
+ T_VARMAP
+ T_SCOPE
+ T_NODE
-ã»ã¨ã‚“ã©ã®ã‚¿ã‚¤ãƒ—ã¯Cã®æ§‹é€ ä½“ã§å®Ÿè£…ã•れã¦ã„ã¾ã™ï¼Ž
+¤Û¤È¤ó¤É¤Î¥¿¥¤¥×¤ÏC¤Î¹½Â¤ÂΤǼÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
-== VALUEã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹
+1.2 VALUE¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤ò¥Á¥§¥Ã¥¯¤¹¤ë
-ruby.hã§ã¯TYPE()ã¨ã„ã†ãƒžã‚¯ãƒ­ãŒå®šç¾©ã•れã¦ã„ã¦ï¼ŒVALUEã®ãƒ‡ãƒ¼ã‚¿
-タイプを知るã“ã¨ãŒå‡ºæ¥ã¾ã™ï¼ŽTYPE()マクロã¯ä¸Šã§ç´¹ä»‹ã—ãŸT_XXXX
-ã®å½¢å¼ã®å®šæ•°ã‚’è¿”ã—ã¾ã™ï¼ŽVALUEã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ã«å¿œã˜ã¦å‡¦ç†ã™ã‚‹
-å ´åˆã«ã¯ï¼ŒTYPE()ã®å€¤ã§åˆ†å²ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ï¼Ž
+ruby.h¤Ç¤ÏTYPE()¤È¤¤¤¦¥Þ¥¯¥í¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¤VALUE¤Î¥Ç¡¼¥¿
+¥¿¥¤¥×¤òÃΤ뤳¤È¤¬½ÐÍè¤Þ¤¹¡¥TYPE()¥Þ¥¯¥í¤Ï¾å¤Ç¾Ò²ð¤·¤¿T_XXXX
+¤Î·Á¼°¤ÎÄê¿ô¤òÊÖ¤·¤Þ¤¹¡¥VALUE¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ë±þ¤¸¤Æ½èÍý¤¹¤ë
+¾ì¹ç¤Ë¤Ï¡¤TYPE()¤ÎÃͤÇʬ´ô¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥
switch (TYPE(obj)) {
case T_FIXNUM:
- /* FIXNUMã®å‡¦ç† */
+ /* FIXNUM¤Î½èÍý */
break;
case T_STRING:
- /* 文字列ã®å‡¦ç† */
+ /* ʸ»úÎó¤Î½èÍý */
break;
case T_ARRAY:
- /* é…列ã®å‡¦ç† */
+ /* ÇÛÎó¤Î½èÍý */
break;
default:
- /* 例外を発生ã•ã›ã‚‹ */
+ /* Îã³°¤òȯÀ¸¤µ¤»¤ë */
rb_raise(rb_eTypeError, "not valid value");
break;
}
-ãれã¨ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ï¼Œæ­£ã—ããªã‘れã°ä¾‹å¤–を発生ã™
-る関数ãŒç”¨æ„ã•れã¦ã„ã¾ã™ï¼Ž
+¤½¤ì¤È¥Ç¡¼¥¿¥¿¥¤¥×¤ò¥Á¥§¥Ã¥¯¤·¤Æ¡¤Àµ¤·¤¯¤Ê¤±¤ì¤ÐÎã³°¤òȯÀ¸¤¹
+¤ë´Ø¿ô¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡¥
void Check_Type(VALUE value, int type)
-ã“ã®é–¢æ•°ã¯valueãŒtypeã§ç„¡ã‘れã°ï¼Œä¾‹å¤–を発生ã•ã›ã¾ã™ï¼Žå¼•æ•°ã¨
-ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸVALUEã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ãŒæ­£ã—ã„ã‹ã©ã†ã‹ãƒã‚§ãƒƒã‚¯ã™
-ã‚‹ãŸã‚ã«ã¯ï¼Œã“ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+¤³¤Î´Ø¿ô¤Ïvalue¤¬type¤Ç̵¤±¤ì¤Ð¡¤Îã³°¤òȯÀ¸¤µ¤»¤Þ¤¹¡¥°ú¿ô¤È
+¤·¤ÆÍ¿¤¨¤é¤ì¤¿VALUE¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤¬Àµ¤·¤¤¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹
+¤ë¤¿¤á¤Ë¤Ï¡¤¤³¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
-FIXNUMã¨NILã«é–¢ã—ã¦ã¯ã‚ˆã‚Šé«˜é€Ÿãªåˆ¤åˆ¥ãƒžã‚¯ãƒ­ãŒç”¨æ„ã•れã¦ã„ã¾ã™ï¼Ž
+FIXNUM¤ÈNIL¤Ë´Ø¤·¤Æ¤Ï¤è¤ê¹â®¤ÊȽÊÌ¥Þ¥¯¥í¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡¥
FIXNUM_P(obj)
NIL_P(obj)
-== VALUEã‚’Cã®ãƒ‡ãƒ¼ã‚¿ã«å¤‰æ›ã™ã‚‹
-
-データタイプãŒT_NIL,T_FALSE,T_TRUEã§ã‚る時,データã¯ãれãž
-れnil,false,trueã§ã™ï¼Žã“ã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ã®ã‚ªãƒ–ジェクトã¯ã²ã¨
-ã¤ãšã¤ã—ã‹å­˜åœ¨ã—ã¾ã›ã‚“.
-
-データタイプãŒT_FIXNUMã®æ™‚,ã“れã¯31bitã¾ãŸã¯63bitã®ã‚µã‚¤ã‚ºã‚’
-æŒã¤æ•´æ•°ã§ã™ï¼Žlongã®ã‚µã‚¤ã‚ºãŒ32bitã®ãƒ—ラットフォームã§ã‚れã°
-31bitã«ï¼Œlongã®ã‚µã‚¤ã‚ºãŒ64bitã®ãƒ—ラットフォームã§ã‚れã°63bit
-ã«ãªã‚Šã¾ã™. FIXNUM ã‚’ C ã®æ•´æ•°ã«å¤‰æ›ã™ã‚‹ãŸã‚ã«ã¯ãƒžã‚¯ãƒ­
-「FIX2INT()ã€ã¾ãŸã¯ã€ŒFIX2LONG()ã€ã‚’使ã„ã¾ã™ï¼Žã“れらã®ãƒžã‚¯ãƒ­
-を使用ã™ã‚‹éš›ã«ã¯äº‹å‰ã«ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ãŒFIXNUMã§ã‚ã‚‹ã“ã¨ã‚’確èªã™
-ã‚‹å¿…è¦ãŒã‚りã¾ã™ãŒï¼Œæ¯”較的高速ã«å¤‰æ›ã‚’行ã†ã“ã¨ãŒã§ãã¾ã™ï¼Žã¾
-ãŸï¼Œã€ŒFIX2LONG()ã€ã¯ä¾‹å¤–を発生ã—ã¾ã›ã‚“ãŒï¼Œã€ŒFIX2INT()ã€ã¯å¤‰
-æ›çµæžœãŒintã®ã‚µã‚¤ã‚ºã«åŽã¾ã‚‰ãªã„å ´åˆã«ã¯ä¾‹å¤–を発生ã—ã¾ã™ï¼Ž
-ãれã‹ã‚‰ï¼ŒFIXNUMã«é™ã‚‰ãšRubyã®ãƒ‡ãƒ¼ã‚¿ã‚’æ•´æ•°ã«å¤‰æ›ã™ã‚‹
-「NUM2INT()ã€ãŠã‚ˆã³ã€ŒNUM2LONG()ã€ã¨ã„ã†ãƒžã‚¯ãƒ­ãŒã‚りã¾ã™ï¼Žã“
-れらã®ãƒžã‚¯ãƒ­ã¯ãƒžã‚¯ãƒ­ã¯ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ã®ãƒã‚§ãƒƒã‚¯ç„¡ã—ã§ä½¿ãˆã¾ã™
-(æ•´æ•°ã«å¤‰æ›ã§ããªã„å ´åˆã«ã¯ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹)ï¼ŽåŒæ§˜ã«ãƒã‚§ãƒƒã‚¯ç„¡
-ã§ä½¿ãˆã‚‹å¤‰æ›ãƒžã‚¯ãƒ­ã¯doubleã‚’å–り出ã™ã€ŒNUM2DBL()ã€ãŒã‚りã¾ã™ï¼Ž
+1.3 VALUE¤òC¤Î¥Ç¡¼¥¿¤ËÊÑ´¹¤¹¤ë
-char* ã‚’å–り出ã™å ´åˆï¼Œ StringValue() 㨠StringValuePtr()
-を使ã„ã¾ã™ï¼Ž
-StringValue(var) 㯠var ㌠String
-ã§ã‚れã°ä½•ã‚‚ã›ãšï¼Œãã†ã§ãªã‘れ㰠var ã‚’ var.to_str() ã®çµæžœ
-ã«ç½®ãæ›ãˆã‚‹ãƒžã‚¯ãƒ­ï¼ŒStringValuePtr(var) ã¯åŒæ§˜ã« var ã‚’
-String ã«ç½®ãæ›ãˆã¦ã‹ã‚‰ var ã®ãƒã‚¤ãƒˆåˆ—表ç¾ã«å¯¾ã™ã‚‹ char* ã‚’
-è¿”ã™ãƒžã‚¯ãƒ­ã§ã™ï¼Žvar ã®å†…å®¹ã‚’ç›´æŽ¥ç½®ãæ›ãˆã‚‹å‡¦ç†ãŒå…¥ã‚‹ã®ã§ï¼Œ
-var 㯠lvalue ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ï¼Ž
-ã¾ãŸï¼ŒStringValuePtr() ã«é¡žä¼¼ã—㟠StringValueCStr() ã¨ã„ã†ãƒž
-クロもã‚りã¾ã™ï¼ŽStringValueCStr(var) 㯠var ã‚’ String ã«ç½®ã
-æ›ãˆã¦ã‹ã‚‰ var ã®æ–‡å­—列表ç¾ã«å¯¾ã™ã‚‹ char* ã‚’è¿”ã—ã¾ã™ï¼Žè¿”ã•れ
-ã‚‹æ–‡å­—åˆ—ã®æœ«å°¾ã«ã¯ nul 文字ãŒä»˜åŠ ã•れã¾ã™ï¼ŽãªãŠï¼Œé€”中㫠nul
-文字ãŒå«ã¾ã‚Œã‚‹å ´åˆã¯ ArgumentError ãŒç™ºç”Ÿã—ã¾ã™ï¼Ž
-一方,StringValuePtr() ã§ã¯ï¼Œæœ«å°¾ã« nul 文字ãŒã‚ã‚‹ä¿è¨¼ã¯ãªã,
-途中㫠nul 文字ãŒå«ã¾ã‚Œã¦ã„ã‚‹å¯èƒ½æ€§ã‚‚ã‚りã¾ã™ï¼Ž
+¥Ç¡¼¥¿¥¿¥¤¥×¤¬T_NIL, T_FALSE, T_TRUE¤Ç¤¢¤ë»þ¡¤¥Ç¡¼¥¿¤Ï¤½¤ì¤¾
+¤ìnil, false, true¤Ç¤¹¡¥¤³¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤Ò¤È
+¤Ä¤º¤Ä¤·¤«Â¸ºß¤·¤Þ¤»¤ó¡¥
-ãれ以外ã®ãƒ‡ãƒ¼ã‚¿ã‚¿ã‚¤ãƒ—ã¯å¯¾å¿œã™ã‚‹Cã®æ§‹é€ ä½“ãŒã‚りã¾ã™ï¼Žå¯¾å¿œã™
-る構造体ã®ã‚ã‚‹VALUEã¯ãã®ã¾ã¾ã‚­ãƒ£ã‚¹ãƒˆ(型変æ›)ã™ã‚Œã°æ§‹é€ ä½“ã®
-ãƒã‚¤ãƒ³ã‚¿ã«å¤‰æ›ã§ãã¾ã™ï¼Ž
+¥Ç¡¼¥¿¥¿¥¤¥×¤¬T_FIXNUM¤Î»þ¡¤¤³¤ì¤Ï31bit¤Î¥µ¥¤¥º¤ò»ý¤ÄÀ°¿ô¤Ç
+¤¹¡¥FIXNUM¤òC¤ÎÀ°¿ô¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Ë¤Ï¥Þ¥¯¥í¡ÖFIX2INT()¡×¤ò»È
+¤¤¤Þ¤¹¡¥¤½¤ì¤«¤é¡¤FIXNUM¤Ë¸Â¤é¤ºRuby¤Î¥Ç¡¼¥¿¤òÀ°¿ô¤ËÊÑ´¹¤¹¤ë
+¡ÖNUM2INT()¡×¤È¤¤¤¦¥Þ¥¯¥í¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¥Þ¥¯¥í¤Ï¥Ç¡¼¥¿¥¿¥¤
+¥×¤Î¥Á¥§¥Ã¥¯Ìµ¤·¤Ç»È¤¨¤Þ¤¹(À°¿ô¤ËÊÑ´¹¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤ÏÎã³°¤¬
+ȯÀ¸¤¹¤ë)¡¥Æ±Íͤ˥Á¥§¥Ã¥¯Ìµ¤·¤Ç»È¤¨¤ëÊÑ´¹¥Þ¥¯¥í¤Ïdouble¤ò
+¼è¤ê½Ð¤¹¡ÖNUM2DBL()¡×¤¬¤¢¤ê¤Þ¤¹¡£
-構造体ã¯ã€Œstruct RXxxxxã€ã¨ã„ã†åå‰ã§ruby.hã§å®šç¾©ã•れã¦ã„ã¾
-ã™ï¼Žä¾‹ãˆã°æ–‡å­—列ã¯ã€Œstruct RStringã€ã§ã™ï¼Žå®Ÿéš›ã«ä½¿ã†å¯èƒ½æ€§ãŒ
-ã‚ã‚‹ã®ã¯æ–‡å­—列ã¨é…列ãらã„ã ã¨æ€ã„ã¾ã™ï¼Ž
+char* ¤ò¼è¤ê½Ð¤¹¾ì¹ç¡¢version 1.6 °ÊÁ°¤Ç¤Ï¡ÖSTR2CSTR()¡×¤È
+¤¤¤¦¥Þ¥¯¥í¤ò»È¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤³¤ì¤Ï to_str() ¤Ë¤è¤ë°ÅÌÛ¤Î
+·¿ÊÑ´¹·ë²Ì¤¬ GC ¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢version 1.7 °Ê¹ß¤Ç¤Ï
+obsolete ¤È¤Ê¤ê¡¢Âå¤ï¤ê¤Ë StringValue() ¤È StringValuePtr()
+¤ò»È¤¦»ö¤ò¿ä¾©¤·¤Æ¤¤¤Þ¤¹¡£StringValue(var) ¤Ï var ¤¬ String
+ ¤Ç¤¢¤ì¤Ð²¿¤â¤»¤º¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð var ¤ò var.to_str() ¤Î·ë²Ì¤Ë
+ÃÖ¤­´¹¤¨¤ë¥Þ¥¯¥í¡¢StringValuePtr(var) ¤ÏƱÍÍ¤Ë var ¤òÃÖ¤­´¹¤¨
+¤Æ¤«¤é var ¤Îʸ»úÎóɽ¸½¤ËÂФ¹¤ë char* ¤òÊÖ¤¹¥Þ¥¯¥í¤Ç¤¹¡£var ¤Î
+ÆâÍÆ¤òľÀÜÃÖ¤­´¹¤¨¤ë½èÍý¤¬Æþ¤ë¤Î¤Ç¡¢var ¤Ï lvalue ¤Ç¤¢¤ëɬÍפ¬
+¤¢¤ê¤Þ¤¹¡£
-ruby.hã§ã¯æ§‹é€ ä½“ã¸ã‚­ãƒ£ã‚¹ãƒˆã™ã‚‹ãƒžã‚¯ãƒ­ã‚‚「RXXXXX()ã€(全部大文
-å­—ã«ã—ãŸã‚‚ã®)ã¨ã„ã†åå‰ã§æä¾›ã•れã¦ã„ã¾ã™(例: RSTRING()).ãŸ
-ã ã—ã€æ§‹é€ ä½“ã¸ã®ç›´æŽ¥ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯ã§ãã‚‹ã ã‘é¿ã‘,対応ã™ã‚‹
-rb_xxxx() ã¨ã„ã£ãŸé–¢æ•°ã‚’使ã†ã‚ˆã†ã«ã—ã¦ä¸‹ã•ã„.例ãˆã°ï¼Œé…列ã®
-è¦ç´ ã¸ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å ´åˆã¯ï¼Œrb_ary_entry(ary, offset),
-rb_ary_store(ary, offset, obj) を利用ã™ã‚‹ã‚ˆã†ã«ã—ã¦ä¸‹ã•ã„.
+¤½¤ì°Ê³°¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤ÏÂбþ¤¹¤ëC¤Î¹½Â¤ÂΤ¬¤¢¤ê¤Þ¤¹¡¥Âбþ¤¹
+¤ë¹½Â¤ÂΤΤ¢¤ëVALUE¤Ï¤½¤Î¤Þ¤Þ¥­¥ã¥¹¥È(·¿ÊÑ´¹)¤¹¤ì¤Ð¹½Â¤ÂΤÎ
+¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡¥
-構造体ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’å–り出ã™ãƒžã‚¯ãƒ­ãŒæä¾›ã•れã¦ã„ã¾ã™ï¼Žæ–‡å­—列
-strã®é•·ã•ã‚’å¾—ã‚‹ãŸã‚ã«ã¯ã€ŒRSTRING_LEN(str)ã€ã¨ã—,文字列strã‚’
-char*ã¨ã—ã¦å¾—ã‚‹ãŸã‚ã«ã¯ã€ŒRSTRING_PTR(str)ã€ã¨ã—ã¾ã™ï¼Ž
+¹½Â¤ÂΤϡÖstruct RXxxxx¡×¤È¤¤¤¦Ì¾Á°¤Çruby.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ
+¤¹¡¥Î㤨¤Ðʸ»úÎó¤Ï¡Östruct RString¡×¤Ç¤¹¡¥¼ÂºÝ¤Ë»È¤¦²ÄǽÀ­¤¬
+¤¢¤ë¤Î¤Ïʸ»úÎó¤ÈÇÛÎ󤯤餤¤À¤È»×¤¤¤Þ¤¹¡¥
-Rubyã®æ§‹é€ ä½“を直接アクセスã™ã‚‹æ™‚ã«æ°—ã‚’ã¤ã‘ãªã‘れã°ãªã‚‰ãªã„ã“
-ã¨ã¯ï¼Œé…åˆ—ã‚„æ–‡å­—åˆ—ã®æ§‹é€ ä½“ã®ä¸­èº«ã¯å‚ç…§ã™ã‚‹ã ã‘ã§ï¼Œç›´æŽ¥å¤‰æ›´ã—
-ãªã„ã“ã¨ã§ã™ï¼Žç›´æŽ¥å¤‰æ›´ã—ãŸå ´åˆï¼Œã‚ªãƒ–ジェクトã®å†…å®¹ã®æ•´åˆæ€§ãŒ
-ã¨ã‚Œãªããªã£ã¦ï¼Œæ€ã‚ã¬ãƒã‚°ã®åŽŸå› ã«ãªã‚Šã¾ã™ï¼Ž
+ruby.h¤Ç¤Ï¹½Â¤ÂΤإ­¥ã¥¹¥È¤¹¤ë¥Þ¥¯¥í¤â¡ÖRXXXXX()¡×(Á´ÉôÂçʸ
+»ú¤Ë¤·¤¿¤â¤Î)¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹(Îã: RSTRING())¡¥
-== Cã®ãƒ‡ãƒ¼ã‚¿ã‚’VALUEã«å¤‰æ›ã™ã‚‹
+Î㤨¤Ð¡¤Ê¸»úÎóstr¤ÎŤµ¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡ÖRSTRING(str)->len¡×¤È
+¤·¡¤Ê¸»úÎóstr¤òchar*¤È¤·¤ÆÆÀ¤ë¤¿¤á¤Ë¤Ï¡ÖRSTRING(str)->ptr¡×
+¤È¤·¤Þ¤¹¡¥ÇÛÎó¤Î¾ì¹ç¤Ë¤Ï¡¤¤½¤ì¤¾¤ì¡ÖRARRAY(ary)->len¡×¡¤
+¡ÖRARRAY(ary)->ptr¡×¤È¤Ê¤ê¤Þ¤¹¡¥
-VALUEã®å®Ÿéš›ã®æ§‹é€ ã¯
+Ruby¤Î¹½Â¤ÂΤòľÀÜ¥¢¥¯¥»¥¹¤¹¤ë»þ¤Ëµ¤¤ò¤Ä¤±¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³
+¤È¤Ï¡¤ÇÛÎó¤äʸ»úÎó¤Î¹½Â¤ÂΤÎÃæ¿È¤Ï»²¾È¤¹¤ë¤À¤±¤Ç¡¤Ä¾ÀÜÊѹ¹¤·
+¤Ê¤¤¤³¤È¤Ç¤¹¡¥Ä¾ÀÜÊѹ¹¤·¤¿¾ì¹ç¡¤¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆâÍÆ¤ÎÀ°¹çÀ­¤¬
+¤È¤ì¤Ê¤¯¤Ê¤Ã¤Æ¡¤»×¤ï¤Ì¥Ð¥°¤Î¸¶°ø¤Ë¤Ê¤ê¤Þ¤¹¡¥
-FIXNUMã®å ´åˆ ::
+1.4 C¤Î¥Ç¡¼¥¿¤òVALUE¤ËÊÑ´¹¤¹¤ë
- 1bit左シフトã—ã¦ï¼ŒLSBã‚’ç«‹ã¦ã‚‹ï¼Ž
+VALUE¤Î¼ÂºÝ¤Î¹½Â¤¤Ï
-ãã®ä»–ã®ãƒã‚¤ãƒ³ã‚¿ã®å ´åˆ ::
+ * FIXNUM¤Î¾ì¹ç
- ãã®ã¾ã¾VALUEã«ã‚­ãƒ£ã‚¹ãƒˆã™ã‚‹ï¼Ž
+ 1bitº¸¥·¥Õ¥È¤·¤Æ¡¤LSB¤òΩ¤Æ¤ë¡¥
-ã¨ãªã£ã¦ã„ã¾ã™ï¼Žã‚ˆã£ã¦ï¼ŒLSBã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚Œã°VALUEãŒFIXNUMã‹ã©
-ã†ã‹ã‚ã‹ã‚‹ã‚ã‘ã§ã™(ãƒã‚¤ãƒ³ã‚¿ã®LSBãŒç«‹ã£ã¦ã„ãªã„ã“ã¨ã‚’仮定ã—ã¦
-ã„ã‚‹).
+ * ¤½¤Î¾¤Î¥Ý¥¤¥ó¥¿¤Î¾ì¹ç
-ã§ã™ã‹ã‚‰ï¼ŒFIXNUM以外ã®Rubyã®ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æ§‹é€ ä½“ã¯å˜ã«VALUE
-ã«ã‚­ãƒ£ã‚¹ãƒˆã™ã‚‹ã ã‘ã§VALUEã«å¤‰æ›å‡ºæ¥ã¾ã™ï¼ŽãŸã ã—,任æ„ã®æ§‹é€ 
-体ãŒVALUEã«ã‚­ãƒ£ã‚¹ãƒˆå‡ºæ¥ã‚‹ã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“.キャストã™ã‚‹ã®
-ã¯Rubyã®çŸ¥ã£ã¦ã„る構造体(ruby.hã§å®šç¾©ã•れã¦ã„ã‚‹struct RXxxx
-ã®ã‚‚ã®)ã ã‘ã§ã™ï¼Ž
+ ¤½¤Î¤Þ¤ÞVALUE¤Ë¥­¥ã¥¹¥È¤¹¤ë¡¥
-FIXNUMã«é–¢ã—ã¦ã¯å¤‰æ›ãƒžã‚¯ãƒ­ã‚’経由ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ï¼ŽCã®æ•´æ•°
-ã‹ã‚‰VALUEã«å¤‰æ›ã™ã‚‹ãƒžã‚¯ãƒ­ã¯ä»¥ä¸‹ã®ã‚‚ã®ãŒã‚りã¾ã™ï¼Žå¿…è¦ã«å¿œã˜
-ã¦ä½¿ã„分ã‘ã¦ãã ã•ã„.
+¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥¤è¤Ã¤Æ¡¤LSB¤ò¥Á¥§¥Ã¥¯¤¹¤ì¤ÐVALUE¤¬FIXNUM¤«¤É
+¤¦¤«¤ï¤«¤ë¤ï¤±¤Ç¤¹(¥Ý¥¤¥ó¥¿¤ÎLSB¤¬Î©¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò²¾Äꤷ¤Æ
+¤¤¤ë)¡¥
-INT2FIX() :: ã‚‚ã¨ã®æ•´æ•°ãŒ31bitã¾ãŸã¯63bit以内ã«åŽã¾ã‚‹è‡ªä¿¡
- ãŒã‚る時
-INT2NUM() :: ä»»æ„ã®æ•´æ•°ã‹ã‚‰VALUEã¸
+¤Ç¤¹¤«¤é¡¤FIXNUM°Ê³°¤ÎRuby¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤ÂΤÏñ¤ËVALUE
+¤Ë¥­¥ã¥¹¥È¤¹¤ë¤À¤±¤ÇVALUE¤ËÊÑ´¹½ÐÍè¤Þ¤¹¡¥¤¿¤À¤·¡¤Ç¤°Õ¤Î¹½Â¤
+ÂΤ¬VALUE¤Ë¥­¥ã¥¹¥È½ÐÍè¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¥­¥ã¥¹¥È¤¹¤ë¤Î
+¤ÏRuby¤ÎÃΤäƤ¤¤ë¹½Â¤ÂÎ(ruby.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëstruct RXxxx
+¤Î¤â¤Î)¤À¤±¤Ç¤¹¡¥
-INT2NUM()ã¯æ•´æ•°ãŒFIXNUMã®ç¯„囲ã«åŽã¾ã‚‰ãªã„å ´åˆï¼ŒBignumã«å¤‰æ›
-ã—ã¦ãれã¾ã™(ãŒï¼Œå°‘ã—é…ã„).
+FIXNUM¤Ë´Ø¤·¤Æ¤ÏÊÑ´¹¥Þ¥¯¥í¤ò·Ðͳ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥C¤ÎÀ°¿ô
+¤«¤éVALUE¤ËÊÑ´¹¤¹¤ë¥Þ¥¯¥í¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥É¬Íפ˱þ¤¸
+¤Æ»È¤¤Ê¬¤±¤Æ¤¯¤À¤µ¤¤¡¥
-== Rubyã®ãƒ‡ãƒ¼ã‚¿ã‚’æ“作ã™ã‚‹
+ INT2FIX() ¤â¤È¤ÎÀ°¿ô¤¬31bit°ÊÆâ¤Ë¼ý¤Þ¤ë¼«¿®¤¬¤¢¤ë»þ
+ INT2NUM() Ǥ°Õ¤ÎÀ°¿ô¤«¤éVALUE¤Ø
-先程も述ã¹ãŸé€šã‚Šï¼ŒRubyã®æ§‹é€ ä½“をアクセスã™ã‚‹æ™‚ã«å†…å®¹ã®æ›´æ–°ã‚’
-行ã†ã“ã¨ã¯å‹§ã‚られã¾ã›ã‚“.ã§ï¼ŒRubyã®ãƒ‡ãƒ¼ã‚¿ã‚’æ“作ã™ã‚‹æ™‚ã«ã¯
-RubyãŒç”¨æ„ã—ã¦ã„る関数を用ã„ã¦ãã ã•ã„.
+INT2NUM()¤ÏÀ°¿ô¤¬FIXNUM¤ÎÈϰϤ˼ý¤Þ¤é¤Ê¤¤¾ì¹ç¡¤Bignum¤ËÊÑ´¹
+¤·¤Æ¤¯¤ì¤Þ¤¹(¤¬¡¤¾¯¤·ÃÙ¤¤)¡¥
-ã“ã“ã§ã¯ã‚‚ã£ã¨ã‚‚使ã‚れるã§ã‚ã‚ã†æ–‡å­—列ã¨é…列ã®ç”Ÿæˆ/æ“作を行
-ã†é–¢æ•°ã‚’ã‚ã’ã¾ã™(全部ã§ã¯ãªã„ã§ã™).
+1.5 Ruby¤Î¥Ç¡¼¥¿¤òÁàºî¤¹¤ë
-=== 文字列ã«å¯¾ã™ã‚‹é–¢æ•°
+ÀèÄø¤â½Ò¤Ù¤¿Ä̤ꡤRuby¤Î¹½Â¤ÂΤò¥¢¥¯¥»¥¹¤¹¤ë»þ¤ËÆâÍÆ¤Î¹¹¿·¤ò
+¹Ô¤¦¤³¤È¤Ï´«¤á¤é¤ì¤Þ¤»¤ó¡¥¤Ç¡¤Ruby¤Î¥Ç¡¼¥¿¤òÁàºî¤¹¤ë»þ¤Ë¤Ï
+Ruby¤¬ÍѰդ·¤Æ¤¤¤ë´Ø¿ô¤òÍѤ¤¤Æ¤¯¤À¤µ¤¤¡¥
-rb_str_new(const char *ptr, long len) ::
+¤³¤³¤Ç¤Ï¤â¤Ã¤È¤â»È¤ï¤ì¤ë¤Ç¤¢¤í¤¦Ê¸»úÎó¤ÈÇÛÎó¤ÎÀ¸À®/Áàºî¤ò¹Ô
+¤¤´Ø¿ô¤ò¤¢¤²¤Þ¤¹(Á´Éô¤Ç¤Ï¤Ê¤¤¤Ç¤¹)¡¥
- æ–°ã—ã„Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+ ʸ»úÎó¤ËÂФ¹¤ë´Ø¿ô
-rb_str_new2(const char *ptr)
-rb_str_new_cstr(const char *ptr)
+ rb_str_new(const char *ptr, long len)
- Cã®æ–‡å­—列ã‹ã‚‰Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Žã“ã®é–¢æ•°ã®æ©Ÿèƒ½ã¯
- rb_str_new(ptr, strlen(ptr))ã¨åŒç­‰ã§ã‚る.
+ ¿·¤·¤¤Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥
-rb_tainted_str_new(const char *ptr, long len)
+ rb_str_new2(const char *ptr)
- 汚染マークãŒä»˜åŠ ã•ã‚ŒãŸæ–°ã—ã„Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Žå¤–部
- ã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã«åŸºã¥ã文字列ã«ã¯æ±šæŸ“マークãŒä»˜åŠ ã•れるã¹ã
- ã§ã‚る.
+ C¤Îʸ»úÎ󤫤éRuby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥¤³¤Î´Ø¿ô¤Îµ¡Ç½¤Ï
+ rb_str_new(ptr, strlen(ptr))¤ÈƱÅù¤Ç¤¢¤ë¡¥
-rb_tainted_str_new2(const char *ptr)
-rb_tainted_str_new_cstr(const char *ptr)
+ rb_tainted_str_new(const char *ptr, long len)
- Cã®æ–‡å­—列ã‹ã‚‰æ±šæŸ“マークãŒä»˜åŠ ã•れãŸRubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+ ±øÀ÷¥Þ¡¼¥¯¤¬Éղ䵤줿¿·¤·¤¤Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥³°Éô
+ ¤«¤é¤Î¥Ç¡¼¥¿¤Ë´ð¤Å¤¯Ê¸»úÎó¤Ë¤Ï±øÀ÷¥Þ¡¼¥¯¤¬Éղ䵤ì¤ë¤Ù¤­
+ ¤Ç¤¢¤ë¡¥
-rb_sprintf(const char *format, ...)
-rb_vsprintf(const char *format, va_list ap)
+ rb_tainted_str_new2(const char *ptr)
- Cã®æ–‡å­—列formatã¨ç¶šã引数をprintf(3)ã®ãƒ•ォーマットã«ã—ãŸãŒã£ã¦
- æ•´å½¢ã—,Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+ C¤Îʸ»úÎ󤫤鱸À÷¥Þ¡¼¥¯¤¬Éղ䵤줿Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥
- 注æ„: %iã¯Object#to_s('+'ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹ã¨ãã¯Object#inspect)ã‚’
- 使ã£ãŸVALUEã®å‡ºåŠ›ã«ä½¿ç”¨ã•れã¦ã„ã‚‹ãŸã‚,整数ã«ã¯%dを使用ã™ã‚‹ã“ã¨ï¼Ž
+ rb_str_cat(VALUE str, const char *ptr, long len)
-rb_str_cat(VALUE str, const char *ptr, long len)
+ Ruby¤Îʸ»úÎóstr¤Ëlen¥Ð¥¤¥È¤Îʸ»úÎóptr¤òÄɲ乤롥
- Rubyã®æ–‡å­—列strã«lenãƒã‚¤ãƒˆã®æ–‡å­—列ptrを追加ã™ã‚‹ï¼Ž
+ ÇÛÎó¤ËÂФ¹¤ë´Ø¿ô
-rb_str_cat2(VALUE str, const char* ptr)
+ rb_ary_new()
- Rubyã®æ–‡å­—列strã«Cã®æ–‡å­—列ptrを追加ã™ã‚‹ï¼Žã“ã®é–¢æ•°ã®æ©Ÿèƒ½ã¯
- rb_str_cat(str, ptr, strlen(ptr))ã¨åŒç­‰ã§ã‚る.
+ Í×ÁǤ¬0¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-rb_str_catf(VALUE str, const char* format, ...)
-rb_str_vcatf(VALUE str, const char* format, va_list ap)
+ rb_ary_new2(long len)
- Cã®æ–‡å­—列formatã¨ç¶šã引数をprintf(3)ã®ãƒ•ォーマットã«ã—ãŸãŒã£ã¦
- æ•´å½¢ã—,Rubyã®æ–‡å­—列strã«è¿½åŠ ã™ã‚‹ï¼Žã“ã®é–¢æ•°ã®æ©Ÿèƒ½ã¯ï¼Œãれãžã‚Œ
- rb_str_cat2(str, rb_sprintf(format, ...)) ã‚„
- rb_str_cat2(str, rb_vsprintf(format, ap)) ã¨åŒç­‰ã§ã‚る.
+ Í×ÁǤ¬0¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥lenÍ×ÁÇʬ¤ÎÎΰè¤ò¤¢¤é¤«¤¸¤á³ä¤ê
+ Åö¤Æ¤Æ¤ª¤¯¡¥
-rb_enc_str_new(const char *ptr, long len, rb_encoding *enc)
-rb_enc_str_new_cstr(const char *ptr, rb_encoding *enc)
+ rb_ary_new3(long n, ...)
- 指定ã•れãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§Rubyã®æ–‡å­—列を生æˆã™ã‚‹.
+ °ú¿ô¤Ç»ØÄꤷ¤¿nÍ×ÁǤò´Þ¤àÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-rb_usascii_str_new(const char *ptr, long len)
-rb_usascii_str_new_cstr(const char *ptr)
+ rb_ary_new4(long n, VALUE *elts)
- エンコーディングãŒUS-ASCIIã®Rubyã®æ–‡å­—列を生æˆã™ã‚‹.
+ ÇÛÎó¤ÇÍ¿¤¨¤¿nÍ×ÁǤÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-rb_str_resize(VALUE str, long len)
+ rb_ary_push(VALUE ary, VALUE val)
+ rb_ary_pop(VALUE ary)
+ rb_ary_shift(VALUE ary)
+ rb_ary_unshift(VALUE ary, VALUE val)
- Rubyã®æ–‡å­—列ã®ã‚µã‚¤ã‚ºã‚’lenãƒã‚¤ãƒˆã«å¤‰æ›´ã™ã‚‹ï¼Žstrã®é•·ã•ã¯å‰
- 以ã¦ã‚»ãƒƒãƒˆã•れã¦ã„ãªã‘れã°ãªã‚‰ãªã„.lenãŒå…ƒã®é•·ã•よりも短
- ã„æ™‚ã¯ï¼Œlenãƒã‚¤ãƒˆã‚’è¶ŠãˆãŸéƒ¨åˆ†ã®å†…å®¹ã¯æ¨ã¦ã‚‰ã‚Œã‚‹ï¼ŽlenãŒå…ƒ
- ã®é•·ã•ã‚ˆã‚Šã‚‚é•·ã„æ™‚ã¯ï¼Œå…ƒã®é•·ã•ã‚’è¶ŠãˆãŸéƒ¨åˆ†ã®å†…容ã¯ä¿å­˜ã•
- れãªã„ã§ã‚´ãƒŸã«ãªã‚‹ã ã‚ã†ï¼Žã“ã®é–¢æ•°ã®å‘¼ã³å‡ºã—ã«ã‚ˆã£ã¦
- RSTRING_PTR(str)ãŒå¤‰æ›´ã•れるã‹ã‚‚ã—れãªã„ã“ã¨ã«æ³¨æ„.
+ Array¤ÎƱ̾¤Î¥á¥½¥Ã¥É¤ÈƱ¤¸Æ¯¤­¤ò¤¹¤ë´Ø¿ô¡¥Âè1°ú¿ô¤Ïɬ¤º
+ ÇÛÎó¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥
-rb_str_set_len(VALUE str, long len)
+2¡¥Ruby¤Îµ¡Ç½¤ò»È¤¦
- Rubyã®æ–‡å­—列ã®ã‚µã‚¤ã‚ºã‚’lenãƒã‚¤ãƒˆã«ã‚»ãƒƒãƒˆã™ã‚‹ï¼ŽstrãŒå¤‰æ›´å¯
- 能ã§ãªã‘れã°ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹ï¼ŽRSTRING_LEN(str)ã¨ã¯ç„¡é–¢ä¿‚ã«ï¼Œ
- lenãƒã‚¤ãƒˆã¾ã§ã®å†…容ã¯ä¿å­˜ã•れる.lenã¯strã®å®¹é‡ã‚’è¶Šãˆã¦ã„
- ã¦ã¯ãªã‚‰ãªã„.
+¸¶ÍýŪ¤ËRuby¤Ç½ñ¤±¤ë¤³¤È¤ÏC¤Ç¤â½ñ¤±¤Þ¤¹¡¥Ruby¤½¤Î¤â¤Î¤¬C¤Çµ­
+½Ò¤µ¤ì¤Æ¤¤¤ë¤ó¤Ç¤¹¤«¤é¡¤ÅöÁ³¤È¤¤¤¨¤ÐÅöÁ³¤Ê¤ó¤Ç¤¹¤±¤É¡¥¤³¤³¤Ç
+¤ÏRuby¤Î³ÈÄ¥¤Ë»È¤¦¤³¤È¤¬Â¿¤¤¤À¤í¤¦¤Èͽ¬¤µ¤ì¤ëµ¡Ç½¤òÃæ¿´¤Ë¾Ò
+²ð¤·¤Þ¤¹¡¥
+2.1 Ruby¤Ëµ¡Ç½¤òÄɲ乤ë
-== é…列ã«å¯¾ã™ã‚‹é–¢æ•°
+Ruby¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë´Ø¿ô¤ò»È¤¨¤ÐRuby¥¤¥ó¥¿¥×¥ê¥¿¤Ë¿·¤·¤¤µ¡Ç½
+¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡¥Ruby¤Ç¤Ï°Ê²¼¤Îµ¡Ç½¤òÄɲä¹¤ë´Ø¿ô¤¬
+Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
-rb_ary_new()
+ * ¥¯¥é¥¹¡¤¥â¥¸¥å¡¼¥ë
+ * ¥á¥½¥Ã¥É¡¤ÆÃ°Û¥á¥½¥Ã¥É¤Ê¤É
+ * Äê¿ô
- è¦ç´ ãŒ0ã®é…列を生æˆã™ã‚‹ï¼Ž
+¤Ç¤Ï½ç¤Ë¾Ò²ð¤·¤Þ¤¹¡¥
-rb_ary_new2(long len)
-rb_ary_new_capa(long len)
+2.1.1 ¥¯¥é¥¹/¥â¥¸¥å¡¼¥ëÄêµÁ
- è¦ç´ ãŒ0ã®é…列を生æˆã™ã‚‹ï¼Žlenè¦ç´ åˆ†ã®é ˜åŸŸã‚’ã‚らã‹ã˜ã‚割り
- 当ã¦ã¦ãŠã.
-
-rb_ary_new3(long n, ...)
-rb_ary_new_from_args(long n, ...)
-
- å¼•æ•°ã§æŒ‡å®šã—ãŸnè¦ç´ ã‚’å«ã‚€é…列を生æˆã™ã‚‹ï¼Ž
-
-rb_ary_new4(long n, VALUE *elts)
-rb_ary_new_from_values(long n, VALUE *elts)
-
- é…列ã§ä¸ŽãˆãŸnè¦ç´ ã®é…列を生æˆã™ã‚‹ï¼Ž
-
-rb_ary_to_ary(VALUE obj)
-
- オブジェクトをé…列ã«å¤‰æ›ã™ã‚‹.
- Object#to_aryã¨åŒç­‰ã§ã‚ã‚‹.
-
-ä»–ã«ã‚‚é…列をæ“作ã™ã‚‹é–¢æ•°ãŒå¤šæ•°ã‚ã‚‹. ã“れらã¯
-引数aryã«é…列を渡ã•ãªã‘れã°ãªã‚‰ãªã„. ã•ã‚‚ãªã„ã¨
-コアをåã.
-
-rb_ary_aref(argc, VALUE *argv, VALUE ary)
-
- Array#[]ã¨åŒç­‰.
-
-rb_ary_entry(VALUE ary, long offset)
-
- ary[offset]
-
-rb_ary_store(VALUE ary, long offset, VALUE obj) ::
-
- ary[offset] = obj
-
-rb_ary_subseq(VALUE ary, long beg, long len)
-
- ary[beg, len]
-
-rb_ary_push(VALUE ary, VALUE val)
-rb_ary_pop(VALUE ary)
-rb_ary_shift(VALUE ary)
-rb_ary_unshift(VALUE ary, VALUE val)
-
-rb_ary_cat(VALUE ary, const VALUE *ptr, long len)
-
- é…列aryã«ptrã‹ã‚‰len個ã®ã‚ªãƒ–ジェクトを追加ã™ã‚‹ï¼Ž
-
-= Rubyã®æ©Ÿèƒ½ã‚’使ã†
-
-原ç†çš„ã«Rubyã§æ›¸ã‘ã‚‹ã“ã¨ã¯Cã§ã‚‚書ã‘ã¾ã™ï¼ŽRubyãã®ã‚‚ã®ãŒCã§è¨˜
-è¿°ã•れã¦ã„ã‚‹ã‚“ã§ã™ã‹ã‚‰ï¼Œå½“ç„¶ã¨ã„ãˆã°å½“ç„¶ãªã‚“ã§ã™ã‘ã©ï¼Žã“ã“ã§
-ã¯Rubyã®æ‹¡å¼µã«ä½¿ã†ã“ã¨ãŒå¤šã„ã ã‚ã†ã¨äºˆæ¸¬ã•れる機能を中心ã«ç´¹
-介ã—ã¾ã™ï¼Ž
-
-== Rubyã«æ©Ÿèƒ½ã‚’追加ã™ã‚‹
-
-Rubyã§æä¾›ã•れã¦ã„る関数を使ãˆã°Rubyã‚¤ãƒ³ã‚¿ãƒ—ãƒªã‚¿ã«æ–°ã—ã„æ©Ÿèƒ½
-を追加ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼ŽRubyã§ã¯ä»¥ä¸‹ã®æ©Ÿèƒ½ã‚’追加ã™ã‚‹é–¢æ•°ãŒ
-æä¾›ã•れã¦ã„ã¾ã™ï¼Ž
-
-* クラス,モジュール
-* メソッド,特異メソッドãªã©
-* 定数
-
-ã§ã¯é †ã«ç´¹ä»‹ã—ã¾ã™ï¼Ž
-
-=== クラス/モジュール定義
-
-クラスやモジュールを定義ã™ã‚‹ãŸã‚ã«ã¯ï¼Œä»¥ä¸‹ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+¥¯¥é¥¹¤ä¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤¹¤ë¤¿¤á¤Ë¤Ï¡¤°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
VALUE rb_define_class(const char *name, VALUE super)
VALUE rb_define_module(const char *name)
-ã“れらã®é–¢æ•°ã¯æ–°ã—ã定義ã•れãŸã‚¯ãƒ©ã‚¹ã‚„モジュールを返ã—ã¾ã™ï¼Ž
-メソッドや定数ã®å®šç¾©ã«ã“れらã®å€¤ãŒå¿…è¦ãªã®ã§ï¼Œã»ã¨ã‚“ã©ã®å ´åˆ
-ã¯æˆ»ã‚Šå€¤ã‚’å¤‰æ•°ã«æ ¼ç´ã—ã¦ãŠãå¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ï¼Ž
+¤³¤ì¤é¤Î´Ø¿ô¤Ï¿·¤·¤¯ÄêµÁ¤µ¤ì¤¿¥¯¥é¥¹¤ä¥â¥¸¥å¡¼¥ë¤òÊÖ¤·¤Þ¤¹¡¥
+¥á¥½¥Ã¥É¤äÄê¿ô¤ÎÄêµÁ¤Ë¤³¤ì¤é¤ÎÃͤ¬É¬ÍפʤΤǡ¤¤Û¤È¤ó¤É¤Î¾ì¹ç
+¤ÏÌá¤êÃͤòÊÑ¿ô¤Ë³ÊǼ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡¥
-クラスやモジュールを他ã®ã‚¯ãƒ©ã‚¹ã®å†…部ã«ãƒã‚¹ãƒˆã—ã¦å®šç¾©ã™ã‚‹æ™‚ã«
-ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+¥¯¥é¥¹¤ä¥â¥¸¥å¡¼¥ë¤ò¾¤Î¥¯¥é¥¹¤ÎÆâÉô¤Ë¥Í¥¹¥È¤·¤ÆÄêµÁ¤¹¤ë»þ¤Ë
+¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)
VALUE rb_define_module_under(VALUE outer, const char *name)
-=== メソッド/特異メソッド定義
-
-メソッドや特異メソッドを定義ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+2.1.2 ¥á¥½¥Ã¥É/ÆÃ°Û¥á¥½¥Ã¥ÉÄêµÁ
- void rb_define_method(VALUE klass, const char *name,
- VALUE (*func)(), int argc)
+¥á¥½¥Ã¥É¤äÆÃ°Û¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¤Ë¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
- void rb_define_singleton_method(VALUE object, const char *name,
- VALUE (*func)(), int argc)
+ void rb_define_method(VALUE klass, const char *name,
+ VALUE (*func)(), int argc)
+ void rb_define_singleton_method(VALUE object, const char *name,
+ VALUE (*func)(), int argc)
-念ã®ãŸã‚説明ã™ã‚‹ã¨ã€Œç‰¹ç•°ãƒ¡ã‚½ãƒƒãƒ‰ã€ã¨ã¯ï¼Œãã®ç‰¹å®šã®ã‚ªãƒ–ジェク
-トã«å¯¾ã—ã¦ã ã‘有効ãªãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ï¼ŽRubyã§ã¯ã‚ˆãSmalltalkã«ãŠ
-ã‘るクラスメソッドã¨ã—ã¦ï¼Œã‚¯ãƒ©ã‚¹ã«å¯¾ã™ã‚‹ç‰¹ç•°ãƒ¡ã‚½ãƒƒãƒ‰ãŒä½¿ã‚れ
-ã¾ã™ï¼Ž
-
-ã“れらã®é–¢æ•°ã® argcã¨ã„ã†å¼•æ•°ã¯Cã®é–¢æ•°ã¸æ¸¡ã•ã‚Œã‚‹å¼•æ•°ã®æ•°(ã¨
-å½¢å¼)を決ã‚ã¾ã™ï¼ŽargcãŒ0ä»¥ä¸Šã®æ™‚ã¯é–¢æ•°ã«å¼•ãæ¸¡ã™å¼•æ•°ã®æ•°ã‚’æ„
-味ã—ã¾ã™ï¼Ž16個以上ã®å¼•æ•°ã¯ä½¿ãˆã¾ã›ã‚“(ãŒï¼Œè¦ã‚Šã¾ã›ã‚“よã­ï¼Œã
-ã‚“ãªã«).実際ã®é–¢æ•°ã«ã¯å…ˆé ­ã®å¼•æ•°ã¨ã—ã¦selfãŒä¸Žãˆã‚‰ã‚Œã¾ã™ã®
-ã§ï¼ŒæŒ‡å®šã—ãŸæ•°ã‚ˆã‚Š1多ã„引数をæŒã¤ã“ã¨ã«ãªã‚Šã¾ã™ï¼Ž
-argcãŒè² ã®æ™‚ã¯å¼•æ•°ã®æ•°ã§ã¯ãªã,形å¼ã‚’指定ã—ãŸã“ã¨ã«ãªã‚Šã¾ã™ï¼Ž
-argcãŒ-1ã®æ™‚ã¯å¼•æ•°ã‚’é…列ã«å…¥ã‚Œã¦æ¸¡ã•れã¾ã™ï¼ŽargcãŒ-2ã®æ™‚ã¯å¼•
-æ•°ã¯Rubyã®é…列ã¨ã—ã¦æ¸¡ã•れã¾ã™ï¼Ž
+ǰ¤Î¤¿¤áÀâÌÀ¤¹¤ë¤È¡ÖÆÃ°Û¥á¥½¥Ã¥É¡×¤È¤Ï¡¤¤½¤ÎÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯
+¥È¤ËÂФ·¤Æ¤À¤±Í­¸ú¤Ê¥á¥½¥Ã¥É¤Ç¤¹¡¥Ruby¤Ç¤Ï¤è¤¯Smalltalk¤Ë¤ª
+¤±¤ë¥¯¥é¥¹¥á¥½¥Ã¥É¤È¤·¤Æ¡¤¥¯¥é¥¹¤ËÂФ¹¤ëÆÃ°Û¥á¥½¥Ã¥É¤¬»È¤ï¤ì
+¤Þ¤¹¡¥
-メソッドを定義ã™ã‚‹é–¢æ•°ã¯ã¾ã ã„ãã¤ã‹ã‚りã¾ã™. ã²ã¨ã¤ã¯ãƒ¡ã‚½ãƒƒãƒ‰
-åã¨ã—ã¦IDã‚’å–りã¾ã™. IDã«ã¤ã„ã¦ã¯2.2.2ã‚’å‚ç…§.
+¤³¤ì¤é¤Î´Ø¿ô¤Î argc¤È¤¤¤¦°ú¿ô¤ÏC¤Î´Ø¿ô¤ØÅϤµ¤ì¤ë°ú¿ô¤Î¿ô(¤È
+·Á¼°)¤ò·è¤á¤Þ¤¹¡¥argc¤¬0°Ê¾å¤Î»þ¤Ï´Ø¿ô¤Ë°ú¤­ÅϤ¹°ú¿ô¤Î¿ô¤ò°Õ
+Ì£¤·¤Þ¤¹¡¥16¸Ä°Ê¾å¤Î°ú¿ô¤Ï»È¤¨¤Þ¤»¤ó(¤¬¡¤Íפê¤Þ¤»¤ó¤è¤Í¡¤¤½
+¤ó¤Ê¤Ë)¡¥¼ÂºÝ¤Î´Ø¿ô¤Ë¤ÏÀèÆ¬¤Î°ú¿ô¤È¤·¤Æself¤¬Í¿¤¨¤é¤ì¤Þ¤¹¤Î
+¤Ç¡¤»ØÄꤷ¤¿¿ô¤è¤ê1¿¤¤°ú¿ô¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥
- void rb_define_method_id(VALUE klass, ID name,
- VALUE (*func)(ANYARGS), int argc)
+argc¤¬Éé¤Î»þ¤Ï°ú¿ô¤Î¿ô¤Ç¤Ï¤Ê¤¯¡¤·Á¼°¤ò»ØÄꤷ¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥
+argc¤¬-1¤Î»þ¤Ï°ú¿ô¤òÇÛÎó¤ËÆþ¤ì¤ÆÅϤµ¤ì¤Þ¤¹¡¥argc¤¬-2¤Î»þ¤Ï°ú
+¿ô¤ÏRuby¤ÎÇÛÎó¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡¥
-private/protectedãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’定義ã™ã‚‹ãµãŸã¤ã®é–¢æ•°ãŒã‚りã¾ã™.
+¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ï¤â¤¦Æó¤Ä¤¢¤ê¤Þ¤¹¡¥¤Ò¤È¤Ä¤Ïprivate¥á
+¥½¥Ã¥É¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ç¡¤°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¤Ç¤¹¡¥
- void rb_define_private_method(VALUE klass, const char *name,
+ void rb_define_private_method(VALUE klass, const char *name,
VALUE (*func)(), int argc)
- void rb_define_protected_method(VALUE klass, const char *name,
- VALUE (*func)(), int argc)
-privateメソッドã¨ã¯é–¢æ•°å½¢å¼ã§ã—ã‹å‘¼ã³å‡ºã™ã“ã¨ã®å‡ºæ¥ãªã„メソッ
-ドã§ã™ï¼Ž
+private¥á¥½¥Ã¥É¤È¤Ï´Ø¿ô·Á¼°¤Ç¤·¤«¸Æ¤Ó½Ð¤¹¤³¤È¤Î½ÐÍè¤Ê¤¤¥á¥½¥Ã
+¥É¤Ç¤¹¡¥
-最後ã«ï¼Œ rb_define_module関数ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«é–¢æ•°ã‚’定義ã—ã¾ã™ï¼Ž
-モジュール関数ã¨ã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ç‰¹ç•°ãƒ¡ã‚½ãƒƒãƒ‰ã§ã‚ã‚Šï¼ŒåŒæ™‚ã«
-privateメソッドã§ã‚‚ã‚ã‚‹ã‚‚ã®ã§ã™ï¼Žä¾‹ã‚’ã‚ã’ã‚‹ã¨Mathモジュール
-ã®sqrt()ãªã©ãŒã‚ã’られã¾ã™ï¼Žã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯
+¤â¤¦¤Ò¤È¤Ä¤Ï¥â¥¸¥å¡¼¥ë´Ø¿ô¤òÄêµÁ¤¹¤ë¤â¤Î¤Ç¤¹¡¥¥â¥¸¥å¡¼¥ë´Ø¿ô
+¤È¤Ï¥â¥¸¥å¡¼¥ë¤ÎÆÃ°Û¥á¥½¥Ã¥É¤Ç¤¢¤ê¡¤Æ±»þ¤Ëprivate¥á¥½¥Ã¥É¤Ç
+¤â¤¢¤ë¤â¤Î¤Ç¤¹¡¥Îã¤ò¤¢¤²¤ë¤ÈMath¥â¥¸¥å¡¼¥ë¤Îsqrt()¤Ê¤É¤¬¤¢¤²
+¤é¤ì¤Þ¤¹¡¥¤³¤Î¥á¥½¥Ã¥É¤Ï
Math.sqrt(4)
-ã¨ã„ã†å½¢å¼ã§ã‚‚
+¤È¤¤¤¦·Á¼°¤Ç¤â
include Math
sqrt(4)
-ã¨ã„ã†å½¢å¼ã§ã‚‚使ãˆã¾ã™ï¼Žãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«é–¢æ•°ã‚’定義ã™ã‚‹é–¢æ•°ã¯ä»¥ä¸‹ã®
-通りã§ã™ï¼Ž
+¤È¤¤¤¦·Á¼°¤Ç¤â»È¤¨¤Þ¤¹¡¥¥â¥¸¥å¡¼¥ë´Ø¿ô¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ï°Ê²¼¤Î
+Ä̤ê¤Ç¤¹¡¥
- void rb_define_module_function(VALUE module, const char *name,
+ void rb_define_module_function(VALUE module, const char *name,
VALUE (*func)(), int argc)
-関数的メソッド(Kernelモジュールã®private method)を定義ã™ã‚‹ãŸ
-ã‚ã®é–¢æ•°ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼Ž
+´Ø¿ôŪ¥á¥½¥Ã¥É(Kernel¥â¥¸¥å¡¼¥ë¤Îprivate method)¤òÄêµÁ¤¹¤ë¤¿
+¤á¤Î´Ø¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥
void rb_define_global_function(const char *name, VALUE (*func)(), int argc)
-メソッドã®åˆ¥åを定義ã™ã‚‹ãŸã‚ã®é–¢æ•°ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼Ž
+¥á¥½¥Ã¥É¤ÎÊÌ̾¤òÄêµÁ¤¹¤ë¤¿¤á¤Î´Ø¿ô¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
void rb_define_alias(VALUE module, const char* new, const char* old);
-属性ã®å–得・設定メソッドを定義ã™ã‚‹ã«ã¯
-
- void rb_define_attr(VALUE klass, const char *name, int read, int write)
-
-クラスメソッドallocateを定義ã—ãŸã‚Šå‰Šé™¤ã—ãŸã‚Šã™ã‚‹ãŸã‚ã®é–¢æ•°ã¯
-以下ã®é€šã‚Šã§ã™ï¼Ž
+¥¯¥é¥¹¥á¥½¥Ã¥Éallocate¤òÄêµÁ¤·¤¿¤êºï½ü¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î´Ø¿ô¤Ï
+°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
void rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE klass));
void rb_undef_alloc_func(VALUE klass);
-funcã¯ã‚¯ãƒ©ã‚¹ã‚’引数ã¨ã—ã¦å—ã‘å–ã£ã¦ï¼Œæ–°ã—ã割り当ã¦ã‚‰ã‚ŒãŸã‚¤ãƒ³
-スタンスを返ã•ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“.ã“ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ï¼Œå¤–部リ
-ソースãªã©ã‚’å«ã¾ãªã„,ã§ãã‚‹ã ã‘「空ã€ã®ã¾ã¾ã«ã—ã¦ãŠã„ãŸã»ã†
-ãŒã‚ˆã„ã§ã—ょã†ï¼Ž
+func¤Ï¥¯¥é¥¹¤ò°ú¿ô¤È¤·¤Æ¼õ¤±¼è¤Ã¤Æ¡¢¿·¤·¤¯³ä¤êÅö¤Æ¤é¤ì¤¿¥¤¥ó
+¥¹¥¿¥ó¥¹¤òÊÖ¤µ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢³°Éô¥ê
+¥½¡¼¥¹¤Ê¤É¤ò´Þ¤Þ¤Ê¤¤¡¢¤Ç¤­¤ë¤À¤±¡Ö¶õ¡×¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤¿¤Û¤¦
+¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£
-=== 定数定義
+2.1.3 Äê¿ôÄêµÁ
-拡張ライブラリãŒå¿…è¦ãªå®šæ•°ã¯ã‚らã‹ã˜ã‚定義ã—ã¦ãŠã„ãŸæ–¹ãŒè‰¯ã„
-ã§ã—ょã†ï¼Žå®šæ•°ã‚’定義ã™ã‚‹é–¢æ•°ã¯äºŒã¤ã‚りã¾ã™ï¼Ž
+³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤¬É¬ÍפÊÄê¿ô¤Ï¤¢¤é¤«¤¸¤áÄêµÁ¤·¤Æ¤ª¤¤¤¿Êý¤¬Îɤ¤
+¤Ç¤·¤ç¤¦¡¥Äê¿ô¤òÄêµÁ¤¹¤ë´Ø¿ô¤ÏÆó¤Ä¤¢¤ê¤Þ¤¹¡¥
void rb_define_const(VALUE klass, const char *name, VALUE val)
void rb_define_global_const(const char *name, VALUE val)
-å‰è€…ã¯ç‰¹å®šã®ã‚¯ãƒ©ã‚¹/モジュールã«å±žã™ã‚‹å®šæ•°ã‚’定義ã™ã‚‹ã‚‚ã®ï¼Œå¾Œ
-者ã¯ã‚°ãƒ­ãƒ¼ãƒãƒ«ãªå®šæ•°ã‚’定義ã™ã‚‹ã‚‚ã®ã§ã™ï¼Ž
+Á°¼Ô¤ÏÆÃÄê¤Î¥¯¥é¥¹/¥â¥¸¥å¡¼¥ë¤Ë°¤¹¤ëÄê¿ô¤òÄêµÁ¤¹¤ë¤â¤Î¡¤¸å
+¼Ô¤Ï¥°¥í¡¼¥Ð¥ë¤ÊÄê¿ô¤òÄêµÁ¤¹¤ë¤â¤Î¤Ç¤¹¡¥
-== Rubyã®æ©Ÿèƒ½ã‚’Cã‹ã‚‰å‘¼ã³å‡ºã™
+2.2 Ruby¤Îµ¡Ç½¤òC¤«¤é¸Æ¤Ó½Ð¤¹
-æ—¢ã«ã€Ž1.5 Rubyã®ãƒ‡ãƒ¼ã‚¿ã‚’æ“作ã™ã‚‹ã€ã§ä¸€éƒ¨ç´¹ä»‹ã—ãŸã‚ˆã†ãªé–¢æ•°ã‚’
-使ãˆã°ï¼ŒRubyã®æ©Ÿèƒ½ã‚’実ç¾ã—ã¦ã„る関数を直接呼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥
-ã¾ã™ï¼Ž
+´û¤Ë¡Ø1.5 Ruby¤Î¥Ç¡¼¥¿¤òÁàºî¤¹¤ë¡Ù¤Ç°ìÉô¾Ò²ð¤·¤¿¤è¤¦¤Ê´Ø¿ô¤ò
+»È¤¨¤Ð¡¤Ruby¤Îµ¡Ç½¤ò¼Â¸½¤·¤Æ¤¤¤ë´Ø¿ô¤òľÀܸƤӽФ¹¤³¤È¤¬½ÐÍè
+¤Þ¤¹¡¥
-# ã“ã®ã‚ˆã†ãªé–¢æ•°ã®ä¸€è¦§è¡¨ã¯ã„ã¾ã®ã¨ã“ã‚ã‚りã¾ã›ã‚“.ソースを見
-# ã‚‹ã—ã‹ãªã„ã§ã™ã­ï¼Ž
+# ¤³¤Î¤è¤¦¤Ê´Ø¿ô¤Î°ìÍ÷ɽ¤Ï¤¤¤Þ¤Î¤È¤³¤í¤¢¤ê¤Þ¤»¤ó¡¥¥½¡¼¥¹¤ò¸«
+# ¤ë¤·¤«¤Ê¤¤¤Ç¤¹¤Í¡¥
-ãれ以外ã«ã‚‚Rubyã®æ©Ÿèƒ½ã‚’呼ã³å‡ºã™æ–¹æ³•ã¯ã„ãã¤ã‹ã‚りã¾ã™ï¼Ž
+¤½¤ì°Ê³°¤Ë¤âRuby¤Îµ¡Ç½¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡¥
-=== Rubyã®ãƒ—ログラムをevalã™ã‚‹
+2.2.1 Ruby¤Î¥×¥í¥°¥é¥à¤òeval¤¹¤ë
-Cã‹ã‚‰Rubyã®æ©Ÿèƒ½ã‚’呼ã³å‡ºã™ã‚‚ã£ã¨ã‚‚ç°¡å˜ãªæ–¹æ³•ã¨ã—ã¦ï¼Œæ–‡å­—列ã§
-与ãˆã‚‰ã‚ŒãŸRubyã®ãƒ—ログラムを評価ã™ã‚‹ä»¥ä¸‹ã®é–¢æ•°ãŒã‚りã¾ã™ï¼Ž
+C¤«¤éRuby¤Îµ¡Ç½¤ò¸Æ¤Ó½Ð¤¹¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤È¤·¤Æ¡¤Ê¸»úÎó¤Ç
+Í¿¤¨¤é¤ì¤¿Ruby¤Î¥×¥í¥°¥é¥à¤òɾ²Á¤¹¤ë°Ê²¼¤Î´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡¥
VALUE rb_eval_string(const char *str)
-ã“ã®è©•価ã¯ç¾åœ¨ã®ç’°å¢ƒã§è¡Œã‚れã¾ã™ï¼Žã¤ã¾ã‚Šï¼Œç¾åœ¨ã®ãƒ­ãƒ¼ã‚«ãƒ«å¤‰æ•°
-ãªã©ã‚’å—ã‘ç¶™ãŽã¾ã™ï¼Ž
-
-評価ã¯ä¾‹å¤–を発生ã™ã‚‹ã‹ã‚‚ã—れãªã„ã“ã¨ã«æ³¨æ„ã—ã¾ã—ょã†. より安全
-ãªé–¢æ•°ã‚‚ã‚りã¾ã™.
+¤³¤Îɾ²Á¤Ï¸½ºß¤Î´Ä¶­¤Ç¹Ô¤ï¤ì¤Þ¤¹¡¥¤Ä¤Þ¤ê¡¤¸½ºß¤Î¥í¡¼¥«¥ëÊÑ¿ô
+¤Ê¤É¤ò¼õ¤±·Ñ¤®¤Þ¤¹¡¥
- VALUE rb_eval_string_protect(const char *str, int *state)
+2.2.2 ID¤Þ¤¿¤Ï¥·¥ó¥Ü¥ë
-ã“ã®é–¢æ•°ã¯ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã¨nilã‚’è¿”ã—ã¾ã™ï¼Žãã—ã¦ï¼ŒæˆåŠŸæ™‚ã«ã¯
-*stateã¯ã‚¼ãƒ­ã«ï¼Œã•ã‚‚ãªãã°éžã‚¼ãƒ­ã«ãªã‚Šã¾ã™ï¼Ž
+C¤«¤éʸ»úÎó¤ò·Ðͳ¤»¤º¤ËRuby¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ
+¤¹¡¥¤½¤ÎÁ°¤Ë¡¤Ruby¥¤¥ó¥¿¥×¥ê¥¿Æâ¤Ç¥á¥½¥Ã¥É¤äÊÑ¿ô̾¤ò»ØÄꤹ¤ë
+»þ¤Ë»È¤ï¤ì¤Æ¤¤¤ëID¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡¥
-=== IDã¾ãŸã¯ã‚·ãƒ³ãƒœãƒ«
+ID¤È¤ÏÊÑ¿ô̾¡¤¥á¥½¥Ã¥É̾¤òɽ¤¹À°¿ô¤Ç¤¹¡¥Ruby¤Ç¤ÏID¤ËÂбþ¤¹¤ë
+¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥·¥ó¥Ü¥ë(Symbol)¤¬¤¢¤ê¡¤
-Cã‹ã‚‰æ–‡å­—列を経由ã›ãšã«Rubyã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã“ã¨ã‚‚ã§ãã¾
-ã™ï¼Žãã®å‰ã«ï¼ŒRubyインタプリタ内ã§ãƒ¡ã‚½ãƒƒãƒ‰ã‚„変数åを指定ã™ã‚‹
-時ã«ä½¿ã‚れã¦ã„ã‚‹IDã«ã¤ã„ã¦èª¬æ˜Žã—ã¦ãŠãã¾ã—ょã†ï¼Ž
+ :¼±ÊÌ»Ò
-IDã¨ã¯å¤‰æ•°å,メソッドåã‚’è¡¨ã™æ•´æ•°ã§ã™ï¼ŽRubyã®ä¸­ã§ã¯
+¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡¥C¤«¤é¤³¤ÎÀ°¿ô¤òÆÀ¤ë¤¿¤á¤Ë¤Ï´Ø¿ô
- :識別å­
-
-ã¾ãŸã¯
+ rb_intern(const char *name)
- :"ä»»æ„ã®æ–‡å­—列"
+¤ò»È¤¤¤Þ¤¹¡¥Ruby¤«¤é°ú¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿¥·¥ó¥Ü¥ë(¤Þ¤¿¤Ïʸ»ú
+Îó)¤òID¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
-ã§ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ï¼ŽCã‹ã‚‰ã“ã®æ•´æ•°ã‚’å¾—ã‚‹ãŸã‚ã«ã¯é–¢æ•°
+ rb_to_id(VALUE symbol)
- rb_intern(const char *name)
- rb_intern_str(VALUE name)
+ID¤«¤é¥·¥ó¥Ü¥ë¤òÆÀ¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-を使ã„ã¾ã™ï¼ŽRubyã‹ã‚‰å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«(ã¾ãŸã¯æ–‡å­—
-列)ã‚’IDã«å¤‰æ›ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+ VALUE ID2SYM(ID id)
- rb_to_id(VALUE symbol)
- rb_check_id(volatile VALUE *name)
- rb_check_id_cstr(const char *name, long len, rb_encoding *enc)
+¥·¥ó¥Ü¥ë¤«¤éID¤òÆÀ¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-ã‚‚ã—引数ãŒã‚·ãƒ³ãƒœãƒ«ã§ã‚‚文字列ã§ã‚‚ãªã‘れã°ã€to_strãƒ¡ã‚½ãƒƒãƒ‰ã§æ–‡
-字列ã«å¤‰æ›ã—よã†ã¨ã—ã¾ã™ï¼Žç¬¬äºŒã®é–¢æ•°ã¯ãã®å¤‰æ›çµæžœã‚’*nameã«ä¿
-å­˜ã—,ãã®åå‰ãŒæ—¢çŸ¥ã®ã‚·ãƒ³ãƒœãƒ«ã§ãªã„å ´åˆã¯0ã‚’è¿”ã—ã¾ã™ï¼Žã“ã®é–¢
-æ•°ãŒ0以外を返ã—ãŸå ´åˆã¯*nameã¯å¸¸ã«ã‚·ãƒ³ãƒœãƒ«ã‹æ–‡å­—列ã§ã‚りã€0ã‚’
-è¿”ã—ãŸå ´åˆã¯å¸¸ã«æ–‡å­—列ã§ã™ï¼Žç¬¬ä¸‰ã®é–¢æ•°ã¯Rubyã®æ–‡å­—列ã§ã¯ãªã
-NUL終端ã•れãŸCã®æ–‡å­—列を使ã„ã¾ã™ï¼Ž
+ ID SYM2ID(VALUE symbol)
-=== Cã‹ã‚‰Rubyã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™
+2.2.3 C¤«¤éRuby¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹
-Cã‹ã‚‰æ–‡å­—列を経由ã›ãšã«Rubyã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ãŸã‚ã«ã¯ä»¥ä¸‹
-ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+C¤«¤éʸ»úÎó¤ò·Ðͳ¤»¤º¤ËRuby¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë¤Ï°Ê²¼
+¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)
-ã“ã®é–¢æ•°ã¯ã‚ªãƒ–ジェクトrecvã®midã§æŒ‡å®šã•れるメソッドを呼ã³å‡º
-ã—ã¾ã™ï¼Žãã®ä»–ã«å¼•æ•°ã®æŒ‡å®šã®ä»•æ–¹ãŒé•ã†ä»¥ä¸‹ã®é–¢æ•°ã‚‚ã‚りã¾ã™ï¼Ž
+¤³¤Î´Ø¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥Èrecv¤Îmid¤Ç»ØÄꤵ¤ì¤ë¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð
+¤·¤Þ¤¹¡¥¤½¤Î¾¤Ë°ú¿ô¤Î»ØÄê¤Î»ÅÊý¤¬°ã¤¦°Ê²¼¤Î´Ø¿ô¤â¤¢¤ê¤Þ¤¹¡¥
VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
- VALUE rb_funcallv(VALUE recv, ID mid, int argc, VALUE *argv)
VALUE rb_apply(VALUE recv, ID mid, VALUE args)
-applyã«ã¯å¼•æ•°ã¨ã—ã¦Rubyã®é…列を与ãˆã¾ã™ï¼Ž
+apply¤Ë¤Ï°ú¿ô¤È¤·¤ÆRuby¤ÎÇÛÎó¤òÍ¿¤¨¤Þ¤¹¡¥
-=== 変数/定数をå‚ç…§/æ›´æ–°ã™ã‚‹
+2.2.4 ÊÑ¿ô/Äê¿ô¤ò»²¾È/¹¹¿·¤¹¤ë
-Cã‹ã‚‰é–¢æ•°ã‚’使ã£ã¦å‚照・更新ã§ãã‚‹ã®ã¯ï¼Œå®šæ•°ï¼Œã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰
-æ•°ã§ã™ï¼Žå¤§åŸŸå¤‰æ•°ã¯ä¸€éƒ¨ã®ã‚‚ã®ã¯Cã®å¤§åŸŸå¤‰æ•°ã¨ã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã§ã
-ã¾ã™ï¼Žãƒ­ãƒ¼ã‚«ãƒ«å¤‰æ•°ã‚’å‚ç…§ã™ã‚‹æ–¹æ³•ã¯å…¬é–‹ã—ã¦ã„ã¾ã›ã‚“.
+C¤«¤é´Ø¿ô¤ò»È¤Ã¤Æ»²¾È¡¦¹¹¿·¤Ç¤­¤ë¤Î¤Ï¡¤Äê¿ô¡¤¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ
+¿ô¤Ç¤¹¡¥Âç°èÊÑ¿ô¤Ï°ìÉô¤Î¤â¤Î¤ÏC¤ÎÂç°èÊÑ¿ô¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­
+¤Þ¤¹¡¥¥í¡¼¥«¥ëÊÑ¿ô¤ò»²¾È¤¹¤ëÊýË¡¤Ï¸ø³«¤·¤Æ¤¤¤Þ¤»¤ó¡¥
-オブジェクトã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã‚’å‚照・更新ã™ã‚‹é–¢æ•°ã¯ä»¥ä¸‹ã®é€š
-りã§ã™ï¼Ž
+¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò»²¾È¡¦¹¹¿·¤¹¤ë´Ø¿ô¤Ï°Ê²¼¤ÎÄÌ
+¤ê¤Ç¤¹¡¥
VALUE rb_ivar_get(VALUE obj, ID id)
VALUE rb_ivar_set(VALUE obj, ID id, VALUE val)
-idã¯rb_intern()ã§å¾—られるもã®ã‚’使ã£ã¦ãã ã•ã„.
+id¤Ïrb_intern()¤ÇÆÀ¤é¤ì¤ë¤â¤Î¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
-定数をå‚ç…§ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使ã£ã¦ãã ã•ã„.
+Äê¿ô¤ò»²¾È¤¹¤ë¤Ë¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
VALUE rb_const_get(VALUE obj, ID id)
-定数を新ã—ã定義ã™ã‚‹ãŸã‚ã«ã¯ã€Ž2.1.3 定数定義ã€ã§ç´¹ä»‹ã•
-れã¦ã„る関数を使ã£ã¦ãã ã•ã„.
+Äê¿ô¤ò¿·¤·¤¯ÄêµÁ¤¹¤ë¤¿¤á¤Ë¤Ï¡Ø2.1.3 Äê¿ôÄêµÁ¡Ù¤Ç¾Ò²ð¤µ
+¤ì¤Æ¤¤¤ë´Ø¿ô¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
-= Rubyã¨Cã¨ã®æƒ…報共有
+3¡¥Ruby¤ÈC¤È¤Î¾ðÊó¶¦Í­
-C言語ã¨Rubyã®é–“ã§æƒ…報を共有ã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦è§£èª¬ã—ã¾ã™ï¼Ž
+C¸À¸ì¤ÈRuby¤Î´Ö¤Ç¾ðÊó¤ò¶¦Í­¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ²òÀ⤷¤Þ¤¹¡¥
-== Cã‹ã‚‰å‚ç…§ã§ãã‚‹Rubyã®å®šæ•°
+3.1 C¤«¤é»²¾È¤Ç¤­¤ëRuby¤ÎÄê¿ô
-以下ã®Rubyã®å®šæ•°ã¯Cã®ãƒ¬ãƒ™ãƒ«ã‹ã‚‰å‚ç…§ã§ãã¾ã™ï¼Ž
+°Ê²¼¤ÎRuby¤ÎÄê¿ô¤ÏC¤Î¥ì¥Ù¥ë¤«¤é»²¾È¤Ç¤­¤Þ¤¹¡¥
Qtrue
Qfalse
-真å½å€¤ï¼ŽQfalseã¯C言語ã§ã‚‚å½ã¨ã¿ãªã•れã¾ã™(ã¤ã¾ã‚Š0).
+ ¿¿µ¶ÃÍ¡¥Qfalse¤ÏC¸À¸ì¤Ç¤âµ¶¤È¤ß¤Ê¤µ¤ì¤Þ¤¹(¤Ä¤Þ¤ê0)¡¥
Qnil
-C言語ã‹ã‚‰è¦‹ãŸã€Œnilã€ï¼Ž
+ C¸À¸ì¤«¤é¸«¤¿¡Önil¡×¡¥
-== Cã¨Rubyã§å…±æœ‰ã•れる大域変数
+3.2 C¤ÈRuby¤Ç¶¦Í­¤µ¤ì¤ëÂç°èÊÑ¿ô
-Cã¨Rubyã§å¤§åŸŸå¤‰æ•°ã‚’使ã£ã¦æƒ…報を共有ã§ãã¾ã™ï¼Žå…±æœ‰ã§ãる大域
-変数ã«ã¯ã„ãã¤ã‹ã®ç¨®é¡žãŒã‚りã¾ã™ï¼Žãã®ãªã‹ã§ã‚‚ã£ã¨ã‚‚良ã使ã‚
-ã‚Œã‚‹ã¨æ€ã‚れるã®ã¯rb_define_variable()ã§ã™ï¼Ž
+C¤ÈRuby¤ÇÂç°èÊÑ¿ô¤ò»È¤Ã¤Æ¾ðÊó¤ò¶¦Í­¤Ç¤­¤Þ¤¹¡¥¶¦Í­¤Ç¤­¤ëÂç°è
+ÊÑ¿ô¤Ë¤Ï¤¤¤¯¤Ä¤«¤Î¼ïÎब¤¢¤ê¤Þ¤¹¡¥¤½¤Î¤Ê¤«¤Ç¤â¤Ã¤È¤âÎɤ¯»È¤ï
+¤ì¤ë¤È»×¤ï¤ì¤ë¤Î¤Ïrb_define_variable()¤Ç¤¹¡¥
void rb_define_variable(const char *name, VALUE *var)
-ã“ã®é–¢æ•°ã¯Rubyã¨Cã¨ã§å…±æœ‰ã™ã‚‹å¤§åŸŸå¤‰æ•°ã‚’定義ã—ã¾ã™ï¼Žå¤‰æ•°åãŒ
-`$'ã§å§‹ã¾ã‚‰ãªã„時ã«ã¯è‡ªå‹•çš„ã«è¿½åŠ ã•れã¾ã™ï¼Žã“ã®å¤‰æ•°ã®å€¤ã‚’変
-æ›´ã™ã‚‹ã¨è‡ªå‹•çš„ã«Rubyã®å¯¾å¿œã™ã‚‹å¤‰æ•°ã®å€¤ã‚‚変ã‚りã¾ã™ï¼Ž
+¤³¤Î´Ø¿ô¤ÏRuby¤ÈC¤È¤Ç¶¦Í­¤¹¤ëÂç°èÊÑ¿ô¤òÄêµÁ¤·¤Þ¤¹¡¥ÊÑ¿ô̾¤¬
+`$'¤Ç»Ï¤Þ¤é¤Ê¤¤»þ¤Ë¤Ï¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤ÎÃͤòÊÑ
+¹¹¤¹¤ë¤È¼«Æ°Åª¤ËRuby¤ÎÂбþ¤¹¤ëÊÑ¿ô¤ÎÃͤâÊѤï¤ê¤Þ¤¹¡¥
-ã¾ãŸRubyå´ã‹ã‚‰ã¯æ›´æ–°ã§ããªã„変数もã‚りã¾ã™ï¼Žã“ã®read onlyã®
-変数ã¯ä»¥ä¸‹ã®é–¢æ•°ã§å®šç¾©ã—ã¾ã™ï¼Ž
+¤Þ¤¿Ruby¦¤«¤é¤Ï¹¹¿·¤Ç¤­¤Ê¤¤ÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡¥¤³¤Îread only¤Î
+ÊÑ¿ô¤Ï°Ê²¼¤Î´Ø¿ô¤ÇÄêµÁ¤·¤Þ¤¹¡¥
void rb_define_readonly_variable(const char *name, VALUE *var)
-ã“れら変数ã®ä»–ã«hookã‚’ã¤ã‘ãŸå¤§åŸŸå¤‰æ•°ã‚’定義ã§ãã¾ã™ï¼Žhook付ã
-ã®å¤§åŸŸå¤‰æ•°ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’用ã„ã¦å®šç¾©ã—ã¾ã™ï¼Žhook付ã大域変数ã®
-値ã®å‚照や設定ã¯hookã§è¡Œã†å¿…è¦ãŒã‚りã¾ã™ï¼Ž
+¤³¤ì¤éÊÑ¿ô¤Î¾¤Ëhook¤ò¤Ä¤±¤¿Âç°èÊÑ¿ô¤òÄêµÁ¤Ç¤­¤Þ¤¹¡¥hookÉÕ¤­
+¤ÎÂç°èÊÑ¿ô¤Ï°Ê²¼¤Î´Ø¿ô¤òÍѤ¤¤ÆÄêµÁ¤·¤Þ¤¹¡¥hookÉÕ¤­Âç°èÊÑ¿ô¤Î
+Ãͤλ²¾È¤äÀßÄê¤Ïhook¤Ç¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥
void rb_define_hooked_variable(const char *name, VALUE *var,
VALUE (*getter)(), void (*setter)())
-ã“ã®é–¢æ•°ã¯Cã®é–¢æ•°ã«ã‚ˆã£ã¦hookã®ã¤ã‘られãŸå¤§åŸŸå¤‰æ•°ã‚’定義ã—ã¾
-ã™ï¼Žå¤‰æ•°ãŒå‚ç…§ã•ã‚ŒãŸæ™‚ã«ã¯é–¢æ•°getterãŒï¼Œå¤‰æ•°ã«å€¤ãŒã‚»ãƒƒãƒˆã•れ
-ãŸæ™‚ã«ã¯é–¢æ•°setterãŒå‘¼ã°ã‚Œã‚‹ï¼Žhookを指定ã—ãªã„å ´åˆã¯getterã‚„
-setterã«0を指定ã—ã¾ã™ï¼Ž
-# getterã‚‚setterã‚‚0ãªã‚‰ã°rb_define_variable()ã¨åŒã˜ã«ãªã‚‹ï¼Ž
-
-getterã¨setterã®ä»•æ§˜ã¯æ¬¡ã®é€šã‚Šã§ã™ï¼Ž
-
- VALUE (*getter)(ID id, VALUE *var);
- void (*setter)(VALUE val, ID id, VALUE *var);
+¤³¤Î´Ø¿ô¤ÏC¤Î´Ø¿ô¤Ë¤è¤Ã¤Æhook¤Î¤Ä¤±¤é¤ì¤¿Âç°èÊÑ¿ô¤òÄêµÁ¤·¤Þ
+¤¹¡¥ÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿»þ¤Ë¤Ï´Ø¿ôgetter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì
+¤¿»þ¤Ë¤Ï´Ø¿ôsetter¤¬¸Æ¤Ð¤ì¤ë¡¥hook¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ïgetter¤ä
+setter¤Ë0¤ò»ØÄꤷ¤Þ¤¹¡¥
+# getter¤âsetter¤â0¤Ê¤é¤Ðrb_define_variable()¤ÈƱ¤¸¤Ë¤Ê¤ë¡¥
-ãれã‹ã‚‰ï¼Œå¯¾å¿œã™ã‚‹Cã®å¤‰æ•°ã‚’æŒãŸãªã„Rubyã®å¤§åŸŸå¤‰æ•°ã‚’定義ã™ã‚‹
-ã“ã¨ã‚‚ã§ãã¾ã™. ãã®å¤‰æ•°ã®å€¤ã¯ãƒ•ック関数ã®ã¿ã«ã‚ˆã£ã¦å–得・設定
-ã•れã¾ã™.
+¤½¤ì¤«¤é¡¤C¤Î´Ø¿ô¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ëRuby¤ÎÂç°èÊÑ¿ô¤òÄêµÁ¤¹¤ë
+´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡¥
void rb_define_virtual_variable(const char *name,
VALUE (*getter)(), void (*setter)())
-ã“ã®é–¢æ•°ã«ã‚ˆã£ã¦å®šç¾©ã•れãŸRubyã®å¤§åŸŸå¤‰æ•°ãŒå‚ç…§ã•ã‚ŒãŸæ™‚ã«ã¯
-getterãŒï¼Œå¤‰æ•°ã«å€¤ãŒã‚»ãƒƒãƒˆã•ã‚ŒãŸæ™‚ã«ã¯setterãŒå‘¼ã°ã‚Œã¾ã™ï¼Ž
+¤³¤Î´Ø¿ô¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤¿Ruby¤ÎÂç°èÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿»þ¤Ë¤Ï
+getter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ïsetter¤¬¸Æ¤Ð¤ì¤Þ¤¹¡¥
-getterã¨setterã®ä»•様ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼Ž
+getter¤Èsetter¤Î»ÅÍͤϰʲ¼¤ÎÄ̤ê¤Ç¤¹¡¥
- (*getter)(ID id);
- (*setter)(VALUE val, ID id);
+ (*getter)(ID id, void *data, struct global_entry* entry);
+ (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);
-== Cã®ãƒ‡ãƒ¼ã‚¿ã‚’Rubyオブジェクトã«ã™ã‚‹
+3.3 C¤Î¥Ç¡¼¥¿¤òRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ë
-Cã®ä¸–界ã§å®šç¾©ã•れãŸãƒ‡ãƒ¼ã‚¿(構造体)ã‚’Rubyã®ã‚ªãƒ–ジェクトã¨ã—ã¦
-å–り扱ã„ãŸã„å ´åˆãŒã‚りãˆã¾ã™ï¼Žã“ã®ã‚ˆã†ãªå ´åˆã«ã¯ï¼ŒDataã¨ã„ã†
-Rubyオブジェクトã«Cã®æ§‹é€ ä½“(ã¸ã®ãƒã‚¤ãƒ³ã‚¿)ã‚’ãã‚‹ã‚€ã“ã¨ã§Ruby
-オブジェクトã¨ã—ã¦å–り扱ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ï¼Ž
+C¤ÎÀ¤³¦¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¡¼¥¿(¹½Â¤ÂÎ)¤òRuby¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ
+¼è¤ê°·¤¤¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤¨¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤Data¤È¤¤¤¦
+Ruby¥ª¥Ö¥¸¥§¥¯¥È¤ËC¤Î¹½Â¤ÂÎ(¤Ø¤Î¥Ý¥¤¥ó¥¿)¤ò¤¯¤ë¤à¤³¤È¤ÇRuby
+¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¼è¤ê°·¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
-Dataオブジェクトを生æˆã—ã¦æ§‹é€ ä½“ã‚’Rubyオブジェクトã«ã‚«ãƒ—セル
-化ã™ã‚‹ãŸã‚ã«ã¯ï¼Œä»¥ä¸‹ã®ãƒžã‚¯ãƒ­ã‚’使ã„ã¾ã™ï¼Ž
+Data¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¹½Â¤ÂΤòRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥«¥×¥»¥ë
+²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¤°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
- Data_Wrap_Struct(klass, mark, free, sval)
+ Data_Wrap_Struct(klass, mark, free, ptr)
-ã“ã®ãƒžã‚¯ãƒ­ã®æˆ»ã‚Šå€¤ã¯ç”Ÿæˆã•れãŸDataオブジェクトã§ã™ï¼Ž
+¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃͤÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥
-klassã¯ã“ã®Dataオブジェクトã®ã‚¯ãƒ©ã‚¹ã§ã™ï¼Žmarkã¯ã“ã®æ§‹é€ ä½“ãŒ
-Rubyã®ã‚ªãƒ–ジェクトã¸ã®å‚ç…§ãŒã‚る時ã«ä½¿ã†é–¢æ•°ã§ã™ï¼Žãã®ã‚ˆã†ãª
-å‚ç…§ã‚’å«ã¾ãªã„時ã«ã¯0を指定ã—ã¾ã™ï¼Ž
+klass¤Ï¤³¤ÎData¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤Ç¤¹¡¥ptr¤Ï¥«¥×¥»¥ë²½¤¹¤ë
+C¤Î¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¹¡¥mark¤Ï¤³¤Î¹½Â¤ÂΤ¬Ruby¤Î¥ª¥Ö¥¸¥§
+¥¯¥È¤Ø¤Î»²¾È¤¬¤¢¤ë»þ¤Ë»È¤¦´Ø¿ô¤Ç¤¹¡¥¤½¤Î¤è¤¦¤Ê»²¾È¤ò´Þ¤Þ¤Ê¤¤
+»þ¤Ë¤Ï0¤ò»ØÄꤷ¤Þ¤¹¡¥
-# ãã®ã‚ˆã†ãªå‚ç…§ã¯å‹§ã‚られã¾ã›ã‚“.
+# ¤½¤Î¤è¤¦¤Ê»²¾È¤Ï´«¤á¤é¤ì¤Þ¤»¤ó¡¥
-freeã¯ã“ã®æ§‹é€ ä½“ãŒã‚‚ã†ä¸è¦ã«ãªã£ãŸæ™‚ã«å‘¼ã°ã‚Œã‚‹é–¢æ•°ã§ã™ï¼Žã“ã®
-関数ãŒã‚¬ãƒ¼ãƒ™ãƒ¼ã‚¸ã‚³ãƒ¬ã‚¯ã‚¿ã‹ã‚‰å‘¼ã°ã‚Œã¾ã™ï¼Žã“れãŒ-1ã®å ´åˆã¯ï¼Œå˜
-ç´”ã«é–‹æ”¾ã•れã¾ã™ï¼Ž
+free¤Ï¤³¤Î¹½Â¤ÂΤ¬¤â¤¦ÉÔÍפˤʤä¿»þ¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô¤Ç¤¹¡¥¤³¤Î
+´Ø¿ô¤¬¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤«¤é¸Æ¤Ð¤ì¤Þ¤¹¡¥¤³¤ì¤¬-1¤Î¾ì¹ç¤Ï¡¤Ã±
+½ã¤Ë³«Êü¤µ¤ì¤Þ¤¹¡¥
-markãŠã‚ˆã³free関数ã¯GC実行中ã«å‘¼ã³å‡ºã•れã¾ã™.
-ãªãŠ, GC実行中ã¯Rubyオブジェクトã®ã‚¢ãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ç¦æ­¢ã•れã¾
-ã™. よã£ã¦, markãŠã‚ˆã³free関数ã§Rubyオブジェクトã®ã‚¢ãƒ­ã‚±ãƒ¼ã‚·
-ョンã¯è¡Œã‚ãªã„ã§ãã ã•ã„.
-
-Cã®æ§‹é€ ä½“ã®å‰²å½“ã¨Dataオブジェクトã®ç”Ÿæˆã‚’åŒæ™‚ã«è¡Œã†ãƒžã‚¯ãƒ­ã¨
-ã—ã¦ä»¥ä¸‹ã®ã‚‚ã®ãŒæä¾›ã•れã¦ã„ã¾ã™ï¼Ž
+C¤Î¹½Â¤ÂΤγäÅö¤ÈData¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®¤òƱ»þ¤Ë¹Ô¤¦¥Þ¥¯¥í¤È
+¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
Data_Make_Struct(klass, type, mark, free, sval)
-ã“ã®ãƒžã‚¯ãƒ­ã®æˆ»ã‚Šå€¤ã¯ç”Ÿæˆã•れãŸDataオブジェクトã§ã™ï¼Žã“ã®ãƒžã‚¯
-ロã¯ä»¥ä¸‹ã®å¼ã®ã‚ˆã†ã«åƒãã¾ã™:
-
- (sval = ALLOC(type), Data_Wrap_Struct(klass, mark, free, sval))
+¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃͤÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥
-klass, mark, freeã¯Data_Wrap_Structã¨åŒã˜åƒãã‚’ã—ã¾ã™ï¼Žtype
-ã¯å‰²ã‚Šå½“ã¦ã‚‹C構造体ã®åž‹ã§ã™ï¼Žå‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸæ§‹é€ ä½“ã¯å¤‰æ•°sval
-ã«ä»£å…¥ã•れã¾ã™ï¼Žã“ã®å¤‰æ•°ã®åž‹ã¯ (type*) ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ï¼Ž
+klass, mark, free¤ÏData_Wrap_Struct¤ÈƱ¤¸Æ¯¤­¤ò¤·¤Þ¤¹¡¥type
+¤Ï³ä¤êÅö¤Æ¤ëC¹½Â¤ÂΤη¿¤Ç¤¹¡¥³ä¤êÅö¤Æ¤é¤ì¤¿¹½Â¤ÂΤÏÊÑ¿ôsval
+¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤Î·¿¤Ï (type*) ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
-Dataオブジェクトã‹ã‚‰ãƒã‚¤ãƒ³ã‚¿ã‚’å–り出ã™ã®ã¯ä»¥ä¸‹ã®ãƒžã‚¯ãƒ­ã‚’用ã„
-ã¾ã™ï¼Ž
+Data¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¥Ý¥¤¥ó¥¿¤ò¼è¤ê½Ð¤¹¤Î¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤òÍѤ¤
+¤Þ¤¹¡¥
Data_Get_Struct(obj, type, sval)
-Cã®æ§‹é€ ä½“ã¸ã®ãƒã‚¤ãƒ³ã‚¿ã¯å¤‰æ•°svalã«ä»£å…¥ã•れã¾ã™ï¼Ž
+C¤Î¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ÏÊÑ¿ôsval¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡¥
-ã“れらã®Dataã®ä½¿ã„æ–¹ã¯ã¡ã‚‡ã£ã¨åˆ†ã‹ã‚Šã«ãã„ã®ã§ï¼Œå¾Œã§èª¬æ˜Žã™ã‚‹
-例題をå‚ç…§ã—ã¦ãã ã•ã„.
+¤³¤ì¤é¤ÎData¤Î»È¤¤Êý¤Ï¤Á¤ç¤Ã¤Èʬ¤«¤ê¤Ë¤¯¤¤¤Î¤Ç¡¤¸å¤ÇÀâÌÀ¤¹¤ë
+ÎãÂê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
-= 例題 - dbmパッケージを作る
+4¡¥ÎãÂê - dbm¥Ñ¥Ã¥±¡¼¥¸¤òºî¤ë
-ã“ã“ã¾ã§ã®èª¬æ˜Žã§ã¨ã‚Šã‚ãˆãšæ‹¡å¼µãƒ©ã‚¤ãƒ–ãƒ©ãƒªã¯ä½œã‚Œã‚‹ã¯ãšã§ã™ï¼Ž
-Rubyã®extディレクトリã«ã™ã§ã«å«ã¾ã‚Œã¦ã„ã‚‹dbmライブラリを例ã«
-ã—ã¦æ®µéšŽçš„ã«èª¬æ˜Žã—ã¾ã™ï¼Ž
+¤³¤³¤Þ¤Ç¤ÎÀâÌÀ¤Ç¤È¤ê¤¢¤¨¤º³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ïºî¤ì¤ë¤Ï¤º¤Ç¤¹¡¥
+Ruby¤Îext¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¹¤Ç¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëdbm¥é¥¤¥Ö¥é¥ê¤òÎã¤Ë
+¤·¤ÆÃʳ¬Åª¤ËÀâÌÀ¤·¤Þ¤¹¡¥
-== ディレクトリを作る
+(1) ¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ë
% mkdir ext/dbm
-Ruby 1.1ã‹ã‚‰ã¯ä»»æ„ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ©ã‚¤ãƒ–ラリを作
-ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã—ãŸï¼ŽRubyã«é™çš„ã«ãƒªãƒ³ã‚¯ã™ã‚‹å ´åˆã«
-ã¯Rubyを展開ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä¸‹ï¼Œextディレクトリã®ä¸­ã«æ‹¡å¼µ
-ライブラリ用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作る必è¦ãŒã‚りã¾ã™ï¼Žåå‰ã¯é©å½“ã«
-é¸ã‚“ã§æ§‹ã„ã¾ã›ã‚“.
-
-== 設計ã™ã‚‹
-
-ã¾ã‚,当然ãªã‚“ã§ã™ã‘ã©ï¼Œã©ã†ã„ã†æ©Ÿèƒ½ã‚’実ç¾ã™ã‚‹ã‹ã©ã†ã‹ã¾ãšè¨­
-計ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ï¼Žã©ã‚“ãªã‚¯ãƒ©ã‚¹ã‚’ã¤ãã‚‹ã‹ï¼Œãã®ã‚¯ãƒ©ã‚¹ã«ã¯
-ã©ã‚“ãªãƒ¡ã‚½ãƒƒãƒ‰ãŒã‚ã‚‹ã‹ï¼Œã‚¯ãƒ©ã‚¹ãŒæä¾›ã™ã‚‹å®šæ•°ãªã©ã«ã¤ã„ã¦è¨­è¨ˆ
-ã—ã¾ã™ï¼Ž
-
-== Cコードを書ã
-
-拡張ライブラリ本体ã¨ãªã‚‹C言語ã®ã‚½ãƒ¼ã‚¹ã‚’書ãã¾ã™ï¼ŽC言語ã®ã‚½ãƒ¼
-スãŒã²ã¨ã¤ã®æ™‚ã«ã¯ã€Œãƒ©ã‚¤ãƒ–ラリå.cã€ã‚’é¸ã¶ã¨è‰¯ã„ã§ã—ょã†ï¼ŽC
-言語ã®ã‚½ãƒ¼ã‚¹ãŒè¤‡æ•°ã®å ´åˆã«ã¯é€†ã«ã€Œãƒ©ã‚¤ãƒ–ラリå.cã€ã¨ã„ã†ãƒ•ã‚¡
-イルåã¯é¿ã‘ã‚‹å¿…è¦ãŒã‚りã¾ã™ï¼Žã‚ªãƒ–ジェクトファイルã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼
-ãƒ«ç”Ÿæˆæ™‚ã«ä¸­é–“çš„ã«ç”Ÿæˆã•れる「ライブラリå.oã€ã¨ã„ã†ãƒ•ァイル
-ã¨ãŒè¡çªã™ã‚‹ã‹ã‚‰ã§ã™ï¼Žã¾ãŸï¼Œå¾Œè¿°ã™ã‚‹ mkmf ライブラリã®ã„ãã¤
-ã‹ã®é–¢æ•°ãŒã‚³ãƒ³ãƒ‘イルをè¦ã™ã‚‹ãƒ†ã‚¹ãƒˆã®ãŸã‚ã«ã€Œconftest.cã€ã¨ã„
-ã†ãƒ•ァイルåを使用ã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„.ソースファイル
-åã¨ã—ã¦ã€Œconftest.cã€ã‚’使用ã—ã¦ã¯ãªã‚Šã¾ã›ã‚“.
-
-Rubyã¯æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリをロードã™ã‚‹æ™‚ã«ã€ŒInit_ライブラリåã€ã¨
-ã„ã†é–¢æ•°ã‚’自動的ã«å®Ÿè¡Œã—ã¾ã™ï¼Ždbmライブラリã®å ´åˆã€ŒInit_dbmã€
-ã§ã™ï¼Žã“ã®é–¢æ•°ã®ä¸­ã§ã‚¯ãƒ©ã‚¹ï¼Œãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ï¼Œãƒ¡ã‚½ãƒƒãƒ‰ï¼Œå®šæ•°ãªã©ã®
-定義を行ã„ã¾ã™ï¼Ždbm.cã‹ã‚‰ä¸€éƒ¨å¼•用ã—ã¾ã™ï¼Ž
-
- void
- Init_dbm(void)
- {
- /* DBMクラスを定義ã™ã‚‹ */
- cDBM = rb_define_class("DBM", rb_cObject);
- /* DBMã¯Enumerableモジュールをインクルードã™ã‚‹ */
- rb_include_module(cDBM, rb_mEnumerable);
-
- /* DBMクラスã®ã‚¯ãƒ©ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰open(): 引数ã¯Cã®é…列ã§å—ã‘ã‚‹ */
- rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);
-
- /* DBMクラスã®ãƒ¡ã‚½ãƒƒãƒ‰close(): 引数ã¯ãªã— */
- rb_define_method(cDBM, "close", fdbm_close, 0);
- /* DBMクラスã®ãƒ¡ã‚½ãƒƒãƒ‰[]: 引数ã¯1個 */
- rb_define_method(cDBM, "[]", fdbm_fetch, 1);
-
- /* ... */
-
- /* DBMデータを格ç´ã™ã‚‹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°åã®ãŸã‚ã®ID */
- id_dbm = rb_intern("dbm");
- }
-
-DBMライブラリã¯dbmã®ãƒ‡ãƒ¼ã‚¿ã¨å¯¾å¿œã™ã‚‹ã‚ªãƒ–ジェクトã«ãªã‚‹ã¯ãšã§
-ã™ã‹ã‚‰ï¼ŒCã®ä¸–界ã®dbmã‚’Rubyã®ä¸–界ã«å–り込む必è¦ãŒã‚りã¾ã™ï¼Ž
-
-dbm.cã§ã¯Data_Make_Structを以下ã®ã‚ˆã†ã«ä½¿ã£ã¦ã„ã¾ã™ï¼Ž
-
- struct dbmdata {
- int di_size;
- DBM *di_dbm;
- };
-
-
- obj = Data_Make_Struct(klass, struct dbmdata, 0, free_dbm, dbmp);
-
-ã“ã“ã§ã¯dbmstruct構造体ã¸ã®ãƒã‚¤ãƒ³ã‚¿ã‚’Dataã«ã‚«ãƒ—セル化ã—ã¦ã„
-ã¾ã™ï¼ŽDBM*を直接カプセル化ã—ãªã„ã®ã¯close()ã—ãŸæ™‚ã®å‡¦ç†ã‚’考
-ãˆã¦ã®ã“ã¨ã§ã™ï¼Ž
-
-Dataオブジェクトã‹ã‚‰dbmstruct構造体ã®ãƒã‚¤ãƒ³ã‚¿ã‚’å–り出ã™ãŸã‚
-ã«ä»¥ä¸‹ã®ãƒžã‚¯ãƒ­ã‚’使ã£ã¦ã„ã¾ã™ï¼Ž
-
- #define GetDBM(obj, dbmp) {\
- Data_Get_Struct(obj, struct dbmdata, dbmp);\
- if (dbmp->di_dbm == 0) closed_dbm();\
- }
-
-ã¡ã‚‡ã£ã¨è¤‡é›‘ãªãƒžã‚¯ãƒ­ã§ã™ãŒï¼Œè¦ã™ã‚‹ã«dbmdata構造体ã®ãƒã‚¤ãƒ³ã‚¿
-ã®å–り出ã—ã¨ï¼Œcloseã•れã¦ã„ã‚‹ã‹ã©ã†ã‹ã®ãƒã‚§ãƒƒã‚¯ã‚’ã¾ã¨ã‚ã¦ã„
-ã‚‹ã ã‘ã§ã™ï¼Ž
-
-DBMクラスã«ã¯ãŸãã•んメソッドãŒã‚りã¾ã™ãŒï¼Œåˆ†é¡žã™ã‚‹ã¨3種類ã®
-引数ã®å—ã‘æ–¹ãŒã‚りã¾ã™ï¼Žã²ã¨ã¤ã¯å¼•æ•°ã®æ•°ãŒå›ºå®šã®ã‚‚ã®ã§ï¼Œä¾‹ã¨
-ã—ã¦ã¯deleteメソッドãŒã‚りã¾ã™ï¼Ždeleteメソッドを実装ã—ã¦ã„ã‚‹
-fdbm_delete()ã¯ã“ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ï¼Ž
-
- static VALUE
- fdbm_delete(VALUE obj, VALUE keystr)
- {
- /* ... */
- }
-
-å¼•æ•°ã®æ•°ãŒå›ºå®šã®ã‚¿ã‚¤ãƒ—ã¯ç¬¬1引数ãŒself,第2引数以é™ãŒãƒ¡ã‚½ãƒƒãƒ‰
-ã®å¼•æ•°ã¨ãªã‚Šã¾ã™ï¼Ž
-
-å¼•æ•°ã®æ•°ãŒä¸å®šã®ã‚‚ã®ã¯Cã®é…列ã§å—ã‘ã‚‹ã‚‚ã®ã¨Rubyã®é…列ã§å—ã‘
-ã‚‹ã‚‚ã®ã¨ãŒã‚りã¾ã™ï¼Ždbmライブラリã®ä¸­ã§ï¼ŒCã®é…列ã§å—ã‘ã‚‹ã‚‚ã®
-ã¯DBMã®ã‚¯ãƒ©ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã§ã‚ã‚‹open()ã§ã™ï¼Žã“れを実装ã—ã¦ã„ã‚‹é–¢
-æ•°fdbm_s_open()ã¯ã“ã†ãªã£ã¦ã„ã¾ã™ï¼Ž
-
- static VALUE
- fdbm_s_open(int argc, VALUE *argv, VALUE klass)
- {
- /* ... */
-
- if (rb_scan_args(argc, argv, "11", &file, &vmode) == 1) {
- mode = 0666; /* default value */
- }
-
- /* ... */
- }
-
-ã“ã®ã‚¿ã‚¤ãƒ—ã®é–¢æ•°ã¯ç¬¬1引数ãŒä¸Žãˆã‚‰ã‚ŒãŸå¼•æ•°ã®æ•°ï¼Œç¬¬2引数ãŒä¸Žãˆ
-られãŸå¼•æ•°ã®å…¥ã£ã¦ã„ã‚‹é…列ã«ãªã‚Šã¾ã™ï¼Žselfã¯ç¬¬3引数ã¨ã—ã¦ä¸Ž
-ãˆã‚‰ã‚Œã¾ã™ï¼Ž
-
-ã“ã®é…列ã§ä¸Žãˆã‚‰ã‚ŒãŸå¼•æ•°ã‚’è§£æžã™ã‚‹ãŸã‚ã®é–¢æ•°ãŒopen()ã§ã‚‚使ã‚
-れã¦ã„ã‚‹rb_scan_args()ã§ã™ï¼Žç¬¬3å¼•æ•°ã«æŒ‡å®šã—ãŸãƒ•ォーマットã«å¾“
-ã„,第4変数以é™ã«æŒ‡å®šã—ãŸVALUEã¸ã®å‚ç…§ã«å€¤ã‚’代入ã—ã¦ãれã¾
-ã™ï¼Ž
-
-
-引数をRubyã®é…列ã¨ã—ã¦å—ã‘å–るメソッドã®ä¾‹ã«ã¯
-Thread#initializeãŒã‚りã¾ã™ï¼Žå®Ÿè£…ã¯ã“ã†ã§ã™ï¼Ž
-
- static VALUE
- thread_initialize(VALUE thread, VALUE args)
- {
- /* ... */
- }
-
-第1引数ã¯self,第2引数ã¯Rubyã®é…列ã§ã™ï¼Ž
-
-*注æ„事項*
-
-Rubyã¨å…±æœ‰ã¯ã—ãªã„ãŒRubyã®ã‚ªãƒ–ジェクトを格ç´ã™ã‚‹å¯èƒ½æ€§ã®ã‚ã‚‹
-Cã®å¤§åŸŸå¤‰æ•°ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使ã£ã¦Rubyインタプリタã«å¤‰æ•°ã®å­˜åœ¨
-ã‚’æ•™ãˆã¦ã‚ã’ã¦ãã ã•ã„.ã§ãªã„ã¨GCã§ãƒˆãƒ©ãƒ–ルを起ã“ã—ã¾ã™ï¼Ž
+Ruby 1.1¤«¤é¤ÏǤ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥À¥¤¥Ê¥ß¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤òºî
+¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡¥Ruby¤ËÀÅŪ¤Ë¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Ë
+¤ÏRuby¤òŸ³«¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¡¤ext¥Ç¥£¥ì¥¯¥È¥ê¤ÎÃæ¤Ë³ÈÄ¥
+¥é¥¤¥Ö¥é¥êÍѤΥǥ£¥ì¥¯¥È¥ê¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥Ì¾Á°¤ÏŬÅö¤Ë
+Áª¤ó¤Ç¹½¤¤¤Þ¤»¤ó¡¥
+
+(2) À߷פ¹¤ë
+
+¤Þ¤¢¡¤ÅöÁ³¤Ê¤ó¤Ç¤¹¤±¤É¡¤¤É¤¦¤¤¤¦µ¡Ç½¤ò¼Â¸½¤¹¤ë¤«¤É¤¦¤«¤Þ¤ºÀß
+·×¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¤É¤ó¤Ê¥¯¥é¥¹¤ò¤Ä¤¯¤ë¤«¡¤¤½¤Î¥¯¥é¥¹¤Ë¤Ï
+¤É¤ó¤Ê¥á¥½¥Ã¥É¤¬¤¢¤ë¤«¡¤¥¯¥é¥¹¤¬Ä󶡤¹¤ëÄê¿ô¤Ê¤É¤Ë¤Ä¤¤¤ÆÀß·×
+¤·¤Þ¤¹¡¥
+
+(3) C¥³¡¼¥É¤ò½ñ¤¯
+
+³ÈÄ¥¥é¥¤¥Ö¥é¥êËÜÂΤȤʤëC¸À¸ì¤Î¥½¡¼¥¹¤ò½ñ¤­¤Þ¤¹¡¥C¸À¸ì¤Î¥½¡¼
+¥¹¤¬¤Ò¤È¤Ä¤Î»þ¤Ë¤Ï¡Ö¥é¥¤¥Ö¥é¥ê̾.c¡×¤òÁª¤Ö¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡¥C
+¸À¸ì¤Î¥½¡¼¥¹¤¬Ê£¿ô¤Î¾ì¹ç¤Ë¤ÏµÕ¤Ë¡Ö¥é¥¤¥Ö¥é¥ê̾.c¡×¤È¤¤¤¦¥Õ¥¡
+¥¤¥ë̾¤ÏÈò¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È¥â¥¸¥å¡¼
+¥ëÀ¸À®»þ¤ËÃæ´ÖŪ¤ËÀ¸À®¤µ¤ì¤ë¡Ö¥é¥¤¥Ö¥é¥ê̾.o¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë
+¤È¤¬¾×ÆÍ¤¹¤ë¤«¤é¤Ç¤¹¡¥
+
+Ruby¤Ï³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤¹¤ë»þ¤Ë¡ÖInit_¥é¥¤¥Ö¥é¥ê̾¡×¤È
+¤¤¤¦´Ø¿ô¤ò¼«Æ°Åª¤Ë¼Â¹Ô¤·¤Þ¤¹¡¥dbm¥é¥¤¥Ö¥é¥ê¤Î¾ì¹ç¡ÖInit_dbm¡×
+¤Ç¤¹¡¥¤³¤Î´Ø¿ô¤ÎÃæ¤Ç¥¯¥é¥¹¡¤¥â¥¸¥å¡¼¥ë¡¤¥á¥½¥Ã¥É¡¤Äê¿ô¤Ê¤É¤Î
+ÄêµÁ¤ò¹Ô¤¤¤Þ¤¹¡¥dbm.c¤«¤é°ìÉô°úÍѤ·¤Þ¤¹¡¥
+
+--
+Init_dbm()
+{
+ /* DBM¥¯¥é¥¹¤òÄêµÁ¤¹¤ë */
+ cDBM = rb_define_class("DBM", rb_cObject);
+ /* DBM¤ÏEnumerate¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë */
+ rb_include_module(cDBM, rb_mEnumerable);
+
+ /* DBM¥¯¥é¥¹¤Î¥¯¥é¥¹¥á¥½¥Ã¥Éopen(): °ú¿ô¤ÏC¤ÎÇÛÎó¤Ç¼õ¤±¤ë */
+ rb_define_singleton_method(cDBM, "open", fdbm_s_open, -1);
+
+ /* DBM¥¯¥é¥¹¤Î¥á¥½¥Ã¥Éclose(): °ú¿ô¤Ï¤Ê¤· */
+ rb_define_method(cDBM, "close", fdbm_close, 0);
+ /* DBM¥¯¥é¥¹¤Î¥á¥½¥Ã¥É[]: °ú¿ô¤Ï1¸Ä */
+ rb_define_method(cDBM, "[]", fdbm_fetch, 1);
+ :
+
+ /* DBM¥Ç¡¼¥¿¤ò³ÊǼ¤¹¤ë¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô̾¤Î¤¿¤á¤ÎID */
+ id_dbm = rb_intern("dbm");
+}
+--
+
+DBM¥é¥¤¥Ö¥é¥ê¤Ïdbm¤Î¥Ç¡¼¥¿¤ÈÂбþ¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ë¤Ï¤º¤Ç
+¤¹¤«¤é¡¤C¤ÎÀ¤³¦¤Îdbm¤òRuby¤ÎÀ¤³¦¤Ë¼è¤ê¹þ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
+
+
+dbm.c¤Ç¤ÏData_Make_Struct¤ò°Ê²¼¤Î¤è¤¦¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹¡¥
+
+--
+struct dbmdata {
+ int di_size;
+ DBM *di_dbm;
+};
+
+
+obj = Data_Make_Struct(klass, struct dbmdata, 0, free_dbm, dbmp);
+--
+
+¤³¤³¤Ç¤Ïdbmstruct¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤òData¤Ë¥«¥×¥»¥ë²½¤·¤Æ¤¤
+¤Þ¤¹¡¥DBM*¤òľÀÜ¥«¥×¥»¥ë²½¤·¤Ê¤¤¤Î¤Ïclose()¤·¤¿»þ¤Î½èÍý¤ò¹Í
+¤¨¤Æ¤Î¤³¤È¤Ç¤¹¡¥
+
+Data¥ª¥Ö¥¸¥§¥¯¥È¤«¤édbmstruct¹½Â¤ÂΤΥݥ¤¥ó¥¿¤ò¼è¤ê½Ð¤¹¤¿¤á
+¤Ë°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡¥
+
+--
+#define GetDBM(obj, dbmp) {\
+ Data_Get_Struct(obj, struct dbmdata, dbmp);\
+ if (dbmp->di_dbm == 0) closed_dbm();\
+}
+--
+
+¤Á¤ç¤Ã¤ÈÊ£»¨¤Ê¥Þ¥¯¥í¤Ç¤¹¤¬¡¤Íפ¹¤ë¤Ëdbmdata¹½Â¤ÂΤΥݥ¤¥ó¥¿
+¤Î¼è¤ê½Ð¤·¤È¡¤close¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Á¥§¥Ã¥¯¤ò¤Þ¤È¤á¤Æ¤¤
+¤ë¤À¤±¤Ç¤¹¡¥
+
+DBM¥¯¥é¥¹¤Ë¤Ï¤¿¤¯¤µ¤ó¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¤¬¡¤Ê¬Îह¤ë¤È3¼ïÎà¤Î
+°ú¿ô¤Î¼õ¤±Êý¤¬¤¢¤ê¤Þ¤¹¡¥¤Ò¤È¤Ä¤Ï°ú¿ô¤Î¿ô¤¬¸ÇÄê¤Î¤â¤Î¤Ç¡¤Îã¤È
+¤·¤Æ¤Ïdelete¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡¥delete¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤¤¤ë
+fdbm_delete()¤Ï¤³¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥
+
+--
+static VALUE
+fdbm_delete(obj, keystr)
+ VALUE obj, keystr;
+{
+ :
+}
+--
+
+°ú¿ô¤Î¿ô¤¬¸ÇÄê¤Î¥¿¥¤¥×¤ÏÂè1°ú¿ô¤¬self¡¤Âè2°ú¿ô°Ê¹ß¤¬¥á¥½¥Ã¥É
+¤Î°ú¿ô¤È¤Ê¤ê¤Þ¤¹¡¥
+
+°ú¿ô¤Î¿ô¤¬ÉÔÄê¤Î¤â¤Î¤ÏC¤ÎÇÛÎó¤Ç¼õ¤±¤ë¤â¤Î¤ÈRuby¤ÎÇÛÎó¤Ç¼õ¤±
+¤ë¤â¤Î¤È¤¬¤¢¤ê¤Þ¤¹¡¥dbm¥é¥¤¥Ö¥é¥ê¤ÎÃæ¤Ç¡¤C¤ÎÇÛÎó¤Ç¼õ¤±¤ë¤â¤Î
+¤ÏDBM¤Î¥¯¥é¥¹¥á¥½¥Ã¥É¤Ç¤¢¤ëopen()¤Ç¤¹¡¥¤³¤ì¤ò¼ÂÁõ¤·¤Æ¤¤¤ë´Ø
+¿ôfdbm_s_open()¤Ï¤³¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥
+
+--
+static VALUE
+fdbm_s_open(argc, argv, klass)
+ int argc;
+ VALUE *argv;
+ VALUE klass;
+{
+ :
+ if (rb_scan_args(argc, argv, "11", &file, &vmode) == 1) {
+ mode = 0666; /* default value */
+ }
+ :
+}
+--
+
+¤³¤Î¥¿¥¤¥×¤Î´Ø¿ô¤ÏÂè1°ú¿ô¤¬Í¿¤¨¤é¤ì¤¿°ú¿ô¤Î¿ô¡¤Âè2°ú¿ô¤¬Í¿¤¨
+¤é¤ì¤¿°ú¿ô¤ÎÆþ¤Ã¤Æ¤¤¤ëÇÛÎó¤Ë¤Ê¤ê¤Þ¤¹¡¥self¤ÏÂè3°ú¿ô¤È¤·¤ÆÍ¿
+¤¨¤é¤ì¤Þ¤¹¡¥
+
+¤³¤ÎÇÛÎó¤ÇÍ¿¤¨¤é¤ì¤¿°ú¿ô¤ò²òÀϤ¹¤ë¤¿¤á¤Î´Ø¿ô¤¬open()¤Ç¤â»È¤ï
+¤ì¤Æ¤¤¤ërb_scan_args()¤Ç¤¹¡¥Âè3°ú¿ô¤Ë»ØÄꤷ¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë
+½¾¤¤¡¤Âè4ÊÑ¿ô°Ê¹ß¤Ë»ØÄꤷ¤¿ÊÑ¿ô¤ËÃͤòÂåÆþ¤·¤Æ¤¯¤ì¤Þ¤¹¡¥¤³¤Î
+¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¤Âè1ʸ»úÌܤ¬¾Êά¤Ç¤­¤Ê¤¤°ú¿ô¤Î¿ô¡¤Âè2ʸ»úÌܤ¬
+¾Êά¤Ç¤­¤ë°ú¿ô¤Î¿ô¡¤Âè3ʸ»úÌܤ¬Âбþ¤¹¤ëÁê¼ê¤¬Ìµ¤¤¤¢¤Þ¤ê¤Î°ú
+¿ô¤¬¤¢¤ë¤«¤É¤¦¤«¤ò¼¨¤¹"*"¤Ç¤¹¡¥2ʸ»úÌܤÈ3ʸ»úÌܤϾÊά¤Ç¤­¤Þ
+¤¹¡¥dbm.c¤ÎÎã¤Ç¤Ï¡¤¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï"11"¤Ç¤¹¤«¤é¡¤°ú¿ô¤ÏºÇÄã1¤Ä
+¤Ç¡¤2¤Ä¤Þ¤Çµö¤µ¤ì¤ë¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡¥¾Êά¤µ¤ì¤Æ¤¤¤ë»þ¤Î
+ÊÑ¿ô¤ÎÃͤÏnil(C¸À¸ì¤Î¥ì¥Ù¥ë¤Ç¤ÏQnil)¤Ë¤Ê¤ê¤Þ¤¹¡¥
+
+Ruby¤ÎÇÛÎó¤Ç°ú¿ô¤ò¼õ¤±¼è¤ë¤â¤Î¤Ïindexes¤¬¤¢¤ê¤Þ¤¹¡¥¼ÂÁõ¤Ï¤³
+¤¦¤Ç¤¹¡¥
+
+--
+static VALUE
+fdbm_indexes(obj, args)
+ VALUE obj, args;
+{
+ :
+}
+--
+
+Âè1°ú¿ô¤Ïself¡¤Âè2°ú¿ô¤ÏRuby¤ÎÇÛÎó¤Ç¤¹¡¥
+
+** Ãí°Õ»ö¹à
+
+Ruby¤È¶¦Í­¤Ï¤·¤Ê¤¤¤¬Ruby¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò³ÊǼ¤¹¤ë²ÄǽÀ­¤Î¤¢¤ë
+C¤ÎÂç°èÊÑ¿ô¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤Ã¤ÆRuby¥¤¥ó¥¿¥×¥ê¥¿¤ËÊÑ¿ô¤Î¸ºß
+¤ò¶µ¤¨¤Æ¤¢¤²¤Æ¤¯¤À¤µ¤¤¡¥¤Ç¤Ê¤¤¤ÈGC¤Ç¥È¥é¥Ö¥ë¤òµ¯¤³¤·¤Þ¤¹¡¥
void rb_global_variable(VALUE *var)
-== extconf.rbを用æ„ã™ã‚‹
+(4) extconf.rb¤òÍѰդ¹¤ë
-Makefileを作る場åˆã®é››åž‹ã«ãªã‚‹extconf.rbã¨ã„ã†ãƒ•ァイルを作り
-ã¾ã™ï¼Žextconf.rbã¯ãƒ©ã‚¤ãƒ–ラリã®ã‚³ãƒ³ãƒ‘イルã«å¿…è¦ãªæ¡ä»¶ã®ãƒã‚§ãƒƒ
-クãªã©ã‚’行ã†ã“ã¨ãŒç›®çš„ã§ã™ï¼Žã¾ãšï¼Œ
+Makefile¤òºî¤ë¾ì¹ç¤Î¿÷·¿¤Ë¤Ê¤ëextconf.rb¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤ê
+¤Þ¤¹¡¥extconf.rb¤Ï¥é¥¤¥Ö¥é¥ê¤Î¥³¥ó¥Ñ¥¤¥ë¤ËɬÍפʾò·ï¤Î¥Á¥§¥Ã
+¥¯¤Ê¤É¤ò¹Ô¤¦¤³¤È¤¬ÌÜŪ¤Ç¤¹¡¥¤Þ¤º¡¤
require 'mkmf'
-ã‚’extconf.rbã®å…ˆé ­ã«ç½®ãã¾ã™ï¼Žextconf.rbã®ä¸­ã§ã¯ä»¥ä¸‹ã®Rubyé–¢
-数を使ã†ã“ã¨ãŒå‡ºæ¥ã¾ã™ï¼Ž
+¤òextconf.rb¤ÎÀèÆ¬¤ËÃÖ¤­¤Þ¤¹¡¥extconf.rb¤ÎÃæ¤Ç¤Ï°Ê²¼¤ÎRuby´Ø
+¿ô¤ò»È¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥
- have_library(lib, func): ライブラリã®å­˜åœ¨ãƒã‚§ãƒƒã‚¯
- have_func(func, header): 関数ã®å­˜åœ¨ãƒã‚§ãƒƒã‚¯
- have_header(header): ヘッダファイルã®å­˜åœ¨ãƒã‚§ãƒƒã‚¯
- create_makefile(target[, target_prefix]): Makefileã®ç”Ÿæˆ
+ have_library(lib, func): ¥é¥¤¥Ö¥é¥ê¤Î¸ºß¥Á¥§¥Ã¥¯
+ have_func(func, header): ´Ø¿ô¤Î¸ºß¥Á¥§¥Ã¥¯
+ have_header(header): ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¸ºß¥Á¥§¥Ã¥¯
+ create_makefile(target): Makefile¤ÎÀ¸À®
-以下ã®å¤‰æ•°ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ï¼Ž
+°Ê²¼¤ÎÊÑ¿ô¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥
- $CFLAGS: コンパイル時ã«è¿½åŠ çš„ã«æŒ‡å®šã™ã‚‹ãƒ•ラグ(-Oãªã©)
- $CPPFLAGS: プリプロセッサã«è¿½åŠ çš„ã«æŒ‡å®šã™ã‚‹ãƒ•ラグ(-Iã‚„-Dãªã©)
- $LDFLAGS: リンク時ã«è¿½åŠ çš„ã«æŒ‡å®šã™ã‚‹ãƒ•ラグ(-Lãªã©)
- $objs: リンクã•れるオブジェクトファイルåã®ãƒªã‚¹ãƒˆ
+ $CFLAGS: ¥³¥ó¥Ñ¥¤¥ë»þ¤ËÄɲÃŪ¤Ë»ØÄꤹ¤ë¥Õ¥é¥°(-O¤Ê¤É)
+ $CPPFLAGS: ¥×¥ê¥×¥í¥»¥Ã¥µ¤ËÄɲÃŪ¤Ë»ØÄꤹ¤ë¥Õ¥é¥°(-I¤ä-D¤Ê¤É)
+ $LDFLAGS: ¥ê¥ó¥¯»þ¤ËÄɲÃŪ¤Ë»ØÄꤹ¤ë¥Õ¥é¥°(-L¤Ê¤É)
+ $objs: ¥ê¥ó¥¯¤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È
-オブジェクトファイルã®ãƒªã‚¹ãƒˆã¯ï¼Œé€šå¸¸ã¯ã‚½ãƒ¼ã‚¹ãƒ•ァイルを検索ã—
-ã¦è‡ªå‹•çš„ã«ç”Ÿæˆã•れã¾ã™ãŒï¼Œmakeã®é€”中ã§ã‚½ãƒ¼ã‚¹ã‚’生æˆã™ã‚‹ã‚ˆã†ãª
-å ´åˆã¯æ˜Žç¤ºçš„ã«æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ï¼Ž
+¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤Ï¡¢Ä̾ï¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·
+¤Æ¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤Þ¤¹¤¬¡¢make¤ÎÅÓÃæ¤Ç¥½¡¼¥¹¤òÀ¸À®¤¹¤ë¤è¤¦¤Ê
+¾ì¹ç¤ÏÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-ライブラリをコンパイルã™ã‚‹æ¡ä»¶ãŒæƒã‚ãšï¼Œãã®ãƒ©ã‚¤ãƒ–ラリをコン
-パイルã—ãªã„時ã«ã¯create_makefileを呼ã°ãªã‘れã°Makefileã¯ç”Ÿ
-æˆã•れãšï¼Œã‚³ãƒ³ãƒ‘イルも行ã‚れã¾ã›ã‚“.
+¥é¥¤¥Ö¥é¥ê¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ò·ï¤¬Â·¤ï¤º¡¤¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥³¥ó
+¥Ñ¥¤¥ë¤·¤Ê¤¤»þ¤Ë¤Ïcreate_makefile¤ò¸Æ¤Ð¤Ê¤±¤ì¤ÐMakefile¤ÏÀ¸
+À®¤µ¤ì¤º¡¤¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤ï¤ì¤Þ¤»¤ó¡¥
-== dependを用æ„ã™ã‚‹
+(5) depend¤òÍѰդ¹¤ë
-ã‚‚ã—,ディレクトリã«dependã¨ã„ã†ãƒ•ァイルãŒå­˜åœ¨ã™ã‚Œã°ï¼Œ
-MakefileãŒä¾å­˜é–¢ä¿‚ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãれã¾ã™ï¼Ž
+¤â¤·¡¤¥Ç¥£¥ì¥¯¥È¥ê¤Ëdepend¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¡¤
+Makefile¤¬°Í¸´Ø·¸¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤ì¤Þ¤¹¡¥
% gcc -MM *.c > depend
-ãªã©ã§ä½œã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ï¼Žã‚ã£ã¦æã¯ç„¡ã„ã§ã—ょã†ï¼Ž
+¤Ê¤É¤Çºî¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥¤¢¤Ã¤ÆÂ»¤Ï̵¤¤¤Ç¤·¤ç¤¦¡¥
-== Makefileを生æˆã™ã‚‹
+(6) Makefile¤òÀ¸À®¤¹¤ë
-Makefileを実際ã«ç”Ÿæˆã™ã‚‹ãŸã‚ã«ã¯
+Makefile¤ò¼ÂºÝ¤ËÀ¸À®¤¹¤ë¤¿¤á¤Ë¤Ï
ruby extconf.rb
-ã¨ã—ã¾ã™ï¼Žextconf.rbã« require 'mkmf' ã®è¡ŒãŒãªã„å ´åˆã«ã¯ã‚¨ãƒ©ãƒ¼
-ã«ãªã‚Šã¾ã™ã®ã§ï¼Œå¼•数を追加ã—ã¦
+¤È¤·¤Þ¤¹¡¥extconf.rb¤Ë require 'mkmf' ¤Î¹Ô¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼
+¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¤°ú¿ô¤òÄɲä·¤Æ
ruby -r mkmf extconf.rb
-ã¨ã—ã¦ãã ã•ã„.
-
-site_ruby ディレクトリã§ãªã,
-vendor_ruby ディレクトリã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹å ´åˆã«ã¯
-以下ã®ã‚ˆã†ã« --vendor オプションを加ãˆã¦ãã ã•ã„.
-
- ruby extconf.rb --vendor
-
-ディレクトリをext以下ã«ç”¨æ„ã—ãŸå ´åˆã«ã¯Ruby全体ã®makeã®æ™‚ã«
-自動的ã«MakefileãŒç”Ÿæˆã•れã¾ã™ã®ã§ï¼Œã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯ä¸è¦ã§ã™ï¼Ž
+¤È¤·¤Æ¤¯¤À¤µ¤¤¡¥
-== makeã™ã‚‹
+¥Ç¥£¥ì¥¯¥È¥ê¤òext°Ê²¼¤ËÍѰդ·¤¿¾ì¹ç¤Ë¤ÏRubyÁ´ÂΤÎmake¤Î»þ¤Ë
+¼«Æ°Åª¤ËMakefile¤¬À¸À®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¤¤³¤Î¥¹¥Æ¥Ã¥×¤ÏÉÔÍפǤ¹¡¥
-動的リンクライブラリを生æˆã™ã‚‹å ´åˆã«ã¯ãã®å ´ã§makeã—ã¦ãã ã•
-ã„.必è¦ã§ã‚れ㰠make install ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã™ï¼Ž
+(7) make¤¹¤ë
-ext以下ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—ãŸå ´åˆã¯ï¼ŒRubyã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§
-makeを実行ã™ã‚‹ã¨Makefileを生æˆã‹ã‚‰make,必è¦ã«ã‚ˆã£ã¦ã¯ãã®ãƒ¢
-ジュールã®Rubyã¸ã®ãƒªãƒ³ã‚¯ã¾ã§è‡ªå‹•çš„ã«å®Ÿè¡Œã—ã¦ãれã¾ã™ï¼Ž
-extconf.rbã‚’æ›¸ãæ›ãˆã‚‹ãªã©ã—ã¦Makefileã®å†ç”ŸæˆãŒå¿…è¦ãªæ™‚ã¯ã¾
-ãŸRubyディレクトリã§makeã—ã¦ãã ã•ã„.
+ưŪ¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Ï¤½¤Î¾ì¤Çmake¤·¤Æ¤¯¤À¤µ
+¤¤¡¥É¬ÍפǤ¢¤ì¤Ð make install ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡¥
-拡張ライブラリã¯make installã§Rubyライブラリã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®
-下ã«ã‚³ãƒ”ーã•れã¾ã™ï¼Žã‚‚ã—æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã¨å”調ã—ã¦ä½¿ã†Rubyã§è¨˜
-è¿°ã•れãŸãƒ—ログラムãŒã‚り,Rubyライブラリã«ç½®ããŸã„å ´åˆã«ã¯ï¼Œ
-拡張ライブラリ用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä¸‹ã« lib ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
-を作り,ãã“ã« æ‹¡å¼µå­ .rb ã®ãƒ•ァイルを置ã„ã¦ãŠã‘ã°åŒæ™‚ã«ã‚¤ãƒ³
-ストールã•れã¾ã™ï¼Ž
+ext°Ê²¼¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÍѰդ·¤¿¾ì¹ç¤Ï¡¤Ruby¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç
+make¤ò¼Â¹Ô¤¹¤ë¤ÈMakefile¤òÀ¸À®¤«¤émake¡¤É¬Íפˤè¤Ã¤Æ¤Ï¤½¤Î¥â
+¥¸¥å¡¼¥ë¤ÎRuby¤Ø¤Î¥ê¥ó¥¯¤Þ¤Ç¼«Æ°Åª¤Ë¼Â¹Ô¤·¤Æ¤¯¤ì¤Þ¤¹¡¥
+extconf.rb¤ò½ñ¤­´¹¤¨¤ë¤Ê¤É¤·¤ÆMakefile¤ÎºÆÀ¸À®¤¬É¬Íפʻþ¤Ï¤Þ
+¤¿Ruby¥Ç¥£¥ì¥¯¥È¥ê¤Çmake¤·¤Æ¤¯¤À¤µ¤¤¡¥
-== デãƒãƒƒã‚°
+³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ïmake install¤ÇRuby¥é¥¤¥Ö¥é¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î
+²¼¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥¤â¤·³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤È¶¨Ä´¤·¤Æ»È¤¦Ruby¤Çµ­
+½Ò¤µ¤ì¤¿¥×¥í¥°¥é¥à¤¬¤¢¤ê¡¤Ruby¥é¥¤¥Ö¥é¥ê¤ËÃÖ¤­¤¿¤¤¾ì¹ç¤Ë¤Ï¡¤
+³ÈÄ¥¥é¥¤¥Ö¥é¥êÍѤΥǥ£¥ì¥¯¥È¥ê¤Î²¼¤Ë lib ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê
+¤òºî¤ê¡¤¤½¤³¤Ë ³ÈÄ¥»Ò .rb ¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤Æ¤ª¤±¤ÐƱ»þ¤Ë¥¤¥ó
+¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡¥
-ã¾ã‚,デãƒãƒƒã‚°ã—ãªã„ã¨å‹•ã‹ãªã„ã§ã—ょã†ã­ï¼Žext/Setupã«ãƒ‡ã‚£ãƒ¬
-クトリåを書ãã¨é™çš„ã«ãƒªãƒ³ã‚¯ã™ã‚‹ã®ã§ãƒ‡ãƒãƒƒã‚¬ãŒä½¿ãˆã‚‹ã‚ˆã†ã«ãª
-りã¾ã™ï¼Žãã®åˆ†ã‚³ãƒ³ãƒ‘イルãŒé…ããªã‚Šã¾ã™ã‘ã©ï¼Ž
+(8) ¥Ç¥Ð¥Ã¥°
-== ã§ãã‚ãŒã‚Š
+¤Þ¤¢¡¤¥Ç¥Ð¥Ã¥°¤·¤Ê¤¤¤Èư¤«¤Ê¤¤¤Ç¤·¤ç¤¦¤Í¡¥ext/Setup¤Ë¥Ç¥£¥ì
+¥¯¥È¥ê̾¤ò½ñ¤¯¤ÈÀÅŪ¤Ë¥ê¥ó¥¯¤¹¤ë¤Î¤Ç¥Ç¥Ð¥Ã¥¬¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê
+¤ê¤Þ¤¹¡¥¤½¤Îʬ¥³¥ó¥Ñ¥¤¥ë¤¬ÃÙ¤¯¤Ê¤ê¤Þ¤¹¤±¤É¡¥
-後ã¯ã“ã£ãり使ã†ãªã‚Šï¼Œåºƒã公開ã™ã‚‹ãªã‚Šï¼Œå£²ã‚‹ãªã‚Šï¼Œã”自由ã«ãŠ
-使ã„ãã ã•ã„.Rubyã®ä½œè€…ã¯æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã«é–¢ã—ã¦ä¸€åˆ‡ã®æ¨©åˆ©ã‚’
-主張ã—ã¾ã›ã‚“.
+(9) ¤Ç¤­¤¢¤¬¤ê
-= Appendix A. Rubyã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®åˆ†é¡ž
+¸å¤Ï¤³¤Ã¤½¤ê»È¤¦¤Ê¤ê¡¤¹­¤¯¸ø³«¤¹¤ë¤Ê¤ê¡¤Çä¤ë¤Ê¤ê¡¤¤´¼«Í³¤Ë¤ª
+»È¤¤¤¯¤À¤µ¤¤¡¥Ruby¤Îºî¼Ô¤Ï³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ë´Ø¤·¤Æ°ìÀڤθ¢Íø¤ò
+¼çÄ¥¤·¤Þ¤»¤ó¡¥
-Rubyã®ã‚½ãƒ¼ã‚¹ã¯ã„ãã¤ã‹ã«åˆ†é¡žã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ï¼Žã“ã®ã†ã¡ã‚¯ãƒ©
-スライブラリã®éƒ¨åˆ†ã¯åŸºæœ¬çš„ã«æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã¨åŒã˜ä½œã‚Šæ–¹ã«ãªã£
-ã¦ã„ã¾ã™ï¼Žã“れらã®ã‚½ãƒ¼ã‚¹ã¯ä»Šã¾ã§ã®èª¬æ˜Žã§ã»ã¨ã‚“ã©ç†è§£ã§ãã‚‹ã¨
-æ€ã„ã¾ã™ï¼Ž
+Appendix A. Ruby¤Î¥½¡¼¥¹¥³¡¼¥É¤ÎʬÎà
-== Ruby言語ã®ã‚³ã‚¢
+Ruby¤Î¥½¡¼¥¹¤Ï¤¤¤¯¤Ä¤«¤ËʬÎह¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥¤³¤Î¤¦¤Á¥¯¥é
+¥¹¥é¥¤¥Ö¥é¥ê¤ÎÉôʬ¤Ï´ðËÜŪ¤Ë³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤ÈƱ¤¸ºî¤êÊý¤Ë¤Ê¤Ã
+¤Æ¤¤¤Þ¤¹¡¥¤³¤ì¤é¤Î¥½¡¼¥¹¤Ïº£¤Þ¤Ç¤ÎÀâÌÀ¤Ç¤Û¤È¤ó¤ÉÍý²ò¤Ç¤­¤ë¤È
+»×¤¤¤Þ¤¹¡¥
-class.c :: クラスã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
-error.c :: 例外クラスã¨ä¾‹å¤–機構
-gc.c :: 記憶領域管ç†
-load.c :: ライブラリã®ãƒ­ãƒ¼ãƒ‰
-object.c :: オブジェクト
-variable.c :: 変数ã¨å®šæ•°
+Ruby¸À¸ì¤Î¥³¥¢
-== Rubyã®æ§‹æ–‡è§£æžå™¨
-
- parse.y : å­—å¥è§£æžå™¨ã¨æ§‹æ–‡å®šç¾©
- -> parse.c : 自動生æˆ
- keywords : 予約語
- -> lex.c : 自動生æˆ
-
-== Rubyã®è©•価器 (通称YARV)
- compile.c
+ class.c
+ error.c
eval.c
- eval_error.c
- eval_jump.c
- eval_safe.c
- insns.def : 仮想機械語ã®å®šç¾©
- iseq.c : VM::ISeqã®å®Ÿè£…
- thread.c : スレッド管ç†ã¨ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆåˆ‡ã‚Šæ›¿ãˆ
- thread_win32.c : スレッド実装
- thread_pthread.c : åŒä¸Š
- vm.c
- vm_dump.c
- vm_eval.c
- vm_exec.c
- vm_insnhelper.c
- vm_method.c
-
- opt_insns_unif.def : 命令èžåˆ
- opt_operand.def : 最é©åŒ–ã®ãŸã‚ã®å®šç¾©
-
- -> insn*.inc : 自動生æˆ
- -> opt*.inc : 自動生æˆ
- -> vm.inc : 自動生æˆ
-
-== æ­£è¦è¡¨ç¾ã‚¨ãƒ³ã‚¸ãƒ³ (鬼車)
-
- regex.c
- regcomp.c
- regenc.c
- regerror.c
- regexec.c
- regparse.c
- regsyntax.c
+ gc.c
+ object.c
+ parse.y
+ variable.c
-== ユーティリティ関数
+¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô
-debug.c :: Cデãƒãƒƒã‚¬ç”¨ã®ãƒ‡ãƒãƒƒã‚°ã‚·ãƒ³ãƒœãƒ«
-dln.c :: 動的ローディング
-st.c :: 汎用ãƒãƒƒã‚·ãƒ¥è¡¨
-strftime.c :: 時刻整形
-util.c :: ãã®ä»–ã®ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£
+ dln.c
+ regex.c
+ st.c
+ util.c
-== Rubyコマンドã®å®Ÿè£…
+Ruby¥³¥Þ¥ó¥É¤Î¼ÂÁõ
dmyext.c
- dmydln.c
- dmyencoding.c
- id.c
inits.c
main.c
ruby.c
version.c
- gem_prelude.rb
- prelude.rb
-
-== クラスライブラリ
-
-array.c :: Array
-bignum.c :: Bignum
-compar.c :: Comparable
-complex.c :: Complex
-cont.c :: Fiber, Continuation
-dir.c :: Dir
-enum.c :: Enumerable
-enumerator.c :: Enumerator
-file.c :: File
-hash.c :: Hash
-io.c :: IO
-marshal.c :: Marshal
-math.c :: Math
-numeric.c :: Numeric, Integer, Fixnum, Float
-pack.c :: Array#pack, String#unpack
-proc.c :: Binding, Proc
-process.c :: Process
-random.c :: 乱数
-range.c :: Range
-rational.c :: Rational
-re.c :: Regexp, MatchData
-signal.c :: Signal
-sprintf.c :: String#sprintf
-string.c :: String
-struct.c :: Struct
-time.c :: Time
-defs/known_errors.def :: 例外クラス Errno::*
--> known_errors.inc :: 自動生æˆ
+¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê
-== 多言語化
+ array.c
+ bignum.c
+ compar.c
+ dir.c
+ enum.c
+ file.c
+ hash.c
+ io.c
+ marshal.c
+ math.c
+ numeric.c
+ pack.c
+ prec.c
+ process.c
+ random.c
+ range.c
+ re.c
+ signal.c
+ sprintf.c
+ string.c
+ struct.c
+ time.c
-encoding.c :: Encoding
-transcode.c :: Encoding::Converter
-enc/*.c :: エンコーディングクラス群
-enc/trans/* :: コードãƒã‚¤ãƒ³ãƒˆå¯¾å¿œè¡¨
+Appendix B. ³ÈÄ¥ÍÑ´Ø¿ô¥ê¥Õ¥¡¥ì¥ó¥¹
-== gorubyコマンドã®å®Ÿè£…
+C¸À¸ì¤«¤éRuby¤Îµ¡Ç½¤òÍøÍѤ¹¤ëAPI¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
- goruby.c
- golf_prelude.rb : goruby固有ã®ãƒ©ã‚¤ãƒ–ラリ
- -> golf_prelude.c : 自動生æˆ
+** ·¿
-= Appendix B. 拡張用関数リファレンス
+VALUE
-C言語ã‹ã‚‰Rubyã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹APIã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る.
+ Ruby¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ë·¿¡¥É¬Íפ˱þ¤¸¤Æ¥­¥ã¥¹¥È¤·¤ÆÍѤ¤¤ë¡¥
+ ÁȤ߹þ¤ß·¿¤òɽ¸½¤¹¤ëC¤Î·¿¤Ïruby.h¤Ëµ­½Ò¤·¤Æ¤¢¤ëR¤Ç»Ï¤Þ¤ë¹½Â¤
+ ÂΤǤ¢¤ë¡¥VALUE·¿¤ò¤³¤ì¤é¤Ë¥­¥ã¥¹¥È¤¹¤ë¤¿¤á¤ËR¤Ç»Ï¤Þ¤ë¹½Â¤ÂÎ
+ ̾¤òÁ´¤ÆÂçʸ»ú¤Ë¤·¤¿Ì¾Á°¤Î¥Þ¥¯¥í¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡¥
-== åž‹
+** ÊÑ¿ô¡¦Äê¿ô
-VALUE ::
+Qnil
- Rubyオブジェクトを表ç¾ã™ã‚‹åž‹ï¼Žå¿…è¦ã«å¿œã˜ã¦ã‚­ãƒ£ã‚¹ãƒˆã—ã¦ç”¨ã„る.
- 組ã¿è¾¼ã¿åž‹ã‚’表ç¾ã™ã‚‹Cã®åž‹ã¯ruby.hã«è¨˜è¿°ã—ã¦ã‚ã‚‹Rã§å§‹ã¾ã‚‹æ§‹é€ 
- 体ã§ã‚る.VALUE型をã“れらã«ã‚­ãƒ£ã‚¹ãƒˆã™ã‚‹ãŸã‚ã«Rã§å§‹ã¾ã‚‹æ§‹é€ ä½“
- åã‚’å…¨ã¦å¤§æ–‡å­—ã«ã—ãŸåå‰ã®ãƒžã‚¯ãƒ­ãŒç”¨æ„ã•れã¦ã„る.
+ Äê¿ô: nil¥ª¥Ö¥¸¥§¥¯¥È
-== 変数・定数
+Qtrue
-Qnil ::
+ Äê¿ô: true¥ª¥Ö¥¸¥§¥¯¥È(¿¿¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ)
- 定数: nilオブジェクト
+Qfalse
-Qtrue ::
+ Äê¿ô: false¥ª¥Ö¥¸¥§¥¯¥È
- 定数: trueオブジェクト(真ã®ãƒ‡ãƒ•ォルト値)
+** C¥Ç¡¼¥¿¤Î¥«¥×¥»¥ë²½
-Qfalse ::
+Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)
- 定数: falseオブジェクト
+ C¤ÎǤ°Õ¤Î¥Ý¥¤¥ó¥¿¤ò¥«¥×¥»¥ë²½¤·¤¿Ruby¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥¤³
+ ¤Î¥Ý¥¤¥ó¥¿¤¬Ruby¤«¤é¥¢¥¯¥»¥¹¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿»þ¡¤free¤Ç»ØÄꤷ¤¿
+ ´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë¡¥¤Þ¤¿¡¤¤³¤Î¥Ý¥¤¥ó¥¿¤Î»Ø¤¹¥Ç¡¼¥¿¤¬Â¾¤ÎRuby¥ª¥Ö
+ ¥¸¥§¥¯¥È¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç¡¤mark¤Ë»ØÄꤹ¤ë´Ø¿ô¤Ç¥Þ¡¼¥¯¤¹¤ëɬÍ×
+ ¤¬¤¢¤ë¡¥
-== Cデータã®ã‚«ãƒ—セル化
+Data_Make_Struct(klass, type, mark, free, sval)
-Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval) ::
+ type·¿¤Î¥á¥â¥ê¤òmalloc¤·¡¤ÊÑ¿ôsval¤ËÂåÆþ¤·¤¿¸å¡¤¤½¤ì¤ò¥«¥×¥»
+ ¥ë²½¤·¤¿¥Ç¡¼¥¿¤òÊÖ¤¹¥Þ¥¯¥í¡¥
- Cã®ä»»æ„ã®ãƒã‚¤ãƒ³ã‚¿ã‚’カプセル化ã—ãŸRubyオブジェクトを返ã™ï¼Žã“
- ã®ãƒã‚¤ãƒ³ã‚¿ãŒRubyã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã•れãªããªã£ãŸæ™‚,freeã§æŒ‡å®šã—ãŸ
- 関数ãŒå‘¼ã°ã‚Œã‚‹ï¼Žã¾ãŸï¼Œã“ã®ãƒã‚¤ãƒ³ã‚¿ã®æŒ‡ã™ãƒ‡ãƒ¼ã‚¿ãŒä»–ã®Rubyオブ
- ジェクトを指ã—ã¦ã„ã‚‹å ´åˆï¼Œmarkã«æŒ‡å®šã™ã‚‹é–¢æ•°ã§ãƒžãƒ¼ã‚¯ã™ã‚‹å¿…è¦
- ãŒã‚る.
+Data_Get_Struct(data, type, sval)
-Data_Make_Struct(klass, type, mark, free, sval) ::
+ data¤«¤étype·¿¤Î¥Ý¥¤¥ó¥¿¤ò¼è¤ê½Ð¤·ÊÑ¿ôsval¤ËÂåÆþ¤¹¤ë¥Þ¥¯¥í¡¥
- typeåž‹ã®ãƒ¡ãƒ¢ãƒªã‚’mallocã—,変数svalã«ä»£å…¥ã—ãŸå¾Œï¼Œãれをカプセ
- ル化ã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’è¿”ã™ãƒžã‚¯ãƒ­ï¼Ž
+** ·¿¥Á¥§¥Ã¥¯
-Data_Get_Struct(data, type, sval) ::
+TYPE(value)
+FIXNUM_P(value)
+NIL_P(value)
+void Check_Type(VALUE value, int type)
+void Check_SafeStr(VALUE value)
- dataã‹ã‚‰typeåž‹ã®ãƒã‚¤ãƒ³ã‚¿ã‚’å–り出ã—変数svalã«ä»£å…¥ã™ã‚‹ãƒžã‚¯ãƒ­ï¼Ž
+** ·¿ÊÑ´¹
-== åž‹ãƒã‚§ãƒƒã‚¯
-
- TYPE(value)
- FIXNUM_P(value)
- NIL_P(value)
- void Check_Type(VALUE value, int type)
- SafeStringValue(value)
+FIX2INT(value)
+INT2FIX(i)
+NUM2INT(value)
+INT2NUM(i)
+NUM2DBL(value)
+rb_float_new(f)
+StringValue(value)
+StringValuePtr(value)
+StringValueCStr(value)
+rb_str_new2(s)
-== 型変æ›
+** ¥¯¥é¥¹/¥â¥¸¥å¡¼¥ëÄêµÁ
- FIX2INT(value), INT2FIX(i)
- FIX2LONG(value), LONG2FIX(l)
- NUM2INT(value), INT2NUM(i)
- NUM2UINT(value), UINT2NUM(ui)
- NUM2LONG(value), LONG2NUM(l)
- NUM2ULONG(value), ULONG2NUM(ul)
- NUM2LL(value), LL2NUM(ll)
- NUM2ULL(value), ULL2NUM(ull)
- NUM2OFFT(value), OFFT2NUM(off)
- NUM2SIZET(value), SIZET2NUM(size)
- NUM2SSIZET(value), SSIZET2NUM(ssize)
- rb_integer_pack(value, words, numwords, wordsize, nails, flags), rb_integer_unpack(words, numwords, wordsize, nails, flags)
- NUM2DBL(value)
- rb_float_new(f)
- StringValue(value)
- StringValuePtr(value)
- StringValueCStr(value)
- rb_str_new2(s)
+VALUE rb_define_class(const char *name, VALUE super)
-== クラス/モジュール定義
+ super¤Î¥µ¥Ö¥¯¥é¥¹¤È¤·¤Æ¿·¤·¤¤Ruby¥¯¥é¥¹¤òÄêµÁ¤¹¤ë¡¥
-VALUE rb_define_class(const char *name, VALUE super) ::
+VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)
- superã®ã‚µãƒ–クラスã¨ã—ã¦æ–°ã—ã„Rubyクラスを定義ã™ã‚‹ï¼Ž
+ super¤Î¥µ¥Ö¥¯¥é¥¹¤È¤·¤Æ¿·¤·¤¤Ruby¥¯¥é¥¹¤òÄêµÁ¤·¡¤module¤Î
+ Äê¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡¥
-VALUE rb_define_class_under(VALUE module, const char *name, VALUE super) ::
+VALUE rb_define_module(const char *name)
- superã®ã‚µãƒ–クラスã¨ã—ã¦æ–°ã—ã„Rubyクラスを定義ã—,moduleã®
- 定数ã¨ã—ã¦å®šç¾©ã™ã‚‹ï¼Ž
+ ¿·¤·¤¤Ruby¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤¹¤ë¡¥
-VALUE rb_define_module(const char *name) ::
+VALUE rb_define_module_under(VALUE module, const char *name)
- æ–°ã—ã„Rubyモジュールを定義ã™ã‚‹ï¼Ž
+ ¿·¤·¤¤Ruby¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤·¡¤module¤ÎÄê¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡¥
-VALUE rb_define_module_under(VALUE module, const char *name) ::
+void rb_include_module(VALUE klass, VALUE module)
- æ–°ã—ã„Rubyモジュールを定義ã—,moduleã®å®šæ•°ã¨ã—ã¦å®šç¾©ã™ã‚‹ï¼Ž
+ ¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¡¥class¤¬¤¹¤Ç¤Ëmodule¤ò¥¤¥ó¥¯
+ ¥ë¡¼¥É¤·¤Æ¤¤¤ë»þ¤Ë¤Ï²¿¤â¤·¤Ê¤¤(¿½Å¥¤¥ó¥¯¥ë¡¼¥É¤Î¶Ø»ß)¡¥
-void rb_include_module(VALUE klass, VALUE module) ::
+void rb_extend_object(VALUE object, VALUE module)
- モジュールをインクルードã™ã‚‹ï¼ŽclassãŒã™ã§ã«moduleをインク
- ルードã—ã¦ã„る時ã«ã¯ä½•ã‚‚ã—ãªã„(多é‡ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã®ç¦æ­¢).
+ ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥â¥¸¥å¡¼¥ë(¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É)¤Ç³ÈÄ¥¤¹¤ë¡¥
-void rb_extend_object(VALUE object, VALUE module) ::
+** Âç°èÊÑ¿ôÄêµÁ
- オブジェクトをモジュール(ã§å®šç¾©ã•れã¦ã„るメソッド)ã§æ‹¡å¼µã™ã‚‹ï¼Ž
+void rb_define_variable(const char *name, VALUE *var)
-== 大域変数定義
+ Ruby¤ÈC¤È¤Ç¶¦Í­¤¹¤ë¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô̾¤¬`$'¤Ç
+ »Ï¤Þ¤é¤Ê¤¤»þ¤Ë¤Ï¼«Æ°Åª¤ËÄɲ䵤ì¤ë¡¥name¤È¤·¤ÆRuby¤Î¼±ÊÌ»Ò
+ ¤È¤·¤Æµö¤µ¤ì¤Ê¤¤Ê¸»ú(Î㤨¤Ð` ')¤ò´Þ¤à¾ì¹ç¤Ë¤ÏRuby¥×¥í¥°¥é
+ ¥à¤«¤é¤Ï¸«¤¨¤Ê¤¯¤Ê¤ë¡¥
-void rb_define_variable(const char *name, VALUE *var) ::
+void rb_define_readonly_variable(const char *name, VALUE *var)
- Rubyã¨Cã¨ã§å…±æœ‰ã™ã‚‹ã‚°ãƒ­ãƒ¼ãƒãƒ«å¤‰æ•°ã‚’定義ã™ã‚‹ï¼Žå¤‰æ•°åãŒ`$'ã§
- å§‹ã¾ã‚‰ãªã„時ã«ã¯è‡ªå‹•çš„ã«è¿½åŠ ã•れる.nameã¨ã—ã¦Rubyã®è­˜åˆ¥å­
- ã¨ã—ã¦è¨±ã•れãªã„文字(例ãˆã°` ')ã‚’å«ã‚€å ´åˆã«ã¯Rubyプログラ
- ムã‹ã‚‰ã¯è¦‹ãˆãªããªã‚‹ï¼Ž
+ Ruby¤ÈC¤È¤Ç¶¦Í­¤¹¤ëread only¤Î¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥
+ read only¤Ç¤¢¤ë¤³¤È°Ê³°¤Ïrb_define_variable()¤ÈƱ¤¸¡¥
-void rb_define_readonly_variable(const char *name, VALUE *var) ::
+void rb_define_virtual_variable(const char *name,
+ VALUE (*getter)(), void (*setter)())
- Rubyã¨Cã¨ã§å…±æœ‰ã™ã‚‹read onlyã®ã‚°ãƒ­ãƒ¼ãƒãƒ«å¤‰æ•°ã‚’定義ã™ã‚‹ï¼Ž
- read onlyã§ã‚ã‚‹ã“ã¨ä»¥å¤–ã¯rb_define_variable()ã¨åŒã˜ï¼Ž
+ ´Ø¿ô¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ëRubyÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿
+ »þ¤Ë¤Ïgetter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ïsetter¤¬¸Æ¤Ð¤ì
+ ¤ë¡¥
-void rb_define_virtual_variable(const char *name, VALUE (*getter)(), void (*setter)()) ::
+void rb_define_hooked_variable(const char *name, VALUE *var,
+ VALUE (*getter)(), void (*setter)())
- 関数ã«ã‚ˆã£ã¦å®Ÿç¾ã•れるRuby変数を定義ã™ã‚‹ï¼Žå¤‰æ•°ãŒå‚ç…§ã•れãŸ
- 時ã«ã¯getterãŒï¼Œå¤‰æ•°ã«å€¤ãŒã‚»ãƒƒãƒˆã•ã‚ŒãŸæ™‚ã«ã¯setterãŒå‘¼ã°ã‚Œ
- る.
-
-void rb_define_hooked_variable(const char *name, VALUE *var, VALUE (*getter)(), void (*setter)()) ::
-
- 関数ã«ã‚ˆã£ã¦hookã®ã¤ã‘られãŸã‚°ãƒ­ãƒ¼ãƒãƒ«å¤‰æ•°ã‚’定義ã™ã‚‹ï¼Žå¤‰æ•°
- ãŒå‚ç…§ã•ã‚ŒãŸæ™‚ã«ã¯getterãŒï¼Œé–¢æ•°ã«å€¤ãŒã‚»ãƒƒãƒˆã•ã‚ŒãŸæ™‚ã«ã¯
- setterãŒå‘¼ã°ã‚Œã‚‹ï¼Žgetterã‚„setterã«0を指定ã—ãŸæ™‚ã«ã¯hookã‚’
- 指定ã—ãªã„ã®ã¨åŒã˜äº‹ã«ãªã‚‹ï¼Ž
+ ´Ø¿ô¤Ë¤è¤Ã¤Æhook¤Î¤Ä¤±¤é¤ì¤¿¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô
+ ¤¬»²¾È¤µ¤ì¤¿»þ¤Ë¤Ïgetter¤¬¡¤´Ø¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ï
+ setter¤¬¸Æ¤Ð¤ì¤ë¡¥getter¤äsetter¤Ë0¤ò»ØÄꤷ¤¿»þ¤Ë¤Ïhook¤ò
+ »ØÄꤷ¤Ê¤¤¤Î¤ÈƱ¤¸»ö¤Ë¤Ê¤ë¡¥
void rb_global_variable(VALUE *var)
- GCã®ãŸã‚,Rubyプログラムã‹ã‚‰ã¯ã‚¢ã‚¯ã‚»ã‚¹ã•れãªã„ãŒ, Rubyオブ
- ジェクトをå«ã‚€å¤§åŸŸå¤‰æ•°ã‚’マークã™ã‚‹ï¼Ž
-
-== 定数
-
-void rb_define_const(VALUE klass, const char *name, VALUE val) ::
+ GC¤Î¤¿¤á¡¤Ruby¥×¥í¥°¥é¥à¤«¤é¤Ï¥¢¥¯¥»¥¹¤µ¤ì¤Ê¤¤¤¬, Ruby¥ª¥Ö
+ ¥¸¥§¥¯¥È¤ò´Þ¤àÂç°èÊÑ¿ô¤ò¥Þ¡¼¥¯¤¹¤ë¡¥
- 定数を定義ã™ã‚‹ï¼Ž
+** Äê¿ô
-void rb_define_global_const(const char *name, VALUE val) ::
+void rb_define_const(VALUE klass, const char *name, VALUE val)
- 大域定数を定義ã™ã‚‹ï¼Ž
+ Äê¿ô¤òÄêµÁ¤¹¤ë¡¥
- rb_define_const(rb_cObject, name, val)
+void rb_define_global_const(const char *name, VALUE val)
- ã¨åŒã˜æ„味.
+ Âç°èÄê¿ô¤òÄêµÁ¤¹¤ë¡¥
-== メソッド定義
+ rb_define_const(rb_cObject, name, val)
-rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+ ¤ÈƱ¤¸°ÕÌ£¡¥
- メソッドを定義ã™ã‚‹ï¼Žargcã¯selfを除ãå¼•æ•°ã®æ•°ï¼ŽargcãŒ-1ã®æ™‚,
- 関数ã«ã¯å¼•æ•°ã®æ•°(selfã‚’å«ã¾ãªã„)を第1引数, 引数ã®é…列を第2
- 引数ã¨ã™ã‚‹å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹(第3引数ã¯self).argcãŒ-2ã®æ™‚,
- 第1引数ãŒself, 第2引数ãŒargs(argsã¯å¼•æ•°ã‚’å«ã‚€Rubyã®é…列)ã¨
- ã„ã†å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž
+** ¥á¥½¥Ã¥ÉÄêµÁ
-rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
- privateメソッドを定義ã™ã‚‹ï¼Žå¼•æ•°ã¯rb_define_method()ã¨åŒã˜ï¼Ž
+ ¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥argc¤Ïself¤ò½ü¤¯°ú¿ô¤Î¿ô¡¥argc¤¬-1¤Î»þ,
+ ´Ø¿ô¤Ë¤Ï°ú¿ô¤Î¿ô(self¤ò´Þ¤Þ¤Ê¤¤)¤òÂè1°ú¿ô, °ú¿ô¤ÎÇÛÎó¤òÂè2
+ °ú¿ô¤È¤¹¤ë·Á¼°¤ÇÍ¿¤¨¤é¤ì¤ë(Âè3°ú¿ô¤Ïself)¡¥argc¤¬-2¤Î»þ,
+ Âè1°ú¿ô¤¬self, Âè2°ú¿ô¤¬args(args¤Ï°ú¿ô¤ò´Þ¤àRuby¤ÎÇÛÎó)¤È
+ ¤¤¤¦·Á¼°¤ÇÍ¿¤¨¤é¤ì¤ë¡¥
+
+rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+ private¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¡¥
- 特異メソッドを定義ã™ã‚‹ï¼Žå¼•æ•°ã¯rb_define_method()ã¨åŒã˜ï¼Ž
+rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-rb_scan_args(int argc, VALUE *argv, const char *fmt, ...) ::
+ ÆÃ°Û¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¡¥
- argc, argvå½¢å¼ã§ä¸Žãˆã‚‰ã‚ŒãŸæŒ‡å®šã•れãŸãƒ•ォーマットã«å¾“ã£ã¦å¼•
- 数を分解ã—,続ãVALUEã¸ã®å‚ç…§ã«ã‚»ãƒƒãƒˆã—ã¾ã™ï¼Žã“ã®ãƒ•ォーマッ
- トã¯ï¼ŒABNFã§è¨˜è¿°ã™ã‚‹ã¨ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼Ž
+rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)
- scan-arg-spec := param-arg-spec [option-hash-arg-spec] [block-arg-spec]
+ argc, argv·Á¼°¤ÇÍ¿¤¨¤é¤ì¤¿°ú¿ô¤òʬ²ò¤¹¤ë¡¥fmt¤Ïɬ¿Ü°ú¿ô¤Î¿ô,
+ Éղðú¿ô¤Î¿ô, »Ä¤ê¤Î°ú¿ô¤¬¤¢¤ë¤«¤ò»ØÄꤹ¤ëʸ»úÎó¤Ç, "¿ô»ú
+ ¿ô»ú*"¤È¤¤¤¦·Á¼°¤Ç¤¢¤ë¡¥ 2 ÈÖÌܤοô»ú¤È"*"¤Ï¤½¤ì¤¾¤ì¾Êά²Ä
+ ǽ¤Ç¤¢¤ë¡¥É¬¿Ü°ú¿ô¤¬°ì¤Ä¤â¤Ê¤¤¾ì¹ç¤Ï0¤ò»ØÄꤹ¤ë¡¥Âè3°ú¿ô°Ê
+ ¹ß¤ÏÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç, ³ºÅö¤¹¤ëÍ×ÁǤ¬¤½¤ÎÊÑ¿ô¤Ë³ÊǼ¤µ¤ì¤ë¡¥
+ Éղðú¿ô¤ËÂбþ¤¹¤ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ÏÊÑ¿ô¤ËQnil¤¬
+ ÂåÆþ¤µ¤ì¤ë¡¥
- param-arg-spec := pre-arg-spec [post-arg-spec] / post-arg-spec /
- pre-opt-post-arg-spec
- pre-arg-spec := num-of-leading-mandatory-args [num-of-optional-args]
- post-arg-spec := sym-for-variable-length-args
- [num-of-trailing-mandatory-args]
- pre-opt-post-arg-spec := num-of-leading-mandatory-args num-of-optional-args
- num-of-trailing-mandatory-args
- option-hash-arg-spec := sym-for-option-hash-arg
- block-arg-spec := sym-for-block-arg
+** Ruby¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·
- num-of-leading-mandatory-args := DIGIT ; 先頭ã«ç½®ã‹ã‚Œã‚‹çœç•¥ä¸èƒ½ãªå¼•æ•°ã®æ•°
- num-of-optional-args := DIGIT ; ç¶šã„ã¦ç½®ã‹ã‚Œã‚‹çœç•¥å¯èƒ½ãªå¼•æ•°ã®æ•°
- sym-for-variable-length-args := "*" ; ç¶šã„ã¦ç½®ã‹ã‚Œã‚‹å¯å¤‰é•·å¼•æ•°ã‚’
- ; Rubyã®é…列ã§å–å¾—ã™ã‚‹ãŸã‚ã®æŒ‡å®š
- num-of-trailing-mandatory-args := DIGIT ; 終端ã«ç½®ã‹ã‚Œã‚‹çœç•¥ä¸èƒ½ãªå¼•æ•°ã®æ•°
- sym-for-option-hash-arg := ":" ; オプションãƒãƒƒã‚·ãƒ¥ã‚’å–å¾—ã™ã‚‹
- ; ãŸã‚ã®æŒ‡å®š; çœç•¥ä¸èƒ½ãªå¼•æ•°ã®
- ; 数よりも多ãã®å¼•æ•°ãŒæŒ‡å®šã•れ,
- ; 最後ã®å¼•æ•°ãŒãƒãƒƒã‚·ãƒ¥ï¼ˆã¾ãŸã¯
- ; #to_hashã§å¤‰æ›å¯èƒ½ï¼‰ã®å ´åˆã«
- ; å–å¾—ã•れる.最後ã®å¼•æ•°ãŒnilã®
- ; å ´åˆï¼Œå¯å¤‰é•·å¼•数指定ãŒãªã,
- ; çœç•¥ä¸èƒ½å¼•æ•°ã®æ•°ã‚ˆã‚Šã‚‚多ãã®
- ; å¼•æ•°ãŒæŒ‡å®šã•れãŸå ´åˆã«å–å¾—ã•れる
- sym-for-block-arg := "&" ; イテレータブロックをå–å¾—ã™ã‚‹ãŸã‚ã®
- ; 指定
+VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)
- フォーマットãŒ"12"ã®å ´åˆï¼Œå¼•æ•°ã¯æœ€ä½Ž1ã¤ã§ï¼Œ3ã¤(1+2)ã¾ã§è¨±ã•
- れるã¨ã„ã†æ„味ã«ãªã‚Šã¾ã™ï¼Žå¾“ã£ã¦ï¼Œãƒ•ォーマット文字列ã«ç¶šã„
- ã¦3ã¤ã®VALUEã¸ã®å‚ç…§ã‚’ç½®ãå¿…è¦ãŒã‚りã¾ã™ï¼Žãれらã«ã¯å–å¾—ã—ãŸ
- 変数ãŒã‚»ãƒƒãƒˆã•れã¾ã™ï¼Žå¤‰æ•°ã¸ã®å‚ç…§ã®ä»£ã‚りã«NULLを指定ã™ã‚‹
- ã“ã¨ã‚‚ã§ã,ãã®å ´åˆã¯å–å¾—ã—ãŸå¼•æ•°ã®å€¤ã¯æ¨ã¦ã‚‰ã‚Œã¾ã™ï¼ŽãªãŠï¼Œ
- çœç•¥å¯èƒ½å¼•æ•°ãŒçœç•¥ã•ã‚ŒãŸæ™‚ã®å¤‰æ•°ã®å€¤ã¯nil(C言語ã®ãƒ¬ãƒ™ãƒ«ã§ã¯
- Qnil)ã«ãªã‚Šã¾ã™ï¼Ž
+ ¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¡¥Ê¸»úÎ󤫤émid¤òÆÀ¤ë¤¿¤á¤Ë¤Ïrb_intern()¤ò
+ »È¤¦¡¥
- 返り値ã¯ä¸Žãˆã‚‰ã‚ŒãŸå¼•æ•°ã®æ•°ã§ã™ï¼Žã‚ªãƒ—ションãƒãƒƒã‚·ãƒ¥ãŠã‚ˆã³ã‚¤
- ãƒ†ãƒ¬ãƒ¼ã‚¿ãƒ–ãƒ­ãƒƒã‚¯ã¯æ•°ãˆã¾ã›ã‚“.
+VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
-== Rubyメソッド呼ã³å‡ºã—
-
-VALUE rb_funcall(VALUE recv, ID mid, int narg, ...) ::
-
- メソッド呼ã³å‡ºã—.文字列ã‹ã‚‰midã‚’å¾—ã‚‹ãŸã‚ã«ã¯rb_intern()ã‚’
- 使ã†ï¼Ž
- private/protectedãªãƒ¡ã‚½ãƒƒãƒ‰ã§ã‚‚呼ã³å‡ºã›ã‚‹ï¼Ž
-
-VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv) ::
-VALUE rb_funcallv(VALUE recv, ID mid, int argc, VALUE *argv) ::
-
- メソッド呼ã³å‡ºã—.引数をargc, argvå½¢å¼ã§æ¸¡ã™ï¼Ž
- private/protectedãªãƒ¡ã‚½ãƒƒãƒ‰ã§ã‚‚呼ã³å‡ºã›ã‚‹ï¼Ž
-
-VALUE rb_funcallv_public(VALUE recv, ID mid, int argc, VALUE *argv) ::
-
- メソッド呼ã³å‡ºã—.
- publicãªãƒ¡ã‚½ãƒƒãƒ‰ã—ã‹å‘¼ã¹ãªã„.
+ ¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¡¥°ú¿ô¤òargc, argv·Á¼°¤ÇÅϤ¹¡¥
VALUE rb_eval_string(const char *str)
- 文字列をRubyスクリプトã¨ã—ã¦ã‚³ãƒ³ãƒ‘イル・実行ã™ã‚‹ï¼Ž
-
-ID rb_intern(const char *name) ::
-
- 文字列ã«å¯¾å¿œã™ã‚‹IDã‚’è¿”ã™ï¼Ž
-
-char *rb_id2name(ID id) ::
-
- IDã«å¯¾å¿œã™ã‚‹æ–‡å­—列を返ã™(デãƒãƒƒã‚°ç”¨).
-
-char *rb_class2name(VALUE klass) ::
-
- クラスã®åå‰ã‚’è¿”ã™(デãƒãƒƒã‚°ç”¨).クラスãŒåå‰ã‚’æŒãŸãªã„時ã«
- ã¯, 祖先をé¡ã£ã¦åå‰ã‚’æŒã¤ã‚¯ãƒ©ã‚¹ã®åå‰ã‚’è¿”ã™ï¼Ž
-
-int rb_respond_to(VALUE obj, ID id) ::
-
- objãŒidã§ç¤ºã•れるメソッドをæŒã¤ã‹ã©ã†ã‹ã‚’è¿”ã™ï¼Ž
-
-== インスタンス変数
-
-VALUE rb_iv_get(VALUE obj, const char *name) ::
-
- objã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã®å€¤ã‚’得る.`@'ã§å§‹ã¾ã‚‰ãªã„インスタン
- ス変数㯠Rubyプログラムã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„「隠れãŸã€ã‚¤ãƒ³
- スタンス変数ã«ãªã‚‹ï¼Žå®šæ•°ã¯å¤§æ–‡å­—ã®åå‰ã‚’æŒã¤ã‚¯ãƒ©ã‚¹(ã¾ãŸã¯
- モジュール)ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã¨ã—ã¦å®Ÿè£…ã•れã¦ã„る.
+ ʸ»úÎó¤òRuby¥¹¥¯¥ê¥×¥È¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¡¦¼Â¹Ô¤¹¤ë¡¥
-VALUE rb_iv_set(VALUE obj, const char *name, VALUE val) ::
+ID rb_intern(const char *name)
- objã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã‚’valã«ã‚»ãƒƒãƒˆã™ã‚‹ï¼Ž
+ ʸ»úÎó¤ËÂбþ¤¹¤ëID¤òÊÖ¤¹¡¥
-== 制御構造
+char *rb_id2name(ID id)
-VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv, VALUE (*func) (ANYARGS), VALUE data2) ::
+ ID¤ËÂбþ¤¹¤ëʸ»úÎó¤òÊÖ¤¹(¥Ç¥Ð¥Ã¥°ÍÑ)¡¥
- funcをブロックã¨ã—ã¦è¨­å®šã—,objをレシーãƒï¼Œargcã¨argvを引数
- ã¨ã—ã¦midメソッドを呼ã³å‡ºã™ï¼Žfuncã¯ç¬¬ä¸€å¼•æ•°ã«yieldã•れãŸå€¤ï¼Œ
- 第二引数ã«data2ã‚’å—ã‘å–る.複数ã®å€¤ãŒyieldã•れãŸå ´åˆ(Cã§ã¯
- rb_yield_values()ã¨rb_yield_values2(), rb_yield_splat()),
- data2ã¯Arrayã¨ã—ã¦ãƒ‘ックã•れã¦ã„る.第三, 第四引数ã®argcã¨
- argvã«ã‚ˆã£ã¦yieldã•れãŸå€¤ã‚’å–り出ã™ã“ã¨ãŒã§ãる.
+char *rb_class2name(VALUE klass)
-[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
+ ¥¯¥é¥¹¤Î̾Á°¤òÊÖ¤¹(¥Ç¥Ð¥Ã¥°ÍÑ)¡¥¥¯¥é¥¹¤¬Ì¾Á°¤ò»ý¤¿¤Ê¤¤»þ¤Ë¤Ï,
+ ÁÄÀè¤òÁ̤äÆÌ¾Á°¤ò»ý¤Ä¥¯¥é¥¹¤Î̾Á°¤òÊÖ¤¹¡¥
- func2をブロックã¨ã—ã¦è¨­å®šã—, func1をイテレータã¨ã—ã¦å‘¼ã¶ï¼Ž
- func1ã«ã¯ arg1ãŒå¼•æ•°ã¨ã—ã¦æ¸¡ã•れ, func2ã«ã¯ç¬¬1引数ã«ã‚¤ãƒ†ãƒ¬ãƒ¼
- ã‚¿ã‹ã‚‰ä¸Žãˆã‚‰ã‚ŒãŸå€¤, 第2引数ã«arg2ãŒæ¸¡ã•れる.
+int rb_respond_to(VALUE obj, ID id)
- 1.9ã§rb_iterateを使ã†å ´åˆã¯, func1ã®ä¸­ã§Rubyレベルã®ãƒ¡ã‚½ãƒƒãƒ‰
- を呼ã³å‡ºã•ãªã‘れã°ãªã‚‰ãªã„.
- 1.9ã§obsoleteã¨ãªã£ãŸ. 代ã‚りã«rb_block_callãŒç”¨æ„ã•れãŸ.
+ obj¤¬id¤Ç¼¨¤µ¤ì¤ë¥á¥½¥Ã¥É¤ò»ý¤Ä¤«¤É¤¦¤«¤òÊÖ¤¹¡£
-VALUE rb_yield(VALUE val) ::
+** ¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô
- valを値ã¨ã—ã¦ã‚¤ãƒ†ãƒ¬ãƒ¼ã‚¿ãƒ–ロックを呼ã³å‡ºã™ï¼Ž
+VALUE rb_iv_get(VALUE obj, const char *name)
-VALUE rb_rescue(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
+ obj¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ÎÃͤòÆÀ¤ë¡¥`@'¤Ç»Ï¤Þ¤é¤Ê¤¤¥¤¥ó¥¹¥¿¥ó
+ ¥¹ÊÑ¿ô¤Ï Ruby¥×¥í¥°¥é¥à¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡Ö±£¤ì¤¿¡×¥¤¥ó
+ ¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ë¤Ê¤ë¡¥Äê¿ô¤ÏÂçʸ»ú¤Î̾Á°¤ò»ý¤Ä¥¯¥é¥¹(¤Þ¤¿¤Ï
+ ¥â¥¸¥å¡¼¥ë)¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡¥
- 関数func1ã‚’arg1を引数ã«å‘¼ã³å‡ºã™ï¼Žfunc1ã®å®Ÿè¡Œä¸­ã«ä¾‹å¤–ãŒç™ºç”Ÿ
- ã—ãŸæ™‚ã«ã¯ func2ã‚’arg2を引数ã¨ã—ã¦å‘¼ã¶ï¼Žæˆ»ã‚Šå€¤ã¯ä¾‹å¤–ãŒç™ºç”Ÿ
- ã—ãªã‹ã£ãŸæ™‚ã¯func1ã®æˆ»ã‚Šå€¤, 例外ãŒç™ºç”Ÿã—ãŸæ™‚ã«ã¯func2ã®æˆ»
- り値ã§ã‚る.
+VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)
-VALUE rb_ensure(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
+ obj¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤òval¤Ë¥»¥Ã¥È¤¹¤ë¡¥
- 関数func1ã‚’arg1を引数ã¨ã—ã¦å®Ÿè¡Œã—, 実行終了後(ãŸã¨ãˆä¾‹å¤–ãŒ
- 発生ã—ã¦ã‚‚) func2ã‚’arg2を引数ã¨ã—ã¦å®Ÿè¡Œã™ã‚‹ï¼Žæˆ»ã‚Šå€¤ã¯func1
- ã®æˆ»ã‚Šå€¤ã§ã‚ã‚‹(例外ãŒç™ºç”Ÿã—ãŸæ™‚ã¯æˆ»ã‚‰ãªã„).
+** À©¸æ¹½Â¤
-VALUE rb_protect(VALUE (*func) (VALUE), VALUE arg, int *state) ::
+VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
- 関数funcã‚’argを引数ã¨ã—ã¦å®Ÿè¡Œã—, 例外ãŒç™ºç”Ÿã—ãªã‘れã°ãã®æˆ»
- り値を返ã™ï¼Žä¾‹å¤–ãŒç™ºç”Ÿã—ãŸå ´åˆã¯, *stateã«éž0をセットã—ã¦
- Qnilã‚’è¿”ã™ï¼Ž
- rb_jump_tag()を呼ã°ãšã«æ•æ‰ã—ãŸä¾‹å¤–を無視ã™ã‚‹å ´åˆã«ã¯ï¼Œ
- rb_set_errinfo(Qnil)ã§ã‚¨ãƒ©ãƒ¼æƒ…報をクリアã—ãªã‘れã°ãªã‚‰ãªã„.
+ func2¤ò¥Ö¥í¥Ã¥¯¤È¤·¤ÆÀßÄꤷ, func1¤ò¥¤¥Æ¥ì¡¼¥¿¤È¤·¤Æ¸Æ¤Ö¡¥
+ func1¤Ë¤Ï arg1¤¬°ú¿ô¤È¤·¤ÆÅϤµ¤ì, func2¤Ë¤ÏÂè1°ú¿ô¤Ë¥¤¥Æ¥ì¡¼
+ ¥¿¤«¤éÍ¿¤¨¤é¤ì¤¿ÃÍ, Âè2°ú¿ô¤Ëarg2¤¬ÅϤµ¤ì¤ë¡¥
+
+VALUE rb_yield(VALUE val)
-void rb_jump_tag(int state) ::
+ val¤òÃͤȤ·¤Æ¥¤¥Æ¥ì¡¼¥¿¥Ö¥í¥Ã¥¯¤ò¸Æ¤Ó½Ð¤¹¡¥
- rb_protect()ã‚„rb_eval_string_protect()ã§æ•æ‰ã•れãŸä¾‹å¤–ã‚’å†
- é€ã™ã‚‹ï¼Žstateã¯ãれらã®é–¢æ•°ã‹ã‚‰è¿”ã•れãŸå€¤ã§ãªã‘れã°ãªã‚‰ãªã„.
- ã“ã®é–¢æ•°ã¯ç›´æŽ¥ã®å‘¼ã³å‡ºã—å…ƒã«æˆ»ã‚‰ãªã„.
+VALUE rb_rescue(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
-void rb_iter_break() ::
+ ´Ø¿ôfunc1¤òarg1¤ò°ú¿ô¤Ë¸Æ¤Ó½Ð¤¹¡¥func1¤Î¼Â¹ÔÃæ¤ËÎã³°¤¬È¯À¸
+ ¤·¤¿»þ¤Ë¤Ï func2¤òarg2¤ò°ú¿ô¤È¤·¤Æ¸Æ¤Ö¡¥Ìá¤êÃͤÏÎã³°¤¬È¯À¸
+ ¤·¤Ê¤«¤Ã¤¿»þ¤Ïfunc1¤ÎÌá¤êÃÍ, Îã³°¤¬È¯À¸¤·¤¿»þ¤Ë¤Ïfunc2¤ÎÌá
+ ¤êÃͤǤ¢¤ë¡¥
- ç¾åœ¨ã®æœ€ã‚‚内å´ã®ãƒ–ロックを終了ã™ã‚‹ï¼Žã“ã®é–¢æ•°ã¯ç›´æŽ¥ã®å‘¼ã³å‡º
- ã—å…ƒã«æˆ»ã‚‰ãªã„.
+VALUE rb_ensure(VALUE (*func1)(), VALUE arg1, void (*func2)(), VALUE arg2)
-void rb_iter_break_value(VALUE value) ::
+ ´Ø¿ôfunc1¤òarg1¤ò°ú¿ô¤È¤·¤Æ¼Â¹Ô¤·, ¼Â¹Ô½ªÎ»¸å(¤¿¤È¤¨Îã³°¤¬
+ ȯÀ¸¤·¤Æ¤â) func2¤òarg2¤ò°ú¿ô¤È¤·¤Æ¼Â¹Ô¤¹¤ë¡¥Ìá¤êÃͤÏfunc1
+ ¤ÎÌá¤êÃͤǤ¢¤ë(Îã³°¤¬È¯À¸¤·¤¿»þ¤ÏÌá¤é¤Ê¤¤)¡¥
- ç¾åœ¨ã®æœ€ã‚‚内å´ã®ãƒ–ロックをvalueã§çµ‚了ã™ã‚‹ï¼Žãƒ–ロックã¯å¼•æ•°ã§
- 与ãˆã‚‰ã‚ŒãŸvalueã‚’è¿”ã™ï¼Žã“ã®é–¢æ•°ã¯ç›´æŽ¥ã®å‘¼ã³å‡ºã—å…ƒã«æˆ»ã‚‰ãªã„.
+** Îã³°¡¦¥¨¥é¡¼
-== 例外・エラー
+void rb_warning(const char *fmt, ...)
-void rb_warning(const char *fmt, ...) ::
+ rb_verbose»þ¤Ëɸ½à¥¨¥é¡¼½ÐÎϤ˷ٹð¾ðÊó¤òɽ¼¨¤¹¤ë¡¥°ú¿ô¤Ï
+ printf()¤ÈƱ¤¸¡¥
- rb_verboseæ™‚ã«æ¨™æº–エラー出力ã«è­¦å‘Šæƒ…報を表示ã™ã‚‹ï¼Žå¼•æ•°ã¯
- printf()ã¨åŒã˜ï¼Ž
+void rb_raise(rb_eRuntimeError, const char *fmt, ...)
-void rb_raise(rb_eRuntimeError, const char *fmt, ...) ::
+ RuntimeErrorÎã³°¤òȯÀ¸¤µ¤»¤ë¡¥°ú¿ô¤Ïprintf()¤ÈƱ¤¸¡¥
- RuntimeError例外を発生ã•ã›ã‚‹ï¼Žå¼•æ•°ã¯printf()ã¨åŒã˜ï¼Ž
+void rb_raise(VALUE exception, const char *fmt, ...)
-void rb_raise(VALUE exception, const char *fmt, ...) ::
+ exception¤Ç»ØÄꤷ¤¿Îã³°¤òȯÀ¸¤µ¤»¤ë¡¥fmt°Ê²¼¤Î°ú¿ô¤Ï
+ printf()¤ÈƱ¤¸¡¥
- exceptionã§æŒ‡å®šã—ãŸä¾‹å¤–を発生ã•ã›ã‚‹ï¼Žfmt以下ã®å¼•æ•°ã¯
- printf()ã¨åŒã˜ï¼Ž
+void rb_fatal(const char *fmt, ...)
-void rb_fatal(const char *fmt, ...) ::
+ Ã×̿ŪÎã³°¤òȯÀ¸¤µ¤»¤ë¡¥Ä̾ï¤ÎÎã³°½èÍý¤Ï¹Ô¤Ê¤ï¤ì¤º, ¥¤¥ó¥¿¡¼
+ ¥×¥ê¥¿¤¬½ªÎ»¤¹¤ë(¤¿¤À¤·ensure¤Ç»ØÄꤵ¤ì¤¿¥³¡¼¥É¤Ï½ªÎ»Á°¤Ë
+ ¼Â¹Ô¤µ¤ì¤ë)¡¥
- 致命的例外を発生ã•ã›ã‚‹ï¼Žé€šå¸¸ã®ä¾‹å¤–処ç†ã¯è¡Œãªã‚れãš, インター
- プリタãŒçµ‚了ã™ã‚‹(ãŸã ã—ensureã§æŒ‡å®šã•れãŸã‚³ãƒ¼ãƒ‰ã¯çµ‚了å‰ã«
- 実行ã•れる).
+void rb_bug(const char *fmt, ...)
-void rb_bug(const char *fmt, ...) ::
+ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ê¤É¥×¥í¥°¥é¥à¤Î¥Ð¥°¤Ç¤·¤«È¯À¸¤¹¤ë¤Ï¤º¤Î¤Ê¤¤
+ ¾õ¶·¤Î»þ¸Æ¤Ö¡¥¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥³¥¢¥À¥ó¥×¤·Ä¾¤Á¤Ë½ªÎ»¤¹¤ë¡¥
+ Îã³°½èÍý¤Ï°ìÀڹԤʤï¤ì¤Ê¤¤¡¥
- インタープリタãªã©ãƒ—ログラムã®ãƒã‚°ã§ã—ã‹ç™ºç”Ÿã™ã‚‹ã¯ãšã®ãªã„
- 状æ³ã®æ™‚呼ã¶ï¼Žã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã¯ã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã—ç›´ã¡ã«çµ‚了ã™ã‚‹ï¼Ž
- 例外処ç†ã¯ä¸€åˆ‡è¡Œãªã‚れãªã„.
+** Ruby¤Î½é´ü²½¡¦¼Â¹Ô
-注æ„: %iã¯Object#to_s('+'ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹ã¨ãã¯Object#inspect)ã‚’
-使ã£ãŸVALUEã®å‡ºåŠ›ã«ä½¿ç”¨ã•れã¦ã„ã‚‹ãŸã‚,整数ã«ã¯%dを使用ã™ã‚‹ã“ã¨ï¼Ž
+Ruby¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËËä¤á¹þ¤à¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹
+¤ò»È¤¦¡¥Ä̾ï¤Î³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ë¤ÏɬÍפʤ¤¡¥
-== Rubyã®åˆæœŸåŒ–・実行
+void ruby_init()
-Rubyをアプリケーションã«åŸ‹ã‚込む場åˆã«ã¯ä»¥ä¸‹ã®ã‚¤ãƒ³ã‚¿ãƒ•ェース
-を使ã†ï¼Žé€šå¸¸ã®æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã«ã¯å¿…è¦ãªã„.
+ Ruby¥¤¥ó¥¿¥×¥ê¥¿¤Î½é´ü²½¤ò¹Ô¤Ê¤¦¡¥
-void ruby_init() ::
+void ruby_options(int argc, char **argv)
- Rubyインタプリタã®åˆæœŸåŒ–を行ãªã†ï¼Ž
+ Ruby¥¤¥ó¥¿¥×¥ê¥¿¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Î½èÍý¤ò¹Ô¤Ê¤¦¡¥
-void ruby_options(int argc, char **argv) ::
+void ruby_run()
- Rubyインタプリタã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®å‡¦ç†ã‚’行ãªã†ï¼Ž
+ Ruby¥¤¥ó¥¿¥×¥ê¥¿¤ò¼Â¹Ô¤¹¤ë¡¥
-void ruby_run() ::
+void ruby_script(char *name)
- Rubyインタプリタを実行ã™ã‚‹ï¼Ž
+ Ruby¤Î¥¹¥¯¥ê¥×¥È̾($0)¤òÀßÄꤹ¤ë¡¥
-void ruby_script(char *name) ::
- Rubyã®ã‚¹ã‚¯ãƒªãƒ—トå($0)を設定ã™ã‚‹ï¼Ž
+Appendix C. extconf.rb¤Ç»È¤¨¤ë´Ø¿ô¤¿¤Á
-== インタプリタã®ã‚¤ãƒ™ãƒ³ãƒˆã®ãƒ•ック
+extconf.rb¤ÎÃæ¤Ç¤ÏÍøÍѲÄǽ¤Ê¥³¥ó¥Ñ¥¤¥ë¾ò·ï¥Á¥§¥Ã¥¯¤Î´Ø¿ô¤Ï°Ê
+²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
- void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events,
- VALUE data)
+have_macro(macro, headers)
-指定ã•れãŸã‚¤ãƒ³ã‚¿ãƒ—リタã®ã‚¤ãƒ™ãƒ³ãƒˆã«å¯¾ã™ã‚‹ãƒ•ック関数を追加ã—ã¾ã™ï¼Ž
-eventsã¯ä»¥ä¸‹ã®å€¤ã®orã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“:
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¥Þ¥¯¥ímacro¤¬ÄêµÁ¤µ
+ ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥Þ¥¯¥í¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þtrue
+ ¤òÊÖ¤¹¡¥
- RUBY_EVENT_LINE
- RUBY_EVENT_CLASS
- RUBY_EVENT_END
- RUBY_EVENT_CALL
- RUBY_EVENT_RETURN
- RUBY_EVENT_C_CALL
- RUBY_EVENT_C_RETURN
- RUBY_EVENT_RAISE
- RUBY_EVENT_ALL
+have_library(lib, func)
-rb_event_hook_func_tã®å®šç¾©ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:
+ ´Ø¿ôfunc¤òÄêµÁ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥êlib¤Î¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥
+ ¥é¥¤¥Ö¥é¥ê¤¬Â¸ºß¤¹¤ë»þ¡¤true¤òÊÖ¤¹¡¥
- typedef void (*rb_event_hook_func_t)(rb_event_t event, VALUE data,
- VALUE self, ID id, VALUE klass)
+find_library(lib, func, path...)
-rb_add_event_hook() ã®ç¬¬3引数 data ã¯ï¼Œãƒ•ック関数ã®ç¬¬2引数ã¨
-ã—ã¦æ¸¡ã•れã¾ã™ï¼Žã“れã¯1.8ã§ã¯ç¾åœ¨ã®NODEã¸ã®ãƒã‚¤ãƒ³ã‚¿ã§ã—ãŸï¼Žä»¥
-下㮠RB_EVENT_HOOKS_HAVE_CALLBACK_DATA ã‚‚å‚ç…§ã—ã¦ãã ã•ã„.
+ ´Ø¿ôfunc¤òÄêµÁ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥êlib¤Î¸ºß¤ò -Lpath ¤òÄɲÃ
+ ¤·¤Ê¤¬¤é¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥é¥¤¥Ö¥é¥ê¤¬¸«ÉÕ¤«¤Ã¤¿»þ¡¤true¤òÊÖ¤¹¡¥
- int rb_remove_event_hook(rb_event_hook_func_t func)
+have_func(func, header)
-指定ã•れãŸãƒ•ック関数を削除ã—ã¾ã™ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ´Ø¿ôfunc¤Î¸ºß¤ò¥Á¥§¥Ã
+ ¥¯¤¹¤ë¡¥func¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Ê¤¤¥é¥¤¥Ö¥é¥êÆâ¤Î¤â¤Î¤Ç¤¢
+ ¤ë»þ¤Ë¤ÏÀè¤Ëhave_library¤Ç¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤ª¤¯
+ »ö¡¥´Ø¿ô¤¬Â¸ºß¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
-== äº’æ›æ€§ã®ãŸã‚ã®ãƒžã‚¯ãƒ­
+have_var(var, header)
-APIã®äº’æ›æ€§ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ãŸã‚ã«ä»¥ä¸‹ã®ãƒžã‚¯ãƒ­ãŒãƒ‡ãƒ•ォルトã§å®šç¾©ã•れã¦ã„ã¾ã™ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤ÆÊÑ¿ôvar¤Î¸ºß¤ò¥Á¥§¥Ã
+ ¥¯¤¹¤ë¡¥var¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Ê¤¤¥é¥¤¥Ö¥é¥êÆâ¤Î¤â¤Î¤Ç¤¢
+ ¤ë»þ¤Ë¤ÏÀè¤Ëhave_library¤Ç¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤ª¤¯
+ »ö¡¥ÊÑ¿ô¤¬Â¸ºß¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
-NORETURN_STYLE_NEW ::
+have_header(header)
- NORETURN マクロãŒé–¢æ•°åž‹ãƒžã‚¯ãƒ­ã¨ã—ã¦å®šç¾©ã•れã¦ã„ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹
+ ¤ë»þtrue¤òÊÖ¤¹¡¥
-HAVE_RB_DEFINE_ALLOC_FUNC ::
+find_header(header, path...)
- rb_define_alloc_func() é–¢æ•°ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨ï¼Œã¤ã¾ã‚Š
- allocation framework ãŒä½¿ã‚れるã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
- have_func("rb_define_alloc_func", "ruby.h")
- ã®çµæžœã¨åŒã˜ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤Î¸ºß¤ò -Ipath ¤òÄɲ䷤ʤ¬¤é¥Á¥§¥Ã¥¯
+ ¤¹¤ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬¸«ÉÕ¤«¤Ã¤¿»þ¡¤true¤òÊÖ¤¹¡¥
-HAVE_RB_REG_NEW_STR ::
+have_struct_member(type, member, header)
- Stringオブジェクトã‹ã‚‰Regexpオブジェクトを作る
- rb_reg_new_str() é–¢æ•°ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
- have_func("rb_reg_new_str", "ruby.h").
- ã®çµæžœã¨åŒã˜ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤Ë¥á¥ó¥Ðmember
+ ¤¬Â¸ºß¤¹¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¤member¤ò
+ »ý¤Ä¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
-HAVE_RB_IO_T ::
+have_type(type, header, opt)
- rb_io_t åž‹ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤¬Â¸ºß¤¹¤ë¤«¤ò
+ ¥Á¥§¥Ã¥¯¤¹¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þtrue¤òÊÖ¤¹¡¥
-USE_SYMBOL_AS_METHOD_NAME ::
+check_sizeof(type, header)
- メソッドåã‚’è¿”ã™ãƒ¡ã‚½ãƒƒãƒ‰ï¼ŒModule#methods, #singleton_methods
- ãªã©ãŒSymbolã‚’è¿”ã™ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤Îcharñ°Ì¥µ¥¤
+ ¥º¤òÄ´¤Ù¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þ¤½¤Î¥µ¥¤¥º¤òÊÖ¤¹¡¥ÄêµÁ¤µ
+ ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ïnil¤òÊÖ¤¹¡¥
-HAVE_RUBY_*_H ::
+create_makefile(target)
- ruby.h ã§å®šç¾©ã•れã¦ã„る.対応ã™ã‚‹ãƒ˜ãƒƒãƒ€ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨
- ã‚’æ„味ã™ã‚‹ï¼ŽãŸã¨ãˆã°ï¼ŒHAVE_RUBY_ST_H ãŒå®šç¾©ã•れã¦ã„ã‚‹å ´åˆã¯
- å˜ãªã‚‹ st.h ã§ã¯ãªã ruby/st.h を使用ã™ã‚‹ï¼Ž
+ ³ÈÄ¥¥é¥¤¥Ö¥é¥êÍѤÎMakefile¤òÀ¸À®¤¹¤ë¡¥¤³¤Î´Ø¿ô¤ò¸Æ¤Ð¤Ê¤±¤ì
+ ¤Ð¤½¤Î¥é¥¤¥Ö¥é¥ê¤Ï¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Ê¤¤¡¥target¤Ï¥â¥¸¥å¡¼¥ë̾
+ ¤òɽ¤¹¡¥
-RB_EVENT_HOOKS_HAVE_CALLBACK_DATA ::
+find_executable(command, path)
- rb_add_event_hook() ãŒãƒ•ãƒƒã‚¯é–¢æ•°ã«æ¸¡ã™ data を第3引数ã¨ã—ã¦
- å—ã‘å–ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ¥³¥Þ¥ó¥Écommand¤òFile::PATH_SEPARATOR¤Ç¶èÀÚ¤é¤ì¤¿¥Ñ¥¹Ì¾¤Î
+ ¥ê¥¹¥Èpath¤«¤éõ¤¹¡¥path¤¬nil¤Þ¤¿¤Ï¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¤´Ä¶­
+ ÊÑ¿ôPATH¤ÎÃͤò»ÈÍѤ¹¤ë¡¥¼Â¹Ô²Äǽ¤Ê¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç
+ ¤Ï¥Ñ¥¹¤ò´Þ¤à¥Õ¥¡¥¤¥ë̾¡¤¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ïnil¤òÊÖ¤¹¡¥
-= Appendix C. extconf.rbã§ä½¿ãˆã‚‹é–¢æ•°ãŸã¡
+with_config(withval[, default=nil])
-extconf.rbã®ä¸­ã§ã¯åˆ©ç”¨å¯èƒ½ãªã‚³ãƒ³ãƒ‘イルæ¡ä»¶ãƒã‚§ãƒƒã‚¯ã®é–¢æ•°ã¯ä»¥
-下ã®é€šã‚Šã§ã‚る.
+ ¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Î--with-<withval>¤Ç»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥óÃͤòÆÀ¤ë¡¥
-have_macro(macro, headers) ::
+enable_config(config, *defaults)
+disable_config(config, *defaults)
- ヘッダファイルheaderをインクルードã—ã¦ãƒžã‚¯ãƒ­macroãŒå®šç¾©ã•
- れã¦ã„ã‚‹ã‹ã©ã†ã‹ãƒã‚§ãƒƒã‚¯ã™ã‚‹ï¼Žãƒžã‚¯ãƒ­ãŒå®šç¾©ã•れã¦ã„る時true
- ã‚’è¿”ã™ï¼Ž
+ ¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Î--enable-<config>¤Þ¤¿¤Ï
+ --disable-<config>¤Ç»ØÄꤵ¤ì¤¿¿¿µ¶ÃͤòÆÀ¤ë¡¥
+ --enable-<config>¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ïtrue¡¤
+ --disable-<config>¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ïfalse¤òÊÖ¤¹¡¥
+ ¤É¤Á¤é¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¤¥Ö¥í¥Ã¥¯¤Ä¤­¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï
+ *defaults¤òyield¤·¤¿·ë²Ì¡¤¥Ö¥í¥Ã¥¯¤Ê¤·¤Ê¤é*defaults¤òÊÖ¤¹¡¥
-have_library(lib, func) ::
+dir_config(target[, default_dir])
+dir_config(target[, default_include, default_lib])
- 関数funcを定義ã—ã¦ã„るライブラリlibã®å­˜åœ¨ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ï¼Ž
- ãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œ-llibã‚’$libsã«è¿½åŠ ã—,trueã‚’è¿”ã™ï¼Ž
-
-find_library(lib, func, path...) ::
-
- 関数funcを定義ã—ã¦ã„るライブラリlibã®å­˜åœ¨ã‚’ -Lpath を追加
- ã—ãªãŒã‚‰ãƒã‚§ãƒƒã‚¯ã™ã‚‹ï¼Žãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œ-llibã‚’$libsã«
- 追加ã—,trueã‚’è¿”ã™ï¼Ž
-
-have_func(func, header) ::
-
- ヘッダファイルheaderをインクルードã—ã¦é–¢æ•°funcã®å­˜åœ¨ã‚’ãƒã‚§
- ックã™ã‚‹ï¼ŽfuncãŒæ¨™æº–ã§ã¯ãƒªãƒ³ã‚¯ã•れãªã„ライブラリ内ã®ã‚‚ã®ã§
- ã‚る時ã«ã¯å…ˆã«have_libraryã§ãã®ãƒ©ã‚¤ãƒ–ラリをãƒã‚§ãƒƒã‚¯ã—ã¦ãŠ
- ã事.ãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œãƒ—リプロセッサマクロ
- `HAVE_{FUNC}` を定義ã—,trueã‚’è¿”ã™ï¼Ž
-
-have_var(var, header) ::
-
- ヘッダファイルheaderをインクルードã—ã¦å¤‰æ•°varã®å­˜åœ¨ã‚’ãƒã‚§ãƒƒ
- クã™ã‚‹ï¼ŽvarãŒæ¨™æº–ã§ã¯ãƒªãƒ³ã‚¯ã•れãªã„ライブラリ内ã®ã‚‚ã®ã§ã‚
- る時ã«ã¯å…ˆã«have_libraryã§ãã®ãƒ©ã‚¤ãƒ–ラリをãƒã‚§ãƒƒã‚¯ã—ã¦ãŠã
- 事.ãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œãƒ—リプロセッサマクロ
- `HAVE_{VAR}` を定義ã—,trueã‚’è¿”ã™ï¼Ž
-
-have_header(header) ::
-
- ヘッダファイルã®å­˜åœ¨ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ï¼Žãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œ
- プリプロセッサマクロ `HAVE_{HEADER_H}` を定義ã—,trueã‚’è¿”ã™ï¼Ž
- (スラッシュやドットã¯ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ã«ç½®æ›ã•れる)
-
-find_header(header, path...) ::
-
- ヘッダファイルheaderã®å­˜åœ¨ã‚’ -Ipath を追加ã—ãªãŒã‚‰ãƒã‚§ãƒƒã‚¯
- ã™ã‚‹ï¼Žãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œãƒ—リプロセッサマクロ
- `HAVE_{HEADER_H}` を定義ã—,trueã‚’è¿”ã™ï¼Ž
- (スラッシュやドットã¯ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ã«ç½®æ›ã•れる)
-
-have_struct_member(type, member[, header[, opt]]) ::
-
- ヘッダファイルheaderをインクルードã—ã¦åž‹typeãŒå®šç¾©ã•れ,
- ãªãŠã‹ã¤ãƒ¡ãƒ³ãƒmemberãŒå­˜åœ¨ã™ã‚‹ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ï¼Žãƒã‚§ãƒƒã‚¯ã«
- æˆåŠŸã™ã‚‹ã¨ï¼Œãƒ—リプロセッサマクロ `HAVE_{TYPE}_{MEMBER}` ã‚’
- 定義ã—,trueã‚’è¿”ã™ï¼Ž
-
-have_type(type, header, opt) ::
-
- ヘッダファイルheaderをインクルードã—ã¦åž‹typeãŒå­˜åœ¨ã™ã‚‹ã‹ã‚’
- ãƒã‚§ãƒƒã‚¯ã™ã‚‹ï¼Žãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œãƒ—リプロセッサマクロ
- `HAVE_TYPE_{TYPE}` を定義ã—,trueã‚’è¿”ã™ï¼Ž
-
-check_sizeof(type, header) ::
-
- ヘッダファイルheaderをインクルードã—ã¦åž‹typeã®charå˜ä½ã‚µã‚¤
- ズを調ã¹ã‚‹ï¼Žãƒã‚§ãƒƒã‚¯ã«æˆåŠŸã™ã‚‹ã¨ï¼Œãƒ—リプロセッサマクロ
- `SIZEOF_{TYPE}` を定義ã—,ãã®ã‚µã‚¤ã‚ºã‚’è¿”ã™ï¼Žå®šç¾©ã•れã¦ã„ãª
- ã„ã¨ãã¯nilã‚’è¿”ã™ï¼Ž
-
-create_makefile(target[, target_prefix]) ::
-
- 拡張ライブラリ用ã®Makefileを生æˆã™ã‚‹ï¼Žã“ã®é–¢æ•°ã‚’呼ã°ãªã‘れ
- ã°ãã®ãƒ©ã‚¤ãƒ–ラリã¯ã‚³ãƒ³ãƒ‘イルã•れãªã„.targetã¯ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«å
- を表ã™ï¼Ž
-
-find_executable(command, path) ::
-
- コマンドcommandã‚’File::PATH_SEPARATORã§åŒºåˆ‡ã‚‰ã‚ŒãŸãƒ‘スåã®
- リストpathã‹ã‚‰æŽ¢ã™ï¼ŽpathãŒnilã¾ãŸã¯çœç•¥ã•れãŸå ´åˆã¯ï¼Œç’°å¢ƒ
- 変数PATHã®å€¤ã‚’使用ã™ã‚‹ï¼Žå®Ÿè¡Œå¯èƒ½ãªã‚³ãƒžãƒ³ãƒ‰ãŒè¦‹ã¤ã‹ã£ãŸå ´åˆ
- ã¯ãƒ‘スをå«ã‚€ãƒ•ァイルå,見ã¤ã‹ã‚‰ãªã‹ã£ãŸå ´åˆã¯nilã‚’è¿”ã™ï¼Ž
-
-with_config(withval[, default=nil]) ::
-
- コマンドライン上ã®--with-<withval>ã§æŒ‡å®šã•れãŸã‚ªãƒ—ション値
- を得る.
-
-enable_config(config, *defaults) ::
-disable_config(config, *defaults) ::
-
- コマンドライン上ã®--enable-<config>ã¾ãŸã¯
- --disable-<config>ã§æŒ‡å®šã•れãŸçœŸå½å€¤ã‚’得る.
- --enable-<config>ãŒæŒ‡å®šã•れã¦ã„ãŸå ´åˆã¯true,
- --disable-<config>ãŒæŒ‡å®šã•れã¦ã„ãŸå ´åˆã¯falseã‚’è¿”ã™ï¼Ž
- ã©ã¡ã‚‰ã‚‚指定ã•れã¦ã„ãªã„å ´åˆã¯ï¼Œãƒ–ロックã¤ãã§å‘¼ã³å‡ºã•れã¦
- ã„ã‚‹å ´åˆã¯*defaultsã‚’yieldã—ãŸçµæžœï¼Œãƒ–ロックãªã—ãªã‚‰
- *defaultsã‚’è¿”ã™ï¼Ž
-
-dir_config(target[, default_dir]) ::
-dir_config(target[, default_include, default_lib]) ::
-
- コマンドライン上ã®--with-<target>-dir, --with-<target>-include,
- --with-<target>-libã®ã„ãšã‚Œã‹ã§æŒ‡å®šã•れるディレクトリを
- $CFLAGS ã‚„ $LDFLAGS ã«è¿½åŠ ã™ã‚‹ï¼Ž--with-<target>-dir=/pathã¯
+ ¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Î--with-<target>-dir, --with-<target>-include,
+ --with-<target>-lib¤Î¤¤¤º¤ì¤«¤Ç»ØÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò
+ $CFLAGS ¤ä $LDFLAGS ¤ËÄɲ乤롥--with-<target>-dir=/path¤Ï
--with-<target>-include=/path/include --with-<target>-lib=/path/lib
- ã¨ç­‰ä¾¡ã§ã‚る.追加ã•れ㟠include ディレクトリ㨠lib ディレ
- クトリã®é…列を返ã™ï¼Ž ([include_dir, lib_dir])
-
-pkg_config(pkg, option=nil) ::
-
- pkg-configコマンドã‹ã‚‰ãƒ‘ッケージpkgã®æƒ…報を [cflags, ldflags, libs]
- ã®é…列ã¨ã—ã¦å¾—る.$CFLAGS, $LDFLAGS, $libs ã«ã¯ãれãžã‚Œã®å€¤ãŒ
- 追加ã•れる.
-
- pkg-configã®å®Ÿéš›ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ï¼Œä»¥ä¸‹ã®é †ã§è©¦ã•れる.
-
- 1. コマンドラインã§--with-{pkg}-config={command}オプションãŒ
- 指定ã•れãŸå ´åˆ: {command} {option}
- 2. {pkg}-config {option}
- 3. pkg-config {option} {pkg}
-
- optionãŒæŒ‡å®šã•れãŸå ´åˆã¯ã€ä¸Šè¨˜ã®é…列ã®ä»£ã‚りã«ãã®ã‚ªãƒ—ションを
- 指定ã—ã¦å¾—られãŸå‡ºåŠ›ã‚’stripã—ãŸã‚‚ã®ã‚’è¿”ã™ï¼Ž
-
-= Appendix D. 世代別GC
-
-Ruby 2.1ã‹ã‚‰ä¸–代別GCã«å¯¾å¿œã—ã¾ã—ãŸã€‚我々ã¯ã“れをRGenGCã¨å‘¼ã‚“ã§ã„ã¾ã™ã€‚
-RGenGCã¯ã€éŽåŽ»ã®æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã«ï¼ˆã»ã¼ï¼‰äº’æ›æ€§ã‚’ä¿ã¤ã‚ˆã†ã«é–‹ç™ºã•れã¦ã„ã‚‹
-ãŸã‚ã€æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリå´ã®å¯¾å¿œã¯ã»ã¼ä¸è¦ã§ã™ã€‚
-
-ãŸã ã—ã€å¯¾å¿œã‚’ã™ã‚‹ã“ã¨ã§æ€§èƒ½ã‚’å‘上ã™ã‚‹ã“ã¨ãŒã§ãã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ã‚‚ã—
-拡張ライブラリã«é«˜ã„性能ãŒå¿…è¦ã§ã‚ã‚‹å ´åˆã¯å¯¾å¿œã‚’検討ã—ã¦ä¸‹ã•ã„。
+ ¤ÈÅù²Á¤Ç¤¢¤ë¡¥Äɲ䵤줿 include ¥Ç¥£¥ì¥¯¥È¥ê¤È lib ¥Ç¥£¥ì¥¯¥È¥ê¤Î
+ ÇÛÎó¤òÊÖ¤¹¡¥ ([include_dir, lib_dir])
-ã¨ãã«RARRAY_PTR()/RHASH_TBL()ã®ã‚ˆã†ãªãƒžã‚¯ãƒ­ã‚’用ã„ã¦ãƒã‚¤ãƒ³ã‚¿ã«ç›´æŽ¥ã‚¢ã‚¯ã‚»
-スã™ã‚‹ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã¯æ›¸ã‹ãªã„よã†ã«ã—ã¦ä¸‹ã•ã„。代ã‚りã«ã€rb_ary_aref(),
-rb_ary_store() ãªã©ã®ã€é©åˆ‡ãª API 関数を利用ã™ã‚‹ã‚ˆã†ã«ã—ã¦ä¸‹ã•ã„。
+pkg_config(pkg)
-ãã®ã»ã‹ã€å¯¾å¿œã«ã¤ã„ã¦ã®è©³ç´°ã¯ README.ext ã®ã€ŒAppendix D. Generational
-GCã€ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„。
+ pkg-config¥³¥Þ¥ó¥É¤«¤é¥Ñ¥Ã¥±¡¼¥¸pkg¤Î¾ðÊó¤òÆÀ¤ë¡¥
+ pkg-config¤Î¼ÂºÝ¤Î¥³¥Þ¥ó¥É̾¤Ï¡¤--with-pkg-config¥³¥Þ¥ó¥É
+ ¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç»ØÄê²Äǽ¡¥
/*
* Local variables:
diff --git a/README.ja b/README.ja
index 9ab2f3ca0e..df8cfc03f4 100644
--- a/README.ja
+++ b/README.ja
@@ -1,192 +1,160 @@
-= Rubyã¨ã¯
+* Ruby¤È¤Ï
-Rubyã¯ã‚·ãƒ³ãƒ—ルã‹ã¤å¼·åŠ›ãªã‚ªãƒ–ジェクト指å‘スクリプト言語ã§ã™ï¼Ž
-Rubyã¯æœ€åˆã‹ã‚‰ç´”粋ãªã‚ªãƒ–ジェクト指å‘言語ã¨ã—ã¦è¨­è¨ˆã•れã¦ã„ã¾
-ã™ã‹ã‚‰ï¼Œã‚ªãƒ–ジェクト指å‘プログラミングを手軽ã«è¡Œã†äº‹ãŒå‡ºæ¥ã¾
-ã™ï¼Žã‚‚ã¡ã‚ã‚“é€šå¸¸ã®æ‰‹ç¶šãåž‹ã®ãƒ—ログラミングもå¯èƒ½ã§ã™ï¼Ž
+Ruby¤Ï¥·¥ó¥×¥ë¤«¤Ä¶¯ÎϤʥª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥¹¥¯¥ê¥×¥È¸À¸ì¤Ç¤¹¡¥
+Ruby¤ÏºÇ½é¤«¤é½ã¿è¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¸À¸ì¤È¤·¤ÆÀ߷פµ¤ì¤Æ¤¤¤Þ
+¤¹¤«¤é¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤ò¼ê·Ú¤Ë¹Ô¤¦»ö¤¬½ÐÍè¤Þ
+¤¹¡¥¤â¤Á¤í¤óÄ̾ï¤Î¼ê³¤­·¿¤Î¥×¥í¥°¥é¥ß¥ó¥°¤â²Äǽ¤Ç¤¹¡¥
-Rubyã¯ãƒ†ã‚­ã‚¹ãƒˆå‡¦ç†é–¢ä¿‚ã®èƒ½åŠ›ãªã©ã«å„ªã‚Œï¼ŒPerlã¨åŒã˜ãらã„強力
-ã§ã™ï¼Žã•らã«ã‚·ãƒ³ãƒ—ãƒ«ãªæ–‡æ³•ã¨ï¼Œä¾‹å¤–処ç†ã‚„イテレータãªã©ã®æ©Ÿæ§‹
-ã«ã‚ˆã£ã¦ï¼Œã‚ˆã‚Šåˆ†ã‹ã‚Šã‚„ã™ã„プログラミングãŒå‡ºæ¥ã¾ã™ï¼Ž
+Ruby¤Ï¥Æ¥­¥¹¥È½èÍý´Ø·¸¤ÎǽÎϤʤɤËÍ¥¤ì¡¤Perl¤ÈƱ¤¸¤¯¤é¤¤¶¯ÎÏ
+¤Ç¤¹¡¥¤µ¤é¤Ë¥·¥ó¥×¥ë¤Êʸˡ¤È¡¤Îã³°½èÍý¤ä¥¤¥Æ¥ì¡¼¥¿¤Ê¤É¤Îµ¡¹½
+¤Ë¤è¤Ã¤Æ¡¤¤è¤êʬ¤«¤ê¤ä¤¹¤¤¥×¥í¥°¥é¥ß¥ó¥°¤¬½ÐÍè¤Þ¤¹¡¥
-== Rubyã®ç‰¹é•·
+* Ruby¤ÎÆÃĹ
-* ã‚·ãƒ³ãƒ—ãƒ«ãªæ–‡æ³•
-* 普通ã®ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘æ©Ÿèƒ½(クラス,メソッドコールãªã©)
-* 特殊ãªã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘æ©Ÿèƒ½(Mixin, 特異メソッドãªã©)
-* 演算å­ã‚ªãƒ¼ãƒãƒ¼ãƒ­ãƒ¼ãƒ‰
-* ä¾‹å¤–å‡¦ç†æ©Ÿèƒ½
-* イテレータã¨ã‚¯ãƒ­ãƒ¼ã‚¸ãƒ£
-* ガーベージコレクタ
-* ダイナミックローディング (アーキテクãƒãƒ£ã«ã‚ˆã‚‹)
-* ç§»æ¤æ€§ãŒé«˜ã„.多ãã®Unix-like/POSIX互æ›ãƒ—ラットフォーム上ã§
- å‹•ãã ã‘ã§ãªã,Windows, Mac OS X,BeOSãªã©ã®ä¸Šã§ã‚‚å‹•ã
- cf. http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatformsJa
+ + ¥·¥ó¥×¥ë¤Êʸˡ
+ + ÉáÄ̤Υª¥Ö¥¸¥§¥¯¥È»Ø¸þµ¡Ç½(¥¯¥é¥¹¡¤¥á¥½¥Ã¥É¥³¡¼¥ë¤Ê¤É)
+ + ÆÃ¼ì¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þµ¡Ç½(Mixin, ÆÃ°Û¥á¥½¥Ã¥É¤Ê¤É)
+ + ±é»»»Ò¥ª¡¼¥Ð¡¼¥í¡¼¥É
+ + Îã³°½èÍýµ¡Ç½
+ + ¥¤¥Æ¥ì¡¼¥¿¤È¥¯¥í¡¼¥¸¥ã
+ + ¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥¿
+ + ¥À¥¤¥Ê¥ß¥Ã¥¯¥í¡¼¥Ç¥£¥ó¥° (¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤è¤ë)
+ + °Ü¿¢À­¤¬¹â¤¤¡¥Â¿¤¯¤ÎUNIX¾å¤Çư¤¯¤À¤±¤Ç¤Ê¤¯¡¤DOS¤äWindows¡¤
+ Mac¡¤BeOS¤Ê¤É¤Î¾å¤Ç¤âư¤¯
-== 入手法
-=== FTPã§
+* Æþ¼êË¡
-以下ã®å ´æ‰€ã«ãŠã„ã¦ã‚りã¾ã™ï¼Ž
+** FTP¤Ç
-ftp://ftp.ruby-lang.org/pub/ruby/
+°Ê²¼¤Î¾ì½ê¤Ë¤ª¤¤¤Æ¤¢¤ê¤Þ¤¹¡¥
-=== Subversionã§
+ ftp://ftp.ruby-lang.org/pub/ruby/
-開発先端ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã¯æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§å–å¾—ã§ãã¾ã™ï¼Ž
+** Subversion¤Ç
- $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
-
-ä»–ã«é–‹ç™ºä¸­ã®ãƒ–ランãƒã®ä¸€è¦§ã¯æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§è¦‹ã‚‰ã‚Œã¾ã™ï¼Ž
-
- $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
-
-=== Gitã§
+ËÜ¥Ö¥é¥ó¥Á¤ÎRuby¤ÎºÇ¿·¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡¥
-Subversionã®ãƒŸãƒ©ãƒ¼ã‚’GitHubã«å…¬é–‹ã—ã¦ã„ã¾ã™ï¼Ž
-以下ã®ã‚³ãƒžãƒ³ãƒ‰ã§ãƒªãƒã‚¸ãƒˆãƒªã‚’å–å¾—ã§ãã¾ã™ï¼Ž
+ $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6/
- $ git clone git://github.com/ruby/ruby.git
+³«È¯Àèü¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡¥
-== ホームページ
+ $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
-Rubyã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã®URLã¯
+¾¤Ë³«È¯Ãæ¤Î¥Ö¥é¥ó¥Á¤Î°ìÍ÷¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç¸«¤é¤ì¤Þ¤¹¡¥
-http://www.ruby-lang.org/
+ $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
-ã§ã™ï¼Ž
+* ¥Û¡¼¥à¥Ú¡¼¥¸
-== メーリングリスト
+Ruby¤Î¥Û¡¼¥à¥Ú¡¼¥¸¤ÎURL¤Ï
-Rubyã®ãƒ¡ãƒ¼ãƒªãƒ³ã‚°ãƒªã‚¹ãƒˆãŒã‚りã¾ã™ã€‚å‚åŠ å¸Œæœ›ã®æ–¹ã¯
+ http://www.ruby-lang.org/
-mailto:ruby-list-ctl@ruby-lang.org
+¤Ç¤¹¡¥
-ã¾ã§æœ¬æ–‡ã«
- subscribe YourFirstName YourFamilyName
+* ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È
-ã¨æ›¸ã„ã¦é€ã£ã¦ä¸‹ã•ã„。
+Ruby¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£»²²Ã´õ˾¤ÎÊý¤Ï
-Ruby開発者å‘ã‘メーリングリストもã‚りã¾ã™ã€‚ã“ã¡ã‚‰ã§ã¯rubyã®ãƒ
-ã‚°ã€å°†æ¥ã®ä»•様拡張ãªã©å®Ÿè£…上ã®å•題ã«ã¤ã„ã¦è­°è«–ã•れã¦ã„ã¾ã™ã€‚
-å‚åŠ å¸Œæœ›ã®æ–¹ã¯
+ ruby-list-ctl@ruby-lang.org
-mailto:ruby-dev-ctl@ruby-lang.org
+¤Þ¤ÇËÜʸ¤Ë
-ã¾ã§ruby-listã¨åŒæ§˜ã®æ–¹æ³•ã§ãƒ¡ãƒ¼ãƒ«ã—ã¦ãã ã•ã„。
-
-Ruby拡張モジュールã«ã¤ã„ã¦è©±ã—åˆã†ruby-extメーリングリストã¨
-数学関係ã®è©±é¡Œã«ã¤ã„ã¦è©±ã—åˆã†ruby-mathメーリングリストã¨
-英語ã§è©±ã—åˆã†ruby-talkメーリングリストもã‚りã¾ã™ã€‚å‚加方法
-ã¯ã©ã‚Œã‚‚åŒã˜ã§ã™ã€‚
+ subscribe YourFirstName YourFamilyName
+
+¤È½ñ¤¤¤ÆÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
+Ruby³«È¯¼Ô¸þ¤±¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Á¤é¤Ç¤Ïruby¤Î¥Ð
+¥°¡¢¾­Íè¤Î»ÅÍͳÈÄ¥¤Ê¤É¼ÂÁõ¾å¤ÎÌäÂê¤Ë¤Ä¤¤¤ÆµÄÏÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+»²²Ã´õ˾¤ÎÊý¤Ï
-== コンパイル・インストール
+ ruby-dev-ctl@ruby-lang.org
-ä»¥ä¸‹ã®æ‰‹é †ã§è¡Œã£ã¦ãã ã•ã„.
+¤Þ¤Çruby-list¤ÈƱÍͤÎÊýË¡¤Ç¥á¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
-1. ã‚‚ã— +configure+ ファイルãŒè¦‹ã¤ã‹ã‚‰ãªã„ã€ã‚‚ã—ãã¯
- +configure.in+ よりå¤ã„よã†ãªã‚‰ã€ +autoconf+ を実行ã—ã¦
- æ–°ã—ã +configure+ を生æˆã™ã‚‹
+Ruby³ÈÄ¥¥â¥¸¥å¡¼¥ë¤Ë¤Ä¤¤¤ÆÏ䷹礦ruby-ext¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤È
+¿ô³Ø´Ø·¸¤ÎÏÃÂê¤Ë¤Ä¤¤¤ÆÏ䷹礦ruby-math¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤È
+±Ñ¸ì¤ÇÏ䷹礦ruby-talk¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£»²²ÃÊýË¡
+¤Ï¤É¤ì¤âƱ¤¸¤Ç¤¹¡£
-2. +configure+ を実行ã—㦠+Makefile+ ãªã©ã‚’生æˆã™ã‚‹
- 環境ã«ã‚ˆã£ã¦ã¯ãƒ‡ãƒ•ォルトã®Cコンパイラ用オプションãŒä»˜ã
- ã¾ã™ï¼Ž +configure+ オプション㧠<tt>optflags=..</tt> <tt>warnflags=..</tt> ç­‰
- ã§ä¸Šæ›¸ãã§ãã¾ã™ï¼Ž
+* ¥³¥ó¥Ñ¥¤¥ë¡¦¥¤¥ó¥¹¥È¡¼¥ë
-3. (å¿…è¦ãªã‚‰ã°)+defines.h+ を編集ã™ã‚‹
+°Ê²¼¤Î¼ê½ç¤Ç¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
- 多分,必è¦ç„¡ã„ã¨æ€ã„ã¾ã™ï¼Ž
+ 1. ¤â¤·configure¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤é¤Ê¤¤¡¢¤â¤·¤¯¤Ï
+ configure.in¤è¤ê¸Å¤¤¤è¤¦¤Ê¤é¡¢autoconf¤ò¼Â¹Ô¤·¤Æ
+ ¿·¤·¤¯configure¤òÀ¸À®¤¹¤ë
-4. (å¿…è¦ãªã‚‰ã°)+ext/Setup+ ã«é™çš„ã«ãƒªãƒ³ã‚¯ã™ã‚‹æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’
- 指定ã™ã‚‹
+ 2. configure¤ò¼Â¹Ô¤·¤ÆMakefile¤Ê¤É¤òÀ¸À®¤¹¤ë
- +ext/Setup+ ã«è¨˜è¿°ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯é™çš„ã«ãƒªãƒ³ã‚¯ã•れã¾ã™ï¼Ž
+ 3. (ɬÍפʤé¤Ð)defines.h¤òÊÔ½¸¤¹¤ë
- ダイナミックローディングをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„アーキテク
- ãƒãƒ£ã§ã¯ +Setup+ ã®1行目ã®ã€Œ<tt>option nodynamic</tt>ã€ã¨ã„ã†è¡Œã®ã‚³
- メントを外ã™å¿…è¦ãŒã‚りã¾ã™ï¼Žã¾ãŸï¼Œã“ã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã§
- 拡張モジュールを利用ã™ã‚‹ãŸã‚ã«ã¯ï¼Œã‚らã‹ã˜ã‚é™çš„ã«ãƒªãƒ³
- クã—ã¦ãŠãå¿…è¦ãŒã‚りã¾ã™ï¼Ž
+ ¿ʬ¡¤É¬Í×̵¤¤¤È»×¤¤¤Þ¤¹¡¥
-5. +make+ を実行ã—ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚‹
+ 4. (ɬÍפʤé¤Ð)ext/Setup¤ËÀÅŪ¤Ë¥ê¥ó¥¯¤¹¤ë³ÈÄ¥¥â¥¸¥å¡¼¥ë¤ò
+ »ØÄꤹ¤ë
-6. <tt>make check</tt>ã§ãƒ†ã‚¹ãƒˆã‚’行ã†ï¼Ž
+ ext/Setup¤Ëµ­½Ò¤·¤¿¥â¥¸¥å¡¼¥ë¤ÏÀÅŪ¤Ë¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡¥
- 「<tt>check succeeded</tt>ã€ã¨è¡¨ç¤ºã•ã‚Œã‚Œã°æˆåŠŸã§ã™ï¼ŽãŸã ã—テスト
- ã«æˆåŠŸã—ã¦ã‚‚完璧ã ã¨ä¿è¨¼ã•れã¦ã„る訳ã§ã¯ã‚りã¾ã›ã‚“.
+ ¥À¥¤¥Ê¥ß¥Ã¥¯¥í¡¼¥Ç¥£¥ó¥°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥¢¡¼¥­¥Æ¥¯
+ ¥Á¥ã¤Ç¤ÏSetup¤Î1¹ÔÌܤΡÖoption nodynamic¡×¤È¤¤¤¦¹Ô¤Î¥³
+ ¥á¥ó¥È¤ò³°¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥¤Þ¤¿¡¤¤³¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç
+ ³ÈÄ¥¥â¥¸¥å¡¼¥ë¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¤¤¢¤é¤«¤¸¤áÀÅŪ¤Ë¥ê¥ó
+ ¥¯¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥
-7. <tt>make install</tt>
+ 5. make¤ò¼Â¹Ô¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë
- 以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作ã£ã¦ï¼Œãã“ã«ãƒ•ァイルをインストー
- ルã—ã¾ã™ï¼Ž
+ 6. make test¤Ç¥Æ¥¹¥È¤ò¹Ô¤¦¡¥
- * <tt>${DESTDIR}${prefix}/bin</tt>
- * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
- * <tt>${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}</tt>
- * <tt>${DESTDIR}${prefix}/share/man/man1</tt>
- * <tt>${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system</tt>
+ ¡Ötest succeeded¡×¤Èɽ¼¨¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡¥¤¿¤À¤·¥Æ¥¹¥È
+ ¤ËÀ®¸ù¤·¤Æ¤â´°àú¤À¤ÈÊݾڤµ¤ì¤Æ¤¤¤ëÌõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
- Rubyã®APIãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ'_x.y.z_'ã§ã‚れã°ï¼Œ<tt>${MAJOR}</tt>ã¯
- '_x_'ã§ï¼Œ<tt>${MINOR}</tt>ã¯'_y_',<tt>${TEENY}</tt>ã¯'_z_'ã§ã™ï¼Ž
+ 7. make install
- <b>注æ„</b>: APIãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® +teeny+ ã¯ï¼ŒRubyプログラムã®ãƒãƒ¼ã‚¸ãƒ§
- ンã¨ã¯ç•°ãªã‚‹ã“ã¨ãŒã‚りã¾ã™ï¼Ž
+ root¤Çºî¶È¤¹¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥
- +root+ ã§ä½œæ¥­ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“.
+¤â¤·¡¤¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤Î¥í¥°¤È¥Þ
+¥·¥ó¡¤OS¤Î¼ïÎà¤ò´Þ¤à¤Ç¤­¤ë¤À¤±¾Ü¤·¤¤¥ì¥Ý¡¼¥È¤òºî¼Ô¤ËÁ÷¤Ã¤Æ¤¯
+¤À¤µ¤ë¤È¾¤ÎÊý¤Î¤¿¤á¤Ë¤â¤Ê¤ê¤Þ¤¹¡¥
-ã‚‚ã—,コンパイル時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã«ã¯ã‚¨ãƒ©ãƒ¼ã®ãƒ­ã‚°ã¨ãƒž
-シン,OSã®ç¨®é¡žã‚’å«ã‚€ã§ãã‚‹ã ã‘詳ã—ã„レãƒãƒ¼ãƒˆã‚’作者ã«é€ã£ã¦ã
-ã ã•ã‚‹ã¨ä»–ã®æ–¹ã®ãŸã‚ã«ã‚‚ãªã‚Šã¾ã™ï¼Ž
+* °Ü¿¢
-== ç§»æ¤
+UNIX¤Ç¤¢¤ì¤Ðconfigure¤¬¤Û¤È¤ó¤É¤Îº¹°Û¤òµÛ¼ý¤·¤Æ¤¯¤ì¤ë¤Ï¤º¤Ç
+¤¹¤¬¡¤»×¤ï¤Ì¸«Íî¤È¤·¤¬¤¢¤Ã¤¿¾ì¹ç(¤¢¤ë¤Ë°ã¤¤¤Ê¤¤)¡¤ºî¼Ô¤Ë¤½¤Î
+¤³¤È¤ò¥ì¥Ý¡¼¥È¤¹¤ì¤Ð¡¤²ò·è¤Ç¤­¤ë¤«¤âÃΤì¤Þ¤»¤ó¡¥
-UNIXã§ã‚れ㰠+configure+ ãŒã»ã¨ã‚“ã©ã®å·®ç•°ã‚’å¸åŽã—ã¦ãれるã¯ãšã§
-ã™ãŒï¼Œæ€ã‚ã¬è¦‹è½ã¨ã—ãŒã‚ã£ãŸå ´åˆ(ã‚ã‚‹ã«é•ã„ãªã„),作者ã«ãã®
-ã“ã¨ã‚’レãƒãƒ¼ãƒˆã™ã‚Œã°ï¼Œè§£æ±ºã§ãã‚‹ã‹ã‚‚知れã¾ã›ã‚“.
+¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤â¤Ã¤È¤â°Í¸¤¹¤ë¤Î¤ÏGCÉô¤Ç¤¹¡¥Ruby¤ÎGC¤ÏÂоÝ
+¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤¬setjmp()¤Ë¤è¤Ã¤ÆÁ´¤Æ¤Î¥ì¥¸¥¹¥¿¤ò jmp_buf¤Ë
+³ÊǼ¤¹¤ë¤³¤È¤È¡¤jmp_buf¤È¥¹¥¿¥Ã¥¯¤¬32bit¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Æ
+¤¤¤ë¤³¤È¤ò²¾Äꤷ¤Æ¤¤¤Þ¤¹¡¥ÆÃ¤ËÁ°¼Ô¤¬À®Î©¤·¤Ê¤¤¾ì¹ç¤ÎÂбþ¤ÏÈó
+¾ï¤Ëº¤Æñ¤Ç¤·¤ç¤¦¡¥¸å¼Ô¤Î²ò·è¤ÏÈæ³ÓŪ´Êñ¤Ç¡¤gc.c¤Ç¥¹¥¿¥Ã¥¯¤ò
+¥Þ¡¼¥¯¤·¤Æ¤¤¤ëÉôʬ¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤Î¥Ð¥¤¥È¿ô¤À¤±¤º¤é¤·¤Æ¥Þ¡¼
+¥¯¤¹¤ë¥³¡¼¥É¤òÄɲ乤ë¤À¤±¤ÇºÑ¤ß¤Þ¤¹¡¥¡Ödefined(THINK_C)¡×¤Ç
+³ç¤é¤ì¤Æ¤¤¤ëÉôʬ¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤
-アーキテクãƒãƒ£ã«ã‚‚ã£ã¨ã‚‚ä¾å­˜ã™ã‚‹ã®ã¯GC部ã§ã™ï¼ŽRubyã®GCã¯å¯¾è±¡
-ã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ãŒ<tt>setjmp()</tt>ã¾ãŸã¯<tt>getcontext()</tt>ã«ã‚ˆã£ã¦å…¨ã¦ã®ãƒ¬
-ジスタを +jmp_buf+ ã‚„ +ucontext_t+ ã«æ ¼ç´ã™ã‚‹ã“ã¨ã¨ï¼Œ +jmp_buf+ ã‚„
-+ucontext_t+ ã¨ã‚¹ã‚¿ãƒƒã‚¯ãŒ32bitアラインメントã•れã¦ã„ã‚‹ã“ã¨ã‚’仮定
-ã—ã¦ã„ã¾ã™ï¼Žç‰¹ã«å‰è€…ãŒæˆç«‹ã—ãªã„å ´åˆã®å¯¾å¿œã¯éžå¸¸ã«å›°é›£ã§ã—ょã†ï¼Ž
-後者ã®è§£æ±ºã¯æ¯”較的簡å˜ã§ï¼Œ +gc.c+ ã§ã‚¹ã‚¿ãƒƒã‚¯ã‚’マークã—ã¦ã„ã‚‹
-部分ã«ã‚¢ãƒ©ã‚¤ãƒ³ãƒ¡ãƒ³ãƒˆã®ãƒã‚¤ãƒˆæ•°ã ã‘ãšã‚‰ã—ã¦ãƒžãƒ¼ã‚¯ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’
-追加ã™ã‚‹ã ã‘ã§æ¸ˆã¿ã¾ã™ï¼Ž<tt>defined(\_\_mc68000\_\_)</tt>ã§æ‹¬ã‚‰ã‚Œã¦ã„
-る部分をå‚考ã«ã—ã¦ãã ã•ã„.
+# ¼ÂºÝ¤Ë¤ÏRuby¤ÏThink C¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡¥
-レジスタウィンドウをæŒã¤CPUã§ã¯ï¼Œãƒ¬ã‚¸ã‚¹ã‚¿ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’スタッ
-クã«ãƒ•ラッシュã™ã‚‹ã‚¢ã‚»ãƒ³ãƒ–ラコードを追加ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚知
-れã¾ã›ã‚“.
+¥ì¥¸¥¹¥¿¥¦¥£¥ó¥É¥¦¤ò»ý¤ÄCPU¤Ç¤Ï¡¤¥ì¥¸¥¹¥¿¥¦¥£¥ó¥É¥¦¤ò¥¹¥¿¥Ã
+¥¯¤Ë¥Õ¥é¥Ã¥·¥å¤¹¤ë¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤òÄɲ乤ëɬÍפ¬¤¢¤ë¤«¤âÃÎ
+¤ì¤Þ¤»¤ó¡¥
-== é…布æ¡ä»¶
+* ÇÛÉÛ¾ò·ï
-+COPYING.ja+ ファイルをå‚ç…§ã—ã¦ãã ã•ã„。
+COPYING.ja¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-== 著者
+* Ãø¼Ô
-コメント,ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆãã®ä»–㯠mailto:matz@ruby-lang.org ã¾ã§ï¼Ž
+¥³¥á¥ó¥È¡¤¥Ð¥°¥ì¥Ý¡¼¥È¤½¤Î¾¤Ï matz@netlab.jp ¤Þ¤Ç¡¥
-------------------------------------------------------
created at: Thu Aug 3 11:57:36 JST 1995
---
Local variables:
-mode: rdoc
+mode: indented-text
end:
diff --git a/ToDo b/ToDo
new file mode 100644
index 0000000000..b55e399edf
--- /dev/null
+++ b/ToDo
@@ -0,0 +1,126 @@
+Language Spec.
+
+- Class#allocate - basicNew
+- class Foo::Bar<Baz .. end, module Boo::Bar .. end
+* operator !! for rescue. ???
+* objectify characters
+* ../... outside condition invokes operator method too.
+* ... inside condition turns off just before right condition.???
+* package or access control for global variables??
+* named arguments like foo(nation:="german") or foo(nation: "german").
+* method to retrieve argument information (needs new C API)
+* multiple return values, yield values. maybe incompatible ???
+* cascading method invocation ???
+* def Class#method .. end ??
+* def Foo::Bar::baz() .. end ??
+* I18N (or M17N) script/string/regexp
+* Fixnum 0 as false ????
+* discourage use of symbol variables (e.g. $/, etc.) in manual
+* discourage use of Perlish features by giving warnings.
+* non confusing in-block local variable (is it possible?)
+ + remove scope by block
+ + variables appears within block may have independent values.
+* Regexp: make /o thread safe.
+* decide whether begin with rescue or ensure make do..while loop.
+* a +1 to be a+1, not a(+1).
+* unify == and eql? again
+* to_i returns nil if str contains no digit.
+* raise exception by `` error
+* jar like combined library package. -> RubyGems?
+* resumable Exception via Exception#resume.
+* method combination, e.g. before, after, around, etc.
+* .. or something like defadvice in Emacs.
+* property - for methods, or for objects in general.
+* "in" modifier, to annotate, or to encourage assertion.
+* selector namespace - something like generic-flet in CLOS, to help RubyBehavior
+* private instance variable (as in Python?) @_foo in class Foo => @_Foo_foo
+* warn/error "bare word" method, like "foo", you should type "foo()"
+* clarify evaluation order of operator argument (=~, .., ...)
+* :symbol => value hash in the form of {symbol: value, ...} ??
+
+Hacking Interpreter
+
+- generational GC
+* non-blocking open (e.g. for named pipe) for thread
+* avoid blocking with gethostbyname/gethostbyaddr (use fork ???)
+* objectify interpreters ???
+* remove rb_eval() recursions
+* syntax tree -> bytecode ???
+* scrambled script, or script filter
+* setuid ruby
+* performance tune for in-block (dynamic) local variables.
+* give warnings to assign magic variables.
+* export rb_io_{addstr,printf,puts,print}
+* autoload should work with threads [ruby-talk:4589]
+* remove stdio dependency from IOs.
+* warn for inconsistent local variable usage (lv m and method m at the same time).
+* MicroRuby
+* Built-in Interactive Ruby.
+* Parser API
+* trap every method invocation, which can be enabled by e.g. trap_call :method.
+* unify Errno exceptions of same errno, or new exception comparison scheme.
+* 2.times{|i| if i==0 then a = 15 else puts eval("a") end} should print nil.
+* Thread#max_stack_size attribute (possible??)
+
+Standard Libraries
+
+- Module#define_method which takes a name and a body (block, proc or method).
+- Enume#inject
+- Array#fetch
+- IO::for_fd
+- Process::waitall [ruby-talk:4557]
+- Process::Status
+- File::lchown, File::lchmod; xxx - still need work for non existing platforms
+- move Time::times to Process.
+- Enumerable#sort_by for Schwartzian transformation
+- fork_and_kill_other_threads.
+- signal list (Signal::trap, Signal::list).
+- move NameError under StandardError.
+- Integer#to_s(base)
+- Hash::new{default}
+- hash etc. should handle self referenceing array/hash
+- Array#select(n1,n2...) works like Array#indexes(n1,n2...)
+- use Mersenne Twister RNG for random.
+- deprecate Array#indexes, and Array#indices.
+- remove dependency on MAXPATHLEN.
+* String#scanf(?)
+* Object#fmt(?)
+* Time::strptime
+* Integer[num], Float[num]; Fixnum[num]?
+* method to retrieve non-number trailer for to_i/to_f.
+* Stream or Port, abstract superclass of IO ?
+* String#{pred,prev}, String#downto
+* optional stepsize argument for succ()
+* Ruby module -- Ruby::Version, Ruby::Interpreter
+* introduce Boolean class; super of TrueClass, FalseClass
+* synchronized method - synchronized{...}, synchronized :foo, :bar
+* Array#&, Array#| to allow duplication. ???
+* way to specify immortal (fork endurance) thread;
+* or raise ForkException to every thread but fork caller.
+* new user-defined marshal scheme. _dump(dumper), _load(restorer)
+* library to load per-user profile seeking .ruby_profile or ruby.ini file.
+* warning framework (warn, warning for Ruby level)
+* marshal should not depend on sprintf (works bad with locale).
+* ternary arg pow: a.pow(b,c) == a**b%c
+* new caller(), e.g. call_stack; needs better name.
+* pointer share mechanism similar to one in String for Array.
+* require "1.6" etc. by /usr/lib/ruby/1.6/1.6.rb ;-)
+* save both "feature names" and "normalized path" in $"
+* implement Mutex_m (or MutexMixin) using Mutex.
+
+Extension Libraries
+
+* ptk.rb pTk wrapper that is compatible to tk.rb
+* Berkeley DB extension
+* BitVector
+* thread-safe fcgi
+
+Ruby Libraries
+
+* urllib.rb, nttplib.rb, etc.
+* format like perl's
+
+Tools
+
+* freeze or undump to bundle everything
+* bundle using zlib
diff --git a/addr2line.c b/addr2line.c
deleted file mode 100644
index f936694724..0000000000
--- a/addr2line.c
+++ /dev/null
@@ -1,1082 +0,0 @@
-/**********************************************************************
-
- addr2line.c -
-
- $Author$
-
- Copyright (C) 2010 Shinichiro Hamaji
-
-**********************************************************************/
-
-#include "ruby/config.h"
-#include "ruby/missing.h"
-#include "addr2line.h"
-
-#include <stdio.h>
-#include <errno.h>
-
-#ifdef USE_ELF
-
-#include <fcntl.h>
-#include <limits.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#ifdef __OpenBSD__
-#include <elf_abi.h>
-#else
-#include <elf.h>
-#endif
-
-/* Make alloca work the best possible way. */
-#ifdef __GNUC__
-# ifndef atarist
-# ifndef alloca
-# define alloca __builtin_alloca
-# endif
-# endif /* atarist */
-#else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
-#pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca();
-# endif
-# endif /* AIX */
-# endif /* HAVE_ALLOCA_H */
-#endif /* __GNUC__ */
-
-#ifdef HAVE_DL_ITERATE_PHDR
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-# endif
-# include <link.h>
-#endif
-
-#define DW_LNS_copy 0x01
-#define DW_LNS_advance_pc 0x02
-#define DW_LNS_advance_line 0x03
-#define DW_LNS_set_file 0x04
-#define DW_LNS_set_column 0x05
-#define DW_LNS_negate_stmt 0x06
-#define DW_LNS_set_basic_block 0x07
-#define DW_LNS_const_add_pc 0x08
-#define DW_LNS_fixed_advance_pc 0x09
-#define DW_LNS_set_prologue_end 0x0a /* DWARF3 */
-#define DW_LNS_set_epilogue_begin 0x0b /* DWARF3 */
-#define DW_LNS_set_isa 0x0c /* DWARF3 */
-
-/* Line number extended opcode name. */
-#define DW_LNE_end_sequence 0x01
-#define DW_LNE_set_address 0x02
-#define DW_LNE_define_file 0x03
-#define DW_LNE_set_discriminator 0x04 /* DWARF4 */
-
-#ifndef ElfW
-# if SIZEOF_VOIDP == 8
-# define ElfW(x) Elf64##_##x
-# else
-# define ElfW(x) Elf32##_##x
-# endif
-#endif
-#ifndef PATH_MAX
-#define PATH_MAX 4096
-#endif
-
-int kprintf(const char *fmt, ...);
-
-typedef struct {
- const char *dirname;
- const char *filename;
- int line;
-
- int fd;
- void *mapped;
- size_t mapped_size;
- unsigned long base_addr;
-} line_info_t;
-
-/* Avoid consuming stack as this module may be used from signal handler */
-static char binary_filename[PATH_MAX];
-
-static unsigned long
-uleb128(char **p)
-{
- unsigned long r = 0;
- int s = 0;
- for (;;) {
- unsigned char b = *(unsigned char *)(*p)++;
- if (b < 0x80) {
- r += (unsigned long)b << s;
- break;
- }
- r += (b & 0x7f) << s;
- s += 7;
- }
- return r;
-}
-
-static long
-sleb128(char **p)
-{
- long r = 0;
- int s = 0;
- for (;;) {
- unsigned char b = *(unsigned char *)(*p)++;
- if (b < 0x80) {
- if (b & 0x40) {
- r -= (0x80 - b) << s;
- }
- else {
- r += (b & 0x3f) << s;
- }
- break;
- }
- r += (b & 0x7f) << s;
- s += 7;
- }
- return r;
-}
-
-static const char *
-get_nth_dirname(unsigned long dir, char *p)
-{
- if (!dir--) {
- return "";
- }
- while (dir--) {
- while (*p) p++;
- p++;
- if (!*p) {
- kprintf("Unexpected directory number %lu in %s\n",
- dir, binary_filename);
- return "";
- }
- }
- return p;
-}
-
-static void
-fill_filename(int file, char *include_directories, char *filenames,
- line_info_t *line)
-{
- int i;
- char *p = filenames;
- char *filename;
- unsigned long dir;
- for (i = 1; i <= file; i++) {
- filename = p;
- if (!*p) {
- /* Need to output binary file name? */
- kprintf("Unexpected file number %d in %s\n",
- file, binary_filename);
- return;
- }
- while (*p) p++;
- p++;
- dir = uleb128(&p);
- /* last modified. */
- uleb128(&p);
- /* size of the file. */
- uleb128(&p);
-
- if (i == file) {
- line->filename = filename;
- line->dirname = get_nth_dirname(dir, include_directories);
- }
- }
-}
-
-static int
-get_path_from_symbol(const char *symbol, const char **p, size_t *len)
-{
- if (symbol[0] == '0') {
- /* libexecinfo */
- *p = strchr(symbol, '/');
- if (*p == NULL) return 0;
- *len = strlen(*p);
- }
- else {
- /* glibc */
- const char *q;
- *p = symbol;
- q = strchr(symbol, '(');
- if (q == NULL) return 0;
- *len = q - symbol;
- }
- return 1;
-}
-
-static void
-fill_line(int num_traces, void **traces,
- unsigned long addr, int file, int line,
- char *include_directories, char *filenames, line_info_t *lines)
-{
- int i;
- for (i = 0; i < num_traces; i++) {
- unsigned long a = (unsigned long)traces[i] - lines[i].base_addr;
- /* We assume one line code doesn't result >100 bytes of native code.
- We may want more reliable way eventually... */
- if (addr < a && a < addr + 100) {
- fill_filename(file, include_directories, filenames, &lines[i]);
- lines[i].line = line;
- }
- }
-}
-
-static void
-parse_debug_line_cu(int num_traces, void **traces,
- char **debug_line, line_info_t *lines)
-{
- char *p, *cu_end, *cu_start, *include_directories, *filenames;
- unsigned long unit_length;
- int default_is_stmt, line_base;
- unsigned int header_length, minimum_instruction_length, line_range,
- opcode_base;
- /* unsigned char *standard_opcode_lengths; */
-
- /* The registers. */
- unsigned long addr = 0;
- unsigned int file = 1;
- unsigned int line = 1;
- /* unsigned int column = 0; */
- int is_stmt;
- /* int basic_block = 0; */
- /* int end_sequence = 0; */
- /* int prologue_end = 0; */
- /* int epilogue_begin = 0; */
- /* unsigned int isa = 0; */
-
- p = *debug_line;
-
- unit_length = *(unsigned int *)p;
- p += sizeof(unsigned int);
- if (unit_length == 0xffffffff) {
- unit_length = *(unsigned long *)p;
- p += sizeof(unsigned long);
- }
-
- cu_end = p + unit_length;
-
- /*dwarf_version = *(unsigned short *)p;*/
- p += 2;
-
- header_length = *(unsigned int *)p;
- p += sizeof(unsigned int);
-
- cu_start = p + header_length;
-
- minimum_instruction_length = *(unsigned char *)p;
- p++;
-
- is_stmt = default_is_stmt = *(unsigned char *)p;
- p++;
-
- line_base = *(char *)p;
- p++;
-
- line_range = *(unsigned char *)p;
- p++;
-
- opcode_base = *(unsigned char *)p;
- p++;
-
- /* standard_opcode_lengths = (unsigned char *)p - 1; */
- p += opcode_base - 1;
-
- include_directories = p;
-
- /* skip include directories */
- while (*p) {
- while (*p) p++;
- p++;
- }
- p++;
-
- filenames = p;
-
- p = cu_start;
-
-#define FILL_LINE() \
- do { \
- fill_line(num_traces, traces, addr, file, line, \
- include_directories, filenames, lines); \
- /*basic_block = prologue_end = epilogue_begin = 0;*/ \
- } while (0)
-
- while (p < cu_end) {
- unsigned long a;
- unsigned char op = *p++;
- switch (op) {
- case DW_LNS_copy:
- FILL_LINE();
- break;
- case DW_LNS_advance_pc:
- a = uleb128(&p);
- addr += a;
- break;
- case DW_LNS_advance_line: {
- long a = sleb128(&p);
- line += a;
- break;
- }
- case DW_LNS_set_file:
- file = (unsigned int)uleb128(&p);
- break;
- case DW_LNS_set_column:
- /*column = (unsigned int)*/(void)uleb128(&p);
- break;
- case DW_LNS_negate_stmt:
- is_stmt = !is_stmt;
- break;
- case DW_LNS_set_basic_block:
- /*basic_block = 1; */
- break;
- case DW_LNS_const_add_pc:
- a = ((255 - opcode_base) / line_range) *
- minimum_instruction_length;
- addr += a;
- break;
- case DW_LNS_fixed_advance_pc:
- a = *(unsigned char *)p++;
- addr += a;
- break;
- case DW_LNS_set_prologue_end:
- /* prologue_end = 1; */
- break;
- case DW_LNS_set_epilogue_begin:
- /* epilogue_begin = 1; */
- break;
- case DW_LNS_set_isa:
- /* isa = (unsigned int)*/(void)uleb128(&p);
- break;
- case 0:
- a = *(unsigned char *)p++;
- op = *p++;
- switch (op) {
- case DW_LNE_end_sequence:
- /* end_sequence = 1; */
- FILL_LINE();
- addr = 0;
- file = 1;
- line = 1;
- /* column = 0; */
- is_stmt = default_is_stmt;
- /* end_sequence = 0; */
- /* isa = 0; */
- break;
- case DW_LNE_set_address:
- addr = *(unsigned long *)p;
- p += sizeof(unsigned long);
- break;
- case DW_LNE_define_file:
- kprintf("Unsupported operation in %s\n",
- binary_filename);
- break;
- case DW_LNE_set_discriminator:
- /* TODO:currently ignore */
- uleb128(&p);
- break;
- default:
- kprintf("Unknown extended opcode: %d in %s\n",
- op, binary_filename);
- }
- break;
- default: {
- unsigned long addr_incr;
- unsigned long line_incr;
- a = op - opcode_base;
- addr_incr = (a / line_range) * minimum_instruction_length;
- line_incr = line_base + (a % line_range);
- addr += (unsigned int)addr_incr;
- line += (unsigned int)line_incr;
- FILL_LINE();
- }
- }
- }
- *debug_line = p;
-}
-
-static void
-parse_debug_line(int num_traces, void **traces,
- char *debug_line, unsigned long size, line_info_t *lines)
-{
- char *debug_line_end = debug_line + size;
- while (debug_line < debug_line_end) {
- parse_debug_line_cu(num_traces, traces, &debug_line, lines);
- }
- if (debug_line != debug_line_end) {
- kprintf("Unexpected size of .debug_line in %s\n",
- binary_filename);
- }
-}
-
-/* read file and fill lines */
-static void
-fill_lines(int num_traces, void **traces, char **syms, int check_debuglink,
- line_info_t *current_line, line_info_t *lines);
-
-static void
-follow_debuglink(char *debuglink, int num_traces, void **traces, char **syms,
- line_info_t *current_line, line_info_t *lines)
-{
- /* Ideally we should check 4 paths to follow gnu_debuglink,
- but we handle only one case for now as this format is used
- by some linux distributions. See GDB's info for detail. */
- static const char global_debug_dir[] = "/usr/lib/debug";
- char *p, *subdir;
-
- p = strrchr(binary_filename, '/');
- if (!p) {
- return;
- }
- p[1] = '\0';
-
- subdir = (char *)alloca(strlen(binary_filename) + 1);
- strcpy(subdir, binary_filename);
- strcpy(binary_filename, global_debug_dir);
- strncat(binary_filename, subdir,
- PATH_MAX - strlen(binary_filename) - 1);
- strncat(binary_filename, debuglink,
- PATH_MAX - strlen(binary_filename) - 1);
-
- munmap(current_line->mapped, current_line->mapped_size);
- close(current_line->fd);
- fill_lines(num_traces, traces, syms, 0, current_line, lines);
-}
-
-/* read file and fill lines */
-static void
-fill_lines(int num_traces, void **traces, char **syms, int check_debuglink,
- line_info_t *current_line, line_info_t *lines)
-{
- int i;
- char *shstr;
- char *section_name;
- ElfW(Ehdr) *ehdr;
- ElfW(Shdr) *shdr, *shstr_shdr;
- ElfW(Shdr) *debug_line_shdr = NULL, *gnu_debuglink_shdr = NULL;
- int fd;
- off_t filesize;
- char *file;
-
- fd = open(binary_filename, O_RDONLY);
- if (fd < 0) {
- return;
- }
- filesize = lseek(fd, 0, SEEK_END);
- if (filesize < 0) {
- int e = errno;
- close(fd);
- kprintf("lseek: %s\n", strerror(e));
- return;
- }
-#if SIZEOF_OFF_T > SIZEOF_SIZE_T
- if (filesize > (off_t)SIZE_MAX) {
- close(fd);
- kprintf("Too large file %s\n", binary_filename);
- return;
- }
-#endif
- lseek(fd, 0, SEEK_SET);
- /* async-signal unsafe */
- file = (char *)mmap(NULL, (size_t)filesize, PROT_READ, MAP_SHARED, fd, 0);
- if (file == MAP_FAILED) {
- int e = errno;
- close(fd);
- kprintf("mmap: %s\n", strerror(e));
- return;
- }
-
- ehdr = (ElfW(Ehdr) *)file;
- if (memcmp(ehdr->e_ident, "\177ELF", 4) != 0) {
- /*
- * Huh? Maybe filename was overridden by setproctitle() and
- * it match non-elf file.
- */
- close(fd);
- return;
- }
-
- current_line->fd = fd;
- current_line->mapped = file;
- current_line->mapped_size = (size_t)filesize;
-
- for (i = 0; i < num_traces; i++) {
- const char *path;
- size_t len;
- if (get_path_from_symbol(syms[i], &path, &len) &&
- !strncmp(path, binary_filename, len)) {
- lines[i].line = -1;
- }
- }
-
- shdr = (ElfW(Shdr) *)(file + ehdr->e_shoff);
-
- shstr_shdr = shdr + ehdr->e_shstrndx;
- shstr = file + shstr_shdr->sh_offset;
-
- for (i = 0; i < ehdr->e_shnum; i++) {
- section_name = shstr + shdr[i].sh_name;
- if (!strcmp(section_name, ".debug_line")) {
- debug_line_shdr = shdr + i;
- break;
- } else if (!strcmp(section_name, ".gnu_debuglink")) {
- gnu_debuglink_shdr = shdr + i;
- }
- }
-
- if (!debug_line_shdr) {
- /* This file doesn't have .debug_line section,
- let's check .gnu_debuglink section instead. */
- if (gnu_debuglink_shdr && check_debuglink) {
- follow_debuglink(file + gnu_debuglink_shdr->sh_offset,
- num_traces, traces, syms,
- current_line, lines);
- }
- return;
- }
-
- parse_debug_line(num_traces, traces,
- file + debug_line_shdr->sh_offset,
- debug_line_shdr->sh_size,
- lines);
-}
-
-#ifdef HAVE_DL_ITERATE_PHDR
-
-typedef struct {
- int num_traces;
- char **syms;
- line_info_t *lines;
-} fill_base_addr_state_t;
-
-static int
-fill_base_addr(struct dl_phdr_info *info, size_t size, void *data)
-{
- int i;
- fill_base_addr_state_t *st = (fill_base_addr_state_t *)data;
- for (i = 0; i < st->num_traces; i++) {
- const char *path;
- size_t len;
- size_t name_len = strlen(info->dlpi_name);
-
- if (get_path_from_symbol(st->syms[i], &path, &len) &&
- (len == name_len || (len > name_len && path[len-name_len-1] == '/')) &&
- !strncmp(path+len-name_len, info->dlpi_name, name_len)) {
- st->lines[i].base_addr = info->dlpi_addr;
- }
- }
- return 0;
-}
-
-#endif /* HAVE_DL_ITERATE_PHDR */
-
-void
-rb_dump_backtrace_with_lines(int num_traces, void **trace, char **syms)
-{
- int i;
- /* async-signal unsafe */
- line_info_t *lines = (line_info_t *)calloc(num_traces,
- sizeof(line_info_t));
-
- /* Note that line info of shared objects might not be shown
- if we don't have dl_iterate_phdr */
-#ifdef HAVE_DL_ITERATE_PHDR
- fill_base_addr_state_t fill_base_addr_state;
-
- fill_base_addr_state.num_traces = num_traces;
- fill_base_addr_state.syms = syms;
- fill_base_addr_state.lines = lines;
- /* maybe async-signal unsafe */
- dl_iterate_phdr(fill_base_addr, &fill_base_addr_state);
-#endif /* HAVE_DL_ITERATE_PHDR */
-
- for (i = 0; i < num_traces; i++) {
- const char *path;
- size_t len;
- if (lines[i].line) {
- continue;
- }
-
- if (!get_path_from_symbol(syms[i], &path, &len)) {
- continue;
- }
-
- strncpy(binary_filename, path, len);
- binary_filename[len] = '\0';
-
- fill_lines(num_traces, trace, syms, 1, &lines[i], lines);
- }
-
- for (i = 0; i < num_traces; i++) {
- line_info_t *line = &lines[i];
-
- if (line->line > 0) {
- if (line->filename) {
- if (line->dirname && line->dirname[0]) {
- kprintf("%s %s/%s:%d\n", syms[i], line->dirname, line->filename, line->line);
- }
- else {
- kprintf("%s %s:%d\n", syms[i], line->filename, line->line);
- }
- } else {
- kprintf("%s ???:%d\n", syms[i], line->line);
- }
- } else {
- kprintf("%s\n", syms[i]);
- }
- }
-
- for (i = 0; i < num_traces; i++) {
- line_info_t *line = &lines[i];
- if (line->fd) {
- munmap(line->mapped, line->mapped_size);
- close(line->fd);
- }
- }
- free(lines);
-}
-
-/* From FreeBSD's lib/libstand/printf.c */
-/*-
- * Copyright (c) 1986, 1988, 1991, 1993
- * The Regents of the University of California. All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)subr_prf.c 8.3 (Berkeley) 1/21/94
- */
-
-#include <stdarg.h>
-#define MAXNBUF (sizeof(intmax_t) * CHAR_BIT + 1)
-extern int rb_toupper(int c);
-#define toupper(c) rb_toupper(c)
-#define hex2ascii(hex) (hex2ascii_data[hex])
-char const hex2ascii_data[] = "0123456789abcdefghijklmnopqrstuvwxyz";
-static inline int imax(int a, int b) { return (a > b ? a : b); }
-static int kvprintf(char const *fmt, void (*func)(int), void *arg, int radix, va_list ap);
-
-static void putce(int c)
-{
- char s[1];
- ssize_t ret;
-
- s[0] = (char)c;
- ret = write(2, s, 1);
- (void)ret;
-}
-
-int
-kprintf(const char *fmt, ...)
-{
- va_list ap;
- int retval;
-
- va_start(ap, fmt);
- retval = kvprintf(fmt, putce, NULL, 10, ap);
- va_end(ap);
- return retval;
-}
-
-/*
- * Put a NUL-terminated ASCII number (base <= 36) in a buffer in reverse
- * order; return an optional length and a pointer to the last character
- * written in the buffer (i.e., the first character of the string).
- * The buffer pointed to by `nbuf' must have length >= MAXNBUF.
- */
-static char *
-ksprintn(char *nbuf, uintmax_t num, int base, int *lenp, int upper)
-{
- char *p, c;
-
- p = nbuf;
- *p = '\0';
- do {
- c = hex2ascii(num % base);
- *++p = upper ? toupper(c) : c;
- } while (num /= base);
- if (lenp)
- *lenp = (int)(p - nbuf);
- return (p);
-}
-
-/*
- * Scaled down version of printf(3).
- *
- * Two additional formats:
- *
- * The format %b is supported to decode error registers.
- * Its usage is:
- *
- * printf("reg=%b\n", regval, "<base><arg>*");
- *
- * where <base> is the output base expressed as a control character, e.g.
- * \10 gives octal; \20 gives hex. Each arg is a sequence of characters,
- * the first of which gives the bit number to be inspected (origin 1), and
- * the next characters (up to a control character, i.e. a character <= 32),
- * give the name of the register. Thus:
- *
- * kvprintf("reg=%b\n", 3, "\10\2BITTWO\1BITONE\n");
- *
- * would produce output:
- *
- * reg=3<BITTWO,BITONE>
- *
- * XXX: %D -- Hexdump, takes pointer and separator string:
- * ("%6D", ptr, ":") -> XX:XX:XX:XX:XX:XX
- * ("%*D", len, ptr, " " -> XX XX XX XX ...
- */
-static int
-kvprintf(char const *fmt, void (*func)(int), void *arg, int radix, va_list ap)
-{
-#define PCHAR(c) {int cc=(c); if (func) (*func)(cc); else *d++ = cc; retval++; }
- char nbuf[MAXNBUF];
- char *d;
- const char *p, *percent, *q;
- unsigned char *up;
- int ch, n;
- uintmax_t num;
- int base, lflag, qflag, tmp, width, ladjust, sharpflag, neg, sign, dot;
- int cflag, hflag, jflag, tflag, zflag;
- int dwidth, upper;
- char padc;
- int stop = 0, retval = 0;
-
- num = 0;
- if (!func)
- d = (char *) arg;
- else
- d = NULL;
-
- if (fmt == NULL)
- fmt = "(fmt null)\n";
-
- if (radix < 2 || radix > 36)
- radix = 10;
-
- for (;;) {
- padc = ' ';
- width = 0;
- while ((ch = (unsigned char)*fmt++) != '%' || stop) {
- if (ch == '\0')
- return (retval);
- PCHAR(ch);
- }
- percent = fmt - 1;
- qflag = 0; lflag = 0; ladjust = 0; sharpflag = 0; neg = 0;
- sign = 0; dot = 0; dwidth = 0; upper = 0;
- cflag = 0; hflag = 0; jflag = 0; tflag = 0; zflag = 0;
-reswitch: switch (ch = (unsigned char)*fmt++) {
- case '.':
- dot = 1;
- goto reswitch;
- case '#':
- sharpflag = 1;
- goto reswitch;
- case '+':
- sign = 1;
- goto reswitch;
- case '-':
- ladjust = 1;
- goto reswitch;
- case '%':
- PCHAR(ch);
- break;
- case '*':
- if (!dot) {
- width = va_arg(ap, int);
- if (width < 0) {
- ladjust = !ladjust;
- width = -width;
- }
- } else {
- dwidth = va_arg(ap, int);
- }
- goto reswitch;
- case '0':
- if (!dot) {
- padc = '0';
- goto reswitch;
- }
- case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- for (n = 0;; ++fmt) {
- n = n * 10 + ch - '0';
- ch = *fmt;
- if (ch < '0' || ch > '9')
- break;
- }
- if (dot)
- dwidth = n;
- else
- width = n;
- goto reswitch;
- case 'b':
- num = (unsigned int)va_arg(ap, int);
- p = va_arg(ap, char *);
- for (q = ksprintn(nbuf, num, *p++, NULL, 0); *q;)
- PCHAR(*q--);
-
- if (num == 0)
- break;
-
- for (tmp = 0; *p;) {
- n = *p++;
- if (num & (1 << (n - 1))) {
- PCHAR(tmp ? ',' : '<');
- for (; (n = *p) > ' '; ++p)
- PCHAR(n);
- tmp = 1;
- } else
- for (; *p > ' '; ++p)
- continue;
- }
- if (tmp)
- PCHAR('>');
- break;
- case 'c':
- PCHAR(va_arg(ap, int));
- break;
- case 'D':
- up = va_arg(ap, unsigned char *);
- p = va_arg(ap, char *);
- if (!width)
- width = 16;
- while(width--) {
- PCHAR(hex2ascii(*up >> 4));
- PCHAR(hex2ascii(*up & 0x0f));
- up++;
- if (width)
- for (q=p;*q;q++)
- PCHAR(*q);
- }
- break;
- case 'd':
- case 'i':
- base = 10;
- sign = 1;
- goto handle_sign;
- case 'h':
- if (hflag) {
- hflag = 0;
- cflag = 1;
- } else
- hflag = 1;
- goto reswitch;
- case 'j':
- jflag = 1;
- goto reswitch;
- case 'l':
- if (lflag) {
- lflag = 0;
- qflag = 1;
- } else
- lflag = 1;
- goto reswitch;
- case 'n':
- if (jflag)
- *(va_arg(ap, intmax_t *)) = retval;
- else if (qflag)
- *(va_arg(ap, int64_t *)) = retval;
- else if (lflag)
- *(va_arg(ap, long *)) = retval;
- else if (zflag)
- *(va_arg(ap, size_t *)) = retval;
- else if (hflag)
- *(va_arg(ap, short *)) = retval;
- else if (cflag)
- *(va_arg(ap, char *)) = retval;
- else
- *(va_arg(ap, int *)) = retval;
- break;
- case 'o':
- base = 8;
- goto handle_nosign;
- case 'p':
- base = 16;
- sharpflag = (width == 0);
- sign = 0;
- num = (uintptr_t)va_arg(ap, void *);
- goto number;
- case 'q':
- qflag = 1;
- goto reswitch;
- case 'r':
- base = radix;
- if (sign)
- goto handle_sign;
- goto handle_nosign;
- case 's':
- p = va_arg(ap, char *);
- if (p == NULL)
- p = "(null)";
- if (!dot)
- n = (int)strlen (p);
- else
- for (n = 0; n < dwidth && p[n]; n++)
- continue;
-
- width -= n;
-
- if (!ladjust && width > 0)
- while (width--)
- PCHAR(padc);
- while (n--)
- PCHAR(*p++);
- if (ladjust && width > 0)
- while (width--)
- PCHAR(padc);
- break;
- case 't':
- tflag = 1;
- goto reswitch;
- case 'u':
- base = 10;
- goto handle_nosign;
- case 'X':
- upper = 1;
- case 'x':
- base = 16;
- goto handle_nosign;
- case 'y':
- base = 16;
- sign = 1;
- goto handle_sign;
- case 'z':
- zflag = 1;
- goto reswitch;
-handle_nosign:
- sign = 0;
- if (jflag)
- num = va_arg(ap, uintmax_t);
- else if (qflag)
- num = va_arg(ap, uint64_t);
- else if (tflag)
- num = va_arg(ap, ptrdiff_t);
- else if (lflag)
- num = va_arg(ap, unsigned long);
- else if (zflag)
- num = va_arg(ap, size_t);
- else if (hflag)
- num = (unsigned short)va_arg(ap, int);
- else if (cflag)
- num = (unsigned char)va_arg(ap, int);
- else
- num = va_arg(ap, unsigned int);
- goto number;
-handle_sign:
- if (jflag)
- num = va_arg(ap, intmax_t);
- else if (qflag)
- num = va_arg(ap, int64_t);
- else if (tflag)
- num = va_arg(ap, ptrdiff_t);
- else if (lflag)
- num = va_arg(ap, long);
- else if (zflag)
- num = va_arg(ap, ssize_t);
- else if (hflag)
- num = (short)va_arg(ap, int);
- else if (cflag)
- num = (char)va_arg(ap, int);
- else
- num = va_arg(ap, int);
-number:
- if (sign && (intmax_t)num < 0) {
- neg = 1;
- num = -(intmax_t)num;
- }
- p = ksprintn(nbuf, num, base, &n, upper);
- tmp = 0;
- if (sharpflag && num != 0) {
- if (base == 8)
- tmp++;
- else if (base == 16)
- tmp += 2;
- }
- if (neg)
- tmp++;
-
- if (!ladjust && padc == '0')
- dwidth = width - tmp;
- width -= tmp + imax(dwidth, n);
- dwidth -= n;
- if (!ladjust)
- while (width-- > 0)
- PCHAR(' ');
- if (neg)
- PCHAR('-');
- if (sharpflag && num != 0) {
- if (base == 8) {
- PCHAR('0');
- } else if (base == 16) {
- PCHAR('0');
- PCHAR('x');
- }
- }
- while (dwidth-- > 0)
- PCHAR('0');
-
- while (*p)
- PCHAR(*p--);
-
- if (ladjust)
- while (width-- > 0)
- PCHAR(' ');
-
- break;
- default:
- while (percent < fmt)
- PCHAR(*percent++);
- /*
- * Since we ignore an formatting argument it is no
- * longer safe to obey the remaining formatting
- * arguments as the arguments will no longer match
- * the format specs.
- */
- stop = 1;
- break;
- }
- }
-#undef PCHAR
-}
-#else /* defined(USE_ELF) */
-#error not supported
-#endif
diff --git a/addr2line.h b/addr2line.h
deleted file mode 100644
index 3782d89e07..0000000000
--- a/addr2line.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/**********************************************************************
-
- addr2line.h -
-
- $Author$
-
- Copyright (C) 2010 Shinichiro Hamaji
-
-**********************************************************************/
-
-#ifndef RUBY_ADDR2LINE_H
-#define RUBY_ADDR2LINE_H
-
-#ifdef USE_ELF
-
-void
-rb_dump_backtrace_with_lines(int num_traces, void **traces, char **syms);
-
-#endif /* USE_ELF */
-
-#endif /* RUBY_ADDR2LINE_H */
diff --git a/array.c b/array.c
index 7760e3313e..acc59d20b4 100644
--- a/array.c
+++ b/array.c
@@ -3,502 +3,163 @@
array.c -
$Author$
+ $Date$
created at: Fri Aug 6 09:46:12 JST 1993
- Copyright (C) 1993-2007 Yukihiro Matsumoto
+ Copyright (C) 1993-2003 Yukihiro Matsumoto
Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
Copyright (C) 2000 Information-technology Promotion Agency, Japan
**********************************************************************/
-#include "ruby/ruby.h"
-#include "ruby/util.h"
-#include "ruby/st.h"
-#include "ruby/encoding.h"
-#include "internal.h"
-#include "probes.h"
-#include "id.h"
-
-#ifndef ARRAY_DEBUG
-# define NDEBUG
-#endif
-#include <assert.h>
+#include "ruby.h"
+#include "util.h"
+#include "st.h"
VALUE rb_cArray;
-
-static ID id_cmp, id_div, id_power;
+static ID id_cmp;
#define ARY_DEFAULT_SIZE 16
-#define ARY_MAX_SIZE (LONG_MAX / (int)sizeof(VALUE))
void
-rb_mem_clear(register VALUE *mem, register long size)
+rb_mem_clear(mem, size)
+ register VALUE *mem;
+ register long size;
{
while (size--) {
*mem++ = Qnil;
}
}
-static void
-ary_mem_clear(VALUE ary, long beg, long size)
-{
- RARRAY_PTR_USE(ary, ptr, {
- rb_mem_clear(ptr + beg, size);
- });
-}
-
static inline void
-memfill(register VALUE *mem, register long size, register VALUE val)
+memfill(mem, size, val)
+ register VALUE *mem;
+ register long size;
+ register VALUE val;
{
while (size--) {
*mem++ = val;
}
}
-static void
-ary_memfill(VALUE ary, long beg, long size, VALUE val)
-{
- RARRAY_PTR_USE(ary, ptr, {
- memfill(ptr + beg, size, val);
- RB_OBJ_WRITTEN(ary, Qundef, val);
- });
-}
-
-static void
-ary_memcpy(VALUE ary, long beg, long argc, const VALUE *argv)
-{
-#if 1
- if (OBJ_PROMOTED(ary)) {
- if (argc > (int)(128/sizeof(VALUE)) /* is magic number (cache line size) */) {
- rb_gc_writebarrier_remember_promoted(ary);
- RARRAY_PTR_USE(ary, ptr, {
- MEMCPY(ptr+beg, argv, VALUE, argc);
- });
- }
- else {
- int i;
- RARRAY_PTR_USE(ary, ptr, {
- for (i=0; i<argc; i++) {
- RB_OBJ_WRITE(ary, &ptr[i+beg], argv[i]);
- }
- });
- }
- }
- else {
- RARRAY_PTR_USE(ary, ptr, {
- MEMCPY(ptr+beg, argv, VALUE, argc);
- });
- }
-#else
- /* giveup write barrier (traditional way) */
- MEMCPY(RARRAY_PTR(ary)+beg, argv, VALUE, argc);
-#endif
-}
-
-# define ARY_SHARED_P(ary) \
- (assert(!FL_TEST((ary), ELTS_SHARED) || !FL_TEST((ary), RARRAY_EMBED_FLAG)), \
- FL_TEST((ary),ELTS_SHARED)!=0)
-# define ARY_EMBED_P(ary) \
- (assert(!FL_TEST((ary), ELTS_SHARED) || !FL_TEST((ary), RARRAY_EMBED_FLAG)), \
- FL_TEST((ary), RARRAY_EMBED_FLAG)!=0)
-
-#define ARY_HEAP_PTR(a) (assert(!ARY_EMBED_P(a)), RARRAY(a)->as.heap.ptr)
-#define ARY_HEAP_LEN(a) (assert(!ARY_EMBED_P(a)), RARRAY(a)->as.heap.len)
-#define ARY_EMBED_PTR(a) (assert(ARY_EMBED_P(a)), RARRAY(a)->as.ary)
-#define ARY_EMBED_LEN(a) \
- (assert(ARY_EMBED_P(a)), \
- (long)((RBASIC(a)->flags >> RARRAY_EMBED_LEN_SHIFT) & \
- (RARRAY_EMBED_LEN_MASK >> RARRAY_EMBED_LEN_SHIFT)))
-#define ARY_HEAP_SIZE(a) (assert(!ARY_EMBED_P(a)), assert(ARY_OWNS_HEAP_P(a)), RARRAY(a)->as.heap.aux.capa * sizeof(VALUE))
-
-#define ARY_OWNS_HEAP_P(a) (!FL_TEST((a), ELTS_SHARED|RARRAY_EMBED_FLAG))
-#define FL_SET_EMBED(a) do { \
- assert(!ARY_SHARED_P(a)); \
- FL_SET((a), RARRAY_EMBED_FLAG); \
-} while (0)
-#define FL_UNSET_EMBED(ary) FL_UNSET((ary), RARRAY_EMBED_FLAG|RARRAY_EMBED_LEN_MASK)
-#define FL_SET_SHARED(ary) do { \
- assert(!ARY_EMBED_P(ary)); \
- FL_SET((ary), ELTS_SHARED); \
-} while (0)
-#define FL_UNSET_SHARED(ary) FL_UNSET((ary), ELTS_SHARED)
-
-#define ARY_SET_PTR(ary, p) do { \
- assert(!ARY_EMBED_P(ary)); \
- assert(!OBJ_FROZEN(ary)); \
- RARRAY(ary)->as.heap.ptr = (p); \
-} while (0)
-#define ARY_SET_EMBED_LEN(ary, n) do { \
- long tmp_n = (n); \
- assert(ARY_EMBED_P(ary)); \
- assert(!OBJ_FROZEN(ary)); \
- RBASIC(ary)->flags &= ~RARRAY_EMBED_LEN_MASK; \
- RBASIC(ary)->flags |= (tmp_n) << RARRAY_EMBED_LEN_SHIFT; \
-} while (0)
-#define ARY_SET_HEAP_LEN(ary, n) do { \
- assert(!ARY_EMBED_P(ary)); \
- RARRAY(ary)->as.heap.len = (n); \
-} while (0)
-#define ARY_SET_LEN(ary, n) do { \
- if (ARY_EMBED_P(ary)) { \
- ARY_SET_EMBED_LEN((ary), (n)); \
- } \
- else { \
- ARY_SET_HEAP_LEN((ary), (n)); \
- } \
- assert(RARRAY_LEN(ary) == (n)); \
-} while (0)
-#define ARY_INCREASE_PTR(ary, n) do { \
- assert(!ARY_EMBED_P(ary)); \
- assert(!OBJ_FROZEN(ary)); \
- RARRAY(ary)->as.heap.ptr += (n); \
-} while (0)
-#define ARY_INCREASE_LEN(ary, n) do { \
- assert(!OBJ_FROZEN(ary)); \
- if (ARY_EMBED_P(ary)) { \
- ARY_SET_EMBED_LEN((ary), RARRAY_LEN(ary)+(n)); \
- } \
- else { \
- RARRAY(ary)->as.heap.len += (n); \
- } \
-} while (0)
-
-#define ARY_CAPA(ary) (ARY_EMBED_P(ary) ? RARRAY_EMBED_LEN_MAX : \
- ARY_SHARED_ROOT_P(ary) ? RARRAY_LEN(ary) : RARRAY(ary)->as.heap.aux.capa)
-#define ARY_SET_CAPA(ary, n) do { \
- assert(!ARY_EMBED_P(ary)); \
- assert(!ARY_SHARED_P(ary)); \
- assert(!OBJ_FROZEN(ary)); \
- RARRAY(ary)->as.heap.aux.capa = (n); \
-} while (0)
-
-#define ARY_SHARED(ary) (assert(ARY_SHARED_P(ary)), RARRAY(ary)->as.heap.aux.shared)
-#define ARY_SET_SHARED(ary, value) do { \
- const VALUE _ary_ = (ary); \
- const VALUE _value_ = (value); \
- assert(!ARY_EMBED_P(_ary_)); \
- assert(ARY_SHARED_P(_ary_)); \
- assert(ARY_SHARED_ROOT_P(_value_)); \
- RB_OBJ_WRITE(_ary_, &RARRAY(_ary_)->as.heap.aux.shared, _value_); \
-} while (0)
-#define RARRAY_SHARED_ROOT_FLAG FL_USER5
-#define ARY_SHARED_ROOT_P(ary) (FL_TEST((ary), RARRAY_SHARED_ROOT_FLAG))
-#define ARY_SHARED_NUM(ary) \
- (assert(ARY_SHARED_ROOT_P(ary)), RARRAY(ary)->as.heap.aux.capa)
-#define ARY_SHARED_OCCUPIED(ary) (ARY_SHARED_NUM(ary) == 1)
-#define ARY_SET_SHARED_NUM(ary, value) do { \
- assert(ARY_SHARED_ROOT_P(ary)); \
- RARRAY(ary)->as.heap.aux.capa = (value); \
-} while (0)
-#define FL_SET_SHARED_ROOT(ary) do { \
- assert(!ARY_EMBED_P(ary)); \
- FL_SET((ary), RARRAY_SHARED_ROOT_FLAG); \
-} while (0)
-
-static void
-ary_resize_capa(VALUE ary, long capacity)
-{
- assert(RARRAY_LEN(ary) <= capacity);
- assert(!OBJ_FROZEN(ary));
- assert(!ARY_SHARED_P(ary));
- if (capacity > RARRAY_EMBED_LEN_MAX) {
- if (ARY_EMBED_P(ary)) {
- long len = ARY_EMBED_LEN(ary);
- VALUE *ptr = ALLOC_N(VALUE, (capacity));
- MEMCPY(ptr, ARY_EMBED_PTR(ary), VALUE, len);
- FL_UNSET_EMBED(ary);
- ARY_SET_PTR(ary, ptr);
- ARY_SET_HEAP_LEN(ary, len);
- }
- else {
- SIZED_REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, capacity, RARRAY(ary)->as.heap.aux.capa);
- }
- ARY_SET_CAPA(ary, (capacity));
- }
- else {
- if (!ARY_EMBED_P(ary)) {
- long len = RARRAY_LEN(ary);
- const VALUE *ptr = RARRAY_CONST_PTR(ary);
-
- if (len > capacity) len = capacity;
- MEMCPY((VALUE *)RARRAY(ary)->as.ary, ptr, VALUE, len);
- FL_SET_EMBED(ary);
- ARY_SET_LEN(ary, len);
- ruby_xfree((VALUE *)ptr);
- }
- }
-}
-
-static inline void
-ary_shrink_capa(VALUE ary)
-{
- long capacity = ARY_HEAP_LEN(ary);
- long old_capa = RARRAY(ary)->as.heap.aux.capa;
- assert(!ARY_SHARED_P(ary));
- assert(old_capa >= capacity);
- if (old_capa > capacity)
- REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, capacity);
-}
-
-static void
-ary_double_capa(VALUE ary, long min)
-{
- long new_capa = ARY_CAPA(ary) / 2;
-
- if (new_capa < ARY_DEFAULT_SIZE) {
- new_capa = ARY_DEFAULT_SIZE;
- }
- if (new_capa >= ARY_MAX_SIZE - min) {
- new_capa = (ARY_MAX_SIZE - min) / 2;
- }
- new_capa += min;
- ary_resize_capa(ary, new_capa);
-}
-
-static void
-rb_ary_decrement_share(VALUE shared)
-{
- if (shared) {
- long num = ARY_SHARED_NUM(shared) - 1;
- if (num == 0) {
- rb_ary_free(shared);
- rb_gc_force_recycle(shared);
- }
- else if (num > 0) {
- ARY_SET_SHARED_NUM(shared, num);
- }
- }
-}
-
-static void
-rb_ary_unshare(VALUE ary)
-{
- VALUE shared = RARRAY(ary)->as.heap.aux.shared;
- rb_ary_decrement_share(shared);
- FL_UNSET_SHARED(ary);
-}
+#define ARY_TMPLOCK FL_USER1
static inline void
-rb_ary_unshare_safe(VALUE ary)
-{
- if (ARY_SHARED_P(ary) && !ARY_EMBED_P(ary)) {
- rb_ary_unshare(ary);
- }
-}
-
-static VALUE
-rb_ary_increment_share(VALUE shared)
+rb_ary_modify_check(ary)
+ VALUE ary;
{
- long num = ARY_SHARED_NUM(shared);
- if (num >= 0) {
- ARY_SET_SHARED_NUM(shared, num + 1);
- }
- return shared;
+ if (OBJ_FROZEN(ary)) rb_error_frozen("array");
+ if (FL_TEST(ary, ARY_TMPLOCK))
+ rb_raise(rb_eRuntimeError, "can't modify array during iteration");
+ if (!OBJ_TAINTED(ary) && rb_safe_level() >= 4)
+ rb_raise(rb_eSecurityError, "Insecure: can't modify array");
}
static void
-rb_ary_set_shared(VALUE ary, VALUE shared)
-{
- rb_ary_increment_share(shared);
- FL_SET_SHARED(ary);
- ARY_SET_SHARED(ary, shared);
-}
-
-static inline void
-rb_ary_modify_check(VALUE ary)
+rb_ary_modify(ary)
+ VALUE ary;
{
- rb_check_frozen(ary);
-}
+ VALUE *ptr;
-void
-rb_ary_modify(VALUE ary)
-{
rb_ary_modify_check(ary);
- if (ARY_SHARED_P(ary)) {
- long shared_len, len = RARRAY_LEN(ary);
- VALUE shared = ARY_SHARED(ary);
- if (len <= RARRAY_EMBED_LEN_MAX) {
- const VALUE *ptr = ARY_HEAP_PTR(ary);
- FL_UNSET_SHARED(ary);
- FL_SET_EMBED(ary);
- MEMCPY((VALUE *)ARY_EMBED_PTR(ary), ptr, VALUE, len);
- rb_ary_decrement_share(shared);
- ARY_SET_EMBED_LEN(ary, len);
- }
- else if (ARY_SHARED_OCCUPIED(shared) && len > ((shared_len = RARRAY_LEN(shared))>>1)) {
- long shift = RARRAY_CONST_PTR(ary) - RARRAY_CONST_PTR(shared);
- FL_UNSET_SHARED(ary);
- ARY_SET_PTR(ary, RARRAY_CONST_PTR(shared));
- ARY_SET_CAPA(ary, shared_len);
- RARRAY_PTR_USE(ary, ptr, {
- MEMMOVE(ptr, ptr+shift, VALUE, len);
- });
- FL_SET_EMBED(shared);
- rb_ary_decrement_share(shared);
- }
- else {
- VALUE *ptr = ALLOC_N(VALUE, len);
- MEMCPY(ptr, RARRAY_CONST_PTR(ary), VALUE, len);
- rb_ary_unshare(ary);
- ARY_SET_CAPA(ary, len);
- ARY_SET_PTR(ary, ptr);
- }
-
- /* TODO: age2 promotion, OBJ_PROMOTED() checks not infant. */
- if (OBJ_PROMOTED(ary) && !OBJ_PROMOTED(shared)) {
- rb_gc_writebarrier_remember_promoted(ary);
- }
+ if (FL_TEST(ary, ELTS_SHARED)) {
+ ptr = ALLOC_N(VALUE, RARRAY(ary)->len);
+ FL_UNSET(ary, ELTS_SHARED);
+ RARRAY(ary)->aux.capa = RARRAY(ary)->len;
+ MEMCPY(ptr, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
+ RARRAY(ary)->ptr = ptr;
}
}
-static void
-ary_ensure_room_for_push(VALUE ary, long add_len)
-{
- long new_len = RARRAY_LEN(ary) + add_len;
- long capa;
-
- if (ARY_SHARED_P(ary)) {
- if (new_len > RARRAY_EMBED_LEN_MAX) {
- VALUE shared = ARY_SHARED(ary);
- if (ARY_SHARED_OCCUPIED(shared)) {
- if (RARRAY_CONST_PTR(ary) - RARRAY_CONST_PTR(shared) + new_len <= RARRAY_LEN(shared)) {
- rb_ary_modify_check(ary);
- }
- else {
- /* if array is shared, then it is likely it participate in push/shift pattern */
- rb_ary_modify(ary);
- capa = ARY_CAPA(ary);
- if (new_len > capa - (capa >> 6)) {
- ary_double_capa(ary, new_len);
- }
- }
- return;
- }
- }
- }
- rb_ary_modify(ary);
- capa = ARY_CAPA(ary);
- if (new_len > capa) {
- ary_double_capa(ary, new_len);
- }
-}
-
-/*
- * call-seq:
- * ary.freeze -> ary
- *
- * Calls Object#freeze on +ary+ to prevent any further
- * modification. A RuntimeError will be raised if a modification
- * attempt is made.
- *
- */
-
VALUE
-rb_ary_freeze(VALUE ary)
+rb_ary_freeze(ary)
+ VALUE ary;
{
return rb_obj_freeze(ary);
}
/*
* call-seq:
- * ary.frozen? -> true or false
+ * array.frozen? -> true or false
*
- * Return +true+ if this array is frozen (or temporarily frozen
- * while being sorted). See also Object#frozen?
+ * Return <code>true</code> if this array is frozen (or temporarily frozen
+ * while being sorted).
*/
static VALUE
-rb_ary_frozen_p(VALUE ary)
+rb_ary_frozen_p(ary)
+ VALUE ary;
{
if (OBJ_FROZEN(ary)) return Qtrue;
+ if (FL_TEST(ary, ARY_TMPLOCK)) return Qtrue;
return Qfalse;
}
-/* This can be used to take a snapshot of an array (with
- e.g. rb_ary_replace) and check later whether the array has been
- modified from the snapshot. The snapshot is cheap, though if
- something does modify the array it will pay the cost of copying
- it. If Array#pop or Array#shift has been called, the array will
- be still shared with the snapshot, but the array length will
- differ. */
-VALUE
-rb_ary_shared_with_p(VALUE ary1, VALUE ary2)
-{
- if (!ARY_EMBED_P(ary1) && ARY_SHARED_P(ary1) &&
- !ARY_EMBED_P(ary2) && ARY_SHARED_P(ary2) &&
- RARRAY(ary1)->as.heap.aux.shared == RARRAY(ary2)->as.heap.aux.shared &&
- RARRAY(ary1)->as.heap.len == RARRAY(ary2)->as.heap.len) {
- return Qtrue;
- }
- return Qfalse;
-}
-
+static VALUE ary_alloc _((VALUE));
static VALUE
-ary_alloc(VALUE klass)
+ary_alloc(klass)
+ VALUE klass;
{
- NEWOBJ_OF(ary, struct RArray, klass, T_ARRAY | RARRAY_EMBED_FLAG | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0));
- /* Created array is:
- * FL_SET_EMBED((VALUE)ary);
- * ARY_SET_EMBED_LEN((VALUE)ary, 0);
- */
- return (VALUE)ary;
-}
+ NEWOBJ(ary, struct RArray);
+ OBJSETUP(ary, klass, T_ARRAY);
-static VALUE
-empty_ary_alloc(VALUE klass)
-{
- if (RUBY_DTRACE_ARRAY_CREATE_ENABLED()) {
- RUBY_DTRACE_ARRAY_CREATE(0, rb_sourcefile(), rb_sourceline());
- }
+ ary->len = 0;
+ ary->ptr = 0;
+ ary->aux.capa = 0;
- return ary_alloc(klass);
+ return (VALUE)ary;
}
static VALUE
-ary_new(VALUE klass, long capa)
+ary_new(klass, len)
+ VALUE klass;
+ long len;
{
- VALUE ary,*ptr;
+ VALUE ary = ary_alloc(klass);
- if (capa < 0) {
+ if (len < 0) {
rb_raise(rb_eArgError, "negative array size (or size too big)");
}
- if (capa > ARY_MAX_SIZE) {
+ if (len > 0 && len * sizeof(VALUE) <= len) {
rb_raise(rb_eArgError, "array size too big");
}
-
- if (RUBY_DTRACE_ARRAY_CREATE_ENABLED()) {
- RUBY_DTRACE_ARRAY_CREATE(capa, rb_sourcefile(), rb_sourceline());
- }
-
- if (capa > RARRAY_EMBED_LEN_MAX) {
- ptr = ALLOC_N(VALUE, capa);
- ary = ary_alloc(klass);
- FL_UNSET_EMBED(ary);
- ARY_SET_PTR(ary, ptr);
- ARY_SET_CAPA(ary, capa);
- ARY_SET_HEAP_LEN(ary, 0);
- }
- else {
- ary = ary_alloc(klass);
- }
+ if (len == 0) len++;
+ RARRAY(ary)->ptr = ALLOC_N(VALUE, len);
+ RARRAY(ary)->aux.capa = len;
return ary;
}
VALUE
-rb_ary_new_capa(long capa)
+rb_ary_new2(len)
+ long len;
{
- return ary_new(rb_cArray, capa);
+ return ary_new(rb_cArray, len);
}
+
VALUE
-rb_ary_new(void)
+rb_ary_new()
{
- return rb_ary_new2(RARRAY_EMBED_LEN_MAX);
+ return rb_ary_new2(ARY_DEFAULT_SIZE);
}
+#ifdef HAVE_STDARG_PROTOTYPES
+#include <stdarg.h>
+#define va_init_list(a,b) va_start(a,b)
+#else
+#include <varargs.h>
+#define va_init_list(a,b) va_start(a)
+#endif
+
VALUE
-rb_ary_new_from_args(long n, ...)
+#ifdef HAVE_STDARG_PROTOTYPES
+rb_ary_new3(long n, ...)
+#else
+rb_ary_new3(n, va_alist)
+ long n;
+ va_dcl
+#endif
{
va_list ar;
VALUE ary;
@@ -506,154 +167,63 @@ rb_ary_new_from_args(long n, ...)
ary = rb_ary_new2(n);
- va_start(ar, n);
+ va_init_list(ar, n);
for (i=0; i<n; i++) {
- RARRAY_ASET(ary, i, va_arg(ar, VALUE));
+ RARRAY(ary)->ptr[i] = va_arg(ar, VALUE);
}
va_end(ar);
- ARY_SET_LEN(ary, n);
+ RARRAY(ary)->len = n;
return ary;
}
VALUE
-rb_ary_new_from_values(long n, const VALUE *elts)
+rb_ary_new4(n, elts)
+ long n;
+ const VALUE *elts;
{
VALUE ary;
ary = rb_ary_new2(n);
if (n > 0 && elts) {
- ary_memcpy(ary, 0, n, elts);
- ARY_SET_LEN(ary, n);
+ MEMCPY(RARRAY(ary)->ptr, elts, VALUE, n);
}
+ /* This assignment to len will be moved to the above "if" block in Ruby 1.9 */
+ RARRAY(ary)->len = n;
+
return ary;
}
VALUE
-rb_ary_tmp_new(long capa)
-{
- return ary_new(0, capa);
-}
-
-void
-rb_ary_free(VALUE ary)
-{
- if (ARY_OWNS_HEAP_P(ary)) {
- ruby_sized_xfree((void *)ARY_HEAP_PTR(ary), ARY_HEAP_SIZE(ary));
- }
-}
-
-RUBY_FUNC_EXPORTED size_t
-rb_ary_memsize(VALUE ary)
-{
- if (ARY_OWNS_HEAP_P(ary)) {
- return RARRAY(ary)->as.heap.aux.capa * sizeof(VALUE);
- }
- else {
- return 0;
- }
-}
-
-static inline void
-ary_discard(VALUE ary)
-{
- rb_ary_free(ary);
- RBASIC(ary)->flags |= RARRAY_EMBED_FLAG;
- RBASIC(ary)->flags &= ~RARRAY_EMBED_LEN_MASK;
-}
-
-static VALUE
-ary_make_shared(VALUE ary)
-{
- assert(!ARY_EMBED_P(ary));
- if (ARY_SHARED_P(ary)) {
- return ARY_SHARED(ary);
- }
- else if (ARY_SHARED_ROOT_P(ary)) {
- return ary;
- }
- else if (OBJ_FROZEN(ary)) {
- ary_shrink_capa(ary);
- FL_SET_SHARED_ROOT(ary);
- ARY_SET_SHARED_NUM(ary, 1);
- return ary;
- }
- else {
- long capa = ARY_CAPA(ary), len = RARRAY_LEN(ary);
- NEWOBJ_OF(shared, struct RArray, 0, T_ARRAY); /* keep shared ary as non-WB-protected */
- FL_UNSET_EMBED(shared);
-
- ARY_SET_LEN((VALUE)shared, capa);
- ARY_SET_PTR((VALUE)shared, RARRAY_CONST_PTR(ary));
- ary_mem_clear((VALUE)shared, len, capa - len);
- FL_SET_SHARED_ROOT(shared);
- ARY_SET_SHARED_NUM((VALUE)shared, 1);
- FL_SET_SHARED(ary);
- ARY_SET_SHARED(ary, (VALUE)shared);
- OBJ_FREEZE(shared);
- return (VALUE)shared;
- }
-}
-
-static VALUE
-ary_make_substitution(VALUE ary)
+rb_assoc_new(car, cdr)
+ VALUE car, cdr;
{
- long len = RARRAY_LEN(ary);
+ VALUE ary;
- if (len <= RARRAY_EMBED_LEN_MAX) {
- VALUE subst = rb_ary_new2(len);
- ary_memcpy(subst, 0, len, RARRAY_CONST_PTR(ary));
- ARY_SET_EMBED_LEN(subst, len);
- return subst;
- }
- else {
- return rb_ary_increment_share(ary_make_shared(ary));
- }
-}
+ ary = rb_ary_new2(2);
+ RARRAY(ary)->ptr[0] = car;
+ RARRAY(ary)->ptr[1] = cdr;
+ RARRAY(ary)->len = 2;
-VALUE
-rb_assoc_new(VALUE car, VALUE cdr)
-{
- return rb_ary_new3(2, car, cdr);
+ return ary;
}
static VALUE
-to_ary(VALUE ary)
+to_ary(ary)
+ VALUE ary;
{
return rb_convert_type(ary, T_ARRAY, "Array", "to_ary");
}
VALUE
-rb_check_array_type(VALUE ary)
+rb_check_array_type(ary)
+ VALUE ary;
{
return rb_check_convert_type(ary, T_ARRAY, "Array", "to_ary");
}
-/*
- * call-seq:
- * Array.try_convert(obj) -> array or nil
- *
- * Tries to convert +obj+ into an array, using +to_ary+ method. Returns the
- * converted array or +nil+ if +obj+ cannot be converted for any reason.
- * This method can be used to check if an argument is an array.
- *
- * Array.try_convert([1]) #=> [1]
- * Array.try_convert("1") #=> nil
- *
- * if tmp = Array.try_convert(arg)
- * # the argument is an array
- * elsif tmp = String.try_convert(arg)
- * # the argument is a string
- * end
- *
- */
-
-static VALUE
-rb_ary_s_try_convert(VALUE dummy, VALUE ary)
-{
- return rb_check_array_type(ary);
-}
+static VALUE rb_ary_replace _((VALUE, VALUE));
/*
* call-seq:
@@ -661,76 +231,55 @@ rb_ary_s_try_convert(VALUE dummy, VALUE ary)
* Array.new(array)
* Array.new(size) {|index| block }
*
- * Returns a new array.
- *
- * In the first form, if no arguments are sent, the new array will be empty.
- * When a +size+ and an optional +obj+ are sent, an array is created with
- * +size+ copies of +obj+. Take notice that all elements will reference the
- * same object +obj+.
- *
- * The second form creates a copy of the array passed as a parameter (the
- * array is generated by calling to_ary on the parameter).
- *
- * first_array = ["Matz", "Guido"]
- *
- * second_array = Array.new(first_array) #=> ["Matz", "Guido"]
- *
- * first_array.equal? second_array #=> false
- *
- * In the last form, an array of the given size is created. Each element in
- * this array is created by passing the element's index to the given block
- * and storing the return value.
- *
- * Array.new(3){ |index| index ** 2 }
- * # => [0, 1, 4]
- *
- * == Common gotchas
- *
- * When sending the second parameter, the same object will be used as the
- * value for all the array elements:
- *
+ * Returns a new array. In the first form, the new array is
+ * empty. In the second it is created with _size_ copies of _obj_
+ * (that is, _size_ references to the same
+ * _obj_). The third form creates a copy of the array
+ * passed as a parameter (the array is generated by calling
+ * to_ary on the parameter). In the last form, an array
+ * of the given size is created. Each element in this array is
+ * calculated by passing the element's index to the given block and
+ * storing the return value.
+ *
+ * Array.new
+ * Array.new(2)
+ * Array.new(5, "A")
+ *
+ * # only one copy of the object is created
* a = Array.new(2, Hash.new)
- * # => [{}, {}]
- *
* a[0]['cat'] = 'feline'
- * a # => [{"cat"=>"feline"}, {"cat"=>"feline"}]
- *
+ * a
* a[1]['cat'] = 'Felix'
- * a # => [{"cat"=>"Felix"}, {"cat"=>"Felix"}]
- *
- * Since all the Array elements store the same hash, changes to one of them
- * will affect them all.
- *
- * If multiple copies are what you want, you should use the block
- * version which uses the result of that block each time an element
- * of the array needs to be initialized:
- *
+ * a
+ *
+ * # here multiple copies are created
* a = Array.new(2) { Hash.new }
* a[0]['cat'] = 'feline'
- * a # => [{"cat"=>"feline"}, {}]
- *
+ * a
+ *
+ * squares = Array.new(5) {|i| i*i}
+ * squares
+ *
+ * copy = Array.new(squares)
*/
static VALUE
-rb_ary_initialize(int argc, VALUE *argv, VALUE ary)
+rb_ary_initialize(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
long len;
VALUE size, val;
- rb_ary_modify(ary);
- if (argc == 0) {
- if (ARY_OWNS_HEAP_P(ary) && RARRAY_CONST_PTR(ary) != 0) {
- ruby_sized_xfree((void *)RARRAY_CONST_PTR(ary), ARY_HEAP_SIZE(ary));
- }
- rb_ary_unshare_safe(ary);
- FL_SET_EMBED(ary);
- ARY_SET_EMBED_LEN(ary, 0);
+ if (rb_scan_args(argc, argv, "02", &size, &val) == 0) {
+ RARRAY(ary)->len = 0;
if (rb_block_given_p()) {
rb_warning("given block not used");
}
return ary;
}
- rb_scan_args(argc, argv, "02", &size, &val);
+
if (argc == 1 && !FIXNUM_P(size)) {
val = rb_check_array_type(size);
if (!NIL_P(val)) {
@@ -743,11 +292,14 @@ rb_ary_initialize(int argc, VALUE *argv, VALUE ary)
if (len < 0) {
rb_raise(rb_eArgError, "negative array size");
}
- if (len > ARY_MAX_SIZE) {
+ if (len > 0 && len * (long)sizeof(VALUE) <= len) {
rb_raise(rb_eArgError, "array size too big");
}
rb_ary_modify(ary);
- ary_resize_capa(ary, len);
+ if (len > RARRAY(ary)->aux.capa) {
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, len);
+ RARRAY(ary)->aux.capa = len;
+ }
if (rb_block_given_p()) {
long i;
@@ -756,133 +308,86 @@ rb_ary_initialize(int argc, VALUE *argv, VALUE ary)
}
for (i=0; i<len; i++) {
rb_ary_store(ary, i, rb_yield(LONG2NUM(i)));
- ARY_SET_LEN(ary, i + 1);
+ RARRAY(ary)->len = i + 1;
}
}
else {
- ary_memfill(ary, 0, len, val);
- ARY_SET_LEN(ary, len);
+ memfill(RARRAY(ary)->ptr, len, val);
+ RARRAY(ary)->len = len;
}
+
return ary;
}
-/*
- * Returns a new array populated with the given objects.
- *
- * Array.[]( 1, 'a', /^A/ ) # => [1, "a", /^A/]
- * Array[ 1, 'a', /^A/ ] # => [1, "a", /^A/]
- * [ 1, 'a', /^A/ ] # => [1, "a", /^A/]
- */
+
+/*
+* Returns a new array populated with the given objects.
+*
+* Array.[]( 1, 'a', /^A/ )
+* Array[ 1, 'a', /^A/ ]
+* [ 1, 'a', /^A/ ]
+*/
static VALUE
-rb_ary_s_create(int argc, VALUE *argv, VALUE klass)
+rb_ary_s_create(argc, argv, klass)
+ int argc;
+ VALUE *argv;
+ VALUE klass;
{
- VALUE ary = ary_new(klass, argc);
- if (argc > 0 && argv) {
- ary_memcpy(ary, 0, argc, argv);
- ARY_SET_LEN(ary, argc);
+ VALUE ary = ary_alloc(klass);
+
+ if (argc > 0) {
+ RARRAY(ary)->ptr = ALLOC_N(VALUE, argc);
+ MEMCPY(RARRAY(ary)->ptr, argv, VALUE, argc);
}
+ RARRAY(ary)->len = RARRAY(ary)->aux.capa = argc;
return ary;
}
void
-rb_ary_store(VALUE ary, long idx, VALUE val)
+rb_ary_store(ary, idx, val)
+ VALUE ary;
+ long idx;
+ VALUE val;
{
- long len = RARRAY_LEN(ary);
-
if (idx < 0) {
- idx += len;
+ idx += RARRAY(ary)->len;
if (idx < 0) {
- rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",
- idx - len, -len);
+ rb_raise(rb_eIndexError, "index %ld out of array",
+ idx - RARRAY(ary)->len);
}
}
- else if (idx >= ARY_MAX_SIZE) {
- rb_raise(rb_eIndexError, "index %ld too big", idx);
- }
rb_ary_modify(ary);
- if (idx >= ARY_CAPA(ary)) {
- ary_double_capa(ary, idx);
- }
- if (idx > len) {
- ary_mem_clear(ary, len, idx - len + 1);
- }
+ if (idx >= RARRAY(ary)->aux.capa) {
+ long new_capa = RARRAY(ary)->aux.capa / 2;
- if (idx >= len) {
- ARY_SET_LEN(ary, idx + 1);
+ if (new_capa < ARY_DEFAULT_SIZE) {
+ new_capa = ARY_DEFAULT_SIZE;
+ }
+ new_capa += idx;
+ if (new_capa * (long)sizeof(VALUE) <= new_capa) {
+ rb_raise(rb_eArgError, "index too big");
+ }
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, new_capa);
+ RARRAY(ary)->aux.capa = new_capa;
}
- RARRAY_ASET(ary, idx, val);
-}
-
-static VALUE
-ary_make_partial(VALUE ary, VALUE klass, long offset, long len)
-{
- assert(offset >= 0);
- assert(len >= 0);
- assert(offset+len <= RARRAY_LEN(ary));
-
- if (len <= RARRAY_EMBED_LEN_MAX) {
- VALUE result = ary_alloc(klass);
- ary_memcpy(result, 0, len, RARRAY_CONST_PTR(ary) + offset);
- ARY_SET_EMBED_LEN(result, len);
- return result;
+ if (idx > RARRAY(ary)->len) {
+ rb_mem_clear(RARRAY(ary)->ptr + RARRAY(ary)->len,
+ idx-RARRAY(ary)->len + 1);
}
- else {
- VALUE shared, result = ary_alloc(klass);
- FL_UNSET_EMBED(result);
- shared = ary_make_shared(ary);
- ARY_SET_PTR(result, RARRAY_CONST_PTR(ary));
- ARY_SET_LEN(result, RARRAY_LEN(ary));
- rb_ary_set_shared(result, shared);
-
- ARY_INCREASE_PTR(result, offset);
- ARY_SET_LEN(result, len);
- return result;
+ if (idx >= RARRAY(ary)->len) {
+ RARRAY(ary)->len = idx + 1;
}
-}
-
-static VALUE
-ary_make_shared_copy(VALUE ary)
-{
- return ary_make_partial(ary, rb_obj_class(ary), 0, RARRAY_LEN(ary));
-}
-
-enum ary_take_pos_flags
-{
- ARY_TAKE_FIRST = 0,
- ARY_TAKE_LAST = 1
-};
-
-static VALUE
-ary_take_first_or_last(int argc, VALUE *argv, VALUE ary, enum ary_take_pos_flags last)
-{
- VALUE nv;
- long n;
- long len;
- long offset = 0;
-
- rb_scan_args(argc, argv, "1", &nv);
- n = NUM2LONG(nv);
- len = RARRAY_LEN(ary);
- if (n > len) {
- n = len;
- }
- else if (n < 0) {
- rb_raise(rb_eArgError, "negative array size");
- }
- if (last) {
- offset = len - n;
- }
- return ary_make_partial(ary, rb_cArray, offset, n);
+ RARRAY(ary)->ptr[idx] = val;
}
/*
* call-seq:
- * ary << obj -> ary
- *
+ * array << obj -> array
+ *
* Append---Pushes the given object on to the end of this array. This
* expression returns the array itself, so several appends
* may be chained together.
@@ -893,326 +398,249 @@ ary_take_first_or_last(int argc, VALUE *argv, VALUE ary, enum ary_take_pos_flags
*/
VALUE
-rb_ary_push(VALUE ary, VALUE item)
-{
- long idx = RARRAY_LEN(ary);
-
- ary_ensure_room_for_push(ary, 1);
- RARRAY_ASET(ary, idx, item);
- ARY_SET_LEN(ary, idx + 1);
- return ary;
-}
-
-VALUE
-rb_ary_cat(VALUE ary, const VALUE *ptr, long len)
+rb_ary_push(ary, item)
+ VALUE ary;
+ VALUE item;
{
- long oldlen = RARRAY_LEN(ary);
-
- ary_ensure_room_for_push(ary, len);
- ary_memcpy(ary, oldlen, len, ptr);
- ARY_SET_LEN(ary, oldlen + len);
+ rb_ary_store(ary, RARRAY(ary)->len, item);
return ary;
}
-/*
+/*
* call-seq:
- * ary.push(obj, ... ) -> ary
- *
- * Append --- Pushes the given object(s) on to the end of this array. This
+ * array.push(obj, ... ) -> array
+ *
+ * Append---Pushes the given object(s) on to the end of this array. This
* expression returns the array itself, so several appends
- * may be chained together. See also Array#pop for the opposite
- * effect.
+ * may be chained together.
*
* a = [ "a", "b", "c" ]
- * a.push("d", "e", "f")
+ * a.push("d", "e", "f")
* #=> ["a", "b", "c", "d", "e", "f"]
- * [1, 2, 3,].push(4).push(5)
- * #=> [1, 2, 3, 4, 5]
*/
static VALUE
-rb_ary_push_m(int argc, VALUE *argv, VALUE ary)
-{
- return rb_ary_cat(ary, argv, argc);
-}
-
-VALUE
-rb_ary_pop(VALUE ary)
+rb_ary_push_m(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
- long n;
- rb_ary_modify_check(ary);
- n = RARRAY_LEN(ary);
- if (n == 0) return Qnil;
- if (ARY_OWNS_HEAP_P(ary) &&
- n * 3 < ARY_CAPA(ary) &&
- ARY_CAPA(ary) > ARY_DEFAULT_SIZE)
- {
- ary_resize_capa(ary, n * 2);
- }
- --n;
- ARY_SET_LEN(ary, n);
- return RARRAY_AREF(ary, n);
+ while (argc--) {
+ rb_ary_push(ary, *argv++);
+ }
+ return ary;
}
/*
* call-seq:
- * ary.pop -> obj or nil
- * ary.pop(n) -> new_ary
- *
- * Removes the last element from +self+ and returns it, or
- * +nil+ if the array is empty.
- *
- * If a number +n+ is given, returns an array of the last +n+ elements
- * (or less) just like <code>array.slice!(-n, n)</code> does. See also
- * Array#push for the opposite effect.
- *
- * a = [ "a", "b", "c", "d" ]
- * a.pop #=> "d"
- * a.pop(2) #=> ["b", "c"]
- * a #=> ["a"]
+ * array.pop -> obj or nil
+ *
+ * Removes the last element from <i>self</i> and returns it, or
+ * <code>nil</code> if the array is empty.
+ *
+ * a = [ "a", "m", "z" ]
+ * a.pop #=> "z"
+ * a #=> ["a", "m"]
*/
-static VALUE
-rb_ary_pop_m(int argc, VALUE *argv, VALUE ary)
+VALUE
+rb_ary_pop(ary)
+ VALUE ary;
{
- VALUE result;
-
- if (argc == 0) {
- return rb_ary_pop(ary);
- }
-
rb_ary_modify_check(ary);
- result = ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);
- ARY_INCREASE_LEN(ary, -RARRAY_LEN(result));
- return result;
+ if (RARRAY(ary)->len == 0) return Qnil;
+ if (!FL_TEST(ary, ELTS_SHARED) &&
+ RARRAY(ary)->len * 2 < RARRAY(ary)->aux.capa &&
+ RARRAY(ary)->aux.capa > ARY_DEFAULT_SIZE) {
+ RARRAY(ary)->aux.capa = RARRAY(ary)->len * 2;
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, RARRAY(ary)->aux.capa);
+ }
+ return RARRAY(ary)->ptr[--RARRAY(ary)->len];
}
-VALUE
-rb_ary_shift(VALUE ary)
+static VALUE
+ary_make_shared(ary)
+ VALUE ary;
{
- VALUE top;
- long len = RARRAY_LEN(ary);
-
- rb_ary_modify_check(ary);
- if (len == 0) return Qnil;
- top = RARRAY_AREF(ary, 0);
- if (!ARY_SHARED_P(ary)) {
- if (len < ARY_DEFAULT_SIZE) {
- RARRAY_PTR_USE(ary, ptr, {
- MEMMOVE(ptr, ptr+1, VALUE, len-1);
- }); /* WB: no new reference */
- ARY_INCREASE_LEN(ary, -1);
- return top;
- }
- assert(!ARY_EMBED_P(ary)); /* ARY_EMBED_LEN_MAX < ARY_DEFAULT_SIZE */
+ if (!FL_TEST(ary, ELTS_SHARED)) {
+ NEWOBJ(shared, struct RArray);
+ OBJSETUP(shared, rb_cArray, T_ARRAY);
- RARRAY_ASET(ary, 0, Qnil);
- ary_make_shared(ary);
+ shared->len = RARRAY(ary)->len;
+ shared->ptr = RARRAY(ary)->ptr;
+ shared->aux.capa = RARRAY(ary)->aux.capa;
+ RARRAY(ary)->aux.shared = (VALUE)shared;
+ FL_SET(ary, ELTS_SHARED);
+ OBJ_FREEZE(shared);
+ return (VALUE)shared;
}
- else if (ARY_SHARED_OCCUPIED(ARY_SHARED(ary))) {
- RARRAY_ASET(ary, 0, Qnil);
+ else {
+ return RARRAY(ary)->aux.shared;
}
- ARY_INCREASE_PTR(ary, 1); /* shift ptr */
- ARY_INCREASE_LEN(ary, -1);
-
- return top;
}
/*
* call-seq:
- * ary.shift -> obj or nil
- * ary.shift(n) -> new_ary
- *
- * Removes the first element of +self+ and returns it (shifting all
- * other elements down by one). Returns +nil+ if the array
+ * array.shift -> obj or nil
+ *
+ * Returns the first element of <i>self</i> and removes it (shifting all
+ * other elements down by one). Returns <code>nil</code> if the array
* is empty.
- *
- * If a number +n+ is given, returns an array of the first +n+ elements
- * (or less) just like <code>array.slice!(0, n)</code> does. With +ary+
- * containing only the remainder elements, not including what was shifted to
- * +new_ary+. See also Array#unshift for the opposite effect.
- *
+ *
* args = [ "-m", "-q", "filename" ]
- * args.shift #=> "-m"
- * args #=> ["-q", "filename"]
- *
- * args = [ "-m", "-q", "filename" ]
- * args.shift(2) #=> ["-m", "-q"]
- * args #=> ["filename"]
+ * args.shift #=> "-m"
+ * args #=> ["-q", "filename"]
*/
-static VALUE
-rb_ary_shift_m(int argc, VALUE *argv, VALUE ary)
+VALUE
+rb_ary_shift(ary)
+ VALUE ary;
{
- VALUE result;
- long n;
-
- if (argc == 0) {
- return rb_ary_shift(ary);
- }
+ VALUE top;
rb_ary_modify_check(ary);
- result = ary_take_first_or_last(argc, argv, ary, ARY_TAKE_FIRST);
- n = RARRAY_LEN(result);
- if (ARY_SHARED_P(ary)) {
- if (ARY_SHARED_OCCUPIED(ARY_SHARED(ary))) {
- ary_mem_clear(ary, 0, n);
- }
- ARY_INCREASE_PTR(ary, n);
+ if (RARRAY(ary)->len == 0) return Qnil;
+ top = RARRAY(ary)->ptr[0];
+ if (RARRAY_LEN(ary) < ARY_DEFAULT_SIZE && !FL_TEST(ary, ELTS_SHARED)) {
+ MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+1, VALUE, RARRAY_LEN(ary)-1);
}
else {
- RARRAY_PTR_USE(ary, ptr, {
- MEMMOVE(ptr, ptr + n, VALUE, RARRAY_LEN(ary)-n);
- }); /* WB: no new reference */
+ if (!FL_TEST(ary, ELTS_SHARED)) {
+ RARRAY(ary)->ptr[0] = Qnil;
+ }
+ ary_make_shared(ary);
+ RARRAY(ary)->ptr++; /* shift ptr */
}
- ARY_INCREASE_LEN(ary, -n);
+ RARRAY(ary)->len--;
- return result;
+ return top;
}
-static void
-ary_ensure_room_for_unshift(VALUE ary, int argc)
+VALUE
+rb_ary_unshift(ary, item)
+ VALUE ary, item;
{
- long len = RARRAY_LEN(ary);
- long new_len = len + argc;
- long capa;
- const VALUE *head, *sharedp;
-
- if (ARY_SHARED_P(ary)) {
- VALUE shared = ARY_SHARED(ary);
- capa = RARRAY_LEN(shared);
- if (ARY_SHARED_OCCUPIED(shared) && capa > new_len) {
- head = RARRAY_CONST_PTR(ary);
- sharedp = RARRAY_CONST_PTR(shared);
- goto makeroom_if_need;
+ rb_ary_modify(ary);
+ if (RARRAY(ary)->len == RARRAY(ary)->aux.capa) {
+ long capa_inc = RARRAY(ary)->aux.capa / 2;
+ if (capa_inc < ARY_DEFAULT_SIZE) {
+ capa_inc = ARY_DEFAULT_SIZE;
}
+ RARRAY(ary)->aux.capa += capa_inc;
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, RARRAY(ary)->aux.capa);
}
- rb_ary_modify(ary);
- capa = ARY_CAPA(ary);
- if (capa - (capa >> 6) <= new_len) {
- ary_double_capa(ary, new_len);
- }
+ /* sliding items */
+ MEMMOVE(RARRAY(ary)->ptr + 1, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
- /* use shared array for big "queues" */
- if (new_len > ARY_DEFAULT_SIZE * 4) {
- /* make a room for unshifted items */
- capa = ARY_CAPA(ary);
- ary_make_shared(ary);
+ RARRAY(ary)->len++;
+ RARRAY(ary)->ptr[0] = item;
- head = sharedp = RARRAY_CONST_PTR(ary);
- goto makeroom;
- makeroom_if_need:
- if (head - sharedp < argc) {
- long room;
- makeroom:
- room = capa - new_len;
- room -= room >> 4;
- MEMMOVE((VALUE *)sharedp + argc + room, head, VALUE, len);
- head = sharedp + argc + room;
- }
- ARY_SET_PTR(ary, head - argc);
- }
- else {
- /* sliding items */
- RARRAY_PTR_USE(ary, ptr, {
- MEMMOVE(ptr + argc, ptr, VALUE, len);
- });
- }
+ return ary;
}
/*
* call-seq:
- * ary.unshift(obj, ...) -> ary
- *
- * Prepends objects to the front of +self+, moving other elements upwards.
- * See also Array#shift for the opposite effect.
- *
+ * array.unshift(obj, ...) -> array
+ *
+ * Prepends objects to the front of <i>array</i>.
+ * other elements up one.
+ *
* a = [ "b", "c", "d" ]
* a.unshift("a") #=> ["a", "b", "c", "d"]
* a.unshift(1, 2) #=> [ 1, 2, "a", "b", "c", "d"]
*/
static VALUE
-rb_ary_unshift_m(int argc, VALUE *argv, VALUE ary)
+rb_ary_unshift_m(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
- long len = RARRAY_LEN(ary);
+ long len = RARRAY(ary)->len;
- if (argc == 0) {
- rb_ary_modify_check(ary);
- return ary;
- }
+ if (argc == 0) return ary;
- ary_ensure_room_for_unshift(ary, argc);
- ary_memcpy(ary, 0, argc, argv);
- ARY_SET_LEN(ary, len + argc);
- return ary;
-}
+ /* make rooms by setting the last item */
+ rb_ary_store(ary, len + argc - 1, Qnil);
-VALUE
-rb_ary_unshift(VALUE ary, VALUE item)
-{
- return rb_ary_unshift_m(1,&item,ary);
+ /* sliding items */
+ MEMMOVE(RARRAY(ary)->ptr + argc, RARRAY(ary)->ptr, VALUE, len);
+ MEMCPY(RARRAY(ary)->ptr, argv, VALUE, argc);
+
+ return ary;
}
/* faster version - use this if you don't need to treat negative offset */
static inline VALUE
-rb_ary_elt(VALUE ary, long offset)
+rb_ary_elt(ary, offset)
+ VALUE ary;
+ long offset;
{
- long len = RARRAY_LEN(ary);
- if (len == 0) return Qnil;
- if (offset < 0 || len <= offset) {
+ if (RARRAY(ary)->len == 0) return Qnil;
+ if (offset < 0 || RARRAY(ary)->len <= offset) {
return Qnil;
}
- return RARRAY_AREF(ary, offset);
+ return RARRAY(ary)->ptr[offset];
}
VALUE
-rb_ary_entry(VALUE ary, long offset)
+rb_ary_entry(ary, offset)
+ VALUE ary;
+ long offset;
{
if (offset < 0) {
- offset += RARRAY_LEN(ary);
+ offset += RARRAY(ary)->len;
}
return rb_ary_elt(ary, offset);
}
-VALUE
-rb_ary_subseq(VALUE ary, long beg, long len)
+static VALUE
+rb_ary_subseq(ary, beg, len)
+ VALUE ary;
+ long beg, len;
{
- VALUE klass;
- long alen = RARRAY_LEN(ary);
+ VALUE klass, ary2, shared;
+ VALUE *ptr;
- if (beg > alen) return Qnil;
+ if (beg > RARRAY(ary)->len) return Qnil;
if (beg < 0 || len < 0) return Qnil;
- if (alen < len || alen < beg + len) {
- len = alen - beg;
+ if (beg + len > RARRAY(ary)->len) {
+ len = RARRAY(ary)->len - beg;
+ if (len < 0)
+ len = 0;
}
klass = rb_obj_class(ary);
if (len == 0) return ary_new(klass, 0);
- return ary_make_partial(ary, klass, beg, len);
+ shared = ary_make_shared(ary);
+ ptr = RARRAY(ary)->ptr;
+ ary2 = ary_alloc(klass);
+ RARRAY(ary2)->ptr = ptr + beg;
+ RARRAY(ary2)->len = len;
+ RARRAY(ary2)->aux.shared = shared;
+ FL_SET(ary2, ELTS_SHARED);
+
+ return ary2;
}
-/*
+/*
* call-seq:
- * ary[index] -> obj or nil
- * ary[start, length] -> new_ary or nil
- * ary[range] -> new_ary or nil
- * ary.slice(index) -> obj or nil
- * ary.slice(start, length) -> new_ary or nil
- * ary.slice(range) -> new_ary or nil
- *
- * Element Reference --- Returns the element at +index+, or returns a
- * subarray starting at the +start+ index and continuing for +length+
- * elements, or returns a subarray specified by +range+ of indices.
+ * array[index] -> obj or nil
+ * array[start, length] -> an_array or nil
+ * array[range] -> an_array or nil
+ * array.slice(index) -> obj or nil
+ * array.slice(start, length) -> an_array or nil
+ * array.slice(range) -> an_array or nil
*
- * Negative indices count backward from the end of the array (-1 is the last
- * element). For +start+ and +range+ cases the starting index is just before
- * an element. Additionally, an empty array is returned when the starting
- * index for an element range is at the end of the array.
- *
- * Returns +nil+ if the index (or starting index) are out of range.
+ * Element Reference---Returns the element at _index_,
+ * or returns a subarray starting at _start_ and
+ * continuing for _length_ elements, or returns a subarray
+ * specified by _range_.
+ * Negative indices count backward from the end of the
+ * array (-1 is the last element). Returns nil if the index
+ * (or starting index) are out of range.
*
* a = [ "a", "b", "c", "d", "e" ]
* a[2] + a[0] + a[1] #=> "cab"
@@ -1224,36 +652,44 @@ rb_ary_subseq(VALUE ary, long beg, long len)
* a[-3, 3] #=> [ "c", "d", "e" ]
* # special cases
* a[5] #=> nil
- * a[6, 1] #=> nil
* a[5, 1] #=> []
* a[5..10] #=> []
*
*/
VALUE
-rb_ary_aref(int argc, VALUE *argv, VALUE ary)
+rb_ary_aref(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
VALUE arg;
long beg, len;
if (argc == 2) {
+ if (SYMBOL_P(argv[0])) {
+ rb_raise(rb_eTypeError, "Symbol as array index");
+ }
beg = NUM2LONG(argv[0]);
len = NUM2LONG(argv[1]);
if (beg < 0) {
- beg += RARRAY_LEN(ary);
+ beg += RARRAY(ary)->len;
}
return rb_ary_subseq(ary, beg, len);
}
if (argc != 1) {
- rb_scan_args(argc, argv, "11", NULL, NULL);
+ rb_scan_args(argc, argv, "11", 0, 0);
}
arg = argv[0];
/* special case - speeding up */
if (FIXNUM_P(arg)) {
return rb_ary_entry(ary, FIX2LONG(arg));
}
+ if (SYMBOL_P(arg)) {
+ rb_raise(rb_eTypeError, "Symbol as array index");
+ }
/* check if idx is Range */
- switch (rb_range_beg_len(arg, &beg, &len, RARRAY_LEN(ary), 0)) {
+ switch (rb_range_beg_len(arg, &beg, &len, RARRAY(ary)->len, 0)) {
case Qfalse:
break;
case Qnil:
@@ -1264,13 +700,15 @@ rb_ary_aref(int argc, VALUE *argv, VALUE ary)
return rb_ary_entry(ary, NUM2LONG(arg));
}
-/*
+/*
* call-seq:
- * ary.at(index) -> obj or nil
+ * array.at(index) -> obj or nil
*
- * Returns the element at +index+. A negative index counts from the end of
- * +self+. Returns +nil+ if the index is out of range. See also
- * Array#[].
+ * Returns the element at _index_. A
+ * negative index counts from the end of _self_. Returns +nil+
+ * if the index is out of range. See also <code>Array#[]</code>.
+ * (<code>Array#at</code> is slightly faster than <code>Array#[]</code>,
+ * as it does not accept ranges and so on.)
*
* a = [ "a", "b", "c", "d", "e" ]
* a.at(0) #=> "a"
@@ -1278,91 +716,113 @@ rb_ary_aref(int argc, VALUE *argv, VALUE ary)
*/
static VALUE
-rb_ary_at(VALUE ary, VALUE pos)
+rb_ary_at(ary, pos)
+ VALUE ary, pos;
{
return rb_ary_entry(ary, NUM2LONG(pos));
}
/*
* call-seq:
- * ary.first -> obj or nil
- * ary.first(n) -> new_ary
+ * array.first -> obj or nil
+ * array.first(n) -> an_array
*
* Returns the first element, or the first +n+ elements, of the array.
- * If the array is empty, the first form returns +nil+, and the
- * second form returns an empty array. See also Array#last for
- * the opposite effect.
+ * If the array is empty, the first form returns <code>nil</code>, and the
+ * second form returns an empty array.
*
* a = [ "q", "r", "s", "t" ]
- * a.first #=> "q"
- * a.first(2) #=> ["q", "r"]
+ * a.first #=> "q"
+ * a.first(1) #=> ["q"]
+ * a.first(3) #=> ["q", "r", "s"]
*/
static VALUE
-rb_ary_first(int argc, VALUE *argv, VALUE ary)
+rb_ary_first(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
if (argc == 0) {
- if (RARRAY_LEN(ary) == 0) return Qnil;
- return RARRAY_AREF(ary, 0);
+ if (RARRAY(ary)->len == 0) return Qnil;
+ return RARRAY(ary)->ptr[0];
}
else {
- return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_FIRST);
+ VALUE nv, result;
+ long n, i;
+
+ rb_scan_args(argc, argv, "01", &nv);
+ n = NUM2LONG(nv);
+ if (n > RARRAY(ary)->len) n = RARRAY(ary)->len;
+ result = rb_ary_new2(n);
+ for (i=0; i<n; i++) {
+ rb_ary_push(result, RARRAY(ary)->ptr[i]);
+ }
+ return result;
}
}
/*
* call-seq:
- * ary.last -> obj or nil
- * ary.last(n) -> new_ary
- *
- * Returns the last element(s) of +self+. If the array is empty,
- * the first form returns +nil+.
- *
- * See also Array#first for the opposite effect.
- *
- * a = [ "w", "x", "y", "z" ]
- * a.last #=> "z"
- * a.last(2) #=> ["y", "z"]
+ * array.last -> obj or nil
+ * array.last(n) -> an_array
+ *
+ * Returns the last element(s) of <i>self</i>. If the array is empty,
+ * the first form returns <code>nil</code>.
+ *
+ * [ "w", "x", "y", "z" ].last #=> "z"
*/
-VALUE
-rb_ary_last(int argc, VALUE *argv, VALUE ary)
+static VALUE
+rb_ary_last(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
if (argc == 0) {
- long len = RARRAY_LEN(ary);
- if (len == 0) return Qnil;
- return RARRAY_AREF(ary, len-1);
+ if (RARRAY(ary)->len == 0) return Qnil;
+ return RARRAY(ary)->ptr[RARRAY(ary)->len-1];
}
else {
- return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);
+ VALUE nv, result;
+ long n, i;
+
+ rb_scan_args(argc, argv, "01", &nv);
+ n = NUM2LONG(nv);
+ if (n > RARRAY(ary)->len) n = RARRAY(ary)->len;
+ result = rb_ary_new2(n);
+ for (i=RARRAY(ary)->len-n; n--; i++) {
+ rb_ary_push(result, RARRAY(ary)->ptr[i]);
+ }
+ return result;
}
}
/*
* call-seq:
- * ary.fetch(index) -> obj
- * ary.fetch(index, default) -> obj
- * ary.fetch(index) { |index| block } -> obj
- *
- * Tries to return the element at position +index+, but throws an IndexError
- * exception if the referenced +index+ lies outside of the array bounds. This
- * error can be prevented by supplying a second argument, which will act as a
- * +default+ value.
- *
- * Alternatively, if a block is given it will only be executed when an
- * invalid +index+ is referenced. Negative values of +index+ count from the
- * end of the array.
- *
+ * array.fetch(index) -> obj
+ * array.fetch(index, default ) -> obj
+ * array.fetch(index) {|index| block } -> obj
+ *
+ * Tries to return the element at position <i>index</i>. If the index
+ * lies outside the array, the first form throws an
+ * <code>IndexError</code> exception, the second form returns
+ * <i>default</i>, and the third form returns the value of invoking
+ * the block, passing in the index. Negative values of <i>index</i>
+ * count from the end of the array.
+ *
* a = [ 11, 22, 33, 44 ]
* a.fetch(1) #=> 22
* a.fetch(-1) #=> 44
* a.fetch(4, 'cat') #=> "cat"
- * a.fetch(100) { |i| puts "#{i} is out of bounds" }
- * #=> "100 is out of bounds"
+ * a.fetch(4) { |i| i*i } #=> 16
*/
static VALUE
-rb_ary_fetch(int argc, VALUE *argv, VALUE ary)
+rb_ary_fetch(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
VALUE pos, ifnone;
long block_given;
@@ -1376,301 +836,198 @@ rb_ary_fetch(int argc, VALUE *argv, VALUE ary)
idx = NUM2LONG(pos);
if (idx < 0) {
- idx += RARRAY_LEN(ary);
+ idx += RARRAY(ary)->len;
}
- if (idx < 0 || RARRAY_LEN(ary) <= idx) {
+ if (idx < 0 || RARRAY(ary)->len <= idx) {
if (block_given) return rb_yield(pos);
if (argc == 1) {
- rb_raise(rb_eIndexError, "index %ld outside of array bounds: %ld...%ld",
- idx - (idx < 0 ? RARRAY_LEN(ary) : 0), -RARRAY_LEN(ary), RARRAY_LEN(ary));
+ rb_raise(rb_eIndexError, "index %ld out of array", idx);
}
return ifnone;
}
- return RARRAY_AREF(ary, idx);
+ return RARRAY(ary)->ptr[idx];
}
/*
* call-seq:
- * ary.find_index(obj) -> int or nil
- * ary.find_index { |item| block } -> int or nil
- * ary.find_index -> Enumerator
- * ary.index(obj) -> int or nil
- * ary.index { |item| block } -> int or nil
- * ary.index -> Enumerator
- *
- * Returns the _index_ of the first object in +ary+ such that the object is
- * <code>==</code> to +obj+.
- *
- * If a block is given instead of an argument, returns the _index_ of the
- * first object for which the block returns +true+. Returns +nil+ if no
- * match is found.
- *
- * See also Array#rindex.
- *
- * An Enumerator is returned if neither a block nor argument is given.
- *
+ * array.index(obj) -> int or nil
+ *
+ * Returns the index of the first object in <i>self</i> such that is
+ * <code>==</code> to <i>obj</i>. Returns <code>nil</code> if
+ * no match is found.
+ *
* a = [ "a", "b", "c" ]
- * a.index("b") #=> 1
- * a.index("z") #=> nil
- * a.index { |x| x == "b" } #=> 1
+ * a.index("b") #=> 1
+ * a.index("z") #=> nil
*/
static VALUE
-rb_ary_index(int argc, VALUE *argv, VALUE ary)
-{
- const VALUE *ptr;
+rb_ary_index(ary, val)
+ VALUE ary;
VALUE val;
- long i, len;
+{
+ long i;
- if (argc == 0) {
- RETURN_ENUMERATOR(ary, 0, 0);
- for (i=0; i<RARRAY_LEN(ary); i++) {
- if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {
- return LONG2NUM(i);
- }
- }
- return Qnil;
- }
- rb_check_arity(argc, 0, 1);
- val = argv[0];
- if (rb_block_given_p())
- rb_warn("given block not used");
- len = RARRAY_LEN(ary);
- ptr = RARRAY_CONST_PTR(ary);
- for (i=0; i<len; i++) {
- VALUE e = ptr[i];
- switch (rb_equal_opt(e, val)) {
- case Qundef:
- if (!rb_equal(e, val)) break;
- case Qtrue:
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ if (rb_equal(RARRAY(ary)->ptr[i], val))
return LONG2NUM(i);
- case Qfalse:
- continue;
- }
- len = RARRAY_LEN(ary);
- ptr = RARRAY_CONST_PTR(ary);
}
return Qnil;
}
/*
* call-seq:
- * ary.rindex(obj) -> int or nil
- * ary.rindex { |item| block } -> int or nil
- * ary.rindex -> Enumerator
- *
- * Returns the _index_ of the last object in +self+ <code>==</code> to +obj+.
- *
- * If a block is given instead of an argument, returns the _index_ of the
- * first object for which the block returns +true+, starting from the last
- * object.
- *
- * Returns +nil+ if no match is found.
- *
- * See also Array#index.
- *
- * If neither block nor argument is given, an Enumerator is returned instead.
- *
+ * array.rindex(obj) -> int or nil
+ *
+ * Returns the index of the last object in <i>array</i>
+ * <code>==</code> to <i>obj</i>. Returns <code>nil</code> if
+ * no match is found.
+ *
* a = [ "a", "b", "b", "b", "c" ]
- * a.rindex("b") #=> 3
- * a.rindex("z") #=> nil
- * a.rindex { |x| x == "b" } #=> 3
+ * a.rindex("b") #=> 3
+ * a.rindex("z") #=> nil
*/
static VALUE
-rb_ary_rindex(int argc, VALUE *argv, VALUE ary)
-{
- const VALUE *ptr;
+rb_ary_rindex(ary, val)
+ VALUE ary;
VALUE val;
- long i = RARRAY_LEN(ary), len;
+{
+ long i = RARRAY(ary)->len;
- if (argc == 0) {
- RETURN_ENUMERATOR(ary, 0, 0);
- while (i--) {
- if (RTEST(rb_yield(RARRAY_AREF(ary, i))))
- return LONG2NUM(i);
- if (i > (len = RARRAY_LEN(ary))) {
- i = len;
- }
- }
- return Qnil;
- }
- rb_check_arity(argc, 0, 1);
- val = argv[0];
- if (rb_block_given_p())
- rb_warn("given block not used");
- ptr = RARRAY_CONST_PTR(ary);
while (i--) {
- VALUE e = ptr[i];
- switch (rb_equal_opt(e, val)) {
- case Qundef:
- if (!rb_equal(e, val)) break;
- case Qtrue:
- return LONG2NUM(i);
- case Qfalse:
+ if (i > RARRAY(ary)->len) {
+ i = RARRAY(ary)->len;
continue;
}
- if (i > (len = RARRAY_LEN(ary))) {
- i = len;
- }
- ptr = RARRAY_CONST_PTR(ary);
+ if (rb_equal(RARRAY(ary)->ptr[i], val))
+ return LONG2NUM(i);
}
return Qnil;
}
-VALUE
-rb_ary_to_ary(VALUE obj)
+/*
+ * call-seq:
+ * array.indexes( i1, i2, ... iN ) -> an_array
+ * array.indices( i1, i2, ... iN ) -> an_array
+ *
+ * Deprecated; use <code>Array#values_at</code>.
+ */
+
+static VALUE
+rb_ary_indexes(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
- VALUE tmp = rb_check_array_type(obj);
+ VALUE new_ary;
+ long i;
+
+ rb_warn("Array#%s is deprecated; use Array#values_at", rb_id2name(rb_frame_last_func()));
+ new_ary = rb_ary_new2(argc);
+ for (i=0; i<argc; i++) {
+ rb_ary_push(new_ary, rb_ary_aref(1, argv+i, ary));
+ }
- if (!NIL_P(tmp)) return tmp;
+ return new_ary;
+}
+
+VALUE
+rb_ary_to_ary(obj)
+ VALUE obj;
+{
+ if (TYPE(obj) == T_ARRAY) {
+ return obj;
+ }
+ if (rb_respond_to(obj, rb_intern("to_ary"))) {
+ return rb_convert_type(obj, T_ARRAY, "Array", "to_ary");
+ }
return rb_ary_new3(1, obj);
}
static void
-rb_ary_splice(VALUE ary, long beg, long len, VALUE rpl)
+rb_ary_splice(ary, beg, len, rpl)
+ VALUE ary;
+ long beg, len;
+ VALUE rpl;
{
long rlen;
- long olen;
if (len < 0) rb_raise(rb_eIndexError, "negative length (%ld)", len);
- olen = RARRAY_LEN(ary);
if (beg < 0) {
- beg += olen;
+ beg += RARRAY(ary)->len;
if (beg < 0) {
- rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",
- beg - olen, -olen);
+ beg -= RARRAY(ary)->len;
+ rb_raise(rb_eIndexError, "index %ld out of array", beg);
}
}
- if (olen < len || olen < beg + len) {
- len = olen - beg;
+ if (beg + len > RARRAY(ary)->len) {
+ len = RARRAY(ary)->len - beg;
}
- if (rpl == Qundef) {
+ if (NIL_P(rpl)) {
rlen = 0;
}
else {
rpl = rb_ary_to_ary(rpl);
- rlen = RARRAY_LEN(rpl);
- olen = RARRAY_LEN(ary); /* ary may be resized in rpl.to_ary too */
+ rlen = RARRAY(rpl)->len;
}
- if (beg >= olen) {
- if (beg > ARY_MAX_SIZE - rlen) {
- rb_raise(rb_eIndexError, "index %ld too big", beg);
- }
- ary_ensure_room_for_push(ary, rlen-len); /* len is 0 or negative */
+ rb_ary_modify(ary);
+
+ if (beg >= RARRAY(ary)->len) {
len = beg + rlen;
- ary_mem_clear(ary, olen, beg - olen);
+ if (len >= RARRAY(ary)->aux.capa) {
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, len);
+ RARRAY(ary)->aux.capa = len;
+ }
+ rb_mem_clear(RARRAY(ary)->ptr + RARRAY(ary)->len, beg - RARRAY(ary)->len);
if (rlen > 0) {
- ary_memcpy(ary, beg, rlen, RARRAY_CONST_PTR(rpl));
+ MEMCPY(RARRAY(ary)->ptr + beg, RARRAY(rpl)->ptr, VALUE, rlen);
}
- ARY_SET_LEN(ary, len);
+ RARRAY(ary)->len = len;
}
else {
long alen;
- rb_ary_modify(ary);
- alen = olen + rlen - len;
- if (alen >= ARY_CAPA(ary)) {
- ary_double_capa(ary, alen);
+ if (beg + len > RARRAY(ary)->len) {
+ len = RARRAY(ary)->len - beg;
}
- if (len != rlen) {
- RARRAY_PTR_USE(ary, ptr,
- MEMMOVE(ptr + beg + rlen, ptr + beg + len,
- VALUE, olen - (beg + len)));
- ARY_SET_LEN(ary, alen);
- }
- if (rlen > 0) {
- MEMMOVE(RARRAY_PTR(ary) + beg, RARRAY_CONST_PTR(rpl), VALUE, rlen);
+ alen = RARRAY(ary)->len + rlen - len;
+ if (alen >= RARRAY(ary)->aux.capa) {
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, alen);
+ RARRAY(ary)->aux.capa = alen;
}
- }
- RB_GC_GUARD(rpl);
-}
-
-void
-rb_ary_set_len(VALUE ary, long len)
-{
- long capa;
- rb_ary_modify_check(ary);
- if (ARY_SHARED_P(ary)) {
- rb_raise(rb_eRuntimeError, "can't set length of shared ");
- }
- if (len > (capa = (long)ARY_CAPA(ary))) {
- rb_bug("probable buffer overflow: %ld for %ld", len, capa);
- }
- ARY_SET_LEN(ary, len);
-}
-
-/*!
- * expands or shrinks \a ary to \a len elements.
- * expanded region will be filled with Qnil.
- * \param ary an array
- * \param len new size
- * \return \a ary
- * \post the size of \a ary is \a len.
- */
-VALUE
-rb_ary_resize(VALUE ary, long len)
-{
- long olen;
-
- rb_ary_modify(ary);
- olen = RARRAY_LEN(ary);
- if (len == olen) return ary;
- if (len > ARY_MAX_SIZE) {
- rb_raise(rb_eIndexError, "index %ld too big", len);
- }
- if (len > olen) {
- if (len >= ARY_CAPA(ary)) {
- ary_double_capa(ary, len);
+ if (len != rlen) {
+ MEMMOVE(RARRAY(ary)->ptr + beg + rlen, RARRAY(ary)->ptr + beg + len,
+ VALUE, RARRAY(ary)->len - (beg + len));
+ RARRAY(ary)->len = alen;
}
- ary_mem_clear(ary, olen, len - olen);
- ARY_SET_LEN(ary, len);
- }
- else if (ARY_EMBED_P(ary)) {
- ARY_SET_EMBED_LEN(ary, len);
- }
- else if (len <= RARRAY_EMBED_LEN_MAX) {
- VALUE tmp[RARRAY_EMBED_LEN_MAX];
- MEMCPY(tmp, ARY_HEAP_PTR(ary), VALUE, len);
- ary_discard(ary);
- MEMCPY((VALUE *)ARY_EMBED_PTR(ary), tmp, VALUE, len); /* WB: no new reference */
- ARY_SET_EMBED_LEN(ary, len);
- }
- else {
- if (olen > len + ARY_DEFAULT_SIZE) {
- SIZED_REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, len, RARRAY(ary)->as.heap.aux.capa);
- ARY_SET_CAPA(ary, len);
+ if (rlen > 0) {
+ MEMMOVE(RARRAY(ary)->ptr + beg, RARRAY(rpl)->ptr, VALUE, rlen);
}
- ARY_SET_HEAP_LEN(ary, len);
}
- return ary;
}
-/*
+/*
* call-seq:
- * ary[index] = obj -> obj
- * ary[start, length] = obj or other_ary or nil -> obj or other_ary or nil
- * ary[range] = obj or other_ary or nil -> obj or other_ary or nil
- *
- * Element Assignment --- Sets the element at +index+, or replaces a subarray
- * from the +start+ index for +length+ elements, or replaces a subarray
- * specified by the +range+ of indices.
- *
- * If indices are greater than the current capacity of the array, the array
- * grows automatically. Elements are inserted into the array at +start+ if
- * +length+ is zero.
- *
- * Negative indices will count backward from the end of the array. For
- * +start+ and +range+ cases the starting index is just before an element.
- *
- * An IndexError is raised if a negative index points past the beginning of
- * the array.
- *
- * See also Array#push, and Array#unshift.
+ * array[index] = obj -> obj
+ * array[start, length] = obj or an_array or nil -> obj or an_array or nil
+ * array[range] = obj or an_array or nil -> obj or an_array or nil
*
+ * Element Assignment---Sets the element at _index_,
+ * or replaces a subarray starting at _start_ and
+ * continuing for _length_ elements, or replaces a subarray
+ * specified by _range_. If indices are greater than
+ * the current capacity of the array, the array grows
+ * automatically. A negative indices will count backward
+ * from the end of the array. Inserts elements if _length_ is
+ * zero. If +nil+ is used in the second and third form,
+ * deletes elements from _self_. An +IndexError+ is raised if a
+ * negative index points past the beginning of the array. See also
+ * <code>Array#push</code>, and <code>Array#unshift</code>.
+ *
* a = Array.new
* a[4] = "4"; #=> [nil, nil, nil, nil, "4"]
* a[0, 3] = [ 'a', 'b', 'c' ] #=> ["a", "b", "c", nil, "4"]
@@ -1678,31 +1035,38 @@ rb_ary_resize(VALUE ary, long len)
* a[0, 2] = "?" #=> ["?", 2, nil, "4"]
* a[0..2] = "A" #=> ["A", "4"]
* a[-1] = "Z" #=> ["A", "Z"]
- * a[1..-1] = nil #=> ["A", nil]
- * a[1..-1] = [] #=> ["A"]
- * a[0, 0] = [ 1, 2 ] #=> [1, 2, "A"]
- * a[3, 0] = "B" #=> [1, 2, "A", "B"]
+ * a[1..-1] = nil #=> ["A"]
*/
static VALUE
-rb_ary_aset(int argc, VALUE *argv, VALUE ary)
+rb_ary_aset(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
long offset, beg, len;
if (argc == 3) {
- rb_ary_modify_check(ary);
- beg = NUM2LONG(argv[0]);
- len = NUM2LONG(argv[1]);
- rb_ary_splice(ary, beg, len, argv[2]);
+ if (SYMBOL_P(argv[0])) {
+ rb_raise(rb_eTypeError, "Symbol as array index");
+ }
+ if (SYMBOL_P(argv[1])) {
+ rb_raise(rb_eTypeError, "Symbol as subarray length");
+ }
+ rb_ary_splice(ary, NUM2LONG(argv[0]), NUM2LONG(argv[1]), argv[2]);
return argv[2];
}
- rb_check_arity(argc, 2, 2);
- rb_ary_modify_check(ary);
+ if (argc != 2) {
+ rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)", argc);
+ }
if (FIXNUM_P(argv[0])) {
offset = FIX2LONG(argv[0]);
goto fixnum;
}
- if (rb_range_beg_len(argv[0], &beg, &len, RARRAY_LEN(ary), 1)) {
+ if (SYMBOL_P(argv[0])) {
+ rb_raise(rb_eTypeError, "Symbol as array index");
+ }
+ if (rb_range_beg_len(argv[0], &beg, &len, RARRAY(ary)->len, 1)) {
/* check if idx is Range */
rb_ary_splice(ary, beg, len, argv[1]);
return argv[1];
@@ -1716,29 +1080,31 @@ fixnum:
/*
* call-seq:
- * ary.insert(index, obj...) -> ary
- *
- * Inserts the given values before the element with the given +index+.
- *
- * Negative indices count backwards from the end of the array, where +-1+ is
- * the last element.
- *
+ * array.insert(index, obj...) -> array
+ *
+ * Inserts the given values before the element with the given index
+ * (which may be negative).
+ *
* a = %w{ a b c d }
* a.insert(2, 99) #=> ["a", "b", 99, "c", "d"]
* a.insert(-2, 1, 2, 3) #=> ["a", "b", 99, "c", 1, 2, 3, "d"]
*/
static VALUE
-rb_ary_insert(int argc, VALUE *argv, VALUE ary)
+rb_ary_insert(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
long pos;
- rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);
- rb_ary_modify_check(ary);
if (argc == 1) return ary;
+ if (argc < 1) {
+ rb_raise(rb_eArgError, "wrong number of arguments (at least 1)");
+ }
pos = NUM2LONG(argv[0]);
if (pos == -1) {
- pos = RARRAY_LEN(ary);
+ pos = RARRAY(ary)->len;
}
if (pos < 0) {
pos++;
@@ -1747,71 +1113,55 @@ rb_ary_insert(int argc, VALUE *argv, VALUE ary)
return ary;
}
-static VALUE
-rb_ary_length(VALUE ary);
-
-static VALUE
-ary_enum_length(VALUE ary, VALUE args, VALUE eobj)
-{
- return rb_ary_length(ary);
-}
-
/*
* call-seq:
- * ary.each { |item| block } -> ary
- * ary.each -> Enumerator
- *
- * Calls the given block once for each element in +self+, passing that element
- * as a parameter.
- *
- * An Enumerator is returned if no block is given.
- *
+ * array.each {|item| block } -> array
+ *
+ * Calls <i>block</i> once for each element in <i>self</i>, passing that
+ * element as a parameter.
+ *
* a = [ "a", "b", "c" ]
* a.each {|x| print x, " -- " }
- *
+ *
* produces:
- *
+ *
* a -- b -- c --
*/
VALUE
-rb_ary_each(VALUE array)
+rb_ary_each(ary)
+ VALUE ary;
{
long i;
- volatile VALUE ary = array;
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- for (i=0; i<RARRAY_LEN(ary); i++) {
- rb_yield(RARRAY_AREF(ary, i));
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ rb_yield(RARRAY(ary)->ptr[i]);
}
return ary;
}
/*
* call-seq:
- * ary.each_index { |index| block } -> ary
- * ary.each_index -> Enumerator
- *
- * Same as Array#each, but passes the +index+ of the element instead of the
- * element itself.
- *
- * An Enumerator is returned if no block is given.
- *
+ * array.each_index {|index| block } -> array
+ *
+ * Same as <code>Array#each</code>, but passes the index of the element
+ * instead of the element itself.
+ *
* a = [ "a", "b", "c" ]
* a.each_index {|x| print x, " -- " }
- *
+ *
* produces:
- *
+ *
* 0 -- 1 -- 2 --
*/
static VALUE
-rb_ary_each_index(VALUE ary)
+rb_ary_each_index(ary)
+ VALUE ary;
{
long i;
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- for (i=0; i<RARRAY_LEN(ary); i++) {
+ for (i=0; i<RARRAY(ary)->len; i++) {
rb_yield(LONG2NUM(i));
}
return ary;
@@ -1819,32 +1169,29 @@ rb_ary_each_index(VALUE ary)
/*
* call-seq:
- * ary.reverse_each { |item| block } -> ary
- * ary.reverse_each -> Enumerator
- *
- * Same as Array#each, but traverses +self+ in reverse order.
- *
+ * array.reverse_each {|item| block }
+ *
+ * Same as <code>Array#each</code>, but traverses <i>self</i> in reverse
+ * order.
+ *
* a = [ "a", "b", "c" ]
* a.reverse_each {|x| print x, " " }
- *
+ *
* produces:
- *
+ *
* c b a
*/
static VALUE
-rb_ary_reverse_each(VALUE ary)
+rb_ary_reverse_each(ary)
+ VALUE ary;
{
- long len;
+ long len = RARRAY(ary)->len;
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- len = RARRAY_LEN(ary);
while (len--) {
- long nlen;
- rb_yield(RARRAY_AREF(ary, len));
- nlen = RARRAY_LEN(ary);
- if (nlen < len) {
- len = nlen;
+ rb_yield(RARRAY(ary)->ptr[len]);
+ if (RARRAY(ary)->len < len) {
+ len = RARRAY(ary)->len;
}
}
return ary;
@@ -1852,659 +1199,483 @@ rb_ary_reverse_each(VALUE ary)
/*
* call-seq:
- * ary.length -> int
- *
- * Returns the number of elements in +self+. May be zero.
- *
+ * array.length -> int
+ *
+ * Returns the number of elements in <i>self</i>. May be zero.
+ *
* [ 1, 2, 3, 4, 5 ].length #=> 5
- * [].length #=> 0
*/
static VALUE
-rb_ary_length(VALUE ary)
+rb_ary_length(ary)
+ VALUE ary;
{
- long len = RARRAY_LEN(ary);
- return LONG2NUM(len);
+ return LONG2NUM(RARRAY(ary)->len);
}
/*
* call-seq:
- * ary.empty? -> true or false
- *
- * Returns +true+ if +self+ contains no elements.
- *
+ * array.empty? -> true or false
+ *
+ * Returns <code>true</code> if <i>self</i> array contains no elements.
+ *
* [].empty? #=> true
*/
static VALUE
-rb_ary_empty_p(VALUE ary)
+rb_ary_empty_p(ary)
+ VALUE ary;
{
- if (RARRAY_LEN(ary) == 0)
+ if (RARRAY(ary)->len == 0)
return Qtrue;
return Qfalse;
}
VALUE
-rb_ary_dup(VALUE ary)
+rb_ary_dup(ary)
+ VALUE ary;
{
- long len = RARRAY_LEN(ary);
- VALUE dup = rb_ary_new2(len);
- ary_memcpy(dup, 0, len, RARRAY_CONST_PTR(ary));
- ARY_SET_LEN(dup, len);
- return dup;
-}
+ VALUE dup = rb_ary_new2(RARRAY(ary)->len);
-VALUE
-rb_ary_resurrect(VALUE ary)
-{
- return rb_ary_new4(RARRAY_LEN(ary), RARRAY_CONST_PTR(ary));
+ DUPSETUP(dup, ary);
+ MEMCPY(RARRAY(dup)->ptr, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
+ RARRAY(dup)->len = RARRAY(ary)->len;
+ return dup;
}
extern VALUE rb_output_fs;
-static void ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first);
-
static VALUE
-recursive_join(VALUE obj, VALUE argp, int recur)
-{
- VALUE *arg = (VALUE *)argp;
- VALUE ary = arg[0];
- VALUE sep = arg[1];
- VALUE result = arg[2];
- int *first = (int *)arg[3];
-
- if (recur) {
- rb_raise(rb_eArgError, "recursive array join");
- }
- else {
- ary_join_1(obj, ary, sep, 0, result, first);
- }
- return Qnil;
-}
-
-static void
-ary_join_0(VALUE ary, VALUE sep, long max, VALUE result)
+inspect_join(ary, arg)
+ VALUE ary;
+ VALUE *arg;
{
- long i;
- VALUE val;
-
- if (max > 0) rb_enc_copy(result, RARRAY_AREF(ary, 0));
- for (i=0; i<max; i++) {
- val = RARRAY_AREF(ary, i);
- if (i > 0 && !NIL_P(sep))
- rb_str_buf_append(result, sep);
- rb_str_buf_append(result, val);
- if (OBJ_TAINTED(val)) OBJ_TAINT(result);
- }
+ return rb_ary_join(arg[0], arg[1]);
}
-static void
-ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first)
+VALUE
+rb_ary_join(ary, sep)
+ VALUE ary, sep;
{
- VALUE val, tmp;
+ long len = 1, i;
+ int taint = Qfalse;
+ VALUE result, tmp;
- for (; i<RARRAY_LEN(ary); i++) {
- if (i > 0 && !NIL_P(sep))
- rb_str_buf_append(result, sep);
+ if (RARRAY(ary)->len == 0) return rb_str_new(0, 0);
+ if (OBJ_TAINTED(ary) || OBJ_TAINTED(sep)) taint = Qtrue;
- val = RARRAY_AREF(ary, i);
- if (RB_TYPE_P(val, T_STRING)) {
- str_join:
- rb_str_buf_append(result, val);
- *first = FALSE;
- }
- else if (RB_TYPE_P(val, T_ARRAY)) {
- obj = val;
- ary_join:
- if (val == ary) {
- rb_raise(rb_eArgError, "recursive array join");
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ tmp = rb_check_string_type(RARRAY(ary)->ptr[i]);
+ len += NIL_P(tmp) ? 10 : RSTRING(tmp)->len;
+ }
+ if (!NIL_P(sep)) {
+ StringValue(sep);
+ len += RSTRING(sep)->len * (RARRAY(ary)->len - 1);
+ }
+ result = rb_str_buf_new(len);
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ tmp = RARRAY(ary)->ptr[i];
+ switch (TYPE(tmp)) {
+ case T_STRING:
+ break;
+ case T_ARRAY:
+ if (rb_inspecting_p(tmp)) {
+ tmp = rb_str_new2("[...]");
}
else {
- VALUE args[4];
+ VALUE args[2];
- args[0] = val;
+ args[0] = tmp;
args[1] = sep;
- args[2] = result;
- args[3] = (VALUE)first;
- rb_exec_recursive(recursive_join, obj, (VALUE)args);
+ tmp = rb_protect_inspect(inspect_join, ary, (VALUE)args);
}
+ break;
+ default:
+ tmp = rb_obj_as_string(tmp);
}
- else {
- tmp = rb_check_string_type(val);
- if (!NIL_P(tmp)) {
- val = tmp;
- goto str_join;
- }
- tmp = rb_check_convert_type(val, T_ARRAY, "Array", "to_ary");
- if (!NIL_P(tmp)) {
- obj = val;
- val = tmp;
- goto ary_join;
- }
- val = rb_obj_as_string(val);
- if (*first) {
- rb_enc_copy(result, val);
- *first = FALSE;
- }
- goto str_join;
- }
- }
-}
-
-VALUE
-rb_ary_join(VALUE ary, VALUE sep)
-{
- long len = 1, i;
- int taint = FALSE;
- VALUE val, tmp, result;
-
- if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new(0, 0);
- if (OBJ_TAINTED(ary)) taint = TRUE;
-
- if (!NIL_P(sep)) {
- StringValue(sep);
- len += RSTRING_LEN(sep) * (RARRAY_LEN(ary) - 1);
- }
- for (i=0; i<RARRAY_LEN(ary); i++) {
- val = RARRAY_AREF(ary, i);
- tmp = rb_check_string_type(val);
-
- if (NIL_P(tmp) || tmp != val) {
- int first;
- result = rb_str_buf_new(len + (RARRAY_LEN(ary)-i)*10);
- rb_enc_associate(result, rb_usascii_encoding());
- if (taint) OBJ_TAINT(result);
- ary_join_0(ary, sep, i, result);
- first = i == 0;
- ary_join_1(ary, ary, sep, i, result, &first);
- return result;
- }
-
- len += RSTRING_LEN(tmp);
+ if (i > 0 && !NIL_P(sep))
+ rb_str_buf_append(result, sep);
+ rb_str_buf_append(result, tmp);
+ if (OBJ_TAINTED(tmp)) taint = Qtrue;
}
- result = rb_str_buf_new(len);
if (taint) OBJ_TAINT(result);
- ary_join_0(ary, sep, RARRAY_LEN(ary), result);
-
return result;
}
/*
* call-seq:
- * ary.join(separator=$,) -> str
- *
+ * array.join(sep=$,) -> str
+ *
* Returns a string created by converting each element of the array to
- * a string, separated by the given +separator+.
- * If the +separator+ is +nil+, it uses current $,.
- * If both the +separator+ and $, are nil, it uses empty string.
- *
+ * a string, separated by <i>sep</i>.
+ *
* [ "a", "b", "c" ].join #=> "abc"
* [ "a", "b", "c" ].join("-") #=> "a-b-c"
*/
static VALUE
-rb_ary_join_m(int argc, VALUE *argv, VALUE ary)
+rb_ary_join_m(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
VALUE sep;
rb_scan_args(argc, argv, "01", &sep);
if (NIL_P(sep)) sep = rb_output_fs;
-
+
return rb_ary_join(ary, sep);
}
-static VALUE
-inspect_ary(VALUE ary, VALUE dummy, int recur)
-{
- int tainted = OBJ_TAINTED(ary);
- long i;
- VALUE s, str;
-
- if (recur) return rb_usascii_str_new_cstr("[...]");
- str = rb_str_buf_new2("[");
- for (i=0; i<RARRAY_LEN(ary); i++) {
- s = rb_inspect(RARRAY_AREF(ary, i));
- if (OBJ_TAINTED(s)) tainted = TRUE;
- if (i > 0) rb_str_buf_cat2(str, ", ");
- else rb_enc_copy(str, s);
- rb_str_buf_append(str, s);
- }
- rb_str_buf_cat2(str, "]");
- if (tainted) OBJ_TAINT(str);
- return str;
-}
-
/*
* call-seq:
- * ary.inspect -> string
- * ary.to_s -> string
- *
- * Creates a string representation of +self+.
+ * array.to_s -> string
+ *
+ * Returns _self_<code>.join</code>.
+ *
+ * [ "a", "e", "i", "o" ].to_s #=> "aeio"
*
- * [ "a", "b", "c" ].to_s #=> "[\"a\", \"b\", \"c\"]"
*/
-static VALUE
-rb_ary_inspect(VALUE ary)
-{
- if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new2("[]");
- return rb_exec_recursive(inspect_ary, ary, 0);
-}
-
VALUE
-rb_ary_to_s(VALUE ary)
+rb_ary_to_s(ary)
+ VALUE ary;
{
- return rb_ary_inspect(ary);
+ if (RARRAY(ary)->len == 0) return rb_str_new(0, 0);
+
+ return rb_ary_join(ary, rb_output_fs);
}
-/*
- * call-seq:
- * ary.to_a -> ary
- *
- * Returns +self+.
- *
- * If called on a subclass of Array, converts the receiver to an Array object.
- */
+static ID inspect_key;
+
+struct inspect_arg {
+ VALUE (*func)();
+ VALUE arg1, arg2;
+};
static VALUE
-rb_ary_to_a(VALUE ary)
+inspect_call(arg)
+ struct inspect_arg *arg;
{
- if (rb_obj_class(ary) != rb_cArray) {
- VALUE dup = rb_ary_new2(RARRAY_LEN(ary));
- rb_ary_replace(dup, ary);
- return dup;
- }
- return ary;
+ return (*arg->func)(arg->arg1, arg->arg2);
}
-/*
- * call-seq:
- * ary.to_h -> hash
- *
- * Returns the result of interpreting <i>ary</i> as an array of
- * <tt>[key, value]</tt> pairs.
- *
- * [[:foo, :bar], [1, 2]].to_h
- * # => {:foo => :bar, 1 => 2}
- */
-
static VALUE
-rb_ary_to_h(VALUE ary)
+get_inspect_tbl(create)
+ int create;
{
- long i;
- VALUE hash = rb_hash_new();
- for (i=0; i<RARRAY_LEN(ary); i++) {
- VALUE key_value_pair = rb_check_array_type(rb_ary_elt(ary, i));
- if (NIL_P(key_value_pair)) {
- rb_raise(rb_eTypeError, "wrong element type %s at %ld (expected array)",
- rb_builtin_class_name(rb_ary_elt(ary, i)), i);
- }
- if (RARRAY_LEN(key_value_pair) != 2) {
- rb_raise(rb_eArgError, "wrong array length at %ld (expected 2, was %ld)",
- i, RARRAY_LEN(key_value_pair));
+ VALUE inspect_tbl = rb_thread_local_aref(rb_thread_current(), inspect_key);
+
+ if (NIL_P(inspect_tbl)) {
+ if (create) {
+ tbl_init:
+ inspect_tbl = rb_ary_new();
+ rb_thread_local_aset(rb_thread_current(), inspect_key, inspect_tbl);
}
- rb_hash_aset(hash, RARRAY_AREF(key_value_pair, 0), RARRAY_AREF(key_value_pair, 1));
}
- return hash;
+ else if (TYPE(inspect_tbl) != T_ARRAY) {
+ rb_warn("invalid inspect_tbl value");
+ if (create) goto tbl_init;
+ rb_thread_local_aset(rb_thread_current(), inspect_key, Qnil);
+ return Qnil;
+ }
+ return inspect_tbl;
}
-/*
- * call-seq:
- * ary.to_ary -> ary
- *
- * Returns +self+.
- */
-
static VALUE
-rb_ary_to_ary_m(VALUE ary)
+inspect_ensure(obj)
+ VALUE obj;
{
- return ary;
+ VALUE inspect_tbl;
+
+ inspect_tbl = get_inspect_tbl(Qfalse);
+ if (!NIL_P(inspect_tbl)) {
+ rb_ary_pop(inspect_tbl);
+ }
+ return 0;
}
-static void
-ary_reverse(VALUE *p1, VALUE *p2)
+VALUE
+rb_protect_inspect(func, obj, arg)
+ VALUE (*func)(ANYARGS);
+ VALUE obj, arg;
{
- while (p1 < p2) {
- VALUE tmp = *p1;
- *p1++ = *p2;
- *p2-- = tmp;
+ struct inspect_arg iarg;
+ VALUE inspect_tbl;
+ VALUE id;
+
+ inspect_tbl = get_inspect_tbl(Qtrue);
+ id = rb_obj_id(obj);
+ if (rb_ary_includes(inspect_tbl, id)) {
+ return (*func)(obj, arg);
}
+ rb_ary_push(inspect_tbl, id);
+ iarg.func = func;
+ iarg.arg1 = obj;
+ iarg.arg2 = arg;
+
+ return rb_ensure(inspect_call, (VALUE)&iarg, inspect_ensure, obj);
}
VALUE
-rb_ary_reverse(VALUE ary)
+rb_inspecting_p(obj)
+ VALUE obj;
{
- VALUE *p2;
- long len = RARRAY_LEN(ary);
+ VALUE inspect_tbl;
- rb_ary_modify(ary);
- if (len > 1) {
- RARRAY_PTR_USE(ary, p1, {
- p2 = p1 + len - 1; /* points last item */
- ary_reverse(p1, p2);
- }); /* WB: no new reference */
+ inspect_tbl = get_inspect_tbl(Qfalse);
+ if (NIL_P(inspect_tbl)) return Qfalse;
+ return rb_ary_includes(inspect_tbl, rb_obj_id(obj));
+}
+
+static VALUE
+inspect_ary(ary)
+ VALUE ary;
+{
+ int tainted = OBJ_TAINTED(ary);
+ long i;
+ VALUE s, str;
+
+ str = rb_str_buf_new2("[");
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ s = rb_inspect(RARRAY(ary)->ptr[i]);
+ if (OBJ_TAINTED(s)) tainted = Qtrue;
+ if (i > 0) rb_str_buf_cat2(str, ", ");
+ rb_str_buf_append(str, s);
}
- return ary;
+ rb_str_buf_cat2(str, "]");
+ if (tainted) OBJ_TAINT(str);
+ return str;
}
/*
* call-seq:
- * ary.reverse! -> ary
+ * array.inspect -> string
*
- * Reverses +self+ in place.
- *
- * a = [ "a", "b", "c" ]
- * a.reverse! #=> ["c", "b", "a"]
- * a #=> ["c", "b", "a"]
+ * Create a printable version of <i>array</i>.
*/
static VALUE
-rb_ary_reverse_bang(VALUE ary)
+rb_ary_inspect(ary)
+ VALUE ary;
{
- return rb_ary_reverse(ary);
+ if (RARRAY(ary)->len == 0) return rb_str_new2("[]");
+ if (rb_inspecting_p(ary)) return rb_str_new2("[...]");
+ return rb_protect_inspect(inspect_ary, ary, 0);
}
/*
* call-seq:
- * ary.reverse -> new_ary
- *
- * Returns a new array containing +self+'s elements in reverse order.
- *
- * [ "a", "b", "c" ].reverse #=> ["c", "b", "a"]
- * [ 1 ].reverse #=> [1]
+ * array.to_a -> array
+ *
+ * Returns _self_. If called on a subclass of Array, converts
+ * the receiver to an Array object.
*/
static VALUE
-rb_ary_reverse_m(VALUE ary)
+rb_ary_to_a(ary)
+ VALUE ary;
{
- long len = RARRAY_LEN(ary);
- VALUE dup = rb_ary_new2(len);
-
- if (len > 0) {
- const VALUE *p1 = RARRAY_CONST_PTR(ary);
- VALUE *p2 = (VALUE *)RARRAY_CONST_PTR(dup) + len - 1;
- do *p2-- = *p1++; while (--len > 0);
+ if (rb_obj_class(ary) != rb_cArray) {
+ VALUE dup = rb_ary_new2(RARRAY(ary)->len);
+ rb_ary_replace(dup, ary);
+ return dup;
}
- ARY_SET_LEN(dup, RARRAY_LEN(ary));
- return dup;
+ return ary;
}
-static inline long
-rotate_count(long cnt, long len)
+/*
+ * call-seq:
+ * array.to_ary -> array
+ *
+ * Returns _self_.
+ */
+
+static VALUE
+rb_ary_to_ary_m(ary)
+ VALUE ary;
{
- return (cnt < 0) ? (len - (~cnt % len) - 1) : (cnt % len);
+ return ary;
}
VALUE
-rb_ary_rotate(VALUE ary, long cnt)
+rb_ary_reverse(ary)
+ VALUE ary;
{
- rb_ary_modify(ary);
+ VALUE *p1, *p2;
+ VALUE tmp;
- if (cnt != 0) {
- VALUE *ptr = RARRAY_PTR(ary);
- long len = RARRAY_LEN(ary);
+ rb_ary_modify(ary);
+ if (RARRAY(ary)->len > 1) {
+ p1 = RARRAY(ary)->ptr;
+ p2 = p1 + RARRAY(ary)->len - 1; /* points last item */
- if (len > 0 && (cnt = rotate_count(cnt, len)) > 0) {
- --len;
- if (cnt < len) ary_reverse(ptr + cnt, ptr + len);
- if (--cnt > 0) ary_reverse(ptr, ptr + cnt);
- if (len > 0) ary_reverse(ptr, ptr + len);
- return ary;
+ while (p1 < p2) {
+ tmp = *p1;
+ *p1++ = *p2;
+ *p2-- = tmp;
}
}
-
- return Qnil;
+ return ary;
}
/*
* call-seq:
- * ary.rotate!(count=1) -> ary
- *
- * Rotates +self+ in place so that the element at +count+ comes first, and
- * returns +self+.
- *
- * If +count+ is negative then it rotates in the opposite direction, starting
- * from the end of the array where +-1+ is the last element.
- *
- * a = [ "a", "b", "c", "d" ]
- * a.rotate! #=> ["b", "c", "d", "a"]
- * a #=> ["b", "c", "d", "a"]
- * a.rotate!(2) #=> ["d", "a", "b", "c"]
- * a.rotate!(-3) #=> ["a", "b", "c", "d"]
+ * array.reverse! -> array
+ *
+ * Reverses _self_ in place.
+ *
+ * a = [ "a", "b", "c" ]
+ * a.reverse! #=> ["c", "b", "a"]
+ * a #=> ["c", "b", "a"]
*/
static VALUE
-rb_ary_rotate_bang(int argc, VALUE *argv, VALUE ary)
+rb_ary_reverse_bang(ary)
+ VALUE ary;
{
- long n = 1;
-
- switch (argc) {
- case 1: n = NUM2LONG(argv[0]);
- case 0: break;
- default: rb_scan_args(argc, argv, "01", NULL);
- }
- rb_ary_rotate(ary, n);
- return ary;
+ return rb_ary_reverse(ary);
}
/*
* call-seq:
- * ary.rotate(count=1) -> new_ary
- *
- * Returns a new array by rotating +self+ so that the element at +count+ is
- * the first element of the new array.
- *
- * If +count+ is negative then it rotates in the opposite direction, starting
- * from the end of +self+ where +-1+ is the last element.
- *
- * a = [ "a", "b", "c", "d" ]
- * a.rotate #=> ["b", "c", "d", "a"]
- * a #=> ["a", "b", "c", "d"]
- * a.rotate(2) #=> ["c", "d", "a", "b"]
- * a.rotate(-3) #=> ["b", "c", "d", "a"]
+ * array.reverse -> an_array
+ *
+ * Returns a new array containing <i>self</i>'s elements in reverse order.
+ *
+ * [ "a", "b", "c" ].reverse #=> ["c", "b", "a"]
+ * [ 1 ].reverse #=> [1]
*/
static VALUE
-rb_ary_rotate_m(int argc, VALUE *argv, VALUE ary)
+rb_ary_reverse_m(ary)
+ VALUE ary;
{
- VALUE rotated;
- const VALUE *ptr;
- long len, cnt = 1;
-
- switch (argc) {
- case 1: cnt = NUM2LONG(argv[0]);
- case 0: break;
- default: rb_scan_args(argc, argv, "01", NULL);
- }
-
- len = RARRAY_LEN(ary);
- rotated = rb_ary_new2(len);
- if (len > 0) {
- cnt = rotate_count(cnt, len);
- ptr = RARRAY_CONST_PTR(ary);
- len -= cnt;
- ary_memcpy(rotated, 0, len, ptr + cnt);
- ary_memcpy(rotated, len, cnt, ptr);
- }
- ARY_SET_LEN(rotated, RARRAY_LEN(ary));
- return rotated;
+ return rb_ary_reverse(rb_ary_dup(ary));
}
struct ary_sort_data {
VALUE ary;
- int opt_methods;
- int opt_inited;
-};
-
-enum {
- sort_opt_Fixnum,
- sort_opt_String,
- sort_optimizable_count
+ VALUE *ptr;
+ long len;
};
-#define STRING_P(s) (RB_TYPE_P((s), T_STRING) && CLASS_OF(s) == rb_cString)
-
-#define SORT_OPTIMIZABLE_BIT(type) (1U << TOKEN_PASTE(sort_opt_,type))
-#define SORT_OPTIMIZABLE(data, type) \
- (((data)->opt_inited & SORT_OPTIMIZABLE_BIT(type)) ? \
- ((data)->opt_methods & SORT_OPTIMIZABLE_BIT(type)) : \
- (((data)->opt_inited |= SORT_OPTIMIZABLE_BIT(type)), \
- rb_method_basic_definition_p(TOKEN_PASTE(rb_c,type), id_cmp) && \
- ((data)->opt_methods |= SORT_OPTIMIZABLE_BIT(type))))
-
-static VALUE
-sort_reentered(VALUE ary)
+static void
+ary_sort_check(data)
+ struct ary_sort_data *data;
{
- if (RBASIC(ary)->klass) {
- rb_raise(rb_eRuntimeError, "sort reentered");
+ if (RARRAY(data->ary)->ptr != data->ptr || RARRAY(data->ary)->len != data->len) {
+ rb_raise(rb_eArgError, "array modified during sort");
}
- return Qnil;
}
static int
-sort_1(const void *ap, const void *bp, void *dummy)
+sort_1(a, b, data)
+ VALUE *a, *b;
+ struct ary_sort_data *data;
{
- struct ary_sort_data *data = dummy;
- VALUE retval = sort_reentered(data->ary);
- VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;
+ VALUE retval = rb_yield_values(2, *a, *b);
int n;
- retval = rb_yield_values(2, a, b);
- n = rb_cmpint(retval, a, b);
- sort_reentered(data->ary);
+ n = rb_cmpint(retval, *a, *b);
+ ary_sort_check(data);
return n;
}
static int
-sort_2(const void *ap, const void *bp, void *dummy)
+sort_2(ap, bp, data)
+ VALUE *ap, *bp;
+ struct ary_sort_data *data;
{
- struct ary_sort_data *data = dummy;
- VALUE retval = sort_reentered(data->ary);
- VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;
+ VALUE retval;
+ VALUE a = *ap, b = *bp;
int n;
- if (FIXNUM_P(a) && FIXNUM_P(b) && SORT_OPTIMIZABLE(data, Fixnum)) {
+ if (FIXNUM_P(a) && FIXNUM_P(b)) {
if ((long)a > (long)b) return 1;
if ((long)a < (long)b) return -1;
return 0;
}
- if (STRING_P(a) && STRING_P(b) && SORT_OPTIMIZABLE(data, String)) {
- return rb_str_cmp(a, b);
+ if (TYPE(a) == T_STRING) {
+ if (TYPE(b) == T_STRING) return rb_str_cmp(a, b);
}
- retval = rb_funcallv(a, id_cmp, 1, &b);
+ retval = rb_funcall(a, id_cmp, 1, b);
n = rb_cmpint(retval, a, b);
- sort_reentered(data->ary);
+ ary_sort_check(data);
return n;
}
+static VALUE
+sort_internal(ary)
+ VALUE ary;
+{
+ struct ary_sort_data data;
+
+ data.ary = ary;
+ data.ptr = RARRAY(ary)->ptr; data.len = RARRAY(ary)->len;
+ qsort(RARRAY(ary)->ptr, RARRAY(ary)->len, sizeof(VALUE),
+ rb_block_given_p()?sort_1:sort_2, &data);
+ return ary;
+}
+
+static VALUE
+sort_unlock(ary)
+ VALUE ary;
+{
+ FL_UNSET(ary, ARY_TMPLOCK);
+ return ary;
+}
+
/*
* call-seq:
- * ary.sort! -> ary
- * ary.sort! { |a, b| block } -> ary
- *
- * Sorts +self+ in place.
- *
- * Comparisons for the sort will be done using the <code><=></code> operator
- * or using an optional code block.
- *
- * The block must implement a comparison between +a+ and +b+, and return
- * +-1+, when +a+ follows +b+, +0+ when +a+ and +b+ are equivalent, or ++1+
- * if +b+ follows +a+.
- *
- * See also Enumerable#sort_by.
- *
+ * array.sort! -> array
+ * array.sort! {| a,b | block } -> array
+ *
+ * Sorts _self_. Comparisons for
+ * the sort will be done using the <code><=></code> operator or using
+ * an optional code block. The block implements a comparison between
+ * <i>a</i> and <i>b</i>, returning -1, 0, or +1. See also
+ * <code>Enumerable#sort_by</code>.
+ *
* a = [ "d", "a", "e", "c", "b" ]
- * a.sort! #=> ["a", "b", "c", "d", "e"]
- * a.sort! { |x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]
+ * a.sort #=> ["a", "b", "c", "d", "e"]
+ * a.sort {|x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]
*/
VALUE
-rb_ary_sort_bang(VALUE ary)
+rb_ary_sort_bang(ary)
+ VALUE ary;
{
rb_ary_modify(ary);
- assert(!ARY_SHARED_P(ary));
- if (RARRAY_LEN(ary) > 1) {
- VALUE tmp = ary_make_substitution(ary); /* only ary refers tmp */
- struct ary_sort_data data;
- long len = RARRAY_LEN(ary);
-
- RBASIC_CLEAR_CLASS(tmp);
- data.ary = tmp;
- data.opt_methods = 0;
- data.opt_inited = 0;
- RARRAY_PTR_USE(tmp, ptr, {
- ruby_qsort(ptr, len, sizeof(VALUE),
- rb_block_given_p()?sort_1:sort_2, &data);
- }); /* WB: no new reference */
- rb_ary_modify(ary);
- if (ARY_EMBED_P(tmp)) {
- if (ARY_SHARED_P(ary)) { /* ary might be destructively operated in the given block */
- rb_ary_unshare(ary);
- }
- FL_SET_EMBED(ary);
- ary_memcpy(ary, 0, ARY_EMBED_LEN(tmp), ARY_EMBED_PTR(tmp));
- ARY_SET_LEN(ary, ARY_EMBED_LEN(tmp));
- }
- else {
- if (!ARY_EMBED_P(ary) && ARY_HEAP_PTR(ary) == ARY_HEAP_PTR(tmp)) {
- FL_UNSET_SHARED(ary);
- ARY_SET_CAPA(ary, RARRAY_LEN(tmp));
- }
- else {
- assert(!ARY_SHARED_P(tmp));
- if (ARY_EMBED_P(ary)) {
- FL_UNSET_EMBED(ary);
- }
- else if (ARY_SHARED_P(ary)) {
- /* ary might be destructively operated in the given block */
- rb_ary_unshare(ary);
- }
- else {
- ruby_sized_xfree((void *)ARY_HEAP_PTR(ary), ARY_HEAP_SIZE(ary));
- }
- ARY_SET_PTR(ary, RARRAY_CONST_PTR(tmp));
- ARY_SET_HEAP_LEN(ary, len);
- ARY_SET_CAPA(ary, RARRAY_LEN(tmp));
- }
- /* tmp was lost ownership for the ptr */
- FL_UNSET(tmp, FL_FREEZE);
- FL_SET_EMBED(tmp);
- ARY_SET_EMBED_LEN(tmp, 0);
- FL_SET(tmp, FL_FREEZE);
- }
- /* tmp will be GC'ed. */
- RBASIC_SET_CLASS_RAW(tmp, rb_cArray); /* rb_cArray must be marked */
+ if (RARRAY(ary)->len > 1) {
+ FL_SET(ary, ARY_TMPLOCK); /* prohibit modification during sort */
+ rb_ensure(sort_internal, ary, sort_unlock, ary);
}
return ary;
}
/*
* call-seq:
- * ary.sort -> new_ary
- * ary.sort { |a, b| block } -> new_ary
- *
- * Returns a new array created by sorting +self+.
- *
- * Comparisons for the sort will be done using the <code><=></code> operator
- * or using an optional code block.
- *
- * The block must implement a comparison between +a+ and +b+, and return
- * +-1+, when +a+ follows +b+, +0+ when +a+ and +b+ are equivalent, or ++1+
- * if +b+ follows +a+.
- *
- *
- * See also Enumerable#sort_by.
- *
+ * array.sort -> an_array
+ * array.sort {| a,b | block } -> an_array
+ *
+ * Returns a new array created by sorting <i>self</i>. Comparisons for
+ * the sort will be done using the <code><=></code> operator or using
+ * an optional code block. The block implements a comparison between
+ * <i>a</i> and <i>b</i>, returning -1, 0, or +1. See also
+ * <code>Enumerable#sort_by</code>.
+ *
* a = [ "d", "a", "e", "c", "b" ]
* a.sort #=> ["a", "b", "c", "d", "e"]
- * a.sort { |x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]
+ * a.sort {|x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]
*/
VALUE
-rb_ary_sort(VALUE ary)
+rb_ary_sort(ary)
+ VALUE ary;
{
ary = rb_ary_dup(ary);
rb_ary_sort_bang(ary);
@@ -2513,209 +1684,70 @@ rb_ary_sort(VALUE ary)
/*
* call-seq:
- * ary.bsearch {|x| block } -> elem
- *
- * By using binary search, finds a value from this array which meets
- * the given condition in O(log n) where n is the size of the array.
- *
- * You can use this method in two use cases: a find-minimum mode and
- * a find-any mode. In either case, the elements of the array must be
- * monotone (or sorted) with respect to the block.
- *
- * In find-minimum mode (this is a good choice for typical use case),
- * the block must return true or false, and there must be an index i
- * (0 <= i <= ary.size) so that:
- *
- * - the block returns false for any element whose index is less than
- * i, and
- * - the block returns true for any element whose index is greater
- * than or equal to i.
- *
- * This method returns the i-th element. If i is equal to ary.size,
- * it returns nil.
- *
- * ary = [0, 4, 7, 10, 12]
- * ary.bsearch {|x| x >= 4 } #=> 4
- * ary.bsearch {|x| x >= 6 } #=> 7
- * ary.bsearch {|x| x >= -1 } #=> 0
- * ary.bsearch {|x| x >= 100 } #=> nil
- *
- * In find-any mode (this behaves like libc's bsearch(3)), the block
- * must return a number, and there must be two indices i and j
- * (0 <= i <= j <= ary.size) so that:
- *
- * - the block returns a positive number for ary[k] if 0 <= k < i,
- * - the block returns zero for ary[k] if i <= k < j, and
- * - the block returns a negative number for ary[k] if
- * j <= k < ary.size.
- *
- * Under this condition, this method returns any element whose index
- * is within i...j. If i is equal to j (i.e., there is no element
- * that satisfies the block), this method returns nil.
- *
- * ary = [0, 4, 7, 10, 12]
- * # try to find v such that 4 <= v < 8
- * ary.bsearch {|x| 1 - x / 4 } #=> 4 or 7
- * # try to find v such that 8 <= v < 10
- * ary.bsearch {|x| 4 - x / 2 } #=> nil
- *
- * You must not mix the two modes at a time; the block must always
- * return either true/false, or always return a number. It is
- * undefined which value is actually picked up at each iteration.
- */
-
-static VALUE
-rb_ary_bsearch(VALUE ary)
-{
- long low = 0, high = RARRAY_LEN(ary), mid;
- int smaller = 0, satisfied = 0;
- VALUE v, val;
-
- RETURN_ENUMERATOR(ary, 0, 0);
- while (low < high) {
- mid = low + ((high - low) / 2);
- val = rb_ary_entry(ary, mid);
- v = rb_yield(val);
- if (FIXNUM_P(v)) {
- if (FIX2INT(v) == 0) return val;
- smaller = FIX2INT(v) < 0;
- }
- else if (v == Qtrue) {
- satisfied = 1;
- smaller = 1;
- }
- else if (v == Qfalse || v == Qnil) {
- smaller = 0;
- }
- else if (rb_obj_is_kind_of(v, rb_cNumeric)) {
- const VALUE zero = INT2FIX(0);
- switch (rb_cmpint(rb_funcallv(v, id_cmp, 1, &zero), v, INT2FIX(0))) {
- case 0: return val;
- case 1: smaller = 1; break;
- case -1: smaller = 0;
- }
- }
- else {
- rb_raise(rb_eTypeError, "wrong argument type %s"
- " (must be numeric, true, false or nil)",
- rb_obj_classname(v));
- }
- if (smaller) {
- high = mid;
- }
- else {
- low = mid + 1;
- }
- }
- if (low == RARRAY_LEN(ary)) return Qnil;
- if (!satisfied) return Qnil;
- return rb_ary_entry(ary, low);
-}
-
-
-static VALUE
-sort_by_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, dummy))
-{
- return rb_yield(i);
-}
-
-/*
- * call-seq:
- * ary.sort_by! { |obj| block } -> ary
- * ary.sort_by! -> Enumerator
- *
- * Sorts +self+ in place using a set of keys generated by mapping the
- * values in +self+ through the given block.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- */
-
-static VALUE
-rb_ary_sort_by_bang(VALUE ary)
-{
- VALUE sorted;
-
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- rb_ary_modify(ary);
- sorted = rb_block_call(ary, rb_intern("sort_by"), 0, 0, sort_by_i, 0);
- rb_ary_replace(ary, sorted);
- return ary;
-}
-
-
-/*
- * call-seq:
- * ary.collect { |item| block } -> new_ary
- * ary.map { |item| block } -> new_ary
- * ary.collect -> Enumerator
- * ary.map -> Enumerator
- *
- * Invokes the given block once for each element of +self+.
- *
- * Creates a new array containing the values returned by the block.
- *
- * See also Enumerable#collect.
- *
- * If no block is given, an Enumerator is returned instead.
- *
+ * array.collect {|item| block } -> an_array
+ * array.map {|item| block } -> an_array
+ *
+ * Invokes <i>block</i> once for each element of <i>self</i>. Creates a
+ * new array containing the values returned by the block.
+ * See also <code>Enumerable#collect</code>.
+ *
* a = [ "a", "b", "c", "d" ]
- * a.collect { |x| x + "!" } #=> ["a!", "b!", "c!", "d!"]
- * a.map.with_index{ |x, i| x * i } #=> ["", "b", "cc", "ddd"]
- * a #=> ["a", "b", "c", "d"]
+ * a.collect {|x| x + "!" } #=> ["a!", "b!", "c!", "d!"]
+ * a #=> ["a", "b", "c", "d"]
*/
static VALUE
-rb_ary_collect(VALUE ary)
+rb_ary_collect(ary)
+ VALUE ary;
{
long i;
VALUE collect;
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- collect = rb_ary_new2(RARRAY_LEN(ary));
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- rb_ary_push(collect, rb_yield(RARRAY_AREF(ary, i)));
+ if (!rb_block_given_p()) {
+ return rb_ary_new4(RARRAY(ary)->len, RARRAY(ary)->ptr);
+ }
+
+ collect = rb_ary_new2(RARRAY(ary)->len);
+ for (i = 0; i < RARRAY(ary)->len; i++) {
+ rb_ary_push(collect, rb_yield(RARRAY(ary)->ptr[i]));
}
return collect;
}
-
-/*
+/*
* call-seq:
- * ary.collect! {|item| block } -> ary
- * ary.map! {|item| block } -> ary
- * ary.collect! -> Enumerator
- * ary.map! -> Enumerator
- *
- * Invokes the given block once for each element of +self+, replacing the
- * element with the value returned by the block.
- *
- * See also Enumerable#collect.
- *
- * If no block is given, an Enumerator is returned instead.
+ * array.collect! {|item| block } -> array
+ * array.map! {|item| block } -> array
*
+ * Invokes the block once for each element of _self_, replacing the
+ * element with the value returned by _block_.
+ * See also <code>Enumerable#collect</code>.
+ *
* a = [ "a", "b", "c", "d" ]
- * a.map! {|x| x + "!" }
- * a #=> [ "a!", "b!", "c!", "d!" ]
- * a.collect!.with_index {|x, i| x[0...i] }
- * a #=> ["", "b", "c!", "d!"]
+ * a.collect! {|x| x + "!" }
+ * a #=> [ "a!", "b!", "c!", "d!" ]
*/
static VALUE
-rb_ary_collect_bang(VALUE ary)
+rb_ary_collect_bang(ary)
+ VALUE ary;
{
long i;
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
rb_ary_modify(ary);
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- rb_ary_store(ary, i, rb_yield(RARRAY_AREF(ary, i)));
+ for (i = 0; i < RARRAY(ary)->len; i++) {
+ rb_ary_store(ary, i, rb_yield(RARRAY(ary)->ptr[i]));
}
return ary;
}
VALUE
-rb_get_values_at(VALUE obj, long olen, int argc, VALUE *argv, VALUE (*func) (VALUE, long))
+rb_values_at(obj, olen, argc, argv, func)
+ VALUE obj;
+ long olen;
+ int argc;
+ VALUE *argv;
+ VALUE (*func) _((VALUE,long));
{
VALUE result = rb_ary_new2(argc);
long beg, len, i, j;
@@ -2726,13 +1758,15 @@ rb_get_values_at(VALUE obj, long olen, int argc, VALUE *argv, VALUE (*func) (VAL
continue;
}
/* check if idx is Range */
- if (rb_range_beg_len(argv[i], &beg, &len, olen, 1)) {
- long end = olen < beg+len ? olen : beg+len;
- for (j = beg; j < end; j++) {
- rb_ary_push(result, (*func)(obj, j));
+ switch (rb_range_beg_len(argv[i], &beg, &len, olen, 0)) {
+ case Qfalse:
+ break;
+ case Qnil:
+ continue;
+ default:
+ for (j=0; j<len; j++) {
+ rb_ary_push(result, (*func)(obj, j+beg));
}
- if (beg + len > j)
- rb_ary_resize(result, RARRAY_LEN(result) + (beg + len) - j);
continue;
}
rb_ary_push(result, (*func)(obj, NUM2LONG(argv[i])));
@@ -2740,59 +1774,53 @@ rb_get_values_at(VALUE obj, long olen, int argc, VALUE *argv, VALUE (*func) (VAL
return result;
}
-/*
+/*
* call-seq:
- * ary.values_at(selector, ...) -> new_ary
- *
- * Returns an array containing the elements in +self+ corresponding to the
- * given +selector+(s).
- *
- * The selectors may be either integer indices or ranges.
- *
- * See also Array#select.
+ * array.values_at(selector,... ) -> an_array
*
+ * Returns an array containing the elements in
+ * _self_ corresponding to the given selector(s). The selectors
+ * may be either integer indices or ranges.
+ * See also <code>Array#select</code>.
+ *
* a = %w{ a b c d e f }
- * a.values_at(1, 3, 5) # => ["b", "d", "f"]
- * a.values_at(1, 3, 5, 7) # => ["b", "d", "f", nil]
- * a.values_at(-1, -2, -2, -7) # => ["f", "e", "e", nil]
- * a.values_at(4..6, 3...6) # => ["e", "f", nil, "d", "e", "f"]
+ * a.values_at(1, 3, 5)
+ * a.values_at(1, 3, 5, 7)
+ * a.values_at(-1, -3, -5, -7)
+ * a.values_at(1..3, 2...5)
*/
static VALUE
-rb_ary_values_at(int argc, VALUE *argv, VALUE ary)
+rb_ary_values_at(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
- return rb_get_values_at(ary, RARRAY_LEN(ary), argc, argv, rb_ary_entry);
+ return rb_values_at(ary, RARRAY(ary)->len, argc, argv, rb_ary_entry);
}
-
/*
* call-seq:
- * ary.select { |item| block } -> new_ary
- * ary.select -> Enumerator
- *
- * Returns a new array containing all elements of +ary+
- * for which the given +block+ returns a true value.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * [1,2,3,4,5].select { |num| num.even? } #=> [2, 4]
- *
+ * array.select {|item| block } -> an_array
+ *
+ * Invokes the block passing in successive elements from <i>array</i>,
+ * returning an array containing those elements for which the block
+ * returns a true value (equivalent to <code>Enumerable#select</code>).
+ *
* a = %w{ a b c d e f }
- * a.select { |v| v =~ /[aeiou]/ } #=> ["a", "e"]
- *
- * See also Enumerable#select.
+ * a.select {|v| v =~ /[aeiou]/} #=> ["a", "e"]
*/
static VALUE
-rb_ary_select(VALUE ary)
+rb_ary_select(ary)
+ VALUE ary;
{
VALUE result;
long i;
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- result = rb_ary_new2(RARRAY_LEN(ary));
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {
+ result = rb_ary_new2(RARRAY(ary)->len);
+ for (i = 0; i < RARRAY(ary)->len; i++) {
+ if (RTEST(rb_yield(RARRAY(ary)->ptr[i]))) {
rb_ary_push(result, rb_ary_elt(ary, i));
}
}
@@ -2801,92 +1829,14 @@ rb_ary_select(VALUE ary)
/*
* call-seq:
- * ary.select! {|item| block } -> ary or nil
- * ary.select! -> Enumerator
- *
- * Invokes the given block passing in successive elements from +self+,
- * deleting elements for which the block returns a +false+ value.
- *
- * If changes were made, it will return +self+, otherwise it returns +nil+.
- *
- * See also Array#keep_if
- *
- * If no block is given, an Enumerator is returned instead.
- *
- */
-
-static VALUE
-rb_ary_select_bang(VALUE ary)
-{
- long i1, i2;
-
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- rb_ary_modify(ary);
- for (i1 = i2 = 0; i1 < RARRAY_LEN(ary); i1++) {
- VALUE v = RARRAY_AREF(ary, i1);
- if (!RTEST(rb_yield(v))) continue;
- if (i1 != i2) {
- rb_ary_store(ary, i2, v);
- }
- i2++;
- }
-
- if (i1 == i2) return Qnil;
- if (i2 < i1)
- ARY_SET_LEN(ary, i2);
- return ary;
-}
-
-/*
- * call-seq:
- * ary.keep_if { |item| block } -> ary
- * ary.keep_if -> Enumerator
- *
- * Deletes every element of +self+ for which the given block evaluates to
- * +false+.
- *
- * See also Array#select!
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * a = %w{ a b c d e f }
- * a.keep_if { |v| v =~ /[aeiou]/ } #=> ["a", "e"]
- */
-
-static VALUE
-rb_ary_keep_if(VALUE ary)
-{
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- rb_ary_select_bang(ary);
- return ary;
-}
-
-static void
-ary_resize_smaller(VALUE ary, long len)
-{
- rb_ary_modify(ary);
- if (RARRAY_LEN(ary) > len) {
- ARY_SET_LEN(ary, len);
- if (len * 2 < ARY_CAPA(ary) &&
- ARY_CAPA(ary) > ARY_DEFAULT_SIZE) {
- ary_resize_capa(ary, len * 2);
- }
- }
-}
-
-/*
- * call-seq:
- * ary.delete(obj) -> item or nil
- * ary.delete(obj) { block } -> item or result of block
- *
- * Deletes all items from +self+ that are equal to +obj+.
- *
- * Returns the last deleted item, or +nil+ if no matching item is found.
- *
- * If the optional code block is given, the result of the block is returned if
- * the item is not found. (To remove +nil+ elements and get an informative
- * return value, use Array#compact!)
- *
+ * array.delete(obj) -> obj or nil
+ * array.delete(obj) { block } -> obj or nil
+ *
+ * Deletes items from <i>self</i> that are equal to <i>obj</i>. If
+ * the item is not found, returns <code>nil</code>. If the optional
+ * code block is given, returns the result of <i>block</i> if the item
+ * is not found.
+ *
* a = [ "a", "b", "b", "b", "c" ]
* a.delete("b") #=> "b"
* a #=> ["a", "c"]
@@ -2895,62 +1845,47 @@ ary_resize_smaller(VALUE ary, long len)
*/
VALUE
-rb_ary_delete(VALUE ary, VALUE item)
+rb_ary_delete(ary, item)
+ VALUE ary;
+ VALUE item;
{
- VALUE v = item;
long i1, i2;
- for (i1 = i2 = 0; i1 < RARRAY_LEN(ary); i1++) {
- VALUE e = RARRAY_AREF(ary, i1);
+ for (i1 = i2 = 0; i1 < RARRAY(ary)->len; i1++) {
+ VALUE e = RARRAY(ary)->ptr[i1];
- if (rb_equal(e, item)) {
- v = e;
- continue;
- }
+ if (rb_equal(e, item)) continue;
if (i1 != i2) {
rb_ary_store(ary, i2, e);
}
i2++;
}
- if (RARRAY_LEN(ary) == i2) {
+ if (RARRAY(ary)->len == i2) {
if (rb_block_given_p()) {
return rb_yield(item);
}
return Qnil;
}
- ary_resize_smaller(ary, i2);
-
- return v;
-}
-
-void
-rb_ary_delete_same(VALUE ary, VALUE item)
-{
- long i1, i2;
-
- for (i1 = i2 = 0; i1 < RARRAY_LEN(ary); i1++) {
- VALUE e = RARRAY_AREF(ary, i1);
-
- if (e == item) {
- continue;
- }
- if (i1 != i2) {
- rb_ary_store(ary, i2, e);
+ rb_ary_modify(ary);
+ if (RARRAY(ary)->len > i2) {
+ RARRAY(ary)->len = i2;
+ if (i2 * 2 < RARRAY(ary)->aux.capa &&
+ RARRAY(ary)->aux.capa > ARY_DEFAULT_SIZE) {
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, i2 * 2);
+ RARRAY(ary)->aux.capa = i2 * 2;
}
- i2++;
- }
- if (RARRAY_LEN(ary) == i2) {
- return;
}
- ary_resize_smaller(ary, i2);
+ return item;
}
VALUE
-rb_ary_delete_at(VALUE ary, long pos)
+rb_ary_delete_at(ary, pos)
+ VALUE ary;
+ long pos;
{
- long len = RARRAY_LEN(ary);
+ long i, len = RARRAY(ary)->len;
VALUE del;
if (pos >= len) return Qnil;
@@ -2960,48 +1895,52 @@ rb_ary_delete_at(VALUE ary, long pos)
}
rb_ary_modify(ary);
- del = RARRAY_AREF(ary, pos);
- RARRAY_PTR_USE(ary, ptr, {
- MEMMOVE(ptr+pos, ptr+pos+1, VALUE, len-pos-1);
- });
- ARY_INCREASE_LEN(ary, -1);
+ del = RARRAY(ary)->ptr[pos];
+ for (i = pos + 1; i < len; i++, pos++) {
+ RARRAY(ary)->ptr[pos] = RARRAY(ary)->ptr[i];
+ }
+ RARRAY(ary)->len = pos;
return del;
}
/*
* call-seq:
- * ary.delete_at(index) -> obj or nil
- *
- * Deletes the element at the specified +index+, returning that element, or
- * +nil+ if the +index+ is out of range.
- *
- * See also Array#slice!
- *
- * a = ["ant", "bat", "cat", "dog"]
+ * array.delete_at(index) -> obj or nil
+ *
+ * Deletes the element at the specified index, returning that element,
+ * or <code>nil</code> if the index is out of range. See also
+ * <code>Array#slice!</code>.
+ *
+ * a = %w( ant bat cat dog )
* a.delete_at(2) #=> "cat"
* a #=> ["ant", "bat", "dog"]
* a.delete_at(99) #=> nil
*/
static VALUE
-rb_ary_delete_at_m(VALUE ary, VALUE pos)
+rb_ary_delete_at_m(ary, pos)
+ VALUE ary, pos;
{
return rb_ary_delete_at(ary, NUM2LONG(pos));
}
/*
* call-seq:
- * ary.slice!(index) -> obj or nil
- * ary.slice!(start, length) -> new_ary or nil
- * ary.slice!(range) -> new_ary or nil
- *
- * Deletes the element(s) given by an +index+ (optionally up to +length+
- * elements) or by a +range+.
- *
- * Returns the deleted object (or objects), or +nil+ if the +index+ is out of
- * range.
- *
+ * array.slice!(index) -> obj or nil
+ * array.slice!(start, length) -> sub_array or nil
+ * array.slice!(range) -> sub_array or nil
+ *
+ * Deletes the element(s) given by an index (optionally with a length)
+ * or by a range. Returns the deleted object, subarray, or
+ * <code>nil</code> if the index is out of range. Equivalent to:
+ *
+ * def slice!(*args)
+ * result = self[*args]
+ * self[*args] = nil
+ * result
+ * end
+ *
* a = [ "a", "b", "c" ]
* a.slice!(1) #=> "b"
* a #=> ["a", "c"]
@@ -3012,300 +1951,194 @@ rb_ary_delete_at_m(VALUE ary, VALUE pos)
*/
static VALUE
-rb_ary_slice_bang(int argc, VALUE *argv, VALUE ary)
+rb_ary_slice_bang(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
VALUE arg1, arg2;
- long pos, len, orig_len;
+ long pos, len;
- rb_ary_modify_check(ary);
- if (argc == 2) {
- pos = NUM2LONG(argv[0]);
- len = NUM2LONG(argv[1]);
+ if (rb_scan_args(argc, argv, "11", &arg1, &arg2) == 2) {
+ pos = NUM2LONG(arg1);
+ len = NUM2LONG(arg2);
delete_pos_len:
- if (len < 0) return Qnil;
- orig_len = RARRAY_LEN(ary);
if (pos < 0) {
- pos += orig_len;
- if (pos < 0) return Qnil;
- }
- else if (orig_len < pos) return Qnil;
- if (orig_len < pos + len) {
- len = orig_len - pos;
+ pos = RARRAY(ary)->len + pos;
}
- if (len == 0) return rb_ary_new2(0);
- arg2 = rb_ary_new4(len, RARRAY_CONST_PTR(ary)+pos);
- RBASIC_SET_CLASS(arg2, rb_obj_class(ary));
- rb_ary_splice(ary, pos, len, Qundef);
+ arg2 = rb_ary_subseq(ary, pos, len);
+ rb_ary_splice(ary, pos, len, Qnil); /* Qnil/rb_ary_new2(0) */
return arg2;
}
- if (argc != 1) {
- /* error report */
- rb_scan_args(argc, argv, "11", NULL, NULL);
- }
- arg1 = argv[0];
-
- if (!FIXNUM_P(arg1)) {
- switch (rb_range_beg_len(arg1, &pos, &len, RARRAY_LEN(ary), 0)) {
- case Qtrue:
- /* valid range */
- goto delete_pos_len;
- case Qnil:
- /* invalid range */
- return Qnil;
- default:
- /* not a range */
- break;
- }
+ if (!FIXNUM_P(arg1) && rb_range_beg_len(arg1, &pos, &len, RARRAY(ary)->len, 1)) {
+ goto delete_pos_len;
}
return rb_ary_delete_at(ary, NUM2LONG(arg1));
}
-static VALUE
-ary_reject(VALUE orig, VALUE result)
-{
- long i;
-
- for (i = 0; i < RARRAY_LEN(orig); i++) {
- VALUE v = RARRAY_AREF(orig, i);
- if (!RTEST(rb_yield(v))) {
- rb_ary_push(result, v);
- }
- }
- return result;
-}
+/*
+ * call-seq:
+ * array.reject! {|item| block } -> array or nil
+ *
+ * Equivalent to <code>Array#delete_if</code>, deleting elements from
+ * _self_ for which the block evaluates to true, but returns
+ * <code>nil</code> if no changes were made. Also see
+ * <code>Enumerable#reject</code>.
+ */
static VALUE
-ary_reject_bang(VALUE ary)
+rb_ary_reject_bang(ary)
+ VALUE ary;
{
- long i;
- VALUE result = Qnil;
+ long i1, i2;
- rb_ary_modify_check(ary);
- for (i = 0; i < RARRAY_LEN(ary); ) {
- VALUE v = RARRAY_AREF(ary, i);
- if (RTEST(rb_yield(v))) {
- rb_ary_delete_at(ary, i);
- result = ary;
- }
- else {
- i++;
+ rb_ary_modify(ary);
+ for (i1 = i2 = 0; i1 < RARRAY(ary)->len; i1++) {
+ VALUE v = RARRAY(ary)->ptr[i1];
+ if (RTEST(rb_yield(v))) continue;
+ if (i1 != i2) {
+ rb_ary_store(ary, i2, v);
}
+ i2++;
}
- return result;
-}
-
-/*
- * call-seq:
- * ary.reject! { |item| block } -> ary or nil
- * ary.reject! -> Enumerator
- *
- * Equivalent to Array#delete_if, deleting elements from +self+ for which the
- * block evaluates to +true+, but returns +nil+ if no changes were made.
- *
- * The array is changed instantly every time the block is called, not after
- * the iteration is over.
- *
- * See also Enumerable#reject and Array#delete_if.
- *
- * If no block is given, an Enumerator is returned instead.
- */
+ if (RARRAY(ary)->len == i2) return Qnil;
+ if (i2 < RARRAY(ary)->len)
+ RARRAY(ary)->len = i2;
-static VALUE
-rb_ary_reject_bang(VALUE ary)
-{
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- return ary_reject_bang(ary);
+ return ary;
}
/*
* call-seq:
- * ary.reject {|item| block } -> new_ary
- * ary.reject -> Enumerator
- *
- * Returns a new array containing the items in +self+ for which the given
- * block is not +true+.
- *
- * See also Array#delete_if
- *
- * If no block is given, an Enumerator is returned instead.
+ * array.reject {|item| block } -> an_array
+ *
+ * Returns a new array containing the items in _self_
+ * for which the block is not true.
*/
static VALUE
-rb_ary_reject(VALUE ary)
+rb_ary_reject(ary)
+ VALUE ary;
{
- VALUE rejected_ary;
-
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- rejected_ary = rb_ary_new();
- ary_reject(ary, rejected_ary);
- return rejected_ary;
+ ary = rb_ary_dup(ary);
+ rb_ary_reject_bang(ary);
+ return ary;
}
/*
* call-seq:
- * ary.delete_if { |item| block } -> ary
- * ary.delete_if -> Enumerator
- *
- * Deletes every element of +self+ for which block evaluates to +true+.
- *
- * The array is changed instantly every time the block is called, not after
- * the iteration is over.
- *
- * See also Array#reject!
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * scores = [ 97, 42, 75 ]
- * scores.delete_if {|score| score < 80 } #=> [97]
+ * array.delete_if {|item| block } -> array
+ *
+ * Deletes every element of <i>self</i> for which <i>block</i> evaluates
+ * to <code>true</code>.
+ *
+ * a = [ "a", "b", "c" ]
+ * a.delete_if {|x| x >= "b" } #=> ["a"]
*/
static VALUE
-rb_ary_delete_if(VALUE ary)
+rb_ary_delete_if(ary)
+ VALUE ary;
{
- RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- ary_reject_bang(ary);
+ rb_ary_reject_bang(ary);
return ary;
}
-static VALUE
-take_i(RB_BLOCK_CALL_FUNC_ARGLIST(val, cbarg))
-{
- VALUE *args = (VALUE *)cbarg;
- if (args[1]-- == 0) rb_iter_break();
- if (argc > 1) val = rb_ary_new4(argc, argv);
- rb_ary_push(args[0], val);
- return Qnil;
-}
-
-static VALUE
-take_items(VALUE obj, long n)
-{
- VALUE result = rb_check_array_type(obj);
- VALUE args[2];
-
- if (!NIL_P(result)) return rb_ary_subseq(result, 0, n);
- result = rb_ary_new2(n);
- args[0] = result; args[1] = (VALUE)n;
- if (rb_check_block_call(obj, idEach, 0, 0, take_i, (VALUE)args) == Qundef)
- rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (must respond to :each)",
- rb_obj_class(obj));
- return result;
-}
-
-
/*
* call-seq:
- * ary.zip(arg, ...) -> new_ary
- * ary.zip(arg, ...) { |arr| block } -> nil
- *
- * Converts any arguments to arrays, then merges elements of +self+ with
- * corresponding elements from each argument.
- *
- * This generates a sequence of <code>ary.size</code> _n_-element arrays,
- * where _n_ is one more than the count of arguments.
- *
- * If the size of any argument is less than the size of the initial array,
- * +nil+ values are supplied.
- *
- * If a block is given, it is invoked for each output +array+, otherwise an
- * array of arrays is returned.
- *
+ * array.zip(arg, ...) -> an_array
+ * array.zip(arg, ...) {| arr | block } -> nil
+ *
+ * Converts any arguments to arrays, then merges elements of
+ * <i>self</i> with corresponding elements from each argument. This
+ * generates a sequence of <code>self.size</code> <em>n</em>-element
+ * arrays, where <em>n</em> is one more that the count of arguments. If
+ * the size of any argument is less than <code>enumObj.size</code>,
+ * <code>nil</code> values are supplied. If a block given, it is
+ * invoked for each output array, otherwise an array of arrays is
+ * returned.
+ *
* a = [ 4, 5, 6 ]
* b = [ 7, 8, 9 ]
- * [1, 2, 3].zip(a, b) #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
- * [1, 2].zip(a, b) #=> [[1, 4, 7], [2, 5, 8]]
- * a.zip([1, 2], [8]) #=> [[4, 1, 8], [5, 2, nil], [6, nil, nil]]
+ *
+ * [1,2,3].zip(a, b) #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
+ * [1,2].zip(a,b) #=> [[1, 4, 7], [2, 5, 8]]
+ * a.zip([1,2],[8]) #=> [[4,1,8], [5,2,nil], [6,nil,nil]]
*/
static VALUE
-rb_ary_zip(int argc, VALUE *argv, VALUE ary)
+rb_ary_zip(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
int i, j;
- long len = RARRAY_LEN(ary);
- VALUE result = Qnil;
+ long len;
+ VALUE result;
for (i=0; i<argc; i++) {
- argv[i] = take_items(argv[i], len);
+ argv[i] = to_ary(argv[i]);
}
-
if (rb_block_given_p()) {
- int arity = rb_block_arity();
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ VALUE tmp = rb_ary_new2(argc+1);
- if (arity > 1 && argc+1 < 0x100) {
- VALUE *tmp = ALLOCA_N(VALUE, argc+1);
-
- for (i=0; i<RARRAY_LEN(ary); i++) {
- tmp[0] = RARRAY_AREF(ary, i);
- for (j=0; j<argc; j++) {
- tmp[j+1] = rb_ary_elt(argv[j], i);
- }
- rb_yield_values2(argc+1, tmp);
- }
- }
- else {
- for (i=0; i<RARRAY_LEN(ary); i++) {
- VALUE tmp = rb_ary_new2(argc+1);
-
- rb_ary_push(tmp, RARRAY_AREF(ary, i));
- for (j=0; j<argc; j++) {
- rb_ary_push(tmp, rb_ary_elt(argv[j], i));
- }
- rb_yield(tmp);
- }
- }
- }
- else {
- result = rb_ary_new_capa(len);
-
- for (i=0; i<len; i++) {
- VALUE tmp = rb_ary_new_capa(argc+1);
-
- rb_ary_push(tmp, RARRAY_AREF(ary, i));
+ rb_ary_push(tmp, rb_ary_elt(ary, i));
for (j=0; j<argc; j++) {
rb_ary_push(tmp, rb_ary_elt(argv[j], i));
}
- rb_ary_push(result, tmp);
+ rb_yield(tmp);
}
+ return Qnil;
}
+ len = RARRAY(ary)->len;
+ result = rb_ary_new2(len);
+ for (i=0; i<len; i++) {
+ VALUE tmp = rb_ary_new2(argc+1);
+ rb_ary_push(tmp, rb_ary_elt(ary, i));
+ for (j=0; j<argc; j++) {
+ rb_ary_push(tmp, rb_ary_elt(argv[j], i));
+ }
+ rb_ary_push(result, tmp);
+ }
return result;
}
/*
* call-seq:
- * ary.transpose -> new_ary
- *
- * Assumes that +self+ is an array of arrays and transposes the rows and
- * columns.
- *
+ * array.transpose -> an_array
+ *
+ * Assumes that <i>self</i> is an array of arrays and transposes the
+ * rows and columns.
+ *
* a = [[1,2], [3,4], [5,6]]
* a.transpose #=> [[1, 3, 5], [2, 4, 6]]
- *
- * If the length of the subarrays don't match, an IndexError is raised.
*/
static VALUE
-rb_ary_transpose(VALUE ary)
+rb_ary_transpose(ary)
+ VALUE ary;
{
long elen = -1, alen, i, j;
VALUE tmp, result = 0;
- alen = RARRAY_LEN(ary);
+ alen = RARRAY(ary)->len;
if (alen == 0) return rb_ary_dup(ary);
for (i=0; i<alen; i++) {
tmp = to_ary(rb_ary_elt(ary, i));
if (elen < 0) { /* first element */
- elen = RARRAY_LEN(tmp);
+ elen = RARRAY(tmp)->len;
result = rb_ary_new2(elen);
for (j=0; j<elen; j++) {
rb_ary_store(result, j, rb_ary_new2(alen));
}
}
- else if (elen != RARRAY_LEN(tmp)) {
- rb_raise(rb_eIndexError, "element size differs (%ld should be %ld)",
- RARRAY_LEN(tmp), elen);
+ else if (elen != RARRAY(tmp)->len) {
+ rb_raise(rb_eIndexError, "element size differs (%d should be %d)",
+ RARRAY(tmp)->len, elen);
}
for (j=0; j<elen; j++) {
rb_ary_store(rb_ary_elt(result, j), i, rb_ary_elt(tmp, j));
@@ -3316,123 +2149,96 @@ rb_ary_transpose(VALUE ary)
/*
* call-seq:
- * ary.replace(other_ary) -> ary
- * ary.initialize_copy(other_ary) -> ary
- *
- * Replaces the contents of +self+ with the contents of +other_ary+,
- * truncating or expanding if necessary.
- *
+ * array.replace(other_array) -> array
+ *
+ * Replaces the contents of <i>self</i> with the contents of
+ * <i>other_array</i>, truncating or expanding if necessary.
+ *
* a = [ "a", "b", "c", "d", "e" ]
* a.replace([ "x", "y", "z" ]) #=> ["x", "y", "z"]
* a #=> ["x", "y", "z"]
*/
-VALUE
-rb_ary_replace(VALUE copy, VALUE orig)
+static VALUE
+rb_ary_replace(copy, orig)
+ VALUE copy, orig;
{
- rb_ary_modify_check(copy);
+ VALUE shared;
+
+ rb_ary_modify(copy);
orig = to_ary(orig);
if (copy == orig) return copy;
+ shared = ary_make_shared(orig);
+ if (RARRAY(copy)->ptr && !FL_TEST(copy, ELTS_SHARED))
+ free(RARRAY(copy)->ptr);
+ RARRAY(copy)->ptr = RARRAY(orig)->ptr;
+ RARRAY(copy)->len = RARRAY(orig)->len;
+ RARRAY(copy)->aux.shared = shared;
+ FL_SET(copy, ELTS_SHARED);
- if (RARRAY_LEN(orig) <= RARRAY_EMBED_LEN_MAX) {
- VALUE shared = 0;
-
- if (ARY_OWNS_HEAP_P(copy)) {
- RARRAY_PTR_USE(copy, ptr, ruby_sized_xfree(ptr, ARY_HEAP_SIZE(copy)));
- }
- else if (ARY_SHARED_P(copy)) {
- shared = ARY_SHARED(copy);
- FL_UNSET_SHARED(copy);
- }
- FL_SET_EMBED(copy);
- ary_memcpy(copy, 0, RARRAY_LEN(orig), RARRAY_CONST_PTR(orig));
- if (shared) {
- rb_ary_decrement_share(shared);
- }
- ARY_SET_LEN(copy, RARRAY_LEN(orig));
- }
- else {
- VALUE shared = ary_make_shared(orig);
- if (ARY_OWNS_HEAP_P(copy)) {
- RARRAY_PTR_USE(copy, ptr, ruby_sized_xfree(ptr, ARY_HEAP_SIZE(copy)));
- }
- else {
- rb_ary_unshare_safe(copy);
- }
- FL_UNSET_EMBED(copy);
- ARY_SET_PTR(copy, RARRAY_CONST_PTR(orig));
- ARY_SET_LEN(copy, RARRAY_LEN(orig));
- rb_ary_set_shared(copy, shared);
- }
return copy;
}
-/*
+/*
* call-seq:
- * ary.clear -> ary
+ * array.clear -> array
*
- * Removes all elements from +self+.
+ * Removes all elements from _self_.
*
* a = [ "a", "b", "c", "d", "e" ]
* a.clear #=> [ ]
*/
VALUE
-rb_ary_clear(VALUE ary)
+rb_ary_clear(ary)
+ VALUE ary;
{
- rb_ary_modify_check(ary);
- ARY_SET_LEN(ary, 0);
- if (ARY_SHARED_P(ary)) {
- if (!ARY_EMBED_P(ary)) {
- rb_ary_unshare(ary);
- FL_SET_EMBED(ary);
- }
- }
- else if (ARY_DEFAULT_SIZE * 2 < ARY_CAPA(ary)) {
- ary_resize_capa(ary, ARY_DEFAULT_SIZE * 2);
+ rb_ary_modify(ary);
+ RARRAY(ary)->len = 0;
+ if (ARY_DEFAULT_SIZE * 2 < RARRAY(ary)->aux.capa) {
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, ARY_DEFAULT_SIZE * 2);
+ RARRAY(ary)->aux.capa = ARY_DEFAULT_SIZE * 2;
}
return ary;
}
/*
* call-seq:
- * ary.fill(obj) -> ary
- * ary.fill(obj, start [, length]) -> ary
- * ary.fill(obj, range ) -> ary
- * ary.fill { |index| block } -> ary
- * ary.fill(start [, length] ) { |index| block } -> ary
- * ary.fill(range) { |index| block } -> ary
- *
- * The first three forms set the selected elements of +self+ (which
- * may be the entire array) to +obj+.
- *
- * A +start+ of +nil+ is equivalent to zero.
- *
- * A +length+ of +nil+ is equivalent to the length of the array.
- *
- * The last three forms fill the array with the value of the given block,
- * which is passed the absolute index of each element to be filled.
- *
- * Negative values of +start+ count from the end of the array, where +-1+ is
- * the last element.
- *
+ * array.fill(obj) -> array
+ * array.fill(obj, start [, length]) -> array
+ * array.fill(obj, range ) -> array
+ * array.fill {|index| block } -> array
+ * array.fill(start [, length] ) {|index| block } -> array
+ * array.fill(range) {|index| block } -> array
+ *
+ * The first three forms set the selected elements of <i>self</i> (which
+ * may be the entire array) to <i>obj</i>. A <i>start</i> of
+ * <code>nil</code> is equivalent to zero. A <i>length</i> of
+ * <code>nil</code> is equivalent to <i>self.length</i>. The last three
+ * forms fill the array with the value of the block. The block is
+ * passed the absolute index of each element to be filled.
+ *
* a = [ "a", "b", "c", "d" ]
* a.fill("x") #=> ["x", "x", "x", "x"]
* a.fill("z", 2, 2) #=> ["x", "x", "z", "z"]
* a.fill("y", 0..1) #=> ["y", "y", "z", "z"]
- * a.fill { |i| i*i } #=> [0, 1, 4, 9]
- * a.fill(-2) { |i| i*i*i } #=> [0, 1, 8, 27]
+ * a.fill {|i| i*i} #=> [0, 1, 4, 9]
+ * a.fill(-2) {|i| i*i*i} #=> [0, 1, 8, 27]
*/
static VALUE
-rb_ary_fill(int argc, VALUE *argv, VALUE ary)
+rb_ary_fill(argc, argv, ary)
+ int argc;
+ VALUE *argv;
+ VALUE ary;
{
VALUE item, arg1, arg2;
long beg = 0, end = 0, len = 0;
- int block_p = FALSE;
+ VALUE *p, *pend;
+ int block_p = Qfalse;
if (rb_block_given_p()) {
- block_p = TRUE;
+ block_p = Qtrue;
rb_scan_args(argc, argv, "02", &arg1, &arg2);
argc += 1; /* hackish */
}
@@ -3442,36 +2248,31 @@ rb_ary_fill(int argc, VALUE *argv, VALUE ary)
switch (argc) {
case 1:
beg = 0;
- len = RARRAY_LEN(ary);
+ len = RARRAY(ary)->len;
break;
case 2:
- if (rb_range_beg_len(arg1, &beg, &len, RARRAY_LEN(ary), 1)) {
+ if (rb_range_beg_len(arg1, &beg, &len, RARRAY(ary)->len, 1)) {
break;
}
/* fall through */
case 3:
beg = NIL_P(arg1) ? 0 : NUM2LONG(arg1);
if (beg < 0) {
- beg = RARRAY_LEN(ary) + beg;
+ beg = RARRAY(ary)->len + beg;
if (beg < 0) beg = 0;
}
- len = NIL_P(arg2) ? RARRAY_LEN(ary) - beg : NUM2LONG(arg2);
+ len = NIL_P(arg2) ? RARRAY(ary)->len - beg : NUM2LONG(arg2);
break;
}
rb_ary_modify(ary);
- if (len < 0) {
- return ary;
- }
- if (beg >= ARY_MAX_SIZE || len > ARY_MAX_SIZE - beg) {
- rb_raise(rb_eArgError, "argument too big");
- }
end = beg + len;
- if (RARRAY_LEN(ary) < end) {
- if (end >= ARY_CAPA(ary)) {
- ary_resize_capa(ary, end);
+ if (end > RARRAY(ary)->len) {
+ if (end >= RARRAY(ary)->aux.capa) {
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, end);
+ RARRAY(ary)->aux.capa = end;
}
- ary_mem_clear(ary, RARRAY_LEN(ary), end - RARRAY_LEN(ary));
- ARY_SET_LEN(ary, end);
+ rb_mem_clear(RARRAY(ary)->ptr + RARRAY(ary)->len, end - RARRAY(ary)->len);
+ RARRAY(ary)->len = end;
}
if (block_p) {
@@ -3480,86 +2281,76 @@ rb_ary_fill(int argc, VALUE *argv, VALUE ary)
for (i=beg; i<end; i++) {
v = rb_yield(LONG2NUM(i));
- if (i>=RARRAY_LEN(ary)) break;
- RARRAY_ASET(ary, i, v);
+ if (i>=RARRAY(ary)->len) break;
+ RARRAY(ary)->ptr[i] = v;
}
}
else {
- ary_memfill(ary, beg, len, item);
+ p = RARRAY(ary)->ptr + beg;
+ pend = p + len;
+ while (p < pend) {
+ *p++ = item;
+ }
}
return ary;
}
-/*
+/*
* call-seq:
- * ary + other_ary -> new_ary
+ * array + other_array -> an_array
*
- * Concatenation --- Returns a new array built by concatenating the
+ * Concatenation---Returns a new array built by concatenating the
* two arrays together to produce a third array.
- *
+ *
* [ 1, 2, 3 ] + [ 4, 5 ] #=> [ 1, 2, 3, 4, 5 ]
- * a = [ "a", "b", "c" ]
- * c = a + [ "d", "e", "f" ]
- * c #=> [ "a", "b", "c", "d", "e", "f" ]
- * a #=> [ "a", "b", "c" ]
- *
- * See also Array#concat.
*/
VALUE
-rb_ary_plus(VALUE x, VALUE y)
+rb_ary_plus(x, y)
+ VALUE x, y;
{
VALUE z;
- long len, xlen, ylen;
+ long len;
y = to_ary(y);
- xlen = RARRAY_LEN(x);
- ylen = RARRAY_LEN(y);
- len = xlen + ylen;
+ len = RARRAY(x)->len + RARRAY(y)->len;
z = rb_ary_new2(len);
-
- ary_memcpy(z, 0, xlen, RARRAY_CONST_PTR(x));
- ary_memcpy(z, xlen, ylen, RARRAY_CONST_PTR(y));
- ARY_SET_LEN(z, len);
+ MEMCPY(RARRAY(z)->ptr, RARRAY(x)->ptr, VALUE, RARRAY(x)->len);
+ MEMCPY(RARRAY(z)->ptr + RARRAY(x)->len, RARRAY(y)->ptr, VALUE, RARRAY(y)->len);
+ RARRAY(z)->len = len;
return z;
}
-/*
+/*
* call-seq:
- * ary.concat(other_ary) -> ary
- *
- * Appends the elements of +other_ary+ to +self+.
+ * array.concat(other_array) -> array
*
+ * Appends the elements in other_array to _self_.
+ *
* [ "a", "b" ].concat( ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
- * a = [ 1, 2, 3 ]
- * a.concat( [ 4, 5 ] )
- * a #=> [ 1, 2, 3, 4, 5 ]
- *
- * See also Array#+.
*/
+
VALUE
-rb_ary_concat(VALUE x, VALUE y)
+rb_ary_concat(x, y)
+ VALUE x, y;
{
- rb_ary_modify_check(x);
y = to_ary(y);
- if (RARRAY_LEN(y) > 0) {
- rb_ary_splice(x, RARRAY_LEN(x), 0, y);
+ if (RARRAY(y)->len > 0) {
+ rb_ary_splice(x, RARRAY(x)->len, 0, y);
}
return x;
}
-/*
+/*
* call-seq:
- * ary * int -> new_ary
- * ary * str -> new_string
+ * array * int -> an_array
+ * array * str -> a_string
*
- * Repetition --- With a String argument, equivalent to
- * <code>ary.join(str)</code>.
- *
- * Otherwise, returns a new array built by concatenating the +int+ copies of
- * +self+.
+ * Repetition---With a String argument, equivalent to
+ * self.join(str). Otherwise, returns a new array
+ * built by concatenating the _int_ copies of _self_.
*
*
* [ 1, 2, 3 ] * 3 #=> [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ]
@@ -3568,11 +2359,11 @@ rb_ary_concat(VALUE x, VALUE y)
*/
static VALUE
-rb_ary_times(VALUE ary, VALUE times)
+rb_ary_times(ary, times)
+ VALUE ary, times;
{
VALUE ary2, tmp;
- const VALUE *ptr;
- long t, len;
+ long i, len;
tmp = rb_check_string_type(times);
if (!NIL_P(tmp)) {
@@ -3580,50 +2371,37 @@ rb_ary_times(VALUE ary, VALUE times)
}
len = NUM2LONG(times);
- if (len == 0) {
- ary2 = ary_new(rb_obj_class(ary), 0);
- goto out;
- }
+ if (len == 0) return ary_new(rb_obj_class(ary), 0);
if (len < 0) {
rb_raise(rb_eArgError, "negative argument");
}
- if (ARY_MAX_SIZE/len < RARRAY_LEN(ary)) {
+ if (LONG_MAX/len < RARRAY(ary)->len) {
rb_raise(rb_eArgError, "argument too big");
}
- len *= RARRAY_LEN(ary);
+ len *= RARRAY(ary)->len;
ary2 = ary_new(rb_obj_class(ary), len);
- ARY_SET_LEN(ary2, len);
-
- ptr = RARRAY_CONST_PTR(ary);
- t = RARRAY_LEN(ary);
- if (0 < t) {
- ary_memcpy(ary2, 0, t, ptr);
- while (t <= len/2) {
- ary_memcpy(ary2, t, t, RARRAY_CONST_PTR(ary2));
- t *= 2;
- }
- if (t < len) {
- ary_memcpy(ary2, t, len-t, RARRAY_CONST_PTR(ary2));
- }
- }
- out:
+ RARRAY(ary2)->len = len;
+
+ for (i=0; i<len; i+=RARRAY(ary)->len) {
+ MEMCPY(RARRAY(ary2)->ptr+i, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
+ }
OBJ_INFECT(ary2, ary);
return ary2;
}
-/*
+/*
* call-seq:
- * ary.assoc(obj) -> new_ary or nil
+ * array.assoc(obj) -> an_array or nil
*
- * Searches through an array whose elements are also arrays comparing +obj+
- * with the first element of each contained array using <code>obj.==</code>.
- *
- * Returns the first contained array that matches (that is, the first
- * associated array), or +nil+ if no match is found.
- *
- * See also Array#rassoc
+ * Searches through an array whose elements are also arrays
+ * comparing _obj_ with the first element of each contained array
+ * using obj.==.
+ * Returns the first contained array that matches (that
+ * is, the first associated array),
+ * or +nil+ if no match is found.
+ * See also <code>Array#rassoc</code>.
*
* s1 = [ "colors", "red", "blue", "green" ]
* s2 = [ "letters", "a", "b", "c" ]
@@ -3634,15 +2412,17 @@ rb_ary_times(VALUE ary, VALUE times)
*/
VALUE
-rb_ary_assoc(VALUE ary, VALUE key)
+rb_ary_assoc(ary, key)
+ VALUE ary, key;
{
long i;
VALUE v;
- for (i = 0; i < RARRAY_LEN(ary); ++i) {
- v = rb_check_array_type(RARRAY_AREF(ary, i));
- if (!NIL_P(v) && RARRAY_LEN(v) > 0 &&
- rb_equal(RARRAY_AREF(v, 0), key))
+ for (i = 0; i < RARRAY(ary)->len; ++i) {
+ v = RARRAY(ary)->ptr[i];
+ if (TYPE(v) == T_ARRAY &&
+ RARRAY(v)->len > 0 &&
+ rb_equal(RARRAY(v)->ptr[0], key))
return v;
}
return Qnil;
@@ -3650,78 +2430,42 @@ rb_ary_assoc(VALUE ary, VALUE key)
/*
* call-seq:
- * ary.rassoc(obj) -> new_ary or nil
- *
- * Searches through the array whose elements are also arrays.
- *
- * Compares +obj+ with the second element of each contained array using
- * <code>obj.==</code>.
- *
- * Returns the first contained array that matches +obj+.
- *
- * See also Array#assoc.
- *
+ * array.rassoc(key) -> an_array or nil
+ *
+ * Searches through the array whose elements are also arrays. Compares
+ * <em>key</em> with the second element of each contained array using
+ * <code>==</code>. Returns the first contained array that matches. See
+ * also <code>Array#assoc</code>.
+ *
* a = [ [ 1, "one"], [2, "two"], [3, "three"], ["ii", "two"] ]
* a.rassoc("two") #=> [2, "two"]
* a.rassoc("four") #=> nil
*/
VALUE
-rb_ary_rassoc(VALUE ary, VALUE value)
+rb_ary_rassoc(ary, value)
+ VALUE ary, value;
{
long i;
VALUE v;
- for (i = 0; i < RARRAY_LEN(ary); ++i) {
- v = RARRAY_AREF(ary, i);
- if (RB_TYPE_P(v, T_ARRAY) &&
- RARRAY_LEN(v) > 1 &&
- rb_equal(RARRAY_AREF(v, 1), value))
+ for (i = 0; i < RARRAY(ary)->len; ++i) {
+ v = RARRAY(ary)->ptr[i];
+ if (TYPE(v) == T_ARRAY &&
+ RARRAY(v)->len > 1 &&
+ rb_equal(RARRAY(v)->ptr[1], value))
return v;
}
return Qnil;
}
-static VALUE
-recursive_equal(VALUE ary1, VALUE ary2, int recur)
-{
- long i, len1;
- const VALUE *p1, *p2;
-
- if (recur) return Qtrue; /* Subtle! */
-
- p1 = RARRAY_CONST_PTR(ary1);
- p2 = RARRAY_CONST_PTR(ary2);
- len1 = RARRAY_LEN(ary1);
-
- for (i = 0; i < len1; i++) {
- if (*p1 != *p2) {
- if (rb_equal(*p1, *p2)) {
- len1 = RARRAY_LEN(ary1);
- if (len1 != RARRAY_LEN(ary2))
- return Qfalse;
- if (len1 < i)
- return Qtrue;
- p1 = RARRAY_CONST_PTR(ary1) + i;
- p2 = RARRAY_CONST_PTR(ary2) + i;
- }
- else {
- return Qfalse;
- }
- }
- p1++;
- p2++;
- }
- return Qtrue;
-}
-
-/*
+/*
* call-seq:
- * ary == other_ary -> bool
+ * array == other_array -> bool
*
- * Equality --- Two arrays are equal if they contain the same number of
- * elements and if each element is equal to (according to Object#==) the
- * corresponding element in +other_ary+.
+ * Equality---Two arrays are equal if they contain the same number
+ * of elements and if each element is equal to (according to
+ * Object.==) the corresponding element in the other array.
*
* [ "a", "c" ] == [ "a", "c", 7 ] #=> false
* [ "a", "c", 7 ] == [ "a", "c", 7 ] #=> true
@@ -3730,28 +2474,21 @@ recursive_equal(VALUE ary1, VALUE ary2, int recur)
*/
static VALUE
-rb_ary_equal(VALUE ary1, VALUE ary2)
+rb_ary_equal(ary1, ary2)
+ VALUE ary1, ary2;
{
+ long i;
+
if (ary1 == ary2) return Qtrue;
- if (!RB_TYPE_P(ary2, T_ARRAY)) {
+ if (TYPE(ary2) != T_ARRAY) {
if (!rb_respond_to(ary2, rb_intern("to_ary"))) {
return Qfalse;
}
return rb_equal(ary2, ary1);
}
- if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return Qfalse;
- if (RARRAY_CONST_PTR(ary1) == RARRAY_CONST_PTR(ary2)) return Qtrue;
- return rb_exec_recursive_paired(recursive_equal, ary1, ary2, ary2);
-}
-
-static VALUE
-recursive_eql(VALUE ary1, VALUE ary2, int recur)
-{
- long i;
-
- if (recur) return Qtrue; /* Subtle! */
- for (i=0; i<RARRAY_LEN(ary1); i++) {
- if (!rb_eql(rb_ary_elt(ary1, i), rb_ary_elt(ary2, i)))
+ if (RARRAY(ary1)->len != RARRAY(ary2)->len) return Qfalse;
+ for (i=0; i<RARRAY(ary1)->len; i++) {
+ if (!rb_equal(rb_ary_elt(ary1, i), rb_ary_elt(ary2, i)))
return Qfalse;
}
return Qtrue;
@@ -3759,68 +2496,74 @@ recursive_eql(VALUE ary1, VALUE ary2, int recur)
/*
* call-seq:
- * ary.eql?(other) -> true or false
+ * array.eql?(other) -> true or false
*
- * Returns +true+ if +self+ and +other+ are the same object,
- * or are both arrays with the same content (according to Object#eql?).
+ * Returns <code>true</code> if _array_ and _other_ are the same object,
+ * or are both arrays with the same content.
*/
static VALUE
-rb_ary_eql(VALUE ary1, VALUE ary2)
+rb_ary_eql(ary1, ary2)
+ VALUE ary1, ary2;
{
+ long i;
+
if (ary1 == ary2) return Qtrue;
- if (!RB_TYPE_P(ary2, T_ARRAY)) return Qfalse;
- if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return Qfalse;
- if (RARRAY_CONST_PTR(ary1) == RARRAY_CONST_PTR(ary2)) return Qtrue;
- return rb_exec_recursive_paired(recursive_eql, ary1, ary2, ary2);
+ if (TYPE(ary2) != T_ARRAY) return Qfalse;
+ if (RARRAY(ary1)->len != RARRAY(ary2)->len) return Qfalse;
+ for (i=0; i<RARRAY(ary1)->len; i++) {
+ if (!rb_eql(rb_ary_elt(ary1, i), rb_ary_elt(ary2, i)))
+ return Qfalse;
+ }
+ return Qtrue;
}
/*
* call-seq:
- * ary.hash -> fixnum
+ * array.hash -> fixnum
*
- * Compute a hash-code for this array.
- *
- * Two arrays with the same content will have the same hash code (and will
- * compare using #eql?).
+ * Compute a hash-code for this array. Two arrays with the same content
+ * will have the same hash code (and will compare using <code>eql?</code>).
*/
static VALUE
-rb_ary_hash(VALUE ary)
+rb_ary_hash(ary)
+ VALUE ary;
{
- long i;
- st_index_t h;
+ long i, h;
VALUE n;
- h = rb_hash_start(RARRAY_LEN(ary));
- h = rb_hash_uint(h, (st_index_t)rb_ary_hash);
- for (i=0; i<RARRAY_LEN(ary); i++) {
- n = rb_hash(RARRAY_AREF(ary, i));
- h = rb_hash_uint(h, NUM2LONG(n));
+ h = RARRAY(ary)->len;
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ h = (h << 1) | (h<0 ? 1 : 0);
+ n = rb_hash(RARRAY(ary)->ptr[i]);
+ h ^= NUM2LONG(n);
}
- h = rb_hash_end(h);
return LONG2FIX(h);
}
/*
* call-seq:
- * ary.include?(object) -> true or false
- *
- * Returns +true+ if the given +object+ is present in +self+ (that is, if any
- * element <code>==</code> +object+), otherwise returns +false+.
- *
+ * array.include?(obj) -> true or false
+ *
+ * Returns <code>true</code> if the given object is present in
+ * <i>self</i> (that is, if any object <code>==</code> <i>anObject</i>),
+ * <code>false</code> otherwise.
+ *
* a = [ "a", "b", "c" ]
* a.include?("b") #=> true
* a.include?("z") #=> false
*/
VALUE
-rb_ary_includes(VALUE ary, VALUE item)
+rb_ary_includes(ary, item)
+ VALUE ary;
+ VALUE item;
{
long i;
-
- for (i=0; i<RARRAY_LEN(ary); i++) {
- if (rb_equal(RARRAY_AREF(ary, i), item)) {
+
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ if (rb_equal(RARRAY(ary)->ptr[i], item)) {
return Qtrue;
}
}
@@ -3828,400 +2571,271 @@ rb_ary_includes(VALUE ary, VALUE item)
}
-static VALUE
-recursive_cmp(VALUE ary1, VALUE ary2, int recur)
-{
- long i, len;
-
- if (recur) return Qundef; /* Subtle! */
- len = RARRAY_LEN(ary1);
- if (len > RARRAY_LEN(ary2)) {
- len = RARRAY_LEN(ary2);
- }
- for (i=0; i<len; i++) {
- VALUE e1 = rb_ary_elt(ary1, i), e2 = rb_ary_elt(ary2, i);
- VALUE v = rb_funcallv(e1, id_cmp, 1, &e2);
- if (v != INT2FIX(0)) {
- return v;
- }
- }
- return Qundef;
-}
-
-/*
+/*
* call-seq:
- * ary <=> other_ary -> -1, 0, +1 or nil
- *
- * Comparison --- Returns an integer (+-1+, +0+, or <code>+1</code>) if this
- * array is less than, equal to, or greater than +other_ary+.
- *
- * +nil+ is returned if the two values are incomparable.
- *
- * Each object in each array is compared (using the <=> operator).
- *
- * Arrays are compared in an "element-wise" manner; the first two elements
- * that are not equal will determine the return value for the whole
- * comparison.
- *
- * If all the values are equal, then the return is based on a comparison of
- * the array lengths. Thus, two arrays are "equal" according to Array#<=> if,
- * and only if, they have the same length and the value of each element is
- * equal to the value of the corresponding element in the other array.
+ * array <=> other_array -> -1, 0, +1
*
+ * Comparison---Returns an integer (-1, 0,
+ * or +1) if this array is less than, equal to, or greater than
+ * other_array. Each object in each array is compared
+ * (using <=>). If any value isn't
+ * equal, then that inequality is the return value. If all the
+ * values found are equal, then the return is based on a
+ * comparison of the array lengths. Thus, two arrays are
+ * ``equal'' according to <code>Array#<=></code> if and only if they have
+ * the same length and the value of each element is equal to the
+ * value of the corresponding element in the other array.
+ *
* [ "a", "a", "c" ] <=> [ "a", "b", "c" ] #=> -1
* [ 1, 2, 3, 4, 5, 6 ] <=> [ 1, 2 ] #=> +1
*
*/
VALUE
-rb_ary_cmp(VALUE ary1, VALUE ary2)
+rb_ary_cmp(ary1, ary2)
+ VALUE ary1, ary2;
{
- long len;
- VALUE v;
+ long i, len;
- ary2 = rb_check_array_type(ary2);
- if (NIL_P(ary2)) return Qnil;
- if (ary1 == ary2) return INT2FIX(0);
- v = rb_exec_recursive_paired(recursive_cmp, ary1, ary2, ary2);
- if (v != Qundef) return v;
- len = RARRAY_LEN(ary1) - RARRAY_LEN(ary2);
+ ary2 = to_ary(ary2);
+ len = RARRAY(ary1)->len;
+ if (len > RARRAY(ary2)->len) {
+ len = RARRAY(ary2)->len;
+ }
+ for (i=0; i<len; i++) {
+ VALUE v = rb_funcall(rb_ary_elt(ary1, i), id_cmp, 1, rb_ary_elt(ary2, i));
+ if (v != INT2FIX(0)) {
+ return v;
+ }
+ }
+ len = RARRAY(ary1)->len - RARRAY(ary2)->len;
if (len == 0) return INT2FIX(0);
if (len > 0) return INT2FIX(1);
return INT2FIX(-1);
}
static VALUE
-ary_add_hash(VALUE hash, VALUE ary)
-{
- long i;
-
- for (i=0; i<RARRAY_LEN(ary); i++) {
- VALUE elt = RARRAY_AREF(ary, i);
- if (rb_hash_lookup2(hash, elt, Qundef) == Qundef) {
- rb_hash_aset(hash, elt, elt);
- }
- }
- return hash;
-}
-
-static inline VALUE
-ary_tmp_hash_new(void)
+ary_make_hash(ary1, ary2)
+ VALUE ary1, ary2;
{
VALUE hash = rb_hash_new();
-
- RBASIC_CLEAR_CLASS(hash);
- return hash;
-}
-
-static VALUE
-ary_make_hash(VALUE ary)
-{
- VALUE hash = ary_tmp_hash_new();
- return ary_add_hash(hash, ary);
-}
-
-static VALUE
-ary_add_hash_by(VALUE hash, VALUE ary)
-{
long i;
- for (i = 0; i < RARRAY_LEN(ary); ++i) {
- VALUE v = rb_ary_elt(ary, i), k = rb_yield(v);
- if (rb_hash_lookup2(hash, k, Qundef) == Qundef) {
- rb_hash_aset(hash, k, v);
+ for (i=0; i<RARRAY(ary1)->len; i++) {
+ rb_hash_aset(hash, RARRAY(ary1)->ptr[i], Qtrue);
+ }
+ if (ary2) {
+ for (i=0; i<RARRAY(ary2)->len; i++) {
+ rb_hash_aset(hash, RARRAY(ary2)->ptr[i], Qtrue);
}
}
return hash;
}
-static VALUE
-ary_make_hash_by(VALUE ary)
-{
- VALUE hash = ary_tmp_hash_new();
- return ary_add_hash_by(hash, ary);
-}
-
-static inline void
-ary_recycle_hash(VALUE hash)
-{
- if (RHASH(hash)->ntbl) {
- st_table *tbl = RHASH(hash)->ntbl;
- RHASH(hash)->ntbl = 0;
- st_free_table(tbl);
- }
- RB_GC_GUARD(hash);
-}
-
-/*
+/*
* call-seq:
- * ary - other_ary -> new_ary
- *
- * Array Difference
+ * array - other_array -> an_array
*
- * Returns a new array that is a copy of the original array, removing any
- * items that also appear in +other_ary+. The order is preserved from the
- * original array.
- *
- * It compares elements using their #hash and #eql? methods for efficiency.
+ * Array Difference---Returns a new array that is a copy of
+ * the original array, removing any items that also appear in
+ * other_array. (If you need set-like behavior, see the
+ * library class Set.)
*
* [ 1, 1, 2, 2, 3, 3, 4, 5 ] - [ 1, 2, 4 ] #=> [ 3, 3, 5 ]
- *
- * If you need set-like behavior, see the library class Set.
*/
static VALUE
-rb_ary_diff(VALUE ary1, VALUE ary2)
+rb_ary_diff(ary1, ary2)
+ VALUE ary1, ary2;
{
VALUE ary3;
- VALUE hash;
+ volatile VALUE hash;
long i;
- hash = ary_make_hash(to_ary(ary2));
+ hash = ary_make_hash(to_ary(ary2), 0);
ary3 = rb_ary_new();
- for (i=0; i<RARRAY_LEN(ary1); i++) {
- if (st_lookup(rb_hash_tbl_raw(hash), RARRAY_AREF(ary1, i), 0)) continue;
+ for (i=0; i<RARRAY(ary1)->len; i++) {
+ if (st_lookup(RHASH(hash)->tbl, RARRAY(ary1)->ptr[i], 0)) continue;
rb_ary_push(ary3, rb_ary_elt(ary1, i));
}
- ary_recycle_hash(hash);
return ary3;
}
-/*
+/*
* call-seq:
- * ary & other_ary -> new_ary
+ * array & other_array
*
- * Set Intersection --- Returns a new array containing elements common to the
- * two arrays, excluding any duplicates. The order is preserved from the
- * original array.
+ * Set Intersection---Returns a new array
+ * containing elements common to the two arrays, with no duplicates.
*
- * It compares elements using their #hash and #eql? methods for efficiency.
- *
- * [ 1, 1, 3, 5 ] & [ 1, 2, 3 ] #=> [ 1, 3 ]
- * [ 'a', 'b', 'b', 'z' ] & [ 'a', 'b', 'c' ] #=> [ 'a', 'b' ]
- *
- * See also Array#uniq.
+ * [ 1, 1, 3, 5 ] & [ 1, 2, 3 ] #=> [ 1, 3 ]
*/
static VALUE
-rb_ary_and(VALUE ary1, VALUE ary2)
+rb_ary_and(ary1, ary2)
+ VALUE ary1, ary2;
{
- VALUE hash, ary3, v;
- st_table *table;
- st_data_t vv;
+ VALUE hash, ary3, v, vv;
long i;
ary2 = to_ary(ary2);
- ary3 = rb_ary_new();
- if (RARRAY_LEN(ary2) == 0) return ary3;
- hash = ary_make_hash(ary2);
- table = rb_hash_tbl_raw(hash);
-
- for (i=0; i<RARRAY_LEN(ary1); i++) {
- v = RARRAY_AREF(ary1, i);
- vv = (st_data_t)v;
- if (st_delete(table, &vv, 0)) {
+ ary3 = rb_ary_new2(RARRAY(ary1)->len < RARRAY(ary2)->len ?
+ RARRAY(ary1)->len : RARRAY(ary2)->len);
+ hash = ary_make_hash(ary2, 0);
+
+ for (i=0; i<RARRAY(ary1)->len; i++) {
+ v = vv = rb_ary_elt(ary1, i);
+ if (st_delete(RHASH(hash)->tbl, (st_data_t*)&vv, 0)) {
rb_ary_push(ary3, v);
}
}
- ary_recycle_hash(hash);
return ary3;
}
-static int
-ary_hash_orset(st_data_t *key, st_data_t *value, st_data_t arg, int existing)
-{
- if (existing) return ST_STOP;
- *key = *value = (VALUE)arg;
- return ST_CONTINUE;
-}
-
-/*
+/*
* call-seq:
- * ary | other_ary -> new_ary
- *
- * Set Union --- Returns a new array by joining +ary+ with +other_ary+,
- * excluding any duplicates and preserving the order from the original array.
+ * array | other_array -> an_array
*
- * It compares elements using their #hash and #eql? methods for efficiency.
+ * Set Union---Returns a new array by joining this array with
+ * other_array, removing duplicates.
*
- * [ "a", "b", "c" ] | [ "c", "d", "a" ] #=> [ "a", "b", "c", "d" ]
- *
- * See also Array#uniq.
+ * [ "a", "b", "c" ] | [ "c", "d", "a" ]
+ * #=> [ "a", "b", "c", "d" ]
*/
static VALUE
-rb_ary_or(VALUE ary1, VALUE ary2)
+rb_ary_or(ary1, ary2)
+ VALUE ary1, ary2;
{
VALUE hash, ary3;
+ VALUE v, vv;
long i;
ary2 = to_ary(ary2);
- hash = ary_make_hash(ary1);
+ ary3 = rb_ary_new2(RARRAY(ary1)->len+RARRAY(ary2)->len);
+ hash = ary_make_hash(ary1, ary2);
- for (i=0; i<RARRAY_LEN(ary2); i++) {
- VALUE elt = RARRAY_AREF(ary2, i);
- if (!st_update(RHASH_TBL_RAW(hash), (st_data_t)elt, ary_hash_orset, (st_data_t)elt)) {
- RB_OBJ_WRITTEN(hash, Qundef, elt);
+ for (i=0; i<RARRAY(ary1)->len; i++) {
+ v = vv = rb_ary_elt(ary1, i);
+ if (st_delete(RHASH(hash)->tbl, (st_data_t*)&vv, 0)) {
+ rb_ary_push(ary3, v);
+ }
+ }
+ for (i=0; i<RARRAY(ary2)->len; i++) {
+ v = vv = rb_ary_elt(ary2, i);
+ if (st_delete(RHASH(hash)->tbl, (st_data_t*)&vv, 0)) {
+ rb_ary_push(ary3, v);
}
}
- ary3 = rb_hash_values(hash);
- ary_recycle_hash(hash);
return ary3;
}
-static int
-push_value(st_data_t key, st_data_t val, st_data_t ary)
-{
- rb_ary_push((VALUE)ary, (VALUE)val);
- return ST_CONTINUE;
-}
-
/*
* call-seq:
- * ary.uniq! -> ary or nil
- * ary.uniq! { |item| ... } -> ary or nil
- *
- * Removes duplicate elements from +self+.
- *
- * If a block is given, it will use the return value of the block for
- * comparison.
- *
- * It compares values using their #hash and #eql? methods for efficiency.
- *
- * Returns +nil+ if no changes are made (that is, no duplicates are found).
- *
+ * array.uniq! -> array or nil
+ *
+ * Removes duplicate elements from _self_.
+ * Returns <code>nil</code> if no changes are made (that is, no
+ * duplicates are found).
+ *
* a = [ "a", "a", "b", "b", "c" ]
- * a.uniq! # => ["a", "b", "c"]
- *
+ * a.uniq! #=> ["a", "b", "c"]
* b = [ "a", "b", "c" ]
- * b.uniq! # => nil
- *
- * c = [["student","sam"], ["student","george"], ["teacher","matz"]]
- * c.uniq! { |s| s.first } # => [["student", "sam"], ["teacher", "matz"]]
- *
+ * b.uniq! #=> nil
*/
static VALUE
-rb_ary_uniq_bang(VALUE ary)
+rb_ary_uniq_bang(ary)
+ VALUE ary;
{
- VALUE hash;
- long hash_size;
+ VALUE hash, v, vv;
+ long i, j;
- rb_ary_modify_check(ary);
- if (RARRAY_LEN(ary) <= 1)
- return Qnil;
- if (rb_block_given_p())
- hash = ary_make_hash_by(ary);
- else
- hash = ary_make_hash(ary);
-
- hash_size = RHASH_SIZE(hash);
- if (RARRAY_LEN(ary) == hash_size) {
+ hash = ary_make_hash(ary, 0);
+
+ if (RARRAY(ary)->len == RHASH(hash)->tbl->num_entries) {
return Qnil;
}
- rb_ary_modify_check(ary);
- ARY_SET_LEN(ary, 0);
- if (ARY_SHARED_P(ary) && !ARY_EMBED_P(ary)) {
- rb_ary_unshare(ary);
- FL_SET_EMBED(ary);
+ for (i=j=0; i<RARRAY(ary)->len; i++) {
+ v = vv = rb_ary_elt(ary, i);
+ if (st_delete(RHASH(hash)->tbl, (st_data_t*)&vv, 0)) {
+ rb_ary_store(ary, j++, v);
+ }
}
- ary_resize_capa(ary, hash_size);
- st_foreach(rb_hash_tbl_raw(hash), push_value, ary);
- ary_recycle_hash(hash);
+ RARRAY(ary)->len = j;
return ary;
}
/*
* call-seq:
- * ary.uniq -> new_ary
- * ary.uniq { |item| ... } -> new_ary
- *
- * Returns a new array by removing duplicate values in +self+.
- *
- * If a block is given, it will use the return value of the block for comparison.
- *
- * It compares values using their #hash and #eql? methods for efficiency.
- *
+ * array.uniq -> an_array
+ *
+ * Returns a new array by removing duplicate values in <i>self</i>.
+ *
* a = [ "a", "a", "b", "b", "c" ]
- * a.uniq # => ["a", "b", "c"]
- *
- * b = [["student","sam"], ["student","george"], ["teacher","matz"]]
- * b.uniq { |s| s.first } # => [["student", "sam"], ["teacher", "matz"]]
- *
+ * a.uniq #=> ["a", "b", "c"]
*/
static VALUE
-rb_ary_uniq(VALUE ary)
+rb_ary_uniq(ary)
+ VALUE ary;
{
- VALUE hash, uniq;
-
- if (RARRAY_LEN(ary) <= 1)
- return rb_ary_dup(ary);
- if (rb_block_given_p()) {
- hash = ary_make_hash_by(ary);
- uniq = rb_hash_values(hash);
- }
- else {
- hash = ary_make_hash(ary);
- uniq = rb_hash_values(hash);
- }
- RBASIC_SET_CLASS(uniq, rb_obj_class(ary));
- ary_recycle_hash(hash);
-
- return uniq;
+ ary = rb_ary_dup(ary);
+ rb_ary_uniq_bang(ary);
+ return ary;
}
-/*
+/*
* call-seq:
- * ary.compact! -> ary or nil
- *
- * Removes +nil+ elements from the array.
+ * array.compact! -> array or nil
*
- * Returns +nil+ if no changes were made, otherwise returns the array.
+ * Removes +nil+ elements from array.
+ * Returns +nil+ if no changes were made.
*
* [ "a", nil, "b", nil, "c" ].compact! #=> [ "a", "b", "c" ]
* [ "a", "b", "c" ].compact! #=> nil
*/
static VALUE
-rb_ary_compact_bang(VALUE ary)
+rb_ary_compact_bang(ary)
+ VALUE ary;
{
VALUE *p, *t, *end;
- long n;
rb_ary_modify(ary);
- p = t = (VALUE *)RARRAY_CONST_PTR(ary); /* WB: no new reference */
- end = p + RARRAY_LEN(ary);
-
+ p = t = RARRAY(ary)->ptr;
+ end = p + RARRAY(ary)->len;
+
while (t < end) {
if (NIL_P(*t)) t++;
else *p++ = *t++;
}
- n = p - RARRAY_CONST_PTR(ary);
- if (RARRAY_LEN(ary) == n) {
+ if (RARRAY(ary)->len == (p - RARRAY(ary)->ptr)) {
return Qnil;
}
- ary_resize_smaller(ary, n);
+ RARRAY(ary)->len = RARRAY(ary)->aux.capa = (p - RARRAY(ary)->ptr);
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
return ary;
}
/*
* call-seq:
- * ary.compact -> new_ary
+ * array.compact -> an_array
*
- * Returns a copy of +self+ with all +nil+ elements removed.
+ * Returns a copy of _self_ with all +nil+ elements removed.
*
* [ "a", nil, "b", nil, "c", nil ].compact
* #=> [ "a", "b", "c" ]
*/
static VALUE
-rb_ary_compact(VALUE ary)
+rb_ary_compact(ary)
+ VALUE ary;
{
ary = rb_ary_dup(ary);
rb_ary_compact_bang(ary);
@@ -4230,1373 +2844,147 @@ rb_ary_compact(VALUE ary)
/*
* call-seq:
- * ary.count -> int
- * ary.count(obj) -> int
- * ary.count { |item| block } -> int
- *
- * Returns the number of elements.
- *
- * If an argument is given, counts the number of elements which equal +obj+
- * using <code>==</code>.
- *
- * If a block is given, counts the number of elements for which the block
- * returns a true value.
- *
- * ary = [1, 2, 4, 2]
- * ary.count #=> 4
- * ary.count(2) #=> 2
- * ary.count { |x| x%2 == 0 } #=> 3
- *
+ * array.nitems -> int
+ *
+ * Returns the number of non-<code>nil</code> elements in _self_.
+ * May be zero.
+ *
+ * [ 1, nil, 3, nil, 5 ].nitems #=> 3
*/
static VALUE
-rb_ary_count(int argc, VALUE *argv, VALUE ary)
+rb_ary_nitems(ary)
+ VALUE ary;
{
- long i, n = 0;
-
- if (argc == 0) {
- VALUE v;
+ long n = 0;
+ VALUE *p, *pend;
- if (!rb_block_given_p())
- return LONG2NUM(RARRAY_LEN(ary));
+ p = RARRAY(ary)->ptr;
+ pend = p + RARRAY(ary)->len;
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- v = RARRAY_AREF(ary, i);
- if (RTEST(rb_yield(v))) n++;
- }
- }
- else {
- VALUE obj;
-
- rb_scan_args(argc, argv, "1", &obj);
- if (rb_block_given_p()) {
- rb_warn("given block not used");
- }
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- if (rb_equal(RARRAY_AREF(ary, i), obj)) n++;
- }
+ while (p < pend) {
+ if (!NIL_P(*p)) n++;
+ p++;
}
-
return LONG2NUM(n);
}
-static VALUE
-flatten(VALUE ary, int level, int *modified)
+static long
+flatten(ary, idx, ary2, memo)
+ VALUE ary;
+ long idx;
+ VALUE ary2, memo;
{
- long i = 0;
- VALUE stack, result, tmp, elt;
- st_table *memo;
- st_data_t id;
-
- stack = ary_new(0, ARY_DEFAULT_SIZE);
- result = ary_new(0, RARRAY_LEN(ary));
- memo = st_init_numtable();
- st_insert(memo, (st_data_t)ary, (st_data_t)Qtrue);
- *modified = 0;
-
- while (1) {
- while (i < RARRAY_LEN(ary)) {
- elt = RARRAY_AREF(ary, i++);
- tmp = rb_check_array_type(elt);
- if (RBASIC(result)->klass) {
- rb_raise(rb_eRuntimeError, "flatten reentered");
- }
- if (NIL_P(tmp) || (level >= 0 && RARRAY_LEN(stack) / 2 >= level)) {
- rb_ary_push(result, elt);
- }
- else {
- *modified = 1;
- id = (st_data_t)tmp;
- if (st_lookup(memo, id, 0)) {
- st_free_table(memo);
- rb_raise(rb_eArgError, "tried to flatten recursive array");
- }
- st_insert(memo, id, (st_data_t)Qtrue);
- rb_ary_push(stack, ary);
- rb_ary_push(stack, LONG2NUM(i));
- ary = tmp;
- i = 0;
- }
- }
- if (RARRAY_LEN(stack) == 0) {
- break;
- }
- id = (st_data_t)ary;
- st_delete(memo, &id, 0);
- tmp = rb_ary_pop(stack);
- i = NUM2LONG(tmp);
- ary = rb_ary_pop(stack);
+ VALUE id;
+ long i = idx;
+ long n, lim = idx + RARRAY(ary2)->len;
+
+ id = rb_obj_id(ary2);
+ if (rb_ary_includes(memo, id)) {
+ rb_raise(rb_eArgError, "tried to flatten recursive array");
}
+ rb_ary_push(memo, id);
+ rb_ary_splice(ary, idx, 1, ary2);
+ while (i < lim) {
+ VALUE tmp;
- st_free_table(memo);
+ tmp = rb_check_array_type(rb_ary_elt(ary, i));
+ if (!NIL_P(tmp)) {
+ n = flatten(ary, i, tmp, memo);
+ i += n; lim += n;
+ }
+ i++;
+ }
+ rb_ary_pop(memo);
- RBASIC_SET_CLASS(result, rb_class_of(ary));
- return result;
+ return lim - idx - 1; /* returns number of increased items */
}
/*
* call-seq:
- * ary.flatten! -> ary or nil
- * ary.flatten!(level) -> ary or nil
- *
- * Flattens +self+ in place.
- *
- * Returns +nil+ if no modifications were made (i.e., the array contains no
- * subarrays.)
- *
- * The optional +level+ argument determines the level of recursion to flatten.
- *
+ * array.flatten! -> array or nil
+ *
+ * Flattens _self_ in place.
+ * Returns <code>nil</code> if no modifications were made (i.e.,
+ * <i>array</i> contains no subarrays.)
+ *
* a = [ 1, 2, [3, [4, 5] ] ]
* a.flatten! #=> [1, 2, 3, 4, 5]
* a.flatten! #=> nil
* a #=> [1, 2, 3, 4, 5]
- * a = [ 1, 2, [3, [4, 5] ] ]
- * a.flatten!(1) #=> [1, 2, 3, [4, 5]]
*/
static VALUE
-rb_ary_flatten_bang(int argc, VALUE *argv, VALUE ary)
+rb_ary_flatten_bang(ary)
+ VALUE ary;
{
- int mod = 0, level = -1;
- VALUE result, lv;
+ long i = 0;
+ int mod = 0;
+ VALUE memo = Qnil;
- rb_scan_args(argc, argv, "01", &lv);
- rb_ary_modify_check(ary);
- if (!NIL_P(lv)) level = NUM2INT(lv);
- if (level == 0) return Qnil;
+ while (i<RARRAY(ary)->len) {
+ VALUE ary2 = RARRAY(ary)->ptr[i];
+ VALUE tmp;
- result = flatten(ary, level, &mod);
- if (mod == 0) {
- ary_discard(result);
- return Qnil;
+ tmp = rb_check_array_type(ary2);
+ if (!NIL_P(tmp)) {
+ if (NIL_P(memo)) {
+ memo = rb_ary_new();
+ }
+ i += flatten(ary, i, tmp, memo);
+ mod = 1;
+ }
+ i++;
}
- if (!(mod = ARY_EMBED_P(result))) rb_obj_freeze(result);
- rb_ary_replace(ary, result);
- if (mod) ARY_SET_EMBED_LEN(result, 0);
-
+ if (mod == 0) return Qnil;
return ary;
}
/*
* call-seq:
- * ary.flatten -> new_ary
- * ary.flatten(level) -> new_ary
- *
- * Returns a new array that is a one-dimensional flattening of +self+
- * (recursively).
- *
- * That is, for every element that is an array, extract its elements into
- * the new array.
- *
- * The optional +level+ argument determines the level of recursion to
- * flatten.
- *
+ * array.flatten -> an_array
+ *
+ * Returns a new array that is a one-dimensional flattening of this
+ * array (recursively). That is, for every element that is an array,
+ * extract its elements into the new array.
+ *
* s = [ 1, 2, 3 ] #=> [1, 2, 3]
* t = [ 4, 5, 6, [7, 8] ] #=> [4, 5, 6, [7, 8]]
* a = [ s, t, 9, 10 ] #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
- * a.flatten #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- * a = [ 1, 2, [3, [4, 5] ] ]
- * a.flatten(1) #=> [1, 2, 3, [4, 5]]
- */
-
-static VALUE
-rb_ary_flatten(int argc, VALUE *argv, VALUE ary)
-{
- int mod = 0, level = -1;
- VALUE result, lv;
-
- rb_scan_args(argc, argv, "01", &lv);
- if (!NIL_P(lv)) level = NUM2INT(lv);
- if (level == 0) return ary_make_shared_copy(ary);
-
- result = flatten(ary, level, &mod);
- OBJ_INFECT(result, ary);
-
- return result;
-}
-
-#define OPTHASH_GIVEN_P(opts) \
- (argc > 0 && !NIL_P((opts) = rb_check_hash_type(argv[argc-1])) && (--argc, 1))
-static ID id_random;
-
-#define RAND_UPTO(max) (long)rb_random_ulong_limited((randgen), (max)-1)
-
-/*
- * call-seq:
- * ary.shuffle! -> ary
- * ary.shuffle!(random: rng) -> ary
- *
- * Shuffles elements in +self+ in place.
- *
- * The optional +rng+ argument will be used as the random number generator.
- */
-
-static VALUE
-rb_ary_shuffle_bang(int argc, VALUE *argv, VALUE ary)
-{
- VALUE opts, randgen = rb_cRandom;
- long i, len;
-
- if (OPTHASH_GIVEN_P(opts)) {
- VALUE rnd;
- ID keyword_ids[1];
-
- keyword_ids[0] = id_random;
- rb_get_kwargs(opts, keyword_ids, 0, 1, &rnd);
- if (rnd != Qundef) {
- randgen = rnd;
- }
- }
- rb_check_arity(argc, 0, 0);
- rb_ary_modify(ary);
- i = len = RARRAY_LEN(ary);
- RARRAY_PTR_USE(ary, ptr, {
- while (i) {
- long j = RAND_UPTO(i);
- VALUE tmp;
- if (len != RARRAY_LEN(ary) || ptr != RARRAY_CONST_PTR(ary)) {
- rb_raise(rb_eRuntimeError, "modified during shuffle");
- }
- tmp = ptr[--i];
- ptr[i] = ptr[j];
- ptr[j] = tmp;
- }
- }); /* WB: no new reference */
- return ary;
-}
-
-
-/*
- * call-seq:
- * ary.shuffle -> new_ary
- * ary.shuffle(random: rng) -> new_ary
- *
- * Returns a new array with elements of +self+ shuffled.
- *
- * a = [ 1, 2, 3 ] #=> [1, 2, 3]
- * a.shuffle #=> [2, 3, 1]
- *
- * The optional +rng+ argument will be used as the random number generator.
- *
- * a.shuffle(random: Random.new(1)) #=> [1, 3, 2]
+ * a.flatten #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10
*/
static VALUE
-rb_ary_shuffle(int argc, VALUE *argv, VALUE ary)
+rb_ary_flatten(ary)
+ VALUE ary;
{
ary = rb_ary_dup(ary);
- rb_ary_shuffle_bang(argc, argv, ary);
- return ary;
-}
-
-
-/*
- * call-seq:
- * ary.sample -> obj
- * ary.sample(random: rng) -> obj
- * ary.sample(n) -> new_ary
- * ary.sample(n, random: rng) -> new_ary
- *
- * Choose a random element or +n+ random elements from the array.
- *
- * The elements are chosen by using random and unique indices into the array
- * in order to ensure that an element doesn't repeat itself unless the array
- * already contained duplicate elements.
- *
- * If the array is empty the first form returns +nil+ and the second form
- * returns an empty array.
- *
- * The optional +rng+ argument will be used as the random number generator.
- *
- * a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
- * a.sample #=> 7
- * a.sample(4) #=> [6, 4, 2, 5]
- */
-
-
-static VALUE
-rb_ary_sample(int argc, VALUE *argv, VALUE ary)
-{
- VALUE nv, result;
- VALUE opts, randgen = rb_cRandom;
- long n, len, i, j, k, idx[10];
- long rnds[numberof(idx)];
-
- if (OPTHASH_GIVEN_P(opts)) {
- VALUE rnd;
- ID keyword_ids[1];
-
- keyword_ids[0] = id_random;
- rb_get_kwargs(opts, keyword_ids, 0, 1, &rnd);
- if (rnd != Qundef) {
- randgen = rnd;
- }
- }
- len = RARRAY_LEN(ary);
- if (argc == 0) {
- if (len < 2)
- i = 0;
- else
- i = RAND_UPTO(len);
-
- return rb_ary_elt(ary, i);
- }
- rb_scan_args(argc, argv, "1", &nv);
- n = NUM2LONG(nv);
- if (n < 0) rb_raise(rb_eArgError, "negative sample number");
- if (n > len) n = len;
- if (n <= numberof(idx)) {
- for (i = 0; i < n; ++i) {
- rnds[i] = RAND_UPTO(len - i);
- }
- }
- k = len;
- len = RARRAY_LEN(ary);
- if (len < k && n <= numberof(idx)) {
- for (i = 0; i < n; ++i) {
- if (rnds[i] >= len) return rb_ary_new_capa(0);
- }
- }
- if (n > len) n = len;
- switch (n) {
- case 0:
- return rb_ary_new_capa(0);
- case 1:
- i = rnds[0];
- return rb_ary_new_from_values(1, &RARRAY_AREF(ary, i));
- case 2:
- i = rnds[0];
- j = rnds[1];
- if (j >= i) j++;
- return rb_ary_new_from_args(2, RARRAY_AREF(ary, i), RARRAY_AREF(ary, j));
- case 3:
- i = rnds[0];
- j = rnds[1];
- k = rnds[2];
- {
- long l = j, g = i;
- if (j >= i) l = i, g = ++j;
- if (k >= l && (++k >= g)) ++k;
- }
- return rb_ary_new_from_args(3, RARRAY_AREF(ary, i), RARRAY_AREF(ary, j), RARRAY_AREF(ary, k));
- }
- if (n <= numberof(idx)) {
- long sorted[numberof(idx)];
- sorted[0] = idx[0] = rnds[0];
- for (i=1; i<n; i++) {
- k = rnds[i];
- for (j = 0; j < i; ++j) {
- if (k < sorted[j]) break;
- ++k;
- }
- memmove(&sorted[j+1], &sorted[j], sizeof(sorted[0])*(i-j));
- sorted[j] = idx[i] = k;
- }
- result = rb_ary_new_capa(n);
- RARRAY_PTR_USE(result, ptr_result, {
- for (i=0; i<n; i++) {
- ptr_result[i] = RARRAY_AREF(ary, idx[i]);
- }
- });
- }
- else {
- result = rb_ary_dup(ary);
- RBASIC_CLEAR_CLASS(result);
- RB_GC_GUARD(ary);
- RARRAY_PTR_USE(result, ptr_result, {
- for (i=0; i<n; i++) {
- j = RAND_UPTO(len-i) + i;
- nv = ptr_result[j];
- ptr_result[j] = ptr_result[i];
- ptr_result[i] = nv;
- }
- });
- RBASIC_SET_CLASS_RAW(result, rb_cArray);
- }
- ARY_SET_LEN(result, n);
-
- return result;
-}
-
-static VALUE
-rb_ary_cycle_size(VALUE self, VALUE args, VALUE eobj)
-{
- long mul;
- VALUE n = Qnil;
- if (args && (RARRAY_LEN(args) > 0)) {
- n = RARRAY_AREF(args, 0);
- }
- if (RARRAY_LEN(self) == 0) return INT2FIX(0);
- if (n == Qnil) return DBL2NUM(INFINITY);
- mul = NUM2LONG(n);
- if (mul <= 0) return INT2FIX(0);
- n = LONG2FIX(mul);
- return rb_funcallv(rb_ary_length(self), '*', 1, &n);
-}
-
-/*
- * call-seq:
- * ary.cycle(n=nil) { |obj| block } -> nil
- * ary.cycle(n=nil) -> Enumerator
- *
- * Calls the given block for each element +n+ times or forever if +nil+ is
- * given.
- *
- * Does nothing if a non-positive number is given or the array is empty.
- *
- * Returns +nil+ if the loop has finished without getting interrupted.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * a = ["a", "b", "c"]
- * a.cycle { |x| puts x } # print, a, b, c, a, b, c,.. forever.
- * a.cycle(2) { |x| puts x } # print, a, b, c, a, b, c.
- *
- */
-
-static VALUE
-rb_ary_cycle(int argc, VALUE *argv, VALUE ary)
-{
- long n, i;
- VALUE nv = Qnil;
-
- rb_scan_args(argc, argv, "01", &nv);
-
- RETURN_SIZED_ENUMERATOR(ary, argc, argv, rb_ary_cycle_size);
- if (NIL_P(nv)) {
- n = -1;
- }
- else {
- n = NUM2LONG(nv);
- if (n <= 0) return Qnil;
- }
-
- while (RARRAY_LEN(ary) > 0 && (n < 0 || 0 < n--)) {
- for (i=0; i<RARRAY_LEN(ary); i++) {
- rb_yield(RARRAY_AREF(ary, i));
- }
- }
- return Qnil;
-}
-
-#define tmpbuf(n, size) rb_str_tmp_new((n)*(size))
-#define tmpbuf_discard(s) (rb_str_resize((s), 0L), RBASIC_SET_CLASS_RAW(s, rb_cString))
-#define tmpary(n) rb_ary_tmp_new(n)
-#define tmpary_discard(a) (ary_discard(a), RBASIC_SET_CLASS_RAW(a, rb_cArray))
-
-/*
- * Build a ruby array of the corresponding values and yield it to the
- * associated block.
- * Return the class of +values+ for reentry check.
- */
-static int
-yield_indexed_values(const VALUE values, const long r, const long *const p)
-{
- const VALUE result = rb_ary_new2(r);
- VALUE *const result_array = RARRAY_PTR(result);
- const VALUE *const values_array = RARRAY_CONST_PTR(values);
- long i;
-
- for (i = 0; i < r; i++) result_array[i] = values_array[p[i]];
- ARY_SET_LEN(result, r);
- rb_yield(result);
- return !RBASIC(values)->klass;
-}
-
-/*
- * Recursively compute permutations of +r+ elements of the set
- * <code>[0..n-1]</code>.
- *
- * When we have a complete permutation of array indexes, copy the values
- * at those indexes into a new array and yield that array.
- *
- * n: the size of the set
- * r: the number of elements in each permutation
- * p: the array (of size r) that we're filling in
- * index: what index we're filling in now
- * used: an array of booleans: whether a given index is already used
- * values: the Ruby array that holds the actual values to permute
- */
-static void
-permute0(long n, long r, long *p, long index, char *used, VALUE values)
-{
- long i;
- for (i = 0; i < n; i++) {
- if (used[i] == 0) {
- p[index] = i;
- if (index < r-1) { /* if not done yet */
- used[i] = 1; /* mark index used */
- permute0(n, r, p, index+1, /* recurse */
- used, values);
- used[i] = 0; /* index unused */
- }
- else {
- if (!yield_indexed_values(values, r, p)) {
- rb_raise(rb_eRuntimeError, "permute reentered");
- }
- }
- }
- }
-}
-
-/*
- * Returns the product of from, from-1, ..., from - how_many + 1.
- * http://en.wikipedia.org/wiki/Pochhammer_symbol
- */
-static VALUE
-descending_factorial(long from, long how_many)
-{
- VALUE cnt = LONG2FIX(how_many >= 0);
- while (how_many-- > 0) {
- VALUE v = LONG2FIX(from--);
- cnt = rb_funcallv(cnt, '*', 1, &v);
- }
- return cnt;
-}
-
-static VALUE
-binomial_coefficient(long comb, long size)
-{
- VALUE r, v;
- if (comb > size-comb) {
- comb = size-comb;
- }
- if (comb < 0) {
- return LONG2FIX(0);
- }
- r = descending_factorial(size, comb);
- v = descending_factorial(comb, comb);
- return rb_funcallv(r, id_div, 1, &v);
-}
-
-static VALUE
-rb_ary_permutation_size(VALUE ary, VALUE args, VALUE eobj)
-{
- long n = RARRAY_LEN(ary);
- long k = (args && (RARRAY_LEN(args) > 0)) ? NUM2LONG(RARRAY_AREF(args, 0)) : n;
-
- return descending_factorial(n, k);
-}
-
-/*
- * call-seq:
- * ary.permutation { |p| block } -> ary
- * ary.permutation -> Enumerator
- * ary.permutation(n) { |p| block } -> ary
- * ary.permutation(n) -> Enumerator
- *
- * When invoked with a block, yield all permutations of length +n+ of the
- * elements of the array, then return the array itself.
- *
- * If +n+ is not specified, yield all permutations of all elements.
- *
- * The implementation makes no guarantees about the order in which the
- * permutations are yielded.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * Examples:
- *
- * a = [1, 2, 3]
- * a.permutation.to_a #=> [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
- * a.permutation(1).to_a #=> [[1],[2],[3]]
- * a.permutation(2).to_a #=> [[1,2],[1,3],[2,1],[2,3],[3,1],[3,2]]
- * a.permutation(3).to_a #=> [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
- * a.permutation(0).to_a #=> [[]] # one permutation of length 0
- * a.permutation(4).to_a #=> [] # no permutations of length 4
- */
-
-static VALUE
-rb_ary_permutation(int argc, VALUE *argv, VALUE ary)
-{
- VALUE num;
- long r, n, i;
-
- n = RARRAY_LEN(ary); /* Array length */
- RETURN_SIZED_ENUMERATOR(ary, argc, argv, rb_ary_permutation_size); /* Return enumerator if no block */
- rb_scan_args(argc, argv, "01", &num);
- r = NIL_P(num) ? n : NUM2LONG(num); /* Permutation size from argument */
-
- if (r < 0 || n < r) {
- /* no permutations: yield nothing */
- }
- else if (r == 0) { /* exactly one permutation: the zero-length array */
- rb_yield(rb_ary_new2(0));
- }
- else if (r == 1) { /* this is a special, easy case */
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));
- }
- }
- else { /* this is the general case */
- volatile VALUE t0 = tmpbuf(r,sizeof(long));
- long *p = (long*)RSTRING_PTR(t0);
- volatile VALUE t1 = tmpbuf(n,sizeof(char));
- char *used = (char*)RSTRING_PTR(t1);
- VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */
- RBASIC_CLEAR_CLASS(ary0);
-
- MEMZERO(used, char, n); /* initialize array */
-
- permute0(n, r, p, 0, used, ary0); /* compute and yield permutations */
- tmpbuf_discard(t0);
- tmpbuf_discard(t1);
- RBASIC_SET_CLASS_RAW(ary0, rb_cArray);
- }
- return ary;
-}
-
-static VALUE
-rb_ary_combination_size(VALUE ary, VALUE args, VALUE eobj)
-{
- long n = RARRAY_LEN(ary);
- long k = NUM2LONG(RARRAY_AREF(args, 0));
-
- return binomial_coefficient(k, n);
-}
-
-/*
- * call-seq:
- * ary.combination(n) { |c| block } -> ary
- * ary.combination(n) -> Enumerator
- *
- * When invoked with a block, yields all combinations of length +n+ of elements
- * from the array and then returns the array itself.
- *
- * The implementation makes no guarantees about the order in which the
- * combinations are yielded.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * Examples:
- *
- * a = [1, 2, 3, 4]
- * a.combination(1).to_a #=> [[1],[2],[3],[4]]
- * a.combination(2).to_a #=> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
- * a.combination(3).to_a #=> [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]
- * a.combination(4).to_a #=> [[1,2,3,4]]
- * a.combination(0).to_a #=> [[]] # one combination of length 0
- * a.combination(5).to_a #=> [] # no combinations of length 5
- *
- */
-
-static VALUE
-rb_ary_combination(VALUE ary, VALUE num)
-{
- long n, i, len;
-
- n = NUM2LONG(num);
- RETURN_SIZED_ENUMERATOR(ary, 1, &num, rb_ary_combination_size);
- len = RARRAY_LEN(ary);
- if (n < 0 || len < n) {
- /* yield nothing */
- }
- else if (n == 0) {
- rb_yield(rb_ary_new2(0));
- }
- else if (n == 1) {
- for (i = 0; i < len; i++) {
- rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));
- }
- }
- else {
- VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */
- volatile VALUE t0;
- long *stack = ALLOCV_N(long, t0, n+1);
- long lev = 0;
-
- RBASIC_CLEAR_CLASS(ary0);
- MEMZERO(stack+1, long, n);
- stack[0] = -1;
- for (;;) {
- for (lev++; lev < n; lev++) {
- stack[lev+1] = stack[lev]+1;
- }
- if (!yield_indexed_values(ary0, n, stack+1)) {
- rb_raise(rb_eRuntimeError, "combination reentered");
- }
- do {
- if (lev == 0) goto done;
- stack[lev--]++;
- } while (stack[lev+1]+n == len+lev+1);
- }
- done:
- ALLOCV_END(t0);
- RBASIC_SET_CLASS_RAW(ary0, rb_cArray);
- }
- return ary;
-}
-
-/*
- * Recursively compute repeated permutations of +r+ elements of the set
- * <code>[0..n-1]</code>.
- *
- * When we have a complete repeated permutation of array indexes, copy the
- * values at those indexes into a new array and yield that array.
- *
- * n: the size of the set
- * r: the number of elements in each permutation
- * p: the array (of size r) that we're filling in
- * index: what index we're filling in now
- * values: the Ruby array that holds the actual values to permute
- */
-static void
-rpermute0(long n, long r, long *p, long index, VALUE values)
-{
- long i;
- for (i = 0; i < n; i++) {
- p[index] = i;
- if (index < r-1) { /* if not done yet */
- rpermute0(n, r, p, index+1, values); /* recurse */
- }
- else {
- if (!yield_indexed_values(values, r, p)) {
- rb_raise(rb_eRuntimeError, "repeated permute reentered");
- }
- }
- }
-}
-
-static VALUE
-rb_ary_repeated_permutation_size(VALUE ary, VALUE args, VALUE eobj)
-{
- long n = RARRAY_LEN(ary);
- long k = NUM2LONG(RARRAY_AREF(args, 0));
- VALUE v;
-
- if (k < 0) {
- return LONG2FIX(0);
- }
-
- v = LONG2NUM(k);
- return rb_funcallv(LONG2NUM(n), id_power, 1, &v);
-}
-
-/*
- * call-seq:
- * ary.repeated_permutation(n) { |p| block } -> ary
- * ary.repeated_permutation(n) -> Enumerator
- *
- * When invoked with a block, yield all repeated permutations of length +n+ of
- * the elements of the array, then return the array itself.
- *
- * The implementation makes no guarantees about the order in which the repeated
- * permutations are yielded.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * Examples:
- *
- * a = [1, 2]
- * a.repeated_permutation(1).to_a #=> [[1], [2]]
- * a.repeated_permutation(2).to_a #=> [[1,1],[1,2],[2,1],[2,2]]
- * a.repeated_permutation(3).to_a #=> [[1,1,1],[1,1,2],[1,2,1],[1,2,2],
- * # [2,1,1],[2,1,2],[2,2,1],[2,2,2]]
- * a.repeated_permutation(0).to_a #=> [[]] # one permutation of length 0
- */
-
-static VALUE
-rb_ary_repeated_permutation(VALUE ary, VALUE num)
-{
- long r, n, i;
-
- n = RARRAY_LEN(ary); /* Array length */
- RETURN_SIZED_ENUMERATOR(ary, 1, &num, rb_ary_repeated_permutation_size); /* Return Enumerator if no block */
- r = NUM2LONG(num); /* Permutation size from argument */
-
- if (r < 0) {
- /* no permutations: yield nothing */
- }
- else if (r == 0) { /* exactly one permutation: the zero-length array */
- rb_yield(rb_ary_new2(0));
- }
- else if (r == 1) { /* this is a special, easy case */
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));
- }
- }
- else { /* this is the general case */
- volatile VALUE t0 = tmpbuf(r, sizeof(long));
- long *p = (long*)RSTRING_PTR(t0);
- VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */
- RBASIC_CLEAR_CLASS(ary0);
-
- rpermute0(n, r, p, 0, ary0); /* compute and yield repeated permutations */
- tmpbuf_discard(t0);
- RBASIC_SET_CLASS_RAW(ary0, rb_cArray);
- }
- return ary;
-}
-
-static void
-rcombinate0(long n, long r, long *p, long index, long rest, VALUE values)
-{
- if (rest > 0) {
- for (; index < n; ++index) {
- p[r-rest] = index;
- rcombinate0(n, r, p, index, rest-1, values);
- }
- }
- else {
- if (!yield_indexed_values(values, r, p)) {
- rb_raise(rb_eRuntimeError, "repeated combination reentered");
- }
- }
-}
-
-static VALUE
-rb_ary_repeated_combination_size(VALUE ary, VALUE args, VALUE eobj)
-{
- long n = RARRAY_LEN(ary);
- long k = NUM2LONG(RARRAY_AREF(args, 0));
- if (k == 0) {
- return LONG2FIX(1);
- }
- return binomial_coefficient(k, n + k - 1);
-}
-
-/*
- * call-seq:
- * ary.repeated_combination(n) { |c| block } -> ary
- * ary.repeated_combination(n) -> Enumerator
- *
- * When invoked with a block, yields all repeated combinations of length +n+ of
- * elements from the array and then returns the array itself.
- *
- * The implementation makes no guarantees about the order in which the repeated
- * combinations are yielded.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * Examples:
- *
- * a = [1, 2, 3]
- * a.repeated_combination(1).to_a #=> [[1], [2], [3]]
- * a.repeated_combination(2).to_a #=> [[1,1],[1,2],[1,3],[2,2],[2,3],[3,3]]
- * a.repeated_combination(3).to_a #=> [[1,1,1],[1,1,2],[1,1,3],[1,2,2],[1,2,3],
- * # [1,3,3],[2,2,2],[2,2,3],[2,3,3],[3,3,3]]
- * a.repeated_combination(4).to_a #=> [[1,1,1,1],[1,1,1,2],[1,1,1,3],[1,1,2,2],[1,1,2,3],
- * # [1,1,3,3],[1,2,2,2],[1,2,2,3],[1,2,3,3],[1,3,3,3],
- * # [2,2,2,2],[2,2,2,3],[2,2,3,3],[2,3,3,3],[3,3,3,3]]
- * a.repeated_combination(0).to_a #=> [[]] # one combination of length 0
- *
- */
-
-static VALUE
-rb_ary_repeated_combination(VALUE ary, VALUE num)
-{
- long n, i, len;
-
- n = NUM2LONG(num); /* Combination size from argument */
- RETURN_SIZED_ENUMERATOR(ary, 1, &num, rb_ary_repeated_combination_size); /* Return enumerator if no block */
- len = RARRAY_LEN(ary);
- if (n < 0) {
- /* yield nothing */
- }
- else if (n == 0) {
- rb_yield(rb_ary_new2(0));
- }
- else if (n == 1) {
- for (i = 0; i < len; i++) {
- rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));
- }
- }
- else if (len == 0) {
- /* yield nothing */
- }
- else {
- volatile VALUE t0 = tmpbuf(n, sizeof(long));
- long *p = (long*)RSTRING_PTR(t0);
- VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */
- RBASIC_CLEAR_CLASS(ary0);
-
- rcombinate0(len, n, p, 0, n, ary0); /* compute and yield repeated combinations */
- tmpbuf_discard(t0);
- RBASIC_SET_CLASS_RAW(ary0, rb_cArray);
- }
+ rb_ary_flatten_bang(ary);
return ary;
}
-/*
- * call-seq:
- * ary.product(other_ary, ...) -> new_ary
- * ary.product(other_ary, ...) { |p| block } -> ary
- *
- * Returns an array of all combinations of elements from all arrays.
- *
- * The length of the returned array is the product of the length of +self+ and
- * the argument arrays.
- *
- * If given a block, #product will yield all combinations and return +self+
- * instead.
- *
- * [1,2,3].product([4,5]) #=> [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
- * [1,2].product([1,2]) #=> [[1,1],[1,2],[2,1],[2,2]]
- * [1,2].product([3,4],[5,6]) #=> [[1,3,5],[1,3,6],[1,4,5],[1,4,6],
- * # [2,3,5],[2,3,6],[2,4,5],[2,4,6]]
- * [1,2].product() #=> [[1],[2]]
- * [1,2].product([]) #=> []
- */
-
-static VALUE
-rb_ary_product(int argc, VALUE *argv, VALUE ary)
-{
- int n = argc+1; /* How many arrays we're operating on */
- volatile VALUE t0 = tmpary(n);
- volatile VALUE t1 = tmpbuf(n, sizeof(int));
- VALUE *arrays = RARRAY_PTR(t0); /* The arrays we're computing the product of */
- int *counters = (int*)RSTRING_PTR(t1); /* The current position in each one */
- VALUE result = Qnil; /* The array we'll be returning, when no block given */
- long i,j;
- long resultlen = 1;
-
- RBASIC_CLEAR_CLASS(t0);
- RBASIC_CLEAR_CLASS(t1);
-
- /* initialize the arrays of arrays */
- ARY_SET_LEN(t0, n);
- arrays[0] = ary;
- for (i = 1; i < n; i++) arrays[i] = Qnil;
- for (i = 1; i < n; i++) arrays[i] = to_ary(argv[i-1]);
-
- /* initialize the counters for the arrays */
- for (i = 0; i < n; i++) counters[i] = 0;
-
- /* Otherwise, allocate and fill in an array of results */
- if (rb_block_given_p()) {
- /* Make defensive copies of arrays; exit if any is empty */
- for (i = 0; i < n; i++) {
- if (RARRAY_LEN(arrays[i]) == 0) goto done;
- arrays[i] = ary_make_shared_copy(arrays[i]);
- }
- }
- else {
- /* Compute the length of the result array; return [] if any is empty */
- for (i = 0; i < n; i++) {
- long k = RARRAY_LEN(arrays[i]);
- if (k == 0) {
- result = rb_ary_new2(0);
- goto done;
- }
- if (MUL_OVERFLOW_LONG_P(resultlen, k))
- rb_raise(rb_eRangeError, "too big to product");
- resultlen *= k;
- }
- result = rb_ary_new2(resultlen);
- }
- for (;;) {
- int m;
- /* fill in one subarray */
- VALUE subarray = rb_ary_new2(n);
- for (j = 0; j < n; j++) {
- rb_ary_push(subarray, rb_ary_entry(arrays[j], counters[j]));
- }
- /* put it on the result array */
- if (NIL_P(result)) {
- FL_SET(t0, FL_USER5);
- rb_yield(subarray);
- if (! FL_TEST(t0, FL_USER5)) {
- rb_raise(rb_eRuntimeError, "product reentered");
- }
- else {
- FL_UNSET(t0, FL_USER5);
- }
- }
- else {
- rb_ary_push(result, subarray);
- }
-
- /*
- * Increment the last counter. If it overflows, reset to 0
- * and increment the one before it.
- */
- m = n-1;
- counters[m]++;
- while (counters[m] == RARRAY_LEN(arrays[m])) {
- counters[m] = 0;
- /* If the first counter overflows, we are done */
- if (--m < 0) goto done;
- counters[m]++;
- }
- }
-done:
- tmpary_discard(t0);
- tmpbuf_discard(t1);
-
- return NIL_P(result) ? ary : result;
-}
-
-/*
- * call-seq:
- * ary.take(n) -> new_ary
- *
- * Returns first +n+ elements from the array.
- *
- * If a negative number is given, raises an ArgumentError.
- *
- * See also Array#drop
- *
- * a = [1, 2, 3, 4, 5, 0]
- * a.take(3) #=> [1, 2, 3]
- *
- */
-
-static VALUE
-rb_ary_take(VALUE obj, VALUE n)
-{
- long len = NUM2LONG(n);
- if (len < 0) {
- rb_raise(rb_eArgError, "attempt to take negative size");
- }
- return rb_ary_subseq(obj, 0, len);
-}
-
-/*
- * call-seq:
- * ary.take_while { |arr| block } -> new_ary
- * ary.take_while -> Enumerator
- *
- * Passes elements to the block until the block returns +nil+ or +false+, then
- * stops iterating and returns an array of all prior elements.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * See also Array#drop_while
- *
- * a = [1, 2, 3, 4, 5, 0]
- * a.take_while { |i| i < 3 } #=> [1, 2]
- *
- */
-
-static VALUE
-rb_ary_take_while(VALUE ary)
-{
- long i;
-
- RETURN_ENUMERATOR(ary, 0, 0);
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) break;
- }
- return rb_ary_take(ary, LONG2FIX(i));
-}
-
-/*
- * call-seq:
- * ary.drop(n) -> new_ary
- *
- * Drops first +n+ elements from +ary+ and returns the rest of the elements in
- * an array.
- *
- * If a negative number is given, raises an ArgumentError.
- *
- * See also Array#take
- *
- * a = [1, 2, 3, 4, 5, 0]
- * a.drop(3) #=> [4, 5, 0]
- *
- */
-
-static VALUE
-rb_ary_drop(VALUE ary, VALUE n)
-{
- VALUE result;
- long pos = NUM2LONG(n);
- if (pos < 0) {
- rb_raise(rb_eArgError, "attempt to drop negative size");
- }
-
- result = rb_ary_subseq(ary, pos, RARRAY_LEN(ary));
- if (result == Qnil) result = rb_ary_new();
- return result;
-}
-
-/*
- * call-seq:
- * ary.drop_while { |arr| block } -> new_ary
- * ary.drop_while -> Enumerator
- *
- * Drops elements up to, but not including, the first element for which the
- * block returns +nil+ or +false+ and returns an array containing the
- * remaining elements.
- *
- * If no block is given, an Enumerator is returned instead.
- *
- * See also Array#take_while
- *
- * a = [1, 2, 3, 4, 5, 0]
- * a.drop_while {|i| i < 3 } #=> [3, 4, 5, 0]
- *
- */
-
-static VALUE
-rb_ary_drop_while(VALUE ary)
-{
- long i;
-
- RETURN_ENUMERATOR(ary, 0, 0);
- for (i = 0; i < RARRAY_LEN(ary); i++) {
- if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) break;
- }
- return rb_ary_drop(ary, LONG2FIX(i));
-}
-
-/*
- * Arrays are ordered, integer-indexed collections of any object.
- *
- * Array indexing starts at 0, as in C or Java. A negative index is assumed
- * to be relative to the end of the array---that is, an index of -1 indicates
- * the last element of the array, -2 is the next to last element in the
- * array, and so on.
- *
- * == Creating Arrays
- *
- * A new array can be created by using the literal constructor
- * <code>[]</code>. Arrays can contain different types of objects. For
- * example, the array below contains an Integer, a String and a Float:
- *
- * ary = [1, "two", 3.0] #=> [1, "two", 3.0]
- *
- * An array can also be created by explicitly calling Array.new with zero, one
- * (the initial size of the Array) or two arguments (the initial size and a
- * default object).
- *
- * ary = Array.new #=> []
- * Array.new(3) #=> [nil, nil, nil]
- * Array.new(3, true) #=> [true, true, true]
- *
- * Note that the second argument populates the array with references to the
- * same object. Therefore, it is only recommended in cases when you need to
- * instantiate arrays with natively immutable objects such as Symbols,
- * numbers, true or false.
- *
- * To create an array with separate objects a block can be passed instead.
- * This method is safe to use with mutable objects such as hashes, strings or
- * other arrays:
- *
- * Array.new(4) { Hash.new } #=> [{}, {}, {}, {}]
- *
- * This is also a quick way to build up multi-dimensional arrays:
- *
- * empty_table = Array.new(3) { Array.new(3) }
- * #=> [[nil, nil, nil], [nil, nil, nil], [nil, nil, nil]]
- *
- * An array can also be created by using the Array() method, provided by
- * Kernel, which tries to call #to_ary, then #to_a on its argument.
- *
- * Array({:a => "a", :b => "b"}) #=> [[:a, "a"], [:b, "b"]]
- *
- * == Example Usage
- *
- * In addition to the methods it mixes in through the Enumerable module, the
- * Array class has proprietary methods for accessing, searching and otherwise
- * manipulating arrays.
- *
- * Some of the more common ones are illustrated below.
- *
- * == Accessing Elements
- *
- * Elements in an array can be retrieved using the Array#[] method. It can
- * take a single integer argument (a numeric index), a pair of arguments
- * (start and length) or a range. Negative indices start counting from the end,
- * with -1 being the last element.
- *
- * arr = [1, 2, 3, 4, 5, 6]
- * arr[2] #=> 3
- * arr[100] #=> nil
- * arr[-3] #=> 4
- * arr[2, 3] #=> [3, 4, 5]
- * arr[1..4] #=> [2, 3, 4, 5]
- * arr[1..-3] #=> [2, 3, 4]
- *
- * Another way to access a particular array element is by using the #at method
- *
- * arr.at(0) #=> 1
- *
- * The #slice method works in an identical manner to Array#[].
- *
- * To raise an error for indices outside of the array bounds or else to
- * provide a default value when that happens, you can use #fetch.
- *
- * arr = ['a', 'b', 'c', 'd', 'e', 'f']
- * arr.fetch(100) #=> IndexError: index 100 outside of array bounds: -6...6
- * arr.fetch(100, "oops") #=> "oops"
- *
- * The special methods #first and #last will return the first and last
- * elements of an array, respectively.
- *
- * arr.first #=> 1
- * arr.last #=> 6
- *
- * To return the first +n+ elements of an array, use #take
- *
- * arr.take(3) #=> [1, 2, 3]
- *
- * #drop does the opposite of #take, by returning the elements after +n+
- * elements have been dropped:
- *
- * arr.drop(3) #=> [4, 5, 6]
- *
- * == Obtaining Information about an Array
- *
- * Arrays keep track of their own length at all times. To query an array
- * about the number of elements it contains, use #length, #count or #size.
- *
- * browsers = ['Chrome', 'Firefox', 'Safari', 'Opera', 'IE']
- * browsers.length #=> 5
- * browsers.count #=> 5
- *
- * To check whether an array contains any elements at all
- *
- * browsers.empty? #=> false
- *
- * To check whether a particular item is included in the array
- *
- * browsers.include?('Konqueror') #=> false
- *
- * == Adding Items to Arrays
- *
- * Items can be added to the end of an array by using either #push or #<<
- *
- * arr = [1, 2, 3, 4]
- * arr.push(5) #=> [1, 2, 3, 4, 5]
- * arr << 6 #=> [1, 2, 3, 4, 5, 6]
- *
- * #unshift will add a new item to the beginning of an array.
- *
- * arr.unshift(0) #=> [0, 1, 2, 3, 4, 5, 6]
- *
- * With #insert you can add a new element to an array at any position.
- *
- * arr.insert(3, 'apple') #=> [0, 1, 2, 'apple', 3, 4, 5, 6]
- *
- * Using the #insert method, you can also insert multiple values at once:
- *
- * arr.insert(3, 'orange', 'pear', 'grapefruit')
- * #=> [0, 1, 2, "orange", "pear", "grapefruit", "apple", 3, 4, 5, 6]
- *
- * == Removing Items from an Array
- *
- * The method #pop removes the last element in an array and returns it:
- *
- * arr = [1, 2, 3, 4, 5, 6]
- * arr.pop #=> 6
- * arr #=> [1, 2, 3, 4, 5]
- *
- * To retrieve and at the same time remove the first item, use #shift:
- *
- * arr.shift #=> 1
- * arr #=> [2, 3, 4, 5]
- *
- * To delete an element at a particular index:
- *
- * arr.delete_at(2) #=> 4
- * arr #=> [2, 3, 5]
- *
- * To delete a particular element anywhere in an array, use #delete:
- *
- * arr = [1, 2, 2, 3]
- * arr.delete(2) #=> 2
- * arr #=> [1,3]
- *
- * A useful method if you need to remove +nil+ values from an array is
- * #compact:
- *
- * arr = ['foo', 0, nil, 'bar', 7, 'baz', nil]
- * arr.compact #=> ['foo', 0, 'bar', 7, 'baz']
- * arr #=> ['foo', 0, nil, 'bar', 7, 'baz', nil]
- * arr.compact! #=> ['foo', 0, 'bar', 7, 'baz']
- * arr #=> ['foo', 0, 'bar', 7, 'baz']
- *
- * Another common need is to remove duplicate elements from an array.
- *
- * It has the non-destructive #uniq, and destructive method #uniq!
- *
- * arr = [2, 5, 6, 556, 6, 6, 8, 9, 0, 123, 556]
- * arr.uniq #=> [2, 5, 6, 556, 8, 9, 0, 123]
- *
- * == Iterating over Arrays
- *
- * Like all classes that include the Enumerable module, Array has an each
- * method, which defines what elements should be iterated over and how. In
- * case of Array's #each, all elements in the Array instance are yielded to
- * the supplied block in sequence.
- *
- * Note that this operation leaves the array unchanged.
- *
- * arr = [1, 2, 3, 4, 5]
- * arr.each { |a| print a -= 10, " " }
- * # prints: -9 -8 -7 -6 -5
- * #=> [1, 2, 3, 4, 5]
- *
- * Another sometimes useful iterator is #reverse_each which will iterate over
- * the elements in the array in reverse order.
- *
- * words = %w[first second third fourth fifth sixth]
- * str = ""
- * words.reverse_each { |word| str += "#{word} " }
- * p str #=> "sixth fifth fourth third second first "
- *
- * The #map method can be used to create a new array based on the original
- * array, but with the values modified by the supplied block:
- *
- * arr.map { |a| 2*a } #=> [2, 4, 6, 8, 10]
- * arr #=> [1, 2, 3, 4, 5]
- * arr.map! { |a| a**2 } #=> [1, 4, 9, 16, 25]
- * arr #=> [1, 4, 9, 16, 25]
- *
- * == Selecting Items from an Array
- *
- * Elements can be selected from an array according to criteria defined in a
- * block. The selection can happen in a destructive or a non-destructive
- * manner. While the destructive operations will modify the array they were
- * called on, the non-destructive methods usually return a new array with the
- * selected elements, but leave the original array unchanged.
- *
- * === Non-destructive Selection
- *
- * arr = [1, 2, 3, 4, 5, 6]
- * arr.select { |a| a > 3 } #=> [4, 5, 6]
- * arr.reject { |a| a < 3 } #=> [3, 4, 5, 6]
- * arr.drop_while { |a| a < 4 } #=> [4, 5, 6]
- * arr #=> [1, 2, 3, 4, 5, 6]
- *
- * === Destructive Selection
- *
- * #select! and #reject! are the corresponding destructive methods to #select
- * and #reject
- *
- * Similar to #select vs. #reject, #delete_if and #keep_if have the exact
- * opposite result when supplied with the same block:
- *
- * arr.delete_if { |a| a < 4 } #=> [4, 5, 6]
- * arr #=> [4, 5, 6]
- *
- * arr = [1, 2, 3, 4, 5, 6]
- * arr.keep_if { |a| a < 4 } #=> [1, 2, 3]
- * arr #=> [1, 2, 3]
- *
+/* Arrays are ordered, integer-indexed collections of any object.
+ * Array indexing starts at 0, as in C or Java. A negative index is
+ * assumed to be relative to the end of the array---that is, an index of -1
+ * indicates the last element of the array, -2 is the next to last
+ * element in the array, and so on.
*/
void
-Init_Array(void)
+Init_Array()
{
-#undef rb_intern
-#define rb_intern(str) rb_intern_const(str)
-
rb_cArray = rb_define_class("Array", rb_cObject);
rb_include_module(rb_cArray, rb_mEnumerable);
- rb_define_alloc_func(rb_cArray, empty_ary_alloc);
+ rb_define_alloc_func(rb_cArray, ary_alloc);
rb_define_singleton_method(rb_cArray, "[]", rb_ary_s_create, -1);
- rb_define_singleton_method(rb_cArray, "try_convert", rb_ary_s_try_convert, 1);
rb_define_method(rb_cArray, "initialize", rb_ary_initialize, -1);
rb_define_method(rb_cArray, "initialize_copy", rb_ary_replace, 1);
+ rb_define_method(rb_cArray, "to_s", rb_ary_to_s, 0);
rb_define_method(rb_cArray, "inspect", rb_ary_inspect, 0);
- rb_define_alias(rb_cArray, "to_s", "inspect");
rb_define_method(rb_cArray, "to_a", rb_ary_to_a, 0);
- rb_define_method(rb_cArray, "to_h", rb_ary_to_h, 0);
rb_define_method(rb_cArray, "to_ary", rb_ary_to_ary_m, 0);
rb_define_method(rb_cArray, "frozen?", rb_ary_frozen_p, 0);
@@ -5613,8 +3001,8 @@ Init_Array(void)
rb_define_method(rb_cArray, "concat", rb_ary_concat, 1);
rb_define_method(rb_cArray, "<<", rb_ary_push, 1);
rb_define_method(rb_cArray, "push", rb_ary_push_m, -1);
- rb_define_method(rb_cArray, "pop", rb_ary_pop_m, -1);
- rb_define_method(rb_cArray, "shift", rb_ary_shift_m, -1);
+ rb_define_method(rb_cArray, "pop", rb_ary_pop, 0);
+ rb_define_method(rb_cArray, "shift", rb_ary_shift, 0);
rb_define_method(rb_cArray, "unshift", rb_ary_unshift_m, -1);
rb_define_method(rb_cArray, "insert", rb_ary_insert, -1);
rb_define_method(rb_cArray, "each", rb_ary_each, 0);
@@ -5623,24 +3011,20 @@ Init_Array(void)
rb_define_method(rb_cArray, "length", rb_ary_length, 0);
rb_define_alias(rb_cArray, "size", "length");
rb_define_method(rb_cArray, "empty?", rb_ary_empty_p, 0);
- rb_define_method(rb_cArray, "find_index", rb_ary_index, -1);
- rb_define_method(rb_cArray, "index", rb_ary_index, -1);
- rb_define_method(rb_cArray, "rindex", rb_ary_rindex, -1);
+ rb_define_method(rb_cArray, "index", rb_ary_index, 1);
+ rb_define_method(rb_cArray, "rindex", rb_ary_rindex, 1);
+ rb_define_method(rb_cArray, "indexes", rb_ary_indexes, -1);
+ rb_define_method(rb_cArray, "indices", rb_ary_indexes, -1);
rb_define_method(rb_cArray, "join", rb_ary_join_m, -1);
rb_define_method(rb_cArray, "reverse", rb_ary_reverse_m, 0);
rb_define_method(rb_cArray, "reverse!", rb_ary_reverse_bang, 0);
- rb_define_method(rb_cArray, "rotate", rb_ary_rotate_m, -1);
- rb_define_method(rb_cArray, "rotate!", rb_ary_rotate_bang, -1);
rb_define_method(rb_cArray, "sort", rb_ary_sort, 0);
rb_define_method(rb_cArray, "sort!", rb_ary_sort_bang, 0);
- rb_define_method(rb_cArray, "sort_by!", rb_ary_sort_by_bang, 0);
rb_define_method(rb_cArray, "collect", rb_ary_collect, 0);
rb_define_method(rb_cArray, "collect!", rb_ary_collect_bang, 0);
rb_define_method(rb_cArray, "map", rb_ary_collect, 0);
rb_define_method(rb_cArray, "map!", rb_ary_collect_bang, 0);
rb_define_method(rb_cArray, "select", rb_ary_select, 0);
- rb_define_method(rb_cArray, "select!", rb_ary_select_bang, 0);
- rb_define_method(rb_cArray, "keep_if", rb_ary_keep_if, 0);
rb_define_method(rb_cArray, "values_at", rb_ary_values_at, -1);
rb_define_method(rb_cArray, "delete", rb_ary_delete, 1);
rb_define_method(rb_cArray, "delete_at", rb_ary_delete_at_m, 1);
@@ -5672,27 +3056,10 @@ Init_Array(void)
rb_define_method(rb_cArray, "uniq!", rb_ary_uniq_bang, 0);
rb_define_method(rb_cArray, "compact", rb_ary_compact, 0);
rb_define_method(rb_cArray, "compact!", rb_ary_compact_bang, 0);
- rb_define_method(rb_cArray, "flatten", rb_ary_flatten, -1);
- rb_define_method(rb_cArray, "flatten!", rb_ary_flatten_bang, -1);
- rb_define_method(rb_cArray, "count", rb_ary_count, -1);
- rb_define_method(rb_cArray, "shuffle!", rb_ary_shuffle_bang, -1);
- rb_define_method(rb_cArray, "shuffle", rb_ary_shuffle, -1);
- rb_define_method(rb_cArray, "sample", rb_ary_sample, -1);
- rb_define_method(rb_cArray, "cycle", rb_ary_cycle, -1);
- rb_define_method(rb_cArray, "permutation", rb_ary_permutation, -1);
- rb_define_method(rb_cArray, "combination", rb_ary_combination, 1);
- rb_define_method(rb_cArray, "repeated_permutation", rb_ary_repeated_permutation, 1);
- rb_define_method(rb_cArray, "repeated_combination", rb_ary_repeated_combination, 1);
- rb_define_method(rb_cArray, "product", rb_ary_product, -1);
-
- rb_define_method(rb_cArray, "take", rb_ary_take, 1);
- rb_define_method(rb_cArray, "take_while", rb_ary_take_while, 0);
- rb_define_method(rb_cArray, "drop", rb_ary_drop, 1);
- rb_define_method(rb_cArray, "drop_while", rb_ary_drop_while, 0);
- rb_define_method(rb_cArray, "bsearch", rb_ary_bsearch, 0);
+ rb_define_method(rb_cArray, "flatten", rb_ary_flatten, 0);
+ rb_define_method(rb_cArray, "flatten!", rb_ary_flatten_bang, 0);
+ rb_define_method(rb_cArray, "nitems", rb_ary_nitems, 0);
id_cmp = rb_intern("<=>");
- id_random = rb_intern("random");
- id_div = rb_intern("div");
- id_power = rb_intern("**");
+ inspect_key = rb_intern("__inspect_key__");
}
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
new file mode 100644
index 0000000000..0c2fe7cdf6
--- /dev/null
+++ b/bcc32/Makefile.sub
@@ -0,0 +1,499 @@
+# -*- makefile -*-
+
+SHELL = $(COMSPEC)
+MKFILES = Makefile
+
+#### Start of system configuration section. ####
+OS = bccwin32
+RT = $(OS)
+
+## variables may be overridden by $(compile_dir)/Makefile
+!ifndef srcdir
+srcdir = ..
+!endif
+!ifndef RUBY_INSTALL_NAME
+RUBY_INSTALL_NAME = ruby
+!endif
+!ifndef RUBYW_INSTALL_NAME
+RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
+!elif "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
+RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
+!endif
+!if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
+RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w
+!endif
+!ifndef RUBY_SO_NAME
+RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)
+!endif
+!ifndef icondirs
+!ifdef ICONDIRS
+icondirs=$(ICONDIRS)
+!endif
+!endif
+!ifdef icondirs
+icondirs=$(icondirs:\=/)
+iconinc=-I$(icondirs: = -I)
+!endif
+###############
+
+VPATH = $(srcdir):$(srcdir)/missing
+.SUFFIXES: .y
+
+!ifndef CC
+CC = bcc32
+!endif
+!ifndef CPP
+CPP = cpp32
+!endif
+!ifndef RC
+RC = brcc32
+!endif
+!ifndef YACC
+YACC = byacc
+!endif
+!ifndef AR
+AR = tlib
+!endif
+
+PURIFY =
+AUTOCONF = autoconf
+RM = $(srcdir:/=\)\win32\rm.bat
+
+!if !defined(PROCESSOR_ARCHITECTURE)
+PROCESSOR_ARCHITECTURE = x86
+!endif
+MACHINE = $(PROCESSOR_ARCHITECTURE)
+!if "$(PROCESSOR_ARCHITECTURE)" == "x86"
+!ifndef PROCESSOR_LEVEL
+PROCESSOR_LEVEL = 5
+!endif
+!if 6 < $(PROCESSOR_LEVEL)
+PROCESSOR_LEVEL = 6
+!endif
+PROCESSOR_FLAG = -$(PROCESSOR_LEVEL)
+CPU = i$(PROCESSOR_LEVEL)86
+ARCH = i386
+!else
+CPU = $(PROCESSOR_ARCHITECTURE)
+ARCH = $(PROCESSOR_ARCHITECTURE)
+!endif
+!ifndef DEBUGFLAGS
+DEBUGFLAGS =
+!endif
+!ifndef OPTFLAGS
+OPTFLAGS = -O
+!endif
+
+!ifndef prefix
+prefix = /usr
+!endif
+!ifndef exec_prefix
+exec_prefix = $(prefix)
+!endif
+!ifndef libdir
+libdir = $(exec_prefix)/lib
+!endif
+!if !defined(datadir)
+datadir = /share
+!endif
+!ifndef EXTOUT
+EXTOUT = .ext
+!endif
+!ifndef RIDATADIR
+RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
+!endif
+!ifndef TESTUI
+TESTUI = console
+!endif
+!ifndef TESTS
+TESTS =
+!endif
+!ifndef RDOCTARGET
+RDOCTARGET = install-nodoc
+!endif
+
+OUTFLAG = -o
+!ifndef CFLAGS
+CFLAGS = -q -tWR -tWC $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG) -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi
+!endif
+!ifndef LDFLAGS
+LDFLAGS = -S:$(STACK)
+!endif
+!ifndef RFLAGS
+RFLAGS = $(iconinc)
+!endif
+!ifndef EXTLIBS
+EXTLIBS =
+!endif
+!ifndef MEMLIB
+MEMLIB =
+!endif
+LIBS = $(MEMLIB) cw32i.lib import32.lib ws2_32.lib $(EXTLIBS)
+MISSING = acosh.obj crypt.obj erf.obj win32.obj
+
+!ifndef STACK
+STACK = 0x2000000
+!endif
+
+XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)missing
+
+ARFLAGS = /a
+LD = ilink32 -q -Gn
+LDSHARED = $(LD)
+XLDFLAGS = -Tpe c0x32.obj
+WLDFLAGS = -aa -Tpe c0w32.obj
+DLDFLAGS = -Tpd c0d32.obj
+LIBRUBY_LDSHARED = $(LDSHARED)
+LIBRUBY_DLDFLAGS = -Gi $(DLDFLAGS) $(EXTLDFLAGS)
+LDOBJECTS = $(MAINOBJ)
+
+SOLIBS =
+
+EXEEXT = .exe
+PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
+WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
+RUBYDEF = $(RUBY_SO_NAME).def
+MINIRUBY = .\miniruby$(EXEEXT) $(MINIRUBYOPT)
+RUNRUBY = .\ruby$(EXEEXT) "$(srcdir)runruby.rb" --extout="$(EXTOUT)" --
+
+ORGLIBPATH = $(LIB)
+
+#### End of system configuration section. ####
+
+LIBRUBY_A = $(RUBY_SO_NAME)-static.lib
+LIBRUBY_SO = $(RUBY_SO_NAME).dll
+LIBRUBY = $(RUBY_SO_NAME).lib
+LIBRUBYARG = $(LIBRUBY)
+
+PREP = miniruby$(EXEEXT)
+
+OBJEXT = obj
+
+INSTALLED_LIST= .installed.list
+
+WINMAINOBJ = winmain.$(OBJEXT)
+MINIOBJS = dmydln.$(OBJEXT)
+
+.path.c = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
+.path.h = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
+.path.y = $(srcdir)
+.path. = $(srcdir)
+
+.c.obj:
+ $(CC) $(CFLAGS) $(XCFLAGS) -I. $(CPPFLAGS) -c $(<:/=\)
+
+.rc.res:
+ $(RC) $(RFLAGS) -I. -I$(<D). $(iconinc) -I$(srcdir)win32 $(RFLAGS) -fo$@ $(<:/=\)
+
+.y.c:
+ $(YACC) $(YFLAGS) $(<:\=/)
+ sed -e "s!^ *extern char \*getenv();!/* & */!;s/^\(#.*\)y\.tab/\1parse/" y.tab.c > $(@F)
+ @del y.tab.c
+
+all: $(srcdir)bcc32/Makefile.sub $(srcdir)common.mk
+
+ruby: $(PROGRAM)
+rubyw: $(WPROGRAM)
+
+!include $(srcdir)/common.mk
+
+PHONY: Makefile
+
+CONFIG_H = ./.config.h.time
+
+config: config.status
+
+config.status: $(CONFIG_H)
+
+$(CONFIG_H): $(MKFILES) $(srcdir)bcc32/Makefile.sub
+ @$(srcdir:/=\)win32\ifchange.bat config.h &&|
+\#define HAVE_SYS_TYPES_H 1
+\#define HAVE_SYS_STAT_H 1
+\#define HAVE_STDLIB_H 1
+\#define HAVE_STRING_H 1
+\#define HAVE_MEMORY_H 1
+\#define HAVE_OFF_T 1
+\#define SIZEOF_INT 4
+\#define SIZEOF_SHORT 2
+\#define SIZEOF_LONG 4
+\#define SIZEOF_LONG_LONG 0
+\#define SIZEOF___INT64 8
+\#define SIZEOF_OFF_T 4
+\#define SIZEOF_VOIDP 4
+\#define SIZEOF_FLOAT 4
+\#define SIZEOF_DOUBLE 8
+\#define SIZEOF_TIME_T 4
+\#define HAVE_PROTOTYPES 1
+\#define TOKEN_PASTE(x,y) x\#\#y
+\#define HAVE_STDARG_PROTOTYPES 1
+\#define NORETURN(x) x
+\#define RUBY_EXTERN extern __declspec(dllimport)
+\#define HAVE_DECL_SYS_NERR 1
+\#define HAVE_LIMITS_H 1
+\#define HAVE_FCNTL_H 1
+\#define HAVE_UTIME_H 1
+\#define HAVE_FLOAT_H 1
+\#define rb_uid_t uid_t
+\#define rb_gid_t gid_t
+\#define rb_pid_t int
+\#define HAVE_STRUCT_STAT_ST_RDEV 1
+\#define HAVE_ST_RDEV 1
+\#define GETGROUPS_T int
+\#define RETSIGTYPE void
+\#define HAVE_ALLOCA 1
+\#define HAVE_DUP2 1
+\#define HAVE_MEMMOVE 1
+\#define HAVE_MKDIR 1
+\#define HAVE_STRCASECMP 1
+\#define HAVE_STRNCASECMP 1
+\#define HAVE_STRERROR 1
+\#define HAVE_STRFTIME 1
+\#define HAVE_STRCHR 1
+\#define HAVE_STRSTR 1
+\#define HAVE_STRTOD 1
+\#define HAVE_STRTOL 1
+\#define HAVE_STRTOUL 1
+\#define HAVE_ISNAN 1
+\#define HAVE_FINITE 1
+\#define HAVE_HYPOT 1
+\#define HAVE_FMOD 1
+\#define HAVE_WAITPID 1
+\#define HAVE_FSYNC 1
+\#define HAVE_GETCWD 1
+\#define HAVE_CHSIZE 1
+\#define HAVE_TIMES 1
+\#define HAVE_FCNTL 1
+\#define HAVE_LINK 1
+\#define HAVE_TELLDIR 1
+\#define HAVE_SEEKDIR 1
+\#define HAVE_COSH 1
+\#define HAVE_SINH 1
+\#define HAVE_TANH 1
+\#define RSHIFT(x,y) ((x)>>(int)y)
+\#define FILE_COUNT level
+\#define FILE_READPTR curp
+\#define inline __inline
+\#define NEED_IO_SEEK_BETWEEN_RW 1
+\#define STACK_GROW_DIRECTION -1
+\#define DEFAULT_KCODE KCODE_NONE
+\#define DLEXT ".so"
+\#define RUBY_LIB "/lib/ruby/$(MAJOR).$(MINOR)"
+\#define RUBY_SITE_LIB "/lib/ruby/site_ruby"
+\#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)"
+\#define RUBY_PLATFORM "$(ARCH)-$(OS)"
+\#define RUBY_ARCHLIB "/lib/ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"
+\#define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"
+|
+ @exit > $@
+
+config.status: $(MKFILES) $(srcdir)bcc32/Makefile.sub $(srcdir)common.mk
+ @echo Creating $@
+ @type > $@ &&|
+# Generated automatically by Makefile.sub.
+s,@SHELL@,$$(COMSPEC),;t t
+s,@BUILD_FILE_SEPARATOR@,\,;t t
+s,@PATH_SEPARATOR@,;,;t t
+s,@CFLAGS@,$(CFLAGS),;t t
+s,@CPPFLAGS@,$(CPPFLAGS),;t t
+s,@CXXFLAGS@,$(CXXFLAGS),;t t
+s,@FFLAGS@,$(FFLAGS),;t t
+s,@LDFLAGS@,,;t t
+s,@LIBS@,$(LIBS),;t t
+s,@exec_prefix@,$${prefix},;t t
+s,@prefix@,,;t t
+s,@program_transform_name@,s,,,,;t t
+s,@bindir@,$${exec_prefix}/bin,;t t
+s,@sbindir@,$${exec_prefix}/sbin,;t t
+s,@libexecdir@,$${exec_prefix}/libexec,;t t
+s,@datadir@,$${prefix}/share,;t t
+s,@sysconfdir@,$${prefix}/etc,;t t
+s,@sharedstatedir@,/etc,;t t
+s,@localstatedir@,/var,;t t
+s,@libdir@,$${exec_prefix}/lib,;t t
+s,@includedir@,$${prefix}/include,;t t
+s,@oldincludedir@,/usr/include,;t t
+s,@infodir@,$${prefix}/info,;t t
+s,@mandir@,$${prefix}/man,;t t
+s,@build@,$(CPU)-pc-$(OS),;t t
+s,@build_alias@,$(CPU)-$(OS),;t t
+s,@build_cpu@,$(CPU),;t t
+s,@build_vendor@,pc,;t t
+s,@build_os@,$(OS),;t t
+s,@host@,$(CPU)-pc-$(OS),;t t
+s,@host_alias@,$(CPU)-$(OS),;t t
+s,@host_cpu@,$(CPU),;t t
+s,@host_vendor@,pc,;t t
+s,@host_os@,$(OS),;t t
+s,@target@,$(ARCH)-pc-$(OS),;t t
+s,@target_alias@,$(ARCH)-$(OS),;t t
+s,@target_cpu@,$(ARCH),;t t
+s,@target_vendor@,pc,;t t
+s,@target_os@,$(OS),;t t
+s,@CC@,$(CC),;t t
+s,@CPP@,cpp32,;t t
+s,@YACC@,$(YACC),;t t
+s,@RANLIB@,,;t t
+s,@AR@,$(AR),;t t
+s,@ARFLAGS@,$(ARFLAGS) ,;t t
+s,@LN_S@,$(LN_S),;t t
+s,@SET_MAKE@,$(SET_MAKE),;t t
+s,@CP@,copy > nul,;t t
+s,@LIBOBJS@, acosh.obj crypt.obj erf.obj win32.obj,;t t
+s,@ALLOCA@,$(ALLOCA),;t t
+s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t
+s,@EXEEXT@,.exe,;t t
+s,@OBJEXT@,obj,;t t
+s,@XCFLAGS@,$(XCFLAGS),;t t
+s,@XLDFLAGS@,$(XLDFLAGS),;t t
+s,@DLDFLAGS@,$(DLDFLAGS),;t t
+s,@ARCH_FLAG@,$(ARCH_FLAG),;t t
+s,@STATIC@,$(STATIC),;t t
+s,@CCDLFLAGS@,,;t t
+s,@LDSHARED@,$(LDSHARED),;t t
+s,@DLEXT@,so,;t t
+s,@LIBEXT@,lib,;t t
+s,@STRIP@,$(STRIP),;t t
+s,@EXTSTATIC@,$(EXTSTATIC),;t t
+s,@setup@,Setup,;t t
+s,@MINIRUBY@,$(MINIRUBY),;t t
+s,@PREP@,miniruby$(EXEEXT),;t t
+s,@RUNRUBY@,$(RUNRUBY),;t t
+s,@EXTOUT@,$(EXTOUT),;t t
+s,@ARCHFILE@,,;t t
+s,@RDOCTARGET@,,;t t
+s,@LIBRUBY_LDSHARED@,$$(LDSHARED),;t t
+s,@LIBRUBY_DLDFLAGS@,-Gi $$(DLDFLAGS),;t t
+s,@RUBY_INSTALL_NAME@,$(RUBY_INSTALL_NAME),;t t
+s,@rubyw_install_name@,$(RUBYW_INSTALL_NAME),;t t
+s,@RUBYW_INSTALL_NAME@,$(RUBYW_INSTALL_NAME),;t t
+s,@RUBY_SO_NAME@,$(RUBY_SO_NAME),;t t
+s,@LIBRUBY_A@,$$(RUBY_SO_NAME)-static.lib,;t t
+s,@LIBRUBY_SO@,$$(RUBY_SO_NAME).dll,;t t
+s,@LIBRUBY_ALIASES@,$(LIBRUBY_ALIASES),;t t
+s,@LIBRUBY@,$$(RUBY_SO_NAME).lib,;t t
+s,@LIBRUBYARG@,$$(LIBRUBYARG_SHARED),;t t
+s,@LIBRUBYARG_STATIC@,$$(LIBRUBY_A),;t t
+s,@LIBRUBYARG_SHARED@,$$(LIBRUBY),;t t
+s,@SOLIBS@,$(SOLIBS),;t t
+s,@DLDLIBS@,$(DLDLIBS),;t t
+s,@ENABLE_SHARED@,yes,;t t
+s,@OUTFLAG@,$(OUTFLAG),;t t
+s,@CPPOUTFILE@,,;t t
+s,@LIBPATHFLAG@, -L"%s",;t t
+s,@RPATHFLAG@,,;t t
+s,@LIBARG@,%s.lib,;t t
+s,@LINK_SO@,$$(LDSHARED) $$(DLDFLAGS) $$(LIBPATH) $$(OBJS), $$(@:/=\), nul, $$(LIBS) $$(LOCAL_LIBS), $$(DEFFILE), $$(RESFILE),;t t
+s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) -c $$(<:/=\),;t t
+s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) -P -c $$(<:/=\),;t t
+s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t
+s,@RULE_SUBST@,{.;$$(VPATH)}%s,;t t
+s,@COMMON_LIBS@,m advapi32 avicap32 avifil32 cap comctl32 comdlg32 dlcapi gdi32 glu32 imagehlp imm32 inetmib1 kernel32 loadperf lsapi32 lz32 mapi32 mgmtapi mpr msacm32 msvfw32 nddeapi netapi32 ole32 oleaut32 oledlg olepro32 opengl32 pdh pkpd32 rasapi32 rasdlg rassapi rpcrt4 setupapi shell32 shfolder snmpapi sporder tapi32 url user32 vdmdbg version win32spl winmm wintrust wsock32,;t t
+s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN,;t t
+s,@COMMON_HEADERS@,winsock2.h windows.h,;t t
+s,@TRY_LINK@,$$(CC) -oconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(LIBPATH) $$(LDFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS),;t t
+s,@EXPORT_PREFIX@,_,;t t
+s,@arch@,$(ARCH)-$(OS),;t t
+s,@sitearch@,$(ARCH)-$(OS),;t t
+s,@sitedir@,$${prefix}/lib/ruby/site_ruby,;t t
+s,@configure_args@,--enable-shared $(configure_args),;t t
+s,@configure_input@,$$configure_input,;t t
+s,@srcdir@,$(srcdir),;t t
+s,@top_srcdir@,$(srcdir),;t t
+|
+
+miniruby$(EXEEXT):
+ @echo $(LIBS)
+ $(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(MINIOBJS),$@,nul,$(LIBRUBY_A) $(LIBS)
+
+$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
+ $(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ),$@,nul,$(LIBRUBYARG) $(LIBS),,$(RUBY_INSTALL_NAME).res
+
+$(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res
+ $(LD) $(LDFLAGS) $(WLDFLAGS) $(MAINOBJ) $(WINMAINOBJ),$@,nul,$(LIBRUBYARG) $(LIBS),,$(RUBYW_INSTALL_NAME).res
+
+$(LIBRUBY_A): $(OBJS) $(DMYEXT)
+ @-if exist $@ del $@
+ $(AR) $(ARFLAGS) "$@" $(OBJS) $(DMYEXT)
+
+# $(LIBRUBY): $(LIBRUBY_SO)
+# implib $@ $(LIBRUBY_SO)
+
+$(LIBRUBY_SO): $(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res
+ @echo $(DLDOBJS)
+ @$(PRE_LIBRUBY_UPDATE)
+ $(LIBRUBY_LDSHARED) $(LIBRUBY_DLDFLAGS) $(DLDOBJS:/=\),$(LIBRUBY_SO),nul,$(LIBRUBY_A) $(LIBS),$(RUBYDEF),$(RUBY_SO_NAME).res
+
+$(LIBRUBY): $(LIBRUBY_SO)
+
+$(RUBYDEF): $(LIBRUBY_A) $(PREP)
+ $(MINIRUBY) $(srcdir)bcc32/mkexports.rb -output=$@ -base=$(RUBY_SO_NAME) $(LIBRUBY_A)
+
+$(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc: rbconfig.rb
+ @$(MINIRUBY) $(srcdir)win32/resource.rb \
+ -ruby_name=$(RUBY_INSTALL_NAME) \
+ -rubyw_name=$(RUBYW_INSTALL_NAME) \
+ -so_name=$(RUBY_SO_NAME) \
+ . $(icondirs) $(srcdir)win32
+
+post-install-bin::
+ @$(NULLCMD)
+post-install-lib::
+ @$(NULLCMD)
+post-install-ext-comm::
+ @$(NULLCMD)
+post-install-ext-arch::
+ @$(NULLCMD)
+post-install-man::
+ @$(NULLCMD)
+post-install-doc::
+ @$(NULLCMD)
+
+clean-local::
+ @$(RM) ext\extinit.c ext\extinit.$(OBJEXT) *.tds *.il? $(RUBY_SO_NAME).lib
+ @$(RM) $(RUBY_INSTALL_NAME).res $(RUBYW_INSTALL_NAME).res $(RUBY_SO_NAME).res
+
+distclean-local::
+ @$(RM) ext\config.cache $(RBCONFIG:/=\)
+ @$(RM) *.map *.pdb *.ilk *.exp $(RUBYDEF)
+ @$(RM) $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
+
+ext/extinit.obj: ext/extinit.c $(SETUP)
+ $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -o$@ -c ext/extinit.c
+
+main.$(OBJEXT): win32.h
+array.$(OBJEXT): win32.h
+bignum.$(OBJEXT): win32.h
+class.$(OBJEXT): win32.h
+compar.$(OBJEXT): win32.h
+dir.$(OBJEXT): dir.h win32.h
+dln.$(OBJEXT): win32.h
+enum.$(OBJEXT): win32.h
+error.$(OBJEXT): win32.h
+eval.$(OBJEXT): win32.h
+file.$(OBJEXT): win32.h
+gc.$(OBJEXT): win32.h
+hash.$(OBJEXT): win32.h
+inits.$(OBJEXT): win32.h
+io.$(OBJEXT): win32.h
+marshal.$(OBJEXT): win32.h
+math.$(OBJEXT): win32.h
+numeric.$(OBJEXT): win32.h
+object.$(OBJEXT): win32.h
+pack.$(OBJEXT): win32.h
+parse.$(OBJEXT): win32.h
+process.$(OBJEXT): win32.h
+prec.$(OBJEXT): win32.h
+random.$(OBJEXT): win32.h
+range.$(OBJEXT): win32.h
+re.$(OBJEXT): win32.h
+regex.$(OBJEXT): win32.h
+ruby.$(OBJEXT): win32.h
+signal.$(OBJEXT): win32.h
+sprintf.$(OBJEXT): win32.h
+st.$(OBJEXT): win32.h
+string.$(OBJEXT): win32.h
+struct.$(OBJEXT): win32.h
+time.$(OBJEXT): win32.h
+util.$(OBJEXT): win32.h
+variable.$(OBJEXT): win32.h
+version.$(OBJEXT): win32.h
diff --git a/bcc32/README.bcc32 b/bcc32/README.bcc32
new file mode 100644
index 0000000000..c27a1261f1
--- /dev/null
+++ b/bcc32/README.bcc32
@@ -0,0 +1,137 @@
+=begin
+
+= How to build ruby using Borland C++
+
+== Requirement
+
+(1) Borland C++ 5.0 or later.
+
+(2) Please set environment variable (({PATH}))
+ to run required commands properly from the command line.
+
+ Note: building ruby requires following commands.
+ * make
+ * bcc32
+ * tlib
+ * ilink32
+
+(3) If you want to build from CVS source, following commands are required.
+ * byacc ((<URL:http://gnuwin32.sourceforge.net/packages/byacc.htm>))
+ * sed ((<URL:http://gnuwin32.sourceforge.net/packages/sed.htm>))
+
+(4) We strongly recommend to build ruby on C++Builder, to link following files.
+ * usebormm.lib
+ * memmgr.lib
+
+ RTL's internal memory manager cannot handle large memory block properly,
+ so we should use borlndmm.dll instead.
+ 10000.times { "" << "." * 529671; GC.start } # crash
+
+== How to compile and install
+
+(1) Execute bcc32\configure.bat on your build directory.
+ ex. c:\ruby-1.6.7>bcc32\configure.bat
+
+(2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile}))
+ if you want to change the name of the executable files.
+ And add ((|RUBYW_INSTALL_NAME|)) to change the name of the
+ executable without console window if also you want.
+
+(3) Run `((%make%))'
+
+(4) Run `((%make test%))'
+
+(5) Run `((%make DESTDIR=<install_directory> install%))'
+
+ This command will create following directories and install files onto them.
+ * <install_directory>\bin
+ * <install_directory>\lib
+ * <install_directory>\lib\ruby
+ * <install_directory>\lib\ruby\<MAJOR>.<MINOR>
+ * <install_directory>\lib\ruby\<MAJOR>.<MINOR>\<PLATFORM>
+ * <install_directory>\lib\ruby\site_ruby
+ * <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>
+ * <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>\<PLATFORM>
+ * <install_directory>\man\man1
+ If Ruby's version is `x.y.z', the ((|<MAJOR>|)) is `x' and the ((|<MINOR>|)) is `y'.
+ The ((|<PLATFORM>|)) is usually `(({i586-bccwin32}))'.
+
+(6) Requires dynamic RTL (cc3250.dll on C++Builder5) and borlndmm.dll (If built with
+ usebormm.lib) to use installed binary. These files are ordinary in bcc32's bin
+ directory.
+
+== Icons
+
+Any icon files(*.ico) in the build directory, directories specified with
+((|icondirs|)) make variable and (({win32})) directory under the ruby
+source directory will be included in DLL or executable files, according
+to their base names.
+ $(RUBY_INSTALL_NAME).ico or ruby.ico --> $(RUBY_INSTALL_NAME).exe
+ $(RUBYW_INSTALL_NAME).ico or rubyw.ico --> $(RUBYW_INSTALL_NAME).exe
+ the others --> $(RUBY_SO_NAME).dll
+
+Although no icons are distributed with the ruby source or in the official
+site, you can use anything you like. For example, followings are written
+in Japanese, but you can download at least.
+
+* ((<URL:http://member.nifty.ne.jp/ueivu/rubyico.html>)) or
+ ((<zipped icons|URL:http://member.nifty.ne.jp/ueivu/Ruby_ico.zip>))
+* ((<URL:http://homepage1.nifty.com/a_nakata/ruby/>)) or
+ ((<icon itself|URL:http://homepage1.nifty.com/a_nakata/ruby/RubyIcon.ico>))
+
+== Build examples
+
+* Build on the ruby source directory.
+
+ ex.)
+ ruby source directory: C:\ruby
+ build directory: C:\ruby
+ install directory: C:\usr\local
+
+ C:
+ cd \ruby
+ bcc32\configure
+ make
+ make test
+ make DESTDIR=/usr/local install
+
+* Build on the relative directory from the ruby source directory and CPU type
+ i386.
+
+ ex.)
+ ruby source directory: C:\ruby
+ build directory: C:\ruby\bccwin32
+ install directory: C:\usr\local
+ CPU i386
+
+ C:
+ cd \ruby
+ mkdir bccwin32
+ cd bccwin32
+ ..\bcc32\configure target i386-bccwin32
+ make
+ make test
+ make DESTDIR=/usr/local install
+
+* Build on the different drive.
+
+ ex.)
+ ruby source directory: C:\src\ruby
+ build directory: D:\build\ruby
+ install directory: C:\usr\local
+
+ D:
+ cd D:\build\ruby
+ C:\src\ruby\bcc32\configure
+ make
+ make test
+ make DESTDIR=C:/usr/local install
+
+== Bugs
+
+You can ((*NOT*)) use a path name contains any white space characters as
+the ruby source directory, this restriction comes from the behavior of
+(({!INCLUDE})) directives of (({MAKE})).
+((- you may call it a bug. -))
+
+=end
diff --git a/bcc32/configure.bat b/bcc32/configure.bat
new file mode 100755
index 0000000000..143ad947f0
--- /dev/null
+++ b/bcc32/configure.bat
@@ -0,0 +1,92 @@
+@echo off
+::: Don't set environment variable in batch file other than autoexec.bat
+::: to avoid "Out of environment space" problem on Windows 95/98.
+::: set TMPMAKE=~tmp~.mak
+
+echo> ~tmp~.mak ####
+echo>> ~tmp~.mak conf = %0
+echo>> ~tmp~.mak $(conf:\=/): nul
+echo>> ~tmp~.mak @del ~tmp~.mak
+echo>> ~tmp~.mak @-$(MAKE) -l$(MAKEFLAGS) -f $(@D)setup.mak \
+:loop
+if "%1" == "" goto :end
+if "%1" == "--prefix" goto :prefix
+if "%1" == "--srcdir" goto :srcdir
+if "%1" == "srcdir" goto :srcdir
+if "%1" == "--target" goto :target
+if "%1" == "target" goto :target
+if "%1" == "--with-static-linked-ext" goto :extstatic
+if "%1" == "--program-suffix" goto :suffix
+if "%1" == "--program-name" goto :progname
+if "%1" == "--enable-install-doc" goto :enable-rdoc
+if "%1" == "--disable-install-doc" goto :disable-rdoc
+if "%1" == "--extout" goto :extout
+if "%1" == "-h" goto :help
+if "%1" == "--help" goto :help
+ echo>> ~tmp~.mak "%1" \
+ shift
+goto :loop
+:srcdir
+ echo>> ~tmp~.mak -D"srcdir=%2" \
+ shift
+ shift
+goto :loop
+:prefix
+ echo>> ~tmp~.mak -D"prefix=%2" \
+ shift
+ shift
+goto :loop
+:suffix
+ echo>> ~tmp~.mak -D"RUBY_SUFFIX=%2" \
+ shift
+ shift
+goto :loop
+:installname
+ echo>> ~tmp~.mak -D"RUBY_INSTALL_NAME=%2" \
+ shift
+ shift
+goto :loop
+:soname
+ echo>> ~tmp~.mak -D"RUBY_SO_NAME=%2" \
+ shift
+ shift
+goto :loop
+:target
+ echo>> ~tmp~.mak "%2" \
+ shift
+ shift
+goto :loop
+:extstatic
+ echo>> ~tmp~.mak -D"EXTSTATIC=static" \
+ shift
+goto :loop
+:enable-rdoc
+ echo>> ~tmp~.mak -D"RDOCTARGET=install-doc" \
+ shift
+goto :loop
+:disable-rdoc
+ echo>> ~tmp~.mak -D"RDOCTARGET=install-nodoc" \
+ shift
+goto :loop
+:extout
+ echo>> ~tmp~.mak -D"EXTOUT=%2" \
+ shift
+ shift
+goto :loop
+:help
+ echo Configuration:
+ echo --help display this help
+ echo --srcdir=DIR find the sources in DIR [configure dir or `..']
+ echo Installation directories:
+ echo --prefix=PREFIX install files in PREFIX (ignored currently)
+ echo System types:
+ echo --target=TARGET configure for TARGET [i386-bccwin32]
+ echo Optional Package:
+ echo --with-static-linked-ext link external modules statically
+ echo --enable-install-doc install rdoc indexes during install
+ del ~tmp~.mak
+goto :exit
+:end
+echo>> ~tmp~.mak -Dbcc32dir="$(@D)"
+make -s -f ~tmp~.mak
+:exit
diff --git a/bcc32/mkexports.rb b/bcc32/mkexports.rb
new file mode 100755