summaryrefslogtreecommitdiff
path: root/spec/ruby/core/env/shared/each.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/env/shared/each.rb')
-rw-r--r--spec/ruby/core/env/shared/each.rb65
1 files changed, 0 insertions, 65 deletions
diff --git a/spec/ruby/core/env/shared/each.rb b/spec/ruby/core/env/shared/each.rb
deleted file mode 100644
index d901b854c4..0000000000
--- a/spec/ruby/core/env/shared/each.rb
+++ /dev/null
@@ -1,65 +0,0 @@
-require_relative '../../enumerable/shared/enumeratorized'
-
-describe :env_each, shared: true do
- it "returns each pair" do
- orig = ENV.to_hash
- e = []
- begin
- ENV.clear
- ENV["foo"] = "bar"
- ENV["baz"] = "boo"
- ENV.send(@method) { |k, v| e << [k, v] }.should equal(ENV)
- e.should include(["foo", "bar"])
- e.should include(["baz", "boo"])
- ensure
- ENV.replace orig
- end
- end
-
- it "returns an Enumerator if called without a block" do
- enum = ENV.send(@method)
- enum.should be_an_instance_of(Enumerator)
- enum.each do |name, value|
- ENV[name].should == value
- end
- end
-
- before :all do
- @object = ENV
- end
- it_should_behave_like :enumeratorized_with_origin_size
-
- describe "with encoding" do
- before :each do
- @external = Encoding.default_external
- @internal = Encoding.default_internal
-
- Encoding.default_external = Encoding::BINARY
- end
-
- after :each do
- Encoding.default_external = @external
- Encoding.default_internal = @internal
- end
-
- it "uses the locale encoding when Encoding.default_internal is nil" do
- Encoding.default_internal = nil
-
- ENV.send(@method) do |key, value|
- key.should.be_locale_env
- value.should.be_locale_env
- end
- end
-
- it "transcodes from the locale encoding to Encoding.default_internal if set" do
- Encoding.default_internal = internal = Encoding::IBM437
-
- ENV.send(@method) do |key, value|
- key.encoding.should equal(internal)
- if value.ascii_only?
- value.encoding.should equal(internal)
- end
- end
- end
- end
-end
style='width: 100.0%;'/> -rw-r--r--KNOWNBUGS.rb5
-rw-r--r--LEGAL406
-rw-r--r--LGPL504
-rw-r--r--Makefile.in454
-rw-r--r--NEWS458
-rw-r--r--README114
-rw-r--r--README.EXT1619
-rw-r--r--README.EXT.ja2097
-rw-r--r--README.ja160
-rw-r--r--README.ja.md163
-rw-r--r--README.md161
-rw-r--r--ToDo126
-rw-r--r--addr2line.c1208
-rw-r--r--addr2line.h21
-rw-r--r--array.c5820
-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.rb291
-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_lc_fizzbuzz.rb52
-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_aref_flo.rb4
-rw-r--r--benchmark/bm_hash_aref_miss.rb5
-rw-r--r--benchmark/bm_hash_aref_str.rb4
-rw-r--r--benchmark/bm_hash_aref_sym.rb9
-rw-r--r--benchmark/bm_hash_aref_sym_long.rb13
-rw-r--r--benchmark/bm_hash_flatten.rb9
-rw-r--r--benchmark/bm_hash_ident_flo.rb4
-rw-r--r--benchmark/bm_hash_ident_num.rb4
-rw-r--r--benchmark/bm_hash_ident_obj.rb4
-rw-r--r--benchmark/bm_hash_ident_str.rb4
-rw-r--r--benchmark/bm_hash_ident_sym.rb4
-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_marshal_dump_flo.rb2
-rw-r--r--benchmark/bm_securerandom.rb5
-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_newlambda.rb5
-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_struct_big_aref_hi.rb7
-rw-r--r--benchmark/bm_vm2_struct_big_aref_lo.rb7
-rw-r--r--benchmark/bm_vm2_struct_big_aset.rb7
-rw-r--r--benchmark/bm_vm2_struct_small_aref.rb7
-rw-r--r--benchmark/bm_vm2_struct_small_aset.rb7
-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_close.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.rb321
-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.c7293
-rwxr-xr-xbin/erb100
-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/testrb5
-rw-r--r--bootstraptest/pending.rb39
-rwxr-xr-xbootstraptest/runner.rb505
-rw-r--r--bootstraptest/test_attr.rb36
-rw-r--r--bootstraptest/test_autoload.rb70
-rw-r--r--bootstraptest/test_block.rb613
-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.rb75
-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_string.rb3
-rw-r--r--bootstraptest/test_struct.rb5
-rw-r--r--bootstraptest/test_syntax.rb902
-rw-r--r--bootstraptest/test_thread.rb476
-rw-r--r--ccan/build_assert/build_assert.h40
-rw-r--r--ccan/check_type/check_type.h63
-rw-r--r--ccan/container_of/container_of.h142
-rw-r--r--ccan/licenses/BSD-MIT17
-rw-r--r--ccan/licenses/CC028
-rw-r--r--ccan/list/list.h635
-rw-r--r--ccan/str/str.h16
-rw-r--r--class.c1886
-rw-r--r--common.mk2385
-rw-r--r--compar.c141
-rw-r--r--compile.c6337
-rw-r--r--complex.c2217
-rw-r--r--config.guess1459
-rw-r--r--config.sub1537
-rw-r--r--configure.in4622
-rw-r--r--constant.h43
-rw-r--r--cont.c1695
-rw-r--r--coverage/README17
-rw-r--r--cygwin/GNUmakefile.in67
-rw-r--r--debug.c165
-rw-r--r--defines.h264
-rw-r--r--defs/default_gems4
-rw-r--r--defs/gmake.mk63
-rw-r--r--defs/id.def122
-rw-r--r--defs/keywords53
-rw-r--r--defs/known_errors.def148
-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.c1848
-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.c295
-rw-r--r--dmydln.c11
-rw-r--r--dmyenc.c10
-rw-r--r--dmyext.c2
-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-2.1.018060
-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/NEWS-2.1.0376
-rw-r--r--doc/contributing.rdoc466
-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.ja47
-rw-r--r--doc/globals.rdoc70
-rw-r--r--doc/images/boottime-classes.pngbin28677 -> 0 bytes-rw-r--r--doc/irb/irb-tools.rd.ja117
-rw-r--r--doc/irb/irb.rd392
-rw-r--r--doc/irb/irb.rd.ja375
-rw-r--r--doc/keywords.rdoc158
-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.rdoc688
-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.rdoc124
-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.rdoc305
-rw-r--r--doc/syntax/methods.rdoc456
-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.rdoc261
-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/depend568
-rw-r--r--enc/emacs_mule.c341
-rw-r--r--enc/encdb.c26
-rw-r--r--enc/encinit.c.erb37
-rw-r--r--enc/euc_jp.c615
-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.c287
-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.c252
-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/jis/props.h227
-rw-r--r--enc/jis/props.h.blt227
-rw-r--r--enc/jis/props.kwd52
-rw-r--r--enc/jis/props.src52
-rw-r--r--enc/koi8_r.c221
-rw-r--r--enc/koi8_u.c223
-rwxr-xr-xenc/make_encmake.rb137
-rw-r--r--enc/mktable.c1162
-rw-r--r--enc/prelude.rb4
-rw-r--r--enc/shift_jis.c583
-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.c607
-rwxr-xr-xenc/unicode/case-folding.rb196
-rw-r--r--enc/unicode/casefold.h5619
-rw-r--r--enc/unicode/name2ctype.h32679
-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.c254
-rw-r--r--enc/utf_16le.c246
-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.c1967
-rw-r--r--enum.c3419
-rw-r--r--enumerator.c2092
-rw-r--r--env.h60
-rw-r--r--error.c2391
-rw-r--r--eval.c13494
-rw-r--r--eval_error.c323
-rw-r--r--eval_intern.h275
-rw-r--r--eval_jump.c143
-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.c53
-rw-r--r--ext/-test-/bignum/bigzero.c26
-rw-r--r--ext/-test-/bignum/depend102
-rw-r--r--ext/-test-/bignum/div.c35
-rw-r--r--ext/-test-/bignum/extconf.rb7
-rw-r--r--ext/-test-/bignum/init.c11
-rw-r--r--ext/-test-/bignum/intpack.c87
-rw-r--r--ext/-test-/bignum/mul.c65
-rw-r--r--ext/-test-/bignum/str2big.c38
-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/depend32
-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/depend43
-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/depend36
-rw-r--r--ext/-test-/file/extconf.rb21
-rw-r--r--ext/-test-/file/fs.c77
-rw-r--r--ext/-test-/file/init.c11
-rw-r--r--ext/-test-/file/stat.c27
-rw-r--r--ext/-test-/float/depend3
-rw-r--r--ext/-test-/float/extconf.rb7
-rw-r--r--ext/-test-/float/init.c11
-rw-r--r--ext/-test-/float/nextafter.c36
-rw-r--r--ext/-test-/funcall/extconf.rb2
-rw-r--r--ext/-test-/funcall/passing_block.c30
-rw-r--r--ext/-test-/hash/delete.c16
-rw-r--r--ext/-test-/hash/extconf.rb7
-rw-r--r--ext/-test-/hash/init.c11
-rw-r--r--ext/-test-/iseq_load/extconf.rb1
-rw-r--r--ext/-test-/iseq_load/iseq_load.c21
-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.c50
-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-/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.c101
-rw-r--r--ext/-test-/proc/extconf.rb7
-rw-r--r--ext/-test-/proc/init.c11
-rw-r--r--ext/-test-/proc/receiver.c21
-rw-r--r--ext/-test-/proc/super.c27
-rw-r--r--ext/-test-/rational/depend20
-rw-r--r--ext/-test-/rational/extconf.rb7
-rw-r--r--ext/-test-/rational/rat.c37
-rw-r--r--ext/-test-/recursion/extconf.rb2
-rw-r--r--ext/-test-/recursion/recursion.c28
-rw-r--r--ext/-test-/st/foreach/extconf.rb1
-rw-r--r--ext/-test-/st/foreach/foreach.c175
-rw-r--r--ext/-test-/st/numhash/extconf.rb1
-rw-r--r--ext/-test-/st/numhash/numhash.c138
-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.c47
-rw-r--r--ext/-test-/string/cstr.c57
-rw-r--r--ext/-test-/string/depend115
-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/nofree.c13
-rw-r--r--ext/-test-/string/normalize.c17
-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.rb7
-rw-r--r--ext/-test-/symbol/init.c25
-rw-r--r--ext/-test-/symbol/type.c78
-rw-r--r--ext/-test-/tracepoint/depend22
-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/depend14
-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/console/attribute.c56
-rw-r--r--ext/-test-/win32/console/depend1
-rw-r--r--ext/-test-/win32/console/extconf.rb8
-rw-r--r--ext/-test-/win32/console/init.c11
-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/depend1
-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/Setup10
-rw-r--r--ext/Setup.atheos9
-rw-r--r--ext/Setup.dj34
-rw-r--r--ext/Setup.emx11
-rw-r--r--ext/Setup.nacl45
-rw-r--r--ext/Setup.nt10
-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/README60
-rw-r--r--ext/bigdecimal/bigdecimal.c6881
-rw-r--r--ext/bigdecimal/bigdecimal.def2
-rw-r--r--ext/bigdecimal/bigdecimal.gemspec31
-rw-r--r--ext/bigdecimal/bigdecimal.h222
-rw-r--r--ext/bigdecimal/bigdecimal_en.html796
-rw-r--r--ext/bigdecimal/bigdecimal_ja.html799
-rw-r--r--ext/bigdecimal/depend14
-rw-r--r--ext/bigdecimal/extconf.rb4
-rw-r--r--ext/bigdecimal/lib/bigdecimal/jacobian.rb36
-rw-r--r--ext/bigdecimal/lib/bigdecimal/ludcmp.rb44
-rw-r--r--ext/bigdecimal/lib/bigdecimal/math.rb176
-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.rb21
-rw-r--r--ext/bigdecimal/sample/nlsolve.rb23
-rw-r--r--ext/continuation/continuation.c13
-rw-r--r--ext/continuation/extconf.rb3
-rw-r--r--ext/coverage/coverage.c109
-rw-r--r--ext/coverage/depend41
-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.c9573
-rw-r--r--ext/date/date_parse.c3128
-rw-r--r--ext/date/date_strftime.c633
-rw-r--r--ext/date/date_strptime.c701
-rw-r--r--ext/date/date_tmx.h56
-rw-r--r--ext/date/depend53
-rw-r--r--ext/date/extconf.rb5
-rw-r--r--ext/date/lib/date.rb60
-rw-r--r--ext/dbm/.cvsignore3
-rw-r--r--ext/dbm/dbm.c761
-rw-r--r--ext/dbm/depend1
-rw-r--r--ext/dbm/extconf.rb284
-rw-r--r--ext/digest/.cvsignore3
-rw-r--r--ext/digest/bubblebabble/.cvsignore3
-rw-r--r--ext/digest/bubblebabble/bubblebabble.c40
-rw-r--r--ext/digest/bubblebabble/depend16
-rw-r--r--ext/digest/bubblebabble/extconf.rb1
-rw-r--r--ext/digest/defs.h14
-rw-r--r--ext/digest/depend15
-rw-r--r--ext/digest/digest.c163
-rw-r--r--ext/digest/digest.h6
-rw-r--r--ext/digest/extconf.rb2
-rw-r--r--ext/digest/lib/digest.rb84
-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/depend22
-rw-r--r--ext/digest/md5/extconf.rb15
-rw-r--r--ext/digest/md5/md5.c14
-rw-r--r--ext/digest/md5/md5.h6
-rw-r--r--ext/digest/md5/md5init.c14
-rw-r--r--ext/digest/rmd160/.cvsignore3
-rw-r--r--ext/digest/rmd160/depend34
-rw-r--r--ext/digest/rmd160/extconf.rb14
-rw-r--r--ext/digest/rmd160/rmd160.c16
-rw-r--r--ext/digest/rmd160/rmd160.h8
-rw-r--r--ext/digest/rmd160/rmd160init.c14
-rw-r--r--ext/digest/rmd160/rmd160ossl.c2
-rw-r--r--ext/digest/sha1/.cvsignore3
-rw-r--r--ext/digest/sha1/depend34
-rw-r--r--ext/digest/sha1/extconf.rb14
-rw-r--r--ext/digest/sha1/sha1.c6
-rw-r--r--ext/digest/sha1/sha1.h10
-rw-r--r--ext/digest/sha1/sha1init.c18
-rw-r--r--ext/digest/sha1/sha1ossl.c2
-rw-r--r--ext/digest/sha2/.cvsignore3
-rw-r--r--ext/digest/sha2/depend33
-rw-r--r--ext/digest/sha2/extconf.rb29
-rw-r--r--ext/digest/sha2/lib/sha2.rb50
-rw-r--r--ext/digest/sha2/sha2.c312
-rw-r--r--ext/digest/sha2/sha2.h170
-rw-r--r--ext/digest/sha2/sha2init.c15
-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/depend46
-rw-r--r--ext/dl/dl.c728
-rw-r--r--ext/dl/dl.def59
-rw-r--r--ext/dl/dl.h313
-rw-r--r--ext/dl/doc/dl.txt266
-rw-r--r--ext/dl/extconf.rb193
-rw-r--r--ext/dl/h2rb500
-rw-r--r--ext/dl/handle.c215
-rw-r--r--ext/dl/install.rb49
-rw-r--r--ext/dl/lib/dl/import.rb225
-rw-r--r--ext/dl/lib/dl/struct.rb149
-rw-r--r--ext/dl/lib/dl/types.rb245
-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/depend10
-rw-r--r--ext/etc/etc.c1036
-rw-r--r--ext/etc/etc.txt72
-rw-r--r--ext/etc/etc.txt.ja72
-rw-r--r--ext/etc/extconf.rb74
-rw-r--r--ext/etc/mkconstants.rb331
-rw-r--r--[-rwxr-xr-x]ext/extmk.rb511
-rw-r--r--ext/fcntl/.cvsignore3
-rw-r--r--ext/fcntl/depend1
-rw-r--r--ext/fcntl/fcntl.c192
-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/depend55
-rw-r--r--ext/fiddle/extconf.rb168
-rw-r--r--ext/fiddle/extlibs2
-rw-r--r--ext/fiddle/fiddle.c454
-rw-r--r--ext/fiddle/fiddle.h138
-rw-r--r--ext/fiddle/function.c279
-rw-r--r--ext/fiddle/function.h8
-rw-r--r--ext/fiddle/handle.c482
-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.c721
-rwxr-xr-xext/fiddle/win32/fficonfig.h29
-rw-r--r--ext/fiddle/win32/libffi-3.2.1-mswin.patch132
-rwxr-xr-xext/fiddle/win32/libffi-config.rb47
-rwxr-xr-xext/fiddle/win32/libffi.mk.tmpl96
-rw-r--r--ext/gdbm/.cvsignore3
-rw-r--r--ext/gdbm/depend1
-rw-r--r--ext/gdbm/extconf.rb11
-rw-r--r--ext/gdbm/gdbm.c518
-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.c774
-rw-r--r--ext/io/console/depend4
-rw-r--r--ext/io/console/extconf.rb21
-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.c138
-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.c167
-rw-r--r--ext/json/extconf.rb3
-rw-r--r--ext/json/fbuffer/fbuffer.h190
-rw-r--r--ext/json/generator/depend21
-rw-r--r--ext/json/generator/extconf.rb4
-rw-r--r--ext/json/generator/generator.c1458
-rw-r--r--ext/json/generator/generator.h152
-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/depend20
-rw-r--r--ext/json/parser/extconf.rb5
-rw-r--r--ext/json/parser/parser.c2235
-rw-r--r--ext/json/parser/parser.h78
-rw-r--r--ext/json/parser/parser.rl958
-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/depend23
-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.c405
-rw-r--r--ext/objspace/depend66
-rw-r--r--ext/objspace/extconf.rb3
-rw-r--r--ext/objspace/object_tracing.c492
-rw-r--r--ext/objspace/objspace.c777
-rw-r--r--ext/objspace/objspace.h20
-rw-r--r--ext/objspace/objspace_dump.c434
-rw-r--r--ext/openssl/.cvsignore5
-rw-r--r--ext/openssl/depend1091
-rw-r--r--ext/openssl/deprecation.rb21
-rw-r--r--ext/openssl/extconf.rb100
-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.rb48
-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.rb245
-rw-r--r--ext/openssl/lib/openssl/x509.rb80
-rw-r--r--ext/openssl/openssl_missing.c41
-rw-r--r--ext/openssl/openssl_missing.h108
-rw-r--r--ext/openssl/ossl.c856
-rw-r--r--ext/openssl/ossl.h76
-rw-r--r--ext/openssl/ossl_asn1.c1288
-rw-r--r--ext/openssl/ossl_asn1.h4
-rw-r--r--ext/openssl/ossl_bio.c28
-rw-r--r--ext/openssl/ossl_bn.c342
-rw-r--r--ext/openssl/ossl_bn.h5
-rw-r--r--ext/openssl/ossl_cipher.c763
-rw-r--r--ext/openssl/ossl_cipher.h1
-rw-r--r--ext/openssl/ossl_config.c428
-rw-r--r--ext/openssl/ossl_digest.c422
-rw-r--r--ext/openssl/ossl_digest.h1
-rw-r--r--ext/openssl/ossl_engine.c283
-rw-r--r--ext/openssl/ossl_hmac.c242
-rw-r--r--ext/openssl/ossl_ns_spki.c207
-rw-r--r--ext/openssl/ossl_ocsp.c679
-rw-r--r--ext/openssl/ossl_pkcs12.c112
-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.c243
-rw-r--r--ext/openssl/ossl_pkcs7.h1
-rw-r--r--ext/openssl/ossl_pkey.c264
-rw-r--r--ext/openssl/ossl_pkey.h48
-rw-r--r--ext/openssl/ossl_pkey_dh.c293
-rw-r--r--ext/openssl/ossl_pkey_dsa.c295
-rw-r--r--ext/openssl/ossl_pkey_ec.c1703
-rw-r--r--ext/openssl/ossl_pkey_rsa.c335
-rw-r--r--ext/openssl/ossl_rand.c170
-rw-r--r--ext/openssl/ossl_ssl.c1807
-rw-r--r--ext/openssl/ossl_ssl.h21
-rw-r--r--ext/openssl/ossl_ssl_session.c324
-rw-r--r--ext/openssl/ossl_version.h2
-rw-r--r--ext/openssl/ossl_x509.c2
-rw-r--r--ext/openssl/ossl_x509attr.c90
-rw-r--r--ext/openssl/ossl_x509cert.c395
-rw-r--r--ext/openssl/ossl_x509crl.c114
-rw-r--r--ext/openssl/ossl_x509ext.c133
-rw-r--r--ext/openssl/ossl_x509name.c248
-rw-r--r--ext/openssl/ossl_x509req.c104
-rw-r--r--ext/openssl/ossl_x509revoked.c62
-rw-r--r--ext/openssl/ossl_x509store.c199
-rw-r--r--ext/openssl/ruby_missing.h16
-rw-r--r--ext/pathname/depend3
-rw-r--r--ext/pathname/extconf.rb3
-rw-r--r--ext/pathname/lib/pathname.rb579
-rw-r--r--ext/pathname/pathname.c1463
-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.rb389
-rw-r--r--ext/psych/lib/psych/visitors/visitor.rb19
-rw-r--r--ext/psych/lib/psych/visitors/yaml_tree.rb565
-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.c556
-rw-r--r--ext/psych/psych_emitter.h8
-rw-r--r--ext/psych/psych_parser.c597
-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/depend18
-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.c850
-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/purelib.rb3
-rw-r--r--ext/racc/cparse/.cvsignore3
-rw-r--r--ext/racc/cparse/README11
-rw-r--r--ext/racc/cparse/cparse.c161
-rw-r--r--ext/racc/cparse/depend1
-rw-r--r--ext/racc/cparse/extconf.rb1
-rw-r--r--ext/rbconfig/sizeof/depend15
-rw-r--r--ext/rbconfig/sizeof/extconf.rb3
-rw-r--r--ext/readline/.cvsignore3
-rw-r--r--ext/readline/README68
-rw-r--r--ext/readline/README.ja393
-rw-r--r--ext/readline/depend18
-rw-r--r--ext/readline/extconf.rb113
-rw-r--r--ext/readline/readline.c1928
-rw-r--r--ext/ripper/README30
-rw-r--r--ext/ripper/depend75
-rw-r--r--ext/ripper/eventids2.c305
-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.rb118
-rwxr-xr-xext/ripper/tools/generate-param-macros.rb14
-rwxr-xr-xext/ripper/tools/generate.rb161
-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.c253
-rw-r--r--ext/sdbm/depend21
-rw-r--r--ext/sdbm/extconf.rb1
-rw-r--r--ext/sdbm/init.c757
-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.c1842
-rw-r--r--ext/socket/basicsocket.c767
-rw-r--r--ext/socket/constants.c145
-rw-r--r--ext/socket/depend298
-rw-r--r--ext/socket/extconf.rb719
-rw-r--r--ext/socket/getaddrinfo.c113
-rw-r--r--ext/socket/getnameinfo.c51
-rw-r--r--ext/socket/ifaddr.c459
-rw-r--r--ext/socket/init.c615
-rw-r--r--ext/socket/ipsocket.c338
-rw-r--r--ext/socket/lib/socket.rb871
-rw-r--r--ext/socket/mkconstants.rb804
-rw-r--r--ext/socket/option.c1473
-rw-r--r--ext/socket/raddrinfo.c2575
-rw-r--r--ext/socket/rubysocket.h415
-rw-r--r--ext/socket/socket.c4973
-rw-r--r--ext/socket/sockport.h84
-rw-r--r--ext/socket/sockssocket.c68
-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.c534
-rw-r--r--ext/stringio/.cvsignore3
-rw-r--r--ext/stringio/README3
-rw-r--r--ext/stringio/depend6
-rw-r--r--ext/stringio/stringio.c1117
-rw-r--r--ext/strscan/.cvsignore3
-rw-r--r--ext/strscan/depend18
-rw-r--r--ext/strscan/extconf.rb1
-rw-r--r--ext/strscan/strscan.c384
-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/depend14
-rw-r--r--ext/syslog/lib/syslog/logger.rb208
-rw-r--r--ext/syslog/syslog.c390
-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.c1364
-rw-r--r--ext/tk/.cvsignore3
-rw-r--r--ext/tk/ChangeLog.tkextlib63
-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.rb971
-rw-r--r--ext/tk/lib/remote-tk.rb38
-rw-r--r--ext/tk/lib/tcltk.rb28
-rw-r--r--ext/tk/lib/tk.rb1894
-rw-r--r--ext/tk/lib/tk/autoload.rb706
-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.rb180
-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/tk_mac.rb158
-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.rb789
-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.rb7
-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/validator.rb65
-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.rb20
-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.rb321
-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.rb72
-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/dted.rb33
-rw-r--r--ext/tk/lib/tkextlib/tkimg/raw.rb33
-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.c168
-rw-r--r--ext/tk/stubs.h10
-rw-r--r--ext/tk/tcltklib.c4721
-rw-r--r--ext/tk/tkutil/.cvsignore3
-rw-r--r--ext/tk/tkutil/extconf.rb14
-rw-r--r--ext/tk/tkutil/tkutil.c951
-rw-r--r--ext/win32/extconf.rb3
-rw-r--r--ext/win32/lib/Win32API.rb37
-rw-r--r--ext/win32/lib/win32/importer.rb8
-rw-r--r--ext/win32/lib/win32/registry.rb909
-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/depend13
-rw-r--r--ext/win32ole/doc/win32ole.rd294
-rw-r--r--ext/win32ole/extconf.rb41
-rw-r--r--ext/win32ole/sample/excel1.rb16
-rw-r--r--ext/win32ole/sample/excel2.rb20
-rw-r--r--ext/win32ole/sample/excel3.rb7
-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.c6349
-rw-r--r--ext/win32ole/win32ole.h155
-rw-r--r--ext/win32ole/win32ole_error.c83
-rw-r--r--ext/win32ole/win32ole_error.h8
-rw-r--r--ext/win32ole/win32ole_event.c1275
-rw-r--r--ext/win32ole/win32ole_event.h6
-rw-r--r--ext/win32ole/win32ole_method.c950
-rw-r--r--ext/win32ole/win32ole_method.h16
-rw-r--r--ext/win32ole/win32ole_param.c438
-rw-r--r--ext/win32ole/win32ole_param.h8
-rw-r--r--ext/win32ole/win32ole_record.c604
-rw-r--r--ext/win32ole/win32ole_record.h10
-rw-r--r--ext/win32ole/win32ole_type.c915
-rw-r--r--ext/win32ole/win32ole_type.h8
-rw-r--r--ext/win32ole/win32ole_typelib.c846
-rw-r--r--ext/win32ole/win32ole_typelib.h11
-rw-r--r--ext/win32ole/win32ole_variable.c380
-rw-r--r--ext/win32ole/win32ole_variable.h8
-rw-r--r--ext/win32ole/win32ole_variant.c734
-rw-r--r--ext/win32ole/win32ole_variant.h9
-rw-r--r--ext/win32ole/win32ole_variant_m.c149
-rw-r--r--ext/win32ole/win32ole_variant_m.h7
-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.c2968
-rw-r--r--file.c4665
-rw-r--r--gc.c9687
-rw-r--r--gc.h107
-rw-r--r--gem_prelude.rb1
-rw-r--r--gems/bundled_gems3
-rw-r--r--golf_prelude.rb123
-rw-r--r--goruby.c60
-rw-r--r--hash.c3558
-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.h47
-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.h289
-rw-r--r--include/ruby/encoding.h359
-rw-r--r--include/ruby/intern.h989
-rw-r--r--include/ruby/io.h182
-rw-r--r--include/ruby/missing.h251
-rw-r--r--include/ruby/oniguruma.h841
-rw-r--r--include/ruby/re.h72
-rw-r--r--include/ruby/regex.h46
-rw-r--r--include/ruby/ruby.h1890
-rw-r--r--include/ruby/st.h157
-rw-r--r--include/ruby/subst.h19
-rw-r--r--include/ruby/thread.h45
-rw-r--r--include/ruby/thread_native.h56
-rw-r--r--include/ruby/util.h102
-rw-r--r--include/ruby/version.h74
-rw-r--r--include/ruby/vm.h64
-rw-r--r--include/ruby/win32.h842
-rw-r--r--inits.c119
-rw-r--r--insns.def2252
-rw-r--r--install-sh (renamed from lib/rdoc/generator/template/darkfish/.document)0
-rwxr-xr-xinstruby.rb355
-rw-r--r--intern.h507
-rw-r--r--internal.h1196
-rw-r--r--io.c12450
-rw-r--r--iseq.c2371
-rw-r--r--iseq.h158
-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.rb56
-rw-r--r--lib/Env.rb18
-rw-r--r--lib/README96
-rw-r--r--lib/abbrev.rb134
-rw-r--r--lib/base64.rb142
-rw-r--r--lib/benchmark.rb466
-rw-r--r--lib/cgi-lib.rb272
-rw-r--r--lib/cgi.rb2210
-rw-r--r--lib/cgi/.document2
-rw-r--r--lib/cgi/cookie.rb170
-rw-r--r--lib/cgi/core.rb880
-rw-r--r--lib/cgi/html.rb1034
-rw-r--r--lib/cgi/session.rb293
-rw-r--r--lib/cgi/session/pstore.rb73
-rw-r--r--lib/cgi/util.rb194
-rw-r--r--lib/cmath.rb442
-rw-r--r--lib/complex.rb631
-rw-r--r--lib/csv.rb3043
-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.rb554
-rw-r--r--lib/drb/acl.rb166
-rw-r--r--lib/drb/drb.rb729
-rw-r--r--lib/drb/eq.rb4
-rw-r--r--lib/drb/extserv.rb49
-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.rb341
-rw-r--r--lib/drb/timeridconv.rb96
-rw-r--r--lib/drb/unix.rb61
-rw-r--r--lib/e2mmap.rb129
-rw-r--r--lib/erb.rb894
-rw-r--r--lib/eregex.rb37
-rw-r--r--lib/fileutils.rb696
-rw-r--r--lib/finalize.rb193
-rw-r--r--lib/find.rb63
-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.rb253
-rw-r--r--lib/importenv.rb33
-rw-r--r--lib/ipaddr.rb678
-rw-r--r--lib/irb.rb685
-rw-r--r--lib/irb/cmd/chws.rb16
-rw-r--r--lib/irb/cmd/fork.rb41
-rw-r--r--lib/irb/cmd/help.rb25
-rw-r--r--lib/irb/cmd/load.rb61
-rw-r--r--lib/irb/cmd/nop.rb23
-rw-r--r--lib/irb/cmd/pushws.rb19
-rw-r--r--lib/irb/cmd/subirb.rb19
-rw-r--r--lib/irb/completion.rb336
-rw-r--r--lib/irb/context.rb324
-rw-r--r--lib/irb/ext/change-ws.rb57
-rw-r--r--lib/irb/ext/history.rb84
-rw-r--r--lib/irb/ext/loader.rb144
-rw-r--r--lib/irb/ext/math-mode.rb28
-rw-r--r--lib/irb/ext/multi-irb.rb242
-rw-r--r--lib/irb/ext/save-history.rb94
-rw-r--r--lib/irb/ext/tracer.rb46
-rw-r--r--lib/irb/ext/use-loader.rb46
-rw-r--r--lib/irb/ext/workspaces.rb46
-rw-r--r--lib/irb/extend-command.rb302
-rw-r--r--lib/irb/frame.rb25
-rw-r--r--lib/irb/help.rb35
-rw-r--r--lib/irb/init.rb253
-rw-r--r--lib/irb/input-method.rb141
-rw-r--r--lib/irb/inspector.rb131
-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.rb191
-rw-r--r--lib/irb/magic-file.rb37
-rw-r--r--lib/irb/notifier.rb192
-rw-r--r--lib/irb/output-method.rb74
-rw-r--r--lib/irb/ruby-lex.rb817
-rw-r--r--lib/irb/ruby-token.rb57
-rw-r--r--lib/irb/slex.rb310
-rw-r--r--lib/irb/src_encoding.rb4
-rw-r--r--lib/irb/version.rb11
-rw-r--r--lib/irb/workspace.rb133
-rw-r--r--lib/irb/ws-for-case-2.rb9
-rw-r--r--lib/irb/xmp.rb115
-rw-r--r--lib/jcode.rb220
-rw-r--r--lib/logger.rb548
-rw-r--r--lib/mailread.rb62
-rw-r--r--lib/mathn.rb379
-rw-r--r--lib/matrix.rb2057
-rw-r--r--lib/matrix/eigenvalue_decomposition.rb882
-rw-r--r--lib/matrix/lup_decomposition.rb218
-rw-r--r--lib/mkmf.rb3591
-rw-r--r--lib/monitor.rb362
-rw-r--r--lib/mutex_m.rb129
-rw-r--r--lib/net/ftp.rb930
-rw-r--r--lib/net/http.rb2641
-rw-r--r--lib/net/http/backward.rb25
-rw-r--r--lib/net/http/exceptions.rb25
-rw-r--r--lib/net/http/generic_request.rb332
-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.rb416
-rw-r--r--lib/net/http/responses.rb273
-rw-r--r--lib/net/https.rb163
-rw-r--r--lib/net/imap.rb1590
-rw-r--r--lib/net/pop.rb370
-rw-r--r--lib/net/protocol.rb74
-rw-r--r--lib/net/smtp.rb838
-rw-r--r--lib/net/telnet.rb273
-rw-r--r--lib/observer.rb107
-rw-r--r--lib/open-uri.rb463
-rw-r--r--lib/open3.rb684
-rw-r--r--lib/optionparser.rb1
-rw-r--r--lib/optparse.rb465
-rw-r--r--lib/optparse/ac.rb50
-rw-r--r--lib/optparse/version.rb12
-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.rb473
-rw-r--r--lib/prettyprint.rb772
-rw-r--r--lib/prime.rb487
-rw-r--r--lib/profile.rb4
-rw-r--r--lib/profiler.rb157
-rw-r--r--lib/pstore.rb393
-rw-r--r--lib/racc/parser.rb288
-rw-r--r--lib/racc/rdoc/grammar.en.rdoc219
-rw-r--r--lib/rake.rb79
-rw-r--r--lib/rake/alt_system.rb110
-rw-r--r--lib/rake/application.rb790
-rw-r--r--lib/rake/backtrace.rb23
-rw-r--r--lib/rake/clean.rb76
-rw-r--r--lib/rake/cloneable.rb16
-rw-r--r--lib/rake/contrib/.document1
-rw-r--r--lib/rake/contrib/compositepublisher.rb21
-rw-r--r--lib/rake/contrib/ftptools.rb137
-rw-r--r--lib/rake/contrib/publisher.rb81
-rw-r--r--lib/rake/contrib/rubyforgepublisher.rb18
-rw-r--r--lib/rake/contrib/sshpublisher.rb61
-rw-r--r--lib/rake/contrib/sys.rb4
-rw-r--r--lib/rake/cpu_counter.rb125
-rw-r--r--lib/rake/default_loader.rb14
-rw-r--r--lib/rake/dsl_definition.rb201
-rw-r--r--lib/rake/early_time.rb21
-rw-r--r--lib/rake/ext/core.rb25
-rw-r--r--lib/rake/ext/module.rb2
-rw-r--r--lib/rake/ext/pathname.rb25
-rw-r--r--lib/rake/ext/string.rb173
-rw-r--r--lib/rake/ext/time.rb16
-rw-r--r--lib/rake/file_creation_task.rb24
-rw-r--r--lib/rake/file_list.rb428
-rw-r--r--lib/rake/file_task.rb46
-rw-r--r--lib/rake/file_utils.rb128
-rw-r--r--lib/rake/file_utils_ext.rb144
-rw-r--r--lib/rake/gempackagetask.rb4
-rw-r--r--lib/rake/invocation_chain.rb56
-rw-r--r--lib/rake/invocation_exception_mixin.rb16
-rw-r--r--lib/rake/late_time.rb17
-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.rb38
-rw-r--r--lib/rake/packagetask.rb199
-rw-r--r--lib/rake/pathmap.rb3
-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.rb38
-rw-r--r--lib/rake/rake_test_loader.rb22
-rw-r--r--lib/rake/rdoctask.rb4
-rw-r--r--lib/rake/ruby182_test_unit_fix.rb29
-rw-r--r--lib/rake/rule_recursion_overflow_error.rb20
-rw-r--r--lib/rake/runtest.rb27
-rw-r--r--lib/rake/scope.rb42
-rw-r--r--lib/rake/task.rb383
-rw-r--r--lib/rake/task_argument_error.rb7
-rw-r--r--lib/rake/task_arguments.rb98
-rw-r--r--lib/rake/task_manager.rb310
-rw-r--r--lib/rake/tasklib.rb24
-rw-r--r--lib/rake/testtask.rb212
-rw-r--r--lib/rake/thread_history_display.rb48
-rw-r--r--lib/rake/thread_pool.rb164
-rw-r--r--lib/rake/trace_output.rb22
-rw-r--r--lib/rake/version.rb7
-rw-r--r--lib/rake/win32.rb56
-rw-r--r--lib/rational.rb530
-rw-r--r--lib/rbconfig/.document1
-rw-r--r--lib/rbconfig/datadir.rb13
-rw-r--r--lib/rdoc.rb185
-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.rb316
-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.rb1211
-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.rb99
-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.rb51
-rw-r--r--lib/rdoc/generator/darkfish.rb760
-rw-r--r--lib/rdoc/generator/json_index.rb292
-rw-r--r--lib/rdoc/generator/markup.rb169
-rw-r--r--lib/rdoc/generator/pot.rb97
-rw-r--r--lib/rdoc/generator/pot/message_extractor.rb67
-rw-r--r--lib/rdoc/generator/pot/po.rb83
-rw-r--r--lib/rdoc/generator/pot/po_entry.rb140
-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.rhtml19
-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/css/fonts.css167
-rw-r--r--lib/rdoc/generator/template/darkfish/css/rdoc.css590
-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-rw-r--r--lib/rdoc/generator/template/darkfish/images/add.pngbin733 -> 0 bytes-rw-r--r--lib/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-rw-r--r--lib/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-rw-r--r--lib/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.js161
-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/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/i18n.rb9
-rw-r--r--lib/rdoc/i18n/locale.rb101
-rw-r--r--lib/rdoc/i18n/text.rb125
-rw-r--r--lib/rdoc/include.rb9
-rw-r--r--lib/rdoc/known_classes.rb72
-rw-r--r--lib/rdoc/markdown.rb16133
-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.rb398
-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.rb418
-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.rb1661
-rw-r--r--lib/rdoc/parser.rb310
-rw-r--r--lib/rdoc/parser/c.rb1229
-rw-r--r--lib/rdoc/parser/changelog.rb198
-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.rb726
-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/ri/task.rb71
-rw-r--r--lib/rdoc/ruby_lex.rb1377
-rw-r--r--lib/rdoc/ruby_token.rb460
-rw-r--r--lib/rdoc/rubygems_hook.rb253
-rw-r--r--lib/rdoc/servlet.rb441
-rw-r--r--lib/rdoc/single_class.rb25
-rw-r--r--lib/rdoc/stats.rb461
-rw-r--r--lib/rdoc/stats/normal.rb59
-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.rb324
-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.rb1940
-rw-r--r--lib/rexml/attlistdecl.rb112
-rw-r--r--lib/rexml/attribute.rb304
-rw-r--r--lib/rexml/cdata.rb96
-rw-r--r--lib/rexml/child.rb164
-rw-r--r--lib/rexml/comment.rb117
-rw-r--r--lib/rexml/doctype.rb46
-rw-r--r--lib/rexml/document.rb333
-rw-r--r--lib/rexml/dtd/attlistdecl.rb14
-rw-r--r--lib/rexml/dtd/dtd.rb77
-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.rb252
-rw-r--r--lib/rexml/encoding.rb92
-rw-r--r--lib/rexml/encodings/CP-1252.rb103
-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.rb72
-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.rb294
-rw-r--r--lib/rexml/formatters/default.rb10
-rw-r--r--lib/rexml/formatters/pretty.rb18
-rw-r--r--lib/rexml/formatters/transitive.rb7
-rw-r--r--lib/rexml/functions.rb58
-rw-r--r--lib/rexml/instruction.rb98
-rw-r--r--lib/rexml/light/node.rb381
-rw-r--r--lib/rexml/namespace.rb78
-rw-r--r--lib/rexml/node.rb78
-rw-r--r--lib/rexml/output.rb29
-rw-r--r--lib/rexml/parent.rb53
-rw-r--r--lib/rexml/parseexception.rb8
-rw-r--r--lib/rexml/parsers/baseparser.rb189
-rw-r--r--lib/rexml/parsers/lightparser.rb84
-rw-r--r--lib/rexml/parsers/pullparser.rb2
-rw-r--r--lib/rexml/parsers/sax2parser.rb432
-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.rb144
-rw-r--r--lib/rexml/quickpath.rb495
-rw-r--r--lib/rexml/rexml.rb21
-rw-r--r--lib/rexml/sax2listener.rb184
-rw-r--r--lib/rexml/security.rb27
-rw-r--r--lib/rexml/source.rb147
-rw-r--r--lib/rexml/streamlistener.rb180
-rw-r--r--lib/rexml/syncenumerator.rb7
-rw-r--r--lib/rexml/text.rb237
-rw-r--r--lib/rexml/undefinednamespaceexception.rb8
-rw-r--r--lib/rexml/validation/relaxng.rb57
-rw-r--r--lib/rexml/validation/validation.rb22
-rw-r--r--lib/rexml/xmldecl.rb122
-rw-r--r--lib/rexml/xmltokens.rb94
-rw-r--r--lib/rexml/xpath.rb120
-rw-r--r--lib/rexml/xpath_parser.rb183
-rw-r--r--lib/rinda/rinda.rb68
-rw-r--r--lib/rinda/ring.rb357
-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.rb1245
-rw-r--r--lib/rubygems/LICENSE.txt54
-rw-r--r--lib/rubygems/available_set.rb164
-rw-r--r--lib/rubygems/basic_specification.rb290
-rw-r--r--lib/rubygems/command.rb582
-rw-r--r--lib/rubygems/command_manager.rb218
-rw-r--r--lib/rubygems/commands/build_command.rb60
-rw-r--r--lib/rubygems/commands/cert_command.rb276
-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.rb190
-rw-r--r--lib/rubygems/commands/dependency_command.rb207
-rw-r--r--lib/rubygems/commands/environment_command.rb158
-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.rb384
-rw-r--r--lib/rubygems/commands/install_command.rb347
-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.rb25
-rw-r--r--lib/rubygems/commands/open_command.rb74
-rw-r--r--lib/rubygems/commands/outdated_command.rb32
-rw-r--r--lib/rubygems/commands/owner_command.rb99
-rw-r--r--lib/rubygems/commands/pristine_command.rb165
-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.rb164
-rw-r--r--lib/rubygems/commands/unpack_command.rb182
-rw-r--r--lib/rubygems/commands/update_command.rb277
-rw-r--r--lib/rubygems/commands/which_command.rb90
-rw-r--r--lib/rubygems/commands/yank_command.rb107
-rw-r--r--lib/rubygems/compatibility.rb59
-rw-r--r--lib/rubygems/config_file.rb483
-rw-r--r--lib/rubygems/core_ext/kernel_gem.rb73
-rwxr-xr-xlib/rubygems/core_ext/kernel_require.rb139
-rw-r--r--lib/rubygems/defaults.rb177
-rw-r--r--lib/rubygems/dependency.rb334
-rw-r--r--lib/rubygems/dependency_installer.rb480
-rw-r--r--lib/rubygems/dependency_list.rb240
-rw-r--r--lib/rubygems/deprecate.rb70
-rw-r--r--lib/rubygems/doctor.rb131
-rw-r--r--lib/rubygems/errors.rb137
-rw-r--r--lib/rubygems/exceptions.rb270
-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.rb78
-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.rb186
-rw-r--r--lib/rubygems/installer.rb819
-rw-r--r--lib/rubygems/installer_test_case.rb193
-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.rb123
-rw-r--r--lib/rubygems/package.rb613
-rw-r--r--lib/rubygems/package/digest_io.rb64
-rw-r--r--lib/rubygems/package/file_source.rb33
-rw-r--r--lib/rubygems/package/io_source.rb45
-rw-r--r--lib/rubygems/package/old.rb178
-rw-r--r--lib/rubygems/package/source.rb3
-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.rb147
-rw-r--r--lib/rubygems/package/tar_test_case.rb137
-rw-r--r--lib/rubygems/package/tar_writer.rb326
-rw-r--r--lib/rubygems/package_task.rb128
-rw-r--r--lib/rubygems/path_support.rb87
-rw-r--r--lib/rubygems/platform.rb204
-rw-r--r--lib/rubygems/psych_additions.rb9
-rw-r--r--lib/rubygems/psych_tree.rb31
-rw-r--r--lib/rubygems/rdoc.rb335
-rw-r--r--lib/rubygems/remote_fetcher.rb404
-rw-r--r--lib/rubygems/request.rb244
-rw-r--r--lib/rubygems/request/connection_pools.rb83
-rw-r--r--lib/rubygems/request/http_pool.rb47
-rw-r--r--lib/rubygems/request/https_pool.rb10
-rw-r--r--lib/rubygems/request_set.rb413
-rw-r--r--lib/rubygems/request_set/gem_dependency_api.rb801
-rw-r--r--lib/rubygems/request_set/lockfile.rb650
-rw-r--r--lib/rubygems/requirement.rb273
-rw-r--r--lib/rubygems/resolver.rb485
-rw-r--r--lib/rubygems/resolver/activation_request.rb172
-rw-r--r--lib/rubygems/resolver/api_set.rb125
-rw-r--r--lib/rubygems/resolver/api_specification.rb85
-rw-r--r--lib/rubygems/resolver/best_set.rb78
-rw-r--r--lib/rubygems/resolver/composed_set.rb66
-rw-r--r--lib/rubygems/resolver/conflict.rb160
-rw-r--r--lib/rubygems/resolver/current_set.rb13
-rw-r--r--lib/rubygems/resolver/dependency_request.rb116
-rw-r--r--lib/rubygems/resolver/git_set.rb122
-rw-r--r--lib/rubygems/resolver/git_specification.rb59
-rw-r--r--lib/rubygems/resolver/index_set.rb80
-rw-r--r--lib/rubygems/resolver/index_specification.rb69
-rw-r--r--lib/rubygems/resolver/installed_specification.rb58
-rw-r--r--lib/rubygems/resolver/installer_set.rb224
-rw-r--r--lib/rubygems/resolver/local_specification.rb41
-rw-r--r--lib/rubygems/resolver/lock_set.rb84
-rw-r--r--lib/rubygems/resolver/lock_specification.rb84
-rw-r--r--lib/rubygems/resolver/requirement_list.rb81
-rw-r--r--lib/rubygems/resolver/set.rb56
-rw-r--r--lib/rubygems/resolver/spec_specification.rb56
-rw-r--r--lib/rubygems/resolver/specification.rb110
-rw-r--r--lib/rubygems/resolver/stats.rb44
-rw-r--r--lib/rubygems/resolver/vendor_set.rb87
-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.rb295
-rw-r--r--lib/rubygems/security/signer.rb154
-rw-r--r--lib/rubygems/security/trust_dir.rb118
-rw-r--r--lib/rubygems/server.rb868
-rw-r--r--lib/rubygems/source.rb234
-rw-r--r--lib/rubygems/source/git.rb240
-rw-r--r--lib/rubygems/source/installed.rb40
-rw-r--r--lib/rubygems/source/local.rb129
-rw-r--r--lib/rubygems/source/lock.rb48
-rw-r--r--lib/rubygems/source/specific_file.rb72
-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.rb269
-rw-r--r--lib/rubygems/specification.rb2800
-rw-r--r--lib/rubygems/ssl_certs/.document1
-rw-r--r--lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem25
-rw-r--r--lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem32
-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.rb196
-rw-r--r--lib/rubygems/syck_hack.rb76
-rw-r--r--lib/rubygems/test_case.rb1430
-rw-r--r--lib/rubygems/test_utilities.rb383
-rw-r--r--lib/rubygems/text.rb75
-rw-r--r--lib/rubygems/uninstaller.rb345
-rw-r--r--lib/rubygems/uri_formatter.rb49
-rw-r--r--lib/rubygems/user_interaction.rb711
-rw-r--r--lib/rubygems/util.rb134
-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.rb356
-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.rb293
-rw-r--r--lib/set.rb1164
-rw-r--r--lib/shell.rb323
-rw-r--r--lib/shell/builtin-command.rb78
-rw-r--r--lib/shell/command-processor.rb721
-rw-r--r--lib/shell/error.rb11
-rw-r--r--lib/shell/filter.rb91
-rw-r--r--lib/shell/process-controller.rb344
-rw-r--r--lib/shell/system-command.rb148
-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.rb392
-rw-r--r--lib/test/unit.rb280
-rw-r--r--lib/test/unit/assertionfailederror.rb14
-rw-r--r--lib/test/unit/assertions.rb622
-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/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.rb99
-rw-r--r--lib/time.rb815
-rw-r--r--lib/timeout.rb176
-rw-r--r--lib/tmpdir.rb148
-rw-r--r--lib/tracer.rb245
-rw-r--r--lib/tsort.rb316
-rw-r--r--lib/ubygems.rb10
-rw-r--r--lib/un.rb230
-rw-r--r--lib/unicode_normalize.rb78
-rw-r--r--lib/unicode_normalize/normalize.rb168
-rw-r--r--lib/unicode_normalize/tables.rb1163
-rw-r--r--lib/uri.rb95
-rw-r--r--lib/uri/common.rb805
-rw-r--r--lib/uri/ftp.rb184
-rw-r--r--lib/uri/generic.rb1020
-rw-r--r--lib/uri/http.rb50
-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.rb172
-rw-r--r--lib/uri/rfc2396_parser.rb543
-rw-r--r--lib/uri/rfc3986_parser.rb124
-rw-r--r--lib/weakref.rb166
-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.rb313
-rw-r--r--lib/webrick/httprequest.rb323
-rw-r--r--lib/webrick/httpresponse.rb217
-rw-r--r--lib/webrick/https.rb29
-rw-r--r--lib/webrick/httpserver.rb84
-rw-r--r--lib/webrick/httpservlet/abstract.rb94
-rw-r--r--lib/webrick/httpservlet/cgi_runner.rb9
-rw-r--r--lib/webrick/httpservlet/cgihandler.rb58
-rw-r--r--lib/webrick/httpservlet/erbhandler.rb49
-rw-r--r--lib/webrick/httpservlet/filehandler.rb209
-rw-r--r--lib/webrick/httpservlet/prochandler.rb21
-rw-r--r--lib/webrick/httpstatus.rb184
-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.rb241
-rw-r--r--lib/webrick/ssl.rb86
-rw-r--r--lib/webrick/utils.rb192
-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.rb35
-rw-r--r--lib/xmlrpc/create.rb218
-rw-r--r--lib/xmlrpc/datetime.rb129
-rw-r--r--lib/xmlrpc/httpserver.rb178
-rw-r--r--lib/xmlrpc/marshal.rb20
-rw-r--r--lib/xmlrpc/parser.rb545
-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.rb465
-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.c1234
-rw-r--r--loadpath.c92
-rw-r--r--localeinit.c68
-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.1141
-rw-r--r--man/ri.1181
-rw-r--r--man/ruby.1629
-rw-r--r--marshal.c1887
-rw-r--r--math.c909
-rwxr-xr-xmdoc2man.rb465
-rw-r--r--method.h144
-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.el166
-rw-r--r--misc/ruby-additional.el126
-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/nextafter.c77
-rw-r--r--missing/os2.c29
-rw-r--r--missing/setproctitle.c175
-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.in100
-rw-r--r--nacl/README.nacl51
-rw-r--r--nacl/create_nmf.rb70
-rw-r--r--nacl/dirent.h15
-rw-r--r--nacl/example.html150
-rwxr-xr-xnacl/nacl-config.rb61
-rw-r--r--nacl/package.rb113
-rw-r--r--nacl/pepper_main.c732
-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.c1082
-rw-r--r--node.h420
-rw-r--r--numeric.c3860
-rw-r--r--object.c3157
-rw-r--r--pack.c1972
-rw-r--r--parse.y11351
-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.c2886
-rw-r--r--process.c6797
-rw-r--r--random.c1410
-rw-r--r--range.c1373
-rw-r--r--rational.c2625
-rw-r--r--re.c3760
-rw-r--r--re.h42
-rw-r--r--regcomp.c6721
-rw-r--r--regenc.c957
-rw-r--r--regenc.h234
-rw-r--r--regerror.c408
-rw-r--r--regex.c4648
-rw-r--r--regex.h221
-rw-r--r--regexec.c4365
-rw-r--r--regint.h972
-rw-r--r--regparse.c6496
-rw-r--r--regparse.h363
-rw-r--r--regsyntax.c387
-rw-r--r--ruby.1351
-rw-r--r--ruby.c2234
-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.rb60
-rw-r--r--safe.c133
-rw-r--r--sample/README15
-rw-r--r--sample/benchmark.rb19
-rw-r--r--sample/biorhythm.rb134
-rw-r--r--sample/cal.rb86
-rw-r--r--sample/cbreak.rb4
-rw-r--r--sample/cgi-session-pstore.rb11
-rw-r--r--sample/coverage.rb62
-rw-r--r--sample/dbmtest.rb14
-rw-r--r--sample/delegate.rb31
-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/acl.rb15
-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/ring_place.rb6
-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/net-imap.rb167
-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/open3.rb12
-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/pstore.rb19
-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/rinda-ring.rb22
-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/simple-bench.rb140
-rw-r--r--sample/svr.rb4
-rw-r--r--sample/tempfile.rb8
-rw-r--r--[-rwxr-xr-x]sample/test.rb959
-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/weakref.rb9
-rw-r--r--sample/webrick/httpproxy.rb7
-rw-r--r--signal.c1448
-rw-r--r--siphash.c484
-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.c1331
-rw-r--r--st.c1774
-rw-r--r--st.h72
-rw-r--r--strftime.c1163
-rw-r--r--string.c9035
-rw-r--r--struct.c1120
-rw-r--r--symbol.c1128
-rw-r--r--symbol.h88
-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.in28
-rw-r--r--template/id.c.tmpl27
-rw-r--r--template/id.h.tmpl118
-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/prelude.c.tmpl178
-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/unicode_norm_gen.tmpl225
-rw-r--r--template/verconf.h.tmpl61
-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.rb398
-rw-r--r--test/-ext-/bignum/test_str2big.rb37
-rw-r--r--test/-ext-/bug_reporter/test_bug_reporter.rb25
-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.rb13
-rw-r--r--test/-ext-/exception/test_enc_raise.rb15
-rw-r--r--test/-ext-/exception/test_ensured.rb31
-rw-r--r--test/-ext-/file/test_stat.rb14
-rw-r--r--test/-ext-/float/test_nextafter.rb57
-rw-r--r--test/-ext-/funcall/test_passing_block.rb22
-rw-r--r--test/-ext-/hash/test_delete.rb19
-rw-r--r--test/-ext-/iseq_load/test_iseq_load.rb104
-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.rb32
-rw-r--r--test/-ext-/method/test_arity.rb37
-rw-r--r--test/-ext-/num2int/test_num2int.rb267
-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-/proc/test_bmethod.rb37
-rw-r--r--test/-ext-/rational/test_rat.rb31
-rw-r--r--test/-ext-/st/test_foreach.rb15
-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_coderange.rb59
-rw-r--r--test/-ext-/string/test_cstr.rb119
-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_nofree.rb10
-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.rb15
-rw-r--r--test/-ext-/symbol/test_inadvertent_creation.rb473
-rw-r--r--test/-ext-/symbol/test_type.rb124
-rw-r--r--test/-ext-/test_bug-3571.rb20
-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.rb186
-rw-r--r--test/-ext-/test_recursion.rb35
-rw-r--r--test/-ext-/tracepoint/test_tracepoint.rb79
-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_console_attr.rb43
-rw-r--r--test/-ext-/win32/test_dln.rb34
-rw-r--r--test/-ext-/win32/test_fd_setsize.rb24
-rw-r--r--test/base64/test_base64.rb100
-rw-r--r--test/benchmark/test_benchmark.rb161
-rw-r--r--test/bigdecimal/test_bigdecimal.rb1555
-rw-r--r--test/bigdecimal/test_bigdecimal_util.rb50
-rw-r--r--test/bigdecimal/test_bigmath.rb80
-rw-r--r--test/bigdecimal/testbase.rb27
-rw-r--r--test/cgi/test_cgi_cookie.rb110
-rw-r--r--test/cgi/test_cgi_core.rb312
-rw-r--r--test/cgi/test_cgi_header.rb181
-rw-r--r--test/cgi/test_cgi_modruby.rb146
-rw-r--r--test/cgi/test_cgi_multipart.rb380
-rw-r--r--test/cgi/test_cgi_session.rb172
-rw-r--r--test/cgi/test_cgi_tag_helper.rb353
-rw-r--r--test/cgi/test_cgi_util.rb104
-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.rb337
-rwxr-xr-xtest/csv/test_features.rb327
-rwxr-xr-xtest/csv/test_headers.rb297
-rwxr-xr-xtest/csv/test_interface.rb368
-rwxr-xr-xtest/csv/test_row.rb355
-rwxr-xr-xtest/csv/test_table.rb434
-rw-r--r--test/csv/ts_all.rb20
-rw-r--r--test/date/test_date.rb150
-rw-r--r--test/date/test_date_arith.rb264
-rw-r--r--test/date/test_date_attr.rb103
-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.rb1124
-rw-r--r--test/date/test_date_strftime.rb422
-rw-r--r--test/date/test_date_strptime.rb512
-rw-r--r--test/date/test_switch_hitter.rb664
-rw-r--r--test/dbm/test_dbm.rb216
-rw-r--r--test/digest/digest/foo.rb10
-rw-r--r--test/digest/test_digest.rb168
-rw-r--r--test/digest/test_digest_extend.rb158
-rw-r--r--test/drb/drbtest.rb119
-rw-r--r--test/drb/ignore_test_drb.rb19
-rw-r--r--test/drb/test_acl.rb4
-rw-r--r--test/drb/test_drb.rb120
-rw-r--r--test/drb/test_drbssl.rb24
-rw-r--r--test/drb/test_drbunix.rb23
-rw-r--r--test/drb/ut_array.rb3
-rw-r--r--test/drb/ut_array_drbssl.rb18
-rw-r--r--test/drb/ut_array_drbunix.rb1
-rw-r--r--test/drb/ut_drb.rb9
-rw-r--r--test/drb/ut_drb_drbssl.rb20
-rw-r--r--test/drb/ut_drb_drbunix.rb3
-rw-r--r--test/drb/ut_eq.rb36
-rw-r--r--test/drb/ut_eval.rb7
-rw-r--r--test/drb/ut_large.rb9
-rw-r--r--test/drb/ut_port.rb1
-rw-r--r--test/drb/ut_safe1.rb3
-rw-r--r--test/drb/ut_timerholder.rb8
-rw-r--r--test/dtrace/dummy.rb1
-rw-r--r--test/dtrace/helper.rb50
-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.rb472
-rw-r--r--test/erb/test_erb_command.rb11
-rw-r--r--test/erb/test_erb_m17n.rb123
-rw-r--r--test/etc/test_etc.rb169
-rw-r--r--test/fiddle/helper.rb124
-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.rb82
-rw-r--r--test/fiddle/test_handle.rb212
-rw-r--r--test/fiddle/test_import.rb150
-rw-r--r--test/fiddle/test_pointer.rb237
-rw-r--r--test/fileutils/clobber.rb91
-rw-r--r--test/fileutils/fileasserts.rb128
-rw-r--r--test/fileutils/test_dryrun.rb20
-rw-r--r--test/fileutils/test_fileutils.rb817
-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.rb263
-rw-r--r--test/io/console/test_io_console.rb332
-rw-r--r--test/io/nonblock/test_flush.rb48
-rw-r--r--test/io/wait/test_io_wait.rb112
-rw-r--r--test/irb/test_completion.rb21
-rw-r--r--test/irb/test_option.rb11
-rw-r--r--test/irb/test_raise_no_backtrace_exception.rb13
-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.rb557
-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.rb322
-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/lib/envutil.rb604
-rw-r--r--test/lib/find_executable.rb21
-rw-r--r--test/lib/leakchecker.rb167
-rw-r--r--test/lib/memory_status.rb111
-rw-r--r--test/lib/minitest/README.txt457
-rw-r--r--test/lib/minitest/autorun.rb13
-rw-r--r--test/lib/minitest/benchmark.rb417
-rw-r--r--test/lib/minitest/mock.rb195
-rw-r--r--test/lib/minitest/unit.rb1419
-rw-r--r--test/lib/profile_test_all.rb90
-rw-r--r--test/lib/test/unit.rb896
-rw-r--r--test/lib/test/unit/assertions.rb465
-rw-r--r--test/lib/test/unit/parallel.rb190
-rw-r--r--test/lib/test/unit/testcase.rb34
-rw-r--r--test/lib/tracepointchecker.rb118
-rw-r--r--test/lib/with_different_ofs.rb17
-rw-r--r--test/logger/test_logdevice.rb419
-rw-r--r--test/logger/test_logger.rb148
-rw-r--r--test/logger/test_severity.rb15
-rw-r--r--test/matrix/test_matrix.rb579
-rw-r--r--test/matrix/test_vector.rb215
-rw-r--r--test/minitest/metametameta.rb69
-rw-r--r--test/minitest/test_minitest_benchmark.rb130
-rw-r--r--test/minitest/test_minitest_mock.rb403
-rw-r--r--test/minitest/test_minitest_unit.rb1803
-rw-r--r--test/misc/test_ruby_mode.rb182
-rw-r--r--test/mkmf/base.rb139
-rw-r--r--test/mkmf/test_config.rb16
-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.rb56
-rw-r--r--test/mkmf/test_framework.rb48
-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.rb142
-rw-r--r--test/net/ftp/test_buffered_socket.rb40
-rw-r--r--test/net/ftp/test_ftp.rb833
-rw-r--r--test/net/http/test_buffered_io.rb17
-rw-r--r--test/net/http/test_http.rb949
-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.rb394
-rw-r--r--test/net/http/test_httpresponses.rb24
-rw-r--r--test/net/http/test_https.rb194
-rw-r--r--test/net/http/test_https_proxy.rb40
-rw-r--r--test/net/http/utils.rb108
-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.rb549
-rw-r--r--test/net/imap/test_imap_response_parser.rb292
-rw-r--r--test/net/pop/test_pop.rb136
-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.rb292
-rw-r--r--test/open-uri/test_open-uri.rb832
-rw-r--r--test/open-uri/test_ssl.rb390
-rw-r--r--test/openssl/ssl_server.rb81
-rw-r--r--test/openssl/test_asn1.rb428
-rw-r--r--test/openssl/test_bn.rb52
-rw-r--r--test/openssl/test_buffering.rb87
-rw-r--r--test/openssl/test_cipher.rb181
-rw-r--r--test/openssl/test_config.rb297
-rw-r--r--test/openssl/test_digest.rb54
-rw-r--r--test/openssl/test_engine.rb75
-rw-r--r--test/openssl/test_fips.rb14
-rw-r--r--test/openssl/test_hmac.rb33
-rw-r--r--test/openssl/test_ns_spki.rb14
-rw-r--r--test/openssl/test_ocsp.rb47
-rw-r--r--test/openssl/test_pair.rb284
-rw-r--r--test/openssl/test_partial_record_read.rb34
-rw-r--r--test/openssl/test_pkcs12.rb209
-rw-r--r--test/openssl/test_pkcs5.rb97
-rw-r--r--test/openssl/test_pkcs7.rb181
-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.rb278
-rw-r--r--test/openssl/test_ssl.rb1003
-rw-r--r--test/openssl/test_ssl_session.rb381
-rw-r--r--test/openssl/test_x509cert.rb135
-rw-r--r--test/openssl/test_x509crl.rb36
-rw-r--r--test/openssl/test_x509ext.rb9
-rw-r--r--test/openssl/test_x509name.rb117
-rw-r--r--test/openssl/test_x509req.rb58
-rw-r--r--test/openssl/test_x509store.rb53
-rw-r--r--test/openssl/utils.rb208
-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.rb973
-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.rb93
-rw-r--r--test/psych/test_encoding.rb259
-rw-r--r--test/psych/test_exception.rb157
-rw-r--r--test/psych/test_hash.rb49
-rw-r--r--test/psych/test_json_tree.rb65
-rw-r--r--test/psych/test_marshalable.rb54
-rw-r--r--test/psych/test_merge_keys.rb180
-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.rb71
-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.rb166
-rw-r--r--test/psych/test_struct.rb49
-rw-r--r--test/psych/test_symbol.rb25
-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.rb1288
-rw-r--r--test/psych/test_yamldbm.rb193
-rw-r--r--test/psych/test_yamlstore.rb85
-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.rb129
-rw-r--r--test/rake/support/rakefile_definitions.rb478
-rw-r--r--test/rake/support/ruby_runner.rb34
-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.rb643
-rw-r--r--test/rake/test_rake_application_options.rb466
-rw-r--r--test/rake/test_rake_backtrace.rb119
-rw-r--r--test/rake/test_rake_clean.rb61
-rw-r--r--test/rake/test_rake_cpu_counter.rb68
-rw-r--r--test/rake/test_rake_definitions.rb84
-rw-r--r--test/rake/test_rake_directory_task.rb76
-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.rb655
-rw-r--r--test/rake/test_rake_file_list_path_map.rb8
-rw-r--r--test/rake/test_rake_file_task.rb197
-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.rb482
-rw-r--r--test/rake/test_rake_invocation_chain.rb64
-rw-r--r--test/rake/test_rake_late_time.rb18
-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.rb64
-rw-r--r--test/rake/test_rake_name_space.rb57
-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_pathname_extensions.rb15
-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.rb388
-rw-r--r--test/rake/test_rake_scope.rb44
-rw-r--r--test/rake/test_rake_task.rb393
-rw-r--r--test/rake/test_rake_task_argument_parsing.rb119
-rw-r--r--test/rake/test_rake_task_arguments.rb127
-rw-r--r--test/rake/test_rake_task_lib.rb9
-rw-r--r--test/rake/test_rake_task_manager.rb178
-rw-r--r--test/rake/test_rake_task_manager_argument_resolution.rb19
-rw-r--r--test/rake/test_rake_task_with_arguments.rb172
-rw-r--r--test/rake/test_rake_test_task.rb146
-rw-r--r--test/rake/test_rake_thread_pool.rb145
-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.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_rdoc_alias.rb13
-rw-r--r--test/rdoc/test_rdoc_any_method.rb460
-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.rb181
-rw-r--r--test/rdoc/test_rdoc_context.rb901
-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.rb227
-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.rb320
-rw-r--r--test/rdoc/test_rdoc_generator_markup.rb59
-rw-r--r--test/rdoc/test_rdoc_generator_pot.rb91
-rw-r--r--test/rdoc/test_rdoc_generator_pot_po.rb51
-rw-r--r--test/rdoc/test_rdoc_generator_pot_po_entry.rb139
-rw-r--r--test/rdoc/test_rdoc_generator_ri.rb78
-rw-r--r--test/rdoc/test_rdoc_i18n_locale.rb73
-rw-r--r--test/rdoc/test_rdoc_i18n_text.rb123
-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.rb364
-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.rb663
-rw-r--r--test/rdoc/test_rdoc_markup_to_html_crossref.rb225
-rw-r--r--test/rdoc/test_rdoc_markup_to_html_snippet.rb711
-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.rb193
-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.rb766
-rw-r--r--test/rdoc/test_rdoc_parser.rb327
-rw-r--r--test/rdoc/test_rdoc_parser_c.rb1896
-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.rb3322
-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.rb535
-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.rb455
-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.rb421
-rw-r--r--test/rdoc/test_rdoc_ruby_token.rb19
-rw-r--r--test/rdoc/test_rdoc_rubygems_hook.rb251
-rw-r--r--test/rdoc/test_rdoc_servlet.rb535
-rw-r--r--test/rdoc/test_rdoc_single_class.rb20
-rw-r--r--test/rdoc/test_rdoc_stats.rb722
-rw-r--r--test/rdoc/test_rdoc_store.rb993
-rw-r--r--test/rdoc/test_rdoc_task.rb170
-rw-r--r--test/rdoc/test_rdoc_text.rb557
-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.rb530
-rw-r--r--test/readline/test_readline_history.rb292
-rw-r--r--test/resolv/test_addr.rb29
-rw-r--r--test/resolv/test_dns.rb200
-rw-r--r--test/resolv/test_resource.rb21
-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_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/utf16.xmlbin207464 -> 0 bytes-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.rb49
-rw-r--r--test/rexml/parse/test_notation_declaration.rb99
-rw-r--r--test/rexml/parser/test_sax2.rb202
-rw-r--r--test/rexml/parser/test_tree.rb42
-rw-r--r--test/rexml/parser/test_ultra_light.rb69
-rw-r--r--test/rexml/rexml_test_utils.rb6
-rw-r--r--test/rexml/test_attributes.rb222
-rw-r--r--test/rexml/test_attributes_mixin.rb31
-rw-r--r--test/rexml/test_changing_encoding.rb44
-rw-r--r--test/rexml/test_comment.rb25
-rw-r--r--test/rexml/test_contrib.rb584
-rw-r--r--test/rexml/test_core.rb1467
-rw-r--r--test/rexml/test_doctype.rb106
-rw-r--r--test/rexml/test_document.rb415
-rw-r--r--test/rexml/test_elements.rb118
-rw-r--r--test/rexml/test_encoding.rb107
-rw-r--r--test/rexml/test_entity.rb205
-rw-r--r--test/rexml/test_functions.rb224
-rw-r--r--test/rexml/test_functions_number.rb34
-rw-r--r--test/rexml/test_jaxen.rb129
-rw-r--r--test/rexml/test_light.rb106
-rw-r--r--test/rexml/test_lightparser.rb15
-rw-r--r--test/rexml/test_listener.rb130
-rw-r--r--test/rexml/test_martin_fowler.rb39
-rw-r--r--test/rexml/test_namespace.rb40
-rw-r--r--test/rexml/test_order.rb109
-rw-r--r--test/rexml/test_preceding_sibling.rb40
-rw-r--r--test/rexml/test_pullparser.rb102
-rw-r--r--test/rexml/test_rexml_issuezilla.rb18
-rw-r--r--test/rexml/test_sax.rb286
-rw-r--r--test/rexml/test_stream.rb129
-rw-r--r--test/rexml/test_text.rb21
-rw-r--r--test/rexml/test_ticket_80.rb58
-rw-r--r--test/rexml/test_validation_rng.rb792
-rw-r--r--test/rexml/test_xml_declaration.rb35
-rw-r--r--test/rexml/xpath/test_attribute.rb29
-rw-r--r--test/rexml/xpath/test_axis_preceding_sibling.rb39
-rw-r--r--test/rexml/xpath/test_base.rb1089
-rw-r--r--test/rexml/xpath/test_node.rb42
-rw-r--r--test/rexml/xpath/test_predicate.rb82
-rw-r--r--test/rexml/xpath/test_text.rb74
-rw-r--r--test/rinda/test_rinda.rb623
-rw-r--r--test/rinda/test_tuplebag.rb172
-rw-r--r--test/ripper/dummyparser.rb220
-rw-r--r--test/ripper/test_files.rb23
-rw-r--r--test/ripper/test_filter.rb83
-rw-r--r--test/ripper/test_parser_events.rb1232
-rw-r--r--test/ripper/test_ripper.rb63
-rw-r--r--test/ripper/test_scanner_events.rb909
-rw-r--r--test/ripper/test_sexp.rb49
-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.rb469
-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.rb143
-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.rb270
-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.rb28
-rw-r--r--test/ruby/lbtest.rb49
-rw-r--r--test/ruby/marshaltestlib.rb186
-rw-r--r--test/ruby/sentence.rb668
-rw-r--r--test/ruby/suicide.rb2
-rw-r--r--test/ruby/test_alias.rb188
-rw-r--r--test/ruby/test_argf.rb878
-rw-r--r--test/ruby/test_arity.rb69
-rw-r--r--test/ruby/test_array.rb2430
-rw-r--r--test/ruby/test_assignment.rb775
-rw-r--r--test/ruby/test_autoload.rb207
-rw-r--r--test/ruby/test_backtrace.rb246
-rw-r--r--test/ruby/test_basicinstructions.rb700
-rw-r--r--test/ruby/test_beginendblock.rb168
-rw-r--r--test/ruby/test_bignum.rb628
-rw-r--r--test/ruby/test_call.rb19
-rw-r--r--test/ruby/test_case.rb75
-rw-r--r--test/ruby/test_class.rb402
-rw-r--r--test/ruby/test_clone.rb2
-rw-r--r--test/ruby/test_comparable.rb94
-rw-r--r--test/ruby/test_complex.rb1014
-rw-r--r--test/ruby/test_complex2.rb735
-rw-r--r--test/ruby/test_complexrational.rb407
-rw-r--r--test/ruby/test_const.rb49
-rw-r--r--test/ruby/test_continuation.rb134
-rw-r--r--test/ruby/test_defined.rb197
-rw-r--r--test/ruby/test_dir.rb308
-rw-r--r--test/ruby/test_dir_m17n.rb389
-rw-r--r--test/ruby/test_econv.rb926
-rw-r--r--test/ruby/test_encoding.rb126
-rw-r--r--test/ruby/test_enum.rb738
-rw-r--r--test/ruby/test_enumerator.rb628
-rw-r--r--test/ruby/test_env.rb506
-rw-r--r--test/ruby/test_eval.rb465
-rw-r--r--test/ruby/test_exception.rb589
-rw-r--r--test/ruby/test_fiber.rb347
-rw-r--r--test/ruby/test_file.rb451
-rw-r--r--test/ruby/test_file_exhaustive.rb1238
-rw-r--r--test/ruby/test_fixnum.rb315
-rw-r--r--test/ruby/test_flip.rb41
-rw-r--r--test/ruby/test_float.rb606
-rw-r--r--test/ruby/test_fnmatch.rb131
-rw-r--r--test/ruby/test_gc.rb350
-rw-r--r--test/ruby/test_hash.rb1236
-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.rb3176
-rw-r--r--test/ruby/test_io_m17n.rb2618
-rw-r--r--test/ruby/test_iseq.rb164
-rw-r--r--test/ruby/test_iterator.rb150
-rw-r--r--test/ruby/test_keyword.rb579
-rw-r--r--test/ruby/test_lambda.rb173
-rw-r--r--test/ruby/test_lazy_enumerator.rb494
-rw-r--r--test/ruby/test_literal.rb470
-rw-r--r--test/ruby/test_m17n.rb1607
-rw-r--r--test/ruby/test_m17n_comb.rb1643
-rw-r--r--test/ruby/test_marshal.rb638
-rw-r--r--test/ruby/test_math.rb292
-rw-r--r--test/ruby/test_metaclass.rb167
-rw-r--r--test/ruby/test_method.rb857
-rw-r--r--test/ruby/test_mixed_unicode_escapes.rb25
-rw-r--r--test/ruby/test_module.rb2032
-rw-r--r--test/ruby/test_not.rb12
-rw-r--r--test/ruby/test_notimp.rb84
-rw-r--r--test/ruby/test_numeric.rb366
-rw-r--r--test/ruby/test_object.rb861
-rw-r--r--test/ruby/test_objectspace.rb76
-rw-r--r--test/ruby/test_optimization.rb344
-rw-r--r--test/ruby/test_pack.rb688
-rw-r--r--test/ruby/test_parse.rb882
-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.rb1258
-rw-r--r--test/ruby/test_process.rb2004
-rw-r--r--test/ruby/test_rand.rb556
-rw-r--r--test/ruby/test_range.rb576
-rw-r--r--test/ruby/test_rational.rb927
-rw-r--r--test/ruby/test_rational2.rb1386
-rw-r--r--test/ruby/test_readpartial.rb14
-rw-r--r--test/ruby/test_refinement.rb1450
-rw-r--r--test/ruby/test_regexp.rb1102
-rw-r--r--test/ruby/test_require.rb733
-rw-r--r--test/ruby/test_rubyoptions.rb796
-rw-r--r--test/ruby/test_rubyvm.rb17
-rw-r--r--test/ruby/test_settracefunc.rb1527
-rw-r--r--test/ruby/test_signal.rb312
-rw-r--r--test/ruby/test_sleep.rb16
-rw-r--r--test/ruby/test_sprintf.rb415
-rw-r--r--test/ruby/test_sprintf_comb.rb553
-rw-r--r--test/ruby/test_string.rb2299
-rw-r--r--test/ruby/test_stringchar.rb65
-rw-r--r--test/ruby/test_struct.rb356
-rw-r--r--test/ruby/test_super.rb400
-rw-r--r--test/ruby/test_symbol.rb240
-rw-r--r--test/ruby/test_syntax.rb653
-rw-r--r--test/ruby/test_system.rb182
-rw-r--r--test/ruby/test_thread.rb1036
-rw-r--r--test/ruby/test_threadgroup.rb57
-rw-r--r--test/ruby/test_time.rb989
-rw-r--r--test/ruby/test_time_tz.rb415
-rw-r--r--test/ruby/test_trace.rb46
-rw-r--r--test/ruby/test_transcode.rb2121
-rw-r--r--test/ruby/test_undef.rb37
-rw-r--r--test/ruby/test_unicode_escape.rb270
-rw-r--r--test/ruby/test_variable.rb87
-rw-r--r--test/ruby/test_weakmap.rb133
-rw-r--r--test/ruby/test_whileuntil.rb113
-rw-r--r--test/ruby/test_yield.rb417
-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.rb1576
-rw-r--r--test/rubygems/test_gem_available_set.rb128
-rw-r--r--test/rubygems/test_gem_command.rb243
-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.rb670
-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.rb239
-rw-r--r--test/rubygems/test_gem_commands_dependency_command.rb221
-rw-r--r--test/rubygems/test_gem_commands_environment_command.rb153
-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.rb74
-rw-r--r--test/rubygems/test_gem_commands_install_command.rb997
-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_open_command.rb46
-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.rb462
-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.rb136
-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.rb281
-rw-r--r--test/rubygems/test_gem_commands_unpack_command.rb210
-rw-r--r--test/rubygems/test_gem_commands_update_command.rb543
-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.rb467
-rw-r--r--test/rubygems/test_gem_dependency.rb357
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb1208
-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.rb334
-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.rb234
-rw-r--r--test/rubygems/test_gem_impossible_dependencies_error.rb61
-rw-r--r--test/rubygems/test_gem_indexer.rb366
-rw-r--r--test/rubygems/test_gem_install_update_options.rb184
-rw-r--r--test/rubygems/test_gem_installer.rb1533
-rw-r--r--test/rubygems/test_gem_local_remote_options.rb133
-rw-r--r--test/rubygems/test_gem_name_tuple.rb44
-rw-r--r--test/rubygems/test_gem_package.rb824
-rw-r--r--test/rubygems/test_gem_package_old.rb89
-rw-r--r--test/rubygems/test_gem_package_tar_header.rb146
-rw-r--r--test/rubygems/test_gem_package_tar_reader.rb89
-rw-r--r--test/rubygems/test_gem_package_tar_reader_entry.rb134
-rw-r--r--test/rubygems/test_gem_package_tar_writer.rb254
-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.rb987
-rw-r--r--test/rubygems/test_gem_request.rb362
-rw-r--r--test/rubygems/test_gem_request_connection_pools.rb120
-rw-r--r--test/rubygems/test_gem_request_set.rb597
-rw-r--r--test/rubygems/test_gem_request_set_gem_dependency_api.rb823
-rw-r--r--test/rubygems/test_gem_request_set_lockfile.rb1276
-rw-r--r--test/rubygems/test_gem_requirement.rb376
-rw-r--r--test/rubygems/test_gem_resolver.rb733
-rw-r--r--test/rubygems/test_gem_resolver_activation_request.rb73
-rw-r--r--test/rubygems/test_gem_resolver_api_set.rb208
-rw-r--r--test/rubygems/test_gem_resolver_api_specification.rb144
-rw-r--r--test/rubygems/test_gem_resolver_best_set.rb137
-rw-r--r--test/rubygems/test_gem_resolver_composed_set.rb45
-rw-r--r--test/rubygems/test_gem_resolver_conflict.rb87
-rw-r--r--test/rubygems/test_gem_resolver_dependency_request.rb84
-rw-r--r--test/rubygems/test_gem_resolver_git_set.rb189
-rw-r--r--test/rubygems/test_gem_resolver_git_specification.rb112
-rw-r--r--test/rubygems/test_gem_resolver_index_set.rb89
-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.rb261
-rw-r--r--test/rubygems/test_gem_resolver_local_specification.rb45
-rw-r--r--test/rubygems/test_gem_resolver_lock_set.rb63
-rw-r--r--test/rubygems/test_gem_resolver_lock_specification.rb98
-rw-r--r--test/rubygems/test_gem_resolver_requirement_list.rb20
-rw-r--r--test/rubygems/test_gem_resolver_specification.rb64
-rw-r--r--test/rubygems/test_gem_resolver_vendor_set.rb83
-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.rb404
-rw-r--r--test/rubygems/test_gem_silent_ui.rb116
-rw-r--r--test/rubygems/test_gem_source.rb241
-rw-r--r--test/rubygems/test_gem_source_fetch_problem.rb19
-rw-r--r--test/rubygems/test_gem_source_git.rb308
-rw-r--r--test/rubygems/test_gem_source_installed.rb36
-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.rb75
-rw-r--r--test/rubygems/test_gem_source_vendor.rb31
-rw-r--r--test/rubygems/test_gem_spec_fetcher.rb310
-rw-r--r--test/rubygems/test_gem_specification.rb3138
-rw-r--r--test/rubygems/test_gem_stream_ui.rb238
-rw-r--r--test/rubygems/test_gem_stub_specification.rb199
-rw-r--r--test/rubygems/test_gem_text.rb74
-rw-r--r--test/rubygems/test_gem_uninstaller.rb483
-rw-r--r--test/rubygems/test_gem_unsatisfiable_dependency_error.rb32
-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.rb85
-rw-r--r--test/rubygems/test_require.rb275
-rw-r--r--test/rubygems/wrong_key_cert.pem18
-rw-r--r--test/rubygems/wrong_key_cert_32.pem18
-rw-r--r--test/runner.rb46
-rw-r--r--test/scanf/data.txt6
-rw-r--r--test/scanf/test_scanf.rb303
-rw-r--r--test/scanf/test_scanfblocks.rb81
-rw-r--r--test/scanf/test_scanfio.rb20
-rw-r--r--test/sdbm/test_sdbm.rb145
-rw-r--r--test/shell/test_command_processor.rb68
-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.rb651
-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.rb675
-rw-r--r--test/socket/test_sockopt.rb65
-rw-r--r--test/socket/test_tcp.rb79
-rw-r--r--test/socket/test_udp.rb72
-rw-r--r--test/socket/test_unix.rb561
-rw-r--r--test/stringio/test_stringio.rb566
-rw-r--r--test/strscan/test_stringscanner.rb241
-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.rb301
-rw-r--r--test/test_ipaddr.rb273
-rw-r--r--test/test_mathn.rb119
-rw-r--r--test/test_mutex_m.rb26
-rw-r--r--test/test_open3.rb268
-rw-r--r--test/test_pp.rb195
-rw-r--r--test/test_prettyprint.rb519
-rw-r--r--test/test_prime.rb174
-rw-r--r--test/test_pstore.rb144
-rw-r--r--test/test_pty.rb241
-rw-r--r--test/test_rbconfig.rb53
-rw-r--r--test/test_securerandom.rb185
-rw-r--r--test/test_set.rb697
-rw-r--r--test/test_shellwords.rb61
-rw-r--r--test/test_singleton.rb103
-rw-r--r--test/test_syslog.rb189
-rw-r--r--test/test_tempfile.rb343
-rw-r--r--test/test_time.rb500
-rw-r--r--test/test_timeout.rb100
-rw-r--r--test/test_tmpdir.rb39
-rw-r--r--test/test_tracer.rb60
-rw-r--r--test/test_tsort.rb113
-rw-r--r--test/test_unicode_normalize.rb184
-rw-r--r--test/test_weakref.rb71
-rw-r--r--test/test_win32api.rb23
-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.rb9
-rw-r--r--test/testunit/test4test_redefinition.rb13
-rw-r--r--test/testunit/test4test_sorting.rb17
-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.rb191
-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.rb13
-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.rb221
-rw-r--r--test/thread/test_queue.rb280
-rw-r--r--test/thread/test_sync.rb63
-rw-r--r--test/thread/test_thread.rb67
-rw-r--r--test/uri/test_common.rb172
-rw-r--r--test/uri/test_ftp.rb30
-rw-r--r--test/uri/test_generic.rb309
-rw-r--r--test/uri/test_http.rb5
-rw-r--r--test/uri/test_ldap.rb32
-rw-r--r--test/uri/test_mailto.rb40
-rw-r--r--test/uri/test_parser.rb47
-rw-r--r--test/webrick/.htaccess1
-rw-r--r--test/webrick/test_cgi.rb131
-rw-r--r--test/webrick/test_cookie.rb27
-rw-r--r--test/webrick/test_filehandler.rb262
-rw-r--r--test/webrick/test_htmlutils.rb20
-rw-r--r--test/webrick/test_httpauth.rb202
-rw-r--r--test/webrick/test_httpproxy.rb284
-rw-r--r--test/webrick/test_httprequest.rb145
-rw-r--r--test/webrick/test_httpresponse.rb149
-rw-r--r--test/webrick/test_httpserver.rb224
-rw-r--r--test/webrick/test_httputils.rb40
-rw-r--r--test/webrick/test_server.rb99
-rw-r--r--test/webrick/test_utils.rb64
-rw-r--r--test/webrick/utils.rb60
-rw-r--r--test/webrick/webrick.cgi2
-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.rb564
-rw-r--r--test/win32ole/test_win32ole_event.rb391
-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_record.rb313
-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.rb725
-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.rb71
-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.rb317
-rw-r--r--test/xmlrpc/test_cookie.rb96
-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.rb77
-rw-r--r--test/xmlrpc/webrick_testing.rb68
-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.rb1061
-rw-r--r--thread.c5247
-rw-r--r--thread_pthread.c1716
-rw-r--r--thread_pthread.h54
-rw-r--r--thread_win32.c802
-rw-r--r--thread_win32.h36
-rw-r--r--time.c5417
-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/downloader.rb178
-rw-r--r--tool/enc-emoji-citrus-gen.rb131
-rw-r--r--tool/enc-emoji4unicode.rb133
-rwxr-xr-xtool/enc-unicode.rb371
-rw-r--r--tool/eval.rb159
-rwxr-xr-xtool/expand-config.rb7
-rwxr-xr-xtool/extlibs.rb143
-rw-r--r--tool/fake.rb30
-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/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-snapshot378
-rwxr-xr-xtool/mdoc2man.rb465
-rwxr-xr-xtool/merger.rb259
-rwxr-xr-xtool/mkconfig.rb290
-rwxr-xr-xtool/mkrunnable.rb122
-rwxr-xr-xtool/node_name.rb6
-rw-r--r--tool/parse.rb13
-rw-r--r--tool/probes_to_wiki.rb16
-rwxr-xr-xtool/rbinstall.rb763
-rwxr-xr-xtool/rbuninstall.rb67
-rwxr-xr-xtool/redmine-backporter.rb416
-rwxr-xr-xtool/release.sh38
-rwxr-xr-xtool/rmdirs11
-rwxr-xr-xtool/rubytest.rb30
-rwxr-xr-xtool/runruby.rb100
-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-deps615
-rw-r--r--tool/vcs.rb256
-rw-r--r--tool/vpath.rb87
-rw-r--r--tool/vtlh.rb15
-rwxr-xr-xtool/ytab.sed37
-rw-r--r--transcode.c4558
-rw-r--r--transcode_data.h123
-rw-r--r--util.c4202
-rw-r--r--util.h67
-rw-r--r--variable.c2399
-rw-r--r--version.c85
-rw-r--r--version.h63
-rw-r--r--vm.c3085
-rw-r--r--vm_args.c812
-rw-r--r--vm_backtrace.c1376
-rw-r--r--vm_core.h1160
-rw-r--r--vm_debug.h37
-rw-r--r--vm_dump.c1061
-rw-r--r--vm_eval.c2185
-rw-r--r--vm_exec.c170
-rw-r--r--vm_exec.h182
-rw-r--r--vm_insnhelper.c2151
-rw-r--r--vm_insnhelper.h233
-rw-r--r--vm_method.c1796
-rw-r--r--vm_opts.h56
-rw-r--r--vm_trace.c1583
-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.c1347
-rw-r--r--win32/Makefile.sub940
-rw-r--r--win32/README.win3283
-rwxr-xr-xwin32/configure.bat166
-rw-r--r--win32/dir.h26
-rw-r--r--win32/enc-setup.mak10
-rw-r--r--win32/file.c682
-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/rmdirs.bat29
-rw-r--r--win32/rtname.cmd18
-rw-r--r--win32/setup.mak213
-rw-r--r--win32/stub.c42
-rw-r--r--win32/win32.c6424
-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
4470 files changed, 261831 insertions, 1447334 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 d1279ea046..0000000000
--- a/.gdbinit
+++ /dev/null
@@ -1,916 +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) == 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 RSymbol *)($arg0)
- set $id_type = ((struct RSymbol *)($arg0))->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
- set $id_fstr = ((struct RSymbol *)($arg0))->fstr
- rp_string $id_fstr
- 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
- set $str = lookup_id_str($id)
- if $str
- rp_string $str
- 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 nd_tree
- set $buf = (struct RString *)rb_str_buf_new(0)
- call dump_node((VALUE)($buf), rb_str_new(0, 0), 0, ($arg0))
- printf "%s\n", $buf->as.heap.ptr
-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[st_numhash($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 *)RCLASS_SUPER($rb_method_entry_klass)
- 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 = RCLASS_SUPER($rb_ancestors_module)
- 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 a9104e9ed5..0000000000
--- a/.gitignore
+++ /dev/null
@@ -1,157 +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
-
-# /
-/*-fake.rb
-/*.pc
-/*_prelude.c
-/COPYING.LIB
-/ChangeLog-*
-/ChangeLog.pre-alpha
-/ChangeLog.pre1_1
-/Doxyfile
-/GNUmakefile
-/GNUmakefile.old
-/README.atheos
-/README.fat-patch
-/README.v6
-/TAGS
-/archive
-/autom4te*.cache
-/automake
-/beos
-/bmlog-*
-/breakpoints.gdb
-/config.cache
-/config.h
-/config.h.in
-/config.status
-/config.status.lineno
-/configure
-/coverage/simplecov
-/coverage/.last_run.json
-/coverage/.resultset.json*
-/coverage/assets
-/coverage/index.html
-/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
-/benchmark/fasta.output.*
-/benchmark/wc.input
-
-/enc/unicode/data
-
-# /enc/trans/
-/enc/trans/*.c
-
-# /ext/
-/ext/extinit.c
-
-# /ext/dl/callback/
-/ext/dl/callback/callback-*.c
-/ext/dl/callback/callback.c
-
-# /ext/etc/
-/ext/etc/constdefs.h
-
-# /ext/fiddle/
-/ext/fiddle/libffi-*
-
-# /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
-
-# /gems
-/gems/*.gem
-
-# /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 ccd4d3884c..0000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,107 +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
-
-os:
- - linux
- - osx
-
-# 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:
- - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq update; fi"
- # Travis ships an outdated, broken version of libssl by default
- - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq --only-upgrade install '^libssl.*'; fi"
- - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq install $CC; fi" # upgrade if any
- - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then JOBS='-j'; fi"
- - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then brew install autoconf openssl; fi"
- - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then OPENSSL_FLAG=\"--with-openssl-dir=`brew --prefix openssl`\"; fi"
- - "if [[ $TRAVIS_OS_NAME = 'osx' && $CC = 'gcc' ]]; then CC='gcc-4.9'; fi"
-install: "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq build-dep ruby1.9.1 2>/dev/null; fi"
-
-# 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:
- - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then rm -f ~/Library/Logs/DiagnosticReports/ruby_*.crash; fi"
- - "uname -a"
- - "uname -r"
- - "rm -fr .ext autom4te.cache"
- - "make -f common.mk BASERUBY=ruby srcdir=. update-config_files"
- - "autoconf"
- - "mkdir config_1st config_2nd"
- - "./configure -C --disable-install-doc --disable-install-rdoc --with-gcc=$CC $OPENSSL_FLAG"
- - "cp -pr config.status .ext/include config_1st"
- - "make reconfig"
- - "cp -pr config.status .ext/include config_2nd"
- - "diff -ru config_1st config_2nd || true"
- - "make -s $JOBS encs"
- - "make -s $JOBS exts"
- - "make update-rubyspec"
-script:
- - "make test"
- - "make test-all TESTS='-q -j2'"
- - "make test-rubyspec"
-after_failure:
- - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then find ~/Library/Logs/DiagnosticReports -type f -name ruby_\\*.crash -ls -execdir cat {} \\; -delete; fi"
-
-# Branch matrix. Not all branches are Travis-ready so we limit branches here.
-branches:
- only:
- - trunk
- - ruby_1_9_3
- - ruby_2_0_0
- - ruby_2_1
- - ruby_2_2
-
-# 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/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index ffdf2dd4b8..0000000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Please see the [official issue tracker] and wiki [HowToContribute].
-
-[official issue tracker]: https://bugs.ruby-lang.org
-[HowToContribute]: https://bugs.ruby-lang.org/projects/ruby/wiki/HowToContribute
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 feb0b325d5..3efaca8b20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13664 +1,19377 @@
-Wed Dec 16 21:10:19 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Mon Jun 18 11:29:49 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/fiddle/handle.c: check tainted string arguments.
- Patch provided by tenderlove and nobu.
+ * intern.h, ext/thread/thread.c: moved prototype of rb_thread_status()
+ to get rid of error in C++. [ruby-list:43615]
- * test/fiddle/test_handle.rb (class TestHandle): add test for above.
+Sun Jun 10 13:47:36 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_beginendblock.rb (test_should_propagate_signaled):
+ get rid of invoking shell. [ruby-dev:30942]
-Wed Dec 16 02:38:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 9 10:40:00 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * io.c (parse_mode_enc): fix buffer overflow.
+ * stable version 1.8.6-p36 released.
-Sat Dec 12 17:19:27 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Fri Jun 8 17:50:17 2007 NAKAMURA Usaku <usa@ruby-lang.org>
- * doc/NEWS-0.2.2: add description about incompatible change in Hash
- duplicated key overriding policy. [Bug #10315] [Bug #11501]
+ * eval.c (rb_thread_cancel_timer): fix undefined function
-Fri Dec 11 22:41:15 2015 Eric Wong <e@80x24.org>
+Wed May 30 05:17:55 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * insns.def (opt_case_dispatch): avoid converting Infinity
- * test/ruby/test_optimization.rb (test_opt_case_dispatch_inf): new
- [ruby-dev:49423] [Bug #11804]'
+ * eval.c (rb_eval): get rid of SEGV at ZSUPER in a block
+ [ruby-dev:30836]
-Thu Dec 10 00:23:07 2015 Rei Odaira <Rei.Odaira@gmail.com>
+Wed May 30 04:29:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: pthread_getattr_np is broken on AIX.
- More specifically, the stack address and size returned are
- not correct.
+ * eval.c (thread_timer): timer thread should not receive any
+ signals. submitted by Sylvain Joyeux. [ruby-core:08546]
-Thu Dec 10 00:19:18 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed May 30 04:18:37 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * common.mk (update-gems): use BASERUBY instead of RUNRUBY.
+ * eval.c (rb_eval_cmd): just return if no exceptions.
+ [ruby-dev:30820]
-Wed Dec 9 01:49:13 2015 Eric Wong <e@80x24.org>
+Tue May 29 11:01:06 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * insns.def (opt_case_dispatch): check Float#=== redefinition
- * test/ruby/test_optimization.rb (test_opt_case_dispatch): new
- [ruby-core:71920] [Bug #11784]
+ * win32/win32.c (rb_w32_opendir): store attributes of the second
+ entries or later too.
-Wed Dec 9 01:46:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (rb_w32_opendir, rb_w32_readdir): eliminate magic
+ numbers.
- * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of
- InterlockedCompareExchange64. new value and then old value is
- the last.
+Thu Jun 7 20:10:51 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 9 01:28:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c, intern.h, ext/thread/thread.c: should not free queue
+ while any live threads are waiting.
+ [ruby-dev:30653]
- * encoding.c (enc_m_loader): defer finding encoding object not to
- be infected by marshal source. [ruby-core:71793] [Bug #11760]
+Thu Jun 7 14:53:46 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * marshal.c (r_object0): enable compatible loader on USERDEF
- class. the loader function is called with the class itself,
- instead of an allocated object, and the loaded data.
+ * eval.c (method_inspect): show proper class name.
+ [ruby-talk:248647], Thanks Calamitas.
- * marshal.c (compat_allocator_table): initialize
- compat_allocator_tbl on demand.
+Sun May 27 05:24:56 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * object.c (rb_undefined_alloc): extract from rb_obj_alloc.
+ * runruby.rb: eliminate uninitialized variable.
+ [ruby-core:11255]
-Wed Dec 9 01:24:57 2015 Rei Odaira <Rei.Odaira@gmail.com>
+Sun May 27 05:19:03 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * ext/-test-/file/fs.c: need to include sys/statvfs.h
- to use statvfs().
+ * eval.c (mnew): call of super via a method object should work again.
+ [ruby-talk:248647], Thanks Calamitas.
- * ext/-test-/file/extconf.rb: check the existence of
- sys/statvfs.h
+ * test/ruby/test_method.rb (TestMethod::test_method_super): test for
+ above fix.
-Fri Dec 4 04:46:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 23 07:29:53 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * sprintf.c (rb_str_format): fix wrong shifting position in
- Rational conversion when not at the beginning of the result.
- [ruby-core:71806] [Bug #11766]
+ * process.c (proc_exec_v): terminate timer thread in advance.
+ [ruby-dev:30581], Thanks H. Holon.
-Fri Dec 4 02:42:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 23 06:51:46 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
- * range.c (range_to_s): should be infected by the receiver.
- str2 infects by appending. [ruby-core:71811] [Bug #11767]
+ * lib/cgi.rb (CGI#[]): get rid of exceptions being raised.
+ [ruby-dev:30740], Thanks Kentaro KAWAMOTO.
-Wed Dec 2 03:17:01 2015 NARUSE, Yui <naruse@ruby-lang.org>
+Wed May 23 05:49:49 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/readline/extconf.rb: call dir_config("libedit")
- if --enable-libedit is spcified. [Bug #11751]
- patched by John Hein
+ * ext/extmk.rb, ext/purelib.rb, lib/mkmf.rb, runruby.rb: clear default
+ load path to get rid of load pre-installed extensions/libraries.
+ [ruby-core:11017]
-Wed Dec 2 02:59:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 23 06:14:15 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (parser_here_document): store dispatched result of
- on_tstring_content at the last fragment of a here document.
+ * win32/win32.c (move_to_next_entry): loc also must move forward.
+ [ruby-talk:251987]
-Tue Dec 1 02:52:17 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Wed May 23 05:55:04 2007 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/ruby/test_gc.rb: merge partially r52391 to get rid of CI error.
+ * win32/win32.c (init_stdhandle): stderr should be without buffering,
+ but mswin32 use buffering when stderr is not connected to tty.
-Tue Dec 1 02:27:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 23 05:35:42 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_each_codepoint): raise an exception at incomplete
- character before EOF when conversion takes place. [Bug #11444]
+ * bignum.c (rb_big_pow): truncate all zero BDIGITs. [ruby-dev:30733]
-Sun Nov 29 18:02:44 2015 Shugo Maeda <shugo@ruby-lang.org>
+Wed May 23 05:17:33 2007 NAKAMURA Usaku <usa@ruby-lang.org>
- * io.c (argf_getpartial): should not resize str if the second
- argument is not given.
- [ruby-core:71668] [Bug #11738]
+ * ext/iconv/iconv.c (iconv_s_conv): rdoc fix.
-Sun Nov 29 17:48:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 23 05:10:02 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_eval.c (local_var_list_add): skip internal local variable
- name by its type but not if it has a name. internal local
- variable names are just unique per frame, not globally.
- [ruby-core:71437] [Bug #11674]
+ * eval.c (rb_thread_priority): rdoc fix; the initial value is
+ inherited from the creating thread. [ruby-core:10607]
-Sun Nov 29 17:13:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 23 04:22:57 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_each_codepoint): read more data when read partially.
- [ruby-core:70379] [Bug #11444]
+ * dir.c (do_stat, do_lstat, do_opendir): should not warn ENOTDIR.
+ [ruby-talk:248288]
-Sun Nov 29 16:46:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Wed May 23 03:50:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/http.rb: set hostname before call ossl_ssl_set_session.
- [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek
+ * lib/mkmf.rb (libpathflag): not to append RPATHFLAG to current
+ directory.
-Sun Nov 29 16:33:30 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/mkmf.rb (init_mkmf): add current directory to default
+ library path with highest priority. [ruby-core:10960]
- * transcode.c (rb_econv_open0): rb_econv_t::source_encoding_name
- and rb_econv_t::destination_encoding_name should refer static
- strings always or NULL. [ruby-core:70247] [Bug #11416]
+ * lib/mkmf.rb (LINK_SO): LIBPATH to be placed before DLDFLAGS.
-Sun Nov 29 16:11:32 2015 Eric Wong <e@80x24.org>
+Wed May 23 03:33:55 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * iseq.c (iseq_data_to_ary): dump kw_arg as symbol
- * test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip
- [ruby-core:69891] [Bug #11338]
+ * lib/monitor.rb (ConditionVariable#wait, mon_enter, mon_exit_for_cond):
+ ensures Thread.critical to be false. [ruby-talk:248300]
-Sun Nov 29 02:55:56 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Wed May 23 03:25:13 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (__has_feature): move into internal.h.
+ * util.c (ruby_strtod): exponent is radix 10. [ruby-talk:248272]
- * internal.h (__has_feature): ditto.
+Wed May 23 03:12:17 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * internal.h (__has_extension): new macro.
+ * configure.in (LDFLAGS): prepend -L. instead appending it to
+ XLDFLAGS. [ruby-core:10933]
- * internal.h (STATIC_ASSERT): use _Static_assert with
- clang. [ruby-core:69931] [Bug #11343]
+ * configure.in (Makefile): remove $U for automake from MISSING.
+ [ruby-talk:248171]
-Sat Nov 28 06:28:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 23 02:09:32 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
- * parse.y (literal_concat_gen, evstr2dstr_gen): keep literal
- encoding beginning with an interpolation same as the source file
- encoding. [ruby-core:70703] [Bug #11519]
+ * eval.c (rb_yield_0): should not clear state on TAG_NEXT when
+ it's invoked from within lambda body. [ruby-talk:248136]
-Sat Nov 28 06:12:32 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (proc_invoke): handle TAG_NEXT which would be caused by
+ next in the lambda body as well.
- * ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise error
- in ext/openssl instead of OpenSSL itself because LibreSSL
- silently truncate the selected protocol name by casting the length
- from int to unsigned char. [Bug #11369]
- Patch by Jeremy Evans <merch-redmine@jeremyevans.net>
+Wed May 23 01:55:49 2007 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Nov 28 05:50:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (rb_w32_fclose, rb_w32_close): need to save errno
+ before calling original fclose()/close().
- * vm_eval.c (send_internal): set method_missing_reason before
- invoking overriding method_missing method so that the default
- method_missing can achieve it properly.
- [ruby-core:68515] [Bug #10969]
+Wed May 23 01:42:29 2007 Shugo Maeda <shugo@ruby-lang.org>
-Sat Nov 28 05:47:27 2015 Rei Odaira <Rei.Odaira@gmail.com>
+ * lib/net/imap.rb (disconnect): call shutdown for
+ SSLSocket. Thanks, Technorama Ltd.
- * test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up
- code and check RSS to avoid false positive on AIX and false
- negative on Mac OS X. [Bug #10686]
+Wed May 23 01:28:14 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Nov 28 05:47:27 2015 Rei Odaira <Rei.Odaira@gmail.com>
+ * error.c (rb_notimplement), io.c (pipe_open): removed definite
+ articles and UNIX manual section from messages. [ruby-dev:30690]
- * test/ruby/test_symbol.rb: avoid a false positive in AIX.
+ * io.c (pipe_open): raise NotImplementedError for command "-" on
+ platforms where fork(2) is not available. [ruby-dev:30681]
-Sat Nov 28 05:35:28 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Wed May 23 00:03:42 2007 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/objspace/test_objspace.rb
- (test_trace_object_allocations_start_stop_clear): clear object
- allocation table first to get rid of erroneous detection for obj3.
- [ruby-dev:49095] [Bug #11271]
+ * ext/socket/socket.c (s_recv, s_recvfrom): some systems (such as
+ windows) doesn't set fromlen if the socket is connection-oriented.
+ reported by Bram Whillock in [ruby-core:10512] [ruby-Bugs#9061]
-Sat Nov 28 05:21:06 2015 Koichi Sasada <ko1@atdot.net>
+Sat Mar 24 23:40:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * insns.def (defined): skip respond_to_missing? when
- a method is available.
- [Bug #11211]
+ * node.h (struct rb_thread.locals): explicit as struct.
+ [ruby-core:10585]
- * test/ruby/test_defined.rb: add a test for this fix.
+ * eval.c, node.h (enum rb_thread_status, struct rb_thread,
+ rb_curr_thread, rb_main_thread): prefixed. [ruby-core:10586]
-Wed Nov 25 01:05:29 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * file.c (chompdirsep): made an unprefixed name static.
- * ext/digest/sha1/sha1ossl.c: fix defs.h path to catch up changes in
- r52739.[Bug #3231]
+ * io.c (io_fread): ditto.
- * ext/digest/rmd160/rmd160ossl.c: ditto.
+Tue May 22 23:27:16 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 25 00:54:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (ruby_cleanup): exit by SystemExit and SignalException in END
+ block. [ruby-core:10609]
- * parse.y (kwd_append): fix segv after invalid keyword argument,
- preceding keyword list is NULL when syntax error is there.
- [ruby-core:71356] [Bug #11663]
+ * test/ruby/test_beginendblock.rb (test_should_propagate_exit_code):
+ test for exit in END block. [ruby-core:10760]
-Wed Nov 25 00:47:07 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+ * test/ruby/test_beginendblock.rb (test_should_propagate_signaled):
+ test for signal in END block.
- * lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained
- EOL string. Patch by @kachick [fix GH-942][Bug #11513]
+Tue May 22 23:14:19 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 25 00:32:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_provided): check for extension library if SOEXT is
+ explicitly given. [ruby-dev:30657]
- * compile.c (iseq_build_from_ary_body): register cdhash to the
- iseq constant body instead of compile time mark array, not to
- get GCed. [ruby-core:70708] [Feature #8543]
+Tue May 22 21:29:08 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 25 00:14:28 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * bignum.c (rb_big2str0): round up for the most significant digit.
+ [ruby-core:10686]
- * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid
- includeing ext/digest/extconf.h. [Bug #3231]
- https://msdn.microsoft.com/library/36k2cdd4.aspx
+Tue May 22 20:53:02 2007 Akinori MUSHA <knu@iDaemons.org>
- * ext/digest/*/extconf.rb: remove ext/digest from include search path
- to avoid confusion of cl.exe.
+ * 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].
- * ext/digest/*/*.[ch]: explicitly specify def.h's path.
+Tue Mar 20 15:37:24 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
-Wed Nov 25 00:03:42 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+ * distruby.rb: Add zip generation.
- * Added missing reference of GitHub
+Fri Mar 16 21:48:11 2007 Akinori MUSHA <knu@iDaemons.org>
-Wed Nov 25 00:03:42 2015 Trevor Rowe <trevorrowe@gmail.com>
+ * 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].
- * lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100"
- header. [fix GH-949]
- * test/net/http/test_http.rb: added test.
+Fri Mar 16 18:28:06 2007 Akinori MUSHA <knu@iDaemons.org>
-Mon Nov 23 00:19:51 2015 Koichi Sasada <ko1@atdot.net>
+ * 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].
- * vm_insnhelper.c (vm_invoke_block): we should not expect ci->argc is
- stable after invoking a block. [Bug #11451]
+Fri Mar 16 16:33:58 2007 Akinori MUSHA <knu@iDaemons.org>
- * test/ruby/test_yield.rb: add a test. This test script is given by
- Alex Dowad.
+ * 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].
-Thu Nov 19 01:06:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Mar 16 16:21:35 2007 Akinori MUSHA <knu@iDaemons.org>
- * load.c (rb_load_internal0): stop separating exits at loading
- from exits from execution. TAG_FATAL is the only case that
- `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG
- but not raising as an ordinary exception.
- [ruby-core:70169] [Bug #11404]
+ * 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].
-Thu Nov 19 01:06:07 2015 Alex Dowad <alexinbeijing@gmail.com>
+Fri Mar 16 16:17:27 2007 Akinori MUSHA <knu@iDaemons.org>
- * load.c (rb_load_internal0): extra check before returning
- TAG_RAISE when a non-local transfer of control happens while
- loading and parsing a Ruby source file.
- [ruby-core:70169] [Bug #11404]
+ * 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].
-Thu Nov 19 01:06:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Mar 14 12:30:00 2007 Shigeo Kobayashi <shigeo@tinyforest.jp>
- * load.c (rb_load_internal0): do not raise any exceptions but
- return the result tag state.
+ * ext/bigdecimal/bigdecimal.c: BigDecimal("-.31") is now
+ treated as ("-0.31") not as ("0.31").
- * load.c (rb_load_protect): reduce nested EXEC_TAGs.
+Tue Mar 13 04:04:04 2007 Akinori MUSHA <knu@iDaemons.org>
-Thu Nov 19 00:41:09 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * stable version 1.8.6 released.
- * enc/euc_jp.c (mbc_case_fold): check given string is valid or not,
- and if invalid, return 1. [Bug #11486]
+Tue Mar 13 02:54:17 2007 Akinori MUSHA <knu@iDaemons.org>
-Thu Nov 19 00:15:23 2015 Zachary Scott <zzak@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].
- * ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735]
+Mon Mar 12 11:07:44 2007 Akinori MUSHA <knu@iDaemons.org>
-Thu Nov 19 00:01:14 2015 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].
- * io.c (argf_next_argv): check ARGV element type, and try
- conversion if necessary. [ruby-core:71140] [Bug #11610]
+ * ext/openssl/ossl_bn.c (Init_ossl_bn): Ditto.
-Wed Nov 18 23:29:32 2015 Aaron Patterson <tenderlove@ruby-lang.org>
+ * ext/openssl/ossl_cipher.c (Init_ossl_cipher): Ditto.
- * ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3 support
- if the SSL library supports it. Thanks Kurt Roeckx <kurt@roeckx.be>
- [Bug #11376]
+ * ext/openssl/ossl_digest.c (Init_ossl_digest): Ditto.
- * ext/openssl/extconf.rb: check for SSLv3 support in the SSL
- implementation.
+ * ext/openssl/ossl_hmac.c (Init_ossl_hmac): Ditto.
- * test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3
- if there is no support.
+ * ext/openssl/ossl_pkey.c (Init_ossl_pkey): Ditto.
-Mon Nov 16 03:39:59 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): Ditto.
- * tool/runruby.rb: rubyspec now requires other FDs not to be closed
- since 7b6ce1fee.
+ * ext/openssl/ossl_pkey_dsa.c (Init_ossl_dsa): Ditto.
-Sun Nov 8 23:30:56 2015 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): Ditto.
- * vm_trace.c (rb_threadptr_exec_event_hooks_orig):
- maintain trace_running counter on internal events.
+ * ext/openssl/ossl_rand.c (Init_ossl_rand): Ditto.
- This patch is made by Takashi Kokubun <takashikkbn@gmail.com>.
- [Bug #11603] https://github.com/ruby/ruby/pull/1059
+ * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Ditto.
-Sun Nov 1 03:52:41 2015 Aaron Patterson <tenderlove@ruby-lang.org>
+Mon Mar 12 01:23:50 2007 Akinori MUSHA <knu@iDaemons.org>
- * test/openssl/test_ssl_session.rb: Fix tests so that they take in to
- account OpenSSL installations that have SSLv3 disabled by default.
- Thanks Jeremy Evans <code@jeremyevans.net> for the patches.
- [Bug #11366] [Bug #11367]
+ * 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].
-Sun Nov 1 03:40:43 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/dl/ptr.c (rb_dlptr_inspect): Ditto.
- * test/openssl/test_ssl_session.rb (OpenSSL#test_ctx_client_session_cb):
- fix test failure with OpenSSL disabled SSLv3 protocol.
- [ruby-core:63772] [Bug #10046]
+ * 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].
-Tue Oct 27 23:58:32 2015 Koichi Sasada <ko1@atdot.net>
+Sun Mar 11 19:04:29 2007 Akinori MUSHA <knu@iDaemons.org>
- * vm.c (hook_before_rewind): prevent kicking :return event while
- finishing vm_exec func because invoke_block_from_c() kick a :return
- event for bmethods.
- [Bug #11492]
+ * misc/README: Add a note about ruby-electric.el.
- * test/ruby/test_settracefunc.rb: add a test.
+ * misc/ruby-mode.el (ruby-non-block-do-re): Fix
+ ruby-non-block-do-re. [ruby-core:03719]
-Tue Oct 27 23:38:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * misc/inf-ruby.el: Synchronize the comment section with trunk.
- * configure.in: check for libunwind.h, which is not available in
- very old OS X SDK. [ruby-core:71080] [Bug #11591]
+ * 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].
-Tue Oct 27 23:32:51 2015 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Sun Mar 11 17:51:46 2007 Akinori MUSHA <knu@iDaemons.org>
- * test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027]
- patch by voxik.
+ * 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].
- * test/rinda/test_rinda.rb: ditto
+Sun Mar 11 17:30:53 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Oct 6 01:29:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (error_handle): no message when exiting by signal.
- * parse.y (IS_BEG): include labeled argument state, which was
- EXPR_LABELARG. [ruby-dev:49221] [Bug #11456]
+ * eval.c (ruby_cleanup): re-send signal. [ruby-dev:30516]
-Tue Oct 6 01:29:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_interrupt): instantiate SignalException.
- * parse.y: fix syntax error at do-block after a conditional
- operator. separate label-allowed and after-a-label states from
- others as bit flags. [ruby-dev:48790] [Bug #10653]
+ * eval.c (rb_thread_signal_raise): now takes signal number instead
+ of signal name.
-Mon Oct 5 03:29:23 2015 Tanaka Akira <akr@fsij.org>
+ * intern.h (rb_thread_signal_raise, ruby_default_signal): prototypes.
- * enum.c (nmin_filter): Fix limit value.
- patch by Helder Pereira.
- [Bug #11471] [ruby-core:70477]
+ * signal.c (esignal_init): takes a signal number and an optional
+ signal name.
-Wed Sep 30 03:44:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * signal.c (interrupt_init): pass SIGINT always.
- * lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction
- digits. [ruby-core:70667] [Bug #11509]
+ * signal.c (ruby_default_signal): invoke system default signal
+ handler.
-Wed Sep 30 03:34:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * signal.c (rb_signal_exec, trap): handle SIGTERM. [ruby-dev:30505]
- * re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching
- till the end of string. [ruby-core:70592] [Bug #11488]
+Tue Mar 6 19:03:42 2007 Akinori MUSHA <knu@iDaemons.org>
- * test/ruby/test_m17n.rb (test_include?, test_index): add tests by
- Tom Stuart.
+ * ext/digest/lib/md5.rb (MD5::new, MD5::md5): Do not modify
+ Digest::MD5.
-Wed Sep 30 03:24:29 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/digest/lib/sha1.rb (SHA1::new, SHA1::sha1): Ditto.
- * thread_pthread.c (reserve_stack): ensure the memory is really
- allocated. [Bug #11457]
+ * lib/shell/process-controller.rb: fix thread synchronization
+ problem for [ruby-dev:30477].
-Tue Aug 25 01:01:01 2015 Koichi Sasada <ko1@atdot.net>
+ * 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].
- * insns.def (defineclass): introduce an ad-hoc patch to avoid
- an issue reported on [Bug #10871].
+ * 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].
- This patch does not fix completely. For example, method definition
- in a block (like 1.times{def ...; end}) still causes same issue.
- To solve all, we need a huge patch and it seems difficult for
- stable branch.
+ * ext/tk/sample/irbtkw.rbw: fails to exit process.
- Use Ruby 2.3 and later to solve this issue completely.
- (See [Bug #10943])
+Mon Mar 5 20:26:10 2007 Akinori MUSHA <knu@iDaemons.org>
-Tue Aug 18 22:52:50 2015 NAKAMURA Usaku <usa@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].
- * tool/downloader.rb: support old versions of ruby.
+Sun Mar 4 23:53:27 2007 Minero Aoki <aamine@loveruby.net>
- * tool/downloader.rb: now can download gems by http if openssl is not
- available (this may be danger!)
+ * lib/fileutils.rb (mv): could not move a directory between
+ different filesystems. [ruby-dev:30411]
-Tue Aug 18 20:10:13 2015 Tanaka Akira <akr@fsij.org>
+Sun Mar 4 23:46:40 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * numeric.c (Init_Numeric): Fix document for Float::MIN and
- Float::EPSILON.
+ * file.c (rb_file_s_utime): allow nil to set the current time.
-Mon Aug 17 23:07:47 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+ * lib/fileutils.rb (touch): ditto, and added :mtime and :nocreate
+ options. fixed: [ruby-talk:219037]
- * lib/rubygems.rb: bump version to 2.4.5.1. this version fixed
- CVE-2015-3900.
- * lib/rubygems/remote_fetcher.rb: ditto.
- * test/rubygems/test_gem_remote_fetcher.rb: added testcase for CVE-2015-3900
+Sun Mar 4 23:19:00 2007 WATANABE Hirofumi <eban@ruby-lang.org>
-Mon Aug 17 23:00:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * util.c (push_element): should return a int value.
- * ext/win32/lib/win32/registry.rb (API#SetValue): data size should
- be in bytes, not in chars. [ruby-core:70365] [Bug #11439]
+Sun Mar 4 01:06:55 2007 Akinori MUSHA <knu@iDaemons.org>
-Mon Aug 17 23:00:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/set.rb (Set#^, Set#&): Correct documentation. Those methods
+ return sets, not arrays; noted by Oliver Frank Wittich <nietz AT
+ mangabrain.de>.
- * ext/win32/lib/win32/registry.rb (API#SetValue): add terminator
- size, not 1 byte. [ruby-core:70365] [Bug #11439]
+Sat Mar 3 21:41:31 2007 Akinori MUSHA <knu@iDaemons.org>
-Sun Aug 16 03:14:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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
- * re.c (rb_memsearch): should match only char boundaries in wide
- character encodings. [ruby-core:70220] [Bug #11413]
+Sat Mar 3 19:07:05 2007 Akinori MUSHA <knu@iDaemons.org>
-Sun Aug 16 03:00:44 2015 Eric Wong <e@80x24.org>
+ * ext/thread/thread.c (push_list): Use ALLOC().
- * symbol.h (struct RSymbol): add hashval field
- * symbol.c (dsymbol_alloc): setup hashval field once
- * hash.c (rb_any_hash): return RSymbol->hashval directly
- * common.mk: hash.o depends on symbol.h
- Thanks to Bruno Escherl <bruno@escherl.net> for the bug report
- [ruby-core:70129] [Bug #11396]
+ * ext/thread/thread.c (rb_mutex_alloc): Ditto.
-Fri Aug 14 16:30:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/thread/thread.c (rb_condvar_alloc): Ditto.
- * transcode.c (rb_econv_set_replacement): target encoding name can
- be empty now. [ruby-core:69841] [Bug #11324]
+Sat Mar 3 18:56:40 2007 Akinori MUSHA <knu@iDaemons.org>
-Fri Aug 14 15:24:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * NEWS: Add a note for String#intern.
- * hash.c (rb_any_hash): fix Float hash. rb_dbl_hash() returns a
- Fixnum, but not a long. [Bug #9381]
+Sat Mar 3 18:36:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Aug 14 15:09:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_provided): return true only for features loaded from
+ .rb files, and not search actual library type. [ruby-dev:30414]
- * ext/json/parser/parser.rl: raise with messages in UTF-8
- encoding. [ruby-core:67386] [Bug #10705]
+ * eval.c (rb_feature_p): check loading_tbl if the given ext is
+ empty. [ruby-dev:30452]
-Fri Aug 14 00:44:34 2015 Eric Wong <e@80x24.org>
+ * eval.c (rb_feature_p): fix possible buffer overrun.
- * io.c (rb_io_oflags_modestr): handle O_TRUNC correctly
- * test/ruby/test_io.rb (test_reopen_stdio): new test
- Patch-by: cremno phobia <cremno@mail.ru>
- [ruby-core:69779] [Bug #11319]
+Sat Mar 3 16:30:39 2007 Akinori MUSHA <knu@iDaemons.org>
-Thu Aug 13 01:25:26 2015 Benoit Daloze <eregontp@gmail.com>
+ * 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].
- * lib/net/ftp.rb (makeport): close the TCPServer
- when sending the port fails.
+ * eval.c (proc_invoke): Ditto.
- * test/net/ftp/test_ftp.rb: test for above.
+ * gc.c (obj_free): Ditto.
-Thu Aug 13 01:03:13 2015 Kazuki Tsujimoto <kazuki@callcc.net>
+ * parse.y (top_local_setup_gen): Ditto.
- * lib/net/http/response.rb (Net::HTTPResponse::Inflater#finish):
- fix a bug that empty gzipped response body causes Zlib::BufError.
- [ruby-core:68846] [Bug #11058]
+Sat Mar 3 16:09:27 2007 Akinori MUSHA <knu@iDaemons.org>
- * test/net/http/test_httpresponse.rb: tests for the above.
+ * object.c (rb_obj_ivar_set): RDoc updated according to a
+ suggestion from Brian Candler <B.Candler AT pobox.com>.
+ [ruby-core:10469]
-Thu Aug 13 01:03:13 2015 Kazuki Tsujimoto <kazuki@callcc.net>
+Sat Mar 3 15:41:33 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/http/response.rb (Net::HTTPResponse#inflater):
- fix TypeError. An exception object might be nil.
- [ruby-core:68846] [Bug #11058]
+ * parse.y (stmt, arg): should not omit lhs of OP_ASGN1 even if
+ empty. [ruby-dev:30452]
-Thu Aug 13 00:03:24 2015 Aaron Patterson <tenderlove@ruby-lang.org>
+Thu Mar 1 04:08:30 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * .travis.yml: update libssl before running tests.
- Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for figuring out the
- travis settings!
+ * mkconfig.rb (patchlevel): read from version.h.
-Thu Aug 13 00:03:24 2015 Aaron Patterson <tenderlove@ruby-lang.org>
+Thu Mar 1 03:42:09 2007 Akinori MUSHA <knu@iDaemons.org>
- * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a more
- helpful exception when verifying the peer connection and an
- anonymous cipher has been selected. [ruby-core:68330] [Bug #10910]
- Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for the patch.
+ * ext/digest/digest.c (get_digest_base_metadata): Allow inheriting
+ Digest::Base subclasses, which was unintentionally made
+ impossible while restructuring Digest classes.
- * test/openssl/test_ssl.rb (class OpenSSL): test for change
+Wed Feb 28 22:10:55 2007 Akinori MUSHA <knu@iDaemons.org>
-Wed Aug 12 23:57:01 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * doc/NEWS-1.8.0: Rename NEWS to NEWS-1.8.0. This is way too old
+ NEWS.
- * ext/date/extconf.rb: try_cflags("-std=iso9899:1999") [Bug #10906]
- ruby itself (including numeric.c) is built with strict compile
- options including -std=iso9899:1999, but ext/date is not.
- By the way -std=iso9899:1999 is not only a warning option but also
- changes behavior like MACRO definitions for example INFINITY.
- gcc on Solaris affect this.
+ * NEWS: Add NEWS, a document file to keep user visible feature
+ changes between releases.
-Wed Aug 12 23:53:39 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+ * configure.in (ac_cv_func_fcntl): fcntl support for MinGW.
- * win32/win32.c (waitpid): return immediately if interrupted.
- reported by <takkanm AT gmail.com> [ruby-dev:49176] [Bug #11340]
+ * missing/flock.c: workaround for MinGW.
-Wed Aug 12 01:05:58 2015 Jeremy Evans <merch-redmine@jeremyevans.net>
+ * 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]
- * test/openssl/test_ssl.rb: Fix LocalJumpErrors being raised
- in OpenSSL tests. [ruby-core:70020][Bug #11368]
+ * 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]
-Wed Aug 12 00:54:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/{dbm,gdbm}/test_{dbm,gdbm}.rb: shouldn't use host_os. use
+ target_os instead. reported by KOBAYASHI Yasuhiro [ruby-list:43225]
- * array.c (rb_ary_repeated_permutation): fix buffer size, ALLOCV_N
- already multiplies element size.
+ * mkconfig.rb (RbConfig): add CONFIG['PATCHLEVEL']
-Tue Aug 11 01:51:53 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * common.mk: new target dist
- * lib/timeout.rb (ExitException): leave Timeout::ExitException as an
- alias of Timeout::Error for backward compatibility in stable branch.
- [ruby-dev:49179] [Bug #11344]
+ * distruby.rb: new file
-Tue Aug 11 01:51:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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].
- * lib/timeout.rb (ExitException): removed internal exception class
- and use Timeout::Error instead, as using throw/catch to isolate
- each timeouts now. [ruby-dev:49179] [Bug #11344]
+Wed Feb 28 20:51:32 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
-Tue Aug 11 01:37:28 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * 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]
- * test/net/http/test_httpresponse.rb
- (HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase):
- fix a failure without zlib.
+Tue Feb 27 21:50:10 2007 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Aug 11 01:37:28 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * util.c (__crt0_glob_function): use ruby_glob() instead of rb_globi().
- * lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper
- case. [ruby-core:69670] [Bug #11285] patched by Andy Chu
+ * configure.in (ac_cv_func_setrlimit): workaround for djgpp.
-Tue Aug 11 01:21:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Feb 27 20:49:19 2007 Akinori MUSHA <knu@iDaemons.org>
- * vm.c (m_core_hash_merge_ptr): copy the arguments to the machine
- stack before rewinding the control frame pointer and leaving the
- arguments outside valid region of the value stack.
- [ruby-core:69969] [Bug #11352]
+ * lib/base64.rb (Base64::b64encode): Fix documentation; submitted
+ by David Symonds <dsymonds@gmail.com> in [ruby-core:10432].
- * vm.c (REWIND_CFP): keep the arguments region inside the valid
- value stack. [ruby-core:69969] [Bug #11352]
+ * 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].
-Tue Aug 11 01:11:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_load): Ditto.
- * string.c (rb_str_reverse): reversed string is not a substring,
- and should not set coderange of the original string.
- [ruby-dev:49189] [Bug #11387]
+ * ext/digest/sha1/sha1ossl.c (SHA1_Finish): Ditto.
-Tue Aug 11 00:42:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/rmd160/rmd160ossl.c (RMD160_Finish): Ditto.
- * parse.y (lambda_body): pop cmdarg stack for lookahead
- token. [ruby-core:70067] [Bug #11380]
+ * ext/digest/digest.c (rb_digest_base_finish,
+ rb_digest_base_update): Ditto.
-Tue Aug 11 00:21:56 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/nkf/nkf.c (rb_str_resize, rb_nkf_kconv, rb_nkf_guess1,
+ rb_nkf_guess2): Ditto.
- * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state,
- but it is a dummy.
+ * 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/option.c: Solaris 11 doesn't have u_intN_t.
+ * ext/thread/thread.c (set_critical): Merge in
+ thread_exclusive_ensure().
- * ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec.
+ * ext/thread/thread.c: Consistently use 0 and 1 for
+ rb_thread_critical values.
- * ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have
- related macros.
+ * ext/thread/thread.c: Use xmalloc()/xfree() instead of
+ malloc()/free(); pointed out by shugo in [ruby-dev:30412].
-Tue Aug 4 04:11:34 2015 Tanaka Akira <akr@fsij.org>
+ * 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].
- * lib/time.rb (strptime): Support %s.%N.
- [ruby-core:68301] [Bug #10904] Patch by Sadayuki Furuhashi.
+Sun Feb 25 02:50:51 2007 Akinori MUSHA <knu@iDaemons.org>
-Tue Aug 4 03:43:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * defines.h: Pull the RUBY_MBCHAR_MAXSIZE definition from trunk,
+ which is necessary for dir.c to compile on djgpp and emx.
- * transcode.c (load_transcoder_entry): fix transcoder loading race
- condition, by waiting in require. [ruby-dev:49106] [Bug #11277]
+Sat Feb 24 17:04:01 2007 Tadayoshi Funaba <tadf@dotrb.org>
-Tue Aug 4 03:13:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/date/format.rb: updated based on date2 4.0.3.
- * array.c (ary_ensure_room_for_push): check if array size will
- exceed maximum size to get rid of buffer overflow.
- [ruby-dev:49043] [Bug #11235]
+Sat Feb 24 17:01:02 2007 Minero Aoki <aamine@loveruby.net>
- * array.c (ary_ensure_room_for_unshift, rb_ary_splice): ditto.
+ * ext/racc/cparse/cparse.c (cparse_params_mark): remove useless
+ rb_gc_mark. Thanks Tomoyuki Chikanaga. [ruby-dev:30405]
-Sat Jul 4 23:08:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Feb 24 16:53:09 2007 NAKAMURA Usaku <usa@ruby-lang.org>
- * file.c (rb_file_load_ok): try opening file without gvl not to
- lock entire process. [Bug #11060]
+ * signal.c (sighandler): need to tell to be interrupted to main
+ context when handler is installed.
-Sat Jul 4 05:00:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.[ch] (rb_win32_interrupted): new function to listen
+ interrupt.
- * lib/mkmf.rb (pkg_config): split --libs if --libs-only-l option
- is not available. patch in [ruby-core:69428] by Hans Mackowiak.
- [ruby-core:69421] [Bug #11201]
+ * win32/win32.c (set_pioinfo_extra): new function for VC++8 SP1
+ workaround. [ruby-core:10259]
-Sat Jul 4 04:46:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (NtInitialize): call above function.
- * compile.c (iseq_compile_each): out of range NTH_REF is always
- nil.
+Fri Feb 23 13:04:43 2007 Akinori MUSHA <knu@iDaemons.org>
- * parse.y (parse_numvar): check overflow of NTH_REF and range.
- [ruby-core:69393] [Bug #11192]
+ * 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]
- * util.c (ruby_scan_digits): make public and add length parameter.
+Fri Feb 23 12:47:13 2007 James Edward Gray II <james@grayproductions.net>
-Sat Jul 4 04:35:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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.
- * vm_eval.c (rb_method_call_status): resolve refined method entry
- to check if undefined. [ruby-core:69064] [Bug #11117]
+ * lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): Add DateTime
+ support to xmlrpc; approved by the maintainer.
-Sat Jul 4 04:35:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Feb 19 18:33:30 2007 Akinori MUSHA <knu@iDaemons.org>
- * vm_eval.c (rb_method_call_status): undefined refined method is
- not callable unless using. [ruby-core:69064] [Bug #11117]
+ * 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]
-Wed Jul 1 04:16:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Mon Feb 19 18:27:42 2007 Akinori MUSHA <knu@iDaemons.org>
- * ext/bigdecimal/bigdecimal.gemspec: Fix require paths for released gem.
- [fix GH-929] Patch by @voxik
- * ext/io/console/io-console.gemspec: ditto.
+ * 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]
-Wed Jul 1 04:15:38 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+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>
- * ext/zlib/zlib.c: Fix indentation for rdoc.
- [Bug #11221][ruby-core:69465]
+ * lib/.document: Apply patch for irb, e2mmap and README by Hugh Sasse
+ <hgs at dmu.ac.uk> from [ruby-core:10135]
-Sat Jun 27 22:51:59 2015 Shota Fukumori <her@sorah.jp>
+ * lib/prettyprint.rb: Suppress RDoc for PrettyPrint test suite.
- * ext/objspace/objspace_dump.c(dump_object): Return empty JSON object when
- passed object is a special const, instead of SEGV.
- Based patch by Kohei Suzuki (eagletmt). [ruby-core:69692] [Bug #11291]
+Thu Feb 15 18:10:09 2007 Akinori MUSHA <knu@iDaemons.org>
- * test/objspace/test_objspace.rb(test_dump_special_consts): Test for above fix.
+ * dir.c (glob_helper): Fix the function declaration.
+Thu Feb 15 16:55:33 2007 Akinori MUSHA <knu@iDaemons.org>
-Wed Jun 17 02:53:59 2015 Koichi Sasada <ko1@atdot.net>
+ * version.h: Branch off ruby_1_8_6 from ruby_1_8 in preparation
+ for the forthcoming 1.8.6 release.
- * test/objspace/test_objspace.rb (test_dump_flags): relax pattern
- because long_lived flag and marked flag can be false at major GC.
- [Bug #10852]
+Thu Feb 15 16:44:14 2007 Akinori MUSHA <knu@iDaemons.org>
-Mon Jun 15 03:24:23 2015 Koichi Sasada <ko1@atdot.net>
+ * 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.
- * vm_insnhelper.c (lep_svar_set): add WBs.
+Thu Feb 15 11:46:05 2007 KIMURA Koichi <hogemuta@gmail.com>
-Fri Jun 12 01:39:49 2015 Eric Wong <e@80x24.org>
+ * 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.
- * ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile
- [ruby-core:69419] [Feature #11198]
+Thu Feb 15 11:00:26 2007 Akinori MUSHA <knu@iDaemons.org>
-Fri Jun 12 01:16:13 2015 Eric Wong <e@80x24.org>
+ * lib/uri/generic.rb (URI::Generic::userinfo): should support
+ empty password. [ruby-core:10290]
- * ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
- ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile
- [ruby-core:69371] [Bug #11185]
+ * lib/uri/generic.rb (URI::Generic::set_password): password can be
+ cleared by nil. [ruby-core:10290]
+
+ * lib/uri/common.rb (escape): regard second string argument as a
+ character set properly. [ruby-dev:27692]
+
+ * lib/uri/ftp.rb: Attempt to conform to RFC 1738 with regard to
+ relative/absolute paths.
+
+ * lib/uri: Lovely RDOC patches from mathew (metaATpoboxDOTcom).
+
+Thu Feb 15 10:57:38 2007 Tietew <tietew@tietew.net>>
+
+ * 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]
+
+Thu Feb 15 10:48:40 2007 MenTaLguY <mental@rydia.net>
+
+ * ext/thread/thread.c: Handle interrupted waits correctly.
+ [ruby-bugs:PR#8663]
+
+Wed Feb 14 19:22:15 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * 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.
+
+Tue Feb 13 02:21:12 2007 Sam Roberts <sroberts@uniserve.com>
+
+ * io.c (rb_f_syscall): Fix buffer overflow with syscall
+ arguments. [ruby-bugs:PR#8541]
+
+Sun Feb 11 07:46:45 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): Properly parse
+ a quoted-string in a Content-Disposition value.
+
+Sun Feb 11 06:27:54 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * 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.
+
+Sun Feb 11 06:22:20 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/Setup: Add thread except for platforms without threads
+ support.
+
+Sun Feb 11 06:15:16 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/thread/lib/thread.rb: Add a replacement of thread.rb that
+ loads this extension.
+
+Sun Feb 11 05:39:47 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/thread.rb: Remove an ineffective part of the code.
+
+Sun Feb 11 05:32:54 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/thread/thread.c (rb_thread_exclusive): Implement
+ Thread.exclusive.
+
+Sun Feb 11 05:26:51 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/thread/thread.c: Get rid of use of a dummy function.
+
+Sun Feb 11 01:45:31 2007 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/thread/thread.c (Init_thread): Define missing aliases:
+ Queue#enq and SizedQueue#enq.
+
+Sat Feb 10 09:27:35 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (ole_variant2val): fix compile error
+ on VC++.
+
+Sat Feb 10 07:41:52 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (ole_variant2val): fix the bug when
+ SAFEARRAY pointer is NULL.
+
+Sat Feb 10 00:13:11 2007 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb: fix typo (TkConfigMethod::__confinfo_cmd,
+ __conv_keyonly_opts).
+
+Fri Feb 9 20:44:53 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/thread: Make style fixes (mostly de-K&R'ism) to match the
+ rest of the source code.
+
+ * ext/thread: Make USE_MEM_POOLS an extconf option.
+
+Fri Feb 9 20:43:01 2007 Akinori MUSHA <knu@iDaemons.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.
+
+Fri Feb 9 15:46:09 2007 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/bigdecimal: Synchronize with trunk. Better function
+ prototypes, removal of a useless method `!=', and document
+ updates.
+
+Tue Feb 06 22:06:45 2007 NARUSE, Yui <naruse@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]
+
+Wed Jan 31 14:52:09 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_iterate): need to PUSH_ITER in proper order.
+ [ruby-core:10125]
+
+ * test/ruby/test_iterator.rb (TestIterator::test_block_given_within_iterator):
+ add new test. [ruby-core:10125]
+
+Tue Jan 30 14:58:51 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * 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)
+
+Tue Jan 30 12:05:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * mkconfig.rb: autoconf 2.61 support. [ruby-core:10016]
+
+Sat Jan 27 15:20:11 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (dyna_var_lookup): should not alter dvar->val not to
+ destroy living value. [ruby-core:10076]
+
+ * parse.y (dyna_init): ditto.
+
+Fri Jan 26 12:03:39 2007 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb (TkConfigMethod#__confinfo_cmd,
+ __conv_keyonly_optkeys): make them private [ruby-dev:30074].
+
+ * ext/tk/lib/tk/txtwin_abst.rb: fix typo [ruby-dev:30073].
+
+ * ext/tk/lib/tk/canvas.rb (TkCanvas#scan_dragto): lack of an argument.
+
+ * ext/tk/lib/tk/canvas.rb: clarify the including module name
+ [ruby-dev:30080].
+
+ * ext/tk/lib/tk/scrollable.rb: change primary name of modules
+ [ruby-dev:30080].
+
+Wed Jan 24 18:05:39 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): fix
+ regexp font-lock bug. [ruby-talk:235758]
+
+Tue Jan 23 11:02:33 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest::read_line):
+
+Tue Jan 23 18:26:12 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): use == instead
+ of ===. [ruby-dev:30176]
+
+Tue Jan 23 10:48:17 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * hash.c: added documentation for Hash about how it uses eql? and
+ hash methods for the keys. [ruby-core:09995]
+
+Mon Jan 22 14:57:25 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/socket/socket.c: fix errors in socket sample code.
+ [ruby-core:09992]
+
+Sat Jan 13 23:54:48 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (ole_free, ole_type_free,
+ olemethod_free, olevariable_free, oleparam_free,
+ ole_event_free): fix memory leak. [ruby-core:09846]
+
+Fri Jan 12 11:13:55 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/etc/etc.c (etc_getpwuid, etc_getgrgid): fix to correctly
+ convert uid/gid from VALUE. (backport of r11521)
+
+Wed Jan 10 18:57:57 2007 Minero Aoki <aamine@loveruby.net>
+
+ * ext/strscan/strscan.c (strscan_do_scan): should set kcode option
+ before match. [ruby-dev:29914]
+
+ * test/strscan/test_stringscanner.rb: test it.
+
+ * re.c: export kcode_set_option and kcode_reset_option (with "rb_"
+ prefix).
+
+ * intern.h: ditto.
+
+Tue Jan 9 17:45:17 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * file.c (rb_find_file): should not call fpath_check() with NULL.
+ fixed: [ruby-core:09867]
+
+Tue Jan 9 03:54:38 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_upto): String#upto from empty string makes
+ inifinite loop. [ruby-core:09864]
+
+Sun Jan 7 12:13:26 2007 Eric Hodel <drbrain@segment7.net>
+
+ * 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>
+
+Sun Jan 7 10:32:12 2007 Eric Hodel <drbrain@segment7.net>
+
+ * 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.
+
+Sun Jan 7 09:33:02 2007 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date/format.rb: updated based on date2 4.0.1.
+
+Wed Jan 3 11:36:51 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (ruby_dup): start GC on ENOMEM as well.
+
+Mon Jan 1 06:13:11 2007 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/parsers/c_parser.rb: Make Rdoc accessible. Update constant
+ value information.
+
+Mon Jan 1 06:13:11 2007 Eric Hodel <drbrain@segment7.net>
+
+ * ext/bigdecimal/bigdecimal.c: Update constant comments to provide
+ values for RDoc.
+
+Mon Jan 1 06:05:55 2007 Eric Hodel <drbrain@segment7.net>
+
+ * 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.
+
+Sun Dec 31 00:31:16 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb, lib/date/format.rb: updated based on date2 4.0.
+
+Thu Dec 14 18:29:13 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Thu Dec 14 18:20:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/irb/locale.rb (IRB::Locale::puts): typo fixed. a patch from
+ NAKAMURA Usaku <usa@ruby-lang.org>. [ruby-dev:30012]
+
+Mon Dec 11 11:58:36 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/digest/sha2/lib/sha2.rb: Moved one level up from under
+ the superfluous subdirectory digest/.
+
+Mon Dec 11 11:46:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * variable.c (rb_define_const): typo fixed.
+
+Mon Dec 11 09:36:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_aset): index double decode problem.
+ [ruby-core:09695]
+
+Sat Dec 9 21:39:24 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (ruby_cleanup): keep the exception till after END blocks.
+ [ruby-core:09675]
+
+Sat Dec 9 11:22:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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].
+
+Thu Dec 7 09:29:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/weakref.rb (WeakRef::__setobj__): should support
+ marshaling. [ruby-talk:228508]
+
+ * lib/delegate.rb (Delegator::marshal_load): need to call
+ __setobj__.
+
+Wed Dec 6 23:56:14 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, common.mk (NULLCMD): moved for platforms that empty
+ command does not run. fixed: [ruby-dev:29994]
+
+Wed Dec 6 17:17:26 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * configure.in (SITE_DIR): fixed to emtpy RUBY_SITE_LIB in config.h on
+ NetBSD. fixed: [ruby-dev:29358]
+
+Tue Dec 5 00:59:05 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * misc/ruby-mode.el (ruby-parse-partial): need to parse "/=" as
+ self assignment operator, not regex. [ruby-talk:227324]
+
+Mon Dec 4 10:48:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ruby.h (OFFT2NUM): use LONG2NUM() if sizeof(long) equals to
+ sizeof(off_t).
+
+Mon Dec 4 10:43:46 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (dyna_init_gen): dvar initialization only if dvar is
+ assigned inner block. [ruby-talk:227402]
+
+Mon Dec 4 08:32:49 2006 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): should quote
+ boundary. JVN#84798830
+
+Sat Dec 2 07:09:04 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_ocsp.c: OpenSSL::OCSP::OSCPError should be
+ subclass of OpenSSL::OpenSSLError. [ruby-dev:29980]
+
+Fri Dec 1 17:01:49 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * gc.c (ruby_init_stack): decrease "stack level too deep" in Windows.
+ merge from trunk.
+
+Fri Dec 1 16:31:53 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tcltklib.c: shouldn't run the killed thread at callback.
+ [ruby-talk: 227408]
+
+Mon Nov 27 17:18:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * sprintf.c (rb_f_sprintf): need not to truncate string if no
+ width specifier given for %s. [ruby-dev:29952]
+
+Sun Nov 26 16:36:46 2006 URABE Shyouhei <shyouhei@ruby-lang.org>
+
+ * version.h: addition of RUBY_PATCHLEVEL.
+ * version.c: ditto.
+
+Fri Nov 24 10:17:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * bignum.c (bignorm): avoid segmentation. a patch from Hiroyuki
+ Ito <ZXB01226@nifty.com>. [ruby-list:43012]
+
+Thu Nov 23 10:38:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_mod_define_method): set implicit visibility only when
+ it's called for the target class (ruby_cbase).
+
+Wed Nov 22 16:00:49 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/extconf.rb: support --with-X11/--without-X11 option.
+
+ * ext/tk/README.tcltklib: add description about --with-X11-* option
+ [ruby-talk:225166] and --with-X11/--without-X11 option.
+
+ * ext/tk/tkutil/extconf.rb: able to be called manually
+ [ruby-talk:225950].
+
+Wed Nov 15 23:22:54 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (test_grpowned, rb_stat_grpowned): should honor
+ supplementary group IDs. [ruby-core:09546]
+
+Thu Nov 9 03:15:22 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (BEGIN_CALLARGS): ruby_block may be NULL even when
+ ITER_PRE.
+
+Tue Nov 7 18:34:34 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * 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.
+
+Tue Nov 7 18:05:01 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/itemconfig.rb: minor bug fix.
+
+Mon Nov 6 20:11:20 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/0.9.rb (RSS::Rss): removed needless include.
+
+Mon Nov 6 15:41:55 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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.
+
+ * ext/tk/lib/tkextlib/tile/treeview.rb : support Tile 0.7.8.
+
+ * ext/tk/lib/tkextlib/version.rb : [new] add Tk::Tkextlib_RELEASE_DATE
+ to get the information from scripts.
+
+ * ext/tk/lib/tk.rb: load 'tkextlib/version.rb', and update RELEASE_DATE
+
+ * ext/tk/lib/tkextlib/SUPPORT_STATUS: update.
+
+ * ext/tk/sample/editable_listbox.rb: [new] the listbox with editable
+ items. It's one of the example about usage of Place geometry manager.
+
+ * ext/tk/sample/tktextio.rb: improve the functions of TkTextIO class.
+ Those are required by 'irbtkw.rbw'.
+
+ * 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.
+
+Sun Nov 5 19:53:49 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb: updated based on date2 3.9.7.
+
+Sat Nov 4 13:13:57 2006 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/imap.rb: accept NOMODSEQ. [ruby-core:9002]
+ (backported from HEAD)
+
+Fri Nov 3 00:16:37 2006 Yukihiro Matsumoto <matz@ruby-lang.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]
+
+Thu Nov 2 15:43:39 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * parse.y (primary): should set NODE even when compstmt is NULL.
+ merge from trunk. fixed: [ruby-dev:29732]
+
+Thu Nov 2 14:48:30 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * lib/set.rb (Set#^): Fix XOR operation against a container that
+ holds duplicate values. [issue: #6444]
+
+Wed Nov 1 02:41:38 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/digest/lib/digest/hmac.rb (Digest::HMAC::update): Minor
+ optimization.
+
+ * ext/digest/digest.c (rb_digest_instance_equal): Allow comparing
+ a digest instance with another of a different class.
+
+Wed Nov 1 01:05:13 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * eval.c (rb_call0): fixed bug of zsuper with both of opt and rest.
+ fixed: [ruby-list:42928]
+
+ * test/ruby/test_super.rb: add tests to check above bug.
+
+Tue Oct 31 17:03:21 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * time.c (time_dup): duplicate the class of original time.
+ [ruby-core:09357]
+
+ * lib/time.rb (Time::make_time, Time::rfc2822, Time::httpdate):
+ should respect subclasses. [ruby-core:09357]
+
+Mon Oct 30 23:40:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in (miniruby): add XLDFLAGS.
+
+ * configure.in (aix): use -bE option for miniruby. [ruby-dev:29698]
+
+ * dir.c (glob_helper): get rid of possible memory leak.
+
+ * win32/win32.c (cmdglob, rb_w32_cmdvector, rb_w32_opendir,
+ rb_w32_get_environ): not to use GC before initialization.
+
+Mon Oct 30 19:29:20 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * bignum.c (rb_big2str0): use better approximation.
+
+Mon Oct 30 18:35:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * bignum.c (rb_big2str0): wrong allocation length. a patch from
+ U.Nakamura <usa at garbagecollect.jp> [ruby-dev:29710]
+
+Mon Oct 30 12:34:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_eval): fix commit miss. [ruby-dev:29707]
+
+Mon Oct 30 12:20:58 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * bignum.c (rb_big2str0): a bug in length adjustment.
+
+Mon Oct 30 11:15:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * sprintf.c (rb_str_format): should preserve leading zero
+ information for negative %b and %x. [ruby-talk:221347]
+
+Thu Oct 26 21:05:58 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): should clear error.
+ (fix http://bugs.debian.org/394336)
+
+ * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto.
+
+Thu Oct 26 15:21:10 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ext/digest/digest.c (Init_digest): typo.
+
+Wed Oct 25 17:23:28 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * 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 Oct 25 08:03:23 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date/format.rb: updated based on date2 3.9.6.
+ [ruby-core:09323]
+
+Sun Oct 22 14:48:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * signal.c (ruby_signal): don't set SA_RESTART. a backport from
+ the HEAD. [ruby-talk:220937] [ruby-talk:147220]
+
+ * signal.c (Init_signal): avoid duplicated installation of SIGCHLD
+ handler.
+
+Sun Oct 22 16:47:56 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * string.c (rb_str_substr): should be infected with only original
+ string, but not the shared string. fixed: [ruby-core:09152]
+
+ * string.c (rb_str_new4): keep shared string untainted when orignal
+ string is tainted. fixed: [ruby-dev:29672]
+
+Sun Oct 22 05:20:34 2006 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+
+ * configure.in: alloca is broken; use C_ALLOCA instead.
+ [ruby-dev:29416]
+
+Fri Oct 20 10:47:43 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/mkmf.rb: fixed the bug of handling COMMON_MACROS.
+
+Fri Oct 20 08:42:38 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * common.mk (NULLCMD): dummy command.
+
+ * bcc32/Makefile.sub (post-install-*): Borland make cannot ignore
+ command-less double-colon rules. [ruby-dev:29676]
+
+Fri Oct 20 00:37:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * bcc32/Makefile.sub ($(LIBRUBY_SO)): execute pre-link hook.
+
+ * ext/extmk.rb: workaround for Borland make.
+
+Wed Oct 18 23:02:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * array.c (rb_ary_shift): shorten copy size. fixed: [ruby-list:42907]
+
+ * signal.c (Init_signal): handle SIGTERM. fixed: [ruby-list:42895]
+
+ * win32/win32.c (rb_w32_utime): allow NULL to set the current time.
+ [ruby-talk:219248]
+
+Wed Oct 18 00:55:33 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (parser_yylex): use particular enums. [ruby-core:09221]
+
+Mon Oct 16 08:30:43 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * mkconfig.rb: *OBJS are not needed for extension libraries.
+
+ * {bcc32,wince,win32}/Makefile.sub (config.status): fixed typo,
+ missing comma.
+
+Sun Oct 15 01:03:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect): append base
+ directory but not prepend.
+
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): do not
+ join with dot. fixed: [ruby-core:09179]
+
+Sat Oct 14 23:39:50 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (singleton): no need to re-create NODE_SELF() again.
+ [ruby-core:09177]
+
+Sat Oct 14 23:25:31 2006 Yukihiro Matsumoto <matz@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/bigdecimal/bigdecimal.c (VpException): ditto.
+
+ * ext/dl/handle.c (rb_dlhandle_initialize): ditto.
+
+ * ext/gdbm/gdbm.c (rb_gdbm_fatal): ditto.
+
+Sat Oct 14 08:24:45 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/digest/lib/digest/hmac: Back out the addition of digest/hmac
+ for now because the API is too premature for a stable branch.
+
+Sat Oct 14 00:55:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * bcc32/Makefile.sub (post-install-ext): no longer needed.
+
+ * bcc32/configure.bat: get rid of a quirk of Borland make, which
+ sets empty macro in command line to "1".
+
+Fri Oct 13 22:50:43 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb: updated based on date2 3.9.5.
+
+Fri Oct 13 22:33:28 2006 Minero Aoki <aamine@loveruby.net>
+
+ * lib/fileutils.rb (FileUtils.cp_r): dereference_root=true is
+ default in Ruby 1.8. This line is wrongly removed in last commit.
+
+Fri Oct 13 18:19:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * object.c: Class#inherited RDoc added. a patch from Daniel
+ Berger <djberg96 at gmail.com> [ruby-core:08942]
+
+Fri Oct 13 02:30:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect): prepend
+ base directory to load path.
+
+ * lib/test/unit/collector/dir.rb (Collector::Dir#collect_file): should
+ use the given File-like interface, but not File directly.
+
+ * test/testunit/collector/test_dir.rb (TestDir::FileSystem): implement
+ File-like methods correctly.
+
+Fri Oct 13 01:48:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/date.rb (Date::self.complete_hash): need to check if g is
+ nil before dereference. [ruby-core:09116]
+
+Fri Oct 13 00:34:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * object.c (rb_mod_cvar_defined): wrong id check. a patch from
+ Mauricio Fernandez <mfp at acm.org>. [ruby-core:09158]
+
+ * object.c (rb_mod_cvar_get): typo fixed. [ruby-core:09168]
+
+ * object.c (rb_mod_cvar_set): ditto.
+
+Wed Oct 11 22:21:41 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * 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.
+
+Tue Oct 10 17:24:12 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * {bcc32,win32,wince}/Makefile.sub (config.status): shouldn't use
+ copy command instead of install. use -run install.
+
+Tue Oct 10 16:49:16 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * ext/digest/digest.c (hexdigest_str_new, bubblebabble_str_new):
+ Perform StringValue() checks properly.
+
+ * ext/digest/digest.c: Use RSTRING_{PTR,LEN} macros.
+
+Tue Oct 10 13:49:53 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * 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).
+
+Mon Oct 9 23:46:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/parsedate.rb: documentation patch from Konrad Meyer
+ <konrad.meyer@gmail.com>. [ruby-doc:1238]
+
+ * lib/open3.rb, lib/ping.rb: ditto.
+
+Mon Oct 9 22:56:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/rexml/encoding.rb (REXML::Encoding::check_encoding): spaces
+ are allowed around equal sign. [ruby-core:09032]
+
+ * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser): ditto.
+
+Sat Oct 7 23:53:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_scan): small documentation fix.
+ [ruby-core:09007]
+
+Sat Oct 7 23:44:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * bignum.c (rb_big_rshift): a bug in right shift of negative
+ bignums. [ruby-core:09020]
+
+Sat Oct 7 00:27:58 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * class.c (rb_include_module): remove unnecessary check.
+ [ruby-talk:218402]
+
+Fri Oct 6 04:30:30 2006 Akinori MUSHA <knu@iDaemons.org>
+
+ * sample/openssl/c_rehash.rb: Use digest/md5 instead of obsolete md5.
+
+Wed Oct 4 18:47:25 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tkextlib/*: bugfix and update
+ (see ext/tk/ChangeLog.tkextlib).
+
+Wed Oct 4 17:25:14 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call): check protected visibility based on real self,
+ not ruby_frame->self. [ruby-talk:217822]
+
+Wed Oct 4 08:52:30 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/optparse/test_getopts.rb: changed the class name of test case
+ to get rid of conflict with test_optparse.rb.
+
+Tue Oct 3 23:32:27 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/test/unit/testcase.rb (Test::Unit::TestCase.suite): test name
+ must be string. fixed: [ruby-core:08978]
+
+Mon Oct 2 23:47:55 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::COLLECTORS):
+ base directory should be lower precedence. fixed: [ruby-dev:29622]
+
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): typo.
+
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
+ load expanded path. fixed: [ruby-dev:29621]
+
+Mon Oct 2 15:49:19 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * instruby.rb: batfile should be CRLF'ed.
+
+Mon Oct 2 01:24:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * common.mk (test-all): separate directory where running test cases
+ from source tree.
+
+ * lib/test/unit/autorunner.rb (options): added --basedir, --workdir
+ and --load-path options.
+
+ * lib/test/unit/collector/dir.rb (recursive_collect, collect_file):
+ base directory support.
+
+Sun Oct 1 23:56:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, common.mk, ext/extmk.rb, win{32,ce}/Makefile.in: keep
+ LIBRUBY_SO unless need to be removed.
+
+Sun Oct 1 23:12:19 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (OptionParser#make_switch): pass arguments directly.
+
+Sat Sep 30 15:12:25 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.4.
+
+Fri Sep 29 12:11:04 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * jcode.rb (succ!): call original succ! if $KCODE == 'n'.
+ fixed: [ruby-talk:216845]
+
+Fri Sep 29 11:43:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (try_func): revert fallback checking undeclared function.
+ fixed: [ruby-core:08949]
+
+Fri Sep 29 09:56:56 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb: extout is needed for also clean.
+ fixed: [ruby-core:08944]
+
+ * lib/optparse.rb (OptionParser::Switch#conv_arg): unsplat by
+ Proc#call if no conversion is given.
+
+Thu Sep 28 23:59:31 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * node.h (struct thread): declare win32_exception_list on cygwin and
+ win32 regardless if it is implemented. Provisional fix for
+ [ruby-core:08917].
+
+Thu Sep 28 20:53:16 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/tmpdir.rb: use return value of getdir.call for length.
+
+Wed Sep 27 01:04:49 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (try_func): check function pointer first and macro next.
+
+ * lib/mkmf.rb (have_type): simplified with typedef and sizeof.
+
+Tue Sep 26 23:57:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (OptionParser#getopts): use strings as key.
+ fixed: [ruby-dev:29614]
+
+Tue Sep 26 15:31:26 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * {win32,wince}/Makefile.sub (CPP): check predefined value.
+
+Tue Sep 26 07:55:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Mon Sep 25 22:26:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (rb_path_end): skip root directory. fixed: [ruby-core:08913]
+
+ * lib/mkmf.rb (init_mkmf): set default $LDFLAGS. Patch by Michal
+ Suchanek <hramrach at centrum.cz>. [ruby-talk:216256]
+
+Mon Sep 25 08:14:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * array.c (rb_ary_shift): should clear shifting top element.
+ [ruby-talk:216055]
+
+ * array.c (rb_ary_shift): avoid creating shared object if array
+ size is small.
+
+Mon Sep 25 08:11:35 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * random.c (rb_f_rand): RDoc typo fix. a patch from Frederick
+ Cheung <fred at 82ask.com>. [ruby-talk:216047]
+
+Sun Sep 24 22:28:20 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * runruby.rb: extension library scripts moved into common directory.
+
+Sun Sep 24 14:59:50 2006 Tanaka Akira <akr@fsij.org>
+
+ * node.h (struct thread): ia64 support is broken by sandbox patch.
+
+Sun Sep 24 12:11:16 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.3.
+
+Sat Sep 23 23:24:57 2006 why the lucky stiff <why@ruby-lang.org>
+
+ * eval.c (rb_thread_save_context, rb_thread_restore_context):
+ sandbox hook to save and restore sandbox state.
+
+ * eval.c (thread_no_ensure): added THREAD_NO_ENSURE thread flag.
+
+ * eval.c (rb_thread_kill_bang): Thread#kill! uses the above flag
+ to circumvent ensure, in order to prevent endless loops.
+ [ruby-core:08768]
+
+ * eval.c (rb_thread_kill): fix Thread#kill docs, which returns
+ the thread object in all cases.
+
+ * node.h: expose the rb_jmpbuf_t and rb_thread_t structs, along
+ with the thread flags. used by the sandbox extension.
+
+ * ruby.h: extern rb_eThreadError, so sandbox can swap it.
+
+Sat Sep 23 21:34:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): CGI content
+ may be empty. a patch from Jamis Buck <jamis at 37signals.com>.
+
+Sat Sep 23 08:35:53 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/rdoc/ri/ri_options.rb: prevent NameError. [ruby-dev:29597]
+
+Sat Sep 23 01:04:20 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.2.
+
+Fri Sep 22 02:06:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * .cvsignore: ignore timestamp files and installed list file.
+
+Fri Sep 22 01:36:34 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * instruby.rb: include FileUtils unconditionally.
+
+Thu Sep 21 22:56:20 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * common.mk (no-install): not install rdoc actually.
+
+ * common.mk (install-doc, no-install-doc): use instruby.rb.
+
+ * instruby.rb: rdoc installation.
+
+ * ext/extmk.rb: expand ruby executable names.
+
+Thu Sep 21 13:55:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/etc/etc.c (etc_getpwuid): uid integer should be wraped in
+ uid_t value. [ruby-core:08897]
+
+ * ext/etc/etc.c (etc_getpwuid): uid_t may be bigger than plain
+ 'int' type.
+
+Wed Sep 20 23:17:41 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * common.mk (pre-install-doc): create data directory before install.
+
+ * lib/mkmf.rb (dir_re): fixed typo.
+
+ * lib/mkmf.rb (install_dirs): remove extra slash.
+
+Wed Sep 20 09:53:38 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * {bcc32,win32,wince}/Makefile.sub (INSTALLED_LIST): need to define
+ this macro to install.
+
+Wed Sep 20 09:43:10 2006 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/imap.rb: allow extra spaces in responses.
+ Thanks, Tom Soderlund. (backported from HEAD)
+
+Wed Sep 20 09:25:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/gdbm/gdbm.c: add RDoc documentation. a patch from Peter
+ Adolphs <futzilogik at users dot sourceforge dot net>.
+ [ruby-doc:1223]
+
+Tue Sep 19 01:28:00 2006 Minero Aoki <aamine@loveruby.net>
+
+ * lib/fileutils.rb: backport from HEAD (rev 1.71).
+
+ * lib/fileutils.rb (FileUtils.cp_r): new option
+ :remove_destination.
+
+Tue Sep 19 00:42:15 2006 Nobuyoshi Nakada <nobu@ruby-lang.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/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.
+
+Sun Sep 17 23:44:58 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/rdoc/rdoc.rb (RDoc::RDoc#document): scan only files modified
+ after the previous generation.
+
+Sun Sep 17 17:42:13 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * common.mk (install-doc): reverted.
+
+ * instruby.rb: stores file name list without destdir prefix.
+
+ * lib/rdoc/generators/ri_generator.rb: do not chdir twice.
+
+Sat Sep 16 23:14:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/pty/pty.c (establishShell): remove remaining unused line.
+
+Sat Sep 16 16:40:44 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, common.in, instruby.rb, ext/extmk.rb, lib/mkmf.rb:
+ use instruby.rb to install extensions instead of ext/extmk.rb.
+
+ * instruby.rb: store installed list into the file.
+
+ * ext/dbm/extconf.rb: allow multiple candidates for dbm-type.
+
+ * ext/io/wait/extconf.rb: suspicious checking_for.
+
+ * ext/pty/pty.c (establishShell): parent pid is not used.
+
+ * ext/pty/pty.c (freeDevice): not used.
+
+ * ext/pty/pty.c (get_device_once): removed garbage right brace.
+
+ * lib/mkmf.rb (checking_for): improved the messages.
+
+Thu Sep 14 16:11:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_intern): raise SecurityError only when $SAFE
+ level is greater than zero. [ruby-core:08862]
+
+ * parse.y (rb_interned_p): new function to check if a string is
+ already interned.
+
+ * object.c (str_to_id): use rb_str_intern().
+
+Wed Sep 13 18:43:05 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * README.EXT: English adjustment. [ruby-core:08851] and
+ [ruby-core:08852]
+
+Wed Sep 13 18:25:18 2006 Yukihiro Matsumoto <matz@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]
+
+Wed Sep 13 16:43:36 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_intern): prohibit interning tainted string.
+
+Wed Sep 13 01:14:21 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (OptionParser#getopts): works with pre-registered
+ options. [ruby-core:08826]
+
+Sun Sep 10 20:27:13 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.1.
+
+Tue Jan 10 09:18:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (stack_extend): fixed prototype.
+
+ * eval.c (rb_require_safe): prevent extension from loading twice.
+ fixed: [ruby-dev:29523]
+
+Sat Sep 9 23:50:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * bignum.c (rb_big_mul0): bignum multiplication without
+ normalization.
+
+ * bignum.c (rb_big_pow): use rb_big_mul0(). [ruby-dev:29547]
+
+Sat Sep 9 14:08:38 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/test/unit/testcase.rb (Test::Unit::TestCase#run): Rescue
+ Exception in Test::Unit::TestCase#run. [ruby-core:08783]
+
+Sat Sep 9 04:55:59 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/pstore.rb: open all in binary mode, and get rid of the quirk of
+ msvcrt. fixed: [ruby-dev:29518]
+
+Sat Sep 9 04:54:42 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT.
+
+ * mkconfig.rb, ext/extmk.rb, lib/mkmf.rb, win32/mkexports.rb: suppress
+ warnings with $VERBOSE.
+
+ * ext/extmk.rb: Proc#call does not pass the block in 1.8.
+
+ * win32/resource.rb: add more info.
+
+Fri Sep 8 10:03:59 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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]
+
+Fri Sep 8 08:59:30 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/Makefile.sub, win32/configure.bat win32/setup.mak: program
+ name transform.
+
+Fri Sep 8 01:33:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ruby.h (RSTRING_PTR): add migration macro.
+
+ * ruby.h (RARRAY_PTR): ditto.
+
+Thu Sep 7 23:27:05 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (path_check_0, fpath_check): disable path check on cygwin.
+ [ruby-talk:213074]
+
+Wed Sep 06 12:05:19 2006 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): fix regexp for euc-jp
+ [ruby-dev:29344]
+
+ * ext/nkf/lib/kconv.rb (Kconv::toeuc): remove -m0 [ruby-dev:29505]
+
+Tue Sep 5 06:47:22 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * time.c (time_to_s): variable declaration after an execution
+ statement.
+
+Tue Sep 5 05:56:51 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * numeric.c (flo_hash): improve collision. fixed: [ruby-dev:29352]
+
+Tue Sep 5 05:49:41 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (path_check_0): check if sticky bit is set on parent
+ directories for executable path. fixed: [ruby-dev:29415]
+
+Tue Sep 5 05:03:46 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * numeric.c (fix_plus): addition in Fixnum will never overflow
+ long. a patch from Ondrej Bilka <neleai at seznam.cz>.
+ [ruby-core:08794]
+
+ * numeric.c (fix_minus): ditto.
+
+ * bignum.c (rb_big_pow): eagerly truncate resulting bignum.
+ [ruby-core:08794]
+
+Mon Sep 4 23:15:34 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * time.c (time_to_s): make it conform to RFC2822 date format.
+ [ruby-dev:29467]
+
+Mon Sep 4 21:43:57 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/dbm/extconf.rb: create makefile according to the result of check
+ for dbm header. fixed: [ruby-dev:29445]
+
+Mon Sep 4 21:42:35 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.9.
+
+Mon Sep 4 21:14:20 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * time.c (time_strftime): include nul character. fixed: [ruby-dev:29422]
+
+Mon Sep 4 16:29:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/cgi.rb (CGI::out): specify -m0 -x option for nkf.
+ [ruby-dev:29284]
+
+Mon Sep 4 16:13:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (pipe_open): command name should not contain null bytes.
+ [ruby-dev:29421]
+
+ * process.c (proc_spawn): ditto.
+
+ * process.c (proc_spawn_n): ditto.
+
+ * process.c (rb_f_system): ditto.
+
+Sun Sep 3 15:32:44 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb: get rid of nil.to_s.
+
+Sun Sep 3 06:24:38 2006 Tanaka Akira <akr@fsij.org>
+
+ * ext/socket/socket.c (ruby_connect): sockerrlen should be socklen_t.
+
+Sun Sep 3 04:40:42 2006 Tanaka Akira <akr@fsij.org>
+
+ * ext/socket/extconf.rb: check arpa/inet.h for ntohs.
+
+ * ext/socket/socket.c: include arpa/inet.h if available.
+
+Sun Sep 3 02:34:55 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/unix.rb (DRbUNIXSocket#close): don't get path if client mode.
+ [ruby-dev:29417]
+
+Sun Sep 3 01:45:17 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/acl.rb (ACLEntry#initialize): examine whether '*' is
+ included before IPAddr.new. [ruby-dev:29406]
+
+Sat Sep 2 13:23:01 2006 Tanaka Akira <akr@fsij.org>
+
+ * common.mk (ia64.o): use the compiler driver to assemble ia64.s
+ to use appropriate ABI.
+
+Sat Sep 2 03:36:22 2006 Tanaka Akira <akr@fsij.org>
+
+ * common.mk, configure.in, defines.h, eval.c, gc.c, main.c,
+ numeric.c, ruby.h, ia64.s: backport IA64 HP-UX support.
+
+Fri Sep 1 13:52:57 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work
+ on Tcl/Tk8.x.
+
+Thu Aug 31 12:46:55 2006 why the lucky stiff <why@ruby-lang.org>
+
+ * 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]
+
+ * node.h: ditto.
+
+Tue Aug 29 19:10:10 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * hash.c (rb_hash_s_create): fixed memory leak, based on the patch
+ by Kent Sibilev <ksruby at gmail.com>. fixed: [ruby-talk:211233]
+
+Mon Aug 28 11:36:02 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/parsers/parse_rb.rb: Fix typo. Submitted by
+ <calamitas at gmail.com>. [ruby-core:08724]
+
+Mon Aug 28 07:53:44 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/ri/ri_formatter.rb: Don't unescape HTML in HtmlFormatter.
+ Submitted by Kent Sibilev <ksruby at gmail.com>. [ruby-core:08392].
+
+Mon Aug 28 07:25:45 2006 Eric Hodel <drbrain@segment7.net>
+
+ * file.c (File#size?): Fix documentation submitted by Rick Ohnemus.
+ ruby-Bugs-5529. [ruby-core:08725]
+
+Sat Aug 26 08:07:13 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb, lib/date/format.rb: updated based on date2 3.8.2.
+
+Fri Aug 25 22:32:04 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/rexml/source.rb (REXML::IOSource#initialize): encoding have to
+ be set with the accessor. fixed: [ruby-list:42737]
+
+Fri Aug 25 17:15:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * stable version 1.8.5 released.
+
+Fri Aug 25 17:02:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * gc.c (gc_sweep): typo fixed.
+
+Tue Aug 22 18:47:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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].
+
+Sat Aug 19 14:15:02 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/Makefile.sub (config.status): include winsock2.h instead of
+ winsock.h when --with-winsock2 is specified.
+ fixed: [ruby-dev:29296]
+
+Sat Aug 19 11:28:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (rb_file_s_rename): use errno if set properly.
+ fixed: [ruby-dev:29293]
+
+Sat Aug 19 11:09:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (then): remove semicolon warning. [ruby-dev:29299]
+
+Thu Aug 17 19:15:16 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (rb_stat_[rRwWxX]): check for super user.
+ fixed: [ruby-core:08616]
+
+Thu Aug 17 14:47:06 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb: added rdoc by Daniel Berger. [ruby-core:08177]
+
+Thu Aug 17 00:39:05 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * 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]
+
+Wed Aug 16 11:45:36 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * process.c (proc_setuid, proc_setgid, proc_seteuid, proc_setegid):
+ get rid of bogus implementations on Mac OS X.
+
+Tue Aug 15 19:10:18 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_class_comment): Fix
+ broken class-level documentation.
+
+Wed Aug 16 11:09:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ruby.c (set_arg0): fill argv other than the first with an empty
+ string instead of NULL.
+
+Wed Aug 16 11:08:00 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/win32.h: removed an excess macro. fixed: [ruby-dev:29258]
+
+Tue Aug 8 23:49:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/irb/extend-command.rb (IRB::ExtendCommandBundle): pacify
+ RDoc. a patch from Eric Hodel <drbrain at segment7.net>.
+ [ruby-core:08522]
+
+Tue Aug 8 11:32:54 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * Makefile.in, common.mk, configure.in: fix for platforms without
+ rm. patches from Yutaka kanemoto <kinpoco at gmail.com>.
+ [ruby-dev:29215]
+
+Mon Aug 7 17:56:59 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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 Aug 7 15:55:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/syck/syck.c (syck_move_tokens): should avoid negative
+ memmove. [ruby-list:42625]
+
+Mon Aug 7 14:37:48 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * configure.in, common.mk: AIX link issue. a patch from Yutaka
+ Kanemoto <kinpoco at gmail.com>. [ruby-dev:29190]
+
+ * ext/socket/socket.c: AIX socket support. [ruby-dev:29190]
+
+Mon Aug 7 12:05:28 2006 Yukihiro Matsumoto <matz@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]
+
+Sun Aug 6 20:40:41 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date/format.rb (str[fp]time): %[EO]U didn't denote %U.
+
+Sat Aug 5 17:07:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (top_local_setup): local_vars[-1] should point
+ ruby_scope itself to protect local_tbl from garbage collection.
+ [ruby-dev:29049]
+
+Sat Aug 5 13:54:03 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date/format.rb (str[fp]time): "%\n" means "\n".
+
+Fri Aug 4 15:21:00 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib: Merge RDoc and .document from HEAD.
+ * lib/drb/ssl.rb: Close socket on SSLError [ruby-core:7197]
+
+Fri Aug 4 19:13:41 2006 Keiju Ishitsuka <keiju@ruby-lang.org>
+
+ * lib/irb/{init.rb,ruby-lex.rb,slex.rb}: can't input '\c' for
+ [ruby-core: 7122].
+
+Fri Aug 4 14:02:14 2006 James Edward Gray II <james@grayproductions.net>
+
+ * lib/date/format.rb (__strptime, strftime): allow multi-line patterns
+ in Date#strftime the same as Time#strftime accepts.
+ fixed: [ruby-core:08466]
+
+Fri Aug 4 13:56:51 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * pack.c (pack_pack): check argument overrun for 'P'. based on a
+ patch by rucila <rucila at yahoo.cojp>. fixed: [ruby-dev:29182]
+
+Tue Aug 1 17:44:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/win32.c (init_stdhandle): assign standard file handles.
+
+Tue Aug 1 12:24:58 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (Init_Binding): fix old commit miss.
+
+Mon Jul 31 17:08:20 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (exit_handler): new function; release winsock and
+ environment work area.
+
+ * win32/win32.c (NTInitialize): setup exit_handler.
+
+ * win32/win32.c (StartSockets): use exit_handler.
+
+ * 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]
+
+Mon Jul 31 16:15:13 2006 Tanaka Akira <akr@fsij.org>
+
+ * test/ruby/test_process.rb (TestProcess#test_rlimit_nofile):
+ setrlimit may fail with EINVAL.
+ reported by MIYAMUKO Katsuyuki. [ruby-dev:29174]
+
+Mon Jul 31 13:38:22 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/httprequest.rb (WEBrick::HTTPReuqest#parse_uri): improve
+ for the value of IPv6 address in the Host: header field.
+
+Mon Jul 31 09:22:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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 Jul 30 23:26:22 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_call0): trace call/return of method defined from block.
+ fixed: [ruby-core:08329]
+
+ * eval.c (rb_trap_eval): make the current thread runnable to deal with
+ exceptions which occurred within the trap. fixed: [ruby-dev:27729]
+
+ * lib/cgi/session.rb, lib/cgi/session/pstore.rb: suppress warnings.
+ fixed: [ruby-talk:204896]
+
+Sat Jul 29 06:12:06 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: freeze ip_name for security reason.
+
+Sat Jul 29 01:23:52 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Thu Jul 27 22:21:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * time.c (time_to_s): fixed format mismatch.
+
+Thu Jul 27 21:19:54 2006 Yukihiro Matsumoto <matz@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]
+
+ * math.c (math_acos, math_asin, math_acosh, math_atanh, math_log,
+ math_log10, math_sqrt): use domain_check().
+
+ * math.c (math_sqrt): fix documentation flaw.
+
+Thu Jul 27 18:12:12 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * time.c: need to declare time_utc_offset.
+
+Thu Jul 27 17:01:01 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (io_close): always calls "close" method of the receiver.
+ [ruby-core:6911] [ruby-core:8112]
+
+Thu Jul 27 16:49:01 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * time.c (time_to_s): use +0900 style timezone string for local time.
+ [ruby-dev:29143]
+
+Thu Jul 27 16:41:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/openssl/ossl.h: move <ruby.h> inclusion point to shut up
+ Solaris compiler. [ruby-core:08114]
+
+Wed Jul 26 22:20:59 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * configure.in: add support for as and ASFLAGS. [ruby-dev:29138]
+
+Wed Jul 26 22:13:45 2006 Minero Aoki <aamine@loveruby.net>
+
+ * lib/net/http.rb: sync with HEAD (rev 1.132).
+
+ * lib/net/http.rb (Net::HTTP#post, request_post, request): should
+ set Content-Type: x-www-form-urlencoded by default.
+
+ * lib/net/http.rb (Net::HTTPHeader#content_type): should return
+ nil when there's no Content-Type.
+
+ * lib/net/http.rb (Net::HTTPHeader#sub_type): should return nil
+ when there's no sub Content-Type (e.g. "Content-Type: text").
+
+ * lib/net/http.rb (Net::HTTPHeader#type_params): wrongly failed
+ when there's no Content-Type.
+
+Wed Jul 26 18:35:38 2006 Minero Aoki <aamine@loveruby.net>
+
+ * ext/strscan/strscan.c: sync with HEAD (rev 1.25).
+
+ * ext/strscan/strscan.c (strscan_do_scan):
+ StringScanner.new("").scan(//) should return "". [ruby-Bugs:4361]
+
+Wed Jul 26 18:14:19 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/pty/pty.c (getDevice): retry once after GC on failure.
+ [ruby-core:08282]
+
+Wed Jul 26 17:28:16 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * sprintf.c (rb_f_sprintf): prepend ".." to %u for negative bignum,
+ but not "-". fixed: [ruby-core:08167]
+
+Wed Jul 26 16:39:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_scan): add string modification check.
+ [ruby-core:7216]
+
+Wed Jul 26 16:06:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): check
+ multipart boundary end. a patch from Fujioka <fuj at rabbix.jp>
+ [ruby-dev:28470]
+
+Wed Jul 26 01:02:59 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in: suppress warnings by automake 1.8 or later.
+
+Tue Jul 25 00:30:06 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/prettyprint.rb: RD to RDoc conversion by Hugh Sasse.
+
+Tue Jul 25 14:49:51 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/mkmf.rb (configuration): typo.
+
+Tue Jul 25 13:14:32 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * process.c (rb_proc_times): rename hz to hertz to avoid name
+ crash on AIX. [ruby-dev:29126]
+
+Mon Jul 24 22:03:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (backtrace): skip frames successive on node and method name.
+
+Mon Jul 24 17:55:55 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * process.c (rb_f_system): add security check. [ruby-talk:202947]
+
+ * process.c (rb_f_system): move signal right before fork to avoid
+ signal handler intervention.
+
+Mon Jul 24 15:51:52 2006 Tanaka Akira <akr@fsij.org>
+
+ * ext/readline/readline.c (readline_readline): rl_deprep_term_function
+ may be NULL with libedit. reported by Ryan Davis. [ruby-dev:29070]
+
+Mon Jul 24 15:19:55 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): revert last change. [ruby-dev:29112]
+ [ruby-core:08374]
+
+Sun Jul 23 22:59:49 2006 Tanaka Akira <akr@fsij.org>
+
+ * test/socket/test_unix.rb: disabled on cygwin.
+ reported by Kouhei Yanagita. [ruby-dev:29080]
+
+Fri Jul 21 21:21:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_call0): include funcalled methods in caller list.
+ fixed: [ruby-core:08290]
+
+Fri Jul 21 12:11:00 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb, lib/mkmf.rb (with_destdir): remove drive letter before
+ prepending destdir on DOSISH.
+
+Thu Jul 20 15:07:14 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ruby.h: export classes/modules to implement sandbox.
+ [ruby-core:08283]
+
+Thu Jul 20 00:06:29 2006 Keiju Ishitsuka <keiju@ishitsuka.com>
+
+ * lib/irb/completion.rb: support for completion of numeric
+ number. [ruby-dev: 29038]
+
+Wed Jul 19 23:53:05 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/parser.rb, lib/rss/utils.rb: added documents.
+
+Tue Jul 18 22:10:13 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * process.c (rb_f_system): block SIGCHLD during the process
+ execution, like glibc system(3) does. [ruby-talk:202361]
+
+Tue Jul 18 23:12:14 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (open_ifs_socket): should not use plain malloc.
+
+ * win32/win32.c (rb_w32_opendir): should not use plain realloc.
+
+Tue Jul 18 18:05:49 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * test/ruby/test_float.rb (TestFloat::test_strtod): update test to
+ conform strtod change.
+
+Tue Jul 18 15:49:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * pack.c (pack_unpack): propagate association array to copied
+ string. [ruby-core:08223]
+
+ * 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].
+
+ * pack.c (pack_pack): taint 'p' packed strings.
+
+Tue Jul 18 14:03:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer::unmount): remove
+ inpect argument from sprintf. [ruby-dev:29039]
+
+Tue Jul 18 10:53:37 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * object.c (rb_cstr_to_dbl): limit out-of-range message.
+
+ * util.c (ruby_strtod): return end pointer even if ERANGE occurred.
+ fixed: [ruby-dev:29041]
+
+Mon Jul 18 00:43:05 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * util.c (ruby_strtod): stop at dot not followed by digits.
+ fixed: [ruby-dev:29035]
+
+Tue Jul 18 00:01:27 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb: remove LIBRUBY_SO if static linked extensions exist.
+
+Mon Jul 17 23:30:46 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (rb_cv_msvcrt): defaulted to msvcrt. Workaround for a
+ bug of cygwin 1.5.20.
+
+Mon Jul 17 13:43:05 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * pack.c (define_swapx): should not use plain malloc.
+
+Mon Jul 17 12:58:41 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * configure.in: should use ac_cv_lib_dl_dlopen=no on MinGW.
+
+Sat Jul 15 23:50:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_require_safe): wait for another thread requiring the same
+ feature. fixed: [ruby-core:08229]
+
+Sat Jul 15 01:27:13 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * dir.c (has_magic): glob names contain alphabets to enable case fold
+ search also for directories. fixed: [ruby-talk:201917]
+
+Sat Jul 15 01:09:22 2006 Yukihiro Matsumoto <matz@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/>.
+
+ * gc.c (rb_memerror): should not raise empty nomem_error.
+
+Fri Jul 14 13:08:13 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb: add methods for new features of latest Tcl/Tk8.5.
+
+ * ext/tk/lib/tk/namespace.rb: ditto.
+
+Fri Jul 14 02:30:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/monitor.rb: document patch from Hugh Sasse <hgs at dmu.ac.uk>.
+ [ruby-core:08205]
+
+Fri Jul 14 01:09:46 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (then): error in warning action.
+
+Fri Jul 14 00:10:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * array.c (rb_ary_pop): may cause realloc oscillation. a patch
+ from MORITA Naoyuki <mlgetter at kidou.sakura.ne.jp>.
+ [ruby-dev:29028]
+
+Thu Jul 13 22:23:56 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/composite.rb: improve handling of the classname on the
+ option database for the widget class which includes TkComposite.
+
+Thu Jul 13 20:32:19 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/parser.rb: updated documents by a patch from
+ Hugh Sasse <hgs at dmu.ac.uk>. [ruby-core:8194]
+
+Wed Jul 12 13:54:09 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (then): we'd like to reserve colon here for the future.
+ warning added.
+
+Tue Jul 11 20:58:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ruby.h: export rb_cMethod. [ruby-talk:201259]
+
+Tue Jul 11 19:13:33 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: remove restriction on the class of
+ pseudo-toplevel.
+
+Tue Jul 11 18:00:57 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: security fix.
+
+Tue Jul 11 17:33:39 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * string.c (rb_str_dump): need to extend len for \b.
+
+Mon Jul 10 22:00:00 2006 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c: Allows '_' to appear within
+ digits. [ruby-dev:28872]
+
+ * ext/bigdecimal/lib/bigdecimal/util.rb: Bug in to_r reported by
+ [ruby-list:42533] fixed.
+
+Mon Jul 10 19:22:19 2006 Tanaka Akira <akr@fsij.org>
+
+ * gc.c (gc_sweep): expand heap earlier.
+ reported by MORITA Naoyuki. [ruby-dev:28960]
+
+Mon Jul 10 18:59:34 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/font.rb: sorry. mistaken to patch.
+
+Mon Jul 10 18:46:52 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tcltklib.c: make SEGV risk lower at exit.
+
+ * ext/tk/lib/tk.rb: ditto.
+
+ * 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.
+
+ * ext/tk/lib/tk.rb: a little change for the pseudo-toplevel strategy.
+
+ * ext/tk/lib/tk/font.rb: ditto.
+
+ * ext/tk/lib/tk/msgcat.rb: ditto.
+
+ * ext/tk/lib/tkextlib/itk/incr_tk.rb: 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.
+
+ * ext/tk/sample/demos-jp/widget: ditto.
+
+Mon Jul 10 13:58:40 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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.
+
+ * ruby.h (HAVE_NATIVETHREAD_KILL): ditto.
+
+ * eval.c (ruby_native_thread_kill): ditto.
+
+Mon Jul 10 10:54:14 2006 Ryan Davis <ryand@zenspider.com>
+
+ * 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.
+
+ * lib/rdoc/diagram.rb: diagrams are now cached.
+
+ * lib/irb/completion.rb: fixed a crasher when completing against
+ an unnamed class/module.
+
+ * lib/rdoc/parsers/parse_c.rb: private comment (--/++) support in
+ C-file rdoc.
+
+ * lib/debug.rb: minor clarification in help.
+
+ * lib/pp.rb: minor clarification on exception.
+
+Mon Jul 10 09:29:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_clear_cache_for_undef): clear entries for included
+ module. fixed: [ruby-core:08180]
+
+Mon Jul 10 01:48:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * st.h (st_data_t): use pointer sized integer for st_data_t.
+ [ruby-dev:28988]
+
+Sun Jul 9 18:06:47 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (try_constant): fix for value 1 at cross compiling.
+
+ * lib/mkmf.rb (create_makefile): prevent substitution of macro
+ definition. fixed: http://www.yotabanana.com/lab/20060624.html#p02
+
+Sun Jul 9 00:54:34 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (next_jump): deal with destination of next.
+ fixed: [ruby-core:08169]
+
+Fri Jul 7 00:38:49 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * hash.c (rb_hash_default): should not call default procedure if
+ no key is given. [ruby-list:42541]
+
+Fri Jul 7 00:29:10 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * time.c (time_mload): a patch from Daniel Berger
+ <Daniel.Berger at qwest.com>. [ruby-core:08128]
+
+Thu Jul 6 22:21:57 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * process.c (rb_proc_times): use sysconf(_SC_CLK_TCK) value prior to
+ HZ and CLK_TCK. fixed: [ruby-talk:200293]
+
+Thu Jul 6 22:17:21 2006 Minero Aoki <aamine@loveruby.net>
+
+ * ext/racc/cparse/cparse.c: sync with original code, rev 1.8.
+
+ * ext/racc/cparse/cparse.c: should mark CparseParams objects.
+
+ * lib/racc/parser.rb: sync with original code, rev 1.8.
+
+ * lib/racc/parser.rb: update coding style.
+
+Mon Jul 3 19:04:38 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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.
+
+ * ext/tk/lib/tk/event.rb: [bug fix] Tk.callback_break and
+ Tk.callback_continue don't work on MultiTkIp.
+
+ * ext/tk/lib/multi-tk.rb: ditto.
+
+ * ext/tk/lib/tk.rb: lack of Tk.callback_return.
+
+ * ext/tk/lib/tk/menu.rb: improve creating clone menus.
+
+Mon Jul 3 14:42:06 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * 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]
+
+Mon Jul 3 01:14:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_inspect): encode \b (\010) for escape.
+ [ruby-dev:28927]
+
+ * string.c (rb_str_dump): ditto.
+
+Sun Jul 2 19:17:56 2006 Minero Aoki <aamine@loveruby.net>
+
+ * ext/racc/cparse/cparse.c: sync with original code (rev 1.7).
+
+ * 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).
+
+Sat Jul 1 15:15:49 2006 Tanaka Akira <akr@m17n.org>
+
+ * test/socket/test_nonblock.rb: add timeout to send/receive
+ an empty UDP packet.
+ [ruby-dev:28820]
+
+Fri Jun 30 23:46:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * configure.in: should test isinf for Solaris with GCC compiler.
+ a patch from <ville.mattila at stonesoft.com>. [ruby-core:07791]
+
+ * configure.in: -shared patch from Andrew Morrow
+ <andrew.c.morrow at gmail.com>. [ruby-core:08100]
+
+Thu Jun 29 18:58:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_version): fix patch
+ failure.
+
+Thu Jun 29 18:00:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c: add RDoc document. a patch from
+ mathew <meta at pobox.com>. [ruby-core:07050]
+
+Wed Jun 28 15:47:14 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/optparse.rb: RDoc patch from Robin Stocker <robin@nibor.org>
+ [ruby-core:08087]
+
+Wed Jun 28 19:04:34 2006 Tanaka Akira <akr@m17n.org>
+
+ * test/socket/test_unix.rb: test_seqpacket_pair removed.
+ [ruby-dev:28846]
+
+Tue Jun 27 23:03:49 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c: RDoc update for =~ method. a patch from Alex Young
+ <alex at blackkettle.org>. [ruby-core:08068]
+
+Tue Jun 27 22:47:18 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tcltklib.c: forgot to update TCLTKLIB_RELEASE_DATE.
+
+ * 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".
+
+Tue Jun 27 16:04:05 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * win32/win32.h: define isascii on MinGW for msvcrt compatibility.
+
+ * configure.in: set ac_cv_header_sys_time_h=no on MinGW
+ for msvcrt compatibility.
+
+Tue Jun 27 11:36:02 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/etc/etc.c (setup_passwd, setup_group): allow bignum uid, gid and
+ so on. [ruby-talk:199102]
+
+Mon Jun 26 13:37:27 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc: Merge from HEAD.
+ Add options to limit the ri search path.
+
+Tue Jun 27 00:54:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * util.c (powersOf10): constified.
+
+Mon Jun 26 18:37:44 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tcltklib.c (ip_delete): fix SEGV when a slave-ip is
+ deleted on callback.
+
+Mon Jun 26 10:47:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (pipe_open): avoid closing uninitialized file descriptors.
+ a patch from <tommy at tmtm.org> [ruby-dev:28600]
+
+Mon Jun 26 09:56:22 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.[ch] (rb_w32_send, rb_w32_sendto): constified.
+
+Sun Jun 25 23:02:12 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, mkconfig.rb: catch-up for latest autoconf.
+
+Sat Jun 24 06:35:00 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * signal.c: revert last change.
+
+ * ruby.h: ditto.
+
+ * eval.c: ditto.
+
+Thu Jun 22 11:52:02 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/net/http.rb (Net::HTTPResponse): duplicated error 501;
+ HTTPInternalServerError should be error 500. [ruby-core:08037]
+
+Thu Jun 22 05:15:58 2006 Tanaka Akira <akr@m17n.org>
+
+ * ext/socket/socket.c (sock_s_socketpair): try GC only once.
+ [ruby-dev:28778]
+
+Wed Jun 21 21:28:32 2006 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb (jd_to_commercial): now works fine even if in
+ mathn-ized context.
+
+Wed Jun 21 17:32:31 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * signal.c (ruby_nativethread_signal, posix_nativethread_signal,
+ sigsend_to_ruby_thread, install_nativethread_sighandler):
+ nativethread-support on signal handler (backport from 1.9).
+
+ * ruby.h (HAVE_NATIVETHREAD_KILL): ditto.
+
+ * eval.c (ruby_native_thread_kill): ditto.
+
+Wed Jun 21 08:39:54 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): merge Date
+ and Time processing. [ruby-core:08033]
+
+Wed Jun 21 01:40:25 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (yylex, reswords): modifier token is no longer returned in
+ fname state. [ruby-dev:28775]
+
+Wed Jun 21 01:12:46 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb: RSS::Element.def_corresponded_attr_writer
+ supported date type.
+
+Tue Jun 20 22:08:36 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+Tue Jun 20 21:19:06 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb: provided default RSS::Element#children.
+
+ * 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.
+
+Tue Jun 20 21:04:33 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb: provided default RSS::Element#_tags.
+
+ * 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.
+
+Tue Jun 20 20:47:07 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+ * 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.
+
+Tue Jun 20 20:18:05 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/extconf.rb: add check for OBJ_NAME_do_all_sorted.
+
+ * ext/openssl/ossl_cipher.c (ossl_s_ciphers): new method
+ OpenSSL::Cipher.ciphers. it returns all the cipher names.
+
+ * ext/openssl/lib/openssl/cipher.rb:
+ - add constants AES128, AES192, AES256. [ruby-dev:28610]
+ - reimplement without eval()
+
+ * ext/openssl/lib/openssl/digest.rb: reimplement without eval().
+
+ * test/openssl/test_cipher.rb, test_digest: fix about reimplemented
+ features.
+
+ * sample/openssl/cipher.rb: rewrite all.
+
+Sat Jun 19 11:21:46 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/test/unit/assertions.rb: Merge RDoc from HEAD.
+
+Tue Jun 20 01:06:57 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+ * 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.
+
+Mon Jun 19 23:40:59 2006 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * ext/nkf/lib/kconv.rb: remove default -m0 and fix document.
+
+ * ext/nkf/nkf-8/{nkf.c, config.h, utf8tbl.c, utf8tbl.h}:
+ imported nkf 2.0.7.
+
+Mon Jun 19 22:31:59 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+ * 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.
+
+ * lib/rss/2.0.rb: removed #other_element.
+
+Mon Jun 19 22:09:16 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c(ole_invoke): support some kind of
+ method of word. [ruby-Bugs#3237]
+
+ * ext/win32ole/tests/test_word.rb: ditto.
+
+ * ext/win32ole/tests/testall.rb: ditto.
+
+Mon Jun 19 00:02:17 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb: automatically detected attributes.
+
+ * 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.
+
+ * lib/rss/parser.rb: followed new internal API.
+
+Mon Jun 19 00:00:17 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: fix bug: initialize improper tables.
+
+Sun Jun 18 22:36:13 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+ * lib/rss/utils.rb: added Utils.element_initialize_arguments? to
+ detect backward compatibility initial arguments.
+
+ * lib/rss/parser.rb: user initial attributes to initialize
+ RSS::Element.
+
+Sun Jun 18 18:24:42 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/converter.rb: use NKF for Uconv fallback.
+
+Sun Jun 18 18:22:04 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * test/rss/test_image.rb: shared name space configuration.
+
+Sun Jun 18 18:13:25 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+ * test/rss/rss-assertions.rb: checked URI of not expected tag too.
+ * test/rss/test_parser.rb: ditto.
+
+Sun Jun 18 18:08:36 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+Sun Jun 18 18:03:50 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/parser.rb: removed a guard for requiring open-uri.
+
+Sun Jun 18 18:01:26 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+Sun Jun 18 17:52:39 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+ * test/rss/test_1.0.rb: removed RSS::Element.indent_size tests.
+ * test/rss/test_2.0.rb: ditto.
+
+Sun Jun 18 00:49:11 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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.
+
+Sat Jun 17 22:17:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/mathn.rb (Integer::prime_division): raise ZeroDivisionError
+ on zeros. [ruby-dev:28739]
+
+Sat Jun 17 14:53:32 2006 Tanaka Akira <akr@m17n.org>
+
+ * lib/pathname.rb: backport from 1.9.
+ (Kernel#Pathname): new method.
+
+Sat Jun 17 10:30:41 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb (Hash#merge, Enumerable#sort_by): removed.
+
+ * lib/rss/rss.rb (RSS::RootElementMixin#to_xml): added.
+ [ruby-talk:197284]
+
+ 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"))}
+
+ * test/rss/test_1.0.rb: added #to_xml test.
+ * test/rss/test_2.0.rb: ditto.
+
+ * test/rss/rss-testcase.rb: added some helper methods that
+ generates sample RSS 2.0.
+
+ * sample/rss/convert.rb: added a sample script to convert RSS format.
+
+Sat Jun 17 10:23:22 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb (Kernel#funcall): removed.
+ * lib/rss/parser.rb (Kernel.URI): removed.
+
+ * lib/rss/maker/: supported
+ xxx.new_yyy do |yyy|
+ yyy.zzz = zzz
+ ...
+ end
+ style and this style became the style of the recommendation.
+
+ Old style
+ yyy = xxx.new_yyy
+ yyy.zzz = zzz
+ ...
+ is supported too but this style isn't recommended.
+ [ruby-talk:197284]
+
+ * test/rss/test_*maker*.rb: used new recommended style.
+
+Sat Jun 17 09:03:47 2006 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss, test/rss: backported from trunk. (2005-11-16 - now)
+
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.5 -> 0.1.6.
+ * test/rss/test_version.rb (RSS::TestVersion#test_version): ditto.
+
+ * lib/rss/trackback.rb: added TrackBack prefix.
+ * lib/rss/maker/trackback.rb: ditto.
+
+ * lib/rss/rss.rb : removed needless argument 'prefix'.
+ * lib/rss/parser.rb: ditto.
+
+ * lib/rss/1.0.rb: added rdf:Bag.
+
+ * lib/rss/taxonomy.rb: implemented taxonomy module.
+ * test/rss/test_taxonomy.rb: added tests for taxonomy support.
+
+ * 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.
+
+ * 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.
+
+ * 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.
+
+ * 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.
+
+ * 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.
+
+ * 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.
+
+ * test/rss/rss-testcase.rb: added convenience method for setting
+ up taxo:topic.
+ * test/rss/rss-assertions.rb: added assertion for taxo:topic.
+
+ * sample/rss/blend.rb: followed new API.
+
+ * lib/rss/taxonomy.rb: changed class or module prefix to
+ Taxonomy from Taxo.
+ * lib/rss/maker/taxonomy.rb: ditto.
+
+ * test/rss/test_taxonomy.rb: use #reject directory.
+
+ * lib/rss/: use #__send__ instead of #send.
+ * test/rss/: ditto.
+
+ * lib/rss/parser.rb: added entity handling type predicate.
+ * lib/rss/rexmlparser.rb: ditto.
+ * lib/rss/xmlparser.rb: ditto.
+ * lib/rss/xmlscanner.rb: ditto.
+
+ * lib/rss/xmlscanner.rb: more robust entity handling.
+
+ * test/rss/test_parser.rb: added an entity handling test.
+
+ * 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.
+
+ * lib/rss/image.rb: added Image prefix.
+ * lib/rss/maker/image.rb: ditto.
+
+ * 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.
+
+ * 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.
+
+ * test/rss/test_maker_1.0.rb: use assert instead of assert_equal.
+
+ * test/rss/rss-assertions.rb: improved type conversion assertions.
+
+ * 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.
+
+Sat Jun 17 02:01:00 2006 Tanaka Akira <akr@m17n.org>
+
+ * lib/pp.rb (Kernel#pretty_inspect): defined for pretty printed
+ string.
+
+Sat Jun 17 00:23:58 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (reswords): kDO_BLOCK was missing. fixed: [ruby-core:7995]
+
+Sat Jun 17 00:02:15 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (ole_propertyput): support
+ PROPERTYPUTREF. [ruby-talk:183042]
+
+ * ext/win32ole/tests/test_propertyputref.rb: ditto.
+
+Thu Jun 15 23:02:47 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (fole_methods): The return value
+ of WIN32OLE#ole_methods should include PROPERTYPUTREF methods.
+
+ * ext/win32ole/win32ole.c (fole_put_methods): The return value
+ of WIN32OLE#ole_put_methods should include PROPERTYPUTREF methods.
+
+ * ext/win32ole/tests/test_ole_methods.rb: ditto.
+
+ * ext/win32ole/tests/testall.rb : ditto.
+
+Wed Jun 14 18:23:28 2006 Eric Hodel <drbrain@segment7.net>
+
+ * enum.c (enum_any): Documentation typo.
+
+Wed Jun 14 15:01:09 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser#warn): Don't print
+ warnings when -q is set.
+
+Wed Jun 14 23:03:53 2006 Tanaka Akira <akr@m17n.org>
+
+ * configure.in: check sizeof(rlim_t).
+ check setrlimit.
+
+ * process.c (proc_getrlimit): new method Process.getrlimit.
+ (proc_setrlimit): new method Process.setrlimit.
+
+ * ruby.h (NUM2ULL): new macro.
+
+Mon Jun 12 22:25:09 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * sprintf.c (rb_f_sprintf): adjust precision length to prevent
+ splitting multi-byte characters. [ruby-list:42389]
+
+Sun Jun 11 23:20:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (OptionParser::Arguable#getopts): pass self to the
+ parser.
+
+Sun Jun 11 10:00:57 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.h (write): not need to define on bcc.
+
+Sun Jun 11 08:30:33 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/optparse.rb (OptionParser#getopts): new methods.
+
+Sat Jun 10 18:02:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/bigdecimal/lib/bigdecimal/newton.rb (Newton::nlsolve): typo
+ fixed: raize -> raise. [ruby-talk:196608]
+
+Thu Jun 8 14:19:17 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.[ch] (rb_w32_read, rb_w32_write): new functions.
+ use recv() and send() when fd is socket. fixed: [ruby-dev:28694]
+
+Wed Jun 7 16:22:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/tempfile.rb (Tempfile::make_tmpname): put dot between
+ basename and pid. [ruby-talk:196272]
+
+Wed Jun 7 14:53:04 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (errmap): add some winsock errors.
+
+Wed Jun 7 11:34:38 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * configure.in: add new configure option `--with-winsock2' for mingw.
+
+ * win32/Makefile.sub (config.h): define USE_WINSOCK2 in config.h
+ instead of in CPPFLAGS.
+
+ * ext/socket/extconf.rb: determine whether to use winsock2 or not
+ by using with_config.
+
+Wed Jun 7 10:45:10 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/{configure.bat, setup.mak, Makefile.sub, win32.h}: add
+ new configure option `--with-winsock2'.
+
+ * win32/win32.c (StartSockets): ditto.
+
+ * ext/socket/extconf.rb: ditto.
+
+ * win32/win32.c (open_ifs_socket): new function.
+
+ * win32/win32.c (StartSockets, rb_w32_socket): use open_ifs_socket()
+ instead of socket().
+ ifs socket support is backported from trunk.
+
+Wed Jun 7 09:14:44 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): binding for the return event hook should have
+ consistent scope. [ruby-core:07928]
+
+ * eval.c (EXEC_EVENT_HOOK): trace_func may remove itself from
+ event_hooks. no guarantee for arbitrary hook deletion.
+ [ruby-dev:28632]
+
+Mon Jun 5 18:12:12 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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]
+
+Sun Jun 4 20:40:19 2006 Tanaka Akira <akr@m17n.org>
+
+ * ext/socket/socket.c: fix sockaddr_un handling.
+ [ruby-dev:28677]
+
+Fri Jun 2 22:08:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/forwardable.rb: RDoc typo fix from Jan Svitok
+ <jan.svitok at gmail.com>. [ruby-core:07943]
+
+Fri Jun 2 19:02:09 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/extconf.rb: use create_header.
+
+ * ext/openssl/ossl.h, ext/openssl/openssl_missing.h:
+ include RUBY_EXTCONF_H.
+
+Fri Jun 2 17:16:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (CLEANINGS): remove extconf.h by distclean if created.
+
+Fri Jun 2 00:11:19 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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
+
+Thu Jun 1 19:12:37 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/win32.c (rb_w32_cmdvector): backslashes inside single-quotes
+ no longer has special meanings. fixed: [ruby-list:42311]
+
+Thu Jun 1 16:14:41 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * 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]
+
+Thu Jun 1 11:29:14 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (rb_w32_getcwd): set errno if not set.
+ fixed [ruby-list:42346]
+
+Sat May 27 11:29:46 2006 nobuyoshi nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): remove extinit files if no statically linked
+ extensions.
+
+Fri May 26 09:05:11 2006 nobuyoshi nakada <nobu@ruby-lang.org>
+
+ * ruby.h, lib/mkmf.rb (create_header): clear command line options for
+ macros moved to extconf.h.
+
+ * ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
+ EXTSTATIC permanent.
+
+ * ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.
+
+ * {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
+ $(INCFLAGS).
+
+ * lib/mkmf.rb (configuration): add $defs unless extconf.h was created.
+
+Thu May 25 01:52:07 2006 nobuyoshi nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (pkg_config): particular config commands support.
+
+ * ext/extmk.rb: deal with $static set in extconf.rb.
+
+ * mkconfig.rb: merge multiple entries to an entry with multiple lines.
+
+ * lib/mkmf.rb: allow a series of commands to link.
+
+ * win32/Makefile.sub: embed manifests.
+
+ * win32/setup.mak: suffix OS name by runtime version.
+
+Wed May 24 23:52:11 2006 nobuyoshi nakada <nobu@ruby-lang.org>
+
+ * configure.in (ac_install_sh): ignore dummy install-sh.
+ [ruby-talk:193876]
+
+Wed May 24 03:10:48 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/lib/openssl/ssl.rb
+ (OpenSSL::SSL::SocketForwarder#setsockopt,getsockopt): typo fixed.
+
+Mon May 22 17:54:12 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ext/socket/socket.c (sock_recvfrom_nonblock): use rb_read_pending
+ instead of rb_io_read_pending.
+ [ruby-dev:28663]
+
+Mon May 22 17:30:04 2006 Tanaka Akira <akr@m17n.org>
+
+ * rubyio.h (rb_io_set_nonblock): declared.
+
+ * 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/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.
+
+ [ruby-core:7917]
+
+Mon May 22 15:57:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (umethod_bind): should not update original class.
+ [ruby-dev:28636]
+
+Mon May 22 13:38:57 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (ev_const_get): should support constant access from
+ within instance_eval(). [ruby-dev:28327]
+
+Thu May 18 17:51:32 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * time.c (time_timeval): should round for usec floating
+ number. [ruby-core:07896]
+
+ * time.c (time_add): ditto.
+
+Thu May 18 17:11:45 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/cgi.rb (CGI::out): support utf-8. a patch from Fujioka
+ <fuj at rabbix.jp>. [ruby-dev:28649]
+
+Thu May 18 00:42:12 2006 nobuyoshi nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb, lib/mkmf.rb: use BUILD_FILE_SEPARATOR in Makefiles.
+
+Wed May 17 17:55:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * dir.c (sys_warning): should not call a vararg function
+ rb_sys_warning() indirectly. [ruby-core:07886]
+
+Wed May 17 08:17:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * util.c (ruby_strtod): try to reduce errors using powersOf10
+ table. [ruby-dev:28644]
+
+Tue May 16 15:34:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * re.c (rb_reg_initialize): should not allow modifying literal
+ regexps. frozen check moved from rb_reg_initialize_m as well.
+
+Tue May 16 09:20:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * re.c (rb_reg_initialize): should not modify untainted objects in
+ safe levels higher than 3.
+
+ * re.c (rb_memcmp): type change from char* to const void*.
+
+ * dir.c (dir_close): should not close untainted dir stream.
+
+ * dir.c (GetDIR): add tainted/frozen check for each dir operation.
+
+Mon May 15 17:42:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_symbol_arg):
+ typo fixed. a patch from Florian Gross <florg at florg.net>.
+
+Sat May 13 16:14:05 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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]
+
+Thu May 11 19:57:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * util.c (ruby_strtod): differ addition to minimize error.
+ [ruby-dev:28619]
+
+Fri Aug 11 15:39:25 2006 Eric Hodel <drbrain@segment7.net>
+
+ * lib/yaml/tag.rb: Replace nodoc with stopdoc so Module methods get
+ documented.
+
+Thu May 11 18:10:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * util.c (ruby_strtod): should not raise ERANGE when the input
+ string does not have any digits. [ruby-dev:28629]
+
+Sun May 7 03:09:51 2006 Stephan Maka <stephan@spaceboyz.net>
+
+ * lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP#initialize):
+ Use AF_INET6 for nameservers containing colons.
+
+Sat May 6 00:38:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Thu May 4 02:24:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/syck/emitter.c (syck_scan_scalar): avoid accessing
+ uninitialized array element. a patch from Pat Eyler
+ <rubypate at gmail.com>. [ruby-core:07809]
+
+ * array.c (rb_ary_fill): initialize local variables first. a
+ patch from Pat Eyler <rubypate at gmail.com>. [ruby-core:07810]
+
+ * ext/syck/yaml2byte.c (syck_yaml2byte_handler): need to free
+ type_tag. a patch from Pat Eyler <rubypate at gmail.com>.
+ [ruby-core:07808]
+
+Wed May 3 02:12:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/socket/socket.c (make_hostent_internal): accept ai_family
+ check from Sam Roberts <sroberts at uniserve.com>.
+ [ruby-core:07691]
+
+Mon May 1 12:23:19 2006 <sinara@blade.nagaokaut.ac.jp>
+
+ * numeric.c (num_div): use floor rather than rb_Integer().
+ [ruby-dev:28589]
+
+ * numeric.c (flo_divmod): the first element of Float#divmod should
+ be an integer. [ruby-dev:28589]
+
+ * test/ruby/test_float.rb: add tests for divmod, div, modulo and remainder.
+
+Sat Apr 29 22:42:08 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_asn1.c (ossl_asn1_decode0): should initialize
+ flag. [ruby-core:07785]
+
+Fri Apr 28 10:53:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * util.c (ruby_strtod): should not cut off 18 digits for no
+ reason. [ruby-core:07796]
+
+ * util.c (ruby_strtod): fixed wrong conversion.
+
+Thu Apr 27 01:38:10 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * array.c (rb_ary_fill): internalize local variable "beg" to
+ pacify Coverity. [ruby-core:07770]
+
+Wed Apr 26 16:59:24 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * pack.c (pack_unpack): now supports CRLF newlines. a patch from
+ <tommy at tmtm.org>. [ruby-dev:28601]
+
+Tue Apr 25 18:00:05 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tcltklib.c (delete_slaves): maybe increment the reference
+ count of a NULL Tcl_Obj [ruby-core:07759].
+
+Tue Apr 25 07:55:31 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Tue Apr 25 00:08:24 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Fri Apr 21 15:19:13 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tcltklib.c (lib_eventloop_ensure): refer freed pointer
+ [ruby-core:07744] and memory leak.
+
+Fri Apr 21 12:14:52 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/socket/socket.c: document update patch from Sam Roberts
+ <sroberts at uniserve.com>. [ruby-core:07701]
+
+Wed Apr 19 13:55:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (arg): too much NEW_LIST()
+
+ * eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.
+
+Wed Apr 19 11:57:04 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.
+ [ruby-dev:28585]
+
+ * parse.y (list_concat): revert last change.
+
+ * parse.y (arg): use NODE_ARGSCAT for placeholder.
+
+Wed Apr 19 11:13:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/getoptlong.rb (GetoptLong::get): RDoc update patch from
+ mathew <meta at pobox.com>. [ruby-core:07738]
+
+Wed Apr 19 10:13:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * variable.c (rb_const_set): raise error when no target klass is
+ supplied. [ruby-dev:28582]
+
+Wed Apr 19 09:49:36 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (list_concat): should not modify nodes other than
+ NODE_ARRAY. [ruby-dev:28583]
+
+Tue Apr 18 17:40:37 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: add a binding to a container for a slave IP.
+
+ * ext/tk/lib/tk.rb: update RELEASE_DATE.
+
+ * ext/tk/tcltklib.c: forget to reset a Tcl interpreter.
+
+ * ext/tk/stubs.c: fix potential bugs about handling rb_argv0.
+
+Tue Apr 18 00:11:21 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c: block_unique should be 1, not frame_unique.
+ [ruby-dev:28577]
+
+Fri Aug 11 15:39:25 2006 Eric Hodel <drbrain@segment7.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.
+
+Mon Apr 10 01:03:10 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * prec.c (prec_prec_f): documentation patch from
+ <gerardo.santana at gmail.com>. [ruby-core:07689]
+
+Sat Apr 8 02:34:34 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * bignum.c (rb_big_pow): second operand may be too big even if
+ it's a Fixnum. [ruby-talk:187984]
+
+Sat Apr 8 02:12:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * README.EXT: update symbol description. [ruby-talk:188104]
+
+Thu Apr 6 23:28:47 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * COPYING: explicitly note GPLv2. [ruby-talk:187922]
+
+Thu Apr 6 11:18:37 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/panedwindow.rb: lack of arguments. [ruby-core:7681]
+
+Thu Apr 6 01:04:47 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tcltklib.c: fix SEGV when embedding to an application.
+ [ruby-core:7600]
+
+ * ext/tk/tcltklib.c: fix SEGV at exit. [ruby-talk:186489]
+
+ * ext/tk/tkutil/tkutil.c: follow to changing specification of
+ instance_eval on ruby-1.9.x.
+
+ * ext/tk/lib/tk.rb: ditto.
+
+ * ext/tk/lib/multi-tk.rb: ditto.
+
+ * ext/tk/lib/tk.rb: remove warning about redefinition of methods.
+
+ * ext/tk/lib/tk/variable.rb: remove warning about unseting Tcl
+ variables.
+
+Wed Mar 29 20:54:44 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (fole_getproperty): WIN32OLE#[] should accept
+ multi arguments.
+
+ * ext/win32ole/tests/testWIN32OLE.rb (test_setproperty_bracket): ditto.
+
+Wed Mar 29 10:07:44 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ext/nkf/nkf-utf8/nkf.c (nkf_each_char_to_hex, encode_fallback_subchar,
+ e2w_conv): support C90 compiler.
+
+Wed Mar 29 06:48:40 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (backtrace): reports aliased method names in a generated
+ backtrace. a patch from "U.Nakamura" <usa at garbagecollect.jp>.
+ [ruby-dev:28471]
+
+Mon Mar 27 22:19:09 2006 NARUSE, Yui <naruse@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.
+
+ * ext/nkf/nkf.c (nkf_split_options): added for parse option string.
+
+ * ext/nkf/lib/kconv.rb (Kconv.to*): add -m0.
+ Note that Kconv.to* still imply -X.
+
+Mon Mar 27 03:17:21 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): insecure calling should be checked for non
+ NODE_SCOPE method invocations too.
+
+ * eval.c (rb_alias): should preserve the current safe level as
+ well as method definition.
+
+Fri Mar 24 23:14:30 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (yield_under_i): pass self again for instance_eval().
+ [ruby-dev:28466]
+
+Fri Mar 24 17:20:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * process.c (rb_f_sleep): remove description about SIGALRM which
+ is not valid on the current implementation. [ruby-dev:28464]
+
+Thu Mar 23 10:47:03 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (method_missing): should support argument splat in
+ super. [ruby-talk:185438]
+
+Mon Mar 20 12:05:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * configure.in: Solaris SunPro compiler -rapth patch from
+ <kuwa at labs.fujitsu.com>. [ruby-dev:28443]
+
+Mon Mar 20 09:40:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * configure.in: remove enable_rpath=no for Solaris.
+ [ruby-dev:28440]
+
+Fri Mar 17 19:08:49 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: fix typo.
+ [ruby-core:07571]
+
+Wed Mar 15 16:54:21 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/mkmf.rb (create_makefile): support libraries without *.so.
+
+Wed Mar 15 16:35:43 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: should use
+ "rb_str_new(0, 0)" to make empty string.
+
+Sat Mar 11 14:24:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::wrap): removed
+ space before argument parenthesis. [ruby-talk:183630]
+
+ * ruby.1: a clarification patch from David Lutterkort
+ <dlutter at redhat.com>. [ruby-core:7508]
+
+Sat Mar 4 15:26:40 2006 Tanaka Akira <akr@m17n.org>
+
+ * gc.c (id2ref): fix symbol test.
+
+Sat Mar 4 01:08:07 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Thu Mar 2 19:44:18 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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]
+
+Thu Mar 2 18:58:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_thread_fd_writable): should not re-schedule output
+ from KILLED thread (must be error printing).
+
+Thu Mar 2 17:57:49 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * gc.c: commited magic for reducing RVALUE size on windows. (24->20byte)
+ [ruby-core:7474]
+
+Thu Mar 2 12:59:14 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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]
+
+Thu Mar 2 08:02:42 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * gc.c (add_heap): heap_slots may overflow. a patch from Stefan
+ Weil <weil at mail.berlios.de>.
+
+Wed Mar 1 00:24:31 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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]
+
+Tue Feb 28 09:32:17 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/drb/extservm.rb (invoke_service_command): cannot invoke command
+ if command name is quoted on mswin32. [ruby-dev:28400]
+
+Mon Feb 27 00:19:16 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ruby.h (SYM2ID): should not cast to signed long.
+ [ruby-core:07414]
+
+Fri Feb 24 20:07:23 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * 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]
+
+Fri Feb 24 12:11:08 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * instruby.rb: install *.exe.manifest and *.dll.manifest if exist.
+ It's for VC++8.
+
+Fri Feb 24 11:33:52 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * bcc32/Makefile.sub (HAVE_HYPOT): bcc32 has hypot().
+
+Fri Feb 24 11:19:58 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * time.c (time_new_internal): add prototype to tell the compiler
+ arugments types.
+
+ * win32/win32.c (NtInitialize): need to set a handler for VC++8.
+
+Fri Feb 24 08:19:16 2006 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * test.rb: Removed. Obsolete by test/nkf.
+
+ * ext/.document: enabled documents in nkf and kconv
+
+ * ext/nkf/nkf.c ext/nkf/lib/kconv.rb: Add rdoc.
+
+Thu Feb 23 22:39:59 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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]
+
+Thu Feb 23 13:20:28 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * eval.c (SETUP_ARGS0): fixed memory corruption. [ruby-dev:28360]
+
+Tue Feb 21 02:18:46 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * configure.in (mingw): have link. [ruby-list:41838]
+
+ * win32/Makefile.sub (config.h): ditto.
+
+Tue Feb 21 02:07:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (f_arglist): should set command_start = Qtrue for
+ command body. [ruby-talk:180648]
+
+Mon Feb 20 17:37:26 2006 Tanaka Akira <akr@m17n.org>
+
+ * mkconfig.rb: alias RbConfig for Config.
+
+Mon Feb 20 12:27:53 2006 Kent Sibilev <ksruby@gmail.com>
+
+ * lib/rational.rb (Integer::gcd): small typo fix.
+ [ruby-core:07395]
+
+Mon Feb 20 01:05:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/rational.rb (Integer::gcd): replaced by gcd4 in
+ [ruby-core:07390]. [ruby-core:07377]
+
+Mon Feb 20 00:57:02 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl.h (OSSL_Debug): should not use __func__.
+ [ruby-dev:28339]
+
+Sun Feb 19 04:46:29 2006 Guy Decoux <ts@moulon.inra.fr>
+
+ * eval.c: initial value for block_unique must be 1.
+ [ruby-talk:180420]
+
+Sat Feb 18 23:58:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/tracer.rb (Tracer::Tracer.add_filter): turn on tracer mode
+ only when caller() level size is one. [ruby-core:07389]
+
+ * lib/rdoc/parsers/parse_rb.rb: need not to require "tracer".
+ [ruby-core:07389]
+
+ * sample/rtags.rb: ditto.
+
+Sat Feb 18 12:18:26 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/fileutils.rb (FileUtils::fu_world_writable): make it
+ private. [ruby-core:07383]
+
+Sat Feb 18 00:22:39 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/tracer.rb: merged a minor clarification patch from Daniel
+ Berger <Daniel.Berger at qwest.com>. [ruby-core:07376]
+
+Fri Feb 17 11:18:42 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * util.c (ruby_strtod): Float("1e") should fail. [ruby-core:7330]
+
+ * pack.c (EXTEND32): unpack("l") did not work where sizeof(long) != 4.
+ [ruby-talk:180024]
+
+ * pack.c (pack_unpack): fixed integer overflow on template "w".
+ [ruby-talk:180126]
+
+Fri Feb 17 09:39:29 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_thread_wait_for): sleep should always sleep for
+ specified amount of time. [ruby-talk:180067]
+
+Thu Feb 16 01:10:48 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (backtrace): frame->orig_func may not be initialized.
+ [ruby-core:07367]
+
+Wed Feb 15 16:52:52 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_eval): NODE_OP_ASGN1 should allow splat in its
+ argument list. [ruby-core:07366]
+
+ * parse.y (arg): avoid unnecessary extra argument.
+ [ruby-core:07366]
+
+ * eval.c (rb_eval): honor visibility on OP_ASGN1 and
+ OP_ASGN2. [ruby-core:07366]
+
+Wed Feb 15 10:09:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (yield_under_i): should not pass self as an argument to
+ the block for instance_eval. [ruby-core:07364]
+
+Wed Feb 15 09:20:35 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_obj_instance_eval): should be no singleton classes for
+ true, false, and nil. [ruby-dev:28186]
+
+Tue Feb 14 18:48:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (DMETHOD_P): accessing wrong frame. [ruby-dev:28181]
+
+ * eval.c (proc_invoke): preserve FRAME_DMETH flag.
+
+Tue Feb 14 15:13:51 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/zlib/zlib.c: supress warning on test/zlib. [ruby-dev:28323]
+
+Tue Feb 14 14:01:17 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * time.c (search_time_t): support non 32bit time_t environments.
+
+ * win32/Makefile.sub (config.h): VC++8 has ``long long'' type.
+
+ * win32/Makefile.sub (config.h): VC++8's time_t is 64bit value.
+
+ * win32/win32.c (rb_w32_utime): drop read-only attribute before
+ changing file time.
+
+ all changes are backported from CVS HEAD.
+
+Tue Feb 14 11:21:38 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (argf_forward): should not use frame->argv.
+ [ruby-core:07358]
+
+Mon Feb 13 18:08:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): argument update propagation. [ruby-dev:28044]
+
+ * env.h: remove argv member from struct FRAME.
+
+Mon Feb 13 13:27:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (eval): should push class from binding if supplied.
+ [ruby-core:07347]
+
+Mon Feb 13 00:04:00 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/erb.rb (ERB::Compiler): add instance variable @insert_cmd to
+ change <%='s behavior. (backported 1.15 - 1.16)
+
+Sat Feb 11 02:04:11 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (eval): no need to push ruby_class. [ruby-dev:28176]
+
+Sat Feb 11 01:57:44 2006 Yukihiro Matsumoto <matz@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]
+
+Tue Feb 7 23:03:24 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/zlib/zlib.c: should not access ruby objects in finalizer.
+ [ruby-dev:28286]
+
+Mon Feb 6 16:02:51 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * file.c (rb_thread_flock): ERROR_NOT_LOCKED is not an error on Cygwin.
+ In such situation, flock() should return 0.
+
+Mon Feb 6 00:41:08 2006 Tanaka Akira <akr@m17n.org>
+
+ * ruby.h (RSTRUCT_LEN, RSTRUCT_PTR): defined for source level
+ compatibility with ruby 1.9.
+
+Sun Feb 5 21:05:34 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.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]
+
+Sun Feb 5 18:55:08 2006 Minero Aoki <aamine@loveruby.net>
+
+ * lib/net/http.rb: imported from trunk, rev 1.129
+
+ * lib/net/http.rb (add_field, get_fields): keep 1.8.2 backward
+ compatibility.
+
+ * lib/net/https.rb: imported from trunk, rev 1.3.
+
+ * lib/net/https.rb: #use_ssl? definition moved from net/http.rb.
+
+Sun Feb 5 14:22:15 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * lib/pstore.rb: should return default value if name is not found.
+ [ruby-core:7304]
+
+ * lib/pstore.rb: should raise PStore::Error if not in transaction.
+
+Sat Feb 4 22:51:43 2006 Tanaka Akira <akr@m17n.org>
+
+ * eval.c: apply the FreeBSD getcontext/setcontext workaround
+ only before FreeBSD 7-CURRENT.
+
+Sat Feb 4 21:19:23 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (LK_ERR): ERROR_NOT_LOCKED is not an error.
+ In such situation, flock() should return 0.
+
+Sat Feb 4 15:56:37 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * numeric.c (fix_to_s): (2**32).to_s(2) fails with exception where
+ sizeof(int) == 4 < sizeof(long). [ruby-core:7300]
+
+Fri Feb 3 15:06:50 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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 + '"'))
+
+Thu Feb 2 23:51:18 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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))
+
+Thu Feb 2 16:01:24 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (eval): need not to protect $SAFE value.
+ [ruby-core:07177]
+
+Thu Feb 2 14:45:53 2006 Ville Mattila <ville.mattila@stonesoft.com>
+
+ * configure.in: The isinf is not regognized by autoconf
+ library guesser on solaris 10. [ruby-core:7138]
+
+Wed Feb 1 22:01:47 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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]
+
+ * ruby.c (set_arg0): if use setenv(3), environ space cannot be used
+ for altering argv[0].
+
+Tue Jan 31 14:46:28 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * struct.c (rb_struct_select): update RDoc description.
+ [ruby-core:7254]
+
+Tue Jan 31 11:58:51 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp#eval and bg_eval.
+
+ * ext/tk/lib/tk/namespace.rb: TkNamespace#eval was enbugged at the
+ last commit. Now it will return a proper object.
+
+Tue Jan 31 00:10:26 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV.
+ ex: ruby -ryaml -e 'YAML.load("!map:B {}")' [ruby-core:7217]
+
+Sat Jan 28 07:56:57 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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]
+
+Wed Jan 25 22:29:04 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use
+ system routine if provided. fixed: [ruby-core:07195]
+
+Sun Jan 22 23:27:13 2006 Go Noguchi <gonoguti@yahoo.co.jp>
+
+ * lib/test/unit/autorunner.rb (process_args): ignore arguments after
+ '--' so that test scripts can handle them. fixed: [ruby-dev:28258]
+
+Sun Jan 22 22:09:52 2006 Tanaka Akira <akr@m17n.org>
+
+ * eval.c (POST_GETCONTEXT): define separately from PRE_GETCONTEXT on
+ IA64 to avoid reusing variable address.
+
+Sun Jan 22 20:03:35 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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]
+
+Sat Jan 21 00:36:47 2006 Tanaka Akira <akr@m17n.org>
+
+ * eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): use only on SPARC and IA64
+ before gcc 4.0.3.
+ [ruby-dev:28247]
+
+Thu Jan 19 22:21:23 2006 Minero Aoki <aamine@loveruby.net>
+
+ * lib/fileutils.rb (mv): should remove file after copying.
+ [ruby-dev:28223]
+
+Wed Jan 18 23:37:06 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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
+
+Tue Jan 17 11:32:46 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/setup.mak (MAKE): workaround for nmake 8.
+
+Tue Jan 17 11:10:21 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/{Makefile.sub,setup.mak}: invoke .bat via shell. workaround
+ for nmake 8.
+
+Mon Jan 16 10:26:23 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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]
+
+Sat Jan 14 05:37:06 2006 Tanaka Akira <akr@m17n.org>
+
+ * io.c (READ_DATA_PENDING, READ_DATA_PENDING_COUNT): defined
+ for DragonFly BSD 1.4.0.
+
+Sat Jan 14 03:43:24 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * file.c (rb_file_s_chmod): avoid warning where sizeof(int) !=
+ sizeof(void*).
+
+Fri Jan 13 19:14:56 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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
+
+ based on Paul Duncan's patch <pabs@pablotron.org> [ruby-core:7028]
+
+ * 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 Jan 12 11:53:08 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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.
+
+Wed Jan 11 15:00:00 2006 Ville Mattila <mulperi@iki.fi>
+
+ * 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]
+
+Tue Jan 10 19:42:33 2006 Tanaka Akira <akr@m17n.org>
+
+ * 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.
-Fri Jun 12 01:14:00 2015 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Jan 10 13:30:34 2006 akira yamada <akira@ruby-lang.org>
- * win32/win32.c (setup_overlapped): seek to the file end only when
- writing (mode:a), not reading (mode:a+, read).
+ * ext/syck/rubyext.c (syck_resolver_transfer): should be able to load
+ !ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159]
-Fri Jun 12 01:11:52 2015 Aaron Patterson <tenderlove@ruby-lang.org>
+Tue Jan 10 12:47:41 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * load.c (loaded_feature_path): stop returning false negatives for
- filenames which are trailing substrings of file extensions. For
- example, 'b', which a trailing substring of ".rb" should not return
- false. [Bug #11155][ruby-core:69206]
+ * lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in
+ ruby 1.8.3/1.8.4. [ruby-core:6115]
- * test/ruby/test_autoload.rb: test for fix
+ * lib/yaml/rubytypes.rb (Numeric): Subclass of Numeric could not
+ be dumped properly. [ruby-core:7047]
-Sun May 24 03:56:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 10 12:00:48 2006 Aaron Schrab <aaron @nospam@ schrab.com>
- * marshal.c (r_symreal): register symbol names as strings first so
- that r_symlink always returns valid names.
- [ruby-core:68587] [Bug #10991]
+ * lib/yaml/rubytypes.rb (Symbol#yaml_new): YAML loading of quoted
+ Symbols broken. [ruby-Bugs:2535]
- * marshal.c (r_ivar, r_object0): now need to intern symbol names.
+Mon Jan 9 19:54:35 2006 arton <artonx@yahoo.co.jp>
- * marshal.c (r_object0): compare with symbol names.
+ * ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by
+ http://www.zlib.net/ has zdll.lib. [ruby-dev:28209]
-Sun May 24 03:53:07 2015 Eric Wong <e@80x24.org>
+Mon Jan 9 14:17:12 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard
- [Bug #11123]
+ * win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag,
+ (VisualC++6) so use -O2b2xg- if $(MSC_VER) < 1400. [ruby-core:7040]
-Sun May 24 03:44:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jan 9 14:17:12 2006 Kero van Gelder <rubyforge @nospam@ kero.tmfweb.nl>
- * range.c (linear_object_p, range_include): test if covered for
- linear objects. [ruby-core:69052] [Bug #11113]
+ * lib/webrick/httpservlet/filehandler.rb: fixed typo. [ruby-core:7075]
-Sun May 24 03:41:45 2015 Shugo Maeda <shugo@ruby-lang.org>
+Sat Jan 7 15:40:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp
- is omitted. [ruby-core:69093] [Bug #11128]
+ * parse.y (singleton): get rid of segfault on syntax error.
+ fixed: [ruby-core:07070]
-Sun May 24 03:37:14 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Fri Jan 6 10:16:20 2006 Steven Lumos <steven@lumos.us>
- * string.c: added documentation for character sequence \' with String#sub
- [Bug #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127
+ * io.c (READ_DATA_PENDING): defined for 64bit Solaris on SPARC.
+ [ruby-core:7057]
+ (READ_DATA_PENDING_COUNT): ditto.
+ (READ_DATA_PENDING_PTR): ditto.
-Sun May 24 03:32:53 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Sun Jan 1 17:07:59 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * rational.c: Added documentation for rational literal.
- [Bug #11075][fix GH-885][ci skip] Patch by @shishir127
+ * 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)
-Sun May 24 03:06:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_dir.rb: added.
- * ext/socket/ipsocket.c (init_inetsock_internal): preserve errno
- before other library calls and use rb_syserr_fail.
- [ruby-core:68531] [Bug #10975]
+Sat Dec 31 22:57:00 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun May 24 03:01:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_save_context): should not recycle scope object used
+ in a thread. fixed: [ruby-dev:28177]
- * ext/-test-/printf/printf.c (uint_to_str): renamed to get rid of
- conflict on cygwin. [ruby-core:68877] [Bug #11065]
+Fri Dec 30 18:22:42 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun May 24 02:44:53 2015 Koichi Sasada <ko1@atdot.net>
+ * gc.c (garbage_collect): mark objects refered from aborting threads.
+ [ruby-dev:28190]
- * vm.c (vm_exec): check other events when RETURN is thrown.
- [Bug #10724]
+ * win32/Makefile.sub: VC++8 support.
- * test/ruby/test_settracefunc.rb: add a test.
+Fri Dec 30 14:24:53 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Sun May 24 02:21:47 2015 Masahiro Tomita <tommy@tmtm.org>
+ * dir.c (glob_helper): do not use TRUE for djgpp.
- * ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of
- addrinfo. [ruby-dev:48923] [Bug #11051]
+Fri Dec 30 04:54:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun May 24 02:17:05 2015 Kenta Murata <mrkn@cookpad.com>
+ * file.c (eaccess): workaround for VC++8 runtime.
- * bigdecimal: conform to ruby's license. [ruby-core:68466] [Bug #10952]
+ * win32/win32.c (ioinfo): VC++8 support.
-Sun May 24 02:06:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 29 23:59:37 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/-test-/file/fs.c (get_fsname): try magic number only if
- f_type is included. [ruby-dev:48913] [Bug #11000]
+ * 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]
-Sun May 24 02:06:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_gc_abort_threads), gc.c (gc_sweep): kill unmarked
+ threads. [ruby-dev:28172]
- * ext/-test-/file/fs.c (get_fsname): return filesystem name by
- statfs/statvfs. [ruby-core:68624] [Bug #10998]
+Thu Dec 29 17:02:07 2005 Tanaka Akira <akr@m17n.org>
-Sun May 24 02:02:00 2015 Koichi Sasada <ko1@atdot.net>
+ * test/ruby/envutil.rb (EnvUtil.rubybin): search "ruby" instead of
+ "miniruby". [ruby-dev:28140]
- * test/ruby/test_symbol.rb: fix syntax error.
+Tue Dec 27 16:59:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun May 24 02:02:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/drb/drbtest.rb (DRbService::self.ext_service): increase
+ timeout limit. a patch from Kazuhiro NISHIYAMA
+ <zn at mbf.nifty.com>. [ruby-dev:28132]
- * hash.c (rb_any_hash): Symbols are compared by the identities
- always. [ruby-core:68767] [Bug #11035]
+Tue Dec 27 08:29:18 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun May 24 02:01:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_chech):
+ treat wildcard character in commonName. [ruby-dev:28121]
- * hash.c (rb_any_hash): use same hash values with Float#hash so
- that -0.0 and +0.0 will be identical.
- [ruby-core:68541] [Bug #10979]
+Mon Dec 26 22:32:47 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 21 01:34:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * gc.c (id2ref): prohibit from accessing internal objects.
- [ruby-core:68348] [Bug #10918]
+Mon Dec 26 08:50:36 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu May 21 01:32:02 2015 Rei Odaira <Rei.Odaira@gmail.com>
+ * eval.c (ev_const_get): fixed a bug in constant reference during
+ instance_eval. [yarv-dev:707]
- * ext/pty/pty.c: AIX supports autopush.
- Patch by Perry Smith [ruby-core:58539] [Bug #9144]
+ * eval.c (ev_const_defined): ditto.
-Thu May 21 01:07:41 2015 Misumi Rize <r@ayase-e.li>
+ * 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]
- * vm_insnhelper.c (vm_throw_start): search the target to break
- from a block with nested rescue, from the nested blocks.
- [ruby-core:67765] [Bug #10775] [Fix GH-820]
+Sat Dec 24 18:58:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu May 21 00:55:45 2015 Koichi Sasada <ko1@atdot.net>
+ * stable version 1.8.4 released.
- * vm_args.c: protect value stack from calling other methods
- during complex parameter setting process (splat, kw, and so on).
- [Bug #11027]
+Fri Dec 23 10:30:23 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_core.h: remove rb_thead_t::mark_stack_len.
- With this modification, we don't need to use th->mark_stack_len.
+ * ext/digest/sha2/sha2.c (ULL): support AIX C. a patch from
+ Kailden <kailden at gmail.com>. [ruby-core:06984]
- * test/ruby/test_keyword.rb: add a test.
+Wed Dec 21 16:53:06 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * cont.c (cont_capture): catch up this fix.
+ * file.c (w32_io_info): should return handle because FileIndex is
+ valid only while file is open. [ruby-dev:28088]
- * vm.c (rb_thread_mark): ditto.
+Wed Dec 21 14:53:26 2005 Tanaka Akira <akr@m17n.org>
-Thu May 21 00:07:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/pathname.rb (test_kernel_open): use File.identical?.
+ [ruby-talk:171804]
- * vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow
- symbols to just instance_eval/exec, except for definition of
- singletons. [ruby-core:68961] [Bug #11086]
+Tue Dec 20 22:41:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 20 04:33:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (eval_under_i): evaluate source in caller's frame.
+ [ruby-dev:28076]
- * string.c (STR_SET_EMBED): clear NOFREE flag at embedding as
- embedded strings no longer refer static strings.
- [ruby-core:68436] [Bug #10942]
+ * eval.c (rb_call_super): use original method name on exception.
+ [ruby-dev:28078]
-Wed May 20 03:46:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Dec 20 13:11:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * dir.c (need_normalization): use getattrlist() if fgetattrlist()
- is unavailable, on OSX 10.5. [ruby-core:68829] [Bug #11054]
+ * ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62)
+ [ruby-dev:27839]
-Wed May 20 03:25:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is
+ NULL or not before S_FREE.
- * proc.c (proc_binding): replicate env from method object, and
- allocate the local variable area for the iseq local table.
- [ruby-core:68673] [Bug #11012]
+ * 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]
-Wed May 20 03:25:34 2015 Koichi Sasada <ko1@atdot.net>
+Tue Dec 20 12:53:23 2005 why the lucky stiff <why@ruby-lang.org>
- * proc.c: use RUBY_VM_IFUNC_P() to recognize IFUNC or not.
+ * ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility
+ with previous Ruby versions, documents are no longer headless.
- * vm.c: ditto.
+Tue Dec 20 01:46:48 2005 Tanaka Akira <akr@m17n.org>
- * vm_dump.c: ditto.
+ * io.c (rb_f_backquote): fix a GC problem on
+ IA64 with gcc 4.0.3 20051216 (prerelease) -O3.
- * vm_insnhelper.c: ditto.
+Mon Dec 19 23:32:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_core.h: use RB_TYPE_P() instead of BUILTIN_TYPE().
+ * parse.y (rb_symname_p): fixed wrong validation. [ruby-dev:28047]
-Wed May 20 03:10:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 17 03:57:01 2005 Tanaka Akira <akr@m17n.org>
- * benchmark/bm_hash_aref_flo.rb: make more realistic data.
- [ruby-core:68632] [[Bug #10999]
+ * bignum.c (rb_big_rshift): fix a GC problem on
+ IA64 with gcc 4.0.3 20051216 (prerelease).
-Wed May 20 02:49:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 17 03:30:23 2005 Tanaka Akira <akr@m17n.org>
- * proc.c (respond_to_missing_p): check if the receiver responds to
- the given method by respond_to_missing?.
+ * eval.c (bmcall): fix a GC problem by tail call on
+ IA64 with gcc 4.0.3 20051216 (prerelease).
- * proc.c (mnew_missing): create Method object for method_missing.
- [ruby-core:68564] [Bug #10985]
+Fri Dec 16 00:54:06 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed May 20 02:16:05 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+ * signal.c (Init_signal): revert C++ style comment.
+ [ruby-dev:28041]
- * dir.c (replace_real_basename): need to check the return value of
- GLOB_REALLOC().
+Thu Dec 15 12:35:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed May 20 02:16:05 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/tmpdir.rb: merged RDoc patch from Eric Hodel <drbrain at
+ segment7.net>. [ruby-core:06894]
- * dir.c (replace_real_basename): shouldn't create Ruby object before
- the object system is loaded.
- [ruby-core:68430] [Bug #10941]
+Thu Dec 15 01:33:31 2005 Tanaka Akira <akr@m17n.org>
-Wed May 20 01:58:12 2015 Tanaka Akira <akr@fsij.org>
+ * 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)
- * lib/resolv.rb (Resolv::DNS::Label::Str#==): Check class equality.
- (Resolv::DNS::Name#initialize): Normalize labels as
- Resolv::DNS::Label::Str objects.
+Wed Dec 14 12:11:46 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Wed May 20 01:47:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/gdbm/test_gdbm.rb: specify pid for the argument of
+ Process.wait. workaround for Cygwin.
- * iseq.c (rb_iseq_compile_with_option): check source type, must be
- an IO or a String. [ruby-core:69219] [Bug #11159]
+Wed Dec 14 12:01:26 2005 Tanaka Akira <akr@m17n.org>
-Fri May 15 05:01:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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).
- * symbol.c (Init_sym): make dsym_fstrs a hash compared by identity
- as the keys are unique fstrings, to get rid of running hash and
- compare methods and causing new object allocation during garbage
- collection phase. [ruby-dev:48891] [Bug #10933]
+Tue Dec 13 12:23:47 2005 Tanaka Akira <akr@m17n.org>
-Thu May 14 00:50:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * re.c (rb_reg_regcomp): fix a GC problem on x86_64 with
+ gcc 3.3.5 (Debian 1:3.3.5-13).
- * parse.y (lambda): push and reset cmdarg_stack in lambda body.
- [ruby-core:69017] [Bug #11107]
+Tue Dec 13 01:44:16 2005 Tanaka Akira <akr@m17n.org>
-Thu May 14 00:39:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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.
- * dln.c (dln_load): check if a different libruby is loaded by the
- extension library, and then bail out to get rid of very frequent
- reported stale bug reports.
+Tue Dec 13 00:08:09 2005 Tanaka Akira <akr@m17n.org>
-Thu May 14 00:29:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sprintf.c (rb_str_format): fix a GC problem.
+ [ruby-dev:28001]
- * lib/fileutils.rb (FileUtils#mv): show the exact target path in
- the error message instead of the destination parent directory
- name. patched by Joao Britto <jabcalves AT gmail.com> at
- [ruby-core:68706]. [Bug #11021]
+Mon Dec 12 15:54:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu May 14 00:19:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/openssl/test_ssl.rb (test_parallel): call GC.start to close
+ unused files. [ruby-dev:27981]
- * thread_pthread.c (reserve_stack): keep sp safe zone to get rid
- of crash by -fstack-check. [ruby-core:68740] [Bug #11030]
+Mon Dec 12 00:33:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Apr 14 23:33:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/digest.c (rb_digest_base_s_digest): add volatile to
+ protect temporary context object. [ruby-dev:27979]
- * configure.in: check also procstat_getvmmap, which is not
- available on FreeBSD 9. [ruby-core:68468] [Bug #10954]
+ * ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should
+ be called before actual variable initialization.
+ [ruby-dev:27986]
- * vm_dump.c (procstat_vm): use kinfo_getvmmap instead if
- procstat_getvmmap is not available.
+Fri Dec 9 23:31:02 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Apr 13 22:11:21 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * lib/rexml/encoding.rb (encoding=): give priority to particular
+ conversion to iconv. [ruby-core:06520]
- * ext/openssl/lib/openssl/ssl.rb: stricter hostname verification
- following RFC 6125. with the patch provided by Tony Arcieri and
- Hiroshi Nakamura [ruby-core:61545] [Bug #9644]
- * test/openssl/test_ssl.rb: add tests for above.
+Thu Dec 8 02:07:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Apr 13 13:03:33 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * eval.c (umethod_bind): adjust invoking class for module method.
+ [ruby-dev:27964]
- * lib/securerandom.rb: skip Win32 libraries in SecureRandom if
- OpenSSL::Random is available.
- https://github.com/ruby/ruby/pull/848 [Bug #10948] [Bug #10995]
+Thu Dec 8 00:40:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Apr 13 00:49:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (call_trace_func): klass parameter should be a
+ class/module that defines calling method. [ruby-talk:169307]
- * parse.y (arg): fix segfault by null caused by syntax error.
- [ruby-core:68851] [Bug #10957]
+Wed Dec 7 17:10:27 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Mon Apr 13 00:49:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sprintf.c (rb_f_sprintf): [ruby-dev:27967]
- * parse.y (primary): empty parentheses at cmdarg can be null.
- [ruby-core:68477] [Bug #10957]
+Wed Dec 7 15:31:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Apr 13 00:44:12 2015 Eric Wong <e@80x24.org>
+ * sprintf.c (rb_str_format): integer overflow check added.
- * ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX
- Thanks to Yura Sokolov <funny.falcon@gmail.com>
- [ruby-core:68369] [Bug#10923]
- * test/io/wait/test_io_wait.rb (test_nread_buffered):
- fix broken test
+ * sprintf.c (GETASTER): ditto.
-Mon Apr 13 00:16:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 7 01:02:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_eval.c (vm_call_super): search next super class from the
- original class, to get rid of infinite recursion with
- prepending. a patch by Seiei Higa <hanachin AT gmail.com> at
- [ruby-core:68434]. [ruby-core:68093] [Bug #10847]
+ * ext/tk/README.macosx-aqua: [new document] tips to avoid the known
+ bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.
-Mon Apr 13 00:09:48 2015 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/tcltklib.c: fix bug on switching threads and waiting on the
+ deleted interpreter on vwait and tkwait command.
- * class.c (rb_prepend_module): need a WB for klass -> origin.
+ * ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
+ interpreter.
-Sun Apr 12 23:53:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/demos-jp/image3.rb: [bug fix] wrong argument.
- * ext/fiddle/extconf.rb: needs --enable-shared when linked to
- libruby or fiddle.so. since --with-static-linked-ext does no
- longer link extensions to ruby program with --enable-shared, the
- only combination needs --enable-static is --disable-shared and
- --with-static-linked-ext. [ruby-dev:48901] [Bug #10960]
+ * ext/tk/sample/demos-en/image3.rb: ditto.
-Sun Apr 12 23:53:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/demos-jp/menu.rb: fix message for MacOS X.
- * ext/fiddle/extconf.rb: make PIC objects if it will be linked as
- a shared object eventually. [ruby-core:67128]
+ * ext/tk/sample/demos-jp/menu8x.rb: ditto.
-Sun Mar 22 12:39:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tk/sample/demos-en/menu.rb: ditto.
- * spec/default.mspec: use default configuration file name.
- https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf
+Tue Dec 6 16:37:57 2005 Yuya Nishida <yuya@j96.org>
-Sun Mar 22 12:39:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (exec_under): avoid accessing ruby_frame->prev.
+ [ruby-dev:27948]
- * spec/default.mspec: remove specific version number.
- https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714
+Thu Dec 1 00:50:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Mar 22 12:39:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (rb_funcall2): allow to call protected methods.
+ fixed: [ruby-dev:27890]
- * common.mk: use ruby organization for rubyspec.
+Wed Nov 30 23:52:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 26 15:48:41 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+ * parse.y (NEWHEAP, ADD2HEAP): set count after pointer was set.
+ fixed: [ruby-dev:27896]
- * ext/win32/Win32API.rb (initialize): accept both a string and an array
- for the arguments of the imported function.
- reported by Aaron Stone [ruby-core:68208] [Bug #10876] [Fixes GH-835]
+Wed Nov 30 13:43:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Feb 25 15:36:26 2015 NARUSE, Yui <naruse@ruby-lang.org>
+ * misc/ruby-mode.el (ruby-expr-beg): support $! at the end of
+ expression. [ruby-dev:27868]
- * tool/merger.rb: support 2.1+ versioning scheme.
+Mon Nov 28 18:55:43 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Feb 24 17:41:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (init_inetsock_internal): remove setting
+ SO_REUSEADDR option on server socket on Cygwin.
+ fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ])
- * time.c (time_zone_name): should be US-ASCII only if all 7-bits,
- otherwise locale encoding. [ruby-core:68230] [Bug #10887]
+Mon Nov 28 13:08:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Feb 24 17:41:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken
+ error message on bccwin32 + winsock)
- * time.c (time_zone_name): should be US-ASCII only if all 7-bits,
- otherwise locale encoding. [ruby-core:68230] [Bug #10887]
+Mon Nov 28 09:21:49 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Feb 24 17:41:27 2015 Benoit Daloze <eregontp@gmail.com>
+ * lib/mkmf.rb (create_makefile): should not change sodir with
+ dir.gsub!. (bccwin32 failed to install third party exntesions)
+ [ruby-dev:27834]
- * time.c: Zone encoding should be US-ASCII if all 7-bits. Fix r46907.
+Sun Nov 27 00:56:13 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests.
+ * lib/wsdl/xmlSchema/complexContent.rb: missing
+ ComplexContent#elementformdefault method.
-Tue Feb 24 16:37:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Nov 26 19:57:45 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * string.c (chompped_length): enable smart chomp for all non-dummy
- encoding strings, not only default_rs.
- [ruby-core:68258] [Bug #10893]
+ * dln.c (conv_to_posix_path): should initialize posix.
-Tue Feb 24 16:31:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Nov 24 21:05:58 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * string.c (rb_str_split_m): raise ArgumentError at broken string
- not RegexpError, as Regexp is not involved in.
- [ruby-core:68229] [Bug #10886]
+ * configure.in (AC_CHECK_FUNCS): need to check link().
+ fixed: [ruby-dev:27814]
-Tue Feb 24 14:00:46 2015 Koichi Sasada <ko1@atdot.net>
+Thu Nov 24 01:22:25 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c (rb_objspace_call_finalizer): control GC execution during
- force firnalizations at the end of interpreter process.
- [Bug #10768]
+ * 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...)
- 1) Prohibit incremental GC while running Ruby-level finalizers
- to avoid any danger.
- 2) Prohibit GC while invoking T_DATA/T_FILE data structure
- because these operations break object relations consistency.
+Wed Nov 23 20:59:01 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- This patch can introduce another memory consuming issue because
- Ruby-level finalizers can run after (2), GC is disabled.
- However, basically object consistency was broken at (2) as I
- described above. So that running Ruby-level finalizers contains
- danger originally. Because of this point, I need to suggest to
- remove these 3 lines (invoking remaining finalizers). And add a
- rule to add that finalizers should not add new finalizers, or
- say there is no guarantee to invoke finalizers that added by
- another finalizer.
+ * ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get
+ [Tk8.5 feature].
-Tue Feb 24 14:00:46 2015 Aman Gupta <ruby@tmm1.net>
+ * ext/tk/lib/tk/text.rb: supports new indices modifires on a Text
+ widget [Tk8.5 feature].
- * gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress
- during rb_objspace_free. Adds extra protection for r46340.
- Patch by Vicent Marti. [Bug #10768] [ruby-core:67734]
- * gc.c (rb_objspace_call_finalizer): Ensure GC is completed after
- finalizers have run. We already call gc_rest() before invoking
- finalizers, but finalizer can allocate new objects and start new GC
- cycle, so we call gc_rest() again after finalizers are complete.
+ * ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent.
-Tue Feb 24 10:30:59 2015 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/tk/lib/tk/autoload.rb: ditto.
- * vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements
- of original crefs. It fixes segmentation fault when calling
- refined method in duplicate module. [ruby-dev:48878] [Bug #10885]
+ * ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5
+ feature].
- * vm_core.h, class.c: change accordingly.
+Wed Nov 23 18:55:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/ruby/test_refinement.rb: add a test for above.
+ * file.c (w32_io_info): should not call GetFileInformationByHandle
+ for pipe.
-Sun Feb 22 21:20:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c (w32_io_info): checks return value from rb_w32_get_osfhandle.
- * re.c (match_aref): RMatch::regexp is Qnil after matching by a
- string since r45451. [ruby-core:68209] [Bug #10877]
+ * file.c (w32_io_info): now can identify directory on WinNT.
-Sun Feb 22 17:11:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 23 03:40:49 2005 Guy Decoux <ts@moulon.inra.fr>
- * Makefile.in (probes.stamp): rebuild dtrace dependent objects
- only when `dtrace -G` modifies its input files.
+ * re.c (KR_REHASH): should cast to unsigned for 64bit CPU.
+ [ruby-core:06721]
-Sun Feb 22 17:11:25 2015 Naohisa Goto <ngotogenome@gmail.com>
+Wed Nov 23 11:01:33 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * common.mk (ruby-glommed.o): dependency on $(OBJ) should be written
- in common.mk (in which OBJ is defined) because of Makefile include
- and parse order. This partly reverts r49419.
- [ruby-dev:48849] [Bug #10808]
+ * intern.h, file.c: failed to compile on windows.
- * Makefile.in (ruby-glommed.o): ditto.
+Wed Nov 23 07:26:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because
- it is included in $(OBJS) since r49451.
+ * ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.
- * Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS)
+ * ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use
+ OPENSSL_malloc to allocate X509V3_CTX.
-Sun Feb 22 02:16:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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).
- * file.c (rb_file_identical_p): fix handle leak, ensure to close
- the handle of the first argument.
+ * test/openssl/test_x509ext.rb: new file.
-Sat Feb 21 13:48:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 23 01:22:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (different_device_p): compare by volume serial
- numbers, not by path names. [ruby-core:68162] [Bug #10865]
+ * file.c (test_identical): test if two files are identical.
-Sat Feb 21 13:48:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c (rb_f_test): support DOSISH systems where st_ino is not
+ reliable. fixed: [ruby-core:06672]
- * win32/win32.c (wrename): return EXDEV if moving a directory to
- another drive, since MoveFileExW does not set proper error code.
- [ruby-core:68162] [Bug #10865]
+ * win32.h, win32.c (rb_w32_osid): check the running platform.
-Sat Feb 21 12:46:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 22 23:52:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/file.c (rb_file_expand_path_internal): neither the drive
- of base directory nor the current drive are involved in the
- result if different than the drive of path.
- [ruby-core:68130] [Bug #10858]
+ * lib/optparse.rb: match incomplete (in current enconding) multibyte
+ string. http://inamode6.tokuhirom.dnsalias.org/show/1551
-Sat Feb 21 12:46:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 22 18:36:11 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * win32/file.c (rb_file_expand_path_internal): do not make invalid
- (or ADS) path if the path has a drive letter, the result also
- should have be under it. [ruby-core:68130] [Bug #10858]
+ * win32/win32.c (winnt_stat): set mapped errno instead of ENOENT.
-Sat Feb 21 12:45:54 2015 Matt Hoyle <matt@deployable.co>
+Tue Nov 22 14:46:57 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt'
- to 'exponent'. [ruby-core:67980] [Bug #10823] [Fix GH-825]
+ * file.c (rb_file_s_basename): skip slashes just after UNC top slashes.
-Fri Feb 20 17:47:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_path.rb (test_dirname, test_basename): follow new
+ spec. and add new tests.
- * vm_core.h (rb_call_info_kw_arg_struct): make keywords a symbols
- list to get rid of inadvertent creation by variable keyword
- arguments. [ruby-core:68031] [Bug #10831]
+Tue Nov 22 13:18:32 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Feb 20 15:08:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * dir.c (has_magic): always get long path name on Windows even if
- no tilde is there. [ruby-core:68011] [Bug #10819]
+Tue Nov 22 02:31:53 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * dir.c (replace_real_basename): FindFirstFile ignore redirection
- character, check if exists before call it. cf. [Bug #8597]
+ * ext/tk/lib/tkextlib/tile.rb: bug fix (Tk::Tile::USE_TTK_NAMESPACE
+ is not defined).
-Fri Feb 20 15:08:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 22 01:45:21 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (glob_helper): obtain real name with FindFirstFile API
- instead of matchin all entries, on Windows.
- [ruby-core:67954] [Bug #10819]
+ * file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but
+ DOSISH is not. fixed: [ruby-dev:27797]
-Fri Feb 20 14:32:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Nov 21 22:50:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (dir_initialize): workaround of opendir failure at symlink
- directories on Windows via CIFS.
+ * file.c (rb_path_skip_prefix, rb_file_s_basename): UNC without path
+ should not be splitted. fixed: [ruby-dev:27776] [ruby-dev:27786]
-Thu Feb 19 17:05:47 2015 Shugo Maeda <shugo@ruby-lang.org>
+ * parse.y (dsym): prohibit empty symbol literal by interpolation.
+ fixed: [ruby-talk:166529]
- * class.c (rb_obj_singleton_methods): should use RTEST() to convert
- VALUE to int.
+Mon Nov 21 16:03:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 19 16:14:04 2015 Shugo Maeda <shugo@ruby-lang.org>
+ * win32/setup.mk: findstr doesn't exist on win9x.
+ fixed: [ruby-dev:27756]
- * class.c (method_entry_i, class_instance_method_list,
- rb_obj_singleton_methods): should not include methods of
- superclasses if recur is false. [ruby-dev:48854] [Bug #10826]
+Sun Nov 20 22:34:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 19 16:14:04 2015 Shugo Maeda <shugo@ruby-lang.org>
+ * parse.y (rb_symname_p): [ not followed by ] is not valid symbol.
+ fixed: [ruby-talk:166520]
- * vm_method.c (remove_method): When remove refined
- method, raise a NameError if the method is not
- defined in refined class.
+Sat Nov 19 19:57:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- But if the method is defined in refined class,
- it should keep refined method and remove original
- method.
+ * lib/fileutils.rb (FileUtils::ln): ln documentation fix.
+ [ruby-core:06661]
- Patch by Seiei Higa. [ruby-core:67722] [Bug #10765]
+Sat Nov 19 07:34:32 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Feb 19 16:07:03 2015 Seiei Higa <hanachin@gmail.com>
+ * ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8
+ or 1.9).
- * proc.c (rb_obj_singleton_method): Kernel#singleton_method should
- not use refinements, as well as Kernel#method.
- [ruby-core:67603] [Bug #10744]
+ * ext/tk/lib/tkextlib/ICONS/icons.rb: ditto.
-Thu Feb 19 15:32:26 2015 Dave Stevens <dave@crowdlab.com>
+ * ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.
- * string.c (str_make_independent_expand): terminate String when
- moved from heap to embedded. [Fix GH-821].
+Fri Nov 18 17:57:08 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Feb 19 13:35:21 2015 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]
- * ext/sdbm/_sdbm.c: include ruby/ruby.h for PRIdPTRDIFF when a
- macro `DEBUG` is defined. based on the patch by Owen Rodley in
- [ruby-core:67987]. [Bug #10825]
+Fri Nov 18 17:35:09 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Feb 17 18:57:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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/resolv.rb (Resolv::DNS::Resource#==, #hash): elements
- returned by Kernel#instance_variables are Symbols now.
- [ruby-core:68128] [Bug #10857]
+ * ext/tk/lib/remote-tk.rb: add restriction to manipulate.
-Tue Feb 17 15:39:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip)
+ to check manipulability.
- * ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide
- versions of RegDeleteValue and RegDeleteKey.
- [ruby-core:67958] [Bug #10820]
+ * ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces.
-Tue Feb 17 11:50:06 2015 Yusuke Endoh <mame@tsg.ne.jp>
+ * ext/tk/lib/tk/namespace.rb: ditto.
- * string.c (str_discard): does not free for STR_NOFREE string.
- [Bug #10853][ruby-core:68110]
+Fri Nov 18 17:26:06 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * bootstraptest/test_string.rb: test for above.
+ * file.c (rb_file_s_dirname): added checks for some patterns with drive
+ letter. fixed: [ruby-dev:27738]
-Sun Feb 15 13:15:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_path.rb (test_dirname): added tests for above
+ patterns.
- * ext/socket/getaddrinfo.c (get_addr): reject too long hostname to
- get rid of GHOST vulnerability on very old platforms.
+Fri Nov 18 12:18:02 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic
- check for the canonnical name.
+ * win32/win32.h (S_IFIFO): r,w = IO.pipe; r.stat.pipe? now
+ returns true on VisualC++6.
-Sat Feb 14 13:27:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 16 23:24:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_eval.c (send_internal), vm_insnhelper.c (vm_call_opt_send):
- convert String method name into a Symbol, as method_missing
- method expects its first argument to be a Symbol. [Bug #10828]
+ * common.mk (static-ruby): overridable.
- * vm_insnhelper.c (ci_missing_reason): return the reason of method
- missing in call info.
+ * ext/extmk.rb (parse_args): force to link extensions statically only
+ if static is given for extstatic.
- * vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the
- proper missing reason. [Bug #10828]
+ * ext/extmk.rb (RUBY, RUBYW): overridable.
-Sat Feb 14 13:27:41 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Tue Nov 15 23:46:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_insnhelper.c: Fix symbol leak with +send+ [Bug #10828]
+ * lib/find.rb (Find::find): should not ignore symbolic links to
+ non-existing files. [ruby-talk:165866]
-Sat Feb 14 08:53:50 2015 Shugo Maeda <shugo@ruby-lang.org>
+Tue Nov 15 16:23:26 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * class.c (method_entry_i, class_instance_method_list,
- rb_obj_singleton_methods): should not include methods of
- superclasses if recur is false. [ruby-dev:48854] [Bug #10826]
+ * array.c (rb_ary_fill): previous commit disabled this usage:
-Fri Feb 13 13:59:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ a = [0,1,2,3,4,5,6,7,8,9]
+ a.fill {|i| a[i] * 10} #=> [nil, nil, ...., nil]
- * lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of
- interference by modifying global variables in have_devel? method.
- [ruby-core:67962] [Bug #10821]
+ previous commit has the advantage of early garbage collection, but
+ potensially this would break some script. so I reverted behavior.
-Fri Feb 13 03:13:05 2015 Scott Francis <scott.francis@shopify.com>
+Tue Nov 15 16:04:10 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * thread_pthread.c (reserve_stack): fix intermittent SIGBUS on
- Linux, by reserving the stack virtual address space at process
- start up so that it will not clash with the heap space.
- [Fix GH-822]
+ * 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])
-Fri Feb 6 12:05:13 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/ruby/test_array.rb (test_fill): added.
- * thread.c: Improve documentation for Thread#value
- [Bug #10694][ruby-core:67324][ci skip]
+Tue Nov 15 14:39:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Feb 6 12:02:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * array.c (rb_ary_fill): should adjust array length correctly when
+ an array is expanded in the fill process. [ruby-core:06625]
- * ext/fiddle/win32/libffi.mk.tmpl: assemble without directory prefix.
- workaround of a bug of VC12 ml, by unak at [ruby-core:67792].
- [ruby-core:67789] [Bug #10780]
+Mon Nov 14 23:49:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Feb 6 01:03:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c (rb_file_s_readlink): ERANGE will occur only on GPFS.
+ [ruby-dev:27699]
- * marshal.c (w_object, marshal_dump): use indetity tables for
- arbitrary VALUE keys, because of performance of FLONUM.
- [Bug #10761]
+Mon Nov 14 17:36:22 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * marshal.c (obj_alloc_by_klass, marshal_load): ditto.
+ * array.c (rb_ary_first): RDoc update from Daniel Berger
+ <djberg96@yahoo.com>. [ruby-core:06577].
-Fri Feb 6 01:03:38 2015 Eric Wong <e@80x24.org>
+Fri Nov 11 10:31:44 2005 Zach Dennis <zdennis@mktec.com>
- * benchmark/bm_marshal_dump_flo.rb: new benchmark for [Bug #10761]
+ * ext/socket/socket.c: Socket Documentation. [ruby-core:6552]
-Fri Feb 6 01:03:38 2015 Eric Wong <e@80x24.org>
+Fri Nov 11 08:20:56 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * st.c (st_numhash): mix float value for flonum
- * hash.c (rb_any_hash): ditto
- * benchmark/bm_hash_aref_flo.rb: new benchmark
- * benchmark/bm_hash_ident_flo.rb: ditto
- [Bug #10761]
+ * Makefile.in (OUTFLAG): keep trailing spaces. [ruby-dev:27666]
-Thu Feb 5 16:30:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * mkconfig.rb: substitution refereces added.
- * parse.y (gettable_gen): disable warnings of possible reference
- to a local variable defined in a past scope.
- [ruby-core:67162] [Bug #10661]
+Fri Nov 11 07:44:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Mon Jan 26 15:35:16 2015 Seiei Higa <hanachin@gmail.com>
+ * configure.in: undef HAVE_LINK on BeOS. (link(2) always returns
+ EINVAL, and this causes error in test/fileutils.)
- * vm_method.c (check_definition): Module#public_method_defined?,
- Module#private_method_defined?, Module#protected_method_defined?
- should not use refinements. [ruby-core:67656] [Bug #10753]
+ * 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]
-Thu Jan 22 11:47:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c (rb_file_s_link): checks HAVE_LINK.
- * doc/syntax/literals.rdoc (Symbols): now Symbols created by
- interpolation can be garbage collected. patch by Yihang Ho in
- [ruby-core:67194]. [Bug #10671]
+Tue Nov 8 15:32:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Jan 22 11:45:32 2015 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/drb/ssl.rb (DRb::SSLConfig#accept): fixed typo.
+ [ruby-dev:27560] [ruby-core:4627]
- * eval_intern.h, vm.c, vm_eval.c, vm_insnhelper.c:
- change throw mechanism (not save target ep, but save target cfp).
- It fixes `unexpected break' bug that occurs when
- TracePoint#binding is called.
- [ruby-dev:48797] [Bug #10689]
+Mon Nov 7 13:43:51 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/ruby/test_settracefunc.rb: add a test.
+ * 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.
-Tue Jan 20 14:05:08 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/tk/tcltklib.c: reduce warnings.
- * ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD
- variable is passed by reference. [ruby-dev:48803] [Bug #10697]
+ * ext/tk/tkutil/tkutil.c: ditto.
-Mon Jan 19 15:45:33 2015 Seiei Higa <hanachin@gmail.com>
+Mon Nov 7 00:06:58 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * vm_method.c (rb_method_entry): if no super class, no original
- method entry. [ruby-core:67389] [Bug #10707]
+ * lib/yaml.rb: removed :nodoc: to generate Kernel doc. [ruby-core:6324]
-Mon Jan 19 12:03:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Nov 6 23:39:13 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_dump.c (rb_vm_bugreport): check by configured result instead
- of system name for old FreeBSD. based on a patch by Steve Wills
- at [ruby-core:67655]. [Bug #10752]
+ * ext/iconv/iconv.c (Iconv::BrokenLibrary): exception when detected a
+ bug of underlying library.
-Mon Jan 19 12:00:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Nov 6 21:46:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * configure.in: get rid of pattern substitution, which is not
- supported by ash, and ash on NetBSD parses whole source first
- and fails to start. [ruby-dev:48823] [Bug #10750]
+ * ext/tk/stubs.c (ruby_tcl_create_ip_and_stubs_init): should touch
+ interpreter after initialization is done. [ruby-dev:27638]
-Mon Jan 19 11:57:14 2015 Vit Ondruch <vondruch@redhat.com>
+Sun Nov 6 20:13:27 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (RUBY_SETJMP_TYPE): Remove superfluous semicolon
- which causes a syntax error with autoconf 2.63.
- [ruby-core:67429] [Bug #10716]
+ * file.c (rb_file_s_readlink): readlink(2) on AIX fails with ERANGE if
+ buffer size is less than required. fixed: [ruby-dev:27634]
-Mon Jan 19 11:44:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 2 20:25:28 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/rdoc/text.rb (expand_tabs): get rid of infinite loop with
- CR. should check if substitution occurred too.
- [ruby-dev:48813] [Bug #10732]
+ * ext/tk/extconf.rb: ext/tk/extconf.rb: change the check parameter
+ for Win32.
-Sun Jan 18 00:59:41 2015 Eric Wong <e@80x24.org>
+Wed Nov 2 20:14:53 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * numeric.c (bit_coerce): use original value for error message
- [ruby-core:67405] [Bug #10711]
- * test/ruby/test_numeric.rb (test_coerce): check error message
+ * ext/tcltklib: merge into ext/tk and remove.
-Sun Jan 18 00:53:38 2015 Seiei Higa <hanachin@gmail.com>
+Wed Nov 2 19:03:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_method.c (rb_alias): raise a NameError when creating alias to
- a refined method if the original method of the refined method is
- not defined. [ruby-core:67523] [Bug #10731]
+ * ext/tcltklib/tcltklib.c (ip_rbUpdateObjCmd,
+ ip_rb_threadUpdateObjCmd): passed improper flags to DoOneEvent().
-Sat Jan 17 22:25:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/tkutil.c: use rb_obj_respond_to() instead of rb_respond_to().
- * dir.c (need_normalization): not only HFS+, CIFS (SMB) is also
- decomposed. [Bug #10704]
+Tue Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * dir.c (NORMALIZE_UTF8PATH): Unicode decomposition seems to
- perform in an upper layer than file systems on OSX, as all path
- names are always decomposed regardless of file system types.
+ * eval.c (rb_call_super): should call method_missing if super is
+ called from Kernel method.
-Sat Jan 17 17:56:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (exec_under): frame during eval should preserve external
+ information.
- * parse.y (assocs, assoc): eliminate splatting empty literal
- hashes. [ruby-core:67446] [Bug #10719]
+Tue Nov 1 10:50:17 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * compile.c (compile_array_): supprt splatted hash in hash type.
+ * ext/openssl/extconf.rb: should check ERR_peek_last_error().
+ [ruby-dev:27597]
-Sat Jan 17 16:49:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl.c (ossl_raise): ditto.
- * ext/readline/readline.c (readline_s_refresh_line): initialize
- before rl_refresh_line(), as some function make the internal
- state non-clean but rl_refresh_line() does not re-initialize it.
- [ruby-core:43957] [Bug #6232]
+Mon Oct 31 17:34:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Jan 17 16:47:20 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+ * configure.in: use proper option for Sun linker. A patch from
+ Shinya Kuwamura <kuwa at labs.fujitsu.com>. [ruby-dev:27603]
- * eval_error.c (error_print): pos and len parameters of rb_str_substr()
- are counted by characters, not bytes. use rb_str_subseq() instead.
- [Bug #10727] [ruby-core:67473]
+Mon Oct 31 11:27:22 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Jan 17 16:35:59 2015 Seiei Higa <hanachin@gmail.com>
+ * test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb (test_s_open_error):
+ skip on Win32/DOS platforms.
- * vm_method.c (rb_export_method): bail out if the original method
- is undefined when the method is refined.
- [ruby-core:67387] [Bug #10706]
+Mon Oct 31 05:49:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Jan 17 16:16:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must
+ not be empty. [ruby-talk:161220]
- * dir.c (glob_helper): match in case-folding only if the directory
- resides on a case-insensitve file system, on OSX.
- [ruby-core:67364] [Bug #10700]
+ * test/openssl/test_cipher.rb: add test for Cipher#update("").
-Sat Jan 17 02:04:01 2015 Eric Wong <e@80x24.org>
+Mon Oct 31 05:37:20 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/resolv.rb: consider ENETUNREACH as ResolvTimeout
- [ruby-core:67411] [Bug #10712]
+ * 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]
-Sat Jan 17 01:57:57 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method
+ to parse the value of Set-Cookie: header field.
- * ext/zlib/zlib.c: fix document of method signatures.
- [Bug #10668][ruby-core:67186][ci skip]
+ * test/webrick/test_cookie.rb, test/webrick/test_cgi.rb,
+ test/webrick/webrick.cgi: add some test for cookie.
-Sat Jan 17 01:52:42 2015 Tanaka Akira <akr@fsij.org>
+Mon Oct 31 03:19:36 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * time.c (timelocalw): Set tm_isdst field -1 if vtm->isdst is
- VTM_ISDST_INITVAL. This bug is introduced at packing struct
- vtm (r45155).
- [ruby-core:67345] [Bug #10698] Reported by Boris Ruf.
+ * ext/readline/readline.c (readline_readline): type check.
+ [ruby-core:6089]
-Fri Jan 16 21:17:34 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * numeric.c (fix_rshift): RDoc fix. [ruby-core:6351]
- * test/ruby/test_io.rb: added timeout for AIX environment.
- [ruby-core:62983][Bug #9917]
+ * util.h (strtod): add #undef for platforms defines strtod()
+ macro. [ruby-dev:27563]
-Fri Jan 16 18:25:57 2015 Tanaka Akira <akr@fsij.org>
+Mon Oct 31 02:35:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str
- objects. Label#Str#== is case-insensitive.
+ * test/ruby/test_float.rb (test_precision): test by assert_in_delta.
+ [ruby-dev:27575]
-Fri Jan 16 18:25:57 2015 Ben Miller <bmiller@rackspace.com>
+Sat Oct 29 01:58:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the
- comparison should be case-insensitive as well.
- [ruby-core:66498] [Bug #10550]
+ * ext/etc/etc.c: document update from mathew <meta@pobox.com>.
+ [ruby-core:06473]
-Fri Jan 16 18:25:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/fcntl/fcntl.c: ditto.
- * lib/resolv.rb (Resolv::DNS::Name): names with different dots
- should be different.
+Thu Oct 27 16:45:31 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jan 16 17:34:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (scan_once): wrong condition to use mbclen2().
+ [ruby-dev:27535]
- * parse.y (f_label): return tLABEL value as it is.
- [ruby-core:67315] [Bug #10693]
+Wed Oct 26 09:27:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Jan 16 16:49:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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]
- * lib/net/http.rb (Net::HTTP#send_request): there is no response body
- with HEAD request. Patch by @rodrigosaito [fix GH-520]
+Wed Oct 26 09:04:51 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Jan 16 16:49:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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]
- * test/net/http/test_http.rb (_test_send_request__HEAD): Added
- failing test for send_request with HEAD method.
+Wed Oct 26 01:58:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jan 16 14:56:08 2015 Eric Wong <e@80x24.org>
+ * configure.in (RUBY_EXTERN): macro to export symbols in shared
+ library. [ruby-core:05528]
- * symbol.c (rb_gc_free_dsymbol): delete from global fstr hash
- * test/ruby/test_symbol.rb (test_symbol_fstr_leak): test for bug
- [ruby-core:67268] [Bug #10686]
+ * defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to
+ configuration pass.
-Fri Jan 16 14:20:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions.
- * vm_args.c (keyword_hash_p): fix non-symbol keys hash.
- rb_extract_keywords() returns 0 not Qnil when no symbol keys is
- included.
+Tue Oct 25 15:32:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Jan 16 11:06:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/rational.rb: applied documentation patch from Gavin Sinclair
+ <gsinclair@gmail.com>. [ruby-core:06364]
- * lib/unicode_normalize.rb: typo fix. [ci skip]
- [ruby-dev:48794][misc #10675]
- included. [ruby-core:67264] [Bug #10685]
-Fri Jan 16 11:04:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/irb.rb (IRB::Irb::eval_input): handle prompts with newlines
+ in irb auto-indentation mode. [ruby-core:06358]
- * re.c (unescape_nonascii): append excape sequence as-is not
- unescaped character, to get rid of unexpected meta-character.
- [ruby-core:67193] [Bug #10670]
+Tue Oct 25 02:12:08 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jan 3 21:17:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::LABEL_LIST_RE):
+ reduce redundant backtrack. [ruby-talk:161771]
- * thread.c (rb_thread_variable_get): fix dynamic symbol keys.
- rb_check_id() returns non-zero only for static symbols, whereas
- thread local variable keys can be dynamic symbols.
- [ruby-core:67185] [Bug #10667]
+Tue Oct 25 00:27:35 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Thu Jan 1 08:29:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rinda/*: RDoc documentation from Eric Hodel
+ <drbrain@segment7.net> added.
- * cygwin/GNUmakefile.in (EXTOBJS): override to add resource files
- always. [ruby-core:67153] [Bug #10657]
+Mon Oct 24 21:14:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 31 15:26:46 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in, io.c: use sys/syscall.h if syscall.h is not available.
+ [ruby-core:06247]
- * parse.y (f_kwrest, new_args_tail_gen): unnamed rest keyword and
- keywords bits arguments should be unique. since internal IDs
- depend on the local variable index in the current scope, new ID
- should be made before popping those vtables.
- [ruby-core:67157] [Bug #10659]
+Mon Oct 24 20:49:45 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Dec 31 14:11:58 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/Win32API/lib/win32/resolv.rb (get_info): support multiple DNS.
+ fixed: [ruby-list:40058], [ruby-dev:27479]
- * ext/tk/lib/tkextlib/tcllib/plotchart.rb: fix to invoke correct function
- of tcllib. Patch by @zalt50 [fix GH-787]
+Mon Oct 24 07:57:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 31 13:26:22 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk/canvas.rb (TkCanvasItemConfig::__item_val2ruby_optkeys):
+ typo fixed. [ruby-talk:162187]
- * vm_core.h (rb_vm_living_threads_insert): preserve order
- [Bug #10660] [ruby-core:67154] [ruby-core:67159]
+ * ext/tk/lib/tk/menu.rb (TkMenuEntryConfig::__item_val2ruby_optkeys):
+ ditto. [ruby-core:06359]
-Fri Dec 26 15:42:27 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Oct 23 21:50:15 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable.
- [Bug #10647] [ruby-dev:48787]
+ * ext/enumerator/enumerator.c: applied documentation patch from
+ James Edward Gray II <james@grayproductions.net>.
+ [ruby-core:06348]
-Thu Dec 25 17:42:01 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 23 07:11:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/io/console/console.c (console_dev): send the given arguments
- to the opened console. as a special case, do nothing if :close
- is given.
+ * ext/tcltklib/extconf.rb: improve messages [ruby-core:06325].
- * test/lib/leakchecker.rb (LeakChecker#check_fd_leak): close if
- console.
+ * 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.
-Thu Dec 25 17:37:47 2014 Naohisa Goto <ngotogenome@gmail.com>
+ * ext/tk/lib/tkextlib/*: ditto.
- * gc.c (wmap_final_func): fix memory size shortage when realloc wmap.
- Fix SEGV during finilize of WeakRef on Solaris (though the SEGV
- could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646]
+ * ext/tk/lib/tkextlib/*: update to support ActiveTcl8.4.11.2.
-Thu Dec 25 17:31:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tkextlib/trofs/*: support Trofs 0.4.3.
- * configure.in (NET_LUID): include winsock2.h instead of windows.h.
- patch by Jon Forums in [ruby-core:67125]. [Bug #10640]
+ * ext/tk/lib/tkextlib/tile/*: support Tile 0.7.2.
-Thu Dec 25 16:01:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tkextlib/vu/*: support vu 2.3.0.
- * file.c (rb_file_expand_path_internal): drop characters ignored
- by filesystem on Mac OS X.
+ * ext/tk/lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3).
-Thu Dec 25 15:36:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 22 23:54:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (replace_real_basename): get the real name and replace the
- base name with it by getattrlist(2) if available.
- suggested by Matthew Draper at [ruby-core:67116]. [Bug #10015]
+ * ext/extmk.rb, lib/mkmf.rb (with_config): support --with-extension
+ options. [ruby-dev:27449]
- * dir.c (glob_helper): get the real name of the whole path, not
- only the last name.
+Sat Oct 22 13:26:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Dec 25 13:59:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check
+ if valid as a symbol name more strictly. [ruby-dev:27478]
- * configure.in (NET_LUID): include also ifdef.h as a workaround of
- a bug in mingw-w64 header. [ruby-core:67103] [Bug #10640]
+ * test/ruby/test_symbol.rb: tests for [ruby-core:03573].
-Thu Dec 25 12:47:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * time.c (rb_strftime): removed meaningless volatile modifiers, and
+ concatenate successive nul characters at once. [ruby-dev:27472]
- * parse.y (gettable_gen): warn possible reference to a local
- variable defined in a past scope.
+Fri Oct 21 19:21:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Dec 25 10:09:14 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * rubysig.h (CHECK_INTS): fixed typo. (I believe bit-or is improper)
- * ext/io/console/console.c (console_dev): id_console is not a
- constant name, use rb_const_remove() to get rid of NameError.
+Fri Oct 21 17:49:32 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Dec 25 09:18:55 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * bin/erb (ERB::Main::run): typo fixed. [ruby-core:06337]
- * test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):
- set timeout for recvfrom because if client thread is crashed, it
- waits infinity.
+Fri Oct 21 15:27:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Dec 25 08:42:11 2014 Eric Wong <e@80x24.org>
+ * 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]
- * lib/uri/generic.rb (split_userinfo): fstring for 1-byte split
- (set_port): reduce bytecode size
- (check_path): reduce garbage via opt_str_freeze
- (query=): ditto
- (fragment=): ditto
- [misc #10628]
- * lib/uri/rfc3986_parser.rb (regexp): cache as attr
- (initialize): setup and freeze regexp attr once
- (split): reduce bytecode size, use opt_str_freeze
- (parse): minor bytecode and garbage reduction
- (default_regexp): rename for initialize
+ * time.c: should use LONG_LONG instead of `long long'.
-Wed Dec 24 20:38:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 20 09:37:15 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * dir.c (glob_make_pattern): restrict searching case-insensitive
- name from the filesystem to only last part, for the performance.
- [ruby-core:63591] [Bug #10015]
+ * lib/mkmf.rb (create_makefile): Borland make seems not to allow
+ empty dependency list. If this change is not good, please correct
+ it.
-Wed Dec 24 18:21:27 2014 Koichi Sasada <ko1@atdot.net>
+Thu Oct 20 07:55:09 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c: remove unused rb_objspace_t::rgengc::old_objects_at_gc_start.
+ * lib/mkmf.rb (create_makefile): get rid of a restriction
+ of Borland make. fixed: [ruby-dev:27460]
-Wed Dec 24 13:25:22 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Oct 20 00:13:18 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * tool/redmine-backporter.rb: require view_changesets permission.
+ * rubysig.h (CHECK_INTS): fix typo.
-Wed Dec 24 13:00:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 19 23:58:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/downloader.rb (Downloader.download): fix the exception to
- re-raise. initialize methods of subclasses of Exception may
- have different parameters. [ruby-core:67086] [Bug #10639]
+ * lib/mkmf.rb (create_makefile): do not create unnecessary empty
+ directories. fixed: [ruby-dev:27451]
-Wed Dec 24 12:16:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 19 19:26:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ruby.h (rb_data_type_t): revert r48647 and revise parent member.
- [ruby-core:66969] [Bug #10621]
+ * parse.y (rb_gc_mark_parser): get rid of segfault with old yacc.
+ fixed: [ruby-dev:27439]
-Wed Dec 24 05:40:52 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Oct 19 08:28:32 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/downloader.rb: use config.guess in gcc repo.
+ * file.c (rb_file_join): elements may contain null pointer strings.
+ report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]
-Wed Dec 24 11:50:19 2014 Koichi Sasada <ko1@atdot.net>
+Wed Oct 19 02:34:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (rb_hash_delete): return Qnil if there are no corresponding
- entry. [Bug #10623]
+ * eval.c, gc.c, time.c: made internal symbols static. [ruby-dev:27435]
- * hash.c (rb_hash_delete_entry): try delete and return Qundef if there
- are no corresponding entry.
+Wed Oct 19 01:27:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * internal.h: add rb_hash_delete_entry()'s declaration.
+ * regex.c (re_compile_pattern): numeric literal inside character class
+ disabled succeeding backtrack. fixed: [ruby-list:41328]
- * symbol.c: use rb_hash_delete_entry().
+Mon Oct 17 21:18:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * thread.c: use rb_hash_delete_entry().
+ * parse.y (parser_heap): byacc never free parser stack.
+ fixed: [ruby-dev:27428]
- * ext/-test-/hash/delete.c: use rb_hash_delete_entry().
+Mon Oct 17 16:04:47 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Dec 24 09:35:11 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * file.c (chmod_internal, lchmod_internal): fixed type of 2nd argument.
- * ext/fiddle/extconf.rb: remove ffitarget.h generated by configure on
- mswin, because it's not normal file (cygwin's symlink) and have
- system attribute.
+Sun Oct 16 22:16:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 24 05:40:52 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/extmk.rb: omit non-existing directories.
- * tool/downloader.rb: support ruby 1.8.
+Sun Oct 16 14:30:05 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Dec 24 02:44:06 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/rinda/rinda.rb (Rinda::Tuple#initialize): check remote hash
+ tuple. fixed: [ruby-list:41227]
- * lib/net/http/response.rb (Net::HTTPResponse): require one or more
- spaces [Bug #10591].
- by leriksen <leif.eriksen.au@gmail.com>
- https://github.com/ruby/ruby/pull/782 fix GH-782
- NOTE: graph.facebook.com returns without SP Reason-Phrase.
+ * test/rinda/test_rinda.rb: test it.
-Wed Dec 24 02:12:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 16 03:38:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/make-snapshot (package): VCS#branch_list expects glob a
- pattern string but not a regexp. based on the patch by Vit
- Ondruch. in [ruby-core:67064]. [Bug #10636]
+ * rubysig.h (CHECK_INTS): prevent signal handler to run during
+ critical section. [ruby-core:04039]
- * tool/vcs.rb (VCS::SVN#branch_list): strip newlines.
+ * eval.c (load_wait): need not to call rb_thread_schedule()
+ explicitly. [ruby-core:04039]
- * tool/vcs.rb (VCS::GIT.get_revisions): retrieve modified time
- from toplevel log too.
+ * eval.c (rb_thread_schedule): clear rb_thread_critical.
+ [ruby-core:04039]
- * tool/vcs.rb (VCS::GIT#branch_list): yield for each lines.
+Sat Oct 15 19:56:38 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Dec 24 00:23:13 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * bin/erb: typo fixed, again. thanks, Doug Kearns.
- * tool/extlibs.rb (do_extract): the pipe should be binmode.
+Fri Oct 14 22:08:26 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Dec 24 00:21:44 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * win32/win32.c (ioctl): should set errno.
- * Makefile.in, common.mk: move common-srcs to Makefile.in because
- it breaks build on mswin.
+Fri Oct 14 16:57:32 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Dec 24 00:04:45 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * 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.
- * lib/open-uri.rb (OpenURI.open_http): accept multiple certs path in
- ssl_ca_certs.
+Thu Oct 13 23:29:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * tool/downloader.rb: use certs of rubygems for downloading gems.
+ * parse.y (HEAPCNT): bison allocates indivisible size.
+ fixed: [ruby-core:06261]
-Tue Dec 23 22:39:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c, pack.c, ext/syck/rubyext.c, ext/syck/syck.h, missing/isinf.c:
+ get rid of warnings. fixed: [ruby-core:06247]
- * ext/fiddle/extlibs: libffi-3.2.1 and patch for mswin.
+Wed Oct 12 12:52:57 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Dec 23 22:04:38 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/ossl.c (Init_openssl): should call
+ OpenSSL_add_ssl_algorithms().
- * lib/uri/generic.rb (URI::Generic#query=): don't escape [\]^
- on both rfc2396 and rfc3986. [Bug #10619]
+Wed Oct 12 11:08:54 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Dec 23 16:03:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c (rb_f_test): typo in RDoc comments.
- * ext/win32/lib/win32/registry.rb (Win32::Registry::Error#initialize):
- try en_US message if the default message cannot be encoded to
- locale. [ruby-core:65295] [Bug #10300]
+Tue Oct 11 21:41:58 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 23 11:42:14 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_obj_respond_to): check if obj responds to the given
+ method with the given visibility. [ruby-dev:27408]
- * ext/openssl/ossl_cipher.c (ossl_cipher_update_long): update huge
- data gradually not to exceed INT_MAX. workaround of OpenSSL API
- limitation. [ruby-core:67043] [Bug #10633]
+ * eval.c (rb_respond_to): conform to Object#respond_to?. [ruby-dev:27411]
-Mon Dec 22 21:30:16 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Tue Oct 11 00:01:21 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/win32ole/test_win32ole_event.rb: some tests are
- executed on standard Windows OS without ADO.
+ * st.c (st_free_table): do not call free() but xfree().
+ [ruby-core:06205]
-Mon Dec 22 14:08:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 8 20:04:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * signal.c (received_signal): fix condition to define.
- [ruby-core:67032] [Bug #10629]
+ * eval.c (Init_Binding): add Binding#dup method. [yarv-dev:666]
-Sun Dec 21 10:51:51 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on
+ heap. [ruby-list:41199]
- * test/win32ole/test_win32ole_event.rb: test_s_new_exception is
- executed on standard Windows OS without ADO.
+ * ext/iconv/charset_alias.rb: parse config.charset_alias file directly.
-Sun Dec 21 08:35:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 7 09:54:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in (jemalloc): fix option argument, should use
- `$withval` but not `yes` always. [ruby-core:66994] [Bug #10625]
+ * 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]
- * configure.in (jemalloc): defer adding the liner option to get
- rid of linking contest against jemalloc, so that it works
- without runtime dynamic load path.
+Thu Oct 6 20:12:16 2005 Minero Aoki <aamine@loveruby.net>
-Sat Dec 20 17:49:03 2014 Tanaka Akira <akr@fsij.org>
+ * ext/strscan/strscan.c (strscan_free): remove useless code.
+ [ruby-dev:26368] [ruby-dev:27389]
+ (backported from trunk, rev 1.22)
- * lib/tmpdir.rb (Dir.mktmpdir): Accept nil again, as Ruby 2.1.
- [ruby-core:66943] [Bug #10616] Fixed by Alex Slynko.
+Wed Oct 5 04:42:38 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Dec 20 11:22:58 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/xmlrpc/server.rb (XMLRPC::Server#initialize): should mount the
+ servlet on "/".
- * ext/fiddle/depend, ext/fiddle/extconf.rb: try to build bundled
- libffi if existing.
+Wed Oct 5 03:59:09 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Dec 20 05:21:00 2014 Eric Wong <e@80x24.org>
+ * lib/xmlrpc/server.rb (XMLRPC::Server#serve): delete wrong call
+ of "join".
- * test/test_weakref.rb (test_repeated_object_leak): increase timeout
- [Bug #10618]
+Mon Oct 3 00:04:00 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Fri Dec 19 22:33:13 2014 Tanaka Akira <akr@fsij.org>
+ * pack.c (EXTEND16): [ruby-dev:27383]
- * tool/update-deps: Use $(hdrdir) if possible.
+Thu Sep 29 10:26:18 2005 Tanaka Akira <akr@m17n.org>
-Fri Dec 19 22:10:00 2014 Kenta Murata <mrkn@cookpad.com>
+ * ext/dl/dl.c (rb_io_to_ptr): abolish sizeof(FILE).
+ [ruby-dev:27317]
- * ext/bigdecimal/depend: Fix dependencies to make bigdecimal
- installable by rubygems.
+Thu Sep 29 07:22:05 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.gemspec: version 1.2.6.
+ * evalc. (rb_f_send): underscores need to be escaped.
+ fixed by Doug Kearns. [ruby-core:06053]
-Fri Dec 19 20:00:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 29 00:57:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h (PRIsVALUE): put a space after string
- literals not to be confused with C++11 string literal suffix.
- https://github.com/ruby/ruby/commit/a9f3eb7#commitcomment-9040169
+ * eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when
+ autoload succeeded.
-Fri Dec 19 15:36:02 2014 Simon Genier <simon.genier@shopify.com>
+ * variable.c (rb_autoload_load): now return true if autoload
+ succeeded. fixed: [ruby-dev:27331]
- * hash.c (hash_equal): prefer true than the result of implicit
- conversion from int returned by rb_eql() to VALUE. [Fix GH-789]
+Wed Sep 28 23:42:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Dec 18 17:45:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c (apply2files): add prototype.
- * configure.in (rb_cv_binary_elf): get rid of -e option of cat
- which is not available on BusyBox, use tr instead.
- [ruby-core:64824] [Bug #10210]
+ * file.c (rb_stat_inspect): constified.
-Thu Dec 18 14:25:17 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * 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.
- * signal.c (ruby_signal): since SIGKILL is not supported by MSVCRT,
- should be treated before calling signal(3).
- [Bug #10615]
+Wed Sep 28 23:09:23 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 17 12:20:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/delegate.rb: document update from James Edward Gray II
+ <james@grayproductions.net>. [ruby-core:06027]
- * compile.c (rb_method_for_self_aref, rb_method_for_self_aset):
- move from iseq.c to build from node instead of arrays.
+Wed Sep 28 15:14:19 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Dec 17 10:50:09 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string should
+ refer the value of QUERY_STRING. [ruby-list:41186]
- * test/gdbm/test_gdbm.rb: Added test for each_key called without a block.
- Patch by @joeyates [fix GH-783]
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#query_string=):
+ add new method.
-Wed Dec 17 10:18:42 2014 Koichi Sasada <ko1@atdot.net>
+Wed Sep 28 10:45:44 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * compile.c (iseq_compile_each): check
- iseq->compile_data->option->specialized_instruction for opt_* insn.
+ * ext/tcltklib/tcltklib.c: cannot compile with Tcl/Tk8.0.x
+ [ruby-dev:27335].
- * test/ruby/test_iseq.rb: check no specialized_instructions option.
+Wed Sep 28 08:12:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 17 09:48:57 2014 Eric Wong <e@80x24.org>
+ * io.c (read_buffered_data): check if reached EOF. fixed: [ruby-dev:27334]
- * compile.c (iseq_compile_each): only emit opt_str_freeze,
- opt_aref_with, and opt_aset_with insn when no block is given
- [Bug #10557] [ruby-core:66595]
- * test/ruby/test_optimization.rb (test_block_given_aset_aref):
- new test for bug thanks to Bartosz Kopinski.
- (test_string_freeze): additional assertion for object_id
+Wed Sep 28 07:56:52 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 17 01:06:47 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/yaml/basenode.rb (YAML::BaseNode::match_segment): fix typo.
+ [ruby-dev:27237], [ruby-core:05854]
- * ext/win32/lib/Win32API.rb (Win32API#call): need to splat. hmm, when
- was this broken?
+ * lib/yaml/tag.rb (Module#yaml_as): suppress warnings.
-Tue Dec 16 15:18:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/yaml/types.rb (YAML::PrivateType, YAML::DomainType): ditto.
- * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): call
- accessor functions directly, not to be affected by [] and []=
- methods. [ruby-core:66846] [Bug #10601]
+Wed Sep 28 03:23:35 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * struct.c (define_aref_method, define_aset_method): ditto.
+ * rubysig.h: fixed build problem with --enable-pthread on platforms
+ which don't have setitimer().
- * vm_insnhelper.c (rb_vm_opt_struct_aref, rb_vm_opt_struct_aset):
- direct accessors of Struct.
+Mon Sep 26 22:32:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 16 12:01:29 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (set_trace_func): add rb_secure(4) to prevent adding
+ tracing function.
- * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
- extend timeout seconds to 60 for RGENGC_CHECK_MODE > 0 environment.
+Sun Sep 25 12:05:10 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Tue Dec 16 08:53:12 2014 Eric Wong <e@80x24.org>
+ * bin/erb: typo fixed.
- * tool/vcs.rb: fix Ruby 1.8 compatibility harder
+Sun Sep 25 01:46:43 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 16 07:37:18 2014 Eric Wong <e@80x24.org>
+ * misc/ruby-mode.el (ruby-calculate-indent): arrange deep-indent
+ closing parenthesis at same column as the opening.
- * gc.c (GC_HEAP_FREE_SLOTS): move definition to match use order
- (RUBY_GC_HEAP_GROWTH_SLOTS): s/factor/number of slots/
+Sun Sep 25 00:42:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * man/ruby.1: add section for GC environment variables
- [Feature #10197]
+ * misc/ruby-mode.el (ruby-expr-beg): deal with heredoc separately.
+ fixed: [ruby-list:41168]
-Tue Dec 16 05:41:46 2014 Eric Wong <e@80x24.org>
+ * misc/ruby-mode.el (ruby-calculate-indent): not to deepen indent
+ level for continuous line inside parentheses.
+ http://nabeken.tdiary.net/20050915.html#p02
- * tool/vcs.rb: fix Ruby 1.8 compatibility
+Sun Sep 25 00:18:11 2005 Tanaka Akira <akr@m17n.org>
-Mon Dec 15 17:51:28 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (unknown_node): show more information. [ruby-dev:26196]
- * ext/objspace/objspace.c: ObjectSpace.memsize_of(obj) returns
- with sizeof(RVALUE). [Bug #8984]
+Sat Sep 24 08:56:01 2005 Minero Aoki <aamine@loveruby.net>
- * gc.c (obj_memsize_of): 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]
- * NEWS: add a NEWS entry.
+Sat Sep 24 08:38:07 2005 Minero Aoki <aamine@loveruby.net>
- * test/objspace/test_objspace.rb: catch up this fix.
+ * lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose,
+ DryRun (backported from trunk, rev 1.66). [ruby-core:05954]
- * test/ruby/test_file_exhaustive.rb: ditto.
+ * test/fileutils/test_nowrite.rb: test it.
-Mon Dec 15 16:19:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/fileutils/test_dryrun.rb: new file.
- * string.c (rb_enc_str_coderange): dummy wchar, non-endianness
- encoding string cannot be ascii only.
- [ruby-core:66835] [Bug #10598]
+ * test/fileutils/test_verbose.rb: new file.
-Sun Dec 14 20:11:42 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 24 02:40:20 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * parse.y (primary): restore current_arg so that circular
- reference after a method definition is also warned.
- [ruby-core:61299] [Bug #9593]
+ * lib/delegate.rb: document update from James Edward Gray II
+ <james@grayproductions.net>. [ruby-core:05942]
-Sat Dec 13 20:41:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 22 23:36:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_trace.c (rb_postponed_job_flush): mask signal trap interrupt
- too to defer handling after finalizers finished.
- [ruby-core:66825] [Bug #10595]
+ * lib/mkmf.rb (find_executable0): default path if environment is not
+ set. [ruby-dev:27281]
-Sat Dec 13 18:33:25 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Sep 22 16:33:12 2005 Shugo Maeda <shugo@ruby-lang.org>
- * test/openssl/test_pkey_ec.rb: ignored tests with old OpenSSL.
+ * test/readline/test_readline.rb (TestReadline::replace_stdio):
+ merged the patch of [ruby-dev:25232] instead of [ruby-dev:25223].
-Sat Dec 13 18:01:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 21 23:30:44 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * signal.c (check_stack_overflow): check sp also on i386/x86_64
- FreeBSD.
+ * lib/mkmf.rb (configuration): generalized nmake dependent code.
-Sat Dec 13 09:58:41 2014 Eric Wong <e@80x24.org>
+Wed Sep 21 09:07:55 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (define_final0): avoid duplicate blocks
- [Bug #10537]
- * test/test_weakref.rb (test_repeated_object_leak): new test
+ * stable version 1.8.3 released.
-Sat Dec 13 04:59:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 21 08:52:25 2005 why the lucky stiff <why@ruby-lang.org>
- * bin/erb (ERB::Main#run): get rid of shadowing outer local
- variables. [ruby-core:65772] [Feature #10395]
+ * ext/syck/token.c: correctly compute identation of a block
+ scalar's parent node. [ruby-talk:150620]
-Fri Dec 12 21:56:44 2014 Kouhei Sutou <kou@cozmixng.org>
+Wed Sep 21 08:20:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gems/bundled_gems: Upgrade to test-unit 3.0.8. assert_throw and
- assert_nothing_thrown in test-unit 3.0.7 were broken by
- UncaughtThrowError change introduced in Ruby 2.2.0
- preview2. These assertions in test-unit 3.0.8 work well with
- UncaughtThrowError in Ruby 2.2.0 preview2.
+ * README.EXT, README.EXT.ja: add new features.
-Fri Dec 12 19:48:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 21 07:43:58 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bin/erb (ARGV.switch, ERB::Main#run): allow variables to be set
- from the command line. [ruby-core:65772] [Feature #10395]
+ * lib/optparse.rb (default_argv, Arguable#options): defaults strings
+ to be parsed to Arguable instance.
-Fri Dec 12 19:31:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 21 02:44:09 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/erb.rb (ERB#lineno): accessor for line number to eval.
+ * file.c (path_check_0): disallow sticky world writable directory
+ in PATH (and $LOAD_PATH). [ruby-dev:27226]
- * lib/erb.rb (ERB#location=): setter of file name and line number.
+ * file.c (fpath_check): typo fixed.
-Fri Dec 12 13:09:13 2014 Koichi Sasada <ko1@atdot.net>
+Tue Sep 20 22:29:49 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c (gc_latest_gc_info): return :state field to show current
- GC state (none/marking/sweeping).
- [Feature #10590]
+ * 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.
-Fri Dec 12 10:49:18 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 20 21:26:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_str_crypt): check arguments more strictly.
- * crypt() is not for wide char strings
- * salt bytes should not be NUL
+ * ext/io/wait/lib/nonblock.rb: disable on platforms non-blocking flag
+ is not available. fixed: [ruby-dev:27187]
-Fri Dec 12 08:16:01 2014 Matt Hoyle <matt@deployable.co>
+Tue Sep 20 18:23:04 2005 Tanaka Akira <akr@m17n.org>
- * io.c (io_read) Fix spelling in docco for read. [Fix GH-781]
- try > tries
+ * eval.c (thread_mark): mark th->last_status. [ruby-dev:27179]
-Thu Dec 11 19:06:01 2014 Koichi Sasada <ko1@atdot.net>
+Tue Sep 20 18:20:33 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * class.c (class_alloc): Start from age == 2.
- Class and Module objects can be living long life.
+ * lib/yaml.rb: require 'yaml/constants'. [ruby-core:5776]
- * iseq.c: Same for ISeq objects.
+Tue Sep 20 17:48:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (RVALUE_AGE_RESET): added.
+ * lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): add charset
+ information to content-type header.[ruby-core:5127]
- * gc.c (newobj_of): allow to generate (age != 0) objects.
+ * lib/xmlrpc/server.rb (CGIServer::serve): ditto.
- * gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected
- objects.
+ * lib/xmlrpc/server.rb (ModRubyServer::serve): ditto.
- * include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended
- flag.
+ * lib/xmlrpc/server.rb (WEBrickServlet::service): ditto.
-Thu Dec 11 05:37:52 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Tue Sep 20 17:34:46 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/prime.rb: Remove useless loop and block capture.
- See [#10354]
+ * 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]
-Thu Dec 11 04:27:24 2014 Koichi Sasada <ko1@atdot.net>
+Tue Sep 20 17:10:38 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_core.h: introduce new field
- rb_thread_t::local_storage_recursive_hash_for_trace to store
- recursive hash to avoid creating new recursive (nested) hashes
- for each trace events.
- [Bug #10511]
+ * test/dbm/test_dbm.rb (TestDBM::test_s_open_error): remove
+ test_s_open_error test to detect duplicate open.
+ [ruby-dev:27202]
- * vm_trace.c (rb_threadptr_exec_event_hooks_orig): use it.
+Tue Sep 20 17:08:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * cont.c: catch up this fix.
+ * io.c: PIPE_BUF is not defined on BeOS. use _POSIX_PIPE_BUF instead.
+ [ruby-dev:27185]
- * vm.c (rb_thread_mark): ditto.
+Tue Sep 20 16:53:53 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 10 13:39:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/readline/test_readline.rb (TestReadline::replace_stdio):
+ BSD seek support from [ruby-dev:25223]. fixed: [ruby-dev:27150]
- * struct.c (define_aref_method, define_aset_method): use iseq
- VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD
- makes sense only for local variables. [Feature #10575]
+Tue Sep 20 15:39:40 2005 why the lucky stiff <why@ruby-lang.org>
-Wed Dec 10 09:38:40 2014 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]
- * thread.c (exec_recursive): use the same last method name as
- recursive_push in the error message when recursive_pop failed.
- [ruby-core:66742] [Bug #10579]
+ * ext/syck/emitter.c (syck_emit_scalar): treat typed scalar nodes
+ as complex keys.
-Wed Dec 10 02:48:46 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/syck.h: version 0.60.
- * test/net/http/test_https.rb
- (TestNetHTTPS#test_certificate_verify_failure): on Windows,
- Errno::ECONNRESET will be raised when the verify is failure at the
- client side, and it'll be eaten by WEBrick.
+ * lib/yaml/basenode.rb (YAML::BaseNode#at): transform keys during
+ key searches.
- * test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure):
+ * ext/syck/rubyext.c: loading of binary-typed nodes. prevent
+ emission of plain strings that look like symbols, but which aren't.
+
+Tue Sep 20 05:50:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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.
+
+Tue Sep 20 00:34:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (io_close): call rb_io_close() directly if io is a T_FILE
+ object. [ruby-dev:27156]
+
+Mon Sep 19 19:09:08 2005 Minero Aoki <aamine@loveruby.net>
+
+ * file.c (rb_file_chown): should accept nil. [ruby-dev:27171]
+ (backport from trunk, rev 1.208)
+
+Mon Sep 19 18:35:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/dl/dl.c (rb_io_to_ptr): fix DragonFlyBSD support.
+ [ruby-dev:27151]
+
+Mon Sep 19 14:17:04 2005 Minero Aoki <aamine@loveruby.net>
+
+ * ext/syck/emitter.c (syck_emit): passing an int* value to the
+ long* parameter causes unaligned access on LP64 systems.
+ [ruby-dev:27161]
+
+Mon Sep 19 13:44:03 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c: avoid core dump with WIN32OLE_EVENT.
+ [ruby-dev:27133]
+
+Mon Sep 19 10:36:06 2005 Minero Aoki <aamine@loveruby.net>
+
+ * lib/fileutils.rb (cp_r): default is :dereference_root=>true for
+ backward compatibility. [ruby-dev:27145]
+
+ * test/fileutils/test_fileutils.rb (test_cp_r): test it.
+
+Mon Sep 19 09:57:39 2005 Minero Aoki <aamine@loveruby.net>
+
+ * test/fileutils/test_fileutils.rb: backported from trunk (1.36).
+ (again) [ruby-dev:27145]
+
+Mon Sep 19 07:45:37 2005 GOTOU Yuuzou <gotoyuzo@notwork.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/openssl/ossl_engine.c: (ossl_engine_load_privkey): set private
+ key flag.
+
+Mon Sep 19 06:41:32 2005 Minero Aoki <aamine@loveruby.net>
+
+ * lib/fileutils.rb: backported from trunk (rev 1.65):
+
+ * lib/fileutils.rb (rm_r): new option :secure.
+
+ * lib/fileutils.rb (rm_rf): new option :secure.
+
+ * lib/fileutils.rb: new method #remove_entry_secure.
+
+ * lib/fileutils.rb (cd): remove option :noop.
+
+ * lib/fileutils.rb (cp_r): new option :dereference_root.
+
+ * lib/fileutils.rb (cp_r): new option :dereference_root.
+
+ * lib/fileutils.rb: new method #remove_entry.
+
+ * lib/fileutils.rb: new method #chmod_R.
+
+ * lib/fileutils.rb: new method #chown.
+
+ * lib/fileutils.rb: new method #chown_R.
+
+ * lib/fileutils.rb: new method .commands.
+
+ * lib/fileutils.rb: new method .options.
+
+ * lib/fileutils.rb: new method .have_option?.
+
+ * lib/fileutils.rb: new method .options_of.
+
+ * lib/fileutils.rb: new method .collect_method.
+
+ * lib/fileutils.rb: use module_function instead of single extend.
+
+ * test/fileutils/test_fileutils.rb: backported from trunk (1.36).
+
+Mon Sep 19 03:17:48 2005 Tanaka Akira <akr@m17n.org>
+
+ * file.c (rb_thread_flock): wrap the flock system call by
+ TRAP_BEG/TRAP_END to enable signals. [ruby-dev:27122]
+
+ * 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]
+
+ * 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]
+
+Mon Sep 19 03:02:08 2005 Tanaka Akira <akr@m17n.org>
+
+ * 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.
+
+Sun Sep 18 02:10:47 2005 why the lucky stiff <why@ruby-lang.org>
+
+ * lib/yaml/rubytypes.rb: remove comments that are bungling up
+ the rdoc and ri output. output symbols as plain scalars.
+
+ * ext/syck/rubyext.c (syck_emitter_reset): emit headless
+ documents always.
+
+ * ext/syck/emitter.c (syck_scan_scalar): quote scalars with any
+ kind of surrounding line space, tabs or spaces alike.
+
+ * ext/syck/token.c: accept tabs as whitespace, not for indentation,
+ but strip from plain scalars.
+
+ * test/yaml/test_yaml.rb: remove outdated tests.
+
+Sat Sep 17 23:25:04 2005 sheepman <sheepman@sheepman.sakura.ne.jp>
+
+ * lib/mathn.rb (Rational::inspect): should preserve original
+ operand. [ruby-core:05806]
+
+Sat Sep 17 23:20:27 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/cgi.rb (CGI::Cookie): should handle multiple values for a
+ cookie name. [ruby-talk:156140]
+
+Sat Sep 17 10:42:13 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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).
+
+Sat Sep 17 09:45:26 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_substr): should propagate taintness even for
+ empty strings. [ruby-dev:27121]
+
+ * string.c (rb_str_aref): should infect result if range argument
+ is tainted. [ruby-dev:27121]
+
+Sat Sep 17 08:35:39 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/maker/base.rb (RSS::Maker::ItemsBase#normalize): fixed
+ strange RSS::Maker::Item#max_size behavior.
+ Thanks to Kazuhiko <kazuhiko@fdiary.net>.
+
+ * test/rss/test_maker_1.0.rb (RSS::TestMaker10#test_items): ditto.
+
+Fri Sep 16 23:09:20 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (ole_search_event_at): bug fix
+ in ext/win32ole/sample/ienavi.rb.
+
+ * ext/win32ole/win32ole/tests/testOLEEVENT.rb: ditto.
+
+Fri Sep 16 22:41:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (rb_file_s_extname): empty string for path name ending with a
+ period. fixed: [ruby-core:05651]
+
+ * file.c (rb_file_join): smarter behavior at edge cases.
+ fixed: [ruby-core:05706]
+
+Fri Sep 16 18:34:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Fri Sep 16 14:48:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: fix typo on MultiTkIp#bg_eval_string
+
+Fri Sep 16 12:02:12 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/syck/rubyext.c (syck_resolver_transfer): remove C++ style
+ comment (//). [ruby-core:05793]
+
+Fri Sep 16 00:14:14 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/logger/test_logger.rb: unintentionally overwritten changes by
+ Usa. reverted.
+
+Fri Sep 16 00:06:18 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/cgi.rb (WEBrick::CGI::Socket#initialize): should set
+ $stdout.binmode.
+
+Thu Sep 15 23:25:21 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.5.
+
+ #nnn is a ticket number at http://dev.ctor.org/soap4r
+
+ * SOAP
+
+ * 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(...)
+
+ * let SOAP request XML indent space configuable. see
+ "soap.envelope.no_indent" option. (#130)
+
+ * 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
+
+ * add iso-8859-1 external CES support. (#106)
+
+ * fixed illegal 'qualified' handling of elements. it caused
+ ASP.NET inteoperability problem. (#144)
+
+ * 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)
+
+ * 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)
+
+ * out parameter of rpc operation did not work. (#132)
+
+ * follow HTTP redirect only if using http-access2. (#125) (#145)
+
+ * add a workaround for importing an WSDL whose path begins with
+ drive letter. (#115)
+
+ * WSDL
+
+ * SOAP Data which is defined as a simpletype was not mapped
+ correctly to Ruby obj when using wsdl2ruby.rb generated classdef
+ file. (#123)
+
+ * rpc/literal support. (#118)
+
+ * re-implemented local element qualify/unqualify control. handles
+ elementFormDefault and form in WSDL. (#119)
+
+ * Array of an element which has simpleType causes a crash. (#128)
+
+ * prarmeterOrder may not contain return part so it can be shorter
+ than parts size. Thanks to Hugh. (#139)
+
+ * Samples
+
+ * added !BasicAuth client sample. (#117)
+
+ * added Base64 client/server sample.
+
+ * added Flickr SOAP interface client sample. (#122)
+
+ * added !SalesForce client sample. (#135)
+
+ * updated Thawte CA certificate for !GoogleAdWords sample.
+
+ * updated a client script with the newer version made by Johan.
+ thanks!
+
+ * shortened long file names. (#120)
+
+ * fixed typo in authheader sample. (#129)
+
+ * updated deprecated method usage. (#138)
+
+Thu Sep 15 23:02:57 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/win32.h (rb_w32_stat): added prototype.
+
+Thu Sep 15 22:35:55 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * test/ruby/test_signal.rb (test_exit_action): skip the test using
+ fork on fork-less platforms.
+
+Thu Sep 15 11:39:18 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,
+ TkDialogObj#name raises an exception. [ruby-talk:156109]
+
+Thu Sep 15 01:39:19 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/rinda/tuplespace.rb (Rinda::TemplateEntry::initialize): pull
+ up method. Tabs converted to spaces.
+
+Thu Sep 15 00:18:24 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/net/telnet.rb (Net::Telnet::waitfor): replace sysread with
+ readpartial. [ruby-talk:127641]
+
+Wed Sep 14 22:40:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * dir.c (ruby_glob): glob function not using ruby exception system.
+
+Wed Sep 14 01:26:03 2005 Minero Aoki <aamine@loveruby.net>
+
+ * lib/net/https.rb: backported from trunk, rev 1.3.
+ [ruby-dev:25673] (again), [ruby-dev:26617] (again),
+ [ruby-dev:27062]
+
+ * ext/openssl/lib/net/https.rb: removed.
+
+ * ext/openssl/lib/net/protocols.rb: removed.
+
+ * lib/net/http.rb: #use_ssl?, #use_ssl are moved from net/https.
+
+Tue Sep 13 22:09:40 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * 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.
+
+ * lib/logger.rb (Logger): added VERSION constant.
+
+ * lib/logger.rb: removed document for LogDevice. It is an
+ implementation detail and is not a public interface.
+
+ * test/logger/test_logger.rb: added tests.
+
+Tue Sep 13 21:47:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (BEGIN_CALLARGS): pop halfly pushed status.
+ fixed: [ruby-dev:26881]
+
+Tue Sep 13 16:26:45 2005 Minero Aoki <aamine@loveruby.net>
+
+ * lib/net/http.rb: backported from trunk, rev 1.128.
+ [ruby-dev:25673] [ruby-dev:26617]
+
+ * lib/net/protocol.rb: backported from trunk, rev 1.78.
+
+ * lib/net/protocol.rb: new method #old_open to support net/smtp
+ and net/pop.
+
+ * lib/net/smtp.rb: use #old_open.
+
+ * lib/net/pop.rb: ditto.
+
+Tue Sep 13 12:33:05 2005 why the lucky stiff <why@ruby-lang.org>
+
+ * lib/yaml.rb: reworking YAML::Stream to use the new
+ emitter.
+
+ * lib/yaml/stream.rb: ditto.
+
+ * lib/yaml/rubytypes.rb: added Object#yaml_new.
+
+ * 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.
+
+ * 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.
+
+ * ext/syck/implicit.re: were 'y' and 'n' seriously omitted??
+
+ * 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.)
+
+ * ext/syck/gram.c: headless documents of any kind allowed.
+
+ * 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.
+
+ * ext/syck/syck.h: reflect block_styles and new node functions.
+
+Mon Sep 12 20:53:06 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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
+
+Mon Sep 12 14:03:33 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * test/dbm/test_dbm.rb: remove locking test, which may not be
+ supported on some platforms. [ruby-dev:27030]
+
+Mon Sep 12 10:45:58 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Sun Sep 11 22:05:51 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * bin/erb (ERB::Main#run): set ERB#filename so that it is used
+ when reporting syntax/runtime errors. Tabs converted to spaces.
+
+Sat Sep 10 10:17:03 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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.
+
+ 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
+
+ * ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method
+ OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.
+
+ * ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method
+ OpenSSL::Engine#cmds. it returms engine command definitions.
+
+Sat Sep 10 10:09:47 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_asn1.c (asn1str_to_str): new function.
+
+ * ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.
+ this class wraps PKCS7_RECIP_INFO struct.
+
+ * ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to
+ OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of
+ SignerInfo.)
+
+ * test/openssl/test_pkcs7.rb: new file.
+
+Sat Sep 10 10:05:51 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): assume that
+ the argument is a DER string if Base64 decoding failed.
+
+ * ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.
+
+ * test/openssl/test_ns_spki.rb: add new file.
+
+Sat Sep 10 09:56:24 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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.
+
+ * test/openssl/test_digest.rb: add test for new digests.
+
+Sat Sep 10 09:51:30 2005 GOTOU Yuuzou <gotoyuzo@notwork.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.
+
+ * ext/openssl/ossl.c (ossl_get_errors): new method for debugging
+ this library.
+
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): fix error message.
+
+ * ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid
+ of unused variable.
+
+ * ext/openssl/ossl_x509store.c (ossl_x509store_initialize): should
+ set @time to avoid warning.
+
+ * 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.
+
+ * test/openssl/test_x509store.rb: add test for errors.
+
+Fri Sep 9 22:13:19 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): prohibit calling tainted method (>2) when
+ $SAFE == 0.
+
+Fri Sep 9 16:45:25 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * string.c (rb_str_times): make empty strings to keep taintness,
+ and a little improvement. [ruby-dev:26900]
+
+ * ext/iconv/iconv.c (iconv_try), ext/iconv/extconf.rb: get rid of meta
+ characters in command line option. fixed: [ruby-talk:155369]
+
+Thu Sep 8 14:58:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * merged a patch from Takahiro Kambe <taca at back-street.net> to
+ support DragonFly BSD. [ruby-dev:26984]
+
+Wed Sep 7 12:55:08 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/open-uri.rb: abolish mod === tempfile to avoid a problem
+ [ruby-dev:26967].
+
+Wed Sep 7 10:45:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_thread_switch): convert all exceptions to
+ SystemExit. fixed: [ruby-core:05724]
+
+ * eval.c (rb_thread_terminated): show backtrace before propagate
+ exceptions to main thread.
+
+Wed Sep 7 08:35:04 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load
+ extension libraries.
+
+ * bignum.c (bignew_1, bigadd): K&R style argument actually can't be
+ defined as char.
+
+ * missing/vsnprintf.c: ANSI compiler supports const keyword.
+
+ * ext/digest/sha2/extconf.rb: reject platforms which has inttypes.h
+ but no 64bit integer.
+
+ * lib/mkmf.rb (what_type?): guesstimate type.
+
+ * ext/etc/etc.c (setup_passwd), ext/etc/extconf.rb: pw_age might be
+ char*. fixed: [ruby-core:05470]
+
+Wed Sep 7 08:32:47 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+ * sprintf.c (rb_f_sprintf): warn "too many argument" on verbose
+ mode (-v/-w); backported from 1.9. [ruby-dev:26963]
+
+Mon Sep 5 17:03:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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]
+
+Mon Sep 5 07:01:12 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/openssl/lib/openssl/buffering.rb (Buffering#do_write):
+ should clear data from the buffer which already been output.
+
+Fri Sep 2 23:51:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib: do not use __send__ to access private methods. [ruby-dev:26935]
+
+Fri Sep 2 03:29:00 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
+
+ * lib/irb/init.rb: make IRB -I option that is same befavior for ruby.
+ [ruby-dev:26872], [ruby-dev: 26920]
+
+ * lib/irb/locale.rb: support to print help message when OS locale is
+ ja_JP.utf-8. [ruby-dev:26872]
+
+Thu Sep 1 17:11:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): wrong condition for $SAFE restoration.
+
+Thu Sep 1 14:12:45 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't
+ work (gives wrong order of arguments).
+
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace
+ to support '-namespace' option of 'interp invokehidden' command
+ on Tcl8.5.
+
+Wed Aug 31 14:43:15 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/Makefile.sub (OPTFLAGS): default global optimization to
+ disabled for all VC++ versions. fixed: [ruby-dev:26897]
+
+Wed Aug 31 11:35:43 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * test/gdbm/test_gdbm.rb (teardown): should remove GDBM temporary
+ file.
+
+Wed Aug 31 10:30:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * process.c (proc_detach, proc_setmaxgroups): missing argument type
+ declaration. (I recommend ANSI-style function)
+
+Tue Aug 30 23:20:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_rescue2): initialization miss. fixed: [ruby-dev:26917]
+
+ * lib/mkmf.rb (xsystem, xpopen): no longer expand by Config.
+
+ * lib/mkmf.rb (link_command, cc_command, cpp_command): expand
+ variables at once, and quote hdrdir. fixed: [ruby-core:05680]
+
+ * lib/mkmf.rb (libpathflag): quote paths.
+
+Tue Aug 30 19:34:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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]
+
+Mon Aug 29 19:54:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * lib/rdoc/usage.rb: improper exceptions. [ruby-dev:26870]
+
+ * lib/rdoc/usage.rb: support the case when non-ruby code exists before
+ shebang. (this is needed when ri.bat is executed on windows)
+
+Mon Aug 29 17:48:17 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (method_arity): should return proper arity value.
+ [ruby-dev:26390]
+
+Mon Aug 29 01:19:57 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/time.rb (Time.parse): extract fractional seconds using
+ Date._parse. [ruby-talk:153859]
+
+Sat Aug 27 20:20:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/curses/curses.c ({curses,window}_clrtoeol): added. suggested
+ by Reyn Vlietstra.
+
+ * ext/curses/curses.c: chtype in curses is not `char', rahter `long'.
+ [ruby-Bugs:2298]
+
+ * ext/curses/view.rb: String =~ String is deprecated.
+
+Wed Aug 24 10:53:28 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * test/logger/test_logger.rb (test_shifting_size): should close log
+ device before unlink, since some platform cannot unlink opened
+ file.
+
+Sun Aug 21 00:13:27 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * 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]
+
+Sat Aug 20 22:37:13 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * lib/logger.rb (write, shift_log?, shift_log): file shifting race
+ condition bug fixed. [ruby-dev:26764]
+
+ * test/logger/test_logger.rb: tests.
+
+Fri Aug 19 18:13:39 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/time.rb (Time.apply_offset): fix a problem with last day of
+ month. reported by Lucas Nussbaum. [ruby-talk:152866]
+
+Thu Aug 18 12:46:28 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * bcc32/Makefile.sub (COMMON_HEADERS): reverted 1.42.2.24.
+ I misunderstood, bccwin32 on ruby_1_8 uses winsock2 originally.
+ [ruby-dev:26806]
+
+ * win32/win32.h: include winsock2.h instead of winsock.h. (bcc32)
+
+Wed Aug 17 23:58:05 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * object.c (rb_to_integer): argument constified.
+
+ * eval.c (terminate_process): take String message.
+
+ * eval.c (rb_thread_switch): propagate the exception caused thread
+ termination directly. fixed: [ruby-core:05552]
+
+Wed Aug 17 00:05:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_add_method): preserve safe level in the environment
+ where a method is defined .
+
+ * eval.c (rb_call0): restore preserved safe level in the method
+ execution.
+
+Mon Aug 15 00:38:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE.
+ [ruby-dev:26800]
+
+ * range.c (range_check, range_init): reduce useless exceptions.
+
+Sat Aug 13 18:51:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_block_pass): distinguish current block from others.
+ fixed: [ruby-dev:26274]
+
+ * ext/stringio/stringio.c (strio_set_string): disallow nil.
+ http://www.rubyist.net/~nobu/t/20050811.html#c05
+
+Thu Aug 11 23:29:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/stringio/stringio.c: keep holding string after closed.
+
+Thu Aug 11 13:01:48 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss: fixed sort bug. [ruby-list:41018]
+
+ * lib/rss/1.0.rb (RSS::RDF::Channel#setup_maker_attributes):
+ removed self.
+
+ * lib/rss/maker/base.rb (RSS::Maker::ItemsBase#<=>): use #date
+ instead of @date.
+ (RSS::Maker::Base::self.def_array_element): added #size.
+
+ * 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.
+
+ * lib/rss/maker/dublincore.rb
+ (RSS::Maker::ChannelBase, RSS::Maker::ItemsBase::ItemBase):
+ fixed opposite alias.
+
+ * test/rss/test_setup_maker_1.0.rb
+ (RSS::TestSetupMaker10::test_setup_maker_items_sort): added some
+ tests for RSS::Maker::ItemsBase#do_sort.
+
+Wed Aug 10 10:29:40 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb: fix bug on handling __ruby2val_optkeys().
+
+ * ext/tk/lib/tk/itemconfig.rb: fix bug on handling
+ __item_ruby2val_optkeys().
+
+ * ext/tk/lib/tk/canvas.rb: didn't check __item_ruby2val_optkeys().
+
+ * ext/tk/lib/tkextlib/blt/component.rb: ditto.
+
+Tue Aug 9 15:12:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c: remove dangerous 'rb_jump_tag's.
+
+ * ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to
+ help to convert option values between ruby and tcl.
+
+ * ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and
+ __item_ruby2val_optkeys to help to convert option values between
+ ruby and tcl.
+
+ * ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'
+ option (for the reason of backward compatibility).
+
+ * ext/tk/lib/tk/composite.rb: clarify the arguments of super().
+
+ * ext/tk/lib/tk/spinbox.rb: ditto.
+
+ * ext/tk/lib/tk/text.rb: ditto.
+
+ * ext/tk/lib/tk/validation.rb: ditto.
+
+ * ext/tk/lib/tkextlib/*: support to treat tkvariable-type
+ configure options.
+
+Tue Aug 9 20:30:19 2005 Tadashi Saito <shiba@mail2.accsnet.ne.jp>
+
+ * bignum.c (rb_big_coerce): allow bignum x bignum coercing.
+ [ruby-dev:26778]
+
+Mon Aug 8 20:43:02 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/ruby/test_method.rb: added. [ruby-dev:26761]
+
+Sun Aug 7 23:50:14 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * test/ruby/test_super.rb: added from HEAD. [ruby-dev:26743]
+
+Sun Aug 7 01:31:15 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (WIN32OLE_EVENT#on_event): should set
+ only one event handler.
+
+ * ext/win32ole/tests/testOLEEVENT.rb: ditto.
+
+ * ext/win32ole/tests/testOLEPARAM.rb: remove re-defined
+ test_ole_type_detail method.
+
+Sat Aug 6 12:35:24 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/{tk.rb,tk/itemconfig.rb}: configure creates
+ TkVariable if key name is 'variable' or 'textvariable'
+ by default. [ruby-dev:26749]
+
+ * ext/tk/lib/tk/{label,radiobutton}.rb: removed its own
+ {variable,textvariable} function.
+
+ * ext/tk/lib/tk/variable.rb: retains backward conpatibility.
+
+Fri Aug 5 12:50:32 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c: fixed memory leak when tk_funcall raised
+ exception. (copies argv into heap in tk_funcall instead of
+ caller)
+
+Fri Aug 5 12:42:57 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/mkmf.rb (create_makefile): need to convert path separetor
+ before invoking install command.
+
+Fri Aug 5 00:27:04 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c: refactoring - extract ruby string <->
+ tcl object conversion as get_str_from_obj and get_obj_from_str.
+
+Fri Aug 5 00:19:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * extmk.rb (extmake): needs to be wrapped in an Array.
+
+Thu Aug 4 18:38:36 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c: cannot compile for Tcl7.6/Tk4.2.
+
+ * ext/tcltklib/tcltklib.c: add nativethread consistency check.
+
+ * ext/tcltklib/stubs.c: ditto.
+
+ * ext/tk/lib/tk.rb: forgot to define TclTkIp.encoding and encoding=
+ when Tcl is 7.6 or 8.0.
+
+ * ext/tk/lib/tk/wm.rb: support to make some methods as options of
+ root or toplevel widget. [ruby-talk:150336]
+
+ * ext/tk/lib/tk/root.rb: ditto.
+
+ * ext/tk/lib/tk/toplevel.rb: ditto.
+
+ * ext/tk/lib/tkextlib/SUPPRT_STATUS: update RELEASE_DATE
+
+Thu Aug 4 08:03:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): should not modify $mflags for each
+ extentions.
+
+Thu Aug 4 00:25:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated
+ macro definitions.
+
+ * bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.
+
+ * {win32,wince}/Makefile.sub: separate config.h for compiler versions.
+
+Wed Aug 3 21:59:16 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/variable.rb: TkVariable#trace didn't work on
+ TkVariable retrived from TkVariable.new_hash.ref. [ruby-dev:26721]
+
+Wed Aug 3 08:22:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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>
+
+ * ext/tcltklib/tcltklib.c: use Tcl_[GS]etVar2Ex instead of
+ Tcl_Obj[GS]etVar2. (avoid Tcl_NewStringObj on supported platforms)
+
+ * ext/tcltklib/tcltklib.c: use ip_{get,set,unset}_variable2_core from
+ ip_{get,set,unset}_variable.
+
+ * ext/tcltklib/tcltklib.c: replaced Tcl_Panic with rb_bug.
+
+Tue Aug 2 01:41:28 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/ping.rb (Ping.pingecho): should rescue StandardError.
+ [ruby-dev:26677]
+
+Mon Aug 1 19:09:41 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c: refactoring - replaced rb_ivar_defined &
+ rb_ivar_get with single rb_attr_get call.
+
+Mon Aug 1 18:45:07 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c (Tcl_GetStringResult): refactoring - define
+ alternative macro on Tcl7.x or earlier.
+
+Mon Aug 1 13:57:35 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c (deleted_ip): refactoring - interpreter
+ deletion check. [ruby-dev:26664]
+
+Mon Aug 1 01:17:40 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/drb.rb (check_insecure_method): use private_methods and
+ protected_methods instead of respond_to? to check method visibility.
+ [ruby-dev:26616]
+
+ * test/drb/drbtest.rb: ditto.
+
+ * test/drb/ut_drb.rb: ditto.
+
+Mon Aug 1 00:07:32 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
+ * lib/irb/context.rb: fix `irb --readline` option. [ruby-list:40955]
+
+Fri Jul 29 09:59:38 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_yield_0): push yielded node instead of yielding.
+ fixed: [yarv-dev:549]
+
+Thu Jul 28 18:09:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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.
+
+ * ext/tcltklib/stubs.h: New file. Define prototypes and return
+ codes of functions on stubs.c.
+
+ * ext/tcltklib/tcltklib.c: Support delaying initalization of
+ Tk_Stubs until the script needs Tk.
+
+ * ext/tcltklib/tcltklib.c: Show friendly error messages for errors
+ on initialization.
+
+ * 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.)
+
+ * ext/tk/tkutil.c (ary2list, ary2list2): bug fix on handling of
+ encoding.
+
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string
+ don't work propery.
+
+ * 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.
+
+Wed Jul 27 23:23:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * gc.c (obj_free): make message format consistent with one from
+ gc_mark(). [ruby-talk:149668]
+
+Wed Jul 27 22:11:37 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * sample/rss/tdiary_plugin: removed. because the plugin
+ is imported in the tDiary plugin packages.
+
+Wed Jul 27 10:59:02 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * dir.c (dir_each): rewinddir(3) before iteration.
+ [ruby-talk:149628]
+
+Tue Jul 26 12:57:49 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/openssl_missin.c: include <openssl/engine.h> before
+ <openssl/x509_vfy.h> to avoid compilation error of mswin32.
+ suggested by NAKAMURA Usaku.
+
+Mon Jul 25 21:30:46 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * {bcc32,win32,wince}/Makefile.sub: moved CPPFLAGS only for ruby
+ source to XCFLAGS.
+
+Mon Jul 25 13:45:18 2005 NAJIMA Hiroki <najima@mickey.ai.kyutech.ac.jp>
+
+ * io.c: check HAVE_SYS_IOCTL_H before including the header.
+ [ruby-dev:26610]
+
+Mon Jul 25 14:10:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/multi-tk.rb: fix en-bugged part in the last commit.
+
+Sat Jul 23 16:49:04 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_engine.c (ossl_engine_s_load): should check
+ OPENSSL_NO_STATIC_ENGINE.
+
+Fri Jul 22 21:06:08 2005 Tadashi Saito <shiba@mail2.accsnet.ne.jp>
+
+ * bignum.c (rb_big_eq): reduce isnan(). [ruby-dev:26600]
+
+ * numeric.c (flo_eq, flo_gt, flo_ge, flo_lt, flo_le): ditto.
+
+Fri Jul 22 15:02:39 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb: moved copyright description to lib/rss.rb.
+
+ * lib/rss.rb: added for convenience.
+
+ * sample/rss/re_read.rb: added #to_s sample.
+
+ * 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.
+
+ * sample/rss/tdiary-plugin/rss-recent.rb: 0.0.6 -> 0.0.7.
+
+Fri Jul 22 14:37:43 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/parser.rb (RSS::Parser#initialize): accept HTTP/FTP
+ URI and local file path too.
+
+ * test/rss/test_parser.rb (RSS::TestParser#test_parse): test
+ for the above.
+
+Fri Jul 22 07:01:42 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tkutil.c (tk_conv_args): forget to revert thread_critical
+ and gc_disable when raise ArgumentError.
+
+ * ext/tk/lib/remote-tk.rb: RemoteTkIp doesn't need to include TkUtil.
+
+ * ext/tcltklib/tcltklib.c: add TclTkIp#has_mainwindow? method.
+
+ * ext/tk/lib/tk.rb: add Tk.has_mainwindow? method.
+
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp#has_mainwindow? method.
+
+ * ext/tk/lib/remote-tk.rb: add RemoteTkIp#has_mainwindow? method.
+
+ * ext/tk/lib/multi-tk.rb: slave IP fail to exit itself when $SAFE==4.
+
+ * ext/tk/lib/multi-tk.rb: remove constants from MultiTkIp module to
+ avoid access from external.
+
+ * ext/tk/lib/multi-tk.rb: check_root flag is ignored on slave IPs'
+ mainloop.
+
+ * ext/tk/lib/multi-tk.rb: hang-up Tk.mainloop called on a slave IP
+ with $SAFE==4.
+
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#bg_eval_proc doesn't work
+ properly.
+
+ * 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.
+
+ * 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.
+
+ * ext/tk/lib/multi-tk.rb: fail to control a slave IP when Tk.mainloop
+ runs on the IP.
+
+Wed Jul 20 19:20:37 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * io.c (S_ISREG): need to define S_ISREG before it is used first.
+
+Wed Jul 20 18:40:50 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * 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]
+
+Wed Jul 20 18:07:11 2005 Tanaka Akira <akr@m17n.org>
+
+ * io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT
+ by F_SETFL.
+
+Wed Jul 20 10:04:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * variable.c (rb_class_path): need to adjust snprintf() len for
+ teminating NUL. [ruby-dev:26581]
+
+Wed Jul 20 04:01:55 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/socket/socket.c: sorry, BeOS also uses HAVE_CLOSESOCKET,
+ so reverted.
+
+ * ext/socket/extconf.rb: should not define HAVE_CLOSESOCKET
+ on windows.
+
+Wed Jul 20 03:16:43 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/socket/socket.c: should not undef close() on win32.
+ it's defined to rb_w32_close(), otherwise handle leaks.
+ [ruby-Bugs-2131]
+
+Wed Jul 20 00:48:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * error.c (syserr_initialize): don't use str before StringValue()
+ check. [ruby-dev:26579]
+
+Tue Jul 19 22:47:29 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * error.c (syserr_initialize): add 1 byte for snprintf() size for
+ NUL at the end. [ruby-dev:26574]
+
+Tue Jul 19 16:39:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (rb_io_inspect): replace sprintf() with "%s" format all
+ over the place by snprintf() to avoid integer overflow.
+
+Tue Jul 19 14:08:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c: rbtk_eventloop_depth is used as int.
+
+ * ext/tcltklib/tcltklib.c: rbtk_pending_exception is tested with
+ NIL_P, so should assign Qnil instead of 0 (Qfalse).
+
+ * ext/tcltklib/tcltklib.c (ip_invoke_real): fixed memory leak when
+ ip is deleted.
+
+Tue Jul 19 13:19:46 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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".
+
+Mon Jul 18 21:40:20 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * eval.c (rb_call0): make the pointer to NODE volatile
+ instead of NODE itself.
+
+Mon Jul 18 14:32:21 2005 Tanaka Akira <akr@m17n.org>
+
+ * eval.c (rb_call0): make body volatile to avoid optimization problem.
+ [ruby-dev:26195]
+
+Mon Jul 18 12:23:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/io/wait/wait.c: wrong backport from trunk. fixed: [ruby-dev:26562]
+
+Mon Jul 18 09:36:25 2005 Tanaka Akira <akr@m17n.org>
+
+ * rubyio.h (FMODE_WSPLIT, FMODE_WSPLIT_INITIALIZED): new constant.
+
+ * 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]
+
+Sun Jul 17 13:46:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/io/wait/extconf.rb, ext/io/wait/wait.c: Win32 platforms support.
+
+Fri Jul 15 23:59:03 2005 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/rdoc/parsers/parse_c.rb (find_body): allow macros as methods.
+
+ * lib/rdoc/parsers/parse_c.rb (find_call_seq): allow :nodoc: modifier
+ in C. [ruby-core:04572]
+
+Fri Jul 15 18:00:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * bcc32/Makefile.sub (COMMON_HEADERS): ruby_1_8 is using winsock.h.
+ failed to compile ext/socket on bcc5.6.4. [ruby-dev:26193]
+
+Fri Jul 15 07:58:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/server.rb (WEBrick::GenericServer#accept_client):
+ sockets should be non-blocking mode. [ruby-dev:26405]
+
+ * lib/webrick/utils.rb (WEBrick::Utils.set_non_blocking): new method.
+
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_chunked):
+ should call sock.read repeatedly until the preferred size data
+ is obtained.
+
+Thu Jul 14 18:27:16 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/win32.c (rb_w32_strerror): should return correct message
+ for ENAMETOOLONG and ENOTEMPTY. (bcc32) [ruby-dev:26533]
+
+ * win32/win32.c (rb_w32_strerror): stripped CR LF on the tail.
+ (bcc32) [ruby-dev:26533]
+
+Thu Jul 14 00:45:42 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * LEGAL (ext/nkf/nkf-utf8): updated from nkf1.7 to nkf-utf8.
+
+Wed Jul 13 19:37:47 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/win32.c (rb_w32_mkdir): should set EEXIST (not EACCES)
+ if file or directory already exists. (bcc32) [ruby-dev:26508]
+
+ * win32/win32.c (rb_w32_rmdir): should set ENOTDIR (not EINVAL)
+ if it is not directory. (bcc32, win32)
+
+ * win32/win32.c (rb_w32_rmdir, rb_w32_unlink): restore
+ FILE_ATTRIBUTE_READONLY flag on function failure.
+
+Wed Jul 13 12:40:00 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c: TclTkLib.do_one_event doesn't work.
+
+ * ext/tk/lib/tk.rb: Tk.thread_update is available.
+
+Tue Jul 12 23:32:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb: keep curdir unexpanded.
+
+Mon Jul 11 08:31:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * regex.c (read_special): fix parsing backslashes following \c in
+ regexp. fixed: [ruby-dev:26500]
+
+Mon Jul 11 02:53:00 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line):
+ mistook in merging the patch of [ruby-dev:26235] at
+ revision 1.4.2.6.
+
+Sun Jul 10 23:58:04 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/pathname.rb (Pathname#unlink): try Dir.unlink first to
+ avoid unlink a directory by root.
+ cf. [ruby-dev:26237]
+
+Sun Jul 11 05:18:17 2005 Michael Neumann <mneumann@ruby-lang.org>
+
+ * 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).
+
+Sun Jul 10 12:47:01 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/debug.rb (debug_command): added a deficient format specifier.
+ fixed: [ruby-core:05419]
+
+Sat Jul 9 21:28:46 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (ole_method_dispid): convert dispid
+ in Ruby and C by INT2NUM and NUM2INT.
+
+ * ext/win32ole/win32ole.c (ole_invoke2): ditto.
+
+ * ext/win32ole/test/testWIN32OLE.rb: ditto.
+
+ * ext/win32ole/test/testOLEMETHOD.rb: ditto.
+
+Fri Jul 8 15:45:04 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.4 -> 0.1.5.
+
+ * test/rss/test_version.rb (RSS::TestVersion#test_version):
ditto.
-Wed Dec 10 00:42:13 2014 Eric Wong <e@80x24.org>
+ * lib/rss/0.9.rb (RSS::Rss::Channel::Item::Category):
+ domain attribute of <category> is optional. Thanks to
+ Chris Lee <clee@kde.org>.
- * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset):
- new methods to generate bytecode for struct.c
- [Feature #10575]
- * struct.c (rb_struct_ref, rb_struct_set): remove
- (define_aref_method, define_aset_method): new functions
- (setup_struct): use new functions
- * test/ruby/test_struct.rb: add test for struct >10 members
- * benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark
- * benchmark/bm_vm2_struct_big_aref_lo.rb: ditto
- * benchmark/bm_vm2_struct_big_aset.rb: ditto
- * benchmark/bm_vm2_struct_small_aref.rb: ditto
- * benchmark/bm_vm2_struct_small_aset.rb: ditto
+ * test/rss/test_parser.rb (RSS::TestParser#test_category20):
+ adjusted test case.
-Tue Dec 9 20:24:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Tue Jul 5 23:44:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c: [DOC] Add missing documentation around String#chomp.
- Patch by @stderr [ci skip][fix GH-780]
+ * instruby.rb: expand source library path.
-Tue Dec 9 18:20:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jul 5 23:27:14 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c: [DOC] Revise documentation by Marcus Stollsteimer at
- [ruby-core:66368]. [Bug #10526]
+ * array.c (sort_2): get rid of yet another bcc's bug.
+ fixed: [ruby-core:05152]
- * #inspect: be more specific about generated string, remove
- obsolete example.
- * #nil?: use code examples instead of different call-seq's.
- * #tap: clarify what is yielded.
- * Integer(): be more specific about to_int and to_i, remove
- reference to Ruby 1.8.
- * Array(): fix error.
- * Class: fix variable name style and indentation in example.
- * improve consistency, fix typos and formatting.
+ * eval.c (rb_thread_save_context): must not switch contexts during
+ re-allocating stack. fixed: [ruby-core:05219]
-Tue Dec 9 12:48:32 2014 Josef Simanek <josef.simanek@gmail.com>
+Tue Jul 5 15:15:10 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_eval.c (rb_eval_string_wrap): [DOC] Fix `rb_eval_string_wrap`
- documentation. It is referencing `require` instead of `load`.
- The former does not have the optional argument. [Fix GH-779]
+ * ext/tk/tkutil.c: fix typo.
-Tue Dec 9 10:16:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jul 5 14:51:35 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * eval.c (rb_frame_last_func): return the most recent frame method
- name.
+ * ext/tcltklib/tcltklib.c: bug fix on treating Unicode strings.
- * thread.c (recursive_list_access): use the last method name,
- instead of the current method name which can be unset in some
- cases, not to use a symbol by the invalid ID.
- [ruby-core:66742] [Bug #10579]
+ * ext/tcltklib/tcltklib.c: add methods to treat encoding mode.
-Sun Dec 7 19:36:12 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/tcltklib/MANUAL.eng: add description of TclTkLib#encoding,
+ encoding_system, and so on.
- * ext/socket/basicsocket.c, ext/socket/sockssocket.c:
- remove code for $SAFE=4.
+ * ext/tcltklib/MANUAL.euc: ditto.
-Sun Dec 7 10:20:55 2014 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/tkutil.c: fail to create a Tcl's list string from an
+ array including multiple kind of encoded strings.
- * lib/rdoc: Update to RDoc 4.2.0.
- * test/rdoc: ditto.
+ * ext/tk/lib/tk.rb: ditto.
-Sun Dec 7 09:52:30 2014 Eric Hodel <drbrain@segment7.net>
+ * ext/tk/lib/multi-tk.rb: 2nd arg of _{to|from}UTF8 is omissible.
- * lib/rubygems: Update to RubyGems 2.4.5.
- * test/rubygems: ditto.
+ * ext/tk/lib/remote-tk.rb: ditto.
-Sat Dec 6 10:05:08 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/tk/lib/tk.rb: override TclTkLib#encoding and encoding= to
+ use TkCore::INTERP.encoding and encoding=.
- * lib/net/imap.rb: Fix undefined variable usage & refactor/DRY
- code. Patch by @aledovsky. [Fixes GH-770]
+ * ext/tk/lib/tk.rb: when "require 'tk'" and $KCODE=='NONE', check
+ DEFAULT_TK_ENCODING to decide Ruby/Tk's system encoding mode.
- * test/net/test_imap.rb: related test.
+ * ext/tk/lib/tk/encodedstr.rb: check both of Tk.encoding and
+ Tk.encoding_system. Tk.encoding has higher priority.
-Sat Dec 6 10:09:44 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk/optiondb.rb: ditto.
- * thread.c (do_select): rename parameters to avoid shadowing
+ * ext/tk/lib/tk/spinbox.rb: ditto.
-Sat Dec 6 09:22:45 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tk/lib/tk/validation.rb: ditto.
- * lib/rake: Update to rake 10.4.2
- * test/rake: ditto.
+ * ext/tk/lib/tk/namespace.rb: arguemnts for TclTkIp#_merge_tklist
+ should be UTF-8 strings.
-Sat Dec 6 06:48:03 2014 Eric Wong <e@80x24.org>
+Mon Jul 4 14:35:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * compile.c (rb_iseq_build_from_ary): remove misc handling
+ * sample/svr.rb: service can be stopped by ill-behaved client; use
+ tsvr.rb instead.
-Sat Dec 6 06:14:23 2014 Vit Ondruch <vondruch@redhat.com>
+Mon Jul 4 13:25:21 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in (RUBY_LIB_VERSION): Fix --with-ruby-version
- configuration option. get rid of quoting in config.status.
+ * missing/erf.c: original erf.c by prof. Okumura is confirmed to
+ be public domain. reverted BSD implementation.
- * template/verconf.h.tmpl: quote RUBY_LIB_VERSION here.
- [ruby-core:66724] [Bug #10572]
+Mon Jul 4 11:15:37 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Dec 6 04:33:52 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/{dbm,gdbm,sdbm}/test_{dbm,gdbm,sdbm}.rb: skip some tests
+ which using fork on fork-less platforms.
- * lib/pp.rb (File::Stat#pretty_print): some platforms (such as Windows)
- does not have major/minor parts of device.
+Sun Jul 3 23:26:30 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Dec 5 22:43:04 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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]
- * ext/psych/lib/psych.rb: bump version to 2.0.8
- * ext/psych/psych.gemspec: ditto.
- * ext/psych/psych_emitter.c: ditto.
- * ext/psych/psych_parser.c: ditto.
+Sat Jul 2 22:41:04 2005 Tanaka Akira <akr@m17n.org>
-Fri Dec 5 17:09:09 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (unix_send_io, unix_recv_io): support x86-64 and
+ IA64.
- * ext/socket/option.c (inet_ntop): link aliased inet_ntop in
- libruby on mswin not rb_w32_inet_ntop which fails to link for
- unknown reason.
+Sat Jul 2 17:06:23 2005 Tanaka Akira <akr@m17n.org>
-Fri Dec 5 11:09:54 2014 Eric Wong <e@80x24.org>
+ * defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.
+ (flush_register_windows): declare flush_register_windows.
- * iseq.c (prepare_iseq_build): remove unused block_opt param
- (rb_iseq_new_with_bopt_and_opt): remove
- (rb_iseq_new_with_opt): inline removed function
- (rb_iseq_new_with_bopt): remove
- (iseq_load): adjust prepare_iseq_build call
- [Feature #10565]
+ * eval.c (flush_register_windows): new function.
-Fri Dec 5 09:46:05 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 1 17:48:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * parse.y (parser_yylex): fix lex_state after tLABEL_END, should
- be EXPR_LABELARG to be followed by "paren with arg".
- [ruby-core:66705] [Feature #4935]
+ * bignum.c (get2comp): revert all prior changes, and calculate
+ proper 2's complement for negative numbers. backported from
+ HEAD.
-Fri Dec 5 02:27:47 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 1 15:50:12 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/extmk.rb: as all extension objects including initializations
- of ext and enc should be linked to libruby if enable-shared,
- EXTOBJS should not be linked to main programs.
- [ruby-core:66675] [Bug #10566]
+ * missing/erf.c: need to include some headers for some platforms.
-Thu Dec 4 07:06:02 2014 Eric Wong <e@80x24.org>
+ * win32/win32.h (copysign, scalb): define for compatibility with
+ other platforms. [ruby-dev:26430]
- * compile.c (rb_iseq_build_from_exception): entry->sp is unsigned
- (iseq_build_callinfo_from_hash): account for kw_arg
- (iseq_build_from_ary_body): update for r35459
- (CHECK_STRING, CHECK_INTEGER): remove unused checks
- (int_param): new function for checking new `params' hash
- (iseq_build_kw): new function for loading rb_iseq_param_keyword
- (rb_iseq_build_from_ary): account for `misc' entry and general
- structure changes
- [Feature #8543]
- * iseq.c (CHECK_HASH): new macro (for `misc' and `param' entries)
- (iseq_load): account for `misc' and `params' hashes
- (iseq_data_to_ary): add final opt to arg_opt_labels,
- fix kw support, account for unsigned entry->sp
- * ext/-test-/iseq_load/iseq_load.c: new ext for test
- * ext/-test-/iseq_load/extconf.rb: ditto
- * test/-ext-/iseq_load/test_iseq_load.rb: new test
+Fri Jul 1 15:37:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Dec 4 06:56:57 2014 Eric Wong <e@80x24.org>
+ * missing/crypt.c: modified to make it compilable on platforms
+ other than BSD. [ruby-dev:26430]
- * iseq.c (iseq_free): avoid segfault on incomplete iseq
- * test/ruby/test_syntax.rb (test_invalid_next): new test
- for syntax error, not segfault
+ * missing/erf.c: ditto. code from <exp.c> merged.
-Thu Dec 4 04:20:34 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 1 12:44:56 2005 Tanaka Akira <akr@m17n.org>
- * load.c (ruby_require_internal): ignore error detail, just return
- an error.
+ * lib/open-uri.rb (OpenURI.open_http): refine post_connection_check
+ call.
-Wed Dec 3 17:13:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 1 11:34:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * encoding.c (load_encoding): use rb_require_internal instead of
- calling rb_require_safe with protection.
+ * missing/crypt.c: replaced with 4.4BSD version.
-Wed Dec 3 16:47:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * missing/erf.c: ditto.
- * load.c (register_init_ext, ruby_init_ext): defer running the
- registered initialization function until required, not to enable
- extensions which have global effects just by loading, e.g.,
- mathn/complex and mathn/rational. fix `make test` with
- --with-static-linked-ext.
+ * missing/vsnprintf.c: removed the third provision from the old
+ BSD license. [ruby-core:05177]
- * enc/encinit.c.erb (Init_enc): initialize encdb and transdb
- directly.
+Fri Jul 1 01:45:21 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 3 14:51:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * enum.c (enum_min, enum_max): must not return Qundef.
+ fixed: [ruby-core:05299]
- * load.c (ruby_require_internal): separate from rb_require_safe,
- not to raise exceptions.
+Fri Jul 1 00:18:40 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ruby.c (process_options): remove unnatural encoding search.
+ * lib/delegate.rb (Delegator::respond_to): respond_to? must check
+ destination object. [ruby-talk:146894]
-Wed Dec 3 14:34:07 2014 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 (setup_fake_str): fake string does not share another
- string, but just should not free.
+Thu Jun 30 17:28:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 3 11:14:14 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/irb/ruby-lex.rb (RubyLex::identify_number): should not treat
+ plain zero as an octal number. [ruby-dev:26410]
- * win32/win32.c (w32_spawn): `v2` is used not only for `shell` but also
- `cmd`, so must not free before using `cmd`.
- [ruby-core:66648] [Bug #10563]
+Thu Jun 30 15:13:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 3 09:48:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_eval): pre-evaluate argument for unambiguous
+ evaluation order. [ruby-dev:26383]
- * ext/racc/cparse/cparse.c (cparse_params_type): use typed data.
+Thu Jun 30 09:53:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 2 21:33:56 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * lib/delegate.rb (Delegator::method_missing): forward unknown
+ method to the destination. suggested by
+ <christophe.poucet@gmail.com>. [ruby-talk:146776]
- * ext/win32ole/win32ole.c: use typed data for com_hash.
+Tue Jun 28 21:59:29 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Tue Dec 2 15:30:30 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * dir.c, eval.c, hash.c, process.c, ruby.c: avoid warning "unused
+ variable" [ruby-dev:26387]
- * array.c (rb_ary_plus): in documentation, added note about
- inefficiency of repeated += operations.
+Sat Jun 25 17:15:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Dec 2 07:20:21 2014 Eric Wong <e@80x24.org>
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_query): should
+ discard if key=val pair is empty. patch from Gary Wright.
- * iseq.c (iseq_data_to_ary): keep hidden variables
- Thanks to wanabe [ruby-core:66566]
+Sat Jun 25 23:30:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Dec 2 06:46:57 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * process.c (detach_process_watcher): terminate process watcher
+ thread right after rb_waitpid() succeed. [ruby-talk:146430]
- * ext/psych/lib/psych.rb: bumping version
+Sat Jun 25 15:49:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/psych/psych.gemspec: ditto
+ * enum.c (enum_min, enum_max): do not ignore nil as the first element.
-Tue Dec 2 06:34:08 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Sat Jun 25 14:40:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/psych/lib/psych/visitors/to_ruby.rb: support objects that are
- marshalable, but inherit from basic object.
- Thanks Sean Griffin <sean@thoughtbot.com>
+ * ext/sdbm/init.c (fsdbm_select): SDBM#select had returned the array
+ which contained each elements twice. [ruby-dev:26358]
- * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
+Fri Jun 25 05:06:47 2005 Michael Neumann <mneumann@ruby-lang.org>
- * test/psych/test_marshalable.rb: test for fix
+ * lib/xmlrpc/*, test/xmlrpc/*: backported changes from HEAD into 1.8
-Tue Dec 2 06:32:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 24 17:00:00 2005 Shigeo Kobayashi <shigeo@tinyforest.jp>
- * parse.y (ripper_flush_string_content): preserve the dispatched
- results at tSTRING_CONTENT. [ruby-dev:48714] [Bug #10437]
+ * ext/bigdecimal/bigdecimal.c: patch from "NATORI Shin"
+ (u-tokyo.ac.jp) applied to fix rounding bug.
- * parse.y (regexp_contents): check in ripper only if the whole
- content is a single regexp without interpolation.
- [ruby-dev:48714] [Bug #10437]
+Fri Jun 24 13:06:45 2005 akira yamada <akira@ruby-lang.org>
-Tue Dec 2 06:30:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/uri/common.rb, lib/uri/generic.rb: fixed typo in documents and
+ replaced some existent domain name with "example.com".
- * re.c (rb_reg_region_copy): new function to try with GC if copy
- failed and return the error.
+Fri Jun 24 12:23:19 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Dec 2 04:43:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: fix typo on Tk.grid_propagate.
- * re.c (CHECK_REGION_COPIED): onig_region_copy() can fail when
- memory exhausted but returns nothing, so check by if allocated.
+ * ext/tk/lib/tk.rb: Tk.event_generate and TkWindow#event_generate
+ accept TkEvent::Event object as context argument.
-Tue Dec 2 02:53:00 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/event.rb: add TkEvent::Event#valid_fields and
+ valid_for_generate to get field parameters of event_generate.
- * parse.y (magic_comment_encoding): enable in ripper, since the
- encoding is necessary to parse non-default encoding scripts.
+Thu Jun 23 23:55:59 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 2 02:30:25 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * runruby.rb: should load built rbconfig.rb.
- * lib/uri/generic.rb (URI::Generic.build):
- use hostname= to detect and wrap IPv6 hosts.
- Build is accepting URI components and users may not expect
- that a host component needs to be wrapped with square brackets
- since it's not providing a URI.
- Note: initialize with arg_check => true does not wrap IPv6 hosts.
- by Joe Rafaniello <jrafanie@redhat.com>
- https://github.com/ruby/ruby/pull/765 fix GH-765
+Thu Jun 23 16:53:15 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/uri/test_generic.rb: Add more tests
+ * ext/tk/lib/tk/canvastag.rb: TkcGroup.new cannot include given items.
+ TkcGroup#exclude calls wrong method.
+ Add alias TkcGroup#add [ruby-talk:146049].
-Mon Dec 1 20:01:12 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/tk/lib/tk/canvas.rb: TkCanvas#dtag and some subcommands of
+ TkCanvas#addtag fail to treat a TkcTag argument.
- * ext/win32ole/win32ole.c: use typed data for WIN32OLE.
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_event.c: ditto.
+ * ext/tk/lib/tk/event.rb: add TkEvent::Event#generate to help to send
+ current event to other widgets.
-Mon Dec 1 17:20:42 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jun 20 18:44:04 2005 Tanaka Akira <akr@m17n.org>
- * win32/Makefile.sub (verconf.h): so depends on verconf.mk, which
- is rebuilt by setup.mak.
+ * eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): DUMMY_SETJMP is replaced
+ because setjmp is not enough to fix getcontext and SPARC register
+ window problem.
-Mon Dec 1 11:05:46 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Jun 20 16:48:36 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * proc.c: fix grammar by @BenMorganIO [fix GH-764][ci skip]
+ * ext/dbm/dbm.c (fdbm_closed): new method DBM#closed?
-Mon Dec 1 10:49:53 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/gdbm/gdbm.c (fgdbm_closed): new method GDBM#closed?
- * man/rake.1: Update latest man content by @aledovsky
- [fix GH-771][ci skip]
+ * ext/sdbm/init.c (fsdbm_closed): new method SDBM#closed?
-Mon Dec 1 10:42:31 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb
+ (teardown): close all db objects before deleting data files.
- * doc/syntax/refinements.rdoc: refinements are no longer experimental.
- patch by @gaurish [fix GH-775][ci skip]
+ * win32/win32.{ch} (unlink): hook runtime function to change
+ file attribute before unlinking.
+ fixed: [ruby-dev:26360]
-Sun Nov 30 20:05:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jun 20 02:15:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (regexp_contents): fix a typo. pointed out by wanabe.
- [ruby-dev:48741] [Bug #10543]
+ * gc.c (define_final): document fix: finalizers never get called
+ before target object is destroyed.
-Sun Nov 30 18:55:32 2014 Tanaka Akira <akr@fsij.org>
+Mon Jun 20 01:26:49 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
- Don't raise Interrupt.
+ * 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.
-Sun Nov 30 17:11:05 2014 Tanaka Akira <akr@fsij.org>
+Sun Jun 19 14:09:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): Use
- assert_separately.
+ * gc.c (run_final): reduce unnecessary object allocation during
+ finalization.
-Sun Nov 30 00:02:52 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (rb_gc_call_finalizer_at_exit): deferred finalizers list should
+ be cleared before calling them. fixed: [ruby-talk:145790]
- * ruby.c (process_options, ruby_script): transcode script name and
- program name to locale encoding as well as argv.
- [ruby-dev:48752] [Bug #10555]
+Fri Jun 17 13:01:40 2005 Tanaka Akira <akr@m17n.org>
- * ruby.c (translit_char_bin): should not use code page dependent
- CharNext on UTF-8 string. [ruby-dev:48752] [Bug #10555]
+ * lib/time.rb (Time.parse): fix previous leap seconds support.
+ (Time.rfc2822): ditto.
+ (Time.xmlschema): ditto.
-Sat Nov 29 16:53:14 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 16 15:06:55 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ruby.c (ruby_set_argv): convert argv from UTF-8.
+ * ext/tcltklib/tcltklib.c (ip_rb_threadVwaitCommand): Tcl_Release
+ was missing.
- * win32/win32.c (rb_w32_sysinit, cmdglob, w32_cmdvector): convert
- wide char command line to UTF-8 argv, and glob in UTF-8 so that
- metacharacters would match multibyte characters.
- [ruby-dev:48752] [Bug #10555]
+Thu Jun 16 13:34:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Nov 29 10:49:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: add Tk.getMultiple{Open|Save}File() which return
+ an Array of selected files.
- * win32/win32.c (win32_direct_conv, rb_w32_readdir): convert UTF-8
- and filesystem code page by using Win32 API directly.
+Thu Jun 16 12:53:24 2005 Tanaka Akira <akr@m17n.org>
-Sat Nov 29 09:37:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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.
- * error.c (syserr_initialize): simplify message building and get
- rid of potential invalid byte sequence.
+Thu Jun 16 08:29:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sat Nov 29 06:09:44 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/dl/sym.c (rb_dlsym_call): needs FREE_ARGS before return.
+ fixed memory leak. [ruby-Bugs-2034]
- * eval_error.c (error_print): respect the encoding of the message.
+Wed Jun 15 18:26:39 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * io.c (rb_write_error_str): use rb_w32_write_console() on Windows
- if stderr is a tty.
+ * ext/tk/lib/tk.rb: support "tk inactive" sub-command [for Tcl/Tk8.5a3]
-Fri Nov 28 05:10:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/namespace.rb: support "namespace path" sub-command and
+ 'namespace ensemble' sub-command [for Tcl/Tk8.5a3]
- * configure.in (--with-setup): add option to select ext/Setup file.
+Tue Jun 14 02:02:43 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Nov 28 05:02:29 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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 ").
- * dmyenc.c (Init_enc): separate from dmyext.c for statically
- linked extension excluding encoding libraries.
+ * ext/tk/lib/tk/event.rb: use _define_attribute_aliases().
-Thu Nov 27 21:58:30 2014 Tanaka Akira <akr@fsij.org>
+Mon Jun 13 13:01:05 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * common.mk (miniprelude.c): It does not depend on prelude.rb now.
+ * hash.c (ruby_setenv): fixed SEGV. [ruby-dev:26186]
-Thu Nov 27 21:49:49 2014 Tanaka Akira <akr@fsij.org>
+Mon Jun 13 01:54:20 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/update-deps: List up files built always in the source directory
- and source files built always in the build directory.
+ * signal.c (sigexit): call rb_thread_signal_exit() instead of
+ rb_exit(). [ruby-dev:26347]
-Thu Nov 27 21:24:55 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * eval.c (rb_thread_signal_exit): a new function to exit on main
+ thread.
- * NEWS: add obsolete callcc.
+ * eval.c (rb_thread_switch): exit status should be retrieved from
+ ruby_errinfo.
-Thu Nov 27 19:59:49 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_f_exit): ensure exit(0) should call
+ exit(EXIT_SUCCESS).
- * compile.c (iseq_compile_each): remove duplicated line event.
- [Bug #10449]
+Mon Jun 13 01:20:02 2005 Tanaka Akira <akr@m17n.org>
- * test/ruby/test_settracefunc.rb: add and fix tests.
+ * eval.c (rb_gc_mark_threads): curr_thread may not be part of the
+ thread list. [ruby-dev:26312]
-Thu Nov 27 19:04:50 2014 Koichi Sasada <ko1@atdot.net>
+Fri Jun 10 23:35:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_args.c: fix backtrace location for keyword related exceptions.
+ * missing/mkdir.c: remove. [ruby-core:05177]
- For example, the following program
- def foo(k1: 1); end # line 1
- foo(k2: 2) # line 2
- causes "unknown keyword: k2 (ArgumentError)".
+Fri Jun 10 22:54:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Before this patch, the backtrace location is only line 2.
- However, error should be located at line 1 (over line 2 in
- stack trace). This patch fix this problem.
+ * missing.h: fd_set stuffs need sys/types.h. fixed: [ruby-core:05179]
- * class.c (rb_keyword_error_new): separate exception creation logic
- from rb_keyword_error(), to use in vm_args.c.
+Thu Jun 9 23:58:12 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_insnhelper.c (rb_arg_error_new): rename to rb_arity_error_new().
+ * ext/Win32API/Win32API.c (Win32API_Call): disable global
+ optimization. fixed: [ruby-core:05143]
- * vm_args.c (argument_arity_error): rename to argument_arity_error().
+Thu Jun 9 23:35:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_args.c (argument_kw_error): added to fix backtrace.
+ * enum.c (enum_inject): default the result value to Qundef to use
+ first element as initial value if not given.
- * test/ruby/test_keyword.rb: add tests.
+Thu Jun 9 19:55:41 2005 Tanaka Akira <akr@m17n.org>
-Thu Nov 27 17:31:58 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * common.mk (prelude.c): no longer depends on miniruby, since not
- depending on rbconfig.rb.
+ * gc.c (Init_stack): remove IA64_MAGIC_STACK_LIMIT.
-Thu Nov 27 17:12:14 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 9 11:55:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * common.mk (miniprelude.c): miniruby needs no preludes.
+ * lib/delegate.rb (SimpleDelegator::__setobj__): need check for
+ recursive delegation. [ruby-core:04940]
-Thu Nov 27 17:10:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jun 8 18:47:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * template/prelude.c.tmpl: no code if no prelude code is given.
+ * misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.
-Thu Nov 27 13:11:00 2014 Koichi Sasada <ko1@atdot.net>
+Wed Jun 8 11:11:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (objspace_malloc_increase): enable lazy sweep on GC by malloc()
- (malloc_increase) to make GC incrementally.
+ * bignum.c (get2comp): calculate proper 2's complement for
+ negative numbers. a bug in normalizing negative numbers
+ reported from Honda Hiroki <hhonda@ipflex.com>.
- This change can increase memory consumption. Report us if you find
- any problem.
+Wed Jun 8 08:33:10 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 27 12:46:38 2014 Tanaka Akira <akr@fsij.org>
+ * enum.c (enum_min_by, enum_max_by): return nil if no iteration.
+ fixed: [ruby-dev:26245]
- * time.c (time_s_mkutc): [DOC] Time.utc's 10 arguments form
- doesn't examine wday, yday, isdst and tz.
- (time_s_mktime): [DOC] Time.mktime's 10 arguments form
- doesn't examine wday, yday and tz.
- Suggested by naruse.
+ * eval.c (rb_need_block): ensure a block is given.
-Thu Nov 27 11:45:33 2014 Eric Wong <e@80x24.org>
+ * eval.c (backtrace): skip successive frames sharing same node.
- * iseq.c (iseq_data_to_ary): add missing GC guard
+Wed Jun 8 00:15:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 27 10:51:59 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/socket.c (ruby_getaddrinfo__aix): merged a patch from
+ KUBO Takehiro <kubo at jiubao.org> to support AIX. [ruby-list:40832]
- * vm_core.h: add rb_thread_t::local_storage_recursive_hash
- to speed up Thread#[:__recursive_key__] access.
- [Bug #10511]
+Wed Jun 8 00:09:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c (threadptr_local_aref): add fast path for
- :__recursive_data__.
+ * lib/yaml/rubytypes.rb (Array::to_yaml): merged a patch from
+ Tilman Sauerbeck <tilman at code-monkey.de>. [ruby-core:05055]
- * thread.c (threadptr_recursive_hash, threadptr_recursive_hash_set):
- add special accessor for recursive hash.
+ * lib/yaml/rubytypes.rb (Hash::to_yaml): ditto.
- * cont.c: store/restore local_storage_recursive_hash.
+Wed Jun 8 00:00:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm.c: init and mark local_storage_recursive_hash.
+ * ext/curses/curses.c (curses_insertln): merged a patch from
+ TAKAHASHI Tamotsu <ttakah at lapis.plala.or.jp>. [ruby-ext:02305]
- * vm_trace.c (rb_threadptr_exec_event_hooks_orig): clear and restore
- local_storage_recursive_hash directly.
+Tue Jun 7 19:34:15 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Nov 27 07:11:00 2014 Eric Wong <e@80x24.org>
+ * lib/irb/init.rb (IRB::IRB.rc_file_generators): more flexible
+ IRB.rc_file_generators. [ruby-core:05163]
- * compile.c (iseq_calc_param_size): hoist out of iseq_set_arguments
+Tue Jun 7 18:39:31 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 26 22:28:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/thread.rb: RDoc documentation from Eric Hodel
+ <drbrain at segment7.net> added. [ruby-core:05148]
- * include/ruby/ruby.h (rb_get_kwargs, rb_extract_keywords): export
- keyword argument functions.
+Tue Jun 7 18:30:04 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 26 21:18:40 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/mkmf.rb (create_makefile): add .SUFFIXES from depend file.
+ fixed: [ruby-dev:26294]
- * test/inlinetest.rb: removed unused test helper.
+Tue Jun 7 17:39:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 26 20:47:28 2014 Masaya Tarui <tarui@ruby-lang.org>
+ * object.c (rb_mod_cvar_get): Module#class_variable_get(): back
+ ported from CVS HEAD. [ruby-talk:144741]
- * ext/continuation/continuation.c (Init_continuation): obsolete callcc.
- first step of [Feature #10548].
+ * object.c (rb_mod_cvar_set): Module#class_variable_set().
+ [ruby-talk:144741]
-Wed Nov 26 19:57:54 2014 Koichi Sasada <ko1@atdot.net>
+Tue Jun 7 16:32:53 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_gc.rb (test_latest_gc_info): do test separately
- to avoid mysterious behavior.
+ * sprintf.c (rb_f_sprintf): raise exception on debug mode (-d),
+ not verbose mode (-v/-w). [ruby-core:05123]
-Wed Nov 26 19:54:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jun 7 10:30:49 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * win32/win32.c (constat_reset): do nothing on non-standard
- console emulators. [ruby-core:66471] [Bug #10546]
+ * ext/tk/lib/multi-tk.rb: slave-ip fails to call procedures
+ delegated by master-ip.
-Wed Nov 26 19:44:13 2014 Tanaka Akira <akr@fsij.org>
+Sun Jun 5 23:00:35 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/tsort.rb: Returns an enumerator if no block is given.
- [ruby-core:66270] [Feature #10508] Proposed by Andrey Savchenko.
+ * ext/tk/lib/tk/console.rb: create console when required
-Wed Nov 26 17:25:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/tkextlib/tile/demo.rb: fix TypeError & create Console
- * parse.y (f_label, f_kw, formal_argument_gen): ignore invalid
- formal argument in keyword argument definition.
- [ruby-dev:48742] [Bug #10545]
+Sat Jun 4 14:55:18 2005 Tanaka Akira <akr@m17n.org>
-Wed Nov 26 15:32:06 2014 Koichi Sasada <ko1@atdot.net>
+ * test/dbm/test_dbm.rb: merged from ext/dbm/testdbm.rb.
- * compile.c (iseq_set_sequence): use "nop" insn instead of
- "jump to next insn".
- https://bugs.ruby-lang.org/issues/8543#change-50085
+ * test/gdbm/test_gdbm.rb: merged from ext/gdbm/testgdbm.rb.
-Wed Nov 26 11:01:35 2014 Eric Wong <e@80x24.org>
+ * test/sdbm/test_sdbm.rb: renamed from ext/sdbm/testsdbm.rb with
+ modification to use test/unit.
- * iseq.c (iseq_s_compile_file): close IO when done
+Fri Jun 3 14:06:12 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Nov 26 06:06:23 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/multi-tk.rb: fix typo.
- * common.mk: encdb.h and transdb.h depends on $(PREP).
- So prebuild files for them in tarball are useless.
+Wed Jun 1 11:32:42 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Nov 26 02:08:44 2014 Tanaka Akira <akr@fsij.org>
+ * bcc32/Makefile.sub: can use single quote character in DESTDIR.
+ [ruby-dev:26205]
- * tool/make-snapshot: Don't generate enc/trans/newline.c in tarball.
+Mon May 30 23:48:29 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Nov 26 00:41:44 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/macpkg.rb: add PACKAGE_NAME information of Tcl/Tk
+ Extension.
- * common.mk (prereq): Don't depends on prelude.c and golf_prelude.c.
- Since they depend on $(PREP) which is miniruby, they are rebuilt
- after miniruby is built, even if tarball contains them.
+ * ext/tk/lib/tk/msgcat.rb: ditto.
-Wed Nov 26 00:20:48 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/winpkg.rb: ditto.
- * template/prelude.c.tmpl: Don't expand RbConfig::Config[...].
- It is not used now.
+ * ext/tk/lib/tkextlib/*: ditto.
- * common.mk: prelude.c and golf_prelude.c doesn't depend on rbconfig.
+Sat May 28 16:40:15 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Nov 25 17:07:06 2014 Koichi Sasada <ko1@atdot.net>
+ * test/openssl/test_x509store.rb: add test for expired CRL
+ and refine some assertions.
- * NEWS: add an "Implementation changes" section.
+Sat May 28 05:15:51 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Nov 25 16:09:28 2014 Eric Hodel <drbrain@segment7.net>
+ * ext/openssl/ossl_x509store.c (ossl_x509stctx_set_time): should
+ not set internal flag directry.
- * lib/net/http.rb: Do not attempt SSL session resumption when the
- session is expired. [Bug #10533]
+Sat May 28 02:00:11 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Nov 25 15:59:46 2014 Eric Hodel <drbrain@segment7.net>
+ * 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]
- * lib/rake: Update to rake 10.4.0
- * test/rake: ditto.
- * NEWS: ditto.
+Fri May 27 16:32:04 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/lib/minitest/unit.rb: Add compatibility shim for minitest 5.
- This only provides minitest 5 unit test naming compatibility.
+ * lib/mkmf.rb: use the semicolon as the path separator
+ in the environment of MSYS. fixed: [ruby-dev:26232]
-Tue Nov 25 15:26:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu May 26 06:08:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * tool/vcs.rb (get_revisions): use Time.new instead of Time.mktime
- which does not accept UTC offset, and offset manually for older
- versions than 1.9.
+ * ext/tk/lib/tk.rb: add shortcut-methods of tk_call + tk_split_list
-Tue Nov 25 12:14:43 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 25 22:52:42 2005 Shugo Maeda <shugo@ruby-lang.org>
- * process.c (Init_process): initialize static IDs before constant
- definitions. [ruby-core:66445]
+ * lib/irb/input-method.rb: do not use Readline::HISTORY.pop.
+ (backported from HEAD)
-Tue Nov 25 10:32:23 2014 Eric Wong <e@80x24.org>
+Wed May 25 21:55:40 2005 Shugo Maeda <shugo@ruby-lang.org>
- * compile.c (iseq_build_callinfo_from_hash): hoist out
- (iseq_build_from_ary_body): shorten callinfo case
+ * ext/readline/readline.c: supported libedit. (backported from HEAD)
-Mon Nov 24 23:03:21 2014 Kouhei Sutou <kou@cozmixng.org>
+ * ext/readline/extconf.rb: ditto.
- * gems/bundled_gems: Update to test-unit 3.0.7.
+ * test/readline/test_readline.rb: ditto.
-Mon Nov 24 12:44:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 25 20:06:27 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * process.c (check_exec_redirect_fd, check_exec_redirect),
- (rb_execarg_addopt): get rid of inadvertent ID pindown.
+ * 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.
-Mon Nov 24 02:03:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: modify to attend encoding.
- * string.c (rb_str_setter): preserve encoding of global variable
- name in error message.
+ * ext/tk/lib/remote-tk.rb: ditto.
-Mon Nov 24 02:03:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/itemconfig.rb: ditto.
- * iseq.c (rb_insn_operand_intern): preserve encoding of method
- name in CALL_INFO at disassembling.
+ * ext/tk/lib/tk/listbox.rb: ditto.
-Mon Nov 24 02:02:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/namespace.rb: ditto.
- * io.c (must_respond_to): preserve encodings of variable name and
- class name in warning message.
+ * ext/tk/lib/tk/panedwindow.rb: ditto.
-Sun Nov 23 10:46:23 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk/text.rb: ditto.
- * internal.h (struct rb_execarg): 160 => 144 bytes on x86-64
- * ruby.c (struct load_file_arg): 48 => 40 bytes on x86-64
- * vm_args.c (struct args_info): ditto
+ * ext/tk/lib/tk/textmark.rb: ditto.
-Sun Nov 23 07:46:54 2014 Andy Maloney <asmaloney@gmail.com>
+ * ext/tk/lib/tk/texttag.rb: ditto.
- * io.c (rb_io_sysread): Remove redundant assignment of 'n'.
- [Fix GH-767]
+ * ext/tk/lib/tk/variable.rb: ditto.
-Sat Nov 22 09:48:33 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/winfo.rb: ditto.
- * tool/make-snapshot: Specify PWD macro for make.
- PWD environment variable may not exist.
+ * ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto.
-Fri Nov 21 11:58:58 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: ditto.
- * lib/resolv.rb: fall back if canonicalization fails.
- Thanks Vit Ondruch for the patch! [ruby-core:65836]
+ * ext/tk/lib/tk.rb: add TkWindow#lower_window/raise_window and
+ Tk#lower_window/raise_window by reason of method-name conflict
- * test/resolv/test_dns.rb: test for patch
+ * ext/tk/lib/tk/canvas.rb: bug fix on TkCanvas#delete when given
+ non-TkcItem arguments.
-Sat Nov 22 01:11:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb: ditto.
- * object.c (rb_mod_const_get, rb_mod_const_defined): ditto.
+Wed May 25 12:59:48 2005 Tanaka Akira <akr@m17n.org>
- * variable.c (rb_const_missing, rb_mod_const_missing): call
- const_missing without new ID to get rid of inadvertent ID
- creation.
+ * lib/open-uri.rb (OpenURI::Meta::RE_QUOTED_STRING): a content of
+ quoted-string should be zero or more characters.
-Fri Nov 21 19:32:57 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Tue May 24 23:42:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * common.mk (ext/ripper/ripper.c): revert about srcdir and top_srcdir.
+ * numeric.c (fix_pow): support Fixnum ** Float case directly
+ without coercing. [ruby-talk:142697] [ruby-talk:143054]
- * common.mk (ext/ripper/ripper.c): use $(PWD) for Unix,
- $(MAKEDIR) for Windows.
+Tue May 24 16:57:24 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Nov 21 18:12:37 2014 Tanaka Akira <akr@fsij.org>
+ * ruby.c (require_libraries): caused SEGV when continuation jumped
+ in to the required library code.
- * tool/update-deps: Refactored.
+Tue May 24 11:56:25 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Nov 21 14:25:40 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/getopts.rb: should warn only if verbose mode.
+ fixed: [ruby-dev:26201]
- * win32/Makefile.sub (top_srcdir): added because lacking this macro
- causes build error at r48526.
+Tue May 24 06:45:31 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Nov 21 12:00:58 2014 Tanaka Akira <akr@fsij.org>
+ * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): string
+ literals to be matched non-greedy.
- * tool/update-deps (in_makefile): Use FILES_NEED_VPATH and
- FILES_CONFUSING.
+Tue May 24 00:34:32 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/objspace/extconf.rb: Add VPATH for id.h
+ * test/soap/calc: method name 'set' was able to crash with a class Set.
+ [ruby-dev:26210]
-Fri Nov 21 09:10:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/wsdl/document/test_rpc.rb: dateTime comparison failed under
+ TZ=right/Asia/Tokyo (with leap second.) [ruby-dev:26208]
- * common.mk (ext/ripper/ripper.c): fix dependencies for the case
- to make ripper.y and id.h under the build directory.
+Mon May 23 16:24:05 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Nov 21 08:42:21 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tcltklib/extconf.rb: Framework support on MacOS X Tiger.
- * common.mk (ext/ripper/ripper.c): id.h in VPATH may exist in the build
- directory.
+ * ext/tcltklib/README.1st: add description of Framework support options.
+
+Mon May 23 12:21:37 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * re.c (make_regexp): should not return junk address during
+ compile time. [ruby-dev:26206]
+
+Sun May 22 21:54:06 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.4.
+
+ == SOAP client and server ==
+
+ === for both client side and server side ===
+
+ * 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.
+
+ * let WSDLEncodedRegistry#soap2obj map SOAP/OM to Ruby according to
+ WSDL as well as obj2soap. closes #70.
+
+ * 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).
+
+ === client side ===
+
+ * 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.
+
+ * 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.
+
+ * allow to use an URI object as an endpoint_url even with net/http,
+ not http-access2.
+
+ === server side ===
+
+ * 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.
+
+ * 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.)
+
+ * allow to return a SOAPFault object to respond customized SOAP fault.
+
+ * 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.
+
+ == WSDL ==
+
+ === WSDL definition ===
+
+ * improved XML Schema support such as extension, restriction,
+ simpleType, complexType + simpleContent, ref, length, import,
+ include.
+
+ * reduced "unknown element/attribute" warnings (warn only 1 time for
+ each QName).
+
+ * importing XSD file at schemaLocation with xsd:import.
+
+ === code generation from WSDL ===
+
+ * generator crashed when there's '-' in defined element/attribute
+ name.
+
+ * added ApacheMap WSDL definition.
+
+ * sample/{soap,wsdl}: removed.
+
+Sun May 22 19:11:35 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#intialize):
+ should initialize session id context. [ruby-core:4663]
+
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): add session id support.
+
+Sat May 21 10:24:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * bcc32/Makefile.sub: tds files were not deleted when DESTDIR
+ included '\' path delimiter. [ruby-dev:26193]
+
+Thu May 19 19:04:29 2005 speakillof <speakillof@yahoo.co.jp>
+
+ * lib/rexml/encodings/SHIFT-JIS.rb: encoding and decoding were
+ swapped. [ruby-core:4772]
+
+Wed May 18 23:42:25 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * error.c (exc_exception): reverted to call Exception#initialize
+ directly. fixed: [ruby-dev:26177]
+
+Wed May 18 23:39:09 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * dir.c (glob_helper): get rid of using String. [ruby-dev:26180]
+
+ * dir.c (push_braces): should skip balanced braces.
+
+ * eval.c (ruby_options), win32/win32.c (NtInitialize): move argument
+ intialization back. [ruby-dev:26180]
+
+Tue May 17 15:31:31 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should
+ break the loop if the socket reached to EOF. [ruby-talk:142285]
+
+Tue May 17 11:52:18 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (unixtime_to_filetime): use localtime() instead of
+ gmtime() when using FileLocalTimeToFileTime().
+
+Mon May 16 22:28:43 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/win32.h, {bcc32,win32,wince}/Makefile.sub: moved rb_[ugp]id_t
+ to get rid of redefinition warnings on mingw.
+
+ * class.c (rb_class_init_copy): singleton class is disallowed to copy,
+ from its definition. fixed: [ruby-talk:142749]
+
+Mon May 16 08:52:29 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/win32.{h,c}: define rb_[pgu]id_t.
+
+Mon May 16 00:21:02 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/pathname.rb (Pathname#unlink): use SystemCallError instead of
+ Errno::EISDIR because EISDIR is not portable.
+ [ruby-core:5001]
+
+Sun May 15 22:11:33 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/drb.rb (DRbObject#method_missing): use raise(exception).
+ [ruby-dev:26164]
+
+Sun May 15 18:56:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * 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]
+
+Sun May 15 14:35:46 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/pathname.rb (Pathname#unlink): unlink a symlink to a directory
+ was failed. [ruby-core:4992]
+
+Sun May 15 09:57:30 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/win32.c (unixtime_to_filetime): deal with DST.
+ [ruby-talk:141817]
+
+Sat May 14 23:59:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * error.c (exc_exception, {exit,name_err,syserr}_initialize): call
+ Execption#initialize. fixed: [ruby-talk:142593]
+
+Sat May 14 23:57:26 2005 Erik Huelsmann <ehuels@gmail.com>
+
+ * configure.in: Check for the availability of pid_t, gid_t and uid_t and
+ remove AC_TYPE_UID_T. fixed: [ruby-core:04745]
+
+ * defines.h: Remove pid_t typedef.
+
+ * ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with
+ the available system types.
+
+ * process.c: Change instances of pid_t and gid_t to their rb_*
+ counterparts.
+
+ * ext/pty/pty.c: Change pid_t to rb_pid_t.
+
+ * vms/config.h: Define HAVE_{P,G,U}ID_T to 1.
+
+ * win32/Makefile.sub: Remove #define for {g,u}id_t.
+
+ * win32/win32.c: Change pid_t to rb_pid_t.
+
+ * wince/Makefile.sub: Remove #define for {g,u}id_t.
+
+ * wince/sys/types.h: Remove definitions of {p,g,u}id_t.
+
+Fri May 13 23:44:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb: keep srcdir unexpanded.
+
+ * lib/mkmf.rb (create_makefile): quote topdir and hdrdir if necessary.
+ fixed: [ruby-core:04932]
+
+ * lib/mkmf.rb (configuration), {bcc32,win32,wince}/Makefile.sub: make
+ also INSTALL_PROG and INSTALL_DATA system dependent.
+ fixed: [ruby-core:04931]
+
+Fri May 13 17:54:39 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * variable.c (generic_ivar_get): rb_attr_get should not warn.
+ [ruby-dev:26010]
+
+Fri May 13 12:28:43 2005 Daniel Berger <djberge@qwest.com>
+
+ * array.c (rb_ary_select): can remove argc check. [ruby-core:4911]
+
+ * test/ruby/test_array.rb: add test for find_all.
+
+Fri May 13 11:29:00 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * eval.c (unknown_node): add volatile directive to prototype.
+
+Thu May 12 17:08:48 2005 Tanaka Akira <akr@m17n.org>
+
+ * io.c (rb_io_eof, remain_size, read_all, io_read, appendline)
+ (swallow, rb_io_each_byte, rb_io_getc): revert previous change.
+
+ * 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.
+
+Thu May 12 16:52:20 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * lib/rdoc/parsers/parse_c.rb: more readability for mixing
+ progress "c..." and warning message.
+
+Thu May 12 16:31:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 2.0.5
+
+Thu May 12 16:15:01 2005 Tanaka Akira <akr@m17n.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]
+
+Thu May 12 15:56:20 2005 Tilman Sauerbeck <tilman@code-monkey.de>
+
+ * lib/rdoc/parsers/parse_c.rb: show parsing progress for C files.
+ [ruby-core:4341]
+
+Thu May 12 13:47:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * test/drb/test_drb{ssl,unix}.rb: can test drb
+ before install. (backported from HEAD) [ruby-dev:26146]
+
+Thu May 12 09:53:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * version.c (ruby_show_version): flush for non-tty stdout.
+
+Thu May 12 09:07:07 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * test/ruby/envutil.rb, test/drb/drbtest.rb: can test drb
+ before install. (backported from HEAD) [ruby-Bugs-1672]
+
+Thu May 12 01:23:55 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at
+ parser. fixed: [ruby-dev:26113]
+
+ * 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.
+
+Wed May 11 16:20:01 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/cgi.rb: new methods WEBrick::CGI#[], WEBrick::CGI#logger
+ and WEBrick::CGI#config. (backported from HEAD)
+
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape_path): should
+ not use String#split("/"). (backported from HEAD)
+
+Wed May 11 15:58:39 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (break_jump): break should not cross functions.
+ [ruby-list:40818]
+
+Wed May 11 10:39:37 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * lib/tempfile.rb (Tempfile#unlink): fixed typo.
+
+Wed May 11 01:03:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (TMP_ALLOC): use macro NEW_NODE() to get rid of warnings on
+ platforms which have no alloca(). fixed: [ruby-talk:141301]
+
+Sun May 8 23:17:47 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/timer.rb: fix typo.
+
+Sun May 8 16:52:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * lib/profiler.rb: fixed "undefined method `[]' for nil:NilClass"
+ [ruby-core:4775] [ruby-talk:140401] [ruby-dev:26118]
+
+Sat May 7 22:58:00 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (have_var): no libs argument is given.
+
+Sun May 1 09:58:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ruby.c (process_sflag): replace '-' in variable names with '_'.
+ [ruby-dev:26107]
+
+ * ruby.c (set_arg0): use also environment variable space for setting
+ $0. [ruby-core:04774]
+
+Wed Apr 27 23:42:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/Makefile.sub (OPTFLAGS): default global optimization to
+ disabled only for VC++6.
+
+Tue Apr 26 22:58:00 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c (ip_invoke_core): call Tcl's "::unknown"
+ command when can't get information of target command.
+
+Mon Apr 25 01:18:43 2005 Tanaka Akira <akr@m17n.org>
+
+ * regex.c: declare rb_warn to have variadic argument. [ruby-core:4751]
+
+Sat Apr 23 19:45:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c (ip_RubyExitCommand): exit with status code
+ via TclTkIp#_eval didn't work. [ruby-talk:139390]
+
+Fri Apr 22 16:41:50 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tcltklib/tcltklib.c (ip_set_exc_message): fixed memory leak.
+
+ * ext/tcltklib/tcltklib.c: eTkCallbackReturn was not initialized.
+
+Thu Apr 21 00:07:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (create_makefile): support platforms have file separator
+ other than /.
+
+ * {bcc32,win32,wince}/Makefile.sub (BUILD_FILE_SEPARATOR): separator
+ of building platform.
+
+ * {bcc32,win32,wince}/Makefile.sub (CP, INSTALL): use COPY command.
+
+Wed Apr 20 23:22:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in, common.mk: miniruby depens on MINIOBJS.
+
+ * dmydln.c (dln_load): dummy function to raise LoadError.
+
+ * cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby
+ can't load extensions on Windows.
+
+Wed Apr 20 23:01:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32/ifchange.bat: delete testing files.
+
+Wed Apr 20 07:27:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * {bcc32,win32,wince}/configure.bat, {bcc32,win32,wince}/setup.mak:
+ add extout option.
+
+ * bcc32/setup.mak: make configuration variables overridable.
+
+Wed Apr 20 04:15:27 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
+
+ * lib/irb.rb lib/irb/* doc/irb: IRB 0.9.5
+
+Tue Apr 19 23:37:09 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * lib/ftools.rb (File.safe_unlink): do not modify a symlinked file.
+
+Tue Apr 19 00:06:20 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb: expand path for ext/**/extconf.rb.
+
+Mon Apr 18 11:25:14 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/zlib/zlib.c (zstream_run): fixed SEGV. [ruby-core:4712]
+
+Sun Apr 17 23:57:49 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake, parse_args): do not expand destdir.
+
+ * ext/extmk.rb (relative_from): treat mere drive letter as an absolute
+ path.
+
+Sat Apr 16 17:01:16 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * 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.
+
+Sat Apr 16 15:27:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.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]
+
+ * mkconfig.rb: purge autoconf value variables.
+
+Sat Apr 16 10:36:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * bcc32/Makefile.sub: quick hack... prepend DESTDIR.
+ still have restriction on DESTDIR ("", "/", "e:")
+
+Sat Apr 16 03:59:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/extconf.rb: check for OPENSSL_cleanse.
+
+ * ext/openssl/openssl_missing.h: ditto.
+
+Thu Apr 14 19:18:30 2005 Minero Aoki <aamine@loveruby.net>
+
+ * lib/fileutils.rb (remove_file): ignore exceptions caused by
+ chmod.
+
+ * lib/fileutils.rb (remove_dir): try to get rights to rmdir.
+ [ruby-Bugs:1502] (2 items backportted from HEAD, rev 1.53-54)
+
+Thu Apr 14 16:57:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * bcc32/Makefile.sub: failed to remove debug information files.
+ fixed: [ruby-dev:26034]
+
+Wed Apr 13 23:40:21 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.3 -> 0.1.4.
+
+ * lib/rss/rss.rb (RSS::Element#converter): fixed converter
+ transmission bug.
+
+Wed Apr 13 21:20:35 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * configure.in (mingw32): extract msvcr*.dll from objdump result.
+
+Wed Apr 13 20:24:30 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (mingw32): use actual runtime DLL name as ruby DLL
+ name and default load path.
+
+ * win32/Makefile.sub, win32/setup.mak: ditto.
+
+Tue Apr 12 15:33:09 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c (ip_finalize): better modification than the
+ previous commit [ruby-dev:26029].
- * common.mk (ext/ripper/ripper.c): $(RM) was not defined.
+Tue Apr 12 12:38:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Nov 21 00:36:09 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (ip_finalize): fix SEGV when Tcl_GlobalEval()
+ modifies the argument string to eval.
- * ext/openssl/lib/openssl/x509.rb
- (OpenSSL::X509::Name::RFC2253DN::StringChar): get rid of a false
- positive assertion in ripper's test.
+Tue Apr 12 02:21:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Nov 21 00:29:51 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (ip_finalize): add existence check of
+ Tcl commands before calling Tcl_GlobalEval().
- * lib/net/imap.rb (Net::IMAP::ResponseParser::BEG_REGEXP): no need to
- use embed string.
+Mon Apr 11 23:47:21 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Nov 21 00:19:17 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/drb/drb.rb: [druby-ja:123] fix: When reference of my object is
+ loaded, the object is tainted.
- * lib/uri/mailto.rb (URI::MailTo::EMAIL_REGEXP): should escape `#`.
+ * test/drb/test_drb.rb: ditto.
-Thu Nov 20 23:17:11 2014 Tanaka Akira <akr@fsij.org>
+Mon Apr 11 22:18:23 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * tool/update-deps: Insert all dependencies found by compiler.
+ * dir.c, file.c (lstat): avoid warnings for mingw.
-Thu Nov 20 15:51:01 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Mon Apr 11 20:11:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/nkf/depend (nkf.o): add nkf.c as dependency.
- bsdmake tries to make nkf.o with nkf-utf8/nkf.c without this.
+ * ext/tcltklib/tcltklib.c (ip_finalize): adhoc patch to avoid SEGV
+ when exit on Tcl/Tk8.3.x.
-Thu Nov 20 08:54:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Apr 11 15:26:25 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * parse.y (struct parser_params): reduce size by reordering
- members and an unused member.
+ * lib/mkmf.rb (configuration): shouldn't output hdrdir twice.
-Thu Nov 20 02:44:27 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Mon Apr 11 12:09:05 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/matrix.rb: Vector#independent? and associated class method
- patch by gogo tanaka [#10451]
+ * {bcc32,win32,wince}/Makefile.sub: ri data was not installed
+ into correct path. [ruby-dev:26011]
-Thu Nov 20 02:32:34 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * bcc32/Makefile.sub: defaulted install-nodoc. [ruby-dev:26011]
- * lib/matrix.rb: Add Vector#angle_with
- Patch by Egunov Dmitriy [#10442]
+Sun Apr 10 10:12:42 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Thu Nov 20 02:10:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/win32ole/win32ole.c(ole_invoke): retry after converting Qnil
+ to VT_EMPTY.
- * parse.y (ripper_flush_string_content, parser_parse_string):
- preserve parsed string content. [ruby-dev:48714] [Bug #10437]
+ * ext/win32ole/win32ole/tests/testWIN32OLE.rb: correct error
+ message string "Unknown" => "unknown".
- * parse.y (ripper_new_yylval): abstract function to create ripper
- wrapper, and make it able to hold another object.
+Sat Apr 9 18:20:31 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Nov 20 01:00:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/image.rb: support to create TkImage object without
+ creating a new image object on Tk.
- * parse.y (reg_named_capture_assign_gen): use predefined ID
- instead of rb_intern.
+ * ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()
-Thu Nov 20 00:54:57 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.
- * internal.h (ruby_init_setproctitle): Declare here.
+ * ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString
+ from (x, y) coords.
-Thu Nov 20 00:26:37 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tkextlib/tile/: add demo and update support status.
- * parse.y (parser_here_document): append byte sequence directly to
- the delayed content instead of creating an intermediate string
+Sat Apr 9 14:42:29 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * sample/rss/tdiary_plugin/rss-recent.rb: supported configuration
+ via Web browser.
+
+Sat Apr 9 11:59:57 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss: backoported from HEAD.
+
+ * lib/rss: refactored.
+ - gave a name to 'x'.
+ - undef_method -> remove_method for avoiding a warning in ruby 1.6.
+
+
+ * lib/rss/parser.rb: @@setter -> @@setters.
+
+ * 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.
+
+ * 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.
+
+ * lib/rss/parser.rb
+ (RSS::BaseListener.install_setter)
+ (RSS::BaseListener.register_uri): changed fallback way.
+
+ * 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.)
+
+
+ * lib/rss/dublincore.rb: supported multiple Dublin Core items.
+ * lib/rss/maker/dublincore.rb: ditto.
+
+ * lib/rss/maker/image.rb: supproted new Dublin Core API.
+
+
+ * lib/rss/maker/base.rb: added default current_element implementation.
+
+
+ * lib/rss/trackback.rb (RSS::TrackBackUtils.new_with_value_if_need):
+ moved to RSS::Utils.
+
+ * lib/rss/utils.rb (RSS::Utils.new_with_value_if_need):
+ moved from RSS::TrackBackUtils.
+
+
+ * lib/rss/maker/image.rb: fixed invalid argument of
+ add_need_initialize_variable bug.
+ * lib/rss/maker/trackback.rb: ditto.
+
+
+ * lib/rss/rss.rb (Hash#merge): added for ruby 1.6.
+
+ * lib/rss/rss.rb (RSS::BaseModel.date_writer): changed to accept nil
+ for date value.
+
+
+ * test/test_dublincore.rb: added tests for plural accessor and
+ multiple Dublin Core items.
+
+ * test/test_setup_maker_1.0.rb: fixed swapped actual and expected
+ values.
+
+ * test/rss/rss-assertions.rb (assert_multiple_dublin_core): added
+ an assertion for testing multiple Dublin Core items.
+
+ * test/rss/test_maker_dc.rb (test_rss10_multiple): added a test
+ for making multiple Dublin Core items.
+
+ * test/rss/test_maker_dc.rb (test_date): added a test for #date=
+ and #dc_date=.
+
+
+ * sample/rss/tdiary_plugin/rss-recent.rb:
+ new option: @options['rss-recent.use-image-link']:
+ use image as link instread of text if available.
+
+ * sample/rss/tdiary_plugin/rss-recent.rb (RSS_RECENT_VERSION):
+ 0.0.5 -> 0.0.6.
+
+Fri Apr 8 20:17:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): hdrdir needs to be defined also in
+ Config::CONFIG.
+
+ * lib/mkmf.rb (configuration, create_makefile): get rid of recursive
+ macro reference.
+
+Fri Apr 8 18:26:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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_sslctx_set_ciphers): ignore the
+ argument if it's nil.
+
+ * ext/openssl/ossl_pkey.c
+ (GetPrivPKeyPtr, ossl_pkey_sign): should call rb_funcall first.
+ (DupPrivPKeyPtr): new function.
+
+ * ext/openssl/ossl_pkey_dh.c: add default DH parameters.
+
+ * ext/openssl/ossl_pkey.h: ditto.
+
+Fri Apr 8 01:55:20 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/sample/demos-{en,jp}/goldberg.rb: reduced window size.
+ [ruby-dev:25992]
+
+Thu Apr 7 23:58:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): keep directory names in Makefile as macros.
+
+ * lib/mkmf.rb (configuration, create_makefile): ditto.
+
+ * lib/mkmf.rb (CXX_EXT): separate C++ extensions.
+
+Thu Apr 7 17:43:25 2005 Shugo Maeda <shugo@ruby-lang.org>
+
+ * eval.c (rb_call0): "return" event hook should be always executed
+ if event_hooks is set. fixed: [ruby-core:04662]
+ (backported from HEAD)
+
+Mon Apr 4 23:17:52 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb (TkComm#array2tk_list): accept enc-mode argument to
+ decide whether convert encoding of each element or not.
+
+ * ext/tk/lib/tk/variable.rb (TkVariable#value=): fail to convert the
+ encoding of array elements when assign an array to an TkVariable
object.
-Wed Nov 19 21:11:01 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Mon Apr 4 10:26:48 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/tk/lib/tk/dialog.rb: fixed typo.
+
+Sun Apr 3 17:16:33 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/win32.{h,c} (rb_w32_fdopen): avoid warning on bcc32.
+ (backported from HEAD)
+
+Sat Apr 2 23:38:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (CP, INSTALL): get rid of less portable options.
+
+ * lib/mkmf.rb (configuration, create_makefile): correct configuration
+ variable.
+
+ * {bcc32,win32,wince}/{Makefile.sub,setup.mak}: leave prefix empty in
+ config.status for backward compatibility. fixed: [ruby-core:04649]
+
+ * lib/mkmf.rb (create_makefile): ensure library directories get made
+ before copying libraries there.
+
+Sat Apr 2 16:59:46 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb: forgot to update RELEASE_DATE
+
+ * ext/tk/lib/tk/variable.rb: fix namespace trouble when autoloading
+
+ * ext/tk/lib/tk/palette.rb: define Tcl variable 'tkPalette' as global
+
+ * ext/tk/lib/tk/dialog.rb: use array2tk_list method when calling
+ Tk.ip_eval.
+
+ * ext/tk/lib/tk/autoload.rb: add autoload entry 'TkDialogObj' and
+ 'TkWarningObj'
+
+Sat Apr 2 02:19:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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.
+
+ * ext/tk/lib/tk/image.rb (TkImage.initialize): accept 'imagename'
+ option to create a image object by the given name.
+
+Thu Mar 31 22:23:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case
+ insensitive file system platforms.
+
+ * README.EXT, README.EXT.ja (Appendix C): utility functions.
+
+Thu Mar 31 14:15:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_engine.c (ossl_engine_s_load): should return
+ value. [ruby-dev:25971]
+
+Thu Mar 31 08:25:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * common.mk (RUBYOPT): clear for the environment RubyGems installed.
+
+ * common.mk (clean-local): keep $(PREP) files till distclean.
+
+ * common.mk (check): do all tests.
+
+Thu Mar 31 06:00:20 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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.)
+
+Thu Mar 31 00:18:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/ifchange.bat, win32/rm.bat: backported from HEAD.
+
+Wed Mar 30 23:44:50 2005 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * 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]
+
+Wed Mar 30 17:41:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c: add TclTkIp#_create_console() method to
+ create a Tcl/Tk's console window.
+
+ * ext/tk/lib/multi-tk.rb: support TclTkIp#_create_console() method.
+
+ * ext/tk/lib/remote-tk.rb: ditto.
+
+ * ext/tk/lib/tk/console.rb: ditto.
+
+ * ext/tk/lib/tk.rb: update RELEASE_DATE
+
+ * ext/tk/sample/demo-*/check2.rb: use 'return' in the Proc object.
+
+ * ext/tk/sample/tkextlib/**: ditto.
+
+Tue Mar 29 22:11:56 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * test/rinda/test_rinda.rb: use DRbObject.new_with instead of reinit.
+ [ruby-dev:25961]
+
+Mon Mar 28 23:40:40 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * 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]
+
+ * lib/drb/gw.rb: ditto.
+
+Mon Mar 28 20:43:34 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/syck/rubyext.c: get rid of warnings caused by a bug of VC.
+
+Mon Mar 28 08:39:49 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/iconv/iconv.c (iconv_create): Iconv::Failure requires 3
+ arguments. (pointed out by NaHi)
+
+Sat Mar 26 22:51:33 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk.rb (_callback_entry_class?): add for checking whether
+ a class is available for a callback entry.
+
+ * ext/tk/lib/tk.rb (after_cancel): add Tk.after_cancel(afterID) method.
+
+ * ext/tk/lib/tk.rb (array2tk_list): change from private module method
+ of TkComm to public module method.
+
+ * ext/tk/lib/tk.rb (cget): add check that slot argument is not
+ empty string.
+
+ * ext/tk/lib/tk.rb (configinfo): ditto.
+
+ * ext/tk/lib/tk/itemconfig.rb (itemcget): add check that slot argument
+ is not empty string.
+
+ * ext/tk/lib/tk/itemconfig.rb (itemconfiginfo): ditto.
+
+ * ext/tk/lib/tk/entry.rb: add TkEntry#icursor and icursor= (alias of
+ cursor and cursor= method).
+
+ * ext/tk/lib/tk/font.rb: improve font treatment when the font name is
+ empty string.
+
+ * ext/tk/lib/tk/variable.rb: add :variable, :window and :procedure
+ type.
+
+ * ext/tk/lib/tk/variable.rb: improve treatment of array-type
+ tkvariable.
+
+ * ext/tk/lib/tkextlib/blt.rb: add commands for zooming.
+
+ * ext/tk/lib/tkextlib/blt/*: bug fix.
+
+ * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and add methods
+ to call TreeCtrl commands for bindings.
+
+ * ext/tk/sample/tkextlib/blt/*: new sample scripts.
+
+ * ext/tk/sample/tkextlib/treectrl/*: ditto.
+
+Fri Mar 25 10:53:16 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * configure.in (WIN32_LEAN_AND_MEAN): removed because a lot of
+ troubles. [ruby-list:40721]
+
+Thu Mar 24 23:10:44 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (macro_defined?): try to compile for an old compiler
+ which doesn't bail out at #error directive. [ruby-dev:25818]
+
+ * lib/mkmf.rb (check_sizeof): refine logging messages.
+
+Thu Mar 24 03:57:48 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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.
+
+ * lib/webrick/server.rb (WEBrick::GenericServer#initialize): if :Port
+ parameter is 0, it should be updated with the port number which
+ actually listened.
+
+Wed Mar 23 00:35:10 2005 Shugo Maeda <shugo@ruby-lang.org>
+
+ * test/ruby/test_settracefunc.rb (test_event): added tests for
+ "class" and "end" and "raise".
+
+Tue Mar 22 22:40:18 2005 Shugo Maeda <shugo@ruby-lang.org>
+
+ * eval.c (rb_call0): check event_hooks instead of trace_func.
+
+Tue Mar 22 17:30:44 2005 Shugo Maeda <shugo@ruby-lang.org>
+
+ * eval.c (rb_add_event_hook): new function to add a hook function for
+ interpreter events. (backported form HEAD)
+
+Sun Mar 20 22:51:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/mkmf.rb (mkmf_failed): check if Makefile is created without
+ create_makefile.
+
+Sat Mar 19 23:48:10 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * misc/ruby-mode.el (ruby-expr-beg): returned true always.
+ fixed: [ruby-list:40683]
+
+Sat Mar 19 00:41:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/font.rb: add some TkFont class methods to get font
+ information without creating a TkFont object.
+
+ * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and define some
+ classes for components of Tk::TreeCtrl
+
+Thu Mar 17 17:42:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * struct.c (make_struct): allow non local-id field
+ names. [ruby-core:04575]
+
+ * struct.c (inspect_struct): ditto.
+
+Wed Mar 16 23:36:02 2005 Shugo Maeda <shugo@ruby-lang.org>
+
+ * eval.c (rb_call0): call_cfunc() should be protected.
+
+ * test/ruby/test_settracefunc.rb: added test for c-return.
+
+Wed Mar 16 22:20:25 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * object.c (str_to_id): fixed typo.
+
+Wed Mar 16 18:08:32 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): reorganize "return" event post.
+
+Tue Mar 15 23:49:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/iconv/iconv.c (Init_iconv): InvalidEncoding also should include
+ Iconv::Failure.
+
+Tue Mar 15 16:38:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tkutil.c (ary2list): give wrong arguments to hash2kv()
+
+Mon Mar 14 19:39:33 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/timer.rb (TkTimer): forgot to clear @return_value
+ when restarting
+
+ * ext/tk/lib/tk/sample/cd_timer.rb: new sample of TkRTTimer
+
+Mon Mar 14 12:21:03 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/timer.rb (TkRTTimer): forgot to reset the callback
+ time. So, 'continue' do all callbacks between 'stop' and 'continue'.
+
+Mon Mar 14 08:14:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * object.c (str_to_id): warn for NUL containing strings.
+
+Mon Mar 14 00:13:49 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/timer.rb (TkRTTimer): correct calculation of offset
+ value. get a little better accuracy.
+
+ * ext/tk/sample/demos-en/widget: use a binding with no local variables
+ when eval a sample script.
+
+ * ext/tk/sample/demos-en/bind.rb: ditto.
+
+ * ext/tk/sample/demos-en/tcolor: ditto.
+
+ * ext/tk/sample/demos-jp/widget: ditto.
- * common.mk (ext/json/parser/parser.c): don't touch parse.c,
- ruby repo is a downstream.
+ * ext/tk/sample/demos-jp/bind.rb: ditto.
-Wed Nov 19 20:38:11 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/sample/demos-jp/tcolor: ditto.
- * common.mk (ext/ripper/ripper.c): use $(PWD) to get
- <build-directory>/ext/ripper.
+Sun Mar 13 10:04:17 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Nov 19 18:12:17 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/rinda/test_rinda.rb: remove test_gc. [ruby-dev:25871]
- * tool/downloader.rb (RubyGems.download): Don't download gem if the
- version is already downloaded. A gem file is versioned and
- it must be identical if the version is the same.
+Thu Mar 10 19:12:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Nov 19 17:59:25 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (lib_eventloop_ensure): mis-delete a timer
+ handler when exit from a recursive called eventloop
- * common.mk (ext/ripper/ripper.c): pass build directory as VPATH.
+ * ext/tk/lib/tk/timer.rb: new TkRTTimer class, which can works for a
+ realtime operation
- * ext/ripper/depend (.y.c): use VPATH for y.tab.c.
+ * ext/tk/sample/tkrttimer.rb: sample of TkRTTimer class
-Wed Nov 19 10:07:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/textmark.rb: move TkTextMark#+ and TkTextMark#- to
+ TkText::IndexModMethods
- * template/prelude.c.tmpl (Prelude#translate): strip VPATH prefix
- from prelude names, so that srcdir differences do not make the
- generated code different.
+ * ext/tk/lib/tk/text.rb: improve TkTextMark#+ and TkTextMark#-, and
+ add them to TkText::IndexModMethods module
-Wed Nov 19 07:45:11 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/sample/tktextio.rb: add test part of "seek by text index
+ modifiers"
- * win32/win32.c (rb_w32_write): should set the error of
- GetOverlappedResult()'s, not WriteFile()'s (it's always
- ERROR_IO_PENDING, of course).
+Thu Mar 10 08:10:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Nov 18 14:16:47 2014 Koichi Sasada <ko1@atdot.net>
+ * re.c (make_regexp): need to free internal regexp structure when
+ compilation fails. [ruby-talk:133228]
- * gc.c (gc_record): add information for debug print.
+Wed Mar 9 20:25:58 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Nov 19 04:49:07 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_write): call
+ rb_sys_fail if errno isn't 0. [ruby-dev:25831]
- * debug.c (set_debug_option): need the declaration.
+ * ext/openssl/lib/openssl/cipher.rb: fix typo. [ruby-dev:24285]
- * debug.c (set_debug_option): use the same macro with the implementation
- at win32/win32.c.
+Wed Mar 9 15:46:35 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Nov 19 04:16:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/server.rb (WEBrick::GenericServer#start): should
+ restore @token if accept failure. suggested by Dominique Brezinski.
+ [ruby-core:04518]
- * parse.y (symbol_list): fix the node type of literal symbol list
- with no interpolation. [ruby-core:66343]
+Wed Mar 9 13:37:57 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Nov 19 00:26:15 2014 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.
- * tool/update-deps: Sort dependencies.
+Tue Mar 8 18:16:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Nov 19 00:24:18 2014 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).
- * enc/encdb.c: Include internal.h.
+Tue Mar 8 13:54:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Nov 18 23:23:45 2014 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c: workaround for some of 4.4BSD-Lite derived OSs.
- * internal.h: Gather declarations in non-header files.
+Tue Mar 8 12:36:17 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Nov 18 23:45:52 2014 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c: document from Sam Roberts
+ <sroberts@uniserve.com> for getsockopt and setsockopt is merged.
+ [ruby-doc:824]
- * debug.c (SET_WHEN): Don't declare debug variables here.
- ruby_initial_gc_stress_ptr is changed int* to VALUE* at r41406.
+Tue Mar 8 01:27:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
- * internal.h (ruby_initial_gc_stress_ptr): Declared.
- (ruby_enable_coredump): Ditto.
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.66
+ fixed: [ruby-dev:25828]
-Tue Nov 18 18:06:43 2014 Tanaka Akira <akr@fsij.org>
+Mon Mar 7 21:35:02 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * include/ruby/io.h (FMODE_WSPLIT): Removed. The write() system call
- is not required to split. It was useful to avoid whole process
- blocking in Ruby 1.8 but not useful since write() is invoked without
- GVL.
- (FMODE_WSPLIT_INITIALIZED): Ditto.
+ * sample/webrick/httpsd.rb: fix typo in comment. suggested by
+ Kazuhiko Shiozaki.
- * io.c (wsplit_p): Removed.
- (io_writable_length): Removed.
- (rb_fcntl): Don't update the removed flags.
+Mon Mar 7 14:55:43 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Nov 18 03:23:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (block_pass): should not push unique number if a block is
+ not an orphan. [ruby-dev:25808]
- * object.c (check_setter_id): show the original argument instead
- of nil on TypeError.
+Wed Feb 16 02:55:21 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Nov 18 03:20:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym):
- fix ID type names.
+ * 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.
-Mon Nov 17 20:17:59 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/openssl/lib/openssl/ssl.rb: set non-blocking flag to the
+ underlying IO.
- * ext/win32ole/win32ole_event.c: use typed data.
+ * ext/openssl/extconf.rb: get rid of GNUmakefile generation.
-Mon Nov 17 12:54:56 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * text/openssl/test_pair.rb: test for IO like methods.
- * lib/rubygems/*, test/rubygems/*: Update to RubyGems 2.4.4
- master (2f6e42e).
+ * test/ruby/ut_eof.rb: test about empty file.
-Mon Nov 17 06:13:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 7 10:22:06 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * proc.c (proc_binding): use the original iseq on a binding from
- proc from method object to get the location.
+ * lib/un.rb: should use OptionParser. (backported form HEAD)
-Sun Nov 16 19:38:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 7 09:18:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_eval.c (rb_current_receiver): new function to return the
- receiver in the current control frame. [Feature #10195]
+ * string.c (rb_str_cmp_m): should not return false but nil.
+ fixed: [ruby-dev:25811]
-Sun Nov 16 19:11:04 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 7 01:22:14 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/timeout.rb (Timeout::ExitException#exception): rescue
- UncaughtThrowError which is specific for throw, instead of
- ArgumentError.
+ * 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.
-Sun Nov 16 18:22:18 2014 Eric Wong <e@80x24.org>
+Mon Mar 7 00:01:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * tool/update-deps: warning to disable ccache
+ * ext/tcltklib/tcltklib.c: fail to call TclTkLib.mainloop when $SAFE==4
-Sun Nov 16 13:11:35 2014 Tanaka Akira <akr@fsij.org>
+Sun Mar 6 16:41:33 2005 Minero Aoki <aamine@loveruby.net>
- * common.mk (CCAN_LIST_INCLUDES): Unused variable removed.
- (ENCODING_H_INCLUDES): Ditto.
- (PROBES_H_INCLUDES): Ditto.
- (VM_CORE_H_INCLUDES): Ditto.
+ * lib/net/http.rb: HTTPHeader holds its header fields as an array
+ (backport from CVS HEAD rev 1.112-1.123). [ruby-list:40629]
-Sun Nov 16 11:07:25 2014 Eric Wong <e@80x24.org>
+ * test/net/http/test_httpheader.rb: new file.
- * test/ruby/test_io.rb (test_readpartial_locktmp):
- remove unnecessary begin/end
+Sun Mar 6 11:47:10 2005 Sam Roberts <sroberts@uniserve.com>
-Sun Nov 16 00:45:23 2014 Tanaka Akira <akr@fsij.org>
+ * lib/pp.rb: rdoced. [ruby-core:4490]
- * common.mk: Specify dependencies for generated C sources.
+Sun Mar 6 11:36:37 2005 Tanaka Akira <akr@m17n.org>
-Sat Nov 15 23:10:45 2014 Tanaka Akira <akr@fsij.org>
+ * lib/pp.rb (File::Stat#pretty_print): Etc.getpwuid and Etc.getgrgid
+ may return nil. [ruby-talk:129826]
+ reported by Daniel Berger.
- * common.mk: No need to declare dependencies which
- will be detected by inference rules.
+Sat Mar 5 18:06:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sat Nov 15 20:34:23 2014 Tanaka Akira <akr@fsij.org>
+ * dir.c (fnmatch): removed unnecessary code. (ruby_1_8 didn't have
+ String#clear, so [ruby-dev:24749] didn't affect it)
- * internal.h: Include ruby.h and ruby/encoding.h to be
- includable without prior inclusion.
+ * win32/win32.c (NtInitialize): ditto. (by numeric.c 1.101.2.14)
-Sat Nov 15 20:46:44 2014 Kouhei Sutou <kou@cozmixng.org>
+Sat Mar 5 16:29:26 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/rexml/test_document.rb
- (REXMLTests::TestDocument::EntityExpansionLimitTest):
- Group tests by general entity and parameter entity.
+ * ext/tk/lib/multi-tk.rb: freeze callback-entry objects
-Sat Nov 15 20:43:31 2014 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tk/lib/tkextlib/tile.rb: support tile-0.6
- * test/rexml/test_document.rb
- (REXMLTests::TestDocument::EntityExpansionLimitTest): Define
- test XML in each test method because (1) each XML in used only
- one test and (2) related data and code should be close.
+Fri Mar 4 19:39:28 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Nov 15 20:39:06 2014 Kouhei Sutou <kou@cozmixng.org>
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#do_includes): replace
+ also locally defined modules.
- * test/rexml/test_document.rb
- (REXMLTests::TestDocument::EntityExpansionLimitTest): Use
- one test method for one test.
+ * ext/iconv/iconv.c: backport Iconv::InvalidEncoding from CVS HEAD.
-Sat Nov 15 20:16:59 2014 Kouhei Sutou <kou@cozmixng.org>
+ * ext/strscan/strscan.c: moved misplaced rdoc.
- * test/rexml/test_document.rb
- (REXMLTests::TestDocument::EntityExpansionLimitTest): Use
- setup and teardown instead of ensure in test.
+Fri Mar 4 15:58:12 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Nov 15 20:11:34 2014 Kouhei Sutou <kou@cozmixng.org>
+ * lib/cgi-lib.rb: add deprecation warning. [ruby-dev:25499]
+ getopts.rb, parsearg.rb, importenv.rb as well.
- * test/rexml/test_document.rb (REXMLTests::TestDocument): Group
- entity expansion limit related tests.
+Fri Mar 4 11:17:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Nov 15 20:09:00 2014 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tcltklib/tcltklib.c (ip_rbUpdateCommand): get rid of
+ warnings with Tcl/Tk 8.3 or former (backport from CVS_HEAD).
- * test/rexml/test_document.rb (REXMLTests::TestDocument::BomTest):
- Fix wrong parent class. It doesn't need inherit tests in
- TestDocument class.
+ * ext/tcltklib/tcltklib.c (ip_rb_threadUpdateCommand): ditto.
-Sat Nov 15 19:48:59 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Mar 4 10:15:30 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/mkmf.rb (depend_rules): support comments during a line.
+ * lib/set.rb (SortedSet::setup): a hack to shut up warning.
+ [ruby-talk:132866]
- * lib/mkmf.rb (depend_rules): apply RULE_SUBST even if the dependency
- file contains path.
+Fri Mar 4 07:07:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
-Sat Nov 15 19:25:46 2014 Tanaka Akira <akr@fsij.org>
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.63
- * common.mk: Remove comments in Dependency lines.
- Notified by usa.
+Thu Mar 3 23:49:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
- * enc/depend: Ditto.
+ * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.62
- * ext/**/depend: Ditto.
+Thu Mar 3 11:49:51 2005 Kouhei Sutou <kou@cozmixng.org>
-Sat Nov 15 16:28:05 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sample/rss/tdiary_plugin/rss-recent.rb: added site information.
- * vm_eval.c (rb_throw_obj): throw UncaughtThrowError instead of
- ArgumentError. [Feature #10480]
+Wed Mar 2 19:53:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Nov 15 14:13:38 2014 Tanaka Akira <akr@fsij.org>
+ * ext/extmk.rb (parse_args): add DESTDIR only when not directed
+ already. fixed: [ruby-dev:25781]
- * tool/update-deps: Extend to fix dependencies.
+Wed Mar 2 17:14:18 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * common.mk: Dependencies updated by tool/update-deps.
+ * ext/tcltklib/tcltklib.c (lib_eventloop_core): fix typo
- * enc/depend: Ditto.
+Wed Mar 2 16:00:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/**/depend: Ditto.
+ * 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.
-Fri Nov 14 17:36:48 2014 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.
- * tool/update-deps: Support GNU Make 4.0.
+ * ext/tk/tcltklib.c: wrap Tcl's original "namespace" command to
+ protect from namespace crash.
-Fri Nov 14 16:59:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: enforce exception-handling.
- * gc.c (default_proc_for_compat_func): check arguments number and
- type, and get rid of reentering this default proc.
+ * ext/tk/lib/multi-tk.rb: catch IRB_EXIT to work on irb.
-Fri Nov 14 16:33:06 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: ditto.
- * gc.c (gc_stat_internal): support compatible layer for
- GC.stat(symbol) type access.
+ * ext/tk/tcltklib.c: add TclTkLib.mainloop_thread?
-Fri Nov 14 16:19:08 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: (bug fix) callback returns a value.
- * gc.c (gc_stat_internal): add compatible layer.
- From Ruby 2.2, keys of GC.stat are changed [Feature #9924].
- To provide compatible layer, GC.stat add a default_proc
- (if default_proc of given Hash object is not set).
+ * ext/tk/lib/tk/canvas.rb (delete): bug fix when multiple arguments.
- At first use of this compatible layer of interpreter process,
- show a warning message like that:
- program: GC.stat[:total_allocated_object]
- warning message: "warning: GC.stat keys were changed from Ruby
- 2.1. In this case, you refer to obsolete `total_allocated_object'
- (new key is `total_allocated_objects').
- Please check <https://bugs.ruby-lang.org/issues/9924>
- for more information."
+ * ext/tk/lib/clock.rb: fix 'no method error'.
- Please correct my English message :)
+ * ext/tk/lib/clock.rb (self.clicks): accept a Symbol argument.
- * hash.c (rb_hash_set_default_proc): export (in internal).
+ * 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.
- * internal.h: ditto.
+ * ext/tk/lib/tkextlib/tclx/tclx.rb: add Tk::TclX.signal to warn the
+ risk of using TclX extension's 'signal' command.
-Fri Nov 14 10:41:25 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/irbtk.rb: irb with Ruby/Tk.
- * gc.c: guard by #if/#endif with GC_ENABLE_INCREMENTAL_MARK
- to hide unused codes.
+ * ext/tk/sample/demos-*/anilabel.rb: bug fix on 'show code'
- * gc.c: similar to GC_ENABLE_LAZY_SWEEP.
+ * ext/tk/sample/demos-*/aniwave.rb: new Ruby/Tk animation demo.
-Fri Nov 14 10:23:35 2014 Eric Wong <e@80x24.org>
+ * ext/tk/sample/demos-*/pendulum.rb: ditto.
- * vm_eval.c (rb_eval_cmd): use pre-defined idCall
+ * ext/tk/sample/demos-*/goldberg.rb: ditto.
-Fri Nov 14 09:25:44 2014 Eric Wong <e@80x24.org>
+ * ext/tk/sample/demos-*/widget: add entries of animation demos.
- * vm_eval.c (rb_yield_splat): add missing GC guard
- [Bug #10509]
+Tue Mar 1 00:47:43 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Nov 14 08:12:40 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/rinda/test_rinda.rb: backport from CVS_HEAD. use
+ MockClock.sleep instead of Kernel.sleep [ruby-dev:25387]
- * gc.c: fix build error caused by implicit conversion with clang.
+Tue Mar 1 00:34:24 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Nov 14 06:54:06 2014 Eric Wong <e@80x24.org>
+ * lib/rinda/tuplespace.rb (Rinda::TupleSpace): improved keeper thread.
- * insns.def (opt_succ): remove Time#succ optimization
- [Feature #10501]
+ * test/rinda/test_rinda.rb: ditto.
-Fri Nov 14 05:29:46 2014 Koichi Sasada <ko1@atdot.net>
+Mon Feb 28 11:42:23 2005 Ian Macdonald <ian@caliban.org>
- * gc.c: refactoring.
+ * exception error messages updated. [ruby-core:04497]
- * gc.c: use GC_ENABLE_INCREMENTAL_MARK instead of USE_RINCGC.
+Mon Feb 28 09:03:09 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gc_start): check FORCE_MAJOR_GC.
+ * ext/socket/socket.c (Init_socket): add bunch of Socket
+ constants. Patch from Sam Roberts <sroberts@uniserve.com>.
+ [ruby-core:04409]
-Fri Nov 14 04:51:18 2014 Koichi Sasada <ko1@atdot.net>
+Wed Feb 23 15:04:32 2005 akira yamada <akira@ruby-lang.org>
- * gc.c: Tuning RincGC parameters.
+ * lib/uri/generic.rb (split_userinfo): should split ":pass" into ""
+ and "pass". [ruby-dev:25667]
- Before this patch, gc_marks_step() marks (white -> grey) fixed
- number objects. However, this strategy does not fit practical
- cases, for example too slow to make progress.
+Wed Feb 23 08:00:18 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- This patch changes this strategy how many objects the
- gc_marks_step() should handle.
+ * array.c (rb_ary_s_create): no need for negative argc check.
+ [ruby-core:04463]
- We can estimate how many times gc_marks_step() is called during
- this major marking (== C) with the free slot number in pooled
- pages. We also can estimate the living object number (== L)
- using last marked_slots value. We can solve this problem (how
- many objects should be process in gc_marks_step()) by L/C.
+ * array.c (rb_ary_unshift_m): ditto.
- * gc.c (rb_objspace_t): add rb_objspace_t::rincgc::pooled_slots and
- step_slots.
+Wed Feb 23 01:57:46 2005 Shugo Maeda <shugo@ruby-lang.org>
-Fri Nov 14 01:26:47 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * lib/net/imap.rb (initialize): handle certs correctly. Thanks,
+ NABEYA Kenichi. (backported from CVS HEAD)
- * lib/net/imap.rb (search_response): parse MODSEQ in SEARCH
- responses properly. [ruby-core:64203] [Bug #10112]
+Tue Feb 22 07:25:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Nov 14 01:03:17 2014 Tanaka Akira <akr@fsij.org>
+ * parse.y (parser_yylex): identfier after dot must not be a variable.
- * test/lib/envutil.rb: Moved from test/ruby/.
+Mon Feb 21 10:04:49 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/lib/find_executable.rb: Ditto.
+ * {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl.
- * test/lib/memory_status.rb: Ditto.
+ * win32/win32.[ch] (fcntl): ditto.
- * test/lib/test/unit.rb: require envutil.
+ * win32/win32.c (rb_w32_connect): support nonblocking mode.
- * test/: Don't require envutil in test files.
+ * 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].
-Thu Nov 13 21:59:58 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Sun Feb 20 00:48:48 2005 Tanaka Akira <akr@m17n.org>
- * lib/rexml/document.rb: add REXML::Document#document.
- reported by Tomas Hoger <thoger@redhat.com> and patched by nahi.
+ * lib/open-uri.rb (URI::FTP#buffer_open): access mechanism
+ re-implemented according to RFC 1738.
+ reported by Guillaume Marcais. [ruby-talk:131650]
-Thu Nov 13 21:51:56 2014 Tanaka Akira <akr@fsij.org>
+Sat Feb 19 18:11:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * test/monitor/test_monitor.rb: Use assert_join_threads.
+ * lib/drb/drb.rb (DRbObject#respond_to?): take two arguments.
+ [ruby-dev:25722]
-Thu Nov 13 21:45:13 2014 Tanaka Akira <akr@fsij.org>
+ * test/drb/drbtest.rb: ditto.
- * test/openssl: Don't specify port number.
+Sat Feb 19 13:52:02 2005 Tanaka Akira <akr@m17n.org>
-Thu Nov 13 21:22:35 2014 Tanaka Akira <akr@fsij.org>
+ * lib/open-uri.rb: call OpenSSL::SSL::SSLSocket#post_connection_check
+ after connection is made.
- * test/openssl/ssl_server.rb: Unused file removed.
- It is not used since r16111, Ruby 1.9.1.
+Sat Feb 19 01:32:03 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Nov 13 18:50:14 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal/lib/bigdecimal/newton.rb: resolved LoadError.
+ [ruby-dev:25685]
- * eval.c (rb_ensure): remove obsolete prot_tag comment. patch by
- Jack Danger at [ruby-core:66238]. [misc #10502]
+ * ext/bigdecimal/sample/linear.rb: ditto.
-Thu Nov 13 18:10:38 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal/sample/nlsolve.rb: ditto.
- * vm.c (rb_vm_make_proc_lambda): similar to rb_vm_make_proc() with
- is_lambda argument.
+ * ext/bigdecimal/lib/bigdecimal/nlsolve.rb: removed because this file
+ is sample script and same file exists in ext/bigdecimal/sample.
-Thu Nov 13 12:11:18 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Feb 18 17:14:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * win32/win32.c (rb_w32_fstat{,i64}): speed up. adjusting
- timestamps in this function is to get rid of the side effect of
- ENV["TZ"]. then, if ENV["TZ"] is not set, no need to adjust.
- this change makes File#stat about 60% faster.
+ * lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
+ of StandardError class, not Exception class. [ruby-core:04429]
-Thu Nov 13 11:56:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Feb 17 20:11:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * st.c: include "internal.h" for STATIC_ASSERT.
+ * lib/drb/drb.rb (DRbServer.default_safe_level): fix typo.
-Thu Nov 13 03:56:38 2014 Eric Wong <e@80x24.org>
+Thu Feb 17 20:11:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (struct heap_page): trivial packing
- 304 => 296 bytes on x86-64
+ * test/digest/test_digest.rb: separate test case for each algorithms.
+ [ruby-dev:25412]
-Wed Nov 12 22:50:12 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Feb 17 11:54:00 2005 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * gems/bundled_gems: Update to test-unit 3.0.6 and minitest 5.4.3.
+ * lib/test/unit/collector.rb (collect_file): now deletes paths added
+ to $LOAD_PATH instead of restoring it verbatim.
-Wed Nov 12 22:30:52 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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/rubygems/*: Update to RubyGems 2.4.3 master (7b1f684).
+ * test/runner.rb: adjusted for new AutoRunner semantics.
-Wed Nov 12 00:26:37 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit.rb: ditto.
- * test/ruby/test_object.rb: Specify an exception class for rescue clause.
+Thu Feb 17 04:21:47 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/dbm/test_dbm.rb: Ditto.
+ * lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
+ fixed: [ruby-core:04444]
- * test/gdbm/test_gdbm.rb: Ditto.
+Thu Feb 17 00:09:45 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * test/sdbm/test_sdbm.rb: Ditto.
+ * test/drb/ignore_test_drb.rb: move TestDRbReusePort to new file
+ [ruby-dev:25238]
-Tue Nov 11 23:43:51 2014 Tanaka Akira <akr@fsij.org>
+ * test/drb/test_drb.rb: add method DRbService.ext_service, move
+ TestDRbReusePort to new file [ruby-dev:25238]
- * test/fileutils/test_fileutils.rb: Use assert_join_threads.
+ * test/drb/test_drb.rb: ditto.
-Tue Nov 11 22:51:14 2014 Tanaka Akira <akr@fsij.org>
+ * test/drb/test_drbssl.rb: ditto.
- * test/resolv/test_dns.rb: Use assert_join_threads.
+ * test/drb/test_drbunix.rb: ditto.
-Tue Nov 11 22:33:08 2014 Tanaka Akira <akr@fsij.org>
+ * test/drb/ut_drb.rb: reduce sleep.
- * test/net/pop/test_pop.rb: Use assert_join_threads.
+Thu Feb 17 00:02:27 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Nov 11 22:07:20 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (is_defined): NODE_IASGN is an assignment.
- * test/net/http/test_https_proxy.rb: Use assert_join_threads.
+Wed Feb 16 23:34:30 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Tue Nov 11 18:09:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/drb/drb.rb: add lazy stop_service. ([druby-ja:109])
- * template/prelude.c.tmpl: move from tool/compile_prelude.rb and
- expand by generic_erb.rb.
+ * lib/drb/extserv.rb: ditto.
-Tue Nov 11 13:01:31 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Feb 16 17:07:57 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/rubygems/commands/contents_command.rb (files_in_default_gem):
- remove useless sort. show_files will sort the result and
- another branch, files_in_gem, doesn't sort.
- it should be removed for consistency.
+ * 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.
- * test/rubygems/test_gem_commands_contents_command.rb
- (test_execute_default_gem): adjust the sort algorithm with
- Gem::Commands::ContentsCommand#show_files, which sort items
- as array of [prefix, basename] not strings.
+Mon Feb 14 23:58:17 2005 Kouhei Sutou <kou@cozmixng.org>
-Tue Nov 11 10:37:09 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/rss/parser.rb (RSS::ListenerMixin::tag_end):
+ fixed invalid namespace handling bug.
- * string.c (sym_equal): use rb_obj_equal().
- rb_obj_equal() is specially optimized in
- opt_eq_func()@vm_insnhelper.c.
+Mon Feb 14 13:12:38 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- This fix is made from this discussion:
- https://www.omniref.com/ruby/2.1.4/symbols/Symbol/%3D%3D#line=8361.
+ * ext/openssl/lib/openssl/ssl.rb
+ (OpenSSL::SSL::SSLSocket#post_connection_check): new method.
-Tue Nov 11 09:38:55 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Feb 14 00:40:49 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * lib/rdoc/known_classes.rb: reverted regression changes of
- rdoc known class.
+ * lib/drb/drb.rb (InvokeMethod.perform): pass DRb info to sub thread.
-Tue Nov 11 00:21:50 2014 Tanaka Akira <akr@fsij.org>
+ * test/drb/test_drb.rb (test_01_safe1_safe4_eval): fix test case.
- * test/net/imap/test_imap.rb: Don't ignore exceptions on server
- threads.
+Sun Feb 13 23:13:46 2005 Kouhei Sutou <kou@cozmixng.org>
-Mon Nov 10 23:34:13 2014 Tanaka Akira <akr@fsij.org>
+ * lib/rss/dublincore.rb (RSS::DublicCoreModel#date{,=}): added
+ convenient methods.
- * test/net/ftp/test_ftp.rb (create_ftp_server): Don't ignore
- exceptions on server thread.
- Delete read_timeout method call to fix NoMethodError.
+ * lib/rss/0.9.rb (RSS::Rss::Channel#date{,=}): ditto.
-Mon Nov 10 20:20:53 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/rss/2.0.rb (RSS::Rss::Channel::Item#date{,=}): ditto.
- * win32/win32.c (rb_w32_read): retry with reduced length if cannot to
- write any data but no error occurs.
+ * test/rss/: added tests for the convenient methods.
-Mon Nov 10 20:04:16 2014 Tanaka Akira <akr@fsij.org>
+Sun Feb 13 22:43:03 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * lib/webrick/server.rb: Setup shutdown pipe in listen method.
+ * lib/drb/drb.rb (DRbServer): add default_safe_level, safe_level,
+ config[:safe_level] ([druby-ja:120])
-Mon Nov 10 19:37:09 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/drb/test_drb.rb, ut_eval.rb, ut_safe1.rb: ditto.
- * win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): new
- function to support nonblock-mode of pipes.
+Sun Feb 13 16:56:52 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * win32/win32.c (rb_w32_read): nonblock-mode pipe returns ERROR_NO_DATA
- if there is no data, but also returns it if remote-end is closed.
+ * lib/webrick/cgi.rb (WEBrick::CGI.start): should set reason-phrase
+ to the value of status header field. ([ruby-dev:40617])
- * win32/win32.c (rb_w32_write): if cannot to write any data, it may be
- blocking.
+Sun Feb 13 00:52:33 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * io.c (rb_io_set_nonblock): use rb_w32_set_nonblock for Windows.
+ * lib/erb.rb (ERB::Util.h, u): make it module_function.
- * ext/io/nonblock/nonblock.c (rb_io_nonblock_set): use ruby's API when
- setting nonblock-mode.
+Sat Feb 12 17:29:19 2005 Tanaka Akira <akr@m17n.org>
- * test/ruby/test_io.rb: test nonblock pipes on Windows.
+ * lib/open-uri.rb (OpenURI.open_loop): send authentication only for
+ the URI directly specified.
-Mon Nov 10 17:24:34 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Feb 12 15:07:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/etc/etc.c (etc_getlogin): set login name encoding properly.
- [ruby-core:66163] [Bug #10493]
+ * random.c (rand_init): suppress warning.
-Mon Nov 10 16:20:42 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Feb 12 13:54:03 2005 Tanaka Akira <akr@m17n.org>
- * lib/rubygems/*.rb: Update to RubyGems master(3e36528).
+ * lib/open-uri.rb: support https if the platform provides CA
+ certificates.
-Mon Nov 10 16:09:43 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Feb 12 06:18:28 2005 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
- * signal.c (rb_f_kill): [DOC] mention known signal list.
- [ruby-core:66162] [Bug #10492]
+ * ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check.
+ [ruby-dev:25675]
-Mon Nov 10 14:17:58 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Feb 11 17:40:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/rdoc/*.rb: Update to RDoc 4.2.0.alpha(579a11c)
+ * ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):
+ new method OpenSSL::X509::Store#set_default_paths.
-Mon Nov 10 12:44:39 2014 Tanaka Akira <akr@fsij.org>
+Fri Feb 11 11:33:53 2005 Tanaka Akira <akr@m17n.org>
- * lib/webrick/server.rb: Less instance variables.
+ * lib/open-uri.rb (URI::HTTP#proxy_open): new option supported:
+ :http_basic_authentication.
+ suggested by Kent Sibilev. [ruby-core:4392]
-Mon Nov 10 12:19:43 2014 Tanaka Akira <akr@fsij.org>
+Fri Feb 11 06:30:07 2005 George Ogata <g_ogata@optushome.com.au>
- * lib/webrick/server.rb (shutdown): Use close() on @shutdown_pipe_w to
- notify readability on the read side of the pipe.
- write_nonblock() is not usable for pipe on Windows.
- (cleanup_shutdown_pipe): Rescue IOError for @shutdown_pipe_w.close.
+ * misc/ruby-mode.el: ignore parenthesis inside heredoc.
+ [ruby-core:04415]
-Mon Nov 10 07:31:59 2014 Tanaka Akira <akr@fsij.org>
+Fri Feb 11 04:54:13 2005 Tilman Sauerbeck <tilman@code-monkey.de>
- * lib/webrick/server.rb (initialize): Initialize shutdown pipe here
- to avoid race condition.
- (cleanup_shutdown_pipe): New private method.
- (cleanup_listener): Extracted from shutdown method.
- Call this method from start method to avoid race condition.
+ * lib/rdoc/generators/html_generator.rb: [ruby-core:04412]
-Mon Nov 10 05:57:53 2014 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/generators/ri_generator.rb: ditto.
- * test/webrick/webrick.cgi: Don't use debug mode.
+Thu Feb 10 11:14:17 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/webrick/webrick_long_filename.cgi: Ditto.
+ * win32/Makefile.sub (COMMON_HEADERS): shouldn't include winsock2.h.
-Sun Nov 9 23:25:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/extconf.rb (sockaddr_storage): remove workaround for
+ mswin32.
- * vm_eval.c (vm_call_super): allow bound proc method to call super
- method.
+Thu Feb 10 10:29:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * vm_insnhelper.c (vm_yield_with_cfunc): push defined class and
- bound proc method entry to the control frame.
+ * ext/curses/curses.c: don't need to check HAVE_WCOLOR_SET excluding
+ window_color_set().
-Sun Nov 9 22:46:13 2014 Tanaka Akira <akr@fsij.org>
+Thu Feb 10 00:47:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/open-uri: Test server log in server thread.
+ * struct.c (make_struct): fixed: [ruby-core:04402]
- * test/webrick: Ditto.
+Wed Feb 9 08:07:08 2005 Paul Duncan <pabs@pablotron.org>
-Sun Nov 9 22:28:34 2014 Tanaka Akira <akr@fsij.org>
+ * ext/curses/curses.c (window_color_set): [ruby-core:04393]
- * lib/webrick/httpstatus.rb: require webrick/accesslog for AccessLog.
+Tue Feb 8 23:51:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sun Nov 9 21:03:59 2014 Tanaka Akira <akr@fsij.org>
+ * lib/drb/drb.rb: reject :instance_eval, :class_eval, :module_eval
+ [druby-ja:117]
- * test/webrick: Fix the argument order of assert_equal.
+Tue Feb 8 13:06:12 2005 Sam Roberts <sroberts@uniserve.com>
-Sun Nov 9 20:29:01 2014 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
+ [ruby-talk:130092]
- * test/webrick: Store log in an array.
+Tue Feb 8 09:30:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/net/http: Ditto.
+ * lib/cgi.rb (CGI::Cookie): [ruby-talk:130040]
- * test/open-uri: Ditto.
+Tue Feb 8 00:19:02 2005 Tanaka Akira <akr@m17n.org>
-Sun Nov 9 18:35:36 2014 Tanaka Akira <akr@fsij.org>
+ * lib/resolv.rb (Resolv::DNS::Name#subdomain_of?): new method.
+ (Resolv::DNS::Name#inspect): ditto.
+ Suggested by Sam Roberts. [ruby-talk:129086]
- * test/xmlrpc: Refine log test.
+Mon Feb 7 10:06:30 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Nov 9 18:33:33 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * object.c: [ruby-doc:818]
- * lib/unicode_normalize/normalize.rb: Replaced if-else by
- case in self.normalized? in parallel to r48309.
+Mon Feb 7 01:56:20 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Nov 9 18:07:00 2014 Tanaka Akira <akr@fsij.org>
+ * instruby.rb, rubytest.rb (srcdir): no longer embed srcdir into
+ rbconfig.rb. (backported from CVS HEAD)
- * test/xmlrpc: Use assert_join_threads.
+ * 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.
-Sun Nov 9 14:06:13 2014 Tanaka Akira <akr@fsij.org>
+ * lib/mkmf.rb (create_makefile): should support header files in
+ depend file.
- * test/xmlrpc: Test webrick error log is empty.
+Mon Feb 7 01:21:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Nov 9 13:47:02 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/extconf.rb: check if getaddrinfo() works fine only when
+ wide-getaddrinfo option is not given. fixed: [ruby-dev:25422]
- * gc.c (is_incremental_marking): use #if/#else because
- rb_objspace_t::flags::during_incremental_marking is not defined
- when GC_ENABLE_INCREMENTAL_MARK is 0.
+ * lib/mkmf.rb ($extmk): check if under ext directory.
- * gc.c (will_be_incremental_marking, is_full_marking): similar fix.
+ * lib/mkmf.rb (Logging.postpone): allow recursive operation.
-Sun Nov 9 12:16:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/mkmf.rb (try_constant): make sure if really a constant, reduce
+ the number of times of compile.
- * lib/securerandom.rb (SecureRandom.gen_random): separate
- implementation details and select at the load time.
+ * lib/mkmf.rb (have_macro, have_var, byte_order): new functions.
-Sun Nov 9 12:09:38 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/mkmf.rb (find_library): allow directory list with separators.
- * ext/win32/lib/win32/registry.rb (Win32::Registry::API#Enum{Value,Key):
+ * lib/mkmf.rb (arg_config): manage provided configuration options.
+
+ * lib/mkmf.rb (dir_config): accept arrays of directory names as
+ default values.
+
+ * mkconfig.rb: no longer embed srcdir and compile_dir into
+ rbconfig.rb.
+
+ * lib/mkmf.rb (create_makefile): fix unbalanced parens.
+
+Sun Feb 6 19:23:01 2005 NAKAMURA Usaku <usa@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)
+
+Sun Feb 6 14:14:26 2005 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date.rb (new_with_hash): changed messages of exception.
+
+ * lib/date/format.rb (str[fp]time): undocumented conversion
+ specifications %[1-3] are now deprecated.
+
+Sun Feb 6 12:20:11 2005 Akinori MUSHA <knu@iDaemons.org>
+
+ * bignum.c (rb_big2ulong_pack): One too many arguments are passed
+ to big2ulong().
+
+ * re.c (rb_reg_init_copy, rb_reg_initialize_m): One too many
+ arguments are passed to rb_reg_initialize().
+
+Sun Feb 6 03:24:20 2005 Tanaka Akira <akr@m17n.org>
+
+ * 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.
+
+Fri Feb 4 00:30:45 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss: supported Image module.
+ http://web.resource.org/rss/1.0/modules/image/
+
+Thu Feb 3 23:42:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * 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]
+
+ * ext/stringio/stringio.c (strio_extend, strio_putc): fill with zero
+ extended portion. [ruby-dev:25626]
+
+Wed Feb 2 23:52:53 2005 sheepman <sheepman@tcn.zaq.ne.jp>
+
+ * ext/stringio/stringio.c (strio_truncate): should MEMZERO an extended
+ part. [ruby-dev:25618]
+
+Wed Feb 2 21:56:01 2005 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rss/rss.rb (RSS::Element#convert): added.
+
+ * lib/rss/rss.rb: convert -> need_convert.
+
+ * lib/rss/1.0.rb: ditto.
+
+ * lib/rss/0.9.rb: ditto.
+
+ * lib/rss/2.0.rb: ditto.
+
+ * lib/rss/trackback.rb: ditto.
+
+Tue Feb 1 22:48:48 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/drb.rb (DRb::DRbObject#respond_to?): check marshal_dump and
+ _dump.
+
+Tue Feb 1 00:20:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (aix): fix linker flags on AIX. [ruby-talk:125460]
+
+Mon Jan 31 13:33:21 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tcltklib/tcltklib.c: add invalid namespace check
+
+ * ext/tk/lib/multi-tk.rb: add invalid_namespace? method
+
+ * ext/tk/lib/remote-tk.rb: ditto
+
+Mon Jan 31 10:29:18 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]
+
+Sat Jan 29 09:42:12 2005 Sam Roberts <sroberts@uniserve.com>
+
+ * lib/resolv.rb (Resolv::DNS::Resource::IN::SRV): Added RFC2782 SRV
+ resource record for specifying location of services.
+
+Fri Jan 28 17:16:55 2005 Tanaka Akira <akr@m17n.org>
+
+ * 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.
+
+Thu Jan 27 13:18:03 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * st.c (st_foreach): report success/failure by return value.
+ [ruby-Bugs-1396]
+
+Thu Jan 27 00:15:29 2005 Minero Aoki <aamine@loveruby.net>
+
+ * test/fileutils/test_fileutils.rb (setup): support BSD-style
+ directory group inheritance. (backport from HEAD, rev 1.32)
+
+ * test/fileutils/fileasserts.rb (assert_same_entry): show entry
+ difference. (backport from HEAD, rev 1.4)
+
+Wed Jan 26 23:09:11 2005 Minero Aoki <aamine@loveruby.net>
+
+ * lib/net/protocol.rb (WriteAdapter#puts): should append \n, not
+ prepend. [ruby-talk:128302] (backport from HEAD, rev 1.75)
+
+Wed Jan 26 10:51:50 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (flock_winnt, flock_win95): unlock file even if
+ LOCK_NB is specified. (backported from CVS HEAD)
+
+Tue Jan 25 17:11:51 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ruby.c (proc_options): correct -T option in RUBYOPT. (backported
+ from CVS HEAD)
+
+Tue Jan 25 14:05:52 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * 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]
+
+ * ext/tcltklib/extconf.rb: bug fix; TCL_ENABLE_THREAD flag is inverted
+ [ruby-talk:126360]
+
+ * ext/tcltklib/extconf.rb: add yet another native-thread check
+
+ * ext/tk/tkutil.c: fix SEGV bug; NULL string pointer when finalize
+ Ruby interpreter
+
+ * ext/tk/lib/multi-tk.rb: avoid warning for deleted safeTk ip frame
+
+ * ext/tk/lib/tk/bindtag.rb: bug fix; new method of named bindtag
+ doesn't return the created object [ruby-dev:25479]
+
+ * ext/tk/lib/tk/menu.rb: bug on treating arguments [ruby-dev:25479]
+
+ * ext/tk/lib/tk.rb: bug fix; cannot accept a callback ID string for
+ a command argument [ruby-dev:25479]
+
+ * ext/tk/lib/multi-tk.rb: ditto
+
+ * ext/tk/lib/tk/*.rb: ditto
+
+ * ext/tk/lib/tkextlib/*.rb: ditto
+
+ * ext/tk/sample/demos-jp/anilabel.rb: new demo script
+
+ * ext/tk/sample/demos-en/anilabel.rb: ditto
+
+ * ext/tk/sample/tkHTML/ss.rb: local variable scope bug fix
+ [ruby-dev:25479]
+
+Mon Jan 24 15:44:25 2005 Tilman Sauerbeck <tilman@code-monkey.de>
+
+ * lib/rdoc/parsers/parse_c.rb: allow whitespace after function names.
+ [ruby-core:4296]
+
+ * lib/rdoc/parsers/parse_simple.rb: adds support for private comments
+ in the "simple" parser. [ruby-core:4301]
+
+Mon Jan 24 15:44:25 2005 Charles Mills <cmills@freeshell.org>
+
+ * 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]
+
+Mon Jan 24 15:44:25 2005 Florian Gro <florgro@gmail.com>
+
+ * lib/rdoc/parsers/parse_rb.rb: Logic for def Builtin.method() end
+ [ruby-core:4302]
+
+Mon Jan 24 15:44:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * document updates - [ruby-core:04296], [ruby-core:04301],
+ [ruby-core:04302], [ruby-core:04307]
+
+Sun Jan 23 12:41:16 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.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.
+
+ define capitalized method as well under that circumstance.
+
+Sun Jan 23 05:24:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_ocsp.c (ossl_ocspreq_to_der): should call
+ GetOCSPReq at first.
+
+Sat Jan 22 23:09:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/ssl.rb (accept): rescue SSLError. [druby-ja:110]
+
+Sat Jan 22 22:35:03 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+
+ * lib/drb/unix.rb: fail if UNIXFileOwner is set. [druby-ja:111]
+
+Fri Jan 21 23:58:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ext/stringio/stringio.c (strio_set_pos): clear EOF flag.
+ [ruby-talk:127511]
+
+Fri Jan 21 20:07:02 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/resolv.rb (Resolv::DNS::Config.resolv): don't raise ResolvError.
+ reported by Sam Roberts. [ruby-talk:127133]
+
+Fri Jan 21 16:58:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * dir.c (rb_push_glob): should work for NUL delimited patterns.
+
+Fri Jan 21 13:58:37 2005 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/imap.rb (u8tou16): fixed typo. fixed: [ruby-list:40546]
+ (backported from CVS HEAD)
+
+Fri Jan 21 09:30:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * rubyio.h (rb_eof_error): should mark as NORETURN. (backported
+ from CVS HEAD)
+
+Fri Jan 21 00:31:36 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * ext/syck/rubyext.c (syck_parser_bufsize_set): avoid VC++ warning
+ "local variable 'size' used without having been initialized".
+
+Thu Jan 20 19:03:24 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): shouldn't set $extflags on mswin32.
+
+ * win32/Makefile.sub (LIBRUBY_SO): should use $DLDOBJS instead of
+ $EXTOBJS.
+ fixed: [ruby-core:04290] (backported from CVS HEAD)
+
+Thu Jan 20 11:42:02 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (rb_str_new4): should propagate taintedness.
+
+ * struct.c (rb_struct_set): use original method name, not callee
+ name, to retrieve member slot. [ruby-core:04268]
+
+ * time.c (time_strftime): protect from format modification from GC
+ finalizers.
+
+Wed Jan 19 18:06:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * lib/ipaddr.rb (to_s, test_to_s): too many colons with some cases.
+ (backported from CVS HEAD)
+
+Wed Jan 19 01:16:30 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf): ignore
+ domain and search directive without an argument.
+ reported by Sam Roberts. [ruby-talk:126781]
+
+Tue Jan 18 15:03:05 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/ssl.rb (WEBrick::Config::SSL): the default value
+ of :SSLEnable is false.
+
+ * lib/webrick/server.rb (WEBrick::Daemon.start): prepared stdio
+ don't allow changing its mode.
+
+ * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):
+ should delete trailing LF from the result of pack("m*").
+
+ * 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.
+
+ * lib/webrick/httputils (WEBrick::HTTPUtils.parse_qvalues):
+ refine regexp (and change the name of a local variable).
+
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils#escape_path): add
+ new method to escape URI path component.
+
+ * lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line): should
+ escape SCRIPT_NAME and PATH_INFO before being parsed as a URI.
+
+ * test/webrick/*, sample/webrick/httpproxy.rb: add new file.
+
+Mon Jan 17 23:33:46 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (aix): fix typo. [ruby-talk:126401]
+
+Mon Jan 17 07:08:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/readline/readline.c: suppress warnings.
+
+ * lib/irb/extend-command.rb (IRB::ContextExtender.def_extend_command):
ditto.
-Sun Nov 9 11:48:40 2014 Tanaka Akira <akr@fsij.org>
+ * lib/irb/ext/history.rb (IRB::Context::set_last_value): ditto.
- * test/net/http: Examine webrick log.
+ * lib/irb/ext/history.rb (IRB::Context::eval_history): ditto.
-Sun Nov 9 11:45:19 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/irb/locale.rb (IRB::Locale::real_load): ditto.
- * gems/bundled_gems: upgraded to test-unit 3.0.5.
+ * lib/irb/slex.rb (SLex::Node::create_subnode): remove garbage.
-Sun Nov 9 11:40:50 2014 Tanaka Akira <akr@fsij.org>
+Mon Jan 17 00:09:42 2005 WATANABE Hirofumi <eban@ruby-lang.org>
- * defs/known_errors.def: More errors for FreeBSD.
+ * lib/uri/common.rb (PORT): typo fix. fixed: [ruby-core:04256]
-Sun Nov 9 11:25:11 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+Sat Jan 15 14:57:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gems/bundled_gems: upgraded to power_assert 0.2.0.
+ * ruby.c (proc_options): ignore trailing CRs at the end of short
+ options as well as long options. fixed: [ruby-core:04232]
-Sun Nov 9 10:31:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 15 13:35:16 2005 Kouhei Sutou <kou@cozmixng.org>
- * lib/securerandom.rb: set the script encoding to make a string
- literal in SecureRandom::Kernel32.last_error_message single byte
- encoding so msg[] works in bytes, since FormatMessage() returns
- the size in TCHARs, not in characters.
+ * lib/rss/rss.rb (RSS::VERSION): 0.1.2 -> 0.1.3.
-Sun Nov 9 09:50:22 2014 Tanaka Akira <akr@fsij.org>
+ * lib/rss/rss.rb: accept inheritance. [ruby-talk:126104]
- * test/webrick: Refine log tests.
+Thu Jan 13 04:48:53 2005 Tanaka Akira <akr@m17n.org>
-Sun Nov 9 08:58:05 2014 Tanaka Akira <akr@fsij.org>
+ * io.c (io_fread): don't warn nonblocking behavior by default.
- * defs/known_errors.def (EHWPOISON): New errno symbol.
- It is defined by glibc-2.16.
+Wed Jan 12 00:36:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Nov 9 05:00:23 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * object.c (rb_class_superclass): superclass of singleton class also
+ should be a singleton class. fixed: [ruby-list:40519]
- * lib/securerandom.rb (initialize): call the special method for Win32
- before checking `/dev/urandom` because we know windows doesn't have it.
+Tue Jan 11 09:44:40 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sun Nov 9 04:01:46 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * numeric.c (Init_Numeric): turn off floating point exceptions
+ on bcc32. "1e300".to_f had crashed by overflow.
- * lib/securerandom.rb (SecureRandom::AdvApi32): split from `initialize`.
- thanks @zzak to remember it.
+Tue Jan 11 03:10:10 2005 Minero Aoki <aamine@loveruby.net>
-Sun Nov 9 02:05:33 2014 Tanaka Akira <akr@fsij.org>
+ * lib/fileutils.rb (copy_entry): could not copy symbolic link.
+ [ruby-talk:125733]
- * test/net/http/utils.rb: Don't connect to spawned server
- before actual test.
+ * lib/fileutils.rb (copy_stream): use read/write instead of
+ sysread/syswrite.
-Sun Nov 9 01:51:50 2014 Benoit Daloze <eregontp@gmail.com>
+Mon Jan 10 23:08:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c (Module#const_defined?): [DOC] Revise the documentation.
- Patch by Xavier Noria.
- [Fixes GH-754] https://github.com/ruby/ruby/pull/754
+ * variable.c (rb_autoload): hide internal data from ruby level.
+ fixed: [ruby-dev:25435], [ruby-list:40498]
-Sun Nov 9 00:37:44 2014 Tanaka Akira <akr@fsij.org>
+Mon Jan 10 01:22:55 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/webrick: Examine log and use assert_join_threads.
+ * gc.c (rb_data_object_alloc): klass may be NULL.
+ [ruby-list:40498]
-Fri Nov 7 00:00:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jan 9 03:12:58 2005 Tanaka Akira <akr@m17n.org>
- * template/unicode_norm_gen.tmpl: expand kompatible_table so that
- recursive expansion is not needed at runtime.
+ * io.c (io_fread): warn nonblocking behavior.
+ (io_readpartial): new method IO#readpartial.
-Thu Nov 6 23:58:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 8 04:38:47 2005 why the lucky stiff <why@ruby-lang.org>
- * pack.c (pack_pack): escape unprintable characters and preserve
- the encoding of warning message.
+ * lib/yaml.rb: Kernel#y requires an argument.
-Thu Nov 6 23:55:18 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jan 7 21:12:29 2005 TAMURA Takashi <sheepman@tcn.zaq.ne.jp>
- * string.c (sym_printable): QUOTE() should not raise an exception
- even on invalid byte sequence.
+ * random.c (rand_init): use ALLOC_N instead of ALLOCA_N
+ [ruby-dev:25426]
-Thu Nov 6 21:44:36 2014 Tanaka Akira <akr@fsij.org>
+Fri Jan 7 18:03:35 2005 Tanaka Akira <akr@m17n.org>
- * test/test_unicode_normalize.rb: Rename TestNormalize to
- TestUnicodeNormalize.
- Define constants under TestUnicodeNormalize.
+ * gc.c (mark_locations_array): avoid core dump with -O3.
+ [ruby-dev:25424]
-Thu Nov 6 21:22:59 2014 Tanaka Akira <akr@fsij.org>
+Thu Jan 6 20:31:07 2005 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/open-uri/test_open-uri.rb: Check empty webrick log.
+ * ext/zlib/zlib.c (zstream_end): should return value. (backported
+ from CVS HEAD)
-Thu Nov 6 19:27:34 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Jan 6 19:55:13 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * re.c (unescape_nonascii): cast -1 for the case char is unsigned char.
- If char is signed char, for example gcc for ARM or ppc64, it caused
- infinite loop.
- http://kmuto.jp/build-ruby/arm/ruby-trunk/log/20141106T013005Z.fail.html.gz
- http://rubyci.blob.core.windows.net/f19p8/ruby-trunk/log/20141106T090217Z.fail.html.gz
+ * win32/win32.c (rb_w32_close): didn't close socket handle.
+ [ruby-dev:25414]
-Thu Nov 6 09:53:18 2014 Eric Wong <e@80x24.org>
+ * win32/win32.c (rb_w32_open_osfhandle): bcc32's _open_osfhandle
+ never set EMFILE.
- * lib/uri/rfc2396_parser.rb (initialize): reduce bytecode size
- 2088 => 1332 bytes on 32-bit x86
+Thu Jan 6 17:14:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Nov 6 08:49:49 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * random.c (random_seed): O_NONBLOCK isn't defined on some
+ platforms. [ruby-dev:25417]
- * lib/unicode_normalize/normalize.rb: Comment clarification.
+Thu Jan 6 13:45:35 2005 Tanaka Akira <akr@m17n.org>
-Wed Nov 5 23:43:24 2014 Naohisa Goto <ngotogenome@gmail.com>
+ * lib/time.rb: recognize +00:00 and GMT as a localtime.
- * 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]
+Thu Jan 6 07:58:28 2005 Dave Thomas <dave@pragprog.com>
- * compile.c (STRICT_ALIGNMENT): defined if strict alignment is required
+ * lib/rdoc/usage.rb (RDoc::RDoc.usage_no_exit): Allow for colons
+ in path names on DOS machines. (thanks to Johan Nilsson)
- * compile.c (ALIGNMENT_SIZE, ALIGNMENT_SIZE_MASK, PADDING_SIZE_MAX):
- new macros for alignment word size, bit mask, max size of padding.
+Wed Jan 5 20:16:32 2005 Tanaka Akira <akr@m17n.org>
- * compile.c (calc_padding): new function to calculate padding size.
+ * random.c (limited_big_rand): didn't work if SIZEOF_BDIGITS == 2.
+ [ruby-dev:25408]
-Wed Nov 5 23:24:45 2014 Tanaka Akira <akr@fsij.org>
+ * random.c (random_seed): refined.
- * test/open-uri/test_open-uri.rb: Don't ignore webrick's log.
+Wed Jan 5 12:49:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 5 19:20:08 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_thread_initialize): Thread objects cannot be initialized
+ again. fixed: [ruby-core:04067]
- * lib/webrick/server.rb: Stop listener loop properly.
- [ruby-core:66085] [Bug #10478] Fixed by Charles Nutter.
+Wed Jan 5 10:48:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Nov 5 17:20:29 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c (dir_s_mkdir): win32 special processing doesn't need any
+ longer. (backported from CVS HEAD)
- * include/ruby/intern.h (rb_disable_super, rb_enable_super): warn
- as deprecated at build time, instead of ignoring silently or
- warning at runtime only.
+ * win32/win32.[ch] (rb_w32_mkdir): new function. POSIX.1 compatible
+ interface. (backported from CVS HEAD)
-Wed Nov 5 16:55:52 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.[ch] (rb_w32_rmdir): new function. (backported from CVS
+ HEAD)
- * proc.c (rb_f_lambda): remove deprecated function, which has been
- unavailable from extension libraries.
+Wed Jan 5 02:30:11 2005 Tanaka Akira <akr@m17n.org>
-Wed Nov 5 16:26:58 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * include/ruby/intern.h (rb_clear_cache): mark as deprecated, not
- only warnings at runtime.
+Tue Jan 4 23:25:29 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Nov 5 15:05:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big_rand): should return positive random number.
+ [ruby-dev:25401]
- * string.c (rb_str_{,l,r}strip_bang): rb_str_subseq() will not
- NUL-terminate the result string, in the future, so it will not
- be needed in other cases.
+Tue Jan 4 11:15:29 2005 TAMURA Takashi <sheepman@tcn.zaq.ne.jp>
-Wed Nov 5 14:11:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big_rand): do not use rb_big_modulo to generate
+ random bignums. [ruby-dev:25396]
- * common.mk (lib/unicode_normalize/tables.rb): do nothing unless
- BASERUBY is available. MINIRUBY cannot load extension libraries,
- so cannot update Unicode data.
+Mon Jan 3 14:01:54 2005 Tanaka Akira <akr@m17n.org>
-Wed Nov 5 12:13:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * random.c (random_seed): don't use /dev/urandom if it is not
+ character device.
- * string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by
- copying necessary part only.
+Mon Jan 3 11:37:42 2005 Tanaka Akira <akr@m17n.org>
- * string.c (rb_str_strip_bang, rb_str_strip): ditto.
+ * random.c (random_seed): use /dev/urandom if available.
+ [ruby-dev:25392]
-Wed Nov 5 12:13:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jan 3 07:46:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by
- copying necessary part only.
+ * 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]
- * string.c (rb_str_strip_bang, rb_str_strip): ditto.
+ * lib/webrick/httpauth/digestauth.rb
+ (WEBrick::HTTPAuth::DigestAuth#_authenticate): fix digest calculation.
+ This patch is contributed by sheepman. [ruby-list:40482]
-Wed Nov 5 10:54:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): terminate
- wchar strings with wchar 0.
+ * test/webrick/test_httpauth.rb: new file.
-Tue Nov 4 21:23:22 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Jan 1 04:20:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/win32/lib/Win32API.rb: Fiddle::Importer is defined in
- fiddle/import.rb and it's not loaded implicitly.
+ * ext/openssl/ossl_ns_spki.c (ossl_spki_set_challenge): should call
+ StringValue before GetSPKI. fixed: [ruby-dev:25359].
- * ext/win32/lib/Win32API.rb (Win32API#initialize): `import` is a string.
+Sat Jan 1 01:13:28 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/win32/lib/Win32API.rb (Win32API#initialize):
- Fiddle::Importer::CALL_TYPE_TO_ABI is private constant.
+ * variable.c (rb_autoload): [ruby-dev:25373]
-Tue Nov 4 21:20:07 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Dec 31 14:10:43 2004 Dave Thomas <dave@pragprog.com>
- * lib/securerandom.rb (SecureRandom.random_bytes): use fiddle directly
- instead of using Win32API.
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item): Fix problem
+ if heading contains formatting.
-Tue Nov 4 21:04:30 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Dec 30 00:41:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rubygems/test_gem_request_set_lockfile.rb
- (test_relative_path_from): driveletter support.
+ * eval.c (svalue_to_avalue): [ruby-dev:25366]
-Tue Nov 4 16:23:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_justify): [ruby-dev:25367]
- * test/rubygems/test_gem_remote_fetcher.rb (RemoteFetcherCleanup):
- close all pooled connections for each tests to fix leaked file
- descriptors.
+Wed Dec 29 11:07:07 2004 Dave Thomas <dave@pragprog.com>
-Tue Nov 4 12:51:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/generators/template/html/kilmer.rb: Update to use new
+ sections.
- * include/ruby/ruby.h (PRIsVALUE), vsnprintf.c (BSD_vfprintf): add
- RUBY_PRI_VALUE_MARK to reduce danger of accidental conflict with
- plain "%i". binary incompatible with extension libraries using
- PRIsVALUE and built for 2.1 and earlier. [EXPERIMENTAL]
+Tue Dec 28 22:31:46 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 4 12:33:44 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * string.c (rb_str_justify): create buffer string after argument type
+ conversion. fixed: [ruby-dev:25341]
- * object.c: fix document of Kernel#String by @suzukaze
- [fix GH-743][ci skip]
+Tue Dec 28 15:41:48 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 4 12:21:45 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/nkf/nkf-utf8/nkf.c (reinit): should initialize all static
+ variables. fixed: [ruby-list:40445]
- * lib/csv.rb: added documentation for skip_blanks option by @decasia
- [fix GH-744][ci skip]
+Tue Dec 28 15:25:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 4 12:09:18 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): second byte is up to
+ 0xfe.
- * lib/open3.rb: fix code formatting in documentation by @JoshCheek
- [fix GH-747][ci skip]
+ * ext/nkf/lib/kconv.rb (Kconv#kconv): should handle UTF8 and UTF16
+ properly.
-Tue Nov 4 08:57:37 2014 Eric Wong <e@80x24.org>
+Tue Dec 28 13:35:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * encoding.c (enc_memsize): remove unnecessary function
- [ruby-core:65304]
+ * ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate): ensure
+ freeing internal zstreams. fixed: [ruby-dev:25309]
-Mon Nov 3 18:09:39 2014 Tanaka Akira <akr@fsij.org>
+ * ext/zlib/zlib.c (rb_deflate_init_copy): replace rb_deflate_clone.
- * test/openssl/utils.rb: The default of :ignore_listener_error is
- changed to false.
+Tue Dec 28 12:26:45 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Nov 3 14:42:37 2014 Koichi Sasada <ko1@atdot.net>
+ * win32/Makefile.sub, win32/setup.mak (RDOCTARGET, install,
+ install-nodoc, install-doc): rdoc support for mswin32.
- * iseq.c (iseq_free): resolve memory leak.
+ * win32/configure.bat (--enable-install-doc, --disable-install-doc):
+ ditto.
-Mon Nov 3 13:49:18 2014 Koichi Sasada <ko1@atdot.net>
+Mon Dec 27 20:02:14 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * iseq.c (iseq_memsize): catch up recent changes.
+ * ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp
-Mon Nov 3 13:38:28 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: ditto
- * vm_core.h: change semantics of opt_num and opt_table.
- `opt_num' was the number of optional parameters + 1.
- `opt_table' has "opt_num" entries.
+Mon Dec 27 16:55:17 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- Change them to:
- `opt_num' is the number of optional parameters.
- `opt_table' has "opt_num + 1" entries.
+ * ext/openssl/ossl_x509name.c (Init_ossl_x509name): should use
+ rb_hash_new to get exactly a Hash. fix [ruby-dev:25325].
- This change simplify parameter fitting logics.
+Mon Dec 27 16:29:56 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * compile.c: catch up this change.
+ * string.c (rb_str_justify): [ruby-dev:25341]
- * iseq.c: ditto.
+Mon Dec 27 15:47:48 2004 Minero Aoki <aamine@loveruby.net>
- * proc.c: ditto.
+ * test/fileutils/fileasserts.rb: sync with HEAD.
- * vm_args.c: ditto.
+ * test/fileutils/test_fileutils.rb: ditto.
-Mon Nov 3 11:47:44 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/fileutils/test_nowrite.rb: ditto.
- * NEWS: added period into Matrix section. [ci skip]
- [misc #10446][ruby-core:65987]
+Mon Dec 27 15:21:07 2004 Minero Aoki <aamine@loveruby.net>
-Mon Nov 3 09:43:30 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/fileutils.rb (mv): should raise error when moving a
+ directory to the (empty) directory. [ruby-talk:124368]
+ (backport from HEAD 1.48)
- * vm_args.c: fixed build error with clang
+ * lib/fileutils.rb (mv): wrongly did not overwrite file on Win32
+ platforms. (backport from HEAD 1.48)
-Mon Nov 3 09:32:46 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Dec 25 11:11:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/uri/rfc3986_parser.rb (URI::RFC3986_Parser::RFC3986_URI):
- allow '[' and ']' for URI input (and escape). [Bug #10402]
+ * stable version 1.8.2 released.
- * lib/uri/generic.rb (URI#query=): escape '[', '\', and ']'.
+Sat Dec 25 04:23:49 2004 Minero Aoki <aamine@loveruby.net>
-Mon Nov 3 07:49:34 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/fileutils.rb (mkdir, mkdir_p): should ensure directory
+ permission. (backportted from HEAD, 1.47)
- * vm_core.h: change iseq parameter data structure.
- https://bugs.ruby-lang.org/issues/10440#change-49694
+ * lib/fileutils.rb (traverse, remove_dir): untaint trasted
+ objects. (backportted from HEAD, 1.46)
- * change terminology `arg' to `param'.
- * move rb_iseq_t::arg_* to rb_iseq_t::param.
- * move rb_iseq_t::arg_size to rb_iseq_t::param::size.
- * move rb_iseq_t::argc to rb_iseq_t::param::lead_num.
- * move rb_iseq_t::arg_opts to rb_iseq_t::param::opt_num.
- * move rb_iseq_t::arg_rest to rb_iseq_t::param::rest_start.
- * move rb_iseq_t::arg_post_num to rb_iseq_t::param::post_num.
- * move rb_iseq_t::arg_post_start to rb_iseq_t::param::post_start.
- * move rb_iseq_t::arg_block to rb_iseq_t::param::block_start.
- * move rb_iseq_t::arg_keyword* to rb_iseq_t::param::keyword.
- rb_iseq_t::param::keyword is allocated only when keyword
- parameters are available.
- * introduce rb_iseq_t::param::flags to represent parameter
- availability. For example, rb_iseq_t::param::flags::has_kw
- represents that this iseq has keyword parameters and
- rb_iseq_t::param::keyword is allocated.
- We don't need to compare with -1 to check availability.
- * remove rb_iseq_t::arg_simple.
+Sat Dec 25 01:28:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * compile.c: catch up this change.
+ * io.c: cancel io_reopen() change on Dec. 24th.
- * iseq.c: ditto.
+ * dln.c: use <dlfcn.h> for NetBSD. [ruby-dev:25313]
- * proc.c: ditto.
+ * io.c (rb_f_select): IO list could be altered. [ruby-dev:25312]
- * vm.c, vm_args.c, vm_dump.c, vm_insnhelper.c: ditto.
+Fri Dec 24 23:51:48 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * iseq.c (iseq_data_to_ary): support keyword argument.
+ * bcc32/Makefile.sub: bcc32 should use RTL dll (backport from HEAD)
+ [ruby-dev:25306]
-Mon Nov 3 03:39:04 2014 Koichi Sasada <ko1@atdot.net>
+ * win32/win32.[ch]: ditto.
- * test/ruby/test_method.rb: r48239 makes this test green.
+Fri Dec 24 23:27:18 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Nov 03 03:02:38 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/image.rb: TkPhotoImage#cget bug fix
- * rewrite method/block parameter fitting logic to optimize
- keyword arguments/parameters and a splat argument.
- [Feature #10440] (Details are described in this ticket)
+Fri Dec 24 18:39:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- Most of complex part is moved to vm_args.c.
+ * win32/win32.[ch]: failed to compile on bcc32 (and probably wince)
+ [ruby-dev:25306]
- Now, ISeq#to_a does not catch up new instruction format.
+Fri Dec 24 02:52:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_core.h: change iseq data structures.
+ * io.c (io_reopen, rb_io_reopen): prohibit to change access mode for
+ special IO ports. [ruby-dev:25225]
- * introduce rb_call_info_kw_arg_t to represent keyword arguments.
- * add rb_call_info_t::kw_arg.
- * rename rb_iseq_t::arg_post_len to rb_iseq_t::arg_post_num.
- * rename rb_iseq_t::arg_keywords to arg_keyword_num.
- * rename rb_iseq_t::arg_keyword to rb_iseq_t::arg_keyword_bits.
- to represent keyword bitmap parameter index.
- This bitmap parameter shows that which keyword parameters are given
- or not given (0 for given).
- It is referred by `checkkeyword' instruction described bellow.
- * rename rb_iseq_t::arg_keyword_check to rb_iseq_t::arg_keyword_rest
- to represent keyword rest parameter index.
- * add rb_iseq_t::arg_keyword_default_values to represent default
- keyword values.
- * rename VM_CALL_ARGS_SKIP_SETUP to VM_CALL_ARGS_SIMPLE
- to represent
- (ci->flag & (SPLAT|BLOCKARG)) &&
- ci->blockiseq == NULL &&
- ci->kw_arg == NULL.
+Fri Dec 24 02:22:53 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_insnhelper.c, vm_args.c: rewrite with refactoring.
+ * ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973]
- * rewrite splat argument code.
- * rewrite keyword arguments/parameters code.
- * merge method and block parameter fitting code into one code base.
+ * ext/syck/rubyext.c (syck_loader_transfer): check type conversion.
- * vm.c, vm_eval.c: catch up these changes.
+ * ext/syck/rubyext.c (syck_parser_assign_io, rb_new_syck_node): duck
+ typing.
- * compile.c (new_callinfo): callinfo requires kw_arg parameter.
+ * ext/syck/rubyext.c (syck_parser_s_alloc, syck_parser_initialize):
+ allocation framework.
- * compile.c (compile_array_): check the last argument Hash object or
- not. If Hash object and all keys are Symbol literals, they are
- compiled to keyword arguments.
+ * ext/syck/rubyext.c (syck_emitter_s_alloc, syck_emitter_initialize):
+ ditto.
- * insns.def (checkkeyword): add new instruction.
- This instruction check the availability of corresponding keyword.
+Fri Dec 24 01:21:00 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- For example, a method "def foo k1: 'v1'; end" is compiled to the
- following instructions.
+ * ext/tk/lib/tkextlib/blt.rb: add BLT extension support
- 0000 checkkeyword 2, 0 # check k1 is given.
- 0003 branchif 9 # if given, jump to address #9
- 0005 putstring "v1"
- 0007 setlocal_OP__WC__0 3 # k1 = 'v1'
- 0009 trace 8
- 0011 putnil
- 0012 trace 16
- 0014 leave
+ * ext/tk/lib/tkextlib/blt/*.rb: ditto
- * insns.def (opt_send_simple): removed and add new instruction
- "opt_send_without_block".
+ * ext/tk/lib/tkextlib/blt/tile/*.rb: ditto
- * parse.y (new_args_tail_gen): reorder variables.
- Before this patch, a method "def foo(k1: 1, kr1:, k2: 2, **krest, &b)"
- has parameter variables "k1, kr1, k2, &b, internal_id, krest",
- but this patch reorders to "kr1, k1, k2, internal_id, krest, &b".
- (locate a block variable at last)
+Thu Dec 23 23:36:28 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (vtable_pop): added.
- This function remove latest `n' variables from vtable.
+ * process.c (proc_setgroups): check if the argument lenght is
+ modified. fixed: [ruby-dev:25285]
- * iseq.c: catch up iseq data changes.
+Thu Dec 23 13:13:33 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * proc.c: ditto.
+ * ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and
+ RELEASE_DATE
- * class.c (keyword_error): export as rb_keyword_error().
+ * ext/tcltklib/extconf.rb: ditto
- * common.mk: depend vm_args.c for vm.o.
+ * ext/tk/tkutil.c: define TkUtil::RELEASE_DATE
- * hash.c (rb_hash_has_key): export.
+ * ext/tk/lib/tk.rb: define Tk::RELEASE_DATE
- * internal.h: ditto.
+Thu Dec 23 09:38:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Nov 3 02:35:32 2014 Koichi Sasada <ko1@atdot.net>
+ * io.c (io_reopen): restore exact mode. fixed: [ruby-core:04003]
- * sample/simple-bench.rb: added to measure performance of simple
- lines.
+Thu Dec 23 00:16:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Nov 3 02:33:43 2014 Koichi Sasada <ko1@atdot.net>
+ * configure.in (bsdi): use $(CC) for LDSHARED. fixed [ruby-dev:25270]
- * gc.c (obj_info): show T_STRING more details.
+Wed Dec 22 11:14:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Nov 2 01:30:32 2014 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_mode_modenum): replace O_ACCMODE with O_RDWR.
+ fixed: [ruby-dev:25273]
- * test/openssl/test_ssl.rb: Don't ignore errors on listener threads,
- as much as possible.
+Wed Dec 22 08:34:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/openssl/test_ssl_session.rb: Ditto.
+ * ext/dl/sym.c (rb_dlsym_initialize): extract internal pointers after
+ all argument conversion. fixed: [ruby-dev:25271]
- * test/openssl/test_partial_record_read.rb: Ditto.
+Wed Dec 22 00:08:01 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Nov 1 23:11:05 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/*, test/soap/*, sample/soap/authheader/*: eval cleanup.
- * test/openssl/utils.rb (start_server): Don't close sockets before
- threads finished.
+Tue Dec 21 22:07:33 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Nov 1 22:06:24 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
+ ossl_asn1_decode_all): temporary value should be marked volatile.
- * test/openssl/test_ssl_session.rb (test_ctx_client_session_cb): Don't
- ignore errors of SSL accept.
- (test_ctx_server_session_cb): Ditto.
+Tue Dec 21 14:40:02 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/openssl/utils.rb (server_loop): Add ignore_ssl_accept_error
- argument.
- (start_server): Refine threads waits.
+ * 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]
- * test/ruby/envutil.rb (assert_join_threads): Show a thread before
- backtrace.
+ * test/openssl/test_asn1.rb: add tests for OpenSSL::ASN1.
-Sat Nov 1 20:40:18 2014 Tanaka Akira <akr@fsij.org>
+Tue Dec 21 12:22:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/openssl/utils.rb (start_server, server_loop): Use a
- pipe to stop server instead of shutdown/close a listening socket.
+ * io.c (io_reopen): keep duplex pipe in correct mode for exception
+ safeness. fixed: [ruby-dev:25152]
-Sat Nov 1 19:24:59 2014 Tanaka Akira <akr@fsij.org>
+Tue Dec 21 12:10:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/ruby/envutil.rb (assert_join_threads): New assertion to
- join multiple threads without exceptions.
+ * ext/tk/lib/tk/grid.rb: rescue bug of 'grid configure' on Tcl/Tk8.3-
-Sat Nov 1 17:09:32 2014 Tanaka Akira <akr@fsij.org>
+Tue Dec 21 00:53:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * 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.
+ * ext/openssl/ossl_asn1.c (ossl_asn1_traverse): [ruby-dev:25261]
-Sat Nov 1 15:45:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto.
- * parse.y (parse_atmark): mere atmark and two atmarks without
- succeeding identifiers are invalid as instance/class variable
- names.
+ * ext/openssl/ossl_asn1.c (ossl_asn1_decode_all): ditto.
-Sat Nov 1 06:31:41 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Mon Dec 20 23:22:26 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/win32ole/win32ole_variant.c: use typed data.
+ * added files:
+ * lib/soap/mapping/wsdl*.rb
+ * lib/wsdl/soap/element.rb
+ * lib/wsdl/xmlSchema/simpleContent.rb
-Fri Oct 31 13:55:28 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * modified files:
+ * lib/soap/*
+ * lib/wsdl/*
+ * lib/xsd/*
+ * test/soap/*
+ * test/wsdl/*
+ * test/xsd/*
+ * sample/soap/*
+ * sample/sdl/*
- * ext/dl/*: remove DL as it is replaced by Fiddle.
- [Feature #5458] Thanks to Jonan Scheffler <jonanscheffler@gmail.com>
- for this patch
+ * summary
+ * imported from the soap4r repository. Version: 1.5.3-ruby1.8.2
- * test/dl/*: ditto.
+ * added several XSD basetype support: nonPositiveInteger,
+ negativeInteger, nonNegativeInteger, unsignedLong, unsignedInt,
+ unsignedShort, unsignedByte, positiveInteger
-Fri Oct 31 15:26:02 2014 Charles Oliver Nutter <headius@headius.com>
+ * HTTP client connection/send/receive timeout support.
- * test/openssl/test_ssl.rb: Add certificate verification chain
- test from JRuby community.
+ * HTTP client/server gzipped content encoding support.
-Fri Oct 31 18:58:02 2014 Charles Oliver Nutter <headius@headius.com>
+ * improved WSDL schema definition support; still is far from
+ complete, but is making step by step improovement.
- * test/psych/test_emitter.rb: Fix line_width test...initial value
- is impl-specific and attr assignment always returns LHS.
+Mon Dec 20 22:56:39 2004 Tanaka Akira <akr@m17n.org>
-Fri Oct 31 22:19:30 2014 Akinori MUSHA <knu@iDaemons.org>
+ * gc.c (stack_end_address): gcc noinline attribute is available since
+ gcc-3.1.
- * ext/digest/lib/digest.rb (Digest()): This function should now be
- thread-safe. If you have a problem with regard to on-demand
- loading under a multi-threaded environment, preload "digest/*"
- modules on boot or use this method instead of directly
- referencing Digest::*. [Bug #9494]
- cf. https://github.com/aws/aws-sdk-ruby/issues/525
+Mon Dec 20 14:07:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Oct 31 21:33:17 2014 Akinori MUSHA <knu@iDaemons.org>
+ * ext/tk/lib/multi-tk.rb: supports new features of Tcl/Tk8.5a2
- * test/digest/test_digest.rb: Drop #!. This no longer runs
- stand-alone because it depends on ruby/envutil.
+ * ext/tk/lib/tk/clock.rb: ditto
-Fri Oct 31 17:22:19 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: ditto
- * win32/setup.mak: $(APPEND) with some arguments insert a space before
- the arguments, so it causes error if the arguments are expected to be
- a macro definition. this fix resolve the build error introduced at
- r48210.
+ * ext/tk/lib/tk/panedwindow.rb: ditto
-Fri Oct 31 16:47:35 2014 Akinori MUSHA <knu@iDaemons.org>
+Mon Dec 20 12:47:13 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/syslog/lib/syslog/logger.rb (Syslog::Logger::VERSION): Bump
- the VERSION to 2.1.0. [ruby-core:64483] [Bug #10159]
+ * ext/openssl/lib/net/https.rb,protocols.rb,telnets.rb: delete
+ doc and code about SSLContext#{key_file,cert_file}.
+ fixed: [ruby-dev:25243]
-Fri Oct 31 16:33:46 2014 Akinori MUSHA <knu@iDaemons.org>
+Mon Dec 20 12:42:17 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/net/imap.rb (Net::IMAP#fetch): [DOC] Document that
- Net::IMAP#fetch will return nil instead of an empty array.
+ * io.c (io_fwrite): workaround for MSVCRT's bug.
+ fixed: [ruby-core:03982]
-Fri Oct 31 12:54:43 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 20 11:21:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * common.mk (.unicode-tables.time): needs Unicode files always,
- and should update after downloading these files.
- [ruby-core:66026] [Bug #10461]
+ * io.c (rb_io_eof): check if closed before clearerr().
+ fixed: [ruby-dev:25251]
-Fri Oct 31 10:16:42 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Dec 20 03:30:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * .travis.yml: reverted r48199, it's unrelated configuration.
+ * lib/cgi/session.rb (CGI::Session#initialize): empty session id was
+ used if request had no session key. fixed: [ruby-core:03981]
-Fri Oct 31 09:58:14 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Dec 20 01:51:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/test_unicode_normalize.rb: added unicode version number to
- test data location.
+ * struct.c (make_struct): [ruby-dev:25249]
-Fri Oct 31 09:56:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Dec 20 00:28:20 2004 Kouhei Sutou <kou@cozmixng.org>
- * .gitignore: ignored unicode data with version directories.
+ * lib/rexml/encodings/SHIFT-JIS.rb: backported from CVS HEAD.
-Fri Oct 31 09:35:30 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/rexml/encodings/SHIFT_JIS.rb: ditto.
- * .travis.yml: tweak build scripts for unicode_normalize.rb.
+Sun Dec 19 17:19:48 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Oct 30 18:47:04 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/ossl_x509store.c
+ (ossl_x509store_set_time): add OpenSSL::X509::Store#time=.
+ (ossl_x509stctx_set_time): add OpenSSL::X509::StoreContext#time=.
- * common.mk: fix for the case ALWAYS_UPDATE_UNICODE=no
+ * test/openssl/ossl_x509store.rb: test certificate validity times.
-Thu Oct 30 13:23:23 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_s): add optional
+ second argument to specify the output format (see also
+ X509_NAME_print_ex).
- * tool/downloader.rb: changed Unicode data download location
- from latest Unicode version to Unicode 7.0.0.
+ * ext/openssl/ossl_x509name.c (ossl_x509name_init): new constants:
+ OpenSSL::X509::Name::COMPAT, OpenSSL::X509::Name::RFC2253,
+ OpenSSL::X509::ONELINE, OpenSSL::X509::MULTILINE.
-Thu Oct 30 11:16:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name::RFC2253DN):
+ new module to provide the parse for RFC2253 DN format.
- * vm_insnhelper.c (vm_callee_setup_arg{_complex,}): try conversion
- by to_ary for a lambda, as well as a proc.
- [ruby-core:65887] [Bug #9605]
+ * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name.parse_rfc2253):
+ new method to parse RFC2253 DN format.
-Wed Oct 29 21:13:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/openssl/ossl_x509name.rb: add tests about RFC2253 DN.
- * parse.y (gettable_gen): warn circular argument reference, for
- transition from 2.1 and earlier. [ruby-core:65990] [Bug #10314]
+ * text/openssl/ssl_server.rb: try to listen ports from 20443 to 20542
+ while EADDRINUSE is raised.
-Wed Oct 29 20:41:01 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * all changes in this entry are backport from 1.9.
- * parse.y (parser_params): remove unused member `cur_mid`.
- this has been taken over by `in_def` since 1.6.
+Sun Dec 19 17:24:59 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 29 14:44:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in (enable_rpath): use rpath flag to embed the library
+ path into extensions on ELF environment. [ruby-dev:25035]
- * load.c (rb_f_load): path name needs to be transcoded to OS path
- encoding. [ruby-list:49994]
+Sun Dec 19 11:01:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 29 11:48:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit.rb: use standalone runner for -e.
- * configure.in (__builtin_setjmp): disable with gcc/clang earlier
- than 4.3 on Mac OS X. [ruby-core:65174] [Bug #10272]
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): accept
+ multiple -p and -x options.
-Wed Oct 29 11:43:43 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#recursive_collect):
+ ditto.
- * lib/matrix.rb: Generalize Vector#cross_product to arbitrary
- dimensions
- based on a patch by gogo tanaka [#10074]
+Sat Dec 18 16:36:23 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 29 11:43:11 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate):
+ disallow interrupt by type conversion. fixed: [ruby-dev:25226]
- * lib/matrix.rb: Add Matrix#adjucate
- patch by gogo tanaka [#10056]
+Sat Dec 18 15:16:41 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed Oct 29 11:42:33 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * 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.
- * lib/matrix.rb: Add aliases for Vector#cross & dot
- patch by gogo tanaka [#10352]
+Sat Dec 18 10:51:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Oct 29 10:00:18 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * dir.c (dir_open_dir): new function. [ruby-dev:25242]
- * gems/bundled_gems: Update latest version of bundled gems.
+Fri Dec 17 18:07:01 2004 Shugo Maeda <shugo@ruby-lang.org>
-Tue Oct 28 16:52:07 2014 Eric Wong <e@80x24.org>
+ * test/readline/test_readline.rb: fix for BSD. Thanks, GOTOU Yuuzou.
+ fixed: [ruby-dev:25218]
- * signal.c (install_sighandler): remove rb_disable_interrupt and
- rb_enable_interrupt calls
- (init_sigchld): ditto
- (Init_signal): disable and enable interrupt once around all
- install_sighandler and init_sigchld to reduce syscalls at start
- [Feature #9345] [ruby-core:59480]
+Fri Dec 17 16:28:12 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Oct 28 16:22:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: fix bug on setting up system encoding
- * ruby.c (process_options, load_file_internal2): should not
- require other files when dump option is given.
- [ruby-dev:48712] [Bug #10435]
+ * ext/tk/lib/tk/event.rb: fix error on require process
-Tue Oct 28 14:51:38 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/lib/tk/font.rb: fix abnormal termination error on Windows
- * configure.in: remove apple-gcc4.2 from CC candidates.
+ * ext/tk/lib/tk/virtevent.rb: TkVirtualEvent::PreDefVirtEvent.new()
+ accepts event-sequence arguments
-Mon Oct 27 20:13:37 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: fail to dump embedded images
- * lib/rexml/entity.rb: keep the entity size within the limitation.
- reported by Willis Vandevanter <will@silentrobots.com> and
- patched by nahi.
+ * ext/tk/lib/tk/text.rb: tag_nextrange and tag_prevrange returns wrong
+ types of values
-Mon Oct 27 17:17:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/texttag.rb: nextrange and prevrange returns wrong
+ types of values
- * proc.c (method_proc): the receiver of binding from method should
- be same as the receiver of the method.
- [ruby-core:65917] [Bug #10432]
+ * ext/tk/lib/tk/text.rb: add TkText::IndexModMethods module and
+ TkText::IndexString class to treat text index modifiers
-Mon Oct 27 16:26:37 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/texttag.rb: use TkText::IndexModMethods module
- * test/ruby/test_super.rb: add a test to check block passing.
+ * ext/tk/lib/tk/textmark.rb: ditto
-Mon Oct 27 15:59:26 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/textimage.rb: ditto
- * gc.c: is_incremental_marking(), will_be_incremental_marking():
- use `&&' with GC_ENABLE_INCREMENTAL_MARK instead of using
- #if/#else/#endif.
+ * ext/tk/lib/tk/textwindow.rb: ditto
-Mon Oct 27 13:40:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/textimage.rb: wrong gravity of text mark for embedded
+ image
- * gc.c (gc_sweep_rest): sweep rest pages regardless of whether
- lazy sweep is enabled or not. based on the patch by Masahiro
- Ide at [ruby-dev:48706]. [Bug #10431]
+ * ext/tk/lib/tk/textwindow.rb: wrong gravity of text mark for
+ embedded window
-Mon Oct 27 11:18:32 2014 Eric Wong <e@80x24.org>
+Fri Dec 17 13:50:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
- * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
- reduce garbage during forks
+ * vms/vmsruby_private.c, vms/vmsruby_private.h: private routines
+ for VMS port are added.
-Sun Oct 25 12:26:26 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * eval.c (ruby_init): change to call VMS private intialization routine.
- * template/insns.inc.tmpl, insns_info.inc.tmpl, known_errors.inc.tmpl,
- minsns.inc.tmpl: fixed path of generating script.
+Fri Dec 17 13:33:58 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Oct 26 12:24:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/cgi/session.rb (CGI::Session#initialize): control adding
+ session_id hidden fields. fixed: [ruby-talk:123850]
- * ext/ripper/lib/ripper/sexp.rb (Ripper.sexp, Ripper.sexp_raw):
- return nil on error. [ruby-dev:48678] [Bug #10405]
+Thu Dec 16 23:25:25 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sun Oct 25 11:24:24 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/drb/drb.rb, lib/drb/ssl.rb: backported from CVS HEAD.
+ [druby-ja:101]
- * string.c: improved comment.
+ * test/drb/test_drb.rb: adjust and reduce sleep (backported from
+ CVS HEAD.)
-Sun Oct 26 07:40:11 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu Dec 16 18:44:58 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/win32ole/win32ole.c (ole_val2variant, ole_invoke): refactoring.
- use ole_variant2variant to convert WIN32OLE_VARIANT object to
- VARIANT object.
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should wait
+ for reading request till data arrive. [ruby-talk:121068]
- * ext/win32ole/win32ole_variant.c: refactoring. add
- ole_variant2variant.
- * ext/win32ole/win32ole_variant.h: ditto.
+ * lib/webrick/server.rb (WEBrick::GenericServer#start_thread):
+ should log about all accepted socket. [ruby-core:03962]
-Sat Oct 25 22:28:17 2014 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/accesslog.rb (WEBrick::AccessLog#setup_params):
+ "%%" and "%u" are supported. [webricken:135]
- * io.c (io_binwrite_string): Test writev() failure.
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::FileHandler#check_filename):
+ :NondisclosureName is acceptable if it is Enumerable.
-Sat Oct 25 20:19:19 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/webrick/config.rb (WEBrick::Config::FileHandler):
+ default value of :NondisclosureName is [".ht*", "*~"].
- * test/test-unicode_normalize.rb: added test_us_ascii.
+Thu Dec 16 18:36:52 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Oct 25 20:09:09 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/openssl/ossl.c (ossl_raise): refine message format.
- * lib/unicode_normalize/normalize.rb: added US_ASCII
- as trivially supported encoding (is always normalized,
- and may appear mixed in with UTF-8 or other Unicode
- encodings).
+Thu Dec 16 16:29:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Oct 25 20:01:01 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/sample/demos-en/widget: modify version check for
+ supporting features
- * test/test-unicode_normalize.rb: added
- test_raise_exception_for_non_unicode_encoding.
+Thu Dec 16 16:03:50 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Oct 25 19:30:30 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/lib/tk/bindtag.rb: bug fix [ruby-talk: 123667]
- * test/test-unicode_normalize.rb: removed unused function.
+ * ext/tk/lib/tk/timer.rb: accept :idle for the interval argument
-Sat Oct 25 18:41:41 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/lib/tk.rb: add TkComm._callback_entry?()
- * template/unicode_norm_gen.tmpl: Adjusted name of generating file.
+ * ext/tk/lib/multi-tk.rb: add MultiTkIp.cb_entry_class
-Fri Oct 24 22:49:42 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/canvas.rb: use TkComm._callback_entry?()
- * parse.y (parser_yylex): dispatch newline and space at fluent
- interface, so that the following identifier does not include the
- space. [ruby-dev:48684] [Bug #10411]
+ * ext/tk/lib/tk/canvastag.rb: ditto
-Fri Oct 24 20:41:36 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * ext/tk/lib/tk/dialog.rb: ditto
- * signal.c (check_reserved_signal_): fix write count since r47991.
+ * ext/tk/lib/tk/optiondb.rb: ditto
-Thu Oct 23 21:42:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/text.rb: ditto
- * hash.c (rb_hash_delete): now does not call the block given to
- the current method. [ruby-core:65861] [Bug #10413]
+ * ext/tk/lib/tk/texttag.rb: ditto
-Thu Oct 23 19:13:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/textwindow.rb: ditto
- * vm_method.c (rb_method_entry_make): warn redefinition only for
- already defined methods, but not for undefined methods.
- [ruby-dev:48691] [Bug #10421]
+ * ext/tk/lib/tk/timer.rb: ditto
-Thu Oct 23 17:19:04 2014 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tk/lib/tk/validation.rb: ditto
- * lib/rexml/source.rb (REXML::IOSource#encoding_updated): Fix a
- bug that can't parse XML correctly when
- Encoding.default_internal is different with XML
- encoding. REXML::Source converts XML encoding on read. So IO
- should not convert XML encoding.
- Based on patch by NAKAMURA Usaku.
- [ruby-dev:48686] [Bug #10418]
+ * ext/tk/lib/tkextlib/*: ditto
- * test/rexml/test_encoding.rb
- (REXMLTests::EncodingTester#test_parse_utf16_with_utf8_default_internal):
- Add the for the above case.
+Thu Dec 16 03:14:28 2004 Minero Aoki <aamine@loveruby.net>
-Thu Oct 23 16:29:02 2014 Kouhei Sutou <kou@cozmixng.org>
+ * 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]
- * test/rexml/test_encoding.rb
- (REXMLTests::EncodingTester#test_parse_utf16): Use meaningful
- test name. "ticket" in the old test name means the ticket in
- REXML's issue tracker. The REXML's issue tracker was gone. So
- "ticket" is meaningless.
+Thu Dec 16 00:33:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rexml/data/ticket_110_utf16.xml: Rename to ...
- * test/rexml/data/utf16.xml: ... this.
+ * hash.c (Init_Hash): remove custom "hash" and "eql?".
-Thu Oct 23 16:18:11 2014 Kouhei Sutou <kou@cozmixng.org>
+Wed Dec 15 18:57:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rexml/test_encoding.rb
- (REXMLTests::EncodingTester#test_ticket_110): Fix expected and
- actual order.
- Patch by NAKAMURA Usaku. Thanks!!!
+ * lib/set.rb (Set::eql): wrong definition. [ruby-dev:25207]
-Thu Oct 23 10:47:16 2014 Eric Wong <e@80x24.org>
+Wed Dec 15 18:48:42 2004 Shugo Maeda <shugo@ruby-lang.org>
- * insns.def (getlocal,setlocal): add comment to def/opt_operand.def
+ * ext/curses/curses.c (window_subwin): call NUM2INT() before
+ GetWINDOW(). (backported from CVS HEAD)
-Thu Oct 23 10:22:41 2014 Eric Wong <e@80x24.org>
+Wed Dec 15 17:03:50 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
- use IO#wait_readable instead of timeout
+ * win32/win32.[ch] (rb_w32_isatty): new function to replace MSVCRT's
+ isatty because it never sets errno. (backported from CVS HEAD)
-Thu Oct 23 10:22:24 2014 Eric Wong <e@80x24.org>
+Wed Dec 15 15:39:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
- ensure exit! during fork failure
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_a): avoid SEGV
+ (rollback the previous commit).
-Thu Oct 23 10:21:21 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Wed Dec 15 16:10:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * NEWS: Added String#unicode_normalize(|!|d?) [ci skip]
+ * object.c (rb_obj_id_obsolete): warn always.
-Thu Oct 23 03:41:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_enable_super): ditto.
- * 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]
+Wed Dec 15 15:31:02 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Oct 23 02:33:01 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/set.rb (Set#==): [ruby-dev:25206]
- * common.mk (update-unicode): invert dependency to run every times.
- [ruby-core:65842] [Bug #10415]
+Wed Dec 15 14:22:10 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * common.mk (after-update): update files under source tree.
- [ruby-core:65840] [Bug #10414]
+ * win32/win32.c (rb_w32_fdisset): check whether the handle is valid.
+ fixed: [ruby-core:03959]
-Wed Oct 22 22:38:59 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Wed Dec 15 10:30:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * 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 (ossl_digest_initialize): [ruby-dev:25198]
-Wed Oct 22 21:31:56 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Dec 14 17:10:09 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * common.mk (prelude.c): add dependency to LIB_SRCS because
- enc/prelude.rb requires lib/unicode_normalize.rb, and it's also
- requires lib/unicode_normalize/tables.rb (=LIB_SRCS).
+ * win32/win32.c (rb_w32_close): need to reset osfhnd().
-Wed Oct 22 21:09:51 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+Tue Dec 14 14:03:57 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * configure.in (nacl_cv_cpu_nick): fix typo in PNaCl.
- (XCFLAGS) Add -isystem flag to pnacl and nacl-newlib
- (CXX): added
+ * ext/openssl/ossl.c (ossl_raise): avoid buffer overrun.
+ [ruby-dev:25187]
- * nacl/GNUmakefile.in (CXX): Added
- (PPROGRAM): Use clang++ instead of clang because libnacl_io
- depends on c++ std lib.
+Tue Dec 14 12:36:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Oct 22 21:07:32 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * lib/cgi/session.rb (CGI::Session::initialize): generate new
+ session if given session_id does not exist. [ruby-list:40368]
- * common.mk (build-ext): avoid trying to build dynamic libraries
- if configured --with-static-linked-ext.
+Mon Dec 13 18:13:52 2004 Tanaka Akira <akr@m17n.org>
-Wed Oct 22 20:33:33 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * 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]
- * common.mk: Fixed grammar in comment [ci skip]
+Mon Dec 13 00:58:02 2004 Tanaka Akira <akr@m17n.org>
-Wed Oct 22 19:18:18 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/pathname.rb (cleanpath_aggressive): make it private.
+ (cleanpath_conservative): ditto.
+ Suggested by Daniel Berger. [ruby-core:3914]
- * tool/unicode_norm_gen.rb: Fixed escaping of backslash and
- double quote ('\\\&' -> "\\\\\\\&"; double quoted string
- is needed to make \& mean last match; double double
- backslashes are needed because of two layers of escaping).
+Sun Dec 12 20:06:38 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Oct 22 18:13:29 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/drb/drb.rb: backported from CVS HEAD.
- * test/test-unicode_normalize.rb: as often said, ruby is sometimes built
- at non-srcdir.
+Sun Dec 12 10:35:10 2004 Dave Thomas <dave@pragprog.com>
-Wed Oct 22 18:12:12 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Don't
+ show an accessor's r/w flag if none was specified
- * test/test-unicode_normalize.rb: Adjusted path for test
- data file (now ../enc/unicode/data/NormalizationTest.txt).
+Sun Dec 12 10:14:03 2004 Dave Thomas <dave@pragprog.com>
-Wed Oct 22 18:07:07 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/rdoc/rdoc.rb (RDoc::RDoc::parse_files): Never exclude files
+ explicitly given on the command line.
- * test/test-unicode_normalize.rb: Removed explicit require,
- changed method names, adjusted copyright.
+Sun Dec 11 23:54:07 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Oct 22 18:00:00 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/*: update to support libraries in ActiveTcl8.4.12.0
+ (see ext/tk/ChangeLog.tkextlib).
- * test/test-unicode_normalize.rb: Importing from
- https://github.com/duerst/eprun/blob/master/test/test_normalize.rb.
- (removing trailing whitespace, fixing EOLs and adding EOL property)
+ * ext/tk/sample/scrollframe.rb: add a new sample.
-Wed Oct 22 08:21:09 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+Sat Dec 11 20:12:21 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * nacl/pepper_main.c (Instance_DidCreate): mount devfs and rebind fd 0
- .. 2 so that stderr goes to the console of the browser.
+ * lib/drb/drb.rb: add DRbRemoteError. [ruby-list:40348],
+ [ruby-list:40390]
-Wed Oct 22 03:47:43 2014 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * test/drb/drbtest.rb: ditto.
- * ext/etc/etc.c (etc_nprocessors_affin): maximum "n" should be 16384.
+ * test/drb/ut_drb.rb: ditto.
-Wed Oct 22 03:37:00 2014 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sat Dec 11 15:38:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/etc/etc.c (etc_nprocessors_affin): minor spell fix.
+ * lib/jcode.rb (String::succ): [ruby-dev:25156]
-Wed Oct 22 03:33:58 2014 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Sat Dec 11 12:41:55 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/etc/etc.c (etc_nprocessors_affin): optimize memory usage a
- bit. Typical rubyist never use 8k cpus machine.
+ * eval.c (run_trap_eval): prototype; avoid VC++ warnings.
-Wed Oct 22 00:01:09 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * ext/socket/getaddrinfo.c: fix typo. fixed: [ruby-core:03947]
- * configure.in (XCFLAGS): Add include path for NaCl libraries.
- (XLDFLAGS): ditto.
- (NACL_LIB_PATH): new substitution
+ * win32/win32.c: need to include dln.h.
- * nacl/nacl-config.rb: support NACL_LIB_PATH
+Sat Dec 11 00:10:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * nacl/package.rb: ditto.
+ * io.c (io_reopen): [ruby-dev:25150]
- * nacl/pepper_main.c: replace old implementations with nacl_io.
+Fri Dec 10 08:39:27 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * nacl/GNUmakefile.in: link nacl_io to pepper_ruby
+ * ext/socket/socket.c (sock_listen): get OpenFile just before calling
+ listen(2). fixed: [ruby-dev:25149]
- * ruby.c (rb_load_file): remove __attribute__((weak)) because the old
- override hack was replaced with nacl_io.
+Thu Dec 9 17:00:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
- * file.c (rb_file_load_ok): ditto.
+ * ext/socket/socket.c, ext/socket/getaddrinfo.c: port to VMS
-Tue Oct 21 17:32:32 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Thu Dec 9 16:31:02 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * common.mk: Adding explicit creation of directory
- enc/unicode/data because git doesn't handle empty
- directories. [patch by Masahiro Ide, filed with r48073]
+ * ext/sdbm/init.c (GetDBM): typo.
-Tue Oct 21 17:12:12 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Thu Dec 9 16:05:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
- * lib/unicode_normalize/tables.rb: Committing to make version
- update easier and more predictable, and reducing compilation
- time.
+ * 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 Oct 21 15:56:56 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Thu Dec 9 14:38:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/unicode_normalize/normalize.rb: Added comment to point to
- relevant portion of Unicode standard for Hangul (de)composition
- identifiers and algorithm.
+ * string.c (rb_str_inspect): escape # which starts an expression
+ substitution. fixed: [ruby-core:03922]
-Tue Oct 21 11:49:16 2014 Andreas Schwab <schwab@suse.de>
+ * string.c (rb_str_dump): not escape # which isn't a substitution.
- * gc.c (mark_current_machine_context) [__mc68000__]: Update stack
- marking.
- (rb_gc_mark_machine_stack) [__mc68000__]: Also handle it here.
+Thu Dec 9 10:54:36 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Oct 20 23:59:38 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/dbm/dbm.c (fdbm_select): [ruby-dev:25132]
- * enc/prelude.rb: we sometimes run ruby without library path (especially
- for test), so should permit to run ruby if unicode_normalize.rb is
- missing.
+ * ext/sdbm/init.c: ditto.
-Mon Oct 20 23:57:58 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/gdbm/gdbm.c: ditto.
- * common.mk (lib/unicode_normalize/tables.rb): enable running (n)make
- in non-srcdir.
+Thu Dec 9 03:08:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Oct 20 23:58:04 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (ip_init): set root-win title to "ruby" when
+ the running script is '-e one-liner' or '-' (stdin).
- * tool/downloader.rb: add -a option to always download regardless
- existing files.
+ * ext/tcltklib/extconf.rb: add find_library("#{lib}#{ver}",..) for
+ stub libs
-Mon Oct 20 23:18:18 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/lib/tk/textmark.rb: TkTextMarkCurrent and TkTextMarkAnchor
+ have a wrong parent class.
- * lib/mkmf.rb: no need to convert path separator for COPY because it's
- ruby -run cp and it can treat '/' on any platform.
+ * ext/tk/lib/tk/dialog.rb: rename TkDialog2 --> TkDialogObj and
+ TkWarning2 --> TkWarningObj (old names are changed to alias names)
-Mon Oct 20 19:54:54 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/lib/tk/dialog.rb: bug fix of treatment of 'prev_command'
+ option and hashes for configuration
- * config.mk: Added missing data files as targets for
- prerequisite update_unicode.
+ * ext/tk/lib/tk/dialog.rb: add TkDialogObj#name to return the
+ button name
-Mon Oct 20 19:06:06 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/lib/tk/radiobutton.rb: rename enbugged method value() ==>
+ get_value() and value=(val) ==> set_value(val).
- * lib/unicode_normalize.rb: revert r48046. The s in sIndex
- is not hungarian notation. The variable name sIndex is
- directly taken from the relevant part of the Unicode
- Standard, where it is written SIndex and stands for
- 'syllable index'. See pp. 144/145 of
- http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf.
+ * ext/tk/lib/tk/menu.rb: add TkMenu.new_menuspec
-Mon Oct 20 12:46:46 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/lib/tk/menu.rb: add alias (TkMenuButton = TkMenubutton,
+ TkOptionMenuButton = TkOptionMenubutton)
- * lib/unicode_normalize.rb: removing unnecessary 'self'.
+ * ext/tk/lib/tk/event.rb: new method aliases (same as option keys of
+ event_generate) for Event object
-Mon Oct 20 12:37:37 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/lib/tk/font.rb: configinfo returns proper types of values
- * lib/unicode_normalize.rb: change method names
- in commented-out code. Followup to r48027.
+ * ext/tk/lib/tk.rb: bind methods accept subst_args + block
-Mon Oct 20 02:23:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/canvas.rb: ditto
- * variable.c (rb_ivar_get), vm_insnhelper.c (vm_getivar): improve
- instance variable retrieval performance by checking ruby_verbose
- before call of rb_warning and evaluation of its argument.
- [ruby-core:65786] [Feature #10396]
+ * ext/tk/lib/tk/canvastag.rb: ditto
-Sun Oct 19 23:31:29 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * ext/tk/lib/tk/frame.rb: ditto
- * lib/unicode_normalize.rb: (unicode_normalize!): change method name.
- catch up the method name change at r48014. [Feature #10084]
+ * ext/tk/lib/tk/text.rb: ditto
-Sun Oct 19 20:05:58 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tk/lib/tk/texttag.rb: ditto
- * ext/tk/lib/tkextlib/tile/treeview.rb: fix syntax error.
+ * ext/tk/lib/tk/toplevel.rb: ditto
-Sun Oct 19 18:39:39 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/tk/lib/tkextlib/*: ditto and bug fix
- * enc/prelude.rb: Added automatic loading of
- lib/unicode_normalize.rb. This makes sure that all
- the methods that are available on String are
- available without explicit require.
+Wed Dec 8 23:54:29 2004 Dave Thomas <dave@pragprog.com>
-Sun Oct 19 18:35:35 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Typo
+ meant that h2 tag was invisible.
- * lib/unicode_normalize/normalize.rb: Added a missing
- file extension in require statement.
+Wed Dec 8 21:56:31 2004 Kouhei Sutou <kou@cozmixng.org>
-Sun Oct 19 18:13:13 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/rss, test/rss, sample/rss: backported from CVS HEAD.
- * common.mk: Added a rule to generate
- lib/unicode_normalize/tables.rb. This rule still
- needs to be integrated into the overall make process.
+Wed Dec 8 14:31:36 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Oct 19 17:53:53 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * io.c (io_fwrite): change dereference for cosmetic reason.
- * lib/unicode_normalize.rb: Changed to dynamic
- loading of actual normalization code and tables.
+ * sprintf.c (rb_f_sprintf): [ruby-dev:25104]
-Sun Oct 19 17:37:37 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Tue Dec 7 19:08:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
- * lib/unicode_normalize.rb: Small documentation fix.
+ * io.c (io_fwrite): fix offset incrementation (for VMS and Human68k)
-Sun Oct 19 17:26:26 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Tue Dec 7 00:27:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/unicode_normalize.rb: Added documentation.
+ * process.c (proc_setgroups): [ruby-dev:25081]
-Sun Oct 19 11:09:09 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Mon Dec 6 18:08:10 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/unicode_norm_gen.rb, lib/unicode_normalize.rb:
- File name change from lib/unicode_normalize/normalize_tables.rb
- to lib/unicode_normalize/tables.rb.
+ * re.c (rb_reg_eqq): document fix. [ruby-talk:122541]
-Sun Oct 19 10:12:12 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Mon Dec 6 17:19:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/unicode_normalize.rb: Changing method names, see
- https://bugs.ruby-lang.org/issues/10084#note-7
+ * rubysig.h (TRAP_BEG, TRAP_END): safe errno around CHECK_INTS.
+ (backported from CVS HEAD) [ruby-dev:24993]
-Sun Oct 19 10:10:10 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Mon Dec 6 10:18:17 2004 Dave Thomas <dave@pragprog.com>
- * lib/unicode_normalize.rb: Changing module name.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::look_for_directives_in):
+ Oops - 1.8 doesn't have String#clear
-Sun Oct 19 10:08:08 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Mon Dec 6 09:59:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/unicode_normalize.rb: Changing require statement,
- adjusting copyright.
+ * ext/socket/socket.c (sock_connect): use rb_str_new4().
+ [ruby-dev:25052]
-Sun Oct 19 10:04:04 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Mon Dec 6 01:42:08 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/unicode_normalize.rb: Importing from
- https://github.com/duerst/eprun/blob/master/lib/string_normalize.rb.
- (removing trailing whitespace, fixing EOLs and adding EOL property)
+ * 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]
-Sun Oct 19 09:56:56 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * 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.
- * tool/unicode_norm_gen.rb: Changed module name.
+ * test/openssl/test_pkey_rsa.rb: new file.
-Sun Oct 19 09:48:48 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+Sun Dec 5 19:39:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/unicode_normalize/normalize.rb: Changed module name,
- adjusted copyright.
+ * lib/optparse.rb (OptionParser::Completion#complete): new parameter
+ to direct case insensitiveness.
-Sun Oct 19 09:38:38 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/optparse.rb (OptionParser#order!): ignore case only for long
+ option. [ruby-dev:25048]
- * lib/unicode_normalize/normalize.rb: Importing from
- https://github.com/duerst/eprun/blob/master/lib/normalize.rb.
+Sat Dec 4 22:54:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Oct 18 20:40:52 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050]
- * vm_core.h, proc.c, vm_backtrace.c, vm_trace.c:
- remove rb_binding_new_with_cfp, and use rb_vm_make_binding instead.
+ * io.c (io_fwrite): takes VALUE string as an argument.
+ [ruby-dev:25050]
-Sat Oct 18 20:38:48 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/socket/socket.c (sock_connect): remove rb_str_locktmp().
+ [ruby-dev:25050]
- * vm_core.h, vm.c, proc.c: fix GC mark miss on bindings.
- [ruby-dev:48616] [Bug #10368]
+ * ext/socket/socket.c (udp_connect): [ruby-dev:25045]
- * test/ruby/test_eval.rb: add a test code.
+ * ext/socket/socket.c (udp_bind): ditto.
-Fri Oct 17 22:47:11 2014 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c (udp_send): ditto.
- * pack.c (pack_unpack): Add casts for char references for 'u'.
- Fix line ending recognition algorithm.
+ * ext/socket/socket.c (bsock_send): ditto.
-Fri Oct 17 21:49:52 2014 Tanaka Akira <akr@fsij.org>
+ * ext/socket/socket.c (s_recvfrom): ditto.
- * pack.c (pack_unpack): Add casts for char references for 'b' and 'h'.
+ * hash.c (rb_hash_hash): should provide "hash" method where "eql?"
+ is redefined. [ruby-talk:122482]
-Fri Oct 17 17:50:10 2014 Tanaka Akira <akr@fsij.org>
+Sat Dec 4 14:54:52 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * Avoid undefined behaviors found by gcc -fsanitize=undefined.
- gcc (Debian 4.9.1-16) 4.9.1
+ * eval.c (proc_invoke): use volatile `tmp' rather than `args'.
+ [ruby-core:03882]
- * string.c (rb_str_sum): Avoid undefined behavior.
+Sat Dec 4 14:28:56 2004 Dave Thomas <dave@pragprog.com>
-Fri Oct 17 17:43:50 2014 Tanaka Akira <akr@fsij.org>
+ * 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.
- * Avoid undefined behaviors found by gcc -fsanitize=undefined.
- gcc (Debian 4.9.1-16) 4.9.1
+Sat Dec 4 03:33:45 2004 Shugo Maeda <shugo@ruby-lang.org>
- * include/ruby/ruby.h (INT2FIX): Avoid undefined behavior.
+ * ext/readline/readline.c: check $SAFE. (backported from CVS HEAD)
- * node.h (nd_set_line): Ditto.
+ * test/readline/test_readline.rb: added tests for readline.
+ (backported from CVS HEAD)
- * pack.c (encodes): Ditto.
- (pack_unpack): Ditto.
+Sat Dec 4 02:24:00 2004 NARUSE, Yui <naruse@ruby-lang.org>
- * regint.h (BIT_STATUS_AT): Ditto.
- (BS_BIT): Ditto.
+ * ext/nkf/nkf.c: add constant NKF::VERSION
- * time.c (time_mdump): Ditto.
- (time_mload): Ditto.
+ * ext/nkf/nkf.c(guess): this becomes an alias of guess2
- * vm_core.h (VM_FRAME_MAGIC_MASK): Ditto.
+ * ext/nkf/test.rb(mime_out2): add --no-cp932
- * vm_trace.c (recalc_add_ruby_vm_event_flags): Ditto.
+ * ext/nkf/nkf-utf8/nkf.c: original nkf2 revision 1.47
-Fri Oct 17 15:06:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 4 00:35:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * re.c (unescape_nonascii): make dynamically compiled US-ASCII
- regexps ASCII-8BIT encoding if binary (hexadecimal, control,
- meta) escapes are contained, as well as literal regexps.
- [ruby-dev:48626] [Bug #10382]
+ * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]
-Fri Oct 17 03:05:08 2014 Eric Wong <e@80x24.org>
+Fri Dec 3 18:57:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/-ext-/bug_reporter/test_bug_reporter.rb
- (test_bug_reporter_add): revert r47972
- * test/ruby/test_rubyoptions.rb (test_segv_test): revert r47971
- [ruby-core:65764]
+ * lib/ostruct.rb: 1.9 marshaling support back-ported.
+ [ruby-core:03871]
-Thu Oct 16 23:17:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Dec 3 13:45:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * signal.c (rb_sigaltstack_size): double default size to get rid
- of heap corruption by alternate stack overflow in SEGV handler.
- typically happened at fprintf() in control_frame_dump().
+ * eval.c (proc_invoke): copy arguments to frame.argv.
+ [ruby-core:03861]
-Thu Oct 16 22:43:12 2014 Tanaka Akira <akr@fsij.org>
+Fri Dec 3 12:25:41 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_backtrace.c (id2str): Fix a variable name.
- [ruby-dev:48642] [Bug #10389]
+ * st.h: fix prototypes.
-Thu Oct 16 20:01:26 2014 Tanaka Akira <akr@fsij.org>
+Fri Dec 3 00:21:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/envutil.rb (assert_pattern_list): Show number of matched
- patterns and characters.
+ * object.c (convert_type): use rb_respond_to() again.
+ [ruby-dev:25021]
-Thu Oct 16 16:26:09 2014 Eric Wong <e@80x24.org>
+ * eval.c (rb_respond_to): funcall respond_to? if it's redefined.
+ [ruby-dev:25021]
- * cont.c (fiber_store): fix WIN32 fibers
- [ruby-core:65745] [ruby-core:65758]
+Fri Dec 3 01:55:24 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Oct 16 15:05:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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.
- * parse.y (parser_here_document): do not append already appended
- and disposed code fragment. [ruby-dev:48647] [Bug #10392]
+ * ext/tk/lib/tk/font.rb: TkFont#replace accepts only one font argument.
-Thu Oct 16 10:35:33 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk/radiobutton.rb: add TkRadiobutton#value and
+ TkRadiobutton#value=(val).
- * test/-ext-/bug_reporter/test_bug_reporter.rb
- (test_bug_reporter_add): fix race
+ * ext/tk/lib/tk/spinbox.rb: callback substitution support on
+ command option.
-Thu Oct 16 10:09:02 2014 Eric Wong <e@80x24.org>
+ * ext/tk/sample/demos-en/widget: bug fix (wrong image height)
- * test/ruby/test_rubyoptions.rb (test_segv_test): fix race
+ * ext/tk/sample/demos-jp/widget: ditto.
-Thu Oct 16 09:17:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Dec 3 00:11:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * cont.c (rb_fiber_t): fix compile error caused by move to
- vm_core.h at r47964. [Feature #10341]
+ * io.c (rb_file_initialize): [ruby-dev:25032]
-Thu Oct 16 08:58:11 2014 Eric Wong <e@80x24.org>
+Thu Dec 2 16:41:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
- avoid killing wrong parent
+ * eval.c (rb_protect): prevent continuations created inside from being
+ called from the outside. [ruby-dev:25003]
-Thu Oct 16 08:40:04 2014 Eric Wong <e@80x24.org>
+ * eval.c (rb_callcc, rb_cont_call): prohibit calling from different
+ signal contexts. [ruby-dev:25022]
- * cont.c (fiber_store): restore references to next_fib (fix typo)
+Thu Dec 2 09:57:24 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Oct 16 08:26:08 2014 Eric Wong <e@80x24.org>
+ * lib/ostruct.rb (OpenStruct::Marshaler): OpenStruct can be
+ marshaled again. [ruby-core:03862]
- * cont.c (fiber_store): remove references to nextfib
- fix build when FIBER_USE_NATIVE is 0
+Thu Dec 2 09:30:06 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Oct 16 06:51:35 2014 Knut Franke <Knut.Franke@gmx.de>
+ * eval.c (thread_mark): mark thread group. [ruby-dev:25020]
- * vm_core.h: declare rb_fiber_t typedef
- (rb_thread_t): fiber and root_fiber become rb_fiber_t * (from VALUE)
- * vm.c (rb_thread_mark): use rb_fiber_mark_self
- * cont.c (rb_fiber_t): prev becomes rb_fiber_t * (from VALUE)
- (cont_mark, cont_free): simplify conditions
- (rb_fiber_mark_self): new function
- (fiber_mark): use rb_fiber_mark_self
- (cont_save_thread, cont_restore_thread): inline
- (cont_restore_thread): simplify
- (fiber_setcontext): simplify conditions
- (rb_cont_call): remove dereference
- (fiber_t_alloc): update for rb_fiber_t->prev type change
- (rb_fiber_start): ditto
- (fiber_current): extract from rb_fiber_current
- (return_fiber): move, simplify type checks
- (rb_fiber_current): use fiber_current
- (fiber_store): simplify type checks
- (fiber_switch): ditto, simplify call to fiber_setcontext,
- use fiber_current
- (rb_fiber_transfer): update for type changes
- (rb_fiber_terminate): move, use fiber_switch
- (rb_fiber_resume): update for type changes
- (rb_fiber_reset_root_local_storage): ditto
- (rb_fiber_yield): use rb_fiber_switch instead of rb_fiber_transfer
- (rb_fiber_m_transfer): ditto
- [ruby-core:65518] [Feature #10341]
+ * eval.c (thgroup_add): check whether the argument is really a Thread.
-Thu Oct 16 06:25:29 2014 Knut Franke <Knut.Franke@gmx.de>
+Thu Dec 2 07:57:16 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * cont.c (rb_context_t): comment on saved_thread
- (cont_save_thread): sparse copy
- (cont_init): copy extra fields
- (fiber_init): use current thread VM stack size
- [ruby-core:65518] [Feature #10341]
+ * io.c (rb_io_ctl): [ruby-dev:25019]
-Thu Oct 16 06:13:09 2014 Knut Franke <Knut.Franke@gmx.de>
+Wed Dec 1 02:21:02 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * cont.c (cont_capture): remove unnecessary variable
- [ruby-core:65518] [Feature #10341]
+ * signal.c (sighandler): call handler immediately only for default
+ handlers. [ruby-dev:25003]
-Thu Oct 16 05:02:31 2014 Knut Franke <Knut.Franke@gmx.de>
+Tue Nov 30 23:38:18 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * cont.c (fiber_store, fiber_switch): simplify
- [ruby-core:65518] [Feature #10341]
+ * io.c (io_fread): need not to null terminate. [ruby-dev:24998]
-Thu Oct 16 04:28:41 2014 Knut Franke <Knut.Franke@gmx.de>
+ * io.c (read_all): remove unnecessary rb_str_resize().
+ [ruby-dev:24996] (backported from CVS HEAD)
- * cont.c (rb_fiber_t): remove prev_fiber/next_fiber
- (fiber_link_join, fiber_link_remove): remove functions
- (fiber_free, fiber_init, root_fiber_alloc):
- remove references to removed fields and functions
- [ruby-core:65518] [Feature #10341]
+ * io.c (io_readpartial): ditto.
-Wed Oct 15 22:08:37 2014 Tanaka Akira <akr@fsij.org>
+ * io.c (io_read): ditto.
- * ext/etc/etc.c (etc_nprocessors_affin): Test CPU_ALLOC availability.
- CentOS 5 don't have CPU_ALLOC().
+Tue Nov 30 16:18:50 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Oct 15 18:26:19 2014 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * io.c (io_fread): need not to null terminate. [ruby-dev:24998]
- * ext/etc/etc.c (etc_nprocessors_affinity): use sched_getaffinity
- for getting precious number of available cpus.
+ * io.c (read_all): remove unnecessary rb_str_resize().
+ [ruby-dev:24996]
- * ext/etc/etc.c (etc_nprocessors): use etc_nprocessors_affinity if
- possible.
+ * io.c (io_read): ditto.
- [Feature #10267] etc-nprocessors-kosaki2.patch
+Tue Nov 30 00:49:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Oct 15 17:53:28 2014 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_sysread): use temporary lock. [ruby-dev:24992]
- * test/ruby/envutil.rb (assert_pattern_list) Renamed from
- assert_regexp_list.
- Show multiline string in multi lines.
+Mon Nov 29 16:06:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/-ext-/bug_reporter/test_bug_reporter.rb: Use
- assert_pattern_list.
+ * ext/stringio/stringio.c (strio_write): insufficiently filled string
+ being extended when overwriting. [ruby-core:03836]
-Wed Oct 15 12:26:58 2014 Tanaka Akira <akr@fsij.org>
+Mon Nov 29 15:59:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/envutil.rb (assert_regexp_list): New assertion method.
+ * lib/ostruct.rb (OpenStruct::method_missing): check method
+ duplication for -d.
- * test/ruby/test_rubyoptions.rb: Use assert_regexp_list.
+ * lib/ostruct.rb (OpenStruct::initialize): ditto.
-Wed Oct 15 07:21:09 2014 Tanaka Akira <akr@fsij.org>
+Mon Nov 29 15:22:28 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * enum.c: min(n) drops elements bigger than the n-th maximum element.
- (struct nmin_data): New field to record the n-th maximum element, limit
- (nmin_filter): Update limit field.
- (nmin_i): Drop too big elements.
- (nmin_run): Initialize limit field.
+ * test/io/nonblock/test_flush.rb: abandon tests when io/nonblock is
+ not supported.
-Wed Oct 15 07:00:14 2014 Eric Wong <e@80x24.org>
+Mon Nov 29 03:08:30 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_optimization.rb (test_string_size): new test
+ * object.c (convert_type): direct call conversion methods for the
+ performance. [ruby-core:03845]
-Wed Oct 15 06:51:13 2014 Eric Wong <e@80x24.org>
+ * eval.c (rb_funcall_rescue): new function.
- * test/ruby/test_optimization.rb (test_string_eq_neq): new test
- (test_string_ltlt): ditto
+ * object.c (rb_Array): avoid using rb_respond_to().
-Wed Oct 15 06:50:29 2014 Eric Wong <e@80x24.org>
+ * object.c (rb_Integer): ditto.
- * test/ruby/test_optimization.rb (test_hash_aset_with):
- assert assignment
+ * parse.y (reduce_nodes): empty body should return nil.
-Wed Oct 15 04:56:27 2014 Zachary Scott <e@zzak.io>
+ * string.c (rb_str_aset): the original string should not be
+ affected by modifying duplicated string. [ruby-dev:24981]
- * gc.c (rb_obj_id): [DOC] Fix typo, clean up sentence, and wrap cols
+Mon Nov 29 13:57:38 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Oct 15 04:53:30 2014 Zachary Scott <e@zzak.io>
+ * win32/win32.c (CreateChild): search executable file if no program
+ name given. (backported from CVS HEAD)
- * error.c: [DOC] Fix case of type in exception message by @tricknotes
- [Fixes GH-740] https://github.com/ruby/ruby/pull/740
+Mon Nov 29 13:37:54 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c: ditto
+ * io.c (fptr_finalize): must not use FILE after fclose().
+ [ruby-dev:24985]
-Tue Oct 14 21:39:16 2014 Vit Ondruch <vondruch@redhat.com>
+Mon Nov 29 13:16:31 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * tool/rbinstall.rb (gem): Fix permissions of bundled gems
- specification files. [ruby-core:65700] [Bug #10383]
+ * win32/win32.c (CreateChild): push back the last space before next
+ loop because CharNext() eats it.
-Tue Oct 14 19:15:31 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Mon Nov 29 01:18:18 2004 Tanaka Akira <akr@m17n.org>
- * ext/win32ole/win32ole_record.c: use typed data.
+ * io.c (rb_io_check_writable): call io_seek regardless of
+ NEED_IO_SEEK_BETWEEN_RW. [ruby-dev:24986]
-Tue Oct 14 16:23:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Nov 27 21:43:39 2004 Tanaka Akira <akr@m17n.org>
- * symbol.c (global_symbols): make ids two-dimensional array of
- strings and symbols, for write-barrier.
+ * 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.
- * symbol.c (global_symbols): make IDs immortal always, instead
- of treating dynamic symbols as IDs.
+Sat Nov 27 14:44:15 2004 Kent Sibilev <ksibilev@bellsouth.net>
- * iseq.c, marshal.c, string.c: use rb_str_intern instead of
- rb_str_dynamic_intern.
+ * lib/cgi/session.rb (CGI::Session::initialize): create_new_id is
+ now a instance method. [ruby-core:03832]
- * symbol.c (rb_str_intern): rename rb_str_dynamic_intern.
+Sat Nov 27 09:41:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Oct 14 10:19:10 2014 Eric Wong <e@80x24.org>
+ * io.c (io_fread): old rb_io_fread with file closing checking.
+ (rb_io_fread): wrapper for io_fread now.
+ [ruby-dev:24964]
- * test/ruby/test_optimization.rb (test_string_freeze): new test
- (test_hash_aref_with): ditto
- (test_hash_aset_with): ditto
+Fri Nov 26 18:02:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Oct 14 01:27:54 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: Tk.destroy uses TkWindow#epath
- * enum.c (nmin_run): max(n) and max_by(n) returns an array in
- descending order.
- [ruby-core:65452] Suggested by David Grayson.
+ * ext/tk/lib/tk/image.rb: bug fix
-Mon Oct 13 20:44:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/wm.rb: add 'iconphoto' method(Windows only)
- * common.mk (update-gems): chdir to the target directory and then
- add the tool directory to load paths, for older BASERUBY.
- [Bug #10372][ruby-core:65630]
+ * ext/tk/lib/tkextlib/*: some methods uses TkWindow#epath
-Mon Oct 13 17:53:01 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Nov 26 13:49:06 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem.
- [Feature #9379][ruby-core:59633]
- * lib/xmlrpc/config.rb: ditto.
+ * eval.c (method_missing): raise TypeError for classes do not
+ have allocators. [ruby-core:03752]
-Mon Oct 13 16:32:56 2014 Tanaka Akira <akr@fsij.org>
+ * lib/erb.rb: add RDoc by James Edward Gray II. [ruby-core:03786]
- * lib/find.rb (Find.find): Call to_path for arguments to obtain
- strings.
- [ruby-core:63713] [Bug #10035] Reported by Herwin.
+Fri Nov 26 13:29:02 2004 Dave Thomas <dave@pragprog.com>
-Mon Oct 13 15:42:25 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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!)
- * common.mk: use relative load path for bundled_gems directory.
- [Bug #10372][ruby-core:65630]
+Fri Nov 26 00:17:40 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Oct 13 08:44:06 2014 Zachary Scott <e@zzak.io>
+ * io.c (io_read): move StringValue() check before GetOpenFile().
+ [ruby-dev:24959]
- * README.EXT: [DOC] fix example missing typedef with patch by
- @steveklabnik [Fixes GH-739] https://github.com/ruby/ruby/pull/739
+Thu Nov 25 20:14:57 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * README.EXT.ja: ditto.
+ * lib/thwait.rb (ThreadsWait#join_nowait): abnormally terminated
+ threads should be also processed. [ruby-talk:121320]
-Mon Oct 13 06:52:09 2014 Eric Wong <e@80x24.org>
+Thu Nov 25 10:14:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (ary_recycle_hash): add RB_GC_GUARD
- (rb_ary_diff): remove volatile
- [Bug #10369]
+ * dir.c (push_braces): do not reuse buffer strings. [ruby-core:03806]
-Mon Oct 13 03:20:23 2014 Zachary Scott <e@zzak.io>
+Thu Nov 25 07:59:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/date/date_core.c: [DOC] Clean up whitespace, examples, and typos
- in date_core based on a patch by @vipulnsward [Fixes GH-724]
- https://github.com/ruby/ruby/pull/724
+ * io.c (read_all): stringify non-nil buffer argument, and always
+ taint the result. [ruby-dev:24955]
-Mon Oct 13 02:39:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 24 01:01:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * parse.y (remove_duplicate_keys): should not simply eliminate all
- value nodes, which may have side effects.
- [ruby-core:65625] [Bug #10315]
+ * io.c (io_read): integer conversion should be prior to
+ GetOpenFile(). [ruby-dev:24952]
-Sun Oct 12 10:39:16 2014 Zachary Scott <e@zzak.io>
+ * configure.in, io.c: cancel [ ruby-Patches-1074 ].
- * vm.c: [DOC] fix typo by @yui-knk [Fixes GH-738]
- https://github.com/ruby/ruby/pull/738
+Tue Nov 23 08:09:50 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Oct 12 09:24:15 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk/menu.rb: improve usability of TkOptionMenubutton
- * test/lib/test/unit.rb: Hide skips by default.
+Tue Nov 23 02:00:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Oct 12 01:37:11 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * file.c (rb_file_chown): integer conversion should be prior to
+ GetOpenFile(). [ruby-dev:24949]
- * file.c: include sys/time.h only if HAVE_SYS_TIME_H
+Tue Nov 23 00:10:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Oct 11 22:29:40 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * file.c (rb_file_chown): integer conversion should be prior to
+ GetOpenFile(). [ruby-dev:24947]
- * file.c (HAVE_UTIMENSAT): disabled for NativeClient.
- Fixes build error.
+ * file.c (rb_file_truncate): ditto.
-Sat Oct 11 22:11:58 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * file.c (rb_file_s_truncate): ditto.
- * ext/extmk.rb: generates the rule for extinit.$(OBJEXT).
- extinit.$(OBJEXT) used to be generated by the builtin rule, thus
- didn't accept custom $(CC) and caused linkage error for cross
- compiling.
+ * dir.c (dir_seek): use NUM2OFFT().
-Sat Oct 11 18:46:50 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * misc/ruby-mode.el (ruby-non-block-do-re): should not match words
+ start with block keyword and underscore. [ruby-core:03719]
- * include/ruby/intern.h (rb_fd_select): declare struct timeval, or the
- struct gets local to the function in C99.
+Mon Nov 22 22:33:02 2004 Dave Thomas <dave@pragprog.com>
- * file.c (#include): add nacl/stat.h for PNaCl.
- (utimes): added a declaration for PNaCl.
- (stat_atimespec): stat::st_atimensec is long long but
- timespec::tv_nsec is long in PNaCl.
- (stat_mtimespec, stat_ctimespec): ditto.
- (rb_group_member): disable getgroups unless HAVE_GETGROUPS.
- (eaccess): unify the fallback to generic defined(USE_GETEUID).
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Don't use names
+ of variables or constants when oarsing 'require'
- * io.c: include sys/time.h for struct timeval.
- (rb_close_before_exec): nothing we can do if F_GETFD is not
- available.
- (ioctl): pnacl newlib actually doesn't have ioctl.
+Mon Nov 22 00:13:35 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * process.c (maxgroups): it is used iff
- defined(_SC_NGROUPS_MAX) || defined(NGROUPS_MAX) but not
- defined(HAVE_GETGROUPS) || defined(HAVE_SETGROUPS).
- (obj2gid): fail unless the object is a Fixnum if getgrnam is not
- available.
- (disable_child_handler_fork_child): sigaction is not available in
- PNaCl newlib.
+ * dir.c (dir_seek): should retrieve dir_data after NUM2INT().
+ [ruby-dev:24941]
- * configure.in (warnflags, strict_warnflags): avoid -ansi for strlcpy.
- (rb_cv_gcc_atomic_builtins): also check
- __atomic_or_etch because it is used in ruby_atomic.h.
- (rb_cv_gcc_sync_builtins): ditto.
- (HAVE_GETGRNAM): added.
+Sat Nov 20 23:57:33 2004 Dave Thomas <dave@pragprog.com>
-Sat Oct 11 15:32:08 2014 Eric Wong <e@80x24.org>
+ * 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.
- * compile.c (iseq_build_from_ary_exception): move RB_GC_GUARD
- (iseq_build_from_ary_body): use PRIsVALUE instead of RB_GC_GUARD
+Sat Nov 20 23:56:54 2004 Dave Thomas <dave@pragprog.com>
-Sat Oct 11 14:57:08 2014 Eric Wong <e@80x24.org>
+ * lib/rdoc/options.rb (Options::parse): Force --inline-source if
+ --one-file option given
- * string.c (rb_str_intern): remove unnecessary RB_GC_GUARD
+Sat Nov 20 23:55:19 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Oct 11 13:47:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_splice): should place index wrapping after
+ possible modification. [ruby-dev:24940]
- * parse.y (remove_duplicate_keys): remove duplicate literal keys,
- i.e., symbols and strings. [ruby-core:65368] [Bug #10315]
+Sat Nov 20 13:26:03 2004 NARUSE, Yui <naruse@ruby-lang.org>
- * vm.c (kwmerge_i): override existing keys by new keys.
- [ruby-core:65368] [Bug #10315]
+ * ext/nkf/nkf-utf8/utf8tbl.c: original revision 1.7
- * parse.y (assocs): concatenate splatted literal hashes. the
- former key has precedence even if duplicated literal keys
- follow. [ruby-core:65368] [Bug #10315]
+Sat Nov 20 05:34:24 2004 NARUSE, Yui <naruse@ruby-lang.org>
-Sat Oct 11 12:27:03 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * ext/nkf/nkf-utf8/nkf.c: original nkf.c rev:1.40
- * configure.in (RUBY_NACL): automatically locate pnacl-clang.
- (RUBY_PLATFORM): pnacl instead of le32-nacl.
+ * ext/nkf/test.rb: add test for mime encode/decode
-Sat Oct 11 11:27:14 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+Sat Nov 20 01:37:34 2004 Johan Holmberg <holmberg@iar.se>
- * io.c: fix issues in the last two commits. don't disable cloexec for
- platforms other than NativeClient.
+ * eval.c (error_print): nicer traceback at interrupt.
+ [ruby-core:03774]
- * ChangeLog: ditto. add entries for the last two commits.
+Sat Nov 20 00:07:16 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Oct 11 11:12:00 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * string.c (str_gsub): internal buffer should not be listed by
+ ObjectSpace.each_object() by String#gsub. [ruby-dev:24931]
- * signal.c (install_signalhandler, init_sigchld): allow failure because it
- always fails with ENOSYS on NaCl.
+Fri Nov 19 01:20:22 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Oct 11 11:11:53 2014 Yuki Yugui Sonoda <yugui@yugui.jp>
+ * lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise
+ exception if data corresponding to session specified from the
+ client does not exist.
- * configure.in (RUBY_NACL and others): merge patch from naclports. Supports PNaCl.
+Fri Nov 19 00:59:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * dln.c: ditto. replace the old hacky dynamic loading over HTTP with nacl_io.
+ * string.c (str_gsub): internal buffer should not be listed by
+ ObjectSpace.each_object(). [ruby-dev:24919]
- * file.c: ditto. tentatively use access(2) instead of eaccess.
- (rb_file_load_ok): weaken with attribute but not by postprocess.
+Thu Nov 18 18:41:08 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * io.c: ditto.
- (socket.h): now NaCl has socket.h
- (flock): disable here instead of nacl/ioctl.h
+ * test/ruby/test_stringchar.rb (test_bang): added.
- * nacl/GNUmakefile.in: ditto.
- (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY):
- respect path to them if they are absolute.
- This helps naclports to build ruby in their source tree.
- (PROGRAM_NMF, .SUFFIXES): support .pnexe for PNaCl.
- (ruby.o, file.o): move the hack to attributes in ruby.c and file.c
+ * string.c (rb_str_upcase_bang, rb_str_capitalize_bang)
+ (rb_str_swapcase_bang): missing rb_str_modify(). [ruby-dev:24915]
- * nacl/ioctl.h: ditto. removed. move the hack to io.c.
+Thu Nov 18 00:21:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * nacl/nacl-config.rb: ditto. support arm, pnacl and others.
+ * process.c (proc_getpgrp): prohibit for $SAFE=2.
+ [ruby-dev:24899]
- * nacl/pepper_main.c: ditto. support build in a naclports tree.
+ * process.c (get_pid): ditto. [ruby-dev:24904]
- * ruby.c (rb_load_file): ditto. weaken with attribute but not by postprocess.
+ * process.c (get_ppid): ditto.
-Sat Oct 11 09:32:00 2014 Zachary Scott <e@zzak.io>
+ * array.c (rb_ary_delete): defer rb_ary_modify() until actual
+ modification. [ruby-dev:24901]
- * ext/socket/unixsocket.c: [DOC] Fix example to render in HTML
- properly, with a patch by @eval [Fixes GH-733]
- https://github.com/ruby/ruby/pull/733
+Thu Nov 18 10:10:14 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Oct 11 04:14:41 2014 Kir Shatrov <shatrov@me.com>
+ * io.c, rubyio.h (rb_io_modenum_flags): exported.
- * lib/open-uri.rb (OpenURI::Options): add :open_timeout default
- * (def OpenURI.open_http): check :open_timeout option
- * (module OpenURI): rdoc for :open_timeout
- * test/open-uri/test_open-uri.rb (test_open_timeout): new test
- [Feature #10361]
+ * ext/stringio/stringio.c (strio_initialize): allow Fixnum as mode as
+ well as IO.new does. [ruby-dev:24896]
-Fri Oct 10 11:27:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 17 23:42:40 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * include/ruby/io.h (rb_io_mode_flags, rb_io_modenum_flags):
- deprecate old macros for compatibility for ruby 1.8 and older.
+ * test/ruby/test_settracefunc.rb: added. [ruby-dev:24884]
-Thu Oct 9 23:31:47 2014 Naohisa Goto <ngotogenome@gmail.com>
+Wed Nov 17 13:56:57 2004 Yukihiro Matsumoto <matz@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]
+ * parse.y (newline_node): should not use FL_SET. [ruby-dev:24874]
-Thu Oct 9 16:15:26 2014 Eric Wong <e@80x24.org>
+ * parse.y (string_content): should not use FL_UNSET.
- * ext/-test-/st/foreach/extconf.rb: new file
- * ext/-test-/st/foreach/foreach.c: ditto
- * test/-ext-/st/test_foreach.rb: ditto
- [Feature #10321]
+ * node.h (NODE_NEWLINE): remove unused bit to utilize flag field
+ in nodes.
-Thu Oct 9 12:40:28 2014 Eric Wong <e@80x24.org>
+Wed Nov 17 13:09:40 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * benchmark/bm_hash_aref_sym*.rb: force static symbols
+ * {bcc32,win32,wince}/Makefile.sub (test): should build ruby.exe
+ before running test. [ruby-core:03756]
-Thu Oct 9 12:38:28 2014 Eric Wong <e@80x24.org>
+Wed Nov 17 04:33:01 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * hash.c (rb_any_hash): remove unnecessary dsym check
+ * pack.c: all features are backport from 1.9. [ruby-dev:24826]
-Thu Oct 9 07:20:30 2014 Rei Odaira <Rei.Odaira@gmail.com>
+ * bignum.c (rb_big2ulong_pack): new function to pack Bignums.
- * missing/setproctitle.c: Avoid invalidating argv[1], argv[2],
- etc. until the first call to Process.setproctitle, because
- the ps command of AIX refers to the argv array.
- [Bug #10090]
+Wed Nov 17 03:42:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Oct 9 00:53:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_splice): move rb_str_modify() after
+ StringValue(), which may alter the receiver. [ruby-dev:24878]
- * 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]
+Tue Nov 16 23:45:07 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Oct 8 21:44:10 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * numeric.c (flo_divmod): protect float values from GC by
+ assignment to local variables. [ruby-dev:24873]
- * ext/win32ole/win32ole_variable.c: use typed data.
+Tue Nov 16 16:30:21 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Oct 8 16:36:47 2014 gogo tanaka <mail@tanakakazuki.com>
+ * {bcc32,win32,wince}/setup.mak (-epilogue-): remove config.h and
+ config.status to force updating them.
- * test/ruby/test_syntax.rb: added syntax tests of underscore
- arguments. [Feature #10340][ruby-core:65496]
+Tue Nov 16 16:20:45 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 8 07:42:39 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * 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
- * lib/uri/generic.rb (URI#inspect): remove Object id.
- URI is considered that it doesn't require id.
+Tue Nov 16 11:19:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 8 05:22:42 2014 Eric Wong <e@80x24.org>
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::options): use
+ Regexp conversion.
- * ext/etc/etc.c (etc_systmpdir): set default tmplen correctly
- Fixup r47826
+Tue Nov 16 01:41:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Oct 8 05:16:32 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * string.c (str_mod_check): frozen check should be separated.
+ [ruby-core:3742]
- * lib/matrix.rb: Add @- and @+ for Matrix and Vector.
- patch by gogo tanaka [#10068] [#10069]
+ * array.c (rb_ary_update): pedantic check to detect
+ rb_ary_to_ary() to modify the receiver. [ruby-dev:24861]
-Wed Oct 8 04:58:48 2014 John Bachir <j@jjb.cc>
+Mon Nov 15 13:50:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bootstraptest/test_io.rb (assert_finish):
- normalize rescue for Timeout::Error
- * lib/net/ftp.rb (Net#read_timeout): ditto for doc
- * lib/resolv.rb (Resolv::ResolvTimeout): ditto for subclass
- * lib/webrick/httprequest.rb (_read_data): ditto for rescue
- * sample/timeout.rb (p timeout): ditto for call
- * test/drb/drbtest.rb (test_06_timeout): ditto
- * test/ruby/test_readpartial.rb (test_open_pipe): ditto
- * test/thread/test_queue.rb (test_queue_thread_raise): ditto
- * thread.c (rb_thread_s_handle_interrupt): ditto for doc
- [ruby-core:65481] [misc #10339]
+ * string.c (rb_str_justify): typo fixed. [ruby-dev:24851]
-Wed Oct 8 04:38:29 2014 Rei Odaira <Rei.Odaira@gmail.com>
+Mon Nov 15 11:50:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_process.rb (TestProcess#test_setsid): AIX
- does not allow Process::getsid(pid) when pid is in a
- different session.
+ * misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle
+ operator symbols. [ruby-talk:120177]
-Wed Oct 8 04:33:04 2014 Rei Odaira <Rei.Odaira@gmail.com>
+Sun Nov 14 13:27:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding):
- On AIX, locale_charmap is ISO-8859-1 with LANG=C. This means
- the source encoding of stdin is ISO-8859-1, so "invalid
- multibyte char" error does not occur.
+ * lib/pp.rb (PP#object_address_group): remove odd number of 'f'
+ prefixed to negative address.
-Wed Oct 8 04:30:29 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Sun Nov 14 08:51:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/matrix.rb: Add Matrix#laplace_expansion.
- patch by gogo tanaka [#10073]
+ * test/logger/test_logger.rb: Logger just expects
+ Logger#datetime_format to be used for Time#strftime independently of
+ locale. [ruby-dev:24828]
-Wed Oct 8 04:29:21 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Fri Nov 12 15:03:26 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/matrix.rb: Add Vector.basis.
- Based on patch by gogo tanaka [#10072]
+ * eval.c (ruby_options): now we cannot call rb_glob() before
+ ruby_init(), so call rb_w32_cmdvector() at ruby_options().
-Tue Oct 7 23:40:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32.{c,h} (rb_w32_cmdvector): rename make_cmdvector() and
+ export it.
- * 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]
+Fri Nov 12 14:08:01 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Oct 7 22:43:44 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/tk/lib/tk/event.rb: remove $LOADED_FEATURES trick
- * ext/win32ole/win32ole_method.c: use typed data.
+ * ext/tk/lib/tk.rb: ditto
-Tue Oct 7 21:47:05 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Fri Nov 12 00:31:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/win32ole/win32ole_param.c: refactoring.
+ * ext/gdbm/gdbm.c (fgdbm_store): StringValue() may alter string
+ pointer. [ruby-dev:24783]
-Tue Oct 7 21:40:17 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu Nov 11 17:36:12 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/win32ole_method.c: refactoring. add
- olemethod_data_get_struct to wrap Data_Get_Struct.
- * ext/win32ole/win32ole_method.h: ditto.
+ * dir.c (rb_globi): also should call back via rb_glob_caller().
+ [ruby-dev:24775]
- * ext/win32ole/win32ole_param.c (oleparam_ole_param):
- call olemethod_data_get_struct instead of Data_Get_Struct.
+Thu Nov 11 16:47:21 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Oct 7 11:17:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_file.rb (test_truncate_wbuf): we want to test
+ only File#truncate, not behaviour of seek(2).
- * ext/etc/etc.c (etc_systmpdir): try user temporary directory by
- confstr() on Mac OS X.
- c.f. http://www.opensource.apple.com/source/ruby/ruby-104/patches/ext_etc_etc.c.diff
+Thu Nov 11 09:41:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Oct 7 10:48:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c (push_braces): was confusing VALUE and char*.
- * configure.in (struct stat.st_size): prefer off_t over int, long,
- and so on. inspired by
- http://www.opensource.apple.com/source/ruby/ruby-104/patches/config.h.ed
+ * dir.c (rb_push_glob): Dir.glob should have called its block.
-Tue Oct 7 10:37:39 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Nov 11 01:52:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (RUBY_UNIVERSAL_ARCH): fix missing quoting
- brackets. incorporated from
- http://www.opensource.apple.com/source/ruby/ruby-104/patches/configure.diff
+ * error.c (syserr_initialize): use stringified object.
+ [ruby-dev:24768]
-Mon Oct 6 23:34:42 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Wed Nov 10 22:49:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/win32ole/win32ole_param.c: use typed data.
+ * lib/delegate.rb (SimpleDelegator::dup): wrong number of
+ arguments.
-Mon Oct 6 22:37:09 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/delegate.rb (DelegateClass::dup): ditto.
- * symbol.h (struct RSymbol): move from internal.h.
+Wed Nov 10 12:31:21 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Oct 6 21:43:03 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * README.EXT (Example): extconf.rb is indispensable now.
- * error.c: update exception tree. [DOC]
- reported by @hemge via twitter.
+Wed Nov 10 03:33:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Oct 6 18:43:03 2014 Rei Odaira <Rei.Odaira@gmail.com>
+ * ext/tcltklib/tcltklib.c: fix SEGV when compiled with Tcl/Tk8.3.x
+ or older
- * configure.in: Fix typo. [Bug #9914]
+ * ext/tk/lib/tkextlib/tile/style.rb: bug fix
-Mon Oct 6 16:23:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 9 14:27:18 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * signal.c (rb_f_kill): should not ignore signal unless the
- default handler is registered. [ruby-dev:48592] [Bug #9820]
+ * lib/optparse.rb (OptionParser::Officious): moved from DefaultList.
-Mon Oct 6 16:07:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 9 01:05:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_string.rb (test_LSHIFT_neary_long_max): enable
- only on platforms where string size range is smaller than memory
- space. this test does not make sense but just wastes memory and
- time on other platforms, as it is hardly possible that a string
- size becomes neary LONG_MAX if long size equals pointer size.
- [ruby-core:65410] [Bug #10325]
+ * dir.c (rb_glob2): do not allocate buffer from heap to avoid
+ memory leaks. use string object for buffering instead.
+ [ruby-dev:24738]
-Mon Oct 6 11:21:21 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * dir.c (join_path): ditto.
- * tool/unicode_norm_gen.rb: Adding/tweaking comments.
+ * io.c (io_read): external input buffer may be modified even after
+ rb_str_locktmp(). [ruby-dev:24735]
-Mon Oct 6 10:57:57 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * dir.c (fnmatch): p or s may be NULL. [ruby-dev:24749]
- * tool/unicode_norm_gen.rb: Adjusted directory paths.
+Tue Nov 9 00:53:53 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Mon Oct 6 10:27:27 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * regex.c (slow_match): avoid GCC 3.4.x warnings.
- * tool/unicode_norm_gen.rb: Data generation script imported from
- https://github.com/duerst/eprun/blob/master/lib/generate.rb
+Tue Nov 9 00:50:06 2004 Dave Thomas <dave@pragprog.com>
-Mon Oct 6 10:15:15 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/rdoc/rdoc.rb: Change version numbering of RDoc and ri
- * tool/downloader.rb: Adjust example in documentation for
- Downloader.download.
+Mon Nov 8 23:38:35 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Mon Oct 6 10:07:07 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * lib/drb/extservm.rb: add DRb::ExtServManager#uri=.
+ [ruby-dev:24743]
- * lib/unicode_normalize: New folder for Unicode normalization
- functionality
+Mon Nov 8 22:20:19 2004 Dave Thomas <dave@pragprog.com>
-Sun Oct 5 11:04:13 2014 Luiz Angelo Daros de Luca <luizluca@gmail.com>
+ * 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.
- * ext/digest/{md5,rmd160,sha1,sha2}/extconf.rb: configure OpenSSL
- only if bundled libraries is not used, so that OpenSSL is not
- linked unnecessarily. [ruby-core:65404] [Bug #10324]
+Mon Nov 8 00:14:13 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Sun Oct 5 10:39:11 2014 Luiz Angelo Daros de Luca <luizluca@gmail.com>
+ * configure.in: add setup for mignw32 cross compiling.
+ [ruby-talk:119413]
- * ext/digest/rmd160/extconf.rb: fix transform function name to
- check. [ruby-core:65091] [Bug #10252]
+Sun Nov 7 23:49:26 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Oct 5 05:46:00 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk.rb: bind-event methods accept multi substitution
+ arguments.
- * ext/zlib/zlib.c (zstream_mark, zstream_free): update signature
- (gzfile_mark, gzfile_free): ditto
- (zstream_memsize): new function for rb_data_type->dsize
- (gzfile_memsize): ditto
- (zstream_data_type, gzfile_data_type): new data types
- (zstream_new): Data_Make_Struct => TypedData_Make_Struct
- (gzfile_new): ditto
- (get_zstream, get_gzfile): Data_Get_Struct => TypedData_Get_Struct
- (rb_zstream_flush_next_in): ditto
- (rb_zstream_flush_next_out): ditto
- (rb_zstream_avail_out): ditto
- (rb_zstream_avail_in): ditto
- (rb_zstream_closed_p): ditto
- (rb_deflate_initialize): ditto
- (rb_deflate_init_copy): ditto
- (rb_inflate_initialize): ditto
- (gzfile_ensure_close): ditto
- (rb_gzfile_closed_p): ditto
- (rb_gzfile_path): ditto
- (rb_gzwriter_initialize): ditto
- (rb_gzreader_initialize): ditto
- (rb_gzreader_unused): ditto
- [ruby-core:65377] [Feature #10319]
+ * ext/tk/lib/tk/canvas.rb: ditto.
-Sat Oct 4 16:24:41 2014 Rei Odaira <Rei.Odaira@gmail.com>
+ * ext/tk/lib/tk/canvastag.rb: ditto.
- * test/test_syslog.rb (TestSyslog#test_log): In AIX, each output
- line of LOG_PERROR to stderr has an additional empty line appended,
- so skip that line.
+ * ext/tk/lib/tk/text.rb: ditto.
-Sat Oct 4 16:05:49 2014 Rei Odaira <Rei.Odaira@gmail.com>
+ * ext/tk/lib/tk/texttag.rb: ditto.
- * test/socket/test_unix.rb (TestSocket_UNIXSocket#test_too_long_path):
- sockaddr_un.sun_path in AIX is defined as char[1024],
- so "a" * 300 is not too long. "a" * 3000 would be enough.
+ * ext/tk/lib/tkextlib: ditto.
-Sat Oct 4 09:12:03 2014 Zachary Scott <e@zzak.io>
+Sat Nov 6 14:58:44 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/win32ole/sample/example*.rb: Add wait input to quit for examples
- with patch provided by @windwiny [Fixes GH-705]
- https://github.com/ruby/ruby/pull/705
+ * lib/webrick/server.rb (WEBrick::HTTPServer#start): remove
+ :DoNotReverseLookup option. (Socket#do_not_reverse_lookup is a
+ ruby 1.9 feature)
-Sat Oct 4 09:08:18 2014 Zachary Scott <e@zzak.io>
+Sat Nov 6 11:31:04 2004 Tadayoshi Funaba <tadf@dotrb.org>
- * ext/win32ole/win32ole.c: [DOC] Fix typo in :nodoc: reported by
- @windwiny to [Fix GH-705] https://github.com/ruby/ruby/pull/705
+ * lib/date.rb (_parse): checks whether zone was given.
- * ext/pty/pty.c: ditto
+Sat Nov 6 00:46:27 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Oct 4 08:59:45 2014 Zachary Scott <e@zzak.io>
+ * string.c (rb_str_locktmp): check STR_TMPLOCK flag before
+ locking. [ruby-dev:24727]
- * ext/openssl/ossl_rand.c: [DOC] Add call signature for pseudo_bytes
- and random_bytes, wrap lines at 80 chars, and remove useless
- comments.
+Fri Nov 5 18:12:42 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Oct 4 08:49:34 2014 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk/scrollable.rb: divide Scrollable module into
+ X_Scrollable and Y_Scrollable
- * ext/openssl/ossl_rand.c: [DOC] Add rdoc for method descriptions
- By @vipulnsward [Fixes GH-657] https://github.com/ruby/ruby/pull/657
+ * ext/tk/lib/tk/entry.rb: include X_Scrollable instead of Scrollable
-Sat Oct 4 08:23:48 2014 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk/autoload.rb: define autoload for X_Scrollable and
+ Y_Scrollable
- * ext/openssl/ossl_rand.c: Use rb_define_module_function instead of
- macro. [Fixes GH-686] https://github.com/ruby/ruby/pull/686
+Fri Nov 5 16:05:32 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Oct 4 06:04:56 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/tk/lib/tk.rb: TkComm._at() supprts both of "@x,y" and "@x"
- * ext/win32ole/win32ole_method.c(olemethod_set_member): remove
- redundant NULL check.
- * ext/win32ole/win32ole_type.c(oletype_set_member): ditto.
+Fri Nov 5 13:22:58 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Oct 4 00:25:04 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tk/lib/tk/text.rb: sorry. bug fix again.
- * .travis.yml: removed needless preparation for gcc.
+Fri Nov 5 13:17:54 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Oct 3 23:41:20 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tk/lib/tk/text.rb: bug fix
- * .travis.yml: enabled gcc build with osx on travis.
+Fri Nov 5 08:52:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Oct 3 23:22:23 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * gc.c (gc_mark): stricter GC stack check.
- * template/fake.rb.in: fix make install failure due to MSYS path
- with mingw on MSYS environment.
- [ruby-core:64965] [Bug #10230]
+Fri Nov 5 08:52:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Oct 3 21:02:32 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * gc.c (gc_mark): stricter GC stack check.
- * test/ruby/test_io.rb (TestIO#test_advise): avoid to infinite loop.
+Fri Nov 5 08:34:43 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Oct 3 19:26:01 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * string.c (str_gsub): should have removed rb_str_unlocktmp(str).
+ [ruby-dev:24708]
- * .travis.yml: enabled test results of linux.
+Thu Nov 4 21:25:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Oct 3 18:52:16 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * string.c (str_gsub): string modify check no longer based on
+ tmplock. [ruby-dev:24706]
- * test/ruby/test_io.rb (TestIO#test_advise): added workaround of fadvise(2)
- with tmpfs and old linux kernel. [ruby-core:65355][Bug #10313]
+Thu Nov 4 19:27:46 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Oct 3 18:22:45 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * io.c (rb_f_open): fix typo.
- * .travis.yml: Disabled to generate document on travis.
- Reduce test running time.
+Thu Nov 4 15:02:14 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Oct 3 12:42:15 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * ext/tk/lib/tk/variable.rb: forget to initialize instance_variables
+ of TkVarAccess objects
- * lib/matrix.rb: Add hstack & vstack methods.
- Based on a patch by creasywuqiong. [Fix GH-344]
+Thu Nov 4 09:11:35 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Oct 3 12:37:48 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * gc.c (gc_mark): enable GC stack checking.
- * lib/matrix.rb: Fix Matrix.rows copy bug.
- Patch by Arron Mabrey. [Fix GH-707]
+Thu Nov 4 03:11:33 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Oct 3 06:06:28 2014 Eric Wong <e@80x24.org>
+ * string.c (str_gsub): lock strings temporarily. [ruby-dev:24687]
- * st.c (next_pow2): new function (from old bignum.c)
- (new_size): use next_pow2 function
+ * ext/socket/socket.c (s_recvfrom): tmplock input buffer.
+ [ruby-dev:24705]
-Fri Oct 3 05:58:58 2014 Eric Wong <e@80x24.org>
+Wed Nov 3 22:32:12 2004 NARUSE, Yui <naruse@ruby-lang.org>
- * vm_trace.c (rb_tp_t): pack 56 => 48 bytes on 64-bit
+ * process.c: On NetBSD don't use setruid() and setrgid().
-Thu Oct 2 18:41:45 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Nov 3 22:24:17 2004 Daigo Moriwaki <techml@sgtpepper.net>
- * ext/etc/etc.c (etc_nprocessors): Windows support.
- see [Feature #10267]
+ * lib/webrick/httpauth/digestauth.rb: use Base64.encode64 to
+ avoid warnings.
-Thu Oct 2 12:21:52 2014 Tanaka Akira <akr@fsij.org>
+Wed Nov 3 17:19:59 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/etc/etc.c (etc_nprocessors): New method.
- Accepted by matz at RubyKaigi 2014.
- [ruby-core:65142] [Feature #10267]
+ * array.c (rb_ary_uniq_bang): do not push frozen string from hash
+ table. [ruby-dev:24695]
-Thu Oct 2 07:56:49 2014 Eric Wong <e@80x24.org>
+ * array.c (rb_ary_and): ditto.
- * iseq.c (rb_iseq_line_trace_each): explicit cast
- Fix https://travis-ci.org/ruby/ruby/jobs/36814282
+ * array.c (rb_ary_or): ditto.
-Thu Oct 2 05:40:05 2014 Eric Wong <e@80x24.org>
+Wed Nov 3 17:13:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ruby.h: set rb_event_flag_t to uint32_t
- [ruby-core:65315] [misc #10249]
+ * io.c (pipe_open): fix compile error
-Thu Oct 2 05:32:17 2014 Eric Wong <e@80x24.org>
+Wed Nov 3 16:58:07 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * io.c (fptr_finalize): free memory before GC sweep
- [ruby-core:65269] [Feature #10295]
+ * ext/tk/lib/tk.rb: support to use different Tcl commands between
+ configure and configinfo
-Thu Oct 2 05:27:24 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/font.rb: ditto.
- * marshal.c (w_class): check dump_arg->compat_tbl before lookup
- (w_object): lazy init ->compat_tbl before insert
- (obj_alloc_by_class): ditto
- (clear_dump_arg): free only non-NULL ->compat_tbl
- (clear_load_arg): ditto for ->compat_tbl
- (marshal_dump): ->compat_tbl defaults to zero
- (marshal_load): ditto for ->compat_tbl
- (r_entry0): check l->compat_tbl before lookup
- (r_fixup_compat): ditto
- [ruby-core:65305] [Feature #10302]
+ * ext/tk/lib/itemconfig.rb: support to use different Tcl commands
+ between item_configure and item_configinfo
-Wed Oct 1 21:14:34 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/tk/lib/itemfont.rb: ditto.
- * ext/win32ole/win32ole_type.c: use typed data.
+ * ext/tk/extconf.rb: install SUPPORT_STATUS
-Wed Oct 1 18:15:42 2014 Nolan Evans <nolane@gmail.com>
+ * ext/tk/lib/tkextlib: some bug fixes (see ext/tk/ChangeLog.tkextlib)
- * compile.c: remove commented out code.
+Wed Nov 3 16:30:41 2004 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Oct 1 17:38:53 2014 Rei Odaira <Rei.Odaira@gmail.com>
+ * ext/nkf: follow nkf 2.0.4
- * test/fileutils/test_fileutils.rb: AIX does not allow
- a sticky bit on a regular file.
+Wed Nov 3 15:53:34 2004 Kouhei Sutou <kou@cozmixng.org>
-Wed Oct 1 17:31:41 2014 Eric Hodel <drbrain@segment7.net>
+ * test/rss/test_maker_*.rb: added tests for RSS Maker.
- * NEWS: Add RubyGems update.
+ * lib/rss/maker.rb: added RSS Maker.
-Wed Oct 1 17:28:58 2014 Eric Hodel <drbrain@segment7.net>
+ * lib/rss/maker/*.rb: ditto.
- * lib/rubygems: Update to RubyGems 2.4.2.
- * test/rubygems: ditto.
+Tue Nov 2 16:35:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Sep 30 22:25:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/enumerator/enumerator.c (each_cons_i): pass copy of an
+ internal consequent array. [ruby-talk:118691]
- * parse.y (parser_data_type): separate ripper data type for from
- parser.
+Tue Nov 2 16:05:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Sep 30 18:46:31 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * process.c (rb_f_fork): need to flush stdout and stderr before
+ fork(2). [ruby-talk:117715]
- * ext/win32ole/win32ole_typelib.c: use typed data.
+Tue Nov 2 01:20:09 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Sep 30 09:51:46 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (proc_invoke): nail down dyna_var node when Proc object
+ or continuation is created. [ruby-dev:24671]
- * common.mk: fixed broken reference of update-config_files task
+Mon Nov 1 13:59:28 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Mon Sep 29 22:54:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/extmk.rb (MANIFEST): do not use anymore, use extconf.rb instead.
- * win32/file.c (append_wstr): set expanded length, not length of
- appended string. fix "probable buffer overflow" bug.
- [ruby-core:65317] [Bug #10304]
+ * ext/enumerator/extconf.rb, ext/fcntl/extconf.rb,
+ ext/stringio/extconf.rb: added.
- * string.c (str_make_independent_expand): drop NOFREE flag after
- reallocation, static buffer is not pointed anymore.
- [ruby-core:65317] [Bug #10304]
+ * MANIFEST, ext/**/MANIFEST: removed.
-Sun Sep 28 23:59:17 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * README.EXT, README.EXT.ja: remove MANIFEST stuff.
- * gc.c (rb_gcdebug_print_obj_condition): use RVALUE_REMEMBERED
- because GET_HEAP_REMEMBERSET_BITS is obsoleted.
+Mon Nov 1 01:14:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Sep 28 11:14:14 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * io.c (rb_f_open): create copy of popen specifier. [ruby-dev:24656]
- * common.mk: Created new target update-unicode to download
- some Unicode data files.
+Mon Nov 1 00:36:48 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Sep 26 15:03:19 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * main.c (_stklen): move to gc.c.
- * lib/uri/rfc3986_parser.rb: raise URI::InvalidURIError when
- uri doesn't respond to #to_str. [ruby-core:64453] [Bug #10150]
+Sun Oct 31 00:22:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/uri/test_parser.rb: test for above.
+ * string.c (rb_str_locktmp): lock string temporarily.
-Sat Sep 27 10:31:48 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * string.c (str_independent): add tmplock check.
- * gems/bundled_gems: upgraded to power_assert 0.1.4.
+ * io.c (io_write): lock output string temporarily.
+ [ruby-dev:24649]
-Fri Sep 26 12:52:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (io_write): use rb_str_locktmp().
- * ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO
- should be writable any encoding strings, without conversion.
- [ruby-core:65240] [Bug #10285]
+ * io.c (read_all): ditto.
-Fri Sep 26 05:21:01 2014 Eric Wong <e@80x24.org>
+Sat Oct 30 06:53:24 2004 Peter Vanbroekhoven <peter.vanbroekhoven@cs.kuleuven.ac.be>
- * object.c (rb_class_real): do not dereference 0 VALUE
+ * eval.c (rb_eval): NODE_XSTR should pass copy of literal string.
- * test/ruby/test_module.rb (test_inspect_segfault):
- Test case and bug report by Thomas Stratmann.
- [ruby-core:65214] [Bug #10282]
+Sat Oct 30 00:19:40 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Sep 26 05:12:10 2014 Eric Wong <e@80x24.org>
+ * enum.c (enum_sort_by): protect continuation jump in.
+ [ruby-dev:24642]
- * man/ruby.1: document stack size env variables
- [Feature #10197]
+Fri Oct 29 21:27:51 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 25 19:37:34 2014 Eric Wong <e@80x24.org>
+ * io.c (rb_io_check_initialized): new function to check uninitialized
+ object. [ruby-talk:118234]
- * io.c (free_io_buffer): new function for a common pattern
- (clear_readconv): use free_io_buffer
- (rb_io_fptr_finalize): ditto
+ * file.c (rb_file_path), io.c (rb_io_closed): check if initialized.
-Thu Sep 25 07:51:07 2014 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+Fri Oct 29 10:00:30 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/matrix.rb: Fix docs. Patched by Ben Woodall. [GH-726]
+ * eval.c (rb_thread_start_0): forget to free some memory chunks.
+ [ruby-core:03611]
-Wed Sep 24 19:04:04 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * eval.c (ruby_cleanup): ruby_finalize_1 may cause exception,
+ should be wrapped by PUSH_TAG/POP_TAG(). [ruby-dev:24627]
- * enc/unicode/data: New directory for downloaded Unicode
- data files.
+Thu Oct 28 08:42:02 2004 Tanaka Akira <akr@m17n.org>
-Wed Sep 24 18:59:59 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * io.c (argf_forward): use ANSI style.
+ (argf_read): call argf_forward with argv argument.
+ [ruby-dev:24624]
- * tool/downloader.rb: Adjusting example for
- Downloader.download to implementation changes in r47693.
+Thu Oct 28 23:32:54 2004 akira yamada <akira@ruby-lang.org>
-Wed Sep 24 18:06:06 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/zlib/zlib.c (zstream_detach_input): resets klass of z->input if
+ z->input isn't nil.
- * tool/downloader.rb: Removing unused method
- Downloader.download_if_modified_since.
- (if ever used, just replace with Downloader.download)
+Thu Oct 28 23:19:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 24 17:59:59 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * ext/extmk.rb: prefer relative path. [ruby-talk:93037]
- * tool/downloader.rb: Fixing raise after return.
+Wed Oct 27 18:49:11 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Sep 24 17:55:55 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * gc.c: prototype; rb_io_fptr_finalize() doesn't return any value
+ at this version.
- * tool/downloader.rb: Made Unicode data file location available
- via :unicode Symbol.
+Wed Oct 27 17:27:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Sep 24 10:45:45 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * gc.c (gc_sweep): recover ruby_in_compile variable.
- * tool/downloader.rb: Small fix to documentation comment.
+Wed Oct 27 09:17:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 23 22:00:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (str_gsub): use a string object for exception safeness.
+ [ruby-dev:24601]
- * parse.y (parse_ident): just after a label, new expression should
- start, cannot be a modifier. [ruby-core:65211] [Bug #10279]
+Tue Oct 26 23:52:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 23 16:07:07 2014 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * io.c (rb_io_getline): rs modification check should not interfere in the loop.
- * tool/downloader.rb: added Downloader.download_if_modified_since
- to reduce downloads of large files that change only rarely.
- [ruby-core:65164] [CommonRuby - Feature #10084]
+Tue Oct 26 23:30:39 2004 Dave Thomas <dave@pragprog.com>
-Tue Sep 23 11:55:09 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/rdoc/code_objects.rb (RDoc::Context::add_class_or_module):
+ Restore correct :nopdoc: behavior with nested classes and modules.
- * .travis.yml: added rubyspec into travis tasks and eliminate to stdout.
+Tue Oct 26 18:21:29 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Sep 22 20:00:29 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * string.c (RESIZE_CAPA): check string attribute before modifying
+ capacity member of string structure. [ruby-dev:24594]
- * test/win32ole/test_win32ole_variant.rb
- (test_conversion_time2date_with_msec): test by using only
- assert_in_delta to avoid to fail when converting Time object with
- 999999999 nanoseconds into VT_DATE Variant.
+Tue Oct 26 11:33:26 2004 David G. Andersen <dga@lcs.mit.edu>
-Mon Sep 22 19:49:12 2014 Zachary Scott <e@zzak.io>
+ * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
+ performance. [ruby-talk:117701]
- * doc/syntax/methods.rdoc: [DOC] [] and []= methods by @process
- [Fixes GH-662] https://github.com/ruby/ruby/pull/662
+Tue Oct 26 10:56:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Sep 22 18:21:35 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * sprintf.c (rb_f_sprintf): raise ArgumentError for extra
+ arguments, unless (digit)$ style used.
- * .travis.yml: Only osx build is enabled. linux builds is random failure
- and test results of major linux is covered by rubyci.
+Tue Oct 26 11:33:26 2004 David G. Andersen <dga@lcs.mit.edu>
-Mon Sep 22 12:10:29 2014 Tanaka Akira <akr@fsij.org>
+ * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
+ performance. [ruby-talk:117701]
- * test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.
- [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.
+Tue Oct 26 10:56:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Sep 22 09:28:43 2014 Eric Wong <e@80x24.org>
+ * sprintf.c (rb_f_sprintf): raise ArgumentError for extra
+ arguments, unless (digit)$ style used.
- * ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 => 16 bytes
- * ext/socket/init.c (connect_arg): ditto
- * ext/socket/raddrinfo.c (getnameinfo_arg): 56 => 48 bytes
- (reductions only for 64-bit systems)
+Mon Oct 25 18:35:39 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Mon Sep 22 02:04:25 2014 Tanaka Akira <akr@fsij.org>
+ * win32/win32.c (isUNCRoot): should check NUL after '.'.
+ [ruby-dev:24590]
- * lib/drb/drb.rb: Support graceful shutdown.
- (DRbTCPSocket#initialize): Create a pipe for shutdown notification.
- (DRbTCPSocket#close): Invoke close_shutdown_pipe.
- (DRbTCPSocket#close_shutdown_pipe): New private method.
- (DRbTCPSocket#accept): Use accept_or_shutdown.
- (DRbTCPSocket#accept_or_shutdown): New private method which returns
- nil on shutdown.
- (DRbServer#stop_service): Use shutdown instead of Thread#kill.
- (DRbServer#run): Break infinite loop when main_loop returns nil.
- (DRbServer#main_loop): @protocol.accept may return nil.
+ * win32/win32.c (isUNCRoot): fixed buffer overrun.
- * lib/drb/ssl.rb: Follow above change.
+Mon Oct 25 08:03:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/drb/unix.rb: Ditto.
+ * eval.c (get_backtrace): ignore illegal backtrace. [ruby-dev:24587]
-Sun Sep 21 13:54:36 2014 Masaki Matsushita <glass.saga@gmail.com>
+Sun Oct 24 00:41:09 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * time.c: raise exception when minutes of utc_offset is out of 00-59.
- patch is from Kenichi Kamiya.
- [ruby-dev:47539] [Bug #8679]
+ * eval.c (rb_load, search_required, rb_require_safe, rb_require): use
+ frozen shared string to avoid outside modification. [ruby-dev:24580]
- * test/ruby/test_time.rb: test for above.
- patch is from Kenichi Kamiya.
+Sat Oct 23 22:18:32 2004 Guy Decoux <ts@moulon.inra.fr>
-Sun Sep 21 19:04:08 2014 Narihiro Nakamura <authornari@gmail.com>
+ * eval.c (frame_free): Guy Decoux solved the leak problem.
+ Thanks. [ruby-core:03549]
- * st.c (do_hash_bin): unused macro.
+Sat Oct 23 00:20:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Sep 21 18:45:01 2014 Narihiro Nakamura <authornari@gmail.com>
+ * ext/zlib/zlib.c (zstream_append_input): clear klass for z->input
+ to avoid potential vulnerability.
- * parse.y (parser_class_nest): unused variable after YARV
- merged (r11439).
+ * ext/zlib/zlib.c (zstream_run): always use zstream_append_input()
+ to avoid SEGV. [ruby-dev:24568]
-Sun Sep 21 18:14:03 2014 Narihiro Nakamura <authornari@gmail.com>
+Fri Oct 22 12:02:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * st.c (numberof): unused. internal.h has same macro.
+ * eval.c (rb_alias): was warning for wrong condition.
+ [ruby-dev:24565]
- * node.c (F_CUSTOM2): unused.
+Fri Oct 22 10:36:37 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Sep 21 14:11:23 2014 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#meta_vars):
+ should check if path_info is not nil.
- * thread_pthread.c (native_set_thread_name): New function to
- set thread name visible with ps command on GNU/Linux.
- Ex. ps -o %c -L
+Fri Oct 22 00:22:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * thread.c (thread_start_func_2): Call native_set_thread_name at
- beginning.
- (rb_thread_inspect_msg): Extract from rb_thread_inspect.
+ * ext/zlib/zlib.c (zstream_shift_buffer): should restore class
+ field of a buffer. [ruby-dev:24562]
-Sun Sep 21 12:49:11 2014 Eric Wong <e@80x24.org>
+Fri Oct 22 00:20:33 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * iseq.c (rb_iseq_defined_string): trim redundant semi-colon
+ * string.c (rb_str_include): should not treat char as negative value.
+ [ruby-dev:24558]
-Sun Sep 21 12:19:29 2014 Eric Wong <e@80x24.org>
+Thu Oct 21 21:32:30 2004 IWATSUKI Hiroyuki <don@na.rim.or.jp>
- * file.c (rb_find_file_ext_safe): clear tmp buffer on failure
- (rb_find_file_safe): ditto
+ * lib/pstore.rb (PStore#transaction): Use the empty content when a
+ file is not found. [ruby-dev:24561]
-Sat Sep 20 04:42:18 2014 Masaki Matsushita <glass.saga@gmail.com>
+Thu Oct 21 19:06:15 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/csv.rb: avoid unnecessary object allocations.
- patch is from Andrew Vit. [ruby-core:63215] [Feature #9952]
+ * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):
+ ensure to close @body. (http://bugs.debian.org/277520)
-Sun Sep 21 12:10:18 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Oct 21 00:36:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rexml/**/*.rb: removed commented-out code.
+ * eval.c (rb_alias): should warn on method discarding.
+ [ruby-dev:24546]
-Sat Sep 20 03:46:58 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/zlib/zlib.c (zstream_expand_buffer_into): hide internal
+ string buffer by clearing klass. [ruby-dev:24548]
- * array.c: use rb_equal_opt() for performance improvement.
- [ruby-core:64954] [Feature #10227]
+Wed Oct 20 19:45:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Sep 21 11:16:56 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * string.c (str_gsub): reentrant check. [ruby-dev:24432]
- * ext/win32ole/win32ole.c (rbtime2vtdate, vtdate2rbtime): fix
- the bug in conversion of milliseconds. [Bug #10258]
+ * backport all SEGV bug fixes from CVS HEAD. [ruby-dev:24536]
- * test/win32ole/test_win32ole_variant.rb
- (test_conversion_dbl2date_with_msec,
- test_conversion_time2date_with_msec): use assert_in_delta instead
- of assert_equal to treat an acceptable error range.
+Wed Oct 20 04:17:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Sep 21 11:03:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/dbm/dbm.c (fdbm_delete_if): should check if deleting element
+ is a string. [ruby-dev:24490]
- * signal.c (ruby_signal): although "EINVAL from sigaction(2) is
- not a bug", but even it is a failure. pointed at toRuby/guRuby
- in RubyHiroba.
+ * ext/sdbm/init.c (fsdbm_delete_if): ditto.
-Sat Sep 20 03:00:26 2014 Masaki Matsushita <glass.saga@gmail.com>
+Wed Oct 20 01:37:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/tempfile.rb: define parameters appropriately and some
- refactoring.
+ * array.c (rb_ary_times): Array#* should return an instance of
+ the class of right operand. [ruby-dev:24526]
+
+ * ext/zlib/zlib.c (zstream_detach_buffer): should not expose
+ class-less object to Ruby world. [ruby-dev:24530]
+
+ * eval.c (proc_dup): provide Proc#dup as well. [ruby-talk:116915]
+
+ * eval.c (ruby_exec): stack marking position may be higher than
+ expected. thanks to Guy Decoux. [ruby-core:03527]
+
+Tue Oct 19 22:43:12 2004 Dave Thomas <dave@pragprog.com>
+
+ * 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.
+
+Tue Oct 19 20:41:37 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole.c(ole_invoke): retrieve the result value when
+ retrying the IDispatch::invoke.
+
+Tue Oct 19 17:24:11 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * io.c (read_all): block string buffer modification during
+ rb_io_fread() by freezing it temporarily. [ruby-dev:24479]
+
+ * dir.c (rb_push_glob): block call at once the end of method.
+ [ruby-dev:24487]
+
+ * ext/enumerator/enumerator.c (enum_each_slice): remove
+ rb_gc_force_recycle() to prevent potential SEGV.
+ [ruby-dev:24499]
+
+ * ext/zlib/zlib.c (zstream_expand_buffer): hide internal string
+ buffer by clearing klass. [ruby-dev:24510]
+
+Tue Oct 19 16:12:18 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/tkutil.c: backport from CVS HEAD
+
+Tue Oct 19 08:54:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * intern.h, object.c (rb_class_inherited_p): export.
+
+Tue Oct 19 08:46:57 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * string.c (rb_str_upto): method result must be checked. [ruby-dev:24504]
+
+ * eval.c (error_print): ditto. [ruby-dev:24519]
+
+Mon Oct 18 23:37:05 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * marshal.c (r_object0): check inheritance by the internal function.
+ [ruby-dev:24515]
+
+Mon Oct 18 15:58:01 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * range.c (range_step, range_each): need cast.
+
+Fri Oct 29 16:34:19 2004 Daiki Ueno <ueno@unixuser.org>
+
+ * misc/ruby-mode.el (ruby-parse-partial): Parse the rest of the
+ line after opening heredoc identifier. [ruby-dev:24635]
- * lib/tmpdir.rb: ditto.
+Mon Oct 18 07:26:21 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Sep 20 23:58:21 2014 Tanaka Akira <akr@fsij.org>
+ * file.c (rb_file_truncate): discard read buffer before truncation.
+ [ruby-dev:24197]
- * enum.c (enum_chunk): Deprecate the state management.
- (enum_slice_before): Ditto.
+Mon Oct 18 02:11:21 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Sep 20 15:39:11 2014 Tanaka Akira <akr@fsij.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]
- * enum.c (enum_slice_when): New method: Enumerable#slice_when.
- (slicewhen_i): New function.
- (slicewhen_ii): New function.
+ * 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.
- * enumerator.c (InitVM_Enumerator): New method:
- Enumerator::Lazy#slice_when.
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::FileHandler#get_servlet): new method to
+ search servlet correspond to the suffix of filename.
- [ruby-core:62499] [Feature #9826]
+ * lib/webrick/httprequest.rb: add attributes access methods: accept,
+ accept_charset, accept_encoding, accept_language, content_length
+ and content_type.
-Sat Sep 20 11:55:19 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/webrick/httpresponse.rb: add attribute access methods:
+ content_length, content_length=, content_type and content_type=.
- * .travis.yml: added new configurations for osx on travis ci.
- [fix GH-723]
- * test/ruby/test_object.rb: tweaked to memory leak limit for osx build.
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.mime_types):
+ use the second suffix to detect media type. (the first suffix
+ may be a language name.)
-Sat Sep 20 10:48:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.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.
- * parse.y (assoc): allow quoted ID as a key of a hash literal.
- [ruby-core:34453] [Feature #4276]
+Mon Oct 18 02:04:11 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Sep 20 10:23:00 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host): new
+ method to register virtual hosting servers.
- * compile.c (iseq_set_arguments): store local variable IDs in
- temporary list as Symbols. previously these are stored as
- Fixnums to prevent from GC, but IDs of dynamic symbols can
- exceed Fixnum range and cause RangeError at inverting from
- Fixnum. [ruby-dev:48564] [Bug #10266]
+ * lib/webrick/server.rb (WEBrick::GenericServer#accept): call
+ do_not_reverse_lookup for each socket if :DoNotReverseLookup
+ is set. [ruby-core:02357]
-Sat Sep 20 10:02:51 2014 Tanaka Akira <akr@fsij.org>
+Mon Oct 18 00:42:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#pretty_print):
- New method.
- (OpenSSL::X509::Certificate#pretty_print): Ditto.
+ * ext/socket/socket.c (sock_s_getservbyaname): protocol string
+ might be altered. [ruby-dev:24503]
- * ext/openssl/lib/openssl/bn.rb (OpenSSL::BN#pretty_print): Ditto.
+ * string.c (rb_str_upto): check if return value from succ is a
+ string. [ruby-dev:24504]
-Sat Sep 20 07:55:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 17 23:03:48 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * 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]
+ * ext/tk/lib/tk/timer.rb: TkTimer#start and restart accept a block
-Fri Sep 19 20:06:00 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 17 13:05:04 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * symbol.c (rb_str_dynamic_intern): check if the stem ID of
- attrset ID is already registered as a static ID.
- [ruby-dev:48559] [Bug #10259]
+ * 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
-Fri Sep 19 15:48:09 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Oct 16 14:45:28 2004 Kouhei Sutou <kou@cozmixng.org>
- * 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).
+ * lib/rss/0.9.rb (RSS::Rss#to_s): removed garbage.
-Fri Sep 19 10:47:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 16 13:42:49 2004 Kouhei Sutou <kou@cozmixng.org>
- * test/ruby/test_math.rb (TestMath#assert_infinity): Float#finite?
- returns true also for NaN, so use Float#infinite? instead.
- [ruby-core:65117] [Feature #10261]
+ * lib/rss/: untabified.
+ * test/rss/: untabified.
+ * lib/rss/0.9.rb (RSS::Rss#to_s): inent -> indent.
-Fri Sep 19 05:36:16 2014 Eric Wong <e@80x24.org>
+Sat Oct 16 13:34:56 2004 Kouhei Sutou <kou@cozmixng.org>
- * NEWS: note --with-jemalloc option [ci skip]
+ * lib/rss: supported prety print.
+ * test/rss/test_1.0.rb: added test for calculating default indent size.
-Thu Sep 18 16:26:27 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Oct 15 18:04:35 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/rubygems/test_gem_commands_setup_command.rb: @ui uses StringIO
- as its streams, and Encoding.default_external does not effect to
- StringIOs already exist. so, we need to set external_encoding of
- @ui.outs directly. this problem (test failure) does not appear in
- the environments default_external is us-ascii or utf-8.
+ * ext/tk/lib/tk/timer.rb: TkTimer.new(interval, loop){ ... } is
+ acceptable. Add TkTimer.start ( == new + start ).
-Thu Sep 18 15:02:15 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Oct 15 12:43:09 2004 Tanaka Akira <akr@m17n.org>
- * test/rubygems/test_gem_specification.rb: '/' is not always the root.
+ * eval.c (Init_stack): make prototype declaration consistent with
+ the definition in gc.c.
-Thu Sep 18 09:36:37 2014 Scott Francis <scott.francis@shopify.com>
+Thu Oct 14 14:34:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * vm_method.c (Init_Method): make global method cache size
- configurable by environment variable
- "RUBY_GLOBAL_METHOD_CACHE_SIZE" [Fix GH-719]
+ * io.c (MODE_BINMODE, MODE_BINARY): fixed reversed condition.
-Thu Sep 18 07:03:36 2014 Eric Wong <e@80x24.org>
+Thu Oct 14 13:33:59 2004 Kouhei Sutou <kou@cozmixng.org>
- * test/-ext-/string/test_modify_expand.rb: increase limit
- for {je,tc}malloc [Bug #10236]
+ * lib/rss/rss.rb: added link to Tutorial.
-Thu Sep 18 06:41:18 2014 Eric Wong <e@80x24.org>
+Mon Oct 11 13:48:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/zlib/zlib.c (struct gzfile): pack (288 => 272 bytes) on 64-bit
+ * ext/tk/lib/tk/*: untabify
-Thu Sep 18 05:44:05 2014 Eric Wong <e@80x24.org>
+Sun Oct 10 12:32:08 2004 Dave Thomas <dave@pragprog.com>
- * ext/socket/init.c (rsock_connect): refactor for blocking
- (wait_connectable): clear error before wait
- [Bug #9356]
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Allow 'require'
+ to be used as a variable name
-Wed Sep 17 23:12:36 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Oct 9 21:23:37 2004 Kouhei Sutou <kou@cozmixng.org>
- * lib/uri/rfc3986_parser.rb: specify a regexp for :OPAQUE; generic.rb
- assumes it is present, and will refuse all values otherwise.
- by Matthew Draper <matthew@trebex.net>
- https://github.com/ruby/ruby/pull/718 fix GH-718
+ * lib/rss/converter.rb: changed to try to use Iconv for default
+ conversion.
-Wed Sep 17 16:22:58 2014 Eric Wong <e@80x24.org>
+ * lib/rss/rss.rb: 0.0.9 -> 0.1.0.
- * ext/zlib/zlib.c (zlib_mem_alloc): check overflow
+Sat Oct 9 19:50:36 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 17 11:33:35 2014 Laurent Arnoud <laurent@spkdev.net>
+ * io.c (rb_io_getline): should not treat char as negative value.
+ [ruby-dev:24460]
- * test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):
- added test for long long [fix GH-716]
+Fri Oct 8 09:49:32 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Sep 17 11:09:21 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * pack.c (pack_pack): pointer modification check before each
+ iteration. [ruby-dev:24445]
- * tool/rbinstall.rb: fixed invalid options with latest rubygems.
- https://github.com/rubygems/rubygems/issues/1013
+Fri Oct 8 01:13:05 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Sep 16 19:19:00 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/optiondb.rb: make it more secure
- * benchmark/bm_app_aobench.rb: update outdated links to the
- original program. [ruby-dev:48550] [Feature #10247]
+Thu Oct 7 23:47:57 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Sep 16 01:06:40 2014 NARUSE, Yui <naruse@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.
- * reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544
+Thu Oct 7 17:36:25 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Sep 15 16:21:10 2014 Eric Wong <e@80x24.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.
- * io.c (struct io_advise_struct): 32 => 24 bytes on 64-bit
- * io.c (struct io_internal_writev_struct): 24 => 16 bytes on 64-bit
- * process.c (struct waitpid_arg): ditto
+Thu Oct 7 12:55:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Sep 15 10:29:25 2014 Natalie Weizenbaum <nweiz@google.com>
+ * io.c (io_read): should freeze buffer before thread context
+ switch. [ruby-dev:24442]
- * 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]
+ * pack.c (pack_unpack): string conversion should at the top of the
+ method. [ruby-dev:24439]
-Mon Sep 15 09:43:18 2014 Sho Hashimoto <sho.hsmt@gmail.com>
+ * io.c (io_read): buffer should be frozen only after the length
+ check. [ruby-dev:24440]
- * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo,
- SIZEOF_LONG_LON. [Fix GH-714]
+Thu Oct 7 02:56:43 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Sep 15 08:13:40 2014 Matthew Draper <matthew@trebex.net>
+ * ext/stringio/stringio.c: use FMODE_APPEND.
- * sprintf.c (rb_str_format): rational 'f' format works for more
- values. [fix GH-717]
+Thu Oct 7 01:05:33 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun Sep 14 16:57:27 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk.rb: add Tk.errorInfo and Tk.errorCode
- * template/vm.inc.tmpl: "insns.c" => "insns.def"
- * tool/instruction.rb: typo fix
+Thu Oct 7 00:08:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Sep 14 12:29:52 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * io.c (rb_io_s_sysopen): preserve path in the buffer allocated by
+ ALLOCA_N() to prevent modification. [ruby-dev:24438]
- * test/test_tracer.rb: fixed testcase for rubygems update.
+Wed Oct 6 09:21:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Sep 14 12:29:02 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * io.c (rb_io_mode_flags): preserve append mode flag.
+ [ruby-dev:24436]
- * lib/rubygems: Update to RubyGems 2.4.1 master(713ab65)
- Complete history at:
- https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216
+ * io.c (rb_io_modenum_mode): do not use external output buffer.
- * test/rubygems: ditto.
+ * string.c (rb_str_justify): differ pointer retrieval to prevent
+ padding string modification. [ruby-dev:24434]
-Sun Sep 14 11:03:24 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * range.c (range_each_func): allow func to terminate loop by
+ returning RANGE_EACH_BREAK.
- * ext/psych/lib/psych.rb: update version
- * ext/psych/psych.gemspec: ditto
+ * range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959]
-Sun Sep 14 08:43:37 2014 Eric Wong <e@80x24.org>
+Mon Oct 4 14:04:14 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ccan/container_of/container_of.h (container_of_or_null): added
- [ccan 7ec5b8e06b2fd5fa98b1fcde1158c286d2d429d8] (David Gibson)
+ * io.c (rb_file_open_internal, rb_io_reopen): fname might be altered
+ while GC. [ruby-dev:24408]
-Sun Sep 14 08:41:44 2014 Eric Wong <e@80x24.org>
+Mon Oct 4 12:53:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ccan/list/list.h (list_del_init, list_node_init): new functions
- for multiple list_del() calls
- [ccan ec8654d94d3c5c47aa5f82698f7e8048c79765b1] (Rusty Russell)
+ * ext/tk/lib/tk/optiondb.rb: support definition of command
+ resources on widgets
-Sat Sep 13 22:19:26 2014 Bernard Potocki <bernard.potocki@imanel.org>
+ * ext/tk/lib/tk/image.rb: bug fix
- * hash.c (rb_hash_aset): fix misleading example which may suggest
- that Hash.store will return self instead of value - Hash#store
- is returning value and update itself, as well as Hash#[]=.
- [Fix GH-715]
+Sun Oct 3 21:20:03 2004 Shugo Maeda <shugo@ruby-lang.org>
-Sat Sep 13 15:16:31 2014 Eric Wong <e@80x24.org>
+ * lib/net/imap.rb (TEXT_REGEXP): allow 8-bit characters for the german
+ version of Microsoft Exchange Server. (backported from HEAD)
- * class.c: use ALLOC(rb_subclass_entry_t)
+ * lib/net/imap.rb (RTEXT_REGEXP): ditto.
-Sat Sep 13 14:14:00 2014 Eric Wong <e@80x24.org>
+ * lib/net/imap.rb (CTEXT_REGEXP): ditto.
- * process.c (free_exec_arg): remove
- (memsize_exec_arg): ptr is never NULL
- (exec_arg_data_type): use RUBY_TYPED_DEFAULT_FREE
+Sat Oct 2 20:34:22 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * variable.c (autoload_i_free): remove
- (autoload_data_i_type): use RUBY_TYPED_DEFAULT_FREE
- (autoload_memsize): ptr is never NULL
+ * node.h (NEW_DVAR): extra semicolon.
- * vm_backtrace.c (location_free): remove
- (location_mark): ptr is never NULL
- (location_data_type): use RUBY_TYPED_DEFAULT_FREE
- (backtrace_mark): ditto
- (backtrace_free): ditto
+Sat Oct 2 00:42:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Sep 13 13:43:07 2014 Eric Wong <e@80x24.org>
+ * marshal.c (r_byte): retrieve pointer from string value for each
+ time. [ruby-dev:24404]
- * doc/NEWS-2.0.0: fix typo for default RUBY_FIBER_MACHINE_STACK_SIZE
- [ci skip]
+ * marshal.c (r_bytes0): ditto.
-Sat Sep 13 11:16:58 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399]
- * ext/win32ole/win32ole_event.c(ev_advise, ole_event_free,
- fev_s_allocate, fev_unadvise): avoid segmentation fault when COM
- server freed before calling Unadvise from WIN32OLE_EVENT object.
- * ext/win32ole/win32ole.c: ditto.
+ * io.c (io_read): should freeze all reading buffer.
+ [ruby-dev:24400]
-Sat Sep 13 09:47:44 2014 Eric Wong <e@80x24.org>
+ * string.c (rb_str_sum): should use bignums when bits is greater
+ than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]
- * man/ruby.1: use https for *.ruby-lang.org links
+ * eval.c (specific_eval): defer pointer retrieval to prevent
+ unsafe sourcefile string modification. [ruby-dev:24382]
-Sat Sep 13 06:31:23 2014 Eric Wong <e@80x24.org>
+ * eval.c (specific_eval): defer pointer retrieval to prevent
+ unsafe sourcefile string modification. [ruby-dev:24382]
- * vm.c (thread_alloc): remove needless volatile
+ * string.c (rb_str_sum): wrong cast caused wrong result.
+ [ruby-dev:24385]
-Sat Sep 13 06:13:55 2014 Eric Wong <e@80x24.org>
+ * enum.c (enum_sort_by): hide temporary array from
+ ObjectSpace.each_object. [ruby-dev:24386]
- * proc.c (proc_free): remove, use RUBY_TYPED_DEFAULT_FREE
- (proc_mark, proc_memsize): remove needless branching
+ * string.c (rb_str_sum): check was done with false pointer.
+ [ruby-dev:24383]
- * vm.c (env_free): remove, use RUBY_TYPED_DEFAULT_FREE
- (env_mark, env_memsize): remove needless branching
+ * string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
-Sat Sep 13 05:52:15 2014 Eric Wong <e@80x24.org>
+Mon Oct 11 17:51:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * proc.c (rb_proc_alloc): inline and move to vm.c
- (rb_proc_wrap): new wrapper function used by rb_proc_alloc
- (proc_dup): simplify alloc + copy + wrap operation
- [ruby-core:64994]
+ * io.c (rb_io_popen): get mode string via rb_io_flags_mode() to
+ avoid mode string modification. [ruby-dev:24454]
- * vm.c (rb_proc_alloc): new inline function
- (rb_vm_make_proc): call rb_proc_alloc
+ * io.c (rb_io_getline_fast): should take delim as unsigned char to
+ distinguish EOF and '\377'. [ruby-dev:24460]
- * vm_core.h: remove rb_proc_alloc, add rb_proc_wrap
+ * io.c (rb_io_getline): add check for RS modification.
+ [ruby-dev:24461]
- * benchmark/bm_vm2_newlambda.rb: short test to show difference
+ * enum.c (enum_sort_by): use qsort() directly instead using
+ rb_iterate(). [ruby-dev:24462]
-Sat Sep 13 04:40:04 2014 Eric Wong <e@80x24.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]
- * process.c (Init_process): subclass Thread as Process::Waiter
- (rb_detach_process): use Process::Waiter instead of singleton class
- Thanks to headius and nobu. [Bug #10231]
+Fri Oct 1 11:40:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_process.rb (test_process_detach): new test
+ * eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe
+ sourcefile string modification. [ruby-dev:24373]
- * inits.c (rb_call_inits): call Init_Thread before Init_process to
- ensure Process::Waiter may be a subclass of Thread
+ * io.c (io_read): block string buffer modification during
+ rb_io_fread() by freezing it temporarily. [ruby-dev:24366]
-Fri Sep 12 18:14:28 2014 Eric Wong <e@80x24.org>
+ * io.c (rb_io_s_popen): mode argument may be altered.
+ [ruby-dev:24375]
- * vm.c (env_alloc): inline to avoid extra zeroing
- tiny speedup [ruby-core:64980]
+ * file.c (rb_file_s_basename): ext argument may be altered.
+ [ruby-dev:24377]
-Fri Sep 12 17:13:29 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * enum.c (enum_sort_by): use NODE instead of 2 element arrays.
+ [ruby-dev:24378]
- * vm_method.c (rb_method_entry_make, remove_method): ditto.
+ * string.c (rb_str_chomp_bang): StringValue() may change the
+ receiver. [ruby-dev:24371]
-Fri Sep 12 14:39:55 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Oct 1 11:25:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gems/bundled_gems: Upgraded to test-unit-3.0.1 and minitest-5.4.1
+ * ext/tk/lib/tk/grid.rb: revive TkGrid.grid
-Fri Sep 12 06:55:40 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk/pack.rb: revive TkPack.pack
- * string.c (Init_frozen_strings): use st_init_table_with_size
+ * ext/tk/lib/tk/place.rb: revive TkPlace.place
-Fri Sep 12 06:15:37 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Sep 30 00:50:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * string.c (sym_find): remove Symbol.find because we have Symbol GC now.
- https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140904Japan
- If you still want this, request again on Redmine. [Feature #7854]
- https://bugs.ruby-lang.org/issues/7854
+ * ext/tcltklib/tcltklib.c (ip_init): bug fix
- * ext/-test-/symbol/init.c (sym_find): moved from string.c for tests.
+ * ext/tk/tkutil.c (get_eval_string_core): accept a Regexp object
-Fri Sep 12 04:24:03 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/multi-tk.rb: fix bug on 'exit' operation
- * insns.def (once): define and use fake RUNNING_THREAD_ONCE_DONE
- pointer to indicate is->once.running_thread is done.
+ * ext/tk/lib/tk/text.rb: 'tksearch' accepts a Regexp object as a
+ matting pattern argument
- * vm_core.h (iseq_inline_storage_entry): remove done field,
- allowing the union to be reduced from 24=>16 bytes on 64-bit
- [Feature #10187]
+Wed Sep 29 10:58:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 11 20:10:00 2014 Koichi Sasada <ko1@atdot.net>
+ * enum.c (sort_by_i): internally used object must not be changed
+ outside. [ruby-dev:24368]
- * vm.c (rb_thread_mark): use rb_gc_mark_values() to mark VM stack.
+Mon Sep 27 13:46:45 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 11 19:50:57 2014 Koichi Sasada <ko1@atdot.net>
+ * intern.h, struct.c (rb_struct_s_members, rb_struct_members): public
+ accessors. [ruby-dev:24342]
- * vm.c (rb_vm_register_special_exception): make new function to
- make and register special exceptions.
+ * marshal.c (w_object, r_object0): use accessors.
- * vm.c (rb_vm_mark): do not need to mark special exceptions
- because they are registered by rb_gc_register_mark_object().
+Mon Sep 27 09:14:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * eval.c (Init_eval): use rb_vm_register_special_exception().
+ * ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.
+ [ruby-talk:113807]
- * gc.c (Init_GC): ditto.
+Fri Sep 24 16:09:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * proc.c (Init_Proc): ditto.
+ * eval.c (proc_invoke): propagate DVAR_DONT_RECYCLE on termination
+ to avoid double call to rb_gc_force_recycle(). [ruby-dev:24311]
- * thread.c (Init_Thread): ditto.
+Fri Sep 24 08:29:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Sep 11 19:32:30 2014 Koichi Sasada <ko1@atdot.net>
+ * array.c (rb_ary_subseq): original object might be modified after
+ sharing data creation. [ruby-dev:24327]
- * gc.c (rb_gc_mark_values): added.
- This function is similar to rb_gc_mark_locations(), but not
- conservative.
+ * array.c (rb_ary_replace): ditto.
- * internal.h: ditto.
+ * array.c (ary_make_shared): freeze shared array. [ruby-dev:24325]
- * vm.c (env_mark): use rb_gc_mark_values() because env values should
- be Ruby VALUEs.
+ * struct.c (struct_members): always check struct size and size of
+ members list in the class. [ruby-dev:24320]
-Thu Sep 11 19:16:39 2014 Koichi Sasada <ko1@atdot.net>
+Thu Sep 23 09:29:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gc_mark_ptr): rename to gc_mark_set.
+ * string.c (rb_str_sub_bang): check if string is not modified
+ during iteration. [ruby-dev:24315]
- * gc.c (gc_mark): add gc_mark_ptr() to skip is_markable_object()
- check. gc_mark_maybe() can use gc_mark_ptr() directly because
- passed pointer is checked by is_pointer_to_heap().
+ * hash.c (rb_hash_rehash): replace st_foreach() by its deep
+ checking counterpart. [ruby-dev:24310]
-Thu Sep 11 18:40:16 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Sep 22 13:38:12 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * .gitignore: ignored temporary files and coverage results.
+ * hash.c (rb_hash_rehash): add iteration check. [ruby-dev:24301]
-Thu Sep 11 18:15:30 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * st.c (st_foreach): add deep check.
- * .gitignore: ignored only simplecov.
- * coverage/README: Added coverage docs.
+Wed Sep 22 13:06:14 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Sep 11 17:25:31 2014 Koichi Sasada <ko1@atdot.net>
+ * win32/win32.c (rb_w32_call_handler): workaround for Ctrl-C.
+ merge from HEAD.
- * include/ruby/ruby.h, gc.c: add new internal events
- RUBY_INTERNAL_EVENT_GC_ENTER and
- RUBY_INTERNAL_EVENT_GC_EXIT.
+Wed Sep 22 00:11:12 2004 Dave Thomas <dave@pragprog.com>
- When invoking GC process, GC_ENTER event is called.
- When exiting from GC process, GC_EXIT event is called.
+ * process.c: Add documentation for fork()
- Incremental GC (incremental marking and lazy sweep) can call
- these events many times.
+Wed Sep 22 09:04:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- For example (minor marking):
- (1) GC_ENTER
- - (2) GC_START (minor GC)
- (minor marking)
- - (3) GC_END_MARK
- (start lazy sweep)
- (4) GC_EXIT
- (ruby process)
- (5) GC_ENTER
- (lazy sweep)
- (6) GC_EXIT
- (ruby process)
- (... repeat (5), (6))
- (7) GC_ENTER
- (finish lazy sweep)
- - (8) GC_END_SWEEP
- (9) GC_EXIT
+ * array.c (rb_ary_collect_bang): element size might change during
+ comparison. [ruby-dev:24300]
- 2nd example (incremental major marking):
- (1) GC_ENTER
- - (2) GC_START (minor GC)
- (start incremental marking)
- (3) GC_EXIT
- (ruby process)
- (4) GC_ENTER
- (incremental marking)
- (5) GC_EXIT
- (ruby process)
- (... repeat (4), (5))
- (6) GC_ENTER
- (finish incremental marking)
- - (7) GC_END_MARK
- (start lazy sweep)
- (8) GC_EXIT
- (ruby process)
- (9) GC_ENTER
- (lazy sweep)
- (10) GC_EXIT
- (ruby process)
- (... repeat (9), (10))
- (11) GC_ENTER
- (finish lazy marking)
- - (12) GC_STOP_SWEEP
- (13) GC_EXIT
+ * array.c (rb_ary_reject_bang): ditto. [ruby-dev:24300]
- These internal events enable to measure GC pause time completely.
+ * array.c (rb_ary_eql): ditto. [ruby-dev:24300]
-Thu Sep 11 17:04:54 2014 Eric Wong <e@80x24.org>
+Tue Sep 21 18:29:49 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/benchmark.rb: remove CLOCK_MONOTONIC_RAW support
- Thanks to Vit Ondruch for reporting the issue on ARM.
- [Bug #10202]
+ * array.c (rb_ary_equal): merge miss.
-Thu Sep 11 14:31:57 2014 Koichi Sasada <ko1@atdot.net>
+ * array.c (rb_ary_uniq_bang): element size might change during
+ comparison. [ruby-dev:24298]
- * include/ruby/ruby.h: freeze nil/true/false.
- [Feature #8923]
+Mon Sep 20 00:24:19 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (should_be_finalizable): check frozen after checkin FL_ABLE.
+ * enum.c (enum_sort_by): do not use qsort directly. use
+ rb_ary_sort_bang() instead. [ruby-dev:24291]
- * object.c (rb_obj_taint): check
- OBJ_TAINTABLE(obj).
+ * enum.c (enum_sort_by): pedantic type check added.
+ [ruby-dev:24291]
- * object.c (rb_obj_freeze): remove immediate_frozen_tbl
- because all of immediate values are frozen. YAY!
+ * hash.c (rb_hash_foreach_iter): check iter_lev after each
+ iteration. [ruby-dev:24289]
- * object.c (rb_obj_frozen_p): ditto.
+ * array.c (rb_ary_and): element size might change during
+ comparison. [ruby-dev:24290]
- * test/ruby/test_eval.rb: skip instance_variable_set for
- frozen objects.
+ * array.c (rb_ary_or): ditto. [ruby-dev:24292]
- * test/ruby/test_weakmap.rb: check ArgumentError instead of
- RuntimeError.
+ * array.c (rb_ary_equal): wrong fix. [ruby-dev:24286]
-Thu Sep 11 10:03:16 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Sep 18 15:02:22 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(21b241a)
+ * array.c (rb_ary_equal): element size might change during
+ comparison. [ruby-dev:24254]
-Wed Sep 10 17:52:25 2014 Koichi Sasada <ko1@atdot.net>
+ * array.c (rb_ary_diff): ditto. [ruby-dev:24274]
- * compile.c (rb_vm_addr2insn): rename to rb_vm_insn_addr2insn
- to clear what address.
+ * array.c (rb_ary_select): ditto. [ruby-dev:24278]
-Wed Sep 10 16:22:26 2014 Koichi Sasada <ko1@atdot.net>
+ * array.c (rb_ary_delete): ditto. [ruby-dev:24283]
- * test/ruby/test_gc.rb: fix condition.
+ * array.c (rb_ary_rindex): ditto. [ruby-dev:24275]
-Wed Sep 10 15:29:46 2014 Eric Wong <e@80x24.org>
+ * array.c (rb_ary_initialize): element size might change during
+ initializing block. [ruby-dev:24284]
- * vm_core.h (rb_call_info_t): ci->flag becomes 32-bit unsigned int
- ci->index becomes a 32-bit signed int (from signed long).
- Reorder for better packing on 64-bit, giving an 8 byte reduction
- from 104 to 96 bytes for each ci.
- [Feature #10187]
+Sat Sep 18 14:10:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * compile.c (new_callinfo, setup_args, iseq_compile_each,
- iseq_build_from_ary_body): adjust for type changes
+ * 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]
- * vm_insnhelper.c (vm_getivar): ditto
+Fri Sep 17 20:20:27 2004 Minero Aoki <aamine@loveruby.net>
-Wed Sep 10 15:07:35 2014 Eric Wong <e@80x24.org>
+ * lib/fileutils.rb (mkdir_p): backport from CVS HEAD 1.45. [ruby-core:03420]
- * compile.c (rb_iseq_translate_threaded_code):
- modify in-place w/o copy
- (rb_vm_addr2insn): new function for debug
- (rb_iseq_original_iseq): ditto
- (iseq_set_sequence): assign iseq_encoded directly
- [Feature #10185]
+Fri Sep 17 17:11:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_core (rb_iseq_t): move original ->iseq to bottom
+ * array.c (rb_ary_delete): element comparison might change array
+ size. [ruby-dev:24273]
- * iseq.c (iseq_free, iseq_free): adjust for new layout
- (rb_iseq_disasm): use original iseq for dump
- (iseq_data_to_ary): ditto
- (rb_iseq_line_trace_each): ditto
- (rb_iseq_build_for_ruby2cext): use iseq_encoded directly
+ * file.c (rb_file_truncate): clear stdio buffer before truncating
+ the file. [ruby-dev:24191]
- * vm_dump.c (rb_vmdebug_debug_print_pre): use original iseq
+ * ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF
+ which might return singleton class. [ruby-dev:24202]
-Wed Sep 10 15:00:11 2014 Eric Wong <e@80x24.org>
+Fri Sep 17 16:07:09 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * time.c (time_mark): remove NULL check
- (time_memsize): ditto
- (time_free): remove, use RUBY_TYPED_DEFAULT_FREE instead
- [Feature #10219]
+ * ext/tk/lib/multi-tk.rb: improve exit operation
-Wed Sep 10 14:14:57 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Sep 17 15:01:57 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * common.mk (encs enc trans libencs libenc libtrans): force to run
- enk.mk because common.mk does not know the dependency, but enk.mk
- knows. [ruby-dev:48530] [Bug #10220]
+ * ext/tcltklib/tcltklib.c: fix SEGV when (thread_)vwait or
+ (thread_)tkwait
-Wed Sep 10 11:59:10 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk.rb: add alias wait_window to wait_destroy
- * gc.c (gc_stat): update rdoc.
+ * ext/tk/lib/multi-tk.rb: support calling 'mainloop' on slave
+ interpreters (however, the 'real' eventloop must be run on the
+ Default Master IP)
-Wed Sep 10 11:52:08 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/remote-tk.rb: follow the changes of ext/tk/lib/multi-tk.rb
- * gc.c (gc_stat_internal): rename:
- * malloc_increase -> malloc_increase_bytes
- * malloc_limit -> malloc_increase_bytes_limit
- * oldmalloc_increase -> oldmalloc_increase_bytes
- * oldmalloc_limit -> oldmalloc_increase_bytes_limit
- ref: [Feature #9924]
+ * ext/tk/sample/remote-ip_sample2.rb: ditto
-Wed Sep 10 11:45:40 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/tkoptdb-safeTk.rb: ditto
- * gc.c (gc_stat_internal): rename `heap_used' to `heap_allocated_pages'.
- ref: [Feature #9924]
+Thu Sep 16 18:12:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_gc.rb: add constraints test for gc stat information.
+ * lib/webrick/cgi.rb (WEBrick::CGI#start): should set REMOTE_USER
+ to request.user attribute.
-Wed Sep 10 11:31:16 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::FileHandler#initialize): should expand
+ the pathname of document root directory.
- * gc.c (gc_stat_internal): rename:
- * remembered_shady_object -> remembered_wb_unprotected_objects
- * remembered_shady_object_limit -> remembered_wb_unprotected_objects_limit
- * old_object -> old_objects
- * old_object_limit -> old_objects_limit
- ref: [Feature #9924]
+Thu Sep 16 15:49:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Sep 10 11:12:25 2014 Koichi Sasada <ko1@atdot.net>
+ * string.c (rb_str_intern): protect string argument from GC.
+ [ruby-core:03411]
- * gc.c (gc_stat_internal): support:
- * total_allocated_pages
- * total_freed_pages
- ref: [Feature #9924]
+Wed Sep 15 20:22:23 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Sep 10 10:48:04 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/sample/tkoptdb-safeTk.rb: fix a bug depend on the changes
+ of MultiTkIp
- * test/ruby/test_gc.rb: catch up last fix.
+Tue Sep 14 23:54:11 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Sep 10 10:36:08 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string was en-bugged by
+ the previous changes.
- * gc.c (objspace_total_slot): rename objspace_available_slots.
+Tue Sep 14 23:45:44 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (objspace_live_slot, objspace_free_slot): rename
- ..._slot() to ..._slots().
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::TextFormatter.for):
+ Add Eric Hodel's simpleformatter.
- * gc.c (objspace_free_slot): should subtract heap_pages_final_slots.
+Tue Sep 14 16:59:37 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (gc_stat_internal):
- * add `heap_available_slots' field
- * rename heap_live_slot to heap_live_slots
- * rename heap_free_slot to heap_free_slots
- ref: [Feature #9924]
+ * ext/tcltklib/tcltklib.c: fix SEGV
-Wed Sep 10 07:22:53 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: improve safe-level handling of argument proc
- * gc.c: refactoring for RGENGC_PROFILE > 0.
+ * ext/tk/sample/multi-ip_sample.rb: rename of old 'safe-tk.rb'
- * rename rb_objspace_t::profile::..._count
- to rb_objspace_t::profile::total_..._count
- * rename promote_infant_types to promote_types
+ * ext/tk/sample/safe-tk.rb: new sample script
- * gc.c (gc_remember_unprotected): count remembered shady objects here.
+Tue Sep 14 00:15:15 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Wed Sep 10 03:12:12 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+ * ext/zlib/zlib.c: backported from HEAD.
- * gc.c (init_mark_stack): MEMZERO() receive type as 2nd argument instead
- of size.
- Coverity Scan found this bug.
+Mon Sep 13 19:16:33 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Sep 9 21:55:39 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * eval.c (blk_copy_prev): need frame_dup(). [ruby-dev:24103]
- * ext/win32ole/sample/excel2.rb: remove some commented-out code.
- rotate graph more slowly to see graph clearly.
+Mon Sep 13 16:23:27 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Sep 9 19:52:33 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: MultiTkIp.new_master and new_slave accept
+ safe-level value argument
- * gc.c: rename rb_objspace_t::marked_objects to marked_slots.
+Mon Sep 13 10:20:45 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (gc_marks_start): should be clear first.
+ * object.c (nil_inspect): fix typo.
- * gc.c (gc_marks_start): remembered shady objects are also marked.
+Mon Sep 13 01:03:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (gc_stat_internal): add heap_marked_slots.
+ * ext/tcltklib/tcltklib.c: improve control of preserv/release tcltkip
-Tue Sep 9 18:58:48 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tcltklib/tcltklib.c: store original 'exit' command
- * gc.c: rename
- * total_allocated_object_num -> total_allocated_objects
- * total_allocated_object_num_at_gc_start -> total_allocated_objects_at_gc_start
- * total_freed_object_num -> total_freed_objects
+ * ext/tk/tkutil.c: fix(?) SEGV
- * gc.c (gc_stat_internal):
- * rename total_allocated_object -> total_allocated_objects
- * rename total_freed_object -> total_freed_objects
+Sun Sep 12 23:46:23 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Sep 9 18:51:36 2014 Koichi Sasada <ko1@atdot.net>
+ * util.c (ruby_strdup): remove unnecessary code. (xmalloc never
+ returns NULL.)
- * gc.c (gc_stat_internal): fix symbol names
- * heap_final_slot -> heap_final_slots
- * heap_swept_slot -> heap_swept_slots
+ * util.c (ruby_getcwd): fix memory leak on failure.
-Tue Sep 9 18:18:07 2014 Koichi Sasada <ko1@atdot.net>
+Sun Sep 12 02:41:58 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (rb_objspace_t::heap_pages): rename field names:
- * used -> allocated_pages
- * increment -> allocatable_pages
- * length -> sorted_length
- And remove unused `limit' field.
+ * ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and
+ allow_ruby_exit=
- * gc.c: rename macros:
- * heap_pages_used -> heap_allocated_pages
- * heap_pages_length -> heap_pages_sorted_length
- * heap_pages_increment -> heap_allocatable_pages
- * gc.c (gc_stat_internal): fix symbol names
- * heap_used -> heap_allocated_pages
- * heap_eden_page_length -> heap_eden_pages
- * heap_tomb_page_length -> heap_tomb_pages
- * heap_increment -> heap_allocatable_pages
- * heap_length -> heap_sorted_length
+ * ext/tk/lib/multi-tk.rb: ditto.
- ref: [Feature #9924]
- https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing
- Yellow color fields in this table are changed.
+ * ext/tk/lib/remote-tk.rb: ditto.
- * test/ruby/test_gc.rb: catch up this change.
+ * ext/tcltklib/MANUAL.euc: ditto.
-Tue Sep 9 14:56:03 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tcltklib/MANUAL.eng: ditto.
- * gc.c: continue layout changing.
+ * ext/tcltklib/tcltklib.c: fix some reasons of SEGV
- newobj_of() also touch:
- (4) increment total_allocated_object_num
- (5) check hook_events
+ * ext/tk/tkutil.c: ditto.
- And gather fields related to marking phase.
+ * ext/tk/lib/multi-tk.rb: ditto.
-Tue Sep 9 14:21:50 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/timer.rb: ditto.
- * gc.c: fix layout of rb_objspace_t to improve cache locality.
+Sat Sep 11 16:09:46 2004 Dave Thomas <dave@pragprog.com>
- newobj_of() accesses:
- (1) rb_objspace_t::flags
- (2) rb_objspace_t::eden_heap::freelist
- (3) and rb_objspace_t::eden_heap::free_pages if freelist is NULL.
+ * lib/rdoc/parsers/parse_rb.rb: Fix up cross-file class merging.
-Tue Sep 9 14:09:36 2014 Koichi Sasada <ko1@atdot.net>
+Fri Sep 10 20:20:53 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c: move rb_objspace_t::flags::gc_stressful after during_gc
- to make accessing both parameters easy.
+ * ext/tcltklib/tcltklib.c (lib_merge_tklist): fix suspicious
+ pointer conversion.
- * gc.c (heap_get_freeobj): add LIKELY() hint.
+Fri Sep 10 02:43:54 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (heap_get_freeobj_from_next_freepage): ditto.
+ * lib/rdoc/generators/template/kilmer.rb: James Buck's
+ patch for call-seq.
- * gc.c (newobj_of): check both parameters at once for exceptional
- case.
+Thu Sep 9 13:58:56 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Sep 9 13:51:32 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tcltklib/tcltklib.c (ip_init): change flag value for setting
+ 'argv' and 'argv0' variable
- * gc.c: add rb_objspace_t::flags::gc_stressful and
- ruby_gc_stressful macro.
- Rename objspace->gc_stress to objspace->gc_stress_mode.
+ * ext/tk/lib/remote-tk.rb: follow changes of multi-tk.rb
- If objspace->gc_stress_mode is true (!nil and !false) then
- ruby_gc_stressful becomes TRUE.
+Thu Sep 9 11:46:18 2004 Dave Thomas <dave@pragprog.com>
- ruby_gc_stressful will speedup newobj_of() slightly.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_classes): Allow
+ spaces aroun parameter to define_method_under (James Buck)
- * gc.c: initialize ruby_gc_stress(full|_mode) by gc_params.gc_stress
- even if ENABLE_VM_OBJSPACE is false.
+Wed Sep 8 18:44:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 9 13:05:50 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/stringio/stringio.c (strio_write): zero fill a gap if exsts.
+ [ruby-dev:24190]
- * gc.c: remove ruby_disable_gc_stress and add ruby_disable_gc
- to speed-up newobj_of().
+Wed Sep 8 15:19:49 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (ready_to_gc): check ruby_disable_gc.
+ * ext/tcltklib/tcltklib.c (ip_init): cannot create a IP at level 4
- * signal.c: use ruby_disable_gc.
+ * ext/tk/lib/multi-tk.rb: improve 'exit' operation, security check,
+ and error treatment
-Tue Sep 9 12:11:41 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/multi-tk.rb: allow a trusted slave IP to create slave IPs
- * gc.c: rename gc_stat entries and check stat transition.
+ * ext/tk/lib/tk/listbox.rb: add TkListbox#value, value=, clear, and
+ erase
-Tue Sep 9 12:06:03 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/text.rb: add TkText#clear and erase
- * gc.c (gc_sweep_rest): remove wrong modification of during_gc flag.
+Tue Sep 7 15:17:49 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 9 11:39:41 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/socket.c (ruby_connect): break immediately if a
+ socket is non-blocking. [ruby-talk:111654]
- * gc.c: pack boolean values into rb_objspace_t::flags with bit fields
- to improve cache locality.
+Mon Sep 6 11:08:50 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Tue Sep 9 11:11:05 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/menu.rb(TkOptionMenubutton#insert): call correct method
- * test/ruby/test_object.rb: extend timeout.
+Mon Sep 6 11:00:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Sep 9 09:02:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * lib/mkmf.rb (MakeMakefile#pkg_config): append --cflags to also
- $CXXFLAGS, as they are often used by C++ compiler.
- [ruby-core:54532] [Bug #8315]
+Mon Sep 6 07:51:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Sep 9 07:03:22 2014 Eric Wong <e@80x24.org>
+ * eval.c (cvar_cbase): singletons should refer outer cvar scope.
+ [ruby-dev:24223]
- * compile.c: remove needless SYM2ID <-> ID2SYM conversions
- [misc #10207]
+ * eval.c (rb_load): should preserve previous ruby_wrapper value.
+ [ruby-dev:24226]
-Tue Sep 9 05:48:42 2014 Eric Wong <e@80x24.org>
+Sat Sep 4 01:14:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * symbol.c (rb_intern_cstr_without_pindown): check dsymbol on return
- This is not a complete fix for bug 10206, but seems to reduce
- that crash and also looks correct.
+ * eval.c (cvar_cbase): class variables cause SEGV in
+ instance_eval() for fixnums and symbols. [ruby-dev:24213]
-Tue Sep 9 04:36:24 2014 Eric Wong <e@80x24.org>
+Fri Sep 3 17:47:58 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_core.h (rb_env_t): use flexible array
- This reduces allocations and speeds up the lambda calculus
- fizzbuzz (bm_app_lc_fizzbuzz.rb) benchmark [ruby-core:64858]
- * proc.c (get_local_variable_ptr): deconst to adjust for flex array
- * vm.c (env_mark, env_free, env_memsize): remove check for env->env
- * vm.c (env_alloc): single allocation for flex array
- * vm.c (vm_make_env_each): adjust env_alloc call
+ * struct.c (make_struct): remove redefining constant when
+ conflict. [ruby-dev:24210]
-Mon Sep 8 16:08:22 2014 Koichi Sasada <ko1@atdot.net>
+Fri Sep 3 11:31:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * benchmark/bm_app_lc_fizzbuzz.rb: should skip output on benchmark.
+ * ext/tk/lib/tk.rb: Tk.after makes TkCore::INTERP.tk_cmd_tbl grow
+ [ruby-dev:24207]
-Mon Sep 8 16:04:02 2014 Koichi Sasada <ko1@atdot.net>
+Fri Sep 3 02:12:48 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * benchmark/bm_app_lc_fizzbuzz.rb: `answer.to_a' does not return
- a string, but an array.
+ * ext/tcltklib/tcltklib.c: fix typo [ruby-talk:111266]
-Mon Sep 8 13:18:37 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tk/text.rb: fix typo
- * benchmark/bm_app_lc_fizzbuzz.rb: added.
+ * ext/tk/lib/multi-tk.rb: improve safe-level treatment on slave IPs
- This program is described closely in "Understanding Computation"
- chapter 6 by Tom Stuart. <http://computationbook.com/>
+Fri Sep 3 01:54:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Japanese translation will be published soon.
- <http://www.oreilly.co.jp/books/9784873116976/>
+ * ext/extmk.rb: already built-in libraries satisfy dependencies.
+ [ruby-dev:24028]
-Mon Sep 8 12:01:39 2014 Koichi Sasada <ko1@atdot.net>
+Thu Sep 2 11:36:20 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c: add incremental GC algorithm. [Feature #10137]
+ * eval.c (rb_obj_instance_eval): backported from HEAD.
- Please refer this ticket for details.
+Wed Sep 1 21:18:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- This change also introduces the following changes.
+ * ext/tk/lib/tk/spinbox.rb: fix typo
- * Remove RGENGC_AGE2_PROMOTION and introduce object age (0 to 3).
- Age can be count with FL_PROMOTE0 and FL_PROMOTE1 flags in
- RBasic::flags (2 bit). Age == 3 objects become old objects.
- * WB_PROTECTED flag in RBasic to WB_UNPROTECTED bitmap.
- * LONG_LIVED bitmap to represent living objects while minor GCs
- It specifies (1) Old objects and (2) remembered shady objects.
- * Introduce rb_objspace_t::marked_objects which counts marked
- objects in current marking phase. marking count is needed to
- introduce incremental marking.
- * rename mark related function and sweep related function to
- gc_(marks|sweep)_(start|finish|step|rest|continue).
- * rename rgengc_report() to gc_report().
- * Add obj_info() function to get cstr of object details.
- * Add MEASURE_LINE() macro to measure execution time of specific line.
- * and many small fixes.
+Tue Aug 31 18:24:04 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * include/ruby/ruby.h: add flag USE_RINCGC.
- Now USE_RINCGC can be set only with USE_RGENGC.
+ * ext/tk/tkutil.c (cbsubst_init): fix memory leak
- * include/ruby/ruby.h: introduce FL_PROMOTED0 and add FL_PROMOTED1
- to count object age.
+ * ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV
- * include/ruby/ruby.h: rewrite write barriers for incremental marking.
+Tue Aug 31 16:04:22 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * debug.c: catch up flag name changes.
+ * ext/tcltklib/tcltklib.c (ip_delete): when a tcltkip is deleted,
+ destroy its root widget
- * internal.h: add rb_gc_writebarrier_remember() instead of
- rb_gc_writebarrier_remember_promoted().
+Tue Aug 31 12:30:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * array.c (ary_memcpy0): use rb_gc_writebarrier_remember().
+ * ext/tcltklib/tcltklib.c (del_root): fix SEGV
- * array.c (rb_ary_modify): ditto.
+Mon Aug 30 23:11:06 2004 Dave Thomas <dave@pragprog.com>
- * hash.c (rb_hash_keys): ditto.
+ * lib/rdoc/ri/ri_driver.rb (and others): ri now merges documentation
+ if it finds the same class in multiple places.
- * hash.c (rb_hash_values): ditto.
+Mon Aug 30 22:40:30 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * object.c (init_copy): use rb_copy_wb_protected_attribute() because
- FL_WB_PROTECTED is moved from RBasic::flags.
+ * ext/tk/lib/multi-tk.rb: 'restart' method accepts arguments
- * test/objspace/test_objspace.rb: catch up ObjectSpace.dump() changes.
+Mon Aug 30 21:50:14 2004 Dave Thomas <dave@pragprog.com>
-Sun Sep 7 12:47:06 2014 Tanaka Akira <akr@fsij.org>
+ * object.c: Add RDoc for Module.included.
- * process.c: PTHREAD_CANCEL_DISABLE is not defined on Android.
+Mon Aug 30 15:10:46 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Sep 6 20:59:06 2014 Tanaka Akira <akr@fsij.org>
+ * configure.in (GNU/k*BSD): fixed FTBFS on GNU/k*BSD. [ruby-dev:24051]
- * process.c (has_privilege): The gid zero is not a privilege.
+Mon Aug 30 11:29:35 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Sep 6 20:19:16 2014 Tanaka Akira <akr@fsij.org>
+ * win32/win32.c (CreateChild): strip trailing spaces. [ruby-dev:24143]
+ merge from HEAD.
- * process.c (struct child_handler_disabler_state): cancelstate field
- added.
- (disable_child_handler_before_fork): Record cancelstate.
- (disable_child_handler_fork_parent): Restore cancelstate.
+Sun Aug 29 14:08:56 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Sep 6 19:27:10 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c: compile error on bcc32 [ruby-dev:24081]
- * process.c (struct child_handler_disabler_state): Defined.
+ * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string does not work
-Sat Sep 6 18:31:32 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Aug 28 23:04:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/rake.rb, lib/rake/*, test/rake/*: Update latest rake master(e47d023)
+ * bignum.c (rb_big_and): protect parameters from GC.
+ [ruby-talk:110664]
-Sat Sep 6 16:38:08 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu Aug 26 04:38:29 2004 Dave Thomas <dave@pragprog.com>
- * ext/win32ole/win32ole_variant.c (ole_val2variant_err,
- ole_val2variantdata, Init_win32ole_variant): support VT_ERROR
- variant with error code. add WIN32OLE_VARIANT::NoParam.
- * test/win32ole/test_win32ole_variant.rb(test_c_noparam,
- test_vt_error_noparam): ditto.
- * ext/win32ole/win32ole.c: ditto.
+ * eval.c (return_jump): Minor typo in error message. Now reads
+ "return can't jump across threads".
-Sat Sep 6 11:08:52 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 24 17:30:00 2004 Shugo Maeda <shugo@ruby-lang.org>
- * parse.y (arg_ambiguous_gen): fix warning message, "even" does
- not mean the number of spaces here. state the place to put a
- space and the operator. [ruby-core:64790] [Bug #10204]
+ * lib/cgi/session.rb (CGI::Session::FileStore#initialize): do not
+ use a session id as a filename. (backported from HEAD)
-Sat Sep 6 08:44:40 2014 Zachary Scott <e@zzak.io>
+ * lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): ditto.
- * lib/rdoc/generator/template/darkfish/js/jquery.js: Backport
- rdoc/rdoc@74f60fcb04fee1778fe2694d1a0ea6513f8e67b7
+ * lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): use
+ Dir::tmpdir. (backported from HEAD)
-Sat Sep 6 08:10:44 2014 Eric Wong <e@80x24.org>
+Tue Aug 24 14:40:16 2004 Shugo Maeda <shugo@ruby-lang.org>
- * test/ruby/test_io.rb (test_readpartial_locktmp): use IO#nonblock=
- Old fcntl invocation may drop necessary flags on some platforms.
+ * lib/cgi/session.rb (CGI::Session::FileStore#initialize): untaint
+ session id after check. (backported from HEAD)
-Sat Sep 6 07:46:51 2014 Eric Wong <e@80x24.org>
+Tue Aug 24 09:09:01 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_io.rb (test_readpartial_locktmp): avoid EBADF
- [ruby-core:64773] [ruby-core:64775]
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): d2i
+ functions may replace the pointer indicated by the first argument.
-Sat Sep 6 01:34:31 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.
- * process.c (rb_f_exec): Call before_exec_async_signal_safe and
- after_exec_async_signal_safe around rb_exec_async_signal_safe.
- (rb_exec_async_signal_safe): Don't call
- before_exec_async_signal_safe and after_exec_async_signal_safe.
- (rb_exec_without_timer_thread): Call before_exec and
- after_exec.
- (disable_child_handler_fork_child): Make SIGPIPE handler SIG_DFL.
+ * ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.
-Sat Sep 6 00:49:41 2014 Tanaka Akira <akr@fsij.org>
+Mon Aug 23 14:04:51 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * signal.c (ruby_signal): Don't set SA_SIGINFO for SIG_IGN and
- SIG_DFL.
+ * 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]
-Fri Sep 5 21:45:33 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_write):
+ - call underlying IO's syswrite if SSL session is not started.
- * process.c (disable_child_handler_before_fork): New function.
- (disable_child_handler_fork_parent): Ditto.
- (disable_child_handler_fork_child): Ditto.
- (retry_fork_async_signal_safe): Call above functions to disable
- signal handlers in child process.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_pending): new method
+ OpenSSL::SSL#pending.
-Fri Sep 5 21:02:54 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/lib/openssl/buffering.rb: should not use select.
- * process.c (handle_fork_error): Make try_gc_p argument volatile to
- suppress "clobbered" warning.
+Mon Aug 23 12:40:56 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Sep 5 20:48:06 2014 Tanaka Akira <akr@fsij.org>
+ * lib/resolv.rb (Config.default_config_hash): when multiple domains
+ are set, Win32::Resolv.get_resolv_info returns Array.
- * process.c (handle_fork_error): Don't need state_p argument.
+Sun Aug 22 01:15:31 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Fri Sep 5 20:35:52 2014 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):
+ should call :ProxyContentHandler before finishing CONNECT.
- * process.c (has_privilege): Fix a return value.
+Sat Aug 21 06:41:16 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 5 19:00:40 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tcltklib/extconf.rb (find_tcl, find_tk): find stub library.
- * lib/shellwords.rb: proofreading documentation.
- [Bug #10155][ruby-core:64471]
+ * lib/mkmf.rb (arg_config, with_config): deal with '-' and '_'
+ uniformly. [ruby-dev:24118]
-Fri Sep 5 18:34:33 2014 Laurent Arnoud <laurent@spkdev.net>
+Thu Aug 19 16:29:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/csv/test_row.rb: Added some missing tests in CSV.
- [fix GH-710]
- * test/csv/test_table.rb: ditto.
+ * ext/tk/lib/tk.rb: Fail to treat a hash value of 'font' option.
-Fri Sep 5 12:57:52 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb: bindinfo cannot return '%' substiturion infomation.
- * process.c (has_privilege): Refine uid/gid check.
+ * ext/tk/lib/menu.rb: typo bug.
-Fri Sep 5 12:40:55 2014 Tanaka Akira <akr@fsij.org>
+Thu Aug 19 15:15:24 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: Check sys/id.h, getuidx and getgidx for AIX.
+ * dir.c (free_dir): fix memory leak. reported by yamamoto
+ madoka.
- * process.c (getresuid): Defined for AIX.
- (getresgid): Ditto
- AIX don't have getresuid/getresgid but getuidx/getgidx.
+Thu Aug 19 11:00:00 2004 Akiyoshi, Masamichi <masamichi.akiyoshi@hp.com>
-Fri Sep 5 12:28:21 2014 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.
- * process.c (has_privilege): Fix assignments.
+Thu Aug 19 06:07:45 2004 why the lucky stiff <why@ruby-lang.org>
-Fri Sep 5 11:10:13 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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.
- * lib/rdoc/generator/pot/po.rb: fixed broken tests for trailing whitespace.
- * test/rdoc/test_rdoc_generator_pot.rb: ditto.
- * test/rdoc/test_rdoc_generator_pot_po.rb: ditto.
+ * lib/yaml/baseemitter.rb: folding now handles double-quoted strings,
+ fixed problem with extra line feeds at end of folding, whitespace
+ opening scalar blocks.
-Fri Sep 5 10:41:07 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/yaml/rubytypes.rb: subtelties in handling strings with
+ non-printable characters and odd whitespace patterns.
- * test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_parse_file_encoding):
- typofix.
+Wed Aug 18 23:41:33 2004 Minero Aoki <aamine@loveruby.net>
-Fri Sep 5 10:39:14 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/net/protocol.rb (rbuf_fill): OpenSSL::SSL::SSLSocket has its own
+ buffer, select(2) might not work. [ruby-dev:24072]
- * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(313287)
+Wed Aug 18 17:10:12 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Sep 5 06:04:22 2014 Eric Wong <e@80x24.org>
+ * ext/tcltklib/stubs.c (ruby_tcltk_stubs): need to call
+ Tcl_FindExecutable() for Tcl/Tk 8.4.
- * vm.c: remove unused USE_THREAD_RECYCLE [misc #10198]
+Wed Aug 18 12:52:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 5 00:29:08 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_obj_instance_eval): evaluates under special singleton
+ classes as for special constants.
- * configure.in (dirfd): Check function.
+Tue Aug 17 17:20:59 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * dir.c (dir_fileno): New method.
- [ruby-dev:48265] [Feature #9880]
+ * io.c (rb_io_reopen): should clear allocated OpenFile. pointed
+ out by Guy Decoux. [ruby-core:03288]
-Thu Sep 4 23:39:52 2014 Tanaka Akira <akr@fsij.org>
+Tue Aug 17 01:36:32 2004 Dave Thomas <dave@pragprog.com>
- * process.c (has_privilege): New function.
- (retry_fork_async_signal_safe): Don't use vfork() for privileged
- process.
+ * lib/rdoc/usage.rb: Remove extra indent. Tidy 'ri' option
+ parsing so RDoc::usage plays better with OptionParser.
- * configure.in (getresuid): Check function.
- (getresgid): Ditto.
+Sat Aug 14 13:09:10 2004 Minero Aoki <aamine@loveruby.net>
-Thu Sep 4 20:22:14 2014 Laurent Arnoud <laurent@spkdev.net>
+ * lib/fileutils.rb: backport from CVS HEAD (rev1.44).
- * test/pathname/test_pathname.rb: added testcase for Pathname#mountpoint?.
- [fix GH-709]
+ * lib/fileutils.rb: cp_r should copy symlink itself, except cp_r
+ root.
-Thu Sep 4 20:09:21 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/fileutils.rb: new option mv :force.
- * symbian/*: removed Symbian support.
- [Feature #10199][ruby-core:64725]
- * dln.c: ditto.
- * include/ruby/defines.h: ditto.
- * thread_pthread.c: ditto.
- * vm.c: ditto.
+ * lib/fileutils.rb: new module FileUtils::DryRun.
-Thu Sep 4 17:44:40 2014 Koichi Sasada <ko1@atdot.net>
+Sat Aug 14 02:48:16 2004 Dave Thomas <dave@pragprog.com>
- * dir.c (glob_helper): use #ifdef instead of #if.
- gcc's -Wundef option shows warning for undefined macro.
+ * lib/rdoc/usage.rb: Added. Allows command line programs
+ to report usage using their initial RDoc comment.
- * numeric.c (flo_is_finite_p): ditto.
+Fri Aug 13 13:23:17 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_dump.c (rb_vmdebug_thread_dump_state): ditto.
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_range_header):
+ fix regex for range-spec.
- * vm_core.h: define VM_DEBUG_VERIFY_METHOD_CACHE to 0.
+ * lib/webrick/httpservlet/filehandler.rb
+ (WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content):
+ multipart/byteranges response was broken.
-Thu Sep 4 03:57:46 2014 Eric Wong <e@80x24.org>
+ * lib/webrick/httpservlet/erbhandler.rb
+ (WEBrick::HTTPServlet::ERBHandler#do_GET): should select media type
+ by suffix of script filename.
- * man/ruby.1: spelling fix ("bellow" => "below") [ci-skip]
+ * lib/xmlrpc/server.rb: refine example code.
-Thu Sep 4 03:52:16 2014 Eric Wong <e@80x24.org>
+Wed Aug 11 17:17:50 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * man/ruby.1: add trailing slash to URLs [ci-skip]
+ * configure.in (RPATHFLAG): stop setting RPATHFLAG on Interix.
-Wed Sep 3 19:10:28 2014 Tanaka Akira <akr@fsij.org>
+Sun Aug 8 00:43:31 2004 why the lucky stiff <why@ruby-lang.org>
- * process.c (before_fork_ruby): Renamed from before_fork.
- (after_fork_ruby): Renamed from after_fork.
+ * lib/implicit.c: added sexagecimal float#base60.
-Wed Sep 3 18:56:05 2014 Tanaka Akira <akr@fsij.org>
+ * ext/syck/rubyext.c (yaml_org_handler): ditto.
- * process.c (forked_child): Removed.
+ * lib/token.c: indentation absolutely ignored when processing flow
+ collections. plain scalars are trimmed if indentation follows in
+ an ambiguous flow collection.
-Wed Sep 3 16:56:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Aug 7 00:50:01 2004 Tanaka Akira <akr@m17n.org>
- * object.c (rb_obj_copy_ivar): allocate no memory for empty
- instance variables. [ruby-core:64700] [Bug #10191]
+ * ext/zlib/zlib.c: Zlib::GzipReader#read(0) returns "" instead of nil.
-Wed Sep 3 12:05:17 2014 Tanaka Akira <akr@fsij.org>
+Tue Aug 3 13:49:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * process.c (retry_fork_async_signal_safe): Use vfork() if available.
- vfork() is still faster than fork() especially when the parent
- process uses big memory.
+ * ext/tk/lib/tk/namespace.rb: bug fix
- ruby -rbenchmark -e 'a = "a" * 1_000_000_000; puts Benchmark.measure { system("true") }'
- fork: 0.000000 0.010000 0.010000 ( 0.014968)
- vfork: 0.000000 0.000000 0.000000 ( 0.000912)
- on Debian sid.
+ * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: add Tk::TreeCtrl.loupe
-Wed Sep 3 11:33:08 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Aug 2 18:04:21 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * 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]
+ * 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.)
-Wed Sep 3 07:50:15 2014 Tanaka Akira <akr@fsij.org>
+Mon Aug 2 11:53:06 2004 Dave Thomas <dave@pragprog.com>
- * configure.in: Use AC_FUNC_FORK.
+ * lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): Fix infinite recursion
+ looking up some top level symbols (batsman)
- * io.c: Use HAVE_WORKING_FORK instead of HAVE_FORK.
+Mon Aug 2 11:48:29 2004 Dave Thomas <dave@pragprog.com>
- * process.c: Ditto.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Allow '.'s in
+ variable names to support SWIG generated files (Hans Fugal)
-Wed Sep 3 00:12:44 2014 Tanaka Akira <akr@fsij.org>
+Sat Jul 31 17:40:16 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (retry_fork_async_signal_safe): Don't return on in child
- process.
+ * 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.
-Tue Sep 2 23:47:35 2014 Tanaka Akira <akr@fsij.org>
+Sat Jul 31 05:47:37 2004 why the lucky stiff <why@ruby-lang.org>
- * process.c (retry_fork_async_signal_safe): Specialized version of
- retry_fork respect to rb_fork_async_signal_safe.
- (retry_fork_ruby): Specialized version of retry_fork respect to
- rb_fork_ruby.
- (rb_fork_ruby): Removed.
+ * lib/yaml.rb (YAML::load_file, YAML::parse_file): added.
-Tue Sep 2 23:26:26 2014 Tanaka Akira <akr@fsij.org>
+ * lib/yaml/rubytypes.rb: exceptions were using an older
+ YAML.object_maker. [ruby-core:03080]
- * process.c (send_child_error): Simplified.
- (recv_child_error): Ditto.
+ * 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.
-Tue Sep 2 22:56:25 2014 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.
- * process.c (rb_fork_async_signal_safe): Inline rb_fork_internal.
- (rb_fork_ruby): Ditto.
- (rb_fork_internal): Removed.
- (chfunc_protect): Removed.
+Fri Jul 30 16:10:54 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Sep 2 22:43:52 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/tcltklib.c (lib_fromUTF8_core): raise ArgumentError when
+ the unknown encoding name is given.
- * test/ruby/test_io.rb (test_new_with_block): Set autoclose to avoid
- EBADF.
+ * ext/tcltklib/tcltklib.c (lib_toUTF8_core): ditto.
-Tue Sep 2 22:01:51 2014 Kouhei Sutou <kou@cozmixng.org>
+ * ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertfrom): bug fix.
- * Makefile.in (update-coverage): Remove a never executed line.
+ * ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertto): ditto.
-Tue Sep 2 19:48:26 2014 Tanaka Akira <akr@fsij.org>
+Wed Jul 28 18:59:17 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * process.c (handle_fork_error): Extracted from retry_fork.
+ * lib/cgi.rb (CGI::initialize): remove at_exit code for CGI_PARAMS
+ and CGI_COOKIES. they will no longer be used.
-Tue Sep 2 17:02:53 2014 Vit Ondruch <v.ondruch@tiscali.cz>
+Wed Jul 28 01:04:44 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/rbinstall.rb: fixed error of local installation.
- [Bug #10192][ruby-core:64702]
+ * gc.c (run_final): wrong order of data. [ruby-dev:23984]
-Tue Sep 2 16:58:03 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Tue Jul 27 07:05:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/runner.rb: reporting test coverage for test-all with COVERAGE env.
- [Feature #10189][ruby-core:64681][fix GH-708]
- * Makefile.in: added task for coverage report.
- * common.mk: added definition of forked simplecov url.
- * .gitignore: ignored coverage directory.
+ * eval.c (rb_eval): copy on write for argument local variable
+ assignment.
-Mon Sep 1 20:11:02 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * eval.c (assign): ditto.
- * ext/win32ole/win32ole.c (rbtime2vtdate): try to convert millisecond
- of Time object to millisecond of VT_DATE VARIANT.
- * test/win32ole/test_win32ole_variant.rb
- (test_conversion_time2date_with_msec): ditto.
+ * eval.c (rb_call0): update ruby_frame->argv with the default
+ value used for the optional arguments.
-Sun Aug 31 16:58:49 2014 Tanaka Akira <akr@fsij.org>
+ * object.c (Init_Object): "===" calls rb_obj_equal() directly.
+ [ruby-list:39937]
- * lib/benchmark.rb: Fix a syntax error.
+Mon Jul 26 11:22:55 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Aug 31 08:46:44 2014 Eric Wong <e@80x24.org>
+ * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape): should
+ escape space.
- * ext/zlib/zlib.c (gzfile_reset): preserve ZSTREAM_FLAG_GZFILE
- [Bug #10101]
+Sun Jul 25 11:05:21 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * test/zlib/test_zlib.rb (test_rewind): test each_byte
+ * 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 Aug 30 19:22:47 2014 Eric Wong <e@80x24.org>
+Sat Jul 24 13:32:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * symbol.c (rb_sym2id): do not return garbage object
+ * range.c (rb_range_beg_len): returns Qnil only when "beg" points
+ outside of a range. No boundary check for "end".
-Sat Aug 30 06:39:48 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Fri Jul 23 16:40:25 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/psych/lib/psych/visitors/yaml_tree.rb: fix NameError dumping and
- loading. Fixes GH #85. Thanks @brentdax for the patch!
- * test/psych/test_exception.rb: test for fix
+ * gc.c (define_final): should not disclose NODE* to Ruby world.
+ [ruby-dev:23957]
-Sat Aug 30 06:23:40 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Fri Jul 23 09:03:16 2004 Shugo Maeda <shugo@ruby-lang.org>
- * ext/psych/lib/psych/scalar_scanner.rb: fix loading strings that
- look like integers but have a newline. Fixes GH #189
- * test/psych/test_string.rb: test for fix
+ * lib/net/imap.rb (disconnected?): new method. (backported from HEAD)
-Sat Aug 30 06:10:39 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Thu Jul 22 16:41:54 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/psych/lib/psych/visitors/to_ruby.rb: merge keys with a hash
- should merge the hash in to the parent.
- * test/psych/test_merge_keys.rb: test for change. Fixes GH #202
+ * lib/cgi/session.rb (CGI::Session::FileStore#update): sets the
+ permission of the session data file to 0600.
-Sat Aug 30 06:00:26 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * lib/cgi/session/pstore.rb (CGI::Session::Pstore#initialize):
+ ditto.
+
+Thu Jul 22 00:02:21 2004 Masahiro Kitajima <katonbo@katontech.com>
+
+ * process.c (rb_f_system): not need to call last_status_set() any
+ longer on _WIN32.
+
+Tue Jul 20 09:15:17 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * test/fileutils/test_fileutils.rb: File.link raises EINVAL on BeOS.
+
+Mon Jul 19 01:15:07 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/httpservlet/cgihandler.rb
+ (WEBrick::HTTPServlet::CGIhandler#do_GET): set SystemRoot environment
+ variable to CGI process on Windows native platforms. [ruby-dev:23936]
+
+ * lib/webrick/httpservlet/cgihandler.rb
+ (WEBrick::HTTPServlet::CGIhandler#do_GET): use $?.exitstatus and
+ refine log message.
+
+Sun Jul 18 16:14:29 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/msgcat.rb (TkMsgCatalog.callback): bug fix
+ ( wrong number of argument )
+
+Sun Jul 18 08:13:58 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * sprintf.c (rb_f_sprintf): remove extra sign digit.
+
+Sun Jul 18 03:21:42 2004 Akinori MUSHA <knu@iDaemons.org>
+
+ * dir.c (range): use NULL instead of 0.
+
+ * dir.c (range): get rid of a gcc 3.4 warning.
+
+Sun Jul 18 03:12:11 2004 Shugo Maeda <shugo@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)
+
+Sat Jul 17 23:54:59 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * ext/tk/lib/tk/variable.rb: TkVariable#ref returns a TkVariable object
+
+Sat Jul 17 22:04:44 2004 akira yamada <akira@ruby-lang.org>
+
+ * lib/uri/ldap.rb: method hierarchical? should be in URI::LDAP.
+
+Sat Jul 17 18:29:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (stmt): not to show same error messages twice.
+
+Sat Jul 17 13:13:32 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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.
- * ext/psych/lib/psych/visitors/to_ruby.rb: quoted "<<" strings
- should not be treated as merge keys.
- * ext/psych/lib/psych/visitors/yaml_tree.rb: hashes with keys
- containing "<<" should roundtrip.
- * test/psych/test_merge_keys.rb: test for change. Fixes GH #203
+Fri Jul 9 19:26:39 2004 Tanaka Akira <akr@m17n.org>
-Fri Aug 29 17:56:44 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/open-uri.rb (URI::HTTPS#proxy_open): raise ArgumentError to
+ notice https is not supported.
- * test/net/imap/test_imap_response_parser.rb: removed needless code.
+Fri Jul 9 14:28:54 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Aug 29 17:36:58 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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.
+
+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/rinda/test_rinda.rb: removed useless assignment variables.
* test/rss/rss-assertions.rb: ditto.
- * test/rss/test_maker_itunes.rb: ditto.
-Fri Aug 29 16:18:26 2014 Eric Wong <e@80x24.org>
+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.
- * string.c: revert part of r47311, add rb_vm_fstring_table(),
- remove vm_core.h dependency. [ruby-core:64627]
+Thu Jul 1 18:36:08 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Aug 29 15:17:13 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tcltklib : bug fix
- * string.c: remove static frozen_strings
- * string.c (Init_frozen_strings): new function
- * string.c (rb_fstring): remove check for frozen strings,
- use per-VM table
- * string.c (rb_str_free): use per-VM table
- * string.c (Init_String): use per-VM table
- * vm_core.h (rb_vm_t): add frozen_strings table
- * internal.h (Init_frozen_strings): new function prototype
- * eval.c (ruby_setup): call Init_frozen_strings
- [Feature #10182]
+ * ext/tk/lib/tk : bug fix and add Tcl/Tk extension support libraries
-Wed Aug 27 23:10:24 2014 Masaki Matsushita <glass.saga@gmail.com>
+Thu Jul 1 11:59:45 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/tempfile.rb: remove "require 'thread'". its features are no
- longer used.
+ * 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.
-Wed Aug 27 21:19:40 2014 gogo tanaka <mail@tanakakazuki.com>
+ * ext/openssl/openssl_missing.c (EVP_CIPHER_CTX_copy): new function.
- * lib/drb/acl.rb: Removed meaningless #to_s methods in interpolation.
- [Feature #10174][ruby-core:64584]
- * lib/erb.rb: ditto.
- * lib/observer.rb: ditto.
- * lib/rake/invocation_chain.rb: ditto.
- * lib/rubygems/command_manager.rb: ditto.
- * lib/rubygems/config_file.rb: ditto.
- * lib/uri/common.rb: ditto.
+ * 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.
-Wed Aug 27 21:08:20 2014 gogo tanaka <mail@tanakakazuki.com>
+ * ext/openssl/ossl_cipher.c (ossl_cipher_encrypt, ossl_cipher_decrypt):
+ re-implemnt (the arguments for this method is ).
- * lib/drb/drb.rb: use attr_reader instead of Module#attr.
- [Feature #10172][ruby-core:64582]
- * lib/irb/ruby-token.rb: ditto.
- * lib/net/telnet.rb: ditto.
- * lib/rdoc/ruby_token.rb: ditto.
- * lib/thwait.rb: ditto.
+ * ext/openssl/ossl_cipher.c (ossl_cipher_pkcs5_keyivgen): new method
+ OpenSSL::Cipher::Cipher#pkcs5_keyivgen. it calls EVP_BytesToKey().
-Wed Aug 27 19:52:33 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * 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.
- * ext/win32ole/win32ole.c (vtdate2rbtime): try to convert millisecond
- of VT_DATE VARIANT to nsec of Time object.
- * test/win32ole/test_win32ole_variant.rb
- (test_conversion_dbl2date_with_msec): ditto.
+ * ext/openssl/ossl_cipher.c (ossl_cipher_set_key_length): new method
+ OpenSSL::Cipher::Cipher#key_len=.
-Wed Aug 27 09:57:29 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/openssl/ossl_cipher.c (ossl_cipher_init_deprecated): new
+ finction; print warning for Cipher#<<.
- * test/ruby/test_complex.rb: removed unreachable code.
- * test/ruby/test_rational.rb: ditto.
+ * 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.
-Wed Aug 27 07:59:17 2014 Eric Wong <e@80x24.org>
+ * ext/openssl/ossl_digest.c (digest_final): should call
+ EVP_MD_CTX_cleanup to avoid memory leak.
- * compile.c (iseq_set_sequence): check for multiplication overflow
+ * 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.
-Tue Aug 26 22:07:42 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/openssl/ossl_hmac.c (hmac_final): should call
+ HMAC_CTX_cleanup to avoid memory leak.
- * test/ruby/test_complex.rb: cherry-picked working assertions from r47251.
- * test/ruby/test_rational.rb: cherry-picked working assertions from r47263.
+ * test/openssl/test_cipher.rb, test/openssl/test_digest.rb,
+ test/openssl/test_hmac.rb: new file.
-Tue Aug 26 21:07:56 2014 gogo tanaka <mail@tanakakazuki.com>
+Thu Jul 1 04:08:30 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/mathn.rb (Fixnum#**, Bignum#**, Float#**, Rational#**):
- remove as these are now built-in. [ruby-core:63973] [Bug #10086]
+ * ext/openssl/ossl_asn1.c (ossl_i2d_ASN1_TYPE, ossl_ASN1_TYPE_free):
+ workaround for the versions earlier than OpenSSL-0.9.7.
-Tue Aug 26 20:46:55 2014 Tanaka Akira <akr@fsij.org>
+Thu Jul 1 03:33:55 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * time.c (rb_time_unmagnify_to_float): Avoid double rounding.
- Reported by Tsuyoshi Sawada.
- https://bugs.ruby-lang.org/issues/10135#note-1
+ * ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize): should create
+ empty pkey object if no argument is passed. [ruby-talk:103328]
-Tue Aug 26 17:12:47 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.
- * 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]
+ * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): ditto.
-Tue Aug 26 13:46:33 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * 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=.
- * template/fake.rb.in: fix failed to make install when @srcdir@ is
- absolute path.
+ * 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=.
-Tue Aug 26 13:43:50 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Jul 1 03:16:09 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_range.rb: added workaround for VERBOSE message.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read): take optional second argument
+ to specify a string to be written.
-Tue Aug 26 12:38:02 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#read):
+ take optional second argument to specify a string to be written.
- * test/test_mathn.rb: added workaround for VERBOSE messages.
+ * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#gets):
+ refine regexp for end-of-line.
-Tue Aug 26 11:44:04 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/opnessl/lib/openssl/ssl.rb
+ (OpenSSL::SSL::SocketForwarder#listen): fix typo.
- * lib/shell/process-controller.rb: removed commented-out code.
+Wed Jun 30 11:38:51 2004 Mikael Brockman <phubuh@phubuh.org>
-Tue Aug 26 11:39:01 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * parse.y (primary): should not be NULL. [ruby-core:03098]
- * lib/thwait.rb (ThreadsWait): removed needless constant.
+Wed Jun 30 02:53:24 2004 why the lucky stiff <why@ruby-lang.org>
-Tue Aug 26 09:27:10 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/syck/rubyext.c (syck_emitter_new): set buffer after
+ Data_Wrap_Struct to avoid possible GC. [ruby-talk:104835]
- * lib/mathn.rb: mathn library is deprecated on ruby 2.2.
- [Feature #10169][ruby-core:64553]
+Tue Jun 29 10:31:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 26 09:25:03 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (rb_eval_cmd, rb_thread_trap_eval): restore safe level.
- * lib/mathn.rb: removed commented-out code.
+ * gc.c (define_final, run_final): preserve and restore safe level for
+ finalizers. [ruby-core:03058]
-Mon Aug 25 20:15:50 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * signal.c (signal_exec, rb_trap_exit, trap): preserve and restore
+ safe level for signal handlers. [ruby-dev:23829]
- * ext/win32ole/win32ole.c(fole_s_connect, fole_initialize): raise a
- security error with the tainted string object.
- * ext/win32ole/win32ole_event.c(ev_advise): ditto.
- * test/win32ole/test_win32ole.rb(test_s_new_exc_svr_tainted,
- test_s_new_exc_host_tainted): ditto.
- * test/win32ole/test_win32ole_event.rb(test_s_new_exc_tainted): ditto.
+Mon Jun 28 14:57:56 2004 Jeff Mitchell <quixoticsycophant@yahoo.com>
-Mon Aug 25 12:56:54 2014 Ivan Korunkov <ivankorunkov@ya.ru>
+ * configure.in, lib/mkmf.rb (LIBPATHFLAG): use double quotes due to
+ DOSISH compilers. [ruby-core:03107]
- * lib/logger.rb (format_datetime): use "%6N" to show microsecond.
- [Fix GH-704]
+Mon Jun 28 00:30:19 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Mon Aug 25 11:02:07 2014 Eric Wong <e@80x24.org>
+ * sample/drb/*.rb: using 'DRb.thread.join' instead of 'gets'
- * vm_core.h (rb_iseq_location_t): change first_lineno type to VALUE
- * iseq.c (rb_iseq_build_for_ruby2cext): update based on argument
+Sun Jun 27 22:39:51 2004 Kouhei Sutou <kou@cozmixng.org>
-Sun Aug 24 16:14:46 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * sample/rss/tdiary_plugin/rss-recent.rb: supported Hiki.
- * lib/e2mmap.rb: remove needless instance variables.
- * lib/irb.rb: ditto.
- * lib/irb/**/*.rb: ditto.
- * lib/shell.rb: ditto.
+Sun Jun 27 12:19:46 2004 Kouhei Sutou <kou@cozmixng.org>
-Sun Aug 24 12:44:26 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * {lib,sample,test}/rss: added RSS Parser. [ruby-dev:23780]
- * test/ruby/test_complex.rb: removed needless conditions.
- * test/ruby/test_rational.rb: ditto.
+Sat Jun 26 11:07:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Aug 24 11:47:39 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * configure.in (aix): -b must come at the start of the command line,
+ and -e must not appear while testing libraries. [ruby-talk:104501]
- * test/ruby/test_rational.rb: fixed indent.
+ * lib/mkmf.rb (dir_config): quote directory names if necessary.
+ [ruby-talk:104505]
-Sun Aug 24 11:44:11 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Jun 25 15:33:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_rational.rb: remove commented-out code.
+ * ext/iconv/extconf.rb: check stricter. [ruby-talk:104501]
-Sun Aug 24 11:09:29 2014 Eric Wong <e@80x24.org>
+ * ext/iconv/extconf.rb: include iconv.h for libiconv. [ruby-dev:22715]
- * lib/benchmark.rb (measure): reduce allocations as in r47260
+Fri Jun 25 08:31:29 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Aug 24 10:35:54 2014 Pete Higgins <pete@peterhiggins.org>
+ * eval.c (rb_thread_atfork): remove "fork terminates thread"
+ warning. [ruby-dev:23768]
- * lib/benchmark.rb (module Benchmark): define BENCHMARK_CLOCK
- (realtime): use Process.clock_gettime(BENCHMARK_CLOCK)
- Reduces allocations to improve performance [Feature #10165]
+ * object.c (rb_obj_clone): backport FL_FINALIZE patch from 1.9.
+ [ruby-core:02786][ruby-core:03067]
- * test/benchmark/test_benchmark.rb (test_realtime_output): new test
+ * ext/socket/socket.c (sock_sockaddr): Socket#gethostbyname()
+ should give us packed address, not struct sockaddr.
+ [ruby-core:03053]
-Fri Aug 22 20:23:54 2014 Koichi Sasada <ko1@atdot.net>
+Fri Jun 25 02:04:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * string.c (rb_fstring): fix condition (easy to cause infinite loop!).
+ * {bcc32,win32,wince}/setup.mak: remove RUBY_EXTERN lines when
+ including version.h. [ruby-talk:104456] (backported from HEAD)
-Fri Aug 22 20:07:43 2014 Koichi Sasada <ko1@atdot.net>
+Thu Jun 24 14:23:29 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_fstring, fstr_update_callback): simply delete garbage
- key first.
+ * io.c (rb_io_fread): return already read data when system call is
+ interrupted. [ruby-talk:97206]
- Garbage keys can be swept by lazy sweeping invoked by creating new
- fstring. So that simply do:
- (1) delete garbage key and return `fstr_update_callback' immediately
- (2) try again `fstr_update_callback()' to create a new fstr.
+Thu Jun 24 01:32:43 2004 Shugo Maeda <shugo@ruby-lang.org>
- This bug can be cause memory corruption, reported by
- http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20140821T220302Z.fail.html.gz
+ * version.h: added declarations of ruby_version,
+ ruby_release_date, ruby_platform.
+ (backported from HEAD)
-Fri Aug 22 19:30:39 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Jun 23 22:23:37 2004 Dave Thomas <dave@pragprog.com>
- * test/ruby/test_complex.rb: removed commented-out code.
+ * ext/socket/socket.c (sock_s_gethostbyaddr): Work around problem
+ with OS X not returning 'from' parameter to recvfrom for
+ connection-oriented sockets.
-Fri Aug 22 19:25:28 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Jun 23 01:45:27 2004 Dave Thomas <dave@pragprog.com>
- * test/ruby/test_complex.rb: fixed broken tests. Math is not
- compatible CMath now.
+ * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_quotation):
+ Fix problem with the 'r' being dropped from %r{xxx}
-Fri Aug 22 15:36:09 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jun 23 00:20:20 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * common.mk (Doxyfile): revert r43888, not to require preinstalled
- ruby. [ruby-core:64488] [Bug #10161]
+ * ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing
+ CRs and LFs. (doesn't depend on CR+LF) [ruby-dev:23749]
-Fri Aug 22 12:32:15 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Jun 23 00:00:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/shell.rb: removed commented-out code.
- * lib/shell/builtin-command.rb: ditto.
- * lib/shell/command-processor.rb: ditto.
+ * io.c (rb_io_initialize): should check fcntl result. [ruby-dev:23742]
-Fri Aug 22 12:21:46 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Tue Jun 22 21:11:36 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * lib/complex.rb: removed deprecated library.
- * lib/rational.rb: ditto.
+ * ext/win32ole/win32ole.c (OLE_FREE): should not call CoFreeUnuse-
+ dLibraries().
-Fri Aug 22 11:38:49 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/win32ole/win32ole.c (ole_event_free): ditto.
- * lib/prettyprint.rb: removed PrettyPrint#first?
- because it is obsoleted method since Ruby 1.8.2
+ * ext/win32ole/win32ole.c (ole_hresult2msg): truncate error message
+ before CR.
-Thu Aug 21 17:10:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jun 22 16:47:42 2004 Shugo Maeda <shugo@ruby-lang.org>
- * win32/win32.c (constat_attr): manage reverse video internally
- since Windows console window does not manage it. based on the
- patch by white leaf in [ruby-dev:48483]. [Bug #10158]
+ * lib/net/ftp.rb (MDTM_REGEXP): fix for demon's ftp server.
+ Thanks, Rutger Nijlunsing.
-Thu Aug 21 14:45:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Jun 21 10:19:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/e2mmap.rb: removed commented-out code.
+ * win32/win32.c (rb_w32_opendir): use FindFirstFile()/FindNextFile()/
+ FindClose() instead of _findfirst()/_findnext()/_findclose().
+ merge from HEAD.
-Thu Aug 21 13:23:34 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Jun 19 13:24:15 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rinda/ring.rb: split executable code into sample directory.
- * sample/rinda-ring.rb: ditto.
+ * eval.c (method_call): allow changing $SAFE. [ruby-dev:23713]
-Thu Aug 21 13:21:45 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Jun 18 23:12:22 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/drb/acl.rb: split executable code into sample directory.
- * sample/drb/acl.rb: ditto.
+ * eval.c (proc_save_safe_level, rb_set_safe_level, safe_setter): limit
+ safe level.
-Thu Aug 21 12:55:35 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Jun 16 23:05:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * .gitignore: ignored temporary file for Changelog.
- http://mkosaki.blog46.fc2.com/blog-entry-1284.html
+ * object.c (rb_mod_freeze): prepare string representation before
+ freezing. [ruby-talk:103646]
-Thu Aug 21 12:40:22 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Jun 16 16:04:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/imap.rb: split executable code into sample directory.
- * sample/net-imap.rb: ditto.
+ * object.c (rb_mod_le): singleton class inherits Class rather than its
+ object's class. [ruby-dev:23690]
-Thu Aug 21 12:23:56 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Jun 16 16:01:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/imap.rb: removed commented-out code.
+ * gc.c (stack_grow_direction): memoize the direction.
-Wed Aug 20 17:27:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (Init_stack): should always move to end of VALUE.
- * configure.in (RUBY_TRY_CFLAGS, RUBY_TRY_LDFLAGS),
- (RUBY_CHECK_BUILTIN_SETJMP, RUBY_SETJMP_TYPE),
- (RUBY_STACK_GROW_DIRECTION): quote defun names, for some
- versions of autoconf possibly. [ruby-core:64473] [Bug #10156]
+Tue Jun 15 12:10:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 19 22:28:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: bug fix (TkWindow#grab)
- * sprintf.c (rb_str_format): fix condition to round.
- [ruby-core:64454] [Bug #10151]
+Mon Jun 14 18:23:27 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 19 22:22:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/remote-tk.rb: bug fix
- * enc/trans/euckr-tbl.rb (EUCKR_TO_UCS_TBL): add missing euro and
- registered signs. [ruby-core:64452] [Bug #10149]
+Sun Jun 13 00:23:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 19 13:59:43 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/extconf.rb: [EXPERIMENTAL] MacOS X (darwin) support
- * compar.c (rb_cmperr): preserve encodings of arguments in the
- message.
+ * ext/tcltklib/tcltklib.c: fix thread trouble on callback proc, and
+ eliminate warning about instance variable access
-Tue Aug 19 10:13:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/menubar.rb: improve supported menu_spec
- * ext/thread/thread.c (get_array): check instance variables are
- initialized properly. [ruby-core:63826][Bug #10062]
+ * ext/tk/lib/tk/menuspec.rb: [add] menu_spec support library
-Mon Aug 18 17:06:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/root.rb: add menu_spec support
- * sprintf.c (rb_str_format): support rational 'f' format.
- [ruby-core:64382] [Bug #10136]
+ * ext/tk/lib/tk/text.rb: bug fix
-Mon Aug 18 08:03:46 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tk/lib/tk/toplevel.rb: add menu_spec support
- * spec/default.mspec: use 2.2 definition.
+ * ext/tk/sample/menubar?.rb: [add] sample of menu_spec usage
-Sun Aug 17 19:41:40 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+Sat Jun 12 11:15:53 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c (obj_memsize_of): don't calculate memsize of T_NODE
- when called from check_gen_consistency. It fixes segmentation
- fault on RGENGC_CHECK_MODE >= 1 introduced by r47188.
+ * configure.in (target_os): strip -gnu suffix on Linux.
-Sun Aug 17 17:08:12 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Fri Jun 11 17:08:21 2004 Akinori MUSHA <knu@iDaemons.org>
- * ext/win32ole/win32ole.c (ole_invoke): use RHASH_SIZE instead of
- calling Hash#length method.
+ * config.guess: Restore a wrongly removed hyphen.
-Sat Aug 16 19:32:06 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Fri Jun 11 14:30:08 2004 Akinori MUSHA <knu@iDaemons.org>
- * ext/win32ole/win32ole_event.c (evs_length): use RARRAY_LEN instead
- of calling Array#length method.
+ * config.guess: Attempt to avoid system name change on
+ Darwin platforms also.
-Sat Aug 16 10:20:17 2014 Eric Wong <e@80x24.org>
+Fri Jun 11 14:22:45 2004 Akinori MUSHA <knu@iDaemons.org>
- * time.c (time_timespec): fix tv_nsec overflow
- [Bug #10144]
+ * 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.
-Fri Aug 15 20:34:17 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu Jun 10 19:19:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/win32ole/win32ole.c: separate WIN32OLE_EVENT src from
- win32ole.c.
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_event.c: ditto.
- * ext/win32ole/win32ole_event.h: ditto.
- * ext/win32ole/depend: ditto.
+ * ext/sdbm/init.c (fsdbm_store): sdbm should use StringValue().
+ [ruby-talk:103062]
-Fri Aug 15 19:38:00 2014 Koichi Sasada <ko1@atdot.net>
+Wed Jun 9 18:04:14 2004 akira yamada <akira@ruby-lang.org>
- * iseq.c (rb_iseq_clone): Should not insert write barrier from
- non-RVALUE data (to non-RVALUE data, of course).
+ * lib/uri/generic.rb (URI::Generic::merge,
+ URI::Generic::route_from): accepts non-hierarchical URI.
+ [ruby-dev:23631]
- Ruby 2.1 also has a same problem.
+ * test/uri/test_generic.rb (TestGeneric::test_route,
+ TestGeneric::test_merge): added tests for above changes.
-Fri Aug 15 19:34:33 2014 Koichi Sasada <ko1@atdot.net>
+Wed Jun 9 17:39:37 2004 Akinori MUSHA <knu@iDaemons.org>
- * string.c (setup_fake_str): fake strings should not set class by
- RBASIC_SET_CLASS() because it insert write barriers to fake
- (non-RVALUE) structure.
+ * config.guess, config.sub: Update to a more recent version as of
+ 2004-01-20.
- It can cause unexpected behaviour.
+ * configure.in: Add support for DragonFly BSD.
- Ruby 2.1 also have a same problem (setup_fake_str() in parse.y).
+Wed Jun 2 20:16:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * symbol.c (setup_fake_str): ditto.
+ * string.c (str_new4): should share shared instance if it already
+ exists. [ruby-dev:23665]
-Fri Aug 15 19:27:25 2014 Koichi Sasada <ko1@atdot.net>
+Wed Jun 2 12:41:53 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_tmp_new_fill): added.
- This function creates internal use only array (which is completely
- hided by ObjectSpace.each_object) with filling nil.
+ * io.c (rb_io_gets_m): set lastline ($_) even when read line is
+ nil. [ruby-dev:23663]
- Otherwise, it can be includes strange VALUEs.
+Fri May 28 11:20:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * internal.h: added.
+ * eval.c (rb_eval): bad influence on frame node.
- * node.h: use rb_ary_tmp_new_fill() for MEMO.
+ * eval.c (eval): reverted wrongly removed condition. [ruby-dev:23638]
-Fri Aug 15 10:13:37 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu May 27 23:15:18 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/gserver.rb: removed unmaintained code.
- [ruby-core:40313][Feature #5480]
- * lib/xmlrpc/httpserver.rb: ditto.
+ * lib/logger.rb: leading 0 padding of timestamp usec part.
-Fri Aug 15 09:22:12 2014 Eric Wong <e@80x24.org>
+ * 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']]
- * vm_core.h (rb_thread_struct): reorder to pack
- * cont.c (rb_context_struct, rb_fiber_struct): ditto
- On x86-64, these changes reduces:
- rb_thread_struct to 1000 bytes (from 1016)
- rb_context_struct to 1288 bytes (from 1312)
- rb_fiber_struct to 2272 bytes (from 2304)
+ * 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.
-Fri Aug 15 09:06:31 2014 Eric Wong <e@80x24.org>
+ 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
- * thread_pthread.h: define RB_NATIVETHREAD_LOCK_INIT and
- RB_NATIVETHREAD_COND_INIT macros
+ must be just;
- * thread_pthread.c (native_mutex_lock, native_mutex_unlock,
- native_mutex_trylock, native_mutex_initialize,
- native_mutex_destroy, native_cond_wait):
- use rb_nativethread_lock_t instead of pthread_mutex_t
- [Feature #10134]
+ CSV.open("foo.csv", "r") do |row|
+ row.each do |cell|
+ if cell.nil?
+ p "(NULL)"
+ else
+ p cell
+ end
+ end
+ end
- * thread_pthread.c (native_mutex_debug): make argument type-agnostic
- to avoid later cast.
+ * 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.
- * thread_pthread.c (register_cached_thread_and_wait):
- replace PTHREAD_COND_INITIALIZER with RB_NATIVETHREAD_COND_INIT,
- use native_mutex_{lock,unlock}
+ 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".
- * thread_pthread.c (use_cached_thread):
- use native_mutex_{lock,unlock}
+ setting mode properly is user's responsibility now.
- * thread_pthread.c (native_sleep):
- use rb_nativethread_lock_t to match th->interrupt_lock,
- use native_mutex_{lock,unlock}
+ * lib/csv.rb: accepts String as a fs (field separator/column separator)
+ and rs (record separator/row separator)
- * thread_pthread.c (timer_thread_lock): use rb_nativethread_lock_t type
+ * lib/csv.rb (CSV.read, CSV.readlines): added. works as IO.read and
+ IO.readlines in CSV format.
-Fri Aug 15 08:10:29 2014 Eric Wong <e@80x24.org>
+ * 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?
- * cont.c (cont_mark): fix typo in unused path [ci skip]
+ * test/csv/test_csv.rb: updated.
-Fri Aug 15 06:00:56 2014 Eric Wong <e@80x24.org>
+ * test/ruby/test_float.rb: added test_strtod to test Float("0").
- * vm.c (rb_thread_mark): update comment about marking `me'
- [ruby-core:64340] [ruby-core:64341]
+Thu May 27 21:37:50 2004 Tanaka Akira <akr@m17n.org>
-Fri Aug 15 05:53:59 2014 Eric Wong <e@80x24.org>
+ * lib/pathname.rb (Pathname#initialize): refine pathname initialization
+ by pathname.
- * README.EXT: preliminary documentation for RB_GC_GUARD
- [Bug #10100] [ruby-core:60741]
+Thu May 27 20:22:05 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Aug 14 00:26:19 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * io.c (rb_io_fwrite): check all case errno != 0 [ruby-dev:23648]
- * ext/win32ole/win32ole.c: separate WIN32OLE_RECORD src from
- win32ole.c
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_record.c: ditto.
- * ext/win32ole/win32ole_record.h: ditto.
- * ext/win32ole/depend: ditto.
+Thu May 27 14:53:13 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Wed Aug 13 21:41:04 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * io.c (rb_io_fwrite): workaround for bcc32's fwrite bug.
+ add errno checking. [ruby-dev:23627]
- * ext/win32ole/win32ole.c: separate WIN32OLE_VARIANT src from
- win32ole.c.
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_variant.c: ditto.
- * ext/win32ole/win32ole_variant.c: ditto.
- * ext/win32ole/depend: ditto.
+Wed May 26 14:19:42 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 13 20:09:37 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * eval.c (rb_eval, eval): make line number consistent on eval with
+ Proc. [ruby-talk:101253]
- * ext/win32ole/win32ole.c: remove unused variable.
+Wed May 26 13:59:17 2004 Dave Thomas <dave@pragprog.com>
-Wed Aug 13 19:31:27 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::skip_for_variable): Allow for
+ 'do' after for statement
- * ext/win32ole/win32ole.c (ole_search_handler_method, rescue_callback,
- folerecord_inspect): use PRIsVALUE in rb_sprintf.
+Wed May 26 13:56:03 2004 Dave Thomas <dave@pragprog.com>
- * ext/win32ole/win32ole_param.c (foleparam_inspect): ditto.
+ * lib/rdoc/generators/html_generator.rb (Generators::MarkUp::style_url): Fix
+ relative path to code CSS file
- * ext/win32ole/win32ole_variable.c (folevariable_inspect): use
- PRIsVALUE in rb_sprintf, use rb_inspect.
+Wed May 26 13:14:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 13 11:54:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * io.c (rb_io_init_copy): copy also positions. [ruby-talk:100910]
- * lib/irb/completion.rb: reverted r47163.
- because another case can't be show completion target.
+Wed May 26 00:00:00 2004 why the lucky stiff <why@ruby-lang.org>
-Wed Aug 13 11:17:00 2014 Shimpei Makimoto <github@makimoto.org>
+ * ext/syck/syck.c (syck_new_parser): clear parser on init.
+ thanks, ts. [ruby-core:02931]
- * lib/irb.rb: Prevent irb from crashing when exception with
- nil backtrace is raised.
- [fix GH-434][ruby-core:58078][Bug #9063]
- * test/irb/test_raise_no_backtrace_exception.rb: ditto.
+ * ext/syck/token.c (sycklex_yaml_utf8): buffer underflow.
+ thanks, ts. [ruby-core:02929]
-Wed Aug 13 11:08:55 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/yaml/baseemitter.rb (indent_text): simpler flow block code.
- * lib/irb/completion.rb: fixed broken completion list with
- String including spaces. Contributed from @dunric. [fix GH-465]
+ * lib/yaml.rb: added rdoc to beginning of lib.
-Wed Aug 13 00:07:01 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Mon May 24 10:46:26 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * ext/win32ole/win32ole.c: separate WIN32OLE_PARAM src from win32ole.c
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_param.c: ditto.
- * ext/win32ole/win32ole_param.h: ditto.
- * ext/win32ole/depend: ditto.
+ * lib/rdoc/generators/template/html/html.rb: SYSTEM identifiers
+ must be absolute URIs
-Tue Aug 12 23:17:47 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Sat May 22 12:00:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/win32ole.c: refactoring. move some methods
- into win32ole_type.c / win32ole_method.c
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_method.c: ditto.
- * ext/win32ole/win32ole_method.h: ditto.
- * ext/win32ole/win32ole_type.h: ditto.
- * ext/win32ole/win32ole_type.h: ditto.
+ * MANIFEST: add new encodings in rexml.
-Tue Aug 12 22:59:48 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/tk/MANIFEST: add recent files.
- * ext/win32ole/win32ole.c: refactoring. move
- ole_typelib_from_itypeinfo into win32ole_typelib.c.
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_typelib.h: ditto.
- * ext/win32ole/win32ole_typelib.h: ditto.
+Sat May 22 05:37:11 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue Aug 12 21:49:40 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/tk/lib/remote-tk.rb: (NEW library) controll Tk interpreters
+ on the other processes by Tcl/Tk's 'send' command
- * 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]
+Fri May 21 09:22:05 2004 Dave Thomas <dave@pragprog.com>
-Tue Aug 12 14:22:58 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_parameters):
+ Add ()'s around parameters that don't have them
- * configure.in: ignored working directory same as prefix value.
- [ruby-core:54999] [Bug #8409]
+Thu May 20 17:02:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 12 13:34:25 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/mkmf.rb (check_sizeof): define result size. [ruby-core:02911]
- * lib/fileutils.rb: enable to remove with non-owner directory.
- [ruby-dev:45976] [Bug #6756]
- * test/fileutils/test_fileutils.rb: add testcase for #6756.
+ * lib/mkmf.rb (create_header): macro name should not include equal
+ sign.
-Tue Aug 12 12:57:28 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu May 20 15:59:50 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * vm_exec.c: improve performance in ppc64 arch.
- [ruby-core:63437] [Feature #9997]
+ * ext/socket/socket.c: fix SEGV. [ruby-dev:23550]
-Tue Aug 12 12:14:52 2014 Akira Matsuda <ronnie@dio.jp>
+Thu May 20 14:35:52 2004 Tanaka Akira <akr@m17n.org>
- * lib/fileutils.rb: fix typo.
- [ruby-dev:47831] [Bug #9180]
+ * 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 Aug 12 10:10:42 2014 Eric Wong <e@80x24.org>
+Thu May 20 12:38:06 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_method.c (release_method_definition): use rb_free_method_entry
+ * numeric.c (flo_eq): always check if operands are NaN.
+ [ruby-list:39685]
-Tue Aug 12 06:16:09 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu May 20 12:34:39 2004 Dave Thomas <dave@pragprog.com>
- * ext/win32ole/win32ole.c: separate WIN32OLE_METHOD src from
- win32ole.c.
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_method.c: ditto.
- * ext/win32ole/win32ole_method.h: ditto.
- * ext/win32ole/depend: ditto.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_visibility):
+ At Ryan Davis' suggestion, honor visibility modifers if guarded by a
+ statement modifier
-Mon Aug 11 22:19:15 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu May 20 12:22:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/win32ole_variable.c (folevariable_inspect): refactoring.
+ * lib/mkmf.rb (have_type): do not check pointer to incomplete type,
+ which always get compiled. [ruby-list:39683]
-Mon Aug 11 20:47:27 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Wed May 19 11:09:00 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/win32ole/win32ole.c: separate WIN32OLE_VARIABLE src from
- win32ole.c
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_variable.c: ditto.
- * ext/win32ole/win32ole_variable.h: ditto.
- * ext/win32ole/depend: ditto.
+ * ext/tk/lib/tk.rb: change permition of TkObject#tk_send from
+ private to public
-Mon Aug 11 16:17:21 2014 Tony Miller <mcfiredrill@gmail.com>
+Tue May 18 14:00:46 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (rb_dir_exists_p): [DOC] Document that Dir.exists? is
- deprecated. [ruby-core:64135] [Bug #10102]
+ * node.h (NEW_DSTR): adjust list length.
-Mon Aug 11 11:26:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (literal_concat): ditto.
- * lib/tempfile.rb: start rdoc parsing inside singleton class
- definition to include the document there.
- [ruby-core:64157] [Bug #10105]
+Mon May 17 16:14:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Sun Aug 10 12:22:43 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * numeric.c (flo_to_s): it's preferable that "p 0.0" outputs "0.0"
+ instead of "0.0e+00". [ruby-dev:23480]
- * ext/win32ole/win32ole_type.c: refactoring.
+ * 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)
-Sun Aug 10 10:34:00 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon May 17 10:13:33 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/cgi/session/pstore.rb: separated sample code.
- * lib/open3.rb: ditto.
+ * ext/socket/socket.c (setup_domain_and_type): honor duck typing.
+ [ruby-dev:23522]
-Sun Aug 10 10:03:24 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/socket/socket.c (sock_s_getnameinfo): ditto.
- * lib/irb/ext/multi-irb.rb: removed commented-out code.
+Mon May 17 01:15:23 2004 why the lucky stiff <why@ruby-lang.org>
-Sat Aug 9 11:02:07 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/yaml.rb: removed fallback to pure Ruby parser.
- * lib/irb.rb: removed commented-out code.
- * lib/irb/**/*.rb: ditto.
+ * lib/yaml/baseemitter.rb (indent_text): was forcing a mod value
+ of zero at times, which kept some blocks from getting indentation.
-Sat Aug 9 10:35:30 2014 Laurent Arnoud <laurent@spkdev.net>
+ * lib/yaml/baseemitter.rb (node_text): rewriting folded scalars.
- * lib/cmath.rb: fixed indent. [fix GH-696]
- * lib/drb/ssl.rb: ditto.
- * lib/irb/**/*.rb: ditto.
+ * ext/syck/syck.h: reports style of scalars now, be they plain, block
+ single-, or double-quoted.
-Sat Aug 9 10:28:03 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/syck/syck.c: ditto.
- * test/minitest/test_minitest_unit.rb: removed obsoleted condition
- for Ruby 1.8.
- * test/ruby/test_time_tz.rb: ditto.
+ * ext/syck/gram.c: ditto.
-Sat Aug 9 10:18:00 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/syck/node.c: ditto.
- * test/cgi/test_cgi_core.rb: removed obsoleted condition for Ruby 1.8.
- * test/cgi/test_cgi_header.rb: ditto.
- * test/cgi/test_cgi_multipart.rb: ditto.
- * test/cgi/test_cgi_tag_helper.rb: ditto.
+ * ext/syck/token.c: ditto.
-Sat Aug 9 00:34:37 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/syck/rubyext.c (yaml_org_handler): symbols loaded only
+ if scalar style is plain.
- * ext/win32ole/win32ole.c: separate WIN32OLE_TYPE src from win32ole.c.
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_type.c: ditto.
- * ext/win32ole/win32ole_type.h: ditto.
- * ext/win32ole/depend: ditto.
+ * ext/syck/rubyext.c (yaml_org_handler): some empty strings were
+ loaded as symbols.
-Fri Aug 8 01:53:37 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * test/yaml/test_yaml.rb (test_perl_regexp): updated test to
+ match new regexp serialization.
- * lib/securerandom.rb: use OpenSSL::BN for performance improvement.
+Mon May 17 00:03:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * benchmark/bm_securerandom.rb: benchmark script.
+ * lib/drb/drb.rb: Cosmetic documentation changes.
-Fri Aug 8 17:19:57 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun May 16 22:36:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * lib/open-uri.rb: remove needless condition for old ruby version.
- * test/open-uri/test_open-uri.rb: ditto.
+ * lib/test/unit.rb: Removed :nodoc: directive (it prevented effective
+ RDoc operation), and added file-level comment.
-Fri Aug 8 16:40:59 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun May 16 20:55:49 2004 Tanaka Akira <akr@m17n.org>
- * lib/irb/init.rb: removed unreachable code.
+ * 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.
-Fri Aug 8 16:34:22 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun May 16 13:10:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * lib/drb/drb.rb: removed unreachable code.
+ * lib/test/unit/**/*.rb: Removed :nodoc: directives (many were
+ generating warnings, many were on private methods).
-Fri Aug 8 14:33:49 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat May 15 01:41:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/webrick/httpproxy.rb: remove needless condition
- for old ruby version.
+ * eval.c (eval): forgot to restore $SAFE value before evaluating
+ compiled node. [ruby-core:02872]
-Fri Aug 8 01:07:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat May 15 01:33:12 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * 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]
+ * range.c (range_each_func): terminates loop if generating value
+ is same to @end. [ruby-talk:100269]
-Thu Aug 7 23:25:29 2014 Masaki Matsushita <glass.saga@gmail.com>
+Fri May 14 22:08:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/open3.rb: avoid unnecessary write if stdin_data is empty.
+ * string.c (rb_str_new4): should not reuse frozen shared string if
+ the original is not an instance of String. [ruby-talk:100193]
-Thu Aug 7 21:42:49 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Fri May 14 18:39:25 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/win32ole/win32ole_typelib.c (foletypelib_version): return
- version string.
+ * 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')
- * test/win32ole/test_win32ole_typelib.rb (test_version): ditto.
+Fri May 14 12:11:43 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Aug 7 15:13:13 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * util.c (ruby_strtod): strtod("0", &end); => end should point '\0'.
+ [ruby-dev:23498]
- * lib/cgi.rb: remove needless condition for old ruby version.
+Thu May 13 15:47:30 2004 akira yamada <akira@ruby-lang.org>
-Thu Aug 7 06:04:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/telnet.rb (Net::Telnet::login): "options" can specify
+ regexps for login prompt and/or password prompt.
- * parse.y (parser_yyerror): preserve source code encoding in
- syntax error messages. [ruby-core:64228] [Bug #10114]
+Thu May 13 14:23:45 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Wed Aug 6 20:56:02 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * hash.c (delete_if_i): use st_delete_safe() (via
+ rb_hash_delete()) instead of returning ST_DELETE.
+ backport from HEAD. [ruby-dev:23487]
- * ext/win32ole/win32ole.c: separate src of WIN32OLE_TYPELIB from
- win32ole.c
+Thu May 13 13:01:30 2004 akira yamada <akira@ruby-lang.org>
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_typelib.c: ditto.
- * ext/win32ole/win32ole_typelib.h: ditto.
- * ext/win32ole/depend: ditto.
+ * lib/uri/mailto.rb (URI::MailTo::to_s): should include fragment.
-Wed Aug 6 20:44:07 2014 Akinori MUSHA <knu@iDaemons.org>
+Thu May 13 11:04:08 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * enum.c (enum_one): [DOC] Move enum.one? documentation before the
- relevant method. Submitted by @vipulnsward. [Fixes GH-687]
- https://github.com/ruby/ruby/pull/687
+ * pack.c (pack_pack): always add with null for 'Z'.
-Wed Aug 6 20:25:47 2014 Akinori MUSHA <knu@iDaemons.org>
+ * pack.c (pack_unpack): terminated by null for 'Z'. [ruby-talk:98281]
- * lib/set.rb (Set#replace): Check if an object given is enumerable
- before clearing self. Reported by yui-knk. [GH-675]
- https://github.com/ruby/ruby/pull/675
+Wed May 12 19:59:43 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 6 20:07:26 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * lib/mkmf.rb (have_type, check_sizeof): replace unusable characters.
+ [ruby-talk:99788]
- * ext/win32ole/win32ole.c (olerecord_ivar_set): remove rb_str_subseq.
+Wed May 12 17:41:42 2004 Tanaka Akira <akr@m17n.org>
-Wed Aug 6 19:09:27 2014 Akinori MUSHA <knu@iDaemons.org>
+ * lib/resolv.rb (Resolv::DNS::Config): make it configurable without
+ external file such as /etc/resolv.conf.
- * lib/set.rb (Set): Implement Set#clone by splitting
- initialize_copy into initialize_dup and initialize_clone.
- Submitted by yui-knk. [Fixes GH-661]
- https://github.com/ruby/ruby/pull/661
+Wed May 12 14:37:27 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Aug 6 18:42:58 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/openssl/ossl_x509name.c: attribute value of DC (short name of
+ domainComponent) should be IA5String.
- * ext/win32ole/win32ole.c: separate src of WIN32OLERuntimeError
- from win32ole.c.
+Wed May 12 13:20:19 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/win32ole/win32ole.h: ditto
- * ext/win32ole/depend: ditto.
- * ext/win32ole/win32ole_error.c: ditto.
- * ext/win32ole/win32ole_error.h: ditto.
+ * ext/tk/lib/tk/composite.rb: improve configure methods (based on
+ the proposal of [ruby-talk:99671]).
-Wed Aug 6 04:33:58 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Wed May 12 11:51:08 2004 Dave Thomas <dave@pragprog.com>
- * lib/net/http.rb (Net::HTTP.proxy_uri): use initializer instead
- of parser to handle IPv6 address. [Bug #9129]
+ * class.c (rb_obj_singleton_methods): fix rdoc
-Wed Aug 6 04:16:05 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Mon May 10 21:44:42 2004 Dave Thomas <dave@pragprog.com>
- * lib/net/http/requests.rb (Net::HTTP::Options::RESPONSE_HAS_BODY):
- OPTIONS requests may have response bodies. [Feature #8429]
- http://tools.ietf.org/html/rfc7231#section-4.3.7
+ * lib/rdoc/generators/html_generator.rb: Change scheme for
+ looking up symbols in HTML generator.
-Wed Aug 6 03:18:04 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Mon May 10 16:45:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec):
- handle req['host'] in update_uri.
+ * eval.c (eval): warning during eval should not cause deadlock.
+ [ruby-talk:98651]
- * lib/net/http/generic_request.rb
- (Net::HTTP::GenericRequest#update_uri):
- use req['host'] if it is explicitly set. Even if URI is given,
- it is already used for the initial value of req['host'].
- Therefore overwritten value should be respected. [Bug #10054]
+ * eval.c (rb_eval): raise TypeError exception for superclass
+ mismatch. [ruby-list:39567]
-Wed Aug 6 03:17:34 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Mon May 10 12:11:37 2004 Dave Thomas <dave@pragprog.com>
- * lib/net/http/generic_request.rb
- (Net::HTTP::GenericRequest#update_uri):
- handle scheme, host, and port to reflect connection to @uri.
+ * lib/rdoc/generators/html_generator.rb: Hack to search parents
+ for unqualified constant names.
- * lib/net/http.rb (Net::HTTP#begin_transport): move trivial handling
- to Net::HTTP::GenericRequest#update_uri.
+Mon May 10 12:11:37 2004 Dave Thomas <dave@pragprog.com>
+ * lib/rdoc/generators/html_generator.rb: Hack to search parents
+ for unqualified constant names.
-Wed Aug 6 02:16:43 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Sun May 9 22:37:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * lib/net/http/generic_request.rb
- (Net::HTTP::GenericRequest#initialize):
- optimize object allocation.
+ * 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
-Wed Aug 6 01:16:47 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Fri May 7 21:50:21 2004 Dave Thomas <dave@pragprog.com>
- * lib/uri/generic.rb (URI::Generic#path_query): remove a private method.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_include): Allow
+ multiple arguments to 'include'
-Wed Aug 6 01:15:47 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Fri May 7 21:31:56 2004 Minero Aoki <aamine@loveruby.net>
- * lib/uri/generic.rb (URI::Generic#normalize!): use String#empty?
+ * lib/fileutils.rb (fu_list): Array() breaks pathes including "\n".
+ [ruby-core:02843]
- * lib/uri/generic.rb (URI::Generic#path_query): optimized.
+Fri May 7 11:25:53 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/uri/generic.rb (URI::Generic#to_s): optimized.
+ * 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]
-Wed Aug 6 00:15:10 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Fri May 7 10:00:05 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/uri/http.rb (URI::HTTP#request_uri): optimized.
- decrease object allocation, and ensure always create at least one new
- object for return value.
+ * ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]
-Wed Aug 6 03:41:21 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Thu May 6 22:13:17 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * ext/psych/lib/psych/visitors/to_ruby.rb: backwards compatibility for
- hashes emitted by Syck. Github #198
- * test/psych/test_hash.rb: test for change.
+ * ext/socket/socket.c (ippaddr): use NUMERICHOST if can not resolve
+ hostname.
-Tue Aug 5 19:27:59 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu May 6 14:22:29 2004 why the lucky stiff <why@ruby-lang.org>
- * ext/win32ole/win32ole.c (ole_invoke): skip VariantClear when
- argument is VT_RECORD variant.
+ * lib/yaml/rubytypes.rb (to_yaml): added instance variable handling
+ for Ranges, Strings, Structs, Regexps.
-Tue Aug 5 15:52:51 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/yaml/rubytypes.rb (to_yaml_fold): new method for setting a
+ String's flow style.
- * gems/bundled_gems: Upgrade to test-unit-3.0.0 and minitest-5.4.0.
+ * lib/yaml.rb (YAML::object_maker): now uses Object.allocate.
-Mon Aug 4 21:50:09 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/syck/gram.c: fixed transfer methods on structs, broke it
+ last commit.
- * test/win32ole/test_win32ole_record.rb: add for WIN32OLE_RECORD
- test(need .NET Framework 3.5 to run test).
+Thu May 6 11:40:28 2004 Shugo Maeda <shugo@ruby-lang.org>
-Mon Aug 4 19:49:34 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * lib/net/imap.rb (string): accept NIL.
- * ext/win32ole/win32ole.c (ole_invoke): call rb_hash_foreach instead
- of rb_block_call.
+ * lib/net/imap.rb (body_type_basic): allow body-fields omissions.
- * ext/win32ole/win32ole.c: add comment for rdoc of WIN32OLE_VARIANT
- class.
+Thu May 6 01:59:04 2004 Dave Thomas <dave@pragprog.com>
-Mon Aug 4 09:12:47 2014 Eric Wong <e@80x24.org>
+ * lib/rdoc/generators/html_generator.rb (Generators::HtmlMethod::params):
+ Don't include the &block parameter if we have explicit
+ yield parameters.
- * variable.c: cleanup to use rb_const_lookup
- [Feature #10107]
+Wed May 5 03:40:29 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * vm_insnhelper.c: ditto
+ * lib/rinda/ring.rb: use recv instead of recvfrom.
-Sun Aug 3 10:55:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue May 4 23:52:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * include/ruby/encoding.h (rb_check_symbol_cstr): ditto.
+ * lib/gserver.rb: documented
-Sun Aug 3 10:43:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue May 4 23:46:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * 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/xmlrpc/README.txt: introduced for documentation purposes
-Sat Aug 2 23:47:45 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Mon May 3 09:47:24 2004 Dave Thomas <dave@pragprog.com>
- * ext/win32ole/win32ole.c: separate WIN32OLE::VARIANT src file
- from win32ole.c
- * ext/win32ole/win32ole.h: ditto.
- * ext/win32ole/win32ole_variant_m.c: ditto.
- * ext/win32ole/win32ole_variant_m.h: ditto.
- * ext/win32ole/depend: ditto.
- * ext/.document: ditto.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):
+ Fix parsing bug if yield called within 1 line block
-Sat Aug 2 14:34:58 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Sun May 2 01:04:38 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/win32ole/win32ole.c: add comments for rdoc.
+ * ext/tcltklib, ext/tk: renewal Ruby/Tk
-Sat Aug 2 10:26:57 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Apr 30 20:08:41 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * object.c (rb_obj_itself): new method Object#itself. based on the
- patch by Rafael Franca in [ruby-core:64156].
- [EXPERIMENTAL] this method may be renamed due to compatibilities.
- [ruby-core:44704] [Feature #6373]
+ * time.c (SIZEOF_TIME_T): support SIZEOF_TIME_T == SIZEOF_INT.
-Fri Aug 1 22:30:40 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Tue Apr 27 13:12:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/win32ole/win32ole.c (folerecord_initialize): accept
- only 2 arguments. The 2nd argument should be WIN32OLE object or
- WIN32OLE_RECORD object.
+ * eval.c (rb_eval): too many line trace call. (ruby-bugs PR#1320)
-Fri Aug 1 20:17:33 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Tue Apr 27 08:41:28 2004 why the lucky stiff <why@ruby-lang.org>
- * ext/win32ole/win32ole.c (ole_variant2val): call
- folerecord_s_allocate instead of WIN32OLE_RECORD.new.
+ * lib/yaml/rubytypes.rb: passing Range tests.
-Fri Aug 1 18:39:57 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/syck/syck.h: version 0.44.
- * test/date/test_date.rb: remove commented-out code.
- * test/date/test_date_arith.rb: ditto.
- * test/date/test_date_attr.rb: ditto.
- * test/date/test_date_parse.rb: ditto.
+ * ext/syck/gram.c: transfers no longer open an indentation.
+ fixed transfers which precede blocks.
-Fri Aug 1 16:35:32 2014 Evan Miller <evan@squareup.com>
+ * ext/syck/token.c: ditto.
- * numeric.c (flodivmod): all results are NaN if divisor is NaN.
- [fix GH-692]
+ * ext/syck/syck.c: fixed segfault if an anchor has been released already.
-Thu Aug 01 07:28:12 2014 Kenta Murata <mrkn@mrkn.jp>
+ * ext/syck/node.c (syck_free_members): organized order of free'd nodes.
- * ext/bigdecimal/bigdecimal.c: [DOC] Add description of
- `BigDecimal.new` exceptions. Patched by @joker1007 and
- @prathamesh-sonpatki [Fixes GH-690]
- https://github.com/ruby/ruby/pull/690
+ * ext/syck/rubyext.c (syck_emitter_write_m): test for proper string with
+ StringValue.
-Thu Jul 31 22:20:12 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Mon Apr 26 23:56:54 2004 Daniel Kelley <news-1082945587@dkelley.gmp.san-jose.ca.us>
- * ext/win32ole/win32ole.c: add WIN32OLE_RECORD#inspect.
+ * README.EXT, README.EXT.ja: fixed wrong function signature.
+ [ruby-talk:98349]
-Thu Jul 31 20:35:32 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Mon Apr 26 21:40:09 2004 Dave Thomas <dave@pragprog.com>
- * ext/win32ole/win32ole.c: add
- WIN32OLE_RECORD#ole_instance_variable_set and
- WIN32OLE_RECORD#ole_instance_variable_get
+ * lib/rdoc/code_objects.rb (RDoc::Context::add_alias): Only alias
+ to instance methods.
-Wed Jul 30 23:28:10 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+Sat Apr 24 10:38:31 2004 Dave Thomas <dave@pragprog.com>
- * sprintf.c (rb_str_format): like r47006, get rid of
- function calls in RSTRING_PTR().
+ * lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::group_lines):
+ Fix bug where consecutive headings are merged.
-Wed Jul 30 22:10:29 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+Fri Apr 23 23:26:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (rlimit_resource_type, rlimit_resource_value):
- get rid of inadvertent dynamic symbol pin-down.
+ * lib/mkmf.rb: $hdrdir should not contain macros for backward
+ compatibility. [bruby-dev:28]
- * re.c (match_backref_number): ditto.
+ * version.c (ruby_show_copyright): obtain copyright year from
+ RUBY_RELEASE_YEAR.
- * signal.c (esignal_init, rb_f_kill, trap_signm): ditto.
+ * win32/resource.rb: ditto.
- * transcode.c (econv_opts): ditto.
+ * win32/resource.rb: default rubyw icon to ruby.ico, and let DLL also
+ include them.
- * vm_trace.c (symbol2event_flag): ditto.
+ * win32/resource.rb: include winver.h for older WindowsCE.
-Wed Jul 30 21:29:39 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Fri Apr 23 16:38:46 2004 Tanaka Akira <akr@m17n.org>
- * ext/win32ole/win32ole.c (ole_invoke): pass WIN32OLE_RECORD variant
- by reference when invoke OLE methods at first.
+ * lib/pathname.rb: sync taint/freeze flag between
+ a pathname object and its internal string object.
- * ext/win32ole/win32ole.c (olerecord_set_ivar): release
- IRecordInfo interface before setting another IRecordInfo interface.
+Fri Apr 23 14:52:08 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 30 13:17:35 2014 Koichi Sasada <ko1@atdot.net>
+ * parse.y (stmt, arg, aref_args): should not make sole splat into
+ array, in aref_args other than aref with op_asgn.
- * gc.c: remove unused macros.
+Fri Apr 23 14:14:38 2004 Tanaka Akira <akr@m17n.org>
-Tue Jul 29 22:21:37 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * lib/resolv.rb: don't use Regexp#source to embed regexps.
+ [ruby-dev:23432]
- * ext/win32ole/win32ole.c (hash2olerec): ignore WIN32OLE_RECORD
- instance variable if the variable is nil.
+Thu Apr 22 04:15:36 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 29 19:43:27 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * parse.y (aref_args): should pass expanded list. [ruby-core:02793]
- * ext/win32ole/win32ole.c (folerecord_method_missing): refactoring.
- divide functionality of folerecord_method_missing into
- olerecord_ivar_set and olerecord_ivar_get.
+Thu Apr 22 01:12:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jul 28 20:20:08 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * numeric.c (flo_to_s): tweak output string based to preserve
+ decimal point and to remove trailing zeros. [ruby-talk:97891]
- * ext/win32ole/win23ole.c (folerecord_method_missing): support
- setter of member of WIN32OLE_RECORD object.
+ * string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM
+ search. [ruby-talk:97342]
-Mon Jul 28 06:37:19 2014 Zachary Scott <e@zzak.io>
+Wed Apr 21 22:57:27 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * vm_eval.c: [DOC] Fix rdoc formatting of patch from [Bug #9551]
+ * lib/rinda/rinda.rb, test/rinda/test_rinda.rb: check Hash tuple size.
-Mon Jul 28 06:34:43 2014 Zachary Scott <e@zzak.io>
+Wed Apr 21 20:05:00 2004 Tanaka Akira <akr@m17n.org>
- * vm_eval.c: [DOC] [Bug #9551] Improve clarity of Kernel::catch
- documentation, patch by Jesse Sielaff.
+ * lib/open-uri.rb (URI::HTTP#proxy_open): set Host: field explicitly.
+ [ruby-list:39542]
-Mon Jul 28 06:24:54 2014 Zachary Scott <e@zzak.io>
+Mon Apr 19 18:11:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/uri/common.rb: [DOC] [Bug #9563] Recommend using URI.escape
- before parsing a uri to avoid invalid characters. Reported by
- Evgeniy Serykh.
+ * hash.c (rb_hash_equal): returns true if two hashes have same set
+ of key-value set. [ruby-talk:97559]
-Mon Jul 28 05:55:56 2014 Zachary Scott <e@zzak.io>
+ * hash.c (rb_hash_eql): returns true if two hashes are equal and
+ have same default values.
- * time.c: [DOC] Clarify %Y in strftime, which can accept any digits
- and will output at least 4 digits as the year. Reported by Yury
- Trofimenko [Bug #10049]
+Mon Apr 19 08:19:58 2004 Doug Kearns <djkea2@mugca.its.monash.edu.au>
- * lib/time.rb: ditto
+ * 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.
-Mon Jul 28 05:32:06 2014 Zachary Scott <e@zzak.io>
+Mon Apr 19 08:14:18 2004 Dave Thomas <dave@pragprog.com>
- * lib/uri/common.rb: [DOC] [Bug #10075] Clarify how URI.join arguments
- are handled by RFC3986, originally reported by John Feminella.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Allow for
+ #ifdef HAVE_PROTOTYPES
-Mon Jul 28 05:21:41 2014 Zachary Scott <e@zzak.io>
+Fri Apr 16 22:33:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * file.c: [DOC] Clarify how File.file? handles symbolic links. Also
- cleaned up the rdoc style for this method, more to follow.
- Originally reported by Michael Renner [Bug #10067]
+ * ext/iconv/iconv.c: nearly finished RDoc comments.
-Mon Jul 28 05:12:22 2014 Zachary Scott <e@zzak.io>
+Fri Apr 16 17:04:07 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * time.c: [DOC] Remove dead link and old bug report, which hasn't been
- reproduced in a few years. Reported by Federico Builes [Bug #10071]
+ * string.c (rb_str_equal): always returns true or false, never
+ returns nil. [ruby-dev:23404]
-Mon Jul 28 04:39:58 2014 Zachary Scott <e@zzak.io>
+Fri Apr 16 08:27:02 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/zlib/zlib.c: [DOC] Remove default value of Zlib constants, as
- they may change in the implementation without notice. Patched by
- @robin850 [Fixes GH-682] https://github.com/ruby/ruby/pull/682
+ * ext/extmk.rb: skip linking when libraries to be preloaded not
+ compiled. [ruby-list:39561]
-Mon Jul 28 04:35:35 2014 Zachary Scott <e@zzak.io>
+Thu Apr 15 23:21:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_hmac.c: Fix NO_HMAC warning [Fixes GH-665]
- Patched by @vipulnsward https://github.com/ruby/ruby/pull/665
+ * process.c (pst_success_p): new method Process::Status#success?.
+ [ruby-dev:23385]
-Sun Jul 27 19:49:36 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Apr 15 17:12:13 2004 Tanaka Akira <akr@m17n.org>
- * lib/cgi/core.rb: remove unused variables.
- * lib/erb.rb: ditto.
- * lib/mkmf.rb: ditto.
- * lib/net/http/response.rb: ditto.
- * lib/optparse/version.rb: ditto.
- * lib/prime.rb: ditto.
- * lib/racc/parser.rb: ditto.
- * lib/rexml/document.rb: ditto.
- * lib/rexml/dtd/dtd.rb: ditto.
- * lib/rexml/element.rb: ditto.
- * lib/rexml/functions.rb: ditto.
- * lib/rexml/parsers/xpathparser.rb: ditto.
+ * ext/gdbm/gdbm.c (Init_gdbm): define GDBM::READER, GDBM::WRITER,
+ GDBM::WRCREAT and GDBM::NEWDB.
+ (fgdbm_initialize): use specified read/write flag.
-Sun Jul 27 05:11:21 2014 Zachary Scott <e@zzak.io>
+Wed Apr 14 11:29:56 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/irb.rb: [DOC] PROMPT_I cannot be nil, patch by @hgillane
- Fixes documenting-ruby/ruby#37
- https://github.com/documenting-ruby/ruby/pull/37
+ * numeric.c (flo_eq): workaround for bcc32's bug.
+ (ruby-bugs-ja:PR#594)
-Sun Jul 27 02:41:50 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Apr 14 13:06:35 2004 Doug Kearns <djkea2@mugca.its.monash.edu.au>
- * lib/shell/command-processor.rb: remove unused variable.
- * lib/shell/system-command.rb: ditto.
- * lib/tmpdir.rb: ditto.
- * lib/uri/generic.rb: ditto.
+ * 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]
-Sun Jul 27 02:08:31 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Apr 14 11:06:38 2004 Dave Thomas <dave@pragprog.com>
- * lib/weakref.rb: split executable code into sample directory.
- * sample/weakref.rb: ditto.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::scan): Changed
+ behavior of :enddoc: -- it now unconditionally terminates
+ processing of the current file.
-Sun Jul 27 02:06:55 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Apr 14 11:03:22 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/delegate.rb: split executable code into sample directory.
- * sample/delegate.rb: ditto.
+ * defines.h: include <net/socket.h> to get fd_set definition in BeOS.
-Sun Jul 27 01:46:34 2014 Zachary Scott <e@zzak.io>
+Tue Apr 13 23:06:30 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * proc.c (method_super_method): [DOC] Method#super_method
+ * lib/rinda/rinda.rb: change pattern matching.
+ a === b -> a == b || a === b. [druby-ja:98]
-Sun Jul 27 01:22:39 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/rinda/test_rinda.rb: ditto.
- * proc.c (method_super_method): new method Method#super_method,
- which returns a method object of the method to be called by
- `super` in the receiver method object.
- [ruby-core:62202] [Feature #9781]
+Tue Apr 13 19:54:29 2004 Minero Aoki <aamine@loveruby.net>
-Sat Jul 26 17:22:14 2014 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * lib/net/http.rb: should not overwrite HTTP request header.
+ [ruby-list:39543]
- * ext/objspace/objspace_dump.c (dump_append): avoid fflush.
+Tue Apr 13 01:30:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- because dump_append_string_value() iterates over each chars,
- fflush()-ing here effectively issues system calls on every single
- bytes exist in a ruby process.
+ * ext/iconv/iconv.c: RDoc documentation (from RD; nearly finished).
+ * ext/iconv/charset_alias.rb: Prevent from RDoc'ing.
-Sat Jul 26 16:55:18 2014 Eric Wong <e@80x24.org>
+Mon Apr 12 19:11:29 2004 Eric Hodel <drbrain@segment7.net>
- * iseq.h (struct iseq_compile_data_storage): reduce overhead
- to 16 bytes (from 32) on 64-bit
+ * gc.c (rb_gc_copy_finalizer): typo. [ruby-core:02774]
-Sat Jul 26 16:28:06 2014 Eric Wong <e@80x24.org>
+Mon Apr 12 18:52:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm_core.h (struct rb_iseq_struct): reduce to 280 bytes
- (from 288 bytes) on 64-bit
+ * ext/openssl/ossl_x509name.c (ossl_x509name_init_i): should return
+ a value.
-Sat Jul 26 06:44:43 2014 Eric Wong <e@80x24.org>
+Mon Apr 12 10:43:47 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * parse.y (struct parse_params): shrink to 320 to 304 bytes on 64-bit
+ * dir.c (rb_glob2, rb_glob, rb_globi, push_globs, push_braces,
+ rb_push_glob): fix memory leak. (leaked when block was interrupted)
-Sat Jul 26 05:58:35 2014 Eric Wong <e@80x24.org>
+Mon Apr 12 10:27:37 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * include/ruby/ruby.h (ZALLOC, ZALLOC_N): implement
- (Data_Make_Struct, TypedData_Make_Struct):
- ZALLOC replaces ALLOC+memset
- [ruby-core:63951][Feature #10082]
- * compile.c (iseq_seq_sequence): ZALLOC_N replaces ALLOC_N+MEMZERO
- * cont.c (fiber_t_alloc): ZALLOC replaces ALLOC+MEMZERO
- * io.c (rb_io_reopen): ditto
- * iseq.c (prepare_iseq_build): ditto
- * parse.y (new_args_tail_gen, parser_new, ripper_s_allocate): ditto
- * re.c (match_alloc): ditto
- * variable.c (rb_const_set): ditto
- * ext/socket/raddrinfo.c (get_addrinfo): ditto
- * ext/strscan/strscan.c (strscan_s_allocate): ditto
- * gc.c (rb_objspace_alloc): calloc replaces malloc+MEMZERO
+ * bcc32/Makefile.sub: backport SIZEOF_TIME_T definition from 1.9.
-Sat Jul 26 05:54:54 2014 Eric Wong <e@80x24.org>
+ * win32/Makefile.sub: ditto.
- * symbol.c (dsymbol_check): remove unneeded semi-colon
+ * wince/Makefile.sub: ditto.
-Fri Jul 25 14:07:27 2014 Koichi Sasada <ko1@atdot.net>
+Sun Apr 11 19:12:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c: change objspace::rgengc::parent_object_is_old (boolean)
- to objspace::rgengc::parent_object (VALUE).
- Use Qfalse or RVALUE pointer instead of FALSE and TRUE.
+ * ruby.c (require_libraries): restore source file/line after
+ statically linked extensions initialized. [ruby-dev:23357]
- * gc.c (gc_marks_body): should clear parent_object just before
- gc_mark_roots() because there are no parents objects
- for root objects.
+Sun Apr 11 10:47:04 2004 Dave Thomas <dave@pragprog.com>
-Fri Jul 25 13:45:39 2014 Koichi Sasada <ko1@atdot.net>
+ * 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:)
- * gc.c (rb_gc_writebarrier_remember_promoted): should remember only
- OLD objects on RGENGC_AGE2_PROMOTION.
+Sat Apr 10 23:51:13 2004 Dave Thomas <dave@pragprog.com>
-Fri Jul 25 13:42:02 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/code_objects.rb (RDoc::Context::add_to): Implementation of :enddoc:
+ made one too many assumptions...
- * gc.c (gc_mark_stacked_objects): fix error message.
+Sat Apr 10 00:00:19 2004 Dave Thomas <dave@pragprog.com>
-Fri Jul 25 13:18:00 2014 Will Farrington <wfarrington@digitalocean.com>
+ * lib/rdoc/markup/simple_markup/inline.rb: Fix problem
+ with \_cat_<b>dog</b>
- * ext/socket/socket.c (sock_gethostname): Use NI_MAXHOST to support
- hostnames longer than 64 characters if the system supports it.
- [fixes GH-683]
+Wed Apr 7 00:19:50 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Jul 25 12:21:11 2014 Santiago Pastorino <santiago@wyeworks.com>
+ * lib/rinda/rinda.rb: fix hash tuple bug.
- * compile.c (defined_expr): make the condition if the receiver
- is explicit or implicit cleaner. [fix GH-681]
+ * lib/rinda/tuplespace.rb: ditto.
-Fri Jul 25 03:53:52 2014 Eric Hodel <drbrain@segment7.net>
+ * test/rinda/test_rinda.rb
- * doc/keywords.rdoc: [DOC] Describe each keyword.
+Tue Apr 6 18:24:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Jul 24 22:40:24 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * io.c (rb_io_reopen): should use rb_io_check_io().
- * ext/win32ole/win32ole.c (Init_win32ole): add WIN32OLE_RECORD#initialize
- method.
+Tue Apr 6 16:46:09 2004 Tanaka Akira <akr@m17n.org>
- * ext/win32ole/win32ole.c (ole_val2variant): convert WIN32OLE_RECORD
- object to VT_RECORD variant.
+ * configure.in: check the size of time_t.
-Thu Jul 24 20:10:59 2014 Koichi Sasada <ko1@atdot.net>
+ * time.c (time_add): new function.
+ (time_plus): use time_add.
+ (time_minus): use time_add.
- * gc.c: fix major GC flags.
- * add GPR_FLAG_MAJOR_BY_FORCE, which indicates
- major GC by METHOD, CAPI and so on (see GC_BY).
- * remove GPR_FLAG_MAJOR_BY_RESCAN because not used.
- * remove GPR_FLAG_MAJOR_BY_STRESS, use FORCE instead.
+Tue Apr 6 13:21:30 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/ruby/test_gc.rb: catch up.
+ * ext/socket/socket.c (make_hostent): must return value.
-Thu Jul 24 15:55:02 2014 Naohisa Goto <ngotogenome@gmail.com>
+Tue Apr 6 00:05:30 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * include/ruby/io.h (struct rb_io_buffer_t): PACKED_STRUCT should not
- be used for platform-specific optimization. PACKED_STRUCT_UNALIGNED
- should be used. [ruby-core:63988] [Bug #10088]
+ * lib/rinda/rinda.rb: add require 'drb/drb'
-Thu Jul 24 04:42:13 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Apr 5 08:18:23 2004 Dave Thomas <dave@pragprog.com>
- * lib/benchmark.rb: split executable code into sample directory.
- * sample/benchmark.rb: ditto.
+ * lib/rdoc/rdoc.rb: Remove leading ./ from file names so that cross
+ references work properly.
-Thu Jul 24 04:36:49 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun Apr 4 20:33:42 2004 Minero Aoki <aamine@loveruby.net>
- * lib/tempfile.rb: split executable code into sample directory.
- * sample/tempfile.rb: ditto.
+ * eval.c (Init_load): make $LOADED_FEATURES built-in.
+ [ruby-dev:23299]
-Thu Jul 24 04:29:36 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ruby.c (ruby_prog_init): make $PROGRAM_NAME built-in.
- * lib/pstore.rb: split executable code into sample directory.
- * sample/pstore.rb: ditto.
+ * lib/English.rb: remove $LOADED_FEATURES and $PROGRAM_NAME.
-Wed Jul 23 23:50:11 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Apr 4 14:01:20 2004 Dave Thomas <dave@pragprog.com>
- * include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS):
- add PowerPC64 too, which is capable to access unaligned words.
- patched by Gustavo Frederico Temple Pedrosa in [ruby-core:63937].
- [Feature #10081]
+ * lib/rdoc/options.rb (Options::parse): Allow multiple -x options to RDoc.
+ Fix bug where files weren't being excluded properly
- * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto.
+Sat Apr 3 17:11:05 2004 why the lucky stiff <why@ruby-lang.org>
-Wed Jul 23 04:04:38 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/syck/syck.h: version 0.43.
- * lib/drb/extserv.rb: remove duplicate code with sample directory.
- contributed from @vipulnsward. [fix GH-679]
+ * ext/syck/lib/gram.c: allow root-level inline collections.
+ [ruby-talk:94922]
-Tue Jul 22 12:56:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/yaml/rubytypes.rb (Symbol#to_yaml): emit symbols as implicits.
+ [ruby-talk:94930]
- * 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/syck/bytecode.c: turn off default implicit typing.
-Tue Jul 22 01:48:38 2014 Eric Wong <e@80x24.org>
+ * ext/syck/implicit.c: detect base60 integers.
- * include/ruby/io.h (rb_io_buffer_t): fix packing on gcc
- r46892 caused packing to be a no-op on gcc (4.7.2-5, Debian)
- [Bug #10079][ruby-core:63912]
+ * ext/syck/rubyext.c: handle base60, as well as hex and octal
+ with commas. implicit typing of ruby symbols.
-Mon Jul 21 15:55:42 2014 fuji70 <fujifuji70@gmail.com>
+Fri Apr 2 17:27:17 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/optparse.rb (getopts): print default values and descriptions
- in the help message. [fix GH-676]
+ * 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]
-Sun Jul 20 14:26:27 2014 Eric Wong <e@80x24.org>
+Fri Apr 2 15:13:44 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm_core.h (rb_proc_t): reduce to 64 bytes from 72 on 64-bit
+ * 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]
-Sun Jul 20 13:50:34 2014 Eric Wong <e@80x24.org>
+Fri Apr 2 14:35:26 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * transcode.c (rb_econv_t): reduce to 184 bytes from 200 on 64-bit
+ * eval.c (block_pass): should generate unique identifier of the
+ pushing block. [ruby-talk:96363]
-Sun Jul 20 12:44:23 2014 Eric Wong <e@80x24.org>
+Fri Apr 2 07:31:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * include/ruby/io.h (rb_io_buffer_t): pack structure
- Reduces rb_io_t from 200 to 192 bytes, allowing rb_io_t to
- occupy one less cache line.
- [Feature #10050]
+ * ext/socket/socket.c (make_hostent): fix memory leak, based on
+ the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.
-Sun Jul 20 12:41:53 2014 Eric Wong <e@80x24.org>
+Thu Apr 1 22:55:33 2004 Dave Thomas <dave@pragprog.com>
- * include/ruby/io.h (rb_io_t): shrink to 200 bytes from 216 on 64-bit
- This puts us within 8 bytes of being three cache lines instead of
- four lines on x86-64. This breaks the ABI.
- [Feature #10050]
+ * lib/rdoc/parsers/parse_rb.rb: Allow rdoc comments in
+ =begin rdoc/=end
-Sun Jul 20 12:36:46 2014 Eric Wong <e@80x24.org>
+ * lib/rdoc/parsers/parse_rb.rb: Fix problem with comment in
+ top-level method being taken as file comment.
- * include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448
- bytes from 464 bytes on 64-bit. This breaks the ABI.
- [Feature #10034]
+Thu Apr 1 22:55:04 2004 Dave Thomas <dave@pragprog.com>
-Sun Jul 20 01:06:06 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/rdoc/ri/ri_options.rb: Fix undefined variable warning.
- * ext/openssl/ossl.c: use encryptor instead of encrypter in doc.
- contributed from @vipulnsward. [fix GH-663]
+Thu Apr 1 19:58:37 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun Jul 20 00:32:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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.
- * io.c (rb_io_initialize): [DOC] fix rdoc of append mode. it does
- not move the pointer at open. [ruby-core:63747] [Bug #10039]
+ * lib/xsd/datatypes.rb: check the smallest positive non-zero
+ single-precision float exactly instead of packing with "f".
+ [ruby-talk:88822]
-Sat Jul 19 12:40:50 2014 Nobuyoshi Nakada <nobu@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)
- * compile.c (iseq_compile_each): allow to access private attribute
- reader in op_assign. [ruby-core:63817] [Bug #10060]
+Wed Mar 31 19:06:23 2004 Tanaka Akira <akr@m17n.org>
-Sat Jul 19 11:56:36 2014 Grey Baker <greysteil@gmail.com>
+ * time.c (year_leap_p): new function.
+ (timegm_noleapsecond): ditto.
+ (search_time_t): use timegm_noleapsecond instead of
+ mktime for first guess.
- * lib/time.rb (Time#apply_offset): Guards against a `nil` return
- value from `Time.month_days` when offsetting date. Out of range
- values are then caught when `Time.utc` is called (as usual).
+Wed Mar 31 12:04:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Previously a `nil` return value from `Time.month_days` would
- have the `<` operator called on it, and raise `NoMethodError`.
- [fix GH-667]
+ * lib/delegate.rb (DelegateClass): define internal methods of the
+ result class, but not metaclass of the caller. [ruby-talk:96156]
- * lib/rdoc/parser/changelog.rb (RDoc#parse_entries): fix dirty hack.
+ * intern.h: provide proper prototypes. [ruby-core:02724]
-Sat Jul 19 06:19:01 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ruby.h: missing.h is now prerequisite to intern.h.
- * ext/win32ole/win32ole.c: refactoring.
+Tue Mar 30 20:25:34 2004 Tanaka Akira <akr@m17n.org>
-Fri Jul 18 22:34:41 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * time.c (search_time_t): limit guess range by mktime if it is
+ available. [ruby-dev:23274]
- * ext/win32ole/win32ole.c (folevariant_initialize): WIN32OLE_VARIANT
- does not support VT_RECORD. VT_RECORD should be supported in
- WIN32OLE_RECORD.
+Sun Mar 28 14:16:59 2004 Minero Aoki <aamine@loveruby.net>
- * test/win32ole/test_win32ole_variant.rb (test_s_new_vt_record_exc):
- ditto.
+ * lib/net/pop.rb (auth): failed when account/password include "%".
+ [ruby-talk:95933]
-Fri Jul 18 19:54:03 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Sat Mar 27 21:40:41 2004 Tanaka Akira <akr@m17n.org>
- * ext/win32ole/win32ole.c (folevariant_initialize): remove unnecessary
- code.
+ * lib/open-uri.rb: permit extra semicolon in content-type field.
-Fri Jul 18 19:11:03 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Sat Mar 27 10:40:48 2004 Tanaka Akira <akr@m17n.org>
- * lib/matrix/eigenvalue_decomposition: Style fix
- Patch by Gogo Tanaka [#10058]
+ * (lib/pp.rb, lib/prettyprint.rb): define seplist in PP::PPMethods
+ instead of PrettyPrint.
-Fri Jul 18 19:03:53 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Thu Mar 25 23:28:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/matrix.rb: Avoid using `and`.
- Patch by gogo tanaka [#10058]
+ * time.c (time_overflow_p): backport 1.9 usec overflow function.
+ (ruby-bugs PR#1307)
-Fri Jul 18 17:41:54 2014 GoGo tanaka <qlli.illb@gmail.com>
+Thu Mar 25 23:15:24 2004 Dave Thomas <dave@pragprog.com>
- * test/matrix/test_matrix.rb: Add tests for Matrix class.
- [Feature #10057][ruby-core:63809]
+ * lib/rdoc/ri/ri_options.rb (RI::Options::show_version):
+ Add --version option
-Fri Jul 18 10:14:42 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Mar 25 04:16:18 2004 Dave Thomas <dave@pragprog.com>
- * lib/fileutils.rb: added missing options of FileUtils.touch by @Domon.
- [fix GH-669]
+ * lib/rdoc/ri/ri_options.rb (RI::Options): Add the --list-names option,
+ which dumps our all known names
-Thu Jul 17 19:57:27 2014 Herwin <herwin@quarantainenet.nl>
+Thu Mar 25 03:57:47 2004 Dave Thomas <dave@pragprog.com>
- * ext/thread/thread.c (rb_szqueue_push): add optional parameter,
- non_block defaulted to false. [ruby-core:63794] [Feature #10052]
+ * lib/rdoc/ri/ri_util.rb (NameDescriptor::initialize): No longer
+ allow nested classes to be designated using "."--you must
+ now use "::"
-Wed Jul 16 23:01:43 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu Mar 25 02:00:18 2004 Dave Thomas <dave@pragprog.com>
- * ext/win32ole/win32ole.c (ole_variant2val): support array of
- VT_RECORD variant.
+ * lib/rdoc/generators/template/html/one_page_html.rb (Page):
+ Fix to work with C modules.
-Wed Jul 16 20:21:49 2014 Naohisa Goto <ngotogenome@gmail.com>
+Wed Mar 24 21:17:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * vm_core.h (struct rb_iseq_struct): stack_max is changed to int
- because all calculations related to stack_max in compile.c
- (iseq_set_sequence) and vm_insnhelper.c (vm_push_frame) are
- conducted by using int. This partly reverts r23945.
- * vm_insnhelper.c (vm_push_frame): ditto. This reverts r42401.
+ * 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)
-Wed Jul 16 19:55:32 2014 Naohisa Goto <ngotogenome@gmail.com>
+Wed Mar 24 18:48:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_core.h (struct rb_iseq_struct): temporal workaround of [Bug 10037].
- Add padding on big-endian 64-bit architecture (e.g. sparc64).
+ * lib/mkmf.rb ($ruby, $topdir, $hdrdir): should not be affected by
+ DESTDIR after installed.
-Wed Jul 16 19:32:23 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * lib/mkmf.rb (RUBY): / is not recognized as path separator on
+ nmake/bmake. [ruby-list:39388]
- * ext/win32ole/win32ole.c (fole_record_method_missing): call
- rb_hash_fetch instead of rb_hash_aref.
+ * lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.
-Wed Jul 16 18:08:47 2014 Koichi Sasada <ko1@atdot.net>
+Wed Mar 24 12:32:56 2004 Dave Thomas <dave@pragprog.com>
- * iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of
- marking from vm_mark().
+ * 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.
- * vm.c (rb_vm_mark): ditto.
+ * 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.
-Wed Jul 16 18:03:50 2014 Koichi Sasada <ko1@atdot.net>
+Wed Mar 24 11:11:26 2004 Dave Thomas <dave@pragprog.com>
- * gc.c (gc_mark_roots): call rb_vm_mark directly.
+ * lib/rdoc/generators/html_generator.rb (Generators::HTMLGenerator::load_html_template):
+ Allow non-RDoc templates by putting a slash in the template name
- * vm.c: remove mark function for RubyVM object because
- RubyVM object marked manually.
+Mon Mar 22 16:19:57 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Wed Jul 16 12:25:39 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ruby.1: add -width option to .Bl for old groff.
- * regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09.
- this includes Support for Unicode 7.0 [Bug #9092].
+Sun Mar 21 21:11:16 2004 Keiju Ishitsuka <keiju@ishitsuka.com>
-Tue Jul 15 23:59:27 2014 Jared Jennings <jared.jennings.ctr@us.af.mil>
+ * lib/shell/*: bug fix for Shell#system(command_line_string).
- * ext/digest: make built-in digest function implementations
- indicate success or failure of init and final functions.
- [ruby-core:61614] [Bug #9659]
+Sat Mar 20 20:57:10 2004 David Black <dblack@wobblini.net>
- * ext/digest/digest.c: expect digest init and finish functions to
- indicate success or failure; raise exception on failure.
- [ruby-core:61614] [Bug #9659]
+ * lib/scanf.rb: Backported 1.9 branch
+ modifications/corrections to 1.8 branch
-Tue Jul 15 20:31:40 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Sat Mar 20 23:51:03 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD.
+ * eval.c (rb_require_safe): preserve old ruby_errinfo.
+ [ruby-talk:95409]
-Tue Jul 15 12:42:23 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (rb_f_raise): should not clear backtrace information if
+ exception object already have one.
- * defs/default_gems: change version definition file of rake.
+Sat Mar 20 15:25:36 2004 Dave Thomas <dave@pragprog.com>
-Tue Jul 15 12:00:03 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Force
+ page background to white.
- * lib/rake.rb, lib/rake/*.rb: Upgrade to rake-10.3.2
- [fix GH-668]
- * test/rake/*.rb: ditto.
+Sat Mar 20 09:52:33 2004 Tadayoshi Funaba <tadf@dotrb.org>
-Mon Jul 14 19:14:51 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * lib/date.rb, lib/date/format.rb: _parse() now accepts fractional
+ part of second minute that follows a comma or a full stop.
- * ext/win32ole/win32ole.c: modify WIN32OLE class document and
- add comment for constants of WIN32OLE.
+Fri Mar 19 01:55:57 2004 Mauricio Fernandez <batsman.geo@yahoo.com>
-Mon Jul 14 16:38:45 2014 Eric Wong <e@80x24.org>
+ * io.c (rb_io_sync): need not to check writable. [ruby-core:02674]
- * vm_core.h (struct rb_iseq_struct): reduce to 288 bytes
- on x86-64 (from 296 bytes)
+Thu Mar 18 21:44:38 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Mon Jul 14 16:07:25 2014 Eric Wong <e@80x24.org>
+ * lib/drb/drb.rb: backport drb.rb 1.16.
- * iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes
- on x86-64 (from 48 bytes)
+Fri Mar 18 17:49:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jul 14 16:04:41 2014 Eric Wong <e@80x24.org>
+ * struct.c (make_struct): allow const_id for accessor names.
+ [ruby-core:04585]
- * iseq.h (struct iseq_catch_table): new flexible array struct
- (iseq_catch_table_bytes): allocated size function
- * vm_core.h (struct rb_iseq_struct): update catch_table member
- This reduces the struct from 304 to 296 bytes on x86-64.
- * compile.c (iseq_set_exception_table): update for struct changes
- * iseq.c (iseq_free): ditto
- * iseq.c (iseq_memsize): ditto
- * iseq.c (rb_iseq_disasm): ditto
- * iseq.c (iseq_data_to_ary): ditto
- * iseq.c (rb_iseq_build_for_ruby2cext): ditto (untested)
- * vm.c (vm_exec): ditto
- * vm_core.h (struct rb_iseq_struct): ditto
- * vm_insnhelper.c (vm_throw): ditto
+ * eval.c (rb_attr): check if attribute name is local_id or
+ const_id.
-Sun Jul 13 17:49:52 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Mar 18 16:22:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/openssl/ossl_cipher.c: Fix call to ciphers class method and
- spell out `encryption` by @vipulnsward [fix GH-664]
+ * eval.c (proc_eq): avoid false positive by using scope and
+ dyna_vars. no longer use frame.uniq.
-Sun Jul 13 17:31:51 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Mar 17 14:44:43 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/gdbm/gdbm.c: fix wrong arguments in GetDBM2 macro.
- * ext/sdbm/init.c: ditto.
+ * dir.c (range): fix possible "\0" overrun. (in case of "\0-")
+
+Mon Mar 15 07:39:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jul 13 17:25:50 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (rb_yield_0): should not re-submit TAG_BREAK if this
+ yield is not break destination. [ruby-dev:23197]
- * ext/dbm/dbm.c: fix wrong arguments in GetDBM2 macro by @v2e4lisp.
- [fix GH-655]
+Sat Mar 13 14:28:16 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sun Jul 13 16:44:56 2014 Eric Wong <e@80x24.org>
+ * test/drb/test_drbssl.rb: rescue LoadError. (Barkport from main
+ trunk)
- * vm_core.h (struct rb_call_info_struct): improve packing
- This reduces the struct from 112 to 104 bytes on x86-64.
+ * test/drb/test_drbunix.rb: ditto.
-Sun Jul 13 15:53:25 2014 Eric Wong <e@80x24.org>
+Wed Mar 10 22:28:09 2004 Minero Aoki <aamine@loveruby.net>
- * vm_core.h (struct rb_iseq_struct): stack_max is uint32_t
- This reduces the struct from 312 to 304 bytes on x86-64.
+ * lib/fileutils.rb (remove_dir): should handle symlink correctly.
+ This patch is contributed by Christian Loew. [ruby-talk:94635]
+ (Backport from main trunk)
-Sun Jul 13 10:56:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Mar 10 16:28:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in (rb_cv_broken_backtrace): exit with failure
- normally, no needs to abort. [ruby-core:63678] [Bug #10008]
+ * eval.c (return_jump): set return value to the return
+ destination. separated from localjump_destination().
-Sat Jul 12 15:10:22 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * eval.c (break_jump): break innermost loop (or thread or proc).
- * ext/win32ole/win32ole.c (fole_record_method_missing): correct
- fields Hash key.
+ * eval.c (rb_yield_0): set exit_value for block break.
-Sat Jul 12 04:17:40 2014 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+Wed Mar 10 15:58:43 2004 Ryan Davis <ryand@zenspider.com>
- * lib/net/smtp.rb (Net::SMTP#data): enable buffering while
- 'data' send for optimizing Net::SMTP#send_message.
- [ruby-dev:48329] [misc #9981]
- patch by Masahiro Tomita.
+ * eval.c (eval): Only print backtrace if generating the backtrace
+ doesn't generate an exception. [ruby-core:02621]
-Sat Jul 12 01:13:45 2014 Naohisa Goto <ngotogenome@gmail.com>
+Tue Mar 9 13:04:26 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later,
- if possible, execute child ruby with environment variables
- LD_PRELOAD=libumem.so UMEM_OPTIONS="backend=mmap". With these
- variables, freed memory is immediately returned to the OS.
- [Bug #10020] [ruby-dev:48391]
+ * io.c (rb_io_ungetc): raise IOError instead of calling
+ rb_sys_fail(). [ruby-talk:23181]
-Fri Jul 11 20:49:10 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Mon Mar 8 19:32:28 2004 akira yamada <akira@ruby-lang.org>
- * ext/win32ole/win32ole.c: add WIN32OLE_RECORD class to support
- VT_RECORD OLE variables.
+ * lib/uri/common.rb (URI::REGEXP::PATTERN::HOSTPORT): (?:#{PORT})
+ -> (?::#{PORT}). [ruby-dev:23170]
-Fri Jul 11 17:15:08 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Mar 8 15:31:41 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * lib/abbrev.rb: remove executable.
+ * dir.c (range): treat incomplete '[' as ordinary character (like
+ has_magic does).
-Fri Jul 11 16:45:39 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * dir.c (range): Cancel above change. More discussion is needed.
- * lib/fileutils.rb: handle ENOENT error with symlink targeted to
- non-exists file. [ruby-dev:45933] [Bug #6716]
+Sun Mar 7 22:37:46 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Jul 11 15:59:42 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/drb/ut_drb.rb: use 'druby://localhost:0'. [ruby-dev:23078]
- * array.c: Clarify documentation for Array#insert.
- [ruby-core:62934] [Bug #9901]
+ * test/drb/ut_eval.rb: ditto.
-Fri Jul 11 15:39:36 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/drb/ut_large.rb: ditto.
- * io.c: Improve Documentation by @dapplebeforedawn.
- [fix GH-658] [ruby-core:63579] [Bug #10012]
+ * test/drb/ut_safe1.rb: ditto.
-Fri Jul 11 14:19:14 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * test/drb/ut_drb_drbssl.rb: use 'drbssl://localhost:0'.
- * lib/matrix.rb: Fix sign for cross_product [#9499]
+Sun Mar 7 16:22:26 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Jul 11 11:11:50 2014 Koichi Sasada <ko1@atdot.net>
+ * Makefile.in (lex.c): use $? instead of $<.
- * benchmark/prepare_so_k_nucleotide.rb: use require_relative.
+Fri Mar 5 00:54:14 2004 Dave Thomas <dave@pragprog.com>
- * benchmark/prepare_so_reverse_complement.rb: ditto.
+ * lib/test/unit.rb: MOve RDoc documentation so that you can
+ now say 'ri Test::Unit'
-Fri Jul 11 10:09:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Mar 2 12:32:59 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * pack.c (encodes): fix buffer overrun by tail_lf. Thanks to
- Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019]
+ * win32/Makefile.sub, wince/Makefile.sub (config.h): shouldn't check
+ defined? NORETURN. [ruby-dev:23100]
-Thu Jul 10 23:51:36 2014 Naohisa Goto <ngotogenome@gmail.com>
+Mon Mar 1 12:24:10 2004 Dave Thomas <dave@pragprog.com>
- * hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9.
- When name contains '=', ruby_setenv raises Errno::EINVAL.
- That is the same behavior as Solaris 10.
- NULL check for malloc return value is also added.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_alias):
+ Allow aliases to have parentheses
-Thu Jul 10 15:02:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 29 23:14:53 2004 Dave Thomas <dave@pragprog.com>
- * 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]
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):
+ Handle :nodoc: on singleton classes.
-Thu Jul 10 01:09:57 2014 Koichi Sasada <ko1@atdot.net>
+Sat Feb 28 10:58:49 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * symbol.c: remove rb_gc_mark_symbols().
+ * MANIFEST: add test_erb.rb
- fstrings referred by static symbols and pinned dynamic symbols
- are registered by rb_gc_register_mark_object().
+ * lib/erb.rb, test/erb/test_erb.rb: don't forget filename,
+ if both filename and safe_level given. [ruby-dev:23050]
- fstrings referred by dynamic symbols (not pinned symbols)
- are referred from global_symbols.dsymbol_fstr_hash (Hash object).
+Fri Feb 27 01:00:09 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- Note that fstrings referred from dynamic symbols must live logger
- than symbol objects themselves because rb_gc_free_dsymbol() uses
- fstrings to remove from symbol tables.
- This is why we can not mark fstrings from dynamic symbols.
+ * lib/drb/drb.rb, test/drb/drbtest.rb: require drb/eq.rb by default
- This technique reduces root objects for GC marking.
+Wed Feb 25 21:16:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_mark_roots): ditto.
+ * instruby.rb (with_destdir): should return the given argument if no
+ DESTDIR is given.
- * internal.h: ditto.
+ * instruby.rb: use path name expansion of cmd.exe.
-Thu Jul 10 00:24:18 2014 Naohisa Goto <ngotogenome@gmail.com>
+Wed Feb 25 09:35:22 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solaris
- introduced in r46768. Object files containing dtrace probes should
- be listed in DTRACE_DEPENDENT_OBJS.
+ * error.c (NameError::Message): new class for lazy evaluation of
+ message to ensure replaced before marshalling. merge from HEAD.
+ (ruby-bugs-ja:PR#588)
-Wed Jul 9 17:07:28 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_method_missing): use NameError::Message. merge from
+ HEAD. (ruby-bugs-ja:PR#588)
- * symbol.c, symbol.h: Symbol class implementation and internals,
- split from parse.y.
+Tue Feb 24 18:59:37 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Wed Jul 9 14:45:39 2014 Koichi Sasada <ko1@atdot.net>
+ * dir.c (glob_helper): '**/' should not match leading period
+ unless File::FNM_DOTMATCH is set. (like '*/') [ruby-dev:23014]
- * parse.y: change Symbol <-> ID relationship to avoid
- exposing IDs from collectable symbols.
- [Bug #10014]
+Tue Feb 24 13:22:21 2004 Dave Thomas <dave@pragprog.com>
- Now, rb_check_id() returns 0 if corresponding symbol is
- pinned dynamic symbol.
+ * 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.
- There is remaining intern_cstr_without_pindown(), it can return
- IDs from collectable symbols. We must be careful to use it
- (only used in parse.y). I think it should be removed if
- it does not have impact for performance.
+Tue Feb 24 07:23:30 2004 Dave Thomas <dave@pragprog.com>
- * parse.y:
- add:
- * STATIC_SYM2ID()
- * STATIC_ID2SYM()
- rename:
- * rb_pin_dynamic_symbol() -> dsymbol_pindown()
+ * 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).
- * internal.h:
- remove:
- * rb_check_id_without_pindown()
- * rb_sym2id_without_pindown()
- add:
- * rb_check_symbol()
- * rb_check_symbol_cstr()
+Tue Feb 24 06:40:14 2004 Dave Thomas <dave@pragprog.com>
- * load.c: use rb_check_id() or rb_check_id_cstr().
+ * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle
+ class variables in code listings
- * object.c: ditto.
+Tue Feb 24 06:40:14 2004 Dave Thomas <dave@pragprog.com>
- * struct.c: ditto.
+ * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle
+ class variables in code listings
- * thread.c: ditto.
+Tue Feb 24 06:32:27 2004 Dave Thomas <dave@pragprog.com>
- * vm_method.c: ditto.
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_aliases): Handle
+ aliases in C files.
- * string.c (sym_find): use only rb_check_symbol().
+Tue Feb 24 06:16:22 2004 Dave Thomas <dave@pragprog.com>
- * sprintf.c (rb_str_format): use rb_check_symbol_cstr().
+ * lib/rdoc/rdoc.rb (RDoc::RDoc::document): Now create op dir _before_
+ parsing files.
-Wed Jul 9 12:21:55 2014 Koichi Sasada <ko1@atdot.net>
+Tue Feb 24 06:08:47 2004 Dave Thomas <dave@pragprog.com>
- * parse.y (symbols_i): delete garbage symbols for Symbol.all_symbols.
+ * 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 '='
-Wed Jul 9 05:49:08 2014 Eric Wong <e@80x24.org>
+Tue Feb 24 06:08:25 2004 Dave Thomas <dave@pragprog.com>
- * thread_pthread.h (struct rb_global_vm_lock_struct):
- do not expose pthread type for lock
+ * lib/rdoc/generators/html_generator.rb: Escape contant values.
-Wed Jul 9 05:41:40 2014 Eric Wong <e@80x24.org>
+Tue Feb 24 03:45:06 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * thread_pthread.h: remove unneeded semaphore.h include
+ * ext/openssl/ossl_config.c (ossl_config_each): add new method
+ OpenSSL::Config#each. it iterates with section name, field name
+ and value.
-Wed Jul 9 00:12:28 2014 Keiju Ishitsuka <keiju@ishitsuka.com>
+ * ext/openssl/ossl_config.c (Init_ossl_config): include Enumerable.
- * lib/irb/ruby-lex.rb: fix counting indent in identify_string_dvar.
+Mon Feb 23 09:16:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 8 16:58:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * instruby.rb (DOSISH): embedded path in batch files should not be
+ prefixed by DESTDIR. [ruby-core:02186]
- * test/ruby/memory_status.rb (Memory::PSCMD): use ps command which
- outputs expected result. [ruby-dev:48370] [Bug #10010]
+Sun Feb 22 09:54:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Tue Jul 8 14:45:17 2014 Koichi Sasada <ko1@atdot.net>
+ * re.c: corrected documentation format (again)
- * parse.y (dsymbol_alloc): set global_symbols.minor_marked to 0.
+Sun Feb 22 09:43:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * parse.y (dsymbol_check): set RSYMBOL(sym)->fstr to 0
- because we should not touch fstr after that.
+ * re.c: corrected documentation format (rb_reg_initialize_m)
- * parse.y (rb_gc_free_dsymbol): skip deleting str and sym
- from tables if fstr == 0.
+Sat Feb 21 22:36:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Mon Jul 7 14:31:52 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/zlib/zlib.c: documented, but needs more effort.
- * parse.y: remove global_symbols::pinned_dsym
- (and ::pinned_dsym_minor_marked).
+Sat Feb 21 11:12:15 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Mark pinned dsymbols by rb_gc_register_mark_object() because
- they are immortal.
+ * missing/os2.c, missing/x68.c: typo fix. pointed out by greentea.
- * parse.y (rb_gc_free_dsymbol): rename parameter name `ptr' to `sym'.
+Fri Feb 20 18:59:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jul 7 12:45:51 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/irb/init.rb (IRB::IRB.parse_opts): add -I option to
+ irb. [ruby-dev:39243]
- * gc.c: revert miss-commit.
+Thu Feb 19 23:24:16 2004 Dave Thomas <dave@pragprog.com>
-Mon Jul 7 12:40:59 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):
+ Support visibility modifiers for attributes
- * parse.y: need to use updated (re-created) symbols.
+Thu Feb 19 23:24:16 2004 Dave Thomas <dave@pragprog.com>
-Mon Jul 7 11:02:55 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):
+ Support visibility modifiers for attributes
- * tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb.
+Thu Feb 19 22:39:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/rbconfig/obsolete.rb: removed.
+ * test/rinda/test_rinda.rb: DRb.start_service only once in testsuites.
+ DRb.start_service could handle this.
-Mon Jul 7 10:52:03 2014 Koichi Sasada <ko1@atdot.net>
+Thu Feb 19 22:19:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * parse.y: do not use rb_gc_resurrect(), but create a new dynamic
- symbol for garbage dynamic symbol.
+ * lib/ostruct.rb: documented
- * common.mk: use gc.h by parse.y.
+Thu Feb 19 21:28:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Mon Jul 7 02:18:42 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/strscan/strscan.c: improved documentation
- * string.c (fstr_update_callback): do not use rb_gc_resurrect()
- any more.
+Thu Feb 19 03:10:52 2004 Minero Aoki <aamine@loveruby.net>
- Make new frozen string and replace with garbage frozen string.
+ * ext/strscan/strscan.c: synchronized with main trunk (rev 1.11).
- * common.mk: use gc.h from string.c.
+Thu Feb 19 02:30:34 2004 Minero Aoki <aamine@loveruby.net>
-Mon Jul 7 00:36:13 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/strscan/strscan.c: documentation checked.
- * gc.c: rename is_dying_object() to is_garbage_object().
+Thu Feb 19 00:11:05 2004 Dave Thomas <dave@pragprog.com>
- * gc.h: rb_objspace_garbage_object_p() as an exported function.
+ * lib/rdoc/markup/simple_markup/preprocess.rb (SM::PreProcess::handle):
+ Strip extraneous space from filenames in :include:
-Sun Jul 6 21:30:35 2014 Koichi Sasada <ko1@atdot.net>
+Wed Feb 18 22:52:00 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * gc.c (is_dying_object): fix missed condition.
+ * lib/drb/unix.rb: remove O_NONBLOCK, thanks \ay
- * gc.c (is_live_object): move frequent path first.
+Wed Feb 18 22:47:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-Sun Jul 6 21:00:11 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/strscan/strscan.c: documented
- * gc.c: rename is_dead_object() to is_dying_object().
- This function is not opposite against is_live_object()
- because is_dying_object() does *not* check object type.
+Wed Feb 18 22:03:11 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c (is_dying_object): change condition.
+ * test/*: should not depend on $KCODE.
- * gc.c (is_live_object): use T_NONE instead of 0.
+Wed Feb 18 17:18:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * gc.c (rb_objspace_dying_object_p): added.
+ * ext/win32ole/win32ole.c: need to include <olectl.h> on Cygwin.
-Sun Jul 6 13:37:27 2014 Koichi Sasada <ko1@atdot.net>
+Wed Feb 18 10:40:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (rb_gc_register_mark_object): change data structure.
- From single array, to array of arrays. Each array only has 1024
- entries.
+ * sprintf.c (rb_f_sprintf): do not prepend dots for negative
+ numbers if FZERO is specified. [ruby-dev:39218]
- * vm.c (Init_vm_objects): change default capa from 1 to 128.
+Tue Feb 17 23:40:34 2004 Guy Decoux <ts@moulon.inra.fr>
-Sat Jul 5 05:05:53 2014 Vipul A M <vipulnsward@gmail.com>
+ * sprintf.c (rb_f_sprintf): preserve original val for
+ format_integer. [ruby-talk:92975]
- * lib/irb/locale.rb (IRB::Locale#modifier): fix wrong attr_reader
- `modifieer` => `modifier` from irb locale. [fix GH-656]
+Tue Feb 17 23:28:45 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Jul 4 20:45:26 2014 Koichi Sasada <ko1@atdot.net>
+ * test/ruby/marshaltestlib.rb: common marshal testcase added.
- * parse.y: rename symbols::sym_id to symbols::str_id.
- This table is not {Symbol => ID} table, but
- {String => ID} table.
+ * test/ruby/test_marshal.rb: use above testsuite.
- * parse.y (lookup_sym_id): also rename lookup_sym_id() to
- lookup_str_id() because key is not Symbol, but String.
+ * test/soap/marshal/test_marshal.rb: ditto.
-Fri Jul 4 18:42:04 2014 Koichi Sasada <ko1@atdot.net>
+ * test/soap/marshal/cmarshal.rb: removed (not used).
- * parse.y (must_be_dynamic_symbol): fix missed-condition.
+Tue Feb 17 10:51:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Jul 4 18:38:11 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/rubyext.c (syck_emitter_end_object): takes only one arg.
- * parse.y (rb_pin_dynamic_symbol): should be `static' function.
+Tue Feb 17 01:35:28 2004 Tanaka Akira <akr@m17n.org>
-Fri Jul 4 18:03:35 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_eval): care that another thread replace NODE_DREGX_ONCE
+ to NODE_LIT. [ruby-dev:22920]
- * parse.y (must_be_dynamic_symbol): refactoring.
- * add `inline'.
- * use UNLIKELY().
- * check only DYNAMIC_SYM_P(), otherwise it is a bug.
- * lookup_id_str() is not needed in second condition.
+Tue Feb 17 01:24:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jul 4 11:53:56 2014 Koichi Sasada <ko1@atdot.net>
+ * bcc32/Makefile.sub, win32/Makefile.sub (config.h): define
+ STACK_GROW_DIRECTION. [ruby-dev:22910]
- * parse.y: remove unused code
- surrounded by `#if ENABLE_SELECTOR_NAMESPACE'
+ * bcc32/Makefile.sub (config.h): add newer checks.
-Fri Jul 4 10:08:24 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * wince/Makefile.sub (config.h): define NEED_IO_SEEK_BETWEEN_RW.
- * test/rubygems/test_gem_package.rb: avoid tempfile leaks using Tempfile#close!
- * test/rubygems/test_gem_request_set.rb: ditto.
- * test/rubygems/test_gem_request_set_gem_dependency_api.rb: ditto.
+Tue Feb 17 00:38:10 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Jul 4 04:42:05 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/rinda/tuplespace.rb: TupleSpace#initialize, stop doubling timeout
- * lib/net/http/response.rb (Net::Inflater#inflate_adapter):
- prevent automatic encoding conversion.
+Tue Feb 17 00:18:03 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Jul 4 04:39:52 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/rinda/test_rinda.rb: import test_rinda.rb
- * lib/net/http/response.rb (Net::HTTPResponse.each_response_header):
- raise first exception even if inflate_body_io.finish raises error.
- when begin block raises error, finish usually raises error too.
+Tue Feb 17 00:14:30 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Fri Jul 4 02:56:04 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * bcc32/Makefile.sub: avoid warning "Redefinition of macro
+ 'HAVE_GETLOGIN'".
- * lib/uri/generic.rb (URI::Generic#query=): remove validation, just
- escape. [Feature #2542]
+ * vms/config.h_in: ditto.
- * lib/uri/generic.rb (URI::Generic#fragment=): ditto.
+Mon Feb 16 23:28:14 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/uri/generic.rb (URI::Generic#check_query): removed.
+ * lib/csv.rb: document reduction. [ruby-core:02429]
- * lib/uri/generic.rb (URI::Generic#set_query): ditto.
+Mon Feb 16 22:08:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * lib/uri/generic.rb (URI::Generic#check_fragment): ditto.
+ * lib/generator.rb: corrected doc format
+ * lib/rinda/rinda.rb: added documentation (from Hugh Sasse)
+ * lib/rinda/tuplespace.rb: ditto
- * lib/uri/generic.rb (URI::Generic#set_fragment): ditto.
+Mon Feb 16 20:41:32 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-Thu Jul 3 12:40:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bcc32/Makefile.sub: show more warnings. (refering to mingw)
- * configure.in (--with-static-linked-ext): fix for extensions to
- be linked statically.
+ * bcc32/setup.mak: ditto.
- * Makefile.in, common.mk: use ENCSTATIC for enc directory.
+Mon Feb 16 13:39:44 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/extmk.rb: supply dependencies of statically linked extension
- libraries.
+ * dir.c (rb_glob, rb_globi): add const.
-Wed Jul 2 15:45:49 2014 Koichi Sasada <ko1@atdot.net>
+ * ruby.h: ditto.
- * gc.c (gc_heap_lazy_sweep): simplify logic.
+Mon Feb 16 02:16:33 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * gc.c (gc_page_sweep): return TRUE if empty slots are available.
+ * bcc32/Makefile.sub: should warn suspicious pointer conversion.
-Wed Jul 2 09:48:42 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * bcc32/setup.mak: ditto.
- * logger.rb: removed unmaintained code.
- [Feature #9860][ruby-core:62724]
- * test/logger/test_application.rb: ditto.
+Sun Feb 15 19:06:42 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed Jul 2 03:20:00 2014 Charlie Somerville <charliesome@ruby-lang.org>
+ * lib/rinda/tuplespace.rb: TupleSpace#read(tpl, 0), raise
+ RequestExpiredError if not found.
- * node.c (dump_node): handle nd_value == (NODE *)-1 to mean this
- keyword argument is required
+Sun Feb 15 15:56:46 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Wed Jul 2 02:57:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/win32ole/win32ole.c: add IDispatch wrapper in val2variant.
+ Thanks, arton.
- * vm.c (rb_vm_env_local_variables): returns array of local
- variable name symbols in the environment by envval.
+Sun Feb 15 01:46:05 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * proc.c (bind_local_variables): use rb_vm_env_local_variables.
+ * lib/mkmf.rb: absolute path of ruby is assigned to $(RUBY).
+ [ruby-dev:22870]
-Wed Jul 2 02:23:52 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Feb 14 11:29:41 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * proc.c (bind_receiver): new method to return the bound receiver
- of the binding object. [ruby-dev:47613] [Feature #8779]
+ * sample/drb/*: import lib/drb/sample
-Wed Jul 2 02:14:37 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Feb 14 11:08:23 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * proc.c (bind_local_variables): update env from envval for each
- iterations. [ruby-dev:48351] [Bug #10001]
+ * lib/drb/drb.rb: add pretty_print, thanks gotoken.
-Tue Jul 1 23:46:34 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Feb 13 12:35:08 2004 Minero Aoki <aamine@loveruby.net>
- * NEWS: [DOC] mention about Binding#local_variables, introduced at
- r44392 (see [Feature #8773]).
+ * test/fileutils/test_fileutils.rb: File.link may raise EINVAL and
+ EACCES on Windows.
-Tue Jul 1 23:30:51 2014 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
+Thu Feb 12 21:45:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * numeric.c (num_step_scan_args): table argument of rb_get_kwargs() is
- array of IDs, not Symbols. [ruby-dev:48353] [Bug #9811]
+ * lib/ftools.rb: documented
-Tue Jul 1 16:18:22 2014 Akinori MUSHA <knu@iDaemons.org>
+Thu Feb 12 21:25:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * ext/digest/lib/digest/hmac.rb, test/digest/test_digest_hmac.rb:
- Digest::HMAC is finally removed as previously noticed.
- [fix GH-648]
+ * lib/base64.rb: backported from HEAD (modularised and documented)
-Tue Jul 1 11:13:43 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Feb 12 20:31:48 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/date/lib/date/format.rb: removed empty file by @vipulnsward.
- * ext/date/lib/date.rb: removed needless require.
- [fix GH-647]
+ * lib/mkmf.rb (create_tmpsrc): cpp32 of Borland C++ ignores #error
+ directives in DOS line-ending files at all.
-Mon Jun 30 16:42:52 2014 Koichi Sasada <ko1@atdot.net>
+Thu Feb 12 02:23:56 2004 Tanaka Akira <akr@m17n.org>
- * gc.c (gc_stat_internal): return size_t value instead of VALUE
- and remove `out' parameter.
+ * lib/pathname.rb: use assert_raise instead of assert_raises.
- * gc.c: add braces for `if' statements.
+ * lib/pp.rb: ditto.
- * gc.c (gc_stat_internal): fix comment.
+ * lib/time.rb: ditto.
-Mon Jun 30 15:07:34 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/tsort.rb: ditto.
+ use TSortHash and TSortArray instead of Hash and Array in test.
- * gc.c: support `USE_RGENGC == 0'.
+Wed Feb 11 20:01:12 2004 akira yamada <akira@ruby-lang.org>
- * test/ruby/test_gc.rb: ditto.
+ * test/ruby/test_file.rb (TestFile::test_fnmatch): added tests for
+ File.fnmatch. [ruby-dev:22815][ruby-dev:22819]
-Mon Jun 30 11:36:04 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/ruby/test_proc.rb (TestProc::test_eq): added a
+ test. [ruby-dev:22599]
- * file.c: [DOC] document File.join returns a string.
- Contributed by @dapplebeforedawn. [fix GH-646]
+ * test/ruby/test_proc.rb (TestProc::test_eq): added tests for
+ Proc#==. [ruby-dev:22592], [ruby-dev:22601]
-Sat Jun 28 22:57:01 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Feb 10 16:43:56 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/pathname/pathname.c (path_birthtime): Windows support.
- see [Feature #9857] [ruby-dev:48339]
+ * eval.c (umethod_bind): purge unused check. [ruby-dev:22850]
-Sat Jun 28 22:44:16 2014 Tanaka Akira <akr@fsij.org>
+Mon Feb 9 17:16:00 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/pathname/pathname.c (path_birthtime): New method,
- Pathname#birthtime.
- Proposed by Kazuhiro NISHIYAMA. [ruby-dev:48232] [Feature #9857]
+ * lib/rdoc/parsers/parse_c.rb: escape '{' and '}' to avoid warnings.
-Sat Jun 28 20:29:03 2014 Simon Baird <simon.baird@gmail.com>
+Mon Feb 9 13:00:55 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
- * ext/bigdecimal/lib/bigdecimal/math.rb (BigMath#PI): change error
- message about zero or negative precision for clarity and
- consistency with other methods. [GH-644]
+ * dir.c (fnmatch): File.fnmatch('*?', 'a') should return true.
+ [ruby-dev:22815]
-Sat Jun 28 15:32:57 2014 Tanaka Akira <akr@fsij.org>
+ * dir.c (fnmatch): File.fnmatch('\[1\]' , '[1]') should return true.
+ [ruby-dev:22819]
- * lib/webrick/utils.rb (create_listeners): Close socket objects.
+Sun Feb 8 16:46:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jun 28 13:58:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/pp.rb (PP::PPMethods::object_address_group): suppress negative
+ sign for higher heap areas.
- * eval.c (setup_exception): should not overwrite SystemStackError
- backtrace if set already. [ruby-core:63377] [Feature #6216]
+Fri Feb 6 22:48:16 2004 Dave Thomas <dave@pragprog.com>
- * eval.c (setup_exception): get rid of method calls before raising
- stack overflow, not to cause stack overflow again.
+ * lib/rdoc/generators/html_generator.rb (gen_url): Support
+ https in RDoc hyperlinks
- * defs/id.def: add IDs for backtraces.
+Fri Feb 6 22:41:22 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Jun 28 04:08:22 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/pp.rb (PPInspectTest#test_to_s_with_iv): rollback the previous
+ commit. [ruby-dev:22813]
- * lib/uri/mailto.rb: update to latest specs, RFC 6068 and HTML5.
+Fri Feb 6 22:22:50 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/uri/mailto.rb (HEADER_PATTERN): removed.
+ * lib/pp.rb (PPInspectTest#test_to_s_with_iv): remove instance
+ variable which is defined in the test.
- * lib/uri/mailto.rb (HEADER_REGEXP): use RFC 6068 hfields.
+Fri Feb 6 00:48:37 2004 Tanaka Akira <akr@m17n.org>
- * lib/uri/mailto.rb (EMAIL_REGEXP): use HTML5 email regexp.
+ * lib/prettyprint.rb (PrettyPrint#first?): obsoleted.
- * lib/uri/mailto.rb (URI::MailTo.build): support multiple to addresses.
+Thu Feb 5 23:56:55 2004 Tanaka Akira <akr@m17n.org>
- * lib/uri/mailto.rb (URI::MailTo#initialize): Support multiple to
- addresses. Don't check with regexp, only split.
+ * lib/prettyprint.rb (PrettyPrint#seplist): added.
- * lib/uri/mailto.rb (URI::MailTo#check_to): verify by matching
- URI path-rootless and HTML5 email regexp with unescaped one.
+ * 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/uri/mailto.rb (URI::MailTo#check_headers): verify only by
- HEADER_REGEXP.
+ * lib/set.rb (Set#pretty_print): use seplist.
- * lib/uri/mailto.rb (URI::MailTo#set_headers): don't check by
- HEADER_REGEXP, only split it.
+Wed Feb 4 02:12:06 2004 Tanaka Akira <akr@m17n.org>
-Sat Jun 28 00:35:10 2014 Lauri Tirkkonen <lotheac@iki.fi>
+ * 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.
- * tool/mkconfig.rb: fix empty RbConfig::CONFIG["prefix"] when
- configured --with-rubyarchprefix, remove prefix from rubyarchdir
- after expansion for the case it does not start with '$(prefix)'.
- [fix GH-643]
+Tue Feb 3 08:04:57 2004 Tanaka Akira <akr@m17n.org>
-Fri Jun 27 15:20:12 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/pp.rb (Struct#pretty_print_cycle): follow 1.8 style.
- * lib/rubygems/test_case.rb: rescue Gem::LoadError in Gem::TestCase.
- because it's effected by removing minitest from stdlib.
+Mon Feb 2 19:33:49 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Jun 27 12:29:37 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * configure.in: backport from 1.9 for Interix.
- * lib/rubygems/specification.rb: fixed broken condition caused
- by removing YAML::ENGINE.
- * lib/rubygems/package/old.rb: ditto.
+ * dln.c (dln_load): ditto.
-Fri Jun 27 05:33:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Feb 2 13:31:51 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * hash.c (env_shift): fix memory leak on Windows, free environment
- strings block always. [ruby-dev:48332] [Bug #9983]
+ * lib/net/http.rb (canonical_each): fix merge miss.
-Fri Jun 27 03:41:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Feb 2 01:54:00 2004 Tanaka Akira <akr@m17n.org>
- * sprintf.c (GETASTER): should not use the numbered argument to be
- formatted, raise ArgumentError instead.
- [ruby-dev:48330] [Bug #9982]
+ * 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]
-Thu Jun 26 18:18:28 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/open-uri.rb (URI::Generic#find_proxy): return nil on loopback
+ address.
- * test/with_different_ofs.rb: move into test library directory.
- * test/csv/base.rb: fix require path for with_different_ofs.rb.
- * test/digest/test_digest_extend.rb: ditto.
+ * 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.
-Thu Jun 26 18:06:50 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun Feb 1 18:17:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * test/profile_test_all.rb: move into test library directory.
- * test/runner.rb: fix require path for profile_test_all.rb.
+ * lib/net/http.rb: merged coding style changes from HEAD.
-Thu Jun 26 17:57:57 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun Feb 1 16:15:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
- * lib/webrick/httpproxy.rb: remove useless assigned variables.
- * lib/webrick/httpservlet/cgihandler.rb: ditto.
- * lib/webrick/httpservlet/erbhandler.rb: ditto.
- * lib/webrick/server.rb: ditto.
+ * lib/test/unit.rb: rearranged documentation for RDoc's sake.
+ * lib/matrix.rb: improved documentation.
+ * lib/net/http.rb: slight documentation formatting improvement.
-Thu Jun 26 08:28:01 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Feb 1 05:30:06 2004 Tanaka Akira <akr@m17n.org>
- * 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]
+ * 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]
-Thu Jun 26 02:45:04 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 31 09:20:32 2004 NAKAMURA, Hiroshi <nakahiro@sairon.co.jp>
- * eval_error.c (error_print): put a newline after an anonymous
- exception class name.
+ * sample/openssl/gen_csr.rb: wrong usage string.
-Wed Jun 25 22:31:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 31 01:00:32 2004 NAKAMURA, Hiroshi <nahi@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]
+ * lib/soap/wsdlDriver.rb, lib/wsdl/soap/operation.rb: add support of
+ "parts" attribute of soap:body element in WSDL.
-Wed Jun 25 15:44:12 2014 Eric Wong <e@80x24.org>
+ * lib/wsdl/xmlSchema/schema.rb: friendly warning message for
+ simpleType element which is not supported for now.
- * ccan/container_of/container_of.h (container_off_var):
- avoid warning with -Wcast-qual
- [ccan ba5ad771af4aa9e085498de6c3c665c52694460f (Rusty Russell)]
+ * lib/soap/mapping/factory.rb: deleted unused methods.
-Wed Jun 25 10:19:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/mapping/rubytypeFactory.rb: do no ignore case while xsi:type
+ string <-> Ruby class name matching.
- * 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]
+ * test/wsdl/soap/{soapbodyparts.wsdl,test_soapbodyparts.wsdl}: new
+ files.
-Tue Jun 24 14:46:17 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Jan 29 23:56:00 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/gserver.rb: remove redundant use of to_s in interpolation.
- * lib/logger.rb: ditto.
- * lib/optparse.rb: ditto.
- * lib/rbconfig/obsolete.rb: ditto.
- * lib/resolv.rb: ditto.
- * lib/webrick/httpresponse.rb: ditto.
+ * util.c (mblen): fix overrun. [ruby-dev:22672]
-Tue Jun 24 10:50:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jan 29 22:41:53 2004 Dave Thomas <dave@pragprog.com>
- * hash.c (env_path_str_new): make PATH environment variable
- string, to be frozen.
+ * lib/rdoc/generators/html_generator.rb: Allow 'link:' in Tidylinks.
+ THis means you can write "see f1[link:files/f1_rb.html]".
-Tue Jun 24 10:40:52 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Jan 29 15:33:23 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * tool/make-snapshot: download bundle gems when package making.
- [Feature #9852][ruby-core:62676]
- * gems/bundled_gems: listed bundled gems for Ruby 2.2.
+ * ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change
+ second argument. it expected to be a Hash not an Integer.
-Tue Jun 24 10:20:35 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new
+ function for OpenSSL::X509::Name#add_entry.
- * tool/downloader.rb: make Downloader class to general download utility.
- It can be used without config.guess and config.sub.
- * tool/get-config_files: ditto.
- * tool/make-snapshot: ditto.
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_a): append ASN.1
+ tag number to each element of return value.
-Tue Jun 24 06:17:52 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants
+ OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.
- * eval.c (setup_exception): "mesg == sysstack_error" and
- sysstack_error_p(mesg) are duplicated.
- r46502 seems to want to use latter.
+ * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):
+ second argument takes OBJECT_TYPE_TEMPLATE by default.
-Tue Jun 24 06:15:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sample/openssl/gen_csr.rb: use OpenSSL::X509::Name.parse.
- * ext/tk/tcltklib.c: fix format specifiers for VALUE and
- Tcl_Interp*. [ruby-core:63283] [Bug #9972]
+Wed Jan 28 04:29:41 2004 Eric Schwartz <emschwar@fc.hp.com>
-Tue Jun 24 05:40:41 2014 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * lib/cgi/session.rb: use LOCK_SH to read, and a few other
+ improvements. [ruby-core:02328]
- * nacl/nacl-config.rb: Use File.exist? instead of executable?
- for irt_core. Recent nacl_sdk has non-executable irt_core.
- Patch by Shinichiro Hamaji.
- [Fixes GH-529] https://github.com/ruby/ruby/pull/529
+Tue Jan 27 11:09:29 2004 FUKUMOTO Atsushi <fukumoto@nospam.imasy.or.jp>
-Mon Jun 23 18:44:45 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/socket/socket.c (s_recvfrom): sending length should be an
+ invariant while retrying on EAGAIN. [ruby-talk:89962]
- * tool/config_files.rb: rename class ConfigFiles to Downloader.
- * tool/get-config_files: ditto.
- * tool/make-snapshot: ditto.
+Tue Jan 27 10:35:18 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Jun 23 18:03:13 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/win32ole/win32ole.c (set_argv): fix condition.
- * tool/rbinstall.rb: support to install bundle gems.
+Tue Jan 27 02:26:31 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Mon Jun 23 17:33:11 2014 Akinori MUSHA <knu@iDaemons.org>
+ * lib/webrick/httputils.rb (WEBrick:HTTPUtils::parse_header):
+ refine regex for header-name.
- * lib/net/imap.rb (Net::IMAP#fetch): [DOC] Describe how a range in
- +set+ is interpreted, and mention -1 which can be used for '*'.
+Tue Jan 27 00:30:11 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Jun 23 16:22:50 2014 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * win32/Makefile.sub: rollback.
- * include/ruby/ruby.h (struct RHash): no longer. [Feature #9889]
+Mon Jan 26 22:53:04 2004 Dave Thomas <dave@pragprog.com>
- * include/ruby/ruby.h (RHASH): ditto.
+ * io.c: Remove documentation references to $defout.
- * include/ruby/ruby.h (RHASH_ITER_LEV): deprecated. Will be deleted later.
+Mon Jan 26 15:11:47 2004 NAKAMURA Usaku <usa@ruby-lang.org>
- * include/ruby/ruby.h (RHASH_IFNONE): ditto.
+ * sample/exyacc.rb: escape '}' to avoid warning.
- * internal.h (struct RHash): moved here.
+Mon Jan 26 14:41:46 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * internal.h (RHASH): ditto.
+ * lib/delegate.rb (Delegator::initialize): preserve
+ singleton_method_added method [ruby-dev:22685]
- * hash.c (rb_hash_iter_lev): do not use this.
+ * lib/delegate.rb (Delegator::initialize): use Kernel::raise
+ instead of mere raise. [ruby-dev:22681]
- * hash.c (rb_hash_ifnone): ditto.
+Mon Jan 26 12:47:17 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Jun 23 13:30:11 2014 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c: define CONST84 when TCL_MAJOR_VERSION == 7
- * include/ruby/ruby.h (struct RComplex): no longer. [Feature #9888]
+Mon Jan 26 11:35:23 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/ruby.h (RCOMPLEX): ditto.
+ * ext/extmk.rb: Makefiles should depend on also rbconfig.rb.
+ (ruby-bugs:PR#1256)
- * include/ruby/ruby.h (RCOMPLEX_SET_REAL): deprecated. Will be deleted later.
+ * ext/win32ole/win32ole.c (set_argv): set real arguments to
+ WIN32OLE::ARGV. [ruby-list:39073]
- * include/ruby/ruby.h (RCOMPLEX_SET_IMAG): ditto.
+Thu Jan 22 22:54:53 2004 Shugo Maeda <shugo@ruby-lang.org>
- * internal.h (struct RFloat): moved here.
+ * 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.
- * internal.h (RCOMPLEX): ditto.
+Thu Jan 22 16:21:33 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * complex.c (rb_complex_set_real): do not use this.
+ * parse.y (string_content): reset lexical states at the beginning of
+ string contents. [ruby-list:39061]
- * complex.c (rb_complex_set_imag): ditto.
+Wed Jan 21 21:55:51 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Mon Jun 23 13:10:15 2014 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * lib/drb/drb.rb: remove O_NONBLOCK, thanks \ay
+ * lib/drb/extserv.rb: typo
- * include/ruby/ruby.h (struct RFloat): no longer. [Feature #9863]
+Wed Jan 21 17:57:56 2004 Shugo Maeda <shugo@ruby-lang.org>
- * include/ruby/ruby.h (RFLOAT): ditto.
+ * 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.
- * internal.h (struct RFloat): moved here.
+Wed Jan 21 16:44:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * internal.h (RFLOAT): ditto.
+ * lib/mkmf.rb (merge_libs): squeeze successive same libraries.
+ [ruby-dev:22652]
-Mon Jun 23 12:01:42 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Jan 21 16:01:37 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/uri/generic.rb (check_port): allow strings for port= as
- described in rdoc.
+ * ext/digest/rmd160/extconf.rb: have_library appends found library.
- * lib/uri/rfc3986_parser.rb (regexp): implementation detail of above.
+Wed Jan 21 11:36:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jun 23 11:35:01 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (block_append): update nd_end for "real" head node.
+ [ruby-list:39058]
- * eval.c (setup_exception): set backtrace in system stack error
- other than the pre-allocated sysstack_error. [Feature #6216]
+Tue Jan 20 14:48:13 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * proc.c (Init_Proc): freeze the pre-allocated sysstack_error.
+ * ext/openssl/extconf.rb: should check <openssl/conf_api.h> instead
+ of OPENSSL_VERSION_NUMBER. [ruby-list:39056]
- * vm_insnhelper.c (vm_stackoverflow): raise new instance for each
- times without calling any methods to keep the backtrace with no
- further stack overflow.
+Tue Jan 20 14:43:17 2004 Dave Thomas <dave@pragprog.com>
- * object.c (rb_obj_copy_ivar): extract function to copy instance
- variables only for T_OBJECT from init_copy.
+ * lib/base64.rb: Add RDoc
-Mon Jun 23 11:11:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 20 14:25:51 2004 Dave Thomas <dave@pragprog.com>
- * signal.c (check_stack_overflow): drop the last tag too close to
- the fault page, to get rid of stack overflow deadlock.
- [Bug #9971]
+ * lib/abbrev.rb: Add RDoc
-Sun Jun 22 09:11:15 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Jan 20 13:22:39 2004 Dave Thomas <dave@pragprog.com>
- * lib/uri/generic.rb: remove registry.
- 'registry' is not used and RFC3986 doesn't use it.
+ * lib/rdoc/generators/html_generator.rb: Document aliases at
+ top-most level.
-Sun Jun 22 09:10:09 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/English.rb: Document English.rb.
- * lib/uri/rfc3986_parser.rb: raise exception when given a URI string
- has non ASCII in order to keep the regexp compiled for US-ASCII.
+Tue Jan 20 02:49:22 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Jun 22 09:05:42 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/extconf.rb: add check for OpenSSL version.
+ [ruby-list:39054]
- * lib/uri/common.rb (URI::REGEXP): move to lib/uri/rfc2396_parser.rb.
+Tue Jan 20 02:38:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/uri/common.rb (URI::Parser): ditto.
+ * marshal.c (w_class): should not dump singleton class.
+ [ruby-dev:22631]
- * lib/uri/common.rb (URI.split): use RFC3986_Parser. [Feature #2542]
+Tue Jan 20 01:31:36 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/uri/common.rb (URI.parse): ditto.
+ * io.c (lineno): typo fix(FIX2INT -> INT2FIX).
- * lib/uri/common.rb (URI.join): ditto.
+Mon Jan 19 21:53:38 2004 akira yamada <akira@ruby-lang.org>
- * lib/uri/common.rb (URI.extract): deprecated.
+ * io.c, re.c, string.c, time.c: fixed up positions of RDocs.
- * lib/uri/common.rb (URI.regexp): ditto.
+Mon Jan 19 07:09:20 2004 Tadayoshi Funaba <tadf@dotrb.org>
- * lib/uri/rfc2396_parser.rb: added.
+ * lib/date.rb: zone was wrong when it was behind UTC.
+ Thanks Mark J. Reed.
- * lib/uri/rfc3986_parser.rb: added.
+ * lib/date/format.rb: %z is now always replaced by four digits
+ with a leading plus or minus sign.
-Sun Jun 22 09:04:50 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * sample/cal.rb: added a class, anyway.
- * lib/uri/mailto.rb (initialize): as previous commit, fix arg_check
+Sun Jan 18 20:47:35 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Sun Jun 22 09:01:47 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ruby.c: use translate_char() on Cygwin.
- * lib/uri/ftp.rb (initialize): argument checking flag is arg_check,
- but arg[-1] is fragment.
+Sun Jan 18 02:33:26 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/uri/ftp.rb (initialize): explicitly specify arguments.
+ * defines.h (_WIN32): undef _WIN32 on Cygwin before defining DOSISH.
-Sat Jun 21 12:50:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jan 18 00:23:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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]
+ * marshal.c (class2path): check anonymous class/module before
+ checking referable, and allow singleton classes.
-Sat Jun 21 07:06:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jan 16 14:33:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * encoding.c (enc_find): [DOC] never accepted a symbol.
- [ruby-dev:48308] [Bug #9966]
+ * marshal.c (class2path): get class path and check referable.
+ [ruby-dev:22588]
-Fri Jun 20 17:15:43 2014 Koichi Sasada <ko1@atdot.net>
+Fri Jan 16 09:52:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/lib/tracepointchecker.rb: add to check TracePoint healthiness.
+ * eval.c (proc_eq): Proc with empty body may not be equal.
+ [ruby-dev:22590]
- * test/runner.rb: use it.
+Thu Jan 15 13:03:10 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jun 20 07:26:44 2014 Koichi Sasada <ko1@atdot.net>
+ * io.c (argf_read): do not append EOF. (ruby-bugs-ja:PR#585)
- * test/ruby/test_settracefunc.rb: rewrite tests with
- assert_consistent_call_return().
+ * io.c (rb_io_fwrite): ad-hockery hack to get rid of HP-UX stdio
+ weird behavior. [ruby-dev:22424]
- assert_consistent_call_return() is also modified to check
- consistency.
+Wed Jan 14 13:31:06 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jun 20 07:07:28 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/iconv/extconf.rb: wrapper iconv.rb is dependent on platform.
- * compile.c (rb_iseq_compile_node): put start label of block after
- trace (b_call).
- [Bug #9964]
+Tue Jan 13 18:54:28 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add a test.
+ * 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.
- added assert_consistent_call_return() method check call/return
- consistency.
+ * 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.
-Fri Jun 20 05:26:27 2014 Koichi Sasada <ko1@atdot.net>
+ * test/logger/test_logger.rb: follow above change (ArgumentError ->
+ TypeError.) follow above commit.
- * vm_eval.c (rb_catch_protect): fix same problem of [Bug #9961].
+Tue Jan 13 14:27:13 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * vm_eval.c (rb_iterate): ditto.
+ * lib/test/unit/ui/testrunnerutilities.rb (TestRunnerUtilities):
+ moved run method which allows output level. [ruby-dev:22554]
-Thu Jun 19 21:41:30 2014 Koichi Sasada <ko1@atdot.net>
+Tue Jan 13 04:29:52 2004 Dave Thomas <dave@pragprog.com>
- * vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfp
- with invoking RUBY_EVENT_C_RETURN.
- [Bug #9961]
+ * lib/rdoc/ri/ri_driver.rb (RiDriver::report_method_stuff):
+ Show fully-qualified class names in class list.
- * vm_core.h: ditto.
+Tue Jan 13 01:04:37 2004 Dave Thomas <dave@pragprog.com>
- * eval.c (rb_protect): use it.
+ * lib/rdoc/ri/ri_paths.rb (RI::Paths): First attempt at
+ incorporating DESTDIR in the rdoc installation.
- * eval.c (rb_rescue2): ditto.
+Mon Jan 12 23:27:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_eval.c (rb_iterate): ditto.
+ * parse.y (primary): fix position after FCALL. [ruby-dev:22574]
- * test/ruby/test_settracefunc.rb: add a test.
+Mon Jan 12 12:07:22 2004 Dave Thomas <dave@pragprog.com>
- * vm_core.h (rb_vm_rewind_cfp): add the prototype declaration.
+ * 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.
-Thu Jun 19 19:47:21 2014 Koichi Sasada <ko1@atdot.net>
+ * object.c: Remove spurious space in TrueClass documentation.
- * 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]
+ * 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_insnhelper.c (vm_call_bmethod_body): ditto.
+ * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter::break_to_newline):
+ HTML formats need explicit line breaks.
- * test/ruby/test_settracefunc.rb: add a test.
+Mon Jan 12 11:46:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 19 18:14:47 2014 Koichi Sasada <ko1@atdot.net>
+ * configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single
+ quotes. [ruby-dev:22564]
- * vm_core.h: add VM_FRAME_MAGIC_RESCUE to recognize normal block or
- rescue clause.
+ * lib/mkmf.rb (libpathflag): do not enclose with quotes always.
- * vm.c (vm_exec): use VM_FRAME_MAGIC_RESCUE on at rescue/ensure.
+ * {bcc32,win32,wince}/Makefile.sub (LIBPATHFLAG): quoted.
- * test/ruby/test_settracefunc.rb: should not invoke b_return at rescue
- clause.
- [Bug #9957]
+Mon Jan 12 02:24:07 2004 Dave Thomas <dave@pragprog.com>
- * vm_dump.c (control_frame_dump): check VM_FRAME_MAGIC_RESCUE.
+ * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML
+ generation support to ri (Elliot Hughes)
- * vm_dump.c (vm_stack_dump_each): ditto.
+Mon Jan 12 02:24:07 2004 Dave Thomas <dave@pragprog.com>
-Thu Jun 19 13:39:11 2014 Arne Brasseur <arne@arnebrasseur.net>
+ * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML
+ generation support to ri (Elliot Hughes)
- * proc.c (rb_method_curry): Implement Method#curry, which delegates
- to to_proc.curry. [ruby-core:62212] [Feature #9783]
+Sun Jan 11 02:07:47 2004 Dave Thomas <dave@pragprog.com>
-Tue Jun 17 16:41:49 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):
+ Also accept command line options via the 'RI' environment variable.
- * lib/net/ftp.rb (gets, readline): read lines without LF properly.
- [ruby-core:63205] [Bug #9949]
+Sun Jan 11 02:07:47 2004 Dave Thomas <dave@pragprog.com>
- * test/net/ftp/test_buffered_socket.rb: related test.
+ * lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):
+ Also accept command line options via the 'RI' environment variable.
-Tue Jun 17 12:35:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 10 21:27:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * eval.c (extract_raise_opts): pass unknown options to the
- exception, so that exception class can receive a hash argument.
- [ruby-core:63203] [Feature #8257]
+ * eval.c (eval): need to add message delimiter. [ruby-dev:22561]
-Tue Jun 17 12:24:57 2014 Koichi Sasada <ko1@atdot.net>
+Sat Jan 10 01:54:50 2004 Eric Sunshine <sunshine@sunshineco.com>
- * gc.c (obj_memsize_of): memsize_of(T_ZOMBIE) returns 0, not a rb_bug.
- ObjectSpace.count_objects_size() uses memsize_of(T_ZOMBIE).
+ * 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).
- This bug introduced at r46348.
+ * 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).
-Mon Jun 16 19:00:11 2014 Koichi Sasada <ko1@atdot.net>
+Fri Jan 9 10:05:14 2004 Siena. <siena@faculty.chiba-u.jp>
- * test/runner.rb: failure message should be passed as an argument.
+ * lib/mkmf.rb (libpathflag): use single quotes. [ruby-dev:22440]
-Mon Jun 16 18:42:57 2014 Koichi Sasada <ko1@atdot.net>
+Thu Jan 8 23:49:21 2004 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/runner.rb: capture TracePoint stat before setup and compare
- it after teardown.
+ * configure.in (RDOCTARGET): new macro. if you want to install
+ rdoc documentation, you need to run configure with
+ --enable-install-doc.
-Mon Jun 16 14:33:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jan 8 21:29:43 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * process.c (open): use UTF-8 version function to support
- non-ascii path properly. [ruby-core:63185] [Bug #9946]
+ * ext/openssl/ossl_pkey.c (ossl_pkey_to_der): removed; it returns
+ public key only.
-Sat Jun 14 10:54:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_pkey_dh.c (ossl_dh_to_der): new function for
+ OpenSSL::PKey::DH#to_der.
- * array.c (rcombinate0): remove recursion, by looping with indexes
- stored in `p`.
+ * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_to_der): new function for
+ OpenSSL::PKey::DSA#to_der.
- * array.c (rpermute0): remove recursion, by looping with indexes
- stored in `p`.
+ * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_to_der): new function for
+ OpenSSL::PKey::RSA#to_der.
- * array.c (permute0): remove recursion, by looping with indexes
- stored in `p`. [ruby-core:63103] [Bug #9932]
+Thu Jan 8 16:51:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Jun 14 10:52:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/wsdl/datetime/test_datetime.rb: fixed a stupid testcase which
+ dumps "E" at month-end.
- * 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
+Thu Jan 8 11:20:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Jun 14 08:28:59 2014 Zachary Scott <e@zzak.io>
+ * eval.c, object.c, process.c, re.c: don't use C++ style comments.
- * man/rake.1: [DOC] Update links for Rake, patch by @hsbt [Bug #9904]
- [Fixes GH-628] https://github.com/ruby/ruby/pull/628
+Thu Jan 8 04:36:21 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Fri Jun 13 17:58:58 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/webrick/cgi.rb (WEBrick::CGI#initialize): should create
+ @config[:Logger] if it was not given.
- * vm_trace.c: add new method TracePoint.stat to debug
- TracePoint mechanism.
+ * sample/webrick/*: new files.
- Ruby users should not use this method. So I don't note this method
- in the NEWS file.
+ * MANIFEST: add sample/webrick/*
- * test/runner.rb: detect zombie active TracePoints with
- TracePoint.stat.
+Wed Jan 7 13:00:18 2004 Dave Thomas <dave@pragprog.com>
-Fri Jun 13 17:46:31 2014 Koichi Sasada <ko1@atdot.net>
+ * 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)
- * vm_trace.c: clear and restore recursive checking thread local data
- to avoid unexpected throw from TracePoint.
- [Bug #9940]
+Wed Jan 7 12:35:41 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add a test.
+ * lib/debug.rb: revert command parse regexps. [ruby-list:39014] by
+ Shirai,Kaoru.
- * thread.c: added
- * rb_threadptr_reset_recursive_data(rb_thread_t *th);
- * rb_threadptr_restore_recursive_data(rb_thread_t *th, VALUE old);
+Wed Jan 7 08:21:04 2004 Dave Thomas <dave@pragprog.com>
- * vm_core.h: ditto.
+ * lib/rdoc/parsers/parserfactory.rb: Check for shebang
+ line in files that would otherwise be treated as
+ plain text.
-Fri Jun 13 17:33:14 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 6 22:13:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * array.c (rb_ary_combination): iterate on a shared copy, and use
- array of indexes instead of array of chosen objects.
- [ruby-core:63149] [Bug #9939]
+ * eval.c (rb_mod_modfunc): should break if m has no super class.
+ [ruby-dev:22498]
- * array.c (yield_indexed_values): extract from permute0(),
- rpermute0(), and rcombinate0().
+Tue Jan 6 21:55:02 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jun 13 13:42:58 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (fptr_finalize): should save errno just after failure.
+ [ruby-dev:22492]
- * 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.
+Tue Jan 6 14:53:14 2004 Dave Thomas <dave@pragprog.com>
-Thu Jun 12 20:32:28 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bin/ri: split out the display side, making it pluggable. Added
+ new ri_driver and ri_display files in lib/rdoc/ri.
- * string.c (rb_str_resize): should consider the capacity instead
- of the old length, as pointed out by nagachika.
+Tue Jan 6 06:37:53 2004 Dave Thomas <dave@pragprog.com>
-Thu Jun 12 18:31:01 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * bin/rdoc: Add --ri-system switch
- * lib/net/http/responses.rb: added Net::HTTPPermanentRedirect(308)
- Contributed by @yorkie [fix GH-638]
+ * lib/.document: Update with list of files that seem to have
+ documentation
-Thu Jun 12 13:27:38 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit.rb: Reorder comment to make it RDoc friendly.
- * string.c (rb_str_freeze): shrink the buffer before freezing, as
- pointed out by Eric Wong at [ruby-core:63119].
+ * Makefile.in: add install-nodoc target, and make it
+ generate RDoc on default install.
-Thu Jun 12 13:09:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/ri/ri_options.rb (RI::Options::parse): Add
+ --doc-dir option to ri.
- * file.c (expand_path): shrink expanded path which no longer needs
- rooms to append. [ruby-core:63114] [Bug #9934]
+Tue Jan 6 00:04:40 2004 Dave Thomas <dave@pragprog.com>
-Wed Jun 11 17:37:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):
+ fix parsing if there are braces in a method parameter list
- * configure.in (rb_cv_scalar_pthread_t): pthread_t is not required
- to be a scalar type.
+Fri Jan 2 14:54:11 2004 Dave Thomas <dave@pragprog.com>
- * thread.c (fill_thread_id_string, thread_id_str): dump pthread_t
- in hexadecimal form if it is not a scalar type, assume it can be
- represented in a pointer form otherwise. based on the patch by
- Rei Odaira at [ruby-core:62867]. [ruby-core:62857] [Bug #9884]
+ * bin/ri: Add new --classes option, and arrange for
+ help messages to be paged too.
- * thread_pthread.c (Init_native_thread, thread_start_func_1),
- (native_thread_create): set thread_id_str if needed.
+ * bin/rdoc: Add statistics.
- * vm_core.h (rb_thread_t): add thread_id_string if needed.
+ * process.c: (MG) Added Process documentation
-Wed Jun 11 01:53:22 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/rdoc/ri/ri_formatter.rb (RI::AttributeFormatter::wrap):
+ Fix problem with labels not displaying in RI labeled
+ lists using BS and ANSI modes.
- * gc.c: invoke GC before memory allocation (xmalloc/xrealloc)
- when GC.stress = true.
- [Bug #9859]
+Fri Jan 2 01:50:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_gc.rb: add a test.
+ * io.c (argf_eof): ARGF.eof? should not have any side effect.
+ [ruby-dev:22469]
-Tue Jun 10 13:20:14 2014 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
+Wed Dec 31 17:25:17 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/cgi/core.rb: Provide a mechanism to specify the
- max_multipart_length of multipart data.
- [Feature #8370] patch by Leif Eriksen <leif.eriksen.au@gmail.com>
+ * io.c (argf_each_byte): should return self. [ruby-dev:22465]
-Tue Jun 10 10:57:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 31 11:20:34 2003 Dave Thomas <dave@pragprog.com>
- * 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]
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Make
+ file referenced in "// in sss.c" relative to current file.
-Mon Jun 9 20:40:48 2014 Koichi Sasada <ko1@atdot.net>
+Wed Dec 31 11:17:37 2003 Dave Thomas <dave@pragprog.com>
- * gc.c: change full GC timing to keep lower memory usage.
+ * 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.
- Extend heap only at
- (1) after major GC
- or
- (2) after several (two times, at current) minor GC
+Wed Dec 31 01:33:05 2003 Dave Thomas <dave@pragprog.com>
- Details in https://bugs.ruby-lang.org/issues/9607#note-9
- [Bug #9607]
+ * 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.
-Mon Jun 9 16:01:41 2014 Masahiro Ide <imasahiro9@gmail.com>
+Tue Dec 30 19:39:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (gcdebug_sentinel): fix typo, "sentinel" not "sential".
- [fix GH-634]
+ * io.c (rb_f_readline): should raise EOFError at the end of
+ files. [ruby-dev:22458]
-Mon Jun 9 00:04:25 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (argf_read): should concatenate input files when length
+ argument is nil. [ruby-dev:22450]
- * configure.in (posix_fadvise): disable use of posix_fadvise
- itself on 32-bit AIX. [ruby-core:62968] [Bug #9914]
+ * io.c (argf_read): should update supplied string buffer (2nd
+ argument) even when IO#read is called multiple times.
-Sun Jun 8 23:28:00 2014 <kanemoto@ruby-lang.org>
+ * io.c: should initialize lineno by zero. [ruby-dev:22460]
- * 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]
+Tue Dec 30 12:30:30 2003 Dave Thomas <dave@pragprog.com>
-Sun Jun 8 04:52:40 2014 Jun Hiroe <Jun.Hiroe@gmail.com>
+ * 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'.
- * string.c (rb_str_slice_bang): [DOC] update return value against
- a fixnum, which has changed because of M17N. [fix GH-631]
-Sat Jun 7 22:13:42 2014 Benoit Daloze <eregontp@gmail.com>
+Tue Dec 30 08:32:32 2003 Dave Thomas <dave@pragprog.com>
- * numeric.c (do_coerce): Add a warning when an exception is raised
- or an invalid value is returned in #coerce called by
- numeric comparison operators and the exception
- thrown by the caller has no information on the failure.
- In the next release such exception should not be rescued or
- should be the cause of the caller exception. nil is accepted
- as the "no possible coercion" return value. See #7688.
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):
+ Handle undoing nesting of yield parameters correctly for:
- * test/ruby/test_numeric.rb: Add corresponding test.
+ def each_entry(&b) Dir.foreach(@path) {|f| yield P.new(f) } end
-Sat Jun 7 18:15:33 2014 Benoit Daloze <eregontp@gmail.com>
- * numeric.c (bit_coerce): remove constant parameter `err'
- (always TRUE) of bit_coerce().
+Tue Dec 30 08:32:32 2003 Dave Thomas <dave@pragprog.com>
-Sat Jun 7 16:01:57 2014 Yutaka Kanemoto <kanemoto@ruby-lang.org>
+ * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):
+ Handle undoing nesting of yield parameters correctly for:
- * cont.c (rb_fiber_struct): keep context.uc_stack.ss_sp and context.uc_stack.ss_size
- for later use. Patch by Rei Odaira. [ruby-core:62945] [Bug #9905]
+ def each_entry(&block) Dir.foreach(@path) {|f| yield Pathname.new(f) } end
-Sat Jun 7 12:51:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 29 12:51:02 2003 Dave Thomas <dave@pragprog.com>
- * io.c (read_all): truncate the buffer before appending read data,
- instead of truncating before reading.
- [ruby-core:55951] [Bug #8625]
+ * eval.c: Add RDoc for Kernel global functions.
-Sat Jun 7 12:28:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 29 11:00:16 2003 Dave Thomas <dave@pragprog.com>
- * ext/digest/digest.c (rb_digest_instance_equal): no need to call
- `to_s` twice. [Bug #9913]
+ * array.c: Tidy up RDoc loose ends.
-Sat Jun 7 11:35:01 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 29 05:05:51 2003 Dave Thomas <dave@pragprog.com>
- * object.c (rb_mod_initialize_clone): Override Kernel#initialize_clone
- to avoid an exception on Class.new.freeze.clone.to_s.
- Reported by Andrew Grimm. [ruby-core:41858] [Bug #5828]
+ * struct.c, random: Add RDoc comments
-Sat Jun 7 06:03:11 2014 Benoit Daloze <eregontp@gmail.com>
+Mon Dec 29 02:20:54 2003 Dave Thomas <dave@pragprog.com>
- * ext/digest/digest.c (rb_digest_instance_equal):
- fix #== for non-string arguments. [ruby-core:62967] [Bug #9913]
+ * eval.c: Add RDoc for class Proc, Method, UnboundMethod
- * test/digest/test_digest.rb: add test for above.
+Mon Dec 29 00:41:44 2003 Dave Thomas <dave@pragprog.com>
-Fri Jun 6 22:19:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * math.c: Add RDoc comments
- * compile.c (private_recv_p): check by node type, instead of a
- magic number.
+Sun Dec 28 20:19:11 2003 Tanaka Akira <akr@m17n.org>
- * node.h (NODE_PRIVATE_RECV), parse.y (attrset_gen): remove
+ * ext/stringio/stringio.c (strio_sysread): StringIO.new.sysread didn't
+ raise EOFError.
-Fri Jun 6 17:07:08 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/zlib/zlib.c (gzreader_gets): don't increment lineno when
+ gzfile_read_all returns "".
- * compile.c (iseq_compile_each), parse.y (new_attr_op_assign_gen):
- allow op assign to a private attribute.
- [ruby-core:62949] [Bug #9907]
+Sun Dec 28 15:25:08 2003 Dave Thomas <dave@pragprog.com>
-Fri Jun 6 13:39:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * class.c,object.c,parse.y,sprintf.c,variable.c: Document classes
+ Object, Module, etc...
- * io.c (io_setstrbuf, io_read): should not shorten the given buffer until
- read succeeds. [ruby-core:55951] [Bug #8625]
+Sun Dec 28 11:55:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Jun 6 07:41:41 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * test/csv/test_csv.rb: generate bom.csv and mac.csv files on the fly.
+ [ruby-talk:88852]
- * ext/psych/lib/psych/visitors/yaml_tree.rb: dump empty symbols with a
- tag so that they can be parsed on input. [Bug #9873] [ruby-core:62825]
- * test/psych/test_symbol.rb: test for change
+ * test/csv/{bom.csv,mac.csv}: removed.
-Thu Jun 5 16:08:39 2014 Koichi Sasada <ko1@atdot.net>
+Sun Dec 28 08:56:51 2003 Dave Thomas <dave@pragprog.com>
- * gc.c (gc_page_sweep): refactoring.
+ * eval.c: Thead[Group] RDoc (thanks to MG)
- * gc.c (gc_page_sweep): should not set, but add final_slots into
- sweep_page->final_slots.
+Sun Dec 28 03:50:05 2003 Dave Thomas <dave@pragprog.com>
-Thu Jun 5 14:36:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_override_comment):
+ Escape method names used in regexp
- * configure.in (jemalloc): check for the header regardless drop-in
- libjemalloc is found, for `malloc_conf` declaration.
+Sun Dec 28 01:46:02 2003 Dave Thomas <dave@pragprog.com>
- * version.c (ruby_show_version): show `malloc_conf` if set.
- [Feature #9113]
+ * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item):
+ Add support for rules in 'ri' output.
- * configure.in (with-jemalloc): also check for header, for ABIs
- which JEMALLOC_MANGLE is needed, i.e., Mach-O and PE-COFF
- platforms. [ruby-core:62939] [Feature #9113]
+Sun Dec 28 01:35:35 2003 Dave Thomas <dave@pragprog.com>
- * include/ruby/missing.h: include alternative malloc header to
- replace memory management functions.
+ * 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.
- * dln.c, io.c, parse.y, st.c: undef malloc family before
- re-definition to suppress warnings.
+Sun Dec 28 01:05:31 2003 Dave Thomas <dave@pragprog.com>
-Thu Jun 5 12:52:18 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * marshal.c, signal.c: RDoc collemts added by Elliott Hughes
- * man/ruby.1: remove rubyforge entry.
+Sun Dec 28 00:48:47 2003 Dave Thomas <dave@pragprog.com>
-Thu Jun 5 12:45:32 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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.
- * misc/README: use github link instead of rubyforge.
+Sat Dec 27 23:41:46 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu Jun 5 10:03:29 2014 Koichi Sasada <ko1@atdot.net>
+ * configure.in: fix "test: too many arguments" error.
- * gc.c (obj_free): check also FL_PROMOTED bit by RVALUE_OLD_P().
+Sat Dec 27 15:32:19 2003 Dave Thomas <dave@wireless_3.local.thomases.com>
-Thu Jun 5 03:45:28 2014 Eric Wong <e@80x24.org>
+ * time.c: RDoc comments added
- * configure.in: add --with-jemalloc option
- [ruby-core:62912]
+Sat Dec 27 15:07:57 2003 Dave Thomas <dave@pragprog.com>
-Wed Jun 4 22:28:14 2014 Koichi Sasada <ko1@atdot.net>
+ * object.c: Add RDoc comments for Symbol class.
- * gc.c: introduce RZombie to manage zombie objects.
- Rewrite finalizing logics with this type.
+Sat Dec 27 14:42:30 2003 Dave Thomas <dave@pragprog.com>
- * gc.c (gc_verify_internal_consistency): verify zombie (finalizing)
- objects count.
+ * numeric.c: Add RDoc comments.
-Wed Jun 4 22:09:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 27 00:44:00 2003 Yukihiro Matsumoto <matz@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]
+ * io.c (next_argv): warn always for stdin on inplace edit mode.
-Wed Jun 4 21:23:52 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (read_all): need to check string value.
- * re.c (match_aref): should not ignore name after NUL byte.
- [ruby-dev:48275] [Bug #9902]
+ * io.c (argf_read): allow ARGF.read(nil). [ruby-dev:22433]
-Wed Jun 4 04:08:37 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Dec 26 23:02:09 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * 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]
+ * io.c (rb_f_backquote): need not to check nil result.
+ [ruby-core:02078]
-Tue Jun 3 23:32:34 2014 Tanaka Akira <akr@fsij.org>
+ * io.c (rb_io_getline): should return nil when read_all gives
+ empty string, even when nil rs is specified. [ruby-core:02077]
- * ruby.c (load_file_internal2): Extracted from load_file_internal.
- (load_file_internal): Invoke load_file_internal2 using rb_protect.
- Close an opened FD if load_file_internal2 raises an exception.
+Fri Dec 26 18:50:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jun 3 19:11:45 2014 Koichi Sasada <ko1@atdot.net>
+ * configure.in: check if getcontext and setcontext are available.
- * gc.c (rb_objspace_free): should not rest_sweep() here.
- Some data structures are already freed.
+ * eval.c: use presence of getcontext/setcontext.
-Tue Jun 3 18:43:51 2014 Koichi Sasada <ko1@atdot.net>
+Fri Dec 26 16:40:53 2003 Tanaka Akira <akr@m17n.org>
- * test/ruby/test_gc.rb: allocate more objects to invoke GC by newobj.
- GC allows extending pages depends on heap_increment.
+ * lib/pathname.rb (PathnameTest#test_plus): add 2 assertions.
-Tue Jun 3 18:01:27 2014 Koichi Sasada <ko1@atdot.net>
+Fri Dec 26 09:26:58 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (rb_gc_call_finalizer_at_exit): add
- gc_verify_internal_consistency() when RGENGC_CHECK_MODE >= 2.
+ * pack.c (pack_pack): add sign check for 'i', and 'l'.
+ [ruby-dev:22427]
-Tue Jun 3 17:54:21 2014 Koichi Sasada <ko1@atdot.net>
+ * bignum.c (rb_quad_pack): add range check for 'quad int'.
- * gc.c: change the counting method for young objects.
- clear counter at the beginning of every GC and
- count promoted (infant->young) objects.
+Thu Dec 25 22:39:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- Some promotions (infant->young) are transition of promoting to old
- objects. We should not count such promotions.
+ * string.c (rb_str_update): don't return any value.
- With this technique, we don't need to check young objects
- at obj_free().
+Thu Dec 25 15:30:17 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Jun 3 16:38:19 2014 Koichi Sasada <ko1@atdot.net>
+ * string.c (rb_str_update): call rb_str_modify().
- * gc.c: add verifying counters code in gc_verify_internal_consistency().
- gc_verify_internal_consistency() counts all
- - live objects
- - young objects (if age2 promotion)
- - old objects
- in all pages and compares with objspace managing counters.
+Thu Dec 25 05:08:09 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_after_sweep): do gc_verify_internal_consistency()
- when RGENGC_CHECK_MODE >= 2.
+ * eval.c (search_required): search actual file name once when no
+ extension specified.
-Tue Jun 3 13:14:04 2014 Shugo Maeda <shugo@ruby-lang.org>
+Thu Dec 25 04:00:44 2003 Yukihiro Matsumoto <matz@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
+ * stable version 1.8.1 released.
-Tue Jun 3 13:18:24 2014 Koichi Sasada <ko1@atdot.net>
+Thu Dec 25 00:17:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (objspace_live_slot): live slot count should not include final
- slot (contains T_ZOMBIE) count.
+ * configure.in: check for nanosleep, -lrt if required.
+ [ruby-core:02059]
-Tue Jun 3 13:03:21 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (thread_timer): use select(2) if nanosleep(2) is not
+ available.
- * gc.c (obj_free): fix spacing.
+ * eval.c: check __stub_getcontext for glibc on some platforms.
+ [ruby-list:38984]
-Tue Jun 3 12:59:32 2014 Koichi Sasada <ko1@atdot.net>
+Wed Dec 24 23:48:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c (check_gen_consistency): fix error message.
+ * 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]
-Tue Jun 3 12:40:23 2014 Koichi Sasada <ko1@atdot.net>
+Wed Dec 24 23:29:30 2003 Tanaka Akira <akr@m17n.org>
- * gc.c: count old/young objects more correctly.
+ * lib/tsort.rb (test_orphaned_break): removed.
- * gc.c (RVALUE_DEMOTE_FROM_OLD): decrement old object count.
+Wed Dec 24 20:53:06 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (RVALUE_DEMOTE_FROM_YOUNG): decrement young object count.
+ * ext/tk/sample/tkmulticolumnlist.rb: new sample
- * gc.c (rb_gc_resurrect): increment old object count.
+ * ext/tk/sample/tkmultilistframe.rb: bug fix
- * gc.c (gc_marks_body): should not add old object count.
- This code is completely my misunderstanding.
+Wed Dec 24 20:37:37 2003 Eric Sunshine <sunshine@sunshineco.com>
- * gc.c (rb_gc_force_recycle): decrement young or old object count
- correctly.
+ * configure.in (LDSHARED): Fixed typographical error in assignment of
+ LDSHARED for Rhapsody which caused linking of extension modules to
+ fail.
-Tue Jun 3 12:26:47 2014 Koichi Sasada <ko1@atdot.net>
+Wed Dec 24 17:51:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/memory_status.rb: add $LOAD_PATH to load test/unit
- correctly for fiddle/import unavailable environments.
+ * file.c (rb_thread_flock): enable thread support again.
-Tue Jun 3 09:45:13 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Dec 24 16:46:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/openssl/test_ssl.rb (OpenSSL::TestSSL#test_verify_result):
- shouldn't use same server for respective tests, because the 1st
- test sometimes kills the server main loop silently.
- [Bug #9881] [ruby-dev:48266]
+ * 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.
-Tue Jun 3 01:34:59 2014 Zachary Scott <e@zzak.io>
+ * eval.c (thread_timer): do not post signal unless it is
+ absolutely necessary.
- * README.EXT: [DOC] Add rb_call_super when subclassing from @robin850
- [Fixes GH-623] https://github.com/ruby/ruby/pull/623
+ * rubysig.h (TRAP_END): add CHECK_INTS to switch thread.
-Mon Jun 2 17:14:49 2014 Koichi Sasada <ko1@atdot.net>
+ * regex.c (re_compile_pattern): check if nextp is smaller than
+ pend. [ruby-dev:22372]
- * vm.c (ruby_vm_destruct): remove useless call of
- rb_gc_force_recycle().
+ * eval.c (umethod_bind): remove method overridden check.
+ [ruby-dev:22366]
- At this line, a VM object is already freed
- (is changed to T_NONE) by rb_gc_call_finalizer_at_exit().
+Wed Dec 24 16:13:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Mon Jun 2 15:50:24 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read): should check for error
+ status by SSL_get_error().
- * eval.c (rb_using_refinement): add write-barriers for
- cref->nd_refinements.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_write): ditto.
-Mon Jun 2 12:26:08 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Dec 24 14:23:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * CONTRIBUTING.md: added contributing guide for github. [fix GH-625]
+ * ext/stringio/stringio.c (strio_read): clear the buffer argument
+ when returning nil. [ruby-dev:22363]
-Mon Jun 2 07:30:33 2014 Tanaka Akira <akr@fsij.org>
+ * test/ruby/ut_eof.rb (TestEOF::test_eof_0, TestEOF::test_eof_1):
+ add buffer argument tests.
- * test/ruby/envutil.rb (default_warning): New method.
+Wed Dec 24 14:07:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_autoload.rb: Use EnvUtil.default_warning.
+ * lib/test/unit/assertions.rb: Modules are allowed to rescue.
-Mon Jun 2 07:05:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/autorunner.rb: show output_level in order.
- * include/ruby/encoding.h: constify `rb_encoding` arguments.
+ * lib/test/unit/collector/dir.rb: get rid of successive same
+ directories in load path.
- * include/ruby/oniguruma.h: constify `OnigEncoding` arguments.
+ * test/testunit/test_assertions.rb (test_assert_nothing_raised,
+ test_assert_raise): test for modules.
-Sun Jun 1 12:05:10 2014 Tanaka Akira <akr@fsij.org>
+Wed Dec 24 13:43:34 2003 Shugo Maeda <shugo@ruby-lang.org>
- * test/drb: Wrap tests definitions by DRbTests module. This makes
- several tests (ACLEntryTest, TestBug4409, etc.) easier to understand
- that they are tests for DRb.
+ * lib/net/imap.rb (authenticate): remove "\n" from base64 encoded
+ strings.
-Sun Jun 1 11:36:25 2014 Tanaka Akira <akr@fsij.org>
+Wed Dec 24 11:26:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rinda/ring.rb (RingFinger#make_socket): Close the socket on
- exception.
+ * test/fileutils/test_fileutils.rb: should not create any
+ files or directories in current directory. [ruby-talk:88724]
-Sun Jun 1 06:55:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 24 10:29:53 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (intern_str): dynamic attrset ID is registered by
- `rb_id_attrset()` already, so no further registration is needed.
- [ruby-core:62861]
+ * ext/stringio/stringio.c (strio_read): never return nil at
+ unlimited read. [ruby-dev:22334]
-Sun Jun 1 04:52:47 2014 Zachary Scott <e@zzak.io>
+ * ext/stringio/stringio.c (strio_read): support second
+ argument. [ruby-dev:22350]
- * lib/English.rb: [DOC] $LOADED_FEATURES moved to load.c [Fixes GH-620]
- Patch submitted by @leafac in https://github.com/ruby/ruby/pull/620
- * doc/globals.rdoc: Added $LOADED_FEATURES to list
+Wed Dec 24 09:38:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 31 22:30:14 2014 Tanaka Akira <akr@fsij.org>
+ * parse.y (arg): should return 0 after error. [ruby-dev:22360]
- * test/lib/leakchecker.rb: Leak checker extracted from
- test/lib/minitest/unit.rb.
+Wed Dec 24 00:56:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat May 31 21:15:43 2014 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * io.c (read_all): do not return nil at the end of file.
+ [ruby-dev:22334]
- * thread.c (rb_thread_atfork_internal): My compiler complains
- about this variable being used before initialized. I looked at
- the code and expanded the macro and turned out it was actually
- USED for pointer arithmetic, not dereferenced. So this was
- never a serious bug. But is annoying indeed to see warnings
- every time. I added `=0` and all went healthy.
+ * io.c (argf_read): do not depend on nil at eof behavior of
+ IO#read().
- * configure.in: Also, I found that the problematic macro expansion
- only happens when we lack __typeof__ C extension, which shall
- not be the case of my compiler. I added AC_C_TYPEOF to kick ass.
+ * eval.c (rb_thread_join): dup exception before re-raising it.
-Sat May 31 16:32:50 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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]
- * lib/ipaddr.rb: extracted inline tests into test dir.
- * test/test_ipaddr.rb: ditto.
+ * pack.c (OFF16): get offset for big endian machines.
-Sat May 31 16:29:21 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * pack.c (pack_pack): use OFF16 instead of OFF16B.
+ [ruby-dev:22344]
- * ext/digest/lib/digest/hmac.rb: extracted inline tests into test dir.
- * test/digest/test_digest_hmac.rb: ditto.
+ * pack.c (pack_unpack): ditto.
-Sat May 31 16:02:03 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Tue Dec 23 22:47:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/test_syslog.rb: remove executable.
+ * io.c (rb_io_check_readable): set FMODE_RBUF always, even if
+ NEED_IO_SEEK_BETWEEN_RW is not defined. [ruby-dev:22340]
-Sat May 31 08:58:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (rb_io_check_writable): clear FMODE_RBUF before writing
+ something.
- * enc/unicode.c (init_case_fold_table): no longer need to
- initialize tables at runtime.
+Tue Dec 23 22:25:00 2003 Gavin Sinclair <gsinclair@soyabean.com.au>
- * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to
- lookup case unfolding table 3.
+ * lib/optparse.rb: incomplete RDoc documentation added in place of
+ existing RD comments. Tabs converted to spaces.
- * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to
- lookup case unfolding table 2.
+Tue Dec 23 19:44:47 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to
- lookup case unfolding table 1.
+ * 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.
- * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to
- lookup case folding table.
+Tue Dec 23 19:42:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * enc/unicode/case-folding.rb (print_table): merge non-locale and
- locale tables, and reduce initializing loops.
+ * io.c (rb_io_ungetc): raise an exception at unread stream to
+ avoid unspecified behavior. [ruby-dev:22330]
- * enc/unicode/case-folding.rb (CaseFolding): modularize, and add
- --output-file option.
+ * test/ruby/test_system.rb (test_syntax): glob relatively from
+ __FILE__.
- * enc/unicode/case-folding.rb: script to convert CaseFolding.txt,
- translated from CaseFolding.py.
+Tue Dec 23 18:09:40 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat May 31 08:31:41 2014 Tanaka Akira <akr@fsij.org>
+ * pack.c (pack_pack): remove unnecessary negative value check.
+ [ruby-dev:22329]
- * test/lib/minitest/unit.rb: Check Tempfile leaks for each test method
- again.
+Tue Dec 23 17:26:55 2003 KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
-Sat May 31 03:50:50 2014 Zachary Scott <e@zzak.io>
+ * bcc32/Makefile.sub (config.h): bcc has finite(). [ruby-list:38940]
- * lib/delegate.rb: [DOC] Document raise in Delegator class
- Patch by @lucasmazza. [Fixes GH-621]
- https://github.com/ruby/ruby/pull/621
+Tue Dec 23 16:08:16 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri May 30 21:23:26 2014 Tanaka Akira <akr@fsij.org>
+ * lib/rexml/encodings/US-ASCII.rb: typo. [ruby-talk:88650]
- * lib/webrick/server.rb: Use a pipe to detect server shutdown.
- shutdown() or close() for listening socket is not a reliable.
- Actually, both doesn't work (doesn't wake up select()) on
- DragonFly BSD 3.6.2.
+ * test/ruby/test_system.rb: num of asserts depended on running dir.
- * test/webrick/utils.rb: :ShutdownSocketWithoutClose is not required
- now to immediate server shutdown detection.
- This fixes fd leaks.
+ * test/xsd/test_noencoding.rb: rexml + without iconv/uconv cannot
+ handle euc-jp. install iconv, uconv or xmlscan.
- * test/net/http/utils.rb: Ditto.
+Tue Dec 23 14:13:51 2003 akira yamada <akira@ruby-lang.org>
-Fri May 30 20:58:37 2014 Tanaka Akira <akr@fsij.org>
+ * lib/uri/generic.rb (URI::Generic::check_userinfo,
+ URI::Generic::check_user, URI::Generic::check_password): tests
+ conflicts/depends with other components closely.
- * test/lib/minitest/unit.rb (check_fd_leak): Sort the inspected
- objects list for a FD.
+ * test/uri/test_generic.rb (TestGeneric::test_set_component):
+ added tets.
-Fri May 30 18:06:55 2014 Tanaka Akira <akr@fsij.org>
+Tue Dec 23 11:08:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/lib/minitest/unit.rb (check_fd_leak): Try GC to delete leaked
- FDs.
+ * 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]
-Fri May 30 12:05:59 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Dec 23 06:10:31 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/lib/test/unit/parallel.rb (_run_suite): orig_stdout may be nil
- though I don't know the reason.
+ * lib/webrick/cgi.rb (CGI): add support for mod_ruby.
-Fri May 30 11:33:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/cgi.rb (CGI::Socket): add check for existence of
+ OpenSSL module in all HTTPS related methods.
- * string.c (rb_str_substr): need to reset code range for shared
- string too, not only copied string.
- [ruby-core:62842] [Bug #9882]
+ * lib/webrick/cgi.rb (CGI::Socket#cipher): should create similar
+ value to OpenSSL::SSLSocket#cipher.
-Fri May 30 10:22:21 2014 Mark Lorenz <mlorenz@covermymeds.com>
+ * lib/webrick/httpresponse.rb (HTTPResponse#setup_header): should
+ set "connection: close" if @keep_alive is false.
- * lib/erb.rb (result): [DOC] no longer accepts a Proc, as
- Kernel.eval does not. [fix GH-619]
+ * lib/webrick/https.rb (HTTPrequest#meta_vars): add supprt for
+ SSL_PROTOCOL, SSL_CIPHER_USEKEYSIZE and SSL_CIPHER_ALGKEYSIZE.
-Fri May 30 07:25:46 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 22 23:00:05 2003 akira yamada <akira@ruby-lang.org>
- * ext/-test-/dir: Dir#fileno implemented.
+ * lib/uri/generic.rb (URI::Generic::check_opaque): fixed typo.
- * test/lib/minitest/unit.rb (find_fds): Don't return the fd used to
- scan /proc/$$/fd.
+Mon Dec 22 21:59:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri May 30 04:48:00 2014 Eric Wong <e@80x24.org>
+ * ext/iconv/iconv.c (map_charset): always ensure code is a String.
- * parse.y (rb_gc_mark_parser): remove, empty since r8758
- * internal.h: ditto, not usable from extensions since 2.0.0
- * gc.c (gc_mark_roots): remove checkpoint for parser
+Mon Dec 22 21:15:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 29 23:27:50 2014 Rei Odaira <Rei.Odaira@gmail.com>
+ * class.c (rb_mod_init_copy): always copy singleton class.
+ [ruby-dev:22325]
- * 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]
+Mon Dec 22 20:44:36 2003 akira yamada <akira@ruby-lang.org>
-Thu May 29 23:11:20 2014 Tanaka Akira <akr@fsij.org>
+ * lib/uri/generic.rb (URI::Generic#route_from): accepts urls which
+ has no host-part.
- * io.c (pipe_open): Close pipes when rb_execarg_fixup() raises
- an exception.
- (rb_execarg_fixup_v): New function.
+ * test/uri/test_generic.rb (TestGeneric::test_route): added a test.
-Thu May 29 22:18:57 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 22 20:38:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/lib/minitest/unit.rb (capture_subprocess_io): Close fds.
+ * lib/cgi.rb: reduce eval.
-Thu May 29 19:47:08 2014 Tanaka Akira <akr@fsij.org>
+ * lib/cgi.rb (CGI::QueryExtension::read_multipart): alias path to
+ local_path. [ruby-list:38883]
- * io.c (rb_io_s_pipe): Close pipes if io_encoding_set() raises an
- exception.
- (io_encoding_set_v): New function.
+Mon Dec 22 20:09:31 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu May 29 19:42:49 2014 Tanaka Akira <akr@fsij.org>
+ * test/soap/test_property.rb: remove duplicated test method.
- * lib/csv.rb (CSV.open): Close the opened file when an exception
- occur.
+Mon Dec 22 18:22:04 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu May 29 19:31:10 2014 Tanaka Akira <akr@fsij.org>
+ * bcc32/Makefile.sub, win32/Makefile.sub (config.h): remove
+ HAVE_ISINF definition to follow previous commits of missing.h
+ and win32/win32.h.
- * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): Close a socket
- if any exception occur.
+Mon Dec 22 17:23:42 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 29 05:05:29 2014 Eric Wong <e@80x24.org>
+ * configure.in (ac_cv_func_setitimer): moved from defines.h
- * include/ruby/ruby.h: Hide Symbol internals.
- (struct RSymbol): moved to internal.h
- (RSYMBOL): ditto
+ * defines.h, rubysig.h, signal.c: removed macro handling which
+ should be done in configure.
-Thu May 29 00:28:56 2014 Tanaka Akira <akr@fsij.org>
+ * configure.in (intrinsics.h): check if present.
- * ext/socket/unixsocket.c (rsock_init_unixsock): Open a socket
- after path length check.
- This fixes a fd leak by TestSocket_UNIXSocket#test_too_long_path.
+ * ruby.h: include intrinsics.h if available.
-Wed May 28 23:04:35 2014 Tanaka Akira <akr@fsij.org>
+ * bignum.c, marshal.c: include ieeefp.h if available.
- * test/ruby/test_io.rb (test_flush_in_finalizer1): Use
- ObjectSpace.each_object to close files.
- GC.start is not reliable.
+ * missing.h (isinf): define as a macro if finite() and isnan()
+ are available. [ruby-core:02032]
-Wed May 28 19:00:31 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 22 17:07:31 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/net/imap.rb (Net::IMAP#initialize): Close the opened socket when
- any exception occur.
- This fixes a fd leak by IMAPTest#test_imaps_post_connection_check
- which start_tls_session() raises an exception.
+ * configure.in (mingw): set isnan, finite and isinf to yes.
-Wed May 28 18:06:13 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 22 13:40:19 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work
- when SSL is not started.
- This fix the fd leak by test_https_proxy_authentication in
- test/net/http/test_https_proxy.rb.
+ * lib/soap/property.rb: passing block by reference.
-Wed May 28 10:29:28 2014 Eric Wong <e@80x24.org>
+Mon Dec 22 00:32:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vm.c (rb_vm_living_threads_foreach): remove function
- [ruby-core:62745]
- * thread.c (terminate_i): remove
- * thread.c (terminate_all): implement (inlines old terminate_i)
- * thread.c (rb_thread_terminate_all): use terminate_all
- * thread.c (rb_thread_fd_close_i): remove
- * thread.c (rb_thread_fd_close): iterate inline
- * thread.c (thread_list_i): remove
- * thread.c (rb_thread_list): iterate inline
- * thread.c (rb_thread_atfork_internal): iterate inline
- * thread.c (terminate_atfork_i): update types to remove casts
- * thread.c (terminate_atfork_before_exec_i): ditto
- * thread.c (struct thgroup_list_params): remove definition
- * thread.c (thgroup_list_i): remove
- * thread.c (thgroup_list): iterate inline
- * thread.c (check_deadlock_i): remove
- * thread.c (debug_deadlock_check): implement (inlines check_deadlock_i)
- * thread.c (debug_i): remove
- * thread.c (rb_check_deadlock): iterate inline
- * vm.c (vm_mark_each_thread_func): remove
- * vm.c (rb_vm_mark): iterate inline
- * vm_core.h (rb_vm_living_threads_remove): remove
- * vm_trace.c (clear_trace_func_i): remove
- * vm_trace.c (rb_clear_trace_func): iterate inline
+ * eval.c (rb_with_disable_interrupt): use ENABLE_INTS instead of
+ ALLOW_INTS which may switch context. [ruby-dev:22319]
-Wed May 28 09:30:51 2014 Eric Wong <e@80x24.org>
+ * ext/syck/emitter.c (syck_emitter_write): str bigger than
+ e->bufsize causes buffer overflow. [ruby-dev:22307]
- * 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]
+Sun Dec 21 17:29:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 28 01:02:54 2014 Tanaka Akira <akr@fsij.org>
+ * class.c (rb_check_inheritable): new function. [ruby-dev:22316]
- * lib/tempfile.rb (Tempfile#inspect): Show "(closed)" if the tempfile
- is closed.
+ * intern.h: add prototype.
-Wed May 28 00:38:09 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (superclass): use rb_check_inheritable().
- * test/lib/minitest/unit.rb: Use Tempfile#close! instead of
- Tempfile#unlink to close file descriptors.
+ * object.c (rb_class_initialize): check argument validity.
- * test/openssl/test_config.rb: Ditto.
+Sun Dec 21 16:25:10 2003 Tanaka Akira <akr@m17n.org>
- * test/ruby/test_io.rb: Ditto.
+ * 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#+.
-Wed May 28 00:06:18 2014 Tanaka Akira <akr@fsij.org>
+Sun Dec 21 00:12:37 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/net/ftp.rb (transfercmd): Close TCP server socket even if an
- exception occur.
+ * ext/tk/lib/tk.rb: add new methods (TkScrollbar#assign, assign_list)
-Tue May 27 23:50:07 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/sample/tkmultilistframe.rb: use TkScrollbar#assign method
- * lib/cgi/core.rb: Use Tempfile#close! instead of Tempfile#unlink
- to close file descriptors.
+Sat Dec 20 21:59:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue May 27 23:06:46 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): refine regexp.
- * parse.y (parser_number_literal_suffix): refine error message for
- extra dot and digits.
+ * lib/webrick/cgi.rb (CGI#start): NPH scripts return status line
+ instead of Status: header field.
-Tue May 27 22:44:20 2014 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/cgi.rb (CGI::Socket): refine some coditions.
- * test/rexml: Avoid fd leaks.
+Sat Dec 20 16:07:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 27 22:24:25 2014 Kouhei Sutou <kou@cozmixng.org>
+ * lib/optparse.rb (OptionParser::Completion::complete): wrong
+ Regexp for word boundary. pointed out by Gavin Sinclair.
- * test/rexml/test_document.rb: Indent.
+ * lib/optparse.rb (OptionParser::make_switch): [no-] prefix was
+ missing.
-Tue May 27 22:15:29 2014 Kouhei Sutou <kou@cozmixng.org>
+Sat Dec 20 11:40:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rexml/test_document.rb: Wrap by REXMLTests module.
+ * lib/yaml.rb (YAML::YAML): adjust Marshal version.
-Tue May 27 22:11:10 2014 Kouhei Sutou <kou@cozmixng.org>
+Sat Dec 20 03:56:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/rexml/test_encoding_2.rb: Remove a needless file.
+ * eval.c (rb_with_disable_interrupt): prohibit thread context
+ switch during proc execution. [ruby-dev:21899]
-Tue May 27 22:10:30 2014 Kouhei Sutou <kou@cozmixng.org>
+Sat Dec 20 02:41:02 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/rexml/test_contrib.rb: Indent.
+ * lib/webrick/cgi.rb: add file. (yet another CGI library)
-Tue May 27 21:28:16 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * MANIFEST: add lib/webrick/cgi.rb.
- * ext/socket/ifaddr.c (ifaddr_inspect_flags): support IFF_SIMPLEX.
+Sat Dec 20 02:18:31 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue May 27 21:03:03 2014 Kouhei Sutou <kou@cozmixng.org>
+ * misc/ruby-mode.el (ruby-calculate-indent): proper indentation
+ inside of parentheses. [ruby-dev:22308]
- * test/rexml/: Use REXMLTests as wrapping module for REXML tests.
- I avoid using the same module for library in test because
- it provides "include REXML" environment in test. Normally,
- users don't use REXML on "include REXML" environment. So I
- don't want to write tests on "include REXML" environment.
+Fri Dec 19 21:24:22 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue May 27 20:59:37 2014 Kouhei Sutou <kou@cozmixng.org>
+ * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): should not set
+ HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH.
- * test/rexml/test_comment.rb: Remove needless REXML module wrapping.
+ * lib/webrick/https.rb (HTTPRequest#parse): should check presence
+ of cert() method to detect SSLSocket.
-Tue May 27 20:56:49 2014 Kouhei Sutou <kou@cozmixng.org>
+Fri Dec 19 22:56:46 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/openssl/test_pkcs7.rb: Fix inverted expected and actual values.
+ * lib/soap/property.rb (SOAP::Property#load): new method for loading
+ property value into existing property tree.
-Tue May 27 20:26:06 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/soap/test_property.rb: add test.
- * test/ruby/test_io.rb (test_flush_in_finalizer1): some opened fds are
- remain before GC, so unlink the tempfile is failed.
+Fri Dec 19 19:21:49 2003 akira yamada <akira@ruby-lang.org>
-Tue May 27 19:07:26 2014 Tanaka Akira <akr@fsij.org>
+ * lib/runit/cui/testrunner.rb (RUNIT::CUI::TestRunner::run):
+ should use Test::Unit::UI::{PROGRESS_ONLY,VERBOSE}.
- * io.c (rb_io_autoclose_p): Don't raise on frozen IO.
+Fri Dec 19 17:36:49 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * test/lib/minitest/unit.rb: IO#autoclose? may raise IOError.
+ * ext/tk/sample/tkmultilistbox.rb: bug fix
-Tue May 27 19:01:49 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/tk/sample/tkmultilistframe.rb: new sample script
- * test/openssl/test_pair.rb: Modify TestSSL#test_read_and_write
- to handle partial sysreads. [Bug #7398][ruby-core:49563]
- * test/openssl/test_ssl.rb: ditto.
+Fri Dec 19 03:44:27 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue May 27 18:46:23 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/webrick/httputils.rb (parse_form_data): should return an
+ empty Hash if the body is empty.
- * test/openssl/test_pkcs7.rb: Add tests for PKCS7#type= and add_data.
- [Feature #7399][ruby-core:49565]
+Thu Dec 18 21:47:35 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue May 27 17:45:09 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/mkmf.rb (create_makefile): should remove deffile if it's
+ made by miniruby. based on nobu's patch.
- * test/openssl/test_hmac.rb (test_binary_update): Added Test for
- HMAC signing with UTF-8 String. [Bug #7512][ruby-core:50559]
+Thu Dec 18 21:44:21 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue May 27 17:10:14 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (stack_extend): ignore inline optimization on VC7.
- * test/runner.rb: fixed randomly test failure.
- [Bug #6573][ruby-core:45563]
+ * win32/Makefile.sub (OS, RT): can override.
-Tue May 27 16:58:12 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * win32/Makefile.sub (LDFLAGS): ditto. shouldn't use pdb:none
+ option. based on Tietew's patch [ruby-dev:22289]
- * test/test_timeout.rb (test_timeout): inverted test condition.
- [Bug #8523]
+Thu Dec 18 16:38:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 27 12:24:22 2014 Tanaka Akira <akr@fsij.org>
+ * dir.c (fnmatch): unlike find_dirsep(), rb_path_next() never
+ return NULL.
- * test/lib/minitest/unit.rb: Show leaked file descriptors.
+Thu Dec 18 15:27:59 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue May 27 11:12:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/ipaddr.rb (IPSocket::getaddress): merge usa's patch.
+ [ruby-dev:21678]
- * io.c (rb_io_fileno, rb_io_inspect): non-modification does not
- error on frozen IO. [ruby-dev:48241] [Bug #9865]
+Wed Dec 17 15:15:30 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue May 27 00:00:21 2014 yui-knk <spiketeika@gmail.com>
+ * lib/cgi.rb (CGI::QueryExtension::Value::[]): should work like
+ String#[] if more than one arguments are specified.
- * insns.def (defineclass): fix typo in the instruction comment.
- [fix GH-618]
+ * lib/delegate.rb: avoid using common instance name as "@obj".
-Mon May 26 16:33:15 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/cgi.rb (CGI::QueryExtension::Value): Value is no longer
+ subclass of String, but DelegateClass(String).
- * test/ruby/test_file.rb: skip the test of atime on Windows, because
- Windows delays updating atime about 1 hour.
- see more details:
- http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx
+ * ext/curses/extconf.rb: restore function check for init_color.
+ [ruby-list:38905]
-Mon May 26 12:25:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * Makefile.in: need to specify $(MAINLIBS) for the miniruby
+ generation rule.
- * lib/optionparser.rb, lib/optparse.rb (OptParse): aliases.
- [ruby-core:62751] [Feature #9864]
+ * configure.in: better FreeBSD -lc_r support.
-Mon May 26 07:59:34 2014 Tanaka Akira <akr@fsij.org>
+Wed Dec 17 00:16:14 2003 Minero Aoki <aamine@loveruby.net>
- * test/lib/minitest/unit.rb: Show Finished threads line-by-line.
+ * ext/strscan/strscan.c: new method
+ StringScanner#beginning_of_line? (alias #bol?)
-Mon May 26 01:39:02 2014 Zachary Scott <e@zzak.io>
+ * ext/strscan/strscan.c: new method StringScanner#concat and #<<.
- * lib/csv.rb: Reject nil as data source for CSV.new, patch by @Peeja.
- [Fixes GH-580] https://github.com/ruby/ruby/pull/580
+ * ext/strscan/strscan.c: StringScanner#new(str) does not duplicate
+ nor freeze STR (allow destructive modification).
-Mon May 26 01:07:51 2014 Tanaka Akira <akr@fsij.org>
+ * test/strscan/test_stringscanner.rb: test new methods above.
- * test/lib/minitest/unit.rb: Show leaked threads and tempfiles
- line-by-line.
+ * test/strscan/test_stringscanner.rb: test destructive string
+ modification.
-Sun May 25 23:02:06 2014 Tanaka Akira <akr@fsij.org>
+Tue Dec 16 21:20:47 2003 Tanaka Akira <akr@m17n.org>
- * test/lib/minitest/unit.rb (MiniTest::Assertions#diff): Remove
- tempfiles.
+ * lib/pp.rb: don't use local variable `pp'.
-Sun May 25 22:42:27 2014 Tanaka Akira <akr@fsij.org>
+ * lib/prettyprint.rb: ditto.
- * test/lib/minitest/unit.rb: Check tempfile leak for each test class.
+Tue Dec 16 13:20:43 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sun May 25 20:31:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: condition bug of if statement on
+ {pack,grid}_propagate methods
- * configure.in (ac_cv_func_{getcontext,setcontext}): do not
- disable ucontext.h entirely, but disable use of functions only.
- `ucontext_t` is necessary in the signal handler now.
+Tue Dec 16 03:17:29 2003 why the lucky stiff <why@ruby-lang.org>
-Sun May 25 20:00:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/yaml/rubytypes.rb: comments in strings. [ruby-talk:88012]
- * signal.c (check_stack_overflow): revert part of r46100, the
- previous condition was correct, and fix compilation error on
- other architecture linux. [ruby-core:62746] [Bug #9862]
+ * test/yaml/test_yaml.rb: add test.
-Sun May 25 17:09:13 2014 Tanaka Akira <akr@fsij.org>
+Tue Dec 16 01:14:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/lib/minitest/unit.rb: Less ObjectSpace.each_object(Tempfile)
- invocation.
+ * eval.c (catch_timer): check rb_thread_crtical in main native
+ thread.
-Sun May 25 16:54:06 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (thread_timer): just sends signals periodically, to
+ prevent main native thread from receiving them in critical
+ section. [ruby-core:01959]
- * test/lib/minitest/unit.rb: Use Thread.list instead of
- ObjectSpace.each_object(Thread).
+Mon Dec 15 13:32:22 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun May 25 15:53:54 2014 Tanaka Akira <akr@fsij.org>
+ * dir.c (check_dirname): check string safety and remove extraneous
+ trailing directory separators. [ruby-dev:22279]
- * lib/rinda/ring.rb (Rinda::RingServer#shutdown): Join the killed
- threads.
+ * file.c: renamed and externalized rb_path_next,
+ rb_path_skip_prefix, rb_path_last_separator, rb_path_end.
-Sun May 25 15:26:17 2014 Tanaka Akira <akr@fsij.org>
+ * intern.h: prototypes for rb_path_next, rb_path_skip_prefix,
+ rb_path_last_separator, rb_path_end.
- * lib/webrick/utils.rb: Override the inspect method of the thread
- used in WEBrick::Utils::TimeoutHandler.
+Mon Dec 15 09:27:46 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun May 25 14:22:30 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): first argument
+ of rb_protect should take an argument of VALUE.
- * test/openssl: Join threads.
+Sun Dec 14 18:46:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sun May 25 12:46:47 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (Init_socket): IPv6 is not supported although
+ AF_INET6 is defined on MinGW.
- * error.c (rb_bug_context): new function to report bug with
- context.
+ * lib/ipaddr.rb (AF_INET6): workaround in the environment which does
+ not support IPv6.
- * vm_dump.c (rb_vm_bugreport): accepts `ucontext_t` argument to
- dump machine registers. based on [GH-584].
+Sat Dec 13 18:55:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * signal.c (sigbus, sigsegv): dump machine registers if available.
+ * ext/iconv/charset_alias.rb: preserve original order.
-Sun May 25 12:32:42 2014 Tanaka Akira <akr@fsij.org>
+ * ext/iconv/extconf.rb: remove wrapper file at clean.
- * test/lib/minitest/unit.rb: Sort leaked threads and tempfiles.
+Sat Dec 13 18:09:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun May 25 12:15:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (thread_timer): use timer by sub-thread and nanosleep.
+ [ruby-talk:87519]
- * signal.c (check_stack_overflow): fix condition to use ucontext
- register, mcontext_t dereference, and its member names, on Mac
- OS X.
+ * gc.c (Init_stack): no stack adjustment for THREAD_SAFE.
-Sun May 25 11:58:26 2014 Zachary Scott <e@zzak.io>
+Sat Dec 13 17:17:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * enumerator.c: [DOC] Fix example to show Enumerator#peek behavior
- Patch by Erik Hollembeak [Bug #9814]
+ * eval.c (proc_alloc): cache the created object at first time.
+ [ruby-talk:61288], [ruby-dev:22240]
-Sun May 25 11:56:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Dec 13 09:01:23 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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]
+ * configure.in: check ucontext.h.
-Sun May 25 11:32:42 2014 Zachary Scott <e@zzak.io>
+ * eval.c: use getcontext/setcontext() instead of setjmp/longjmp()
+ on ia64 or with native thread enabled. [ruby-core:01932]
- * lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]
- * test/psych/*: ditto.
+Sat Dec 13 03:09:14 2003 why the lucky stiff <why@ruby-lang.org>
-Sun May 25 10:34:15 2014 Zachary Scott <e@zzak.io>
+ * lib/yaml/rubytypes.rb: anonymous struct fix. [ruby-core:01946]
- * doc/regexp.rdoc: [DOC] Clarify whitespace matching by @allolex
- [Fixes GH-606] https://github.com/ruby/ruby/pull/606
+ * test/yaml/test_yaml.rb: add test.
-Sun May 25 10:19:34 2014 Zachary Scott <e@zzak.io>
+Fri Dec 12 22:36:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * enum.c: [DOC] Use #find in example to clarify alias by @rachellogie
- Patch submitted via documenting-ruby/ruby#34
+ * lib/csv.rb: add Cell#to_str and Cell#to_s for /.../ =~ aCell,
+ "#{aCell}" and so on.
-Sun May 25 10:16:43 2014 Zachary Scott <e@zzak.io>
+ * test/csv/test_csv.rb: add tests.
- * cont.c: [DOC] Fix rdoc in example for Fiber#transfer by @majjoha
- Patch submitted via documenting-ruby/ruby#33
+Fri Dec 12 19:33:06 2003 Minero Aoki <aamine@loveruby.net>
-Sun May 25 10:01:11 2014 Zachary Scott <e@zzak.io>
+ * lib/fileutils.rb (mkdir): remove trailing `/' from pathes.
- * lib/irb.rb: [DOC] Fixed syntax error in example by @jasdeepsingh.
- Patch submitted via documenting-ruby/ruby#32
+ * lib/fileutils.rb (rmdir): ditto. [ruby-dev:22238]
-Sun May 25 09:58:02 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/fileutils.rb (rmdir_r): ditto.
- * test/fileutils/test_fileutils.rb (test_chown_R): Add tests for
- chown_R. [Feature #9383][ruby-core:59641]
+ * lib/fileutils.rb (fu_copy_dir): check if it is a directory after
+ mkdir(2).
-Sun May 25 09:57:09 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Dec 12 06:06:09 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/test_fileutils.rb: Added recursively chown tests.
- [Feature #9303][ruby-core:59325]
+ * eval.c (proc_invoke): fix class name in warning message for
+ define_method. [ruby-dev:22235]
-Sun May 25 09:41:56 2014 Zachary Scott <e@zzak.io>
+Thu Dec 11 21:24:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * class.c: [DOC] Fixed grammar and examples of instance_methods.
- By @alex-frost via documenting-ruby/ruby#31
+ * ext/openssl/ossl_pkcs12.[ch]: new files. add OpenSSL::PKCS12.
-Sun May 25 09:40:44 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl.[ch]: ditto.
- * test/lib/minitest/unit.rb: Show leaked threads and tempfiles.
+ * ext/openssl/MANIFEST: add ossl_pkcs12.[ch].
-Sun May 25 08:54:38 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Thu Dec 11 20:54:28 2003 Minero Aoki <aamine@loveruby.net>
- * test/openssl/test_partial_record_read.rb: Testing read_nonblock on
- a partial TLS record results in IO::WaitReadable by @mohamedhafez.
- [fix GH-547]
+ * lib/fileutils.rb (mkdir_p): remove trailing `/' befere mkdir(2).
+ mkdir("nonexistdir/") does not work on NetBSD/Alpha 1.6.1.
-Sun May 25 08:43:16 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/fileutils.rb (fu_list): call to_str for all arguments.
- * lib/logger.rb: refactored to include Logger::Period.
+Thu Dec 11 20:07:01 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sun May 25 06:50:19 2014 Zachary Scott <e@zzak.io>
+ * lib/ftools.rb (makedirs): sync with fileutils.
- * vm_eval.c: [DOC] Improve instance_eval description when given a
- block or String arguments. By @nathanl via documenting-ruby/ruby#28
+Thu Dec 11 19:53:03 2003 Minero Aoki <aamine@loveruby.net>
-Sun May 25 06:29:39 2014 Zachary Scott <e@zzak.io>
+ * lib/fileutils.rb (mkdir_p): catch all SystemCallErrors.
+ (mkdir("C:\") causes EACCESS on Windows 2000/NTFS)
- * array.c: [DOC] Clarify default argument for Array.new.
- By @Elffers [Fixes GH-610]
+Thu Dec 11 19:08:02 2003 Minero Aoki <aamine@loveruby.net>
-Sat May 24 22:37:20 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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)
- * array.c: [DOC] Add more documents to shuffle! and shuffle.
- Contributed by @JuanitoFatas [ci skip][fix GH-612]
+Thu Dec 11 18:49:30 2003 Minero Aoki <aamine@loveruby.net>
-Sat May 24 22:28:55 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/fileutils.rb: def m( arg ) -> def m(arg).
- * test/lib/minitest/.document: removed unused configuration.
+Thu Dec 11 11:39:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 24 19:08:47 2014 Tanaka Akira <akr@fsij.org>
+ * configure.in (ieeefp.h), numeric.c: needed for finite() on
+ Solaris. [ruby-core:01921]
- * test/lib/minitest/spec.rb: Unused file removed.
+ * file.c (rb_stat_inspect): adjust format specifier.
- * test/lib/minitest/autorun.rb: Don't require minitest/spec.
+ * parse.c (arg_prepend): nodetype() is for debug use.
- * test/lib/minitest/benchmark.rb: Ditto.
+ * ruby.h (ISASCII, etc): cast to int to get rid of warning.
-Sat May 24 18:45:30 2014 Tanaka Akira <akr@fsij.org>
+ * ruby.h (alloca.h): include even in GCC. [ruby-core:01925]
- * test/benchmark/test_benchmark.rb: Use test/unit.
+ * ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
+ specifier.
-Sat May 24 16:20:59 2014 Eric Wong <e@80x24.org>
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
+ BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.
- * process.c (proc_getgroups, proc_setgroups): use ALLOCV_N
- [Bug #9856]
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.
-Sat May 24 15:49:39 2014 Tanaka Akira <akr@fsij.org>
+ * ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
+ volatile.
- * test/lib/minitest/unit.rb (parallelize_me!): Removed.
- This fixes the line-by-line structure of the test result in verbose
- mode. [ruby-core:54905]
+ * ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
+ format specifier.
- * test/lib/minitest/parallel_each.rb: Removed.
+ * ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
+ define unless used.
- * test/minitest/test_minitest_mock.rb: Don't call parallelize_me!.
+ * ext/pty/pty.c (getDevice): get rid of warning.
- * test/minitest/test_minitest_spec.rb: Ditto.
+ * ext/socket/socket.c (port_str, sock_s_getaddrinfo,
+ sock_s_getnameinfo): FIX2INT() now returns long.
- * test/minitest/test_minitest_unit.rb: Ditto.
- Tests for parallel feature removed.
+ * ext/socket/socket.c (init_inetsock_internal): uninitialized
+ variable.
-Sat May 24 15:29:10 2014 Tanaka Akira <akr@fsij.org>
+ * ext/syck/rubyext.c (syck_parser_assign_io): add prototype.
- * test/lib/minitest/hell.rb: Unused file removed.
+ * 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.
- * test/lib/minitest/pride.rb: Ditto.
+Wed Dec 10 19:28:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 24 15:05:32 2014 yui-knk <spiketeika@gmail.com>
+ * ext/stringio/stringio.c (strio_read): set EOF flag at short read.
+ [ruby-dev:22223], [ruby-dev:22224]
- * enumerator.c (yielder_yield_push): Insert a break after the
- method return value. [fix GH-617]
+Wed Dec 10 18:07:25 2003 Minero Aoki <aamine@loveruby.net>
-Sat May 24 14:59:12 2014 Tanaka Akira <akr@fsij.org>
+ * lib/erb.rb: new method ERB#filename(=). [ruby-dev:22208]
- * test/lib/minitest: Remove comments not appropriate now.
+Wed Dec 10 17:54:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/minitest: Ditto.
+ * ext/stringio/stringio.c (strio_read): do not set EOF flag when
+ requested length is zero. [ruby-dev:22214]
-Sat May 24 14:02:04 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Dec 10 17:17:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * NEWS: added minitest changes.
+ * io.c (read_all): should return given string even if data read is
+ empty. [ruby-dev:22207]
-Sat May 24 13:42:46 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Wed Dec 10 17:16:06 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/lib/test/unit/test-unit.gemspec: removed needless gemspec file.
+ * ext/stringio/stringio.c (strio_read): adjust behavior at reading
+ beyond EOF to IO. [ruby-dev:22205]
-Sat May 24 09:39:06 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/ruby/ut_eof.rb (TestEOF::Seek): test behaviors at reading
+ beyond EOF.
- * defs/default_gems: removed minitest entry.
+ * test/ruby/test_file.rb, test/stringio/test_stringio.rb: include
+ TestEOF::Seek test case.
-Sat May 24 06:17:33 2014 Ryan Davis <ryand-ruby@zenspider.com>
+Wed Dec 10 15:01:19 2003 Shugo Maeda <shugo@ruby-lang.org>
- * lib/minitest: minitest 4.7.5 removed. Need to support proper
- gem packaging / installation before minitest 5 can be added.
+ * test/monitor/test_monitor.rb (test_cond): use Queue#deq
+ instead of sleep.
-Sat May 24 05:54:06 2014 Tanaka Akira <akr@fsij.org>
+Wed Dec 10 14:45:39 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * ext/socket/mkconstants.rb: More constants
+ * 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)
-Sat May 24 00:25:34 2014 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * ext/pty/pty.c (establishShell): should close descriptors if fork
+ failed.
- * NEWS: add information of incompatibility about Prime.prime?
- * lib/prime.rb: fix docs.
+Wed Dec 10 12:53:05 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri May 23 21:36:28 2014 Josh Goebel <dreamer3@gmail.com>
+ * win32/win32.h: define execv() using do_aspawn().
- * 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]
+ * process.c (proc_exec_v): remove #ifdef's which stopped needing.
-Fri May 23 03:48:08 2014 Eric Wong <e@80x24.org>
+Tue Dec 9 23:32:23 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (rb_free_m_tbl): mark function as static
+ * 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'
- * method.h (rb_free_m_tbl): remove prototype
+Tue Dec 9 19:53:02 2003 akira yamada <akira@ruby-lang.org>
-Thu May 22 22:58:27 2014 Tanaka Akira <akr@fsij.org>
+ * lib/uri/generic.rb (URI::Generic#route_from0): make case insensitive
+ for host-part.
- * ext/socket/mkconstants.rb: More TCP option constants.
- Describe Linux and glibc versions.
+ * test/uri/test_generic.rb (test_route): added tests for the above
+ change.
-Thu May 22 20:38:10 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Dec 9 14:10:48 2003 Tanaka Akira <akr@m17n.org>
- * file.c (stat_birthtime): add birthtime support [Feature #9647]
+ * 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.
- * file.c (rb_stat_birthtime): add File::Stat.birthtime
+Tue Dec 9 02:53:55 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * file.c (rb_file_s_birthtime): add File.birthtime
+ * ext/tk/sample/tkalignbox.rb: new sample script
- * file.c (rb_file_birthtime): add File#birthtime
+Tue Dec 9 00:45:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * configure.in: check struct stat.st_birthtimespec.
+ * lib/test/unit/assertions.rb: renamed #assert_raises to #assert_raise
+ and made the former call the latter. [ruby-core:01890]
-Thu May 22 19:38:14 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/testunit/test_assertions.rb: ditto.
- * file.c: remove IO::Statfs because of reject. [Feature #9772]
+Tue Dec 9 00:07:35 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu May 22 14:02:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/rpc/standaloneServer.rb: add 'shutdown' and 'status'
+ methods as delegates to WEBrick.
- * enc/jis/props.kwd: constify character property tables of JIS
- based encodings by perfect hash.
+ * 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.
- * enc/euc_jp.c, enc/shift_jis.c: use character property functions.
+Mon Dec 8 22:48:03 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 21 12:21:10 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/autorunner.rb: remove dependency to a particular
+ runner. [ruby-core:01901], [ruby-list:38869]
- * ext/socket/option.c: Fix compilation error on Android.
- Bionic doesn't define TCP state constants.
+ * lib/test/unit/ui/testrunnerutilities.rb: moved output level
+ constants from Console.
-Wed May 21 11:42:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/ui/console/testrunner.rb: ditto.
- * configure.in: workaround for Info.plist to get rid of `dsymutil`
- crash by wrong files in parent directories.
- [ruby-core:62594] [Bug #9840]
+ * lib/test/unit/ui/{fox,gtk,gtk2,tk}/testrunner.rb (initialize):
+ accept output_level.
-Tue May 20 20:57:34 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Mon Dec 8 15:03:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_dir.rb (test_glob): added testcase of double
- slash path.
+ * ext/syck/syck.c (syck_io_str_read): get rid of buffer overflow.
-Tue May 20 04:58:54 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 8 13:02:11 2003 Minero Aoki <aamine@loveruby.net>
- * ext/socket/extconf.rb: Don't check fields of struct tcp_info if the
- structure is not available.
+ * lib/uri/common.rb: new method URI.regexp. [ruby-dev:22121]
-Mon May 19 23:13:33 2014 Tanaka Akira <akr@fsij.org>
+ * test/uri/test_common.rb: add test for URI.regexp.
- * ext/socket/option.c (inspect_tcp_info): Permit longer data. (glibc
- 2.7 adds tcpi_rcv_rtt, tcpi_rcv_space and tcpi_total_retrans to
- struct tcp_info.)
+Mon Dec 8 12:44:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon May 19 20:49:07 2014 Tanaka Akira <akr@fsij.org>
+ * pack.c: define swap16 and swap32 only if they are not
+ defined. OpenBSD defines these macros. [ruby-dev:22181]
- * ext/socket/option.c (inspect_tcp_info): New function to inspect
- struct tcp_info.
- (sockopt_inspect): Use inspect_tcp_info.
+Sun Dec 7 20:54:17 2003 Tanaka Akira <akr@m17n.org>
- * ext/socket/extconf.rb: Check tcp_info related things.
+ * 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.
- * ext/socket/rubysocket.h: Include netinet/tcp_fsm.h if available.
+Sat Dec 6 22:58:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Mon May 19 19:36:39 2014 Tanaka Akira <akr@fsij.org>
+ * 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.
- * test/dbm/test_dbm.rb: Use Etc.uname.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_connect): call ossl_start_ssl.
- * test/gdbm/test_gdbm.rb: Ditto.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto.
-Mon May 19 16:54:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read): allow signal traps.
- * ext/etc/etc.c (etc_uname): add support for Windows using
- GetVersionExW(), GetSystemInfo(), and GetComputerNameExW() with
- `ComputerNameDnsHostname`. [Feature #9842]
+Sat Dec 6 21:45:10 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Mon May 19 16:29:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (flush_before_seek): flush before seek on any platform.
- * string.c (rb_pat_search): advance by byte offset but not by char
- offset. [ruby-core:62669] [Bug #9849]
+ * configure.in: ditto.
-Mon May 19 14:06:18 2014 Shota Fukumori <her@sorah.jp>
+Sat Dec 6 17:23:00 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * bin/testrb: Removed. Forgot to remove in r45971.
- [Feature #9711] [ruby-core:62620]
+ * lib/soap/soap.rb(SOAP::Env.getenv): allow upcase environment variable
+ as well as downcase one.
-Sun May 18 16:42:08 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/netHttpClient.rb(SOAP::NetHttpClient#proxy=): check URI.
- * test/ruby/test_m17n_comb.rb (test_str_crypt): Use Etc.confstr to
- detect the glibc version.
- libc.so is not an executable on Debian GNU/kFreeBSD 7.0 (wheezy).
+Fri Dec 5 23:22:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun May 18 12:15:54 2014 Jonathan Mukai-Heidt <johnnymukai@gmail.com>
+ * 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.
- * io.c (argf_each_line, argf_inplace_mode_set): [DOC] Update ARGF
- documentation examples. `ARGF.lines` has been deprecated in
- favor of `ARGF.each_line`. [Fixes GH-615]
+ * test/testunit/test_assertions.rb (test_assert_raises): test for
+ multiple exception list. [ruby-core:01891]
-Sun May 18 11:59:25 2014 Tanaka Akira <akr@fsij.org>
+ * test/testunit/test_assertions.rb (test_assert_nothing_raised): test
+ for non-exception classes.
- * missing/nextafter.c: Include ruby/missing.h.
+Fri Dec 5 22:23:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun May 18 11:09:28 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/netHttpClient.rb: proxy support did not work. fixed.
- * win32/Makefile.sub: Add nextafter.obj to MISSING.
+ * 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 18 10:46:04 2014 Tanaka Akira <akr@fsij.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.
- * ext/etc/etc.c: Etc.sysconf, Etc.confstr and IO#pathconf implemented.
+ * test/soap/test_property.rb, test/soap/test_streamhandler.rb: new file.
- * ext/etc/extconf.rb: Check sysconf(), confstr() and fpathconf().
+Fri Dec 5 17:26:23 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/etc/mkconstants.rb: New file.
+ * eval.c (rb_exec_end_proc): maintain tmp_end_procs.
+ [ruby-dev:22154]
- [ruby-core:62600] [Feature #9842]
+Fri Dec 5 13:36:59 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun May 18 09:58:17 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_exec_end_proc): should not clear end_procs and
+ ephemeral_end_procs before execution. [ruby-dev:22144]
- * ext/etc/etc.c: Etc.uname method implemented.
+ * eval.c (rb_obj_extend): call Module#extended hook after
+ extended_object. [ruby-list:38866]
- * ext/etc/extconf.rb: Check uname() function.
+ * object.c (Init_Object): Module#extended defined.
- [ruby-core:62139] [Feature #9770]
+Fri Dec 5 13:17:30 2003 Tanaka Akira <akr@m17n.org>
-Sun May 18 09:16:33 2014 Tanaka Akira <akr@fsij.org>
+ * test/ruby/test_pipe.rb: use IO.pipe instead of IO.popen.
- * configure.in: Check nextafter() availability.
+Fri Dec 5 11:54:45 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * include/ruby/missing.h (nextafter): New optional declaration.
+ * ext/stringio/stringio.c (strio_read): follow IO#read.
- * missing/nextafter.c: New file.
+ * test/ruby/ut_eof.rb, test/ruby/test_file.rb, test/ruby/test_pipe.rb,
+ test/stringio/test_stringio.rb: add EOF test.
- * numeric.c: Float#next_float and Float#prev_float implemented.
+Fri Dec 5 02:49:35 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- [ruby-core:62562] [Feature #9834]
+ * lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises):
+ allow multiple exception list. [ruby-core:01884]
-Sun May 18 09:02:17 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_nothing_raised):
+ check whether arguments are subclass of Exception.
- * enum.c: Enumerable#slice_after implemented.
+Thu Dec 4 23:54:00 2003 Rick Ohnemus <rick.ohnemus@systemware.com>
- * enumerator.c: Enumerator::Lazy#slice_after implemented.
+ * dln.c (aix_loaderror): should not use member named 'errno' which
+ might be a macro (e.g. on AIX).
- Requested by Tsuyoshi Sawada. [ruby-core:58123] [Feature #9071]
+Thu Dec 4 23:32:26 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun May 18 08:22:25 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (read_all): do not depend on lseek position.
+ [ruby-dev:22026]
- * io.c (io_setstrbuf): always check if the buffer is modifiable.
- [ruby-core:62643] [Bug #9847]
+Thu Dec 4 22:37:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun May 18 01:21:23 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_eval): preserve $! value when retry happens in the
+ rescue clause. [ruby-talk:86697]
- * include/ruby/ruby.h: Hide Rational internal.
- (RRational): Moved to internal.h
- (RRATIONAL): Ditto.
- (RRATIONAL_SET_NUM): Moved to rational.c.
- (RRATIONAL_SET_DEN): Ditto.
+Thu Dec 4 21:50:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * rational.c (rb_rational_num): New function.
- (rb_rational_den): Ditto.
+ * lib/drb/drb.rb (DRb::DRbMessage::send_request, send_reply):
+ should rescue errors and re-raise DRbConnError on write too.
+ [ruby-dev:22132]
- * include/ruby/intern.h (rb_rational_num): Declared.
- (rb_rational_den): Ditto.
+Thu Dec 4 16:41:17 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c: Follow the above change.
+ * parse.y (exc_list): allow expanding list. [ruby-dev:22134]
- * ext/date/date_core.c: Ditto.
+Thu Dec 4 14:09:24 2003 Minero Aoki <aamine@loveruby.net>
- [ruby-core:60665] [Feature #9513]
+ * 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.
-Sat May 17 17:04:32 2014 Shota Fukumori <her@sorah.jp>
+Thu Dec 4 13:24:13 2003 Shugo Maeda <shugo@ruby-lang.org>
- * NEWS: Add news about removal of lib/test/**/*.rb.
+ * lib/monitor.rb: use Object#__send__ instead of Object#send.
-Sat May 17 16:57:33 2014 Shota Fukumori <her@sorah.jp>
+Thu Dec 4 13:17:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/test: Removed because ruby's test cases now independent to
- lib/test by r45970. [Feature #9711] [ruby-core:62620]
+ * lib/soap/streamHandler.rb: support latest released version of
+ http-access2.
- I'm still considering about the future of lib/minitest, lib/test.
- (bundling gems?)
+Thu Dec 4 13:04:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat May 17 15:06:40 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/soap/soap.rb: add SOAP::Env module for environment repository
+ such as HTTP_PROXY.
- * test/runner.rb: remove dependency test-unit and minitest
- from stdlib when running with test-all.
- [Feature #9711][ruby-core:61890]
- * test/testunit/*.rb: ditto.
- * test/lib: ditto.
+ * lib/soap/property.rb: property implementation.
-Sat May 17 11:02:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/soap/streamHandler.rb, lib/soap/wsdlDriver.rb,
+ lib/soap/rpc/driver.rb: use soap/property.rb.
- * dir.c (glob_helper): try match PLAIN as well as ALPHA, which are
- separated by previous commits. [ruby-core:61552] [Bug #9648]
+ * lib/wsdl/importer.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb:
+ use SOAP::Env.
- * dir.c (glob_make_pattern): set PLAIN for non-magical path to
- skip parts which not need to glob.
- [ruby-core:61552] [Bug #9648]
+ * lib/soap/netHttpClient.rb: add basic_auth, ssl_config, and cookie
+ management interface, but ignored for now.
- * dir.c (has_magic): return ALPHA at alphabetical name regardless
- FNM_CASEFOLD flag.
+ * 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.
- * dir.c (glob_helper): fix conditions for ALPHA.
- [ruby-core:61552] [Bug #9648]
+Thu Dec 4 10:43:58 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat May 17 01:49:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/dl/sym.c (rb_dlsym_guardcall): __declspec(noinline) is VC7
+ feature.
- * dir.c (glob_helper): reduce matching at non-magical path on
- Windows.
+Thu Dec 4 10:27:12 2003 Minero Aoki <aamine@loveruby.net>
-Sat May 17 01:49:23 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/http.rb: update hyperlink to the Japanese document.
- * dir.c (glob_pattern_type): separate names with alphabet but no
- magical from plain.
+Thu Dec 4 09:12:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * dir.c (glob_helper): match plain names as-is to treat super-root
- same as the root. [ruby-core:61552] [Bug #9648]
+ * ext/openssl/ossl_asn1.c (asn1time_to_time): should check that
+ the underlying value of ASN1_TIME isn't NULL. [ruby-core:01881]
-Fri May 16 17:38:22 2014 Koichi Sasada <ko1@atdot.net>
+Thu Dec 4 08:29:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * gc.c (gc_marks, gc_marks_body): increase the counter of young objects
- at the major GC because AGE2Promotion changes all old objects into
- young objects at major GC.
+ * lib/webrick/server.rb (GenericServer#start): should rescue
+ Exception to avoid unexpected aborting. [ruby-core:01853]
-Fri May 16 17:26:24 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/webrick/server.rb (GenericServer#start_thread): should check
+ that peeraddr isn't nil before printing.
- * gc.c (gc_before_sweep): heap_pages_swept_slots should contains
- heap_pages_increment.
+ * lib/webrick/httpresponse.rb (HTTPResponse#start_thread): should
+ rescue Exception to avoid unexpected aborting of thread.
- For example, GC by exceeding malloc_limit can remain
- heap_pages_increment.
+Thu Dec 4 03:48:59 2003 Tanaka Akira <akr@m17n.org>
-Thu May 15 21:18:43 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * lib/pathname.rb (Pathname#link, Pathname#symlink): obsoleted.
+ (Pathname#make_link, Pathname#make_symlink): new method.
- * configure.in: enable SSE2 on mingw. target='i386-pc-mingw32'.
- [ruby-core:62095] [Bug #8358]
+Thu Dec 4 01:45:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu May 15 21:04:06 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * io.c (argf_read): should not terminate on empty string; wait
+ until real EOF. [ruby-dev:21969]
- * 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]
+ * io.c (argf_read): should adjust length to read, when length is
+ specified and read spans command line argument files.
- * test/testunit/test_parallel.rb (TestParallel): add a test.
+Wed Dec 3 19:38:36 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * test/testunit/tests_for_parallel/ptest_forth.rb: ditto.
+ * lib/drb/drb.rb: correct fcntl parameter. [ruby-dev:22120]
-Thu May 15 18:57:23 2014 Koichi Sasada <ko1@atdot.net>
+Wed Dec 3 13:49:07 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * gc.c (garbage_collect_body): move gc_heap_prepare_minimum_pages()
- from gc_sweep().
+ * ext/tk/lib/tk.rb: 'format'==>'Kernel.format' (avoid override trouble)
-Thu May 15 18:51:25 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/tk/lib/tkafter.rb: ditto.
- * gc.c (heap_extend_pages): calculate next growing heap size.
+ * ext/tk/lib/tkcanvas.rb: ditto.
- * gc.c (heap_set_increment): accept addition pages instead of
- minimum pages.
+ * ext/tk/lib/tkdialog.rb: ditto.
- * gc.c (gc_after_sweep): use heap_etend_pages().
+ * ext/tk/lib/tktext.rb: ditto.
- * gc.c (gc_heap_prepare_minimum_pages): add only 1 page.
+Wed Dec 3 13:28:13 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (heap_ready_to_gc): add only 1 page.
+ * Makefile.in (lex.c): try gperf first, and copy from the source
+ directory if failed. [ruby-dev:22123]
-Thu May 15 18:42:49 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/extmk.rb (MTIMES): let makefiles depend to mkmf.rb.
- * gc.c: introduce macros to remove magic number.
+ * lib/mkmf.rb (configuration): DLDFLAGS was duplicated.
- GC_HEAP_FREE_SLOTS_MIN_RATIO = 0.3: guarantee minimum empty slots
- ratio after sweep.
- GC_HEAP_FREE_SLOTS_MAX_RATIO = 0.8: allow to free pages 0.2 (= 1-0.8)
- of current existing slots.
+Tue Dec 2 23:18:12 2003 Minero Aoki <aamine@loveruby.net>
-Thu May 15 17:32:51 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * lib/net/http.rb: wrote the warning about HTTP_PROXY environment
+ variable.
- * 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 Dec 2 21:31:42 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 14 19:31:03 2014 Koichi Sasada <ko1@atdot.net>
+ * bin/testrb: new test runner. [ruby-core:01845]
- * ext/openssl/depend: remove dependency from internal headers.
- [Feature #9612]
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner.run,
+ Test::Unit::AutoRunner#process_args): take test list to run and
+ options.
- * ext/openssl/ossl.c (ossl_fips_mode_set): ditto.
+ * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::RUNNERS,
+ Test::Unit::AutoRunner#run): should not exit inside a library,
+ just return the result instead.
- * ext/coverage/depend: ditto.
+ * lib/test/unit.rb: ditto.
- * include/ruby/thread_native.h: added.
+ * test/runner.rb: exit with the test result.
- This header file only provides wrapper functions to control
- native threads. These wrapper functions are used by MRI
- implementation.
+Tue Dec 2 20:18:48 2003 Eric Sunshine <sunshine@sunshineco.com>
- * vm_core.h: use include/ruby/thread_native.h.
+ * configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
+ instead of Bison or byacc.
- * thread.c: ditto.
+ * 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.
- * thread_pthread.h: ditto.
+Tue Dec 2 20:03:20 2003 Minero Aoki <aamine@loveruby.net>
- * thread_win32.h: ditto.
+ * test/fileutils/test_fileutils.rb: check if Pathnames are usable
+ for arguments.
- * thread_native.h: removed.
+Tue Dec 2 04:22:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Wed May 14 18:03:28 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/test/unit/assertions.rb: fixed #assert_no_match message.
- * gc.c: enable RGENGC_AGE2_PROMOTION.
+ * test/testunit/test_assertions.rb: ditto.
-Wed May 14 18:02:30 2014 Koichi Sasada <ko1@atdot.net>
+Tue Dec 2 00:43:00 2003 why the lucky stiff <why@ruby-lang.org>
- * gc.c (rgengc_rememberset_mark): promote remembered object earlier.
+ * ext/syck/syck.c: string buffering bug. decrementing by full
+ max_size now. [ruby-core:01834]
-Mon May 12 23:57:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 1 21:33:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in (rb_cv_atan2_inf_c99): check whether runtime atan2
- handles Inf as C99. [ruby-core:62536] [Bug #9831]
+ * numeric.c (num_sadded): prohibit singleton method definition for
+ Numerics. fill yet another gap between Fixnum and Bignum.
-Mon May 12 20:33:01 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 1 17:33:47 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * configure.in: Invoke AC_REPLACE_FUNCS for each function.
+ * pack.c (htov16): converts endian using swap16. htov32(), hton16,
+ hton32 as well. [ruby-talk:85377]
-Mon May 12 19:52:11 2014 Koichi Sasada <ko1@atdot.net>
+ * pack.c (swap16): swap 2 bytes no matter how big short is on the
+ platform. swap32() is also prepared.
- * gc.c: count young object correctly and show it in GC.stat
- on RGENGC_AGE2_PROMOTION.
+ * numeric.c (rb_num2int): returns long to preserve information.
+ rb_fix2int(), rb_num2uint(), rb_fix2uint() as well.
+ [ruby-talk:85377]
- * gc.c (RVALUE_PROMOTE_YOUNG): decrement young object count on
- YOUNG->OLD.
+ * numeric.c (rb_num2uint): should not check for value range if the
+ source value is negative.
- * gc.c (obj_free): decrement young object count when young object
- freed.
+Mon Dec 1 17:14:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (gc_marks): should not clear young object count.
+ * sample/optparse/opttest.rb: added.
- * gc.c (gc_stat_internal): GC.stat :young_object information.
+Mon Dec 1 16:10:52 2003 Dave Thomas <dave@pragprog.com>
-Mon May 12 01:30:59 2014 Tanaka Akira <akr@fsij.org>
+ * lib/rdoc/rdoc.rb: (etc) initial merge into main tree.
- * ext/socket/ifaddr.c (IS_IFADDRS): Unused macro removed.
+Mon Dec 1 14:17:49 2003 Minero Aoki <aamine@loveruby.net>
- * ext/strscan/strscan.c (BUFSIZE): Ditto.
+ * lib/fileutils.rb (fu_each_src_dest0): call #to_str to allow
+ Pathname for arguments. [ruby-core:01795]
- * ext/zlib/zlib.c (OBJ_IS_FREED): Ditto.
+ * test/fileutils/test_fileutils.rb: does much strict test on
+ "same" files detecting.
-Sun May 11 22:27:18 2014 Tanaka Akira <akr@fsij.org>
+Mon Dec 1 09:28:14 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * compile.c (BUFSIZE): Unused macro removed.
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (XCFLAGS): re-export $(XCFLAGS).
- * vm.c (BUFSIZE): Ditto.
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (ARCH_FLAG): export $(ARCH_FLAG) (perhaps empty value).
- * pack.c (INT64toNUM): Ditto.
- (UINT64toNUM): Ditto.
- (BYTEWIDTH): Ditto.
+Mon Dec 1 01:03:27 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * time.c (lshift): Ditto.
- (UINT64toNUM): Ditto.
- (id_lshift): Unused variable removed.
+ * lib/mkmf.rb (TRY_LINK, link_command): added support for DLDFLAGS
+ and ARCH_FLAG. [ruby-dev:22085]
-Sun May 11 21:23:27 2014 Tanaka Akira <akr@fsij.org>
+Sun Nov 30 20:18:07 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * pack.c (swaps): Unused macro removed.
- (swapi): Ditto.
- (swapl): Ditto.
- (swapll): Ditto.
+ * configure.in: keep ARCH_FLAG separate. export ARCH_FLAG.
+ [ruby-core:01819]
-Sun May 11 08:02:49 2014 Eric Wong <e@80x24.org>
+ * Makefile.in: add ARCH_FLAG to CFLAGS.
- * vm_core.h (rb_vm_t): list_head and counter for living_threads
- (rb_thread_t): vmlt_node for living_threads linkage
- (rb_vm_living_threads_init): new function wrapper
- (rb_vm_living_threads_insert): ditto
- (rb_vm_living_threads_remove): ditto
- * vm.c (rb_vm_living_threads_foreach): new function wrapper
- * thread.c (terminate_i, thread_start_func_2, thread_create_core,
- thread_fd_close_i, thread_fd_close): update to use new APIs
- * vm.c (vm_mark_each_thread_func, rb_vm_mark, ruby_vm_destruct,
- vm_memsize, vm_init2, Init_VM): ditto
- * vm_trace.c (clear_trace_func_i, rb_clear_trace_func): ditto
- * benchmark/bm_vm_thread_close.rb: added to show improvement
- * ccan/build_assert/build_assert.h: added as a dependency of list.h
- * ccan/check_type/check_type.h: ditto
- * ccan/container_of/container_of.h: ditto
- * ccan/licenses/BSD-MIT: ditto
- * ccan/licenses/CC0: ditto
- * ccan/str/str.h: ditto (stripped of unused macros)
- * ccan/list/list.h: ditto
- * common.mk: add CCAN_LIST_INCLUDES
- [ruby-core:61871][Feature #9632 (part 1)]
+ * Makefile.in: add @CPPFLAGS@ to CPPFLAGS.
-Sun May 11 01:10:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/mkmf.rb (link_command, cc_command): use ARCH_FLAG.
- * signal.c (rb_f_kill): directly enqueue an ignored signal to self,
- except for SIGSEGV and SIGBUS. [ruby-dev:48203] [Bug #9820]
+ * lib/mkmf.rb (configuration): add ARCH_FLAG to DLDFLAGS.
-Sat May 10 22:37:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * Makefile.in: add ARCH_FLAG to DLDFLAGS.
- * dir.c (push_glob): match in UTF-8 on Mac OS X.
- [ruby-dev:48213] [Bug #9825]
+ * configure.in: should put getcwd in AC_CHECK_FUNCS, not
+ AC_REPLACE_FUNCS. [ruby-core:01826]
-Sat May 10 13:32:18 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Nov 30 18:22:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * 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]
+ * configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS,
+ DLDFLAGS and LDSHARED.
-Sat May 10 09:32:19 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * configure.in: XCFLAGS for compiling ruby itself. ARCH_FLAG is
+ reflected in CFLAGS.
- * man/ruby.1: remove deadlink. [ruby-core:62145][Bug #9773]
+ * lib/mkmf.rb: ditto. do not import XCFLAGS from config.status.
-Sat May 10 08:47:36 2014 Tanaka Akira <akr@fsij.org>
+Sun Nov 30 17:37:36 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * signal.c (trap): Return "SYSTEM_DEFAULT" if SIG_DFL is set.
+ * ext/tk/lib/tk.rb: bug fix [ruby-talk:86746]
-Fri May 9 14:27:05 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Nov 30 13:02:00 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.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]
+ * lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying
+ Conditional Expressions.
-Fri May 9 03:59:06 2014 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * lib/wsdl/soap/definitions.rb: refactoring - Move Method.
- * lib/delegate.rb: Fix example of using delegator.
- patched from Andrey Koleshko. [Fixes GH-505]
+ * test/xsd/{test_noencoding.rb,noencoding.xml}: new files. test for
+ encoding unspecified XML file parsing.
-Fri May 9 03:42:43 2014 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * test/wsdl/{test_fault.rb,map,datetime}: new files. test of
+ SOAPFault, dateTime and Apache's Map.
- * lib/shell.rb: add documentation in lib/shell.rb
- patched from reprah. [Fixes GH-516]
+Sun Nov 30 09:35:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri May 9 03:28:04 2014 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * string.c (rb_str_update): get rid of SEGV at just allocated String.
+ [ruby-core:01812]
- * lib/fileutils.rb: show fileutils require at top.
- patched from Richard Schneeman. [Fixes GH-604]
+Fri Nov 28 23:19:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri May 9 03:07:09 2014 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * gc.c (gc_mark): explicitly check mark recursion levels, instead
+ of unreliable stack length.
- * lib/prime.rb (Prime#prime?): negative numbers can't be primes
- by definition. reported by Ivan Kataitsev. [Bug #7395]
- * test/test_prime.rb: add test.
+Fri Nov 28 22:49:56 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Thu May 8 14:34:29 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rinda/rinda.rb: fix TupleSpaceProxy#read, read_all.
- * class.c (rb_mod_init_copy): always clear instance variable,
- constant and method tables first, regardless the source tables.
- [ruby-dev:48182] [Bug #9813]
+Fri Nov 28 21:44:40 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Thu May 8 10:53:14 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb (test_ln_s): should be a file, not
+ a directory for FreeBSD.
- * configure.in: OpenBSD needs to include sys/param.h before include
- sys/mount.h. [ruby-dev:48167]
+Fri Nov 28 19:37:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu May 8 10:17:04 2014 Karsten Sperling <karsten@sperling.co.nz>
+ * hash.c (env_has_value, env_index): must match exactly.
- * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): stop
- handling requests on shutdown, even if the socket is readable
- and IO.select() returns true. [Fixes GH-607]
+ * test/ruby/test_env.rb (test_has_value, test_index): condition for
+ aboves.
- * lib/webrick/server.rb (WEBrick::GenericServer#start): IO.select()
- raises ENOTSOCK on shutdown on Windows.
+Fri Nov 28 17:59:20 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed May 7 21:45:00 2014 Tanaka Akira <akr@fsij.org>
+ * test/ruby/test_env.rb: add tests for ENV.
- * 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]
+Fri Nov 28 17:47:46 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Wed May 7 17:24:07 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/drb/drb.rb (DRbMessage#load): rescue Errno::* and raise
+ DRbConnError.
- * numeric.c (num_step_scan_args): check keyword arguments and fail
- if they conflict with positional arguments.
- [ruby-dev:48177] [Bug #9811]
+Fri Nov 28 15:41:15 2003 Tanaka Akira <akr@m17n.org>
-Wed May 7 12:06:14 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/pathname.rb (Pathname#realpath): obsolete the force_absolute
+ argument.
- * benchmark/driver.rb: remove debug output and output results into
- specified file.
+Fri Nov 28 14:41:52 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed May 7 11:55:40 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/soap/streamHandler.rb: drop unused http parameters.
- * benchmark/driver.rb: add '--rawdata-output=[FILE] option to output
- raw results into FILE.
+ * 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.
-Wed May 7 11:25:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/wsdl/raa/*: add tests.
- * vm_eval.c (rb_f_local_variables): exclude variables hidden by
- shadowing. [ruby-core:60501] [Bug #9486]
+ * 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.
- * vm.c (collect_local_variables_in_iseq): ditto.
+ * test/soap/test_basetype.rb, test/xsd/test_xsd.rb: add tests.
-Tue May 6 23:29:05 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Nov 28 04:15:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (new_bv_gen): no duplicated names, if already added in
- shadowing_lvar().
+ * eval.c (method_arity): used wrong Proc object. [ruby-talk:86504]
- * parse.y (local_tbl_gen): remove local variables duplicated with
- arguments.
- [ruby-core:60501] [Bug #9486]
+Fri Nov 28 00:47:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue May 6 18:48:50 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_f_exit), process.c (rb_f_exit_bang): treat true as
+ success, false as failure. [ruby-dev:22067]
- * lib/time.rb (Time.make_time): Adjust the time zone of "now".
+ * eval.c (rb_f_abort, rb_thread_switch), process.c (rb_f_system): use
+ ANSI macro instead of hard coded value.
-Tue May 6 18:33:12 2014 Tadayoshi Funaba <tadf@dotrb.org>
+ * eval.c (rb_f_exit), process.c (rb_f_exit_bang): use VALUEs not but
+ TYPEs.
- * io.c (io_{read,write}_nonblock): use rb_get_kwargs instead of
- rb_hash_aref.
+Thu Nov 27 22:05:48 2003 Akinori MUSHA <knu@iDaemons.org>
-Tue May 6 18:03:05 2014 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>]
- * lib/time.rb (Time.make_time): Argument validation code moved from
- Time.parse and Time.strptime.
+Thu Nov 27 17:36:42 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Tue May 6 17:27:06 2014 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.
- * 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]
+Thu Nov 27 16:58:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue May 6 04:31:48 2014 Tadayoshi Funaba <tadf@dotrb.org>
+ * win32/win32.c (rb_w32_stat): remove _fullpath() for NUL: device.
- * file.c (rb_f_test): removed meaningless "case 'a'".
+Wed Nov 26 15:38:47 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue May 6 01:28:14 2014 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_fileutils.rb (test_ln_s): should take the
+ existing symbolic link for OpenBSD.
- * lib/open-uri.rb (OpenURI.open_uri): Call StringIO#close only if
- the StringIO object is not closed yet.
- Reported by Jordi Massaguer Pla. [ruby-core:42538] [Bug #6010]
+Wed Nov 26 04:48:42 2003 why the lucky stiff <why@ruby-lang.org>
-Tue May 6 01:08:01 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/syck/token.c: removed YYTOKTMP references which
+ were causing buffer overflows on large block scalars,
+ comments, quoted scalars and plain scalars.
- * benchmark/driver.rb: define File::NULL if not defined and /dev/null
- is available to run benchmark driver on ruby 1.9.2.
+ * ext/syck/rubyext.c: dynamic changing of buffer size.
-Mon May 5 23:53:24 2014 Tanaka Akira <akr@fsij.org>
+ * ext/syck/syck.h: default buffer size of 4k.
- * ext/socket/mkconstants.rb: Add IP_TRANSPARENT.
- IP_TRANSPARENT is provieded since glibc-2.12.
- Reported by Eliezer Croitoru. [ruby-core:50372] [Bug #7476]
+Wed Nov 26 00:55:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Mon May 5 22:29:47 2014 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/httpresponse.rb: add HTTPResponse#keep_alive=.
- * process.c (check_exec_redirect): Open the file in write mode for
- redirect from [:out, :err].
- Proposed and implemented by Yusuke Endoh.
- [ruby-dev:41430] [Feature #3348]
+ * lib/webrick/httpserver.rb (HTTPServer#run): should pass the
+ request's keep_alive flag to the response.
-Mon May 5 21:52:35 2014 Tanaka Akira <akr@fsij.org>
+Tue Nov 25 21:41:35 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * 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]
+ * defines.h (ENV_IGNORECASE): should define when DOSISH without
+ human68k. [ruby-dev:22047]
- * ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto.
+ * hash.c (env_has_value, env_index): don't ignore case of value.
+ [ruby-dev:22048]
-Mon May 5 21:48:04 2014 Tanaka Akira <akr@fsij.org>
+Tue Nov 25 21:39:37 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+.
- Suggested by Alexey Muranov. [ruby-core:61432] [Feature #9625]
+ * file.c (path_check_1): honor sticky bits always.
+ [ruby-talk:86273]
-Mon May 5 17:26:09 2014 Tadayoshi Funaba <tadf@dotrb.org>
+Tue Nov 25 20:02:14 2003 Minero Aoki <aamine@loveruby.net>
- * math.c (rb_math_sqrt): omitted exporting an unused function,
- anyway.
- * internal.h: follows the above change.
+ * test/fileutils/test_fileutils.rb: do test in more deep
+ directory.
-Mon May 5 11:44:03 2014 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_nowrite.rb: ditto.
- * lib/time.rb (Time.strptime): Raise ArgumentError if Date._strptime
- doesn't extract date information.
- Reported by tadayoshi funaba. [ruby-core:62349]
+Tue Nov 25 19:04:23 2003 Tanaka Akira <akr@m17n.org>
-Mon May 5 01:12:27 2014 Tadayoshi Funaba <tadf@dotrb.org>
+ * lib/open-uri.rb (URI::Generic#find_proxy): ENV case sensitivity test
+ refined.
- * ext/date/date_core.c (rt_rewrite_frags): a new feature (not a
- bug fix) of strptime. applies offset even if the given date is
- not local time (%s and %Q). This is an exceptional feature and
- I do NOT recommend to use this at all. Thank you git community.
+Tue Nov 25 18:13:30 2003 Minero Aoki <aamine@loveruby.net>
-Sun May 4 20:51:32 2014 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_fileutils.rb: chdir Dir.tmpdir before each
+ test. [ruby-dev:22045]
- * lib/time.rb (Time.force_zone!): Use usual local time if it has
- expected offset from UTC.
+ * test/fileutils/test_nowrite.rb: ditto.
-Sun May 4 17:58:12 2014 Tanaka Akira <akr@fsij.org>
+Tue Nov 25 17:52:11 2003 Tanaka Akira <akr@m17n.org>
- * lib/time.rb (Time.force_zone!): New private method.
- (Time.make_time): Use Time.force_zone!.
- (Time.strptime): Ditto.
- (Time.rfc2822): Ditto.
- (Time.xmlschema): Ditto.
+ * lib/open-uri.rb (URI::Generic#find_proxy): use http_proxy under CGI
+ if the environment variable is case sensitive.
- * lib/rss/rss.rb (Time.w3cdtf): Use Time.force_zone!.
+Tue Nov 25 16:41:33 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun May 4 10:22:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb:
+ removed. this test requires extra libraries in soap4r/1.5.*.
- * math.c (math_atan2): return values like as expected by C99 if
- both two arguments are infinity. based on the patch by cremno
- phobia <cremno AT mail.ru> in [ruby-core:62310]. [Feature #9799]
+Tue Nov 25 16:24:42 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun May 4 03:46:42 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/**/*.rb, lib/wsdl/**/*.rb, lib/xsd/**/*.rb: changed license;
+ GPL2 -> Ruby's.
- * lib/time.rb (Time.httpdate): Always return a UTC Time object.
+ * lib/soap/rpc/driver.rb, lib/soap/wsdlDriver.rb,
+ lib/soap/streamHandler.rb: add interface to streamhandler.
-Sun May 4 03:26:39 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/marshal.rb: raise error if parse fails.
- * lib/time.rb (Time.make_time): Refactored.
+ * lib/soap/netHttpClient.rb: add https support. Patched by
+ Oliver M. Bolzer.
-Sun May 4 02:53:17 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/netHttpClient.rb: dump HTTP response message body by itself.
- * lib/time.rb (Time.rfc2822): Fix year completion.
- Produce fixed-offset time object if appropriate.
- (Time.xmlschema): Produce fixed-offset time object if appropriate.
+ * 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.
-Sat May 3 23:52:20 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/encodingstyle/soapHandler.rb: support Apache Axis's half
+ typed multi-ref array.
- * lib/time.rb (make_time): Produce fixed-offset time object if
- appropriate.
- (Time.strptime): Use d[:zone] instead of d[:offset].
+ * lib/soap/mapping/factory.rb, lib/soap/mapping/registry.rb: map
+ SOAPStruct which has multi-accessors which name are the same, to an
+ array.
- * lib/rss/rss.rb (Time.w3cdtf): Produce fixed-offset time object if
- appropriate.
+ * lib/soap/rpc/element.rb: fixed illegal parameter order.
-Sat May 3 20:21:38 2014 Tanaka Akira <akr@fsij.org>
+ * lib/soap/rpc/element.rb: element name of response message could have
+ the name other than 'return'.
- * lib/time.rb (Time.strptime): Use d[:offset] if d[:seconds] is not
- given.
- Reported by tadayoshi funaba. [ruby-core:62322]
+ * 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]
-Sat May 3 04:04:16 2014 Eric Wong <e@80x24.org>
+ * test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb: add
+ test for above fix.
- * complex.c (parse_comp): replace ALLOCA_N with ALLOCV_N/ALLOCV_END
- [Bug #9608]
- * rational.c (read_digits): ditto
+ * lib/wsdl/soap/complexType.rb: support WSDL array definition with
+ maxOccures="unbound".
-Sat May 3 00:06:30 2014 Naohisa Goto <ngotogenome@gmail.com>
+ * lib/xsd/charset.rb: use cp932 under emx. Patched by
+ Siena. / SHINAGAWA, Norihide in [ruby-dev:21972]
- * file.c (HAVE_STRUCT_STATVFS_F_BASETYPE): File::Statfs#fstypename
- is supported on AIX, HP-UX, and Solaris, by using the value of
- struct statvfs.f_basetype.
+ * lib/xsd/xmlparser/parser.rb: set @charset nil by default. Nil means
+ 'follow encoding declaration in XML'.
- * configure.in (HAVE_STRUCT_STATVFS_F_BASETYPE): check struct
- statvfs.f_basetype which is available on AIX, HP-UX, and Solaris.
+ * 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]
-Fri May 2 21:04:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/wsdl/emptycomplextype.wsdl, test/wsdl/test_emptycomplextype.rb:
+ simplify the test case.
- * parse.y (next_id): no reason to set ID_STATIC_SYM here, as ID
- returned by rb_intern3 can be a dynamic symbol and the static
- symbol flag is set otherwise. [Bug #9787]
+ * test/wsdl/axisArray/*: add tests for axis's array encoding.
-Fri May 2 11:32:51 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 25 16:15:29 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/ruby/test_io.rb (test_seek, test_seek_symwhence): defer
- File::Statfs#type call which may not be implemented, to mitigate
- errors on platforms where SEEK_DATA is available but f_type in
- struct statfs is not. [ruby-dev:48154] [Bug #9789]
+ * ruby.h: don't treat Cygwin as Windows.
-Fri May 2 10:37:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 25 15:18:28 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * parse.y (rb_id_attrset): turn dynamically interned Symbol into
- an ID, since rb_str_dynamic_intern returns a Symbol but not an
- ID. [ruby-core:62226] [Bug #9787]
+ * configure.in: change default value of --enable-pthread (default: no)
-Thu May 1 22:19:34 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Tue Nov 25 07:31:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c: Change AND condition to nested condition.
+ * parse.y (primary): allow newlines just before right argument
+ parenthesis. (ruby-bugs:PR#1221)
-Thu May 1 00:36:26 2014 Naohisa Goto <ngotogenome@gmail.com>
+Mon Nov 24 23:32:06 2003 Tanaka Akira <akr@m17n.org>
- * file.c (FSTATFS): check availability of struct statfs and
- struct statvfs in addition to fstatfs(2) and fstatvfs(2).
- This fixes error in Solaris. [Bug #9788] [ruby-dev:48145]
+ * 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.
-Wed Apr 30 19:46:23 2014 Narihiro Nakamura <authornari@gmail.com>
+Mon Nov 24 19:59:48 2003 Tanaka Akira <akr@m17n.org>
- * gc.c (gc_after_sweep): suppress unnecessary expanding heap.
- Tomb heap pages are freed pages here, so expanding heap is
- not required.
+ * lib/open-uri.rb (URI::Generic#find_proxy): use CGI_HTTP_PROXY
+ instead of HTTP_PROXY in the CGI environment.
-Wed Apr 30 17:58:40 2014 Koichi Sasada <ko1@atdot.net>
+Mon Nov 24 19:32:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * vm.c (invoke_block_from_c): add VM_FRAME_FLAG_BMETHOD to record
- it is bmethod frame.
+ * ext/etc/extconf.rb: check for pw_passwd in struct passwd and
+ gr_passwd in struct group for DJGPP.
- * vm.c (vm_exec): invoke RUBY_EVENT_RETURN event if rollbacked frame
- is VM_FRAME_FLAG_BMETHOD.
- [Bug #9759]
+ * ext/etc/etc.c: ditto.
- * test/ruby/test_settracefunc.rb: add a test for TracePoint/set_trace_func.
+ * ext/Setup.dj: support for curses, etc, zlib.
- * vm_core.h: rename rb_thread_t::passed_me to
- rb_thread_t::passed_bmethod_me to clarify the usage.
+Mon Nov 24 17:00:00 2003 Tanaka Akira <akr@m17n.org>
- * vm_insnhelper.c (vm_call_bmethod_body): use renamed member.
+ * lib/open-uri.rb: validate option names.
+ :content_length_proc and :progress_proc option implemented.
-Wed Apr 30 17:06:49 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Nov 24 14:53:10 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * parse.y (rb_id_attrset): pin down dynamic symbol only. it is
- possible that attrset ID can be registered as a static symbol
- after the corresponding attrget ID has been registered as a
- dynamic, and then the latter may be collected.
- [ruby-core:62226] [Bug #9787]
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (XCFLAGS): output empty value instead of `-DRUBY_EXPORT'.
-Tue Apr 29 14:17:57 2014 Tanaka Akira <akr@fsij.org>
+Sat Nov 22 23:09:45 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/tmpdir.rb: Rescue LoadError on etc.so for miniruby.
- Revert r45707, r45711, r45717.
+ * configure.in: set enable_pthread to no on MinGW.
-Tue Apr 29 12:50:02 2014 Tanaka Akira <akr@fsij.org>
+Sat Nov 22 22:56:20 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/fileutils.rb: Don't need to define fu_get_gid and fu_get_gid in
- rescue LoadError on 'etc'.
+ * configure.in: add --enable-pthread option (default: yes)
-Tue Apr 29 10:21:38 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+Sat Nov 22 22:48:46 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * parse.y (symbols_i): like r45492, call rb_gc_resurrect().
+ * ext/tk/lib/tk.rb: add Tk.grab_release and fix bug of TkComposite
-Tue Apr 29 04:29:05 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * ext/tk/lib/tkafter.rb: bug fix of TkAfter#start
- * file.c (HAVE_STRUCT_STATFS_T_F_FSTYPENAME): Add new macro for
- statfs_t.
- * file.c (HAVE_STRUCT_STATFS_T_F_TYPE): ditto.
+ * ext/tk/sample/tkcombobox.rb: new sample script
- * file.c (rb_io_statfs): check FSTATFS macro only instead of
- HAVE_FSTATFS and HAVE_FSTATVFS.
+ * ext/tcltklib/tcltklib.c: add native thread check
- * file.c (statfs_type): use new macro.
- * file.c (statfs_fstypename): ditto.
- * file.c (statfs_inspect): ditto.
+Sat Nov 22 18:49:47 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Apr 29 00:20:26 2014 Rajarshi Das <rajarshid@cybage.com>
+ * ext/curses/curses.c (window_nodelay): nodelay() of NetBSD's
+ libcruses returns no value, just like keypad().
- * bootstraptest/test_literal.rb: fix typo of "dynamic". [ci skip]
+Sat Nov 22 17:36:36 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * regexp.rdoc: fix typo of "organized". [ci skip]
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (HAVE_GETCWD): output to config.h.
- * lib/session.rb: fix typo of "recognized". [ci skip]
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
+ (XCFLAGS): output to config.status.
-Mon Apr 28 21:40:27 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Nov 22 13:10:10 2003 Minero Aoki <aamine@loveruby.net>
- * configure.in (HAVE_STRUCT_STATFS_F_TYPE): check struct statfs.f_type
- to support OpenBSD.
+ * lib/fileutils.rb (have_st_ino?): djgpp has valid st_ino.
- * file.c (statfs_type): use above macro to switch.
+Sat Nov 22 11:28:48 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * file.c (statfs_inspect): ditto.
+ * gc.c (Init_stack): stack region is far smaller than usual if
+ pthread is used.
-Mon Apr 28 18:06:08 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Nov 22 07:30:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * configure.in: check struct statvfs and struct statvfs.f_fstypename.
+ * lib/test/unit/util/backtracefilter.rb: fixed a bug that occurred
+ when an exception had no backtrace.
- * configure.in: on NetBSD fstatfs is obsoleted.
+ * test/testunit/util/test_backtracefilter.rb: ditto.
- * file.c: support NetBSD for File::Statfs.
+Fri Nov 21 16:44:18 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Mon Apr 28 17:42:42 2014 Narihiro Nakamura <authornari@gmail.com>
+ * ext/tk/lib/tkentry.rb: fix the encoding trouble of percent
+ substitutions on validatecommand option of TkEntry widget
- * gc.c: This argument must be a pointer.
+ * ext/tk/lib/tk.rb: fix bug on {pack|grid}_propagate() method
-Mon Apr 28 17:40:15 2014 Narihiro Nakamura <authornari@gmail.com>
+Fri Nov 21 16:12:11 2003 Akinori MUSHA <knu@iDaemons.org>
- * gc.c: Fix typos. These are undefined variables.
+ * ruby.1: Fix markups and grammar.
-Sun Apr 27 19:39:42 2014 Tadayoshi Funaba <tadf@dotrb.org>
+Fri Nov 21 14:49:42 2003 Minero Aoki <aamine@loveruby.net>
- * ext/date/date_strptime.c (date__strptime_internal): do not
- overwrite century.
+ * ruby.1: wrote about ruby related environment variables.
-Sat Apr 26 11:50:08 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Fri Nov 21 12:28:03 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_enum.rb (test_flat_map): Added test for flat_map.
- Contribute from @igaiga. [fix GH-598]
+ * marshal.c (w_extended): singleton methods should not be checked
+ when dumping via marshal_dump() or _dump(). [ruby-talk:85909]
-Sat Apr 26 10:55:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Nov 21 01:40:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * 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]
+ * configure.in: check <pthread.h>
-Sat Apr 26 08:05:36 2014 Tanaka Akira <akr@fsij.org>
+ * ruby.h: include pthread.h if existence.
+ define is_ruby_native() macro when not HAVE_NATIVETHREAD
- * test/ruby/test_process.rb (test_rlimit_nofile): Don't limit
- RLIMIT_NOFILE too small.
- This fix sporadic "[ASYNC BUG] thread_timer: select" on GNU/Linux.
+ * eval.c: undef is_ruby_native() function when not HAVE_NATIVETHREAD
-Fri Apr 25 22:54:34 2014 Naohisa Goto <ngotogenome@gmail.com>
+Fri Nov 21 00:43:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * 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/test/unit/assertions.rb: use #__send__ instead of #send.
-Fri Apr 25 19:16:30 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/testcase.rb: ditto.
- * lib/webrick/utils.rb: Don't rescue LoadError for 'etc' extension.
+Thu Nov 20 19:19:22 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Fri Apr 25 14:55:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in: don't find the Cygwin's pthread library on MinGW.
- * 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]
+Thu Nov 20 19:15:50 2003 Minero Aoki <aamine@loveruby.net>
-Fri Apr 25 13:11:49 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/fileutils.rb (have_st_ino?): emx (OS/2 with EMX) does not
+ have st_ino (always 0). [ruby-dev:21972]
- * configure.in: NetBSD's ksh, used by configure, needs escapes.
+ * lib/fileutils.rb (rename_cannot_overwrite_file?): emx does not
+ allow overwriting files by rename(2).
-Fri Apr 25 12:51:08 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb: windows? ->
+ have_drive_letter?, have_file_perm?
- * configure.in: correct pthread_setname_np's prototype on NetBSD.
- [Bug #9586]
+Thu Nov 20 17:50:58 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Apr 24 23:17:25 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/sample/tkballoonhelp.rb: new sample script
- * lib/fileutils.rb (fu_get_uid, fu_get_gid): Etc.getpwnam/getgrnam may
- returns nil.
+ * ext/tk/sample/tkmultilistbox.rb: ditto
- * lib/webrick/utils.rb (su): ditto.
+ * ext/tk/sample/tktextframe.rb: ditto
-Thu Apr 24 22:55:22 2014 Tanaka Akira <akr@fsij.org>
+Thu Nov 20 13:37:34 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * bootstraptest/test_io.rb: Add etc.so to $" before require 'tmpdir'.
+ * ruby.h: define is_ruby_native_thread() for no native thread
+ environment
-Thu Apr 24 21:09:55 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * eval.c: ditto
- * man/ruby.1: fix broken link.
+Thu Nov 20 12:42:47 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Thu Apr 24 20:53:02 2014 Tanaka Akira <akr@fsij.org>
+ * configure.in: always check existence of the pthread library
- * lib/tmpdir.rb: Don't need to rescue LoadError for etc.so.
+ * ruby.h: define macros for ruby's native thread check
-Thu Apr 24 17:39:53 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c: add ruby's native thread check
- * file.c (statfs_inspect): suppress warnings.
- assume those values won't be larger than LONG_LONG_MAX.
+ * gc.c: ditto
-Thu Apr 24 11:53:28 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 19 14:45:18 2003 Minero Aoki <aamine@loveruby.net>
- * 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]
+ * lib/net/http.rb (to_ary): print more friendly warning message.
-Thu Apr 24 11:21:37 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 19 14:32:08 2003 Minero Aoki <aamine@loveruby.net>
- * parse.y (rb_sym2id, rb_sym2id_without_pindown): return 0 for
- non-symbol values, for the time being.
+ * lib/fileutils.rb (fu_same?): add djgpp and wince.
-Thu Apr 24 05:50:13 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/fileutils.rb (cannot_overwrite_file?): add wince.
- * parse.y (dsym_node_gen): like r45492, call rb_gc_resurrect().
+Wed Nov 19 11:04:47 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Apr 23 20:36:22 2014 Tanaka Akira <akr@fsij.org>
+ * lib/fileutils.rb (cannot_overwrite_file?, have_st_ino?): bccwin32
+ is same as mswin32.
- * ext/etc/extconf.rb: Build ext/etc unconditionally.
+Wed Nov 19 07:54:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Wed Apr 23 14:10:50 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/test/unit.rb: do not run tests if $! is set.
- * file.c (statfs_fsid): remove statfs.f_fsid because it doesn't return
- meaningful value portably. http://togetter.com/li/658517
+ * lib/test/unit/assertionfailederror.rb: extend StandardError instead
+ Exception (irb catches the former but not the latter).
-Wed Apr 23 11:03:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 18 23:31:36 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * 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]
+ * missing/memmove.c (memmove): take void *, not char *.
-Wed Apr 23 00:43:00 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * missing.h (memmove): ditto.
- * win32/win32.c, include/ruby/win32.h (ustatfs): implementation of
- statfs(2) clone. [EXPERIMENTAL]
+ * missing.h (strchr, strrchr): return char *, not int.
- * file.c (rb_io_statfs): use above function.
+Tue Nov 18 22:20:10 2003 Minero Aoki <aamine@loveruby.net>
- * configure.in, win32/Makefile.sub (struct statfs): available.
+ * lib/fileutils.rb (fu_same?): temporal fix for windows.
-Tue Apr 22 23:56:24 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Nov 18 19:05:04 2003 Minero Aoki <aamine@loveruby.net>
- * file.c (rb_io_stafs): use statfs(2) if fstatfs(2) is unavailable.
+ * lib/fileutils.rb (fu_same?): check by inode instead of path
+ name, to detect two hard links pointing to the same content.
- * configure.in (fstatfs): check it.
+ * test/fileutils.rb: did not create correctly looped symlinks.
-Tue Apr 22 22:15:51 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Nov 18 18:23:05 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (rb_io_statfs): need to define even if the system doesn't have
- fstatfs(2).
+ * ext/stringio/stringio.c (strio_read): behave as IO at empty string.
+ [ruby-dev:21939], [ruby-dev:21941]
- * test/ruby/test_file.rb (TestFile#test_statfs): skip if IO#stafs is not
- implemented.
+ * ext/stringio/stringio.c (strio_getc, strio_getline): set EOF flag.
-Tue Apr 22 19:32:48 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/stringio/stringio.c (strio_rewind, strio_seek, strio_ungetc):
+ clear EOF flag.
- * file.c: newly added a class File::Statfs. (experimental)
+ * test/stringio/test_stringio.rb: imported from [ruby-dev:21941].
-Tue Apr 22 08:22:33 2014 Koichi Sasada <ko1@atdot.net>
+Tue Nov 18 14:06:35 2003 Minero Aoki <aamine@loveruby.net>
- * gc.c (objspace_malloc_increase): don't cause GC by malloc_increase
- when memop type is MEMOP_TYPE_REALLOC.
+ * lib/fileutils.rb (fu_each_src_dest): raise if src==dest.
+ [ruby-talk:85344] [ruby-core:01699]
- GC at realloc is not well maintained.
- We need a time to make it safe.
- [ruby-dev:48117]
+ * lib/fileutils.rb: use Object#is_a? instead of Class#=== to allow
+ e.g. remote objects for receivers.
-Tue Apr 22 06:54:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/fileutils.rb: FileTest -> File.
- * gc.c (objspace_malloc_increase): run full mark if 0x04 bit is
- set in ruby_gc_stress. [ruby-core:62103] [Feature #9761]
+ * lib/fileutils.rb: put parentheses for arguments of File.xxxx?
- * gc.c (objspace_malloc_increase): run GC after realloc not only
- malloc and calloc by GC.stress. [ruby-core:62103] [Feature #9761]
+ * test/fileutils/test_fileutils.rb (test_cp): test "cp a a".
-Mon Apr 21 19:12:20 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb (test_mv): test "mv a a".
- * string.c (rb_str_coderange_scan_restartable): coderange is always
- ENC_CODERANGE_VALID if the string is ASCII-8BIT and already has a non
- ASCII character.
+ * test/fileutils/test_fileutils.rb (test_ln): test "ln a a".
-Mon Apr 21 19:02:44 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/test_fileutils.rb (test_ln_s): test "ln_s a a".
- * string.c (coderange_scan): remove useless condition `p < e` after
- search_nonascii.
+ * test/fileutils/test_fileutils.rb (test_install): test "install a a".
- * string.c (rb_str_coderange_scan_restartable): ditto.
+ * test/fileutils/fileasserts.rb: new method assert_symlink.
-Mon Apr 21 18:55:21 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/fileutils/fileasserts.rb: assert_is_directory -> assert_directory.
- * ext/-test-/string/coderange.c: add Bug::String.new#coderange_scan
- to explicitly scan coderange.
+Mon Nov 17 19:38:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Apr 21 18:19:35 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * file.c (getcwdofdrv): avoid using getcwd() directly, use
+ my_getcwd() instead.
- * string.c (coderange_scan): remove unused logic.
+ * merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
+ <sunshine@sunshineco.com>. [ruby-core:01596]
- * string.c (rb_str_coderange_scan_restartable): ditto.
+Mon Nov 17 10:50:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Apr 21 14:11:48 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/optparse.rb (OptionParser::Completion::complete): allow least
+ common completion for three or more candidates.
- * ext/stringio/stringio.c (strio_putc): fix for non-ascii
- encoding, like as IO#putc. [ruby-dev:48114] [Bug #9765]
+Mon Nov 17 09:41:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Apr 20 12:57:15 2014 Masaya Tarui <tarui@ruby-lang.org>
+ * lib/test/unit/ui/tk/testrunner.rb,
+ lib/test/unit/ui/gtk/testrunner.rb:
+ run GUI main loop in sub thread.
- * st.c (st_foreach_check): change start point of search at check
- from top to current. [ruby-dev:48047] [Bug #9646]
+ * lib/test/unit/ui/gtk2/testrunner.rb: imported from rough.
-Sun Apr 20 08:41:33 2014 Andrew DeMaria <ademariad@gmail.com>
+ * lib/test/unit/autorunner.rb (keyword_display): sort keywords.
- * lib/mkmf.rb (link_command, libpathflag, create_makefile): prefer
- user specified `$LIBPATH` than `$DEFLIBPATH`. [ruby-core:62100]
- [ruby-trunk - Bug #9760]
+Sun Nov 16 18:10:57 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Apr 20 06:01:18 2014 Eric Wong <e@80x24.org>
+ * eval.c (rb_eval): iterator should return value from next inside
+ begin/rescue/end. (ruby-bugs:PR#1218)
- * gc.c (rb_gc_writebarrier): drop special case for big hash/array
- [Bug #9518]
+Sun Nov 16 13:26:07 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Apr 19 15:38:29 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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)
- * 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]
+ * eval.c (rb_eval): call "inherited" only when a new class is
+ generated; not on reopening.
-Sat Apr 19 10:07:24 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (eval): prepend error position in evaluating string to
+ "mesg" attribute string only when it's available and is a
+ string.
- * internal.h (struct RBignum): Use size_t for len.
+Sun Nov 16 12:16:10 2003 Minero Aoki <aamine@loveruby.net>
- * include/ruby/intern.h (rb_big_new): Use size_t instead of long to
- specify the size of bignum.
- (rb_big_resize): Ditto.
+ * lib/net/protocol.rb: logging response body. [experimental]
+ [ruby-list:38800]
- * bignum.c: Follow above changes.
+Sun Nov 16 10:49:38 2003 Gavin Sinclair <gsinclair@soyabean.com.au>
- * rational.c: Follow above changes.
+ * lib/thread.rb (Thread.exclusive): wrap method definition in
+ class Thread to enable rdoc to process.
- * marshal.c: Follow above changes.
+Sun Nov 16 09:45:23 2003 Minero Aoki <aamine@loveruby.net>
-Sat Apr 19 00:32:07 2014 Tanaka Akira <akr@fsij.org>
+ * lib/net/http.rb (set_debug_output): warn if method is called
+ after #start. [ruby-dev:38798]
- * numeric.c (rb_num2long): Returns a long.
- (rb_num2ulong): Returns a unsigned long.
+Sun Nov 16 04:41:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (rb_big2long): Returns a long.
- (rb_big2ulong): Returns a unsigned long.
+ * eval.c (eval): do not re-raise exception to avoid unnecessary
+ exception copying, instead modify exception and internal
+ information to adjust eval().
- * include/ruby/intern.h: Follow above changes.
+ * eval.c (backtrace): can return the current frame information
+ only if lev < -1.
- * include/ruby/ruby.h: Follow above changes.
- (rb_num2long_inline): No need to cast.
- (rb_num2ulong_inline): Ditto.
+Sat Nov 15 22:16:42 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Apr 19 00:17:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * /ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext):
+ refine error message.
- * string.c (SHARABLE_SUBSTRING_P): predicate if substring can be
- shared with the original string. true if just at the end of the
- original string, for the time being. all substring will be able to
- be shared in the future.
+Sat Nov 15 10:05:40 2003 Tanaka Akira <akr@m17n.org>
-Fri Apr 18 21:48:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/open-uri.rb (OpenURI.open_loop, OpenURI::HTTP#proxy_open):
+ refactored to support options.
+ (Buffer): maintain size by this class.
- * string.c (rb_str_new_frozen): consider the shared string at
- middle.
+Sat Nov 15 07:40:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * string.c (rb_str_subseq, rb_str_substr, str_byte_substr): share
- middle of a string.
+ * eval.c (rb_method_node): new API to retrieve method body.
-Fri Apr 18 15:40:05 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Fri Nov 14 13:21:30 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * string.c: use uintptr_t instead of VALUE because they are not ruby
- object.
+ * ext/tcltklib/tcltklib.c: fix (en-bugged at 2003/11/07)
-Fri Apr 18 14:51:42 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tk/lib/tkdialog.rb: TkDialog.new accepts a parent widget
+ argument [ruby-talk:85066]
- * string.c: check str_strlen's argument, and add comment or
- use NULL if simply it uses str's enc.
+Thu Nov 13 20:53:35 2003 Tanaka Akira <akr@m17n.org>
-Fri Apr 18 14:32:40 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/open-uri.rb (Kernel[#.]open): hard coded URI schemes removed.
+ [ruby-ext:02251]
- * string.c (str_strlen): use enc_strlen if the coderange is known.
+Thu Nov 13 19:17:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Apr 18 14:21:21 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/test/unit/ui/tk/testrunner.rb: use grid and panedwindow
+ (if available)
- * string.c (enc_strlen): move UTF-8 optimization from str_strlen to
- enc_strlen.
+Thu Nov 13 17:56:41 2003 Tanaka Akira <akr@m17n.org>
-Fri Apr 18 08:50:18 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/open-uri.rb (OpenURI.open_uri): use File::RDONLY.
+ reported by Take_tk <ggb03124@nifty.ne.jp>.
+ [ruby-ext:02245]
- * configure.in (rb_cv_getcwd_malloc): check if getcwd allocates
- buffer if NULL is given [ruby-core:62072] [Bug #9752]
+Thu Nov 13 16:45:53 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Apr 17 16:28:10 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * ext/openssl/ossl_x509req.c (ossl_x509req_to_der): add function for
+ X509::Request#to_der.
- * prelude.rb: [DOC] Update Thread::exclusive docs by @stevenharman.
+Thu Nov 13 11:31:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Apr 17 10:03:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/optparse.rb (OptionParser::Completion#complete): prior shorter
+ name to containing longer name.
- * lib/fileutils.rb (FileUtils#copy_entry): update rdoc about
- preserve option and permissions, following r31123.
- [ruby-core:62065] [Bug #9748]
+Thu Nov 13 06:08:54 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Apr 16 23:47:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: stop freezing some classes
- * enum.c (dont_recycle_block_arg): fix condition to recycle block
- argument. lambda with rest can get internal array directly.
- [ruby-core:62060] [Bug #9749]
+ * ext/tk/lib/multi-tk.rb: ditto.
-Wed Apr 16 09:51:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 12 17:32:49 2003 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/assertions.rb (assert_throws, assert_nothing_thrown):
+ uncaught throw in sub thread raises ThreadError.
-Tue Apr 15 19:36:42 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/test/unit/ui/tk/testrunner.rb (setup_ui): "expand" is not
+ necessary.
- * include/ruby/win32.h (rb_w32_cmdvector): removed.
+Wed Nov 12 14:09:43 2003 Shugo Maeda <shugo@ruby-lang.org>
- * win32/win32.c (rb_w32_sysinit): use WCHAR version of GetCommandLine()
- internally.
+ * test/monitor/test_monitor.rb: fix the timing problem by Queue.
- * win32/win32.c (w32_cmdvector): renamed from rb_w32_cmdvector. use
- WCHAR* instead of char* internally.
+Wed Nov 12 12:59:44 2003 Shugo Maeda <shugo@ruby-lang.org>
- these changes are expected to not changing the behavior yet.
+ * test/monitor/test_monitor.rb: added.
-Tue Apr 15 19:26:05 2014 Tanaka Akira <akr@fsij.org>
+Wed Nov 12 10:14:28 2003 Shugo Maeda <shugo@ruby-lang.org>
- * ext/extmk.rb: Re-generate extmk.mk and dummy makefiles only if
- really required.
- This fixes a problem to run multiple test-all concurrently as:
- make test-all & make test-all & make test-all & ...
+ * lib/monitor.rb: refactored. Thanks, Gennady Bystritsky.
-Tue Apr 15 12:49:53 2014 Sam Rawlins <sam.rawlins@gmail.com>
+Wed Nov 12 06:11:39 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * enum.c (enum_each_slice, enum_each_cons): make more efficient by
- allocating less and recycling block argument arrays if possible.
- [Fixes GH-596]
+ * ext/openssl/ossl.c (ossl_x509_sk2ary, ossl_x509crl_sk2ary):
+ add functions to convert STACK into Array.
-Mon Apr 14 18:44:45 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/openssl/ossl.h: add prototypes.
- * addr2line.c (fill_lines): get base addrs in fill_lines to use it
- with dladdr_fbases introduced at r45563.
- it didn't get before if the executable is not pie.
+ * 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.
-Mon Apr 14 18:05:48 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Wed Nov 12 00:47:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * addr2line.c (main_exe_path): support FreeBSD.
- At least sh, csh, tcsh, bash, and zsh sets realpath of the main
- executable for dladdr, but gdb doesn't.
+ * lib/test/unit/ui/testrunnermediator.rb: should require 'test/unit'.
-Mon Apr 14 17:20:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 11 23:54:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.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]
+ * lib/test/unit/ui/gtk/testrunner.rb: added a rescue clause to handle
+ the case when the requested font is not available.
-Sun Apr 13 12:46:58 2014 Tanaka Akira <akr@fsij.org>
+Tue Nov 11 22:44:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * bignum.c (SIZEOF_BDIGIT): Renamed from SIZEOF_BDIGITS.
+ * io.c (appendline): file may not end with newline. a bug if
+ READ_DATA_PENDING_PTR is defined. [ruby-talk:84925]
- * internal.h: Ditto.
+Tue Nov 11 10:42:41 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * marshal.c: Ditto.
+ * ext/tk/lib/tk.rb: raise an exception when creating TkWindow
+ object, because TkWindow class is an abstract class.
- * rational.c: Ditto.
+Tue Nov 11 03:30:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sun Apr 13 10:18:09 2014 Tanaka Akira <akr@fsij.org>
+ * lib/ext/openssl/ossl_conf.c (ossl_config_get_value): return nil
+ if the specified value doesn't exist.
- * common.mk: Unused target, $(MKMAIN_CMD), removed.
+ * lib/ext/openssl/ossl_conf.c (ossl_config_get_section): return
+ a empty hash if the specified section doesn't exist.
- * Makefile.in (MKMAIN_CMD): Unused macro removed.
+Mon Nov 10 11:40:29 2003 Shugo Maeda <shugo@ruby-lang.org>
- * win32/Makefile.sub (MKMAIN_CMD): Ditto.
+ * lib/monitor.rb (wait): return true on signal/broadcastfalse and
+ false on timeout. Thanks Gennady Bystritsky.
-Sat Apr 12 22:11:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Nov 10 00:07:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (sym_to_proc), proc.c (rb_block_clear_env_self): clear
- caller's self which is useless, so that it can get collected.
- [Fixes GH-592]
+ * parse.y (primary): primary_value may be 0 when syntax error.
+ [ruby-talk:84893]
-Sat Apr 12 09:26:48 2014 Eric Hodel <drbrain@segment7.net>
+Sun Nov 9 02:05:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * ext/openssl/ossl_ocsp.c: [DOC] Document OpenSSL::OCSP.
+ * lib/test/unit/assertions.rb: un-deprecated #assert_not_nil to
+ maintain symmetry with #assert_nil. Also added better output for
+ #assert_kind_of.
-Fri Apr 11 18:52:38 2014 Koichi Sasada <ko1@atdot.net>
+ * test/testunit/tc_assertions.rb: ditto.
- * array.c (ARY_SET): added.
+Sat Nov 8 18:50:20 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- ARY_SET() is same functionality of RARRAY_ASET(), but
- it has an assertion (`ary' doesn't have shared array).
+ * test/wsdl/raa/*: add new testcase for WSDL loading, parsing and
+ reading.
-Fri Apr 11 16:54:26 2014 Koichi Sasada <ko1@atdot.net>
+ * test/soap/marshal/*: backport from soap4r/1.5.1. all differences are
+ for ruby/1.6.
- * array.c: make shared arrays WB-protected objects.
+ * lib/soap/*: backport from soap4r/1.5.1. all differences are for
+ ruby/1.6.
- Shared arrays were WB-unprotected object because
- sharing array can modify shared array's buffer
- if it occupied shared array.
+ * lib/wsdl/data.rb, lib/wsdl/xmlSchema/data.rb: move definition of
+ ArrayTypeAttrName from ::WSDL::XMLSchema::* to ::WSDL::*.
+ [ruby-talk:84813]
- [sharing array (ary)] -> [shared array (shared)] -> <buff>
- | A
- +---------------------------------------+
- write `buff' with WB(ary, &buff[i], obj)
- -> if `ary' and `shared' are old, then only `ary'
- will be remembered.
- -> traverse from `ary'. But `shared' is old, so
- that written `obj' is not marked.
+ * lib/wsdl/soap/definitions.rb: element name typo in custom exception
+ struct definition which is needed for wsdlDriver; camelCase ->
+ underscore_name.
- It cause WB miss so that shared arrays were WB-unprotected.
- (WB-unprotected objects are marked everytime if it is living)
+Sat Nov 8 13:49:50 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- This patch insert WB() for `shared' if it is needed.
+ * configure.in: improvement of pthread check
-Fri Apr 11 15:05:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+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.
- * 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]
+Sat Nov 8 06:19:38 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_insnhelper.c (vm_search_super_method): allow bound
- UnboundMethod case.
+ * 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).
-Fri Apr 11 12:02:30 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tcltklib/README.1st: edit the description of '--with-pthread-ext'
- * addr2line.c (rb_dump_backtrace_with_lines): set base address
- which is retrieved from dladdr to dladdr_fbases, to skip already
- parsed objects.
+Fri Nov 7 23:23:04 2003 Tanaka Akira <akr@m17n.org>
-Fri Apr 11 12:44:50 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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.
- * array.c (ary_reject): may be turned into a shared array during
- the given block. [ruby-dev:48101] [Bug #9727]
+Fri Nov 7 10:23:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Apr 10 23:41:21 2014 Akinori MUSHA <knu@iDaemons.org>
+ * ext/socket/socket.c (make_hostent): get rid of SEGV on aliases
+ lookup failure. (ruby-bugs:PR#1215)
- * lib/net/ftp.rb (Net::FTP#login): [DOC] The default password for
- anonymous login was changed to "anonymous@" in r25313.
+Fri Nov 7 04:08:05 2003 UENO Katsuhiro <katsu@blue.sky.or.jp>
-Thu Apr 10 19:22:58 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/zlib/zlib.c (Init_zlib): define Zlib::GzipReader#each_line as
+ an alias of Zlib::GzipReader#each.
- * test/ruby/test_array.rb: remove useless `assert'.
+Fri Nov 7 01:03:16 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Apr 10 19:11:11 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_load): save and restore rb_prohibit_interrupt.
+ [ruby-dev:21857]
- * array.c (rb_ary_modify): remember shared array owner if a shared
- array owner is promoted and a shared array is not promoted.
+Thu Nov 6 18:05:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- Now, shared array is WB-unprotected so that shared arrays are not
- promoted. All objects referred from shared array should be marked
- correctly.
+ * io.c (rb_io_inspect): show the path also at a closed file.
+ [ruby-dev:21851]
- [ruby-core:61919] [ruby-trunk - Bug #9718]
+Thu Nov 6 11:42:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_array.rb: add a test for above.
+ * ext/stringio/stringio.c (strio_set_string, strio_reopen): check
+ tainted.
-Thu Apr 10 18:57:12 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/stringio/stringio.c (strio_copy, strio_ungetc, strio_write,
+ strio_putc): add infection.
- * gc.c (gc_verify_internal_consistency): move lines and enable
- allrefs_dump() on RGENGC_CHECK_MODE >= 4.
+ * ext/stringio/stringio.c (strio_path): just nil. [ruby-dev:21846]
-Thu Apr 10 15:01:06 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ruby.c (proc_options): reserve searched script path in the
+ source file name table. [ruby-list:38765]
- * addr2line.c (append_obj): clear allocated memory.
+ * lib/optparse.rb (OptionParser::Completion#complete): default not to
+ ignore case on completion. [ruby-talk:84726]
- * addr2line.c (rb_dump_backtrace_with_lines): free `base_addrs'.
+ * win32/win32.c (make_cmdvector): process backslashes even if a quote
+ is not enclosed.
-Thu Apr 10 14:40:18 2014 Koichi Sasada <ko1@atdot.net>
+Wed Nov 5 23:49:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * gc.c (rb_gc_writebarrier_unprotect_promoted): disable to dump debug
- message when RGENGC_CHECK_MODE == 0.
+ * sample/openssl/gen_csr.rb: there (at least) is a CA which does not
+ accept DN in UTF8STRING format. it's a sample.
-Thu Apr 10 08:13:47 2014 Tanaka Akira <akr@fsij.org>
+Wed Nov 5 22:55:16 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * signal.c (check_stack_overflow): Don't use ucontext_t if ucontext.h
- is not available.
- Fixes build on Android (x86).
+ * configure.in, eval.c, signal.c: : add '--with-pthread-ext'
+ option to fix the pthread trouble on 'tcltklib'
-Wed Apr 9 23:22:44 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tcltklib/README.1st: add the description of '--with-pthread-ext'
- * 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/tk/lib/tktext.rb : add TkText#text_copy, text_cut, text_paste
+ to support Tcl/Tk8.4's tk_textCopy, tk_textCut, tk_textPaste
-Wed Apr 9 21:02:04 2014 Tanaka Akira <akr@fsij.org>
+ * ext/tk/lib/tk.rb : add TkMenu#set_focus support Tcl/Tk's
+ tk_menuSetFocus
- * process.c (OBJ2UID1): Defined even if getpwnam_r is not usable.
- (OBJ2GID1): Defined even if getgrnam_r is not usable.
- This fixes compilation error on Android.
+Wed Nov 5 17:33:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Apr 9 15:16:59 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_load): allow interrupt during loaded program
+ evaluation. [ruby-dev:21834]
- * encoding.c (rb_enc_default_internal): fix rdoc. `__FILE__` is
- in filesystem encoding but not `default_internal`.
- [ruby-core:61894] [Bug #9713]
+ * hash.c (rb_hash_fetch): always warn if default argument and a
+ block are supplied at the same time. [ruby-dev:21842]
-Wed Apr 9 14:43:00 2014 Koichi Sasada <ko1@atdot.net>
+ * hash.c (env_fetch): ditto.
- * test/ruby/test_gc.rb: more long timeout.
- This test failed under RGENGC_CHECK_MODE >= 2.
+ * array.c (rb_ary_fetch): ditto.
-Wed Apr 9 13:07:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 5 19:08:47 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: get rid of __builtin_setjmp/__builtin_longjmp on
- x64-mingw, which causes SEGV with callcc.
- [ruby-core:61887] [Bug #9710]
+ * lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
+ do not remove next argument if empty value is placed.
-Wed Apr 9 12:44:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/optparse: added.
- * string.c (str_buf_cat): should round up the capacity by 4KiB,
- but not number of rooms. [ruby-core:61886] [Bug #9709]
+Wed Nov 5 17:05:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Apr 8 22:55:32 2014 Akinori MUSHA <knu@iDaemons.org>
+ * lib/test/unit/ui/gtk/testrunner.rb: typo.
- * lib/mkmf.rb (MakeMakefile#dir_config): [DOC] Improve
- documentation.
+Wed Nov 5 11:13:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Apr 8 22:31:44 2014 Koichi Sasada <ko1@atdot.net>
+ * string.c: add #include "version.h". this file still depends on it.
- * gc.c: rename `RGENGC_THREEGEN' to `RGENGC_AGE2_PROMOTION'.
+ * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,
+ wince/Makefile.sub: add version.h dependency to string.c.
- * gc.c (rgengc_rememberset_mark): don't promote, but remain in
- remember set for infant objects.
+Wed Nov 5 09:14:23 2003 Shugo Maeda <shugo@ruby-lang.org>
- * gc.c (RVALUE_PROMOTE_INFANT, RVALUE_PROMOTE_YOUNG): count numbers
- in these functions.
+ * lib/monitor.rb: revert to the previous revision.
-Mon Apr 7 21:11:49 2014 Tanaka Akira <akr@fsij.org>
+Wed Nov 5 08:39:51 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * 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]
+ * lib/webrick/https.rb (HTTPRequest#parse): set @client_cert_chain.
-Mon Apr 7 07:20:23 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/webrick/https.rb (HTTPRequest#meta_vars): create
+ SSL_CLIENT_CERT_CHAIN_n from @client_cert_chain.
- * 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]
+ * ext/openssl/ossl_ssl.c (ossl_ssl_get_peer_cert_chain): return nil
+ if no cert-chain was given.
-Mon Apr 7 02:39:48 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+Tue Nov 4 23:44:48 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/matrix.rb: Add Matrix#cofactor [fix GH-568]
- Add first_minor [fix GH-568]
- Handle empty diagonal matrix case [fix GH-576]
- Patches by gogotanaka
+ * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub:
+ remove needless version.h dependency.
-Sun Apr 6 08:52:50 2014 Bugra Barin <bugrabarin@hotmail.com>
+Tue Nov 4 23:38:43 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * 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]
+ * class.c, hash.c, string.c: remove #include "version.h".
-Sat Apr 5 19:36:33 2014 Tadayoshi Funaba <tadf@dotrb.org>
+ * Makefile.in: remove needless version.h dependency.
- * ext/date/date_core.c (d_lite_cmp): should compare with #<.
+Tue Nov 4 06:54:52 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Apr 5 00:31:21 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (read_all): fptr->f may be NULL, if IO is closed in the
+ signal handler.
- * ext/readline/extconf.rb (rl_hook_func_t): check pointer type.
- [ruby-dev:48089] [Bug #9702]
+ * io.c (io_read): ditto.
-Fri Apr 4 07:13:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (get_pat): remove 1.8.0 warning code.
- * configure.in (ac_cv_func___builtin_setjmp): should not skip
- flags restoration in RUBY_WERROR_FLAG by `break`.
- [ruby-dev:48086] [Bug #9698]
+ * string.c (rb_str_match): extend warning until 1.8.2.
-Wed Apr 2 21:50:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_match2): ditto.
- * configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp()
- in Apple LLVM 5.1 (LLVM 3.4svn) uses `void**`, not `jmp_buf`.
- [Bug #9692]
+ * class.c (class_instance_method_list): remove 1.8.0 warnings.
+ method_list now recurs. [ruby-dev:21816]
-Wed Apr 2 20:57:15 2014 Koichi Sasada <ko1@atdot.net>
+ * class.c (rb_obj_singleton_methods): ditto.
- * gc.c, gc.h (rb_objspace_each_objects_without_setup):
- Add a new (hidden) C-API to iterate objspace snapshot.
+ * array.c (rb_ary_select): remove select with block.
+ [ruby-dev:21824]
- This API is not safe to call any C-APIs in a given callback
- function. Be careful to use this C-API.
+ * hash.c (rb_hash_select): ditto.
-Wed Apr 2 17:43:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * hash.c (env_select): ditto.
- * 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]
+ * re.c (match_select): ditto.
-Wed Apr 2 15:12:18 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * struct.c (rb_struct_select): ditto.
- * common.mk: Use redmine-2.x url for DeveloperHowto wiki.
- [ruby-core:60657] [Bug #9511]
+Mon Nov 3 22:53:21 2003 Minero Aoki <aamine@loveruby.net>
-Wed Apr 2 11:46:29 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * lib/racc/parser.rb: synchronize with Racc 1.4.4.
- * ext/pathname/lib/pathname.rb (Pathname#join): Fix error with
- empty args. Reported by ko1 via IRC.
+ * ext/racc/cparse/cparse.c: ditto.
- * test/pathname/test_pathname.rb (TestPathname#test_join): Add the
- test for above case.
+ * ext/racc/cparse/cparse.c (parse_main): should abort when
+ the length of LR state stack <=1, not ==0.
-Tue Apr 1 11:39:57 2014 James Edward Gray II <james@graysoftinc.com>
+Mon Nov 3 08:50:47 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/csv.rb: Symbol HeaderConverter: strip leading/trailing space.
- Reported by Skye Shaw
- [Fixes GH-575]
+ * process.c (check_uid_switch): remove duplicated error messages.
-Tue Apr 1 11:34:04 2014 James Edward Gray II <james@graysoftinc.com>
+ * process.c (check_gid_switch): ditto.
- * lib/csv.rb: Don't attempt to convert nil headers.
- Reported by Skye Shaw
+Sun Nov 2 02:28:33 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Tue Apr 1 17:29:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/ssl.rb: new option :SSLExtraChainCert.
- * tool/config_files.rb (ConfigFiles.download): show failed URI.
- [ruby-core:61792] [Bug #9690]
+Sun Nov 2 01:02:04 2003 Akinori MUSHA <knu@iDaemons.org>
-Tue Apr 1 12:06:49 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * string.c (rb_str_hash): Update the HASH_PERL alternative hash
+ algorithm in sync with Perl 5.8.
- * addr2line.c (rb_dump_backtrace_with_lines): don't depend hard coded
- symbol '_start'.
+ * st.c (strhash): Ditto.
- * addr2line.c (fill_lines): instead of above, get a dynamic symbol
- in the main executable and use it to know the base address.
+Sat Nov 1 18:21:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * addr2line.c (follow_debuglink0): use obj_info_t instead of
- line_info_t to handle object related data.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_peer_cert_chain): add new method
+ SSLSocket#peer_cert_chain.
- * addr2line.c (main_exe_path): defined for Linux.
+ * ext/openssl/ossl_x509req.c (GetX509ReqPtr): new function
+ which returns underlying X509_REQ.
-Tue Apr 1 08:58:39 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * 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.
- * parse.y (rb_str_dynamic_intern): set mark bit if dynamic symbol
- is before sweeping.
+Sat Nov 1 01:49:03 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Apr 1 07:37:00 2014 NARUSE, Yui <naruse@ruby-lang.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.
- * addr2line.c (fill_lines): use dynsym, which is used for dynamic
- linking and always exists, if there's no symtab.
+ * test/soap/marshal/test_marshal.rb: add tests for self referencing
+ immutable objects.
-Tue Apr 1 07:27:15 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/soap/calc/test_calc_cgi.rb: fix test name.
- * vm_dump.c (rb_print_backtrace): current implementation
- uses dladdr to get the path of objects.
+Fri Oct 31 22:26:29 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
-Mon Mar 31 23:57:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * wince/string_wce.c (strrchr): should decrement pointer.
- * ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`.
- [ruby-core:61756] [Bug #9578]
+ * wince/Makefile.sub: correct a range of isdigit().
-Mon Mar 31 17:23:50 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Oct 31 12:55:24 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/ruby/memory_status.rb: require envutil before accessing EnvUtil
- module. reported by ko1 via twitter.
+ * configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD.
+ [ruby-dev:21791]
-Mon Mar 31 10:28:01 2014 Eric Wong <e@80x24.org>
+ * bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.
- * st.c (st_init_table_with_size): update comment
- [Feature #9425]
+Fri Oct 31 01:38:14 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Mar 30 23:39:26 2014 NAKAMURA Usaku <usa@ruby-lang.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)
- * 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]
+Fri Oct 31 01:02:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Mar 29 13:04:22 2014 Koichi Sasada <ko1@atdot.net>
+ * compar.c (cmp_equal): protect exceptions from <=> comparison
+ again. returns nil if any exception or error happened during
+ comparison.
- * 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]
+ * eval.c (search_required): should update *featurep when DLEXT2 is
+ defined. (ruby-bugs-ja:PR#581)
- This issue is pointed by Tim Robertson.
- http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/
+Thu Oct 30 23:41:04 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Fri Mar 28 19:32:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/drb/drb.rb: add DRbArray
- * 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]
+ * lib/drb/invokemethod.rb: fix Hash#each problem. [ruby-dev:21773]
-Fri Mar 28 09:21:54 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/drb/unix.rb: add LoadError. [ruby-dev:21743]
- * ext/psych/psych.gemspec: update gemspec for psych-2.0.5
+Thu Oct 30 23:19:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Mar 28 09:11:06 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/soap/generator.rb: better XML pretty printing.
- * 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/soap/encodingstyle/soapHandler.rb: remove unnecessary namespace
+ assignment in the element which has "encodingStyle" attribute, and
+ add necessary namespace assignment for "arrayType" attribute.
-Thu Mar 27 18:58:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/soap/calc/test_calc_cgi.rb: take over $DEBUG to ruby process
+ through CGI.
- * re.c (match_regexp): set regexp for MatchData from string.
+Thu Oct 30 22:59:39 2003 why the lucky stiff <why@ruby-lang.org>
- * re.c (rb_backref_set_string): create MatchData from string and
- set backref.
+ * ext/syck/yaml2byte.c: HASH const too long. Thanks, matz.
- * string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub),
- (scan_once, rb_str_scan, rb_str_partition): use rb_str_index
- instead of rb_reg_search() when pattern is a String. based on
- the patch by Sam Rawlins <sam.rawlins@gmail.com> [Fixes GH-579]
+Thu Oct 30 19:13:53 2003 Akinori MUSHA <knu@iDaemons.org>
-Thu Mar 27 11:58:55 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/syck/MANIFEST: Add yamlbyte.h.
- * addr2line.c (fill_lines): check shdr[i].sh_type because even if
- .symtab section exists, the section's type can be SHT_NOBITS and
- actual data doesn't exist in the file.
- revert r45441.
+Thu Oct 30 14:25:31 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Mar 26 14:57:35 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * io.c (READ_DATA_BUFFERED): new macro to detect whether stdio
+ buffer filled.
- * parse.y: inline must be static (for mswin).
- fixed build error introduced at r45426.
+ * io.c (rb_io_fptr_cleanup): move path deallocation to
+ rb_io_fptr_finalize (finalizer called by GC).
-Wed Mar 26 14:33:00 2014 Narihiro Nakamura <authornari@gmail.com>
+Thu Oct 30 13:23:39 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * internal.h (USE_SYMBOL_GC): enable Symbol GC by default (USE_SYMBOL_GC == 1).
+ * parse.y (logop): left may be NULL. [ruby-talk:84539]
-Tue Mar 25 22:57:11 2014 Narihiro Nakamura <authornari@gmail.com>
+ * eval.c (rb_eval): NODE_CASE nd_head may be NULL.
- * parse.y: support Symbol GC. [ruby-trunk Feature #9634]
- See this ticket about Symbol GC.
+Thu Oct 30 10:14:51 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * include/ruby/ruby.h:
- Declare few functions.
- * rb_sym2id: almost same as old SYM2ID but support dynamic symbols.
- * rb_id2sym: almost same as old ID2SYM but support dynamic symbols.
- * rb_sym2str: almost same as `rb_id2str(SYM2ID(sym))` but not
- pin down a dynamic symbol.
- Declare a new struct.
- * struct RSymbol: represents a dynamic symbol as object in
- Ruby's heaps.
- Add few macros.
- * STATIC_SYM_P: check a static symbol.
- * DYNAMIC_SYM_P: check a dynamic symbol.
- * RSYMBOL: cast to RSymbol
+ * lib/test/unit/autorunner.rb: make fox runner work.
- * gc.c: declare RSymbol. support T_SYMBOL.
+Thu Oct 30 09:32:26 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * internal.h: Declare few functions.
- * rb_gc_free_dsymbol: free up a dynamic symbol. GC call this
- function at a sweep phase.
- * rb_str_dynamic_intern: convert a string to a dynamic symbol.
- * rb_check_id_without_pindown: not pinning function.
- * rb_sym2id_without_pindown: ditto.
- * rb_check_id_cstr_without_pindown: ditto.
+ * process.c (rb_f_system): fixed lack of security check before
+ calling do_spawn() on win32. [ruby-talk:84555]
- * string.c (Init_String): String#intern and String#to_sym use
- rb_str_dynamic_intern.
+Thu Oct 30 02:46:35 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * template/id.h.tmpl: use LSB of ID as a flag for determining a
- static symbol, so we shift left other ruby_id_types.
+ * 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]
- * string.c: use rb_sym2str instead `rb_id2str(SYM2ID(sym))` to
- avoid pinning.
+Thu Oct 30 02:25:48 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * load.c: use xx_without_pindown function at creating temporary ID
- to avoid pinning.
+ * ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):
+ add new method to inherit @sync from @io.sync.
- * object.c: ditto.
+ * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): no need to
+ set sync flag explicitly.
- * sprintf.c: ditto.
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): call super.
- * struct.c: ditto.
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): set extra chain
+ certificates in @extra_chain_cert.
- * thread.c: ditto.
+Wed Oct 29 22:02:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * variable.c: ditto.
+ * test/drb/drbtest.rb: use rbconfig.rb to make the path of ruby
+ interpreter to exec, instead of test/ruby/envutil.rb,
- * vm_method.c: ditto.
+Wed Oct 29 19:58:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Mar 26 13:25:54 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c (CONST84): define CONST84 when it is not
+ defined and TCL_MAJOR_VERSION >= 8.
- * addr2line.c (fill_lines): loop reverse order not to overwrite
- the basis of base addresses comparison.
+ * ext/tcltklib/tcltklib.c (VwaitVarProc, WaitVariableProc,
+ rb_threadVwaitProc): use CONST84 instead of CONST.
- * addr2line.c: use uintptr_t instead of intptr_t for pointers.
+ * ext/tcltklib/tcltklib.c (ip_rbTkWaitCommand,
+ ip_rb_threadTkWaitCommand): use CONST84 always.
- * addr2line.c (rb_dump_backtrace_with_lines): don't use syms.
+Wed Oct 29 17:27:05 2003 Tanaka Akira <akr@m17n.org>
- * vm_dump.c (rb_print_backtrace): ditto.
+ * re.c (rb_reg_s_union, Init_Regexp): new method `Regexp.union'.
- * addr2line.h: ditto.
+ * lib/pathname.rb (realpath): examine Dir.pwd because it may have
+ symlinks.
-Wed Mar 26 11:20:50 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 29 17:16:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * marshal.c (w_object): internal objects are not dumpable.
- [ruby-core:61677] [Bug #9674]
+ * eval.c (rb_longjmp): must not disturb original jump.
+ [ruby-dev:21733]
- * ext/thread/thread.c (undumpable): ConditionVariable and Queue
- are not dumpable. [ruby-core:61677] [Bug #9674]
+Wed Oct 29 15:28:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Mar 26 10:36:39 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (Init_Proc): taint preallocated exception object
+ sysstack_error. [ruby-talk:84534]
- * addr2line.c (follow_debuglink): show message if it closes opened
- (and maybe used) elf binary.
+Wed Oct 29 11:27:39 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Mar 26 10:34:25 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * parse.y (ret_args): node may be NULL. [ruby-talk:84530]
- * addr2line.c (fill_line): pass and use offset instead of
- curobj_baseaddr.
+Tue Oct 28 15:20:12 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Mar 26 09:07:48 2014 Yutaka Kanemoto <kanemoto@ruby-lang.org>
+ * 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.
- * configure.in: add --disable-pie. [Feature #9673]
+Mon Oct 27 19:19:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Mar 26 08:47:04 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (rb_longjmp): ignore reentering error while warning.
+ [ruby-dev:21730]
- * addr2line.c (fill_lines): don't run fill_lines multiple times.
+Mon Oct 27 00:23:50 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Wed Mar 26 08:45:00 2014 Sam Rawlins <sam.rawlins@gmail.com>
+ * ext/tcltklib/tcltklib.c (ip_ruby): bug fix on Win : hang-up when
+ calling 'exit' in the Tk callback procedure. [ruby-list:38656]
- * internal.h: add prototype for rb_reg_search0
+Sat Oct 25 09:18:04 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * re.c: rename rb_reg_search to rb_reg_search0, add set_backref_str
- argument to allow callers to indicate that they don't require the
- backref string to be allocated.
+ * eval.c (rb_method_missing): protect exception from within
+ "inspect". (ruby-bugs:PR#1204)
- * string.c: don't allocate backref str if replacement string is provided
+Fri Oct 24 23:26:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- [GH-578] [Bug #9676] [ruby-core:61682]
+ * hash.c (rb_hash_each): Hash#each should yield single value.
+ [ruby-talk:84420]
-Wed Mar 26 08:29:43 2014 mo khan <mo@mokhan.ca>
+ * hash.c (env_each): ditto for ENV.each.
- * lib/rubygems.rb: fix spelling of Jim Weirich. [Fixes GH-577]
+Thu Oct 23 20:25:32 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Wed Mar 26 01:55:45 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * lib/webrick/server.rb (GenericServer#start): should rescue
+ IOError from IO::accept. [ruby-dev:21692]
- * addr2line.c (rb_dump_backtrace_with_lines): a function to get must
- be a function in the main executable, whose absolute path is not
- available by dladdr, and ruby get it by /proc/self/exe on Linux.
+Thu Oct 23 17:59:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Mar 26 01:34:50 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (ruby_cleanup): initialize stack bottom for embedding.
+ [ruby-dev:21686]
- * addr2line.c (fill_lines): skip if path is NULL.
+ * ext/dl/extconf.rb: move list of files to clean from DEPEND file,
+ to get rid of macro redefinitions.
-Tue Mar 25 23:57:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 23 13:44:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (parser_yylex): only a newline after label should be
- significant. [ruby-core:61658] [Bug #9669]
+ * parse.y: integrate operations for stack_type. [ruby-dev:21681]
-Tue Mar 25 23:32:25 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Thu Oct 23 00:41:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary
- unshift.
+ * test/soap/calc/*, test/soap/helloworld/*: set logging threshold
+ to ERROR.
- * test/pathname/test_pathname.rb (TestPathname#test_join): add tests.
+Wed Oct 22 12:53:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 25 16:47:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
+ ignore tests which raised LoadError.
- * 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]
+ * test/drb/drbtest.rb, test/ruby/test_beginendblock.rb,
+ test/ruby/test_system.rb: avoid requiring same file twice.
-Mon Mar 24 22:19:56 2014 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.
- * parse.y (ripper_initialize): filename can not be modified.
+Wed Oct 22 02:31:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Mar 24 15:19:47 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (ruby_cleanup): should not ignore exit_value in END
+ execution. [ruby-dev:21670]
- * addr2line.c (rb_dump_backtrace_with_lines): fetch path of the
- executable from /proc/self/exe on Linux.
+Tue Oct 21 23:16:26 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Mar 24 14:14:37 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * eval.c (ruby_cleanup): call finalizers and exit procs before
+ terminating threads.
- * gc.c: Fix up default GC params by @csfrancis [fix GH-556]
+ * eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().
-Mon Mar 24 13:13:36 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Tue Oct 21 15:57:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * addr2line.c (parse_debug_line_cu): explicitly specify signed char
- because DWARF's line_Base is signed char and char maybe unsigned.
- patched by Rei Odaira. [ruby-dev:48068] [Bug #9654]
+ * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
+ prepend the directory of target file to the load path.
-Sun Mar 23 11:03:50 2014 Kohei Suzuki <eagletmt@gmail.com>
+Tue Oct 21 15:08:53 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * 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]
+ * win32/win32.c (do_spawn, do_aspawn): should wait child process even
+ if callded with P_OVERLAY.
-Sun Mar 23 08:12:27 2014 Eric Wong <e@80x24.org>
+ * win32/win32.c (do_spawn, do_aspawn): should return child's exit
+ status to parent.
- * st.c (hash_pos): use bitwise AND to avoid slow modulo op
- (new_size): power-of-two sizes for hash_pos change
- (st_numhash): adjust for common keys due to lack of prime modulo
- [Feature #9425]
- * hash.c (rb_any_hash): right shift for symbols
- * benchmark/bm_hash_aref_miss.rb: added to show improvement
- * benchmark/bm_hash_aref_sym_long.rb: ditto
- * benchmark/bm_hash_aref_str.rb: ditto
- * benchmark/bm_hash_aref_sym.rb: ditto
- * benchmark/bm_hash_ident_num.rb: added to prevent regression
- * benchmark/bm_hash_ident_obj.rb: ditto
- * benchmark/bm_hash_ident_str.rb: ditto
- * benchmark/bm_hash_ident_sym.rb: ditto
+Tue Oct 21 00:35:02 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Mar 22 22:56:45 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/soap/calc/*, test/soap/helloworld/*: catch the exception from
+ test server thread and recover.
- * addr2line.c (fill_lines): compare the file names of object in which
- symbols exist. [Bug #9654] [ruby-dev:48058]
+Tue Oct 21 00:22:57 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-Sat Mar 22 06:46:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/drb/*: import drb/runit.
- * lib/cgi/util.rb (escape_html, unescape_html): make synonyms
- aliases instead of wrapper methods.
+Mon Oct 20 23:55:47 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/cgi/util.rb (escape_element, unescape_element): ditto.
- [Fixes GH-573]
+ * eval.c (rb_eval): set current node after arguments evaluation.
+ [ruby-dev:21632]
-Fri Mar 21 21:57:34 2014 Akinori MUSHA <knu@iDaemons.org>
+ * eval.c (rb_yield_0): set current node and keep it at local jump.
- * 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
+Mon Oct 20 22:01:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Mar 21 16:31:56 2014 Zachary Scott <e@zzak.io>
+ * eval.c (rb_thread_cleanup): keep thread group for main thread.
+ [ruby-dev:21644]
- * gc.c: [DOC] Fix call-seq for GC.start by @jasonrclark [Fixes GH-572]
- https://github.com/ruby/ruby/pull/572
+Mon Oct 20 18:28:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Mar 20 11:37:28 2014 James Edward Gray II <james@graysoftinc.com>
+ * eval.c (rb_catch): backout.
- * 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]
+Mon Oct 20 17:31:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Mar 20 16:53:07 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (PUSH_FRAME): generate unique number to be TAG_JUMP()
+ destination.
- * gc.c (objspace_malloc_increase): should not invoke
- garbage_collect_with_gvl() here on non-ruby threads.
+ * eval.c (localjump_destination): use unique number in ruby_frame
+ for localjump destination.
- Should just ignore the malloc_increase.
+Mon Oct 20 11:31:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- This issue is pointed by Eric Wong [ruby-core:61519].
+ * test/ruby/test_signal.rb (test_signal): restore old trap.
-Thu Mar 20 13:05:16 2014 Koichi Sasada <ko1@atdot.net>
+Mon Oct 20 11:00:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * struct.c (rb_struct_alloc): use RARRAY_CONST_PTR() instead of
- RARRAY_PTR().
+ * gc.c (gc_sweep): loosen page free condition to avoid add_heap()
+ race condition. [ruby-dev:21633]
-Thu Mar 20 12:59:39 2014 Koichi Sasada <ko1@atdot.net>
+ * gc.c (gc_sweep): do not update malloc_limit when malloc_increase
+ is smaller than malloc_limit.
- * include/ruby/intern.h (rb_obj_call_init, rb_class_new_instance):
- constify a parameter (VALUE *).
- I believe this incompatibility doesn't break any code.
- However, if you have trouble, please tell us.
+Mon Oct 20 09:45:12 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c, object.c: ditto.
+ * lib/debug.rb (debug_command): remove debug print.
-Thu Mar 20 12:31:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Oct 20 00:25:41 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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]
+ * eval.c (search_required): required name must not be changed before
+ loading. [ruby-dev:24492]
-Wed Mar 19 17:13:06 2014 Eric Wong <e@80x24.org>
+Sun Oct 19 13:12:30 2003 Tanaka Akira <akr@m17n.org>
- * 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]
+ * lib/pathname.rb (foreachline, dir_foreach): add obsolete warning.
-Tue Mar 18 23:20:12 2014 Shota Fukumori <her@sorah.jp>
+Sun Oct 19 00:14:22 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * vm_eval.c (eval_string_with_cref): Unify to use NIL_P.
+ * test/soap/calc/*, test/soap/helloworkd/*: changed port# of test
+ server. (17171)
-Tue Mar 18 22:03:41 2014 Shota Fukumori <her@sorah.jp>
+Sat Oct 18 23:01:32 2003 WATANABE Hirofumi <eban@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.
+ * missing/acosh.c (DBL_MANT_DIG): typo fix(ifdef -> ifndef).
-Mon Mar 17 13:17:47 2014 Koichi Sasada <ko1@atdot.net>
+Sat Oct 18 05:48:59 2003 why the lucky stiff <why@ruby-lang.org>
- * enumerator.c (enumerator_block_call): use RARRAY_CONST_PTR()
- instead of RARRAY_PTR().
+ * ext/syck/rubyext.c: YAML::Syck::compile method.
- * io.c (rb_io_s_popen): ditto.
+ * ext/syck/syck.c: Buffer edge bug.
- * numeric.c (num_step_size): ditto.
+ * ext/syck/yaml2byte.c: YAML to bytecode converter.
- * vm_eval.c (rb_apply): ditto.
+ * ext/syck/yamlbyte.h: Ditto.
- * vm_eval.c (rb_eval_cmd): ditto.
+ * ext/syck/bytecode.c: Bytecode parser fixes to empty collections
+ and empty strings.
-Mon Mar 17 10:11:59 2014 Eric Wong <e@80x24.org>
+ * ext/syck/token.c: Ditto.
- * variable.c (rb_const_set): delete existing entry on redefinition
- [Bug #9645]
- * test/ruby/test_const.rb (test_redefinition): test for leak
+Fri Oct 17 23:07:38 2003 Akinori MUSHA <knu@iDaemons.org>
-Sun Mar 16 21:33:01 2014 Zachary Scott <e@zzak.io>
+ * 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.
- * lib/time.rb: [DOC] Fix timezone in example of Time.parse [Bug #9521]
- Based on patch by @stomar
+Fri Oct 17 23:00:30 2003 Akinori MUSHA <knu@iDaemons.org>
-Sun Mar 16 13:21:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/generator.rb: Add rdoc documentation.
- * configure.in (DLDFLAGS): insert a space between option and its
- argument for non-GCC compilers. [ruby-core:61429] [Bug #9624]
+Fri Oct 17 22:16:42 2003 Akinori MUSHA <knu@iDaemons.org>
-Sun Mar 16 08:05:06 2014 Eric Wong <e@80x24.org>
+ * lib/set.rb: Reword and fix Overview.
- * gc.c (objspace_xcalloc): fix GC accounting
+ * lib/set.rb: It is not necessary to require
+ 'test/unit/ui/console/testrunner'.
-Sun Mar 16 06:33:35 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Fri Oct 17 11:15:22 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * addr2line.c (fill_lines): return address is just after calling
- address. Therefore noreturn function with tail call's return
- address may be in another function.
+ * test/ruby/test_range.rb: added.
-Sun Mar 16 05:51:55 2014 Zachary Scott <e@zzak.io>
+ * MANIFEST: add test/ruby/test_range.rb.
- * lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543]
+Fri Oct 17 03:21:23 2003 William Sobel <will.sobel@barra.com>
-Sat Mar 15 18:54:03 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * ext/socket/socket.c (make_hostent): h_aliases may be NULL.
+ (ruby-bugs:PR#1195)
- * ext/.document: remove refinement from documentable directories.
+ * ext/socket/socket.c (sock_s_gethostbyaddr): ditto.
-Sat Mar 15 11:02:58 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 17 00:12:41 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * configure.in (DLDFLAGS): check for each options to control
- symbol resolution. [ruby-core:61429] [Bug #9624]
+ * ext/tk/lib/tk.rb: (bug fix) instance variable @frame was used
+ without initializing on TkComposite module.
-Sat Mar 15 07:02:35 2014 Eric Wong <e@80x24.org>
+Thu Oct 16 23:51:04 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * st.c (st_update): remove unnecessary assignment
+ * 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.
-Fri Mar 14 14:58:38 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Oct 16 17:09:19 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * addr2line.c (fill_lines): fetch symbol names from ELF binary's
- symbol table if it is built with cc -g and not stripped.
- Now ruby can show static symbols on Linux though glibc's
- backtrace_symbols(3) don't show them.
+ * lib/debug.rb (DEBUGGER__::Context::debug_command): do not call
+ debug_silent_eval() when $1 is not set. (ruby-bugs:PR#1194)
- * addr2line.c (rb_dump_backtrace_with_lines): use dladdr(3) to
- detect what object file declares the symbol because
- dl_iterate_phdr can't detect the main executable file
- and codes on the stack.
- NOTE: signal trampolines sometimes on the user stack. (FreeBSD)
+Thu Oct 16 16:54:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * addr2line.c (rb_dump_backtrace_with_lines): stop showing
- backtrace if the function's name is main.
- NOTE: FreeBSD's backtrace (libexecinfo) shows _start and
- an additional address. Why it doesn't remove them on dladdr phase
- is, dladdr may fail to detect the main function but detect
- as _start function. Therefore it must be after scanning
- the symbol table and getting correct name.
+ * string.c (rb_str_upto): ("a"..."a").to_a should return [].
+ [ruby-core:01634]
+Thu Oct 16 16:40:51 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Fri Mar 14 12:07:46 2014 Zachary Scott <e@zzak.io>
+ * ext/tk/lib/tk.rb:
+ Add Tk::EncodedString and Tk::UTF8_String class to support
+ characters using the \uXXXX escape to the UNICODE string.
- * doc/syntax/literals.rdoc: [DOC] Single quote strings allows escape
- of backslash as well, patch by @idupree [Fixes GH-553]
- https://github.com/ruby/ruby/pull/553
+ * ext/tk/sample/{demos-en,demos-jp}/unicodeout.rb
+ new demo-scripts (samples of Tk::UTF8_String)
-Fri Mar 14 01:18:24 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/{demos-en,demos-jp}/widget
+ add entries for 'unicodeout.rb'
- * vm.c (invoke_block_from_c): add splattable argument.
+Thu Oct 16 08:38:06 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm.c (vm_invoke_proc): disallow to splat when directly invoked.
+ * test/digest/test_digest.rb (test_eq): show failed class.
- * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_callee_setup_arg):
- relax arity check of yielded lambda. [ruby-core:61340] [Bug #9605]
+ * test/ruby/test_iterator.rb (test_break, test_return_trace_func):
+ test localjump destination.
- * test/ruby/test_yield.rb (TestRubyYieldGen#emu_bind_params): no
- longer raise ArgumentError when splatting to lambda.
+Wed Oct 15 20:22:31 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu Mar 13 23:51:02 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/soap/netHttpClient.rb: use URI::HTTP#request_uri instead of
+ instance_eval('path_query'). [ruby-list:38575]
- * ext/-test-/win32/dln/libdlntest.c (dlntest_ordinal): no need to
- specify export in the source file because .def file do it.
- get rid of warning on linking.
+Wed Oct 15 17:24:45 2003 URABE Shyouhei <root@mput.dip.jp>
-Wed Mar 12 11:19:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/cgi.rb (CGI::Cookie): tiny typo fix.
- * vm_insnhelper.c (vm_callee_setup_arg): disable fastpath if splat
- argument, since argc may differ for each calls.
- [ruby-core:61422] [Bug #9622]
+Wed Oct 15 15:00:54 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm_insnhelper.c (vm_callee_setup_arg): turn a macro into an
- inline function.
+ * eval.c (ruby_run): just return FAILURE instead of parse error
+ count. [ruby-list:38569]
-Wed Mar 12 07:26:05 2014 Eric Wong <e@80x24.org>
+Wed Oct 15 13:17:02 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * insns.def (opt_regexpmatch2): respect redefined match op
- Thanks to Sam Rawlins for the fix.
- * test/ruby/test_string.rb: test based on Tsuyoshi Sawada's report
- [Bug #9581]
+ * ext/digest/digest.c (rb_digest_base_alloc): need to initialize
+ buffer. [ruby-dev:21622]
-Tue Mar 11 22:31:25 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+Wed Oct 15 11:23:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/.document: add objspace/objspace_dump.c to document file.
+ * marshal.c (w_object): dump extended modules as well.
-Tue Mar 11 22:22:38 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * 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>.
- * test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file):
- remove dependency on json library.
+Wed Oct 15 09:30:34 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Mar 11 10:55:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/enumerator/enumerator.c (enumerator_each): avoid VC++ warning.
- * README.EXT{,.ja} (Appendix B): update contents of `ruby_options`
- and replace `ruby_run` with `ruby_run_node`. based on the patch
- by Kaneko Yuichiro at [ruby-dev:48030] [Bug #9619].
+ * ext/syck/syck.h: include stdio.h for definition of FILE.
-Tue Mar 11 06:54:00 2014 Scott Francis <scott.francis@shopify.com>
+Wed Oct 15 08:09:07 2003 why the lucky stiff <why@ruby-lang.org>
- * ext/objspace/objspace_dump.c: Check fptr before trying to dump RFILE
- object fd. [GH-562]
+ * ext/syck/bytecode.c: Checkin of YAML bytecode support.
- * test/objspace/test_objspace.rb: add test
+ * ext/syck/gram.c: Ditto.
-Tue Mar 11 02:04:36 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/syck/syck.c: Ditto.
- * vm_dump.c (rb_vm_bugreport): show vm maps on FreeBSD.
+ * ext/syck/token.c: Ditto.
- * vm_dump.c (procstat_vm): copied from FreeBSD.
- http://svnweb.freebsd.org/base/head/usr.bin/procstat/procstat_vm.c?revision=261780
+ * ext/syck/handler.c: Ditto.
-Mon Mar 10 12:14:26 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/syck/handler.c: Now using 'tag' rather than 'taguri' in type URIs.
- * configure.in: always check dladdr(1).
+ * ext/syck/rubyext.c: Ditto (on both counts).
- * addr2line.c (fill_lines): show the line number in C backtrace if
- ruby is built without --enable-shared (PIE) on Linux.
- patch is originally by Shinichiro Hamaji
- https://twitter.com/shinh/status/441957774264504321
- NOTE: ld doesn't insert __executable_start for PIE.
- dladdr(3)'s argument must be a function pointer.
+Wed Oct 15 05:05:53 2003 Akinori MUSHA <knu@iDaemons.org>
-Mon Mar 10 10:51:17 2014 ksss <co000ri@gmail.com>
+ * lib/generator.rb: A new library which converts an internal
+ iterator to an external iterator.
- * test/ruby/test_enumerator.rb (test_iterators): fix test for hash
- iterators. [Fixes GH-558]
+ * lib/abbrev.rb: A new library which creates an abbreviation table
+ from a list.
-Sun Mar 9 14:14:49 2014 Eric Wong <e@80x24.org>
+Wed Oct 15 04:31:51 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * 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]
+ * ext/tk/sample/demos-en/entry3.rb, ext/tk/sample/demos-jp/entry3.rb :
+ new demo-scripts
-Sun Mar 9 13:51:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/sample/demos-en/widget, ext/tk/sample/demos-jp/widget :
+ add entries for 'entry3.rb'
- * ext/fiddle/function.c (function_call): fix memory leak when an
- exception occurs at argument conversion or the function call.
+Wed Oct 15 04:31:47 2003 Akinori MUSHA <knu@iDaemons.org>
-Sun Mar 9 06:42:40 2014 Eric Wong <e@80x24.org>
+ * test/digest/test_digest.rb: Moved from ext/digest/test.rb.
- * variable.c (struct global_variable): shrink by 8 bytes on 64-bit
+Wed Oct 15 03:53:20 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Mar 8 17:42:51 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/tk.rb: fixed trouble on auto-load Tcl commands (enbug
+ on the last commit).
- * vm.c (add_opt_method): cleanup to use rb_method_entry_at
+Wed Oct 15 00:25:00 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Mar 8 13:46:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (yylex): argument parentheses preceded by spaces should
+ be warned; not error. [ruby-talk:84103]
- * 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].
+Wed Oct 15 00:20:15 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Mar 8 13:30:39 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c: replace Tcl/Tk's vwait and tkwait to
+ switch on threads smoothly and avoid seg-fault.
- * 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/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.)
-Fri Mar 7 19:29:13 2014 Eric Wong <e@80x24.org>
+ * ext/tk/lib/multi-tk.rb: support TclTkIp._thread_vwait and
+ _thread_tkwait.
- * vm_eval.c (vm_call0_body): use RARRAY_CONST_PTR
- (check_funcall_exec): ditto
- [ruby-core:61360]
+ * 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).
-Fri Mar 7 19:14:11 2014 Eric Wong <e@80x24.org>
+ * 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.
- * vm_eval.c (vm_call0_body): fix RB_GC_GUARD location
- (check_funcall_exec): ditto
- [Bug #9609]
+ * ext/tk/lib/tk.rb: improve of accessing Tcl/Tk's special variables.
-Fri Mar 7 14:48:17 2014 Narihiro Nakamura <authornari@gmail.com>
+ * ext/tk/lib/tkafter.rb: support 'wait on a thread' and 'wait on
+ an eventloop'.
- * parse.y (ENC_SINGLE): Unused macro removed.
+Wed Oct 15 00:10:24 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Mar 7 12:06:19 2014 Martin Bosslet <Martin.Bosslet@gmail.com>
+ * lib/soap/baseData.rb: Introduce SOAPType as the common ancestor of
+ SOAPBasetype and SOAPCompoundtype.
- * test/openssl/test_ssl.rb: Reuse TLS default options from
- OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.
+ * lib/soap/generator.rb, lib/soap/element.rb, lib/soap/encodingstyle/*:
+ Encoding methods signature change. Pass SOAPGenerator as a parameter.
-Thu Mar 6 15:15:24 2014 Zachary Scott <e@zzak.io>
+ * 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. :-)
- * doc/syntax/assignment.rdoc: [DOC] Fix assignment directions
- By @idupree [Fixes GH-555] https://github.com/ruby/ruby/pull/555
+ * lib/soap/rpc/standaloneServer.rb: Set severity threshould to INFO.
+ DEBUG is too noisy.
-Thu Mar 6 15:07:18 2014 Zachary Scott <e@zzak.io>
+ * lib/xsd/datatypes.rb: DateTime#of is obsoleted. Use DateTime#offset.
- * doc/syntax/methods.rdoc: [DOC] Fix example for block arguments
- By @idupree [Fixes GH-554] https://github.com/ruby/ruby/pull/554
+ * test/wsdl/emptycomplextype.wsdl, test/xsd/xmlschema.xml: Avoid
+ useless warning.
-Thu Mar 6 10:33:31 2014 Martin Bosslet <Martin.Bosslet@gmail.com>
+Tue Oct 14 19:09:35 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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]
+ * eval.c (ruby_finalize_0): return the given exit status unless
+ SystemExit got raised.
-Wed Mar 5 15:56:18 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Oct 14 11:53:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (f_arg_asgn): define optional arguments as argument
- variables in the rhs default expressions.
- [ruby-core:61299] [Bug #9593]
+ * intern.h (ruby_stop): never return.
-Wed Mar 5 11:58:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ruby.h (ruby_run): ditto.
- * 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.
+Tue Oct 14 04:43:55 2003 Tanaka Akira <akr@m17n.org>
-Wed Mar 5 00:42:00 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * lib/pathname.rb (realpath): make ELOOP check bit more robust.
+ (children): prepend self by default.
+ (chroot): obsoleted.
- * ext/pathname/lib/pathname.rb (Pathname#find): add "ignore_error"
- keyword argument defaulted to true as well as Find#find.
+Tue Oct 14 02:29:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 4 23:00:18 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * eval.c (rb_require_safe): segfault after loading .so.
- * test/ruby/test_eval.rb (TestEval#make_test_binding): renamed.
- it's not test method.
+Tue Oct 14 02:05:23 2003 Akinori MUSHA <knu@iDaemons.org>
-Tue Mar 4 20:50:59 2014 Masaya Tarui <tarui@ruby-lang.org>
+ * ext/Setup*, ext/enumerator/*: Add ext/enumerator, a helper
+ module for the Enumerable interface.
- * st.c (st_foreach): fix type of hash. not st_data_t but st_index_t.
+Mon Oct 13 23:55:59 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Mar 4 19:41:40 2014 Tanaka Akira <akr@fsij.org>
+ * test/ruby/envutil.rb: use Config::CONFIG["ruby_install_name"],
+ not "ruby".
- * Makefile.in: ".DEFAULT" target removed because it is not for
- specifying default target.
+Mon Oct 13 23:57:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 4 00:25:35 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * eval.c (rb_feature_p): match by classified suffix.
- * lib/find.rb (Find#find): should pass ignore_error option to enumerators.
+ * eval.c (rb_require_safe): require library in the specified safe
+ level.
-Mon Mar 3 13:27:35 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * variable.c (rb_autoload, rb_autoload_load): restore safe level
+ when autoload was called. [ruby-dev:21338]
- * test/test_find.rb (TestFind#test_unsearchable_dir): ruby cannot make
- directory unreachable by owner on Windows.
+ * intern.h: prototypes; rb_require_safe.
-Mon Mar 3 08:10:04 2014 Eric Wong <e@80x24.org>
+ * test/runner.rb: accept non-option arguments.
- * vm_method.c (rb_method_entry_get_without_cache): disable GMC
- writing if GMC is disabled.
- [ruby-core:61218]
+Mon Oct 13 20:49:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Mar 3 07:47:17 2014 Eric Wong <e@80x24.org>
+ * string.c (str_new4): should not preserve FL_TAINT status in the
+ internal shared string. [ruby-dev:21601]
- * README.EXT: wrap GetDBM with do/while(0)
- * README.EXT.ja: ditto
- * ext/dbm/dbm.c: ditto, likewise for GetDBM2
- * ext/gdbm/gdbm.c: ditto
- * ext/sdbm/init.c: ditto
- [ruby-core:61217]
+ * string.c (rb_str_new4): ditto.
-Mon Mar 3 07:17:31 2014 Zachary Scott <e@zzak.io>
+ * eval.c: use EXIT_SUCCESS and EXIT_FAILURE for exit values.
- * NEWS: [DOC] Update doc regarding filesystem load when flushing IO
+ * process.c: ditto. [ruby-list:38521]
-Mon Mar 3 04:37:50 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Oct 13 19:51:02 2003 Koji Arai <jca02266@nifty.ne.jp>
- * io.c (rb_io_fsync): need to fsync even if on Windows. fixed mistake
- of r45254 and r45256.
+ * 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 3 04:21:34 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Oct 12 14:45:03 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/win32ole: get rid of warnings (unused variable).
+ * ext/win32ole/extconf.rb: check "windows.h", not "windows".
+ [ruby-talk:84051]
-Mon Mar 3 02:53:53 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Oct 11 20:41:03 2003 Corinna Vinschen <corinna@vinschen.de>
- * io.c (rb_io_flush_raw): [EXPERIMENTAL] remove force syncing for Win32
- to speed up IO. this may break some tests, and they'll be fixed
- later.
- [ruby-core:58570] [Bug #9153]
+ * file.c (eaccess): Use access(2) on Cygwin.
-Mon Mar 3 00:17:43 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Oct 11 17:09:21 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/ruby/test_backtrace.rb: get rid of warnings. unused variable,
- shadowing.
+ * lib/rexml/quickpath.rb (REXML::QuickPath::match):
+ escape '[' to avoid warning.
-Sun Mar 2 11:15:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 11 16:08:41 2003 Tanaka Akira <akr@m17n.org>
- * lib/find.rb (Find#find): add "ignore_error" keyword argument
- defaulted to true. [ruby-core:51025] [Feature #7596]
+ * lib/pathname.rb (realpath): check existence of the file.
-Sun Mar 2 11:13:30 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/pathname.rb (realpath): re-implemented.
+ (realpath_root?, realpath_rec): removed
- * ext/readline/extconf.rb (rl_hook_func_t): define as Function for
- very old readline versions. [ruby-core:61209] [Bug #9578]
+Sat Oct 11 10:19:39 2003 Shugo Maeda <shugo@ruby-lang.org>
-Sun Mar 2 10:47:58 2014 Eric Wong <e@80x24.org>
+ * lib/monitor.rb: handle exceptions correctly. Thanks, Gennady
+ Bystritsky.
- * load.c (ruby_init_ext): make idempotent to suppress warnings
+Fri Oct 10 07:50:54 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Mar 1 19:51:42 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (is_defined): inheritance line adjustment as like as
+ rb_call_super().
- * lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing
- stdin_data.
- (Open3.capture2): Ditto.
- (Open3.capture2e): Ditto.
+Fri Oct 10 01:19:00 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Sat Mar 1 19:06:47 2014 Eric Wong <e@80x24.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.
- * gc.c (ruby_gc_set_params): simplify condition
+ * ext/openssl/lib/openssl/x509.rb (X509::Name::parse): ditto.
-Sat Mar 1 16:18:40 2014 Tanaka Akira <akr@fsij.org>
+Thu Oct 9 23:50:21 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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]
+ * eval.c (rb_thread_start_0): prevent thread from GC.
+ [ruby-dev:21572]
-Sat Mar 1 16:05:58 2014 Eric Wong <e@80x24.org>
+Thu Oct 9 19:11:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (ruby_gc_set_params): fix building without RGenGC
+ * eval.c (rb_thread_start_0): non-volatile should be restored from
+ volatile.
-Sat Mar 1 11:08:00 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Thu Oct 9 17:43:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encoding
- objects.
+ * eval.c (proc_save_safe_level, proc_get_safe_level,
+ proc_set_safe_level): save/restore safe level 1..4.
- * ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding
- objects.
+Thu Oct 9 16:33:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/psych/test_encoding.rb: add test
+ * marshal.c (r_object0): remove unnecessary iv restoration for
+ USRMARSHAL. [ruby-dev:21582]
- * ext/psych/lib/psych.rb: add version
+ * marshal.c (w_object): dump generic instance variables from
+ a string from '_dump'.
-Sat Mar 1 10:52:34 2014 Zachary Scott <e@zzak.io>
+ * variable.c (rb_generic_ivar_table): return 0 if obj's FL_EXIVAR
+ is not set.
- * README.EXT.ja: [DOC] Fix typo "macro macro" @utenmiki [Fixes GH-551]
- https://github.com/ruby/ruby/pull/551
+ * time.c (time_dump): copy instance variables to dumped string, to
+ be included in the marshaled data.
-Fri Feb 28 11:16:55 2014 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * bignum.c (rb_big2ulong): add range check to ensure round trip.
- * numeric.c: Fix Numeric#step with 0 unit [Bug #9575]
+Thu Oct 9 15:45:27 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Feb 27 17:59:01 2014 Zachary Scott <e@zzak.io>
+ * pack.c (uv_to_utf8): change message to "out of range", since
+ negative values are not "too big". [ruby-dev:21567]
- * lib/optparse.rb: [DOC] Add example of generating help with optparse.
- Patch by @joelmccracken documenting-ruby/ruby#19
- https://github.com/documenting-ruby/ruby/pull/19
+Thu Oct 9 14:05:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 27 12:10:09 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_set_end_proc, rb_exec_end_proc): restore safe level.
+ [ruby-dev:21557]
- * numeric.c (ruby_num_interval_step_size): check signs and get rid
- of implementation dependent behavior of negative division.
- [ruby-core:61106] [Bug #9570]
+Thu Oct 9 10:51:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 27 03:55:45 2014 Zachary Scott <e@zzak.io>
+ * eval.c (rb_yield_0): no error if block is empty.
- * thread.c: [DOC] Typo in comment for _FORTIFY_SOURCE [Fixes GH-548]
- Patch by @qnet-herwin https://github.com/ruby/ruby/pull/548
+Thu Oct 9 06:43:33 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Feb 26 18:43:43 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (localjump_error): id should be ID.
- * gc.c (heap_pages_free_unused_pages): check tomb page availability
- at first.
- And return immediately if we don't touch sorted list any more.
+ * eval.c (rb_eval): nd_rval is set in copy_node_scope().
-Wed Feb 26 14:10:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_yield_0): unused variable.
- * eval.c (setup_exception): preserve exception class name encoding
- in debug mode messages.
+ * eval.c (rb_yield_0): nothing to do for empty node.
- * eval.c (setup_exception): preserve errinfo across calling #to_s
- method on the exception. [ruby-core:61091] [Bug #9568]
+ * eval.c (call_end_proc, proc_invoke): adjust backtrace in END.
+ [ruby-dev:21551]
-Wed Feb 26 01:29:27 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * eval.c (rb_thread_start_0): set the value by break as the result.
+ [ruby-dev:21552]
- * string.c (sym_find): Add Symbol.find(str), which returns whether given
- string is defined as symbol or not. [Feature #7854]
+ * eval.c (rb_thread_start_0, rb_thread_raise, rb_callcc): save
+ variables across THREAD_SAVE_CONTEXT.
-Tue Feb 25 22:52:02 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Thu Oct 9 12:05:46 2003 Eric Sunshine <sunshine@sunshineco.com>
- * ext/dl/dl.c (rb_dl_realloc): use NUM2SIZET instead of NUM2INT.
+ * 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/fiddle/fiddle.c (rb_fiddle_realloc): 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.
-Tue Feb 25 22:49:30 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * 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.
- * ext/dl/dl.c (rb_dl_malloc): use NUM2SIZET instead of NUM2INT.
- Coverity Scan found this bug.
+ * 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.
- * ext/fiddle/fiddle.c (rb_fiddle_malloc): ditto.
+ * 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.
-Tue Feb 25 12:06:13 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * main.c: also create hard reference to objc_msgSend() on NeXT
+ platforms (in addition to Apple platforms).
- * win32/Makefile.sub: define PACKED_STRUCT.
+ * 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').
-Mon Feb 24 21:41:56 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * 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()
- * README.md, README.ja.md: removed (wrong) mode setting for emacs.
+ * 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.
-Mon Feb 24 20:05:41 2014 Eric Wong <e@80x24.org>
+ * 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.
- * configure.in: define PACKED_STRUCT_UNALIGNED for x86*
- * timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED
- * time.c (struct time_object): ditto
- [Bug #9558] non-x86 cannot safely access unaligned addresses
+ * ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
+ platforms such as NextStep and OpenStep which lack strdup().
-Mon Feb 24 18:10:02 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * 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.
- * test/fiddle/test_function.rb: remove unused variables.
- * test/fileutils/test_fileutils.rb: ditto.
- * test/io/console/test_io_console.rb: ditto.
+ * 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.
-Mon Feb 24 12:37:51 2014 Eric Wong <e@80x24.org>
+ * ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
+ platforms such as NextStep and OpenStep which lack strdup().
- * configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+
- use __attribute__((packed)) if available
- * timev.h: shrink and pack struct vtm
- * time.c: pack struct time_object and adjust/introduce helpers
- [ruby-core:60794]
+Wed Oct 8 22:19:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Sun Feb 23 17:55:50 2014 Kouhei Sutou <kou@cozmixng.org>
+ * lib/test/unit.rb: removed installation instructions.
- * lib/rexml/xmltokens.rb: Add missing non ASCII valid characters
- to element name characters. Now, REXML name tokens exactly
- match "[5] Name" in the XML spec and "[4] NCName" in the
- Namespaces in XML spec. See comment about the details.
- [Bug #9539] [ruby-core:60901]
- Reported by Mario Barcala. Thanks!!!
+ * lib/test/unit/ui/testrunnermediator.rb: moved the run flag to a more
+ central location.
- * test/rexml/xpath/test_node.rb: Add tests for the above case.
+ * lib/test/unit.rb: ditto.
-Sun Feb 23 12:18:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit.rb: extracted the running code in to AutoRunner.
- * ext/socket/raddrinfo.c (inet_pton): use rb_w32_inet_pton, instead of
- inet_pton directly, which is unavailable on older version Windows.
+ * lib/test/unit/autorunner.rb: added.
- * 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.
+ * lib/test/unit/collector/objectspace.rb: extracted common test
+ collection functionality in to a module.
-Sun Feb 23 11:33:25 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/test/unit/collector.rb: ditto; added.
- * test/net/imap/test_imap.rb: remove unused variables.
- * test/net/imap/test_imap_response_parser.rb: ditto.
- * test/net/pop/test_pop.rb: ditto.
+ * test/testunit/collector/test_objectspace.rb: ditto.
-Sun Feb 23 02:19:51 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit/collector/dir.rb: added. Supports collecting tests out
+ of a directory structure.
- * 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]
+ * test/testunit/collector/test_dir.rb: added.
-Sat Feb 22 23:17:01 2014 Kouhei Sutou <kou@cozmixng.org>
+ * test/runner.rb: simplified to use the new capabilities.
- * lib/rexml/xpath_parser.rb: Fix indent.
+Tue Oct 7 15:23:09 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Feb 22 23:15:35 2014 Kouhei Sutou <kou@cozmixng.org>
+ * test/ruby/test_beginendblock.rb: add tests for nested BEGIN/END.
- * test/rexml/xpath/test_attribute.rb: Simplify.
+ * test/ruby/beginmainend.rb: add tests for nested BEGIN/END.
-Sat Feb 22 20:28:47 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/ruby/endblockwarn.rb: new file added to test of END-in-method
+ warning.
- * tool/redmine-backporter.rb: more friendly.
+Tue Oct 7 12:23:47 2003 Tanaka Akira <akr@m17n.org>
-Sat Feb 22 20:24:43 2014 Kouhei Sutou <kou@cozmixng.org>
+ * ext/fcntl/fcntl.c (Init_fcntl): define Fcntl::O_ACCMODE.
- * test/rexml/test_xpath*.rb: Move to ...
- * test/rexml/xpath/*.rb: ... here.
+ * ext/socket/extconf.rb: useless assignment removed.
-Sat Feb 22 20:04:41 2014 Kouhei Sutou <kou@cozmixng.org>
+Tue Oct 7 09:13:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rexml/listener.rb: Untabify.
+ * test/ruby/test_beginendblock.rb (test_endinmethod): END{} is now
+ allowed in eval.
-Sat Feb 22 19:07:31 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Oct 7 04:15:25 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/io/console/console.c (console_dev): need read access for conout$
- because some functions need it. [Bug#9554]
+ * parse.y (stmt): should not expand mrhs if lhs is solely starred.
-Sat Feb 22 18:40:58 2014 Eric Wong <e@80x24.org>
+Tue Oct 7 02:57:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * .gitignore: ignore benchmark files
+ * parse.y (stmt): rhs of multiple assignment should not be
+ expanded using "to_a". [ruby-dev:21527]
-Sat Feb 22 01:22:24 2014 Yusuke Endoh <mame@tsg.ne.jp>
+Tue Oct 7 01:42:34 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (bary_mul_precheck): fix a copy-paste error.
- Coverity Scan found this bug.
+ * ext/openssl/ossl_asn1.c (ossl_asn1_get_asn1type): use appropriate
+ free function for ASN1_OBJECT.
-Sat Feb 22 00:58:51 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.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.
- * ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of
- MEMZERO is type. Coverity Scan found this bug.
+ * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_ln): add new function for
+ ASN1::ObjectId#ln; it returns long name text representation of OID.
-Fri Feb 21 23:47:24 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_oid): add new function for
+ ASN1::ObjectId#oid; it returns numerical representation of OID.
- * 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]
+Mon Oct 6 22:59:46 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Feb 21 23:03:39 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * 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.
- * tool/redmine-backporter.rb: added to handle redmine tickets.
+ * test/csv/test_csv.rb: add tests for above change.
-Fri Feb 21 20:42:01 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 5 23:27:09 2003 Tanaka Akira <akr@m17n.org>
- * class.c (rb_mod_init_copy): do nothing if copying self.
- [ruby-dev:47989] [Bug #9535]
+ * ext/socket/extconf.rb: check recvmsg even if sendmsg is exists.
- * hash.c (rb_hash_initialize_copy): ditto.
+ * ext/socket/socket.c (thread_read_select): restored.
-Fri Feb 21 16:45:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Oct 6 16:23:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/logger.rb (next_rotate_time, previous_period_end): consider
- DST change.
+ * marshal.c (w_object): wrong method name in the message.
- * lib/logger.rb (Logger::LogDevice#check_shift_log): compare the
- current time with the time for the next rotation to fix rotation
- miss when date changed between the comparison and log writing.
- based on the patch by megayu <yuhg2310 AT gmail.com>.
- [Fixes GH-539]
+Mon Oct 6 16:02:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Fri Feb 21 10:39:33 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * parse.y (stmt): END in method should cause warning.
+ [ruby-dev:21519]
- * test/monitor/test_monitor.rb: remove unused variables.
- * test/resolv/test_dns.rb: ditto.
- * test/rexml/test_functions.rb: ditto.
- * test/rss/test_setup_maker_itunes.rb: ditto.
+Mon Oct 6 15:17:23 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Feb 21 09:48:56 2014 Eric Wong <e@80x24.org>
+ * test/ruby/test_iterator.rb (test_block_argument_without_paren):
+ added. (follows sample/test.rb)
- * 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
+Mon Oct 6 11:57:06 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Feb 21 08:27:19 2014 Eric Wong <e@80x24.org>
+ * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: added
+ test for eval-ed BEGIN END order.
- * include/ruby/ruby.h (RB_GC_GUARD):
- use rb_gc_guarded_ptr_val on non-GCC/MSC
- * gc.c (rb_gc_guarded_ptr_val): rename and adjust argument.
- RB_GC_GUARD should be robust enough for any compiler.
- [ruby-core:60816] [Bug #7805]
+Mon Oct 6 09:19:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Feb 20 22:21:26 2014 Tanaka Akira <akr@fsij.org>
+ * marshal.c (w_object): should pass "weak" value to next level.
+ [ruby-dev:21496]
- * ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc.
- Suggested by Eric Wong.
- https://bugs.ruby-lang.org/issues/9525#note-14
+ * eval.c (proc_alloc): should not use cached object if klass is
+ different. [ruby-talk:83685]
-Thu Feb 20 11:21:13 2014 Masaki Matsushita <glass.saga@gmail.com>
+Sun Oct 5 23:27:09 2003 Tanaka Akira <akr@m17n.org>
- * hash.c (rb_hash_flatten): fix behavior of flatten(-1).
- [ruby-dev:47988] [Bug #9533]
+ * lib/pathname.rb: version information is added in document.
- * test/ruby/test_array.rb: test for above.
+Sun Oct 5 23:07:03 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Feb 19 18:57:02 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_f_END): block should be given. [ruby-dev:21497]
- * ext/socket: Bypass getaddrinfo() if node and serv are numeric.
- Reporeted by Naotoshi Seo. [ruby-core:60801] [Bug #9525]
+Sun Oct 5 22:51:23 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/socket/extconf.rb: Detect struct sockaddr_in6.sin6_len.
+ * lib/ext/openssl/extconf.rb: add check for some engine functions
+ unavailable in OpenSSL-0.9.6.
- * ext/socket/sockport.h (SET_SIN6_LEN): New macro.
- (INIT_SOCKADDR_IN6): Ditto.
+ * lib/ext/openssl/ossl_engine.c: ditto.
- * ext/socket/rubysocket.h (struct rb_addrinfo): Add
- allocated_by_malloc field.
+Sun Oct 5 17:56:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.
+ * eval.c (rb_eval): fix evaluation order. [ruby-list:38431]
-Wed Feb 19 18:31:48 2014 Tanaka Akira <akr@fsij.org>
+Sun Oct 5 15:05:06 2003 akira yamada <akira@ruby-lang.org>
- * ext/socket: Wrap struct addrinfo by struct rb_addrinfo.
+ * test/uri/*: translated RUNIT to Test::Unit.
-Wed Feb 19 17:47:01 2014 Tanaka Akira <akr@fsij.org>
+Sun Oct 5 14:37:39 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.
+ * lib/xsd/datatypes.rb: Rational -> Decimal string bug fix.
-Wed Feb 19 11:39:41 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * test/soap/marshal/test_marshal.rb: ditto.
- * configure.in: it must see rb_cv_broken_memmem not rb_cv_func_memmem.
+ * test/soap/calc/test_calc_cgi.rb: add Config::CONFIG["EXEEXT"] to
+ RUBYBIN.
-Tue Feb 18 23:18:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun Oct 5 13:47:22 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/socket/test_socket.rb: unix socket is required by test case.
+ * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: add tests
+ about scope, order and allowed syntax.
-Tue Feb 18 20:48:38 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sun Oct 5 11:54:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * 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.
+ * test/ruby/envutil.rb: added. split "rubybin" from test_system.rb.
-Tue Feb 18 14:27:18 2014 Shota Fukumori <her@sorah.jp>
+ * test/ruby/test_system.rb: use envutil.rb
- * lib/test/unit.rb: Requires minitest < 5.0.0 if Gem is available.
+ * test/ruby/test_beginendblock.rb: added.
-Tue Feb 18 14:24:07 2014 Shota Fukumori <her@sorah.jp>
+ * test/ruby/beginmainend.rb: added. used in test_beginendblock.rb.
- * lib/test/unit/test-unit.gemspec: Add minitest < 5.0.0 dependency
+Sun Oct 5 11:23:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * tool/rbinstall.rb: Add empty implementations for `add_dependency`,
- `add_runtime_dependency`, `add_development_dependency` for
- Gem::Specification.
+ * test/testunit/runit/test_testresult.rb: removed some unnecessary
+ cruft.
-Tue Feb 18 12:06:39 2014 Tanaka Akira <akr@fsij.org>
+Sun Oct 5 11:14:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * configure.in (FILE_COUNT): Removed. (win32.c defines it in itself.)
- (FILE_READPTR): Ditto.
+ * lib/rubyunit.rb: aliasing TestCase into the top level is
+ problematic.
-Tue Feb 18 09:35:44 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/runit/assert.rb: fixed a couple of bugs caused by recent
+ refactoring in Test::Unit.
- * test/test/psych/test_string.rb: remove unused variables.
- * test/test/psych/test_yaml.rb: ditto.
+ * test/testunit/runit/*: added.
-Mon Feb 17 21:31:31 2014 Koichi Sasada <ko1@atdot.net>
+Sun Oct 5 10:55:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/ruby/test_gc.rb: ignore warning messages for running with -w
- option such as chkbuild.
+ * lib/open-uri.rb (URI::Generic#find_proxy): no_proxy support did not
+ work. [ruby-dev:21484]
-Mon Feb 17 20:00:27 2014 Tanaka Akira <akr@fsij.org>
+Sun Oct 5 09:52:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * internal.h: Move BDIGIT and related definitions from
- include/ruby/defines.h.
+ * lib/test/unit/assertions.rb: will use pp for output if available.
+ Can be disabled by setting Assertions.use_pp = false.
-Mon Feb 17 17:41:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/testunit/test_assertions.rb: made a small change to exception
+ formatting.
- * marshal.c (marshal_dump, marshal_load): do not recycle wrapper
- objects, to prevent from segfault with continuation.
- [ruby-dev:47970] [Bug #9523]
+Sun Oct 5 07:42:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Mon Feb 17 15:43:59 2014 Zachary Scott <e@zzak.io>
+ * lib/test/unit/assertions.rb: made small improvements to assertion
+ messages. Deprecated Assertions#assert_not_nil; use #assert instead.
- * doc/keywords.rdoc: [DOC] Add keywords doc by documenting-ruby/ruby#29
- https://github.com/documenting-ruby/ruby/pull/29
+ * test/testunit/test_assertions.rb: ditto.
-Mon Feb 17 12:31:31 2014 Koichi Sasada <ko1@atdot.net>
+ * test/testunit/util/test_procwrapper.rb: use #assert instead of
+ #assert_not_nil.
- * gc.c (get_envparam_double): fix a warning message.
+Sun Oct 5 04:10:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Mon Feb 17 12:09:52 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/test/unit/assertions.rb: refactored message building.
- * gc.c: introduce new environment variable
- "RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR" to control major/minor GC
- frequency.
+Sun Oct 5 03:40:22 2003 GOTOU Yuuzou <gotoyuzo@notwork.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.
+ * ext/openssl/ossl_asn1.h: global symbols should be declared
+ as external.
- * test/ruby/test_gc.rb: add a test.
+Sun Oct 5 03:03:20 2003 akira yamada <akira@ruby-lang.org>
-Mon Feb 17 11:28:40 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * test/ruby/test_exception.rb (test_else): added.
- * test/test_pty.rb: ignore warnings to unused variables.
+Sun Oct 5 02:12:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Mon Feb 17 11:27:36 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/test/unit/assertions.rb: changed assertion messages to rely more
+ heavily on #inspect. Added backtrace filtering for exceptions in
+ assertion messages.
- * test/test_find.rb: remove unused variables.
+ * test/testunit/test_assertions.rb: ditto.
-Sun Feb 17 02:12:00 2014 Kenta Murata <mrkn@mrkn.jp>
+Sun Oct 5 02:12:00 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard.
+ * lib/drb/acl.rb, lib/drb/ssl.rb: added.
- * ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto.
+ * lib/drb/drb.rb: exit from a thread using 'break'.
-Sun Feb 16 15:53:36 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Oct 4 21:49:14 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * test/test_securerandom.rb: File.exists? is deprecated. use File.exist?
+ * gc.c (Init_stack): the type of space is changed to unsigned int
+ from double. [ruby-dev:21483]
-Sun Feb 16 15:05:00 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+Sat Oct 4 17:52:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/pathname/test_pathname.rb: File.exists? is deprecated. use File.exist?
+ * 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")
-Sun Feb 16 15:00:28 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
+ * lib/soap/rpc/cgistub.rb: return "Status: XXX MMM" line.
- * test/net/ftp/test_ftp.rb: remove unused variables.
- * test/logger/test_logger.rb: ditto.
+ * test/runner.rb: give testsuite name.
-Sun Feb 16 14:52:46 2014 Eric Wong <e@80x24.org>
+Sat Oct 4 15:16:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * dir.c (dir_s_glob): RB_GC_GUARD instead of volatile
+ * 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.
-Sun Feb 16 14:33:52 2014 Tanaka Akira <akr@fsij.org>
+ * gc.c (Init_stack): cast "space" (doble value) into unsigned
+ int. should run on PowerPC.
- * include/ruby/ruby.h (RBIGNUM_SIGN): Defined for compatibility.
- (RBIGNUM_POSITIVE_P): Ditto.
- (RBIGNUM_NEGATIVE_P): Ditto.
+ * eval.c (rb_eval): should not execute else part if any exception
+ is caught. [ruby-dev:21482]
-Sun Feb 16 12:46:47 2014 Eric Wong <e@80x24.org>
+ * parse.y (f_args): should allow unparenthesized block argument.
- * io.c (rb_f_backquote): trade volatile for manual recycle
- rb_gc_force_recycle ensures object is visible until recycle
+ * parse.y (f_rest_arg): should allow unparenthesized rest
+ argument.
-Sun Feb 16 11:55:14 2014 Eric Wong <e@80x24.org>
+Sat Oct 4 14:59:51 2003 Tanaka Akira <akr@m17n.org>
- * marshal.c (marshal_dump): use rb_gc_force_recycle for GC-safety
- (marshal_load): ditto
- [ruby-core:60730] [Bug #7805]
+ * 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.
-Sun Feb 16 08:11:23 2014 Zachary Scott <e@zzak.io>
+Sat Oct 4 12:58:48 2003 akira yamada <akira@ruby-lang.org>
- * README.EXT.ja: [DOC] Fix typo by @utenmiki [Fixes GH-534]
- https://github.com/ruby/ruby/pull/534
+ * test/uri/* (6 files): added.
-Sun Feb 16 07:48:20 2014 Tanaka Akira <akr@fsij.org>
+Sat Oct 4 12:44:45 2003 akira yamada <akira@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (BIGNUM_ZERO_P): Unused macro removed.
+ * lib/uri/ftp.rb, lib/uri/mailto.rb: renamed to #to_s from #to_str.
-Sun Feb 16 06:12:23 2014 Tanaka Akira <akr@fsij.org>
+Sat Oct 4 07:33:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * internal.h: Rename macro names: RBIGNUM_FOO to BIGNUM_FOO.
- (BIGNUM_EMBED_LEN_NUMBITS): Renamed from RBIGNUM_EMBED_LEN_NUMBITS.
- (BIGNUM_EMBED_LEN_MAX): Renamed from RBIGNUM_EMBED_LEN_MAX.
- (BIGNUM_SIGN_BIT): Renamed from RBIGNUM_SIGN_BIT.
- (BIGNUM_SIGN): Renamed from RBIGNUM_SIGN.
- (BIGNUM_SET_SIGN): Renamed from RBIGNUM_SET_SIGN.
- (BIGNUM_POSITIVE_P): Renamed from RBIGNUM_POSITIVE_P.
- (BIGNUM_NEGATIVE_P): Renamed from RBIGNUM_NEGATIVE_P.
- (BIGNUM_EMBED_FLAG): Renamed from RBIGNUM_EMBED_FLAG.
- (BIGNUM_EMBED_LEN_MASK): Renamed from RBIGNUM_EMBED_LEN_MASK.
- (BIGNUM_EMBED_LEN_SHIFT): Renamed from RBIGNUM_EMBED_LEN_SHIFT.
- (BIGNUM_LEN): Renamed from RBIGNUM_LEN.
- (RBIGNUM_DIGITS): Renamed from RBIGNUM_DIGITS.
- (BIGNUM_LENINT): Renamed from RBIGNUM_LENINT.
+ * lib/test/unit/testsuite.rb: changed #<< to return self, and added
+ #delete.
- * bignum.c: Follow the above change.
+ * test/testunit/test_testsuite.rb: ditto. Also slightly refactored
+ #test_size.
- * gc.c: Ditto.
+ * lib/test/unit/collector/objectspace.rb: collector now preserves the
+ hierarchy of suites.
- * marshal.c: Ditto.
+ * test/testunit/collector/test_objectspace.rb: ditto.
- * math.c: Ditto.
+Sat Oct 4 04:48:49 2003 why the lucky stiff <why@ruby-lang.org>
- * numeric.c: Ditto.
+ * ext/syck/rubyext.c: default keys handled.
- * random.c: Ditto.
+ * ext/syck/syck.h: lowered default buffer size to 16k for increased
+ performance.
- * rational.c: Ditto.
+ * test/yaml: checkin of basic unit tests.
- * sprintf.c: Ditto.
+Sat Oct 4 04:24:19 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/-test-/bignum/bigzero.c: Ditto.
+ * ext/openssl/extconf.rb: add check for X509V3_set_nconf.
- * ext/-test-/bignum/intpack.c: Ditto.
+ * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):
+ cannot implement if X509V3_set_nconf doesn't exist.
- * ext/bigdecimal/bigdecimal.c: Ditto.
+Sat Oct 4 02:12:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Feb 15 20:48:49 2014 Tanaka Akira <akr@fsij.org>
+ * lib/xsd/datatypes.rb: dump sign by itself. under the problematic
+ platform, sprintf("%+.10g", -0.0) => +0. sigh.
- * configure.in (FILE_READEND): Don't detect it because it is not used.
+ * sample/wsdl/amazon/*: update schema ver2 to ver3.
-Sat Feb 15 13:22:28 2014 Eric Wong <e@80x24.org>
+Sat Oct 4 01:33:46 2003 Tanaka Akira <akr@m17n.org>
- * probes_helper.h (RUBY_DTRACE_HOOK): correct type for _id
+ * lib/pathname.rb (initialize): duplicate and freeze argument.
+ (to_s): return duplicated string.
+ (children): new method.
+ (each_line): new alias to foreachline.
-Sat Feb 15 11:47:47 2014 Tanaka Akira <akr@fsij.org>
+Fri Oct 3 16:13:19 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * bignum.c (rb_big_cmp): Avoid bignum allocation for comparison
- between bignum and fixnum.
+ * ext/openssl/ossl_asn1.c: add DER encoder and decoder.
-Sat Feb 15 10:55:12 2014 Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ * ext/openssl/ossl_asn1.h: add OpenSSL::ASN1 module.
- * ext/-test-/win32/fd_setsize/depend: fix wrong dependencies.
- [ruby-dev:47253]
+ * ext/openssl/ossl.c (Init_openssl): call Init_ossl_asn1.
-Sat Feb 15 00:38:54 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/extconf.rb: check if X509_ATTRIBUTE has field "single".
- * enum.c: Enumerable#{min,min_by,max,max_by} extended to take an
- optional argument.
- (nmin_cmp): New function.
- (nmin_block_cmp): Ditto
- (nmin_filter): Ditto.
- (nmin_i): Ditto.
- (nmin_run): Ditto.
- (enum_min): Call nmin_run if the optional argument is given.
- (nmin_max): Ditto.
- (nmin_min_by): Ditto.
- (nmin_max_by): Ditto.
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): accept
+ DER encoded data argument.
- * range.c: Range#{min,max} extended to take an optional argument.
- (range_min): Call range_first if the optional argument is given.
- (range_max): Call rb_call_super if the optional argument is given.
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_get_value): return
+ DER encoded data in OpenSSL::ASN1 types.
- [ruby-core:57111] [Feature #8887]
+Fri Oct 3 13:02:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Sat Feb 15 00:27:46 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit.rb: refactored to use optparse.
- * include/ruby/ruby.h,
- internal.h,
- ext/-test-/bignum/bigzero.c: Hide a Bignum definition.
- [ruby-core:42891] [Feature #6083]
+ * lib/test/unit.rb: added support for selecting the output
+ level from the command-line.
-Sat Feb 15 00:13:14 2014 Tanaka Akira <akr@fsij.org>
+ * lib/test/unit.rb: added a command-line switch to stop processing
+ the command-line, allowing arguments to be passed to tests.
- * include/ruby/intern.h,
- include/ruby/io.h,
- include/ruby/ruby.h,
- include/ruby/win32.h,
- include/ruby/backward/rubysig.h,
- bignum.c,
- gc.c,
- io.c,
- process.c,
- safe.c,
- struct.c,
- thread.c,
- ext/socket/rubysocket.h,
- ext/-test-/old_thread_select: Remove deprecated definitions
- [ruby-core:60581] [Feature #9502]
+ * lib/test/unit.rb: changed the method for specifying a runner or a
+ filter from the command-line.
-Fri Feb 14 18:38:46 2014 Eric Wong <e@80x24.org>
+ * lib/test/unit/collector/objectspace.rb: fixed a bug causing all
+ tests to be excluded when the filter was set to an empty array.
- * string.c (rb_str_format_m): trade volatile for RB_GC_GUARD
- RB_GC_GUARD meaning is clear and has better code generation.
- [ruby-core:60688]
+ * test/testunit/collector/test_objectspace.rb: ditto.
-Thu Feb 13 23:30:30 2014 Shugo Maeda <shugo@ruby-lang.org>
+Fri Oct 3 08:14:32 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * 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]
+ * lib/irb/ruby-lex.rb (RubyLex::identify_identifier): support
+ 'class ::Foo' syntax. [ruby-talk:83514]
- * 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]
+Fri Oct 3 08:01:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
- * test/ruby/test_refinement.rb: related tests.
+ * lib/test/unit/assertions.rb: added a default message for #assert,
+ #assert_block, and #flunk.
-Thu Feb 13 18:38:15 2014 Eric Wong <e@80x24.org>
+ * test/testunit/test_assertions.rb: ditto.
- * re.c (rb_reg_raise): remove volatile
- Unnecessary since r41597
+ * lib/test/unit/failure.rb: failures now show a better trace of where
+ they occurred.
-Thu Feb 13 18:28:51 2014 Eric Wong <e@80x24.org>
+ * test/testunit/test_failure.rb: ditto (added).
- * re.c (rb_reg_regcomp): remove volatile
- Unnecessary since r13261
+ * lib/test/unit/testcase.rb: ditto.
-Thu Feb 13 16:54:32 2014 Zachary Scott <e@zzak.io>
+ * test/testunit/test_testcase.rb: ditto.
- * test/ruby/test_array.rb: Ensure flatten! is used for test_flatten
- Patch by @ksss [Fixes GH-530] https://github.com/ruby/ruby/pull/530
+ * lib/test/unit/util/backtracefilter.rb: added.
-Thu Feb 13 15:43:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/testunit/util/test_backtracefilter.rb: added.
- * parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug.
+ * lib/test/unit/error.rb: changed to use BacktraceFilter and improved
+ output.
- * parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also
- attrset ID. [ruby-core:60668] [Bug #8756]
+ * test/testunit/test_error.rb: ditto.
-Thu Feb 13 11:06:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 2 20:33:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: check if pthread_setname_np is available.
+ * ext/iconv/iconv.c (iconv_failure_initialize): conform with
+ orthodox initialization method.
- * thread_pthread.c: pthread_setname_np is not available on old
- Darwins. [ruby-core:60524] [Bug #9492]
+ * ext/iconv/iconv.c (iconv_fail): initialize exception instance
+ from the class, and do not share instance variables with the
+ others. [ruby-dev:21470]
-Thu Feb 13 00:56:59 2014 Masaki Matsushita <glass.saga@gmail.com>
+Thu Oct 2 18:20:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: revert r44922. I should have used AC_CHECK_FUNCS()
- to just define a symbol if the function is available.
+ * time.c (Init_Time): define initialize. [ruby-dev:21469]
-Thu Feb 13 00:20:58 2014 Masaki Matsushita <glass.saga@gmail.com>
+Thu Oct 2 17:39:38 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * configure.in: use AC_CHECK_FUNC instead of AC_CHECK_FUNCS
- if available.
+ * ext/openssl/ossl_engine.c: add a new module OpenSSL::Engine.
+ it supports OpenSSL hardware cryptographic engine interface.
-Thu Feb 13 00:15:10 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/openssl/ossl_engine.h: ditto.
- * configure.in: fix to undefine HAVE_MEMMEM correctly if it is broken.
+ * ext/openssl/MANIFEST: add ossl_engine.c and ossl_engine.h.
-Tue Feb 11 23:54:40 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/extconf.rb: add check for openssl/engine.h.
- * bignum.c (rb_big_cmp): Specialize a comparison to zero.
+ * ext/openssl/ossl.c: call Init_ossl_engine().
- * ext/bigdecimal/bigdecimal.c (is_negative): Use rb_big_cmp instead of
- RBIGNUM_NEGATIVE_P.
- (BigMath_s_log): Ditto.
+ * ext/openssl/ossl.h: include openssl/engine.h.
-Tue Feb 11 22:59:10 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl_pkey_{rsa,dsa,dh}.c: check if underlying
+ EVP_PKEY referes engine.
- * ext/openssl/ossl_bn.c (ossl_bn_initialize): Use rb_integer_pack.
- Fix SEGV by OpenSSL::BN.new(1 << (2**34)).
+Thu Oct 2 17:22:37 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Feb 11 17:00:38 2014 Zachary Scott <e@zzak.io>
+ * time.c (time_load): restore instance variables (if any) before
+ loading from marshaled data.
- * ext/tk/README.tcltklib: [DOC] Fix typo by @xta [Fixes GH-532]
+Thu Oct 2 14:19:15 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Feb 9 13:59:29 2014 Tanaka Akira <akr@fsij.org>
+ * ext/iconv/iconv.c (iconv_fail): now yield erred substring, and
+ set error object to $!.
- * configure.in: Fix compilation error.
- https://bugs.ruby-lang.org/issues/8358#note-16
+ * ext/iconv/iconv.c (iconv_convert): error handler block should
+ return appended part and the rest. if rest is nil, the
+ conversion stops.
-Sun Feb 9 05:20:24 2014 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Oct 2 12:00:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (rb_cv_gnu_qsort_r): use compile error "conflicting
- types for 'qsort_r'" instead of AC_RUN_IFELSE.
+ * variable.c (rb_const_defined_0): look up constants in Object as
+ well. [ruby-dev:21458]
-Sun Feb 9 04:07:34 2014 Zachary Scott <e@zzak.io>
+ * test/ruby/test_defined.rb (TestDefined::test_defined): test for
+ constants.
- * lib/yaml.rb: [DOC] Add links to syck and psych on github [Bug #9501]
- Based on a patch by Giorgos Tsiftsis
+Thu Oct 2 11:17:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Sun Feb 9 02:13:53 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/assertions.rb: should not capture an
+ AssertionFailedError unless explicitly requested.
- * include/ruby/ruby.h (OBJ_TAINTABLE, OBJ_TAINT, OBJ_INFECT),
- marshal.c (r_entry0): all Numerics never be tainted now.
- [ruby-core:57346] [Bug #8945]
+ * test/testunit/test_assertions.rb: ditto.
-Sat Feb 8 23:40:35 2014 Vit Ondruch <vondruch@redhat.com>
+ * 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]
- * configure.in: add quoting brackets and append wildcard for the
- rest after target_cpu, to properly detect platform for SSE2
- instructions. [ruby-core:60576] [Bug #8358]
+ * lib/test/unit/testcase.rb: ditto.
-Sat Feb 8 21:44:07 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * lib/test/unit/testsuite.rb: ditto.
- * configure.in: check qsort_r(3) and whether it is GNU version.
- BSD version has different prototype.
+ * lib/test/unit/collector/objectspace.rb: ditto.
- * util.h: use qsort_r() as ruby_qsort() if it is GNU version.
+Thu Oct 2 03:25:01 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * util.c: define ruby_qsort() if needed.
+ * eval.c (rb_thread_raise): prototype; avoid VC++ warning.
-Sat Feb 8 16:34:36 2014 Tanaka Akira <akr@fsij.org>
+Thu Oct 2 01:37:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#get_labels):
- Make it iterative.
+ * time.c (time_mdump): new marshal dumper. _dump is still
+ available for compatibility.
-Sat Feb 8 15:54:12 2014 Koichi Sasada <ko1@atdot.net>
+ * time.c (time_mload): new marshal loader.
- * gc.c, gc.h (rb_objspace_marked_object_p): added.
- This function *ONLY* works just after marking phase,
- before any sweeping.
- This function is highly depending current GC implementation
- and can be removed future version.
+ * marshal.c (w_object): preserve instance variables for objects
+ with marshal_dump.
-Sat Feb 8 15:41:37 2014 Tanaka Akira <akr@fsij.org>
+ * marshal.c (r_object0): restore instance variables before calling
+ marshal_load.
- * lib/resolv.rb: Don't set CLOEXEC flag explicitly. (Ruby set it by
- default.)
+ * error.c (rb_warn_m): always return nil.
-Sat Feb 8 15:27:02 2014 Tanaka Akira <akr@fsij.org>
+Thu Oct 2 01:32:46 2003 Yukihiro Matsumoto <matz@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]
+ * eval.c (rb_f_block_given_p): real required condition is
+ ruby_frame->prev->iter == ITER_CUR.
-Sat Feb 8 15:11:21 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (rb_block_given_p): ditto.
- * io.c (SMALLBUF): Unused macro removed.
+ * eval.c (block_pass): update ruby_frame->iter only when previous
+ value is ITER_NOT.
-Fri Feb 7 23:37:49 2014 Tanaka Akira <akr@fsij.org>
+Thu Oct 2 01:02:35 2003 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]
+ * variable.c (rb_const_defined_at): should exclude constants from
+ Object when TYPE(klass) == T_MODULE *and* exclude is on.
+ [ruby-dev:21458]
-Fri Feb 7 21:58:48 2014 Zachary Scott <e@zzak.io>
+ * variable.c (rb_const_get_0): do not lookup constants from Object
+ when TYPE(klass) == T_MODULE *and* exclude is on.
- * lib/open-uri.rb: [DOC] use lower case version of core classes, same
- as commit r44878, based on patch by Jonathan Jackson [Bug #9483]
+Thu Oct 2 00:21:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Feb 7 21:54:53 2014 Zachary Scott <e@zzak.io>
+ * test/logger/test_logger.rb: unlinking file before close causes
+ problem under win32 box.
- * 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/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.
-Fri Feb 7 05:28:38 2014 Eric Wong <e@80x24.org>
+ * test/xsd/test_xsd.rb, test/soap/test_basetype.rb: follow above change.
- * constant.h: reduce rb_const_entry_t size on 64-bit
- Patch by Adam Avilla [ruby-core:60542] [Feature #9496]
+ * test/soap/calc/*: give httpd config param "CGIInterpreter".
+ "/usr/bin/env ruby" thing does not work under non-Unix boxes.
-Thu Feb 6 15:27:46 2014 Koichi Sasada <ko1@atdot.net>
+Sat Oct 2 00:42:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
- * gc.c (get_envparam_int): correct warning messages.
+ * marshal.c (r_byte): retrieve pointer from string value for each
+ time. [ruby-dev:24404]
- * gc.c (get_envparam_double): ditto.
+ * marshal.c (r_bytes0): ditto.
-Thu Feb 6 15:17:30 2014 Koichi Sasada <ko1@atdot.net>
+ * enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399]
- * 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.
+ * io.c (io_read): should freeze all reading buffer.
+ [ruby-dev:24400]
- * gc.c (get_envparam_double): ditto.
+ * string.c (rb_str_sum): should use bignums when bits is greater
+ than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]
-Thu Feb 6 09:00:35 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (specific_eval): defer pointer retrieval to prevent
+ unsafe sourcefile string modification. [ruby-dev:24382]
- * 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.
+ * string.c (rb_str_sum): wrong cast caused wrong result.
+ [ruby-dev:24385]
- * gc.c (get_envparam_int): accept a value equals to lowerbound.
+ * enum.c (enum_sort_by): hide temporary array from
+ ObjectSpace.each_object. [ruby-dev:24386]
- * gc.c (get_envparam_double): ditto.
+ * string.c (rb_str_sum): check was done with false pointer.
+ [ruby-dev:24383]
-Thu Feb 6 08:23:28 2014 Eric Wong <e@80x24.org>
+ * string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
- * 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
+Thu Oct 2 00:25:21 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 6 07:18:01 2014 Eric Hodel <drbrain@segment7.net>
+ * signal.c (ruby_signal_name): adjust to the prototype.
- * lib/rubygems: Update to RubyGems 2.2.2. Complete history at:
+ * process.c (pst_inspect): ditto.
- http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05
+ * ext/etc/etc.c (etc_getgrent, Init_etc): typo.
- * test/rubygems: ditto.
+Wed Oct 1 20:49:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Feb 5 20:56:32 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (heaps): manage slots and limits together. [ruby-dev:21453]
- * marshal.c (to_be_skipped_id): ignore anonymous attributes.
+ * gc.c (add_heap): should not clear heaps slot even if realloc()
+ failed.
- * pack.c (Init_pack): use anonymous ID so that associated objects
- do not appear in the packed result.
+Wed Oct 1 20:36:49 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * parse.y (rb_make_internal_id): return an anonymous ID for
- internal use.
+ * MANIFEST: add wince/mkconfig_wce.rb.
-Wed Feb 5 14:41:56 2014 Koichi Sasada <ko1@atdot.net>
+Wed Oct 1 17:22:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * vsnprintf.c: remove duplicated def of `UNINITIALIZED_VAR()'.
+ * ext/etc/etc.c: add new functions: setpwent, getpwent, endpwent,
+ setgrent, getgrent, endgrent.
-Wed Feb 5 14:40:16 2014 Koichi Sasada <ko1@atdot.net>
+ * ext/socket/socket.c (sock_s_gethostbyname): do not reverse lookup.
- * ext/objspace/objspace_dump.c (dump_object): use STR_SHARED_P()
- instead of removed STR_NOCAPA_P() macro.
+Wed Oct 1 17:01:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Feb 5 13:51:33 2014 Koichi Sasada <ko1@atdot.net>
+ * eval.c (rb_load): Object scope had priority over required file
+ scope. [ruby-dev:21415]
- * internal.h, vm_core.h: move LIKELY/UNLIKELY/UNINITIALIZED_VAR()
- macros from vm_core.h to internal.h.
+Wed Oct 1 14:09:53 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
- * string.c: remove dependency to "vm_core.h".
+ * wince/mkconfig_wce.rb: sorry, forget to commit.
- * common.mk: ditto.
+Wed Oct 1 10:08:42 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
-Wed Feb 5 13:29:01 2014 Koichi Sasada <ko1@atdot.net>
+ * wince/setup.mak: add sigmarionIII SDK support.
- * string.c (rb_str_free): use FL_TEST(str, STR_SHARED) directly
- because str is not embed.
+ * wince/Makefile.sub: ditto.
- * string.c (str_replace): remove `FL_SET(str, STR_SHARED)' line
- because STR_SET_SHARED() set STR_SHARED.
+ * wince/mkexports.rb: fix linker error in SH4.
-Wed Feb 5 13:18:08 2014 Koichi Sasada <ko1@atdot.net>
+ * wince/mkconfig_wce.rb: camouflage RUBY_PLATFORM for compiling ext.
- * internal.h: remove macros STR_NOCAPA and STR_NOCAPA_P().
+Wed Oct 1 08:02:52 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
- * string.c (rb_str_resize): remove `STR_SET_NOEMBED(str)' because
- str_make_independent_expand() set NOEMBED flag.
+ * wince/time_wce.c (time): add zero check.
- * string.c (rb_str_resize): remove `STR_NOCAPA_P(str)' check because
- `str' is independent (not shared).
+Tue Sep 30 16:11:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Feb 5 12:54:25 2014 Koichi Sasada <ko1@atdot.net>
+ * Makefile.in: copy lex.c from $(srcdir) if it's not the current
+ directory. [ruby-dev:21437]
- * string.c: refactoring, especially about string flags.
+Tue Sep 30 11:29:23 2003 Tanaka Akira <akr@m17n.org>
- * string.c (STR_UNSET_NOCAPA): removed.
- Use FL_UNSET() with STR_SHARED.
+ * process.c (pst_inspect): describe stopped process "stopped".
- * string.c (rb_str_capacity): check STR_SHARED directly
- because it is not a embed string.
+Tue Sep 30 09:31:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_str_modify_expand): ditto.
+ * test/runner.rb: glob for directories.
- * string.c (rb_str_shared_replace): use STR_SET_SHARED().
+Tue Sep 30 09:11:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * string.c (str_make_independent_expand): remove STR_UNSET_NOCAPA()
- because `str' is not shared string.
+ * eval.c (rb_eval): while/until should not capture break unless
+ they are destination of the break.
-Wed Feb 5 12:11:04 2014 Koichi Sasada <ko1@atdot.net>
+Tue Sep 30 03:12:02 2003 Minero Aoki <aamine@loveruby.net>
- * string.c (RESIZE_CAPA): should not resize shared string.
+ * lib/net/http.rb (finish): revert to 1.93.
-Wed Feb 5 11:46:42 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/net/pop.rb (finish): revert to 1.60.
- * gc.c (gc_mark_children): STR_ASSOC is no longer available.
- Reported by @nagachika.
- http://d.hatena.ne.jp/nagachika/20140204
+ * lib/net/smtp.rb (finish): revert to 1.67.
-Wed Feb 5 11:27:22 2014 Koichi Sasada <ko1@atdot.net>
+ * lib/net/http.rb (do_start): ensure to close socket if failed to
+ start session.
- * string.c (rb_str_new_frozen): refactoring code.
- * Move code from str_new_frozen_with_klass() (and remove it)
- * `aux.shared' should not be 0 for STR_SHARED strings.
+ * lib/net/pop.rb (do_start): ditto.
-Wed Feb 5 04:23:41 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * lib/net/smtp.rb (do_start): ditto.
- * ext/psych/lib/psych.rb: New release of psych.
- * ext/psych/psych.gemspec: ditto
+ * lib/net/smtp.rb: SMTP#started? wrongly returned false always.
-Wed Feb 5 04:16:41 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+Tue Sep 30 02:54:49 2003 Minero Aoki <aamine@loveruby.net>
- * 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
+ * test/ruby/test_iterator.rb: new test
+ test_break__nested_loop[123].
-Tue Feb 4 19:10:29 2014 Koichi Sasada <ko1@atdot.net>
+Mon Sep 29 23:39:13 2003 Minero Aoki <aamine@loveruby.net>
- * string.c: use long allocator names instead of numbered
- allocator names.
- * rb_str_new2 -> rb_str_new_cstr
- * rb_str_new4 -> rb_str_new_frozen
- * rb_str_new5 -> rb_str_new_with_class
- * str_new3 -> str_new_shared
- * str_new4 -> str_new_frozen_with_klass
+ * lib/net/http.rb (finish): does not raise IOError even if
+ !started?, to allow closing socket which was opened before
+ session started.
-Tue Feb 4 17:20:03 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/pop.rb (finish): ditto.
- * dir.c (glob_helper): return the filename with actual cases on
- the filesystem if it is case-insensitive. [ruby-core:42469]
- [Feature #5994]
+ * lib/net/smtp.rb (finish): ditto.
-Tue Feb 4 16:16:58 2014 Koichi Sasada <ko1@atdot.net>
+Mon Sep 29 19:06:51 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * string.c: use STR_SHARED instead of ELTS_SHARED.
- (same value, but more clear meaning)
+ * ext/win32ole/extconf.rb: add windows.h checking.
+ (ruby-bugs:PR#1185)
-Tue Feb 4 16:09:14 2014 Koichi Sasada <ko1@atdot.net>
+Mon Sep 29 16:18:30 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * string.c: remove STR_ASSOC related code.
- By r44804, string objects can not have STR_ASSOC flag.
+ * lib/logger.rb: check if the given logdevice object respond_to :write
+ and :close, not is_a? IO. duck duck.
- * internal.h: ditto.
+ * test/logger/test_logger.rb: self IO.pipe reading/writing may be
+ locked by the flood. use tempfile.
- * ext/objspace/objspace_dump.c (dump_object): ditto.
+ * lib/wsdl/xmlSchema/data.rb: wrong constant reference.
-Tue Feb 4 14:07:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Sep 29 16:11:23 2003 Minero Aoki <aamine@loveruby.net>
- * pack.c (str_associate, str_associated): keep associated objects
- in an instance variables, instead of in the internal structure.
+ * test/fileutils/test_fileutils.rb: clean up temporary symlink.
+ Patched by NaHi. [ruby-dev:21420]
- * string.c (rb_str_associate, rb_str_associated): deprecate.
+Mon Sep 29 11:16:55 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Tue Feb 4 12:55:31 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (rb_thread_atfork): wrong format specifier.
+ [ruby-dev:21428]
- * string.c (rb_str_modify_expand): enable capacity and disable
- association with packed objects when setting capa, so that
- pack("p") string fails to unpack properly after modified.
+ * process.c (pst_inspect): better description.
-Tue Feb 4 12:45:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Sep 29 02:31:44 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * dir.c (glob_make_pattern): all alphabets are magic characters on
- case-insensitive filesystems. [ruby-core:42469] [Feature #5994]
+ * lib/webrick/utils.rb (Utils::su): use setgid and setuid to
+ set real and effective IDs. and setup group access list by
+ initgroups.
-Tue Feb 4 09:47:57 2014 Eric Hodel <drbrain@segment7.net>
+Sun Sep 28 11:14:19 2003 Koji Arai <jca02266@nifty.ne.jp>
- * lib/rubygems: Update to RubyGems 2.2.2 prerelease to check fixes to
- CI.
- * test/rubygems: ditto.
+ * ext/digest/digest.c (Init_digest): `copy_object' was deprecated.
+ `initialize_copy' should be defined.
-Mon Feb 3 12:04:47 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * ext/stringio/stringio.c (Init_stringio): ditto.
- * error.c: [DOC] Exception#cause may return nil. [ci skip]
+Sat Sep 27 18:25:13 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun Feb 2 05:48:42 2014 Eric Wong <e@80x24.org>
+ * lib/xsd/charset.rb: XSD::Charset.is_ces did return always true under
+ $KCODE = "NONE" environment. check added.
- * io.c (rb_io_syswrite): add RB_GC_GUARD
- [Bug #9472][ruby-core:60407]
+ * test/xsd/test_xsd.rb: add tests for above fix.
-Sat Feb 1 15:09:16 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Sat Sep 27 15:58:50 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/win32ole/win32ole.c (ole_typedesc2val): add VT_RECORD case.
+ * lib/soap/rpc/cgistub.rb: make logging severity threshold higher.
-Sat Feb 1 06:38:51 2014 Zachary Scott <e@zzak.io>
+ * lib/soap/rpc/standaloneServer.rb: defer WEBrick server start to give
+ a chance to reset logging severity threshold.
- * lib/drb/drb.rb: [DOC] Add note about start_service for each process
- Based on a patch by @rosenfeld [Fixes GH-514] [ci skip]
- https://github.com/ruby/ruby/pull/514
+ * test/soap/calc/test_*, test/soap/helloworld/test_helloworld.rb: run
+ silent.
-Sat Feb 1 06:30:20 2014 Zachary Scott <e@zzak.io>
+Sat Sep 27 09:44:18 2003 Minero Aoki <aamine@loveruby.net>
- * error.c: [DOC] Document Exception#cause by @jasonrclark [ci skip]
- [Fixes GH-519] https://github.com/ruby/ruby/pull/519
+ * test/fileutils/test_fileutils.rb: clear all errors on Windows.
+ [ruby-dev:21417]
-Sat Feb 1 06:10:49 2014 Zachary Scott <e@zzak.io>
+ * test/fileutils/test_nowrite.rb: ditto.
- * lib/securerandom.rb: [DOC] Add note on require for examples
- Based on a patch by @schneems [Fixes GH-518] [ci skip]
- https://github.com/ruby/ruby/pull/518
+Mon Sep 27 09:14:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sat Feb 1 06:04:56 2014 Zachary Scott <e@zzak.io>
+ * array.c (rb_ary_delete): comparison may change the capacity.
+ [ruby-dev:24348]
- * numeric.c: [DOC] Fix typo in example for #step [ci skip]
- Patch by @ksss [Fixes GH-522] https://github.com/ruby/ruby/pull/522
+ * array.c (rb_ary_fill): fill should honor length argument.
+ [ruby-dev:24346]
-Fri Jan 31 17:01:47 2014 Eric Wong <e@80x24.org>
+ * array.c (rb_ary_replace): should not use ptr from shared array.
+ [ruby-dev:24345]
- * ext/socket/init.c (rsock_socket0): split out SOCK_CLOEXEC version
- * ext/socket/socket.c (rsock_socketpair0): ditto
- [ruby-core:60377]
+ * ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.
+ [ruby-talk:113807]
-Fri Jan 31 03:48:40 2014 Eric Wong <e@80x24.org>
+Sat Sep 27 04:57:07 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * benchmark/driver: avoid large alloc in driver process
- [ruby-core:59869] [Bug #9430]
+ * test/ruby/test_file.rb: new file. only asserts unlink-before-close
+ behaviour now.
-Thu Jan 30 14:45:49 2014 Shugo Maeda <shugo@ruby-lang.org>
+ * test/soap/marshal/test_digraph.rb: should close before unlink.
+ unlink-before-close pattern is not needed here.
- * configure.in: use $@ instead of $(.TARGET) because .TARGET is not
- supported by GNU make.
+Sat Sep 27 03:32:37 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Thu Jan 30 08:26:21 2014 Yusuke Endoh <mame@tsg.ne.jp>
+ * 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.
- * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.
- [ruby-core:57599] [Bug #8978].
+Sat Sep 27 01:30:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Jan 29 20:08:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (ruby_connect): on win32, type of the 4th
+ argument of getsockopt is char *.
- * io.c (nogvl_copy_stream_sendfile): check socket on other than
- linux, as sendfile(2) on non-socket fd works only on linux.
- [Feature #9427]
+Fri Sep 26 18:35:40 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jan 29 18:09:48 2014 Eric Wong <e@80x24.org>
+ * lib/resolv-replace.rb: 1.8 compliance. [ruby-talk:82946]
- * io.c (nogvl_copy_stream_sendfile): remove socket check
- [ruby-core:59856][Feature #9427]
+Fri Sep 26 17:39:27 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed Jan 29 04:29:54 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * test/ruby/test_marshal.rb: add test for ruby's objects.
- * ext/openssl/ossl_ssl.c: pass read_nonblock options to underlying IO
- when SSL session has not been started.
+Fri Sep 26 09:52:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/openssl/test_ssl.rb: test for change.
+ * defines.h (flush_register_windows): use volatile only for gcc on
+ Solaris. [ruby-dev:21403]
-Wed Jan 29 03:49:36 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * lib/mkmf.rb (xsystem): use system directly to honor shell meta
+ charaters.
- * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value.
- [ruby-core:57599] [Bug #8978]. Thanks mame!
+Fri Sep 26 00:10:13 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Wed Jan 29 03:36:42 2014 Eric Wong <e@80x24.org>
+ * lib/README: updated.
- * doc/contributing.rdoc: allow/encourage other git hosts
- [ruby-core:59807][misc #9421]
+Thu Sep 25 17:48:10 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Jan 28 23:36:01 2014 Tanaka Akira <akr@fsij.org>
+ * ext/openssl/ossl.c (ossl_buf2str): fix type of 1st argument for
+ rb_protect.
- * ext/socket: Avoid redundant fcntl/fstat syscalls for cloexec
- sockets.
- Patch by Eric Wong. [ruby-core:59429] [Feature #9330]
+ * ext/openssl/ossl_hmac.c (ossl_hmac_digest): should return meaningful
+ value.
-Tue Jan 28 20:51:07 2014 Tanaka Akira <akr@fsij.org>
+Thu Sep 25 09:00:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.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/ostruct.rb: Added OpenStruct#==.
-Tue Jan 28 16:31:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ostruct/test_ostruct.rb: Added.
- * 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]
+Thu Sep 25 07:55:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jan 28 15:27:36 2014 NARUSE, Yui <naruse@ruby-lang.org>
+ * 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)
- * thread_pthread.c: rlimit is only available on Linux.
- At least r44712 breaks FreeBSD.
- [ruby-core:60113] [Bug #9454]
+Thu Sep 25 00:23:22 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Tue Jan 28 15:17:59 2014 Zachary Scott <e@zzak.io>
+ * MANIFEST: add SOAP4R.
- * lib/set.rb: [DOC] Add examples for Set#intersect? and Set#disjoint?
- Patch by xavier nayrac [Bug #9331] [ci skip]
+Thu Sep 25 00:13:15 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Jan 28 15:12:22 2014 Zachary Scott <e@zzak.io>
+ * lib/soap/* (29 files): SOAP4R added.
- * ext/zlib/zlib.c (rb_zlib_adler32): [DOC] Add example for adler32
- Patch by Vajrasky Kok [Bug #9307] [ci skip]
+ * lib/wsdl/* (42 files): WSDL4R added.
-Tue Jan 28 08:56:00 2014 Charlie Somerville <charliesome@ruby-lang.org>
+ * lib/xsd/* (12 files): XSD4R added.
- * 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]
+ * test/soap/* (16 files): added.
-Mon Jan 27 21:52:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/wsdl/* (2 files): added.
- * 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]
+ * test/xsd/* (3 files): added.
-Sat Jan 25 22:17:02 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * sample/soap/* (27 files): added.
- * README.ja.md, README.md: update the controller address of
- mailing lists.
+ * sample/wsdl/* (13 files): added.
-Sat Jan 25 14:50:42 2014 Eric Wong <normalperson@yhbt.net>
+Wed Sep 24 02:08:11 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * process.c (send_child_error): retry write on EINTR to fix
- occasional Errno::EINTR from Process.spawn.
+ * lib/webrick/httpservlet/cgihandler.rb: conform to mswin32.
+ [ruby-talk:82735], [ruby-talk:82748], [ruby-talk:82818]
- * process.c (recv_child_error): retry read on EINTR to fix
- occasional Errno::EINTR from Process.spawn.
+Tue Sep 23 23:10:16 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sat Jan 25 14:21:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/logger.rb: add Logger#<<(msg) for writing msg without any
+ formatting.
- * compile.c (iseq_compile_each): result of assignment should be
- its rhs instead of returned value from a method.
- [ruby-core:60071] [Bug #9448]
+ * test/logger/test_logger.rb: ditto.
-Sat Jan 25 11:16:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 23 20:47:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * class.c (rb_extract_keywords): treat nil keyword_hash same as 0,
- for the case rb_scan_args returns nil if no keyword hash.
+ * error.c (rb_warn_m): should not warn if -W0 is specified.
+ [ruby-talk:82675]
-Fri Jan 24 15:13:20 2014 Zachary Scott <e@zzak.io>
+Mon Sep 22 21:28:57 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * lib/racc/rdoc/grammar.en.rdoc: [DOC] Correct grammar and typos
- Patch by Giorgos Tsiftsis [Bug #9429] [ci skip]
+ * MANIFEST: updated.
-Thu Jan 23 20:20:17 2014 Koichi Sasada <ko1@atdot.net>
+Mon Sep 22 19:22:26 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/envutil.rb: try to wait a bit (0.1sec) when ruby process
- exits by signals because some SEGV tests fail because of not enough
- error output.
+ * configure.in (AC_CHECK_FUNCS): add setuid and setgid.
-Thu Jan 23 20:06:27 2014 Koichi Sasada <ko1@atdot.net>
+Mon Sep 22 12:34:55 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: check the target thread.
+ * util.c (ruby_strtod): skip preceding zeros before counting
+ digits in the mantissa. (ruby-bugs:PR#1181)
-Thu Jan 23 19:59:16 2014 Koichi Sasada <ko1@atdot.net>
+Sun Sep 21 04:12:36 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_settracefunc.rb: check the target thread.
+ * ext/openssl/ossl_ocsp.c (ossl_ocspreq_initialize): the argument
+ should be a String.
-Thu Jan 23 14:26:44 2014 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): ditt.
- * lib/fileutils.rb: [DOC] Fix typo in options_of() example [Bug #9392]
- Patch by Giorgos Tsiftsis
+ * ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): ditto.
-Thu Jan 23 13:56:16 2014 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.
- * README -> README.md: [DOC] Format README with Markdown [Bug #9255]
- * README.ja -> README.ja.md: ditto
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.
-Wed Jan 22 15:59:39 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 20 11:49:05 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * ext/thread/thread.c (Init_thread): ConditionVariable and Queue
- are not able to copy. [ruby-core:59961] [Bug #9440]
+ * lib/logger.rb: typo fixed.
-Tue Jan 21 20:14:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/logger/test_logger.rb: new file.
- * 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]
+Fri Sep 19 11:39:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-Tue Jan 21 17:55:09 2014 Zachary Scott <e@zzak.io>
+ * test/testunit/*: Added.
- * lib/uri/common.rb: [DOC] Use static w3.org uri [ci skip]
- Patch by @ykzts [Fix GH-484] https://github.com/ruby/ruby/pull/484
+ * lib/test/unit.rb: Documentation update.
-Tue Jan 21 16:43:22 2014 Zachary Scott <e@zzak.io>
+ * lib/test/unit/ui/console/testrunner.rb (TestRunner#initialize):
+ Ditto.
- * enum.c: [DOC] Add simple example of Enumerable#zip [ci skip]
- Patch by @nruth on documenting-ruby/ruby#22
- https://github.com/documenting-ruby/ruby/pull/22
+ * lib/test/unit.rb: Factored out an ObjectSpace collector.
-Tue Jan 21 16:26:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/test/unit/collector/objectspace.rb: Ditto.
- * 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]
+ * sample/testunit/*: Added.
-Tue Jan 21 04:31:23 2014 Tanaka Akira <akr@fsij.org>
+Fri Sep 19 01:00:48 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and
- IP_MULTICAST_TTL on Mac OS X and Windows.
+ * lib/webrick/log.rb (BasicLog#log): get rid of as ineffectual
+ condition.
-Tue Jan 21 00:39:15 2014 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/log.rb (BasicLog#format): add "\n" to message.
- * ext/socket/option.c: Use "byte" as default argument for
- IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket option to follow
- the original multicast implementation.
+Thu Sep 18 22:43:20 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Jan 20 20:20:27 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (proc_invoke): should push PROT_PCALL tag for orphans.
- * ext/socket/option.c: Use preprocessor macros to avoid repeated
- conditionals.
+ * eval.c (proc_invoke): should update "result" for orphans.
-Mon Jan 20 13:55:03 2014 Zachary Scott <e@zzak.io>
+Thu Sep 18 20:33:03 2003 Tietew <tietew-ml-ruby-list@tietew.net>
- * lib/rubygems/version.rb: [DOC] Use gender-neutral pronouns [ci skip]
- * lib/rubygems/security.rb: ditto
+ * parse.y (str_xquote): do not prepend escapes in
+ backqoute literals. [ruby-list:38409]
-Sun Jan 19 06:38:48 2014 Benoit Daloze <eregontp@gmail.com>
+Thu Sep 18 20:30:17 2003 Tanaka Akira <akr@m17n.org>
- * compar.c (cmp_equal): warn for this release and still rescue
- standard exceptions for a nicer transition. See #7688.
- Partly reverts r44502.
+ * lib/pathname.rb: update document.
- * test/ruby/test_comparable.rb: adapt assertion to match new behavior.
+Thu Sep 18 15:27:05 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Sun Jan 19 06:27:18 2014 Benoit Daloze <eregontp@gmail.com>
+ * lib/logger.rb: new file. Logger, formerly called devel-logger or
+ Devel::Logger.
- * test/ruby/test_comparable.rb: specify behavior for the different
- kind of exceptions rescued (or not) by Comparable#==.
+ * sample/logger/*: new file. samples of logger.rb.
-Sat Jan 18 23:12:19 2014 Tanaka Akira <akr@fsij.org>
+Wed Sep 17 23:41:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/socket: Avoid unnecessary ppoll/select on Linux.
- Patch by Eric Wong. [ruby-core:57950] [Bug #9039]
+ * eval.c (localjump_destination): should not raise ThreadError
+ exception for "break". [ruby-dev:21348]
-Sat Jan 18 22:57:44 2014 Tanaka Akira <akr@fsij.org>
+ * eval.c (proc_invoke): use result instead of prot_tag->retval.
+ retval is no longer propagated to the ancestors.
- * lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated
- string.
- Patch by Ryan Brunner. [ruby-core:58220] [Bug #9093]
+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]
-Sat Jan 18 22:35:15 2014 Tanaka Akira <akr@fsij.org>
+Wed Sep 17 18:52:36 2003 Minero Aoki <aamine@loveruby.net>
- * io.c (rb_update_max_fd): Return immediately if the given fd is small
- enough.
+ * test/fileutils/fileassertions.rb: new file.
-Sat Jan 18 22:25:53 2014 Tanaka Akira <akr@fsij.org>
+ * test/fileutils/test_fileutils.rb: new file.
- * io.c: Test O_CLOEXEC only once.
- Patch by Eric Wong. [ruby-core:59419] [Feature #9328]
+ * test/fileutils/test_nowrite.rb: new file.
-Sat Jan 18 21:24:49 2014 Tanaka Akira <akr@fsij.org>
+Wed Sep 17 18:51:02 2003 Minero Aoki <aamine@loveruby.net>
- * 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]
+ * test/strscan/test_stringscanner.rb: require test/unit.
-Sat Jan 18 21:19:04 2014 Tanaka Akira <akr@fsij.org>
+Wed Sep 17 18:35:34 2003 Minero Aoki <aamine@loveruby.net>
- * lib/open-uri.rb: Make proxy disabling working again.
- Fixed by Christophe Philemotte. [ruby-core:59650] [Bug #9385]
+ * test/strscan/test_stringscanner.rb: new file.
-Fri Jan 17 20:05:02 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 17 18:03:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/delegate.rb (Delegator): keep source information methods
- which start and end with '__'. [ruby-core:59718] [Bug #9403]
+ * ext/openssl: all files are reviewed to simplify and avoid memory leak.
-Fri Jan 17 17:58:04 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/extconf.rb: add check for assert.h.
- * eval.c (rb_mod_s_constants): return its own constants for other
- than Module itself. [ruby-core:59763] [Bug #9413]
+ * ext/openssl/ossl.c (ossl_buf2str): new function to convert
+ C buffer to String and free buffer.
-Tue Jan 16 00:17:00 2014 Kenta Murata <mrkn@mrkn.jp>
+ * ext/openssl/ossl.c (ossl_x509_ary2sk): new function to convert
+ Array of OpenSSL::X509 to STACK_OF(X509) with exception safe.
- * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.5.
+ * ext/openssl/ossl.c (ossl_to_der, ossl_to_der_if_possible): new
+ functions to convert object to DER string.
-Wed Jan 15 20:30:31 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/openssl/ossl.h: ditto.
- * io.c (io_binwrite): use writev(2) to avoid double write if available.
+ * ext/openssl/ossl_bio.c (ossl_membio2str): new function to convert
+ BIO to String object and free BIO.
- * configure.in: check writev(2)
+ * ext/openssl/ossl_bio.h: ditto.
-Wed Jan 15 14:04:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_to_der): add for "to_der".
- * string.c (get_encoding): respect BOM on pseudo encodings.
- [ruby-dev:47895] [Bug #9415]
+ * ext/openssl/ossl_x509name.c (ossl_x509name_to_der): ditto.
-Wed Jan 15 14:03:47 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509ext.c (ossl_x509ext_to_der): ditto.
- * string.c (get_actual_encoding): get actual encoding according to
- the BOM if exists.
+ * ext/openssl/ossl_x509ext.c (create_ext_from_array): removed
+ and reimplement in openssl/x509.rb.
- * string.c (rb_str_inspect): use according encoding, instead of
- pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940]
+ * 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.
-Tue Jan 14 21:07:22 2014 Masaki Matsushita <glass.saga@gmail.com>
+ * ext/openssl/lib/openssl/x509.c (X509::Attribute): get rid off
+ unused code.
- * ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS
- on SizedQueue#clear. [ruby-core:59462] [Bug #9342]
+ * ext/openssl/lib/openssl/x509.c (X509::ExtensionFactory): refine all.
- * test/thread/test_queue.rb: add test. the patch is from
- Justin Collins.
+Tue Sep 16 22:25:06 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Jan 14 15:58:43 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/csv/test_csv.rb: add negative tests of row_sep.
- * ext/bigdecimal/bigdecimal.c (CLASS_NAME): macro to wrap
- depending on PRIsVALUE for 1.9. [Backport #9406]
+Tue Sep 16 18:02:36 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c (DECIMAL_SIZE_OF_BITS): fallback
- definition for 2.1 or older. [ruby-core:59750] [Backport #9406]
+ * regex.c (re_compile_pattern): should not translate character
+ class range edge. [ruby-list:38393]
-Tue Jan 14 11:28:44 2014 Yuki Yugui Sonoda <yugui@google.com>
+Tue Sep 16 16:47:56 2003 WATANABE Hirofumi <eban@ruby-lang.org>
- * vm_exec.c (cfp): Fixes a SEGV issue in r44554.
- r11 can be broken by subroutine and sometimes causes SEGV at
- runtime. Use r13 instead.
+ * MANIFEST: add test/csv/mac.csv.
-Tue Jan 14 02:20:00 2014 Kenta Murata <mrkn@mrkn.jp>
+ * win32/Makefile.sub, bcc32/Makefile.sub (test): add phony NUL target.
- * 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]
+Mon Sep 15 19:02:52 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/bigdecimal/test_bigdecimal.rb: tests for the above change.
+ * 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".
- * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4.
+ * test/csv/test_csv.rb: add tests for above feature.
-Mon Jan 13 14:55:31 2014 Zachary Scott <e@zzak.io>
+ * test/csv/mac.csv: added. Sample CR separated CSV file.
- * 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]
+Fri Sep 12 22:41:48 2003 Michal Rokos <m.rokos@sh.cvut.cz>
-Mon Jan 13 14:47:07 2014 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl.c: move ASN.1 stuff to ossl_asn1.[ch]
- * 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
+ * ext/openssl/ossl.c: move BIO stuff to ossl_bio.[ch]
-Mon Jan 13 14:25:55 2014 Zachary Scott <e@zzak.io>
+ * ext/openssl/ossl_asn1.[ch]: new files
- * ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243]
+ * ext/openssl/ossl_bio.[ch]: new files
-Mon Jan 13 12:03:00 2014 Charlie Somerville <charliesome@ruby-lang.org>
+Fri Sep 12 12:30:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.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]
+ * 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]
- * test/thread/test_queue.rb: add test
+Fri Sep 12 12:09:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Jan 12 16:41:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big_and): convert argument using 'to_int'.
- * 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]
+ * bignum.c (rb_big_or): ditto.
-Sun Jan 12 09:21:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * bignum.c (rb_big_xor): ditto.
- * include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor
- constant macro to approximate decimal representation size of n-bits
- integer.
+Fri Sep 12 07:06:14 2003 David Black <dblack@superlink.net>
- * iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better
- approximation.
+ * lib/scanf.rb: Took out useless @matched_item variable; some small
+ refactoring.
- * ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto.
+Thu Sep 11 08:43:44 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add
- dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS.
+ * eval.c (rb_f_require): allow "require" on $SAFE>0, if feature
+ name is not tainted.
-Fri Jan 10 16:27:20 2014 Yuki Yugui Sonoda <yugui@google.com>
+ * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::stream):
+ Supports StringIO.
- * vm_exec.c (cfp): Avoid generating invalid binary for
- NativeClient.
- r15 on x86_64 is reserved by NativeClient. So r15 to cfp used to
- generate invalid binary under some combinations of compiler
- optimization flags.
+Wed Sep 10 22:47:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Fri Jan 10 18:01:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl.h: add a workaround for win32 platform.
+ libeay32.dll doesn't export functions defined in conf_api.h.
- * vm_insnhelper.c (vm_search_super_method): allow bound method from a
- module, yet another method transplanting.
+ * ext/openssl/ossl_config.c (ossl_config_initialize): ditto.
-Fri Jan 10 13:34:04 2014 Aman Gupta <ruby@tmm1.net>
+ * ext/openssl/ossl_config.c (ossl_config_add_value): ditto.
- * insns.def (opt_aref_with): new instruction to optimize Hash#[],
- removing any allocation overhead when used with a string literal
- key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382]
- * insns.def (opt_aset_with): new instruction to optimize Hash#[]=
- * compile.c (iseq_compile_each): compiler shortcuts for new
- instructions
- * hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for
- Hash#compare_by_identity to reflect frozen string sharing
- * test/ruby/test_hash.rb (class TestHash): test for new behavior
+ * ext/openssl/ossl_config.c (set_conf_section_i): should check
+ if the argument is Array.
-Fri Jan 10 06:23:21 2014 Benoit Daloze <eregontp@gmail.com>
+Wed Sep 10 22:41:54 2003 Tietew <tietew@tietew.net>
- * range.c (Range#size): [DOC] improve description and add examples.
- Patch by @skade. [Fixes GH-501]
+ * eval.c (win32_get_exception_list): avoid VC7 warning.
+ [ruby-win32:577]
-Fri Jan 10 00:47:52 2014 Josef Stribny <strzibny@gmail.com>
+Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/extconf.rb: fix to pass arrays instead of strings to
- libpathflag. patch at [ruby-core:59665]. [Bug #9386]
+ * eval.c (struct tag): dst should be VALUE.
-Thu Jan 9 20:49:22 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: -mstackrealign is necessary for -msse2 working.
- [ruby-core:54716] [Bug #8349]
+ * eval.c (localjump_destination): stop at the scope where the current
+ block was created. [ruby-dev:21353]
- * configure.in: use SSE2 instructions to drop unexpected precisions on
- other than mingw. [ruby-core:59472] [Bug #8358]
+Tue Sep 9 05:17:04 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Jan 9 20:31:10 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/openssl/ossl_config.rb: avoid compile error in OpenSSL-0.9.6.
- * hash.c (rb_objid_hash): should return `long'. brushup r44534.
+Tue Sep 9 02:41:35 2003 Michal Rokos <m.rokos@sh.cvut.cz>
- * object.c (rb_obj_hash): follow above change.
+ * ext/openssl/ossl_config.c: Refine compatibility.
-Thu Jan 9 19:12:37 2014 Koichi Sasada <ko1@atdot.net>
+Tue Sep 9 01:50:45 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event.
- The patch base by drkaes (Stefan Kaes).
- [Bug #9321]
+ * lib/webrick/httpserver.rb (HTTPServer#access_log): add "\n" to
+ the message.
- * variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()
- instead of rb_frame_pop().
+ * lib/webrick/log.rb (BasicLog#log): add "\n" only if needed.
- * vm_eval.c (raise_method_missing): ditto.
+Mon Sep 8 22:15:33 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * vm_eval.c (rb_iterate): ditto.
+ * ext/tk/lib/multi-tk.rb: modify security check at creating
+ a new interpreter
- * internal.h (rb_vm_pop_cfunc_frame): add decl.
+Mon Sep 8 20:00:12 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_settracefunc.rb: add tests.
- provided by drkaes (Stefan Kaes).
+ * lib/optparse.rb, lib/optparse/version.rb: search also all
+ capital versions.
- * 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.
+Mon Sep 8 19:26:33 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-Thu Jan 9 17:40:28 2014 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/openssl/ossl.h: include openssl/conf.h and openssl/conf_api.h.
- * 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.
+ * ext/openssl/ossl_config.c: refine all with backward compatibility.
-Thu Jan 9 09:55:20 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/openssl/ossl_config.h: export GetConfigPtr() and DupConfigPtr().
- * ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with
- quotes should not have changed. [ruby-core:59316] [Bug #9300]
+ * 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/psych/lib/psych.rb: fixed missing require.
+ * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_free): don't free
+ the members of the struct. it's left to GC.
- * test/psych/test_string.rb: test
+ * ext/openssl/ossl_x509ext.c (ossl_x509_set_config): add for config=.
-Thu Jan 9 09:51:00 2014 Aaron Patterson <aaron@tenderlovemaking.com>
+ * ext/openssl/ossl_x509ext.c (Xossl_x509extfactory_initialize):
+ add attr readers: issuer_certificate, subject_certificate,
+ subject_request, crl and config.
- * ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs
- should be able to roundtrip. Thanks @splattael!
+Mon Sep 8 18:26:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/psych/test_object_references.rb: test for change
+ * lib/webrick/accesslog.rb (AccessLog::setup_params): use req.port
+ instead of config[:Port] or req.request_uri.port.
-Wed Jan 8 22:53:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): ditto.
- * 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/webrick/httpservlet/filehandler.rb (FileHandler#dir_list): ditto.
-Wed Jan 8 15:55:21 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/config.rb: :Listen option never be used.
- * hash.c (rb_objid_hash): return hash value from object ID with a
- salt, extract from rb_any_hash().
+ * lib/webrick/server.rb (GenericServer#initialize): don't use :Listen
+ option and add warning message.
- * object.c (rb_obj_hash): return same value as rb_any_hash().
- fix r44125. [ruby-core:59638] [Bug #9381]
+ * lib/webrick/log.rb (BasicLog#<<): shortcut of log(INFO, ...).
-Wed Jan 8 13:12:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httpserver.rb (HTTPServer#accesslog): use << for logging.
- * lib/timeout.rb (Timeout::ExitException.catch): pass arguments
- for new instance.
+Sun Sep 7 16:08:28 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * lib/timeout.rb (Timeout::ExitException#exception): fallback to
- Timeout::Error if couldn't throw. [ruby-dev:47872] [Bug #9380]
+ * ext/tcltklib/tcltklib.c (lib_mainloop_core): fixed signal-trap bug
- * lib/timeout.rb (Timeout#timeout): initialize ExitException with
- message for the fallback case.
+ * ext/tk/lib/*.rb : Ruby/Tk works at $SAFE == 4
-Tue Jan 7 12:43:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Sep 6 02:26:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/timeout.rb (Timeout#timeout): should not rescue ordinarily
- raised ExitException, which should not be thrown.
+ * test/ruby/test_*.rb: assert_same, assert_match, and so on.
- * lib/timeout.rb (Timeout::ExitException.catch): set @thread only if
- it ought to be caught.
+Sat Sep 6 18:45:46 2003 Mauricio Fernandez <batsman.geo@yahoo.com>
- * 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]
+ * parse.y (assignable): call rb_compile_error(), not rb_bug().
+ [ruby-core:01523]
-Tue Jan 7 10:16:02 2014 Eric Hodel <drbrain@segment7.net>
+Sat Sep 6 17:40:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * lib/rubygems: Update to RubyGems master 21e409d / RubyGems 2.2.1.
+ * ext/openssl/ruby_missing.c: rid of unnecessary backward
+ compatibility stuff. and remove DEFINE_ALLOC_WRAPPER from
+ all sources.
- See http://rubygems.rubyforge.org/rubygems-update/History_txt.html
- for a list of bug fixes.
+ * ext/openssl/ossl_x509ext.c (X509::Extension.new): new method.
- * test/rubygems: ditto.
+ * ext/openssl/ossl_x509ext.c (X509::Extension#oid=): new method.
-Tue Jan 7 10:10:46 2014 Eric Wong <e@80x24.org>
+ * ext/openssl/ossl_x509ext.c (X509::Extension#value=): new method.
- * ext/json/generator/depend: add build dependencies for json extension
- [Bug #9374] [ruby-core:59609]
- * ext/json/parser/depend: ditto
+ * ext/openssl/ossl_x509ext.c (X509::Extension#critical=): new method.
-Tue Jan 7 04:35:46 2014 Aman Gupta <ruby@tmm1.net>
+Sat Sep 6 01:23:22 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * 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.
+ * win32/win32.c (CreateChild): need to quote cmd if RUBYSHELL is set.
-Mon Jan 6 21:28:48 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * win32/win32.c (CreateChild): fix condition about whether to call
+ shell or not.
- * .gitignore: ignore *-fake.rb generated even when CROSS_COMPILING = no
- since r42862.
+Sat Sep 6 00:36:20 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
-Sun Jan 5 20:14:14 2014 Benoit Daloze <eregontp@gmail.com>
+ * Makefile.in (test): phony target.
- * compar.c (cmp_equal): remove error hiding in Comparable#==.
- Comparable#== no longer rescues exceptions silently.
- This was the cause of quite a couple bugs. See #7688. [EXPERIMENTAL]
+ * lib/mkmf.rb (have_library, find_library): configure by library
+ name.
- * test/ruby/test_comparable.rb: adapt assertion to match new behavior.
+ * lib/optparse.rb (OptionParser#order, #permute, #parse): allow an
+ array as argument.
- * lib/rdoc/method_attr.rb: fix bugs discovered by this change.
+ * test/ruby/test_*.rb: moved invariants to left side in
+ assert_equal, and use assert_nil, assert_raises and so on.
- * test/rdoc/test_rdoc_normal_class.rb: fix bugs in tests.
+ * win32/win32.c (isInternalCmd): distinguish command.com and
+ cmd.exe.
-Sat Jan 4 22:44:00 2014 Charlie Somerville <charliesome@ruby-lang.org>
+ * win32/win32.c (make_cmdvector): a character just after wildcard
+ was ignored. [ruby-core:01518]
- * struct.c (rb_struct_set): return assigned value from setter method
- rather than struct object. [Bug #9353] [ruby-core:59509]
+Fri Sep 5 20:27:08 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * test/ruby/test_struct.rb (test_setter_method_returns_value): add test
+ * test/ruby/test_*.rb: replace 'assert(a == b)' with assert_equal(a, b)'
-Sat Jan 4 21:44:31 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Fri Sep 5 18:00:51 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * test/ruby/test_gc.rb (TestGc#test_latest_gc_info): use
- GC.stat(:key) instead of GC.stat.
+ * ext/openssl/lib/openssl/x509.rb: new method X509::Name::parse.
-Sat Jan 4 19:15:29 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_digest.c: add ossl_digest_new().
- * ext/socket/socket.c (rsock_syserr_fail_host_port): use format flags,
- '+' to inspect, ' ' to quote unprintables.
+ * ext/openssl/ossl_digest.h: ditto.
- * ext/socket/socket.c (rsock_syserr_fail_path): ditto.
+ * ext/openssl/ossl_cipher.c: add ossl_cipher_new().
- * ext/socket/socket.c (rsock_syserr_fail_raddrinfo): ditto.
+ * ext/openssl/ossl_cipher.h: ditto.
- * ext/socket/socket.c (rsock_syserr_fail_host_port): add errno
- argument version and use rb_syserr_fail_str() instead of
- rb_sys_fail_str() with restoring errno.
+Fri Sep 5 15:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (rsock_syserr_fail_path): ditto, and
- rb_syserr_fail().
+ * misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): should not
+ search delimiter forward if found in backward.
- * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use
- rsock_syserr_fail_raddrinfo().
+Fri Sep 5 13:32:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto.
+ * test/runner.rb: arguments should be keys.
- * ext/socket/socket.c (setup_domain_and_type): ditto.
+Fri Sep 5 12:09:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Jan 4 17:18:58 2014 Kazuki Tsujimoto <kazuki@callcc.net>
+ * test/ruby/test_system.rb (test_system): check existence of ruby
+ interpreter.
- * vm.c (RubyVM::OPTS): get rid of a garbage character.
+Fri Sep 5 11:32:17 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jan 4 10:17:54 2014 Eric Hodel <drbrain@segment7.net>
+ * lib/optparse.rb (--version): fix assignment/reference order.
- * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use
- ipv4_multicast_ttl option for portability.
+ * lib/optparse.rb (OptionParser#help): new; OptionParser#to_s may
+ be deprecated in future.
-Sat Jan 4 10:15:47 2014 Eric Hodel <drbrain@segment7.net>
+ * lib/optparse/version.rb (OptionParser#show_version): hide Object.
- * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use
- ipv4_multicast_loop option for portability. Patch by Jeremy Evans.
- [ruby-trunk - Bug #9351]
+ * test/runner.rb: fix optparse usage.
-Fri Jan 3 19:09:00 2014 Eric Wong <normalperson@yhbt.net>
+ * test/runner.rb: glob all testsuits if no tests given.
- * 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]
+Fri Sep 5 10:42:58 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * 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
+ * test/runner.rb: added. gets testcases from command line and runs it.
-Fri Jan 3 10:43:57 2014 Aman Gupta <ruby@tmm1.net>
+ * test/ruby/test_gc.rb: remove useless part which was for dumping test
+ result.
- * 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.
+Fri Sep 5 09:28:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Fri Jan 3 00:09:54 2014 Benoit Daloze <eregontp@gmail.com>
+ * 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.
- * ext/bigdecimal: update class method call style from :: to .
- in documentation and usage.
+Fri Sep 5 03:00:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values.
- Computations were made using ruby 2.0.0p247 to ensure
- no effect of the recent BigDecimal bug.
+ * test/ruby/test_iterator.rb (test_block_in_arg): add no block
+ given tests.
- * ext/bigdecimal/sample/nlsolve.rb: fix indent.
+ * test/ruby/test_iterator.rb (test_ljump): uncomment LocalJumpError
+ test.
-Thu Jan 2 16:07:21 2014 Masaki Matsushita <glass.saga@gmail.com>
+Fri Sep 5 01:10:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * io.c (io_fwrite): freeze converted str.
+ * test/ruby: tests for ruby itself.
-Thu Jan 2 04:15:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_*.rb: split sample/test.rb into 28 test/unit testcases.
+ some tests could not be translates... search '!!' mark to see it.
- * eval.c (rb_longjmp): remove an extra modifier from the forward
- declaration to match the actual definition. [ruby-core:59451]
- [Bug #9338]
+ * test/csv/test_csv.rb: should require 'csv', not '../lib/csv'. test
+ runner should set load path correctly.
-Thu Jan 2 01:23:30 2014 Masaki Matsushita <glass.saga@gmail.com>
+Fri Sep 5 01:03:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * vm_eval.c (method_missing): use ALLOCV_N() instead of
- ALLOCA_N() and rb_ary_tmp_new().
+ * test/csv/test_csv.rb: close opened files for CSV::IOBuf explicitly.
+ opened file cannot be removed under win32 box.
-Thu Jan 2 00:53:16 2014 Masaki Matsushita <glass.saga@gmail.com>
+Thu Sep 4 23:59:40 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_zip): use ALLOCV_N() instead of ALLOCA_N().
+ * parse.y (tokadd_string): newlines have no special meanings in
+ %w/%W, otherwise they are ignored only when interpolation is
+ enabled. [ruby-dev:21325]
-Thu Jan 2 00:04:29 2014 Masaki Matsushita <glass.saga@gmail.com>
+Thu Sep 4 19:38:25 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * hash.c (rb_hash_keys): make rb_hash_keys() static.
- it is no longer used from array.c since r43969.
- the patch is from normalperson (Eric Wong).
- [ruby-core:59449] [Feature #9336]
+ * ext/io/wait/.cvsignore: added.
- * internal.h: remove definition of rb_hash_keys().
+ * ext/openssl/.cvsignore: added.
-Wed Jan 1 18:19:35 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 4 19:28:24 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after
- LIBPATHFLAG and RPATHFLAG are set. [ruby-dev:47868] [Bug #9317]
+ * sample/openssl: added. Sample of standard distribution library
+ should be locate in sample/{module_name}/*.
-Wed Jan 1 11:12:29 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/sample/*: removed. move to sample/openssl/*.
- * configure.in: use SSE2 instructions for drop unexpected
- precisions. [ruby-core:54738] [Bug #8358]
+Thu Sep 4 18:02:15 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Dec 31 23:49:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/csv/test_csv.rb: use remove_const to reduce warnings. use
+ Dir.tmpdir to locate working files.
- * eval.c (rb_f_raise): add cause: optional keyword argument.
- [ruby-core:58610] [Feature #8257] [EXPERIMENTAL]
+Thu Sep 4 17:41:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 31 21:44:17 2013 Akio Tajima <artonx@yahoo.co.jp>
+ * misc/ruby-mode.el (ruby-here-doc-beg-re): underscore also is
+ valid delimiter.
- * win32/Makefile.sub: remove HAVE_FSEEKO because fseeko removed from win32/win32.c
- Fixed [Bug #9333].
+ * misc/ruby-mode.el (ruby-here-doc-end-match): must quote
+ arbitrary string to use as regexp.
-Tue Dec 31 21:02:27 2013 Masaki Matsushita <glass.saga@gmail.com>
+ * 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.
- * io.c (io_fwrite): allocate frozen str only when str is not converted.
+Thu Sep 4 15:40:07 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Tue Dec 31 15:44:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/csv/test_csv.rb: run on test/unit original layer.
- * lib/mkmf.rb (RbConfig): expand RUBY_SO_NAME for extensions
- backward compatibility. [ruby-core:59426] [Bug #9329]
+Thu Sep 4 12:54:50 2003 why the lucky stiff <why@ruby-lang.org>
-Mon Dec 30 23:33:07 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
+ * ext/syck/token.c: headerless documents with root-level spacing now
+ honored.
- * variable.c: [DOC] adding extra example in docs.
- patched by Steve Klabnik. [Bug #9210]
+Thu Sep 4 00:06:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Dec 30 18:34:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (mark_frame_adj): need to adjust argv pointer if using
+ system's alloca. [ruby-core:01503]
- * 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 3 21:33:20 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-Mon Dec 30 16:11:52 2013 WATANABE Hirofumi <eban@ruby-lang.org>
+ * 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.
- * tool/make-snapshot: needs CXXFLAGS. [ruby-core:59393][Bug #9320]
+ * test/csv/*: add testcase for lib/csv.rb.
-Sun Dec 29 18:36:54 2013 Shota Fukumori <her@sorah.jp>
+Wed Sep 3 01:37:09 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * lib/mkmf.rb (configuration): Make CXXFLAGS customizable.
- Patch by Kohei Suzuki (eagletmt). [Fixes GH-492]
+ * io.c (rb_f_gets): should call next_argv() before type check
+ current_file. [ruby-list:38336]
-Sun Dec 29 12:11:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 2 20:37:15 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
- * proc.c (mnew_from_me): keep iclass as-is, to make inheritance
- chain consistent. [ruby-core:59358] [Bug #9315]
+ * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): warning
+ for skipping server verification.
- * proc.c (method_owner): return the original defined_class from
- prepended iclass, instead.
+Tue Sep 2 23:36:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Dec 29 08:47:24 2013 Lucas Allan Amorim <lucas.allan@gmail.com>
+ * eval.c (proc_invoke): should retrieve retval when pcall is true.
- * test/ruby/test_sprintf.rb (test_hash): Added tests for sprintf
- with a hash as parameter. [Fixes GH-491]
+Tue Sep 2 14:09:20 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Dec 29 07:27:51 2013 Benoit Daloze <eregontp@gmail.com>
+ * ext/socket/extconf.rb: check s6_addr8 in in6_addr (Tru64 UNIX).
+ the patch is submitted by nmu <nmu@users.sourceforge.jp>.
- * compar.c (cmp_eq_recursive): Fix the return value, the value for
- failed #<=> should be nil. It was raising a NoMethodError for
- the test case TestComparable#test_no_cmp (undefined method `>'
- for false:FalseClass). Yet one more reason for #7688.
+ * ext/socket/getaddrinfo.c (getaddrinfo): should use in6_addr8 on
+ some platforms.
-Sat Dec 28 22:21:59 2013 Benoit Daloze <eregontp@gmail.com>
+ * ext/socket/getnameinfo.c (getnameinfo): ditto.
- * object.c (Kernel#<=>) surround Comparable operators with <code> tags.
- The #== method was hidden in ri/rdoc's output and was highlighting
- the line instead.
+Tue Sep 2 14:02:19 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-Sat Dec 28 17:24:00 2013 DV Suresh <e@dvsuresh.me>
+ * ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception
- * benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typos
- * ext/fiddle/lib/fiddle/import.rb: ditto
- * ext/psych/lib/psych.rb: ditto
- * ext/psych/lib/psych/nodes/sequence.rb: ditto
- * ext/tk/lib/multi-tk.rb: ditto
- * ext/tk/lib/tcltk.rb: ditto
+ * ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb} :
+ bug fix and improvement of font control
+
+Tue Sep 2 09:51:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_eval): should not handle exceptions within rescue
+ argument. [ruby-talk:80804]
+
+Tue Sep 2 00:44:37 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * re.c (rb_memsearch): fix overrun. [ruby-talk:80759]
+
+Tue Sep 2 00:41:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/iconv/iconv.c (map_charset): use lower case keys.
+
+ * ext/iconv/iconv.c (iconv_fail): just yield error and return the
+ result if a block is given.
+
+ * ext/iconv/iconv.c (iconv_convert): yield error and append the
+ result if a block is given.
+
+ * ext/iconv/charset_alias.rb (charset_alias): optional third
+ argument.
+
+ * ext/iconv/charset_alias.rb (charset_alias): use CP932 instead of
+ SHIFT_JIS on cygwin.
+
+Mon Sep 1 18:34:25 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_eval): make tail recursion in ELSE clause of
+ RESCUE a jump.
+
+Mon Sep 1 18:00:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (aref_args): forgot to call NEW_SPLAT(). reported by
+ Dave Butcher.
+
+ * eval.c (Init_Thread): protect thgroup_default. suggested by Guy
+ Decoux in [ruby-talk:80623]
+
+Mon Sep 1 16:59:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_thread_switch): add RESTORE_EXIT; exit by another
+ thread termination.
+
+ * 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]
+
+Sun Aug 31 22:46:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * eval.c (TAG_DST()): take no argument.
+
+ * process.c (p_gid_sw_ensure): return VALUE.
+
+Sun Aug 31 22:27:10 2003 Hidetoshi NAGAI <nagai@dumbo.ai.kyutech.ac.jp>
+
+ * process.c (p_gid_sw_ensure): lack of function type
+
+Sun Aug 31 12:25:06 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * lib/optparse.rb: --version takes an optional argument; "all" or
+ a list of package names.
+
+Sun Aug 31 10:17:02 2003 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * lib/date/format.rb: yyyy/mm is not an acceptable format.
+
+ * lib/time.rb: follow above.
+
+Sat Aug 30 14:25:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_iter_break): should not call TAG_JUMP directly.
+
+Sat Aug 30 03:58:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (struct BLOCK): remove BLOCKTAG, use scope instead.
+
+ * eval.c (POP_TAG): no longer propagate retval. retval is now set
+ directly by localjump_destination().
+
+ * eval.c (localjump_destination): new function to cast
+ return/break local jump.
+
+ * eval.c (rb_yield_0): stop TAG_RETURN/TAG_BREAK escaping.
+
+Fri Aug 29 22:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * bigdecimal.c *.html: The 2nd arg. for add,sub,mult, and div is 0,
+ then result will be the same as +,-,*,/ respectively.
+
+Fri Aug 29 17:30:15 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+
+ * process.c: bug fix
+
+ * process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys}
+
+ * process.c: deny handling IDs during evaluating the block given to
+ the Process::{UID,GID}.switch method
+
+ * ext/tcltklib/tcltklib.c : some methods have no effect if on slave-IP
-Sat Dec 28 00:42:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tcltklib/tcltklib.c : can create a interpreter without Tk
- * parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to
- isolate command argument state from outer scope.
- [ruby-core:59342] [Bug #9308]
+ * ext/tcltklib/tcltklib.c : bug fix on handling exceptions
-Fri Dec 27 13:25:03 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tcltklib/MANUAL.euc : modify
- * win32/{setup.mak,Makefile.sub}: update fake.rb like
- template/fake.rb.in.
+ * ext/tk/lib/tk.rb : freeze some core modules
-Thu Dec 26 16:10:41 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb : more secure
- * 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.
+ * ext/tk/lib/tk.rb: TkVariable.new(array) --> treat the array as the
+ Tk's list
-Thu Dec 26 14:25:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk.rb: improve accessibility of TkVariable object
- * hash.c (HASH_REJECT_COPY_EXTRA_STATES): turn off the old
- behavior, copying extra states by accident.
+ * 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
-Thu Dec 26 10:49:14 2013 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/tk/lib/tkfont.rb TkFont.new() accepts compound fonts
- * version.h (RUBY_VERSION): 2.2.0 development has started.
+Thu Aug 28 22:07:12 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Dec 26 10:27:53 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * variable.c (rb_autoload_load): call const_missing if autoloading
+ constant is not defined to allow hook.
- * tool/merger.rb (tag): support 2.1.1 semi-automatic tagging and 2.2.0
- explicit tagging.
+ * eval.c (rb_eval): use rb_const_get_from() instead of
+ rb_const_get_at().
-Thu Dec 26 06:35:25 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * eval.c (is_defined): forgot to check NODE_COLON3.
- * proc.c: Having any mandatory keyword argument increases min arity
- [#9299]
+Thu Aug 28 17:30:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Thu Dec 26 06:27:08 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * variable.c (rb_const_get_0): should check constants defined in
+ included modules, if klass is Object. [ruby-talk:79302]
- * proc.c: Having optional keyword arguments makes maximum arity +1,
- not unlimited [#8072]
+ * 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]
-Thu Dec 26 01:09:57 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Aug 28 05:02:52 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/release.sh: make symbolic links.
+ * parse.y (singleton): typo fixed (ruby-bugs-ja:PR#562)
-Thu Dec 26 00:45:33 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Aug 28 02:37:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/make-snapshot: support new version scheme.
+ * eval.c (rb_eval): *a = [1,2] now assigns [[1,2]] to a.
+ consistent with *a = [1], which set [[1]] to a.
-Wed Dec 25 22:44:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * node.h: merge NODE_RESTARY to NODE_SPLAT.
- * 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.
+ * parse.y: rules simplified a bit by removing NODE_RESTARY.
- * iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is
- present.
+ * sample/test.rb: updated for new assignment behavior.
- * parse.y (new_args_tail_gen): set keywords check to nd_cflag, which
- equals to that keyword rest is not present.
+Wed Aug 27 22:33:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 25 22:32:19 2013 Zachary Scott <e@zzak.io>
+ * error.c (rb_bug): should not use other methods; this function is
+ not for ordinary use. [ruby-dev:21259]
- * lib/abbrev.rb: [DOC] rdoc format patch by Giorgos Tsiftsis [Bug #9146]
+Wed Aug 27 15:07:57 2003 Minero Aoki <aamine@loveruby.net>
-Wed Dec 25 20:30:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/smtp.rb (check_response): AUTH CRAM-MD5 returns 334
+ response. [ruby-list:38279]
- * iseq.c (rb_iseq_parameters): push argument type symbol only for
- unnamed rest keywords argument.
+Wed Aug 27 05:10:15 2003 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Dec 25 20:28:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (map_errno): support winsock error.
- * proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if
- having rest keywords argument. [ruby-core:53298] [Bug #8072]
+ * 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().
-Wed Dec 25 18:29:22 2013 Koichi Sasada <ko1@atdot.net>
+ * 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().
- * vm_insnhelper.c (argument_error): insert dummy frame to make
- a backtrace object intead of modify backtrace string array.
- [Bug #9295]
+ * win32/win32.h: add winsock errors.
- * 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.
+Tue Aug 26 23:53:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Wed Dec 25 13:00:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/ostruct.rb (OpenStruct::method_missing): prohibit modifying
+ frozen OpenStruct. [ruby-talk:80214]
- * configure.in: let mingw do something black-magic, and check if
- _gmtime64_s() is available actually.
+Tue Aug 26 20:03:50 2003 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]
+ * lib/mkmf.rb (create_tmpsrc): add the hook for source.
+ [ruby-list:38122]
-Wed Dec 25 12:33:41 2013 Yusuke Endoh <mame@tsg.ne.jp>
+Tue Aug 26 15:59:53 2003 why the lucky stiff <why@ruby-lang.org>
- * 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.)
+ * implicit.c (syck_type_id_to_taguri): corrected detection of
+ x-private types.
-Wed Dec 25 10:42:02 2013 Yamashita Yuu <yamashita@geishatokyo.com>
+Sun Aug 24 01:02:48 2003 Nobuyoshi Nakada <nobu@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]
+ * file.c (file_expand_path): performance improvement.
+ [ruby-talk:79748]
-Wed Dec 25 01:03:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Aug 23 23:41:16 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * proc.c (bind_local_variables): allowing binding to list its
- local variables. patch by Jack Danger Canty <jackdanger AT
- squareup.com> at [ruby-core:56543]. [Feature #8773]
+ * file.c (rb_file_s_expand_path): avoid calling rb_scan_args() for
+ apparent cases. [ruby-talk:79748]
-Tue Dec 24 23:20:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Aug 23 18:56:53 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/fileasserts.rb (assert_ownership_user): new
- assertion for user ownership.
+ * 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]
- * test/fileutils/test_fileutils.rb (test_chown_error),
- (test_chown_without_permission, test_chown_with_root):
- based on the patch by vajrasky (Vajrasky Kok) at
- [ruby-core:59298]. [Feature #9292]
+Sat Aug 23 16:48:41 2003 Keiju Ishitsuka <keiju@ishitsuka.com>
-Tue Dec 24 16:28:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/irb/ruby-lex.rb: bug fix for "foo" !~ /bar/. [ruby-talk:79942]
- * 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]
+Sat Aug 23 15:59:58 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * vm.c (rb_vm_cref_in_context): return ruby level cref if self is
- same.
+ * eval.c (rb_eval, rb_iterate, block_pass): reduce PUSH/POP_TAG and
+ EXEC_TAG() for retry. [ruby-dev:21216]
-Tue Dec 24 14:13:14 2013 Koichi Sasada <ko1@atdot.net>
+Sat Aug 23 02:32:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * README.EXT: add a refer to URL.
+ * eval.c (rb_yield_splat): should check if "values" is array.
-Tue Dec 24 13:48:45 2013 Koichi Sasada <ko1@atdot.net>
+ * enum.c (each_with_index_i): typo.
- * README.EXT: add a document about RGenGC.
- Reviewed by havenwood.
- [misc #8962]
+Fri Aug 22 17:07:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * README.EXT.ja: ditto.
+ * enum.c (inject_i): use rb_yield_values.
-Tue Dec 24 12:11:43 2013 Koichi Sasada <ko1@atdot.net>
+ * enum.c (each_with_index_i): ditto.
- * include/ruby/ruby.h (RARRAY_ASET): try to avoid compiler warning.
- [Bug #9287]
+ * eval.c (rb_yield_splat): new function to call "yield *values".
-Tue Dec 24 05:04:56 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+ * string.c (rb_str_scan): use rb_yield_splat().
- * test/fileutils/test_fileutils.rb (setup): should not call
- Process.groups for Windows. get rid of many errors introduced by
- r44364.
+Fri Aug 22 06:13:22 2003 why the lucky stiff <why@ruby-lang.org>
-Mon Dec 23 18:37:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/syck/rubyext.c: refactoring of the transfer method
+ dispatch. added yaml_org_handler for faster dispatch of
+ transfers to base types.
- * test/fileutils/fileasserts.rb (assert_ownership_group): new
- assertion for group ownership.
+ * lib/yaml/rubytypes.rb: removed handling of builtins from
+ Ruby library.
- * test/fileutils/test_fileutils.rb (test_chown{,_verbose,_noop}):
- based on the patch by vajrasky (Vajrasky Kok) at
- [ruby-core:59281]. [Feature #9286]
+ * ext/syck/token.c: quoted and block scalars are now implicit !str
-Mon Dec 23 15:53:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/syck/implicit.c: empty string detected as !null.
+
+Fri Aug 22 01:00:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (block_pass): improve passing current block.
+
+Fri Aug 22 00:13:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication
+ fixed, and VpNmlz() speed up.
+
+Wed Aug 20 16:44:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/socket/socket.c (ruby_connect): many systems seem to have
+ a problem in select() after EINPROGRESS. [ruby-list:38080]
+
+Wed Aug 20 01:31:17 2003 why the lucky stiff <why@ruby-lang.org>
+
+ * ext/syck/syck.h: Parser definition problems on HP-UX.
+ [ruby-talk:79389]
+
+ * ext/syck/handler.c (syck_hdlr_get_anchor): Memory leak.
+
+ * ext/syck/syck.s (syck_io_file_read): Bad arguments to fread.
+
+ * ext/syck/rubyext.c: Tainting issues.
+
+Tue Aug 19 23:20:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c .h .html: to_s("+") implemented.
+
+ * ext/bigdecimal/lib/bigdecimal/math.rb: E implemented.
+
+Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.
+
+ * lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb.
+
+ * lib/webrick/compat.rb (File::fnmatch): remove old migration code.
+
+ * lib/webrick/httpserver.rb (HTTPServer#run): ditto.
+
+ * lib/webrick/server.rb (GenericServer#listen): the body of this
+ method is pull out as Utils::create_lisnteners.
+
+ * lib/webrick/utils.rb (Utils::create_lisnteners): new method.
+
+ * lib/webrick/server.rb (GenericServer#start): should rescue
+ unknown errors. and refine comments.
+
+ * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close
+ socket if SSLSocket raises error.
+
+Tue Aug 19 11:19:33 2003 Shugo Maeda <shugo@ruby-lang.org>
+
+ * io.c (next_argv): should not call GetOpenFile() if rb_stdout is
+ not a IO (T_FILE).
+
+Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/ossl_ssl.c: sync_close is moved to SSLSocket as
+ a builtin.
+
+ * ext/openssl/lib/openssl/buffering.rb (Buffering#close): ditto.
+
+ * ext/openssl/lib/openssl/buffering.rb (Buffering#puts): should
+ add a return to the tails of each line.
+
+ * ext/openssl/lib/openssl/ssl.rb: new class OpenSSL::SSL::SSLServer.
+
+ * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): use sync_close.
+
+ * ext/openssl/sample/echo_svr.rb: use SSLServer.
+
+ * ext/openssl/sample/echo_cli.rb: add example of SSLSocket#sync_close.
+
+Tue Aug 19 01:24:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard
+ headers are inconsistent at this macro. [ruby-core:01432]
+
+ * ext/curses/extconf.rb: check if _XOPEN_SOURCE_EXTENDED breaks.
+
+ * ext/tcltklib/stubs.c: Status macro in X11/Xthreads.h bothers
+ winspool.h
+
+ * instruby.rb: make list at first instead of iterator.
+ [ruby-talk:79347]
+
+Mon Aug 18 11:23:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * dir.c (glob_helper): preserve raw order for **.
+
+Sun Aug 17 23:39:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.
+
+Sun Aug 17 17:10:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * 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/openssl/lib/openssl/buffering.rb: add forwarders to
+ setsockopt, getsockopt and fcntl.
+
+ * ext/openssl/lib/net/protocols.rb: enable sync for SSLSocket.
+
+Sun Aug 17 11:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): should not force to remake Makefile when
+ installation and so on.
+
+Sat Aug 16 23:58:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * marshal.c (w_symbol, w_object): get rid of warnings.
+
+ * re.c (rb_memsearch): ditto.
+
+ * time.c (time_dump): ditto.
+
+ * ext/extmk.rb (extmake): not continue making when extconf.rb
+ failed.
+
+ * ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.
+
+ * ext/openssl/ossl.h: remove version.h dependency.
+
+ * ext/openssl/ruby_missing.h: ditto.
+
+ * lib/mkmf.rb (pkg_config): use --libs output except with
+ only-L for other options. [ruby-list:38099]
+
+ * lib/mkmf.rb (create_makefile): separate rule for static
+ library from shared object.
+
+ * win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:
+ define exec_prefix and libdir.
+
+Fri Aug 15 23:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c .h: Bug in combination of limit & div
+ method fixed.
+
+ * ext/bigdecimal/lib/bigdecimal/math.rb: atan() & sqrt() added.
+
+Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * 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
+
+ * error.c (syserr_eqq): errno might exceed Fixnum limit.
+
+ * error.c (Init_Exception): moved base initialization from
+ init_syserr().
+
+ * inits.c (rb_call_inits): postpone initializing errnos until
+ Bignum is available.
+
+Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let
+ keyname() and so on be declared.
+
+ * ext/curses/curses.c (curses_resizeterm, window_resize):
+ arguments conflicted with macros in term.h.
+
+ * ext/curses/curses.c (Curses module methods): ensure
+ initialized. [ruby-dev:21191]
+
+Fri Aug 15 02:08:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * gc.c (id2ref): recycle check should be done by klass == 0.
+ [ruby-core:01408]
+
+Fri Aug 15 01:34:23 2003 Michal Rokos <m.rokos@sh.cvut.cz>
+
+ * ext/openssl/ossl_pkey.c: move generate_cb here
+
+ * ext/openssl/ossl_pkey_{dh|dsa|rsa}.c: adapt to this cb
+
+ * ext/openssl/openssl_missing.[ch]: add (0.9.6x, x<j) missing BN funcs
+
+ * ext/openssl/ossl_bn.c: use supplied funcs from openssl_missing.c
+
+Fri Aug 15 00:38:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c: Bug in div method fixed.
+
+ * ext/bigdecimal/lib/bigdecimal/math.rb: Newly added.
+
+ * ext/bigdecimal/sample/pi.rb: Changed so as to use math.rb.
+
+Thu Aug 14 21:19:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (Init_Thread): Continuation#[] added. [ruby-talk:79028]
+
+Thu Aug 14 20:03:34 2003 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+
+ * ext/win32ole/win32ole.c (OLE_FREE): should not call
+ ole_message_loop.
+
+ * ext/win32ole/win32ole.c (ole_event_free): ditto.
+
+ * ext/win32ole/win32ole.c (ole_initialize): stop calling
+ OleUninitialize at exit.
+
+Thu Aug 14 11:27:37 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * gc.c (rb_data_object_alloc): check type of 1st argument.
+ [ruby-dev:21192]
+
+Thu Aug 14 00:21:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (mlhs_node): should allow "::Foo" (colon3) as lhs.
+
+ * parse.y (lhs): ditto.
+
+ * parse.y (yylex): should return tCOLON3 right after kCLASS.
+ [ruby-talk:78918]
+
+ * error.c (exc_initialize): was converting argument to string too
+ eagerly. Only check was needed. [ruby-talk:78958]
+
+Wed Aug 13 23:31:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c .h .html: Ambiguity of
+ BigDecimal::limit removed.
+
+Wed Aug 13 19:21:34 2003 Christian Neukirchen <chneukirchen@yahoo.de>
+
+ * lib/webrick/https.rb (HTTPServer#run): should set syncing-mode
+ to SSLSocket. [ruby-talk:78919]
+
+Wed Aug 13 18:13:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (POP_BLOCK): turn on BLOCK_LEFT flag when leaving block.
+
+ * eval.c (proc_invoke): unpack return/break destination when block
+ is already left.
+
+Wed Aug 13 15:58:31 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * object.c (rb_class_s_alloc): add function prototype to avoid VC++
+ warning.
+
+Wed Aug 13 13:50:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ext/Win32API/Win32API.c (Win32API_initialize): should pass some
+ class to first argument of Data_Wrap_Struct(). (ruby-bugs:PR#1109)
+
+Tue Aug 12 16:55:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * Makefile.in: static link libraries to LIBRUBY_SO with static linked
+ ext. [ruby-dev:21157]
+
+ * ext/extmk.rb (extmake): sort extension library initialization order.
+
+ * ext/extmk.rb (extmake): compact $extlibs.
+
+Tue Aug 12 02:48:56 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (THREAD_SAVE_CONTEXT): should explicitly turn off the
+ flag before calling getcontext(2).
+
+ * eval.c (struct thread): add member to save backing store on
+ IA64. (ruby-bugs PR1086)
+
+ * eval.c (thread_mark): mark IA64 backing store region.
+
+ * eval.c (thread_free): free saved IA64 backing store.
+
+ * eval.c (rb_thread_save_context): save IA64 backing store as well.
+
+ * eval.c (rb_thread_restore_context): restore IA64 backing store.
+
+ * eval.c (THREAD_ALLOC): initialize IA64 members.
+
+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>.
+
+ * lib/debug.rb(debug_command): incomplete regexp.
+
+Mon Aug 11 17:33:07 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call_super): do not use rb_block_given_p() for
+ check. [ruby-talk:78656]
+
+ * eval.c (BEGIN_CALLARGS): push ITER_NOT only when ITER_PRE.
+
+Sun Aug 10 10:43:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/lib/openssl/buffering.rb: increase BLOCK_SIZE
+ from 1k to 16k bytes. [ruby-talk:78603]
+
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable
+ partial write to allow interruption in SSLSocket#write.
+
+Sun Aug 10 00:34:16 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)'
+ for ccache.
+
+Sat Aug 9 10:36:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * marshal.c (w_object): do not dump generic instance variable when
+ marshal_dump is defined.
+
+Sat Aug 9 00:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * 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.
+
+Fri Aug 8 12:33:17 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * bcc32/Makefile.sub: rubyw.exe should be a Windows GUI program.
+ add the -aa option to WLDFLAGS.
+
+Fri Aug 8 11:29:26 2003 Koji Arai <jca02266@nifty.ne.jp>
+
+ * marshal.c (w_object): should set `c_arg' at first.
+
+Fri Aug 8 03:22:28 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * lib/webrick/httputils.rb (FormData#list): should not take
+ a side effect for the receiver.
+
+Thu Aug 7 14:40:37 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * cygwin/GNUmakefile: better --disbale-shared option support.
+
+ * cygwin/GNUmakefile: add forwarding DLL target for cygwin.
+
+Thu Aug 7 14:21:05 2003 Corinna Vinschen <vinschen@redhat.com>
+
+ * configure.in: Fix Cygwin specific naming of libraries to
+ be net distribution compliant. (ruby-bugs:PR#1077)
+ cygwin-ruby18.dll -> cygruby18.dll
+
+Thu Aug 7 12:51:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_f_at_exit): should not be called without a block.
+ block_given check added.
+
+Thu Aug 7 06:46:06 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_call0): forgot to pop ruby_class.
+
+ * eval.c (rb_call0): update ruby_class as well as ruby_cref.
+ (ruby-bugs-ja:PR#540)
+
+Thu Aug 7 04:52:50 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_yield_0): remove ruby_frame->cbase and unify to
+ ruby_cref. [ruby-talk:78141]
+
+Thu Aug 7 04:19:15 2003 Akinori MUSHA <knu@iDaemons.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.
+
+Thu Aug 7 00:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+
+ * ext/bigdecimal.c: Comparison results adjusted to Float's.
+ * ext/bigdecimal.c: Use rb_num_coerce_????(x,y) instead of own.
+
+Wed Aug 6 22:58:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.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.
+
+Wed Aug 6 17:28:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): pass LIBPATH to make ruby. [ruby-dev:21137]
+
+ * ext/extmk.rb (extmake): set library name as source file name in
+ Init_ext(). [ruby-dev:21137]
+
+ * lib/mkmf.rb (Logging::postpone): postpone logging messages after
+ heading message as the result of the block.
+
+ * lib/mkmf.rb (macro_defined?): append newline to src unless ended
+ with it.
+
+ * 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.
- * hash.c (HAS_EXTRA_STATES): warn extra states only when something
- differ. [ruby-core:59254] [Bug #9275]
+Wed Aug 6 17:23:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-Mon Dec 23 12:42:13 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+ * eval.c: initialize /* OK */ variables by Qnil to stop warnings.
- * array.c: Have to_h raise on elements that are not key-value pairs
- [#9239]
+Wed Aug 6 04:58:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
- * enum.c: ditto
+ * ext/Setup*: add io/wait and openssl.
-Mon Dec 23 05:01:55 2013 Zachary Scott <e@zzak.io>
+Wed Aug 6 01:13:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * doc/syntax/methods.rdoc: [DOC] Added example for underscore
- conventions in method names. Also added doc to clarify encoding
- character set support for Ruby programs and elaborated on defining
- predicate and bang methods. Based on a patch by @gaurish
- [Fixes GH-477] https://github.com/ruby/ruby/pull/477
+ * eval.c (rb_f_autoload): use ruby_cbase instead of ruby_class.
-Mon Dec 23 03:18:09 2013 Zachary Scott <e@zzak.io>
+ * eval.c (rb_f_autoload_p): ditto.
- * doc/ChangeLog-1.9.3: [DOC] Fix typos by @dvsuresh
- [Fixes GH-485] https://github.com/ruby/ruby/pull/485
- * ext/openssl/ossl_config.c: ditto
- * lib/rss/utils.rb, lib/time.rb: ditto
- * test/ruby/envutil.rb: ditto
+ * class.c (rb_mod_init_copy): no longer implements independent
+ clone and dup methods. override "initialize_copy" instead.
+ [ruby-core:01352]
-Sun Dec 22 23:56:56 2013 Zachary Scott <e@zzak.io>
+ * object.c (rb_class_s_alloc): define Class allocation function.
+ this makes Classes to follow clone framework that uses
+ initialize_copy.
- * lib/{rake,rdoc,rss}/*, test/rexml/test_listener.rb: [DOC] Fix typos
- by @dvsuresh [Fixes GH-486] https://github.com/ruby/ruby/pull/486
+ * object.c (rb_class_initialize): separate instantiation and
+ initialization.
-Sun Dec 22 11:08:47 2013 Eric Hodel <drbrain@segment7.net>
+ * object.c (rb_obj_alloc): prohibit instantiation from
+ uninitialized class.
- * test/rubygems/test_gem_ext_builder.rb: Fix warning due to ambiguous
- expression.
+ * object.c (rb_class_superclass): check uninitialized class.
-Sun Dec 22 11:05:53 2013 Eric Hodel <drbrain@segment7.net>
+ * array.c (rb_ary_fill): wrong index processing with block. this
+ fix was done by Koji Arai <JCA02266@nifty.ne.jp> [ruby-list:38029]
- * 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.
+ * marshal.c (w_object): should preserve generic ivar for nil,
+ true, false, symbols, and fixnums.
-Sun Dec 22 10:23:40 2013 Eric Hodel <drbrain@segment7.net>
+ * marshal.c (w_uclass): base_klass check should be done after
+ rb_class_real().
- * lib/rdoc.rb: Set RDoc to release version.
+Wed Aug 6 01:18:50 2003 Minero Aoki <aamine@loveruby.net>
-Sun Dec 22 10:19:07 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/net/http.rb: update document.
- * lib/rubygems.rb: Set RubyGems to release version.
+ * lib/net/pop.rb: ditto.
-Sun Dec 22 10:16:08 2013 Eric Hodel <drbrain@segment7.net>
+ * lib/net/protocol.rb: ditto.
- * lib/rubygems.rb (module Gem): Fix comment for
- Gem::load_path_insert_index.
+Wed Aug 6 00:48:37 2003 Koji Arai <jca02266@nifty.ne.jp>
-Sun Dec 22 04:07:55 2013 Koichi Sasada <ko1@atdot.net>
+ * marshal.c (w_object): should recommend marshal_dump rather than
+ _dump_data.
- * 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]
+Tue Aug 5 17:58:57 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-Sat Dec 21 13:00:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/fileutils.rb (install): should preserve timestamp only.
- * file.c: remove unnecessary the source path from EEXIST error
- messages and show the destination path only. [ruby-core:59202]
- [Feature #9263]
+Tue Aug 5 17:31:59 2003 Ian Macdonald <ian@caliban.org>
-Sat Dec 21 12:37:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir):
+ simple typo.
- * lib/resolv.rb (Resolv::Hosts#lazy_initialize): should not
- consider encodings in hosts file. [ruby-core:59239] [Bug #9273]
+Tue Aug 5 15:47:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/resolv.rb (Resolv::Config.parse_resolv_conf): ditto.
+ * eval.c (rb_load): should preserve current source file/line.
-Sat Dec 21 05:43:27 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Aug 5 10:04:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
- * tool/make-snapshot: replace RUBY_PATCHLEVEL_STR in version.h to
- show users that this ruby is a preview/rc version.
+ * string.c (str_new4): ptr may refer null_str.
-Sat Dec 21 05:03:49 2013 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Aug 4 17:25:18 2003 Yukihiro Matsumoto <matz@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.
+ * stable version 1.8.0 released.
-For the changes before 2.1.0, see doc/ChangeLog-2.1.0
-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 24e36e6231..908eb270f5 100644
--- a/LEGAL
+++ b/LEGAL
@@ -5,90 +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.
-ccan/build_assert/build_assert.h
-ccan/check_type/check_type.h
-ccan/container_of/container_of.h
-ccan/str/str.h
-
- These files are licensed under the CC0.
-
- http://creativecommons.org/choose/zero/
-
-ccan/list/list.h
-
- This file is licensed under the MIT License.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
-
-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:
@@ -99,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.
@@ -127,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,
@@ -189,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.
@@ -224,11 +92,11 @@ random.c
This is a faster version by taking Shawn Cokus's optimization,
Matthe Bellew's simplification, Isaku Wada's real version.
- Before using, initialize the state by using init_genrand(seed)
+ Before using, initialize the state by using init_genrand(seed)
or init_by_array(init_key, key_length).
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
- All rights reserved.
+ All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -241,8 +109,8 @@ random.c
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- 3. The names of its contributors may not be used to endorse or promote
- products derived from this software without specific prior written
+ 3. The names of its contributors may not be used to endorse or promote
+ products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -262,137 +130,72 @@ random.c
http://www.math.keio.ac.jp/matumoto/emt.html
email: matumoto@math.keio.ac.jp
-vm_dump.c:procstat_vm
-
- * Copyright (c) 2007 Robert N. M. Watson
- * 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.
- *
- * $FreeBSD: head/usr.bin/procstat/procstat_vm.c 261780 2014-02-11 21:57:37Z jhb $
-
-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
@@ -418,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]:
@@ -497,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.
@@ -535,7 +313,7 @@ ext/nkf/nkf-utf8/utf8tbl.c:
copyrighted semi-public-domain software.
Copyright (C) 1987, Fujitsu LTD. (Itaru ICHIKAWA)
- Everyone is permitted to do anything on this program
+ Everyone is permitted to do anything on this program
including copying, modifying, improving,
as long as you don't try to pretend that you wrote it.
i.e., the above copyright notice has to appear in all copies.
@@ -586,7 +364,7 @@ ext/win32ole/win32ole.c:
Other modifications Copyright (c) 1997, 1998 by Gurusamy Sarathy
<gsar@umich.edu> and Jan Dubois <jan.dubois@ibm.net>
-
+
You may distribute under the terms of either the GNU General Public
License or the Artistic License, as specified in the README file
of the Perl distribution.
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 7da2488b46..1e372885b7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,34 +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@
-HAVE_BASERUBY = @HAVE_BASERUBY@
-TEST_RUNNABLE = @TEST_RUNNABLE@
-CROSS_COMPILING = @CROSS_COMPILING@
-DOXYGEN = @DOXYGEN@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -41,78 +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_NO_ARCH = @CFLAGS@
-CFLAGS = $(CFLAGS_NO_ARCH) $(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@
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@
+MINIRUBY = @MINIRUBY@ $(MINIRUBYOPT)
+RUNRUBY = @RUNRUBY@
#### End of system configuration section. ####
@@ -127,380 +69,112 @@ LIBRUBY = @LIBRUBY@
LIBRUBYARG = @LIBRUBYARG@
LIBRUBYARG_STATIC = @LIBRUBYARG_STATIC@
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
-LIBRUBY_RELATIVE = @LIBRUBY_RELATIVE@
-LIBRUBY_A_OBJS = @LIBRUBY_A_OBJS@
-
-DTRACE_REBUILD_OBJS = $(DTRACE_REBUILD:yes=$(DTRACE_DEPENDENT_OBJS))
-
-DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \
- eval.$(OBJEXT) \
- gc.$(OBJEXT) \
- hash.$(OBJEXT) \
- load.$(OBJEXT) \
- object.$(OBJEXT) \
- parse.$(OBJEXT) \
- string.$(OBJEXT) \
- symbol.$(OBJEXT) \
- vm.$(OBJEXT)
-
-THREAD_MODEL = @THREAD_MODEL@
PREP = @PREP@
ARCHFILE = @ARCHFILE@
SETUP =
EXTSTATIC = @EXTSTATIC@
-ENCSTATIC = @ENCSTATIC@
-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_REBUILD= @DTRACE_REBUILD@
-DTRACE_GLOMMED_OBJ = $(DTRACE_REBUILD:yes=ruby-glommed.$(OBJEXT))
+ASFLAGS = @ASFLAGS@
OBJEXT = @OBJEXT@
-ASMEXT = S
-DLEXT = @DLEXT@
MANTYPE = @MANTYPE@
-SYMBOL_PREFIX = @SYMBOL_PREFIX@
INSTALLED_LIST= .installed.list
-
-NEWLINE_C = newline.c
-MINIPRELUDE_C = miniprelude.c
-PRELUDE_C = prelude.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
-
-DESTDIR = @DESTDIR@
-
-configure_args = @configure_args@
#### End of variables
-.SUFFIXES: .inc .h .c .y .i .$(DTRACE_EXT)
-
all:
+.DEFAULT: all
+
# Prevent GNU make v3 from overflowing arg limit on SysV.
.NOEXPORT:
miniruby$(EXEEXT):
- @-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi
- $(ECHO) linking $@
- $(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS) $(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) $(INITOBJS)
+ $(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) $(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 $(srcdir)/version.h
- @[ -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
-
-JIS_PROPS_OPTIONS = -k1,3 -7 -c -j1 -i1 -t -C -P -t --ignore-case -H onig_jis_property_hash -Q onig_jis_property_pool -N onig_jis_property
-
-enc/jis/props.h: enc/jis/props.kwd
- $(MAKEDIRS) $(@D)
- @set +e; \
- if cmp -s $(?:.kwd=.src) $?; then \
- set -x; \
- $(CP) $(?:.kwd=.h.blt) $@; \
- else \
- set -x; \
- gperf $(JIS_PROPS_OPTIONS) $? | \
- sed 's/(int)(long)&((\([a-zA-Z_0-9 ]*[a-zA-Z_0-9]\) *\*)0)->\([a-zA-Z0-9_]*\),/(char)offsetof(\1, \2),/g' > $@ && \
- $(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.stamp: $(DTRACE_REBUILD_OBJS)
- $(Q) if test -f $@ -o -f probes.$(OBJEXT); then \
- $(RM) $(DTRACE_REBUILD_OBJS) $@; \
- $(ECHO0) "rebuilding objects which were modified by \"dtrace -G\""; \
- $(MAKE) $(DTRACE_REBUILD_OBJS); \
- fi
- $(Q) touch $@
-
-probes.@OBJEXT@: $(srcdir)/probes.d probes.stamp
- @$(ECHO) processing probes in object files
- $(Q) $(RM) $@
- $(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_REBUILD_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)
+ $(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:
-
-clean-enc distclean-enc realclean-enc:
- @test -f "$(ENC_MK)" || exit 0; \
- echo $(@:-enc=ing) encodings; \
- exec $(MAKE) -f $(ENC_MK) $(MFLAGS) $(@:-enc=)
+ @$(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)
-
-after-update:: update-config_files common-srcs
-
-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
-
-update-coverage:
- @$(CHDIR) $(srcdir); \
- if [ -d coverage/simplecov ]; then \
- cd coverage/simplecov; \
- echo updating simplecov ...; \
- exec git pull; \
- else \
- echo retrieving simplecov ...; \
- exec git clone $(SIMPLECOV_GIT_URL) coverage/simplecov; \
- 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) $@
-
-verconf.h: $(RBCONFIG)
-
-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 5ac07db507..de1dafb533 100644
--- a/NEWS
+++ b/NEWS
@@ -1,363 +1,115 @@
-# -*- rdoc -*-
-
-= NEWS for Ruby 2.2.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.1.0 release
-
-=== Language changes
-
-* nil/true/false
- * nil/true/false objects are frozen. [Feature #8923]
-
-* Hash literal
- * Symbol key followed by a colon can be quoted. [Feature #4276]
-
-* default argument
- fixed a very longstanding bug that an optional argument was not
- accessible in its default value expression. [Bug #9593]
-
-=== Core classes updates (outstanding ones only)
-
-* Binding
- * New methods:
- * Binding#local_variables
- * Binding#receiver
-
-* Dir
- * New methods:
- * Dir#fileno
-
-* Enumerable
- * New methods:
- * Enumerable#slice_after
- * Enumerable#slice_when
- * Extended methods:
- * min, min_by, max and max_by supports optional argument to return
- multiple elements.
-
-* Float
- * New methods:
- * Float#next_float
- * Float#prev_float
-
-* File
- * New methods:
- * File.birthtime
- * File#birthtime
-
-* File::Stat
- * New methods:
- * File::Stat#birthtime
-
-* GC
- * GC.latest_gc_info returns :state to represent current GC status.
- * Improvements
- * Introduce incremental marking for major GC. [Feature #10137]
-
-* IO
- * Improvements
- * IO#nonblock_read and IO#nonblock_write for pipes on Windows are supported.
-
-* Kernel
- * New methods:
- * Kernel#itself
- * Improvements
- * Kernel#throw raises UncaughtThrowError, subclass of ArgumentError when
- there is no corresponding catch block, instead of ArgumentError.
-
-* Process
- * Extended method:
- * Process execution methods such as Process.spawn opens the file in write
- mode for redirect from [:out, :err].
-
-* String
- * New methods:
- * String#unicode_normalize
- * String#unicode_normalize!
- * String#unicode_normalized?
-
-* Symbol
- * Improvements
- * Most symbols which are returned by String#to_sym and
- String#intern are GC-able.
-
-* Method
- * New methods:
- * Method#curry([arity]) returns a curried Proc.
- * Method#super_method returns a Method of superclass, which would be called
- when super is used.
-
-=== Core classes compatibility issues (excluding feature bug fixes)
-
-* Enumerable
- * Enumerable#slice_before's state management deprecated.
- * Enumerable#chunk's state management deprecated.
-
-* GC
- * incompatible changes:
- * Rename GC.stat entries. [Feature #9924]
- See https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing
-
-* Hash
- * incompatible changes:
- * Change overriding policy for duplicated key. [Bug #10315]
- { **hash1, **hash2 } contains values of hash2 for duplicated keys.
-
-* IO
- * incompatible changes:
- * When flushing file IO with IO#flush, you cannot assume that the metadata
- of the file is updated immediately. On some platforms (especially
- Windows), it is delayed until the filesystem load is decreased.
- Use IO#fsync if you want to guarantee updating metadata.
- * IO#each_codepoint raises an exception at incomplete character
- before EOF when conversion takes place. [Bug #11444]
-
-* Math
- * incompatible changes:
- * Math.log now raises Math::DomainError instead of returning NaN if the
- base is less than 0, and returns NaN instead of -infinity if both of
- two arguments are 0.
- * Math.atan2 now returns values like as expected by C99 if both two
- arguments are infinity.
-
-* Proc
- * incompatible changes:
- * ArgumentError is no longer raised when lambda Proc is passed as a
- block, and the number of yielded arguments does not match the formal
- arguments of the lambda, if just an array is yielded and its length
- matches.
-
-* Process
- * Process execution methods such as Process.spawn opens the file in write
- mode for redirect from [:out, :err].
- Before Ruby 2.2, it was opened in read mode.
-
-=== Stdlib updates (outstanding ones only)
-
-* Continuation
- * callcc is obsolete. use Fiber instead.
-
-* Digest
-
- * Digest() should now be thread-safe. If you have a problem with
- regard to on-demand loading under a multi-threaded environment,
- preload "digest/*" modules on boot or use this method instead of
- directly referencing Digest::*.
- * Digest::HMAC has been removed just as previously noticed.
-
-* DL
- * DL has been removed from stdlib. Please use Fiddle instead!
-
-* Etc
- * New methods:
- * Etc.uname
- * Etc.sysconf
- * Etc.confstr
- * IO#pathconf
- * Etc.nprocessors
-
-* Find, Pathname
- * Extended methods:
- * find method accepts "ignore_error" keyword argument.
-
-* Matrix
- * New methods:
- * Matrix#first_minor(row, column) returns the submatrix obtained
- by deleting the specified row and column.
- * Matrix#cofactor(row, column) returns the (row, column) cofactor
- which is obtained by multiplying the first minor by (-1)**(row + column).
- * Matrix#adjugate returns the adjugate of the matrix.
- * hstack and vstack are new instance and class methods to stack matrices
- horizontally and vertically.
- * Matrix#laplace_expansion(row_or_column: num) returns the laplace_expansion
- along the +num+ -th row or column.
- * Vector.basis(size:, index:) returns the specified basis vector.
- * Unary - and + added for Vector and Matrix.
- * Vector#cross_product generalized to arbitrary dimensions.
- * Vector#dot and #cross are aliases for #inner_product and #cross_product.
- * Vector#angle_with returns the angle with its argument
- * New instance and class method independent? to test linear independence.
-
-* Pathname
- * Pathname#/ is aliased to Pathname#+.
- * New methods:
- * Pathname#birthtime
-
-* Rake
- * Updated to Rake 10.4.0. For full release notes see:
-
- http://docs.seattlerb.org/rake/History_rdoc.html#label-10.4.0
-
-* RubyGems
- * Updated to RubyGems 2.4.2. For full release notes see:
-
- http://docs.seattlerb.org/rubygems/History_txt.html#label-2.4.2+%2F+2014-10-01
-
-* TSort
- * TSort.tsort_each, TSort.each_strongly_connected_component and
- TSort.each_strongly_connected_component_from returns an enumerator if
- no block given.
-
-* XMLRPC
- * Added new parser class named LibXMLStreamParser.
-
-=== Stdlib compatibility issues (excluding feature bug fixes)
-
-* lib/mathn.rb
- * Show deprecated warning [Feature #10169]
-
-* ext/date/lib/date/format.rb
- * Removed because it's empty file.
-
-* Digest
- * Digest::HMAC has finally ceased to exist. Use OpenSSL::HMAC or an external gem instead.
-
-* time.rb
- * Time.parse, Time.strptime, Time.rfc2822, Time.xmlschema may produce
- fixed-offset Time objects.
- It is happen when usual localtime doesn't preserve the offset from UTC.
- * Time.httpdate produces always UTC Time object.
- * Time.strptime raises ArgumentError when no date information.
-
-* lib/rational.rb
- * Removed because it is deprecated from 2009.
-
-* lib/complex.rb
- * Removed because it is deprecated from 2009.
-
-* lib/prettyprint.rb
- * Removed PrettyPrint#first?
-
-* lib/minitest/*.rb
- * Removed because it conflicts to minitest 5. [Feature #9711]
-
-* lib/test/**/*.rb
- * Removed because it conflicts to minitest 5, and it was just an wrapper
- of minitest 4. [Feature #9711]
-
-* lib/uri
- * support RFC 3986. [Feature #2542]
-
-* GServer
- * GServer is extracted to gserver gem. It's unmaintain code.
-
-* Logger
- * Logger::Application is extracted to logger-application gem. It's unmaintain code.
-
-* ObjectSpace (after requiring "objspace")
- * ObjectSpace.memsize_of(obj) returns a size includes sizeof(RVALUE).
- [Bug #8984]
-
-* Prime
- * incompatible changes:
- * Prime.prime? now returns false for negative numbers. This method
- should not be used to know the number is composite or not. [Bug #7395]
-
-* Psych
- * Removed Psych::EngineManager [Bug #8344]
-
-=== Built-in global variables compatibility issues
-
-=== C API updates
-
-* Deprecated APIs removed. [Feature #9502]
-
- Check_SafeStr -> SafeStringValue
- rb_check_safe_str -> SafeStringValue
- rb_quad_pack -> rb_integer_pack
- rb_quad_unpack -> rb_integer_unpack
- rb_read_check : access struct FILE internal. no replacement.
- rb_struct_iv_get : internal function. no replacement.
- struct rb_blocking_region_buffer : internal type. no replacement.
- rb_thread_blocking_region_begin -> rb_thread_call_without_gvl family
- rb_thread_blocking_region_end -> rb_thread_call_without_gvl family
- TRAP_BEG -> rb_thread_call_without_gvl family
- TRAP_END -> rb_thread_call_without_gvl family
- rb_thread_select -> rb_thread_fd_select
- struct rb_exec_arg : internal type. no replacement.
- rb_exec : internal function. no replacement.
- rb_exec_arg_addopt : internal function. no replacement.
- rb_exec_arg_fixup : internal function. no replacement.
- rb_exec_arg_init : internal function. no replacement.
- rb_exec_err : internal function. no replacement.
- rb_fork : internal function. no replacement.
- rb_fork_err : internal function. no replacement.
- rb_proc_exec_n : internal function. no replacement.
- rb_run_exec_options : internal function. no replacement.
- rb_run_exec_options_err : internal function. no replacement.
- rb_thread_blocking_region -> rb_thread_call_without_gvl family
- rb_thread_polling -> rb_thread_wait_for
- rb_big2str0 : internal function. no replacement.
- rb_big2ulong_pack -> rb_integer_pack
- rb_gc_set_params : internal function. no replacement.
- rb_io_mode_flags -> rb_io_modestr_fmode
- rb_io_modenum_flags -> rb_io_oflags_fmode
+== 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'.
+
+* webrick
+
+ * New method: WEBrick::Cookie.parse_set_cookies()
+
+=== Compatibility issues (excluding feature bug fixes)
+
+* builtin classes
+
+ * String#intern now raises SecurityError when $SAFE level is greater
+ than zero.
+
+* fileutils
+
+ * A minor implementation change breaks Rake <=0.7.1.
+ Updating Rake to 0.7.2 fixes the problem.
-* struct RBignum is hidden. [Feature #6083]
- Use rb_integer_pack and rb_integer_unpack instead.
+* digest
-* struct RRational is hidden. [Feature #9513]
- Use rb_rational_num and rb_rational_den instead.
-
-* rb_big_new and rb_big_resize takes a size_t instead of long.
+ * 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_num2long returns a long instead of SIGNED_VALUE.
-
-* rb_num2ulong returns an unsigned long instead of VALUE.
-
-* st hash table uses power-of-two sizes for speed [Feature #9425].
- Lookups are 10-25% faster if using appropriate hash functions.
- However, weaknesses in hash distribution can no longer be masked
- by prime number-sized tables, so extensions may need to tweak
- hash functions to ensure good distribution.
-
-* rb_sym2str() added. This is almost same as `rb_id2str(SYM2ID(sym))`
- but not pinning a dynamic symbol.
-
-* rb_str_cat_cstr() added. This is same as `rb_str_cat2()`.
-
-* `rb_str_substr()` and `rb_str_subseq()` will share middle of a string,
- but not only the end of a string, in the future. Therefore, result
- strings may not be NUL-terminated, `StringValueCStr()` is needed
- calling to obtain a NUL-terminated C string.
-
-* rb_tracepoint_new() supports new internal events accessible only from C:
- * RUBY_INTERNAL_EVENT_GC_ENTER
- * RUBY_INTERNAL_EVENT_GC_EXIT
- r47528
-
-* rb_hash_delete() now does not call the block given to the current method.
-
-* rb_extract_keywords() and rb_get_kwargs() exported. See README.EXT
- for details.
-
-=== Build system updates
-
-* jemalloc is optionally supported via `./configure --with-jemalloc`
- jemalloc may be suitable when system malloc is slow or prone
- to fragmentation. [Feature #9113]
-
-=== Implementation changes
-
-* GC
- * Most symbols which are returned by String#to_sym and
- String#intern are GC-able [Feature #9634]
- * Introduce incremental marking for major GC. [Feature #10137]
- * Enable lazy sweep on GC caused by malloc().
-
-* VM
- * Use frozen string literals for Hash#[] and Hash#[]=
- * Fast keyword arguments passing [Feature #10440]
- * Allow to receive huge splatted array by a rest argument
- [Feature #10440]
-
-* Process
- * Process creation methods, such as spawn(), uses vfork() system call.
- vfork() is faster than fork() when the parent process uses huge memory.
+ # 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
new file mode 100644
index 0000000000..cf836415ad
--- /dev/null
+++ b/README
@@ -0,0 +1,114 @@
+* What's Ruby
+
+Ruby is the interpreted scripting language for quick and
+easy object-oriented programming. It has many features to
+process text files and to do system management tasks (as in
+Perl). It is simple, straight-forward, and extensible.
+
+
+* 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 machines, and on DOS,
+ Windows, Mac, BeOS etc.)
+
+
+* How to get Ruby
+
+The Ruby distribution files can be found in the following FTP site:
+
+ ftp://ftp.ruby-lang.org/pub/ruby/
+
+The latest source code of this version series can be checked out
+through SVN with the following command:
+
+ $ 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
+
+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/
+
+
+* Ruby home-page
+
+The URL of the Ruby home-page is:
+
+ http://www.ruby-lang.org/
+
+
+* Mailing list
+
+There is a mailing list to talk about Ruby.
+To subscribe this list, please send the following phrase
+
+ subscribe YourFirstName YourFamilyName
+e.g.
+ subscribe Joseph Smith
+
+in the mail body (not subject) to the address <ruby-talk-ctl@ruby-lang.org>.
+
+
+* How to compile and install
+
+This is what you need to do to compile and install Ruby:
+
+ 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.
+
+ 3. Edit defines.h if you need. Usually this step will not be needed.
+
+ 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 "#option nodynamic" in
+ ext/Setup.
+
+ 5. Run make.
+
+ 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 '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.
+
+
+* Copying
+
+See the file COPYING.
+
+
+* The Author
+
+Feel free to send comments and bug reports to the author. Here is the
+author's latest mail address:
+
+ matz@netlab.jp
+
+-------------------------------------------------------
+created at: Thu Aug 3 11:57:36 JST 1995
+Local variables:
+mode: indented-text
+end:
diff --git a/README.EXT b/README.EXT
index f24029c826..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,187 +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_str_new_literal(const char *ptr) ::
-
- Creates a new Ruby string from a C string literal.
-
-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, "%"PRIsVALUE can be used for Object#to_s
- (or Object#inspect if '+' flag is set) output (and related argument
- must be a VALUE). Since it conflicts with "%i", 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) ::
-rb_str_cat_cstr(VALUE str, const char* ptr) ::
-
- Appends C string ptr to Ruby string str. This function is
- equivalent to rb_str_cat(str, ptr, strlen(ptr)).
-
-rb_str_catf(VALUE str, const char* format, ...) ::
-rb_str_vcatf(VALUE str, const char* format, va_list ap) ::
-
- 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.
+1.5 Manipulating Ruby data
-rb_enc_str_new(const char *ptr, long len, rb_encoding *enc) ::
-rb_enc_str_new_cstr(const char *ptr, rb_encoding *enc) ::
+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:
- Creates a new Ruby string with the specified encoding.
+ String functions
-rb_enc_str_new_literal(const char *ptr) ::
+ rb_str_new(const char *ptr, long len)
- Creates a new Ruby string from a C string literal with the specified
- encoding.
+ Creates a new Ruby string.
-rb_usascii_str_new(const char *ptr, long len) ::
-rb_usascii_str_new_cstr(const char *ptr) ::
+ rb_str_new2(const char *ptr)
- Creates a new Ruby string with encoding US-ASCII.
+ Creates a new Ruby string from a C string. This is equivalent to
+ rb_str_new(ptr, strlen(ptr)).
-rb_usascii_str_new_literal(const char *ptr) ::
+ rb_tainted_str_new(const char *ptr, long len)
- Creates a new Ruby string from a C string literal with encoding
- US-ASCII.
+ Creates a new tainted Ruby string. Strings from external data
+ sources should be tainted.
-rb_utf8_str_new(const char *ptr, long len) ::
-rb_utf8_str_new_cstr(const char *ptr) ::
+ rb_tainted_str_new2(const char *ptr)
- Creates a new Ruby string with encoding UTF-8.
+ Creates a new tainted Ruby string from a C string.
-rb_utf8_str_new_literal(const char *ptr) ::
+ rb_str_cat(VALUE str, const char *ptr, long len)
- Creates a new Ruby string from a C string literal with encoding
- UTF-8.
+ Appends len bytes of data from ptr to the Ruby string.
-rb_str_resize(VALUE str, long len) ::
+ Array functions
- 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_ary_new()
-rb_str_set_len(VALUE str, long len) ::
+ Creates an array with no elements.
- 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_ary_new2(long len)
-=== Array Functions
+ Creates an array with no elements, allocating internal buffer
+ for len elements.
-rb_ary_new() ::
+ rb_ary_new3(long n, ...)
- Creates an array with no elements.
+ Creates an n-element array from the arguments.
-rb_ary_new2(long len) ::
-rb_ary_new_capa(long len) ::
+ rb_ary_new4(long n, VALUE *elts)
- Creates an array with no elements, allocating internal buffer
- for len elements.
+ Creates an n-element array from a C array.
-rb_ary_new3(long n, ...) ::
-rb_ary_new_from_args(long n, ...) ::
+ rb_ary_push(VALUE ary, VALUE val)
+ rb_ary_pop(VALUE ary)
+ rb_ary_shift(VALUE ary)
+ rb_ary_unshift(VALUE ary, VALUE val)
- Creates an n-element array from the arguments.
+ Array operations. The first argument to each functions must be an
+ array. They may dump core if other types are given.
-rb_ary_new4(long n, VALUE *elts) ::
-rb_ary_new_from_values(long n, VALUE *elts) ::
+2. Extending Ruby with C
- Creates an n-element array from a C array.
-
-rb_ary_to_ary(VALUE obj) ::
-
- Converts the object into an array.
- Equivalent to Object#to_ary.
-
-There are many functions to operate an array. They may dump core if other
-types are given.
-
-rb_ary_aref(argc, VALUE *argv, VALUE ary) ::
-
- 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:
@@ -354,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:
@@ -385,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)
@@ -412,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)
@@ -424,30 +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.
-If you are overriding an existing method of any ancestor of your class,
-you may rely on:
-
- VALUE rb_call_super(int argc, const VALUE *argv)
-
-To achieve the receiver of the current scope (if no other way is
-available), you can use:
-
- VALUE rb_current_receiver(void)
-
-=== Constant Definition
+2.1.3 Constant definition
We have 2 functions to define constants:
@@ -457,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:
@@ -471,56 +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.
-
-=== ID or Symbol
+2.2.2 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:
-
- :Identifier
-
-or
+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:
- :"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 retrieve Symbol from Ruby object (Symbol or String) given as
-an argument by using
-
- rb_to_symbol(VALUE name)
- rb_check_symbol(volatile VALUE *namep)
- rb_check_symbol_cstr(const char *ptr, long len, rb_encoding *enc)
-
-These functions are similar to above functions except that these
-return a Symbol instead of an ID.
You can convert C ID to Ruby Symbol by using
@@ -530,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
@@ -539,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:
@@ -556,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
@@ -574,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:
@@ -593,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
@@ -632,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)
@@ -656,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
@@ -691,48 +500,53 @@ the library.
Here's the example of an initializing function.
- void
- Init_dbm(void)
- {
- /* define DBM class */
- VALUE 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) do {\
- Data_Get_Struct(obj, struct dbmdata, dbmp);\
- if (dbmp->di_dbm == 0) closed_dbm();\
- } while (0)
+--
+#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.
@@ -740,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.
@@ -752,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.
-The following is an example of a method that takes arguments by Ruby's
-array:
+Methods with an arbitrary number of arguments can receive arguments
+by Ruby's array, like this:
- 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.
@@ -802,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.
@@ -838,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
@@ -847,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
@@ -871,857 +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)
-
- regex.c
- regcomp.c
- regenc.c
- regerror.c
- regexec.c
- regparse.c
- regsyntax.c
+ gc.c
+ object.c
+ parse.y
+ variable.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
-
-encoding.c :: Encoding
-transcode.c :: Encoding::Converter
-enc/*.c :: encoding classes
-enc/trans/* :: codepoint mapping tables
-
-== goruby Interpreter Implementation
-
- goruby.c
- golf_prelude.rb : goruby specific libraries.
- -> golf_prelude.c : automatically generated
+class library
+ 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
-= Appendix B. Ruby Extension API Reference
+Appendix B. Ruby extension API reference
-== Types
+** Types
-VALUE ::
+ VALUE
- 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).
+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).
-== Variables and Constants
+** Variables and constants
-Qnil::
- nil object
+ Qnil
-Qtrue::
- true object (default true value)
+const: nil object
-Qfalse::
- false object
+ Qtrue
-== C Pointer Wrapping
+const: true object(default true value)
-Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval) ::
+ Qfalse
- 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.
+const: false object
-Data_Make_Struct(klass, type, mark, free, sval) ::
+** C pointer wrapping
- This macro allocates memory using malloc(), assigns it to the variable
- sval, and returns the DATA encapsulating the pointer to memory region.
+ Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)
-Data_Get_Struct(data, type, 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.
- This macro retrieves the pointer value from DATA, and assigns it to
- the variable sval.
+ Data_Make_Struct(klass, type, mark, free, sval)
-== Checking Data Types
+This macro allocates memory using malloc(), assigns it to the variable
+sval, and returns the DATA encapsulating the pointer to memory region.
-TYPE(value) ::
+ Data_Get_Struct(data, type, sval)
- Internal type (T_NIL, T_FIXNUM, etc.)
+This macro retrieves the pointer value from DATA, and assigns it to
+the variable sval.
-FIXNUM_P(value) ::
+** Checking data types
- Is +value+ a Fixnum?
+TYPE(value)
+FIXNUM_P(value)
+NIL_P(value)
+void Check_Type(VALUE value, int type)
+void Check_SafeStr(VALUE value)
-NIL_P(value) ::
+** Data type conversion
- Is +value+ nil?
+FIX2INT(value)
+INT2FIX(i)
+NUM2INT(value)
+INT2NUM(i)
+NUM2DBL(value)
+rb_float_new(f)
+StringValue(value)
+StringValuePtr(value)
+StringValueCStr(value)
+rb_str_new2(s)
-void Check_Type(VALUE value, int type) ::
+** defining class/module
- Ensures +value+ is of the given internal +type+ or raises a TypeError
+ VALUE rb_define_class(const char *name, VALUE super)
-SaveStringValue(value) ::
+Defines a new Ruby class as a subclass of super.
- Checks that +value+ is a String and is not tainted
+ VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)
-== Data Type Conversion
+Creates a new Ruby class as a subclass of super, under the module's
+namespace.
-FIX2INT(value), INT2FIX(i) ::
+ VALUE rb_define_module(const char *name)
- Fixnum <-> integer
+Defines a new Ruby module.
-FIX2LONG(value), LONG2FIX(l) ::
+ VALUE rb_define_module_under(VALUE module, const char *name)
- Fixnum <-> long
+Defines a new Ruby module under the module's namespace.
-NUM2INT(value), INT2NUM(i) ::
+ void rb_include_module(VALUE klass, VALUE module)
- Numeric <-> integer
+Includes module into class. If class already includes it, just
+ignored.
-NUM2UINT(value), UINT2NUM(ui) ::
+ void rb_extend_object(VALUE object, VALUE module)
- Numeric <-> unsigned integer
+Extend the object with the module's attributes.
-NUM2LONG(value), LONG2NUM(l) ::
+** Defining Global Variables
- Numeric <-> long
+ void rb_define_variable(const char *name, VALUE *var)
-NUM2ULONG(value), ULONG2NUM(ul) ::
+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.
- Numeric <-> unsigned long
+ void rb_define_readonly_variable(const char *name, VALUE *var)
-NUM2LL(value), LL2NUM(ll) ::
+Defines a read-only global variable. Works just like
+rb_define_variable(), except the defined variable is read-only.
- Numeric <-> long long
+ void rb_define_virtual_variable(const char *name,
+ VALUE (*getter)(), VALUE (*setter)())
-NUM2ULL(value), ULL2NUM(ull) ::
+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:
- Numeric <-> unsigned long long
+ VALUE getter(ID id)
+ void setter(VALUE val, ID id)
-NUM2OFFT(value), OFFT2NUM(off) ::
+The getter function must return the value for the access.
- Numeric <-> off_t
+ void rb_define_hooked_variable(const char *name, VALUE *var,
+ VALUE (*getter)(), VALUE (*setter)())
-NUM2SIZET(value), SIZET2NUM(size) ::
+Defines hooked variable. It's a virtual variable with a C variable.
+The getter is called as
- Numeric <-> size_t
+ VALUE getter(ID id, VALUE *var)
-NUM2SSIZET(value), SSIZET2NUM(ssize) ::
+returning a new value. The setter is called as
- Numeric <-> ssize_t
+ void setter(VALUE val, ID id, VALUE *var)
-rb_integer_pack(value, words, numwords, wordsize, nails, flags), rb_integer_unpack(words, numwords, wordsize, nails, flags) ::
+GC requires C global variables which hold Ruby values to be marked.
- Numeric <-> Arbitrary size integer buffer
+ void rb_global_variable(VALUE *var)
-NUM2DBL(value) ::
+Tells GC to protect these variables.
- Numeric -> double
+** Constant Definition
-rb_float_new(f) ::
+ void rb_define_const(VALUE klass, const char *name, VALUE val)
- double -> Float
+Defines a new constant under the class/module.
-RSTRING_LEN(str) ::
+ void rb_define_global_const(const char *name, VALUE val)
- String -> length of String data in bytes
+Defines a global constant. This is just the same as
-RSTRING_PTR(str) ::
+ rb_define_const(cKernal, name, val)
- String -> pointer to String data
- Note that the result pointer may not be NUL-terminated
+** Method Definition
-StringValue(value) ::
+ rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
- Object with #to_str -> String
+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.
-StringValuePtr(value) ::
+ rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
- Object with #to_str -> pointer to String data
+Defines a private method for the class. Arguments are same as
+rb_define_method().
-StringValueCStr(value) ::
+ rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
- Object with #to_str -> pointer to String data without NUL bytes
- It is guaranteed that the result data is NUL-terminated
+Defines a singleton method. Arguments are same as rb_define_method().
-rb_str_new2(s) ::
+ rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)
- char * -> String
+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.
-== Defining Class and Module
+** Invoking Ruby method
-VALUE rb_define_class(const char *name, VALUE super) ::
+ VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)
- Defines a new Ruby class as a subclass of super.
+Invokes a method. To retrieve mid from a method name, use rb_intern().
-VALUE rb_define_class_under(VALUE module, const char *name, VALUE super) ::
+ VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
- Creates a new Ruby class as a subclass of super, under the module's
- namespace.
+Invokes a method, passing arguments by an array of values.
-VALUE rb_define_module(const char *name) ::
+ VALUE rb_eval_string(const char *str)
- Defines a new Ruby module.
+Compiles and executes the string as a Ruby program.
-VALUE rb_define_module_under(VALUE module, const char *name) ::
+ ID rb_intern(const char *name)
- Defines a new Ruby module under the module's namespace.
+Returns ID corresponding to the name.
-void rb_include_module(VALUE klass, VALUE module) ::
+ char *rb_id2name(ID id)
- Includes module into class. If class already includes it, just ignored.
+Returns the name corresponding ID.
-void rb_extend_object(VALUE object, VALUE module) ::
+ char *rb_class2name(VALUE klass)
- Extend the object with the module's attributes.
+Returns the name of the class.
-== Defining Global Variables
+ int rb_respond_to(VALUE object, ID id)
-void rb_define_variable(const char *name, VALUE *var) ::
+Returns true if the object responds to the message specified by 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.
+** Instance Variables
-void rb_define_readonly_variable(const char *name, VALUE *var) ::
+ VALUE rb_iv_get(VALUE obj, const char *name)
- Defines a read-only global variable. Works just like
- rb_define_variable(), except the defined variable is read-only.
+Retrieve the value of the instance variable. If the name is not
+prefixed by `@', that variable shall be inaccessible from Ruby.
-void rb_define_virtual_variable(const char *name, VALUE (*getter)(), VALUE (*setter)()) ::
+ VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)
- 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:
+Sets the value of the instance variable.
- VALUE getter(ID id)
- void setter(VALUE val, ID id)
+** Control Structure
- The getter function must return the value for the access.
+ VALUE rb_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2)
-void rb_define_hooked_variable(const char *name, VALUE *var, VALUE (*getter)(), VALUE (*setter)()) ::
+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)
- Defines hooked variable. It's a virtual variable with a C variable.
- The getter is called as
+Evaluates the block with value val.
- VALUE getter(ID id, VALUE *var)
+ VALUE rb_rescue(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *arg2)
- returning a new value. The setter is called as
+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.
- void setter(VALUE val, ID id, VALUE *var)
+ VALUE rb_ensure(VALUE (*func1)(), void *arg1, void (*func2)(), void *arg2)
- GC requires C global variables which hold Ruby values to be marked.
+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.
-void rb_global_variable(VALUE *var)
+** Exceptions and Errors
- Tells GC to protect these variables.
+ void rb_warn(const char *fmt, ...)
-== Constant Definition
+Prints a warning message according to a printf-like format.
-void rb_define_const(VALUE klass, const char *name, VALUE val) ::
+ void rb_warning(const char *fmt, ...)
- Defines a new constant under the class/module.
+Prints a warning message according to a printf-like format, if
+$VERBOSE is true.
-void rb_define_global_const(const char *name, VALUE val) ::
+void rb_raise(rb_eRuntimeError, const char *fmt, ...)
- Defines a global constant. This is just the same as
+Raises RuntimeError. The fmt is a format string just like printf().
- rb_define_const(cKernal, name, val)
+ void rb_raise(VALUE exception, const char *fmt, ...)
-== Method Definition
+Raises a class exception. The fmt is a format string just like printf().
-rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+ void rb_fatal(const char *fmt, ...)
- 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.
+Raises a fatal error, terminates the interpreter. No exception handling
+will be done for fatal errors, but ensure blocks will be executed.
-rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+ void rb_bug(const char *fmt, ...)
- Defines a private method for the class. Arguments are same as
- rb_define_method().
+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.
-rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
-
- 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.
-
-int rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optional, VALUE *values)
-
- Retrieves argument VALUEs bound to keywords, which directed by +table+
- into +values+. First +required+ number of IDs referred by +table+ are
- mandatory, and succeeding +optional+ (- +optional+ - 1 if
- +optional+ is negative) number of IDs are optional. If a
- mandatory key is not contained in +keyword_hash+, raises "missing
- keyword" +ArgumentError+. If an optional key is not present in
- +keyword_hash+, the corresponding element in +values+ is not changed.
- If +optional+ is negative, rest of +keyword_hash+ are stored in the
- next to optional +values+ as a new Hash, otherwise raises "unknown
- keyword" +ArgumentError+.
-
-VALUE rb_extract_keywords(VALUE *original_hash)
-
- Extracts pairs whose key is a symbol into a new hash from a hash
- object referred by +original_hash+. If the original hash contains
- non-symbol keys, then they are copied to another hash and the new hash
- is stored through +original_hash+, else 0 is stored.
-
-== 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, "%"PRIsVALUE can be used for Object#to_s
-(or Object#inspect if '+' flag is set) output (and related argument
-must be a VALUE). Since it conflicts with "%i", 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.
- And compiles the Ruby source to execute.
- It returns an opaque pointer to the compiled source
- or an internal special value.
+Process command line arguments for the interpreter.
-int ruby_run_node(void *n) ::
+ void ruby_run()
- Runs the given compiled source and exits this process.
- It returns EXIT_SUCCESS if successfully runs the source.
- Otherwise, it returns other value.
+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 ::
-
- Means that rb_add_event_hook() takes the third argument `data', to be
- passed to the given event hook function.
-
-= Appendix C. Functions available for use in extconf.rb
-
-See documentation for {mkmf}[rdoc-ref:MakeMakefile].
-
-= Appendix D. Generational GC
-
-Ruby 2.1 introduced a generational garbage collector (called RGenGC).
-RGenGC (mostly) keeps compatibility.
-
-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.
-
-If your library adheres to the following tips, performance can
-be further improved. Especially, the "Don't touch pointers directly" section is
-important.
-
-== Incompatibility
-
-You can't write RBASIC(obj)->klass field directly because it is const
-value now.
-
-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:
-
-VALUE rb_obj_hide(VALUE obj) ::
-
- Clear RBasic::klass field. The object will be an internal object.
- ObjectSpace::each_object can't find this object.
-
-VALUE rb_obj_reveal(VALUE obj, VALUE klass) ::
-
- Reset RBasic::klass to be klass.
- We expect the `klass' is hidden class by rb_obj_hide().
+Appendix C. Functions Available in extconf.rb
-== Write barriers
+These functions are available in extconf.rb:
-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_macro(macro, headers)
-=== Don't touch pointers directly
+Checks whether macro is defined with header. Returns true if the macro
+is defined.
-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_library(lib, func)
-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 the library exists, containing the specified function.
+Returns true if the library exists.
-=== Consider whether to insert write barriers
+ find_library(lib, func, path...)
-You don't need to care about write barriers if you only use built-in
-types.
+Checks whether a library which contains the specified function exists in
+path. Returns true if the library exists.
-If you support T_DATA objects, you may consider using write barriers.
+ have_func(func, header)
-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.
+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().
-(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.
+ have_var(var, header)
-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.
+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().
-=== Combine with built-in types
+ have_header(header)
-Please consider utilizing built-in types. Most built-in types support
-write barrier, so you can use them to avoid manually inserting write
-barriers.
+Checks whether header exists. Returns true if the header file exists.
-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.
+ find_header(header, path...)
-With use of such techniques, you don't need to insert write barriers
-anymore.
+Checks whether header exists in path. Returns true if the header file
+exists.
-=== Insert write barriers
+ have_struct_member(type, member, header)
-[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.
+Checks whether type has member with header. Returns true if the type
+is defined and has the member.
-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.
+ have_type(type, header, opt)
-For a complete guide for RGenGC and write barriers, please refer to
-<https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/RGenGC>.
+Checks whether type is defined with header. Returns true if the type
+is defined.
-= Appendix E. RB_GC_GUARD to protect from premature GC
+ check_sizeof(type, header)
-C Ruby currently uses conservative garbage collection, thus VALUE
-variables must remain visible on the stack or registers to ensure any
-associated data remains usable. Optimizing C compilers are not designed
-with conservative garbage collection in mind, so they may optimize away
-the original VALUE even if the code depends on data associated with that
-VALUE.
+Checks the size of type in char with header. Returns the size if the
+type is defined, otherwise nil.
-The following example illustrates the use of RB_GC_GUARD to ensure
-the contents of sptr remain valid while the second invocation of
-rb_str_new_cstr is running.
+ create_makefile(target)
- VALUE s, w;
- const char *sptr;
+Generates the Makefile for the extension library. If you don't invoke
+this method, the compilation will not be done.
- s = rb_str_new_cstr("hello world!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
- sptr = RSTRING_PTR(s);
- w = rb_str_new_cstr(sptr + 6); /* Possible GC invocation */
+ find_executable(bin, path)
- RB_GC_GUARD(s); /* ensure s (and thus sptr) do not get GC-ed */
+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.
-In the above example, RB_GC_GUARD must be placed _after_ the last use of
-sptr. Placing RB_GC_GUARD before dereferencing sptr would be of no use.
-RB_GC_GUARD is only effective on the VALUE data type, not converted C
-data types.
+ with_config(withval[, default=nil])
-RB_GC_GUARD would not be necessary at all in the above example if
-non-inlined function calls are made on the `s' VALUE after sptr is
-dereferenced. Thus, in the above example, calling any un-inlined
-function on `s' such as:
+Parses the command line options and returns the value specified by
+--with-<withval>.
- rb_str_modify(s);
+ enable_config(config, *defaults)
+ disable_config(config, *defaults)
-Will ensure `s' stays on the stack or register to prevent a
-GC invocation from prematurely freeing it.
+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.
-Using the RB_GC_GUARD macro is preferable to using the "volatile"
-keyword in C. RB_GC_GUARD has the following advantages:
+ dir_config(target[, default_dir])
+ dir_config(target[, default_include, default_lib])
-1) the intent of the macro use is clear
+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]).
-2) RB_GC_GUARD only affects its call site, "volatile" generates some
- extra code every time the variable is used, hurting optimization.
+ pkg_config(pkg)
-3) "volatile" implementations may be buggy/inconsistent in some
- compilers and architectures. RB_GC_GUARD is customizable for broken
- systems/compilers without those without negatively affecting other
- systems.
+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 f4255ebb69..30c4d520ba 100644
--- a/README.EXT.ja
+++ b/README.EXT.ja
@@ -1,1716 +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_str_new_literal(const char *ptr)
+ rb_str_new2(const char *ptr)
- Cã®ãƒªãƒ†ãƒ©ãƒ«æ–‡å­—列ã‹ã‚‰Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+ C¤Îʸ»úÎ󤫤éRuby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥¤³¤Î´Ø¿ô¤Îµ¡Ç½¤Ï
+ rb_str_new(ptr, strlen(ptr))¤ÈƱÅù¤Ç¤¢¤ë¡¥
-rb_tainted_str_new(const char *ptr, long len)
+ rb_tainted_str_new(const char *ptr, long len)
- 汚染マークãŒä»˜åŠ ã•ã‚ŒãŸæ–°ã—ã„Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Žå¤–部
- ã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã«åŸºã¥ã文字列ã«ã¯æ±šæŸ“マークãŒä»˜åŠ ã•れるã¹ã
- ã§ã‚る.
+ ±øÀ÷¥Þ¡¼¥¯¤¬Éղ䵤줿¿·¤·¤¤Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥³°Éô
+ ¤«¤é¤Î¥Ç¡¼¥¿¤Ë´ð¤Å¤¯Ê¸»úÎó¤Ë¤Ï±øÀ÷¥Þ¡¼¥¯¤¬Éղ䵤ì¤ë¤Ù¤­
+ ¤Ç¤¢¤ë¡¥
-rb_tainted_str_new2(const char *ptr)
-rb_tainted_str_new_cstr(const char *ptr)
+ rb_tainted_str_new2(const char *ptr)
- Cã®æ–‡å­—列ã‹ã‚‰æ±šæŸ“マークãŒä»˜åŠ ã•れãŸRubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+ C¤Îʸ»úÎ󤫤鱸À÷¥Þ¡¼¥¯¤¬Éղ䵤줿Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥
-rb_sprintf(const char *format, ...)
-rb_vsprintf(const char *format, va_list ap)
+ rb_str_cat(VALUE str, const char *ptr, long len)
- Cã®æ–‡å­—列formatã¨ç¶šã引数をprintf(3)ã®ãƒ•ォーマットã«ã—ãŸãŒã£ã¦
- æ•´å½¢ã—,Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+ Ruby¤Îʸ»úÎóstr¤Ëlen¥Ð¥¤¥È¤Îʸ»úÎóptr¤òÄɲ乤롥
- 注æ„: "%"PRIsVALUEãŒObject#to_s('+'ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹
- ã¨ãã¯Object#inspect)を使ã£ãŸVALUEã®å‡ºåŠ›ã«åˆ©ç”¨ã§ãる.ã“れ
- ã¯"%i"ã¨è¡çªã™ã‚‹ãŸã‚,整数ã«ã¯"%d"を使用ã™ã‚‹ã“ã¨ï¼Ž
+ ÇÛÎó¤ËÂФ¹¤ë´Ø¿ô
-rb_str_cat(VALUE str, const char *ptr, long len)
+ rb_ary_new()
- Rubyã®æ–‡å­—列strã«lenãƒã‚¤ãƒˆã®æ–‡å­—列ptrを追加ã™ã‚‹ï¼Ž
+ Í×ÁǤ¬0¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-rb_str_cat2(VALUE str, const char* ptr)
-rb_str_cat_cstr(VALUE str, const char* ptr)
+ rb_ary_new2(long len)
- Rubyã®æ–‡å­—列strã«Cã®æ–‡å­—列ptrを追加ã™ã‚‹ï¼Žã“ã®é–¢æ•°ã®æ©Ÿèƒ½ã¯
- rb_str_cat(str, ptr, strlen(ptr))ã¨åŒç­‰ã§ã‚る.
+ Í×ÁǤ¬0¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥lenÍ×ÁÇʬ¤ÎÎΰè¤ò¤¢¤é¤«¤¸¤á³ä¤ê
+ Åö¤Æ¤Æ¤ª¤¯¡¥
-rb_str_catf(VALUE str, const char* format, ...)
-rb_str_vcatf(VALUE str, const char* format, va_list ap)
+ rb_ary_new3(long n, ...)
- Cã®æ–‡å­—列formatã¨ç¶šã引数をprintf(3)ã®ãƒ•ォーマットã«ã—ãŸãŒã£ã¦
- æ•´å½¢ã—,Rubyã®æ–‡å­—列strã«è¿½åŠ ã™ã‚‹ï¼Žã“ã®é–¢æ•°ã®æ©Ÿèƒ½ã¯ï¼Œãれãžã‚Œ
- rb_str_cat2(str, rb_sprintf(format, ...)) ã‚„
- rb_str_cat2(str, rb_vsprintf(format, ap)) ã¨åŒç­‰ã§ã‚る.
+ °ú¿ô¤Ç»ØÄꤷ¤¿nÍ×ÁǤò´Þ¤àÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-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_new4(long n, VALUE *elts)
- 指定ã•れãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§Rubyã®æ–‡å­—列を生æˆã™ã‚‹.
+ ÇÛÎó¤ÇÍ¿¤¨¤¿nÍ×ÁǤÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-rb_enc_str_new_literal(const char *ptr)
+ rb_ary_push(VALUE ary, VALUE val)
+ rb_ary_pop(VALUE ary)
+ rb_ary_shift(VALUE ary)
+ rb_ary_unshift(VALUE ary, VALUE val)
- Cã®ãƒªãƒ†ãƒ©ãƒ«æ–‡å­—列ã‹ã‚‰æŒ‡å®šã•れãŸã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+ Array¤ÎƱ̾¤Î¥á¥½¥Ã¥É¤ÈƱ¤¸Æ¯¤­¤ò¤¹¤ë´Ø¿ô¡¥Âè1°ú¿ô¤Ïɬ¤º
+ ÇÛÎó¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥
-rb_usascii_str_new(const char *ptr, long len)
-rb_usascii_str_new_cstr(const char *ptr)
+2¡¥Ruby¤Îµ¡Ç½¤ò»È¤¦
- エンコーディングãŒUS-ASCIIã®Rubyã®æ–‡å­—列を生æˆã™ã‚‹.
+¸¶ÍýŪ¤ËRuby¤Ç½ñ¤±¤ë¤³¤È¤ÏC¤Ç¤â½ñ¤±¤Þ¤¹¡¥Ruby¤½¤Î¤â¤Î¤¬C¤Çµ­
+½Ò¤µ¤ì¤Æ¤¤¤ë¤ó¤Ç¤¹¤«¤é¡¤ÅöÁ³¤È¤¤¤¨¤ÐÅöÁ³¤Ê¤ó¤Ç¤¹¤±¤É¡¥¤³¤³¤Ç
+¤ÏRuby¤Î³ÈÄ¥¤Ë»È¤¦¤³¤È¤¬Â¿¤¤¤À¤í¤¦¤Èͽ¬¤µ¤ì¤ëµ¡Ç½¤òÃæ¿´¤Ë¾Ò
+²ð¤·¤Þ¤¹¡¥
-rb_usascii_str_new_literal(const char *ptr)
+2.1 Ruby¤Ëµ¡Ç½¤òÄɲ乤ë
- Cã®ãƒªãƒ†ãƒ©ãƒ«æ–‡å­—列ã‹ã‚‰ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒUS-ASCIIã®Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
+Ruby¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë´Ø¿ô¤ò»È¤¨¤ÐRuby¥¤¥ó¥¿¥×¥ê¥¿¤Ë¿·¤·¤¤µ¡Ç½
+¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡¥Ruby¤Ç¤Ï°Ê²¼¤Îµ¡Ç½¤òÄɲä¹¤ë´Ø¿ô¤¬
+Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
-rb_utf8_str_new(const char *ptr, long len)
-rb_utf8_str_new_cstr(const char *ptr)
+ * ¥¯¥é¥¹¡¤¥â¥¸¥å¡¼¥ë
+ * ¥á¥½¥Ã¥É¡¤ÆÃ°Û¥á¥½¥Ã¥É¤Ê¤É
+ * Äê¿ô
- エンコーディングãŒUTF-8ã®Rubyã®æ–‡å­—列を生æˆã™ã‚‹.
+¤Ç¤Ï½ç¤Ë¾Ò²ð¤·¤Þ¤¹¡¥
-rb_usascii_str_new_literal(const char *ptr)
+2.1.1 ¥¯¥é¥¹/¥â¥¸¥å¡¼¥ëÄêµÁ
- Cã®ãƒªãƒ†ãƒ©ãƒ«æ–‡å­—列ã‹ã‚‰ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ãŒUTF-8ã®Rubyã®æ–‡å­—列を生æˆã™ã‚‹ï¼Ž
-
-rb_str_resize(VALUE str, long len)
-
- Rubyã®æ–‡å­—列ã®ã‚µã‚¤ã‚ºã‚’lenãƒã‚¤ãƒˆã«å¤‰æ›´ã™ã‚‹ï¼Žstrã®é•·ã•ã¯å‰
- 以ã¦ã‚»ãƒƒãƒˆã•れã¦ã„ãªã‘れã°ãªã‚‰ãªã„.lenãŒå…ƒã®é•·ã•よりも短
- ã„æ™‚ã¯ï¼Œlenãƒã‚¤ãƒˆã‚’è¶ŠãˆãŸéƒ¨åˆ†ã®å†…å®¹ã¯æ¨ã¦ã‚‰ã‚Œã‚‹ï¼ŽlenãŒå…ƒ
- ã®é•·ã•ã‚ˆã‚Šã‚‚é•·ã„æ™‚ã¯ï¼Œå…ƒã®é•·ã•ã‚’è¶ŠãˆãŸéƒ¨åˆ†ã®å†…容ã¯ä¿å­˜ã•
- れãªã„ã§ã‚´ãƒŸã«ãªã‚‹ã ã‚ã†ï¼Žã“ã®é–¢æ•°ã®å‘¼ã³å‡ºã—ã«ã‚ˆã£ã¦
- RSTRING_PTR(str)ãŒå¤‰æ›´ã•れるã‹ã‚‚ã—れãªã„ã“ã¨ã«æ³¨æ„.
-
-rb_str_set_len(VALUE str, long len)
-
- Rubyã®æ–‡å­—列ã®ã‚µã‚¤ã‚ºã‚’lenãƒã‚¤ãƒˆã«ã‚»ãƒƒãƒˆã™ã‚‹ï¼ŽstrãŒå¤‰æ›´å¯
- 能ã§ãªã‘れã°ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹ï¼ŽRSTRING_LEN(str)ã¨ã¯ç„¡é–¢ä¿‚ã«ï¼Œ
- lenãƒã‚¤ãƒˆã¾ã§ã®å†…容ã¯ä¿å­˜ã•れる.lenã¯strã®å®¹é‡ã‚’è¶Šãˆã¦ã„
- ã¦ã¯ãªã‚‰ãªã„.
-
-
-== é…列ã«å¯¾ã™ã‚‹é–¢æ•°
-
-rb_ary_new()
-
- è¦ç´ ãŒ0ã®é…列を生æˆã™ã‚‹ï¼Ž
-
-rb_ary_new2(long len)
-rb_ary_new_capa(long len)
-
- è¦ç´ ãŒ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ã¯ã‚¯ãƒ©ã‚¹ã‚’引数ã¨ã—ã¦å—ã‘å–ã£ã¦ï¼Œæ–°ã—ã割り当ã¦ã‚‰ã‚ŒãŸã‚¤ãƒ³
-スタンスを返ã•ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“.ã“ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ï¼Œå¤–部リ
-ソースãªã©ã‚’å«ã¾ãªã„,ã§ãã‚‹ã ã‘「空ã€ã®ã¾ã¾ã«ã—ã¦ãŠã„ãŸã»ã†
-ãŒã‚ˆã„ã§ã—ょã†ï¼Ž
-
-継承ã—ãŸã‚¯ãƒ©ã‚¹ã«ã‚る既存ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã‚‹ãª
-ら,オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã«ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使
-ã„ã¾ã™ï¼Ž
-
- VALUE rb_call_super(int argc, const VALUE *argv)
+func¤Ï¥¯¥é¥¹¤ò°ú¿ô¤È¤·¤Æ¼õ¤±¼è¤Ã¤Æ¡¢¿·¤·¤¯³ä¤êÅö¤Æ¤é¤ì¤¿¥¤¥ó
+¥¹¥¿¥ó¥¹¤òÊÖ¤µ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢³°Éô¥ê
+¥½¡¼¥¹¤Ê¤É¤ò´Þ¤Þ¤Ê¤¤¡¢¤Ç¤­¤ë¤À¤±¡Ö¶õ¡×¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤¿¤Û¤¦
+¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£
-ç¾åœ¨ã®ã‚¹ã‚³ãƒ¼ãƒ—ã®ãƒ¬ã‚·ãƒ¼ãƒã¯(ä»–ã«æ–¹æ³•ãŒãªã‘れã°),以下ã®é–¢æ•°ã§
-å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼Ž
+2.1.3 Äê¿ôÄêµÁ
- VALUE rb_current_receiver(void)
-
-=== 定数定義
-
-拡張ライブラリãŒå¿…è¦ãªå®šæ•°ã¯ã‚らã‹ã˜ã‚定義ã—ã¦ãŠã„ãŸæ–¹ãŒè‰¯ã„
-ã§ã—ょã†ï¼Žå®šæ•°ã‚’定義ã™ã‚‹é–¢æ•°ã¯äºŒã¤ã‚りã¾ã™ï¼Ž
+³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤¬É¬ÍפÊÄê¿ô¤Ï¤¢¤é¤«¤¸¤áÄêµÁ¤·¤Æ¤ª¤¤¤¿Êý¤¬Îɤ¤
+¤Ç¤·¤ç¤¦¡¥Äê¿ô¤òÄêµÁ¤¹¤ë´Ø¿ô¤ÏÆó¤Ä¤¢¤ê¤Þ¤¹¡¥
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)
-
-ã“ã®é–¢æ•°ã¯ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã¨nilã‚’è¿”ã—ã¾ã™ï¼Žãã—ã¦ï¼ŒæˆåŠŸæ™‚ã«ã¯
-*stateã¯ã‚¼ãƒ­ã«ï¼Œã•ã‚‚ãªãã°éžã‚¼ãƒ­ã«ãªã‚Šã¾ã™ï¼Ž
+¤³¤Îɾ²Á¤Ï¸½ºß¤Î´Ä¶­¤Ç¹Ô¤ï¤ì¤Þ¤¹¡¥¤Ä¤Þ¤ê¡¤¸½ºß¤Î¥í¡¼¥«¥ëÊÑ¿ô
+¤Ê¤É¤ò¼õ¤±·Ñ¤®¤Þ¤¹¡¥
-=== IDã¾ãŸã¯ã‚·ãƒ³ãƒœãƒ«
+2.2.2 ID¤Þ¤¿¤Ï¥·¥ó¥Ü¥ë
-Cã‹ã‚‰æ–‡å­—列を経由ã›ãšã«Rubyã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã“ã¨ã‚‚ã§ãã¾
-ã™ï¼Žãã®å‰ã«ï¼ŒRubyインタプリタ内ã§ãƒ¡ã‚½ãƒƒãƒ‰ã‚„変数åを指定ã™ã‚‹
-時ã«ä½¿ã‚れã¦ã„ã‚‹IDã«ã¤ã„ã¦èª¬æ˜Žã—ã¦ãŠãã¾ã—ょã†ï¼Ž
+C¤«¤éʸ»úÎó¤ò·Ðͳ¤»¤º¤ËRuby¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ
+¤¹¡¥¤½¤ÎÁ°¤Ë¡¤Ruby¥¤¥ó¥¿¥×¥ê¥¿Æâ¤Ç¥á¥½¥Ã¥É¤äÊÑ¿ô̾¤ò»ØÄꤹ¤ë
+»þ¤Ë»È¤ï¤ì¤Æ¤¤¤ëID¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡¥
-IDã¨ã¯å¤‰æ•°å,メソッドåã‚’è¡¨ã™æ•´æ•°ã§ã™ï¼ŽRubyã®ä¸­ã§ã¯
+ID¤È¤ÏÊÑ¿ô̾¡¤¥á¥½¥Ã¥É̾¤òɽ¤¹À°¿ô¤Ç¤¹¡¥Ruby¤Ç¤ÏID¤ËÂбþ¤¹¤ë
+¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥·¥ó¥Ü¥ë(Symbol)¤¬¤¢¤ê¡¤
- :識別å­
+ :¼±ÊÌ»Ò
-ã¾ãŸã¯
-
- :"ä»»æ„ã®æ–‡å­—列"
-
-ã§ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ï¼ŽCã‹ã‚‰ã“ã®æ•´æ•°ã‚’å¾—ã‚‹ãŸã‚ã«ã¯é–¢æ•°
+¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡¥C¤«¤é¤³¤ÎÀ°¿ô¤òÆÀ¤ë¤¿¤á¤Ë¤Ï´Ø¿ô
rb_intern(const char *name)
- rb_intern_str(VALUE name)
-を使ã„ã¾ã™ï¼ŽRubyã‹ã‚‰å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«(ã¾ãŸã¯æ–‡å­—
-列)ã‚’IDã«å¤‰æ›ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+¤ò»È¤¤¤Þ¤¹¡¥Ruby¤«¤é°ú¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿¥·¥ó¥Ü¥ë(¤Þ¤¿¤Ïʸ»ú
+Îó)¤òID¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
rb_to_id(VALUE symbol)
- rb_check_id(volatile VALUE *name)
- rb_check_id_cstr(const char *name, long len, rb_encoding *enc)
-ã‚‚ã—引数ãŒã‚·ãƒ³ãƒœãƒ«ã§ã‚‚文字列ã§ã‚‚ãªã‘れã°ï¼Œto_strãƒ¡ã‚½ãƒƒãƒ‰ã§æ–‡
-字列ã«å¤‰æ›ã—よã†ã¨ã—ã¾ã™ï¼Žç¬¬äºŒã®é–¢æ•°ã¯ãã®å¤‰æ›çµæžœã‚’*nameã«ä¿
-å­˜ã—,ãã®åå‰ãŒæ—¢çŸ¥ã®ã‚·ãƒ³ãƒœãƒ«ã§ãªã„å ´åˆã¯0ã‚’è¿”ã—ã¾ã™ï¼Žã“ã®é–¢
-æ•°ãŒ0以外を返ã—ãŸå ´åˆã¯*nameã¯å¸¸ã«ã‚·ãƒ³ãƒœãƒ«ã‹æ–‡å­—列ã§ã‚り,0ã‚’
-è¿”ã—ãŸå ´åˆã¯å¸¸ã«æ–‡å­—列ã§ã™ï¼Žç¬¬ä¸‰ã®é–¢æ•°ã¯Rubyã®æ–‡å­—列ã§ã¯ãªã
-NUL終端ã•れãŸCã®æ–‡å­—列を使ã„ã¾ã™ï¼Ž
+ID¤«¤é¥·¥ó¥Ü¥ë¤òÆÀ¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-Rubyã‹ã‚‰å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«(ã¾ãŸã¯æ–‡å­—列)をシンボル
-ã«å¤‰æ›ã™ã‚‹ã«ã¯ä»¥ä¸‹ã®é–¢æ•°ã‚’使ã„ã¾ã™ï¼Ž
+ VALUE ID2SYM(ID id)
- rb_to_symbol(VALUE name)
- rb_check_symbol(volatile VALUE *namep)
- rb_check_symbol_cstr(const char *ptr, long len, rb_encoding *enc)
+¥·¥ó¥Ü¥ë¤«¤éID¤òÆÀ¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-ã“れらã®é–¢æ•°ã¯ï¼ŒIDã®ä»£ã‚りã«ã‚·ãƒ³ãƒœãƒ«ã‚’è¿”ã™ã“ã¨ã‚’除ã‘ã°ä¸Šè¨˜ã®
-関数ã¨åŒã˜ã§ã™ï¼Ž
+ 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ã®ä»•æ§˜ã¯æ¬¡ã®é€šã‚Šã§ã™ï¼Ž
+¤³¤Î´Ø¿ô¤ÏC¤Î´Ø¿ô¤Ë¤è¤Ã¤Æhook¤Î¤Ä¤±¤é¤ì¤¿Âç°èÊÑ¿ô¤òÄêµÁ¤·¤Þ
+¤¹¡¥ÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿»þ¤Ë¤Ï´Ø¿ôgetter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì
+¤¿»þ¤Ë¤Ï´Ø¿ôsetter¤¬¸Æ¤Ð¤ì¤ë¡¥hook¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ïgetter¤ä
+setter¤Ë0¤ò»ØÄꤷ¤Þ¤¹¡¥
- VALUE (*getter)(ID id, VALUE *var);
- void (*setter)(VALUE val, ID id, VALUE *var);
+# 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ãŒå‘¼ã°ã‚Œã¾ã™ï¼Ž
-
-getterã¨setterã®ä»•様ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼Ž
+¤³¤Î´Ø¿ô¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤¿Ruby¤ÎÂç°èÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿»þ¤Ë¤Ï
+getter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ïsetter¤¬¸Æ¤Ð¤ì¤Þ¤¹¡¥
- (*getter)(ID id);
- (*setter)(VALUE val, ID id);
+getter¤Èsetter¤Î»ÅÍͤϰʲ¼¤ÎÄ̤ê¤Ç¤¹¡¥
-== Cã®ãƒ‡ãƒ¼ã‚¿ã‚’Rubyオブジェクトã«ã™ã‚‹
+ (*getter)(ID id, void *data, struct global_entry* entry);
+ (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);
-Cã®ä¸–界ã§å®šç¾©ã•れãŸãƒ‡ãƒ¼ã‚¿(構造体)ã‚’Rubyã®ã‚ªãƒ–ジェクトã¨ã—ã¦
-å–り扱ã„ãŸã„å ´åˆãŒã‚りãˆã¾ã™ï¼Žã“ã®ã‚ˆã†ãªå ´åˆã«ã¯ï¼ŒDataã¨ã„ã†
-Rubyオブジェクトã«Cã®æ§‹é€ ä½“(ã¸ã®ãƒã‚¤ãƒ³ã‚¿)ã‚’ãã‚‹ã‚€ã“ã¨ã§Ruby
-オブジェクトã¨ã—ã¦å–り扱ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ï¼Ž
+3.3 C¤Î¥Ç¡¼¥¿¤òRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ë
-Dataオブジェクトを生æˆã—ã¦æ§‹é€ ä½“ã‚’Rubyオブジェクトã«ã‚«ãƒ—セル
-化ã™ã‚‹ãŸã‚ã«ã¯ï¼Œä»¥ä¸‹ã®ãƒžã‚¯ãƒ­ã‚’使ã„ã¾ã™ï¼Ž
+C¤ÎÀ¤³¦¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¡¼¥¿(¹½Â¤ÂÎ)¤òRuby¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ
+¼è¤ê°·¤¤¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤¨¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤Data¤È¤¤¤¦
+Ruby¥ª¥Ö¥¸¥§¥¯¥È¤ËC¤Î¹½Â¤ÂÎ(¤Ø¤Î¥Ý¥¤¥ó¥¿)¤ò¤¯¤ë¤à¤³¤È¤ÇRuby
+¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¼è¤ê°·¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
- Data_Wrap_Struct(klass, mark, free, sval)
+Data¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¹½Â¤ÂΤòRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥«¥×¥»¥ë
+²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¤°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-ã“ã®ãƒžã‚¯ãƒ­ã®æˆ»ã‚Šå€¤ã¯ç”Ÿæˆã•れãŸDataオブジェクトã§ã™ï¼Ž
+ Data_Wrap_Struct(klass, mark, free, ptr)
-klassã¯ã“ã®Dataオブジェクトã®ã‚¯ãƒ©ã‚¹ã§ã™ï¼Žmarkã¯ã“ã®æ§‹é€ ä½“ãŒ
-Rubyã®ã‚ªãƒ–ジェクトã¸ã®å‚ç…§ãŒã‚る時ã«ä½¿ã†é–¢æ•°ã§ã™ï¼Žãã®ã‚ˆã†ãª
-å‚ç…§ã‚’å«ã¾ãªã„時ã«ã¯0を指定ã—ã¾ã™ï¼Ž
+¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃͤÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥
-# ãã®ã‚ˆã†ãªå‚ç…§ã¯å‹§ã‚られã¾ã›ã‚“.
+klass¤Ï¤³¤ÎData¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤Ç¤¹¡¥ptr¤Ï¥«¥×¥»¥ë²½¤¹¤ë
+C¤Î¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¹¡¥mark¤Ï¤³¤Î¹½Â¤ÂΤ¬Ruby¤Î¥ª¥Ö¥¸¥§
+¥¯¥È¤Ø¤Î»²¾È¤¬¤¢¤ë»þ¤Ë»È¤¦´Ø¿ô¤Ç¤¹¡¥¤½¤Î¤è¤¦¤Ê»²¾È¤ò´Þ¤Þ¤Ê¤¤
+»þ¤Ë¤Ï0¤ò»ØÄꤷ¤Þ¤¹¡¥
-freeã¯ã“ã®æ§‹é€ ä½“ãŒã‚‚ã†ä¸è¦ã«ãªã£ãŸæ™‚ã«å‘¼ã°ã‚Œã‚‹é–¢æ•°ã§ã™ï¼Žã“ã®
-関数ãŒã‚¬ãƒ¼ãƒ™ãƒ¼ã‚¸ã‚³ãƒ¬ã‚¯ã‚¿ã‹ã‚‰å‘¼ã°ã‚Œã¾ã™ï¼Žã“れãŒ-1ã®å ´åˆã¯ï¼Œå˜
-ç´”ã«é–‹æ”¾ã•れã¾ã™ï¼Ž
+# ¤½¤Î¤è¤¦¤Ê»²¾È¤Ï´«¤á¤é¤ì¤Þ¤»¤ó¡¥
-markãŠã‚ˆã³free関数ã¯GC実行中ã«å‘¼ã³å‡ºã•れã¾ã™.
-ãªãŠ, GC実行中ã¯Rubyオブジェクトã®ã‚¢ãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ç¦æ­¢ã•れã¾
-ã™. よã£ã¦, markãŠã‚ˆã³free関数ã§Rubyオブジェクトã®ã‚¢ãƒ­ã‚±ãƒ¼ã‚·
-ョンã¯è¡Œã‚ãªã„ã§ãã ã•ã„.
+free¤Ï¤³¤Î¹½Â¤ÂΤ¬¤â¤¦ÉÔÍפˤʤä¿»þ¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô¤Ç¤¹¡¥¤³¤Î
+´Ø¿ô¤¬¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤«¤é¸Æ¤Ð¤ì¤Þ¤¹¡¥¤³¤ì¤¬-1¤Î¾ì¹ç¤Ï¡¤Ã±
+½ã¤Ë³«Êü¤µ¤ì¤Þ¤¹¡¥
-Cã®æ§‹é€ ä½“ã®å‰²å½“ã¨Dataオブジェクトã®ç”Ÿæˆã‚’åŒæ™‚ã«è¡Œã†ãƒžã‚¯ãƒ­ã¨
-ã—ã¦ä»¥ä¸‹ã®ã‚‚ã®ãŒæä¾›ã•れã¦ã„ã¾ã™ï¼Ž
+C¤Î¹½Â¤ÂΤγäÅö¤ÈData¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®¤òƱ»þ¤Ë¹Ô¤¦¥Þ¥¯¥í¤È
+¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
Data_Make_Struct(klass, type, mark, free, sval)
-ã“ã®ãƒžã‚¯ãƒ­ã®æˆ»ã‚Šå€¤ã¯ç”Ÿæˆã•れãŸDataオブジェクトã§ã™ï¼Žã“ã®ãƒžã‚¯
-ロã¯ä»¥ä¸‹ã®å¼ã®ã‚ˆã†ã«åƒãã¾ã™:
+¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃͤÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥
- (sval = ALLOC(type), Data_Wrap_Struct(klass, mark, free, sval))
+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クラスを定義ã™ã‚‹ */
- VALUE 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) do {\
- Data_Get_Struct(obj, struct dbmdata, dbmp);\
- if (dbmp->di_dbm == 0) closed_dbm();\
- } while (0)
-
-ã¡ã‚‡ã£ã¨è¤‡é›‘ãªãƒžã‚¯ãƒ­ã§ã™ãŒï¼Œè¦ã™ã‚‹ã«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ã™ã‚‹
+¤È¤·¤Æ¤¯¤À¤µ¤¤¡¥
-動的リンクライブラリを生æˆã™ã‚‹å ´åˆã«ã¯ãã®å ´ã§makeã—ã¦ãã ã•
-ã„.必è¦ã§ã‚れ㰠make install ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã™ï¼Ž
+¥Ç¥£¥ì¥¯¥È¥ê¤òext°Ê²¼¤ËÍѰդ·¤¿¾ì¹ç¤Ë¤ÏRubyÁ´ÂΤÎmake¤Î»þ¤Ë
+¼«Æ°Åª¤ËMakefile¤¬À¸À®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¤¤³¤Î¥¹¥Æ¥Ã¥×¤ÏÉÔÍפǤ¹¡¥
-ext以下ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—ãŸå ´åˆã¯ï¼ŒRubyã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§
-makeを実行ã™ã‚‹ã¨Makefileを生æˆã‹ã‚‰make,必è¦ã«ã‚ˆã£ã¦ã¯ãã®ãƒ¢
-ジュールã®Rubyã¸ã®ãƒªãƒ³ã‚¯ã¾ã§è‡ªå‹•çš„ã«å®Ÿè¡Œã—ã¦ãれã¾ã™ï¼Ž
-extconf.rbã‚’æ›¸ãæ›ãˆã‚‹ãªã©ã—ã¦Makefileã®å†ç”ŸæˆãŒå¿…è¦ãªæ™‚ã¯ã¾
-ãŸRubyディレクトリã§makeã—ã¦ãã ã•ã„.
+(7) make¤¹¤ë
-拡張ライブラリã¯make installã§Rubyライブラリã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®
-下ã«ã‚³ãƒ”ーã•れã¾ã™ï¼Žã‚‚ã—æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã¨å”調ã—ã¦ä½¿ã†Rubyã§è¨˜
-è¿°ã•れãŸãƒ—ログラムãŒã‚り,Rubyライブラリã«ç½®ããŸã„å ´åˆã«ã¯ï¼Œ
-拡張ライブラリ用ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä¸‹ã« lib ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª
-を作り,ãã“ã« æ‹¡å¼µå­ .rb ã®ãƒ•ァイルを置ã„ã¦ãŠã‘ã°åŒæ™‚ã«ã‚¤ãƒ³
-ストールã•れã¾ã™ï¼Ž
+ưŪ¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Ï¤½¤Î¾ì¤Çmake¤·¤Æ¤¯¤À¤µ
+¤¤¡¥É¬ÍפǤ¢¤ì¤Ð make install ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡¥
-== デãƒãƒƒã‚°
+ext°Ê²¼¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÍѰդ·¤¿¾ì¹ç¤Ï¡¤Ruby¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç
+make¤ò¼Â¹Ô¤¹¤ë¤ÈMakefile¤òÀ¸À®¤«¤émake¡¤É¬Íפˤè¤Ã¤Æ¤Ï¤½¤Î¥â
+¥¸¥å¡¼¥ë¤ÎRuby¤Ø¤Î¥ê¥ó¥¯¤Þ¤Ç¼«Æ°Åª¤Ë¼Â¹Ô¤·¤Æ¤¯¤ì¤Þ¤¹¡¥
+extconf.rb¤ò½ñ¤­´¹¤¨¤ë¤Ê¤É¤·¤ÆMakefile¤ÎºÆÀ¸À®¤¬É¬Íפʻþ¤Ï¤Þ
+¤¿Ruby¥Ç¥£¥ì¥¯¥È¥ê¤Çmake¤·¤Æ¤¯¤À¤µ¤¤¡¥
-ã¾ã‚,デãƒãƒƒã‚°ã—ãªã„ã¨å‹•ã‹ãªã„ã§ã—ょã†ã­ï¼Žext/Setupã«ãƒ‡ã‚£ãƒ¬
-クトリåを書ãã¨é™çš„ã«ãƒªãƒ³ã‚¯ã™ã‚‹ã®ã§ãƒ‡ãƒãƒƒã‚¬ãŒä½¿ãˆã‚‹ã‚ˆã†ã«ãª
-りã¾ã™ï¼Žãã®åˆ†ã‚³ãƒ³ãƒ‘イルãŒé…ããªã‚Šã¾ã™ã‘ã©ï¼Ž
+³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ïmake install¤ÇRuby¥é¥¤¥Ö¥é¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î
+²¼¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥¤â¤·³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤È¶¨Ä´¤·¤Æ»È¤¦Ruby¤Çµ­
+½Ò¤µ¤ì¤¿¥×¥í¥°¥é¥à¤¬¤¢¤ê¡¤Ruby¥é¥¤¥Ö¥é¥ê¤ËÃÖ¤­¤¿¤¤¾ì¹ç¤Ë¤Ï¡¤
+³ÈÄ¥¥é¥¤¥Ö¥é¥êÍѤΥǥ£¥ì¥¯¥È¥ê¤Î²¼¤Ë lib ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê
+¤òºî¤ê¡¤¤½¤³¤Ë ³ÈÄ¥»Ò .rb ¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤Æ¤ª¤±¤ÐƱ»þ¤Ë¥¤¥ó
+¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡¥
-== ã§ãã‚ãŒã‚Š
+(8) ¥Ç¥Ð¥Ã¥°
-後ã¯ã“ã£ãり使ã†ãªã‚Šï¼Œåºƒã公開ã™ã‚‹ãªã‚Šï¼Œå£²ã‚‹ãªã‚Šï¼Œã”自由ã«ãŠ
-使ã„ãã ã•ã„.Rubyã®ä½œè€…ã¯æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã«é–¢ã—ã¦ä¸€åˆ‡ã®æ¨©åˆ©ã‚’
-主張ã—ã¾ã›ã‚“.
+¤Þ¤¢¡¤¥Ç¥Ð¥Ã¥°¤·¤Ê¤¤¤Èư¤«¤Ê¤¤¤Ç¤·¤ç¤¦¤Í¡¥ext/Setup¤Ë¥Ç¥£¥ì
+¥¯¥È¥ê̾¤ò½ñ¤¯¤ÈÀÅŪ¤Ë¥ê¥ó¥¯¤¹¤ë¤Î¤Ç¥Ç¥Ð¥Ã¥¬¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê
+¤ê¤Þ¤¹¡¥¤½¤Îʬ¥³¥ó¥Ñ¥¤¥ë¤¬ÃÙ¤¯¤Ê¤ê¤Þ¤¹¤±¤É¡¥
-= Appendix A. Rubyã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®åˆ†é¡ž
+(9) ¤Ç¤­¤¢¤¬¤ê
-Rubyã®ã‚½ãƒ¼ã‚¹ã¯ã„ãã¤ã‹ã«åˆ†é¡žã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ï¼Žã“ã®ã†ã¡ã‚¯ãƒ©
-スライブラリã®éƒ¨åˆ†ã¯åŸºæœ¬çš„ã«æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã¨åŒã˜ä½œã‚Šæ–¹ã«ãªã£
-ã¦ã„ã¾ã™ï¼Žã“れらã®ã‚½ãƒ¼ã‚¹ã¯ä»Šã¾ã§ã®èª¬æ˜Žã§ã»ã¨ã‚“ã©ç†è§£ã§ãã‚‹ã¨
-æ€ã„ã¾ã™ï¼Ž
+¸å¤Ï¤³¤Ã¤½¤ê»È¤¦¤Ê¤ê¡¤¹­¤¯¸ø³«¤¹¤ë¤Ê¤ê¡¤Çä¤ë¤Ê¤ê¡¤¤´¼«Í³¤Ë¤ª
+»È¤¤¤¯¤À¤µ¤¤¡¥Ruby¤Îºî¼Ô¤Ï³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ë´Ø¤·¤Æ°ìÀڤθ¢Íø¤ò
+¼çÄ¥¤·¤Þ¤»¤ó¡¥
-== Ruby言語ã®ã‚³ã‚¢
+Appendix A. Ruby¤Î¥½¡¼¥¹¥³¡¼¥É¤ÎʬÎà
-class.c :: クラスã¨ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
-error.c :: 例外クラスã¨ä¾‹å¤–機構
-gc.c :: 記憶領域管ç†
-load.c :: ライブラリã®ãƒ­ãƒ¼ãƒ‰
-object.c :: オブジェクト
-variable.c :: 変数ã¨å®šæ•°
+Ruby¤Î¥½¡¼¥¹¤Ï¤¤¤¯¤Ä¤«¤ËʬÎह¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥¤³¤Î¤¦¤Á¥¯¥é
+¥¹¥é¥¤¥Ö¥é¥ê¤ÎÉôʬ¤Ï´ðËÜŪ¤Ë³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤ÈƱ¤¸ºî¤êÊý¤Ë¤Ê¤Ã
+¤Æ¤¤¤Þ¤¹¡¥¤³¤ì¤é¤Î¥½¡¼¥¹¤Ïº£¤Þ¤Ç¤ÎÀâÌÀ¤Ç¤Û¤È¤ó¤ÉÍý²ò¤Ç¤­¤ë¤È
+»×¤¤¤Þ¤¹¡¥
-== 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
-== 多言語化
+Appendix B. ³ÈÄ¥ÍÑ´Ø¿ô¥ê¥Õ¥¡¥ì¥ó¥¹
-encoding.c :: Encoding
-transcode.c :: Encoding::Converter
-enc/*.c :: エンコーディングクラス群
-enc/trans/* :: コードãƒã‚¤ãƒ³ãƒˆå¯¾å¿œè¡¨
+C¸À¸ì¤«¤éRuby¤Îµ¡Ç½¤òÍøÍѤ¹¤ëAPI¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
-== gorubyコマンドã®å®Ÿè£…
+** ·¿
- goruby.c
- golf_prelude.rb : goruby固有ã®ãƒ©ã‚¤ãƒ–ラリ
- -> golf_prelude.c : 自動生æˆ
+VALUE
-= Appendix B. 拡張用関数リファレンス
+ Ruby¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ë·¿¡¥É¬Íפ˱þ¤¸¤Æ¥­¥ã¥¹¥È¤·¤ÆÍѤ¤¤ë¡¥
+ ÁȤ߹þ¤ß·¿¤òɽ¸½¤¹¤ëC¤Î·¿¤Ïruby.h¤Ëµ­½Ò¤·¤Æ¤¢¤ëR¤Ç»Ï¤Þ¤ë¹½Â¤
+ ÂΤǤ¢¤ë¡¥VALUE·¿¤ò¤³¤ì¤é¤Ë¥­¥ã¥¹¥È¤¹¤ë¤¿¤á¤ËR¤Ç»Ï¤Þ¤ë¹½Â¤ÂÎ
+ ̾¤òÁ´¤ÆÂçʸ»ú¤Ë¤·¤¿Ì¾Á°¤Î¥Þ¥¯¥í¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡¥
-C言語ã‹ã‚‰Rubyã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹APIã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る.
+** ÊÑ¿ô¡¦Äê¿ô
-== åž‹
+Qnil
-VALUE ::
+ Äê¿ô: nil¥ª¥Ö¥¸¥§¥¯¥È
- Rubyオブジェクトを表ç¾ã™ã‚‹åž‹ï¼Žå¿…è¦ã«å¿œã˜ã¦ã‚­ãƒ£ã‚¹ãƒˆã—ã¦ç”¨ã„る.
- 組ã¿è¾¼ã¿åž‹ã‚’表ç¾ã™ã‚‹Cã®åž‹ã¯ruby.hã«è¨˜è¿°ã—ã¦ã‚ã‚‹Rã§å§‹ã¾ã‚‹æ§‹é€ 
- 体ã§ã‚る.VALUE型をã“れらã«ã‚­ãƒ£ã‚¹ãƒˆã™ã‚‹ãŸã‚ã«Rã§å§‹ã¾ã‚‹æ§‹é€ ä½“
- åã‚’å…¨ã¦å¤§æ–‡å­—ã«ã—ãŸåå‰ã®ãƒžã‚¯ãƒ­ãŒç”¨æ„ã•れã¦ã„る.
+Qtrue
-== 変数・定数
+ Äê¿ô: true¥ª¥Ö¥¸¥§¥¯¥È(¿¿¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ)
-Qnil ::
+Qfalse
- 定数: nilオブジェクト
+ Äê¿ô: false¥ª¥Ö¥¸¥§¥¯¥È
-Qtrue ::
+** C¥Ç¡¼¥¿¤Î¥«¥×¥»¥ë²½
- 定数: trueオブジェクト(真ã®ãƒ‡ãƒ•ォルト値)
+Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)
-Qfalse ::
+ C¤ÎǤ°Õ¤Î¥Ý¥¤¥ó¥¿¤ò¥«¥×¥»¥ë²½¤·¤¿Ruby¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥¤³
+ ¤Î¥Ý¥¤¥ó¥¿¤¬Ruby¤«¤é¥¢¥¯¥»¥¹¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿»þ¡¤free¤Ç»ØÄꤷ¤¿
+ ´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë¡¥¤Þ¤¿¡¤¤³¤Î¥Ý¥¤¥ó¥¿¤Î»Ø¤¹¥Ç¡¼¥¿¤¬Â¾¤ÎRuby¥ª¥Ö
+ ¥¸¥§¥¯¥È¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç¡¤mark¤Ë»ØÄꤹ¤ë´Ø¿ô¤Ç¥Þ¡¼¥¯¤¹¤ëɬÍ×
+ ¤¬¤¢¤ë¡¥
- 定数: falseオブジェクト
+Data_Make_Struct(klass, type, mark, free, sval)
-== Cデータã®ã‚«ãƒ—セル化
+ type·¿¤Î¥á¥â¥ê¤òmalloc¤·¡¤ÊÑ¿ôsval¤ËÂåÆþ¤·¤¿¸å¡¤¤½¤ì¤ò¥«¥×¥»
+ ¥ë²½¤·¤¿¥Ç¡¼¥¿¤òÊÖ¤¹¥Þ¥¯¥í¡¥
-Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval) ::
+Data_Get_Struct(data, type, sval)
- Cã®ä»»æ„ã®ãƒã‚¤ãƒ³ã‚¿ã‚’カプセル化ã—ãŸRubyオブジェクトを返ã™ï¼Žã“
- ã®ãƒã‚¤ãƒ³ã‚¿ãŒRubyã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã•れãªããªã£ãŸæ™‚,freeã§æŒ‡å®šã—ãŸ
- 関数ãŒå‘¼ã°ã‚Œã‚‹ï¼Žã¾ãŸï¼Œã“ã®ãƒã‚¤ãƒ³ã‚¿ã®æŒ‡ã™ãƒ‡ãƒ¼ã‚¿ãŒä»–ã®Rubyオブ
- ジェクトを指ã—ã¦ã„ã‚‹å ´åˆï¼Œmarkã«æŒ‡å®šã™ã‚‹é–¢æ•°ã§ãƒžãƒ¼ã‚¯ã™ã‚‹å¿…è¦
- ãŒã‚る.
+ data¤«¤étype·¿¤Î¥Ý¥¤¥ó¥¿¤ò¼è¤ê½Ð¤·ÊÑ¿ôsval¤ËÂåÆþ¤¹¤ë¥Þ¥¯¥í¡¥
-Data_Make_Struct(klass, type, mark, free, sval) ::
+** ·¿¥Á¥§¥Ã¥¯
- typeåž‹ã®ãƒ¡ãƒ¢ãƒªã‚’mallocã—,変数svalã«ä»£å…¥ã—ãŸå¾Œï¼Œãれをカプセ
- ル化ã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’è¿”ã™ãƒžã‚¯ãƒ­ï¼Ž
-
-Data_Get_Struct(data, type, sval) ::
-
- dataã‹ã‚‰typeåž‹ã®ãƒã‚¤ãƒ³ã‚¿ã‚’å–り出ã—変数svalã«ä»£å…¥ã™ã‚‹ãƒžã‚¯ãƒ­ï¼Ž
-
-== åž‹ãƒã‚§ãƒƒã‚¯
-
- TYPE(value)
- FIXNUM_P(value)
- NIL_P(value)
- void Check_Type(VALUE value, int type)
- SafeStringValue(value)
+TYPE(value)
+FIXNUM_P(value)
+NIL_P(value)
+void Check_Type(VALUE value, int type)
+void Check_SafeStr(VALUE value)
-== 型変æ›
+** ·¿ÊÑ´¹
- 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)
- RSTRING_LEN(str)
- RSTRING_PTR(str)
- StringValue(value)
- StringValuePtr(value)
- StringValueCStr(value)
- rb_str_new2(s)
+FIX2INT(value)
+INT2FIX(i)
+NUM2INT(value)
+INT2NUM(i)
+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) ::
+VALUE rb_define_class(const char *name, VALUE super)
- superã®ã‚µãƒ–クラスã¨ã—ã¦æ–°ã—ã„Rubyクラスを定義ã™ã‚‹ï¼Ž
+ super¤Î¥µ¥Ö¥¯¥é¥¹¤È¤·¤Æ¿·¤·¤¤Ruby¥¯¥é¥¹¤òÄêµÁ¤¹¤ë¡¥
-VALUE rb_define_class_under(VALUE module, const char *name, VALUE super) ::
+VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)
- superã®ã‚µãƒ–クラスã¨ã—ã¦æ–°ã—ã„Rubyクラスを定義ã—,moduleã®
- 定数ã¨ã—ã¦å®šç¾©ã™ã‚‹ï¼Ž
+ super¤Î¥µ¥Ö¥¯¥é¥¹¤È¤·¤Æ¿·¤·¤¤Ruby¥¯¥é¥¹¤òÄêµÁ¤·¡¤module¤Î
+ Äê¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡¥
-VALUE rb_define_module(const char *name) ::
+VALUE rb_define_module(const char *name)
- æ–°ã—ã„Rubyモジュールを定義ã™ã‚‹ï¼Ž
+ ¿·¤·¤¤Ruby¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤¹¤ë¡¥
-VALUE rb_define_module_under(VALUE module, const char *name) ::
+VALUE rb_define_module_under(VALUE module, const char *name)
- æ–°ã—ã„Rubyモジュールを定義ã—,moduleã®å®šæ•°ã¨ã—ã¦å®šç¾©ã™ã‚‹ï¼Ž
+ ¿·¤·¤¤Ruby¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤·¡¤module¤ÎÄê¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡¥
-void rb_include_module(VALUE klass, VALUE module) ::
+void rb_include_module(VALUE klass, VALUE module)
- モジュールをインクルードã™ã‚‹ï¼ŽclassãŒã™ã§ã«moduleをインク
- ルードã—ã¦ã„る時ã«ã¯ä½•ã‚‚ã—ãªã„(多é‡ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã®ç¦æ­¢).
+ ¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¡¥class¤¬¤¹¤Ç¤Ëmodule¤ò¥¤¥ó¥¯
+ ¥ë¡¼¥É¤·¤Æ¤¤¤ë»þ¤Ë¤Ï²¿¤â¤·¤Ê¤¤(¿½Å¥¤¥ó¥¯¥ë¡¼¥É¤Î¶Ø»ß)¡¥
-void rb_extend_object(VALUE object, VALUE module) ::
+void rb_extend_object(VALUE object, VALUE module)
- オブジェクトをモジュール(ã§å®šç¾©ã•れã¦ã„るメソッド)ã§æ‹¡å¼µã™ã‚‹ï¼Ž
+ ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥â¥¸¥å¡¼¥ë(¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É)¤Ç³ÈÄ¥¤¹¤ë¡¥
-== 大域変数定義
+** Âç°èÊÑ¿ôÄêµÁ
-void rb_define_variable(const char *name, VALUE *var) ::
+void rb_define_variable(const char *name, VALUE *var)
- Rubyã¨Cã¨ã§å…±æœ‰ã™ã‚‹ã‚°ãƒ­ãƒ¼ãƒãƒ«å¤‰æ•°ã‚’定義ã™ã‚‹ï¼Žå¤‰æ•°åãŒ`$'ã§
- å§‹ã¾ã‚‰ãªã„時ã«ã¯è‡ªå‹•çš„ã«è¿½åŠ ã•れる.nameã¨ã—ã¦Rubyã®è­˜åˆ¥å­
- ã¨ã—ã¦è¨±ã•れãªã„文字(例ãˆã°` ')ã‚’å«ã‚€å ´åˆã«ã¯Rubyプログラ
- ムã‹ã‚‰ã¯è¦‹ãˆãªããªã‚‹ï¼Ž
+ Ruby¤ÈC¤È¤Ç¶¦Í­¤¹¤ë¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô̾¤¬`$'¤Ç
+ »Ï¤Þ¤é¤Ê¤¤»þ¤Ë¤Ï¼«Æ°Åª¤ËÄɲ䵤ì¤ë¡¥name¤È¤·¤ÆRuby¤Î¼±ÊÌ»Ò
+ ¤È¤·¤Æµö¤µ¤ì¤Ê¤¤Ê¸»ú(Î㤨¤Ð` ')¤ò´Þ¤à¾ì¹ç¤Ë¤ÏRuby¥×¥í¥°¥é
+ ¥à¤«¤é¤Ï¸«¤¨¤Ê¤¯¤Ê¤ë¡¥
-void rb_define_readonly_variable(const char *name, VALUE *var) ::
+void rb_define_readonly_variable(const char *name, VALUE *var)
- Rubyã¨Cã¨ã§å…±æœ‰ã™ã‚‹read onlyã®ã‚°ãƒ­ãƒ¼ãƒãƒ«å¤‰æ•°ã‚’定義ã™ã‚‹ï¼Ž
- read onlyã§ã‚ã‚‹ã“ã¨ä»¥å¤–ã¯rb_define_variable()ã¨åŒã˜ï¼Ž
+ Ruby¤ÈC¤È¤Ç¶¦Í­¤¹¤ëread only¤Î¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥
+ read only¤Ç¤¢¤ë¤³¤È°Ê³°¤Ïrb_define_variable()¤ÈƱ¤¸¡¥
-void rb_define_virtual_variable(const char *name, VALUE (*getter)(), void (*setter)()) ::
+void rb_define_virtual_variable(const char *name,
+ VALUE (*getter)(), void (*setter)())
- 関数ã«ã‚ˆã£ã¦å®Ÿç¾ã•れるRuby変数を定義ã™ã‚‹ï¼Žå¤‰æ•°ãŒå‚ç…§ã•れãŸ
- 時ã«ã¯getterãŒï¼Œå¤‰æ•°ã«å€¤ãŒã‚»ãƒƒãƒˆã•ã‚ŒãŸæ™‚ã«ã¯setterãŒå‘¼ã°ã‚Œ
- る.
+ ´Ø¿ô¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ëRubyÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿
+ »þ¤Ë¤Ïgetter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ïsetter¤¬¸Æ¤Ð¤ì
+ ¤ë¡¥
-void rb_define_hooked_variable(const char *name, VALUE *var, VALUE (*getter)(), void (*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オブ
- ジェクトをå«ã‚€å¤§åŸŸå¤‰æ•°ã‚’マークã™ã‚‹ï¼Ž
+ GC¤Î¤¿¤á¡¤Ruby¥×¥í¥°¥é¥à¤«¤é¤Ï¥¢¥¯¥»¥¹¤µ¤ì¤Ê¤¤¤¬, Ruby¥ª¥Ö
+ ¥¸¥§¥¯¥È¤ò´Þ¤àÂç°èÊÑ¿ô¤ò¥Þ¡¼¥¯¤¹¤ë¡¥
-== 定数
+** Äê¿ô
-void rb_define_const(VALUE klass, const char *name, VALUE val) ::
+void rb_define_const(VALUE klass, const char *name, VALUE val)
- 定数を定義ã™ã‚‹ï¼Ž
+ Äê¿ô¤òÄêµÁ¤¹¤ë¡¥
-void rb_define_global_const(const char *name, VALUE val) ::
+void rb_define_global_const(const char *name, VALUE val)
- 大域定数を定義ã™ã‚‹ï¼Ž
+ Âç°èÄê¿ô¤òÄêµÁ¤¹¤ë¡¥
- rb_define_const(rb_cObject, name, val)
+ rb_define_const(rb_cObject, name, val)
- ã¨åŒã˜æ„味.
+ ¤ÈƱ¤¸°ÕÌ£¡¥
-== メソッド定義
+** ¥á¥½¥Ã¥ÉÄêµÁ
-rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+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ã®é…列)ã¨
- ã„ã†å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž
+ ¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥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_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+ private¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¡¥
- privateメソッドを定義ã™ã‚‹ï¼Žå¼•æ•°ã¯rb_define_method()ã¨åŒã˜ï¼Ž
+rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc) ::
+ ÆÃ°Û¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¡¥
- 特異メソッドを定義ã™ã‚‹ï¼Žå¼•æ•°ã¯rb_define_method()ã¨åŒã˜ï¼Ž
+rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)
-rb_scan_args(int argc, VALUE *argv, const char *fmt, ...) ::
+ argc, argv·Á¼°¤ÇÍ¿¤¨¤é¤ì¤¿°ú¿ô¤òʬ²ò¤¹¤ë¡¥fmt¤Ïɬ¿Ü°ú¿ô¤Î¿ô,
+ Éղðú¿ô¤Î¿ô, »Ä¤ê¤Î°ú¿ô¤¬¤¢¤ë¤«¤ò»ØÄꤹ¤ëʸ»úÎó¤Ç, "¿ô»ú
+ ¿ô»ú*"¤È¤¤¤¦·Á¼°¤Ç¤¢¤ë¡¥ 2 ÈÖÌܤοô»ú¤È"*"¤Ï¤½¤ì¤¾¤ì¾Êά²Ä
+ ǽ¤Ç¤¢¤ë¡¥É¬¿Ü°ú¿ô¤¬°ì¤Ä¤â¤Ê¤¤¾ì¹ç¤Ï0¤ò»ØÄꤹ¤ë¡¥Âè3°ú¿ô°Ê
+ ¹ß¤ÏÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç, ³ºÅö¤¹¤ëÍ×ÁǤ¬¤½¤ÎÊÑ¿ô¤Ë³ÊǼ¤µ¤ì¤ë¡¥
+ Éղðú¿ô¤ËÂбþ¤¹¤ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ÏÊÑ¿ô¤ËQnil¤¬
+ ÂåÆþ¤µ¤ì¤ë¡¥
- argc, argvå½¢å¼ã§ä¸Žãˆã‚‰ã‚ŒãŸæŒ‡å®šã•れãŸãƒ•ォーマットã«å¾“ã£ã¦å¼•
- 数を分解ã—,続ãVALUEã¸ã®å‚ç…§ã«ã‚»ãƒƒãƒˆã—ã¾ã™ï¼Žã“ã®ãƒ•ォーマッ
- トã¯ï¼ŒABNFã§è¨˜è¿°ã™ã‚‹ã¨ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼Ž
+** Ruby¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·
- scan-arg-spec := param-arg-spec [option-hash-arg-spec] [block-arg-spec]
+VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)
- 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
+ ¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¡¥Ê¸»úÎ󤫤émid¤òÆÀ¤ë¤¿¤á¤Ë¤Ïrb_intern()¤ò
+ »È¤¦¡¥
- 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_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
- フォーマットãŒ"12"ã®å ´åˆï¼Œå¼•æ•°ã¯æœ€ä½Ž1ã¤ã§ï¼Œ3ã¤(1+2)ã¾ã§è¨±ã•
- れるã¨ã„ã†æ„味ã«ãªã‚Šã¾ã™ï¼Žå¾“ã£ã¦ï¼Œãƒ•ォーマット文字列ã«ç¶šã„
- ã¦3ã¤ã®VALUEã¸ã®å‚ç…§ã‚’ç½®ãå¿…è¦ãŒã‚りã¾ã™ï¼Žãれらã«ã¯å–å¾—ã—ãŸ
- 変数ãŒã‚»ãƒƒãƒˆã•れã¾ã™ï¼Žå¤‰æ•°ã¸ã®å‚ç…§ã®ä»£ã‚りã«NULLを指定ã™ã‚‹
- ã“ã¨ã‚‚ã§ã,ãã®å ´åˆã¯å–å¾—ã—ãŸå¼•æ•°ã®å€¤ã¯æ¨ã¦ã‚‰ã‚Œã¾ã™ï¼ŽãªãŠï¼Œ
- çœç•¥å¯èƒ½å¼•æ•°ãŒçœç•¥ã•ã‚ŒãŸæ™‚ã®å¤‰æ•°ã®å€¤ã¯nil(C言語ã®ãƒ¬ãƒ™ãƒ«ã§ã¯
- Qnil)ã«ãªã‚Šã¾ã™ï¼Ž
-
- 返り値ã¯ä¸Žãˆã‚‰ã‚ŒãŸå¼•æ•°ã®æ•°ã§ã™ï¼Žã‚ªãƒ—ションãƒãƒƒã‚·ãƒ¥ãŠã‚ˆã³ã‚¤
- ãƒ†ãƒ¬ãƒ¼ã‚¿ãƒ–ãƒ­ãƒƒã‚¯ã¯æ•°ãˆã¾ã›ã‚“.
-
-int rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optional, VALUE *values)
-
- ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã§æŒ‡å®šã•れãŸå€¤ã‚’tableã«ã—ãŸãŒã£ã¦å–り出ã—ã¾ã™ï¼Ž
- tableã®æœ€åˆã®required個ã®IDã¯å¿…須キーワードを表ã—,続ã
- optional (optionalãŒè² ã®å ´åˆã¯-optional-1) 個ã®IDã¯çœç•¥å¯èƒ½
- キーワードã§ã™ï¼Žå¿…須キーワードãŒkeyword_hash中ã«ãªã„å ´åˆï¼Œ
- "missing keyword"ArgumentErrorãŒç™ºç”Ÿã—ã¾ã™ï¼Žçœç•¥å¯èƒ½ã‚­ãƒ¼ãƒ¯ãƒ¼
- ドãŒãªã„å ´åˆã¯ï¼Œvalues中ã®å¯¾å¿œã™ã‚‹è¦ç´ ã¯å¤‰æ›´ã•れã¾ã›ã‚“.
- keyword_hashã«ä½¿ç”¨ã•れãªã„è¦ç´ ãŒã‚ã‚‹å ´åˆã¯ï¼ŒoptionalãŒè² ãªã‚‰
- æ–°ã—ã„Hashã¨ã—ã¦çœç•¥å¯èƒ½å¼•æ•°ã®æ¬¡ã«ä¿å­˜ã•れã¾ã™ãŒï¼Œãã†ã§ãªã‘
- れã°"unknown keyword"ArgumentErrorãŒç™ºç”Ÿã—ã¾ã™ï¼Ž
-
-VALUE rb_extract_keywords(VALUE *original_hash)
-
- original_hashã§å‚ç…§ã•れるHashオブジェクトã‹ã‚‰ï¼ŒSymbolã§ã‚ã‚‹
- キーã¨ãã®å€¤ã‚’æ–°ã—ã„Hashã«å–り出ã—ã¾ã™ï¼Žoriginal_hashã®æŒ‡ã™
- å…ˆã«ã¯ï¼Œå…ƒã®HashãŒSymbol以外ã®ã‚­ãƒ¼ã‚’å«ã‚“ã§ã„ãŸå ´åˆã¯ãれらãŒ
- コピーã•れãŸåˆ¥ã®æ–°ã—ã„Hash,ãã†ã§ãªã‘れã°0ãŒä¿å­˜ã•れã¾ã™ï¼Ž
-
-== 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) ::
+ ʸ»úÎó¤òRuby¥¹¥¯¥ê¥×¥È¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¡¦¼Â¹Ô¤¹¤ë¡¥
- objãŒidã§ç¤ºã•れるメソッドをæŒã¤ã‹ã©ã†ã‹ã‚’è¿”ã™ï¼Ž
+ID rb_intern(const char *name)
-== インスタンス変数
+ ʸ»úÎó¤ËÂбþ¤¹¤ëID¤òÊÖ¤¹¡¥
-VALUE rb_iv_get(VALUE obj, const char *name) ::
+char *rb_id2name(ID id)
- objã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã®å€¤ã‚’得る.`@'ã§å§‹ã¾ã‚‰ãªã„インスタン
- ス変数㯠Rubyプログラムã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„「隠れãŸã€ã‚¤ãƒ³
- スタンス変数ã«ãªã‚‹ï¼Žå®šæ•°ã¯å¤§æ–‡å­—ã®åå‰ã‚’æŒã¤ã‚¯ãƒ©ã‚¹(ã¾ãŸã¯
- モジュール)ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã¨ã—ã¦å®Ÿè£…ã•れã¦ã„る.
+ ID¤ËÂбþ¤¹¤ëʸ»úÎó¤òÊÖ¤¹(¥Ç¥Ð¥Ã¥°ÍÑ)¡¥
-VALUE rb_iv_set(VALUE obj, const char *name, VALUE val) ::
+char *rb_class2name(VALUE klass)
- objã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã‚’valã«ã‚»ãƒƒãƒˆã™ã‚‹ï¼Ž
+ ¥¯¥é¥¹¤Î̾Á°¤òÊÖ¤¹(¥Ç¥Ð¥Ã¥°ÍÑ)¡¥¥¯¥é¥¹¤¬Ì¾Á°¤ò»ý¤¿¤Ê¤¤»þ¤Ë¤Ï,
+ ÁÄÀè¤òÁ̤äÆÌ¾Á°¤ò»ý¤Ä¥¯¥é¥¹¤Î̾Á°¤òÊÖ¤¹¡¥
-== 制御構造
+int rb_respond_to(VALUE obj, ID id)
-VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv, VALUE (*func) (ANYARGS), VALUE data2) ::
+ obj¤¬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ã•れãŸå€¤ã‚’å–り出ã™ã“ã¨ãŒã§ãる.
+** ¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô
-[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
+VALUE rb_iv_get(VALUE obj, const char *name)
- func2をブロックã¨ã—ã¦è¨­å®šã—, func1をイテレータã¨ã—ã¦å‘¼ã¶ï¼Ž
- func1ã«ã¯ arg1ãŒå¼•æ•°ã¨ã—ã¦æ¸¡ã•れ, func2ã«ã¯ç¬¬1引数ã«ã‚¤ãƒ†ãƒ¬ãƒ¼
- ã‚¿ã‹ã‚‰ä¸Žãˆã‚‰ã‚ŒãŸå€¤, 第2引数ã«arg2ãŒæ¸¡ã•れる.
+ obj¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ÎÃͤòÆÀ¤ë¡¥`@'¤Ç»Ï¤Þ¤é¤Ê¤¤¥¤¥ó¥¹¥¿¥ó
+ ¥¹ÊÑ¿ô¤Ï Ruby¥×¥í¥°¥é¥à¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡Ö±£¤ì¤¿¡×¥¤¥ó
+ ¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ë¤Ê¤ë¡¥Äê¿ô¤ÏÂçʸ»ú¤Î̾Á°¤ò»ý¤Ä¥¯¥é¥¹(¤Þ¤¿¤Ï
+ ¥â¥¸¥å¡¼¥ë)¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡¥
- 1.9ã§rb_iterateを使ã†å ´åˆã¯, func1ã®ä¸­ã§Rubyレベルã®ãƒ¡ã‚½ãƒƒãƒ‰
- を呼ã³å‡ºã•ãªã‘れã°ãªã‚‰ãªã„.
- 1.9ã§obsoleteã¨ãªã£ãŸ. 代ã‚りã«rb_block_callãŒç”¨æ„ã•れãŸ.
+VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)
-VALUE rb_yield(VALUE val) ::
+ obj¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤òval¤Ë¥»¥Ã¥È¤¹¤ë¡¥
- valを値ã¨ã—ã¦ã‚¤ãƒ†ãƒ¬ãƒ¼ã‚¿ãƒ–ロックを呼ã³å‡ºã™ï¼Ž
+** À©¸æ¹½Â¤
-VALUE rb_rescue(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
+VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
- 関数func1ã‚’arg1を引数ã«å‘¼ã³å‡ºã™ï¼Žfunc1ã®å®Ÿè¡Œä¸­ã«ä¾‹å¤–ãŒç™ºç”Ÿ
- ã—ãŸæ™‚ã«ã¯ func2ã‚’arg2を引数ã¨ã—ã¦å‘¼ã¶ï¼Žæˆ»ã‚Šå€¤ã¯ä¾‹å¤–ãŒç™ºç”Ÿ
- ã—ãªã‹ã£ãŸæ™‚ã¯func1ã®æˆ»ã‚Šå€¤, 例外ãŒç™ºç”Ÿã—ãŸæ™‚ã«ã¯func2ã®æˆ»
- り値ã§ã‚る.
+ func2¤ò¥Ö¥í¥Ã¥¯¤È¤·¤ÆÀßÄꤷ, func1¤ò¥¤¥Æ¥ì¡¼¥¿¤È¤·¤Æ¸Æ¤Ö¡¥
+ func1¤Ë¤Ï arg1¤¬°ú¿ô¤È¤·¤ÆÅϤµ¤ì, func2¤Ë¤ÏÂè1°ú¿ô¤Ë¥¤¥Æ¥ì¡¼
+ ¥¿¤«¤éÍ¿¤¨¤é¤ì¤¿ÃÍ, Âè2°ú¿ô¤Ëarg2¤¬ÅϤµ¤ì¤ë¡¥
+
+VALUE rb_yield(VALUE val)
-VALUE rb_ensure(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2) ::
+ val¤òÃͤȤ·¤Æ¥¤¥Æ¥ì¡¼¥¿¥Ö¥í¥Ã¥¯¤ò¸Æ¤Ó½Ð¤¹¡¥
- 関数func1ã‚’arg1を引数ã¨ã—ã¦å®Ÿè¡Œã—, 実行終了後(ãŸã¨ãˆä¾‹å¤–ãŒ
- 発生ã—ã¦ã‚‚) func2ã‚’arg2を引数ã¨ã—ã¦å®Ÿè¡Œã™ã‚‹ï¼Žæˆ»ã‚Šå€¤ã¯func1
- ã®æˆ»ã‚Šå€¤ã§ã‚ã‚‹(例外ãŒç™ºç”Ÿã—ãŸæ™‚ã¯æˆ»ã‚‰ãªã„).
+VALUE rb_rescue(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
-VALUE rb_protect(VALUE (*func) (VALUE), VALUE arg, int *state) ::
+ ´Ø¿ôfunc1¤òarg1¤ò°ú¿ô¤Ë¸Æ¤Ó½Ð¤¹¡¥func1¤Î¼Â¹ÔÃæ¤ËÎã³°¤¬È¯À¸
+ ¤·¤¿»þ¤Ë¤Ï func2¤òarg2¤ò°ú¿ô¤È¤·¤Æ¸Æ¤Ö¡¥Ìá¤êÃͤÏÎã³°¤¬È¯À¸
+ ¤·¤Ê¤«¤Ã¤¿»þ¤Ïfunc1¤ÎÌá¤êÃÍ, Îã³°¤¬È¯À¸¤·¤¿»þ¤Ë¤Ïfunc2¤ÎÌá
+ ¤êÃͤǤ¢¤ë¡¥
- 関数funcã‚’argを引数ã¨ã—ã¦å®Ÿè¡Œã—, 例外ãŒç™ºç”Ÿã—ãªã‘れã°ãã®æˆ»
- り値を返ã™ï¼Žä¾‹å¤–ãŒç™ºç”Ÿã—ãŸå ´åˆã¯, *stateã«éž0をセットã—ã¦
- Qnilã‚’è¿”ã™ï¼Ž
- rb_jump_tag()を呼ã°ãšã«æ•æ‰ã—ãŸä¾‹å¤–を無視ã™ã‚‹å ´åˆã«ã¯ï¼Œ
- rb_set_errinfo(Qnil)ã§ã‚¨ãƒ©ãƒ¼æƒ…報をクリアã—ãªã‘れã°ãªã‚‰ãªã„.
+VALUE rb_ensure(VALUE (*func1)(), VALUE arg1, void (*func2)(), VALUE arg2)
-void rb_jump_tag(int state) ::
+ ´Ø¿ôfunc1¤òarg1¤ò°ú¿ô¤È¤·¤Æ¼Â¹Ô¤·, ¼Â¹Ô½ªÎ»¸å(¤¿¤È¤¨Îã³°¤¬
+ ȯÀ¸¤·¤Æ¤â) func2¤òarg2¤ò°ú¿ô¤È¤·¤Æ¼Â¹Ô¤¹¤ë¡¥Ìá¤êÃͤÏfunc1
+ ¤ÎÌá¤êÃͤǤ¢¤ë(Îã³°¤¬È¯À¸¤·¤¿»þ¤ÏÌá¤é¤Ê¤¤)¡¥
- rb_protect()ã‚„rb_eval_string_protect()ã§æ•æ‰ã•れãŸä¾‹å¤–ã‚’å†
- é€ã™ã‚‹ï¼Žstateã¯ãれらã®é–¢æ•°ã‹ã‚‰è¿”ã•れãŸå€¤ã§ãªã‘れã°ãªã‚‰ãªã„.
- ã“ã®é–¢æ•°ã¯ç›´æŽ¥ã®å‘¼ã³å‡ºã—å…ƒã«æˆ»ã‚‰ãªã„.
+** Îã³°¡¦¥¨¥é¡¼
-void rb_iter_break() ::
+void rb_warning(const char *fmt, ...)
- ç¾åœ¨ã®æœ€ã‚‚内å´ã®ãƒ–ロックを終了ã™ã‚‹ï¼Žã“ã®é–¢æ•°ã¯ç›´æŽ¥ã®å‘¼ã³å‡º
- ã—å…ƒã«æˆ»ã‚‰ãªã„.
+ rb_verbose»þ¤Ëɸ½à¥¨¥é¡¼½ÐÎϤ˷ٹð¾ðÊó¤òɽ¼¨¤¹¤ë¡¥°ú¿ô¤Ï
+ printf()¤ÈƱ¤¸¡¥
-void rb_iter_break_value(VALUE value) ::
+void rb_raise(rb_eRuntimeError, const char *fmt, ...)
- ç¾åœ¨ã®æœ€ã‚‚内å´ã®ãƒ–ロックをvalueã§çµ‚了ã™ã‚‹ï¼Žãƒ–ロックã¯å¼•æ•°ã§
- 与ãˆã‚‰ã‚ŒãŸvalueã‚’è¿”ã™ï¼Žã“ã®é–¢æ•°ã¯ç›´æŽ¥ã®å‘¼ã³å‡ºã—å…ƒã«æˆ»ã‚‰ãªã„.
+ RuntimeErrorÎã³°¤òȯÀ¸¤µ¤»¤ë¡¥°ú¿ô¤Ïprintf()¤ÈƱ¤¸¡¥
-== 例外・エラー
+void rb_raise(VALUE exception, const char *fmt, ...)
-void rb_warning(const char *fmt, ...) ::
+ exception¤Ç»ØÄꤷ¤¿Îã³°¤òȯÀ¸¤µ¤»¤ë¡¥fmt°Ê²¼¤Î°ú¿ô¤Ï
+ printf()¤ÈƱ¤¸¡¥
- rb_verboseæ™‚ã«æ¨™æº–エラー出力ã«è­¦å‘Šæƒ…報を表示ã™ã‚‹ï¼Žå¼•æ•°ã¯
- printf()ã¨åŒã˜ï¼Ž
+void rb_fatal(const char *fmt, ...)
-void rb_raise(rb_eRuntimeError, const char *fmt, ...) ::
+ Ã×̿ŪÎã³°¤òȯÀ¸¤µ¤»¤ë¡¥Ä̾ï¤ÎÎã³°½èÍý¤Ï¹Ô¤Ê¤ï¤ì¤º, ¥¤¥ó¥¿¡¼
+ ¥×¥ê¥¿¤¬½ªÎ»¤¹¤ë(¤¿¤À¤·ensure¤Ç»ØÄꤵ¤ì¤¿¥³¡¼¥É¤Ï½ªÎ»Á°¤Ë
+ ¼Â¹Ô¤µ¤ì¤ë)¡¥
- RuntimeError例外を発生ã•ã›ã‚‹ï¼Žå¼•æ•°ã¯printf()ã¨åŒã˜ï¼Ž
+void rb_bug(const char *fmt, ...)
-void rb_raise(VALUE exception, const char *fmt, ...) ::
+ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ê¤É¥×¥í¥°¥é¥à¤Î¥Ð¥°¤Ç¤·¤«È¯À¸¤¹¤ë¤Ï¤º¤Î¤Ê¤¤
+ ¾õ¶·¤Î»þ¸Æ¤Ö¡¥¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥³¥¢¥À¥ó¥×¤·Ä¾¤Á¤Ë½ªÎ»¤¹¤ë¡¥
+ Îã³°½èÍý¤Ï°ìÀڹԤʤï¤ì¤Ê¤¤¡¥
- exceptionã§æŒ‡å®šã—ãŸä¾‹å¤–を発生ã•ã›ã‚‹ï¼Žfmt以下ã®å¼•æ•°ã¯
- printf()ã¨åŒã˜ï¼Ž
+** Ruby¤Î½é´ü²½¡¦¼Â¹Ô
-void rb_fatal(const char *fmt, ...) ::
+Ruby¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËËä¤á¹þ¤à¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹
+¤ò»È¤¦¡¥Ä̾ï¤Î³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ë¤ÏɬÍפʤ¤¡¥
- 致命的例外を発生ã•ã›ã‚‹ï¼Žé€šå¸¸ã®ä¾‹å¤–処ç†ã¯è¡Œãªã‚れãš, インター
- プリタãŒçµ‚了ã™ã‚‹(ãŸã ã—ensureã§æŒ‡å®šã•れãŸã‚³ãƒ¼ãƒ‰ã¯çµ‚了å‰ã«
- 実行ã•れる).
+void ruby_init()
-void rb_bug(const char *fmt, ...) ::
+ Ruby¥¤¥ó¥¿¥×¥ê¥¿¤Î½é´ü²½¤ò¹Ô¤Ê¤¦¡¥
- インタープリタãªã©ãƒ—ログラムã®ãƒã‚°ã§ã—ã‹ç™ºç”Ÿã™ã‚‹ã¯ãšã®ãªã„
- 状æ³ã®æ™‚呼ã¶ï¼Žã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタã¯ã‚³ã‚¢ãƒ€ãƒ³ãƒ—ã—ç›´ã¡ã«çµ‚了ã™ã‚‹ï¼Ž
- 例外処ç†ã¯ä¸€åˆ‡è¡Œãªã‚れãªã„.
+void ruby_options(int argc, char **argv)
-注æ„: "%"PRIsVALUEãŒObject#to_s('+'ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹ã¨
-ãã¯Object#inspect)を使ã£ãŸVALUEã®å‡ºåŠ›ã«åˆ©ç”¨ã§ãる.ã“れã¯
-"%i"ã¨è¡çªã™ã‚‹ãŸã‚,整数ã«ã¯"%d"を使用ã™ã‚‹ã“ã¨ï¼Ž
+ Ruby¥¤¥ó¥¿¥×¥ê¥¿¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Î½èÍý¤ò¹Ô¤Ê¤¦¡¥
-== Rubyã®åˆæœŸåŒ–・実行
+void ruby_run()
-Rubyをアプリケーションã«åŸ‹ã‚込む場åˆã«ã¯ä»¥ä¸‹ã®ã‚¤ãƒ³ã‚¿ãƒ•ェース
-を使ã†ï¼Žé€šå¸¸ã®æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã«ã¯å¿…è¦ãªã„.
+ Ruby¥¤¥ó¥¿¥×¥ê¥¿¤ò¼Â¹Ô¤¹¤ë¡¥
-void ruby_init() ::
+void ruby_script(char *name)
- Rubyインタプリタã®åˆæœŸåŒ–を行ãªã†ï¼Ž
+ Ruby¤Î¥¹¥¯¥ê¥×¥È̾($0)¤òÀßÄꤹ¤ë¡¥
-void *ruby_options(int argc, char **argv) ::
- Rubyインタプリタã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®å‡¦ç†ã‚’行ãªã„,
- Rubyã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’コンパイルã™ã‚‹ï¼Ž
- コンパイルã•れãŸã‚½ãƒ¼ã‚¹ã¸ã®ãƒã‚¤ãƒ³ã‚¿ï¼Œã‚‚ã—ãã¯ç‰¹æ®Šå€¤ã‚’è¿”ã™.
+Appendix C. extconf.rb¤Ç»È¤¨¤ë´Ø¿ô¤¿¤Á
-int ruby_run_node(void *n) ::
+extconf.rb¤ÎÃæ¤Ç¤ÏÍøÍѲÄǽ¤Ê¥³¥ó¥Ñ¥¤¥ë¾ò·ï¥Á¥§¥Ã¥¯¤Î´Ø¿ô¤Ï°Ê
+²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
- コンパイルã•れãŸã‚³ãƒ¼ãƒ‰ã‚’実行ã™ã‚‹ï¼Ž
- å®Ÿè¡Œã«æˆåŠŸã—ãŸå ´åˆã¯EXIT_SUCCESSを,エラーãŒèµ·ã“ã£ãŸã¨ãã¯ãれ以外を返ã™ï¼Ž
+have_macro(macro, headers)
-void ruby_script(char *name) ::
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¥Þ¥¯¥ímacro¤¬ÄêµÁ¤µ
+ ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥Þ¥¯¥í¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þtrue
+ ¤òÊÖ¤¹¡¥
- Rubyã®ã‚¹ã‚¯ãƒªãƒ—トå($0)を設定ã™ã‚‹ï¼Ž
+have_library(lib, func)
-== インタプリタã®ã‚¤ãƒ™ãƒ³ãƒˆã®ãƒ•ック
+ ´Ø¿ôfunc¤òÄêµÁ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥êlib¤Î¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥
+ ¥é¥¤¥Ö¥é¥ê¤¬Â¸ºß¤¹¤ë»þ¡¤true¤òÊÖ¤¹¡¥
- void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events,
- VALUE data)
+find_library(lib, func, path...)
-指定ã•れãŸã‚¤ãƒ³ã‚¿ãƒ—リタã®ã‚¤ãƒ™ãƒ³ãƒˆã«å¯¾ã™ã‚‹ãƒ•ック関数を追加ã—ã¾ã™ï¼Ž
-eventsã¯ä»¥ä¸‹ã®å€¤ã®orã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“:
+ ´Ø¿ôfunc¤òÄêµÁ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥êlib¤Î¸ºß¤ò -Lpath ¤òÄɲÃ
+ ¤·¤Ê¤¬¤é¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥é¥¤¥Ö¥é¥ê¤¬¸«ÉÕ¤«¤Ã¤¿»þ¡¤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_func(func, header)
-rb_event_hook_func_tã®å®šç¾©ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™:
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ´Ø¿ôfunc¤Î¸ºß¤ò¥Á¥§¥Ã
+ ¥¯¤¹¤ë¡¥func¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Ê¤¤¥é¥¤¥Ö¥é¥êÆâ¤Î¤â¤Î¤Ç¤¢
+ ¤ë»þ¤Ë¤ÏÀè¤Ëhave_library¤Ç¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤ª¤¯
+ »ö¡¥´Ø¿ô¤¬Â¸ºß¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
- typedef void (*rb_event_hook_func_t)(rb_event_t event, VALUE data,
- VALUE self, ID id, VALUE klass)
+have_var(var, header)
-rb_add_event_hook() ã®ç¬¬3引数 data ã¯ï¼Œãƒ•ック関数ã®ç¬¬2引数ã¨
-ã—ã¦æ¸¡ã•れã¾ã™ï¼Žã“れã¯1.8ã§ã¯ç¾åœ¨ã®NODEã¸ã®ãƒã‚¤ãƒ³ã‚¿ã§ã—ãŸï¼Žä»¥
-下㮠RB_EVENT_HOOKS_HAVE_CALLBACK_DATA ã‚‚å‚ç…§ã—ã¦ãã ã•ã„.
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤ÆÊÑ¿ôvar¤Î¸ºß¤ò¥Á¥§¥Ã
+ ¥¯¤¹¤ë¡¥var¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Ê¤¤¥é¥¤¥Ö¥é¥êÆâ¤Î¤â¤Î¤Ç¤¢
+ ¤ë»þ¤Ë¤ÏÀè¤Ëhave_library¤Ç¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤ª¤¯
+ »ö¡¥ÊÑ¿ô¤¬Â¸ºß¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
- int rb_remove_event_hook(rb_event_hook_func_t func)
+have_header(header)
-指定ã•れãŸãƒ•ック関数を削除ã—ã¾ã™ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹
+ ¤ë»þtrue¤òÊÖ¤¹¡¥
-== äº’æ›æ€§ã®ãŸã‚ã®ãƒžã‚¯ãƒ­
+find_header(header, path...)
-APIã®äº’æ›æ€§ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ãŸã‚ã«ä»¥ä¸‹ã®ãƒžã‚¯ãƒ­ãŒãƒ‡ãƒ•ォルトã§å®šç¾©ã•れã¦ã„ã¾ã™ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤Î¸ºß¤ò -Ipath ¤òÄɲ䷤ʤ¬¤é¥Á¥§¥Ã¥¯
+ ¤¹¤ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬¸«ÉÕ¤«¤Ã¤¿»þ¡¤true¤òÊÖ¤¹¡¥
-NORETURN_STYLE_NEW ::
+have_struct_member(type, member, header)
- NORETURN マクロãŒé–¢æ•°åž‹ãƒžã‚¯ãƒ­ã¨ã—ã¦å®šç¾©ã•れã¦ã„ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤Ë¥á¥ó¥Ðmember
+ ¤¬Â¸ºß¤¹¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¤member¤ò
+ »ý¤Ä¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
-HAVE_RB_DEFINE_ALLOC_FUNC ::
+have_type(type, header, opt)
- rb_define_alloc_func() é–¢æ•°ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨ï¼Œã¤ã¾ã‚Š
- allocation framework ãŒä½¿ã‚れるã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
- have_func("rb_define_alloc_func", "ruby.h")
- ã®çµæžœã¨åŒã˜ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤¬Â¸ºß¤¹¤ë¤«¤ò
+ ¥Á¥§¥Ã¥¯¤¹¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þtrue¤òÊÖ¤¹¡¥
-HAVE_RB_REG_NEW_STR ::
+check_sizeof(type, header)
- Stringオブジェクトã‹ã‚‰Regexpオブジェクトを作る
- rb_reg_new_str() é–¢æ•°ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
- have_func("rb_reg_new_str", "ruby.h").
- ã®çµæžœã¨åŒã˜ï¼Ž
+ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤Îcharñ°Ì¥µ¥¤
+ ¥º¤òÄ´¤Ù¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þ¤½¤Î¥µ¥¤¥º¤òÊÖ¤¹¡¥ÄêµÁ¤µ
+ ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ïnil¤òÊÖ¤¹¡¥
-HAVE_RB_IO_T ::
+create_makefile(target)
- rb_io_t åž‹ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ³ÈÄ¥¥é¥¤¥Ö¥é¥êÍѤÎMakefile¤òÀ¸À®¤¹¤ë¡¥¤³¤Î´Ø¿ô¤ò¸Æ¤Ð¤Ê¤±¤ì
+ ¤Ð¤½¤Î¥é¥¤¥Ö¥é¥ê¤Ï¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Ê¤¤¡¥target¤Ï¥â¥¸¥å¡¼¥ë̾
+ ¤òɽ¤¹¡¥
-USE_SYMBOL_AS_METHOD_NAME ::
+find_executable(command, path)
- メソッドåã‚’è¿”ã™ãƒ¡ã‚½ãƒƒãƒ‰ï¼ŒModule#methods, #singleton_methods
- ãªã©ãŒSymbolã‚’è¿”ã™ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ¥³¥Þ¥ó¥Écommand¤òFile::PATH_SEPARATOR¤Ç¶èÀÚ¤é¤ì¤¿¥Ñ¥¹Ì¾¤Î
+ ¥ê¥¹¥Èpath¤«¤éõ¤¹¡¥path¤¬nil¤Þ¤¿¤Ï¾Êά¤µ¤ì¤¿¾ì¹ç¤Ï¡¤´Ä¶­
+ ÊÑ¿ôPATH¤ÎÃͤò»ÈÍѤ¹¤ë¡¥¼Â¹Ô²Äǽ¤Ê¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç
+ ¤Ï¥Ñ¥¹¤ò´Þ¤à¥Õ¥¡¥¤¥ë̾¡¤¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ïnil¤òÊÖ¤¹¡¥
-HAVE_RUBY_*_H ::
+with_config(withval[, default=nil])
- ruby.h ã§å®šç¾©ã•れã¦ã„る.対応ã™ã‚‹ãƒ˜ãƒƒãƒ€ãŒæä¾›ã•れã¦ã„ã‚‹ã“ã¨
- ã‚’æ„味ã™ã‚‹ï¼ŽãŸã¨ãˆã°ï¼ŒHAVE_RUBY_ST_H ãŒå®šç¾©ã•れã¦ã„ã‚‹å ´åˆã¯
- å˜ãªã‚‹ st.h ã§ã¯ãªã ruby/st.h を使用ã™ã‚‹ï¼Ž
+ ¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Î--with-<withval>¤Ç»ØÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥óÃͤòÆÀ¤ë¡¥
-RB_EVENT_HOOKS_HAVE_CALLBACK_DATA ::
+enable_config(config, *defaults)
+disable_config(config, *defaults)
- rb_add_event_hook() ãŒãƒ•ãƒƒã‚¯é–¢æ•°ã«æ¸¡ã™ data を第3引数ã¨ã—ã¦
- å—ã‘å–ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼Ž
+ ¥³¥Þ¥ó¥É¥é¥¤¥ó¾å¤Î--enable-<config>¤Þ¤¿¤Ï
+ --disable-<config>¤Ç»ØÄꤵ¤ì¤¿¿¿µ¶ÃͤòÆÀ¤ë¡¥
+ --enable-<config>¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ïtrue¡¤
+ --disable-<config>¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ïfalse¤òÊÖ¤¹¡¥
+ ¤É¤Á¤é¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¤¥Ö¥í¥Ã¥¯¤Ä¤­¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï
+ *defaults¤òyield¤·¤¿·ë²Ì¡¤¥Ö¥í¥Ã¥¯¤Ê¤·¤Ê¤é*defaults¤òÊÖ¤¹¡¥
-= Appendix C. extconf.rbã§ä½¿ãˆã‚‹é–¢æ•°ãŸã¡
+dir_config(target[, default_dir])
+dir_config(target[, default_include, default_lib])
-extconf.rbã®ä¸­ã§ã¯åˆ©ç”¨å¯èƒ½ãªã‚³ãƒ³ãƒ‘イルæ¡ä»¶ãƒã‚§ãƒƒã‚¯ã®é–¢æ•°ã¯ä»¥
-下ã®é€šã‚Šã§ã‚る.
-
-have_macro(macro, headers) ::
-
- ヘッダファイルheaderをインクルードã—ã¦ãƒžã‚¯ãƒ­macroãŒå®šç¾©ã•
- れã¦ã„ã‚‹ã‹ã©ã†ã‹ãƒã‚§ãƒƒã‚¯ã™ã‚‹ï¼Žãƒžã‚¯ãƒ­ãŒå®šç¾©ã•れã¦ã„る時true
- ã‚’è¿”ã™ï¼Ž
-
-have_library(lib, func) ::
-
- 関数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
new file mode 100644
index 0000000000..df8cfc03f4
--- /dev/null
+++ b/README.ja
@@ -0,0 +1,160 @@
+* Ruby¤È¤Ï
+
+Ruby¤Ï¥·¥ó¥×¥ë¤«¤Ä¶¯ÎϤʥª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥¹¥¯¥ê¥×¥È¸À¸ì¤Ç¤¹¡¥
+Ruby¤ÏºÇ½é¤«¤é½ã¿è¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¸À¸ì¤È¤·¤ÆÀ߷פµ¤ì¤Æ¤¤¤Þ
+¤¹¤«¤é¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤ò¼ê·Ú¤Ë¹Ô¤¦»ö¤¬½ÐÍè¤Þ
+¤¹¡¥¤â¤Á¤í¤óÄ̾ï¤Î¼ê³¤­·¿¤Î¥×¥í¥°¥é¥ß¥ó¥°¤â²Äǽ¤Ç¤¹¡¥
+
+Ruby¤Ï¥Æ¥­¥¹¥È½èÍý´Ø·¸¤ÎǽÎϤʤɤËÍ¥¤ì¡¤Perl¤ÈƱ¤¸¤¯¤é¤¤¶¯ÎÏ
+¤Ç¤¹¡¥¤µ¤é¤Ë¥·¥ó¥×¥ë¤Êʸˡ¤È¡¤Îã³°½èÍý¤ä¥¤¥Æ¥ì¡¼¥¿¤Ê¤É¤Îµ¡¹½
+¤Ë¤è¤Ã¤Æ¡¤¤è¤êʬ¤«¤ê¤ä¤¹¤¤¥×¥í¥°¥é¥ß¥ó¥°¤¬½ÐÍè¤Þ¤¹¡¥
+
+
+* Ruby¤ÎÆÃĹ
+
+ + ¥·¥ó¥×¥ë¤Êʸˡ
+ + ÉáÄ̤Υª¥Ö¥¸¥§¥¯¥È»Ø¸þµ¡Ç½(¥¯¥é¥¹¡¤¥á¥½¥Ã¥É¥³¡¼¥ë¤Ê¤É)
+ + ÆÃ¼ì¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þµ¡Ç½(Mixin, ÆÃ°Û¥á¥½¥Ã¥É¤Ê¤É)
+ + ±é»»»Ò¥ª¡¼¥Ð¡¼¥í¡¼¥É
+ + Îã³°½èÍýµ¡Ç½
+ + ¥¤¥Æ¥ì¡¼¥¿¤È¥¯¥í¡¼¥¸¥ã
+ + ¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥¿
+ + ¥À¥¤¥Ê¥ß¥Ã¥¯¥í¡¼¥Ç¥£¥ó¥° (¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤è¤ë)
+ + °Ü¿¢À­¤¬¹â¤¤¡¥Â¿¤¯¤ÎUNIX¾å¤Çư¤¯¤À¤±¤Ç¤Ê¤¯¡¤DOS¤äWindows¡¤
+ Mac¡¤BeOS¤Ê¤É¤Î¾å¤Ç¤âư¤¯
+
+
+* Æþ¼êË¡
+
+** FTP¤Ç
+
+°Ê²¼¤Î¾ì½ê¤Ë¤ª¤¤¤Æ¤¢¤ê¤Þ¤¹¡¥
+
+ ftp://ftp.ruby-lang.org/pub/ruby/
+
+** Subversion¤Ç
+
+ËÜ¥Ö¥é¥ó¥Á¤ÎRuby¤ÎºÇ¿·¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡¥
+
+ $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_6/
+
+³«È¯Àèü¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç¼èÆÀ¤Ç¤­¤Þ¤¹¡¥
+
+ $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
+
+¾¤Ë³«È¯Ãæ¤Î¥Ö¥é¥ó¥Á¤Î°ìÍ÷¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤Ç¸«¤é¤ì¤Þ¤¹¡¥
+
+ $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
+
+
+* ¥Û¡¼¥à¥Ú¡¼¥¸
+
+Ruby¤Î¥Û¡¼¥à¥Ú¡¼¥¸¤ÎURL¤Ï
+
+ http://www.ruby-lang.org/
+
+¤Ç¤¹¡¥
+
+
+* ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È
+
+Ruby¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£»²²Ã´õ˾¤ÎÊý¤Ï
+
+ ruby-list-ctl@ruby-lang.org
+
+¤Þ¤ÇËÜʸ¤Ë
+
+ subscribe YourFirstName YourFamilyName
+
+¤È½ñ¤¤¤ÆÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
+
+Ruby³«È¯¼Ô¸þ¤±¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£¤³¤Á¤é¤Ç¤Ïruby¤Î¥Ð
+¥°¡¢¾­Íè¤Î»ÅÍͳÈÄ¥¤Ê¤É¼ÂÁõ¾å¤ÎÌäÂê¤Ë¤Ä¤¤¤ÆµÄÏÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+»²²Ã´õ˾¤ÎÊý¤Ï
+
+ ruby-dev-ctl@ruby-lang.org
+
+¤Þ¤Çruby-list¤ÈƱÍͤÎÊýË¡¤Ç¥á¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+
+Ruby³ÈÄ¥¥â¥¸¥å¡¼¥ë¤Ë¤Ä¤¤¤ÆÏ䷹礦ruby-ext¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤È
+¿ô³Ø´Ø·¸¤ÎÏÃÂê¤Ë¤Ä¤¤¤ÆÏ䷹礦ruby-math¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤È
+±Ñ¸ì¤ÇÏ䷹礦ruby-talk¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤â¤¢¤ê¤Þ¤¹¡£»²²ÃÊýË¡
+¤Ï¤É¤ì¤âƱ¤¸¤Ç¤¹¡£
+
+
+* ¥³¥ó¥Ñ¥¤¥ë¡¦¥¤¥ó¥¹¥È¡¼¥ë
+
+°Ê²¼¤Î¼ê½ç¤Ç¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
+
+ 1. ¤â¤·configure¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤é¤Ê¤¤¡¢¤â¤·¤¯¤Ï
+ configure.in¤è¤ê¸Å¤¤¤è¤¦¤Ê¤é¡¢autoconf¤ò¼Â¹Ô¤·¤Æ
+ ¿·¤·¤¯configure¤òÀ¸À®¤¹¤ë
+
+ 2. configure¤ò¼Â¹Ô¤·¤ÆMakefile¤Ê¤É¤òÀ¸À®¤¹¤ë
+
+ 3. (ɬÍפʤé¤Ð)defines.h¤òÊÔ½¸¤¹¤ë
+
+ ¿ʬ¡¤É¬Í×̵¤¤¤È»×¤¤¤Þ¤¹¡¥
+
+ 4. (ɬÍפʤé¤Ð)ext/Setup¤ËÀÅŪ¤Ë¥ê¥ó¥¯¤¹¤ë³ÈÄ¥¥â¥¸¥å¡¼¥ë¤ò
+ »ØÄꤹ¤ë
+
+ ext/Setup¤Ëµ­½Ò¤·¤¿¥â¥¸¥å¡¼¥ë¤ÏÀÅŪ¤Ë¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡¥
+
+ ¥À¥¤¥Ê¥ß¥Ã¥¯¥í¡¼¥Ç¥£¥ó¥°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥¢¡¼¥­¥Æ¥¯
+ ¥Á¥ã¤Ç¤ÏSetup¤Î1¹ÔÌܤΡÖoption nodynamic¡×¤È¤¤¤¦¹Ô¤Î¥³
+ ¥á¥ó¥È¤ò³°¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥¤Þ¤¿¡¤¤³¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç
+ ³ÈÄ¥¥â¥¸¥å¡¼¥ë¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¤¤¢¤é¤«¤¸¤áÀÅŪ¤Ë¥ê¥ó
+ ¥¯¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥
+
+ 5. make¤ò¼Â¹Ô¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë
+
+ 6. make test¤Ç¥Æ¥¹¥È¤ò¹Ô¤¦¡¥
+
+ ¡Ötest succeeded¡×¤Èɽ¼¨¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡¥¤¿¤À¤·¥Æ¥¹¥È
+ ¤ËÀ®¸ù¤·¤Æ¤â´°àú¤À¤ÈÊݾڤµ¤ì¤Æ¤¤¤ëÌõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
+
+ 7. make install
+
+ root¤Çºî¶È¤¹¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡¥
+
+¤â¤·¡¤¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤Î¥í¥°¤È¥Þ
+¥·¥ó¡¤OS¤Î¼ïÎà¤ò´Þ¤à¤Ç¤­¤ë¤À¤±¾Ü¤·¤¤¥ì¥Ý¡¼¥È¤òºî¼Ô¤ËÁ÷¤Ã¤Æ¤¯
+¤À¤µ¤ë¤È¾¤ÎÊý¤Î¤¿¤á¤Ë¤â¤Ê¤ê¤Þ¤¹¡¥
+
+
+* °Ü¿¢
+
+UNIX¤Ç¤¢¤ì¤Ðconfigure¤¬¤Û¤È¤ó¤É¤Îº¹°Û¤òµÛ¼ý¤·¤Æ¤¯¤ì¤ë¤Ï¤º¤Ç
+¤¹¤¬¡¤»×¤ï¤Ì¸«Íî¤È¤·¤¬¤¢¤Ã¤¿¾ì¹ç(¤¢¤ë¤Ë°ã¤¤¤Ê¤¤)¡¤ºî¼Ô¤Ë¤½¤Î
+¤³¤È¤ò¥ì¥Ý¡¼¥È¤¹¤ì¤Ð¡¤²ò·è¤Ç¤­¤ë¤«¤âÃΤì¤Þ¤»¤ó¡¥
+
+¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤â¤Ã¤È¤â°Í¸¤¹¤ë¤Î¤ÏGCÉô¤Ç¤¹¡¥Ruby¤ÎGC¤ÏÂоÝ
+¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤¬setjmp()¤Ë¤è¤Ã¤ÆÁ´¤Æ¤Î¥ì¥¸¥¹¥¿¤ò jmp_buf¤Ë
+³ÊǼ¤¹¤ë¤³¤È¤È¡¤jmp_buf¤È¥¹¥¿¥Ã¥¯¤¬32bit¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Æ
+¤¤¤ë¤³¤È¤ò²¾Äꤷ¤Æ¤¤¤Þ¤¹¡¥ÆÃ¤ËÁ°¼Ô¤¬À®Î©¤·¤Ê¤¤¾ì¹ç¤ÎÂбþ¤ÏÈó
+¾ï¤Ëº¤Æñ¤Ç¤·¤ç¤¦¡¥¸å¼Ô¤Î²ò·è¤ÏÈæ³ÓŪ´Êñ¤Ç¡¤gc.c¤Ç¥¹¥¿¥Ã¥¯¤ò
+¥Þ¡¼¥¯¤·¤Æ¤¤¤ëÉôʬ¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤Î¥Ð¥¤¥È¿ô¤À¤±¤º¤é¤·¤Æ¥Þ¡¼
+¥¯¤¹¤ë¥³¡¼¥É¤òÄɲ乤ë¤À¤±¤ÇºÑ¤ß¤Þ¤¹¡¥¡Ödefined(THINK_C)¡×¤Ç
+³ç¤é¤ì¤Æ¤¤¤ëÉôʬ¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤
+
+# ¼ÂºÝ¤Ë¤ÏRuby¤ÏThink C¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡¥
+
+¥ì¥¸¥¹¥¿¥¦¥£¥ó¥É¥¦¤ò»ý¤ÄCPU¤Ç¤Ï¡¤¥ì¥¸¥¹¥¿¥¦¥£¥ó¥É¥¦¤ò¥¹¥¿¥Ã
+¥¯¤Ë¥Õ¥é¥Ã¥·¥å¤¹¤ë¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤òÄɲ乤ëɬÍפ¬¤¢¤ë¤«¤âÃÎ
+¤ì¤Þ¤»¤ó¡¥
+
+
+* ÇÛÉÛ¾ò·ï
+
+COPYING.ja¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+
+
+* Ãø¼Ô
+
+¥³¥á¥ó¥È¡¤¥Ð¥°¥ì¥Ý¡¼¥È¤½¤Î¾¤Ï matz@netlab.jp ¤Þ¤Ç¡¥
+-------------------------------------------------------
+created at: Thu Aug 3 11:57:36 JST 1995
+Local variables:
+mode: indented-text
+end:
diff --git a/README.ja.md b/README.ja.md
deleted file mode 100644
index 1e9bae7e0c..0000000000
--- a/README.ja.md
+++ /dev/null
@@ -1,163 +0,0 @@
-# Rubyã¨ã¯
-
-Rubyã¯ã‚·ãƒ³ãƒ—ルã‹ã¤å¼·åŠ›ãªã‚ªãƒ–ジェクト指å‘スクリプト言語ã§ã™ï¼Ž Rubyã¯ç´”粋ãªã‚ªãƒ–ジェクト指å‘言語ã¨ã—ã¦è¨­è¨ˆã•れã¦ã„ã‚‹ã®ã§ï¼Œ
-オブジェクト指å‘プログラミングを手軽ã«è¡Œã†äº‹ãŒå‡ºæ¥ã¾ã™ï¼Žã‚‚ã¡ã‚ã‚“æ™®é€šã®æ‰‹ç¶šãåž‹ã®ãƒ—ログラミングもå¯èƒ½ã§ã™ï¼Ž
-
-Rubyã¯ãƒ†ã‚­ã‚¹ãƒˆå‡¦ç†é–¢ä¿‚ã®èƒ½åŠ›ãªã©ã«å„ªã‚Œï¼ŒPerlã¨åŒã˜ãらã„強力ã§ã™ï¼Žã•らã«ã‚·ãƒ³ãƒ—ãƒ«ãªæ–‡æ³•ã¨ï¼Œ
-例外処ç†ã‚„イテレータãªã©ã®æ©Ÿæ§‹ã«ã‚ˆã£ã¦ï¼Œã‚ˆã‚Šåˆ†ã‹ã‚Šã‚„ã™ã„プログラミングãŒå‡ºæ¥ã¾ã™ï¼Ž
-
-## Rubyã®ç‰¹é•·
-
-* ã‚·ãƒ³ãƒ—ãƒ«ãªæ–‡æ³•
-* 普通ã®ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘æ©Ÿèƒ½(クラス,メソッドコールãªã©)
-* 特殊ãªã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘æ©Ÿèƒ½(Mixin, 特異メソッドãªã©)
-* 演算å­ã‚ªãƒ¼ãƒãƒ¼ãƒ­ãƒ¼ãƒ‰
-* ä¾‹å¤–å‡¦ç†æ©Ÿèƒ½
-* イテレータã¨ã‚¯ãƒ­ãƒ¼ã‚¸ãƒ£
-* ガーベージコレクタ
-* ダイナミックローディング (アーキテクãƒãƒ£ã«ã‚ˆã‚‹)
-* ç§»æ¤æ€§ãŒé«˜ã„.多ãã®Unix-like/POSIX互æ›ãƒ—ラットフォーム上ã§å‹•ãã ã‘ã§ãªã,Windows, Mac OS
- X,BeOSãªã©ã®ä¸Šã§ã‚‚å‹•ã cf.
- http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatformsJa
-
-
-## 入手法
-
-### FTPã§
-
-以下ã®å ´æ‰€ã«ãŠã„ã¦ã‚りã¾ã™ï¼Ž
-
-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ã§
-
-Subversionã®ãƒŸãƒ©ãƒ¼ã‚’GitHubã«å…¬é–‹ã—ã¦ã„ã¾ã™ï¼Ž 以下ã®ã‚³ãƒžãƒ³ãƒ‰ã§ãƒªãƒã‚¸ãƒˆãƒªã‚’å–å¾—ã§ãã¾ã™ï¼Ž
-
- $ git clone git://github.com/ruby/ruby.git
-
-## ホームページ
-
-Rubyã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã®URLã¯
-
-http://www.ruby-lang.org/
-
-ã§ã™ï¼Ž
-
-## メーリングリスト
-
-Rubyã®ãƒ¡ãƒ¼ãƒªãƒ³ã‚°ãƒªã‚¹ãƒˆãŒã‚りã¾ã™ã€‚å‚åŠ å¸Œæœ›ã®æ–¹ã¯
-
-mailto:ruby-list-request@ruby-lang.org
-
-ã¾ã§æœ¬æ–‡ã«
-
- subscribe
-
-ã¨æ›¸ã„ã¦é€ã£ã¦ä¸‹ã•ã„。
-
-Ruby開発者å‘ã‘メーリングリストもã‚りã¾ã™ã€‚ã“ã¡ã‚‰ã§ã¯rubyã®ãƒã‚°ã€å°†æ¥ã®ä»•様拡張ãªã©å®Ÿè£…上ã®å•題ã«ã¤ã„ã¦è­°è«–ã•れã¦ã„ã¾ã™ã€‚ å‚åŠ å¸Œæœ›ã®æ–¹ã¯
-
-mailto:ruby-dev-request@ruby-lang.org
-
-ã¾ã§ruby-listã¨åŒæ§˜ã®æ–¹æ³•ã§ãƒ¡ãƒ¼ãƒ«ã—ã¦ãã ã•ã„。
-
-Ruby拡張モジュールã«ã¤ã„ã¦è©±ã—åˆã†ruby-extãƒ¡ãƒ¼ãƒªãƒ³ã‚°ãƒªã‚¹ãƒˆã¨æ•°å­¦é–¢ä¿‚ã®è©±é¡Œã«ã¤ã„ã¦è©±ã—åˆã†ruby-mathメーリングリストã¨
-英語ã§rubyã«ã¤ã„ã¦è©±ã—åˆã†ruby-talkメーリングリストもã‚りã¾ã™ã€‚å‚加方法ã¯ã©ã‚Œã‚‚åŒã˜ã§ã™ã€‚
-
-## コンパイル・インストール
-
-ä»¥ä¸‹ã®æ‰‹é †ã§è¡Œã£ã¦ãã ã•ã„.
-
-1. ã‚‚ã— `configure` ファイルãŒè¦‹ã¤ã‹ã‚‰ãªã„ã€ã‚‚ã—ã㯠`configure.in` よりå¤ã„よã†ãªã‚‰ã€ `autoconf` を実行ã—ã¦
- æ–°ã—ã `configure` を生æˆã™ã‚‹
-
-2. `configure` を実行ã—㦠`Makefile` ãªã©ã‚’生æˆã™ã‚‹
-
- 環境ã«ã‚ˆã£ã¦ã¯ãƒ‡ãƒ•ォルトã®Cコンパイラ用オプションãŒä»˜ãã¾ã™ï¼Ž `configure` オプション㧠`optflags=..`
- `warnflags=..` ç­‰ã§ä¸Šæ›¸ãã§ãã¾ã™ï¼Ž
-
-3. (å¿…è¦ãªã‚‰ã°)`defines.h` を編集ã™ã‚‹
-
- 多分,必è¦ç„¡ã„ã¨æ€ã„ã¾ã™ï¼Ž
-
-4. (å¿…è¦ãªã‚‰ã°)`ext/Setup` ã«é™çš„ã«ãƒªãƒ³ã‚¯ã™ã‚‹æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’指定ã™ã‚‹
-
- `ext/Setup` ã«è¨˜è¿°ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯é™çš„ã«ãƒªãƒ³ã‚¯ã•れã¾ã™ï¼Ž
-
- ダイナミックローディングをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„アーキテクãƒãƒ£ã§ã¯ `Setup` ã®1行目ã®ã€Œ`option nodynamic`ã€ã¨ã„ã†è¡Œã®ã‚³
- メントを外ã™å¿…è¦ãŒã‚りã¾ã™ï¼Žã¾ãŸï¼Œã“ã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã§æ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’利用ã™ã‚‹ãŸã‚ã«ã¯ï¼Œã‚らã‹ã˜ã‚é™çš„ã«ãƒªãƒ³ã‚¯ã‚’ã—ã¦ãŠãå¿…è¦ãŒã‚りã¾ã™ï¼Ž
-
-5. `make` を実行ã—ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚‹
-
-6. `make check`ã§ãƒ†ã‚¹ãƒˆã‚’行ã†ï¼Ž
-
- 「`check succeeded`ã€ã¨è¡¨ç¤ºã•ã‚Œã‚Œã°æˆåŠŸã§ã™ï¼ŽãŸã ã—ãƒ†ã‚¹ãƒˆã«æˆåŠŸã—ã¦ã‚‚完璧ã ã¨ä¿è¨¼ã•れã¦ã„る訳ã§ã¯ã‚りã¾ã›ã‚“.
-
-7. `make install`
-
- 以下ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’作ã£ã¦ï¼Œãã“ã«ãƒ•ァイルをインストー ルã—ã¾ã™ï¼Ž
-
- * `${DESTDIR}${prefix}/bin`
- * `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFOR
- M}`
- * `${DESTDIR}${prefix}/lib`
- * `${DESTDIR}${prefix}/lib/ruby`
- * `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`
- * `${DESTDIR}${prefix}/lib/ruby/site_ruby`
- * `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${P
- LATFORM}`
- * `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`
- * `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/$
- {PLATFORM}`
- * `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/share/man/man1`
- * `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`
-
-
- Rubyã®APIãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ'*x.y.z*'ã§ã‚れã°ï¼Œ`${MAJOR}`ã¯
- '*x*'ã§ï¼Œ`${MINOR}`ã¯'*y*',`${TEENY}`ã¯'*z*'ã§ã™ï¼Ž
-
- **注æ„**: APIãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® `teeny` ã¯ï¼ŒRubyプログラムã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ã¯ç•°ãªã‚‹ã“ã¨ãŒã‚りã¾ã™ï¼Ž
-
- `root` ã§ä½œæ¥­ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“.
-
-
-ã‚‚ã—,コンパイル時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆã«ã¯ã‚¨ãƒ©ãƒ¼ã®ãƒ­ã‚°ã¨ãƒžã‚·ãƒ³ï¼ŒOSã®ç¨®é¡žã‚’å«ã‚€ã§ãã‚‹ã ã‘詳ã—ã„レãƒãƒ¼ãƒˆã‚’作者ã«é€ã£ã¦ä¸‹ã•ã‚‹ã¨ä»–ã®æ–¹ã®ãŸã‚ã«ã‚‚ãªã‚Šã¾ã™ï¼Ž
-
-## ç§»æ¤
-
-UNIXã§ã‚れ㰠`configure` ãŒã»ã¨ã‚“ã©ã®å·®ç•°ã‚’å¸åŽã—ã¦ãれるã¯ãšã§ã™ãŒï¼Œæ€ã‚ã¬è¦‹è½ã¨ã—ãŒã‚ã£ãŸå ´åˆ(ã‚る事ãŒå¤šã„),作者ã«ãã®
-ã“ã¨ã‚’報告ã™ã‚Œã°ï¼Œè§£æ±ºã§ãã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ï¼Ž
-
-アーキテクãƒãƒ£ã«ã‚‚ã£ã¨ã‚‚ä¾å­˜ã™ã‚‹ã®ã¯GC部ã§ã™ï¼ŽRubyã®GCã¯å¯¾è±¡
-ã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ãŒ`setjmp()`ã¾ãŸã¯`getcontext()`ã«ã‚ˆã£ã¦å…¨ã¦ã®ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’ `jmp_buf` ã‚„ `ucontext_t`
-ã«æ ¼ç´ã™ã‚‹ã“ã¨ã¨ï¼Œ `jmp_buf` ã‚„ `ucontext_t` ã¨ã‚¹ã‚¿ãƒƒã‚¯ãŒ32bitアラインメントã•れã¦ã„ã‚‹ã“ã¨ã‚’仮定
-ã—ã¦ã„ã¾ã™ï¼Žç‰¹ã«å‰è€…ãŒæˆç«‹ã—ãªã„å ´åˆã®å¯¾å¿œã¯éžå¸¸ã«å›°é›£ã§ã—ょã†ï¼Ž 後者ã®è§£æ±ºã¯æ¯”較的簡å˜ã§ï¼Œ `gc.c` ã§ã‚¹ã‚¿ãƒƒã‚¯ã‚’マークã—ã¦ã„ã‚‹
-部分ã«ã‚¢ãƒ©ã‚¤ãƒ³ãƒ¡ãƒ³ãƒˆã®ãƒã‚¤ãƒˆæ•°ã ã‘ãšã‚‰ã—ã¦ãƒžãƒ¼ã‚¯ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’追加ã™ã‚‹ã ã‘ã§æ¸ˆã¿ã¾ã™ï¼Ž`defined(_\*mc68000*\_)`ã§æ‹¬ã‚‰ã‚Œã¦ã„
-る部分をå‚考ã«ã—ã¦ãã ã•ã„.
-
-レジスタウィンドウをæŒã¤CPUã§ã¯ï¼Œãƒ¬ã‚¸ã‚¹ã‚¿ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’スタックã«ãƒ•ラッシュã™ã‚‹ã‚¢ã‚»ãƒ³ãƒ–ラコードを追加ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“.
-
-## é…布æ¡ä»¶
-
-`COPYING.ja` ファイルをå‚ç…§ã—ã¦ãã ã•ã„。
-
-## 著者
-
-コメント,ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆãã®ä»–㯠mailto:matz@ruby-lang.org ã¾ã§ï¼Ž
----
-created at: Thu Aug 3 11:57:36 JST 1995
diff --git a/README.md b/README.md
deleted file mode 100644
index c6498a8cca..0000000000
--- a/README.md
+++ /dev/null
@@ -1,161 +0,0 @@
-# What's Ruby
-
-Ruby is the interpreted scripting language for quick and easy object-oriented
-programming. It has many features to process text files and to do system
-management tasks (as in Perl). It is simple, straight-forward, and
-extensible.
-
-## 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
-
-
-## How to get Ruby
-
-For a complete list of ways to install Ruby, including using third party tools
-like rvm, see:
-
-http://www.ruby-lang.org/en/downloads/
-
-The Ruby distribution files can be found in the following FTP site:
-
-ftp://ftp.ruby-lang.org/pub/ruby/
-
-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
-
-The URL of the Ruby home-page is:
-
-http://www.ruby-lang.org/
-
-## Mailing list
-
-There is a mailing list to talk about Ruby. To subscribe this list, please
-send the following phrase
-
- subscribe
-
-in the mail body (not subject) to the address
-<mailto:ruby-talk-request@ruby-lang.org>.
-
-## How to compile and install
-
-This is what you need to do to compile and install Ruby:
-
-1. If you want to use Microsoft Visual C++ to compile ruby, read
- win32/README.win32 instead of this document.
-
-2. If `./configure` does not exist or is older than configure.in, run
- autoconf to (re)generate configure.
-
-3. Run `./configure`, which will generate config.h and Makefile.
-
- Some C compiler flags may be added by default depending on your
- environment. Specify `optflags=..` and `warnflags=..` as necessary to
- override them.
-
-4. Edit `defines.h` if you need. Usually this step will not be needed.
-
-5. 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 do not allow dynamic loading), remove comment mark
- from the line "`#option nodynamic`" in `ext/Setup`.
-
- Usually this step will not be needed.
-
-6. Run `make`.
-
-7. Optionally, run '`make check`' to check whether the compiled Ruby
- interpreter works well. If you see the message "`check succeeded`", your
- ruby works as it should (hopefully).
-
-8. Run '`make install`'
-
- This command will create following directories and install files onto
- them.
-
- * `${DESTDIR}${prefix}/bin`
- * `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFOR
- M}`
- * `${DESTDIR}${prefix}/lib`
- * `${DESTDIR}${prefix}/lib/ruby`
- * `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`
- * `${DESTDIR}${prefix}/lib/ruby/site_ruby`
- * `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${P
- LATFORM}`
- * `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`
- * `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/$
- {PLATFORM}`
- * `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`
- * `${DESTDIR}${prefix}/share/man/man1`
- * `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`
-
-
- If Ruby's API version is '*x.y.z*', the `${MAJOR}` is '*x*', the
- `${MINOR}` is '*y*', and the `${TEENY}` is '*z*'.
-
- **NOTE**: teeny of the API version may be different from one of Ruby's
- program version
-
- 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 '`make
-distclean-ext`' to remove old configuration after installing them in such
-case.
-
-## Copying
-
-See the file `COPYING`.
-
-## Feedback
-
-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).
-
-Bug reports should be filed at http://bugs.ruby-lang.org
-
-## The Author
-
-Ruby was originally designed and developed by Yukihiro Matsumoto (Matz) in
-1995.
-
-<mailto:matz@ruby-lang.org>
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 c8faf48d62..0000000000
--- a/addr2line.c
+++ /dev/null
@@ -1,1208 +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_DLADDR
-# include <dlfcn.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 ELF_ST_TYPE
-# if SIZEOF_VOIDP == 8
-# define ELF_ST_TYPE ELF64_ST_TYPE
-# else
-# define ELF_ST_TYPE ELF32_ST_TYPE
-# endif
-#endif
-#ifndef PATH_MAX
-#define PATH_MAX 4096
-#endif
-
-int kprintf(const char *fmt, ...);
-
-typedef struct {
- const char *dirname;
- const char *filename;
- const char *path; /* object path */
- int line;
-
- uintptr_t base_addr;
- uintptr_t saddr;
- const char *sname; /* function name */
-} line_info_t;
-typedef struct obj_info obj_info_t;
-struct obj_info {
- const char *path; /* object path */
- int fd;
- void *mapped;
- size_t mapped_size;
- uintptr_t base_addr;
- obj_info_t *next;
-};
-
-/* 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 void
-fill_line(int num_traces, void **traces, uintptr_t addr, int file, int line,
- char *include_directories, char *filenames,
- obj_info_t *obj, line_info_t *lines, int offset)
-{
- int i;
- addr += obj->base_addr;
- for (i = offset; i < num_traces; i++) {
- uintptr_t a = (uintptr_t)traces[i];
- /* 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,
- obj_info_t *obj, line_info_t *lines, int offset)
-{
- 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 = *(signed 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, \
- obj, lines, offset); \
- /*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,
- obj_info_t *obj, line_info_t *lines, int offset)
-{
- char *debug_line_end = debug_line + size;
- while (debug_line < debug_line_end) {
- parse_debug_line_cu(num_traces, traces, &debug_line, obj, lines, offset);
- }
- if (debug_line != debug_line_end) {
- kprintf("Unexpected size of .debug_line in %s\n",
- binary_filename);
- }
-}
-
-/* read file and fill lines */
-static uintptr_t
-fill_lines(int num_traces, void **traces, int check_debuglink,
- obj_info_t **objp, line_info_t *lines, int offset);
-
-static void
-append_obj(obj_info_t **objp) {
- obj_info_t *newobj = calloc(1, sizeof(obj_info_t));
- if (*objp) (*objp)->next = newobj;
- *objp = newobj;
-}
-
-static void
-follow_debuglink(char *debuglink, int num_traces, void **traces,
- obj_info_t **objp, line_info_t *lines, int offset)
-{
- /* 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;
- obj_info_t *o1 = *objp, *o2;
-
- 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);
- strlcat(binary_filename, subdir, PATH_MAX);
- strlcat(binary_filename, debuglink, PATH_MAX);
-
- append_obj(objp);
- o2 = *objp;
- o2->base_addr = o1->base_addr;
- o2->path = o1->path;
- fill_lines(num_traces, traces, 0, objp, lines, offset);
-}
-
-/* read file and fill lines */
-static uintptr_t
-fill_lines(int num_traces, void **traces, int check_debuglink,
- obj_info_t **objp, line_info_t *lines, int offset)
-{
- int i, j;
- 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;
- ElfW(Shdr) *symtab_shdr = NULL, *strtab_shdr = NULL;
- ElfW(Shdr) *dynsym_shdr = NULL, *dynstr_shdr = NULL;
- obj_info_t *obj = *objp;
- uintptr_t dladdr_fbase = 0;
-
- fd = open(binary_filename, O_RDONLY);
- if (fd < 0) {
- goto fail;
- }
- filesize = lseek(fd, 0, SEEK_END);
- if (filesize < 0) {
- int e = errno;
- close(fd);
- kprintf("lseek: %s\n", strerror(e));
- goto fail;
- }
-#if SIZEOF_OFF_T > SIZEOF_SIZE_T
- if (filesize > (off_t)SIZE_MAX) {
- close(fd);
- kprintf("Too large file %s\n", binary_filename);
- goto fail;
- }
-#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));
- goto fail;
- }
-
- 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);
- goto fail;
- }
-
- obj->fd = fd;
- obj->mapped = file;
- obj->mapped_size = (size_t)filesize;
-
- 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;
- switch (shdr[i].sh_type) {
- case SHT_STRTAB:
- if (!strcmp(section_name, ".strtab")) {
- strtab_shdr = shdr + i;
- }
- else if (!strcmp(section_name, ".dynstr")) {
- dynstr_shdr = shdr + i;
- }
- break;
- case SHT_SYMTAB:
- /* if (!strcmp(section_name, ".symtab")) */
- symtab_shdr = shdr + i;
- break;
- case SHT_DYNSYM:
- /* if (!strcmp(section_name, ".dynsym")) */
- dynsym_shdr = shdr + i;
- break;
- case SHT_PROGBITS:
- if (!strcmp(section_name, ".debug_line")) {
- debug_line_shdr = shdr + i;
- }
- else if (!strcmp(section_name, ".gnu_debuglink")) {
- gnu_debuglink_shdr = shdr + i;
- }
- break;
- }
- }
-
- if (offset == -1) {
- /* main executable */
- offset = 0;
- if (dynsym_shdr && dynstr_shdr) {
- char *strtab = file + dynstr_shdr->sh_offset;
- ElfW(Sym) *symtab = (ElfW(Sym) *)(file + dynsym_shdr->sh_offset);
- int symtab_count = (int)(dynsym_shdr->sh_size / sizeof(ElfW(Sym)));
- for (j = 0; j < symtab_count; j++) {
- ElfW(Sym) *sym = &symtab[j];
- Dl_info info;
- void *h, *s;
- if (ELF_ST_TYPE(sym->st_info) != STT_FUNC || sym->st_size <= 0) continue;
- h = dlopen(NULL, RTLD_NOW|RTLD_LOCAL);
- if (!h) continue;
- s = dlsym(h, strtab + sym->st_name);
- if (!s) continue;
- if (dladdr(s, &info)) {
- dladdr_fbase = (uintptr_t)info.dli_fbase;
- break;
- }
- }
- if (ehdr->e_type == ET_EXEC) {
- obj->base_addr = 0;
- }
- else {
- /* PIE (position-independent executable) */
- obj->base_addr = dladdr_fbase;
- }
- }
- }
-
- if (!symtab_shdr) {
- symtab_shdr = dynsym_shdr;
- strtab_shdr = dynstr_shdr;
- }
-
- if (symtab_shdr && strtab_shdr) {
- char *strtab = file + strtab_shdr->sh_offset;
- ElfW(Sym) *symtab = (ElfW(Sym) *)(file + symtab_shdr->sh_offset);
- int symtab_count = (int)(symtab_shdr->sh_size / sizeof(ElfW(Sym)));
- for (j = 0; j < symtab_count; j++) {
- ElfW(Sym) *sym = &symtab[j];
- uintptr_t saddr = (uintptr_t)sym->st_value + obj->base_addr;
- if (ELF_ST_TYPE(sym->st_info) != STT_FUNC || sym->st_size <= 0) continue;
- for (i = offset; i < num_traces; i++) {
- uintptr_t d = (uintptr_t)traces[i] - saddr;
- if (lines[i].line > 0 || d <= 0 || d > (uintptr_t)sym->st_size)
- continue;
- /* fill symbol name and addr from .symtab */
- lines[i].sname = strtab + sym->st_name;
- lines[i].saddr = saddr;
- lines[i].path = obj->path;
- lines[i].base_addr = obj->base_addr;
- }
- }
- }
-
- 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,
- objp, lines, offset);
- }
- goto finish;
- }
-
- parse_debug_line(num_traces, traces,
- file + debug_line_shdr->sh_offset,
- debug_line_shdr->sh_size,
- obj, lines, offset);
-finish:
- return dladdr_fbase;
-fail:
- return (uintptr_t)-1;
-}
-
-#define HAVE_MAIN_EXE_PATH
-#if defined(__FreeBSD__)
-# include <sys/sysctl.h>
-#endif
-/* ssize_t main_exe_path(void)
- *
- * store the path of the main executable to `binary_filename`,
- * and returns strlen(binary_filename).
- * it is NUL terminated.
- */
-#if defined(__linux__)
-ssize_t
-main_exe_path(void)
-{
-# define PROC_SELF_EXE "/proc/self/exe"
- ssize_t len = readlink(PROC_SELF_EXE, binary_filename, PATH_MAX);
- binary_filename[len] = 0;
- return len;
-}
-#elif defined(__FreeBSD__)
-ssize_t
-main_exe_path(void)
-{
- int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
- size_t len = PATH_MAX;
- int err = sysctl(mib, 4, binary_filename, &len, NULL, 0);
- if (err) {
- kprintf("Can't get the path of ruby");
- return -1;
- }
- len--; /* sysctl sets strlen+1 */
- return len;
-}
-#else
-#undef HAVE_MAIN_EXE_PATH
-#endif
-
-void
-rb_dump_backtrace_with_lines(int num_traces, void **traces)
-{
- int i;
- /* async-signal unsafe */
- line_info_t *lines = (line_info_t *)calloc(num_traces, sizeof(line_info_t));
- obj_info_t *obj = NULL;
- /* 2 is NULL + main executable */
- void **dladdr_fbases = (void **)calloc(num_traces+2, sizeof(void *));
-#ifdef HAVE_MAIN_EXE_PATH
- char *main_path = NULL; /* used on printing backtrace */
- ssize_t len;
- if ((len = main_exe_path()) > 0) {
- main_path = (char *)alloca(len + 1);
- if (main_path) {
- uintptr_t addr;
- memcpy(main_path, binary_filename, len+1);
- append_obj(&obj);
- obj->path = main_path;
- addr = fill_lines(num_traces, traces, 1, &obj, lines, -1);
- if (addr != (uintptr_t)-1) {
- dladdr_fbases[0] = (void *)addr;
- }
- }
- }
-#endif
-
- /* fill source lines by reading dwarf */
- for (i = 0; i < num_traces; i++) {
- Dl_info info;
- if (lines[i].line) continue;
- if (dladdr(traces[i], &info)) {
- const char *path;
- void **p;
-
- /* skip symbols which is in already checked objects */
- /* if the binary is strip-ed, this may effect */
- for (p=dladdr_fbases; *p; p++) {
- if (*p == info.dli_fbase) {
- lines[i].path = info.dli_fname;
- lines[i].sname = info.dli_sname;
- goto next_line;
- }
- }
- *p = info.dli_fbase;
-
- append_obj(&obj);
- obj->base_addr = (uintptr_t)info.dli_fbase;
- path = info.dli_fname;
- obj->path = path;
- lines[i].path = path;
- strcpy(binary_filename, path);
- fill_lines(num_traces, traces, 1, &obj, lines, i);
- }
-next_line:
- continue;
- }
-
- /* output */
- for (i = 0; i < num_traces; i++) {
- line_info_t *line = &lines[i];
- uintptr_t addr = (uintptr_t)traces[i];
- uintptr_t d = addr - line->saddr;
- if (!line->path) {
- kprintf("[0x%lx]\n", addr);
- }
- else if (!line->saddr || !line->sname) {
- kprintf("%s [0x%lx]\n", line->path, addr);
- }
- else if (line->line <= 0) {
- kprintf("%s(%s+0x%lx) [0x%lx]\n", line->path, line->sname,
- d, addr);
- }
- else if (!line->filename) {
- kprintf("%s(%s+0x%lx) [0x%lx] ???:%d\n", line->path, line->sname,
- d, addr, line->line);
- }
- else if (line->dirname && line->dirname[0]) {
- kprintf("%s(%s+0x%lx) [0x%lx] %s/%s:%d\n", line->path, line->sname,
- d, addr, line->dirname, line->filename, line->line);
- }
- else {
- kprintf("%s(%s+0x%lx) [0x%lx] %s:%d\n", line->path, line->sname,
- d, addr, line->filename, line->line);
- }
- /* FreeBSD's backtrace may show _start and so on */
- if (line->sname && strcmp("main", line->sname) == 0)
- break;
- }
-
- /* free */
- while (obj) {
- obj_info_t *o = obj;
- obj = o->next;
- if (o->fd) {
- munmap(o->mapped, o->mapped_size);
- close(o->fd);
- }
- free(o);
- }
- free(lines);
- free(dladdr_fbases);
-}
-
-/* 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 d99f010934..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);
-
-#endif /* USE_ELF */
-
-#endif /* RUBY_ADDR2LINE_H */
diff --git a/array.c b/array.c
index c255e096ed..acc59d20b4 100644
--- a/array.c
+++ b/array.c
@@ -3,505 +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 "internal.h"
-#include "ruby/util.h"
-#include "ruby/st.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))
-
-# 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)
-
-#define ARY_SET(a, i, v) RARRAY_ASET((assert(!ARY_SHARED_P(a)), (a)), (i), (v))
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_memcpy0(VALUE ary, long beg, long argc, const VALUE *argv, VALUE buff_owner_ary)
-{
-#if 1
- assert(!ARY_SHARED_P(buff_owner_ary));
-
- if (argc > (int)(128/sizeof(VALUE)) /* is magic number (cache line size) */) {
- rb_gc_writebarrier_remember(buff_owner_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(buff_owner_ary, &ptr[i+beg], argv[i]);
- }
- });
- }
-#else
- /* giveup write barrier (traditional way) */
- RARRAY_PTR(buff_owner_ary);
- MEMCPY(RARRAY_PTR(ary)+beg, argv, VALUE, argc);
-#endif
-}
-
-static void
-ary_memcpy(VALUE ary, long beg, long argc, const VALUE *argv)
-{
- ary_memcpy0(ary, beg, argc, argv, ary);
-}
-
-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);
- }
- }
-}
+#define ARY_TMPLOCK FL_USER1
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);
-}
-
-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);
- }
-
- rb_gc_writebarrier_remember(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 VALUE
-ary_ensure_room_for_push(VALUE ary, long add_len)
-{
- long old_len = RARRAY_LEN(ary);
- long new_len = old_len + add_len;
- long capa;
-
- if (old_len > ARY_MAX_SIZE - add_len) {
- rb_raise(rb_eIndexError, "index %ld too big", new_len);
- }
- 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);
- return shared;
- }
- 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 ary;
- }
- }
- }
- }
- rb_ary_modify(ary);
- capa = ARY_CAPA(ary);
- if (new_len > capa) {
- ary_double_capa(ary, new_len);
- }
-
- return ary;
-}
-
-/*
- * 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());
- }
-
- ary = ary_alloc(klass);
- if (capa > RARRAY_EMBED_LEN_MAX) {
- ptr = ALLOC_N(VALUE, capa);
- FL_UNSET_EMBED(ary);
- ARY_SET_PTR(ary, ptr);
- ARY_SET_CAPA(ary, capa);
- ARY_SET_HEAP_LEN(ary, 0);
- }
+ 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;
@@ -509,240 +167,119 @@ VALUE
ary = rb_ary_new2(n);
- va_start(ar, n);
+ va_init_list(ar, n);
for (i=0; i<n; i++) {
- ARY_SET(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);
}
- return ary;
-}
+ /* This assignment to len will be moved to the above "if" block in Ruby 1.9 */
+ RARRAY(ary)->len = n;
-VALUE
-rb_ary_tmp_new(long capa)
-{
- return ary_new(0, capa);
-}
-
-VALUE
-rb_ary_tmp_new_fill(long capa)
-{
- VALUE ary = ary_new(0, capa);
- ary_memfill(ary, 0, capa, Qnil);
- ARY_SET_LEN(ary, capa);
return ary;
}
-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)
+VALUE
+rb_assoc_new(car, cdr)
+ VALUE car, cdr;
{
- 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 | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0));
- 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;
- }
-}
+ VALUE ary;
-static VALUE
-ary_make_substitution(VALUE ary)
-{
- long len = RARRAY_LEN(ary);
+ ary = rb_ary_new2(2);
+ RARRAY(ary)->ptr[0] = car;
+ RARRAY(ary)->ptr[1] = cdr;
+ RARRAY(ary)->len = 2;
- 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));
- }
-}
-
-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:
- * Array.new(size=0, default=nil)
+ * Array.new(size=0, obj=nil)
* 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 +default+ are sent, an array is created with
- * +size+ copies of +default+. Take notice that all elements will reference the
- * same object +default+.
- *
- * 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)) {
@@ -752,16 +289,17 @@ rb_ary_initialize(int argc, VALUE *argv, VALUE ary)
}
len = NUM2LONG(size);
- /* NUM2LONG() may call size.to_int, ary can be frozen, modified, etc */
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");
}
- /* recheck after argument conversion */
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;
@@ -770,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;
}
- ARY_SET(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;
- }
-}
-
-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, const 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;
+ if (idx >= RARRAY(ary)->len) {
+ RARRAY(ary)->len = idx + 1;
}
- 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.
@@ -907,335 +398,249 @@ ary_take_first_or_last(int argc, const VALUE *argv, VALUE ary, enum ary_take_pos
*/
VALUE
-rb_ary_push(VALUE ary, VALUE item)
-{
- long idx = RARRAY_LEN(ary);
- VALUE target_ary = ary_ensure_room_for_push(ary, 1);
- RARRAY_PTR_USE(ary, ptr, {
- RB_OBJ_WRITE(target_ary, &ptr[idx], item);
- });
- ARY_SET_LEN(ary, idx + 1);
- return ary;
-}
-
-VALUE
-rb_ary_cat(VALUE ary, const VALUE *argv, long len)
+rb_ary_push(ary, item)
+ VALUE ary;
+ VALUE item;
{
- long oldlen = RARRAY_LEN(ary);
- VALUE target_ary = ary_ensure_room_for_push(ary, len);
- ary_memcpy0(ary, oldlen, len, argv, target_ary);
- 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);
+ if (!FL_TEST(ary, ELTS_SHARED)) {
+ NEWOBJ(shared, struct RArray);
+ OBJSETUP(shared, rb_cArray, T_ARRAY);
- 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 */
-
- ARY_SET(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_PTR_USE(ary, ptr, ptr[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 VALUE
-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 (len > ARY_MAX_SIZE - argc) {
- rb_raise(rb_eIndexError, "index %ld too big", new_len);
- }
-
- 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);
- capa = ARY_CAPA(ary);
- if (capa - (capa >> 6) <= new_len) {
- ary_double_capa(ary, new_len);
+ 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);
}
- /* 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);
+ /* sliding items */
+ MEMMOVE(RARRAY(ary)->ptr + 1, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
- 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);
- assert(ARY_SHARED_OCCUPIED(ARY_SHARED(ary)));
- return ARY_SHARED(ary);
- }
- else {
- /* sliding items */
- RARRAY_PTR_USE(ary, ptr, {
- MEMMOVE(ptr + argc, ptr, VALUE, len);
- });
+ RARRAY(ary)->len++;
+ RARRAY(ary)->ptr[0] = item;
- return ary;
- }
+ 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);
- VALUE target_ary;
+ long len = RARRAY(ary)->len;
- if (argc == 0) {
- rb_ary_modify_check(ary);
- return ary;
- }
+ if (argc == 0) return ary;
- target_ary = ary_ensure_room_for_unshift(ary, argc);
- ary_memcpy0(ary, 0, argc, argv, target_ary);
- 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"
@@ -1247,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, const 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:
@@ -1287,13 +700,15 @@ rb_ary_aref(int argc, const 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"
@@ -1301,91 +716,113 @@ rb_ary_aref(int argc, const 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, const 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;
@@ -1399,305 +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));
+ }
+
+ return new_ary;
+}
- if (!NIL_P(tmp)) return tmp;
+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) {
- VALUE target_ary;
- if (beg > ARY_MAX_SIZE - rlen) {
- rb_raise(rb_eIndexError, "index %ld too big", beg);
- }
- target_ary = 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_memcpy0(ary, beg, rlen, RARRAY_CONST_PTR(rpl), target_ary);
+ MEMCPY(RARRAY(ary)->ptr + beg, RARRAY(rpl)->ptr, VALUE, rlen);
}
- ARY_SET_LEN(ary, len);
+ RARRAY(ary)->len = len;
}
else {
long alen;
- if (olen - len > ARY_MAX_SIZE - rlen) {
- rb_raise(rb_eIndexError, "index %ld too big", olen + rlen - len);
+ if (beg + len > RARRAY(ary)->len) {
+ len = RARRAY(ary)->len - beg;
}
- rb_ary_modify(ary);
- alen = olen + rlen - len;
- if (alen >= ARY_CAPA(ary)) {
- ary_double_capa(ary, alen);
+
+ alen = RARRAY(ary)->len + rlen - len;
+ if (alen >= RARRAY(ary)->aux.capa) {
+ REALLOC_N(RARRAY(ary)->ptr, VALUE, alen);
+ RARRAY(ary)->aux.capa = alen;
}
if (len != rlen) {
- RARRAY_PTR_USE(ary, ptr,
- MEMMOVE(ptr + beg + rlen, ptr + beg + len,
- VALUE, olen - (beg + len)));
- ARY_SET_LEN(ary, alen);
+ MEMMOVE(RARRAY(ary)->ptr + beg + rlen, RARRAY(ary)->ptr + beg + len,
+ VALUE, RARRAY(ary)->len - (beg + len));
+ RARRAY(ary)->len = alen;
}
if (rlen > 0) {
- MEMMOVE(RARRAY_PTR(ary) + beg, RARRAY_CONST_PTR(rpl), VALUE, rlen);
+ MEMMOVE(RARRAY(ary)->ptr + beg, RARRAY(rpl)->ptr, VALUE, rlen);
}
}
- 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);
- }
- 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);
- }
- 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"]
@@ -1705,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];
@@ -1743,31 +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. If a negative index is used, the given values will be
- * inserted after that element, so using an index of +-1+ will insert the
- * values at the end of the array.
- *
+ * 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++;
@@ -1776,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;
@@ -1848,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;
@@ -1881,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);
- }
- }
- 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;
+ tmp = rb_protect_inspect(inspect_join, ary, (VALUE)args);
}
- 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;
+ break;
+ default:
+ tmp = rb_obj_as_string(tmp);
}
-
- 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
- *
- * Reverses +self+ in place.
+ * array.inspect -> string
*
- * 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);
@@ -2542,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, const 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;
@@ -2755,13 +1758,15 @@ rb_get_values_at(VALUE obj, long olen, int argc, const VALUE *argv, VALUE (*func
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])));
@@ -2769,59 +1774,53 @@ rb_get_values_at(VALUE obj, long olen, int argc, const VALUE *argv, VALUE (*func
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));
}
}
@@ -2830,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"]
@@ -2924,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;
@@ -2989,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"]
@@ -3041,304 +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;
+ pos = RARRAY(ary)->len + pos;
}
- else if (orig_len < pos) return Qnil;
- if (orig_len < pos + len) {
- len = orig_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;
-}
+ if (RARRAY(ary)->len == i2) return Qnil;
+ if (i2 < RARRAY(ary)->len)
+ RARRAY(ary)->len = i2;
-/*
- * 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.
- */
-
-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();
-
- if (arity > 1) {
- VALUE work, *tmp;
-
- tmp = ALLOCV_N(VALUE, work, 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);
- }
-
- if (work) ALLOCV_END(work);
- }
- 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);
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ VALUE tmp = rb_ary_new2(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));
@@ -3349,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 */
}
@@ -3475,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) {
@@ -3513,93 +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;
- ARY_SET(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" ]
- *
- * Note that
- * x += y
- * is the same as
- * x = x + y
- * This means that it produces a new array. As a consequence,
- * repeated use of <code>+=</code> on arrays can be quite inefficient.
- *
- * 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
- *
- * Repetition --- With a String argument, equivalent to
- * <code>ary.join(str)</code>.
+ * array * int -> an_array
+ * array * str -> a_string
*
- * 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 ]
@@ -3608,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)) {
@@ -3620,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" ]
@@ -3674,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;
@@ -3690,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
@@ -3770,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 (!rb_respond_to(ary2, idTo_ary)) {
+ 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;
@@ -3799,76 +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?).
- *
- * See also Object#hash.
+ * 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;
- VALUE e;
-
- for (i=0; i<RARRAY_LEN(ary); i++) {
- e = RARRAY_AREF(ary, i);
- switch (rb_equal_opt(e, item)) {
- case Qundef:
- if (rb_equal(e, item)) return Qtrue;
- break;
- case Qtrue:
+
+ for (i=0; i<RARRAY(ary)->len; i++) {
+ if (rb_equal(RARRAY(ary)->ptr[i], item)) {
return Qtrue;
}
}
@@ -3876,405 +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+.
- *
- * Each object in each array is compared (using the <=> operator).
- *
- * Arrays are compared in an "element-wise" manner; the first element of +ary+
- * is compared with the first one of +other_ary+ using the <=> operator, then
- * each of the second elements, etc...
- * As soon as the result of any such comparison is non zero (i.e. the two
- * corresponding elements are not equal), that result is returned for the
- * whole array comparison.
- *
- * If all the elements are equal, then the result 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.
- *
- * +nil+ is returned if the +other_ary+ is not an array or if the comparison
- * of two elements returned +nil+.
+ * 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
- * [ 1, 2 ] <=> [ 1, :two ] #=> nil
*
*/
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