summaryrefslogtreecommitdiff
path: root/spec/ruby/library/digest/md5
diff options
context:
space:
mode:
authorKazuhiro NISHIYAMA <zn@mbf.nifty.com>2022-01-22 15:46:06 +0900
committerKazuhiro NISHIYAMA <zn@mbf.nifty.com>2022-01-22 15:48:05 +0900
commitc00e360bc09811669b87f82a0ee97e13b9cba02f (patch)
treecf31b8e8c2b79e5c146f71803cb4b48635b292a6 /spec/ruby/library/digest/md5
parentc1a6ff046d4f27c972adf96f9a6724abc2f0647a (diff)
Fix error: old-style function definition
https://rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20220122T050018Z.log.html.gz#miniruby ``` compiling vm_trace.c vm_trace.c: In function 'rb_vm_memsize_postponed_job_buffer': vm_trace.c:1599:1: error: old-style function definition [-Werror=old-style-definition] 1599 | rb_vm_memsize_postponed_job_buffer() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ```
Diffstat (limited to 'spec/ruby/library/digest/md5')
0 files changed, 0 insertions, 0 deletions
ass='add'>.indent.pro21
-rw-r--r--.travis.yml101
-rw-r--r--BSDL22
-rw-r--r--CONTRIBUTING.md4
-rw-r--r--COPYING4
-rw-r--r--COPYING.ja72
-rw-r--r--ChangeLog22239
-rw-r--r--GPL39
-rw-r--r--KNOWNBUGS.rb7
-rw-r--r--LEGAL408
-rw-r--r--LGPL504
-rw-r--r--Makefile.in510
-rw-r--r--NEWS404
-rw-r--r--README114
-rw-r--r--README.EXT1134
-rw-r--r--README.EXT.ja1259
-rw-r--r--README.ja160
-rw-r--r--README.ja.md171
-rw-r--r--README.md164
-rw-r--r--ToDo126
-rw-r--r--aclocal.m446
-rw-r--r--addr2line.c1208
-rw-r--r--addr2line.h21
-rw-r--r--array.c5930
-rw-r--r--bcc32/Makefile.sub490
-rw-r--r--bcc32/README.bcc32137
-rwxr-xr-xbcc32/configure.bat92
-rw-r--r--bcc32/mkexports.rb25
-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_array_shift.rb14
-rw-r--r--benchmark/bm_hash_aref_dsym.rb4
-rw-r--r--benchmark/bm_hash_aref_dsym_long.rb21
-rw-r--r--benchmark/bm_hash_aref_fix.rb4
-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_shift_u16.rb10
-rw-r--r--benchmark/bm_hash_shift_u24.rb10
-rw-r--r--benchmark/bm_hash_shift_u32.rb10
-rw-r--r--benchmark/bm_hash_to_proc.rb9
-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_nonblock_noex.rb22
-rw-r--r--benchmark/bm_io_nonblock_noex2.rb21
-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_marshal_dump_load_geniv.rb10
-rw-r--r--benchmark/bm_marshal_dump_load_time.rb1
-rw-r--r--benchmark/bm_require.rb7
-rw-r--r--benchmark/bm_require_thread.rb15
-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.rb12
-rw-r--r--benchmark/bm_vm1_gc_wb_ary_promoted.rb14
-rw-r--r--benchmark/bm_vm1_gc_wb_obj.rb15
-rw-r--r--benchmark/bm_vm1_gc_wb_obj_promoted.rb17
-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_case_lit.rb19
-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_string_literal.rb5
-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_big_href_hi.rb7
-rw-r--r--benchmark/bm_vm2_struct_big_href_lo.rb7
-rw-r--r--benchmark/bm_vm2_struct_big_hset.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_struct_small_href.rb7
-rw-r--r--benchmark/bm_vm2_struct_small_hset.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
-rw-r--r--benchmark/bm_vm3_gc.rb6
-rw-r--r--benchmark/bm_vm_symbol_block_pass.rb13
-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.rb400
-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_require.rb25
-rw-r--r--benchmark/prepare_require_thread.rb2
-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.c7377
-rwxr-xr-xbin/erb100
-rwxr-xr-xbin/gem25
-rwxr-xr-x[-rw-r--r--]bin/irb18
-rwxr-xr-x[-rw-r--r--]bin/rdoc81
-rwxr-xr-xbin/ri53
-rwxr-xr-xbin/testrb5
-rw-r--r--bootstraptest/pending.rb39
-rwxr-xr-xbootstraptest/runner.rb511
-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.rb1192
-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.rb904
-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.h773
-rw-r--r--ccan/str/str.h16
-rw-r--r--class.c2004
-rw-r--r--common.mk2610
-rw-r--r--compar.c150
-rw-r--r--compile.c8372
-rw-r--r--complex.c2280
-rw-r--r--config.guess1459
-rw-r--r--config.sub1537
-rw-r--r--configure.in4940
-rw-r--r--constant.h50
-rw-r--r--cont.c1716
-rw-r--r--coverage/README17
-rw-r--r--cygwin/GNUmakefile.in75
-rw-r--r--debug.c132
-rw-r--r--defines.h261
-rw-r--r--defs/gmake.mk78
-rw-r--r--defs/id.def174
-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.c2713
-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.c895
-rw-r--r--dln.h23
-rw-r--r--dln_find.c297
-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-0.06_to_0.521147
-rw-r--r--doc/ChangeLog-0.50_to_0.60462
-rw-r--r--doc/ChangeLog-0.60_to_1.13955
-rw-r--r--doc/ChangeLog-1.8.0163
-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-2.2.012157
-rw-r--r--doc/ChangeLog-YARV6917
-rw-r--r--doc/NEWS837
-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/NEWS-2.2.0361
-rw-r--r--doc/contributing.rdoc468
-rw-r--r--doc/contributors.rdoc778
-rw-r--r--doc/dtrace_probes.rdoc178
-rw-r--r--doc/etc.rd.ja75
-rw-r--r--doc/extension.ja.rdoc1799
-rw-r--r--doc/extension.rdoc1828
-rw-r--r--doc/forwardable.rd84
-rw-r--r--doc/forwardable.rd.ja49
-rw-r--r--doc/globals.rdoc70
-rw-r--r--doc/images/boottime-classes.pngbin0 -> 28677 bytes-rw-r--r--doc/irb/irb-tools.rd.ja119
-rw-r--r--doc/irb/irb.rd392
-rw-r--r--doc/irb/irb.rd.ja377
-rw-r--r--doc/keywords.rdoc158
-rw-r--r--doc/maintainers.rdoc320
-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.rdoc691
-rw-r--r--doc/security.rdoc152
-rw-r--r--doc/shell.rd348
-rw-r--r--doc/shell.rd.ja153
-rw-r--r--doc/standard_library.rdoc115
-rw-r--r--doc/syntax.rdoc34
-rw-r--r--doc/syntax/assignment.rdoc454
-rw-r--r--doc/syntax/calling_methods.rdoc352
-rw-r--r--doc/syntax/control_expressions.rdoc499
-rw-r--r--doc/syntax/exceptions.rdoc95
-rw-r--r--doc/syntax/literals.rdoc368
-rw-r--r--doc/syntax/methods.rdoc455
-rw-r--r--doc/syntax/miscellaneous.rdoc106
-rw-r--r--doc/syntax/modules_and_classes.rdoc344
-rw-r--r--doc/syntax/precedence.rdoc60
-rw-r--r--doc/syntax/refinements.rdoc262
-rw-r--r--enc/Makefile.in82
-rw-r--r--enc/ascii.c100
-rw-r--r--enc/big5.c373
-rw-r--r--enc/cp949.c221
-rw-r--r--enc/depend608
-rw-r--r--enc/ebcdic.h11
-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.c277
-rw-r--r--enc/iso_8859_10.c246
-rw-r--r--enc/iso_8859_11.c113
-rw-r--r--enc/iso_8859_13.c249
-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.c242
-rw-r--r--enc/iso_8859_3.c242
-rw-r--r--enc/iso_8859_4.c245
-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.rb151
-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.src124
-rw-r--r--enc/trans/JIS/JISX0208@1990%UCS.src6964
-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.src6159
-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.src125
-rw-r--r--enc/trans/JIS/UCS%JISX0208@1990.src6965
-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.src6163
-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/ebcdic.trans278
-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.c605
-rwxr-xr-xenc/unicode/case-folding.rb196
-rw-r--r--enc/unicode/casefold.h6248
-rw-r--r--enc/unicode/name2ctype.h34027
-rw-r--r--enc/unicode/name2ctype.h.blt32679
-rw-r--r--enc/unicode/name2ctype.kwd26550
-rw-r--r--enc/unicode/name2ctype.src26550
-rw-r--r--enc/us_ascii.c37
-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.c205
-rw-r--r--enc/utf_32le.c204
-rw-r--r--enc/utf_7.h5
-rw-r--r--enc/utf_8.c446
-rw-r--r--enc/windows_1250.c220
-rw-r--r--enc/windows_1251.c210
-rw-r--r--enc/windows_1252.c211
-rw-r--r--enc/windows_31j.c80
-rw-r--r--enc/x_emoji.h26
-rw-r--r--encindex.h67
-rw-r--r--encoding.c1995
-rw-r--r--enum.c3528
-rw-r--r--enumerator.c2126
-rw-r--r--env.h60
-rw-r--r--error.c2578
-rw-r--r--eval.c13355
-rw-r--r--eval_error.c314
-rw-r--r--eval_intern.h304
-rw-r--r--eval_jump.c145
-rw-r--r--ext/-test-/array/resize/extconf.rb2
-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.rb8
-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.rb2
-rw-r--r--ext/-test-/bug-5832/bug.c14
-rw-r--r--ext/-test-/bug-5832/extconf.rb2
-rw-r--r--ext/-test-/bug_reporter/bug_reporter.c24
-rw-r--r--ext/-test-/bug_reporter/extconf.rb2
-rw-r--r--ext/-test-/class/class2name.c14
-rw-r--r--ext/-test-/class/extconf.rb8
-rw-r--r--ext/-test-/class/init.c11
-rw-r--r--ext/-test-/debug/depend32
-rw-r--r--ext/-test-/debug/extconf.rb7
-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-/dln/empty/empty.c4
-rw-r--r--ext/-test-/dln/empty/extconf.rb2
-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.rb7
-rw-r--r--ext/-test-/exception/init.c11
-rw-r--r--ext/-test-/fatal/extconf.rb2
-rw-r--r--ext/-test-/fatal/rb_fatal.c19
-rw-r--r--ext/-test-/file/depend36
-rw-r--r--ext/-test-/file/extconf.rb23
-rw-r--r--ext/-test-/file/fs.c108
-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.rb8
-rw-r--r--ext/-test-/float/init.c11
-rw-r--r--ext/-test-/float/nextafter.c36
-rw-r--r--ext/-test-/funcall/extconf.rb3
-rw-r--r--ext/-test-/funcall/passing_block.c30
-rw-r--r--ext/-test-/gvl/call_without_gvl/call_without_gvl.c34
-rw-r--r--ext/-test-/gvl/call_without_gvl/extconf.rb2
-rw-r--r--ext/-test-/hash/delete.c16
-rw-r--r--ext/-test-/hash/extconf.rb8
-rw-r--r--ext/-test-/hash/init.c11
-rw-r--r--ext/-test-/iseq_load/extconf.rb2
-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.rb8
-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.rb2
-rw-r--r--ext/-test-/marshal/compat/extconf.rb2
-rw-r--r--ext/-test-/marshal/compat/usrcompat.c32
-rw-r--r--ext/-test-/marshal/internal_ivar/extconf.rb2
-rw-r--r--ext/-test-/marshal/internal_ivar/internal_ivar.c39
-rw-r--r--ext/-test-/marshal/usr/extconf.rb2
-rw-r--r--ext/-test-/marshal/usr/usrmarshal.c50
-rw-r--r--ext/-test-/method/arity.c22
-rw-r--r--ext/-test-/method/extconf.rb7
-rw-r--r--ext/-test-/method/init.c11
-rw-r--r--ext/-test-/notimplement/bug.c16
-rw-r--r--ext/-test-/notimplement/extconf.rb2
-rw-r--r--ext/-test-/num2int/extconf.rb2
-rw-r--r--ext/-test-/num2int/num2int.c136
-rw-r--r--ext/-test-/path_to_class/extconf.rb7
-rw-r--r--ext/-test-/path_to_class/path_to_class.c15
-rw-r--r--ext/-test-/popen_deadlock/extconf.rb5
-rw-r--r--ext/-test-/popen_deadlock/infinite_loop_dlsym.c50
-rw-r--r--ext/-test-/postponed_job/depend1
-rw-r--r--ext/-test-/postponed_job/extconf.rb2
-rw-r--r--ext/-test-/postponed_job/postponed_job.c53
-rw-r--r--ext/-test-/printf/depend3
-rw-r--r--ext/-test-/printf/extconf.rb2
-rw-r--r--ext/-test-/printf/printf.c101
-rw-r--r--ext/-test-/proc/extconf.rb8
-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.rb8
-rw-r--r--ext/-test-/rational/rat.c37
-rw-r--r--ext/-test-/recursion/extconf.rb3
-rw-r--r--ext/-test-/recursion/recursion.c28
-rw-r--r--ext/-test-/st/foreach/extconf.rb2
-rw-r--r--ext/-test-/st/foreach/foreach.c175
-rw-r--r--ext/-test-/st/numhash/extconf.rb2
-rw-r--r--ext/-test-/st/numhash/numhash.c138
-rw-r--r--ext/-test-/st/update/extconf.rb2
-rw-r--r--ext/-test-/st/update/update.c34
-rw-r--r--ext/-test-/string/coderange.c47
-rw-r--r--ext/-test-/string/cstr.c123
-rw-r--r--ext/-test-/string/depend115
-rw-r--r--ext/-test-/string/ellipsize.c13
-rw-r--r--ext/-test-/string/enc_associate.c22
-rw-r--r--ext/-test-/string/enc_str_buf_cat.c14
-rw-r--r--ext/-test-/string/extconf.rb8
-rw-r--r--ext/-test-/string/fstring.c15
-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/duplicate.c24
-rw-r--r--ext/-test-/struct/extconf.rb8
-rw-r--r--ext/-test-/struct/init.c11
-rw-r--r--ext/-test-/struct/member.c18
-rw-r--r--ext/-test-/symbol/extconf.rb8
-rw-r--r--ext/-test-/symbol/init.c25
-rw-r--r--ext/-test-/symbol/type.c78
-rw-r--r--ext/-test-/thread_fd_close/depend14
-rw-r--r--ext/-test-/thread_fd_close/extconf.rb2
-rw-r--r--ext/-test-/thread_fd_close/thread_fd_close.c14
-rw-r--r--ext/-test-/time/extconf.rb8
-rw-r--r--ext/-test-/time/init.c11
-rw-r--r--ext/-test-/time/new.c34
-rw-r--r--ext/-test-/tracepoint/depend22
-rw-r--r--ext/-test-/tracepoint/extconf.rb2
-rw-r--r--ext/-test-/tracepoint/gc_hook.c80
-rw-r--r--ext/-test-/tracepoint/tracepoint.c96
-rw-r--r--ext/-test-/typeddata/extconf.rb2
-rw-r--r--ext/-test-/typeddata/typeddata.c44
-rw-r--r--ext/-test-/vm/at_exit.c44
-rw-r--r--ext/-test-/vm/extconf.rb1
-rw-r--r--ext/-test-/wait_for_single_fd/depend14
-rw-r--r--ext/-test-/wait_for_single_fd/extconf.rb2
-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.rb9
-rw-r--r--ext/-test-/win32/console/init.c11
-rw-r--r--ext/-test-/win32/dln/depend9
-rw-r--r--ext/-test-/win32/dln/dlntest.c17
-rw-r--r--ext/-test-/win32/dln/extconf.rb33
-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.rb4
-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/Setup31
-rw-r--r--ext/Setup.atheos9
-rw-r--r--ext/Setup.dj33
-rw-r--r--ext/Setup.emx33
-rw-r--r--ext/Setup.nacl46
-rw-r--r--ext/Setup.nt10
-rw-r--r--ext/Setup.x6833
-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.c7000
-rw-r--r--ext/bigdecimal/bigdecimal.def2
-rw-r--r--ext/bigdecimal/bigdecimal.gemspec31
-rw-r--r--ext/bigdecimal/bigdecimal.h248
-rw-r--r--ext/bigdecimal/bigdecimal_en.html797
-rw-r--r--ext/bigdecimal/bigdecimal_ja.html798
-rw-r--r--ext/bigdecimal/depend14
-rw-r--r--ext/bigdecimal/extconf.rb9
-rw-r--r--ext/bigdecimal/lib/bigdecimal/jacobian.rb37
-rw-r--r--ext/bigdecimal/lib/bigdecimal/ludcmp.rb45
-rw-r--r--ext/bigdecimal/lib/bigdecimal/math.rb177
-rw-r--r--ext/bigdecimal/lib/bigdecimal/newton.rb17
-rw-r--r--ext/bigdecimal/lib/bigdecimal/util.rb145
-rw-r--r--ext/bigdecimal/sample/linear.rb22
-rw-r--r--ext/bigdecimal/sample/nlsolve.rb24
-rw-r--r--ext/bigdecimal/sample/pi.rb1
-rw-r--r--ext/cgi/escape/escape.c105
-rw-r--r--ext/cgi/escape/extconf.rb3
-rw-r--r--ext/continuation/continuation.c13
-rw-r--r--ext/continuation/extconf.rb4
-rw-r--r--ext/coverage/coverage.c133
-rw-r--r--ext/coverage/depend41
-rw-r--r--ext/coverage/extconf.rb5
-rw-r--r--ext/curses/.cvsignore3
-rw-r--r--ext/curses/curses.c2102
-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.c9655
-rw-r--r--ext/date/date_parse.c3138
-rw-r--r--ext/date/date_strftime.c638
-rw-r--r--ext/date/date_strptime.c703
-rw-r--r--ext/date/date_tmx.h56
-rw-r--r--ext/date/depend53
-rw-r--r--ext/date/extconf.rb4
-rw-r--r--ext/date/lib/date.rb61
-rw-r--r--ext/dbm/.cvsignore3
-rw-r--r--ext/dbm/dbm.c765
-rw-r--r--ext/dbm/depend1
-rw-r--r--ext/dbm/extconf.rb301
-rw-r--r--ext/digest/.cvsignore3
-rw-r--r--ext/digest/bubblebabble/bubblebabble.c146
-rw-r--r--ext/digest/bubblebabble/depend13
-rw-r--r--ext/digest/bubblebabble/extconf.rb6
-rw-r--r--ext/digest/defs.h20
-rw-r--r--ext/digest/depend15
-rw-r--r--ext/digest/digest.c806
-rw-r--r--ext/digest/digest.h49
-rw-r--r--ext/digest/digest.txt113
-rw-r--r--ext/digest/digest.txt.ja111
-rw-r--r--ext/digest/digest_conf.rb30
-rw-r--r--ext/digest/extconf.rb7
-rw-r--r--ext/digest/lib/digest.rb109
-rw-r--r--ext/digest/lib/md5.rb14
-rw-r--r--ext/digest/lib/sha1.rb14
-rw-r--r--ext/digest/md5/.cvsignore3
-rw-r--r--ext/digest/md5/depend22
-rw-r--r--ext/digest/md5/extconf.rb20
-rw-r--r--ext/digest/md5/md5.c42
-rw-r--r--ext/digest/md5/md5.h15
-rw-r--r--ext/digest/md5/md5cc.h12
-rw-r--r--ext/digest/md5/md5init.c39
-rw-r--r--ext/digest/md5/md5ossl.c30
-rw-r--r--ext/digest/md5/md5ossl.h9
-rw-r--r--ext/digest/rmd160/.cvsignore3
-rw-r--r--ext/digest/rmd160/depend36
-rw-r--r--ext/digest/rmd160/extconf.rb19
-rw-r--r--ext/digest/rmd160/rmd160.c27
-rw-r--r--ext/digest/rmd160/rmd160.h24
-rw-r--r--ext/digest/rmd160/rmd160hl.c96
-rw-r--r--ext/digest/rmd160/rmd160init.c40
-rw-r--r--ext/digest/rmd160/rmd160ossl.c45
-rw-r--r--ext/digest/rmd160/rmd160ossl.h7
-rw-r--r--ext/digest/sha1/.cvsignore3
-rw-r--r--ext/digest/sha1/depend36
-rw-r--r--ext/digest/sha1/extconf.rb19
-rw-r--r--ext/digest/sha1/sha1.c26
-rw-r--r--ext/digest/sha1/sha1.h27
-rw-r--r--ext/digest/sha1/sha1cc.h14
-rw-r--r--ext/digest/sha1/sha1hl.c102
-rw-r--r--ext/digest/sha1/sha1init.c42
-rw-r--r--ext/digest/sha1/sha1ossl.c45
-rw-r--r--ext/digest/sha1/sha1ossl.h11
-rw-r--r--ext/digest/sha2/.cvsignore3
-rw-r--r--ext/digest/sha2/depend35
-rw-r--r--ext/digest/sha2/extconf.rb24
-rw-r--r--ext/digest/sha2/lib/sha2.rb108
-rw-r--r--ext/digest/sha2/sha2.c318
-rw-r--r--ext/digest/sha2/sha2.h194
-rw-r--r--ext/digest/sha2/sha2cc.h31
-rw-r--r--ext/digest/sha2/sha2hl.c252
-rw-r--r--ext/digest/sha2/sha2init.c42
-rw-r--r--ext/digest/sha2/sha2ossl.h27
-rw-r--r--ext/digest/test.sh7
-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.c1068
-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.c1046
-rw-r--r--ext/etc/etc.txt72
-rw-r--r--ext/etc/etc.txt.ja72
-rw-r--r--ext/etc/extconf.rb75
-rw-r--r--ext/etc/mkconstants.rb332
-rwxr-xr-x[-rw-r--r--]ext/extmk.rb501
-rw-r--r--ext/fcntl/.cvsignore3
-rw-r--r--ext/fcntl/depend1
-rw-r--r--ext/fcntl/extconf.rb1
-rw-r--r--ext/fcntl/fcntl.c194
-rw-r--r--ext/fiber/extconf.rb4
-rw-r--r--ext/fiber/fiber.c8
-rw-r--r--ext/fiddle/closure.c344
-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/depend57
-rw-r--r--ext/fiddle/extconf.rb182
-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.c315
-rw-r--r--ext/fiddle/function.h8
-rw-r--r--ext/fiddle/handle.c479
-rw-r--r--ext/fiddle/lib/fiddle.rb56
-rw-r--r--ext/fiddle/lib/fiddle/closure.rb49
-rw-r--r--ext/fiddle/lib/fiddle/cparser.rb194
-rw-r--r--ext/fiddle/lib/fiddle/function.rb18
-rw-r--r--ext/fiddle/lib/fiddle/import.rb315
-rw-r--r--ext/fiddle/lib/fiddle/pack.rb129
-rw-r--r--ext/fiddle/lib/fiddle/struct.rb244
-rw-r--r--ext/fiddle/lib/fiddle/types.rb72
-rw-r--r--ext/fiddle/lib/fiddle/value.rb113
-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.patch191
-rwxr-xr-xext/fiddle/win32/libffi-config.rb48
-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.rb12
-rw-r--r--ext/gdbm/gdbm.c901
-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
-rwxr-xr-xext/io/console/buildgem.sh5
-rw-r--r--ext/io/console/console.c983
-rw-r--r--ext/io/console/depend25
-rw-r--r--ext/io/console/extconf.rb27
-rw-r--r--ext/io/console/io-console.gemspec21
-rw-r--r--ext/io/console/lib/console/size.rb23
-rw-r--r--ext/io/console/win32_vk.chksum1
-rw-r--r--ext/io/console/win32_vk.inc1400
-rw-r--r--ext/io/console/win32_vk.list166
-rw-r--r--ext/io/nonblock/depend4
-rw-r--r--ext/io/nonblock/extconf.rb9
-rw-r--r--ext/io/nonblock/nonblock.c140
-rw-r--r--ext/io/wait/.cvsignore2
-rw-r--r--ext/io/wait/depend4
-rw-r--r--ext/io/wait/extconf.rb6
-rw-r--r--ext/io/wait/lib/nonblock.rb23
-rw-r--r--ext/io/wait/wait.c183
-rw-r--r--ext/json/extconf.rb4
-rw-r--r--ext/json/fbuffer/fbuffer.h190
-rw-r--r--ext/json/generator/depend21
-rw-r--r--ext/json/generator/extconf.rb5
-rw-r--r--ext/json/generator/generator.c1458
-rw-r--r--ext/json/generator/generator.h165
-rw-r--r--ext/json/json.gemspec7
-rw-r--r--ext/json/lib/json.rb63
-rw-r--r--ext/json/lib/json/add/bigdecimal.rb29
-rw-r--r--ext/json/lib/json/add/complex.rb29
-rw-r--r--ext/json/lib/json/add/core.rb12
-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.rb28
-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.rb485
-rw-r--r--ext/json/lib/json/ext.rb22
-rw-r--r--ext/json/lib/json/generic_object.rb63
-rw-r--r--ext/json/lib/json/version.rb9
-rw-r--r--ext/json/parser/depend20
-rw-r--r--ext/json/parser/extconf.rb6
-rw-r--r--ext/json/parser/parser.c2240
-rw-r--r--ext/json/parser/parser.h92
-rw-r--r--ext/json/parser/parser.rl963
-rw-r--r--ext/json/parser/prereq.mk10
-rw-r--r--ext/mathn/complex/complex.c7
-rw-r--r--ext/mathn/complex/extconf.rb4
-rw-r--r--ext/mathn/rational/extconf.rb4
-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/extconf.rb1
-rw-r--r--ext/nkf/lib/kconv.rb288
-rw-r--r--ext/nkf/nkf-utf8/config.h77
-rw-r--r--ext/nkf/nkf-utf8/nkf.c9729
-rw-r--r--ext/nkf/nkf-utf8/nkf.h189
-rw-r--r--ext/nkf/nkf-utf8/utf8tbl.c7348
-rw-r--r--ext/nkf/nkf-utf8/utf8tbl.h38
-rw-r--r--ext/nkf/nkf.c409
-rw-r--r--ext/objspace/depend66
-rw-r--r--ext/objspace/extconf.rb4
-rw-r--r--ext/objspace/object_tracing.c492
-rw-r--r--ext/objspace/objspace.c996
-rw-r--r--ext/objspace/objspace.h20
-rw-r--r--ext/objspace/objspace_dump.c479
-rw-r--r--ext/openssl/.cvsignore5
-rw-r--r--ext/openssl/depend1091
-rw-r--r--ext/openssl/deprecation.rb22
-rw-r--r--ext/openssl/extconf.rb112
-rw-r--r--ext/openssl/lib/net/ftptls.rb53
-rw-r--r--ext/openssl/lib/net/telnets.rb251
-rw-r--r--ext/openssl/lib/openssl.rb13
-rw-r--r--ext/openssl/lib/openssl/bn.rb44
-rw-r--r--ext/openssl/lib/openssl/buffering.rb264
-rw-r--r--ext/openssl/lib/openssl/cipher.rb63
-rw-r--r--ext/openssl/lib/openssl/config.rb473
-rw-r--r--ext/openssl/lib/openssl/digest.rb96
-rw-r--r--ext/openssl/lib/openssl/pkey.rb37
-rw-r--r--ext/openssl/lib/openssl/ssl.rb371
-rw-r--r--ext/openssl/lib/openssl/x509.rb74
-rw-r--r--ext/openssl/openssl_missing.c51
-rw-r--r--ext/openssl/openssl_missing.h121
-rw-r--r--ext/openssl/ossl.c887
-rw-r--r--ext/openssl/ossl.h101
-rw-r--r--ext/openssl/ossl_asn1.c1294
-rw-r--r--ext/openssl/ossl_asn1.h7
-rw-r--r--ext/openssl/ossl_bio.c32
-rw-r--r--ext/openssl/ossl_bio.h4
-rw-r--r--ext/openssl/ossl_bn.c597
-rw-r--r--ext/openssl/ossl_bn.h9
-rw-r--r--ext/openssl/ossl_cipher.c770
-rw-r--r--ext/openssl/ossl_cipher.h5
-rw-r--r--ext/openssl/ossl_config.c443
-rw-r--r--ext/openssl/ossl_config.h5
-rw-r--r--ext/openssl/ossl_digest.c431
-rw-r--r--ext/openssl/ossl_digest.h5
-rw-r--r--ext/openssl/ossl_engine.c297
-rw-r--r--ext/openssl/ossl_engine.h3
-rw-r--r--ext/openssl/ossl_hmac.c245
-rw-r--r--ext/openssl/ossl_hmac.h3
-rw-r--r--ext/openssl/ossl_ns_spki.c219
-rw-r--r--ext/openssl/ossl_ns_spki.h4
-rw-r--r--ext/openssl/ossl_ocsp.c740
-rw-r--r--ext/openssl/ossl_ocsp.h3
-rw-r--r--ext/openssl/ossl_pkcs12.c130
-rw-r--r--ext/openssl/ossl_pkcs12.h5
-rw-r--r--ext/openssl/ossl_pkcs5.c188
-rw-r--r--ext/openssl/ossl_pkcs7.c294
-rw-r--r--ext/openssl/ossl_pkcs7.h5
-rw-r--r--ext/openssl/ossl_pkey.c275
-rw-r--r--ext/openssl/ossl_pkey.h57
-rw-r--r--ext/openssl/ossl_pkey_dh.c365
-rw-r--r--ext/openssl/ossl_pkey_dsa.c314
-rw-r--r--ext/openssl/ossl_pkey_ec.c1703
-rw-r--r--ext/openssl/ossl_pkey_rsa.c362
-rw-r--r--ext/openssl/ossl_rand.c186
-rw-r--r--ext/openssl/ossl_rand.h4
-rw-r--r--ext/openssl/ossl_ssl.c2030
-rw-r--r--ext/openssl/ossl_ssl.h25
-rw-r--r--ext/openssl/ossl_ssl_session.c328
-rw-r--r--ext/openssl/ossl_version.h5
-rw-r--r--ext/openssl/ossl_x509.c6
-rw-r--r--ext/openssl/ossl_x509.h5
-rw-r--r--ext/openssl/ossl_x509attr.c123
-rw-r--r--ext/openssl/ossl_x509cert.c415
-rw-r--r--ext/openssl/ossl_x509crl.c138
-rw-r--r--ext/openssl/ossl_x509ext.c191
-rw-r--r--ext/openssl/ossl_x509name.c257
-rw-r--r--ext/openssl/ossl_x509req.c124
-rw-r--r--ext/openssl/ossl_x509revoked.c82
-rw-r--r--ext/openssl/ossl_x509store.c233
-rw-r--r--ext/openssl/ruby_missing.h19
-rw-r--r--ext/pathname/depend3
-rw-r--r--ext/pathname/extconf.rb4
-rw-r--r--ext/pathname/lib/pathname.rb591
-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.rb39
-rw-r--r--ext/psych/lib/psych.rb510
-rw-r--r--ext/psych/lib/psych/class_loader.rb102
-rw-r--r--ext/psych/lib/psych/coder.rb95
-rw-r--r--ext/psych/lib/psych/core_ext.rb36
-rw-r--r--ext/psych/lib/psych/deprecated.rb86
-rw-r--r--ext/psych/lib/psych/exception.rb14
-rw-r--r--ext/psych/lib/psych/handler.rb250
-rw-r--r--ext/psych/lib/psych/handlers/document_stream.rb23
-rw-r--r--ext/psych/lib/psych/handlers/recorder.rb40
-rw-r--r--ext/psych/lib/psych/json/ruby_events.rb20
-rw-r--r--ext/psych/lib/psych/json/stream.rb17
-rw-r--r--ext/psych/lib/psych/json/tree_builder.rb13
-rw-r--r--ext/psych/lib/psych/json/yaml_events.rb30
-rw-r--r--ext/psych/lib/psych/nodes.rb78
-rw-r--r--ext/psych/lib/psych/nodes/alias.rb19
-rw-r--r--ext/psych/lib/psych/nodes/document.rb61
-rw-r--r--ext/psych/lib/psych/nodes/mapping.rb57
-rw-r--r--ext/psych/lib/psych/nodes/node.rb56
-rw-r--r--ext/psych/lib/psych/nodes/scalar.rb68
-rw-r--r--ext/psych/lib/psych/nodes/sequence.rb82
-rw-r--r--ext/psych/lib/psych/nodes/stream.rb38
-rw-r--r--ext/psych/lib/psych/omap.rb5
-rw-r--r--ext/psych/lib/psych/parser.rb52
-rw-r--r--ext/psych/lib/psych/scalar_scanner.rb150
-rw-r--r--ext/psych/lib/psych/set.rb5
-rw-r--r--ext/psych/lib/psych/stream.rb38
-rw-r--r--ext/psych/lib/psych/streaming.rb28
-rw-r--r--ext/psych/lib/psych/syntax_error.rb22
-rw-r--r--ext/psych/lib/psych/tree_builder.rb97
-rw-r--r--ext/psych/lib/psych/versions.rb4
-rw-r--r--ext/psych/lib/psych/visitors.rb7
-rw-r--r--ext/psych/lib/psych/visitors/depth_first.rb27
-rw-r--r--ext/psych/lib/psych/visitors/emitter.rb52
-rw-r--r--ext/psych/lib/psych/visitors/json_tree.rb25
-rw-r--r--ext/psych/lib/psych/visitors/to_ruby.rb406
-rw-r--r--ext/psych/lib/psych/visitors/visitor.rb20
-rw-r--r--ext/psych/lib/psych/visitors/yaml_tree.rb598
-rw-r--r--ext/psych/lib/psych/y.rb10
-rw-r--r--ext/psych/lib/psych_jars.rb6
-rw-r--r--ext/psych/psych.c34
-rw-r--r--ext/psych/psych.gemspec45
-rw-r--r--ext/psych/psych.h20
-rw-r--r--ext/psych/psych_emitter.c570
-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.c1392
-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.c444
-rw-r--r--ext/psych/yaml/parser.c1374
-rw-r--r--ext/psych/yaml/reader.c469
-rw-r--r--ext/psych/yaml/scanner.c3576
-rw-r--r--ext/psych/yaml/writer.c141
-rw-r--r--ext/psych/yaml/yaml.h1971
-rw-r--r--ext/psych/yaml/yaml_private.h662
-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.rb9
-rw-r--r--ext/pty/lib/expect.rb40
-rw-r--r--ext/pty/pty.c867
-rw-r--r--ext/pty/script.rb37
-rw-r--r--ext/pty/shl.rb92
-rw-r--r--ext/racc/cparse/.cvsignore3
-rw-r--r--ext/racc/cparse/README11
-rw-r--r--ext/racc/cparse/cparse.c165
-rw-r--r--ext/racc/cparse/depend1
-rw-r--r--ext/racc/cparse/extconf.rb4
-rw-r--r--ext/rbconfig/sizeof/depend17
-rw-r--r--ext/rbconfig/sizeof/extconf.rb36
-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.rb112
-rw-r--r--ext/readline/readline.c1929
-rw-r--r--ext/ripper/README30
-rw-r--r--ext/ripper/depend75
-rw-r--r--ext/ripper/eventids2.c306
-rw-r--r--ext/ripper/extconf.rb22
-rw-r--r--ext/ripper/lib/ripper.rb74
-rw-r--r--ext/ripper/lib/ripper/core.rb72
-rw-r--r--ext/ripper/lib/ripper/filter.rb78
-rw-r--r--ext/ripper/lib/ripper/lexer.rb222
-rw-r--r--ext/ripper/lib/ripper/sexp.rb146
-rwxr-xr-xext/ripper/tools/generate-param-macros.rb15
-rwxr-xr-xext/ripper/tools/generate.rb162
-rwxr-xr-xext/ripper/tools/preproc.rb92
-rwxr-xr-xext/ripper/tools/strip.rb13
-rw-r--r--ext/sdbm/.cvsignore3
-rw-r--r--ext/sdbm/_sdbm.c259
-rw-r--r--ext/sdbm/depend21
-rw-r--r--ext/sdbm/extconf.rb2
-rw-r--r--ext/sdbm/init.c764
-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.c1732
-rw-r--r--ext/socket/basicsocket.c733
-rw-r--r--ext/socket/constants.c145
-rw-r--r--ext/socket/depend298
-rw-r--r--ext/socket/extconf.rb702
-rw-r--r--ext/socket/getaddrinfo.c123
-rw-r--r--ext/socket/getnameinfo.c69
-rw-r--r--ext/socket/ifaddr.c459
-rw-r--r--ext/socket/init.c683
-rw-r--r--ext/socket/ipsocket.c341
-rw-r--r--ext/socket/lib/socket.rb1351
-rw-r--r--ext/socket/mkconstants.rb805
-rw-r--r--ext/socket/option.c1476
-rw-r--r--ext/socket/raddrinfo.c2617
-rw-r--r--ext/socket/rubysocket.h441
-rw-r--r--ext/socket/socket.c5173
-rw-r--r--ext/socket/sockport.h86
-rw-r--r--ext/socket/sockssocket.c68
-rw-r--r--ext/socket/tcpserver.c146
-rw-r--r--ext/socket/tcpsocket.c82
-rw-r--r--ext/socket/udpsocket.c242
-rw-r--r--ext/socket/unixserver.c126
-rw-r--r--ext/socket/unixsocket.c546
-rw-r--r--ext/stringio/.cvsignore3
-rw-r--r--ext/stringio/README5
-rw-r--r--ext/stringio/depend6
-rw-r--r--ext/stringio/extconf.rb1
-rw-r--r--ext/stringio/stringio.c1140
-rw-r--r--ext/strscan/.cvsignore3
-rw-r--r--ext/strscan/depend18
-rw-r--r--ext/strscan/extconf.rb2
-rw-r--r--ext/strscan/strscan.c405
-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.h458
-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/extconf.rb3
-rw-r--r--ext/syslog/lib/syslog/logger.rb209
-rw-r--r--ext/syslog/syslog.c396
-rw-r--r--ext/syslog/syslog.txt11
-rw-r--r--ext/syslog/test.rb164
-rw-r--r--ext/thread/extconf.rb4
-rw-r--r--ext/thread/thread.c6
-rw-r--r--ext/tk/.cvsignore3
-rw-r--r--ext/tk/ChangeLog.tkextlib111
-rw-r--r--ext/tk/MANUAL_tcltklib.eng328
-rw-r--r--ext/tk/MANUAL_tcltklib.eucj557
-rw-r--r--ext/tk/MANUAL_tcltklib.ja578
-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.tcltklib136
-rw-r--r--ext/tk/config_list.in41
-rw-r--r--ext/tk/depend4
-rw-r--r--ext/tk/extconf.rb2070
-rw-r--r--ext/tk/lib/README6
-rw-r--r--ext/tk/lib/multi-tk.rb1000
-rw-r--r--ext/tk/lib/remote-tk.rb47
-rw-r--r--ext/tk/lib/tcltk.rb29
-rw-r--r--ext/tk/lib/tk.rb1923
-rw-r--r--ext/tk/lib/tk/after.rb3
-rw-r--r--ext/tk/lib/tk/autoload.rb707
-rw-r--r--ext/tk/lib/tk/bgerror.rb1
-rw-r--r--ext/tk/lib/tk/bindtag.rb84
-rw-r--r--ext/tk/lib/tk/busy.rb119
-rw-r--r--ext/tk/lib/tk/button.rb9
-rw-r--r--ext/tk/lib/tk/canvas.rb180
-rw-r--r--ext/tk/lib/tk/canvastag.rb145
-rw-r--r--ext/tk/lib/tk/checkbutton.rb14
-rw-r--r--ext/tk/lib/tk/clipboard.rb1
-rw-r--r--ext/tk/lib/tk/clock.rb1
-rw-r--r--ext/tk/lib/tk/composite.rb119
-rw-r--r--ext/tk/lib/tk/console.rb7
-rw-r--r--ext/tk/lib/tk/dialog.rb31
-rw-r--r--ext/tk/lib/tk/encodedstr.rb91
-rw-r--r--ext/tk/lib/tk/entry.rb10
-rw-r--r--ext/tk/lib/tk/event.rb277
-rw-r--r--ext/tk/lib/tk/font.rb836
-rw-r--r--ext/tk/lib/tk/fontchooser.rb181
-rw-r--r--ext/tk/lib/tk/frame.rb9
-rw-r--r--ext/tk/lib/tk/grid.rb80
-rw-r--r--ext/tk/lib/tk/image.rb195
-rw-r--r--ext/tk/lib/tk/itemconfig.rb328
-rw-r--r--ext/tk/lib/tk/itemfont.rb70
-rw-r--r--ext/tk/lib/tk/kinput.rb7
-rw-r--r--ext/tk/lib/tk/label.rb9
-rw-r--r--ext/tk/lib/tk/labelframe.rb13
-rw-r--r--ext/tk/lib/tk/listbox.rb42
-rw-r--r--ext/tk/lib/tk/macpkg.rb12
-rw-r--r--ext/tk/lib/tk/menu.rb187
-rw-r--r--ext/tk/lib/tk/menubar.rb49
-rw-r--r--ext/tk/lib/tk/menuspec.rb260
-rw-r--r--ext/tk/lib/tk/message.rb10
-rw-r--r--ext/tk/lib/tk/mngfocus.rb5
-rw-r--r--ext/tk/lib/tk/msgcat.rb86
-rw-r--r--ext/tk/lib/tk/namespace.rb165
-rw-r--r--ext/tk/lib/tk/optiondb.rb69
-rw-r--r--ext/tk/lib/tk/optionobj.rb19
-rw-r--r--ext/tk/lib/tk/pack.rb18
-rw-r--r--ext/tk/lib/tk/package.rb5
-rw-r--r--ext/tk/lib/tk/palette.rb7
-rw-r--r--ext/tk/lib/tk/panedwindow.rb73
-rw-r--r--ext/tk/lib/tk/place.rb13
-rw-r--r--ext/tk/lib/tk/radiobutton.rb14
-rw-r--r--ext/tk/lib/tk/root.rb48
-rw-r--r--ext/tk/lib/tk/scale.rb39
-rw-r--r--ext/tk/lib/tk/scrollable.rb12
-rw-r--r--ext/tk/lib/tk/scrollbar.rb76
-rw-r--r--ext/tk/lib/tk/scrollbox.rb8
-rw-r--r--ext/tk/lib/tk/selection.rb7
-rw-r--r--ext/tk/lib/tk/spinbox.rb68
-rw-r--r--ext/tk/lib/tk/tagfont.rb1
-rw-r--r--ext/tk/lib/tk/text.rb339
-rw-r--r--ext/tk/lib/tk/textimage.rb25
-rw-r--r--ext/tk/lib/tk/textmark.rb109
-rw-r--r--ext/tk/lib/tk/texttag.rb137
-rw-r--r--ext/tk/lib/tk/textwindow.rb34
-rw-r--r--ext/tk/lib/tk/timer.rb94
-rw-r--r--ext/tk/lib/tk/tk_mac.rb159
-rw-r--r--ext/tk/lib/tk/toplevel.rb34
-rw-r--r--ext/tk/lib/tk/ttk_selector.rb99
-rw-r--r--ext/tk/lib/tk/txtwin_abst.rb3
-rw-r--r--ext/tk/lib/tk/validation.rb54
-rw-r--r--ext/tk/lib/tk/variable.rb634
-rw-r--r--ext/tk/lib/tk/virtevent.rb86
-rw-r--r--ext/tk/lib/tk/winfo.rb11
-rw-r--r--ext/tk/lib/tk/winpkg.rb26
-rw-r--r--ext/tk/lib/tk/wm.rb477
-rw-r--r--ext/tk/lib/tk/xim.rb5
-rw-r--r--ext/tk/lib/tkafter.rb1
-rw-r--r--ext/tk/lib/tkbgerror.rb1
-rw-r--r--ext/tk/lib/tkcanvas.rb1
-rw-r--r--ext/tk/lib/tkclass.rb3
-rw-r--r--ext/tk/lib/tkconsole.rb1
-rw-r--r--ext/tk/lib/tkdialog.rb1
-rw-r--r--ext/tk/lib/tkentry.rb1
-rw-r--r--ext/tk/lib/tkextlib/ICONS.rb1
-rw-r--r--ext/tk/lib/tkextlib/ICONS/icons.rb9
-rw-r--r--ext/tk/lib/tkextlib/ICONS/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/SUPPORT_STATUS117
-rw-r--r--ext/tk/lib/tkextlib/blt.rb11
-rw-r--r--ext/tk/lib/tkextlib/blt/barchart.rb7
-rw-r--r--ext/tk/lib/tkextlib/blt/bitmap.rb22
-rw-r--r--ext/tk/lib/tkextlib/blt/busy.rb4
-rw-r--r--ext/tk/lib/tkextlib/blt/component.rb628
-rw-r--r--ext/tk/lib/tkextlib/blt/container.rb23
-rw-r--r--ext/tk/lib/tkextlib/blt/cutbuffer.rb1
-rw-r--r--ext/tk/lib/tkextlib/blt/dragdrop.rb78
-rw-r--r--ext/tk/lib/tkextlib/blt/eps.rb3
-rw-r--r--ext/tk/lib/tkextlib/blt/graph.rb5
-rw-r--r--ext/tk/lib/tkextlib/blt/htext.rb5
-rw-r--r--ext/tk/lib/tkextlib/blt/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/blt/spline.rb1
-rw-r--r--ext/tk/lib/tkextlib/blt/stripchart.rb7
-rw-r--r--ext/tk/lib/tkextlib/blt/table.rb133
-rw-r--r--ext/tk/lib/tkextlib/blt/tabnotebook.rb94
-rw-r--r--ext/tk/lib/tkextlib/blt/tabset.rb186
-rw-r--r--ext/tk/lib/tkextlib/blt/ted.rb13
-rw-r--r--ext/tk/lib/tkextlib/blt/tile.rb5
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/button.rb3
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/checkbutton.rb5
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/frame.rb3
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/label.rb3
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/radiobutton.rb5
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/scrollbar.rb3
-rw-r--r--ext/tk/lib/tkextlib/blt/tile/toplevel.rb3
-rw-r--r--ext/tk/lib/tkextlib/blt/tree.rb390
-rw-r--r--ext/tk/lib/tkextlib/blt/treeview.rb286
-rw-r--r--ext/tk/lib/tkextlib/blt/unix_dnd.rb23
-rw-r--r--ext/tk/lib/tkextlib/blt/vector.rb50
-rw-r--r--ext/tk/lib/tkextlib/blt/watch.rb48
-rw-r--r--ext/tk/lib/tkextlib/blt/win_printer.rb1
-rw-r--r--ext/tk/lib/tkextlib/blt/winop.rb13
-rw-r--r--ext/tk/lib/tkextlib/bwidget.rb3
-rw-r--r--ext/tk/lib/tkextlib/bwidget/arrowbutton.rb3
-rw-r--r--ext/tk/lib/tkextlib/bwidget/bitmap.rb1
-rw-r--r--ext/tk/lib/tkextlib/bwidget/button.rb5
-rw-r--r--ext/tk/lib/tkextlib/bwidget/buttonbox.rb23
-rw-r--r--ext/tk/lib/tkextlib/bwidget/combobox.rb22
-rw-r--r--ext/tk/lib/tkextlib/bwidget/dialog.rb52
-rw-r--r--ext/tk/lib/tkextlib/bwidget/dragsite.rb1
-rw-r--r--ext/tk/lib/tkextlib/bwidget/dropsite.rb1
-rw-r--r--ext/tk/lib/tkextlib/bwidget/dynamichelp.rb8
-rw-r--r--ext/tk/lib/tkextlib/bwidget/entry.rb5
-rw-r--r--ext/tk/lib/tkextlib/bwidget/label.rb5
-rw-r--r--ext/tk/lib/tkextlib/bwidget/labelentry.rb5
-rw-r--r--ext/tk/lib/tkextlib/bwidget/labelframe.rb11
-rw-r--r--ext/tk/lib/tkextlib/bwidget/listbox.rb63
-rw-r--r--ext/tk/lib/tkextlib/bwidget/mainframe.rb55
-rw-r--r--ext/tk/lib/tkextlib/bwidget/messagedlg.rb19
-rw-r--r--ext/tk/lib/tkextlib/bwidget/notebook.rb33
-rw-r--r--ext/tk/lib/tkextlib/bwidget/pagesmanager.rb19
-rw-r--r--ext/tk/lib/tkextlib/bwidget/panedwindow.rb16
-rw-r--r--ext/tk/lib/tkextlib/bwidget/panelframe.rb23
-rw-r--r--ext/tk/lib/tkextlib/bwidget/passwddlg.rb9
-rw-r--r--ext/tk/lib/tkextlib/bwidget/progressbar.rb3
-rw-r--r--ext/tk/lib/tkextlib/bwidget/progressdlg.rb7
-rw-r--r--ext/tk/lib/tkextlib/bwidget/scrollableframe.rb11
-rw-r--r--ext/tk/lib/tkextlib/bwidget/scrolledwindow.rb21
-rw-r--r--ext/tk/lib/tkextlib/bwidget/scrollview.rb3
-rw-r--r--ext/tk/lib/tkextlib/bwidget/selectcolor.rb31
-rw-r--r--ext/tk/lib/tkextlib/bwidget/selectfont.rb15
-rw-r--r--ext/tk/lib/tkextlib/bwidget/separator.rb3
-rw-r--r--ext/tk/lib/tkextlib/bwidget/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/bwidget/spinbox.rb5
-rw-r--r--ext/tk/lib/tkextlib/bwidget/statusbar.rb27
-rw-r--r--ext/tk/lib/tkextlib/bwidget/titleframe.rb11
-rw-r--r--ext/tk/lib/tkextlib/bwidget/tree.rb117
-rw-r--r--ext/tk/lib/tkextlib/bwidget/widget.rb21
-rw-r--r--ext/tk/lib/tkextlib/itcl.rb1
-rw-r--r--ext/tk/lib/tkextlib/itcl/incr_tcl.rb15
-rw-r--r--ext/tk/lib/tkextlib/itcl/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/itk.rb1
-rw-r--r--ext/tk/lib/tkextlib/itk/incr_tk.rb51
-rw-r--r--ext/tk/lib/tkextlib/itk/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets.rb1
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/buttonbox.rb9
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/calendar.rb24
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/canvasprintbox.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/canvasprintdialog.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/checkbox.rb27
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/combobox.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/dateentry.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/datefield.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/dialog.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/dialogshell.rb9
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/disjointlistbox.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/entryfield.rb38
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/extbutton.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/extfileselectionbox.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/extfileselectiondialog.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/feedback.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/fileselectionbox.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/fileselectiondialog.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/finddialog.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/hierarchy.rb81
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/hyperhelp.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/labeledframe.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/mainwindow.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/menubar.rb9
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/messagebox.rb9
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/messagedialog.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/notebook.rb20
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/optionmenu.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/panedwindow.rb9
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/promptdialog.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/pushbutton.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/radiobox.rb20
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scopedobject.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb27
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledframe.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledhtml.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb7
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb95
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/scrolledwidget.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/selectionbox.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/selectiondialog.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/shell.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spindate.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spinint.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spinner.rb38
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/spintime.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/tabnotebook.rb25
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/tabset.rb53
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/timeentry.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/timefield.rb3
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/toolbar.rb5
-rw-r--r--ext/tk/lib/tkextlib/iwidgets/watch.rb5
-rwxr-xr-xext/tk/lib/tkextlib/pkg_checker.rb7
-rw-r--r--ext/tk/lib/tkextlib/setup.rb9
-rw-r--r--ext/tk/lib/tkextlib/tcllib.rb30
-rw-r--r--ext/tk/lib/tkextlib/tcllib/README14
-rw-r--r--ext/tk/lib/tkextlib/tcllib/autoscroll.rb27
-rw-r--r--ext/tk/lib/tkextlib/tcllib/calendar.rb56
-rw-r--r--ext/tk/lib/tkextlib/tcllib/canvas_sqmap.rb37
-rw-r--r--ext/tk/lib/tkextlib/tcllib/canvas_zoom.rb22
-rw-r--r--ext/tk/lib/tkextlib/tcllib/chatwidget.rb152
-rw-r--r--ext/tk/lib/tkextlib/tcllib/crosshair.rb118
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ctext.rb15
-rw-r--r--ext/tk/lib/tkextlib/tcllib/cursor.rb15
-rw-r--r--ext/tk/lib/tkextlib/tcllib/dateentry.rb63
-rw-r--r--ext/tk/lib/tkextlib/tcllib/datefield.rb15
-rw-r--r--ext/tk/lib/tkextlib/tcllib/diagrams.rb225
-rw-r--r--ext/tk/lib/tkextlib/tcllib/dialog.rb3
-rw-r--r--ext/tk/lib/tkextlib/tcllib/getstring.rb10
-rw-r--r--ext/tk/lib/tkextlib/tcllib/history.rb1
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ico.rb53
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ip_entry.rb18
-rw-r--r--ext/tk/lib/tkextlib/tcllib/khim.rb69
-rw-r--r--ext/tk/lib/tkextlib/tcllib/menuentry.rb48
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ntext.rb147
-rw-r--r--ext/tk/lib/tkextlib/tcllib/panelframe.rb11
-rw-r--r--ext/tk/lib/tkextlib/tcllib/plotchart.rb790
-rw-r--r--ext/tk/lib/tkextlib/tcllib/ruler.rb3
-rw-r--r--ext/tk/lib/tkextlib/tcllib/screenruler.rb3
-rw-r--r--ext/tk/lib/tkextlib/tcllib/scrolledwindow.rb58
-rw-r--r--ext/tk/lib/tkextlib/tcllib/scrollwin.rb3
-rw-r--r--ext/tk/lib/tkextlib/tcllib/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tcllib/statusbar.rb80
-rw-r--r--ext/tk/lib/tkextlib/tcllib/style.rb1
-rw-r--r--ext/tk/lib/tkextlib/tcllib/superframe.rb3
-rw-r--r--ext/tk/lib/tkextlib/tcllib/swaplist.rb16
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tablelist.rb10
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tablelist_core.rb343
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb23
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tkpiechart.rb37
-rw-r--r--ext/tk/lib/tkextlib/tcllib/toolbar.rb176
-rw-r--r--ext/tk/lib/tkextlib/tcllib/tooltip.rb14
-rw-r--r--ext/tk/lib/tkextlib/tcllib/validator.rb66
-rw-r--r--ext/tk/lib/tkextlib/tcllib/widget.rb35
-rw-r--r--ext/tk/lib/tkextlib/tclx.rb1
-rw-r--r--ext/tk/lib/tkextlib/tclx/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tclx/tclx.rb1
-rw-r--r--ext/tk/lib/tkextlib/tile.rb289
-rw-r--r--ext/tk/lib/tkextlib/tile/dialog.rb23
-rw-r--r--ext/tk/lib/tkextlib/tile/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tile/sizegrip.rb33
-rw-r--r--ext/tk/lib/tkextlib/tile/style.rb262
-rw-r--r--ext/tk/lib/tkextlib/tile/tbutton.rb11
-rw-r--r--ext/tk/lib/tkextlib/tile/tcheckbutton.rb13
-rw-r--r--ext/tk/lib/tkextlib/tile/tcombobox.rb13
-rw-r--r--ext/tk/lib/tkextlib/tile/tentry.rb16
-rw-r--r--ext/tk/lib/tkextlib/tile/tframe.rb11
-rw-r--r--ext/tk/lib/tkextlib/tile/tlabel.rb11
-rw-r--r--ext/tk/lib/tkextlib/tile/tlabelframe.rb13
-rw-r--r--ext/tk/lib/tkextlib/tile/tmenubutton.rb17
-rw-r--r--ext/tk/lib/tkextlib/tile/tnotebook.rb56
-rw-r--r--ext/tk/lib/tkextlib/tile/tpaned.rb94
-rw-r--r--ext/tk/lib/tkextlib/tile/tprogressbar.rb7
-rw-r--r--ext/tk/lib/tkextlib/tile/tradiobutton.rb13
-rw-r--r--ext/tk/lib/tkextlib/tile/treeview.rb1315
-rw-r--r--ext/tk/lib/tkextlib/tile/tscale.rb15
-rw-r--r--ext/tk/lib/tkextlib/tile/tscrollbar.rb40
-rw-r--r--ext/tk/lib/tkextlib/tile/tseparator.rb7
-rw-r--r--ext/tk/lib/tkextlib/tile/tspinbox.rb108
-rw-r--r--ext/tk/lib/tkextlib/tile/tsquare.rb3
-rw-r--r--ext/tk/lib/tkextlib/tkDND.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkDND/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tkDND/shape.rb33
-rw-r--r--ext/tk/lib/tkextlib/tkDND/tkdnd.rb73
-rw-r--r--ext/tk/lib/tkextlib/tkHTML.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkHTML/htmlwidget.rb26
-rw-r--r--ext/tk/lib/tkextlib/tkHTML/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tkimg.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/README2
-rw-r--r--ext/tk/lib/tkextlib/tkimg/bmp.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/dted.rb34
-rw-r--r--ext/tk/lib/tkextlib/tkimg/gif.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/ico.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/jpeg.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/pcx.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/pixmap.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/png.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/ppm.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/ps.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/raw.rb34
-rw-r--r--ext/tk/lib/tkextlib/tkimg/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tkimg/sgi.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/sun.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/tga.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/tiff.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/window.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/xbm.rb1
-rw-r--r--ext/tk/lib/tkextlib/tkimg/xpm.rb1
-rw-r--r--ext/tk/lib/tkextlib/tktable.rb1
-rw-r--r--ext/tk/lib/tkextlib/tktable/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tktable/tktable.rb308
-rw-r--r--ext/tk/lib/tkextlib/tktrans.rb1
-rw-r--r--ext/tk/lib/tkextlib/tktrans/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/tktrans/tktrans.rb5
-rw-r--r--ext/tk/lib/tkextlib/treectrl.rb1
-rw-r--r--ext/tk/lib/tkextlib/treectrl/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/treectrl/tktreectrl.rb520
-rw-r--r--ext/tk/lib/tkextlib/trofs.rb1
-rw-r--r--ext/tk/lib/tkextlib/trofs/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/trofs/trofs.rb1
-rw-r--r--ext/tk/lib/tkextlib/version.rb7
-rw-r--r--ext/tk/lib/tkextlib/vu.rb1
-rw-r--r--ext/tk/lib/tkextlib/vu/bargraph.rb11
-rw-r--r--ext/tk/lib/tkextlib/vu/charts.rb3
-rw-r--r--ext/tk/lib/tkextlib/vu/dial.rb7
-rw-r--r--ext/tk/lib/tkextlib/vu/pie.rb84
-rw-r--r--ext/tk/lib/tkextlib/vu/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/vu/spinbox.rb5
-rw-r--r--ext/tk/lib/tkextlib/winico.rb1
-rw-r--r--ext/tk/lib/tkextlib/winico/setup.rb5
-rw-r--r--ext/tk/lib/tkextlib/winico/winico.rb90
-rw-r--r--ext/tk/lib/tkfont.rb1
-rw-r--r--ext/tk/lib/tkmacpkg.rb1
-rw-r--r--ext/tk/lib/tkmenubar.rb1
-rw-r--r--ext/tk/lib/tkmngfocus.rb1
-rw-r--r--ext/tk/lib/tkpalette.rb1
-rw-r--r--ext/tk/lib/tkscrollbox.rb1
-rw-r--r--ext/tk/lib/tktext.rb1
-rw-r--r--ext/tk/lib/tkvirtevent.rb1
-rw-r--r--ext/tk/lib/tkwinpkg.rb1
-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.rb441
-rw-r--r--ext/tk/sample/24hr_clock.rb131
-rw-r--r--ext/tk/sample/binding_sample.rb9
-rw-r--r--ext/tk/sample/bindtag_sample.rb39
-rw-r--r--ext/tk/sample/binstr_usage.rb15
-rw-r--r--ext/tk/sample/btn_with_frame.rb1
-rw-r--r--ext/tk/sample/cd_timer.rb17
-rw-r--r--ext/tk/sample/cmd_res_test.rb3
-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.rb25
-rw-r--r--ext/tk/sample/demos-en/aniwave.rb20
-rw-r--r--ext/tk/sample/demos-en/arrow.rb81
-rw-r--r--ext/tk/sample/demos-en/bind.rb68
-rw-r--r--ext/tk/sample/demos-en/bitmap.rb17
-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.rb13
-rw-r--r--ext/tk/sample/demos-en/check.rb23
-rw-r--r--ext/tk/sample/demos-en/check2.rb47
-rw-r--r--ext/tk/sample/demos-en/clrpick.rb31
-rw-r--r--ext/tk/sample/demos-en/colors.rb21
-rw-r--r--ext/tk/sample/demos-en/combo.rb97
-rw-r--r--ext/tk/sample/demos-en/cscroll.rb35
-rw-r--r--ext/tk/sample/demos-en/ctext.rb82
-rw-r--r--ext/tk/sample/demos-en/dialog1.rb1
-rw-r--r--ext/tk/sample/demos-en/dialog2.rb1
-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.rb19
-rw-r--r--ext/tk/sample/demos-en/entry2.rb13
-rw-r--r--ext/tk/sample/demos-en/entry3.rb71
-rw-r--r--ext/tk/sample/demos-en/filebox.rb48
-rw-r--r--ext/tk/sample/demos-en/floor.rb561
-rw-r--r--ext/tk/sample/demos-en/floor2.rb561
-rw-r--r--ext/tk/sample/demos-en/form.rb15
-rw-r--r--ext/tk/sample/demos-en/goldberg.rb420
-rw-r--r--ext/tk/sample/demos-en/hello6
-rw-r--r--ext/tk/sample/demos-en/hscale.rb30
-rw-r--r--ext/tk/sample/demos-en/icon.rb25
-rw-r--r--ext/tk/sample/demos-en/image1.rb16
-rw-r--r--ext/tk/sample/demos-en/image2.rb29
-rw-r--r--ext/tk/sample/demos-en/image3.rb44
-rw-r--r--ext/tk/sample/demos-en/items.rb104
-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.rb272
-rw-r--r--ext/tk/sample/demos-en/label.rb30
-rw-r--r--ext/tk/sample/demos-en/labelframe.rb19
-rw-r--r--ext/tk/sample/demos-en/mclist.rb118
-rw-r--r--ext/tk/sample/demos-en/menu.rb61
-rw-r--r--ext/tk/sample/demos-en/menu84.rb69
-rw-r--r--ext/tk/sample/demos-en/menubu.rb15
-rw-r--r--ext/tk/sample/demos-en/msgbox.rb35
-rw-r--r--ext/tk/sample/demos-en/msgbox2.rb92
-rw-r--r--ext/tk/sample/demos-en/paned1.rb19
-rw-r--r--ext/tk/sample/demos-en/paned2.rb53
-rw-r--r--ext/tk/sample/demos-en/patch_1.1c193
-rw-r--r--ext/tk/sample/demos-en/pendulum.rb76
-rw-r--r--ext/tk/sample/demos-en/plot.rb37
-rw-r--r--ext/tk/sample/demos-en/puzzle.rb39
-rw-r--r--ext/tk/sample/demos-en/radio.rb25
-rw-r--r--ext/tk/sample/demos-en/radio2.rb34
-rw-r--r--ext/tk/sample/demos-en/radio3.rb56
-rw-r--r--ext/tk/sample/demos-en/rmt68
-rw-r--r--ext/tk/sample/demos-en/rolodex8
-rw-r--r--ext/tk/sample/demos-en/rolodex-j323
-rw-r--r--ext/tk/sample/demos-en/ruler.rb43
-rw-r--r--ext/tk/sample/demos-en/sayings.rb17
-rw-r--r--ext/tk/sample/demos-en/search.rb52
-rw-r--r--ext/tk/sample/demos-en/spin.rb23
-rw-r--r--ext/tk/sample/demos-en/square12
-rw-r--r--ext/tk/sample/demos-en/states.rb31
-rw-r--r--ext/tk/sample/demos-en/style.rb81
-rw-r--r--ext/tk/sample/demos-en/tcolor18
-rw-r--r--ext/tk/sample/demos-en/text.rb17
-rw-r--r--ext/tk/sample/demos-en/textpeer.rb77
-rw-r--r--ext/tk/sample/demos-en/timer2
-rw-r--r--ext/tk/sample/demos-en/tkencoding.rb1
-rw-r--r--ext/tk/sample/demos-en/toolbar.rb131
-rw-r--r--ext/tk/sample/demos-en/tree.rb120
-rw-r--r--ext/tk/sample/demos-en/ttkbut.rb140
-rw-r--r--ext/tk/sample/demos-en/ttkmenu.rb86
-rw-r--r--ext/tk/sample/demos-en/ttknote.rb90
-rw-r--r--ext/tk/sample/demos-en/ttkpane.rb214
-rw-r--r--ext/tk/sample/demos-en/ttkprogress.rb67
-rw-r--r--ext/tk/sample/demos-en/twind.rb73
-rw-r--r--ext/tk/sample/demos-en/twind2.rb135
-rw-r--r--ext/tk/sample/demos-en/unicodeout.rb51
-rw-r--r--ext/tk/sample/demos-en/vscale.rb30
-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.rb46
-rw-r--r--ext/tk/sample/demos-jp/aniwave.rb29
-rw-r--r--ext/tk/sample/demos-jp/arrow.rb98
-rw-r--r--ext/tk/sample/demos-jp/bind.rb89
-rw-r--r--ext/tk/sample/demos-jp/bitmap.rb34
-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.rb25
-rw-r--r--ext/tk/sample/demos-jp/check.rb40
-rw-r--r--ext/tk/sample/demos-jp/check2.rb62
-rw-r--r--ext/tk/sample/demos-jp/clrpick.rb46
-rw-r--r--ext/tk/sample/demos-jp/colors.rb40
-rw-r--r--ext/tk/sample/demos-jp/combo.rb99
-rw-r--r--ext/tk/sample/demos-jp/cscroll.rb54
-rw-r--r--ext/tk/sample/demos-jp/ctext.rb109
-rw-r--r--ext/tk/sample/demos-jp/dialog1.rb12
-rw-r--r--ext/tk/sample/demos-jp/dialog2.rb12
-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.rb46
-rw-r--r--ext/tk/sample/demos-jp/entry2.rb42
-rw-r--r--ext/tk/sample/demos-jp/entry3.rb106
-rw-r--r--ext/tk/sample/demos-jp/filebox.rb73
-rw-r--r--ext/tk/sample/demos-jp/floor.rb580
-rw-r--r--ext/tk/sample/demos-jp/floor2.rb580
-rw-r--r--ext/tk/sample/demos-jp/form.rb38
-rw-r--r--ext/tk/sample/demos-jp/goldberg.rb441
-rw-r--r--ext/tk/sample/demos-jp/hello5
-rw-r--r--ext/tk/sample/demos-jp/hscale.rb42
-rw-r--r--ext/tk/sample/demos-jp/icon.rb46
-rw-r--r--ext/tk/sample/demos-jp/image1.rb37
-rw-r--r--ext/tk/sample/demos-jp/image2.rb53
-rw-r--r--ext/tk/sample/demos-jp/image3.rb41
-rw-r--r--ext/tk/sample/demos-jp/items.rb157
-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.rb274
-rw-r--r--ext/tk/sample/demos-jp/label.rb47
-rw-r--r--ext/tk/sample/demos-jp/labelframe.rb49
-rw-r--r--ext/tk/sample/demos-jp/mclist.rb122
-rw-r--r--ext/tk/sample/demos-jp/menu.rb142
-rw-r--r--ext/tk/sample/demos-jp/menu84.rb108
-rw-r--r--ext/tk/sample/demos-jp/menu8x.rb160
-rw-r--r--ext/tk/sample/demos-jp/menubu.rb42
-rw-r--r--ext/tk/sample/demos-jp/msgbox.rb64
-rw-r--r--ext/tk/sample/demos-jp/msgbox2.rb91
-rw-r--r--ext/tk/sample/demos-jp/paned1.rb35
-rw-r--r--ext/tk/sample/demos-jp/paned2.rb75
-rw-r--r--ext/tk/sample/demos-jp/pendulum.rb85
-rw-r--r--ext/tk/sample/demos-jp/plot.rb62
-rw-r--r--ext/tk/sample/demos-jp/puzzle.rb68
-rw-r--r--ext/tk/sample/demos-jp/radio.rb44
-rw-r--r--ext/tk/sample/demos-jp/radio2.rb50
-rw-r--r--ext/tk/sample/demos-jp/radio3.rb62
-rw-r--r--ext/tk/sample/demos-jp/rmt68
-rw-r--r--ext/tk/sample/demos-jp/rolodex8
-rw-r--r--ext/tk/sample/demos-jp/rolodex-j135
-rw-r--r--ext/tk/sample/demos-jp/ruler.rb60
-rw-r--r--ext/tk/sample/demos-jp/sayings.rb36
-rw-r--r--ext/tk/sample/demos-jp/search.rb81
-rw-r--r--ext/tk/sample/demos-jp/spin.rb65
-rw-r--r--ext/tk/sample/demos-jp/square12
-rw-r--r--ext/tk/sample/demos-jp/states.rb44
-rw-r--r--ext/tk/sample/demos-jp/style.rb259
-rw-r--r--ext/tk/sample/demos-jp/tcolor51
-rw-r--r--ext/tk/sample/demos-jp/text.rb112
-rw-r--r--ext/tk/sample/demos-jp/textpeer.rb83
-rw-r--r--ext/tk/sample/demos-jp/timer2
-rw-r--r--ext/tk/sample/demos-jp/toolbar.rb137
-rw-r--r--ext/tk/sample/demos-jp/tree.rb121
-rw-r--r--ext/tk/sample/demos-jp/ttkbut.rb146
-rw-r--r--ext/tk/sample/demos-jp/ttkmenu.rb92
-rw-r--r--ext/tk/sample/demos-jp/ttknote.rb98
-rw-r--r--ext/tk/sample/demos-jp/ttkpane.rb217
-rw-r--r--ext/tk/sample/demos-jp/ttkprogress.rb72
-rw-r--r--ext/tk/sample/demos-jp/twind.rb144
-rw-r--r--ext/tk/sample/demos-jp/twind2.rb224
-rw-r--r--ext/tk/sample/demos-jp/unicodeout.rb87
-rw-r--r--ext/tk/sample/demos-jp/vscale.rb45
-rw-r--r--ext/tk/sample/demos-jp/widget619
-rw-r--r--ext/tk/sample/editable_listbox.rb149
-rw-r--r--ext/tk/sample/encstr_usage.rb10
-rw-r--r--ext/tk/sample/figmemo_sample.rb457
-rw-r--r--ext/tk/sample/images/teapot.ppm49
-rw-r--r--ext/tk/sample/irbtk.rb5
-rw-r--r--ext/tk/sample/irbtkw.rbw156
-rw-r--r--ext/tk/sample/menubar1.rb23
-rw-r--r--ext/tk/sample/menubar2.rb29
-rw-r--r--ext/tk/sample/menubar3.rb73
-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.rb8
-rw-r--r--ext/tk/sample/multi-ip_sample2.rb3
-rw-r--r--ext/tk/sample/optobj_sample.rb31
-rw-r--r--ext/tk/sample/propagate.rb3
-rw-r--r--ext/tk/sample/remote-ip_sample.rb11
-rw-r--r--ext/tk/sample/remote-ip_sample2.rb21
-rwxr-xr-x[-rw-r--r--]ext/tk/sample/safe-tk.rb61
-rw-r--r--ext/tk/sample/scrollframe.rb31
-rw-r--r--ext/tk/sample/tcltklib/lines1.rb1
-rw-r--r--ext/tk/sample/tcltklib/lines2.rb1
-rw-r--r--ext/tk/sample/tcltklib/lines3.rb1
-rw-r--r--ext/tk/sample/tcltklib/lines4.rb1
-rw-r--r--ext/tk/sample/tcltklib/safeTk.rb1
-rw-r--r--ext/tk/sample/tcltklib/sample0.rb13
-rw-r--r--ext/tk/sample/tcltklib/sample1.rb305
-rw-r--r--ext/tk/sample/tcltklib/sample2.rb121
-rw-r--r--ext/tk/sample/tkalignbox.rb103
-rw-r--r--ext/tk/sample/tkballoonhelp.rb119
-rw-r--r--ext/tk/sample/tkbiff.rb7
-rw-r--r--ext/tk/sample/tkbrowse.rb3
-rw-r--r--ext/tk/sample/tkcombobox.rb134
-rw-r--r--ext/tk/sample/tkdialog.rb3
-rw-r--r--ext/tk/sample/tkextlib/ICONS/viewIcons.rb39
-rw-r--r--ext/tk/sample/tkextlib/blt/barchart5.rb23
-rw-r--r--ext/tk/sample/tkextlib/blt/calendar.rb55
-rw-r--r--ext/tk/sample/tkextlib/blt/graph6.rb4057
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7.rb9
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7a.rb11
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7b.rb9
-rw-r--r--ext/tk/sample/tkextlib/blt/graph7c.rb9
-rw-r--r--ext/tk/sample/tkextlib/blt/pareto.rb37
-rw-r--r--ext/tk/sample/tkextlib/blt/plot1.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/plot1b.rb3
-rw-r--r--ext/tk/sample/tkextlib/blt/readme.txt2
-rw-r--r--ext/tk/sample/tkextlib/blt/scripts/stipples.rb1
-rw-r--r--ext/tk/sample/tkextlib/blt/winop1.rb9
-rw-r--r--ext/tk/sample/tkextlib/blt/winop2.rb3
-rw-r--r--ext/tk/sample/tkextlib/bwidget/Orig_LICENSE.txt12
-rw-r--r--ext/tk/sample/tkextlib/bwidget/basic.rb97
-rw-r--r--ext/tk/sample/tkextlib/bwidget/demo.rb85
-rw-r--r--ext/tk/sample/tkextlib/bwidget/dnd.rb17
-rw-r--r--ext/tk/sample/tkextlib/bwidget/manager.rb29
-rw-r--r--ext/tk/sample/tkextlib/bwidget/select.rb57
-rw-r--r--ext/tk/sample/tkextlib/bwidget/tmpldlg.rb163
-rw-r--r--ext/tk/sample/tkextlib/bwidget/tree.rb97
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/catalog_demo/Orig_LICENSE.txt24
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/buttonbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/calendar.rb9
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/canvasprintbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/canvasprintdialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/checkbox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/combobox.rb9
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/dateentry.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/datefield.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/dialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/dialogshell.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/disjointlistbox.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-1.rb13
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-2.rb17
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/entryfield-3.rb11
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extbutton.rb13
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extfileselectionbox.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/extfileselectiondialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/feedback.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/fileselectionbox.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/fileselectiondialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/finddialog.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/hierarchy.rb17
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/hyperhelp.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/labeledframe.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/labeledwidget.rb5
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/mainwindow.rb37
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/menubar.rb67
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/menubar2.rb13
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagebox1.rb7
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagebox2.rb7
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/messagedialog.rb9
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/notebook.rb5
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/notebook2.rb5
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/optionmenu.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/panedwindow.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/panedwindow2.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/promptdialog.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/pushbutton.rb5
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/radiobox.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledcanvas.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledframe.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledhtml.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledlistbox.rb7
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/scrolledtext.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/selectionbox.rb5
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/selectiondialog.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/shell.rb9
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spindate.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spinint.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb9
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/spintime.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabnotebook2.rb3
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/tabset.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/timeentry.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/timefield.rb1
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/toolbar.rb33
-rw-r--r--ext/tk/sample/tkextlib/iwidgets/sample/watch.rb3
-rw-r--r--ext/tk/sample/tkextlib/tcllib/Orig_LICENSE.txt8
-rw-r--r--ext/tk/sample/tkextlib/tcllib/datefield.rb5
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos1.rb23
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos2.rb9
-rw-r--r--ext/tk/sample/tkextlib/tcllib/plotdemos3.rb21
-rw-r--r--ext/tk/sample/tkextlib/tcllib/xyplot.rb3
-rw-r--r--ext/tk/sample/tkextlib/tile/demo.rb214
-rw-r--r--ext/tk/sample/tkextlib/tile/readme.txt4
-rw-r--r--ext/tk/sample/tkextlib/tile/repeater.tcl12
-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.tcl30
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl4
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc.rb123
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl38
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl4
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl4
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/plastik/plastik.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/toolbutton.tcl36
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/README6
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/hv.rb49
-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.html40
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/page4/index.html2
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/ss.rb83
-rw-r--r--ext/tk/sample/tkextlib/tkimg/demo.rb11
-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.rb15
-rw-r--r--ext/tk/sample/tkextlib/tktable/buttons.rb13
-rw-r--r--ext/tk/sample/tkextlib/tktable/command.rb23
-rw-r--r--ext/tk/sample/tkextlib/tktable/debug.rb17
-rw-r--r--ext/tk/sample/tkextlib/tktable/dynarows.rb15
-rw-r--r--ext/tk/sample/tkextlib/tktable/maxsize.rb15
-rw-r--r--ext/tk/sample/tkextlib/tktable/spreadsheet.rb17
-rw-r--r--[-rwxr-xr-x]ext/tk/sample/tkextlib/tktable/tcllogo.gifbin2341 -> 2341 bytes-rw-r--r--ext/tk/sample/tkextlib/tktable/valid.rb13
-rw-r--r--ext/tk/sample/tkextlib/treectrl/bitmaps.rb33
-rw-r--r--ext/tk/sample/tkextlib/treectrl/demo.rb350
-rw-r--r--ext/tk/sample/tkextlib/treectrl/explorer.rb127
-rw-r--r--ext/tk/sample/tkextlib/treectrl/help.rb107
-rw-r--r--ext/tk/sample/tkextlib/treectrl/imovie.rb31
-rw-r--r--ext/tk/sample/tkextlib/treectrl/layout.rb27
-rw-r--r--ext/tk/sample/tkextlib/treectrl/mailwasher.rb101
-rw-r--r--ext/tk/sample/tkextlib/treectrl/outlook-folders.rb53
-rw-r--r--ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb103
-rw-r--r--ext/tk/sample/tkextlib/treectrl/random.rb69
-rw-r--r--ext/tk/sample/tkextlib/treectrl/readme.txt2
-rw-r--r--ext/tk/sample/tkextlib/treectrl/www-options.rb73
-rw-r--r--ext/tk/sample/tkextlib/vu/Orig_LICENSE.txt4
-rw-r--r--ext/tk/sample/tkextlib/vu/canvItems.rb69
-rw-r--r--ext/tk/sample/tkextlib/vu/canvSticker.rb5
-rw-r--r--ext/tk/sample/tkextlib/vu/canvSticker2.rb17
-rw-r--r--ext/tk/sample/tkextlib/vu/dial_demo.rb63
-rw-r--r--ext/tk/sample/tkextlib/vu/oscilloscope.rb17
-rw-r--r--ext/tk/sample/tkextlib/vu/pie.rb11
-rw-r--r--ext/tk/sample/tkextlib/vu/vu_demo.rb15
-rw-r--r--ext/tk/sample/tkfrom.rb3
-rw-r--r--ext/tk/sample/tkhello.rb3
-rw-r--r--ext/tk/sample/tkline.rb1
-rw-r--r--ext/tk/sample/tkmenubutton.rb57
-rw-r--r--ext/tk/sample/tkmsgcat-load_rb.rb17
-rw-r--r--ext/tk/sample/tkmsgcat-load_rb2.rb17
-rw-r--r--ext/tk/sample/tkmsgcat-load_tk.rb23
-rw-r--r--ext/tk/sample/tkmulticolumnlist.rb115
-rw-r--r--ext/tk/sample/tkmultilistbox.rb97
-rw-r--r--ext/tk/sample/tkmultilistframe.rb169
-rwxr-xr-x[-rw-r--r--]ext/tk/sample/tkoptdb-safeTk.rb33
-rw-r--r--ext/tk/sample/tkoptdb.rb35
-rw-r--r--ext/tk/sample/tkrttimer.rb18
-rw-r--r--ext/tk/sample/tksleep_sample.rb30
-rw-r--r--ext/tk/sample/tktextframe.rb268
-rw-r--r--ext/tk/sample/tktextio.rb582
-rw-r--r--ext/tk/sample/tktimer.rb1
-rw-r--r--ext/tk/sample/tktimer2.rb9
-rw-r--r--ext/tk/sample/tktimer3.rb9
-rw-r--r--ext/tk/sample/tktree.rb27
-rw-r--r--ext/tk/sample/ttk_wrapper.rb155
-rw-r--r--ext/tk/stubs.c168
-rw-r--r--ext/tk/stubs.h10
-rw-r--r--ext/tk/tcltklib.c4695
-rw-r--r--ext/tk/tkutil/.cvsignore3
-rw-r--r--ext/tk/tkutil/extconf.rb12
-rw-r--r--ext/tk/tkutil/tkutil.c1044
-rw-r--r--ext/win32/extconf.rb4
-rw-r--r--ext/win32/lib/Win32API.rb38
-rw-r--r--ext/win32/lib/win32/importer.rb9
-rw-r--r--ext/win32/lib/win32/registry.rb913
-rw-r--r--ext/win32/lib/win32/resolv.rb394
-rw-r--r--ext/win32/lib/win32/sspi.rb331
-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.rb44
-rw-r--r--ext/win32ole/lib/win32ole/property.rb1
-rw-r--r--ext/win32ole/sample/excel1.rb17
-rw-r--r--ext/win32ole/sample/excel2.rb21
-rw-r--r--ext/win32ole/sample/excel3.rb8
-rw-r--r--ext/win32ole/sample/ie.rb1
-rw-r--r--ext/win32ole/sample/ieconst.rb3
-rw-r--r--ext/win32ole/sample/ienavi.rb3
-rw-r--r--ext/win32ole/sample/ienavi2.rb41
-rw-r--r--ext/win32ole/sample/oledirs.rb3
-rw-r--r--ext/win32ole/sample/olegen.rb36
-rw-r--r--ext/win32ole/sample/xml.rb37
-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.c6388
-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.c1278
-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.c844
-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.c732
-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.rb21
-rw-r--r--ext/zlib/zlib.c3021
-rw-r--r--file.c4810
-rw-r--r--gc.c10129
-rw-r--r--gc.h114
-rw-r--r--gem_prelude.rb7
-rw-r--r--gems/bundled_gems6
-rw-r--r--golf_prelude.rb123
-rw-r--r--goruby.c60
-rw-r--r--hash.c3874
-rw-r--r--ia64.s42
-rw-r--r--id_table.c1583
-rw-r--r--id_table.h30
-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.h293
-rw-r--r--include/ruby/encoding.h419
-rw-r--r--include/ruby/intern.h1002
-rw-r--r--include/ruby/io.h185
-rw-r--r--include/ruby/missing.h268
-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.h2220
-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.h94
-rw-r--r--include/ruby/version.h74
-rw-r--r--include/ruby/vm.h64
-rw-r--r--include/ruby/win32.h798
-rw-r--r--inits.c121
-rw-r--r--insns.def2209
-rw-r--r--instruby.rb244
-rw-r--r--intern.h500
-rw-r--r--internal.h1408
-rw-r--r--io.c12708
-rw-r--r--iseq.c2462
-rw-r--r--iseq.h249
-rw-r--r--keywords42
-rw-r--r--lex.c136
-rw-r--r--lex.c.blt310
-rw-r--r--lib/.document103
-rw-r--r--lib/English.rb57
-rw-r--r--lib/Env.rb18
-rw-r--r--lib/README96
-rw-r--r--lib/abbrev.rb137
-rw-r--r--lib/base64.rb154
-rw-r--r--lib/benchmark.rb479
-rw-r--r--lib/cgi-lib.rb272
-rw-r--r--lib/cgi.rb2213
-rw-r--r--lib/cgi/.document2
-rw-r--r--lib/cgi/cookie.rb188
-rw-r--r--lib/cgi/core.rb881
-rw-r--r--lib/cgi/html.rb1035
-rw-r--r--lib/cgi/session.rb288
-rw-r--r--lib/cgi/session/pstore.rb74
-rw-r--r--lib/cgi/util.rb200
-rw-r--r--lib/cmath.rb435
-rw-r--r--lib/complex.rb631
-rw-r--r--lib/csv.rb3052
-rw-r--r--lib/date.rb1328
-rw-r--r--lib/date/format.rb603
-rw-r--r--lib/date2.rb5
-rw-r--r--lib/debug.rb1730
-rw-r--r--lib/delegate.rb544
-rw-r--r--lib/drb.rb1
-rw-r--r--lib/drb/acl.rb169
-rw-r--r--lib/drb/drb.rb737
-rw-r--r--lib/drb/eq.rb5
-rw-r--r--lib/drb/extserv.rb50
-rw-r--r--lib/drb/extservm.rb72
-rw-r--r--lib/drb/gw.rb43
-rw-r--r--lib/drb/invokemethod.rb15
-rw-r--r--lib/drb/observer.rb24
-rw-r--r--lib/drb/ssl.rb342
-rw-r--r--lib/drb/timeridconv.rb107
-rw-r--r--lib/drb/unix.rb64
-rw-r--r--lib/e2mmap.rb130
-rw-r--r--lib/erb.rb895
-rw-r--r--lib/eregex.rb37
-rw-r--r--lib/fileutils.rb819
-rw-r--r--lib/finalize.rb193
-rw-r--r--lib/find.rb64
-rw-r--r--lib/forwardable.rb319
-rw-r--r--lib/ftools.rb261
-rw-r--r--lib/generator.rb380
-rw-r--r--lib/getoptlong.rb300
-rw-r--r--lib/getopts.rb127
-rw-r--r--lib/gserver.rb253
-rw-r--r--lib/importenv.rb33
-rw-r--r--lib/ipaddr.rb681
-rw-r--r--lib/irb.rb689
-rw-r--r--lib/irb/cmd/chws.rb19
-rw-r--r--lib/irb/cmd/fork.rb44
-rw-r--r--lib/irb/cmd/help.rb28
-rw-r--r--lib/irb/cmd/load.rb64
-rw-r--r--lib/irb/cmd/nop.rb26
-rw-r--r--lib/irb/cmd/pushws.rb22
-rw-r--r--lib/irb/cmd/subirb.rb22
-rw-r--r--lib/irb/completion.rb339
-rw-r--r--lib/irb/context.rb327
-rw-r--r--lib/irb/ext/change-ws.rb60
-rw-r--r--lib/irb/ext/history.rb87
-rw-r--r--lib/irb/ext/loader.rb147
-rw-r--r--lib/irb/ext/math-mode.rb31
-rw-r--r--lib/irb/ext/multi-irb.rb245
-rw-r--r--lib/irb/ext/save-history.rb98
-rw-r--r--lib/irb/ext/tracer.rb49
-rw-r--r--lib/irb/ext/use-loader.rb49
-rw-r--r--lib/irb/ext/workspaces.rb49
-rw-r--r--lib/irb/extend-command.rb305
-rw-r--r--lib/irb/frame.rb28
-rw-r--r--lib/irb/help.rb38
-rw-r--r--lib/irb/init.rb256
-rw-r--r--lib/irb/input-method.rb144
-rw-r--r--lib/irb/inspector.rb132
-rw-r--r--lib/irb/lc/.document4
-rw-r--r--lib/irb/lc/error.rb16
-rw-r--r--lib/irb/lc/help-message45
-rw-r--r--lib/irb/lc/ja/encoding_aliases.rb11
-rw-r--r--lib/irb/lc/ja/error.rb36
-rw-r--r--lib/irb/lc/ja/help-message73
-rw-r--r--lib/irb/locale.rb196
-rw-r--r--lib/irb/magic-file.rb38
-rw-r--r--lib/irb/notifier.rb195
-rw-r--r--lib/irb/output-method.rb77
-rw-r--r--lib/irb/ruby-lex.rb822
-rw-r--r--lib/irb/ruby-token.rb60
-rw-r--r--lib/irb/slex.rb313
-rw-r--r--lib/irb/src_encoding.rb5
-rw-r--r--lib/irb/version.rb14
-rw-r--r--lib/irb/workspace.rb136
-rw-r--r--lib/irb/ws-for-case-2.rb12
-rw-r--r--lib/irb/xmp.rb118
-rw-r--r--lib/jcode.rb220
-rw-r--r--lib/logger.rb645
-rw-r--r--lib/mailread.rb62
-rw-r--r--lib/mathn.rb380
-rw-r--r--lib/matrix.rb2070
-rw-r--r--lib/matrix/eigenvalue_decomposition.rb883
-rw-r--r--lib/matrix/lup_decomposition.rb219
-rw-r--r--lib/mkmf.rb3627
-rw-r--r--lib/monitor.rb365
-rw-r--r--lib/mutex_m.rb130
-rw-r--r--lib/net/ftp.rb1227
-rw-r--r--lib/net/http.rb2664
-rw-r--r--lib/net/http/backward.rb26
-rw-r--r--lib/net/http/exceptions.rb26
-rw-r--r--lib/net/http/generic_request.rb338
-rw-r--r--lib/net/http/header.rb481
-rw-r--r--lib/net/http/proxy_delta.rb17
-rw-r--r--lib/net/http/request.rb21
-rw-r--r--lib/net/http/requests.rb123
-rw-r--r--lib/net/http/response.rb417
-rw-r--r--lib/net/http/responses.rb275
-rw-r--r--lib/net/https.rb166
-rw-r--r--lib/net/imap.rb1595
-rw-r--r--lib/net/pop.rb375
-rw-r--r--lib/net/protocol.rb94
-rw-r--r--lib/net/smtp.rb854
-rw-r--r--lib/net/telnet.rb742
-rw-r--r--lib/observer.rb108
-rw-r--r--lib/open-uri.rb454
-rw-r--r--lib/open3.rb709
-rw-r--r--lib/optionparser.rb2
-rw-r--r--lib/optparse.rb881
-rw-r--r--lib/optparse/ac.rb51
-rw-r--r--lib/optparse/date.rb1
-rw-r--r--lib/optparse/shellwords.rb1
-rw-r--r--lib/optparse/time.rb1
-rw-r--r--lib/optparse/uri.rb1
-rw-r--r--lib/optparse/version.rb13
-rw-r--r--lib/ostruct.rb294
-rw-r--r--lib/parsearg.rb87
-rw-r--r--lib/parsedate.rb15
-rw-r--r--lib/pathname.rb1062
-rw-r--r--lib/ping.rb53
-rw-r--r--lib/pp.rb477
-rw-r--r--lib/prettyprint.rb780
-rw-r--r--lib/prime.rb466
-rw-r--r--lib/profile.rb5
-rw-r--r--lib/profiler.rb158
-rw-r--r--lib/pstore.rb399
-rw-r--r--lib/racc/parser.rb289
-rw-r--r--lib/racc/rdoc/grammar.en.rdoc219
-rw-r--r--lib/rational.rb530
-rw-r--r--lib/rbconfig/.document1
-rw-r--r--lib/rbconfig/datadir.rb14
-rw-r--r--lib/rdoc.rb188
-rw-r--r--lib/rdoc/README489
-rw-r--r--lib/rdoc/alias.rb112
-rw-r--r--lib/rdoc/anon_class.rb11
-rw-r--r--lib/rdoc/any_method.rb317
-rw-r--r--lib/rdoc/attr.rb176
-rw-r--r--lib/rdoc/class_module.rb800
-rw-r--r--lib/rdoc/code_object.rb430
-rw-r--r--lib/rdoc/code_objects.rb767
-rw-r--r--lib/rdoc/comment.rb230
-rw-r--r--lib/rdoc/constant.rb187
-rw-r--r--lib/rdoc/context.rb1212
-rw-r--r--lib/rdoc/context/section.rb239
-rw-r--r--lib/rdoc/cross_reference.rb184
-rw-r--r--lib/rdoc/diagram.rb335
-rw-r--r--lib/rdoc/dot/dot.rb255
-rw-r--r--lib/rdoc/encoding.rb100
-rw-r--r--lib/rdoc/erb_partial.rb19
-rw-r--r--lib/rdoc/erbio.rb38
-rw-r--r--lib/rdoc/extend.rb10
-rw-r--r--lib/rdoc/generator.rb52
-rw-r--r--lib/rdoc/generator/darkfish.rb761
-rw-r--r--lib/rdoc/generator/json_index.rb298
-rw-r--r--lib/rdoc/generator/markup.rb170
-rw-r--r--lib/rdoc/generator/pot.rb98
-rw-r--r--lib/rdoc/generator/pot/message_extractor.rb68
-rw-r--r--lib/rdoc/generator/pot/po.rb84
-rw-r--r--lib/rdoc/generator/pot/po_entry.rb141
-rw-r--r--lib/rdoc/generator/ri.rb31
-rw-r--r--lib/rdoc/generator/template/darkfish/.document (renamed from install-sh)0
-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.ttfbin0 -> 94668 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttfbin0 -> 94196 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttfbin0 -> 96184 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttfbin0 -> 95316 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttfbin0 -> 71200 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttfbin0 -> 71692 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/add.pngbin0 -> 733 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/arrow_up.pngbin0 -> 372 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/brick.pngbin0 -> 452 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/brick_link.pngbin0 -> 764 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bug.pngbin0 -> 774 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bullet_black.pngbin0 -> 211 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.pngbin0 -> 207 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.pngbin0 -> 209 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/date.pngbin0 -> 626 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/delete.pngbin0 -> 715 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/find.pngbin0 -> 659 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/loadingAnimation.gifbin0 -> 5886 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/macFFBgHack.pngbin0 -> 207 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/package.pngbin0 -> 853 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/page_green.pngbin0 -> 621 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/page_white_text.pngbin0 -> 342 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/page_white_width.pngbin0 -> 309 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/plugin.pngbin0 -> 591 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/ruby.pngbin0 -> 592 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/tag_blue.pngbin0 -> 1880 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/tag_green.pngbin0 -> 613 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/transparent.pngbin0 -> 97 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/wrench.pngbin0 -> 610 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/wrench_orange.pngbin0 -> 584 bytes-rw-r--r--lib/rdoc/generator/template/darkfish/images/zoom.pngbin0 -> 692 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.rb7
-rw-r--r--lib/rdoc/i18n.rb10
-rw-r--r--lib/rdoc/i18n/locale.rb102
-rw-r--r--lib/rdoc/i18n/text.rb126
-rw-r--r--lib/rdoc/include.rb10
-rw-r--r--lib/rdoc/known_classes.rb73
-rw-r--r--lib/rdoc/markdown.rb16134
-rw-r--r--lib/rdoc/markdown/entities.rb2132
-rw-r--r--lib/rdoc/markdown/literals_1_9.rb421
-rw-r--r--lib/rdoc/markup.rb870
-rw-r--r--lib/rdoc/markup/.document2
-rw-r--r--lib/rdoc/markup/attr_changer.rb23
-rw-r--r--lib/rdoc/markup/attr_span.rb30
-rw-r--r--lib/rdoc/markup/attribute_manager.rb344
-rw-r--r--lib/rdoc/markup/attributes.rb71
-rw-r--r--lib/rdoc/markup/blank_line.rb28
-rw-r--r--lib/rdoc/markup/block_quote.rb15
-rw-r--r--lib/rdoc/markup/document.rb165
-rw-r--r--lib/rdoc/markup/formatter.rb265
-rw-r--r--lib/rdoc/markup/formatter_test_case.rb768
-rw-r--r--lib/rdoc/markup/hard_break.rb32
-rw-r--r--lib/rdoc/markup/heading.rb79
-rw-r--r--lib/rdoc/markup/include.rb43
-rw-r--r--lib/rdoc/markup/indented_paragraph.rb48
-rw-r--r--lib/rdoc/markup/inline.rb2
-rw-r--r--lib/rdoc/markup/list.rb102
-rw-r--r--lib/rdoc/markup/list_item.rb100
-rw-r--r--lib/rdoc/markup/paragraph.rb29
-rw-r--r--lib/rdoc/markup/parser.rb559
-rw-r--r--lib/rdoc/markup/pre_process.rb294
-rw-r--r--lib/rdoc/markup/raw.rb70
-rw-r--r--lib/rdoc/markup/rule.rb21
-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.rb41
-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.rb115
-rw-r--r--lib/rdoc/markup/to_ansi.rb94
-rw-r--r--lib/rdoc/markup/to_bs.rb79
-rw-r--r--lib/rdoc/markup/to_html.rb399
-rw-r--r--lib/rdoc/markup/to_html_crossref.rb161
-rw-r--r--lib/rdoc/markup/to_html_snippet.rb285
-rw-r--r--lib/rdoc/markup/to_joined_paragraph.rb72
-rw-r--r--lib/rdoc/markup/to_label.rb75
-rw-r--r--lib/rdoc/markup/to_markdown.rb192
-rw-r--r--lib/rdoc/markup/to_rdoc.rb334
-rw-r--r--lib/rdoc/markup/to_table_of_contents.rb88
-rw-r--r--lib/rdoc/markup/to_test.rb70
-rw-r--r--lib/rdoc/markup/to_tt_only.rb121
-rw-r--r--lib/rdoc/markup/verbatim.rb84
-rw-r--r--lib/rdoc/meta_method.rb7
-rw-r--r--lib/rdoc/method_attr.rb419
-rw-r--r--lib/rdoc/mixin.rb121
-rw-r--r--lib/rdoc/normal_class.rb93
-rw-r--r--lib/rdoc/normal_module.rb74
-rw-r--r--lib/rdoc/options.rb1651
-rw-r--r--lib/rdoc/parser.rb311
-rw-r--r--lib/rdoc/parser/c.rb1230
-rw-r--r--lib/rdoc/parser/changelog.rb199
-rw-r--r--lib/rdoc/parser/markdown.rb24
-rw-r--r--lib/rdoc/parser/rd.rb23
-rw-r--r--lib/rdoc/parser/ruby.rb2161
-rw-r--r--lib/rdoc/parser/ruby_tools.rb168
-rw-r--r--lib/rdoc/parser/simple.rb62
-rw-r--r--lib/rdoc/parser/text.rb12
-rw-r--r--lib/rdoc/parsers/parse_c.rb697
-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.rb100
-rw-r--r--lib/rdoc/rd/block_parser.rb1056
-rw-r--r--lib/rdoc/rd/inline.rb72
-rw-r--r--lib/rdoc/rd/inline_parser.rb1208
-rw-r--r--lib/rdoc/rdoc.gemspec7
-rw-r--r--lib/rdoc/rdoc.rb727
-rw-r--r--lib/rdoc/require.rb52
-rw-r--r--lib/rdoc/ri.rb21
-rw-r--r--lib/rdoc/ri/driver.rb1498
-rw-r--r--lib/rdoc/ri/formatter.rb6
-rw-r--r--lib/rdoc/ri/paths.rb188
-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.rb674
-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.rb7
-rw-r--r--lib/rdoc/ri/task.rb72
-rw-r--r--lib/rdoc/ruby_lex.rb1378
-rw-r--r--lib/rdoc/ruby_token.rb461
-rw-r--r--lib/rdoc/rubygems_hook.rb254
-rw-r--r--lib/rdoc/servlet.rb442
-rw-r--r--lib/rdoc/single_class.rb26
-rw-r--r--lib/rdoc/stats.rb462
-rw-r--r--lib/rdoc/stats/normal.rb60
-rw-r--r--lib/rdoc/stats/quiet.rb60
-rw-r--r--lib/rdoc/stats/verbose.rb46
-rw-r--r--lib/rdoc/store.rb980
-rw-r--r--lib/rdoc/task.rb331
-rw-r--r--lib/rdoc/template.rb234
-rw-r--r--lib/rdoc/test_case.rb218
-rw-r--r--lib/rdoc/text.rb324
-rw-r--r--lib/rdoc/token_stream.rb96
-rw-r--r--lib/rdoc/tokenstream.rb25
-rw-r--r--lib/rdoc/tom_doc.rb258
-rw-r--r--lib/rdoc/top_level.rb283
-rw-r--r--lib/rdoc/usage.rb210
-rw-r--r--lib/readbytes.rb41
-rw-r--r--lib/resolv-replace.rb26
-rw-r--r--lib/resolv.rb1965
-rw-r--r--lib/rexml/attlistdecl.rb113
-rw-r--r--lib/rexml/attribute.rb311
-rw-r--r--lib/rexml/cdata.rb116
-rw-r--r--lib/rexml/child.rb165
-rw-r--r--lib/rexml/comment.rb134
-rw-r--r--lib/rexml/doctype.rb74
-rw-r--r--lib/rexml/document.rb392
-rw-r--r--lib/rexml/dtd/attlistdecl.rb15
-rw-r--r--lib/rexml/dtd/dtd.rb78
-rw-r--r--lib/rexml/dtd/elementdecl.rb27
-rw-r--r--lib/rexml/dtd/entitydecl.rb99
-rw-r--r--lib/rexml/dtd/notationdecl.rb65
-rw-r--r--lib/rexml/element.rb2286
-rw-r--r--lib/rexml/encoding.rb93
-rw-r--r--lib/rexml/encodings/CP-1252.rb98
-rw-r--r--lib/rexml/encodings/EUC-JP.rb35
-rw-r--r--lib/rexml/encodings/ICONV.rb22
-rw-r--r--lib/rexml/encodings/ISO-8859-1.rb7
-rw-r--r--lib/rexml/encodings/ISO-8859-15.rb69
-rw-r--r--lib/rexml/encodings/SHIFT-JIS.rb37
-rw-r--r--lib/rexml/encodings/SHIFT_JIS.rb1
-rw-r--r--lib/rexml/encodings/UNILE.rb34
-rw-r--r--lib/rexml/encodings/US-ASCII.rb30
-rw-r--r--lib/rexml/encodings/UTF-16.rb34
-rw-r--r--lib/rexml/encodings/UTF-8.rb18
-rw-r--r--lib/rexml/entity.rb301
-rw-r--r--lib/rexml/formatters/default.rb112
-rw-r--r--lib/rexml/formatters/pretty.rb142
-rw-r--r--lib/rexml/formatters/transitive.rb58
-rw-r--r--lib/rexml/functions.rb115
-rw-r--r--lib/rexml/instruction.rb103
-rw-r--r--lib/rexml/light/node.rb382
-rw-r--r--lib/rexml/namespace.rb79
-rw-r--r--lib/rexml/node.rb100
-rw-r--r--lib/rexml/output.rb30
-rw-r--r--lib/rexml/parent.rb54
-rw-r--r--lib/rexml/parseexception.rb9
-rw-r--r--lib/rexml/parsers/baseparser.rb217
-rw-r--r--lib/rexml/parsers/lightparser.rb85
-rw-r--r--lib/rexml/parsers/pullparser.rb3
-rw-r--r--lib/rexml/parsers/sax2parser.rb439
-rw-r--r--lib/rexml/parsers/streamparser.rb19
-rw-r--r--lib/rexml/parsers/treeparser.rb17
-rw-r--r--lib/rexml/parsers/ultralightparser.rb81
-rw-r--r--lib/rexml/parsers/xpathparser.rb149
-rw-r--r--lib/rexml/quickpath.rb496
-rw-r--r--lib/rexml/rexml.rb21
-rw-r--r--lib/rexml/sax2listener.rb185
-rw-r--r--lib/rexml/security.rb28
-rw-r--r--lib/rexml/source.rb458
-rw-r--r--lib/rexml/streamlistener.rb181
-rw-r--r--lib/rexml/syncenumerator.rb8
-rw-r--r--lib/rexml/text.rb298
-rw-r--r--lib/rexml/undefinednamespaceexception.rb9
-rw-r--r--lib/rexml/validation/relaxng.rb58
-rw-r--r--lib/rexml/validation/validation.rb23
-rw-r--r--lib/rexml/validation/validationexception.rb1
-rw-r--r--lib/rexml/xmldecl.rb132
-rw-r--r--lib/rexml/xmltokens.rb95
-rw-r--r--lib/rexml/xpath.rb131
-rw-r--r--lib/rexml/xpath_parser.rb259
-rw-r--r--lib/rinda/rinda.rb69
-rw-r--r--lib/rinda/ring.rb358
-rw-r--r--lib/rinda/tuplespace.rb118
-rw-r--r--lib/rss.rb86
-rw-r--r--lib/rss/0.9.rb97
-rw-r--r--lib/rss/1.0.rb94
-rw-r--r--lib/rss/2.0.rb40
-rw-r--r--lib/rss/atom.rb840
-rw-r--r--lib/rss/content.rb28
-rw-r--r--lib/rss/content/1.0.rb10
-rw-r--r--lib/rss/content/2.0.rb12
-rw-r--r--lib/rss/converter.rb45
-rw-r--r--lib/rss/dublincore.rb58
-rw-r--r--lib/rss/dublincore/1.0.rb13
-rw-r--r--lib/rss/dublincore/2.0.rb13
-rw-r--r--lib/rss/dublincore/atom.rb17
-rw-r--r--lib/rss/image.rb33
-rw-r--r--lib/rss/itunes.rb413
-rw-r--r--lib/rss/maker.rb60
-rw-r--r--lib/rss/maker/0.9.rb451
-rw-r--r--lib/rss/maker/1.0.rb344
-rw-r--r--lib/rss/maker/2.0.rb170
-rw-r--r--lib/rss/maker/atom.rb173
-rw-r--r--lib/rss/maker/base.rb969
-rw-r--r--lib/rss/maker/content.rb15
-rw-r--r--lib/rss/maker/dublincore.rb151
-rw-r--r--lib/rss/maker/entry.rb164
-rw-r--r--lib/rss/maker/feed.rb427
-rw-r--r--lib/rss/maker/image.rb119
-rw-r--r--lib/rss/maker/itunes.rb243
-rw-r--r--lib/rss/maker/slash.rb34
-rw-r--r--lib/rss/maker/syndication.rb14
-rw-r--r--lib/rss/maker/taxonomy.rb127
-rw-r--r--lib/rss/maker/trackback.rb118
-rw-r--r--lib/rss/parser.rb227
-rw-r--r--lib/rss/rexmlparser.rb16
-rw-r--r--lib/rss/rss.rb818
-rw-r--r--lib/rss/slash.rb52
-rw-r--r--lib/rss/syndication.rb21
-rw-r--r--lib/rss/taxonomy.rb25
-rw-r--r--lib/rss/trackback.rb41
-rw-r--r--lib/rss/utils.rb175
-rw-r--r--lib/rss/xml-stylesheet.rb9
-rw-r--r--lib/rss/xml.rb72
-rw-r--r--lib/rss/xmlparser.rb18
-rw-r--r--lib/rss/xmlscanner.rb11
-rw-r--r--lib/rubygems.rb1264
-rw-r--r--lib/rubygems/LICENSE.txt54
-rw-r--r--lib/rubygems/available_set.rb165
-rw-r--r--lib/rubygems/basic_specification.rb328
-rw-r--r--lib/rubygems/command.rb587
-rw-r--r--lib/rubygems/command_manager.rb219
-rw-r--r--lib/rubygems/commands/build_command.rb65
-rw-r--r--lib/rubygems/commands/cert_command.rb277
-rw-r--r--lib/rubygems/commands/check_command.rb94
-rw-r--r--lib/rubygems/commands/cleanup_command.rb166
-rw-r--r--lib/rubygems/commands/contents_command.rb191
-rw-r--r--lib/rubygems/commands/dependency_command.rb218
-rw-r--r--lib/rubygems/commands/environment_command.rb160
-rw-r--r--lib/rubygems/commands/fetch_command.rb78
-rw-r--r--lib/rubygems/commands/generate_index_command.rb85
-rw-r--r--lib/rubygems/commands/help_command.rb375
-rw-r--r--lib/rubygems/commands/install_command.rb348
-rw-r--r--lib/rubygems/commands/list_command.rb41
-rw-r--r--lib/rubygems/commands/lock_command.rb111
-rw-r--r--lib/rubygems/commands/mirror_command.rb26
-rw-r--r--lib/rubygems/commands/open_command.rb77
-rw-r--r--lib/rubygems/commands/outdated_command.rb33
-rw-r--r--lib/rubygems/commands/owner_command.rb100
-rw-r--r--lib/rubygems/commands/pristine_command.rb176
-rw-r--r--lib/rubygems/commands/push_command.rb99
-rw-r--r--lib/rubygems/commands/query_command.rb351
-rw-r--r--lib/rubygems/commands/rdoc_command.rb97
-rw-r--r--lib/rubygems/commands/search_command.rb41
-rw-r--r--lib/rubygems/commands/server_command.rb87
-rw-r--r--lib/rubygems/commands/setup_command.rb484
-rw-r--r--lib/rubygems/commands/sources_command.rb211
-rw-r--r--lib/rubygems/commands/specification_command.rb146
-rw-r--r--lib/rubygems/commands/stale_command.rb39
-rw-r--r--lib/rubygems/commands/uninstall_command.rb165
-rw-r--r--lib/rubygems/commands/unpack_command.rb183
-rw-r--r--lib/rubygems/commands/update_command.rb278
-rw-r--r--lib/rubygems/commands/which_command.rb91
-rw-r--r--lib/rubygems/commands/yank_command.rb103
-rw-r--r--lib/rubygems/compatibility.rb60
-rw-r--r--lib/rubygems/config_file.rb485
-rw-r--r--lib/rubygems/core_ext/kernel_gem.rb74
-rwxr-xr-xlib/rubygems/core_ext/kernel_require.rb138
-rw-r--r--lib/rubygems/defaults.rb178
-rw-r--r--lib/rubygems/dependency.rb338
-rw-r--r--lib/rubygems/dependency_installer.rb491
-rw-r--r--lib/rubygems/dependency_list.rb244
-rw-r--r--lib/rubygems/deprecate.rb71
-rw-r--r--lib/rubygems/doctor.rb132
-rw-r--r--lib/rubygems/errors.rb138
-rw-r--r--lib/rubygems/exceptions.rb270
-rw-r--r--lib/rubygems/ext.rb19
-rw-r--r--lib/rubygems/ext/build_error.rb7
-rw-r--r--lib/rubygems/ext/builder.rb221
-rw-r--r--lib/rubygems/ext/cmake_builder.rb17
-rw-r--r--lib/rubygems/ext/configure_builder.rb24
-rw-r--r--lib/rubygems/ext/ext_conf_builder.rb94
-rw-r--r--lib/rubygems/ext/rake_builder.rb37
-rw-r--r--lib/rubygems/gem_runner.rb82
-rw-r--r--lib/rubygems/gemcutter_utilities.rb160
-rw-r--r--lib/rubygems/indexer.rb434
-rw-r--r--lib/rubygems/install_default_message.rb13
-rw-r--r--lib/rubygems/install_message.rb13
-rw-r--r--lib/rubygems/install_update_options.rb192
-rw-r--r--lib/rubygems/installer.rb865
-rw-r--r--lib/rubygems/installer_test_case.rb194
-rw-r--r--lib/rubygems/local_remote_options.rb149
-rw-r--r--lib/rubygems/mock_gem_ui.rb89
-rw-r--r--lib/rubygems/name_tuple.rb124
-rw-r--r--lib/rubygems/package.rb627
-rw-r--r--lib/rubygems/package/digest_io.rb65
-rw-r--r--lib/rubygems/package/file_source.rb34
-rw-r--r--lib/rubygems/package/io_source.rb46
-rw-r--r--lib/rubygems/package/old.rb178
-rw-r--r--lib/rubygems/package/source.rb4
-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.rb154
-rw-r--r--lib/rubygems/package/tar_test_case.rb147
-rw-r--r--lib/rubygems/package/tar_writer.rb345
-rw-r--r--lib/rubygems/package_task.rb129
-rw-r--r--lib/rubygems/path_support.rb90
-rw-r--r--lib/rubygems/platform.rb206
-rw-r--r--lib/rubygems/psych_additions.rb10
-rw-r--r--lib/rubygems/psych_tree.rb32
-rw-r--r--lib/rubygems/rdoc.rb335
-rw-r--r--lib/rubygems/remote_fetcher.rb424
-rw-r--r--lib/rubygems/request.rb248
-rw-r--r--lib/rubygems/request/connection_pools.rb88
-rw-r--r--lib/rubygems/request/http_pool.rb48
-rw-r--r--lib/rubygems/request/https_pool.rb11
-rw-r--r--lib/rubygems/request_set.rb424
-rw-r--r--lib/rubygems/request_set/gem_dependency_api.rb849
-rw-r--r--lib/rubygems/request_set/lockfile.rb238
-rw-r--r--lib/rubygems/request_set/lockfile/parser.rb354
-rw-r--r--lib/rubygems/request_set/lockfile/tokenizer.rb112
-rw-r--r--lib/rubygems/requirement.rb285
-rw-r--r--lib/rubygems/resolver.rb292
-rw-r--r--lib/rubygems/resolver/activation_request.rb186
-rw-r--r--lib/rubygems/resolver/api_set.rb126
-rw-r--r--lib/rubygems/resolver/api_specification.rb86
-rw-r--r--lib/rubygems/resolver/best_set.rb79
-rw-r--r--lib/rubygems/resolver/composed_set.rb67
-rw-r--r--lib/rubygems/resolver/conflict.rb160
-rw-r--r--lib/rubygems/resolver/current_set.rb14
-rw-r--r--lib/rubygems/resolver/dependency_request.rb120
-rw-r--r--lib/rubygems/resolver/git_set.rb123
-rw-r--r--lib/rubygems/resolver/git_specification.rb59
-rw-r--r--lib/rubygems/resolver/index_set.rb81
-rw-r--r--lib/rubygems/resolver/index_specification.rb70
-rw-r--r--lib/rubygems/resolver/installed_specification.rb59
-rw-r--r--lib/rubygems/resolver/installer_set.rb225
-rw-r--r--lib/rubygems/resolver/local_specification.rb42
-rw-r--r--lib/rubygems/resolver/lock_set.rb83
-rw-r--r--lib/rubygems/resolver/lock_specification.rb88
-rw-r--r--lib/rubygems/resolver/molinillo.rb2
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo.rb10
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb287
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb75
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb5
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb100
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb64
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb436
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb45
-rw-r--r--lib/rubygems/resolver/molinillo/lib/molinillo/state.rb52
-rw-r--r--lib/rubygems/resolver/requirement_list.rb82
-rw-r--r--lib/rubygems/resolver/set.rb57
-rw-r--r--lib/rubygems/resolver/source_set.rb48
-rw-r--r--lib/rubygems/resolver/spec_specification.rb57
-rw-r--r--lib/rubygems/resolver/specification.rb111
-rw-r--r--lib/rubygems/resolver/stats.rb45
-rw-r--r--lib/rubygems/resolver/vendor_set.rb88
-rw-r--r--lib/rubygems/resolver/vendor_specification.rb25
-rw-r--r--lib/rubygems/safe_yaml.rb48
-rw-r--r--lib/rubygems/security.rb596
-rw-r--r--lib/rubygems/security/policies.rb116
-rw-r--r--lib/rubygems/security/policy.rb295
-rw-r--r--lib/rubygems/security/signer.rb155
-rw-r--r--lib/rubygems/security/trust_dir.rb119
-rw-r--r--lib/rubygems/server.rb869
-rw-r--r--lib/rubygems/source.rb235
-rw-r--r--lib/rubygems/source/git.rb241
-rw-r--r--lib/rubygems/source/installed.rb41
-rw-r--r--lib/rubygems/source/local.rb130
-rw-r--r--lib/rubygems/source/lock.rb49
-rw-r--r--lib/rubygems/source/specific_file.rb73
-rw-r--r--lib/rubygems/source/vendor.rb28
-rw-r--r--lib/rubygems/source_list.rb150
-rw-r--r--lib/rubygems/source_local.rb6
-rw-r--r--lib/rubygems/source_specific_file.rb5
-rw-r--r--lib/rubygems/spec_fetcher.rb270
-rw-r--r--lib/rubygems/specification.rb3026
-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/ssl_certs/GlobalSignRootCA.pem21
-rw-r--r--lib/rubygems/stub_specification.rb215
-rw-r--r--lib/rubygems/syck_hack.rb77
-rw-r--r--lib/rubygems/test_case.rb1507
-rw-r--r--lib/rubygems/test_utilities.rb384
-rw-r--r--lib/rubygems/text.rb86
-rw-r--r--lib/rubygems/uninstaller.rb346
-rw-r--r--lib/rubygems/uri_formatter.rb50
-rw-r--r--lib/rubygems/user_interaction.rb704
-rw-r--r--lib/rubygems/util.rb135
-rw-r--r--lib/rubygems/util/licenses.rb343
-rw-r--r--lib/rubygems/util/list.rb37
-rw-r--r--lib/rubygems/validator.rb166
-rw-r--r--lib/rubygems/version.rb370
-rw-r--r--lib/rubygems/version_option.rb72
-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.rb790
-rw-r--r--lib/securerandom.rb249
-rw-r--r--lib/set.rb1249
-rw-r--r--lib/shell.rb324
-rw-r--r--lib/shell/builtin-command.rb79
-rw-r--r--lib/shell/command-processor.rb722
-rw-r--r--lib/shell/error.rb12
-rw-r--r--lib/shell/filter.rb92
-rw-r--r--lib/shell/process-controller.rb345
-rw-r--r--lib/shell/system-command.rb149
-rw-r--r--lib/shell/version.rb16
-rw-r--r--lib/shellwords.rb243
-rw-r--r--lib/singleton.rb421
-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.rb344
-rw-r--r--lib/tempfile.rb398
-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.rb204
-rw-r--r--lib/test/unit/collector.rb43
-rw-r--r--lib/test/unit/collector/dir.rb92
-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.rb152
-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.rb484
-rw-r--r--lib/thwait.rb100
-rw-r--r--lib/time.rb825
-rw-r--r--lib/timeout.rb183
-rw-r--r--lib/tmpdir.rb151
-rw-r--r--lib/tracer.rb246
-rw-r--r--lib/tsort.rb318
-rw-r--r--lib/ubygems.rb11
-rw-r--r--lib/un.rb229
-rw-r--r--lib/unicode_normalize.rb79
-rw-r--r--lib/unicode_normalize/normalize.rb161
-rw-r--r--lib/unicode_normalize/tables.rb1160
-rw-r--r--lib/uri.rb98
-rw-r--r--lib/uri/common.rb816
-rw-r--r--lib/uri/ftp.rb187
-rw-r--r--lib/uri/generic.rb1039
-rw-r--r--lib/uri/http.rb80
-rw-r--r--lib/uri/https.rb11
-rw-r--r--lib/uri/ldap.rb81
-rw-r--r--lib/uri/ldaps.rb21
-rw-r--r--lib/uri/mailto.rb223
-rw-r--r--lib/uri/rfc2396_parser.rb544
-rw-r--r--lib/uri/rfc3986_parser.rb125
-rw-r--r--lib/weakref.rb165
-rw-r--r--lib/webrick.rb202
-rw-r--r--lib/webrick/accesslog.rb102
-rw-r--r--lib/webrick/cgi.rb110
-rw-r--r--lib/webrick/compat.rb21
-rw-r--r--lib/webrick/config.rb65
-rw-r--r--lib/webrick/cookie.rb78
-rw-r--r--lib/webrick/htmlutils.rb11
-rw-r--r--lib/webrick/httpauth.rb57
-rw-r--r--lib/webrick/httpauth/authenticator.rb70
-rw-r--r--lib/webrick/httpauth/basicauth.rb47
-rw-r--r--lib/webrick/httpauth/digestauth.rb101
-rw-r--r--lib/webrick/httpauth/htdigest.rb49
-rw-r--r--lib/webrick/httpauth/htgroup.rb33
-rw-r--r--lib/webrick/httpauth/htpasswd.rb52
-rw-r--r--lib/webrick/httpauth/userdb.rb32
-rw-r--r--lib/webrick/httpproxy.rb318
-rw-r--r--lib/webrick/httprequest.rb324
-rw-r--r--lib/webrick/httpresponse.rb218
-rw-r--r--lib/webrick/https.rb30
-rw-r--r--lib/webrick/httpserver.rb92
-rw-r--r--lib/webrick/httpservlet.rb1
-rw-r--r--lib/webrick/httpservlet/abstract.rb93
-rw-r--r--lib/webrick/httpservlet/cgi_runner.rb6
-rw-r--r--lib/webrick/httpservlet/cgihandler.rb60
-rw-r--r--lib/webrick/httpservlet/erbhandler.rb50
-rw-r--r--lib/webrick/httpservlet/filehandler.rb143
-rw-r--r--lib/webrick/httpservlet/prochandler.rb22
-rw-r--r--lib/webrick/httpstatus.rb181
-rw-r--r--lib/webrick/httputils.rb183
-rw-r--r--lib/webrick/httpversion.rb31
-rw-r--r--lib/webrick/log.rb82
-rw-r--r--lib/webrick/server.rb302
-rw-r--r--lib/webrick/ssl.rb91
-rw-r--r--lib/webrick/utils.rb226
-rw-r--r--lib/webrick/version.rb7
-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.rb312
-rw-r--r--lib/xmlrpc/.document1
-rw-r--r--lib/xmlrpc/README.txt31
-rw-r--r--lib/xmlrpc/base64.rb74
-rw-r--r--lib/xmlrpc/client.rb708
-rw-r--r--lib/xmlrpc/config.rb38
-rw-r--r--lib/xmlrpc/create.rb221
-rw-r--r--lib/xmlrpc/datetime.rb132
-rw-r--r--lib/xmlrpc/httpserver.rb178
-rw-r--r--lib/xmlrpc/marshal.rb23
-rw-r--r--lib/xmlrpc/parser.rb544
-rw-r--r--lib/xmlrpc/server.rb678
-rw-r--r--lib/xmlrpc/utils.rb75
-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.rb466
-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.rb201
-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.rb77
-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.c1212
-rw-r--r--loadpath.c92
-rw-r--r--localeinit.c112
-rw-r--r--main.c48
-rw-r--r--man/erb.1157
-rw-r--r--man/goruby.139
-rw-r--r--man/irb.1173
-rw-r--r--man/ri.1181
-rw-r--r--man/ruby.1651
-rw-r--r--marshal.c1962
-rw-r--r--math.c943
-rwxr-xr-xmdoc2man.rb465
-rw-r--r--method.h213
-rw-r--r--miniinit.c49
-rw-r--r--misc/README7
-rw-r--r--misc/inf-ruby.el253
-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.el131
-rw-r--r--misc/ruby-electric.el675
-rw-r--r--misc/ruby-mode.el1917
-rw-r--r--misc/ruby-style.el79
-rw-r--r--misc/rubydb3x.el42
-rw-r--r--missing.h142
-rw-r--r--missing/acosh.c21
-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.c204
-rw-r--r--missing/dup2.c5
-rw-r--r--missing/erf.c13
-rw-r--r--missing/explicit_bzero.c88
-rw-r--r--missing/ffs.c49
-rw-r--r--missing/file.h2
-rw-r--r--missing/finite.c5
-rw-r--r--missing/flock.c28
-rw-r--r--missing/hypot.c4
-rw-r--r--missing/isinf.c19
-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.c113
-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
-rw-r--r--mkconfig.rb164
-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.c1100
-rw-r--r--node.h318
-rw-r--r--numeric.c3994
-rw-r--r--object.c3381
-rw-r--r--pack.c2058
-rw-r--r--parse.y11749
-rw-r--r--prec.c141
-rw-r--r--prelude.rb134
-rw-r--r--probes.d234
-rw-r--r--probes_helper.h43
-rw-r--r--proc.c3049
-rw-r--r--process.c7073
-rw-r--r--random.c1668
-rw-r--r--range.c1360
-rw-r--r--rational.c2633
-rw-r--r--re.c3775
-rw-r--r--re.h42
-rw-r--r--regcomp.c6763
-rw-r--r--regenc.c959
-rw-r--r--regenc.h237
-rw-r--r--regerror.c408
-rw-r--r--regex.c4657
-rw-r--r--regex.h221
-rw-r--r--regexec.c4500
-rw-r--r--regint.h987
-rw-r--r--regparse.c6496
-rw-r--r--regparse.h367
-rw-r--r--regsyntax.c387
-rw-r--r--ruby.1351
-rw-r--r--ruby.c2332
-rw-r--r--ruby.h734
-rw-r--r--ruby_atomic.h233
-rw-r--r--rubyio.h88
-rw-r--r--rubysig.h105
-rw-r--r--rubytest.rb49
-rwxr-xr-xrunruby.rb59
-rw-r--r--safe.c128
-rw-r--r--sample/README15
-rw-r--r--sample/benchmark.rb19
-rw-r--r--sample/biorhythm.rb136
-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.rb34
-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/iseq_loader.rb243
-rw-r--r--sample/list.rb3
-rw-r--r--sample/list2.rb2
-rw-r--r--sample/list3.rb2
-rw-r--r--sample/logger/app.rb2
-rwxr-xr-x[-rw-r--r--]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.rb42
-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
-rwxr-xr-x[-rw-r--r--]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/pty/shl.rb93
-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
-rwxr-xr-x[-rw-r--r--]sample/rss/list_description.rb17
-rwxr-xr-xsample/rss/re_read.rb14
-rwxr-xr-x[-rw-r--r--]sample/rss/rss_recent.rb24
-rw-r--r--sample/simple-bench.rb140
-rw-r--r--sample/svr.rb4
-rw-r--r--sample/tempfile.rb8
-rwxr-xr-x[-rw-r--r--]sample/test.rb968
-rw-r--r--sample/time.rb16
-rw-r--r--sample/timeout.rb42
-rw-r--r--sample/trick2013/README.md15
-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.mp4bin0 -> 580724 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/trick2015/README.md16
-rw-r--r--sample/trick2015/eregon/authors.markdown3
-rw-r--r--sample/trick2015/eregon/entry.rb16
-rw-r--r--sample/trick2015/eregon/remarks.markdown70
-rw-r--r--sample/trick2015/kinaba/authors.markdown4
-rw-r--r--sample/trick2015/kinaba/entry.rb150
-rw-r--r--sample/trick2015/kinaba/remarks.markdown85
-rw-r--r--sample/trick2015/ksk_1/authors.markdown3
-rw-r--r--sample/trick2015/ksk_1/entry.rb1
-rw-r--r--sample/trick2015/ksk_1/remarks.markdown120
-rw-r--r--sample/trick2015/ksk_2/abnormal.cnf6
-rw-r--r--sample/trick2015/ksk_2/authors.markdown3
-rw-r--r--sample/trick2015/ksk_2/entry.rb1
-rw-r--r--sample/trick2015/ksk_2/quinn.cnf21
-rw-r--r--sample/trick2015/ksk_2/remarks.markdown204
-rw-r--r--sample/trick2015/ksk_2/sample.cnf9
-rw-r--r--sample/trick2015/ksk_2/uf20-01.cnf99
-rw-r--r--sample/trick2015/ksk_2/unsat.cnf11
-rw-r--r--sample/trick2015/monae/authors.markdown1
-rw-r--r--sample/trick2015/monae/entry.rb26
-rw-r--r--sample/trick2015/monae/remarks.markdown25
-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.c1483
-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.mspec24
-rw-r--r--sprintf.c1398
-rw-r--r--st.c1764
-rw-r--r--st.h72
-rw-r--r--strftime.c1163
-rw-r--r--string.c9574
-rw-r--r--struct.c1316
-rw-r--r--symbol.c1134
-rw-r--r--symbol.h108
-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.in40
-rw-r--r--template/id.c.tmpl43
-rw-r--r--template/id.h.tmpl87
-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.tmpl195
-rw-r--r--template/ruby-runner.c.in37
-rw-r--r--template/ruby.pc.in56
-rw-r--r--template/sizes.c.tmpl32
-rw-r--r--template/transdb.h.tmpl59
-rw-r--r--template/unicode_norm_gen.tmpl222
-rw-r--r--template/verconf.h.tmpl63
-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.rb30
-rw-r--r--test/-ext-/bignum/test_big2str.rb30
-rw-r--r--test/-ext-/bignum/test_bigzero.rb14
-rw-r--r--test/-ext-/bignum/test_div.rb29
-rw-r--r--test/-ext-/bignum/test_mul.rb138
-rw-r--r--test/-ext-/bignum/test_pack.rb399
-rw-r--r--test/-ext-/bignum/test_str2big.rb38
-rw-r--r--test/-ext-/bug_reporter/test_bug_reporter.rb24
-rw-r--r--test/-ext-/class/test_class2name.rb19
-rw-r--r--test/-ext-/debug/test_debug.rb59
-rw-r--r--test/-ext-/debug/test_profile_frames.rb122
-rw-r--r--test/-ext-/exception/test_data_error.rb14
-rw-r--r--test/-ext-/exception/test_enc_raise.rb16
-rw-r--r--test/-ext-/exception/test_ensured.rb32
-rw-r--r--test/-ext-/file/test_stat.rb15
-rw-r--r--test/-ext-/float/test_nextafter.rb65
-rw-r--r--test/-ext-/funcall/test_passing_block.rb23
-rw-r--r--test/-ext-/gvl/test_last_thread.rb23
-rw-r--r--test/-ext-/hash/test_delete.rb20
-rw-r--r--test/-ext-/iseq_load/test_iseq_load.rb117
-rw-r--r--test/-ext-/iter/test_iter_break.rb16
-rw-r--r--test/-ext-/iter/test_yield_block.rb22
-rw-r--r--test/-ext-/load/test_dot_dot.rb11
-rw-r--r--test/-ext-/marshal/test_internal_ivar.rb20
-rw-r--r--test/-ext-/marshal/test_usrmarshal.rb33
-rw-r--r--test/-ext-/method/test_arity.rb38
-rw-r--r--test/-ext-/num2int/test_num2int.rb268
-rw-r--r--test/-ext-/path_to_class/test_path_to_class.rb13
-rw-r--r--test/-ext-/popen_deadlock/test_popen_deadlock.rb36
-rw-r--r--test/-ext-/postponed_job/test_postponed_job.rb29
-rw-r--r--test/-ext-/proc/test_bmethod.rb38
-rw-r--r--test/-ext-/rational/test_rat.rb32
-rw-r--r--test/-ext-/st/test_foreach.rb16
-rw-r--r--test/-ext-/st/test_numhash.rb50
-rw-r--r--test/-ext-/st/test_update.rb51
-rw-r--r--test/-ext-/string/test_coderange.rb60
-rw-r--r--test/-ext-/string/test_cstr.rb158
-rw-r--r--test/-ext-/string/test_ellipsize.rb47
-rw-r--r--test/-ext-/string/test_enc_associate.rb24
-rw-r--r--test/-ext-/string/test_enc_str_buf_cat.rb16
-rw-r--r--test/-ext-/string/test_fstring.rb74
-rw-r--r--test/-ext-/string/test_modify_expand.rb26
-rw-r--r--test/-ext-/string/test_nofree.rb13
-rw-r--r--test/-ext-/string/test_normalize.rb110
-rw-r--r--test/-ext-/string/test_qsort.rb20
-rw-r--r--test/-ext-/string/test_set_len.rb26
-rw-r--r--test/-ext-/struct/test_duplicate.rb22
-rw-r--r--test/-ext-/struct/test_member.rb16
-rw-r--r--test/-ext-/symbol/test_inadvertent_creation.rb505
-rw-r--r--test/-ext-/symbol/test_type.rb143
-rw-r--r--test/-ext-/test_bug-3571.rb21
-rw-r--r--test/-ext-/test_bug-5832.rb22
-rw-r--r--test/-ext-/test_notimplement.rb15
-rw-r--r--test/-ext-/test_printf.rb187
-rw-r--r--test/-ext-/test_recursion.rb36
-rw-r--r--test/-ext-/thread_fd_close/test_thread_fd_close.rb23
-rw-r--r--test/-ext-/time/test_new.rb44
-rw-r--r--test/-ext-/tracepoint/test_tracepoint.rb80
-rw-r--r--test/-ext-/typeddata/test_typeddata.rb31
-rw-r--r--test/-ext-/vm/test_at_exit.rb19
-rw-r--r--test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb46
-rw-r--r--test/-ext-/win32/test_console_attr.rb44
-rw-r--r--test/-ext-/win32/test_dln.rb35
-rw-r--r--test/-ext-/win32/test_fd_setsize.rb25
-rw-r--r--test/base64/test_base64.rb115
-rw-r--r--test/benchmark/test_benchmark.rb162
-rw-r--r--test/bigdecimal/test_bigdecimal.rb1596
-rw-r--r--test/bigdecimal/test_bigdecimal_util.rb51
-rw-r--r--test/bigdecimal/test_bigmath.rb81
-rw-r--r--test/bigdecimal/testbase.rb28
-rw-r--r--test/cgi/test_cgi_cookie.rb118
-rw-r--r--test/cgi/test_cgi_core.rb303
-rw-r--r--test/cgi/test_cgi_header.rb184
-rw-r--r--test/cgi/test_cgi_modruby.rb149
-rw-r--r--test/cgi/test_cgi_multipart.rb386
-rw-r--r--test/cgi/test_cgi_session.rb169
-rw-r--r--test/cgi/test_cgi_tag_helper.rb355
-rw-r--r--test/cgi/test_cgi_util.rb141
-rw-r--r--test/cgi/testdata/file1.html10
-rw-r--r--test/cgi/testdata/large.pngbin0 -> 156414 bytes-rw-r--r--test/cgi/testdata/small.pngbin0 -> 82 bytes-rw-r--r--test/cgi/update_env.rb9
-rw-r--r--test/colors3
-rw-r--r--test/coverage/test_coverage.rb123
-rw-r--r--test/csv/base.rb9
-rw-r--r--test/csv/line_endings.gzbin0 -> 59 bytes-rw-r--r--test/csv/test_csv.rb1753
-rwxr-xr-xtest/csv/test_csv_parsing.rb222
-rwxr-xr-xtest/csv/test_csv_writing.rb98
-rwxr-xr-xtest/csv/test_data_converters.rb264
-rwxr-xr-xtest/csv/test_encodings.rb338
-rwxr-xr-xtest/csv/test_features.rb328
-rwxr-xr-xtest/csv/test_headers.rb298
-rwxr-xr-xtest/csv/test_interface.rb369
-rwxr-xr-xtest/csv/test_row.rb359
-rwxr-xr-xtest/csv/test_table.rb438
-rw-r--r--test/csv/ts_all.rb21
-rw-r--r--test/date/test_date.rb153
-rw-r--r--test/date/test_date_arith.rb265
-rw-r--r--test/date/test_date_attr.rb104
-rw-r--r--test/date/test_date_base.rb443
-rw-r--r--test/date/test_date_compat.rb22
-rw-r--r--test/date/test_date_conv.rb138
-rw-r--r--test/date/test_date_marshal.rb42
-rw-r--r--test/date/test_date_new.rb272
-rw-r--r--test/date/test_date_parse.rb1125
-rw-r--r--test/date/test_date_strftime.rb431
-rw-r--r--test/date/test_date_strptime.rb513
-rw-r--r--test/date/test_switch_hitter.rb665
-rw-r--r--test/dbm/test_dbm.rb217
-rw-r--r--test/digest/digest/foo.rb11
-rw-r--r--test/digest/test_digest.rb199
-rw-r--r--test/digest/test_digest_extend.rb159
-rw-r--r--test/drb/drbtest.rb171
-rw-r--r--test/drb/ignore_test_drb.rb20
-rw-r--r--test/drb/test_acl.rb5
-rw-r--r--test/drb/test_drb.rb121
-rw-r--r--test/drb/test_drbssl.rb25
-rw-r--r--test/drb/test_drbunix.rb24
-rw-r--r--test/drb/ut_array.rb4
-rw-r--r--test/drb/ut_array_drbssl.rb19
-rw-r--r--test/drb/ut_array_drbunix.rb2
-rw-r--r--test/drb/ut_drb.rb12
-rw-r--r--test/drb/ut_drb_drbssl.rb21
-rw-r--r--test/drb/ut_drb_drbunix.rb4
-rw-r--r--test/drb/ut_eq.rb37
-rw-r--r--test/drb/ut_eval.rb8
-rw-r--r--test/drb/ut_large.rb10
-rw-r--r--test/drb/ut_port.rb2
-rw-r--r--test/drb/ut_safe1.rb4
-rw-r--r--test/drb/ut_timerholder.rb75
-rw-r--r--test/dtrace/dummy.rb2
-rw-r--r--test/dtrace/helper.rb59
-rw-r--r--test/dtrace/test_array_create.rb36
-rw-r--r--test/dtrace/test_cmethod.rb50
-rw-r--r--test/dtrace/test_function_entry.rb88
-rw-r--r--test/dtrace/test_gc.rb27
-rw-r--r--test/dtrace/test_hash_create.rb53
-rw-r--r--test/dtrace/test_load.rb53
-rw-r--r--test/dtrace/test_method_cache.rb29
-rw-r--r--test/dtrace/test_object_create_start.rb36
-rw-r--r--test/dtrace/test_raise.rb30
-rw-r--r--test/dtrace/test_require.rb35
-rw-r--r--test/dtrace/test_singleton_function.rb56
-rw-r--r--test/dtrace/test_string.rb28
-rw-r--r--test/erb/hello.erb4
-rw-r--r--test/erb/test_erb.rb481
-rw-r--r--test/erb/test_erb_command.rb12
-rw-r--r--test/erb/test_erb_m17n.rb124
-rw-r--r--test/etc/test_etc.rb172
-rw-r--r--test/excludes/TestException.rb9
-rw-r--r--test/excludes/TestIO_Console.rb2
-rw-r--r--test/excludes/TestISeq.rb1
-rw-r--r--test/excludes/TestThread.rb2
-rw-r--r--test/fiddle/helper.rb126
-rw-r--r--test/fiddle/test_c_struct_entry.rb77
-rw-r--r--test/fiddle/test_c_union_entity.rb35
-rw-r--r--test/fiddle/test_closure.rb85
-rw-r--r--test/fiddle/test_cparser.rb211
-rw-r--r--test/fiddle/test_fiddle.rb17
-rw-r--r--test/fiddle/test_func.rb93
-rw-r--r--test/fiddle/test_function.rb102
-rw-r--r--test/fiddle/test_handle.rb186
-rw-r--r--test/fiddle/test_import.rb151
-rw-r--r--test/fiddle/test_pointer.rb238
-rw-r--r--test/fileutils/clobber.rb92
-rw-r--r--test/fileutils/fileasserts.rb131
-rw-r--r--test/fileutils/test_dryrun.rb23
-rw-r--r--test/fileutils/test_fileutils.rb860
-rw-r--r--test/fileutils/test_nowrite.rb93
-rw-r--r--test/fileutils/test_verbose.rb21
-rw-r--r--test/fileutils/visibility_tests.rb42
-rw-r--r--test/gdbm/test_gdbm.rb272
-rw-r--r--test/io/console/test_io_console.rb383
-rw-r--r--test/io/nonblock/test_flush.rb49
-rw-r--r--test/io/wait/test_io_wait.rb117
-rw-r--r--test/irb/test_completion.rb22
-rw-r--r--test/irb/test_option.rb12
-rw-r--r--test/irb/test_raise_no_backtrace_exception.rb14
-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.rb12
-rwxr-xr-xtest/json/test_json.rb577
-rw-r--r--test/json/test_json_addition.rb197
-rw-r--r--test/json/test_json_encoding.rb66
-rw-r--r--test/json/test_json_fixtures.rb36
-rw-r--r--test/json/test_json_generate.rb361
-rw-r--r--test/json/test_json_generic_object.rb76
-rw-r--r--test/json/test_json_string_matching.rb40
-rw-r--r--test/json/test_json_unicode.rb73
-rw-r--r--test/lib/envutil.rb267
-rw-r--r--test/lib/find_executable.rb22
-rw-r--r--test/lib/iseq_loader_checker.rb75
-rw-r--r--test/lib/leakchecker.rb201
-rw-r--r--test/lib/memory_status.rb140
-rw-r--r--test/lib/minitest/README.txt457
-rw-r--r--test/lib/minitest/autorun.rb14
-rw-r--r--test/lib/minitest/benchmark.rb418
-rw-r--r--test/lib/minitest/mock.rb196
-rw-r--r--test/lib/minitest/unit.rb1402
-rw-r--r--test/lib/profile_test_all.rb91
-rw-r--r--test/lib/test/unit.rb1025
-rw-r--r--test/lib/test/unit/assertions.rb854
-rw-r--r--test/lib/test/unit/parallel.rb190
-rw-r--r--test/lib/test/unit/testcase.rb36
-rw-r--r--test/lib/tracepointchecker.rb119
-rw-r--r--test/lib/with_different_ofs.rb18
-rw-r--r--test/lib/zombie_hunter.rb9
-rw-r--r--test/logger/test_logdevice.rb655
-rw-r--r--test/logger/test_logger.rb199
-rw-r--r--test/logger/test_severity.rb16
-rw-r--r--test/matrix/test_matrix.rb612
-rw-r--r--test/matrix/test_vector.rb220
-rw-r--r--test/minitest/metametameta.rb71
-rw-r--r--test/minitest/test_minitest_benchmark.rb131
-rw-r--r--test/minitest/test_minitest_mock.rb404
-rw-r--r--test/minitest/test_minitest_unit.rb1782
-rw-r--r--test/misc/test_ruby_mode.rb187
-rw-r--r--test/mkmf/base.rb145
-rw-r--r--test/mkmf/test_config.rb17
-rw-r--r--test/mkmf/test_constant.rb38
-rw-r--r--test/mkmf/test_convertible.rb35
-rw-r--r--test/mkmf/test_find_executable.rb51
-rw-r--r--test/mkmf/test_flags.rb57
-rw-r--r--test/mkmf/test_framework.rb49
-rw-r--r--test/mkmf/test_have_func.rb15
-rw-r--r--test/mkmf/test_have_library.rb56
-rw-r--r--test/mkmf/test_have_macro.rb36
-rw-r--r--test/mkmf/test_libs.rb87
-rw-r--r--test/mkmf/test_signedness.rb30
-rw-r--r--test/mkmf/test_sizeof.rb48
-rw-r--r--test/monitor/test_monitor.rb169
-rw-r--r--test/net/ftp/test_buffered_socket.rb42
-rw-r--r--test/net/ftp/test_ftp.rb1921
-rw-r--r--test/net/ftp/test_mlsx_entry.rb98
-rw-r--r--test/net/http/test_buffered_io.rb18
-rw-r--r--test/net/http/test_http.rb1034
-rw-r--r--test/net/http/test_http_request.rb80
-rw-r--r--test/net/http/test_httpheader.rb49
-rw-r--r--test/net/http/test_httpresponse.rb395
-rw-r--r--test/net/http/test_httpresponses.rb25
-rw-r--r--test/net/http/test_https.rb195
-rw-r--r--test/net/http/test_https_proxy.rb41
-rw-r--r--test/net/http/utils.rb109
-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.rb609
-rw-r--r--test/net/imap/test_imap_response_parser.rb294
-rw-r--r--test/net/pop/test_pop.rb137
-rw-r--r--test/net/protocol/test_protocol.rb29
-rw-r--r--test/net/smtp/test_response.rb100
-rw-r--r--test/net/smtp/test_smtp.rb173
-rw-r--r--test/net/smtp/test_ssl_socket.rb97
-rw-r--r--test/nkf/test_kconv.rb105
-rw-r--r--test/nkf/test_nkf.rb7
-rw-r--r--test/objspace/test_objspace.rb376
-rw-r--r--test/open-uri/test_open-uri.rb834
-rw-r--r--test/open-uri/test_ssl.rb391
-rw-r--r--test/openssl/ssl_server.rb81
-rw-r--r--test/openssl/test_asn1.rb452
-rw-r--r--test/openssl/test_bn.rb80
-rw-r--r--test/openssl/test_buffering.rb88
-rw-r--r--test/openssl/test_cipher.rb199
-rw-r--r--test/openssl/test_config.rb298
-rw-r--r--test/openssl/test_digest.rb66
-rw-r--r--test/openssl/test_engine.rb76
-rw-r--r--test/openssl/test_fips.rb15
-rw-r--r--test/openssl/test_hmac.rb34
-rw-r--r--test/openssl/test_ns_spki.rb15
-rw-r--r--test/openssl/test_ocsp.rb48
-rw-r--r--test/openssl/test_pair.rb448
-rw-r--r--test/openssl/test_partial_record_read.rb35
-rw-r--r--test/openssl/test_pkcs12.rb210
-rw-r--r--test/openssl/test_pkcs5.rb98
-rw-r--r--test/openssl/test_pkcs7.rb182
-rw-r--r--test/openssl/test_pkey_dh.rb104
-rw-r--r--test/openssl/test_pkey_dsa.rb241
-rw-r--r--test/openssl/test_pkey_ec.rb212
-rw-r--r--test/openssl/test_pkey_rsa.rb279
-rw-r--r--test/openssl/test_random.rb17
-rw-r--r--test/openssl/test_ssl.rb1292
-rw-r--r--test/openssl/test_ssl_session.rb381
-rw-r--r--test/openssl/test_x509cert.rb136
-rw-r--r--test/openssl/test_x509crl.rb37
-rw-r--r--test/openssl/test_x509ext.rb34
-rw-r--r--test/openssl/test_x509name.rb118
-rw-r--r--test/openssl/test_x509req.rb59
-rw-r--r--test/openssl/test_x509store.rb80
-rw-r--r--test/openssl/utils.rb209
-rw-r--r--test/optparse/test_acceptable.rb199
-rw-r--r--test/optparse/test_autoconf.rb64
-rw-r--r--test/optparse/test_bash_completion.rb43
-rw-r--r--test/optparse/test_cclass.rb18
-rw-r--r--test/optparse/test_getopts.rb35
-rw-r--r--test/optparse/test_noarg.rb15
-rw-r--r--test/optparse/test_optarg.rb5
-rw-r--r--test/optparse/test_optparse.rb23
-rw-r--r--test/optparse/test_placearg.rb14
-rw-r--r--test/optparse/test_reqarg.rb23
-rw-r--r--test/optparse/test_summary.rb47
-rw-r--r--test/optparse/test_zsh_completion.rb23
-rw-r--r--test/ostruct/test_ostruct.rb171
-rw-r--r--test/pathname/test_pathname.rb1015
-rw-r--r--test/psych/handlers/test_recorder.rb26
-rw-r--r--test/psych/helper.rb122
-rw-r--r--test/psych/json/test_stream.rb110
-rw-r--r--test/psych/nodes/test_enumerable.rb44
-rw-r--r--test/psych/test_alias_and_anchor.rb97
-rw-r--r--test/psych/test_array.rb58
-rw-r--r--test/psych/test_boolean.rb37
-rw-r--r--test/psych/test_class.rb37
-rw-r--r--test/psych/test_coder.rb207
-rw-r--r--test/psych/test_date_time.rb39
-rw-r--r--test/psych/test_deprecated.rb215
-rw-r--r--test/psych/test_document.rb47
-rw-r--r--test/psych/test_emitter.rb112
-rw-r--r--test/psych/test_encoding.rb269
-rw-r--r--test/psych/test_exception.rb158
-rw-r--r--test/psych/test_hash.rb95
-rw-r--r--test/psych/test_json_tree.rb66
-rw-r--r--test/psych/test_marshalable.rb55
-rw-r--r--test/psych/test_merge_keys.rb181
-rw-r--r--test/psych/test_nil.rb19
-rw-r--r--test/psych/test_null.rb20
-rw-r--r--test/psych/test_numeric.rb46
-rw-r--r--test/psych/test_object.rb45
-rw-r--r--test/psych/test_object_references.rb72
-rw-r--r--test/psych/test_omap.rb76
-rw-r--r--test/psych/test_parser.rb340
-rw-r--r--test/psych/test_psych.rb184
-rw-r--r--test/psych/test_safe_load.rb98
-rw-r--r--test/psych/test_scalar.rb12
-rw-r--r--test/psych/test_scalar_scanner.rb107
-rw-r--r--test/psych/test_serialize_subclasses.rb39
-rw-r--r--test/psych/test_set.rb50
-rw-r--r--test/psych/test_stream.rb94
-rw-r--r--test/psych/test_string.rb227
-rw-r--r--test/psych/test_struct.rb50
-rw-r--r--test/psych/test_symbol.rb26
-rw-r--r--test/psych/test_tainted.rb131
-rw-r--r--test/psych/test_to_yaml_properties.rb64
-rw-r--r--test/psych/test_tree_builder.rb80
-rw-r--r--test/psych/test_yaml.rb1293
-rw-r--r--test/psych/test_yamldbm.rb193
-rw-r--r--test/psych/test_yamlstore.rb86
-rw-r--r--test/psych/visitors/test_depth_first.rb50
-rw-r--r--test/psych/visitors/test_emitter.rb145
-rw-r--r--test/psych/visitors/test_to_ruby.rb332
-rw-r--r--test/psych/visitors/test_yaml_tree.rb180
-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.datbin0 -> 1024 bytes-rw-r--r--test/rdoc/hidden.zip.txt1
-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.rb14
-rw-r--r--test/rdoc/test_rdoc_any_method.rb461
-rw-r--r--test/rdoc/test_rdoc_attr.rb191
-rw-r--r--test/rdoc/test_rdoc_class_module.rb1493
-rw-r--r--test/rdoc/test_rdoc_code_object.rb451
-rw-r--r--test/rdoc/test_rdoc_comment.rb505
-rw-r--r--test/rdoc/test_rdoc_constant.rb182
-rw-r--r--test/rdoc/test_rdoc_context.rb902
-rw-r--r--test/rdoc/test_rdoc_context_section.rb131
-rw-r--r--test/rdoc/test_rdoc_cross_reference.rb193
-rw-r--r--test/rdoc/test_rdoc_encoding.rb228
-rw-r--r--test/rdoc/test_rdoc_extend.rb95
-rw-r--r--test/rdoc/test_rdoc_generator_darkfish.rb230
-rw-r--r--test/rdoc/test_rdoc_generator_json_index.rb325
-rw-r--r--test/rdoc/test_rdoc_generator_markup.rb60
-rw-r--r--test/rdoc/test_rdoc_generator_pot.rb92
-rw-r--r--test/rdoc/test_rdoc_generator_pot_po.rb52
-rw-r--r--test/rdoc/test_rdoc_generator_pot_po_entry.rb140
-rw-r--r--test/rdoc/test_rdoc_generator_ri.rb79
-rw-r--r--test/rdoc/test_rdoc_i18n_locale.rb74
-rw-r--r--test/rdoc/test_rdoc_i18n_text.rb124
-rw-r--r--test/rdoc/test_rdoc_include.rb109
-rw-r--r--test/rdoc/test_rdoc_markdown.rb981
-rw-r--r--test/rdoc/test_rdoc_markdown_test.rb1885
-rw-r--r--test/rdoc/test_rdoc_markup.rb96
-rw-r--r--test/rdoc/test_rdoc_markup_attribute_manager.rb365
-rw-r--r--test/rdoc/test_rdoc_markup_attributes.rb40
-rw-r--r--test/rdoc/test_rdoc_markup_document.rb208
-rw-r--r--test/rdoc/test_rdoc_markup_formatter.rb176
-rw-r--r--test/rdoc/test_rdoc_markup_hard_break.rb32
-rw-r--r--test/rdoc/test_rdoc_markup_heading.rb30
-rw-r--r--test/rdoc/test_rdoc_markup_include.rb20
-rw-r--r--test/rdoc/test_rdoc_markup_indented_paragraph.rb54
-rw-r--r--test/rdoc/test_rdoc_markup_paragraph.rb33
-rw-r--r--test/rdoc/test_rdoc_markup_parser.rb1681
-rw-r--r--test/rdoc/test_rdoc_markup_pre_process.rb474
-rw-r--r--test/rdoc/test_rdoc_markup_raw.rb23
-rw-r--r--test/rdoc/test_rdoc_markup_to_ansi.rb370
-rw-r--r--test/rdoc/test_rdoc_markup_to_bs.rb367
-rw-r--r--test/rdoc/test_rdoc_markup_to_html.rb663
-rw-r--r--test/rdoc/test_rdoc_markup_to_html_crossref.rb226
-rw-r--r--test/rdoc/test_rdoc_markup_to_html_snippet.rb712
-rw-r--r--test/rdoc/test_rdoc_markup_to_joined_paragraph.rb33
-rw-r--r--test/rdoc/test_rdoc_markup_to_label.rb113
-rw-r--r--test/rdoc/test_rdoc_markup_to_markdown.rb390
-rw-r--r--test/rdoc/test_rdoc_markup_to_rdoc.rb378
-rw-r--r--test/rdoc/test_rdoc_markup_to_table_of_contents.rb127
-rw-r--r--test/rdoc/test_rdoc_markup_to_tt_only.rb247
-rw-r--r--test/rdoc/test_rdoc_markup_verbatim.rb30
-rw-r--r--test/rdoc/test_rdoc_method_attr.rb194
-rw-r--r--test/rdoc/test_rdoc_normal_class.rb48
-rw-r--r--test/rdoc/test_rdoc_normal_module.rb43
-rw-r--r--test/rdoc/test_rdoc_options.rb767
-rw-r--r--test/rdoc/test_rdoc_parser.rb328
-rw-r--r--test/rdoc/test_rdoc_parser_c.rb1897
-rw-r--r--test/rdoc/test_rdoc_parser_changelog.rb316
-rw-r--r--test/rdoc/test_rdoc_parser_markdown.rb62
-rw-r--r--test/rdoc/test_rdoc_parser_rd.rb56
-rw-r--r--test/rdoc/test_rdoc_parser_ruby.rb3323
-rw-r--r--test/rdoc/test_rdoc_parser_simple.rb116
-rw-r--r--test/rdoc/test_rdoc_rd.rb31
-rw-r--r--test/rdoc/test_rdoc_rd_block_parser.rb536
-rw-r--r--test/rdoc/test_rdoc_rd_inline.rb64
-rw-r--r--test/rdoc/test_rdoc_rd_inline_parser.rb178
-rw-r--r--test/rdoc/test_rdoc_rdoc.rb456
-rw-r--r--test/rdoc/test_rdoc_require.rb26
-rw-r--r--test/rdoc/test_rdoc_ri_driver.rb1437
-rw-r--r--test/rdoc/test_rdoc_ri_paths.rb156
-rw-r--r--test/rdoc/test_rdoc_ruby_lex.rb422
-rw-r--r--test/rdoc/test_rdoc_ruby_token.rb20
-rw-r--r--test/rdoc/test_rdoc_rubygems_hook.rb252
-rw-r--r--test/rdoc/test_rdoc_servlet.rb535
-rw-r--r--test/rdoc/test_rdoc_single_class.rb21
-rw-r--r--test/rdoc/test_rdoc_stats.rb723
-rw-r--r--test/rdoc/test_rdoc_store.rb994
-rw-r--r--test/rdoc/test_rdoc_task.rb174
-rw-r--r--test/rdoc/test_rdoc_text.rb558
-rw-r--r--test/rdoc/test_rdoc_token_stream.rb43
-rw-r--r--test/rdoc/test_rdoc_tom_doc.rb521
-rw-r--r--test/rdoc/test_rdoc_top_level.rb288
-rw-r--r--test/rdoc/xref_data.rb77
-rw-r--r--test/rdoc/xref_test_case.rb68
-rw-r--r--test/readline/test_readline.rb534
-rw-r--r--test/readline/test_readline_history.rb293
-rw-r--r--test/resolv/test_addr.rb30
-rw-r--r--test/resolv/test_dns.rb224
-rw-r--r--test/resolv/test_resource.rb22
-rw-r--r--test/rexml/data/LostineRiver.kml.gzbin0 -> 50154 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.xmlbin0 -> 161690 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.xmlbin0 -> 207464 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.rb51
-rw-r--r--test/rexml/parse/test_document_type_declaration.rb50
-rw-r--r--test/rexml/parse/test_notation_declaration.rb100
-rw-r--r--test/rexml/parser/test_sax2.rb203
-rw-r--r--test/rexml/parser/test_stream.rb32
-rw-r--r--test/rexml/parser/test_tree.rb43
-rw-r--r--test/rexml/parser/test_ultra_light.rb70
-rw-r--r--test/rexml/rexml_test_utils.rb7
-rw-r--r--test/rexml/test_attributes.rb223
-rw-r--r--test/rexml/test_attributes_mixin.rb32
-rw-r--r--test/rexml/test_changing_encoding.rb45
-rw-r--r--test/rexml/test_comment.rb26
-rw-r--r--test/rexml/test_contrib.rb585
-rw-r--r--test/rexml/test_core.rb1468
-rw-r--r--test/rexml/test_doctype.rb107
-rw-r--r--test/rexml/test_document.rb416
-rw-r--r--test/rexml/test_elements.rb119
-rw-r--r--test/rexml/test_encoding.rb108
-rw-r--r--test/rexml/test_entity.rb206
-rw-r--r--test/rexml/test_functions.rb238
-rw-r--r--test/rexml/test_functions_number.rb35
-rw-r--r--test/rexml/test_jaxen.rb130
-rw-r--r--test/rexml/test_light.rb107
-rw-r--r--test/rexml/test_lightparser.rb16
-rw-r--r--test/rexml/test_listener.rb131
-rw-r--r--test/rexml/test_martin_fowler.rb40
-rw-r--r--test/rexml/test_namespace.rb41
-rw-r--r--test/rexml/test_order.rb110
-rw-r--r--test/rexml/test_preceding_sibling.rb41
-rw-r--r--test/rexml/test_pullparser.rb103
-rw-r--r--test/rexml/test_rexml_issuezilla.rb19
-rw-r--r--test/rexml/test_sax.rb287
-rw-r--r--test/rexml/test_stream.rb130
-rw-r--r--test/rexml/test_text.rb22
-rw-r--r--test/rexml/test_ticket_80.rb59
-rw-r--r--test/rexml/test_validation_rng.rb793
-rw-r--r--test/rexml/test_xml_declaration.rb36
-rw-r--r--test/rexml/xpath/test_attribute.rb30
-rw-r--r--test/rexml/xpath/test_axis_preceding_sibling.rb40
-rw-r--r--test/rexml/xpath/test_base.rb1090
-rw-r--r--test/rexml/xpath/test_node.rb43
-rw-r--r--test/rexml/xpath/test_predicate.rb83
-rw-r--r--test/rexml/xpath/test_text.rb75
-rw-r--r--test/rinda/test_rinda.rb645
-rw-r--r--test/rinda/test_tuplebag.rb173
-rw-r--r--test/ripper/dummyparser.rb221
-rw-r--r--test/ripper/test_files.rb24
-rw-r--r--test/ripper/test_filter.rb84
-rw-r--r--test/ripper/test_lexer.rb35
-rw-r--r--test/ripper/test_parser_events.rb1342
-rw-r--r--test/ripper/test_ripper.rb75
-rw-r--r--test/ripper/test_scanner_events.rb924
-rw-r--r--test/ripper/test_sexp.rb85
-rw-r--r--test/rss/dot.pngbin0 -> 111 bytes-rw-r--r--test/rss/rss-assertions.rb1945
-rw-r--r--test/rss/rss-testcase.rb219
-rw-r--r--test/rss/test_1.0.rb213
-rw-r--r--test/rss/test_2.0.rb148
-rw-r--r--test/rss/test_accessor.rb35
-rw-r--r--test/rss/test_atom.rb684
-rw-r--r--test/rss/test_content.rb79
-rw-r--r--test/rss/test_dublincore.rb321
-rw-r--r--test/rss/test_image.rb52
-rw-r--r--test/rss/test_inherit.rb8
-rw-r--r--test/rss/test_itunes.rb348
-rw-r--r--test/rss/test_maker_0.9.rb218
-rw-r--r--test/rss/test_maker_1.0.rb284
-rw-r--r--test/rss/test_maker_2.0.rb201
-rw-r--r--test/rss/test_maker_atom_entry.rb394
-rw-r--r--test/rss/test_maker_atom_feed.rb455
-rw-r--r--test/rss/test_maker_content.rb18
-rw-r--r--test/rss/test_maker_dc.rb25
-rw-r--r--test/rss/test_maker_image.rb7
-rw-r--r--test/rss/test_maker_itunes.rb470
-rw-r--r--test/rss/test_maker_slash.rb38
-rw-r--r--test/rss/test_maker_sy.rb8
-rw-r--r--test/rss/test_maker_taxo.rb9
-rw-r--r--test/rss/test_maker_trackback.rb5
-rw-r--r--test/rss/test_maker_xml-stylesheet.rb17
-rw-r--r--test/rss/test_parser.rb37
-rw-r--r--test/rss/test_parser_1.0.rb30
-rw-r--r--test/rss/test_parser_2.0.rb3
-rw-r--r--test/rss/test_parser_atom_entry.rb164
-rw-r--r--test/rss/test_parser_atom_feed.rb277
-rw-r--r--test/rss/test_setup_maker_0.9.rb52
-rw-r--r--test/rss/test_setup_maker_1.0.rb113
-rw-r--r--test/rss/test_setup_maker_2.0.rb45
-rw-r--r--test/rss/test_setup_maker_atom_entry.rb410
-rw-r--r--test/rss/test_setup_maker_atom_feed.rb446
-rw-r--r--test/rss/test_setup_maker_itunes.rb144
-rw-r--r--test/rss/test_setup_maker_slash.rb39
-rw-r--r--test/rss/test_slash.rb65
-rw-r--r--test/rss/test_syndication.rb43
-rw-r--r--test/rss/test_taxonomy.rb33
-rw-r--r--test/rss/test_to_s.rb295
-rw-r--r--test/rss/test_trackback.rb31
-rw-r--r--test/rss/test_version.rb5
-rw-r--r--test/rss/test_xml-stylesheet.rb25
-rw-r--r--test/ruby/allpairs.rb103
-rw-r--r--test/ruby/beginmainend.rb7
-rw-r--r--test/ruby/bug-11928.rb14
-rw-r--r--test/ruby/bug-13526.rb20
-rw-r--r--test/ruby/enc/test_big5.rb29
-rw-r--r--test/ruby/enc/test_cp949.rb29
-rw-r--r--test/ruby/enc/test_emoji.rb443
-rw-r--r--test/ruby/enc/test_euc_jp.rb25
-rw-r--r--test/ruby/enc/test_euc_kr.rb37
-rw-r--r--test/ruby/enc/test_euc_tw.rb29
-rw-r--r--test/ruby/enc/test_gb18030.rb127
-rw-r--r--test/ruby/enc/test_gbk.rb29
-rw-r--r--test/ruby/enc/test_iso_8859.rb164
-rw-r--r--test/ruby/enc/test_koi8.rb23
-rw-r--r--test/ruby/enc/test_shift_jis.rb28
-rw-r--r--test/ruby/enc/test_utf16.rb385
-rw-r--r--test/ruby/enc/test_utf32.rb162
-rw-r--r--test/ruby/enc/test_windows_1251.rb17
-rw-r--r--test/ruby/enc/test_windows_1252.rb26
-rw-r--r--test/ruby/endblockwarn.rb12
-rw-r--r--test/ruby/envutil.rb28
-rw-r--r--test/ruby/lbtest.rb50
-rw-r--r--test/ruby/marshaltestlib.rb187
-rw-r--r--test/ruby/sentence.rb669
-rw-r--r--test/ruby/test_alias.rb198
-rw-r--r--test/ruby/test_argf.rb922
-rw-r--r--test/ruby/test_arity.rb70
-rw-r--r--test/ruby/test_array.rb2602
-rw-r--r--test/ruby/test_assignment.rb784
-rw-r--r--test/ruby/test_autoload.rb252
-rw-r--r--test/ruby/test_backtrace.rb301
-rw-r--r--test/ruby/test_basicinstructions.rb701
-rw-r--r--test/ruby/test_beginendblock.rb166
-rw-r--r--test/ruby/test_bignum.rb643
-rw-r--r--test/ruby/test_call.rb86
-rw-r--r--test/ruby/test_case.rb97
-rw-r--r--test/ruby/test_class.rb598
-rw-r--r--test/ruby/test_clone.rb3
-rw-r--r--test/ruby/test_comparable.rb101
-rw-r--r--test/ruby/test_complex.rb926
-rw-r--r--test/ruby/test_complex2.rb736
-rw-r--r--test/ruby/test_complexrational.rb408
-rw-r--r--test/ruby/test_condition.rb1
-rw-r--r--test/ruby/test_const.rb47
-rw-r--r--test/ruby/test_continuation.rb135
-rw-r--r--test/ruby/test_defined.rb217
-rw-r--r--test/ruby/test_dir.rb316
-rw-r--r--test/ruby/test_dir_m17n.rb436
-rw-r--r--test/ruby/test_econv.rb924
-rw-r--r--test/ruby/test_encoding.rb127
-rw-r--r--test/ruby/test_enum.rb772
-rw-r--r--test/ruby/test_enumerator.rb649
-rw-r--r--test/ruby/test_env.rb452
-rw-r--r--test/ruby/test_eval.rb484
-rw-r--r--test/ruby/test_exception.rb789
-rw-r--r--test/ruby/test_extlibs.rb87
-rw-r--r--test/ruby/test_fiber.rb348
-rw-r--r--test/ruby/test_file.rb499
-rw-r--r--test/ruby/test_file_exhaustive.rb1564
-rw-r--r--test/ruby/test_fixnum.rb333
-rw-r--r--test/ruby/test_flip.rb42
-rw-r--r--test/ruby/test_float.rb638
-rw-r--r--test/ruby/test_fnmatch.rb132
-rw-r--r--test/ruby/test_gc.rb379
-rw-r--r--test/ruby/test_hash.rb899
-rw-r--r--test/ruby/test_ifunless.rb15
-rw-r--r--test/ruby/test_integer.rb281
-rw-r--r--test/ruby/test_integer_comb.rb632
-rw-r--r--test/ruby/test_io.rb3383
-rw-r--r--test/ruby/test_io_m17n.rb2639
-rw-r--r--test/ruby/test_iseq.rb233
-rw-r--r--test/ruby/test_iterator.rb163
-rw-r--r--test/ruby/test_keyword.rb639
-rw-r--r--test/ruby/test_lambda.rb181
-rw-r--r--test/ruby/test_lazy_enumerator.rb542
-rw-r--r--test/ruby/test_literal.rb508
-rw-r--r--test/ruby/test_m17n.rb1697
-rw-r--r--test/ruby/test_m17n_comb.rb1644
-rw-r--r--test/ruby/test_marshal.rb728
-rw-r--r--test/ruby/test_math.rb340
-rw-r--r--test/ruby/test_metaclass.rb168
-rw-r--r--test/ruby/test_method.rb947
-rw-r--r--test/ruby/test_mixed_unicode_escapes.rb26
-rw-r--r--test/ruby/test_module.rb2223
-rw-r--r--test/ruby/test_not.rb13
-rw-r--r--test/ruby/test_notimp.rb85
-rw-r--r--test/ruby/test_numeric.rb339
-rw-r--r--test/ruby/test_object.rb892
-rw-r--r--test/ruby/test_objectspace.rb172
-rw-r--r--test/ruby/test_optimization.rb470
-rw-r--r--test/ruby/test_pack.rb782
-rw-r--r--test/ruby/test_parse.rb907
-rw-r--r--test/ruby/test_path.rb61
-rw-r--r--test/ruby/test_pipe.rb18
-rw-r--r--test/ruby/test_primitive.rb424
-rw-r--r--test/ruby/test_proc.rb1279
-rw-r--r--test/ruby/test_process.rb2280
-rw-r--r--test/ruby/test_rand.rb574
-rw-r--r--test/ruby/test_range.rb617
-rw-r--r--test/ruby/test_rational.rb961
-rw-r--r--test/ruby/test_rational2.rb1387
-rw-r--r--test/ruby/test_readpartial.rb19
-rw-r--r--test/ruby/test_refinement.rb1681
-rw-r--r--test/ruby/test_regexp.rb1131
-rw-r--r--test/ruby/test_require.rb785
-rw-r--r--test/ruby/test_rubyoptions.rb867
-rw-r--r--test/ruby/test_rubyvm.rb18
-rw-r--r--test/ruby/test_settracefunc.rb1741
-rw-r--r--test/ruby/test_signal.rb322
-rw-r--r--test/ruby/test_sleep.rb17
-rw-r--r--test/ruby/test_sprintf.rb493
-rw-r--r--test/ruby/test_sprintf_comb.rb554
-rw-r--r--test/ruby/test_string.rb2300
-rw-r--r--test/ruby/test_stringchar.rb66
-rw-r--r--test/ruby/test_struct.rb377
-rw-r--r--test/ruby/test_super.rb436
-rw-r--r--test/ruby/test_symbol.rb375
-rw-r--r--test/ruby/test_syntax.rb863
-rw-r--r--test/ruby/test_system.rb186
-rw-r--r--test/ruby/test_thread.rb1117
-rw-r--r--test/ruby/test_threadgroup.rb58
-rw-r--r--test/ruby/test_time.rb995
-rw-r--r--test/ruby/test_time_tz.rb403
-rw-r--r--test/ruby/test_trace.rb62
-rw-r--r--test/ruby/test_transcode.rb2145
-rw-r--r--test/ruby/test_undef.rb38
-rw-r--r--test/ruby/test_unicode_escape.rb271
-rw-r--r--test/ruby/test_variable.rb106
-rw-r--r--test/ruby/test_weakmap.rb134
-rw-r--r--test/ruby/test_whileuntil.rb114
-rw-r--r--test/ruby/test_yield.rb425
-rw-r--r--test/ruby/ut_eof.rb17
-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.rb2
-rw-r--r--test/rubygems/bogussources.rb9
-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.rzbin0 -> 554 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.rb8
-rw-r--r--test/rubygems/fix_openssl_warnings.rb13
-rw-r--r--test/rubygems/foo/discover.rb1
-rw-r--r--test/rubygems/future_cert.pem18
-rw-r--r--test/rubygems/future_cert_32.pem18
-rw-r--r--test/rubygems/good_rake.rb2
-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.rb3
-rw-r--r--test/rubygems/plugin/load/rubygems_plugin.rb4
-rw-r--r--test/rubygems/plugin/standarderror/rubygems_plugin.rb3
-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.rb6
-rw-r--r--test/rubygems/rubygems_plugin.rb22
-rw-r--r--test/rubygems/sff/discover.rb1
-rw-r--r--test/rubygems/simple_gem.rb67
-rw-r--r--test/rubygems/specifications/bar-0.0.2.gemspec9
-rw-r--r--test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspecbin0 -> 269 bytes-rw-r--r--test/rubygems/ssl_cert.pem (renamed from test/soap/ssl/server.cert)0
-rw-r--r--test/rubygems/ssl_key.pem (renamed from test/soap/ssl/server.key)0
-rw-r--r--test/rubygems/test_bundled_ca.rb59
-rw-r--r--test/rubygems/test_config.rb24
-rw-r--r--test/rubygems/test_deprecate.rb77
-rw-r--r--test/rubygems/test_gem.rb1620
-rw-r--r--test/rubygems/test_gem_available_set.rb130
-rw-r--r--test/rubygems/test_gem_command.rb244
-rw-r--r--test/rubygems/test_gem_command_manager.rb264
-rw-r--r--test/rubygems/test_gem_commands_build_command.rb121
-rw-r--r--test/rubygems/test_gem_commands_cert_command.rb671
-rw-r--r--test/rubygems/test_gem_commands_check_command.rb69
-rw-r--r--test/rubygems/test_gem_commands_cleanup_command.rb169
-rw-r--r--test/rubygems/test_gem_commands_contents_command.rb240
-rw-r--r--test/rubygems/test_gem_commands_dependency_command.rb230
-rw-r--r--test/rubygems/test_gem_commands_environment_command.rb154
-rw-r--r--test/rubygems/test_gem_commands_fetch_command.rb127
-rw-r--r--test/rubygems/test_gem_commands_generate_index_command.rb51
-rw-r--r--test/rubygems/test_gem_commands_help_command.rb75
-rw-r--r--test/rubygems/test_gem_commands_install_command.rb987
-rw-r--r--test/rubygems/test_gem_commands_list_command.rb34
-rw-r--r--test/rubygems/test_gem_commands_lock_command.rb69
-rw-r--r--test/rubygems/test_gem_commands_mirror.rb20
-rw-r--r--test/rubygems/test_gem_commands_open_command.rb53
-rw-r--r--test/rubygems/test_gem_commands_outdated_command.rb33
-rw-r--r--test/rubygems/test_gem_commands_owner_command.rb205
-rw-r--r--test/rubygems/test_gem_commands_pristine_command.rb491
-rw-r--r--test/rubygems/test_gem_commands_push_command.rb290
-rw-r--r--test/rubygems/test_gem_commands_query_command.rb737
-rw-r--r--test/rubygems/test_gem_commands_search_command.rb18
-rw-r--r--test/rubygems/test_gem_commands_server_command.rb60
-rw-r--r--test/rubygems/test_gem_commands_setup_command.rb136
-rw-r--r--test/rubygems/test_gem_commands_sources_command.rb249
-rw-r--r--test/rubygems/test_gem_commands_specification_command.rb251
-rw-r--r--test/rubygems/test_gem_commands_stale_command.rb43
-rw-r--r--test/rubygems/test_gem_commands_uninstall_command.rb283
-rw-r--r--test/rubygems/test_gem_commands_unpack_command.rb209
-rw-r--r--test/rubygems/test_gem_commands_update_command.rb514
-rw-r--r--test/rubygems/test_gem_commands_which_command.rb87
-rw-r--r--test/rubygems/test_gem_commands_yank_command.rb100
-rw-r--r--test/rubygems/test_gem_config_file.rb491
-rw-r--r--test/rubygems/test_gem_dependency.rb362
-rw-r--r--test/rubygems/test_gem_dependency_installer.rb1235
-rw-r--r--test/rubygems/test_gem_dependency_list.rb260
-rw-r--r--test/rubygems/test_gem_dependency_resolution_error.rb29
-rw-r--r--test/rubygems/test_gem_doctor.rb169
-rw-r--r--test/rubygems/test_gem_ext_builder.rb341
-rw-r--r--test/rubygems/test_gem_ext_cmake_builder.rb85
-rw-r--r--test/rubygems/test_gem_ext_configure_builder.rb87
-rw-r--r--test/rubygems/test_gem_ext_ext_conf_builder.rb211
-rw-r--r--test/rubygems/test_gem_ext_rake_builder.rb65
-rw-r--r--test/rubygems/test_gem_gem_runner.rb69
-rw-r--r--test/rubygems/test_gem_gemcutter_utilities.rb235
-rw-r--r--test/rubygems/test_gem_impossible_dependencies_error.rb62
-rw-r--r--test/rubygems/test_gem_indexer.rb367
-rw-r--r--test/rubygems/test_gem_install_update_options.rb197
-rw-r--r--test/rubygems/test_gem_installer.rb1572
-rw-r--r--test/rubygems/test_gem_local_remote_options.rb134
-rw-r--r--test/rubygems/test_gem_name_tuple.rb45
-rw-r--r--test/rubygems/test_gem_package.rb876
-rw-r--r--test/rubygems/test_gem_package_old.rb90
-rw-r--r--test/rubygems/test_gem_package_tar_header.rb147
-rw-r--r--test/rubygems/test_gem_package_tar_reader.rb90
-rw-r--r--test/rubygems/test_gem_package_tar_reader_entry.rb142
-rw-r--r--test/rubygems/test_gem_package_tar_writer.rb264
-rw-r--r--test/rubygems/test_gem_package_task.rb84
-rw-r--r--test/rubygems/test_gem_path_support.rb85
-rw-r--r--test/rubygems/test_gem_platform.rb308
-rw-r--r--test/rubygems/test_gem_rdoc.rb270
-rw-r--r--test/rubygems/test_gem_remote_fetcher.rb1066
-rw-r--r--test/rubygems/test_gem_request.rb363
-rw-r--r--test/rubygems/test_gem_request_connection_pools.rb130
-rw-r--r--test/rubygems/test_gem_request_set.rb595
-rw-r--r--test/rubygems/test_gem_request_set_gem_dependency_api.rb831
-rw-r--r--test/rubygems/test_gem_request_set_lockfile.rb470
-rw-r--r--test/rubygems/test_gem_request_set_lockfile_parser.rb549
-rw-r--r--test/rubygems/test_gem_request_set_lockfile_tokenizer.rb306
-rw-r--r--test/rubygems/test_gem_requirement.rb387
-rw-r--r--test/rubygems/test_gem_resolver.rb715
-rw-r--r--test/rubygems/test_gem_resolver_activation_request.rb74
-rw-r--r--test/rubygems/test_gem_resolver_api_set.rb209
-rw-r--r--test/rubygems/test_gem_resolver_api_specification.rb145
-rw-r--r--test/rubygems/test_gem_resolver_best_set.rb138
-rw-r--r--test/rubygems/test_gem_resolver_composed_set.rb46
-rw-r--r--test/rubygems/test_gem_resolver_conflict.rb88
-rw-r--r--test/rubygems/test_gem_resolver_dependency_request.rb85
-rw-r--r--test/rubygems/test_gem_resolver_git_set.rb190
-rw-r--r--test/rubygems/test_gem_resolver_git_specification.rb114
-rw-r--r--test/rubygems/test_gem_resolver_index_set.rb90
-rw-r--r--test/rubygems/test_gem_resolver_index_specification.rb90
-rw-r--r--test/rubygems/test_gem_resolver_installed_specification.rb50
-rw-r--r--test/rubygems/test_gem_resolver_installer_set.rb258
-rw-r--r--test/rubygems/test_gem_resolver_local_specification.rb46
-rw-r--r--test/rubygems/test_gem_resolver_lock_set.rb64
-rw-r--r--test/rubygems/test_gem_resolver_lock_specification.rb100
-rw-r--r--test/rubygems/test_gem_resolver_requirement_list.rb21
-rw-r--r--test/rubygems/test_gem_resolver_specification.rb65
-rw-r--r--test/rubygems/test_gem_resolver_vendor_set.rb84
-rw-r--r--test/rubygems/test_gem_resolver_vendor_specification.rb84
-rw-r--r--test/rubygems/test_gem_security.rb307
-rw-r--r--test/rubygems/test_gem_security_policy.rb541
-rw-r--r--test/rubygems/test_gem_security_signer.rb209
-rw-r--r--test/rubygems/test_gem_security_trust_dir.rb101
-rw-r--r--test/rubygems/test_gem_server.rb409
-rw-r--r--test/rubygems/test_gem_silent_ui.rb117
-rw-r--r--test/rubygems/test_gem_source.rb242
-rw-r--r--test/rubygems/test_gem_source_fetch_problem.rb20
-rw-r--r--test/rubygems/test_gem_source_git.rb309
-rw-r--r--test/rubygems/test_gem_source_installed.rb37
-rw-r--r--test/rubygems/test_gem_source_list.rb112
-rw-r--r--test/rubygems/test_gem_source_local.rb107
-rw-r--r--test/rubygems/test_gem_source_lock.rb115
-rw-r--r--test/rubygems/test_gem_source_specific_file.rb76
-rw-r--r--test/rubygems/test_gem_source_vendor.rb32
-rw-r--r--test/rubygems/test_gem_spec_fetcher.rb311
-rw-r--r--test/rubygems/test_gem_specification.rb3549
-rw-r--r--test/rubygems/test_gem_stream_ui.rb239
-rw-r--r--test/rubygems/test_gem_stub_specification.rb217
-rw-r--r--test/rubygems/test_gem_text.rb88
-rw-r--r--test/rubygems/test_gem_uninstaller.rb485
-rw-r--r--test/rubygems/test_gem_unsatisfiable_dependency_error.rb33
-rw-r--r--test/rubygems/test_gem_uri_formatter.rb29
-rw-r--r--test/rubygems/test_gem_util.rb40
-rw-r--r--test/rubygems/test_gem_validator.rb46
-rw-r--r--test/rubygems/test_gem_version.rb214
-rw-r--r--test/rubygems/test_gem_version_option.rb152
-rw-r--r--test/rubygems/test_kernel.rb86
-rw-r--r--test/rubygems/test_require.rb322
-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.rb304
-rw-r--r--test/scanf/test_scanfblocks.rb82
-rw-r--r--test/scanf/test_scanfio.rb21
-rw-r--r--test/sdbm/test_sdbm.rb146
-rw-r--r--test/shell/test_command_processor.rb69
-rw-r--r--test/soap/asp.net/hello.wsdl96
-rw-r--r--test/soap/asp.net/test_aspdotnet.rb111
-rw-r--r--test/soap/calc/calc.rb17
-rw-r--r--test/soap/calc/calc2.rb29
-rw-r--r--test/soap/calc/server.cgi13
-rw-r--r--test/soap/calc/server.rb17
-rw-r--r--test/soap/calc/server2.rb20
-rw-r--r--test/soap/calc/test_calc.rb49
-rw-r--r--test/soap/calc/test_calc2.rb53
-rw-r--r--test/soap/calc/test_calc_cgi.rb69
-rw-r--r--test/soap/fault/test_customfault.rb58
-rw-r--r--test/soap/header/server.cgi119
-rw-r--r--test/soap/header/test_authheader.rb240
-rw-r--r--test/soap/header/test_authheader_cgi.rb121
-rw-r--r--test/soap/header/test_simplehandler.rb116
-rw-r--r--test/soap/helloworld/hw_s.rb16
-rw-r--r--test/soap/helloworld/test_helloworld.rb40
-rw-r--r--test/soap/marshal/test_digraph.rb56
-rw-r--r--test/soap/marshal/test_marshal.rb26
-rw-r--r--test/soap/marshal/test_struct.rb47
-rw-r--r--test/soap/ssl/README1
-rw-r--r--test/soap/ssl/ca.cert23
-rw-r--r--test/soap/ssl/client.cert19
-rw-r--r--test/soap/ssl/client.key15
-rw-r--r--test/soap/ssl/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.rb660
-rw-r--r--test/socket/test_ancdata.rb68
-rw-r--r--test/socket/test_basicsocket.rb155
-rw-r--r--test/socket/test_nonblock.rb276
-rw-r--r--test/socket/test_socket.rb747
-rw-r--r--test/socket/test_sockopt.rb80
-rw-r--r--test/socket/test_tcp.rb89
-rw-r--r--test/socket/test_udp.rb101
-rw-r--r--test/socket/test_unix.rb597
-rw-r--r--test/stringio/test_stringio.rb637
-rw-r--r--test/strscan/test_stringscanner.rb239
-rw-r--r--test/syslog/test_syslog_logger.rb573
-rw-r--r--test/test_abbrev.rb55
-rw-r--r--test/test_cmath.rb76
-rw-r--r--test/test_delegate.rb241
-rw-r--r--test/test_find.rb302
-rw-r--r--test/test_forwardable.rb296
-rw-r--r--test/test_ipaddr.rb274
-rw-r--r--test/test_mathn.rb120
-rw-r--r--test/test_mutex_m.rb27
-rw-r--r--test/test_observer.rb66
-rw-r--r--test/test_open3.rb287
-rw-r--r--test/test_pp.rb197
-rw-r--r--test/test_prettyprint.rb521
-rw-r--r--test/test_prime.rb199
-rw-r--r--test/test_pstore.rb145
-rw-r--r--test/test_pty.rb242
-rw-r--r--test/test_rbconfig.rb54
-rw-r--r--test/test_securerandom.rb187
-rw-r--r--test/test_set.rb736
-rw-r--r--test/test_shellwords.rb114
-rw-r--r--test/test_singleton.rb104
-rw-r--r--test/test_syslog.rb190
-rw-r--r--test/test_tempfile.rb356
-rw-r--r--test/test_time.rb502
-rw-r--r--test/test_timeout.rb106
-rw-r--r--test/test_tmpdir.rb59
-rw-r--r--test/test_tracer.rb56
-rw-r--r--test/test_tsort.rb115
-rw-r--r--test/test_unicode_normalize.rb185
-rw-r--r--test/test_weakref.rb72
-rw-r--r--test/test_win32api.rb24
-rw-r--r--test/testunit/collector/test_dir.rb389
-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.rb10
-rw-r--r--test/testunit/test4test_redefinition.rb14
-rw-r--r--test/testunit/test4test_sorting.rb18
-rw-r--r--test/testunit/test_assertion.rb9
-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.rb17
-rw-r--r--test/testunit/test_parallel.rb192
-rw-r--r--test/testunit/test_redefinition.rb16
-rw-r--r--test/testunit/test_sorting.rb18
-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.rb8
-rw-r--r--test/testunit/tests_for_parallel/ptest_forth.rb30
-rw-r--r--test/testunit/tests_for_parallel/ptest_second.rb12
-rw-r--r--test/testunit/tests_for_parallel/ptest_third.rb11
-rw-r--r--test/testunit/tests_for_parallel/runner.rb14
-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.rb222
-rw-r--r--test/thread/test_queue.rb561
-rw-r--r--test/thread/test_sync.rb64
-rw-r--r--test/uri/test_common.rb173
-rw-r--r--test/uri/test_ftp.rb31
-rw-r--r--test/uri/test_generic.rb331
-rw-r--r--test/uri/test_http.rb6
-rw-r--r--test/uri/test_ldap.rb33
-rw-r--r--test/uri/test_mailto.rb117
-rw-r--r--test/uri/test_parser.rb48
-rw-r--r--test/webrick/test_cgi.rb138
-rw-r--r--test/webrick/test_cookie.rb59
-rw-r--r--test/webrick/test_do_not_reverse_lookup.rb71
-rw-r--r--test/webrick/test_filehandler.rb211
-rw-r--r--test/webrick/test_htmlutils.rb21
-rw-r--r--test/webrick/test_httpauth.rb239
-rw-r--r--test/webrick/test_httpproxy.rb285
-rw-r--r--test/webrick/test_httprequest.rb146
-rw-r--r--test/webrick/test_httpresponse.rb150
-rw-r--r--test/webrick/test_httpserver.rb250
-rw-r--r--test/webrick/test_httputils.rb41
-rw-r--r--test/webrick/test_httpversion.rb1
-rw-r--r--test/webrick/test_server.rb130
-rw-r--r--test/webrick/test_ssl_server.rb60
-rw-r--r--test/webrick/test_utils.rb105
-rw-r--r--test/webrick/utils.rb63
-rw-r--r--test/webrick/webrick.cgi6
-rw-r--r--[-rwxr-xr-x]test/webrick/webrick_long_filename.cgi2
-rw-r--r--test/win32ole/err_in_callback.rb10
-rw-r--r--test/win32ole/orig_data.csv5
-rw-r--r--test/win32ole/test_err_in_callback.rb56
-rw-r--r--test/win32ole/test_folderitem2_invokeverb.rb66
-rw-r--r--test/win32ole/test_nil2vtempty.rb37
-rw-r--r--test/win32ole/test_ole_methods.rb37
-rw-r--r--test/win32ole/test_propertyputref.rb31
-rw-r--r--test/win32ole/test_thread.rb34
-rw-r--r--test/win32ole/test_win32ole.rb568
-rw-r--r--test/win32ole/test_win32ole_event.rb401
-rw-r--r--test/win32ole/test_win32ole_method.rb147
-rw-r--r--test/win32ole/test_win32ole_param.rb107
-rw-r--r--test/win32ole/test_win32ole_record.rb213
-rw-r--r--test/win32ole/test_win32ole_type.rb250
-rw-r--r--test/win32ole/test_win32ole_typelib.rb117
-rw-r--r--test/win32ole/test_win32ole_variable.rb62
-rw-r--r--test/win32ole/test_win32ole_variant.rb722
-rw-r--r--test/win32ole/test_win32ole_variant_m.rb36
-rw-r--r--test/win32ole/test_win32ole_variant_outarg.rb69
-rw-r--r--test/win32ole/test_word.rb68
-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.rb0
-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.rb0
-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.rb323
-rw-r--r--test/xmlrpc/test_cookie.rb97
-rw-r--r--test/xmlrpc/test_datetime.rb67
-rw-r--r--test/xmlrpc/test_features.rb11
-rw-r--r--test/xmlrpc/test_marshal.rb26
-rw-r--r--test/xmlrpc/test_parser.rb21
-rw-r--r--test/xmlrpc/test_webrick_server.rb78
-rw-r--r--test/xmlrpc/webrick_testing.rb69
-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.rb1109
-rw-r--r--thread.c4891
-rw-r--r--thread_pthread.c1760
-rw-r--r--thread_pthread.h54
-rw-r--r--thread_sync.c1313
-rw-r--r--thread_win32.c785
-rw-r--r--thread_win32.h36
-rw-r--r--time.c5474
-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
-rwxr-xr-xtool/checksum.rb72
-rw-r--r--tool/downloader.rb200
-rw-r--r--tool/enc-emoji-citrus-gen.rb131
-rw-r--r--tool/enc-emoji4unicode.rb133
-rwxr-xr-xtool/enc-unicode.rb457
-rw-r--r--tool/eval.rb159
-rwxr-xr-xtool/expand-config.rb33
-rwxr-xr-xtool/extlibs.rb143
-rw-r--r--tool/fake.rb64
-rwxr-xr-xtool/file2lastrev.rb94
-rwxr-xr-xtool/gem-unpack.rb15
-rwxr-xr-xtool/gen_dummy_probes.rb28
-rwxr-xr-xtool/gen_ruby_tapset.rb105
-rw-r--r--tool/generic_erb.rb55
-rwxr-xr-xtool/id2token.rb24
-rwxr-xr-xtool/ifchange85
-rwxr-xr-xtool/insns2vm.rb15
-rw-r--r--tool/install-sh17
-rwxr-xr-xtool/instruction.rb1346
-rw-r--r--tool/jisx0208.rb84
-rwxr-xr-xtool/make-snapshot413
-rw-r--r--tool/make_hgraph.rb95
-rwxr-xr-xtool/mdoc2man.rb473
-rwxr-xr-xtool/merger.rb265
-rw-r--r--tool/mk_call_iseq_optimized.rb72
-rwxr-xr-xtool/mkconfig.rb306
-rwxr-xr-xtool/mkrunnable.rb125
-rwxr-xr-xtool/node_name.rb6
-rw-r--r--tool/parse.rb13
-rw-r--r--tool/probes_to_wiki.rb16
-rwxr-xr-xtool/rbinstall.rb812
-rwxr-xr-xtool/rbuninstall.rb67
-rwxr-xr-xtool/redmine-backporter.rb583
-rwxr-xr-xtool/release.sh38
-rwxr-xr-xtool/rmdirs11
-rwxr-xr-xtool/rubytest.rb30
-rwxr-xr-xtool/runruby.rb106
-rwxr-xr-xtool/strip-rdoc.rb23
-rw-r--r--tool/test/test_jisx0208.rb40
-rw-r--r--tool/transcode-tblgen.rb1114
-rwxr-xr-xtool/update-deps615
-rw-r--r--tool/vcs.rb356
-rw-r--r--tool/vpath.rb87
-rw-r--r--tool/vtlh.rb15
-rwxr-xr-xtool/ytab.sed59
-rw-r--r--transcode.c4575
-rw-r--r--transcode_data.h139
-rw-r--r--util.c4226
-rw-r--r--util.h67
-rw-r--r--variable.c3044
-rw-r--r--version.c101
-rw-r--r--version.h68
-rw-r--r--vm.c3317
-rw-r--r--vm_args.c828
-rw-r--r--vm_backtrace.c1435
-rw-r--r--vm_core.h1240
-rw-r--r--vm_debug.h37
-rw-r--r--vm_dump.c1096
-rw-r--r--vm_eval.c2211
-rw-r--r--vm_exec.c170
-rw-r--r--vm_exec.h182
-rw-r--r--vm_insnhelper.c2647
-rw-r--r--vm_insnhelper.h243
-rw-r--r--vm_method.c2107
-rw-r--r--vm_opts.h57
-rw-r--r--vm_trace.c1616
-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.c1309
-rw-r--r--win32/Makefile.sub964
-rw-r--r--win32/README.win3283
-rwxr-xr-xwin32/configure.bat201
-rw-r--r--win32/dir.h41
-rw-r--r--win32/enc-setup.mak10
-rw-r--r--win32/file.c771
-rw-r--r--win32/file.h45
-rwxr-xr-xwin32/ifchange.bat77
-rwxr-xr-xwin32/makedirs.bat3
-rwxr-xr-x[-rw-r--r--]win32/mkexports.rb197
-rwxr-xr-x[-rw-r--r--]win32/resource.rb46
-rwxr-xr-xwin32/rm.bat12
-rwxr-xr-xwin32/rmdirs.bat30
-rw-r--r--win32/rtname.cmd35
-rw-r--r--win32/setup.mak221
-rw-r--r--win32/stub.c48
-rw-r--r--win32/win32.c7065
-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
4631 files changed, 1504277 insertions, 264628 deletions
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index 9fd96ca149..0000000000
--- a/.cvsignore
+++ /dev/null
@@ -1,58 +0,0 @@
-*.bak
-*.orig
-*.rej
-*.sav
-*~
-.ccmalloc
-.ppack
-.ext
-.git
-.svn
-.rbconfig.time
-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
-foo.rb
-libruby.so.*
-miniruby
-miniruby.elhash
-miniruby.elhash2
-miniruby.orig2
-miniruby.plhash
-miniruby.plhash2
-modex.rb
-newdate.rb
-newver.rb
-parse.c
-parse.y.try
-pitest.rb
-ppack
-preview
-rbconfig.rb
-rename2.h
-repack
-riscos
-rubicon
-ruby
-ruby-man.rd.gz
-rubyunit
-st.c.power
-this that
-tmp
-web
-y.output
-y.tab.c
diff --git a/.document b/.document
index 230c50e387..fb27ba325d 100644
--- a/.document
+++ b/.document
@@ -6,11 +6,21 @@
# Process all the C source files
*.c
-# the lib/ directory (which has its own .document file)
+# 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
+
+NEWS
+
+README.md
+README.ja.md
+
+doc
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000..67abf4b978
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 0000000000..03c2b653cb
--- /dev/null
+++ b/.gdbinit
@@ -0,0 +1,966 @@
+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_IMEMO
+ printf "%sT_IMEMO%s(", $color_type, $color_end
+ output (enum imemo_type)(($flags>>RUBY_FL_USHIFT)&imemo_mask)
+ printf "): "
+ rp_imemo $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
+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 rp_imemo
+ set $flags = (((struct RBasic *)($arg0))->flags >> RUBY_FL_USHIFT) & imemo_mask
+ if $flags == imemo_cref
+ printf "(rb_cref_t *) %p\n", (void*)$arg0
+ print *(rb_cref_t *)$arg0
+ else
+ if $flags == imemo_svar
+ printf "(struct vm_svar *) %p\n", (void*)$arg0
+ print *(struct vm_svar *)$arg0
+ else
+ if $flags == imemo_throw_data
+ printf "(struct vm_throw_data *) %p\n", (void*)$arg0
+ print *(struct vm_throw_data *)$arg0
+ else
+ if $flags == imemo_ifunc
+ printf "(struct vm_ifunc *) %p\n", (void*)$arg0
+ print *(struct vm_ifunc *)$arg0
+ else
+ if $flags == imemo_memo
+ printf "(struct MEMO *) %p\n", (void*)$arg0
+ print *(struct MEMO *)$arg0
+ else
+ printf "(struct RIMemo *) %p\n", (void*)$arg0
+ print *(struct RIMemo *)$arg0
+ end
+ end
+ end
+ end
+ end
+end
+document rp_imemo
+ Print the content of a memo
+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_thread_ln = $ps_vm->living_threads.n.next
+ set $ps_thread_ln_last = $ps_vm->living_threads.n.prev
+ while 1
+ set $ps_thread_th = (rb_thread_t *)$ps_thread_ln
+ set $ps_thread = (VALUE)($ps_thread_th->self)
+ rb_ps_thread $ps_thread
+ if $ps_thread_ln == $ps_thread_ln_last
+ loop_break
+ end
+ set $ps_thread_ln = $ps_thread_ln->next
+ 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_th = (rb_thread_t*)$ps_thread->data
+ printf "* #<Thread:%p rb_thread_t:%p native_thread:%p>\n", \
+ $ps_thread, $ps_thread_th, $ps_thread_th->thread_id
+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
+
+define rbi
+ if ((LINK_ELEMENT*)$arg0)->type == ISEQ_ELEMENT_LABEL
+ p *(LABEL*)$arg0
+ else
+ if ((LINK_ELEMENT*)$arg0)->type == ISEQ_ELEMENT_INSN
+ p *(INSN*)$arg0
+ else
+ if ((LINK_ELEMENT*)$arg0)->type == ISEQ_ELEMENT_ADJUST
+ p *(ADJUST*)$arg0
+ else
+ print *$arg0
+ end
+ end
+ end
+end
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..d9785fad00
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,5 @@
+*.gemspec diff=ruby
+*.rb diff=ruby
+bin/* diff=ruby
+tool/update-deps diff=ruby
+tool/make-snapshot diff=ruby
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000..80c12594dd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,183 @@
+*-*-*.def
+*-*-*.exp
+*-*-*.lib
+*.a
+*.bak
+*.dSYM
+*.dmyh
+*.dylib
+*.elc
+*.inc
+*.log
+*.o
+*.obj
+*.orig
+*.pdb
+*.rej
+*.sav
+*.swp
+*.yarb
+*~
+.*-*
+.*.list
+.*.time
+.DS_Store
+.ccmalloc
+.ext
+.pc
+.ppack
+.svn
+Makefile
+Makefile.old
+cygruby*.def
+extconf.h
+y.output
+y.tab.c
+
+# /
+/*-fake.rb
+/*.dll
+/*.exe
+/*.res
+/*.pc
+/*.rc
+/*_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/simplecov-html
+/coverage/doclie
+/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-runner
+/ruby-runner.c
+/ruby-man.rd.gz
+/sizes.c
+/test.rb
+/tmp
+/transdb.h
+/uncommon.mk
+/verconf.h
+/verconf.mk
+/web
+/yasmdata.rb
+
+# /benchmark/
+/benchmark/bmx_*.rb
+/benchmark/fasta.output.*
+/benchmark/wc.input
+
+/enc/*.def
+/enc/*.exp
+/enc/*.lib
+/enc/unicode/data
+
+# /enc/trans/
+/enc/trans/*.c
+/enc/trans/*.def
+/enc/trans/*.exp
+/enc/trans/*.lib
+/enc/trans/.time
+
+# /ext/
+/ext/extinit.c
+
+# /ext/-test-/win32/dln/
+/ext/-test-/win32/dln/dlntest.exp
+/ext/-test-/win32/dln/dlntest.lib
+
+# /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
new file mode 100644
index 0000000000..6a207a0554
--- /dev/null
+++ b/.indent.pro
@@ -0,0 +1,21 @@
+-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
new file mode 100644
index 0000000000..f87ffd3483
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,101 @@
+# 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
+sudo: false
+
+# Compilers. Several compilers are provided in Travis, so we try them all.
+# The value set here is visible via $CC environment variable.
+compiler:
+ - gcc
+
+os:
+ - linux
+
+# 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:
+ - "CONFIG_FLAG="
+ - "JOBS='-j 4'"
+
+# 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:
+ - "uname -a"
+ - "uname -r"
+ - "rm -fr .ext autom4te.cache"
+ - "echo $TERM"
+ - "make -f common.mk BASERUBY=ruby MAKEDIRS='mkdir -p' srcdir=. update-config_files"
+ - "autoconf"
+ - "mkdir config_1st config_2nd"
+ - "./configure -C --disable-install-doc --with-gcc=$CC $CONFIG_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"
+ - "make after-update BASERUBY=ruby"
+ - "make -s $JOBS"
+ - "make update-rubyspec"
+script:
+ - "make test TESTOPTS=--color=never"
+ - "make test-all TESTOPTS='-q -j3 --color=never --job-status=normal'"
+ - "make test-rubyspec MSPECOPT=-fm"
+
+# Branch matrix. Not all branches are Travis-ready so we limit branches here.
+branches:
+ only:
+ - trunk
+ - ruby_2_0_0
+ - ruby_2_1
+ - ruby_2_2
+ - ruby_2_3
+
+# We want to be notified when something happens.
+notifications:
+ irc:
+ channels:
+ - "irc.freenode.org#ruby-core"
+ - "irc.freenode.org#ruby-ja"
+ on_success: change # [always|never|change] # default: always
+ on_failure: always # [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
+
+ email:
+ - ko1c-failure@atdot.net
+ - shibata.hiroshi@gmail.com
+
+# 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
new file mode 100644
index 0000000000..a009caefea
--- /dev/null
+++ b/BSDL
@@ -0,0 +1,22 @@
+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
new file mode 100644
index 0000000000..ffdf2dd4b8
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,4 @@
+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 9043404a83..a1f19ff99d 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 GPL
-version 2 (see the file GPL), or the conditions below:
+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:
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 933cc7cb9a..e50d01c8d1 100644
--- a/COPYING.ja
+++ b/COPYING.ja
@@ -1,51 +1,51 @@
-$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
+本プログラムã¯ãƒ•リーソフトウェアã§ã™ï¼Ž2-clause BSDL
+ã¾ãŸã¯ä»¥ä¸‹ã«ç¤ºã™æ¡ä»¶ã§æœ¬ãƒ—ログラムをå†é…布ã§ãã¾ã™
+2-clause BSDLã«ã¤ã„ã¦ã¯BSDLファイルをå‚ç…§ã—ã¦ä¸‹ã•ã„.
- 1. $BJ#@=$O@)8B$J$/<+M3$G$9!%(B
+ 1. 複製ã¯åˆ¶é™ãªã自由ã§ã™ï¼Ž
- 2. $B0J2<$N>r7o$N$$$:$l$+$rK~$?$9;~$KK\%W%m%0%i%`$N%=!<%9$r(B
- $B<+M3$KJQ99$G$-$^$9!%(B
+ 2. ä»¥ä¸‹ã®æ¡ä»¶ã®ã„ãšã‚Œã‹ã‚’満ãŸã™æ™‚ã«æœ¬ãƒ—ログラムã®ã‚½ãƒ¼ã‚¹ã‚’
+ 自由ã«å¤‰æ›´ã§ãã¾ã™ï¼Ž
- (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
+ (a) ãƒãƒƒãƒˆãƒ‹ãƒ¥ãƒ¼ã‚ºã«ãƒã‚¹ãƒˆã—ãŸã‚Šï¼Œä½œè€…ã«å¤‰æ›´ã‚’é€ä»˜ã™ã‚‹
+ ãªã©ã®æ–¹æ³•ã§ï¼Œå¤‰æ›´ã‚’公開ã™ã‚‹ï¼Ž
- (b) $BJQ99$7$?K\%W%m%0%i%`$r<+J,$N=jB0$9$kAH?%FbIt$@$1$G(B
- $B;H$&!%(B
+ (b) 変更ã—ãŸæœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã‚’è‡ªåˆ†ã®æ‰€å±žã™ã‚‹çµ„織内部ã ã‘ã§
+ 使ã†ï¼Ž
- (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
+ (c) 変更点を明示ã—ãŸã†ãˆï¼Œã‚½ãƒ•トウェアã®åå‰ã‚’変更ã™ã‚‹ï¼Ž
+ ãã®ã‚½ãƒ•トウェアをé…布ã™ã‚‹æ™‚ã«ã¯å¤‰æ›´å‰ã®æœ¬ãƒ—ログラ
+ ãƒ ã‚‚åŒæ™‚ã«é…布ã™ã‚‹ï¼Žã¾ãŸã¯å¤‰æ›´å‰ã®æœ¬ãƒ—ログラムã®ã‚½ãƒ¼
+ スã®å…¥æ‰‹æ³•を明示ã™ã‚‹ï¼Ž
- (d) $B$=$NB>$NJQ99>r7o$r:n<T$H9g0U$9$k!%(B
+ (d) ãã®ä»–ã®å¤‰æ›´æ¡ä»¶ã‚’作者ã¨åˆæ„ã™ã‚‹ï¼Ž
- 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
+ 3. ä»¥ä¸‹ã®æ¡ä»¶ã®ã„ãšã‚Œã‹ã‚’満ãŸã™æ™‚ã«æœ¬ãƒ—ログラムをコンパイ
+ ルã—ãŸã‚ªãƒ–ジェクトコードや実行形å¼ã§ã‚‚é…布ã§ãã¾ã™ï¼Ž
- (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
+ (a) ãƒã‚¤ãƒŠãƒªã‚’å—ã‘å–ã£ãŸäººãŒã‚½ãƒ¼ã‚¹ã‚’入手ã§ãるよã†ã«ï¼Œ
+ ソースã®å…¥æ‰‹æ³•を明示ã™ã‚‹ï¼Ž
- (b) $B5!3#2DFI$J%=!<%9%3!<%I$rE:IU$9$k!%(B
+ (b) 機械å¯èª­ãªã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’添付ã™ã‚‹ï¼Ž
- (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
+ (c) 変更を行ã£ãŸãƒã‚¤ãƒŠãƒªã¯åå‰ã‚’変更ã—ãŸã†ãˆï¼Œã‚ªãƒªã‚¸ãƒŠ
+ ルã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®å…¥æ‰‹æ³•を明示ã™ã‚‹ï¼Ž
- (d) $B$=$NB>$NG[I[>r7o$r:n<T$H9g0U$9$k!%(B
+ (d) ãã®ä»–ã®é…布æ¡ä»¶ã‚’作者ã¨åˆæ„ã™ã‚‹ï¼Ž
- 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
+ 4. ä»–ã®ãƒ—ログラムã¸ã®å¼•用ã¯ã„ã‹ãªã‚‹ç›®çš„ã§ã‚れ自由ã§ã™ï¼ŽãŸ
+ ã ã—,本プログラムã«å«ã¾ã‚Œã‚‹ä»–ã®ä½œè€…ã«ã‚ˆã‚‹ã‚³ãƒ¼ãƒ‰ã¯ï¼Œã
+ れãžã‚Œã®ä½œè€…ã®æ„å‘ã«ã‚ˆã‚‹åˆ¶é™ãŒåŠ ãˆã‚‰ã‚Œã‚‹å ´åˆãŒã‚りã¾ã™ï¼Ž
- $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
+ ãれらファイルã®ä¸€è¦§ã¨ãれãžã‚Œã®é…布æ¡ä»¶ãªã©ã«ä»˜ã„ã¦ã¯
+ LEGALファイルをå‚ç…§ã—ã¦ãã ã•ã„.
- 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
+ 5. 本プログラムã¸ã®å…¥åŠ›ã¨ãªã‚‹ã‚¹ã‚¯ãƒªãƒ—トãŠã‚ˆã³ï¼Œæœ¬ãƒ—ログラ
+ ムã‹ã‚‰ã®å‡ºåŠ›ã®æ¨©åˆ©ã¯æœ¬ãƒ—ログラムã®ä½œè€…ã§ã¯ãªã,ãれãž
+ れã®å…¥å‡ºåŠ›ã‚’ç”Ÿæˆã—ãŸäººã«å±žã—ã¾ã™ï¼Žã¾ãŸï¼Œæœ¬ãƒ—ログラムã«
+ 組ã¿è¾¼ã¾ã‚Œã‚‹ãŸã‚ã®æ‹¡å¼µãƒ©ã‚¤ãƒ–ラリã«ã¤ã„ã¦ã‚‚åŒæ§˜ã§ã™ï¼Ž
- 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
+ 6. 本プログラムã¯ç„¡ä¿è¨¼ã§ã™ï¼Žä½œè€…ã¯æœ¬ãƒ—ログラムをサãƒãƒ¼ãƒˆ
+ ã™ã‚‹æ„å¿—ã¯ã‚りã¾ã™ãŒï¼Œãƒ—ログラム自身ã®ãƒã‚°ã‚ã‚‹ã„ã¯æœ¬ãƒ—
+ ログラムã®å®Ÿè¡Œãªã©ã‹ã‚‰ç™ºç”Ÿã™ã‚‹ã„ã‹ãªã‚‹æå®³ã«å¯¾ã—ã¦ã‚‚責
+ 任をæŒã¡ã¾ã›ã‚“.
diff --git a/ChangeLog b/ChangeLog
index 95c81c59cf..2d26904f0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,18453 +1,14558 @@
-Sun Jun 8 04:56:55 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 14 23:53:41 2017 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c (error_print): put newline unless multiple line message ends
- with a newline. [ruby-dev:32429]
+ * test/net/ftp/test_ftp.rb (process_port_or_eprt): merge a part of
+ r56973 to pass the test introduced at previous commit.
-Sun Jun 8 04:54:36 2008 James Edward Gray II <jeg2@ruby-lang.org>
+Thu Dec 14 22:55:05 2017 Shugo Maeda <shugo@ruby-lang.org>
- Merged 14070 from trunk.
-
- * lib/xmlrpc/server.rb (XMLRPC::Server#server): Improve signal handling so
- pressing control-c in the controlling terminal or sending SIGTERM stops
- the XML-RPC server.
+ Fix a command injection vulnerability in Net::FTP.
-Sun Jun 8 04:46:45 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 14 22:35:19 2017 Eric Wong <normalperson@yhbt.net>
- * parse.y (newline_node): set line from outermost node before removing
- NODE_BEGIN. [ruby-dev:32406]
+ webrick: compile RE correctly for beginning and end match
-Sun Jun 8 04:37:34 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Using ^ and $ in regexps means we can accidentally get fooled
+ by "%0a" in HTTP request paths being decoded to newline
+ characters. Use \A and \z to match beginning and end-of-string
+ respectively, instead.
- * parse.y (stmt): remove unnecessary NODE_BEGIN. [ruby-core:13814]
+ Thanks to mame and hsbt for reporting.
-Sun Jun 8 04:18:50 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/webrick/httpserver.rb (MountTable#compile):
+ use \A and \z instead of ^ and $
+ * lib/webrick/httpserver.rb (MountTable#normalize): use \z instead of $
+ * test/webrick/test_httpserver.rb (test_cntrl_in_path): new test
- * object.c (nil_plus): remove unused function. [ruby-core:13737]
+Thu Dec 14 22:29:04 2017 Eric Wong <normalperson@yhbt.net>
-Sun Jun 8 04:15:40 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ webrick: do not hang acceptor on slow TLS connections
- * eval.c (rb_alias): do not call hook functions until initialization
- finishes. [ruby-talk:279538]
+ OpenSSL::SSL::SSLSocket#accept may block indefinitely on clients
+ which negotiate the TCP connection, but fail (or are slow) to
+ negotiate the subsequent TLS handshake. This prevents the
+ multi-threaded WEBrick server from accepting other connections.
-Sun Jun 8 04:12:50 2008 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ Since the TLS handshake (via OpenSSL::SSL::SSLSocket#accept)
+ consists of normal read/write traffic over TCP, handle it in the
+ per-client thread, instead.
- * ext/win32ole/win32ole.c (ole_invoke): bug fix. [ruby-talk:279100]
+ Furthermore, using non-blocking accept() is useful for non-TLS
+ sockets anyways because spurious wakeups are possible from
+ select(2).
-Sun Jun 8 03:54:52 2008 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/webrick/server.rb (accept_client): use TCPServer#accept_nonblock
+ and remove OpenSSL::SSL::SSLSocket#accept call
+ * lib/webrick/server.rb (start_thread): call OpenSSL::SSL::SSLSocket#acc
+ept
+ * test/webrick/test_ssl_server.rb (test_slow_connect): new test
+ [ruby-core:83221] [Bug #14005]
- * ext/curses/extconf.rb: check macro if cannot find func.
- [ruby-list:44224]
+ webrick: fix up r60172
-Sun Jun 8 03:50:40 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+ By making the socket non-blocking in r60172, TLS/SSL negotiation
+ via the SSL_accept function must handle non-blocking sockets
+ properly and retry on SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE.
+ OpenSSL::SSL::SSLSocket#accept cannot do that properly with a
+ non-blocking socket, so it must use non-blocking logic of
+ OpenSSL::SSL::SSLSocket#accept_nonblock.
- * lib/cgi/session.rb (CGI::Session::FileStore::restore): use
- lockfile for exclusive locks. a patch from <tommy AT tmtm.org>.
- [ruby-dev:32296]
+ Thanks to MSP-Greg (Greg L) for finding this.
-Sun Jun 8 03:46:55 2008 Tanaka Akira <akr@fsij.org>
+ * lib/webrick/server.rb (start_thread): use SSL_accept properly
+ with non-blocking socket.
+ [Bug #14013] [Bug #14005]
- * missing/isinf.c (isinf): don't define if the macro is defined.
+ webrick: fix up r60172 and revert r60189
-Sun Jun 8 03:34:23 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Thanks to MSP-Greg (Greg L) for helping with this.
- * numeric.c (round): fallback definition.
+ * lib/webrick/server.rb (start_thread): ignore ECONNRESET, ECONNABORTED,
+ EPROTO, and EINVAL on TLS negotiation errors the same way they
+ were ignored before r60172 in the accept_client method of the
+ main acceptor thread.
+ [Bug #14013] [Bug #14005]
- * numeric.c (flo_divmod, flo_round): use round() always.
- [ruby-dev:32269]
+ webrick: fix up r60172 and r60208
-Sun Jun 8 03:34:23 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Thanks to MSP-Greg (Greg L) for helping with this.
- * numeric.c (flodivmod): work around for infinity.
+ * lib/webrick/server.rb (start_thread): fix non-local return
+ introduced in r60208
- * numeric.c (flo_divmod): work around for platforms have no round().
- [ruby-dev:32247]
+ webrick: fix up r60172 and r60210
-Sun Jun 8 03:34:23 2008 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+ Thanks to MSP-Greg (Greg L) for helping with this.
- * numeric.c (flo_divmod): round to the nearest integer.
- [ ruby-Bugs-14540 ]
+ * lib/webrick/server.rb (start_thread): properly fix non-local return
+ introduced in r60208 and r60210
-Sun Jun 8 03:08:11 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Nov 30 23:37:08 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rexml/encodings/SHIFT-JIS.rb (REXML::Encoding): place -x for
- nkf conversion. a patch from <moonwolf AT moonwolf.com>.
- [ruby-dev:32183]
+ parse.y: fix line in rescue
-Sun Jun 8 03:05:59 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (set_line_body, primary): fix line number of bodystmt as the
+ beginning of the block. [Bug #13181]
- * lib/optparse.rb (OptionParser::Switch::summarize): fix for long form
- option with very long argument. a patch from Kobayashi Noritada
- <nori1 AT dolphin.c.u-tokyo.ac.jp> in [ruby-list:44179].
+Thu Nov 30 23:29:00 2017 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sun Jun 8 03:03:27 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Merge rubygems-2.6.14 changes.
- * numeric.c (fix_pow): returns infinity for 0**-1. [ruby-dev:32084]
+ It fixed http://blog.rubygems.org/2017/10/09/unsafe-object-deserialization-vulnerability.html
-Sun Jun 8 02:57:32 2008 James Edward Gray II <jeg2@ruby-lang.org>
+Fri Sep 15 05:40:40 2017 URABE Shyouhei <shyouhei@ruby-lang.org>
- Merged 13781 from trunk.
+ fix --with-gmp (broken by r57490)
- * lib/net/telnet.rb (Net::Telnet#login): Allowing "passphrase" in
- addition to "password" for Telnet login prompts. [ruby-Bugs-10746]
+ Looking at the generated shell script (also the autoconf manual), it
+ seems AC_SEARCH_LIBS() m4 macro does not define HAVE_LIBsomething C
+ preprocessor macros, unlike AC_CHECK_LIB() which does define them.
+ This previous change effectively killed building with GMP because
+ building that mode depends on existence of HAVE_LIBGMP. [Bug #13402]
-Wed Oct 25 06:46:21 2007 James Edward Gray II <jeg2@ruby-lang.org>
+Thu Sep 14 20:25:55 2017 Yusuke Endoh <mame@ruby-lang.org>
- Merged 13779 from trunk.
+ lib/webrick/log.rb: sanitize any type of logs
- * lib/net/telnet.rb (Net::Telnet#login): Making the password prompt
- pattern case insensitive. [ruby-Bugs-10746]
+ It had failed to sanitize some type of exception messages. Reported and
+ patched by Yusuke Endoh (mame) at https://hackerone.com/reports/223363
-Sun Jun 8 02:54:30 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Sep 14 13:32:39 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_tell, rb_io_seek): check errno too. [ruby-dev:32093]
+ parse.y: empty hash in defined
-Sun Jun 8 01:51:52 2008 James Edward Gray II <jeg2@ruby-lang.org>
+ * parse.y (command): NODE_ARRAY with NULL is invalid. traversal
+ in defined_expr0 is simplified than iseq_compile_each0.
+ [ruby-core:82113] [Bug #13756]
- Merged 13767, 13768, 13769, and 13770 from trunk.
+Thu Sep 14 13:26:31 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/xmlrpc/parser.rb (XMLRPC::Convert::dateTime): Fixing a bug that
- caused time zone conversion to fail for some ISO 8601 date formats.
- [ruby-Bugs-12677]
+ string.c: fix false coderange
- * lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Explicitly start
- the HTTP connection to support keepalive requests. [ruby-Bugs-9353]
+ * string.c (rb_enc_str_scrub): enc can differ from the actual encoding
+ of the string, the cached coderange is useless then. [Bug #13874]
- * lib/xmlrpc/client.rb (XMLRPC::Client#do_rpc): Improving the error
- message for Content-Type check failures. [ruby-core:12163]
+Thu Sep 14 13:24:51 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/xmlrpc/utils.rb (XMLRPC::ParseContentType#parse_content_type):
- Making Content-Type checks case insensitive. [ruby-Bugs-3367]
+ parse.y: primary should not be 0
-Sun Jun 8 01:45:27 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (primary): should not be 0, since it can be a receiver.
+ [ruby-core:82447] [Bug #13836]
- * marshal.c (r_bytes0): refined length check. [ruby-dev:32059]
+Thu Sep 14 13:19:30 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jun 8 01:45:27 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ vm_method.c: alias warning at refined method
- * marshal.c (r_bytes0): check if source has enough data.
- [ruby-dev:32054]
+ * vm_method.c (rb_method_entry_make): suppress a warning at
+ refined method which will not be redefined.
+ [ruby-core:82385] [Bug #13817]
-Sun Jun 8 01:37:58 2008 Tanaka Akira <akr@fsij.org>
+Thu Sep 14 13:14:19 2017 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/socket/socket.c (s_accept_nonblock): make accepted fd
- nonblocking. [ruby-talk:274079]
+ * ext/bigdecimal/bigdecimal.c (BigDecimal_hash): st_index_t may not be
+ fixable on 64bit mswin/mingw.
-Sun Jun 8 01:28:42 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/date/date_core.c (d_lite_hash): ditto.
+ [Backport #13877]
- * win32/mkexports.rb: deal with __fastcall name decorations.
- [ruby-list:44111]
+ * ext/openssl/ossl_bn.c (ossl_bn_hash): ditto.
-Sun Jun 8 01:23:29 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Sep 9 23:05:31 2017 Kazuki Yamaguchi <k@rhe.jp>
- * lib/rexml/source.rb (REXML::SourceFactory::SourceFactory): typo
- fixed. [ruby-list:44099]
+ asn1: fix out-of-bounds read in decoding constructed objects
-Sun Jun 8 01:17:45 2008 NAKAMURA Usaku <usa@ruby-lang.org>
+ * OpenSSL::ASN1.{decode,decode_all,traverse}: have a bug of
+ out-of-bounds read. int_ossl_asn1_decode0_cons() does not give the
+ correct available length to ossl_asn1_decode() when decoding the
+ inner components of a constructed object. This can cause
+ out-of-bounds read if a crafted input given.
- * {bcc32,win32}/Makefile.sub (COMMON_MACROS): workaround for old SDK's
- bug. [ruby-core:12584]
+ Reference: https://hackerone.com/reports/170316
+ https://github.com/ruby/openssl/commit/1648afef33c1d97fb203c82291b8a61269e85d3b
-Sun Jun 8 00:56:44 2008 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sat Sep 9 22:57:24 2017 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/net/http.rb, lib/open-uri.rb: remove
- Net::HTTP#enable_post_connection_check. [ruby-dev:31960]
+ * ext/json: bump to version 1.8.3.1. [Backport #13853]
- * lib/net/imap.rb: hostname should be verified against server's
- indentity as persented in the server's certificate. [ruby-dev:31960]
+Sat Sep 9 22:50:10 2017 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/openssl/lib/net/telnets.rb, ext/openssl/lib/net/ftptls.rb: ditto.
+ A HTTP Header value must not contain CR or LF.
+ to_str -> to_s
-Thu Jun 5 16:19:27 2008 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/net/http/header.rb (set_field): `val` can not have `to_str`.
- * win32/win32.c (make_cmdvector): adjust escaped successive
- double-quote handling. (merge from trunk)
+Sat Sep 9 22:42:22 2017 Kouhei Sutou <kou@cozmixng.org>
-Thu Jun 5 12:24:25 2008 NAKAMURA Usaku <usa@ruby-lang.org>
+ * REXML: Fix a bug that unexpected methods can be called as a XPath
+ function. [HackerOne:249295] Reported by Andrea Jegher. Thanks!!!
- * win32/win32.c (init_env): initialize HOME and USER environment
- variables unless set. [ruby-core:12328] (merge from trunk)
+Sat Sep 9 22:16:01 2017 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * win32/win32.c (NtInitialize, getlogin): ditto.
+ * lib/rubygems: fix several vulnerabilities in RubyGems; bump to version
+ 2.5.2.1. [Backport #13842]
- * configure.in, win32/Makefile.sub (LIBS): need to link shell32
- library for SH* functions on mswin32 and mingw32.
+Wed Aug 9 22:27:23 2017 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Jun 5 12:21:06 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_syntax.rb (test_invalid_{break,next}): use
+ assert_in_out_err instead of assert_syntax_error because on ruby_2_3
+ assert_syntax_error uses eval.
- * gc.c (id2ref): valid id should not refer T_VALUE nor T_ICLASS.
- [ruby-dev:31911]
+Wed Aug 9 22:27:23 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jun 4 16:39:56 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (iseq_compile_each0): turned dregx context in "once"
+ into "guarded" type from "block" type, to disallow `next`,
+ `break`, `redo` as well as outside "once".
+ [Bug #13690]
- * Makefile.in (ext/extinit.o): use $(OUTFLAG) as well as other
- objects. [ruby-Bugs-14228]
+Wed Aug 9 21:28:34 2017 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Jun 3 16:13:40 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_process.rb (test_rlimit_{name,value}): test in UTF-8
+ encoding. fix test failures introduced at r59531 on some platforms.
- * parse.y (yyerror): limit error message length. [ruby-dev:31848]
+Wed Aug 9 21:16:22 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * regex.c (re_mbc_startpos): separated from re_adjust_startpos.
+ * marshal.c (rb_marshal_dump_limited): do not free dump_arg, which
+ may be dereferenced in check_dump_arg due to continuation, and
+ get rid of dangling pointers.
-Tue Jun 3 15:27:11 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * marshal.c (rb_marshal_load_with_proc): ditto for load_arg.
- * gc.c (os_obj_of, os_each_obj): hide objects to be finalized.
- [ruby-dev:31810]
+Wed Aug 9 21:13:24 2017 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Jun 4 19:15:57 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * compile.c (iseq_compile_each): remove unused definition of unused
+ variable derived from original patch.
- * eval.c (remove_method): should not remove undef place holder.
- [ruby-dev:31817]
+Wed Aug 9 19:45:16 2017 sorah (Shota Fukumori) <her@sorah.jp>
-Tue Jun 3 15:05:48 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Init_frozen_strings definition is removed in r51511.
+ https://bugs.ruby-lang.org/issues/11423
- * process.c (struct rb_exec_arg): proc should be a VALUE.
+ Patch by Kohei Suzuki <eagletmt@gmail.com>
- * process.c (rb_f_exec): suppress a warning.
+ * internal.h: Remove declaration of unexist function
+ [Fix GH-1558]
- * process.c (rb_detach_process): cast for the platforms where size of
- pointer differs from size of int.
+Wed Aug 9 19:34:17 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (rb_f_exec, rb_f_system): should not exceptions after
- fork. [ruby-core:08262]
+ * internal.h (THROW_DATA_P): parenthesize the argument which is
+ casted.
-Wed May 21 01:32:56 2008 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Aug 9 19:34:17 2017 Koichi Sasada <ko1@atdot.net>
- * lib/webrick/httpservlet/filehandler.rb: should normalize path
- name in path_info to prevent script disclosure vulnerability on
- DOSISH filesystems. (fix: CVE-2008-1891)
- Note: NTFS/FAT filesystem should not be published by the platforms
- other than Windows. Pathname interpretation (including short
- filename) is less than perfect.
+ * vm.c: get return_value from imemo_throw_data object (THROW_DATA_VAL()).
+ imemo_throw_data (TAG_BREAK) contains returned value.
+ However, imemo_throw_data (TAG_BREAK) can skip several frames so that
+ we need to use it only once (at most internal frame). To record it,
+ we introduced THROW_DATA_CONSUMED and check it.
- * lib/webrick/httpservlet/abstract.rb
- (WEBrick::HTTPServlet::AbstracServlet#redirect_to_directory_uri):
- should escape the value of Location: header.
+ * internal.h: define THROW_DATA_CONSUMED flag.
- * lib/webrick/httpservlet/cgi_runner.rb: accept interpreter
- command line arguments.
+ * test/ruby/test_settracefunc.rb: add tests for [Bug #13369]
-Sun May 18 01:57:44 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_insnhelper.h: add THROW_DATA_CONSUMED_P() and
+ THROW_DATA_CONSUMED_SET().
- * file.c (isdirsep): backslash is valid path separator on cygwin too.
- backported from 1.8 HEAD.
+Wed Aug 9 19:32:17 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 17 23:53:57 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * random.c (get_rnd, try_get_rnd): ensure initialized to get rid
+ of crash in forked processes. [Bug #13753]
- * file.c (file_expand_path): fix for short file name on Cygwin.
+Wed Aug 9 19:30:34 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 17 23:50:29 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/strscan/strscan.c (strscan_aref): fix segfault after
+ get_byte or getch which do not apply regexp.
+ [Bug #13759]
- * file.c (OpenFile): prevent conflict on Windows.
+Wed Aug 9 19:28:40 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (USE_NTFS): fixed merge miss.
+ * configure.in: add rpath flags which is needed for OPTDIR as well
+ as -L options, when it is given. [Bug #13411]
-Sat May 17 12:36:46 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Aug 9 19:14:07 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (file_expand_path): rb_str_set_len is not backported.
+ * vm_insnhelper.c (vm_throw_start): size of catch table has been
+ included in iseq_catch_table struct, which could be NULL, since
+ 2.2. e.g., proc-closure in `once'.
-Sat May 17 12:15:48 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Aug 9 19:09:20 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (file_expand_path): support for alternative data stream
- and ignored trailing garbages of NTFS.
+ * node.h (nd_line): should sign-extend. shifting `VALUE` extends
+ with zero bits if `sizeof(VALUE)` equals to `sizeof(int)`. the
+ zero bits are truncated if `sizeof(VALUE)` is bigger enough.
+ [ruby-core:80920] [Bug #13523]
- * file.c (rb_file_s_basename): ditto.
+Wed Aug 9 17:53:09 2017 NAKAMURA Usaku <usa@ruby-lang.org>
- * file.c (rb_file_s_extname): ditto.
+ * compile.c (iseq_compile_each): the lifetime of new_opt have to be
+ until this case block is end. this is a part of r57971.
+ [Backport #13766]
-Mon Mar 3 23:36:41 2008 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Aug 9 17:35:47 2017 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/httpservlet/filehandler.rb: should normalize path
- separators in path_info to prevent directory traversal attacks
- on DOSISH platforms.
- reported by Digital Security Research Group [DSECRG-08-026].
+ this patch contains r54158, r57410, r57631 and r57954.
- * lib/webrick/httpservlet/filehandler.rb: pathnames which have
- not to be published should be checked case-insensitively.
+ Prevent GC by volatile [Bug #13150]
-Sun Sep 23 21:57:25 2007 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ test/ruby/test_marshal.rb test_context_switch (load) and test_gc (dump)
+ are failed on FreeBSD 10.3 and gcc7 (FreeBSD Ports Collection) 7.0.0
+ 20170115 (experimental); RB_GC_GUARD looks not worked well.
- * lib/net/http.rb: an SSL verification (the server hostname should
- be matched with its certificate's commonName) is added.
- this verification can be skipped by
- "Net::HTTP#enable_post_connection_check=(false)".
- suggested by Chris Clark <cclark at isecpartners.com>
+ * include/ruby/ruby.h (RB_GC_GUARD): prevent guarded pointer from
+ optimization by using as an input to inline asm.
- * lib/net/open-uri.rb: use Net::HTTP#enable_post_connection_check to
- perform SSL post connection check.
+ * ruby.h: remove comment
- * ext/openssl/lib/openssl/ssl.c
- (OpenSSL::SSL::SSLSocket#post_connection_check): refine error message.
+ * include/ruby/ruby.h (RB_GC_GUARD): remove comment unsupported by
+ Solaris AS.
-Sun Sep 23 06:08:38 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Hidden objects (klass == 0) are not visible to Ruby code invoked
+ from other threads or signal handlers, so they can never be
+ accessed from other contexts. This makes it safe to call
+ rb_gc_force_recycle on the object slot after releasing malloc
+ memory.
- * ext/stringio/stringio.c (strio_init): separate from strio_initialize
- to share with strio_reopen properly. [ruby-Bugs-13919]
+ * marshal.c (rb_marshal_dump_limited): hide dump_arg and recycle when
+ done (rb_marshal_load_with_proc): hide load_arg and recycle when done
+ [ruby-core:79518]
-Sun Sep 23 05:42:35 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * marshal.c (rb_marshal_dump_limited): do not free dump_arg, which
+ may be dereferenced in check_dump_arg due to continuation, and
+ get rid of dangling pointers.
- * lib/rdoc/options.rb (Options::check_diagram): dot -V output
- changed. [ ruby-Bugs-11978 ], Thanks Florian Frank.
+ * marshal.c (rb_marshal_load_with_proc): ditto for load_arg.
-Mon Sep 17 04:47:02 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Aug 9 17:28:35 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ruby.c (proc_options): -W should be allowed in RUBYOPT
- environment variable. [ruby-core:12118]
+ * eval.c (setup_exception): make unfrozen copy of special
+ exception before setting up a cause.
-Mon Sep 17 04:31:46 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Aug 9 17:22:29 2017 TAKANO `takano32' Mitsuhiro <tak@no32.tk>
- * range.c (range_step): fixed integer overflow. [ruby-dev:31763]
+ a64: fix crash on register stack mark/sweep pass
-Fri Sep 7 14:57:36 2007 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+ * thread_pthread.c: move 'register_stack_start' earlier.
+ [ruby-core:79928] [Bug #13284] [Fix GH-1625]
- * ruby.c (rubylib_mangled_path): eliminate RSTRING_PTR
- [ruby-dev:31679]
+ Author: Sergei Trofimovich <slyfox@gentoo.org>
- * ruby.c(push_include_cygwin): ditto.
+Wed Aug 9 17:10:27 2017 Shugo Maeda <shugo@ruby-lang.org>
-Fri Sep 7 14:32:38 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/net/smtp/test_smtp.rb (test_tls_connect, test_tls_connect):
+ use Socket.tcp_server_sockets in case localhost is resolved to ::1.
- * array.c (rb_ary_subseq): need integer overflow check.
- [ruby-dev:31736]
+Wed Aug 9 17:10:27 2017 Shugo Maeda <shugo@ruby-lang.org>
- * array.c (rb_ary_splice): ditto. [ruby-dev:31737]
+ * lib/net/smtp.rb (tlsconnect): support timeout for TLS handshake.
+ [ruby-core:76893] [Bug #12678]
- * array.c (rb_ary_fill): ditto. [ruby-dev:31738]
+ * lib/net/protocol.rb (ssl_socket_connect): new method to implement
+ timeout for TLS handshake.
- * string.c (rb_str_splice): integer overflow for length.
- [ruby-dev:31739]
+ * lib/net/http.rb (connect): use Net::Protocol#ssl_socket_connect.
-Fri Sep 7 14:27:33 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Aug 9 17:08:01 2017 NARUSE, Yui <naruse@ruby-lang.org>
- * eval.c (mnew): should preserve noex as safe_level.
+ Zlib::GzipReader#pos underflows after calling #ungetbyte or #ungetc at start of file [Bug #13616]
- * eval.c (rb_call0): tighten security check condition..
+ patched by Andrew Haines <andrew@haines.org.nz> [ruby-core:81488]
+ zlib.c: fix unnormalized Fixnum
-Fri Sep 7 14:19:16 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/zlib/zlib.c (rb_gzfile_total_out): cast to long not to
+ result in an unsigned long to normalized to Fixnum on LLP64
+ platforms. [ruby-core:81488]
- * configure.in (group_member): check if presents.
+Wed Aug 9 17:03:00 2017 Eric Wong <normalperson@yhbt.net>
- * configure.in (XCFLAGS): add _GNU_SOURCE on linux.
+ process.c: handle dynamic :rlimit_* symbols in spawn execopts
- * file.c (group_member): use system routine if available.
+ * process.c (rb_execarg_addopt_rlimit): hoist out of rb_execarg_addopt
+ (rlimit_type_by_sym): new wrapper for dynamic symbol
+ (rb_execarg_addopt): check for dsym via rlimit_type_by_sym
+ * test/ruby/test_process.rb (test_execopts_rlimit): check dsym w/o pindown
+ Add extra check for bogus rlimit args, too.
+ [ruby-core:82033] [Bug #13744]
+ process.c: null bytes
-Fri Sep 7 14:14:19 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * process.c (rlimit_type_by_sym): prohibit null bytes in key
+ names. [ruby-core:82033] [Bug #13744]
- * include/ruby/defines.h (flush_register_windows): call "ta 0x03"
- even on Linux/Sparc. [ruby-dev:31674]
+Wed Aug 9 16:56:52 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 7 14:12:37 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ optparse.rb: get rid of eval
- * ext/win32ole/win32ole.c (ole_type_progid, reg_enum_key,
- reg_get_val, ole_wc2mb): fix the bug. Thanks, arton.
- [ruby-dev:31576]
+ * lib/optparse.rb: try Float() and Integer() instead of eval,
+ which does too much things.
-Fri Sep 7 14:02:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (detach_process_watcher): should not pass the pointer
- to an auto variable to the thread to be created. pointed and
- fix by KUBO Takehiro <kubo at jiubao.org> [ruby-dev:30618]
+Fri Jul 7 10:58:10 2017 Eric Wong <e@80x24.org>
-Fri Sep 7 13:52:36 2007 Tanaka Akira <akr@fsij.org>
+ This backport of r58812 is necessary to ease backporting r59028,
+ which fixes a real bug.
- * bignum.c (big_lshift): make shift offset long type.
- (big_rshift): ditto.
- (rb_big_lshift): ditto.
- (big_rshift): ditto.
- [ruby-dev:31434]
+ * thread.c (struct waiting_fd): declare
+ (rb_thread_io_blocking_region): use on-stack list waiter
+ (rb_notify_fd_close): walk vm->waiting_fds instead
+ (call_without_gvl): remove old field setting
+ (th_init): ditto
+ [Feature #9632]
-Thu Aug 16 08:44:55 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_core.h (typedef struct rb_vm_struct): add waiting_fds list
- * hash.c (rb_hash_delete_key): delete the entry without calling block.
+ * (typedef struct rb_thread_struct): remove waiting_fd field
+ (rb_vm_living_threads_init): initialize waiting_fds list
- * hash.c (rb_hash_shift): should consider iter_lev too.
+ This should fix bad interactions with test_race_gets_and_close
+ in test/ruby/test_io.rb since we ensure rb_notify_fd_close
+ continues returning the busy flag after enqueuing the interrupt.
- * hash.c (delete_if_i): use rb_hash_delete_key() so that the block
- isn't called twice. [ruby-core:11556]
+ * thread.c (rb_notify_fd_close): do not enqueue multiple interrupts
+ [ruby-core:81581] [Bug #13632]
-Thu Aug 16 08:43:50 2007 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * test/ruby/test_io.rb (test_single_exception_on_close):
+ new test based on script from Nikolay
- * lib/rinda/tuplespace.rb: fix Rinda::TupleSpace keeper thread bug.
- the thread is started too early. [ruby-talk:264062]
+Wed Jul 5 15:55:35 2017 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/rinda/test_rinda.rb: ditto.
+ * ext/openssl/ossl_cipher.c: remove the encryption key initialization
+ from Cipher#initialize. This is effectively a revert of r32723
+ ("Avoid possible SEGV from AES encryption/decryption", 2011-07-28).
+ the patch is derived from https://github.com/ruby/openssl/commit/8108e0a6db133f3375608303fdd2083eb5115062,
+ written by Kazuki Yamaguchi.
+ [Backport #8221]
-Thu Aug 16 08:40:38 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jul 1 00:28:22 2017 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/pty/pty.c (establishShell): handshaking before close slave
- device. [ruby-talk:263410]
+ * ext/psych/yaml: update libyaml to 0.1.7.
-Thu Aug 16 08:29:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/psych/psych.gemspec: bump version to 2.1.0.1.
- * configure.in (ac_cv_func_isinf): set yes also on OpenSolaris.
- [ruby-Bugs-12859]
+Fri Jun 30 22:05:39 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 16 08:28:16 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (parser_precise_mbclen): check invalid multibyte char at
+ skipping strings following ?x literal string, not to stuck in a
+ infinite loop. [Bug #13672]
- * lib/rexml/encodings/{ISO-8859-15,CP-1252}.rb: fixed invalid syntax.
+Fri Jun 30 22:00:56 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 16 08:26:08 2007 Tadayoshi Funaba <tadf@dotrb.org>
+ * ext/pathname/lib/pathname.rb (Pathname#plus): UNC root pathname needs
+ a separator. File.basename returns "/" on UNC root, as well as sole
+ drive letter, even if it does not end with a separator. [Bug #13515]
- * lib/README: fixed a typo.
+Fri Jun 30 21:57:27 2017 Kouhei Sutou <kou@cozmixng.org>
-Thu Aug 16 08:20:50 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rexml/parsers/streamparser.rb: add close tag check on end of
+ document to StreamParser [Bug #13636]
+ Reported by Anton Sivakov. Thanks!!!
- * ext/extmk.rb (extmake): save all CONFIG values.
+Fri Jun 30 21:54:01 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/extmk.rb (extmake): remove mkmf.log at clean, and extconf.h at
- distclean, respectively.
+ * array.c (rb_ary_insert): check position to insert even if no elements
+ to be inserted. [Bug #13558]
- * ext/extmk.rb: remove rdoc at clean, and installed list file at
- distclean, respectively.
+Fri Jun 30 21:51:40 2017 Marcus Stollsteimer <sto.mar@web.de>
-Thu Aug 16 07:58:18 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/date/date_core.c: [DOC] fix documentation for %Z format of
+ {Date,DateTime}.strftime.
+ Reported by Damon Timm. Based on a patch by nano.
+ [Bug #13231] [Fix GH-1565]
- * sprintf.c (rb_f_sprintf): should not check positional number as
- width. [ruby-core:11838]
+Fri Jun 30 21:46:50 2017 Kouhei Sutou <kou@cozmixng.org>
-Thu Aug 16 07:52:24 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rss/rss.rb: Accept empty text element as valid element
+ Parser has been accepted it but XML serializer wasn't accepted.
+ Reported by stefano frabetti. Thanks!!!
+ [Bug #13531]
- * dln.c (conv_to_posix_path): removed.
+Fri Jun 30 21:40:42 2017 Kazuki Yamaguchi <k@rhe.jp>
- * ruby.c (rubylib_mangled_path, rubylib_mangled_path2): return
- VALUE instead of a pointer to static buffer.
+ * ext/openssl/ossl_x509store.c: clear error queue after calling
+ X509_LOOKUP_load_file()
- * ruby.c (push_include_cygwin): fixed buffer overflow.
- [ruby-dev:31297]
+ X509_LOOKUP_load_file(), which ends up calling
+ X509_load_cert_crl_file()
+ internally, may leave error entries in the queue even when it returns
+ non-zero value (which indicates success).
- * ruby.c (ruby_init_loadpath): not convert built-in paths.
+ This will be fixed by OpenSSL 1.1.1, but can be worked around by
+ clearing the error queue ourselves.
-Thu Aug 16 07:51:37 2007 Akinori MUSHA <knu@iDaemons.org>
+ Fixes: [Backport #11033]
- * defines.h: Pull the RUBY_MBCHAR_MAXSIZE definition from trunk,
- which is necessary for dir.c to compile on djgpp and emx.
+Fri Jun 30 21:35:16 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 16 07:42:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (heap_page_allocate): expand sorted pages before inserting
+ allocated new page. [Bug #12670]
- * intern.h (is_ruby_native_thread): removed since declared as an int
- function in ruby.h already.
+Fri Jun 30 21:33:39 2017 Koichi Sasada <ko1@atdot.net>
-Thu Aug 16 07:40:41 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (heap_page_resurrect): do not return tomb_pages when
+ page->freelist == NULL.
+ [Bug #12670]
- * file.c (rb_file_s_rename): deleted code to get rid of a bug of
- old Cygwin.
+Fri Jun 30 21:23:20 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (rb_file_truncate): added prototype of GetLastError()
- on cygwin. [ruby-dev:31239]
+ * vsnprintf.c (BSD_vfprintf): sign and hex-prefix should not be counted
+ in precision. [Bug #8916]
- * intern.h (is_ruby_native_thread): prototype.
+Fri Jun 30 21:20:14 2017 Koichi Sasada <ko1@atdot.net>
- * missing/strftime.c (strftime): fix printf format and actual
- arguments.
+ * thread.c (ruby_thread_stack_overflow): disable VM events when stack
+ overflow occurred; it causes another stack overflow again in making
+ backtrace object, and crashes. [Bug #13425]
- * ext/Win32API/Win32API.c (Win32API_initialize): ditto.
+ * vm.c (hook_before_rewind): skip rewind hooks if err is
+ SystemStackError because rewind hooks can cause stack overflow again
+ and again.
- * ext/tk/tcltklib.c (ip_finalize): ditto.
+ * thread.c (ruby_thread_stack_overflow): do not disable all hooks.
+ Additionally, clearing ruby_vm_event_flags is not suitable way
+ to disable hooks.
- * ext/dl/ptr.c (rb_dlptr_inspect): ditto. [ruby-dev:31268]
+Fri Jun 30 21:13:25 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/dl/sym.c (rb_dlsym_inspect): ditto.
+ * proc.c (method_super_method): skip prepended modules and continue from
+ the super class of the original class. [Bug #13656]
- * ext/socket/getnameinfo.c: include stdio.h always.
+Fri Jun 30 21:10:48 2017 Shugo Maeda <shugo@ruby-lang.org>
- * ext/win32ole/win32ole.c (ole_hresult2msg, folevariable_name,
- folevariable_ole_type, folevariable_ole_type_detail,
- folevariable_value, folemethod_visible): missing return value.
+ * lib/net/smtp.rb (getok, get_response): raise an ArgumentError when
+ CR or LF is included in a line, because they are not allowed in
+ RFC5321. Thanks, Jeremy Daer.
-Thu Aug 16 07:32:13 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 21:07:56 2017 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/mkmf.rb (create_makefile): make OBJS depend on RUBY_EXTCONF_H
- only if extconf.h is created.
+ * eval.c (exc_setup_cause): need to unfreeze(=dup) the exception before
+ setting cause if its frozen.
-Thu Aug 16 07:29:33 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 21:07:14 2017 Eric Wong <e@80x24.org>
- * {win32,wince,bcc32}/setup.mak (-version-): no RUBY_EXTERN magic.
+ thread.c: avoid busy looping on rb_thread_fd_close
-Thu Aug 16 06:43:03 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ We no longer use it this function, but extensions do, and
+ we need to ensure it continues to work for them.
- * lib/mkmf.rb (init_mkmf): should remove mkmf.log too.
+ * thread.c (rb_thread_fd_close): schedule other threads in loop
-Thu Aug 16 06:40:58 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/-test-/thread_fd_close/thread_fd_close.c: new file
- * ext/openssl/ossl_config.c (ossl_config_set_section): do not
- initialize aggregations with dynamic values. [ruby-talk:259306]
+ * ext/-test-/thread_fd_close/depend: ditto
-Thu Aug 16 06:39:19 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/-test-/thread_fd_close/extconf.rb: ditto
- * eval.c (get_backtrace): check the result more.
- [ruby-dev:31261] [ruby-bugs-12398]
+ * test/-ext-/thread_fd_close/test_thread_fd_close.rb: new test
-Thu Aug 16 06:32:25 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 20:34:49 2017 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * bignum.c (rb_big_lshift, rb_big_rshift): separated functions
- to get rid of infinite recursion. fixed calculation in edge
- cases. [ruby-dev:31244]
+ * sample/pty/shl.rb: update sample
+ * Specify frozen_string_literal: true.
+ * Fix TypeError of raise.
+ * Use a character literal instead of Integer.
- * numeric.c (rb_fix_lshift, rb_fix_rshift): ditto.
+Fri Jun 30 20:31:59 2017 Marcus Stollsteimer <sto.mar@web.de>
-Thu Aug 16 06:26:58 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c: [DOC] clarify docs for String#split when called with limit
+ and capture groups. Reported by Cichol Tsai. [Bug #13621]
- * bignum.c (rb_big_pow): refine overflow check. [ruby-dev:31242]
+Fri Jun 30 20:23:31 2017 Takashi Kokubun <takashikkbn@gmail.com>
-Thu Aug 16 06:25:48 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/erb.rb: Allow explicit trimming carriage return when trim_mode is
+ "-", for Windows environments. [Bug #5339]
- * time.c (time_succ): Time#succ should return a time object in the
- same timezone mode to the original. [ruby-talk:260256]
+ * lib/erb.rb: Allow trimming CR in all trim_modes to unify a behavior
+ with r58823 and r58825.
-Thu Aug 16 06:24:39 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jun 30 20:16:15 2017 Takashi Kokubun <takashikkbn@gmail.com>
- * numeric.c (fix_pow): integer power calculation: 0**n => 0,
- 1**n => 1, -1**n => 1 (n: even) / -1 (n: odd).
+ * lib/erb.rb: Allow trimming carriage return when trim_mode is "<>", for
+ Windows environments. [Bug #11464]
-Thu Aug 16 06:11:34 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jun 30 20:07:37 2017 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/base64.rb (Base64::b64encode): should not specify /o option
- for regular expression. [ruby-dev:31221]
+ * util.c (ruby_strtod) Merge latest dtoa.c [Bug #13545]
+ Apply some part of http://www.netlib.org/fp/dtoa.c with my eyes...
-Thu Aug 16 06:08:53 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 20:00:18 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * sprintf.c (rb_f_sprintf): more checks for format argument.
- [ruby-core:11569], [ruby-core:11570], [ruby-core:11571],
- [ruby-core:11573]
+ * dir.c (is_case_sensitive): use getattrlist() if fgetattrlist() is
+ unavailable, on OSX 10.5. [Bug #11054]
-Thu Aug 16 05:39:31 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 19:58:16 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (bignorm): do not empty Bignum. [ruby-dev:31229]
+ * tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir
+ not includedir, the latter is outside the ruby installation.
+ [ruby-core:72496] [Bug #11881]
-Thu Aug 16 05:12:05 2007 pegacorn <subscriber.jp AT gmail.com>
+Fri Jun 30 19:56:06 2017 Eric Wong <e@80x24.org>
- * ext/openssl/ossl.h: include ossl_pkcs5.h. [ruby-dev:31231]
+ * variable.c (check_autoload_required): do not assume a provided feature
+ means autoload is complete, always wait if autoload is being performed
+ by another thread. [Bug #11384] Thanks to s.wanabe@gmail.com
- * ext/openssl/ossl_pkcs5.h: new file for PKCS5. [ruby-dev:31231]
+Fri Jun 30 19:53:30 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()
- instead of rb_raise(). [ruby-dev:31222]
+ * process.c (obj2uid, obj2gid): use temporary string as the buffer
+ instead of rb_alloc_tmp_buffer, which is NODE_ALLOCA since r51492.
+ [Bug #13554]
- * ext/sdbm/_sdbm.c: DOSISH platforms need io.h. [ruby-dev:31232]
+Fri Jun 30 19:50:25 2017 Eric Wong <e@80x24.org>
- * ext/syck/syck.h: include stdlib.h for malloc() and free().
- [ruby-dev:31232]
+ * variable.c (autoload_reset): use idempotent list_del_init
- * ext/syck/syck.h (syck_parser_set_input_type): prototype added.
- [ruby-dev:31231]
+ * variable.c (autoload_sleep): moved code from rb_autoload_load
- * win32/win32.c: include mbstring.h for _mbspbrk(). [ruby-dev:31232]
+ * variable.c (autoload_sleep_done): cleanup for use with rb_ensure
- * win32.h (rb_w32_getcwd): prototype added. [ruby-dev:31232]
+ * variable.c (rb_autoload_load): ensure list delete happens in case the
+ thread dies during sleep
-Thu Aug 16 05:02:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/bug-13526.rb: new script for separate execution
- * bignum.c (rb_cstr_to_inum): check leading non-digits.
- [ruby-core:11691]
+ * test/ruby/test_autoload.rb (test_bug_13526): new test [Bug #13526]
-Thu Aug 16 05:00:01 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jun 30 19:46:46 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * numeric.c (fix_pow): 0**2 should not raise floating point
- exception. [ruby-dev:31216]
+ * sprintf.c (rb_str_format): while "% 2f" and "% 4f" result in " Inf"
+ and " Inf" respectively, "% 3f" results in "Inf" (no space).
-Thu Aug 16 04:56:35 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * sprintf.c (rb_str_format): as for non-finite float, calculate the
+ exact needed size with the space flag.
- * win32/win32.c (CreateChild): enclose command line except for
- command.com which can not handle quotes. [ruby-talk:258939]
+Fri Jun 30 19:41:48 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 16 04:54:45 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * thread_win32.c (w32_wait_events): do not acquire GVL, to fix deadlock
+ at read/close race condition. instead, just ignore interrupt_event if
+ it is closed.
- * lib/mkmf.rb (link_command, cc_command, cpp_command): do not expand
- ::CONFIG which is an alias of MAKEFILE_CONFIG.
+ * thread_win32.c (w32_wait_events): fix wait object index in the case of
+ interrupt_event is not usable.
-Thu Aug 16 04:53:21 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 19:37:47 2017 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * struct.c (rb_struct_init_copy): disallow changing the size.
- [ruby-dev:31168]
+ * io.c (nogvl_wait_for_single_fd): nogvl_wait_for_single_fd must wait
+ as its name.
+ poll(fds, n, 0) mean no timeout and immediately return. If you want to
+ wait something, you need to use -1 instead.
-Thu Aug 16 04:52:11 2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Fri Jun 30 19:35:31 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * random.c: documentation fix. srand(0) initializes PRNG with '0',
- not with random_seed.
+ * class.c (Init_class_hierarchy): prevent rb_cObject which is the class
+ tree root, from GC. [Bug #12492]
-Thu Aug 16 04:49:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 19:32:52 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bcc32/{Makefile.sub,setup.mak}: remove surplus slash from srcdir.
+ * class.c (Init_class_hierarchy): prevent rb_cObject which is the
+ class tree root, from GC. [ruby-dev:49666] [Bug #12492]
-Thu Aug 16 04:40:37 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 30 19:29:45 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * sprintf.c (rb_f_sprintf): sign bit extension should not be done
- if FPLUS flag is specified. [ruby-list:39224]
+ * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): fix for nested
+ indedented here documents, where Elems are nested too. [Bug #13536]
-Thu Aug 16 04:39:15 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): insert stripped
+ leading spaces as on_ignored_sp elements, so that the original source
+ can be reconsructed. [Bug #13536]
- * array.c (rb_ary_initialize): should call rb_ary_modify() first.
- [ruby-core:11562]
+Mon May 1 06:36:57 2017 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Aug 16 04:38:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (parser_parse_string): set the mark of term to `nd_func`
+ because in this version `u2.id` is not used for this purpose.
+ fixed failure of ruby/spec introduced at r58518.
+ see also [Backport #13363]
- * parse.y (yylex): return non-valid token for an invalid
- instance/class variable name. a patch from from Yusuke ENDOH
- <mame AT tsg.ne.jp>. [ruby-dev:31095]
+Sun Apr 30 23:01:00 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 16 04:36:41 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ class.c: ensure_includable
- * parse.y (dsym): return non-null NODE even if yyerror(). based on a
- patch from from Yusuke ENDOH <mame AT tsg.ne.jp>. [ruby-dev:31085]
+ * class.c (ensure_includable): extract checks to include and
+ prepend.
-Thu Aug 16 04:34:56 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ class.c: prohibit refinement module
- * process.c (proc_exec_v, rb_proc_exec): preserve errno.
+ * class.c (ensure_includable): cannot include refinement
+ module, or the type and the class do not match.
+ [ruby-core:79632] [Bug #13236]
-Thu Aug 16 04:30:45 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Apr 30 22:55:41 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * variable.c (rb_path2class): get rid of dangling pointer caused by
- optimized out value.
+ keep line number after unterminated string literal
-Thu Aug 16 04:24:28 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+ * parse.y (parser_parse_string): keep line number even after an
+ unterminated string literal. it does not matter in the parser,
+ ripper needs this value after this error.
- * ext/dl/lib/dl/win32.rb: seems that dl doesn't accept void argument.
- fixed [ruby-bugs:PR#5489].
+ parse.y: unterminated content token
-Thu Aug 16 04:23:44 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (parser_parse_string): defer the end token to next
+ reading, to yield tSTRING_CONTENT with the unterminated content.
+ [Bug #13363]
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser): handle more
- extensions. [ruby-dev:30972]
+Sun Apr 30 22:52:38 2017 Marcus Stollsteimer <sto.mar@web.de>
-Thu Aug 16 04:14:17 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c: [DOC] expand docs for IO#puts
+ [Bug #13306]
- * process.c (ruby_setreuid, ruby_setregid): rename to get rid of name
- clash.
-Thu Aug 16 04:11:17 2007 Ryan Davis <ryand@zenspider.com>
+Sun Apr 30 22:38:44 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rexml/dtd/dtd.rb: Fixed typo in code. Fixes bug #10420
+ sample/pty/shl.rb: update [ci skip]
-Thu Aug 16 04:08:20 2007 Shugo Maeda <shugo@ruby-lang.org>
+ * sample/pty/shl.rb: stop writer loop when the child exited.
+ PTY::ChildExited no longer raises asynchronously since r20298.
+ [ruby-dev:49974] [Bug #13191]
- * lib/net/imap.rb (ResponseParser#next_token): fixed
- error message. (backported from HEAD)
+ * sample/pty/shl.rb: use io/console instead of stty.
+ [ruby-dev:49974] [Bug #13191]
- * lib/net/imap.rb (ResponseParser#parse_error): fixed
- the condition not to refer @token.symbol unexpectedly.
- Thanks, Dick Monahan. (backported from HEAD)
+ * sample/pty/shl.rb: do not manage array length separately.
+ [ruby-dev:49974] [Bug #13191]
-Thu Aug 16 04:05:20 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * sample/pty/shl.rb: leap exited child process.
+ [ruby-dev:49974] [Bug #13191]
- * marshal.c (w_extended): erroneous check condition when dump
- method is defined. [ruby-core:10646]
+Sun Apr 30 22:35:10 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jun 9 10:40:00 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+ configure.in: use AC_SEARCH_LIBS
- * stable version 1.8.5-p52 released.
+ * configure.in (--with-gmp, --with-jemalloc): use AC_SEARCH_LIBS
+ to check if no library is required, instead of AC_CHECK_LIB.
+ [ruby-core:79368] [Bug #13175]
-Thu Jun 7 14:53:46 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+Sun Apr 30 22:24:25 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (method_inspect): show proper class name.
- [ruby-talk:248647], Thanks Calamitas.
+ * numeric.c (flo_round): [EXPERIMENTAL] adjust the case that the
+ receiver is close to the exact but unrepresentable middle value
+ of two values in the given precision.
+ http://d.hatena.ne.jp/hnw/20160702
-Mon May 28 19:37:24 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Apr 9 22:21:23 2017 NAKAMURA Usaku <usa@ruby-lang.org>
- * win32/win32.c (move_to_next_entry): revert r12338. not necessary
- on ruby_1_8_5.
+ thread.c: rb_thread_fd_close [ci skip]
-Sun May 27 05:52:37 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * thread.c (rb_thread_fd_close): re-define because of a couple of
+ external libraries used it.
- * eval.c (mnew): call of super via a method object should work again.
- [ruby-talk:248647], Thanks Calamitas.
+Wed Mar 29 23:47:31 2017 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * test/ruby/test_method.rb (TestMethod::test_method_super): test for
- above fix.
+ * hash.c (any_hash): fix CI failure on L32LLP64 architecture.
+ The patch was provided by usa. [ruby-core:80484] [Bug #13376]
-Wed May 23 06:51:46 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+Wed Mar 29 06:22:27 2017 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * lib/cgi.rb (CGI#[]): get rid of exceptions being raised.
- [ruby-dev:30740], Thanks Kentaro KAWAMOTO.
+ * hash.c (any_hash): fix Symbol#hash to be nondeterministic.
+ The patch was provided by Eric Wong. [ruby-core:80433] [Bug #13376]
-Wed May 23 06:14:15 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_symbol.rb: add test for above.
- * win32/win32.c (move_to_next_entry): loc also must move forward.
- [ruby-talk:251987]
+Tue Mar 28 00:38:39 2017 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed May 23 05:55:04 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+ * win32/win32.c (poll_child_status): rb_w32_wait_events_blocking() sets
+ errno internally, then should not set it here.
- * win32/win32.c (init_stdhandle): stderr should be without buffering,
- but mswin32 use buffering when stderr is not connected to tty.
+Mon Mar 27 20:15:17 2017 Kazuki Tsujimoto <kazuki@callcc.net>
-Wed May 23 03:33:55 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c, method.h, proc.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c:
+ TracePoint#method_id should return method_id, not callee_id.
+ [ruby-core:77241] [Feature #12747]
- * lib/monitor.rb (ConditionVariable#wait, mon_enter, mon_exit_for_cond):
- ensures Thread.critical to be false. [ruby-talk:248300]
+ * test/ruby/test_settracefunc.rb: change accordingly.
-Wed May 23 03:25:13 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 27 20:12:23 2017 Anton Davydov <mail@davydovanton.com>
- * util.c (ruby_strtod): exponent is radix 10. [ruby-talk:248272]
+ * lib/uri/mailto.rb: Removed needless `return` and use `.`` instead of `::`
+ with class method.
+ * test/uri/test_mailto.rb: Added tests for coverage.
-Wed May 23 02:09:32 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Mar 20 06:35:08 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_yield_0): should not clear state on TAG_NEXT when
- it's invoked from within lambda body. [ruby-talk:248136]
+ * ruby.c (process_options): convert -e script to the encoding
+ given by a command line option on Windows. assume it is the
+ expected encoding. [ruby-dev:49461] [Bug #11900]
- * eval.c (proc_invoke): handle TAG_NEXT which would be caused by
- next in the lambda body as well.
+Mon Mar 20 05:47:49 2017 Koichi Sasada <ko1@atdot.net>
-Wed May 23 01:55:49 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/ruby/test_exception.rb: fix thread issues.
+ * use Queue instead of a local variable for synchronization.
+ * join created thread to soleve leaking threads warning.
- * win32/win32.c (rb_w32_fclose, rb_w32_close): need to save errno
- before calling original fclose()/close().
+Mon Mar 20 05:47:49 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 23 01:42:29 2007 Shugo Maeda <shugo@ruby-lang.org>
+ * thread.c (rb_threadptr_raise): set cause from the called thread,
+ but not from the thread to be interrupted.
+ [ruby-core:77222] [Bug #12741]
- * lib/net/imap.rb (disconnect): call shutdown for
- SSLSocket. Thanks, Technorama Ltd.
+Wed Feb 8 02:17:02 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 23 01:28:14 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/forwardable.rb (Forwardable._delegator_method): extract
+ method generator and deal with non-module objects.
+ [ruby-dev:49656] [Bug #12478]
- * error.c (rb_notimplement), io.c (pipe_open): removed definite
- articles and UNIX manual section from messages. [ruby-dev:30690]
+Wed Feb 8 02:17:02 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (pipe_open): raise NotImplementedError for command "-" on
- platforms where fork(2) is not available. [ruby-dev:30681]
+ * lib/forwardable.rb (def_instance_delegator): adjust backtrace of
+ method body by tail call optimization. adjusting the delegated
+ target is still done by deleting backtrace.
-Wed May 23 00:06:19 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/forwardable.rb (def_single_delegator): ditto.
- * 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]
+Tue Jan 17 03:51:48 2017 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 20 15:37:24 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * compile.c (setup_args): duplicate splatting array if more
+ arguments present to obey left-to-right execution order.
+ [ruby-core:77701] [Bug# 12860]
- * distruby.rb: Add zip generation.
+Thu Nov 24 05:47:18 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Fri Mar 16 21:48:11 2007 Akinori MUSHA <knu@iDaemons.org>
+ * test/fileutils/test_fileutils.rb (TestFileUtils#setup): Use primary
+ group as well as supplementary groups.
+ based on the patch by Vit Ondruch at [Bug #12910]
- * 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].
+Thu Nov 24 05:44:04 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Fri Mar 16 18:28:06 2007 Akinori MUSHA <knu@iDaemons.org>
+ * test/ruby/test_dir_m17n.rb: Don't encode to UTF-8 if it's unnecessary.
+ If the file system encoding is ISO-8851-1 or if the encoding of the
+ target string is invalid, don't encode to UTF-8. [Bug#12972]
- * 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].
+Mon Nov 21 16:55:15 2016 boshan <boshan@subsplash.com>
-Wed Mar 14 12:30:00 2007 Shigeo Kobayashi <shigeo@tinyforest.jp>
+ * lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter
+ `basename` is optional and defaulted to an empty string since
+ [GH-523]. [Fix GH-1225]
- * ext/bigdecimal/bigdecimal.c: BigDecimal("-.31") is now
- treated as ("-0.31") not as ("0.31").
+Sat Nov 19 14:06:07 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Fri Mar 16 18:05:40 2007 Akinori MUSHA <knu@iDaemons.org>
+ * iseq.c (proc_dup): don't duplicate sym_procs. [Fix GH-1479]
+ [ruby-core:78100] [Bug #12927]
+ Based on the patch provided by Emiliano Ritiro.
- * 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].
+Sat Nov 19 11:48:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 13 17:29:43 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * iseq.c (iseqw_s_compile_file): deal with syntax error as well as
+ compile, and should not abort when rescued.
- * stable version 1.8.5-p35 released.
+Wed Nov 16 23:40:29 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Tue Mar 13 14:42:10 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * vm_eval.c (vm_call0_body): refined module should not be skipped as
+ prepended. [Bug #12920]
- * test/fileutils/fileasserts.rb: Fix wrong error message.
+Tue Nov 15 03:14:02 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/fileutils.rb (FileUtils::mv): Type Error; should utilize
- Strings instead of Symbols here.
+ * ext/-test/file/fs.c (get_atime_p): Updating of file access times
+ is enabled or not.
-Mon Mar 12 17:22:44 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Nov 15 03:14:02 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb (FileUtils::mv): fix incomplete backport of
- FileUtils.mv changes at r11988
+ * test/ruby/test_file.rb (TestFile#test_stat): fix noatime case.
+ [ruby-core:77943] [Bug #12903]
-Mon Mar 12 16:09:28 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 15 03:09:39 2016 Shugo Maeda <shugo@ruby-lang.org>
- * mkconfig.rb (patchlevel): read from version.h.
+ * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast,
+ test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast
+ address is not available.
-Sun Mar 11 18:57:50 2007 Akinori MUSHA <knu@iDaemons.org>
+Tue Nov 15 02:49:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * misc/README: Add a note about ruby-electric.el.
+ * vm_eval.c (vm_call0_body): follow the original class, not to
+ loop the prepended module. [ruby-core:77784] [Bug #12876]
- * misc/ruby-mode.el (ruby-non-block-do-re): Fix
- ruby-non-block-do-re. [ruby-core:03719]
+Tue Nov 15 02:45:44 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * misc/inf-ruby.el: Synchronize the comment section with trunk.
+ * lib/net/http.rb (transport_request): other than HTTPContinue
+ in 1xx (HTTPInformation) also needs to continue. [Bug #12890]
- * 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].
+Sat Nov 12 01:05:45 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sun Mar 11 17:45:51 2007 Akinori MUSHA <knu@iDaemons.org>
+ * object.c: Improve documentation for Float conversion.
+ [ruby-core:71661][Bug #11736][ci skip]
- * 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].
+Sat Nov 12 00:50:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Mar 6 18:58:37 2007 Keiju Ishitsuka <keiju@ruby-lang.org>
-
- * lib/shell/process-controller.rb: fix thread synchronization
- problem for [ruby-dev:30477].
-
-Sun Mar 4 23:53:27 2007 Minero Aoki <aamine@loveruby.net>
+ * proc.c (mnew_internal): follow the original class, not to loop
+ the prepended module. [ruby-core:77591] [Bug #12832]
- * lib/fileutils.rb (mv): could not move a directory between
- different filesystems. [ruby-dev:30411]
+Sat Nov 12 00:46:50 2016 Shugo Maeda <shugo@ruby-lang.org>
-Sat Mar 3 21:41:31 2007 Akinori MUSHA <knu@iDaemons.org>
+ * cont.c (cont_new): disable optimization if clang's version is
+ 3.8.0. [ruby-core:77894] [Bug #12893]
- * 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
+Sat Nov 12 00:27:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Mar 3 16:30:39 2007 Akinori MUSHA <knu@iDaemons.org>
+ * compile.c (iseq_peephole_optimize): enable tail call
+ optimization inside a conditional block.
- * 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].
+Sat Nov 5 11:53:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (proc_invoke): Ditto.
+ * io.c (copy_stream_body): use IO to write to copy to duplex IO.
+ http://twitter.com/knu/status/786505317974585344
- * gc.c (obj_free): Ditto.
+Sat Nov 5 11:49:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (top_local_setup_gen): Ditto.
+ * sprintf.c (rb_str_format): format exact number more exactly.
-Sat Mar 3 15:41:33 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Nov 5 11:45:32 2016 Kazuki Yamaguchi <k@rhe.jp>
- * parse.y (stmt, arg): should not omit lhs of OP_ASGN1 even if
- empty. [ruby-dev:30452]
+ * ext/openssl/ossl.c (Init_openssl): register an ex_data index for
+ X509_STORE and X509_STORE_CTX respectively. Since they don't share
+ the ex_data index registry, we can't use the same index.
+ (ossl_verify_cb): use the the correct index.
-Wed Feb 28 20:51:32 2007 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto.
- * 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]
+ * ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto.
+ (ossl_x509stctx_verify): ditto.
-Wed Feb 28 00:08:11 2007 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+ * ext/openssl/ossl.h (void ossl_clear_error): add extern declarations
+ of ossl_store_{ctx_,}ex_verify_cb_idx.
- * mkconfig.rb (RbConfig): add CONFIG['PATCHLEVEL']
+ * ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and
+ X509_STORE_get_ex_data.
- * common.mk: new target dist
+ * ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data,
+ X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros.
- * distruby.rb: new file
+Sat Nov 5 11:35:58 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Feb 27 21:19:35 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+ * thread.c (rb_thread_pending_interrupt_p): no pending interrupt
+ before initialization.
- * win32/win32.c (set_pioinfo_extra): new function for VC++8 SP1
- workaround. [ruby-core:10259]
+ * thread.c (thread_raise_m, rb_thread_kill): uninitialized thread
+ cannot interrupt. [ruby-core:72732] [Bug #11959]
- * win32/win32.c (NtInitialize): call above function.
+Sat Nov 5 11:16:58 2016 Kenta Murata <mrkn@mrkn.jp>
-Mon Feb 26 09:57:58 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/bigdecimal/bigdecimal.c: Import changes from ruby/bigdecimal
+ repository.
- * signal.c (ruby_signal): don't set SA_RESTART. a backport from
- the HEAD. [ruby-talk:220937] [ruby-talk:147220]
+Tue Oct 18 02:58:22 2016 Kazuki Yamaguchi <k@rhe.jp>
-Tue Feb 13 02:21:12 2007 Sam Roberts <sroberts@uniserve.com>
+ * eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag with
+ Qundef rather than 0 which is equal to Qfalse. Since Kernel#throw(obj)
+ searches a tag with rb_vm_tag::tag == obj, throw(false) can
+ accidentally find an unrelated tag which is not created by
+ Kernel#catch. [ruby-core:77229] [Bug #12743]
- * io.c (rb_f_syscall): Fix buffer overflow with syscall
- arguments. [ruby-bugs:PR#8541]
+ * test/ruby/test_exception.rb (test_throw_false): Add a test case for
+ this.
-Sat Feb 10 09:33:47 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Tue Oct 18 02:24:29 2016 Aurelien Jacobs <aurel@gnuage.org>
- * ext/win32ole/win32ole.c (ole_variant2val): sorry, fix the enbug.
+ * lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log
+ rotate when DST is applied during a month of 31 days.
+ [Fix GH-1458]
-Sat Feb 10 09:08:01 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Wed Oct 12 22:31:09 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/win32ole/win32ole.c (ole_variant2val): fix compile error
- on VC++.
+ * tool/downloader.rb: Removed verification of gem certification.
+ Because signed gem is not working on rubygems ecosystem.
+ * tool/gem-unpack.rb: ditto.
-Sat Feb 10 08:38:30 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Fri Oct 7 02:48:06 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * ext/win32ole/win32ole.c (ole_variant2val): fix the bug when
- SAFEARRAY pointer is NULL.
+ * lib/rubygems/ssl_certs/GlobalSignRootCA.pem: add for RugyGems.org.
-Tue Feb 6 20:41:39 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Sep 26 23:51:31 2016 Nobuyoshi Nakada <nobu@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)
+ * variable.c (rb_const_search): raise with the actual class/module
+ name which defines the private constant.
-Sat Jan 27 15:20:11 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Sep 26 23:34:09 2016 Kazuki Yamaguchi <k@rhe.jp>
- * parse.y (dyna_var_lookup): should not alter dvar->val not to
- destroy living value. [ruby-core:10076]
+ * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): pop errors
+ leaked by PKCS12_parse(). This is a bug in OpenSSL, which exists
+ in the versions before the version 1.0.0t, 1.0.1p, 1.0.2d.
- * parse.y (dyna_init): ditto.
+Mon Sep 26 23:10:43 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Jan 24 18:05:39 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_dump.c (backtrace): use rip in the saved context for the case
+ the SIGSEGV is received when the process is in userland.
+ Note that ip in the stack should be used if the signal is received
+ when it is in kernel (when it is calling syscall) [Bug #12711]
- * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): fix
- regexp font-lock bug. [ruby-talk:235758]
+Mon Sep 26 20:23:32 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Sun Jan 14 07:26:44 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * gems/bundled_gems: update minitest to 5.8.5.
- * ext/win32ole/win32ole.c (ole_free, ole_type_free,
- olemethod_free, olevariable_free, oleparam_free,
- ole_event_free): fix memory leak. [ruby-core:09846]
+ * tool/downloader.rb: revert workarounds.
-Tue Jan 9 12:29:20 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * tool/gem-unpack.rb: ditto.
- * ext/etc/etc.c (etc_getpwuid, etc_getgrgid): fix to correctly
- convert uid/gid from VALUE.
+Mon Sep 26 07:26:44 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * ext/etc/etc.c (etc_getpwuid): ditto.
+ * tool/gem-unpack.rb: don't set security policy.
+ workaround for certificate expiration of minitest-5.8.3.gem.
-Mon Dec 25 20:08:28 2006 URABE Shyouhei <shyouhei@ruby-lang.org>
+Mon Sep 26 06:33:16 2016 Aaron Patterson <tenderlove@ruby-lang.org>
- * ext/openssl/ossl.h: fixed compilation problem on gcc 3.2.
- [ruby-talk:214786]
+ * lib/uri/generic.rb (def check_password): don't include bad password
+ in URI exception output
-Mon Dec 25 10:40:40 2006 URABE Shyouhei <shyouhei@ruby-lang.org>
+ * test/uri/test_generic.rb (def test_set_component): test for behavior
- * stable version 1.8.5-p12 released.
+Mon Sep 26 06:20:58 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Sat Dec 16 04:02:10 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * tool/downloader.rb: comment out gem package verification.
+ workaround for certificate expiration of minitest-5.8.3.gem.
- * ext/tk/tcltklib.c: shouldn't run the killed thread at callback.
- [ruby-talk: 227408]
+Sun Sep 25 16:37:22 2016 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Dec 15 17:21:14 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * io.c (nogvl_fsync, nogvl_fdatasync): on Windows, just ignore if the
+ fd is associated to non-disk device. if call fsync and/or fdatasync
+ with such fds, it causes Errno::EBADF exception and the behavior is
+ incompatible with ruby 2.1 and earlier unintentionally introduced.
- * lib/rdoc/ri/ri_options.rb: prevent NameError. [ruby-dev:29597]
+Sun Sep 25 15:09:04 2016 Kazuki Tsujimoto <kazuki@callcc.net>
-Thu Dec 14 23:37:38 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * array.c (flatten): use rb_obj_class instead of rb_class_of
+ because rb_class_of may return a singleton class.
+ [ruby-dev:49781] [Bug #12738]
- * dir.c (glob_helper): get rid of possible memory leak.
+Sun Sep 25 15:07:19 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (cmdglob, rb_w32_cmdvector, rb_w32_opendir,
- rb_w32_get_environ): not to use GC before initialization.
+ * man/irb.1: remove useless -width option.
+ [ruby-dev:49767] [Bug #12692]
-Wed Dec 6 19:53:41 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+Tue Aug 30 05:24:33 2016 Kazuki Yamaguchi <k@rhe.jp>
- * configure.in (SITE_DIR): fixed to emtpy RUBY_SITE_LIB in config.h on
- NetBSD. fixed: [ruby-dev:29358]
+ * ext/openssl/ossl_x509ext.c: additional fix memory leak.
+ [ruby-core:76922] [Bug #12680]
-Mon Dec 4 10:43:46 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * text/openssl/test_x509ext.rb: test for above.
- * parse.y (dyna_init_gen): dvar initialization only if dvar is
- assigned inner block. [ruby-talk:227402]
+Sun Aug 28 00:26:58 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Mon Dec 4 10:22:26 2006 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+ * vm_method.c: revert r55869. it breaks Integer#days with
+ ActiveSupport-4.1.x. [ruby-core:76949] [Bug #12353]
- * stable version 1.8.5-p2 released.
+ * test/ruby/test_marshal.rb: ditto.
-Sun Dec 3 17:11:12 2006 Shugo Maeda <shugo@ruby-lang.org>
+Sat Aug 27 03:51:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/cgi.rb (CGI::QueryExtension::read_multipart): should quote
- boundary. JVN#84798830
+ * id_table.c (hash_table_extend): should not shrink the table than
+ the previous capacity. [ruby-core:76534] [Bug #12614]
-Sun Nov 26 16:36:46 2006 URABE Shyouhei <shyouhei@ruby-lang.org>
+Sat Aug 27 03:37:49 2016 Kazuki Yamaguchi <k@rhe.jp>
- * version.h: addition of RUBY_PATCHLEVEL.
- * version.c: ditto.
+ * ext/openssl/ossl_config.c: fix memory leak.
+ [ruby-core:76922] [Bug #12680]
-Fri Nov 24 10:17:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_ocsp.c: ditto.
- * bignum.c (bignorm): avoid segmentation. a patch from Hiroyuki
- Ito <ZXB01226@nifty.com>. [ruby-list:43012]
+ * ext/openssl/ossl_pkcs12.c: ditto.
-Thu Nov 2 15:43:39 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/openssl/ossl_pkcs7.c: ditto.
- * parse.y (primary): should set NODE even when compstmt is NULL.
- merge from trunk. fixed: [ruby-dev:29732]
+ * ext/openssl/ossl_pkey_ec.c: ditto.
-Sat Sep 23 21:34:15 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_x509.h: ditto.
- * lib/cgi.rb (CGI::QueryExtension::read_multipart): CGI content
- may be empty. a patch from Jamis Buck <jamis at 37signals.com>.
+ * ext/openssl/ossl_x509attr.c: ditto.
-Mon Sep 4 21:43:57 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509crl.c: ditto.
- * ext/dbm/extconf.rb: create makefile according to the result of check
- for dbm header. fixed: [ruby-dev:29445]
+ * ext/openssl/ossl_x509ext.c: ditto.
-Tue Aug 29 19:10:10 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_x509req.c: ditto.
- * hash.c (rb_hash_s_create): fixed memory leak, based on the patch
- by Kent Sibilev <ksruby at gmail.com>. fixed: [ruby-talk:211233]
+ * ext/openssl/ossl_x509revoked.c: ditto.
-Fri Aug 25 17:15:17 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Aug 25 00:19:24 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * stable version 1.8.5 released.
+ * lib/rubygems/specification.rb: `coding` is affect only first line except
+ shebang.
+ * lib/rubygems/package.rb, lib/rubygems/package/*: ditto.
-Fri Aug 25 17:02:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Aug 25 00:19:24 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * gc.c (gc_sweep): typo fixed.
+ * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2.
+ It supports to enable frozen string literal and add `--norc` option for
+ disable to `.gemrc` configuration.
+ See 2.5.2 release notes for other fixes and enhancements.
+ https://github.com/rubygems/rubygems/blob/a8aa3bac723f045c52471c7b9328310a048561e0/History.txt#L3
-Tue Aug 22 18:47:51 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Aug 24 23:54:40 2016 Charles Oliver Nutter <headius@headius.com>
- * 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].
+ * test/ruby/test_array.rb: split out the test for no stack error
+ on large input for test_permutation, test_repeated_permutation,
+ and test_repeated_combination, and make them all timeout:30.
-Sat Aug 19 14:15:02 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Aug 23 03:22:34 2016 Naohisa Goto <ngotogenome@gmail.com>
- * win32/Makefile.sub (config.status): include winsock2.h instead of
- winsock.h when --with-winsock2 is specified.
- fixed: [ruby-dev:29296]
+ * test/fiddle/test_pointer.rb (test_to_str, test_to_s, test_aref_aset):
+ Attempt to use independent strings for destructive tests that
+ directly modify values on memory by using Fiddle::Pointer.
+ [Bug #12537] [ruby-dev:49700]
-Sat Aug 19 11:28:08 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 23 03:14:22 2016 Naohisa Goto <ngotogenome@gmail.com>
- * file.c (rb_file_s_rename): use errno if set properly.
- fixed: [ruby-dev:29293]
+ * string.c (str_buf_cat): Fix capa size for embed string.
+ Fix bug in r55547. [Bug #12536]
-Sat Aug 19 11:09:23 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Aug 23 03:14:22 2016 Naohisa Goto <ngotogenome@gmail.com>
- * parse.y (then): remove semicolon warning. [ruby-dev:29299]
+ * string.c (rb_str_change_terminator_length): New function to change
+ termlen and resize heap for the terminator. This is split from
+ rb_str_fill_terminator (str_fill_term) because filling terminator
+ and changing terminator length are different things. [Bug #12536]
-Thu Aug 17 19:15:16 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * internal.h: declaration for rb_str_change_terminator_length.
- * file.c (rb_stat_[rRwWxX]): check for super user.
- fixed: [ruby-core:08616]
+ * string.c (str_fill_term): Simplify only to zero-fill the terminator.
+ For non-shared strings, it assumes that (capa + termlen) bytes of
+ heap is allocated. This partially reverts r55557.
-Thu Aug 17 14:47:06 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * encoding.c (rb_enc_associate_index): rb_str_change_terminator_length
+ is used, and it should be called whenever the termlen is changed.
- * lib/mkmf.rb: added rdoc by Daniel Berger. [ruby-core:08177]
+ * string.c (str_capacity): New static function to return capacity
+ of a string with the given termlen, because the termlen may
+ sometimes be different from TERM_LEN(str) especially during
+ changing termlen or filling terminator with specific termlen.
-Thu Aug 17 00:39:05 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * string.c (rb_str_capacity): Use str_capacity.
- * 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]
+Tue Aug 23 03:14:22 2016 Naohisa Goto <ngotogenome@gmail.com>
-Wed Aug 16 11:45:36 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c: Partially reverts r55547 and r55555.
+ ChangeLog about the reverted changes are also deleted in this file.
+ [Bug #12536] [ruby-dev:49699] [ruby-dev:49702]
- * process.c (proc_setuid, proc_setgid, proc_seteuid, proc_setegid):
- get rid of bogus implementations on Mac OS X.
+Tue Aug 23 03:14:22 2016 Naohisa Goto <ngotogenome@gmail.com>
-Tue Aug 15 19:10:18 2006 Eric Hodel <drbrain@segment7.net>
+ * string.c (str_fill_term): When termlen increases, re-allocation
+ of memory for termlen should always be needed.
+ In this fix, if possible, decrease capa instead of realloc.
+ [Bug #12536] [ruby-dev:49699]
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#find_class_comment): Fix
- broken class-level documentation.
+Tue Aug 23 03:14:22 2016 Naohisa Goto <ngotogenome@gmail.com>
-Wed Aug 16 11:09:26 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c: Specify termlen as far as possible.
+ Additional fix for [Bug #12536] [ruby-dev:49699].
- * ruby.c (set_arg0): fill argv other than the first with an empty
- string instead of NULL.
+ * string.c (str_new_static): Specify termlen from the given encoding
+ when creating a new String object is needed.
-Wed Aug 16 11:08:00 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_tainted_str_new_with_enc): New function to create a
+ tainted String object with the given encoding. This means that
+ the termlen is correctly specified. Currently static function.
+ The function name might be renamed to rb_tainted_enc_str_new
+ or rb_enc_tainted_str_new.
- * win32/win32.h: removed an excess macro. fixed: [ruby-dev:29258]
+ * string.c (rb_external_str_new_with_enc): Use encoding by using the
+ above rb_tainted_str_new_with_enc().
-Tue Aug 8 23:49:06 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Aug 23 03:14:22 2016 Naohisa Goto <ngotogenome@gmail.com>
- * lib/irb/extend-command.rb (IRB::ExtendCommandBundle): pacify
- RDoc. a patch from Eric Hodel <drbrain at segment7.net>.
- [ruby-core:08522]
+ * string.c (rb_str_subseq, str_substr): When RSTRING_EMBED_LEN_MAX
+ is used, TERM_LEN(str) should be considered with it because
+ embedded strings are also processed by TERM_FILL.
+ Additional fix for [Bug #12536] [ruby-dev:49699].
-Tue Aug 8 11:32:54 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Aug 23 03:14:22 2016 Naohisa Goto <ngotogenome@gmail.com>
- * Makefile.in, common.mk, configure.in: fix for platforms without
- rm. patches from Yutaka kanemoto <kinpoco at gmail.com>.
- [ruby-dev:29215]
+ * string.c: Fix memory corruptions when using UTF-16/32 strings.
+ [Bug #12536] [ruby-dev:49699]
-Mon Aug 7 17:56:59 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (rb_str_new_with_class): Use TERM_LEN of the "obj".
- * 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]
+ * string.c (rb_str_plus, rb_str_justify): Use str_new0 which is aware
+ of termlen.
-Mon Aug 7 15:55:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (str_shared_replace): Copy +termlen bytes instead of +1.
- * ext/syck/syck.c (syck_move_tokens): should avoid negative
- memmove. [ruby-list:42625]
+ * string.c (rb_str_times): termlen should not be included in capa.
-Mon Aug 7 14:37:48 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX,
+ termlen should be counted with it because embedded strings are
+ also processed by TERM_FILL.
- * configure.in, common.mk: AIX link issue. a patch from Yutaka
- Kanemoto <kinpoco at gmail.com>. [ruby-dev:29190]
+ * string.c (rb_str_capacity, str_shared_replace, str_buf_cat): ditto.
- * ext/socket/socket.c: AIX socket support. [ruby-dev:29190]
+ * string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr): ditto.
-Mon Aug 7 12:05:28 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Aug 18 23:43:33 2016 Eric Wong <e@80x24.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]
+ * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal):
+ avoid undefined behavior
+ * test/openssl/test_pair.rb (test_write_zero): new test
+ [ruby-core:76751] [Bug #12660]
-Sun Aug 6 20:40:41 2006 Tadayoshi Funaba <tadf@dotrb.org>
+Thu Aug 18 23:18:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/date/format.rb (str[fp]time): %[EO]U didn't denote %U.
+ * ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share
+ the fallback definition. [ruby-core:76646] [Bug #12645]
-Sat Aug 5 17:07:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Aug 18 23:07:29 2016 Nobuyoshi Nakada <nobu@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]
+ * vm.c (vm_set_main_stack): remove unnecessary check. toplevel
+ binding must be initialized. [Bug #12611] (N1)
-Sat Aug 5 13:54:03 2006 Tadayoshi Funaba <tadf@dotrb.org>
+ * win32/win32.c (w32_symlink): fix return type. [Bug #12611] (N3)
- * lib/date/format.rb (str[fp]time): "%\n" means "\n".
+ * string.c (rb_str_split_m): simplify the condition.
+ [Bug #12611](N4)
-Fri Aug 4 15:21:00 2006 Eric Hodel <drbrain@segment7.net>
+Thu Aug 18 23:06:20 2016 Kouhei Sutou <kou@cozmixng.org>
- * lib: Merge RDoc and .document from HEAD.
- * lib/drb/ssl.rb: Close socket on SSLError [ruby-core:7197]
+ * lib/rexml/attribute.rb (REXML::Attribute#to_string): Fix wrong
+ entry reference name of double quote.
+ [Bug #12609][ruby-core:76509]
+ Patch by Joseph Marrero. Thanks!!!
-Fri Aug 4 19:13:41 2006 Keiju Ishitsuka <keiju@ruby-lang.org>
+Thu Aug 18 23:04:59 2016 Naohisa Goto <ngotogenome@gmail.com>
- * lib/irb/{init.rb,ruby-lex.rb,slex.rb}: can't input '\c' for
- [ruby-core: 7122].
+ * thread.c (rb_wait_for_single_fd): Clean up fds.revents every time
+ before calling ppoll(2). [Bug #12575] [ruby-dev:49725]
-Fri Aug 4 14:02:14 2006 James Edward Gray II <james@grayproductions.net>
+Thu Aug 18 22:52:19 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/date/format.rb (__strptime, strftime): allow multi-line patterns
- in Date#strftime the same as Time#strftime accepts.
- fixed: [ruby-core:08466]
+ * vm_args.c (setup_parameters_complex): don't raise ArgumentError
+ if an array is given for instance_exec with optional argument.
+ [ruby-core:76300] [Bug #12568]
+ https://github.com/rails/rails/pull/25699
-Fri Aug 4 13:56:51 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 16 12:27:48 2016 Koichi Sasada <ko1@atdot.net>
- * pack.c (pack_pack): check argument overrun for 'P'. based on a
- patch by rucila <rucila at yahoo.cojp>. fixed: [ruby-dev:29182]
+ * gc.c (gc_mark_roots): should mark the VM object itself to mark
+ singleton class of the VM object.
+ Before this patch, we only set mark bit for the VM object and
+ invoke mark function separately.
+ [Bug #12583]
-Tue Aug 1 17:44:03 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_gc.rb: add a test.
- * win32/win32.c (init_stdhandle): assign standard file handles.
+Tue Aug 16 12:01:35 2016 Naohisa Goto <ngotogenome@gmail.com>
-Tue Aug 1 12:24:58 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/md5/md5ossl.h: Remove excess semicolons.
+ Suppress warning on Solaris with Oracle Solaris Studio 12.
+ [ruby-dev:49692] [Bug #12524]
- * eval.c (Init_Binding): fix old commit miss.
+ * ext/digest/md5/md5cc.h: ditto.
+ * ext/digest/sha1/sha1cc.h: ditto.
+ * ext/digest/sha1/sha1ossl.h: ditto.
+ * ext/digest/sha2/sha2cc.h: ditto.
+ * ext/digest/sha2/sha2ossl.h: ditto.
-Mon Jul 31 17:08:20 2006 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Aug 16 11:51:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (exit_handler): new function; release winsock and
- environment work area.
+ * compile.c (ADD_TRACE): ignore trace instruction on non-positive
+ line.
- * win32/win32.c (NTInitialize): setup exit_handler.
+ * parse.y (coverage): get rid of ArgumentError when the starting
+ line number is not positive. [ruby-core:76141] [Bug #12517]
- * win32/win32.c (StartSockets): use exit_handler.
+Tue Aug 16 11:51:52 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * 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]
+ * test/coverage/test_coverage.rb: ignored test when enabled to coverage.
+ It lead to crash with `make test-all`.
-Mon Jul 31 16:15:13 2006 Tanaka Akira <akr@fsij.org>
+Tue Aug 16 11:46:07 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * test/ruby/test_process.rb (TestProcess#test_rlimit_nofile):
- setrlimit may fail with EINVAL.
- reported by MIYAMUKO Katsuyuki. [ruby-dev:29174]
+ * lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets opaque
+ only if the URI has path-rootless, not path-empty.
+ [ruby-core:76055] [Bug #12498]
+ patched by Chris Heisterkamp <cheister@squareup.com>
-Mon Jul 31 13:38:22 2006 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Aug 16 04:57:28 2016 Shugo Maeda <shugo@ruby-lang.org>
- * lib/webrick/httprequest.rb (WEBrick::HTTPReuqest#parse_uri): improve
- for the value of IPv6 address in the Host: header field.
+ * lib/net/http/generic_request.rb (write_header): A Request-Line must
+ not contain CR or LF.
-Mon Jul 31 09:22:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Aug 16 04:54:12 2016 Shugo Maeda <shugo@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]
+ * lib/net/ftp.rb (putline): raise an ArgumentError when
+ CR or LF is included in a line.
-Sun Jul 30 23:26:22 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 16 04:38:48 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_call0): trace call/return of method defined from block.
- fixed: [ruby-core:08329]
+ * ext/date/date_strftime.c (date_strftime_with_tmx): reject too
+ large precision to get rid of buffer overflow.
+ reported by Guido Vranken <guido AT guidovranken.nl>.
- * eval.c (rb_trap_eval): make the current thread runnable to deal with
- exceptions which occurred within the trap. fixed: [ruby-dev:27729]
+Tue Aug 16 04:28:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/cgi/session.rb, lib/cgi/session/pstore.rb: suppress warnings.
- fixed: [ruby-talk:204896]
+ * file.c (append_fspath): normalize directory name to be appended
+ on OS X. [ruby-core:75957] [Ruby trunk Bug#12483]
+ https://github.com/rails/rails/issues/25303#issuecomment-224834804
-Sat Jul 29 06:12:06 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Aug 16 04:16:14 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: freeze ip_name for security reason.
+ * regcomp.c (noname_disable_map): don't optimize out group 0
+ Ruby's Regexp doesn't allow normal numbered groups if the regexp
+ has named groups. On such case it optimizes out related NT_ENCLOSE.
+ But even on the case it can use \g<0>.
+ This fix not to remove NT_ENCLOSE whose regnum is 0.
+ [ruby-core:75828] [Bug #12454]
-Sat Jul 29 01:23:52 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Aug 16 04:06:52 2016 Nobuyoshi Nakada <nobu@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]
+ * missing/crypt.c: fix size macros to use configured values
+ for platforms long is larger than 32bit.
+ [ruby-core:75792] [Bug #12446]
-Thu Jul 27 22:21:52 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 16 04:03:25 2016 Kazuki Yamaguchi <k@rhe.jp>
- * time.c (time_to_s): fixed format mismatch.
+ * ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from
+ GetBNPtr(). This doesn't raise exception but returns NULL on error.
+ (GetBNPtr): Raise TypeError if conversion fails.
+ (ossl_bn_eq): Implement BN#==.
+ (ossl_bn_eql): #eql? should not raise TypeError even if the argument
+ is not compatible with BN.
+ (ossl_bn_hash): Implement BN#hash.
-Thu Jul 27 21:19:54 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash.
- * math.c (domain_check): a new function to check domain error
- explicitly for systems that return NaN like FreeBSD.
- [ruby-core:07019]
+ * test/openssl/test_bn.rb: Test BN#eql?, #== and #hash
- * math.c (math_acos, math_asin, math_acosh, math_atanh, math_log,
- math_log10, math_sqrt): use domain_check().
+Tue Aug 16 03:51:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * math.c (math_sqrt): fix documentation flaw.
+ * transcode.c (str_transcode0): scrub in the given encoding when
+ the source encoding is given, not in the encoding of the
+ receiver. [ruby-core:75732] [Bug #12431]
-Thu Jul 27 18:12:12 2006 WATANABE Hirofumi <eban@ruby-lang.org>
+Tue Aug 16 03:41:21 2016 Kazuki Yamaguchi <k@rhe.jp>
- * time.c: need to declare time_utc_offset.
+ * ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that the DH
+ has 'p' (the prime) before calling DH_size(). We can create a DH with
+ no parameter but DH_size() does not check and dereferences NULL.
+ [ruby-core:75720] [Bug #12428]
-Thu Jul 27 17:01:01 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size() does
+ not check dsa->q.
- * 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.
-
-Tue Jan 10 13:30:34 2006 akira yamada <akira@ruby-lang.org>
-
- * ext/syck/rubyext.c (syck_resolver_transfer): should be able to load
- !ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159]
-
-Tue Jan 10 12:47:41 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in
- ruby 1.8.3/1.8.4. [ruby-core:6115]
-
- * lib/yaml/rubytypes.rb (Numeric): Subclass of Numeric could not
- be dumped properly. [ruby-core:7047]
-
-Tue Jan 10 12:00:48 2006 Aaron Schrab <aaron @nospam@ schrab.com>
-
- * lib/yaml/rubytypes.rb (Symbol#yaml_new): YAML loading of quoted
- Symbols broken. [ruby-Bugs:2535]
-
-Mon Jan 9 19:54:35 2006 arton <artonx@yahoo.co.jp>
-
- * ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by
- http://www.zlib.net/ has zdll.lib. [ruby-dev:28209]
-
-Mon Jan 9 14:17:12 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag,
- (VisualC++6) so use -O2b2xg- if $(MSC_VER) < 1400. [ruby-core:7040]
-
-Mon Jan 9 14:17:12 2006 Kero van Gelder <rubyforge @nospam@ kero.tmfweb.nl>
-
- * lib/webrick/httpservlet/filehandler.rb: fixed typo. [ruby-core:7075]
-
-Sat Jan 7 15:40:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * parse.y (singleton): get rid of segfault on syntax error.
- fixed: [ruby-core:07070]
-
-Fri Jan 6 10:16:20 2006 Steven Lumos <steven@lumos.us>
-
- * 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 Jan 1 17:07:59 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * 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)
-
- * test/ruby/test_dir.rb: added.
-
-Sat Dec 31 22:57:00 2005 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]
-
-Fri Dec 30 18:22:42 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * gc.c (garbage_collect): mark objects refered from aborting threads.
- [ruby-dev:28190]
-
- * win32/Makefile.sub: VC++8 support.
-
-Fri Dec 30 14:24:53 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * dir.c (glob_helper): do not use TRUE for djgpp.
-
-Fri Dec 30 04:54:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * file.c (eaccess): workaround for VC++8 runtime.
-
- * win32/win32.c (ioinfo): VC++8 support.
-
-Thu Dec 29 23:59:37 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_gc_mark_threads): leave unmarked threads which won't wake
- up alone, and mark threads in the loading table. [ruby-dev:28154]
-
- * eval.c (rb_gc_abort_threads), gc.c (gc_sweep): kill unmarked
- threads. [ruby-dev:28172]
-
-Thu Dec 29 17:02:07 2005 Tanaka Akira <akr@m17n.org>
-
- * test/ruby/envutil.rb (EnvUtil.rubybin): search "ruby" instead of
- "miniruby". [ruby-dev:28140]
-
-Tue Dec 27 16:59:52 2005 Yukihiro Matsumoto <matz@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]
-
-Tue Dec 27 08:29:18 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_chech):
- treat wildcard character in commonName. [ruby-dev:28121]
-
-Mon Dec 26 22:32:47 2005 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]
-
-Mon Dec 26 08:50:36 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (ev_const_get): fixed a bug in constant reference during
- instance_eval. [yarv-dev:707]
-
- * eval.c (ev_const_defined): ditto.
-
- * 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]
-
-Sat Dec 24 18:58:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * stable version 1.8.4 released.
-
-Fri Dec 23 10:30:23 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * ext/digest/sha2/sha2.c (ULL): support AIX C. a patch from
- Kailden <kailden at gmail.com>. [ruby-core:06984]
-
-Wed Dec 21 16:53:06 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * file.c (w32_io_info): should return handle because FileIndex is
- valid only while file is open. [ruby-dev:28088]
-
-Wed Dec 21 14:53:26 2005 Tanaka Akira <akr@m17n.org>
-
- * lib/pathname.rb (test_kernel_open): use File.identical?.
- [ruby-talk:171804]
-
-Tue Dec 20 22:41:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (eval_under_i): evaluate source in caller's frame.
- [ruby-dev:28076]
-
- * eval.c (rb_call_super): use original method name on exception.
- [ruby-dev:28078]
-
-Tue Dec 20 13:11:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62)
- [ruby-dev:27839]
-
- * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is
- NULL or not before S_FREE.
-
- * 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]
-
-Tue Dec 20 12:53:23 2005 why the lucky stiff <why@ruby-lang.org>
-
- * ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility
- with previous Ruby versions, documents are no longer headless.
-
-Tue Dec 20 01:46:48 2005 Tanaka Akira <akr@m17n.org>
-
- * io.c (rb_f_backquote): fix a GC problem on
- IA64 with gcc 4.0.3 20051216 (prerelease) -O3.
-
-Mon Dec 19 23:32:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * parse.y (rb_symname_p): fixed wrong validation. [ruby-dev:28047]
-
-Sat Dec 17 03:57:01 2005 Tanaka Akira <akr@m17n.org>
-
- * bignum.c (rb_big_rshift): fix a GC problem on
- IA64 with gcc 4.0.3 20051216 (prerelease).
-
-Sat Dec 17 03:30:23 2005 Tanaka Akira <akr@m17n.org>
-
- * eval.c (bmcall): fix a GC problem by tail call on
- IA64 with gcc 4.0.3 20051216 (prerelease).
-
-Fri Dec 16 00:54:06 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * signal.c (Init_signal): revert C++ style comment.
- [ruby-dev:28041]
-
-Thu Dec 15 12:35:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * lib/tmpdir.rb: merged RDoc patch from Eric Hodel <drbrain at
- segment7.net>. [ruby-core:06894]
-
-Thu Dec 15 01:33:31 2005 Tanaka Akira <akr@m17n.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)
-
-Wed Dec 14 12:11:46 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * test/gdbm/test_gdbm.rb: specify pid for the argument of
- Process.wait. workaround for Cygwin.
-
-Wed Dec 14 12:01:26 2005 Tanaka Akira <akr@m17n.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).
-
-Tue Dec 13 12:23:47 2005 Tanaka Akira <akr@m17n.org>
-
- * re.c (rb_reg_regcomp): fix a GC problem on x86_64 with
- gcc 3.3.5 (Debian 1:3.3.5-13).
-
-Tue Dec 13 01:44:16 2005 Tanaka Akira <akr@m17n.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.
-
-Tue Dec 13 00:08:09 2005 Tanaka Akira <akr@m17n.org>
-
- * sprintf.c (rb_str_format): fix a GC problem.
- [ruby-dev:28001]
-
-Mon Dec 12 15:54:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * test/openssl/test_ssl.rb (test_parallel): call GC.start to close
- unused files. [ruby-dev:27981]
-
-Mon Dec 12 00:33:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * ext/digest/digest.c (rb_digest_base_s_digest): add volatile to
- protect temporary context object. [ruby-dev:27979]
-
- * ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should
- be called before actual variable initialization.
- [ruby-dev:27986]
-
-Fri Dec 9 23:31:02 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/rexml/encoding.rb (encoding=): give priority to particular
- conversion to iconv. [ruby-core:06520]
-
-Thu Dec 8 02:07:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (umethod_bind): adjust invoking class for module method.
- [ruby-dev:27964]
-
-Thu Dec 8 00:40:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (call_trace_func): klass parameter should be a
- class/module that defines calling method. [ruby-talk:169307]
-
-Wed Dec 7 17:10:27 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-
- * sprintf.c (rb_f_sprintf): [ruby-dev:27967]
-
-Wed Dec 7 15:31:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * sprintf.c (rb_str_format): integer overflow check added.
-
- * sprintf.c (GETASTER): ditto.
-
-Wed Dec 7 01:02:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/README.macosx-aqua: [new document] tips to avoid the known
- bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.
-
- * ext/tk/tcltklib.c: fix bug on switching threads and waiting on the
- deleted interpreter on vwait and tkwait command.
-
- * ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
- interpreter.
-
- * ext/tk/sample/demos-jp/image3.rb: [bug fix] wrong argument.
-
- * ext/tk/sample/demos-en/image3.rb: ditto.
-
- * ext/tk/sample/demos-jp/menu.rb: fix message for MacOS X.
-
- * ext/tk/sample/demos-jp/menu8x.rb: ditto.
-
- * ext/tk/sample/demos-en/menu.rb: ditto.
-
-Tue Dec 6 16:37:57 2005 Yuya Nishida <yuya@j96.org>
-
- * eval.c (exec_under): avoid accessing ruby_frame->prev.
- [ruby-dev:27948]
-
-Thu Dec 1 00:50:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_funcall2): allow to call protected methods.
- fixed: [ruby-dev:27890]
-
-Wed Nov 30 23:52:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * parse.y (NEWHEAP, ADD2HEAP): set count after pointer was set.
- fixed: [ruby-dev:27896]
-
-Wed Nov 30 13:43:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * misc/ruby-mode.el (ruby-expr-beg): support $! at the end of
- expression. [ruby-dev:27868]
-
-Mon Nov 28 18:55:43 2005 NAKAMURA Usaku <usa@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 ])
-
-Mon Nov 28 13:08:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken
- error message on bccwin32 + winsock)
-
-Mon Nov 28 09:21:49 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * lib/mkmf.rb (create_makefile): should not change sodir with
- dir.gsub!. (bccwin32 failed to install third party exntesions)
- [ruby-dev:27834]
-
-Sun Nov 27 00:56:13 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/wsdl/xmlSchema/complexContent.rb: missing
- ComplexContent#elementformdefault method.
-
-Sat Nov 26 19:57:45 2005 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * dln.c (conv_to_posix_path): should initialize posix.
-
-Thu Nov 24 21:05:58 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * configure.in (AC_CHECK_FUNCS): need to check link().
- fixed: [ruby-dev:27814]
-
-Thu Nov 24 01:22:25 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * 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...)
-
-Wed Nov 23 20:59:01 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get
- [Tk8.5 feature].
-
- * ext/tk/lib/tk/text.rb: supports new indices modifires on a Text
- widget [Tk8.5 feature].
-
- * ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent.
-
- * ext/tk/lib/tk/autoload.rb: ditto.
-
- * ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5
- feature].
-
-Wed Nov 23 18:55:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * file.c (w32_io_info): should not call GetFileInformationByHandle
- for pipe.
-
- * file.c (w32_io_info): checks return value from rb_w32_get_osfhandle.
-
- * file.c (w32_io_info): now can identify directory on WinNT.
-
-Wed Nov 23 03:40:49 2005 Guy Decoux <ts@moulon.inra.fr>
-
- * re.c (KR_REHASH): should cast to unsigned for 64bit CPU.
- [ruby-core:06721]
-
-Wed Nov 23 11:01:33 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * intern.h, file.c: failed to compile on windows.
-
-Wed Nov 23 07:26:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.
-
- * ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use
- OPENSSL_malloc to allocate X509V3_CTX.
-
- * 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).
-
- * test/openssl/test_x509ext.rb: new file.
-
-Wed Nov 23 01:22:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * file.c (test_identical): test if two files are identical.
-
- * file.c (rb_f_test): support DOSISH systems where st_ino is not
- reliable. fixed: [ruby-core:06672]
-
- * win32.h, win32.c (rb_w32_osid): check the running platform.
-
-Tue Nov 22 23:52:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/optparse.rb: match incomplete (in current enconding) multibyte
- string. http://inamode6.tokuhirom.dnsalias.org/show/1551
-
-Tue Nov 22 18:36:11 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * win32/win32.c (winnt_stat): set mapped errno instead of ENOENT.
-
-Tue Nov 22 14:46:57 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * file.c (rb_file_s_basename): skip slashes just after UNC top slashes.
-
- * test/ruby/test_path.rb (test_dirname, test_basename): follow new
- spec. and add new tests.
-
-Tue Nov 22 13:18:32 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * 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]
-
-Tue Nov 22 02:31:53 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tkextlib/tile.rb: bug fix (Tk::Tile::USE_TTK_NAMESPACE
- is not defined).
-
-Tue Nov 22 01:45:21 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but
- DOSISH is not. fixed: [ruby-dev:27797]
-
-Mon Nov 21 22:50:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * file.c (rb_path_skip_prefix, rb_file_s_basename): UNC without path
- should not be splitted. fixed: [ruby-dev:27776] [ruby-dev:27786]
-
- * parse.y (dsym): prohibit empty symbol literal by interpolation.
- fixed: [ruby-talk:166529]
-
-Mon Nov 21 16:03:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * win32/setup.mk: findstr doesn't exist on win9x.
- fixed: [ruby-dev:27756]
-
-Sun Nov 20 22:34:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * parse.y (rb_symname_p): [ not followed by ] is not valid symbol.
- fixed: [ruby-talk:166520]
-
-Sat Nov 19 19:57:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * lib/fileutils.rb (FileUtils::ln): ln documentation fix.
- [ruby-core:06661]
-
-Sat Nov 19 07:34:32 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8
- or 1.9).
-
- * ext/tk/lib/tkextlib/ICONS/icons.rb: ditto.
-
- * ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.
-
-Fri Nov 18 17:57:08 2005 NAKAMURA Usaku <usa@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]
-
-Fri Nov 18 17:35:09 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * 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.
-
- * ext/tk/lib/remote-tk.rb: add restriction to manipulate.
-
- * ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip)
- to check manipulability.
-
- * ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces.
-
- * ext/tk/lib/tk/namespace.rb: ditto.
-
-Fri Nov 18 17:26:06 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * file.c (rb_file_s_dirname): added checks for some patterns with drive
- letter. fixed: [ruby-dev:27738]
-
- * test/ruby/test_path.rb (test_dirname): added tests for above
- patterns.
-
-Fri Nov 18 12:18:02 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * win32/win32.h (S_IFIFO): r,w = IO.pipe; r.stat.pipe? now
- returns true on VisualC++6.
-
-Wed Nov 16 23:24:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * common.mk (static-ruby): overridable.
-
- * ext/extmk.rb (parse_args): force to link extensions statically only
- if static is given for extstatic.
-
- * ext/extmk.rb (RUBY, RUBYW): overridable.
-
-Tue Nov 15 23:46:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * lib/find.rb (Find::find): should not ignore symbolic links to
- non-existing files. [ruby-talk:165866]
-
-Tue Nov 15 16:23:26 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * array.c (rb_ary_fill): previous commit disabled this usage:
-
- a = [0,1,2,3,4,5,6,7,8,9]
- a.fill {|i| a[i] * 10} #=> [nil, nil, ...., nil]
-
- previous commit has the advantage of early garbage collection, but
- potensially this would break some script. so I reverted behavior.
-
-Tue Nov 15 16:04:10 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * 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])
-
- * test/ruby/test_array.rb (test_fill): added.
-
-Tue Nov 15 14:39:16 2005 Yukihiro Matsumoto <matz@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]
-
-Mon Nov 14 23:49:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * file.c (rb_file_s_readlink): ERANGE will occur only on GPFS.
- [ruby-dev:27699]
-
-Mon Nov 14 17:36:22 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * array.c (rb_ary_first): RDoc update from Daniel Berger
- <djberg96@yahoo.com>. [ruby-core:06577].
-
-Fri Nov 11 10:31:44 2005 Zach Dennis <zdennis@mktec.com>
-
- * ext/socket/socket.c: Socket Documentation. [ruby-core:6552]
-
-Fri Nov 11 08:20:56 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * Makefile.in (OUTFLAG): keep trailing spaces. [ruby-dev:27666]
-
- * mkconfig.rb: substitution refereces added.
-
-Fri Nov 11 07:44:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * configure.in: undef HAVE_LINK on BeOS. (link(2) always returns
- EINVAL, and this causes error in test/fileutils.)
-
- * 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]
-
- * file.c (rb_file_s_link): checks HAVE_LINK.
-
-Tue Nov 8 15:32:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * lib/drb/ssl.rb (DRb::SSLConfig#accept): fixed typo.
- [ruby-dev:27560] [ruby-core:4627]
-
-Mon Nov 7 13:43:51 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * 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.
-
- * ext/tk/tcltklib.c: reduce warnings.
-
- * ext/tk/tkutil/tkutil.c: ditto.
-
-Mon Nov 7 00:06:58 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * lib/yaml.rb: removed :nodoc: to generate Kernel doc. [ruby-core:6324]
-
-Sun Nov 6 23:39:13 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/iconv/iconv.c (Iconv::BrokenLibrary): exception when detected a
- bug of underlying library.
-
-Sun Nov 6 21:46:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * ext/tk/stubs.c (ruby_tcl_create_ip_and_stubs_init): should touch
- interpreter after initialization is done. [ruby-dev:27638]
-
-Sun Nov 6 20:13:27 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * file.c (rb_file_s_readlink): readlink(2) on AIX fails with ERANGE if
- buffer size is less than required. fixed: [ruby-dev:27634]
-
-Wed Nov 2 20:25:28 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/extconf.rb: ext/tk/extconf.rb: change the check parameter
- for Win32.
-
-Wed Nov 2 20:14:53 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tcltklib: merge into ext/tk and remove.
-
-Wed Nov 2 19:03:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tcltklib/tcltklib.c (ip_rbUpdateObjCmd,
- ip_rb_threadUpdateObjCmd): passed improper flags to DoOneEvent().
-
- * ext/tk/tkutil.c: use rb_obj_respond_to() instead of rb_respond_to().
-
-Tue Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (rb_call_super): should call method_missing if super is
- called from Kernel method.
-
- * eval.c (exec_under): frame during eval should preserve external
- information.
-
-Tue Nov 1 10:50:17 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/extconf.rb: should check ERR_peek_last_error().
- [ruby-dev:27597]
-
- * ext/openssl/ossl.c (ossl_raise): ditto.
-
-Mon Oct 31 17:34:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * configure.in: use proper option for Sun linker. A patch from
- Shinya Kuwamura <kuwa at labs.fujitsu.com>. [ruby-dev:27603]
-
-Mon Oct 31 11:27:22 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb (test_s_open_error):
- skip on Win32/DOS platforms.
-
-Mon Oct 31 05:49:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must
- not be empty. [ruby-talk:161220]
-
- * test/openssl/test_cipher.rb: add test for Cipher#update("").
-
-Mon Oct 31 05:37:20 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * 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]
-
- * lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method
- to parse the value of Set-Cookie: header field.
-
- * test/webrick/test_cookie.rb, test/webrick/test_cgi.rb,
- test/webrick/webrick.cgi: add some test for cookie.
-
-Mon Oct 31 03:19:36 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * ext/readline/readline.c (readline_readline): type check.
- [ruby-core:6089]
-
- * numeric.c (fix_rshift): RDoc fix. [ruby-core:6351]
-
- * util.h (strtod): add #undef for platforms defines strtod()
- macro. [ruby-dev:27563]
-
-Mon Oct 31 02:35:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * test/ruby/test_float.rb (test_precision): test by assert_in_delta.
- [ruby-dev:27575]
-
-Sat Oct 29 01:58:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * ext/etc/etc.c: document update from mathew <meta@pobox.com>.
- [ruby-core:06473]
-
- * ext/fcntl/fcntl.c: ditto.
-
-Thu Oct 27 16:45:31 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * string.c (scan_once): wrong condition to use mbclen2().
- [ruby-dev:27535]
-
-Wed Oct 26 09:27:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * ext/syck/implicit.c (syck_type_id_to_uri): should return
- newly allocated memory. otherwise, type_id will be freed
- twice. [ruby-dev:27384] [ruby-core:6385]
-
-Wed Oct 26 09:04:51 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate
- values have VALUE type. there is an environment where sizeof(VALUE)
- != sizeof(int) like IA64. if 32bit integer (Qtrue) is passed to ANYARGS
- and received by 64bit integer (VALUE), upper bits may have garbage value.
- [ruby-dev:27513]
-
-Wed Oct 26 01:58:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * configure.in (RUBY_EXTERN): macro to export symbols in shared
- library. [ruby-core:05528]
-
- * defines.h, {bcc32,win32,wince}/Makefile.sub (RUBY_EXTERN): moved to
- configuration pass.
-
- * ext/extmk.rb (extmake): RUBY_EXTERN for static linked extensions.
-
-Tue Oct 25 15:32:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * lib/rational.rb: applied documentation patch from Gavin Sinclair
- <gsinclair@gmail.com>. [ruby-core:06364]
-
- * lib/irb.rb (IRB::Irb::eval_input): handle prompts with newlines
- in irb auto-indentation mode. [ruby-core:06358]
-
-Tue Oct 25 02:12:08 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::LABEL_LIST_RE):
- reduce redundant backtrack. [ruby-talk:161771]
-
-Tue Oct 25 00:27:35 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/rinda/*: RDoc documentation from Eric Hodel
- <drbrain@segment7.net> added.
-
-Mon Oct 24 21:14:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * configure.in, io.c: use sys/syscall.h if syscall.h is not available.
- [ruby-core:06247]
-
-Mon Oct 24 20:49:45 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * ext/Win32API/lib/win32/resolv.rb (get_info): support multiple DNS.
- fixed: [ruby-list:40058], [ruby-dev:27479]
-
-Mon Oct 24 07:57:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * ext/tk/lib/tk/canvas.rb (TkCanvasItemConfig::__item_val2ruby_optkeys):
- typo fixed. [ruby-talk:162187]
-
- * ext/tk/lib/tk/menu.rb (TkMenuEntryConfig::__item_val2ruby_optkeys):
- ditto. [ruby-core:06359]
-
-Sun Oct 23 21:50:15 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * ext/enumerator/enumerator.c: applied documentation patch from
- James Edward Gray II <james@grayproductions.net>.
- [ruby-core:06348]
-
-Sun Oct 23 07:11:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tcltklib/extconf.rb: improve messages [ruby-core:06325].
-
- * 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.
-
- * ext/tk/lib/tkextlib/*: ditto.
-
- * ext/tk/lib/tkextlib/*: update to support ActiveTcl8.4.11.2.
-
- * ext/tk/lib/tkextlib/trofs/*: support Trofs 0.4.3.
-
- * ext/tk/lib/tkextlib/tile/*: support Tile 0.7.2.
-
- * ext/tk/lib/tkextlib/vu/*: support vu 2.3.0.
-
- * ext/tk/lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3).
-
-Sat Oct 22 23:54:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/extmk.rb, lib/mkmf.rb (with_config): support --with-extension
- options. [ruby-dev:27449]
-
-Sat Oct 22 13:26:57 2005 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]
-
- * test/ruby/test_symbol.rb: tests for [ruby-core:03573].
-
- * time.c (rb_strftime): removed meaningless volatile modifiers, and
- concatenate successive nul characters at once. [ruby-dev:27472]
-
-Fri Oct 21 19:21:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * rubysig.h (CHECK_INTS): fixed typo. (I believe bit-or is improper)
-
-Fri Oct 21 17:49:32 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * bin/erb (ERB::Main::run): typo fixed. [ruby-core:06337]
-
-Fri Oct 21 15:27:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * 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]
-
- * time.c: should use LONG_LONG instead of `long long'.
-
-Thu Oct 20 09:37:15 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * lib/mkmf.rb (create_makefile): Borland make seems not to allow
- empty dependency list. If this change is not good, please correct
- it.
-
-Thu Oct 20 07:55:09 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/mkmf.rb (create_makefile): get rid of a restriction
- of Borland make. fixed: [ruby-dev:27460]
-
-Thu Oct 20 00:13:18 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * rubysig.h (CHECK_INTS): fix typo.
-
-Wed Oct 19 23:58:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/mkmf.rb (create_makefile): do not create unnecessary empty
- directories. fixed: [ruby-dev:27451]
-
-Wed Oct 19 19:26:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * parse.y (rb_gc_mark_parser): get rid of segfault with old yacc.
- fixed: [ruby-dev:27439]
-
-Wed Oct 19 08:28:32 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * file.c (rb_file_join): elements may contain null pointer strings.
- report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]
-
-Wed Oct 19 02:34:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c, gc.c, time.c: made internal symbols static. [ruby-dev:27435]
-
-Wed Oct 19 01:27:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt,
+ ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,
+ ossl_rsa_private_decrypt): Ditto. RSA_size() does not check rsa->n.
- * regex.c (re_compile_pattern): numeric literal inside character class
- disabled succeeding backtrack. fixed: [ruby-list:41328]
+Tue Aug 16 03:10:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Oct 17 21:18:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * transcode.c (enc_arg, str_transcode_enc_args, econv_args):
+ remove volatile, and add GC guards in callers.
+ [ruby-core:75664] [Bug #12411]
- * parse.y (parser_heap): byacc never free parser stack.
- fixed: [ruby-dev:27428]
+Tue Aug 16 02:45:52 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Oct 17 16:04:47 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/psych/*, test/psych/*: Update psych 2.1.0
+ This version fixed [Bug #11988][ruby-core:72850]
- * file.c (chmod_internal, lchmod_internal): fixed type of 2nd argument.
+Fri Aug 12 04:15:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Oct 16 22:16:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * common.mk (build-ext), ext/extmk.rb: use variable EXTENCS
+ different than ENCOBJS, to get rid of circular dependency.
+ build libencs when linking encodings statically.
+ [ruby-core:75618] [Bug #12401]
- * ext/extmk.rb: omit non-existing directories.
+Fri Aug 12 04:04:23 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Oct 16 14:30:05 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * process.c (rb_execarg_commandline): build command line string
+ from argument vector in rb_execarg.
+ [ruby-core:75611] [Bug #12398]
- * lib/rinda/rinda.rb (Rinda::Tuple#initialize): check remote hash
- tuple. fixed: [ruby-list:41227]
+Fri Aug 12 03:30:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rinda/test_rinda.rb: test it.
+ * variable.c (rb_local_constants_i): exclude private constants
+ when excluding inherited constants too. [Bug #12345]
-Sun Oct 16 03:38:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Aug 12 03:00:05 2016 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * rubysig.h (CHECK_INTS): prevent signal handler to run during
- critical section. [ruby-core:04039]
+ * lib/drb/timeridconv.rb: don't use keeper thread. [Bug #12342]
- * eval.c (load_wait): need not to call rb_thread_schedule()
- explicitly. [ruby-core:04039]
+ * test/drb/ut_timerholder.rb: ditto.
- * eval.c (rb_thread_schedule): clear rb_thread_critical.
- [ruby-core:04039]
+Fri Aug 12 02:46:37 2016 Kazuki Yamaguchi <k@rhe.jp>
-Sat Oct 15 19:56:38 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * ext/openssl/ossl_ssl.c (ossl_ssl_stop): Don't free the SSL struct
+ here. Since some methods such as SSLSocket#connect releases GVL,
+ there is a chance of use after free if we free the SSL from another
+ thread. SSLSocket#stop was documented as "prepares it for another
+ connection" so this is a slightly incompatible change. However when
+ this sentence was added (r30090, Add toplevel documentation for
+ OpenSSL, 2010-12-06), it didn't actually. The current behavior is
+ from r40304 (Correct shutdown behavior w.r.t GC., 2013-04-15).
+ [ruby-core:74978] [Bug #12292]
- * bin/erb: typo fixed, again. thanks, Doug Kearns.
+ * ext/openssl/lib/openssl/ssl.rb (sysclose): Update doc.
-Fri Oct 14 22:08:26 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/openssl/test_ssl.rb: Test this.
- * win32/win32.c (ioctl): should set errno.
+Thu Aug 11 01:30:29 2016 Marcus Stollsteimer <sto.mar@web.de>
-Fri Oct 14 16:57:32 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * ext/json/lib/*.rb: Removed some comments. Because these are unnecessary
+ class description. [ci skip][Bug #12255][ruby-core:74835]
- * 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.
+Thu Aug 11 01:09:43 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Thu Oct 13 23:29:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * pack.c (pack_pack): use union instead of bare variable to ease
+ optimizations and avoid assigning x87 floating point number.
+ [ruby-core:74496] [Bug #12209]
- * parse.y (HEAPCNT): bison allocates indivisible size.
- fixed: [ruby-core:06261]
+ * pack.c (pack_unpack): ditto.
- * io.c, pack.c, ext/syck/rubyext.c, ext/syck/syck.h, missing/isinf.c:
- get rid of warnings. fixed: [ruby-core:06247]
+Tue Aug 2 01:34:12 2016 Eric Wong <e@80x24.org>
-Wed Oct 12 12:52:57 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/webrick/httpservlet/cgihandler.rb (do_GET): delete HTTP_PROXY
+ * test/webrick/test_cgi.rb (test_cgi_env): new test
+ * test/webrick/webrick.cgi (do_GET): new endpoint to dump env
+ [ruby-core:76511] [Bug #12610]
- * ext/openssl/ossl.c (Init_openssl): should call
- OpenSSL_add_ssl_algorithms().
+Tue Aug 2 01:33:11 2016 Shugo Maeda <shugo@ruby-lang.org>
-Wed Oct 12 11:08:54 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+ * test/ruby/test_refinement.rb: skip
+ test_prepend_after_refine_wb_miss on ARM or MIPS.
+ [ruby-core:76031] [Bug #12491]
- * file.c (rb_f_test): typo in RDoc comments.
+Sat Jul 30 12:23:29 2016 Shugo Maeda <shugo@ruby-lang.org>
-Tue Oct 11 21:41:58 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_args.c (vm_caller_setup_arg_block): disable symbol block
+ argument optimization when tail call optimization is enabled,
+ in order to avoid SEGV. [ruby-core:76288] [Bug #12565]
- * eval.c (rb_obj_respond_to): check if obj responds to the given
- method with the given visibility. [ruby-dev:27408]
+Sat Jul 30 12:10:51 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_respond_to): conform to Object#respond_to?. [ruby-dev:27411]
+ * proc.c (passed_block): convert passed block symbol to proc.
+ based on the patch by Daisuke Sato in [ruby-dev:49695].
+ [Bug #12531]
-Tue Oct 11 00:01:21 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Jul 30 10:58:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * st.c (st_free_table): do not call free() but xfree().
- [ruby-core:06205]
+ * vm_insnhelper.c (vm_throw_start): check if the iseq is symbol
+ proc, class definition should not be a symbol proc.
+ [ruby-core:75856] [Bug #12462]
-Sat Oct 8 20:04:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jul 11 22:35:00 2016 Kenta Murata <mrkn@mrkn.jp>
- * eval.c (Init_Binding): add Binding#dup method. [yarv-dev:666]
+ * bignum.c (rb_big_hash): make it public function to be available in
+ other source files, and remove documentation comment for Bignum#hash.
- * parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on
- heap. [ruby-list:41199]
+ * bignum.c (Bignum#hash): remove its definition because it is unified
+ with Object#hash.
- * ext/iconv/charset_alias.rb: parse config.charset_alias file directly.
+ * include/ruby/intern.h (rb_big_hash): add a prototype declaration.
-Fri Oct 7 09:54:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * hash.c (any_hash): treat Bignum values directly.
- * 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]
+Sat Jul 2 04:00:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Oct 6 20:12:16 2005 Minero Aoki <aamine@loveruby.net>
+ * string.c (tr_trans): consider terminator length and fix heap
+ overflow. reported by Guido Vranken <guido AT guidovranken.nl>.
- * ext/strscan/strscan.c (strscan_free): remove useless code.
- [ruby-dev:26368] [ruby-dev:27389]
- (backported from trunk, rev 1.22)
+Sat Jul 2 03:33:28 2016 Shugo Maeda <shugo@ruby-lang.org>
-Wed Oct 5 04:42:38 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104
+ partially to avoid "self has wrong type to call super in this
+ context" errors.
+ [ruby-core:72724] [Bug #11954]
- * lib/xmlrpc/server.rb (XMLRPC::Server#initialize): should mount the
- servlet on "/".
+Mon Jun 20 02:38:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 5 03:59:09 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/optparse.rb (OptionParser::Completion.candidate): get rid of
+ nil as key names. [ruby-core:75773] [Bug #12438]
- * lib/xmlrpc/server.rb (XMLRPC::Server#serve): delete wrong call
- of "join".
+ * lib/optparse.rb (OptionParser#make_switch): char class option
+ cannot be NoArgument, default to RequiredArgument.
-Mon Oct 3 00:04:00 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Mon Jun 20 02:25:44 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * pack.c (EXTEND16): [ruby-dev:27383]
+ * re.c (unescape_nonascii): scan hex up to only 3 characters.
+ [Bug #12420] [Bug #12423]
-Thu Sep 29 10:26:18 2005 Tanaka Akira <akr@m17n.org>
+Mon Jun 20 02:25:44 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/dl/dl.c (rb_io_to_ptr): abolish sizeof(FILE).
- [ruby-dev:27317]
+ * regparse.c (fetch_token_in_cc): raise error if given octal escaped
+ character is too big. [Bug #12420] [Bug #12423]
-Thu Sep 29 07:22:05 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jun 19 04:29:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * evalc. (rb_f_send): underscores need to be escaped.
- fixed by Doug Kearns. [ruby-core:06053]
+ * include/ruby/missing.h (isfinite): move from numeric.c.
-Thu Sep 29 00:57:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jun 19 04:29:13 2016 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when
- autoload succeeded.
+ * ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on
+ cygwin. [Bug #12417][ruby-core:75691]
- * variable.c (rb_autoload_load): now return true if autoload
- succeeded. fixed: [ruby-dev:27331]
+Sun Jun 19 04:29:13 2016 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Sep 28 23:42:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always
+ exist. fixed build error on Windows introduced at r55123.
- * file.c (apply2files): add prototype.
+Sun Jun 19 04:29:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (rb_stat_inspect): constified.
+ * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider
+ non-finite float values not to raise FloatDomainError.
+ [ruby-core:75682] [Bug #12414]
- * 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.
+Thu Jun 16 00:42:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 28 23:09:23 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (rb_str_modify_expand): check integer overflow.
+ [ruby-core:75592] [Bug #12390]
- * lib/delegate.rb: document update from James Edward Gray II
- <james@grayproductions.net>. [ruby-core:06027]
+Thu Jun 16 00:29:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 28 15:14:19 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * vm_insnhelper.c (vm_get_ev_const): warn deprecated constant even
+ in the class context. [ruby-core:75505] [Bug #12382]
- * lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string should
- refer the value of QUERY_STRING. [ruby-list:41186]
+Tue Jun 14 03:49:28 2016 Eric Wong <e@80x24.org>
- * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#query_string=):
- add new method.
+ * dir.c (dir_close): update RDoc for 2.3 #close change
+ [ruby-core:75679] [Bug #12413]
-Wed Sep 28 10:45:44 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Jun 14 03:47:29 2016 Eric Wong <e@80x24.org>
- * ext/tcltklib/tcltklib.c: cannot compile with Tcl/Tk8.0.x
- [ruby-dev:27335].
+ * proc.c: fix RDoc of Proc#===/call/yield/[]
+ [Bug #12332]
-Wed Sep 28 08:12:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jun 14 03:34:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (read_buffered_data): check if reached EOF. fixed: [ruby-dev:27334]
+ * variable.c (rb_local_constants_i): exclude hidden constants.
+ [ruby-core:75575] [Bug #12389]
-Wed Sep 28 07:56:52 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jun 14 03:25:14 2016 Benoit Daloze <eregontp@gmail.com>
- * lib/yaml/basenode.rb (YAML::BaseNode::match_segment): fix typo.
- [ruby-dev:27237], [ruby-core:05854]
+ * insns.def (defineclass): Also raise an error when redeclaring the
+ superclass of a class as Object and it has another superclass.
+ [Bug #12367] [ruby-core:75446]
- * lib/yaml/tag.rb (Module#yaml_as): suppress warnings.
+ * test/ruby/test_class.rb: test for above.
- * lib/yaml/types.rb (YAML::PrivateType, YAML::DomainType): ditto.
+Tue Jun 14 03:15:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 28 03:23:35 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * process.c (rb_exec_getargs): honor the expected argument types
+ over the conversion method. the basic language functionality
+ should be robust. [ruby-core:75388] [Bug #12355]
- * rubysig.h: fixed build problem with --enable-pthread on platforms
- which don't have setitimer().
+Tue Jun 14 03:02:38 2016 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Sep 26 22:32:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new
+ truncate alternative which accepts UTF-8 path.
- * eval.c (set_trace_func): add rb_secure(4) to prevent adding
- tracing function.
+ * file.c (truncate): use above function.
+ [Bug #12340]
-Sun Sep 25 12:05:10 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue Jun 14 02:58:41 2016 Marcus Stollsteimer <sto.mar@web.de>
- * bin/erb: typo fixed.
+ * ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime
+ documentation to RDoc from Markdown.
+ [ruby-core:75136] [Bug #12311]
-Sun Sep 25 01:46:43 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jun 12 02:36:52 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * misc/ruby-mode.el (ruby-calculate-indent): arrange deep-indent
- closing parenthesis at same column as the opening.
+ * regcomp.c (compile_length_tree): return error code immediately
+ if compile_length_tree raised error [Bug #12418]
-Sun Sep 25 00:42:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jun 12 02:27:07 2016 NAKAMURA Usaku <usa@ruby-lang.org>
- * misc/ruby-mode.el (ruby-expr-beg): deal with heredoc separately.
- fixed: [ruby-list:41168]
+ * thread.c (recursive_list_access): a object id may be a Bignum. so,
+ the list must be a objhash, instead of a identhash.
+ this fixes many test errors on mswin64 CI.
- * misc/ruby-mode.el (ruby-calculate-indent): not to deepen indent
- level for continuous line inside parentheses.
- http://nabeken.tdiary.net/20050915.html#p02
+Sun Jun 12 01:59:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Sep 25 00:18:11 2005 Tanaka Akira <akr@m17n.org>
+ * parse.y (new_if_gen): set newline flag to NODE_IF to trace all
+ if/elsif statements. [ruby-core:67720] [Bug #10763]
- * eval.c (unknown_node): show more information. [ruby-dev:26196]
+Sun May 15 02:33:52 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Sep 24 08:56:01 2005 Minero Aoki <aamine@loveruby.net>
+ * lib/mkmf.rb (pkg_config): use xsystem consistently to set up
+ library path environment variable as well as latter pkg-config
+ calls. [ruby-dev:49619] [Bug #12379]
- * 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]
+Fri May 6 02:30:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Sep 24 08:38:07 2005 Minero Aoki <aamine@loveruby.net>
+ * lib/optparse.rb: [DOC] fix example code. base on the code by
+ Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323]
- * lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose,
- DryRun (backported from trunk, rev 1.66). [ruby-core:05954]
+Fri May 6 02:28:31 2016 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * test/fileutils/test_nowrite.rb: test it.
+ * ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank
+ string conversion.
+ [Bug #11880]
+ Thanks Akio Tajima for the patch!
- * test/fileutils/test_dryrun.rb: new file.
+Fri May 6 02:24:13 2016 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * test/fileutils/test_verbose.rb: new file.
+ * bignum.c: [DOC] Update result of 123456789 ** -2.
+ [ruby-dev:49606] [Bug #12339]
-Sat Sep 24 02:40:20 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed May 4 02:38:08 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
- * lib/delegate.rb: document update from James Edward Gray II
- <james@grayproductions.net>. [ruby-core:05942]
+ * internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG
+ instead of duplicated undef RCOMPLEX_SET_REAL.
-Thu Sep 22 23:36:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed May 4 02:38:08 2016 Yuichiro Kaneko <yui-knk@ruby-lang.org>
- * lib/mkmf.rb (find_executable0): default path if environment is not
- set. [ruby-dev:27281]
+ * complex.c (rb_complex_set_imag): Fix to properly set imag
+ of complex.
-Thu Sep 22 16:33:12 2005 Shugo Maeda <shugo@ruby-lang.org>
+Tue Apr 26 23:34:45 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * test/readline/test_readline.rb (TestReadline::replace_stdio):
- merged the patch of [ruby-dev:25232] instead of [ruby-dev:25223].
+ * version.h: Bump versionto 2.3.2.
-Wed Sep 21 23:30:44 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Apr 26 02:58:51 2016 Marcus Stollsteimer <sto.mar@web.de>
- * lib/mkmf.rb (configuration): generalized nmake dependent code.
+ * doc/extension.rdoc: Improvements to english grammers.
+ [Bug #12246][ruby-core:74792][ci skip]
-Wed Sep 21 09:07:55 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Apr 26 02:58:51 2016 craft4coder <yooobuntu@163.com>
- * stable version 1.8.3 released.
+ * doc/extension.rdoc: [DOC] `nul` should be uppercase.
+ change 'nul' => 'NUL'. [Fix GH-1172]
-Wed Sep 21 08:52:25 2005 why the lucky stiff <why@ruby-lang.org>
+Tue Apr 26 02:54:57 2016 Marcus Stollsteimer <sto.mar@web.de>
- * ext/syck/token.c: correctly compute identation of a block
- scalar's parent node. [ruby-talk:150620]
+ * encoding.c: Fix return value of `Encoding::ISO8859_1.name`
+ [Bug #12313][ruby-core:75147][ci skip]
+ * ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new`
-Wed Sep 21 08:20:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Apr 25 02:29:07 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * README.EXT, README.EXT.ja: add new features.
+ * configure.in: add missing -lm for AIX.
-Wed Sep 21 07:43:58 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Apr 25 02:29:07 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * lib/optparse.rb (default_argv, Arguable#options): defaults strings
- to be parsed to Arguable instance.
+ * configure.in: don't use the system-provided round(3) on AIX.
+ In AIX, round(0.49999999999999994) returns 1.0.
+ Use round() in numeric.c instead.
-Wed Sep 21 02:44:09 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Apr 24 03:05:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (path_check_0): disallow sticky world writable directory
- in PATH (and $LOAD_PATH). [ruby-dev:27226]
+ * ruby.c: cygwin does not use w32_cmdvector, command line can be
+ other than UTF-8. [ruby-dev:49519] [Bug #12184]
- * file.c (fpath_check): typo fixed.
+Sat Apr 23 01:01:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 20 22:29:49 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * eval_jump.c (exec_end_procs_chain): restore previous error info
+ for each end procs. [ruby-core:75038] [Bug #12302]
- * 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.
+Sat Apr 23 00:51:51 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 20 21:26:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (new_label_body): initialize bit fields, since
+ compile_data_alloc does not clear the memory. [Bug #12082]
- * ext/io/wait/lib/nonblock.rb: disable on platforms non-blocking flag
- is not available. fixed: [ruby-dev:27187]
+Sat Apr 23 00:51:51 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 20 18:23:04 2005 Tanaka Akira <akr@m17n.org>
+ * compile.c (iseq_optimize): disable tail call optimization in
+ rescued, rescue, and ensure blocks.
+ [ruby-core:73871] [Bug #12082]
- * eval.c (thread_mark): mark th->last_status. [ruby-dev:27179]
+Sat Apr 23 00:33:04 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Tue Sep 20 18:20:33 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo.
+ [Bug #12202] [ruby-core:74802]
- * lib/yaml.rb: require 'yaml/constants'. [ruby-core:5776]
+Sat Apr 23 00:33:04 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Tue Sep 20 17:48:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0.
+ patched by Anton Sivakov [Bug #12201] [Bug #12202]
- * lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): add charset
- information to content-type header.[ruby-core:5127]
+Sat Apr 23 00:29:15 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/xmlrpc/server.rb (CGIServer::serve): ditto.
+ * lib/securerandom.rb (gen_random): to avoid blocking on Windows.
+ On Windows OpenSSL RAND_bytes (underlying implementation is
+ RAND_poll in crypto/rand/rand_win.c) may be blocked at
+ NetStatisticsGet.
+ https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues
+ Instead of this, use Random.raw_seed directly (whose implementation
+ CryptGenRandom is one of the source of
+ entropy of RAND_poll on Windows).
+ https://wiki.openssl.org/index.php/Random_Numbers
+ Note: CryptGenRandom function is PRNG and doesn't check its entropy,
+ so it won't block. [Bug #12139]
+ https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx
+ https://tools.ietf.org/html/rfc4086#section-7.1.3
+ https://eprint.iacr.org/2007/419.pdf
+ http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf
- * lib/xmlrpc/server.rb (ModRubyServer::serve): ditto.
+Sat Apr 23 00:25:26 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/xmlrpc/server.rb (WEBrickServlet::service): ditto.
+ * miniinit.c (Init_enc): add some common aliases of built-in
+ encodings. [ruby-core:72481] [Bug #11872]
-Tue Sep 20 17:34:46 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Apr 23 00:13:50 2016 sorah (Shota Fukumori) <her@sorah.jp>
- * 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]
+ * lib/forwardable.rb: Convert given accessors to String.
-Tue Sep 20 17:10:38 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ r53381 changed to accept only Symbol or String for accessors, but
+ there are several rubygems that pass classes (e.g. Array,
+ Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s
+ returns its class name. After r53381 given accessors are checked
+ with define_method, but it accepts only Symbol or String, otherwise
+ raises TypeError.
- * test/dbm/test_dbm.rb (TestDBM::test_s_open_error): remove
- test_s_open_error test to detect duplicate open.
- [ruby-dev:27202]
+ def_delegator Foo, :some_method
-Tue Sep 20 17:08:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ This change is to revert unexpected incompatibility. But this behavior
+ may change in the future.
- * io.c: PIPE_BUF is not defined on BeOS. use _POSIX_PIPE_BUF instead.
- [ruby-dev:27185]
+Sat Apr 23 00:02:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 20 16:53:53 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * configure.in: check if succeeded in creating config.h.
- * test/readline/test_readline.rb (TestReadline::replace_stdio):
- BSD seek support from [ruby-dev:25223]. fixed: [ruby-dev:27150]
+ * tool/ifchange: ignore failures when TEST_COLORS unmatched. just
+ use the default value if expected name is not contained in it.
+ [ruby-core:75046] [Bug #12303]
-Tue Sep 20 15:39:40 2005 why the lucky stiff <why@ruby-lang.org>
+Fri Apr 22 23:47:05 2016 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]
+ * doc/regexp.rdoc (comments): [DOC] terminators cannot appear in
+ comments. [ruby-core:74838] [Bug #12256]
- * ext/syck/emitter.c (syck_emit_scalar): treat typed scalar nodes
- as complex keys.
+Fri Apr 22 23:44:07 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/syck.h: version 0.60.
+ * extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors.
+ Renamed files, wrong method names or argument types; the example
+ GetDBM macro is now updated to the current version of the actual
+ code. patch by Marcus Stollsteimer in [ruby-core:74690].
+ [Bug #12228]
- * lib/yaml/basenode.rb (YAML::BaseNode#at): transform keys during
- key searches.
+Fri Apr 22 23:32:19 2016 Tanaka Akira <akr@fsij.org>
- * ext/syck/rubyext.c: loading of binary-typed nodes. prevent
- emission of plain strings that look like symbols, but which aren't.
+ * test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed
+ to avoid test failures due to the tzdata change.
+ https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95
+ Found by naruse.
-Tue Sep 20 05:50:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Apr 19 02:32:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.
+ * configure.in (rb_cv_lgamma_r_m0): fix the condition for
+ lgamma_r(-0.0). [Bug #12249]
-Tue Sep 20 00:34:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Apr 19 02:32:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (io_close): call rb_io_close() directly if io is a T_FILE
- object. [ruby-dev:27156]
+ * configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)
+ returns negative infinity. [Bug #12249]
-Mon Sep 19 19:09:08 2005 Minero Aoki <aamine@loveruby.net>
+ * math.c (ruby_lgamma_r): define by the configured result.
- * file.c (rb_file_chown): should accept nil. [ruby-dev:27171]
- (backport from trunk, rev 1.208)
+Tue Apr 19 02:32:50 2016 cremno phobia <cremno@mail.ru>
-Mon Sep 19 18:35:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows,
+ since msvcrt does not provide it.
- * ext/dl/dl.c (rb_io_to_ptr): fix DragonFlyBSD support.
- [ruby-dev:27151]
+ * missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0).
+ [ruby-core:74823] [Bug #12249]
-Mon Sep 19 14:17:04 2005 Minero Aoki <aamine@loveruby.net>
+Tue Apr 19 02:32:50 2016 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/syck/emitter.c (syck_emit): passing an int* value to the
- long* parameter causes unaligned access on LP64 systems.
- [ruby-dev:27161]
+ * math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong.
+ cf. [Bug #12249]
-Mon Sep 19 13:44:03 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Tue Apr 19 02:32:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/win32ole.c: avoid core dump with WIN32OLE_EVENT.
- [ruby-dev:27133]
+ * math.c (ruby_tgamma): fix tgamma(-0.0) on mingw.
+ [ruby-core:74817] [Bug #12249]
-Mon Sep 19 10:36:06 2005 Minero Aoki <aamine@loveruby.net>
+Tue Apr 19 01:53:32 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb (cp_r): default is :dereference_root=>true for
- backward compatibility. [ruby-dev:27145]
+ * defs/keywords (alias, undef): symbol literals are allowed.
- * test/fileutils/test_fileutils.rb (test_cp_r): test it.
+ * parse.y (parse_percent): should parse symbol literals for alias
+ and undef. [ruby-dev:47681] [Bug #8851]
-Mon Sep 19 09:57:39 2005 Minero Aoki <aamine@loveruby.net>
+Mon Apr 18 18:05:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/test_fileutils.rb: backported from trunk (1.36).
- (again) [ruby-dev:27145]
+ * struct.c (struct_make_members_list, rb_struct_s_def): member
+ names should be unique. [ruby-core:74971] [Bug #12291]
-Mon Sep 19 07:45:37 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * struct.c (struct_make_members_list): extract making member name
+ list from char* va_list, with creating symbols without
+ intermediate IDs.
- * 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.
+Mon Apr 18 17:54:40 2016 Joe Swatosh <joe.swatosh@gmail.com>
- * ext/openssl/ossl_engine.c: (ossl_engine_load_privkey): set private
- key flag.
+ * ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix
+ API names. [ruby-core:74863] [Bug #12264]
-Mon Sep 19 06:41:32 2005 Minero Aoki <aamine@loveruby.net>
+Mon Apr 18 17:27:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb: backported from trunk (rev 1.65):
+ * compile.c (iseq_peephole_optimize): should not replace the
+ current target INSN, not to follow the replaced dangling link in
+ the caller. [ruby-core:74993] [Bug #11816]
- * lib/fileutils.rb (rm_r): new option :secure.
+Mon Apr 18 17:18:25 2016 cremno phobia <cremno@mail.ru>
- * lib/fileutils.rb (rm_rf): new option :secure.
+ * cont.c (fiber_initialize_machine_stack_context): fix wrong
+ _MSC_VER check, should be decimal but not hexadecimal.
+ [ruby-core:74936] [Bug #12279]
- * lib/fileutils.rb: new method #remove_entry_secure.
+Mon Apr 18 17:18:25 2016 cremno phobia <cremno@mail.ru>
- * lib/fileutils.rb (cd): remove option :noop.
+ * cont.c (fiber_initialize_machine_stack_context): fix wrong
+ _MSC_VER check, should be decimal but not hexadecimal.
+ [ruby-core:74936] [Bug #12279]
- * lib/fileutils.rb (cp_r): new option :dereference_root.
+Mon Apr 18 17:08:10 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb (cp_r): new option :dereference_root.
+ * vm_core.h (rb_vm_struct): make at_exit a single linked list but
+ not RArray, not to mark the registered functions by the write
+ barrier. based on the patches by Evan Phoenix.
+ [ruby-core:73908] [Bug #12095]
- * lib/fileutils.rb: new method #remove_entry.
+Mon Apr 18 16:56:31 2016 Benoit Daloze <eregontp@gmail.com>
- * lib/fileutils.rb: new method #chmod_R.
+ * thread.c (update_coverage): Do not track coverage in loaded files
+ after Coverage.result. Avoids out-of-bounds access. [Bug #12237]
- * lib/fileutils.rb: new method #chown.
+ * ext/coverage/coverage.c (coverage_clear_result_i): document.
- * lib/fileutils.rb: new method #chown_R.
+Mon Apr 18 16:33:50 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb: new method .commands.
+ * ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc
+ of DateTime. [ruby-core:74729] [Bug #12233]
- * lib/fileutils.rb: new method .options.
+Mon Apr 18 13:48:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb: new method .have_option?.
+ * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM):
+ * add missing parentheses and remove double quotes.
+ * rename to get rid of recursive references.
+ * as --excludes-dir option is for a path name, its argument
+ should be converted.
+ [ruby-dev:49526] [Bug #12199]
- * lib/fileutils.rb: new method .options_of.
+Mon Apr 18 13:48:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb: new method .collect_method.
+ * common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell
+ long option.
- * lib/fileutils.rb: use module_function instead of single extend.
+ * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name
+ conversions by msys2. [ruby-dev:49525] [Bug #12199]
- * test/fileutils/test_fileutils.rb: backported from trunk (1.36).
+Mon Apr 18 13:48:05 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Sep 19 03:17:48 2005 Tanaka Akira <akr@m17n.org>
+ * test/lib/test/unit.rb (Options#non_options): make regexp name
+ options prefixed with "!" negative filters.
- * file.c (rb_thread_flock): wrap the flock system call by
- TRAP_BEG/TRAP_END to enable signals. [ruby-dev:27122]
+ * common.mk (TEST_EXCLUDES): use negative filter to exclude memory
+ leak tests. -x option excludes test files, not test methods.
- * 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]
+Sun Apr 17 04:30:13 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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]
+ * parse.y (parse_ident): allow keyword arguments just after a
+ method where the same name local variable is defined.
+ [ruby-core:73816] [Bug#12073]
-Mon Sep 19 03:02:08 2005 Tanaka Akira <akr@m17n.org>
+Sun Apr 17 04:20:40 2016 Nobuyoshi Nakada <nobu@ruby-lang.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.
+ * eval.c (setup_exception): set the cause only if it is explicitly
+ given or not set yet. [Bug #12068]
-Sun Sep 18 02:10:47 2005 why the lucky stiff <why@ruby-lang.org>
+Sat Apr 16 00:56:45 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/yaml/rubytypes.rb: remove comments that are bungling up
- the rdoc and ri output. output symbols as plain scalars.
+ * thread.c (rb_thread_setname): defer setting native thread name
+ set in initialize until the native thread is created.
+ [ruby-core:74963] [Bug #12290]
- * ext/syck/rubyext.c (syck_emitter_reset): emit headless
- documents always.
+Fri Apr 15 21:10:00 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/syck/emitter.c (syck_scan_scalar): quote scalars with any
- kind of surrounding line space, tabs or spaces alike.
+ * lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined.
- * ext/syck/token.c: accept tabs as whitespace, not for indentation,
- but strip from plain scalars.
+Fri Apr 15 14:52:06 2016 Elliot Winkler <elliot.winkler@gmail.com>
- * test/yaml/test_yaml.rb: remove outdated tests.
+ * lib/forwardable.rb (def_instance_delegator) fix delegating to
+ 'args' and 'block', clashing with local variables in generated
+ methods. [ruby-core:72579] [Bug #11916]
-Sat Sep 17 23:25:04 2005 sheepman <sheepman@sheepman.sakura.ne.jp>
+ * lib/forwardable.rb (def_single_delegator): ditto.
- * lib/mathn.rb (Rational::inspect): should preserve original
- operand. [ruby-core:05806]
+Fri Apr 15 14:27:48 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Sat Sep 17 23:20:27 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/irb/ext/save-history.rb: suppress warning: method redefined;
+ discarding old save_history=.
- * lib/cgi.rb (CGI::Cookie): should handle multiple values for a
- cookie name. [ruby-talk:156140]
+Tue Apr 12 16:15:39 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Sat Sep 17 10:42:13 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * configure.in: improve ICC (Intel C Compiler) support.
- * 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).
+ * configure.in (CXX): The name of icc's c++ compiler is `icpc`.
-Sat Sep 17 09:45:26 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * configure.in (warnings): Add `-diag-disable=2259` to suppress
+ noisy warnings: "non-pointer conversion from "..." to "..." may
+ lose significant bits".
- * string.c (rb_str_substr): should propagate taintness even for
- empty strings. [ruby-dev:27121]
+ * configure.in (optflags): Add `-fp-model precise` like -fno-fast-math.
- * string.c (rb_str_aref): should infect result if range argument
- is tainted. [ruby-dev:27121]
+ * lib/mkmf.rb: icc supports -Werror=division-by-zero
+ and -Werror=deprecated-declarations, but doesn't support
+ -Wdivision-by-zero and -Wdeprecated-declarations.
-Sat Sep 17 08:35:39 2005 Kouhei Sutou <kou@cozmixng.org>
+Tue Apr 12 14:29:01 2016 Kazuki Yamaguchi <k@rhe.jp>
- * lib/rss/maker/base.rb (RSS::Maker::ItemsBase#normalize): fixed
- strange RSS::Maker::Item#max_size behavior.
- Thanks to Kazuhiko <kazuhiko@fdiary.net>.
+ * ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb
+ function rather than OPENSSL_NPN_NEGOTIATED macro. it exists
+ even if it is disabled by OpenSSL configuration.
+ [ruby-core:74384] [Bug #12182]
- * test/rss/test_maker_1.0.rb (RSS::TestMaker10#test_items): ditto.
+ * ext/openssl/ossl_ssl.c: update #ifdef(s) as above.
-Fri Sep 16 23:09:20 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled.
- * ext/win32ole/win32ole.c (ole_search_event_at): bug fix
- in ext/win32ole/sample/ienavi.rb.
+Tue Apr 12 14:27:04 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/win32ole/tests/testOLEEVENT.rb: ditto.
+ * lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example,
+ missing mandatory arguments. [ruby-core:74540] [Bug #12215]
-Fri Sep 16 22:41:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Apr 7 01:07:02 2016 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]
+ * sprintf.c (rb_str_format): fix buffer overflow, length must be
+ greater than precision. reported by William Bowling <will AT
+ wbowling.info>.
- * file.c (rb_file_join): smarter behavior at edge cases.
- fixed: [ruby-core:05706]
+Wed Apr 6 00:33:45 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 16 18:34:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/rubygems/security.rb (DIGEST_ALGORITHM, KEY_ALGORITHM):
+ should check same name as the used constants.
+ [ruby-core:72674] [Bug #11940]
- * 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]
+Mon Apr 4 00:31:51 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 16 14:48:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * compile.c (compile_massign_lhs): when index ends with splat,
+ append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT
+ splats the last argument only. [ruby-core:72777] [Bug #11970]
- * ext/tk/lib/multi-tk.rb: fix typo on MultiTkIp#bg_eval_string
+Sat Apr 2 02:07:29 2016 Seiei Miyagi <hanachin@gmail.com>
-Fri Sep 16 12:02:12 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix
+ Ripper.lex error in dedenting squiggly heredoc. heredoc tree is
+ also an array of Elem in the outer tree. [Fix GH-1234]
- * ext/syck/rubyext.c (syck_resolver_transfer): remove C++ style
- comment (//). [ruby-core:05793]
+Wed Mar 30 02:28:13 2016 Eric Wong <e@80x24.org>
-Fri Sep 16 00:14:14 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * thread_pthread.c (setup_communication_pipe): delay setting owner
+ (rb_thread_create_timer_thread): until thread creation succeeds
+ [ruby-core:72590] [Bug #11922]
- * test/logger/test_logger.rb: unintentionally overwritten changes by
- Usa. reverted.
+Wed Mar 30 02:20:06 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Fri Sep 16 00:06:18 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * localeinit.c (rb_locale_charmap_index): fix prototype.
+ patched by Andreas Schwab [Bug #12218]
- * lib/webrick/cgi.rb (WEBrick::CGI::Socket#initialize): should set
- $stdout.binmode.
+Wed Mar 30 02:20:06 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Thu Sep 15 23:25:21 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * thread_pthread.c (reserve_stack): fix reserving position where
+ the stack growing bottom to top. [Bug #12118]
- * lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.5.
+Wed Mar 30 02:17:33 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- #nnn is a ticket number at http://dev.ctor.org/soap4r
+ * win32/file.c (rb_readlink): drop garbage after the substitute
+ name, as rb_w32_read_reparse_point returns the expected buffer
+ size but "\??\" prefix is dropped from the result.
- * SOAP
+ * win32/win32.c (w32_readlink): ditto, including NUL-terminator.
- * 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(...)
+Wed Mar 30 02:17:33 2016 NAKAMURA Usaku <usa@ruby-lang.org>
- * let SOAP request XML indent space configuable. see
- "soap.envelope.no_indent" option. (#130)
+ * win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume
+ mount point should be treated as directory, not symlink.
+ [ruby-core:72483] [Bug #11874]
- * 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
+ * win32/win32.c (rb_w32_read_reparse_point): check the reparse point is
+ a volume mount point or not.
- * add iso-8859-1 external CES support. (#106)
+ * win32/file.c (rb_readlink): follow above change (but this pass won't
+ be used).
- * fixed illegal 'qualified' handling of elements. it caused
- ASP.NET inteoperability problem. (#144)
+Wed Mar 30 01:32:14 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * 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)
+ * test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoff
+ test to a better one that does not depend on whether the current
+ time is in summer time or not.
- * 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)
+Wed Mar 30 01:32:14 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * out parameter of rpc operation did not work. (#132)
+ * test/-ext-/time/test_new.rb (test_timespec_new): Time#gmtoff values
+ are the same only when both or neither of the Time objects are in
+ summer time (daylight-saving time).
- * follow HTTP redirect only if using http-access2. (#125) (#145)
+Wed Mar 30 01:30:54 2016 Hiroshi Shirosaki <h.shirosaki@gmail.com>
- * add a workaround for importing an WSDL whose path begins with
- drive letter. (#115)
+ * lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path.
+ https://github.com/rubygems/rubygems/pull/1554
+ [Bug #12193][ruby-core:74431]
- * WSDL
+Wed Mar 30 01:25:46 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * SOAP Data which is defined as a simpletype was not mapped
- correctly to Ruby obj when using wsdl2ruby.rb generated classdef
- file. (#123)
+ * string.c (str_new_frozen): if the given string is embeddedable
+ but not embedded, embed a new copied string. [Bug #11946]
- * rpc/literal support. (#118)
+Wed Mar 30 01:23:57 2016 Marcus Stollsteimer <sto.mar@web.de>
- * re-implemented local element qualify/unqualify control. handles
- elementFormDefault and form in WSDL. (#119)
+ * doc/extension.ja.rdoc: Fix RDoc markup in doc/extension*.rdoc.
+ [ci skip][Bug #12143][ruby-core:74143]
+ * doc/extension.rdoc: ditto.
- * Array of an element which has simpleType causes a crash. (#128)
+Wed Mar 30 01:00:30 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * prarmeterOrder may not contain return part so it can be shorter
- than parts size. Thanks to Hugh. (#139)
+ * proc.c (proc_binding): proc from symbol can not make a binding.
+ [ruby-core:74100] [Bug #12137]
- * Samples
+Wed Mar 30 00:54:38 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * added !BasicAuth client sample. (#117)
+ * include/ruby/win32.h (O_SHARE_DELETE): change to fit Fixnum
+ limit. [ruby-core:74285] [Bug #12171]
- * added Base64 client/server sample.
+Wed Mar 30 00:52:47 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * added Flickr SOAP interface client sample. (#122)
+ * test/net/imap/test_imap.rb (test_idle_timeout): Because of the
+ timeout specified in "imap.idle(0.2)", there is no gurantee that
+ the server thread has done all the work before the client thread
+ performs the assertions. It depends on the thread scheduling.
+ Add checks to avoid false positives (on AIX, particularly).
- * added !SalesForce client sample. (#135)
+Wed Mar 30 00:41:42 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * updated Thawte CA certificate for !GoogleAdWords sample.
+ * test/socket/test_socket.rb (test_udp_recvmsg_truncation):
+ AIX does not set the MSG_TRUNC flag for a message partially read
+ by recvmsg(2) with the MSG_PEEK flag set.
- * updated a client script with the newer version made by Johan.
- thanks!
+Wed Mar 30 00:00:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * shortened long file names. (#120)
+ * doc/extension.rdoc, doc/extension.ja.rdoc: add editor local
+ variables, with commenting out by :enddoc: directives which are
+ just ignored unless code object mode. [Bug #12111]
- * fixed typo in authheader sample. (#129)
+Wed Mar 30 00:00:47 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * updated deprecated method usage. (#138)
+ * doc/extension.ja.rdoc: removed rendering error caused by editor specific
+ configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html .
+ [Bug #12111][ruby-core:73990]
-Thu Sep 15 23:02:57 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Mar 29 23:54:31 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.h (rb_w32_stat): added prototype.
+ * object.c (rb_mod_const_get): make error message at uninterned
+ string consistent with symbols. [ruby-dev:49498] [Bug #12089]
-Thu Sep 15 22:35:55 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Mar 29 23:45:24 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_signal.rb (test_exit_action): skip the test using
- fork on fork-less platforms.
+ * dir.c (push_pattern, push_glob): deal with read paths as UTF-8
+ to stat later, on Windows as well as OS X.
+ [ruby-core:73868] [Bug #12081]
-Thu Sep 15 11:39:18 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Mar 29 23:36:49 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,
- TkDialogObj#name raises an exception. [ruby-talk:156109]
+ * ext/extmk.rb: add cygwin case, nothing excluded.
+ [ruby-core:73806] [Bug#12071]
-Thu Sep 15 01:39:19 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue Mar 29 23:10:47 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rinda/tuplespace.rb (Rinda::TemplateEntry::initialize): pull
- up method. Tabs converted to spaces.
+ * iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically
+ generated iseq by eval from GC. [ruby-core:72620] [Bug #11928]
-Thu Sep 15 00:18:24 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Mar 29 22:56:44 2016 Eric Wong <e@80x24.org>
- * lib/net/telnet.rb (Net::Telnet::waitfor): replace sysread with
- readpartial. [ruby-talk:127641]
+ * lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen
+ * test/resolv/test_dns.rb (test_ipv6_create): test for above
+ [Bug #11910] [ruby-core:72559]
-Wed Sep 14 22:40:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Mar 29 22:31:48 2016 Shugo Maeda <shugo@ruby-lang.org>
- * dir.c (ruby_glob): glob function not using ruby exception system.
+ * range.c (range_eqq): revert r11113 because rb_call_super() is
+ called in range_include() and thus r11113 doesn't work when the
+ receiver Range object consists of non linear objects such as Date
+ objects.
+ [ruby-core:72908] [Bug #12003]
-Wed Sep 14 01:26:03 2005 Minero Aoki <aamine@loveruby.net>
+Tue Mar 29 22:26:55 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/https.rb: backported from trunk, rev 1.3.
- [ruby-dev:25673] (again), [ruby-dev:26617] (again),
- [ruby-dev:27062]
+ * vm_eval.c (rb_check_funcall_with_hook): also should call the
+ given hook before returning Qundef when overridden respond_to?
+ method returned false. [ruby-core:73556] [Bug #12030]
- * ext/openssl/lib/net/https.rb: removed.
+Tue Mar 29 22:08:36 2016 Kazuki Yamaguchi <k@rhe.jp>
- * ext/openssl/lib/net/protocols.rb: removed.
+ * compile.c (iseq_peephole_optimize): don't apply tailcall
+ optimization to send/invokesuper instructions with blockiseq.
+ This is a follow-up to the changes in r51903; blockiseq is now
+ the third operand of send/invokesuper instructions.
+ [ruby-core:73413] [Bug #12018]
- * lib/net/http.rb: #use_ssl?, #use_ssl are moved from net/https.
+Tue Mar 29 21:22:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 13 22:09:40 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * parse.y (xstring): reset heredoc indent after dedenting,
+ so that following string literal would not be dedented.
+ [ruby-core:72857] [Bug #11990]
- * 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.
+Tue Mar 29 21:22:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/logger.rb (Logger): added VERSION constant.
+ * parse.y (string1): reset heredoc indent fore each string leteral
+ so that concatenated string would not be dedented.
+ [ruby-core:72857] [Bug #11990]
- * lib/logger.rb: removed document for LogDevice. It is an
- implementation detail and is not a public interface.
+Tue Mar 29 21:18:09 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/logger/test_logger.rb: added tests.
+ * parse.y (parser_here_document): update indent for each line in
+ indented here document with single-quotes.
+ [ruby-core:72479] [Bug #11871]
-Tue Sep 13 21:47:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Mar 29 21:03:40 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (BEGIN_CALLARGS): pop halfly pushed status.
- fixed: [ruby-dev:26881]
+ * symbol.h (is_attrset_id): ASET is an attrset ID. fix
+ unexpected safe call instead of an ordinary ASET.
-Tue Sep 13 16:26:45 2005 Minero Aoki <aamine@loveruby.net>
+Tue Mar 29 21:01:07 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/net/http.rb: backported from trunk, rev 1.128.
- [ruby-dev:25673] [ruby-dev:26617]
+ * doc/syntax/calling_methods.rdoc: fix old operator for safe navigation
+ operator. [ci skip][fix GH-1182] Patch by @dougo
- * lib/net/protocol.rb: backported from trunk, rev 1.78.
+Tue Mar 29 18:49:54 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/protocol.rb: new method #old_open to support net/smtp
- and net/pop.
+ * lib/ostruct.rb (freeze): define deferred accessors before
+ freezing to get rid of an error when just reading frozen
+ OpenStruct.
- * lib/net/smtp.rb: use #old_open.
+Tue Mar 29 18:49:54 2016 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * lib/net/pop.rb: ditto.
+ * lib/ostruct.rb: Fix new_ostruct_member to correctly avoid
+ redefinition [#11901]
-Tue Sep 13 12:33:05 2005 why the lucky stiff <why@ruby-lang.org>
+Tue Mar 29 17:54:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/yaml.rb: reworking YAML::Stream to use the new
- emitter.
+ * lib/ostruct.rb (OpenStruct): make respond_to? working on
+ just-allocated objects for workaround of Psych.
+ [ruby-core:72501] [Bug #11884]
- * lib/yaml/stream.rb: ditto.
+Tue Mar 29 17:04:35 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/yaml/rubytypes.rb: added Object#yaml_new.
+ * vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+"
+ cannot enclose non-identifier characters.
+ a patch by Sebastian S in [ruby-core:74278]. [Bug#12170]
- * 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.
+Tue Mar 29 17:03:28 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * ext/syck/rubyext.c: new emitter code. yaml_new and yaml_initialize
- get called, should they be present. consolidated all the diaspora of internal
- node types into the family below YAML::Syck::Node -- Map,
- Seq, Scalar -- all of whom are SyckNode structs pointing to
- Ruby data. moved Object#yaml_new into the node_import and made it the
- default behavior. the target_class is always called wih yaml_new, prepended
- a parameter, which is the klass. loaded nodes through GenericResolver show their style.
- new Resolver#tagurize converts type ids to taguris.
+ * test/-ext-/float/test_nextafter.rb: In AIX,
+ nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0,
+ but they should return -0.0 and +0.0, respectively. This is
+ a known bug in nextafter(3) on AIX, so skip related tests.
- * ext/syck/implicit.re: were 'y' and 'n' seriously omitted??
+Tue Mar 29 16:54:14 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.)
+ * string.c (enc_succ_alnum_char): try to skip an invalid character
+ gap between GREEK CAPITAL RHO and SIGMA.
+ [ruby-core:74478] [Bug #12204]
- * ext/syck/gram.c: headless documents of any kind allowed.
+Tue Mar 29 16:45:58 2016 Victor Nawothnig <Victor.Nawothnig@gmail.com>
- * 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.
+ * parse.y (parse_numvar): NTH_REF must be less than a half of
+ INT_MAX, as it is left-shifted to be ORed with back-ref flag.
+ [ruby-core:74444] [Bug#12192] [Fix GH-1296]
- * ext/syck/syck.h: reflect block_styles and new node functions.
+Tue Mar 29 16:44:54 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Mon Sep 12 20:53:06 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * enc/trans/JIS: update Unicode's notice. [Bug #11844]
- * 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
+Tue Mar 29 16:41:27 2016 Eric Hodel <drbrain@segment7.net>
-Mon Sep 12 14:03:33 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * marshal.c (r_object0): raise ArgumentError when linking to undefined
+ object.
- * test/dbm/test_dbm.rb: remove locking test, which may not be
- supported on some platforms. [ruby-dev:27030]
+Tue Mar 29 16:41:27 2016 Eric Hodel <drbrain@segment7.net>
-Mon Sep 12 10:45:58 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * marshal.c (r_object0): Fix Marshal crash for corrupt extended object.
- * 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]
+Tue Mar 29 16:40:48 2016 Eric Wong <e@80x24.org>
-Sun Sep 11 22:05:51 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe
+ [ruby-core:73803] [Bug #12069]
- * bin/erb (ERB::Main#run): set ERB#filename so that it is used
- when reporting syntax/runtime errors. Tabs converted to spaces.
+Tue Mar 29 16:29:44 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Sat Sep 10 10:17:03 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * insns.def (opt_mod): show its method name on ZeroDivisionError.
+ [Bug #12158]
- * 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.
+Tue Mar 29 16:25:27 2016 Anthony Dmitriyev <antstorm@gmail.com>
- 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
+ * net/ftp.rb: add NullSocket#closed? to fix closing not opened
+ connection. [Fix GH-1232]
- * ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method
- OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.
+Tue Mar 29 16:12:08 2016 Koichi ITO <koic.ito@gmail.com>
- * ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method
- OpenSSL::Engine#cmds. it returms engine command definitions.
+ * variable.c: Added documentation about order of `Module#constants`
+ [ci skip][Bug #12121][ruby-dev:49505][fix GH-1301]
-Sat Sep 10 10:09:47 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Mar 29 16:02:26 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * ext/openssl/ossl_asn1.c (asn1str_to_str): new function.
+ * test/ruby/test_process.rb (test_execopts_gid): Skip a test
+ that is known to fail on AIX. AIX allows setgid to
+ a supplementary group, but Ruby does not allow the "-e"
+ option when setgid'ed, so the test does not work as intended.
- * ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.
- this class wraps PKCS7_RECIP_INFO struct.
+Tue Mar 29 15:58:18 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to
- OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of
- SignerInfo.)
+ * test/socket/test_addrinfo.rb (test_ipv6_address_predicates):
+ IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken
+ on AIX, so skip related tests.
- * test/openssl/test_pkcs7.rb: new file.
+Tue Mar 29 15:31:06 2016 Rei Odaira <Rei.Odaira@gmail.com>
-Sat Sep 10 10:05:51 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast):
+ The fifth argument to getsockopt(2) should be modified to
+ indicate the actual size of the value on return,
+ but not in AIX. This is a know bug. Skip related tests.
+ * test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast):
+ ditto.
+ * test/rinda/test_rinda.rb (test_make_socket_unicast): ditto.
+ * test/socket/test_basicsocket.rb (test_getsockopt): ditto.
+ * test/socket/test_sockopt.rb (test_bool): ditto.
- * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): assume that
- the argument is a DER string if Base64 decoding failed.
+Tue Mar 29 15:27:14 2016 Rei Odaira <Rei.Odaira@gmail.com>
- * ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.
+ * test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine):
+ Skip two tests on AIX because zconf.h in zlib does not correctly
+ recognize _LARGE_FILES in AIX. The problem was already reported
+ to zlib, and skip these tests until it is fixed.
- * test/openssl/test_ns_spki.rb: add new file.
+Tue Mar 29 15:10:31 2016 Rei Odaira <Rei.Odaira@gmail.com>
-Sat Sep 10 09:56:24 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * thread_pthread.c (getstack): __pi_stacksize returned by
+ pthread_getthrds_np() is wrong on AIX. Use
+ __pi_stackend - __pi_stackaddr instead.
- * 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.
+Tue Mar 29 15:10:05 2016 Alex Boyd <alex@opengroove.org>
- * test/openssl/test_digest.rb: add test for new digests.
+ * lib/irb.rb: avoid to needless truncation when using back_trace_limit option.
+ [fix GH-1205][ruby-core:72773][Bug #11969]
-Sat Sep 10 09:51:30 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Mar 29 15:05:16 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * ext/openssl/ossl.c (ossl_raise): should use ERR_peek_last_error
- to get last error on the current thread. And should report
- errors on the stack while OpenSSL.debug is true.
+ * ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo.
+ [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda.
- * 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.
+Tue Mar 29 15:05:02 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid
- of unused variable.
+ * ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo.
+ [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda.
- * 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.
+Tue Mar 29 15:04:42 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * test/openssl/test_x509store.rb: add test for errors.
+ * ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo.
+ [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda.
-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.
+Tue Mar 29 15:04:19 2016 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
-Fri Sep 9 16:45:25 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505]
+ [Bug #11886] The patch provided by Akira Matsuda.
- * string.c (rb_str_times): make empty strings to keep taintness,
- and a little improvement. [ruby-dev:26900]
+ * ext/tk/sample/*.rb: ditto.
- * ext/iconv/iconv.c (iconv_try), ext/iconv/extconf.rb: get rid of meta
- characters in command line option. fixed: [ruby-talk:155369]
+Tue Mar 29 15:03:03 2016 Kenta Murata <mrkn@mrkn.jp>
-Thu Sep 8 14:58:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
+ and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++.
+ [ruby-core:72736] [Bug #11962]
- * merged a patch from Takahiro Kambe <taca at back-street.net> to
- support DragonFly BSD. [ruby-dev:26984]
+Tue Mar 29 14:58:56 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 7 12:55:08 2005 Tanaka Akira <akr@m17n.org>
+ * ext/socket/option.c (inspect_tcpi_msec): more accurate condition
+ for TCPI msec member inspection function.
+ [ruby-core:74388] [Bug #12185]
- * lib/open-uri.rb: abolish mod === tempfile to avoid a problem
- [ruby-dev:26967].
+Tue Mar 29 14:53:58 2016 Naotoshi Seo <sonots@gmail.com>
-Wed Sep 7 10:45:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/logger.rb: Remove block from Logger.add as it's not needed
+ patch provided by Daniel Lobato Garcia [fix GH-1240] [Bug #12054]
- * eval.c (rb_thread_switch): convert all exceptions to
- SystemExit. fixed: [ruby-core:05724]
+Tue Mar 29 14:52:20 2016 Zachary Scott <zzak@ruby-lang.org>
- * eval.c (rb_thread_terminated): show backtrace before propagate
- exceptions to main thread.
+ * re.c: Remove deprecated kcode argument from Regexp.new and compile
+ patch provided by Dylan Pulliam [Bug #11495]
-Wed Sep 7 08:35:04 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Mar 29 14:44:02 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load
- extension libraries.
+ * ext/socket/socket.c (sock_gethostname): support unlimited size
+ hostname.
- * bignum.c (bignew_1, bigadd): K&R style argument actually can't be
- defined as char.
+Tue Mar 29 14:35:06 2016 Kouhei Sutou <kou@cozmixng.org>
- * missing/vsnprintf.c: ANSI compiler supports const keyword.
+ * lib/xmlrpc/client.rb: Support SSL options in async methods of
+ XMLRPC::Client.
+ [Bug #11489]
+ Reported by Aleksandar Kostadinov. Thanks!!!
- * ext/digest/sha2/extconf.rb: reject platforms which has inttypes.h
- but no 64bit integer.
+Tue Mar 29 14:22:57 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/mkmf.rb (what_type?): guesstimate type.
+ * marshal.c (r_object0): honor Marshal.load post proc
+ value for TYPE_LINK. by Hiroshi Nakamura <nahi@ruby-lang.org>
+ https://github.com/ruby/ruby/pull/1204 fix GH-1204
- * ext/etc/etc.c (setup_passwd), ext/etc/extconf.rb: pw_age might be
- char*. fixed: [ruby-core:05470]
+Tue Mar 29 14:18:26 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Wed Sep 7 08:32:47 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * .travis.yml: removed commented-out code.
- * 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]
+Tue Mar 29 14:18:26 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * sprintf.c (rb_f_sprintf): warn "too many argument" on verbose
- mode (-v/-w); backported from 1.9. [ruby-dev:26963]
+ * .travis.yml: removed osx code. follow up with r53517
-Mon Sep 5 17:03:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Mar 29 14:12:22 2016 Nobuyoshi Nakada <nobu@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]
+ * ext/socket/option.c (sockopt_bool): relax boolean size to be one
+ too not only sizeof(int). Winsock getsockopt() returns a single
+ byte as a boolean socket option. [ruby-core:72730] [Bug #11958]
-Mon Sep 5 07:01:12 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Mar 29 14:12:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/openssl/lib/openssl/buffering.rb (Buffering#do_write):
- should clear data from the buffer which already been output.
+ * ext/socket/option.c (check_size): extract a macro to check
+ binary data size, with a consistent message.
-Fri Sep 2 23:51:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/option.c (sockopt_byte): fix error message,
+ sizeof(int) differs from sizeof(unsigned char) in general.
- * lib: do not use __send__ to access private methods. [ruby-dev:26935]
+Tue Mar 29 14:01:14 2016 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Sep 2 03:29:00 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
+ * process.c (rb_execarg_parent_start1): need to convert the encoding to
+ ospath's one.
- * lib/irb/init.rb: make IRB -I option that is same befavior for ruby.
- [ruby-dev:26872], [ruby-dev: 26920]
+Tue Mar 29 14:01:14 2016 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/irb/locale.rb: support to print help message when OS locale is
- ja_JP.utf-8. [ruby-dev:26872]
+ * process.c: use rb_w32_uchdir() instead of plain chdir() on Windows.
+ reported by naruse via twitter.
-Thu Sep 1 17:11:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * process.c (rb_execarg_addopt): need to convert the encoding to
+ ospath's one.
- * eval.c (rb_call0): wrong condition for $SAFE restoration.
+Tue Mar 29 13:56:36 2016 Eric Wong <e@80x24.org>
-Thu Sep 1 14:12:45 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/stringio/stringio.c (strio_binmode): implement to set encoding
+ * test/stringio/test_stringio.rb (test_binmode): new test
+ [ruby-core:72699] [Bug #11945]
- * ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't
- work (gives wrong order of arguments).
+Tue Mar 29 13:50:30 2016 Eric Wong <e@80x24.org>
- * ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace
- to support '-namespace' option of 'interp invokehidden' command
- on Tcl8.5.
+ * io.c (io_getpartial): remove unused kwarg from template
+ * test/ruby/test_io.rb (test_readpartial_bad_args): new
+ [Bug #11885]
-Wed Aug 31 14:43:15 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Mar 29 13:41:03 2016 Tadashi Saito <tad.a.digger@gmail.com>
- * win32/Makefile.sub (OPTFLAGS): default global optimization to
- disabled for all VC++ versions. fixed: [ruby-dev:26897]
+ * compile.c, cont.c, doc, man: fix common misspelling.
+ [ruby-core:72466] [Bug #11870]
-Wed Aug 31 11:35:43 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue Mar 29 13:31:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/gdbm/test_gdbm.rb (teardown): should remove GDBM temporary
- file.
+ * parse.y (regexp): set_yylval_num sets u1, should use nd_tag
+ instead of nd_state. [ruby-core:72638] [Bug #11932]
-Wed Aug 31 10:30:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Mar 29 13:31:34 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (proc_detach, proc_setmaxgroups): missing argument type
- declaration. (I recommend ANSI-style function)
+ * parse.y (set_yylval_num): should be used as nd_state, set to u3.
+ [ruby-core:72638] [Bug #11932]
-Tue Aug 30 23:20:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Mar 29 13:26:15 2016 Joseph Tibbertsma <josephtibbertsma@gmail.com>
- * eval.c (rb_rescue2): initialization miss. fixed: [ruby-dev:26917]
+ * gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name.
+ [Fix GH-1221]
- * lib/mkmf.rb (xsystem, xpopen): no longer expand by Config.
+Thu Jan 21 16:39:55 2016 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/mkmf.rb (link_command, cc_command, cpp_command): expand
- variables at once, and quote hdrdir. fixed: [ruby-core:05680]
+ * Makefile.in (update-rubyspec): fix r53208 like r53451.
- * lib/mkmf.rb (libpathflag): quote paths.
+Fri Jan 15 00:05:57 2016 NARUSE, Yui <naruse@ruby-lang.org>
-Tue Aug 30 19:34:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/uri/generic.rb (URI::Generic#to_s): change encoding to
+ UTF-8 as Ruby 2.2/ by Koichi ITO <koic.ito@gmail.com>
+ https://github.com/ruby/ruby/pull/1188 fix GH-1188
- * 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]
+Tue Jan 12 17:23:39 2016 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Aug 29 19:54:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * process.c (rb_execarg_parent_start1): need to convert the encoding to
+ ospath's one.
- * lib/rdoc/usage.rb: improper exceptions. [ruby-dev:26870]
+Tue Jan 12 17:23:39 2016 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/rdoc/usage.rb: support the case when non-ruby code exists before
- shebang. (this is needed when ri.bat is executed on windows)
+ * process.c: use rb_w32_uchdir() instead of plain chdir() on Windows.
+ reported by naruse via twitter.
-Mon Aug 29 17:48:17 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * process.c (rb_execarg_addopt): need to convert the encoding to
+ ospath's one.
- * eval.c (method_arity): should return proper arity value.
- [ruby-dev:26390]
+Tue Jan 12 15:21:00 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Aug 29 01:19:57 2005 Tanaka Akira <akr@m17n.org>
+ * include/ruby/missing.h (explicit_bzero_by_memset_s): remove
+ inline implementation by memset_s, which needs a macro before
+ including headers and can cause problems in extension libraries
+ by the order of the macro and headers.
- * lib/time.rb (Time.parse): extract fractional seconds using
- Date._parse. [ruby-talk:153859]
+Thu Dec 24 23:01:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sat Aug 27 20:20:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * NEWS: added entry for CGI.escapeHTML optimization.
- * ext/curses/curses.c ({curses,window}_clrtoeol): added. suggested
- by Reyn Vlietstra.
+Thu Dec 24 18:43:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/curses/curses.c: chtype in curses is not `char', rahter `long'.
- [ruby-Bugs:2298]
+ * error.c (rb_compile_error_with_enc, rb_compile_error),
+ (rb_compile_bug): deprecate internal functions.
- * ext/curses/view.rb: String =~ String is deprecated.
+ * parse.y (parser_yyerror): construct exception message with
+ source code and caret.
-Wed Aug 24 10:53:28 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Dec 24 17:25:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/logger/test_logger.rb (test_shifting_size): should close log
- device before unlink, since some platform cannot unlink opened
- file.
+ * compile.c (append_compile_error), parse.y (compile_error):
+ preserve encoding of source file name in exceptions.
-Sun Aug 21 00:13:27 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * error.c (rb_compile_error_str, rb_compile_bug_str): add.
- * 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]
+Thu Dec 24 16:17:47 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Sat Aug 20 22:37:13 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * common.mk (fake.rb): $(arch)-fake.rb must depend on miniruby because
+ it may depend on miniruby.
- * lib/logger.rb (write, shift_log?, shift_log): file shifting race
- condition bug fixed. [ruby-dev:26764]
+Thu Dec 24 16:13:05 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * test/logger/test_logger.rb: tests.
+ * common.mk (ripper.c): r50045 wrongly replace $(PWD) with ../..
+ It is the top of build directory, not topsrcdir.
-Fri Aug 19 18:13:39 2005 Tanaka Akira <akr@m17n.org>
+Thu Dec 24 15:02:42 2015 sorah (Shota Fukumori) <her@sorah.jp>
- * lib/time.rb (Time.apply_offset): fix a problem with last day of
- month. reported by Lucas Nussbaum. [ruby-talk:152866]
+ * tool/vcs.rb (IO.popen): Refactor. Avoid assigning in condition.
-Thu Aug 18 12:46:28 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Thu Dec 24 15:01:38 2015 sorah (Shota Fukumori) <her@sorah.jp>
- * bcc32/Makefile.sub (COMMON_HEADERS): reverted 1.42.2.24.
- I misunderstood, bccwin32 on ruby_1_8 uses winsock2 originally.
- [ruby-dev:26806]
+ * tool/file2lastrev.rb: Fix ArgumentError to work on Ruby 1.8.7.
- * win32/win32.h: include winsock2.h instead of winsock.h. (bcc32)
+Thu Dec 24 14:44:08 2015 sorah (Shota Fukumori) <her@sorah.jp>
-Wed Aug 17 23:58:05 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * tool/vcs.rb (IO.popen): Enable on Ruby 1.9 where chdir option is not
+ supported on IO.popen
- * object.c (rb_to_integer): argument constified.
+ * tool/vcs.rb (IO.popen): Fix NoMethodError. I guess r49705 was not
+ tested... :/
- * eval.c (terminate_process): take String message.
+Thu Dec 24 14:57:03 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_thread_switch): propagate the exception caused thread
- termination directly. fixed: [ruby-core:05552]
+ * NEWS: rename
+ "Implementation changes" section to
+ "Supported platform changes" section.
-Wed Aug 17 00:05:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * NEWS: add "Implementation improvements" and add several entries.
- * eval.c (rb_add_method): preserve safe level in the environment
- where a method is defined .
+ * NEWS: add NEWS entries by Eric Wong. [ruby-core:72450]
- * eval.c (rb_call0): restore preserved safe level in the method
- execution.
+Thu Dec 24 00:26:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Aug 15 00:38:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/io/console/extconf.rb: fix gem build failure on Windows.
+ only win32_vk.inc is included in the gem and no dependencies for
+ the header, so that gperf will not be mandatory.
+ [ruby-core:72453] [Bug #11866]
- * eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE.
- [ruby-dev:26800]
+ * ext/io/console/io-console.gemspec: include depend file and
+ win32_vk header.
- * range.c (range_check, range_init): reduce useless exceptions.
+Wed Dec 23 23:58:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 13 18:51:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (rb_readwrite_syserr_fail): works with the given errno than
+ thread local errno.
- * eval.c (rb_block_pass): distinguish current block from others.
- fixed: [ruby-dev:26274]
+Wed Dec 23 17:57:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/stringio/stringio.c (strio_set_string): disallow nil.
- http://www.rubyist.net/~nobu/t/20050811.html#c05
+ * file.c, io.c, util.c: prefer rb_syserr_fail with saved errno
+ over setting errno then call rb_sys_fail, not to be clobbered
+ potentially and to reduce thread local errno accesses.
-Thu Aug 11 23:29:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 23 11:58:52 2015 Yuichiro Kaneko <yui-knk@ruby-lang.org>
- * ext/stringio/stringio.c: keep holding string after closed.
+ * string.c: Fix document. Default value of the first
+ argument of `String#split` is not `$;` but `nil`.
+ When `nil` is passed as first argument, `$;` is used.
+ [ci skip] [Bug #11729] [ruby-dev:49378]
-Thu Aug 11 13:01:48 2005 Kouhei Sutou <kou@cozmixng.org>
+Wed Dec 23 07:15:17 2015 Eric Wong <e@80x24.org>
- * lib/rss: fixed sort bug. [ruby-list:41018]
+ * ext/socket/init.c (rsock_init_sock): reject reserved FDs
+ [ruby-core:72445] [Bug #11862]
- * lib/rss/1.0.rb (RSS::RDF::Channel#setup_maker_attributes):
- removed self.
+Wed Dec 23 02:59:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rss/maker/base.rb (RSS::Maker::ItemsBase#<=>): use #date
- instead of @date.
- (RSS::Maker::Base::self.def_array_element): added #size.
+ * configure.in (__STDC_WANT_LIB_EXT1__): necessary to use memset_s
+ in strict C99 mode.
- * 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.
+Wed Dec 23 02:34:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rss/maker/dublincore.rb
- (RSS::Maker::ChannelBase, RSS::Maker::ItemsBase::ItemBase):
- fixed opposite alias.
+ * regexec.c (match_at): move direct threaded VM code to get rid of
+ mixed declarations and code, and enable it only for gcc since it
+ depends on a gcc extension.
- * 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 Dec 23 02:23:19 2015 Yuki Nishijima <mail@yukinishijima.net>
-Wed Aug 10 10:29:40 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0
- * ext/tk/lib/tk.rb: fix bug on handling __ruby2val_optkeys().
+ * NEWS: Add news about the did_you_mean gem
- * ext/tk/lib/tk/itemconfig.rb: fix bug on handling
- __item_ruby2val_optkeys().
+Wed Dec 23 02:18:57 2015 Jake Worth <jakeworth82@gmail.com>
- * ext/tk/lib/tk/canvas.rb: didn't check __item_ruby2val_optkeys().
+ * doc/contributing.rdoc: [DOC] remove an extra word "here".
+ [Fix GH-1169]
- * ext/tk/lib/tkextlib/blt/component.rb: ditto.
+Wed Dec 23 01:58:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 9 15:12:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * regexec.c (USE_DIRECT_THREADED_VM): enable direct threaded VM by
+ the default.
- * ext/tcltklib/tcltklib.c: remove dangerous 'rb_jump_tag's.
+Tue Dec 22 22:15:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to
- help to convert option values between ruby and tcl.
+ * gc.c (internal_object_p): should not expose singleton classes
+ without a metaclass. based on patches by ko1 and shugo.
+ [Bug #11740]
- * ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and
- __item_ruby2val_optkeys to help to convert option values between
- ruby and tcl.
+ * class.c (rb_singleton_class_object_p): added.
- * ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'
- option (for the reason of backward compatibility).
+Tue Dec 22 22:15:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/composite.rb: clarify the arguments of super().
+ * ext/io/console/io-console.gemspec: bump up to 0.4.4.
- * ext/tk/lib/tk/spinbox.rb: ditto.
+Tue Dec 22 22:11:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tk/text.rb: ditto.
+ * NEWS: Added news entry of Psych 2.0.17
- * ext/tk/lib/tk/validation.rb: ditto.
+Tue Dec 22 22:09:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tkextlib/*: support to treat tkvariable-type
- configure options.
+ * NEWS: Added news entry of RDoc 4.2.1
-Tue Aug 9 20:30:19 2005 Tadashi Saito <shiba@mail2.accsnet.ne.jp>
+Tue Dec 22 21:20:00 2015 Kenta Murata <mrkn@mrkn.jp>
- * bignum.c (rb_big_coerce): allow bignum x bignum coercing.
- [ruby-dev:26778]
+ * ext/bigdecimal/bigdecimal.gemspec: bump version to 1.2.8.
-Mon Aug 8 20:43:02 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Tue Dec 22 21:08:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * test/ruby/test_method.rb: added. [ruby-dev:26761]
+ * lib/rdoc.rb: bump version to 4.2.1. It contains following fixes.
+ https://github.com/rdoc/rdoc/pull/340
+ https://github.com/rdoc/rdoc/pull/341
+ https://github.com/rdoc/rdoc/pull/367
+ https://github.com/rdoc/rdoc/pull/368
+ * lib/rdoc/*: ditto.
+ * test/rdoc/*: ditto.
-Sun Aug 7 23:50:14 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Tue Dec 22 20:25:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * test/ruby/test_super.rb: added from HEAD. [ruby-dev:26743]
+ * ext/psych/lib/psych.rb: bump version to 2.0.17
+ * ext/psych/psych.gemspec: ditto.
-Sun Aug 7 01:31:15 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Tue Dec 22 20:14:47 2015 Koichi Sasada <ko1@atdot.net>
- * ext/win32ole/win32ole.c (WIN32OLE_EVENT#on_event): should set
- only one event handler.
+ * vm_insnhelper.c: move vm_callee_setup_block_arg() (and related
+ functions) to the latter location.
+ This moving recovers performance a little.
+ [Bug #11829]
- * ext/win32ole/tests/testOLEEVENT.rb: ditto.
+Tue Dec 22 15:21:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/tests/testOLEPARAM.rb: remove re-defined
- test_ole_type_detail method.
+ * string.c (str_compat_and_valid): as scrub does nothing for dummy
+ encoding string now, incompatible encoding is not a matter.
-Sat Aug 6 12:35:24 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Dec 22 14:31:28 2015 Toru Iwase <tietew@tietew.net>
- * ext/tk/lib/{tk.rb,tk/itemconfig.rb}: configure creates
- TkVariable if key name is 'variable' or 'textvariable'
- by default. [ruby-dev:26749]
+ * ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML
+ should return unfrozen new string.
+ [ruby-core:72426] [Bug #11858]
- * ext/tk/lib/tk/{label,radiobutton}.rb: removed its own
- {variable,textvariable} function.
+Tue Dec 22 05:39:58 2015 Takashi Kokubun <takashikkbn@gmail.com>
- * ext/tk/lib/tk/variable.rb: retains backward conpatibility.
+ * ext/cgi/escape/escape.c (preserve_original_state): Preserve
+ original state for tainted and frozen. [Fix GH-1166]
+ [ruby-dev:49451] [Bug #11855]
-Fri Aug 5 12:50:32 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Dec 22 03:57:20 2015 Eric Wong <e@80x24.org>
- * ext/tcltklib/tcltklib.c: fixed memory leak when tk_funcall raised
- exception. (copies argv into heap in tk_funcall instead of
- caller)
+ * ext/socket/init.c (rsock_init_sock): check FD after validating
+ * test/socket/test_basicsocket.rb (test_for_fd): new
+ [ruby-core:72418] [Bug #11854]
-Fri Aug 5 12:42:57 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Dec 21 21:29:45 2015 Naohisa Goto <ngotogenome@gmail.com>
- * lib/mkmf.rb (create_makefile): need to convert path separetor
- before invoking install command.
+ * variable.c (struct ivar_update): rename "extended" to "iv_extended"
+ to avoid name conflict with /usr/include/floatingpoint.h on
+ Solaris. [Bug #11853] [ruby-dev:49448]
-Fri Aug 5 00:27:04 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Mon Dec 21 12:15:32 2015 Kimura Wataru <kimuraw@i.nifty.jp>
- * ext/tcltklib/tcltklib.c: refactoring - extract ruby string <->
- tcl object conversion as get_str_from_obj and get_obj_from_str.
+ * test/ruby/test_io.rb: handled rlimit value same as r52277
+ [Bug #11852][ruby-dev:49446]
-Fri Aug 5 00:19:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Dec 21 10:21:22 2015 Ilya Vassilevsky <vassilevsky@gmail.com>
- * extmk.rb (extmake): needs to be wrapped in an Array.
+ * lib/net/http.rb (open_timeout): update default value in RDoc
+ [ruby-core:72413]
-Thu Aug 4 18:38:36 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Mon Dec 21 10:18:46 2015 Kazuki Yamaguchi <k@rhe.jp>
- * ext/tcltklib/tcltklib.c: cannot compile for Tcl7.6/Tk4.2.
+ * vm_backtrace.c (rb_profile_frames): ignore ifunc frames as it
+ did before. [ruby-core:72409] [Bug #11851]
- * ext/tcltklib/tcltklib.c: add nativethread consistency check.
+Mon Dec 21 09:33:17 2015 Karol Bucek <kares@users.noreply.github.com>
- * ext/tcltklib/stubs.c: ditto.
+ * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket): fix
+ NotImplementedError typo. [Fix GH-1165]
- * ext/tk/lib/tk.rb: forgot to define TclTkIp.encoding and encoding=
- when Tcl is 7.6 or 8.0.
+Sun Dec 20 20:54:51 2015 Takashi Kokubun <takashikkbn@gmail.com>
- * ext/tk/lib/tk/wm.rb: support to make some methods as options of
- root or toplevel widget. [ruby-talk:150336]
+ * cgi/escape/escape.c: Optimize CGI.escapeHTML for
+ ASCII-compatible encodings. [Fix GH-1164]
- * ext/tk/lib/tk/root.rb: ditto.
+Sun Dec 20 15:36:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tk/toplevel.rb: ditto.
+ * lib/erb.rb: revert r53123. It breaks compatibility like thor and
+ rspec-rails.
+ We should try with Ruby 2.4 or 3.0.
+ [Bug #11842][ruby-core:72374]
+ * lib/rdoc/erb_partial.rb: ditto.
+ * template/verconf.h.tmpl: ditto.
- * ext/tk/lib/tkextlib/SUPPRT_STATUS: update RELEASE_DATE
+Sun Dec 20 11:43:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 4 08:03:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (parser_yylex): allow here documents in labeled
+ argument. [ruby-core:72396] [Bug #11849]
- * ext/extmk.rb (extmake): should not modify $mflags for each
- extentions.
+Sun Dec 20 11:14:11 2015 Koichi Sasada <ko1@atdot.net>
-Thu Aug 4 00:25:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * proc.c (rb_mod_define_method): should check Symbol or not.
+ [Bug #11850]
- * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated
- macro definitions.
+ * test/ruby/test_method.rb: add a test.
- * bcc32/Makefile.sub: LIBRUBY_SO should use DLDOBJS, not EXTOBJS.
+Sun Dec 20 11:01:57 2015 Koichi Sasada <ko1@atdot.net>
- * {win32,wince}/Makefile.sub: separate config.h for compiler versions.
+ * proc.c (rb_mod_define_method): fix notation.
-Wed Aug 3 21:59:16 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Dec 20 10:54:15 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/variable.rb: TkVariable#trace didn't work on
- TkVariable retrived from TkVariable.new_hash.ref. [ruby-dev:26721]
+ * proc.c (proc_new): fix notation.
-Wed Aug 3 08:22:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Dec 20 00:29:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (ruby_connect): revert [ruby-talk:111654]
- changes at 2004-09-07. [ruby-dev:26656]
+ * proc.c (rb_proc_get_iseq): proc made from symbol does not have
+ iseq. fix infinite loop. [ruby-core:72381] [Bug #11845]
-Tue Aug 2 10:20:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Dec 19 20:06:10 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/tcltklib/tcltklib.c: use Tcl_[GS]etVar2Ex instead of
- Tcl_Obj[GS]etVar2. (avoid Tcl_NewStringObj on supported platforms)
+ * enc/windows_1250.c: Should not use C++ style comments (C99 feature).
+ [Bug #11843]
- * ext/tcltklib/tcltklib.c: use ip_{get,set,unset}_variable2_core from
- ip_{get,set,unset}_variable.
+Sat Dec 19 17:17:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: replaced Tcl_Panic with rb_bug.
+ * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):
+ use WEBrick::Utils::TimeoutHandler::Thread, which is ignored by
+ LeakChecker#find_threads, instead of ::Thread to get rid of
+ thread leak checker. since this TimeoutHandler is resident
+ during tests because of Singleton, it waits for the next timeout
+ if it has any schedules. in the case of nested timeouts, inner
+ timeout does not cancel outer timeouts and then those schedules
+ still remain.
-Tue Aug 2 01:41:28 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sat Dec 19 14:28:01 2015 Jake Worth <jakeworth82@gmail.com>
- * lib/ping.rb (Ping.pingecho): should rescue StandardError.
- [ruby-dev:26677]
+ * ext/zlib/zlib.c (Init_zlib): [DOC] Fix double-word typo and
+ grammatical error. [Fix GH-1162]
-Mon Aug 1 19:09:41 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Dec 19 14:23:59 2015 Jake Worth <jakeworth82@gmail.com>
- * ext/tcltklib/tcltklib.c: refactoring - replaced rb_ivar_defined &
- rb_ivar_get with single rb_attr_get call.
+ * lib/csv.rb (CSV#initialize): [DOC] Fix double-word typo.
+ [Fix GH-1161]
-Mon Aug 1 18:45:07 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Dec 19 10:33:33 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * ext/tcltklib/tcltklib.c (Tcl_GetStringResult): refactoring - define
- alternative macro on Tcl7.x or earlier.
+ * enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250
+ from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui)
-Mon Aug 1 13:57:35 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Fri Dec 18 21:26:54 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/tcltklib/tcltklib.c (deleted_ip): refactoring - interpreter
- deletion check. [ruby-dev:26664]
+ * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): To prevent
+ potential deadlocks, Queue is used to tell update of @timeout_info
+ instead of sleep and wakeup. [Bug #11742] [ruby-dev:49387]
-Mon Aug 1 01:17:40 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Fri Dec 18 17:24:09 2015 Koichi Sasada <ko1@atdot.net>
- * lib/drb/drb.rb (check_insecure_method): use private_methods and
- protected_methods instead of respond_to? to check method visibility.
- [ruby-dev:26616]
+ * compile.c (ibf_load_object_string): use fstring if frozen string.
- * test/drb/drbtest.rb: ditto.
+Fri Dec 18 16:54:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/drb/ut_drb.rb: ditto.
+ * ext/stringio/stringio.c (strio_set_encoding): add StringIO's own
+ encoding and separate it from the buffer string to override the
+ encoding of string when reading. [ruby-core:72189] [Bug #11827]
+ note that setting the encoding of its buffer string directly
+ without StringIO#set_encoding may cause unpredictable behavior.
-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 Dec 18 16:50:35 2015 Koichi Sasada <ko1@atdot.net>
-Fri Jul 29 09:59:38 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (ibf_load_setup): check tainted string argument.
- * eval.c (rb_yield_0): push yielded node instead of yielding.
- fixed: [yarv-dev:549]
+Fri Dec 18 16:12:13 2015 Koichi Sasada <ko1@atdot.net>
-Thu Jul 28 18:09:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_core.h: define USE_LAZY_LOAD if it is not defined.
- * 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.
+Fri Dec 18 15:40:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/stubs.h: New file. Define prototypes and return
- codes of functions on stubs.c.
+ * ext/stringio/stringio.c (strio_unget_bytes): extract from
+ strio_ungetbyte to share with strio_ungetc.
- * ext/tcltklib/tcltklib.c: Support delaying initalization of
- Tk_Stubs until the script needs Tk.
+Fri Dec 18 12:39:42 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: Show friendly error messages for errors
- on initialization.
+ * doc/syntax/*.rdoc: separated modifier at sentence.
+ [ci skip][fix GH-1121] Patch by @clandry94
- * 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.)
+Fri Dec 18 12:09:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/tkutil.c (ary2list, ary2list2): bug fix on handling of
- encoding.
+ * ext/stringio/stringio.c (strio_ungetbyte): pad with \000 when
+ the current position is after the end.
- * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string
- don't work propery.
+Fri Dec 18 11:24:48 2015 Shugo Maeda <shugo@ruby-lang.org>
- * 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.
+ * vm_method.c (rb_method_entry_make, check_override_opt_method):
+ should check whether a newly created method overrides an optimize
+ method in case the method is defined in a prepended module of a
+ built-in class.
+ [ruby-core:72226] [Bug #11836]
-Wed Jul 27 23:23:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Dec 18 11:09:38 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * gc.c (obj_free): make message format consistent with one from
- gc_mark(). [ruby-talk:149668]
+ * vm.c (vm_exec): call RUBY_DTRACE_CMETHOD_RETURN_HOOK instead of
+ RUBY_DTRACE_METHOD_RETURN_HOOK.
-Wed Jul 27 22:11:37 2005 Kouhei Sutou <kou@cozmixng.org>
+Fri Dec 18 10:24:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * sample/rss/tdiary_plugin: removed. because the plugin
- is imported in the tDiary plugin packages.
+ * lib/irb/ruby-lex.rb: fixed parse error for striped heredocument syntax.
+ [fix GH-1127] Patch by @koic
-Wed Jul 27 10:59:02 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Dec 18 09:44:47 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * dir.c (dir_each): rewinddir(3) before iteration.
- [ruby-talk:149628]
+ * ext/pty/pty.c: fix double words typo.
+ [ci skip][fix GH-1157] Patch by @jwworth
-Tue Jul 26 12:57:49 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Dec 18 09:42:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.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.
+ * ext/nkf/nkf-utf8/utf8tbl.c: fix a typo.
+ [ci skip][fix GH-1159] Patch by @akshay-vishnoi
+ * ext/nkf/nkf-utf8/utf8tbl.h: ditto.
-Mon Jul 25 21:30:46 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Dec 18 07:39:01 2015 Shugo Maeda <shugo@ruby-lang.org>
- * {bcc32,win32,wince}/Makefile.sub: moved CPPFLAGS only for ruby
- source to XCFLAGS.
+ * vm.c (rb_vm_check_redefinition_opt_method): should check the real
+ class instead of the origin iclass.
+ [ruby-core:72188] [Bug #11826]
-Mon Jul 25 13:45:18 2005 NAJIMA Hiroki <najima@mickey.ai.kyutech.ac.jp>
+Thu Dec 17 22:13:10 2015 Shugo Maeda <shugo@ruby-lang.org>
- * io.c: check HAVE_SYS_IOCTL_H before including the header.
- [ruby-dev:26610]
+ * vm_args.c (vm_caller_setup_arg_block): remove code for ifunc
+ because it was made unnecessary by r52138.
-Mon Jul 25 14:10:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Dec 17 16:13:10 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: fix en-bugged part in the last commit.
+ * proc.c (rb_block_arity): should not call GetProcPtr() for symbols.
+ [ruby-core:72205] [Bug #11830]
-Sat Jul 23 16:49:04 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Thu Dec 17 14:16:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_engine.c (ossl_engine_s_load): should check
- OPENSSL_NO_STATIC_ENGINE.
+ * string.c (rb_str_scrub): the result should be infected by the
+ original string.
-Fri Jul 22 21:06:08 2005 Tadashi Saito <shiba@mail2.accsnet.ne.jp>
+Thu Dec 17 13:35:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bignum.c (rb_big_eq): reduce isnan(). [ruby-dev:26600]
+ * transcode.c (rb_econv_substr_append, econv_primitive_convert):
+ the result should be infected by the original string.
- * numeric.c (flo_eq, flo_gt, flo_ge, flo_lt, flo_le): ditto.
+Thu Dec 17 09:46:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jul 22 15:02:39 2005 Kouhei Sutou <kou@cozmixng.org>
+ * re.c (reg_names_iter): should consider encoding of regexp.
+ [ruby-core:72185] [Bug #11825]
- * lib/rss/rss.rb: moved copyright description to lib/rss.rb.
+Thu Dec 17 03:52:10 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss.rb: added for convenience.
+ * vm.c (vm_make_env_each): should not compare with Qfalse and FALSE.
+ Pointed at http://d.hatena.ne.jp/nagachika/20151216/ruby_trunk_changes_53128_53163
- * sample/rss/re_read.rb: added #to_s sample.
+Thu Dec 17 03:15:25 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * vm_insnhelper.c (vm_call_method_each_type): should not set fastpath
+ with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.
- * sample/rss/tdiary-plugin/rss-recent.rb: 0.0.6 -> 0.0.7.
+ Normally, we can not use keyword arguments for this kind of methods,
+ (obj.foo = 1), but we can set alias names for them.
+ [Bug #11657]
-Fri Jul 22 14:37:43 2005 Kouhei Sutou <kou@cozmixng.org>
+ * test/ruby/test_keyword.rb: add a test for this fix.
- * lib/rss/parser.rb (RSS::Parser#initialize): accept HTTP/FTP
- URI and local file path too.
+Wed Dec 16 20:32:43 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * test/rss/test_parser.rb (RSS::TestParser#test_parse): test
- for the above.
+ * ext/fiddle/handle.c: check tainted string arguments.
+ Patch provided by tenderlove and nobu.
-Fri Jul 22 07:01:42 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * test/fiddle/test_handle.rb (class TestHandle): add test for above.
- * 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.
+Wed Dec 16 19:30:56 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: add TclTkIp#has_mainwindow? method.
+ * vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc.
+ [ruby-core:72083] [Bug #11811]
- * ext/tk/lib/tk.rb: add Tk.has_mainwindow? method.
+Wed Dec 16 16:17:34 2015 Eric Wong <e@80x24.org>
- * ext/tk/lib/multi-tk.rb: add MultiTkIp#has_mainwindow? method.
+ * test/ruby/test_io.rb: fix spelling errors
- * ext/tk/lib/remote-tk.rb: add RemoteTkIp#has_mainwindow? method.
+Wed Dec 16 16:04:49 2015 Eric Wong <e@80x24.org>
- * ext/tk/lib/multi-tk.rb: slave IP fail to exit itself when $SAFE==4.
+ * NEWS: note IO#advise change [ruby-core:72168]
- * ext/tk/lib/multi-tk.rb: remove constants from MultiTkIp module to
- avoid access from external.
+Wed Dec 16 15:35:13 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/multi-tk.rb: check_root flag is ignored on slave IPs'
- mainloop.
+ * vm.c: fix mark miss for proc given as passed block.
+ [Bug #11750]
- * ext/tk/lib/multi-tk.rb: hang-up Tk.mainloop called on a slave IP
- with $SAFE==4.
+ * vm.c (vm_make_proc_from_block): should return a Proc object
+ if block is given. Previous implementation returns
+ a Proc object only when corresponding Proc object is not
+ available.
- * ext/tk/lib/multi-tk.rb: MultiTkIp#bg_eval_proc doesn't work
- properly.
+ * vm.c (vm_make_env_each): ditto.
- * 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.
+ * test/ruby/test_proc.rb: add a test for this bug.
- * 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.
+Wed Dec 16 12:24:59 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * ext/tk/lib/multi-tk.rb: fail to control a slave IP when Tk.mainloop
- runs on the IP.
+ * test_struct.rb: Test that initialize is overridable [#11708]
-Wed Jul 20 19:20:37 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Dec 16 10:49:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (S_ISREG): need to define S_ISREG before it is used first.
+ * parse.y (block_command, block_call): fix `&.` calls after
+ block_call. [Feature #11537]
-Wed Jul 20 18:40:50 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Wed Dec 16 00:53:45 2015 Naohisa Goto <ngotogenome@gmail.com>
- * 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]
+ * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): Acquire
+ TimeoutMutex only when accessing @timeout_info for avoiding
+ potential deadlock. [Bug #11742] [ruby-dev:49387]
-Wed Jul 20 18:07:11 2005 Tanaka Akira <akr@m17n.org>
+Wed Dec 16 00:39:27 2015 Jake Worth <jakeworth82@gmail.com>
- * io.c (rb_io_ctl): update FMODE_WSPLIT_INITIALIZED and FMODE_WSPLIT
- by F_SETFL.
+ * doc/extension.rdoc: [DOC] fix double-word typo. [Fix GH-1153]
-Wed Jul 20 10:04:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Dec 16 00:25:41 2015 Naohisa Goto <ngotogenome@gmail.com>
- * variable.c (rb_class_path): need to adjust snprintf() len for
- teminating NUL. [ruby-dev:26581]
+ * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):
+ TimeoutMutex should be acquired when accessing @timeout_info.
+ To avoid deadlock, interrupt() calls are delayed.
+ Due to the mutex, it is safe to treat ary without ary.dup.
+ [Bug #11742] [ruby-dev:49387]
-Wed Jul 20 04:01:55 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Dec 15 23:13:10 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/socket/socket.c: sorry, BeOS also uses HAVE_CLOSESOCKET,
- so reverted.
+ * gc.c: Delete excess semicolon after RUBY_ALIAS_FUNCTION().
+ Suppress "syntax error: empty declaration" warnings by
+ Oracle Solaris Studio 12.x on Solaris. [Bug #11821]
- * ext/socket/extconf.rb: should not define HAVE_CLOSESOCKET
- on windows.
+ * hash.c: ditto, after NOINSERT_UPDATE_CALLBACK().
-Wed Jul 20 03:16:43 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Dec 15 18:04:04 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * ext/socket/socket.c: should not undef close() on win32.
- it's defined to rb_w32_close(), otherwise handle leaks.
- [ruby-Bugs-2131]
+ * NEWS: added news about EBCDIC encoding
-Wed Jul 20 00:48:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 15 17:57:57 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * error.c (syserr_initialize): don't use str before StringValue()
- check. [ruby-dev:26579]
+ * enc/ebcdic.h, enc/trans/ebcdic.trans,
+ test/ruby/test_transcode.rb: Fixed encoding name
+ to the correct one in the IANA registry (IBM037)
+ and added an alias (ebcdic-cp-us)
-Tue Jul 19 22:47:29 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 15 16:19:26 2015 Takashi Kokubun <takashikkbn@gmail.com>
- * error.c (syserr_initialize): add 1 byte for snprintf() size for
- NUL at the end. [ruby-dev:26574]
+ * lib/erb.rb: Render erb with array buffer for function call optimization.
+ [fix GH-1143]
+ * lib/rdoc/erb_partial.rb: ditto.
+ * template/verconf.h.tmpl: ditto.
-Tue Jul 19 16:39:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 15 13:50:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_inspect): replace sprintf() with "%s" format all
- over the place by snprintf() to avoid integer overflow.
+ * string.c (rb_str_oct): [DOC] mention radix indicators.
+ [ruby-core:71310] [Bug #11648]
-Tue Jul 19 14:08:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Dec 15 12:20:30 2015 Takashi Kokubun <takashikkbn@gmail.com>
- * ext/tcltklib/tcltklib.c: rbtk_eventloop_depth is used as int.
+ * lib/erb.rb: Simplify regexp to optimize erb scanner.
+ [fix GH-1144]
- * ext/tcltklib/tcltklib.c: rbtk_pending_exception is tested with
- NIL_P, so should assign Qnil instead of 0 (Qfalse).
+Tue Dec 15 11:56:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tcltklib/tcltklib.c (ip_invoke_real): fixed memory leak when
- ip is deleted.
+ * lib/uri/common.rb: make code block for rdoc.
+ [ci skip][fix GH-1152] Patch by @Tonkpils
-Tue Jul 19 13:19:46 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Dec 15 11:55:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * 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".
+ * ext/zlib/zlib.c: fix a typo.
+ [ci skip][fix GH-1149] Patch by @crismali
-Mon Jul 18 21:40:20 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Dec 15 09:14:14 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * eval.c (rb_call0): make the pointer to NODE volatile
- instead of NODE itself.
+ * tool/transcode_tablegen.rb: detailed documentation
+ for transcode_tblgen function [ci skip]
-Mon Jul 18 14:32:21 2005 Tanaka Akira <akr@m17n.org>
+Mon Dec 14 22:11:11 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * eval.c (rb_call0): make body volatile to avoid optimization problem.
- [ruby-dev:26195]
+ * enc/ebcdic.h: new dummy encoding EBCDIC-US
+ * enc/trans/ebcdic.trans: transcodings between EBCDIC-US
+ and iso-8859-1 [with code from Andrea Ribuoli]
+ * test/ruby/test_transcode.rb: tests for above
+ * tool/transcode_tablegen.rb: additional argument for
+ method transcode_tblgen
-Mon Jul 18 12:23:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Mon Dec 14 17:04:14 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/io/wait/wait.c: wrong backport from trunk. fixed: [ruby-dev:26562]
+ * ext/socket/lib/socket.rb: use safe navigation operator.
+ [fix GH-1142] Patch by @mlarraz
+ * lib/drb/extservm.rb: ditto.
+ * lib/net/http.rb: ditto.
+ * lib/net/http/response.rb: ditto.
+ * lib/scanf.rb: ditto.
+ * lib/uri/generic.rb: ditto.
-Mon Jul 18 09:36:25 2005 Tanaka Akira <akr@m17n.org>
+Mon Dec 14 17:03:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * rubyio.h (FMODE_WSPLIT, FMODE_WSPLIT_INITIALIZED): new constant.
+ * bootstraptest/runner.rb: use safe navigation operator.
+ [fix GH-1142] Patch by @mlarraz
+ * test/openssl/test_pair.rb: ditto.
+ * test/ruby/test_econv.rb: ditto.
+ * test/ruby/test_settracefunc.rb: ditto.
+ * test/thread/test_queue.rb: ditto.
- * 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]
+Mon Dec 14 14:33:35 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sun Jul 17 13:46:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/xmlrpc.rb: added documentation for parser details.
+ [ci skip][fix GH-1124] Patch by @jrafanie
- * ext/io/wait/extconf.rb, ext/io/wait/wait.c: Win32 platforms support.
+Mon Dec 14 11:46:52 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Jul 15 23:59:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * enum.c: fix a typo in documentation.
+ [ci skip][fix GH-1140] Patch by @jutaz
+ * io.c: ditto.
+ * iseq.c: ditto.
+ * numeric.c: ditto.
+ * process.c: ditto.
+ * string.c: ditto.
+ * vm_trace.c: ditto.
- * lib/rdoc/parsers/parse_c.rb (handle_class_module): handle a
- module enclosed in a built-in module. fixed: [ruby-talk:148239]
+Mon Dec 14 11:41:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/rdoc/parsers/parse_c.rb (find_body): allow macros as methods.
+ * lib/cgi.rb: fix a typo in documentation.
+ [ci skip][fix GH-1140] Patch by @jutaz
- * lib/rdoc/parsers/parse_c.rb (find_call_seq): allow :nodoc: modifier
- in C. [ruby-core:04572]
+Mon Dec 14 11:31:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Jul 15 18:00:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * compile.c: fix typos.
+ [ci skip][fix GH-1140] Patch by @jutaz
+ * dir.c: ditto.
+ * gc.c: ditto.
+ * io.c: ditto.
+ * node.h: ditto.
+ * thread_pthread.c: ditto.
+ * vm_insnhelper.c: ditto.
+ * vsnprintf.c: ditto.
- * bcc32/Makefile.sub (COMMON_HEADERS): ruby_1_8 is using winsock.h.
- failed to compile ext/socket on bcc5.6.4. [ruby-dev:26193]
+Mon Dec 14 11:27:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Jul 15 07:58:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * enc/iso_2022_jp.h: fix typos.
+ [ci skip][fix GH-1140] Patch by @jutaz
+ * enc/utf_16_32.h: ditto.
+ * enc/utf_7.h: ditto.
- * lib/webrick/server.rb (WEBrick::GenericServer#accept_client):
- sockets should be non-blocking mode. [ruby-dev:26405]
+Mon Dec 14 11:25:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/utils.rb (WEBrick::Utils.set_non_blocking): new method.
+ * benchmark/bm_app_aobench.rb: fix typos.
+ [ci skip][fix GH-1140] Patch by @jutaz
+ * benchmark/bm_vm_thread_pipe.rb: ditto.
- * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_chunked):
- should call sock.read repeatedly until the preferred size data
- is obtained.
+Sun Dec 13 23:46:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jul 14 18:27:16 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * parse.y (trace_lex_state): trace lex_state changes if yydebug is
+ set, and send the messages to rb_stdout.
- * win32/win32.c (rb_w32_strerror): should return correct message
- for ENAMETOOLONG and ENOTEMPTY. (bcc32) [ruby-dev:26533]
+ * parse.y (rb_parser_printf): store YYPRINTF messages per lines
+ so that lex_state traces do not mix.
- * win32/win32.c (rb_w32_strerror): stripped CR LF on the tail.
- (bcc32) [ruby-dev:26533]
+ * tool/ytab.sed: add parser argument to yy_stack_print too.
-Thu Jul 14 00:45:42 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Dec 13 20:41:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * LEGAL (ext/nkf/nkf-utf8): updated from nkf1.7 to nkf-utf8.
+ * parse.y (build_lex_state_name, trace_lex_state): lex_state is
+ now bit flags and can be set 2 bits or more.
-Wed Jul 13 19:37:47 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sun Dec 13 20:26:30 2015 Yuki Yugui Sonoda <yugui@yugui.jp>
- * win32/win32.c (rb_w32_mkdir): should set EEXIST (not EACCES)
- if file or directory already exists. (bcc32) [ruby-dev:26508]
+ * test/ruby/test_syntax.rb: fix typo in test
- * win32/win32.c (rb_w32_rmdir): should set ENOTDIR (not EINVAL)
- if it is not directory. (bcc32, win32)
+Sun Dec 13 20:12:14 2015 Yuki Yugui Sonoda <yugui@yugui.jp>
- * win32/win32.c (rb_w32_rmdir, rb_w32_unlink): restore
- FILE_ATTRIBUTE_READONLY flag on function failure.
+ * parse.y (parse_percent): Allow %-literals in labeled arg as
+ r51624 did for parentheses.
+ Fixes [ruby-core:72084] [Bug #11812].
-Wed Jul 13 12:40:00 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Dec 13 20:02:15 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: TclTkLib.do_one_event doesn't work.
+ * ChangeLog: fix a typo
- * ext/tk/lib/tk.rb: Tk.thread_update is available.
+Sun Dec 13 19:54:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Tue Jul 12 23:32:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/lib/envutil.rb: move envutil's assertions under Test::Unit::Assertion.
+ * test/lib/test/unit/assertions.rb: ditto.
- * lib/mkmf.rb: keep curdir unexpanded.
+Sun Dec 13 19:24:20 2015 Yuki Yugui Sonoda <yugui@yugui.jp>
-Mon Jul 11 08:31:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (lex_state_name): Make it return the correct names.
+ Add new names to follow r51617; Indices ffs(2) returns are 1-origin.
- * regex.c (read_special): fix parsing backslashes following \c in
- regexp. fixed: [ruby-dev:26500]
+Sun Dec 13 18:40:45 2015 Yuki Yugui Sonoda <yugui@yugui.jp>
-Mon Jul 11 02:53:00 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * parse.y: debug output of lex_state transition if PARSER_DEBUG
- * 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 Dec 13 18:49:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jul 10 23:58:04 2005 Tanaka Akira <akr@m17n.org>
+ * io.c (parse_mode_enc): preserve encoding of mode string in
+ warnings.
- * lib/pathname.rb (Pathname#unlink): try Dir.unlink first to
- avoid unlink a directory by root.
- cf. [ruby-dev:26237]
+ * io.c (io_encname_bom_p): check BOM prefix only, not including
+ UTF prefix.
-Sun Jul 11 05:18:17 2005 Michael Neumann <mneumann@ruby-lang.org>
+ * io.c (parse_mode_enc): warn BOM with non-UTF encoding.
- * 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).
+ * io.c (parse_mode_enc): fix buffer overflow.
-Sun Jul 10 12:47:01 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Dec 13 18:35:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/debug.rb (debug_command): added a deficient format specifier.
- fixed: [ruby-core:05419]
+ * ext/fiddle/function.c (initialize): check all arguments first.
+ reported by Marcin 'Icewall' Noga of Cisco Talos.
-Sat Jul 9 21:28:46 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * ext/fiddle/conversions.h (PTR2NUM): use signed integer to make
+ Fixnum for negative values.
- * ext/win32ole/win32ole.c (ole_method_dispid): convert dispid
- in Ruby and C by INT2NUM and NUM2INT.
+Sun Dec 13 18:33:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/win32ole.c (ole_invoke2): ditto.
+ * pack.c (pack_pack): always check index range against the
+ receiver array length, which can be shortened by elements
+ conversion. reported by Marcin 'Icewall' Noga of Cisco Talos.
- * ext/win32ole/test/testWIN32OLE.rb: ditto.
+Sun Dec 13 18:28:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/win32ole/test/testOLEMETHOD.rb: ditto.
+ * ext/psych/psych_emitter.c (start_document): should not exceed
+ tags array range.
-Fri Jul 8 15:45:04 2005 Kouhei Sutou <kou@cozmixng.org>
+ * ext/psych/psych_emitter.c (start_document): ensure string before
+ encoding conversion.
- * lib/rss/rss.rb (RSS::VERSION): 0.1.4 -> 0.1.5.
+Sun Dec 13 18:26:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rss/test_version.rb (RSS::TestVersion#test_version):
- ditto.
+ * ext/tk/tkutil/tkutil.c (tk_hash_kv): check types of array
+ argument. reported by Marcin 'Icewall' Noga of Cisco Talos.
- * lib/rss/0.9.rb (RSS::Rss::Channel::Item::Category):
- domain attribute of <category> is optional. Thanks to
- Chris Lee <clee@kde.org>.
+ * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check length of
+ argument arrays for each access, as callback methods can modify
+ them. reported by Marcin 'Icewall' Noga of Cisco Talos.
- * test/rss/test_parser.rb (RSS::TestParser#test_category20):
- adjusted test case.
+ * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check types of
+ argument elements. reported by Marcin 'Icewall' Noga of Cisco
+ Talos.
-Tue Jul 5 23:44:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Dec 13 18:19:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * instruby.rb: expand source library path.
+ * ext/win32ole/win32ole.c (ole_vstr2wc): check argument type, vstr
+ must be a String here. reported by Marcin 'Icewall' Noga of
+ Cisco Talos.
-Tue Jul 5 23:27:14 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Dec 13 16:41:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (sort_2): get rid of yet another bcc's bug.
- fixed: [ruby-core:05152]
+ * configure.in (BOOTSTRAPRUBY): make BASERUBY full path before
+ building ruby to get rid of unexpectedly invoking built ruby.
+ [ruby-core:72065] [Bug #11807]
- * eval.c (rb_thread_save_context): must not switch contexts during
- re-allocating stack. fixed: [ruby-core:05219]
+ * configure.in (BOOTSTRAPRUBY): use MINIRUBY but not BASERUBY
+ unless cross compiling. [ruby-core:72065] [Bug #11807]
-Tue Jul 5 15:15:10 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Dec 13 14:17:19 2015 Akinori MUSHA <knu@iDaemons.org>
- * ext/tk/tkutil.c: fix typo.
+ * test/test_shellwords.rb (TestShellwords): Add many more tests
+ for handling whitespace characters and frozenness.
-Tue Jul 5 14:51:35 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Dec 13 14:16:09 2015 Akinori MUSHA <knu@iDaemons.org>
- * ext/tcltklib/tcltklib.c: bug fix on treating Unicode strings.
+ * lib/shellwords.rb (Shellwords#shellsplit): Document that this
+ method does not treat shell metacharacters as such.
- * ext/tcltklib/tcltklib.c: add methods to treat encoding mode.
+Sun Dec 13 12:17:43 2015 Eric Wong <e@80x24.org>
- * ext/tcltklib/MANUAL.eng: add description of TclTkLib#encoding,
- encoding_system, and so on.
+ * lib/shellwords.rb (shellescape): duplicate frozen literal
+ * test/test_shellwords.rb (test_stringification): new test
- * ext/tcltklib/MANUAL.euc: ditto.
+Sun Dec 13 11:47:35 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/tkutil.c: fail to create a Tcl's list string from an
- array including multiple kind of encoded strings.
+ * object.c (rb_inspect): check the default internal encoding as
+ String#inspect do.
+ [ruby-dev:49415] [Bug #11787]
- * ext/tk/lib/tk.rb: ditto.
+Sun Dec 13 11:38:12 2015 Akinori MUSHA <knu@iDaemons.org>
- * ext/tk/lib/multi-tk.rb: 2nd arg of _{to|from}UTF8 is omissible.
+ * lib/shellwords.rb: Turn on frozen-string-literal after fixing
+ shellsplit.
- * ext/tk/lib/remote-tk.rb: ditto.
+Sun Dec 13 10:44:44 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * ext/tk/lib/tk.rb: override TclTkLib#encoding and encoding= to
- use TkCore::INTERP.encoding and encoding=.
+ * KNOWNBUGS.rb: Fixed typo, made more explicit [ci skip]
- * ext/tk/lib/tk.rb: when "require 'tk'" and $KCODE=='NONE', check
- DEFAULT_TK_ENCODING to decide Ruby/Tk's system encoding mode.
+Sun Dec 13 10:26:47 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/tk/lib/tk/encodedstr.rb: check both of Tk.encoding and
- Tk.encoding_system. Tk.encoding has higher priority.
+ * ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing
+ protocol list.
+ The protocol list from OpenSSL is not null-terminated.
+ patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082]
- * ext/tk/lib/tk/optiondb.rb: ditto.
+Sun Dec 13 06:40:30 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * ext/tk/lib/tk/spinbox.rb: ditto.
+ * lib/ostruct.rb: Have OpenStruct#dig raise if argument is not a
+ symbol
+ nor a string. See [#11762]
- * ext/tk/lib/tk/validation.rb: ditto.
+Sun Dec 13 00:05:42 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/tk/namespace.rb: arguemnts for TclTkIp#_merge_tklist
- should be UTF-8 strings.
+ * vm_insnhelper.c (vm_call_method_missing): method_missing should
+ not be refined.
+ [ruby-core:72080] [Bug #11809]
-Mon Jul 4 14:35:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Dec 12 23:00:17 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * sample/svr.rb: service can be stopped by ill-behaved client; use
- tsvr.rb instead.
+ * ext/nkf/nkf-utf8/nkf.c: Merge nkf 2.1.4.
-Mon Jul 4 13:25:21 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Dec 12 18:52:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * missing/erf.c: original erf.c by prof. Okumura is confirmed to
- be public domain. reverted BSD implementation.
+ * object.c (rb_obj_dig): raise TypeError if an element does not
+ have #dig method. [ruby-core:71798] [Bug #11762]
-Mon Jul 4 11:15:37 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Dec 12 17:59:07 2015 Yuichiro Kaneko <yui-knk@ruby-lang.org>
- * test/{dbm,gdbm,sdbm}/test_{dbm,gdbm,sdbm}.rb: skip some tests
- which using fork on fork-less platforms.
+ * test/ruby/test_regexp.rb: Add test cases for `$KCODE` and `$=` warning
+ [Misc #11770][ruby-dev:49398]
-Sun Jul 3 23:26:30 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Sat Dec 12 17:11:57 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * 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]
+ * doc/NEWS-0.2.2: add description about incompatible change in Hash
+ duplicated key overriding policy. [Bug #10315] [Bug #11501]
-Sat Jul 2 22:41:04 2005 Tanaka Akira <akr@m17n.org>
+Sat Dec 12 07:44:38 2015 Eric Wong <e@80x24.org>
- * ext/socket/socket.c (unix_send_io, unix_recv_io): support x86-64 and
- IA64.
+ * io.c (do_io_advise): do not raise on ENOSYS
+ * test/ruby/test_io.rb (test_advise): do not skip on Errno::ENOSYS
+ (test_advise_pipe): ditto
+ [ruby-core:72066] [Feature #11806]
-Sat Jul 2 17:06:23 2005 Tanaka Akira <akr@m17n.org>
+Sat Dec 12 07:05:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.
- (flush_register_windows): declare flush_register_windows.
+ * enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e
+ range. [ruby-core:64049] [Bug #10097]
- * eval.c (flush_register_windows): new function.
+Fri Dec 11 23:33:40 2015 Yusuke Endoh <mame@ruby-lang.org>
-Fri Jul 1 17:48:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * sample/trick2015/: added the award-winning entries of TRICK 2015.
+ See https://github.com/tric/trick2015 for the contest outline.
- * bignum.c (get2comp): revert all prior changes, and calculate
- proper 2's complement for negative numbers. backported from
- HEAD.
+Fri Dec 11 17:59:05 2015 Eric Wong <e@80x24.org>
-Fri Jul 1 15:50:12 2005 NAKAMURA Usaku <usa@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]'
- * missing/erf.c: need to include some headers for some platforms.
+Fri Dec 11 16:48:57 2015 Eric Wong <e@80x24.org>
- * win32/win32.h (copysign, scalb): define for compatibility with
- other platforms. [ruby-dev:26430]
+ * hash.c (rb_num_hash_start): avoid pathological behavior
+ [ruby-core:72028] [Feature #11405]
-Fri Jul 1 15:37:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Dec 11 11:58:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * missing/crypt.c: modified to make it compilable on platforms
- other than BSD. [ruby-dev:26430]
+ * NEWS: Mentioned rubygems-2.5.1
- * missing/erf.c: ditto. code from <exp.c> merged.
+Fri Dec 11 11:52:39 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Jul 1 12:44:56 2005 Tanaka Akira <akr@m17n.org>
+ * lib/rubygems: Update to RubyGems 2.5.1
+ * test/rubygems: ditto.
- * lib/open-uri.rb (OpenURI.open_http): refine post_connection_check
- call.
+Fri Dec 11 11:38:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jul 1 11:34:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * compile.c (iseq_compile_each, ibf_load_object_hash): rehash
+ case-dispatch hash to reduce collisions.
+ http://d.hatena.ne.jp/ku-ma-me/20151210
- * missing/crypt.c: replaced with 4.4BSD version.
+Fri Dec 11 03:44:43 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * missing/erf.c: ditto.
+ * object.c (rb_inspect): dump inspected result with rb_str_escape()
+ instead of raising Encoding::CompatibilityError. [Feature #11801]
- * missing/vsnprintf.c: removed the third provision from the old
- BSD license. [ruby-core:05177]
+ * string.c (rb_str_escape): added to dump given string like
+ rb_str_inspect without quotes and always dump in US-ASCII
+ like rb_str_dump.
-Fri Jul 1 01:45:21 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 10 14:59:59 2015 Koichi Sasada <ko1@atdot.net>
- * enum.c (enum_min, enum_max): must not return Qundef.
- fixed: [ruby-core:05299]
+ * test/ruby/test_gc.rb (test_expand_heap): relax condition (1->2).
-Fri Jul 1 00:18:40 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Dec 10 14:15:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/delegate.rb (Delegator::respond_to): respond_to? must check
- destination object. [ruby-talk:146894]
+ * cont.c: fix a double word typo.
+ [Bug #11313][ruby-core:69749]
-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.
+Thu Dec 10 14:13:34 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Thu Jun 30 17:28:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/tk/lib/multi-tk.rb: fix typos.
+ [Bug #11764][ruby-core:71800]
- * lib/irb/ruby-lex.rb (RubyLex::identify_number): should not treat
- plain zero as an octal number. [ruby-dev:26410]
+Thu Dec 10 11:33:34 2015 Eric Wong <e@80x24.org>
-Thu Jun 30 15:13:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * compile.c (iseq_compile_each): reduce needless rb_str_dup
+ [ruby-core:72018] <5668DB6E.8000101@ruby-lang.org>
- * eval.c (rb_eval): pre-evaluate argument for unambiguous
- evaluation order. [ruby-dev:26383]
+Thu Dec 10 09:32:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jun 30 09:53:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/mkmf.rb, lib/shellwords.rb: disable frozen-string-literal.
+ [ruby-core:72011] [Bug #11800]
- * lib/delegate.rb (Delegator::method_missing): forward unknown
- method to the destination. suggested by
- <christophe.poucet@gmail.com>. [ruby-talk:146776]
+Thu Dec 10 06:33:39 2015 Eric Wong <e@80x24.org>
-Tue Jun 28 21:59:29 2005 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+ * marshal.c (memsize_dump_arg): remove NULL check
+ (memsize_load_arg): ditto
- * dir.c, eval.c, hash.c, process.c, ruby.c: avoid warning "unused
- variable" [ruby-dev:26387]
+Thu Dec 10 05:53:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jun 25 17:15:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * tool/mkconfig.rb: rbconfig must not be frozen-string-literal to
+ expand CONFIG hash. [ruby-core:72006] [Bug #11798]
- * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_query): should
- discard if key=val pair is empty. patch from Gary Wright.
+Thu Dec 10 05:03:51 2015 Eric Wong <e@80x24.org>
-Sat Jun 25 23:30:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/socket/ifaddr.c (ifaddr_mark): remove empty function
+ (ifaddr_type): pass zero to rb_data_type_t.function.dmark
- * process.c (detach_process_watcher): terminate process watcher
- thread right after rb_waitpid() succeed. [ruby-talk:146430]
+Thu Dec 10 04:49:16 2015 Eric Wong <e@80x24.org>
-Sat Jun 25 15:49:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * proc.c (bm_free): remove, use default free
+ (method_data_type): use RUBY_TYPED_DEFAULT_FREE
- * enum.c (enum_min, enum_max): do not ignore nil as the first element.
+Thu Dec 10 02:01:41 2015 Koichi Sasada <ko1@atdot.net>
-Sat Jun 25 14:40:17 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * compile.c (iseq_compile_each): do not add debug information
+ without --debug or --debug=frozen-string-literal option
+ because String#dup slows down with debug information.
+ [Feature #11725]
- * ext/sdbm/init.c (fsdbm_select): SDBM#select had returned the array
- which contained each elements twice. [ruby-dev:26358]
+ * NEWS: apply about it.
-Fri Jun 25 05:06:47 2005 Michael Neumann <mneumann@ruby-lang.org>
+ * test/ruby/test_rubyoptions.rb: catch up this fix with refactoring.
- * lib/xmlrpc/*, test/xmlrpc/*: backported changes from HEAD into 1.8
+Thu Dec 10 00:06:56 2015 Koichi Sasada <ko1@atdot.net>
-Fri Jun 24 17:00:00 2005 Shigeo Kobayashi <shigeo@tinyforest.jp>
+ * iseq.c: rename methods
+ RubyVM::InstructionSequence#to_binary_format -> #to_binary
+ RubyVM::InstructionSequence.from_binary_format -> .load_from_binary
+ RubyVM::InstructionSequence.from_binary_format_extra_data ->
+ .load_from_binary_extra_data
- * ext/bigdecimal/bigdecimal.c: patch from "NATORI Shin"
- (u-tokyo.ac.jp) applied to fix rounding bug.
+ * iseq.c: fix document of iseq.to_binary.
+ [Fix GH-1134]
-Fri Jun 24 13:06:45 2005 akira yamada <akira@ruby-lang.org>
+ * sample/iseq_loader.rb: catch up this change.
- * lib/uri/common.rb, lib/uri/generic.rb: fixed typo in documents and
- replaced some existent domain name with "example.com".
+ * test/lib/iseq_loader_checker.rb: ditto.
-Fri Jun 24 12:23:19 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Wed Dec 9 17:02:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb: fix typo on Tk.grid_propagate.
+ * regparse.h (SET_NTYPE): get rid of breaking strict aliasing.
+ patch by Zarko Todorovski in [ruby-core:71953]. [Bug #11790]
- * ext/tk/lib/tk.rb: Tk.event_generate and TkWindow#event_generate
- accept TkEvent::Event object as context argument.
+Wed Dec 9 16:10:37 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/event.rb: add TkEvent::Event#valid_fields and
- valid_for_generate to get field parameters of event_generate.
+ * vm.c (rb_vm_cref_in_context): Module#define_method in non-class
+ expression should be public.
+ [Bug #11754]
-Thu Jun 23 23:55:59 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_method.rb: add a test.
- * runruby.rb: should load built rbconfig.rb.
+Wed Dec 9 14:45:27 2015 Koichi Sasada <ko1@atdot.net>
-Thu Jun 23 16:53:15 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * gc.c (gc_mark_stacked_objects): fix typo.
+ reported by XIE Zhibang. [Bug #11763]
- * ext/tk/lib/tk/canvastag.rb: TkcGroup.new cannot include given items.
- TkcGroup#exclude calls wrong method.
- Add alias TkcGroup#add [ruby-talk:146049].
+Wed Dec 9 14:37:51 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/tk/canvas.rb: TkCanvas#dtag and some subcommands of
- TkCanvas#addtag fail to treat a TkcTag argument.
+ * doc/syntax/refinements.rdoc: remove outdated description.
- * ext/tk/lib/tk/event.rb: add TkEvent::Event#generate to help to send
- current event to other widgets.
+Wed Dec 9 09:58:09 2015 Koichi Sasada <ko1@atdot.net>
-Mon Jun 20 18:44:04 2005 Tanaka Akira <akr@m17n.org>
+ * ext/**/*.c (*_memsize): same as r52986 for extensions.
- * eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): DUMMY_SETJMP is replaced
- because setjmp is not enough to fix getcontext and SPARC register
- window problem.
+Wed Dec 9 09:46:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Jun 20 16:48:36 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * .gitignore: ignored ISeq binary format.
- * ext/dbm/dbm.c (fdbm_closed): new method DBM#closed?
+Wed Dec 9 09:34:41 2015 Koichi Sasada <ko1@atdot.net>
- * ext/gdbm/gdbm.c (fgdbm_closed): new method GDBM#closed?
+ * *.c (*_memsize): do not check ptr.
+ NULL checking is finished Before call of memsize functions.
+ See r52979.
- * ext/sdbm/init.c (fsdbm_closed): new method SDBM#closed?
+Wed Dec 9 09:25:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb
- (teardown): close all db objects before deleting data files.
+ * test/net/smtp/test_response.rb: use Test::Unit. We should use Test::Unit
+ without rubygems and rdoc.
- * win32/win32.{ch} (unlink): hook runtime function to change
- file attribute before unlinking.
- fixed: [ruby-dev:26360]
+Wed Dec 9 06:26:23 2015 Colin Kelley <colindkelley@gmail.com>
-Mon Jun 20 02:15:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/uri/generic.rb: enable frozen_string_literal
+ (split_userinfo): remove explicit .freeze for string literals
+ (check_path): ditto
+ (query): ditto
+ (fragment): ditto
+ (to_s): ditto
+ [ruby-core:71910] [Bug #11759]
- * gc.c (define_final): document fix: finalizers never get called
- before target object is destroyed.
+Wed Dec 9 06:25:47 2015 Eric Wong <e@80x24.org>
-Mon Jun 20 01:26:49 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * test/uri/test_generic.rb (to_s): new test
+ [ruby-core:71820]
- * 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.
+Wed Dec 9 02:18:52 2015 Koichi Sasada <ko1@atdot.net>
-Sun Jun 19 14:09:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (ibf_dump_memsize): should check NULL.
- * gc.c (run_final): reduce unnecessary object allocation during
- finalization.
+Wed Dec 9 01:46:35 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * gc.c (rb_gc_call_finalizer_at_exit): deferred finalizers list should
- be cleared before calling them. fixed: [ruby-talk:145790]
+ * string.c (rb_str_init): now accepts new option parameter `encoding'.
+ [Feature #11785]
-Fri Jun 17 13:01:40 2005 Tanaka Akira <akr@m17n.org>
+Wed Dec 9 00:52:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/time.rb (Time.parse): fix previous leap seconds support.
- (Time.rfc2822): ditto.
- (Time.xmlschema): ditto.
+ * file.c (rb_stat_wr, rb_stat_ww): call get_stat only once and
+ reduce checking struct. patch by Yuki Kurihara in
+ [ruby-core:71949]. [Misc #11789]
-Thu Jun 16 15:06:55 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Wed Dec 9 00:24:33 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tcltklib/tcltklib.c (ip_rb_threadVwaitCommand): Tcl_Release
- was missing.
+ * compile.c (iseq_ibf_dump): dump extra data just string length.
-Thu Jun 16 13:34:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * sample/iseq_loader.rb: add using
+ RubyVM::InstructionSequence.from_binary_format_extra_data method
+ (commented out).
- * ext/tk/lib/tk.rb: add Tk.getMultiple{Open|Save}File() which return
- an Array of selected files.
+Mon Dec 9 00:21:19 2015 Yuki Nishijima <mail@yukinishijima.net>
-Thu Jun 16 12:53:24 2005 Tanaka Akira <akr@m17n.org>
+ * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.rc1
- * 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.
+Wed Dec 9 00:17:49 2015 Koichi Sasada <ko1@atdot.net>
-Thu Jun 16 08:29:22 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * compile.c (ibf_load_setup): cast to int.
- * ext/dl/sym.c (rb_dlsym_call): needs FREE_ARGS before return.
- fixed memory leak. [ruby-Bugs-2034]
+Wed Dec 9 00:13:09 2015 Koichi Sasada <ko1@atdot.net>
-Wed Jun 15 18:26:39 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * compile.c (ibf_setup_load): rename to ibf_load_setup().
- * ext/tk/lib/tk.rb: support "tk inactive" sub-command [for Tcl/Tk8.5a3]
+ * compile.c (iseq_load_setup): check binary format.
- * ext/tk/lib/tk/namespace.rb: support "namespace path" sub-command and
- 'namespace ensemble' sub-command [for Tcl/Tk8.5a3]
+Tue Dec 8 23:30:07 2015 Naohisa Goto <ngotogenome@gmail.com>
-Tue Jun 14 02:02:43 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * test/io/console/test_io_console.rb (run_pty): Avoid waiting twice
+ for a process. Fix Errno::ECHILD in TestIO_Console#test_close and
+ TestIO_Console#test_sync.
- * 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 ").
+Tue Dec 8 23:05:47 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/event.rb: use _define_attribute_aliases().
+ * compile.c (iseq_ibf_dump): fix for clang type checker.
-Mon Jun 13 13:01:05 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Dec 8 23:04:02 2015 Koichi Sasada <ko1@atdot.net>
- * hash.c (ruby_setenv): fixed SEGV. [ruby-dev:26186]
+ * iseq.c (iseq_s_load): fix mysterious bug.
-Mon Jun 13 01:54:20 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 8 22:31:58 2015 Koichi Sasada <ko1@atdot.net>
- * signal.c (sigexit): call rb_thread_signal_exit() instead of
- rb_exit(). [ruby-dev:26347]
+ * introduce new ISeq binary format serializer/de-serializer
+ and a pre-compilation/runtime loader sample.
+ [Feature #11788]
- * eval.c (rb_thread_signal_exit): a new function to exit on main
- thread.
+ * iseq.c: add new methods:
+ * RubyVM::InstructionSequence#to_binary_format(extra_data = nil)
+ * RubyVM::InstructionSequence.from_binary_format(binary)
+ * RubyVM::InstructionSequence.from_binary_format_extra_data(binary)
- * eval.c (rb_thread_switch): exit status should be retrieved from
- ruby_errinfo.
+ * compile.c: implement body of this new feature.
- * eval.c (rb_f_exit): ensure exit(0) should call
- exit(EXIT_SUCCESS).
+ * load.c (rb_load_internal0), iseq.c (rb_iseq_load_iseq):
+ call RubyVM::InstructionSequence.load_iseq(fname) with
+ loading script name if this method is defined.
-Mon Jun 13 01:20:02 2005 Tanaka Akira <akr@m17n.org>
+ We can return any ISeq object as a result value.
+ Otherwise loading will be continue as usual.
- * eval.c (rb_gc_mark_threads): curr_thread may not be part of the
- thread list. [ruby-dev:26312]
+ This interface is not matured and is not extensible.
+ So that we don't guarantee the future compatibility of this method.
+ Basically, you shouldn't use this method.
-Fri Jun 10 23:35:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * iseq.h: move ISEQ_MAJOR/MINOR_VERSION (and some definitions)
+ from iseq.c.
- * missing/mkdir.c: remove. [ruby-core:05177]
+ * encoding.c (rb_data_is_encoding), internal.h: added.
-Fri Jun 10 22:54:26 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_core.h: add several supports for lazy load.
+ * add USE_LAZY_LOAD macro to specify enable or disable of
+ this feature.
+ * add several fields to rb_iseq_t.
+ * introduce new macro rb_iseq_check().
- * missing.h: fd_set stuffs need sys/types.h. fixed: [ruby-core:05179]
+ * insns.def: some check for lazy loading feature.
-Thu Jun 9 23:58:12 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_insnhelper.c: ditto.
- * ext/Win32API/Win32API.c (Win32API_Call): disable global
- optimization. fixed: [ruby-core:05143]
+ * proc.c: ditto.
-Thu Jun 9 23:35:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm.c: ditto.
- * enum.c (enum_inject): default the result value to Qundef to use
- first element as initial value if not given.
+ * test/lib/iseq_loader_checker.rb: enabled iff suitable
+ environment variables are provided.
-Thu Jun 9 19:55:41 2005 Tanaka Akira <akr@m17n.org>
+ * test/runner.rb: enable lib/iseq_loader_checker.rb.
- * 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]
+ * sample/iseq_loader.rb: add sample compiler and loader.
- * gc.c (Init_stack): remove IA64_MAGIC_STACK_LIMIT.
+ $ ruby sample/iseq_loader.rb [dir]
-Thu Jun 9 11:55:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ will compile all ruby scripts in [dir].
+ With default setting, this compile creates *.rb.yarb files
+ in same directory of target .rb scripts.
- * lib/delegate.rb (SimpleDelegator::__setobj__): need check for
- recursive delegation. [ruby-core:04940]
+ $ ruby -r sample/iseq_loader.rb [app]
-Wed Jun 8 18:47:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ will run with enable to load compiled binary data.
- * misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.
+Tue Dec 8 21:21:16 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Wed Jun 8 11:11:34 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * NEWS: mention about Enumerator::Lazy#grep_v.
+ [ruby-core:71845] [Feature #11773]
- * bignum.c (get2comp): calculate proper 2's complement for
- negative numbers. a bug in normalizing negative numbers
- reported from Honda Hiroki <hhonda@ipflex.com>.
+Tue Dec 8 17:36:36 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
-Wed Jun 8 08:33:10 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c: removed unused variable
- * enum.c (enum_min_by, enum_max_by): return nil if no iteration.
- fixed: [ruby-dev:26245]
+Tue Dec 8 16:23:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_need_block): ensure a block is given.
+ * enumerator.c (lazy_grep_v): add Enumerator::Lazy#grep_v as well
+ as Enumerable, to enumerate lazily.
+ [ruby-core:71845] [Feature #11773]
- * eval.c (backtrace): skip successive frames sharing same node.
+Tue Dec 8 14:27:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jun 8 00:15:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * error.c (name_err_local_variables): new method
+ NameError#local_variables for internal use only.
+ [Feature #11777]
- * ext/socket/socket.c (ruby_getaddrinfo__aix): merged a patch from
- KUBO Takehiro <kubo at jiubao.org> to support AIX. [ruby-list:40832]
+Tue Dec 8 14:20:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jun 8 00:09:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * marshal.c (w_objivar): skip internal instance variables in
+ T_OBJECT too.
- * lib/yaml/rubytypes.rb (Array::to_yaml): merged a patch from
- Tilman Sauerbeck <tilman at code-monkey.de>. [ruby-core:05055]
+Tue Dec 8 12:58:04 2015 Naohisa Goto <ngotogenome@gmail.com>
- * lib/yaml/rubytypes.rb (Hash::to_yaml): ditto.
+ * test/io/console/test_io_console.rb (test_getpass): s.getpass
+ should be tested. Narrow ensure block. This reverts r52911.
+ [Bug #11780] [ruby-dev:49412]
-Wed Jun 8 00:00:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 8 10:40:21 2015 Eric Wong <e@80x24.org>
- * ext/curses/curses.c (curses_insertln): merged a patch from
- TAKAHASHI Tamotsu <ttakah at lapis.plala.or.jp>. [ruby-ext:02305]
+ * benchmark/bm_vm2_case_lit.rb: new benchmark
+ * compile.c (case_when_optimizable_literal): add nil/true/false
+ * insns.def (opt_case_dispatch): ditto
+ * vm.c (vm_redefinition_check_flag): ditto
+ * vm.c (vm_init_redefined_flag): ditto
+ * vm_core.h: ditto
+ * object.c (InitVM_Object): define === explicitly for nil/true/false
+ * test/ruby/test_case.rb (test_deoptimize_nil): new test
+ * test/ruby/test_optimization.rb (test_opt_case_dispatch): update
+ (test_eqq): new test
+ [ruby-core:71923] [Feature #11769]
+ Original patch by Aaron Patterson <tenderlove@ruby-lang.org>
-Tue Jun 7 19:34:15 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 8 10:19:02 2015 Jake Worth <jakeworth82@gmail.com>
- * lib/irb/init.rb (IRB::IRB.rc_file_generators): more flexible
- IRB.rc_file_generators. [ruby-core:05163]
+ * lib/optparse.rb: fix double word typo in the document.
+ [Misc #10608] [Fix GH-1126]
-Tue Jun 7 18:39:31 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 8 09:03:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/thread.rb: RDoc documentation from Eric Hodel
- <drbrain at segment7.net> added. [ruby-core:05148]
+ * ext/date/date_core.c (d_lite_lshift): should check the argument
+ before negation.
-Tue Jun 7 18:30:04 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Dec 8 08:56:16 2015 Eric Wong <e@80x24.org>
- * lib/mkmf.rb (create_makefile): add .SUFFIXES from depend file.
- fixed: [ruby-dev:26294]
+ * insns.def (opt_case_dispatch): check Float#=== redefinition
+ * test/ruby/test_optimization.rb (test_opt_case_dispatch): new
+ [ruby-core:71920] [Bug #11784]
-Tue Jun 7 17:39:54 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Dec 8 03:56:05 2015 Koichi Sasada <ko1@atdot.net>
- * object.c (rb_mod_cvar_get): Module#class_variable_get(): back
- ported from CVS HEAD. [ruby-talk:144741]
+ * test/lib/iseq_loader_checker.rb: add iseq dumper/loader checker.
+ If you enable this checker (remove `#' in test/runner.rb),
+ you can see comparison results between an original iseq disassembed
+ result and dumped and loaded iseq disassembed result.
- * object.c (rb_mod_cvar_set): Module#class_variable_set().
- [ruby-talk:144741]
+ There are several bugs around there, because of inexact stack depth
+ calculation. Now, I leave these bugs because they are not critical
+ and difficult to solve completely.
-Tue Jun 7 16:32:53 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/runner.rb: require test/lib/iseq_loader_checker.rb but
+ disabled at default (commented out).
- * sprintf.c (rb_f_sprintf): raise exception on debug mode (-d),
- not verbose mode (-v/-w). [ruby-core:05123]
+Tue Dec 8 03:45:47 2015 Eric Wong <e@80x24.org>
-Tue Jun 7 10:30:49 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * doc/extension.rdoc: warn about kwargs performance in C
+ [Feature #11339] [ci skip]
- * ext/tk/lib/multi-tk.rb: slave-ip fails to call procedures
- delegated by master-ip.
+Tue Dec 8 03:44:51 2015 Koichi Sasada <ko1@atdot.net>
-Sun Jun 5 23:00:35 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * iseq.c (iseq_load): disable peephole optimization option
+ because apply it multiple times change the sequence.
+ (iseq != peephole_optimize(load(iseq.to_a)))
- * ext/tk/lib/tk/console.rb: create console when required
+Tue Dec 8 03:43:21 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/sample/tkextlib/tile/demo.rb: fix TypeError & create Console
+ * compile.c (rb_iseq_build_from_ary): do not allocate table
+ if table_size is 0.
-Sat Jun 4 14:55:18 2005 Tanaka Akira <akr@m17n.org>
+Tue Dec 8 03:30:34 2015 Eric Wong <e@80x24.org>
- * test/dbm/test_dbm.rb: merged from ext/dbm/testdbm.rb.
+ * ext/socket/unixsocket.c (unix_send_io): document args
+ (unix_recv_io): ditto
+ * test/socket/test_unix.rb (test_fd_passing_class_mode): added
- * test/gdbm/test_gdbm.rb: merged from ext/gdbm/testgdbm.rb.
+Tue Dec 08 02:21:35 2015 Koichi Sasada <ko1@atdot.net>
- * test/sdbm/test_sdbm.rb: renamed from ext/sdbm/testsdbm.rb with
- modification to use test/unit.
+ * iseq.c (iseq_translate): at the end of constructing an iseq,
+ call RubyVM::InstructionSequence.translate(iseq) if this method
+ is defined. If the return value is also an object of
+ RubyVM::InstructionSequence, then use it instead of created one.
-Fri Jun 3 14:06:12 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ For example, this method is useful to test iseq dumper/loader
+ such as RubyVM::InstructionSequence#to_a and rb_iseq_load().
- * ext/tk/lib/multi-tk.rb: fix typo.
+ Because this method is for such internal experimental usage,
+ the interface is not matured. For example, this interface has
+ no extensibility. Two or more translators can not run
+ simultaneously.
-Wed Jun 1 11:32:42 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ So that we don't guarantee future compatibility of this method.
+ Basically, do not use this method.
- * bcc32/Makefile.sub: can use single quote character in DESTDIR.
- [ruby-dev:26205]
+Tue Dec 8 01:57:13 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Mon May 30 23:48:29 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/psych/*: update psych to 2.0.16
+ * test/psych/*: ditto
- * ext/tk/lib/tk/macpkg.rb: add PACKAGE_NAME information of Tcl/Tk
- Extension.
+Mon Dec 7 23:45:20 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/msgcat.rb: ditto.
+ * string.c: introduce String#+@ and String#-@ to control
+ String mutability.
+ [Feature #11782]
- * ext/tk/lib/tk/winpkg.rb: ditto.
+Mon Dec 7 23:39:49 2015 Ben Miller <bjmllr@gmail.com>
- * ext/tk/lib/tkextlib/*: ditto.
+ * parse.y: add heredoc <<~ syntax. [Feature #9098]
-Sat May 28 16:40:15 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Dec 7 23:06:16 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * test/openssl/test_x509store.rb: add test for expired CRL
- and refine some assertions.
+ * prelude.rb (IO#read_nonblock): [DOC] add missing options to
+ call-seq. [ruby-core:71627] [Bug #11730]
-Sat May 28 05:15:51 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Dec 7 15:50:50 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * ext/openssl/ossl_x509store.c (ossl_x509stctx_set_time): should
- not set internal flag directry.
+ * .gitignore: added cygruby*.def for Cygwin
-Sat May 28 02:00:11 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Dec 6 19:52:31 2015 Eric Wong <e@80x24.org>
- * 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]
+ * include/ruby/intern.h (rb_autoload): deprecate
+ * internal.h (rb_autoload_str): declare
+ * load.c (rb_mod_autoload): use rb_autoload_str
+ * variable.c (rb_autoload): become compatibility wrapper
+ (rb_autoload_str): hoisted out from old rb_autoload
+ [ruby-core:71369] [Feature #11664]
-Fri May 27 16:32:04 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+Sun Dec 6 18:25:22 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/mkmf.rb: use the semicolon as the path separator
- in the environment of MSYS. fixed: [ruby-dev:26232]
+ * test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): gave up the test
+ of binary path info test on Windows because the test had passed
+ occasionally as the comment said.
-Thu May 26 06:08:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Dec 6 15:25:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb: add shortcut-methods of tk_call + tk_split_list
+ * ext/io/console/console.c (console_getpass): add IO#getpass
+ method.
-Wed May 25 22:52:42 2005 Shugo Maeda <shugo@ruby-lang.org>
+Sun Dec 6 08:39:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/irb/input-method.rb: do not use Readline::HISTORY.pop.
- (backported from HEAD)
+ * ext/json/json.gemspec: bump version to json 1.8.3. CRuby already contained
+ upstream changes.
-Wed May 25 21:55:40 2005 Shugo Maeda <shugo@ruby-lang.org>
+ https://github.com/ruby/ruby/commit/4d059bf9f5f10f3d3088de49fc87e5555db7770d
+ https://github.com/flori/json/commit/d4c99de78905d96c3f301f48b2c789943bb3f098
- * ext/readline/readline.c: supported libedit. (backported from HEAD)
+ * ext/json/lib/json/version.rb: ditto.
- * ext/readline/extconf.rb: ditto.
+Sat Dec 5 17:48:25 2015 Lars Kanis <lars@greiz-reinsdorf.de>
- * test/readline/test_readline.rb: ditto.
+ * tool/fake.rb: Fix cross build when srcdir is an absolute path.
-Wed May 25 20:06:27 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * Makefile.in: PREP dependency is needed when cross build too, not
+ "-r$(arch)-fake" to be used before created. [Fix GH-1125]
- * 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.
+Sat Dec 5 17:26:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: modify to attend encoding.
+ * hash.c (env_str_new, env_path_str_new): make default string
+ UTF-8 for the case conversion is not possible. [Bug #8822]
- * ext/tk/lib/remote-tk.rb: ditto.
+ * hash.c (get_env_cstr): convert non-ASCII string to UTF-8 string.
- * ext/tk/lib/tk/itemconfig.rb: ditto.
+ * hash.c (ruby_setenv): use wide char version to put environment
+ variable to deal with non-ASCII value.
- * ext/tk/lib/tk/listbox.rb: ditto.
+Sat Dec 5 09:56:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/namespace.rb: ditto.
+ * ruby_atomic.h (ATOMIC_CAS): old value to be swapped should be
+ same as the destination. immediate value may need type
+ promotion.
- * ext/tk/lib/tk/panedwindow.rb: ditto.
+ * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of
+ InterlockedCompareExchange64. new value and then old value is
+ the last.
- * ext/tk/lib/tk/text.rb: ditto.
+Sat Dec 5 09:23:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/textmark.rb: ditto.
+ * random.c (fill_random_seed): fix the size to be filled, not the
+ size of element, but the whole size of array.
- * ext/tk/lib/tk/texttag.rb: ditto.
+Sat Dec 5 06:03:54 2015 Eric Wong <e@80x24.org>
- * ext/tk/lib/tk/variable.rb: ditto.
+ * vm.c (ruby_vm_verbose_ptr): make static
+ (ruby_vm_debug_ptr): ditto
- * ext/tk/lib/tk/winfo.rb: ditto.
+Sat Dec 5 00:56:29 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto.
+ * include/ruby/ruby.h (RB_OBJ_TAINT): follow-up of r52881.
+ Turn into void expression not to use unexpected result.
+ Fix "operands have incompatible types" error with
+ Oracle Solaris Studio 12.x on Solaris.
- * ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: ditto.
+Fri Dec 4 19:52:52 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * ext/tk/lib/tk.rb: add TkWindow#lower_window/raise_window and
- Tk#lower_window/raise_window by reason of method-name conflict
+ * enc/iso_8859_13.c: Added three missing lower/upper-case
+ character pairs (from Kimihito Matsui)
- * ext/tk/lib/tk/canvas.rb: bug fix on TkCanvas#delete when given
- non-TkcItem arguments.
+Fri Dec 4 18:57:57 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb: ditto.
+ * enc/iso_8859_4.c: Added missing lower/upper-case character
+ pair (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG)
+ (from Kimihito Matsui)
-Wed May 25 12:59:48 2005 Tanaka Akira <akr@m17n.org>
+Fri Dec 4 16:48:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/open-uri.rb (OpenURI::Meta::RE_QUOTED_STRING): a content of
- quoted-string should be zero or more characters.
+ * string.c (rb_obj_as_string): fstring should not be infected.
+ re-apply r52872 and fix a typo.
+ TODO: other frozen strings also may not be.
-Tue May 24 23:42:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Dec 4 15:21:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * numeric.c (fix_pow): support Fixnum ** Float case directly
- without coercing. [ruby-talk:142697] [ruby-talk:143054]
+ * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(fdab4c4).
+ this version includes #1396, #1397, #1398, #1399
+ * test/rubygems: ditto.
-Tue May 24 16:57:24 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Dec 4 11:22:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ruby.c (require_libraries): caused SEGV when continuation jumped
- in to the required library code.
+ * thread.c (rb_thread_setname): name must be ascii-compatible, as
+ pthread APIs do not accept legacy wide char strings.
-Tue May 24 11:56:25 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+Thu Dec 3 15:39:21 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/getopts.rb: should warn only if verbose mode.
- fixed: [ruby-dev:26201]
+ * lib/scanf.rb: fixed double words typo.
+ [ci skip][fix GH-1123] Patch by @jwworth
-Tue May 24 06:45:31 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Dec 3 15:37:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): string
- literals to be matched non-greedy.
+ * test/ruby/test_mixed_unicode_escapes.rb: fixed typo.
+ [fix GH-1122] Patch by @davydovanton
+ * test/ruby/test_object.rb: ditto.
+ * test/socket/test_tcp.rb: ditto.
-Tue May 24 00:34:32 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Thu Dec 3 15:33:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/soap/calc: method name 'set' was able to crash with a class Set.
- [ruby-dev:26210]
+ * 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]
- * test/wsdl/document/test_rpc.rb: dateTime comparison failed under
- TZ=right/Asia/Tokyo (with leap second.) [ruby-dev:26208]
+Thu Dec 3 14:22:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon May 23 16:24:05 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * range.c (range_to_s): should be infected by the receiver.
+ str2 infects by appending. [ruby-core:71811] [Bug #11767]
- * ext/tcltklib/extconf.rb: Framework support on MacOS X Tiger.
+Thu Dec 3 11:57:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/README.1st: add description of Framework support options.
+ * configure.in: separate SET_CURRENT_THREAD_NAME, which can set
+ the name of current thread only, and SET_ANOTHER_THREAD_NAME,
+ which can set the name of other threads.
-Mon May 23 12:21:37 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * thread.c (rb_thread_setname): use SET_ANOTHER_THREAD_NAME. OS X
+ is not possible to set another thread name.
- * re.c (make_regexp): should not return junk address during
- compile time. [ruby-dev:26206]
+ * thread_pthread.c (native_set_thread_name, thread_timer): use
+ SET_CURRENT_THREAD_NAME.
-Sun May 22 21:54:06 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Wed Dec 02 22:57:46 2015 Koichi Sasada <ko1@atdot.net>
- * lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.4.
+ * vm_core.h, iseq.h: remove rb_iseq_t::variable_body.
+ Fields in rb_iseq_t::variable_body are contained by
+ rb_iseq_t::body::mark_ary (hidden Array object).
- == SOAP client and server ==
+ Index 0 to 2 of mark_ary are reserved by these objects.
- === for both client side and server side ===
+ * iseq.c: catch up this fix.
- * 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.
+ * compile.c (rb_iseq_original_iseq): trivial rewrite.
- * let WSDLEncodedRegistry#soap2obj map SOAP/OM to Ruby according to
- WSDL as well as obj2soap. closes #70.
+Wed Dec 2 17:19:02 2015 Koichi Sasada <ko1@atdot.net>
- * 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).
+ * iseq.h: introduce ISEQ_ORIGINAL_ISEQ() and
+ ISEQ_ORIGINAL_ISEQ_ALLOC() macro.
- === client side ===
+ * compile.c: use them to access original iseq buffer.
- * 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.
+ * iseq.c: ditto.
- * 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.
+ * vm_core.h: rename iseq field to support this fix.
- * allow to use an URI object as an endpoint_url even with net/http,
- not http-access2.
+Wed Dec 2 17:10:32 2015 Koichi Sasada <ko1@atdot.net>
- === server side ===
+ * iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro.
- * 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.
+ * compile.c (iseq_compile_each): use it.
- * 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.)
+ * vm_core.h: rename flip_cnt field to support this fix.
- * allow to return a SOAPFault object to respond customized SOAP fault.
+Wed Dec 2 17:05:15 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * iseq.h: introduce ISEQ_COVERAGE() and ISEQ_COVERAGE_SET() macro.
- == WSDL ==
+ * compile.c: use them.
- === WSDL definition ===
+ * iseq.c: ditto.
- * improved XML Schema support such as extension, restriction,
- simpleType, complexType + simpleContent, ref, length, import,
- include.
+ * iseq.c (rb_iseq_coverage): added.
- * reduced "unknown element/attribute" warnings (warn only 1 time for
- each QName).
+ * thread.c (update_coverage): use rb_iseq_coverage().
- * importing XSD file at schemaLocation with xsd:import.
+ * vm_core.h: rename coverage field name to support this fix.
- === code generation from WSDL ===
+Wed Dec 2 17:00:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * generator crashed when there's '-' in defined element/attribute
- name.
+ * encoding.c (enc_name, rb_enc_name_list_i, rb_enc_aliases_enc_i):
+ make fstring instead of making each copies.
- * added ApacheMap WSDL definition.
+Wed Dec 2 16:32:08 2015 Koichi Sasada <ko1@atdot.net>
- * sample/{soap,wsdl}: removed.
+ * iseq.h: introduce ISEQ_COMPILE_DATA() macro.
-Sun May 22 19:11:35 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * compile.c, iseq.c: use ISEQ_COMPILE_DATA().
- * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#intialize):
- should initialize session id context. [ruby-core:4663]
+ * vm_core.h: rename compile_data field to support this fix.
- * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): add session id support.
+Wed Dec 2 16:27:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat May 21 10:24:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * encoding.c (enc_m_loader): defer finding encoding object not to
+ be infected by marshal source. [ruby-core:71793] [Bug #11760]
- * bcc32/Makefile.sub: tds files were not deleted when DESTDIR
- included '\' path delimiter. [ruby-dev:26193]
+ * 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.
-Thu May 19 19:04:29 2005 speakillof <speakillof@yahoo.co.jp>
+ * marshal.c (compat_allocator_table): initialize
+ compat_allocator_tbl on demand.
- * lib/rexml/encodings/SHIFT-JIS.rb: encoding and decoding were
- swapped. [ruby-core:4772]
+ * object.c (rb_undefined_alloc): extract from rb_obj_alloc.
-Wed May 18 23:42:25 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 2 15:12:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * error.c (exc_exception): reverted to call Exception#initialize
- directly. fixed: [ruby-dev:26177]
+ * configure.in: Fixed double negative comments.
+ [Bug #11698][ruby-core:71506]
-Wed May 18 23:39:09 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 2 14:55:01 2015 yui-knk <spiketeika@gmail.com>
- * dir.c (glob_helper): get rid of using String. [ruby-dev:26180]
+ * test/ruby/test_string.rb: removed non executing tests.
+ [Misc #11757][ruby-dev:49397]
- * dir.c (push_braces): should skip balanced braces.
+Wed Dec 2 11:23:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * eval.c (ruby_options), win32/win32.c (NtInitialize): move argument
- intialization back. [ruby-dev:26180]
+ * lib/csv.rb: enable frozen_string_literal.
+ [fix GH-1116] Patch by @marshall-lee
-Tue May 17 15:31:31 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Dec 2 10:36:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should
- break the loop if the socket reached to EOF. [ruby-talk:142285]
+ * ext/bigdecimal/bigdecimal.c: Fix double word typo.
+ [ci skip][fix GH-1120] Patch by @jwworth
-Tue May 17 11:52:18 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Wed Dec 2 07:43:51 2015 Eric Wong <e@80x24.org>
- * win32/win32.c (unixtime_to_filetime): use localtime() instead of
- gmtime() when using FileLocalTimeToFileTime().
+ * ext/openssl/ossl_ssl.c (mSSLExtConfig): make static
+ (eSSLError): ditto
+ (ID_callback_state): ditto
+ (ossl_ssl_ex_vcb_idx): ditto
+ (ossl_ssl_ex_store_p): ditto
+ (ossl_ssl_ex_ptr_idx): ditto
+ * ext/openssl/ossl_ssl.h: remove extern declarations for
+ mSSLExtConfig and eSSLError
-Mon May 16 22:28:43 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Dec 2 07:41:08 2015 Eric Wong <e@80x24.org>
- * win32/win32.h, {bcc32,win32,wince}/Makefile.sub: moved rb_[ugp]id_t
- to get rid of redefinition warnings on mingw.
+ * missing/explicit_bzero.c (explicit_bzero): fixup r52839
+ for compilers with "weak" attribute
- * class.c (rb_class_init_copy): singleton class is disallowed to copy,
- from its definition. fixed: [ruby-talk:142749]
+Wed Dec 2 06:47:25 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Mon May 16 08:52:29 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * missing/explicit_bzero.c: add ruby_explicit_bzero_hook_unused
+ for preventing optimization. Inspired from OpenBSD.
- * win32/win32.{h,c}: define rb_[pgu]id_t.
+Tue Dec 1 23:36:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon May 16 00:21:02 2005 Tanaka Akira <akr@m17n.org>
+ * thread.c (rb_thread_setname): allow to reset thread name.
- * lib/pathname.rb (Pathname#unlink): use SystemCallError instead of
- Errno::EISDIR because EISDIR is not portable.
- [ruby-core:5001]
+Tue Dec 1 23:14:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun May 15 22:11:33 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * thread.c (rb_thread_setname): check the argument if valid
+ string. [ruby-core:71774] [Bug #11756]
- * lib/drb/drb.rb (DRbObject#method_missing): use raise(exception).
- [ruby-dev:26164]
+Tue Dec 1 17:13:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun May 15 18:56:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_string_value_cstr): should not raise on frozen
+ string.
- * 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]
+Tue Dec 1 09:35:29 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Sun May 15 14:35:46 2005 Tanaka Akira <akr@m17n.org>
+ * missing/explicit_bzero.c: add a few comment.
- * lib/pathname.rb (Pathname#unlink): unlink a symlink to a directory
- was failed. [ruby-core:4992]
+Tue Dec 1 09:31:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Sun May 15 09:57:30 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * missing/explicit_bzero.c: add disabling optimization on gcc.
- * win32/win32.c (unixtime_to_filetime): deal with DST.
- [ruby-talk:141817]
+Tue Dec 1 07:50:33 2015 Eric Wong <e@80x24.org>
-Sat May 14 23:59:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * missing/explicit_bzero.c: new file. define explicit_bzero.
+ Fixup r52806
- * error.c (exc_exception, {exit,name_err,syserr}_initialize): call
- Execption#initialize. fixed: [ruby-talk:142593]
+Thu Oct 22 12:54:43 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Sat May 14 23:57:26 2005 Erik Huelsmann <ehuels@gmail.com>
+ * thread_pthread.c (register_ubf_list): renamed from
+ add_signal_thread_list.
+ * thread_pthread.c (unregister_ubf_list): renamed
+ from remove_signal_thread_list.
+ * thread_pthread.c (ubf_wakeup_all_threads): renamed from
+ ping_signal_thread_list.
+ * thread_pthread.c (ubf_wakeup_thread): renamed from
+ ubf_select_each.
+ * thread_pthread.c (ubf_threads_empty): renamed from
+ check_signal_thread_list().
+ * thread_pthread.c (ubf_list_lock): renamed from
+ signal_thread_list_lock.
- * configure.in: Check for the availability of pid_t, gid_t and uid_t and
- remove AC_TYPE_UID_T. fixed: [ruby-core:04745]
+ * thread_pthread.c (register_ubf_list): large simplification
+ by using ccan/list.h.
+ bonus: removed malloc() and exit(EXIT_FAILURE).
+ * thread_pthread.c (unregister_ubf_list): ditto.
+ * thread_pthread.c (ubf_threads_empty): ditto.
+ * thread_pthread.c (ubf_wakeup_all_threads): ditto.
- * defines.h: Remove pid_t typedef.
+ * thread_pthread.c (print_signal_list): removed.
- * ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with
- the available system types.
+Thu Oct 22 08:03:49 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * process.c: Change instances of pid_t and gid_t to their rb_*
- counterparts.
+ * test/ruby/test_rand.rb (TestRand#test_default_seed): add
+ srand case.
- * ext/pty/pty.c: Change pid_t to rb_pid_t.
+Thu Oct 22 06:33:38 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * vms/config.h: Define HAVE_{P,G,U}ID_T to 1.
+ * random.c (InitVM_Random): move Random::DEFAULT initialization
+ bits to Init_Random_default.
+ * random.c (Init_Random_default): renamed from Init_RandomSeed2.
+ * random.c (Init_RandomSeedCore): renamed from Init_RandomSeed.
- * win32/Makefile.sub: Remove #define for {g,u}id_t.
+Thu Oct 22 06:20:48 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * win32/win32.c: Change pid_t to rb_pid_t.
+ * random.c (Init_RandomSeed): move all Random::DEFAULT
+ construction bits to Init_RandomSeed2. Random::DEFAULT
+ and Ruby internal hashes are no longer shared their seed.
+ * random.c (Init_RandomSeed2): ditto. And, kill evil
+ rb_obj_reveal() stuff.
- * wince/Makefile.sub: Remove #define for {g,u}id_t.
+ * random.c (init_hashseed): add MT argument.
+ * random.c: (init_siphash): ditto.
- * wince/sys/types.h: Remove definitions of {p,g,u}id_t.
+ * test/ruby/test_rand.rb (TestRand#test_default_seed): new
+ test for Random::DEFAULT::seed.
-Fri May 13 23:44:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Oct 22 05:23:48 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/extmk.rb: keep srcdir unexpanded.
+ * random.c (init_hashseed, init_siphash): extract initialize
+ functions.
- * lib/mkmf.rb (create_makefile): quote topdir and hdrdir if necessary.
- fixed: [ruby-core:04932]
+Thu Oct 22 01:01:34 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * lib/mkmf.rb (configuration), {bcc32,win32,wince}/Makefile.sub: make
- also INSTALL_PROG and INSTALL_DATA system dependent.
- fixed: [ruby-core:04931]
+ * configure.in: sort AC_CHECK_HEADERS() by alphabetical order.
-Fri May 13 17:54:39 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Thu Oct 22 00:19:07 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * variable.c (generic_ivar_get): rb_attr_get should not warn.
- [ruby-dev:26010]
+ * random.c (init_randomseed): remove "initial" argument. It never
+ be used from outside of this function.
-Fri May 13 12:28:43 2005 Daniel Berger <djberge@qwest.com>
+Thu Oct 22 00:12:33 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * array.c (rb_ary_select): can remove argc check. [ruby-core:4911]
+ * lib/securerandom.rb (SecureRandom::gen_random): use /dev/urandom
+ for initialize OpenSSL's rand.
- * test/ruby/test_array.rb: add test for find_all.
+Wed Oct 21 12:10:04 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Fri May 13 11:29:00 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/openssl/ossl_rand.c (ossl_rand_bytes): RAND_bytes could
+ be return -1 as an error. Therefore, added error handling.
+ * ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto.
- * eval.c (unknown_node): add volatile directive to prototype.
+Wed Oct 21 09:04:09 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Thu May 12 17:08:48 2005 Tanaka Akira <akr@m17n.org>
+ * include/ruby/util.h: remove a warning suppression C4723
+ (potential divide by zero) for VisualC++. It's meaningless.
+ Before r26197, there is ruby_div0() in this place and it
+ actually made divide by zero. But now it's just garbage.
- * io.c (rb_io_eof, remain_size, read_all, io_read, appendline)
- (swallow, rb_io_each_byte, rb_io_getc): revert previous change.
+Wed Oct 21 08:23:36 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * 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.
+ * random.c: random_raw_seed don't use GRND_NONBLOCK. GRND_NONBLOCK
+ mean the result might not have an enough cryptic strength and
+ easy predictable. That's no good for SecureRandom.
-Thu May 12 16:52:20 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sun Oct 18 17:26:53 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * lib/rdoc/parsers/parse_c.rb: more readability for mixing
- progress "c..." and warning message.
+ * common.mk: add a rule for explicit_bzero.o.
+ * configure.in: detect explicit_bzero and memset_s.
+ * include/ruby/missing.h: add explicit_bzero.
+ * random.c (init_randomseed): use explicit_bzero() instead of
+ memset(). memset could be eliminated by compiler optimization.
-Thu May 12 16:31:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
+Mon Nov 30 18:46:44 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/nkf/nkf-utf8/nkf.c: follow nkf 2.0.5
+ * ext/readline/extconf.rb: call dir_config("libedit")
+ if --enable-libedit is specified. [Bug #11751]
+ patched by John Hein
-Thu May 12 16:15:01 2005 Tanaka Akira <akr@m17n.org>
+Mon Nov 30 08:44:29 2015 Eric Wong <e@80x24.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]
+ * variable.c: remove spurious #define for globals
+ [ruby-core:71735] [Feature #11749]
-Thu May 12 15:56:20 2005 Tilman Sauerbeck <tilman@code-monkey.de>
+Sun Nov 29 09:13:03 2015 Conor Landry <clandry94@gmail.com>
- * lib/rdoc/parsers/parse_c.rb: show parsing progress for C files.
- [ruby-core:4341]
+ * NEWS: [DOC] Various grammar corrections and clarifications to
+ increase readability. [Fix GH-1115]
-Thu May 12 13:47:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Nov 28 19:33:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/drb/test_drb{ssl,unix}.rb: can test drb
- before install. (backported from HEAD) [ruby-dev:26146]
+ * parse.y (parser_here_document): store dispatched result of
+ on_tstring_content at the last fragment of a here document.
-Thu May 12 09:53:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Nov 27 19:19:44 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * version.c (ruby_show_version): flush for non-tty stdout.
+ * lib/net/http.rb (connect): detect closed connection and reconnect
+ If the server closes a keep-alive http connection, the client socket
+ reaches EOF. To avoid an EOFError, detect the closed connection and
+ reconnect.
+ Added test to ensure HTTP#post succeeds even if the
+ keep-alive-connection has been closed by the server.
+ by Kristian Hanekamp <kris.hanekamp@gmail.com>
+ https://github.com/ruby/ruby/pull/1089 fix GH-1089
-Thu May 12 09:07:07 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Thu Nov 26 21:36:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/envutil.rb, test/drb/drbtest.rb: can test drb
- before install. (backported from HEAD) [ruby-Bugs-1672]
+ * compile.c (iseq_peephole_optimize): enable tail call
+ optimization for specialized indexers.
-Thu May 12 01:23:55 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (iseq_compile_each): blockiseq should be NULL, but not
+ Qnil.
- * eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at
- parser. fixed: [ruby-dev:26113]
+Thu Nov 26 17:22:53 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * 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.
+ * regcomp.c, regenc.c, regexec.c, regint.h, enc/unicode.c:
+ Merge Onigmo 58fa099ed1a34367de67fb3d06dd48d076839692
+ + https://github.com/k-takata/Onigmo/pull/52
-Wed May 11 16:20:01 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Thu Nov 26 09:50:02 2015 yui-knk <spiketeika@gmail.com>
- * lib/webrick/cgi.rb: new methods WEBrick::CGI#[], WEBrick::CGI#logger
- and WEBrick::CGI#config. (backported from HEAD)
+ * test/coverage/test_coverage.rb: Added test-case for Coverage.restart.
+ [Misc #11732][ruby-dev:49379]
- * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape_path): should
- not use String#split("/"). (backported from HEAD)
+Thu Nov 26 09:46:36 2015 yui-knk <spiketeika@gmail.com>
-Wed May 11 15:58:39 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/coverage/test_coverage.rb: Added test-case for Coverage.peek_result
+ without Coverage.start. [Misc #11726][ruby-core:71622]
- * eval.c (break_jump): break should not cross functions.
- [ruby-list:40818]
+Thu Nov 26 07:22:55 2015 Eric Wong <e@80x24.org>
-Wed May 11 10:39:37 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * test/openssl/test_ssl.rb (test_copy_stream): new test
- * lib/tempfile.rb (Tempfile#unlink): fixed typo.
+Wed Nov 25 21:23:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed May 11 01:03:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (copy_stream_body): try to_io conversion before read,
+ readpartial, and write methods. [ruby-dev:49008] [Bug #11199]
- * eval.c (TMP_ALLOC): use macro NEW_NODE() to get rid of warnings on
- platforms which have no alloca(). fixed: [ruby-talk:141301]
+Wed Nov 25 10:55:21 2015 Shugo Maeda <shugo@ruby-lang.org>
-Sun May 8 23:17:47 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * io.c (argf_getpartial): should not resize str if the second
+ argument is not given.
+ [ruby-core:71668] [Bug #11738]
- * ext/tk/lib/tk/timer.rb: fix typo.
+Tue Nov 24 23:56:25 2015 Naohisa Goto <ngotogenome@gmail.com>
-Sun May 8 16:52:56 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * configure.in: On Solaris, it is safe to define _LARGEFILE_SOURCE
+ when _FILE_OFFSET_BITS=64 is defined (= when 32-bit compile).
- * lib/profiler.rb: fixed "undefined method `[]' for nil:NilClass"
- [ruby-core:4775] [ruby-talk:140401] [ruby-dev:26118]
+Tue Nov 24 10:00:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sat May 7 22:58:00 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rubygems/installer.rb: Fix two double-word typos.
+ [ci skip][fix GH-1108] Patch by @jwworth
- * lib/mkmf.rb (have_var): no libs argument is given.
+Tue Nov 24 09:17:02 2015 Alexander von Gluck IV <kallisti5@unixzen.com>
-Sun May 1 09:58:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * beos: Drop support for BeOS now that Haiku is stable.
+ [Fix GH-1112]
- * ruby.c (process_sflag): replace '-' in variable names with '_'.
- [ruby-dev:26107]
+Tue Nov 24 09:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ruby.c (set_arg0): use also environment variable space for setting
- $0. [ruby-core:04774]
+ * internal.h (rb_gc_for_fd): move to export, as referred by
+ ext/socket.
-Wed Apr 27 23:42:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 24 09:04:29 2015 David Rodriguez <deivid.rodriguez@gmail.com>
- * win32/Makefile.sub (OPTFLAGS): default global optimization to
- disabled only for VC++6.
+ * file.c: [DOC] add a missing period to File docs, to terminate
+ the sentence and separate from the next sentence. [Fix GH-1111]
-Tue Apr 26 22:58:00 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Nov 24 08:30:06 2015 JuanitoFatas <katehuang0320@gmail.com>
- * ext/tcltklib/tcltklib.c (ip_invoke_core): call Tcl's "::unknown"
- command when can't get information of target command.
+ * NEWS: Fix the issue number of `Struct#dig`, which should be
+ [Feature #11688]. [Fix GH-1110]
-Mon Apr 25 01:18:43 2005 Tanaka Akira <akr@m17n.org>
+Tue Nov 24 07:56:54 2015 Eric Wong <e@80x24.org>
- * regex.c: declare rb_warn to have variadic argument. [ruby-core:4751]
+ * ext/socket/init.c (rsock_s_accept): handle ENOMEM
-Sat Apr 23 19:45:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Nov 24 07:50:15 2015 Eric Wong <e@80x24.org>
- * ext/tcltklib/tcltklib.c (ip_RubyExitCommand): exit with status code
- via TclTkIp#_eval didn't work. [ruby-talk:139390]
+ * dir.c (dir_initialize): use rb_gc_for_fd for ENOMEM
+ * ext/socket/init.c (rsock_socket): ditto
+ * ext/socket/socket.c (rsock_socketpair): ditto
+ * internal.h (rb_gc_for_fd): prototype
+ * io.c (rb_gc_for_fd): remove static
+ [ruby-core:71623] [Feature #11727]
-Fri Apr 22 16:41:50 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Tue Nov 24 06:46:27 2015 Eric Wong <e@80x24.org>
- * ext/tcltklib/tcltklib.c (ip_set_exc_message): fixed memory leak.
+ * io.c (rb_gc_for_fd): new helper function
+ (ruby_dup): use rb_gc_for_fd
+ (rb_sysopen): ditto
+ (rb_fdopen): ditto
+ (rb_pipe): ditto
+ [ruby-core:71623] [Feature #11727]
- * ext/tcltklib/tcltklib.c: eTkCallbackReturn was not initialized.
+Tue Nov 24 05:13:35 2015 Eric Wong <e@80x24.org>
-Thu Apr 21 00:07:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/fiddle/function.c (struct nogvl_ffi_call_args):
+ new struct for GVL release
+ (nogvl_ffi_call): new function
+ (function_call): adjust for GVL release
+ [ruby-core:71642] [Feature #11607]
+ * ext/fiddle/closure.c (struct callback_args):
+ new struct for GVL acquire
+ (with_gvl_callback): adjusted original callback function
+ (callback): wrapper for conditional GVL acquire
+ * ext/fiddle/depend: add dependencies
+ * ext/fiddle/extconf.rb: include top_srcdir for internal.h
+ * internal.h (ruby_thread_has_gvl_p): expose for fiddle
+ * vm_core.h (ruby_thread_has_gvl_p): moved to internal.h
+ * test/fiddle/test_function.rb (test_nogvl_poll): new test
- * lib/mkmf.rb (create_makefile): support platforms have file separator
- other than /.
+Mon Nov 23 19:53:12 2015 Naohisa Goto <ngotogenome@gmail.com>
- * {bcc32,win32,wince}/Makefile.sub (BUILD_FILE_SEPARATOR): separator
- of building platform.
+ * configure.in: On Solaris, with gcc, "-std=iso9899:1999"
+ in $ansi_options is often also needed in CPPFLAGS,
+ because some feature definitions vary depending on such
+ standards options.
- * {bcc32,win32,wince}/Makefile.sub (CP, INSTALL): use COPY command.
+Mon Nov 23 12:54:39 2015 Hamish Morrison <hamishm53@gmail.com>
-Wed Apr 20 23:22:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in: remove obsolete workarounds for Haiku.
- * Makefile.in, common.mk: miniruby depens on MINIOBJS.
+ * dln.c, file.c, io.c: remove obsolete Haiku workarounds.
- * dmydln.c (dln_load): dummy function to raise LoadError.
+ * thread_pthread.c: add stack bounds detection for Haiku.
- * cygwin/GNUmakefile.in, {bcc32,win32,wince}/Makefile.sub: miniruby
- can't load extensions on Windows.
+ * signal.c: get stack pointer from signal context on Haiku.
+ [ruby-core:67923] [Bug #10811] [Fix GH-1109]
-Wed Apr 20 23:01:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Nov 23 11:44:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * win32/ifchange.bat: delete testing files.
+ * gems/bundled_gems: bump version to minitest-5.8.3
-Wed Apr 20 07:27:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Nov 23 08:55:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * {bcc32,win32,wince}/configure.bat, {bcc32,win32,wince}/setup.mak:
- add extout option.
+ * ChangeLog: fix wrong reference for r52714
- * bcc32/setup.mak: make configuration variables overridable.
+Sun Nov 22 22:23:37 2015 Rei Odaira <Rei.Odaira@gmail.com>
-Wed Apr 20 04:15:27 2005 Keiju Ishitsuka <keiju@ruby-lang.org>
+ * gc.c (rb_raw_obj_info): fix compile errors when USE_RGENGC
+ is 0.
- * lib/irb.rb lib/irb/* doc/irb: IRB 0.9.5
+Sun Nov 22 21:58:09 2015 Naohisa Goto <ngotogenome@gmail.com>
-Tue Apr 19 23:37:09 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+ * lib/cmath.rb: methods which has suffix '!' are now deprecated.
+ Re-apply r52469 made by Kazuki Tanaka, with fixing bug about
+ mathn.rb compatibility. [ruby-core:68528] [Feature #10974]
- * lib/ftools.rb (File.safe_unlink): do not modify a symlinked file.
+Sun Nov 22 19:36:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Tue Apr 19 00:06:20 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl.c: fix brew command for installation of openssl.
+ [ci skip][fix GH-1107] Patch by @arthurnn
- * ext/extmk.rb: expand path for ext/**/extconf.rb.
+Sun Nov 22 17:59:50 2015 Naohisa Goto <ngotogenome@gmail.com>
-Mon Apr 18 11:25:14 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * configure.in: On Solaris, add -D_XOPEN_SOURCE=n only when both
+ AC_TRY_CPP and AC_TRY_COMPILE pass, because some options
+ (e.g. -std=iso9899:1999) are not set when running C preprocessor
+ or building ext.
- * ext/zlib/zlib.c (zstream_run): fixed SEGV. [ruby-core:4712]
+Sun Nov 22 16:53:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Apr 17 23:57:49 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (iseq_peephole_optimize): remove unreachable code
+ chunk after jump/leave.
- * ext/extmk.rb (extmake, parse_args): do not expand destdir.
+ * parse.y: move dead code elimination of logical operation to
+ compile.c. not to warn logical operation of literal constants.
- * ext/extmk.rb (relative_from): treat mere drive letter as an absolute
- path.
+Sun Nov 22 16:37:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Apr 16 17:01:16 2005 Kouhei Sutou <kou@cozmixng.org>
+ * compile.c (iseq_peephole_optimize): eliminate always/never
+ branches after a literal object and when the value is used after
+ the branch.
- * 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.
+Sun Nov 22 01:23:43 2015 Naohisa Goto <ngotogenome@gmail.com>
-Sat Apr 16 15:27:03 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in: Add -D_XOPEN_SOURCE=500 (or 600 or 700) on Solaris
+ if available, mainly for enabling some features in sockets.
- * 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]
+Sun Nov 22 00:17:22 2015 Naohisa Goto <ngotogenome@gmail.com>
- * mkconfig.rb: purge autoconf value variables.
+ * test/socket/test_socket.rb (test/socket/test_socket.rb): skip
+ the test when Socket::SO_TIMESTAMP is not defined. Fix error
+ on Solaris 10. [Bug #11728] [ruby-dev:49377]
-Sat Apr 16 10:36:01 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Nov 21 18:57:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * bcc32/Makefile.sub: quick hack... prepend DESTDIR.
- still have restriction on DESTDIR ("", "/", "e:")
+ * ruby.c (need_argument): move frozen-string-literal-debug option
+ from --enable to --debug. [Feature #11725]
-Sat Apr 16 03:59:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * ruby.c (proc_options): fix pointer overrun. do not advance argv
+ until it is valid.
- * ext/openssl/extconf.rb: check for OPENSSL_cleanse.
+Sat Nov 21 13:59:09 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/openssl/openssl_missing.h: ditto.
+ * ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 is
+ SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html
-Thu Apr 14 19:18:30 2005 Minero Aoki <aamine@loveruby.net>
+Sat Nov 21 13:31:52 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/fileutils.rb (remove_file): ignore exceptions caused by
- chmod.
+ * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid
+ including ext/digest/extconf.h. [Bug #3231]
+ https://msdn.microsoft.com/library/36k2cdd4.aspx
- * lib/fileutils.rb (remove_dir): try to get rights to rmdir.
- [ruby-Bugs:1502] (2 items backportted from HEAD, rev 1.53-54)
+ * ext/digest/*/extconf.rb: remove ext/digest from include search path
+ to avoid confusion of cl.exe.
-Thu Apr 14 16:57:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/*/*.[ch]: explicitly specify def.h's path.
- * bcc32/Makefile.sub: failed to remove debug information files.
- fixed: [ruby-dev:26034]
+Sat Nov 21 13:05:16 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Apr 13 23:40:21 2005 Kouhei Sutou <kou@cozmixng.org>
+ * ext/openssl/ossl.h: LibreSSL doesn't have and need e_os2.h.
- * lib/rss/rss.rb (RSS::VERSION): 0.1.3 -> 0.1.4.
+Sat Nov 21 09:18:10 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss/rss.rb (RSS::Element#converter): fixed converter
- transmission bug.
+ * thread_sync.c: reduce the specification of Queue#close.
+ * Queue#close accepts no arguments.
+ * deq'ing on closed queue returns nil, always.
+ [Feature #10600]
-Wed Apr 13 21:20:35 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+ * test/thread/test_queue.rb: catch up this fix.
- * configure.in (mingw32): extract msvcr*.dll from objdump result.
+Sat Nov 21 08:44:21 2015 Koichi Sasada <ko1@atdot.net>
-Wed Apr 13 20:24:30 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (iseq_compile_each): add debug information to NODE_STR
+ strings as default.
+ [Feature #11725]
- * configure.in (mingw32): use actual runtime DLL name as ruby DLL
- name and default load path.
+ * insns.def (freezestring): add new instruction to support adding
+ debug information for dynamically constructed strings.
- * win32/Makefile.sub, win32/setup.mak: ditto.
+ * compile.c (iseq_compile_each): support adding debug information
+ for NODE_DSTR with freezestring instruction.
-Tue Apr 12 15:33:09 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * error.c (rb_error_frozen): change the debug information ID name
+ id_debug_created_info and this field should have a 2 element array
+ containing path and line information.
- * ext/tcltklib/tcltklib.c (ip_finalize): better modification than the
- previous commit [ruby-dev:26029].
+ * defs/id.def: ditto.
-Tue Apr 12 12:38:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * test/ruby/test_rubyoptions.rb: catch up this fix.
- * ext/tcltklib/tcltklib.c (ip_finalize): fix SEGV when Tcl_GlobalEval()
- modifies the argument string to eval.
+ * test/ruby/test_iseq.rb: now frozen strings are not same.
-Tue Apr 12 02:21:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sat Nov 21 04:34:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/tcltklib.c (ip_finalize): add existence check of
- Tcl commands before calling Tcl_GlobalEval().
+ * symbol.c (rb_str_intern): should not freeze the receiver itself
+ unexpectedly. [ruby-core:71611] [Bug #11721]
-Mon Apr 11 23:47:21 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Fri Nov 20 23:15:18 2015 Naotoshi Seo <sonots@gmail.com>
- * lib/drb/drb.rb: [druby-ja:123] fix: When reference of my object is
- loaded, the object is tainted.
+ * lib/logger.rb: expose logger mutex
+ [fix GH-541] Patch by @arthurnn
- * test/drb/test_drb.rb: ditto.
+Fri Nov 20 15:05:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Apr 11 22:18:23 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+ * Added missing reference of GitHub
- * dir.c, file.c (lstat): avoid warnings for mingw.
+Fri Nov 20 14:57:01 2015 Trevor Rowe <trevorrowe@gmail.com>
-Mon Apr 11 20:11:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * 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.
- * ext/tcltklib/tcltklib.c (ip_finalize): adhoc patch to avoid SEGV
- when exit on Tcl/Tk8.3.x.
+Fri Nov 20 14:39:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Apr 11 15:26:25 2005 NAKAMURA Usaku <usa@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 (configuration): shouldn't output hdrdir twice.
+Fri Nov 20 12:53:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Apr 11 12:09:05 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * array.c: clarify docs for take_while/drop_while samples.
+ [ci skip][fix GH-1028] Patch by @leriksen
- * {bcc32,win32,wince}/Makefile.sub: ri data was not installed
- into correct path. [ruby-dev:26011]
+Fri Nov 20 12:48:04 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * bcc32/Makefile.sub: defaulted install-nodoc. [ruby-dev:26011]
+ * ext/socket/socket.c: remove mention of :UNIX in getaddrinfo().
+ It's typically not a support option.
+ [ci skip][fix GH-990] Patch by @eam
-Sun Apr 10 10:12:42 2005 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Fri Nov 20 12:44:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/win32ole/win32ole.c(ole_invoke): retry after converting Qnil
- to VT_EMPTY.
+ * lib/rss/syndication.rb: Add nodoc marker for #validate_sy_updatePeriod.
+ [ci skip][fix GH-1105] Patch by @davydovanton
- * ext/win32ole/win32ole/tests/testWIN32OLE.rb: correct error
- message string "Unknown" => "unknown".
+Fri Nov 20 09:05:21 2015 Koichi Sasada <ko1@atdot.net>
-Sat Apr 9 18:20:31 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm.c (rb_vm_cref_replace_with_duplicated_cref): added.
- * ext/tk/lib/tk/image.rb: support to create TkImage object without
- creating a new image object on Tk.
+ CREFs should not be shared by methods between `using'.
+ [Bug #11247]
- * ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()
+ * vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto.
- * ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.
+ * vm.c (vm_cref_dup): should copy refinements correctly.
- * ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString
- from (x, y) coords.
+ * eval.c: use rb_vm_cref_replace_with_duplicated_cref().
- * ext/tk/lib/tkextlib/tile/: add demo and update support status.
+ * eval_intern.h: add a decl. of
+ rb_vm_cref_replace_with_duplicated_cref().
-Sat Apr 9 14:42:29 2005 Kouhei Sutou <kou@cozmixng.org>
+ * vm_eval.c (eval_string_with_cref): do not need to pass
+ scope's CREF because VM can find out CREF from stack frames.
- * sample/rss/tdiary_plugin/rss-recent.rb: supported configuration
- via Web browser.
+ * test/ruby/test_refinement.rb: add a test.
-Sat Apr 9 11:59:57 2005 Kouhei Sutou <kou@cozmixng.org>
+Fri Nov 20 06:52:53 2015 Eric Wong <e@80x24.org>
- * lib/rss: backoported from HEAD.
+ * .gitattributes: new file for git users
+ [ruby-core:71578] [Feature #11713]
- * lib/rss: refactored.
- - gave a name to 'x'.
- - undef_method -> remove_method for avoiding a warning in ruby 1.6.
+Thu Nov 19 22:35:31 2015 Tanaka Akira <akr@fsij.org>
+ * ext/socket/ancdata.c: Check buffer full and ignore MSG_TRUNC flag.
+ buffer fullness is more robust to detect the message is too big for
+ the buffer.
+ AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is
+ given.
- * lib/rss/parser.rb: @@setter -> @@setters.
+Thu Nov 19 21:55:11 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * gc.c (gc_start): force to invoke GC by GC.start
+ even if it is GC.disable'd.
- * 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.
+ * test/ruby/test_gc.rb: add a test.
- * lib/rss/parser.rb
- (RSS::BaseListener.install_setter)
- (RSS::BaseListener.register_uri): changed fallback way.
+Thu Nov 19 20:08:59 2015 Koichi Sasada <ko1@atdot.net>
- * 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.)
+ * gc.c: trivial performance improvements.
+ name modified
+ vm1_gc_short_lived* 1.015
+ vm1_gc_short_with_complex_long* 1.014
+ vm1_gc_short_with_long* 1.000
+ vm1_gc_short_with_symbol* 1.016
+ vm1_gc_wb_ary* 1.002
+ vm1_gc_wb_ary_promoted* 0.996
+ vm1_gc_wb_obj* 1.045
+ vm1_gc_wb_obj_promoted* 1.014
+ vm3_gc 1.021
- * lib/rss/dublincore.rb: supported multiple Dublin Core items.
- * lib/rss/maker/dublincore.rb: ditto.
+ * gc.c (gc_writebarrier_generational): reorder parameters to optimize
+ register passing function call.
- * lib/rss/maker/image.rb: supproted new Dublin Core API.
+ * gc.c (gc_writebarrier_incremental): ditto.
+ * gc.c (rb_gc_writebarrier): remove LIKELY().
+ LIKELY() seems to move related functions not better places.
- * lib/rss/maker/base.rb: added default current_element implementation.
+Thu Nov 19 19:45:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of
+ the executable. [ruby-core:71561] [Bug #11711]
- * lib/rss/trackback.rb (RSS::TrackBackUtils.new_with_value_if_need):
- moved to RSS::Utils.
+Thu Nov 19 15:53:21 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss/utils.rb (RSS::Utils.new_with_value_if_need):
- moved from RSS::TrackBackUtils.
+ * signal.c: should also clear ruby_disable_gc.
+ [Bug #11692]
+Thu Nov 19 15:31:45 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss/maker/image.rb: fixed invalid argument of
- add_need_initialize_variable bug.
- * lib/rss/maker/trackback.rb: ditto.
+ * compile.c (iseq_compile_each): T_IMEMO/iseq objects should be
+ wrap with ISeq wrappers. [Bug #11676]
+Thu Nov 19 15:16:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/rss/rss.rb (Hash#merge): added for ruby 1.6.
+ * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(c6b4946).
+ this version includes #1114, #1314, #1322, #1375, #1383, #1387
+ * test/rubygems: ditto.
- * lib/rss/rss.rb (RSS::BaseModel.date_writer): changed to accept nil
- for date value.
+Thu Nov 19 14:14:37 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+ * win32/win32.c (finish_overlapped_socket): return value of this
+ function should be only 0 or SOCKET_ERROR.
- * test/test_dublincore.rb: added tests for plural accessor and
- multiple Dublin Core items.
+Thu Nov 19 14:12:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/test_setup_maker_1.0.rb: fixed swapped actual and expected
- values.
+ * compile.c (iseq_tailcall_optimize): apply tail call optimization
+ before conversion to specialized instructions. when looking
+ back from `leave` instruction, `send` instructions have been
+ translated already.
- * test/rss/rss-assertions.rb (assert_multiple_dublin_core): added
- an assertion for testing multiple Dublin Core items.
+Thu Nov 19 13:57:58 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/rss/test_maker_dc.rb (test_rss10_multiple): added a test
- for making multiple Dublin Core items.
+ * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,
+ because POSIX platforms just do so. fixes test errors revealed by
+ r52647.
- * test/rss/test_maker_dc.rb (test_date): added a test for #date=
- and #dc_date=.
+Thu Nov 19 02:52:30 2015 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size
+ only when vmaxdatlen is nil.
- * sample/rss/tdiary_plugin/rss-recent.rb:
- new option: @options['rss-recent.use-image-link']:
- use image as link instread of text if available.
+Thu Nov 19 02:20:11 2015 Tanaka Akira <akr@fsij.org>
- * sample/rss/tdiary_plugin/rss-recent.rb (RSS_RECENT_VERSION):
- 0.0.5 -> 0.0.6.
+ * test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is
+ nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL.
+ Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709]
-Fri Apr 8 20:17:48 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Nov 19 01:48:05 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/extmk.rb (extmake): hdrdir needs to be defined also in
- Config::CONFIG.
+ * configure.in: add -static-libgcc for mingw automatically if available.
- * lib/mkmf.rb (configuration, create_makefile): get rid of recursive
- macro reference.
+Thu Nov 19 00:53:26 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Apr 8 18:26:56 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children,
+ especially exts.mk.
- * 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.
+ * common.mk (EXTMK_ARGS): use above option.
- * ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): ignore the
- argument if it's nil.
+Wed Nov 18 22:50:43 2015 Koichi Sasada <ko1@atdot.net>
- * ext/openssl/ossl_pkey.c
- (GetPrivPKeyPtr, ossl_pkey_sign): should call rb_funcall first.
- (DupPrivPKeyPtr): new function.
+ * vm_method.c (rb_class_clear_method_cache): should clear all
+ RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS).
- * ext/openssl/ossl_pkey_dh.c: add default DH parameters.
+ RCLASS_CALLABLE_M_TBL() caches complemented method entries.
+ It should be cleared when the modules are cleared.
+ On previous version clears only for direct children.
+ It is enough for normal modules because corresponding T_ICLASSes
+ are direct children.
- * ext/openssl/ossl_pkey.h: ditto.
+ However, refinements create complex data structure. So that
+ we need to clear all children (and descendants).
+ [ruby-core:71423] [Bug #11672]
-Fri Apr 8 01:55:20 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_method.c (rb_clear_method_cache_by_class): rb_mKernel
+ doesn't call rb_class_clear_method_cache, so that
+ clear child T_ICLASSes.
- * ext/tk/sample/demos-{en,jp}/goldberg.rb: reduced window size.
- [ruby-dev:25992]
+ * test/ruby/test_refinement.rb: enable disabled test.
-Thu Apr 7 23:58:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 18 21:09:08 2015 Koichi Sasada <ko1@atdot.net>
- * ext/extmk.rb (extmake): keep directory names in Makefile as macros.
+ * vm_method.c (prepare_callable_method_entry): use
+ RCLASS_CALLABLE_M_TBL() instead of accessing a filed directly.
- * lib/mkmf.rb (configuration, create_makefile): ditto.
+Wed Nov 18 17:08:18 2015 Koichi Sasada <ko1@atdot.net>
- * lib/mkmf.rb (CXX_EXT): separate C++ extensions.
+ * method.h: introduce the following field and macros.
-Thu Apr 7 17:43:25 2005 Shugo Maeda <shugo@ruby-lang.org>
+ * rb_method_definition_t::complemented_count to count shared method
+ entries because of complemented method entries and separate from
+ alias_count.
- * eval.c (rb_call0): "return" event hook should be always executed
- if event_hooks is set. fixed: [ruby-core:04662]
- (backported from HEAD)
+ Shared `def' only by complemented method entries should not prevent
+ method re-definition warning.
-Mon Apr 4 23:17:52 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * METHOD_ENTRY_COMPLEMENTED(me) to represent complemented method entry.
+ * METHOD_ENTRY_COMPLEMENTED_SET(me) to check it as complemented me.
- * ext/tk/lib/tk.rb (TkComm#array2tk_list): accept enc-mode argument to
- decide whether convert encoding of each element or not.
+ * vm_insnhelper.c (aliased_callable_method_entry): should also
+ check me->def->complemented_count.
- * ext/tk/lib/tk/variable.rb (TkVariable#value=): fail to convert the
- encoding of array elements when assign an array to an TkVariable
- object.
+ * vm_method.c (method_definition_addref_complement): add to count
+ complemented method entries number.
-Mon Apr 4 10:26:48 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * vm_method.c (rb_method_definition_release): release `def' iff
+ alias_count == 0 and complemented_count == 0.
- * ext/tk/lib/tk/dialog.rb: fixed typo.
+ * test/ruby/test_module.rb: add a test.
-Sun Apr 3 17:16:33 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Wed Nov 18 17:06:19 2015 Koichi Sasada <ko1@atdot.net>
- * win32/win32.{h,c} (rb_w32_fdopen): avoid warning on bcc32.
- (backported from HEAD)
+ * gc.c (rb_raw_obj_info): fix trivial issues.
-Sat Apr 2 23:38:54 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * support SPECIAL_CONSTs.
+ * fix IMEMO/ment outputs.
- * configure.in (CP, INSTALL): get rid of less portable options.
+Wed Nov 18 11:32:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb (configuration, create_makefile): correct configuration
+ * compile.c (iseq_peephole_optimize): eliminate always/never
+ branches after a literal object. this sequence typically
+ appears by defined? operator for a method call on a local
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
+Wed Nov 18 10:33:06 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/tk/lib/tk/variable.rb: fix namespace trouble when autoloading
+ * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size
+ when EMSGSIZE occurs on non HAVE_STRUCT_MSGHDR_MSG_CONTROL platforms
+ (such as, Windows). fixes a test error revealed by r52625.
- * ext/tk/lib/tk/palette.rb: define Tcl variable 'tkPalette' as global
+Wed Nov 18 10:12:36 2015 Eric Wong <e@80x24.org>
- * ext/tk/lib/tk/dialog.rb: use array2tk_list method when calling
- Tk.ip_eval.
+ * ext/socket/ancdata.c (bsock_recvmsg_internal): use 4096 as
+ default size to match pre-r52610, which also maps to a common
+ page size.
- * ext/tk/lib/tk/autoload.rb: add autoload entry 'TkDialogObj' and
- 'TkWarningObj'
+Wed Nov 18 10:05:25 2015 Shugo Maeda <shugo@ruby-lang.org>
-Sat Apr 2 02:19:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * doc/syntax/refinements.rdoc: update documentation to reflect
+ recent changes.
+ [ci skip] [ruby-core:71466] [Misc #11681] Patch by James Adam
- * 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.
+Wed Nov 18 09:50:21 2015 Naotoshi Seo <sonots@gmail.com>
- * ext/tk/lib/tk/image.rb (TkImage.initialize): accept 'imagename'
- option to create a image object by the given name.
+ * test/logger/test_logdevice.rb: Fix tests of logger to make it work on
+ windows (windows can not remove opened file) [Bug #11702]
-Thu Mar 31 22:23:51 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Nov 18 06:59:52 2015 Eric Wong <e@80x24.org>
- * lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case
- insensitive file system platforms.
+ * ext/socket/ancdata.c (bsock_recvmsg_internal): grow buffer
+ on unspecified maxdatlen
+ [ruby-core:71517] [Bug #11701]
+ * ext/socket/lib/socket.rb (Socket#recvmsg): nil default for dlen
+ (Socket#recvmsg_nonblock): ditto
+ * test/socket/test_socket.rb (test_recvmsg_udp_no_arg): new test
- * README.EXT, README.EXT.ja (Appendix C): utility functions.
+Tue Nov 17 19:50:06 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Mar 31 14:15:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * win32/win32.c (fstat): declare for mingw.
- * ext/openssl/ossl_engine.c (ossl_engine_s_load): should return
- value. [ruby-dev:25971]
+Tue Nov 17 19:02:59 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Mar 31 08:25:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in (BASERUBY): use Kernel#print instead of Kernel#p because
+ the baseruby may output CRLF as end of line.
- * common.mk (RUBYOPT): clear for the environment RubyGems installed.
+Tue Nov 17 15:34:34 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * NEWS: Added update from Unicode 7.0.0 to 8.0.0 [ci skip]
- * common.mk (clean-local): keep $(PREP) files till distclean.
+Tue Nov 17 15:30:30 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * enc/unicode/casefold.h, name2ctype.h: Change Unicode
+ Version for regular expressions from 7.0.0 to
+ 8.0.0 (with help from Kimihito Matsui) [Feature #11563]
- * common.mk (check): do all tests.
+Tue Nov 17 14:36:00 2015 Kenichi Kamiya <kachick1@gmail.com>
-Thu Mar 31 06:00:20 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/ostruct.rb (dig): Implement OpenStruct#dig
+ [Feature #11688]
- * 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.)
+Tue Nov 17 14:04:14 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Mar 31 00:18:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * ext/socket/lib/socket.rb (Socket#recvmsg{,_nonblock}): default values
+ of clen must be nil.
- * win32/ifchange.bat, win32/rm.bat: backported from HEAD.
+ * ext/socket/ancdata.c (bsock_sendmsg_internal): handle nil of clen.
+ fixes test errors introduced at r52602.
-Wed Mar 30 23:44:50 2005 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+Tue Nov 17 13:43:46 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * 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]
+ * ext/socket/lib/socket.rb: UNIXSocket is not always exists. fixes
+ install error on Windows, introduced at r52601.
-Wed Mar 30 17:41:48 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Nov 17 11:27:23 2015 Eric Wong <e@80x24.org>
- * ext/tcltklib/tcltklib.c: add TclTkIp#_create_console() method to
- create a Tcl/Tk's console window.
+ * ext/socket/lib/socket.rb (Socket#recvfrom_nonblock):
+ UDPSocket#recvfrom_nonblock):
+ update doc for `exception: false` and destination buffer
+ [ruby-core:69542] [Feature #11229]
+ [ruby-core:69543] [Feature #11242]
- * ext/tk/lib/multi-tk.rb: support TclTkIp#_create_console() method.
+Tue Nov 17 11:25:05 2015 Eric Turner <ericturnerdev@gmail.com>
- * ext/tk/lib/remote-tk.rb: ditto.
+ * array.c (rb_ary_dig), hash.c (rb_hash_dig): [DOC] Update
+ comments describing dig methods. [Fix GH-1103]
- * ext/tk/lib/tk/console.rb: ditto.
+ * struct.c (rb_struct_dig): [DOC] add rdoc.
- * ext/tk/lib/tk.rb: update RELEASE_DATE
+Tue Nov 17 11:22:22 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
+ * NEWS: Small grammatical fix [ci skip]
- * ext/tk/sample/demo-*/check2.rb: use 'return' in the Proc object.
+Tue Nov 17 10:12:30 2015 Eric Wong <e@80x24.org>
- * ext/tk/sample/tkextlib/**: ditto.
+ * ext/socket/lib/socket.rb (Socket.accept_loop): avoid exceptions
+ (Socket.udp_server_recv): ditto
-Tue Mar 29 22:11:56 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue Nov 17 09:59:00 2015 Eric Wong <e@80x24.org>
- * test/rinda/test_rinda.rb: use DRbObject.new_with instead of reinit.
- [ruby-dev:25961]
+ * ext/socket/ancdata.c (bsock_sendmsg_internal): avoid arg parsing
+ [ruby-core:71439] [Feature #11339]
+ (rsock_bsock_sendmsg): make private, adjust for above
+ (rsock_bsock_sendmsg_nonblock): ditto
+ * ext/socket/rubysocket.h: adjust prototypes
+ (rsock_opt_false_p): remove
+ * ext/socket/basicsocket.c (rsock_init_basicsocket):
+ define private methods
+ * ext/socket/lib/socket.rb (BasicSocket#sendmsg): new wrapper
+ (BasicSocket#sendmsg_nonblock): ditto
-Mon Mar 28 23:40:40 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue Nov 17 09:45:18 2015 Eric Wong <e@80x24.org>
- * 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]
+ * ext/socket/ancdata.c (bsock_recvmsg_internal): avoid arg parsing
+ (rsock_bsock_recvmsg): adjust for above change
+ (rsock_bsock_recvmsg_nonblock): ditto
+ [ruby-core:71439] [Feature #11339]
+ * ext/socket/rubysocket.h: adjust prototypes for above
+ * ext/socket/basicsocket.c (rsock_init_basicsocket):
+ adjust private methods
+ * ext/socket/lib/socket.rb (BasicSocket#recvmsg): wrapper method
+ (BasicSocket#recvmsg_nonblock): ditto
- * lib/drb/gw.rb: ditto.
+Tue Nov 17 08:36:34 2015 Eric Wong <e@80x24.org>
-Mon Mar 28 20:43:34 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/init.c (rsock_s_accept_nonblock): avoid parsing args
+ [ruby-core:71439] [Feature #11339]
+ * ext/socket/rubysocket.h: adjust prototype
+ * ext/socket/socket.c (sock_accept_nonblock): make private
+ * ext/socket/tcpserver.c (tcp_accept_nonblock): ditto
+ * ext/socket/unixserver.c (unix_accept_nonblock): ditto
+ * ext/socket/lib/socket.rb (Socket#accept_nonblock):
+ implement as wrapper, move RDoc
+ (TCPServer#accept_nonblock): ditto
+ (UNIXServer#accept_nonblock): ditto
- * ext/syck/rubyext.c: get rid of warnings caused by a bug of VC.
+Tue Nov 17 08:25:57 2015 Eric Wong <e@80x24.org>
-Mon Mar 28 08:39:49 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (sock_connect_nonblock):
+ avoid argument parsing in C.
+ [ruby-core:71439] [Feature #11339]
+ * ext/socket/lib/socket.rb (Socket#connect_nonblock):
+ new wrapper for private method, move RDoc
- * ext/iconv/iconv.c (iconv_create): Iconv::Failure requires 3
- arguments. (pointed out by NaHi)
+Tue Nov 17 08:16:09 2015 Eric Wong <e@80x24.org>
-Sat Mar 26 22:51:33 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/socket/init.c (rsock_s_recvfrom_nonblock):
+ avoid arg parsing with C API
+ [ruby-core:71439] [Feature #11339]
+ * ext/socket/basicsocket.c (bsock_recv_nonblock):
+ adjust for above change, make private
+ * ext/socket/socket.c (sock_recvfrom_nonblock): ditto
+ * ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto
+ * ext/socket/lib/socket.rb (BasicSocket#recv_nonblock):
+ new wrapper for private method, move RDoc
+ (Socket#recvfrom_nonblock): ditto
+ (UDPSocket#recvfrom_nonblock): ditto
- * ext/tk/lib/tk.rb (_callback_entry_class?): add for checking whether
- a class is available for a callback entry.
+Mon Nov 16 21:27:54 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/tk/lib/tk.rb (after_cancel): add Tk.after_cancel(afterID) method.
+ * test/dtrace/helper.rb (Dtrace::TestCase#trap_probe): dtrace buffer
+ size is set as 8m on Solaris (default 4m). [Bug #11697]
- * ext/tk/lib/tk.rb (array2tk_list): change from private module method
- of TkComm to public module method.
+Mon Nov 16 20:03:14 2015 Naotoshi Seo <sonots@gmail.com>
- * ext/tk/lib/tk.rb (cget): add check that slot argument is not
- empty string.
+ * lib/logger.rb: Add Logger#reopen
- * ext/tk/lib/tk.rb (configinfo): ditto.
+Mon Nov 16 18:21:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/itemconfig.rb (itemcget): add check that slot argument
- is not empty string.
+ * object.c (rb_obj_dig): dig in nested structs too.
- * ext/tk/lib/tk/itemconfig.rb (itemconfiginfo): ditto.
+ * struct.c (rb_struct_dig): new method Struct#dig.
+ [Feature #11688]
- * ext/tk/lib/tk/entry.rb: add TkEntry#icursor and icursor= (alias of
- cursor and cursor= method).
+Mon Nov 16 17:41:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/font.rb: improve font treatment when the font name is
- empty string.
+ * compile.c (iseq_peephole_optimize): optimize tail calls on aref
+ and aset specialized instructions.
- * ext/tk/lib/tk/variable.rb: add :variable, :window and :procedure
- type.
+ * compile.c (iseq_peephole_optimize): optimize replaced leave
+ instruction copied to jump instruction too.
- * ext/tk/lib/tk/variable.rb: improve treatment of array-type
- tkvariable.
+Mon Nov 16 16:39:38 2015 Akinori MUSHA <knu@iDaemons.org>
- * ext/tk/lib/tkextlib/blt.rb: add commands for zooming.
+ * lib/set.rb: Enable frozen_string_literal.
- * ext/tk/lib/tkextlib/blt/*: bug fix.
+ * lib/set.rb: Move << out of the begin block that ensures pop.
- * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and add methods
- to call TreeCtrl commands for bindings.
+Mon Nov 16 16:28:30 2015 Akinori MUSHA <knu@iDaemons.org>
- * ext/tk/sample/tkextlib/blt/*: new sample scripts.
+ * lib/set.rb (Hash#flatten!, #add?, #delete?, #collect!, #reject!,
+ #select!, #^, #classify): Micro-optimize some methods for
+ performance and readability.
- * ext/tk/sample/tkextlib/treectrl/*: ditto.
+Mon Nov 16 16:17:58 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Mar 25 10:53:16 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+ * ChangeLog: fixed accidentally commit.
- * configure.in (WIN32_LEAN_AND_MEAN): removed because a lot of
- troubles. [ruby-list:40721]
+Mon Nov 16 16:10:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Thu Mar 24 23:10:44 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * mkconfig.rb: Add some high-level documentation.
+ [ci skip][fix GH-1081] Patch by @ulfalizer
- * lib/mkmf.rb (macro_defined?): try to compile for an old compiler
- which doesn't bail out at #error directive. [ruby-dev:25818]
+Mon Nov 16 15:59:14 2015 yui-knk <spiketeika@gmail.com>
- * lib/mkmf.rb (check_sizeof): refine logging messages.
+ * proc.c: Add call-seq of `Method#super_method`
+ [ci skip][fix GH-1094]
-Thu Mar 24 03:57:48 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Nov 16 15:58:39 2015 Kenichi Kamiya <kachick1@gmail.com>
- * 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.
+ * struct.c: Standardize a method signature of Struct#[]=.
+ [ci skip][fix GH-1095]
- * lib/webrick/server.rb (WEBrick::GenericServer#initialize): if :Port
- parameter is 0, it should be updated with the port number which
- actually listened.
+Mon Nov 16 15:42:36 2015 Akinori MUSHA <knu@iDaemons.org>
-Wed Mar 23 00:35:10 2005 Shugo Maeda <shugo@ruby-lang.org>
+ * lib/set.rb (#>=, #>, #<=, #<): Make use of Hash#>=, #>, #<, and
+ #<= when comparing against an instance of the same kind.
- * test/ruby/test_settracefunc.rb (test_event): added tests for
- "class" and "end" and "raise".
+Mon Nov 16 15:37:11 2015 Naotoshi Seo <sonots@gmail.com>
-Tue Mar 22 22:40:18 2005 Shugo Maeda <shugo@ruby-lang.org>
+ * lib/logger.rb: Support symbol and string log level setting
- * eval.c (rb_call0): check event_hooks instead of trace_func.
+Mon Nov 16 15:33:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Tue Mar 22 17:30:44 2005 Shugo Maeda <shugo@ruby-lang.org>
+ * tool/rbinstall.rb: fix wrong permission for gem specification without
+ zlib runtime. [Bug #11685][ruby-dev:49343]
- * eval.c (rb_add_event_hook): new function to add a hook function for
- interpreter events. (backported form HEAD)
+Mon Nov 16 12:11:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sun Mar 20 22:51:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/httpauth/basicauth.rb: fix a typo.
+ [ci skip][fix GH-1099] Patch by @jwworth
+ * lib/webrick/httpauth/digestauth.rb: ditto.
- * lib/mkmf.rb (mkmf_failed): check if Makefile is created without
- create_makefile.
+Sun Nov 15 18:28:43 2015 Kenichi Kamiya <kachick1@gmail.com>
-Sat Mar 19 23:48:10 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_method.c (set_method_visibility): should fail if the receiver
+ is frozen. [ruby-core:71489] [Bug #11687]
- * misc/ruby-mode.el (ruby-expr-beg): returned true always.
- fixed: [ruby-list:40683]
+Sat Nov 14 22:15:07 2015 Tanaka Akira <akr@fsij.org>
-Sat Mar 19 00:41:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/socket/lib/socket.rb: Specify frozen_string_literal: true.
- * ext/tk/lib/tk/font.rb: add some TkFont class methods to get font
- information without creating a TkFont object.
+Sat Nov 14 21:44:56 2015 Tanaka Akira <akr@fsij.org>
- * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: bug fix and define some
- classes for components of Tk::TreeCtrl
+ * lib/time.rb: Use "<<" to reduce string allocation.
-Thu Mar 17 17:42:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Nov 14 17:45:49 2015 Tanaka Akira <akr@fsij.org>
- * struct.c (make_struct): allow non local-id field
- names. [ruby-core:04575]
+ * lib/tsort.rb: Specify frozen_string_literal: true.
- * struct.c (inspect_struct): ditto.
+Sat Nov 14 17:25:15 2015 Tanaka Akira <akr@fsij.org>
-Wed Mar 16 23:36:02 2005 Shugo Maeda <shugo@ruby-lang.org>
+ * lib/resolv-replace.rb: Specify frozen_string_literal: true.
- * eval.c (rb_call0): call_cfunc() should be protected.
+Sat Nov 14 17:00:13 2015 Tanaka Akira <akr@fsij.org>
- * test/ruby/test_settracefunc.rb: added test for c-return.
+ * lib/time.rb: Specify frozen_string_literal: true.
-Wed Mar 16 22:20:25 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Nov 14 16:43:02 2015 Tanaka Akira <akr@fsij.org>
- * object.c (str_to_id): fixed typo.
+ * lib/open3.rb: Specify frozen_string_literal: true.
-Wed Mar 16 18:08:32 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Nov 14 05:04:09 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_call0): reorganize "return" event post.
+ * node.h: remove old comments.
-Tue Mar 15 23:49:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Nov 14 04:55:36 2015 Koichi Sasada <ko1@atdot.net>
- * ext/iconv/iconv.c (Init_iconv): InvalidEncoding also should include
- Iconv::Failure.
+ * refactoring CREF related code.
-Tue Mar 15 16:38:11 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * eval_intern.h: remove unused setter functions.
+ CREF_CLASS_SET()
+ CREF_NEXT_SET()
+ CREF_SCOPE_VISI_COPY()
- * ext/tk/tkutil.c (ary2list): give wrong arguments to hash2kv()
+ * eval_intern.h: rename flags:
+ * NODE_FL_CREF_PUSHED_BY_EVAL_ -> CREF_FL_PUSHED_BY_EVAL
+ * NODE_FL_CREF_OMOD_SHARED_ -> CREF_FL_OMOD_SHARED
+ and use IMEMO_FL_USER1/2.
-Mon Mar 14 19:39:33 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm.c (vm_cref_new): accept push_by_eval parameter.
- * ext/tk/lib/tk/timer.rb (TkTimer): forgot to clear @return_value
- when restarting
+ * vm.c (vm_cref_new_use_prev): added for rb_vm_rewrite_cref().
- * ext/tk/lib/tk/sample/cd_timer.rb: new sample of TkRTTimer
+ * vm_insnhelper.c (vm_cref_push): accept pushed_by_eval parameter.
-Mon Mar 14 12:21:03 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_insnhelper.h: remove unused macros:
+ COPY_CREF_OMOD() and COPY_CREF().
- * ext/tk/lib/tk/timer.rb (TkRTTimer): forgot to reset the callback
- time. So, 'continue' do all callbacks between 'stop' and 'continue'.
+ * vm_eval.c, insns.def: catch up this fix.
-Mon Mar 14 08:14:56 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Nov 14 02:58:03 2015 Koichi Sasada <ko1@atdot.net>
- * object.c (str_to_id): warn for NUL containing strings.
+ * vm.c (vm_define_method): refactoring.
+ * get CREF in this function.
+ * cbase is no longer needed (CREF_CLASS(cref) is enough).
-Mon Mar 14 00:13:49 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * compile.c: RubyVM::FrozenCore.define_method only accept 2 args.
- * ext/tk/lib/tk/timer.rb (TkRTTimer): correct calculation of offset
- value. get a little better accuracy.
+Sat Nov 14 02:34:43 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/sample/demos-en/widget: use a binding with no local variables
- when eval a sample script.
+ * vm.c (vm_define_method): do not use current CREF immediately,
+ but check CREF in environment or methods. Methods defined in methods
+ should be public.
+ [Bug #11571]
- * ext/tk/sample/demos-en/bind.rb: ditto.
+ * vm_method.c (rb_scope_module_func_check): check CREF in env or me.
+ if CREF is contained by `me', then return FALSE.
- * ext/tk/sample/demos-en/tcolor: ditto.
+ * test/ruby/test_method.rb: add a test.
- * ext/tk/sample/demos-jp/widget: ditto.
+Sat Nov 14 02:19:16 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/sample/demos-jp/bind.rb: ditto.
+ * method.h: constify rb_cref_t::scope_visi;
- * ext/tk/sample/demos-jp/tcolor: ditto.
+ * eval_intern.h (CREF_SCOPE_VISI_COPY): catch up this fix.
-Sun Mar 13 10:04:17 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * vm_method.c: ditto.
- * test/rinda/test_rinda.rb: remove test_gc. [ruby-dev:25871]
+Sat Nov 14 01:53:52 2015 Naohisa Goto <ngotogenome@gmail.com>
-Thu Mar 10 19:12:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * pack.c (pack_unpack, AVOID_CC_BUG): Very ugly workaround for
+ optimization bug of Oracle Solaris Studio 12.4 on Solaris
+ with -xO4 optimization option. [Bug #11684]
- * ext/tcltklib/tcltklib.c (lib_eventloop_ensure): mis-delete a timer
- handler when exit from a recursive called eventloop
+Fri Nov 13 23:00:23 2015 Hiroshi Shirosaki <h.shirosaki@gmail.com>
- * ext/tk/lib/tk/timer.rb: new TkRTTimer class, which can works for a
- realtime operation
+ * configure.in: unset LD_PRELOAD on mingw. msys2 child processes
+ crash at make test-all with LD_PRELOAD.
+ [ruby-core:71461] [Bug #11680]
- * ext/tk/sample/tkrttimer.rb: sample of TkRTTimer class
+Fri Nov 13 14:00:43 2015 Zachary Scott <zzak@ruby-lang.org>
- * ext/tk/lib/tk/textmark.rb: move TkTextMark#+ and TkTextMark#- to
- TkText::IndexModMethods
+ * ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735]
- * ext/tk/lib/tk/text.rb: improve TkTextMark#+ and TkTextMark#-, and
- add them to TkText::IndexModMethods module
+Fri Nov 13 13:09:16 2015 Zachary Scott <zzak@ruby-lang.org>
- * ext/tk/sample/tktextio.rb: add test part of "seek by text index
- modifiers"
+ * ext/openssl/ossl_ssl.c: Merge ruby/openssl@81e1a30
-Thu Mar 10 08:10:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/openssl/test_ssl.rb: ditto
- * re.c (make_regexp): need to free internal regexp structure when
- compilation fails. [ruby-talk:133228]
+Fri Nov 13 13:05:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Mar 9 20:25:58 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * prelude.rb (Thread.exclusive): warn as deprecated.
- * ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_write): call
- rb_sys_fail if errno isn't 0. [ruby-dev:25831]
+Fri Nov 13 10:36:39 2015 Victor Nawothnig <Victor.Nawothnig@gmail.com>
- * ext/openssl/lib/openssl/cipher.rb: fix typo. [ruby-dev:24285]
+ * parse.y (new_unless): optimize constant condition for `unless`
+ as well as `if`. [Fix GH-1092]
-Wed Mar 9 15:46:35 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Nov 13 10:08:41 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/server.rb (WEBrick::GenericServer#start): should
- restore @token if accept failure. suggested by Dominique Brezinski.
- [ruby-core:04518]
+ * ext/psych/psych.gemspec: bump version to 2.0.15
-Wed Mar 9 13:37:57 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Nov 12 18:44:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/sample/tktextio.rb: fix bug of handling 'end' position.
- support initial text, overwrite setting and pos_gravity control.
+ * parse.y (parser_magic_comment): should match exactly.
+ [ruby-core:71460] [Bug #11679]
-Tue Mar 8 18:16:55 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Nov 12 16:16:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.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).
+ * template/prelude.c.tmpl: enable tail call optimization.
-Tue Mar 8 13:54:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Nov 12 14:17:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c: workaround for some of 4.4BSD-Lite derived OSs.
+ * parse.y (parser_yylex): ANDDOT at the head of the line denote
+ line continuation from previous one to support fluent interface,
+ as well as single dot.
-Tue Mar 8 12:36:17 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Nov 12 13:49:50 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/socket/socket.c: document from Sam Roberts
- <sroberts@uniserve.com> for getsockopt and setsockopt is merged.
- [ruby-doc:824]
+ * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(db78980).
+ this version includes #1367 , #1373 , #1375
+ * test/rubygems: ditto.
-Tue Mar 8 01:27:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
+Thu Nov 12 10:53:41 2015 Eric Wong <e@80x24.org>
- * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.66
- fixed: [ruby-dev:25828]
+ * benchmark/bm_io_nonblock_noex2.rb: new benchmark based
+ on bm_io_nonblock_noex.rb
+ * io.c (io_read_nonblock): move documentation to prelude.rb
+ (io_write_nonblock): ditto
+ (Init_io): private, internal methods for prelude.rb use only
+ * prelude.rb (IO#read_nonblock): wrapper + documentation
+ (IO#write_nonblock): ditto
+ [ruby-core:71439] [Feature #11339]
-Mon Mar 7 21:35:02 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Nov 11 18:30:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * sample/webrick/httpsd.rb: fix typo in comment. suggested by
- Kazuhiko Shiozaki.
+ * sprintf.c (rb_str_format): look up the key, then get default
+ value and raise KeyError if the returned value is nil.
+ [ruby-dev:49338] [Ruby trunk - Bug #11677]
-Mon Mar 7 14:55:43 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Nov 11 17:38:24 2015 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]
+ * 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]
-Wed Feb 16 02:55:21 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Nov 11 14:14:33 2015 SHIBATA Hiroshi <hsbt@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]
+ * transcode.c: fix a typo
+ [ci skip][fix GH-1091] Patch by @jwworth
- * 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.
+Wed Nov 11 11:58:38 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/openssl/lib/openssl/ssl.rb: set non-blocking flag to the
- underlying IO.
+ * lib/net/ftp.rb (initialize): Connections are in passive mode per
+ default now. The default mode can be changed by
+ Net::FTP.default_passive=.
+ [ruby-core:71146] [Feature #11612]
- * ext/openssl/extconf.rb: get rid of GNUmakefile generation.
+ * lib/net/ftp.rb (default_passive=, default_passive): new methods.
- * text/openssl/test_pair.rb: test for IO like methods.
+Wed Nov 11 09:03:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/ut_eof.rb: test about empty file.
+ * sprintf.c (rb_str_format): respect default value of a hash. no
+ longer raises KeyError unless the default value of the hash is
+ nil. [ruby-core:71354] [Bug #11661]
-Mon Mar 7 10:22:06 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+Tue Nov 10 20:35:12 2015 Tanaka Akira <akr@fsij.org>
- * lib/un.rb: should use OptionParser. (backported form HEAD)
+ * lib/open-uri.rb: Remove indicator for "frozen_string_literal: true".
-Mon Mar 7 09:18:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/pp.rb: Ditto.
- * string.c (rb_str_cmp_m): should not return false but nil.
- fixed: [ruby-dev:25811]
+ * lib/prettyprint.rb: Ditto.
-Mon Mar 7 01:22:14 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * lib/resolv.rb: Ditto.
- * 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.
+ * lib/securerandom.rb: Ditto.
-Mon Mar 7 00:01:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * lib/tmpdir.rb: Ditto.
- * ext/tcltklib/tcltklib.c: fail to call TclTkLib.mainloop when $SAFE==4
+ * lib/unicode_normalize/tables.rb: Ditto.
-Sun Mar 6 16:41:33 2005 Minero Aoki <aamine@loveruby.net>
+ * test/net/ftp/test_buffered_socket.rb: 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]
+ * test/net/ftp/test_mlsx_entry.rb: Ditto.
- * test/net/http/test_httpheader.rb: new file.
+ * test/open-uri/test_open-uri.rb: Ditto.
-Sun Mar 6 11:47:10 2005 Sam Roberts <sroberts@uniserve.com>
+ * test/open-uri/test_ssl.rb: Ditto.
- * lib/pp.rb: rdoced. [ruby-core:4490]
+ * test/pathname/test_pathname.rb: Ditto.
-Sun Mar 6 11:36:37 2005 Tanaka Akira <akr@m17n.org>
+ * test/test_pp.rb: Ditto.
- * lib/pp.rb (File::Stat#pretty_print): Etc.getpwuid and Etc.getgrgid
- may return nil. [ruby-talk:129826]
- reported by Daniel Berger.
+ * test/test_prettyprint.rb: Ditto.
-Sat Mar 5 18:06:21 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * tool/transcode-tblgen.rb: Ditto.
- * dir.c (fnmatch): removed unnecessary code. (ruby_1_8 didn't have
- String#clear, so [ruby-dev:24749] didn't affect it)
+ * ext/pathname/lib/pathname.rb: Ditto.
- * win32/win32.c (NtInitialize): ditto. (by numeric.c 1.101.2.14)
+Tue Nov 10 18:42:24 2015 Aleksandrs Ledovskis <aleksandrs@ledovskis.lv>
-Sat Mar 5 16:29:26 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * defs/id.def, parse.y: Switch internal token name to reflect
+ current form of safe-call operator. [Fix GH-1090]
- * ext/tk/lib/multi-tk.rb: freeze callback-entry objects
+Tue Nov 10 18:25:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tkextlib/tile.rb: support tile-0.6
+ * hash.c (rb_hash_to_proc): use rb_func_proc_new to make light
+ weight proc. [Feature #11653]
-Fri Mar 4 19:39:28 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 10 18:23:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser#do_includes): replace
- also locally defined modules.
+ * proc.c (cfunc_proc_t): add room for me.
- * ext/iconv/iconv.c: backport Iconv::InvalidEncoding from CVS HEAD.
+ * proc.c (cfunc_proc_new): generalise for cfunc proc without env.
- * ext/strscan/strscan.c: moved misplaced rdoc.
+ * proc.c (rb_func_proc_new, rb_func_lambda_new): new functions to
+ make proc/lambda without env from cfunc.
-Fri Mar 4 15:58:12 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Nov 10 17:32:35 2015 Naohisa Goto <ngotogenome@gmail.com>
- * lib/cgi-lib.rb: add deprecation warning. [ruby-dev:25499]
- getopts.rb, parsearg.rb, importenv.rb as well.
+ * bootstraptest/test_fork.rb ([ruby-dev:37934]): :NPROC (RLIMIT_NPROC)
+ is not supported on some platforms (e.g. Solaris 10).
-Fri Mar 4 11:17:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Nov 10 16:57:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/tcltklib.c (ip_rbUpdateCommand): get rid of
- warnings with Tcl/Tk 8.3 or former (backport from CVS_HEAD).
+ * hash.c (rb_hash_to_proc): new method Hash#to_proc.
+ [Feature #11653]
- * ext/tcltklib/tcltklib.c (ip_rb_threadUpdateCommand): ditto.
+Tue Nov 10 14:34:09 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Fri Mar 4 10:15:30 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * time.c (rb_time_timespec_new): swap utc and localtime
+ to generate gmt flag by INT_MAX - gmtoff.
- * lib/set.rb (SortedSet::setup): a hack to shut up warning.
- [ruby-talk:132866]
+Tue Nov 10 14:01:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Mar 4 07:07:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
+ * hash.c (rb_hash_{le,lt,ge,gt}): new methods, Hash#<=, Hash#<,
+ Hash#>=, Hash#>, to test if all elements of a hash are also
+ included in another hash, and vice versa.
+ [ruby-core:68561] [Feature #10984]
- * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.63
+Tue Nov 10 11:25:29 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Thu Mar 3 23:49:00 2005 NARUSE, Yui <naruse@ruby-lang.org>
+ * time.c (rb_timespec_now): added. [Feature #11558]
- * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.62
+ * time.c (rb_time_timespec_new): added. [Feature #11558]
-Thu Mar 3 11:49:51 2005 Kouhei Sutou <kou@cozmixng.org>
+Tue Nov 10 06:17:17 2015 Eric Wong <e@80x24.org>
- * sample/rss/tdiary_plugin/rss-recent.rb: added site information.
+ * variable.c (rb_autoload_load): allow recursive calls
+ [ruby-core:71345] [Bug #11658]
+ * test/ruby/test_autoload.rb (test_autoload_while_autoloading):
+ new test by: Hiroshi Shirosaki <h.shirosaki@gmail.com>
+ [ruby-core:71390]
-Wed Mar 2 19:53:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Nov 10 00:36:46 2015 Tanaka Akira <akr@fsij.org>
- * ext/extmk.rb (parse_args): add DESTDIR only when not directed
- already. fixed: [ruby-dev:25781]
+ * lib/resolv.rb (Resolv::DNS::Message::MessageEncoder#put_labels):
+ Prevent overflow of pointer to labels.
+ Patch by Hannes Georg. [ruby-core:71248] [Bug #11632]
-Wed Mar 2 17:14:18 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Nov 10 00:25:41 2015 Kazuki Tsujimoto <kazuki@callcc.net>
- * ext/tcltklib/tcltklib.c (lib_eventloop_core): fix typo
+ * gems/bundled_gems: update to power_assert 0.2.6.
-Wed Mar 2 16:00:02 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Mon Nov 9 21:48:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.
+ * vm_eval.c (rb_check_funcall_default): split from
+ rb_check_funcall to return the given fallback value.
- * ext/tk/tkutil/tkutil.c; fix a bug on converting a SJIS string array
- to a Tcl's list string.
+ * object.c (rb_obj_dig): use rb_check_funcall_default so that tail
+ call optimization will be possible. [Feature #11643]
- * ext/tk/tcltklib.c: wrap Tcl's original "namespace" command to
- protect from namespace crash.
+Mon Nov 9 21:27:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: enforce exception-handling.
+ * array.c (rb_ary_dig): new method Array#dig.
- * ext/tk/lib/multi-tk.rb: catch IRB_EXIT to work on irb.
+ * hash.c (rb_hash_dig): new method Hash#dig.
- * ext/tk/lib/tk.rb: ditto.
+ * object.c (rb_obj_dig): dig in nested arrays/hashes.
+ [Feature #11643]
- * ext/tk/tcltklib.c: add TclTkLib.mainloop_thread?
+Mon Nov 9 18:00:47 2015 Yuki Nishijima <mail@yukinishijima.net>
- * ext/tk/lib/multi-tk.rb: (bug fix) callback returns a value.
+ * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta3
- * ext/tk/lib/tk/canvas.rb (delete): bug fix when multiple arguments.
+Mon Nov 9 17:38:14 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/clock.rb: fix 'no method error'.
+ * test/runner.rb: use official repository for coverage tool.
+ * Makefile.in: ditto.
+ * common.mk: ditto.
+ * .gitignore: ignored third party repositories.
- * ext/tk/lib/clock.rb (self.clicks): accept a Symbol argument.
+Mon Nov 9 17:29:09 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/variable.rb: be able to set default_value_type; :numeric,
- :bool, :string, :symbol, :list, :numlist or nil (default; same to
- :string). If set a type, TkVariable#value returns a value of the
- type.
+ * compile.c (iseq_compile_each): Dynamic string literals should be
+ frozen.
+ [ruby-core:57574] [Feature #8976]
- * ext/tk/lib/tkextlib/tclx/tclx.rb: add Tk::TclX.signal to warn the
- risk of using TclX extension's 'signal' command.
+Mon Nov 9 15:56:07 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/sample/irbtk.rb: irb with Ruby/Tk.
+ * common.mk: Use ruby organization url for simplecov repository.
- * ext/tk/sample/demos-*/anilabel.rb: bug fix on 'show code'
+Sun Nov 8 16:24:09 2015 Masaki Matsushita <glass.saga@gmail.com>
- * ext/tk/sample/demos-*/aniwave.rb: new Ruby/Tk animation demo.
+ * NEWS: describe addition of File::TMPFILE
- * ext/tk/sample/demos-*/pendulum.rb: ditto.
+Sun Nov 8 15:19:17 2015 Masaki Matsushita <glass.saga@gmail.com>
- * ext/tk/sample/demos-*/goldberg.rb: ditto.
+ * file.c: Add O_TMPFILE.
- * ext/tk/sample/demos-*/widget: add entries of animation demos.
+Sun Nov 8 14:24:43 2015 windwiny <windwiny.ubt@gmail.com>
-Tue Mar 1 00:47:43 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * method.h (METHOD_ENTRY_{VISI,BASIC,FLAGS}_SET): suppress
+ shift-op-parentheses warnings. [Fix GH-1082]
- * test/rinda/test_rinda.rb: backport from CVS_HEAD. use
- MockClock.sleep instead of Kernel.sleep [ruby-dev:25387]
+Sun Nov 8 14:01:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Tue Mar 1 00:34:24 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * ext/psych/psych_emitter.c: backport 5bd7744 from tenderlove/psych.
+ support backward compatibility of Ruby 2.0
- * lib/rinda/tuplespace.rb (Rinda::TupleSpace): improved keeper thread.
+Sun Nov 8 10:55:10 2015 Anton Davydov <antondavydov.o@gmail.com>
- * test/rinda/test_rinda.rb: ditto.
+ * io.c (rb_io_gets_m): Update IO#gets doc for characters more than
+ 1 byte. [Fix GH-1085]
-Mon Feb 28 11:42:23 2005 Ian Macdonald <ian@caliban.org>
+Sun Nov 8 10:37:58 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * exception error messages updated. [ruby-core:04497]
+ * lib/uri/ftp.rb: fix a typo.
+ [fix GH-1084][ci skip] Patch by @windwiny
-Mon Feb 28 09:03:09 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Nov 8 08:10:31 2015 Koichi Sasada <ko1@atdot.net>
- * ext/socket/socket.c (Init_socket): add bunch of Socket
- constants. Patch from Sam Roberts <sroberts@uniserve.com>.
- [ruby-core:04409]
+ * vm_trace.c (exec_hooks_precheck): check need_clean everytime
+ to clean-up unused hooks.
-Wed Feb 23 15:04:32 2005 akira yamada <akira@ruby-lang.org>
+ * vm_trace.c (list->need_clean): use as boolean value.
- * lib/uri/generic.rb (split_userinfo): should split ":pass" into ""
- and "pass". [ruby-dev:25667]
+Sun Nov 8 01:31:27 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Feb 23 08:00:18 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/net/http.rb (Net::HTTP#initialize):
+ default value of Net::HTTP#open_timeout is now 60 (was nil).
- * array.c (rb_ary_s_create): no need for negative argc check.
- [ruby-core:04463]
+Sat Nov 7 12:18:05 2015 Eric Wong <e@80x24.org>
- * array.c (rb_ary_unshift_m): ditto.
+ * string.c (id_to_s): remove redundant variable
+ (rb_obj_as_string): trade id_to_s for idTo_s
+ (rb_str_equal): replace rb_intern(...) with pre-defined ID
+ (rb_str_cmp_m): ditto
+ (rb_str_match): ditto
+ (str_upto_each): ditto
+ (rb_str_sum): ditto
+ (Init_String): remove id_to_s initialization
-Wed Feb 23 01:57:46 2005 Shugo Maeda <shugo@ruby-lang.org>
+Sat Nov 7 11:40:05 2015 Eric Wong <e@80x24.org>
- * lib/net/imap.rb (initialize): handle certs correctly. Thanks,
- NABEYA Kenichi. (backported from CVS HEAD)
+ * thread.c (rb_cThreadShield): make static
-Tue Feb 22 07:25:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Nov 7 09:51:38 2015 Koichi Sasada <ko1@atdot.net>
- * parse.y (parser_yylex): identfier after dot must not be a variable.
+ * vm_trace.c (rb_threadptr_exec_event_hooks_orig):
+ maintain trace_running counter on internal events.
-Mon Feb 21 10:04:49 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ This patch is made by Takashi Kokubun <takashikkbn@gmail.com>.
+ [Bug #11603] https://github.com/ruby/ruby/pull/1059
- * {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl.
+Sat Nov 7 03:32:27 2015 Koichi Sasada <ko1@atdot.net>
- * win32/win32.[ch] (fcntl): ditto.
+ * include/ruby/ruby.h (RSTRUCT_PTR): need a close parenthesis.
- * win32/win32.c (rb_w32_connect): support nonblocking mode.
+Sat Nov 7 01:32:06 2015 Naohisa Goto <ngotogenome@gmail.com>
- * 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].
+ * dir.c (dir_fileno, dirfd): support of Dir#fileno on Solaris 10.
+ Solaris 10 does not have dirfd, but the file descriptor of a
+ directory is stored in the d_fd or dd_fd member in the DIR struct.
+ Note that Solaris 11 has dirfd(3C).
-Sun Feb 20 00:48:48 2005 Tanaka Akira <akr@m17n.org>
+ * configure.in: checks for DIR.d_fd and DIR.dd_fd on Solaris 10.
- * lib/open-uri.rb (URI::FTP#buffer_open): access mechanism
- re-implemented according to RFC 1738.
- reported by Guillaume Marcais. [ruby-talk:131650]
+Fri Nov 6 23:13:53 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
-Sat Feb 19 18:11:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * array.c: clarifies Array#reject! documentation.
+ [fix GH-894][ci skip] Patch by @GxSplinter
- * lib/drb/drb.rb (DRbObject#respond_to?): take two arguments.
- [ruby-dev:25722]
+Fri Nov 6 20:18:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * test/drb/drbtest.rb: ditto.
+ * test/runner.rb: extracted test helper.
+ * test/lib/zombie_hunter.rb: ditto.
-Sat Feb 19 13:52:02 2005 Tanaka Akira <akr@m17n.org>
+Fri Nov 6 18:07:47 2015 Naohisa Goto <ngotogenome@gmail.com>
- * lib/open-uri.rb: call OpenSSL::SSL::SSLSocket#post_connection_check
- after connection is made.
+ * include/ruby/ruby.h (rb_array_const_ptr, rb_struct_const_ptr):
+ Suppress pointer type mismatch warnings occurred with old version
+ of Fujitsu C Compiler (fcc) on Solaris 10. The warnings cause
+ failure of TestMkmf::TestConvertible. [Bug #11644] [ruby-dev:49326]
+ * include/ruby/ruby.h (FIX_CONST_VALUE_PTR): macro for the above,
+ only effective with fcc.
-Sat Feb 19 01:32:03 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Fri Nov 6 12:39:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/lib/bigdecimal/newton.rb: resolved LoadError.
- [ruby-dev:25685]
+ * defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ
+ from ".?" to "&.". [ruby-core:71363] [Feature #11537]
- * ext/bigdecimal/sample/linear.rb: ditto.
+Fri Nov 6 09:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/sample/nlsolve.rb: ditto.
+ * 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]
- * ext/bigdecimal/lib/bigdecimal/nlsolve.rb: removed because this file
- is sample script and same file exists in ext/bigdecimal/sample.
+Fri Nov 6 06:59:37 2015 Eric Wong <e@80x24.org>
-Fri Feb 18 17:14:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_autoload: hoist out ruby_impl_require
- * lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
- of StandardError class, not Exception class. [ruby-core:04429]
+Thu Nov 5 13:03:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 17 20:11:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * defs/id.def (token_ops): gather associations between IDs,
+ operators, and parser tokens.
- * lib/drb/drb.rb (DRbServer.default_safe_level): fix typo.
+Thu Nov 5 10:17:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Feb 17 20:11:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c (make_addrinfo): use RARRAY_ASET for
+ write-barrier.
- * test/digest/test_digest.rb: separate test case for each algorithms.
- [ruby-dev:25412]
+ * ext/tk/tcltklib.c ({call,eval,invoke}_queue_handler): ditto.
-Thu Feb 17 11:54:00 2005 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * ext/tk/tkutil/tkutil.c (ary2list, ary2list2): ditto.
- * lib/test/unit/collector.rb (collect_file): now deletes paths added
- to $LOAD_PATH instead of restoring it verbatim.
+Thu Nov 5 10:09:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/test/unit/autorunner.rb (AutoRunner.run): fixed so that
- 'ruby -rtest/unit -rtest1 -rtest2 -e0' will use the objectspace
- collector again. Also tried to simplify the calling convention.
+ * ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR.
+ pointed out by hanmac.
+ https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670
- * test/runner.rb: adjusted for new AutoRunner semantics.
+Wed Nov 4 17:33:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/test/unit.rb: ditto.
+ * lib/debug.rb: Add documentation for #thread_list_all.
+ [Misc #11580][ci skip]
-Thu Feb 17 04:21:47 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Nov 4 15:45:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
- fixed: [ruby-core:04444]
+ * class.c: fix documentation for rb_define_class{_id}_under.
+ [fix GH-991][ci skip] Patch by @kachick
-Thu Feb 17 00:09:45 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Wed Nov 4 15:40:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * test/drb/ignore_test_drb.rb: move TestDRbReusePort to new file
- [ruby-dev:25238]
+ * method.h: fix typo. Patch by @davydovanton
+ [fix GH-1076][ci skip]
- * test/drb/test_drb.rb: add method DRbService.ext_service, move
- TestDRbReusePort to new file [ruby-dev:25238]
+Wed Nov 4 15:39:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * test/drb/test_drb.rb: ditto.
+ * hash.c: use correct grammar. Patch by @tveastman
+ [fix GH-1079][ci skip]
- * test/drb/test_drbssl.rb: ditto.
+Wed Nov 4 11:38:23 2015 Jake Worth <jakeworth82@gmail.com>
- * test/drb/test_drbunix.rb: ditto.
+ * process.c (proc_getsid): [DOC] Fix double word 'for' and typo.
+ [Fix GH-1080]
- * test/drb/ut_drb.rb: reduce sleep.
+Wed Nov 4 06:01:52 2015 Eric Wong <e@80x24.org>
-Thu Feb 17 00:02:27 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * include/ruby/ruby.h (struct RObject): hide iv_index_tbl type
+ [ruby-core:71306] [Feature #11647]
- * eval.c (is_defined): NODE_IASGN is an assignment.
+Tue Nov 3 06:48:58 2015 Eric Wong <e@80x24.org>
-Wed Feb 16 23:34:30 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * variable.c (find_class_path): remove cast for rb_class_ivar_set
+ (rb_ivar_set): ditto
+ (rb_cvar_set): ditto
- * lib/drb/drb.rb: add lazy stop_service. ([druby-ja:109])
+Tue Nov 3 06:18:21 2015 Eric Wong <e@80x24.org>
- * lib/drb/extserv.rb: ditto.
+ * variable.c (rb_global_tbl): convert to id_table
-Wed Feb 16 17:07:57 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Nov 3 01:58:46 2015 Naohisa Goto <ngotogenome@gmail.com>
- * 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.
+ * parse.y (NO_QCALL): fix type mismatch of operands that causes
+ compile error with Oracle Solaris Studio on Solaris.
+ [Bug #11645] [ruby-dev:49327]
-Mon Feb 14 23:58:17 2005 Kouhei Sutou <kou@cozmixng.org>
+Sun Nov 1 17:14:36 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss/parser.rb (RSS::ListenerMixin::tag_end):
- fixed invalid namespace handling bug.
+ * id_table.c (mix_id_table_insert): do not touch list during
+ list->hash transition because GC can run during transition.
-Mon Feb 14 13:12:38 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Nov 1 11:07:31 2015 Eric Wong <e@80x24.org>
- * ext/openssl/lib/openssl/ssl.rb
- (OpenSSL::SSL::SSLSocket#post_connection_check): new method.
+ * iseq.c (iseq_memsize): account for rb_call_cache entries
-Mon Feb 14 00:40:49 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Sun Nov 1 09:12:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/drb/drb.rb (InvokeMethod.perform): pass DRb info to sub thread.
+ * parse.y (parser_yylex): ':' separated by a comment and a newline
+ is not valid as symbol.
- * test/drb/test_drb.rb (test_01_safe1_safe4_eval): fix test case.
+Sat Oct 31 20:15:48 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sun Feb 13 23:13:46 2005 Kouhei Sutou <kou@cozmixng.org>
+ * test/openssl/test_pair.rb: skipped tests if openssl doesn't support
+ ECDH cipher.
- * lib/rss/dublincore.rb (RSS::DublicCoreModel#date{,=}): added
- convenient methods.
+Sat Oct 31 14:58:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rss/0.9.rb (RSS::Rss::Channel#date{,=}): ditto.
+ * man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as
+ it does not allow spaces before its argument.
+ [ruby-core:71283] [Bug #11641]
- * lib/rss/2.0.rb (RSS::Rss::Channel::Item#date{,=}): ditto.
+Sat Oct 31 14:58:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/rss/: added tests for the convenient methods.
+ * man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as
+ it does not allow spaces before its argument.
+ [ruby-core:71283] [Bug #11641]
-Sun Feb 13 22:43:03 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Sat Oct 31 10:22:49 2015 yui-knk <spiketeika@gmail.com>
- * lib/drb/drb.rb (DRbServer): add default_safe_level, safe_level,
- config[:safe_level] ([druby-ja:120])
+ * eval_error.c (undef_mesg_for): fix typo. Before this commit
+ `ArgumentError: malformed format string - %$` was raised when
+ `NameError#message` is called. [ruby-core:71282] [Bug #11640]
+ [Fix GH-1077]
- * test/drb/test_drb.rb, ut_eval.rb, ut_safe1.rb: ditto.
+Fri Oct 30 21:12:45 2015 Kazuki Tsujimoto <kazuki@callcc.net>
-Sun Feb 13 16:56:52 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * gems/bundled_gems: update to power_assert 0.2.5.
- * lib/webrick/cgi.rb (WEBrick::CGI.start): should set reason-phrase
- to the value of status header field. ([ruby-dev:40617])
+Fri Oct 30 19:29:52 2015 Koichi Sasada <ko1@atdot.net>
-Sun Feb 13 00:52:33 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * gc.c (newobj_slowpath): do not need to use flags hack (commit miss).
- * lib/erb.rb (ERB::Util.h, u): make it module_function.
+Fri Oct 30 19:08:48 2015 Koichi Sasada <ko1@atdot.net>
-Sat Feb 12 17:29:19 2005 Tanaka Akira <akr@m17n.org>
+ * gc.c (heap_get_freeobj_from_next_freepage): not so UNLIKELY.
- * lib/open-uri.rb (OpenURI.open_loop): send authentication only for
- the URI directly specified.
+Fri Oct 30 18:09:51 2015 Koichi Sasada <ko1@atdot.net>
-Sat Feb 12 15:07:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (newobj_slowpath): reduce 1 parameter to use only registers
+ for performance.
- * random.c (rand_init): suppress warning.
+ On my laptop, 'N.times{x = []}' (where N = 29_000_000) is
+ 1.86 sec -> 1.74 sec.
-Sat Feb 12 13:54:03 2005 Tanaka Akira <akr@m17n.org>
+Fri Oct 30 12:53:21 2015 yui-knk <spiketeika@gmail.com>
- * lib/open-uri.rb: support https if the platform provides CA
- certificates.
+ * test/ruby/test_call.rb: added test for safe navigation operator.
+ [fix GH-1066]
-Sat Feb 12 06:18:28 2005 URABE Shyouhei <shyouhei@ice.uec.ac.jp>
+Fri Oct 30 12:47:34 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check.
- [ruby-dev:25675]
+ * ChangeLog: fix wrong commit name.
-Fri Feb 11 17:40:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Oct 30 12:36:16 2015 yui-knk <spiketeika@gmail.com>
- * ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths):
- new method OpenSSL::X509::Store#set_default_paths.
+ * vm_method.c: added documentation of protected/private methods.
+ [fix GH-1072]
+ * test/ruby/test_module.rb: added testcase for method_defined?
+ [fix GH-1071]
-Fri Feb 11 11:33:53 2005 Tanaka Akira <akr@m17n.org>
+Fri Oct 30 12:06:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/open-uri.rb (URI::HTTP#proxy_open): new option supported:
- :http_basic_authentication.
- suggested by Kent Sibilev. [ruby-core:4392]
+ * variable.c (rb_class_ivar_set): rename as class specific ivar
+ setter, and st_table is no longer involved.
-Fri Feb 11 06:30:07 2005 George Ogata <g_ogata@optushome.com.au>
+Fri Oct 30 11:36:33 2015 Eric Wong <e@80x24.org>
- * misc/ruby-mode.el: ignore parenthesis inside heredoc.
- [ruby-core:04415]
+ * variable.c (generic_ivar_remove): adjust type, set valp
+ (rb_obj_remove_instance_variable): simplify call
+ * test/ruby/test_object.rb (test_remove_instance_variable):
+ expand for implementation details
-Fri Feb 11 04:54:13 2005 Tilman Sauerbeck <tilman@code-monkey.de>
+Fri Oct 30 10:37:56 2015 Eric Wong <e@80x24.org>
- * lib/rdoc/generators/html_generator.rb: [ruby-core:04412]
+ * internal.h (rb_st_insert_id_and_value): update prototype
+ * variable.c (rb_st_insert_id_and_value): reduce args
+ (find_class_path): adjust call for less args
+ (rb_ivar_set): ditto
+ (rb_cvar_set): ditto
+ * class.c (rb_singleton_class_attached): ditto
- * lib/rdoc/generators/ri_generator.rb: ditto.
+Fri Oct 30 09:57:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Thu Feb 10 11:14:17 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * gems/bundled_gems: update latest gems.
+ test-unit-3.1.5 and minitest-5.8.2
- * win32/Makefile.sub (COMMON_HEADERS): shouldn't include winsock2.h.
+Fri Oct 30 09:54:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/socket/extconf.rb (sockaddr_storage): remove workaround for
- mswin32.
+ * lib/rubygems: Update to RubyGems HEAD(60d7972).
+ this version contains pull requests number of #1343, #1356, #1357, #1363
+ at https://github.com/rubygems/rubygems/pulls
+ * test/rubygems: ditto.
-Thu Feb 10 10:29:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Oct 30 07:38:29 2015 Koichi Sasada <ko1@atdot.net>
- * ext/curses/curses.c: don't need to check HAVE_WCOLOR_SET excluding
- window_color_set().
+ * insns.def (getinlinecache/setinlinecache): compare ic->ic_cref and
+ current cref only when cached CREF list includes singleton class.
-Thu Feb 10 00:47:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ Singleton classes have own namespaces, so that we need to check
+ cref as a key (#10943).
- * struct.c (make_struct): fixed: [ruby-core:04402]
+ However, if current CREF list does not include singleton class,
+ no need to check CREF because it should be same name space.
-Wed Feb 9 08:07:08 2005 Paul Duncan <pabs@pablotron.org>
+ * vm_insnhelper.c (vm_get_const_key_cref): add a function returns
+ CREF only when it includes singleton class.
- * ext/curses/curses.c (window_color_set): [ruby-core:04393]
+ * vm_core.h: constify iseq_inline_cache_entry::ic_cref.
-Tue Feb 8 23:51:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Fri Oct 30 06:43:50 2015 Koichi Sasada <ko1@atdot.net>
- * lib/drb/drb.rb: reject :instance_eval, :class_eval, :module_eval
- [druby-ja:117]
+ * vm_insnhelper.c (vm_env_cref): make it inline for performance.
-Tue Feb 8 13:06:12 2005 Sam Roberts <sroberts@uniserve.com>
+ * vm_insnhelper.c (rb_vm_get_cref): use NULL instead of 0.
- * ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
- [ruby-talk:130092]
+Fri Oct 30 06:20:40 2015 Koichi Sasada <ko1@atdot.net>
-Tue Feb 8 09:30:01 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * insns.def: nobody set ic->ic_value.value to Qundef.
- * lib/cgi.rb (CGI::Cookie): [ruby-talk:130040]
+Fri Oct 30 06:15:50 2015 Koichi Sasada <ko1@atdot.net>
-Tue Feb 8 00:19:02 2005 Tanaka Akira <akr@m17n.org>
+ * vm.c: add ifndef guard for VM_CHECK_MODE.
- * lib/resolv.rb (Resolv::DNS::Name#subdomain_of?): new method.
- (Resolv::DNS::Name#inspect): ditto.
- Suggested by Sam Roberts. [ruby-talk:129086]
+Fri Oct 30 06:13:10 2015 Koichi Sasada <ko1@atdot.net>
-Mon Feb 7 10:06:30 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_insnhelper.c (vm_check_frame_detail): should require me for
+ VM_FRAME_FLAG_BMETHOD type frame.
- * object.c: [ruby-doc:818]
+Thu Oct 29 18:42:30 2015 Koichi Sasada <ko1@atdot.net>
-Mon Feb 7 01:56:20 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * gc.c (gc_mark_ptr): specify NOINLINE so that gc_mark() can return
+ immediately when obj is not a markable object.
- * instruby.rb, rubytest.rb (srcdir): no longer embed srcdir into
- rbconfig.rb. (backported from CVS HEAD)
+Thu Oct 29 18:05:22 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * encoding.c (rb_enc_check_str): add for performance.
+ This function only accepts T_STRING (and T_REGEXP).
- * lib/mkmf.rb (create_makefile): should support header files in
- depend file.
+ This patch improves performance of a tiny_segmenter benchmark
+ (num=2) 2.54sec -> 2.42sec on my machine.
+ https://github.com/chezou/TinySegmenter.jl/blob/master/benchmark/benchmark.rb
-Mon Feb 7 01:21:50 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * encoding.c: add ENC_DEBUG and ENC_ASSERT() macros.
- * ext/socket/extconf.rb: check if getaddrinfo() works fine only when
- wide-getaddrinfo option is not given. fixed: [ruby-dev:25422]
+ * internal.h: add a decl. of rb_enc_check_str().
- * lib/mkmf.rb ($extmk): check if under ext directory.
+ * string.c (rb_str_plus): use rb_enc_check_str().
- * lib/mkmf.rb (Logging.postpone): allow recursive operation.
+ * string.c (rb_str_subpat_set): ditto.
- * lib/mkmf.rb (try_constant): make sure if really a constant, reduce
- the number of times of compile.
+Thu Oct 29 17:16:40 2015 Koichi Sasada <ko1@atdot.net>
- * lib/mkmf.rb (have_macro, have_var, byte_order): new functions.
+ * internal.h: export rb_wb_(un)protected_newobj_of()
+ because some extensions include internal.h.
- * lib/mkmf.rb (find_library): allow directory list with separators.
+Thu Oct 29 16:42:19 2015 Koichi Sasada <ko1@atdot.net>
- * lib/mkmf.rb (arg_config): manage provided configuration options.
+ * gc.c (rb_imemo_new): should not pass FL_WB_PROTECTED flag.
- * lib/mkmf.rb (dir_config): accept arrays of directory names as
- default values.
+ * gc.c (rb_wb_protected_newobj_of): add more assertions.
- * mkconfig.rb: no longer embed srcdir and compile_dir into
- rbconfig.rb.
+ * gc.c (rb_wb_unprotected_newobj_of): ditto.
- * lib/mkmf.rb (create_makefile): fix unbalanced parens.
+Thu Oct 29 16:20:26 2015 Koichi Sasada <ko1@atdot.net>
-Sun Feb 6 19:23:01 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * gc.c: introduce rb_wb_unprotected_newobj_of() and
+ rb_wb_protected_newobj_of(), pass the WB_PROTECTED
+ information explicitly.
- * eval.c (stack_extend): add prototype because VC++8 doesn't
- accept __declspec(noinline) with K&R style function definitions.
- (backported from CVS HEAD)
+ * internal.h: use introduced functions by NEWOBJ_OF().
+ `flag' is immediate value, so that C compilers can
+ solve them at compile time.
-Sun Feb 6 14:14:26 2005 Tadayoshi Funaba <tadf@dotrb.org>
+ * include/ruby/ruby.h: add a comment about that.
- * lib/date.rb (new_with_hash): changed messages of exception.
+Thu Oct 29 14:52:03 2015 Koichi Sasada <ko1@atdot.net>
- * lib/date/format.rb (str[fp]time): undocumented conversion
- specifications %[1-3] are now deprecated.
+ * gc.c: add rb_objspace::flags::has_hook to represent hook availability.
-Sun Feb 6 12:20:11 2005 Akinori MUSHA <knu@iDaemons.org>
+ * gc.c: add gc_event_hook_available_p(objspace) to check that flag.
- * bignum.c (rb_big2ulong_pack): One too many arguments are passed
- to big2ulong().
+ * gc.c (newobj_of): use gc_event_hook_available_p() instead of
+ checking gc_event_hook_needed_p(objspace, RUBY_INTERNAL_EVENT_NEWOBJ).
+ for performance.
- * re.c (rb_reg_init_copy, rb_reg_initialize_m): One too many
- arguments are passed to rb_reg_initialize().
+ * gc.c (newobj_init): add UNLIKELY() for FL_WB_PROTECTED flag.
-Sun Feb 6 03:24:20 2005 Tanaka Akira <akr@m17n.org>
+ * gc.c (newobj_init): change parameters order (trivial change).
- * lib/resolv.rb (Resolv::DNS::Resource::TXT): multiple strings was not
- handled.
- (Resolv::DNS::Resource::TXT#strings): new method to return all
- strings.
- (Resolv::DNS::Message::MessageEncoder#put_string_list): new method.
- (Resolv::DNS::Message::MessageDecoder#get_string_list): ditto.
- based on [ruby-talk:129732] by Sam Roberts.
+Thu Oct 29 14:45:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Feb 4 00:30:45 2005 Kouhei Sutou <kou@cozmixng.org>
+ * vm_core.h (rb_thread_struct): move forward declarations before
+ used.
- * lib/rss: supported Image module.
- http://web.resource.org/rss/1.0/modules/image/
+Thu Oct 29 14:07:54 2015 Koichi Sasada <ko1@atdot.net>
-Thu Feb 3 23:42:36 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (gc_mark_ptr): remove debug code for #11244.
- * ext/stringio/stringio.c (strio_close, strio_close_read, strio_close_write):
- should return nil instead of self as well as IO. [ruby-dev:25623]
+Thu Oct 29 10:08:33 2015 Eric Wong <e@80x24.org>
- * ext/stringio/stringio.c (strio_extend, strio_putc): fill with zero
- extended portion. [ruby-dev:25626]
+ * variable.c (struct autoload_state): usable as wait-queue head
+ (struct autoload_data_i): remove 2 words of overhead
+ (autoload_i_mark): remove marking for thread
+ (autoload_reset): adjust for struct changes
+ (rb_autoload): ditto
+ (rb_autoloading_value): ditto
+ (rb_autoload_load): ditto
+ (const_update): ditto
-Wed Feb 2 23:52:53 2005 sheepman <sheepman@tcn.zaq.ne.jp>
+Thu Oct 29 08:48:05 2015 Eric Wong <e@80x24.org>
- * ext/stringio/stringio.c (strio_truncate): should MEMZERO an extended
- part. [ruby-dev:25618]
+ * variable.c (struct autoload_data_i): add waitq_head
+ (struct autoload_state): new struct
+ (autoload_require): save result in autoload_state for use
+ in autoload_reset
+ (autoload_reset): wake up other waiters with open-coded
+ wait-queues
+ (rb_autoload_load): add ensure autoload_const_set happens
+ atomically w.r.t. autoload-triggered "require"
+ [ruby-core:70075] [ruby-core:71239] [Bug #11384]
-Wed Feb 2 21:56:01 2005 Kouhei Sutou <kou@cozmixng.org>
+Wed Oct 29 00:39:50 2015 Naohisa Goto <ngotogenome@gmail.com>
- * lib/rss/rss.rb (RSS::Element#convert): added.
+ * test/rubygems/test_gem_commands_server_command.rb
+ (test_handle_options_port): change port from http to discard.
+ Solaris does not include "http 80/tcp" in its default
+ /etc/inet/services. AFAIK, discard (9/tcp) is older than http
+ and it is expected that all OS can resolve the service name.
+ [Bug #10004] [ruby-core:63518]
- * lib/rss/rss.rb: convert -> need_convert.
+Wed Oct 28 23:52:48 2015 Naohisa Goto <ngotogenome@gmail.com>
- * lib/rss/1.0.rb: ditto.
+ * probes_helper.h (RUBY_DTRACE_HOOK): add RB_GC_GUARD, though paranoic.
- * lib/rss/0.9.rb: ditto.
+Wed Oct 28 15:36:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rss/2.0.rb: ditto.
+ * error.c (rb_name_err_new): store the receiver directly.
- * lib/rss/trackback.rb: ditto.
+ * error.c (name_err_receiver): return directly stored receiver.
+ [Feature #10881]
-Tue Feb 1 22:48:48 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * error.c (name_err_mesg_to_str): quote the name if unprintable.
- * lib/drb/drb.rb (DRb::DRbObject#respond_to?): check marshal_dump and
- _dump.
+ * object.c (check_setter_id): use rb_check_id to convert names.
-Tue Feb 1 00:20:23 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * variable.c (uninitialized_constant): use NameError::message to
+ keep the receiver of uninitialized constant. [Feature #10881]
- * configure.in (aix): fix linker flags on AIX. [ruby-talk:125460]
+ * error.c (rb_name_err_new): new function to create NameError
+ exception instance. [Feature #10881]
-Mon Jan 31 13:33:21 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Wed Oct 28 13:29:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: add invalid namespace check
+ * parse.y (new_attr_op_assign): fix op_assign type, which is
+ already an ID since r52284. [Feature #11537]
- * ext/tk/lib/multi-tk.rb: add invalid_namespace? method
+Tue Oct 27 23:14:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/remote-tk.rb: ditto
+ * defs/id.def: enable anonymous IDs not to expose internal IDs for
+ frozen-string-literal-debug by Marshal.dump.
-Mon Jan 31 10:29:18 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Oct 27 17:06:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]
+ * defs/id.def: move internal IDs for frozen-string-literal-debug.
-Sat Jan 29 09:42:12 2005 Sam Roberts <sroberts@uniserve.com>
+Tue Oct 27 16:41:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/resolv.rb (Resolv::DNS::Resource::IN::SRV): Added RFC2782 SRV
- resource record for specifying location of services.
+ * error.c (rb_error_frozen_object): use rb_attr_get instead of
+ rb_ivar_get to get rid of warnings for string objects created
+ when frozen-string-literal-debug is disabled.
-Fri Jan 28 17:16:55 2005 Tanaka Akira <akr@m17n.org>
+Tue Oct 27 16:18:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.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.
+ * lib/logger.rb (Logger::Period#previous_period_end): as weekly
+ rotation shifts the log file on Sundays, the end date of the
+ previous period should be Saturdays. fix r45072.
+ [ruby-dev:49314] [Bug #11622]
-Thu Jan 27 13:18:03 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Oct 27 16:12:37 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * st.c (st_foreach): report success/failure by return value.
- [ruby-Bugs-1396]
+ * vm_dump.c (rb_print_backtrace): our addr2line doesn't work on sparc.
+ http://rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20151027T043311Z.log.html.gz
-Thu Jan 27 00:15:29 2005 Minero Aoki <aamine@loveruby.net>
+Tue Oct 27 12:00:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/test_fileutils.rb (setup): support BSD-style
- directory group inheritance. (backport from HEAD, rev 1.32)
+ * lib/logger.rb (Logger::Period#next_rotate_time): get rid of
+ adding to mday not to exceed the days of the month.
+ [ruby-core:71185] [Bug #11620]
- * test/fileutils/fileasserts.rb (assert_same_entry): show entry
- difference. (backport from HEAD, rev 1.4)
+Mon Oct 26 22:43:03 2015 yui-knk <spiketeika@gmail.com>
-Wed Jan 26 23:09:11 2005 Minero Aoki <aamine@loveruby.net>
+ * test/ruby/test_module.rb (test_method_defined): Add test cases
+ for `public/protected/private _method_defined?`
+ These methods accept string as argument, so add string argument
+ cases. [Fix GH-1067]
- * lib/net/protocol.rb (WriteAdapter#puts): should append \n, not
- prepend. [ruby-talk:128302] (backport from HEAD, rev 1.75)
+Mon Oct 26 22:23:30 2015 SimonDKnight <simondknight@hotmail.com>
-Wed Jan 26 10:51:50 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/racc/rdoc/grammar.en.rdoc: Grammatical errors fixed.
+ [Fix GH-1070]
- * win32/win32.c (flock_winnt, flock_win95): unlock file even if
- LOCK_NB is specified. (backported from CVS HEAD)
+Mon Oct 26 18:36:43 2015 Shota Fukumori (sora_h) <her@sorah.jp>
-Tue Jan 25 17:11:51 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * vm_method.c(rb_method_entry_make):
+ [DOC] [ci skip] Remove a needless space from comment
+ [Fixes GH-1069] Patch by @yui-knk
- * ruby.c (proc_options): correct -T option in RUBYOPT. (backported
- from CVS HEAD)
+Mon Oct 26 17:30:13 2015 Ryan Hosford <tad.hosford@gmail.com>
-Tue Jan 25 14:05:52 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * lib/fileutils.rb: rename tailing to trailing.
+ [Misc #11548]
- * 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]
+Mon Oct 26 17:11:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/extconf.rb: bug fix; TCL_ENABLE_THREAD flag is inverted
- [ruby-talk:126360]
+ * parse.y (call_op, call_op2): fix values on ripper. [Feature #11537]
- * ext/tcltklib/extconf.rb: add yet another native-thread check
+Mon Oct 26 12:55:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/tkutil.c: fix SEGV bug; NULL string pointer when finalize
- Ruby interpreter
+ * parse.y (call_op2): separate from call_op and also allow "::",
+ while dot_or_colon should not allow ".?". [Feature #11537]
- * ext/tk/lib/multi-tk.rb: avoid warning for deleted safeTk ip frame
+Mon Oct 26 01:03:23 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * ext/tk/lib/tk/bindtag.rb: bug fix; new method of named bindtag
- doesn't return the created object [ruby-dev:25479]
+ * thread_pthread.c: fix compile errors when
+ USE_SLEEPY_TIMER_THREAD is disabled.
- * ext/tk/lib/tk/menu.rb: bug on treating arguments [ruby-dev:25479]
+Sun Oct 25 10:12:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb: bug fix; cannot accept a callback ID string for
- a command argument [ruby-dev:25479]
+ * symbol.c (op_tbl): add DOTQ for ripper. [Feature #11537]
- * ext/tk/lib/multi-tk.rb: ditto
+Sat Oct 24 22:51:18 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tk/*.rb: ditto
+ * configure.in: fixed build failure of Haiku.
+ [fix GH-984] Patch by @kallisti5
+ * ext/socket/getaddrinfo.c: ditto.
+ * ext/socket/getnameinfo.c: ditto.
+ * ext/socket/rubysocket.h: ditto.
- * ext/tk/lib/tkextlib/*.rb: ditto
+Sat Oct 24 21:16:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/sample/demos-jp/anilabel.rb: new demo script
+ * test/fileutils/test_fileutils.rb (test_uptodate): relax error
+ message format. [Feature #9025], [ruby-core:71178] [Bug #11617]
- * ext/tk/sample/demos-en/anilabel.rb: ditto
+Sat Oct 24 21:06:43 2015 Shota Fukumori (sora_h) <her@sorah.jp>
- * ext/tk/sample/tkHTML/ss.rb: local variable scope bug fix
- [ruby-dev:25479]
+ * lib/mkmf.rb: Revert r45640 because it may lead to link
+ with different libruby. [Bug #9760]
-Mon Jan 24 15:44:25 2005 Tilman Sauerbeck <tilman@code-monkey.de>
+Sat Oct 24 15:42:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/parsers/parse_c.rb: allow whitespace after function names.
- [ruby-core:4296]
+ * bootstraptest/test_method.rb: relax error message format.
- * lib/rdoc/parsers/parse_simple.rb: adds support for private comments
- in the "simple" parser. [ruby-core:4301]
+ * test/ruby/test_arity.rb (err_mess): ditto.
+ [Feature #9025], [ruby-core:71178] [Bug #11617]
-Mon Jan 24 15:44:25 2005 Charles Mills <cmills@freeshell.org>
+Sat Oct 24 12:47:47 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * 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]
+ * vm_insnhelper.c: improved error message for "wrong number
+ of arguments", distinguishing given and expected argument
+ numbers clearly. [Feature #9025]
-Mon Jan 24 15:44:25 2005 Florian Gro <florgro@gmail.com>
+Sat Oct 24 11:57:59 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/rdoc/parsers/parse_rb.rb: Logic for def Builtin.method() end
- [ruby-core:4302]
+ * vm_insnhelper.c: remove the typedef redeclaration of
+ vm_call_handler.
-Mon Jan 24 15:44:25 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Oct 24 07:29:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * document updates - [ruby-core:04296], [ruby-core:04301],
- [ruby-core:04302], [ruby-core:04307]
+ * lib/forwardable.rb (def_instance_delegator, def_single_delegator):
+ match backtraces against ::Forwardable in case the target class
+ is a subclass of BasicObject and does not include Kernel.
+ [ruby-core:71176] [Bug #11616]
-Sun Jan 23 12:41:16 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Sat Oct 24 04:10:13 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * iseq.c (make_compile_option_value): include frozen_string_literal*
+ in a made option value.
- define capitalized method as well under that circumstance.
+ * vm_opts.h: forgot to add OPT_FROZEN_STRING_LITERAL_DEBUG
+ at last commit.
-Sun Jan 23 05:24:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sat Oct 24 03:58:02 2015 Koichi Sasada <ko1@atdot.net>
- * ext/openssl/ossl_ocsp.c (ossl_ocspreq_to_der): should call
- GetOCSPReq at first.
+ * ruby.c: introduce --enable-frozen-string-literal-debug option.
+ If this option is enabled, the modify error will be:
+ can't modify frozen String (RuntimeError) =>
+ can't modify frozen String, created at test.rb:3 (RuntimeError)
-Sat Jan 22 23:09:47 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * iseq.h: add compile option frozen_string_literal_debug.
- * lib/drb/ssl.rb (accept): rescue SSLError. [druby-ja:110]
+ * compile.c: catch up this fix.
-Sat Jan 22 22:35:03 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * error.c (rb_error_frozen): ditto.
- * lib/drb/unix.rb: fail if UNIXFileOwner is set. [druby-ja:111]
+ * iseq.c (set_compile_option_from_hash): ditto.
-Fri Jan 21 23:58:42 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_rubyoptions.rb: add a test for this fix.
- * ext/stringio/stringio.c (strio_set_pos): clear EOF flag.
- [ruby-talk:127511]
+Sat Oct 24 02:02:24 2015 Koichi Sasada <ko1@atdot.net>
-Fri Jan 21 20:07:02 2005 Tanaka Akira <akr@m17n.org>
+ * vm_insnhelper.c: introduce new call handler for simple ISeqs.
- * lib/resolv.rb (Resolv::DNS::Config.resolv): don't raise ResolvError.
- reported by Sam Roberts. [ruby-talk:127133]
+ vm_call_iseq_setup_normal_0start() is simple, however it has
+ some loops/conditions depends on ISeq::param.size and
+ ISeq::local_size (in vm_push_frame(), inlined into this function).
-Fri Jan 21 16:58:10 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ There are many simple methods which has a few parameters and local
+ variables. So that this patch introduces several special functions
+ generated in vm_call_iseq_optimized.inc by
+ tool/mk_call_iseq_optimized.rb.
- * dir.c (rb_push_glob): should work for NUL delimited patterns.
+ This script makes
+ vm_call_iseq_setup_normal_0start_Xparams_Ylocals()
+ where X is 0 to 3 and Y is 1 to 6 (as current setting).
+ In this case, X * Y = 24 functions are created.
-Fri Jan 21 13:58:37 2005 Shugo Maeda <shugo@ruby-lang.org>
+ These functions creates fast method dispatch by inlining
+ vm_push_frame() with immediate params/locals sizes.
- * lib/net/imap.rb (u8tou16): fixed typo. fixed: [ruby-list:40546]
- (backported from CVS HEAD)
+ On my laptop, we can have the following results.
-Fri Jan 21 09:30:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ vm2_method* 1.083 (8.3% faster)
+ vm2_poly_method* 0.961 (3.4% slower)
- * rubyio.h (rb_eof_error): should mark as NORETURN. (backported
- from CVS HEAD)
+ It shows 8.3% faster for inner loop method dispatch (hit inline
+ cache), but 3.4% slower when inline cache miss because we need
+ to find a suitable call handler.
-Fri Jan 21 00:31:36 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * common.mk: add a rule for vm_call_iseq_optimized.inc.
- * ext/syck/rubyext.c (syck_parser_bufsize_set): avoid VC++ warning
- "local variable 'size' used without having been initialized".
+ * tool/mk_call_iseq_optimized.rb: added.
-Thu Jan 20 19:03:24 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * vm.c: include vm_call_iseq_optimized.inc.
- * ext/extmk.rb (extmake): shouldn't set $extflags on mswin32.
+Sat Oct 24 01:58:50 2015 Koichi Sasada <ko1@atdot.net>
- * win32/Makefile.sub (LIBRUBY_SO): should use $DLDOBJS instead of
- $EXTOBJS.
- fixed: [ruby-core:04290] (backported from CVS HEAD)
+ * vm_core.h: define vm_call_handler.
-Thu Jan 20 11:42:02 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Oct 24 01:56:01 2015 Koichi Sasada <ko1@atdot.net>
- * string.c (rb_str_new4): should propagate taintedness.
+ * vm_core.h, vm_insnhelper.h: move definition of VMDEBUG
+ from vm_insnhelper.h to vm_core.h.
- * struct.c (rb_struct_set): use original method name, not callee
- name, to retrieve member slot. [ruby-core:04268]
+Sat Oct 24 01:51:01 2015 Akinori MUSHA <knu@iDaemons.org>
- * time.c (time_strftime): protect from format modification from GC
- finalizers.
+ * NEWS: [DOC] In the new safe call syntax, arguments are evaluated
+ only if a call is made.
-Wed Jan 19 18:06:40 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * doc/syntax/calling_methods.rdoc: Fix a typo.
- * lib/ipaddr.rb (to_s, test_to_s): too many colons with some cases.
- (backported from CVS HEAD)
+Sat Oct 24 00:38:34 2015 Shugo Maeda <shugo@ruby-lang.org>
-Wed Jan 19 01:16:30 2005 Tanaka Akira <akr@m17n.org>
+ * lib/forwardable (def_instance_delegator, def_single_delegator):
+ rescue ::Exception instead of Exception in case Exception is
+ defined under the target class.
+ [ruby-core:71175] [Ruby trunk - Bug #11615]
- * lib/resolv.rb (Resolv::DNS::Config.parse_resolv_conf): ignore
- domain and search directive without an argument.
- reported by Sam Roberts. [ruby-talk:126781]
+Fri Oct 23 21:10:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jan 18 15:03:05 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * error.c (name_err_mesg_to_str): separate class names from the
+ receiver description.
- * lib/webrick/ssl.rb (WEBrick::Config::SSL): the default value
- of :SSLEnable is false.
+ * vm_eval.c (make_no_method_exception, raise_method_missing): add
+ format specifiers for class names.
- * lib/webrick/server.rb (WEBrick::Daemon.start): prepared stdio
- don't allow changing its mode.
+Fri Oct 23 18:10:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_service):
- should delete trailing LF from the result of pack("m*").
+ * .gitignore: ignored environmental wrapper files.
- * 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.
+Fri Oct 23 17:55:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/httputils (WEBrick::HTTPUtils.parse_qvalues):
- refine regexp (and change the name of a local variable).
+ * lib/irb.rb: Ignored assignment of STDOUT.sync = true
+ when irb.rb loaded. It's affected to IDE such as Jetbrain.
+ [fix GH-864] Patch by @os97673
- * lib/webrick/httputils.rb (WEBrick::HTTPUtils#escape_path): add
- new method to escape URI path component.
+Fri Oct 23 16:35:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/cgi.rb (WEBrick::CGI::Socket#request_line): should
- escape SCRIPT_NAME and PATH_INFO before being parsed as a URI.
+ * lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained
+ EOL string. Patch by @kachick [fix GH-942][Bug #11513]
- * test/webrick/*, sample/webrick/httpproxy.rb: add new file.
+Fri Oct 23 16:03:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Jan 17 23:33:46 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c: fix indent style. [fix GH-977]
+ * test/ruby/test_string.rb: indent. [fix GH-975]
+ [ci skip] These patches are contributed from @yui-knk
- * configure.in (aix): fix typo. [ruby-talk:126401]
+Fri Oct 23 15:46:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-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.
+ * string.c: Added method signature to include hash. It's inconsistency
+ with `gsub` method signature.
+ [ci skip][fix GH-1023] Patch by @danielevans
- * lib/irb/ext/history.rb (IRB::Context::set_last_value): ditto.
+Fri Oct 23 15:25:51 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/irb/ext/history.rb (IRB::Context::eval_history): ditto.
+ * lib/net/imap.rb: remove an empty comment line and -*-.
- * lib/irb/locale.rb (IRB::Locale::real_load): ditto.
+Fri Oct 23 15:20:02 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/irb/slex.rb (SLex::Node::create_subnode): remove garbage.
+ * lib/net/ftp.rb (gettextfile, getbinaryfile): use the safe
+ navigation operator.
-Mon Jan 17 00:09:42 2005 WATANABE Hirofumi <eban@ruby-lang.org>
+Fri Oct 23 13:51:33 2015 yui-knk <spiketeika@gmail.com>
- * lib/uri/common.rb (PORT): typo fix. fixed: [ruby-core:04256]
+ * test_call.rb (test_safe_call): Add test cases for safe
+ navigation operator assignment. [Fix GH-1064]
+ Validate:
+ * can assign an attribute which is `nil`
+ * can "or assign" an attribute which is `nil`
-Sat Jan 15 14:57:22 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 23 11:58:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ruby.c (proc_options): ignore trailing CRs at the end of short
- options as well as long options. fixed: [ruby-core:04232]
+ * compile.c (iseq_peephole_optimize): optimize lengthy safe
+ navigation method chain. [Feature #11537]
-Sat Jan 15 13:35:16 2005 Kouhei Sutou <kou@cozmixng.org>
+Fri Oct 23 10:58:41 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/rss/rss.rb (RSS::VERSION): 0.1.2 -> 0.1.3.
+ * lib/matrix/eigenvalue_decomposition.rb (tridiagonalize): fix
+ indentation to avoid a warning when the command line option -w of
+ ruby is specified.
- * lib/rss/rss.rb: accept inheritance. [ruby-talk:126104]
+ * lib/matrix/eigenvalue_decomposition.rb (hessenberg_to_real_schur):
+ change the name of a block parameter to avoid a warning when the
+ command line option -w of ruby is specified.
-Thu Jan 13 04:48:53 2005 Tanaka Akira <akr@m17n.org>
+Fri Oct 23 10:49:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (io_fread): don't warn nonblocking behavior by default.
+ * compile.c (iseq_compile_each): support safe navigation of simple
+ attribute assignment. [Feature #11537]
-Wed Jan 12 00:36:29 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (mlhs_node, lhs, attrset_gen): ditto. keep mid
+ non-attrset as the sign of safe navigation.
- * object.c (rb_class_superclass): superclass of singleton class also
- should be a singleton class. fixed: [ruby-list:40519]
+Fri Oct 23 07:17:11 2015 Eric Wong <e@80x24.org>
-Tue Jan 11 09:44:40 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * test/io/wait/test_io_wait.rb (test_wait_eof): test return value
- * numeric.c (Init_Numeric): turn off floating point exceptions
- on bcc32. "1e300".to_f had crashed by overflow.
+Fri Oct 23 00:32:02 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Tue Jan 11 03:10:10 2005 Minero Aoki <aamine@loveruby.net>
+ * 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>
- * lib/fileutils.rb (copy_entry): could not copy symbolic link.
- [ruby-talk:125733]
+Fri Oct 23 00:49:45 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/fileutils.rb (copy_stream): use read/write instead of
- sysread/syswrite.
+ * lib/un.rb (help): change the name of a block parameter to avoid
+ a warning when the command line option -w of ruby is specified.
-Mon Jan 10 23:08:15 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Oct 23 00:22:20 2015 Josef Simanek <josef.simanek@gmail.com>
- * variable.c (rb_autoload): hide internal data from ruby level.
- fixed: [ruby-dev:25435], [ruby-list:40498]
+ * string.c (rb_str_tr): [DOC] Escape backslash in String#tr
+ documentation. [Fix GH-1063]
-Mon Jan 10 01:22:55 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Oct 23 00:19:04 2015 yui-knk <spiketeika@gmail.com>
- * gc.c (rb_data_object_alloc): klass may be NULL.
- [ruby-list:40498]
+ * array.c (rb_ary_collect): [DOC] Fix space of code example of
+ Array#map. [Fix GH-1062]
-Sun Jan 9 03:12:58 2005 Tanaka Akira <akr@m17n.org>
+Thu Oct 22 18:52:53 2015 Akinori MUSHA <knu@iDaemons.org>
- * io.c (io_fread): warn nonblocking behavior.
- (io_readpartial): new method IO#readpartial.
+ * vm_eval.c (rb_f_loop): When a loop is stopped by a StopIteration
+ exception, return what the enumerator has returned instead of
+ nil. [ruby-core:71133] [Feature #11498]
-Sat Jan 8 04:38:47 2005 why the lucky stiff <why@ruby-lang.org>
+Thu Oct 22 18:25:10 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/yaml.rb: Kernel#y requires an argument.
+ * lib/net/imap.rb (idle): add a new argument timeout for keep-alive.
+ [ruby-core:63693] [Bug #10031]
-Fri Jan 7 21:12:29 2005 TAMURA Takashi <sheepman@tcn.zaq.ne.jp>
+Thu Oct 22 15:30:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * random.c (rand_init): use ALLOC_N instead of ALLOCA_N
- [ruby-dev:25426]
+ * compile.c (iseq_peephole_optimize): peephole optimization for
+ branchnil jumps.
-Fri Jan 7 18:03:35 2005 Tanaka Akira <akr@m17n.org>
+ * compile.c (iseq_compile_each): generate save navigation operator
+ code.
- * gc.c (mark_locations_array): avoid core dump with -O3.
- [ruby-dev:25424]
+ * insns.def (branchnil): new opcode to pop the tos and branch if
+ it is nil.
-Thu Jan 6 20:31:07 2005 NAKAMURA Usaku <usa@ruby-lang.org>
+ * parse.y (NEW_QCALL, call_op, parser_yylex): parse token '.?'.
+ [Feature #11537]
- * ext/zlib/zlib.c (zstream_end): should return value. (backported
- from CVS HEAD)
+Thu Oct 22 13:16:19 2015 Guilherme Reis Campos <guilhermekbsa@gmail.com>
-Thu Jan 6 19:55:13 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * dir.c (ruby_brace_expand): glob brace expansion edge case fix.
+ When there are closing braces '}' before a open brace '{' it
+ must be ignored and considered as literal.
+ [ruby-core:71138] [Bug #11609]
- * win32/win32.c (rb_w32_close): didn't close socket handle.
- [ruby-dev:25414]
+Thu Oct 22 13:13:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (rb_w32_open_osfhandle): bcc32's _open_osfhandle
- never set EMFILE.
-
-Thu Jan 6 17:14:31 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * random.c (random_seed): O_NONBLOCK isn't defined on some
- platforms. [ruby-dev:25417]
-
-Thu Jan 6 13:45:35 2005 Tanaka Akira <akr@m17n.org>
-
- * lib/time.rb: recognize +00:00 and GMT as a localtime.
-
-Thu Jan 6 07:58:28 2005 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/usage.rb (RDoc::RDoc.usage_no_exit): Allow for colons
- in path names on DOS machines. (thanks to Johan Nilsson)
-
-Wed Jan 5 20:16:32 2005 Tanaka Akira <akr@m17n.org>
-
- * random.c (limited_big_rand): didn't work if SIZEOF_BDIGITS == 2.
- [ruby-dev:25408]
-
- * random.c (random_seed): refined.
-
-Wed Jan 5 12:49:39 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_thread_initialize): Thread objects cannot be initialized
- again. fixed: [ruby-core:04067]
-
-Wed Jan 5 10:48:16 2005 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * dir.c (dir_s_mkdir): win32 special processing doesn't need any
- longer. (backported from CVS HEAD)
-
- * win32/win32.[ch] (rb_w32_mkdir): new function. POSIX.1 compatible
- interface. (backported from CVS HEAD)
-
- * win32/win32.[ch] (rb_w32_rmdir): new function. (backported from CVS
- HEAD)
-
-Wed Jan 5 02:30:11 2005 Tanaka Akira <akr@m17n.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]
-
-Tue Jan 4 23:25:29 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * bignum.c (rb_big_rand): should return positive random number.
- [ruby-dev:25401]
-
-Tue Jan 4 11:15:29 2005 TAMURA Takashi <sheepman@tcn.zaq.ne.jp>
-
- * bignum.c (rb_big_rand): do not use rb_big_modulo to generate
- random bignums. [ruby-dev:25396]
-
-Mon Jan 3 14:01:54 2005 Tanaka Akira <akr@m17n.org>
-
- * random.c (random_seed): don't use /dev/urandom if it is not
- character device.
-
-Mon Jan 3 11:37:42 2005 Tanaka Akira <akr@m17n.org>
-
- * random.c (random_seed): use /dev/urandom if available.
- [ruby-dev:25392]
-
-Mon Jan 3 07:46:42 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * 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]
-
- * lib/webrick/httpauth/digestauth.rb
- (WEBrick::HTTPAuth::DigestAuth#_authenticate): fix digest calculation.
- This patch is contributed by sheepman. [ruby-list:40482]
-
- * 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]
-
- * test/webrick/test_httpauth.rb: new file.
-
-Sat Jan 1 04:20:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_ns_spki.c (ossl_spki_set_challenge): should call
- StringValue before GetSPKI. fixed: [ruby-dev:25359].
-
-Sat Jan 1 01:13:28 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * variable.c (rb_autoload): [ruby-dev:25373]
-
-Fri Dec 31 14:10:43 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item): Fix problem
- if heading contains formatting.
-
-Thu Dec 30 00:41:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (svalue_to_avalue): [ruby-dev:25366]
-
- * string.c (rb_str_justify): [ruby-dev:25367]
-
-Wed Dec 29 11:07:07 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/template/html/kilmer.rb: Update to use new
- sections.
-
-Tue Dec 28 22:31:46 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * string.c (rb_str_justify): create buffer string after argument type
- conversion. fixed: [ruby-dev:25341]
-
-Tue Dec 28 15:41:48 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/nkf/nkf-utf8/nkf.c (reinit): should initialize all static
- variables. fixed: [ruby-list:40445]
-
-Tue Dec 28 15:25:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/nkf/lib/kconv.rb (Kconv::RegexpEucjp): second byte is up to
- 0xfe.
-
- * ext/nkf/lib/kconv.rb (Kconv#kconv): should handle UTF8 and UTF16
- properly.
-
-Tue Dec 28 13:35:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate): ensure
- freeing internal zstreams. fixed: [ruby-dev:25309]
-
- * ext/zlib/zlib.c (rb_deflate_init_copy): replace rb_deflate_clone.
-
-Tue Dec 28 12:26:45 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * win32/Makefile.sub, win32/setup.mak (RDOCTARGET, install,
- install-nodoc, install-doc): rdoc support for mswin32.
-
- * win32/configure.bat (--enable-install-doc, --disable-install-doc):
- ditto.
-
-Mon Dec 27 20:02:14 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp
-
- * ext/tk/lib/multi-tk.rb: ditto
-
-Mon Dec 27 16:55:17 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_x509name.c (Init_ossl_x509name): should use
- rb_hash_new to get exactly a Hash. fix [ruby-dev:25325].
-
-Mon Dec 27 16:29:56 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * string.c (rb_str_justify): [ruby-dev:25341]
-
-Mon Dec 27 15:47:48 2004 Minero Aoki <aamine@loveruby.net>
-
- * test/fileutils/fileasserts.rb: sync with HEAD.
-
- * test/fileutils/test_fileutils.rb: ditto.
-
- * test/fileutils/test_nowrite.rb: ditto.
-
-Mon Dec 27 15:21:07 2004 Minero Aoki <aamine@loveruby.net>
-
- * lib/fileutils.rb (mv): should raise error when moving a
- directory to the (empty) directory. [ruby-talk:124368]
- (backport from HEAD 1.48)
-
- * lib/fileutils.rb (mv): wrongly did not overwrite file on Win32
- platforms. (backport from HEAD 1.48)
-
-Sat Dec 25 11:11:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * stable version 1.8.2 released.
-
-Sat Dec 25 04:23:49 2004 Minero Aoki <aamine@loveruby.net>
-
- * lib/fileutils.rb (mkdir, mkdir_p): should ensure directory
- permission. (backportted from HEAD, 1.47)
-
- * lib/fileutils.rb (traverse, remove_dir): untaint trasted
- objects. (backportted from HEAD, 1.46)
-
-Sat Dec 25 01:28:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * io.c: cancel io_reopen() change on Dec. 24th.
-
- * dln.c: use <dlfcn.h> for NetBSD. [ruby-dev:25313]
-
- * io.c (rb_f_select): IO list could be altered. [ruby-dev:25312]
-
-Fri Dec 24 23:51:48 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * bcc32/Makefile.sub: bcc32 should use RTL dll (backport from HEAD)
- [ruby-dev:25306]
-
- * win32/win32.[ch]: ditto.
-
-Fri Dec 24 23:27:18 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tk/image.rb: TkPhotoImage#cget bug fix
-
-Fri Dec 24 18:39:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * win32/win32.[ch]: failed to compile on bcc32 (and probably wince)
- [ruby-dev:25306]
-
-Fri Dec 24 02:52:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * io.c (io_reopen, rb_io_reopen): prohibit to change access mode for
- special IO ports. [ruby-dev:25225]
-
-Fri Dec 24 02:22:53 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/syck/rubyext.c (rb_syck_io_str_read): [ruby-core:03973]
-
- * ext/syck/rubyext.c (syck_loader_transfer): check type conversion.
-
- * ext/syck/rubyext.c (syck_parser_assign_io, rb_new_syck_node): duck
- typing.
-
- * ext/syck/rubyext.c (syck_parser_s_alloc, syck_parser_initialize):
- allocation framework.
-
- * ext/syck/rubyext.c (syck_emitter_s_alloc, syck_emitter_initialize):
- ditto.
-
-Fri Dec 24 01:21:00 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tkextlib/blt.rb: add BLT extension support
-
- * ext/tk/lib/tkextlib/blt/*.rb: ditto
-
- * ext/tk/lib/tkextlib/blt/tile/*.rb: ditto
-
-Thu Dec 23 23:36:28 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * process.c (proc_setgroups): check if the argument lenght is
- modified. fixed: [ruby-dev:25285]
-
-Thu Dec 23 13:13:33 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and
- RELEASE_DATE
-
- * ext/tcltklib/extconf.rb: ditto
-
- * ext/tk/tkutil.c: define TkUtil::RELEASE_DATE
-
- * ext/tk/lib/tk.rb: define Tk::RELEASE_DATE
-
-Thu Dec 23 09:38:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * io.c (io_reopen): restore exact mode. fixed: [ruby-core:04003]
-
-Thu Dec 23 00:16:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * configure.in (bsdi): use $(CC) for LDSHARED. fixed [ruby-dev:25270]
-
-Wed Dec 22 11:14:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * io.c (rb_io_mode_modenum): replace O_ACCMODE with O_RDWR.
- fixed: [ruby-dev:25273]
-
-Wed Dec 22 08:34:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/dl/sym.c (rb_dlsym_initialize): extract internal pointers after
- all argument conversion. fixed: [ruby-dev:25271]
-
-Wed Dec 22 00:08:01 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/soap/*, test/soap/*, sample/soap/authheader/*: eval cleanup.
-
-Tue Dec 21 22:07:33 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
- ossl_asn1_decode_all): temporary value should be marked volatile.
-
-Tue Dec 21 14:40:02 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * 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]
+ * io.c (argf_next_argv): check ARGV element type, and try
+ conversion if necessary. [ruby-core:71140] [Bug #11610]
- * test/openssl/test_asn1.rb: add tests for OpenSSL::ASN1.
+Thu Oct 22 11:11:16 2015 Shugo Maeda <shugo@ruby-lang.org>
-Tue Dec 21 12:22:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/net/ftp/test_ftp.rb: add tests for getbinaryfile and
+ gettextfile.
- * io.c (io_reopen): keep duplex pipe in correct mode for exception
- safeness. fixed: [ruby-dev:25152]
+Wed Oct 21 18:34:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 21 12:10:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * parse.y (parser_magic_comment): allow a sole magic comment without
+ indicators, neither other non-space comments. [Feature #8976]
- * ext/tk/lib/tk/grid.rb: rescue bug of 'grid configure' on Tcl/Tk8.3-
+Tue Oct 20 12:17:56 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
-Tue Dec 21 00:53:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/prime.rb: Add basic argument checking to Prime.prime?
+ [Bug #11606]
- * ext/openssl/ossl_asn1.c (ossl_asn1_traverse): [ruby-dev:25261]
+Tue Oct 20 12:17:50 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto.
+ * lib/prime.rb: Optimize Integer#prime?
+ Patch by Nick Slocum [Bug #10354]
- * ext/openssl/ossl_asn1.c (ossl_asn1_decode_all): ditto.
+Tue Oct 20 08:12:47 2015 Rei Odaira <Rei.Odaira@gmail.com>
-Mon Dec 20 23:22:26 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * configure.in: pthread_getattr_np is broken on AIX.
+ More specifically, the stack address and size returned are
+ not correct.
- * added files:
- * lib/soap/mapping/wsdl*.rb
- * lib/wsdl/soap/element.rb
- * lib/wsdl/xmlSchema/simpleContent.rb
+Tue Oct 20 05:54:46 2015 Eric Wong <e@80x24.org>
- * modified files:
- * lib/soap/*
- * lib/wsdl/*
- * lib/xsd/*
- * test/soap/*
- * test/wsdl/*
- * test/xsd/*
- * sample/soap/*
- * sample/sdl/*
+ * ext/fiddle/closure.c (callback): static function
- * summary
- * imported from the soap4r repository. Version: 1.5.3-ruby1.8.2
+Mon Oct 19 10:33:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * added several XSD basetype support: nonPositiveInteger,
- negativeInteger, nonNegativeInteger, unsignedLong, unsignedInt,
- unsignedShort, unsignedByte, positiveInteger
+ * ext/socket/init.c (rsock_raise_socket_error): get rid of a glibc
+ bug. [ruby-core:71100] [Bug #11600]
- * HTTP client connection/send/receive timeout support.
+Mon Oct 19 01:26:26 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * HTTP client/server gzipped content encoding support.
+ * file.c (rb_file_identical_p): not necessary to compare the paths after
+ comparing the file indexes on Windows. designate by kosaki.
- * improved WSDL schema definition support; still is far from
- complete, but is making step by step improovement.
+Sun Oct 18 21:17:27 2015 Tanaka Akira <akr@fsij.org>
-Mon Dec 20 22:56:39 2004 Tanaka Akira <akr@m17n.org>
+ * lib/open-uri.rb: Specify frozen_string_literal: true.
- * gc.c (stack_end_address): gcc noinline attribute is available since
- gcc-3.1.
+Sun Oct 18 14:37:56 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Mon Dec 20 14:07:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * random.c (fill_random_bytes_urandom): add a comment why using
+ O_NONBLOCK and O_NOCTTY.
- * ext/tk/lib/multi-tk.rb: supports new features of Tcl/Tk8.5a2
+Sun Oct 18 13:24:17 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/tk/clock.rb: ditto
+ * random.c (fill_random_bytes_syscall): use ATOMIC_SET() for
+ updating try_syscall.
- * ext/tk/lib/tk/text.rb: ditto
+Sun Oct 18 13:03:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/tk/panedwindow.rb: ditto
+ * include/ruby/backward/util.h: Good-by Borland-C.
-Mon Dec 20 12:47:13 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Oct 18 13:03:09 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/openssl/lib/net/https.rb,protocols.rb,telnets.rb: delete
- doc and code about SSLContext#{key_file,cert_file}.
- fixed: [ruby-dev:25243]
+ * common.mk: add a comment how to use "make test-all"
-Mon Dec 20 12:42:17 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Oct 18 12:59:22 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * io.c (io_fwrite): workaround for MSVCRT's bug.
- fixed: [ruby-core:03982]
+ * common.mk: add comments how to use "make benchmark"
-Mon Dec 20 11:21:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 18 12:58:15 2015 Tanaka Akira <akr@fsij.org>
- * io.c (rb_io_eof): check if closed before clearerr().
- fixed: [ruby-dev:25251]
+ * lib/securerandom.rb: Specify frozen_string_literal: true.
-Mon Dec 20 03:30:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 18 11:22:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * lib/cgi/session.rb (CGI::Session#initialize): empty session id was
- used if request had no session key. fixed: [ruby-core:03981]
+ * dln.c: remove defined(__WATCOMC__).
-Mon Dec 20 01:51:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Oct 18 11:16:33 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * struct.c (make_struct): [ruby-dev:25249]
+ * lib/mkmf.rb: Good-by Borland-C.
-Mon Dec 20 00:28:20 2004 Kouhei Sutou <kou@cozmixng.org>
+Sun Oct 18 11:04:36 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * lib/rexml/encodings/SHIFT-JIS.rb: backported from CVS HEAD.
-
- * lib/rexml/encodings/SHIFT_JIS.rb: ditto.
-
-Sun Dec 19 17:19:48 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_x509store.c
- (ossl_x509store_set_time): add OpenSSL::X509::Store#time=.
- (ossl_x509stctx_set_time): add OpenSSL::X509::StoreContext#time=.
-
- * test/openssl/ossl_x509store.rb: test certificate validity times.
-
- * ext/openssl/ossl_x509name.c (ossl_x509name_to_s): add optional
- second argument to specify the output format (see also
- X509_NAME_print_ex).
-
- * ext/openssl/ossl_x509name.c (ossl_x509name_init): new constants:
- OpenSSL::X509::Name::COMPAT, OpenSSL::X509::Name::RFC2253,
- OpenSSL::X509::ONELINE, OpenSSL::X509::MULTILINE.
-
- * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name::RFC2253DN):
- new module to provide the parse for RFC2253 DN format.
-
- * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name.parse_rfc2253):
- new method to parse RFC2253 DN format.
-
- * test/openssl/ossl_x509name.rb: add tests about RFC2253 DN.
-
- * text/openssl/ssl_server.rb: try to listen ports from 20443 to 20542
- while EADDRINUSE is raised.
-
- * all changes in this entry are backport from 1.9.
-
-Sun Dec 19 17:24:59 2004 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]
-
-Sun Dec 19 11:01:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/test/unit.rb: use standalone runner for -e.
-
- * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner#options): accept
- multiple -p and -x options.
-
- * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#recursive_collect):
- ditto.
-
-Sat Dec 18 16:36:23 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/zlib/zlib.c (rb_deflate_s_deflate, rb_inflate_s_inflate):
- disallow interrupt by type conversion. fixed: [ruby-dev:25226]
-
-Sat Dec 18 15:16:41 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/webrick/httpauth.rb,
- lib/webrick/httpauth/{basicauth.rb,digestauth.rb}: use
- pack/unpack-template char "m" instead of lib/base64.rb to do base64
- encoding/decoding.
-
-Sat Dec 18 10:51:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * dir.c (dir_open_dir): new function. [ruby-dev:25242]
-
-Fri Dec 17 18:07:01 2004 Shugo Maeda <shugo@ruby-lang.org>
-
- * test/readline/test_readline.rb: fix for BSD. Thanks, GOTOU Yuuzou.
- fixed: [ruby-dev:25218]
-
-Fri Dec 17 16:28:12 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tk.rb: fix bug on setting up system encoding
-
- * ext/tk/lib/tk/event.rb: fix error on require process
-
- * ext/tk/lib/tk/font.rb: fix abnormal termination error on Windows
-
- * ext/tk/lib/tk/virtevent.rb: TkVirtualEvent::PreDefVirtEvent.new()
- accepts event-sequence arguments
-
- * ext/tk/lib/tk/text.rb: fail to dump embedded images
-
- * ext/tk/lib/tk/text.rb: tag_nextrange and tag_prevrange returns wrong
- types of values
-
- * ext/tk/lib/tk/texttag.rb: nextrange and prevrange returns wrong
- types of values
-
- * ext/tk/lib/tk/text.rb: add TkText::IndexModMethods module and
- TkText::IndexString class to treat text index modifiers
-
- * ext/tk/lib/tk/texttag.rb: use TkText::IndexModMethods module
-
- * ext/tk/lib/tk/textmark.rb: ditto
-
- * ext/tk/lib/tk/textimage.rb: ditto
-
- * ext/tk/lib/tk/textwindow.rb: ditto
-
- * ext/tk/lib/tk/textimage.rb: wrong gravity of text mark for embedded
- image
-
- * ext/tk/lib/tk/textwindow.rb: wrong gravity of text mark for
- embedded window
-
-Fri Dec 17 13:50:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
-
- * vms/vmsruby_private.c, vms/vmsruby_private.h: private routines
- for VMS port are added.
-
- * eval.c (ruby_init): change to call VMS private intialization routine.
-
-Fri Dec 17 13:33:58 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/cgi/session.rb (CGI::Session#initialize): control adding
- session_id hidden fields. fixed: [ruby-talk:123850]
-
-Thu Dec 16 23:25:25 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/drb/drb.rb, lib/drb/ssl.rb: backported from CVS HEAD.
- [druby-ja:101]
-
- * test/drb/test_drb.rb: adjust and reduce sleep (backported from
- CVS HEAD.)
-
-Thu Dec 16 18:44:58 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should wait
- for reading request till data arrive. [ruby-talk:121068]
-
- * lib/webrick/server.rb (WEBrick::GenericServer#start_thread):
- should log about all accepted socket. [ruby-core:03962]
-
- * lib/webrick/accesslog.rb (WEBrick::AccessLog#setup_params):
- "%%" and "%u" are supported. [webricken:135]
-
- * lib/webrick/httpservlet/filehandler.rb
- (WEBrick::HTTPServlet::FileHandler#check_filename):
- :NondisclosureName is acceptable if it is Enumerable.
-
- * lib/webrick/config.rb (WEBrick::Config::FileHandler):
- default value of :NondisclosureName is [".ht*", "*~"].
-
-Thu Dec 16 18:36:52 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl.c (ossl_raise): refine message format.
-
-Thu Dec 16 16:29:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/sample/demos-en/widget: modify version check for
- supporting features
-
-Thu Dec 16 16:03:50 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tk/bindtag.rb: bug fix [ruby-talk: 123667]
-
- * ext/tk/lib/tk/timer.rb: accept :idle for the interval argument
+ * numeric.c: Good-by Borland-C.
+ * include/ruby/backward/rubyio.h: ditto.
+ * include/ruby/backward/st.h: ditto.
+ * include/ruby/backward/util.h: ditto.
+ * include/ruby/backward/rubysig.h: ditto.
+ * include/ruby/backward/classext.h: ditto.
+ * dln.c: ditto.
+ * gc.c: ditto.
+ * win32/resource.rb: ditto.
+ * win32/dir.h: ditto.
+ * ext/tk/tcltklib.c: ditto.
+ * NEWS: announce that Borland-C is no longer supported.
- * ext/tk/lib/tk.rb: add TkComm._callback_entry?()
+Sun Oct 18 10:54:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/multi-tk.rb: add MultiTkIp.cb_entry_class
+ * dln.c: simplify #ifdef. _WIN32 and __CYGWIN__ are exclusive.
+ see include/ruby/defines.h
+ * gc.c: ditto.
+ * ext/sdbm/_sdbm.c: ditto.
- * ext/tk/lib/tk/canvas.rb: use TkComm._callback_entry?()
+Sun Oct 18 10:42:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/tk/canvastag.rb: ditto
+ * ruby.c (open_load_file): add a comment.
- * ext/tk/lib/tk/dialog.rb: ditto
+Sun Oct 18 10:12:46 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/tk/optiondb.rb: ditto
+ * file.c (rb_file_identical_p): simplify ifdefs
- * ext/tk/lib/tk/text.rb: ditto
+Sun Oct 18 10:01:40 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/tk/texttag.rb: ditto
+ * ChangeLog: Good-bye OS/2.
+ * common.mk: ditto.
+ * configure.in: ditto.
+ * dln_find.c: ditto.
+ * ext/Setup.emx: ditto.
+ * ext/extmk.rb: ditto.
+ * ext/socket/extconf.rb: ditto.
+ * ext/zlib/extconf.rb: ditto.
+ * file.c: ditto.
+ * include/ruby/defines.h: ditto.
+ * io.c: ditto.
+ * lib/mkmf.rb: ditto.
+ * missing/os2.c: ditto.
+ * process.c: ditto.
+ * ruby.c: ditto.
+ * NEWS: announce OS/2 is no longer supported.
- * ext/tk/lib/tk/textwindow.rb: ditto
+Sun Oct 18 08:50:15 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/tk/timer.rb: ditto
+ * include/ruby/defines.h (DOSISH): add comments.
- * ext/tk/lib/tk/validation.rb: ditto
+Sun Oct 18 08:26:51 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * ext/tk/lib/tkextlib/*: ditto
+ * io.c (fptr_finalize): don't release gvl if fptr is not writable.
+ writable fd may block on close(2) when it's on NFS. But readonly
+ fd doesn't. [Bug #11559]
+ result: make benchmark OPTS="-p bm_require_t -e ruby-trunk -e ruby-2.2.2"
+ build-ruby: 0.171
+ ruby 2.3.0dev(r52151): 0.659
+ ruby 2.2.0p95 (r50295): 0.834
-Thu Dec 16 03:14:28 2004 Minero Aoki <aamine@loveruby.net>
+Sun Oct 18 09:32:58 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * lib/net/http.rb (basic_encode): return value of pack('m') may
- include multiple CR/LFs. Backported from main trunk (rev 1.112).
- [ruby-dev:25212]
+ * file.c (ruby_is_fd_loadable): this should be fail if st_mode is
+ not regular file nor FIFO.
-Thu Dec 16 00:33:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Oct 18 09:20:17 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * hash.c (Init_Hash): remove custom "hash" and "eql?".
+ * ruby.c (open_load_file): use rb_thread_wait_fd() instead of reopen.
-Wed Dec 15 18:57:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Oct 18 05:11:22 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * lib/set.rb (Set::eql): wrong definition. [ruby-dev:25207]
+ * ruby.c (open_load_file): reset O_NONBLOCK after open.
+ Even if S_ISREG() is true, the file may be file on FUSE filesystem
+ or something. We can't assume O_NONBLOCK is safe.
+ Moreover, we should wait if the path is point to FIFO. That's
+ FIFO semantics. GVL should be transparent from ruby script.
+ Thus, just reopen without O_NONBLOCK for filling the requirements.
+ [Bug #11060][Bug #11559]
-Wed Dec 15 18:48:42 2004 Shugo Maeda <shugo@ruby-lang.org>
+ * ruby.c (loadopen_func): new for the above.
- * ext/curses/curses.c (window_subwin): call NUM2INT() before
- GetWINDOW(). (backported from CVS HEAD)
+ * file.c (ruby_is_fd_loadable): new. for checks loadable file type
+ of not.
+ * file.c (rb_file_load_ok): use ruby_is_fd_loadble()
+ * internal.h: add ruby_is_fd_loadble()
-Wed Dec 15 17:03:50 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * common.mk: now, ruby.o depend on thread.h.
- * win32/win32.[ch] (rb_w32_isatty): new function to replace MSVCRT's
- isatty because it never sets errno. (backported from CVS HEAD)
+ * test/ruby/test_require.rb
+ (TestRequire#test_loading_fifo_threading_success): new test.
+ This test successful case that loading from FIFO.
-Wed Dec 15 15:39:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * test/ruby/test_require.rb
+ (TestRequire#test_loading_fifo_threading_raise): rename from
+ test_loading_fifo_threading. You shouldn't rescue an exception
+ if you test raise or not.
+ Moreover, this case should be caught IOError because load(FIFO)
+ should be blocked until given any input.
- * ext/openssl/ossl_x509name.c (ossl_x509name_to_a): avoid SEGV
- (rollback the previous commit).
+Sat Oct 17 13:55:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 15 16:10:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * file.c (rb_file_expand_path_internal): concatenate converted
+ string to the result instead of making converted string and
+ append it.
- * object.c (rb_obj_id_obsolete): warn always.
+ * string.c (rb_str_cat_conv_enc_opts): from rb_str_conv_enc_opts,
+ separate function to concatenate with transcoding.
- * eval.c (rb_enable_super): ditto.
+Sat Oct 17 13:19:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 15 15:31:02 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ruby.c (load_file): unify each preparations and clean-ups by
+ merging load_file_internal and load_file_internal2, and remove
+ nested rb_protect and rb_ensure.
- * lib/set.rb (Set#==): [ruby-dev:25206]
+Sat Oct 17 05:28:32 2015 Rei Odaira <Rei.Odaira@gmail.com>
-Wed Dec 15 14:22:10 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * 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]
- * win32/win32.c (rb_w32_fdisset): check whether the handle is valid.
- fixed: [ruby-core:03959]
+Fri Oct 16 15:54:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 15 10:30:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * file.c (rb_file_load_ok): open in non-blocking mode withoout
+ releasing GVL. don't care about others than regular files and
+ directories. [ruby-dev:49272] [Bug #11559]
- * ext/openssl/ossl_digest.c (ossl_digest_initialize): [ruby-dev:25198]
+ * ruby.c (load_file_internal): ditto.
-Tue Dec 14 17:10:09 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+Thu Oct 15 23:56:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (rb_w32_close): need to reset osfhnd().
+ * proc.c (rb_sym_to_proc): make void env.
-Tue Dec 14 14:03:57 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Thu Oct 15 13:37:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl.c (ossl_raise): avoid buffer overrun.
- [ruby-dev:25187]
+ * proc.c (rb_sym_to_proc): move from string.c and create a Proc
+ with no environments. [ruby-core:71088] [Bug #11594]
-Tue Dec 14 12:36:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Oct 15 01:57:03 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * lib/cgi/session.rb (CGI::Session::initialize): generate new
- session if given session_id does not exist. [ruby-list:40368]
+ * 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]
-Mon Dec 13 18:13:52 2004 Tanaka Akira <akr@m17n.org>
+Thu Oct 15 01:53:38 2015 Benoit Daloze <eregontp@gmail.com>
- * 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]
+ * test/ostruct/test_ostruct.rb: Add tests for OpenStruct#respond_to.
+ Patch by @jeremy in [GH-1041]: https://github.com/ruby/ruby/pull/1041
-Mon Dec 13 00:58:02 2004 Tanaka Akira <akr@m17n.org>
+Thu Oct 15 01:49:25 2015 Benoit Daloze <eregontp@gmail.com>
- * lib/pathname.rb (cleanpath_aggressive): make it private.
- (cleanpath_conservative): ditto.
- Suggested by Daniel Berger. [ruby-core:3914]
+ * lib/ostruct.rb: Finish defining OpenStruct attributes lazily.
+ Patch by @sferik in [GH-1037]: https://github.com/ruby/ruby/pull/1037
+ This commit is an addendum to https://github.com/ruby/ruby/pull/1033.
+ It:
+ 1. lazily defines attribute accessors for copied and marshaled objects,
+ 2. returns nil when an attribute reader is not defined, and
+ 3. defines respond_to_missing? to maintain the same respond_to? behavior
-Sun Dec 12 20:06:38 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Wed Oct 14 16:56:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/drb/drb.rb: backported from CVS HEAD.
+ * configure.in: check for libunwind.h, which is not available in
+ very old OS X SDK. [ruby-core:71080] [Bug #11591]
-Sun Dec 12 10:35:10 2004 Dave Thomas <dave@pragprog.com>
+Wed Oct 14 14:11:42 2015 Brian Black <bblack@veracode.com>
- * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Don't
- show an accessor's r/w flag if none was specified
+ * iseq.c (rb_insn_operand_intern): change kw in callinfo disasm from the
+ number of keyword arguments to an ordered list of the keywords used.
+ [Feature #11589]
-Sun Dec 12 10:14:03 2004 Dave Thomas <dave@pragprog.com>
+Wed Oct 14 13:58:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/rdoc.rb (RDoc::RDoc::parse_files): Never exclude files
- explicitly given on the command line.
+ * parse.y (parser_nextc): send a warning to ripper, not to STDERR
+ always.
-Sun Dec 11 23:54:07 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * parse.y (rb_warn1, rb_warning1): move argument conversions to
+ callers. PRIsVALUE is not valid in String#%.
- * ext/tk/*: update to support libraries in ActiveTcl8.4.12.0
- (see ext/tk/ChangeLog.tkextlib).
+Wed Oct 14 13:37:23 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/sample/scrollframe.rb: add a new sample.
+ * lib/racc/rdoc/grammar.en.rdoc: fix spell error.
+ [fix GH-1053][ci skip] Patch by @Matrixbirds
-Sat Dec 11 20:12:21 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue Oct 13 22:06:50 2015 Tanaka Akira <akr@fsij.org>
- * lib/drb/drb.rb: add DRbRemoteError. [ruby-list:40348],
- [ruby-list:40390]
+ * ext/socket/raddrinfo.c (rsock_fd_family): Check sa_len.
- * test/drb/drbtest.rb: ditto.
+Tue Oct 13 12:14:10 2015 Craig Davison <craig65535@gmail.com>
- * test/drb/ut_drb.rb: ditto.
+ * ext/socket/rsock_addrinfo (rsock_addrinfo): specify address
+ family. [Fix GH-1052]
-Sat Dec 11 15:38:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send):
+ address family by the receiver.
- * lib/jcode.rb (String::succ): [ruby-dev:25156]
+Sun Oct 11 07:09:19 2015 Koichi Sasada <ko1@atdot.net>
-Sat Dec 11 12:41:55 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * vm_insnhelper.c (vm_push_frame): initialize other than sp (and ep)
+ first for performance.
- * eval.c (run_trap_eval): prototype; avoid VC++ warnings.
+Sun Oct 11 06:21:50 2015 Koichi Sasada <ko1@atdot.net>
- * ext/socket/getaddrinfo.c: fix typo. fixed: [ruby-core:03947]
+ * vm_eval.c, internal.h (rb_yield_1): added for performance which
+ doesn't check Qundef.
- * win32/win32.c: need to include dln.h.
+ * numeric.c (int_dotimes): use rb_yield_1.
-Sat Dec 11 00:10:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Oct 11 06:19:49 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (io_reopen): [ruby-dev:25150]
+ * vm_insnhelper.c (vm_call_iseq_setup_normal): setup sp first
+ for performance.
-Fri Dec 10 08:39:27 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 11 05:29:51 2015 Koichi Sasada <ko1@atdot.net>
- * ext/socket/socket.c (sock_listen): get OpenFile just before calling
- listen(2). fixed: [ruby-dev:25149]
+ * vm.c (invoke_block_from_c): split this function into several
+ functions.
-Thu Dec 9 17:00:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
+ * vm_insnhelper.c (vm_yield_callee_setup_arg): remove this function
+ because it is only delegation function.
- * ext/socket/socket.c, ext/socket/getaddrinfo.c: port to VMS
+Sun Oct 11 03:48:46 2015 Koichi Sasada <ko1@atdot.net>
-Thu Dec 9 16:31:02 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * gc.c (newobj_of_slowpass): fix typo (pass -> path).
+ Pointed out by Yukihiro Matsumoto <matz@ruby-lang.org>.
- * ext/sdbm/init.c (GetDBM): typo.
+ * gc.c (newobj_of_...): `of' is unnecessary.
-Thu Dec 9 16:05:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
+Sat Oct 10 19:04:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * defines.h: change path of vms.h
- * vms/vms.h: delete reference for snprintf()
- * vms/config.h: new file
- * vms/config.h_in: deleted
+ * ext/socket/udpsocket.c (udp_connect, udp_bind): get open files
+ inside ensure functions.
-Thu Dec 9 14:38:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Oct 10 18:35:12 2015 Koichi Sasada <ko1@atdot.net>
- * string.c (rb_str_inspect): escape # which starts an expression
- substitution. fixed: [ruby-core:03922]
+ * vm_insnhelper.c (vm_call_method0): do not propagate enable_fastpath,
+ but pass dummy CC to prevent wrong caching.
- * string.c (rb_str_dump): not escape # which isn't a substitution.
+Sat Oct 10 15:28:45 2015 Koichi Sasada <ko1@atdot.net>
-Thu Dec 9 10:54:36 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * import a github pull request
+ https://github.com/ruby/ruby/pull/1050
+ by Kazuho Oku <kazuho@natadeco.co>.
- * ext/dbm/dbm.c (fdbm_select): [ruby-dev:25132]
+ This pull request has the following commits.
- * ext/sdbm/init.c: ditto.
+ * gc.c: reduce # of args to 6 (max. of register args on x86-64) so
+ that the `newobj_of_slowpass` can be called via TCO.
- * ext/gdbm/gdbm.c: ditto.
+ * gc.c (newobj_of), string.c (str_duplicate): for performance,
+ the hot functions must be inlined.
-Thu Dec 9 03:08:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * gc.c: for performance, preceding arguments of `.*newobj_of.*`
+ must be same, so that the arg registers can be reused in case of
+ TCO.
- * ext/tcltklib/tcltklib.c (ip_init): set root-win title to "ruby" when
- the running script is '-e one-liner' or '-' (stdin).
+Sat Oct 10 08:52:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/extconf.rb: add find_library("#{lib}#{ver}",..) for
- stub libs
+ * ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send): fix
+ memory leaks at closed socket.
- * ext/tk/lib/tk/textmark.rb: TkTextMarkCurrent and TkTextMarkAnchor
- have a wrong parent class.
+Fri Oct 9 17:29:07 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/tk/dialog.rb: rename TkDialog2 --> TkDialogObj and
- TkWarning2 --> TkWarningObj (old names are changed to alias names)
+ * lib/net/ftp.rb (parse257): refactor.
- * ext/tk/lib/tk/dialog.rb: bug fix of treatment of 'prev_command'
- option and hashes for configuration
+Fri Oct 9 16:42:26 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/tk/dialog.rb: add TkDialogObj#name to return the
- button name
+ * lib/net/imap.rb: use frozen_string_literal: true.
- * ext/tk/lib/tk/radiobutton.rb: rename enbugged method value() ==>
- get_value() and value=(val) ==> set_value(val).
+ * test/net/imap/test_imap.rb: ditto.
- * ext/tk/lib/tk/menu.rb: add TkMenu.new_menuspec
+ * test/net/imap/test_imap_response_parser.rb: ditto.
- * ext/tk/lib/tk/menu.rb: add alias (TkMenuButton = TkMenubutton,
- TkOptionMenuButton = TkOptionMenubutton)
+Fri Oct 9 15:52:28 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/tk/event.rb: new method aliases (same as option keys of
- event_generate) for Event object
+ * lib/net/ftp.rb: use frozen_string_literal: true.
- * ext/tk/lib/tk/font.rb: configinfo returns proper types of values
+ * test/net/ftp/test_buffered_socket.rb: ditto.
- * ext/tk/lib/tk.rb: bind methods accept subst_args + block
+ * test/net/ftp/test_ftp.rb: ditto.
- * ext/tk/lib/tk/canvas.rb: ditto
+ * test/net/ftp/test_mlsx_entry.rb: ditto.
- * ext/tk/lib/tk/canvastag.rb: ditto
+Fri Oct 9 14:12:35 2015 Shota Fukumori (sora_h) <her@sorah.jp>
- * ext/tk/lib/tk/frame.rb: ditto
+ * ext/openssl/lib/openssl/ssl.rb: Revert r52082 because it was
+ dropping TLS v1.1 support too. Supporting only TLS v1.2 is too
+ early, because many popular websites still don't support it.
- * ext/tk/lib/tk/text.rb: ditto
+ For instance, Servers where aws-sdk connects to still don't support
+ TLS v1.2 and it became broken.
- * ext/tk/lib/tk/texttag.rb: ditto
+ We should consider more carefully about this.
- * ext/tk/lib/tk/toplevel.rb: ditto
+ [Fix GH-873] [Feature #11524]
- * ext/tk/lib/tkextlib/*: ditto and bug fix
+Fri Oct 9 12:52:08 2015 Shugo Maeda <shugo@ruby-lang.org>
-Wed Dec 8 23:54:29 2004 Dave Thomas <dave@pragprog.com>
+ * compile.c (iseq_compile_each): Dynamic string literals (e.g.,
+ "#{x}") should not be frozen because they don't literally
+ represent strings.
+ https://twitter.com/shugomaeda/status/651937650027401216
+ https://twitter.com/yukihiro_matz/status/651942882312482817
+ https://twitter.com/yukihiro_matz/status/651980835181096960
- * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Typo
- meant that h2 tag was invisible.
+Fri Oct 9 06:52:49 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Wed Dec 8 21:56:31 2004 Kouhei Sutou <kou@cozmixng.org>
+ * benchmark/prepare_require.rb: skip file creation if it already
+ exist. Suggested by ko1.
- * lib/rss, test/rss, sample/rss: backported from CVS HEAD.
+Fri Oct 9 06:18:04 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+ * benchmark/bm_require.rb: new benchmark for require.
+ * benchmark/bm_require_thread.rb: new benchmark for conflicting
+ require vs thread. like [Bug #11559]
+ * prepare_require.rb: new file for preparing above tests.
+ * prepare_require.rb: ditto.
-Wed Dec 8 14:31:36 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Oct 8 14:10:45 2015 Zachary Scott <zzak@ruby-lang.org>
- * io.c (io_fwrite): change dereference for cosmetic reason.
+ * ext/openssl/lib/openssl/ssl.rb: Default to TLSv1.2 and drop TLS v1
+ Patch provided by @claudijd [Fixes GH-873] [Feature #11524]:
+ https://github.com/ruby/ruby/pull/873
- * sprintf.c (rb_f_sprintf): [ruby-dev:25104]
+Wed Oct 7 22:55:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 7 19:08:00 2004 Akiyoshi, Masamichi <akiyoshi@hp.com>
+ * test/minitest/metametameta.rb (with_output): restore output to
+ fix mixing test result output in worker responses.
- * io.c (io_fwrite): fix offset incrementation (for VMS and Human68k)
+Wed Oct 7 21:32:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 7 00:27:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (str_duplicate): move from rb_str_resurrect to short
+ circuit initialization.
- * process.c (proc_setgroups): [ruby-dev:25081]
+Wed Oct 7 20:43:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Dec 6 18:08:10 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (rb_str_resurrect): fix resurrection of short enough to
+ be embedded but not embedded string.
- * re.c (rb_reg_eqq): document fix. [ruby-talk:122541]
+Wed Oct 7 20:17:29 2015 Koichi Sasada <ko1@atdot.net>
-Mon Dec 6 17:19:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (newobj_of): divide fast path and slow path
+ to avoid register savings for fast path.
- * rubysig.h (TRAP_BEG, TRAP_END): safe errno around CHECK_INTS.
- (backported from CVS HEAD) [ruby-dev:24993]
+ This idea is given by Kazuho Oku <kazuho@natadeco.co>.
-Mon Dec 6 10:18:17 2004 Dave Thomas <dave@pragprog.com>
+Wed Oct 7 17:30:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::look_for_directives_in):
- Oops - 1.8 doesn't have String#clear
+ * string.c (rb_str_times): optimize for the argument 0 and 1.
-Mon Dec 6 09:59:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Oct 7 01:20:46 2015 Koichi Sasada <ko1@atdot.net>
- * ext/socket/socket.c (sock_connect): use rb_str_new4().
- [ruby-dev:25052]
+ * gc.h, gc.c: introduce new debug function rb_obj_info_dump(VALUE obj)
+ which prints the result of rb_raw_obj_info(..., obj).
-Mon Dec 6 01:42:08 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Oct 7 01:16:11 2015 Koichi Sasada <ko1@atdot.net>
- * 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]
+ * vm_args.c: remove an unused field args_info::calling.
- * 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.
+Tue Oct 6 23:43:10 2015 Koichi Sasada <ko1@atdot.net>
- * test/openssl/test_pkey_rsa.rb: new file.
+ * proc.c (rb_method_entry_min_max_arity): should support
+ OPTIMIZED_METHOD_TYPE_CALL.
-Sun Dec 5 19:39:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Oct 6 21:29:08 2015 Tanaka Akira <akr@fsij.org>
- * lib/optparse.rb (OptionParser::Completion#complete): new parameter
- to direct case insensitiveness.
+ * lib/tmpdir.rb (Dir.tmpdir): return duplicated string to be
+ modify safely even when $SAFE > 0.
- * lib/optparse.rb (OptionParser#order!): ignore case only for long
- option. [ruby-dev:25048]
+Tue Oct 6 19:24:38 2015 Koichi Sasada <ko1@atdot.net>
-Sat Dec 4 22:54:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_insnhelper.c (vm_call_method0): use switch() for visibilities
+ (for readability).
- * io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050]
+Tue Oct 6 19:23:58 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (io_fwrite): takes VALUE string as an argument.
- [ruby-dev:25050]
+ * proc.c (Init_Proc): Proc#call and others should be public.
- * ext/socket/socket.c (sock_connect): remove rb_str_locktmp().
- [ruby-dev:25050]
+Tue Oct 6 18:51:51 2015 Koichi Sasada <ko1@atdot.net>
- * ext/socket/socket.c (udp_connect): [ruby-dev:25045]
+ * method.h: IMEMO_FL_USER3 and IMEMO_FL_USER4 is not needed any more.
- * ext/socket/socket.c (udp_bind): ditto.
+Tue Oct 6 18:47:45 2015 Koichi Sasada <ko1@atdot.net>
- * ext/socket/socket.c (udp_send): ditto.
+ * method.h: remove METHOD_ENTRY_SAFE(me) and related code
+ because $SAFE = 3 and 4 is not available.
+ Now, $SAFE is not checked on method dispatch at all.
- * ext/socket/socket.c (bsock_send): ditto.
+ * vm_eval.c, vm_insnhelper.c, vm_method.c: ditto.
- * ext/socket/socket.c (s_recvfrom): ditto.
+Tue Oct 6 13:56:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (rb_hash_hash): should provide "hash" method where "eql?"
- is redefined. [ruby-talk:122482]
+ * include/ruby/ruby.h: turn function macros into inline functions,
+ for debuggers.
-Sat Dec 4 14:54:52 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * include/ruby/ruby.h: turn constant macros into enums, for
+ debuggers.
- * eval.c (proc_invoke): use volatile `tmp' rather than `args'.
- [ruby-core:03882]
+Tue Oct 6 13:48:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sat Dec 4 14:28:56 2004 Dave Thomas <dave@pragprog.com>
+ * method.h: typo fix. Patch by @davydovanton [fix GH-1032][ci skip]
- * 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.
+Tue Oct 6 06:54:34 2015 Koichi Sasada <ko1@atdot.net>
-Sat Dec 4 03:33:45 2004 Shugo Maeda <shugo@ruby-lang.org>
+ * iseq.c (rb_iseq_free): free iseq::variable_body to avoid memory
+ leak.
- * ext/readline/readline.c: check $SAFE. (backported from CVS HEAD)
+Tue Oct 6 06:32:52 2015 Koichi Sasada <ko1@atdot.net>
- * test/readline/test_readline.rb: added tests for readline.
- (backported from CVS HEAD)
+ * proc.c: enable optimization of Proc#call.
+ [Feature #11569]
-Sat Dec 4 02:24:00 2004 NARUSE, Yui <naruse@ruby-lang.org>
+ * NEWS: write about this optimization and incompatibilities.
- * ext/nkf/nkf.c: add constant NKF::VERSION
+ * test/ruby/test_backtrace.rb: catch up this fix.
- * ext/nkf/nkf.c(guess): this becomes an alias of guess2
+Tue Oct 6 04:41:03 2015 Koichi Sasada <ko1@atdot.net>
- * ext/nkf/test.rb(mime_out2): add --no-cp932
+ * vm_insnhelper.c: solve goto spaghetti.
- * ext/nkf/nkf-utf8/nkf.c: original nkf2 revision 1.47
+ Change all goto statement across blocks to tail call functions.
-Sat Dec 4 00:35:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Oct 6 02:29:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039]
+ * string.c (rb_str_resurrect): optimize by short circuit to copy
+ hidden string without checking length, encoding and so on.
-Fri Dec 3 18:57:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Oct 5 23:08:17 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * lib/ostruct.rb: 1.9 marshaling support back-ported.
- [ruby-core:03871]
+ * test/ruby/test_thread.rb (test_handle_interrupt_blocking): check if
+ exception handling was postponed until sleep.
-Fri Dec 3 13:45:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Oct 5 22:25:49 2015 Tanaka Akira <akr@fsij.org>
- * eval.c (proc_invoke): copy arguments to frame.argv.
- [ruby-core:03861]
+ * lib/pp.rb: Use frozen_string_literal: true.
-Fri Dec 3 12:25:41 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/prettyprint.rb: Ditto.
- * st.h: fix prototypes.
+ * lib/resolv.rb: Ditto.
-Fri Dec 3 00:21:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/tmpdir.rb: Ditto.
- * object.c (convert_type): use rb_respond_to() again.
- [ruby-dev:25021]
+ * test/test_pp.rb: Ditto.
- * eval.c (rb_respond_to): funcall respond_to? if it's redefined.
- [ruby-dev:25021]
+ * test/test_prettyprint.rb: Ditto.
-Fri Dec 3 01:55:24 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * tool/transcode-tblgen.rb: Ditto.
- * 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.
+Mon Oct 5 20:39:32 2015 Benoit Daloze <eregontp@gmail.com>
- * ext/tk/lib/tk/font.rb: TkFont#replace accepts only one font argument.
+ * test/ruby/test_thread.rb: fix potential race condition.
+ The thread could have a "sleep" status because it tries
+ to acquire the mutex, but does not have it yet.
- * ext/tk/lib/tk/radiobutton.rb: add TkRadiobutton#value and
- TkRadiobutton#value=(val).
+Mon Oct 5 15:39:30 2015 Zachary Scott <zzak@ruby-lang.org>
- * ext/tk/lib/tk/spinbox.rb: callback substitution support on
- command option.
+ * numeric.c: [DOC] Overview for Numeric class by Joe Corcoran
+ This patch was created at ROSSConf Berlin 2015 [Bug #11555]
- * ext/tk/sample/demos-en/widget: bug fix (wrong image height)
+Mon Oct 5 15:34:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/sample/demos-jp/widget: ditto.
+ * proc.c (proc_new): link ep to calling block.
+ [ruby-core:70980] [Bug #11566]
-Fri Dec 3 00:11:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Oct 5 00:53:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_file_initialize): [ruby-dev:25032]
+ * dir.c (rb_dir_getwd): make ASCII-8BIT if filesystem encoding is
+ US-ASCII, like as Dir.glob.
-Thu Dec 2 16:41:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Oct 4 23:39:09 2015 Tanaka Akira <akr@fsij.org>
- * eval.c (rb_protect): prevent continuations created inside from being
- called from the outside. [ruby-dev:25003]
+ * enum.c (nmin_filter): Fix limit value.
+ patch by Helder Pereira.
+ [Bug #11471] [ruby-core:70477]
- * eval.c (rb_callcc, rb_cont_call): prohibit calling from different
- signal contexts. [ruby-dev:25022]
+Sun Oct 4 15:11:48 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Thu Dec 2 09:57:24 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * enc/euc_jp.c (mbc_case_fold): check given string is valid or not,
+ and if invalid, return 1. [Bug #11486]
- * lib/ostruct.rb (OpenStruct::Marshaler): OpenStruct can be
- marshaled again. [ruby-core:03862]
+Sun Oct 4 10:09:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Dec 2 09:30:06 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * dir.c (rb_dir_getwd): normalize OS path to UTF-8 on OS X.
- * eval.c (thread_mark): mark thread group. [ruby-dev:25020]
+Sun Oct 4 00:09:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (thgroup_add): check whether the argument is really a Thread.
+ * template/ruby-runner.c.in: wrapper to set dynamic loading path
+ environment variable. /bin/sh on Mac OS X 10.11 (El Capitan)
+ clears DYLD_LIBRARY_PATH.
-Thu Dec 2 07:57:16 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ it must:
+ - do nothing even if current directory is not present
+ - do not set other environment variables, e.g. PWD, SHLVL, etc
+ - do not open other FDs, e.g. pipes for timer thread
- * io.c (rb_io_ctl): [ruby-dev:25019]
+Sun Oct 2 10:59:00 2015 schneems <richard.schneeman@gmail.com>
-Wed Dec 1 02:21:02 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/pathname/lib/pathname.rb: freeze string literals for
+ reduced object allocation.
+ [Feature #11375] [ruby-core:70043]
- * signal.c (sighandler): call handler immediately only for default
- handlers. [ruby-dev:25003]
+Fri Oct 2 09:20:20 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
-Tue Nov 30 23:38:18 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * common.mk, lib/unicode_normalize/tables.rb: Change Unicode
+ Version for character normalization data from 7.0.0 to
+ 8.0.0.
- * io.c (io_fread): need not to null terminate. [ruby-dev:24998]
+Fri Oct 2 00:18:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (read_all): remove unnecessary rb_str_resize().
- [ruby-dev:24996] (backported from CVS HEAD)
+ * proc.c (proc_mark): block.ep of Proc from Symbol is now NULL.
+ [ruby-core:70961] [Bug #11560]
- * io.c (io_readpartial): ditto.
+Wed Sep 30 15:47:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (io_read): ditto.
+ * vm_args.c (vm_caller_setup_arg_block): bypass Symbol#to_proc
+ call to optimize symbol block passing.
-Tue Nov 30 16:18:50 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Sep 30 01:34:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (io_fread): need not to null terminate. [ruby-dev:24998]
+ * parse.y (parser_free): fix memory leak at syntax error when
+ warn-indent is enabled.
- * io.c (read_all): remove unnecessary rb_str_resize().
- [ruby-dev:24996]
+Tue Sep 29 22:27:50 2015 Benoit Daloze <eregontp@gmail.com>
- * io.c (io_read): ditto.
+ * parse.y: fix minor typo. [ci skip][fix GH-1038].
+ Patch by @ltratt.
-Tue Nov 30 00:49:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Sep 29 16:53:53 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * io.c (rb_io_sysread): use temporary lock. [ruby-dev:24992]
+ * tool/unicode_norm_gen.tmpl, lib/unicode_normalize/tables.rb:
+ get rid of many .freeze commands by using frozen_string_literal
+ pragma.
-Mon Nov 29 16:06:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 29 16:37:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/stringio/stringio.c (strio_write): insufficiently filled string
- being extended when overwriting. [ruby-core:03836]
+ * compile.c (compile_dstr_fragments): fix performance by omitting
+ the first empty string only for keeping literal encoding if
+ other literals are too. [ruby-core:70930] [Bug #11556]
-Mon Nov 29 15:59:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (rb_str_append_literal): append but keep encoding non
+ US-ASCII.
- * lib/ostruct.rb (OpenStruct::method_missing): check method
- duplication for -d.
+Mon Sep 28 17:40:17 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/ostruct.rb (OpenStruct::initialize): ditto.
+ * lib/net/ftp.rb (mtime): use usec instead of fractions to parse
+ decimal fractions of a second correctly when the number of digits
+ is not 6.
-Mon Nov 29 15:22:28 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Sep 28 16:07:08 2015 Shugo Maeda <shugo@ruby-lang.org>
- * test/io/nonblock/test_flush.rb: abandon tests when io/nonblock is
- not supported.
+ * lib/net/ftp.rb (mtime): parse decimal fractions of a second as
+ specified in RFC 3659.
-Mon Nov 29 03:08:30 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Sep 28 10:31:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * object.c (convert_type): direct call conversion methods for the
- performance. [ruby-core:03845]
+ * test/test_forwardable.rb: Write basic tests for lib/forwardable.
+ [fix GH-1035] Patch by @kachick
- * eval.c (rb_funcall_rescue): new function.
+Sun Sep 27 23:32:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * object.c (rb_Array): avoid using rb_respond_to().
+ * class.c (rb_define_class, rb_define_class_id_under): refine
+ error messages.
- * object.c (rb_Integer): ditto.
+ * class.c (rb_define_module, rb_define_module_id_under): ditto,
+ and make consistent with class.
- * parse.y (reduce_nodes): empty body should return nil.
+Sun Sep 27 18:44:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * string.c (rb_str_aset): the original string should not be
- affected by modifying duplicated string. [ruby-dev:24981]
+ * ChangeLog: removed duplicated message.
-Mon Nov 29 13:57:38 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Sep 27 15:46:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (CreateChild): search executable file if no program
- name given. (backported from CVS HEAD)
+ * ruby.c (process_options): add an option to enable/disable
+ frozen-string-literal. [Feature #8976]
-Mon Nov 29 13:37:54 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (iseq_compile_each): override compile option by option
+ given by pragma.
- * io.c (fptr_finalize): must not use FILE after fclose().
- [ruby-dev:24985]
+ * iseq.c (rb_iseq_make_compile_option): extract a function to
+ overwrite rb_compile_option_t.
-Mon Nov 29 13:16:31 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * parse.y (parser_set_compile_option_flag): introduce pragma to
+ override compile options.
- * win32/win32.c (CreateChild): push back the last space before next
- loop because CharNext() eats it.
+ * parse.y (magic_comments): new pragma "frozen-string-literal".
+ [Feature #8976]
-Mon Nov 29 01:18:18 2004 Tanaka Akira <akr@m17n.org>
+Sun Sep 27 08:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_check_writable): call io_seek regardless of
- NEED_IO_SEEK_BETWEEN_RW. [ruby-dev:24986]
+ * lib/ostruct.rb (delete_field): do not raise NameError for
+ existing keys. [Fix GH-1033]
-Sat Nov 27 21:43:39 2004 Tanaka Akira <akr@m17n.org>
+Sun Sep 27 00:34:31 2015 Zachary Scott <zzak@ruby-lang.org>
- * io.c: avoid data lost with nonblocking fd and
- stdio buffering in sync mode. [ruby-dev:24966]
- based on matz's patch [ruby-dev:24967]
- (io_fwrite): new primitive writing function which writes
- directly if sync mode.
- (rb_io_fwrite): wrapper for io_fwrite now.
- (io_write): call io_fwrite instead of rb_io_fwrite.
+ * lib/ostruct.rb: Move method definitions for getter/setter to be lazy
+ Patch by @sferik in [GH-1033]: https://github.com/ruby/ruby/pull/1033
-Sat Nov 27 14:44:15 2004 Kent Sibilev <ksibilev@bellsouth.net>
+Fri Sep 25 10:07:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/cgi/session.rb (CGI::Session::initialize): create_new_id is
- now a instance method. [ruby-core:03832]
+ * lib/net/http.rb: removed unused variable. It's removed at r13648.
+ [fix GH-1022] Patch by @nkondratyev
-Sat Nov 27 09:41:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Sep 25 09:48:27 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * io.c (io_fread): old rb_io_fread with file closing checking.
- (rb_io_fread): wrapper for io_fread now.
- [ruby-dev:24964]
+ * gems/bundled_gems: upgrade to minitest-5.8.1
-Fri Nov 26 18:02:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Fri Sep 25 09:47:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tk.rb: Tk.destroy uses TkWindow#epath
+ * id_table.c: fix typo. [ci skip][fix GH-1031] Patch @davydovanton
- * ext/tk/lib/tk/image.rb: bug fix
+Fri Sep 25 07:54:05 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * ext/tk/lib/tk/wm.rb: add 'iconphoto' method(Windows only)
+ * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_lock): skip
+ this test on AIX. The issue is the same as on Solaris.
+ [ruby-dev:47631]
- * ext/tk/lib/tkextlib/*: some methods uses TkWindow#epath
+Thu Sep 24 17:25:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Nov 26 13:49:06 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * parse.y (paren_args): fix separator token at `foo::bar()` in
+ ripper.
- * eval.c (method_missing): raise TypeError for classes do not
- have allocators. [ruby-core:03752]
+Thu Sep 24 00:00:17 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * lib/erb.rb: add RDoc by James Edward Gray II. [ruby-core:03786]
+ * complex.c: ruby/config.h must be included before math.h
+ because it defines _LARGE_FILES on AIX and _LARGE_FILES
+ must be defined before sys/types.h is included from math.h.
+ [Bug #11483]
-Fri Nov 26 13:29:02 2004 Dave Thomas <dave@pragprog.com>
+Wed Sep 23 22:22:38 2015 Zachary Scott <zzak@ruby-lang.org>
- * 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!)
+ * ext/openssl/ossl_pkcs12*: Remove svn commit id macro
-Fri Nov 26 00:17:40 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Sep 23 01:11:28 2015 Zachary Scott <zzak@ruby-lang.org>
- * io.c (io_read): move StringValue() check before GetOpenFile().
- [ruby-dev:24959]
+ * ext/openssl/*: Remove svn commit id macros to make sync easier
-Thu Nov 25 20:14:57 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Sep 22 04:20:01 2015 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
- * lib/thwait.rb (ThreadsWait#join_nowait): abnormally terminated
- threads should be also processed. [ruby-talk:121320]
+ * test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027]
+ patch by voxik.
-Thu Nov 25 10:14:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/rinda/test_rinda.rb: ditto
- * dir.c (push_braces): do not reuse buffer strings. [ruby-core:03806]
+Mon Sep 21 20:53:39 2015 tbpgr <tbpgr@tbpgr.jp>
-Thu Nov 25 07:59:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/win32ole/test_win32ole_event.rb: fix typo.
+ swbemsink_avairable? => swbemsink_available? [Fix GH-1025]
- * io.c (read_all): stringify non-nil buffer argument, and always
- taint the result. [ruby-dev:24955]
+Sun Sep 20 10:07:35 2015 Anton Davydov <antondavydov.o@gmail.com>
-Wed Nov 24 01:01:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * cont.c (rb_callcc): [DOC] append continuations example accros
+ methods. [Fix GH-1026]
- * io.c (io_read): integer conversion should be prior to
- GetOpenFile(). [ruby-dev:24952]
+Sun Sep 20 03:20:21 2015 Koichi Sasada <ko1@atdot.net>
- * configure.in, io.c: cancel [ ruby-Patches-1074 ].
+ * iseq.c (rb_iseq_free): free rb_iseq_t::body::cc_entries.
-Tue Nov 23 08:09:50 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Sep 20 02:46:34 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/menu.rb: improve usability of TkOptionMenubutton
+ * vm_core.h: split rb_call_info_t into several structs.
+ * rb_call_info (ci) has compiled fixed information.
+ * if ci->flag & VM_CALL_KWARG, then rb_call_info is
+ also rb_call_info_with_kwarg. This technique reduce one word
+ for major rb_call_info data.
+ * rb_calling_info has temporary data (argc, blockptr, recv).
+ for each method dispatch. This data is allocated only on
+ machine stack.
+ * rb_call_cache is for inline method cache.
-Tue Nov 23 02:00:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ Before this patch, only rb_call_info_t data is passed.
+ After this patch, above three structs are passed.
- * file.c (rb_file_chown): integer conversion should be prior to
- GetOpenFile(). [ruby-dev:24949]
+ This patch improves:
+ * data locality (rb_call_info is now read-only data).
+ * reduce memory consumption (rb_call_info_with_kwarg,
+ rb_calling_info).
-Tue Nov 23 00:10:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * compile.c: use above data.
- * file.c (rb_file_chown): integer conversion should be prior to
- GetOpenFile(). [ruby-dev:24947]
+ * insns.def: ditto.
- * file.c (rb_file_truncate): ditto.
+ * iseq.c: ditto.
- * file.c (rb_file_s_truncate): ditto.
+ * vm_args.c: ditto.
- * dir.c (dir_seek): use NUM2OFFT().
+ * vm_eval.c: ditto.
- * misc/ruby-mode.el (ruby-non-block-do-re): should not match words
- start with block keyword and underscore. [ruby-core:03719]
+ * vm_insnhelper.c: ditto.
-Mon Nov 22 22:33:02 2004 Dave Thomas <dave@pragprog.com>
+ * vm_insnhelper.h: ditto.
- * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Don't use names
- of variables or constants when oarsing 'require'
+ * iseq.h: add iseq_compile_data::ci_index and
+ iseq_compile_data::ci_kw_index.
-Mon Nov 22 00:13:35 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * tool/instruction.rb: introduce TS_CALLCACHE operand type.
- * dir.c (dir_seek): should retrieve dir_data after NUM2INT().
- [ruby-dev:24941]
+Sun Sep 20 02:18:10 2015 Tanaka Akira <akr@fsij.org>
-Sat Nov 20 23:57:33 2004 Dave Thomas <dave@pragprog.com>
+ * test/lib/envutil.rb: mkfifo command based File.mkfifo method
+ definition removed.
- * 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.
+Fri Sep 18 20:11:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Nov 20 23:56:54 2004 Dave Thomas <dave@pragprog.com>
+ * file.c (rb_file_s_mkfifo): implement File.mkfifo.
+ [Feature #11536]
- * lib/rdoc/options.rb (Options::parse): Force --inline-source if
- --one-file option given
+Fri Sep 18 16:56:19 2015 Shugo Maeda <shugo@ruby-lang.org>
-Sat Nov 20 23:55:19 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * NEWS: add Net::FTP#mlst and Net::FTP#mlsd.
- * string.c (rb_str_splice): should place index wrapping after
- possible modification. [ruby-dev:24940]
+Fri Sep 18 07:39:22 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Sat Nov 20 13:26:03 2004 NARUSE, Yui <naruse@ruby-lang.org>
+ * ext/objspace/objspace_dump.c (obj_type): add IMEMO types to the heap
+ dump information.
- * ext/nkf/nkf-utf8/utf8tbl.c: original revision 1.7
+Thu Sep 17 22:33:07 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sat Nov 20 05:34:24 2004 NARUSE, Yui <naruse@ruby-lang.org>
+ * common.mk: fix command error with outside builddir.
- * ext/nkf/nkf-utf8/nkf.c: original nkf.c rev:1.40
+Thu Sep 17 17:42:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/nkf/test.rb: add test for mime encode/decode
+ * common.mk: separated test for test-framework from test-all task.
+ They should be invoke at first before tests of test-all.
-Sat Nov 20 01:37:34 2004 Johan Holmberg <holmberg@iar.se>
+Thu Sep 17 12:05:54 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * eval.c (error_print): nicer traceback at interrupt.
- [ruby-core:03774]
+ * test/ruby/test_dir.rb (TestDir#test_fileno): s/?x/"x"/. Don't
+ use tricky code, please.
-Sat Nov 20 00:07:16 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Sep 16 20:49:56 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * string.c (str_gsub): internal buffer should not be listed by
- ObjectSpace.each_object() by String#gsub. [ruby-dev:24931]
+ * encindex.h: fix typo of last #endif comment. [ci skip]
-Fri Nov 19 01:20:22 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Sep 16 20:39:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise
- exception if data corresponding to session specified from the
- client does not exist.
+ * variable.c (set_const_visibility): fail if the class/module is
+ frozen. [ruby-core:70828] [Bug #11532]
-Fri Nov 19 00:59:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Sep 16 17:16:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (str_gsub): internal buffer should not be listed by
- ObjectSpace.each_object(). [ruby-dev:24919]
+ * vm_core.h (ENABLE_VM_OBJSPACE): enable per-VM object space on
+ Windows by default, as rb_w32_sysinit() no longer depends on
+ ruby_xmalloc.
-Thu Nov 18 18:41:08 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Wed Sep 16 15:08:17 2015 Akinori MUSHA <knu@iDaemons.org>
- * test/ruby/test_stringchar.rb (test_bang): added.
+ * doc/syntax/literals.rdoc (Strings): [DOC] Revise the character
+ literal part.
- * string.c (rb_str_upcase_bang, rb_str_capitalize_bang)
- (rb_str_swapcase_bang): missing rb_str_modify(). [ruby-dev:24915]
+Wed Sep 16 14:55:33 2015 Akinori MUSHA <knu@iDaemons.org>
-Thu Nov 18 00:21:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * doc/syntax/literals.rdoc (Strings): [DOC] Document the full list
+ of supported escape sequences in string literals.
- * process.c (proc_getpgrp): prohibit for $SAFE=2.
- [ruby-dev:24899]
+Wed Sep 16 14:49:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (get_pid): ditto. [ruby-dev:24904]
+ * string.c (rb_str_setbyte): keep the code range as possible.
- * process.c (get_ppid): ditto.
+Wed Sep 16 13:23:48 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * array.c (rb_ary_delete): defer rb_ary_modify() until actual
- modification. [ruby-dev:24901]
+ * doc/syntax/literals.rdoc (Strings): mention about ?a literal.
-Thu Nov 18 10:10:14 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Sep 16 12:06:53 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * io.c, rubyio.h (rb_io_modenum_flags): exported.
+ * dir.c (glob_helper): check pathtype once again by lstat(2) if
+ dp->d_type is DT_UNKNOWN. XFS may return DT_UNKNOWN.
- * ext/stringio/stringio.c (strio_initialize): allow Fixnum as mode as
- well as IO.new does. [ruby-dev:24896]
+Wed Sep 16 03:49:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
-Wed Nov 17 23:42:40 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * test/ruby/test_thread.rb (TestThread#test_mutex_synchronize):
+ insert waste loop for invoking preemptive thread context switch.
+ [Bug #11496]
- * test/ruby/test_settracefunc.rb: added. [ruby-dev:24884]
+Tue Sep 15 19:38:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 17 13:56:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * gc.c (rb_objspace_alloc, rb_objspace_free): define always
+ regardless ENABLE_VM_OBJSPACE, and free heap pages.
- * parse.y (newline_node): should not use FL_SET. [ruby-dev:24874]
+Tue Sep 15 15:15:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (string_content): should not use FL_UNSET.
+ * win32/win32.c (rb_w32_sysinit, rb_w32_readdir): compare by
+ encoding index to get rid of encoding initialization before VM
+ object space allocation.
- * node.h (NODE_NEWLINE): remove unused bit to utilize flag field
- in nodes.
+ * dir.c (fundamental_encoding_p, push_glob): compare by encoding
+ index immediately.
-Wed Nov 17 13:09:40 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * enc/{ascii,us_ascii,utf_8}.c: set encoding indexes of
+ fundamental built-in encodings so that usable as well as
+ allocated rb_encoding before rb_enc_init().
- * {bcc32,win32,wince}/Makefile.sub (test): should build ruby.exe
- before running test. [ruby-core:03756]
+ * encindex.h: separate encoding index constants from internal.h.
-Wed Nov 17 04:33:01 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Sep 15 13:13:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * pack.c: all features are backport from 1.9. [ruby-dev:24826]
+ * array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] correct block
+ return values, which may be a negative or positive integer, not
+ only -1 or +1.
- * bignum.c (rb_big2ulong_pack): new function to pack Bignums.
+Tue Sep 15 12:49:10 2015 Jason Barnabe <jason.barnabe@gmail.com>
-Wed Nov 17 03:42:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] Correct
+ description of array sort block return values. And also fix up
+ the grammar a bit. [Fix GH-1020]
- * string.c (rb_str_splice): move rb_str_modify() after
- StringValue(), which may alter the receiver. [ruby-dev:24878]
+Tue Sep 15 12:44:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 16 23:45:07 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * util.c (ruby_qsort): use BSD-style qsort_r if available.
- * numeric.c (flo_divmod): protect float values from GC by
- assignment to local variables. [ruby-dev:24873]
+Mon Sep 14 19:26:34 2015 Shugo Maeda <shugo@ruby-lang.org>
-Tue Nov 16 16:30:21 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/net/ftp.rb (parse_mlsx_entry): parse pathnames including
+ space correctly.
- * {bcc32,win32,wince}/setup.mak (-epilogue-): remove config.h and
- config.status to force updating them.
+Mon Sep 14 11:12:10 2015 Anton Davydov <antondavydov.o@gmail.com>
-Tue Nov 16 16:20:45 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo, "convertion" to
+ "conversion". [Fix GH-1016]
- * 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
+Sun Sep 13 11:03:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 16 11:19:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * include/ruby/ruby.h: prefix RUBY or RB to global symbols to get
+ rid of name conflicts with other headers.
- * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::options): use
- Regexp conversion.
+ * include/ruby/encoding.h, include/ruby/intern.h: ditto.
-Tue Nov 16 01:41:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Sep 13 09:38:51 2015 Shugo Maeda <shugo@ruby-lang.org>
- * string.c (str_mod_check): frozen check should be separated.
- [ruby-core:3742]
+ * lib/net/ftp.rb (size, modify, create, type, unique, perm, lang,
+ media_type, charset): new methods to return standard facts.
- * array.c (rb_ary_update): pedantic check to detect
- rb_ary_to_ary() to modify the receiver. [ruby-dev:24861]
+Sat Sep 12 19:43:49 2015 Koichi Sasada <ko1@atdot.net>
-Mon Nov 15 13:50:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_insnhelper.c (vm_call_iseq_setup_normal): do not clear local
+ variables here. vm_push_frame() clears.
- * string.c (rb_str_justify): typo fixed. [ruby-dev:24851]
+ * vm_insnhelper.c (vm_call_iseq_setup_tailcall): ditto.
-Mon Nov 15 11:50:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_insnhelper.c (vm_push_frame): move check code to
+ vm_check_frame().
- * misc/ruby-mode.el (ruby-special-char-p, ruby-parse-partial): handle
- operator symbols. [ruby-talk:120177]
+ Reorder initialization timing to reuse same values (sp).
-Sun Nov 14 13:27:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (rb_iseq_compile_node): use
+ iseq_set_exception_local_table() for ISEQ_TYPE_DEFINED_GUARD.
- * lib/pp.rb (PP#object_address_group): remove odd number of 'f'
- prefixed to negative address.
+Sat Sep 12 23:06:51 2015 Shugo Maeda <shugo@ruby-lang.org>
-Sun Nov 14 08:51:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * lib/net/ftp.rb (file?, directory?, appendable?, creatable?,
+ deletable?, enterable?, renamable?, listable?, directory_makable?,
+ purgeable?, readable?, writable?): new methods.
- * test/logger/test_logger.rb: Logger just expects
- Logger#datetime_format to be used for Time#strftime independently of
- locale. [ruby-dev:24828]
+Sat Sep 12 21:27:22 2015 Shugo Maeda <shugo@ruby-lang.org>
-Fri Nov 12 15:03:26 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/net/ftp.rb (FACT_PARSERS): support system dependent facts
+ UNIX.mode, UNIX.owner, UNIX.group, UNIX.ctime, and UNIX.atime.
- * eval.c (ruby_options): now we cannot call rb_glob() before
- ruby_init(), so call rb_w32_cmdvector() at ruby_options().
+Sat Sep 12 19:08:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32.{c,h} (rb_w32_cmdvector): rename make_cmdvector() and
- export it.
+ * win32/win32.c (rb_w32_dup2): should return the new fd on
+ success, while msvcrt returns 0 wrongly.
-Fri Nov 12 14:08:01 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sat Sep 12 18:14:11 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/tk/event.rb: remove $LOADED_FEATURES trick
+ * lib/net/ftp.rb (parse_mlsx_entry, mlst) raise an FTPProtoError
+ when parsing failed.
- * ext/tk/lib/tk.rb: ditto
+Sat Sep 12 18:00:35 2015 Shugo Maeda <shugo@ruby-lang.org>
-Fri Nov 12 00:31:05 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/net/ftp.rb (TIME_PARSER): use "Z" instead of "+00:00" to
+ get UTC time. Thanks, Wilson Bilkovich.
- * ext/gdbm/gdbm.c (fgdbm_store): StringValue() may alter string
- pointer. [ruby-dev:24783]
+Sat Sep 12 17:55:24 2015 Shugo Maeda <shugo@ruby-lang.org>
-Thu Nov 11 17:36:12 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/ftp.rb (mlst, mlsd): support new commands MLST and MLSD
+ specified in RFC 3659.
- * dir.c (rb_globi): also should call back via rb_glob_caller().
- [ruby-dev:24775]
+Sat Sep 12 16:14:31 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Thu Nov 11 16:47:21 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * file.c: access()/eaccess() wrapping methods check more than just uid.
+ [fix GH-1007][ci skip] Patch by @eam
- * test/ruby/test_file.rb (test_truncate_wbuf): we want to test
- only File#truncate, not behaviour of seek(2).
+Sat Sep 12 16:07:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Thu Nov 11 09:41:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * README.md: improve markdown rendering for readability.
+ [fix GH-1015][ci skip] Patch by @Matrixbirds
- * dir.c (push_braces): was confusing VALUE and char*.
+Sat Sep 12 14:30:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (rb_push_glob): Dir.glob should have called its block.
+ * process.c (save_redirect_fd): make saved FDs close-on-exec not
+ to be inherited.
-Thu Nov 11 01:52:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * process.c (run_exec_dup2): restore close-on-exec flags too.
- * error.c (syserr_initialize): use stringified object.
- [ruby-dev:24768]
+ * win32/win32.c (fcntl): implement F_GETFD, F_SETFD, and
+ F_DUPFD_CLOEXEC.
-Wed Nov 10 22:49:01 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Sep 12 05:35:24 2015 Eric Wong <e@80x24.org>
- * lib/delegate.rb (SimpleDelegator::dup): wrong number of
- arguments.
+ * rational.c (string_to_r_strict): preserve encoding in exception
- * lib/delegate.rb (DelegateClass::dup): ditto.
+Fri Sep 11 20:23:35 2015 Koichi Sasada <ko1@atdot.net>
-Wed Nov 10 12:31:21 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_core.h: remove rb_call_info_t::aux.opt_pc.
- * README.EXT (Example): extconf.rb is indispensable now.
+ * vm_insnhelper.c: introduce shortcut functions for opt_pc == 0
+ because opt_pc is always 0 on shortcut function.
-Wed Nov 10 03:33:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Fri Sep 11 17:49:36 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tcltklib/tcltklib.c: fix SEGV when compiled with Tcl/Tk8.3.x
- or older
+ * iseq.c: disable ISeq.load. It enabled accidentally at r51794.
- * ext/tk/lib/tkextlib/tile/style.rb: bug fix
+Fri Sep 11 11:15:12 2015 Shugo Maeda <shugo@ruby-lang.org>
-Tue Nov 9 14:27:18 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/ftp.rb (size, mdtm, system): parse responses according to
+ RFC 959 and 3659, where reply codes must be followed by SP.
- * lib/optparse.rb (OptionParser::Officious): moved from DefaultList.
+ * lib/net/ftp.rb (system): remove LF from the return value.
-Tue Nov 9 01:05:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Sep 10 22:48:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (rb_glob2): do not allocate buffer from heap to avoid
- memory leaks. use string object for buffering instead.
- [ruby-dev:24738]
+ * 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]
- * dir.c (join_path): ditto.
+Thu Sep 10 22:15:51 2015 Joe Rafaniello <jrafanie@redhat.com>
- * io.c (io_read): external input buffer may be modified even after
- rb_str_locktmp(). [ruby-dev:24735]
+ * process.c (rb_f_spawn): Be more specific regarding "other
+ values" by having "non-zero positive integers" Add nil, the
+ default value, as a possible value and what it means.
- * dir.c (fnmatch): p or s may be NULL. [ruby-dev:24749]
+ Try to use more consistent language.
+ [Fix GH-1008]
-Tue Nov 9 00:53:53 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Thu Sep 10 15:16:02 2015 Shugo Maeda <shugo@ruby-lang.org>
- * regex.c (slow_match): avoid GCC 3.4.x warnings.
+ * lib/net/ftp.rb (getmultiline): refactor.
-Tue Nov 9 00:50:06 2004 Dave Thomas <dave@pragprog.com>
+Thu Sep 10 12:17:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/rdoc.rb: Change version numbering of RDoc and ri
+ * 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]
-Mon Nov 8 23:38:35 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Wed Sep 9 18:16:14 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/drb/extservm.rb: add DRb::ExtServManager#uri=.
- [ruby-dev:24743]
+ * lib/rubygems/stub_specification.rb (Gem::StubSpecification#data):
+ should not change the value of $. when `require`ing gems.
+ this fixed test failures introduced by r51813.
-Mon Nov 8 22:20:19 2004 Dave Thomas <dave@pragprog.com>
+Wed Sep 9 16:55:45 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):
- Fix bug where parent class wasn't being detected if the
- child class was defined using the A::B notation.
+ * ruby.c (usage, enable_option, disable_option, process_options): new
+ option `--disable-did_you_mean`.
-Mon Nov 8 00:14:13 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * gem_prelude.rb: now requires did_you_mean gem by default if available.
- * configure.in: add setup for mignw32 cross compiling.
- [ruby-talk:119413]
+Wed Sep 9 13:38:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Nov 7 23:49:26 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * tool/extlibs.rb (do_patch): let "patch" command change the
+ working directory and open the patch file there, instead of
+ spawn options, so that proper error message will be shown by the
+ command not just "chdir" or "open".
- * ext/tk/lib/tk.rb: bind-event methods accept multi substitution
- arguments.
+Wed Sep 9 11:33:05 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/tk/lib/tk/canvas.rb: ditto.
+ * common.mk (update-gems): use BASERUBY instead of RUNRUBY.
- * ext/tk/lib/tk/canvastag.rb: ditto.
+Wed Sep 9 11:08:59 2015 Zachary Scott <zzak@ruby-lang.org>
- * ext/tk/lib/tk/text.rb: ditto.
+ * lib/delegate.rb: Remove backtrace cleaning for delegated methods
+ This patch was provided by Rafael Franca and greatly improves
+ performance when an exception is raised. [Bug #11461]
- * ext/tk/lib/tk/texttag.rb: ditto.
+Wed Sep 9 10:05:41 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tkextlib: ditto.
+ * test/rubygems/test_config.rb: fix broken tests for Windows platform.
-Sat Nov 6 14:58:44 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Sep 9 07:46:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/server.rb (WEBrick::HTTPServer#start): remove
- :DoNotReverseLookup option. (Socket#do_not_reverse_lookup is a
- ruby 1.9 feature)
+ * lib/rubygems: Update to RubyGems HEAD(fe61e4c112).
+ this version contains new feature that warn invalid SPDX license
+ identifiers. https://github.com/rubygems/rubygems/pull/1249
+ and #1032, #1023, #1332, #1328, #1306, #1321, #1324
+ * test/rubygems: ditto.
-Sat Nov 6 11:31:04 2004 Tadayoshi Funaba <tadf@dotrb.org>
+Tue Sep 8 23:17:36 2015 Yuki Nishijima <mail@yukinishijima.net>
- * lib/date.rb (_parse): checks whether zone was given.
+ * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta2.
-Sat Nov 6 00:46:27 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Sep 8 23:09:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_str_locktmp): check STR_TMPLOCK flag before
- locking. [ruby-dev:24727]
+ * io.c (rb_io_s_popen): do not wait the child process during being
+ killed. [ruby-core:70671] [Bug #11510]
-Fri Nov 5 18:12:42 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Sep 8 22:18:04 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/tk/lib/tk/scrollable.rb: divide Scrollable module into
- X_Scrollable and Y_Scrollable
+ * gems/bundled_gems: revert because ruby trunk never be able to install
+ the did_you_mean gem. retry after enough test.
- * ext/tk/lib/tk/entry.rb: include X_Scrollable instead of Scrollable
+Tue Sep 8 21:48:22 2015 Yuki Nishijima <mail@yukinishijima.net>
- * ext/tk/lib/tk/autoload.rb: define autoload for X_Scrollable and
- Y_Scrollable
+ * gems/bundled_gems: Automatically install the did_you_mean gem
+ as a bundled gem. [Feature #11252]
-Fri Nov 5 16:05:32 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Sep 8 17:17:48 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk.rb: TkComm._at() supprts both of "@x,y" and "@x"
+ * vm_core.h: remove rb_call_info_t::blockiseq.
-Fri Nov 5 13:22:58 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * insns.def (send, invokesuper): pass blockiseq explicitly.
- * ext/tk/lib/tk/text.rb: sorry. bug fix again.
+ * compile.c: catch up this fix.
-Fri Nov 5 13:17:54 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * iseq.c: ditto.
- * ext/tk/lib/tk/text.rb: bug fix
+ * vm_args.c: ditto.
-Fri Nov 5 08:52:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * iseq.c (ISEQ_MINOR_VERSION): 2->3 because instruction spec was
+ changed.
- * gc.c (gc_mark): stricter GC stack check.
+Tue Sep 8 15:01:19 2015 Shugo Maeda <shugo@ruby-lang.org>
-Fri Nov 5 08:52:48 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/net/ftp.rb (list): fetch all the lines before yielding a block
+ to allow other commands in the block. [Feature #11454]
+ Patched by Srikanth Shreenivas.
- * gc.c (gc_mark): stricter GC stack check.
+Tue Sep 8 12:05:00 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Nov 5 08:34:43 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * win32/win32.c (rb_w32_read_reparse_point): return correct required
+ buffer size for IO_REPARSE_TAG_MOUNT_POINT.
- * string.c (str_gsub): should have removed rb_str_unlocktmp(str).
- [ruby-dev:24708]
+Tue Sep 8 00:14:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 4 21:25:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * process.c (rb_execarg_parent_start1): raise with the target path
+ name when open() failed.
- * string.c (str_gsub): string modify check no longer based on
- tmplock. [ruby-dev:24706]
+Mon Sep 7 23:45:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 4 19:27:46 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * process.c (rb_exec_fail): raise with the target directory name
+ when chdir() failed. pointed out by sorah.
- * io.c (rb_f_open): fix typo.
+Mon Sep 7 22:05:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 4 15:02:14 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * win32/win32.c (insert): should use plain strdup() instead of
+ ruby_strdup() at startup time, and plain free()ed in cmdglob().
- * ext/tk/lib/tk/variable.rb: forget to initialize instance_variables
- of TkVarAccess objects
+Mon Sep 7 16:49:30 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 4 09:11:35 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_core.h (rb_vm_struct): define objspace always regardless
+ ENABLE_VM_OBJSPACE.
- * gc.c (gc_mark): enable GC stack checking.
+Mon Sep 7 15:54:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 4 03:11:33 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ruby_atomic.h (ATOMIC_VALUE_CAS): fix typo.
+ TODO: make arguments of all CAS macros consistent.
- * string.c (str_gsub): lock strings temporarily. [ruby-dev:24687]
+Sun Sep 6 16:07:22 2015 Eric Wong <e@80x24.org>
- * ext/socket/socket.c (s_recvfrom): tmplock input buffer.
- [ruby-dev:24705]
+ * ccan/list/list.h: suppress unused argument warnings
+ [ccan commit 6aaca17e07588997417a73fac19dcf0ff17ed81b]
-Wed Nov 3 22:32:12 2004 NARUSE, Yui <naruse@ruby-lang.org>
+Sat Sep 5 11:39:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c: On NetBSD don't use setruid() and setrgid().
+ * lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction
+ digits. [ruby-core:70667] [Bug #11509]
-Wed Nov 3 22:24:17 2004 Daigo Moriwaki <techml@sgtpepper.net>
+Sat Sep 5 08:28:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/webrick/httpauth/digestauth.rb: use Base64.encode64 to
- avoid warnings.
+ * hash.c (rb_hash_equal, rb_hash_eql): [DOC] the orders of each
+ hashes are not compared. [Bug #11508]
-Wed Nov 3 17:19:59 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Sep 4 23:26:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_uniq_bang): do not push frozen string from hash
- table. [ruby-dev:24695]
+ * include/ruby/win32.h: fix macro name for VC runtime version,
+ RT_VER is only in Makefile.
- * array.c (rb_ary_and): ditto.
+Fri Sep 4 17:46:17 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * array.c (rb_ary_or): ditto.
+ * doc/contributing.rdoc: fix configuration option.
+ [ci skip] [fix GH-1009]
-Wed Nov 3 17:13:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Fri Sep 4 04:46:54 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (pipe_open): fix compile error
+ * iseq.c (iseq_memsize): functions for wrapper object should have
+ iseqw_ prefix.
-Wed Nov 3 16:58:07 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Sep 3 21:12:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb: support to use different Tcl commands between
- configure and configinfo
+ * lib/cgi/session.rb (create_new_id): use SHA512 instead of MD5.
+ pointed out by SARWAR JAHAN.
- * ext/tk/lib/font.rb: ditto.
+Thu Sep 3 20:29:18 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/itemconfig.rb: support to use different Tcl commands
- between item_configure and item_configinfo
+ * gc.c (rb_raw_obj_info): iseq->body->location.first_lineno is Fixnum.
- * ext/tk/lib/itemfont.rb: ditto.
+Thu Sep 3 17:54:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/extconf.rb: install SUPPORT_STATUS
+ * vm_eval.c (raise_method_missing): "names" should be singular.
+ pointed out by Filip Bartuzi.
- * ext/tk/lib/tkextlib: some bug fixes (see ext/tk/ChangeLog.tkextlib)
+Thu Sep 3 17:50:09 2015 Koichi Sasada <ko1@atdot.net>
-Wed Nov 3 16:30:41 2004 NARUSE, Yui <naruse@ruby-lang.org>
+ * gc.c (rb_raw_obj_info): should support IMEMO/iseq.
- * ext/nkf: follow nkf 2.0.4
+Thu Sep 3 10:07:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Nov 3 15:53:34 2004 Kouhei Sutou <kou@cozmixng.org>
+ * vm_eval.c (raise_method_missing): refine error messages when a
+ symbol is not given. [Fix GH-1013]
- * test/rss/test_maker_*.rb: added tests for RSS Maker.
+Wed Sep 2 18:49:55 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/rss/maker.rb: added RSS Maker.
+ * ext/psych/*: merge psych master(8737e5b). It contains following fixes.
+ https://github.com/tenderlove/psych/pull/242
+ https://github.com/tenderlove/psych/pull/246 [ruby-list:50219]
+ * test/psych/*: ditto.
- * lib/rss/maker/*.rb: ditto.
+Wed Sep 2 18:04:13 2015 Koichi Sasada <ko1@atdot.net>
-Tue Nov 2 16:35:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_insnhelper.h (GET_PC_COUNT): remove unused macro.
- * ext/enumerator/enumerator.c (each_cons_i): pass copy of an
- internal consequent array. [ruby-talk:118691]
+Wed Sep 2 17:18:37 2015 Chris Schneider <chris@christopher-schneider.com>
-Tue Nov 2 16:05:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * process.c (proc_detach): [DOC] fix typo "intent" as "intend" in
+ rdoc. [Fix GH-1011]
- * process.c (rb_f_fork): need to flush stdout and stderr before
- fork(2). [ruby-talk:117715]
+Wed Sep 2 16:58:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Nov 2 01:20:09 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * file.c (rb_realpath_internal): use filesystem encoding if the
+ argument is in ASCII encodings.
- * eval.c (proc_invoke): nail down dyna_var node when Proc object
- or continuation is created. [ruby-dev:24671]
+ * win32/file.c (rb_readlink): needs the result encoding.
-Mon Nov 1 13:59:28 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Tue Sep 1 18:37:15 2015 Koichi Sasada <ko1@atdot.net>
- * ext/extmk.rb (MANIFEST): do not use anymore, use extconf.rb instead.
+ * test/thread/test_queue.rb: catch up last commit.
- * ext/enumerator/extconf.rb, ext/fcntl/extconf.rb,
- ext/stringio/extconf.rb: added.
+Tue Sep 1 18:16:32 2015 Koichi Sasada <ko1@atdot.net>
- * MANIFEST, ext/**/MANIFEST: removed.
+ * thread_sync.c (queue_do_close): ignore multiple close to allow
+ multiple producers.
+ https://bugs.ruby-lang.org/issues/10600#note-14
- * README.EXT, README.EXT.ja: remove MANIFEST stuff.
+Tue Sep 1 18:06:26 2015 Koichi Sasada <ko1@atdot.net>
-Mon Nov 1 01:14:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * thread_tools.c: rename thread_tools.c to thread_sync.c.
- * io.c (rb_f_open): create copy of popen specifier. [ruby-dev:24656]
+Mon Aug 31 17:04:45 2015 Koichi Sasada <ko1@atdot.net>
-Mon Nov 1 00:36:48 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * class.c (move_refined_method): should insert a write barrier
+ from an original class to a created (cloned) method entry.
- * main.c (_stklen): move to gc.c.
+ * test/ruby/test_refinement.rb: add a test.
-Sun Oct 31 00:22:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Aug 30 02:42:22 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * string.c (rb_str_locktmp): lock string temporarily.
+ * 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]
- * string.c (str_independent): add tmplock check.
+ * ext/openssl/extconf.rb: check for SSLv3 support in the SSL
+ implementation.
- * io.c (io_write): lock output string temporarily.
- [ruby-dev:24649]
+ * test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3
+ if there is no support.
- * io.c (io_write): use rb_str_locktmp().
+Fri Aug 28 16:05:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * io.c (read_all): ditto.
+ * lib/rdoc/*: Update rdoc master(cfffed5)
+ https://github.com/rdoc/rdoc/pull/337
+ https://github.com/rdoc/rdoc/pull/367
-Sat Oct 30 06:53:24 2004 Peter Vanbroekhoven <peter.vanbroekhoven@cs.kuleuven.ac.be>
+Fri Aug 28 10:16:20 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_eval): NODE_XSTR should pass copy of literal string.
+ * 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]
-Sat Oct 30 00:19:40 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_settracefunc.rb: add a test.
- * enum.c (enum_sort_by): protect continuation jump in.
- [ruby-dev:24642]
+Thu Aug 27 18:05:42 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Oct 29 21:27:51 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/webrick/server.rb: use IO::NULL instead of '/dev/null'
+ * test/ruby/test_string.rb: ditto.
- * io.c (rb_io_check_initialized): new function to check uninitialized
- object. [ruby-talk:118234]
+Thu Aug 27 15:24:57 2015 Koichi Sasada <ko1@atdot.net>
- * file.c (rb_file_path), io.c (rb_io_closed): check if initialized.
+ * compile.c (iseq_set_sequence): rename variable names
+ to make it readable.
-Fri Oct 29 10:00:30 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Aug 27 07:45:34 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_thread_start_0): forget to free some memory chunks.
- [ruby-core:03611]
+ * thread_tools.c: add Queue#close(exception=false) and
+ SizedQueue#close(exception=false).
+ [Feature #10600]
- * eval.c (ruby_cleanup): ruby_finalize_1 may cause exception,
- should be wrapped by PUSH_TAG/POP_TAG(). [ruby-dev:24627]
+ Trying to deq from a closed empty queue return nil
+ if exception parameter equals to false (default).
-Thu Oct 28 08:42:02 2004 Tanaka Akira <akr@m17n.org>
+ If exception parameter is truthy, it raises
+ ClosedQueueError (< StopIteration).
+ ClosedQueueError inherits StopIteration so that you can write:
- * io.c (argf_forward): use ANSI style.
- (argf_read): call argf_forward with argv argument.
- [ruby-dev:24624]
+ loop{ e = q.deq; (using e) }
-Thu Oct 28 23:32:54 2004 akira yamada <akira@ruby-lang.org>
+ Trying to close a closed queue raises ClosedQueueError.
- * ext/zlib/zlib.c (zstream_detach_input): resets klass of z->input if
- z->input isn't nil.
+ Blocking threads to wait deq for Queue and SizedQueue will be
+ restarted immediately by returning nil (exception=false) or
+ raising a ClosedQueueError (exception=true).
-Thu Oct 28 23:19:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Blocking threads to wait enq for SizedQueue will be
+ restarted by raising a ClosedQueueError immediately.
- * ext/extmk.rb: prefer relative path. [ruby-talk:93037]
+ The above specification is not proposed specification, so that
+ we need to continue discussion to conclude specification this
+ method.
-Wed Oct 27 18:49:11 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/thread/test_queue.rb: add tests originally written by
+ John Anderson and modify detailed behavior.
- * gc.c: prototype; rb_io_fptr_finalize() doesn't return any value
- at this version.
+Wed Aug 26 10:52:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 27 17:27:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching
+ till the end of string. [ruby-core:70592] [Bug #11488]
- * gc.c (gc_sweep): recover ruby_in_compile variable.
+ * test/ruby/test_m17n.rb (test_include?, test_index): add tests by
+ Tom Stuart.
-Wed Oct 27 09:17:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Aug 26 09:26:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (str_gsub): use a string object for exception safeness.
- [ruby-dev:24601]
+ * id_table.c (list_table_extend, hash_table_extend): remove C99
+ features. [ruby-dev:49239] [Bug #11487]
-Tue Oct 26 23:52:32 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 25 06:34:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_getline): rs modification check should not interfere in the loop.
+ * win32/win32.c (w32_symlink): implement symlink().
-Tue Oct 26 23:30:39 2004 Dave Thomas <dave@pragprog.com>
+Mon Aug 24 16:01:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/code_objects.rb (RDoc::Context::add_class_or_module):
- Restore correct :nopdoc: behavior with nested classes and modules.
+ * encoding.c (rb_locale_encindex): find encoding index without
+ making a string object every time. [ruby-core:58160] [Bug #9080]
-Tue Oct 26 18:21:29 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Aug 22 15:43:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (RESIZE_CAPA): check string attribute before modifying
- capacity member of string structure. [ruby-dev:24594]
+ * vm_eval.c (check_funcall_failed, check_funcall_missing): cache
+ results of respond_to? and respond_to_missing?, and search a
+ public method only for compatibility with rb_respond_to.
-Tue Oct 26 11:33:26 2004 David G. Andersen <dga@lcs.mit.edu>
+Sat Aug 22 08:23:32 2015 Koichi Sasada <ko1@atdot.net>
- * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
- performance. [ruby-talk:117701]
+ * ext/thread/thread.c: move definitions of Queue, SizedQueue
+ and ConditionalVariables to thread_tools.c. In other words,
+ such classes are built-in.
+ [Feature #8919]
-Tue Oct 26 10:56:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ At first, I planned to embed only a Queue class.
+ However, rubygems requires 'thread.rb' (rubygems are
+ required at first, when launch MRI without --disable-gems).
+ So most of people require 'thread.rb' as an embedded library.
- * sprintf.c (rb_f_sprintf): raise ArgumentError for extra
- arguments, unless (digit)$ style used.
+ Now, ext/thread/thread.c is empty, only for a dummy for
+ compatibility.
-Tue Oct 26 11:33:26 2004 David G. Andersen <dga@lcs.mit.edu>
+ * thread.c: move a definition of Mutex class to thread_tools.c.
- * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
- performance. [ruby-talk:117701]
+ And define Mutex class under Thread (so now Mutex is Thread::Mutex).
+ Because other thread related classes are also defined under Thread.
+ We remain ::Mutex as Thread::Mutex. Only an inspect result is changed.
-Tue Oct 26 10:56:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * common.mk: add dependency from thread.o to thread_tools.c.
- * sprintf.c (rb_f_sprintf): raise ArgumentError for extra
- arguments, unless (digit)$ style used.
+Sat Aug 22 05:31:37 2015 Koichi Sasada <ko1@atdot.net>
-Mon Oct 25 18:35:39 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * vm_opts.h, iseq.c, iseq.h: add compile option to force frozen
+ string literals.
+ [Feature #11473]
- * win32/win32.c (isUNCRoot): should check NUL after '.'.
- [ruby-dev:24590]
+ This addition is not specification change, but to try frozen
+ string literal world discussed on [Feature #11473].
- * win32/win32.c (isUNCRoot): fixed buffer overrun.
+ You can try frozen string literal world using this magical line:
-Mon Oct 25 08:03:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ RubyVM::InstructionSequence.compile_option =
+ {frozen_string_literal: true}
- * eval.c (get_backtrace): ignore illegal backtrace. [ruby-dev:24587]
+ Note that this is a global compilation option, so that you need to
+ compile another script like that:
-Sun Oct 24 00:41:09 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ p 'foo'.frozen? #=> false
+ RubyVM::InstructionSequence.compile_option =
+ {frozen_string_literal: true}
+ p 'foo'.frozen? #=> false, because this line is already compiled.
+ p eval("'foo'.frozen?") #=> true
- * eval.c (rb_load, search_required, rb_require_safe, rb_require): use
- frozen shared string to avoid outside modification. [ruby-dev:24580]
+ Details:
+ * String literals are deduped by rb_fstring().
+ * Dynamic string literals ("...#{xyz}...") is now only frozen,
+ not deduped. Maybe you have other ideas.
-Sat Oct 23 22:18:32 2004 Guy Decoux <ts@moulon.inra.fr>
+ Now, please do not use this option on your productions :)
+ Of course, current specification can be changed.
- * eval.c (frame_free): Guy Decoux solved the leak problem.
- Thanks. [ruby-core:03549]
+ * compile.c: ditto.
-Sat Oct 23 00:20:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_iseq.rb: add a test.
- * ext/zlib/zlib.c (zstream_append_input): clear klass for z->input
- to avoid potential vulnerability.
+Sat Aug 22 02:53:12 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * ext/zlib/zlib.c (zstream_run): always use zstream_append_input()
- to avoid SEGV. [ruby-dev:24568]
+ * ext/psych/*: update to Psych 2.0.14
-Fri Oct 22 12:02:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/psych/*: ditto
- * eval.c (rb_alias): was warning for wrong condition.
- [ruby-dev:24565]
+Fri Aug 21 19:58:48 2015 Koichi Sasada <ko1@atdot.net>
-Fri Oct 22 10:36:37 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * ext/objspace/objspace.c: add a new method ObjectSpace.count_symbols.
+ [Feature #11158]
- * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#meta_vars):
- should check if path_info is not nil.
+ * symbol.c (rb_sym_immortal_count): added to count immortal symbols.
-Fri Oct 22 00:22:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * symbol.h: ditto.
- * ext/zlib/zlib.c (zstream_shift_buffer): should restore class
- field of a buffer. [ruby-dev:24562]
+ * test/objspace/test_objspace.rb: add a test for this method.
-Fri Oct 22 00:20:33 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * NEWS: describe about this method.
- * string.c (rb_str_include): should not treat char as negative value.
- [ruby-dev:24558]
+Fri Aug 21 19:48:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Oct 21 21:32:30 2004 IWATSUKI Hiroyuki <don@na.rim.or.jp>
+ * win32/Makefile.sub ($(LIBRUBY_SO)): needs additional libraries
+ for extension libraries to link statically.
+ [ruby-core:70499] [Feature #9018]
- * lib/pstore.rb (PStore#transaction): Use the empty content when a
- file is not found. [ruby-dev:24561]
+Fri Aug 21 18:49:22 2015 Koichi Sasada <ko1@atdot.net>
-Thu Oct 21 19:06:15 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * include/ruby/ruby.h, cont.c, vm_trace.c: add a new event
+ fiber_switch. We need more discussion about this feature
+ so that I don't write it on NEWS.
+ [Feature #11348]
- * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):
- ensure to close @body. (http://bugs.debian.org/277520)
+ * test/ruby/test_settracefunc.rb: add tests.
-Thu Oct 21 00:36:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Aug 21 17:32:42 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_alias): should warn on method discarding.
- [ruby-dev:24546]
+ * vm_insnhelper.c (vm_invoke_block): we should not expect ci->argc is
+ stable after invoking a block. [Bug #11451]
- * ext/zlib/zlib.c (zstream_expand_buffer_into): hide internal
- string buffer by clearing klass. [ruby-dev:24548]
+ * test/ruby/test_yield.rb: add a test. This test script is given by
+ Alex Dowad.
-Wed Oct 20 19:45:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Aug 21 06:35:50 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * string.c (str_gsub): reentrant check. [ruby-dev:24432]
+ * 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]
- * backport all SEGV bug fixes from CVS HEAD. [ruby-dev:24536]
+Thu Aug 20 22:19:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 20 04:17:55 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_method.c (basic_obj_respond_to): call respond_to_missing?
+ only when redefined. [ruby-core:70460] [Bug #11465]
- * ext/dbm/dbm.c (fdbm_delete_if): should check if deleting element
- is a string. [ruby-dev:24490]
+Thu Aug 20 14:13:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/sdbm/init.c (fsdbm_delete_if): ditto.
+ * vm_eval.c (check_funcall_respond_to): share the behavior with
+ rb_obj_respond_to. [ruby-core:70460] [Bug #11465]
-Wed Oct 20 01:37:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_method.c (vm_respond_to): extract from rb_obj_respond_to and
+ merge r39881.
- * array.c (rb_ary_times): Array#* should return an instance of
- the class of right operand. [ruby-dev:24526]
+Thu Aug 20 08:53:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/zlib/zlib.c (zstream_detach_buffer): should not expose
- class-less object to Ruby world. [ruby-dev:24530]
+ * vm_method.c (rb_obj_respond_to): reuse found method entry
+ instead of searching same entry repeatedly.
- * eval.c (proc_dup): provide Proc#dup as well. [ruby-talk:116915]
+Thu Aug 20 08:31:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (ruby_exec): stack marking position may be higher than
- expected. thanks to Guy Decoux. [ruby-core:03527]
+ * dir.c (replace_real_basename), win32/win32.c (opendir_internal):
+ check reparse point tags and treat supported tags only as
+ symbolic links. [ruby-core:70454] [Bug #11462]
-Tue Oct 19 22:43:12 2004 Dave Thomas <dave@pragprog.com>
+Wed Aug 19 23:59:28 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_attr): If
- we come across 'attr' in a context where it isn't
- followed by a symbol, just issue a warning.
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add OP_ALL to
+ existing options rather than just setting it. Some vendors apply
+ custom patches to their versions of OpenSSL that set default values
+ for options. This commit respects the custom patches they've
+ applied.
-Tue Oct 19 20:41:37 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * test/openssl/test_ssl.rb (class OpenSSL): check that OP_ALL has been
+ added to the options.
- * ext/win32ole.c(ole_invoke): retrieve the result value when
- retrying the IDispatch::invoke.
+Wed Aug 19 23:55:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Oct 19 17:24:11 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * process.c (rb_f_spawn): [DOC] elaborate environment variable
+ values. [ruby-core:70456] [Bug #11463]
- * io.c (read_all): block string buffer modification during
- rb_io_fread() by freezing it temporarily. [ruby-dev:24479]
+Wed Aug 19 23:48:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (rb_push_glob): block call at once the end of method.
- [ruby-dev:24487]
+ * win32/win32.c (winnt_lstat): check reparse point tags and treat
+ supported tags only as symbolic links.
+ [ruby-core:70454] [Bug #11462]
- * ext/enumerator/enumerator.c (enum_each_slice): remove
- rb_gc_force_recycle() to prevent potential SEGV.
- [ruby-dev:24499]
+Tue Aug 18 20:05:49 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/zlib/zlib.c (zstream_expand_buffer): hide internal string
- buffer by clearing klass. [ruby-dev:24510]
+ * thread_pthread.c (reserve_stack): ensure the memory is really
+ allocated. [Bug #11457]
-Tue Oct 19 16:12:18 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Aug 18 17:19:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/tkutil.c: backport from CVS HEAD
+ * parse.y (IS_BEG): include labeled argument state, which was
+ EXPR_LABELARG. [ruby-dev:49221] [Bug #11456]
-Tue Oct 19 08:54:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 18 16:16:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * intern.h, object.c (rb_class_inherited_p): export.
+ * include/ruby/ruby.h (RClass): define only in C, `__attribute__`
+ between `struct` and the name can't compile with g++.
+ [ruby-core:70297] [Bug #11426]
-Tue Oct 19 08:46:57 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Aug 17 20:56:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_str_upto): method result must be checked. [ruby-dev:24504]
+ * 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 (error_print): ditto. [ruby-dev:24519]
+Mon Aug 17 11:57:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Oct 18 23:37:05 2004 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]
- * marshal.c (r_object0): check inheritance by the internal function.
- [ruby-dev:24515]
+Sun Aug 16 17:33:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Oct 18 15:58:01 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * gems/bundled_gems: update latest version of bundled gems.
+ It includes minitest-5.8.0 and test-unit 3.1.3.
- * range.c (range_step, range_each): need cast.
+Sun Aug 16 17:24:10 2015 Kazuki Tsujimoto <kazuki@callcc.net>
-Fri Oct 29 16:34:19 2004 Daiki Ueno <ueno@unixuser.org>
+ * gc.c (gc_mark_children): check if RCLASS_EXT is valid
+ before marking. This fixes the following test failure
+ introduced in r51126:
- * misc/ruby-mode.el (ruby-parse-partial): Parse the rest of the
- line after opening heredoc identifier. [ruby-dev:24635]
+ make test-all TESTOPTS='--gc-stress ruby/test_refinement.rb'
-Mon Oct 18 07:26:21 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Aug 15 10:51:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * file.c (rb_file_truncate): discard read buffer before truncation.
- [ruby-dev:24197]
+ * ext/win32/lib/win32/registry.rb (API#SetValue): data size should
+ be in bytes, not in chars. [ruby-core:70365] [Bug #11439]
-Mon Oct 18 02:11:21 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sat Aug 15 10:15:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.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]
+ * io.c (rb_io_each_codepoint): read more data when read partially.
+ [ruby-core:70379] [Bug #11444]
- * 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.
+Sat Aug 15 04:33:39 2015 Eric Wong <e@80x24.org>
- * lib/webrick/httpservlet/filehandler.rb
- (WEBrick::HTTPServlet::FileHandler#get_servlet): new method to
- search servlet correspond to the suffix of filename.
+ * hash.c (any_hash): skip rb_objid_hash for static syms
+ (rb_num_hash_start): extract from rb_ident_hash
+ (rb_objid_hash): call rb_num_hash_start
+ (rb_ident_hash): ditto
+ [ruby-core:70181] [Feature #11405]
- * lib/webrick/httprequest.rb: add attributes access methods: accept,
- accept_charset, accept_encoding, accept_language, content_length
- and content_type.
+Sat Aug 15 04:16:13 2015 Eric Wong <e@80x24.org>
- * lib/webrick/httpresponse.rb: add attribute access methods:
- content_length, content_length=, content_type and content_type=.
+ * iseq.c (rb_iseq_mark): reduce NULL checks
- * lib/webrick/httputils.rb (WEBrick::HTTPUtils.mime_types):
- use the second suffix to detect media type. (the first suffix
- may be a language name.)
+Fri Aug 14 18:50:57 2015 Eric Wong <e@80x24.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.
+ * method.h (METHOD_ENTRY_VISI_SET): cast visi to int
+ (METHOD_ENTRY_FLAGS_SET): ditto
-Mon Oct 18 02:04:11 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Aug 14 18:43:11 2015 Eric Wong <e@80x24.org>
- * lib/webrick/httpserver.rb (WEBrick::HTTPServer#virtual_host): new
- method to register virtual hosting servers.
+ * process.c (close_unless_reserved): add extra check
+ (dup2_with_divert): remove
+ (redirect_dup2): use dup2 without divert
+ (before_exec_non_async_signal_safe): adjust call + comment
+ (rb_f_exec): stop timer thread for all OSes
+ (rb_exec_without_timer_thread): remove
+ * eval.c (ruby_cleanup): adjust call
+ * thread.c (rb_thread_stop_timer_thread): always close pipes
+ * thread_pthread.c (struct timer_thread_pipe): add writing field,
+ mark owner_process volatile for signal handlers
+ (rb_thread_wakeup_timer_thread_fd): check valid FD
+ (rb_thread_wakeup_timer_thread): set writing flag to prevent close
+ (rb_thread_wakeup_timer_thread_low): ditto
+ (CLOSE_INVALIDATE): new macro
+ (close_invalidate): new function
+ (close_communication_pipe): removed
+ (setup_communication_pipe_internal): make errors non-fatal
+ (setup_communication_pipe): ditto
+ (thread_timer): close reading ends inside timer thread
+ (rb_thread_create_timer_thread): make errors non-fatal
+ (native_stop_timer_thread): close write ends only, always,
+ wait for signal handlers to finish
+ (rb_divert_reserved_fd): remove
+ * thread_win32.c (native_stop_timer_thread): adjust (untested)
+ (rb_divert_reserved_fd): remove
+ * vm_core.h: adjust prototype
+ [ruby-core:70386] [Bug #11336]
- * lib/webrick/server.rb (WEBrick::GenericServer#accept): call
- do_not_reverse_lookup for each socket if :DoNotReverseLookup
- is set. [ruby-core:02357]
+Fri Aug 14 18:40:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Oct 18 00:42:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/win32/lib/win32/registry.rb (API#SetValue): add terminator
+ size, not 1 byte. [ruby-core:70365] [Bug #11439]
- * ext/socket/socket.c (sock_s_getservbyaname): protocol string
- might be altered. [ruby-dev:24503]
+Thu Aug 13 22:49:42 2015 Juanito Fatas <katehuang0320@gmail.com>
- * string.c (rb_str_upto): check if return value from succ is a
- string. [ruby-dev:24504]
+ * lib/timeout.rb (Timeout#timeout): freeze a string message to
+ reduce string allocations. [Fix GH-996]
-Sun Oct 17 23:03:48 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Aug 13 17:42:34 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/timer.rb: TkTimer#start and restart accept a block
+ * vm_core.h (rb_call_info_kw_arg_bytes): move the definition
+ to iseq.h because this function is shared with iseq.c and compile.c.
-Sun Oct 17 13:05:04 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+Thu Aug 13 14:36:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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
+ * object.c (rb_num_to_dbl): move from num2dbl_with_to_f in math.c.
-Sat Oct 16 14:45:28 2004 Kouhei Sutou <kou@cozmixng.org>
+Thu Aug 13 09:01:25 2015 Eric Wong <e@80x24.org>
- * lib/rss/0.9.rb (RSS::Rss#to_s): removed garbage.
+ * load.c (features_index_add): avoid repeat calculation
-Sat Oct 16 13:42:49 2004 Kouhei Sutou <kou@cozmixng.org>
+Wed Aug 12 21:57:31 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss/: untabified.
- * test/rss/: untabified.
- * lib/rss/0.9.rb (RSS::Rss#to_s): inent -> indent.
+ * id_table.c: IMPL() macro accept op as _opname instead of opname
+ because jemalloc seems to replace the word `free' to `je_free'.
-Sat Oct 16 13:34:56 2004 Kouhei Sutou <kou@cozmixng.org>
+Wed Aug 12 21:51:11 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss: supported prety print.
- * test/rss/test_1.0.rb: added test for calculating default indent size.
+ * id_table.c (mix_id_table_insert): fix memory leak.
-Fri Oct 15 18:04:35 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Wed Aug 12 21:17:38 2015 Eric Wong <e@80x24.org>
- * ext/tk/lib/tk/timer.rb: TkTimer.new(interval, loop){ ... } is
- acceptable. Add TkTimer.start ( == new + start ).
+ * iseq.c (iseq_memsize): reimplement for wrapper
+ (param_keyword_size): extracted from iseq_memsize
+ (iseqw_mark): new mark function
+ (iseqw_data_type): new data type
+ (iseqw_new): wrap as iseqw_data_type
+ (iseqw_check): adjust for wrapper
+ (Init_ISeq): remove iseqw_iseq_key initialization
+ * test/objspace/test_objspace.rb: new test
+ [ruby-core:70344] [Feature #11435]
-Fri Oct 15 12:43:09 2004 Tanaka Akira <akr@m17n.org>
+Wed Aug 12 21:15:27 2015 Eric Wong <e@80x24.org>
- * eval.c (Init_stack): make prototype declaration consistent with
- the definition in gc.c.
+ * vm_core.h (rb_call_info_kw_arg_bytes): extract from compile.c
+ * compile.c (iseq_build_callinfo_from_hash): use above function
-Thu Oct 14 14:34:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Wed Aug 12 18:00:17 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (MODE_BINMODE, MODE_BINARY): fixed reversed condition.
+ * class.c (move_refined_method): same as the last commit.
-Thu Oct 14 13:33:59 2004 Kouhei Sutou <kou@cozmixng.org>
+Wed Aug 12 17:57:53 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rss/rss.rb: added link to Tutorial.
+ * class.c, gc.c vm.c: use ID_TABLE_* instead of ST_*
+ (such as ST_CONTINUE) for enum rb_id_table_iterator_result.
-Mon Oct 11 13:48:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Wed Aug 12 17:05:36 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/*: untabify
+ * id_table.h: introduce ID key table.
+ [Feature #11420]
-Sun Oct 10 12:32:08 2004 Dave Thomas <dave@pragprog.com>
+ This table only manage ID->VALUE table to reduce overhead of st.
- * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_require): Allow 'require'
- to be used as a variable name
+ Some functions prefixed rb_id_table_* are provided.
-Sat Oct 9 21:23:37 2004 Kouhei Sutou <kou@cozmixng.org>
+ * id_table.c: implement rb_id_table_*.
- * lib/rss/converter.rb: changed to try to use Iconv for default
- conversion.
+ There are several algorithms to implement it.
- * lib/rss/rss.rb: 0.0.9 -> 0.1.0.
+ Now, there are roughly 4 types:
-Sat Oct 9 19:50:36 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * st
+ * array
+ * hash (implemented by Yura Sokolov)
+ * mix of array and hash
- * io.c (rb_io_getline): should not treat char as negative value.
- [ruby-dev:24460]
+ The macro ID_TABLE_IMPL can choose implementation.
+ You can see detailes about them at the head of id_table.c.
-Fri Oct 8 09:49:32 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ At the default, I choose 34 (mix of list and hash).
+ This is not final decision.
+ Please report your suitable parameters or
+ your data structure.
- * pack.c (pack_pack): pointer modification check before each
- iteration. [ruby-dev:24445]
+ * symbol.c: introduce rb_id_serial_t and rb_id_to_serial()
+ to represent ID by serial number.
-Fri Oct 8 01:13:05 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * internal.h: use id_table for method tables.
- * ext/tk/lib/tk/optiondb.rb: make it more secure
+ * class.c, gc.c, marshal.c, vm.c, vm_method.c: ditto.
-Thu Oct 7 23:47:57 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Wed Aug 12 05:19:11 2015 Eric Wong <e@80x24.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.
+ * parse.y (rb_parser_compile_cstr): remove volatile arg
+ (rb_parser_compile_string): ditto
+ (rb_parser_compile_file): ditto
+ (rb_parser_compile_string_path): ditto
+ (rb_parser_compile_file_path): ditto
+ [ruby-core:70323] [Misc #11431]
-Thu Oct 7 17:36:25 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Aug 11 22:59:57 2015 Tanaka Akira <akr@fsij.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.
+ * numeric.c (Init_Numeric): Fix document for Float::MIN and
+ Float::EPSILON.
-Thu Oct 7 12:55:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Aug 11 15:22:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (io_read): should freeze buffer before thread context
- switch. [ruby-dev:24442]
+ * include/ruby/ruby.h (ALLOCV_N): check integer overflow, as well
+ as ruby_xmalloc2. pointed out by Paul <pawlkt AT gmail.com>.
- * pack.c (pack_unpack): string conversion should at the top of the
- method. [ruby-dev:24439]
+Tue Aug 11 14:57:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (io_read): buffer should be frozen only after the length
- check. [ruby-dev:24440]
+ * array.c (rb_ary_repeated_permutation): fix buffer size, ALLOCV_N
+ already multiplies element size.
-Thu Oct 7 02:56:43 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 11 12:13:20 2015 Jeremy Evans <merch-redmine@jeremyevans.net>
- * ext/stringio/stringio.c: use FMODE_APPEND.
+ * test/openssl/test_ssl.rb: Fix LocalJumpErrors being raised
+ in OpenSSL tests. [ruby-core:70020][Bug #11368]
-Thu Oct 7 01:05:33 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Aug 11 11:54:13 2015 Alexey Lipnyagov <liptonshmidt@gmail.com>
- * ext/tk/lib/tk.rb: add Tk.errorInfo and Tk.errorCode
+ * string.c: Fix documentation for String#slice
+ [ruby-core:70298][Bug #11427]
-Thu Oct 7 00:08:37 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Aug 11 11:53:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_io_s_sysopen): preserve path in the buffer allocated by
- ALLOCA_N() to prevent modification. [ruby-dev:24438]
+ * parse.y (superclass): make superclass rule optional and allow
+ any contents without a terminator. [EXPERIMENTAL]
-Wed Oct 6 09:21:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Aug 11 10:58:42 2015 Juanito Fatas <juanitofatas@gmail.com>
- * io.c (rb_io_mode_flags): preserve append mode flag.
- [ruby-dev:24436]
+ * string.c: [DOC] Make #end_with? example doc symmetry
+ with #start_with? [fix GH-992][ci skip]
- * io.c (rb_io_modenum_mode): do not use external output buffer.
+Tue Aug 11 10:51:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * string.c (rb_str_justify): differ pointer retrieval to prevent
- padding string modification. [ruby-dev:24434]
+ * test/ruby/test_array.rb: Add test for `Array#flatten` with level 1
+ [fix GH-986] Patch @yui-knk
- * range.c (range_each_func): allow func to terminate loop by
- returning RANGE_EACH_BREAK.
+Tue Aug 11 10:48:16 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959]
+ * enum.c: added doc for Enumerable#zip
+ [fix GH-985] Patch by @yui-knk
+ * test/ruby/test_enum.rb: added tests for Enumerable#zip
+ [fix GH-985] Patch @yui-knk
-Mon Oct 4 14:04:14 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Aug 11 10:33:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * io.c (rb_file_open_internal, rb_io_reopen): fname might be altered
- while GC. [ruby-dev:24408]
+ * vm_method.c: typo fix [fix GH-993][ci skip] Patch by @0x0dea
+ * test/ruby/test_refinement.rb: ditto.
-Mon Oct 4 12:53:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Aug 9 14:15:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/optiondb.rb: support definition of command
- resources on widgets
+ * vm.c (Init_vm_objects, rb_vm_fstring_table): use frozen_strings
+ table in rb_vm_t. [ruby-core:70274] [Bug #11423]
- * ext/tk/lib/tk/image.rb: bug fix
+Sat Aug 8 03:59:51 2015 Zachary Scott <zzak@ruby-lang.org>
-Sun Oct 3 21:20:03 2004 Shugo Maeda <shugo@ruby-lang.org>
+ * object.c: [DOC] Improve grammar for Module#===
+ Patch by @SkyBirdSoar in documenting-ruby/ruby#52:
+ https://github.com/documenting-ruby/ruby/pull/52
- * lib/net/imap.rb (TEXT_REGEXP): allow 8-bit characters for the german
- version of Microsoft Exchange Server. (backported from HEAD)
+Sat Aug 8 03:39:33 2015 Zachary Scott <zzak@ruby-lang.org>
- * lib/net/imap.rb (RTEXT_REGEXP): ditto.
+ * hash.c: [DOC] Improve description of symbol key syntax
+ Patch by Raphael Das Gupta in documenting-ruby/ruby#51:
+ https://github.com/documenting-ruby/ruby/pull/51
- * lib/net/imap.rb (CTEXT_REGEXP): ditto.
+Fri Aug 7 21:04:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Oct 2 20:34:22 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (parser_params): turn in_def and in_single into bit
+ flags and reduce the size by 2-words.
- * node.h (NEW_DVAR): extra semicolon.
+ * parse.y (parser_params): remove redundant prefixes.
-Sat Oct 2 00:42:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * parse.y (yylex): non-pure parser has not been supported since
+ merger of ripper. change argument types from void pointers.
- * marshal.c (r_byte): retrieve pointer from string value for each
- time. [ruby-dev:24404]
+Fri Aug 7 17:07:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * marshal.c (r_bytes0): ditto.
+ * proc.c (method_super_method): uncallable method entry does not
+ have the defined class, use the owner instead.
+ [ruby-core:70254] [Bug #11419]
- * enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399]
+ * test/ruby/test_method.rb (test_super_method_unbound): add test
+ by Akira Matsuda.
- * io.c (io_read): should freeze all reading buffer.
- [ruby-dev:24400]
+Thu Aug 6 10:49:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_str_sum): should use bignums when bits is greater
- than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]
+ * node.c (rb_alloc_tmp_buffer): round up the size and check the
+ range.
- * eval.c (specific_eval): defer pointer retrieval to prevent
- unsafe sourcefile string modification. [ruby-dev:24382]
+ * ruby_atomic.h (ATOMIC_VALUE_EXCHANGE, ATOMIC_VALUE_CAS): add
+ atomic operations for VALUE.
- * eval.c (specific_eval): defer pointer retrieval to prevent
- unsafe sourcefile string modification. [ruby-dev:24382]
+Thu Aug 6 08:15:49 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * string.c (rb_str_sum): wrong cast caused wrong result.
- [ruby-dev:24385]
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move
+ SSLSocket#sysclose to Ruby.
- * enum.c (enum_sort_by): hide temporary array from
- ObjectSpace.each_object. [ruby-dev:24386]
+ * ext/openssl/ossl_ssl.c (ossl_ssl_close): ditto
- * string.c (rb_str_sum): check was done with false pointer.
- [ruby-dev:24383]
+Thu Aug 6 07:57:21 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move nonblock
+ enable to SSLSocket#initialize and remove Nonblock module.
-Mon Oct 11 17:51:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Aug 6 07:53:47 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * io.c (rb_io_popen): get mode string via rb_io_flags_mode() to
- avoid mode string modification. [ruby-dev:24454]
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move
+ OpenSSL::SSL::SSLSocket#initialize to Ruby.
- * io.c (rb_io_getline_fast): should take delim as unsigned char to
- distinguish EOF and '\377'. [ruby-dev:24460]
+ * ext/openssl/ossl_ssl.c: ditto
- * io.c (rb_io_getline): add check for RS modification.
- [ruby-dev:24461]
+Thu Aug 6 02:25:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * enum.c (enum_sort_by): use qsort() directly instead using
- rb_iterate(). [ruby-dev:24462]
+ * node.c (rb_alloc_tmp_buffer): use NODE_ALLOCA to mark locations
+ like as builtin alloca. [ruby-core:70251] [Bug #11418]
- * enum.c (enum_each_with_index): remove rb_gc_force_recycle() to
- prevent access to recycled object (via continuation for
- example). [ruby-dev:24463]
+Wed Aug 5 14:37:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Oct 1 11:40:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * 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]
- * eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe
- sourcefile string modification. [ruby-dev:24373]
+Tue Aug 4 16:53:43 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * io.c (io_read): block string buffer modification during
- rb_io_fread() by freezing it temporarily. [ruby-dev:24366]
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): extract callback
+ lookup to private Ruby methods. This means we can keep the default
+ DH callback logic hidden from consumers. Also, since the SSLSocket
+ always has a context, we can remove conditionals about that
+ instance.
- * io.c (rb_io_s_popen): mode argument may be altered.
- [ruby-dev:24375]
+ * ext/openssl/ossl_ssl.c: move callback lookup methods to private Ruby
+ methods.
- * file.c (rb_file_s_basename): ext argument may be altered.
- [ruby-dev:24377]
+Tue Aug 4 16:40:26 2015 Koichi Sasada <ko1@atdot.net>
- * enum.c (enum_sort_by): use NODE instead of 2 element arrays.
- [ruby-dev:24378]
+ * test/ruby/test_module.rb: should not expect a method table ordering.
+ [Feature #11414]
- * string.c (rb_str_chomp_bang): StringValue() may change the
- receiver. [ruby-dev:24371]
+Tue Aug 04 15:30:04 2015 Koichi Sasada <ko1@atdot.net>
-Fri Oct 1 11:25:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * proc.c (rb_block_clear_env_self): clear by Qfalse instead of Qnil.
+ [Bug #11409]
- * ext/tk/lib/tk/grid.rb: revive TkGrid.grid
+ * test/ruby/test_eval.rb: add tests for this issue,
+ written by @0x0dea.
+ https://github.com/ruby/ruby/pull/988
- * ext/tk/lib/tk/pack.rb: revive TkPack.pack
+Tue Aug 4 12:12:14 2015 Eric Wong <e@80x24.org>
- * ext/tk/lib/tk/place.rb: revive TkPlace.place
+ * variable.c: wrap long lines
-Thu Sep 30 00:50:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Aug 4 09:32:30 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tcltklib/tcltklib.c (ip_init): bug fix
+ * proc.c: Removing duplicate doc [fix GH-987][ci skip]
+ Patch by @ronakjangir47
- * ext/tk/tkutil.c (get_eval_string_core): accept a Regexp object
+Tue Aug 4 09:21:58 2015 Richard Schneeman <richard.schneeman+foo@gmail.com>
- * ext/tk/lib/multi-tk.rb: fix bug on 'exit' operation
+ * doc/contributing.rdoc: fixed wrong instructions with OS X
+ [fix GH-989][ci skip] Patch by @schneems
- * ext/tk/lib/tk/text.rb: 'tksearch' accepts a Regexp object as a
- matting pattern argument
+Mon Aug 3 10:08:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 29 10:58:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * re.c (rb_memsearch): should match only char boundaries in wide
+ character encodings. [ruby-core:70220] [Bug #11413]
- * enum.c (sort_by_i): internally used object must not be changed
- outside. [ruby-dev:24368]
+Sun Aug 2 07:01:17 2015 Eric Wong <e@80x24.org>
-Mon Sep 27 13:46:45 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/lib/openssl/buffering.rb (gets):
+ avoid comparing fixnum with nil
+ * test/openssl/test_pair.rb: test gets with limit when EOF is hit
+ Thanks to Bar Hofesh <bar.hofesh@safe-t.com> for the bug report
+ and testing.
+ [ruby-core:70149] [Bug #11400]
- * intern.h, struct.c (rb_struct_s_members, rb_struct_members): public
- accessors. [ruby-dev:24342]
+Sat Aug 1 17:13:15 2015 Kazuki Tsujimoto <kazuki@callcc.net>
- * marshal.c (w_object, r_object0): use accessors.
+ * 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]
-Mon Sep 27 09:14:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/net/http/test_httpresponse.rb: tests for the above.
- * ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.
- [ruby-talk:113807]
+Sat Aug 1 17:05:18 2015 Kazuki Tsujimoto <kazuki@callcc.net>
-Fri Sep 24 16:09:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/net/http/response.rb (Net::HTTPResponse#inflater):
+ fix TypeError. An exception object might be nil.
+ [ruby-core:68846] [Bug #11058]
- * eval.c (proc_invoke): propagate DVAR_DONT_RECYCLE on termination
- to avoid double call to rb_gc_force_recycle(). [ruby-dev:24311]
+Sat Aug 1 09:09:46 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Fri Sep 24 08:29:45 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): Implement
+ SSLContext#options and options= using SSL_CTX_set_options and
+ SSL_CTX_get_options. This reduces the number of ivars we need and
+ simplifies `ossl_sslctx_setup`.
- * array.c (rb_ary_subseq): original object might be modified after
- sharing data creation. [ruby-dev:24327]
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Default `options`
+ to SSL_OP_ALL
- * array.c (rb_ary_replace): ditto.
+Sat Aug 1 06:54:36 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * array.c (ary_make_shared): freeze shared array. [ruby-dev:24325]
+ * ext/openssl/ossl_ssl.c (Init_ossl_ssl): OpenSSL declares these
+ constants as longs, so we should follow that and use LONG2NUM.
+ http://git.io/vOqxD
- * struct.c (struct_members): always check struct size and size of
- members list in the class. [ruby-dev:24320]
+Sat Aug 1 04:06:29 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Thu Sep 23 09:29:14 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): change callback
+ to return the Ruby dh (or ecdh) object that the caller cares about
+ instead of doing rb_iv_get / set to communicate. This means we can
+ remove an rb_iv_get call, and only use the set calls for their
+ intended purpose (to prevent the object from being GC'd).
- * string.c (rb_str_sub_bang): check if string is not modified
- during iteration. [ruby-dev:24315]
+ * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto
+ * ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): ditto
+ * ext/openssl/ossl_ssl.c (ossl_tmp_ecdh_callback): ditto
- * hash.c (rb_hash_rehash): replace st_foreach() by its deep
- checking counterpart. [ruby-dev:24310]
+Sat Aug 1 03:49:31 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Wed Sep 22 13:38:12 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): Similarly to the
+ tmp_ecdh_callback, the SSLSocket instance always holds a reference
+ to the SSLContext object (it's always set in `initialize`). The
+ SSLContext holds a reference to the tmp_dh_callback. Ask the
+ context for the callback instead of storing the callback in two
+ places.
- * hash.c (rb_hash_rehash): add iteration check. [ruby-dev:24301]
+Sat Aug 1 03:43:10 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * st.c (st_foreach): add deep check.
+ * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): create an array
+ and use `rb_apply` to clean up calls to `rb_protect`.
-Wed Sep 22 13:06:14 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto
- * win32/win32.c (rb_w32_call_handler): workaround for Ctrl-C.
- merge from HEAD.
+Sat Aug 1 03:27:12 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Wed Sep 22 00:11:12 2004 Dave Thomas <dave@pragprog.com>
+ * ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): The SSL socket
+ always holds a reference to the SSLContext object, which will have
+ the callback object. Ask the context for the callback instead of
+ storing the callback in two places.
- * process.c: Add documentation for fork()
+Sat Aug 1 03:14:07 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Wed Sep 22 09:04:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): convert
+ `tmp_dh_callback` to Ruby, and call it when setting up an SSL
+ connection. This allows us to move the "default" behavior to the
+ reader method.
- * array.c (rb_ary_collect_bang): element size might change during
- comparison. [ruby-dev:24300]
+ * ext/openssl/ossl_ssl.c: call the tmp_dh_callback instead of
+ accessing the SSLContext's internals.
- * array.c (rb_ary_reject_bang): ditto. [ruby-dev:24300]
+Fri Jul 31 23:34:27 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * array.c (rb_ary_eql): ditto. [ruby-dev:24300]
+ * .travis.yml: update libssl before running tests.
+ Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for figuring out the
+ travis settings!
-Tue Sep 21 18:29:49 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jul 31 21:34:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_equal): merge miss.
+ * load.c (rb_require_internal): use rb_load_internal0 not to raise
+ a exception to be caught.
- * array.c (rb_ary_uniq_bang): element size might change during
- comparison. [ruby-dev:24298]
+Thu Jul 30 13:19:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Sep 20 00:24:19 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * variable.c (rb_const_get_0): warn deprecated constant reference.
- * enum.c (enum_sort_by): do not use qsort directly. use
- rb_ary_sort_bang() instead. [ruby-dev:24291]
+ * variable.c (rb_mod_deprecate_constant): mark constants to be
+ warned as deprecated. [Feature #11398]
- * enum.c (enum_sort_by): pedantic type check added.
- [ruby-dev:24291]
+Thu Jul 30 11:53:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (rb_hash_foreach_iter): check iter_lev after each
- iteration. [ruby-dev:24289]
+ * thread.c (rb_thread_s_handle_interrupt): make identity hash, to
+ compare masking classes just by their IDs.
- * array.c (rb_ary_and): element size might change during
- comparison. [ruby-dev:24290]
+Thu Jul 30 11:52:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_or): ditto. [ruby-dev:24292]
+ * 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]
- * array.c (rb_ary_equal): wrong fix. [ruby-dev:24286]
+Thu Jul 30 10:42:27 2015 Alex Dowad <alexinbeijing@gmail.com>
-Sat Sep 18 15:02:22 2004 Yukihiro Matsumoto <matz@ruby-lang.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]
- * array.c (rb_ary_equal): element size might change during
- comparison. [ruby-dev:24254]
+Thu Jul 30 08:48:42 2015 Eric Wong <e@80x24.org>
- * array.c (rb_ary_diff): ditto. [ruby-dev:24274]
+ * st.c (find_entry): constify st_table*
+ (find_packed_index_from): ditto
+ (find_packed_index): ditto
+ (get_keys): ditto
+ (get_values): ditto
- * array.c (rb_ary_select): ditto. [ruby-dev:24278]
+Thu Jul 30 04:29:25 2015 Eric Wong <e@80x24.org>
- * array.c (rb_ary_delete): ditto. [ruby-dev:24283]
+ * benchmark/bm_hash_aref_dsym.rb: new benchmark
+ * benchmark/bm_hash_aref_dsym_long.rb: ditto
+ * benchmark/bm_hash_aref_fix.rb: ditto
- * array.c (rb_ary_rindex): ditto. [ruby-dev:24275]
+Wed Jul 29 21:38:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_initialize): element size might change during
- initializing block. [ruby-dev:24284]
+ * hash.c (any_hash), symbol.c (dsymbol_alloc): fix dynamic symbol
+ hash value by restricting in Fixnum range, that is `long`.
-Sat Sep 18 14:10:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Jul 29 17:25:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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]
+ * hash.c (rb_obj_hash): move in order to share with rb_any_hash.
-Fri Sep 17 20:20:27 2004 Minero Aoki <aamine@loveruby.net>
+Wed Jul 29 16:00:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb (mkdir_p): backport from CVS HEAD 1.45. [ruby-core:03420]
+ * string.c (str_buf_cat): consider empty non-embed string case,
+ not to loop infinitely. [ruby-core:70074] [Bug #11383]
-Fri Sep 17 17:11:08 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Jul 29 15:25:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_delete): element comparison might change array
- size. [ruby-dev:24273]
+ * 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]
- * file.c (rb_file_truncate): clear stdio buffer before truncating
- the file. [ruby-dev:24191]
+Wed Jul 29 14:54:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF
- which might return singleton class. [ruby-dev:24202]
+ * hash.c (rb_sym_hash): return same value as rb_any_hash() of
+ Symbol. [Bug #9381]
-Fri Sep 17 16:07:09 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * hash.c (rb_any_hash): fix Float hash. rb_dbl_hash() returns a
+ Fixnum, but not a long. [Bug #9381]
- * ext/tk/lib/multi-tk.rb: improve exit operation
+Wed Jul 29 11:07:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 17 15:01:57 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * internal.h (LIKELY, UNLIKELY): make a boolean to enforce 1 or 0.
- * ext/tcltklib/tcltklib.c: fix SEGV when (thread_)vwait or
- (thread_)tkwait
+Wed Jul 29 10:44:43 2015 Alex Dowad <alexinbeijing@gmail.com>
- * ext/tk/lib/tk.rb: add alias wait_window to wait_destroy
+ * gc.c: document argument passed to finalizer proc.
+ [fix GH-976][ci skip] Patch by @alexdowad
- * 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 Jul 29 10:36:58 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/tk/lib/remote-tk.rb: follow the changes of ext/tk/lib/multi-tk.rb
+ * io.c (rb_io_extract_modeenc): add option parameter `flags'
+ to append extra oflags to normal mode.
+ [Feature #11253] [ruby-core:69539]
- * ext/tk/sample/remote-ip_sample2.rb: ditto
+Wed Jul 29 04:54:47 2015 Eric Wong <e@80x24.org>
- * ext/tk/sample/tkoptdb-safeTk.rb: ditto
+ * test/rubygems/test_gem_remote_fetcher.rb: pre-generate test key
+ [ruby-core:70151] [Bug #11397]
-Thu Sep 16 18:12:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Jul 28 10:32:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/webrick/cgi.rb (WEBrick::CGI#start): should set REMOTE_USER
- to request.user attribute.
+ * internal.h (struct RClass): moved from ruby/ruby.h to hide the
+ internals.
- * lib/webrick/httpservlet/filehandler.rb
- (WEBrick::HTTPServlet::FileHandler#initialize): should expand
- the pathname of document root directory.
+Tue Jul 28 08:48:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 16 15:49:28 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for
+ types.
- * string.c (rb_str_intern): protect string argument from GC.
- [ruby-core:03411]
+Tue Jul 28 07:23:03 2015 Eric Wong <e@80x24.org>
-Wed Sep 15 20:22:23 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * 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/tk/sample/tkoptdb-safeTk.rb: fix a bug depend on the changes
- of MultiTkIp
+Tue Jul 28 03:26:15 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Tue Sep 14 23:54:11 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * 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/tk/lib/multi-tk.rb: MultiTkIp#eval_string was en-bugged by
- the previous changes.
+ * test/openssl/test_ssl.rb (class OpenSSL): test for change
-Tue Sep 14 23:45:44 2004 Dave Thomas <dave@pragprog.com>
+Mon Jul 27 13:24:11 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::TextFormatter.for):
- Add Eric Hodel's simpleformatter.
+ * template/id.h.tmpl (ID2ATTRSET): remove an unused macro.
-Tue Sep 14 16:59:37 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Mon Jul 27 12:21:15 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: fix SEGV
+ * test/openssl/test_ssl.rb: run tests on non-Unix platforms.
- * ext/tk/lib/multi-tk.rb: improve safe-level handling of argument proc
+Sun Jul 26 19:21:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/sample/multi-ip_sample.rb: rename of old 'safe-tk.rb'
+ * ext/openssl/ossl_ssl.c (ossl_ssl_alpn_protocol): fix condition
+ to compile, needs ALPN to be available. [Feature #9390]
- * ext/tk/sample/safe-tk.rb: new sample script
+Sun Jul 26 11:29:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 14 00:15:15 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * signal.c (default_handler, Init_signal): discard SIGSYS, ENOSYS
+ should raise a SystemCallError always instead.
- * ext/zlib/zlib.c: backported from HEAD.
+Sun Jul 26 10:26:35 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Mon Sep 13 19:16:33 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c (ossl_call_servername_cb): set the ssl context
+ object returned by the servername callback on to the socket as an
+ instance variable. If the callback allocated a new context object
+ and didn't keep a reference to it, it could be GC'd out from under
+ the socket object.
- * eval.c (blk_copy_prev): need frame_dup(). [ruby-dev:24103]
+ * test/openssl/test_ssl.rb (class OpenSSL): test for change.
-Mon Sep 13 16:23:27 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Jul 26 10:07:26 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: MultiTkIp.new_master and new_slave accept
- safe-level value argument
+ * test/openssl/test_ssl.rb (class OpenSSL): add test coverage around
+ OpenSSL::SSL::SSLContext#servername_cb
-Mon Sep 13 10:20:45 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Jul 26 09:10:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * object.c (nil_inspect): fix typo.
+ * gems/bundled_gems: update latest version of bundled power_assert.
-Mon Sep 13 01:03:02 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sun Jul 26 08:49:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: improve control of preserv/release tcltkip
+ * test/rubygems/test_gem_remote_fetcher.rb: backport rubygems upstream
+ change for OpenSSL key length. see detail to
+ https://github.com/rubygems/rubygems/pull/1290
- * ext/tcltklib/tcltklib.c: store original 'exit' command
+Sun Jul 26 08:33:03 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * ext/tk/tkutil.c: fix(?) SEGV
+ * ext/openssl/lib/openssl/pkey.rb: implement DEFAULT_512 and
+ DEFAULT_1024 constants in Ruby.
-Sun Sep 12 23:46:23 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Ask PKey for the
+ default DH callback since it already must check whether openssl has
+ been compiled with DH support.
- * util.c (ruby_strdup): remove unnecessary code. (xmalloc never
- returns NULL.)
+ * ext/openssl/ossl_pkey_dh.c (OSSL_PKEY_BN): Remove C definitions of
+ DEFAULT_512 and DEFAULT_1024
- * util.c (ruby_getcwd): fix memory leak on failure.
+ * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto
-Sun Sep 12 02:41:58 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * test/openssl/test_pkey_dh.rb (class OpenSSL): add test to ensure the
+ Ruby definitions are the same as the C definitions were.
- * ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and
- allow_ruby_exit=
+Sun Jul 26 08:14:59 2015 Aaron Patterson <tenderlove@ruby-lang.org>
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): support
+ specifically setting the tmp_dh_callback to nil.
- * ext/tk/lib/multi-tk.rb: ditto.
+ * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto
- * ext/tk/lib/remote-tk.rb: ditto.
+ * test/openssl/test_pair.rb (module OpenSSL): add a test
- * ext/tcltklib/MANUAL.euc: ditto.
+Sun Jul 26 07:47:14 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * ext/tcltklib/MANUAL.eng: ditto.
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move the default
+ tmp_dh_callback Ruby code and set it as a default in `initialize`.
- * ext/tcltklib/tcltklib.c: fix some reasons of SEGV
+ * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_512_GEN):
+ move this constant to Ruby.
- * ext/tk/tkutil.c: ditto.
+ * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_1024_GEN):
+ ditto
- * ext/tk/lib/multi-tk.rb: ditto.
+ * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto
- * ext/tk/lib/tk/timer.rb: ditto.
+ * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto
-Sat Sep 11 16:09:46 2004 Dave Thomas <dave@pragprog.com>
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): tmp_dh_callback should
+ always be set, so we can remove this conditional
- * lib/rdoc/parsers/parse_rb.rb: Fix up cross-file class merging.
+Sun Jul 26 06:22:24 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Fri Sep 10 20:20:53 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * test/openssl/test_pair.rb: add a test ensuring that the default DH
+ callback is used when no DH callback is specified.
- * ext/tcltklib/tcltklib.c (lib_merge_tklist): fix suspicious
- pointer conversion.
+Sun Jul 26 04:08:27 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Fri Sep 10 02:43:54 2004 Dave Thomas <dave@pragprog.com>
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missing
+ instance variables to squash warnings with alpn.
- * lib/rdoc/generators/template/kilmer.rb: James Buck's
- patch for call-seq.
+Sun Jul 26 03:42:19 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Thu Sep 9 13:58:56 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move
+ OpenSSL::SSL::SSLContext#initialize implementation to pure Ruby.
- * ext/tcltklib/tcltklib.c (ip_init): change flag value for setting
- 'argv' and 'argv0' variable
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): ditto
- * ext/tk/lib/remote-tk.rb: follow changes of multi-tk.rb
+ * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto
-Thu Sep 9 11:46:18 2004 Dave Thomas <dave@pragprog.com>
+Sat Jul 25 21:03:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_classes): Allow
- spaces aroun parameter to define_method_under (James Buck)
+ * random.c (fill_random_bytes_syscall): get rid of blocking when
+ no entropy is available. based on the patch by mame in
+ [ruby-core:70114]. [Bug #11395]
-Wed Sep 8 18:44:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jul 25 11:05:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/stringio/stringio.c (strio_write): zero fill a gap if exsts.
- [ruby-dev:24190]
+ * string.c (str_replace_shared_without_enc): fill the terminator
+ of embedded strings in wide char encodings.
-Wed Sep 8 15:19:49 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Sat Jul 25 06:38:36 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tcltklib/tcltklib.c (ip_init): cannot create a IP at level 4
+ * vm_core.h: size should be unsigned.
+ * rb_call_info_t::index
+ * rb_iseq_constant_body::stack_max
+ * rb_iseq_constant_body::local_size
+ * rb_iseq_constant_body::param::size
+ * rb_iseq_constant_body::local_table_size
+ * rb_iseq_constant_body::is_size
+ * rb_iseq_constant_body::callinfo_size
- * ext/tk/lib/multi-tk.rb: improve 'exit' operation, security check,
- and error treatment
+ * iseq.h: same for iseq_catch_table::size.
- * ext/tk/lib/multi-tk.rb: allow a trusted slave IP to create slave IPs
+ * compile.c: catch up these fix.
- * ext/tk/lib/tk/listbox.rb: add TkListbox#value, value=, clear, and
- erase
+ * iseq.c: ditto.
- * ext/tk/lib/tk/text.rb: add TkText#clear and erase
+ * proc.c: ditto.
-Tue Sep 7 15:17:49 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm.c: ditto.
- * ext/socket/socket.c (ruby_connect): break immediately if a
- socket is non-blocking. [ruby-talk:111654]
+ * vm_args.c: ditto.
-Mon Sep 6 11:08:50 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * vm_eval.c: ditto.
- * ext/tk/lib/tk/menu.rb(TkOptionMenubutton#insert): call correct method
+ * vm_insnhelper.c: ditto.
-Mon Sep 6 11:00:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Jul 25 06:00:09 2015 Koichi Sasada <ko1@atdot.net>
- * 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]
+ * vm_core.h: constify rb_iseq_constant_body::line_info_table.
-Mon Sep 6 07:51:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * iseq.c: catch up this fix.
- * eval.c (cvar_cbase): singletons should refer outer cvar scope.
- [ruby-dev:24223]
+Sat Jul 25 05:56:43 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_load): should preserve previous ruby_wrapper value.
- [ruby-dev:24226]
+ * vm_core.h: constify rb_iseq_constant_body::param::opt_table and
+ rb_iseq_constant_body::param::keyword.
-Sat Sep 4 01:14:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * compile.c: catch up this fix.
- * eval.c (cvar_cbase): class variables cause SEGV in
- instance_eval() for fixnums and symbols. [ruby-dev:24213]
+Sat Jul 25 04:47:01 2015 Koichi Sasada <ko1@atdot.net>
-Fri Sep 3 17:47:58 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_core.h: constify rb_iseq_constant_body::catch_table.
- * struct.c (make_struct): remove redefining constant when
- conflict. [ruby-dev:24210]
+ * compile.c (iseq_set_exception_table): catch up this fix.
-Fri Sep 3 11:31:44 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * iseq.c: ditto.
- * ext/tk/lib/tk.rb: Tk.after makes TkCore::INTERP.tk_cmd_tbl grow
- [ruby-dev:24207]
+ * vm.c (vm_exec): ditto.
-Fri Sep 3 02:12:48 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Fri Jul 24 21:29:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: fix typo [ruby-talk:111266]
+ * st.c (EQUAL, st_delete_safe): fix arguments order to compare
+ function, searching key is the first and stored key is the
+ second always.
- * ext/tk/lib/tk/text.rb: fix typo
+Fri Jul 24 21:27:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: improve safe-level treatment on slave IPs
+ * string.c (fstr_update_callback): fstring must not be a shared
+ string, or the content without RSTRING_FSTR may be freed.
+ [ruby-dev:49188] [Bug #11386]
-Fri Sep 3 01:54:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 24 20:09:43 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/extmk.rb: already built-in libraries satisfy dependencies.
- [ruby-dev:24028]
+ * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to use
+ IPv6 loopback interface for
+ Rinda::TestRingFinger#test_make_socket_ipv6_multicast and
+ Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops.
+ The tests are skipped if there are no IPv6 devices other than the
+ loopback device. [Bug #11394] [ruby-dev:49199]
-Thu Sep 2 11:36:20 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto
+ for Rinda::TestRingServer#test_make_socket_ipv6_multicast.
- * eval.c (rb_obj_instance_eval): backported from HEAD.
+ * test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto
+ for Rinda::TestRingServer#test_ring_server_ipv6_multicast.
-Wed Sep 1 21:18:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Fri Jul 24 16:35:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk/spinbox.rb: fix typo
+ * string.c (fstr_update_callback): pool bare strings only.
-Tue Aug 31 18:24:04 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * string.c (rb_fstring): return the original string with sharing a
+ fstring if it has extra attributes, not the fstring itself.
+ [ruby-dev:49188] [Bug #11386]
- * ext/tk/tkutil.c (cbsubst_init): fix memory leak
+Fri Jul 24 16:35:34 2015 yui-knk <spiketeika@gmail.com>
- * ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV
+ * file.c (rb_file_s_extname): [DOC] add an example.
-Tue Aug 31 16:04:22 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * test/ruby/test_path.rb (test_extname): add tests. [Fix GH-978]
+ * path starts with dot ('.a.rb')
+ * path includes dir name ('a/b/d/test.rb')
+ * path includes dir name and dir name starts with dot
+ ('.a/b/d/test.rb')
- * ext/tcltklib/tcltklib.c (ip_delete): when a tcltkip is deleted,
- destroy its root widget
+Thu Jul 23 18:50:43 2015 Koichi Sasada <ko1@atdot.net>
-Tue Aug 31 12:30:36 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_core.h: constify rb_iseq_constant_body::local_table and
+ rb_iseq_param_keyword::table and
+ rb_iseq_param_keyword::default_values.
- * ext/tcltklib/tcltklib.c (del_root): fix SEGV
+ * compile.c: catch up this fix.
-Mon Aug 30 23:11:06 2004 Dave Thomas <dave@pragprog.com>
+ * iseq.c: ditto.
- * lib/rdoc/ri/ri_driver.rb (and others): ri now merges documentation
- if it finds the same class in multiple places.
+Thu Jul 23 17:30:43 2015 Koichi Sasada <ko1@atdot.net>
-Mon Aug 30 22:40:30 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_core.h: constify rb_iseq_constant_body::iseq_encoded and
+ rb_control_frame_t::pc.
- * ext/tk/lib/multi-tk.rb: 'restart' method accepts arguments
+ * compile.c (rb_iseq_translate_threaded_code): catch up this fix.
-Mon Aug 30 21:50:14 2004 Dave Thomas <dave@pragprog.com>
+ * iseq.c: ditto.
- * object.c: Add RDoc for Module.included.
+ * vm_exec.c (vm_exec_core): ditto.
-Mon Aug 30 15:10:46 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Thu Jul 23 10:25:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (GNU/k*BSD): fixed FTBFS on GNU/k*BSD. [ruby-dev:24051]
+ * include/ruby/ruby.h: add raw FL macros, which assume always the
+ argument object is not a special constant.
-Mon Aug 30 11:29:35 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * internal.h (STR_EMBED_P, STR_SHARED_P): valid only for T_STRING.
- * win32/win32.c (CreateChild): strip trailing spaces. [ruby-dev:24143]
- merge from HEAD.
+ * string.c: deal with taint flags directly across String instances.
-Sun Aug 29 14:08:56 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Jul 23 09:05:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/tcltklib.c: compile error on bcc32 [ruby-dev:24081]
+ * parse.y (lambda_body): pop cmdarg stack for lookahead
+ token. [ruby-core:70067] [Bug #11380]
- * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string does not work
+Thu Jul 23 04:03:03 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Sat Aug 28 23:04:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/ossl_ssl.c: fix tests by not setting the instance
+ variable on the frozen ssl instance.
- * bignum.c (rb_big_and): protect parameters from GC.
- [ruby-talk:110664]
+Thu Jul 23 03:32:26 2015 Aaron Patterson <tenderlove@ruby-lang.org>
-Thu Aug 26 04:38:29 2004 Dave Thomas <dave@pragprog.com>
+ * ext/openssl/ossl_ssl.c: add ECDH callback support. [Feature #11356]
- * eval.c (return_jump): Minor typo in error message. Now reads
- "return can't jump across threads".
+ * test/openssl/test_pair.rb: test for ECDH callback support
-Tue Aug 24 17:30:00 2004 Shugo Maeda <shugo@ruby-lang.org>
+Thu Jul 23 03:29:49 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * lib/cgi/session.rb (CGI::Session::FileStore#initialize): do not
- use a session id as a filename. (backported from HEAD)
+ * ext/openssl/ossl_ssl.c: add ALPN support. [Feature #9390]
- * lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): ditto.
+ * ext/openssl/extconf.rb: detect ALPN support in OpenSSL
- * lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): use
- Dir::tmpdir. (backported from HEAD)
+ * test/openssl/test_ssl.rb: test for ALPN
-Tue Aug 24 14:40:16 2004 Shugo Maeda <shugo@ruby-lang.org>
+Wed Jul 22 23:44:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/cgi/session.rb (CGI::Session::FileStore#initialize): untaint
- session id after check. (backported from HEAD)
+ * 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]
-Tue Aug 24 09:09:01 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Jul 22 20:17:51 2015 Koichi Sasada <ko1@atdot.net>
- * ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): d2i
- functions may replace the pointer indicated by the first argument.
+ * vm_core.h: modify layout of rb_iseq_constant_body.
- * ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.
+ Move frequent accessing fields to upper part.
- * ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.
+Wed Jul 22 19:57:47 2015 Koichi Sasada <ko1@atdot.net>
-Mon Aug 23 14:04:51 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * vm_core.h: remove unused declaration of
+ iseq_compile_data_ensure_node_stack.
- * 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]
+Wed Jul 22 19:52:45 2015 Koichi Sasada <ko1@atdot.net>
- * ext/openssl/ossl_ssl.c (ossl_ssl_write):
- - call underlying IO's syswrite if SSL session is not started.
+ * vm_core.h: separate rb_iseq_body into rb_iseq_constant_body and
+ rb_iseq_variable_body (rb_iseq_t::variable_body).
- * ext/openssl/ossl_ssl.c (ossl_ssl_pending): new method
- OpenSSL::SSL#pending.
+ rb_iseq_variable_body can be modified after compilation.
- * ext/openssl/lib/openssl/buffering.rb: should not use select.
+ * compile.c: use rb_iseq_t::variable_body.
-Mon Aug 23 12:40:56 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * iseq.c: ditto.
- * lib/resolv.rb (Config.default_config_hash): when multiple domains
- are set, Win32::Resolv.get_resolv_info returns Array.
+ * thread.c: ditto.
-Sun Aug 22 01:15:31 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Jul 22 17:50:35 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):
- should call :ProxyContentHandler before finishing CONNECT.
+ * lib/matrix/eigenvalue_decomposition.rb: refine code style.
+ [fix GH-959][ci skip] Patch by @bogdanvlviv
-Sat Aug 21 06:41:16 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jul 22 15:48:47 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tcltklib/extconf.rb (find_tcl, find_tk): find stub library.
+ * test/ruby/test_range.rb: Add test case for Range#end with
+ exclude_end true case. [fix GH-968] Patch by @yui-knk
- * lib/mkmf.rb (arg_config, with_config): deal with '-' and '_'
- uniformly. [ruby-dev:24118]
+Wed Jul 22 09:45:31 2015 Maksim Sitnikov <sitnikovme@undev.ru>
-Thu Aug 19 16:29:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * numeric.c (num_coerce): [DOC] fix doc for Numeric#coerce,
+ missing '+'. [Fix GH-974]
- * ext/tk/lib/tk.rb: Fail to treat a hash value of 'font' option.
+Wed Jul 22 07:24:18 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk.rb: bindinfo cannot return '%' substiturion infomation.
+ * make rb_iseq_t T_IMEMO object (type is imemo_iseq).
- * ext/tk/lib/menu.rb: typo bug.
+ All contents of previous rb_iseq_t is in rb_iseq_t::body.
+ Remove rb_iseq_t::self because rb_iseq_t is an object.
-Thu Aug 19 15:15:24 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ RubyVM::InstructionSequence is wrapper object points T_IMEMO/iseq.
+ So RubyVM::ISeq.of(something) method returns different wrapper
+ objects but they point the same T_IMEMO/iseq object.
- * dir.c (free_dir): fix memory leak. reported by yamamoto
- madoka.
+ This patch is big, but most of difference is replacement of
+ iseq->xxx to iseq->body->xxx.
-Thu Aug 19 11:00:00 2004 Akiyoshi, Masamichi <masamichi.akiyoshi@hp.com>
+ (previous) rb_iseq_t::compile_data is also located to
+ rb_iseq_t::compile_data.
+ It was moved from rb_iseq_body::compile_data.
- * 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.
+ Now rb_iseq_t has empty two pointers.
+ I will split rb_iseq_body data into static data and dynamic data.
-Thu Aug 19 06:07:45 2004 why the lucky stiff <why@ruby-lang.org>
+ * compile.c: rename some functions/macros.
+ Now, we don't need to separate iseq and iseqval (only VALUE).
- * 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.
+ * eval.c (ruby_exec_internal): `n' is rb_iseq_t (T_IMEMO/iseq).
- * lib/yaml/baseemitter.rb: folding now handles double-quoted strings,
- fixed problem with extra line feeds at end of folding, whitespace
- opening scalar blocks.
+ * ext/objspace/objspace.c (count_imemo_objects): count T_IMEMO/iseq.
- * lib/yaml/rubytypes.rb: subtelties in handling strings with
- non-printable characters and odd whitespace patterns.
+ * gc.c: check T_IMEMO/iseq.
-Wed Aug 18 23:41:33 2004 Minero Aoki <aamine@loveruby.net>
+ * internal.h: add imemo_type::imemo_iseq.
- * lib/net/protocol.rb (rbuf_fill): OpenSSL::SSL::SSLSocket has its own
- buffer, select(2) might not work. [ruby-dev:24072]
+ * iseq.c: define RubyVM::InstructionSequence as T_OBJECT.
+ Methods are implemented by functions named iseqw_....
-Wed Aug 18 17:10:12 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * load.c (rb_load_internal0): rb_iseq_new_top() returns
+ rb_iseq_t (T_IMEMO/iesq).
- * ext/tcltklib/stubs.c (ruby_tcltk_stubs): need to call
- Tcl_FindExecutable() for Tcl/Tk 8.4.
+ * method.h (rb_add_method_iseq): accept rb_iseq_t (T_IMEMO/iseq).
-Wed Aug 18 12:52:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_core.h (GetISeqPtr): removed because it is not T_DATA now.
- * eval.c (rb_obj_instance_eval): evaluates under special singleton
- classes as for special constants.
+ * vm_core.h (struct rb_iseq_body): remove padding for
+ [Bug #10037][ruby-core:63721].
-Tue Aug 17 17:20:59 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Jul 22 07:15:33 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (rb_io_reopen): should clear allocated OpenFile. pointed
- out by Guy Decoux. [ruby-core:03288]
+ * ext/objspace/objspace.c (total_i): no need to skip singleton classes.
-Tue Aug 17 01:36:32 2004 Dave Thomas <dave@pragprog.com>
+Wed Jul 22 06:37:54 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/usage.rb: Remove extra indent. Tidy 'ri' option
- parsing so RDoc::usage plays better with OptionParser.
+ * vm_core.h: constify rb_call_info_t::kw_arg,
+ rb_control_frame_t::iseq and rb_control_frame_t::block_iseq.
-Sat Aug 14 13:09:10 2004 Minero Aoki <aamine@loveruby.net>
+ * iseq.c (iseq_free): catch up this fix.
- * lib/fileutils.rb: backport from CVS HEAD (rev1.44).
+ * vm.c: ditto.
- * lib/fileutils.rb: cp_r should copy symlink itself, except cp_r
- root.
+ * vm_dump.c: ditto.
- * lib/fileutils.rb: new option mv :force.
+Wed Jul 22 06:25:45 2015 Koichi Sasada <ko1@atdot.net>
- * lib/fileutils.rb: new module FileUtils::DryRun.
+ * vm_core.h: constify rb_call_info_t::blockiseq and rb_block_t::iseq.
-Sat Aug 14 02:48:16 2004 Dave Thomas <dave@pragprog.com>
+ * vm.c, vm_insnhelper.c: catch up this fix.
- * lib/rdoc/usage.rb: Added. Allows command line programs
- to report usage using their initial RDoc comment.
+ * iseq.c (iseq_data_to_ary): constify the first iseq parameter.
-Fri Aug 13 13:23:17 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * vm_insnhelper.c (vm_make_proc_with_iseq): ditto.
- * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_range_header):
- fix regex for range-spec.
+Wed Jul 22 06:17:35 2015 Koichi Sasada <ko1@atdot.net>
- * lib/webrick/httpservlet/filehandler.rb
- (WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content):
- multipart/byteranges response was broken.
+ * method.h: constify rb_method_iseq_t::iseqptr.
- * lib/webrick/httpservlet/erbhandler.rb
- (WEBrick::HTTPServlet::ERBHandler#do_GET): should select media type
- by suffix of script filename.
+ * proc.c (rb_method_entry_min_max_arity): catch up this fix.
- * lib/xmlrpc/server.rb: refine example code.
+ * vm_insnhelper.c (def_iseq_ptr): constify.
-Wed Aug 11 17:17:50 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Wed Jul 22 03:37:39 2015 Koichi Sasada <ko1@atdot.net>
- * configure.in (RPATHFLAG): stop setting RPATHFLAG on Interix.
+ * gc.c (internal_object_p): Now a singleton classes appear by
+ ObjectSpace.each_object. [Bug #11360]
-Sun Aug 8 00:43:31 2004 why the lucky stiff <why@ruby-lang.org>
+ * test/ruby/test_objectspace.rb: add a test about it.
- * lib/implicit.c: added sexagecimal float#base60.
+Tue Jul 21 21:21:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/syck/rubyext.c (yaml_org_handler): ditto.
+ * thread.c (do_select): replace switch and goto with a loop to
+ suppress maybe-uninitialized warnings by gcc6.
- * lib/token.c: indentation absolutely ignored when processing flow
- collections. plain scalars are trimmed if indentation follows in
- an ambiguous flow collection.
+ * thread.c (set_unblock_function, rb_wait_for_single_fd): ditto.
-Sat Aug 7 00:50:01 2004 Tanaka Akira <akr@m17n.org>
+Tue Jul 21 20:32:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/zlib/zlib.c: Zlib::GzipReader#read(0) returns "" instead of nil.
+ * test/ruby/test_range.rb: Add test for Range#hash
+ [fix GH-969] Patch by @yui-knk
-Tue Aug 3 13:49:20 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Jul 21 19:43:20 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk/namespace.rb: bug fix
+ * compile.c: constify the first parameter (iseq).
+ * iseq_add_mark_object()
+ * iseq_add_mark_object_compile_time()
- * ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: add Tk::TreeCtrl.loupe
+ * iseq.c, iseq.h (rb_iseq_add_mark_object): ditto.
-Mon Aug 2 18:04:21 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Jul 21 16:18:48 2015 Eric Wong <e@80x24.org>
- * 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.)
+ * test/socket/test_nonblock.rb: increase buffer sizes
+ to OpenBSD limits. Thanks to Jeremy Evans <code@jeremyevans.net>
+ [ruby-core:70058]
-Mon Aug 2 11:53:06 2004 Dave Thomas <dave@pragprog.com>
+Tue Jul 21 16:08:53 2015 Eric Wong <e@80x24.org>
- * lib/rdoc/code_objects.rb (RDoc::Context::find_symbol): Fix infinite recursion
- looking up some top level symbols (batsman)
+ * load.c (ruby_dln_librefs): make static
-Mon Aug 2 11:48:29 2004 Dave Thomas <dave@pragprog.com>
+Tue Jul 21 13:36:54 2015 yuuji.yaginuma <yuuji.yaginuma@gmail.com>
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Allow '.'s in
- variable names to support SWIG generated files (Hans Fugal)
+ * lib/optparse.rb (complete): [DOC] fix typo. [Fix GH-973]
-Sat Jul 31 17:40:16 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jul 21 05:20:21 2015 Eric Wong <e@80x24.org>
- * 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.
+ * io.c (nogvl_wait_for_single_fd): new function for Linux
+ (maygvl_copy_stream_wait_read): Linux-specific version
+ (nogvl_copy_stream_wait_write): use nogvl_wait_for_single_fd
+ [ruby-core:70051] [Feature #11377]
-Sat Jul 31 05:47:37 2004 why the lucky stiff <why@ruby-lang.org>
+Mon Jul 20 15:04:30 2015 Eric Wong <e@80x24.org>
- * lib/yaml.rb (YAML::load_file, YAML::parse_file): added.
+ * parse.y (parser_initialize): avoid redundant zero-ing
- * lib/yaml/rubytypes.rb: exceptions were using an older
- YAML.object_maker. [ruby-core:03080]
+Mon Jul 20 12:12:05 2015 Eric Wong <e@80x24.org>
- * 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.
+ * parse.y (struct parser_params): pack: 88 => 256 bytes on 64-bit
+ [ruby-core:70034] [Feature #11371]
- * ext/syck/token.c: re2c compiled with bit vectors now.
- * ext/syck/implicit.c: ditto.
- * ext/syck/bytecode.c: ditto.
+Sun Jul 19 14:29:18 2015 windwiny <windwiny.ubt@gmail.com>
-Fri Jul 30 16:10:54 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/pty/pty.c: [DOC] fix example typo, an old name at move from
+ PTY.open. [Fix GH-972]
- * ext/tcltklib/tcltklib.c (lib_fromUTF8_core): raise ArgumentError when
- the unknown encoding name is given.
+Sat Jul 18 21:29:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tcltklib/tcltklib.c (lib_toUTF8_core): ditto.
+ * thread.c (vm_check_ints_blocking): gather common statements at
+ the end, and prefer LIKELY for Visual C optimization.
- * ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertfrom): bug fix.
+Sat Jul 18 20:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb (Tk::Encoding.encoding_convertto): ditto.
+ * load.c (rb_load_internal0): do not raise any exceptions but
+ return the result tag state.
-Wed Jul 28 18:59:17 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * load.c (rb_load_protect): reduce nested EXEC_TAGs.
- * lib/cgi.rb (CGI::initialize): remove at_exit code for CGI_PARAMS
- and CGI_COOKIES. they will no longer be used.
+Sat Jul 18 19:52:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Jul 28 01:04:44 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * gc.c (run_finalizer): set and restore safe level here to reduce
+ nested EXEC_TAGs.
- * gc.c (run_final): wrong order of data. [ruby-dev:23984]
+Sat Jul 18 18:45:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jul 27 07:05:04 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * eval.c (ruby_cleanup): error_handle() returns exit status to the
+ system, not internal error state, do not convert the exit status
+ again.
- * eval.c (rb_eval): copy on write for argument local variable
- assignment.
+Sat Jul 18 10:29:03 2015 Eric Wong <e@80x24.org>
- * eval.c (assign): ditto.
+ * test/ruby/test_process.rb: test thread+sigs work after failed exec
- * eval.c (rb_call0): update ruby_frame->argv with the default
- value used for the optional arguments.
+Sat Jul 18 07:20:18 2015 Jeremy Evans <code@jeremyevans.net>
- * object.c (Init_Object): "===" calls rb_obj_equal() directly.
- [ruby-list:39937]
+ * test/socket/test_nonblock: use smaller buffer for sendmsg
+ [ruby-core:70016] [Bug #11364]
-Mon Jul 26 11:22:55 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sat Jul 18 07:04:24 2015 Eric Wong <e@80x24.org>
- * lib/webrick/httputils.rb (WEBrick::HTTPUtils.escape): should
- escape space.
+ * signal.c (trap_handler): cleanup to use RSTRING_GETMEM + memcmp
-Sun Jul 25 11:05:21 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Jul 18 02:53:06 2015 Eric Wong <e@80x24.org>
- * 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]
+ * io.c (argf_read_nonblock): support `exception: false'
+ (io_nonblock_eof): new function
+ (io_read_nonblock): use io_nonblock_eof
+ (argf_getpartial): accept kwargs hash for `exception: false'
+ * test/ruby/test_argf.rb (test_read_nonblock): new test
+ * NEWS: add item for ARGF.read_nonblock
+ [ruby-core:70000] [Feature #11358]
-Sat Jul 24 13:32:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jul 17 23:51:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * range.c (rb_range_beg_len): returns Qnil only when "beg" points
- outside of a range. No boundary check for "end".
+ * vm_eval.c (rb_eval_cmd): $SAFE=4 has been deprecated.
-Fri Jul 23 16:40:25 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jul 17 22:18:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (define_final): should not disclose NODE* to Ruby world.
- [ruby-dev:23957]
+ * compile.c (iseq_compile_each): use enum ruby_tag_type names.
-Fri Jul 23 09:03:16 2004 Shugo Maeda <shugo@ruby-lang.org>
+ * vm_core.h (ruby_tag_type): move from eval_intern.h for compiling
+ break/next/redo/return.
- * lib/net/imap.rb (disconnected?): new method. (backported from HEAD)
+Fri Jul 17 15:39:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jul 22 16:41:54 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * include/ruby/encoding.h (ENC_CODERANGE_CLEAN_P): predicate that
+ tells if the coderange is clean, that is 7bit or valid, and no
+ needs to scrub.
- * lib/cgi/session.rb (CGI::Session::FileStore#update): sets the
- permission of the session data file to 0600.
+ * re.c (rb_reg_expr_str): use ENC_CODERANGE_CLEAN_P.
- * lib/cgi/session/pstore.rb (CGI::Session::Pstore#initialize):
+ * string.c (enc_strlen, rb_enc_cr_str_buf_cat, rb_str_scrub):
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.
-
-Fri Jul 9 19:26:39 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/open-uri.rb (URI::HTTPS#proxy_open): raise ArgumentError to
- notice https is not supported.
-
-Fri Jul 9 14:28:54 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_thread_raise): accept third argument as well as
- Kernel#raise, and evaluate the arguments to create an exception in
- the caller's context. [ruby-talk:105507]
-
-Fri Jul 9 01:47:08 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib : bug fix
- * ext/tk/lib/tkextlib/itcl : add [incr Tcl] support
- * ext/tk/lib/tkextlib/itk : add [incr Tk] support
- * ext/tk/lib/tkextlib/iwidgets : midway point of [incr Widgets] support
- * ext/tk/sample/tkextlib/iwidgets : very simple examples of
- [incr Widgets]
-
-Thu Jul 8 22:52:19 2004 Kouhei Sutou <kou@cozmixng.org>
-
- * lib/rss/{rss,parser,0.9,1.0,2.0}.rb: supported RSS 0.9x/2.0
- validation and validation which disregard order of elements.
- * test/rss/test_parser.rb: added tests for RSS 0.9x/2.0
- validation.
- * test/rss/{test_trackback,rss-testcase}.rb: fixed no good method
- name.
-
-Thu Jul 8 00:05:23 2004 akira yamada <akira@ruby-lang.org>
-
- * lib/tempfile.rb (Tempfile::initialize): got out code of
- generating tmpname. [ruby-dev:23832][ruby-dev:23837]
-
-Wed Jul 7 15:53:14 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * string.c (rb_str_match): raise TypeError when both arguments are
- strings. [ruby-dev:22869] (backported from HEAD)
-
- * string.c (rb_str_match2): removed.
-
- * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,
- wince/Makefile.sub (string.c): now not depend on version.h.
-
-Wed Jul 7 00:48:34 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * ext/tk/lib/tkextlib/tktrans.rb,
- ext/tk/lib/tkextlib/treectrl.rb: fix syntax errors.
-
-Tue Jul 6 18:38:45 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib : improve framework of developping Tcl/Tk extension
- wrappers
-
-Mon Jul 5 23:56:42 2004 Kouhei Sutou <kou@cozmixng.org>
-
- * lib/rss/{trackback,syndication,dublincore,content}.rb: worked
- with ruby 1.6 again.
-
- * test/rss/rss-assertions.rb: ditto.
-
-Mon Jul 5 22:54:39 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/uri/common.rb (Kernel#URI): new global method for parsing URIs.
-
-Mon Jul 5 09:02:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_thread_yield, rb_f_catch): 4th argument to rb_yield_0()
- is a set of bit flags. [ruby-dev:23859]
-
-Mon Jul 5 01:27:32 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * lib/drb/drb.rb(DRbConn self.open): If socket pool is full, close
- the socket whose last-access-time is oldest. (and add new one)
- [ruby-dev:23860]
-
-Sun Jul 4 12:24:50 2004 Kouhei Sutou <kou@cozmixng.org>
-
- * lib/rss/rss.rb: added copyright header.
-
-Sun Jul 4 00:24:40 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * added files
- * lib/soap/attachment.rb
- * lib/soap/header
- * lib/soap/mimemessage.rb
- * lib/soap/rpc/httpserver.rb
- * lib/wsdl/soap/cgiStubCreator.rb
- * lib/wsdl/soap/classDefCreator.rb
- * lib/wsdl/soap/classDefCreatorSupport.rb
- * lib/wsdl/soap/clientSkeltonCreator.rb
- * lib/wsdl/soap/driverCreator.rb
- * lib/wsdl/soap/mappingRegistryCreator.rb
- * lib/wsdl/soap/methodDefCreator.rb
- * lib/wsdl/soap/servantSkeltonCreator.rb
- * lib/wsdl/soap/standaloneServerStubCreator.rb
- * lib/wsdl/xmlSchema/enumeration.rb
- * lib/wsdl/xmlSchema/simpleRestriction.rb
- * lib/wsdl/xmlSchema/simpleType.rb
- * lib/xsd/codegen
- * lib/xsd/codegen.rb
- * sample/soap/authheader
- * sample/soap/raa2.4
- * sample/soap/ssl
- * sample/soap/swa
- * sample/soap/whois.rb
- * sample/soap/calc/samplehttpd.conf
- * sample/soap/exchange/samplehttpd.conf
- * sample/soap/sampleStruct/samplehttpd.conf
- * sample/wsdl/raa2.4
- * sample/wsdl/googleSearch/samplehttpd.conf
- * test/openssl/_test_ssl.rb
- * test/soap/header
- * test/soap/ssl
- * test/soap/struct
- * test/soap/swa
- * test/soap/wsdlDriver
- * test/wsdl/multiplefault.wsdl
- * test/wsdl/simpletype
- * test/wsdl/test_multiplefault.rb
-
- * modified files
- * lib/soap/baseData.rb
- * lib/soap/element.rb
- * lib/soap/generator.rb
- * lib/soap/marshal.rb
- * lib/soap/netHttpClient.rb
- * lib/soap/parser.rb
- * lib/soap/processor.rb
- * lib/soap/property.rb
- * lib/soap/soap.rb
- * lib/soap/streamHandler.rb
- * lib/soap/wsdlDriver.rb
- * lib/soap/encodingstyle/handler.rb
- * lib/soap/encodingstyle/literalHandler.rb
- * lib/soap/encodingstyle/soapHandler.rb
- * lib/soap/mapping/factory.rb
- * lib/soap/mapping/mapping.rb
- * lib/soap/mapping/registry.rb
- * lib/soap/mapping/rubytypeFactory.rb
- * lib/soap/mapping/wsdlRegistry.rb
- * lib/soap/rpc/cgistub.rb
- * lib/soap/rpc/driver.rb
- * lib/soap/rpc/element.rb
- * lib/soap/rpc/proxy.rb
- * lib/soap/rpc/router.rb
- * lib/soap/rpc/soaplet.rb
- * lib/soap/rpc/standaloneServer.rb
- * lib/wsdl/data.rb
- * lib/wsdl/definitions.rb
- * lib/wsdl/operation.rb
- * lib/wsdl/parser.rb
- * lib/wsdl/soap/definitions.rb
- * lib/wsdl/xmlSchema/complexContent.rb
- * lib/wsdl/xmlSchema/complexType.rb
- * lib/wsdl/xmlSchema/data.rb
- * lib/wsdl/xmlSchema/parser.rb
- * lib/wsdl/xmlSchema/schema.rb
- * lib/xsd/datatypes.rb
- * lib/xsd/qname.rb
- * sample/soap/calc/httpd.rb
- * sample/soap/exchange/httpd.rb
- * sample/soap/sampleStruct/httpd.rb
- * sample/soap/sampleStruct/server.rb
- * sample/wsdl/amazon/AmazonSearch.rb
- * sample/wsdl/amazon/AmazonSearchDriver.rb
- * sample/wsdl/googleSearch/httpd.rb
- * test/soap/test_basetype.rb
- * test/soap/test_property.rb
- * test/soap/test_streamhandler.rb
- * test/soap/calc/test_calc.rb
- * test/soap/calc/test_calc2.rb
- * test/soap/calc/test_calc_cgi.rb
- * test/soap/helloworld/test_helloworld.rb
- * test/wsdl/test_emptycomplextype.rb
- * test/wsdl/axisArray/test_axisarray.rb
- * test/wsdl/datetime/test_datetime.rb
- * test/wsdl/raa/test_raa.rb
- * test/xsd/test_xmlschemaparser.rb
- * test/xsd/test_xsd.rb
-
- * summary
- * add SOAP Header mustUnderstand support.
-
- * add HTTP client SSL configuration and Cookies support (works
- completely with http-access2).
-
- * add header handler for handling sending/receiving SOAP Header.
-
- * map Ruby's anonymous Struct to common SOAP Struct in SOAP Object
- Model. it caused error.
-
- * add WSDL simpleType support to restrict lexical value space.
-
- * add SOAP with Attachment support.
-
-Sat Jul 3 17:19:44 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * ext/tk/lib/tkextlib/tkDND.rb: fix syntax error.
-
-Thu Jul 1 23:15:29 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/pstore.rb (transaction): safer backup scheme. [ruby-list:39102]
-
- * lib/pstore.rb (commit_new): use FileUtils.copy_stream for Cygwin.
- [ruby-dev:23157]
-
- * lib/pstore.rb (transaction): allow overriding dump and load.
- [ruby-dev:23567]
-
- * lib/pstore.rb (PStore#transaction): get rid of opening in write mode
- when read only transaction. [ruby-dev:23842]
-
- * lib/yaml/store.rb: follow lib/pstore.rb's change.
-
-Thu Jul 1 18:36:08 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tcltklib : bug fix
-
- * ext/tk/lib/tk : bug fix and add Tcl/Tk extension support libraries
-
-Thu Jul 1 11:59:45 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * 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.
-
- * ext/openssl/openssl_missing.c (EVP_CIPHER_CTX_copy): new function.
-
- * 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.
-
- * ext/openssl/ossl_cipher.c (ossl_cipher_encrypt, ossl_cipher_decrypt):
- re-implemnt (the arguments for this method is ).
-
- * ext/openssl/ossl_cipher.c (ossl_cipher_pkcs5_keyivgen): new method
- OpenSSL::Cipher::Cipher#pkcs5_keyivgen. it calls EVP_BytesToKey().
-
- * 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/openssl/ossl_cipher.c (ossl_cipher_set_key_length): new method
- OpenSSL::Cipher::Cipher#key_len=.
-
- * ext/openssl/ossl_cipher.c (ossl_cipher_init_deprecated): new
- finction; print warning for Cipher#<<.
-
- * 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.
-
- * ext/openssl/ossl_digest.c (digest_final): should call
- EVP_MD_CTX_cleanup to avoid memory leak.
-
- * 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.
-
- * ext/openssl/ossl_hmac.c (hmac_final): should call
- HMAC_CTX_cleanup to avoid memory leak.
-
- * test/openssl/test_cipher.rb, test/openssl/test_digest.rb,
- test/openssl/test_hmac.rb: new file.
-
-Thu Jul 1 04:08:30 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_asn1.c (ossl_i2d_ASN1_TYPE, ossl_ASN1_TYPE_free):
- workaround for the versions earlier than OpenSSL-0.9.7.
-
-Thu Jul 1 03:33:55 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize): should create
- empty pkey object if no argument is passed. [ruby-talk:103328]
-
- * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.
-
- * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): ditto.
-
- * ext/openssl/ossl_pkey_dh.c: add new methods: OpenSSL::PKey::DH#p,
- OpenSSL::PKey::DH#p=, OpenSSL::PKey::DH#g, OpenSSL::PKey::DH#g=,
- OpenSSL::PKey::DH#pub_key, OpenSSL::PKey::DH#pub_key=,
- OpenSSL::PKey::DH#priv_key and OpenSSL::PKey::DH#priv_key=.
-
- * ext/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=.
-
-Thu Jul 1 03:16:09 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_ssl.c (ossl_ssl_read): take optional second argument
- to specify a string to be written.
-
- * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#read):
- take optional second argument to specify a string to be written.
-
- * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#gets):
- refine regexp for end-of-line.
-
- * ext/opnessl/lib/openssl/ssl.rb
- (OpenSSL::SSL::SocketForwarder#listen): fix typo.
-
-Wed Jun 30 11:38:51 2004 Mikael Brockman <phubuh@phubuh.org>
-
- * parse.y (primary): should not be NULL. [ruby-core:03098]
-
-Wed Jun 30 02:53:24 2004 why the lucky stiff <why@ruby-lang.org>
-
- * ext/syck/rubyext.c (syck_emitter_new): set buffer after
- Data_Wrap_Struct to avoid possible GC. [ruby-talk:104835]
-
-Tue Jun 29 10:31:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_eval_cmd, rb_thread_trap_eval): restore safe level.
-
- * gc.c (define_final, run_final): preserve and restore safe level for
- finalizers. [ruby-core:03058]
-
- * signal.c (signal_exec, rb_trap_exit, trap): preserve and restore
- safe level for signal handlers. [ruby-dev:23829]
-
-Mon Jun 28 14:57:56 2004 Jeff Mitchell <quixoticsycophant@yahoo.com>
-
- * configure.in, lib/mkmf.rb (LIBPATHFLAG): use double quotes due to
- DOSISH compilers. [ruby-core:03107]
-
-Mon Jun 28 00:30:19 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * sample/drb/*.rb: using 'DRb.thread.join' instead of 'gets'
-
-Sun Jun 27 22:39:51 2004 Kouhei Sutou <kou@cozmixng.org>
-
- * sample/rss/tdiary_plugin/rss-recent.rb: supported Hiki.
-
-Sun Jun 27 12:19:46 2004 Kouhei Sutou <kou@cozmixng.org>
-
- * {lib,sample,test}/rss: added RSS Parser. [ruby-dev:23780]
-
-Sat Jun 26 11:07:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * configure.in (aix): -b must come at the start of the command line,
- and -e must not appear while testing libraries. [ruby-talk:104501]
-
- * lib/mkmf.rb (dir_config): quote directory names if necessary.
- [ruby-talk:104505]
-
-Fri Jun 25 15:33:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/iconv/extconf.rb: check stricter. [ruby-talk:104501]
-
- * ext/iconv/extconf.rb: include iconv.h for libiconv. [ruby-dev:22715]
-
-Fri Jun 25 08:31:29 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (rb_thread_atfork): remove "fork terminates thread"
- warning. [ruby-dev:23768]
-
- * object.c (rb_obj_clone): backport FL_FINALIZE patch from 1.9.
- [ruby-core:02786][ruby-core:03067]
-
- * ext/socket/socket.c (sock_sockaddr): Socket#gethostbyname()
- should give us packed address, not struct sockaddr.
- [ruby-core:03053]
-
-Fri Jun 25 02:04:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * {bcc32,win32,wince}/setup.mak: remove RUBY_EXTERN lines when
- including version.h. [ruby-talk:104456] (backported from HEAD)
-
-Thu Jun 24 14:23:29 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * io.c (rb_io_fread): return already read data when system call is
- interrupted. [ruby-talk:97206]
-
-Thu Jun 24 01:32:43 2004 Shugo Maeda <shugo@ruby-lang.org>
-
- * version.h: added declarations of ruby_version,
- ruby_release_date, ruby_platform.
- (backported from HEAD)
-
-Wed Jun 23 22:23:37 2004 Dave Thomas <dave@pragprog.com>
-
- * ext/socket/socket.c (sock_s_gethostbyaddr): Work around problem
- with OS X not returning 'from' parameter to recvfrom for
- connection-oriented sockets.
-
-Wed Jun 23 01:45:27 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_quotation):
- Fix problem with the 'r' being dropped from %r{xxx}
-
-Wed Jun 23 00:20:20 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * ext/win32ole/win32ole.c (ole_hresult2msg): remove trailing
- CRs and LFs. (doesn't depend on CR+LF) [ruby-dev:23749]
-
-Wed Jun 23 00:00:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * io.c (rb_io_initialize): should check fcntl result. [ruby-dev:23742]
-
-Tue Jun 22 21:11:36 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-
- * ext/win32ole/win32ole.c (OLE_FREE): should not call CoFreeUnuse-
- dLibraries().
-
- * ext/win32ole/win32ole.c (ole_event_free): ditto.
-
- * ext/win32ole/win32ole.c (ole_hresult2msg): truncate error message
- before CR.
-
-Tue Jun 22 16:47:42 2004 Shugo Maeda <shugo@ruby-lang.org>
-
- * lib/net/ftp.rb (MDTM_REGEXP): fix for demon's ftp server.
- Thanks, Rutger Nijlunsing.
+ * string.c (rb_str_enumerate_chars): ditto, and suppress a warning
+ by gcc6.
-Mon Jun 21 10:19:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Jul 17 15:36:52 2015 yui-knk <spiketeika@gmail.com>
- * win32/win32.c (rb_w32_opendir): use FindFirstFile()/FindNextFile()/
- FindClose() instead of _findfirst()/_findnext()/_findclose().
- merge from HEAD.
+ * test/ruby/test_range.rb (test_first_last): Add test for
+ `Range.new`. [Fix GH-971]
-Sat Jun 19 13:24:15 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 17 15:36:40 2015 yui-knk <spiketeika@gmail.com>
- * eval.c (method_call): allow changing $SAFE. [ruby-dev:23713]
+ * test/ruby/test_range.rb (test_first_last): Add assertions to
+ test of `Range#last` with exclude_end true case. [Fix GH-970]
-Fri Jun 18 23:12:22 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 17 09:59:14 2015 Eric Wong <e@80x24.org>
- * eval.c (proc_save_safe_level, rb_set_safe_level, safe_setter): limit
- safe level.
+ * thread.c (rb_thread_alone): simplify
-Wed Jun 16 23:05:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jul 17 09:58:32 2015 Eric Wong <e@80x24.org>
- * object.c (rb_mod_freeze): prepare string representation before
- freezing. [ruby-talk:103646]
+ * lib/rinda/tuplespace.rb: remove enumerator require
+ * test/pathname/test_pathname.rb: ditto
-Wed Jun 16 16:04:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jul 17 05:33:58 2015 Eric Wong <e@80x24.org>
- * object.c (rb_mod_le): singleton class inherits Class rather than its
- object's class. [ruby-dev:23690]
+ * iseq.c (rb_iseq_compile_with_option): reuse result of previous
+ GET_THREAD() call
+ * thread.c (thread_create_core): ditto
+ (rb_mutex_trylock): ditto
+ (rb_mutex_lock): ditto
+ * process.c (rb_waitpid): avoid multiple eval from RUBY_VM_CHECK_INTS
+ * thread.c (rb_thread_check_ints): ditto
-Wed Jun 16 16:01:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jul 16 19:12:30 2015 Eric Wong <e@80x24.org>
- * gc.c (stack_grow_direction): memoize the direction.
+ * thread.c (mutex_alloc): remove needless volatile
- * gc.c (Init_stack): should always move to end of VALUE.
+Thu Jul 16 22:05:29 2015 Koichi Sasada <ko1@atdot.net>
-Tue Jun 15 12:10:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_core.h: constify rb_iseq_t::parent_iseq.
- * ext/tk/lib/tk.rb: bug fix (TkWindow#grab)
+ rb_iseq_t::local_iseq is not constant data because
+ local_iseq::flip_cnt can be modified (commented).
-Mon Jun 14 18:23:27 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * compile.c: catch up this fix.
- * ext/tk/lib/remote-tk.rb: bug fix
+ * iseq.c: ditto.
-Sun Jun 13 00:23:04 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_insnhelper.c: ditto.
- * ext/tcltklib/extconf.rb: [EXPERIMENTAL] MacOS X (darwin) support
+Thu Jul 16 21:47:47 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/tcltklib/tcltklib.c: fix thread trouble on callback proc, and
- eliminate warning about instance variable access
+ * process.c (redirect_dup2): when the new FD of dup2() conflicts
+ with one of the timer thread FDs, the internal FD is diverted.
+ [Bug #11336] [ruby-core:69886] [Bug #11350] [ruby-core:69961]
- * ext/tk/lib/tk/menubar.rb: improve supported menu_spec
+ * process.c (dup2_with_divert): new function for the above purpose.
- * ext/tk/lib/tk/menuspec.rb: [add] menu_spec support library
+ * thread_pthread.c (rb_divert_reserved_fd): new function for
+ diverting reserved FD. If the given FD is the same as one of the
+ reserved FDs, the reserved FD number is internally changed.
+ It returns -1 when error. Otherwise, returns 0. It also returns
+ 0 if there is no need to change reserved FD number.
- * ext/tk/lib/tk/root.rb: add menu_spec support
+ * thread_win32.c (rb_divert_reserved_fd): always returns 0 because
+ of no reserved FDs.
- * ext/tk/lib/tk/text.rb: bug fix
+ * internal.h (rb_divert_reserved_fd): prototype declaration.
+ It is Ruby internal use only.
- * ext/tk/lib/tk/toplevel.rb: add menu_spec support
+Thu Jul 16 21:47:46 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/sample/menubar?.rb: [add] sample of menu_spec usage
+ * iseq.c (rb_iseq_disasm): rename rb_iseq_t *iseqdat to iseq
+ and VALUE *iseq to code.
-Sat Jun 12 11:15:53 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * iseq.c (rb_iseq_disasm_insn): ditto.
- * configure.in (target_os): strip -gnu suffix on Linux.
+Thu Jul 16 14:34:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jun 11 17:08:21 2004 Akinori MUSHA <knu@iDaemons.org>
+ * vm.c (REWIND_CFP): keep the arguments region inside the valid
+ value stack. [ruby-core:69969] [Bug #11352]
- * config.guess: Restore a wrongly removed hyphen.
+Thu Jul 16 11:38:21 2015 Eric Wong <e@80x24.org>
-Fri Jun 11 14:30:08 2004 Akinori MUSHA <knu@iDaemons.org>
+ * process.c (close_unless_reserved): declare type of `fd' arg
- * config.guess: Attempt to avoid system name change on
- Darwin platforms also.
+Thu Jul 16 08:47:29 2015 Eric Wong <e@80x24.org>
-Fri Jun 11 14:22:45 2004 Akinori MUSHA <knu@iDaemons.org>
+ * load.c (rb_construct_expanded_load_path): fstring expanded path
+ (get_loaded_features_index): fstring feature path
+ (rb_provide_feature): ditto
+ [ruby-core:69871] [Feature #11331]
- * 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.
+Thu Jul 16 02:56:14 2015 Eric Wong <e@80x24.org>
-Thu Jun 10 19:19:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * thread.c (thread_initialize): avoid RSTRING_PTR and NUMT2INT
- * ext/sdbm/init.c (fsdbm_store): sdbm should use StringValue().
- [ruby-talk:103062]
+Thu Jul 16 01:00:46 2015 Naohisa Goto <ngotogenome@gmail.com>
-Wed Jun 9 18:04:14 2004 akira yamada <akira@ruby-lang.org>
+ * test/ruby/test_process.rb (test_exec_close_reserved_fd): test for
+ [Bug #11353]
- * lib/uri/generic.rb (URI::Generic::merge,
- URI::Generic::route_from): accepts non-hierarchical URI.
- [ruby-dev:23631]
+Thu Jul 16 00:35:42 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * test/uri/test_generic.rb (TestGeneric::test_route,
- TestGeneric::test_merge): added tests for above changes.
+ * .gitignore: ignore version.i.
-Wed Jun 9 17:39:37 2004 Akinori MUSHA <knu@iDaemons.org>
+Wed Jul 15 23:40:32 2015 Naohisa Goto <ngotogenome@gmail.com>
- * config.guess, config.sub: Update to a more recent version as of
- 2004-01-20.
+ * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):
+ use RUBY (= EnvUtil.rubybin)
- * configure.in: Add support for DragonFly BSD.
+Wed Jul 15 23:01:22 2015 Naohisa Goto <ngotogenome@gmail.com>
-Wed Jun 2 20:16:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * process.c (redirect_close, parent_redirect_close): should not close
+ reserved FD. It should be closed in the exec system call due to the
+ O_CLOEXEC or FD_CLOEXEC flag. [Bug #11353] [ruby-core:69977]
- * string.c (str_new4): should share shared instance if it already
- exists. [ruby-dev:23665]
+ * process.c (close_unless_reserved): new function to close FD unless
+ it is reserved for internal communication.
-Wed Jun 2 12:41:53 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * thread_pthread.c (rb_reserved_fd_p): should check owner_process pid
+ to avoid false positive in forked child process.
- * io.c (rb_io_gets_m): set lastline ($_) even when read line is
- nil. [ruby-dev:23663]
+Wed Jul 15 18:31:18 2015 Eric Wong <e@80x24.org>
-Fri May 28 11:20:31 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * proc.c (proc_mark): remove redundant check
+ * vm.c (env_mark): ditto
- * eval.c (rb_eval): bad influence on frame node.
+Wed Jul 15 17:27:40 2015 Eric Wong <e@80x24.org>
- * eval.c (eval): reverted wrongly removed condition. [ruby-dev:23638]
+ * iseq.c (iseq_mark): remove check for data pointer
+ * proc.c (binding_mark): ditto
+ * vm.c (rb_thread_mark): ditto
+ * vm_trace.c (tp_mark): ditto
-Thu May 27 23:15:18 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Wed Jul 15 16:55:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/logger.rb: leading 0 padding of timestamp usec part.
+ * encoding.c (enc_autoload): drop dummy encoding flag from
+ the loaded encoding index. this flag is used only in this
+ source.
- * 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']]
+Wed Jul 15 14:39:29 2015 Koichi Sasada <ko1@atdot.net>
- * lib/csv.rb: CSV::Row and CSV::Cell are deprecated. these classes
- are removed in the future. in the new csv.rb, row is represented
- as just an Array. since CSV::Row was a subclass of Array, it won't
- hurt almost all programs except one which depended CSV::Row#match.
- and a cell is represented as just a String or nil(NULL). this
- change will cause widespread destruction.
+ * vm.c (vm_make_env_each): add comments about env layout.
+ Do not use `i' to specify `new_ep'.
- 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
-
- must be just;
-
- CSV.open("foo.csv", "r") do |row|
- row.each do |cell|
- if cell.nil?
- p "(NULL)"
- else
- p cell
- end
- end
- end
-
- * 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.
-
- 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".
-
- setting mode properly is user's responsibility now.
-
- * lib/csv.rb: accepts String as a fs (field separator/column separator)
- and rs (record separator/row separator)
-
- * lib/csv.rb (CSV.read, CSV.readlines): added. works as IO.read and
- IO.readlines in CSV format.
-
- * 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?
-
- * test/csv/test_csv.rb: updated.
-
- * test/ruby/test_float.rb: added test_strtod to test Float("0").
-
-Thu May 27 21:37:50 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/pathname.rb (Pathname#initialize): refine pathname initialization
- by pathname.
-
-Thu May 27 20:22:05 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * io.c (rb_io_fwrite): check all case errno != 0 [ruby-dev:23648]
-
-Thu May 27 14:53:13 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * io.c (rb_io_fwrite): workaround for bcc32's fwrite bug.
- add errno checking. [ruby-dev:23627]
-
-Wed May 26 14:19:42 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_eval, eval): make line number consistent on eval with
- Proc. [ruby-talk:101253]
-
-Wed May 26 13:59:17 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::skip_for_variable): Allow for
- 'do' after for statement
-
-Wed May 26 13:56:03 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb (Generators::MarkUp::style_url): Fix
- relative path to code CSS file
-
-Wed May 26 13:14:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * io.c (rb_io_init_copy): copy also positions. [ruby-talk:100910]
-
-Wed May 26 00:00:00 2004 why the lucky stiff <why@ruby-lang.org>
-
- * ext/syck/syck.c (syck_new_parser): clear parser on init.
- thanks, ts. [ruby-core:02931]
-
- * ext/syck/token.c (sycklex_yaml_utf8): buffer underflow.
- thanks, ts. [ruby-core:02929]
-
- * lib/yaml/baseemitter.rb (indent_text): simpler flow block code.
-
- * lib/yaml.rb: added rdoc to beginning of lib.
-
-Mon May 24 10:46:26 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-
- * lib/rdoc/generators/template/html/html.rb: SYSTEM identifiers
- must be absolute URIs
-
-Sat May 22 12:00:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * MANIFEST: add new encodings in rexml.
-
- * ext/tk/MANIFEST: add recent files.
-
-Sat May 22 05:37:11 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/remote-tk.rb: (NEW library) controll Tk interpreters
- on the other processes by Tcl/Tk's 'send' command
-
-Fri May 21 09:22:05 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_parameters):
- Add ()'s around parameters that don't have them
-
-Thu May 20 17:02:03 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/mkmf.rb (check_sizeof): define result size. [ruby-core:02911]
-
- * lib/mkmf.rb (create_header): macro name should not include equal
- sign.
-
-Thu May 20 15:59:50 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * ext/socket/socket.c: fix SEGV. [ruby-dev:23550]
-
-Thu May 20 14:35:52 2004 Tanaka Akira <akr@m17n.org>
-
- * ext/socket/socket.c: check SCM_RIGHTS macro addition to
- the msg_control field to test existence of file descriptor passing
- by msg_control.
-
-Thu May 20 12:38:06 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * numeric.c (flo_eq): always check if operands are NaN.
- [ruby-list:39685]
-
-Thu May 20 12:34:39 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_visibility):
- At Ryan Davis' suggestion, honor visibility modifers if guarded by a
- statement modifier
-
-Thu May 20 12:22:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/mkmf.rb (have_type): do not check pointer to incomplete type,
- which always get compiled. [ruby-list:39683]
-
-Wed May 19 11:09:00 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tk.rb: change permition of TkObject#tk_send from
- private to public
-
-Tue May 18 14:00:46 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * node.h (NEW_DSTR): adjust list length.
-
- * parse.y (literal_concat): ditto.
-
-Mon May 17 16:14:25 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.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]
-
- * 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)
-
-Mon May 17 10:13:33 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * ext/socket/socket.c (setup_domain_and_type): honor duck typing.
- [ruby-dev:23522]
-
- * ext/socket/socket.c (sock_s_getnameinfo): ditto.
-
-Mon May 17 01:15:23 2004 why the lucky stiff <why@ruby-lang.org>
-
- * lib/yaml.rb: removed fallback to pure Ruby parser.
-
- * lib/yaml/baseemitter.rb (indent_text): was forcing a mod value
- of zero at times, which kept some blocks from getting indentation.
-
- * lib/yaml/baseemitter.rb (node_text): rewriting folded scalars.
-
- * ext/syck/syck.h: reports style of scalars now, be they plain, block
- single-, or double-quoted.
-
- * ext/syck/syck.c: ditto.
-
- * ext/syck/gram.c: ditto.
-
- * ext/syck/node.c: ditto.
-
- * ext/syck/token.c: ditto.
-
- * ext/syck/rubyext.c (yaml_org_handler): symbols loaded only
- if scalar style is plain.
-
- * ext/syck/rubyext.c (yaml_org_handler): some empty strings were
- loaded as symbols.
-
- * test/yaml/test_yaml.rb (test_perl_regexp): updated test to
- match new regexp serialization.
-
-Mon May 17 00:03:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/drb/drb.rb: Cosmetic documentation changes.
-
-Sun May 16 22:36:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/test/unit.rb: Removed :nodoc: directive (it prevented effective
- RDoc operation), and added file-level comment.
-
-Sun May 16 20:55:49 2004 Tanaka Akira <akr@m17n.org>
-
- * 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.
-
-Sun May 16 13:10:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/test/unit/**/*.rb: Removed :nodoc: directives (many were
- generating warnings, many were on private methods).
-
-Sat May 15 01:41:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (eval): forgot to restore $SAFE value before evaluating
- compiled node. [ruby-core:02872]
-
-Sat May 15 01:33:12 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * range.c (range_each_func): terminates loop if generating value
- is same to @end. [ruby-talk:100269]
-
-Fri May 14 22:08:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * string.c (rb_str_new4): should not reuse frozen shared string if
- the original is not an instance of String. [ruby-talk:100193]
-
-Fri May 14 18:39:25 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * 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')
-
-Fri May 14 12:11:43 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * util.c (ruby_strtod): strtod("0", &end); => end should point '\0'.
- [ruby-dev:23498]
-
-Thu May 13 15:47:30 2004 akira yamada <akira@ruby-lang.org>
-
- * lib/net/telnet.rb (Net::Telnet::login): "options" can specify
- regexps for login prompt and/or password prompt.
-
-Thu May 13 14:23:45 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * hash.c (delete_if_i): use st_delete_safe() (via
- rb_hash_delete()) instead of returning ST_DELETE.
- backport from HEAD. [ruby-dev:23487]
-
-Thu May 13 13:01:30 2004 akira yamada <akira@ruby-lang.org>
-
- * lib/uri/mailto.rb (URI::MailTo::to_s): should include fragment.
-
-Thu May 13 11:04:08 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * pack.c (pack_pack): always add with null for 'Z'.
-
- * pack.c (pack_unpack): terminated by null for 'Z'. [ruby-talk:98281]
-
-Wed May 12 19:59:43 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/mkmf.rb (have_type, check_sizeof): replace unusable characters.
- [ruby-talk:99788]
-
-Wed May 12 17:41:42 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/resolv.rb (Resolv::DNS::Config): make it configurable without
- external file such as /etc/resolv.conf.
-
-Wed May 12 14:37:27 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_x509name.c: attribute value of DC (short name of
- domainComponent) should be IA5String.
-
-Wed May 12 13:20:19 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/lib/tk/composite.rb: improve configure methods (based on
- the proposal of [ruby-talk:99671]).
-
-Wed May 12 11:51:08 2004 Dave Thomas <dave@pragprog.com>
-
- * class.c (rb_obj_singleton_methods): fix rdoc
-
-Mon May 10 21:44:42 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb: Change scheme for
- looking up symbols in HTML generator.
-
-Mon May 10 16:45:21 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (eval): warning during eval should not cause deadlock.
- [ruby-talk:98651]
-
- * eval.c (rb_eval): raise TypeError exception for superclass
- mismatch. [ruby-list:39567]
-
-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.
-
-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.
-
-Sun May 9 22:37:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * 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
-
-Fri May 7 21:50:21 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_rb.rb (RDoc::parse_include): Allow
- multiple arguments to 'include'
-
-Fri May 7 21:31:56 2004 Minero Aoki <aamine@loveruby.net>
-
- * lib/fileutils.rb (fu_list): Array() breaks pathes including "\n".
- [ruby-core:02843]
-
-Fri May 7 11:25:53 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * 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]
-
-Fri May 7 10:00:05 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]
-
-Thu May 6 22:13:17 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * ext/socket/socket.c (ippaddr): use NUMERICHOST if can not resolve
- hostname.
-
-Thu May 6 14:22:29 2004 why the lucky stiff <why@ruby-lang.org>
-
- * lib/yaml/rubytypes.rb (to_yaml): added instance variable handling
- for Ranges, Strings, Structs, Regexps.
-
- * lib/yaml/rubytypes.rb (to_yaml_fold): new method for setting a
- String's flow style.
-
- * lib/yaml.rb (YAML::object_maker): now uses Object.allocate.
-
- * ext/syck/gram.c: fixed transfer methods on structs, broke it
- last commit.
-
-Thu May 6 11:40:28 2004 Shugo Maeda <shugo@ruby-lang.org>
-
- * lib/net/imap.rb (string): accept NIL.
-
- * lib/net/imap.rb (body_type_basic): allow body-fields omissions.
-
-Thu May 6 01:59:04 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb (Generators::HtmlMethod::params):
- Don't include the &block parameter if we have explicit
- yield parameters.
-
-Wed May 5 03:40:29 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/rinda/ring.rb: use recv instead of recvfrom.
-
-Tue May 4 23:52:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/gserver.rb: documented
-
-Tue May 4 23:46:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/xmlrpc/README.txt: introduced for documentation purposes
-
-Mon May 3 09:47:24 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):
- Fix parsing bug if yield called within 1 line block
-
-Sun May 2 01:04:38 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
-
- * ext/tcltklib, ext/tk: renewal Ruby/Tk
-
-Fri Apr 30 20:08:41 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * time.c (SIZEOF_TIME_T): support SIZEOF_TIME_T == SIZEOF_INT.
-
-Tue Apr 27 13:12:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * eval.c (rb_eval): too many line trace call. (ruby-bugs PR#1320)
-
-Tue Apr 27 08:41:28 2004 why the lucky stiff <why@ruby-lang.org>
-
- * lib/yaml/rubytypes.rb: passing Range tests.
-
- * ext/syck/syck.h: version 0.44.
-
- * ext/syck/gram.c: transfers no longer open an indentation.
- fixed transfers which precede blocks.
-
- * ext/syck/token.c: ditto.
-
- * ext/syck/syck.c: fixed segfault if an anchor has been released already.
-
- * ext/syck/node.c (syck_free_members): organized order of free'd nodes.
-
- * ext/syck/rubyext.c (syck_emitter_write_m): test for proper string with
- StringValue.
-
-Mon Apr 26 23:56:54 2004 Daniel Kelley <news-1082945587@dkelley.gmp.san-jose.ca.us>
-
- * README.EXT, README.EXT.ja: fixed wrong function signature.
- [ruby-talk:98349]
-
-Mon Apr 26 21:40:09 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/code_objects.rb (RDoc::Context::add_alias): Only alias
- to instance methods.
-
-Sat Apr 24 10:38:31 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::group_lines):
- Fix bug where consecutive headings are merged.
-
-Fri Apr 23 23:26:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/mkmf.rb: $hdrdir should not contain macros for backward
- compatibility. [bruby-dev:28]
-
- * version.c (ruby_show_copyright): obtain copyright year from
- RUBY_RELEASE_YEAR.
-
- * win32/resource.rb: ditto.
-
- * win32/resource.rb: default rubyw icon to ruby.ico, and let DLL also
- include them.
-
- * win32/resource.rb: include winver.h for older WindowsCE.
-
-Fri Apr 23 16:38:46 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/pathname.rb: sync taint/freeze flag between
- a pathname object and its internal string object.
-
-Fri Apr 23 14:52:08 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * parse.y (stmt, arg, aref_args): should not make sole splat into
- array, in aref_args other than aref with op_asgn.
-
-Fri Apr 23 14:14:38 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/resolv.rb: don't use Regexp#source to embed regexps.
- [ruby-dev:23432]
-
-Thu Apr 22 04:15:36 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * parse.y (aref_args): should pass expanded list. [ruby-core:02793]
-
-Thu Apr 22 01:12:57 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * numeric.c (flo_to_s): tweak output string based to preserve
- decimal point and to remove trailing zeros. [ruby-talk:97891]
-
- * string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM
- search. [ruby-talk:97342]
-
-Wed Apr 21 22:57:27 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/rinda/rinda.rb, test/rinda/test_rinda.rb: check Hash tuple size.
-
-Wed Apr 21 20:05:00 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/open-uri.rb (URI::HTTP#proxy_open): set Host: field explicitly.
- [ruby-list:39542]
-
-Mon Apr 19 18:11:15 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * hash.c (rb_hash_equal): returns true if two hashes have same set
- of key-value set. [ruby-talk:97559]
-
- * hash.c (rb_hash_eql): returns true if two hashes are equal and
- have same default values.
-
-Mon Apr 19 08:19:58 2004 Doug Kearns <djkea2@mugca.its.monash.edu.au>
-
- * 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 Apr 19 08:14:18 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_body): Allow for
- #ifdef HAVE_PROTOTYPES
-
-Fri Apr 16 22:33:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * ext/iconv/iconv.c: nearly finished RDoc comments.
-
-Fri Apr 16 17:04:07 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * string.c (rb_str_equal): always returns true or false, never
- returns nil. [ruby-dev:23404]
-
-Fri Apr 16 08:27:02 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ext/extmk.rb: skip linking when libraries to be preloaded not
- compiled. [ruby-list:39561]
-
-Thu Apr 15 23:21:52 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * process.c (pst_success_p): new method Process::Status#success?.
- [ruby-dev:23385]
-
-Thu Apr 15 17:12:13 2004 Tanaka Akira <akr@m17n.org>
-
- * ext/gdbm/gdbm.c (Init_gdbm): define GDBM::READER, GDBM::WRITER,
- GDBM::WRCREAT and GDBM::NEWDB.
- (fgdbm_initialize): use specified read/write flag.
-
-Wed Apr 14 11:29:56 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * numeric.c (flo_eq): workaround for bcc32's bug.
- (ruby-bugs-ja:PR#594)
-
-Wed Apr 14 13:06:35 2004 Doug Kearns <djkea2@mugca.its.monash.edu.au>
-
- * 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]
-
-Wed Apr 14 11:06:38 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::scan): Changed
- behavior of :enddoc: -- it now unconditionally terminates
- processing of the current file.
-
-Wed Apr 14 11:03:22 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * defines.h: include <net/socket.h> to get fd_set definition in BeOS.
-
-Tue Apr 13 23:06:30 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/rinda/rinda.rb: change pattern matching.
- a === b -> a == b || a === b. [druby-ja:98]
-
- * test/rinda/test_rinda.rb: ditto.
-
-Tue Apr 13 19:54:29 2004 Minero Aoki <aamine@loveruby.net>
-
- * lib/net/http.rb: should not overwrite HTTP request header.
- [ruby-list:39543]
-
-Tue Apr 13 01:30:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * ext/iconv/iconv.c: RDoc documentation (from RD; nearly finished).
- * ext/iconv/charset_alias.rb: Prevent from RDoc'ing.
-
-Mon Apr 12 19:11:29 2004 Eric Hodel <drbrain@segment7.net>
-
- * gc.c (rb_gc_copy_finalizer): typo. [ruby-core:02774]
-
-Mon Apr 12 18:52:32 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_x509name.c (ossl_x509name_init_i): should return
- a value.
-
-Mon Apr 12 10:43:47 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * dir.c (rb_glob2, rb_glob, rb_globi, push_globs, push_braces,
- rb_push_glob): fix memory leak. (leaked when block was interrupted)
-
-Mon Apr 12 10:27:37 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * bcc32/Makefile.sub: backport SIZEOF_TIME_T definition from 1.9.
-
- * win32/Makefile.sub: ditto.
-
- * wince/Makefile.sub: ditto.
-
-Sun Apr 11 19:12:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * ruby.c (require_libraries): restore source file/line after
- statically linked extensions initialized. [ruby-dev:23357]
-
-Sun Apr 11 10:47:04 2004 Dave Thomas <dave@pragprog.com>
-
- * 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:)
-
-Sat Apr 10 23:51:13 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/code_objects.rb (RDoc::Context::add_to): Implementation of :enddoc:
- made one too many assumptions...
+ * vm.c (rb_proc_create, rb_vm_make_proc_lambda): envval is not used.
-Sat Apr 10 00:00:19 2004 Dave Thomas <dave@pragprog.com>
+Wed Jul 15 08:59:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/markup/simple_markup/inline.rb: Fix problem
- with \_cat_<b>dog</b>
+ * gc.h (RUBY_MARK_UNLESS_NULL): evaluate the argument only once
+ to get rid of inadvertent side effects.
-Wed Apr 7 00:19:50 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Wed Jul 15 02:53:11 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rinda/rinda.rb: fix hash tuple bug.
+ * vm_core.h, vm.c: remove rb_proc_t::envval because we can know it via
+ rb_proc_t::block::ep.
- * lib/rinda/tuplespace.rb: ditto.
+ rb_vm_proc_envval(const rb_proc_t *proc) returns an Env object which
+ the Proc object use.
- * test/rinda/test_rinda.rb
+ * proc.c: catch up this fix.
-Tue Apr 6 18:24:18 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_dump.c (rb_vmdebug_proc_dump_raw): ditto.
- * io.c (rb_io_reopen): should use rb_io_check_io().
+Wed Jul 15 02:27:22 2015 Koichi Sasada <ko1@atdot.net>
-Tue Apr 6 16:46:09 2004 Tanaka Akira <akr@m17n.org>
+ * vm_core.h, vm.c: remove rb_env_t::prev_envval because we can know it
+ via env->ep.
- * configure.in: check the size of time_t.
+ rb_vm_env_prev_envval(env) returns prev_envval via env->ep.
- * time.c (time_add): new function.
- (time_plus): use time_add.
- (time_minus): use time_add.
+ * vm_core.h (rb_vm_env_local_variables): change parameter type
+ from VALUE (T_DATA/env) to `const rb_env_t *' to make same as
+ rb_vm_env_prev_envval().
-Tue Apr 6 13:21:30 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * proc.c: catch up these changes.
- * ext/socket/socket.c (make_hostent): must return value.
+ * vm_dump.c: ditto.
-Tue Apr 6 00:05:30 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * vm.c: rename macros.
- * lib/rinda/rinda.rb: add require 'drb/drb'
+ * ENV_IN_HEAP_P() to VM_EP_IN_HEAP_P() because it uses ep.
+ * ENV_VAL() to VM_ENV_EP_ENVVAL() because it is too short.
-Mon Apr 5 08:18:23 2004 Dave Thomas <dave@pragprog.com>
+Wed Jul 15 01:09:09 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/rdoc.rb: Remove leading ./ from file names so that cross
- references work properly.
+ * vm.c: refactoring Proc/Env related code.
-Sun Apr 4 20:33:42 2004 Minero Aoki <aamine@loveruby.net>
+ * vm_core.h: remove blockprocval field from rb_proc_t and rb_binding_t.
+ Instead of this field, mark given block in Proc at rb_env_t::env.
- * eval.c (Init_load): make $LOADED_FEATURES built-in.
- [ruby-dev:23299]
+ * vm.c (vm_make_env_each): make an Env object with this layout.
+ And also simplify parameters.
- * ruby.c (ruby_prog_init): make $PROGRAM_NAME built-in.
+ * proc.c: catch up this fix.
- * lib/English.rb: remove $LOADED_FEATURES and $PROGRAM_NAME.
+ * vm_core.h: remove rb_env_t::local_size because it is not used.
-Sun Apr 4 14:01:20 2004 Dave Thomas <dave@pragprog.com>
+ * vm_dump.c (rb_vmdebug_env_dump_raw): catch up this fix.
- * lib/rdoc/options.rb (Options::parse): Allow multiple -x options to RDoc.
- Fix bug where files weren't being excluded properly
+ * vm_core.h (rb_vm_make_env_object): remove rb_vm_make_env_object()
+ because it is only referred from vm.c.
-Sat Apr 3 17:11:05 2004 why the lucky stiff <why@ruby-lang.org>
+ * vm_eval.c (eval_string_with_cref): catch up this fix.
- * ext/syck/syck.h: version 0.43.
+Wed Jul 15 00:03:36 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * ext/syck/lib/gram.c: allow root-level inline collections.
- [ruby-talk:94922]
+ * gc.c (__has_feature): move into internal.h.
- * lib/yaml/rubytypes.rb (Symbol#to_yaml): emit symbols as implicits.
- [ruby-talk:94930]
+ * internal.h (__has_feature): ditto.
- * ext/syck/bytecode.c: turn off default implicit typing.
+ * internal.h (__has_extension): new macro.
- * ext/syck/implicit.c: detect base60 integers.
+ * internal.h (STATIC_ASSERT): use _Static_assert with
+ clang. [ruby-core:69931] [Bug #11343]
- * ext/syck/rubyext.c: handle base60, as well as hex and octal
- with commas. implicit typing of ruby symbols.
+Wed Jul 15 00:00:00 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Fri Apr 2 17:27:17 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * random.c (fill_random_bytes_syscall): fix compile error with
+ clang. [ruby-core:69931] [Bug #11343]
- * 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]
+Tue Jul 14 11:22:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Apr 2 15:13:44 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#register):
+ notify the handler thread of new timeout registration.
- * 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]
+ * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize):
+ make sleep intervals adaptive than fixed period intervals.
-Fri Apr 2 14:35:26 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/webrick/server.rb (WEBrick::GenericServer#start): flush
+ shutdown pipe.
- * eval.c (block_pass): should generate unique identifier of the
- pushing block. [ruby-talk:96363]
+ * lib/webrick/server.rb (WEBrick::GenericServer#stop): request the
+ server to stop immediately by sending data via shutdown pipe.
-Fri Apr 2 07:31:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Jul 13 23:58:08 2015 Stefano Tortarolo <stefano.tortarolo@gmail.com>
- * ext/socket/socket.c (make_hostent): fix memory leak, based on
- the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.
+ * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#do_CONNECT):
+ fix typos in debugger statements. [Fix GH-967]
-Thu Apr 1 22:55:33 2004 Dave Thomas <dave@pragprog.com>
+Mon Jul 13 19:11:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/parsers/parse_rb.rb: Allow rdoc comments in
- =begin rdoc/=end
+ * lib/timeout.rb (timeout): warn as deprecated for a long time.
- * lib/rdoc/parsers/parse_rb.rb: Fix problem with comment in
- top-level method being taken as file comment.
+Mon Jul 13 01:37:27 2015 Zachary Scott <zzak@ruby-lang.org>
-Thu Apr 1 22:55:04 2004 Dave Thomas <dave@pragprog.com>
+ * ext/openssl/ossl.c: [DOC] Backport ruby/openssl@dbb3fdb [Bug #11345]
+ Thanks to Tomoya Chiba for the report and help with patch.
- * lib/rdoc/ri/ri_options.rb: Fix undefined variable warning.
+Sun Jul 12 09:20:02 2015 Shota Fukumori <her@sorah.jp>
-Thu Apr 1 19:58:37 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * ext/socket/basicsocket.c: [DOC] typo (Errno::AGAIN -> Errno::EAGAIN)
- * 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.
+ * ext/socket/socket.c: ditto
- * lib/xsd/datatypes.rb: check the smallest positive non-zero
- single-precision float exactly instead of packing with "f".
- [ruby-talk:88822]
+ * ext/socket/tcpserver.c: ditto
- * 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)
+ * ext/socket/udpsocket.c: ditto
-Wed Mar 31 19:06:23 2004 Tanaka Akira <akr@m17n.org>
+ * ext/socket/unixserver.c: ditto
- * time.c (year_leap_p): new function.
- (timegm_noleapsecond): ditto.
- (search_time_t): use timegm_noleapsecond instead of
- mktime for first guess.
+ * io.c: ditto
-Wed Mar 31 12:04:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jul 12 06:42:23 2015 ksss <co000ri@gmail.com>
- * lib/delegate.rb (DelegateClass): define internal methods of the
- result class, but not metaclass of the caller. [ruby-talk:96156]
+ * test/stringio/test_stringio.rb (test_sysread): add a test for
+ StringIO#sysread. [Fix GH-966]
- * intern.h: provide proper prototypes. [ruby-core:02724]
+Sat Jul 11 21:16:34 2015 ksss <co000ri@gmail.com>
- * ruby.h: missing.h is now prerequisite to intern.h.
+ * ext/stringio/stringio.c (Init_stringio): [DOC] Fix an example,
+ StringIO#puts should be set "\n" at last. [Fix GH-965]
-Tue Mar 30 20:25:34 2004 Tanaka Akira <akr@m17n.org>
+Sat Jul 11 12:45:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * time.c (search_time_t): limit guess range by mktime if it is
- available. [ruby-dev:23274]
+ * lib/timeout.rb (Timeout#timeout): remove regexp with wrong line
+ number and fix caller depth.
-Sun Mar 28 14:16:59 2004 Minero Aoki <aamine@loveruby.net>
+Fri Jul 10 22:05:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/pop.rb (auth): failed when account/password include "%".
- [ruby-talk:95933]
+ * 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]
-Sat Mar 27 21:40:41 2004 Tanaka Akira <akr@m17n.org>
+Fri Jul 10 17:41:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/open-uri.rb: permit extra semicolon in content-type field.
+ * dir.c (is_case_sensitive): get attributes by the file descriptor
+ of open directory, instead of using mount point name.
-Sat Mar 27 10:40:48 2004 Tanaka Akira <akr@m17n.org>
+Fri Jul 10 10:46:02 2015 ksss <co000ri@gmail.com>
- * (lib/pp.rb, lib/prettyprint.rb): define seplist in PP::PPMethods
- instead of PrettyPrint.
+ * ext/stringio/stringio.c (writable): remove unnecessary check for
+ deprecated safe level 4. [Fix GH-963]
-Thu Mar 25 23:28:52 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Jul 9 15:07:12 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * time.c (time_overflow_p): backport 1.9 usec overflow function.
- (ruby-bugs PR#1307)
+ * win32/win32.c (waitpid): return immediately if interrupted.
+ reported by <takkanm AT gmail.com> [ruby-dev:49176] [Bug #11340]
-Thu Mar 25 23:15:24 2004 Dave Thomas <dave@pragprog.com>
+Thu Jul 9 13:03:46 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/ri/ri_options.rb (RI::Options::show_version):
- Add --version option
+ * vm_insnhelper.c (vm_search_super_method): use CI_SET_FASTPATH().
-Thu Mar 25 04:16:18 2004 Dave Thomas <dave@pragprog.com>
+Thu Jul 9 11:07:06 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/ri/ri_options.rb (RI::Options): Add the --list-names option,
- which dumps our all known names
+ * vm_core.h: remove rb_call_info_t::klass because
+ rb_callable_method_entry_t has information about defined class.
-Thu Mar 25 03:57:47 2004 Dave Thomas <dave@pragprog.com>
+ * vm_insnhelper.c (vm_search_method): don't set ci->klass because
+ it is removed.
- * lib/rdoc/ri/ri_util.rb (NameDescriptor::initialize): No longer
- allow nested classes to be designated using "."--you must
- now use "::"
+ * vm_insnhelper.c (rb_equal_opt): ditto.
-Thu Mar 25 02:00:18 2004 Dave Thomas <dave@pragprog.com>
+ * vm_insnhelper.c (vm_search_superclass): removed because it is too
+ simple to write code directly.
- * lib/rdoc/generators/template/html/one_page_html.rb (Page):
- Fix to work with C modules.
+ * vm_insnhelper.c (vm_defined): don't use vm_search_superclass().
+ This fix avoid searching current callable `me' twice.
-Wed Mar 24 21:17:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
+ * vm_insnhelper.c (vm_search_super_method): ditto.
- * 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)
+Thu Jul 9 10:03:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Wed Mar 24 18:48:26 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/net/http/responses.rb: Added 308 status to CODE_TO_OBJ list.
+ [fix GH-961] Patch by @billinghamj
- * lib/mkmf.rb ($ruby, $topdir, $hdrdir): should not be affected by
- DESTDIR after installed.
+Thu Jul 9 09:34:14 2015 Koichi Sasada <ko1@atdot.net>
- * lib/mkmf.rb (RUBY): / is not recognized as path separator on
- nmake/bmake. [ruby-list:39388]
+ * vm_core.h (rb_control_frame_t): fix comments (layout index).
- * lib/mkmf.rb (init_mkmf): $INCFLAGS also should be lazy-evaluated.
+Thu Jul 9 09:25:50 2015 Zachary Scott <e@zzak.io>
-Wed Mar 24 12:32:56 2004 Dave Thomas <dave@pragprog.com>
+ * parse.y: Improve duplicate key warning with patch by @andremedeiros
+ [Fix GH-938] https://github.com/ruby/ruby/pull/938 [Bug #11327]
- * 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.
+Wed Jul 8 07:43:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):
- Don't store documentation for singleton classes if we
- don't know the real class.
+ * lib/csv.rb: typo fix [ci skip][fix GH-958] Patch by @henrik
-Wed Mar 24 11:11:26 2004 Dave Thomas <dave@pragprog.com>
+Wed Jul 8 04:42:27 2015 Eric Wong <e@80x24.org>
- * lib/rdoc/generators/html_generator.rb (Generators::HTMLGenerator::load_html_template):
- Allow non-RDoc templates by putting a slash in the template name
+ * 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]
-Mon Mar 22 16:19:57 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Tue Jul 7 18:18:41 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * ruby.1: add -width option to .Bl for old groff.
+ * random.c (fill_random_bytes_syscall): fix compile error.
-Sun Mar 21 21:11:16 2004 Keiju Ishitsuka <keiju@ishitsuka.com>
+Tue Jul 7 16:47:30 2015 Eric Wong <e@80x24.org>
- * lib/shell/*: bug fix for Shell#system(command_line_string).
+ * compile.c (COMPILE_ERROR): reduce GET_THREAD() calls
-Sat Mar 20 20:57:10 2004 David Black <dblack@wobblini.net>
+Tue Jul 7 16:39:04 2015 Eric Wong <e@80x24.org>
- * lib/scanf.rb: Backported 1.9 branch
- modifications/corrections to 1.8 branch
+ * random.c (fill_random_bytes_syscall): return -1 for error
+ * random.c (fill_random_bytes): try urandom on syscall failure
-Sat Mar 20 23:51:03 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Tue Jul 7 15:02:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_require_safe): preserve old ruby_errinfo.
- [ruby-talk:95409]
+ * file.c (rb_str_normalize_ospath): skip invalid byte sequence not
+ to loop infinitely. this case usually does not happen as the
+ input name should come from real file systems.
- * eval.c (rb_f_raise): should not clear backtrace information if
- exception object already have one.
+Tue Jul 7 14:40:08 2015 Koichi Sasada <ko1@atdot.net>
-Sat Mar 20 15:25:36 2004 Dave Thomas <dave@pragprog.com>
+ * vm_backtrace.c: remove debug flag introduced accidentally.
- * lib/rdoc/generators/template/html/html.rb (RDoc::Page): Force
- page background to white.
+Tue Jul 7 12:05:37 2015 Koichi Sasada <ko1@atdot.net>
-Sat Mar 20 09:52:33 2004 Tadayoshi Funaba <tadf@dotrb.org>
+ * cont.c (cont_free): remove mysterious fflush()
+ introduced at r19890, maybe accidentally.
- * lib/date.rb, lib/date/format.rb: _parse() now accepts fractional
- part of second minute that follows a comma or a full stop.
+Tue Jul 7 11:45:14 2015 Koichi Sasada <ko1@atdot.net>
-Fri Mar 19 01:55:57 2004 Mauricio Fernandez <batsman.geo@yahoo.com>
+ * proc.c (rb_method_call): because data->me should be non-NULL,
+ do not check data->me
- * io.c (rb_io_sync): need not to check writable. [ruby-core:02674]
+ * proc.c (method_inspect): ditto.
-Thu Mar 18 21:44:38 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue Jul 7 11:37:25 2015 Koichi Sasada <ko1@atdot.net>
- * lib/drb/drb.rb: backport drb.rb 1.16.
+ * vm_core.h: remove rb_iseq_t::orig because rb_iseq_clone()
+ no longer exists.
-Fri Mar 18 17:49:51 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * iseq.c: don't use rb_iseq_t::orig.
- * struct.c (make_struct): allow const_id for accessor names.
- [ruby-core:04585]
+Tue Jul 07 11:25:57 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_attr): check if attribute name is local_id or
- const_id.
+ * iseq.c, internal.h (rb_iseq_clone): removed because we don't need to
+ clone iseq any more.
-Thu Mar 18 16:22:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * class.c (clone_method): share iseq between cloned methods. All of
+ method dependent information are able to refer from method entry.
- * eval.c (proc_eq): avoid false positive by using scope and
- dyna_vars. no longer use frame.uniq.
+Tue Jul 7 04:42:25 2015 Eric Wong <e@80x24.org>
-Wed Mar 17 14:44:43 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * string.c (Init_String): use rb_str_freeze for String#freeze
+ to resize internal buffer
+ [ruby-core:69870] [Feature #11330]
- * dir.c (range): fix possible "\0" overrun. (in case of "\0-")
+Tue Jul 7 04:12:32 2015 Koichi Sasada <ko1@atdot.net>
-Mon Mar 15 07:39:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm.c (vm_define_method): remove an unused local variable.
- * eval.c (rb_yield_0): should not re-submit TAG_BREAK if this
- yield is not break destination. [ruby-dev:23197]
+Tue Jul 7 03:57:28 2015 Koichi Sasada <ko1@atdot.net>
-Sat Mar 13 14:28:16 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * vm_core.h: remove rb_iseq_t::defined_method_id because it is not
+ needed.
- * test/drb/test_drbssl.rb: rescue LoadError. (Barkport from main
- trunk)
+ * eval.c (frame_func_id): simplify. rb_callable_method_entry_t
+ has enough information.
- * test/drb/test_drbunix.rb: ditto.
+ * eval.c (frame_called_id): ditto.
-Wed Mar 10 22:28:09 2004 Minero Aoki <aamine@loveruby.net>
+ * iseq.c (prepare_iseq_build): catch up this fix.
- * lib/fileutils.rb (remove_dir): should handle symlink correctly.
- This patch is contributed by Christian Loew. [ruby-talk:94635]
- (Backport from main trunk)
+ * proc.c (rb_mod_define_method): ditto.
-Wed Mar 10 16:28:42 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm.c (vm_define_method): ditto.
- * eval.c (return_jump): set return value to the return
- destination. separated from localjump_destination().
+Tue Jul 7 03:47:26 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (break_jump): break innermost loop (or thread or proc).
+ * vm_core.h: remove a useless declaration.
- * eval.c (rb_yield_0): set exit_value for block break.
+Tue Jul 7 03:33:20 2015 Koichi Sasada <ko1@atdot.net>
-Wed Mar 10 15:58:43 2004 Ryan Davis <ryand@zenspider.com>
+ * vm_core.h: remove rb_iseq_t::klass to reduce dynamic data.
- * eval.c (eval): Only print backtrace if generating the backtrace
- doesn't generate an exception. [ruby-core:02621]
+ * internal.h, iseq.c (rb_iseq_klass): remove it because
+ rb_iseq_t::klass is removed.
-Tue Mar 9 13:04:26 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_insnhelper.c (vm_super_outside): do not see cfp->iseq, but
+ check callable method entry on a frame.
+ This fix simplify the logic to search super class.
- * io.c (rb_io_ungetc): raise IOError instead of calling
- rb_sys_fail(). [ruby-talk:23181]
+ * test/ruby/test_method.rb: support super() from Proc.
+ Now, [Bug #4881] and [Bug #3136] was solved.
-Mon Mar 8 19:32:28 2004 akira yamada <akira@ruby-lang.org>
+ * proc.c (rb_mod_define_method): catch up this change.
- * lib/uri/common.rb (URI::REGEXP::PATTERN::HOSTPORT): (?:#{PORT})
- -> (?::#{PORT}). [ruby-dev:23170]
+ * vm.c (vm_define_method): ditto.
-Mon Mar 8 15:31:41 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+ * vm_backtrace.c (rb_profile_frames): now, each `frame' objects
+ are rb_callable_method_entry_t data or iseq VALUEs.
- * dir.c (range): treat incomplete '[' as ordinary character (like
- has_magic does).
+ This fix introduce minor compatibility issue that
+ rb_profile_frame_label() always returns
+ rb_profile_frame_base_label().
- * dir.c (range): Cancel above change. More discussion is needed.
+ * test/-ext-/debug/test_profile_frames.rb: catch up this change.
-Sun Mar 7 22:37:46 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue Jul 7 01:52:14 2015 Koichi Sasada <ko1@atdot.net>
- * test/drb/ut_drb.rb: use 'druby://localhost:0'. [ruby-dev:23078]
+ * cont.c (fiber_init): initialize control frame correctly.
+ This fix does not affect any ordinal execution, but
+ affects debug prints.
- * test/drb/ut_eval.rb: ditto.
+Mon Jul 6 17:59:05 2015 Koichi Sasada <ko1@atdot.net>
- * test/drb/ut_large.rb: ditto.
+ * vm_insnhelper.c (vm_search_super_method): do not skip calling
+ same methods in super.
+ [Bug #3351]
- * test/drb/ut_safe1.rb: ditto.
+ * test/ruby/test_super.rb: fix a test.
- * test/drb/ut_drb_drbssl.rb: use 'drbssl://localhost:0'.
+Mon Jul 6 17:59:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sun Mar 7 16:22:26 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * ext/tk/tcltklib.c: removed deprecated safe level.
- * Makefile.in (lex.c): use $? instead of $<.
+Mon Jul 6 17:16:37 2015 Koichi Sasada <ko1@atdot.net>
-Fri Mar 5 00:54:14 2004 Dave Thomas <dave@pragprog.com>
+ * method.h, proc.c (rb_method_entry_location): make it static
+ and remove prefix `rb_' because it is used only in proc.c.
- * lib/test/unit.rb: MOve RDoc documentation so that you can
- now say 'ri Test::Unit'
+Mon Jul 6 16:42:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Tue Mar 2 12:32:59 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/lib/memory_status.rb: removed redundant path.
- * win32/Makefile.sub, wince/Makefile.sub (config.h): shouldn't check
- defined? NORETURN. [ruby-dev:23100]
+Mon Jul 6 01:18:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Mar 1 12:24:10 2004 Dave Thomas <dave@pragprog.com>
+ * test/lib/test/unit/parallel.rb: make @@project_dir one level
+ upper as this file had moved one level deeper.
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_alias):
- Allow aliases to have parentheses
+Sun Jul 5 23:54:10 2015 mizokami <suzunatsu@yahoo.com>
-Sun Feb 29 23:14:53 2004 Dave Thomas <dave@pragprog.com>
+ * lib/optparse.rb: [DOC] Fix typo.
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_class):
- Handle :nodoc: on singleton classes.
+Sun Jul 5 18:25:37 2015 Eric Wong <e@80x24.org>
-Sat Feb 28 10:58:49 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * gc.c (gc_profile_record_get): fix spelling error in keys
- * MANIFEST: add test_erb.rb
+Sun Jul 5 14:49:01 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * lib/erb.rb, test/erb/test_erb.rb: don't forget filename,
- if both filename and safe_level given. [ruby-dev:23050]
+ * README.md: fix a typo pointed out by raoulvdberge.
+ https://github.com/ruby/ruby/pull/953#commitcomment-11998186
-Fri Feb 27 01:00:09 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Sun Jul 5 12:56:20 2015 Irvi Firqotul Aini <viarc7@gmail.com>
- * lib/drb/drb.rb, test/drb/drbtest.rb: require drb/eq.rb by default
+ * README.md: Added link HowToReport bugs.
-Wed Feb 25 21:16:25 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jul 5 10:51:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * instruby.rb (with_destdir): should return the given argument if no
- DESTDIR is given.
+ * array.c (rb_ary_sort_bang): the original array may not be
+ embedded even if a substitution array is embedded, as it is
+ embedded when the original array is short enough but not
+ embedded. [ruby-dev:49166] [Bug #11332]
- * instruby.rb: use path name expansion of cmd.exe.
+Sun Jul 5 09:31:40 2015 Eric Wong <e@80x24.org>
-Wed Feb 25 09:35:22 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/ruby/test_process.rb: test for fd=3 usability in child
- * error.c (NameError::Message): new class for lazy evaluation of
- message to ensure replaced before marshalling. merge from HEAD.
- (ruby-bugs-ja:PR#588)
+Sat Jul 4 19:43:31 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * eval.c (rb_method_missing): use NameError::Message. merge from
- HEAD. (ruby-bugs-ja:PR#588)
+ * Add test case for empty array and first method with args.
+ Patch by @yui-knk [fix GH-955]
-Tue Feb 24 18:59:37 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+Sat Jul 4 19:39:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * dir.c (glob_helper): '**/' should not match leading period
- unless File::FNM_DOTMATCH is set. (like '*/') [ruby-dev:23014]
+ * Add test for `Enumerable#sort` with block. Patch by @yui-knk
+ [fix GH-954]
-Tue Feb 24 13:22:21 2004 Dave Thomas <dave@pragprog.com>
+Sat Jul 4 14:38:43 2015 Eric Wong <e@80x24.org>
- * 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.
+ * enum.c (zip_ary): remove volatile, use RB_GC_GUARD
+ (zip_i): ditto
-Tue Feb 24 07:23:30 2004 Dave Thomas <dave@pragprog.com>
+Sat Jul 4 10:42:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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).
+ * lib/rubygems/test_case.rb (teardown): do not delete features
+ loaded from the original load paths, the same libraries should
+ be loaded again when the same features are required.
+ [ruby-dev:49031] [Bug #11222]
-Tue Feb 24 06:40:14 2004 Dave Thomas <dave@pragprog.com>
+Sat Jul 4 09:38:52 2015 Eric Wong <e@80x24.org>
- * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle
- class variables in code listings
+ * vm.c (rb_vm_mark): reduce branches for always-set VM fields
+ (rb_vm_add_root_module): ditto
-Tue Feb 24 06:40:14 2004 Dave Thomas <dave@pragprog.com>
+Fri Jul 03 20:05:10 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/parsers/parse_rb.rb (RubyLex::identify_identifier): Handle
- class variables in code listings
+ * method.h: introduce rb_callable_method_entry_t to remove
+ rb_control_frame_t::klass.
+ [Bug #11278], [Bug #11279]
-Tue Feb 24 06:32:27 2004 Dave Thomas <dave@pragprog.com>
+ rb_method_entry_t data belong to modules/classes.
+ rb_method_entry_t::owner points defined module or class.
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_aliases): Handle
- aliases in C files.
-
-Tue Feb 24 06:16:22 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/rdoc.rb (RDoc::RDoc::document): Now create op dir _before_
- parsing files.
-
-Tue Feb 24 06:08:47 2004 Dave Thomas <dave@pragprog.com>
-
- * 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 '='
-
-Tue Feb 24 06:08:25 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb: Escape contant values.
-
-Tue Feb 24 03:45:06 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_config.c (ossl_config_each): add new method
- OpenSSL::Config#each. it iterates with section name, field name
- and value.
-
- * ext/openssl/ossl_config.c (Init_ossl_config): include Enumerable.
-
-Mon Feb 23 09:16:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * instruby.rb (DOSISH): embedded path in batch files should not be
- prefixed by DESTDIR. [ruby-core:02186]
-
-Sun Feb 22 09:54:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * re.c: corrected documentation format (again)
-
-Sun Feb 22 09:43:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * re.c: corrected documentation format (rb_reg_initialize_m)
-
-Sat Feb 21 22:36:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * ext/zlib/zlib.c: documented, but needs more effort.
-
-Sat Feb 21 11:12:15 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * missing/os2.c, missing/x68.c: typo fix. pointed out by greentea.
-
-Fri Feb 20 18:59:47 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * lib/irb/init.rb (IRB::IRB.parse_opts): add -I option to
- irb. [ruby-dev:39243]
-
-Thu Feb 19 23:24:16 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):
- Support visibility modifiers for attributes
-
-Thu Feb 19 23:24:16 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb (Generators::HtmlClass::build_attribute_list):
- Support visibility modifiers for attributes
-
-Thu Feb 19 22:39:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * test/rinda/test_rinda.rb: DRb.start_service only once in testsuites.
- DRb.start_service could handle this.
-
-Thu Feb 19 22:19:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/ostruct.rb: documented
-
-Thu Feb 19 21:28:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * ext/strscan/strscan.c: improved documentation
-
-Thu Feb 19 03:10:52 2004 Minero Aoki <aamine@loveruby.net>
-
- * ext/strscan/strscan.c: synchronized with main trunk (rev 1.11).
-
-Thu Feb 19 02:30:34 2004 Minero Aoki <aamine@loveruby.net>
-
- * ext/strscan/strscan.c: documentation checked.
-
-Thu Feb 19 00:11:05 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/markup/simple_markup/preprocess.rb (SM::PreProcess::handle):
- Strip extraneous space from filenames in :include:
-
-Wed Feb 18 22:52:00 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/drb/unix.rb: remove O_NONBLOCK, thanks \ay
-
-Wed Feb 18 22:47:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * ext/strscan/strscan.c: documented
-
-Wed Feb 18 22:03:11 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * test/*: should not depend on $KCODE.
-
-Wed Feb 18 17:18:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * ext/win32ole/win32ole.c: need to include <olectl.h> on Cygwin.
-
-Wed Feb 18 10:40:38 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * sprintf.c (rb_f_sprintf): do not prepend dots for negative
- numbers if FZERO is specified. [ruby-list:39218]
-
-Tue Feb 17 23:40:34 2004 Guy Decoux <ts@moulon.inra.fr>
-
- * sprintf.c (rb_f_sprintf): preserve original val for
- format_integer. [ruby-talk:92975]
-
-Tue Feb 17 23:28:45 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * test/ruby/marshaltestlib.rb: common marshal testcase added.
-
- * test/ruby/test_marshal.rb: use above testsuite.
-
- * test/soap/marshal/test_marshal.rb: ditto.
-
- * test/soap/marshal/cmarshal.rb: removed (not used).
-
-Tue Feb 17 10:51:23 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * ext/syck/rubyext.c (syck_emitter_end_object): takes only one arg.
-
-Tue Feb 17 01:35:28 2004 Tanaka Akira <akr@m17n.org>
-
- * eval.c (rb_eval): care that another thread replace NODE_DREGX_ONCE
- to NODE_LIT. [ruby-dev:22920]
-
-Tue Feb 17 01:24:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * bcc32/Makefile.sub, win32/Makefile.sub (config.h): define
- STACK_GROW_DIRECTION. [ruby-dev:22910]
-
- * bcc32/Makefile.sub (config.h): add newer checks.
-
- * wince/Makefile.sub (config.h): define NEED_IO_SEEK_BETWEEN_RW.
-
-Tue Feb 17 00:38:10 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/rinda/tuplespace.rb: TupleSpace#initialize, stop doubling timeout
-
-Tue Feb 17 00:18:03 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * test/rinda/test_rinda.rb: import test_rinda.rb
-
-Tue Feb 17 00:14:30 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * bcc32/Makefile.sub: avoid warning "Redefinition of macro
- 'HAVE_GETLOGIN'".
-
- * vms/config.h_in: ditto.
-
-Mon Feb 16 23:28:14 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/csv.rb: document reduction. [ruby-core:02429]
-
-Mon Feb 16 22:08:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/generator.rb: corrected doc format
- * lib/rinda/rinda.rb: added documentation (from Hugh Sasse)
- * lib/rinda/tuplespace.rb: ditto
-
-Mon Feb 16 20:41:32 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * bcc32/Makefile.sub: show more warnings. (refering to mingw)
-
- * bcc32/setup.mak: ditto.
-
-Mon Feb 16 13:39:44 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * dir.c (rb_glob, rb_globi): add const.
-
- * ruby.h: ditto.
-
-Mon Feb 16 02:16:33 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * bcc32/Makefile.sub: should warn suspicious pointer conversion.
-
- * bcc32/setup.mak: ditto.
-
-Sun Feb 15 19:06:42 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/rinda/tuplespace.rb: TupleSpace#read(tpl, 0), raise
- RequestExpiredError if not found.
-
-Sun Feb 15 15:56:46 2004 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-
- * ext/win32ole/win32ole.c: add IDispatch wrapper in val2variant.
- Thanks, arton.
-
-Sun Feb 15 01:46:05 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * lib/mkmf.rb: absolute path of ruby is assigned to $(RUBY).
- [ruby-dev:22870]
-
-Sat Feb 14 11:29:41 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * sample/drb/*: import lib/drb/sample
-
-Sat Feb 14 11:08:23 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/drb/drb.rb: add pretty_print, thanks gotoken.
-
-Fri Feb 13 12:35:08 2004 Minero Aoki <aamine@loveruby.net>
-
- * test/fileutils/test_fileutils.rb: File.link may raise EINVAL and
- EACCES on Windows.
-
-Thu Feb 12 21:45:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/ftools.rb: documented
-
-Thu Feb 12 21:25:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/base64.rb: backported from HEAD (modularised and documented)
-
-Thu Feb 12 20:31:48 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/mkmf.rb (create_tmpsrc): cpp32 of Borland C++ ignores #error
- directives in DOS line-ending files at all.
-
-Thu Feb 12 02:23:56 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/pathname.rb: use assert_raise instead of assert_raises.
-
- * lib/pp.rb: ditto.
-
- * lib/time.rb: ditto.
-
- * lib/tsort.rb: ditto.
- use TSortHash and TSortArray instead of Hash and Array in test.
-
-Wed Feb 11 20:01:12 2004 akira yamada <akira@ruby-lang.org>
-
- * test/ruby/test_file.rb (TestFile::test_fnmatch): added tests for
- File.fnmatch. [ruby-dev:22815][ruby-dev:22819]
-
- * test/ruby/test_proc.rb (TestProc::test_eq): added a
- test. [ruby-dev:22599]
-
- * test/ruby/test_proc.rb (TestProc::test_eq): added tests for
- Proc#==. [ruby-dev:22592], [ruby-dev:22601]
-
-Tue Feb 10 16:43:56 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (umethod_bind): purge unused check. [ruby-dev:22850]
-
-Mon Feb 9 17:16:00 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * lib/rdoc/parsers/parse_c.rb: escape '{' and '}' to avoid warnings.
-
-Mon Feb 9 13:00:55 2004 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
-
- * dir.c (fnmatch): File.fnmatch('*?', 'a') should return true.
- [ruby-dev:22815]
-
- * dir.c (fnmatch): File.fnmatch('\[1\]' , '[1]') should return true.
- [ruby-dev:22819]
-
-Sun Feb 8 16:46:13 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * lib/pp.rb (PP::PPMethods::object_address_group): suppress negative
- sign for higher heap areas.
-
-Fri Feb 6 22:48:16 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb (gen_url): Support
- https in RDoc hyperlinks
-
-Fri Feb 6 22:41:22 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/pp.rb (PPInspectTest#test_to_s_with_iv): rollback the previous
- commit. [ruby-dev:22813]
-
-Fri Feb 6 22:22:50 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/pp.rb (PPInspectTest#test_to_s_with_iv): remove instance
- variable which is defined in the test.
-
-Fri Feb 6 00:48:37 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/prettyprint.rb (PrettyPrint#first?): obsoleted.
-
-Thu Feb 5 23:56:55 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/prettyprint.rb (PrettyPrint#seplist): added.
-
- * 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/set.rb (Set#pretty_print): use seplist.
-
-Wed Feb 4 02:12:06 2004 Tanaka Akira <akr@m17n.org>
-
- * 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.
-
-Tue Feb 3 08:04:57 2004 Tanaka Akira <akr@m17n.org>
-
- * lib/pp.rb (Struct#pretty_print_cycle): follow 1.8 style.
-
-Mon Feb 2 19:33:49 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * configure.in: backport from 1.9 for Interix.
-
- * dln.c (dln_load): ditto.
-
-Mon Feb 2 13:31:51 2004 NAKAMURA Usaku <usa@ruby-lang.org>
-
- * lib/net/http.rb (canonical_each): fix merge miss.
-
-Mon Feb 2 01:54:00 2004 Tanaka Akira <akr@m17n.org>
-
- * 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]
-
- * lib/open-uri.rb (URI::Generic#find_proxy): return nil on loopback
- address.
-
- * 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.
-
-Sun Feb 1 18:17:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/net/http.rb: merged coding style changes from HEAD.
-
-Sun Feb 1 16:15:00 2004 Gavin Sinclair <gsinclair@soyabean.com.au>
-
- * lib/test/unit.rb: rearranged documentation for RDoc's sake.
- * lib/matrix.rb: improved documentation.
- * lib/net/http.rb: slight documentation formatting improvement.
-
-Sun Feb 1 05:30:06 2004 Tanaka Akira <akr@m17n.org>
-
- * 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]
-
-Sat Jan 31 09:20:32 2004 NAKAMURA, Hiroshi <nakahiro@sairon.co.jp>
-
- * sample/openssl/gen_csr.rb: wrong usage string.
-
-Sat Jan 31 01:00:32 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/soap/wsdlDriver.rb, lib/wsdl/soap/operation.rb: add support of
- "parts" attribute of soap:body element in WSDL.
-
- * lib/wsdl/xmlSchema/schema.rb: friendly warning message for
- simpleType element which is not supported for now.
-
- * lib/soap/mapping/factory.rb: deleted unused methods.
-
- * lib/soap/mapping/rubytypeFactory.rb: do no ignore case while xsi:type
- string <-> Ruby class name matching.
-
- * test/wsdl/soap/{soapbodyparts.wsdl,test_soapbodyparts.wsdl}: new
- files.
-
-Thu Jan 29 23:56:00 2004 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * util.c (mblen): fix overrun. [ruby-dev:22672]
-
-Thu Jan 29 22:41:53 2004 Dave Thomas <dave@pragprog.com>
-
- * lib/rdoc/generators/html_generator.rb: Allow 'link:' in Tidylinks.
- THis means you can write "see f1[link:files/f1_rb.html]".
-
-Thu Jan 29 15:33:23 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change
- second argument. it expected to be a Hash not an Integer.
-
- * ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new
- function for OpenSSL::X509::Name#add_entry.
-
- * ext/openssl/ossl_x509name.c (ossl_x509name_to_a): append ASN.1
- tag number to each element of return value.
-
- * ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants
- OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.
-
- * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):
- second argument takes OBJECT_TYPE_TEMPLATE by default.
-
- * sample/openssl/gen_csr.rb: use OpenSSL::X509::Name.parse.
-
-Wed Jan 28 04:29:41 2004 Eric Schwartz <emschwar@fc.hp.com>
+ module M
+ def foo; end
+ end
- * lib/cgi/session.rb: use LOCK_SH to read, and a few other
- improvements. [ruby-core:02328]
+ In this case, owner is M.
-Tue Jan 27 11:09:29 2004 FUKUMOTO Atsushi <fukumoto@nospam.imasy.or.jp>
+ rb_callable_method_entry_t data belong to only classes.
+ For modules, MRI creates corresponding T_ICLASS internally.
+ rb_callable_method_entry_t can also belong to T_ICLASS.
- * ext/socket/socket.c (s_recvfrom): sending length should be an
- invariant while retrying on EAGAIN. [ruby-talk:89962]
+ rb_callable_method_entry_t::defined_class points T_CLASS or
+ T_ICLASS.
+ rb_method_entry_t data for classes (not for modules) are also
+ rb_callable_method_entry_t data because it is completely same data.
+ In this case, rb_method_entry_t::owner == rb_method_entry_t::defined_class.
-Tue Jan 27 10:35:18 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ For example, there are classes C and D, and includes M,
- * ext/win32ole/win32ole.c (set_argv): fix condition.
+ class C; include M; end
+ class D; include M; end
-Tue Jan 27 02:26:31 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ then, two T_ICLASS objects for C's super class and D's super class
+ will be created.
- * lib/webrick/httputils.rb (WEBrick:HTTPUtils::parse_header):
- refine regex for header-name.
+ When C.new.foo is called, then M#foo is searched and
+ rb_callable_method_t data is used by VM to invoke M#foo.
-Tue Jan 27 00:30:11 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ rb_method_entry_t data is only one for M#foo.
+ However, rb_callable_method_entry_t data are two (and can be more).
+ It is proportional to the number of including (and prepending)
+ classes (the number of T_ICLASS which point to the module).
- * win32/Makefile.sub: rollback.
+ Now, created rb_callable_method_entry_t are collected when
+ the original module M was modified. We can think it is a cache.
-Mon Jan 26 22:53:04 2004 Dave Thomas <dave@pragprog.com>
+ We need to select what kind of method entry data is needed.
+ To operate definition, then you need to use rb_method_entry_t.
- * io.c: Remove documentation references to $defout.
+ You can access them by the following functions.
-Mon Jan 26 15:11:47 2004 NAKAMURA Usaku <usa@ruby-lang.org>
+ * rb_method_entry(VALUE klass, ID id);
+ * rb_method_entry_with_refinements(VALUE klass, ID id);
+ * rb_method_entry_without_refinements(VALUE klass, ID id);
+ * rb_resolve_refined_method(VALUE refinements, const rb_method_entry_t *me);
- * sample/exyacc.rb: escape '}' to avoid warning.
+ To invoke methods, then you need to use rb_callable_method_entry_t
+ which you can get by the following APIs corresponding to the
+ above listed functions.
-Mon Jan 26 14:41:46 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * rb_callable_method_entry(VALUE klass, ID id);
+ * rb_callable_method_entry_with_refinements(VALUE klass, ID id);
+ * rb_callable_method_entry_without_refinements(VALUE klass, ID id);
+ * rb_resolve_refined_method_callable(VALUE refinements, const rb_callable_method_entry_t *me);
- * lib/delegate.rb (Delegator::initialize): preserve
- singleton_method_added method [ruby-dev:22685]
+ VM pushes rb_callable_method_entry_t, so that rb_vm_frame_method_entry()
+ returns rb_callable_method_entry_t.
+ You can check a super class of current method by
+ rb_callable_method_entry_t::defined_class.
- * lib/delegate.rb (Delegator::initialize): use Kernel::raise
- instead of mere raise. [ruby-dev:22681]
+ * method.h: renamed from rb_method_entry_t::klass to
+ rb_method_entry_t::owner.
-Mon Jan 26 12:47:17 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * internal.h: add rb_classext_struct::callable_m_tbl to cache
+ rb_callable_method_entry_t data.
- * ext/tcltklib/tcltklib.c: define CONST84 when TCL_MAJOR_VERSION == 7
+ We need to consider about this field again because it is only
+ active for T_ICLASS.
-Mon Jan 26 11:35:23 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * class.c (method_entry_i): ditto.
- * ext/extmk.rb: Makefiles should depend on also rbconfig.rb.
- (ruby-bugs:PR#1256)
+ * class.c (rb_define_attr): rb_method_entry() does not takes
+ defined_class_ptr.
- * ext/win32ole/win32ole.c (set_argv): set real arguments to
- WIN32OLE::ARGV. [ruby-list:39073]
+ * gc.c (mark_method_entry): mark RCLASS_CALLABLE_M_TBL() for T_ICLASS.
-Thu Jan 22 22:54:53 2004 Shugo Maeda <shugo@ruby-lang.org>
+ * cont.c (fiber_init): rb_control_frame_t::klass is removed.
- * 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.
+ * proc.c: fix `struct METHOD' data structure because
+ rb_callable_method_t has all information.
-Thu Jan 22 16:21:33 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_core.h: remove several fields.
+ * rb_control_frame_t::klass.
+ * rb_block_t::klass.
- * parse.y (string_content): reset lexical states at the beginning of
- string contents. [ruby-list:39061]
+ And catch up changes.
-Wed Jan 21 21:55:51 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * eval.c: catch up changes.
- * lib/drb/drb.rb: remove O_NONBLOCK, thanks \ay
- * lib/drb/extserv.rb: typo
+ * gc.c: ditto.
-Wed Jan 21 17:57:56 2004 Shugo Maeda <shugo@ruby-lang.org>
+ * insns.def: 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.
+ * vm.c: ditto.
-Wed Jan 21 16:44:20 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_args.c: ditto.
- * lib/mkmf.rb (merge_libs): squeeze successive same libraries.
- [ruby-dev:22652]
+ * vm_backtrace.c: ditto.
-Wed Jan 21 16:01:37 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_dump.c: ditto.
- * ext/digest/rmd160/extconf.rb: have_library appends found library.
+ * vm_eval.c: ditto.
-Wed Jan 21 11:36:00 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_insnhelper.c: ditto.
- * parse.y (block_append): update nd_end for "real" head node.
- [ruby-list:39058]
+ * vm_method.c: ditto.
-Tue Jan 20 14:48:13 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Jul 3 14:30:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/extconf.rb: should check <openssl/conf_api.h> instead
- of OPENSSL_VERSION_NUMBER. [ruby-list:39056]
+ * win32/file.c: some mingw compilers need a tweek for the
+ declarations of _wfreopen_s. [Bug #11320]
-Tue Jan 20 14:43:17 2004 Dave Thomas <dave@pragprog.com>
+Fri Jul 3 12:25:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/base64.rb: Add RDoc
+ * transcode.c (rb_econv_set_replacement): target encoding name can
+ be empty now. [ruby-core:69841] [Bug #11324]
-Tue Jan 20 14:25:51 2004 Dave Thomas <dave@pragprog.com>
+Fri Jul 3 07:21:06 2015 Eric Wong <e@80x24.org>
- * lib/abbrev.rb: Add RDoc
+ * benchmark/bm_io_nonblock_noex.rb: new benchmark
+ * ext/openssl/ossl_ssl.c (no_exception_p): new function
+ (ossl_start_ssl): adjust for no_exception_p
+ (ossl_ssl_connect): adjust ossl_start_ssl call
+ (ossl_ssl_connect_nonblock): ditto
+ (ossl_ssl_accept): ditto
+ (ossl_ssl_accept_nonblock): ditto
+ (ossl_ssl_read_internal): adjust for no_exception_p
+ (ossl_ssl_write_internal): ditto
+ (ossl_ssl_write): adjust ossl_write_internal call
+ (ossl_ssl_write_nonblock): ditto
+ * ext/stringio/stringio.c (strio_read_nonblock):
+ delay exception check
+ * io.c (no_exception_p): new function
+ (io_getpartial): call no_exception_p
+ (io_readpartial): adjust for io_getpartial
+ (get_kwargs_exception): remove
+ (io_read_nonblock): adjust for io_getpartial,
+ check no_exception_p on EOF
+ (io_write_nonblock): call no_exception_p
+ (rb_io_write_nonblock): do not check `exception: false'
+ (argf_getpartial): adjust for io_getpartial
+ [ruby-core:69778] [Feature #11318]
-Tue Jan 20 13:22:39 2004 Dave Thomas <dave@pragprog.com>
+Fri Jul 3 07:13:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/generators/html_generator.rb: Document aliases at
- top-most level.
+ * dir.c (replace_real_basename): Win32 API does not set errno, get
+ the last error by GetLastError() and map to errno. [Bug #10015]
- * lib/English.rb: Document English.rb.
+Thu Jul 2 21:32:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Jan 20 02:49:22 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * dir.c (replace_real_basename): show warnings at errors.
+ [Bug #10015]
- * ext/openssl/extconf.rb: add check for OpenSSL version.
- [ruby-list:39054]
+Thu Jul 2 18:39:20 2015 Koichi Sasada <ko1@atdot.net>
-Tue Jan 20 02:38:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * gc.c: remove `#define RGENGC_OBJ_INFO 1' line introduced to
+ debug Bug #11244.
- * marshal.c (w_class): should not dump singleton class.
- [ruby-dev:22631]
+Thu Jul 2 18:34:26 2015 Koichi Sasada <ko1@atdot.net>
-Tue Jan 20 01:31:36 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * gc.c (rb_raw_obj_info): separated from rb_obj_info().
+ Fill internal object information into passed buffer.
- * io.c (lineno): typo fix(FIX2INT -> INT2FIX).
+ * gc.h: declare rb_raw_obj_info().
-Mon Jan 19 21:53:38 2004 akira yamada <akira@ruby-lang.org>
+Thu Jul 2 16:15:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c, re.c, string.c, time.c: fixed up positions of RDocs.
+ * dir.c (replace_real_basename): update path type by the target
+ attributes if possible, to improve the performance. [Bug #10015]
-Mon Jan 19 07:09:20 2004 Tadayoshi Funaba <tadf@dotrb.org>
+Thu Jul 2 14:45:53 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/date.rb: zone was wrong when it was behind UTC.
- Thanks Mark J. Reed.
+ * st.c: get rid of VC++'s warnings of C4700 (uninitialized local
+ variable used). I think that these are wrong, but should shut them
+ up.
- * lib/date/format.rb: %z is now always replaced by four digits
- with a leading plus or minus sign.
+Thu Jul 2 14:15:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * sample/cal.rb: added a class, anyway.
+ * lib/rubygems.rb (Gem.load_path_insert_index): search
+ @gem_prelude_index first.
-Sun Jan 18 20:47:35 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * lib/rubygems/test_case.rb (Gem::TestCase#setup): keep already
+ expanded paths to preserve instance variables.
- * ruby.c: use translate_char() on Cygwin.
+Thu Jul 2 14:12:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jan 18 02:33:26 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * ruby.c (process_options): also copy initial load path marks at
+ setting load paths encoding.
- * defines.h (_WIN32): undef _WIN32 on Cygwin before defining DOSISH.
+Thu Jul 2 12:26:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Jan 18 00:23:55 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/rubygems/test_gem_server.rb (process_based_port): use
+ dynamically chosen port numbers to get rid of conflicts.
- * marshal.c (class2path): check anonymous class/module before
- checking referable, and allow singleton classes.
+Thu Jul 2 11:58:59 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Jan 16 14:33:35 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/rubygems/test_gem_specification.rb: skip tests which the
+ platform does not permit the filename of its test file.
- * marshal.c (class2path): get class path and check referable.
- [ruby-dev:22588]
+Thu Jul 2 11:36:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Jan 16 09:52:23 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/rubygems/test_gem_resolver_git_specification.rb: require
+ rubygems/installer.rb before Gem::TestCase#setup runs, otherwise
+ as Gem::TestCase#teardown restores $LOADED_FEATURES to the state
+ at that time, the requiring the file in GitSpecification#install
+ method causes a lot of constant redefinitions.
- * eval.c (proc_eq): Proc with empty body may not be equal.
- [ruby-dev:22590]
+Thu Jul 2 10:43:36 2015 Eric Wong <e@80x24.org>
-Thu Jan 15 13:03:10 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/rubysocket.h: flags for common socket families
+ (rsock_getfamily): update signature
+ * include/ruby/io.h: comment socket FMODE flags
+ * ext/socket/init.c (rsock_getfamily): memoize family
+ * ext/socket/basicsocket.c: adjust rsock_getfamily calls
+ * ext/socket/ancdata.c: ditto
+ [ruby-core:69713] [Feature #11298]
- * io.c (argf_read): do not append EOF. (ruby-bugs-ja:PR#585)
+Thu Jul 2 10:30:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * io.c (rb_io_fwrite): ad-hockery hack to get rid of HP-UX stdio
- weird behavior. [ruby-dev:22424]
+ * lib/rubygems/resolver.rb: fixed NameError of Gem::Util::NULL_DEVICE.
-Wed Jan 14 13:31:06 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jul 2 09:51:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/iconv/extconf.rb: wrapper iconv.rb is dependent on platform.
+ * lib/rubygems/resolver.rb: fix error of null device reference with DOSISH
+ platform.
-Tue Jan 13 18:54:28 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Thu Jul 2 06:49:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/logger.rb(Logger#msg2str): no special treatment for the object
- which responds to :to_str. commited at 2004-01-11T21:46:27 by
- gsinclair.
+ * lib/rubygems: Update to RubyGems HEAD(c202db2).
+ this version contains many enhancements see http://git.io/vtNwF
+ * test/rubygems: ditto.
- * 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.
+Wed Jul 1 23:50:34 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * test/logger/test_logger.rb: follow above change (ArgumentError ->
- TypeError.) follow above commit.
+ * test/net/http/test_httpresponse.rb
+ (HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase):
+ fix a failure without zlib.
-Tue Jan 13 14:27:13 2004 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Wed Jul 1 10:54:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/test/unit/ui/testrunnerutilities.rb (TestRunnerUtilities):
- moved run method which allows output level. [ruby-dev:22554]
+ * Add test for Enumerable#none? [fix GH-950] Patch by @yui-knk
-Tue Jan 13 04:29:52 2004 Dave Thomas <dave@pragprog.com>
+Wed Jul 1 09:30:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/ri/ri_driver.rb (RiDriver::report_method_stuff):
- Show fully-qualified class names in class list.
+ * struct.c (struct_set_members): hide internal back_members
+ object, and members object does not need to be duped as it
+ should be frozen and hidden.
-Tue Jan 13 01:04:37 2004 Dave Thomas <dave@pragprog.com>
+Wed Jul 1 09:28:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/ri/ri_paths.rb (RI::Paths): First attempt at
- incorporating DESTDIR in the rdoc installation.
+ * struct.c (struct_member_pos): revert r51080 to fix other
+ implicit conversions but cast the return value to fix the
+ previous implicit conversion.
-Mon Jan 12 23:27:19 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jul 1 08:47:24 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * parse.y (primary): fix position after FCALL. [ruby-dev:22574]
+ * struct.c (struct_member_pos): avoid implicit conversion loses
+ integer precision: 'long' to 'int'.
-Mon Jan 12 12:07:22 2004 Dave Thomas <dave@pragprog.com>
+Wed Jul 1 05:57:03 2015 Eric Wong <e@80x24.org>
- * 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.
+ * vm_method.c (rb_add_method_iseq): add RB_GC_GUARD
+ * class.c (clone_method): remove RB_GC_GUARD
+ * struct.c (define_aref_method): ditto
+ (define_aset_method): ditto
+ * vm.c (vm_define_method):
+ * iseq.c (rb_iseq_clone): add RB_GC_GUARD
- * object.c: Remove spurious space in TrueClass documentation.
+Wed Jul 1 05:43:58 2015 Eric Wong <e@80x24.org>
- * 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.
+ * struct.c (AREF_HASH_THRESHOLD): new macro
+ (id_back_members): new ID
+ (struct_member_pos_ideal): new function
+ (struct_member_pos_probe): ditto
+ (struct_set_members): ditto
+ (struct_member_pos): ditto
+ (rb_struct_getmember): use struct_member_pos for O(1) access
+ (rb_struct_aref_sym): ditto
+ (rb_struct_aset_sym): ditto
+ (setup_struct): call struct_set_members
+ (struct_define_without_accessor): ditto
+ (Init_Struct): initialize __members_back__
+ [ruby-core:66851] [ruby-core:69705] [ruby-core:69821]
- * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter::break_to_newline):
- HTML formats need explicit line breaks.
+Tue Jun 30 23:12:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Jan 12 11:46:30 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (rb_io_reopen): FilePathValue() ensures the path
+ NUL-terminated and frozen, so it is unnecessary to make it shared.
- * configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single
- quotes. [ruby-dev:22564]
+Tue Jun 30 23:11:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb (libpathflag): do not enclose with quotes always.
+ * dir.c (check_dirname): ensure path name NUL-terminated for
+ SHARABLE_MIDDLE_SUBSTRING.
- * {bcc32,win32,wince}/Makefile.sub (LIBPATHFLAG): quoted.
+ * io.c (rb_sysopen): ditto.
-Mon Jan 12 02:24:07 2004 Dave Thomas <dave@pragprog.com>
+Tue Jun 30 18:38:16 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML
- generation support to ri (Elliot Hughes)
+ * win32/file.c (rb_freopen): need to terminate by NUL.
-Mon Jan 12 02:24:07 2004 Dave Thomas <dave@pragprog.com>
+Tue Jun 30 17:28:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/rdoc/ri/ri_formatter.rb (RI::HtmlFormatter): Add HTML
- generation support to ri (Elliot Hughes)
+ * io.c (rb_io_reopen): freopen(3) with OS encoding path.
+ [ruby-core:69780] [Bug #11320]
-Sun Jan 11 02:07:47 2004 Dave Thomas <dave@pragprog.com>
+ * win32/file.c (rb_freopen): wrapper of wchar version freopen(3).
+ use _wfreopen_s() if available.
- * lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):
- Also accept command line options via the 'RI' environment variable.
+Tue Jun 30 08:24:08 2015 Eric Wong <e@80x24.org>
-Sun Jan 11 02:07:47 2004 Dave Thomas <dave@pragprog.com>
+ * 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]
- * lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList):
- Also accept command line options via the 'RI' environment variable.
+Tue Jun 30 02:47:02 2015 Eric Wong <e@80x24.org>
-Sat Jan 10 21:27:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * include/ruby/st.h (struct st_table): hide struct list_head
+ * st.c (struct st_table_entry): adjust struct
+ (head, tail): remove shortcut macros
+ (st_head): new wrapper function
+ (st_init_table_with_size): adjust to new struct and API
+ (st_clear): ditto
+ (add_direct): ditto
+ (unpack_entries): ditto
+ (rehash): ditto
+ (st_copy): ditto
+ (remove_entry): ditto
+ (st_shift): ditto
+ (st_foreach_check): ditto
+ (st_foreach): ditto
+ (get_keys): ditto
+ (get_values): ditto
+ (st_values_check): ditto
+ (st_reverse_foreach_check): ditto (unused)
+ (st_reverse_foreach): ditto (unused)
+ [ruby-core:69726] [Misc #10278]
- * eval.c (eval): need to add message delimiter. [ruby-dev:22561]
+Mon Jun 29 17:38:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Jan 10 01:54:50 2004 Eric Sunshine <sunshine@sunshineco.com>
+ * insns.def (defineclass): do not quote unprintable characters at
+ raising an exception.
- * 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).
+Mon Jun 29 16:01:24 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * 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).
+ * lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper
+ case. [ruby-core:69670] [Bug #11285] patched by Andy Chu
-Fri Jan 9 10:05:14 2004 Siena. <siena@faculty.chiba-u.jp>
+Mon Jun 29 14:50:08 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/mkmf.rb (libpathflag): use single quotes. [ruby-dev:22440]
+ * eval.c (add_activated_refinement): should not include the original
+ class.
-Thu Jan 8 23:49:21 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+Mon Jun 29 12:09:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * configure.in (RDOCTARGET): new macro. if you want to install
- rdoc documentation, you need to run configure with
- --enable-install-doc.
+ * README.md: tweak styles. [fix GH-945][ci skip] Patch by @bryndyment
-Thu Jan 8 21:29:43 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Jun 29 07:23:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_pkey.c (ossl_pkey_to_der): removed; it returns
- public key only.
+ * template/sizes.c.tmpl: extract RUBY_DEFINT to define sizes of
+ types checked by configure.in, and fix size of intptr_t in
+ universal binary.
- * ext/openssl/ossl_pkey_dh.c (ossl_dh_to_der): new function for
- OpenSSL::PKey::DH#to_der.
+Mon Jun 29 02:10:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_to_der): new function for
- OpenSSL::PKey::DSA#to_der.
+ * insns.def (defineclass): preserve encoding of name in error
+ messages for super class mismatch.
- * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_to_der): new function for
- OpenSSL::PKey::RSA#to_der.
+ * insns.def (defineclass): preserve encoding of name in error
+ messages for non-class super.
-Thu Jan 8 16:51:04 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * insns.def (defineclass): preserve encoding of name in error
+ messages when already defined but type mismatch.
- * test/wsdl/datetime/test_datetime.rb: fixed a stupid testcase which
- dumps "E" at month-end.
+Sun Jun 28 12:07:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Jan 8 11:20:01 2004 WATANABE Hirofumi <eban@ruby-lang.org>
+ * class.c (rb_define_class_id_under): raise TypeError exception
+ same as ruby level class definition when superclass mismatch.
- * eval.c, object.c, process.c, re.c: don't use C++ style comments.
+Sun Jun 14 19:02:03 2015 Benoit Daloze <eregontp@gmail.com>
-Thu Jan 8 04:36:21 2004 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/net/ftp.rb (makeport): close the TCPServer
+ when sending the port fails.
- * lib/webrick/cgi.rb (WEBrick::CGI#initialize): should create
- @config[:Logger] if it was not given.
+ * test/net/ftp/test_ftp.rb: test for above.
- * sample/webrick/*: new files.
+Fri Jun 26 12:48:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * MANIFEST: add sample/webrick/*
+ * transcode.c (load_transcoder_entry): fix transcoder loading race
+ condition, by waiting in require. [ruby-dev:49106] [Bug #11277]
-Wed Jan 7 13:00:18 2004 Dave Thomas <dave@pragprog.com>
+Fri Jun 26 07:53:56 2015 Eric Wong <e@80x24.org>
- * 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)
+ * enum.c (enum_minmax): simplify return value creation
+ * test/ruby/test_enum.rb: test behavior on empty
+ * hash.c (rb_hash_fetch_m): remove unnecessary volatile since r41597
+ (env_reject_bang): trade volatile for GC guard
+ (env_select): ditto
+ (env_select_bang): ditto
+ (env_keep_if): ditto
+ (rb_env_clear): ditto
-Wed Jan 7 12:35:41 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Thu Jun 25 21:24:28 2015 Naohisa Goto <ngotogenome@gmail.com>
- * lib/debug.rb: revert command parse regexps. [ruby-list:39014] by
- Shirai,Kaoru.
+ * test/-ext-/popen_deadlock/test_popen_deadlock.rb: test [Bug #11265]
-Wed Jan 7 08:21:04 2004 Dave Thomas <dave@pragprog.com>
+ * ext/-test-/popen_deadlock/infinite_loop_dlsym.c: new ext to call
+ dlsym(3) infinitely without GVL, used in the above test.
- * lib/rdoc/parsers/parserfactory.rb: Check for shebang
- line in files that would otherwise be treated as
- plain text.
+ * ext/-test-/popen_deadlock/extconf.rb: extconf.rb for the above
+ ext. Currently, only enabled on Solaris (main target) and Linux
+ (as a reference platform and for debugging the ext).
-Tue Jan 6 22:13:34 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Jun 25 19:24:25 2015 Naohisa Goto <ngotogenome@gmail.com>
- * eval.c (rb_mod_modfunc): should break if m has no super class.
- [ruby-dev:22498]
+ * configure.in: not to use vfork on Solaris to avoid deadlock
+ occurred in vfork(2) with multi-threading and dynamic linker
+ on Solaris. [Bug #11265] [ruby-dev:49089]
-Tue Jan 6 21:55:02 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 25 18:25:41 2015 Naohisa Goto <ngotogenome@gmail.com>
- * io.c (fptr_finalize): should save errno just after failure.
- [ruby-dev:22492]
+ * test/lib/envutil.rb (Test::Unit::Assertions#assert_no_memory_leak):
+ NO_MEMORY_LEAK_ENVS is moved to Memory::NO_MEMORY_LEAK_ENVS
+ to reduce child executions during test-all on Solaris.
-Tue Jan 6 14:53:14 2004 Dave Thomas <dave@pragprog.com>
+ * test/lib/memory_status.rb (Memory::NO_MEMORY_LEAK_ENVS): ditto.
- * bin/ri: split out the display side, making it pluggable. Added
- new ri_driver and ri_display files in lib/rdoc/ri.
+Thu Jun 25 17:32:33 2015 Koichi Sasada <ko1@atdot.net>
-Tue Jan 6 06:37:53 2004 Dave Thomas <dave@pragprog.com>
+ * vm_method.c (rb_method_entry_create): need to call
+ method_definition_reset() if def is given.
- * bin/rdoc: Add --ri-system switch
+ Actually, `me' is a new object, so we don't need to call it.
+ It is just to make sure.
- * lib/.document: Update with list of files that seem to have
- documentation
+ * vm_method.c (method_definition_reset): remove duplicated insertion.
- * lib/test/unit.rb: Reorder comment to make it RDoc friendly.
+ * vm_method.c (rb_method_entry_clone): assign dst->def here,
+ not in method_definition_reset().
- * Makefile.in: add install-nodoc target, and make it
- generate RDoc on default install.
+Thu Jun 25 16:44:54 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/ri/ri_options.rb (RI::Options::parse): Add
- --doc-dir option to ri.
+ * vm_method.c: make a rb_method_definition_t data (def) *after* making
+ a rb_method_entry_t data (me).
-Tue Jan 6 00:04:40 2004 Dave Thomas <dave@pragprog.com>
+ Normally, `me' points `def'. Some Ruby objects pointed from `def'
+ and objects are marked by `me' (mark_method_entry() in gc.c).
+ However, `def' is built before making a `me', then nobody can mark
+ objects pointed from `def' before making (and pointing from) `me'.
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method_or_yield_parameters):
- fix parsing if there are braces in a method parameter list
+ I hope this patch solve #11244.
-Fri Jan 2 14:54:11 2004 Dave Thomas <dave@pragprog.com>
+ * vm_method.c: remove `rb_' prefix from some static functions.
- * bin/ri: Add new --classes option, and arrange for
- help messages to be paged too.
+ * method.h (rb_method_entry_create): constify
- * bin/rdoc: Add statistics.
+ * gc.c (mark_method_entry): add checking `def' and
+ `def->body.iseq.iseqptr' availability because they can be NULL.
- * process.c: (MG) Added Process documentation
+Thu Jun 25 14:14:16 2015 takiy33 <takiy33@gmail.com>
- * lib/rdoc/ri/ri_formatter.rb (RI::AttributeFormatter::wrap):
- Fix problem with labels not displaying in RI labeled
- lists using BS and ANSI modes.
+ * test/test_prime.rb (test_eratosthenes_works_fine_after_timeout):
+ use spaces instead of TABs in ruby codes. [Fix GH-944]
-Fri Jan 2 01:50:13 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Jun 25 07:08:35 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (argf_eof): ARGF.eof? should not have any side effect.
- [ruby-dev:22469]
+ * gc.c (obj_info, method_type_name): show method type name in a string
+ instead of a number.
-Wed Dec 31 17:25:17 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Jun 25 06:49:25 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (argf_each_byte): should return self. [ruby-dev:22465]
+ * gc.c (obj_info): show more details for T_IMEMO/imemo_ment.
-Wed Dec 31 11:20:34 2003 Dave Thomas <dave@pragprog.com>
+Thu Jun 25 06:40:46 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::do_methods): Make
- file referenced in "// in sss.c" relative to current file.
+ * vm_method.c (rb_method_definition_reset): need a WB for
+ VM_METHOD_TYPE_ATTRSET.
-Wed Dec 31 11:17:37 2003 Dave Thomas <dave@pragprog.com>
+Thu Jun 25 03:33:21 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * gc.c (RGENGC_OBJ_INFO, obj_info): add a macro to enable/disable
+ rich obj_info() output.
-Wed Dec 31 01:33:05 2003 Dave Thomas <dave@pragprog.com>
+ At the default, the value of RGENGC_OBJ_INFO is
+ (RGENGC_DEBUG | RGENGC_CHECK_MODE).
- * 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.
+ * gc.c (RGENGC_OBJ_INFO): force enable it to debug #11244.
-Tue Dec 30 19:39:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * gc.c (gc_mark_ptr): print more details with obj_info().
- * io.c (rb_f_readline): should raise EOFError at the end of
- files. [ruby-dev:22458]
+ * gc.c (gc_mark_children): remove useless debug prints.
- * io.c (argf_read): should concatenate input files when length
- argument is nil. [ruby-dev:22450]
+Thu Jun 25 02:40:33 2015 Eric Wong <e@80x24.org>
- * io.c (argf_read): should update supplied string buffer (2nd
- argument) even when IO#read is called multiple times.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal):
+ do not process kwargs in blocking mode
+ * test/openssl/test_ssl.rb: test sysread
- * io.c: should initialize lineno by zero. [ruby-dev:22460]
+Wed Jun 24 16:54:11 2015 Koichi Sasada <ko1@atdot.net>
-Tue Dec 30 12:30:30 2003 Dave Thomas <dave@pragprog.com>
+ * gc.c (gc_mark_children): add additional debug code for #11244.
- * 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'.
+Wed Jun 24 16:05:42 2015 Eric Wong <e@80x24.org>
+ * string.c (rb_str_justify): use RB_GC_GUARD
-Tue Dec 30 08:32:32 2003 Dave Thomas <dave@pragprog.com>
+Wed Jun 24 14:25:17 2015 Koichi Sasada <ko1@atdot.net>
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):
- Handle undoing nesting of yield parameters correctly for:
+ * gc.c (gc_mark_ptr): add a check code for #11244.
- def each_entry(&b) Dir.foreach(@path) {|f| yield P.new(f) } end
+ It should be removed later. But we can remain this check
+ because it is only a branch.
+Wed Jun 24 12:49:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 30 08:32:32 2003 Dave Thomas <dave@pragprog.com>
+ * string.c (rb_fstring_cstr): new function to make a fstring from
+ a string literal.
- * lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_method):
- Handle undoing nesting of yield parameters correctly for:
+ * internal.h (rb_fstring_lit): new macro to make a fstring from a
+ string literal.
- def each_entry(&block) Dir.foreach(@path) {|f| yield Pathname.new(f) } end
+ * include/ruby/intern.h (rb_strlen_lit): new macro to get the
+ length of a string literal, borrowed from mruby/mruby@e4afd53.
-Mon Dec 29 12:51:02 2003 Dave Thomas <dave@pragprog.com>
+Wed Jun 24 12:21:16 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * eval.c: Add RDoc for Kernel global functions.
+ * re.c: Update documentation for Regexp class.
+ [fix GH-937][ci skip] Patch by @davydovanton
-Mon Dec 29 11:00:16 2003 Dave Thomas <dave@pragprog.com>
+Wed Jun 24 09:23:03 2015 Eric Wong <e@80x24.org>
- * array.c: Tidy up RDoc loose ends.
+ * variable.c (generic_ivar_set): remove FL_ABLE check
+ (gen_ivar_copy): ditto
+ [ruby-core:69715]
-Mon Dec 29 05:05:51 2003 Dave Thomas <dave@pragprog.com>
+Wed Jun 24 08:28:15 2015 Eric Wong <e@80x24.org>
- * struct.c, random: Add RDoc comments
+ * ext/socket/ancdata.c (bsock_recvmsg_internal): reduce stack use
+ [ruby-core:69595] [Feature #11263]
-Mon Dec 29 02:20:54 2003 Dave Thomas <dave@pragprog.com>
+Tue Jun 23 14:32:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c: Add RDoc for class Proc, Method, UnboundMethod
+ * error.c (name_err_receiver): raise ArgumentError if no receiver
+ is available on this exception object. [Feature #10881]
-Mon Dec 29 00:41:44 2003 Dave Thomas <dave@pragprog.com>
+Tue Jun 23 09:48:34 2015 Eric Wong <e@80x24.org>
- * math.c: Add RDoc comments
+ * dir.c (check_dirname): avoid volatile, use return value
+ (dir_s_chroot, dir_s_mkdir, dir_s_rmdir): adjust callers
-Sun Dec 28 20:19:11 2003 Tanaka Akira <akr@m17n.org>
+Tue Jun 23 06:37:10 2015 Eric Wong <e@80x24.org>
- * ext/stringio/stringio.c (strio_sysread): StringIO.new.sysread didn't
- raise EOFError.
+ * struct.c (struct_ivar_get): cache member definition in a subclass
+ Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com>
+ in https://bugs.ruby-lang.org/issues/10585
- * ext/zlib/zlib.c (gzreader_gets): don't increment lineno when
- gzfile_read_all returns "".
+Tue Jun 23 04:58:06 2015 Eric Wong <e@80x24.org>
-Sun Dec 28 15:25:08 2003 Dave Thomas <dave@pragprog.com>
+ * benchmark/bm_vm2_struct_big_href_hi.rb: new benchmark
+ * benchmark/bm_vm2_struct_big_href_lo.rb: ditto
+ * benchmark/bm_vm2_struct_big_hset.rb: ditto
+ * benchmark/bm_vm2_struct_small_href.rb: ditto
+ * benchmark/bm_vm2_struct_small_hset.rb: ditto
+ Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com>
+ in https://bugs.ruby-lang.org/issues/10585
- * class.c,object.c,parse.y,sprintf.c,variable.c: Document classes
- Object, Module, etc...
+Mon Jun 22 18:08:48 2015 Naohisa Goto <ngotogenome@gmail.com>
-Sun Dec 28 11:55:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * test/lib/test/unit.rb (Test::Unit::Parallel#start_watchdog): removed
+ because it has been meaningless since r36385. [Bug #11288]
- * test/csv/test_csv.rb: generate bom.csv and mac.csv files on the fly.
- [ruby-talk:88852]
+ * test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel): delete
+ lines related to the removed start_watchdog method
- * test/csv/{bom.csv,mac.csv}: removed.
+Sun Jun 21 23:52:46 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Sun Dec 28 08:56:51 2003 Dave Thomas <dave@pragprog.com>
+ * NEWS: mention about Array#bsearch_index and Hash#fetch_values.
- * eval.c: Thead[Group] RDoc (thanks to MG)
+Sun Jun 21 23:46:27 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Sun Dec 28 03:50:05 2003 Dave Thomas <dave@pragprog.com>
+ * NEWS: add a reference to a ticket.
- * lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser::find_override_comment):
- Escape method names used in regexp
+Sun Jun 21 20:28:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Dec 28 01:46:02 2003 Dave Thomas <dave@pragprog.com>
+ * internal.h (roomof): extract from type_roomof, and move from
+ bignum.c.
- * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::display_flow_item):
- Add support for rules in 'ri' output.
+Sun Jun 21 18:32:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Dec 28 01:35:35 2003 Dave Thomas <dave@pragprog.com>
+ * ruby_atomic.h (ATOMIC_PTR_CAS): define by generic CAS macro, not
+ via size_t, to suppress a warning by mingw gcc.
- * 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.
+Sun Jun 21 05:31:41 2015 Shota Fukumori <her@sorah.jp>
-Sun Dec 28 01:05:31 2003 Dave Thomas <dave@pragprog.com>
+ * 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]
- * marshal.c, signal.c: RDoc collemts added by Elliott Hughes
+ * test/objspace/test_objspace.rb(test_dump_special_consts): Test for above fix.
-Sun Dec 28 00:48:47 2003 Dave Thomas <dave@pragprog.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.
+Sat Jun 20 03:56:58 2015 Yusuke Endoh <mame@ruby-lang.org>
-Sat Dec 27 23:41:46 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * enc/make_encmake.rb: the list of encoding extension libraries must
+ not include encinit.c itself. It caused "undefined reference to
+ Init_encinit".
- * configure.in: fix "test: too many arguments" error.
+Sat Jun 20 02:03:53 2015 Naohisa Goto <ngotogenome@gmail.com>
-Sat Dec 27 15:32:19 2003 Dave Thomas <dave@wireless_3.local.thomases.com>
+ * process.c (rb_execarg_parent_start1): new macro ALWAYS_NEED_ENVP
+ to generate envp_str anytime on Solaris 10 (or earlier version
+ of Solaris) to avoid calling execv() which is async-signal unsafe
+ on Solaris 10. [Bug #11265] [ruby-dev:49089]
- * time.c: RDoc comments added
+ * process.c (exec_with_sh, proc_exec_cmd): On Solaris 10,
+ because ALWAYS_NEED_ENVP is 1 and envp_str is always generated,
+ execv() in exec_with_sh() and proc_exec_cmd() are never called.
+ To guarantee this, execv() is replaced by a macro to print
+ out error message on Solaris 10.
-Sat Dec 27 15:07:57 2003 Dave Thomas <dave@pragprog.com>
+ * process.c (proc_exec_sh): Because proc_exec_sh() may be called
+ by rb_proc_exec() with envp_str = Qfalse, execl() is replaced
+ by a macro that calls execle() with "extern char **environ"
+ traditional global variable on Solaris 10.
+ TODO: This may be unsafe and should be changed in the future.
+ Although rb_proc_exec() is not used from inside current version
+ of ruby, it may be called by third-party extensions.
- * object.c: Add RDoc comments for Symbol class.
+Sat Jun 20 01:10:13 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
-Sat Dec 27 14:42:30 2003 Dave Thomas <dave@pragprog.com>
+ * NEWS: mention about $SAFE.
- * numeric.c: Add RDoc comments.
+Fri Jun 19 14:53:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Dec 27 00:44:00 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * proc.c (rb_mod_define_method): now requires a block direct to
+ this method call. [ruby-core:69655] [Bug #11283]
- * io.c (next_argv): warn always for stdin on inplace edit mode.
+Fri Jun 19 13:54:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (read_all): need to check string value.
+ * proc.c (rb_mod_define_method): get rid of inadvertent ID
+ creations at error.
- * io.c (argf_read): allow ARGF.read(nil). [ruby-dev:22433]
+Fri Jun 19 07:58:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Dec 26 23:02:09 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/extmk.rb: if no with-ext option is given, default to
+ enable everything. [ruby-dev:49108] [Bug #11280]
- * io.c (rb_f_backquote): need not to check nil result.
- [ruby-core:02078]
+Fri Jun 19 06:30:07 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (rb_io_getline): should return nil when read_all gives
- empty string, even when nil rs is specified. [ruby-core:02077]
+ * bootstraptest/test_method.rb: remove a test because $SAFE=2 was
+ obsolete.
-Fri Dec 26 18:50:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Please check btest, too.
- * configure.in: check if getcontext and setcontext are available.
+Thu Jun 18 23:51:51 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * eval.c: use presence of getcontext/setcontext.
+ * bin/erb: $SAFE=3 is obsolete.
-Fri Dec 26 16:40:53 2003 Tanaka Akira <akr@m17n.org>
+Thu Jun 18 23:45:11 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * lib/pathname.rb (PathnameTest#test_plus): add 2 assertions.
+ * safe.c: removed needless doc related $SAFE=2
-Fri Dec 26 09:26:58 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Jun 18 23:38:07 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * pack.c (pack_pack): add sign check for 'i', and 'l'.
- [ruby-dev:22427]
+ * thread.c (rb_thread_safe_level): fix document. $SAFE=3 is obsolete.
+ [ci skip]
- * bignum.c (rb_quad_pack): add range check for 'quad int'.
+Thu Jun 18 23:25:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Dec 25 22:39:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/extmk.rb: configure intersection of with-ext and not
+ without-ext, as withouts is no longer true by default if
+ with-ext option is given. [ruby-dev:49108] [Bug #11280]
- * string.c (rb_str_update): don't return any value.
+Thu Jun 18 23:20:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Thu Dec 25 15:30:17 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * include/ruby/ruby.h: $SAFE=2 is now obsolete.
- * string.c (rb_str_update): call rb_str_modify().
+ * dir.c, ext/fiddle/handle.c, ext/socket/basicsocket.c, file.c
+ gc.c, io.c, process.c, safe.c, signal.c, win32/file.c:
+ removed code for $SAFE=2
-Thu Dec 25 05:08:09 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/erb/test_erb.rb, test/fiddle/test_handle.rb
+ test/ruby/test_env.rb: removed tests for $SAFE=2.
- * eval.c (search_required): search actual file name once when no
- extension specified.
+Thu Jun 18 22:50:07 2015 Yusuke Endoh <mame@ruby-lang.org>
-Thu Dec 25 04:00:44 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * enc/make_encmake.rb: added --transes and --no-transes options.
- * stable version 1.8.1 released.
+Thu Jun 18 18:24:12 2015 Eric Wong <e@80x24.org>
-Thu Dec 25 00:17:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/socket/test_unix.rb: replace sleep with select
- * configure.in: check for nanosleep, -lrt if required.
- [ruby-core:02059]
+Thu Jun 18 17:59:06 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (thread_timer): use select(2) if nanosleep(2) is not
- available.
+ * vm.c (rb_vm_control_frame_id_and_class): remove useless codes.
+ `me' knows ID and owner class.
- * eval.c: check __stub_getcontext for glibc on some platforms.
- [ruby-list:38984]
+Thu Jun 18 16:58:35 2015 Koichi Sasada <ko1@atdot.net>
-Wed Dec 24 23:48:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * method.h: constify rb_method_alias_struct::original_me and
+ rb_method_refined_struct::orig_me.
- * 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]
+ * class.c (move_refined_method): use RB_OBJ_WRITE() for
+ me->def->body.refined.orig_me.
-Wed Dec 24 23:29:30 2003 Tanaka Akira <akr@m17n.org>
+Thu Jun 18 14:35:28 2015 Koichi Sasada <ko1@atdot.net>
- * lib/tsort.rb (test_orphaned_break): removed.
+ * ext/objspace/objspace.c (count_imemo_objects): support imemo_ment.
-Wed Dec 24 20:53:06 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Jun 18 13:32:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/sample/tkmulticolumnlist.rb: new sample
+ * error.c (name_err_receiver): add NameError#receiver method.
+ [Feature #10881]
- * ext/tk/sample/tkmultilistframe.rb: bug fix
+Thu Jun 18 10:00:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Wed Dec 24 20:37:37 2003 Eric Sunshine <sunshine@sunshineco.com>
+ * safe.c: removed needless doc related $SAFE=3
- * configure.in (LDSHARED): Fixed typographical error in assignment of
- LDSHARED for Rhapsody which caused linking of extension modules to
- fail.
+Thu Jun 18 09:59:23 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Wed Dec 24 17:51:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * safe.c: rename old method name for $SAFE=3
- * file.c (rb_thread_flock): enable thread support again.
+Thu Jun 18 06:02:42 2015 Eric Wong <e@80x24.org>
-Wed Dec 24 16:46:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * compile.c (get_exception_sym2type, iseq_build_from_ary_body):
+ rely on %+PRIsVALUE instead of calling rb_inspect directly
- * 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.
+Wed Jun 17 20:59:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (thread_timer): do not post signal unless it is
- absolutely necessary.
+ * common.mk (ENC_MK): needs fake.rb if cross compilation.
+ [ruby-dev:49098] [Bug #11272]
- * rubysig.h (TRAP_END): add CHECK_INTS to switch thread.
+Wed Jun 17 20:23:29 2015 Tanaka Akira <akr@fsij.org>
- * regex.c (re_compile_pattern): check if nextp is smaller than
- pend. [ruby-dev:22372]
+ * ext/rbconfig/sizeof/extconf.rb: Check __float80.
- * eval.c (umethod_bind): remove method overridden check.
- [ruby-dev:22366]
+Wed Jun 17 15:15:53 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Dec 24 16:13:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * safe.c (safe_setter): of course, don't have to warn the limitation of
+ $SAFE=3 after it's removed.
- * ext/openssl/ossl_ssl.c (ossl_ssl_read): should check for error
- status by SSL_get_error().
+Wed Jun 17 14:29:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/openssl/ossl_ssl.c (ossl_ssl_write): ditto.
+ * include/ruby/ruby.h: $SAFE=3 is now obsolete.
-Wed Dec 24 14:23:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/init.c, ext/socket/socket.c, ext/socket/tcpsocket.c
+ ext/socket/udpsocket.c, gc.c, object.c, re.c, safe.c: removed code
+ for $SAFE=3
- * ext/stringio/stringio.c (strio_read): clear the buffer argument
- when returning nil. [ruby-dev:22363]
+ * bootstraptest/test_method.rb, test/erb/test_erb.rb, test/ruby/test_dir.rb
+ test/ruby/test_file.rb, test/ruby/test_method.rb, test/ruby/test_regexp.rb
+ test/ruby/test_thread.rb: remove tests for $SAFE=3
- * test/ruby/ut_eof.rb (TestEOF::test_eof_0, TestEOF::test_eof_1):
- add buffer argument tests.
+Wed Jun 17 12:13:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Wed Dec 24 14:07:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ChangeLog: added contributor name.
- * lib/test/unit/assertions.rb: Modules are allowed to rescue.
+Wed Jun 17 10:57:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/test/unit/autorunner.rb: show output_level in order.
+ * lib/csv.rb: accept to use Range object for row selection.
+ contributed by Mitsutaka Mimura.
+ [Feature #11267][ruby-dev:49091]
- * lib/test/unit/collector/dir.rb: get rid of successive same
- directories in load path.
+Wed Jun 17 09:50:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/testunit/test_assertions.rb (test_assert_nothing_raised,
- test_assert_raise): test for modules.
+ * lib/rdoc/servlet.rb (documentation_search, root_search):
+ requires json for JSON.dump and fix sporadic failures due to
+ the loading order.
-Wed Dec 24 13:43:34 2003 Shugo Maeda <shugo@ruby-lang.org>
+Tue Jun 16 19:19:53 2015 Tanaka Akira <akr@fsij.org>
- * lib/net/imap.rb (authenticate): remove "\n" from base64 encoded
- strings.
+ * ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99
+ and x86_64 ABI.
-Wed Dec 24 11:26:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * template/sizes.c.tmpl: Relax a pattern for types.
- * test/fileutils/test_fileutils.rb: should not create any
- files or directories in current directory. [ruby-talk:88724]
+Tue Jun 16 17:37:01 2015 Koichi Sasada <ko1@atdot.net>
-Wed Dec 24 10:29:53 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/objspace/test_objspace.rb: relax pattern because uncollectible
+ flag and marked flag can be false at major GC.
+ [Bug #10852]
- * ext/stringio/stringio.c (strio_read): never return nil at
- unlimited read. [ruby-dev:22334]
+Tue Jun 16 04:50:44 2015 Eric Wong <e@80x24.org>
- * ext/stringio/stringio.c (strio_read): support second
- argument. [ruby-dev:22350]
+ * ext/socket/basicsocket.c (bsock_recv): document outbuf
+ * ext/socket/unixsocket.c (unix_recvfrom): ditto
+ * ext/socket/init.c (rsock_strbuf, recvfrom_locktmp): new functions
+ (rsock_s_recvfrom): support destination buffer as 3rd arg
+ (rsock_s_recvfrom_nonblock): ditto
+ * string.c (rb_str_locktmp_ensure): export for internal ext
+ * test/socket/test_nonblock.rb: test recv_nonblock
+ * test/socket/test_unix.rb: test recv
+ [ruby-core:69543] [Feature #11242]
-Wed Dec 24 09:38:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jun 16 04:38:02 2015 Eric Wong <e@80x24.org>
- * parse.y (arg): should return 0 after error. [ruby-dev:22360]
+ * ext/socket/ancdata.c (bsock_sendmsg_internal,
+ bsock_recvmsg_internal):
+ support "exception: false" kwarg
+ * ext/socket/init.c (rsock_s_recvfrom_nonblock):
+ ditto
+ * ext/socket/init.c (rsock_s_recvfrom_nonblock): use rsock_opt_false_p
+ * ext/socket/socket.c (sock_connect_nonblock): ditto
+ * ext/socket/rubysocket.h (rsock_opt_false_p): new function
+ * ext/socket/basicsocket.c (bsock_recv_nonblock): update rdoc
+ * ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto
+ * test/socket/test_nonblock.rb: new tests
+ [ruby-core:69542] [Feature #11229]
-Wed Dec 24 00:56:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Jun 15 14:33:02 2015 Akinori MUSHA <knu@iDaemons.org>
- * io.c (read_all): do not return nil at the end of file.
- [ruby-dev:22334]
+ * lib/set.rb: Make Set#each and SortedSet#each generate a sized
+ enumerator. [GH-931] by kachick (Kenichi Kamiya)
- * io.c (argf_read): do not depend on nil at eof behavior of
- IO#read().
+ * test/test_set.rb: Import tests from Set into SortedSet. [GH-931]
+ by kachick (Kenichi Kamiya)
- * eval.c (rb_thread_join): dup exception before re-raising it.
+Mon Jun 15 02:26:34 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * io.c (rb_io_eof): call clearerr() to prevent side effect. this
- patch is supplied by Masahiro Sakai <sakai@tom.sfc.keio.ac.jp>.
- [ruby-dev:22234]
+ * lib/net/http.rb (Net::HTTP#connect): use connect_nonblock and
+ io/wait to eliminate timeout use. fix GH-899
- * pack.c (OFF16): get offset for big endian machines.
+Sat Jun 13 07:21:18 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
- * pack.c (pack_pack): use OFF16 instead of OFF16B.
- [ruby-dev:22344]
+ * thread.c (thread_start_func_2): don't interrupt when last thread
+ exit unless main thread is already exited. Otherwise main thread
+ could be wrongly interrupted when it uses rb_thread_call_without_gvl().
+ Patch by Takehiro Kubo. [Bug #11237][ruby-dev:49044][GH-898]
- * pack.c (pack_unpack): ditto.
+ * test/-ext-/gvl/test_last_thread.rb: new test for the above fix.
-Tue Dec 23 22:47:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/-test-/gvl/call_without_gvl/call_without_gvl.c: new ext for
+ the above test.
+ * ext/-test-/gvl/call_without_gvl/extconf.rb: ditto.
- * io.c (rb_io_check_readable): set FMODE_RBUF always, even if
- NEED_IO_SEEK_BETWEEN_RW is not defined. [ruby-dev:22340]
+Mon Jun 15 00:14:33 2015 Tanaka Akira <akr@fsij.org>
- * io.c (rb_io_check_writable): clear FMODE_RBUF before writing
- something.
+ * ext/pathname/lib/pathname.rb (descend): Blockless form supported.
+ (ascend): Ditto.
+ [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski.
-Tue Dec 23 22:25:00 2003 Gavin Sinclair <gsinclair@soyabean.com.au>
+Sun Jun 14 20:09:25 2015 Tanaka Akira <akr@fsij.org>
- * lib/optparse.rb: incomplete RDoc documentation added in place of
- existing RD comments. Tabs converted to spaces.
+ * time.c (time_getlocaltime): [DOC] Add examples of valid utc_offset
+ formats.
+ [ruby-core:68306] [Misc #10905] Patch by Charles Korn.
-Tue Dec 23 19:44:47 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Sun Jun 14 18:49:56 2015 Tanaka Akira <akr@fsij.org>
- * 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.
+ * ext/socket/raddrinfo.c (parse_numeric_port): Detect
+ port overflow.
+ (numeric_getaddrinfo): Use parse_numeric_port.
+ numeric_getaddrinfo fails if port is too big now.
+ This makes rb_getaddrinfo invokes the real getaddrinfo()
+ on such condition.
+ This change is related to [ruby-core:69355] [Bug #11179].
-Tue Dec 23 19:42:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Jun 14 17:26:03 2015 Tanaka Akira <akr@fsij.org>
- * io.c (rb_io_ungetc): raise an exception at unread stream to
- avoid unspecified behavior. [ruby-dev:22330]
+ * enum.c (enum_chunk_while): New method Enumerable#chunk_while.
+ [ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada.
- * test/ruby/test_system.rb (test_syntax): glob relatively from
- __FILE__.
+Sun Jun 14 17:20:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Dec 23 18:09:40 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * file.c (rb_file_load_ok): try opening file without gvl not to
+ lock entire process. [Bug #11060]
- * pack.c (pack_pack): remove unnecessary negative value check.
- [ruby-dev:22329]
+Sun Jun 14 10:43:50 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Dec 23 17:26:55 2003 KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
+ * tool/runruby.rb: just remove the lines of RUBY_VERSION check and raise
+ instead of replacing the check to `true`, for getting rid of a
+ warning `possibly useless use of true in void context`.
- * bcc32/Makefile.sub (config.h): bcc has finite(). [ruby-list:38940]
+Sun Jun 14 10:13:55 2015 Kouhei Sutou <kou@cozmixng.org>
-Tue Dec 23 16:08:16 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * lib/rexml/source.rb (REXML::IOSource#scan): Fix a typo in
+ document. [fix GH-934]
+ Patch by Anton Davydov. Thanks!!!
- * lib/rexml/encodings/US-ASCII.rb: typo. [ruby-talk:88650]
+Sun Jun 14 10:09:48 2015 Kouhei Sutou <kou@cozmixng.org>
- * test/ruby/test_system.rb: num of asserts depended on running dir.
+ * lib/rexml/attlistdecl.rb (REXML::AttlistDecl): Fix a typo in
+ document. [fix GH-934]
+ Patch by Anton Davydov. Thanks!!!
- * test/xsd/test_noencoding.rb: rexml + without iconv/uconv cannot
- handle euc-jp. install iconv, uconv or xmlscan.
+Sun Jun 14 06:24:57 2015 Benoit Daloze <eregontp@gmail.com>
-Tue Dec 23 14:13:51 2003 akira yamada <akira@ruby-lang.org>
+ * test/ruby/test_io.rb: add test for IO.binread fd leak.
+ See r50881.
- * lib/uri/generic.rb (URI::Generic::check_userinfo,
- URI::Generic::check_user, URI::Generic::check_password): tests
- conflicts/depends with other components closely.
+Sun Jun 14 05:23:51 2015 Benoit Daloze <eregontp@gmail.com>
- * test/uri/test_generic.rb (TestGeneric::test_set_component):
- added tets.
+ * io.c (rb_io_s_binread): close fd if seek offset is invalid.
-Tue Dec 23 11:08:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Sun Jun 14 04:40:32 2015 Benoit Daloze <eregontp@gmail.com>
- * 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]
+ * test/lib/leakchecker.rb (check): refactor.
-Tue Dec 23 06:10:31 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Jun 14 04:34:14 2015 Benoit Daloze <eregontp@gmail.com>
- * lib/webrick/cgi.rb (CGI): add support for mod_ruby.
+ * test/lib/leakchecker.rb: Return false for no leaks.
+ Otherwise the GC could run for nothing.
- * lib/webrick/cgi.rb (CGI::Socket): add check for existence of
- OpenSSL module in all HTTPS related methods.
+Sun Jun 14 04:15:40 2015 Benoit Daloze <eregontp@gmail.com>
- * lib/webrick/cgi.rb (CGI::Socket#cipher): should create similar
- value to OpenSSL::SSLSocket#cipher.
+ * lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip]
- * lib/webrick/httpresponse.rb (HTTPResponse#setup_header): should
- set "connection: close" if @keep_alive is false.
+Sat Jun 13 20:28:14 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/webrick/https.rb (HTTPrequest#meta_vars): add supprt for
- SSL_PROTOCOL, SSL_CIPHER_USEKEYSIZE and SSL_CIPHER_ALGKEYSIZE.
+ * file.c (rb_stat_ino): get inode from the interval of struct st.
-Mon Dec 22 23:00:05 2003 akira yamada <akira@ruby-lang.org>
+ * win32/win32.c (stati64_set_inode): get nFileIndexHigh/Low, and set it
+ to the interval of struct st as inode.
+ [Feature #11216]
- * lib/uri/generic.rb (URI::Generic::check_opaque): fixed typo.
+ * win32/win32.c (stati64_set_inode_handle): call stati64_set_inode.
-Mon Dec 22 21:59:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/win32.c (rb_w32_fstati64): call stati64_set_inode_handle.
- * ext/iconv/iconv.c (map_charset): always ensure code is a String.
+ * win32/win32.c (stati64_handle): call stati64_set_inode.
-Mon Dec 22 21:15:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 13 19:44:53 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * class.c (rb_mod_init_copy): always copy singleton class.
- [ruby-dev:22325]
+ * ext/io/console/depend (.list.chksum): revert a part of r50859, because
+ it was not mentioned at its commit log and it caused a build error on
+ Windows ($(MAKE) is already quoted).
-Mon Dec 22 20:44:36 2003 akira yamada <akira@ruby-lang.org>
+Sat Jun 13 17:35:11 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/uri/generic.rb (URI::Generic#route_from): accepts urls which
- has no host-part.
+ * vm_core.h (rb_thread_t): add th->name.
- * test/uri/test_generic.rb (TestGeneric::test_route): added a test.
+ * vm.c (th_init): initialize th->name.
-Mon Dec 22 20:38:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * thread.c (Init_Thread): add Thread.name and name=. [Feature #11251]
- * lib/cgi.rb: reduce eval.
+ * thread.c (rb_thread_inspect): show thread's name if set.
- * lib/cgi.rb (CGI::QueryExtension::read_multipart): alias path to
- local_path. [ruby-list:38883]
+ * thread.c (rb_thread_getname): defined.
-Mon Dec 22 20:09:31 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * thread.c (rb_thread_setname): ditto.
- * test/soap/test_property.rb: remove duplicated test method.
+Sat Jun 13 11:39:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Dec 22 18:22:04 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/tempfile.rb: Fix typo. [fix GH-933] Patch by @Zorbash
- * bcc32/Makefile.sub, win32/Makefile.sub (config.h): remove
- HAVE_ISINF definition to follow previous commits of missing.h
- and win32/win32.h.
+Sat Jun 13 11:38:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Dec 22 17:23:42 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/openssl/ossl_ocsp.c: fix documentation on ocsp response cert status.
+ [fix GH-932] Patch by @chrisholmes
- * configure.in (ac_cv_func_setitimer): moved from defines.h
+Sat Jun 13 11:35:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * defines.h, rubysig.h, signal.c: removed macro handling which
- should be done in configure.
+ * 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 (intrinsics.h): check if present.
+Sat Jun 13 00:45:08 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * ruby.h: include intrinsics.h if available.
+ * lib/prime.rb: Return sized enumerators.
+ Patch by Kenichi Kamiya [GH-931]
- * bignum.c, marshal.c: include ieeefp.h if available.
+Sat Jun 13 00:45:06 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * missing.h (isinf): define as a macro if finite() and isnan()
- are available. [ruby-core:02032]
+ * lib/prime.rb: Fix with_object with no block given
-Mon Dec 22 17:07:31 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Sat Jun 13 00:44:59 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * configure.in (mingw): set isnan, finite and isinf to yes.
+ * lib/prime.rb: Have with_index accept an offset parameter.
+ Based on patch by T Yamada. [#11007]
-Mon Dec 22 13:40:19 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Fri Jun 12 22:21:12 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * lib/soap/property.rb: passing block by reference.
+ * test/ruby/test_extlibs.rb (TestExtLibs::check_existence): fix
+ error. [Bug #11255] [ruby-dev:49079]
-Mon Dec 22 00:32:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jun 12 21:17:46 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c (rb_with_disable_interrupt): use ENABLE_INTS instead of
- ALLOW_INTS which may switch context. [ruby-dev:22319]
+ * pack.c (pack_{un,}pack): new template character `j` and `J`, pointer
+ with signed and unsigned integers.
- * ext/syck/emitter.c (syck_emitter_write): str bigger than
- e->bufsize causes buffer overflow. [ruby-dev:22307]
+ * NEWS: mention about this feature.
+ [Feature #11215] [ruby-dev:49015]
-Sun Dec 21 17:29:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jun 12 21:01:44 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * class.c (rb_check_inheritable): new function. [ruby-dev:22316]
+ * file.c (File::SHARE_DELETE): new flag to be able to delete opened file
+ on Windows.
- * intern.h: add prototype.
+ * include/win32/win32.c (O_SHARE_DELETE): new pseudo file mode flag.
- * eval.c (superclass): use rb_check_inheritable().
+ * win32/win32.c (rb_w32_{w,}open): support above flag. [EXPERIMENTAL]
- * object.c (rb_class_initialize): check argument validity.
+ * NEWS: mention about this feature.
+ [Feature #11218] [ruby-dev:49022]
-Sun Dec 21 16:25:10 2003 Tanaka Akira <akr@m17n.org>
+Fri Jun 12 18:21:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * 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#+.
+ * ChangeLog: added missing commit message.
-Sun Dec 21 00:12:37 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Fri Jun 12 18:20:37 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tk.rb: add new methods (TkScrollbar#assign, assign_list)
+ * sample/exyacc.rb: Fix some typos. [fix GH-927] Patch by @davydovanton
+ * sample/list.rb: ditto.
+ * sample/trick2013/kinaba/remarks.markdown: ditto.
- * ext/tk/sample/tkmultilistframe.rb: use TkScrollbar#assign method
+Fri Jun 12 17:34:14 2015 Wojciech Mach <wojtek@wojtekmach.pl>
-Sat Dec 20 21:59:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * hash.c (rb_hash_fetch_values): add `Hash#fetch_values`.
+ [Feature #10017] [Fix GH-776]
- * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): refine regexp.
+Fri Jun 12 16:28:17 2015 Radan Skoric <radan.skoric@gmail.com>
- * lib/webrick/cgi.rb (CGI#start): NPH scripts return status line
- instead of Status: header field.
+ * array.c (rb_ary_bsearch_index): Implement Array#bsearch_index
+ method, which is similar to bsearch and returns the index or
+ nil. [Feature #10730]
- * lib/webrick/cgi.rb (CGI::Socket): refine some coditions.
+Thu Jun 11 19:11:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sat Dec 20 16:07:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/zlib/zlib.c: Fix indentation for rdoc.
+ [Bug #11221][ruby-core:69465]
- * lib/optparse.rb (OptionParser::Completion::complete): wrong
- Regexp for word boundary. pointed out by Gavin Sinclair.
+Thu Jun 11 16:23:37 2015 Koichi Sasada <ko1@atdot.net>
- * lib/optparse.rb (OptionParser::make_switch): [no-] prefix was
- missing.
+ * method.h (METHOD_ENTRY_BASIC_SET): fix last commit (unbalanced parens).
-Sat Dec 20 11:40:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 11 15:14:16 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/yaml.rb (YAML::YAML): adjust Marshal version.
+ * configure.in: define SET_THREAD_NAME if it has pthread_set_name_np
+ for FreeBSD, and don't define it if both pthread_setname_np
+ and pthread_set_name_np don't exist.
-Sat Dec 20 03:56:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * thread_pthread.c (SET_THREAD_NAME): don't define if they don't exist.
- * eval.c (rb_with_disable_interrupt): prohibit thread context
- switch during proc execution. [ruby-dev:21899]
+ * thread_pthread.c (native_set_thread_name): run if SET_THREAD_NAME
+ is defined.
-Sat Dec 20 02:41:02 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Thu Jun 11 15:53:31 2015 Koichi Sasada <ko1@atdot.net>
- * lib/webrick/cgi.rb: add file. (yet another CGI library)
+ * method.h (METHOD_ENTRY_BASIC_SET): should clear last bit.
- * MANIFEST: add lib/webrick/cgi.rb.
+Thu Jun 11 14:34:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sat Dec 20 02:18:31 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/rubygems.rb: bump version to 2.4.7 and 2.4.8. these versions fixed
+ CVE-2015-3900.
+ * lib/rubygems/remote_fetcher.rb: ditto.
+ * test/rubygems/test_gem_remote_fetcher.rb: added testcase for CVE-2015-3900
- * misc/ruby-mode.el (ruby-calculate-indent): proper indentation
- inside of parentheses. [ruby-dev:22308]
+Thu Jun 11 14:18:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Dec 19 21:24:22 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/rubygems.rb: bump version to 2.4.6. It's missing change at r49774.
- * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): should not set
- HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH.
+Thu Jun 11 13:50:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/webrick/https.rb (HTTPRequest#parse): should check presence
- of cert() method to detect SSLSocket.
+ * 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]
-Fri Dec 19 22:56:46 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * array.c (ary_ensure_room_for_unshift, rb_ary_splice): ditto.
- * lib/soap/property.rb (SOAP::Property#load): new method for loading
- property value into existing property tree.
+Thu Jun 11 13:17:34 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/soap/test_property.rb: add test.
+ * test/test_cmath.rb (TestCMath#test_trigonometric_functions): should
+ not compare float values (in complex values) by `==`.
-Fri Dec 19 19:21:49 2003 akira yamada <akira@ruby-lang.org>
+Thu Jun 11 08:52:01 2015 Koichi Sasada <ko1@atdot.net>
- * lib/runit/cui/testrunner.rb (RUNIT::CUI::TestRunner::run):
- should use Test::Unit::UI::{PROGRESS_ONLY,VERBOSE}.
+ * method.h: embed rb_method_entry_t::attr::flags (5 bits) into
+ rb_method_entry_t::flags to make one word spare space.
-Fri Dec 19 17:36:49 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ Add some macros to access these flags.
- * ext/tk/sample/tkmultilistbox.rb: bug fix
+ * vm_method.c: use these macros.
- * ext/tk/sample/tkmultilistframe.rb: new sample script
+ * internal.h: define IMEMO_FL_USHIFT and IMEMO_FL_USER[0-4]
+ for T_IMEMO local flags.
-Fri Dec 19 03:44:27 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Thu Jun 11 08:27:06 2015 Koichi Sasada <ko1@atdot.net>
- * lib/webrick/httputils.rb (parse_form_data): should return an
- empty Hash if the body is empty.
+ * vm.c: use VM_ASSERT instead of assert().
-Thu Dec 18 21:47:35 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * vm_args.c: ditto.
- * lib/mkmf.rb (create_makefile): should remove deffile if it's
- made by miniruby. based on nobu's patch.
+ * vm_insnhelper.c: ditto.
-Thu Dec 18 21:44:21 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * vm_method.c: ditto.
- * eval.c (stack_extend): ignore inline optimization on VC7.
+Thu Jun 11 08:16:48 2015 Koichi Sasada <ko1@atdot.net>
- * win32/Makefile.sub (OS, RT): can override.
+ * vm_core.h: define VM_ASSERT() for assertion
+ enabled only when (VM_CHECK_MODE > 0).
- * win32/Makefile.sub (LDFLAGS): ditto. shouldn't use pdb:none
- option. based on Tietew's patch [ruby-dev:22289]
+ * vm_insnhelper.c: move definition VM_CHECK_MODE
+ from vm_insnhelper.c to vm_core.h.
-Thu Dec 18 16:38:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm.c: remove <assert.h>
- * dir.c (fnmatch): unlike find_dirsep(), rb_path_next() never
- return NULL.
+Thu Jun 11 06:46:07 2015 Koichi Sasada <ko1@atdot.net>
-Thu Dec 18 15:27:59 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * vm_insnhelper.c (check_frame): check type of cref_or_me first.
- * lib/ipaddr.rb (IPSocket::getaddress): merge usa's patch.
- [ruby-dev:21678]
+Thu Jun 11 04:34:39 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
-Wed Dec 17 15:15:30 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/test_cmath.rb: Add some assertions.
- * lib/cgi.rb (CGI::QueryExtension::Value::[]): should work like
- String#[] if more than one arguments are specified.
+Thu Jun 11 00:34:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/delegate.rb: avoid using common instance name as "@obj".
+ * template/fake.rb.in: expanded macro result may have spaces
+ between tokens. [ruby-dev:49047] [Bug #11243]
- * lib/cgi.rb (CGI::QueryExtension::Value): Value is no longer
- subclass of String, but DelegateClass(String).
+Wed Jun 10 22:27:32 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/curses/extconf.rb: restore function check for init_color.
- [ruby-list:38905]
+ * lib/mkmf.rb: revert r50804 because of build failure when specifying
+ LDFLAGS during configure, observed on Solaris with GCC 4.6.
+ [Bug #11245]
- * Makefile.in: need to specify $(MAINLIBS) for the miniruby
- generation rule.
+Wed Jun 10 21:59:51 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * configure.in: better FreeBSD -lc_r support.
+ * README.ja.md: fix markup miss.
-Wed Dec 17 00:16:14 2003 Minero Aoki <aamine@loveruby.net>
+Wed Jun 10 11:06:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/strscan/strscan.c: new method
- StringScanner#beginning_of_line? (alias #bol?)
+ * template/fake.rb.in: turn into erb template from autoconf
+ template to fake more accurately.
- * ext/strscan/strscan.c: new method StringScanner#concat and #<<.
+ * common.mk (fake.rb): needs preprocessed file now.
- * ext/strscan/strscan.c: StringScanner#new(str) does not duplicate
- nor freeze STR (allow destructive modification).
+ * version.c (Init_version): add dummy expression to
+ RUBY_ENGINE_VERSION.
- * test/strscan/test_stringscanner.rb: test new methods above.
+Tue Jun 9 12:31:25 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * test/strscan/test_stringscanner.rb: test destructive string
- modification.
+ * lib/prime.rb: Simplify and optimize EratosthenesSieve
-Tue Dec 16 21:20:47 2003 Tanaka Akira <akr@m17n.org>
+Tue Jun 9 11:45:00 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * lib/pp.rb: don't use local variable `pp'.
+ * lib/prime.rb: Simplify and optimize EratosthenesSieve
+ based on patch by Ajay Kumar. [Fixes GH-921]
- * lib/prettyprint.rb: ditto.
+Mon Jun 8 05:09:58 2015 Koichi Sasada <ko1@atdot.net>
-Tue Dec 16 13:20:43 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * gc.c (obj_info): print method id for T_IMEMO/ment.
- * ext/tk/lib/tk.rb: condition bug of if statement on
- {pack,grid}_propagate methods
+Sun Jun 7 07:05:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
-Tue Dec 16 03:17:29 2003 why the lucky stiff <why@ruby-lang.org>
+ * Move test cases from test/ruby/test_complex.rb to test/test_cmath.rb
- * lib/yaml/rubytypes.rb: comments in strings. [ruby-talk:88012]
+Sat Jun 6 18:23:41 2015 Koichi Sasada <ko1@atdot.net>
- * test/yaml/test_yaml.rb: add test.
+ * method.h: back to share rb_method_definition_t by
+ rb_method_entry_t.
-Tue Dec 16 01:14:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ r50728 changed sharing `def's to isolating `def's
+ on alias and so on. However, this change conflicts
+ future improvement plan. So I change back to sharing approach.
- * eval.c (catch_timer): check rb_thread_crtical in main native
- thread.
+ * method.h: move rb_method_definition_t::flags to
+ rb_method_entry_t::attr::flags.
- * eval.c (thread_timer): just sends signals periodically, to
- prevent main native thread from receiving them in critical
- section. [ruby-core:01959]
+ rb_method_entry_t::attr is union with VALUE because this field
+ should have same size of VALUE. rb_method_entry_t is T_IMEMO).
-Mon Dec 15 13:32:22 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ And also add the following access macros to it's fields.
- * dir.c (check_dirname): check string safety and remove extraneous
- trailing directory separators. [ruby-dev:22279]
+ * METHOD_ENTRY_VISI(me)
+ * METHOD_ENTRY_BASIC(me)
+ * METHOD_ENTRY_SAFE(me)
- * file.c: renamed and externalized rb_path_next,
- rb_path_skip_prefix, rb_path_last_separator, rb_path_end.
+ * vm_method.c (rb_method_definition_addref): added instead of
+ rb_method_definition_clone().
- * intern.h: prototypes for rb_path_next, rb_path_skip_prefix,
- rb_path_last_separator, rb_path_end.
+ Do not create new definition, but increment alias_count.
-Mon Dec 15 09:27:46 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * class.c (clone_method): catch up this fix.
- * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): first argument
- of rb_protect should take an argument of VALUE.
+ * class.c (method_entry_i): ditto.
-Sun Dec 14 18:46:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * proc.c (mnew_internal): ditto.
- * ext/socket/socket.c (Init_socket): IPv6 is not supported although
- AF_INET6 is defined on MinGW.
+ * proc.c (mnew_missing): ditto.
- * lib/ipaddr.rb (AF_INET6): workaround in the environment which does
- not support IPv6.
+ * vm_eval.c: ditto.
-Sat Dec 13 18:55:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_insnhelper.c: ditto.
- * ext/iconv/charset_alias.rb: preserve original order.
+ * vm_method.c: ditto.
- * ext/iconv/extconf.rb: remove wrapper file at clean.
+Sat Jun 6 15:59:38 2015 Koichi Sasada <ko1@atdot.net>
-Sat Dec 13 18:09:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * class.c: ins_methods_push() needs rb_method_visibility_t type on
+ 2nd arg.
- * eval.c (thread_timer): use timer by sub-thread and nanosleep.
- [ruby-talk:87519]
+Sat Jun 6 15:05:47 2015 Koichi Sasada <ko1@atdot.net>
- * gc.c (Init_stack): no stack adjustment for THREAD_SAFE.
+ * class.c (ins_methods_push): Change type and name of parameters
+ to make more clear.
-Sat Dec 13 17:17:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 6 08:52:13 2015 Eric Wong <e@80x24.org>
- * eval.c (proc_alloc): cache the created object at first time.
- [ruby-talk:61288], [ruby-dev:22240]
+ * test/socket/test_nonblock.rb: try to avoid EMSGSIZE
+ [ruby-core:69466]
-Sat Dec 13 09:01:23 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jun 6 07:58:30 2015 Koichi Sasada <ko1@atdot.net>
- * configure.in: check ucontext.h.
+ * gc.c: remove struct mark_tbl_arg and pass objspace directly
+ to avoid indirect access overhead.
- * eval.c: use getcontext/setcontext() instead of setjmp/longjmp()
- on ia64 or with native thread enabled. [ruby-core:01932]
+Sat Jun 6 07:08:45 2015 Eric Wong <e@80x24.org>
-Sat Dec 13 03:09:14 2003 why the lucky stiff <why@ruby-lang.org>
+ * ext/socket/ancdata.c (bsock_sendmsg_internal): drop redundant assignment
- * lib/yaml/rubytypes.rb: anonymous struct fix. [ruby-core:01946]
+Sat Jun 6 01:00:06 2015 Naohisa Goto <ngotogenome@gmail.com>
- * test/yaml/test_yaml.rb: add test.
+ * ext/socket/ancdata.c (bsock_sendmsg_internal): all arguments are
+ parsed even on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROL
+ to prevent SEGV caused by passing Qnil to RARRAY_LENINT and
+ to preserve behavior before r50776.
+ [Bug #11224] [ruby-core:69468] [Bug #11225] [ruby-core:69469]
-Fri Dec 12 22:36:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Fri Jun 5 22:37:42 2015 Koichi Sasada <ko1@atdot.net>
- * lib/csv.rb: add Cell#to_str and Cell#to_s for /.../ =~ aCell,
- "#{aCell}" and so on.
+ * class.c (ins_methods_push): change 3rd parameter's type
+ from long to rb_method_visibility_t.
- * test/csv/test_csv.rb: add tests.
+ * class.c (ins_methods_i): catch up this fix.
-Fri Dec 12 19:33:06 2003 Minero Aoki <aamine@loveruby.net>
+ * class.c (method_entry_i): cast to st_data_t instead of `long'.
- * lib/fileutils.rb (mkdir): remove trailing `/' from pathes.
+Fri Jun 5 20:37:10 2015 Koichi Sasada <ko1@atdot.net>
- * lib/fileutils.rb (rmdir): ditto. [ruby-dev:22238]
+ * internal.h: move definition of rb_cref_t to method.h.
- * lib/fileutils.rb (rmdir_r): ditto.
+ * eval_intern.h: move definition of rb_scope_visibility_t
+ to method.h.
- * lib/fileutils.rb (fu_copy_dir): check if it is a directory after
- mkdir(2).
+ * method.h: change rb_cref_t::scope_visi from VALUE to
+ rb_scope_visibility_t.
+ [Bug #11219]
-Fri Dec 12 06:06:09 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm.c (vm_cref_new): accept rb_method_visibility_t directly.
- * eval.c (proc_invoke): fix class name in warning message for
- define_method. [ruby-dev:22235]
+ * vm_insnhelper.c (rb_vm_rewrite_cref): don't use 0,
+ but METHOD_VISI_UNDEF.
-Thu Dec 11 21:24:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * vm_method.c (rb_scope_visibility_set): don't need to use cast.
- * ext/openssl/ossl_pkcs12.[ch]: new files. add OpenSSL::PKCS12.
+ * vm_method.c (rb_scope_module_func_set): ditto.
- * ext/openssl/ossl.[ch]: ditto.
+Fri Jun 5 17:27:30 2015 Eric Wong <e@80x24.org>
- * ext/openssl/MANIFEST: add ossl_pkcs12.[ch].
+ * ext/socket/ancdata.c (bsock_sendmsg_internal): avoid msg_control
+ ptr if msg_controllen is zero to fix portability problems.
-Thu Dec 11 20:54:28 2003 Minero Aoki <aamine@loveruby.net>
+Fri Jun 5 09:17:45 2015 Eric Wong <e@80x24.org>
- * lib/fileutils.rb (mkdir_p): remove trailing `/' befere mkdir(2).
- mkdir("nonexistdir/") does not work on NetBSD/Alpha 1.6.1.
+ * ext/socket/ancdata.c (bsock_sendmsg_internal): fix build error
+ from r50776
- * lib/fileutils.rb (fu_list): call to_str for all arguments.
+Fri Jun 5 07:05:58 2015 Eric Wong <e@80x24.org>
-Thu Dec 11 20:07:01 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * io.c (sym_wait_readable, sym_wait_writable): declare
+ (io_getpartial): use sym_wait_readable
+ (io_write_nonblock): use sym_wait_writable
+ (Init_IO): initialize sym_wait_*able
- * lib/ftools.rb (makedirs): sync with fileutils.
+Fri Jun 5 06:43:00 2015 Eric Wong <e@80x24.org>
-Thu Dec 11 19:53:03 2003 Minero Aoki <aamine@loveruby.net>
+ * doc/extension.rdoc: note rb_get_kwargs changes keywords_hash
+ [ruby-core:68507]
- * lib/fileutils.rb (mkdir_p): catch all SystemCallErrors.
- (mkdir("C:\") causes EACCESS on Windows 2000/NTFS)
+Fri Jun 5 05:50:29 2015 Eric Wong <e@80x24.org>
-Thu Dec 11 19:08:02 2003 Minero Aoki <aamine@loveruby.net>
+ * ext/socket/ancdata.c (bsock_sendmsg_internal): use rb_scan_args
+ [ruby-core:69439] [Feature #11207]
- * 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)
+Fri Jun 5 02:20:06 2015 Koichi Sasada <ko1@atdot.net>
-Thu Dec 11 18:49:30 2003 Minero Aoki <aamine@loveruby.net>
+ * test/lib/envutil.rb (assert_no_memory_leak): change default value
+ of limit from 1.5 to 2.0. It is ad-hoc fix to solve test failure
+ in travis-ci.
- * lib/fileutils.rb: def m( arg ) -> def m(arg).
+Fri Jun 5 01:17:21 2015 Koichi Sasada <ko1@atdot.net>
-Thu Dec 11 11:39:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_insnhelper.c (vm_defined): no need to use cast.
- * configure.in (ieeefp.h), numeric.c: needed for finite() on
- Solaris. [ruby-core:01921]
+Fri Jun 5 01:14:02 2015 Koichi Sasada <ko1@atdot.net>
- * file.c (rb_stat_inspect): adjust format specifier.
+ * vm_insnhelper.c (vm_defined): show additional messages on rb_bug().
- * parse.c (arg_prepend): nodetype() is for debug use.
+Fri Jun 5 01:06:02 2015 Koichi Sasada <ko1@atdot.net>
- * ruby.h (ISASCII, etc): cast to int to get rid of warning.
+ * vm_method.c (rb_add_method_iseq): use intermediate struct to
+ avoid initializing struct with variables.
+ [Bug #11217]
- * ruby.h (alloca.h): include even in GCC. [ruby-core:01925]
+ * method.h: add a comment about it.
- * ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
- specifier.
+Fri Jun 5 00:55:21 2015 Koichi Sasada <ko1@atdot.net>
- * ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
- BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.
+ * method.h: constify rb_method_refined_t::orig_me.
- * ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.
+ Also constify the following functions.
- * ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
- volatile.
+ * rb_resolve_refined_method()
+ * rb_method_entry_with_refinements()
+ * rb_method_entry_without_refinements()
+ * rb_method_entry_copy()'s parameter.
- * ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
- format specifier.
+ * class.c: catch up this fix.
- * ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
- define unless used.
+ * vm_insnhelper.c: ditto.
- * ext/pty/pty.c (getDevice): get rid of warning.
+ * vm_method.c: ditto.
- * ext/socket/socket.c (port_str, sock_s_getaddrinfo,
- sock_s_getnameinfo): FIX2INT() now returns long.
+Thu Jun 4 12:47:54 SGT 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/socket/socket.c (init_inetsock_internal): uninitialized
- variable.
+ * array.c: Revert r50763. because "reentered" is not typo.
- * ext/syck/rubyext.c (syck_parser_assign_io): add prototype.
+Thu Jun 4 11:12:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * 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.
+ * ext/win32ole/win32ole.c: fix a typo. Patch by @davydovanton
+ [fix GH-923]
+ * include/ruby/st.h: ditto.
+ * include/ruby/util.h: ditto.
-Wed Dec 10 19:28:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 4 10:54:30 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/stringio/stringio.c (strio_read): set EOF flag at short read.
- [ruby-dev:22223], [ruby-dev:22224]
+ * array.c: fix a typo. Patch by @manish-shrivastava
+ [fix GH-922]
-Wed Dec 10 18:07:25 2003 Minero Aoki <aamine@loveruby.net>
+Thu Jun 4 09:52:02 2015 Eric Wong <e@80x24.org>
- * lib/erb.rb: new method ERB#filename(=). [ruby-dev:22208]
+ * ext/openssl/lib/openssl/ssl.rb: use io/nonblock instead of fcntl
+ [ruby-core:69382] [Feature #11190]
-Wed Dec 10 17:54:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Jun 4 07:22:45 2015 Koichi Sasada <ko1@atdot.net>
- * ext/stringio/stringio.c (strio_read): do not set EOF flag when
- requested length is zero. [ruby-dev:22214]
+ * method.h: introduce rb_method_refined_t for refined method entry.
-Wed Dec 10 17:17:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * class.c (move_refined_method): catch up this fix.
- * io.c (read_all): should return given string even if data read is
- empty. [ruby-dev:22207]
+ * gc.c (mark_method_entry): ditto.
-Wed Dec 10 17:16:06 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_eval.c (vm_call0_body): ditto.
- * ext/stringio/stringio.c (strio_read): adjust behavior at reading
- beyond EOF to IO. [ruby-dev:22205]
+ * vm_insnhelper.c (vm_call_method): ditto.
- * test/ruby/ut_eof.rb (TestEOF::Seek): test behaviors at reading
- beyond EOF.
+ * vm_method.c: ditto.
- * test/ruby/test_file.rb, test/stringio/test_stringio.rb: include
- TestEOF::Seek test case.
+Thu Jun 4 07:12:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Dec 10 15:01:19 2003 Shugo Maeda <shugo@ruby-lang.org>
+ * dir.c (dirent_match): match short names only when FNM_SHORTNAME
+ flag is given, for the backward compatibility, and the new
+ behavior is often dangerous. [ruby-core:69435] [Bug #11206]
- * test/monitor/test_monitor.rb (test_cond): use Queue#deq
- instead of sleep.
+Thu Jun 4 05:44:01 2015 Eric Wong <e@80x24.org>
-Wed Dec 10 14:45:39 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * variable.c (special_generic_ivar): remove flag
+ (givar_i, rb_mark_generic_ivar_tbl): remove functions
+ (rb_free_generic_ivar, rb_ivar_lookup, rb_ivar_delete,
+ generic_ivar_set, rb_ivar_set, rb_ivar_defined,
+ rb_copy_generic_ivar, rb_ivar_foreach, rb_ivar_count,
+ rb_obj_remove_instance_variable):
+ adjust for lack of ivar support in special constants
+ * test/ruby/test_variable.rb: test ivars for special consts
+ * internal.h: remove rb_mark_generic_ivar_tbl decl
+ * gc.c (gc_mark_roots): remove rb_mark_generic_ivar_tbl call
+ [ruby-core:69441] [Feature #11208]
- * 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)
+Thu Jun 4 05:13:34 2015 Koichi Sasada <ko1@atdot.net>
- * ext/pty/pty.c (establishShell): should close descriptors if fork
- failed.
+ * vm_insnhelper.c (def_iseq_ptr): `iseqval' is not available any more.
-Wed Dec 10 12:53:05 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Thu Jun 4 04:50:12 2015 Koichi Sasada <ko1@atdot.net>
- * win32/win32.h: define execv() using do_aspawn().
+ * class.c (method_entry_i): mtbl should not have `me' as NULL.
- * process.c (proc_exec_v): remove #ifdef's which stopped needing.
+Thu Jun 4 04:28:45 2015 Koichi Sasada <ko1@atdot.net>
-Tue Dec 9 23:32:23 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * class.c (clone_method): do not use me->klass, but use explicitly
+ passed argument.
- * ext/tk/lib/tk.rb, ext/tk/lib/tkcanvas.rb, ext/tk/lib/tkdialog.rb,
- ext/tk/lib/tkentry.rb, ext/tk/lib/tkscrollbox.rb, ext/tk/lib/tktext.rb,
- ext/tk/sample/tkalignbox.rb, ext/tk/sample/tkcombobox.rb,
- ext/tk/sample/tkmultilistbox.rb, ext/tk/sample/tkoptdb.rb, ext/tk/sample/tktextframe.rb,
- ext/tk/sample/demos-en/dialog1.rb, ext/tk/sample/demos-en/dialog2.rb,
- ext/tk/sample/demos-jp/dialog1.rb, ext/tk/sample/demos-jp/dialog2.rb:
- overrided instance methods, which are private methods on the super
- class, are changed to 'private'
+Thu Jun 4 04:10:43 2015 Koichi Sasada <ko1@atdot.net>
-Tue Dec 9 19:53:02 2003 akira yamada <akira@ruby-lang.org>
+ * vm_core.h (rb_vm_rewrite_cref_stack): rename to rb_vm_rewrite_cref().
- * lib/uri/generic.rb (URI::Generic#route_from0): make case insensitive
- for host-part.
+ * class.c (clone_method): use renamed name.
- * test/uri/test_generic.rb (test_route): added tests for the above
- change.
+ * vm_insnhelper.c (rb_vm_rewrite_cref): do not use `node' in variable
+ names.
-Tue Dec 9 14:10:48 2003 Tanaka Akira <akr@m17n.org>
+Wed Jun 3 23:03:50 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * vm_method.c: rename `rb_frame_...' to `rb_scope_...'.
-Tue Dec 9 02:53:55 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * eval_intern.h: move decl. of rb_scope_visibility_set() to method.h.
- * ext/tk/sample/tkalignbox.rb: new sample script
+ * load.c: catch up this fix.
-Tue Dec 9 00:45:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+Wed Jun 3 21:14:20 2015 Tanaka Akira <akr@fsij.org>
- * lib/test/unit/assertions.rb: renamed #assert_raises to #assert_raise
- and made the former call the latter. [ruby-core:01890]
+ * ext/rbconfig/sizeof/extconf.rb: Check C99 standard integer types.
- * test/testunit/test_assertions.rb: ditto.
+Wed Jun 3 21:00:47 2015 Tanaka Akira <akr@fsij.org>
-Tue Dec 9 00:07:35 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * configure.in: Don't check __int128.
- * lib/soap/rpc/standaloneServer.rb: add 'shutdown' and 'status'
- methods as delegates to WEBrick.
+ * ext/rbconfig/sizeof/extconf.rb: Check __int128.
- * 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.
+ * ext/rbconfig/sizeof/depend: sizes.c depends on
+ ext/rbconfig/sizeof/extconf.rb.
-Mon Dec 8 22:48:03 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * template/sizes.c.tmpl: Detect check_sizeof.
- * lib/test/unit/autorunner.rb: remove dependency to a particular
- runner. [ruby-core:01901], [ruby-list:38869]
+Wed Jun 3 20:07:07 2015 Koichi Sasada <ko1@atdot.net>
- * lib/test/unit/ui/testrunnerutilities.rb: moved output level
- constants from Console.
+ * class.c (clone_method): remove redundant check for me->def != NULL.
+ Now, all `me` have `me->def`.
- * lib/test/unit/ui/console/testrunner.rb: ditto.
+ * proc.c (rb_method_entry_location): ditto.
- * lib/test/unit/ui/{fox,gtk,gtk2,tk}/testrunner.rb (initialize):
- accept output_level.
+ * vm.c (rb_vm_check_redefinition_opt_method): ditto.
-Mon Dec 8 15:03:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm.c (add_opt_method): ditto.
- * ext/syck/syck.c (syck_io_str_read): get rid of buffer overflow.
+ * vm_eval.c (vm_call0_body): ditto.
-Mon Dec 8 13:02:11 2003 Minero Aoki <aamine@loveruby.net>
+Wed Jun 3 19:24:12 2015 Koichi Sasada <ko1@atdot.net>
- * lib/uri/common.rb: new method URI.regexp. [ruby-dev:22121]
+ * vm_core.h: rename enum missing_reason to enum method_missing_reason.
- * test/uri/test_common.rb: add test for URI.regexp.
+ * vm_core.h: use enum method_missing_reason for
+ rb_thread_t::method_missing_reason.
-Mon Dec 8 12:44:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_eval.c: catch up this fix.
- * pack.c: define swap16 and swap32 only if they are not
- defined. OpenBSD defines these macros. [ruby-dev:22181]
+ * vm_insnhelper.c: ditto.
-Sun Dec 7 20:54:17 2003 Tanaka Akira <akr@m17n.org>
+Wed Jun 3 16:17:21 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * 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.
+ * vm.c: eagerly allocate `loading_table`. This eliminates the need to
+ do NULL checks when looking up the `loading_table` hash.
+ https://github.com/ruby/ruby/pull/918
-Sat Dec 6 22:58:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * load.c: remove various NULL checks
- * ext/openssl/ossl_ssl.c (ossl_start_ssl): new function to wrap
- SSL_connect and SSL_accept; if SSL_connect (or SSL_accept) returned
- but not finished the handshake process, we should retry it.
+Wed Jun 3 11:47:15 2015 Koichi Sasada <ko1@atdot.net>
- * ext/openssl/ossl_ssl.c (ossl_ssl_connect): call ossl_start_ssl.
+ * method.h: change fields order to gather frequent access fields.
- * ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto.
+ * vm_insnhelper.c (vm_call_method): add LIKELY().
- * ext/openssl/ossl_ssl.c (ossl_ssl_read): allow signal traps.
+Wed Jun 03 10:35:45 2015 Koichi Sasada <ko1@atdot.net>
-Sat Dec 6 21:45:10 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * method.h: split rb_method_definition_t::flag to several flags.
- * io.c (flush_before_seek): flush before seek on any platform.
+ `flag' contains several categories of attributes and it makes us
+ confusion (at least, I had confused).
- * configure.in: ditto.
+ * rb_method_visibility_t (flags::visi)
+ * NOEX_UNDEF -> METHOD_VISI_UNDEF = 0
+ * NOEX_PUBLIC -> METHOD_VISI_PUBLIC = 1
+ * NOEX_PRIVATE -> METHOD_VISI_PRIVATE = 2
+ * NOEX_PROTECTED -> METHOD_VISI_PROTECTED = 3
+ * NOEX_SAFE(flag) -> safe (flags::safe, 3 bits)
+ * NOEX_BASIC -> basic (flags::basic, 1 bit)
+ * NOEX_MODFUNC -> rb_scope_visibility_t in CREF
+ * NOEX_SUPER -> MISSING_SUPER (enum missing_reason)
+ * NOEX_VCALL -> MISSING_VCALL (enum missing_reason)
+ * NOEX_RESPONDS -> BOUND_RESPONDS (macro)
-Sat Dec 6 17:23:00 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ Now, NOEX_NOREDEF is not supported (I'm not sure it is needed).
- * lib/soap/soap.rb(SOAP::Env.getenv): allow upcase environment variable
- as well as downcase one.
+ Background:
+ I did not know what "NOEX" stands for.
+ I asked Matz (who made this name) and his answer was "Nothing".
+ "At first, it meant NO EXport (private), but the original
+ meaning was gone."
+ This is why I remove the mysterious word "NOEX" from MRI.
- * lib/soap/netHttpClient.rb(SOAP::NetHttpClient#proxy=): check URI.
+ * vm_core.h: introduce `enum missing_reason' to represent
+ method_missing (NoMethodError) reason.
-Fri Dec 5 23:22:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval_intern.h: introduce rb_scope_visibility_t to represent
+ scope visibility.
+ It has 3 method visibilities (public/private/protected)
+ and `module_function`.
- * 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.
+Wed Jun 3 08:06:30 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/testunit/test_assertions.rb (test_assert_raises): test for
- multiple exception list. [ruby-core:01891]
+ * gem/bundled_gems: updated to test-unit 3.1.1 and minitest 5.7.0.
- * test/testunit/test_assertions.rb (test_assert_nothing_raised): test
- for non-exception classes.
+Wed Jun 3 04:48:05 2015 Koichi Sasada <ko1@atdot.net>
-Fri Dec 5 22:23:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * vm_insnhelper.c (vm_defined): check respond_to_missing?
+ at defined?(func()).
+ [Bug #11212]
- * lib/soap/netHttpClient.rb: proxy support did not work. fixed.
+ * test/ruby/test_defined.rb: add a test for this fix.
- * lib/soap/property.rb: add class methods for loading property from
- stream/file/propertyfile. propertyfile is a file which is located at
- somedir in $:.
+Wed Jun 3 04:34:39 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * vm_insnhelper.c (vm_defined): skip respond_to_missing? when
+ a method is available.
+ [Bug #11211]
- * test/soap/test_property.rb, test/soap/test_streamhandler.rb: new file.
+ * test/ruby/test_defined.rb: add a test for this fix.
-Fri Dec 5 17:26:23 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Jun 3 04:14:13 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_exec_end_proc): maintain tmp_end_procs.
- [ruby-dev:22154]
+ * insns.def (defined), vm_insnhelper.c (vm_defined):
+ move instruction body to the vm_defined() function.
-Fri Dec 5 13:36:59 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Jun 3 02:29:25 2015 Benoit Daloze <eregontp@gmail.com>
- * eval.c (rb_exec_end_proc): should not clear end_procs and
- ephemeral_end_procs before execution. [ruby-dev:22144]
+ * test/ruby/test_module.rb: Do not assume class variable order.
+ Patch by @enebo.
- * eval.c (rb_obj_extend): call Module#extended hook after
- extended_object. [ruby-list:38866]
+Wed Jun 3 01:10:38 2015 Yusuke Endoh <mame@tsg.ne.jp>
- * object.c (Init_Object): Module#extended defined.
+ * vm_method.c (rb_method_definition_set): remove a double assignment.
+ Coverity Scan found this bug.
-Fri Dec 5 13:17:30 2003 Tanaka Akira <akr@m17n.org>
+Wed Jun 3 00:04:51 2015 Koichi Sasada <ko1@atdot.net>
- * test/ruby/test_pipe.rb: use IO.pipe instead of IO.popen.
+ * vm_method.c (rb_alias): rename parameter names.
-Fri Dec 5 11:54:45 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jun 2 23:27:18 2015 Koichi Sasada <ko1@atdot.net>
- * ext/stringio/stringio.c (strio_read): follow IO#read.
+ * method.h: remove rb_method_iseq_t::iseqval.
+ While making a r50728, iseqval is needed (to mark correctly),
+ but now just iseqptr is enough.
- * test/ruby/ut_eof.rb, test/ruby/test_file.rb, test/ruby/test_pipe.rb,
- test/stringio/test_stringio.rb: add EOF test.
+ * class.c: catch up this fix.
-Fri Dec 5 02:49:35 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c: ditto.
- * lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_raises):
- allow multiple exception list. [ruby-core:01884]
+ * proc.c: ditto.
- * lib/test/unit/assertions.rb (Test::Unit::Assertions::assert_nothing_raised):
- check whether arguments are subclass of Exception.
+ * vm_method.c: ditto.
-Thu Dec 4 23:54:00 2003 Rick Ohnemus <rick.ohnemus@systemware.com>
+Tue Jun 2 21:29:28 2015 Koichi Sasada <ko1@atdot.net>
- * dln.c (aix_loaderror): should not use member named 'errno' which
- might be a macro (e.g. on AIX).
+ * proc.c (proc_curry): remove a debug line.
-Thu Dec 4 23:32:26 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Jun 2 12:43:46 2015 Koichi Sasada <ko1@atdot.net>
- * io.c (read_all): do not depend on lseek position.
- [ruby-dev:22026]
+ * method.h: make rb_method_entry_t a VALUE.
+ Motivation and new data structure are described in [Bug #11203].
-Thu Dec 4 22:37:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ This patch also solve the following issues.
- * eval.c (rb_eval): preserve $! value when retry happens in the
- rescue clause. [ruby-talk:86697]
+ * [Bug #11200] Memory leak of method entries
+ * [Bug #11046] __callee__ returns incorrect method name in orphan
+ proc
-Thu Dec 4 21:50:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/ruby/test_method.rb: add a test for [Bug #11046].
- * lib/drb/drb.rb (DRb::DRbMessage::send_request, send_reply):
- should rescue errors and re-raise DRbConnError on write too.
- [ruby-dev:22132]
+ * vm_core.h: remove rb_control_frame_t::me. me is located at value
+ stack.
-Thu Dec 4 16:41:17 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_core.h, gc.c, vm_method.c: remove unlinked_method... codes
+ because method entries are simple VALUEs.
- * parse.y (exc_list): allow expanding list. [ruby-dev:22134]
+ * method.h: Now, all method entries has own independent method
+ definitions. Strictly speaking, this change is not essential,
+ but for future changes.
-Thu Dec 4 14:09:24 2003 Minero Aoki <aamine@loveruby.net>
+ * rb_method_entry_t::flag is move to rb_method_definition_t::flag.
+ * rb_method_definition_t::alias_count is now
+ rb_method_definition_t::alias_count_ptr, a pointer to the counter.
- * 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.
+ * vm_core.h, vm_insnhelper.c (rb_vm_frame_method_entry) added to
+ search the current method entry from value stack.
-Thu Dec 4 13:24:13 2003 Shugo Maeda <shugo@ruby-lang.org>
+ * vm_insnhelper.c (VM_CHECK_MODE): introduced to enable/disable
+ assertions.
- * lib/monitor.rb: use Object#__send__ instead of Object#send.
+Tue Jun 2 10:46:36 2015 Eric Wong <e@80x24.org>
-Thu Dec 4 13:17:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * test/socket/test_nonblock.rb: new test for sendmsg_nonblock
- * lib/soap/streamHandler.rb: support latest released version of
- http-access2.
+Tue Jun 2 09:04:14 2015 Eric Wong <e@80x24.org>
-Thu Dec 4 13:04:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * lib/benchmark.rb: just use Process::CLOCK_MONOTONIC
+ [ruby-core:69390]
- * lib/soap/soap.rb: add SOAP::Env module for environment repository
- such as HTTP_PROXY.
+Mon Jun 1 22:01:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/soap/property.rb: property implementation.
+ * 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]
- * lib/soap/streamHandler.rb, lib/soap/wsdlDriver.rb,
- lib/soap/rpc/driver.rb: use soap/property.rb.
+Mon Jun 1 21:18:24 2015 Koichi Sasada <ko1@atdot.net>
- * lib/wsdl/importer.rb, lib/soap/wsdlDriver.rb, lib/soap/rpc/driver.rb:
- use SOAP::Env.
+ * gc.c (gc_mark_children): remove a garbage character
+ introduced at the last commit.
- * lib/soap/netHttpClient.rb: add basic_auth, ssl_config, and cookie
- management interface, but ignored for now.
+Mon Jun 1 19:24:42 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * vm_method.c (rb_method_entry_make): do not show warning message
+ when method_entry is an alias.
-Thu Dec 4 10:43:58 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Mon Jun 1 15:47:16 2015 Koichi Sasada <ko1@atdot.net>
- * ext/dl/sym.c (rb_dlsym_guardcall): __declspec(noinline) is VC7
- feature.
+ * internal.h: move class related definitions.
-Thu Dec 4 10:27:12 2003 Minero Aoki <aamine@loveruby.net>
+Mon Jun 1 15:43:03 2015 Koichi Sasada <ko1@atdot.net>
- * lib/net/http.rb: update hyperlink to the Japanese document.
+ * class.c: remove needless include pragma for method.h.
-Thu Dec 4 09:12:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * struct.c: ditto.
- * ext/openssl/ossl_asn1.c (asn1time_to_time): should check that
- the underlying value of ASN1_TIME isn't NULL. [ruby-core:01881]
+ * vm_method.c: ditto.
-Thu Dec 4 08:29:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Jun 1 05:42:00 2015 Koichi Sasada <ko1@atdot.net>
- * lib/webrick/server.rb (GenericServer#start): should rescue
- Exception to avoid unexpected aborting. [ruby-core:01853]
+ * eval_intern.h, vm_method.c: move macros to functions.
+ * SCOPE_TEST(f) -> rb_frame_visibility_test(flag).
+ * SCOPE_CHECK(f) -> rb_frame_visibility_check(flag).
+ * SCOPE_SET(f) -> rb_frame_visibility_set(flag).
- * lib/webrick/server.rb (GenericServer#start_thread): should check
- that peeraddr isn't nil before printing.
+ * load.c (load_ext): use it.
- * lib/webrick/httpresponse.rb (HTTPResponse#start_thread): should
- rescue Exception to avoid unexpected aborting of thread.
+Mon Jun 1 04:47:37 2015 Zachary Scott <e@zzak.io>
-Thu Dec 4 03:48:59 2003 Tanaka Akira <akr@m17n.org>
+ * ext/date/date_core.c: [DOC] Add comparison of Time and DateTime
+ Patch provided by @pixeltrix
- * lib/pathname.rb (Pathname#link, Pathname#symlink): obsoleted.
- (Pathname#make_link, Pathname#make_symlink): new method.
+Mon Jun 1 04:22:09 2015 Koichi Sasada <ko1@atdot.net>
-Thu Dec 4 01:45:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_core.h (VM_FRAME_MAGIC_DUMMY): introduce new frame type to
+ recognize dummy frame.
- * io.c (argf_read): should not terminate on empty string; wait
- until real EOF. [ruby-dev:21969]
+ * vm.c (th_init): use new frame type.
- * io.c (argf_read): should adjust length to read, when length is
- specified and read spans command line argument files.
+ * vm_args.c (raise_argument_error): ditto.
-Wed Dec 3 19:38:36 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Mon Jun 1 04:15:42 2015 Koichi Sasada <ko1@atdot.net>
- * lib/drb/drb.rb: correct fcntl parameter. [ruby-dev:22120]
+ * class.c (rb_class_has_methods): added to reduce dependency
+ to internal class data structure.
-Wed Dec 3 13:49:07 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * internal.h: ditto.
- * ext/tk/lib/tk.rb: 'format'==>'Kernel.format' (avoid override trouble)
+ * hash.c (has_extra_methods): use added function.
- * ext/tk/lib/tkafter.rb: ditto.
+Mon Jun 1 04:11:48 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tkcanvas.rb: ditto.
+ * gc.c , gc.h (rb_obj_info): export obj_info(VALUE) for debugging.
- * ext/tk/lib/tkdialog.rb: ditto.
+Mon Jun 1 03:52:55 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tktext.rb: ditto.
+ * test/ruby/test_gc.rb: increase timeout seconds for GC stressful
+ debugging.
-Wed Dec 3 13:28:13 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun May 31 04:18:06 2015 Koichi Sasada <ko1@atdot.net>
- * Makefile.in (lex.c): try gperf first, and copy from the source
- directory if failed. [ruby-dev:22123]
+ * method.h: fix typo of comments.
- * ext/extmk.rb (MTIMES): let makefiles depend to mkmf.rb.
+Sun May 31 03:36:42 2015 Koichi Sasada <ko1@atdot.net>
- * lib/mkmf.rb (configuration): DLDFLAGS was duplicated.
+ * method.h: add VM_METHOD_TYPE_ALIAS rb_method_definition_t::type
+ to fix [Bug #11173].
-Tue Dec 2 23:18:12 2003 Minero Aoki <aamine@loveruby.net>
+ Now, inter class/method alias creates new method entry
+ VM_METHOD_TYPE_ALIAS, which has an original method entry.
- * lib/net/http.rb: wrote the warning about HTTP_PROXY environment
- variable.
+ * vm_insnhelper.c (find_defined_class_by_owner): added.
+ Search corresponding defined_class from owner class/module.
-Tue Dec 2 21:31:42 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_method.c (rb_method_entry_get_without_cache): return me->klass
+ directly for defined_class.
- * bin/testrb: new test runner. [ruby-core:01845]
+ Now, no need to check me->klass any more.
- * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner.run,
- Test::Unit::AutoRunner#process_args): take test list to run and
- options.
+ * vm_method.c (method_entry_set0): separated from method_entry_set().
- * lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::RUNNERS,
- Test::Unit::AutoRunner#run): should not exit inside a library,
- just return the result instead.
+ * vm_method.c (rb_alias): make method entry has VM_METHOD_TYPE_ALIAS.
- * lib/test/unit.rb: ditto.
+ * vm_method.c (release_method_definition): support VM_METHOD_TYPE_ALIAS.
- * test/runner.rb: exit with the test result.
+ * vm_method.c (rb_hash_method_definition): ditto.
-Tue Dec 2 20:18:48 2003 Eric Sunshine <sunshine@sunshineco.com>
+ * vm_method.c (rb_method_definition_eq): ditto.
- * configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
- instead of Bison or byacc.
+ * vm_method.c (release_method_definition): 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.
+ * vm_insnhelper.c (vm_call_method): ditto.
-Tue Dec 2 20:03:20 2003 Minero Aoki <aamine@loveruby.net>
+ * vm_insnhelper.c (vm_method_cfunc_entry): ditto.
- * test/fileutils/test_fileutils.rb: check if Pathnames are usable
- for arguments.
+ * vm_eval.c (vm_call0_body): ditto.
-Tue Dec 2 04:22:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * gc.c (mark_method_entry): ditto.
- * lib/test/unit/assertions.rb: fixed #assert_no_match message.
+ * proc.c (method_def_iseq): ditto.
- * test/testunit/test_assertions.rb: ditto.
+ * proc.c (method_cref): ditto.
-Tue Dec 2 00:43:00 2003 why the lucky stiff <why@ruby-lang.org>
+ * proc.c (rb_method_entry_min_max_arity): ditto.
- * ext/syck/syck.c: string buffering bug. decrementing by full
- max_size now. [ruby-core:01834]
+ * test/ruby/test_alias.rb: add tests.
-Mon Dec 1 21:33:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_module.rb: fix a test to catch up current behavior.
- * numeric.c (num_sadded): prohibit singleton method definition for
- Numerics. fill yet another gap between Fixnum and Bignum.
+Sun May 31 03:34:25 2015 Koichi Sasada <ko1@atdot.net>
-Mon Dec 1 17:33:47 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_method.c (rb_unlink_method_entry): make it static.
- * pack.c (htov16): converts endian using swap16. htov32(), hton16,
- hton32 as well. [ruby-talk:85377]
+Sun May 31 03:26:58 2015 Koichi Sasada <ko1@atdot.net>
- * pack.c (swap16): swap 2 bytes no matter how big short is on the
- platform. swap32() is also prepared.
+ * method.h, vm_method.c (rb_free_method_entry): constify a parameter.
- * numeric.c (rb_num2int): returns long to preserve information.
- rb_fix2int(), rb_num2uint(), rb_fix2uint() as well.
- [ruby-talk:85377]
+ * vm_core.h: remove useless declaration about rb_unlink_method_entry().
- * numeric.c (rb_num2uint): should not check for value range if the
- source value is negative.
+Sat May 30 18:05:02 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Dec 1 17:14:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/tempfile.rb (Remover#call): fixed wrong condition. introduced at
+ r50682.
- * sample/optparse/opttest.rb: added.
+Sat May 30 16:12:35 2015 Eric Wong <e@80x24.org>
-Mon Dec 1 16:10:52 2003 Dave Thomas <dave@pragprog.com>
+ * ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile
+ [ruby-core:69419] [Feature #11198]
- * lib/rdoc/rdoc.rb: (etc) initial merge into main tree.
+Sat May 30 15:59:10 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Dec 1 14:17:49 2003 Minero Aoki <aamine@loveruby.net>
+ * lib/tempfile.rb (Tempfile#initialize): initialize @unlinked to fix
+ test failures introduced at r50682. I hope that check the results of
+ tests before committing, at least the tests about the changed feature.
- * lib/fileutils.rb (fu_each_src_dest0): call #to_str to allow
- Pathname for arguments. [ruby-core:01795]
+Sat May 30 11:02:55 2015 Martin Englund <martin@englund.nu>
- * test/fileutils/test_fileutils.rb: does much strict test on
- "same" files detecting.
+ * doc/dtrace_probes.rdoc: change lingering dtrace probe documentation
+ from function- to method-
-Mon Dec 1 09:28:14 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat May 30 10:26:09 2015 Masaki Matsushita <glass.saga@gmail.com>
- * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
- (XCFLAGS): re-export $(XCFLAGS).
+ * lib/tempfile.rb: refactoring.
+ * use warn instead of STDERR.print
+ * remove @tmpname and use @tmpfile.path
+ * introduce @unlinked flag
+ * Remover takes only @tmpfile
+ * mode will be modified just before file reopen
- * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
- (ARCH_FLAG): export $(ARCH_FLAG) (perhaps empty value).
+Sat May 30 09:02:51 2015 Eric Wong <e@80x24.org>
-Mon Dec 1 01:03:27 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * include/ruby/intern.h (rb_generic_ivar_table): deprecate
+ * internal.h (rb_attr_delete): declare
+ * marshal.c (has_ivars): use rb_ivar_foreach
+ (w_ivar): ditto
+ (w_object): update for new interface
+ * time.c (time_mload): use rb_attr_delete
+ * variable.c (generic_ivar_delete): implement
+ (rb_ivar_delete): ditto
+ (rb_attr_delete): ditto
+ [ruby-core:69323] [Feature #11170]
- * lib/mkmf.rb (TRY_LINK, link_command): added support for DLDFLAGS
- and ARCH_FLAG. [ruby-dev:22085]
+Sat May 30 09:14:28 2015 Scott Francis <scott.francis@shopify.com>
-Sun Nov 30 20:18:07 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * cont.c (cont_free): check if ruby_current_thread is still valid.
+ [Fix GH-914]
- * configure.in: keep ARCH_FLAG separate. export ARCH_FLAG.
- [ruby-core:01819]
+Sat May 30 08:36:04 2015 Eric Wong <e@80x24.org>
- * Makefile.in: add ARCH_FLAG to CFLAGS.
+ * variable.c (static int special_generic_ivar): move
+ (rb_generic_ivar_table): rewrite for compatibility
+ (gen_ivtbl_bytes): new function
+ (generic_ivar_get): update to use ivar index
+ (generic_ivar_update): ditto
+ (generic_ivar_set): ditto
+ (generic_ivar_defined): ditto
+ (generic_ivar_remove): ditto
+ (rb_mark_generic_ivar): ditto
+ (givar_i): ditto
+ (rb_free_generic_ivar): ditto
+ (rb_mark_generic_ivar_tbl): ditto
+ (rb_generic_ivar_memsize): ditto
+ (rb_copy_generic_ivar): ditto
+ (rb_ivar_set): ditto
+ (rb_ivar_foreach): ditto
+ (rb_ivar_count): ditto
+ (givar_mark_i): remove
+ (gen_ivtbl_mark): new function
+ (gen_ivar_each): ditto
+ (iv_index_tbl_extend): update for struct ivar_update
+ (iv_index_tbl_newsize): ditto
+ [ruby-core:69323] [Feature #11170]
- * Makefile.in: add @CPPFLAGS@ to CPPFLAGS.
+Sat May 30 08:10:46 2015 Eric Wong <e@80x24.org>
- * lib/mkmf.rb (link_command, cc_command): use ARCH_FLAG.
+ * variable.c (iv_index_tbl_make): extract from rb_ivar_set
+ (iv_index_tbl_extend): ditto
+ (iv_index_tbl_newsize): ditto
+ (rb_ivar_set): use extracted functions
+ [ruby-core:69323] (Part 1)
- * lib/mkmf.rb (configuration): add ARCH_FLAG to DLDFLAGS.
+Fri May 29 17:39:14 2015 Koichi Sasada <ko1@atdot.net>
- * Makefile.in: add ARCH_FLAG to DLDFLAGS.
+ * tool/make_hgraph.rb: added.
- * configure.in: should put getcwd in AC_CHECK_FUNCS, not
- AC_REPLACE_FUNCS. [ruby-core:01826]
+Fri May 29 14:39:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Nov 30 18:22:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * compile.c (iseq_compile_each): out of range NTH_REF is always
+ nil.
- * configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS,
- DLDFLAGS and LDSHARED.
+ * parse.y (parse_numvar): check overflow of NTH_REF and range.
+ [ruby-core:69393] [Bug #11192]
- * configure.in: XCFLAGS for compiling ruby itself. ARCH_FLAG is
- reflected in CFLAGS.
+ * util.c (ruby_scan_digits): make public and add length parameter.
- * lib/mkmf.rb: ditto. do not import XCFLAGS from config.status.
+Fri May 29 11:18:58 2015 Eric Wong <e@80x24.org>
-Sun Nov 30 17:37:36 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/socket/ancdata.c (bsock_sendmsg_internal,
+ bsock_recvmsg_internal):
+ avoid redundant fcntl on Linux
+ [ruby-core:69154] [Feature #11145]
+ * ext/socket/init.c (rsock_s_recvfrom_nonblock): ditto
+ * ext/socket/rubysocket.h (MSG_DONTWAIT_RELIABLE): new macro
- * ext/tk/lib/tk.rb: bug fix [ruby-talk:86746]
+Fri May 29 10:30:34 2015 Eric Wong <e@80x24.org>
-Sun Nov 30 13:02:00 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * lib/net/resolv.rb (request): use monotonic clock
+ * lib/net/http.rb (begin_transport, end_transport): ditto
+ [ruby-core:69384] [Feature #11124]
- * lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying
- Conditional Expressions.
+Fri May 29 04:37:38 2015 Koichi Sasada <ko1@atdot.net>
- * lib/wsdl/soap/definitions.rb: refactoring - Move Method.
+ * ext/objspace/objspace.c: add two methods to debug internals.
- * test/xsd/{test_noencoding.rb,noencoding.xml}: new files. test for
- encoding unspecified XML file parsing.
+ * ObjectSpace.internal_class_of: return RBASIC_CLASS(obj).
+ * ObjectSpace.internal_super_of: return RCLASS_SUPER(cls).
- * test/wsdl/{test_fault.rb,map,datetime}: new files. test of
- SOAPFault, dateTime and Apache's Map.
+ * NEWS: add information about both methods.
-Sun Nov 30 09:35:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/objspace/test_objspace.rb: add tests for both methods.
- * string.c (rb_str_update): get rid of SEGV at just allocated String.
- [ruby-core:01812]
+Thu May 28 06:55:53 2015 Anton Davydov <antondavydov.o@gmail.com>
-Fri Nov 28 23:19:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/tk/sample/figmemo_sample.rb (open_file),
+ ext/tk/sample/tktextio.rb (TkTextIO): fix typo in messages.
+ [Fix GH-916]
- * gc.c (gc_mark): explicitly check mark recursion levels, instead
- of unreliable stack length.
+Wed May 27 09:50:51 2015 Eric Wong <e@80x24.org>
-Fri Nov 28 22:49:56 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/rinda/rinda.rb: fix TupleSpaceProxy#read, read_all.
-
-Fri Nov 28 21:44:40 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * test/fileutils/test_fileutils.rb (test_ln_s): should be a file, not
- a directory for FreeBSD.
-
-Fri Nov 28 19:37:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * hash.c (env_has_value, env_index): must match exactly.
+Wed May 27 09:27:30 2015 Eric Wong <e@80x24.org>
- * test/ruby/test_env.rb (test_has_value, test_index): condition for
- aboves.
+ * lib/drb/drb.rb (set_sockopt): remove redundant fcntl call
+ * lib/drb/unix.rb (set_sockopt): ditto
+ [ruby-core:69128] [Feature #11137]
-Fri Nov 28 17:59:20 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Tue May 26 22:10:43 2015 Shugo Maeda <shugo@ruby-lang.org>
- * test/ruby/test_env.rb: add tests for ENV.
+ * vm_method.c (rb_alias): should resolve refined methods.
+ [ruby-core:69360] [Bug #11182]
-Fri Nov 28 17:47:46 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Tue May 26 21:35:13 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * lib/drb/drb.rb (DRbMessage#load): rescue Errno::* and raise
- DRbConnError.
+ * include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): fix condition.
-Fri Nov 28 15:41:15 2003 Tanaka Akira <akr@m17n.org>
+Mon May 25 22:35:58 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/pathname.rb (Pathname#realpath): obsolete the force_absolute
- argument.
+ * tool/redmine-backporter.rb (rel): after the relations is changed,
+ @changesets is no longer right.
-Fri Nov 28 14:41:52 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Mon May 25 11:27:14 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/soap/streamHandler.rb: drop unused http parameters.
+ * win32/win32.c (setup_overlapped): seek to the file end only when
+ writing (mode:a), not reading (mode:a+, read).
- * 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.
+Mon May 25 00:27:37 2015 Benoit Daloze <eregontp@gmail.com>
- * test/wsdl/raa/*: add tests.
+ * numeric.c (Numeric#negative?): [DOC] Fix call-seq.
+ Patch by @yui-knk. [Fixes GH-908]
- * 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.
+Sun May 24 01:35:22 2015 Koichi Sasada <ko1@atdot.net>
- * test/soap/test_basetype.rb, test/xsd/test_xsd.rb: add tests.
+ * debug.c (ruby_debug_print_id): use rb_id2name() for fprintf().
-Fri Nov 28 04:15:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat May 23 18:38:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (method_arity): used wrong Proc object. [ruby-talk:86504]
+ * man/*.1: updated dates in man pages.
+ [ruby-dev:48988] [Bug #11171]
-Fri Nov 28 00:47:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat May 23 03:10:58 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c (rb_f_exit), process.c (rb_f_exit_bang): treat true as
- success, false as failure. [ruby-dev:22067]
+ * win32/win32.c (rb_w32_write_console): should return the count of
+ actually eaten characters, include escape sequences.
- * eval.c (rb_f_abort, rb_thread_switch), process.c (rb_f_system): use
- ANSI macro instead of hard coded value.
+Fri May 22 22:36:14 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * eval.c (rb_f_exit), process.c (rb_f_exit_bang): use VALUEs not but
- TYPEs.
+ * lib/prime.rb: Remove obsolete Prime.new
+ patch by Ajay Kumar. [Fixes GH-891]
-Thu Nov 27 22:05:48 2003 Akinori MUSHA <knu@iDaemons.org>
+Fri May 22 21:13:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.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>]
+ * include/ruby/intern.h (rb_sym_count): move `rb_sym_all_symbols`
+ to a symbol.c specific section. a part of patch by Lourens
+ Naude.
-Thu Nov 27 17:36:42 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Fri May 22 20:56:33 2015 NAKAMURA Usaku <usa@ruby-lang.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.
+ * complex.c (f_complex_polar): simple bug reproduced only when y is
+ a float but x is not a float.
-Thu Nov 27 16:58:48 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Fri May 22 19:42:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (rb_w32_stat): remove _fullpath() for NUL: device.
+ * process.c (rb_spawn_process): do not discard global escape
+ status. [ruby-core:69304] [Bug #11166]
-Wed Nov 26 15:38:47 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * process.c (rb_execarg_spawn): extract the start procedure in a
+ parent process with ensuring the end procedure.
- * test/fileutils/test_fileutils.rb (test_ln_s): should take the
- existing symbolic link for OpenBSD.
+Fri May 22 16:48:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Wed Nov 26 04:48:42 2003 why the lucky stiff <why@ruby-lang.org>
+ * NEWS: added news for net-telnet and rake
- * ext/syck/token.c: removed YYTOKTMP references which
- were causing buffer overflows on large block scalars,
- comments, quoted scalars and plain scalars.
+Thu May 21 20:27:07 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * ext/syck/rubyext.c: dynamic changing of buffer size.
+ * configure.in (RUBY_DTRACE_POSTPROCESS): cmp -b is GNU extension.
+ darwin uses GNU cmp, and FreeBSD and Solaris are not.
+ Note that accidentally equals to expected result.
- * ext/syck/syck.h: default buffer size of 4k.
+Thu May 21 18:00:19 2015 Koichi Sasada <ko1@atdot.net>
-Wed Nov 26 00:55:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * iseq.c: constify.
- * lib/webrick/httpresponse.rb: add HTTPResponse#keep_alive=.
+ * iseq.h: ditto.
- * lib/webrick/httpserver.rb (HTTPServer#run): should pass the
- request's keep_alive flag to the response.
+ * method.h: ditto.
-Tue Nov 25 21:41:35 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * proc.c: ditto.
- * defines.h (ENV_IGNORECASE): should define when DOSISH without
- human68k. [ruby-dev:22047]
+ * vm_method.c: ditto.
- * hash.c (env_has_value, env_index): don't ignore case of value.
- [ruby-dev:22048]
+Thu May 21 17:44:53 2015 Koichi Sasada <ko1@atdot.net>
-Tue Nov 25 21:39:37 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * proc.c: fix issues caused by binding created from Method#to_proc.
+ [Bug #11163]
- * file.c (path_check_1): honor sticky bits always.
- [ruby-talk:86273]
+ * vm.c (vm_cref_new_toplevel): export as rb_vm_cref_new_toplevel().
-Tue Nov 25 20:02:14 2003 Minero Aoki <aamine@loveruby.net>
+ * test/ruby/test_method.rb: add some assertions.
- * test/fileutils/test_fileutils.rb: do test in more deep
- directory.
+Thu May 21 17:29:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * test/fileutils/test_nowrite.rb: ditto.
+ * lib/matrix.rb: added documentation for Matrix#empty and Matrix#/
+ [Feature #10070][ruby-dev:48433] Patch by @gogotanaka
-Tue Nov 25 19:04:23 2003 Tanaka Akira <akr@m17n.org>
+Thu May 21 17:02:43 2015 Koichi Sasada <ko1@atdot.net>
- * lib/open-uri.rb (URI::Generic#find_proxy): ENV case sensitivity test
- refined.
+ * proc.c: rename functions.
+ * method_get_def() -> method_def()
+ * method_get_iseq() -> method_def_iseq()
+ * method_get_cref() -> method_cref()
-Tue Nov 25 18:13:30 2003 Minero Aoki <aamine@loveruby.net>
+Thu May 21 16:52:44 2015 Koichi Sasada <ko1@atdot.net>
- * test/fileutils/test_fileutils.rb: chdir Dir.tmpdir before each
- test. [ruby-dev:22045]
+ * proc.c (rb_method_get_iseq): rename to rb_method_iseq.
- * test/fileutils/test_nowrite.rb: ditto.
+ * iseq.c: catch up this fix.
-Tue Nov 25 17:52:11 2003 Tanaka Akira <akr@m17n.org>
+ * iseq.h: commit ditto.
- * lib/open-uri.rb (URI::Generic#find_proxy): use http_proxy under CGI
- if the environment variable is case sensitive.
+Thu May 21 15:41:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Tue Nov 25 16:41:33 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * lib/net/telnet.rb: gemify net-telnet.
+ [Feature #11083]
+ * gems/bundled_gems: added net-telnet to bundled gems.
- * test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb:
- removed. this test requires extra libraries in soap4r/1.5.*.
+Thu May 21 15:37:32 2015 Zachary Scott <e@zzak.io>
-Tue Nov 25 16:24:42 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * vm_method.c: Remove private attribute warning [Bug #10967]
+ Patch by @spastorino [Fixes GH-849]
+ https://github.com/ruby/ruby/pull/849
- * lib/soap/**/*.rb, lib/wsdl/**/*.rb, lib/xsd/**/*.rb: changed license;
- GPL2 -> Ruby's.
+ * test/ruby/test_module.rb: Update test for changes
- * lib/soap/rpc/driver.rb, lib/soap/wsdlDriver.rb,
- lib/soap/streamHandler.rb: add interface to streamhandler.
+Thu May 21 10:59:43 2015 Koichi Sasada <ko1@atdot.net>
- * lib/soap/marshal.rb: raise error if parse fails.
+ * proc.c (method_proc): rename to method_to_proc.
- * lib/soap/netHttpClient.rb: add https support. Patched by
- Oliver M. Bolzer.
+Thu May 21 10:51:54 2015 Jake Worth <jakeworth82@gmail.com>
- * lib/soap/netHttpClient.rb: dump HTTP response message body by itself.
+ * io.c (rb_f_select): [DOC] Fixes for grammar and style.
+ [Fix GH-906]
- * 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.
+Thu May 21 08:25:19 2015 Eric Wong <e@80x24.org>
- * lib/soap/encodingstyle/soapHandler.rb: support Apache Axis's half
- typed multi-ref array.
+ * variable.c (Init_var_tables): init generic_iv_tbl
+ (rb_generic_ivar_table, generic_ivar_get, generic_ivar_set,
+ generic_ivar_defined, generic_ivar_remove,
+ rb_mark_generic_ivar, givar_i, rb_mark_generic_ivar_tbl,
+ rb_free_generic_ivar, rb_copy_generic_ivar, rb_ivar_foreach,
+ rb_ivar_count): remove checks for uninitialize generic_iv_tbl
+ [ruby-core:69155] [Feature #11146]
- * lib/soap/mapping/factory.rb, lib/soap/mapping/registry.rb: map
- SOAPStruct which has multi-accessors which name are the same, to an
- array.
+Thu May 21 04:11:03 2015 Koichi Sasada <ko1@atdot.net>
- * lib/soap/rpc/element.rb: fixed illegal parameter order.
+ * iseq.c (exception_type2symbol): show correct bug message.
- * lib/soap/rpc/element.rb: element name of response message could have
- the name other than 'return'.
+Wed May 20 23:19:05 2015 Yusuke Endoh <mame@ruby-lang.org>
- * 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]
+ * lib/base64.rb: Fix rdoc-formatting for padding argument.
+ [fix GH-905][ci skip] Patch by @davydovanton
- * test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb: add
- test for above fix.
+Wed May 20 13:16:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/wsdl/soap/complexType.rb: support WSDL array definition with
- maxOccures="unbound".
+ * configure.in (DEPRECATED_BY): deprecate warning with preferable
+ alternative.
- * lib/xsd/charset.rb: use cp932 under emx. Patched by
- Siena. / SHINAGAWA, Norihide in [ruby-dev:21972]
+ * configure.in (RUBY_FUNC_ATTRIBUTE): allow attribute arguments in
+ the macro.
- * lib/xsd/xmlparser/parser.rb: set @charset nil by default. Nil means
- 'follow encoding declaration in XML'.
+Wed May 20 11:23:24 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * 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]
+ * vm_dump.c (rb_print_backtrace): return value of libexec's backtrace
+ is size_t, so simply cast as int.
- * test/wsdl/emptycomplextype.wsdl, test/wsdl/test_emptycomplextype.rb:
- simplify the test case.
+Tue May 19 18:54:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/wsdl/axisArray/*: add tests for axis's array encoding.
+ * iseq.c (rb_iseq_compile_with_option): check source type, must be
+ an IO or a String. [ruby-core:69219] [Bug #11159]
-Tue Nov 25 16:15:29 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Tue May 19 17:15:03 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ruby.h: don't treat Cygwin as Windows.
+ * lib/benchmark.rb: Update Benchmark documentation and formatting.
+ [fix GH-903][ci skip] Patch by @davydovanton
-Tue Nov 25 15:18:28 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue May 19 13:10:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in: change default value of --enable-pthread (default: no)
+ * numeric.c (num_positive_p): should false on Bignum 0.
+ http://twitter.com/rafaelfranca/status/600509783427391488
+ [ruby-core:69173] [Feature #11151]
-Tue Nov 25 07:31:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue May 19 11:22:28 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * parse.y (primary): allow newlines just before right argument
- parenthesis. (ruby-bugs:PR#1221)
+ * lib/uri/rfc2396_parser.rb (initialize_pattern):
+ URI::Generic.build should accept port as a string.
+ pattern[:PORT] is not defined for long.
+ by Dave Slutzkin <daveslutzkin@fastmail.fm>
+ https://github.com/ruby/ruby/pull/804 fix GH-804
-Mon Nov 24 23:32:06 2003 Tanaka Akira <akr@m17n.org>
+Tue May 19 11:18:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.
+ * include/ruby/ruby.h (rb_data_typed_object_alloc),
+ (rb_data_object_alloc): add old names for source level backward
+ compatibilities.
-Mon Nov 24 19:59:48 2003 Tanaka Akira <akr@m17n.org>
+ * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): add
+ aliases for binary level backward compatibilities.
- * lib/open-uri.rb (URI::Generic#find_proxy): use CGI_HTTP_PROXY
- instead of HTTP_PROXY in the CGI environment.
+Tue May 19 09:54:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Nov 24 19:32:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * include/ruby/ruby.h (Data_Make_Struct0): needs function pointer
+ casts to fix function overloading in C++.
- * ext/etc/extconf.rb: check for pw_passwd in struct passwd and
- gr_passwd in struct group for DJGPP.
+Tue May 19 09:43:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/etc/etc.c: ditto.
+ * include/ruby/ruby.h (Data_Make_Struct0, TypedData_Make_Struct0):
+ explicit cast from void* is necessary as implicit cast is
+ disallowed in C++.
- * ext/Setup.dj: support for curses, etc, zlib.
+Mon May 18 15:31:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Nov 24 17:00:00 2003 Tanaka Akira <akr@m17n.org>
+ * include/ruby/intern.h (rb_f_notimplement): should not respond to
+ not-implemented methods. as the address inside a DLL and the
+ imported address are different on Windows, use an exported
+ variable to share the same address.
- * lib/open-uri.rb: validate option names.
- :content_length_proc and :progress_proc option implemented.
+Mon May 18 13:55:01 2015 Shugo Maeda <shugo@ruby-lang.org>
-Mon Nov 24 14:53:10 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * lib/monitor.rb (mon_try_enter, mon_enter): should reset @mon_count
+ just in case the previous owner thread dies without mon_exit.
+ [fix GH-874] Patch by @chrisberkhout
- * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
- (XCFLAGS): output empty value instead of `-DRUBY_EXPORT'.
+Sun May 17 17:21:29 2015 Eric Wong <e@80x24.org>
-Sat Nov 22 23:09:45 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * lib/webrick/utils.rb (set_non_blocking): use IO#nonblock=
+ * (set_close_on_exec): use IO#close_on_exec=
+ [Feature #11136]
- * configure.in: set enable_pthread to no on MinGW.
+Sun May 17 15:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Nov 22 22:56:20 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * numeric.c (num_positive_p, num_negative_p): add methods
+ Numeric#positive? and Numeric#negative?.
+ [ruby-core:69173] [Feature #11151]
- * configure.in: add --enable-pthread option (default: yes)
+ * numeric.c (flo_positive_p, flo_negative_p): specialized
+ functions for Float.
-Sat Nov 22 22:48:46 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * complex.c (Init_Complex): Complex do not have positive? and
+ negative? methods
- * ext/tk/lib/tk.rb: add Tk.grab_release and fix bug of TkComposite
+Sun May 17 14:57:42 2015 Eric Wong <e@80x24.org>
- * ext/tk/lib/tkafter.rb: bug fix of TkAfter#start
+ * lib/webrick/server.rb (accept_client): avoid redundant fcntl call
+ [Feature #11137]
- * ext/tk/sample/tkcombobox.rb: new sample script
+Sun May 17 12:13:33 2015 Eric Wong <e@80x24.org>
- * ext/tcltklib/tcltklib.c: add native thread check
+ * ext/socket/init.c (cloexec_accept): support nonblock flag and
+ use SOCK_NONBLOCK if possible
+ * ext/socket/init.c (rsock_s_accept_nonblock):
+ update cloexec_accept call
+ * ext/socket/init.c (accept_blocking): ditto for blocking
+ * test/socket/test_nonblock.rb: check nonblock? on accepted socket
+ [Feature #11138]
-Sat Nov 22 18:49:47 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun May 17 03:58:59 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * ext/curses/curses.c (window_nodelay): nodelay() of NetBSD's
- libcruses returns no value, just like keypad().
+ * 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]
-Sat Nov 22 17:36:36 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/ruby/test_autoload.rb: test for fix
- * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
- (HAVE_GETCWD): output to config.h.
+Sat May 16 21:41:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
- (XCFLAGS): output to config.status.
+ * string.c: added documentation for character sequence \' with String#sub
+ [Bug #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127
-Sat Nov 22 13:10:10 2003 Minero Aoki <aamine@loveruby.net>
+Sat May 16 21:38:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/fileutils.rb (have_st_ino?): djgpp has valid st_ino.
+ * enum.c: fix a sample code. Patch by @eagletmt
+ [fix GH-901][ci skip]
-Sat Nov 22 11:28:48 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat May 16 21:17:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * gc.c (Init_stack): stack region is far smaller than usual if
- pthread is used.
+ * gc.c (rb_data_object_wrap, rb_data_typed_object_wrap): rename
+ alloc as wrap. these functions do not allocate data pointers
+ but just wrap the given pointers.
-Sat Nov 22 07:30:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+Sat May 16 19:59:24 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/test/unit/util/backtracefilter.rb: fixed a bug that occurred
- when an exception had no backtrace.
+ * win32/win32.c (rb_w32_accept): simplified.
- * test/testunit/util/test_backtracefilter.rb: ditto.
+Fri May 15 18:28:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Nov 21 16:44:18 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * array.c (rb_ary_assoc, rb_ary_rassoc): [DOC] the result when key
+ was found is the existing element, not a new array. reported by
+ Giau Nguyen <giaunv AT nustechnology.com>.
- * ext/tk/lib/tkentry.rb: fix the encoding trouble of percent
- substitutions on validatecommand option of TkEntry widget
+Fri May 15 08:24:28 2015 Takeyuki FUJIOKA <xibbar@ruby-lang.org>
- * ext/tk/lib/tk.rb: fix bug on {pack|grid}_propagate() method
+ * lib/cgi/cookie.rb: Implement HttpOnly flag for cookies.
+ [fix GH-887] Patch by @martinpovolny
-Fri Nov 21 16:12:11 2003 Akinori MUSHA <knu@iDaemons.org>
+Fri May 15 06:54:19 2015 Aaron Patterson <tenderlove@ruby-lang.org>
- * ruby.1: Fix markups and grammar.
+ * variable.c: Change autoload to call `require` through Ruby rather
+ than directly calling `rb_require_safe`. This allows things like
+ RubyGems to intercept file loading done though `autoload`.
+ [Feature #11140]
-Fri Nov 21 14:49:42 2003 Minero Aoki <aamine@loveruby.net>
+ * test/ruby/test_autoload.rb: Test for change.
- * ruby.1: wrote about ruby related environment variables.
+Wed Apr 8 19:18:02 2015 Shota Fukumori (sora_h) <her@sorah.jp>
-Fri Nov 21 12:28:03 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * enum.c (enum_grep_v, grep_i, grep_iter_i, Init_enum):
+ Implement Enumerable#grep_v. [Feature #11049]
- * marshal.c (w_extended): singleton methods should not be checked
- when dumping via marshal_dump() or _dump(). [ruby-talk:85909]
+Thu May 14 15:54:13 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Fri Nov 21 01:40:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/pathname/lib/pathname.rb: Remove condition of RUBY_VERSION <= 1.9.
+ [Feature #11082]
- * configure.in: check <pthread.h>
+Wed May 13 17:10:37 2015 Masaki Matsushita <glass.saga@gmail.com>
- * ruby.h: include pthread.h if existence.
- define is_ruby_native() macro when not HAVE_NATIVETHREAD
+ * enum.c (enum_to_a): revert r50457.
+ it requires recursion check.
+ then, it doesn't make performance improvement.
+ [Bug #11130] [Feature #9118]
- * eval.c: undef is_ruby_native() function when not HAVE_NATIVETHREAD
+Wed May 13 11:13:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Nov 21 00:43:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * parse.y (parse_gvar): separate message for gvar without
+ non-space characters from message for invalid identifiers.
- * lib/test/unit/assertions.rb: use #__send__ instead of #send.
+Tue May 12 22:18:27 2015 Masaki Matsushita <glass.saga@gmail.com>
- * lib/test/unit/testcase.rb: ditto.
+ * enum.c (enum_to_a): fix incompatibility introduced in r50457.
+ [Bug #11130]
-Thu Nov 20 19:19:22 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * test/ruby/test_enum.rb: test for above.
- * configure.in: don't find the Cygwin's pthread library on MinGW.
+Tue May 12 17:08:03 2015 Koichi Sasada <ko1@atdot.net>
-Thu Nov 20 19:15:50 2003 Minero Aoki <aamine@loveruby.net>
+ * method.h: remove unused declaration.
- * lib/fileutils.rb (have_st_ino?): emx (OS/2 with EMX) does not
- have st_ino (always 0). [ruby-dev:21972]
+Mon May 11 10:58:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/fileutils.rb (rename_cannot_overwrite_file?): emx does not
- allow overwriting files by rename(2).
+ * gems/bundled_gems: Update minitest-5.6.1 and power_assert-0.2.3.
- * test/fileutils/test_fileutils.rb: windows? ->
- have_drive_letter?, have_file_perm?
+Mon May 11 00:20:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 20 17:50:58 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * include/ruby/ruby.h (Data_Make_Struct, TypedData_Make_Struct):
+ allocate wrapper data object before allocating DATA_PTR to get
+ rid of possible memory leak when the former failed.
- * ext/tk/sample/tkballoonhelp.rb: new sample script
+Sun May 10 21:32:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/sample/tkmultilistbox.rb: ditto
+ * gc.c (gc_mark_children): call dmark function for non-NULL
+ pointers only, so that DATA_PTR can be NULL safely now.
- * ext/tk/sample/tktextframe.rb: ditto
+Sun May 10 16:23:58 2015 Kazuki Tsujimoto <kazuki@callcc.net>
-Thu Nov 20 13:37:34 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * proc.c (proc_binding): fix segmentation fault on marking phase.
+ envptr of newenvval should not be NULL.
- * ruby.h: define is_ruby_native_thread() for no native thread
- environment
+ You can reproduce by
+ make test-all TESTS='--gc-stress -n test_to_proc_binding ruby/test_method.rb'
- * eval.c: ditto
+Sun May 10 12:41:18 2015 Masaki Matsushita <glass.saga@gmail.com>
-Thu Nov 20 12:42:47 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/zlib/zlib.c (rb_gzreader_external_encoding):
+ define GzipReader#external_encoding.
+ [Bug #10900]
- * configure.in: always check existence of the pthread library
+ * test/zlib/test_zlib.rb: test for above.
- * ruby.h: define macros for ruby's native thread check
+Sun May 10 11:57:48 2015 Masaki Matsushita <glass.saga@gmail.com>
- * eval.c: add ruby's native thread check
+ * ext/win32ole/win32ole_variant.c: fix typo "indicies".
+ the patch is from davydovanton <antondavydov.o at gmail.com>.
+ [fix GH-892]
- * gc.c: ditto
+ * lib/rubygems/indexer.rb: ditto.
-Wed Nov 19 14:45:18 2003 Minero Aoki <aamine@loveruby.net>
+ * test/rubygems/test_gem_indexer.rb: ditto.
- * lib/net/http.rb (to_ary): print more friendly warning message.
+Sun May 10 11:44:37 2015 Masaki Matsushita <glass.saga@gmail.com>
-Wed Nov 19 14:32:08 2003 Minero Aoki <aamine@loveruby.net>
+ * string.c (rb_str_crypt): Raise ArgumentError when
+ string passed to String#crypt contains null.
+ the patch is from jrusnack <jrusnack at redhat.com>.
+ [Bug #10988] [fix GH-853]
- * lib/fileutils.rb (fu_same?): add djgpp and wince.
+ * test/ruby/test_string.rb: test for above.
- * lib/fileutils.rb (cannot_overwrite_file?): add wince.
+Sun May 10 11:23:03 2015 Masaki Matsushita <glass.saga@gmail.com>
-Wed Nov 19 11:04:47 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * enum.c (enum_to_a): Use size to set array capa when possible.
+ the patch is from HonoreDB <aweiner at mdsol.com>.
+ [fix GH-444]
- * lib/fileutils.rb (cannot_overwrite_file?, have_st_ino?): bccwin32
- is same as mswin32.
+Sat May 9 06:48:36 2015 Eric Wong <e@80x24.org>
-Wed Nov 19 07:54:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard
+ [Bug #11123]
- * lib/test/unit.rb: do not run tests if $! is set.
+Fri May 8 22:57:24 2015 takiy33 <takiy33@gmail.com>
- * lib/test/unit/assertionfailederror.rb: extend StandardError instead
- Exception (irb catches the former but not the latter).
+ * test/matrix/test_matrix.rb (test_determinant): refactor test on
+ Matrix#determinant, by merging with test_det for an alias method
+ det. [Fix GH-897]
-Tue Nov 18 23:31:36 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Fri May 8 15:43:11 2015 Shugo Maeda <shugo@ruby-lang.org>
- * missing/memmove.c (memmove): take void *, not char *.
+ * lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp
+ is omitted. [ruby-core:69093] [Bug #11128]
- * missing.h (memmove): ditto.
+Fri May 8 15:05:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * missing.h (strchr, strrchr): return char *, not int.
+ * doc/syntax/control_expressions.rdoc: fix a missing "a"
+ [fix GH-888][ci skip] Patch by @riffraff
-Tue Nov 18 22:20:10 2003 Minero Aoki <aamine@loveruby.net>
+Fri May 8 12:11:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/fileutils.rb (fu_same?): temporal fix for windows.
+ * vm_eval.c (rb_method_call_status): resolve refined method entry
+ to check if undefined. [ruby-core:69064] [Bug #11117]
-Tue Nov 18 19:05:04 2003 Minero Aoki <aamine@loveruby.net>
+Thu May 7 22:22:59 2015 Sho Hashimoto <sho-h@ruby-lang.org>
- * lib/fileutils.rb (fu_same?): check by inode instead of path
- name, to detect two hard links pointing to the same content.
+ * proc.c: [DOC] fix Binding#local_variable_set example. [ci skip]
- * test/fileutils.rb: did not create correctly looped symlinks.
+Thu May 7 11:32:57 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Tue Nov 18 18:23:05 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * Makefile.in (rbconfig.rb): add rule to make.
- * ext/stringio/stringio.c (strio_read): behave as IO at empty string.
- [ruby-dev:21939], [ruby-dev:21941]
+Thu May 7 05:14:39 2015 Eric Wong <e@80x24.org>
- * ext/stringio/stringio.c (strio_getc, strio_getline): set EOF flag.
+ * ext/socket/lib/socket.rb (connect_nonblock): use IO#wait_writable
+ * lib/drb/drb.rb (DRB::DRbTCPSocket#alive?): use IO#wait_readable
+ * lib/webrick/httpserver.rb (run): ditto
+ * lib/resolv.rb (request): ditto for single socket case
+ [ruby-core:68943] [Feature #11081]
- * ext/stringio/stringio.c (strio_rewind, strio_seek, strio_ungetc):
- clear EOF flag.
+Wed May 6 22:49:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/stringio/test_stringio.rb: imported from [ruby-dev:21941].
+ * vm_eval.c (rb_method_call_status): undefined refined method is
+ not callable unless using. [ruby-core:69064] [Bug #11117]
-Tue Nov 18 14:06:35 2003 Minero Aoki <aamine@loveruby.net>
+Sun May 3 22:40:06 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * lib/fileutils.rb (fu_each_src_dest): raise if src==dest.
- [ruby-talk:85344] [ruby-core:01699]
+ * ext/-test-/file/fs.c: need to include sys/statvfs.h
+ to use statvfs().
- * lib/fileutils.rb: use Object#is_a? instead of Class#=== to allow
- e.g. remote objects for receivers.
+ * ext/-test-/file/extconf.rb: check the existence of
+ sys/statvfs.h
- * lib/fileutils.rb: FileTest -> File.
+Sun May 3 21:59:48 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/fileutils.rb: put parentheses for arguments of File.xxxx?
+ * lib/yaml.rb: fix typo. [ci skip][fix GH-890]
+ Patch by @miketheman
- * test/fileutils/test_fileutils.rb (test_cp): test "cp a a".
+Sun May 3 10:02:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/test_fileutils.rb (test_mv): test "mv a a".
+ * range.c (linear_object_p, range_include): test if covered for
+ linear objects. [ruby-core:69052] [Bug #11113]
- * test/fileutils/test_fileutils.rb (test_ln): test "ln a a".
+Fri May 1 13:30:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/test_fileutils.rb (test_ln_s): test "ln_s a a".
+ * dln.c (dln_load): check if a different libruby is loaded by the
+ extension library, and then bail out to get rid of very
+ frequently reported stale bug reports.
- * test/fileutils/test_fileutils.rb (test_install): test "install a a".
+Thu Apr 30 19:51:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/fileasserts.rb: new method assert_symlink.
+ * compile.c (iseq_compile_each): revert r46873 and r46875, not to
+ allow to execute private readers by pretending op assign.
+ [ruby-core:68984] [Bug #11096]
- * test/fileutils/fileasserts.rb: assert_is_directory -> assert_directory.
+Thu Apr 30 17:02:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Mon Nov 17 19:38:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * rational.c: Added documentation for rational literal.
+ [Bug #11075][fix GH-885][ci skip] Patch by @shishir127
- * file.c (getcwdofdrv): avoid using getcwd() directly, use
- my_getcwd() instead.
+Thu Apr 30 16:39:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
- <sunshine@sunshineco.com>. [ruby-core:01596]
+ * ext/socket/ipsocket.c (init_inetsock_internal): preserve errno
+ before other library calls and use rb_syserr_fail.
+ [ruby-core:68531] [Bug #10975]
-Mon Nov 17 10:50:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Apr 30 16:22:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/optparse.rb (OptionParser::Completion::complete): allow least
- common completion for three or more candidates.
+ * parse.y (lambda): push and reset cmdarg_stack in lambda body.
+ [ruby-core:69017] [Bug #11107]
-Mon Nov 17 09:41:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Apr 26 07:36:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/test/unit/ui/tk/testrunner.rb,
- lib/test/unit/ui/gtk/testrunner.rb:
- run GUI main loop in sub thread.
+ * enc/utf_8.c (code_to_mbclen, code_to_mbc): reject values larger
+ than UTF-8 max codepoints. [Feature #11094]
- * lib/test/unit/ui/gtk2/testrunner.rb: imported from rough.
+Sat Apr 25 14:26:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/test/unit/autorunner.rb (keyword_display): sort keywords.
+ * string.c (str_buf_cat): expand later so that the buffer can be
+ larger for further use. [Bug #11080] [Bug #11095]
-Sun Nov 16 18:10:57 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Apr 24 23:48:45 2015 Akinori MUSHA <knu@iDaemons.org>
- * eval.c (rb_eval): iterator should return value from next inside
- begin/rescue/end. (ruby-bugs:PR#1218)
+ * misc/ruby-electric.el: Import version 2.2.3 from
+ https://github.com/knu/ruby-electric.el.
-Sun Nov 16 13:26:07 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Apr 24 10:40:02 2015 NAKAMURA Usaku <usa@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)
+ * win32/win32.c (rb_w32_{getc,putc}): removed. they are needed for old
+ ruby (before 1.8), but not now.
- * eval.c (rb_eval): call "inherited" only when a new class is
- generated; not on reopening.
+Fri Apr 24 08:40:13 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * eval.c (eval): prepend error position in evaluating string to
- "mesg" attribute string only when it's available and is a
- string.
+ * win32/win32.c: remove bcc related code.
-Sun Nov 16 12:16:10 2003 Minero Aoki <aamine@loveruby.net>
+ * include/ruby/win32.h: ditto.
- * lib/net/protocol.rb: logging response body. [experimental]
- [ruby-list:38800]
+Fri Apr 24 08:21:07 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Sun Nov 16 10:49:38 2003 Gavin Sinclair <gsinclair@soyabean.com.au>
+ * win32/win32.c (rb_acrt_lowio_lock_fh): wrap _pioinfo(i)->lock.
- * lib/thread.rb (Thread.exclusive): wrap method definition in
- class Thread to enable rdoc to process.
+ * win32/win32.c (rb_acrt_lowio_unlock_fh): ditto.
-Sun Nov 16 09:45:23 2003 Minero Aoki <aamine@loveruby.net>
+Fri Apr 24 06:47:19 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * lib/net/http.rb (set_debug_output): warn if method is called
- after #start. [ruby-dev:38798]
+ * win32/win32.c (_filbuf): msvc14 doesn't have it, use _fgetc_nolock.
-Sun Nov 16 04:41:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * win32/win32.c (_flsbuf): msvc14 doesn't have it, use _fputc_nolock.
- * eval.c (eval): do not re-raise exception to avoid unnecessary
- exception copying, instead modify exception and internal
- information to adjust eval().
+ * win32/win32.c (vcruntime_file): define vcruntime_file on msvc14
+ because it doesn't export FILE's internal structure.
- * eval.c (backtrace): can return the current frame information
- only if lev < -1.
+ * win32/win32.c (FILE_COUNT): added to abstract FILE->_cnt.
-Sat Nov 15 22:16:42 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * win32/win32.c (FILE_READPTR): added to abstract FILE->_ptr.
- * /ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext):
- refine error message.
+ * win32/win32.c (FILE_FILENO): added to abstract FILE->_file.
-Sat Nov 15 10:05:40 2003 Tanaka Akira <akr@m17n.org>
+ * win32/win32.c (init_stdhandle): use FILE_FILENO.
- * lib/open-uri.rb (OpenURI.open_loop, OpenURI::HTTP#proxy_open):
- refactored to support options.
- (Buffer): maintain size by this class.
+ * win32/win32.c (rb_w32_getc): use FILE_COUNT and FILE_READPTR.
-Sat Nov 15 07:40:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * win32/win32.c (rb_w32_putc): ditto.
- * eval.c (rb_method_node): new API to retrieve method body.
+Fri Apr 24 06:37:07 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Fri Nov 14 13:21:30 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * win32/win32.c (dupfd): use _set_osfhnd.
- * ext/tcltklib/tcltklib.c: fix (en-bugged at 2003/11/07)
+ * win32/win32.c (rb_w32_wopen): use _set_osflags.
- * ext/tk/lib/tkdialog.rb: TkDialog.new accepts a parent widget
- argument [ruby-talk:85066]
+Thu Apr 24 05:38:01 2015 Koichi Sasada <ko1@atdot.net>
-Thu Nov 13 20:53:35 2003 Tanaka Akira <akr@m17n.org>
+ * gc.c (gc_mark_roots): fox to work PRINT_ROOT_TICKS.
- * lib/open-uri.rb (Kernel[#.]open): hard coded URI schemes removed.
- [ruby-ext:02251]
+Fri Apr 24 04:49:05 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Thu Nov 13 19:17:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * win32/Makefile.sub: MSVC14 have struct timespec.
- * lib/test/unit/ui/tk/testrunner.rb: use grid and panedwindow
- (if available)
+ * win32/rtname.cmd: support vcruntime140.dll.
-Thu Nov 13 17:56:41 2003 Tanaka Akira <akr@m17n.org>
+ * time.c (localtime_with_gmtoff_zone): MSVC14 doesn't have tzname and
+ daylight but have _tzname and _daylight.
- * lib/open-uri.rb (OpenURI.open_uri): use File::RDONLY.
- reported by Take_tk <ggb03124@nifty.ne.jp>.
- [ruby-ext:02245]
+Thu Apr 23 11:35:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Nov 13 16:45:53 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * 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]
- * ext/openssl/ossl_x509req.c (ossl_x509req_to_der): add function for
- X509::Request#to_der.
+Thu Apr 23 10:01:36 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Thu Nov 13 11:31:14 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/delegate.rb: fix a typo.
+ [fix GH-881][ci skip] Patch by @Zorbash
- * lib/optparse.rb (OptionParser::Completion#complete): prior shorter
- name to containing longer name.
+Wed Apr 22 18:36:50 2015 Shugo Maeda <shugo@ruby-lang.org>
-Thu Nov 13 06:08:54 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * lib/net/imap.rb (move, uid_move): support the MOVE command defined
+ in RFC6851. Patch by ojab ojab.
+ [ruby-core:68960] [Feature #11077]
- * ext/tk/lib/tk.rb: stop freezing some classes
+Tue Apr 22 12:42:12 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: ditto.
+ * test/ruby/test_object.rb: add tests for Kernel#String and Kernel#Array.
+ [fix GH-879][fix GH-880] Patch by @yui-knk
-Wed Nov 12 17:32:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Apr 21 20:46:02 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * lib/test/unit/assertions.rb (assert_throws, assert_nothing_thrown):
- uncaught throw in sub thread raises ThreadError.
+ * test/ruby/test_object.rb: renamed tests to explicitly class name.
+ [fix GH-877] Patch by @yui-knk
- * lib/test/unit/ui/tk/testrunner.rb (setup_ui): "expand" is not
- necessary.
+Tue Apr 21 05:31:00 2015 Eric Wong <e@80x24.org>
-Wed Nov 12 14:09:43 2003 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/socket/lib/socket.rb (connect_internal): avoid common exceptions
+ from connect_nonblock. [ruby-core:68909]
- * test/monitor/test_monitor.rb: fix the timing problem by Queue.
+Mon Apr 20 23:46:53 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Nov 12 12:59:44 2003 Shugo Maeda <shugo@ruby-lang.org>
+ * win32/win32.c (rb_w32_wreadlink): follow the official format of
+ REPARSE_DATA_BUFFER structure.
- * test/monitor/test_monitor.rb: added.
+Mon Apr 20 20:23:04 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Nov 12 10:14:28 2003 Shugo Maeda <shugo@ruby-lang.org>
+ * common.mk ($(arch)-fake.rb): revert r50354 because bsdmake seems not
+ to handle such substitution.
- * lib/monitor.rb: refactored. Thanks, Gennady Bystritsky.
+ * tool/expand-config.rb: convert path separators here.
-Wed Nov 12 06:11:39 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Apr 20 16:52:20 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/openssl/ossl.c (ossl_x509_sk2ary, ossl_x509crl_sk2ary):
- add functions to convert STACK into Array.
+ * tool/fake.rb: don't fake libdir. use libdirname instead.
- * ext/openssl/ossl.h: add prototypes.
+Mon Apr 20 16:49:52 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * 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.
+ * lib/mkmf.rb (MakeMakefile#configuration): DESTDIR should never affect
+ top_srcdir and builddir.
-Wed Nov 12 00:47:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+Mon Apr 20 16:18:17 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/test/unit/ui/testrunnermediator.rb: should require 'test/unit'.
+ * common.mk ($(arch)-fake.rb): fix the path separator up for Windows.
-Tue Nov 11 23:54:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+Mon Apr 20 15:02:47 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/test/unit/ui/gtk/testrunner.rb: added a rescue clause to handle
- the case when the requested font is not available.
+ * win32/win32.c (rb_w32_wreadlink): fixed a bug that a junction misses
+ its drive letter.
-Tue Nov 11 22:44:08 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Apr 20 12:54:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * io.c (appendline): file may not end with newline. a bug if
- READ_DATA_PENDING_PTR is defined. [ruby-talk:84925]
+ * ext/openssl/*: use license instead of licence.
+ [fix GH-876][ci skip] Patch by @davydovanton
+ * lib/net/https.rb: ditto.
-Tue Nov 11 10:42:41 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Mon Apr 20 12:42:40 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
- * ext/tk/lib/tk.rb: raise an exception when creating TkWindow
- object, because TkWindow class is an abstract class.
+ * benchmark/bm_so_meteor_contest.rb: fix a typo.
+ [fix GH-876][ci skip] Patch by @davydovanton
+ * tool/bisect.sh: ditto.
+ * tool/update-deps: ditto.
-Tue Nov 11 03:30:43 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Apr 20 11:10:46 2015 Eric Wong <e@80x24.org>
- * lib/ext/openssl/ossl_conf.c (ossl_config_get_value): return nil
- if the specified value doesn't exist.
+ * ext/socket/socket.c (sock_connect_nonblock): do not raise EISCONN
+ [ruby-core:68926] [Feature #11072]
+ * test/socket/test_nonblock.rb: check non-EISCONN on 2nd connect
- * lib/ext/openssl/ossl_conf.c (ossl_config_get_section): return
- a empty hash if the specified section doesn't exist.
+Sun Apr 19 12:19:17 2015 Chad Brewbaker <crb002@gmail.com>
-Mon Nov 10 11:40:29 2003 Shugo Maeda <shugo@ruby-lang.org>
+ * ext/{etc,openssl,tk}: Adding parens and comparisons around
+ assignments to get rid of Wparentheses warnings. [Fix GH-875]
- * lib/monitor.rb (wait): return true on signal/broadcastfalse and
- false on timeout. Thanks Gennady Bystritsky.
+Sun Apr 19 10:42:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Nov 10 00:07:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * hash.c (get_env_cstr): environment variables must be ASCII
+ compatible, as dummy encodings and wide char encodings are
+ unsupported now.
- * parse.y (primary): primary_value may be 0 when syntax error.
- [ruby-talk:84893]
+Sat Apr 18 15:18:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Nov 9 02:05:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * ext/json/parser/parser.rl: raise with messages in UTF-8
+ encoding. [ruby-core:67386] [Bug #10705]
- * 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 17 11:58:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/testunit/tc_assertions.rb: ditto.
+ * string.c (STR_SET_EMBED): clear NOFREE flag at embedding as
+ embedded strings no longer refer static strings.
+ [ruby-core:68436] [Bug #10942]
-Sat Nov 8 18:50:20 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Thu Apr 16 05:15:50 2015 Eric Wong <e@80x24.org>
- * test/wsdl/raa/*: add new testcase for WSDL loading, parsing and
- reading.
+ * NEWS: note IO#wait_readable change in r50263
- * test/soap/marshal/*: backport from soap4r/1.5.1. all differences are
- for ruby/1.6.
+Thu Apr 16 05:09:36 2015 Eric Wong <e@80x24.org>
- * lib/soap/*: backport from soap4r/1.5.1. all differences are for
- ruby/1.6.
+ * lib/net/protocol.rb (rbuf_fill): use IO#wait_*able
+ * lib/net/http/generic_request.rb (wait_for_continue): ditto
+ [ruby-core:68891] [Feature #11056]
- * lib/wsdl/data.rb, lib/wsdl/xmlSchema/data.rb: move definition of
- ArrayTypeAttrName from ::WSDL::XMLSchema::* to ::WSDL::*.
- [ruby-talk:84813]
+Wed Apr 15 18:43:43 2015 Koichi Sasada <ko1@atdot.net>
- * lib/wsdl/soap/definitions.rb: element name typo in custom exception
- struct definition which is needed for wsdlDriver; camelCase ->
- underscore_name.
+ * vm_trace.c (rb_tracepoint_new): fix documentation.
+ Commented by @emilsoman.
-Sat Nov 8 13:49:50 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Wed Apr 15 17:36:51 2015 Koichi Sasada <ko1@atdot.net>
- * configure.in: improvement of pthread check
+ * vm_trace.c (rb_tracepoint_new): Add documentation for
+ rb_tracepoint_new C level API [ci skip]
+ Provided by @emilsoman. [fix GH-869]
-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.
+Wed Apr 15 10:37:40 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
-Sat Nov 8 06:19:38 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * doc/contributors.rdoc: fix a typo. Patch by @davydovanton
+ [fix GH-872][ci skip]
+ * doc/syntax/methods.rdoc: ditto.
+ * ext/digest/sha2/sha2.c: ditto.
+ * ext/socket/ipsocket.c: ditto.
+ * ext/tk/*: ditto.
- * 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).
+Wed Apr 15 07:51:23 2015 Yuki Yugui Sonoda <yugui@yugui.jp>
- * ext/tcltklib/README.1st: edit the description of '--with-pthread-ext'
+ * doc/extension.ja.rdoc: Added description of TypedData_XXX.
+ Deprecated the old DATA_XXX.
+ Reviewed by ko1 and nobu.
+ Fixes [ruby-dev:40881] #3064
-Fri Nov 7 23:23:04 2003 Tanaka Akira <akr@m17n.org>
+ * doc/extension.rdoc: ditto.
- * 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.
+Wed Apr 15 07:34:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Nov 7 10:23:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * thread_pthread.c (reserve_stack): keep sp safe zone to get rid
+ of crash by -fstack-check. [ruby-core:68740] [Bug #11030]
- * ext/socket/socket.c (make_hostent): get rid of SEGV on aliases
- lookup failure. (ruby-bugs:PR#1215)
+Tue Apr 14 16:03:49 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Fri Nov 7 04:08:05 2003 UENO Katsuhiro <katsu@blue.sky.or.jp>
+ * tool/merger.rb (versionup): should also increment revision when
+ changing teeny.
- * ext/zlib/zlib.c (Init_zlib): define Zlib::GzipReader#each_line as
- an alias of Zlib::GzipReader#each.
+Tue Apr 14 11:24:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Nov 7 01:03:16 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/-test-/printf/printf.c (uint_to_str): renamed to get rid of
+ conflict on cygwin. [ruby-core:68877] [Bug #11065]
- * eval.c (rb_load): save and restore rb_prohibit_interrupt.
- [ruby-dev:21857]
+Tue Apr 14 08:59:04 2015 Zachary Scott <e@zzak.io>
-Thu Nov 6 18:05:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c: [DOC] Improve documentation for ObjectSpace.count_objects
+ with regards to `:TOTAL` key, with patch by @schneems [Fixes GH-871]
+ https://github.com/ruby/ruby/pull/871 [Bug #11067]
- * io.c (rb_io_inspect): show the path also at a closed file.
- [ruby-dev:21851]
+Mon Apr 13 22:44:07 2015 Tanaka Akira <akr@fsij.org>
-Thu Nov 6 11:42:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/lib/envutil.rb (File.mkfifo): Defined using mkfifo command.
- * ext/stringio/stringio.c (strio_set_string, strio_reopen): check
- tainted.
+ * test/ruby/test_io.rb: Use File.mkfifo.
- * ext/stringio/stringio.c (strio_copy, strio_ungetc, strio_write,
- strio_putc): add infection.
+ * test/ruby/test_file_exhaustive.rb: Ditto.
- * ext/stringio/stringio.c (strio_path): just nil. [ruby-dev:21846]
+ * test/ruby/test_process.rb: Ditto.
- * ruby.c (proc_options): reserve searched script path in the
- source file name table. [ruby-list:38765]
+Mon Apr 13 21:20:20 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
- * lib/optparse.rb (OptionParser::Completion#complete): default not to
- ignore case on completion. [ruby-talk:84726]
+ * 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.
- * win32/win32.c (make_cmdvector): process backslashes even if a quote
- is not enclosed.
+Sun Apr 12 18:40:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Wed Nov 5 23:49:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * ext/json/json.gemspec: bump version to 1.8.2.
+ * ext/json/lib/json/version.rb: ditto.
- * sample/openssl/gen_csr.rb: there (at least) is a CA which does not
- accept DN in UTF8STRING format. it's a sample.
+Sun Apr 12 18:12:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Wed Nov 5 22:55:16 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * ext/json/json.gemspec, lib/rdoc/rdoc.gemspec: added gemspec directly.
+ * defs/default_gems, tool/rbinstall.rb: removed default_gems definition.
+ it make simple installation for default gems.
- * configure.in, eval.c, signal.c: : add '--with-pthread-ext'
- option to fix the pthread trouble on 'tcltklib'
+Sun Apr 12 17:35:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/tcltklib/README.1st: add the description of '--with-pthread-ext'
+ * ext/json/*, test/json/*: Reverted r50231. Because it's not
+ working with cross-compile environment.
- * 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
+Sun Apr 12 15:34:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb : add TkMenu#set_focus support Tcl/Tk's
- tk_menuSetFocus
+ * parse.y (arg): fix segfault by null caused by syntax error.
+ [ruby-core:68851] [Bug #10957]
-Wed Nov 5 17:33:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Apr 12 15:11:16 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * eval.c (rb_load): allow interrupt during loaded program
- evaluation. [ruby-dev:21834]
+ * lib/rubygems/test_case.rb: use explicitly exception class and reverted
+ to require JSON library for rubygems tests with Ruby 2.2.0 or earlier.
- * hash.c (rb_hash_fetch): always warn if default argument and a
- block are supplied at the same time. [ruby-dev:21842]
+Sun Apr 12 15:10:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * hash.c (env_fetch): ditto.
+ * ext/io/wait/wait.c (io_wait_readable): simply returns that IO is
+ readable without blocking, but no longer returns EOF.
- * array.c (rb_ary_fetch): ditto.
+ * ext/io/wait/wait.c (io_ready_p, io_wait_readable): try polling
+ first and check FIONREAD optionally to see if EOF.
+ [ruby-core:36805] [Feature #4849]
-Wed Nov 5 19:08:47 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Apr 12 14:53:23 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
- do not remove next argument if empty value is placed.
+ * lib/rubygems/test_case.rb: fixed json load error for rubygems tests.
- * test/optparse: added.
+Sun Apr 12 14:13:28 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Wed Nov 5 17:05:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c: Document require name for ObjectSpace methods.
+ [ci skip][fix GH-860] Patch by @schneems
- * lib/test/unit/ui/gtk/testrunner.rb: typo.
+Sun Apr 12 13:54:05 2015 Tanaka Akira <akr@fsij.org>
-Wed Nov 5 11:13:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/ruby/test_io.rb: New test that open(fifo) doesn't block other
+ threads.
- * string.c: add #include "version.h". this file still depends on it.
+Sun Apr 12 13:52:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,
- wince/Makefile.sub: add version.h dependency to string.c.
+ * ext/coverage/coverage.c: Remove extension from require argument.
+ [ci skip][fix GH-870] Patch by @yui-knk
-Wed Nov 5 09:14:23 2003 Shugo Maeda <shugo@ruby-lang.org>
+Sun Apr 12 10:29:14 2015 Eric Wong <e@80x24.org>
- * lib/monitor.rb: revert to the previous revision.
+ * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock):
+ support `exception: false'
+ * (get_no_exception): move function location
+ * ext/socket/socket.c (sock_connect_nonblock):
+ support `exception: false'
+ * test/openssl/test_pair.rb (test_connect_accept_nonblock_no_exception):
+ test `exception: false' on connect,
+ rename from `test_accept_nonblock_no_exception'
+ * test/socket/test_nonblock.rb (test_connect_nonblock_no_exception):
+ new test
-Wed Nov 5 08:39:51 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Apr 12 09:57:16 2015 Tanaka Akira <akr@fsij.org>
- * lib/webrick/https.rb (HTTPRequest#parse): set @client_cert_chain.
+ * test/ruby/test_file_exhaustive.rb: Test a block device on GNU/Linux.
- * lib/webrick/https.rb (HTTPRequest#meta_vars): create
- SSL_CLIENT_CERT_CHAIN_n from @client_cert_chain.
+Sun Apr 12 09:24:03 2015 Tanaka Akira <akr@fsij.org>
- * ext/openssl/ossl_ssl.c (ossl_ssl_get_peer_cert_chain): return nil
- if no cert-chain was given.
+ * test/ruby/test_file_exhaustive.rb: Test a file not owned.
-Tue Nov 4 23:44:48 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Apr 12 09:05:44 2015 Tanaka Akira <akr@fsij.org>
- * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub:
- remove needless version.h dependency.
+ * ext/fiddle/depend: Fix "Wrong mix of special targets" error with
+ OpenBSD make.
-Tue Nov 4 23:38:43 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Sun Apr 12 09:04:37 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * class.c, hash.c, string.c: remove #include "version.h".
+ * test/ruby/test_file_exhaustive.rb: Windows doesn't support Unix file
+ modes.
- * Makefile.in: remove needless version.h dependency.
+Sun Apr 12 08:56:44 2015 Tanaka Akira <akr@fsij.org>
-Tue Nov 4 06:54:52 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/-test-/file/fs.c: OpenBSD needs sys/param.h before sys/mount.h.
- * io.c (read_all): fptr->f may be NULL, if IO is closed in the
- signal handler.
+Sun Apr 12 08:52:01 2015 Tanaka Akira <akr@fsij.org>
- * io.c (io_read): ditto.
+ * test/ruby/test_file_exhaustive.rb: Test suid, sgid and sticky file.
- * string.c (get_pat): remove 1.8.0 warning code.
+Sat Apr 11 23:48:30 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * string.c (rb_str_match): extend warning until 1.8.2.
+ * template/fake.rb.in: Don't assign baseruby, Because it's affect to
+ Makefile of native gem like json on bundled gems.
- * string.c (rb_str_match2): ditto.
+Sat Apr 11 23:33:22 2015 Tanaka Akira <akr@fsij.org>
- * class.c (class_instance_method_list): remove 1.8.0 warnings.
- method_list now recurs. [ruby-dev:21816]
+ * file.c (rb_f_test): Consider nsec for "=", "<" and ">" for "test"
+ method.
- * class.c (rb_obj_singleton_methods): ditto.
+Sat Apr 11 23:26:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * array.c (rb_ary_select): remove select with block.
- [ruby-dev:21824]
+ * tool/rbinstall.rb: support destdir for native extension gem.
- * hash.c (rb_hash_select): ditto.
+Sat Apr 11 21:02:06 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * hash.c (env_select): ditto.
+ * test/ruby/test_file_exhaustive.rb
+ (TestFileExhaustive#test_stat_socket_p): r50226 accidentally missed
+ the guard for non-unix environments.
- * re.c (match_select): ditto.
+Sat Apr 11 20:14:21 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * struct.c (rb_struct_select): ditto.
+ * ext/json/*, test/json/*, defs/default_gems: Gemify JSON library.
+ [fix GH-867][Feature #11057]
+ * test/ruby/test_extlibs.rb: removed json gem from existence extensions.
+ * gems/bundled_gems: added json gem into bundled gem.
+ * lib/rdoc/rubygems_hook.rb: ignored no json environment.
+ * lib/rubygems/test_case.rb, test/rubygems/*: ditto.
+ * lib/rdoc/test_case.rb, test/rdoc/*: ditto.
-Mon Nov 3 22:53:21 2003 Minero Aoki <aamine@loveruby.net>
+Sat Apr 11 15:56:58 2015 Tanaka Akira <akr@fsij.org>
- * lib/racc/parser.rb: synchronize with Racc 1.4.4.
+ * test/ruby/test_file_exhaustive.rb: Create sample files lazily.
- * ext/racc/cparse/cparse.c: ditto.
+Sat Apr 11 14:03:47 2015 Tanaka Akira <akr@fsij.org>
- * ext/racc/cparse/cparse.c (parse_main): should abort when
- the length of LR state stack <=1, not ==0.
+ * test/ruby/test_file_exhaustive.rb: Test character device using
+ /dev/null.
-Mon Nov 3 08:50:47 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Apr 11 10:59:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * process.c (check_uid_switch): remove duplicated error messages.
+ * lib/mkmf.rb (append_cppflags, append_cflags, append_ldflags):
+ utility methods to append compiler options.
- * process.c (check_gid_switch): ditto.
+Sat Apr 11 08:22:24 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Sun Nov 2 02:28:33 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/rdoc/text.rb: removed duplicated code.
- * lib/webrick/ssl.rb: new option :SSLExtraChainCert.
+Sat Apr 11 04:46:42 2015 Eric Wong <e@80x24.org>
-Sun Nov 2 01:02:04 2003 Akinori MUSHA <knu@iDaemons.org>
+ * lib/net/protocol.rb (rbuf_fill): avoid exception with read_nonblock
+ [ruby-core:68787] [Feature #11044]
- * string.c (rb_str_hash): Update the HASH_PERL alternative hash
- algorithm in sync with Perl 5.8.
+Fri Apr 10 23:57:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * st.c (strhash): Ditto.
+ * dir.c (need_normalization): use getattrlist() if fgetattrlist()
+ is unavailable, on OSX 10.5. [ruby-core:68829] [Bug #11054]
-Sat Nov 1 18:21:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Apr 10 22:29:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_ssl.c (ossl_ssl_peer_cert_chain): add new method
- SSLSocket#peer_cert_chain.
+ * lib/mkmf.rb (try_compile): pass the given werror flag to try_do
+ to check if stderr is empty.
- * ext/openssl/ossl_x509req.c (GetX509ReqPtr): new function
- which returns underlying X509_REQ.
+ * lib/mkmf.rb (try_cflags, try_ldflags): default werror to true.
- * 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.
+ * win32/Makefile.sub (WERRORFLAG): remove useless option. VC does
+ not make warnings of unknown command option an error.
-Sat Nov 1 01:49:03 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Fri Apr 10 19:34:24 2015 Tanaka Akira <akr@fsij.org>
- * lib/soap/mapping/factory.rb: mark marshalled basetype objects when
- @allow_original_mapping is true. multi-referencing basetype node is
- prohibited in SOAP/1.1 encoding but soap4r's original ruby object
- mapping requires basetype to be marked to detect self referencing
- loop. e.g. o = 1; o.instance_eval { @iv = o } soap4r's original
- mapping is only used through soap/marshal API.
+ * test/ruby/test_file_exhaustive.rb: Test socket.
- * test/soap/marshal/test_marshal.rb: add tests for self referencing
- immutable objects.
+Fri Apr 10 19:38:46 2015 Koichi Sasada <ko1@atdot.net>
- * test/soap/calc/test_calc_cgi.rb: fix test name.
+ * test/objspace/test_objspace.rb: remove debug prints.
-Fri Oct 31 22:26:29 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
+Fri Apr 10 19:35:51 2015 Koichi Sasada <ko1@atdot.net>
- * wince/string_wce.c (strrchr): should decrement pointer.
+ * ext/objspace/objspace.c: add ObjectSpace.count_imemo_objects method
+ to count imemo objects for each type.
- * wince/Makefile.sub: correct a range of isdigit().
+ * test/objspace/test_objspace.rb: add a test.
-Fri Oct 31 12:55:24 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * NEWS: describe about this addition.
- * configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD.
- [ruby-dev:21791]
+Fri Apr 10 19:34:24 2015 Tanaka Akira <akr@fsij.org>
- * bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.
+ * test/ruby/test_file_exhaustive.rb: Test anonymous pipe.
-Fri Oct 31 01:38:14 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Apr 10 19:31:56 2015 Tanaka Akira <akr@fsij.org>
- * wince/Makefile.sub, win32/Makefile.sub (.y.c): allow white spaces
- at the beginning of line to remove by sed. (ruby-bugs-ja:PR#580)
+ * test/ruby/test_file_exhaustive.rb: Test named pipe.
-Fri Oct 31 01:02:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Apr 10 19:10:34 2015 Koichi Sasada <ko1@atdot.net>
- * compar.c (cmp_equal): protect exceptions from <=> comparison
- again. returns nil if any exception or error happened during
- comparison.
+ * ext/objspace/objspace.c (setup_hash): unify common routine.
- * eval.c (search_required): should update *featurep when DLEXT2 is
- defined. (ruby-bugs-ja:PR#581)
+Fri Apr 10 18:29:49 2015 Tanaka Akira <akr@fsij.org>
-Thu Oct 30 23:41:04 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+ * process.c (rb_execarg_parent_start1): Handle EINTR.
- * lib/drb/drb.rb: add DRbArray
+Fri Apr 10 17:27:58 2015 Koichi Sasada <ko1@atdot.net>
- * lib/drb/invokemethod.rb: fix Hash#each problem. [ruby-dev:21773]
+ * vm.c (vm_exec): check other events when RETURN is thrown.
+ [Bug #10724]
- * lib/drb/unix.rb: add LoadError. [ruby-dev:21743]
+ * test/ruby/test_settracefunc.rb: add a test.
-Thu Oct 30 23:19:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Fri Apr 10 11:44:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/soap/generator.rb: better XML pretty printing.
+ * ext/date/extconf.rb: check warnings.
- * lib/soap/encodingstyle/soapHandler.rb: remove unnecessary namespace
- assignment in the element which has "encodingStyle" attribute, and
- add necessary namespace assignment for "arrayType" attribute.
+ * lib/mkmf.rb (try_cflags): pass options to try_compile.
- * test/soap/calc/test_calc_cgi.rb: take over $DEBUG to ruby process
- through CGI.
+ * win32/Makefile.sub (WERRORFLAG): make unknown command line
+ options an error.
-Thu Oct 30 22:59:39 2003 why the lucky stiff <why@ruby-lang.org>
+Fri Apr 10 08:00:17 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/syck/yaml2byte.c: HASH const too long. Thanks, matz.
+ * test/ruby/test_process.rb: unfortunately, windows is not POSIX...
+ cygwin has mkfifo command, but it does not affect system-wide.
-Thu Oct 30 19:13:53 2003 Akinori MUSHA <knu@iDaemons.org>
+Fri Apr 10 02:18:53 2015 Tanaka Akira <akr@fsij.org>
- * ext/syck/MANIFEST: Add yamlbyte.h.
+ * test/ruby/test_process.rb: Use mkfifo command instead of mknod
+ command to create a named pipe. mkfifo command is defined by POSIX.
-Thu Oct 30 14:25:31 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Apr 10 01:29:05 2015 Tanaka Akira <akr@fsij.org>
- * io.c (READ_DATA_BUFFERED): new macro to detect whether stdio
- buffer filled.
+ * process.c: Release GVL when opening a file in spawn() to avoid whole
+ process blocking when opening a named pipe.
+ (open_func): New function.
+ (rb_execarg_parent_start1): Extracted from rb_execarg_parent_start and
+ use rb_thread_call_without_gvl2 to release GVL when opening a file.
+ (rb_execarg_parent_start): Invoke rb_execarg_parent_start1 via
+ rb_protect and invoke rb_execarg_parent_end when error.
- * io.c (rb_io_fptr_cleanup): move path deallocation to
- rb_io_fptr_finalize (finalizer called by GC).
+Thu Apr 9 22:19:19 2015 Tanaka Akira <akr@fsij.org>
-Thu Oct 30 13:23:39 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * process.c (redirect_open): Removed.
- * parse.y (logop): left may be NULL. [ruby-talk:84539]
+Thu Apr 9 21:38:20 2015 Tanaka Akira <akr@fsij.org>
- * eval.c (rb_eval): NODE_CASE nd_head may be NULL.
+ * internal.h (rb_execarg_parent_end): Declared.
-Thu Oct 30 10:14:51 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * process.c: "spawn" opens files in the parent process.
+ (check_exec_redirect): Add an placeholder for fd in parameters
+ for fd_open.
+ (check_exec_fds_1): Delete fd_open condition.
+ (check_exec_fds): Don't call check_exec_fds_1 with fd_open.
+ (rb_execarg_parent_start): Open files specified as "spawn" options
+ and add "dup2" options.
+ (rb_execarg_parent_end): New function to close opened fds.
+ (run_exec_open): Removed.
+ (rb_execarg_run_options): Don't call run_exec_open.
+ (rb_spawn_internal): Call rb_execarg_parent_end.
- * lib/test/unit/autorunner.rb: make fox runner work.
+ * io.c (pipe_open): Call rb_execarg_parent_end.
-Thu Oct 30 09:32:26 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/pty/pty.c (establishShell): Call rb_execarg_parent_end.
- * process.c (rb_f_system): fixed lack of security check before
- calling do_spawn() on win32. [ruby-talk:84555]
+Thu Apr 9 20:52:31 2015 Tanaka Akira <akr@fsij.org>
-Thu Oct 30 02:46:35 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * internal.h (rb_execarg_parent_start): Renamed from rb_execarg_fixup.
- * 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]
+ * process.c: Follows the above change.
-Thu Oct 30 02:25:48 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * io.c: Ditto.
- * ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):
- add new method to inherit @sync from @io.sync.
+ * ext/pty/pty.c: Ditto.
- * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): no need to
- set sync flag explicitly.
+Thu Apr 9 20:35:12 2015 Tanaka Akira <akr@fsij.org>
- * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): call super.
+ * process.c (fd_clear_cloexec): Extracted from run_exec_dup2.
- * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): set extra chain
- certificates in @extra_chain_cert.
+Thu Apr 9 09:26:47 2015 Eric Wong <e@80x24.org>
-Wed Oct 29 22:02:04 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * ccan/list/list.h: sync with ccan upstream
+ [ccan commit c2fbfe5282ba264f3485586e7efa8a5967f2d386]
- * test/drb/drbtest.rb: use rbconfig.rb to make the path of ruby
- interpreter to exec, instead of test/ruby/envutil.rb,
+Thu Apr 9 08:24:03 2015 Masahiro Tomita <tommy@tmtm.org>
-Wed Oct 29 19:58:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of
+ addrinfo. [ruby-dev:48923] [Bug #11051]
- * ext/tcltklib/tcltklib.c (CONST84): define CONST84 when it is not
- defined and TCL_MAJOR_VERSION >= 8.
+Wed Apr 8 17:45:02 2015 Shannon Skipper <shannonskipper@gmail.com>
- * ext/tcltklib/tcltklib.c (VwaitVarProc, WaitVariableProc,
- rb_threadVwaitProc): use CONST84 instead of CONST.
+ * version.c (Init_version): the version of the engine or
+ interpreter. [Fix GH-858]
- * ext/tcltklib/tcltklib.c (ip_rbTkWaitCommand,
- ip_rb_threadTkWaitCommand): use CONST84 always.
+Wed Apr 8 16:15:30 2015 Kenta Murata <mrkn@cookpad.com>
-Wed Oct 29 17:27:05 2003 Tanaka Akira <akr@m17n.org>
+ * bigdecimal: conform to ruby's license. [ruby-core:68466] [Bug #10952]
- * re.c (rb_reg_s_union, Init_Regexp): new method `Regexp.union'.
+Wed Apr 8 14:57:06 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/pathname.rb (realpath): examine Dir.pwd because it may have
+ * win32/win32.c (rb_w32_wreadlink): should treat junctions like as
symlinks.
-Wed Oct 29 17:16:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
-
- * eval.c (rb_longjmp): must not disturb original jump.
- [ruby-dev:21733]
+Wed Apr 8 14:03:47 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 29 15:28:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_symbol.rb: fix syntax error.
- * eval.c (Init_Proc): taint preallocated exception object
- sysstack_error. [ruby-talk:84534]
+Wed Apr 8 13:01:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 29 11:27:39 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * hash.c (rb_any_hash): Symbols are compared by the identities
+ always. [ruby-core:68767] [Bug #11035]
- * parse.y (ret_args): node may be NULL. [ruby-talk:84530]
+Tue Apr 7 10:22:51 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Tue Oct 28 15:20:12 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * internal.h: fix typo. Patch by @sferik [fix GH-865]
- * 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.
+Mon Apr 6 22:52:35 2015 Tanaka Akira <akr@fsij.org>
-Mon Oct 27 19:19:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * enum.c: Enumerable#chunk and Enumerable#slice_before no longer takes
+ the initial_state argument. [Feature #10958]
- * eval.c (rb_longjmp): ignore reentering error while warning.
- [ruby-dev:21730]
+Mon Apr 6 16:09:58 2015 Koichi Sasada <ko1@atdot.net>
-Mon Oct 27 00:23:50 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * vm_args.c: protect value stack from calling other methods
+ during complex parameter setting process (splat, kw, and so on).
+ [Bug #11027]
- * ext/tcltklib/tcltklib.c (ip_ruby): bug fix on Win : hang-up when
- calling 'exit' in the Tk callback procedure. [ruby-list:38656]
+ * vm_core.h: remove rb_thread_t::mark_stack_len.
+ With this modification, we don't need to use th->mark_stack_len.
-Sat Oct 25 09:18:04 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/ruby/test_keyword.rb: add a test.
- * eval.c (rb_method_missing): protect exception from within
- "inspect". (ruby-bugs:PR#1204)
+ * cont.c (cont_capture): catch up this fix.
-Fri Oct 24 23:26:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm.c (rb_thread_mark): ditto.
- * hash.c (rb_hash_each): Hash#each should yield single value.
- [ruby-talk:84420]
+Mon Apr 6 11:26:42 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * hash.c (env_each): ditto for ENV.each.
+ * tool/downloader.rb (http_options): prevent content auto decoding
+ because this is a downloader.
-Thu Oct 23 20:25:32 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Apr 5 09:55:18 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/webrick/server.rb (GenericServer#start): should rescue
- IOError from IO::accept. [ruby-dev:21692]
+ * doc/contributing.rdoc: update Maintainers list.
-Thu Oct 23 17:59:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Apr 5 09:11:00 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * eval.c (ruby_cleanup): initialize stack bottom for embedding.
- [ruby-dev:21686]
+ * tool/rbinstall.rb: fix bin script permission of bundled gems.
- * ext/dl/extconf.rb: move list of files to clean from DEPEND file,
- to get rid of macro redefinitions.
+Sun Apr 5 08:46:08 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Oct 23 13:44:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * tool/rbinstall.rb: support --program-suffix option.
- * parse.y: integrate operations for stack_type. [ruby-dev:21681]
+Sat Apr 4 21:31:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Oct 23 00:41:45 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * lib/rake/*: Gemify rake [fix GH-862][Feature #11025]
+ * test/rake/*: ditto.
+ * tool/rbinstall.rb: ditto.
- * test/soap/calc/*, test/soap/helloworld/*: set logging threshold
- to ERROR.
+Sat Apr 4 11:30:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 22 12:53:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * string.c (rb_str_setbyte): check the argument first not to
+ discard shared string and code range unnecessarily until
+ actually changing the contents. pointed out by headius.
- * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
- ignore tests which raised LoadError.
+Sat Apr 4 08:16:43 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * test/drb/drbtest.rb, test/ruby/test_beginendblock.rb,
- test/ruby/test_system.rb: avoid requiring same file twice.
+ * lib/net/http.rb (edit_path): use path which is absolute ftp url
+ on using ftp_proxy.
- * 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.
+Fri Apr 3 11:43:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 22 02:31:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_eval.c (vm_call0_cfunc): update invoker arguments.
- * eval.c (ruby_cleanup): should not ignore exit_value in END
- execution. [ruby-dev:21670]
+ * vm_insnhelper.c (vm_call_cfunc_latter): ditto.
-Tue Oct 21 23:16:26 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_insnhelper.c (rb_vm_call_cfunc_push_frame): ditto, and prefix
+ with rb_.
- * eval.c (ruby_cleanup): call finalizers and exit procs before
- terminating threads.
+Thu Apr 2 16:26:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().
+ * common.mk, tool/mkconfig.rb: check the running ruby version in
+ rbconfig.rb with the program version, as RUBY_VERSION has never
+ been affected by --with-ruby-version option.
+ [ruby-core:68639] [Bug #11002]
-Tue Oct 21 15:57:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be
+ valid version numbers, not an arbitrary string.
- * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
- prepend the directory of target file to the load path.
+Wed Apr 1 11:09:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Oct 21 15:08:53 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * dir.c (push_glob): remove indirect links of arguments for
+ trampoline.
- * win32/win32.c (do_spawn, do_aspawn): should wait child process even
- if callded with P_OVERLAY.
+Wed Apr 1 09:59:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * win32/win32.c (do_spawn, do_aspawn): should return child's exit
- status to parent.
+ * 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]
-Tue Oct 21 00:35:02 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Tue Mar 31 15:25:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * test/soap/calc/*, test/soap/helloworld/*: catch the exception from
- test server thread and recover.
+ * doc/ChangeLog-0.06_to_0.52: added archived Changelog.
+ [ruby-list:50105]
+ * doc/ChangeLog-0.50_to_0.60: ditto.
+ * doc/ChangeLog-0.60_to_1.1: ditto.
-Tue Oct 21 00:22:57 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
+Mon Mar 30 22:02:55 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
- * test/drb/*: import drb/runit.
+ * README.EXT.ja: add redirect [ruby-core:68631]
-Mon Oct 20 23:55:47 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 30 14:42:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_eval): set current node after arguments evaluation.
- [ruby-dev:21632]
+ * win32/win32.c (fileattr_to_unixmode, winnt_lstat): deal with
+ symbolic link than directory, and set executable bits.
- * eval.c (rb_yield_0): set current node and keep it at local jump.
+Mon Mar 30 11:27:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Oct 20 22:01:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * io.c (copy_stream_body): use the arguments without conversion if
+ having read, readpartial, and write methods, than conversion by
+ to_path method. [ruby-core:68676] [Bug #11015]
- * eval.c (rb_thread_cleanup): keep thread group for main thread.
- [ruby-dev:21644]
+Sun Mar 29 21:08:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Mon Oct 20 18:28:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (objspace_allrefs_destruct_i): fix a typo.
+ [Bug #11013]
- * eval.c (rb_catch): backout.
+Sun Mar 29 11:51:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Oct 20 17:31:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * 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]
- * eval.c (PUSH_FRAME): generate unique number to be TAG_JUMP()
- destination.
+Sat Mar 28 09:19:41 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * eval.c (localjump_destination): use unique number in ruby_frame
- for localjump destination.
+ * 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.
-Mon Oct 20 11:31:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Mar 27 16:34:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_signal.rb (test_signal): restore old trap.
+ * common.mk: revert using BOOTSTRAPRUBY for enc.mk, as
+ enc/depend uses CONFIG. [ruby-core:68647] [Bug #11004]
-Mon Oct 20 11:00:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Mar 26 10:05:13 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * gc.c (gc_sweep): loosen page free condition to avoid add_heap()
- race condition. [ruby-dev:21633]
+ * test/test_observer.rb: add tests for Observable module.
+ [fix GH-859] Patch by @brightbits
- * gc.c (gc_sweep): do not update malloc_limit when malloc_increase
- is smaller than malloc_limit.
+Thu Mar 26 06:35:10 2015 Eric Wong <e@80x24.org>
-Mon Oct 20 09:45:12 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * README.EXT: add redirect [ruby-core:68631]
- * lib/debug.rb (debug_command): remove debug print.
+Wed Mar 25 16:46:49 2015 NARUSE, Yui <naruse@ruby-lang.org>
-Wed Oct 20 00:25:41 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state,
+ but it is a dummy.
- * eval.c (search_required): required name must not be changed before
- loading. [ruby-dev:24492]
+ * ext/socket/option.c: Solaris 11 doesn't have u_intN_t.
-Sun Oct 19 13:12:30 2003 Tanaka Akira <akr@m17n.org>
+ * ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec.
- * lib/pathname.rb (foreachline, dir_foreach): add obsolete warning.
+ * ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have
+ related macros.
-Sun Oct 19 00:14:22 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Wed Mar 25 17:03:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/soap/calc/*, test/soap/helloworkd/*: changed port# of test
- server. (17171)
+ * ext/-test-/file/fs.c (get_fsname): try magic number only if
+ f_type is included. [ruby-dev:48913] [Bug #11000]
-Sat Oct 18 23:01:32 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Wed Mar 25 11:20:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * missing/acosh.c (DBL_MANT_DIG): typo fix(ifdef -> ifndef).
+ * benchmark/bm_hash_aref_flo.rb: make more realistic data.
+ [ruby-core:68632] [[Bug #10999]
-Sat Oct 18 05:48:59 2003 why the lucky stiff <why@ruby-lang.org>
+Wed Mar 25 10:39:06 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/syck/rubyext.c: YAML::Syck::compile method.
+ * .document: removed needless entries.
- * ext/syck/syck.c: Buffer edge bug.
+Wed Mar 25 08:07:28 2015 Eric Wong <e@80x24.org>
- * ext/syck/yaml2byte.c: YAML to bytecode converter.
+ * doc/extension.rdoc: fix spelling of filename
+ * doc/extension.ja.rdoc: ditto.
- * ext/syck/yamlbyte.h: Ditto.
+Tue Mar 25 06:55:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * ext/syck/bytecode.c: Bytecode parser fixes to empty collections
- and empty strings.
+ * complex.c (k_inexact_p, k_exact_zero_p): use k_exact_zero_p macro
+ to remove k_inexact_p macro.
- * ext/syck/token.c: Ditto.
+ * complex.c (k_exact_one_p): remove unused macro k_exact_one_p.
-Fri Oct 17 23:07:38 2003 Akinori MUSHA <knu@iDaemons.org>
+Tue Mar 24 22:23:33 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * 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.
+ * doc/extension.rdoc: move from toplevel document and added extname.
+ * doc/extension.ja.rdoc: ditto.
-Fri Oct 17 23:00:30 2003 Akinori MUSHA <knu@iDaemons.org>
+Tue Mar 24 22:06:58 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/generator.rb: Add rdoc documentation.
+ * doc/standard_library.rdoc: strip.
-Fri Oct 17 22:16:42 2003 Akinori MUSHA <knu@iDaemons.org>
+Tue Mar 24 22:06:27 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/set.rb: Reword and fix Overview.
+ * doc/standard_library.rdoc: move Thread to Extensions.
- * lib/set.rb: It is not necessary to require
- 'test/unit/ui/console/testrunner'.
+Tue Mar 24 21:59:10 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Fri Oct 17 11:15:22 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * doc/contributing.rdoc: update Maintainers list.
- * test/ruby/test_range.rb: added.
+Tue Mar 24 19:10:24 2015 Koichi Sasada <ko1@atdot.net>
- * MANIFEST: add test/ruby/test_range.rb.
+ * gc.c (gc_writebarrier_generational): fix messages for rb_bug().
+ Remove `rb_' prefix.
-Fri Oct 17 03:21:23 2003 William Sobel <will.sobel@barra.com>
+ * gc.c (gc_writebarrier_incremental): ditto.
- * ext/socket/socket.c (make_hostent): h_aliases may be NULL.
- (ruby-bugs:PR#1195)
+Tue Mar 24 17:34:01 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/socket/socket.c (sock_s_gethostbyaddr): ditto.
+ * README.ja.md: should be chunibyo.
-Fri Oct 17 00:12:41 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Mar 24 17:30:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/lib/tk.rb: (bug fix) instance variable @frame was used
- without initializing on TkComposite module.
+ * ext/-test-/file/fs.c (get_fsname): return filesystem name by
+ statfs/statvfs. [ruby-core:68624] [Bug #10998]
-Thu Oct 16 23:51:04 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Mar 24 16:46:02 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * 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.
+ * tool/redmine-backporter.rb: now doesn't required spaces just after
+ `!`.
-Thu Oct 16 17:09:19 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Mar 23 23:18:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/debug.rb (DEBUGGER__::Context::debug_command): do not call
- debug_silent_eval() when $1 is not set. (ruby-bugs:PR#1194)
+ * dir.c (dir_close): don't raise on double close for consistent to
+ IO#close. [Feature #10950]
-Thu Oct 16 16:54:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Mar 23 21:22:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * string.c (rb_str_upto): ("a"..."a").to_a should return [].
- [ruby-core:01634]
+ * win32/file.c (rb_readlink): move from file.c for better buffer
+ allocation and the result encoding.
-Thu Oct 16 16:40:51 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * win32/win32.c (wreadlink, rb_w32_ureadlink): implement readlink().
- * ext/tk/lib/tk.rb:
- Add Tk::EncodedString and Tk::UTF8_String class to support
- characters using the \uXXXX escape to the UNICODE string.
+Mon Mar 23 14:40:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/tk/sample/{demos-en,demos-jp}/unicodeout.rb
- new demo-scripts (samples of Tk::UTF8_String)
+ * win32/win32.c (winnt_stat): stat with following symbolic links.
- * ext/tk/sample/{demos-en,demos-jp}/widget
- add entries for 'unicodeout.rb'
+ * win32/win32.c (winnt_lstat): rename old winnt_stat, which does
+ not follow symbolic links.
-Thu Oct 16 08:38:06 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 23 01:44:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/digest/test_digest.rb (test_eq): show failed class.
+ * marshal.c (r_symreal): register symbol names as strings first so
+ that r_symlink always returns valid names.
+ [ruby-core:68587] [Bug #10991]
- * test/ruby/test_iterator.rb (test_break, test_return_trace_func):
- test localjump destination.
+ * marshal.c (r_ivar, r_object0): now need to intern symbol names.
-Wed Oct 15 20:22:31 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * marshal.c (r_object0): compare with symbol names.
- * lib/soap/netHttpClient.rb: use URI::HTTP#request_uri instead of
- instance_eval('path_query'). [ruby-list:38575]
+Sun Mar 22 22:07:40 2015 Kouhei Sutou <kou@cozmixng.org>
-Wed Oct 15 17:24:45 2003 URABE Shyouhei <root@mput.dip.jp>
+ * doc/etc.rd.ja: Fix wrong coding for Emacs.
- * lib/cgi.rb (CGI::Cookie): tiny typo fix.
+Sun Mar 22 09:53:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Oct 15 15:00:54 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * tool/make-snapshot (package): add default CONFIGURE name to
+ follow r50039.
- * eval.c (ruby_run): just return FAILURE instead of parse error
- count. [ruby-list:38569]
+ * tool/make-snapshot (package): substitute configuration variables
+ in Makefile.in instead of passing by the command line, and make
+ temporary Makefile instead of a pipe.
-Wed Oct 15 13:17:02 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Sun Mar 22 08:09:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/digest/digest.c (rb_digest_base_alloc): need to initialize
- buffer. [ruby-dev:21622]
+ * common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c):
+ strip autogenerated dependencies which have invalid syntax in
+ other than nmake.
-Wed Oct 15 11:23:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Mar 21 15:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * marshal.c (w_object): dump extended modules as well.
+ * ext/io/console/console.c (console_set_winsize): use handle for
+ writing. GetConsoleScreenBufferInfo seems failing on a handle
+ for reading.
- * 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>.
+ * io.c: [DOC] update the example of IO#winsize to use $stdout
+ instead of $stdin, which does not work on Windows. a patch by
+ Jan Lelis <mail AT janlelis.de> at [ruby-core:68574].
+ [Bug #10986]
-Wed Oct 15 09:30:34 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Mar 20 18:41:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/enumerator/enumerator.c (enumerator_each): avoid VC++ warning.
+ * proc.c (respond_to_missing_p): check if the receiver responds to
+ the given method by respond_to_missing?.
- * ext/syck/syck.h: include stdio.h for definition of FILE.
+ * proc.c (mnew_missing): create Method object for method_missing.
+ [ruby-core:68564] [Bug #10985]
-Wed Oct 15 08:09:07 2003 why the lucky stiff <why@ruby-lang.org>
+Fri Mar 20 17:43:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/syck/bytecode.c: Checkin of YAML bytecode support.
+ * .travis.yml: enabled email notification.
- * ext/syck/gram.c: Ditto.
+Fri Mar 20 17:39:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/syck/syck.c: Ditto.
+ * .travis.yml: removed Ruby 1.9.3 build on Travis CI
- * ext/syck/token.c: Ditto.
+Fri Mar 20 12:38:36 2015 Koichi Sasada <ko1@atdot.net>
- * ext/syck/handler.c: Ditto.
+ * gc.c (obj_info): obj_info() can receive internal objects.
- * ext/syck/handler.c: Now using 'tag' rather than 'taguri' in type URIs.
+ * gc.c (check_rvalue_consistency): obj_info() returns const char *.
- * ext/syck/rubyext.c: Ditto (on both counts).
+Fri Mar 20 12:14:37 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 15 05:05:53 2003 Akinori MUSHA <knu@iDaemons.org>
+ * gc.c (obj_info): show class name and T_DATA type_name.
- * lib/generator.rb: A new library which converts an internal
- iterator to an external iterator.
+Thu Mar 19 22:12:46 2015 Koichi Sasada <ko1@atdot.net>
- * lib/abbrev.rb: A new library which creates an abbreviation table
- from a list.
+ * gc.c (rb_copy_wb_protected_attribute): `dest' can be WB unprotected.
-Wed Oct 15 04:31:51 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Thu Mar 19 21:25:25 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/sample/demos-en/entry3.rb, ext/tk/sample/demos-jp/entry3.rb :
- new demo-scripts
+ * gc.c (rb_copy_wb_protected_attribute): demote `dest' object.
- * ext/tk/sample/demos-en/widget, ext/tk/sample/demos-jp/widget :
- add entries for 'entry3.rb'
+Thu Mar 19 16:18:00 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 15 04:31:47 2003 Akinori MUSHA <knu@iDaemons.org>
+ * gc.c, internal.h: export rb_gc_verify_internal_consistency().
- * test/digest/test_digest.rb: Moved from ext/digest/test.rb.
+Thu Mar 19 16:15:24 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 15 03:53:20 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * gc.c (obj_info): show allocation site if GC_DEBUG is not 0.
- * ext/tk/lib/tk.rb: fixed trouble on auto-load Tcl commands (enbug
- on the last commit).
+Thu Mar 19 16:12:01 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 15 00:25:00 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * gc.c (newobj_of): fix RGENGC_OLD_NEWOBJ_CHECK logics.
+ * skip on incremental marking because not sure what happen :p
+ * rb_gc_writebarrier_remember() is enough to mark children.
- * parse.y (yylex): argument parentheses preceded by spaces should
- be warned; not error. [ruby-talk:84103]
+Thu Mar 19 16:08:42 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 15 00:20:15 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * gc.c (rb_copy_wb_protected_attribute): need demote for old objects.
- * ext/tcltklib/tcltklib.c: replace Tcl/Tk's vwait and tkwait to
- switch on threads smoothly and avoid seg-fault.
+Thu Mar 19 10:31:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.)
+ * random.c (fill_random_bytes): release the handle in the static
+ variable, not a local variable.
- * ext/tk/lib/multi-tk.rb: support TclTkIp._thread_vwait and
- _thread_tkwait.
+Thu Mar 19 06:30:35 2015 Koichi Sasada <ko1@atdot.net>
- * 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).
+ * object.c (rb_obj_clone): do not touch age (FL_PROMOTED[01]) because
+ rb_obj_alloc() can return old object in debug.
- * 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.
+Thu Mar 19 06:29:28 2015 Koichi Sasada <ko1@atdot.net>
- * ext/tk/lib/tk.rb: improve of accessing Tcl/Tk's special variables.
+ * test/objspace/test_objspace.rb: flag name was changed
+ (long_lived -> uncollectible).
- * ext/tk/lib/tkafter.rb: support 'wait on a thread' and 'wait on
- an eventloop'.
+Thu Mar 19 05:30:13 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 15 00:10:24 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * iseq.c (iseq_mark): skip some marking if iseq->orig is available.
- * lib/soap/baseData.rb: Introduce SOAPType as the common ancestor of
- SOAPBasetype and SOAPCompoundtype.
+ * iseq.c (rb_iseq_clone): need WB for iseq1->klass = iseq0->klass
+ (done in MEMCPY).
- * lib/soap/generator.rb, lib/soap/element.rb, lib/soap/encodingstyle/*:
- Encoding methods signature change. Pass SOAPGenerator as a parameter.
+Thu Mar 19 04:55:53 2015 Koichi Sasada <ko1@atdot.net>
- * 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. :-)
+ * internal.h (IMEMO_DEBUG): added.
- * lib/soap/rpc/standaloneServer.rb: Set severity threshould to INFO.
- DEBUG is too noisy.
+ * internal.h: remove unused FL_IMEMO_MARK_V[0-3].
- * lib/xsd/datatypes.rb: DateTime#of is obsoleted. Use DateTime#offset.
+ * gc.c (rb_imemo_new_debug): added.
- * test/wsdl/emptycomplextype.wsdl, test/xsd/xmlschema.xml: Avoid
- useless warning.
+ * gc.c (obj_info): show imemo type name.
-Tue Oct 14 19:09:35 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Thu Mar 19 04:52:26 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (ruby_finalize_0): return the given exit status unless
- SystemExit got raised.
+ * gc.c (RGENGC_OLD_NEWOBJ_CHECK): add check mechanism.
-Tue Oct 14 11:53:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ If RGENGC_OLD_NEWOBJ_CHECK > 0, then create old objects
+ (not new objects) periodically.
- * intern.h (ruby_stop): never return.
+ Create one old objects per RGENGC_OLD_NEWOBJ_CHECK objects are
+ created.
- * ruby.h (ruby_run): ditto.
+Thu Mar 19 04:46:36 2015 Koichi Sasada <ko1@atdot.net>
-Tue Oct 14 04:43:55 2003 Tanaka Akira <akr@m17n.org>
+ * enum.c (enum_sort_by): add WBs.
- * lib/pathname.rb (realpath): make ELOOP check bit more robust.
- (children): prepend self by default.
- (chroot): obsoleted.
+Thu Mar 19 03:37:52 2015 Koichi Sasada <ko1@atdot.net>
-Tue Oct 14 02:29:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (check_rvalue_consistency): refactoring.
+ * not inline on RGENGC_CHECK_MODE > 0.
+ * check SPECIAL_CONST_P(obj) first.
+ * add a check that remembered_bit is only TRUE when old (age == 3).
- * eval.c (rb_require_safe): segfault after loading .so.
+ * gc.c (RVALUE_DEMOTE): should clear RVALUE_REMEMBERED bit.
-Tue Oct 14 02:05:23 2003 Akinori MUSHA <knu@iDaemons.org>
+ remembered_bit should be TRUE only for old (age == 3) objects.
- * ext/Setup*, ext/enumerator/*: Add ext/enumerator, a helper
- module for the Enumerable interface.
+ Actually there are no effect because demoted objects will be
+ uncollectible WB unprotected objects (marked at the beginning of
+ every minor GC).
-Mon Oct 13 23:55:59 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Thu Mar 19 02:52:48 2015 Koichi Sasada <ko1@atdot.net>
- * test/ruby/envutil.rb: use Config::CONFIG["ruby_install_name"],
- not "ruby".
+ * gc.c: rename terminologies.
+ * long_lived -> uncollectible:
+ because this bitmap does not mean "long lived objects in past",
+ but means "prohibit collection these objects until next major GC".
-Mon Oct 13 23:57:29 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Uncollectible objects consist of two types objects, one is old
+ objects (WB protected objects which age == 3) and another is
+ uncollectible WB unprotected objects which are referred from old
+ objects
- * eval.c (rb_feature_p): match by classified suffix.
+ * remembered_wb_unprotected_objects ->
+ uncollectible_wb_unprotected_objects:
+ because uncollectible objects does not mean remembered objects.
- * eval.c (rb_require_safe): require library in the specified safe
- level.
+Wed Mar 18 17:21:12 2015 Koichi Sasada <ko1@atdot.net>
- * variable.c (rb_autoload, rb_autoload_load): restore safe level
- when autoload was called. [ruby-dev:21338]
+ * gc.c (gc_writebarrier_generational): add an alternative write
+ barrier (WB) implementation.
+ When finding reference from [Old obj] to [New obj] by WB, current
+ implementation marks [Old obj] as remembered old objects and marks
+ children of [Old obj] at the beginning of marking.
- * intern.h: prototypes; rb_require_safe.
+ Added (but disabled) code changes current behaviour. This fix promote
+ [New obj] to old and marks as a remembered old object. We can assume
+ "new objects referred from old objects are maybe long-lived old
+ objects".
- * test/runner.rb: accept non-option arguments.
+ Disadvantage of added algorithm is we may promote unwilling
+ short-lived objects. For example, consider many new objects push and
+ pop to an old stack object. All of new objects (short-lived objects)
+ promote to old objects unexpectedly.
-Mon Oct 13 20:49:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ To compare these behaviour, I add this new code (but disabled it).
- * string.c (str_new4): should not preserve FL_TAINT status in the
- internal shared string. [ruby-dev:21601]
+Wed Mar 18 17:14:39 2015 Koichi Sasada <ko1@atdot.net>
- * string.c (rb_str_new4): ditto.
+ * gc.c (RVALUE_PROMOTE_RAW): rename to RVALUE_OLD_LONG_LIVED_SET()
+ to make clear.
- * eval.c: use EXIT_SUCCESS and EXIT_FAILURE for exit values.
+Wed Mar 18 17:10:01 2015 Koichi Sasada <ko1@atdot.net>
- * process.c: ditto. [ruby-list:38521]
+ * gc.c (check_rvalue_consistency): do not need to check is_sweeping().
-Mon Oct 13 19:51:02 2003 Koji Arai <jca02266@nifty.ne.jp>
+Wed Mar 18 14:13:22 2015 Koichi Sasada <ko1@atdot.net>
- * lib/debug.rb (debug_command): should enter emacs mode when
- assigned any value to the environment variable "EMACS".
- On Meadow, (getenv "EMACS") is "meadow".
+ * benchmark/bm_vm1_gc_wb_ary.rb: run GC to finish "marking" phase.
-Sun Oct 12 14:45:03 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * benchmark/bm_vm1_gc_wb_obj.rb: ditto.
- * ext/win32ole/extconf.rb: check "windows.h", not "windows".
- [ruby-talk:84051]
+ * benchmark/bm_vm1_gc_wb_ary_promoted.rb: add parameter
+ full_mark: false to invoke only minor GC.
-Sat Oct 11 20:41:03 2003 Corinna Vinschen <corinna@vinschen.de>
+ * benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto.
- * file.c (eaccess): Use access(2) on Cygwin.
+Wed Mar 18 12:07:36 2015 Koichi Sasada <ko1@atdot.net>
-Sat Oct 11 17:09:21 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * string.c: add a comment about RSTRING_FSTR.
- * lib/rexml/quickpath.rb (REXML::QuickPath::match):
- escape '[' to avoid warning.
+Wed Mar 18 12:01:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Oct 11 16:08:41 2003 Tanaka Akira <akr@m17n.org>
+ * 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]
- * lib/pathname.rb (realpath): check existence of the file.
+Wed Mar 18 05:34:32 2015 Koichi Sasada <ko1@atdot.net>
- * lib/pathname.rb (realpath): re-implemented.
- (realpath_root?, realpath_rec): removed
+ * string.c: introduce STR_FAKESTR to show string is FAKESTR or not.
-Sat Oct 11 10:19:39 2003 Shugo Maeda <shugo@ruby-lang.org>
+ * string.c (STR_SET_SHARED): ignore FAKESTR because only Ruby objects
+ can use write barrier.
- * lib/monitor.rb: handle exceptions correctly. Thanks, Gennady
- Bystritsky.
+Tue Mar 17 18:59:16 2015 Koichi Sasada <ko1@atdot.net>
-Fri Oct 10 07:50:54 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * include/ruby/ruby.h: use rb_gc_writebrrier() simply.
+ For incremental GC, we need to get a pointer to the objspace.
+ We can share this pointer for the following WB process.
+ And considering icache hit ratio, process in the GC.
- * eval.c (is_defined): inheritance line adjustment as like as
- rb_call_super().
+ * gc.c (rb_gc_writebarrier): added.
-Fri Oct 10 01:19:00 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * gc.c (gc_writebarrier_generational, gc_writebarrier_incremental):
+ make them NOINLINE because inlining them into rb_gc_writebarrier()
+ makes a prologue code of rb_gc_writebarrier() longer (storing callee
+ save registers).
- * 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.
+ This patch improve the performance of WB on micro-benchmarks.
- * ext/openssl/lib/openssl/x509.rb (X509::Name::parse): ditto.
+ name ruby 2.1 trunk modified
+ vm1_gc_wb_ary* 0.511 0.632 0.532
+ vm1_gc_wb_ary_promoted* 0.578 0.701 0.674
+ vm1_gc_wb_obj* 0.419 0.575 0.492
+ vm1_gc_wb_obj_promoted* 0.537 0.664 0.618
+ (sec)
-Thu Oct 9 23:50:21 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Mar 17 18:51:43 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (rb_thread_start_0): prevent thread from GC.
- [ruby-dev:21572]
+ * benchmark/bm_vm1_gc_wb_ary(_promoted).rb: separate fastpath and
+ slowpath for WB.
-Thu Oct 9 19:11:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ Before this change bm_vm1_gc_wb_ary.rb tried to check the performance
+ for WB slowpath (making a reference from oldobj to newobj). However,
+ from Ruby 2.2, 3 GCs are needed to promote new objects because
+ only 3 age objects are promoted objects.
- * eval.c (rb_thread_start_0): non-volatile should be restored from
- volatile.
+ To compare fastpath and slowpath, introduce new "promoted" version
+ benchmark.
-Thu Oct 9 17:43:36 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ bm_vm1_gc_wb_ary.rb is for fastpath and
+ bm_vm1_gc_wb_ary_promoted.rb is for slowpath.
- * eval.c (proc_save_safe_level, proc_get_safe_level,
- proc_set_safe_level): save/restore safe level 1..4.
+ * benchmark/bm_vm1_gc_wb_obj(_promoted).rb: ditto.
-Thu Oct 9 16:33:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Tue Mar 17 17:23:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * marshal.c (r_object0): remove unnecessary iv restoration for
- USRMARSHAL. [ruby-dev:21582]
+ * dir.c (glob_helper): distinguish not-yet-stated and DT_UNKNOWN
+ by readdir, and traverse recursively for the former. Linux
+ readdir returns DT_UNKNOWN on some filesystems, e.g., smbfs,
+ iso9660.
- * marshal.c (w_object): dump generic instance variables from
- a string from '_dump'.
+Mon Mar 16 17:43:21 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * variable.c (rb_generic_ivar_table): return 0 if obj's FL_EXIVAR
- is not set.
+ * lib/webrick/server.rb: Fix regression bug in WEBrick's
+ :DoNotReverseLookup config option implementation.
+ [fix GH-731] Patch by @vais
+ * test/webrick/test_do_not_reverse_lookup.rb: ditto.
- * time.c (time_dump): copy instance variables to dumped string, to
- be included in the marshaled data.
+Sat Mar 14 20:05:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * bignum.c (rb_big2ulong): add range check to ensure round trip.
+ * math.c (math_gamma): optimization for passed small integer.
-Thu Oct 9 15:45:27 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Mar 14 18:07:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * pack.c (uv_to_utf8): change message to "out of range", since
- negative values are not "too big". [ruby-dev:21567]
+ * enum.c: [DOC] Fixes Enumerable#member? documentation
+ [fix GH-756][ci skip] Patch by @shamanime
-Thu Oct 9 14:05:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Mar 14 12:23:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_set_end_proc, rb_exec_end_proc): restore safe level.
- [ruby-dev:21557]
+ * dir.c (glob_helper): use d_type to reduce lstat system calls.
-Thu Oct 9 10:51:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * win32/dir.h (struct direct): add d_type instead of d_isdir and
+ d_isrep. SYMLINKD is unreliable, since the target can be
+ replaced after a link was created.
- * eval.c (rb_yield_0): no error if block is empty.
+ * win32/win32.c (readdir_internal): set d_type.
-Thu Oct 9 06:43:33 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Mar 14 02:14:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (localjump_error): id should be ID.
+ * parse.y (primary): empty parentheses at cmdarg can be null.
+ [ruby-core:68477] [Bug #10957]
- * eval.c (rb_eval): nd_rval is set in copy_node_scope().
+Fri Mar 13 15:04:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_yield_0): unused variable.
+ * ext/stringio/stringio.c (strio_close): don't raise on double
+ close for consistent to IO#close.
- * eval.c (rb_yield_0): nothing to do for empty node.
+Fri Mar 13 15:03:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (call_end_proc, proc_invoke): adjust backtrace in END.
- [ruby-dev:21551]
+ * io.c (rb_io_close_read, rb_io_close_write): don't raise after
+ close same as IO#close.
- * eval.c (rb_thread_start_0): set the value by break as the result.
- [ruby-dev:21552]
+Fri Mar 13 12:29:07 2015 Tanaka Akira <akr@fsij.org>
- * eval.c (rb_thread_start_0, rb_thread_raise, rb_callcc): save
- variables across THREAD_SAVE_CONTEXT.
+ * test/readline/test_readline.rb: Restore environment variables:
+ COLUMNS LINES
-Thu Oct 9 12:05:46 2003 Eric Sunshine <sunshine@sunshineco.com>
+Fri Mar 13 11:37:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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/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]
- * 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.
+Fri Mar 13 07:02:20 2015 Eric Wong <e@80x24.org>
- * defines.h: fixed endian handling during MAB build (see configure's
- --enable-fat-binary option) to ensure that all portions of the
- project see the correct WORDS_BIGENDIAN value (some extension modules
- were getting the wrong endian setting); added missing constants
- GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep
- and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H
- define in NeXT section.
+ * ext/socket/init.c (rsock_s_accept_nonblock): use rb_hash_lookup2
+ * ext/openssl/ossl_ssl.c (get_no_exception): new function
+ (ossl_ssl_accept_nonblock): use get_no_exception
+ (ossl_ssl_read_internal): ditto
+ (ossl_ssl_write_nonblock): ditto
+ [ruby-core:68511]
- * dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on
- NextStep since, on some installations, this value always resolves
- uselessly to zero.
+Fri Mar 13 07:01:38 2015 Eric Wong <e@80x24.org>
- * dln.c: added error reporting to NextStep extension loader since the
- previous behavior of failing silently was not useful; now ensures
- that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined
- for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice
- on Rhapsody since this header lacks multiple-include protection,
- which resulted in "redefinition" compilation errors.
+ * ext/openssl/ossl_ssl.c: predefine wait_*able symbols
- * main.c: also create hard reference to objc_msgSend() on NeXT
- platforms (in addition to Apple platforms).
+Thu Mar 12 22:59:53 2015 Tanaka Akira <akr@fsij.org>
- * lib/mkmf.rb: now exports XCFLAGS from configure script to extension
- makefiles so that extensions can be built MAB (see configure's
- --enable-fat-binary option); also utilize XCFLAGS in cc_command()
- (but not cpp_command() because MAB flags are incompatible with
- direct invocation of `cpp').
+ * test/lib/leakchecker.rb: Check environment variables.
- * 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()
+Thu Mar 12 05:54:27 2015 Eric Wong <e@80x24.org>
- * ext/curses/curses.c: added appropriate #ifdef's for additional set of
- curses functions now checked by extconf.rb; fixed curses_bkgd() and
- window_bkgd() to correctly return boolean result rather than numeric
- result; fixed window_getbkgd() to correctly signal an error by
- returning nil rather than -1.
+ * ext/socket/init.c (rsock_s_accept_nonblock):
+ support exception: false
+ [ruby-core:66385] [Feature #10532]
+ * ext/socket/init.c (rsock_init_socket_init): define new symbols
+ * ext/socket/rubysocket.h: adjust prototype
+ * ext/socket/socket.c (sock_accept_nonblock): support exception: false
+ * ext/openssl/ossl_ssl.c (ossl_ssl_accept_nonblock): ditto
+ * ext/socket/socket.c (Init_socket): adjust accept_nonblock definition
+ * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto
+ * ext/socket/tcpserver.c (rsock_init_tcpserver): ditto
+ * ext/socket/unixserver.c (rsock_init_unixserver): ditto
+ * ext/socket/tcpserver.c (tcp_accept_nonblock): adjust
+ rsock_s_accept_nonblock call
+ * ext/socket/unixserver.c (unix_accept_nonblock): ditto
+ * ext/openssl/ossl_ssl.c (ossl_start_ssl): support no_exception
+ * ext/openssl/ossl_ssl.c (ossl_ssl_connect): adjust ossl_start_ssl call
+ * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): ditto
+ * ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto
+ * test/socket/test_nonblock.rb (test_accept_nonblock): test for
+ "exception :false"
+ * test/socket/test_tcp.rb (test_accept_nonblock): new test
+ * test/socket/test_unix.rb (test_accept_nonblock): ditto
+ * test/openssl/test_pair.rb (test_accept_nonblock_no_exception): ditto
- * 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.
+Thu Mar 12 10:53:06 2015 Koichi Sasada <ko1@atdot.net>
- * ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
- platforms such as NextStep and OpenStep which lack strdup().
+ * internal.h, node.h: move a definition of `struct rb_global_entry'
+ and related functions from node.h to internal.h.
- * 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.
+ * variable.c: remove unused include pragma.
- * 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.
+ * common.mk: remove unused dependency.
- * ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
- platforms such as NextStep and OpenStep which lack strdup().
+Thu Mar 12 10:32:39 2015 Koichi Sasada <ko1@atdot.net>
-Wed Oct 8 22:19:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * common.mk: remove unused dependency.
- * lib/test/unit.rb: removed installation instructions.
+Thu Mar 12 08:20:14 2015 Koichi Sasada <ko1@atdot.net>
- * lib/test/unit/ui/testrunnermediator.rb: moved the run flag to a more
- central location.
+ * load.c: removed unused header file "node.h".
- * lib/test/unit.rb: ditto.
+ * method.h: ditto.
- * lib/test/unit.rb: extracted the running code in to AutoRunner.
+ * symbol.c: ditto.
- * lib/test/unit/autorunner.rb: added.
+Thu Mar 12 08:14:48 2015 Koichi Sasada <ko1@atdot.net>
- * lib/test/unit/collector/objectspace.rb: extracted common test
- collection functionality in to a module.
+ * gc.c: RGENGC_CHECK_MODE should be 0.
- * lib/test/unit/collector.rb: ditto; added.
+Thu Mar 12 07:44:17 2015 Koichi Sasada <ko1@atdot.net>
- * test/testunit/collector/test_objectspace.rb: ditto.
+ * internal.h: use T_IMEMO to represent `struct MEMO' value.
+ memo->v1 and memo->v2 is WB protected values.
+ So use MEMO_V1/V2_SET() macros to set these values.
+ memo->u3 is ambiguous (sometimes a VALUE, sometimes an integer
+ value), so use gc_mark_maybe() in gc.c to mark it.
- * lib/test/unit/collector/dir.rb: added. Supports collecting tests out
- of a directory structure.
+ Rename NEW_MEMO() to MEMO_NEW().
- * test/testunit/collector/test_dir.rb: added.
+ Move MEMO_FOR and NEW_MEMO_FOR macros from node.h.
- * test/runner.rb: simplified to use the new capabilities.
+ Export a rb_imemo_new() function for ext/ripper.
-Tue Oct 7 15:23:09 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * node.h: remove NODE_MEMO.
- * test/ruby/test_beginendblock.rb: add tests for nested BEGIN/END.
+ * enum.c: catch up these change.
- * test/ruby/beginmainend.rb: add tests for nested BEGIN/END.
+ * enumerator.c: ditto.
- * test/ruby/endblockwarn.rb: new file added to test of END-in-method
- warning.
+ * load.c: ditto.
-Tue Oct 7 12:23:47 2003 Tanaka Akira <akr@m17n.org>
+ * ext/objspace/objspace.c (count_nodes): ditto.
- * ext/fcntl/fcntl.c (Init_fcntl): define Fcntl::O_ACCMODE.
+ * gc.c (gc_mark_children): mark imemo_memo type.
- * ext/socket/extconf.rb: useless assignment removed.
+ * parse.y (new_args_gen): use T_IMEMO.
+ (I'm not sure it is working correctly...)
-Tue Oct 7 09:13:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Mar 11 22:36:34 2015 Koichi Sasada <ko1@atdot.net>
- * test/ruby/test_beginendblock.rb (test_endinmethod): END{} is now
- allowed in eval.
+ * eval.c (frame_called_id): it should use vm_ifunc type.
-Tue Oct 7 04:15:25 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * eval.c (frame_func_id): ditto.
- * parse.y (stmt): should not expand mrhs if lhs is solely starred.
+Wed Mar 11 22:27:05 2015 Koichi Sasada <ko1@atdot.net>
-Tue Oct 7 02:57:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * node.h: remove NODE_IFUNC, NEW_IFUNC.
- * parse.y (stmt): rhs of multiple assignment should not be
- expanded using "to_a". [ruby-dev:21527]
+ * internal.h: use T_IMEMO for IFUNC.
-Tue Oct 7 01:42:34 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ rename `struct IFUNC' to `struct vm_ifunc' and move the definition
+ from vm_insnhelper.h. Add imemo_ifunc.
- * ext/openssl/ossl_asn1.c (ossl_asn1_get_asn1type): use appropriate
- free function for ASN1_OBJECT.
+ * gc.c (gc_mark_children): mark imemo_ifunc type T_IMEMO object.
- * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_sn): add new function for
- ASN1::ObjectId#sn; it returns short name text representation of OID.
+ * compile.c: catch up these changes.
- * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_ln): add new function for
- ASN1::ObjectId#ln; it returns long name text representation of OID.
+ * proc.c: ditto.
- * ext/openssl/ossl_asn1.c (ossl_asn1obj_get_oid): add new function for
- ASN1::ObjectId#oid; it returns numerical representation of OID.
+ * vm_core.h (RUBY_VM_IFUNC_P): ditto.
-Mon Oct 6 22:59:46 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * vm_eval.c (rb_iterate): ditto.
- * 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.
+ * vm_insnhelper.c: ditto.
- * test/csv/test_csv.rb: add tests for above change.
+ * ext/objspace/objspace.c: ditto.
-Sun Oct 5 23:27:09 2003 Tanaka Akira <akr@m17n.org>
+Wed Mar 11 21:53:43 2015 Koichi Sasada <ko1@atdot.net>
- * ext/socket/extconf.rb: check recvmsg even if sendmsg is exists.
+ * internal.h, eval_intern.h: move CREF accessors.
- * ext/socket/socket.c (thread_read_select): restored.
+ List IMEMO supported types in internal.h.
-Mon Oct 6 16:23:38 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Mar 11 21:45:36 2015 Koichi Sasada <ko1@atdot.net>
- * marshal.c (w_object): wrong method name in the message.
+ * vm_insnhelper.h: use T_IMEMO to create THROW_DATA.
-Mon Oct 6 16:02:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ Add THROW_DATA_NEW().
- * parse.y (stmt): END in method should cause warning.
- [ruby-dev:21519]
+ * internal.h: move definition of `struct THROW_DATA'
+ from vm_insnhelper.h to internal.h.
-Mon Oct 6 15:17:23 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ Rename `THROW_DATA' to `vm_throw_data'.
- * test/ruby/test_iterator.rb (test_block_argument_without_paren):
- added. (follows sample/test.rb)
+ * eval_intern.h (THROW_DATA_P): move to internal.h.
+ THROW_DATA is no longer T_NODE, so check T_IMEMO.
-Mon Oct 6 11:57:06 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * gc.c (gc_mark_children): mark THROW_DATA.
- * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: added
- test for eval-ed BEGIN END order.
+ * vm.c: catch up these changes.
-Mon Oct 6 09:19:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * vm_eval.c: ditto.
- * marshal.c (w_object): should pass "weak" value to next level.
- [ruby-dev:21496]
+ * vm_insnhelper.c: ditto.
- * eval.c (proc_alloc): should not use cached object if klass is
- different. [ruby-talk:83685]
+Wed Mar 11 21:21:56 2015 Koichi Sasada <ko1@atdot.net>
-Sun Oct 5 23:27:09 2003 Tanaka Akira <akr@m17n.org>
+ * vm_insnhelper.c: use T_IMEMO to create SVAR.
- * lib/pathname.rb: version information is added in document.
+ * internal.h, vm_insnhelper.h: move definition `struct SVAR'
+ from vm_insnhelper.h to internal.h. And rename it to struct vm_svar.
-Sun Oct 5 23:07:03 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ new imemo_type imemo_svar is added.
- * eval.c (rb_f_END): block should be given. [ruby-dev:21497]
+ * gc.c (gc_mark_children): mark imemo_svar.
-Sun Oct 5 22:51:23 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * node.c (rb_gc_mark_node): remove useless marking.
- * lib/ext/openssl/extconf.rb: add check for some engine functions
- unavailable in OpenSSL-0.9.6.
+Wed Mar 11 19:35:46 2015 Koichi Sasada <ko1@atdot.net>
- * lib/ext/openssl/ossl_engine.c: ditto.
+ * include/ruby/ruby.h: introduce new type T_IMEMO.
+ T_IMEMO is Internal Memo type, internal use only.
+ T_IMEMO has same purpose of NODE_MEMO.
-Sun Oct 5 17:56:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ To insert T_IMEMO, type numbers are modified a little.
- * eval.c (rb_eval): fix evaluation order. [ruby-list:38431]
+ * internal.h: define struct RIMemo. Each RIMemo objects
+ has imemo_type. We can observe it by the imemo_type() function.
-Sun Oct 5 15:05:06 2003 akira yamada <akira@ruby-lang.org>
+ * gc.c (rb_imemo_new): added.
- * test/uri/*: translated RUNIT to Test::Unit.
+ * node.h: remove NODE_CREF and NEW_CREF().
-Sun Oct 5 14:37:39 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * node.c (rb_gc_mark_node): ditto.
- * lib/xsd/datatypes.rb: Rational -> Decimal string bug fix.
+ * vm.c (vm_cref_new): use rb_imem_new().
- * test/soap/marshal/test_marshal.rb: ditto.
+ * vm_eval.c: ditto.
- * test/soap/calc/test_calc_cgi.rb: add Config::CONFIG["EXEEXT"] to
- RUBYBIN.
+ * vm_insnhelper.c: use RIMemo objects for CREF.
-Sun Oct 5 13:47:22 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * ext/objspace/objspace.c: support T_IMEMO.
- * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: add tests
- about scope, order and allowed syntax.
+Wed Mar 11 17:03:20 2015 Koichi Sasada <ko1@atdot.net>
-Sun Oct 5 11:54:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * gc.c: fix memory leak by prepend method.
- * test/ruby/envutil.rb: added. split "rubybin" from test_system.rb.
+ It is easy to reproduce with such script:
- * test/ruby/test_system.rb: use envutil.rb
-
- * test/ruby/test_beginendblock.rb: added.
-
- * test/ruby/beginmainend.rb: added. used in test_beginendblock.rb.
-
-Sun Oct 5 11:23:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-
- * test/testunit/runit/test_testresult.rb: removed some unnecessary
- cruft.
-
-Sun Oct 5 11:14:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-
- * lib/rubyunit.rb: aliasing TestCase into the top level is
- problematic.
-
- * lib/runit/assert.rb: fixed a couple of bugs caused by recent
- refactoring in Test::Unit.
-
- * test/testunit/runit/*: added.
-
-Sun Oct 5 10:55:29 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/open-uri.rb (URI::Generic#find_proxy): no_proxy support did not
- work. [ruby-dev:21484]
-
-Sun Oct 5 09:52:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-
- * lib/test/unit/assertions.rb: will use pp for output if available.
- Can be disabled by setting Assertions.use_pp = false.
-
- * test/testunit/test_assertions.rb: made a small change to exception
- formatting.
-
-Sun Oct 5 07:42:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-
- * lib/test/unit/assertions.rb: made small improvements to assertion
- messages. Deprecated Assertions#assert_not_nil; use #assert instead.
-
- * test/testunit/test_assertions.rb: ditto.
-
- * test/testunit/util/test_procwrapper.rb: use #assert instead of
- #assert_not_nil.
-
-Sun Oct 5 04:10:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-
- * lib/test/unit/assertions.rb: refactored message building.
-
-Sun Oct 5 03:40:22 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
-
- * ext/openssl/ossl_asn1.h: global symbols should be declared
- as external.
-
-Sun Oct 5 03:03:20 2003 akira yamada <akira@ruby-lang.org>
-
- * test/ruby/test_exception.rb (test_else): added.
-
-Sun Oct 5 02:12:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-
- * lib/test/unit/assertions.rb: changed assertion messages to rely more
- heavily on #inspect. Added backtrace filtering for exceptions in
- assertion messages.
-
- * test/testunit/test_assertions.rb: ditto.
-
-Sun Oct 5 02:12:00 2003 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
-
- * lib/drb/acl.rb, lib/drb/ssl.rb: added.
-
- * lib/drb/drb.rb: exit from a thread using 'break'.
-
-Sat Oct 4 21:49:14 2003 WATANABE Hirofumi <eban@ruby-lang.org>
-
- * gc.c (Init_stack): the type of space is changed to unsigned int
- from double. [ruby-dev:21483]
-
-Sat Oct 4 17:52:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
-
- * lib/soap/netHttpClient.rb: follow http-access2. hosts which matches
- ENV['no_proxy'] or ENV['NO_PROXY'] are not proxyed.
- - [,:] separated. ("ruby-lang.org:rubyist.net")
- - no regexp. (give "ruby-lang.org", not "*.ruby-lang.org")
- - if you want specify host by IP address, give full address.
- ("192.168.1.1, 192.168.1.2")
-
- * lib/soap/rpc/cgistub.rb: return "Status: XXX MMM" line.
-
- * test/runner.rb: give testsuite name.
-
-Sat Oct 4 15:16:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
-
- * 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.
-
- * gc.c (Init_stack): cast "space" (doble value) into unsigned
- int. should run on PowerPC.
-
- * eval.c (rb_eval): should not execute else part if any exception
- is caught. [ruby-dev:21482]
-
- * parse.y (f_args): should allow unparenthesized block argument.
-
- * parse.y (f_rest_arg): should allow unparenthesized rest
- argument.
-
-Sat Oct 4 14:59:51 2003 Tanaka Akira <akr@m17n.org>
-
- * 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.
-
-Sat Oct 4 12:58:48 2003 akira yamada <akira@ruby-lang.org>
-
- * test/uri/* (6 files): added.
-
-Sat Oct 4 12:44:45 2003 akira yamada <akira@ruby-lang.org>
-
- * lib/uri/ftp.rb, lib/uri/mailto.rb: renamed to #to_s from #to_str.
-
-Sat Oct 4 07:33:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
-
- * lib/test/unit/testsuite.rb: changed #<< to return self, and added
- #delete.
-
- * test/testunit/test_testsuite.rb: ditto. Also slightly refactored
- #test_size.
-
- * lib/test/unit/collector/objectspace.rb: collector now preserves the
- hierarchy of suites.
-
- * test/testunit/collector/test_objectspace.rb: ditto.
-
-Sat Oct 4 04:48:49 2003 why the lucky stiff <why@ruby-lang.org>
-
- * ext/syck/rubyext.c: default keys handled.
-
- * ext/syck/syck.h: lowered default buffer size to 16k for increased
- performance.
-
- * test/yaml: checkin of basic unit tests.
-
-Sat Oct 4 04:24:19 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ module M; def bar; end; end
+ loop{
+ Class.new do
+ def foo; end
+ prepend M
+ end
+ }
- * ext/openssl/extconf.rb: add check for X509V3_set_nconf.
+ * gc.c (obj_free): free T_ICLASS::m_tbl if it is created by prepend.
+ To recognize it, check RICLASS_IS_ORIGIN flag.
- * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):
- cannot implement if X509V3_set_nconf doesn't exist.
+ * gc.c (gc_mark_children): T_ICLASS objects only need to mark
+ T_ICLASS::m_tbl if RICLASS_IS_ORIGIN is set.
-Sat Oct 4 02:12:44 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * gc.c (obj_memsize_of): count T_ICLASS if RICLASS_IS_ORIGIN is set.
- * lib/xsd/datatypes.rb: dump sign by itself. under the problematic
- platform, sprintf("%+.10g", -0.0) => +0. sigh.
+ * internal.h (RCLASS_SET_ORIGIN): add to set RCLASS_SET_ORIGIN.
- * sample/wsdl/amazon/*: update schema ver2 to ver3.
+ TODO: The word `origin' seems not good name. We need to invent
+ another good name.
-Sat Oct 4 01:33:46 2003 Tanaka Akira <akr@m17n.org>
+ * class.c: use RCLASS_SET_ORIGIN().
- * lib/pathname.rb (initialize): duplicate and freeze argument.
- (to_s): return duplicated string.
- (children): new method.
- (each_line): new alias to foreachline.
+ * class.c (class_alloc): zero clear rb_classext_t.
-Fri Oct 3 16:13:19 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Mar 11 13:28:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_asn1.c: add DER encoder and decoder.
+ * configure.in: check also procstat_getvmmap, which is not
+ available on FreeBSD 9. [ruby-core:68468] [Bug #10954]
- * ext/openssl/ossl_asn1.h: add OpenSSL::ASN1 module.
+ * vm_dump.c (procstat_vm): use kinfo_getvmmap instead if
+ procstat_getvmmap is not available.
- * ext/openssl/ossl.c (Init_openssl): call Init_ossl_asn1.
+Wed Mar 11 09:15:21 2015 Koichi Sasada <ko1@atdot.net>
- * ext/openssl/extconf.rb: check if X509_ATTRIBUTE has field "single".
+ * internal.h: define struct MEMO.
- * ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): accept
- DER encoded data argument.
+ * enum.c: use MEMO.
- * ext/openssl/ossl_x509attr.c (ossl_x509attr_get_value): return
- DER encoded data in OpenSSL::ASN1 types.
+ * enumerator.c: ditto.
-Fri Oct 3 13:02:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * load.c: ditto.
- * lib/test/unit.rb: refactored to use optparse.
+ * node.h: return (struct MEMO *) pointer.
- * lib/test/unit.rb: added support for selecting the output
- level from the command-line.
+Wed Mar 11 06:26:21 2015 Koichi Sasada <ko1@atdot.net>
- * lib/test/unit.rb: added a command-line switch to stop processing
- the command-line, allowing arguments to be passed to tests.
+ * vm_insnhelper.h (THROW_DATA_STATE): return int, not VALUE.
- * lib/test/unit.rb: changed the method for specifying a runner or a
- filter from the command-line.
+ * vm_insnhelper.h (THROW_DATA_STATE_SET): accept int value.
- * lib/test/unit/collector/objectspace.rb: fixed a bug causing all
- tests to be excluded when the filter was set to an empty array.
+Wed Mar 11 05:06:46 2015 Koichi Sasada <ko1@atdot.net>
- * test/testunit/collector/test_objectspace.rb: ditto.
+ * vm_eval.c (rb_catch_protect): use THROW_DATA_VAL().
-Fri Oct 3 08:14:32 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Mar 11 04:56:04 2015 Koichi Sasada <ko1@atdot.net>
- * lib/irb/ruby-lex.rb (RubyLex::identify_identifier): support
- 'class ::Foo' syntax. [ruby-talk:83514]
+ * vm_insnhelper.h: define struct IFUNC.
-Fri Oct 3 08:01:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * vm_eval.c (rb_iterate): use it.
- * lib/test/unit/assertions.rb: added a default message for #assert,
- #assert_block, and #flunk.
+ * vm_insnhelper.c (vm_yield_with_cfunc): ditto.
- * test/testunit/test_assertions.rb: ditto.
+Wed Mar 11 03:52:12 2015 Koichi Sasada <ko1@atdot.net>
- * lib/test/unit/failure.rb: failures now show a better trace of where
- they occurred.
+ * eval_intern.h (THROW_DATA_P): use RB_TYPE_P() instead of
+ BUILTIN_TYPE().
- * test/testunit/test_failure.rb: ditto (added).
+ * thread.c (thread_join): use THROW_DATA_P().
- * lib/test/unit/testcase.rb: ditto.
+Wed Mar 11 03:48:01 2015 Koichi Sasada <ko1@atdot.net>
- * test/testunit/test_testcase.rb: ditto.
+ * proc.c: use RUBY_VM_IFUNC_P() to recognize IFUNC or not.
- * lib/test/unit/util/backtracefilter.rb: added.
+ * vm.c: ditto.
- * test/testunit/util/test_backtracefilter.rb: added.
+ * vm_dump.c: ditto.
- * lib/test/unit/error.rb: changed to use BacktraceFilter and improved
- output.
+ * vm_insnhelper.c: ditto.
- * test/testunit/test_error.rb: ditto.
+ * vm_core.h (RUBY_VM_IFUNC_P): use RB_TYPE_P() instead of
+ BUILTIN_TYPE().
-Thu Oct 2 20:33:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Mar 11 03:21:37 2015 Koichi Sasada <ko1@atdot.net>
- * ext/iconv/iconv.c (iconv_failure_initialize): conform with
- orthodox initialization method.
+ * vm_insnhelper.h: define struct THROW_DATA to represent
+ throwing data. Also define accessor functions.
- * ext/iconv/iconv.c (iconv_fail): initialize exception instance
- from the class, and do not share instance variables with the
- others. [ruby-dev:21470]
+ * eval_intern.h: move related changes into vm_insnhelper.h.
+ Now these MACROs (functions) are only used in vm*.c.
-Thu Oct 2 18:20:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ There is only THROW_DATA_P(err) to check this data type or not.
- * time.c (Init_Time): define initialize. [ruby-dev:21469]
+ * vm.c: catch up these changes.
-Thu Oct 2 17:39:38 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * vm_eval.c: ditto.
- * ext/openssl/ossl_engine.c: add a new module OpenSSL::Engine.
- it supports OpenSSL hardware cryptographic engine interface.
+ * vm_insnhelper.c: ditto.
- * ext/openssl/ossl_engine.h: ditto.
+Wed Mar 11 00:57:00 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * ext/openssl/MANIFEST: add ossl_engine.c and ossl_engine.h.
+ * test/rubygems/test_gem_security_trust_dir.rb: The return value of
+ File::Stat#mode is OS dependent. In AIX, 0200000 is set.
- * ext/openssl/extconf.rb: add check for openssl/engine.h.
+Tue Mar 10 20:03:41 2015 Tanaka Akira <akr@fsij.org>
- * ext/openssl/ossl.c: call Init_ossl_engine().
+ * lib/webrick/server.rb: Invoke setup_shutdown_pipe in start method
+ instead of listen method.
+ [ruby-core:68476] [Bug #10956] Reported by Shintaro Kojima.
- * ext/openssl/ossl.h: include openssl/engine.h.
+Tue Mar 10 17:27:27 2015 Koichi Sasada <ko1@atdot.net>
- * ext/openssl/ossl_pkey_{rsa,dsa,dh}.c: check if underlying
- EVP_PKEY referes engine.
+ * thread.c (thread_join): Fixnum (except TAG_FATAL) and
+ NODE should not be reached here.
-Thu Oct 2 17:22:37 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Mon Mar 9 21:42:10 2015 Koichi Sasada <ko1@atdot.net>
- * time.c (time_load): restore instance variables (if any) before
- loading from marshaled data.
+ * vm_insnhelper.c (ep_cref): rename to lep_cref() because it should be
+ local ep.
-Thu Oct 2 14:19:15 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Mar 9 16:34:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/iconv/iconv.c (iconv_fail): now yield erred substring, and
- set error object to $!.
+ * ext/stringio/stringio.c (strio_close): don't raise on double
+ close for consistent to IO#close.
- * ext/iconv/iconv.c (iconv_convert): error handler block should
- return appended part and the rest. if rest is nil, the
- conversion stops.
+Mon Mar 09 06:44:48 2015 Koichi Sasada <ko1@atdot.net>
-Thu Oct 2 12:00:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * vm_insnhelper.h: define struct SVAR for SVAR.
+ This data type is also same layout of NODE (NODE_IF).
- * variable.c (rb_const_defined_0): look up constants in Object as
- well. [ruby-dev:21458]
+ * vm_insnhelper.c: catch up this change.
- * test/ruby/test_defined.rb (TestDefined::test_defined): test for
- constants.
+Mon Mar 9 06:43:21 2015 Koichi Sasada <ko1@atdot.net>
-Thu Oct 2 11:17:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * vm_insnhelper.c (lep_svar_set): add WBs.
- * lib/test/unit/assertions.rb: should not capture an
- AssertionFailedError unless explicitly requested.
+Mon Mar 9 06:19:06 2015 Koichi Sasada <ko1@atdot.net>
- * test/testunit/test_assertions.rb: ditto.
+ * internal.h: define rb_cref_t and change to use it.
- * 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]
+ rb_cref_t is data type of CREF. Now, the body is still NODE.
+ It is easy to understand what is CREF and what is pure NODE.
- * lib/test/unit/testcase.rb: ditto.
+Mon Mar 9 06:00:37 2015 Koichi Sasada <ko1@atdot.net>
- * lib/test/unit/testsuite.rb: ditto.
+ * vm_insnhelper.h (COPY_CREF_OMOD): fix translation miss.
- * lib/test/unit/collector/objectspace.rb: ditto.
+Mon Mar 9 04:47:58 2015 Koichi Sasada <ko1@atdot.net>
-Thu Oct 2 03:25:01 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * internal.h: define CREF accessor macros.
+ * CREF_CLASS(cref)
+ * CREF_NEXT(cref)
+ * CREF_VISI(cref)
+ * CREF_VISI_SET(cref, v)
+ * CREF_REFINEMENTS(cref)
+ * CREF_PUSHED_BY_EVAL(cref)
+ * CREF_PUSHED_BY_EVAL_SET(cref)
+ * CREF_OMOD_SHARED(cref)
+ * CREF_OMOD_SHARED_SET(cref)
+ * CREF_OMOD_SHARED_UNSET(cref)
- * eval.c (rb_thread_raise): prototype; avoid VC++ warning.
+ This is process to change CREF data type from NODE.
-Thu Oct 2 01:37:34 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Mar 8 22:50:57 2015 Tanaka Akira <akr@fsij.org>
- * time.c (time_mdump): new marshal dumper. _dump is still
- available for compatibility.
+ * ext/zlib/zlib.c (rb_gzfile_close): Don't raise on double
+ close for consistent to IO#close.
- * time.c (time_mload): new marshal loader.
+Sun Mar 8 16:57:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * marshal.c (w_object): preserve instance variables for objects
- with marshal_dump.
+ * dir.c (glob_helper): match patterns against legacy short names
+ too, not only ordinary names. [ruby-core:67954] [Bug #10819]
- * marshal.c (r_object0): restore instance variables before calling
- marshal_load.
+ * win32/dir.h (struct direct): add short name members.
- * error.c (rb_warn_m): always return nil.
+ * win32/win32.c (opendir_internal, readdir_internal): ditto.
-Thu Oct 2 01:32:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Mar 7 09:36:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * eval.c (rb_f_block_given_p): real required condition is
- ruby_frame->prev->iter == ITER_CUR.
+ * array.c: document that first element is kept when using
+ Array#uniq and #uniq! [fix GH-845][ci skip]
+ Patch by @riffraff
- * eval.c (rb_block_given_p): ditto.
+Sat Mar 7 09:28:02 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * eval.c (block_pass): update ruby_frame->iter only when previous
- value is ITER_NOT.
+ * thread.c: Mutex#owned? is no longer experimental since 2.1.0
+ [fix GH-839][ci skip] Patch by @takiy33
-Thu Oct 2 01:02:35 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Mar 7 09:18:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * variable.c (rb_const_defined_at): should exclude constants from
- Object when TYPE(klass) == T_MODULE *and* exclude is on.
- [ruby-dev:21458]
+ * tool/merger.rb: Added documentation to version method.
+ [fix GH-847][ci skip] Patch by @magikid
- * variable.c (rb_const_get_0): do not lookup constants from Object
- when TYPE(klass) == T_MODULE *and* exclude is on.
+Fri Mar 6 22:50:36 2015 Koichi Sasada <ko1@atdot.net>
-Thu Oct 2 00:21:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * class.c (rb_prepend_module): need a WB for klass -> origin.
- * test/logger/test_logger.rb: unlinking file before close causes
- problem under win32 box.
+Fri Mar 6 20:18:38 2015 Koichi Sasada <ko1@atdot.net>
- * 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.
+ * fix namespace issue on singleton class expressions. [Bug #10943]
- * test/xsd/test_xsd.rb, test/soap/test_basetype.rb: follow above change.
+ * vm_core.h, method.h: remove rb_iseq_t::cref_stack. CREF is stored
+ to rb_method_definition_t::body.iseq_body.cref.
- * test/soap/calc/*: give httpd config param "CGIInterpreter".
- "/usr/bin/env ruby" thing does not work under non-Unix boxes.
+ * vm_insnhelper.c: modify SVAR usage.
+ When calling ISEQ type method, push CREF information onto method
+ frame, SVAR located place. Before this fix, SVAR is simply nil.
+ After this patch, CREF (or NULL == Qfalse for not iseq methods)
+ is stored at the method invocation.
-Sat Oct 2 00:42:20 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ When SVAR is required, then put NODE_IF onto SVAR location,
+ and NDOE_IF::nd_reserved points CREF itself.
- * marshal.c (r_byte): retrieve pointer from string value for each
- time. [ruby-dev:24404]
+ * vm.c (vm_cref_new, vm_cref_dump, vm_cref_new_toplevel): added.
- * marshal.c (r_bytes0): ditto.
+ * vm_insnhelper.c (vm_push_frame): accept CREF.
- * enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399]
+ * method.h, vm_method.c (rb_add_method_iseq): added. This function
+ accepts iseq and CREF.
- * io.c (io_read): should freeze all reading buffer.
- [ruby-dev:24400]
+ * class.c (clone_method): use rb_add_method_iseq().
- * string.c (rb_str_sum): should use bignums when bits is greater
- than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]
+ * gc.c (mark_method_entry): mark method_entry::body.iseq_body.cref.
- * eval.c (specific_eval): defer pointer retrieval to prevent
- unsafe sourcefile string modification. [ruby-dev:24382]
+ * iseq.c: remove CREF related codes.
- * string.c (rb_str_sum): wrong cast caused wrong result.
- [ruby-dev:24385]
+ * insns.def (getinlinecache/setinlinecache): CREF should be cache key
+ because a different CREF has a different namespace.
- * enum.c (enum_sort_by): hide temporary array from
- ObjectSpace.each_object. [ruby-dev:24386]
+ * node.c (rb_gc_mark_node): mark NODE_IF::nd_reserved for SVAR.
- * string.c (rb_str_sum): check was done with false pointer.
- [ruby-dev:24383]
+ * proc.c: catch up changes.
- * string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
+ * struct.c: ditto.
-Thu Oct 2 00:25:21 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * insns.def: ditto.
- * signal.c (ruby_signal_name): adjust to the prototype.
+ * vm_args.c (raise_argument_error): ditto.
- * process.c (pst_inspect): ditto.
+ * vm_eval.c: ditto.
- * ext/etc/etc.c (etc_getgrent, Init_etc): typo.
+ * test/ruby/test_class.rb: add a test.
-Wed Oct 1 20:49:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Mar 6 18:19:13 2015 Koichi Sasada <ko1@atdot.net>
- * gc.c (heaps): manage slots and limits together. [ruby-dev:21453]
+ * test/webrick/test_filehandler.rb: on vboxsf (on VirtualBox
+ on Windows 7), file name and permissions are strange (can access
+ by short file name and so on).
- * gc.c (add_heap): should not clear heaps slot even if realloc()
- failed.
+ Simply skip on such tests on such FS. To detect strange FS, this
+ patch use a part of code `File.executable?(__FILE__)`.
+ Please correct them if there are better ways.
-Wed Oct 1 20:36:49 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Fri Mar 6 17:31:29 2015 Koichi Sasada <ko1@atdot.net>
- * MANIFEST: add wince/mkconfig_wce.rb.
+ * test/ruby/test_beginendblock.rb: do not change directory.
-Wed Oct 1 17:22:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ Run system command in the directory mounted by vboxsf on Windows 7
+ and get warning like that "warning: Insecure world writable dir...".
- * ext/etc/etc.c: add new functions: setpwent, getpwent, endpwent,
- setgrent, getgrent, endgrent.
+Fri Mar 6 10:31:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (sock_s_gethostbyname): do not reverse lookup.
+ * 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]
-Wed Oct 1 17:01:30 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Mar 6 08:45:26 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * eval.c (rb_load): Object scope had priority over required file
- scope. [ruby-dev:21415]
+ * lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens.
+ [Fixes GH-802]
-Wed Oct 1 14:09:53 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
+Fri Mar 6 07:33:03 2015 Koichi Sasada <ko1@atdot.net>
- * wince/mkconfig_wce.rb: sorry, forget to commit.
+ * gc.c (obj_info): show node name too.
-Wed Oct 1 10:08:42 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
+Fri Mar 6 07:00:44 2015 Koichi Sasada <ko1@atdot.net>
- * wince/setup.mak: add sigmarionIII SDK support.
+ * internal.h: remove struct method_table_wrapper.
+ struct method_table_wrapper was introduced to avoid duplicate marking
+ for method tables.
- * wince/Makefile.sub: ditto.
+ For example, `module M1; def foo; end; end` make one method table
+ (mtbl) contains a method `foo`. M1 (T_MODULE) points mtbl.
+ Classes C1 and C2 includes M1, then two T_ICLASS objects are created
+ and they points mtbl too. In this case, three objects (one T_MODULE
+ and two T_ICLASS objects) points same mtbl. On marking phase, these
+ three objects mark same mtbl. To avoid such duplication, struct
+ method_table_wrapper was introduced.
- * wince/mkexports.rb: fix linker error in SH4.
+ However, created two T_ICLASS objects have same or shorter lifetime
+ than M1 (T_MODULE) object. So that we only need to mark mtbl from M1,
+ not from T_ICLASS objects. This patch tries marking only from M1.
+ In other words, original module (M1) has responsibility to mark mtbl.
+ Because of no duplicate marking, we don't need method_table_wrapper
+ any more.
- * wince/mkconfig_wce.rb: camouflage RUBY_PLATFORM for compiling ext.
+ Note that one `Module#prepend` call creates two T_ICLASS objects.
+ One for referring to a prepending Module object, same as
+ `Module#include`. We don't need to care this T_ICLASS.
+ One for moving original mtbl from a prepending class. We need to
+ mark such mtbl from this T_ICLASS object. To mark the mtbl,
+ we need to use `RCLASS_ORIGIN(klass)` on marking from a prepended
+ class `klass`.
-Wed Oct 1 08:02:52 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
+ * class.c: ditto.
- * wince/time_wce.c (time): add zero check.
+ * eval.c (rb_using_refinement): ditto.
-Tue Sep 30 16:11:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * gc.c: ditto.
- * Makefile.in: copy lex.c from $(srcdir) if it's not the current
- directory. [ruby-dev:21437]
+ * include/ruby/ruby.h: define m_tbl directly. The definition of
+ struct RClass should be moved to (srcdir)/internal.h.
-Tue Sep 30 11:29:23 2003 Tanaka Akira <akr@m17n.org>
+ * method.h: remove decl of rb_free_m_tbl_wrapper().
- * process.c (pst_inspect): describe stopped process "stopped".
+ * object.c: use RCLASS_M_TBL() directly.
-Tue Sep 30 09:31:56 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Mar 6 02:50:12 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * test/runner.rb: glob for directories.
+ * dir.c (replace_real_basename): need to check the return value of
+ GLOB_REALLOC().
-Tue Sep 30 09:11:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Mar 6 02:26:03 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c (rb_eval): while/until should not capture break unless
- they are destination of the break.
+ * dir.c (replace_real_basename): shouldn't create Ruby object before
+ the object system is loaded.
+ [ruby-core:68430] [Bug #10941]
-Tue Sep 30 03:12:02 2003 Minero Aoki <aamine@loveruby.net>
+Wed Mar 5 16:58:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * lib/net/http.rb (finish): revert to 1.93.
+ * hash.c: [DOC] #delete method actually returns nil, if the key
+ is not found. [fix GH-844][ci skip] Patch by @ivdma
- * lib/net/pop.rb (finish): revert to 1.60.
+Wed Mar 5 12:22:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * lib/net/smtp.rb (finish): revert to 1.67.
+ * math.c: refactoring: remove unnecessary variable d0 to unify code
+ appearance.
- * lib/net/http.rb (do_start): ensure to close socket if failed to
- start session.
+Thu Mar 5 11:50:54 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/net/pop.rb (do_start): ditto.
+ * vm_eval.c (eval_string_with_cref): A binding should keep
+ refinements activation information and the refinements should be
+ activated in subsequent eval calls with the binding.
+ [ruby-core:67945] [Bug #10818]
- * lib/net/smtp.rb (do_start): ditto.
+Thu Mar 5 11:16:55 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/net/smtp.rb: SMTP#started? wrongly returned false always.
+ * test/ruby/test_refinement.rb: There is no need anymore to suppress
+ warnings.
-Tue Sep 30 02:54:49 2003 Minero Aoki <aamine@loveruby.net>
+Thu Mar 5 08:31:02 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * test/ruby/test_iterator.rb: new test
- test_break__nested_loop[123].
+ * random.c (random_raw_seed): Avoid calling fill_random_bytes()
+ if the requested size is 0. AIX returns -1 for 0-byte read from
+ /dev/urandom, while other UNIX returns 0. With this change,
+ Random.raw_seed(0) consistently returns "" in any UNIX.
-Mon Sep 29 23:39:13 2003 Minero Aoki <aamine@loveruby.net>
+Wed Mar 4 12:43:32 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * lib/net/http.rb (finish): does not raise IOError even if
- !started?, to allow closing socket which was opened before
- session started.
+ * test/ruby/test_math.rb (assert_float_and_int): Refactor test cases
+ by introducing assert_float_and_int. [misc #10810]
- * lib/net/pop.rb (finish): ditto.
+Wed Mar 4 11:52:30 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/net/smtp.rb (finish): ditto.
+ * 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]
-Mon Sep 29 19:06:51 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Wed Mar 4 10:16:57 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/win32ole/extconf.rb: add windows.h checking.
- (ruby-bugs:PR#1185)
+ * enum.c: Fix typo in slice_after's exception message.
+ [fix GH-842][ci skip] Patch by @jsyeo
-Mon Sep 29 16:18:30 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Wed Mar 4 10:15:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/logger.rb: check if the given logdevice object respond_to :write
- and :close, not is_a? IO. duck duck.
+ * doc/syntax/methods.rdoc: add some missing spaces and
+ fix a grammatical error in method docs.
+ [fix GH-843][ci skip] Patch by @nikolas
- * test/logger/test_logger.rb: self IO.pipe reading/writing may be
- locked by the flood. use tempfile.
+Wed Mar 4 02:13:06 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/wsdl/xmlSchema/data.rb: wrong constant reference.
+ * tool/redmine-backporter.rb (backport_command_string): pick up only
+ when the revision exists in trunk.
-Mon Sep 29 16:11:23 2003 Minero Aoki <aamine@loveruby.net>
+Wed Mar 4 00:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/test_fileutils.rb: clean up temporary symlink.
- Patched by NaHi. [ruby-dev:21420]
+ * thread.c (rb_thread_io_blocking_region): assigned variables
+ inside EXEC_TAG() should be volatile.
-Mon Sep 29 11:16:55 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * thread.c (rb_thread_s_handle_interrupt): ditto.
- * eval.c (rb_thread_atfork): wrong format specifier.
- [ruby-dev:21428]
+ * thread.c (exec_recursive): ditto.
- * process.c (pst_inspect): better description.
+Wed Mar 4 00:29:18 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Sep 29 02:31:44 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * tool/redmine-backporter.rb: now can specify shorten form of commands.
- * lib/webrick/utils.rb (Utils::su): use setgid and setuid to
- set real and effective IDs. and setup group access list by
- initgroups.
+Tue Mar 3 23:41:42 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Sun Sep 28 11:14:19 2003 Koji Arai <jca02266@nifty.ne.jp>
+ * tool/redmine-backporter.rb (Readline.readline): drop untreated control
+ characters.
- * ext/digest/digest.c (Init_digest): `copy_object' was deprecated.
- `initialize_copy' should be defined.
+Tue Mar 3 22:25:24 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * ext/stringio/stringio.c (Init_stringio): ditto.
+ * test/lib/envutil.rb (EnvUtil.invoke_ruby): need to rescue because
+ Signal.signame may raise exception.
-Sat Sep 27 18:25:13 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Tue Mar 3 16:57:39 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/xsd/charset.rb: XSD::Charset.is_ces did return always true under
- $KCODE = "NONE" environment. check added.
+ * tool/redmine-backporter.rb: use 'b' instead of 's' for showing
+ Backport options for merger.rb.
- * test/xsd/test_xsd.rb: add tests for above fix.
+Tue Mar 3 16:55:23 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Sat Sep 27 15:58:50 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * tool/redmine-backporter.rb: show selected ticket number at prompt.
- * lib/soap/rpc/cgistub.rb: make logging severity threshold higher.
+Tue Mar 3 14:47:30 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * lib/soap/rpc/standaloneServer.rb: defer WEBrick server start to give
- a chance to reset logging severity threshold.
+ * math.c (num2dbl_with_to_f): direct casting from Rational to double.
+ [Feature #10909]
- * test/soap/calc/test_*, test/soap/helloworld/test_helloworld.rb: run
- silent.
+ * test/ruby/test_math.rb: add tests for the above change.
-Sat Sep 27 09:44:18 2003 Minero Aoki <aamine@loveruby.net>
+Tue Mar 3 07:52:20 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * test/fileutils/test_fileutils.rb: clear all errors on Windows.
- [ruby-dev:21417]
+ * test/ruby/test_symbol.rb: avoid a false positive in AIX.
- * test/fileutils/test_nowrite.rb: ditto.
+Tue Mar 3 00:59:39 2015 Naohisa Goto <ngotogenome@gmail.com>
-Mon Sep 27 09:14:03 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * configure.in: set PRELOADENV in Solaris to avoid "wrong ELF class"
+ error. [Bug #10926] [ruby-dev:48888]
+ * configure.in: set LIBPATHENV for 32-bit compile in Solaris
+ in addition to 64-bit.
- * array.c (rb_ary_delete): comparison may change the capacity.
- [ruby-dev:24348]
+Mon Mar 2 15:36:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * array.c (rb_ary_fill): fill should honor length argument.
- [ruby-dev:24346]
+ * configure.in: do not check _setjmp unless _longjmp is available,
+ so that configure results will not be changed by cache.
- * array.c (rb_ary_replace): should not use ptr from shared array.
- [ruby-dev:24345]
+Mon Mar 2 14:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/socket/socket.c (s_accept): don't retry for EWOULDBLOCK.
- [ruby-talk:113807]
+ * configure.in (RUBY_REPLACE_TYPE): restore unsigned type from
+ cached variable only if the target type is not available.
-Sat Sep 27 04:57:07 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Mon Mar 2 13:04:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/ruby/test_file.rb: new file. only asserts unlink-before-close
- behaviour now.
+ * signal.c (sig_signame): return nil if the argument is a valid
+ signal number.
- * test/soap/marshal/test_digraph.rb: should close before unlink.
- unlink-before-close pattern is not needed here.
+Mon Mar 2 12:05:04 2015 Naohisa Goto <ngotogenome@gmail.com>
-Sat Sep 27 03:32:37 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * test/net/ftp/test_ftp.rb (create_ftp_server): set SO_OOBINLINE
+ for receiving OOB data which is sent with MSG_OOB flag in
+ portable way. [Bug #10915] [ruby-dev:48885]
+ * test/net/ftp/test_ftp.rb (test_abort, test_status): use gets
+ for receiving OOB data in portable way.
- * 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.
+Mon Mar 2 11:43:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Sep 27 01:30:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * configure.in (RUBY_REPLACE_TYPE): restore unsigned type from
+ cached variable.
- * ext/socket/socket.c (ruby_connect): on win32, type of the 4th
- argument of getsockopt is char *.
+Mon Mar 2 06:01:41 2015 Eric Wong <e@80x24.org>
-Fri Sep 26 18:35:40 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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
- * lib/resolv-replace.rb: 1.8 compliance. [ruby-talk:82946]
+Sun Mar 1 20:21:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 26 17:39:27 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * configure.in (RUBY_REPLACE_TYPE): restore convertible type from
+ cached variable, so that configured results will be stable.
- * test/ruby/test_marshal.rb: add test for ruby's objects.
+Sun Mar 1 18:10:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 26 09:52:44 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * configure.in (rb_cv_broken_memmem): check before adding the
+ result HAVE_MEMMEM macro to confdefs.h, so that configured
+ results will be stable.
- * defines.h (flush_register_windows): use volatile only for gcc on
- Solaris. [ruby-dev:21403]
+Sun Mar 1 11:17:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb (xsystem): use system directly to honor shell meta
- charaters.
+ * gc.c (id2ref): prohibit from accessing internal objects.
+ [ruby-core:68348] [Bug #10918]
-Fri Sep 26 00:10:13 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Sun Mar 1 09:06:11 2015 Tanaka Akira <akr@fsij.org>
- * lib/README: updated.
+ * lib/time.rb (strptime): Support %s.%N.
+ [ruby-core:68301] [Bug #10904] Patch by Sadayuki Furuhashi.
-Thu Sep 25 17:48:10 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Sat Feb 28 17:18:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl.c (ossl_buf2str): fix type of 1st argument for
- rb_protect.
+ * enum.c (enum_each_slice, enum_each_cons): limit elements size by
+ the enumerator size. suggested by Hans Mackowiak <hanmac AT
+ gmx.de> at [ruby-core:68335]
- * ext/openssl/ossl_hmac.c (ossl_hmac_digest): should return meaningful
- value.
+Sat Feb 28 15:44:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 25 09:00:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * vm_dump.c (rb_vm_bugreport): get rid of making new strings
+ inside signal context.
- * lib/ostruct.rb: Added OpenStruct#==.
+ * variable.c (rb_tmp_class_path): defer making temporary class
+ path string.
- * test/ostruct/test_ostruct.rb: Added.
+ * variable.c (rb_search_class_path): search class path or return
+ Qnil or Qfalse if unnamed, not creating a temporary path.
-Thu Sep 25 07:55:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Feb 28 15:02:02 2015 Nobuyoshi Nakada <nobu@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)
+ * variable.c (rb_tmp_class_path): preserve name encoding of an
+ anonymous instance of module/class subclass.
-Thu Sep 25 00:23:22 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Sat Feb 28 08:24:30 2015 Rei Odaira <Rei.Odaira@gmail.com>
- * MANIFEST: add SOAP4R.
+ * ext/pty/pty.c: AIX supports autopush.
+ Patch by Perry Smith [ruby-core:58539] [Bug #9144]
-Thu Sep 25 00:13:15 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Fri Feb 27 22:00:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/soap/* (29 files): SOAP4R added.
+ * lib/rubygems: Update to RubyGems 2.4.6 and HEAD(800f2e6).
+ Fixed #1159, #1171, #1173 on rubygems/rubygems
+ * test/rubygems: ditto.
- * lib/wsdl/* (42 files): WSDL4R added.
+Fri Feb 27 20:55:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/xsd/* (12 files): XSD4R added.
+ * lib/rake: Update to rake (9237e74), typo fix and remove needless
+ private syntax.
+ * test/rake: ditto.
- * test/soap/* (16 files): added.
+Fri Feb 27 17:06:44 2015 Koichi Sasada <ko1@atdot.net>
- * test/wsdl/* (2 files): added.
+ * vm_core.h: define vm_svar_index.
- * test/xsd/* (3 files): added.
+ * vm_insnhelper.c, vm.c, compile.c: use vm_svar_index names.
- * sample/soap/* (27 files): added.
+ * iseq.h: remove DEFAULT_SPECIAL_VAR_COUNT.
+ use VM_SVAR_FLIPFLOP_START instead.
- * sample/wsdl/* (13 files): added.
+Fri Feb 27 13:57:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 24 02:08:11 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * io.c (setup_narg): wipe away expanded part of buffer to get rid
+ of revealing uncleaned data. reported by Dongkwan Kim <dkay AT
+ kaist.ac.kr>.
- * lib/webrick/httpservlet/cgihandler.rb: conform to mswin32.
- [ruby-talk:82735], [ruby-talk:82748], [ruby-talk:82818]
+Wed Feb 25 22:25:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Tue Sep 23 23:10:16 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * spec/default.mspec: use default configuration file name.
+ https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf
- * lib/logger.rb: add Logger#<<(msg) for writing msg without any
- formatting.
+Wed Feb 25 22:21:56 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * test/logger/test_logger.rb: ditto.
+ * spec/default.mspec: remove specific version number.
+ https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714
-Tue Sep 23 20:47:51 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Feb 25 22:04:04 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * error.c (rb_warn_m): should not warn if -W0 is specified.
- [ruby-talk:82675]
+ * 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]
-Mon Sep 22 21:28:57 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Wed Feb 25 18:12:11 2015 Eric Wong <e@80x24.org>
- * MANIFEST: updated.
+ * signal.c (sighandler): preserve errno
+ Patch by Steven Stewart-Gallus <sstewartgallus00@mylangara.bc.ca>
+ [ruby-core:68172] [Bug #10866]
-Mon Sep 22 19:22:26 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Wed Feb 25 15:59:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * configure.in (AC_CHECK_FUNCS): add setuid and setgid.
+ * dir.c (push_pattern, push_glob): make globbed file names same
+ encoding to the given pattern.
-Mon Sep 22 12:34:55 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Feb 25 15:27:16 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * util.c (ruby_strtod): skip preceding zeros before counting
- digits in the mantissa. (ruby-bugs:PR#1181)
+ * tool/merger.rb: support 2.1+ versioning scheme.
-Sun Sep 21 04:12:36 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Feb 25 08:49:12 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * ext/openssl/ossl_ocsp.c (ossl_ocspreq_initialize): the argument
- should be a String.
+ * lib/cmath.rb (log): raise ArgumentError when more than 2 arguments
+ are passed. [ruby-core:66143] [Bug #10487]
- * ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): ditt.
+Tue Feb 25 02:15:17 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): ditto.
+ * test/ruby/test_math.rb: Use assert_infinity instead of assert_equal(1.0/0, ...).
- * ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.
+ * test/ruby/test_math.rb: Add tests for overriding Integer#to_f.
+ [ruby-core:67919] [Misc #10809]
- * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.
+Tue Feb 24 22:58:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Sep 20 11:49:05 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * complex.c (nucomp_mul): calculate as rotation in complex plane
+ if matrix calculation resulted in NaN.
- * lib/logger.rb: typo fixed.
+Tue Feb 24 21:45:39 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * test/logger/test_logger.rb: new file.
+ * test/ruby/test_math.rb(test_cbrt): Add an assertion for Math.cbrt(1.0/0)
+ and move #test_cbrt to more proper place.
-Fri Sep 19 11:39:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+Tue Feb 24 19:09:25 2015 Koichi Sasada <ko1@atdot.net>
- * test/testunit/*: Added.
+ * vm_insnhelper.c (lep_svar_place, lep_svar_get): do not create
+ additional T_NODE object (svars holder) when only getting
+ svars.
- * lib/test/unit.rb: Documentation update.
+Tue Feb 24 11:49:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/test/unit/ui/console/testrunner.rb (TestRunner#initialize):
- Ditto.
+ * time.c (time_zone_name): should be US-ASCII only if all 7-bits,
+ otherwise locale encoding. [ruby-core:68230] [Bug #10887]
- * lib/test/unit.rb: Factored out an ObjectSpace collector.
+Tue Feb 24 09:47:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/test/unit/collector/objectspace.rb: Ditto.
+ * string.c (chompped_length): enable smart chomp for all non-dummy
+ encoding strings, not only default_rs.
+ [ruby-core:68258] [Bug #10893]
- * sample/testunit/*: Added.
+Mon Feb 23 23:19:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 19 01:00:48 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * tool/vcs.rb (IO.popen): support :chdir option.
- * lib/webrick/log.rb (BasicLog#log): get rid of as ineffectual
- condition.
+ * tool/vcs.rb (VCS::GIT.get_revisions): use :chdir option instead
+ of -C option which is not supported by older git.
+ [ruby-dev:48880] [Bug #10890]
- * lib/webrick/log.rb (BasicLog#format): add "\n" to message.
+Mon Feb 23 15:26:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Sep 18 22:43:20 2003 Yukihiro Matsumoto <matz@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]
- * eval.c (proc_invoke): should push PROT_PCALL tag for orphans.
+Mon Feb 23 07:25:29 2015 Benoit Daloze <eregontp@gmail.com>
- * eval.c (proc_invoke): should update "result" for orphans.
+ * time.c: Zone encoding should be US-ASCII if all 7-bits. Fix r46907.
-Thu Sep 18 20:33:03 2003 Tietew <tietew-ml-ruby-list@tietew.net>
+ * test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests.
- * parse.y (str_xquote): do not prepend escapes in
- backqoute literals. [ruby-list:38409]
+Sun Feb 22 18:33:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Sep 18 20:30:17 2003 Tanaka Akira <akr@m17n.org>
+ * common.mk: use ruby organization for rubyspec.
- * lib/pathname.rb: update document.
+Sun Feb 22 15:56:06 2015 Kazuki Tsujimoto <kazuki@callcc.net>
-Thu Sep 18 15:27:05 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * 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]
- * lib/logger.rb: new file. Logger, formerly called devel-logger or
- Devel::Logger.
+ * vm_core.h, class.c: change accordingly.
- * sample/logger/*: new file. samples of logger.rb.
+ * test/ruby/test_refinement.rb: add a test for above.
-Wed Sep 17 23:41:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Feb 22 10:43:37 2015 Koichi Sasada <ko1@atdot.net>
- * eval.c (localjump_destination): should not raise ThreadError
- exception for "break". [ruby-dev:21348]
+ * gc.c (rb_objspace_call_finalizer): control GC execution during
+ force firnalizations at the end of interpreter process.
+ [Bug #10768]
- * eval.c (proc_invoke): use result instead of prot_tag->retval.
- retval is no longer propagated to the ancestors.
+ 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 Sep 17 20:34:00 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ 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.
- * parse.y (tokadd_string, parse_string, yylex): escaped terminator
- is now interpreted as is. [ruby-talk:82206]
+Sun Feb 22 04:07:05 2015 Zachary Scott <e@zzak.io>
-Wed Sep 17 18:52:36 2003 Minero Aoki <aamine@loveruby.net>
+ * ext/openssl/ossl_asn1.c: [DOC] RDoc formatting fixes for
+ ASN1::ObjectId with patch from @vbatts [Fixes GH-834]
- * test/fileutils/fileassertions.rb: new file.
+ * ext/openssl/ossl_bn.c: ditto.
- * test/fileutils/test_fileutils.rb: new file.
+Sat Feb 21 19:51:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/fileutils/test_nowrite.rb: new file.
+ * re.c (match_aref): RMatch::regexp is Qnil after matching by a
+ string since r45451. [ruby-core:68209] [Bug #10877]
-Wed Sep 17 18:51:02 2003 Minero Aoki <aamine@loveruby.net>
+Sat Feb 21 16:18:42 2015 Stefan Schuler <mail@stefanschuessler.de>
- * test/strscan/test_stringscanner.rb: require test/unit.
+ * compar.c (Init_Comparable): [DOC] Replace camelcase variable name.
+ [Fix GH-833]
-Wed Sep 17 18:35:34 2003 Minero Aoki <aamine@loveruby.net>
+Fri Feb 20 17:27:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/strscan/test_stringscanner.rb: new file.
+ * file.c (rb_file_identical_p): fix handle leak, ensure to close
+ the handle of the first argument.
-Wed Sep 17 18:03:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Feb 20 17:19:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl: all files are reviewed to simplify and avoid memory leak.
+ * win32/win32.c (different_device_p): compare by volume serial
+ numbers, not by path names. [ruby-core:68162] [Bug #10865]
- * ext/openssl/extconf.rb: add check for assert.h.
+Thu Feb 19 01:58:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl.c (ossl_buf2str): new function to convert
- C buffer to String and free buffer.
+ * 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]
- * ext/openssl/ossl.c (ossl_x509_ary2sk): new function to convert
- Array of OpenSSL::X509 to STACK_OF(X509) with exception safe.
+Wed Feb 18 10:48:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl.c (ossl_to_der, ossl_to_der_if_possible): new
- functions to convert object to DER string.
+ * 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]
- * ext/openssl/ossl.h: ditto.
+Wed Feb 18 03:13:52 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/openssl/ossl_bio.c (ossl_membio2str): new function to convert
- BIO to String object and free BIO.
+ * ext/psych/lib/psych.rb: bump psych version.
+ * ext/psych/psych.gemspec: ditto
+ * ext/psych/yaml/scanner.c: add latest libyaml change.
+ * test/psych/helper.rb: support newer minitest
+ * test/psych/test_to_yaml_properties.rb: ditto
- * ext/openssl/ossl_bio.h: ditto.
+Tue Feb 17 11:47:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_to_der): add for "to_der".
+ * lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements
+ returned by Kernel#instance_variables are Symbols now.
+ [ruby-core:68128] [Bug #10857]
- * ext/openssl/ossl_x509name.c (ossl_x509name_to_der): ditto.
+Tue Feb 17 10:59:10 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/openssl/ossl_x509ext.c (ossl_x509ext_to_der): ditto.
+ * doc/syntax/calling_methods.rdoc: Fix documentation for "calling_methods"
+ Patch by @sos4nt [fix GH-830][ci skip]
- * ext/openssl/ossl_x509ext.c (create_ext_from_array): removed
- and reimplement in openssl/x509.rb.
+Tue Feb 17 10:53:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * 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.
+ * 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]
- * ext/openssl/lib/openssl/x509.c (X509::Attribute): get rid off
- unused code.
+Tue Feb 17 10:47:20 2015 Iain Beeston <iain.beeston@gmail.com>
- * ext/openssl/lib/openssl/x509.c (X509::ExtensionFactory): refine all.
+ * hash.c: Added docs to explain that #include? and #member? do not
+ check member equality
+ * lib/set.rb: ditto
-Tue Sep 16 22:25:06 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Mon Feb 16 20:58:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/csv/test_csv.rb: add negative tests of row_sep.
+ * compile.c (compile_massign): optimization for special case,
+ assignments by aset or attrset.
+ http://kokizzu.blogspot.jp/2015/02/c-java-hhvm-ruby-nodejsrhinojscspidermo.html
+ http://www.atdot.net/~ko1/diary/201502.html#d16
-Tue Sep 16 18:02:36 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Feb 15 10:41:23 2015 Sho Hashimoto <sho-h@ruby-lang.org>
- * regex.c (re_compile_pattern): should not translate character
- class range edge. [ruby-list:38393]
+ * doc/standard_library.rdoc: [DOC] delete removed libraries.
+ [misc #10843] [ci skip]
-Tue Sep 16 16:47:56 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Sat Feb 14 12:20:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * MANIFEST: add test/csv/mac.csv.
+ * random.c (rand_random_number): add a method to return a random
+ number like SecureRandom to Random::Formatter.
- * win32/Makefile.sub, bcc32/Makefile.sub (test): add phony NUL target.
+ * lib/securerandom.rb (random_bytes): move to Random::Formatter,
+ the base method of the module.
-Mon Sep 15 19:02:52 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Sat Feb 14 12:01:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/csv.rb: add extra pamameter to specify row(record) separater
- character. To parse Mac's CR separated CSV, do like this.
- CSV.open("mac.csv", "r", ?,, ?\r) { |row| p row.to_a }
- The 3rd parameter in this example ?, is for column separater and the
- 4th ?\r is for row separater. Row separater is nil by default. Nil
- separater means "\r\n" or "\n".
+ * random.c (random_raw_seed): extract platform dependent random
+ seed initialization function as a new method Random.raw_seed.
- * test/csv/test_csv.rb: add tests for above feature.
+ * lib/securerandom.rb (SecureRandom): use Random.raw_seed.
- * test/csv/mac.csv: added. Sample CR separated CSV file.
+Sat Feb 14 00:49:37 2015 Aaron Patterson <aaron@tenderlovemaking.com>
-Fri Sep 12 22:41:48 2003 Michal Rokos <m.rokos@sh.cvut.cz>
+ * ext/coverage/coverage.c: Add Coverage.peek_result. Allows you to
+ capture coverage information without stopping the coverage tool.
+ [ruby-core:67940] [Feature #10816]
- * ext/openssl/ossl.c: move ASN.1 stuff to ossl_asn1.[ch]
+ * test/coverage/test_coverage.rb: test for change.
- * ext/openssl/ossl.c: move BIO stuff to ossl_bio.[ch]
+Fri Feb 13 21:52:05 2015 Yusuke Endoh <mame@tsg.ne.jp>
- * ext/openssl/ossl_asn1.[ch]: new files
+ * string.c (str_discard): does not free for STR_NOFREE string.
+ [Bug #10853][ruby-core:68110]
- * ext/openssl/ossl_bio.[ch]: new files
+ * bootstraptest/test_string.rb: test for above.
-Fri Sep 12 12:30:41 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Feb 13 21:16:00 2015 Yusuke Endoh <mame@tsg.ne.jp>
- * 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]
+ * lib/base64.rb: make urlsafe mode user-friendly.
-Fri Sep 12 12:09:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/base64.rb (Base64.urlsafe_encode64): a new option "padding" to
+ suppress the padding character ("=").
- * bignum.c (rb_big_and): convert argument using 'to_int'.
+ * lib/base64.rb (Base64.urlsafe_decode64): now it accepts not only
+ correctly-padded input but also unpadded input.
+ [Feature #10740][ruby-core:67570]
- * bignum.c (rb_big_or): ditto.
+ * test/base64/test_base64.rb: Test for above
- * bignum.c (rb_big_xor): ditto.
+Fri Feb 13 14:19:06 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Fri Sep 12 07:06:14 2003 David Black <dblack@superlink.net>
+ * ext/json: merge upstream from flori/json
+ change usage of TypedData. [Feature #10739][ruby-core:67564]
- * lib/scanf.rb: Took out useless @matched_item variable; some small
- refactoring.
+Thu Feb 12 18:34:01 2015 multisnow <infinity.blick.winkel@gmail.com>
-Thu Sep 11 08:43:44 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/openssl/extconf.rb: check RAND_edg to support libressl.
- * eval.c (rb_f_require): allow "require" on $SAFE>0, if feature
- name is not tainted.
+ * ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg
+ is available. [Fix GH-829]
- * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::stream):
- Supports StringIO.
+Thu Feb 12 10:46:14 2015 Eric Hodel <drbrain@segment7.net>
-Wed Sep 10 22:47:30 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * proc.c (proc_call): Improve Proc#call documentation. Patch by
+ Hsing-Hui Hsu. [fix GH-761]
- * ext/openssl/ossl.h: add a workaround for win32 platform.
- libeay32.dll doesn't export functions defined in conf_api.h.
+Thu Feb 12 04:33:02 2015 Benoit Daloze <eregontp@gmail.com>
- * ext/openssl/ossl_config.c (ossl_config_initialize): ditto.
+ * compar.c (cmp_equal): no more error hiding for Comparable#==.
+ It now behaves as other Comparable methods. See #7688.
- * ext/openssl/ossl_config.c (ossl_config_add_value): ditto.
+ * test/ruby/test_comparable.rb: update related test.
- * ext/openssl/ossl_config.c (set_conf_section_i): should check
- if the argument is Array.
+Thu Feb 12 03:28:05 2015 Eric Wong <e@80x24.org>
-Wed Sep 10 22:41:54 2003 Tietew <tietew@tietew.net>
+ * lib/set.rb (initialize): internal hash defaults to false
- * eval.c (win32_get_exception_list): avoid VC7 warning.
- [ruby-win32:577]
+ * lib/set.rb (include?): use Hash#[] for optimized dispatch.
+ Patch by Ismael Abreu <ismaelga@gmail.com>
+ [ruby-core:67664] [Misc #10754]
-Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Wed Feb 11 11:09:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (struct tag): dst should be VALUE.
+ * ext/digest/digest_conf.rb (digest_conf): check for CommonDigest.
-Tue Sep 9 10:39:51 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/digest/*/*cc.h: for Apple CommonCrypto/CommonDigest.h.
- * eval.c (localjump_destination): stop at the scope where the current
- block was created. [ruby-dev:21353]
+ * ext/digest/digest.h (DEFINE_FINISH_FUNC_FROM_FINAL): macro for
+ finish functions, by inverting arguments order.
-Tue Sep 9 05:17:04 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * ext/digest/digest_conf.rb (digest_conf): extract common
+ configurations.
- * ext/openssl/ossl_config.rb: avoid compile error in OpenSSL-0.9.6.
+Wed Feb 11 11:01:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Sep 9 02:41:35 2003 Michal Rokos <m.rokos@sh.cvut.cz>
+ * ext/json/generator/generator.c (generate_json): get rid of
+ unnecessary recursive calls which can cause infinite recursion.
+ T_STRING may not have rb_cString.
- * ext/openssl/ossl_config.c: Refine compatibility.
+Wed Feb 11 07:53:35 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Tue Sep 9 01:50:45 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * test/win32ole/test_word.rb: use skip method to skip test.
- * lib/webrick/httpserver.rb (HTTPServer#access_log): add "\n" to
- the message.
+Tue Feb 10 11:38:28 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/webrick/log.rb (BasicLog#log): add "\n" only if needed.
+ * vm_insnhelper.c (vm_call_method): stop method search when a method
+ is not found in a refinement, to support undef in refinements.
+ [ruby-core:66741] [Bug #10578]
-Mon Sep 8 22:15:33 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Tue Feb 10 11:19:11 2015 Shugo Maeda <shugo@ruby-lang.org>
- * ext/tk/lib/multi-tk.rb: modify security check at creating
- a new interpreter
+ * lib/net/ftp.rb (chdir, delete, gettextfile, mdtm, mkdir, nlst,
+ putbinaryfile, puttextfile, rename, rmdir, size): support
+ Pathname. Patch by Joe Rafaniello. [fix GH-828]
-Mon Sep 8 20:00:12 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Feb 9 16:36:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/optparse.rb, lib/optparse/version.rb: search also all
- capital versions.
+ * tool/make-snapshot (package): get rid of loading unbundled and
+ unexpected libraries. [ruby-core:67977] [Bug #10822]
-Mon Sep 8 19:26:33 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Feb 8 20:09:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/openssl/ossl.h: include openssl/conf.h and openssl/conf_api.h.
+ * lib/net/http/header.rb: pass header names as symbols.
+ Patch by @DamirSvrtan [fix GH-805]
+ * test/net/http/test_httpheader.rb: added test.
- * ext/openssl/ossl_config.c: refine all with backward compatibility.
+Sun Feb 8 13:04:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_config.h: export GetConfigPtr() and DupConfigPtr().
+ * ext/socket/getaddrinfo.c (get_addr): reject too long hostname to
+ get rid of GHOST vulnerability on very old platforms.
- * 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/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic
+ check for the canonical name.
- * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_free): don't free
- the members of the struct. it's left to GC.
+Sun Feb 8 12:48:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_x509ext.c (ossl_x509_set_config): add for config=.
+ * ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide
+ versions of RegDeleteValue and RegDeleteKey.
+ [ruby-core:67958] [Bug #10820]
- * ext/openssl/ossl_x509ext.c (Xossl_x509extfactory_initialize):
- add attr readers: issuer_certificate, subject_certificate,
- subject_request, crl and config.
+Sat Feb 7 22:13:08 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
-Mon Sep 8 18:26:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * test/win32ole/test_win32ole_record.rb: remove test using .NET
+ Framework 3.5 because it is not included in Windows 8/8.1.
- * lib/webrick/accesslog.rb (AccessLog::setup_params): use req.port
- instead of config[:Port] or req.request_uri.port.
+Sat Feb 7 19:25:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/webrick/httprequest.rb (HTTPRequest#meta_vars): ditto.
+ * dir.c (has_magic): always get long path name on Windows even if
+ no tilde is there. [ruby-core:68011] [Bug #10819]
- * lib/webrick/httpservlet/filehandler.rb (FileHandler#dir_list): ditto.
+ * dir.c (replace_real_basename): FindFirstFile ignore redirection
+ character, check if exists before call it. cf. [Bug #8597]
- * lib/webrick/config.rb: :Listen option never be used.
+Sat Feb 7 13:30:11 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * lib/webrick/server.rb (GenericServer#initialize): don't use :Listen
- option and add warning message.
+ * test/win32ole/test_win32ole_record.rb
+ (test_ole_instance_variable_get): correct VT_RECORD type and
+ instance variables.
- * lib/webrick/log.rb (BasicLog#<<): shortcut of log(INFO, ...).
+Fri Feb 6 17:47:05 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * lib/webrick/httpserver.rb (HTTPServer#accesslog): use << for logging.
+ * ext/psych/lib/psych/visitors/yaml_tree.rb: register nodes when
+ dumping objects with custom coders. [ruby-core:66215] [Bug #10496]
-Sun Sep 7 16:08:28 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * test/psych/test_coder.rb: test for fix
- * ext/tcltklib/tcltklib.c (lib_mainloop_core): fixed signal-trap bug
+Fri Feb 6 16:58:31 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/tk/lib/*.rb : Ruby/Tk works at $SAFE == 4
+ * ext/psych/lib/psych/visitors/to_ruby.rb: fix support for regular
+ expressions with newlines. tenderlove/psych#222
-Sat Sep 6 02:26:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * test/psych/test_yaml.rb: test for change.
- * test/ruby/test_*.rb: assert_same, assert_match, and so on.
+Fri Feb 6 10:31:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Sep 6 18:45:46 2003 Mauricio Fernandez <batsman.geo@yahoo.com>
+ * 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]
- * parse.y (assignable): call rb_compile_error(), not rb_bug().
- [ruby-core:01523]
+Thu Feb 5 22:42:34 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Sat Sep 6 17:40:41 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * lib/rubygems: Update to RubyGems HEAD(5c3b6f3).
+ Fixed #1156, #1142, #1115, #1142, #1139 on rubygems/rubygems
+ * test/rubygems: ditto.
- * ext/openssl/ruby_missing.c: rid of unnecessary backward
- compatibility stuff. and remove DEFINE_ALLOC_WRAPPER from
- all sources.
+Thu Feb 5 13:41:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/ossl_x509ext.c (X509::Extension.new): new method.
+ * 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]
- * ext/openssl/ossl_x509ext.c (X509::Extension#oid=): new method.
+ * vm_insnhelper.c (ci_missing_reason): return the reason of method
+ missing in call info.
- * ext/openssl/ossl_x509ext.c (X509::Extension#value=): new method.
+ * vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the
+ proper missing reason. [Bug #10828]
- * ext/openssl/ossl_x509ext.c (X509::Extension#critical=): new method.
+Thu Feb 5 10:31:46 2015 Shugo Maeda <shugo@ruby-lang.org>
-Sat Sep 6 01:23:22 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * class.c (rb_obj_singleton_methods): should use RTEST() to convert
+ VALUE to int.
- * win32/win32.c (CreateChild): need to quote cmd if RUBYSHELL is set.
+Thu Feb 5 03:59:33 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
- * win32/win32.c (CreateChild): fix condition about whether to call
- shell or not.
+ * vm_insnhelper.c: Fix symbol leak with +send+ [Bug #10828]
-Sat Sep 6 00:36:20 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+Wed Feb 4 20:26:54 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * Makefile.in (test): phony target.
+ * ext/win32ole/win32ole.c (Init_win32ole): should not use atexit to
+ free allocated hash table to avoid error on Cygwin.
- * lib/mkmf.rb (have_library, find_library): configure by library
- name.
+Wed Feb 4 15:34:25 2015 Shugo Maeda <shugo@ruby-lang.org>
- * lib/optparse.rb (OptionParser#order, #permute, #parse): allow an
- array as argument.
+ * 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]
- * test/ruby/test_*.rb: moved invariants to left side in
- assert_equal, and use assert_nil, assert_raises and so on.
+Wed Feb 4 16:32:40 2015 Matt Hoyle <matt@deployable.co>
- * win32/win32.c (isInternalCmd): distinguish command.com and
- cmd.exe.
+ * ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt'
+ to 'exponent'. [ruby-core:67980] [Bug #10823] [Fix GH-825]
- * win32/win32.c (make_cmdvector): a character just after wildcard
- was ignored. [ruby-core:01518]
+Wed Feb 4 15:55:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 5 20:27:08 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * 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]
- * test/ruby/test_*.rb: replace 'assert(a == b)' with assert_equal(a, b)'
+Wed Feb 4 11:12:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 5 18:00:51 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * Makefile.in (probes.stamp): rebuild dtrace dependent objects
+ only when `dtrace -G` modifies its input files.
- * ext/openssl/lib/openssl/x509.rb: new method X509::Name::parse.
+Tue Feb 3 19:27:16 2015 Naohisa Goto <ngotogenome@gmail.com>
- * ext/openssl/ossl_digest.c: add ossl_digest_new().
+ * 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]
- * ext/openssl/ossl_digest.h: ditto.
+ * Makefile.in (ruby-glommed.o): ditto.
- * ext/openssl/ossl_cipher.c: add ossl_cipher_new().
+ * Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because
+ it is included in $(OBJS) since r49451.
- * ext/openssl/ossl_cipher.h: ditto.
+ * Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS)
-Fri Sep 5 15:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Feb 3 17:15:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * misc/ruby-mode.el (ruby-font-lock-maybe-here-docs): should not
- search delimiter forward if found in backward.
+ * 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]
-Fri Sep 5 13:32:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Feb 3 15:23:58 2015 Shugo Maeda <shugo@ruby-lang.org>
- * test/runner.rb: arguments should be keys.
+ * vm_method.c (remove_method): When remove refined
+ method, raise a NameError if the method is not
+ defined in refined class.
-Fri Sep 5 12:09:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ But if the method is defined in refined class,
+ it should keep refined method and remove original
+ method.
- * test/ruby/test_system.rb (test_system): check existence of ruby
- interpreter.
+ Patch by Seiei Higa. [ruby-core:67722] [Bug #10765]
-Fri Sep 5 11:32:17 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Feb 3 14:04:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/optparse.rb (--version): fix assignment/reference order.
+ * dir.c (glob_helper): obtain real name with FindFirstFile API
+ instead of matching all entries, on Windows.
+ [ruby-core:67954] [Bug #10819]
- * lib/optparse.rb (OptionParser#help): new; OptionParser#to_s may
- be deprecated in future.
+Tue Feb 3 12:26:35 2015 Katsuhiko Nishimra <ktns.87@gmail.com>
- * lib/optparse/version.rb (OptionParser#show_version): hide Object.
+ * lib/mkmf.rb (configuration): set the default cxxflags, which is
+ referred from the default CXXFLAGS, for extension libraries.
+ [Fix GH-823]
- * test/runner.rb: fix optparse usage.
+Tue Feb 3 05:52:00 2015 Aman Gupta <ruby@tmm1.net>
- * test/runner.rb: glob all testsuits if no tests given.
+ * 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.
-Fri Sep 5 10:42:58 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Mon Feb 2 10:51:34 2015 Ari Pollak <ajp@aripollak.com>
- * test/runner.rb: added. gets testcases from command line and runs it.
+ * doc/security.rdoc (Symbols): update about Symbol GC. Symbols
+ explicitly converted from Strings now can be collected, but
+ reflection/metaprogramming still can cause memory flooding.
+ [Fix GH-725]
- * test/ruby/test_gc.rb: remove useless part which was for dumping test
- result.
+Sun Feb 1 13:46:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Sep 5 09:28:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * tool/rbinstall.rb (bin-comm): drop batch file installation.
+ Windows 95 support has not been supported already.
+ [Feature #10806]
- * 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.
+Sat Jan 31 12:06:23 2015 Scott Francis <scott.francis@shopify.com>
-Fri Sep 5 03:00:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * test/ruby/test_iterator.rb (test_block_in_arg): add no block
- given tests.
+Fri Jan 30 17:28:29 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
- * test/ruby/test_iterator.rb (test_ljump): uncomment LocalJumpError
- test.
+ * math.c (num2dbl_with_to_f): make faster when Bignum passed by
+ direct conversion using rb_big2dbl(). [Feature #10800]
-Fri Sep 5 01:10:11 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Thu Jan 29 23:30:00 2015 Kenta Murata <mrkn@mrkn.jp>
- * test/ruby: tests for ruby itself.
+ * ext/bigdecimal/bigdecimal.c (rb_rational_num): add fallback function
+ for rubies lower than 2.2.0.
- * test/ruby/test_*.rb: split sample/test.rb into 28 test/unit testcases.
- some tests could not be translates... search '!!' mark to see it.
+ * ext/bigdecimal/bigdecimal.c (rb_rational_den): ditto.
- * test/csv/test_csv.rb: should require 'csv', not '../lib/csv'. test
- runner should set load path correctly.
+ * ext/bigdecimal/extconf.rb: check the existences of struct RRational,
+ rb_rational_num, and rb_rational_den.
-Fri Sep 5 01:03:59 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * ext/bigdecimal/bigdecimal.bundle: bump version.
- * test/csv/test_csv.rb: close opened files for CSV::IOBuf explicitly.
- opened file cannot be removed under win32 box.
+Thu Jan 29 20:28:25 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Sep 4 23:59:40 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * tool/make-snapshot: removed md5 digest with package information
- * 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 29 10:41:52 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
-Thu Sep 4 19:38:25 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * math.c (Get_Double): direct casting from Fixnum to double.
+ [Feature #10785]
- * ext/io/wait/.cvsignore: added.
+Thu Jan 29 02:34:27 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/openssl/.cvsignore: added.
+ * ext/psych/lib/psych/visitors/to_ruby.rb: fix parsing hashes with
+ instance variables when it is referenced multiple times.
+ * ext/psych/lib/psych.rb: bump version
+ * ext/psych/psych.gemspec: bump version
+ * test/psych/test_hash.rb: test for fix
-Thu Sep 4 19:28:24 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+Thu Jan 29 02:06:09 2015 Eric Wong <e@80x24.org>
- * sample/openssl: added. Sample of standard distribution library
- should be locate in sample/{module_name}/*.
+ * thread.c (struct join_arg): restructure and make smaller
+ (thread_join_sleep): avoid timeofday() call if forever
+ (thread_join): pass join_arg.delay directly
+ (rb_thread_inspect_msg): remove, inline into rb_thread_inspect
+ (rb_thread_inspect): reduce branching and string creation
+ * thread_pthread.c (native_set_thread_name): create string directly
+ to avoid reparsing. [Misc #10723]
- * ext/openssl/sample/*: removed. move to sample/openssl/*.
+Wed Jan 28 21:32:24 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Sep 4 18:02:15 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * thread.c: Improve documentation for Thread#value
+ [Bug #10694][ruby-core:67324][ci skip]
- * test/csv/test_csv.rb: use remove_const to reduce warnings. use
- Dir.tmpdir to locate working files.
+Tue Jan 27 16:04:19 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Thu Sep 4 17:41:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * tool/redmine-backporter.rb: added `!` command.
- * misc/ruby-mode.el (ruby-here-doc-beg-re): underscore also is
- valid delimiter.
+Tue Jan 27 15:58:23 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * misc/ruby-mode.el (ruby-here-doc-end-match): must quote
- arbitrary string to use as regexp.
+ * tool/redmine-backporter.rb: added history feature for platforms which
+ lack readline.
- * 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.
+Mon Jan 26 22:09:35 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Sep 4 15:40:07 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * .gitignore: ignored temporary file with git.
- * test/csv/test_csv.rb: run on test/unit original layer.
+Mon Jan 26 18:06:03 2015 Akinori MUSHA <knu@iDaemons.org>
-Thu Sep 4 12:54:50 2003 why the lucky stiff <why@ruby-lang.org>
+ * misc/ruby-electric.el: Import version 2.2.2 from
+ https://github.com/knu/ruby-electric.el.
- * ext/syck/token.c: headerless documents with root-level spacing now
- honored.
+Mon Jan 26 11:37:49 2015 Dave Stevens <dave@crowdlab.com>
-Thu Sep 4 00:06:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * string.c (str_make_independent_expand): terminate String when
+ moved from heap to embedded. [Fix GH-821].
- * eval.c (mark_frame_adj): need to adjust argv pointer if using
- system's alloca. [ruby-core:01503]
+Sun Jan 25 12:04:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Sep 3 21:33:20 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+ * array.c (flatten): no need to call to_ary method on elements
+ beyond the given level. [ruby-core:67637] [Bug #10748]
- * test: add test directory. Test::Unit aware testcases and needed
- files should be located in this directory. dir/file name convention;
- test/{module_name}/test_{testcase_name}.rb
- test/{module_name}/{needed_files}
- someday, someone will write testrunner which searches test_*.rb and
- run testcases automatically.
+Sun Jan 25 00:42:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * test/csv/*: add testcase for lib/csv.rb.
+ * 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]
-Wed Sep 3 01:37:09 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Jan 24 19:56:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * io.c (rb_f_gets): should call next_argv() before type check
- current_file. [ruby-list:38336]
+ * dln_find.c (dln_find_1): search regular files only. based on
+ the patch by Alex Coomans in [ruby-core:67766]. [Bug #10776]
-Tue Sep 2 20:37:15 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Fri Jan 23 23:57:05 2015 Misumi Rize <r@ayase-e.li>
- * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): warning
- for skipping server verification.
+ * 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]
-Tue Sep 2 23:36:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jan 23 20:00:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (proc_invoke): should retrieve retval when pcall is true.
+ * marshal.c (w_object, marshal_dump): use identity tables for
+ arbitrary VALUE keys, because of performance of FLONUM.
+ [Bug #10761]
-Tue Sep 2 14:09:20 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * marshal.c (obj_alloc_by_klass, marshal_load): ditto.
- * ext/socket/extconf.rb: check s6_addr8 in in6_addr (Tru64 UNIX).
- the patch is submitted by nmu <nmu@users.sourceforge.jp>.
+Fri Jan 23 17:12:33 2015 Eric Wong <e@80x24.org>
- * ext/socket/getaddrinfo.c (getaddrinfo): should use in6_addr8 on
- some platforms.
+ * benchmark/bm_marshal_dump_flo.rb: new benchmark for [Bug #10761]
- * ext/socket/getnameinfo.c (getnameinfo): ditto.
+Thu Jan 22 18:03:19 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Sep 2 14:02:19 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+ * tool/redmine-backporter.rb (find_svn_log): use double quotes instead
+ of single quotes because cmd.exe doesn't handle them.
- * ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception
+ * tool/redmine-backporter.rb (done): the 2nd element of matched data
+ is the offset of the end of matched string, not length.
- * ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb} :
- bug fix and improvement of font control
+Thu Jan 22 16:45:24 2015 Eric Wong <e@80x24.org>
-Tue Sep 2 09:51:36 2003 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]
- * eval.c (rb_eval): should not handle exceptions within rescue
- argument. [ruby-talk:80804]
+Wed Jan 21 22:33:51 2015 Akinori MUSHA <knu@iDaemons.org>
-Tue Sep 2 00:44:37 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * misc/ruby-electric.el: Import version 2.2.1 from
+ https://github.com/knu/ruby-electric.el. Improve compatibility
+ with and optimize for Emacs 24.4.
- * re.c (rb_memsearch): fix overrun. [ruby-talk:80759]
+Wed Jan 21 09:40:52 2015 Zachary Scott <e@zzak.io>
-Tue Sep 2 00:41:27 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * file.c: Document other cases of missing birthtime on OS with patch
+ provided by @sho-h similar to GH-817. [ci skip] [DOC]
- * ext/iconv/iconv.c (map_charset): use lower case keys.
+Wed Jan 21 09:09:19 2015 Tanaka Akira <akr@fsij.org>
- * ext/iconv/iconv.c (iconv_fail): just yield error and return the
- result if a block is given.
+ * NEWS: References to tickets added.
+ [ruby-core:67701] [Bug #10760] Suggested by Zachary Scott.
- * ext/iconv/iconv.c (iconv_convert): yield error and append the
- result if a block is given.
+Tue Jan 20 22:59:54 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/iconv/charset_alias.rb (charset_alias): optional third
- argument.
+ * tool/vcs.rb: fix the exception given remote-url of svn.
- * ext/iconv/charset_alias.rb (charset_alias): use CP932 instead of
- SHIFT_JIS on cygwin.
+Tue Jan 20 12:58:33 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Sep 1 18:34:25 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * tool/redmine-backporter.rb: now can change the page of `ls`.
- * eval.c (rb_eval): make tail recursion in ELSE clause of
- RESCUE a jump.
+Tue Jan 20 12:28:37 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Mon Sep 1 18:00:02 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * tool/redmine-backporter.rb (readline): fallback to normal gets on
+ Windows because IO.console.getch is not always do as expected.
- * parse.y (aref_args): forgot to call NEW_SPLAT(). reported by
- Dave Butcher.
+Tue Jan 20 11:31:07 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c (Init_Thread): protect thgroup_default. suggested by Guy
- Decoux in [ruby-talk:80623]
+ * tool/redmine-backporter.rb: update usage.
-Mon Sep 1 16:59:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 20 11:23:47 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * eval.c (rb_thread_switch): add RESTORE_EXIT; exit by another
- thread termination.
+ * tool/redmine-backporter.rb (mygets): to support Backspace
+ implement gets by itself.
- * 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]
+Tue Jan 20 02:54:11 2015 Zachary Scott <e@zzak.io>
-Sun Aug 31 22:46:55 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * file.c: NotImplementedError is raised if birthtime is unavailable.
+ Patch by @y-yagi san and [Fixes GH-817] [ci skip] [DOC]
- * eval.c (TAG_DST()): take no argument.
+ * ext/pathname/pathname.c: ditto.
- * process.c (p_gid_sw_ensure): return VALUE.
+Mon Jan 19 22:08:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Aug 31 22:27:10 2003 Hidetoshi NAGAI <nagai@dumbo.ai.kyutech.ac.jp>
+ * class.c (include_modules_at): allow to prepend each module up to
+ once for each classe. [EXPERIMENTAL]
- * process.c (p_gid_sw_ensure): lack of function type
+Sun Jan 18 18:32:20 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Sun Aug 31 12:25:06 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+ * math.c (math_atan2): revive documentation before r49220.
+ http://d.hatena.ne.jp/nagachika/20150112/ruby_trunk_changes_49213_49226
- * lib/optparse.rb: --version takes an optional argument; "all" or
- a list of package names.
+Sun Jan 18 15:57:32 2015 Seiei Higa <hanachin@gmail.com>
-Sun Aug 31 10:17:02 2003 Tadayoshi Funaba <tadf@dotrb.org>
+ * 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]
- * lib/date/format.rb: yyyy/mm is not an acceptable format.
+Sun Jan 18 15:50:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/time.rb: follow above.
+ * 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]
-Sat Aug 30 14:25:43 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sun Jan 18 12:56:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_iter_break): should not call TAG_JUMP directly.
+ * Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make
+ and use newline.c under enc/trans directory, not toplevel. no
+ longer search enc directory implicitly.
-Sat Aug 30 03:58:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES):
+ prefix respective directory names to builtin encodings and
+ transcoder source names.
- * eval.c (struct BLOCK): remove BLOCKTAG, use scope instead.
+Sun Jan 18 11:49:46 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp>
- * eval.c (POP_TAG): no longer propagate retval. retval is now set
- directly by localjump_destination().
+ * ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD
+ variable is passed by reference. [ruby-dev:48803] [Bug #10697]
- * eval.c (localjump_destination): new function to cast
- return/break local jump.
+Sat Jan 17 23:59:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_yield_0): stop TAG_RETURN/TAG_BREAK escaping.
+ * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):
+ anchors like `\Z` are not valid inside character class. use
+ negative-lookahead instead.
+ Fixes: https://github.com/tenderlove/psych/issues/221
-Fri Aug 29 22:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+Sat Jan 17 23:42:27 2015 Nobuyoshi Nakada <nobu@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.
+ * 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]
-Fri Aug 29 17:30:15 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
+Fri Jan 16 18:42:58 2015 NARUSE, Yui <naruse@ruby-lang.org>
- * process.c: bug fix
+ * tool/redmine-backporter.rb: support adding related revisions
+ to issues.
- * process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys}
+Fri Jan 16 17:20:33 2015 Koichi Sasada <ko1@atdot.net>
- * process.c: deny handling IDs during evaluating the block given to
- the Process::{UID,GID}.switch method
+ vm.c, vm_core.h: constify VM_CF_LEP, VM_CF_PREV_EP, VM_CF_BLOCK_PTR
+ and rb_vm_control_frame_block_ptr.
- * ext/tcltklib/tcltklib.c : some methods have no effect if on slave-IP
+Fri Jan 16 15:41:21 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/tcltklib/tcltklib.c : can create a interpreter without Tk
+ * ext/psych/lib/psych.rb: bump version
- * ext/tcltklib/tcltklib.c : bug fix on handling exceptions
+ * ext/psych/psych.gemspec: ditto
- * ext/tcltklib/MANUAL.euc : modify
+Fri Jan 16 15:37:49 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/tk/lib/tk.rb : freeze some core modules
+ * ext/psych/lib/psych/visitors/yaml_tree.rb: only dump hash
+ subclasses. Thanks Joe Eli McIlvain <joe.eli.mac@gmail.com>
- * ext/tk/lib/multi-tk.rb : more secure
+ * test/psych/test_hash.rb: test for change
- * ext/tk/lib/tk.rb: TkVariable.new(array) --> treat the array as the
- Tk's list
+Fri Jan 16 15:35:21 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/tk/lib/tk.rb: improve accessibility of TkVariable object
+ * ext/psych/lib/psych.rb: bump version
- * 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
+ * ext/psych/lib/psych/visitors/yaml_tree.rb: fix line width wrapping
+ for long strings. Thanks Jakub Jirutka <jakub@jirutka.cz>
- * ext/tk/lib/tkfont.rb TkFont.new() accepts compound fonts
+ * test/psych/test_string.rb: test for change
-Thu Aug 28 22:07:12 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jan 16 11:44:44 2015 Kazuki Tsujimoto <kazuki@callcc.net>
- * variable.c (rb_autoload_load): call const_missing if autoloading
- constant is not defined to allow hook.
+ * 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]
- * eval.c (rb_eval): use rb_const_get_from() instead of
- rb_const_get_at().
+ * test/ruby/test_settracefunc.rb: add a test.
- * eval.c (is_defined): forgot to check NODE_COLON3.
+Thu Jan 15 23:55:15 2015 Tanaka Akira <akr@fsij.org>
-Thu Aug 28 17:30:24 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * io.c (rb_io_close_m): Don't raise when the IO object is closed.
+ [ruby-core:67444] [Feature #10718]
- * variable.c (rb_const_get_0): should check constants defined in
- included modules, if klass is Object. [ruby-talk:79302]
+Thu Jan 15 21:34:57 2015 Seiei Higa <hanachin@gmail.com>
- * 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]
+ * proc.c (rb_obj_singleton_method): Kernel#singleton_method should
+ not use refinements, as well as Kernel#method.
+ [ruby-core:67603] [Bug #10744]
-Thu Aug 28 05:02:52 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Thu Jan 15 10:45:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y (singleton): typo fixed (ruby-bugs-ja:PR#562)
+ * array.c (rb_ary_select_bang, ary_reject_bang): linear
+ performance. [ruby-core:67418] [Feature #10714]
-Thu Aug 28 02:37:45 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Wed Jan 14 18:06:06 2015 Martin Duerst <duerst@it.aoyama.ac.jp>
- * eval.c (rb_eval): *a = [1,2] now assigns [[1,2]] to a.
- consistent with *a = [1], which set [[1]] to a.
+ * lib/uri/mailto.rb: raising URI::InvalidComponentError instead
+ of failing with undefined method `split' for nil:NilClass for
+ mailto: URIs without opaque part. [Bug #10738]
+ * test/uri/testuri.rb: Test for above
- * node.h: merge NODE_RESTARY to NODE_SPLAT.
+Wed Jan 14 16:45:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * parse.y: rules simplified a bit by removing NODE_RESTARY.
+ * tool/downloader.rb (RubyGems.download): verify downloaded gem
+ packages. LowSecurity to allow untrusted certificates now.
- * sample/test.rb: updated for new assignment behavior.
+Wed Jan 14 15:43:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 27 22:33:24 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * error.c (rb_bug): should not use other methods; this function is
- not for ordinary use. [ruby-dev:21259]
+Tue Jan 13 21:59:24 2015 Michal Papis <mpapis@gmail.com>
-Wed Aug 27 15:07:57 2003 Minero Aoki <aamine@loveruby.net>
+ * tool/rbinstall.rb (gem): fix changing permissions of installed
+ bundled gems. [Fix GH-812]
- * lib/net/smtp.rb (check_response): AUTH CRAM-MD5 returns 334
- response. [ruby-list:38279]
+Tue Jan 13 21:57:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 27 05:10:15 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * common.mk (distclean-local): remove autom4te.cache generated by
+ autoconf.
- * win32/win32.c (map_errno): support winsock error.
+ * common.mk (realclean-local): remove id sources and dummy header
+ for dtrace. [ruby-core:67562] [Bug #10737]
- * 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().
+Tue Jan 13 21:08:22 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * 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().
+ * ext/json, test/json: merge JSON HEAD(259dee6)
+ separate implementation of Typed_Data macro.
+ https://github.com/flori/json/compare/v1.8.1...v1.8.2
- * win32/win32.h: add winsock errors.
+Tue Jan 13 14:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 26 23:53:23 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * test/net/http/test_http.rb: get rid of accessing DNS actually
+ for some servers returning wrong results.
+ [ruby-core:67454] [Bug #10721]
- * lib/ostruct.rb (OpenStruct::method_missing): prohibit modifying
- frozen OpenStruct. [ruby-talk:80214]
+Mon Jan 12 23:21:57 2015 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Aug 26 20:03:50 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gems/bundled_gems: update test-unit to 3.0.9.
- * lib/mkmf.rb (create_tmpsrc): add the hook for source.
- [ruby-list:38122]
+Mon Jan 12 18:35:44 2015 Eric Wong <e@80x24.org>
-Tue Aug 26 15:59:53 2003 why the lucky stiff <why@ruby-lang.org>
+ * 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
- * implicit.c (syck_type_id_to_taguri): corrected detection of
- x-private types.
+Mon Jan 12 18:01:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sun Aug 24 01:02:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/rdoc/text.rb (expand_tabs): get rid of infinite loop with
+ CR. should check if substitution occurred too.
+ [ruby-dev:48813] [Bug #10732]
- * file.c (file_expand_path): performance improvement.
- [ruby-talk:79748]
+Mon Jan 12 16:45:46 2015 Seiei Higa <hanachin@gmail.com>
-Sat Aug 23 23:41:16 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * 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]
- * file.c (rb_file_s_expand_path): avoid calling rb_scan_args() for
- apparent cases. [ruby-talk:79748]
+Mon Jan 12 13:53:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Sat Aug 23 18:56:53 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * math.c (math_atan2): improve documentation.
+ [Feature #10323][ruby-core:65400][ci skip]
- * 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]
+Mon Jan 12 13:50:49 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Sat Aug 23 16:48:41 2003 Keiju Ishitsuka <keiju@ishitsuka.com>
+ * ext/bigdecimal/bigdecimal.c: fixes documentation like labeled lists,
+ code examples etc. [ruby-core:66730][Bug #10576][ci skip]
- * lib/irb/ruby-lex.rb: bug fix for "foo" !~ /bar/. [ruby-talk:79942]
+Mon Jan 12 13:36:44 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Sat Aug 23 15:59:58 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/optparse.rb: improvements for OptionParser documentation.
+ [misc #10608][ruby-core:66901][ci skip]
- * eval.c (rb_eval, rb_iterate, block_pass): reduce PUSH/POP_TAG and
- EXEC_TAG() for retry. [ruby-dev:21216]
+Mon Jan 12 13:33:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Sat Aug 23 02:32:33 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * array.c (rb_ary_each): documented return value.
+ [misc #10469][ruby-core:66063]
- * eval.c (rb_yield_splat): should check if "values" is array.
+Sun Jan 11 15:11:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * enum.c (each_with_index_i): typo.
+ * test/webrick/test_utils.rb (test_create_listeners): use
+ dynamically chosen port number, not hardcoded port number.
+ [ruby-core:67508]
-Fri Aug 22 17:07:05 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Jan 10 12:57:12 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * enum.c (inject_i): use rb_yield_values.
+ * ext/zlib/zlib.c: fix document of method signatures.
+ [Bug #10668][ruby-core:67186][ci skip]
- * enum.c (each_with_index_i): ditto.
+Sat Jan 10 12:32:44 2015 NAKAMURA Usaku <usa@ruby-lang.org>
- * eval.c (rb_yield_splat): new function to call "yield *values".
+ * 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]
- * string.c (rb_str_scan): use rb_yield_splat().
+Sat Jan 10 10:58:55 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Fri Aug 22 06:13:22 2003 why the lucky stiff <why@ruby-lang.org>
+ * complex.c: removed commented-out code.
- * ext/syck/rubyext.c: refactoring of the transfer method
- dispatch. added yaml_org_handler for faster dispatch of
- transfers to base types.
+Sat Jan 10 10:57:19 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/yaml/rubytypes.rb: removed handling of builtins from
- Ruby library.
+ * rational.c: removed commented-out code.
+ [Feature #10376][ruby-core:65643]
- * ext/syck/token.c: quoted and block scalars are now implicit !str
+Sat Jan 10 10:12:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/syck/implicit.c: empty string detected as !null.
+ * array.c (rb_ary_select_bang): keep the array consistent by
+ removing unselected values soon. [ruby-dev:48805] [Bug #10722]
-Fri Aug 22 01:00:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Fri Jan 9 23:20:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * eval.c (block_pass): improve passing current block.
+ * lib/rubygems: Update to RubyGems HEAD(e53c54a).
+ * test/rubygems: ditto.
-Fri Aug 22 00:13:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+Fri Jan 9 11:13:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication
- fixed, and VpNmlz() speed up.
+ * parse.y (assocs, assoc): eliminate splatting empty literal
+ hashes. [ruby-core:67446] [Bug #10719]
-Wed Aug 20 16:44:49 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * compile.c (compile_array_): support splatted hash in hash type.
- * ext/socket/socket.c (ruby_connect): many systems seem to have
- a problem in select() after EINPROGRESS. [ruby-list:38080]
+Fri Jan 9 10:57:09 2015 Vit Ondruch <vondruch@redhat.com>
-Wed Aug 20 01:31:17 2003 why the lucky stiff <why@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]
- * ext/syck/syck.h: Parser definition problems on HP-UX.
- [ruby-talk:79389]
+Fri Jan 9 07:23:32 2015 Aaron Patterson <aaron@tenderlovemaking.com>
- * ext/syck/handler.c (syck_hdlr_get_anchor): Memory leak.
+ * ext/psych/lib/psych/visitors/yaml_tree.rb: correctly quote non-ascii
+ letters. Thanks @jirutka for the patch.
- * ext/syck/syck.s (syck_io_file_read): Bad arguments to fread.
+ * test/psych/test_string.rb: test for change
- * ext/syck/rubyext.c: Tainting issues.
+Fri Jan 9 07:13:55 2015 Aaron Patterson <aaron@tenderlovemaking.com>
-Tue Aug 19 23:20:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+ * ext/psych/lib/psych/visitors/to_ruby.rb: call `allocate` on hash
+ subclasses. Fixes github.com/tenderlove/psych/issues/196
- * ext/bigdecimal/bigdecimal.c .h .html: to_s("+") implemented.
+ * test/psych/test_hash.rb: test for change
- * ext/bigdecimal/lib/bigdecimal/math.rb: E implemented.
+Fri Jan 9 06:58:43 2015 Aaron Patterson <aaron@tenderlovemaking.com>
-Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+ * ext/psych/lib/psych/visitors/to_ruby.rb: revive hashes with ivars
- * lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.
+ * ext/psych/lib/psych/visitors/yaml_tree.rb: dump hashes with ivars.
+ Fixes github.com/psych/issues/43
- * lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb.
+ * test/psych/test_hash.rb: test for change
- * lib/webrick/compat.rb (File::fnmatch): remove old migration code.
+Thu Jan 8 17:05:00 2015 Seiei Higa <hanachin@gmail.com>
- * lib/webrick/httpserver.rb (HTTPServer#run): ditto.
+ * vm_method.c (rb_method_entry): if no super class, no original
+ method entry. [ruby-core:67389] [Bug #10707]
- * lib/webrick/server.rb (GenericServer#listen): the body of this
- method is pull out as Utils::create_lisnteners.
+Thu Jan 8 16:31:43 2015 Seiei Higa <hanachin@gmail.com>
- * lib/webrick/utils.rb (Utils::create_lisnteners): new method.
+ * vm_method.c (rb_export_method): bail out if the original method
+ is undefined when the method is refined.
+ [ruby-core:67387] [Bug #10706]
- * lib/webrick/server.rb (GenericServer#start): should rescue
- unknown errors. and refine comments.
+Thu Jan 8 12:53:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close
- socket if SSLSocket raises error.
+ * dir.c (glob_helper): match in case-folding only if the directory
+ resides on a case-insensitive file system, on OSX.
+ [ruby-core:67364] [Bug #10700]
-Tue Aug 19 11:19:33 2003 Shugo Maeda <shugo@ruby-lang.org>
+Thu Jan 8 11:39:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * io.c (next_argv): should not call GetOpenFile() if rb_stdout is
- not a IO (T_FILE).
+ * .travis.yml: Remove redundant configuration option.
+ [fix GH-809] Patch by @gxworld
-Tue Aug 19 07:47:09 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Thu Jan 8 07:17:14 2015 Eric Wong <e@80x24.org>
- * ext/openssl/ossl_ssl.c: sync_close is moved to SSLSocket as
- a builtin.
+ * lib/resolv.rb: consider ENETUNREACH as ResolvTimeout
+ [ruby-core:67411] [Bug #10712]
- * ext/openssl/lib/openssl/buffering.rb (Buffering#close): ditto.
+Thu Jan 8 00:13:52 2015 Tanaka Akira <akr@fsij.org>
- * ext/openssl/lib/openssl/buffering.rb (Buffering#puts): should
- add a return to the tails of each line.
+ * lib/open3.rb: Open3 properly passes non-keyword hash args to spawn.
+ Fixed by Josh Cheek. [Fix GH-808]
+ Related to [ruby-core:67347] [Bug #10699]
- * ext/openssl/lib/openssl/ssl.rb: new class OpenSSL::SSL::SSLServer.
+Wed Jan 7 19:19:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): use sync_close.
+ * dir.c (dir_initialize): workaround of opendir failure at symlink
+ directories on Windows via CIFS.
- * ext/openssl/sample/echo_svr.rb: use SSLServer.
+Wed Jan 7 18:52:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/sample/echo_cli.rb: add example of SSLSocket#sync_close.
+ * dir.c (need_normalization): not only HFS+, CIFS (SMB) is also
+ decomposed. [Bug #10704]
-Tue Aug 19 01:24:34 2003 Nobuyoshi Nakada <nobu@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.
- * ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard
- headers are inconsistent at this macro. [ruby-core:01432]
+Tue Jan 6 21:41:04 2015 Tanaka Akira <akr@fsij.org>
- * ext/curses/extconf.rb: check if _XOPEN_SOURCE_EXTENDED breaks.
+ * 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/tcltklib/stubs.c: Status macro in X11/Xthreads.h bothers
- winspool.h
+Tue Jan 6 03:10:54 2015 Koichi Sasada <ko1@atdot.net>
- * instruby.rb: make list at first instead of iterator.
- [ruby-talk:79347]
+ * test/fiddle/test_handle.rb: fix syntax.
-Mon Aug 18 11:23:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Jan 6 00:16:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * dir.c (glob_helper): preserve raw order for **.
+ * test/fiddle/test_handle.rb (test_NEXT): use -test-/dln/empty
+ which is always a shared object and is not used by others.
+ [ruby-dev:48629] [Bug #10384]
-Sun Aug 17 23:39:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jan 5 14:58:01 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.
+ * test/ruby/test_io.rb: added timeout for AIX environment.
+ [ruby-core:62983][Bug #9917]
-Sun Aug 17 17:10:03 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Sun Jan 4 22:33:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.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.
+ * test/lib/test/unit.rb (ExcludesOption): add "excludes" support
+ to test suite, for alternative implementations and platforms.
+ [Feature #10682]
- * ext/openssl/lib/openssl/buffering.rb: add forwarders to
- setsockopt, getsockopt and fcntl.
+Sun Jan 4 22:32:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/openssl/lib/net/protocols.rb: enable sync for SSLSocket.
+ * test/lib/test/unit.rb (Test::Unit): reorder modules and merge
+ each modules.
-Sun Aug 17 11:32:04 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * test/lib/test/unit.rb (Test::Unit): split the large class into
+ each modules.
- * ext/extmk.rb (extmake): should not force to remake Makefile when
- installation and so on.
+Sun Jan 4 21:32:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 16 23:58:18 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * parse.y (f_label): return tLABEL value as it is.
+ [ruby-core:67315] [Bug #10693]
- * marshal.c (w_symbol, w_object): get rid of warnings.
+Sun Jan 4 14:02:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * re.c (rb_memsearch): ditto.
+ * test/lib/test/unit/parallel.rb (run): expand the file name to be
+ loaded, so that relative paths work in parallel mode.
- * time.c (time_dump): ditto.
+Sun Jan 4 13:36:56 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
- * ext/extmk.rb (extmake): not continue making when extconf.rb
- failed.
+ * test/test_tempfile.rb: use assert_file for more descriptive message.
+ following r49131.
- * ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.
+Sun Jan 4 13:05:09 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
- * ext/openssl/ossl.h: remove version.h dependency.
+ * string.c: improve docs for String#<=>. [ruby-core:65399][Feature #10322]
+ Patch by gogo tanaka.
- * ext/openssl/ruby_missing.h: ditto.
+Sun Jan 4 12:42:24 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
- * lib/mkmf.rb (pkg_config): use --libs output except with
- only-L for other options. [ruby-list:38099]
+ * array.c: improve docs for Array#reject. [ruby-core:65324][misc #10307]
+ Patched by Nebu Pookins.
- * lib/mkmf.rb (create_makefile): separate rule for static
- library from shared object.
+Sun Jan 4 12:24:11 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
- * win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:
- define exec_prefix and libdir.
+ * string.c: improve docs for String#strip and variations.
+ [ruby-core:66081][Bug #10476]
-Fri Aug 15 23:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+Sun Jan 4 09:21:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/bigdecimal/bigdecimal.c .h: Bug in combination of limit & div
- method fixed.
+ * lib/drb/drb.rb: removed unused argument. Patch by @vipulnsward
+ [fix GH-515]
- * ext/bigdecimal/lib/bigdecimal/math.rb: atan() & sqrt() added.
+Sun Jan 4 09:18:31 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * lib/tempfile.rb: provide default basename parameter.
+ [fix GH-523] Patch by @dissolved
+ * test/test_tempfile.rb: ditto.
- * 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
+Sun Jan 4 00:43:41 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
- * error.c (syserr_eqq): errno might exceed Fixnum limit.
+ * README.ja.md: add guidance of mailing list and bugs.r-l.o.
- * error.c (Init_Exception): moved base initialization from
- init_syserr().
+Sat Jan 3 23:56:28 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
- * inits.c (rb_call_inits): postpone initializing errnos until
- Bignum is available.
+ * hash.c: fix docs for Hash#invert. [ruby-core:66917] [Bug #10612]
-Fri Aug 15 12:01:43 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sat Jan 3 19:52:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let
- keyname() and so on be declared.
+ * include/ruby/intern.h (rb_str_new_literal): define on all
+ platforms, not only gcc.
- * ext/curses/curses.c (curses_resizeterm, window_resize):
- arguments conflicted with macros in term.h.
+Sat Jan 3 18:53:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/curses/curses.c (Curses module methods): ensure
- initialized. [ruby-dev:21191]
+ * ext/fiddle/lib/fiddle/cparser.rb (parse_ctype): limit split word
+ number as the rest are not used.
-Fri Aug 15 02:08:53 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Sat Jan 3 18:19:50 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * gc.c (id2ref): recycle check should be done by klass == 0.
- [ruby-core:01408]
+ * ext/fiddle/lib/fiddle/cparser.rb: r49110 broke Fiddle::Import with
+ type_alias.
+ * test/fiddle/test_cparser.rb: added type_alias test for parse_ctype
+ and parse_struct_signature.
-Fri Aug 15 01:34:23 2003 Michal Rokos <m.rokos@sh.cvut.cz>
+Sat Jan 3 11:50:16 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/openssl/ossl_pkey.c: move generate_cb here
+ * ext/openssl/ossl.h: avoid to build failure of Windows environment.
+ * ext/openssl/ossl_ssl_session.c: ditto.
- * ext/openssl/ossl_pkey_{dh|dsa|rsa}.c: adapt to this cb
+Sat Jan 3 11:27:46 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/openssl/openssl_missing.[ch]: add (0.9.6x, x<j) missing BN funcs
+ * array.c: Improve performance of Array#shift. use shared instead of
+ MEMMOVE if with arguments. Patch by @ksss [fix GH-537]
+ * test/ruby/test_array.rb: ditto.
+ * benchmark/bm_array_shift.rb: Added benchmark of GH-537 issue.
- * ext/openssl/ossl_bn.c: use supplied funcs from openssl_missing.c
+Sat Jan 3 10:38:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Fri Aug 15 00:38:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+ * lib/net/http.rb: More descriptive error message when net/http fails
+ to connect to a server. Patch by @xaviershay [fix GH-700]
+ * test/net/http/test_http.rb: ditto.
- * ext/bigdecimal/bigdecimal.c: Bug in div method fixed.
+Sat Jan 3 10:14:51 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/bigdecimal/lib/bigdecimal/math.rb: Newly added.
+ * ext/openssl/ossl.h: Make `SSL_SESSION_cmp` use `CRYPTO_memcmp`
+ [fix GH-591] Patch by @PiPeep
+ * ext/openssl/ossl_ssl_session.c: ditto.
- * ext/bigdecimal/sample/pi.rb: Changed so as to use math.rb.
+Sat Jan 3 09:54:32 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Aug 14 21:19:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/fiddle/lib/fiddle/cparser.rb: Support for Fiddle::CParser
+ to handle rich signatures including parameter names and function
+ pointer types. Patch by @theryan [fix GH-590]
+ * test/fiddle/test_cparser.rb: ditto.
- * eval.c (Init_Thread): Continuation#[] added. [ruby-talk:79028]
+Sat Jan 3 09:01:43 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Aug 14 20:03:34 2003 Masaki Suketa <masaki.suketa@nifty.ne.jp>
+ * NEWS: added compatibility entry of r49101.
- * ext/win32ole/win32ole.c (OLE_FREE): should not call
- ole_message_loop.
+Fri Jan 2 21:06:59 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/win32ole/win32ole.c (ole_event_free): ditto.
+ * lib/net/http.rb (Net::HTTP#send_request): there is no response body
+ with HEAD request. Patch by @rodrigosaito [fix GH-520]
- * ext/win32ole/win32ole.c (ole_initialize): stop calling
- OleUninitialize at exit.
+Fri Jan 2 21:04:36 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Thu Aug 14 11:27:37 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/net/http/test_http.rb (_test_send_request__HEAD): Added
+ failing test for send_request with HEAD method.
- * gc.c (rb_data_object_alloc): check type of 1st argument.
- [ruby-dev:21192]
+Fri Jan 2 18:41:20 2015 Tanaka Akira <akr@fsij.org>
-Thu Aug 14 00:21:14 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * eval.c (ruby_init): Print ruby_setup() error only in debug mode.
+ Unsuppressable error message is not a good idea.
+ Note that the message is printed sometimes with following
+ code (highly timing dependent, though):
+ pid = spawn("ruby -e ''"); Process.kill(:TERM, pid)
- * parse.y (mlhs_node): should allow "::Foo" (colon3) as lhs.
+Fri Jan 2 16:18:44 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * parse.y (lhs): ditto.
+ * test/ruby/test_module.rb: Refactor invalid testcase.
+ [fix GH-472][ruby-core:59035][Bug #9240]
- * parse.y (yylex): should return tCOLON3 right after kCLASS.
- [ruby-talk:78918]
+Fri Jan 2 15:53:00 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * error.c (exc_initialize): was converting argument to string too
- eagerly. Only check was needed. [ruby-talk:78958]
+ * lib/webrick/utils.rb: removed unused argument variable.
+ [fix GH-356] Patch by @vipulnsward
+ * lib/webrick/server.rb: ditto.
+ * lib/webrick/ssl.rb: ditto.
+ * test/webrick/test_utils.rb: added test for WEBrick::Utils#create_listeners.
-Wed Aug 13 23:31:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+Fri Jan 2 15:35:53 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/bigdecimal/bigdecimal.c .h .html: Ambiguity of
- BigDecimal::limit removed.
+ * lib/securerandom.rb: improve syntax and grammar of documentation.
+ [fix GH-796][ci skip] Patch by @Erol
-Wed Aug 13 19:21:34 2003 Christian Neukirchen <chneukirchen@yahoo.de>
+Fri Jan 2 15:10:01 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/webrick/https.rb (HTTPServer#run): should set syncing-mode
- to SSLSocket. [ruby-talk:78919]
+ * 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]
-Wed Aug 13 18:13:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Jan 2 09:08:31 2015 Tanaka Akira <akr@fsij.org>
- * eval.c (POP_BLOCK): turn on BLOCK_LEFT flag when leaving block.
+ * lib/resolv.rb (Resolv::DNS::Label::Str#==): Check class equality.
+ (Resolv::DNS::Name#initialize): Normalize labels as
+ Resolv::DNS::Label::Str objects.
- * eval.c (proc_invoke): unpack return/break destination when block
- is already left.
+Thu Jan 1 21:41:49 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Wed Aug 13 15:58:31 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * doc/regexp.rdoc: fix regexp docs for whitespace character.
+ [ruby-dev:48765] [Bug #10624]
- * object.c (rb_class_s_alloc): add function prototype to avoid VC++
- warning.
+Thu Jan 1 17:50:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Wed Aug 13 13:50:59 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+ * test/ruby/test_rubyoptions.rb: try locale encoding name.
+ [ruby-core:67109] [Bug #10643]
- * ext/Win32API/Win32API.c (Win32API_initialize): should pass some
- class to first argument of Data_Wrap_Struct(). (ruby-bugs:PR#1109)
+Thu Jan 1 11:07:12 2015 Eric Wong <e@80x24.org>
-Tue Aug 12 16:55:11 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * 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]
- * Makefile.in: static link libraries to LIBRUBY_SO with static linked
- ext. [ruby-dev:21157]
+Thu Jan 1 09:14:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/extmk.rb (extmake): sort extension library initialization order.
+ * vm_args.c (keyword_hash_p): fix non-symbol keys hash.
+ rb_extract_keywords() returns 0 not Qnil when no symbol keys is
+ included. [ruby-core:67264] [Bug #10685]
- * ext/extmk.rb (extmake): compact $extlibs.
+Wed Dec 31 17:48:43 2014 Tanaka Akira <akr@fsij.org>
-Tue Aug 12 02:48:56 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/resolv.rb (Resolv::DNS::Label::Str#initialize): Set encoding
+ ASCII-8BIT before downcase. case insensitivity of DNS labels doesn't
+ apply non-ASCII characters. [RFC 4343]
- * eval.c (THREAD_SAVE_CONTEXT): should explicitly turn off the
- flag before calling getcontext(2).
+Wed Dec 31 16:48:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (struct thread): add member to save backing store on
- IA64. (ruby-bugs PR1086)
+ * parse.y (gettable_gen): disable warnings of possible reference
+ to a local variable defined in a past scope.
+ [ruby-core:67162] [Bug #10661]
- * eval.c (thread_mark): mark IA64 backing store region.
+Wed Dec 31 13:43:48 2014 Tanaka Akira <akr@fsij.org>
- * eval.c (thread_free): free saved IA64 backing store.
+ * lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str
+ objects. Label#Str#== is case-insensitive.
- * eval.c (rb_thread_save_context): save IA64 backing store as well.
+Tue Dec 30 16:16:12 2014 Ben Miller <bmiller@rackspace.com>
- * eval.c (rb_thread_restore_context): restore IA64 backing store.
+ * lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the
+ comparison should be case-insensitive as well.
+ [ruby-core:66498] [Bug #10550]
- * eval.c (THREAD_ALLOC): initialize IA64 members.
+Tue Dec 30 16:03:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Aug 11 22:31:50 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
- * lib/debug.rb(debug_command): inspection command should inspect
- resulting value even if it's nil. [ruby-dev:21180] by OMAE, jun
- <jun66j5@ybb.ne.jp>.
+ * lib/resolv.rb (Resolv::DNS::Name): names with different dots
+ should be different.
- * lib/debug.rb(debug_command): incomplete regexp.
+Tue Dec 30 13:16:56 2014 Martin Duerst <bernhard+git@lsmod.de>
-Mon Aug 11 17:33:07 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * lib/uri/common.rb: Initialize HTML5ASCIIINCOMPAT to empty Array
+ to avoid error during bootstrap when encodings are not yet defined.
+ [Bug #10678]
- * eval.c (rb_call_super): do not use rb_block_given_p() for
- check. [ruby-talk:78656]
+Tue Dec 30 09:29:26 2014 Bernhard M. Wiedemann <bernhard+git@lsmod.de>
- * eval.c (BEGIN_CALLARGS): push ITER_NOT only when ITER_PRE.
+ * ext/dbm/dbm.c (Init_dbm): [DOC] as UNIX permissions are octal
+ numbers, needs to be prefixed by 0. [Fix GH-800]
-Sun Aug 10 10:43:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Tue Dec 30 08:57:39 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/openssl/lib/openssl/buffering.rb: increase BLOCK_SIZE
- from 1k to 16k bytes. [ruby-talk:78603]
+ * lib/unicode_normalize.rb: typo fix. [ci skip]
+ [ruby-dev:48794][misc #10675]
- * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable
- partial write to allow interruption in SSLSocket#write.
+Mon Dec 29 19:38:01 2014 Yukihiro Matsumoto <matz@ruby-lang.org>
-Sun Aug 10 00:34:16 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * version.h (RUBY_VERSION): 2.3.0 development has started.
- * cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)'
- for ccache.
+Mon Dec 29 18:58:46 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 9 10:36:21 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * re.c (unescape_nonascii): append escape sequence as-is not
+ unescaped character, to get rid of unexpected meta-character.
+ [ruby-core:67193] [Bug #10670]
- * marshal.c (w_object): do not dump generic instance variable when
- marshal_dump is defined.
+Mon Dec 29 14:27:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Sat Aug 9 00:35:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+ * doc/syntax/literals.rdoc (Symbols): now Symbols created by
+ interpolation can be garbage collected. patch by Yihang Ho in
+ [ruby-core:67194]. [Bug #10671]
- * 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.
+Mon Dec 29 11:18:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Fri Aug 8 12:33:17 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * 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]
- * bcc32/Makefile.sub: rubyw.exe should be a Windows GUI program.
- add the -aa option to WLDFLAGS.
+Mon Dec 29 10:37:27 2014 Thiago Lewin <thiago_lewin@yahoo.com.br>
-Fri Aug 8 11:29:26 2003 Koji Arai <jca02266@nifty.ne.jp>
+ * io.c (rb_f_select): [DOC] workaround for YARD doc. [Fix GH-799]
- * marshal.c (w_object): should set `c_arg' at first.
+ * process.c (proc_detach): [DOC] fix missing closing parenthesis.
+ [Fix GH-799]
-Fri Aug 8 03:22:28 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+Mon Dec 29 07:27:23 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/webrick/httputils.rb (FormData#list): should not take
- a side effect for the receiver.
+ * ext/json, test/json: merge JSON HEAD(17fe8e7)
+ https://github.com/flori/json/compare/v1.8.1...17fe8e7
-Thu Aug 7 14:40:37 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+Sun Dec 28 23:49:37 2014 Michal Papis <mpapis@gmail.com>
- * cygwin/GNUmakefile: better --disbale-shared option support.
+ * rbinstall.rb: fix target location for installing bundled gems.
+ install to the prepared directory instead of default Gem.dir,
+ not to be affected GEM_HOME environment variable. [Fix GH-798]
- * cygwin/GNUmakefile: add forwarding DLL target for cygwin.
+Sun Dec 28 18:19:28 2014 Eric Wong <e@80x24.org>
-Thu Aug 7 14:21:05 2003 Corinna Vinschen <vinschen@redhat.com>
+ * test/-ext-/iseq_load/test_iseq_load.rb
+ (test_next_in_block_in_block): test using ISeq#eval
+ (test_break_ensure): ditto
+ [ruby-core:66988]
- * configure.in: Fix Cygwin specific naming of libraries to
- be net distribution compliant. (ruby-bugs:PR#1077)
- cygwin-ruby18.dll -> cygruby18.dll
+Sun Dec 28 16:25:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 7 12:51:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * cygwin/GNUmakefile.in (EXTOBJS): override to add resource files
+ always. [ruby-core:67153] [Bug #10657]
- * eval.c (rb_f_at_exit): should not be called without a block.
- block_given check added.
+Sun Dec 28 13:54:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Thu Aug 7 06:46:06 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * 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]
- * eval.c (rb_call0): forgot to pop ruby_class.
+Sat Dec 27 20:12:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c (rb_call0): update ruby_class as well as ruby_cref.
- (ruby-bugs-ja:PR#540)
+ * ext/json/generator/generator.c (JSON_Generator_State_type): add
+ #ifdef for backward compatibility.
-Thu Aug 7 04:52:50 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/json/parser/parser.rl (JSON_Parser_type): ditto.
- * eval.c (rb_yield_0): remove ruby_frame->cbase and unify to
- ruby_cref. [ruby-talk:78141]
+ * ext/json/generator/generator.h (ZALLOC): add fallback definition.
-Thu Aug 7 04:19:15 2003 Akinori MUSHA <knu@iDaemons.org>
+ * ext/json/parser/parser.h (ZALLOC): ditto.
- * 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.
+Sat Dec 27 16:54:05 2014 Tanaka Akira <akr@fsij.org>
-Thu Aug 7 00:15:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org>
+ * process.c: Unused code removed.
+ It seems waitpid() is universally available on POSIX platforms.
- * ext/bigdecimal.c: Comparison results adjusted to Float's.
- * ext/bigdecimal.c: Use rb_num_coerce_????(x,y) instead of own.
+Sat Dec 27 15:08:27 2014 Eric Wong <e@80x24.org>
-Wed Aug 6 22:58:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
+ * vm_core.h (rb_vm_living_threads_insert): preserve order
+ [Bug #10660] [ruby-core:67154] [ruby-core:67159]
- * lib/test/unit/testcase.rb: Added equality checking.
- * lib/test/unit/testsuite.rb: Added equality checking.
- * lib/test/unit/assertions.rb: Fixed a warning.
+Sat Dec 27 13:08:20 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
-Wed Aug 6 17:28:10 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * ext/socket/socket.c: improved document for YARD doc.
+ [fix GH-795][ci skip] Patch by @tlewin
- * ext/extmk.rb (extmake): pass LIBPATH to make ruby. [ruby-dev:21137]
+Sat Dec 27 10:11:21 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * ext/extmk.rb (extmake): set library name as source file name in
- Init_ext(). [ruby-dev:21137]
+ * ext/tk/lib/tkextlib/tcllib/plotchart.rb: fix to invoke correct function
+ of tcllib. Patch by @zalt50 [fix GH-787]
- * lib/mkmf.rb (Logging::postpone): postpone logging messages after
- heading message as the result of the block.
+Sat Dec 27 10:03:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
- * lib/mkmf.rb (macro_defined?): append newline to src unless ended
- with it.
+ * tool/make-snapshot: show sha1 digest when making packages.
+ it's request from https://github.com/ruby/www.ruby-lang.org/issues/921
+ [fix GH-794]
- * lib/mkmf.rb (have_library): treat nil function name as "main".
- (ruby-bugs:PR#1083)
+Fri Dec 26 15:32:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * lib/mkmf.rb (pkg_config): should append additional libraries to
- $libs but not $LIBS. [ruby-dev:21137]
+ * ext/tk/tcltklib.c (ip_invoke_core): remove probably duplicate
+ dead code.
- * ext/io/wait/extconf.rb: check DOSISH macro instead of platform.
+Fri Dec 26 15:28:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/digest/sha1/extconf.rb: have_library already appends library
- name.
+ * ext/tk/tcltklib.c (ip_ruby_cmd_receiver_const_get): simply use
+ rb_path2class() to get a class/module from its name.
-Wed Aug 6 17:23:57 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+Fri Dec 26 15:20:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * eval.c: initialize /* OK */ variables by Qnil to stop warnings.
+ * marshal.c (w_long): append at once by w_nbyte() instead of
+ appending byte by byte.
-Wed Aug 6 04:58:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
+Fri Dec 26 15:13:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
- * ext/Setup*: add io/wait and openssl.
+ * ext/json/parser/parser.rl (unescape_unicode): check if valid
+ before bit-or assignments.
+ reported by Denis Denisov <denji0k AT gmail.com>.
-Wed Aug 6 01:13:38 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * ext/nkf/nkf-utf8/nkf.c (nkf_iconv_t): fix a missing semicolon.
+ reported by Denis Denisov <denji0k AT gmail.com>.
- * eval.c (rb_f_autoload): use ruby_cbase instead of ruby_class.
+ * process.c (rb_spawn_process): get rid of usage of uninitialized
+ variable.
+ reported by Denis Denisov <denji0k AT gmail.com>.
- * eval.c (rb_f_autoload_p): ditto.
+ * regexec.c (match_at): ditto.
- * class.c (rb_mod_init_copy): no longer implements independent
- clone and dup methods. override "initialize_copy" instead.
- [ruby-core:01352]
+ * ext/win32ole/win32ole.c (ole_wc2mb_alloc, ole_vstr2wc, ole_mb2wc):
+ ditto.
- * object.c (rb_class_s_alloc): define Class allocation function.
- this makes Classes to follow clone framework that uses
- initialize_copy.
+ * dir.c (ruby_glob0): no need to check never-NULL pointer.
+ reported by Denis Denisov <denji0k AT gmail.com>.
- * object.c (rb_class_initialize): separate instantiation and
- initialization.
+ * win32/file.c (rb_file_expand_path_internal): ditto.
- * object.c (rb_obj_alloc): prohibit instantiation from
- uninitialized class.
+ * win32/file.c (code_page_i): handle realloc failure.
+ reported by Denis Denisov <denji0k AT gmail.com>.
- * object.c (rb_class_superclass): check uninitialized class.
+ * win32/stub.c (stub_sysinit): ditto.
- * array.c (rb_ary_fill): wrong index processing with block. this
- fix was done by Koji Arai <JCA02266@nifty.ne.jp> [ruby-list:38029]
+ * fix printf format conversion specifiers.
+ reported by Denis Denisov <denji0k AT gmail.com>.
- * marshal.c (w_object): should preserve generic ivar for nil,
- true, false, symbols, and fixnums.
+Fri Dec 26 01:41:40 2014 NAKAMURA Usaku <usa@ruby-lang.org>
- * marshal.c (w_uclass): base_klass check should be done after
- rb_class_real().
+ * tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable.
+ [Bug #10647] [ruby-dev:48787]
-Wed Aug 6 01:18:50 2003 Minero Aoki <aamine@loveruby.net>
+Fri Dec 26 01:24:42 2014 NAKAMURA Usaku <usa@ruby-lang.org>
- * lib/net/http.rb: update document.
+ * tool/downloader.rb: support old versions of ruby.
- * lib/net/pop.rb: ditto.
+ * tool/downloader.rb: now can download gems by http if openssl is not
+ available (this may be danger!)
- * lib/net/protocol.rb: ditto.
+Fri Dec 26 00:13:48 2014 NAKAMURA Usaku <usa@ruby-lang.org>
-Wed Aug 6 00:48:37 2003 Koji Arai <jca02266@nifty.ne.jp>
+ * test/ruby/test_extlibs.rb: check existence of extension libraries
+ which not depend on outer libraries. (experimental)
- * marshal.c (w_object): should recommend marshal_dump rather than
- _dump_data.
+Thu Dec 25 21:58:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 5 17:58:57 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+ * ext/fiddle/extconf.rb: make PIC objects if it will be linked as
+ a shared object eventually. [ruby-core:67128]
- * lib/fileutils.rb (install): should preserve timestamp only.
+Thu Dec 25 19:01:13 2014 NAKAMURA Usaku <usa@ruby-lang.org>
-Tue Aug 5 17:31:59 2003 Ian Macdonald <ian@caliban.org>
+ * ext/fiddle/win32/libffi-3.2.1-mswin.patch: support mswin32.
- * lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir):
- simple typo.
+Thu Dec 25 17:30:40 2014 Naohisa Goto <ngotogenome@gmail.com>
-Tue Aug 5 15:47:34 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+ * gc.c (wmap_final_func): fix memory size shortage when realloc wmap.
+ Fix SEGV during finalize of WeakRef on Solaris (though the SEGV
+ could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646]
- * eval.c (rb_load): should preserve current source file/line.
+Thu Dec 25 17:27:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Tue Aug 5 10:04:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * configure.in (NET_LUID): include winsock2.h instead of windows.h.
+ patch by Jon Forums in [ruby-core:67125]. [Bug #10640]
- * string.c (str_new4): ptr may refer null_str.
+Thu Dec 25 16:14:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
-Mon Aug 4 17:25:18 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+ * 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.
- * stable version 1.8.0 released.
+ * test/lib/leakchecker.rb (LeakChecker#check_fd_leak): close if
+ console.
+For the changes before 2.2.0, see doc/ChangeLog-2.2.0
+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 5b6e7c66c2..d159169d10 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.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Library General Public License instead.) You can apply it to
+the GNU Lesser 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,10 +303,9 @@ 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
@@ -336,5 +335,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 Library General
+library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
diff --git a/KNOWNBUGS.rb b/KNOWNBUGS.rb
new file mode 100644
index 0000000000..35a8e75876
--- /dev/null
+++ b/KNOWNBUGS.rb
@@ -0,0 +1,7 @@
+#
+# IMPORTANT: Always keep the first 7 lines (comments),
+# even if this file is otherwise empty.
+#
+# This test file includes tests which point out known bugs.
+# So all tests will cause failure.
+#
diff --git a/LEGAL b/LEGAL
index 908eb270f5..2607f0082a 100644
--- a/LEGAL
+++ b/LEGAL
@@ -5,34 +5,90 @@ 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.
-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>
+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.
configure:
@@ -43,9 +99,8 @@ configure:
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-config.guess:
-config.sub:
-parse.c:
+tool/config.guess:
+tool/config.sub:
As long as you distribute these files with the file configure, they
are covered under the Ruby's license.
@@ -72,7 +127,58 @@ parse.c:
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,
@@ -83,6 +189,32 @@ 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.
@@ -92,11 +224,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
@@ -109,8 +241,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
@@ -130,72 +262,139 @@ random.c
http://www.math.keio.ac.jp/matumoto/emt.html
email: matumoto@math.keio.ac.jp
+vm_dump.c:procstat_vm
+
+ This file is under the new-style BSD license.
+
+ 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/strtod.c:
-
- 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) 1988-1993 The Regents of the University of California.
- Copyright (c) 1994 Sun Microsystems, Inc.
+missing/crypt.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.
+ This file is under the old-style BSD license. Note that the
+ paragraph 3 below is now null and void.
-missing/strtoul.c:
+ Copyright (c) 1989, 1993
+ The Regents of the University of California. All rights reserved.
- 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.
+ This code is derived from software contributed to Berkeley by
+ Tom Truscott.
- Copyright 1988 Regents of the University of California
+ 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.
- 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.
+ 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.
-missing/erf.c:
-missing/crypt.c:
-missing/vsnprintf.c:
+missing/setproctitle.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.
+ 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.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -221,10 +420,46 @@ missing/vsnprintf.c:
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.
+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.
ext/digest/md5/md5.[ch]:
@@ -264,18 +499,7 @@ 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.
@@ -313,7 +537,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.
@@ -364,7 +588,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
deleted file mode 100644
index b1e3f5a263..0000000000
--- a/LGPL
+++ /dev/null
@@ -1,504 +0,0 @@
- 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 8fd59babcd..ff475091ab 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,16 +1,35 @@
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@
#### Start of system configuration section. ####
srcdir = @srcdir@
-VPATH = $(srcdir):$(srcdir)/missing
+top_srcdir = $(srcdir)
+hdrdir = $(srcdir)/include
+PLATFORM_DIR = @PLATFORM_DIR@
CC = @CC@
-YACC = @YACC@
+CPP = @CPP@
+LD = @LD@
+YACC = bison
PURIFY =
AUTOCONF = autoconf
+CONFIGURE = @CONFIGURE@
@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@
@@ -23,37 +42,79 @@ datadir = @datadir@
arch = @arch@
sitearch = @sitearch@
sitedir = @sitedir@
+archlibdir = @archlibdir@
+ruby_version = @ruby_version@
TESTUI = console
TESTS =
-RDOCTARGET = @RDOCTARGET@
+INSTALLDOC = @INSTALLDOC@
+DOCTARGETS = @RDOCTARGET@ @CAPITARGET@
EXTOUT = @EXTOUT@
-RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
+arch_hdrdir = $(EXTOUT)/include/$(arch)
+VPATH = $(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir):$(srcdir)/missing
empty =
+CC_VERSION = @CC_VERSION@
OUTFLAG = @OUTFLAG@$(empty)
-CFLAGS = @CFLAGS@ @XCFLAGS@ @ARCH_FLAG@
-CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
+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)
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
-EXTLDFLAGS =
+EXTLDFLAGS = @EXTLDFLAGS@
XLDFLAGS = @XLDFLAGS@ $(EXTLDFLAGS)
-EXTLIBS =
+EXTLIBS =
LIBS = @LIBS@ $(EXTLIBS)
MISSING = @LIBOBJS@ @ALLOCA@
LDSHARED = @LIBRUBY_LDSHARED@
-DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(EXTLDFLAGS) @ARCH_FLAG@
+DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG)
SOLIBS = @SOLIBS@
MAINLIBS = @MAINLIBS@
-MINIOBJS = @MINIOBJS@
-
+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@
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@
-RUNRUBY = @RUNRUBY@
+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@
+BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
#### End of system configuration section. ####
@@ -68,111 +129,426 @@ 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@
+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))
OBJEXT = @OBJEXT@
+ASMEXT = S
+DLEXT = @DLEXT@
MANTYPE = @MANTYPE@
+SYMBOL_PREFIX = @SYMBOL_PREFIX@
+
+INSTALLED_LIST= .installed.list
+
+NEWLINE_C = enc/trans/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
-PREINSTALL = @PREINSTALL@
+DESTDIR = @DESTDIR@
+
+configure_args = @configure_args@
#### End of variables
-all:
+.SUFFIXES: .inc .h .c .y .i .$(DTRACE_EXT)
-.DEFAULT: all
+all:
# Prevent GNU make v3 from overflowing arg limit on SysV.
.NOEXPORT:
miniruby$(EXEEXT):
- @$(RM) $@
- $(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(MAINLIBS)
+ @-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi
+ $(ECHO) linking $@
+ $(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@
$(PROGRAM):
@$(RM) $@
- $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) $(OUTFLAG)$@
+ $(ECHO) linking $@
+ $(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@
+ $(Q) $(POSTLINK)
# 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) $@
- $(AR) $(ARFLAGS) $@ $(OBJS) $(DMYEXT)
+ $(ECHO) linking static-library $@
+ $(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS)
@-$(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):
- $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@
- @-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \
+ @-$(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)ruby_static_id_*' \
+ -L '$(SYMBOL_PREFIX)*_threadptr_*' $@
+ $(Q) $(POSTLINK)
+ @-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link rescue nil; \
File.symlink "$(LIBRUBY_SO)", link}' \
$(LIBRUBY_ALIASES) || true
-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
- @{ \
+ruby_pc = @ruby_pc@
+$(ruby_pc):
+ @./config.status --file=$@:$(srcdir)/template/ruby.pc.in
+
+ruby-runner.c: template/ruby-runner.c.in
+ @./config.status --file=$@:$(srcdir)/template/$(@F).in
+
+ruby-runner$(EXEEXT): ruby-runner.c
+ $(Q) $(PURIFY) $(CC) $(CFLAGS) $(CPPFLAGS) -DRUBY_INSTALL_NAME=$(RUBY_INSTALL_NAME) $(LDFLAGS) $(LIBS) $(OUTFLAG)$@ ruby-runner.c
+
+$(RBCONFIG): $(PREP)
+
+rbconfig.rb: $(RBCONFIG)
+
+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; \
+ { \
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 "Makefile updated, restart."; exit 1; }
-
-config.status: $(srcdir)/configure
- MINIRUBY="$(MINIRUBY)" $(SHELL) ./config.status --recheck
-
-$(srcdir)/configure: $(srcdir)/configure.in
- cd $(srcdir) && $(AUTOCONF)
-
-lex.c: keywords
- @-$(RM) $@
- gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? > $@ || \
- cp "$(srcdir)/$@" .
-
-.y.c:
- $(YACC) $<
- sed '/^#/s|y\.tab\.c|$@|' y.tab.c > $@
- rm -f y.tab.c
+ { echo "$@ updated, restart."; exit 1; }
+
+uncommon.mk: $(srcdir)/common.mk
+ sed 's/{\$$([^(){}]*)[^{}]*}//g' $< > $@
+
+.PHONY: reconfig
+reconfig-args = $(srcdir)/$(CONFIGURE) $(configure_args)
+config.status-args = ./config.status --recheck
+reconfig-exec-0 = test -t 1 && { CONFIGURE_TTY=yes; export CONFIGURE_TTY; }; exec 3>&1; exit `exec 4>&1; { "$$@" 3>&- 4>&-; echo $$? 1>&4; } | fgrep -v '(cached)' 1>&3 3>&- 4>&-`
+reconfig-exec-1 = set -x; "$$@"
+
+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))
+
+$(srcdir)/$(CONFIGURE): $(srcdir)/configure.in $(srcdir)/aclocal.m4
+ $(CHDIR) $(srcdir) && exec $(AUTOCONF) -o $(@F)
+
+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 -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? \
+ | sed 's/(long)&((\(struct stringpool_t\) *\*)0)->\(stringpool_[a-z0-9]*\)/offsetof(\1, \2)/g' \
+ > $@.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
.c.@OBJEXT@:
- $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+ @$(ECHO) compiling $<
+ $(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $<
.s.@OBJEXT@:
- $(AS) $(ASFLAGS) -o $@ $<
+ @$(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/RUBY_PROBES_H/' -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 $(DTRACE_REBUILD:yes=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)
clean-local::
- @$(RM) ext/extinit.c ext/extinit.$(OBJEXT)
+ $(Q)$(RM) ext/extinit.c ext/extinit.$(OBJEXT) ext/ripper/y.output \
+ enc/encinit.c enc/encinit.$(OBJEXT)
+ -$(Q)$(RM) $(pkgconfig_DATA)
distclean-local::
- @$(RM) ext/config.cache $(RBCONFIG)
+ $(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; \
+ `; 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=)
ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP)
- $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(OUTFLAG)$@ -c ext/extinit.c
+ $(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 \
+ echo updating mspec ...; \
+ $(Q1:0=:) set -x; \
+ cd spec/mspec && \
+ exec git pull; \
+ else \
+ echo retrieving mspec ...; \
+ $(Q1:0=:) set -x; \
+ exec git clone $(MSPEC_GIT_URL) spec/mspec; \
+ fi
+
+update-rubyspec: update-mspec
+ @$(CHDIR) $(srcdir); \
+ if [ -d spec/rubyspec ]; then \
+ echo updating rubyspec ...; \
+ $(Q1:0=:) set -x; \
+ cd spec/rubyspec && \
+ exec git pull; \
+ else \
+ echo retrieving rubyspec ...; \
+ $(Q1:0=:) set -x; \
+ 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-doclie:
+ @$(CHDIR) $(srcdir); \
+ if [ -d coverage/doclie ]; then \
+ echo updating doclie ...; \
+ $(Q1:0=:) set -x; \
+ cd coverage/doclie && \
+ git fetch && \
+ exec git checkout $(DOCLIE_GIT_REF); \
+ else \
+ echo retrieving doclie ...; \
+ $(Q1:0=:) set -x; \
+ exec git clone --branch $(DOCLIE_GIT_REF) $(DOCLIE_GIT_URL) coverage/doclie; \
+ fi
+
+update-simplecov-html:
+ @$(CHDIR) $(srcdir); \
+ if [ -d coverage/simplecov-html ]; then \
+ echo updating simplecov-html ...; \
+ $(Q1:0=:) set -x; \
+ cd coverage/simplecov-html && \
+ git fetch && \
+ exec git checkout $(SIMPLECOV_HTML_GIT_REF); \
+ else \
+ echo retrieving simplecov-html ...; \
+ exec git clone --branch $(SIMPLECOV_HTML_GIT_REF) $(SIMPLECOV_HTML_GIT_URL) coverage/simplecov-html; \
+ fi
+
+update-simplecov:
+ @$(CHDIR) $(srcdir); \
+ if [ -d coverage/simplecov ]; then \
+ echo updating simplecov ...; \
+ $(Q1:0=:) set -x; \
+ cd coverage/simplecov && \
+ git fetch && \
+ exec git checkout $(SIMPLECOV_GIT_REF); \
+ else \
+ echo retrieving simplecov ...; \
+ $(Q1:0=:) set -x; \
+ exec git clone --branch $(SIMPLECOV_GIT_REF) $(SIMPLECOV_GIT_URL) coverage/simplecov; \
+ fi
+
+update-coverage: update-simplecov update-simplecov-html update-doclie
+
+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'
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000000..be722bc9de
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,404 @@
+# -*- rdoc -*-
+
+= NEWS for Ruby 2.3.0
+
+This document is a list of user visible feature changes made between
+releases except for 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 or Redmine
+(e.g. <tt>https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER</tt>)
+
+== Changes since the 2.2.0 release
+
+=== Language changes
+
+* frozen-string-literal pragma:
+
+ * new pragma, frozen-string-literal has been experimentally introduced.
+ [Feature #8976]
+ * besides, --enable/--disable=frozen-string-literal options also have
+ been introduced. [Feature #8976]
+ * command line options --debug or --debug=frozen-string-literal enable
+ additional debugging mode which shows created location with at frozen
+ object error (RuntimeError).
+ [Feature #11725]
+
+* safe navigation operator:
+
+ * new method call syntax, `object&.foo', method #foo is called on
+ `object' if it is not nil.
+ this is similar to `try!' in Active Support, except:
+ * method name is syntactically required
+ obj.try! {} # valid
+ obj&. {} # syntax error
+ * arguments are evaluated only if a call is made:
+ obj.try!(:foo, bar()) # bar() is always evaluated
+ obj&.foo(bar()) # bar() is conditionally evaluated
+ * attribute assignment is valid
+ obj&.attr += 1
+ [Feature #11537]
+
+* the did_you_mean gem:
+
+ * When a NameError or NoMethodError occurs because of a typo in the name,
+ the did_you_mean gem automatically suggests other names similar to the
+ method name.
+
+ "Yuki".starts_with?("Y")
+ # => NoMethodError: undefined method `starts_with?' for "Yuki":String
+ # Did you mean? start_with?
+
+* indented here document:
+
+ * new string literal, here document starts with `<<~`.
+ refer doc/syntax/literals.rdoc for more details.
+ [Feature #9098]
+
+=== Core classes updates (outstanding ones only)
+
+* ARGF
+
+ * ARGF.read_nonblock supports `exception: false' like IO#read_nonblock.
+ [Feature #11358]
+
+* Array
+
+ * Array#bsearch_index [Feature #10730]
+ * Array#dig [Feature #11643]
+
+* Comparable
+
+ * Comparable#== no longer rescues exceptions [Feature #7688]
+
+* Encoding
+
+ * new Encoding::IBM037 (alias ebcdic-cp-us; dummy)
+
+* Enumerable
+
+ * Enumerable#grep_v is added as inverse version of Enumerable#grep.
+ [Feature #11049]
+ * Enumerable#chunk_while [Feature #10769]
+
+* Enumerator::Lazy
+
+ * Enumerator::Lazy#grep_v [Feature #11773]
+
+* File
+
+ * File.mkfifo [Feature #11536]
+ * Add File::TMPFILE corresponding to O_TMPFILE
+
+* Hash
+
+ * Hash#fetch_values [Feature #10017]
+ * Hash#dig [Feature #11643]
+ * Hash#<=, Hash#<, Hash#>=, Hash#> [Feature #10984]
+ * Hash#to_proc [Feature #11653]
+
+* IO
+
+ * new mode flag File::SHARE_DELETE is available.
+ this flag means to permit deleting opened file on Windows, but currently
+ this affect only files opened as binary. [Feature #11218]
+
+ * new option parameter `flags' is added.
+ this parameter is bitwise-ORed to oflags generated by normal mode argument.
+ [Feature #11253]
+
+ * IO#advise no longer raises Errno::ENOSYS in cases where it was
+ detected at build time but not available at runtime. [Feature #11806]
+
+* Kernel
+
+ * Kernel#loop, when stopped by a StopIteration exception, returns
+ what the enumerator has returned instead of nil. [Feature #11498]
+
+* Module
+ * Module#deprecate_constant [Feature #11398]
+
+* NameError
+ * NameError#receiver is added to take the receiver object. [Feature #10881]
+
+* Numeric
+
+ * Numeric#positive? and Numeric#negative? are added, which return
+ true when the receiver is positive and negative respectively.
+ [Feature #11151]
+
+* Proc
+
+ * Proc#call (and also #[], #===, #yield) are optimized.
+ Backtrace doesn't show each method (show block lines directly).
+ TracePoint also ignores these calls. [Feature #11569]
+
+* Queue (Thread::Queue)
+
+ * Queue#close is added to notice a termination. [Feature #10600]
+
+* Regexp/String: Updated Unicode version from 7.0.0 to 8.0.0
+
+* RubyVM::InstructionSequence
+ * add the following methods as a primitive tool of iseq loader.
+ See sample/iseq_loader.rb for usage.
+ Note that loader does not have verifier so it is easy to cause
+ critical problem by loading modified/broken binary data.
+ See [Feature #11788] for more details. (experimental feature)
+ * RubyVM::InstructionSequence#to_binary(extra_data = nil)
+ * RubyVM::InstructionSequence.load_from_binary(binary)
+ * RubyVM::InstructionSequence.load_from_binary_extra_data(binary)
+
+* String
+
+ * String#+@ and String#-@ are added to get mutable/frozen strings.
+ [Feature #11782]
+
+ * String.new now accepts new option parameter `encoding'.
+ [Feature #11785]
+
+* Struct
+ * Struct#dig [Feature #11688]
+
+* Thread
+ * Thread#name, Thread#name= are added to handle thread names [Feature #11251]
+
+=== Core classes compatibility issues (excluding feature bug fixes)
+
+* Array
+ * Array#select!, Array#keep_if, Array#reject!, and Array#delete_if
+ no longer changes the receiver array instantly every time the
+ block is called. [Feature #10714]
+
+ * Array#flatten and Array#flatten! no longer try to call #to_ary
+ method on elements beyond the given level. [Bug #10748]
+
+ * Array#inspect doesn't raise error even if its content returns
+ a string which is not compatible with Encoding.default_external
+ as inspected result. [Feature #11801]
+
+* Enumerable
+ * Enumerable#chunk and Enumerable#slice_before no longer takes the
+ initial_state argument. [Feature #10958]
+ Use a local variable instead to maintain a state.
+
+* File::Stat
+ * On Windows File::Stat#ino always returned 0, but now returns
+ BY_HANDLE_FILE_INFORMATION.nFileIndexHigh/Low. [Feature #11216]
+
+* Hash
+ * Hash#inspect doesn't raise error even if its content returns
+ a string which is not compatible with Encoding.default_external
+ as inspected result. [Feature #11801]
+
+* IO
+ * IO#close doesn't raise when the IO object is closed. [Feature #10718]
+ * IO#each_codepoint raises an exception at incomplete character
+ before EOF when conversion takes place. [Bug #11444]
+
+* Module
+ * Module#define_method and Object.define_singleton_method now
+ require method body, Proc, Method, or a block, and raise
+ ArgumentError if no block is given directly. [Bug #11283]
+
+* pack/unpack (Array/String)
+ * j and J directives for pointer width integer type. [Feature #11215]
+
+
+=== Stdlib updates (outstanding ones only)
+
+* Logger
+
+ * Logger#level= now supports symbol and string levels such as :debug, :info,
+ :warn, :error, :fatal (case insensitive) [Feature #11695]
+ * Logger#reopen is added to reopen a log device. [Feature #11696]
+
+* io/wait
+ * IO#wait_readable no longer checks FIONREAD, it may be used for
+ non-bytestream IO such as listen sockets.
+
+* Net::FTP
+ * Net::FTP#mlst is added.
+ * Net::FTP#mlsd is added.
+
+* nkf
+ * Merge nkf 2.1.4.
+
+* ObjectSpace (objspace)
+ * ObjectSpace.count_symbols is added.
+ * ObjectSpace.count_imemo_objects is added.
+ * ObjectSpace.internal_class_of is added.
+ * ObjectSpace.internal_super_of is added.
+
+* OpenSSL
+ * OpenSSL::SSL::SSLSocket#accept_nonblock and
+ OpenSSL::SSL::SSLSocket#connect_nonblock supports `exception: false`.
+ [Feature #10532]
+
+* Pathname
+ * Pathname#descend and Pathname#ascend supported blockless form.
+ [Feature #11052]
+
+* Socket
+ * Socket#connect_nonblock, Socket#accept_nonblock,
+ TCPServer#accept_nonblock, UNIXServer#accept_nonblock,
+ BasicSocket#recv_nonblock, BasicSocket#recvmsg_nonblock,
+ BasicSocket#sendmsg_nonblock all support `exception: false` to return
+ :wait_readable or :wait_writable symbols instead of raising
+ IO::WaitReadable or IO::WaitWritable exceptions
+ [Feature #10532] [Feature #11229]
+ * BasicSocket#recv and BasicSocket#recv_nonblock allow an output
+ String buffer argument like IO#read and IO#read_nonblock to reduce
+ GC overhead [Feature #11242]
+
+* StringIO
+ * In read-only mode, StringIO#set_encoding no longer sets the encoding
+ of its buffer string. Setting the encoding of the string directly
+ without StringIO#set_encoding may cause unpredictable behavior now.
+ [Bug #11827]
+
+* timeout
+ * Object#timeout is now warned as deprecated when called.
+
+=== Stdlib compatibility issues (excluding feature bug fixes)
+
+* ext/coverage/coverage.c
+ * Coverage.peek_result: new method to allow coverage to be captured without
+ stopping the coverage tool. [Feature #10816]
+
+* Fiddle
+ * Fiddle::Function#call releases the GVL. [Feature #11607]
+
+* io-console
+ * Update to io-console 0.4.5, and change the license to BSD 2-clause
+ "Simplified" License.
+
+* lib/base64.rb
+ * Base64.urlsafe_encode64: added a "padding" option to suppress
+ the padding character ("="). [Feature #10740]
+ * Base64.urlsafe_decode64: now it accepts not only correctly-padded
+ input but also unpadded input. [Feature #10740]
+
+* lib/drb/drb.rb
+ * removed unused argument. https://github.com/ruby/ruby/pull/515
+
+* lib/matrix.rb
+ * Add Vector#round. https://github.com/ruby/ruby/pull/802
+
+* lib/webrick/utils.rb
+ * removed unused argument. https://github.com/ruby/ruby/pull/356
+
+* Net::FTP
+ * Connections are in passive mode per default now. The default mode can
+ be changed by Net::FTP.default_passive=. [Feature #11612]
+
+* Net::HTTP
+ * default value of Net::HTTP#open_timeout is now 60 (was nil).
+
+* Net::Telnet
+ * Net::Telnet is extracted to net-telnet gem. It's unmaintain code.
+ [Feature #11083]
+
+* Psych
+ * Updated to Psych 2.0.17
+
+* Rake
+ * Rake is removed from stdlib. [Feature #11025]
+
+* RDoc
+ * Updated to RDoc 4.2.1. For full release notes see:
+
+ https://github.com/rdoc/rdoc/blob/master/History.rdoc#421--2015-12-22
+
+* RubyGems
+ * Updated to RubyGems 2.5.1. For full release notes see:
+
+ http://docs.seattlerb.org/rubygems/History_txt.html#label-2.5.0+-2F+2015-11-03
+ and
+ http://docs.seattlerb.org/rubygems/History_txt.html#label-2.5.1+-2F+2015-12-10
+
+=== Built-in global variables compatibility issues
+
+* $SAFE
+ * $SAFE=2 and $SAFE=3 are obsolete. If $SAFE is set to 2 or larger,
+ an ArgumentError is raised. [Feature #5455]
+
+=== C API updates
+
+* rb_define_class_id_under() now raises a TypeError exception when the
+ class is already defined but its superclass does not match the given
+ superclass, as well as definitions in ruby level.
+
+* rb_timespec_now() is added to fetch current datetime as struct timespec.
+ [Feature #11558]
+
+* rb_time_timespec_new() is added to create a time object with epoch,
+ nanosecond, and UTC/localtime/time offset arguments. [Feature #11558]
+
+* rb_autoload() deprecated, use rb_funcall() instead. [Feature #11664]
+
+* rb_compile_error_with_enc(), rb_compile_error(), and rb_compile_bug()
+ deprecated. these functions are exposed but only for internal use.
+ external libraries should not use them.
+
+=== Supported platform changes
+
+* OS/2 is no longer supported
+
+* BeOS is no longer supported
+
+* Borland-C is no longer supported
+
+* Haiku now stable and best effort
+
+=== Implementation improvements
+
+* Optimize Proc#call to eliminate method frame construction.
+ [Feature #11569]
+
+* Reconsidering method entry data structure.
+ [Bug #11278]
+
+* Introducing new table data structure for ID keys tables used by
+ method table and so on. New table structure is simple and fast
+ than st_table. [Feature #11420]
+
+* Machine code level tuning for object allocation and method calling
+ code. r52099, r52254
+
+* RubyVM::InstructionSequence is extended for future improvement.
+ [Feature #11788]
+
+* Case dispatch is now optimized for all special constant literals
+ including nil, true, and false. Previously, only literal strings,
+ symbols, integers and floats compiled to optimized case dispatch.
+ [Feature #11769]
+
+* Instance variables on non-pure Ruby classes (T_DATA, T_FILE,
+ etc..) is less expensive to store than before. [Feature #11170]
+
+* All accesses to members of big Struct objects are performed in
+ constant-time. Previously, Struct elements beyond the first 10
+ 10 elements used a linear scan. [Feature #10585]
+
+* The Set class got several speed up.
+ [Misc #10754], [r52591]
+
+* Socket and I/O-related improvements
+
+ * Calling overhead of most of new keyword-using I/O methods in
+ [Feature #11229] is reduced by avoiding the inefficient C API
+ to parse keywords. [Feature #11339]
+
+ * The standard library is updated to use the improved
+ exception-free non-blocking I/O from [Feature #11229].
+ This has the additional benefit of quieter $DEBUG output in
+ addition to reducing expensive exceptions. [Feature #11044]
+
+ * (Linux-only) waiting on a single FD anywhere in the stdlib no longer
+ uses select(2), making it immune to slowdowns with high-numbered FDs.
+ [Feature #11081] [Feature #11377]
+
+* CGI.escapeHTML is optimized with C extention.
+ https://github.com/ruby/ruby/pull/1164
diff --git a/README b/README
deleted file mode 100644
index cf836415ad..0000000000
--- a/README
+++ /dev/null
@@ -1,114 +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 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 e5d39911ca..48b8d964c4 100644
--- a/README.EXT
+++ b/README.EXT
@@ -1,1133 +1 @@
-.\" README.EXT - -*- Text -*- created at: Mon Aug 7 16:45:54 JST 1995
-
-This document explains how to make extension libraries for Ruby.
-
-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
-types, so data will need to be converted between the languages.
-
-Data in Ruby are represented by C type `VALUE'. Each VALUE data 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
-
-Converting to the wrong data type may cause serious problems.
-
-
-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_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
- T_MATCH
- T_UNDEF
- T_VARMAP
- T_SCOPE
- T_NODE
-
-Most of the types are represented by C structures.
-
-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
-data types, your code will look something like this:
-
- switch (TYPE(obj)) {
- case T_FIXNUM:
- /* process Fixnum */
- break;
- case T_STRING:
- /* process String */
- break;
- case T_ARRAY:
- /* process Array */
- break;
- default:
- /* raise exception */
- rb_raise(rb_eTypeError, "not valid value");
- break;
- }
-
-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.
-
-There are also faster check macros for fixnums and nil.
-
- FIXNUM_P(obj)
- NIL_P(obj)
-
-1.3 Convert VALUE into C data
-
-The data for type T_NIL, T_FALSE, T_TRUE are nil, true, false
-respectively. They are singletons for the data type.
-
-The T_FIXNUM data is a 31bit length fixed integer (63bit length on
-some machines), which can be convert 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 same way.
-
-To get char* from a VALUE, version 1.7 recommend to use new macros
-StringValue() and StringValuePtr(). StringValue(var) replaces var's
-value to 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
-requires to take only lvalue as their argument, to change the value
-of var in the replacement.
-
-In version 1.6 or earlier, STR2CSTR() was used to do same thing
-but now it is obsoleted in version 1.7 because of STR2CSTR() has
-a risk of dangling pointer problem in 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 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.
-
-1.4 Convert C data into VALUE
-
-To convert C data to Ruby values:
-
- * FIXNUM
-
- left shift 1 bit, and turn on LSB.
-
- * Other pointer values
-
- cast to VALUE.
-
-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
-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.
-
-INT2NUM() converts an integer into a Bignum if it is out of the FIXNUM
-range, but is a bit slower.
-
-1.5 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)
-
- Creates a new Ruby string from a C string. This is equivalent to
- rb_str_new(ptr, strlen(ptr)).
-
- rb_tainted_str_new(const char *ptr, long len)
-
- Creates a new tainted Ruby string. Strings from external data
- sources should be tainted.
-
- rb_tainted_str_new2(const char *ptr)
-
- Creates a new tainted Ruby string from a C string.
-
- rb_str_cat(VALUE str, const char *ptr, long len)
-
- Appends len bytes of data from ptr to the Ruby string.
-
- Array functions
-
- rb_ary_new()
-
- Creates an array with no elements.
-
- rb_ary_new2(long len)
-
- Creates an array with no elements, allocating internal buffer
- for len elements.
-
- rb_ary_new3(long n, ...)
-
- Creates an n-element array from the arguments.
-
- rb_ary_new4(long n, VALUE *elts)
-
- Creates an n-element array from a C array.
-
- rb_ary_push(VALUE ary, VALUE val)
- rb_ary_pop(VALUE ary)
- rb_ary_shift(VALUE ary)
- rb_ary_unshift(VALUE ary, VALUE val)
-
- Array operations. The first argument to each functions must be an
- array. They may dump core if other types given.
-
-2. Extending Ruby with C
-
-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
-
-2.1.1 Class/module definition
-
-To define a class or module, use the functions below:
-
- VALUE rb_define_class(const char *name, VALUE super)
- VALUE rb_define_module(const char *name)
-
-These functions return the newly created class or module. You may
-want to save this reference into a variable to use later.
-
-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)
-
-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,
- VALUE (*func)(), int argc)
-
- 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 believe you don't need that much. :-)
-
-If `argc' is negative, it specifies the calling sequence, not number of
-the arguments.
-
-If argc is -1, the function will be called as:
-
- VALUE func(int argc, VALUE *argv, VALUE obj)
-
-where argc is the actual number of arguments, argv is the C array of
-the arguments, and obj is the receiver.
-
-If argc is -2, the arguments are passed in a Ruby array. The function
-will be called like:
-
- VALUE func(VALUE obj, VALUE args)
-
-where obj is the receiver, and args is the Ruby array containing
-actual arguments.
-
-There are two more functions to define methods. One is to define
-private methods:
-
- void rb_define_private_method(VALUE klass, const char *name,
- VALUE (*func)(), int argc)
-
-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 call in the form like:
-
- Math.sqrt(4)
-
-or
-
- include Math
- sqrt(4)
-
-To define module functions, use:
-
- void rb_define_module_function(VALUE module, const char *name,
- VALUE (*func)(), int argc)
-
-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)
-
-To define alias to the method,
-
- void rb_define_alias(VALUE module, const char* new, const char* old);
-
-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 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.
-
-2.1.3 Constant definition
-
-We have 2 functions to define constants:
-
- void rb_define_const(VALUE klass, const char *name, VALUE val)
- void rb_define_global_const(const char *name, VALUE val)
-
-The former is to define a constant under specified class/module. The
-latter is to define a global constant.
-
-2.2 Use Ruby features from C
-
-There are several ways to invoke Ruby's features from C code.
-
-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.
-
- VALUE rb_eval_string(const char *str)
-
-Evaluation is done under the current context, thus current local variables
-of the innermost method (which is defined by Ruby) can be accessed.
-
-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
-
-You can get the ID value from a string within C code by using
-
- rb_intern(const char *name)
-
-You can retrieve ID from Ruby object (Symbol or String) given as an
-argument by using
-
- rb_to_id(VALUE symbol)
-
-You can convert C ID to Ruby Symbol by using
-
- VALUE ID2SYM(ID id)
-
-and to convert Ruby Symbol object to ID, use
-
- ID SYM2ID(VALUE symbol)
-
-2.2.3 Invoke Ruby method from C
-
-To invoke methods directly, you can use the function below
-
- VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)
-
-This function invokes a method on the recv, with the method name
-specified by the symbol mid.
-
-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.
-
-The functions to access/modify instance variables are below:
-
- VALUE rb_ivar_get(VALUE obj, ID id)
- VALUE rb_ivar_set(VALUE obj, ID id, VALUE val)
-
-id must be the symbol, which can be retrieved by rb_intern().
-
-To access the constants of the class/module:
-
- VALUE rb_const_get(VALUE obj, ID id)
-
-See 2.1.3 for defining new constant.
-
-3. Information sharing between Ruby and C
-
-3.1 Ruby constants that C can be accessed from C
-
-The following Ruby constants can be referred from C.
-
- Qtrue
- Qfalse
-
-Boolean values. Qfalse is false in C also (i.e. 0).
-
- Qnil
-
-Ruby nil in C scope.
-
-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:
-
- void rb_define_variable(const char *name, VALUE *var)
-
-This function defines the variable which is shared by both environments.
-The value of the global variable pointed to by `var' can be accessed
-through Ruby's global variable named `name'.
-
-You can define read-only (from Ruby, of course) variables using the
-function below.
-
- void rb_define_readonly_variable(const char *name, VALUE *var)
-
-You can defined hooked variables. The accessor functions (getter and
-setter) are called on access to the hooked variables.
-
- 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().
-
- void rb_define_virtual_variable(const char *name,
- VALUE (*getter)(), void (*setter)())
-
-This function defines a Ruby global variable without a corresponding C
-variable. The value of the variable will be set/get only by hooks.
-
-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);
-
-3.3 Encapsulate C data into 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, 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
-to mark Ruby objects pointed by this data. The free argument is the
-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.
-
-You can allocate and wrap the structure in one step.
-
- Data_Make_Struct(klass, type, mark, free, sval)
-
-This macro returns an allocated Data object, wrapping the pointer to
-the structure, which is also allocated. This macro works like:
-
- (sval = ALLOC(type), Data_Wrap_Struct(klass, mark, free, sval))
-
-Arguments klass, mark, and free work like their counterparts in
-Data_Wrap_Struct(). A pointer to the allocated structure will be
-assigned to sval, which should be a pointer of the type specified.
-
-To retrieve the C pointer from the Data object, use the macro
-Data_Get_Struct().
-
- Data_Get_Struct(obj, type, sval)
-
-A pointer to the structure will be assigned to the variable sval.
-
-See the example below for details.
-
-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.
-
-(1) make the directory
-
- % mkdir ext/dbm
-
-Make a directory for the extension library under ext directory.
-
-(2) design the library
-
-You need to design the library features, before making it.
-
-(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.
-
-Ruby will execute the initializing function named ``Init_LIBRARY'' in
-the library. For example, ``Init_dbm()'' will be executed when loading
-the library.
-
-Here's the example of an initializing function.
-
---
-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;
-};
-
-
-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.
-
-To retrieve the dbmdata structure from a Ruby object, we define the
-following macro:
-
---
-#define GetDBM(obj, dbmp) {\
- Data_Get_Struct(obj, struct dbmdata, dbmp);\
- if (dbmp->di_dbm == 0) closed_dbm();\
-}
---
-
-This sort of complicated macro does the retrieving and close checking for
-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(obj, keystr)
- VALUE obj, keystr;
-{
- :
-}
---
-
-The first argument of the C function is the self, the rest are the
-arguments to the method.
-
-Second, methods with an arbitrary number of arguments receive
-arguments like this:
-
---
-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. For example, "11" means that the method requires at least one
-argument, and at most receives two arguments.
-
-Methods with an arbitrary number of arguments can receive arguments
-by Ruby's array, like this:
-
---
-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
-
- void rb_global_variable(VALUE *var)
-
-(4) prepare extconf.rb
-
-If the file named extconf.rb exists, it will be executed to generate
-Makefile.
-
-extconf.rb is the file for check compilation conditions etc. You
-need to put
-
- require 'mkmf'
-
-at the top of the file. You can use the functions below to check
-various conditions.
-
- 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.
-
- $CFLAGS: included in CFLAGS make variable (such as -O)
- $CPPFLAGS: included in CPPFLAGS make variable (such as -I, -D)
- $LDFLAGS: included in LDFLAGS make variable (such as -L)
- $objs: list of object file names
-
-In normal, object files list is automatically generated by searching
-source files, but you need directs them explicitly if any sources will
-be generated while building.
-
-If a compilation condition is not fulfilled, you should not call
-``create_makefile''. The Makefile will not generated, compilation will
-not be done.
-
-(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
-
- % gcc -MM *.c > depend
-
-It's no harm. Prepare it.
-
-(6) generate Makefile
-
-Try generating the Makefile by:
-
- ruby extconf.rb
-
-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.
-
-(7) make
-
-Type
-
- make
-
-to compile your extension. You don't need this step either if you have
-put extension library under the ext directory of the ruby source tree.
-
-(8) debug
-
-You may need to rb_debug the extension. Extensions can be linked
-statically by the adding directory name in the ext/Setup file so that
-you can inspect the extension with the debugger.
-
-(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
- error.c
- eval.c
- gc.c
- object.c
- parse.y
- variable.c
-
-utility functions
-
- dln.c
- regex.c
- st.c
- util.c
-
-ruby interpreter implementation
-
- dmyext.c
- inits.c
- main.c
- ruby.c
- version.c
-
-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
-
-** Types
-
- 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).
-
-** Variables and constants
-
- Qnil
-
-const: nil object
-
- Qtrue
-
-const: true object(default true value)
-
- Qfalse
-
-const: false object
-
-** C pointer wrapping
-
- Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)
-
-Wrap a C pointer into a Ruby object. If object has references to other
-Ruby objects, they should be marked by using the mark function during
-the GC process. Otherwise, mark should be 0. When this object is no
-longer referred by anywhere, the pointer will be discarded by free
-function.
-
- Data_Make_Struct(klass, type, mark, free, sval)
-
-This macro allocates memory using malloc(), assigns it to the variable
-sval, and returns the DATA encapsulating the pointer to memory region.
-
- Data_Get_Struct(data, type, sval)
-
-This macro retrieves the pointer value from DATA, and assigns it to
-the variable sval.
-
-** Checking data types
-
-TYPE(value)
-FIXNUM_P(value)
-NIL_P(value)
-void Check_Type(VALUE value, int type)
-void Check_SafeStr(VALUE value)
-
-** Data type conversion
-
-FIX2INT(value)
-INT2FIX(i)
-NUM2INT(value)
-INT2NUM(i)
-NUM2DBL(value)
-rb_float_new(f)
-StringValue(value)
-StringValuePtr(value)
-StringValueCStr(value)
-rb_str_new2(s)
-
-** defining class/module
-
- VALUE rb_define_class(const char *name, VALUE super)
-
-Defines a new Ruby class as a subclass of super.
-
- VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)
-
-Creates a new Ruby class as a subclass of super, under the module's
-namespace.
-
- VALUE rb_define_module(const char *name)
-
-Defines a new Ruby module.
-
- VALUE rb_define_module_under(VALUE module, const char *name)
-
-Defines a new Ruby module under the module's namespace.
-
- void rb_include_module(VALUE klass, VALUE module)
-
-Includes module into class. If class already includes it, just
-ignored.
-
- void rb_extend_object(VALUE object, VALUE module)
-
-Extend the object with the module's attributes.
-
-** Defining Global Variables
-
- void rb_define_variable(const char *name, VALUE *var)
-
-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.
-
- void rb_define_readonly_variable(const char *name, VALUE *var)
-
-Defines a read-only global variable. Works just like
-rb_define_variable(), except defined variable is read-only.
-
- void rb_define_virtual_variable(const char *name,
- VALUE (*getter)(), VALUE (*setter)())
-
-Defines a virtual variable, whose behavior is defined by a pair of C
-functions. The getter function is called when the variable is
-referred. The setter function is called when the value is set to the
-variable. The prototype for getter/setter functions are:
-
- VALUE getter(ID id)
- void setter(VALUE val, ID id)
-
-The getter function must return the value for the access.
-
- void rb_define_hooked_variable(const char *name, VALUE *var,
- VALUE (*getter)(), VALUE (*setter)())
-
-Defines hooked variable. It's a virtual variable with a C variable.
-The getter is called as
-
- VALUE getter(ID id, VALUE *var)
-
-returning a new value. The setter is called as
-
- void setter(VALUE val, ID id, VALUE *var)
-
-GC requires C global variables which hold Ruby values to be marked.
-
- void rb_global_variable(VALUE *var)
-
-Tells GC to protect these variables.
-
-** Constant Definition
-
- void rb_define_const(VALUE klass, const char *name, VALUE val)
-
-Defines a new constant under the class/module.
-
- void rb_define_global_const(const char *name, VALUE val)
-
-Defines a global constant. This is just the same as
-
- rb_define_const(cKernal, name, val)
-
-** Method Definition
-
- rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-
-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.
-
- rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-
-Defines a private method for the class. Arguments are same as
-rb_define_method().
-
- 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, 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.
-
-** 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().
-
- VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
-
-Invokes a method, passing arguments by an array of values.
-
- 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_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.
-
- VALUE rb_yield(VALUE val)
-
-Evaluates the block with value val.
-
- VALUE rb_rescue(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *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)(), void *arg1, void (*func2)(), void *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.
-
-** 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.
-
-** Initialize and Starts the Interpreter
-
-The embedding API functions are below (not needed for extension libraries):
-
- void ruby_init()
-
-Initializes the interpreter.
-
- void ruby_options(int argc, char **argv)
-
-Process command line arguments for the interpreter.
-
- void ruby_run()
-
-Starts execution of the interpreter.
-
- void ruby_script(char *name)
-
-Specifies the name of the script ($0).
-
-Appendix C. Functions Available in extconf.rb
-
-These functions are available in extconf.rb:
-
- have_macro(macro, headers)
-
-Checks whether macro is defined with header. Returns true if the macro
-is defined.
-
- have_library(lib, func)
-
-Checks whether the library exists, containing the specified function.
-Returns true if the library exists.
-
- find_library(lib, func, path...)
-
-Checks whether a library which contains the specified function exists in
-path. Returns true if the library exists.
-
- have_func(func, header)
-
-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().
-
- have_var(var, header)
-
-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().
-
- have_header(header)
-
-Checks whether header exists. Returns true if the header file exists.
-
- find_header(header, path...)
-
-Checks whether header exists in path. Returns true if the header file
-exists.
-
- have_struct_member(type, member, header)
-
-Checks whether type has member with header. Returns true if the type
-is defined and has the member.
-
- have_type(type, header, opt)
-
-Checks whether type is defined with header. Returns true if the type
-is defined.
-
- check_sizeof(type, header)
-
-Checks the size of type in char with header. Returns the size if the
-type is defined, otherwise nil.
-
- create_makefile(target)
-
-Generates the Makefile for the extension library. If you don't invoke
-this method, the compilation will not be done.
-
- find_executable(bin, path)
-
-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.
-
- with_config(withval[, default=nil])
-
-Parses the command line options and returns the value specified by
---with-<withval>.
-
- enable_config(config, *defaults)
- disable_config(config, *defaults)
-
-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.
-
- dir_config(target[, default_dir])
- dir_config(target[, default_include, default_lib])
-
-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]).
-
- pkg_config(pkg)
-
-Obtains the information of pkg by pkg-config command. The actual
-command name can be overriden by --with-pkg-config command line
-option.
-
-/*
- * Local variables:
- * fill-column: 70
- * end:
- */
+Moved to doc/extension.rdoc
diff --git a/README.EXT.ja b/README.EXT.ja
index 30c4d520ba..f884ecbb0e 100644
--- a/README.EXT.ja
+++ b/README.EXT.ja
@@ -1,1258 +1 @@
-.\" README.EXT.ja - -*- Text -*- created at: Mon Aug 7 16:45:54 JST 1995
-
-Ruby¤Î³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Îºî¤êÊý¤òÀâÌÀ¤·¤Þ¤¹¡¥
-
-1¡¥´ðÁÃÃμ±
-
-C¤ÎÊÑ¿ô¤Ë¤Ï·¿¤¬¤¢¤ê¡¤¥Ç¡¼¥¿¤Ë¤Ï·¿¤¬¤¢¤ê¤Þ¤»¤ó¡¥¤Ç¤¹¤«¤é¡¤¤¿
-¤È¤¨¤Ð¥Ý¥¤¥ó¥¿¤òint¤ÎÊÑ¿ô¤ËÂåÆþ¤¹¤ë¤È¡¤¤½¤ÎÃͤÏÀ°¿ô¤È¤·¤Æ¼è
-¤ê°·¤ï¤ì¤Þ¤¹¡¥µÕ¤ËRuby¤ÎÊÑ¿ô¤Ë¤Ï·¿¤¬¤Ê¤¯¡¤¥Ç¡¼¥¿¤Ë·¿¤¬¤¢¤ê¤Þ
-¤¹¡¥¤³¤Î°ã¤¤¤Î¤¿¤á¡¤C¤ÈRuby¤ÏÁê¸ß¤ËÊÑ´¹¤·¤Ê¤±¤ì¤Ð¡¤¤ª¸ß¤¤¤Î
-¥Ç¡¼¥¿¤ò¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡¥
-
-Ruby¤Î¥Ç¡¼¥¿¤ÏVALUE¤È¤¤¤¦C¤Î·¿¤Çɽ¸½¤µ¤ì¤Þ¤¹¡¥VALUE·¿¤Î¥Ç¡¼
-¥¿¤Ï¤½¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤ò¼«Ê¬¤ÇÃΤäƤ¤¤Þ¤¹¡¥¤³¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤È
-¤¤¤¦¤Î¤Ï¥Ç¡¼¥¿(¥ª¥Ö¥¸¥§¥¯¥È)¤Î¼ÂºÝ¤Î¹½Â¤¤ò°ÕÌ£¤·¤Æ¤¤¤Æ¡¤Ruby
-¤Î¥¯¥é¥¹¤È¤Ï¤Þ¤¿°ã¤Ã¤¿¤â¤Î¤Ç¤¹¡¥
-
-VALUE¤«¤éC¤Ë¤È¤Ã¤Æ°ÕÌ£¤Î¤¢¤ë¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë¤Ï
-
- (1) VALUE¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤òÃΤë
- (2) VALUE¤òC¤Î¥Ç¡¼¥¿¤ËÊÑ´¹¤¹¤ë
-
-¤ÎξÊý¤¬É¬ÍפǤ¹¡¥(1)¤ò˺¤ì¤ë¤È´Ö°ã¤Ã¤¿¥Ç¡¼¥¿¤ÎÊÑ´¹¤¬¹Ô¤ï¤ì
-¤Æ¡¤ºÇ°­¥×¥í¥°¥é¥à¤¬core dump¤·¤Þ¤¹¡¥
-
-1.1 ¥Ç¡¼¥¿¥¿¥¤¥×
-
-Ruby¤Ë¤Ï¥æ¡¼¥¶¤¬»È¤¦²ÄǽÀ­¤Î¤¢¤ë°Ê²¼¤Î¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤¹¡¥
-
- 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_VARMAP
- T_SCOPE
- T_NODE
-
-¤Û¤È¤ó¤É¤Î¥¿¥¤¥×¤ÏC¤Î¹½Â¤ÂΤǼÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
-
-1.2 VALUE¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤ò¥Á¥§¥Ã¥¯¤¹¤ë
-
-ruby.h¤Ç¤ÏTYPE()¤È¤¤¤¦¥Þ¥¯¥í¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¤VALUE¤Î¥Ç¡¼¥¿
-¥¿¥¤¥×¤òÃΤ뤳¤È¤¬½ÐÍè¤Þ¤¹¡¥TYPE()¥Þ¥¯¥í¤Ï¾å¤Ç¾Ò²ð¤·¤¿T_XXXX
-¤Î·Á¼°¤ÎÄê¿ô¤òÊÖ¤·¤Þ¤¹¡¥VALUE¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Ë±þ¤¸¤Æ½èÍý¤¹¤ë
-¾ì¹ç¤Ë¤Ï¡¤TYPE()¤ÎÃͤÇʬ´ô¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥
-
- switch (TYPE(obj)) {
- case T_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¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤¬Àµ¤·¤¤¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹
-¤ë¤¿¤á¤Ë¤Ï¡¤¤³¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
-
-FIXNUM¤ÈNIL¤Ë´Ø¤·¤Æ¤Ï¤è¤ê¹â®¤ÊȽÊÌ¥Þ¥¯¥í¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡¥
-
- FIXNUM_P(obj)
- NIL_P(obj)
-
-1.3 VALUE¤òC¤Î¥Ç¡¼¥¿¤ËÊÑ´¹¤¹¤ë
-
-¥Ç¡¼¥¿¥¿¥¤¥×¤¬T_NIL, T_FALSE, T_TRUE¤Ç¤¢¤ë»þ¡¤¥Ç¡¼¥¿¤Ï¤½¤ì¤¾
-¤ìnil, false, true¤Ç¤¹¡¥¤³¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤Ò¤È
-¤Ä¤º¤Ä¤·¤«Â¸ºß¤·¤Þ¤»¤ó¡¥
-
-¥Ç¡¼¥¿¥¿¥¤¥×¤¬T_FIXNUM¤Î»þ¡¤¤³¤ì¤Ï31bit¤Î¥µ¥¤¥º¤ò»ý¤ÄÀ°¿ô¤Ç
-¤¹¡¥FIXNUM¤òC¤ÎÀ°¿ô¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Ë¤Ï¥Þ¥¯¥í¡ÖFIX2INT()¡×¤ò»È
-¤¤¤Þ¤¹¡¥¤½¤ì¤«¤é¡¤FIXNUM¤Ë¸Â¤é¤ºRuby¤Î¥Ç¡¼¥¿¤òÀ°¿ô¤ËÊÑ´¹¤¹¤ë
-¡ÖNUM2INT()¡×¤È¤¤¤¦¥Þ¥¯¥í¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¥Þ¥¯¥í¤Ï¥Ç¡¼¥¿¥¿¥¤
-¥×¤Î¥Á¥§¥Ã¥¯Ìµ¤·¤Ç»È¤¨¤Þ¤¹(À°¿ô¤ËÊÑ´¹¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤ÏÎã³°¤¬
-ȯÀ¸¤¹¤ë)¡¥Æ±Íͤ˥Á¥§¥Ã¥¯Ìµ¤·¤Ç»È¤¨¤ëÊÑ´¹¥Þ¥¯¥í¤Ïdouble¤ò
-¼è¤ê½Ð¤¹¡ÖNUM2DBL()¡×¤¬¤¢¤ê¤Þ¤¹¡£
-
-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 ¤Ç¤¢¤ëɬÍפ¬
-¤¢¤ê¤Þ¤¹¡£
-
-¤½¤ì°Ê³°¤Î¥Ç¡¼¥¿¥¿¥¤¥×¤ÏÂбþ¤¹¤ëC¤Î¹½Â¤ÂΤ¬¤¢¤ê¤Þ¤¹¡¥Âбþ¤¹
-¤ë¹½Â¤ÂΤΤ¢¤ëVALUE¤Ï¤½¤Î¤Þ¤Þ¥­¥ã¥¹¥È(·¿ÊÑ´¹)¤¹¤ì¤Ð¹½Â¤ÂΤÎ
-¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡¥
-
-¹½Â¤ÂΤϡÖstruct RXxxxx¡×¤È¤¤¤¦Ì¾Á°¤Çruby.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ
-¤¹¡¥Î㤨¤Ðʸ»úÎó¤Ï¡Östruct RString¡×¤Ç¤¹¡¥¼ÂºÝ¤Ë»È¤¦²ÄǽÀ­¤¬
-¤¢¤ë¤Î¤Ïʸ»úÎó¤ÈÇÛÎ󤯤餤¤À¤È»×¤¤¤Þ¤¹¡¥
-
-ruby.h¤Ç¤Ï¹½Â¤ÂΤإ­¥ã¥¹¥È¤¹¤ë¥Þ¥¯¥í¤â¡ÖRXXXXX()¡×(Á´ÉôÂçʸ
-»ú¤Ë¤·¤¿¤â¤Î)¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹(Îã: RSTRING())¡¥
-
-Î㤨¤Ð¡¤Ê¸»úÎóstr¤ÎŤµ¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡ÖRSTRING(str)->len¡×¤È
-¤·¡¤Ê¸»úÎóstr¤òchar*¤È¤·¤ÆÆÀ¤ë¤¿¤á¤Ë¤Ï¡ÖRSTRING(str)->ptr¡×
-¤È¤·¤Þ¤¹¡¥ÇÛÎó¤Î¾ì¹ç¤Ë¤Ï¡¤¤½¤ì¤¾¤ì¡ÖRARRAY(ary)->len¡×¡¤
-¡ÖRARRAY(ary)->ptr¡×¤È¤Ê¤ê¤Þ¤¹¡¥
-
-Ruby¤Î¹½Â¤ÂΤòľÀÜ¥¢¥¯¥»¥¹¤¹¤ë»þ¤Ëµ¤¤ò¤Ä¤±¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³
-¤È¤Ï¡¤ÇÛÎó¤äʸ»úÎó¤Î¹½Â¤ÂΤÎÃæ¿È¤Ï»²¾È¤¹¤ë¤À¤±¤Ç¡¤Ä¾ÀÜÊѹ¹¤·
-¤Ê¤¤¤³¤È¤Ç¤¹¡¥Ä¾ÀÜÊѹ¹¤·¤¿¾ì¹ç¡¤¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆâÍÆ¤ÎÀ°¹çÀ­¤¬
-¤È¤ì¤Ê¤¯¤Ê¤Ã¤Æ¡¤»×¤ï¤Ì¥Ð¥°¤Î¸¶°ø¤Ë¤Ê¤ê¤Þ¤¹¡¥
-
-1.4 C¤Î¥Ç¡¼¥¿¤òVALUE¤ËÊÑ´¹¤¹¤ë
-
-VALUE¤Î¼ÂºÝ¤Î¹½Â¤¤Ï
-
- * FIXNUM¤Î¾ì¹ç
-
- 1bitº¸¥·¥Õ¥È¤·¤Æ¡¤LSB¤òΩ¤Æ¤ë¡¥
-
- * ¤½¤Î¾¤Î¥Ý¥¤¥ó¥¿¤Î¾ì¹ç
-
- ¤½¤Î¤Þ¤ÞVALUE¤Ë¥­¥ã¥¹¥È¤¹¤ë¡¥
-
-¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥¤è¤Ã¤Æ¡¤LSB¤ò¥Á¥§¥Ã¥¯¤¹¤ì¤ÐVALUE¤¬FIXNUM¤«¤É
-¤¦¤«¤ï¤«¤ë¤ï¤±¤Ç¤¹(¥Ý¥¤¥ó¥¿¤ÎLSB¤¬Î©¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò²¾Äꤷ¤Æ
-¤¤¤ë)¡¥
-
-¤Ç¤¹¤«¤é¡¤FIXNUM°Ê³°¤ÎRuby¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤ÂΤÏñ¤ËVALUE
-¤Ë¥­¥ã¥¹¥È¤¹¤ë¤À¤±¤ÇVALUE¤ËÊÑ´¹½ÐÍè¤Þ¤¹¡¥¤¿¤À¤·¡¤Ç¤°Õ¤Î¹½Â¤
-ÂΤ¬VALUE¤Ë¥­¥ã¥¹¥È½ÐÍè¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¥­¥ã¥¹¥È¤¹¤ë¤Î
-¤ÏRuby¤ÎÃΤäƤ¤¤ë¹½Â¤ÂÎ(ruby.h¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëstruct RXxxx
-¤Î¤â¤Î)¤À¤±¤Ç¤¹¡¥
-
-FIXNUM¤Ë´Ø¤·¤Æ¤ÏÊÑ´¹¥Þ¥¯¥í¤ò·Ðͳ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥C¤ÎÀ°¿ô
-¤«¤éVALUE¤ËÊÑ´¹¤¹¤ë¥Þ¥¯¥í¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥É¬Íפ˱þ¤¸
-¤Æ»È¤¤Ê¬¤±¤Æ¤¯¤À¤µ¤¤¡¥
-
- INT2FIX() ¤â¤È¤ÎÀ°¿ô¤¬31bit°ÊÆâ¤Ë¼ý¤Þ¤ë¼«¿®¤¬¤¢¤ë»þ
- INT2NUM() Ǥ°Õ¤ÎÀ°¿ô¤«¤éVALUE¤Ø
-
-INT2NUM()¤ÏÀ°¿ô¤¬FIXNUM¤ÎÈϰϤ˼ý¤Þ¤é¤Ê¤¤¾ì¹ç¡¤Bignum¤ËÊÑ´¹
-¤·¤Æ¤¯¤ì¤Þ¤¹(¤¬¡¤¾¯¤·ÃÙ¤¤)¡¥
-
-1.5 Ruby¤Î¥Ç¡¼¥¿¤òÁàºî¤¹¤ë
-
-ÀèÄø¤â½Ò¤Ù¤¿Ä̤ꡤRuby¤Î¹½Â¤ÂΤò¥¢¥¯¥»¥¹¤¹¤ë»þ¤ËÆâÍÆ¤Î¹¹¿·¤ò
-¹Ô¤¦¤³¤È¤Ï´«¤á¤é¤ì¤Þ¤»¤ó¡¥¤Ç¡¤Ruby¤Î¥Ç¡¼¥¿¤òÁàºî¤¹¤ë»þ¤Ë¤Ï
-Ruby¤¬ÍѰդ·¤Æ¤¤¤ë´Ø¿ô¤òÍѤ¤¤Æ¤¯¤À¤µ¤¤¡¥
-
-¤³¤³¤Ç¤Ï¤â¤Ã¤È¤â»È¤ï¤ì¤ë¤Ç¤¢¤í¤¦Ê¸»úÎó¤ÈÇÛÎó¤ÎÀ¸À®/Áàºî¤ò¹Ô
-¤¤´Ø¿ô¤ò¤¢¤²¤Þ¤¹(Á´Éô¤Ç¤Ï¤Ê¤¤¤Ç¤¹)¡¥
-
- ʸ»úÎó¤ËÂФ¹¤ë´Ø¿ô
-
- rb_str_new(const char *ptr, long len)
-
- ¿·¤·¤¤Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥
-
- rb_str_new2(const char *ptr)
-
- C¤Îʸ»úÎ󤫤éRuby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥¤³¤Î´Ø¿ô¤Îµ¡Ç½¤Ï
- rb_str_new(ptr, strlen(ptr))¤ÈƱÅù¤Ç¤¢¤ë¡¥
-
- rb_tainted_str_new(const char *ptr, long len)
-
- ±øÀ÷¥Þ¡¼¥¯¤¬Éղ䵤줿¿·¤·¤¤Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥³°Éô
- ¤«¤é¤Î¥Ç¡¼¥¿¤Ë´ð¤Å¤¯Ê¸»úÎó¤Ë¤Ï±øÀ÷¥Þ¡¼¥¯¤¬Éղ䵤ì¤ë¤Ù¤­
- ¤Ç¤¢¤ë¡¥
-
- rb_tainted_str_new2(const char *ptr)
-
- C¤Îʸ»úÎ󤫤鱸À÷¥Þ¡¼¥¯¤¬Éղ䵤줿Ruby¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡¥
-
- rb_str_cat(VALUE str, const char *ptr, long len)
-
- Ruby¤Îʸ»úÎóstr¤Ëlen¥Ð¥¤¥È¤Îʸ»úÎóptr¤òÄɲ乤롥
-
- ÇÛÎó¤ËÂФ¹¤ë´Ø¿ô
-
- rb_ary_new()
-
- Í×ÁǤ¬0¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-
- rb_ary_new2(long len)
-
- Í×ÁǤ¬0¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥lenÍ×ÁÇʬ¤ÎÎΰè¤ò¤¢¤é¤«¤¸¤á³ä¤ê
- Åö¤Æ¤Æ¤ª¤¯¡¥
-
- rb_ary_new3(long n, ...)
-
- °ú¿ô¤Ç»ØÄꤷ¤¿nÍ×ÁǤò´Þ¤àÇÛÎó¤òÀ¸À®¤¹¤ë¡¥
-
- rb_ary_new4(long n, VALUE *elts)
-
- ÇÛÎó¤ÇÍ¿¤¨¤¿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)
-
- Array¤ÎƱ̾¤Î¥á¥½¥Ã¥É¤ÈƱ¤¸Æ¯¤­¤ò¤¹¤ë´Ø¿ô¡¥Âè1°ú¿ô¤Ïɬ¤º
- ÇÛÎó¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥
-
-2¡¥Ruby¤Îµ¡Ç½¤ò»È¤¦
-
-¸¶ÍýŪ¤ËRuby¤Ç½ñ¤±¤ë¤³¤È¤ÏC¤Ç¤â½ñ¤±¤Þ¤¹¡¥Ruby¤½¤Î¤â¤Î¤¬C¤Çµ­
-½Ò¤µ¤ì¤Æ¤¤¤ë¤ó¤Ç¤¹¤«¤é¡¤ÅöÁ³¤È¤¤¤¨¤ÐÅöÁ³¤Ê¤ó¤Ç¤¹¤±¤É¡¥¤³¤³¤Ç
-¤ÏRuby¤Î³ÈÄ¥¤Ë»È¤¦¤³¤È¤¬Â¿¤¤¤À¤í¤¦¤Èͽ¬¤µ¤ì¤ëµ¡Ç½¤òÃæ¿´¤Ë¾Ò
-²ð¤·¤Þ¤¹¡¥
-
-2.1 Ruby¤Ëµ¡Ç½¤òÄɲ乤ë
-
-Ruby¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë´Ø¿ô¤ò»È¤¨¤ÐRuby¥¤¥ó¥¿¥×¥ê¥¿¤Ë¿·¤·¤¤µ¡Ç½
-¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡¥Ruby¤Ç¤Ï°Ê²¼¤Îµ¡Ç½¤òÄɲä¹¤ë´Ø¿ô¤¬
-Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
-
- * ¥¯¥é¥¹¡¤¥â¥¸¥å¡¼¥ë
- * ¥á¥½¥Ã¥É¡¤ÆÃ°Û¥á¥½¥Ã¥É¤Ê¤É
- * Äê¿ô
-
-¤Ç¤Ï½ç¤Ë¾Ò²ð¤·¤Þ¤¹¡¥
-
-2.1.1 ¥¯¥é¥¹/¥â¥¸¥å¡¼¥ëÄêµÁ
-
-¥¯¥é¥¹¤ä¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤¹¤ë¤¿¤á¤Ë¤Ï¡¤°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
-
- 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)
-
-
-ǰ¤Î¤¿¤áÀâÌÀ¤¹¤ë¤È¡ÖÆÃ°Û¥á¥½¥Ã¥É¡×¤È¤Ï¡¤¤½¤ÎÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯
-¥È¤ËÂФ·¤Æ¤À¤±Í­¸ú¤Ê¥á¥½¥Ã¥É¤Ç¤¹¡¥Ruby¤Ç¤Ï¤è¤¯Smalltalk¤Ë¤ª
-¤±¤ë¥¯¥é¥¹¥á¥½¥Ã¥É¤È¤·¤Æ¡¤¥¯¥é¥¹¤ËÂФ¹¤ëÆÃ°Û¥á¥½¥Ã¥É¤¬»È¤ï¤ì
-¤Þ¤¹¡¥
-
-¤³¤ì¤é¤Î´Ø¿ô¤Î argc¤È¤¤¤¦°ú¿ô¤ÏC¤Î´Ø¿ô¤ØÅϤµ¤ì¤ë°ú¿ô¤Î¿ô(¤È
-·Á¼°)¤ò·è¤á¤Þ¤¹¡¥argc¤¬0°Ê¾å¤Î»þ¤Ï´Ø¿ô¤Ë°ú¤­ÅϤ¹°ú¿ô¤Î¿ô¤ò°Õ
-Ì£¤·¤Þ¤¹¡¥16¸Ä°Ê¾å¤Î°ú¿ô¤Ï»È¤¨¤Þ¤»¤ó(¤¬¡¤Íפê¤Þ¤»¤ó¤è¤Í¡¤¤½
-¤ó¤Ê¤Ë)¡¥¼ÂºÝ¤Î´Ø¿ô¤Ë¤ÏÀèÆ¬¤Î°ú¿ô¤È¤·¤Æself¤¬Í¿¤¨¤é¤ì¤Þ¤¹¤Î
-¤Ç¡¤»ØÄꤷ¤¿¿ô¤è¤ê1¿¤¤°ú¿ô¤ò»ý¤Ä¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥
-
-argc¤¬Éé¤Î»þ¤Ï°ú¿ô¤Î¿ô¤Ç¤Ï¤Ê¤¯¡¤·Á¼°¤ò»ØÄꤷ¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥
-argc¤¬-1¤Î»þ¤Ï°ú¿ô¤òÇÛÎó¤ËÆþ¤ì¤ÆÅϤµ¤ì¤Þ¤¹¡¥argc¤¬-2¤Î»þ¤Ï°ú
-¿ô¤ÏRuby¤ÎÇÛÎó¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡¥
-
-¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ï¤â¤¦Æó¤Ä¤¢¤ê¤Þ¤¹¡¥¤Ò¤È¤Ä¤Ïprivate¥á
-¥½¥Ã¥É¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ç¡¤°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¤Ç¤¹¡¥
-
- void rb_define_private_method(VALUE klass, const char *name,
- VALUE (*func)(), int argc)
-
-private¥á¥½¥Ã¥É¤È¤Ï´Ø¿ô·Á¼°¤Ç¤·¤«¸Æ¤Ó½Ð¤¹¤³¤È¤Î½ÐÍè¤Ê¤¤¥á¥½¥Ã
-¥É¤Ç¤¹¡¥
-
-¤â¤¦¤Ò¤È¤Ä¤Ï¥â¥¸¥å¡¼¥ë´Ø¿ô¤òÄêµÁ¤¹¤ë¤â¤Î¤Ç¤¹¡¥¥â¥¸¥å¡¼¥ë´Ø¿ô
-¤È¤Ï¥â¥¸¥å¡¼¥ë¤ÎÆÃ°Û¥á¥½¥Ã¥É¤Ç¤¢¤ê¡¤Æ±»þ¤Ëprivate¥á¥½¥Ã¥É¤Ç
-¤â¤¢¤ë¤â¤Î¤Ç¤¹¡¥Îã¤ò¤¢¤²¤ë¤ÈMath¥â¥¸¥å¡¼¥ë¤Îsqrt()¤Ê¤É¤¬¤¢¤²
-¤é¤ì¤Þ¤¹¡¥¤³¤Î¥á¥½¥Ã¥É¤Ï
-
- Math.sqrt(4)
-
-¤È¤¤¤¦·Á¼°¤Ç¤â
-
- include Math
- sqrt(4)
-
-¤È¤¤¤¦·Á¼°¤Ç¤â»È¤¨¤Þ¤¹¡¥¥â¥¸¥å¡¼¥ë´Ø¿ô¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ï°Ê²¼¤Î
-Ä̤ê¤Ç¤¹¡¥
-
- void rb_define_module_function(VALUE module, const char *name,
- VALUE (*func)(), int argc)
-
-´Ø¿ôŪ¥á¥½¥Ã¥É(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);
-
-¥¯¥é¥¹¥á¥½¥Ã¥Éallocate¤òÄêµÁ¤·¤¿¤êºï½ü¤·¤¿¤ê¤¹¤ë¤¿¤á¤Î´Ø¿ô¤Ï
-°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
-
- void rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE klass));
- void rb_undef_alloc_func(VALUE klass);
-
-func¤Ï¥¯¥é¥¹¤ò°ú¿ô¤È¤·¤Æ¼õ¤±¼è¤Ã¤Æ¡¢¿·¤·¤¯³ä¤êÅö¤Æ¤é¤ì¤¿¥¤¥ó
-¥¹¥¿¥ó¥¹¤òÊÖ¤µ¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£¤³¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢³°Éô¥ê
-¥½¡¼¥¹¤Ê¤É¤ò´Þ¤Þ¤Ê¤¤¡¢¤Ç¤­¤ë¤À¤±¡Ö¶õ¡×¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤¿¤Û¤¦
-¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£
-
-2.1.3 Äê¿ôÄêµÁ
-
-³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤¬É¬ÍפÊÄê¿ô¤Ï¤¢¤é¤«¤¸¤áÄêµÁ¤·¤Æ¤ª¤¤¤¿Êý¤¬Îɤ¤
-¤Ç¤·¤ç¤¦¡¥Äê¿ô¤òÄêµÁ¤¹¤ë´Ø¿ô¤ÏÆó¤Ä¤¢¤ê¤Þ¤¹¡¥
-
- void rb_define_const(VALUE klass, const char *name, VALUE val)
- void rb_define_global_const(const char *name, VALUE val)
-
-Á°¼Ô¤ÏÆÃÄê¤Î¥¯¥é¥¹/¥â¥¸¥å¡¼¥ë¤Ë°¤¹¤ëÄê¿ô¤òÄêµÁ¤¹¤ë¤â¤Î¡¤¸å
-¼Ô¤Ï¥°¥í¡¼¥Ð¥ë¤ÊÄê¿ô¤òÄêµÁ¤¹¤ë¤â¤Î¤Ç¤¹¡¥
-
-2.2 Ruby¤Îµ¡Ç½¤òC¤«¤é¸Æ¤Ó½Ð¤¹
-
-´û¤Ë¡Ø1.5 Ruby¤Î¥Ç¡¼¥¿¤òÁàºî¤¹¤ë¡Ù¤Ç°ìÉô¾Ò²ð¤·¤¿¤è¤¦¤Ê´Ø¿ô¤ò
-»È¤¨¤Ð¡¤Ruby¤Îµ¡Ç½¤ò¼Â¸½¤·¤Æ¤¤¤ë´Ø¿ô¤òľÀܸƤӽФ¹¤³¤È¤¬½ÐÍè
-¤Þ¤¹¡¥
-
-# ¤³¤Î¤è¤¦¤Ê´Ø¿ô¤Î°ìÍ÷ɽ¤Ï¤¤¤Þ¤Î¤È¤³¤í¤¢¤ê¤Þ¤»¤ó¡¥¥½¡¼¥¹¤ò¸«
-# ¤ë¤·¤«¤Ê¤¤¤Ç¤¹¤Í¡¥
-
-¤½¤ì°Ê³°¤Ë¤âRuby¤Îµ¡Ç½¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡¥
-
-2.2.1 Ruby¤Î¥×¥í¥°¥é¥à¤òeval¤¹¤ë
-
-C¤«¤éRuby¤Îµ¡Ç½¤ò¸Æ¤Ó½Ð¤¹¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤È¤·¤Æ¡¤Ê¸»úÎó¤Ç
-Í¿¤¨¤é¤ì¤¿Ruby¤Î¥×¥í¥°¥é¥à¤òɾ²Á¤¹¤ë°Ê²¼¤Î´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡¥
-
- VALUE rb_eval_string(const char *str)
-
-¤³¤Îɾ²Á¤Ï¸½ºß¤Î´Ä¶­¤Ç¹Ô¤ï¤ì¤Þ¤¹¡¥¤Ä¤Þ¤ê¡¤¸½ºß¤Î¥í¡¼¥«¥ëÊÑ¿ô
-¤Ê¤É¤ò¼õ¤±·Ñ¤®¤Þ¤¹¡¥
-
-2.2.2 ID¤Þ¤¿¤Ï¥·¥ó¥Ü¥ë
-
-C¤«¤éʸ»úÎó¤ò·Ðͳ¤»¤º¤ËRuby¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤â¤Ç¤­¤Þ
-¤¹¡¥¤½¤ÎÁ°¤Ë¡¤Ruby¥¤¥ó¥¿¥×¥ê¥¿Æâ¤Ç¥á¥½¥Ã¥É¤äÊÑ¿ô̾¤ò»ØÄꤹ¤ë
-»þ¤Ë»È¤ï¤ì¤Æ¤¤¤ëID¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡¥
-
-ID¤È¤ÏÊÑ¿ô̾¡¤¥á¥½¥Ã¥É̾¤òɽ¤¹À°¿ô¤Ç¤¹¡¥Ruby¤Ç¤ÏID¤ËÂбþ¤¹¤ë
-¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥·¥ó¥Ü¥ë(Symbol)¤¬¤¢¤ê¡¤
-
- :¼±ÊÌ»Ò
-
-¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡¥C¤«¤é¤³¤ÎÀ°¿ô¤òÆÀ¤ë¤¿¤á¤Ë¤Ï´Ø¿ô
-
- rb_intern(const char *name)
-
-¤ò»È¤¤¤Þ¤¹¡¥Ruby¤«¤é°ú¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿¥·¥ó¥Ü¥ë(¤Þ¤¿¤Ïʸ»ú
-Îó)¤òID¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
-
- rb_to_id(VALUE symbol)
-
-ID¤«¤é¥·¥ó¥Ü¥ë¤òÆÀ¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-
- VALUE ID2SYM(ID id)
-
-¥·¥ó¥Ü¥ë¤«¤éID¤òÆÀ¤ë¤¿¤á¤Ë¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-
- ID SYM2ID(VALUE symbol)
-
-2.2.3 C¤«¤éRuby¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹
-
-C¤«¤éʸ»úÎó¤ò·Ðͳ¤»¤º¤ËRuby¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë¤Ï°Ê²¼
-¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥
-
- VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)
-
-¤³¤Î´Ø¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥Èrecv¤Îmid¤Ç»ØÄꤵ¤ì¤ë¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð
-¤·¤Þ¤¹¡¥¤½¤Î¾¤Ë°ú¿ô¤Î»ØÄê¤Î»ÅÊý¤¬°ã¤¦°Ê²¼¤Î´Ø¿ô¤â¤¢¤ê¤Þ¤¹¡¥
-
- VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
- VALUE rb_apply(VALUE recv, ID mid, VALUE args)
-
-apply¤Ë¤Ï°ú¿ô¤È¤·¤ÆRuby¤ÎÇÛÎó¤òÍ¿¤¨¤Þ¤¹¡¥
-
-2.2.4 ÊÑ¿ô/Äê¿ô¤ò»²¾È/¹¹¿·¤¹¤ë
-
-C¤«¤é´Ø¿ô¤ò»È¤Ã¤Æ»²¾È¡¦¹¹¿·¤Ç¤­¤ë¤Î¤Ï¡¤Äê¿ô¡¤¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ
-¿ô¤Ç¤¹¡¥Âç°èÊÑ¿ô¤Ï°ìÉô¤Î¤â¤Î¤ÏC¤ÎÂç°èÊÑ¿ô¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤­
-¤Þ¤¹¡¥¥í¡¼¥«¥ëÊÑ¿ô¤ò»²¾È¤¹¤ëÊýË¡¤Ï¸ø³«¤·¤Æ¤¤¤Þ¤»¤ó¡¥
-
-¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ò»²¾È¡¦¹¹¿·¤¹¤ë´Ø¿ô¤Ï°Ê²¼¤ÎÄÌ
-¤ê¤Ç¤¹¡¥
-
- VALUE rb_ivar_get(VALUE obj, ID id)
- VALUE rb_ivar_set(VALUE obj, ID id, VALUE val)
-
-id¤Ïrb_intern()¤ÇÆÀ¤é¤ì¤ë¤â¤Î¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
-
-Äê¿ô¤ò»²¾È¤¹¤ë¤Ë¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
-
- VALUE rb_const_get(VALUE obj, ID id)
-
-Äê¿ô¤ò¿·¤·¤¯ÄêµÁ¤¹¤ë¤¿¤á¤Ë¤Ï¡Ø2.1.3 Äê¿ôÄêµÁ¡Ù¤Ç¾Ò²ð¤µ
-¤ì¤Æ¤¤¤ë´Ø¿ô¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡¥
-
-3¡¥Ruby¤ÈC¤È¤Î¾ðÊó¶¦Í­
-
-C¸À¸ì¤ÈRuby¤Î´Ö¤Ç¾ðÊó¤ò¶¦Í­¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ²òÀ⤷¤Þ¤¹¡¥
-
-3.1 C¤«¤é»²¾È¤Ç¤­¤ëRuby¤ÎÄê¿ô
-
-°Ê²¼¤ÎRuby¤ÎÄê¿ô¤ÏC¤Î¥ì¥Ù¥ë¤«¤é»²¾È¤Ç¤­¤Þ¤¹¡¥
-
- Qtrue
- Qfalse
-
- ¿¿µ¶ÃÍ¡¥Qfalse¤ÏC¸À¸ì¤Ç¤âµ¶¤È¤ß¤Ê¤µ¤ì¤Þ¤¹(¤Ä¤Þ¤ê0)¡¥
-
- Qnil
-
- C¸À¸ì¤«¤é¸«¤¿¡Önil¡×¡¥
-
-3.2 C¤ÈRuby¤Ç¶¦Í­¤µ¤ì¤ëÂç°èÊÑ¿ô
-
-C¤ÈRuby¤ÇÂç°èÊÑ¿ô¤ò»È¤Ã¤Æ¾ðÊó¤ò¶¦Í­¤Ç¤­¤Þ¤¹¡¥¶¦Í­¤Ç¤­¤ëÂç°è
-ÊÑ¿ô¤Ë¤Ï¤¤¤¯¤Ä¤«¤Î¼ïÎब¤¢¤ê¤Þ¤¹¡¥¤½¤Î¤Ê¤«¤Ç¤â¤Ã¤È¤âÎɤ¯»È¤ï
-¤ì¤ë¤È»×¤ï¤ì¤ë¤Î¤Ïrb_define_variable()¤Ç¤¹¡¥
-
- void rb_define_variable(const char *name, VALUE *var)
-
-¤³¤Î´Ø¿ô¤ÏRuby¤ÈC¤È¤Ç¶¦Í­¤¹¤ëÂç°èÊÑ¿ô¤òÄêµÁ¤·¤Þ¤¹¡¥ÊÑ¿ô̾¤¬
-`$'¤Ç»Ï¤Þ¤é¤Ê¤¤»þ¤Ë¤Ï¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤ÎÃͤòÊÑ
-¹¹¤¹¤ë¤È¼«Æ°Åª¤ËRuby¤ÎÂбþ¤¹¤ëÊÑ¿ô¤ÎÃͤâÊѤï¤ê¤Þ¤¹¡¥
-
-¤Þ¤¿Ruby¦¤«¤é¤Ï¹¹¿·¤Ç¤­¤Ê¤¤ÊÑ¿ô¤â¤¢¤ê¤Þ¤¹¡¥¤³¤Îread only¤Î
-ÊÑ¿ô¤Ï°Ê²¼¤Î´Ø¿ô¤ÇÄêµÁ¤·¤Þ¤¹¡¥
-
- void rb_define_readonly_variable(const char *name, VALUE *var)
-
-¤³¤ì¤éÊÑ¿ô¤Î¾¤Ë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()¤ÈƱ¤¸¤Ë¤Ê¤ë¡¥
-
-¤½¤ì¤«¤é¡¤C¤Î´Ø¿ô¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ëRuby¤ÎÂç°èÊÑ¿ô¤òÄêµÁ¤¹¤ë
-´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡¥
-
- void rb_define_virtual_variable(const char *name,
- VALUE (*getter)(), void (*setter)())
-
-¤³¤Î´Ø¿ô¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤¿Ruby¤ÎÂç°èÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿»þ¤Ë¤Ï
-getter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ïsetter¤¬¸Æ¤Ð¤ì¤Þ¤¹¡¥
-
-getter¤Èsetter¤Î»ÅÍͤϰʲ¼¤ÎÄ̤ê¤Ç¤¹¡¥
-
- (*getter)(ID id, void *data, struct global_entry* entry);
- (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);
-
-3.3 C¤Î¥Ç¡¼¥¿¤òRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ë
-
-C¤ÎÀ¤³¦¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¡¼¥¿(¹½Â¤ÂÎ)¤òRuby¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ
-¼è¤ê°·¤¤¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤¨¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤Data¤È¤¤¤¦
-Ruby¥ª¥Ö¥¸¥§¥¯¥È¤ËC¤Î¹½Â¤ÂÎ(¤Ø¤Î¥Ý¥¤¥ó¥¿)¤ò¤¯¤ë¤à¤³¤È¤ÇRuby
-¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¼è¤ê°·¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
-
-Data¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¹½Â¤ÂΤòRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥«¥×¥»¥ë
-²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¤°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥
-
- Data_Wrap_Struct(klass, mark, free, ptr)
-
-¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃͤÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥
-
-klass¤Ï¤³¤ÎData¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤Ç¤¹¡¥ptr¤Ï¥«¥×¥»¥ë²½¤¹¤ë
-C¤Î¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¹¡¥mark¤Ï¤³¤Î¹½Â¤ÂΤ¬Ruby¤Î¥ª¥Ö¥¸¥§
-¥¯¥È¤Ø¤Î»²¾È¤¬¤¢¤ë»þ¤Ë»È¤¦´Ø¿ô¤Ç¤¹¡¥¤½¤Î¤è¤¦¤Ê»²¾È¤ò´Þ¤Þ¤Ê¤¤
-»þ¤Ë¤Ï0¤ò»ØÄꤷ¤Þ¤¹¡¥
-
-# ¤½¤Î¤è¤¦¤Ê»²¾È¤Ï´«¤á¤é¤ì¤Þ¤»¤ó¡¥
-
-free¤Ï¤³¤Î¹½Â¤ÂΤ¬¤â¤¦ÉÔÍפˤʤä¿»þ¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô¤Ç¤¹¡¥¤³¤Î
-´Ø¿ô¤¬¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤«¤é¸Æ¤Ð¤ì¤Þ¤¹¡¥¤³¤ì¤¬-1¤Î¾ì¹ç¤Ï¡¤Ã±
-½ã¤Ë³«Êü¤µ¤ì¤Þ¤¹¡¥
-
-C¤Î¹½Â¤ÂΤγäÅö¤ÈData¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®¤òƱ»þ¤Ë¹Ô¤¦¥Þ¥¯¥í¤È
-¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡¥
-
- Data_Make_Struct(klass, type, mark, free, sval)
-
-¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃͤÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥
-
-klass, mark, free¤ÏData_Wrap_Struct¤ÈƱ¤¸Æ¯¤­¤ò¤·¤Þ¤¹¡¥type
-¤Ï³ä¤êÅö¤Æ¤ëC¹½Â¤ÂΤη¿¤Ç¤¹¡¥³ä¤êÅö¤Æ¤é¤ì¤¿¹½Â¤ÂΤÏÊÑ¿ôsval
-¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤Î·¿¤Ï (type*) ¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
-
-Data¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¥Ý¥¤¥ó¥¿¤ò¼è¤ê½Ð¤¹¤Î¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤òÍѤ¤
-¤Þ¤¹¡¥
-
- Data_Get_Struct(obj, type, sval)
-
-C¤Î¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ÏÊÑ¿ôsval¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡¥
-
-¤³¤ì¤é¤ÎData¤Î»È¤¤Êý¤Ï¤Á¤ç¤Ã¤Èʬ¤«¤ê¤Ë¤¯¤¤¤Î¤Ç¡¤¸å¤ÇÀâÌÀ¤¹¤ë
-ÎãÂê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥
-
-4¡¥ÎãÂê - dbm¥Ñ¥Ã¥±¡¼¥¸¤òºî¤ë
-
-¤³¤³¤Þ¤Ç¤ÎÀâÌÀ¤Ç¤È¤ê¤¢¤¨¤º³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ïºî¤ì¤ë¤Ï¤º¤Ç¤¹¡¥
-Ruby¤Îext¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¹¤Ç¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëdbm¥é¥¤¥Ö¥é¥ê¤òÎã¤Ë
-¤·¤ÆÃʳ¬Åª¤ËÀâÌÀ¤·¤Þ¤¹¡¥
-
-(1) ¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ë
-
- % mkdir ext/dbm
-
-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)
-
-(4) extconf.rb¤òÍѰդ¹¤ë
-
-Makefile¤òºî¤ë¾ì¹ç¤Î¿÷·¿¤Ë¤Ê¤ëextconf.rb¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤ê
-¤Þ¤¹¡¥extconf.rb¤Ï¥é¥¤¥Ö¥é¥ê¤Î¥³¥ó¥Ñ¥¤¥ë¤ËɬÍפʾò·ï¤Î¥Á¥§¥Ã
-¥¯¤Ê¤É¤ò¹Ô¤¦¤³¤È¤¬ÌÜŪ¤Ç¤¹¡¥¤Þ¤º¡¤
-
- require 'mkmf'
-
-¤òextconf.rb¤ÎÀèÆ¬¤ËÃÖ¤­¤Þ¤¹¡¥extconf.rb¤ÎÃæ¤Ç¤Ï°Ê²¼¤ÎRuby´Ø
-¿ô¤ò»È¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥
-
- have_library(lib, func): ¥é¥¤¥Ö¥é¥ê¤Î¸ºß¥Á¥§¥Ã¥¯
- have_func(func, header): ´Ø¿ô¤Î¸ºß¥Á¥§¥Ã¥¯
- have_header(header): ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¸ºß¥Á¥§¥Ã¥¯
- create_makefile(target): Makefile¤ÎÀ¸À®
-
-°Ê²¼¤ÎÊÑ¿ô¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥
-
- $CFLAGS: ¥³¥ó¥Ñ¥¤¥ë»þ¤ËÄɲÃŪ¤Ë»ØÄꤹ¤ë¥Õ¥é¥°(-O¤Ê¤É)
- $CPPFLAGS: ¥×¥ê¥×¥í¥»¥Ã¥µ¤ËÄɲÃŪ¤Ë»ØÄꤹ¤ë¥Õ¥é¥°(-I¤ä-D¤Ê¤É)
- $LDFLAGS: ¥ê¥ó¥¯»þ¤ËÄɲÃŪ¤Ë»ØÄꤹ¤ë¥Õ¥é¥°(-L¤Ê¤É)
- $objs: ¥ê¥ó¥¯¤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È
-
-¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤Ï¡¢Ä̾ï¤Ï¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤·
-¤Æ¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤Þ¤¹¤¬¡¢make¤ÎÅÓÃæ¤Ç¥½¡¼¥¹¤òÀ¸À®¤¹¤ë¤è¤¦¤Ê
-¾ì¹ç¤ÏÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
-
-¥é¥¤¥Ö¥é¥ê¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ò·ï¤¬Â·¤ï¤º¡¤¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥³¥ó
-¥Ñ¥¤¥ë¤·¤Ê¤¤»þ¤Ë¤Ïcreate_makefile¤ò¸Æ¤Ð¤Ê¤±¤ì¤ÐMakefile¤ÏÀ¸
-À®¤µ¤ì¤º¡¤¥³¥ó¥Ñ¥¤¥ë¤â¹Ô¤ï¤ì¤Þ¤»¤ó¡¥
-
-(5) depend¤òÍѰդ¹¤ë
-
-¤â¤·¡¤¥Ç¥£¥ì¥¯¥È¥ê¤Ëdepend¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ì¤Ð¡¤
-Makefile¤¬°Í¸´Ø·¸¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤ì¤Þ¤¹¡¥
-
- % gcc -MM *.c > depend
-
-¤Ê¤É¤Çºî¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥¤¢¤Ã¤ÆÂ»¤Ï̵¤¤¤Ç¤·¤ç¤¦¡¥
-
-(6) Makefile¤òÀ¸À®¤¹¤ë
-
-Makefile¤ò¼ÂºÝ¤ËÀ¸À®¤¹¤ë¤¿¤á¤Ë¤Ï
-
- ruby extconf.rb
-
-¤È¤·¤Þ¤¹¡¥extconf.rb¤Ë require 'mkmf' ¤Î¹Ô¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¥¨¥é¡¼
-¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¤°ú¿ô¤òÄɲä·¤Æ
-
- ruby -r mkmf extconf.rb
-
-¤È¤·¤Æ¤¯¤À¤µ¤¤¡¥
-
-¥Ç¥£¥ì¥¯¥È¥ê¤òext°Ê²¼¤ËÍѰդ·¤¿¾ì¹ç¤Ë¤ÏRubyÁ´ÂΤÎmake¤Î»þ¤Ë
-¼«Æ°Åª¤ËMakefile¤¬À¸À®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¤¤³¤Î¥¹¥Æ¥Ã¥×¤ÏÉÔÍפǤ¹¡¥
-
-(7) make¤¹¤ë
-
-ưŪ¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Ï¤½¤Î¾ì¤Çmake¤·¤Æ¤¯¤À¤µ
-¤¤¡¥É¬ÍפǤ¢¤ì¤Ð make install ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡¥
-
-ext°Ê²¼¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òÍѰդ·¤¿¾ì¹ç¤Ï¡¤Ruby¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç
-make¤ò¼Â¹Ô¤¹¤ë¤ÈMakefile¤òÀ¸À®¤«¤émake¡¤É¬Íפˤè¤Ã¤Æ¤Ï¤½¤Î¥â
-¥¸¥å¡¼¥ë¤ÎRuby¤Ø¤Î¥ê¥ó¥¯¤Þ¤Ç¼«Æ°Åª¤Ë¼Â¹Ô¤·¤Æ¤¯¤ì¤Þ¤¹¡¥
-extconf.rb¤ò½ñ¤­´¹¤¨¤ë¤Ê¤É¤·¤ÆMakefile¤ÎºÆÀ¸À®¤¬É¬Íפʻþ¤Ï¤Þ
-¤¿Ruby¥Ç¥£¥ì¥¯¥È¥ê¤Çmake¤·¤Æ¤¯¤À¤µ¤¤¡¥
-
-³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ïmake install¤ÇRuby¥é¥¤¥Ö¥é¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î
-²¼¤Ë¥³¥Ô¡¼¤µ¤ì¤Þ¤¹¡¥¤â¤·³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤È¶¨Ä´¤·¤Æ»È¤¦Ruby¤Çµ­
-½Ò¤µ¤ì¤¿¥×¥í¥°¥é¥à¤¬¤¢¤ê¡¤Ruby¥é¥¤¥Ö¥é¥ê¤ËÃÖ¤­¤¿¤¤¾ì¹ç¤Ë¤Ï¡¤
-³ÈÄ¥¥é¥¤¥Ö¥é¥êÍѤΥǥ£¥ì¥¯¥È¥ê¤Î²¼¤Ë lib ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê
-¤òºî¤ê¡¤¤½¤³¤Ë ³ÈÄ¥»Ò .rb ¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤Æ¤ª¤±¤ÐƱ»þ¤Ë¥¤¥ó
-¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡¥
-
-(8) ¥Ç¥Ð¥Ã¥°
-
-¤Þ¤¢¡¤¥Ç¥Ð¥Ã¥°¤·¤Ê¤¤¤Èư¤«¤Ê¤¤¤Ç¤·¤ç¤¦¤Í¡¥ext/Setup¤Ë¥Ç¥£¥ì
-¥¯¥È¥ê̾¤ò½ñ¤¯¤ÈÀÅŪ¤Ë¥ê¥ó¥¯¤¹¤ë¤Î¤Ç¥Ç¥Ð¥Ã¥¬¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê
-¤ê¤Þ¤¹¡¥¤½¤Îʬ¥³¥ó¥Ñ¥¤¥ë¤¬ÃÙ¤¯¤Ê¤ê¤Þ¤¹¤±¤É¡¥
-
-(9) ¤Ç¤­¤¢¤¬¤ê
-
-¸å¤Ï¤³¤Ã¤½¤ê»È¤¦¤Ê¤ê¡¤¹­¤¯¸ø³«¤¹¤ë¤Ê¤ê¡¤Çä¤ë¤Ê¤ê¡¤¤´¼«Í³¤Ë¤ª
-»È¤¤¤¯¤À¤µ¤¤¡¥Ruby¤Îºî¼Ô¤Ï³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ë´Ø¤·¤Æ°ìÀڤθ¢Íø¤ò
-¼çÄ¥¤·¤Þ¤»¤ó¡¥
-
-Appendix A. Ruby¤Î¥½¡¼¥¹¥³¡¼¥É¤ÎʬÎà
-
-Ruby¤Î¥½¡¼¥¹¤Ï¤¤¤¯¤Ä¤«¤ËʬÎह¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡¥¤³¤Î¤¦¤Á¥¯¥é
-¥¹¥é¥¤¥Ö¥é¥ê¤ÎÉôʬ¤Ï´ðËÜŪ¤Ë³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤ÈƱ¤¸ºî¤êÊý¤Ë¤Ê¤Ã
-¤Æ¤¤¤Þ¤¹¡¥¤³¤ì¤é¤Î¥½¡¼¥¹¤Ïº£¤Þ¤Ç¤ÎÀâÌÀ¤Ç¤Û¤È¤ó¤ÉÍý²ò¤Ç¤­¤ë¤È
-»×¤¤¤Þ¤¹¡¥
-
-Ruby¸À¸ì¤Î¥³¥¢
-
- class.c
- error.c
- eval.c
- gc.c
- object.c
- parse.y
- variable.c
-
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô
-
- dln.c
- regex.c
- st.c
- util.c
-
-Ruby¥³¥Þ¥ó¥É¤Î¼ÂÁõ
-
- dmyext.c
- inits.c
- main.c
- ruby.c
- version.c
-
-¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê
-
- 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. ³ÈÄ¥ÍÑ´Ø¿ô¥ê¥Õ¥¡¥ì¥ó¥¹
-
-C¸À¸ì¤«¤éRuby¤Îµ¡Ç½¤òÍøÍѤ¹¤ëAPI¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
-
-** ·¿
-
-VALUE
-
- Ruby¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ë·¿¡¥É¬Íפ˱þ¤¸¤Æ¥­¥ã¥¹¥È¤·¤ÆÍѤ¤¤ë¡¥
- ÁȤ߹þ¤ß·¿¤òɽ¸½¤¹¤ëC¤Î·¿¤Ïruby.h¤Ëµ­½Ò¤·¤Æ¤¢¤ëR¤Ç»Ï¤Þ¤ë¹½Â¤
- ÂΤǤ¢¤ë¡¥VALUE·¿¤ò¤³¤ì¤é¤Ë¥­¥ã¥¹¥È¤¹¤ë¤¿¤á¤ËR¤Ç»Ï¤Þ¤ë¹½Â¤ÂÎ
- ̾¤òÁ´¤ÆÂçʸ»ú¤Ë¤·¤¿Ì¾Á°¤Î¥Þ¥¯¥í¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡¥
-
-** ÊÑ¿ô¡¦Äê¿ô
-
-Qnil
-
- Äê¿ô: nil¥ª¥Ö¥¸¥§¥¯¥È
-
-Qtrue
-
- Äê¿ô: true¥ª¥Ö¥¸¥§¥¯¥È(¿¿¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ)
-
-Qfalse
-
- Äê¿ô: false¥ª¥Ö¥¸¥§¥¯¥È
-
-** C¥Ç¡¼¥¿¤Î¥«¥×¥»¥ë²½
-
-Data_Wrap_Struct(VALUE klass, void (*mark)(), void (*free)(), void *sval)
-
- C¤ÎǤ°Õ¤Î¥Ý¥¤¥ó¥¿¤ò¥«¥×¥»¥ë²½¤·¤¿Ruby¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¡¥¤³
- ¤Î¥Ý¥¤¥ó¥¿¤¬Ruby¤«¤é¥¢¥¯¥»¥¹¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿»þ¡¤free¤Ç»ØÄꤷ¤¿
- ´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë¡¥¤Þ¤¿¡¤¤³¤Î¥Ý¥¤¥ó¥¿¤Î»Ø¤¹¥Ç¡¼¥¿¤¬Â¾¤ÎRuby¥ª¥Ö
- ¥¸¥§¥¯¥È¤ò»Ø¤·¤Æ¤¤¤ë¾ì¹ç¡¤mark¤Ë»ØÄꤹ¤ë´Ø¿ô¤Ç¥Þ¡¼¥¯¤¹¤ëɬÍ×
- ¤¬¤¢¤ë¡¥
-
-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)
-void Check_SafeStr(VALUE value)
-
-** ·¿ÊÑ´¹
-
-FIX2INT(value)
-INT2FIX(i)
-NUM2INT(value)
-INT2NUM(i)
-NUM2DBL(value)
-rb_float_new(f)
-StringValue(value)
-StringValuePtr(value)
-StringValueCStr(value)
-rb_str_new2(s)
-
-** ¥¯¥é¥¹/¥â¥¸¥å¡¼¥ëÄêµÁ
-
-VALUE rb_define_class(const char *name, VALUE super)
-
- super¤Î¥µ¥Ö¥¯¥é¥¹¤È¤·¤Æ¿·¤·¤¤Ruby¥¯¥é¥¹¤òÄêµÁ¤¹¤ë¡¥
-
-VALUE rb_define_class_under(VALUE module, const char *name, VALUE super)
-
- super¤Î¥µ¥Ö¥¯¥é¥¹¤È¤·¤Æ¿·¤·¤¤Ruby¥¯¥é¥¹¤òÄêµÁ¤·¡¤module¤Î
- Äê¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡¥
-
-VALUE rb_define_module(const char *name)
-
- ¿·¤·¤¤Ruby¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤¹¤ë¡¥
-
-VALUE rb_define_module_under(VALUE module, const char *name)
-
- ¿·¤·¤¤Ruby¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤·¡¤module¤ÎÄê¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡¥
-
-void rb_include_module(VALUE klass, VALUE module)
-
- ¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¡¥class¤¬¤¹¤Ç¤Ëmodule¤ò¥¤¥ó¥¯
- ¥ë¡¼¥É¤·¤Æ¤¤¤ë»þ¤Ë¤Ï²¿¤â¤·¤Ê¤¤(¿½Å¥¤¥ó¥¯¥ë¡¼¥É¤Î¶Ø»ß)¡¥
-
-void rb_extend_object(VALUE object, VALUE module)
-
- ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥â¥¸¥å¡¼¥ë(¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É)¤Ç³ÈÄ¥¤¹¤ë¡¥
-
-** Âç°èÊÑ¿ôÄêµÁ
-
-void rb_define_variable(const char *name, VALUE *var)
-
- Ruby¤ÈC¤È¤Ç¶¦Í­¤¹¤ë¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô̾¤¬`$'¤Ç
- »Ï¤Þ¤é¤Ê¤¤»þ¤Ë¤Ï¼«Æ°Åª¤ËÄɲ䵤ì¤ë¡¥name¤È¤·¤ÆRuby¤Î¼±ÊÌ»Ò
- ¤È¤·¤Æµö¤µ¤ì¤Ê¤¤Ê¸»ú(Î㤨¤Ð` ')¤ò´Þ¤à¾ì¹ç¤Ë¤ÏRuby¥×¥í¥°¥é
- ¥à¤«¤é¤Ï¸«¤¨¤Ê¤¯¤Ê¤ë¡¥
-
-void rb_define_readonly_variable(const char *name, VALUE *var)
-
- Ruby¤ÈC¤È¤Ç¶¦Í­¤¹¤ëread only¤Î¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥
- read only¤Ç¤¢¤ë¤³¤È°Ê³°¤Ïrb_define_variable()¤ÈƱ¤¸¡¥
-
-void rb_define_virtual_variable(const char *name,
- VALUE (*getter)(), void (*setter)())
-
- ´Ø¿ô¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ëRubyÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿
- »þ¤Ë¤Ïgetter¤¬¡¤ÊÑ¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ïsetter¤¬¸Æ¤Ð¤ì
- ¤ë¡¥
-
-void rb_define_hooked_variable(const char *name, VALUE *var,
- VALUE (*getter)(), void (*setter)())
-
- ´Ø¿ô¤Ë¤è¤Ã¤Æhook¤Î¤Ä¤±¤é¤ì¤¿¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤òÄêµÁ¤¹¤ë¡¥ÊÑ¿ô
- ¤¬»²¾È¤µ¤ì¤¿»þ¤Ë¤Ïgetter¤¬¡¤´Ø¿ô¤ËÃͤ¬¥»¥Ã¥È¤µ¤ì¤¿»þ¤Ë¤Ï
- setter¤¬¸Æ¤Ð¤ì¤ë¡¥getter¤äsetter¤Ë0¤ò»ØÄꤷ¤¿»þ¤Ë¤Ïhook¤ò
- »ØÄꤷ¤Ê¤¤¤Î¤ÈƱ¤¸»ö¤Ë¤Ê¤ë¡¥
-
-void rb_global_variable(VALUE *var)
-
- GC¤Î¤¿¤á¡¤Ruby¥×¥í¥°¥é¥à¤«¤é¤Ï¥¢¥¯¥»¥¹¤µ¤ì¤Ê¤¤¤¬, Ruby¥ª¥Ö
- ¥¸¥§¥¯¥È¤ò´Þ¤àÂç°èÊÑ¿ô¤ò¥Þ¡¼¥¯¤¹¤ë¡¥
-
-** Äê¿ô
-
-void rb_define_const(VALUE klass, const char *name, VALUE val)
-
- Äê¿ô¤òÄêµÁ¤¹¤ë¡¥
-
-void rb_define_global_const(const char *name, VALUE val)
-
- Âç°èÄê¿ô¤òÄêµÁ¤¹¤ë¡¥
-
- rb_define_const(rb_cObject, name, val)
-
- ¤ÈƱ¤¸°ÕÌ£¡¥
-
-** ¥á¥½¥Ã¥ÉÄêµÁ
-
-rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-
- ¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥argc¤Ïself¤ò½ü¤¯°ú¿ô¤Î¿ô¡¥argc¤¬-1¤Î»þ,
- ´Ø¿ô¤Ë¤Ï°ú¿ô¤Î¿ô(self¤ò´Þ¤Þ¤Ê¤¤)¤òÂè1°ú¿ô, °ú¿ô¤ÎÇÛÎó¤òÂè2
- °ú¿ô¤È¤¹¤ë·Á¼°¤ÇÍ¿¤¨¤é¤ì¤ë(Âè3°ú¿ô¤Ïself)¡¥argc¤¬-2¤Î»þ,
- Âè1°ú¿ô¤¬self, Âè2°ú¿ô¤¬args(args¤Ï°ú¿ô¤ò´Þ¤àRuby¤ÎÇÛÎó)¤È
- ¤¤¤¦·Á¼°¤ÇÍ¿¤¨¤é¤ì¤ë¡¥
-
-rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-
- private¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¡¥
-
-rb_define_singleton_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
-
- ÆÃ°Û¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥°ú¿ô¤Ïrb_define_method()¤ÈƱ¤¸¡¥
-
-rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)
-
- argc, argv·Á¼°¤ÇÍ¿¤¨¤é¤ì¤¿°ú¿ô¤òʬ²ò¤¹¤ë¡¥fmt¤Ïɬ¿Ü°ú¿ô¤Î¿ô,
- Éղðú¿ô¤Î¿ô, »Ä¤ê¤Î°ú¿ô¤¬¤¢¤ë¤«¤ò»ØÄꤹ¤ëʸ»úÎó¤Ç, "¿ô»ú
- ¿ô»ú*"¤È¤¤¤¦·Á¼°¤Ç¤¢¤ë¡¥ 2 ÈÖÌܤοô»ú¤È"*"¤Ï¤½¤ì¤¾¤ì¾Êά²Ä
- ǽ¤Ç¤¢¤ë¡¥É¬¿Ü°ú¿ô¤¬°ì¤Ä¤â¤Ê¤¤¾ì¹ç¤Ï0¤ò»ØÄꤹ¤ë¡¥Âè3°ú¿ô°Ê
- ¹ß¤ÏÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç, ³ºÅö¤¹¤ëÍ×ÁǤ¬¤½¤ÎÊÑ¿ô¤Ë³ÊǼ¤µ¤ì¤ë¡¥
- Éղðú¿ô¤ËÂбþ¤¹¤ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ÏÊÑ¿ô¤ËQnil¤¬
- ÂåÆþ¤µ¤ì¤ë¡¥
-
-** Ruby¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·
-
-VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)
-
- ¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¡¥Ê¸»úÎ󤫤émid¤òÆÀ¤ë¤¿¤á¤Ë¤Ïrb_intern()¤ò
- »È¤¦¡¥
-
-VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
-
- ¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¡¥°ú¿ô¤òargc, argv·Á¼°¤ÇÅϤ¹¡¥
-
-VALUE rb_eval_string(const char *str)
-
- ʸ»úÎó¤òRuby¥¹¥¯¥ê¥×¥È¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¡¦¼Â¹Ô¤¹¤ë¡¥
-
-ID rb_intern(const char *name)
-
- ʸ»úÎó¤ËÂбþ¤¹¤ëID¤òÊÖ¤¹¡¥
-
-char *rb_id2name(ID id)
-
- ID¤ËÂбþ¤¹¤ëʸ»úÎó¤òÊÖ¤¹(¥Ç¥Ð¥Ã¥°ÍÑ)¡¥
-
-char *rb_class2name(VALUE klass)
-
- ¥¯¥é¥¹¤Î̾Á°¤òÊÖ¤¹(¥Ç¥Ð¥Ã¥°ÍÑ)¡¥¥¯¥é¥¹¤¬Ì¾Á°¤ò»ý¤¿¤Ê¤¤»þ¤Ë¤Ï,
- ÁÄÀè¤òÁ̤äÆÌ¾Á°¤ò»ý¤Ä¥¯¥é¥¹¤Î̾Á°¤òÊÖ¤¹¡¥
-
-int rb_respond_to(VALUE obj, ID id)
-
- obj¤¬id¤Ç¼¨¤µ¤ì¤ë¥á¥½¥Ã¥É¤ò»ý¤Ä¤«¤É¤¦¤«¤òÊÖ¤¹¡£
-
-** ¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô
-
-VALUE rb_iv_get(VALUE obj, const char *name)
-
- obj¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ÎÃͤòÆÀ¤ë¡¥`@'¤Ç»Ï¤Þ¤é¤Ê¤¤¥¤¥ó¥¹¥¿¥ó
- ¥¹ÊÑ¿ô¤Ï Ruby¥×¥í¥°¥é¥à¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡Ö±£¤ì¤¿¡×¥¤¥ó
- ¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ë¤Ê¤ë¡¥Äê¿ô¤ÏÂçʸ»ú¤Î̾Á°¤ò»ý¤Ä¥¯¥é¥¹(¤Þ¤¿¤Ï
- ¥â¥¸¥å¡¼¥ë)¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡¥
-
-VALUE rb_iv_set(VALUE obj, const char *name, VALUE val)
-
- obj¤Î¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤òval¤Ë¥»¥Ã¥È¤¹¤ë¡¥
-
-** À©¸æ¹½Â¤
-
-VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
-
- func2¤ò¥Ö¥í¥Ã¥¯¤È¤·¤ÆÀßÄꤷ, func1¤ò¥¤¥Æ¥ì¡¼¥¿¤È¤·¤Æ¸Æ¤Ö¡¥
- func1¤Ë¤Ï arg1¤¬°ú¿ô¤È¤·¤ÆÅϤµ¤ì, func2¤Ë¤ÏÂè1°ú¿ô¤Ë¥¤¥Æ¥ì¡¼
- ¥¿¤«¤éÍ¿¤¨¤é¤ì¤¿ÃÍ, Âè2°ú¿ô¤Ëarg2¤¬ÅϤµ¤ì¤ë¡¥
-
-VALUE rb_yield(VALUE val)
-
- val¤òÃͤȤ·¤Æ¥¤¥Æ¥ì¡¼¥¿¥Ö¥í¥Ã¥¯¤ò¸Æ¤Ó½Ð¤¹¡¥
-
-VALUE rb_rescue(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
-
- ´Ø¿ôfunc1¤òarg1¤ò°ú¿ô¤Ë¸Æ¤Ó½Ð¤¹¡¥func1¤Î¼Â¹ÔÃæ¤ËÎã³°¤¬È¯À¸
- ¤·¤¿»þ¤Ë¤Ï func2¤òarg2¤ò°ú¿ô¤È¤·¤Æ¸Æ¤Ö¡¥Ìá¤êÃͤÏÎã³°¤¬È¯À¸
- ¤·¤Ê¤«¤Ã¤¿»þ¤Ïfunc1¤ÎÌá¤êÃÍ, Îã³°¤¬È¯À¸¤·¤¿»þ¤Ë¤Ïfunc2¤ÎÌá
- ¤êÃͤǤ¢¤ë¡¥
-
-VALUE rb_ensure(VALUE (*func1)(), VALUE arg1, void (*func2)(), VALUE arg2)
-
- ´Ø¿ôfunc1¤òarg1¤ò°ú¿ô¤È¤·¤Æ¼Â¹Ô¤·, ¼Â¹Ô½ªÎ»¸å(¤¿¤È¤¨Îã³°¤¬
- ȯÀ¸¤·¤Æ¤â) func2¤òarg2¤ò°ú¿ô¤È¤·¤Æ¼Â¹Ô¤¹¤ë¡¥Ìá¤êÃͤÏfunc1
- ¤ÎÌá¤êÃͤǤ¢¤ë(Îã³°¤¬È¯À¸¤·¤¿»þ¤ÏÌá¤é¤Ê¤¤)¡¥
-
-** Îã³°¡¦¥¨¥é¡¼
-
-void rb_warning(const char *fmt, ...)
-
- rb_verbose»þ¤Ëɸ½à¥¨¥é¡¼½ÐÎϤ˷ٹð¾ðÊó¤òɽ¼¨¤¹¤ë¡¥°ú¿ô¤Ï
- printf()¤ÈƱ¤¸¡¥
-
-void rb_raise(rb_eRuntimeError, const char *fmt, ...)
-
- RuntimeErrorÎã³°¤òȯÀ¸¤µ¤»¤ë¡¥°ú¿ô¤Ïprintf()¤ÈƱ¤¸¡¥
-
-void rb_raise(VALUE exception, const char *fmt, ...)
-
- exception¤Ç»ØÄꤷ¤¿Îã³°¤òȯÀ¸¤µ¤»¤ë¡¥fmt°Ê²¼¤Î°ú¿ô¤Ï
- printf()¤ÈƱ¤¸¡¥
-
-void rb_fatal(const char *fmt, ...)
-
- Ã×̿ŪÎã³°¤òȯÀ¸¤µ¤»¤ë¡¥Ä̾ï¤ÎÎã³°½èÍý¤Ï¹Ô¤Ê¤ï¤ì¤º, ¥¤¥ó¥¿¡¼
- ¥×¥ê¥¿¤¬½ªÎ»¤¹¤ë(¤¿¤À¤·ensure¤Ç»ØÄꤵ¤ì¤¿¥³¡¼¥É¤Ï½ªÎ»Á°¤Ë
- ¼Â¹Ô¤µ¤ì¤ë)¡¥
-
-void rb_bug(const char *fmt, ...)
-
- ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ê¤É¥×¥í¥°¥é¥à¤Î¥Ð¥°¤Ç¤·¤«È¯À¸¤¹¤ë¤Ï¤º¤Î¤Ê¤¤
- ¾õ¶·¤Î»þ¸Æ¤Ö¡¥¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥³¥¢¥À¥ó¥×¤·Ä¾¤Á¤Ë½ªÎ»¤¹¤ë¡¥
- Îã³°½èÍý¤Ï°ìÀڹԤʤï¤ì¤Ê¤¤¡¥
-
-** Ruby¤Î½é´ü²½¡¦¼Â¹Ô
-
-Ruby¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËËä¤á¹þ¤à¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹
-¤ò»È¤¦¡¥Ä̾ï¤Î³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ë¤ÏɬÍפʤ¤¡¥
-
-void ruby_init()
-
- Ruby¥¤¥ó¥¿¥×¥ê¥¿¤Î½é´ü²½¤ò¹Ô¤Ê¤¦¡¥
-
-void ruby_options(int argc, char **argv)
-
- Ruby¥¤¥ó¥¿¥×¥ê¥¿¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Î½èÍý¤ò¹Ô¤Ê¤¦¡¥
-
-void ruby_run()
-
- Ruby¥¤¥ó¥¿¥×¥ê¥¿¤ò¼Â¹Ô¤¹¤ë¡¥
-
-void ruby_script(char *name)
-
- Ruby¤Î¥¹¥¯¥ê¥×¥È̾($0)¤òÀßÄꤹ¤ë¡¥
-
-
-Appendix C. extconf.rb¤Ç»È¤¨¤ë´Ø¿ô¤¿¤Á
-
-extconf.rb¤ÎÃæ¤Ç¤ÏÍøÍѲÄǽ¤Ê¥³¥ó¥Ñ¥¤¥ë¾ò·ï¥Á¥§¥Ã¥¯¤Î´Ø¿ô¤Ï°Ê
-²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
-
-have_macro(macro, headers)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¥Þ¥¯¥ímacro¤¬ÄêµÁ¤µ
- ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥Þ¥¯¥í¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þtrue
- ¤òÊÖ¤¹¡¥
-
-have_library(lib, func)
-
- ´Ø¿ôfunc¤òÄêµÁ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥êlib¤Î¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥
- ¥é¥¤¥Ö¥é¥ê¤¬Â¸ºß¤¹¤ë»þ¡¤true¤òÊÖ¤¹¡¥
-
-find_library(lib, func, path...)
-
- ´Ø¿ôfunc¤òÄêµÁ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥êlib¤Î¸ºß¤ò -Lpath ¤òÄɲÃ
- ¤·¤Ê¤¬¤é¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥é¥¤¥Ö¥é¥ê¤¬¸«ÉÕ¤«¤Ã¤¿»þ¡¤true¤òÊÖ¤¹¡¥
-
-have_func(func, header)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ´Ø¿ôfunc¤Î¸ºß¤ò¥Á¥§¥Ã
- ¥¯¤¹¤ë¡¥func¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Ê¤¤¥é¥¤¥Ö¥é¥êÆâ¤Î¤â¤Î¤Ç¤¢
- ¤ë»þ¤Ë¤ÏÀè¤Ëhave_library¤Ç¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤ª¤¯
- »ö¡¥´Ø¿ô¤¬Â¸ºß¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
-
-have_var(var, header)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤ÆÊÑ¿ôvar¤Î¸ºß¤ò¥Á¥§¥Ã
- ¥¯¤¹¤ë¡¥var¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Ê¤¤¥é¥¤¥Ö¥é¥êÆâ¤Î¤â¤Î¤Ç¤¢
- ¤ë»þ¤Ë¤ÏÀè¤Ëhave_library¤Ç¤½¤Î¥é¥¤¥Ö¥é¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤ª¤¯
- »ö¡¥ÊÑ¿ô¤¬Â¸ºß¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
-
-have_header(header)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Î¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹
- ¤ë»þtrue¤òÊÖ¤¹¡¥
-
-find_header(header, path...)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤Î¸ºß¤ò -Ipath ¤òÄɲ䷤ʤ¬¤é¥Á¥§¥Ã¥¯
- ¤¹¤ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬¸«ÉÕ¤«¤Ã¤¿»þ¡¤true¤òÊÖ¤¹¡¥
-
-have_struct_member(type, member, header)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤Ë¥á¥ó¥Ðmember
- ¤¬Â¸ºß¤¹¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¤member¤ò
- »ý¤Ä¤¹¤ë»þtrue¤òÊÖ¤¹¡¥
-
-have_type(type, header, opt)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤¬Â¸ºß¤¹¤ë¤«¤ò
- ¥Á¥§¥Ã¥¯¤¹¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þtrue¤òÊÖ¤¹¡¥
-
-check_sizeof(type, header)
-
- ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëheader¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ·¿type¤Îcharñ°Ì¥µ¥¤
- ¥º¤òÄ´¤Ù¤ë¡¥type¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë»þ¤½¤Î¥µ¥¤¥º¤òÊÖ¤¹¡¥ÄêµÁ¤µ
- ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ïnil¤òÊÖ¤¹¡¥
-
-create_makefile(target)
-
- ³ÈÄ¥¥é¥¤¥Ö¥é¥êÍѤÎ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>-include=/path/include --with-<target>-lib=/path/lib
- ¤ÈÅù²Á¤Ç¤¢¤ë¡¥Äɲ䵤줿 include ¥Ç¥£¥ì¥¯¥È¥ê¤È lib ¥Ç¥£¥ì¥¯¥È¥ê¤Î
- ÇÛÎó¤òÊÖ¤¹¡¥ ([include_dir, lib_dir])
-
-pkg_config(pkg)
-
- pkg-config¥³¥Þ¥ó¥É¤«¤é¥Ñ¥Ã¥±¡¼¥¸pkg¤Î¾ðÊó¤òÆÀ¤ë¡¥
- pkg-config¤Î¼ÂºÝ¤Î¥³¥Þ¥ó¥É̾¤Ï¡¤--with-pkg-config¥³¥Þ¥ó¥É
- ¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ç»ØÄê²Äǽ¡¥
-
-/*
- * Local variables:
- * fill-column: 60
- * end:
- */
+doc/extension.ja.rdocã«ç§»å‹•ã—ã¾ã—ãŸ
diff --git a/README.ja b/README.ja
deleted file mode 100644
index df8cfc03f4..0000000000
--- a/README.ja
+++ /dev/null
@@ -1,160 +0,0 @@
-* 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
new file mode 100644
index 0000000000..eee54a9171
--- /dev/null
+++ b/README.ja.md
@@ -0,0 +1,171 @@
+# 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}/${PLATFORM}`
+ * `${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}/${PLATFORM}`
+ * `${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` ファイルをå‚ç…§ã—ã¦ãã ã•ã„.
+
+## フィードãƒãƒƒã‚¯
+
+Rubyã«é–¢ã™ã‚‹è³ªå•㯠Ruby-Talk(英語)や Ruby-List(日本語) (https://www.ruby-lang.org/ja/community/mailing-lists) や,
+stackoverflow (http://ja.stackoverflow.com/) ãªã©ã®Webã‚µã‚¤ãƒˆã«æŠ•ç¨¿ã—ã¦ãã ã•ã„.
+
+ãƒã‚°å ±å‘Šã¯ http://bugs.ruby-lang.org ã§å—ã‘付ã‘ã¦ã„ã¾ã™ï¼Ž
+
+
+## 著者
+
+Rubyã®ã‚ªãƒªã‚¸ãƒŠãƒ«ç‰ˆã¯ï¼Œ1995å¹´ã«ã¾ã¤ã‚‚ã¨ã‚†ãã²ã‚æ°ã«ã‚ˆã£ã¦è¨­è¨ˆãƒ»é–‹ç™ºã•れã¾ã—ãŸï¼Ž
+
+<mailto:matz@ruby-lang.org>
+
+---
+created at: Thu Aug 3 11:57:36 JST 1995
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000..14fb7aa213
--- /dev/null
+++ b/README.md
@@ -0,0 +1,164 @@
+# 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 (e.g. class, method calls)
+* **Advanced** Object-oriented Features (e.g. Mix-in, Singleton-method)
+* Operator Overloading
+* Exception Handling
+* Iterators and Closures
+* Garbage Collection
+* Dynamic Loading of Object Files (on some architectures)
+* 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 on 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
+to 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}/${PLATFORM}`
+ * `${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}/${PLATFORM}`
+ * `${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. Read [HowToReport] for more information.
+
+[HowToReport]: https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport
+
+##Contributing
+
+See the file `CONTRIBUTING.md`
+
+
+## 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
deleted file mode 100644
index b55e399edf..0000000000
--- a/ToDo
+++ /dev/null
@@ -1,126 +0,0 @@
-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/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000000..30fccd52fe
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,46 @@
+# -*- autoconf -*-
+
+AC_DEFUN([_COLORIZE_RESULT_PREPARE], [
+ msg_checking= msg_result_yes= msg_result_no= msg_result_other= msg_reset=
+ AS_IF([test "x${CONFIGURE_TTY}" = xyes -o -t 1], [
+ msg_begin="`tput smso 2>/dev/null`"
+ AS_CASE(["$msg_begin"], ['@<:@'*m],
+ [msg_begin="`echo "$msg_begin" | sed ['s/[0-9]*m$//']`"
+ msg_checking="${msg_begin}33m"
+ AS_IF([test ${TEST_COLORS:+set}], [
+ msg_result_yes=[`expr ":$TEST_COLORS:" : ".*:pass=\([^:]*\):"`]
+ msg_result_no=[`expr ":$TEST_COLORS:" : ".*:fail=\([^:]*\):"`]
+ msg_result_other=[`expr ":$TEST_COLORS:" : ".*:skip=\([^:]*\):"`]
+ ])
+ msg_result_yes="${msg_begin}${msg_result_yes:-32;1}m"
+ msg_result_no="${msg_begin}${msg_result_no:-31;1}m"
+ msg_result_other="${msg_begin}${msg_result_other:-33;1}m"
+ msg_reset="${msg_begin}m"
+ ])
+ AS_UNSET(msg_begin)
+ ])
+ AS_REQUIRE_SHELL_FN([colorize_result],
+ [AS_FUNCTION_DESCRIBE([colorize_result], [MSG], [Colorize result])],
+ [AS_CASE(["$[]1"],
+ [yes], [AS_ECHO(["${msg_result_yes}$[]1${msg_reset}]")],
+ [no], [AS_ECHO(["${msg_result_no}$[]1${msg_reset}]")],
+ [AS_ECHO(["${msg_result_other}$[]1${msg_reset}]")])])
+])
+
+AC_DEFUN([COLORIZE_RESULT], [AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl
+ AS_LITERAL_IF([$1],
+ [m4_case([$1],
+ [yes], [AS_ECHO(["${msg_result_yes}$1${msg_reset}"])],
+ [no], [AS_ECHO(["${msg_result_no}$1${msg_reset}"])],
+ [AS_ECHO(["${msg_result_other}$1${msg_reset}"])])],
+ [colorize_result "$1"]) dnl
+])
+
+AC_DEFUN([AC_CHECKING],[dnl
+AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl
+AS_MESSAGE([checking ${msg_checking}$1${msg_reset}...])])
+
+AC_DEFUN([AC_MSG_RESULT], [dnl
+{ _AS_ECHO_LOG([result: $1])
+COLORIZE_RESULT([$1]); dnl
+}])
diff --git a/addr2line.c b/addr2line.c
new file mode 100644
index 0000000000..c8faf48d62
--- /dev/null
+++ b/addr2line.c
@@ -0,0 +1,1208 @@
+/**********************************************************************
+
+ 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
new file mode 100644
index 0000000000..d99f010934
--- /dev/null
+++ b/addr2line.h
@@ -0,0 +1,21 @@
+/**********************************************************************
+
+ 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 baae2706e5..de81ee7fab 100644
--- a/array.c
+++ b/array.c
@@ -2,164 +2,501 @@
array.c -
- $Author: akr $
- $Date: 2006/06/24 14:53:36 $
+ $Author$
created at: Fri Aug 6 09:46:12 JST 1993
- Copyright (C) 1993-2003 Yukihiro Matsumoto
+ Copyright (C) 1993-2007 Yukihiro Matsumoto
Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
Copyright (C) 2000 Information-technology Promotion Agency, Japan
**********************************************************************/
-#include "ruby.h"
-#include "util.h"
-#include "st.h"
+#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>
VALUE rb_cArray;
-static ID id_cmp;
+
+static ID id_cmp, id_div, id_power;
#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(mem, size)
- register VALUE *mem;
- register long size;
+rb_mem_clear(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(mem, size, val)
- register VALUE *mem;
- register long size;
- register VALUE val;
+memfill(register VALUE *mem, register long size, register VALUE val)
{
while (size--) {
*mem++ = val;
}
}
-#define ARY_TMPLOCK FL_USER1
+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);
+ }
+ }
+}
static inline void
-rb_ary_modify_check(ary)
- VALUE ary;
+ary_shrink_capa(VALUE ary)
{
- 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");
+ 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
-rb_ary_modify(ary)
- VALUE ary;
+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)
+{
+ long num = ARY_SHARED_NUM(shared);
+ if (num >= 0) {
+ ARY_SET_SHARED_NUM(shared, num + 1);
+ }
+ return shared;
+}
+
+static void
+rb_ary_set_shared(VALUE ary, VALUE shared)
{
- VALUE *ptr;
+ rb_ary_increment_share(shared);
+ FL_SET_SHARED(ary);
+ ARY_SET_SHARED(ary, shared);
+}
+static inline void
+rb_ary_modify_check(VALUE ary)
+{
+ rb_check_frozen(ary);
+}
+
+void
+rb_ary_modify(VALUE ary)
+{
rb_ary_modify_check(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;
+ 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);
+ }
+}
+
+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(ary)
- VALUE ary;
+rb_ary_freeze(VALUE ary)
{
return rb_obj_freeze(ary);
}
/*
* call-seq:
- * array.frozen? -> true or false
+ * ary.frozen? -> true or false
*
- * Return <code>true</code> if this array is frozen (or temporarily frozen
- * while being sorted).
+ * Return +true+ if this array is frozen (or temporarily frozen
+ * while being sorted). See also Object#frozen?
*/
static VALUE
-rb_ary_frozen_p(ary)
- VALUE ary;
+rb_ary_frozen_p(VALUE ary)
{
if (OBJ_FROZEN(ary)) return Qtrue;
- if (FL_TEST(ary, ARY_TMPLOCK)) return Qtrue;
return Qfalse;
}
-static VALUE ary_alloc _((VALUE));
-static VALUE
-ary_alloc(klass)
- VALUE klass;
+/* 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)
{
- NEWOBJ(ary, struct RArray);
- OBJSETUP(ary, klass, T_ARRAY);
-
- ary->len = 0;
- ary->ptr = 0;
- ary->aux.capa = 0;
+ 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 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;
}
static VALUE
-ary_new(klass, len)
- VALUE klass;
- long len;
+empty_ary_alloc(VALUE klass)
{
- VALUE ary = ary_alloc(klass);
+ RUBY_DTRACE_CREATE_HOOK(ARRAY, 0);
+ return ary_alloc(klass);
+}
- if (len < 0) {
+static VALUE
+ary_new(VALUE klass, long capa)
+{
+ VALUE ary,*ptr;
+
+ if (capa < 0) {
rb_raise(rb_eArgError, "negative array size (or size too big)");
}
- if (len > 0 && len * sizeof(VALUE) <= len) {
+ if (capa > ARY_MAX_SIZE) {
rb_raise(rb_eArgError, "array size too big");
}
- if (len == 0) len++;
- RARRAY(ary)->ptr = ALLOC_N(VALUE, len);
- RARRAY(ary)->aux.capa = len;
+
+ RUBY_DTRACE_CREATE_HOOK(ARRAY, capa);
+
+ 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);
+ }
return ary;
}
VALUE
-rb_ary_new2(len)
- long len;
+rb_ary_new_capa(long capa)
{
- return ary_new(rb_cArray, len);
+ return ary_new(rb_cArray, capa);
}
-
VALUE
-rb_ary_new()
+rb_ary_new(void)
{
- return rb_ary_new2(ARY_DEFAULT_SIZE);
+ return rb_ary_new2(RARRAY_EMBED_LEN_MAX);
}
-#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
-#ifdef HAVE_STDARG_PROTOTYPES
-rb_ary_new3(long n, ...)
-#else
-rb_ary_new3(n, va_alist)
- long n;
- va_dcl
-#endif
+(rb_ary_new_from_args)(long n, ...)
{
va_list ar;
VALUE ary;
@@ -167,120 +504,240 @@ rb_ary_new3(n, va_alist)
ary = rb_ary_new2(n);
- va_init_list(ar, n);
+ va_start(ar, n);
for (i=0; i<n; i++) {
- RARRAY(ary)->ptr[i] = va_arg(ar, VALUE);
+ ARY_SET(ary, i, va_arg(ar, VALUE));
}
va_end(ar);
- RARRAY(ary)->len = n;
+ ARY_SET_LEN(ary, n);
return ary;
}
VALUE
-rb_ary_new4(n, elts)
- long n;
- const VALUE *elts;
+rb_ary_new_from_values(long n, const VALUE *elts)
{
VALUE ary;
ary = rb_ary_new2(n);
if (n > 0 && elts) {
- MEMCPY(RARRAY(ary)->ptr, elts, VALUE, n);
+ ary_memcpy(ary, 0, n, elts);
+ ARY_SET_LEN(ary, n);
}
- /* This assignment to len will be moved to the above "if" block in Ruby 1.9 */
- RARRAY(ary)->len = n;
-
return ary;
}
VALUE
-rb_assoc_new(car, cdr)
- VALUE car, cdr;
+rb_ary_tmp_new(long capa)
{
- VALUE ary;
-
- ary = rb_ary_new2(2);
- RARRAY(ary)->ptr[0] = car;
- RARRAY(ary)->ptr[1] = cdr;
- RARRAY(ary)->len = 2;
+ 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
-to_ary(ary)
- VALUE ary;
+ary_make_shared(VALUE ary)
+{
+ assert(!ARY_EMBED_P(ary));
+ if (ARY_SHARED_P(ary)) {
+ return ARY_SHARED(ary);
+ }
+ else if (ARY_SHARED_ROOT_P(ary)) {
+ return ary;
+ }
+ else if (OBJ_FROZEN(ary)) {
+ ary_shrink_capa(ary);
+ FL_SET_SHARED_ROOT(ary);
+ ARY_SET_SHARED_NUM(ary, 1);
+ return ary;
+ }
+ else {
+ long capa = ARY_CAPA(ary), len = RARRAY_LEN(ary);
+ NEWOBJ_OF(shared, struct RArray, 0, T_ARRAY | (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;
+ }
+}
+
+static VALUE
+ary_make_substitution(VALUE ary)
+{
+ long len = RARRAY_LEN(ary);
+
+ if (len <= RARRAY_EMBED_LEN_MAX) {
+ VALUE subst = rb_ary_new2(len);
+ ary_memcpy(subst, 0, len, RARRAY_CONST_PTR(ary));
+ ARY_SET_EMBED_LEN(subst, len);
+ return subst;
+ }
+ else {
+ return rb_ary_increment_share(ary_make_shared(ary));
+ }
+}
+
+VALUE
+rb_assoc_new(VALUE car, VALUE cdr)
+{
+ return rb_ary_new3(2, car, cdr);
+}
+
+static VALUE
+to_ary(VALUE ary)
{
return rb_convert_type(ary, T_ARRAY, "Array", "to_ary");
}
VALUE
-rb_check_array_type(ary)
- VALUE ary;
+rb_check_array_type(VALUE ary)
{
return rb_check_convert_type(ary, T_ARRAY, "Array", "to_ary");
}
-static VALUE rb_ary_replace _((VALUE, VALUE));
+/*
+ * 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);
+}
/*
* call-seq:
- * Array.new(size=0, obj=nil)
+ * Array.new(size=0, default=nil)
* Array.new(array)
* Array.new(size) {|index| block }
*
- * 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
+ * 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:
+ *
* a = Array.new(2, Hash.new)
+ * # => [{}, {}]
+ *
* a[0]['cat'] = 'feline'
- * a
+ * a # => [{"cat"=>"feline"}, {"cat"=>"feline"}]
+ *
* a[1]['cat'] = 'Felix'
- * a
- *
- * # here multiple copies are created
+ * 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 = Array.new(2) { Hash.new }
* a[0]['cat'] = 'feline'
- * a
- *
- * squares = Array.new(5) {|i| i*i}
- * squares
- *
- * copy = Array.new(squares)
+ * a # => [{"cat"=>"feline"}, {}]
+ *
*/
static VALUE
-rb_ary_initialize(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_initialize(int argc, VALUE *argv, VALUE ary)
{
long len;
VALUE size, val;
rb_ary_modify(ary);
- if (rb_scan_args(argc, argv, "02", &size, &val) == 0) {
- RARRAY(ary)->len = 0;
+ 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_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)) {
@@ -290,16 +747,16 @@ rb_ary_initialize(argc, argv, 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 > 0 && len * (long)sizeof(VALUE) <= len) {
+ if (len > ARY_MAX_SIZE) {
rb_raise(rb_eArgError, "array size too big");
}
- if (len > RARRAY(ary)->aux.capa) {
- REALLOC_N(RARRAY(ary)->ptr, VALUE, len);
- RARRAY(ary)->aux.capa = len;
- }
+ /* recheck after argument conversion */
+ rb_ary_modify(ary);
+ ary_resize_capa(ary, len);
if (rb_block_given_p()) {
long i;
@@ -308,86 +765,133 @@ rb_ary_initialize(argc, argv, ary)
}
for (i=0; i<len; i++) {
rb_ary_store(ary, i, rb_yield(LONG2NUM(i)));
- RARRAY(ary)->len = i + 1;
+ ARY_SET_LEN(ary, i + 1);
}
}
else {
- memfill(RARRAY(ary)->ptr, len, val);
- RARRAY(ary)->len = len;
+ ary_memfill(ary, 0, len, val);
+ ARY_SET_LEN(ary, len);
}
-
return ary;
}
-
-/*
-* Returns a new array populated with the given objects.
-*
-* Array.[]( 1, 'a', /^A/ )
-* Array[ 1, 'a', /^A/ ]
-* [ 1, 'a', /^A/ ]
-*/
+/*
+ * 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/]
+ */
static VALUE
-rb_ary_s_create(argc, argv, klass)
- int argc;
- VALUE *argv;
- VALUE klass;
+rb_ary_s_create(int argc, VALUE *argv, VALUE klass)
{
- VALUE ary = ary_alloc(klass);
-
- if (argc > 0) {
- RARRAY(ary)->ptr = ALLOC_N(VALUE, argc);
- MEMCPY(RARRAY(ary)->ptr, argv, VALUE, argc);
+ VALUE ary = ary_new(klass, argc);
+ if (argc > 0 && argv) {
+ ary_memcpy(ary, 0, argc, argv);
+ ARY_SET_LEN(ary, argc);
}
- RARRAY(ary)->len = RARRAY(ary)->aux.capa = argc;
return ary;
}
void
-rb_ary_store(ary, idx, val)
- VALUE ary;
- long idx;
- VALUE val;
+rb_ary_store(VALUE ary, long idx, VALUE val)
{
+ long len = RARRAY_LEN(ary);
+
if (idx < 0) {
- idx += RARRAY(ary)->len;
+ idx += len;
if (idx < 0) {
- rb_raise(rb_eIndexError, "index %ld out of array",
- idx - RARRAY(ary)->len);
+ rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",
+ idx - len, -len);
}
}
+ else if (idx >= ARY_MAX_SIZE) {
+ rb_raise(rb_eIndexError, "index %ld too big", idx);
+ }
rb_ary_modify(ary);
- if (idx >= RARRAY(ary)->aux.capa) {
- long new_capa = RARRAY(ary)->aux.capa / 2;
+ if (idx >= ARY_CAPA(ary)) {
+ ary_double_capa(ary, idx);
+ }
+ if (idx > len) {
+ ary_mem_clear(ary, len, idx - len + 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;
+ if (idx >= len) {
+ ARY_SET_LEN(ary, idx + 1);
}
- if (idx > RARRAY(ary)->len) {
- rb_mem_clear(RARRAY(ary)->ptr + RARRAY(ary)->len,
- idx-RARRAY(ary)->len + 1);
+ 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;
+ }
+ 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));
+}
- if (idx >= RARRAY(ary)->len) {
- RARRAY(ary)->len = idx + 1;
+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;
}
- RARRAY(ary)->ptr[idx] = val;
+ return ary_make_partial(ary, rb_cArray, offset, n);
}
/*
* call-seq:
- * array << obj -> array
- *
+ * ary << obj -> ary
+ *
* 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.
@@ -398,241 +902,342 @@ rb_ary_store(ary, idx, val)
*/
VALUE
-rb_ary_push(ary, item)
- VALUE ary;
- VALUE item;
+rb_ary_push(VALUE ary, VALUE item)
{
- rb_ary_store(ary, RARRAY(ary)->len, 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)
+{
+ 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);
+ return ary;
+}
+
+/*
* call-seq:
- * array.push(obj, ... ) -> array
- *
- * Append---Pushes the given object(s) on to the end of this array. This
+ * ary.push(obj, ... ) -> ary
+ *
+ * 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.
+ * may be chained together. See also Array#pop for the opposite
+ * effect.
*
* 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(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_push_m(int argc, VALUE *argv, VALUE ary)
{
- while (argc--) {
- rb_ary_push(ary, *argv++);
- }
- return ary;
+ return rb_ary_cat(ary, argv, argc);
+}
+
+VALUE
+rb_ary_pop(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);
}
/*
* call-seq:
- * 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"]
+ * 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"]
*/
-VALUE
-rb_ary_pop(ary)
- VALUE ary;
+static VALUE
+rb_ary_pop_m(int argc, VALUE *argv, VALUE ary)
{
- rb_ary_modify_check(ary);
- 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);
+ VALUE result;
+
+ if (argc == 0) {
+ return rb_ary_pop(ary);
}
- return RARRAY(ary)->ptr[--RARRAY(ary)->len];
+
+ 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;
}
-static VALUE
-ary_make_shared(ary)
- VALUE ary;
+VALUE
+rb_ary_shift(VALUE ary)
{
- if (!FL_TEST(ary, ELTS_SHARED)) {
- NEWOBJ(shared, struct RArray);
- OBJSETUP(shared, rb_cArray, T_ARRAY);
+ VALUE top;
+ long len = RARRAY_LEN(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;
+ 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);
}
- else {
- return RARRAY(ary)->aux.shared;
+ else if (ARY_SHARED_OCCUPIED(ARY_SHARED(ary))) {
+ RARRAY_PTR_USE(ary, ptr, ptr[0] = Qnil);
}
+ ARY_INCREASE_PTR(ary, 1); /* shift ptr */
+ ARY_INCREASE_LEN(ary, -1);
+
+ return top;
}
/*
* call-seq:
- * 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
+ * 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
* 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.shift #=> "-m"
+ * args #=> ["-q", "filename"]
+ *
+ * args = [ "-m", "-q", "filename" ]
+ * args.shift(2) #=> ["-m", "-q"]
+ * args #=> ["filename"]
*/
-VALUE
-rb_ary_shift(ary)
- VALUE ary;
+static VALUE
+rb_ary_shift_m(int argc, VALUE *argv, VALUE ary)
{
- VALUE top;
+ VALUE result;
+ long n;
+
+ if (argc == 0) {
+ return rb_ary_shift(ary);
+ }
rb_ary_modify_check(ary);
- if (RARRAY(ary)->len == 0) return Qnil;
- top = RARRAY(ary)->ptr[0];
- ary_make_shared(ary);
- RARRAY(ary)->ptr++; /* shift ptr */
- RARRAY(ary)->len--;
+ 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))) {
+ setup_occupied_shared:
+ ary_mem_clear(ary, 0, n);
+ }
+ ARY_INCREASE_PTR(ary, n);
+ }
+ else {
+ if (RARRAY_LEN(ary) < ARY_DEFAULT_SIZE) {
+ RARRAY_PTR_USE(ary, ptr, {
+ MEMMOVE(ptr, ptr+n, VALUE, RARRAY_LEN(ary)-n);
+ }); /* WB: no new reference */
+ }
+ else {
+ ary_make_shared(ary);
+ goto setup_occupied_shared;
+ }
+ }
+ ARY_INCREASE_LEN(ary, -n);
- return top;
+ return result;
}
-VALUE
-rb_ary_unshift(ary, item)
- VALUE ary, item;
+static VALUE
+ary_ensure_room_for_unshift(VALUE ary, int argc)
{
- rb_ary_modify(ary);
- if (RARRAY(ary)->len == RARRAY(ary)->aux.capa) {
- long capa_inc = RARRAY(ary)->aux.capa / 2;
- if (capa_inc < ARY_DEFAULT_SIZE) {
- capa_inc = ARY_DEFAULT_SIZE;
+ 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;
}
- RARRAY(ary)->aux.capa += capa_inc;
- REALLOC_N(RARRAY(ary)->ptr, VALUE, RARRAY(ary)->aux.capa);
}
- /* sliding items */
- MEMMOVE(RARRAY(ary)->ptr + 1, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
-
- RARRAY(ary)->len++;
- RARRAY(ary)->ptr[0] = item;
+ rb_ary_modify(ary);
+ capa = ARY_CAPA(ary);
+ if (capa - (capa >> 6) <= new_len) {
+ ary_double_capa(ary, new_len);
+ }
+
+ /* use shared array for big "queues" */
+ if (new_len > ARY_DEFAULT_SIZE * 4) {
+ /* make a room for unshifted items */
+ capa = ARY_CAPA(ary);
+ ary_make_shared(ary);
+
+ 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);
+ });
- return ary;
+ return ary;
+ }
}
/*
* call-seq:
- * array.unshift(obj, ...) -> array
- *
- * Prepends objects to the front of <i>array</i>.
- * other elements up one.
- *
+ * ary.unshift(obj, ...) -> ary
+ *
+ * Prepends objects to the front of +self+, moving other elements upwards.
+ * See also Array#shift for the opposite effect.
+ *
* 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(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_unshift_m(int argc, VALUE *argv, VALUE ary)
{
- long len = RARRAY(ary)->len;
-
- if (argc == 0) return ary;
+ long len = RARRAY_LEN(ary);
+ VALUE target_ary;
- /* make rooms by setting the last item */
- rb_ary_store(ary, len + argc - 1, Qnil);
+ if (argc == 0) {
+ rb_ary_modify_check(ary);
+ return ary;
+ }
- /* sliding items */
- MEMMOVE(RARRAY(ary)->ptr + argc, RARRAY(ary)->ptr, VALUE, len);
- MEMCPY(RARRAY(ary)->ptr, argv, VALUE, argc);
-
+ 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;
}
+VALUE
+rb_ary_unshift(VALUE ary, VALUE item)
+{
+ return rb_ary_unshift_m(1,&item,ary);
+}
+
/* faster version - use this if you don't need to treat negative offset */
static inline VALUE
-rb_ary_elt(ary, offset)
- VALUE ary;
- long offset;
+rb_ary_elt(VALUE ary, long offset)
{
- if (RARRAY(ary)->len == 0) return Qnil;
- if (offset < 0 || RARRAY(ary)->len <= offset) {
+ long len = RARRAY_LEN(ary);
+ if (len == 0) return Qnil;
+ if (offset < 0 || len <= offset) {
return Qnil;
}
- return RARRAY(ary)->ptr[offset];
+ return RARRAY_AREF(ary, offset);
}
VALUE
-rb_ary_entry(ary, offset)
- VALUE ary;
- long offset;
+rb_ary_entry(VALUE ary, long offset)
{
if (offset < 0) {
- offset += RARRAY(ary)->len;
+ offset += RARRAY_LEN(ary);
}
return rb_ary_elt(ary, offset);
}
-static VALUE
-rb_ary_subseq(ary, beg, len)
- VALUE ary;
- long beg, len;
+VALUE
+rb_ary_subseq(VALUE ary, long beg, long len)
{
- VALUE klass, ary2, shared;
- VALUE *ptr;
+ VALUE klass;
+ long alen = RARRAY_LEN(ary);
- if (beg > RARRAY(ary)->len) return Qnil;
+ if (beg > alen) return Qnil;
if (beg < 0 || len < 0) return Qnil;
- if (RARRAY(ary)->len < len || RARRAY(ary)->len < beg + len) {
- len = RARRAY(ary)->len - beg;
- if (len < 0)
- len = 0;
+ if (alen < len || alen < beg + len) {
+ len = alen - beg;
}
klass = rb_obj_class(ary);
if (len == 0) return ary_new(klass, 0);
- 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;
+ return ary_make_partial(ary, klass, beg, len);
}
-/*
+/*
* call-seq:
- * 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
+ * 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 _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.
+ * 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.
+ *
+ * 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.
*
* a = [ "a", "b", "c", "d", "e" ]
* a[2] + a[0] + a[1] #=> "cab"
@@ -644,44 +1249,36 @@ rb_ary_subseq(ary, beg, 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(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_aref(int argc, const 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(ary)->len;
+ beg += RARRAY_LEN(ary);
}
return rb_ary_subseq(ary, beg, len);
}
if (argc != 1) {
- rb_scan_args(argc, argv, "11", 0, 0);
+ rb_scan_args(argc, argv, "11", NULL, NULL);
}
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(ary)->len, 0)) {
+ switch (rb_range_beg_len(arg, &beg, &len, RARRAY_LEN(ary), 0)) {
case Qfalse:
break;
case Qnil:
@@ -692,129 +1289,105 @@ rb_ary_aref(argc, argv, ary)
return rb_ary_entry(ary, NUM2LONG(arg));
}
-/*
+/*
* call-seq:
- * array.at(index) -> obj or nil
+ * ary.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 <code>Array#[]</code>.
- * (<code>Array#at</code> is slightly faster than <code>Array#[]</code>,
- * as it does not accept ranges and so on.)
+ * 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#[].
*
* a = [ "a", "b", "c", "d", "e" ]
* a.at(0) #=> "a"
* a.at(-1) #=> "e"
*/
-static VALUE
-rb_ary_at(ary, pos)
- VALUE ary, pos;
+VALUE
+rb_ary_at(VALUE ary, VALUE pos)
{
return rb_ary_entry(ary, NUM2LONG(pos));
}
/*
* call-seq:
- * array.first -> obj or nil
- * array.first(n) -> an_array
+ * ary.first -> obj or nil
+ * ary.first(n) -> new_ary
*
* Returns the first element, or the first +n+ elements, of the array.
- * If the array is empty, the first form returns <code>nil</code>, and the
- * second form returns an empty 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.
*
* a = [ "q", "r", "s", "t" ]
- * a.first #=> "q"
- * a.first(1) #=> ["q"]
- * a.first(3) #=> ["q", "r", "s"]
+ * a.first #=> "q"
+ * a.first(2) #=> ["q", "r"]
*/
static VALUE
-rb_ary_first(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_first(int argc, VALUE *argv, VALUE ary)
{
if (argc == 0) {
- if (RARRAY(ary)->len == 0) return Qnil;
- return RARRAY(ary)->ptr[0];
+ if (RARRAY_LEN(ary) == 0) return Qnil;
+ return RARRAY_AREF(ary, 0);
}
else {
- 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;
+ return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_FIRST);
}
}
/*
* call-seq:
- * 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"
+ * 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"]
*/
-static VALUE
-rb_ary_last(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+VALUE
+rb_ary_last(int argc, const VALUE *argv, VALUE ary)
{
if (argc == 0) {
- if (RARRAY(ary)->len == 0) return Qnil;
- return RARRAY(ary)->ptr[RARRAY(ary)->len-1];
+ long len = RARRAY_LEN(ary);
+ if (len == 0) return Qnil;
+ return RARRAY_AREF(ary, len-1);
}
else {
- 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;
+ return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);
}
}
/*
* call-seq:
- * 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.
- *
+ * 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.
+ *
* a = [ 11, 22, 33, 44 ]
* a.fetch(1) #=> 22
* a.fetch(-1) #=> 44
* a.fetch(4, 'cat') #=> "cat"
- * a.fetch(4) { |i| i*i } #=> 16
+ * a.fetch(100) { |i| puts "#{i} is out of bounds" }
+ * #=> "100 is out of bounds"
*/
static VALUE
-rb_ary_fetch(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_fetch(int argc, VALUE *argv, VALUE ary)
{
VALUE pos, ifnone;
long block_given;
@@ -828,198 +1401,305 @@ rb_ary_fetch(argc, argv, ary)
idx = NUM2LONG(pos);
if (idx < 0) {
- idx += RARRAY(ary)->len;
+ idx += RARRAY_LEN(ary);
}
- if (idx < 0 || RARRAY(ary)->len <= idx) {
+ if (idx < 0 || RARRAY_LEN(ary) <= idx) {
if (block_given) return rb_yield(pos);
if (argc == 1) {
- rb_raise(rb_eIndexError, "index %ld out of array", idx);
+ 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));
}
return ifnone;
}
- return RARRAY(ary)->ptr[idx];
+ return RARRAY_AREF(ary, idx);
}
/*
* call-seq:
- * 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.
- *
+ * 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.
+ *
* a = [ "a", "b", "c" ]
- * a.index("b") #=> 1
- * a.index("z") #=> nil
+ * a.index("b") #=> 1
+ * a.index("z") #=> nil
+ * a.index { |x| x == "b" } #=> 1
*/
static VALUE
-rb_ary_index(ary, val)
- VALUE ary;
- VALUE val;
+rb_ary_index(int argc, VALUE *argv, VALUE ary)
{
- long i;
+ const VALUE *ptr;
+ VALUE val;
+ long i, len;
- for (i=0; i<RARRAY(ary)->len; i++) {
- if (rb_equal(RARRAY(ary)->ptr[i], val))
+ 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:
return LONG2NUM(i);
+ case Qfalse:
+ continue;
+ }
+ len = RARRAY_LEN(ary);
+ ptr = RARRAY_CONST_PTR(ary);
}
return Qnil;
}
/*
* call-seq:
- * 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.
- *
+ * 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.
+ *
* a = [ "a", "b", "b", "b", "c" ]
- * a.rindex("b") #=> 3
- * a.rindex("z") #=> nil
+ * a.rindex("b") #=> 3
+ * a.rindex("z") #=> nil
+ * a.rindex { |x| x == "b" } #=> 3
*/
static VALUE
-rb_ary_rindex(ary, val)
- VALUE ary;
- VALUE val;
+rb_ary_rindex(int argc, VALUE *argv, VALUE ary)
{
- long i = RARRAY(ary)->len;
+ const VALUE *ptr;
+ VALUE val;
+ long i = RARRAY_LEN(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--) {
- if (i > RARRAY(ary)->len) {
- i = RARRAY(ary)->len;
+ 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:
continue;
}
- if (rb_equal(RARRAY(ary)->ptr[i], val))
- return LONG2NUM(i);
+ if (i > (len = RARRAY_LEN(ary))) {
+ i = len;
+ }
+ ptr = RARRAY_CONST_PTR(ary);
}
return Qnil;
}
-/*
- * 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 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;
-}
-
VALUE
-rb_ary_to_ary(obj)
- VALUE obj;
+rb_ary_to_ary(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");
- }
+ VALUE tmp = rb_check_array_type(obj);
+
+ if (!NIL_P(tmp)) return tmp;
return rb_ary_new3(1, obj);
}
static void
-rb_ary_splice(ary, beg, len, rpl)
- VALUE ary;
- long beg, len;
- VALUE rpl;
+rb_ary_splice(VALUE ary, long beg, long 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 += RARRAY(ary)->len;
+ beg += olen;
if (beg < 0) {
- beg -= RARRAY(ary)->len;
- rb_raise(rb_eIndexError, "index %ld out of array", beg);
+ rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",
+ beg - olen, -olen);
}
}
- if (RARRAY(ary)->len < len || RARRAY(ary)->len < beg + len) {
- len = RARRAY(ary)->len - beg;
+ if (olen < len || olen < beg + len) {
+ len = olen - beg;
}
- if (NIL_P(rpl)) {
+ if (rpl == Qundef) {
rlen = 0;
}
else {
rpl = rb_ary_to_ary(rpl);
- rlen = RARRAY(rpl)->len;
+ rlen = RARRAY_LEN(rpl);
+ olen = RARRAY_LEN(ary); /* ary may be resized in rpl.to_ary too */
}
- rb_ary_modify(ary);
-
- if (beg >= RARRAY(ary)->len) {
- len = beg + rlen;
- if (len >= RARRAY(ary)->aux.capa) {
- REALLOC_N(RARRAY(ary)->ptr, VALUE, len);
- RARRAY(ary)->aux.capa = len;
+ if (beg >= olen) {
+ VALUE target_ary;
+ if (beg > ARY_MAX_SIZE - rlen) {
+ rb_raise(rb_eIndexError, "index %ld too big", beg);
}
- rb_mem_clear(RARRAY(ary)->ptr + RARRAY(ary)->len, beg - RARRAY(ary)->len);
+ target_ary = ary_ensure_room_for_push(ary, rlen-len); /* len is 0 or negative */
+ len = beg + rlen;
+ ary_mem_clear(ary, olen, beg - olen);
if (rlen > 0) {
- MEMCPY(RARRAY(ary)->ptr + beg, RARRAY(rpl)->ptr, VALUE, rlen);
+ ary_memcpy0(ary, beg, rlen, RARRAY_CONST_PTR(rpl), target_ary);
}
- RARRAY(ary)->len = len;
+ ARY_SET_LEN(ary, len);
}
else {
long alen;
- if (beg + len > RARRAY(ary)->len) {
- len = RARRAY(ary)->len - beg;
+ if (olen - len > ARY_MAX_SIZE - rlen) {
+ rb_raise(rb_eIndexError, "index %ld too big", olen + rlen - len);
}
-
- alen = RARRAY(ary)->len + rlen - len;
- if (alen >= RARRAY(ary)->aux.capa) {
- REALLOC_N(RARRAY(ary)->ptr, VALUE, alen);
- RARRAY(ary)->aux.capa = alen;
+ rb_ary_modify(ary);
+ alen = olen + rlen - len;
+ if (alen >= ARY_CAPA(ary)) {
+ ary_double_capa(ary, alen);
}
if (len != rlen) {
- MEMMOVE(RARRAY(ary)->ptr + beg + rlen, RARRAY(ary)->ptr + beg + len,
- VALUE, RARRAY(ary)->len - (beg + len));
- RARRAY(ary)->len = alen;
+ RARRAY_PTR_USE(ary, ptr,
+ MEMMOVE(ptr + beg + rlen, ptr + beg + len,
+ VALUE, olen - (beg + len)));
+ ARY_SET_LEN(ary, alen);
}
if (rlen > 0) {
- MEMMOVE(RARRAY(ary)->ptr + beg, RARRAY(rpl)->ptr, VALUE, rlen);
+ MEMMOVE(RARRAY_PTR(ary) + beg, RARRAY_CONST_PTR(rpl), 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:
- * 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
+ * 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.
*
- * 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"]
@@ -1027,38 +1707,31 @@ rb_ary_splice(ary, beg, len, rpl)
* a[0, 2] = "?" #=> ["?", 2, nil, "4"]
* a[0..2] = "A" #=> ["A", "4"]
* a[-1] = "Z" #=> ["A", "Z"]
- * a[1..-1] = nil #=> ["A"]
+ * 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"]
*/
static VALUE
-rb_ary_aset(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_aset(int argc, VALUE *argv, VALUE ary)
{
long offset, beg, len;
if (argc == 3) {
- 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]);
+ rb_ary_modify_check(ary);
+ beg = NUM2LONG(argv[0]);
+ len = NUM2LONG(argv[1]);
+ rb_ary_splice(ary, beg, len, argv[2]);
return argv[2];
}
- if (argc != 2) {
- rb_raise(rb_eArgError, "wrong number of arguments (%d for 2)", argc);
- }
+ rb_check_arity(argc, 2, 2);
+ rb_ary_modify_check(ary);
if (FIXNUM_P(argv[0])) {
offset = FIX2LONG(argv[0]);
goto fixnum;
}
- 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)) {
+ if (rb_range_beg_len(argv[0], &beg, &len, RARRAY_LEN(ary), 1)) {
/* check if idx is Range */
rb_ary_splice(ary, beg, len, argv[1]);
return argv[1];
@@ -1072,31 +1745,31 @@ fixnum:
/*
* call-seq:
- * array.insert(index, obj...) -> array
- *
- * Inserts the given values before the element with the given index
- * (which may be negative).
- *
+ * 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.
+ *
* 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(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_insert(int argc, VALUE *argv, VALUE ary)
{
long pos;
- if (argc == 1) return ary;
- if (argc < 1) {
- rb_raise(rb_eArgError, "wrong number of arguments (at least 1)");
- }
+ rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);
+ rb_ary_modify_check(ary);
pos = NUM2LONG(argv[0]);
+ if (argc == 1) return ary;
if (pos == -1) {
- pos = RARRAY(ary)->len;
+ pos = RARRAY_LEN(ary);
}
if (pos < 0) {
pos++;
@@ -1105,55 +1778,70 @@ rb_ary_insert(argc, argv, 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:
- * array.each {|item| block } -> array
- *
- * Calls <i>block</i> once for each element in <i>self</i>, passing that
- * element as a parameter.
- *
+ * ary.each { |item| block } -> ary
+ * ary.each -> Enumerator
+ *
+ * Calls the given block once for each element in +self+, passing that element
+ * as a parameter. Returns the array itself.
+ *
+ * If no block is given, an Enumerator is returned.
+ *
* a = [ "a", "b", "c" ]
* a.each {|x| print x, " -- " }
- *
+ *
* produces:
- *
+ *
* a -- b -- c --
*/
VALUE
-rb_ary_each(ary)
- VALUE ary;
+rb_ary_each(VALUE ary)
{
long i;
- for (i=0; i<RARRAY(ary)->len; i++) {
- rb_yield(RARRAY(ary)->ptr[i]);
+ RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
+ for (i=0; i<RARRAY_LEN(ary); i++) {
+ rb_yield(RARRAY_AREF(ary, i));
}
return ary;
}
/*
* call-seq:
- * array.each_index {|index| block } -> array
- *
- * Same as <code>Array#each</code>, but passes the index of the element
- * instead of the element itself.
- *
+ * 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.
+ *
* a = [ "a", "b", "c" ]
* a.each_index {|x| print x, " -- " }
- *
+ *
* produces:
- *
+ *
* 0 -- 1 -- 2 --
*/
static VALUE
-rb_ary_each_index(ary)
- VALUE ary;
+rb_ary_each_index(VALUE ary)
{
long i;
+ RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
- for (i=0; i<RARRAY(ary)->len; i++) {
+ for (i=0; i<RARRAY_LEN(ary); i++) {
rb_yield(LONG2NUM(i));
}
return ary;
@@ -1161,29 +1849,32 @@ rb_ary_each_index(ary)
/*
* call-seq:
- * array.reverse_each {|item| block }
- *
- * Same as <code>Array#each</code>, but traverses <i>self</i> in reverse
- * order.
- *
+ * ary.reverse_each { |item| block } -> ary
+ * ary.reverse_each -> Enumerator
+ *
+ * Same as Array#each, but traverses +self+ in reverse order.
+ *
* a = [ "a", "b", "c" ]
* a.reverse_each {|x| print x, " " }
- *
+ *
* produces:
- *
+ *
* c b a
*/
static VALUE
-rb_ary_reverse_each(ary)
- VALUE ary;
+rb_ary_reverse_each(VALUE ary)
{
- long len = RARRAY(ary)->len;
+ long len;
+ RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
+ len = RARRAY_LEN(ary);
while (len--) {
- rb_yield(RARRAY(ary)->ptr[len]);
- if (RARRAY(ary)->len < len) {
- len = RARRAY(ary)->len;
+ long nlen;
+ rb_yield(RARRAY_AREF(ary, len));
+ nlen = RARRAY_LEN(ary);
+ if (nlen < len) {
+ len = nlen;
}
}
return ary;
@@ -1191,555 +1882,896 @@ rb_ary_reverse_each(ary)
/*
* call-seq:
- * array.length -> int
- *
- * Returns the number of elements in <i>self</i>. May be zero.
- *
+ * ary.length -> int
+ *
+ * Returns the number of elements in +self+. May be zero.
+ *
* [ 1, 2, 3, 4, 5 ].length #=> 5
+ * [].length #=> 0
*/
static VALUE
-rb_ary_length(ary)
- VALUE ary;
+rb_ary_length(VALUE ary)
{
- return LONG2NUM(RARRAY(ary)->len);
+ long len = RARRAY_LEN(ary);
+ return LONG2NUM(len);
}
/*
* call-seq:
- * array.empty? -> true or false
- *
- * Returns <code>true</code> if <i>self</i> array contains no elements.
- *
+ * ary.empty? -> true or false
+ *
+ * Returns +true+ if +self+ contains no elements.
+ *
* [].empty? #=> true
*/
static VALUE
-rb_ary_empty_p(ary)
- VALUE ary;
+rb_ary_empty_p(VALUE ary)
{
- if (RARRAY(ary)->len == 0)
+ if (RARRAY_LEN(ary) == 0)
return Qtrue;
return Qfalse;
}
VALUE
-rb_ary_dup(ary)
- VALUE ary;
+rb_ary_dup(VALUE ary)
{
- VALUE dup = rb_ary_new2(RARRAY(ary)->len);
-
- DUPSETUP(dup, ary);
- MEMCPY(RARRAY(dup)->ptr, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
- RARRAY(dup)->len = RARRAY(ary)->len;
+ 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
+rb_ary_resurrect(VALUE ary)
+{
+ return rb_ary_new4(RARRAY_LEN(ary), RARRAY_CONST_PTR(ary));
+}
+
extern VALUE rb_output_fs;
+static void ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first);
+
static VALUE
-inspect_join(ary, arg)
- VALUE ary;
- VALUE *arg;
+recursive_join(VALUE obj, VALUE argp, int recur)
{
- return rb_ary_join(arg[0], arg[1]);
+ 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;
}
-VALUE
-rb_ary_join(ary, sep)
- VALUE ary, sep;
+static void
+ary_join_0(VALUE ary, VALUE sep, long max, VALUE result)
{
- long len = 1, i;
- int taint = Qfalse;
- VALUE result, tmp;
-
- if (RARRAY(ary)->len == 0) return rb_str_new(0, 0);
- if (OBJ_TAINTED(ary) || OBJ_TAINTED(sep)) taint = Qtrue;
+ long i;
+ VALUE val;
- 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);
+ 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);
}
- 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("[...]");
+}
+
+static void
+ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first)
+{
+ VALUE val, tmp;
+
+ for (; i<RARRAY_LEN(ary); i++) {
+ if (i > 0 && !NIL_P(sep))
+ rb_str_buf_append(result, sep);
+
+ 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");
}
else {
- VALUE args[2];
+ VALUE args[4];
- args[0] = tmp;
+ args[0] = val;
args[1] = sep;
- tmp = rb_protect_inspect(inspect_join, ary, (VALUE)args);
+ args[2] = result;
+ args[3] = (VALUE)first;
+ rb_exec_recursive(recursive_join, obj, (VALUE)args);
}
- break;
- default:
- tmp = rb_obj_as_string(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;
+ else {
+ tmp = rb_check_string_type(val);
+ if (!NIL_P(tmp)) {
+ val = tmp;
+ goto str_join;
+ }
+ tmp = rb_check_convert_type(val, T_ARRAY, "Array", "to_ary");
+ if (!NIL_P(tmp)) {
+ obj = val;
+ val = tmp;
+ goto ary_join;
+ }
+ val = rb_obj_as_string(val);
+ if (*first) {
+ rb_enc_copy(result, val);
+ *first = FALSE;
+ }
+ goto str_join;
+ }
}
+}
+VALUE
+rb_ary_join(VALUE ary, VALUE sep)
+{
+ long len = 1, i;
+ int taint = FALSE;
+ VALUE val, tmp, result;
+
+ if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new(0, 0);
+ if (OBJ_TAINTED(ary)) taint = TRUE;
+
+ if (!NIL_P(sep)) {
+ StringValue(sep);
+ len += RSTRING_LEN(sep) * (RARRAY_LEN(ary) - 1);
+ }
+ for (i=0; i<RARRAY_LEN(ary); i++) {
+ val = RARRAY_AREF(ary, i);
+ tmp = rb_check_string_type(val);
+
+ if (NIL_P(tmp) || tmp != val) {
+ int first;
+ result = rb_str_buf_new(len + (RARRAY_LEN(ary)-i)*10);
+ rb_enc_associate(result, rb_usascii_encoding());
+ if (taint) OBJ_TAINT(result);
+ ary_join_0(ary, sep, i, result);
+ first = i == 0;
+ ary_join_1(ary, ary, sep, i, result, &first);
+ return result;
+ }
+
+ len += RSTRING_LEN(tmp);
+ }
+
+ result = rb_str_buf_new(len);
if (taint) OBJ_TAINT(result);
+ ary_join_0(ary, sep, RARRAY_LEN(ary), result);
+
return result;
}
/*
* call-seq:
- * array.join(sep=$,) -> str
- *
+ * ary.join(separator=$,) -> str
+ *
* Returns a string created by converting each element of the array to
- * a string, separated by <i>sep</i>.
- *
+ * 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", "b", "c" ].join #=> "abc"
* [ "a", "b", "c" ].join("-") #=> "a-b-c"
*/
static VALUE
-rb_ary_join_m(argc, argv, ary)
- int argc;
- VALUE *argv;
- VALUE ary;
+rb_ary_join_m(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:
- * array.to_s -> string
- *
- * Returns _self_<code>.join</code>.
- *
- * [ "a", "e", "i", "o" ].to_s #=> "aeio"
+ * ary.inspect -> string
+ * ary.to_s -> string
*
+ * Creates a string representation of +self+.
+ *
+ * [ "a", "b", "c" ].to_s #=> "[\"a\", \"b\", \"c\"]"
*/
-VALUE
-rb_ary_to_s(ary)
- VALUE ary;
+static VALUE
+rb_ary_inspect(VALUE ary)
{
- if (RARRAY(ary)->len == 0) return rb_str_new(0, 0);
-
- return rb_ary_join(ary, rb_output_fs);
+ if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new2("[]");
+ return rb_exec_recursive(inspect_ary, ary, 0);
}
-static ID inspect_key;
+VALUE
+rb_ary_to_s(VALUE ary)
+{
+ return rb_ary_inspect(ary);
+}
-struct inspect_arg {
- VALUE (*func)();
- VALUE arg1, arg2;
-};
+/*
+ * call-seq:
+ * ary.to_a -> ary
+ *
+ * Returns +self+.
+ *
+ * If called on a subclass of Array, converts the receiver to an Array object.
+ */
static VALUE
-inspect_call(arg)
- struct inspect_arg *arg;
+rb_ary_to_a(VALUE ary)
{
- return (*arg->func)(arg->arg1, arg->arg2);
+ if (rb_obj_class(ary) != rb_cArray) {
+ VALUE dup = rb_ary_new2(RARRAY_LEN(ary));
+ rb_ary_replace(dup, ary);
+ return dup;
+ }
+ return ary;
}
+/*
+ * 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
-get_inspect_tbl(create)
- int create;
+rb_ary_to_h(VALUE ary)
{
- 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);