diff options
Diffstat (limited to 'doc/ChangeLog/ChangeLog-2.1.0')
-rw-r--r-- | doc/ChangeLog/ChangeLog-2.1.0 | 18060 |
1 files changed, 18060 insertions, 0 deletions
diff --git a/doc/ChangeLog/ChangeLog-2.1.0 b/doc/ChangeLog/ChangeLog-2.1.0 new file mode 100644 index 0000000000..5b670b31c9 --- /dev/null +++ b/doc/ChangeLog/ChangeLog-2.1.0 @@ -0,0 +1,18060 @@ +Fri Dec 20 17:52:50 2013 Koichi Sasada <ko1@atdot.net> + + * vm_method.c: check definition of + GLOBAL_METHOD_CACHE_SIZE and GLOBAL_METHOD_CACHE_MASK. + +Fri Dec 20 17:03:10 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: rename OBJ_WRITE and OBJ_WRITTEN into + RB_OBJ_WRITE and RB_OBJ_WRITTEN. + + * array.c, class.c, compile.c, hash.c, internal.h, iseq.c, + proc.c, process.c, re.c, string.c, variable.c, vm.c, + vm_eval.c, vm_insnhelper.c, vm_insnhelper.h, + vm_method.c: catch up this change. + +Fri Dec 20 16:01:35 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: add a comment for WB interfaces. + +Fri Dec 20 16:00:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: DLDFLAGS is defined in --with-opt-dir handler, so + ${DLDFLAGS=} does not work now. use RUBY_APPEND_OPTIONS instead. + [ruby-dev:47855] [Bug #9256] + +Fri Dec 20 14:19:12 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * configure.in (AC_ARG_WITH): use withval directly. + fix failure on FreeBSD. + http://fb32.rubyci.org/~chkbuild/ruby-trunk/log/20131217T070301Z.diff.html.gz + +Fri Dec 20 14:00:01 2013 Aman Gupta <ruby@tmm1.net> + + * include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl. + since RCLASS_SUPER() is commonly used inside while loops, we move it + back inside struct RClass to improve cache hits. this provides a + small improvement (1%) in hotspots like rb_obj_is_kind_of() + * internal.h (struct rb_classext_struct): remove super, add + iv_index_table + * internal.h (RCLASS_SUPER): update for new location + * internal.h (RCLASS_SET_SUPER): ditto + * internal.h (RCLASS_IV_INDEX_TBL): ditto + * object.c (rb_class_get_superclass): ditto + * include/ruby/backward/classext.h (RCLASS_SUPER): ditto + +Fri Dec 20 07:07:35 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 03d6ae7. Changes include: + + * Fixed typos. + + * Relaxed Gem.ruby test for ruby packagers that do not use `ruby`. + + * test/rubygems: ditto. + +Thu Dec 19 14:03:04 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (heap_get_freeobj): improve hot path performance. + + * gc.c (heap_get_freeobj_from_next_freepage): replace with + heap_get_freepage(). It returns freeobj instead of freepage. + This is not on hot path. + +Thu Dec 19 12:05:17 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master af60443. Changes include: + + * Improved speed of `gem install --ignore-dependencies`. + + * Open read-write for exclusive flock. [ruby-trunk - Bug #9257] + + * Remove specification before install to prevent infinite loop. + +Thu Dec 19 11:23:49 2013 Aman Gupta <ruby@tmm1.net> + + * vm_insnhelper.c (vm_call_iseq_setup_normal): simple for loop + condition optimization. this area shows up as a hotspot in VM + profiles. + +Thu Dec 19 10:50:13 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (newobj_of): don't need to RBASIC_SET_CLASS() which includes WB + here because created obj is always YOUNG/INFANT. + +Thu Dec 19 10:48:37 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: check GC::OPTS availability + for not MRI 2.1.0. + +Thu Dec 19 03:10:30 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (heap_get_freeobj): remove redundant assignment. heap->freelist + is set after the while() loop already. + +Thu Dec 19 01:54:30 2013 Koichi Sasada <ko1@atdot.net> + + * test/runner.rb: fix commit miss on r44278. + +Thu Dec 19 00:26:11 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (garbage_collect_body): lazy_sweep setting should work + without USE_RGENGC. + +Wed Dec 18 23:31:04 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_dump_major_reason): fix this function because major_reason + can be OR of multiple reasons. + + * gc.c (gc_profile_dump_on): ditto. + +Wed Dec 18 17:03:00 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_record_get): should return an empty array + when profiling is active. + +Wed Dec 18 16:49:40 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_clear, gc_profile_enable): remove rest_sweep(). + + * gc.c: check objspace->profile.current_record before inserting + profiling record by new macro gc_prof_enabled(). + +Wed Dec 18 14:32:06 2013 Koichi Sasada <ko1@atdot.net> + + * vm_exec.h (VM_DEBUG_STACKOVERFLOW): added. + disable stack overflow check for every stack pushing as default. + + * vm_exec.c (vm_stack_overflow_for_insn): ditto. + +Wed Dec 18 10:00:22 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master d8f12e2. This increases the + speed of `gem install --ignore-dependencies` which helps bundler + tests. + * test/rubygems: ditto. + +Wed Dec 18 09:00:17 2013 Koichi Sasada <ko1@atdot.net> + + * test/ruby/test_gc.rb (test_expand_heap): allow +/-1 diff. + +Tue Dec 17 23:44:15 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * test/ruby/test_io.rb: fix duplicated test name. + +Tue Dec 17 20:15:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_reject): revert to deprecated behavior, with + warnings, due to compatibility for HashWithDifferentAccess. + [ruby-core:59154] [Bug #9223] + +Tue Dec 17 17:30:56 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el: Import version 2.1.1 from + https://github.com/knu/ruby-electric.el. + + * ruby-electric-delete-backward-char: Enable support for number + prefix. + + * ruby-electric-curlies: Fix electric operation after an open + curly. + +Tue Dec 17 16:19:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_trace.c (rb_postponed_job_flush): isolate exceptions in + postponed jobs and restore outer ones. based on a patch by + tarui. [ruby-core:58652] [Bug #9168] + +Tue Dec 17 10:48:04 2013 Aman Gupta <ruby@tmm1.net> + + * configure.in (RUBY_DTRACE_POSTPROCESS): Fix compatibility with + systemtap on linux. stap requires `dtrace -G` post-processing, but + the dtrace compatibility wrapper is very strict about probes.d + syntax. + +Tue Dec 17 05:18:17 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems + repackagers to disable backward-compatible shared gem directory + behavior. + * test/rubygems: ditto. + +Tue Dec 17 05:14:35 2013 Eric Hodel <drbrain@segment7.net> + + * NEWS (RDoc): Update version number so I don't have to change it + for the final release. + +Mon Dec 16 19:19:19 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace_markable_object_p): should check special_const_p + first (by is_markable_object()). + +Mon Dec 16 19:12:54 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/objspace.c (reachable_object_from_root_i): use + compare_by_identity hash to avoid hash modify problem + during iteration. + [Bug #9252] + + * ext/objspace/objspace.c (reachable_objects_from_root): ditto. + +Mon Dec 16 18:16:28 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_verify_internal_consistency): should not use + rb_objspace_each_objects() because it call rest_sweep(). + +Mon Dec 16 18:07:30 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace_markable_object_p): fix last commit (build error). + +Mon Dec 16 18:04:28 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace_markable_object_p): it should be live objects. + +Mon Dec 16 18:00:51 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep + flag in nested case. + +Mon Dec 16 16:40:35 2013 Koichi Sasada <ko1@atdot.net> + + * vm_method.c (rb_method_entry_make): fix WB miss. + Note that rb_method_entry_t::klass is not constified. + We may constify this field. + + * test/ruby/test_alias.rb: add a test. + +Mon Dec 16 14:14:22 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: use gc_verify_internal_consistency() instead of + gc_check_before_marks_i() for check consistency + on RGENGC_CHECK_MODE >= 2. + +Mon Dec 16 14:01:48 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * process.c (make_clock_result): add :second as a unit for + Process.clock_gettime. + +Mon Dec 16 13:10:54 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: introduce GC.verify_internal_consistency method to verify GC + internal data structure. + + Now this method only checks generation (old/young) consistency. + +Mon Dec 16 11:49:26 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (gc_info_decode): Fix build errors when compiled with + RGENGC_ESTIMATE_OLDMALLOC=0 + * gc.c (objspace_malloc_increase): ditto + +Sun Dec 15 13:38:29 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/objspace.c (reachable_object_from_root_i): + reachable objects should not include categories and + category_objects because it is noisy information. + + In fact, objects created after calling + ObjectSpace.reachable_objects_from_root should not be included + as a returning hash objects. Currently, mswin64 platform has a + problem because of this behavior. Should we trace new objects? + +Sun Dec 15 07:09:28 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc: Update to RDoc master 263a9e5. This improves the + accessibility of the search box. + +Sat Dec 14 17:39:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_insnhelper.c (vm_callee_setup_arg_complex): count post + arguments as mandatory arguments. [ruby-core:57706] [Bug #8993] + + * vm_insnhelper.c (vm_yield_setup_block_args): ditto. + +Sat Dec 14 16:26:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (rubylibprefix): replace exec_prefix as well as + bindir and libdir. a patch by kimuraw (Wataru Kimura) at + [ruby-dev:47852]. [Bug #9160] + +Sat Dec 14 14:42:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/logger.rb (lock_shift_log): no need to rotate the log file + if it has been rotated by another process. based on the patch + by no6v (Nobuhiro IMAI) in [ruby-core:58620]. [Bug #9133] + +Sat Dec 14 13:01:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (mnew_from_me): method by respond_to_missing? should be + owned by the original class. + +Sat Dec 14 11:55:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/scanf.rb (IO#scanf): fix mistaken use of rescue modifier. + a patch by Mon_Ouie at [ruby-core:52813]. [Bug #7940] + +Sat Dec 14 11:44:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * util.c (ruby_qsort): fix potential stack overflow on a large + machine. based on the patch by Conrad Irwin <conrad.irwin AT + gmail.com> at [ruby-core:51816]. [Bug #7772] + +Sat Dec 14 11:25:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (rb_mod_const_defined): support nested class path as + well as const_get. [Feature #7414] + +Sat Dec 14 01:31:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval.c (rb_rescue2): reuse tags pushed for body proc to protect + rescue proc too. + +Sat Dec 14 01:15:51 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (wmap_final_func): Bugfix. Should update *value to new pointer. + +Sat Dec 14 01:05:46 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because + it may be set before the body. + Reported by ko1 and mrkn. [ruby-core:59088] [Bug #9247] + + * lib/cgi/core.rb: Ditto. + + * lib/drb/ssl.rb: Ditto. + +Sat Dec 14 00:34:31 2013 Naohisa Goto <ngotogenome@gmail.com> + + * internal.h (ruby_sized_xrealloc2): fix typo introduced in r44117, + which cause compile error on Solaris. + +Sat Dec 14 00:22:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c: (exec_recursive): use rb_catch_protect() instead of + rb_catch_obj() and PUSH_TAG(), and reduce pushing tags and + machine stack usage. + +Sat Dec 14 00:18:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (mnew_from_me): achieve the original defined_class from + prepended iclass, to fix inherited owner. + + * proc.c (method_owner): return the defined class, but not the + class which the method object is created from. + +Fri Dec 13 22:29:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (method_owner): return the class where alias is defined, not + the class original method is defined. + + * vm_method.c (rb_method_entry_make, rb_alias): store the originally + defined class in me. [Bug #7993] [Bug #7842] [Bug #9236] + + * vm_method.c (rb_method_entry_get_without_cache): cache included + module but not iclass. + +Fri Dec 13 16:27:17 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (gc_info_decode): Use :major_by=>:nofree as fallback reason + when other trigger conditions are present. + +Fri Dec 13 13:25:30 2013 Koichi Sasada <ko1@atdot.net> + + * error.c: add Exception#backtrace_locations. + Now, there are no setter and independent from Exception#backtrace. + [Feature #8960] + + * eval.c (setup_exception): set backtrace locations for `bt_location' + special attribute. + + * vm_backtrace.c (rb_backtrace_to_location_ary): added. + + * internal.h: ditto. + + * test/ruby/test_backtrace.rb: add a test for + Exception#backtrace_locations. + +Fri Dec 13 12:01:07 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (garbage_collect_body): use rb_bug() and explicit error message + instead of using assert(). + [Bug #9222] + +Fri Dec 13 11:52:41 2013 Koichi Sasada <ko1@atdot.net> + + * array.c: fix comment to remove the word "shady". + + * variable.c: ditto. + +Fri Dec 13 11:33:55 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: rename *shady* func/macros. + * RVALUE_RAW_SHADY() -> RVALUE_WB_PROTECTED_RAW() + * RVALUE_SHADY() -> RVALUE_RAW_SHADY() + * rgengc_check_shady() -> rgengc_check_relation(). + And fix some messages using "shady" to "non-WB-protected". + +Fri Dec 13 10:04:23 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/request_set/lockfile.rb: Import RubyGems master a8d0669 + with a 1.8.7 compatibility fix. + * test/rubygems/test_gem_request_set_lockfile.rb: ditto. + +Fri Dec 13 09:50:49 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master ddac51f. Changes: + + * Allow override for the shared gem installation directory for + rubygems packagers. + + * Lock gem cache files for read and write to improve thread safety. + + * Use io/console when available. + + * Minor cleanup. + + * test/rubygems: ditto. + +Fri Dec 13 08:15:31 2013 Aman Gupta <ruby@tmm1.net> + + * class.c (include_modules_at): use RCLASS_M_TBL_WRAPPER for + equality checks. this avoids an unnecessary deference inside a tight + loop, fixing a performance regression from r43973. + * object.c (rb_obj_is_kind_of): ditto. + * object.c (rb_class_inherited_p): ditto. + +Wed Dec 13 02:00:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (VpSetPTR): fix for limitation of the resulting + precision. + [ruby-core:50269] [Bug #7458] + + * test/bigdecimal/test_bigdecimal.rb (test_limit): add tests for the above + change. + +Wed Dec 13 01:56:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (VpAddAbs): put out a conditional branch from + the inside of while-loop. + + * ext/bigdecimal/bigdecimal.c (VpSubAbs): ditto. + +Wed Dec 13 01:53:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (VPrint): be a static function, support another + dump formats, and add more information of the given bigdecimal. + + * ext/bigdecimal/bigdecimal.h: ditto. + +Wed Dec 11 16:45:58 2013 Koichi Sasada <ko1@atdot.net> + + * eval.c (rb_raise_jump): call c_return hook immediately after + popping `raise' frame. + Patches by deivid (David Rodriguez). [Bug #8886] + + * test/ruby/test_settracefunc.rb: catch up this fix. + +Wed Dec 11 16:01:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_reject): return a plain hash, without copying + the class, default value, instance variables, and taintedness. + they had been copied just by accident. + [ruby-core:59045] [Bug #9223] + +Wed Dec 11 15:36:15 2013 Aman Gupta <ruby@tmm1.net> + + * compile.c (iseq_specialized_instruction): emit opt_aset instruction + to optimize Hash#[]= and Array#[]= when called with Fixnum argument. + [Bug #9227] [ruby-core:58956] + +Wed Dec 11 04:54:03 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master ec8ed22. Notable changes + include: + + * Renamed extension_install_dir to extension_dir (backwards + compatible). + + * Fixed creation of gem.deps.rb.lock file from + TestGemRequestSet#test_install_from_gemdeps_install_dir + + * Fixed a typo and some documentation. + + * test/rubygems: ditto. + +Wed Dec 11 03:18:08 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * insns.def: Fix optimization bug of Float#/ [Bug #9238] + +Tue Dec 10 23:58:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/date/date_strptime.c (date__strptime_internal): unset + case-insensitive flag for [:alpha:], which already implies both + cases, to get rid of backtrack explosion. [ruby-core:58984] + [Bug #9221] + +Tue Dec 10 23:44:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_hash): add salt to differentiate false and empty + array. [ruby-core:58993] [Bug #9231] + + * hash.c (rb_any_hash, rb_hash_hash): ditto. + +Tue Dec 10 18:16:09 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> + + * man/ruby.1: [DOC] Use www.ruby-toolbox.com instead of RAA. + +Tue Dec 10 17:21:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (wmap_finalize, wmap_aset_update): use simple malloced array + instead of T_ARRAY, to reduce GC pressure. + +Tue Dec 10 15:56:48 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (reflist_add): revert changes from r44109. it is unnecessary + after r44113 + * gc.c (allrefs_i): fix whitespace + * gc.c (allrefs_roots_i): fix whitespace + +Tue Dec 10 15:46:03 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (allrefs_add): push obj only if allrefs table doesn't have + obj. + + * gc.c (allrefs_roots_i): ditto. + +Tue Dec 10 15:28:10 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (RGENGC_CHECK_MODE): separate checkers to different modes. + * 2: enable generational bits check (for debugging) + * 3: enable livness check + * 4: show all references + +Tue Dec 10 15:15:37 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_marks_check): disable GC during checking and + restore malloc_increase info. + +Tue Dec 10 14:41:53 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (reflist_add): return 0 if reference already exists + * gc.c (allrefs_add): return 1 on newly added references + * gc.c (allrefs_i): follow references to construct complete object + graph. before this patch, RGENGC_CHECK could fail to verify some WB + miss issues. [Bug #9226] [ruby-core:58959] + +Tue Dec 10 11:20:56 2013 Aman Gupta <ruby@tmm1.net> + + * ext/objspace/objspace_dump.c (dump_object): include fstring flag on + strings. include gc flags (old, remembered, wb_protected) on all objects. + * ext/objspace/objspace_dump.c (Init_objspace_dump): initialize lazy + IDs before first use. + * gc.c (rb_obj_gc_flags): new function to retrieve object flags + * internal.h (RB_OBJ_GC_FLAGS_MAX): maximum flags allowed for one obj + * test/objspace/test_objspace.rb (test_dump_flags): test for above + * test/objspace/test_objspace.rb (test_trace_object_allocations): + resolve name before dump (for rb_class_path_cached) + +Tue Dec 10 07:48:29 2013 Aman Gupta <ruby@tmm1.net> + + * vm_method.c (rb_clear_method_cache_by_class): fire + ruby::method-cache-clear probe on global or klass-level method cache + clear [Bug #9190] + * probes.d (provider ruby): new dtrace probe + * doc/dtrace_probes.rdoc: docs for new probe + * test/dtrace/test_method_cache.rb: test for new probe + +Tue Dec 10 06:14:11 2013 Eric Hodel <drbrain@segment7.net> + + * ext/.document: Remove curses from documentable directories. + +Tue Dec 10 04:55:36 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/lib/openssl/digest.rb: Deprecate OpenSSL::Digest::Digest + [Fixes GH-446] https://github.com/ruby/ruby/pull/446 + +Tue Dec 10 00:41:42 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * ext/thread/thread.c: [DOC] add call-seq alias for Queue#enq, #<<, etc. + + * ext/thread/thread.c (Init_thread): use rb_define_alias instead of + rb_alias to document alias. + +Mon Dec 9 20:00:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * internal.h (RCLASS_SERIAL): Add RCLASS_SERIAL as a convenience + accessor for RCLASS_EXT(klass)->class_serial. + + * class.c, vm_insnhelper.c, vm_method.c: Use RCLASS_SERIAL + +Mon Dec 9 19:50:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * compile.c, insns.def, test/ruby/test_rubyvm.rb, vm.c, vm_core.h, + vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Rename method_serial + to global_method_state and constant_serial to global_constant_state + after discussion with ko1. + +Mon Dec 9 18:50:43 2013 Aman Gupta <ruby@tmm1.net> + + * hash.c (rb_hash_replace): fix segv on `{}.replace({})` introduced + in r44060 [Bug #9230] [ruby-core:58991] + * test/ruby/test_hash.rb: regression test for above + +Mon Dec 9 18:10:10 2013 Koichi Sasada <ko1@atdot.net> + + * vm.c (vm_stat): renamed from ruby_vm_stat. + Should not use ruby_ prefix here. + +Mon Dec 9 16:13:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (wmap_size): add ObjectSpace::WeakMap#size and #length. + +Mon Dec 9 15:26:17 2013 Shugo Maeda <shugo@ruby-lang.org> + + * test/test_curses.rb: removed. + +Mon Dec 9 13:36:55 2013 Shugo Maeda <shugo@ruby-lang.org> + + * ext/curses, sample/curses: removed curses. + + * NEWS: added an entry for the above change. + +Mon Dec 9 12:26:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/objspace/object_tracing.c (newobj_i): use cached class path + only to get rid object allocation during NEWOBJ hook. + [ruby-core:58853] [Bug #9212] + + * variable.c (rb_class_path_cached): returns cached class path + only, without searching and allocating new class path string. + +Mon Dec 9 11:14:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/date/date_parse.c (parse_time): unset case-insensitive flag + for [:alpha:], which already implies both cases, to get rid of + backtrack explosion. [ruby-core:58876] [Bug #9221] + +Mon Dec 9 08:40:40 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master bf37240. Fixes useless + error message with `gem install -g` with no gem dependencies file. + * test/rubygems: ditto. + +Mon Dec 9 04:52:25 2013 Eric Hodel <drbrain@segment7.net> + + * NEWS: Update RubyGems entry with notable features. + +Mon Dec 9 04:43:54 2013 Eric Hodel <drbrain@segment7.net> + + * ext/.document: Add syslog/lib and thread/thread.c to documentable + items. [ruby-trunk - Bug #9228] + +Mon Dec 9 04:28:50 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 096db36. Changes include + support for PATH in Gemfile.lock and a typo fix from Akira Matsuda. + * test/rubygems: ditto. + +Mon Dec 9 02:10:32 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/net/http/responses.rb: + Add `HTTPIMUsed`, as it is also supported by rack/rails. + RFC - http://tools.ietf.org/html/rfc3229 + by Vipul A M <vipulnsward@gmail.com> + https://github.com/ruby/ruby/pull/447 fix GH-447 + +Sun Dec 8 20:47:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rb_get_kwargs): when values is non-null, remove + extracted keywords from the rest keyword argument. + +Sun Dec 8 20:26:54 2013 Yutaka Kanemoto <kanemoto@ruby-lang.org> + + * common.mk (ruby.imp): avoid circular dependency on AIX + +Sun Dec 8 20:21:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * bigdecimal.c (BigDecimal_coerce): convert a Float to a BigDecimal instead + of converting the receiver to a Float. The reason is there are BigDecimal + instances with precisions that is smaller than the Float's precision. + [ruby-core:58756] [Bug #9192] + + * test/bigdecimal/test_bigdecimal.rb: add tests for the above change. + +Sun Dec 8 18:28:20 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * NEWS: [DOC] update NEWS about GC. + +Sun Dec 8 17:52:24 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * object.c: [DOC] document Module#singleton_class?. + +Sun Dec 8 16:19:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rb_get_kwargs): if optional is negative, unknown + keywords are allowed. + + * vm_insnhelper.c (vm_callee_setup_keyword_arg): check unknown + keywords. + +Sun Dec 8 14:55:12 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * array.c (rb_ary_shuffle_bang, rb_ary_sample): rename local variables. + +Sun Dec 8 13:59:38 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * array.c (rb_ary_shuffle_bang, rb_ary_sample): check + unknown keywords. + + * test/ruby/test_array.rb (test_shuffle, test_sample): tests for + the above. + +Sun Dec 8 13:01:11 2013 Aman Gupta <ruby@tmm1.net> + + * vm.c (ruby_vm_stat): add RubyVM.stat() for access to internal cache + counters. this methods behaves like GC.stat, accepting an optional + hash or symbol argument. [Bug #9190] [ruby-core:58750] + * test/ruby/test_rubyvm.rb: test for new method + +Sun Dec 8 11:59:40 2013 Aman Gupta <ruby@tmm1.net> + + * hash.c (rb_hash_replace): add a write barrier to fix GC mark miss on + hashes using Hash#replace [Bug #9226] [ruby-core:58948] + +Sun Dec 8 11:21:00 2013 Aman Gupta <ruby@tmm1.net> + + * include/ruby/ruby.h: add RGENGC_WB_PROTECTED_NODE_CREF setting + In a large app, this reduces the size of + remembered_shady_object_count by 80%. [Bug #9225] [ruby-core:58947] + * gc.c (rb_node_newnode): add FL_WB_PROTECTED flag to NODE_CREF + * class.c (rewrite_cref_stack): insert OBJ_WRITE for NODE_CREF + * iseq.c (set_relation): ditto + * iseq.c (rb_iseq_clone): ditto + * vm_eval.c (rb_yield_refine_block): ditto + * vm_insnhelper.c (vm_cref_push): ditto + * vm_insnhelper.h (COPY_CREF): ditto + +Sun Dec 8 10:45:05 2013 Aman Gupta <ruby@tmm1.net> + + * hash.c (hash_aset_str): revert r43870 due to performance issue + [Bug #9188] [ruby-core:58730] + * parse.y (assoc): convert literal string hash keys to fstrings + * test/ruby/test_hash.rb (class TestHash): expand test + +Sun Dec 8 10:22:38 2013 Aman Gupta <ruby@tmm1.net> + + * parse.y (register_symid_str): use fstrings in symbol table + [Bug #9171] [ruby-core:58656] + * parse.y (rb_id2str): ditto + * string.c (rb_fstring): create frozen_strings on first usage. this + allows rb_fstring() calls from the parser (before cString is created) + * string.c (fstring_set_class_i): set klass on fstrings generated + before cString was defined + * string.c (Init_String): convert frozen_strings table to String + objects after boot + * ext/-test-/symbol/type.c (bug_sym_id2str): expose rb_id2str() + * test/-ext-/symbol/test_type.rb (module Test_Symbol): verify symbol + table entries are fstrings + +Sun Dec 8 10:24:20 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems.rb: Update version for upcoming ruby 2.1.0 RC. + +Sun Dec 8 10:21:36 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 14749ce. This fixes bugs + handling of gem dependencies lockfiles (Gemfile.lock). + + * test/rubygems: ditto. + +Sun Dec 8 09:40:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * array.c (rb_ary_or): use RHASH_TBL_RAW instead of RHASH_TBL + + * process.c (rb_execarg_fixup): use RHASH_TBL_RAW and insert write + barriers where appropriate + + * vm.c (kwmerge_i): use RHASH_TBL_RAW + + * vm.c (HASH_ASET): use rb_hash_aset instead of calling directly into + st_insert + +Sat Dec 7 11:15:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_reject): copy unrejected elements only to new hash, + so that the change on the original receiver can affect. + [ruby-core:58914] [Bug #9223] + +Sat Dec 7 08:25:00 2013 Richo Healey <richo@psych0tik.net> + + * test/ruby/test_struct.rb: Add regression test for question marks and + bangs in struct members. [Closes GH-468] + +Fri Dec 6 19:33:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rb_extract_keywords, rb_get_kwargs): move from + vm_insnhelper.c. + +Fri Dec 6 19:18:02 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: change oldmalloc meaning. + Increase oldmalloc_increase with malloc_increase + instead of using obj_memsize_of(). + + This change will avoid the danger of memory full without major GC. + +Fri Dec 6 19:08:48 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (atomic_sub_nounderflow): not 0 but val itself. + +Fri Dec 6 18:37:11 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace_alloc, Init_heap): initialize + oldmalloc_increase_limit at Init_heap. + + rb_objspace_alloc() is not called on some platforms. + +Fri Dec 6 18:33:39 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (garbage_collect_body): bug fix. + initialize after recording. + +Fri Dec 6 17:49:46 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (atomic_sub_nounderflow): added to simplify atomic sub with + care about underflow. + + * gc.c (objspace_malloc_increase): use it. + +Fri Dec 6 17:10:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_insnhelper.c (rb_get_kwargs): get keyword argument values from an + option hash, not only checking keys. + + * dir.c (dir_initialize): use rb_get_kwargs. + + * gc.c (gc_start_internal): ditto. + +Fri Dec 6 16:47:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * misc/ruby-mode.el (ruby-brace-to-do-end): split single line block. + + * misc/ruby-mode.el (ruby-do-end-to-brace): shrink single line block + to one line. + +Fri Dec 6 16:16:30 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_start_internal): do not use rb_gc_start() and rb_gc(). + +Fri Dec 6 15:24:30 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_start_internal, rb_gc): do not need + heap_pages_free_unused_pages() here. + It was done in after_sweep(). + + * gc.c (rb_gc): The reason is now GPR_FLAG_CAPI. + +Fri Dec 6 14:05:19 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (gc_start_internal): GC.start() now accepts two optional + keyword arguments. These can be used to disable full_mark (minor + mark only) or disable immediate_sweep (use lazy sweep). These new + options are useful for benchmarking GC behavior, or performing minor + GC out-of-band. + * test/ruby/test_gc.rb (class TestGc): tests for new options. + +Fri Dec 6 11:51:28 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> + + * lib/erb.rb: [DOC] fix broken link, Use rubygems.org and www.ruby-toolbox.com instead of RAA. + [Bug #9197] + +Fri Dec 6 10:50:54 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> + + * lib/webrick/httprequest.rb: [DOC] Fix broken link of CGI specification by @udzura [fix GH-466] + +Thu Dec 6 01:27:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): + treat 0.0 and -0.0 of floating-point numbers specially for an optimization + and to correctly propagate its signbit to the result. + [Bug #9214] [ruby-core:58858] + + * test/bigdecimal/test_bigdecimal.rb: add tests case for the above change. + + * test/bigdecimal/test_bigdecimal_util.rb: ditto. + +Thu Dec 5 22:18:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (configuration): strip destdir part from prefix to get + rid of duplication. a patch by arton at [ruby-core:58859]. + [ruby-core:58856] [Bug #9213] + +Thu Dec 5 21:53:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_or): lhs elements are preferred, so should not + replace with rhs elements. + + * test/ruby/test_array.rb (test_OR_in_order): import the test failed + by r43969 from rubyspec/core/array/union_spec.rb. + +Thu Dec 5 21:05:42 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_info_decode): fix to avoid syntax error on VS2012. + +Thu Dec 5 19:35:35 2013 Martin Duerst <duerst@it.aoyama.ac.jp> + + * st.c: tweaked comment + +Thu Dec 5 19:21:10 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (struct rb_objspace): rename internal last_collection_flags to + latest_gc_info + * gc.c (gc_latest_collection_info): add GC.latest_gc_info() with similar + behavior to GC.stat() + * gc.c (rb_gc_latest_gc_info): new c-api for above + * gc.c (gc_stat_internal): remove :last_collection_flags from GC.stat + * gc.c (gc_profile_decode_flags): remove GC::Profiler.decode_flags + * include/ruby/intern.h (rb_gc_latest_gc_info): export new c-api + * test/ruby/test_gc.rb (class TestGc): test for new behavior + * NEWS: note about new api + + * gc.c (gc_stat_internal): raise TypeError on wrong type + * gc.c (gc_stat): fix error message + +Thu Dec 5 18:18:08 2013 Aman Gupta <ruby@tmm1.net> + + * ext/objspace/gc_hook.c: remove this file + * ext/-test-/tracepoint/gc_hook.c: new filename for above + * ext/objspace/objspace.c: remove ObjectSpace.after_gc_start_hook= + * test/objspace/test_objspace.rb: remove test + * test/-ext-/tracepoint/test_tracepoint.rb: add above test for + tracepoint re-entry + +Thu Dec 5 17:44:53 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: change function names vm_ prefix to objspace_ prefix. + They are objspace_ functionality. + +Thu Dec 5 16:11:04 2013 Aman Gupta <ruby@tmm1.net> + + * include/ruby/intern.h: add rb_gc_stat() for access to GC.stat + variables from c-api + * gc.c (rb_gc_stat): new c-api method. accepts either VALUE hash like + GC.stat, or VALUE symbol key and returns size_t directly. the second + form is useful to avoid allocations, i.e. for usage inside + INTERNAL_EVENT_GC tracepoints. + * gc.c (gc_stat): add GC.stat(:key) to return single value instead of hash + * gc.c (gc_stat_internal): helper method to retrieve single or all stat values + * test/ruby/test_gc.rb (class TestGc): test for new behavior + * NEWS: note about this new api + +Thu Dec 5 14:40:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash): revert r43981 and bail out to the outermost frame + when recursion is detected. + +Thu Dec 5 13:47:15 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (vm_malloc_size): added. + return malloc_usable_size() if possible. + + * gc.c (MALLOC_ALLOCATED_SIZE): add new setting macro to enable + GC.allocated_size. + If platform supports `malloc_usable_size()' (or similar one), + GC.allocated_size can be implemented with this function. + Default is 0. + + * gc.c (vm_xmalloc, vm_xrealloc, vm_xfree): use vm_malloc_size() + to detect collect allocated size. + + * gc.c (vm_malloc_increase): refactoring. + +Thu Dec 5 13:19:03 2013 Aman Gupta <ruby@tmm1.net> + + * include/ruby/ruby.h: remove INTERNAL_EVENT_GC_END and replace with + two new events: GC_END_MARK and GC_END_SWEEP + * gc.c (gc_after_sweep): emit GC_END_SWEEP after lazy sweep is done + * gc.c (gc_marks_body): emit GC_END_MARK at end of minor/major mark + * ext/-test-/tracepoint/tracepoint.c (struct tracepoint_track): tests + for new events. + * test/-ext-/tracepoint/test_tracepoint.rb (class TestTracepointObj): + ditto. + * NEWS: remove ObjectSpace.after_gc_*_hook. These are only a sample, + and will be removed before ruby 2.1. + * ext/objspace/gc_hook.c: remove ObjectSpace.after_gc_end_hook= + +Thu Dec 5 10:47:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby_atomic.h (ATOMIC_PTR_EXCHANGE): atomic exchange function for + a generic pointer. + +Thu Dec 5 10:47:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (finalize_deferred): flush all deferred finalizers while other + finalizers can get ready to run newly by lazy sweep. + [ruby-core:58833] [Bug #9205] + +Thu Dec 5 09:07:59 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (ruby_gc_set_params): Accept safe_level argument so GC tuning + settings can be applied before rb_safe_level() is available. + * internal.h (rb_gc_set_params): ditto. + * ruby.c (process_options): Apply GC tuning early during boot process + so boot-time allocations can benefit. This also benefits any code + loaded in via `ruby -r`. + +Wed Dec 4 13:02:13 2013 Aman Gupta <ruby@tmm1.net> + + * vm_trace.c (rb_suppress_tracing): Fix initialization of stack + allocated rb_trace_arg_t structure. Without this patch, sometimes + INTERNAL_EVENT_GC would be skipped accidentally inside + rb_threadptr_exec_event_hooks_orig(). + +Wed Dec 4 12:57:24 2013 Aman Gupta <ruby@tmm1.net> + + * string.c (fstr_update_callback): Improve implementation in r43968 + based on feedback from @nagachika. In the existing case, we can + return ST_STOP to prevent any hash modification. In the !existing + case, set both key and value to the fstr. + +Wed Dec 4 12:47:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/delegate.rb (Delegator#method_missing): ignore the target if not + set, and delegate to global methods. [ruby-core:58572] [Bug #9155] + + * lib/delegate.rb (Delegator#respond_to_missing): ditto. + + * lib/delegate.rb (SimpleDelegator#__getobj__): yield and return if + not delegated but a block is given, like as Hash#fetch. + + * lib/delegate.rb (DelegateClass#__getobj__): ditto. + +Tue Dec 3 23:48:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: check malloc_size() availability. + + * gc.c: use malloc_size() with malloc/malloc.h if available. + +Tue Dec 3 23:06:20 2013 Narihiro Nakamura <authornari@gmail.com> + + * object.c (rb_obj_clone): don't copy FL_WB_PROTECTED of a + original object. + +Tue Dec 3 22:32:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_recursive): make similar (recursive) constructs + return same hash value. execute recursively, and rewind to the + topmost frame with an object which .eql? to the recursive + object, if recursion is detected. + + * hash.c (rb_hash): detect recursion for all `hash' methods. each + `hash' methods no longer need to use rb_exec_recursive(). + +Tue Dec 3 21:53:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (rb_catch_protect): new function similar to + rb_catch_obj(), but protect from all global jumps like as + rb_load_protect(), rb_protect(), etc. + +Tue Dec 3 20:18:46 2013 Narihiro Nakamura <authornari@gmail.com> + + * object.c (rb_obj_clone): Protect FL_PROMOTED and FL_WB_PROTECTED + flags of a destination object. + +Tue Dec 3 20:16:38 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_hash_rehash): use hash_alloc() instead of rb_hash_new(), + to hide temporary object from ObjectSpace. [Bug #9187] + +Tue Dec 3 17:11:47 2013 Aman Gupta <ruby@tmm1.net> + + * load.c (features_index_add_single): Move loaded_features_index array values off + the ruby heap. [Bug #9201] [ruby-core:58805] + * load.c (loaded_features_index_clear_i): Clean up off-heap array structure. + * vm.c (rb_vm_mark): Remove unnecessary mark_tbl for loaded_features_index. + This improves minor GC time by 15% in a large application. + +Tue Dec 3 17:01:45 2013 Aman Gupta <ruby@tmm1.net> + + * include/ruby/ruby.h (struct RClass): Add wrapper struct around + RClass->m_tbl with serial. This prevents double marking method + tables, since many classes/modules can share the same method table. + This improves minor mark time in a large application by 30%. + * internal.h (struct method_table_wrapper): Define new + wrapper struct with additional serial. + * internal.h (RCLASS_M_TBL_INIT): New macro for initializing method + table wrapper and st_table. + * method.h (void rb_sweep_method_entry): Rename rb_free_m_table to + rb_free_m_tbl for consistency + * .gdbinit (define rb_method_entry): Update rb_method_entry gdb helper + for new method table structure. + * class.c: Use RCLASS_M_TBL_WRAPPER and + RCLASS_M_TBL_INIT macros. + * class.c (rb_include_class_new): Share WRAPPER between module and + iclass, so serial can prevent double marking. + * eval.c (rb_prepend_module): ditto. + * eval.c (rb_using_refinement): ditto. + * gc.c: Mark and free new wrapper struct. + * gc.c (obj_memsize_of): Count size of additional wrapper struct. + +Tue Dec 3 14:05:49 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_uniq_bang): remove duplicate code. + +Tue Dec 3 13:40:42 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (ary_add_hash): set and return values because string keys + will be frozen. [ruby-core:58809] [Bug #9202] + + * array.c (rb_ary_uniq_bang): ditto. + + * array.c (rb_ary_or): ditto. + + * array.c (rb_ary_uniq): ditto. + + * test/ruby/test_array.rb: tests for above. + + The patch is from normalperson (Eric Wong). + +Tue Dec 3 12:20:21 2013 Aman Gupta <ruby@tmm1.net> + + * string.c (rb_fstring): Use st_update instead of st_lookup + + st_insert. + * string.c (fstr_update_callback): New callback for st_update. + +Tue Dec 3 12:17:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for + NoMethodError when the original of alias is not found. + +Tue Dec 3 10:43:58 2013 Eric Hodel <drbrain@segment7.net> + + * ext/openssl/lib/openssl/buffering.rb: Return ASCII-8BIT strings from + SSLSocket methods. [ruby-trunk - Bug #9028] + * test/openssl/test_ssl.rb: Test for the above. + +Tue Dec 3 09:42:27 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc: Update to RDoc master 900de99. Changes include: + + Fixed documentation display of constants + + Fixed handling of unknown parsers + + * test/rdoc: ditto. + +Mon Dec 2 22:30:10 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * hash.c (getenv): fixed test failures introduced by r43950. + [ruby-core:58774] [Bug #9195] reported by phasis68 (Heesob Park). + +Mon Dec 2 21:49:19 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_rehash): make temporary st_table under the control + of GC. [Bug #9187] + + * test/ruby/test_hash.rb: add a test for above. + +Mon Dec 2 17:23:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * variable.c (rb_mod_constants): when calling Module#constants with + inherit=false, there is no need to use a hashtable to deduplicate + constant names. [Feature #9196] [ruby-core:58786] + +Mon Dec 2 14:16:52 2013 Eric Hodel <drbrain@segment7.net> + + * lib/net/smtp.rb (Net::SMTP#critical): Always return a + Net::SMTP::Response. Patch by Pawel Veselov. + [ruby-trunk - Bug #9125] + * test/net/smtp/test_smtp.rb: Test for the above. + +Mon Dec 2 05:52:33 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master baa965b. Notable changes: + + Copy directories to lib/ when installing extensions. This completes + the fix for [ruby-trunk - Bug #9106] + + * test/rubygems: ditto. + +Mon Dec 2 02:03:47 2013 Shota Fukumori <her@sorah.jp> + + * test/ruby/test_case.rb (test_nomethoderror): + Add test related to r43913, r43914 + +Mon Dec 2 00:53:01 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * hash.c (getenv): use ANSI codepage version of getenv() for miniruby + on Windows. + [ruby-core:58732] [Bug #9189] reported by phasis68 (Heesob Park). + +Sun Dec 1 22:14:27 2013 Zachary Scott <e@zzak.io> + + * doc/contributors.rdoc: [DOC] Import contributors from redmine wiki + Many wiki pages have become outdated and spam-ridden, we will import + these to trunk and begin maintaining them in ruby-trunk. This will + also allow new contributors to easily contribute patches to update + these pages, where previously a redmine account with wiki access was + required. Another bonus is having a contributors file to show thanks + to all of the people who have submitted a patch to Ruby. + +Sun Dec 1 18:03:26 2013 Zachary Scott <e@zzak.io> + + * doc/maintainers.rdoc: [DOC] Current maintainers of Ruby + +Sun Dec 1 17:17:36 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Current branch maintainers + +Sun Dec 1 17:16:36 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Reporting other (ruby-lang.org) issues + +Sun Dec 1 17:15:51 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Current platform maintainers + +Sun Dec 1 17:14:55 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Reporting downstream distro issues + +Sun Dec 1 14:37:20 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_to_a): specify array capa. + +Sun Dec 1 14:15:36 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_rehash): fix to free new st_table when exception + is raised in do_hash(). [Bug #9187] + +Sun Dec 1 11:57:59 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/lib/openssl/buffering.rb: Fix warning in copyright + +Sun Dec 1 08:27:28 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 66e5c39. Notable changes: + + Implement gem.deps.rb (Gemfile) .lock support + + Fixed `gem uninstall` for a relative directory in GEM_HOME. + + * test/rubygems: ditto. + +Sun Dec 1 06:00:49 2013 Aman Gupta <ruby@tmm1.net> + + * test/ruby/test_gc.rb (test_gc_reason): Force minor GC by consuming + free slots to fix test. + +Sat Nov 30 21:22:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (dir_initialize): check unknown keywords. [ruby-dev:47152] + [Bug #8060] + +Sat Nov 30 18:05:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/win32ole/win32ole.c (hash2named_arg): correct declaration to fix + build failure. a patch by phasis68 (Heesob Park) at + [ruby-core:58710]. [Bug #9184] + +Sat Nov 30 17:46:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval.c (ruby_cleanup): determine exit status and signal to terminate + before finalization, to get rid of access destroyed T_DATA exception + object. [ruby-core:58643] [Bug #9167] + +Sat Nov 30 16:25:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enumerator.c (enumerator_with_index): should not store local variable + address to memoize the arguments. it is invalidated after the return. + [ruby-core:58692] [Bug #9178] + +Sat Nov 30 13:28:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * siphash.c (sip_hash24): fix for aligned word access little endian + platforms. [ruby-core:58658] [Bug #9172] + +Sat Nov 30 13:21:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (rb_yield_block): implement non-nil block argument. + +Fri Nov 29 20:59:39 2013 Masaya Tarui <tarui@ruby-lang.org> + + * vm_dump.c (rb_vmdebug_debug_print_pre): Bugfix. Get PC directly. + PC is cached into local stack and cfp->pc is incorrect at next of + branch or jump. + * vm_exec.h (DEBUG_ENTER_INSN): catch up this change. + * vm_core.h: update signature of rb_vmdebug_debug_print_pre. + +Fri Nov 29 20:43:57 2013 Masaya Tarui <tarui@ruby-lang.org> + + * compile.c: Bugsfix for dump_disasm_list. + rb_inspect denies a hidden object. So, insert wrapper that creates + the unhidden one. + adjust->label is null sometimes. + insn_data_line_no makes no sense at all. + +Fri Nov 29 18:06:45 2013 Shota Fukumori <her@sorah.jp> + + * test/ruby/test_case.rb (test_method_missing): Test for r43913. + +Fri Nov 29 17:53:22 2013 Shota Fukumori <her@sorah.jp> + + * vm_insnhelper.c (check_match): Fix SEGV with VM_CHECKMATCH_TYPE_CASE + and class of `pattern` has `method_missing` + [Bug #8872] [ruby-core:58606] + +Fri Nov 29 17:06:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (rb_yield_block): yield block with rb_block_call_func + arguments. + + * range.c (range_each): use rb_yield_block. + + * include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): constify argv. + + * enum.c (rb_enum_values_pack): ditto. + + * vm_eval.c (rb_block_call, rb_check_block_call): ditto. + + * include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): for declaration + argument list of rb_block_call_func. + +Fri Nov 29 11:26:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (rb_block_call_func): add blockarg. block + function can take block argument, e.g., proc {|&blockarg| ...}. + +Thu Nov 28 21:43:48 2013 Zachary Scott <e@zzak.io> + + * doc/dtrace_probes.rdoc: [DOC] Import dtrace probes doc from wiki + +Thu Nov 28 21:17:32 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Add heading above ChangeLog tips to + setup entry for commits, its not required. Actually easier if + contributors don't include a ChangeLog entry. + +Thu Nov 28 21:16:18 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Add coding style heading for patch + rules + +Thu Nov 28 21:15:45 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Add notes about deciding what to patch + +Thu Nov 28 19:43:45 2013 Masaki Matsushita <glass.saga@gmail.com> + + * benchmark/bm_hash_flatten.rb: added. r43896 is about 4 times faster + than 2.0.0p353. + + * benchmark/bm_hash_keys.rb: added. r43896 is about 5 times faster + than 2.0.0p353. + + * benchmark/bm_hash_values.rb: added. r43896 is about 5 times faster + than 2.0.0p353. + +Thu Nov 28 19:29:04 2013 Zachary Scott <e@zzak.io> + + * doc/contributing.rdoc: [DOC] Add notes about slideshow proposals + from wiki page: HowToRequestFeatures + +Thu Nov 28 17:34:42 2013 Masaki Matsushita <glass.saga@gmail.com> + + * st.c: add st_values() and st_values_check(). + + * include/ruby/st.h: add prototypes for above. + + * hash.c (rb_hash_values): use st_values_check() for performance + improvement if VALUE and st_data_t are compatible. + +Thu Nov 28 17:14:14 2013 Masaki Matsushita <glass.saga@gmail.com> + + * st.c (st_keys): fix not to use Qundef in st.c. + + * include/ruby/st.h: define modified prototype. + + * hash.c (rb_hash_keys): use modified st_keys(). + +Thu Nov 28 16:34:43 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c: Expose details about last garbage collection via GC.stat. + * gc.c (gc_stat): Add :last_collection_flags for reason/trigger/type of + last GC run. + * gc.c (gc_prof_sweep_timer_stop): Record HAVE_FINALIZE GPR even + without GC_PROFILE_MORE_DETAIL. + * gc.c (gc_profile_flags): Add GC::Profiler.decode_flags to make sense + of GC.stat[:last_collection_flags] + * test/ruby/test_gc.rb (class TestGc): Test for above. + +Thu Nov 28 16:15:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_dup2): extract from rb_cloexec_dup2() and + redirect_dup2(). + +Tue Nov 28 14:40:00 2013 Akira Matsuda <ronnie@dio.jp> + + * lib/drb/ssl.rb: [Doc] Fix typo + +Thu Nov 28 13:56:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * common.mk (Doxyfile): tool/file2lastrev.rb needs running with + BASERUBY since r43617. [ruby-dev:47823] [Bug #9169] + +Thu Nov 28 09:18:39 2013 Koichi Sasada <ko1@atdot.net> + + * string.c (rb_fstring): fstrings should be ELTS_SHARED. + If we resurrect dying objects (non-marked, but not swept yet), + pointing shared string can be collected. + To avoid such issue, fstrings (recorded to fstring_table) + should not be ELTS_SHARED (should not have a shared string). + +Thu Nov 28 01:35:08 2013 Masaki Matsushita <glass.saga@gmail.com> + + * st.c (st_keys): fix to use st_index_t for size of hash. + +Thu Nov 28 00:36:52 2013 Masaki Matsushita <glass.saga@gmail.com> + + * st.c (st_keys): define st_keys(). it writes each key to buffer. + + * hash.c (rb_hash_keys): use st_keys() for performance improvement + if st_data_t and VALUE are compatible. + + * include/ruby/st.h: define macro ST_DATA_COMPATIBLE_P() to predicate + whether st_data_t and passed type are compatible. + + * configure.in: check existence of builtin function to use in + ST_DATA_COMPATIBLE_P(). + +Thu Nov 28 00:07:28 2013 Masaki Matsushita <glass.saga@gmail.com> + + * ruby_atomic.h: remove duplicate definitions between ATOMIC_XXX + and ATOMIC_SIZE_XXX. + +Wed Nov 27 23:55:50 2013 Masaki Matsushita <glass.saga@gmail.com> + + * ruby_atomic.h: define ATOMIC_SIZE_CAS() with + __atomic_compare_exchange_n() and refactoring. + +Tue Nov 27 21:43:00 2013 Akira Matsuda <ronnie@dio.jp> + + * lib/irb/notifier.rb: [Doc] Fix typo + * ext/json/lib/json/common.rb: Ditto. + +Tue Nov 27 18:04:57 2013 Akira Matsuda <ronnie@dio.jp> + + * lib/irb/notifier.rb: Fix typo + +Wed Nov 27 17:54:57 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_mark_stacked_objects): check only when check_mode > 0. + +Wed Nov 27 16:07:19 2013 Aman Gupta <ruby@tmm1.net> + + * test/ruby/test_gc.rb (class TestGc): Fix warning in + test_expand_heap. + +Wed Nov 27 15:55:52 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (Init_GC): Add new GC::INTERNAL_CONSTANTS for information about + GC heap/page/slot sizing. + * test/ruby/test_gc.rb (class TestGc): test for above. + +Wed Nov 27 15:21:17 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (gc_page_sweep): Fix compile warning from last commit. + * hash.c (hash_aset_str): Re-use existing variable to avoid + unnecessary pointer dereferencing. + +Wed Nov 27 15:12:55 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_page_sweep): disable debug print. + +Wed Nov 27 15:05:59 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_stat): add new information heap_eden_page_length and + heap_tomb_page_length. + + * test/ruby/test_gc.rb: fix to use GC.stat[:heap_eden_page_length] + instead of GC.stat[:heap_length]. + This test expects `heap_eden_page_length' (used pages size). + +Wed Nov 27 15:02:53 2013 Aman Gupta <ruby@tmm1.net> + + * test/ruby/test_eval.rb (class TestEval): Use assert_same instead of + assert_equal. + * test/ruby/test_hash.rb (class TestHash): ditto. + * test/ruby/test_iseq.rb (class TestISeq): ditto. + +Wed Nov 27 14:50:02 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rinda/ring.rb: Announce RingServer for the same process. + [ruby-trunk - Bug #9163] + * test/rinda/test_rinda.rb: Tests for the above. + +Wed Nov 27 14:37:33 2013 Aman Gupta <ruby@tmm1.net> + + * test/ruby/test_eval.rb (class TestEval): Add test for shared eval + filenames via rb_fstring(). + * test/ruby/test_iseq.rb (class TestISeq): Add test for shared + iseq labels via rb_fstring(). [Bug #9159] + +Wed Nov 27 14:24:55 2013 Aman Gupta <ruby@tmm1.net> + + * hash.c (hash_aset_str): Use rb_fstring() to de-duplicate hash string + keys. Patch by Eric Wong. [Bug #8998] [ruby-core:57727] + * test/ruby/test_hash.rb (class TestHash): test for above. + +Wed Nov 27 10:39:39 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c: Rename rb_heap_t members: + used -> page_length + limit -> total_slots + +Wed Nov 27 08:24:49 2013 Aman Gupta <ruby@tmm1.net> + + * compile.c: Use rb_fstring() to de-duplicate string literals in code. + [ruby-core:58599] [Bug #9159] [ruby-core:54405] + * iseq.c (prepare_iseq_build): De-duplicate iseq labels and source + locations. + * re.c (rb_reg_initialize): Use rb_fstring() for regex string. + * string.c (rb_fstring): Handle non-string and already-fstr arguments. + * vm_eval.c (eval_string_with_cref): De-duplicate eval source + filename. + +Wed Nov 27 07:13:54 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych.rb: psych version 2.0.2 + * ext/psych/psych.gemspec: ditto + +Wed Nov 27 06:40:18 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/scalar_scanner.rb: fix support for negative + years. + * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto + * test/psych/test_date_time.rb: test for change. + Fixes: https://github.com/tenderlove/psych/issues/168 + +Wed Nov 27 04:46:55 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/scalar_scanner.rb: fix regexp for matching TIME + strings. + * test/psych/test_date_time.rb: test for change. + Fixes: https://github.com/tenderlove/psych/issues/171 + +Wed Nov 27 02:26:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (str_new4): copy the original capacity so that memsize of + frozen shared string returns correct size. + +Wed Nov 27 02:20:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_hash): should not ignore the rest of recursive + constructs. + + * hash.c (rb_hash_hash): ditto. + + * range.c (range_hash): ditto. + + * struct.c (rb_struct_hash): ditto. + + * test/-ext-/test_recursion.rb (TestRecursion): separate from + test/ruby/test_thread.rb. + +Tue Nov 26 22:43:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash): cut off if recursion detected to get rid of stack + overflow. [ruby-core:58567] [Bug #9151] + +Tue Nov 26 20:02:39 2013 Koichi Sasada <ko1@atdot.net> + + * test/ruby/test_settracefunc.rb: add tests for a_call/a_return + by Brandur <brandur@mutelight.org> [Feature #9120] + +Tue Nov 26 19:29:52 2013 Koichi Sasada <ko1@atdot.net> + + * common.mk: add useful config "set breakpoint pending on" + for run.gdb. + +Tue Nov 26 19:17:47 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/object_tracing.c (newobj_i): skip class_path if class + is frozen. + + rb_class_path() can modify frozen classes (and causes errors). + This patch is temporary. We need no-modification/no-allocation + class path function. + +Tue Nov 26 18:12:13 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c: skip "exception check" and "reentrant check (only normal + events) for internal events. + + Reentrant check for internal events are remaining. + +Tue Nov 26 17:38:16 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c: prohibit to specify normal events and internal events + simultaneously. + I will introduce special care for internal events later. + + * ext/-test-/tracepoint/tracepoint.c: test this behavior. + + * test/-ext-/tracepoint/test_tracepoint.rb: ditto. + +Tue Nov 26 16:30:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_readlink): fix buffer overflow on a long symlink. since + rb_str_modify_expand() expands from its length but not its capacity, + need to set the length properly for each expansion. + [ruby-core:58592] [Bug #9157] + +Tue Nov 26 14:23:17 2013 Aman Gupta <ruby@tmm1.net> + + * ext/objspace/objspace_dump.c (dump_append_string_value): Escape + control characters for strict json parsers. + * ext/objspace/objspace_dump.c (objspace_dump): Document File/IO + output option. + +Tue Nov 26 11:43:19 2013 Masaki Matsushita <glass.saga@gmail.com> + + * ruby_atomic.h: use __atomic builtin functions supported by GCC. + __sync family are legacy functions now and it is recommended + that new code use the __atomic functions. + http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html + + * configure.in: check existence of __atomic functions. + +Tue Nov 26 10:57:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/bigdecimal/bigdecimal.gemspec: revert Gem::Specification#date + for snapshot/release tarballs. + +Tue Nov 26 06:42:50 2013 Aman Gupta <ruby@tmm1.net> + + * NEWS: Add ObjectSpace.after_gc_{start,end}_hook= + * ext/objspace/objspace_dump.c: [DOC] catch up dump/dump_all to r43679 + +Tue Nov 26 04:12:10 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 612f85a. Notable changes: + + Fixed installation and activation of git: and path: gems via + Gem.use_gemdeps + + Improved documentation coverage + + * test/rubygems: ditto. + +Mon Nov 25 22:23:03 2013 Zachary Scott <e@zzak.io> + + * lib/xmlrpc.rb: [DOC] Fix link to xmlrpc4r site [Bug #9148] + Patch by Giorgos Tsiftsis + +Mon Nov 25 19:48:10 2013 Zachary Scott <e@zzak.io> + + * lib/uri/common.rb: [DOC] typo fixes by @vipulnsward [Fixes GH-456] + https://github.com/ruby/ruby/pull/456 + * lib/uri/generic.rb: [DOC] ditto. + +Mon Nov 25 14:34:42 2013 Zachary Scott <e@zzak.io> + + * ext/bigdecimal/bigdecimal.gemspec: bump BigDecimal to 1.2.3 for + proper release date in RubyGems + +Mon Nov 25 14:25:08 2013 Zachary Scott <e@zzak.io> + + * ext/bigdecimal/bigdecimal.gemspec: Remove Gem::Specification#date + We should rely on rubygems to create the date the gem was released + for each version. + +Mon Nov 25 06:53:30 2013 Koichi Sasada <ko1@atdot.net> + + * internal.h: do not use ruby_sized_xrealloc() and ruby_sized_xfree() + if HAVE_MALLOC_USABLE_SIZE (or _WIN32) is defined. + + We don't need these function if malloc_usable_size() is available. + + * gc.c: catch up this change. + + * gc.c: define HAVE_MALLOC_USABLE_SIZE on _WIN32. + + * array.c (ary_resize_capa): do not use ruby_sized_xfree() with + local variable to avoid "unused local variable" warning. + This change only has few impact. + + * string.c (rb_str_resize): ditto. + +Mon Nov 25 05:05:04 2013 Koichi Sasada <ko1@atdot.net> + + * test/-ext-/tracepoint/test_tracepoint.rb: catch up GC.stat changes + at r43835. + +Mon Nov 25 04:45:59 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: continue to change OLDSPACE -> OLDMALLOC. + RGENGC_ESTIMATE_OLDSPACE -> RGENGC_ESTIMATE_OLDMALLOC. + + * gc.c: add a new major GC reason GPR_FLAG_MAJOR_BY_OLDMALLOC. + +Mon Nov 25 04:16:09 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: change terminology "..._num" to "..._slots" about slot operation. + * final_num -> final_slots + * objspace_live_num() -> objspace_live_slots() + * objspace_limit_num() -> objspace_limit_slots() + * objspace_free_num() -> objspace_free_slots() + +Mon Nov 25 04:03:12 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_stat): add internal information. + * heap_swept_slot + * malloc_increase + * malloc_limit + * remembered_shady_object + * remembered_shady_object_limit + * old_object + * old_object_limit + * oldmalloc_increase + * oldmalloc_limit + + * gc.c (gc_stat): rename names. + * heap_live_num -> heap_live_slot + * heap_free_num -> heap_free_slot + * heap_final_slot -> heap_final_slot + + Quote from RDoc of GC.stat(): + "The contents of the hash are implementation specific and may + be changed in the future." + + * test/ruby/test_gc.rb: catch up this change. + +Mon Nov 25 03:59:45 2013 Koichi Sasada <ko1@atdot.net> + + * test/ruby/test_gc.rb: catch up last commit. + Now RUBY_GC_OLDSPACE_LIMIT(...) is RUBY_GC_OLDMALLOC_LIMIT(...). + +Mon Nov 25 03:10:46 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: change terminology OLDSPACE -> OLDMALLOC. + (oldspace -> oldmalloc for variable names) + + OLDSPACE is confusing because it is not includes slots. + To more clearly, rename such as (oldspace_limit -> oldmalloc_limit). + It is clear that it measures (estimates) malloc()'ed size. + +Mon Nov 25 00:50:03 2013 Masaki Matsushita <glass.saga@gmail.com> + + * internal.h: use __builtin_bswap16() if possible. + + * configure.in: check existence of __builtin_bswap16(). + +Sun Nov 24 22:24:19 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigxor_int): Apply BIGLO for long in a BDIGIT expression. + (bigor_int): Ditto. + (bigand_int): Ditto. + +Sun Nov 24 18:13:23 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/defines.h (SIZEOF_ACTUAL_BDIGIT): Defined. + + * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Use + SIZEOF_ACTUAL_BDIGIT instead of SIZEOF_BDIGITS. + SIZEOF_BDIGITS can be different to sizeof(BDIGIT). + +Sun Nov 24 13:49:08 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/defines.h: Don't use int128_t for Bignum. + It's not always faster. + + * bignum.c: Ditto. + +Sun Nov 24 10:18:15 2013 Aman Gupta <ruby@tmm1.net> + + * NEWS: Add details about new debugging features and APIs. + +Sun Nov 24 09:37:20 2013 Andrew Vit <andrew@avit.ca> + + * lib/csv.rb: Optimize header hashes by freezing string keys. + [ruby-core:58510] + +Sun Nov 24 09:18:06 2013 Aman Gupta <ruby@tmm1.net> + + * ext/objspace/objspace_dump.c (dump_object): Use PRIuSIZE to print + size_t for better win32 compatibility. + * test/objspace/test_objspace.rb (test_dump_all): Hold reference to + test string to avoid failure due to GC. Reduce size of failure message + using grep(/TEST STRING/). + +Sun Nov 24 08:38:00 2013 Kyle Stevens <kstevens715@gmail.com> + + * lib/csv.rb: If skip_lines is set to a String, convert it to a Regexp + to prevent the alternative, which is that each line in the CSV gets + converted to a Regexp when calling skip_lines#match. + +Sun Nov 24 01:03:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_power): Use FIX2LONG instead + of FIX2INT to avoid conversion error. + +Sun Nov 24 00:44:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): define by macros + defined in defines.h, instead of complex and repeated expression. + +Sat Nov 23 22:22:26 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Limit the value to + less than 8. + +Sat Nov 23 19:52:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/lib/bigdecimal/math.rb (BigMath.E): Use BigMath.exp. + [Feature #6857] [ruby-core:47130] + +Sat Nov 23 19:46:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Optimize the + calculation algorithm to reduce the number of divisions. + This optimization was proposed by Rafal Michalski. + [Feature #6857] [ruby-core:47130] + +Sat Nov 23 19:20:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_div2): The signature was + changed to allow us to pass arguments directly. + + * ext/bigdecimal/bigdecimal.c (BigDecimal_div3): Added for the role of + the old BigDecimal_div2. + +Sat Nov 23 12:31:00 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix global variable name. + Now we have following environments (and related variable names). + + * RUBY_GC_HEAP_INIT_SLOTS + * RUBY_GC_HEAP_FREE_SLOTS + * RUBY_GC_HEAP_GROWTH_FACTOR (new from 2.1) + * RUBY_GC_HEAP_GROWTH_MAX_SLOTS (new from 2.1) + + * obsolete + * RUBY_FREE_MIN -> RUBY_GC_HEAP_FREE_SLOTS (from 2.1) + * RUBY_HEAP_MIN_SLOTS -> RUBY_GC_HEAP_INIT_SLOTS (from 2.1) + + * RUBY_GC_MALLOC_LIMIT + * RUBY_GC_MALLOC_LIMIT_MAX (new from 2.1) + * RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR (new from 2.1) + + * RUBY_GC_OLDSPACE_LIMIT (new from 2.1) + * RUBY_GC_OLDSPACE_LIMIT_MAX (new from 2.1) + * RUBY_GC_OLDSPACE_LIMIT_GROWTH_FACTOR (new from 2.1) + + * test/ruby/test_gc.rb: catch up this change. + +Sat Nov 23 09:45:49 2013 Aman Gupta <ruby@tmm1.net> + + * marshal.c (w_object): Use HASH_PROC_DEFAULT directly from internal.h + +Sat Nov 23 08:43:23 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c: Rename heap_pages_swept_num to heap_pages_swept_slots to + clarify meaning (number of slots, not pages). + +Sat Nov 23 08:23:23 2013 Aman Gupta <ruby@tmm1.net> + + * lib/set.rb (class SortedSet): Fix source_location for methods + defined via eval. + +Sat Nov 23 03:44:03 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master dcce4ff. Important changes + in this commit: + + Remove automatic detection of gem dependencies files. This prevents a + security hole as described in [ruby-core:58490] + + Fixed bugs for installing git gems. + + * test/rubygems: ditto. + +Fri Nov 22 22:30:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_power): + Round the result value only if the precision is given. + +Fri Nov 22 17:20:50 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * transcode.c (str_transcode0): don't scrub invalid chars if + str.encode doesn't have explicit invalid: :replace. + workaround fix for see #8995 + +Fri Nov 22 17:11:26 2013 Narihiro Nakamura <authornari@gmail.com> + + * include/ruby/intern.h, internal.h: Expose rb_gc_count(). + +Fri Nov 22 17:07:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.gemspec: version 1.2.2. + +Fri Nov 22 17:04:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_data_type): + Use RUBY_TYPED_FREE_IMMEDIATELY only if it is available. + +Fri Nov 22 16:49:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_power): Round the result value. + [Bug #8818] [ruby-core:56802] + + * test/bigdecimal/test_bigdecimal.rb: Add a test for the above fix. + +Fri Nov 22 16:25:43 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (heap_set_increment): accept minimum additional page number. + + * gc.c (gc_after_sweep): allocate pages to allocate at least + RUBY_HEAP_MIN_SLOTS. + [Bug #9137] + +Fri Nov 22 16:19:52 2013 Narihiro Nakamura <authornari@gmail.com> + + * include/ruby/intern.h (rb_gc_set_params): Deprecate + rb_gc_set_params because it's only used in ruby internal. + + * internal.h (ruby_gc_set_params): Declare rb_gc_set_params's + alias function. + + * gc.c: ditto. + + * ruby.c: use ruby_gc_set_params. + +Fri Nov 22 14:55:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Insert rb_thread_check_ints. + +Fri Nov 22 14:35:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix the inserting points + of RB_GC_GUARDs. + +Fri Nov 22 14:31:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c: Fix indentation. + +Fri Nov 22 14:03:00 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/nkf: merge nkf 2.1.3 2a2f2c5. + +Fri Nov 22 12:43:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * util.c (ruby_strtod): ignore too long fraction part, which does not + affect the result. + +Fri Nov 22 12:17:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#initialize): + initialize of a module should pass arguments to super. + +Fri Nov 22 12:02:58 2013 Tanaka Akira <akr@fsij.org> + + * test/ruby/test_settracefunc.rb: Ignore events from other threads. + +Fri Nov 22 10:35:57 2013 Koichi Sasada <ko1@atdot.net> + + * vm.c (ruby_vm_destruct): do not use ruby_xfree() after freeing + objspace. + + * gc.c (ruby_mimfree): added. It is similar to ruby_mimmalloc(). + + * internal.h: ditto. + +Fri Nov 22 09:42:35 2013 Zachary Scott <e@zzak.io> + + * test/digest/test_digest.rb: Reverse order of assert_equal + Reported by @splattael + +Fri Nov 22 09:03:16 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * gc.c: fix build failure on FreeBSD introduced by r43763. + malloc_usable_size() is defined by malloc_np.h on FreeBSD. + + * configure.in: check malloc.h and malloc_np.h. + +Fri Nov 22 08:27:13 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 50a8210. Important changes + in this commit: + + RubyGems now automatically checks for gem.deps.rb or Gemfile when + running ruby executables. This behavior is similar to `bundle exec + rake`. This change may be reverted before Ruby 2.1.0 if too many bugs + are found. + + * test/rubygems: ditto. + +Thu Nov 21 22:33:59 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: RGENGC_CHECK_MODE should be 0. + +Thu Nov 21 21:40:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (VpAlloc): Fix the expr to adjust the size + of the digit array. + +Thu Nov 21 21:36:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_sqrt): Fix the precision of + the result BigDecimal of sqrt. + [Bug #5266] [ruby-dev:44450] + + * test/bigdecimal/test_bigdecimal.rb: add tests for the above changes. + +Thu Nov 21 18:49:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (vm_xrealloc, vm_xfree): use malloc_usable_size() to obtain old + size if available. + +Thu Nov 21 18:47:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/delegate.rb (SimpleDelegator#__getobj__): target object must be set. + + * lib/delegate.rb (DelegateClass#__getobj__): ditto. + +Thu Nov 21 18:28:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/tempfile.rb (Tempfile#initialize): use class method to get rid + of warnings when $VERBOSE. + +Thu Nov 21 17:43:29 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: rename initial_xxx variables to gc_params.xxx. + They are not only used initial values. + + Chikanaga-san: Congratulations on RubyPrize! + +Thu Nov 21 17:16:00 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: enable "RGENGC_ESTIMATE_OLDSPACE" option as default. + Without this option, some application consumes huge memory. + (and there are only a few performance down) + + Introduced new environment variables: + * RUBY_GC_HEAP_OLDSPACE (default 16MB) + * RUBY_GC_HEAP_OLDSPACE_MAX (default 128 MB) + * RUBY_GC_HEAP_OLDSPACE_GROWTH_FACTOR (default 1.2) + + * gc.c (initial_malloc_limit): rename to initial_malloc_limit_min. + +Thu Nov 21 16:51:34 2013 Zachary Scott <e@zzak.io> + + * ext/digest/bubblebabble/bubblebabble.c: Teach RDoc digest/bubblebabble + +Thu Nov 21 16:50:16 2013 Zachary Scott <e@zzak.io> + + * test/digest/test_digest.rb: Add more tests for digest/bubblebabble + +Thu Nov 21 16:32:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/delegate.rb (Delegator#method_missing): try private methods defined in + Kernel after the target. [Fixes GH-449] + +Thu Nov 21 16:25:08 2013 Akinori MUSHA <knu@iDaemons.org> + + * test/uri/test_generic.rb (URI#test_merge): Test uri + URI(path) + in addition to uri + path. + +Thu Nov 21 15:36:08 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/lib/openssl/buffering.rb: [DOC] Fix HEREDOC comment for + OpenSSL::Buffering which breaks overview because of RDoc bug + +Thu Nov 21 14:46:57 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * eval_intern.h (SAVE_ROOT_JMPBUF): workaround for the failure of + test/ruby/test_exception.rb on Windows. + wrap by __try and __exception statements on mswin to raise SIGSEGV + when EXCEPTION_STACK_OVERFLOW is occurred, because MSVCRT doesn't + handle the exception. + however, (1) mingw-gcc doesn't support __try and __exception + statements, and (2) we cannot retry SystemStackError after this + change yet (maybe crashed) because SEH and longjmp() are too + uncongenial. + + * signal.c (check_stack_overflow, CHECK_STACK_OVERFLOW): now defined on + Windows, too. + + * thread_win32.c (ruby_stack_overflowed_p): ditto. + +Thu Nov 21 14:18:24 2013 Zachary Scott <e@zzak.io> + + * object.c: [DOC] Clarify Object#dup vs #clone [Bug #9128] + Moving existing doc for this comparison to separate section of #dup + Adding examples to document behavior of #dup with Module#extend. + Based on a patch by stevegoobermanhill + +Thu Nov 21 14:06:02 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_marks_check): do not dump all refs. + + * gc.c (allrefs_dump_i): fix output format. + +Thu Nov 21 13:43:07 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: change RGENGC_CHECK_MODE (>= 2) logic. + Basically, make an object graph of all of living objects before and + after marking and check status. + + [Before marking: check WB sanity] + If there is a non-old object `obj' pointed from old object + (`parent') then `parent' or `obj' should be remembered. + + [After marking: check marking miss] + Traversible objects with the object graph should be marked. + (However, this alert about objects pointed by machine context + can be false positive. We only display alert.) + + [Implementation memo] + objspace_allrefs() creates an object graph. + The object graph is represented by st_table, key is object (VALUE) + and value is referring objects. Referring objects are stored by + "struct reflist". + + * gc.c (init_mark_stack): do not use push_mark_stack_chunk() at init. + This pre-allocation causes failure on is_mark_stack_empty() + without any pushing. + +Thu Nov 21 13:40:20 2013 Zachary Scott <e@zzak.io> + + * lib/observer.rb: [DOC] Clarify default observer method. + By @edward [Fixes GH-450] https://github.com/ruby/ruby/pull/450 + +Thu Nov 21 13:32:53 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/ossl_engine.c: [DOC] Documentation for OpenSSL::Engine + This patch is based off work by @vbatts in GH-436 completing the + documentation for this class and its methods. + https://github.com/ruby/ruby/pull/436 + +Thu Nov 21 10:45:22 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/lib/openssl/buffering.rb: Remove unused arguments from + OpenSSL::Buffering.new [Fixes GH-445] + +Thu Nov 21 10:30:47 2013 Zachary Scott <e@zzak.io> + + * test/digest/test_digest.rb: Add test for Digest::SHA256.bubblebabble + +Wed Nov 20 20:54:01 2013 Masaya Tarui <tarui@ruby-lang.org> + + * tool/instruction.rb : fix typo. + +Wed Nov 20 19:45:22 2013 Tanaka Akira <akr@fsij.org> + + * random.c (rand_init): Make it possible to specify arbitrary array + for init_genrand(). + +Wed Nov 20 17:34:13 2013 Koichi Sasada <ko1@atdot.net> + + * parse.y (rb_gc_mark_symbols): set global_symbols.minor_marked only + when full_mark is 0. + rb_gc_mark_symbols() (with full_mark == 1) can be called by other + than GC (such as rb_objspace_reachable_objects_from_root()). + +Wed Nov 20 11:46:38 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/json: merge JSON 1.8.1. + https://github.com/nurse/json/compare/002ac2771ce32776b32ccd2d06e5604de6c36dcd...e09ffc0d7da25d0393873936c118c188c78dbac3 + * Remove Rubinius exception since transcoding should be working now. + * Fix https://github.com/flori/json/issues/162 reported by Marc-Andre + Lafortune <github_rocks@marc-andre.ca>. Thanks! + * Applied patches by Yui NARUSE <naruse@airemix.jp> to suppress + warning with -Wchar-subscripts and better validate UTF-8 strings. + * Applied patch by ginriki@github to remove unnecessary if. + * Add load/dump interface to JSON::GenericObject to make + serialize :some_attribute, JSON::GenericObject + work in Rails active models for convenient + SomeModel#some_attribute.foo.bar access to serialised JSON data. + +Wed Nov 20 01:39:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for + NoMethodError when the original of alias is not found. + +Tue Nov 19 23:38:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (--with-os-version-style): option to transform target + OS version string. + +Tue Nov 19 21:27:33 2013 Tanaka Akira <akr@fsij.org> + + * test/net/http/utils.rb (spawn_server): Specify zero for port to + avoid reusing an allocated port. + + * test/net/http/test_http.rb: Don't specify port here. + + * test/net/http/test_https.rb: Ditto. + +Tue Nov 19 18:52:10 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (heap_is_swept_object): use heap_page::before_sweep flag. + +Tue Nov 19 18:49:32 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace_reachable_objects_from_root): do major marking. + +Tue Nov 19 18:45:40 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_gc_resurrect): added. + rb_fstring() used rb_gc_mark() to avoid freeing used string. + However, rb_gc_mark() set mark bit *and* pushes mark_stack. + rb_gc_resurrect() does only set mark bit if it is before sweeping. + + * string.c (rb_fstring): use rb_gc_resurrect. + + * internal.h: add decl. + +Tue Nov 19 09:47:02 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc: Update to RDoc master a1195ce. Changes include: + + Improved accessibility of the main sidebar navigation. + + Fixed handling of regexp options in HTML source highlighting. + + * test/rdoc: ditto. + +Tue Nov 19 09:33:52 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 6a3d9f9. Changes include: + + Compatibly renamed Gem::DependencyResolver to Gem::Resolver. + + Added support for git gems in gem.deps.rb and Gemfile. + + Fixed resolver bugs. + + * test/rubygems: ditto. + + * lib/rubygems/LICENSE.txt: Updated to license from RubyGems trunk. + [ruby-trunk - Bug #9086] + + * lib/rubygems/commands/which_command.rb: RubyGems now indicates + failure when any file is missing. [ruby-trunk - Bug #9004] + + * lib/rubygems/ext/builder: Extensions are now installed into the + extension install directory and the first directory in the require + path from the gem. This allows backwards compatibility with msgpack + and other gems that calculate full require paths. + [ruby-trunk - Bug #9106] + + +Tue Nov 19 07:21:56 2013 Tanaka Akira <akr@fsij.org> + + * configure.in (LOCALTIME_OVERFLOW_PROBLEM): Define it for cross + compiling. + [ruby-core:58391] [Bug #9119] Reported by Luis Lavena. + Analyzed by Heesob Park. + +Tue Nov 19 05:55:05 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc/rubygems_hook.rb: Remove debugging puts committed by + accident. + +Mon Nov 18 22:47:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval_intern.h (TH_PUSH_TAG, TH_EXEC_TAG): refine stack overflow + detection. chain local tag after setjmp() successed on it, because + calling setjmp() also can overflow the stack. + [ruby-dev:47804] [Bug #9109] + + * vm_eval.c (rb_catch_obj): now th->tag points previous tag until + TH_EXEC_TAG(). + + * thread_pthread.c (ruby_init_stack): set stack_start properly by + get_main_stack() if possible. + +Mon Nov 18 22:45:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval_jump.c (rb_exec_end_proc): unlink and free procs data before + calling for each procs. [Bug #9110] + +Sun Nov 17 06:33:32 2013 Shota Fukumori <her@sorah.jp> + + * configure.in: Use $LIBS for base of $SOLIBS, also in darwin. + By this fix, environment that libgmp is located in $LIBS can build + ruby. + +Sun Nov 17 01:56:32 2013 Tanaka Akira <akr@fsij.org> + + * thread_pthread.c (rb_thread_create_timer_thread): Show error + message instead of error number. + (thread_create_core): Ditto. + + * cont.c (fiber_machine_stack_alloc): Ditto. + +Sat Nov 16 18:28:08 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/ultralightparser.rb + (REXML::Parsers::UltraLightParser#parse): Fix wrong :start_doctype + position. + [Bug #9061] [ruby-dev:47778] + Patch by Ippei Obayashi. Thanks!!! + + * test/rexml/parser/test_ultra_light.rb: Add a test for this case. + +Sat Nov 16 02:13:56 2013 Masaya Tarui <tarui@ruby-lang.org> + + * cont.c : Introduce ensure rollback mechanism. Please see below. + + * internal.h (ruby_register_rollback_func_for_ensure): catch up above change. + Add rollback mechanism API. + + * vm_core.h (typedef struct rb_vm_struct): catch up above change. + Introduce ensure-rollback relation table. + + * vm_core.h (typedef struct rb_thread_struct): catch up above change. + Introduce ensure stack. + + * eval.c (rb_ensure): catch up above change. + Introduce ensure stack. + + * hash.c : New function for rollback ensure, and register it to + ensure-rollback relation table. [ruby-dev:47803] [Bug #9105] + + Ensure Rollback Mechanism: + A rollback's function is a function to rollback a state before ensure's + function execution. + When the jump of callcc is across the scope of rb_ensure, + ensure's functions and rollback's functions are executed appropriately + for keeping consistency. + + Current API is unstable, and only internal use. + + ruby_register_rollback_func_for_ensure(ensure_func,rollback_func) + This API create relation ensure's function to rollback's function. + By registered rollback's function, it is executed When jumping into + corresponding rb_ensure scope. + +Sat Nov 16 00:18:36 2013 Masaki Matsushita <glass.saga@gmail.com> + + * eval_jump.c (rb_exec_end_proc): fix double free or corruption error + when reentering by callcc. [ruby-core:58329] [Bug #9110] + + * test/ruby/test_beginendblock.rb: test for above. + +Fri Nov 15 01:06:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/objspace/objspace_dump.c (dump_output): allow IO object as + output, and use Tempfile.create and return open file instead of + mkstemp() and path name for :file output. + [ruby-core:58266] [Bug #9102] + + * test/objspace/test_objspace.rb (TestObjSpace#dump_my_heap_please): + remove temporary output file. + +Thu Nov 14 23:39:00 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> + + * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] remove example of + Rational#to_d without argument. [Bug #8958] + +Thu Nov 14 20:24:15 2013 Naohisa Goto <ngotogenome@gmail.com> + + * ruby_atomic.h (ATOMIC_SIZE_CAS): fix compile error on Solaris + since r43460. + +Thu Nov 14 19:53:00 2013 Tanaka Akira <akr@fsij.org> + + * test/openssl/test_cipher.rb (test_aes_gcm_wrong_tag): Don't use + String#succ because it can make modified (wrong) auth_tag longer + than 16 bytes. The longer auth_tag makes that + EVP_CIPHER_CTX_ctrl (and internally aes_gcm_ctrl) fail. + [ruby-core:55143] [Bug #8439] reported by Vit Ondruch. + +Thu Nov 14 11:33:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (foreach_safe_i, hash_foreach_iter): deal with error detected + by ST_CHECK. + + * st.c (st_foreach_check): call with non-error argument in normal case. + +Thu Nov 14 02:37:14 2013 Zachary Scott <e@zzak.io> + + * ext/thread/thread.c: [DOC] This patch accomplishes the following: + + - Teach RDoc about ConditionVariable + - Teach RDoc about Queue + - Teach RDoc about SizedQueue + - Use fully-qualified namespace for Document-method + This is necessary to separate definitions between classes + - Fix rdoc bug in call_seq vs. call-seq + - Correct doc for SizedQueue#pop patch by @jackdanger [Bug #8988] + +Thu Nov 14 01:11:54 2013 Zachary Scott <e@zzak.io> + + * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] +precision+ is required + +Wed Nov 13 19:21:36 2013 Zachary Scott <e@zzak.io> + + * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] Document the required + +precision+ argument for Rational#to_d [Bug #8958] + +Wed Nov 13 19:02:05 2013 Zachary Scott <e@zzak.io> + + * ext/digest/*: [DOC] Fix several typos and broken http links. + Improved examples for Digest overview and fixed a broken example in + Digest::HMAC overview. This patch also adds a description of + Digest::SHA256.bubblebabble to the Digest overview. + + Patched by @stomar [Bug #9027] + +Wed Nov 13 18:32:12 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/ossl_config.c: [DOC] Document the following: + + - OpenSSL::ConfigError + - OpenSSL::Config::DEFAULT_CONFIG_FILE + + Patched by @vbatts via GH-436 + https://github.com/ruby/ruby/pull/436 + +Wed Nov 13 18:03:00 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/ossl_asn1.c: [DOC] Document parts of + OpenSSL::ASN1::ObjectId included a fix for the class overview, which + previously showed the documentation for Constructive due to missing + ObjectId overview. This patch also includes a note for Primitive. + + Based on a patch by @vbatts via GH-436 + https://github.com/ruby/ruby/pull/436 + +Wed Nov 13 17:19:36 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/lib/openssl/config.rb: In #parse use +string+ for +str+ + +Wed Nov 13 17:09:45 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/lib/openssl/*.rb: [DOC] Document the following: + + - Integer#to_bn + - OpenSSL::Buffering module + - Deprecated OpenSSL::Digest::Digest compatibility class + - OpenSSL::Config + + These changes were based on a patch by @vbatts via GH-436 + https://github.com/ruby/ruby/pull/436 + +Wed Nov 13 10:55:43 2013 Zachary Scott <e@zzak.io> + + * doc/regexp.rdoc: [DOC] Fix typo in Special global variables section. + Reported by Alex Johnson on ruby-doc.org + +Wed Nov 13 10:43:19 2013 Zachary Scott <e@zzak.io> + + * hash.c: [DOC] Adds an example for Hash#store + +Wed Nov 13 09:03:40 2013 Zachary Scott <e@zzak.io> + + * doc/regexp.rdoc: [DOC] add note about Bug #4044 as suggested by + duerst-san in [ruby-core:43612] [Fixes GH-443] Patched by @rosenfeld + https://github.com/ruby/ruby/pull/443 + +Tue Nov 12 10:15:14 2013 Eric Hodel <drbrain@segment7.net> + + * test/rubygems/insure_session.rb: Remove unused test file. + +Tue Nov 12 09:16:24 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master b9213d7. Changes include: + + Fixed tests on Windows (I hope) by forcing platform for + platform-dependent tests. + + Fixed File.exists? warnings. + + Improved testing infrastructure. + + * test/rubygems: ditto. + + * test/rdoc/test_rdoc_rubygems_hook.rb: Switch to util_spec like + RubyGems. + +Mon Nov 11 18:31:12 2013 Aman Gupta <ruby@tmm1.net> + + * internal.h: move common string/hash flags to include file. + * ext/objspace/objspace_dump.c: remove flags shared above. + * hash.c: ditto. + * string.c: ditto. + +Mon Nov 11 04:36:14 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/specification.rb: Include 2.2.0.preview.2 when checking + if extensions should be built. Fixes a ruby-ci failure. + * test/rubygems/test_gem_specification.rb: Test for the above. + +Mon Nov 11 03:15:56 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (symbol2event_flag): add secret feature. + add a_call/a_return events. + a_call is call | b_call | c_call, and same as a_return. + +Mon Nov 11 02:51:17 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 4bdc4f2. Important changes + in this commit: + + RubyGems now chooses the test server port reliably. Patch by akr. + + Partial implementation of bundler's Gemfile format. + + Refactorings to improve the new resolver. + + Fixes bugs in the resolver. + + * test/rubygems: Tests for the above. + +Mon Nov 11 01:02:06 2013 Zachary Scott <e@zzak.io> + + * lib/timeout.rb: [DOC] Add note about change from #8730 [Fixes GH-440] + * NEWS: [DOC] Improve grammar on change to Timeout + Patched by @srawlins in https://github.com/ruby/ruby/pull/440 + +Sun Nov 10 23:47:05 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * gc.c (rb_gcdebug_print_obj_condition): catch up recent changes + to compile on GC_DEBUG. + +Sun Nov 10 22:16:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * error.c (exc_cause): captured previous exception. + + * eval.c (make_exception): capture previous exception automagically. + [Feature #8257] + +Sun Nov 10 08:37:20 2013 Zachary Scott <e@zzak.io> + + * thread.c: [DOC] Remove duplicate reference + +Sun Nov 10 08:09:29 2013 Zachary Scott <e@zzak.io> + + * lib/drb/drb.rb: [DOC] promote better windows-safe filename regular + expression in DRb Logger example. Reported by Chris Pheonix + [Bug #9074] + +Sun Nov 10 08:03:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (rb_define_finalizer, rb_undefine_finalizer): rename and export + finalizer functions. + +Sun Nov 10 07:41:22 2013 Zachary Scott <e@zzak.io> + + * lib/weakref.rb: [DOC] fix typos by @xaviershay [Fixes GH-439] + https://github.com/ruby/ruby/pull/439 + +Sun Nov 10 06:14:39 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze + method is called on a static string literal with no arguments. + + * defs/id.def (firstline): add freeze so idFreeze is available + + * insns.def (opt_str_freeze): add opt_str_freeze instruction which + pushes a frozen string literal without allocating a new object if + String#freeze is not overridden + + * string.c (Init_String): define String#freeze + + * vm.c (vm_init_redefined_flag): define BOP_FREEZE on String class as + a basic operation + + * vm_insnhelper.h: ditto + + [Feature #8992] [ruby-core:57705] + +Sun Nov 10 01:34:14 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (vm_malloc_increase): sweep immediately on GC due to malloc(). + To reduce memory usage, sweep as soon as possible. + This behavior is same as Ruby 2.0.0 and before. + +Sun Nov 10 00:39:26 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: output version description and GC::OPTS. + +Sun Nov 10 00:36:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (should_be_callable): allow private call since rb_eval_cmd + calls even private methods. + +Sun Nov 10 00:33:17 2013 Zachary Scott <e@zzak.io> + + * lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo by Tsuyoshi Sawada + [Bug #9077] + +Sat Nov 9 22:35:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * tool/rbinstall.rb (Gem::Specification.load): obtain spec date from + VCS for the case using git, RUBY_RELEASE_DATE is the last resort. + probably fixes [Bug #9085]. + +Sat Nov 9 20:56:12 2013 Narihiro Nakamura <authornari@gmail.com> + + * ext/objspace/object_tracing.c: use declarations in internal.h. + + * ext/objspace/objspace.c: ditto + +Sat Nov 9 20:32:59 2013 Tanaka Akira <akr@fsij.org> + + * test/objspace/test_objspace.rb (test_dump_all): Make the test string + shorter to be an embedded string on 32bit environment as well as + 64bit environment. + +Sat Nov 9 15:00:16 2013 Zachary Scott <e@zzak.io> + + * io.c: [DOC] ARGF.gets may return nil [Bug #9029] patch by znz + +Sat Nov 9 14:54:52 2013 Zachary Scott <e@zzak.io> + + * lib/rss/*: [DOC] document various constants @steveklabnik [Bug #8812] + +Sat Nov 9 14:50:09 2013 Zachary Scott <e@zzak.io> + + * lib/rss/rss.rb: [DOC] document Time#w3cdtf by @steveklabnik + [Bug #8821] + +Sat Nov 9 14:29:04 2013 Zachary Scott <e@zzak.io> + + * ext/dl/cfunc.c: [DOC] fix typo in example [Bug #8944] + Patched by Heesob Park + +Sat Nov 9 13:59:58 2013 Zachary Scott <e@zzak.io> + + * lib/test/unit/assertions.rb: [DOC] better example for assert_send() + Patch by Andrew Grimm [Bug #8975] + +Sat Nov 9 12:45:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * insns.def: unify ic_constant_serial and ic_class_serial into one field + ic_serial. This is possible because these fields are only ever used + exclusively with each other. + + * insns.def: ditto + * vm_core.h: ditto + * vm_insnhelper.c: ditto + +Sat Nov 9 12:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * class.c: unify names of vm state version counters to 'serial'. + This includes renaming 'vm_state_version_t' to 'rb_serial_t', + 'method_state' to 'method_serial', 'seq' to 'class_serial', + 'vmstat' to 'constant_serial', etc. + + * insns.def: ditto + * internal.h: ditto + * vm.c: ditto + * vm_core.h: ditto + * vm_insnhelper.c: ditto + * vm_insnhelper.h: ditto + * vm_method.c: ditto + +Sat Nov 9 09:22:29 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_page_sweep, rgengc_rememberset_mark): Refactoring. + Get bitmaps directly. + +Sat Nov 9 09:16:36 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (RVALUE_PROMOTE_INFANT): Refactoring. Remove duplicated nonsense + code. + +Sat Nov 9 09:04:48 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_marks_test): Bugfix. Fix a struct member name for build + with RGENGC_CHECK_MODE. + +Sat Nov 9 08:58:23 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c : Add GC_PROFILE_DETAIL_MEMORY option. + If GC_PROFILE_MORE_DETAIL && GC_PROFILE_DETAIL_MEMORY, + maxrss, minflt and majflt are added to each profile record. + +Sat Nov 9 07:41:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h (rb_vm_backtrace_object, rb_gc_count): make prototype + declarations, not old-K&R style. + +Sat Nov 9 06:11:14 2013 vo.x (Vit Ondruch) <vondruch@redhat.com> + + * tool/rbinstall.rb (Gem::Specification#collect): make stable + Gem::Specification.files in default .gemspecs the different order of + "files" in .gemspec files makes them different therefore possibly + conflicting in multilib scenario. patch by vo.x (Vit Ondruch) at + [ruby-core:57544] [Bug #8623]. + +Sat Nov 9 01:59:18 2013 Aman Gupta <ruby@tmm1.net> + + * ext/objspace/objspace_dump.c: Add experimental methods to + dump objectspace as json: ObjectSpace.dump_all and + ObjectSpace.dump(obj). These methods are useful for debugging + reference leaks and memory growth in large ruby applications. + [Bug #9026] [ruby-core:57893] [Fixes GH-423] + * test/objspace/test_objspace.rb: tests for above. + +Sat Nov 9 00:26:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (GetLastError): already defined in windows.h on nowadays + cygwin, and caused the confliction with the system provided + definition on cygwin64. by @kou1okada [Fixes GH-433]. + +Fri Nov 8 18:35:31 2013 Masaki Matsushita <glass.saga@gmail.com> + + * lib/open3.rb: receive arguments as keyword arguments. + +Fri Nov 8 13:19:26 2013 Masaki Matsushita <glass.saga@gmail.com> + + * io.c (rb_io_open_with_args): use RARRAY_CONST_PTR(). + + * io.c (rb_scan_open_args): use const qualifier for above. + + * io.c (rb_open_file): ditto. + + * io.c (rb_io_open_with_args): ditto. + +Fri Nov 8 11:35:06 2013 Masaki Matsushita <glass.saga@gmail.com> + + * dir.c, pack.c, ruby.c, struct.c, vm_eval.c: use RARRAY_CONST_PTR(). + +Fri Nov 8 10:58:02 2013 Masaki Matsushita <glass.saga@gmail.com> + + * compile.c (iseq_build_from_ary_exception): use RARRAY_CONST_PTR(). + + * compile.c (iseq_build_from_ary_body): ditto. + +Fri Nov 8 10:49:34 2013 Masaki Matsushita <glass.saga@gmail.com> + + * enumerator.c (append_method): use RARRAY_CONST_PTR(). + + * enumerator.c (lazy_init_iterator): ditto. + +Fri Nov 8 02:44:29 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (vm_malloc_increase): check GVL before gc_rest_sweep(). + vm_malloc_increase() can be called without GVL. + However, gc_rest_sweep() assumes acquiring GVL. + To avoid this problem, check GVL before gc_rest_sweep(). + [Bug #9090] + + This workaround introduces possibility to set malloc_limit as + wrong value (*1). However, this may be rare case. So I commit it. + + *1: Without rest_sweep() here, gc_rest_sweep() can decrease + malloc_increase due to ruby_sized_xfree(). + +Fri Nov 8 02:50:25 2013 Zachary Scott <e@zzak.io> + + * lib/securerandom.rb: [DOC] specify arguments passed to ::random_bytes + By @chastell [Fixes GH-412] https://github.com/ruby/ruby/pull/412 + +Fri Nov 8 02:43:01 2013 Zachary Scott <e@zzak.io> + + * ext/objspace/object_tracing.c: [DOC] trace_object_allocations_stop + By @srawlins [Fixes GH-421] https://github.com/ruby/ruby/pull/421 + +Fri Nov 8 02:34:20 2013 Zachary Scott <e@zzak.io> + + * lib/net/ftp.rb: [DOC] Document Net::FTP.mdtm and .set_socket and fix + spelling typo, based on patch by @artfuldodger [Fixes GH-426] + https://github.com/ruby/ruby/pull/426 + +Fri Nov 8 02:14:37 2013 Zachary Scott <e@zzak.io> + + * array.c: [DOC] Add note about negative indices in Array overview + By @ckaenzig [Fixes GH-427] https://github.com/ruby/ruby/pull/427 + +Fri Nov 8 02:09:12 2013 Zachary Scott <e@zzak.io> + + * lib/csv.rb: [DOC] Fix typo in CSV.parse_line by @funky-bibimbap + [Fixes GH-430] https://github.com/ruby/ruby/pull/430 + +Fri Nov 8 01:01:54 2013 Zachary Scott <e@zzak.io> + + * golf_prelude.rb: syntax formatting for whitespace [Fixes GH-425] + Patch by @edward https://github.com/ruby/ruby/pull/425 + +Thu Nov 7 19:36:09 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: modify malloc_limit strategy. + + * fix default values: + GC_MALLOC_LIMIT_GROWTH_FACTOR + GC_MALLOC_LIMIT: 8MB -> 16MB + GC_MALLOC_LIMIT_MAX: 384MB -> 32MB + + * algorithm of malloc_limit increment. + if (malloc_increase < malloc_limit) { + next_malloc_limit = malloc_limit * factor + if (malloc_limit > malloc_limit_max) { + malloc_limit = malloc_increase + } + } + This algorithm change malloc_limit from + 16MB -> 32MB slowly. + If malloc_limit exceeds malloc_limit_max, then + increase with malloc_increase. + +Thu Nov 7 11:06:05 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_shuffle_bang): use RARRAY_PTR_USE() without WB + because there are not new relations. + +Thu Nov 7 10:34:12 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_sample): use rb_ary_dup(). + +Thu Nov 7 09:39:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_trace.c (rb_threadptr_exec_event_hooks_orig): errinfo should not + be propagated to trace blocks so that no argument raise does not + throw internal objects. [ruby-dev:47793] [Bug #9088] + +Wed Nov 6 21:30:55 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_before_sweep): Change algorithm of malloc_limit to + conservative for closing to memory consumption of ruby 2.0. + + * gc.c (GC_MALLOC_LIMIT, GC_MALLOC_LIMIT_GROWTH_FACTOR): + Adjust parameters for new algorithm. + +Wed Nov 6 21:16:51 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_shift_m): use RARRAY_PTR_USE() without WB because + there are not new relations. + +Wed Nov 6 21:05:20 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_reverse): use RARRAY_PTR_USE(). + +Wed Nov 6 19:30:44 2013 Masaya Tarui <tarui@ruby-lang.org> + + * common.mk (help): add texts about gcbench. + +Wed Nov 6 16:32:32 2013 Martin Duerst <duerst@it.aoyama.ac.jp> + + * lib/open3.rb: tweaked grammar in comments + +Wed Nov 6 11:46:36 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_sample): use RARRAY_AREF() and RARRAY_PTR_USE() + instead of RARRAY_PTR(). + +Wed Nov 6 10:37:07 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_and): defer hash creation and some refactoring. + +Wed Nov 6 09:14:31 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/bm_vm1_gc_short_lived.rb: added. + These GC benchmarks do not reflect practical applications. + They are only for tuning. + + * benchmark/bm_vm1_gc_short_with_complex_long.rb: added. + + * benchmark/bm_vm1_gc_short_with_long.rb: added. + + * benchmark/bm_vm1_gc_short_with_symbol.rb: added. + + * benchmark/bm_vm1_gc_wb_ary.rb: added. + + * benchmark/bm_vm1_gc_wb_obj.rb: added. + + * benchmark/bm_vm_thread_queue.rb: added. + This benchmark is added to know how fast C version of thread.so. + +Wed Nov 6 09:13:32 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: define RGENGC_ESTIMATE_OLDSPACE == 0 if USE_RGENGC is 0. + +Wed Nov 6 07:13:18 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (Init_GC): add GC::OPTS to show options. + +Wed Nov 6 07:12:17 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: add some options to make quiet. + +Wed Nov 6 04:14:25 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/to_ruby.rb: process merge keys before + reviving objects. Fixes GH psych #168 + * test/psych/test_merge_keys.rb: test for change + https://github.com/tenderlove/psych/issues/168 + +Tue Nov 5 21:21:47 2013 Tanaka Akira <akr@fsij.org> + + * test/ruby/test_thread.rb (test_thread_join_in_trap): + Run the test in a different process. + +Tue Nov 5 20:14:32 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (is_live_object): A hidden object may be a live object. + [ruby-dev:47788] [Bug #9072] + +Tue Nov 5 13:37:19 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: add support to estimate increase of oldspace memory usage. + This is another approach to solve an issue discussed at r43530. + This feature is disabled as default. + + This feature measures an increment of memory consumption by oldgen + objects. It measures memory consumption for each objects when + the object is promoted. However, measurement of memory consumption + is not accurate now. So that this measurement is `estimation'. + + To implement this feature, move memsize_of() function from + ext/objspace/objspace.c and expose rb_obj_memsize_of(). + + Some memsize() functions for T_DATA (T_TYPEDDATA) have problem to + measure memory size, so that we ignores T_DATA objects now. + For example, some functions skip NULL check for pointer. + + The macro RGENGC_ESTIMATE_OLDSPACE enables/disables this feature, + and turned off as default. + + We need to compare 3gen GC and this feature carefully. + (it is possible to enable both feature) + We need a help to compare them. + + * internal.h: expose rb_obj_memsize_of(). + + * ext/objspace/objspace.c: use rb_obj_memsize_of() function. + + * cont.c (fiber_memsize): fix to check NULL. + + * variable.c (autoload_memsize): ditto. + + * vm.c (vm_memsize): ditto. + +Tue Nov 5 04:03:07 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (GC_MALLOC_LIMIT_MAX): fix default value 512MB -> 384MB. + 512MB is huge. + +Tue Nov 5 03:31:23 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: add 3gen GC patch, but disabled as default. + + RGenGC is designed as 2 generational GC, young and old generation. + Young objects will be promoted to old objects after one GC. + Old objects are not collect until major (full) GC. + + The issue of this approach is some objects can promote as old + objects accidentally and not freed until major GC. + Major GC is not frequently so short-lived but accidentally becoming + old objects are not freed. + + For example, the program "loop{Array.new(1_000_000)}" consumes huge + memories because short lived objects (an array which has 1M + elements) are promoted while GC and they are not freed before major + GC. + + To solve this problem, generational GC with more generations + technique is known. This patch implements three generations gen GC. + + At first, newly created objects are "Infant" objects. + After surviving one GC, "Infant" objects are promoted to "Young" + objects. + "Young" objects are promoted to "Old" objects after surviving + next GC. + "Infant" and "Young" objects are collected if it is not marked + while minor GC. So that this technique solves this problem. + + Representation of generations: + * Infant: !FL_PROMOTED and !oldgen_bitmap [00] + * Young : FL_PROMOTED and !oldgen_bitmap [10] + * Old : FL_PROMOTED and oldgen_bitmap [11] + + The macro "RGENGC_THREEGEN" enables/disables this feature, and + turned off as default because there are several problems. + (1) Failed sometimes (Heisenbugs). + (2) Performance down. + Especially on write barriers. We need to detect Young or Old + object by oldgen_bitmap. It is slower than checking flags. + + To evaluate this feature on more applications, I commit this patch. + Reports are very welcome. + + This patch includes some refactoring (renaming names, etc). + + * include/ruby/ruby.h: catch up 3gen GC. + + * .gdbinit: fix to show a prompt "[PROMOTED]" for promoted objects. + +Tue Nov 5 00:05:51 2013 Koichi Sasada <ko1@atdot.net> + + * node.h: catch up comments for last commit. + +Tue Nov 5 00:02:00 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: rename FL_OLDGEN to FL_PROMOTED. + This flag represents that "this object is promoted at least once." + + * gc.c, debug.c, object.c: catch up this change. + +Mon Nov 4 22:20:16 2013 Tanaka Akira <akr@fsij.org> + + * test/xmlrpc: Don't use fixed ports: 8070 and 8071. + +Mon Nov 4 15:25:52 2013 Tanaka Akira <akr@fsij.org> + + * test/xmlrpc/webrick_testing.rb (start_server): Initialize the server + at main thread to fail early. + +Mon Nov 4 10:08:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval_intern.h (TH_EXEC_TAG, TH_JUMP_TAG): get rid of undefined + behavior of setjmp() in rhs of assignment expression. + [ISO/IEC 9899:1999] 7.13.1.1 + +Sun Nov 3 23:06:51 2013 Tanaka Akira <akr@fsij.org> + + * sample/test.rb: Make temporary file names unique. + +Sun Nov 3 20:41:17 2013 Tanaka Akira <akr@fsij.org> + + * test/xmlrpc: Wrap definitions by TestXMLRPC module. + +Sun Nov 3 20:23:38 2013 Tanaka Akira <akr@fsij.org> + + * test/xmlrpc/webrick_testing.rb (stop_server): Don't try to shutdown + the server if the server is not started. + +Sun Nov 3 09:35:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (rb_feature_p): deal with default loadable suffixes. + + * load.c (load_lock): initialize statically linked extensions. + + * load.c (search_required, rb_require_safe): deal with statically + linked extensions. + + * load.c (ruby_init_ext): defer initialization of statically linked + extensions until required actually. [Bug #8883] + +Sat Nov 2 15:14:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/logger.rb (Logger::LogDevice::LogDeviceMutex#lock_shift_log): + open file can't be removed or renamed on Windows. [ruby-dev:47790] + [Bug #9046] + + * test/logger/test_logger.rb (TestLogDevice#run_children): don't use + fork. + +Sat Nov 2 07:08:43 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/logger.rb: Inter-process locking for log rotation + Current implementation fails log rotation on multi process env. + by sonots <sonots@gmail.com> + https://github.com/ruby/ruby/pull/428 fix GH-428 [Bug #9046] + +Fri Nov 1 23:24:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (wmap_mark_map): mark live objects only, but delete zombies. + [ruby-dev:47787] [Bug #9069] + +Fri Nov 1 22:45:54 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (struct heap_page, gc_page_sweep, gc_sweep): Refactoring for + performance. Add before_sweep condition to heap_page structure. + + * gc.c (rb_gc_force_recycle): Use before_sweep member. + + * gc.c (heap_is_before_sweep, is_before_sweep): Remove. They have not + already been used. + +Fri Nov 1 22:20:28 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (make_deferred): Refactoring. Collect codes which should be + atomic. + + * gc.c (make_io_deferred, obj_free, rb_objspace_call_finalizer, + gc_page_sweep): Correspond to the above. + +Fri Nov 1 21:40:35 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (typedef struct rb_objspace): Refactoring. Move some members + into profile member. + + * gc.c (newobj_of): Correspond to the above. + + * gc.c (finalize_list): Ditto. + + * gc.c (objspace_live_num): Ditto. + + * gc.c (gc_page_sweep): Ditto. + + * gc.c (rb_gc_force_recycle): Ditto. + + * gc.c (garbage_collect_body): Ditto. + + * gc.c (rb_gc_count): Ditto. + + * gc.c (gc_stat): Ditto. + + * gc.c (gc_prof_set_heap_info): Ditto. + + * gc.c (gc_profile_dump_on): Ditto. + +Fri Nov 1 20:53:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_scrub): fix typo, should yield invalid byte + sequence to be scrubbed. reported by znz at IRC. + +Fri Nov 1 17:25:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (is_live_object): finalizer may not run because of lazy-sweep. + [ruby-dev:47786] [Bug #9069] + +Fri Nov 1 16:55:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_scrub): export with fixed length arguments, and + allow nil as replacement string instead of omitting. + +Fri Nov 1 06:20:44 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c (rb_mutex_struct): reduce rb_mutex_t size by 8 bytes + on 64bit platform. Patch by Eric Wong. [Feature #9068][ruby-core:58114] + +Fri Nov 1 01:08:33 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: print HWM (high water mark) if possible. + +Thu Oct 31 21:48:31 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/streamparser.rb: Add dependency file require. + [Bug #9062] [ruby-dev:47779] + Reported by Ippei Obayashi. Thanks!!! + +Thu Oct 31 14:09:32 2013 Koichi Sasada <ko1@atdot.net> + + * vm_method.c (rb_method_entry_make): fix to pass an ISeq value. + OBJ_WRITTEN() accepts only VALUE. + +Wed Oct 30 19:07:57 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-additional.el (ruby-brace-to-do-end) + (ruby-do-end-to-brace, ruby-toggle-block): Remove functions that + are already in the latest released version of Emacs (24.3). + [Bug #7565] + +Wed Oct 30 12:44:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/Makefile.sub (config.status): add missing variables, + PLATFORM_DIR and THREAD_MODEL. + +Wed Oct 30 12:20:32 2013 Tanaka Akira <akr@fsij.org> + + * time.c (v2w): Normalize a rational value to an integer if possible. + [ruby-core:58070] [Bug #9059] reported by Isaac Schwabacher. + +Wed Oct 30 12:08:41 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_uniq_bang): use rb_ary_modify_check() instead of + rb_ary_modify() because the array will be unshared soon. + +Wed Oct 30 03:25:10 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: make less garbage when + testing if a string is binary. + +Wed Oct 30 03:08:24 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: string subclasses should + not be considered to be binary. Fixes Psych / GH 166 + https://github.com/tenderlove/psych/issues/166 + + * test/psych/test_string.rb: test for fix + +Tue Oct 29 23:01:18 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_zip): some refactoring. + +Tue Oct 29 22:11:37 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_uniq_bang): use st_foreach() instead of for loop. + +Tue Oct 29 20:01:58 2013 Koichi Sasada <ko1@atdot.net> + + * add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use + safe functions during garbage collection such as xfree(). + + On default, T_DATA objects are freed at same points as finalizers. + This approach protects issues such as reported by [ruby-dev:35578]. + However, freeing T_DATA objects immediately helps heap usage. + + Most of T_DATA (in other words, most of dfree functions) are safe. + However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default + for safety. + + * cont.c: ditto. + + * dir.c: ditto. + + * encoding.c: ditto. + + * enumerator.c: ditto. + + * error.c: ditto. + + * file.c: ditto. + + * gc.c: ditto. + + * io.c: ditto. + + * iseq.c: ditto. + + * marshal.c: ditto. + + * parse.y: ditto. + + * proc.c: ditto. + + * process.c: ditto. + + * random.c: ditto. + + * thread.c: ditto. + + * time.c: ditto. + + * transcode.c: ditto. + + * variable.c: ditto. + + * vm.c: ditto. + + * vm_backtrace.c: ditto. + + * vm_trace.c: ditto. + + * ext/bigdecimal/bigdecimal.c: ditto. + + * ext/objspace/objspace.c: ditto. + + * ext/stringio/stringio.c: ditto. + + * ext/strscan/strscan.c: ditto. + +Tue Oct 29 19:48:33 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: fix typo (FL_WB_PROTECT -> FL_WB_PROTECTED). + +Tue Oct 29 18:45:08 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (tp_free): removed because empty free function. + Use RUBY_TYPED_NEVER_FREE instead. + +Tue Oct 29 18:37:33 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: introduce new flags for T_TYPEDDATA. + * RUBY_TYPED_FREE_IMMEDIATELY: free the data given by DATA_PTR() + with dfree function immediately. Otherwise (default), the data + freed at finalization point. + * RUBY_TYPED_WB_PROTECTED: make this object with FL_WB_PROTECT + (not shady). + + * gc.c (obj_free): support RUBY_TYPED_FREE_IMMEDIATELY. + +Tue Oct 29 16:49:03 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (vm_malloc_increase): decrease it more carefully. + +Tue Oct 29 16:24:52 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (heap_page_resurrect): return a page in tomb heap even if + freelist is NULL. + +Tue Oct 29 15:46:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby_atomic.h (ATOMIC_SIZE_CAS): new macro, compare and swap size_t. + +Tue Oct 29 12:08:05 2013 Tanaka Akira <akr@fsij.org> + + * ext/readline/readline.c (readline_getc): Consider + NULL as input. + +Tue Oct 29 11:10:08 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (gc_profile_total_time): fix off-by-one error in + GC::Profiler.total_time. + * test/ruby/test_gc.rb (class TestGc): test for above. + +Tue Oct 29 09:53:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: split + ruby_vm_global_state_version into two separate counters - one for the + global method state and one for the global constant state. This means + changes to constants do not affect method caches, and changes to + methods do not affect constant caches. In particular, this means + inclusions of modules containing constants no longer globally + invalidate the method cache. + + * class.c, eval.c, include/ruby/intern.h, insns.def, vm.c, vm_method.c: + rename rb_clear_cache_by_class to rb_clear_method_cache_by_class + + * class.c, include/ruby/intern.h, variable.c, vm_method.c: add + rb_clear_constant_cache + + * compile.c, vm_core.h, vm_insnhelper.c: rename vmstat field in + rb_call_info_struct to method_state + + * vm_method.c: rename vmstat field in struct cache_entry to method_state + +Mon Oct 28 23:26:04 2013 Tanaka Akira <akr@fsij.org> + + * test/readline/test_readline.rb (teardown): Clear Readline.input and + Readline.output. + +Mon Oct 28 21:35:31 2013 Tanaka Akira <akr@fsij.org> + + * ext/-test-/file/depend, ext/-test-/postponed_job/depend, + ext/-test-/tracepoint/depend: New files for dependencies. + +Mon Oct 28 15:32:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/openssl/depend (ossl.o): work around of dependency of + thread_native.h, which depends on headers by THREAD_MODEL. + [ruby-dev:47777] + + * ext/openssl/extconf.rb: need THREAD_MODEL. + +Mon Oct 28 14:57:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (ruby_init_ext): share feature names between frame name and + provided features. + +Mon Oct 28 14:41:27 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el: Import ruby-electric.el 2.1 from + https://github.com/knu/ruby-electric.el. + + * Hitting the newline-and-indent key within a comment fires + comment-indent-new-line. + + * Introduce a new feature + `ruby-electric-autoindent-on-closing-char`. + + * Fix fallback behavior of ruby-electric-space/return that + caused error with auto-complete. + +Mon Oct 28 13:17:17 2013 Or Cohen <orc@fewbytes.com> + + * error.c (name_err_to_s): remove no longer needed overriding, since + r30455 which made exc_to_s almost same. Fixes [GH-413]. + +Mon Oct 28 12:42:11 2013 Tanaka Akira <akr@fsij.org> + + * common.mk, ext/objspace/depend, ext/coverage/depend, + ext/-test-/debug/depend, ext/date/depend: Update dependencies. + +Mon Oct 28 09:29:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * vm.c: vm_clear_all_cache is not necessary now we use a 64 bit counter + for global state version. + + * vm_insnhelper.h: ruby_vm_global_state_version overflow is unnecessary + +Mon Oct 28 07:47:32 2013 Aman Gupta <ruby@tmm1.net> + + * vm_backtrace.c (rb_profile_frame_classpath): do not use rb_inspect + directly, since it might have a custom implementation or show ivars. + +Mon Oct 28 04:10:41 2013 Aman Gupta <ruby@tmm1.net> + + * vm_backtrace.c (rb_profile_frame_classpath): handle singleton + methods defined directly on an object. + * test/-ext-/debug/test_profile_frames.rb: test for above. + +Mon Oct 28 00:52:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * struct.c (new_struct): fix warning message, class name and encoding. + +Sun Oct 27 20:53:08 2013 Tanaka Akira <akr@fsij.org> + + * ext/readline/readline.c: Include ruby/thread.h for + rb_thread_call_without_gvl2. + (readline_rl_instream, readline_rl_outstream): Record FILE + structures allocated by this extension. + (getc_body): New function extracted from readline_getc. + (getc_func): New function. + (readline_getc): Use rb_thread_call_without_gvl2 to invoke getc_func. + [ruby-dev:47033] [Bug #8749] + (clear_rl_instream, clear_rl_outstream): Close FILE structure + allocated by this extension reliably. [ruby-core:57951] [Bug #9040] + (readline_readline): Use clear_rl_instream and clear_rl_outstream. + (readline_s_set_input): Set readline_rl_instream. + (readline_s_set_output): Set readline_rl_outstream. + (Init_readline): Don't call readline_s_set_input because + readline_getc doesn't block other threads for any FILE structure now. + + [ruby-dev:47033] [Bug #8749] reported by Nobuhiro IMAI. + [ruby-core:57951] [Bug #9040] reported by Eamonn Webster. + +Sat Oct 26 19:31:28 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * gc.c: catch up recent changes to compile on GC_DEBUG, + RGENGC_CHECK_MODE. + +Sat Oct 26 19:08:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * range.c (range_initialize_copy): disallow to modify after + initialized. + +Sat Oct 26 17:48:54 2013 Tanaka Akira <akr@fsij.org> + + * lib/open-uri.rb (meta_add_field): : Re-implemented. + [ruby-core:58017] [Bug #9051] patch by Eamonn Webster. + +Sat Oct 26 14:35:09 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_dump_on): use "Page" terminology. + +Sat Oct 26 13:25:45 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_sweep, gc_heap_lazy_sweep): fix measurement code. + We only need one sweep time measurement without lazy sweep. + +Sat Oct 26 11:59:13 2013 Tanaka Akira <akr@fsij.org> + + * addr2line.c: Include ELF header after system headers (especially + sys/types.h) to avoid compilation failure, + "usr/include/sh3/elf_machdep.h:4:2: error: #error Define _BYTE_ORDER!", + on NetBSD/sh3 (dreamcast, hpcsh, landisk, mmeye). + +Sat Oct 26 11:35:22 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: tuning parameters. + + * gc.c (GC_MALLOC_LIMIT): change default value to 16MB. + + * gc.c (GC_MALLOC_LIMIT_GROWTH_FACTOR): change default value to 2.0. + + * gc.c (gc_before_sweep): change decrease ratio of `malloc_limit' + from 1/4 to 1/10. + +Sat Oct 26 11:30:07 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (vm_malloc_increase): do gc_rest_sweep() before GC. + gc_rest_sweep() can reduce malloc_increase, so try it before GC. + Otherwise, malloc_increase can be less than malloc_limit at + gc_before_sweep(). This means that re-calculation of malloc_limit + may be wrong value. + +Sat Oct 26 06:35:41 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_before_heap_sweep): Restructure code to mean clearly. + heap->freelist is connected to end of list. + +Sat Oct 26 04:01:35 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_before_heap_sweep): fix freelist management. + After rb_gc_force_recycle() for a object belonging to heap->freelist, + `heap->using_page->freelist' is not null. + +Thu Oct 24 21:57:24 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * parse.y: Remove +(binary) and -(binary) special cases + [Feature #9048] + +Thu Oct 24 12:45:53 2013 Zachary Scott <e@zzak.io> + + * object.c: [DOC] Document first argument also takes string for: + + rb_mod_const_get, rb_mod_const_set, rb_mod_const_defined + + Also added note about NameError exception for invalid constant name + +Thu Oct 24 12:23:58 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c (rb_thread_terminate_all): add a comment why we need + state check and call terminate_i again. + +Thu Oct 24 12:15:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c (rb_thread_terminate_all): add a comment why infinite + sleep is safe. + +Thu Oct 24 07:41:42 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c: add new initial_growth_max tuning parameter. + [ruby-core:57928] [Bug #9035] + * gc.c (heap_set_increment): when initial_growth_max is set, + do not grow number of slots by more than growth_max at a time. + * gc.c (rb_gc_set_params): load optional new tuning value from + RUBY_HEAP_SLOTS_GROWTH_MAX environment variable. + * test/ruby/test_gc.rb (class TestGc): test for above. + +Thu Oct 24 01:34:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/win32.h (rb_infinity_float): suppress overflow in + constant arithmetic warnings. [ruby-core:57981] [Bug #9044] + +Thu Oct 24 00:11:24 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * lib/ostruct.rb: raise NoMethodError with a #name and #args. + Raise RuntimeError when modifying frozen instances + instead of TypeError. + (OpenStruct#each_pair): Return an enumerator with size + (OpenStruct#delete): Use the converted argument. + Patches by Kenichi Kamiya. [Fixes GH-383] + + * test/ostruct/test_ostruct.rb: Added tests for above. + +Thu Oct 24 00:10:22 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * array.c: Add Array#to_h [Feature #7292] + + * enum.c: Add Enumerable#to_h + +Wed Oct 23 23:48:28 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c: Rename free_min to min_free_slots and free_min_page to + max_free_slots. The algorithm for heap growth is: + if (swept_slots < min_free_slots) pages++ + if (swept_slots > max_free_slots) pages-- + +Wed Oct 23 22:51:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/Makefile.sub (config.h): VC 2013 supports C99 mathematics + functions. [ruby-core:57981] [Bug #9044] + +Wed Oct 23 19:13:18 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: move increment from heap to heap_pages. + Share `increment' information with heaps. + + * gc.c: change ratio of heap_pages_free_min_page + to 0.80. + This change means slow down page freeing speed. + +Wed Oct 23 17:52:03 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (heap_pages_free_unused_pages): cast to (int) for size_t + variable `i'. + +Wed Oct 23 17:39:35 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: introduce tomb heap. + Tomb heap is where zombie objects and ghost (freed slot) lived in. + Separate from other heaps (now there is only eden heap) at sweeping + helps freeing pages more efficiently. + Before this patch, even if there is an empty page at former phase + of sweeping, we can't free it. + + Algorithm: + (1) Sweeping all pages in a heap and move empty pages from the + heap to tomb_heap. + (2) Check all existing pages and free a page + if all slots of this page are empty and + there is enough empty slots (checking by swept_num) + + To introduce this patch, there are several tuning of GC parameters. + +Wed Oct 23 14:20:56 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_prof_sweep_timer_stop): catch up recent changes + to compile on GC_PROFILE_MORE_DETAIL=1. + +Wed Oct 23 11:43:27 2013 Zachary Scott <e@zzak.io> + + * file.c: [DOC] fix rdoc format of File#expand_path from r43386 + +Tue Oct 22 21:58:28 2013 URABE Shyouhei <shyouhei@ruby-lang.org> + + * vm_core.h (enum): avoid syntax error. + + * method.h: ditto. + + * internal.h: ditto. + +Tue Oct 22 19:53:16 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (Init_heap): move logics from heap_pages_init() and remove + heap_pages_init(). + +Tue Oct 22 19:19:05 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: allow multiple heaps. + Now, objects are managed by page. And a set of pages is called heap. + This commit supports multiple heaps in the object space. + + * Functions heap_* and rb_heap_t manages heap data structure. + * Functions heap_page_* and struct heap_page manage page data + structure. + * Functions heap_pages_* and struct rb_objspace_t::heap_pages + maintains all pages. + For example, pages are allocated from the heap_pages. + + See https://bugs.ruby-lang.org/projects/ruby-master/wiki/GC_design + and https://bugs.ruby-lang.org/attachments/4015/data-heap_structure_with_multiple_heaps.png + for more details. + + Now, there is only one heap called `eden', which is a space for all + new generated objects. + +Tue Oct 22 18:26:12 2013 Tanaka Akira <akr@fsij.org> + + * lib/pp.rb (object_address_group): Use Kernel#to_s to obtain the class + name and object address. + This fix a problem caused by %p in C generates variable length + address. + Reported by ko1 via IRC. + +Tue Oct 22 16:57:48 2013 Benoit Daloze <eregontp@gmail.com> + + * file.c (File#expand_path): [DOC] improve documentation of File#expand_path. + Based on patch by Prathamesh Sonpatki. [ruby-core:57734] [Bug #9002] + +Tue Oct 22 15:59:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (glob_helper): don't skip current directories if FNM_DOTMATCH + is given. [ruby-core:53108] [Bug #8006] + +Tue Oct 22 14:53:11 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c: exterminate Zombies. + There is a bug that T_ZOMBIE objects are not collected. + Because there is a pass to miss finalizer postponed job + with multi-threading. This patch solve this issue. + + * vm_trace.c (rb_postponed_job_register_one): set + RUBY_VM_SET_POSTPONED_JOB_INTERRUPT(th) if another same job + is registered. + There is a possibility to remain a postponed job without + interrupt flag. + + * vm_trace.c (rb_postponed_job_register_one): check interrupt + carefully. + + * vm_trace.c (rb_postponed_job_register_one): use additional space + to avoid buffer full. + + * gc.c (gc_finalize_deferred_register): check failure. + + * thread.c (rb_threadptr_execute_interrupts): check + `postponed_job_interrupt' immediately. There is a possibility + to miss this flag. + +Tue Oct 22 12:11:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: check if the given CFLAGS and LDFLAGS are working, and + bail out early if not. + +Tue Oct 22 00:06:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_file_exists_p): warn deprecated name. [Bug #9041] + +Mon Oct 21 23:57:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * encoding.c (load_encoding): should preserve outer errinfo, so that + expected exception may not be lost. [ruby-core:57949] [Bug #9038] + +Sun Oct 20 15:41:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (rb_io_reopen): create a new, temporary FD via rb_sysopen and + call rb_cloexec_dup2 on it to atomically replace the file fptr->fd + points to. This leaves no possible window where fptr->fd is invalid + to userspace (even for any threads running w/o GVL). based on the + patch by Eric Wong <normalperson@yhbt.net> at [ruby-core:57943]. + [Bug #9036] + +Sun Oct 20 15:29:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * error.c (rb_syserr_fail_path_in): new function split from + rb_sys_fail_path_in to raise SystemCallError without errno. + + * internal.h (rb_syserr_fail_path): like rb_sys_fail_path but without + errno. + +Sun Oct 20 13:58:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (rb_obj_wb_unprotect, rb_obj_written), + (rb_obj_write): suppress unused-parameter warnings. + +Sun Oct 20 10:32:48 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update RubyGems to master 0886307. This commit + improves documentation and should bring ruby above 75% documented on + rubyci. + +Sun Oct 20 09:30:56 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 3de7e0f. Changes: + + Only attempt to build extensions for newly-installed gems. This + prevents compilation attempts at gem activation time for gems that + already have extensions built. + + Fix crash in the dependency resolver for dependencies that cannot be + resolved. + + * test/rubygems: ditto. + +Sun Oct 20 05:24:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * variable.c (rb_class2name): should return real class name, not + singleton class or iclass. + +Sun Oct 20 04:18:48 2013 Aman Gupta <ruby@tmm1.net> + + * variable.c (rb_class2name): call rb_tmp_class_path() directly to + avoid extra rb_str_dup() from rb_class_name(). + +Sat Oct 19 19:59:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/file.c (code_page): use simple array instead of st_table. + + * encoding.c (rb_locale_encindex): defer initialization of win32 code + page table until encoding db loaded. + +Sat Oct 19 08:25:05 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix rb_objspace_t. + * make "struct heap" and move most of variables + in rb_objspace_t::heap. + * rename rb_objspace_t::heap::sorted to + rb_objspace_t::heap_sorted_pages + and make a macro heap_sorted_pages. + * rename rb_objspace_t::heap::range to + rb_objspace_t::heap_range and rename macros + lomem/himem to heap_lomem/heap_himem. + +Sat Oct 19 07:14:40 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 42543b6. Changes: + + Fix `gem update` for gems with multiple platforms. + + * test/rubygems: ditto. + +Sat Oct 19 06:55:52 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 0a3814b. Changes: + + Fixed extension directory in Gem::Specification#require_paths. + + Allow installation of gems when $HOME is nonexistent or unwritable. + + Use proper API in InstallCommand. + + Improve support for path option in gem dependency files. + + Remove warnings. + + * test/rubygems: ditto. + +Fri Oct 18 15:23:34 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: change terminology of heap. + Change "slot" to "page". "Slot" is a space of RVALUE. + 1. "Heap" consists of a set of "heap_page"s (pages). + 2. Each "heap_page" has "heap_page_body". + 3. "heap_page_body" has RVALUE (a.k.a. "slot") spaces. + 4. "sorted" is a sorted array of "heap_page"s, sorted + by address of heap_page_body (for "is_pointer_to_heap"). + + See https://bugs.ruby-lang.org/attachments/4008/data-heap_structure.png. + +Fri Oct 18 09:40:43 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master cee6788. Changes: + + Fix test failure on vc10-x64 Server on rubyci.org due to attempting + to File.chmod where it is not supported. + + Continuing work on improved gem dependencies file (Gemfile) support. + + * test: ditto. + +Fri Oct 18 06:02:49 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master f738c67. Changes: + + Fixed test bug for ruby with ENABLE_SHARED = no + + * test/rubygems: ditto. + +Fri Oct 18 00:57:07 2013 Tanaka Akira <akr@fsij.org> + + * lib/tsort.rb (TSort.tsort): Extracted from TSort#tsort. + (TSort.tsort_each): Extracted from TSort#tsort_each. + (TSort.strongly_connected_components): Extracted from + TSort#strongly_connected_components. + (TSort.each_strongly_connected_component): Extracted from + TSort#each_strongly_connected_component. + +Thu Oct 17 18:50:08 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (CALC_EXACT_MALLOC_SIZE_CHECK_OLD_SIZE): introduced. + This macro enable checker compare with allocated memory and + declared old_size of sized_xfree and sized_xrealloc. + +Thu Oct 17 18:45:41 2013 Koichi Sasada <ko1@atdot.net> + + * string.c (STR_HEAP_SIZE): includes TERM_LEN(str). + + * string.c (rb_str_memsize): use STR_HEAP_SIZE(). + +Thu Oct 17 17:43:00 2013 Shugo Maeda <shugo@ruby-lang.org> + + * vm_insnhelper.c (vm_call_method): set ci->me to 0 when the + original method of a refined method is undef to avoid SEGV. + + * vm_method.c (rb_method_entry_without_refinements): return 0 when + the original method of a refined method is undef to avoid SEGV. + + * test/ruby/test_refinement.rb: related test. + +Thu Oct 17 17:38:36 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c, internal.h: rename ruby_xsizefree/realloc to + rb_sized_free/realloc. + + * array.c: catch up these changes. + + * string.c: ditto. + +Thu Oct 17 17:32:51 2013 Koichi Sasada <ko1@atdot.net> + + * array.c, string.c: use ruby_xsizedfree() and ruby_xsizedrealloc(). + + * internal.h (SIZED_REALLOC_N): define a macro as REALLOC_N(). + +Thu Oct 17 17:11:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (console_emulator_p): check by comparison between + module handle of WriteConsoleW and kernel32.dll. + + * configure.in, win32/Makefile.sub, win32/setup.mak: no longer need + psapi.lib. + +Thu Oct 17 16:53:30 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c, internal.h: add new internal memory management functions. + * void *ruby_xsizedrealloc(void *ptr, size_t new_size, size_t old_size) + * void ruby_xsizedfree(void *x, size_t size) + These functions accept additional size parameter to calculate more + accurate malloc_increase parameter which control GC timing. + [Feature #8985] + +Thu Oct 17 14:21:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/file.c (rb_file_expand_path_internal): fix memory leaks at + a non-absolute home exception. + +Thu Oct 17 14:06:39 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/object_tracing.c (newobj_i): fix memory leak. + There is possibility to remain info due to missing FREEOBJ event. + FREEOBJ events are skipped while suppress_tracing state, for example, + during trace events are invoking. + +Thu Oct 17 12:30:16 2013 Tanaka Akira <akr@fsij.org> + + * lib/tsort.rb (TSort.each_strongly_connected_component_from): + Extracted from TSort#each_strongly_connected_component_from. + +Thu Oct 17 11:07:06 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 941c21a. Changes: + + Restored method bundler wants to remove for compatibility. + + Improvements to Gemfile compatibility. + + * test/rubygems: ditto. + +Thu Oct 17 08:08:11 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/object_tracing.c (newobj_i): add workaround. + some bugs hits this check. + + * ext/objspace/object_tracing.c (object_allocations_reporter_i): cast as pointer. + +Thu Oct 17 07:36:53 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 2abce58. Changes: + + Fixed documentation generation when sdoc and json are installed as + gems. + + Added some missing documentation. + +Thu Oct 17 07:10:26 2013 Zachary Scott <e@zzak.io> + + * ext/curses/curses.c: [DOC] Cleaned up formatting consistency of rdoc + comments for Curses, including period spacing and column width. + + This patch also fixed some typos. Thanks to @postmodern for the patch! + [Fixes GH-420] https://github.com/ruby/ruby/pull/420 + +Thu Oct 17 06:58:42 2013 Zachary Scott <e@zzak.io> + + * ext/date/date_core.c: [DOC] plural grammar fixed by @scott113341 + Contributed via documenting-ruby.org: documenting-ruby/ruby#16 + https://github.com/documenting-ruby/ruby/pull/16 + +Thu Oct 17 05:52:31 2013 Zachary Scott <e@zzak.io> + + * ext/io/nonblock/nonblock.c: [DOC] Document io/nonblock by reprah + [Fixes GH-418] https://github.com/ruby/ruby/pull/418 based on the + original discussion from documenting-ruby/ruby#18 + +Thu Oct 17 05:40:33 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (objspace_each_objects): do not skip empty RVALUEs. + +Thu Oct 17 05:31:31 2013 Koichi Sasada <ko1@atdot.net> + + * error.c (rb_bug_reporter_add): return simply 0 if failed. + Please check return value. + +Thu Oct 17 05:17:33 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/object_tracing.c: add new method + ObjectSpace.trace_object_allocations_debug_start for GC debugging. + If you encounter the BUG "... is T_NONE" (and so on) on your + application, please try this method at the beginning of your app. + +Wed Oct 16 22:35:27 2013 Zachary Scott <e@zzak.io> + + * ext/io/nonblock/nonblock.c: use rb_cIO instead of VALUE + +Wed Oct 16 17:45:13 2013 Koichi Sasada <ko1@atdot.net> + + * bootstraptest/runner.rb: check nil before calling `signal?' + for a process status. + +Wed Oct 16 17:37:17 2013 Koichi Sasada <ko1@atdot.net> + + * error.c, internal.h (rb_bug_reporter_add): add a new C-API. + rb_bug_reporter_add() allows to register a function which + is called at rb_bug() called. + + * ext/-test-/bug_reporter/bug_reporter.c: add a test for this C-API. + + * ext/-test-/bug_reporter/extconf.rb: ditto. + + * test/-ext-/bug_reporter/test_bug_reporter.rb: ditto. + +Wed Oct 16 15:14:21 2013 Koichi Sasada <ko1@atdot.net> + + * NEWS: add a line into NEWS for last commit. + +Wed Oct 16 15:09:14 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/objspace.c: add a new method `reachable_objects_from_root'. + ObjectSpace.reachable_objects_from_root returns all objects referred + from root (called "root objects"). + This feature is for deep object analysis. + + * test/objspace/test_objspace.rb: add a test. + +Wed Oct 16 15:00:21 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master b955554. Changes: + + Fixed NameError for Gem::Ext due to re-entering file lookup in + RubyGems' overridden require. Bug by Koichi Sasada. + + Fixed possible circular require warning in tests. + + Used existing constant for `gem install -g` dependency file list. + + * test/rubygems: ditto. + +Wed Oct 16 09:42:42 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master 278d00d. Changes: + + Fixes building extensions without a "clean" make rule + + Adds gem dependency file autodetection to "gem install -g" + + * test/rubygems: Tests for the above. + +Wed Oct 16 09:12:23 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems master commit 2a74263. This fixes + several bugs in RubyGems 2.2.0.preview.1. + + * test/rubygems: ditto. + +Wed Oct 16 07:25:02 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (gc_mark_roots): rename roots to be categories + instead of function names. + +Tue Oct 15 19:18:13 2013 Koichi Sasada <ko1@atdot.net> + + * gc.h (rb_objspace_reachable_objects_from_root): added. + This API provides information which objects are root objects. + `category' shows what kind of root objects. + + * gc.c (gc_mark_roots): separate from gc_marks_body(). + +Tue Oct 15 17:47:59 2013 Tanaka Akira <akr@fsij.org> + + * process.c: Fix a typo. MacOS X doesn't have ENOTSUPP. + +Mon Oct 14 12:32:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby.c (process_options): load statically linked extensions before + rubygems, because of ext/thread. + + * ruby.c (process_options): use gem_prelude instead of requiring + rubygems directly when --enable=gems is given. + + * Makefile.in (DEFAULT_PRELUDES): always use gem_prelude regardless of + --disable-rubygems. + +Mon Oct 14 11:07:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (have_framework): should append framework options to + $LIBS, not $LDFLAGS. The former is propagated to exts.mk when + enable-static-linked-ext. + + * lib/mkmf.rb (create_makefile): ranlib on static library, not DLLIB. + +Sun Oct 13 23:53:40 2013 Andrew Grimm <andrew.j.grimm@gmail.com> + + * vsnprintf.c: Fix spelling from compliment to complement. + Patch by @agrimm. + + * include/ruby/ruby.h: ditto + +Sun Oct 13 20:59:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm.c (Init_BareVM): initialize defined_module_hash here, + Init_top_self() is too late to register core classes/modules. + + * compile.c (compile_array_): no hash to merge if it is empty. + + * vm.c (m_core_hash_merge_kwd): just check keys if only one argument + is given, without merging. + +Sat Oct 12 06:35:01 2013-10-11 Eric Hodel <drbrain@segment7.net> + + * lib/rake: Update to rake 10.1.0 + * bin/rake: ditto. + * test/rake: ditto. + + * NEWS: Update NEWS to include rake 10.1.0 and links to release notes. + +Sat Oct 12 03:26:04 2013 Koichi Sasada <ko1@atdot.net> + + * class.c, variable.c, gc.c (rb_class_tbl): removed. + + * vm.c, vm_core.h (rb_vm_add_root_module): added to register as a + defined root module or class. + This guard helps mark miss from defined classes/modules they are + only referred from C's global variables in C-exts. + Basically, it is extension's bug. + Register to hash object VM has. + Marking a hash objects allows generational GC supports. + + * gc.c (RGENGC_PRINT_TICK): disable (revert). + +Sat Oct 12 03:24:49 2013 Koichi Sasada <ko1@atdot.net> + + * vm_method.c (rb_gc_mark_unlinked_live_method_entries): + revert last commit to introduce debug prints. + +Fri Oct 11 21:05:19 2013 Koichi Sasada <ko1@atdot.net> + + * internal.h, parse.y: use `full_mark' instead of `full_marking'. + +Fri Oct 11 20:58:16 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: use terminology `full_mark' instead of `minor_gc' + in mark functions. + +Fri Oct 11 20:46:09 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: use __GNUC__ instead of __GCC__. + +Fri Oct 11 20:35:59 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c, parse.y: support generational Symbol related marking. + Each symbols has String objects respectively to represent + Symbols. + These objects are marked only when: + * full marking + * new symbols are added + This hack reduce symbols (related strings) marking time. + For example, on my Linux environment, the following code + "20_000_000.times{''}" + with 40k symbols (similar symbol number on Rails 3.2.14 app, + @jugyo tells me) boosts, from 7.3sec to 4.2sec. + + * internal.h: change prototype of rb_gc_mark_symbols(). + +Fri Oct 11 19:27:22 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el: Import ruby-electric.el 2.0.1 which fixes + a bug and a flaw with auto-end introduced in the revamp. + + * ruby-forward-sexp is inappropriate here because it moves the + cursor past the keyword. + + * Fix a reversed looking-back check in + ruby-electric--block-beg-keyword-at-point-p. + + * Do not add end again if space or return is hit repeatedly + after a block beginning keyword. + +Fri Oct 11 18:12:47 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/gc_hook.c: prohibit reentrant. + +Fri Oct 11 18:11:34 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (rb_postponed_job_flush): fix bit operation. + +Fri Oct 11 17:33:24 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el: Import ruby-electric.el 2.0 from + https://github.com/knu/ruby-electric.el which integrates changes + from another fork by @qoobaa. + + * Allow ruby-electric-mode to be disabled by introducing a + dedicated key map. Electric key bindings are now defined in + ruby-electric-mode-map instead of overwriting ruby-mode-map. + + * Add ruby-electric-mode-hook. + + * Use a remap in binding ruby-electric-delete-backward-char. + + * Totally revamp electric keywords and then introduce electric + return. Modifier keywords are now properly detected making + use of ruby-mode's indentation level calculator, and + + * block-mid keywords (then, else, elsif, when, rescue and + ensure) also become electric with automatic reindentation. + + * Add standardized comments for ELPA integration. + + * Fix interaction with smartparens-mode by disabling its end + keyword completion, since ruby-electric has become more clever + at it. + + * The custom variable `ruby-electric-keywords` is changed to + `ruby-electric-keywords-alist`, allowing user to fine-grained + configuration. + +Fri Oct 11 16:53:28 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (rb_postponed_job_flush): simplify. + +Fri Oct 11 03:36:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (rb_threadptr_execute_interrupts): flush postponed job only + once at last. + + * vm_trace.c (rb_postponed_job_flush): defer calling postponed jobs + registered while flushing to get rid of infinite reentrance of + ObjectSpace.after_gc_start_hook. [ruby-dev:47400] [Bug #8492] + +Thu Oct 10 23:04:00 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_or): remove unused variables. + +Thu Oct 10 23:01:16 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_or): use rb_hash_keys(). + +Thu Oct 10 21:36:16 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_compact_bang): use ary_resize_smaller(). + +Thu Oct 10 17:25:28 2013 Koichi Sasada <ko1@atdot.net> + + * vm.c (vm_exec): support :b_return event for "lambda{return}.call". + [Bug #8622] + + * test/ruby/test_settracefunc.rb: add a test. + +Thu Oct 10 13:52:37 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (postponed_job): use preallocated buffer. + Pre-allocate MAX_POSTPONED_JOB (1024) sized buffer + and use it. + If rb_postponed_job_register() cause overflow, simply it + fails and returns 0. + And maybe rb_postponed_job_register() is signal safe. + + * vm_core.h: change data structure. + +Thu Oct 10 11:11:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm.c (Init_VM): hide also the singleton class of frozen-core, not + only frozen-core itself. + +Thu Oct 10 06:02:08 2013 Koichi Sasada <ko1@atdot.net> + + * test/ruby/test_rand.rb: fix r43224. local variable `e' is + no longer available. + +Thu Oct 10 00:02:35 2013 Yusuke Endoh <mame@tsg.ne.jp> + + * numeric.c (fix_aref): avoid a possible undefined behavior. + 1L << 63 on 64-bit platform is undefined, at least, according to + ISO/IEC 9899 (C99) 6.5.7. + +Wed Oct 9 23:57:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (id_for_attr): avoid inadvertent symbol creation. + +Wed Oct 9 18:03:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_method.c (rb_attr): preserve encoding of the attribute ID in + error message. + +Wed Oct 9 17:40:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_fstring): because of lazy sweep, str may be unmarked + already and swept at next time, so mark it for the time being. + [ruby-core:57756] + +Wed Oct 9 13:53:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compar.c (cmp_eq): fail if recursion. [ruby-core:57736] [Bug #9003] + + * thread.c (rb_exec_recursive_paired_outer): new function which is + combination of paired and outer variants. + +Wed Oct 9 09:18:14 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/debug.h, + vm_backtrace.c (rb_profile_frame_full_label): add new C API + rb_profile_frame_full_label() which returns label with + qualified method name. + Note that in future version of Ruby label() may return + same return value of full_label(). + + * ext/-test-/debug/profile_frames.c, + test/-ext-/debug/test_profile_frames.rb: fix a test for this change. + + +Wed Oct 9 00:55:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (load_lock): display backtrace to $stderr at circular + require. + + * vm_backtrace.c (rb_backtrace_print_to): new function to print + backtrace to the given output. + +Tue Oct 8 21:03:35 2013 Koichi Sasada <ko1@atdot.net> + + * vm_backtrace.c, include/ruby/debug.h: add new APIs + * VALUE rb_profile_frame_method_name(VALUE frame) + * VALUE rb_profile_frame_qualified_method_name(VALUE frame) + + * iseq.c (rb_iseq_klass), internal.h: add new internal function + rb_iseq_method_name(). + + * ext/-test-/debug/profile_frames.c (profile_frames), + test/-ext-/debug/test_profile_frames.rb: add a test. + +Tue Oct 8 16:11:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_uniq): use rb_hash_values(), as well as the case no + block is given. + + * internal.h: define rb_hash_values() as internal API. + +Tue Oct 8 13:53:21 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_uniq): use rb_hash_keys(). + + * internal.h: define rb_hash_keys() as internal API. + + * hash.c (rb_hash_keys): ditto. + +Tue Oct 8 10:56:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * cont.c: disable FIBER_USE_NATIVE on GNU/Hurd because it doesn't + support a combination getcontext() and threads. Patch by + Gabriele Giacone (1o5g4r8o@gmail.com). [Bug #8990][ruby-core:57685] + +Tue Oct 8 05:58:12 2013 Tanaka Akira <akr@fsij.org> + + * lib/time.rb (Time.strptime): Time.strptime('0', '%s') returns local + time Time object as Ruby 2.0 and before. + +Tue Oct 8 05:40:37 2013 Eric Hodel <drbrain@segment7.net> + + * .travis.yml: Rebuild Travis CI's "ruby-head" version on successful + build. Patch by Konstantin Haase. [Fixes GH-417] + https://github.com/ruby/ruby/pull/417 + +Tue Oct 8 04:28:25 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-mode.el: Use preceding-char/following-char + (returning 0 at BOF/EOF) instead of char-before/char-after + (returning nil at BOF/EOF) to avoid error from char-syntax when + at BOF/EOF. + +Tue Oct 8 04:12:45 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-additional.el (ruby-mode-set-encoding): Add a missing + else clause to unbreak with `cp932`, etc. + + * misc/ruby-mode.el (ruby-mode-set-encoding): Ditto. + +Tue Oct 8 03:57:34 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-additional.el (ruby-mode-set-encoding): Use + `default-buffer-file-coding-system` if the :prefer-utf-8 + property is not available. + + * misc/ruby-mode.el (ruby-mode-set-encoding): Ditto. + + * misc/ruby-additional.el (ruby-encoding-map): Override the + default value. + +Tue Oct 8 03:19:19 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-additional.el (ruby-mode-set-encoding): Add support + for `prefer-utf-8` which was introduced in Emacs trunk. + + * misc/ruby-additional.el (ruby-encoding-map): Add a mapping from + `japanese-cp932` to `cp932` to fix the problem where saving a + source file written in Shift_JIS twice would end up having + `coding: japanese-cp932` which Ruby could not recognize. + + * misc/ruby-additional.el (ruby-mode-set-encoding): Add support + for encodings mapped to nil in `ruby-encoding-map`. + + * misc/ruby-additional.el (ruby-encoding-map): Map `us-ascii` and + `utf-8` to nil by default, meaning they need not be explicitly + declared in magic comment. + + * misc/ruby-additional.el (ruby-encoding-map): Add type + declaration for better customize UI. + + * misc/ruby-mode.el: Ditto for the above. + +Tue Oct 8 00:14:53 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-additional.el: Add a standard header and footer, + including (provide 'ruby-additional). + +Mon Oct 7 22:52:45 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-space-can-be-expanded-p): + Return nil to avoid "end" insertion when in smartparens-mode + that is configured to insert "end" for the same keyword. + + * misc/ruby-electric.el (ruby-electric-keywords): New custom + variable to replace `ruby-electric-simple-keywords-re` with. + +Mon Oct 7 22:52:16 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-additional.el: Use preceding-char/following-char + (returning 0 at BOF/EOF) instead of char-before/char-after + (returning nil at BOF/EOF) to avoid error from char-syntax when + at BOF/EOF. + +Mon Oct 7 22:45:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * cont.c (FIBER_USE_NATIVE): split long conditions. + +Mon Oct 7 20:29:31 2013 Zachary Scott <e@zzak.io> + + * lib/time.rb: [DOC] typo in Time.rb overview by @srt32 [Fixes GH-416] + https://github.com/ruby/ruby/pull/416 + +Mon Oct 7 20:07:20 2013 Tanaka Akira <akr@fsij.org> + + * lib/time.rb (Time.strptime): Use :offset. + Patch by Felipe Contreras. [ruby-core:57694] + +Mon Oct 7 16:47:27 2013 Koichi Sasada <ko1@atdot.net> + + * test/-ext-/debug/test_profile_frames.rb: rename class C to + something long name because one test depends on absence of + class ::C. + +Mon Oct 7 16:33:10 2013 Koichi Sasada <ko1@atdot.net> + + * ext/-test-/debug/profile_frames.c: + test/-ext-/debug/test_profile_frames.rb: add a test for new C-APIs. + +Mon Oct 7 16:12:36 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/debug.h: add backtrace collecting APIs for profiler. + * int rb_profile_frames(int start, int limit, VALUE *buff, int *lines); + Collect information of frame information. + + * VALUE rb_profile_frame_path(VALUE frame); + * VALUE rb_profile_frame_absolute_path(VALUE frame); + * VALUE rb_profile_frame_label(VALUE frame); + * VALUE rb_profile_frame_base_label(VALUE frame); + * VALUE rb_profile_frame_first_lineno(VALUE frame); + * VALUE rb_profile_frame_classpath(VALUE frame); + * VALUE rb_profile_frame_singleton_method_p(VALUE frame); + Get information about each frame. + + These APIs are designed for profilers, for example, no object allocation, + and enough information for profilers. + In this version, this API collects only Ruby level frames. + This issue will be fixed after Ruby 2.1. + + * vm_backtrace.c: implement above APIs. + + * iseq.c (rb_iseq_klass): return local_iseq's class. + +Mon Oct 7 14:26:01 2013 Koichi Sasada <ko1@atdot.net> + + * proc.c: catch up last commit. + Type of return value of rb_iseq_first_lineno() is now VALUE. + + * vm_insnhelper.c (argument_error): ditto. + + * vm_method.c (rb_method_entry_make): ditto. + +Mon Oct 7 14:07:45 2013 Koichi Sasada <ko1@atdot.net> + + * iseq.c, internal.h: change to public (but internal) functions + * VALUE rb_iseq_path(VALUE iseqval); + * VALUE rb_iseq_absolute_path(VALUE iseqval); + * VALUE rb_iseq_label(VALUE iseqval); + * VALUE rb_iseq_base_label(VALUE iseqval); + * VALUE rb_iseq_first_lineno(VALUE iseqval); + And new (temporary) function: + * VALUE rb_iseq_klass(VALUE iseqval); + + * iseq.c. vm_core.h (int rb_iseq_first_lineno): remove + function `int rb_iseq_first_lineno(const rb_iseq_t *iseq)'. + Use `VALUE rb_iseq_first_lineno(VALUE iseqval)' instead. + + * proc.c. vm_insnhelper.c, vm_method.c: catch up this change. + +Sun Oct 6 08:37:39 2013 Zachary Scott <e@zzak.io> + + * lib/webrick.rb: [DOC] fix grammar in WEBrick overview [Fixes GH-413] + Based on patch by @chastell https://github.com/ruby/ruby/pull/413 + +Sat Oct 5 11:21:01 2013 Aaron Pfeifer <aaron.pfeifer@gmail.com> + + * thread.c (terminate_atfork_i): fix locking mutexes not unlocked in + forks when not tracked in thread. [ruby-core:55102] [Bug #8433] + +Fri Oct 4 19:54:09 2013 Zachary Scott <e@zzak.io> + + * ext/dbm/dbm.c: [DOC] Fix wrong constant name in DBM by @edward + [Fixes GH-409] https://github.com/ruby/ruby/pull/409 + +Fri Oct 4 19:49:42 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c: rename heap.free_num as heap.swept_num to clarify meaning and + avoid confusion with objspace_free_num(). + +Fri Oct 4 19:02:01 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c (objspace_free_num): new method for available/free slots on + heap. [ruby-core:57633] [Bug #8983] + * gc.c (gc_stat): change heap_free_num definition to use new method. + * test/ruby/test_gc.rb: test for above. + +Fri Oct 4 18:53:42 2013 Aman Gupta <ruby@tmm1.net> + + * gc.c: add rb_objspace.limit to keep accurate count of total heap + slots [ruby-core:57633] [Bug #8983] + +Fri Oct 4 09:32:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/csv.rb (CSV.foreach): support enumerator. based on a patch by + Hanmac (Hans Mackowiak) at [ruby-core:57643]. [ruby-core:57283] + [Feature #8929] + +Thu Oct 3 18:20:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (console_emulator_p, constat_handle): disable built-in + console colorizing when console-emulator-like DLL is injected. + [Feature #8201] + +Thu Oct 3 18:01:44 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: define gc_profile_record::allocated_size if + CALC_EXACT_MALLOC_SIZE is true. + +Thu Oct 3 13:42:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * common.mk (yes-test-sample): use RUNRUBY instead of MINIRUBY to set + runtime library path and run the built ruby. [Bug #8971] + +Thu Oct 3 00:17:15 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-additional.el: Properly quote the body. An unquoted + body given to eval-after-load is evaluated immediately! + +Wed Oct 2 21:38:30 2013 Yusuke Endoh <mame@tsg.ne.jp> + + * ext/socket/ifaddr.c (rsock_getifaddrs): fix possible memory leak. + When a system had no interface, this function used xmalloc for root + but did not return any reference to it. This patch fixes it by + immediately returning an empty array if no interface is found. + Coverity Scan found this bug. + +Wed Oct 2 21:37:04 2013 Yusuke Endoh <mame@tsg.ne.jp> + + * random.c (make_seed_value): a local array declaration was accessed + out of scope. Coverity Scan found this bug. + +Wed Oct 2 18:52:40 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: relax GC condition due to malloc_limit. + + * gc.c (GC_MALLOC_LIMIT_MAX): change default value + (256MB -> 512MB) and permit zero to ignore max value. + + * gc.c (vm_malloc_increase, vm_xrealloc): do not cause GC on realloc. + + * gc.c (gc_before_sweep): change debug messages. + +Wed Oct 2 16:26:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (rb_io_close_read): duplex IO should wait its child process + even after close_read. + +Wed Oct 2 15:39:13 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_core.h: use __has_attribute() instead of __clang__major__ because + clang says "Note that marketing version numbers should not be used + to check for language features, as different vendors use different + numbering schemes. Instead, use the Feature Checking Macros." + http://clang.llvm.org/docs/LanguageExtensions.html + +Wed Oct 2 14:19:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (rb_io_close_write): detach tied IO for writing before closing + to get rid of race condition. [ruby-list:49598] + + * io.c (rb_io_close_read): keep fptr in write_io to be discarded, to + fix freed pointer access when it is in use by other threads, and get + rid of potential memory/fd leak. + +Tue Oct 1 23:44:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * vm_core.h: use __attribute__((unused)) in UNINITIALIZED_VAR on clang + 4.0+ instead of just on 4.2. Clang has supported the unused attribute + since before version 4, so this should be safe. + +Tue Oct 1 22:03:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/tempfile.rb (Tempfile#unlink): finalizer is no longer needed + after unlinking. patched by by normalperson (Eric Wong) at + [ruby-core:56521] [Bug #8768] + +Tue Oct 1 20:54:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (stat_new_0): constify. + + * file.c (rb_stat_new): constify and export. based on a patch by + Hanmac (Hans Mackowiak) at [ruby-core:53225]. [Feature #8050] + +Tue Oct 1 16:03:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (ruby_safe_level_4_warning): needed by extension + libraries which check safe level 4. [ruby-dev:47517] [Bug #8652] + +Mon Sep 30 23:14:36 2013 Zachary Scott <e@zzak.io> + + * ext/objspace/objspace.c: [DOC] Cleaned up many rdoc formatting + issues and several duplicate grammar bugs. + +Mon Sep 30 23:01:01 2013 Zachary Scott <e@zzak.io> + + * ext/objspace/object_tracing.c: [DOC] Adjust rdoc formatting and fix + small grammar typo + +Mon Sep 30 17:28:39 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/object_tracing.c: [DOC] add some notes for + ObjectSpace::trace_object_allocations. + +Mon Sep 30 16:46:58 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/object_tracing.c: add new 3 methods to control tracing. + * ObjectSpace::trace_object_allocations_start + * ObjectSpace::trace_object_allocations_stop + * ObjectSpace::trace_object_allocations_clear + And some refactoring. + + * test/objspace/test_objspace.rb: add a test for new methods. + + * NEWS: add a description for new methods. + +Mon Sep 30 11:18:04 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_gc_disable): do rest_sweep() before disable GC. + This fix may solve a failure of + TestTracepointObj#test_tracks_objspace_events + [test/-ext-/tracepoint/test_tracepoint.rb:43]. + +Mon Sep 30 10:40:20 2013 Shugo Maeda <shugo@ruby-lang.org> + + * vm_method.c (rb_undef): raise a NameError if the original method + of a refined method is not defined. + + * vm_insnhelper.c (rb_method_entry_eq): added NULL check to avoid SEGV. + + * test/ruby/test_refinement.rb: related test. + +Sun Sep 29 23:45:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (rb_id_attrset, intern_str): allow junk attrset ID for + Struct. + + * parse.y (rb_id_attrset): fix inconsistency with literals, allow + ID_ATTRSET and return it itself, but ID_JUNK cannot make ID_ATTRSET. + and raise a NameError instead of rb_bug() for invalid argument. + +Sun Sep 29 18:45:05 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args): + clear keyword arguments to prevent GC bug which occurs + while marking VM stack. + [ruby-dev:47729] [Bug #8964] + + * test/ruby/test_keyword.rb: tests for the above. + +Sat Sep 28 23:25:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * math.c (math_log, math_log2, math_log10): fix for Bignum argument. + numbits should be add only when right shifted. + +Sat Sep 28 14:30:29 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * test/dl/test_base.rb: {libc, libm} detection now handle GNU/Hurd + correctly. Patch by Gabriele Giacone (1o5g4r8o@gmail.com). + [Bug #8937][ruby-core:57311] + * test/fiddle/helper.rb: ditto. + +Sat Sep 28 00:19:41 2013 Shugo Maeda <shugo@ruby-lang.org> + + * ext/curses/extconf.rb: check the size of chtype. + + * ext/curses/curses.c (NUM2CH, CH2NUM): use proper macros for + the size of chtype. + + [ruby-core:56090] [Bug #8659] + +Fri Sep 27 18:33:23 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: add two GC tuning environment variables. + RUBY_GC_MALLOC_LIMIT_MAX and RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR. + See r43067 for details. + + * gc.c (rb_gc_set_params): refactoring. And change verbose notation. + Mostly duplicated functions get_envparam_int/double is not cool. + Please rewrite it. + + * test/ruby/test_gc.rb: fix a test for this change. + +Fri Sep 27 17:44:41 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (GC_MALLOC_LIMIT): 8,000,000 -> 8 * 1,024 * 1,024. + +Fri Sep 27 17:19:39 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_before_sweep): cast to size_t to suppress warnings. + +Fri Sep 27 17:07:55 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: add some fine-grained profiling codes to tuning marking phase. + If you enable RGENGC_PRINT_TICK to 1, then profiling results by RDTSC + (on x86/amd64 environment) are printed at last. + Thanks Yoshii-san. + +Fri Sep 27 16:32:27 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: simplify threshold of GC caused by malloc_increase. + Now, malloc_limit is increased/decreased by mysterious logic. + This fix simplify malloc_limit increase/decrease logic such as: + if (malloc_increase > malloc_limit) /* so many malloc */ + malloc_limit += malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1); + else + malloc_limit -= malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1)/4; + Default value of GC_MALLOC_LIMIT_FACTOR is 1.8. + malloc_limit is bounded by GC_MALLOC_LIMIT_MAX (256MB by default). + This logic runs at gc_before_sweep(). So there are no effect from + caused by lazy sweep. And we can remove malloc_increase2. + + * gc.c (HEAP_MIN_SLOTS, FREE_MIN, HEAP_GROWTH_FACTOR): rename to + GC_HEAP_MIN_SLOTS, GC_FREE_MIN, GC_HEAP_GROWTH_FACTOR respectively. + Check them by `#ifndef' so you can specify these values outside gc.c. + + * gc.c (ruby_gc_params_t): add initial_malloc_limit_factor and + initial_malloc_limit_max. + + * gc.c (vm_malloc_prepare, vm_xrealloc): use vm_malloc_increase to + add and check malloc_increase. + +Fri Sep 27 01:05:00 2013 Zachary Scott <e@zzak.io> + + * re.c: [DOC] arguments of Regexp::union receive #to_regexp [Bug #8205] + +Fri Sep 27 00:39:27 2013 Zachary Scott <e@zzak.io> + + * struct.c: [DOC] grammar of ArgumentError in Struct.new [Bug #8936] + Patch by Prathamesh Sonpatki + +Thu Sep 26 22:11:56 2013 Zachary Scott <e@zzak.io> + + * ext/bigdecimal/bigdecimal.c: [DOC] several fixes by @chastell + This includes fixing the capitalization of Infinity, return value of + example "BigDecimal.new('NaN') == 0.0", and code style in example. + [Fixes GH-398] https://github.com/ruby/ruby/pull/398 + +Thu Sep 26 22:08:11 2013 Zachary Scott <e@zzak.io> + + * lib/observer.rb: [DOC] syntax improvement in example by @chastell + [Fixes GH-400] https://github.com/ruby/ruby/pull/400 + +Thu Sep 26 22:03:15 2013 Zachary Scott <e@zzak.io> + + * ext/digest/digest.c: [DOC] typo in overview by @chastell + [Fixes GH-399] https://github.com/ruby/ruby/pull/399 + +Thu Sep 26 22:00:42 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/ossl.c: [DOC] typo in example by @zoranzaric + [Fixes GH-401] https://github.com/ruby/ruby/pull/401 + +Thu Sep 26 21:07:49 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-delete-backward-char): Add + support for smartparens-mode. + + * misc/ruby-electric.el (ruby-electric-cua-replace-region-maybe) + (ruby-electric-cua-delete-region-maybe): New functions that + combine `ruby-electric-cua-*-region` with + `ruby-electric-cua-*-region-p`, using a slightly better way to + detect if it is in cua-mode. + +Thu Sep 26 16:51:00 2013 Shota Fukumori <her@sorah.jp> + + * insns.def (opt_regexpmatch2): Check String#=~ hasn't overridden + before calling rb_reg_match(). + + * test/ruby/test_string.rb: Test for above. + + * vm.c (vm_init_redefined_flag): Add BOP flag for String#=~ + + [ruby-core:57385] [Bug #8953] + +Thu Sep 26 16:43:42 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el: Avoid use of the interactive function + `self-insert-command` which fires `post-self-insert-hook` and + `post-command-hook`, to make the ruby-electric commands work + nicely with those minor modes that make use of them to do + similar input assistance, such as electric-pair-mode, + autopair-mode and smartparens-mode. + +Thu Sep 26 16:24:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * insns.def (opt_regexpmatch1): check Regexp#=~ is not defined before + calling rb_reg_match() + + * test/ruby/test_regexp.rb: add test + + * vm.c (ruby_vm_redefined_flag): change type to short[] + + * vm.c (vm_redefinition_check_flag): return REGEXP_REDEFINED_OP_FLAG if + klass == rb_cRegexp + + * vm.c (vm_init_redefined_flag): setup BOP flag for Regexp#=~ + + * vm_insnhelper.h: add REGEXP_REDEFINED_OP_FLAG + + [ruby-core:57385] [Bug #8953] + +Thu Sep 26 14:46:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (mark_locations_array): disable AddressSanitizer. based on a + patch by halfie (Ruby Guy) at [ruby-core:57372]. + [ruby-core:56155] [Bug #8680] + +Wed Sep 25 17:41:29 2013 Koichi Sasada <ko1@atdot.net> + + * README.EXT, README.EXT.ja: remove description of RARRAY_PTR() + and add a caution of accessing internal data structure directly. + Also add a description of rb_ary_store(). + [Bug #8399] + +Wed Sep 25 17:12:08 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: rename RARRAY_RAWPTR() to RARRAY_CONST_PTR(). + RARRAY_RAWPTR(ary) returns (const VALUE *) type pointer and + usecase of this macro is not acquire raw pointer, but acquire + read-only pointer. So we rename to better name. + RSTRUCT_RAWPTR() is also renamed to RSTRUCT_CONST_PTR() + (I expect that nobody use it). + + * array.c, compile.c, cont.c, enumerator.c, gc.c, proc.c, random.c, + string.c, struct.c, thread.c, vm_eval.c, vm_insnhelper.c: + catch up this change. + +Wed Sep 25 16:58:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h (rb_float_value, rb_float_new): move inline functions + from ruby/ruby.h. + + * numeric.c (rb_float_value, rb_float_new): define external functions + for extension libraries. + +Wed Sep 25 15:37:02 2013 Koichi Sasada <ko1@atdot.net> + + * test/rdoc/test_rdoc_generator_darkfish.rb: add a guard for windows. + +Wed Sep 25 09:53:11 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Fix CVE-2013-4363. Miscellaneous minor improvements. + + * test/rubygems: Tests for the above. + +Tue Sep 24 17:38:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_inspect): get rid of out-of-bound access. + + * string.c (rb_str_inspect): when a UTF-16/32 string doesn't have a + BOM, inspect as a dummy encoding string. + +Tue Sep 24 17:15:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enc/encdb.c (ENC_DUMMY_UNICODE): make BOM-encodings dummy. + + * encoding.c (enc_autoload): keep dummy encodings dummy. + +Tue Sep 24 16:41:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/win32/lib/win32/registry.rb (Win32::Registry#write): data size + is in bytes, not chars. terminators should be placed automatically. + +Tue Sep 24 16:39:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/win32/lib/win32/registry.rb (Win32::Registry#each_value): encode + name. + + * ext/win32/lib/win32/registry.rb (Win32::Registry#each_key): ditto. + + * ext/win32/lib/win32/registry.rb (Win32::Registry#export_string): + encode to locale encoding if default internal is not set. + +Tue Sep 24 16:35:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumKey): + size of the name is in WCHARs, not in bytes. + +Tue Sep 24 14:07:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * gc.c (free_method_cache_entry_i): unused function + + * gc.c (rb_free_mc_table): ditto + + * internal.h (method_cache_entry_t): unused struct + + * vm_method.c (verify_method_cache): remove unused variable + + * vm_method.c (rb_method_entry): ditto + +Tue Sep 24 14:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * class.c (class_alloc): remove mc_tbl + + * gc.c (obj_free): ditto + + * internal.h (struct rb_classext_struct): ditto + + * method.h (rb_method_entry): remove ent param + + * vm_method.c: restore the global method cache. Per class cache tables + turned out to be far too slow. + + [ruby-core:57289] [Bug #8930] + +Tue Sep 24 12:51:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/win32/lib/win32/registry.rb (Win32::Registry::API): need + Constants. + + * ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumValue): + size of the name is in WCHARs, not in bytes. + +Mon Sep 23 22:16:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): Unicode with BOM + must be based on big endian variants, so that actual encodings would + work. [ruby-core:57318] [Bug #8940] + +Mon Sep 23 12:11:26 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (env_each_pair): do not call rb_assoc_new() if + it isn't needed. + +Mon Sep 23 10:42:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * test/ruby/test_module.rb (TestModule#test_include_toplevel): test + for top level main.include. based on a part of the patch by + kyrylo at [GH-395]. + +Mon Sep 23 05:07:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/intern.h (rb_ary_cat): move from internal.h, since it + is described in README.EXT. + +Sun Sep 22 20:55:20 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * vm_insnhelper.c (vm_make_proc_with_iseq): fix bug message. + This is follow up to changes in r42637. + +Sun Sep 22 20:35:38 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * ext/-test-/tracepoint/tracepoint.c (Init_tracepoint): prevent from GC. + +Sun Sep 22 19:00:28 2013 Benoit Daloze <eregontp@gmail.com> + + * benchmark/bm_app_answer.rb: revert r42990, benchmark scripts should + be self-contained and avoid dependencies, especially such small one. + See https://github.com/ruby/ruby/pull/393#issuecomment-24861301. + +Sat Sep 21 20:11:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (rb_fork_internal): remove cloexec setting on pipes + created by rb_cloexec_pipe. patch by normalperson (Eric Wong) at + [ruby-core:56523]. [Bug #8769] + +Sat Sep 21 01:04:25 2013 Zachary Scott <e@zzak.io> + + * lib/benchmark.rb: [DOC] grammar of Benchmark#bm [Bug #8888] + Patch by Prathamesh Sonpatki + +Sat Sep 21 00:50:02 2013 Zachary Scott <e@zzak.io> + + * enumerator.c: [DOC] Enumerator#each arguments documentation [GH-388] + Patch by @kachick https://github.com/ruby/ruby/pull/388 + +Sat Sep 21 00:49:16 2013 Zachary Scott <e@zzak.io> + + * enum.c: [DOC] Enumerable#to_a accepts arguments [GH-388] + Patch by @kachick https://github.com/ruby/ruby/pull/388 + +Sat Sep 21 00:47:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_conv_enc_opts): make sure to scan coderange to get + rid of unnecessary conversion. + +Sat Sep 21 00:21:08 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/lib/openssl/ssl.rb: [DOC] Document OpenSSL::SSLServer + Based on a patch by Rafal Lisowski [Bug #8758] + +Fri Sep 20 23:54:03 2013 Zachary Scott <e@zzak.io> + + * lib/gserver.rb: [DOC] correct gserver.rb license [Bug #8913] + +Fri Sep 20 23:48:34 2013 Zachary Scott <e@zzak.io> + + * ext/psych/yaml/yaml.h: [DOC] merge upstream typo fix by @GreenGeorge + https://github.com/tenderlove/psych/pull/161 + +Fri Sep 20 23:37:40 2013 Zachary Scott <e@zzak.io> + + * lib/securerandom.rb: [DOC] SecureRandom.hex length argument + [Fixes GH-394] Patch by @avdi https://github.com/ruby/ruby/pull/394 + +Fri Sep 20 23:34:48 2013 Zachary Scott <e@zzak.io> + + * benchmark/bm_app_answer.rb: removed duplicate code [Fixes GH-393] + Patch by @gouravtiwari https://github.com/ruby/ruby/pull/393 + +Fri Sep 20 23:24:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * common.mk (btest, btest-ruby, test-knownbug): add $(RUN_OPTS) to + ruby to be run, so that tests are runnable before making exts. + + * common.mk (test-sample): ditto, and use $(MINIRUBY) as rubytest.rb + does not need extension libraries. + + * tool/rubytest.rb: pass $(RUN_OPTS) to testing ruby using --run-opt. + +Fri Sep 20 15:01:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (intern_str): sigil only names are junk, at least one + identifier character is needed. [ruby-dev:47723] [Bug #8928] + + * parse.y (rb_enc_symname_type): fix out of bound access. + +Fri Sep 20 14:14:32 2013 Tanaka Akira <akr@fsij.org> + + * ext/-test-/printf/printf.c (printf_test_call): Fix an end of buffer + argument. + +Thu Sep 19 16:59:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (lambda): adjust position to the beginning of the block. + +Thu Sep 19 16:25:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vsnprintf.c (BSD_vfprintf): initialize cp so that size is 0 in the + commented case. fix an accidental bug at r16716. + +Thu Sep 19 14:33:14 2013 Koichi Sasada <ko1@atdot.net> + + * NEWS: add a news for r42974. + +Thu Sep 19 14:12:02 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: make Symbol objects frozen. + [Feature #8906] + I want to freeze this good day, too. + + * test/ruby/test_eval.rb: catch up this change. + + * test/ruby/test_symbol.rb: add a test to check frozen symbols. + +Thu Sep 19 09:11:33 2013 Eric Hodel <drbrain@segment7.net> + + * NEWS: Update for RDoc 4.1.0.preview.1 and RubyGems 2.2.0.preview.1 + +Thu Sep 19 08:59:41 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc/markdown/literals_1_9.rb: Fix trailing whitespace. + + Previously kpeg (which generates this file) added trailing + whitespace, but this bug is now fixed. + + * lib/rdoc/markdown.rb: ditto. + +Thu Sep 19 08:33:14 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc: Update to RDoc 4.1.0.preview.1 + + RDoc 4.1.0 contains a number of enhancements including a new default + style and accessibility support. You can see the changelog here: + + https://github.com/rdoc/rdoc/blob/v4.1.0.preview.1/History.rdoc + + * test/rdoc: ditto. + +Thu Sep 19 07:16:26 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych.rb: updating Psych version + + * ext/psych/psych.gemspec: ditto + +Thu Sep 19 06:39:40 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/dependency_resolver.rb: Switch the iterative resolver + algorithm from recursive to iterative to avoid possible + SystemStackError. + +Thu Sep 19 06:29:30 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems 2.2.0.preview.1 + + This brings several new features to RubyGems summarized here: + + https://github.com/rubygems/rubygems/blob/v2.2.0.preview.1/History.txt + + * test/rubygems: ditto. + +Wed Sep 18 23:14:58 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_enumerate_lines): make String#each_line and + #lines not raise invalid byte sequence error when it is called + with an argument. The patch also causes performance improvement. + [ruby-dev:47549] [Bug #8698] + + * test/ruby/test_m17n_comb.rb (test_str_each_line): remove + assertions which check that String#each_line and #lines will + raise an error if the receiver includes invalid byte sequence. + +Wed Sep 18 16:32:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (mnew_from_me): allocate structs after allocated wrapper + object successfully, to get rid of potential memory leak. + +Tue Sep 17 15:54:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/shell/command-processor.rb (Shell::CommandProcessor#find_system_command): + return executable file only, should ignore directories and + unexecutable files. [ruby-core:57235] [Bug #8918] + + * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_throw): + assertion for throw. MiniTest::Assertions#assert_throws discards + the caught value. + + * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_nothing_thrown): + returns the result of the given block. + +Tue Sep 17 12:55:58 2013 Eric Hodel <drbrain@segment7.net> + + * doc/regexp.rdoc: [DOC] Replace paragraphs in verbatim sections with + plain paragraphs to improve readability as ri and HTML. + +Mon Sep 16 07:32:35 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * complex.c: removed meaningless lines. + * rational.c: ditto. + +Mon Sep 16 00:44:23 2013 Masaki Matsushita <glass.saga@gmail.com> + + * ext/socket/mkconstants.rb: define MSG_FASTOPEN. + [ruby-core:57138] [Feature #8897] + +Sun Sep 15 13:31:23 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * rational.c (nurat_div): reverted r28844, r28886 and r28887. + REASON: Nobuyoshi Nakada <nobu@ruby-lang.org>'s commits are buggy. + So Rational#/ may produce exact number with inexact number. + Moreover, without reducing. + REALLY NONSENSE COMMITS. + A bug report by me [ruby-dev:44710] is also caused by this behavior. + Kenta Murata <mrkn@mrkn.jp> patched it up. + But he did not fix the origin. + Today, the bug is still alive in ruby 1.9.3 and 2.0.0. + +Sat Sep 14 06:08:10 2013 Eric Hodel <drbrain@segment7.net> + + * dir.c (dir_s_glob): [DOC] Improve wording and layout. + + * dir.c (file_s_fnmatch): ditto. + + * dir.c (Init_Dir): [DOC] Document File::Constants::FNM_XXX + constants. (These won't show up in RDoc until a new RDoc is + imported.) + +Thu Sep 12 14:58:58 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/uri/generic.rb (URI::Generic.find_proxy): return nil if + http_proxy environment variable is empty string. + [ruby-core:57140] [Bug #8898] + +Fri Sep 13 10:40:28 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems 2.1.3 + + Fixed installing platform gems + + Restored concurrent requires + + Fixed installing gems with extensions with --install-dir + + Fixed `gem fetch -v` to install the latest version + + Fixed installing gems with "./" in their files entries + + * test/rubygems/test_gem_package.rb: Tests for the above. + + * NEWS: Updated for RubyGems 2.1.3 + +Thu Sep 12 22:40:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (RUBY_CHECK_SIGNEDNESS): macro to check signedness of a + type. + + * configure.in (size_t): must be unsigned. + [ruby-core:57149] [Feature #8890] + +Thu Sep 12 22:37:08 2013 Anton Ovchinnikov <revolver112@gmail.com> + + * ext/bigdecimal/bigdecimal.c, ext/digest/md5/md5.c, + ext/json/fbuffer/fbuffer.h, ext/json/generator/generator.c: + Eliminate less-than-zero checks for unsigned variables. + According to section 4.1.5 of C89 standard, size_t is an unsigned + type. These checks were found with 'cppcheck' static analysis tool. + [ruby-core:57117] [Feature #8890] + +Thu Sep 12 21:35:46 2013 Naohisa Goto <ngotogenome@gmail.com> + + * Makefile.in (libruby-static.a): change LDFLAGS order. LDFLAGS may + include library path that should be specified before LIBS. + [ruby-dev:47707] [Bug #8901] + +Thu Sep 12 20:07:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vsnprintf.c (MAXEXP, MAXFRACT): calculate depending on constants in + float.h. + + * vsnprintf.c (BSD_vfprintf): limit length for cvt() to get rid of + buffer overflow. [ruby-core:57023] [Bug #8864] + + * vsnprintf.c (exponent): make expbuf size more precise. + +Wed Sep 11 17:30:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (RUNRUBY): append -- only after runruby.rb, not + cross-compiling baseruby, so that $(RUN_OPT) can be command line + options. [ruby-dev:47703] [Bug #8893] + +Wed Sep 11 07:55:17 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c (rb_mutex_unlock): Mutex#unlock no longer raise + an exception even if uses on trap. [Bug #8891] + +Tue Sep 10 14:37:01 2013 Shota Fukumori <sorah@tubusu.net> + + * vm_backtrace.c (vm_backtrace_to_ary): Ignore the second argument if + it is nil. [Bug #8884] [ruby-core:57094] + + * test/ruby/test_backtrace.rb (test_caller_with_nil_length): + Test for above. + +Tue Sep 10 12:39:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (method_entry_i): should exclude refined methods from + instance method list. [ruby-core:57080] [Bug #8881] + +Tue Sep 10 12:05:04 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * io.c (rb_f_printf): [DOC] add missing parenthesis in rdoc. + +Tue Sep 10 10:08:00 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * NEWS: Update RubyGems note. + +Tue Sep 10 09:51:22 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems 2.1.0. Fixes CVE-2013-4287. + + See http://rubygems.rubyforge.org/rubygems-update/CVE-2013-4287_txt.html + for CVE information. + + See http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.1.0+%2F+2013-09-09 + for release notes. + + * test/rubygems: Tests for the above. + +Mon Sep 9 21:31:45 2013 Tanaka Akira <akr@fsij.org> + + * process.c: Remove spaces between SI prefix and unit to follow + SI brochure. + http://www.bipm.org/en/si/si_brochure/ + https://www.nmij.jp/library/units/si/ + + * time.c: Ditto. + + * ext/socket/ancdata.c: Ditto. + +Mon Sep 9 16:55:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_method.c (rb_add_refined_method_entry): clear cache in the + refined class since refining a method entry is modifying the class. + [ruby-core:57079] [Bug #8880] + +Mon Sep 9 09:14:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * tool/rbinstall.rb (Gem::Specification#initialize): default date to + RUBY_RELEASE_DATE. [ruby-core:57072] [Bug #8878] + + * tool/rbinstall.rb (Gem::Specification#to_ruby): add date. + +Sun Sep 8 16:01:54 2013 Tanaka Akira <akr@fsij.org> + + * rational.c (f_gcd): Relax the condition to use GMP. + +Sun Sep 8 13:56:38 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp> + + * ext/win32ole/win32ole.c (folevariant_initialize): check type of + element of array. + + * test/win32ole/test_win32ole_variant.rb (test_s_new_ary): ditto. + +Sat Sep 7 21:33:10 2013 Tanaka Akira <akr@fsij.org> + + * math.c (math_log): Test the sign for bignums. + (math_log2): Ditto. + (math_log10): Ditto. + +Sat Sep 7 20:25:47 2013 Tanaka Akira <akr@fsij.org> + + * math.c (math_log): Support bignums bigger than 2**1024. + (math_log2): Ditto. + (math_log10): Ditto. + +Sat Sep 7 15:36:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * vm_eval.c (vm_call0): fix prototype, the id parameter should be of + type ID, not VALUE + + * vm_insnhelper.c (check_match): the rb_funcall family of functions + does not care about refinements. We need to use + rb_method_entry_with_refinements instead to call === with + refinements. Thanks to Jon Conley for reporting this bug. + [ruby-core:57051] [Bug #8872] + + * test/ruby/test_refinement.rb: add test + +Sat Sep 7 13:49:40 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * variable.c (classname): the name of class that has + non class id should not be nil. This bug was introduced + in r36577. + + * test/thread/test_cv.rb: test for change. + +Sat Sep 7 13:29:22 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * lib/find.rb (Find.find): respect the encodings of arguments. + [ruby-dev:47530] [Feature #8657] + + * test/test_find.rb: add tests. + +Sat Sep 7 10:40:32 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/mkconstants.rb (TCP_FASTOPEN): Defined for TCP fast open. + [ruby-core:57048] [Feature #8871] patch by Masaki Matsushita. + +Fri Sep 6 23:53:31 2013 Masaki Matsushita <glass.saga@gmail.com> + + * common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can't + require extension libraries. The patch is from nobu + (Nobuyoshi Nakada). + + * ext/thread/extconf.rb: for build ext/thread/thread.c. + + * include/ruby/intern.h: ditto. + + * thread.c: ditto. + + * lib/thread.rb: removed and replaced by ext/thread/thread.c. + + * ext/thread/thread.c: Queue, SizedQueue and ConditionVariable + implementations in C. This patch is based on patches from panaggio + (Ricardo Panaggio) and funny_falcon (Yura Sokolov) and ko1 + (Koichi Sasada). [ruby-core:31513] [Feature #3620] + + * test/thread/test_queue.rb (test_queue_thread_raise): add a test for + ensuring that killed thread should be removed from waiting threads. + It is based on a code by ko1 (Koichi Sasada). [ruby-core:45950] + +Fri Sep 6 22:47:12 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Define ac_cv_func_clock_getres to yes for mingw*. + +Fri Sep 6 21:04:10 2013 Tanaka Akira <akr@fsij.org> + + * rational.c: Include gmp.h if GMP is used. + (GMP_GCD_DIGITS): New macro. + (rb_gcd_gmp): New function. + (f_gcd_normal): Renamed from f_gcd. + (rb_gcd_normal): New function. + (f_gcd): Invoke rb_gcd_gmp or f_gcd_normal. + + * internal.h (rb_gcd_normal): Declared. + (rb_gcd_gmp): Ditto. + + * ext/-test-/rational: New directory. + + * test/-ext-/rational: New directory. + +Fri Sep 6 14:23:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (clock_getres): required as well as clock_gettime(). + [ruby-dev:47699] [Bug #8869] + +Fri Sep 6 11:45:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * transcode.c (rb_econv_append): new function to append a string data + with converting its encoding. split from rb_econv_substr_append. + +Fri Sep 6 02:37:22 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: use double quotes when + strings start with special characters. + https://github.com/tenderlove/psych/issues/157 + + * test/psych/test_string.rb: test for change. + +Fri Sep 6 00:05:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rewrite_cref_stack): remove recursion. + +Thu Sep 5 18:05:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * string.c (fstring_cmp): take string encoding into account when + comparing fstrings [ruby-core:57037] [Bug #8866] + + * test/ruby/test_string.rb: add test + +Thu Sep 5 17:25:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_fstring, rb_str_free): use st_data_t instead of VALUE. + + * string.c (rb_fstring): get rid of duplicating already frozen object. + +Thu Sep 5 14:01:22 2013 Eric Hodel <drbrain@segment7.net> + + * lib/optparse.rb: The Integer acceptable now allows binary and + hexadecimal numbers per the documentation. [ruby-trunk - Bug #8865] + + DecimalInteger, OctalInteger, DecimalNumeric now validate their input + before converting to a number. [ruby-trunk - Bug #8865] + + * test/optparse/test_acceptable.rb: Tests for the above, tests for all + numeric acceptables for existing behavior. + +Thu Sep 5 13:49:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * include/ruby/ruby.h: add RSTRING_FSTR flag + + * internal.h: add rb_fstring() prototype + + * string.c (rb_fstring): deduplicate frozen string literals + + * string.c (rb_str_free): delete fstrings from frozen_strings table when + they are GC'd + + * string.c (Init_String): initialize frozen_strings table + +Thu Sep 5 12:48:00 2013 Kenta Murata <mrkn@cookpad.com> + + * configure.in (with_gmp): set with_gmp no if it is empty. + +Thu Sep 5 10:41:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * vm_insnhelper.c (vm_getivar): use class sequence to check class + identity, instead of pointer + vm state + + * vm_insnhelper.c (vm_setivar): ditto + +Thu Sep 5 08:20:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (GMP_DIV_DIGITS): New macro. + (bary_divmod_gmp): New function. + (rb_big_divrem_gmp): Ditto. + (bary_divmod_branch): Ditto. + (bary_divmod): Use bary_divmod_branch. + (bigdivrem): Ditto. + + * internal.h (rb_big_divrem_gmp): Declared. + +Thu Sep 5 06:22:42 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_divmod_normal): Reduce temporary array allocations. + +Thu Sep 5 02:17:06 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_divrem_normal): Add GC guards. + +Thu Sep 5 00:38:32 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_divrem_normal): New function. + + * internal.h (rb_big_divrem_normal): Declared. + + * ext/-test-/bignum/div.c: New file. + + * test/-ext-/bignum/test_div.rb: New file. + +Thu Sep 5 00:08:44 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_normal): Removed. + (bary_divmod_normal): New function. + (bary_divmod): Use bary_divmod_normal. + (bigdivrem): Use bary_divmod_normal. + +Wed Sep 4 23:02:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Useless declaration removed. + +Wed Sep 4 22:56:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * numeric.c (NUM_STEP_GET_INF): split from NUM_STEP_SCAN_ARGS(), since + inf is not used in num_step_size(). + +Wed Sep 4 20:22:43 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_normal): Add assertions. + +Wed Sep 4 19:18:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h (vm_state_version_t): prefer LONG_LONG to uint64_t. + +Wed Sep 4 16:28:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h (vm_state_version_t): use uint64_t when it is larger than + LONG_LONG, and fallback to unsigned long. + +Wed Sep 4 15:37:05 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * enc/trans/utf8_mac-tbl.rb: fix r42789. + Fix conversion table and logic. [ruby-dev:47680] + +Wed Sep 4 14:08:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * class.c, compile.c, eval.c, gc.h, insns.def, internal.h, method.h, + variable.c, vm.c, vm_core.c, vm_insnhelper.c, vm_insnhelper.h, + vm_method.c: Implement class hierarchy method cache invalidation. + + [ruby-core:55053] [Feature #8426] [GH-387] + +Wed Sep 4 11:13:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (str_gsub): use BEG(0) for whole matched position not + return value from rb_reg_search(), for \K matching. + [ruby-dev:47694] [Bug #8856] + +Wed Sep 4 11:11:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (SOLIBS): LIBRUBY_SO also needs linking with gmp, to + run worker processes in test-all on non-ELF platforms. + +Tue Sep 3 23:01:41 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/parser/test_tree.rb + (TestTreeParser::TestInvalid#test_unmatched_close_tag): + Compute expected value from test value. + +Tue Sep 3 22:59:58 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse): + Add source information to parse exception on no close tag error. + [Bug #8844] [ruby-dev:47672] + Patch by Ippei Obayashi. Thanks!!! + * test/rexml/parser/test_tree.rb: Add a test for the above case. + +Tue Sep 3 22:57:57 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/parser/test_tree.rb: Fix test name to describe test + content. + +Tue Sep 3 22:54:46 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/treeparser.rb (REXML::Parsers::TreeParser#parse): + Remove needless nested parse exception information. + [Bug #8844] [ruby-dev:47672] + Reported by Ippei Obayashi. Thanks!!! + * test/rexml/parser/test_tree.rb: Add a test for the above case. + +Tue Sep 3 22:03:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_enc_str_new_cstr): new function to create a string from + the C-string pointer with the specified encoding. + +Tue Sep 3 21:41:37 2013 Akira Matsuda <ronnie@dio.jp> + + * eval.c (Init_eval): Make Module#include and Module#prepend public + [Feature #8846] + + * test/ruby/test_module.rb (class TestModule): Test for above + +Tue Sep 3 21:35:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread_pthread.c (sys/dyntune.h): for gettune(). + + * thread_pthread.c (hpux_attr_getstackaddr): fix missing *. + [ruby-core:56983] [Feature #8793] + +Tue Sep 3 20:12:46 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (GMP_STR2BIG_DIGITS): New macro. + (str2big_gmp): New function. + (rb_cstr_to_inum): Use str2big_gmp for big bignums. + (rb_str2big_gmp): New function. + + * internal.h (rb_str2big_gmp): Declared. + +Tue Sep 3 19:44:40 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/win32/lib/win32/registry.rb (Win32::Registry#values): added. + [Feature #7763] [ruby-core:51783] + +Tue Sep 3 18:26:00 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/inf-ruby.el (inf-ruby-keys, run-ruby): Add magic autoload + comments. + + * misc/rdoc-mode.el (rdoc-mode): Ditto. + + * misc/ruby-electric.el (ruby-electric-mode): Ditto. + + * misc/ruby-style.el (ruby-style-c-mode): Ditto. + +Tue Sep 3 17:06:15 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/ruby/test_rubyoptions.rb + (TestRubyOptions::SEGVTest::ExpectedStderr): the URL was changed at + r42800. + +Tue Sep 3 14:48:25 2013 Zachary Scott <e@zzak.io> + + * lib/thread.rb: [DOC] CV#wait typo by @avdi [Fixes GH-386] + https://github.com/ruby/ruby/pull/386 + +Tue Sep 3 14:37:53 2013 Zachary Scott <e@zzak.io> + + * error.c: [DOC] Update bug tracker url by @ScotterC [Fixes GH-390] + https://github.com/ruby/ruby/pull/390 + +Tue Sep 3 12:45:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_str2big_poweroftwo): New function. + (rb_str2big_normal): Ditto. + (rb_str2big_karatsuba): Ditto. + + * internal.h (rb_str2big_poweroftwo): Declared. + (rb_str2big_normal): Ditto. + (rb_str2big_karatsuba): Ditto. + + * ext/-test-/bignum/str2big.c: New file. + + * test/-ext-/bignum/test_str2big.rb: New file. + + * ext/-test-/bignum/depend: Add the dependency for str2big.c. + +Tue Sep 3 12:09:08 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): Support times() based monotonic clock. + (rb_clock_getres): Ditto. + +Tue Sep 3 12:03:02 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (str2big_scan_digits): Extracted from rb_cstr_to_inum. + +Tue Sep 3 11:23:57 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (rb_w32_select_with_thread): rounding up the fraction of + tv_usec instead of rounding down. + this change is an experiment to get rid of failures on vc10-x64 CI. + +Tue Sep 3 11:00:28 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (do_select): constify timeout. + + * win32/win32.c (rb_w32_select_with_thread): constify 10ms wait and + 0ms wait structs. + +Tue Sep 3 10:03:42 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/openssl/test_pair.rb + (OpenSSL::TestPair#test_write_nonblock_no_exceptions): on some CIs + such as Debian 6.0, Ubuntu 10.04, CentOS and vc10-x64 (maybe depend + on OpenSSL version), writing to SSLSocket after SSL_ERROR_WANT_WRITE + causes SSL_ERROR_SSL "bad write retry". + +Tue Sep 3 08:20:46 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * enc/trans/utf8_mac-tbl.rb: update conversion table to recent OS X. + Previous table is used on Mac OS X 10.1 or prior. + This table is used on 10.2 or later. [ruby-dev:47680] + +Tue Sep 3 07:49:25 2013 Akinori MUSHA <knu@iDaemons.org> + + * numeric.c (NUM_STEP_SCAN_ARGS): On second thought, keep + Numeric#step backward compatible in that it raises TypeError + when nil is given as second argument. + + * test/ruby/test_float.rb (TestFloat#test_num2dbl): Revert. + + * test/ruby/test_numeric.rb (TestNumeric#test_step): Fix test + cases for the above change. + +Tue Sep 3 07:39:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bytes_2comp): Define it only for little endian + environment. + +Tue Sep 3 07:31:29 2013 Akinori MUSHA <knu@iDaemons.org> + + * numeric.c (NUM_STEP_SCAN_ARGS): Numeric#step should raise + TypeError if a non-numeric parameter is given. + + * test/ruby/test_float.rb (TestFloat#test_num2dbl): Allow nil as + step, as with the keyword argument. + + * test/ruby/test_numeric.rb (TestNumeric#test_step): Add tests for + nil as step or limit. + +Tue Sep 3 07:28:49 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (bit_length): Add casts to fix compilation error with + clang 3.0 -Werror,-Wshorten-64-to-32. + [ruby-dev:47687] reported by SASADA Koichi. + +Tue Sep 3 03:17:26 2013 Koichi Sasada <ko1@atdot.net> + + * vm_insnhelper.c (vm_search_super_method): use ci->argc instead of + ci->orig_argc. ci->argc can be changed by splat arguments. + [ruby-list:49575] + This fix should be applied to Ruby 2.0.0 series. + + * test/ruby/test_super.rb: add a test for above. + +Mon Sep 2 23:46:29 2013 Akinori MUSHA <knu@iDaemons.org> + + * numeric.c (num_step): Default the limit argument to infinity and + allow it to be omitted. Keyword arguments (by: and to:) are + introduced for ease of use. [Feature #8838] [ruby-dev:47662] + [ruby-dev:42194] + + * numeric.c (num_step): Optimize for infinite loop. + +Mon Sep 2 22:55:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (ISDIGIT): Unused macro removed. + +Mon Sep 2 22:49:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (str2big_poweroftwo): Extracted from rb_cstr_to_inum. + (str2big_normal): Ditto. + (str2big_karatsuba): Ditto. + +Mon Sep 2 14:39:29 2013 Akinori MUSHA <knu@iDaemons.org> + + * ruby.c (Process#setproctitle): [DOC] Fix and improve rdoc. + + * ruby.c (Process#argv0): [DOC] Improve rdoc. + +Mon Sep 2 14:15:00 2013 Kenta Murata <mrkn@cookpad.com> + + * NEWS: fix description of number literal suffixes. + +Mon Sep 2 14:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * test/rake/test_rake_rules.rb: add space after string literal to + prevent conflict with string options syntax "foo"opts + + * test/rss/rss-assertions.rb: ditto + +Mon Sep 2 12:28:38 2013 Tanaka Akira <akr@fsij.org> + + * test/ruby/test_bignum.rb (test_interrupt_during_to_s): Disable it + when GMP is used. + +Mon Sep 2 07:02:10 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (Init_Bignum): Define Bignum::GMP_VERSION when GMP is used. + +Mon Sep 2 01:46:14 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_generic): Reduce arguments. + (big2str_gmp): Ditto. + (rb_big2str1): Follow the above change. + +Mon Sep 2 00:08:08 2013 Tanaka Akira <akr@fsij.org> + + * process.c (get_mach_timebase_info): Extracted from rb_clock_gettime. + (rb_clock_gettime): Use get_mach_timebase_info. + (rb_clock_getres): Support MACH_ABSOLUTE_TIME_BASED_CLOCK_MONOTONIC. + +Sun Sep 1 23:30:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (GMP_BIG2STR_DIGITS): New constant. + (big2str_gmp): New function. + (rb_big2str1): Use big2str_gmp for big bignums. + + * internal.h (rb_big2str_gmp): Declared. + + * ext/-test-/bignum/big2str.c (big2str_gmp): New method. + +Sun Sep 1 22:37:51 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_gmp): Use mpz_init and mpz_clear instead of + mpz_inits and mpz_clears. + Older GMP don't have them. + +Sun Sep 1 21:17:54 2013 Tanaka Akira <akr@fsij.org> + + * test/net/http/test_http.rb (test_bind_to_local_port): Choose an open + port more reliably. + +Sun Sep 1 20:32:40 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_base_poweroftwo): Renamed from + big2str_base_powerof2. + (rb_big2str_poweroftwo): New function for test. + (big2str_generic): Extracted from rb_big2str1. + (rb_big2str_generic): New function for test. + + * internal.h (rb_big2str_poweroftwo): Declared. + (rb_big2str_generic): Ditto. + + * ext/-test-/bignum/big2str.c: New file. + + * test/-ext-/bignum/test_big2str.rb: New file. + +Sun Sep 1 15:21:21 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_2bdigits): Renamed from big2str_orig. + +Sun Sep 1 13:02:24 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Remove BITSPERDIG >= INT_MAX test. The static assertion, + SIZEOF_BDIGITS <= sizeof(BDIGIT) is enough. + +Sun Sep 1 11:38:26 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (maxpow_in_bdigit): Removed. + +Sun Sep 1 10:30:42 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (rb_fix_bit_length): Moved from bignum.c. + +Sun Sep 1 09:55:45 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (bit_length): Moved from bignum.c. + (nlz_int): Ditto. + (nlz_long): Ditto. + (nlz_long_long): Ditto. + (nlz_int128): Ditto. + +Sun Sep 1 03:32:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bit_length): Renamed from bitsize. + +Sun Sep 1 00:07:09 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_bit_length): New method. + (rb_fix_bit_length): Ditto. + [ruby-core:56247] [Feature #8700] + +Sat Aug 31 22:18:29 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_getres): New method. + (timetick2dblnum_reciprocal): New function. + + * configure.in: Check clock_getres. + + [ruby-core:56780] [Feature #8809] accepted as a CRuby feature at + DevelopersMeeting20130831Japan + https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130831Japan + +Sat Aug 31 21:02:07 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Use GMP to accelerate big Bignum multiplication. + (bary_mul_gmp): New function. + (bary_mul): Use bary_mul_gmp. + (bigsq): Use different threshold with GMP. + + * configure.in: Detect GMP. + + [ruby-core:56658] [Feature #8796] + +Sat Aug 31 15:03:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * compile.c (NODE_MATCH3): pass CALL_INFO to opt_regexpmatch2 + + * insns.def (opt_regexpmatch2): use CALL_SIMPLE_METHOD to call =~ if + the receiver is not a T_STRING [Bug #8847] [ruby-core:56916] + +Sat Aug 31 14:07:11 2013 Tanaka Akira <akr@fsij.org> + + * lib/securerandom.rb (random_bytes): Use Process.clock_gettime. + +Sat Aug 31 00:25:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/encoding.h (rb_{ascii8bit,utf8,usascii}_encindex): get + rid of conflict with macros defined in internal.h. + +Fri Aug 30 22:37:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread_pthread.c (native_thread_init_stack): wait the creator thread + to fill machine stack info, if get_stack_of() is available. + + * thread_pthread.c (native_thread_create): fill the created thread + stack info after starting, if get_stack_of() is available. + + * thread_pthread.c (native_thread_create): define attr only if it is + used, and merge pthread_create() calls. + + * thread_pthread.c (get_main_stack): separate function to get stack of + main thread. + +Thu Aug 29 18:05:33 2013 Koichi Sasada <ko1@atdot.net> + + * struct.c (rb_struct_define_without_accessor_under): added. + This function is similar to rb_define_class_under() against + rb_define_class(). + + * include/ruby/intern.h: add a declaration of this function. + +Thu Aug 29 17:03:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_insnhelper.c (vm_call_method): a method entry refers the based + class/module, so should search superclass from the origin i-class + where the entry belongs to, to get rid of infinite loop when zsuper + in a prepended class/module. [ruby-core:54105] [Bug #8238] + +Thu Aug 29 05:35:58 2013 Eric Hodel <drbrain@segment7.net> + + * ext/zlib/zlib.c (zstream_run): Fix handling of deflate streams that + need a dictionary but are being decompressed by Zlib::Inflate.inflate + (which has no option to set a dictionary). Now Zlib::NeedDict is + raised instead of crashing. [ruby-trunk - Bug #8829] + * test/zlib/test_zlib.rb (TestZlibInflate): Test for the above. + +Thu Aug 29 02:40:45 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/scalar_scanner.rb: invalid floats should be + treated as strings. + https://github.com/tenderlove/psych/issues/156 + + * test/psych/test_string.rb: test for change + +Wed Aug 28 17:20:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread_pthread.c (hpux_attr_getstackaddr): basic support for the + get_stack() under HP-UX. based on the patch by michal@rokos.cz + (Michal Rokos) at [ruby-core:56645]. [Feature #8793] + +Wed Aug 28 11:24:20 2013 Michal Rokos <michal@rokos.cz> + + * configure.in (sys/pstat.h): fix missing header check for + missing/setproctitle.c on HP-UX. [ruby-core:56644] [Bug #8792] + +Wed Aug 28 04:54:33 2013 Eric Hodel <drbrain@segment7.net> + + * ext/openssl/ossl_ssl.c (ossl_ssl_read): Replace duplicate + wait_writable with wait_readable. + +Tue Aug 27 17:18:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/timeout.rb (Timeout#timeout): skip rescue clause only when no + exception class is given. + +Tue Aug 27 17:02:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (copy_stream_body): should write in binary mode. based on a + patch by godfat (Lin Jen-Shin) at [ruby-core:56556]. + [ruby-core:56518] [Bug #8767] + +Tue Aug 27 17:02:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (copy_stream_body): move common open flags. + +Tue Aug 27 16:56:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enumerator.c (enumerator_size): use rb_check_funcall() instead of + respond_to? and call. + + * enumerator.c (enumerator_each): ensure that argument array size + does not overflow at appending. + +Tue Aug 27 16:46:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_index, rb_ary_rindex): use optimized equality to + improve performance. [Feature #8820] + + * vm_insnhelper.c (rb_equal_opt): optimized equality function. + +Tue Aug 27 16:11:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_insnhelper.c (opt_eq_func): use RBASIC_CLASS() instead of HEAP_CLASS_OF(). + + * insns.def (opt_plus, opt_minus, opt_mult, opt_div, opt_mod, opt_lt), + (opt_gt, opt_ltlt, opt_aref, opt_aset, opt_length, opt_size), + (opt_empty_p, opt_succ): ditto. + +Tue Aug 27 16:08:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (rb_check_funcall, rb_check_funcall_with_hook): constify + argv. + +Tue Aug 27 13:03:33 2013 Koichi Sasada <ko1@atdot.net> + + * ext/stringio/stringio.c (strio_read_nonblock): declare local + variables at the first of function. + +Tue Aug 27 11:51:37 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * enumerator.c: Allow Enumerator size argument to be any callable. + Patch by Avdi Grimm. [bug #8641] [ruby-core:56032] [fix GH-362] + + * test/ruby/test_enumerator.rb: Test for above + +Tue Aug 27 11:46:31 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_clear): do rest_sweep() before clearing + profile.current_record. + +Tue Aug 27 07:35:05 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * io.c (io_read_nonblock): support non-blocking reads without raising + exceptions. As in: `io.read_nonblock(size, exception: false)` + [ruby-core:38666] [Feature #5138] + * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): ditto + * ext/stringio/stringio.c (strio_sysread): ditto + * io.c (rb_io_write_nonblock): support non-blocking writes without + raising an exception. + * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): ditto + * test/openssl/test_pair.rb (class OpenSSL): tests + * test/ruby/test_io.rb (class TestIO): ditto + * test/socket/test_nonblock.rb (class TestSocketNonblock): ditto + * test/stringio/test_stringio.rb (class TestStringIO): ditto + +Tue Aug 27 05:24:34 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Import RubyGems 2.1.0 Release Candidate + * test/rubygems: ditto. + +Mon Aug 26 16:24:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_nextc): warn carriage return in middle of line. + [ruby-core:56240] [Feature #8699] + +Mon Aug 26 15:27:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/timeout.rb (Timeout#timeout): should not be caught by rescue + clause. [Bug #8730] + +Mon Aug 26 14:44:26 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (rb_ary_splice): use RARRAY_PTR_USE() without WB because + there are not new relations. + + * enum.c (enum_sort_by): ditto. + + * struct.c (setup_struct): use RARRAY_RAWPTR(). + + * vm_eval.c (yield_under): ditto. + + * ext/pathname/pathname.c (path_entries): use RARRAY_AREF(). + + * ext/pathname/pathname.c (path_s_glob): ditto. + +Mon Aug 26 13:11:10 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * array.c (ary_ensure_room_for_push): fix typo in r42658. + +Mon Aug 26 12:37:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * template/sizes.c.tmpl: generate automatically by extracting + RUBY_CHECK_SIZEOF from configure.in. + +Mon Aug 26 10:16:59 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * process.c (gcd_timetick_int): Renamed from gcd_timtick_int. + +Sun Aug 25 21:02:15 2013 Tanaka Akira <akr@fsij.org> + + * sizes.c (Init_sizes): Define the size of clock_t. + +Sun Aug 25 01:47:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BARY_SHORT_MUL): Renamed from BARY_MUL1. + (bary_short_mul): Renamed from bary_mul1. + +Sat Aug 24 10:35:09 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): The emulated clock names changed. + +Fri Aug 23 22:22:07 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): Add a cast to fix compile error by + -Werror,-Wshorten-64-to-32. + +Fri Aug 23 22:12:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (rb_intern): no symbol cache while initialization. + +Fri Aug 23 22:07:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (clock_t): needs time.h. + +Fri Aug 23 21:37:28 2013 Tanaka Akira <akr@fsij.org> + + * process.c (reduce_factors): New function. + (timetick2dblnum): Use reduce_factors. + (timetick2integer): Ditto. + (make_clock_result): Follow the above change. + (rb_clock_gettime): Ditto. + +Fri Aug 23 21:00:55 2013 Tanaka Akira <akr@fsij.org> + + * process.c (timetick_int_t): Renamed from timetick_giga_count_t. + (gcd_timtick_int): Renamed from gcd_ul and make the arguments + timetick_giga_count_t. + (reduce_fraction): Make the arguments timetick_int_t. + (timetick2integer): Ditto. + (make_clock_result): Ditto. + (timetick2dblnum): Fix the return type. + (rb_clock_gettime): Use timetick_int_t. + +Fri Aug 23 20:50:40 2013 Tanaka Akira <akr@fsij.org> + + * process.c (gcd_ul): New function. + (reduce_fraction): Ditto. + (reduce_fraction): Ditto. + (timetick2dblnum): Ditto. + (timetick2integer): Ditto. + (make_clock_result): Use timetick2dblnum and timetick2integer. + (rb_clock_gettime): Follow the make_clock_result change. + +Fri Aug 23 18:39:04 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_make_shared): shared ary as shady. Need more effort to + make it normal object. + + * array.c (rb_ary_modify): use RARRAY_PTR_USE() without WB because + there are not new relations. + + * array.c (ary_ensure_room_for_unshift): use RARRAY_RAWPTR() because + there are not new relations. + +Fri Aug 23 11:25:57 2013 Koichi Sasada <ko1@atdot.net> + + * array.c: introduce ARY_SHARED_OCCUPIED(shared). + +Fri Aug 23 11:07:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/Makefile.sub (config.h): now SIZEOF_CLOCK_T is needed for + unsigned_clock_t. + +Thu Aug 22 22:01:04 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): Strip "s" from unit names. + +Thu Aug 22 20:14:59 2013 Tanaka Akira <akr@fsij.org> + + * process.c (unsigned_clock_t): Defined. + (rb_clock_gettime): Consider clock_t overflow for + ISO_C_CLOCK_BASED_CLOCK_PROCESS_CPUTIME_ID. + + * configure.in: Check the size of clock_t. + +Thu Aug 22 16:22:48 2013 Koichi Sasada <ko1@atdot.net> + + * compile.c (build_postexe_iseq): fix to setup the local table. + +Thu Aug 22 15:42:43 2013 Koichi Sasada <ko1@atdot.net> + + * compile.c (rb_iseq_compile_node): accept NODE_IFUNC to support + custom compilation. + + * compile.c (NODE_POSTEXE): compile to + "ONCE{ VMFrozenCore::core#set_postexe{...} }" with a new custom + compiler `build_postexe_iseq()'. + + * vm.c (m_core_set_postexe): remove parameters (passed by a block). + +Thu Aug 22 06:54:15 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): Change emulation symbols for + Process.clock_gettime. + +Thu Aug 22 06:24:54 2013 Tanaka Akira <akr@fsij.org> + + * process.c (make_clock_result): Extracted from rb_clock_gettime. + +Wed Aug 21 22:30:51 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): clock() based CLOCK_PROCESS_CPUTIME_ID + emulation implemented. + +Wed Aug 21 21:02:37 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_proc_times): Use RB_GC_GUARD to guard objects from GC. + +Wed Aug 21 20:33:01 2013 Tanaka Akira <akr@fsij.org> + + * process.c (get_clk_tck): Extracted from rb_proc_times. + (rb_clock_gettime): times() based CLOCK_PROCESS_CPUTIME_ID emulation + is implemented. + +Wed Aug 21 19:31:48 2013 Tanaka Akira <akr@fsij.org> + + * process.c: POSIX_GETTIMEOFDAY_CLOCK_REALTIME is renamed to + SUS_GETTIMEOFDAY_CLOCK_REALTIME. + +Wed Aug 21 19:17:46 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): CLOCK_PROCESS_CPUTIME_ID emulation + using getrusage is implemented. + +Wed Aug 21 17:34:27 2013 Tanaka Akira <akr@fsij.org> + + * gc.c (getrusage_time): Fallback clock_gettime to getrusage when + clock_gettime fails. + Reported by Eric Saxby. [ruby-core:56762] [Bug #8805] + +Wed Aug 21 02:32:32 2013 Koichi Sasada <ko1@atdot.net> + + * insns.def: fix regexp's once option behavior. + fix [ruby-trunk - Bug #6701] + + * insns.def: remove `onceinlinecache' and introduce `once' instruction. + `once' doesn't use `setinlinecache' insn any more. + + * vm_core.h: `union iseq_inline_storage_entry' to store once data. + + * compile.c: catch up above changes. + + * iseq.c: ditto. + + * vm.c, vm_insnhelper.c: ditto. fix `m_core_set_postexe()' which + is depend on `onceinlinecache' insn. + + * test/ruby/test_regexp.rb: add tests. + + * iseq.c: ISEQ_MINOR_VERSION to 1 (should increment major?) + +Wed Aug 21 02:30:15 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_gcdebug_print_obj_condition): add printing information. + +Tue Aug 20 13:38:00 2013 Naohisa Goto <ngotogenome@gmail.com> + + * test/gdbm/test_gdbm.rb: skip TestGDBM#test_s_open_lock on Solaris. + On Solaris (and platforms which do not have flock and have lockf), + with GDBM 1.10, gdbm_open(3) blocks when opening already locked + gdbm file. [Bug #8790] [ruby-dev:47631] + +Tue Aug 20 02:32:52 2013 Zachary Scott <e@zzak.io> + + * lib/test/: [DOC] Document Test::Unit, hide most submodules and + classes from rdoc. Since lib/test is only present as a compatibility + layer with the legacy test suite many test/unit users will be using + minitest or the test/unit gem instead. It is recommended to use one + of these alternatives for writing new tests. + + This patch was based on a patch submitted by Steve Klabnik. + [ruby-core:56694] [Bug #8778] + +Tue Aug 20 02:10:19 2013 Zachary Scott <e@zzak.io> + + * lib/rss/rss.rb: [DOC] Document for constants by Steve Klabnik + [ruby-core:56705] [Bug #8798] + +Tue Aug 20 02:01:10 2013 Zachary Scott <e@zzak.io> + + * lib/rss/xmlparser.rb: [DOC] Hide legacy constant from rdoc + Patch by Steve Klabnik [ruby-core:56708] [Bug #8799] + +Tue Aug 20 01:52:05 2013 Zachary Scott <e@zzak.io> + + * ext/socket/unixserver.c: [DOC] Document #accept + * ext/socket/tcpserver.c: ditto + * ext/socket/udpsocket.c: [DOC] Fix indentation of documentation + * ext/socket/socket.c: ditto + Patches by David Rodr'iguez [ruby-core:56734] [Bug #8802] + +Tue Aug 20 01:19:22 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Define ac_cv_func_clock_gettime to yes for mingw*. + +Mon Aug 19 21:31:35 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/defines.h: Fix a compilation error with + i586-mingw32msvc-gcc of gcc-mingw32 package on Debian squeeze. + ruby/missing.h should be included before include/ruby/win32.h + because struct timespec, used in the clock_gettime declaration in + include/ruby/win32.h, is defined in ruby/missing.h instead of + system headers. + +Mon Aug 19 20:55:12 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix around GC_DEBUG. + + * gc.c (RVALUE::line): should be VALUE. On some environment + (such as mswin64), `int' introduces alignment mismatch. + + * gc.c (newobj_of): add an assertion to check VALUE alignment. + + * gc.c (aligned_malloc): `&' is low priority than `=='. + + * gc.c: define GC_DEBUG everytime and use it as value 0 or 1. + +Mon Aug 19 17:43:44 2013 Koichi Sasada <ko1@atdot.net> + + * test/ruby/test_fiber.rb: collect garbage fibers immediately. + +Mon Aug 19 17:41:49 2013 Koichi Sasada <ko1@atdot.net> + + * test/profile_test_all.rb: add `failed?' information. + +Mon Aug 19 17:00:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (retry_fork): retry with GC if ENOMEM occurred, to free + swap/kernel space. + +Mon Aug 19 13:28:47 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * include/ruby/win32.h (CLOCK_MONOTONIC): typo. + + * win32/win32.c: removed duplicated declarations. + +Mon Aug 19 13:03:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (clock_gettime): should not overwrite cache variable + with different condition. otherwise -lrt is not linked and the link + fails, after reconfig. + +Mon Aug 19 12:56:49 2013 Tanaka Akira <akr@fsij.org> + + * process.c (Init_process): Add constants: CLOCK_REALTIME_ALARM and + CLOCK_BOOTTIME_ALARM. + +Sun Aug 18 20:17:41 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * variable.c, vm_method.c: remove dead code. + + * test/ruby/test_fiber.rb, test/ruby/test_thread.rb: + change accordingly. + +Sun Aug 18 19:32:26 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * error.c, file.c, gc.c, hash.c, thread.c, variable.c, vm_eval.c, bin/erb: + $SAFE=4 is obsolete. + +Sun Aug 18 14:30:47 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): Rename POSIX_TIME_CLOCK_REALTIME to + ISO_C_TIME_CLOCK_REALTIME. + +Sun Aug 18 14:22:45 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Revert r42604. It causes linking librt on systems + with newer glibc uselessly. + +Sun Aug 18 13:18:38 2013 Tanaka Akira <akr@fsij.org> + + * process.c (Init_process): Add constants: CLOCK_REALTIME_COARSE, + CLOCK_MONOTONIC_COARSE and CLOCK_BOOTTIME. + +Sun Aug 18 12:41:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (clock_gettime): need to check with -lrt prior to check + for the function only. otherwise -lrt is not linked and the link + fails, when ac_cv_func_clock_gettime is cached as yes. + +Sun Aug 18 10:05:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2str1): Make an expression more explicit. + +Sun Aug 18 03:18:45 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2str1): Use power_level instead of bitsize(xn). + +Sun Aug 18 00:44:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BIGDIVREM_EXTRA_WORDS): Redefine to 1. + (bigdivrem_num_extra_words): Removed. + (bigdivrem_normal): Simplified. + (big2str_karatsuba): Ditto. + +Sat Aug 17 23:25:19 2013 Benoit Daloze <eregontp@gmail.com> + + * test/ruby/test_time.rb: use the in_timezone() helper + and define it at the top with other helpers. + +Sat Aug 17 22:20:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * time.c (time_mload): ignore auxiliary data, offset and zone, if + invalid. [ruby-core:56648] [Bug #8795] + +Sat Aug 17 20:11:49 2013 Benoit Daloze <eregontp@gmail.com> + + * process.c: [DOC] MACH_ABSOLUTE_TIME_CLOCK_MONOTONIC is an + available emulation for a monotonic clock on Darwin. + https://developer.apple.com/library/mac/qa/qa1398/_index.html + +Fri Aug 16 18:12:05 2013 Koichi Sasada <ko1@atdot.net> + + * test/profile_test_all.rb: fix typo. + +Fri Aug 16 18:09:20 2013 Koichi Sasada <ko1@atdot.net> + + * test/profile_test_all.rb: remove space characters from test names. + +Fri Aug 16 17:32:02 2013 Koichi Sasada <ko1@atdot.net> + + * test/profile_test_all.rb: refactoring memory profiling tool for + test-all. + Add profiling targets /proc/meminfo and /proc/self/status. + + * test/runner.rb: accept other than 'true'. + +Fri Aug 16 11:23:35 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * file.c (rb_file_size, rb_file_flock): improve performance of Windows. + + * file.c (rb_file_truncate): removed unnecessary #ifdef. + + * test/test_file.rb (TestFile#test_truncate_size): added an assertion + for File#size. + +Fri Aug 16 10:07:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_single1): Renamed from bigdivrem_single. Add + x_higher_bdigit argument. + (bigdivrem_single): Just call bigdivrem_single1. + (bigdivrem_restoring): Use bigdivrem_single1 to avoid memmove. + +Fri Aug 16 09:17:00 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_small_rshift): Specify the higher BDIGIT instead of + sign bit. + (big_shift3): Follow the above change. + +Fri Aug 16 02:20:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_toom3): Reduce a branch. + +Fri Aug 16 02:14:09 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * process.c (rb_clock_gettime): add CLOCK_MONOTONIC support on OS X. + http://developer.apple.com/library/mac/qa/qa1398/_index.html + [Feature #8658] + +Fri Aug 16 01:37:43 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_single): Use shift when y is a power of two. + +Fri Aug 16 01:09:33 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_restoring): Use bigdivrem_single if non-topmost + BDIGITs of y are zero. + +Fri Aug 16 00:33:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2str1): Truncate topmost zeros of x. + +Fri Aug 16 00:00:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_divmod): Simplify an expression. + +Thu Aug 15 23:26:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_normal): Remove a local variable. + +Thu Aug 15 23:08:32 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_karatsuba): Use bigdivrem_restoring directly to + reduce working buffer and memory copy. + (rb_big2str1): Allocate working buffer for big2str_karatsuba here. + +Thu Aug 15 20:51:29 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * io.c, internal.h (rb_io_flush_raw): new function to select calling + fsync() (on Windows). + + * io.c (rb_io_flush_raw): use above function. + + * file.c (rb_file_truncate): use above function. + + * test/ruby/test_file.rb (TestFile#test_truncate_size): test for + above changes. + +Thu Aug 15 18:39:31 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (clock_gettime): improve precision when freq is less + than and nearly equals 10**9. + +Thu Aug 15 17:43:15 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_lazy_sweep): remove heap_increment() here because heap_inc + may be 0. + +Thu Aug 15 16:59:56 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * io.c (rb_io_rewind): remove fsync() for Windows to improve the + performance. + +Thu Aug 15 16:30:23 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/fileutils/test_fileutils.rb (TestFileUtils#test_rmdir): + FileUtils.rmdir ignores Errno::ENOTEMPTY, so, in such cases, this + assertion is nonsense. + +Thu Aug 15 15:49:35 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): [DOC] FreeBSD 7.1 supports + CLOCK_THREAD_CPUTIME_ID. + http://www.freebsd.org/releases/7.1R/relnotes.html + +Thu Aug 15 14:30:23 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * include/ruby/win32.h, win32/Makefile.sub, win32/win32.c + (clock_gettime): [experimental] emulates clock_gettime(2) of posix. + +Thu Aug 15 02:32:40 2013 Zachary Scott <e@zzak.io> + + * hash.c (rb_hash_aset): [DOC] Document key dup patch by @kachick + [Fixes GH-382] https://github.com/ruby/ruby/pull/382 + +Wed Aug 14 14:28:39 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * proc.c (rb_mod_define_method): now they return the symbols of the + defined methods, not the methods/procs themselves. + [ruby-dev:42151] [Feature #3753] + + * NEWS: documents about above change and def-expr (see r42337). + + * test/ruby/test_module.rb: tests about above change. + +Wed Aug 14 00:51:14 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_restoring): xn argument removed. + (bigdivrem_normal): Follow the above change. + +Wed Aug 14 00:18:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_div_struct): Remove xn and j field. Add zn field. + (bigdivrem1): Follow the above change. + (bigdivrem_restoring): Ditto. + +Tue Aug 13 23:38:17 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_div_struct): ynzero field removed. + (bigdivrem1): Follow the above change. + (bigdivrem_restoring): Ditto. + +Tue Aug 13 23:01:16 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_restoring): Extracted from bigdivrem_normal. + +Tue Aug 13 22:12:59 2013 Kenichi Kamiya <kachick1@gmail.com> + + * random.c (rb_random_ulong_limited): coerce before check negative. + [Fixes GH-379] + +Tue Aug 13 21:52:15 2013 Kenichi Kamiya <kachick1@gmail.com> + + * object.c (Init_Object): undef Module#prepend_features on Class, as + well as Module#append_features. [Fixes GH-376] + + * test_class.rb: Added test for above. And ensure type checking + on similar methods as module_function. + +Tue Aug 13 08:52:18 2013 Zachary Scott <e@zzak.io> + + * doc/syntax/literals.rdoc: [DOC] String literal concat by @cknadler + [Fixes GH-380] https://github.com/ruby/ruby/pull/380 + +Mon Aug 12 23:07:21 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_marks_test): inhibit gc for st's operation. + +Mon Aug 12 15:59:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_whole_match_p): treat CR in middle of a line as a + mere whitespace. + +Mon Aug 12 15:16:58 2013 Koichi Sasada <ko1@atdot.net> + + * class.c (rb_prepend_module): make T_ICLASS object shady because + this T_ICLASS object seems to share method table with other class + objects. It was causes WB miss. + TODO: need to know the data structure. + + * test/ruby/test_module.rb: add a test for WB miss. + +Mon Aug 12 13:47:54 2013 Zachary Scott <e@zzak.io> + + * process.c: [DOC] RDoc formatting of Process.clock_gettime + +Mon Aug 12 13:29:09 2013 Zachary Scott <e@zzak.io> + + * lib/yaml/dbm.rb: [DOC] Document call-seq for YAML::DBM + +Mon Aug 12 12:57:26 2013 Zachary Scott <e@zzak.io> + + * ext/dbm/extconf.rb: [DOC] Hide from RDoc + Some libraries might want to document extconf.rb so RDoc treats it + like any other ruby program. However, DBM users shouldn't care about + these methods. + +Mon Aug 12 12:53:39 2013 Zachary Scott <e@zzak.io> + + * ext/dbm/dbm.c: [DOC] Reformat headings of DBM class + +Mon Aug 12 12:46:31 2013 Zachary Scott <e@zzak.io> + + * lib/yaml.rb, lib/yaml/: [DOC] Document YAML::DBM#key and add + references to similar methods with more detail. This patch brings + lib/yaml to 100% documentation coverage. + +Mon Aug 12 02:51:32 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/readline/readline.c (readline_s_set_input): on OS X with editline, + Readline.readline doesn't work because readline_get doesn't use + rl_getc. The difference is introduced by r42402 [ruby-dev:47509] + [Bug #8644]. Before it rb_io_stdio_file set ifp->stdio_file. + Therefore add manually setting the value. + + * ext/readline/readline.c (readline_s_set_output): ditto. + +Sun Aug 11 23:27:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_str_encode_ospath): OS path encoding on Mac OS X is also + fixed. + +Sun Aug 11 22:57:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * test/ruby/test_require.rb (assert_require_nonascii_path): OS path + encoding on Windows is fixed, so encoding of __FILE__ should be it. + [ruby-core:56498] [Bug #8764] + +Sun Aug 11 19:11:45 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/parser/test_sax2.rb: Expand abbreviated class name. + +Sun Aug 11 19:06:03 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/sax2listener.rb (REXML::SAX2Listener#notationdecl): Fix + wrong number of arguments in the template listener. + [Bug #8731] [ruby-dev:47582] + Reported by Ippei Obayashi. + * test/rexml/parser/test_sax2.rb: Add tests for parsing notation + declarations with SAX2 API. + +Sun Aug 11 18:44:04 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/sax2listener.rb (REXML::SAX2Listener#elementdecl): Fix wrong + examples. [Bug #8731] [ruby-dev:47582] + Reported by Ippei Obayashi. + +Sun Aug 11 18:42:13 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/sax2parser.rb + (REXML::Parsers::SAX2Parser#handle_entitydecl): Extract. + +Sun Aug 11 18:40:25 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse): + Fix wrong "%" position in parameter entity declaration event argument. + * test/rexml/parser/test_sax2.rb: Add tests for the above case. + +Sun Aug 11 18:08:40 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse): + Support NDATA in external ID entity declaration. + * test/rexml/parser/test_sax2.rb: Add tests for the above case. + +Sun Aug 11 18:07:39 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/baseparser.rb + (REXML::Parsers::BaseParser#pull_event): Support optional NDATA + in external ID entity declaration. + +Sun Aug 11 17:54:07 2013 Kouhei Sutou <kou@cozmixng.org> + + * NEWS (REXML::Parsers::SAX2Parser): Add about this change. + * lib/rexml/parsers/sax2parser.rb (REXML::Parsers::SAX2Parser#parse): + Fix wrong number of arguments. Document says "an array of the + entity declaration" but it passes two or more arguments. + This is a bug but it break backward compatibility. + Reported by Ippei Obayashi. [Bug #8731] [ruby-dev:47582] + * lib/rexml/sax2listener.rb (REXML::SAX2Listener#entitydecl): ditto. + The listener template accepted two arguments. + * test/rexml/parser/test_sax2.rb: Add tests for external ID case. + +Sun Aug 11 17:41:41 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/parser/test_sax2.rb: Add SAX2 API test. + +Sun Aug 11 15:10:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (rb_enc_symname_type): allow ID_ATTRSET for ID_INSTANCE, + ID_GLOBAL, ID_CLASS, ID_JUNK too. [Bug #8756] + +Sun Aug 11 13:17:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * include/ruby/encoding.h: Reduce ENCODING_INLINE_MAX to 127 as this + should be sufficient to represent all the encodings Ruby supports. + +Sun Aug 11 11:54:38 2013 Tanaka Akira <akr@fsij.org> + + * process.c (rb_clock_gettime): New method. + This is accepted in the meeting: + https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130809 + This method is accepted as a CRuby feature. + I.e. Other Ruby implementations don't need to implement it. + [ruby-core:56087] [Feature #8658] + +Sun Aug 11 10:40:48 2013 Zachary Scott <e@zzak.io> + + * lib/time.rb: [DOC] Correcting rdoc visibility of time.rb constants + Reported by Tanaka Akira [ruby-core:56517] + +Sun Aug 11 04:48:14 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * file.c (rb_str_normalize_ospath): + HFS Plus (Mac OS Extended) uses a variant of Normal Form D in which + U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through + U+2FAFF are not decomposed (this avoids problems with round trip + conversions from old Mac text encodings). + http://developer.apple.com/library/mac/qa/qa1173/_index.html + Therefore fix r42457 to exclude the range. + +Sun Aug 11 03:26:07 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bitsize): Fix a conditional expression. + +Sun Aug 11 02:44:03 2013 Zachary Scott <e@zzak.io> + + * lib/time.rb: [DOC] Document constants by @markijbema [Fixes GH-377] + https://github.com/ruby/ruby/pull/377 + +Sun Aug 11 01:28:52 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Revert r42458. + It removes the HAVE_CLOCK_GETTIME from config.h. + http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130809T044800Z.diff.html.gz + +Sat Aug 10 13:53:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (rb_id_attrset): allow other than ID_ATTRSET. + + * parse.y (intern_str): ditto. try stem ID for ID_INSTANCE, + ID_GLOBAL, ID_CLASS, ID_JUNK too. [Bug #8756] + +Sat Aug 10 12:49:50 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/baseparser.rb + (REXML::Parsers::BaseParser::CDATA_END): Use "\A" instead of "^". + It is not an used constant but I fix it. (Or should I remove it?) + +Sat Aug 10 12:47:19 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser): + Fix wrong constant name. "]>" pattern match is the same but + it is used for "<!DOCTYPE" end mark not "<![CDATA[" end mark. + +Sat Aug 10 12:43:15 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser): + Use "\A" instead of "^" in document type declaration patterns + because they are used as the head match in content not the head + match in line. They don't cause any problems in the current code + but it should be fixed. + +Sat Aug 10 12:39:00 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/parse/test_document_type_declaration.rb: Add tests for + parsing document type declaration. + +Sat Aug 10 12:00:45 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::SYSTEM): + Fix loose "head" match regular expression. It doesn't cause any + problem in the current code but it should be fixed because readers + may confuse it. + Patch by Ippei Obayashi. Thanks!!! + +Sat Aug 10 11:58:24 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/parse/test_notation_declaration.rb (#test_system_public): + Add a test for PUBLIC notation and SYSTEM notation order case. + +Sat Aug 10 11:31:35 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser::PUBLIC): + Fix loose "head" match regular expression. + [Bug #8701] [ruby-dev:47551] + Patch by Ippei Obayashi. Thanks!!! + * test/rexml/parse/test_notation_declaration.rb (#test_system_public): + Add a test for the above case. + +Sat Aug 10 09:20:21 2013 Zachary Scott <e@zzak.io> + + * NEWS: [DOC] typo in example reported by @moretea + https://github.com/ruby/ruby/commit/a39e724#commitcomment-3831489 + +Sat Aug 10 09:19:04 2013 Zachary Scott <e@zzak.io> + + * proc.c: [DOC] rdoc code formatting + +Sat Aug 10 09:12:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (rb_id_attrset): check if the argument is valid type as an + attribute. + +Sat Aug 10 05:44:08 2013 Zachary Scott <e@zzak.io> + + * lib/rss/trackback.rb: [DOC] Hide RSS::Trackback from rdoc + Patch by Steve Klabnik [Bug #8755] [ruby-core:56456] + +Sat Aug 10 04:52:21 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_div_struct): Use size_t. + (bigdivrem1): Ditto. + (bigdivrem_num_extra_words): Ditto. + (bigdivrem_single): Ditto. + (bigdivrem_normal): Ditto. + (bary_divmod): Ditto. + +Fri Aug 9 23:47:15 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rss/rexmlparser.rb: Remove needless REXML version check. + Both RSS Parser and REXML are bundled in Ruby. RSS Parser can + always use the latest REXML. [Bug #8754] [ruby-core:56454] + Patch by Steve Klabnik. Thanks!!! + +Fri Aug 9 22:51:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (XLDFLAGS, LIBRUBYARG_STATIC): CoreFoundation framework + option is now needed always, regardless enable-shared. + [ruby-core:56467] [Bug #8759] + +Fri Aug 9 22:20:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby.c (load_file_internal): use rb_parser_compile_string_path and + rb_parser_compile_file_path, String path name versions. [Bug #8753] + +Fri Aug 9 07:16:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * ext/io/console/console.c: delete redefinition of rb_cloexec_open. + drop support for 1.8 and 1.9 from the next release of io-console gem. + +Fri Aug 9 19:13:54 2013 Koichi Sasada <ko1@atdot.net> + + * NEWS: update about new methods for Binding. + +Fri Aug 9 18:48:09 2013 Koichi Sasada <ko1@atdot.net> + + * proc.c: add Binding#local_variable_get/set/defined? + to access local variables which a binding contains. + Most part of implementation by nobu. + + * test/ruby/test_proc.rb: add a tests for above. + + * vm.c, vm_core.h (rb_binding_add_dynavars): add a new function + to add a new environment to create space for new local variables. + +Fri Aug 9 14:02:01 2013 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> + + * tool/make-snapshot: Fix order of priority for option parameter. + +Fri Aug 9 12:06:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_str_normalize_ospath): normalize to Normalization Form C + using CFString. + +Fri Aug 9 10:53:57 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * time.c (get_timeval, get_new_timeval): use rb_obj_class() + instead of CLASS_OF() because CLASS_OF() may return + a singleton class. + +Fri Aug 9 10:42:11 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * vm_insnhelper.c (vm_invoke_block): returning from lambda proc + now always exits from the Proc. [ruby-core:56193] [Feature #8693] + + * NEWS, test/ruby/test_lambda.rb: ditto. Patch by nobu. + +Fri Aug 9 00:10:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enumerator.c (lazy_zip_func): fix non-single argument. fix + out-of-bound access and pack multiple yielded values. + [ruby-core:56383] [Bug #8735] + +Thu Aug 8 23:01:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (rb_mod_singleton_p): new method Module#singleton_class? to + return whether the receiver is a singleton class or not. + [ruby-core:51087] [Feature #7609] + +Thu Aug 8 21:56:44 2013 Tanaka Akira <akr@fsij.org> + + * time.c (time_overflow_p): Avoid signed integer overflow. + (rb_time_new): Fix overflow condition. + +Thu Aug 8 19:58:02 2013 Koichi Sasada <ko1@atdot.net> + + * thread.c (rb_threadptr_pending_interrupt_check_mask): + use RARRAY_RAWPTR() instead of RARRAY_PTR() because + there is no new reference. + +Thu Aug 8 19:56:52 2013 Koichi Sasada <ko1@atdot.net> + + * string.c (rb_str_format_m): use RARRAY_RAWPTR() instead of + RARRAY_PTR() because there is no new reference. + +Thu Aug 8 19:55:51 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: define USE_RGENGC_LOGGING_WB_UNPROTECT. + +Thu Aug 8 16:44:25 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: add old macro name `RUBY_EVENT_SWITCH'. + This macro name is obsolete because it is renamed to + RUBY_INTERNAL_EVENT_SWITCH, but it has compatibility problem + using this macro name like ruby-prof. + I want to remove this macro after ruby 2.1. + +Thu Aug 8 15:37:53 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/coverage/test_coverage.rb (TestCoverage#test_big_code): use `1' + instead of `p' to get rid of a side effect. + Kernel#p without any argument seems to do nothing, but flushes stdout. + and, if stdout is redirected to file, fsync() will be called on + Windows. so, when running test-all on Windows with redirection, such + as CI environment, this test took a lot of time. + +Thu Aug 8 14:54:18 2013 Shugo Maeda <shugo@ruby-lang.org> + + * NEWS: add description of incompatibility introduced by r42396. + [ruby-core:56329] [Bug #8722] + +Thu Aug 8 14:50:36 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * common.mk (mini): portable target to build miniruby + + * common.mk (bisect): run git-bisect with miniruby + + * common.mk (bisect-ruby): run git-bisect with ruby + + * tool/bisect.sh: script for git-bisect + +Thu Aug 8 12:11:43 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/webrick/test_httpresponse.rb (test_send_body_*_chunked): these + expectations assumes that the IOs are binmode. fixed test failures + introduced at r42427 on Windows. + +Thu Aug 8 10:27:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * range.c (range_last): revert r42400. [Bug #8739] + +Thu Aug 8 10:26:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_str_normalize_ospath): extract and move from dir.c. + +Thu Aug 8 05:59:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * test/openssl/test_ssl.rb: Fix test for CVE-2013-4073. + Patch by Antonio Terceiro. [Bug #8750] [ruby-core:56437] + +Thu Aug 8 03:37:38 2013 Eric Hodel <drbrain@segment7.net> + + * lib/webrick/httpresponse.rb: Allow #body to be an IO-like object + that responds to #readpartial and #read. + [ruby-trunk - Feature #8155] + * NEWS: NEWS for above + * test/webrick/test_httpresponse.rb: Tests for above. + +Wed Aug 7 23:06:26 2013 Akinori MUSHA <knu@iDaemons.org> + + * ruby.c (Process.argv0): New method to return the original value + of $0. [Feature #8696] + +Wed Aug 7 23:05:55 2013 Akinori MUSHA <knu@iDaemons.org> + + * ruby.c (Process.setproctitle): New method to change the title of + the running process that is shown in ps(1). [Feature #8696] + +Wed Aug 7 20:05:38 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_odd_p): Check the bignum length. + (rb_big_even_p): Ditto. + +Wed Aug 7 19:29:26 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (dbl2big): A condition simplified. + +Wed Aug 7 16:34:30 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/webrick/test_cgi.rb (TestWEBrickCGI#{start_cgi_server,test_cgi}): + mswin is not only mswin32 but also mswin64. [Bug #8746] + +Wed Aug 7 16:19:12 2013 Koichi Sasada <ko1@atdot.net> + + * cont.c (rb_fiber_start): use RARRAY_RAWPTR() instead of + RARRAY_PTR() because there is no new reference. + + * proc.c (curry): ditto. + + * proc.c (rb_proc_call): remove line break. + +Wed Aug 7 13:20:12 2013 Koichi Sasada <ko1@atdot.net> + + * random.c (random_load): use RARRAY_RAWPTR() instead of + RARRAY_PTR() because there is no new reference. + +Wed Aug 7 12:58:23 2013 Koichi Sasada <ko1@atdot.net> + + * thread.c (thread_start_func_2): use RARRAY_RAWPTR() instead of + RARRAY_PTR() because there is no new reference. + +Wed Aug 7 09:00:24 2013 Zachary Scott <e@zzak.io> + + * string.c: [DOC] Description of rb_str_equal [Fixes GH-375] + Based on a patch by @markijbema + https://github.com/ruby/ruby/pull/375 + +Wed Aug 7 08:30:38 2013 Zachary Scott <e@zzak.io> + + * ext/openssl/ossl_hmac.c: [DOC] Documentation for OpenSSL::HMAC + based on a patch by @repah documenting-ruby/ruby#14 + https://github.com/documenting-ruby/ruby/pull/14 + +Wed Aug 7 07:46:23 2013 Zachary Scott <e@zzak.io> + + * lib/rss/utils.rb: [DOC] RSS::Utils by Steve Klabnik [Bug #8745] + +Wed Aug 7 07:38:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (nlz16): Removed. + (nlz32): Ditto. + (nlz64): Ditto. + (nlz128): Ditto. + (nlz_int): New function. + (nlz_long): New function. + (nlz_long_long): New function. + (nlz_int128): New function. + (nlz): Follow above changes. + (bitsize): Follow above changes. + +Tue Aug 6 22:38:15 2013 Zachary Scott <e@zzak.io> + + * time.c: [DOC] Typo in Time overview by @sparr [Fixes GH-374] + https://github.com/ruby/ruby/pull/374 + +Tue Aug 6 22:35:32 2013 Zachary Scott <e@zzak.io> + + * lib/rss/1.0.rb: [DOC] Document RSS10 by Steve Klabnik [Bug #8740] + +Tue Aug 6 22:14:11 2013 Kouji Takao <kouji.takao@gmail.com> + + * ext/readline/readline.c (readline_s_delete_text): remove + checking "$SAFE == 4". + + * ext/readline/readline.c: fix rdoc, remove "Raises SecurityError" + and add "Raises NotImplementedError". + +Tue Aug 6 22:04:38 2013 Kouji Takao <kouji.takao@gmail.com> + + * ext/readline/readline.c, test/readline/test_readline.rb: fix + indent. + +Tue Aug 6 21:59:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * range.c (range_last): return nil for empty range, or in the case the + predecessor is smaller than the begin. [Bug #8739] + +Tue Aug 6 21:48:31 2013 Kouji Takao <kouji.takao@gmail.com> + + * ext/readline/readline.c (readline_s_set_point, Init_readline): + add Readline.point=(pos). Patched by naruse. [ruby-dev:47535] + [Feature #8675] + +Tue Aug 6 21:14:11 2013 Kouji Takao <kouji.takao@gmail.com> + + * ext/readline/readline.c (Init_readline, readline_s_set_output) + (clear_rl_outstream, readline_s_set_input, clear_rl_instream) + (readline_readline): fix causing SEGV if closed IO object that is + set Readline.input or Readline.output. Patched by akr + [ruby-dev:47509] [Bug #8644] + +Tue Aug 6 17:56:40 2013 Koichi Sasada <ko1@atdot.net> + + * vm_insnhelper.c (vm_push_frame): change type of stack_max to size_t. + +Tue Aug 6 17:42:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * range.c (range_last): exclude the last number of the exclusive range + if the end is Numeric. [ruby-dev:47587] [Bug #8739] + +Tue Aug 6 17:42:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_conv_from_wchar): converted string to CP_UTF8 + should have UTF-8 encoding. otherwise no conversion takes place + later. + +Tue Aug 6 17:21:38 2013 Koichi Sasada <ko1@atdot.net> + + * vm_insnhelper.c (vm_push_frame): fix stack overflow check codes. + Stack overflow check should be done *after* pushing a stack frame. + However, some stack overflow checking codes checked *before* + pushing a stack frame with iseq->stack_max. + To solve this problem, add a new parameter `stack_max' to specify + a possible consuming stack size. + + * vm_core.h (CHECK_VM_STACK_OVERFLOW0): add to share the stack overflow + checking code. + + * insns.def: catch up this change. + + * vm.c, vm_eval.c: ditto. + + * test/ruby/test_exception.rb: add a stack overflow test. + This code is reported by nobu. + +Tue Aug 6 17:02:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_conv_from_wchar): use WideCharToMultiByte(), + as like as mbstr_to_wstr(), in the first step of the conversion from + WCHAR. + +Tue Aug 6 16:14:32 2013 Shugo Maeda <shugo@ruby-lang.org> + + * vm_eval.c (eval_string_with_cref): copy cref to limit the scope of + refinements in the eval string. [ruby-core:56329] [Bug #8722] + + * test/ruby/test_refinement.rb: related test. + +Tue Aug 6 12:23:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_realloc): Use VALGRIND_MAKE_MEM_UNDEFINED to + declare undefined memory area. + (bignew_1): Ditto. + + * internal.h (VALGRIND_MAKE_MEM_DEFINED): Moved from gc.c + (VALGRIND_MAKE_MEM_UNDEFINED): Ditto. + +Tue Aug 6 01:40:37 2013 Zachary Scott <e@zzak.io> + + * process.c: [DOC] Document caveats of command form of Process.spawn + with regard to the shell and OS. Patched by Steve Klabnik [Bug #8550] + +Tue Aug 6 01:28:35 2013 Zachary Scott <e@zzak.io> + + * lib/rss/0.9.rb: [DOC] Typo in example [Bug #8732] + +Tue Aug 6 01:22:37 2013 Zachary Scott <e@zzak.io> + + * lib/rss/2.0.rb: [DOC] Document RSS::Rss by Steve Klabnik #8740 + * lib/rss/atom.rb: [DOC] Typo in rdoc by Steve Klabnik + +Mon Aug 5 23:47:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Rename local variables. + +Mon Aug 5 22:23:59 2013 Zachary Scott <e@zzak.io> + + * vm_trace.c: [DOC] Fix TracePoint return values in examples + Based on a patch by @sho-h [Fixes GH-373] + https://github.com/ruby/ruby/pull/373 + +Mon Aug 5 17:38:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_write_console): use MultiByteToWideChar() for + the last step of conversion to WCHAR, to get rid of warnings from + rb_enc_find() in miniruby. [ruby-dev:47584] [Bug #8733] + + * win32/win32.c (wstr_to_mbstr, mbstr_to_wstr): fix wrong trimming. + WideCharToMultiByte() and MultiByteToWideChar() do not count + NUL-terminator in the size for conversion result, unless the input + length is -1. + +Mon Aug 5 11:51:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * include/ruby/encoding.h: document which user flags are used by + ENCODING_MASK for better greppability + +Mon Aug 5 10:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * object.c (rb_class_inherited_p): allow iclasses to be tested for + inheritance. [Bug #8686] [ruby-core:56174] + + * test/ruby/test_method.rb: add test + +Mon Aug 5 06:13:48 2013 Zachary Scott <e@zzak.io> + + * enumerator.c: [DOC] Remove reference to Enumerator::Lazy#cycle + Patch by @kachick [Fixes GH-372] + https://github.com/ruby/ruby/pull/372 + +Mon Aug 5 03:57:16 2013 Zachary Scott <e@zzak.io> + + * lib/rss/0.9.rb: [DOC] Document RSS09 by Steve Klabnik [Bug #8732] + +Mon Aug 5 03:35:11 2013 Zachary Scott <e@zzak.io> + + * lib/rexml/attribute.rb: [DOC] Update example for #namespace + Patch by Ippei Obayashi [Bug #8685] [ruby-core:56173] + +Sun Aug 4 21:08:29 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_zip): performance implement by using + ALLOCA_N() to allocate tmp buffer. + +Sun Aug 4 07:14:49 2013 Tanaka Akira <akr@fsij.org> + + * README.EXT, README.EXT.ja: Mention rb_integer_pack and + rb_integer_unpack. + +Sun Aug 4 01:54:45 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BARY_TRUNC): New macro. + (bary_cmp): Use BARY_TRUNC. + (bary_mul_toom3): Ditto. + (bary_divmod): Ditto. + (abs2twocomp): Ditto. + (bigfixize): Ditto. + (rb_cstr_to_inum): Ditto. + (big2str_karatsuba): Ditto. + (bigdivrem): Ditto. + +Sun Aug 4 00:57:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_karatsuba): Don't allocate new temporary buffer + if the buffer is enough for current invocation. + +Sun Aug 4 00:22:34 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary2bdigitdbl): New function. + (bdigitdbl2bary): Ditto. + (bary_mul_single): Use bdigitdbl2bary. + (power_cache_get_power): Ditto. + (bary_divmod): Use bary2bdigitdbl. + (big2str_orig): Ditto. + (bigdivrem): Ditto. + +Sat Aug 3 22:47:11 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: The branch condition of selecting multiplication + algorithms should check smaller argument because Karatsuba and Toom3 + is effective only if both arguments are big. + (bary_mul_toom3_branch): Compare the smaller argument to + TOOM3_MUL_DIGITS. + (bary_mul): Compare the smaller argument to KARATSUBA_MUL_DIGITS. + +Sat Aug 3 22:23:31 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_orig): Receive the number to stringize as + BDIGIT array and size. + (big2str_karatsuba): Receive the number to stringize as BDIGIT array + and size. Use an temporary array of BDIGIT. + (rb_big2str1): Follow the above change. + +Sat Aug 3 13:30:04 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (MAX_BASE36_POWER_TABLE_ENTRIES): Renamed from + MAX_BIG2STR_TABLE_ENTRIES. + (base36_power_cache): Renamed from big2str_power_cache. + (base36_numdigits_cache): Renamed from big2str_numdigits_cache. + +Sat Aug 3 10:33:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_set_integer_literal): use rb_rational_raw1() for + integral rational because no reduction is needed with 1. + +Sat Aug 3 09:46:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/etc/etc.c (setup_passwd, setup_group): set proper encodings to + string members. + +Sat Aug 3 09:30:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * struct.c (rb_struct_define_under): new function to define Struct + under the given namespace, not under Struct. [Feature #8264] + + * ext/etc/etc.c: use rb_struct_define_under. + +Sat Aug 3 06:55:29 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * parse.y (value_expr_gen): now NODE_DEFN and NODE_DEFS are not void + value expressions. get rid of wrong warning with -w, and make to + pass tests with chkbuild. ref. [Feature #3753] + +Sat Aug 3 04:23:48 2013 Eric Hodel <drbrain@segment7.net> + + * doc/syntax/refinements.rdoc: Remove mention of instance_eval and + module_eval from scope section per: + http://twitter.com/shugomaeda/status/363219951336693761 + +Sat Aug 3 02:22:05 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_orig): Refactored. + +Sat Aug 3 01:20:19 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigadd_core): Removed. + (bigadd): Use bary_add instead of bigadd_core. + +Sat Aug 3 00:52:43 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2str1): Simplify power_level calculation. + +Sat Aug 3 00:34:20 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_zip): use rb_ary_new2() to create buffer + if rb_block_arity() > 1. + +Sat Aug 3 00:12:00 2013 Masaki Matsushita <glass.saga@gmail.com> + + * NEWS: Add the description that IO#seek supports SEEK_DATA + and SEEK_HOLE. + +Fri Aug 2 23:57:57 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * vm.c (m_core_define_method, m_core_define_singleton_method): now + the value of def-expr is the Symbol of the name of the method, not + nil. + ref. [ruby-dev:42151] [Feature #3753] + + * test/ruby/test_syntax.rb (TestSyntax#test_value_of_def): test for + above changes. + +Fri Aug 2 23:54:11 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_zip): performance improvement by avoiding + array creation if rb_block_arity() > 1. + +Fri Aug 2 23:50:53 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (power_cache_get_power): Apply bigtrunc to the result of + bigsq. + (big2str_karatsuba): Fix number of leading zero characters. + +Fri Aug 2 23:48:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_yylex): calculate denominator directly as powers of + ten, not parsing string. + + * parse.y (parser_number_literal_suffix): return bit set of found + suffixes. + + * parse.y (parser_set_number_literal, parser_set_integer_literal): + split from parser_number_literal_suffix to set yylval. + + * parse.y (parser_yylex): parse rational number literal with decimal + point precisely. + + * parse.y (simple_numeric): integrate numeric literals and simplify + numeric rules. + + * ext/ripper/eventids2.c (ripper_init_eventids2): ripper support for + new literals, tRATIONAL and tIMAGINARY. + +Fri Aug 2 18:33:28 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_karatsuba): Reduce power_level more than one at + recursion, if possible. + (rb_big2str1): Follow the above change. + +Fri Aug 2 12:25:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul): Swap x and y for bary_mul1 if x is longer than y. + [ruby-dev:47565] [Bug #8719] Reported by Narihiro Nakamura. + +Fri Aug 2 10:39:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * parse.y (negate_lit): add T_RATIONAL and T_COMPLEX to the switch + statement, and call rb_bug() if an unknown type is passed to + negate_lit(). [ruby-core:56316] [Bug #8717] + + * bootstraptest/test_literal_suffix.rb (assert_equal): add test + +Fri Aug 2 09:14:47 2013 Eric Hodel <drbrain@segment7.net> + + * doc/syntax/refinements.rdoc: Improve description of where you may + activate refinements. + +Fri Aug 2 07:45:55 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_orig): Remove len argument. + (big2str_karatsuba): Ditto. + (rb_big2str1): Follow above change. + +Thu Aug 2 02:32:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * NEWS: Add the description of number literal suffixes. + +Thu Aug 2 00:02:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * bootstraptest/test_literal_suffix.rb: add two test cases to + examine that "1if true" and "1rescue nil" are recognized as 1. + +Thu Aug 1 23:45:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * rational.c (rb_flt_rationalize_with_prec): new public C function + to rationalize a Float instance with a precision. + + * rational.c (rb_flt_rationalize): new public C function to + rationalize a Float instance. A precision is calculated from + the given float number. + + * include/ruby/intern.h: Add rb_flt_rationalize_with_prec and + rb_flt_rationalize. + + * parse.y: implement number literal suffixes, 'r' and 'i'. + [ruby-core:55096] [Feature #8430] + + * bootstraptest/test_literal_suffix.rb: add tests for parser to scan + number literals with the above tsuffixes. + +Thu Aug 1 23:55:08 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2str1): Remove a local variable. + +Thu Aug 1 23:33:01 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_cstr_to_inum): Use power_cache_get_power. + +Thu Aug 1 21:02:48 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2str1): Raise an error for too big number. + +Thu Aug 1 20:46:29 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (power_cache_get_power): Hide cached Bignum objects. + +Thu Aug 1 19:15:05 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2str1): Remove non-trim mode. + (rb_big2str0): Non-trim mode implemented here. + (big2str_find_n1): Change the result type to long again. + (big2str_base_powerof2): Don't take arguments: len and trim. + (rb_big2str): Follow above change. + +Thu Aug 1 12:37:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_alloc): New function to allocate the result string. + It is called after actual length is calculated. + (big2str_struct): Add fields: negative, result and ptr. + (big2str_orig): Write out the result via b2s->ptr. + (big2str_orig): Ditto. + (rb_big2str1): Don't allocate the result string at beginning. + +Thu Aug 1 07:36:27 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_orig): Use temporary buffer when trim mode. + +Thu Aug 1 06:28:48 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_orig): Simplified because RBIGNUM_LEN(x) <= 2 now. + (big2str_struct): Two fields added: hbase2, hbase2_numdigits. + (rb_big2str1): Initialize above fields. + +Thu Aug 1 04:06:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rdoc/options.rb (RDoc#finish): include root path in include + paths, to work in another directory than the source directory. + [ruby-core:56282] [Bug #8712] + + * test/test_rdoc_markup_pre_process.rb (TestRDocMarkupPreProcess#setup): + fix input_file_name, as the test script is not pre-processed. + +Thu Aug 1 01:45:18 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_karatsuba): Fix a condition of power_level. + +Thu Aug 1 01:09:02 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (LOG2_KARATSUBA_BIG2STR_DIGITS): Removed. + (KARATSUBA_BIG2STR_DIGITS): Removed. + (big2str_numdigits_cache): New variable. + (power_cache_get_power): Merged with power_cache_get_power0. + This function returns maxpow_in_bdigit_dbl(base)**(2**power_level). + (rb_big2str1): use power_cache_get_power. + +Wed Jul 31 23:59:28 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_find_n1): Change the return type to size_t. + (big2str_orig): Ditto. + (big2str_karatsuba): Ditto. + (rb_big2str1): Follow the above changes. + +Wed Jul 31 23:19:06 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (power_cache_get_power): Change numdigits_ret to size_t *. + (big2str_orig): Change len argument to size_t. + (big2str_karatsuba): Ditto. + (rb_big2str1): Follow the above changes. + +Wed Jul 31 22:59:47 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/parse/test_notation_declaration.rb: Change class + name to follow file name change. + +Wed Jul 31 22:57:50 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Rename to ... + * test/rexml/parse/test_notation_declaration.rb: ... this. + +Wed Jul 31 22:54:39 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_mixin.rb: Remove duplicated tests. + +Wed Jul 31 22:52:55 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Fix typos in expected + value. + pubilc -> + public + ^^ + +Wed Jul 31 22:50:51 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Add tests that focus + system literal in external ID system notation declaration. + +Wed Jul 31 22:36:21 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_cmp): Extracted from rb_big_cmp. + (power_cache_get_power): Change n1 argument (number of digits) to + power_level which is just passed to power_cache_get_power0. + (big2str_karatsuba): Ditto. + (rb_big2str1): Calculate the initial power_level. + +Wed Jul 31 22:04:36 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Fix a typo. + Extern ID -> + ExternalID + ^^ + +Wed Jul 31 22:01:36 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Add tests that focus + public ID in external ID notation declaration. + +Wed Jul 31 22:01:24 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * parse.y: fix build error with bison-3.0. + +Wed Jul 31 21:58:53 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Split test patterns. + +Wed Jul 31 21:42:33 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Group tests. + +Wed Jul 31 21:37:51 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_mixin.rb (TestNotationDecl#test_name): + Move to ... + * test/rexml/test_notationdecl_parsetest.rb + (TestNotationDecl#test_name): ... here. + +Wed Jul 31 21:37:47 2013 Kouhei Sutou <kou@cozmixng.org> + +Wed Jul 31 21:31:49 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: Remove setup because it + doesn't share anything with other tests. + +Wed Jul 31 21:24:55 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_attributes_mixin.rb: Remove a needless shebang. + * test/rexml/test_notationdecl_mixin.rb: ditto. + * test/rexml/test_doctype.rb: ditto. + * test/rexml/test_xml_declaration.rb: ditto. + * test/rexml/test_changing_encoding.rb: ditto. + +Wed Jul 31 21:20:08 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_notationdecl_parsetest.rb: remove a needless shebang. + +Wed Jul 31 20:11:01 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_rindex): fix bug introduced in r42269. + "".rindex("") should return 0. + (str_rindex): ditto. + +Wed Jul 31 19:55:33 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (MAX_BIG2STR_TABLE_ENTRIES): Use SIZEOF_SIZE_T. + (power_cache_get_power0): Add rb_bug call for too bit i argument. + (power_cache_get_power): Simplified. + +Wed Jul 31 18:32:25 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/uri/common.rb (URI.decode_www_form_component): Use String#b. + +Wed Jul 31 18:24:02 2013 Shugo Maeda <shugo@ruby-lang.org> + + * eval.c (rb_mod_refine, mod_using, top_using): don't show + warnings because Refinements are no longer experimental. + [ruby-core:55993] [Feature #8632] + + * test/ruby/test_refinement.rb: related test. + + * NEWS: fixes for the above change. + +Wed Jul 31 17:55:55 2013 Shota Fukumori <her@sorah.jp> + + * lib/uri/common.rb (URI.decode_www_form_component): + Don't raise error when str includes multibyte characters. + +Wed Jul 31 17:45:39 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_rindex): performance improvement by using + memrchr(3). + +Wed Jul 31 16:43:30 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_rindex): refactoring and avoid to call str_nth() if + pos == 0. + +Wed Jul 31 14:41:36 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb: [DOC] Add a couple of notes on Hash as storage. + ref. [Feature #6589] + +Wed Jul 31 14:38:52 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb: [DOC] Fix example result. Hash is now ordered. + +Wed Jul 31 14:38:10 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb: [DOC] Use the term "sorted" instead of "ordered" + when mentioning SortSet. + +Wed Jul 31 12:18:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_struct): New structure. + (big2str_orig): Use big2str_struct. + (big2str_karatsuba): Ditto. + (rb_big2str1): Ditto. + +Wed Jul 31 12:02:16 2013 Zachary Scott <e@zzak.io> + + * lib/rubygems.rb: [DOC] typo in url patch by @Red54 [Fixes #369] + https://github.com/ruby/ruby/pull/369 + +Wed Jul 31 07:09:07 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Import RubyGems from master as of commit 523551c + * test/rubygems: ditto. + +Tue Jul 30 22:21:54 2013 Masaki Matsushita <glass.saga@gmail.com> + + * test/ruby/test_hash.rb: add a test for enumeration order of Hash. + +Tue Jul 30 18:52:27 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb (Set#intersect?, Set#disjoint?): Add new methods for + testing if two sets have any element in common. + [ruby-core:45641] [Feature #6588] Based on the code by marcandre. + +Tue Jul 30 17:16:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * sprintf.c (ruby__sfvextra): add QUOTE flag to escape unprintable + characters. + +Tue Jul 30 11:00:52 2013 Zachary Scott <e@zzak.io> + + * ext/curses/extconf.rb: [DOC] nodoc to reduce Object pollution + +Tue Jul 30 08:19:42 2013 Tanaka Akira <akr@fsij.org> + + * sizes.c (Init_sizes): Define sizes only if the type actually exists. + +Mon Jul 29 22:55:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * sizes.c (Init_sizes): define RbConfig::SIZEOF. [Feature #8568] + +Mon Jul 29 22:25:20 2013 Zachary Scott <e@zzak.io> + + * ext/curses/curses.c: [DOC] Update location of samples + * samples/curses/*: Move Curses samples and refactor from mixin + The samples are included in rdoc for module and use of mixin is + confusing + +Mon Jul 29 22:16:11 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (LOG2_KARATSUBA_BIG2STR_DIGITS): Renamed from + LOG2_KARATSUBA_DIGITS. + (KARATSUBA_BIG2STR_DIGITS): Renamed from KARATSUBA_DIGITS. + +Mon Jul 29 22:04:45 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_compare_by_id): add function prototype. + +Mon Jul 29 21:53:41 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_compare_by_id): don't call rb_hash_rehash() + if self.compare_by_identity? == true. + +Mon Jul 29 21:29:48 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_assoc): performance improvement by replacing + compare function in RHASH(hash)->ntbl->type temporarily like r42224. + it falls back to rb_hash_foreach() if st_lookup() doesn't find the key. + + * test/ruby/test_hash.rb: add a test for above. + +Mon Jul 29 21:15:30 2013 Akinori MUSHA <knu@iDaemons.org> + + * test/ruby/test_lazy_enumerator.rb + (TestLazyEnumerator#test_initialize): Make sure + Enumerator::Lazy#initialize raises error if the object is + frozen. The check was performed by rb_ivar_set() before + rb_check_frozen() was added to enumerator_init(). + +Mon Jul 29 21:06:42 2013 Akinori MUSHA <knu@iDaemons.org> + + * enumerator.c (enumerator_init): Add a frozenness check to + prevent a frozen Enumerator object from being reinitialized with + a different enumerable object. This is the least we should do, + and more fixes will follow. [Fixes GH-368] Patch by Kenichi + Kamiya. + + * enumerator.c (generator_init): Ditto. + +Mon Jul 29 20:14:24 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_assoc): revert r42224. table->type->compare is + called only if hashes are matched. + + * test/ruby/test_hash.rb: add a test to check using #== to compare. + +Mon Jul 29 17:00:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (yycompile): store file name as String to keep the encoding. + + * parse.y (rb_parser_compile_string_path, rb_parser_compile_file_path): + new functions to pass file name as a String. + + * parse.y (gettable_gen): return a copy of the original file name, not + a copy in filesystem encoding. + + * vm_eval.c (eval_string_with_cref): use Qundef instead of "(eval)". + +Mon Jul 29 16:53:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_initialize_copy): copy st_table type even if empty. + [ruby-core:56256] [Bug #8703] + +Mon Jul 29 16:34:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_initialize_copy): clear old table before copy new + table. + +Mon Jul 29 16:34:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (rb_hash_assoc): aggregate object can be initialized only + with link time constants. + +Mon Jul 29 14:54:44 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_assoc): performance improvement by replacing + compare function in RHASH(hash)->ntbl->type temporarily. + +Mon Jul 29 14:52:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (xsystem): expand environment variable in all macros not + expanded with RbConfig. [Bug #8702] + + * test/mkmf/test_framework.rb (create_framework): replace all $@ not + only once. + +Mon Jul 29 06:54:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_pipe): use enum for compile time constants, + instead of const int for debugging. + +Mon Jul 29 00:11:49 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Specialized implementation added for + nx == 2 && ny == 2 + +Sun Jul 28 20:28:41 2013 Masaki Matsushita <glass.saga@gmail.com> + + * io.c (io_getpartial): use rb_str_locktmp_ensure(). + [ruby-core:56121] [Bug #8669] + + * io.c (rb_io_sysread): ditto. + + * test/ruby/test_io.rb: add tests for above. + +Sun Jul 28 20:10:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/extmk.rb (extmake): should make static libraries for extensions + to be statically linked. [Bug #7948] + +Sun Jul 28 17:38:32 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c: add internal API rb_str_locktmp_ensure(). + + * io.c (io_fread): use rb_str_locktmp_ensure(). + [ruby-core:56121] [Bug #8669] + + * test/ruby/test_io.rb: add a test for above. + +Sun Jul 28 13:04:39 2013 Masaki Matsushita <glass.saga@gmail.com> + + * io.c (interpret_seek_whence): support SEEK_DATA and SEEK_HOLE. + These are whences for lseek(2) supported by Linux since version 3.1. + [ruby-core:56123] [Feature #8671] + + * test/ruby/test_io.rb: Add tests for above. + +Sun Jul 28 12:41:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (absint_numwords_generic): The char_bit variable changed + to static constant. + +Sun Jul 28 12:03:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Constify bary_* functions. + +Sun Jul 28 11:12:07 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/intern.h (rb_absint_size): Declaration moved from + internal.h to calculate required buffer size to pack integers. + (rb_absint_numwords): Ditto. + (rb_absint_singlebit_p): Ditto. + [ruby-core:42813] [Feature #6065] + +Sun Jul 28 10:54:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_pipe): fix pipe name formatting. as "%x" may + not contain '0' at all, fill at fixed position instead. + +Sun Jul 28 00:35:14 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_size): Return the bignum "bytewise" size. + [ruby-core:55578] [Feature #8553] + This is accepted by matz on DevelopersMeeting20130727Japan. + +Sun Jul 28 00:07:48 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/intern.h (rb_integer_pack): Declaration moved from + internal.h. + (rb_integer_unpack): Ditto. + [ruby-core:42813] [Feature #6065] + +Fri Jul 26 23:18:13 2013 Kouhei Sutou <kou@cozmixng.org> + + * NEWS: Add a new feature that REXML::Parsers::StreamParser + supports "entity" event. + +Fri Jul 26 23:14:31 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/parsers/streamparser.rb + (REXML::Parsers::StreamParser#parse): Add "entity" event support to + listener. [Bug #8689] [ruby-dev:47542] + Reported by Ippei Obayashi. + * test/rexml/test_stream.rb (StreamTester#entity): Add a test for + the above case. + +Fri Jul 26 23:05:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_yylex): separate numeric literal from succeeding + token, and treat 'e' as floating point number only if followed by + exponent part. + +Fri Jul 26 22:14:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_exec.h (CHECK_VM_STACK_OVERFLOW_FOR_INSN): surround with + do/while (0), and remove unnecessary casts. + +Fri Jul 26 20:12:07 2013 Akinori MUSHA <knu@iDaemons.org> + + * ext/syslog/lib/syslog/logger.rb (Syslog::Logger): Add facility + to Syslog::Logger. [Fixes GH-305] patch by Max Shytikov + https://github.com/ruby/ruby/pull/305 + +Fri Jul 26 19:25:17 2013 Koichi Sasada <ko1@atdot.net> + + * vm_exec.h, tool/instruction.rb: not an error, but a BUG if stack + overflow checking failed just before/after the beginning of an + instruction. It should be treated as a BUG. + Please tell us if your code cause BUG with this problem. + This check will removed soon (for performance). + +Fri Jul 26 18:30:14 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_memcpy): cast to int to suppress a warning. + +Fri Jul 26 18:21:58 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_memcpy): try to enable optimization. + At least on my environments, I don't see any errors + with many trials. Please tell us if you find any GC bugs. + +Fri Jul 26 17:49:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/file.c (fix_string_encoding): fix target encoding. the + parameter `encoding' is not the target encoding but the original + encoding. + +Fri Jul 26 14:05:19 2013 Zachary Scott <e@zzak.io> + + * ext/fiddle/*: [DOC] More doc on dlopen and RTLD_DEFAULT from r42184 + +Fri Jul 26 13:08:53 2013 Zachary Scott <e@zzak.io> + + * ext/fiddle/lib/fiddle.rb: [DOC] Document Fiddle.dlopen(nil) + * ext/fiddle/handle.c: [DOC] Document Fiddle::Handle.new(nil) + +Fri Jul 26 13:04:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (rb_load_internal): use rb_load_file_str() to keep path + encoding. + + * load.c (rb_require_safe): search in OS path encoding for Windows. + + * ruby.c (rb_load_file_str): load file with keeping path encoding. + + * win32/file.c (rb_file_load_ok): use WCHAR type API assuming incoming + path is encoded in UTF-8. [ruby-core:56136] [Bug #8676] + + * file.c (rb_str_encode_ospath): simplify using rb_str_conv_enc(). + + * win32/file.c (fix_string_encoding): simplify with rb_str_conv_enc(). + + * win32/file.c (convert_mb_to_wchar): use bare pointer instead of + VALUE, and remove useless argument. + +Fri Jul 26 11:42:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * rational.c (f_round_common): Rational is expected to be returned by + Rational#*, but mathn.rb breaks that assumption. [ruby-core:56177] + [Bug #8687] + +Fri Jul 26 01:37:45 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * include/ruby/ruby.h: check defined(USE_RGENGC_LOGGING_WB_UNPROTECT) + +Fri Jul 26 01:21:41 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * file.c (rb_file_expand_path_internal): fix r42160; skip '~'. + +Thu Jul 25 17:53:18 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/net/http.rb (Net::HTTP#connect): disable Nagle's algorithm on + HTTP connection. [ruby-core:56158] [Feature #8681] + +Thu Jul 25 17:49:42 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * re.c (rb_reg_to_s): convert closing parenthesis to the target encoding + if it is ASCII incompatible encoding. [ruby-core:56063] [Bug #8650] + +Thu Jul 25 17:21:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * encoding.c (is_obj_encoding): new macro to check if obj is an + Encoding. obj can be any type while is_data_encoding expects T_DATA + only. + +Thu Jul 25 17:17:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_file_expand_path_internal): should clear coderange after + copying user name as binary data. + +Thu Jul 25 16:17:55 2013 Koichi Sasada <ko1@atdot.net> + + * encoding.c (check_encoding): Check T_DATA or not. + is_data_encoding(obj) assumes that `obj' is T_DATA. + +Thu Jul 25 13:06:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (dir_s_home): use rb_home_dir_of and rb_default_home_dir. + + * file.c (rb_home_dir_of): split from rb_home_dir() for the home + directry of the given user, and the user name is a VALUE, not a bare + pointer. should raise if the user does not exist. + + * file.c (rb_default_home_dir): split from rb_home_dir() for the home + directry of the current user. + +Thu Jul 25 12:32:11 2013 Koichi Sasada <ko1@atdot.net> + + * ext/openssl/ossl.c: support additional three thread synchronization + functions. [ruby-trunk - Bug #8386] + +Thu Jul 25 07:15:58 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Import RubyGems from master as of commit 4ff70cc + * test/rubygems: ditto. + +Wed Jul 24 20:57:44 2013 Koichi Sasada <ko1@atdot.net> + + * compile.c (iseq_set_arguments): use RARRAY_RAWPTR() instead of + RARRAY_PTR() because there is no new reference. + + * compile.c (iseq_set_exception_table): ditto. + +Wed Jul 24 19:49:54 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/uri/generic.rb (find_proxy): raise BadURIError if the URI is + a relative URI. [Bug #8645] + +Wed Jul 24 18:56:06 2013 Koichi Sasada <ko1@atdot.net> + + * vm_insnhelper.c (vm_expandarray): use RARRAY_RAWPTR() instead of + RARRAY_PTR() because there is no new reference. + + * vm_insnhelper.c (vm_caller_setup_args): ditto. + + * vm_insnhelper.c (vm_yield_setup_block_args): ditto. + +Wed Jul 24 18:40:11 2013 Koichi Sasada <ko1@atdot.net> + + * array.c, gc.c: move ary_unprotect_logging() into + rb_gc_unprotect_logging() which is general version + + * include/ruby/ruby.h: add USE_RGENGC_LOGGING_WB_UNPROTECT + to enable. + +Wed Jul 24 17:37:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_file_expand_path_internal): preserve the file name + encoding in an exception message. + +Wed Jul 24 08:04:49 2013 Koichi Sasada <ko1@atdot.net> + + * test/-ext-/tracepoint/test_tracepoint.rb: add GC on/off to count + GC events strictly. + +Tue Jul 23 23:19:24 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/openssl/extconf.rb (CRYPTO_THREADID): check exist or not. + + * ext/openssl/ossl.c (ossl_thread_id): use rb_nativethread_self() + implemented at r42137 to allow threads which doesn't associated with + Ruby thread to use openssl functions. + + * ext/openssl/ossl.c (Init_ossl_locks): If CRYPTO_THREADID is defined + (OpenSSL 1.0.0 or later has it) use CRYPTO_THREADID_set_callback() + instead of CRYPTO_set_id_callback() because its argument is + unsigned long; it may cause id collision on mswin64 + whose sizeof(unsigned long) < sizeof(void*). + http://www.openssl.org/docs/crypto/threads.html + + * ext/openssl/ossl.c (ossl_threadid_func): defined for above. + +Tue Jul 23 20:47:36 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Move functions. + +Tue Jul 23 20:14:55 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_divmod): Add special cases for x < y easily detected + and nx == 2 && ny == 2. + +Tue Jul 23 19:48:38 2013 Koichi Sasada <ko1@atdot.net> + + * thread_(pthread|win32).h: rename rb_thread_cond_t to + rb_nativethread_cond_t. + + * thread.c, thread_pthread.c, thread_win32.c, vm_core.h: catch up + renaming. + +Tue Jul 23 19:44:32 2013 Koichi Sasada <ko1@atdot.net> + + * thread_native.h: add rb_nativethread_self() which returns + current running native thread identifier. + + * thread_[pthread|win32].c: implement rb_nativethread_self(). + +Tue Jul 23 19:34:11 2013 Koichi Sasada <ko1@atdot.net> + + * thread_pthread.h, thread_win32.h: rename rb_thread_id_t to + rb_nativethread_id_t. + + * thread_pthread.c, vm_core.h: use rb_nativethread_id_t. + +Tue Jul 23 18:56:11 2013 Koichi Sasada <ko1@atdot.net> + + * ext/openssl/ossl.c: use system native (system provided) + thread locking APIs added by last commit. + This patch fixes [Bug #8386]. + "rb_mutex_*" APIs control only "Ruby" threads. + Not for native threads. + +Tue Jul 23 18:44:15 2013 Koichi Sasada <ko1@atdot.net> + + * thread_native.h: added. + Move native thread related lines from vm_core.h. + And declare several functions "rb_nativethread_lock_*", + manipulate locking. + + * common.mk: add thread_native.h. + + * thread.c: add functions "rb_nativethread_lock_*". + + * thread.c, thread_[pthread,win32].[ch]: rename rb_thread_lock_t + to rb_nativethread_lock_t to make it clear that this lock is for + native threads, not for ruby threads. + +Tue Jul 23 16:14:57 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_before_sweep): fix spacing. + +Tue Jul 23 15:57:11 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (heap_get_freeobj): clear slot->freelist here. + This means that this slot doesn't have any free objects. + And store this slot with objspace->heap.using_slot. + + * gc.c (gc_before_sweep): restore objspace->freelist + into objspace->heap.using_slot->freelist. + This means that using_slot has free objects which are + pointed from objspace->freelist. + + * gc.c (gc_slot_sweep): do not need to clear slot->freelist. + +Tue Jul 23 09:34:49 2013 Zachary Scott <e@zzak.io> + + * sample/drb/README*.rdoc: [DOC] migrate DRb sample READMEs to rdoc + +Tue Jul 23 09:28:05 2013 Zachary Scott <e@zzak.io> + + * lib/drb/invokemethod.rb: [DOC] nodoc InvokeMethod18Mixin + +Tue Jul 23 08:44:37 2013 Eric Hodel <drbrain@segment7.net> + + * ext/openssl/ossl_asn1.c (asn1time_to_time): Implement YYMMDDhhmmZ + format for ASN.1 UTCTime. [ruby-trunk - Bug #8664] + * test/openssl/test_asn1.rb: Test for the above. + +Tue Jul 23 08:11:32 2013 Zachary Scott <e@zzak.io> + + * lib/rexml/streamlistener.rb: [DOC] Fix examples in + REXML::StreamListener#entitydecl patch by Ippei Obayashi [Bug #8665] + +Tue Jul 23 07:44:59 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Import RubyGems from master as of commit b165260 + * test/rubygems: ditto. + +Tue Jul 23 07:14:31 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mulsub_1xN): New function. + (bary_mul_toom3): Use bary_mulsub_1xN. + +Tue Jul 23 03:32:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (KARATSUBA_BALANCED): New macro. + (TOOM3_BALANCED): Ditto. + (bary_mul_balance_with_mulfunc): Use KARATSUBA_BALANCED and + TOOM3_BALANCED. + (rb_big_mul_balance): Relax a condition. + (rb_big_mul_karatsuba): Use KARATSUBA_BALANCED. + (rb_big_mul_toom3): Use TOOM3_BALANCED. + (bary_mul_karatsuba_branch): Use KARATSUBA_BALANCED. + (bary_mul_toom3_branch): Use TOOM3_BALANCED. + +Tue Jul 23 01:34:45 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem_mulsub): Extracted from bigdivrem1. + (bigdivrem1): Use bary_add. + +Mon Jul 22 18:39:52 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_enumerate_chars): specify array capa + with str_strlen(). + + * string.c (rb_str_enumerate_codepoints): ditto. + +Mon Jul 22 18:01:33 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_enumerate_chars): specify array capa. + +Mon Jul 22 17:24:14 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_each_char_size): performance improvement by + using rb_str_length(). + +Mon Jul 22 16:32:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (eval_string_with_cref): check by Check_TypedStruct + instead of rb_obj_is_kind_of. + +Mon Jul 22 13:19:22 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_resize_capa): use RARRAY_RAWPTR() because + this code creates no new references. + +Mon Jul 22 12:58:18 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_memfill): added. + + * array.c (rb_ary_initialize): use ary_memfill(). + + * array.c (rb_ary_fill): ditto. + + * array.c (rb_ary_slice_bang): use RARRAY_RAWPTR() because + this code creates no new references. + +Mon Jul 22 10:09:46 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_slot_sweep): need to add empty RVALUE as freeobj. + +Mon Jul 22 09:48:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (eval_string_with_cref): use the given file name unless + eval even if scope is given. additional fix for [Bug #8436]. + based on the patch by srawlins at [ruby-core:56099] [Bug #8662]. + +Mon Jul 22 09:24:19 2013 Kouji Takao <kouji@takao7.net> + + * ext/readline/readline.c (Init_readline): added + Readline.delete_text. [ruby-dev:45789] [Feature #6626] + * ext/readline/extconf.rb: check for rl_delete_text() in Readline library. + + Thanks, Nobuyoshi Nakada, for the patch. + +Mon Jul 22 03:15:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/date/date_parse.c (rfc2822_cb): check if wday is given, since it + can be omitted. + +Mon Jul 22 00:15:20 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_sq_fast): Refine expressions. + +Sun Jul 21 21:08:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul): Use simple multiplication if yl is small. + (rb_cstr_to_inum): Invoke bigsq instead of bigmul0. + (bigsq): Re-implemented. + (bigmul0): Invoke bigsq if two arguments are identical. + +Sun Jul 21 09:58:19 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_toom3): New function based on bigmul1_toom3. + (bary_mul_toom3_branch): Call bary_mul_toom3. + (rb_big_mul_toom3): Ditto. + (bigmul1_toom3): Removed. + (big_real_len): Ditto. + (big_split): Ditto. + (big_split3): Ditto. + +Sun Jul 21 08:12:16 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * proc.c (proc_to_s): use PRIsVALUE to preserve the result encoding. + +Sun Jul 21 03:36:18 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * hash.c (rb_hash_flatten): use NUM2INT to raise TypeError on 32bit + platform. it's introduced by r42039 + +Sun Jul 21 01:07:45 2013 Benoit Daloze <eregontp@gmail.com> + + * common.mk (help): Fix environment variable name and argument. + Actually it can also be a directory or any argument for + test/unit runner. [Fixes GH-363] + +Sat Jul 20 22:44:50 2013 Zachary Scott <e@zzak.io> + + * common.mk: Document running a single test [Fixes GH-363] + Patch by Avdi Grimm https://github.com/ruby/ruby/pull/363 + +Sat Jul 20 22:39:56 2013 Zachary Scott <e@zzak.io> + + * sample/*: whitespace patch by Sergio Campama [Fixes GH-364] + https://github.com/ruby/ruby/pull/364 + +Sat Jul 20 22:33:13 2013 Zachary Scott <e@zzak.io> + + * doc/regexp.rdoc: [DOC] Fix typo in example [Fixes GH-365] + Patch by Juanito Fatas https://github.com/ruby/ruby/pull/365 + +Sat Jul 20 17:46:03 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (rb_str_succ): add missing case NEIGHBOR_WRAPPED. + r42078 caused buggy behavior like "\xFF".b -> "\x01\xFF".b + +Sat Jul 20 15:22:38 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (rb_ary_resize): use simple memcpy because there are no new + references. + +Sat Jul 20 15:02:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * safe.c (ruby_safe_level_4_warning): define for old extension + libraries. [Bug #8652] + +Sat Jul 20 14:38:00 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_make_shared): make shared array shady. + Making non-shady shared array causes SEGV (see rubyci). + It seems a bug around shared array. + +Sat Jul 20 12:14:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (enc_succ_char, enc_pred_char): consider wchar case. + [ruby-core:56071] [Bug #8653] + + * string.c (rb_str_succ): do not replace with invalid char. + + * encoding.c (rb_enc_code_to_mbclen): add new function which returns + mbclen from codepoint like as rb_enc_codelen() but 0 for invalid + char. + + * include/ruby/encoding.h (rb_enc_code_to_mbclen): declaration and + shortcut macro. + +Fri Jul 19 21:59:12 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: declare type_name() at the beginning of file. + +Fri Jul 19 21:35:09 2013 Koichi Sasada <ko1@atdot.net> + + * array.c: reduce shady operations. + + * array.c (rb_ary_modify, ary_make_partial, rb_ary_splice, + rb_ary_replace, rb_ary_eql, rb_ary_compact_bang): + use RARRAY_RAWPTR() instead of RARRAY_PTR(). + + * array.c (rb_ary_shift): use RARRAY_PTR_USE() without WB because + there are not new relations. + + * array.c (ary_ensure_room_for_unshift): ditto. + + * array.c (rb_ary_sort_bang): ditto. + + * array.c (rb_ary_delete_at): ditto. + + * array.c (rb_ary_reverse_m): use RARRAY_RAWPTR() because + there are not new relations. + +Fri Jul 19 20:58:20 2013 Koichi Sasada <ko1@atdot.net> + + * array.c: reduce shade operations. + + * array.c (rb_ary_modify): use RARRAY_RAWPTR(). + + * array.c (ary_make_substitution, rb_ary_s_create, ary_make_partial, + rb_ary_splice, rb_ary_resize, rb_ary_rotate_m, rb_ary_times): + use ary_memcpy(). + +Fri Jul 19 19:55:28 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_mem_clear): added. This operation doesn't need WB + because this operation creates a reference to Qnil. + + * array.c (ary_make_shared, rb_ary_store, rb_ary_shift_m, + rb_ary_splice, rb_ary_resize, rb_ary_fill): use ary_mem_clear() + instead of rb_mem_clear(). + + * array.c (ary_make_shared): use RARRAY_RAWPTR() instead of RARRAY_PTR(). + +Fri Jul 19 19:18:51 2013 Koichi Sasada <ko1@atdot.net> + + * array.c: fix commit miss. + RGENGC_UNPROTECT_LOGGING should be 0. + +Fri Jul 19 19:15:30 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (rb_ary_resurrect): use RARRAY_RAWPTR() because there is no + writing. + + * array.c (rb_ary_new_from_values): use ary_memcpy(). + +Fri Jul 19 19:07:31 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_memcpy): add a function to copy VALUEs into ary + with write barrier. If ary is promoted, use write barrier correctly. + + * array.c (rb_ary_cat, rb_ary_unshift_m, rb_ary_dup, + rb_ary_sort_bang, rb_ary_replace, rb_ary_plus): use ary_memcpy(). + +Fri Jul 19 15:32:57 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (rb_ary_store): use RARRAY_PTR_USE() instead of RARRAY_PTR(). + Clearing memory space doesn't need WBs. + +Fri Jul 19 15:19:37 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_ensure_room_for_push): use RARRAY_RAWPTR() instead of + RARRAY_PTR. In this code, there are no "write" operation. + + * array.c (rb_ary_equal): ditto. + + * array.c (recursive_equal): ditto. + +Fri Jul 19 15:09:22 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c, internal.h (rb_gc_writebarrier_remember_promoted): add a new + function to remember an specified object. This api is only + experimental (strongly depend on WB/rgengc strategy). + +Fri Jul 19 14:56:00 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_unprotect_logging): use (void *) for first parameter + because VALUE is not defined before including ruby/ruby.h. + +Fri Jul 19 14:19:48 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * ext/pathname/pathname.c (path_inspect): use PRIsVALUE to preserve + the result encoding. + +Fri Jul 19 12:35:41 2013 Tanaka Akira <akr@fsij.org> + + * test/socket/test_tcp.rb (test_initialize_failure): Use EADDRNOTAVAIL + to test an error message generated by bind() failure. + +Fri Jul 19 11:27:38 2013 Zachary Scott <e@zzak.io> + + * lib/racc/parser.rb: [DOC] Capitalize "Ruby" in documentation + Patch by Dave Worth https://github.com/ruby/ruby/pull/341 + +Fri Jul 19 11:26:28 2013 Zachary Scott <e@zzak.io> + + * ext/psych/lib/psych*: [DOC] Capitalize "Ruby" in documentation + Patch by Dave Worth https://github.com/ruby/ruby/pull/341 + +Fri Jul 19 11:25:12 2013 Zachary Scott <e@zzak.io> + + * lib/rdoc/*: [DOC] Capitalize "Ruby" in documentation + Patch by Dave Worth https://github.com/ruby/ruby/pull/341 + +Fri Jul 19 11:23:55 2013 Zachary Scott <e@zzak.io> + + * lib/rubygems*: [DOC] Capitalize "Ruby" in documentation + Patch by Dave Worth https://github.com/ruby/ruby/pull/341 + +Fri Jul 19 11:16:54 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb (Set#to_set): Define Set#to_set so that aSet.to_set + returns self. [Fixes GH-359] + +Fri Jul 19 11:10:23 2013 Zachary Scott <e@zzak.io> + + * lib/rake/*: [DOC] Capitalize "Ruby" in documentation + Patch by Dave Worth https://github.com/ruby/ruby/pull/341 + +Fri Jul 19 01:04:14 2013 Tanaka Akira <akr@fsij.org> + + * ext/-test-/bignum/intpack.c: Renamed from ext/-test-/bignum/pack.c. + (Init_intpack): Renamed from Init_pack. + Reported by Naohisa Goto. [ruby-dev:47526] [Bug #8655] + +Fri Jul 19 00:54:27 2013 Benoit Daloze <eregontp@gmail.com> + + * test/ruby/test_array.rb (test_count): add a test case for #count + with an argument. See Bug #8654. + +Thu Jul 18 23:45:06 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_eql): compare RARRAY_PTR() for performance + improvement in case of that self and other are shared. + +Thu Jul 18 22:46:42 2013 Zachary Scott <e@zzak.io> + + * lib/cgi.rb: [DOC] Capitalize "Ruby" in documentation [Fixes GH-341] + Patch by Dave Worth https://github.com/ruby/ruby/pull/341 + * lib/webrick.rb: ditto + * lib/scanf.rb: ditto + * lib/xmlrpc/config.rb: ditto + * lib/resolv.rb: ditto + * lib/e2mmap.rb: ditto + * lib/fileutils.rb: ditto + * lib/mkmf.rb: ditto + * lib/cgi/session.rb: ditto + * lib/yaml.rb: ditto + * lib/erb.rb: ditto + * lib/irb.rb: ditto + * lib/tracer.rb: ditto + * lib/net/http.rb: ditto + * ext/syslog/lib/syslog/logger.rb: ditto + * sample/pty/expect_sample.rb: ditto + +Thu Jul 18 21:30:50 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_sq_fast): Specialize the last iteration of the + outer loop. + (bigfixize): A condition simplified. + +Thu Jul 18 21:15:41 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_equal): compare RARRAY_PTR() for performance + improvement in case of that self and other are shared. + +Thu Jul 18 20:44:51 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_fill): use memfill(). + +Thu Jul 18 20:35:14 2013 Benoit Daloze <eregontp@gmail.com> + + * array.c (rb_ary_count): check length to avoid SEGV + while iterating. Remove other pointer loop when arg is given. + + * test/ruby/test_array.rb (test_count): add test for bug. + [ruby-core:56072] [Bug #8654] + +Thu Jul 18 18:14:36 2013 Masaki Matsushita <glass.saga@gmail.com> + + * array.c (rb_ary_count): iterate items appropriately. + [Bug #8654] + +Thu Jul 18 17:35:41 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_flatten): performance improvement by not using + rb_hash_to_a() to avoid array creation with rb_assoc_new(). + +Thu Jul 18 16:16:17 2013 Koichi Sasada <ko1@atdot.net> + + * array.c: add logging feature for RGenGC's write barrier unprotect + event. + +Thu Jul 18 15:45:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): make only + rb_set_safe_level(4) an error always but make rb_secure(4) an error + only in the core. [ruby-dev:47517] [Bug #8652] + +Thu Jul 18 15:42:01 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: fix spell miss. + +Thu Jul 18 15:11:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (ruby_safe_level_4): get rid of special + character. [ruby-dev:47512] [misc #8646] + +Thu Jul 18 14:51:39 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_alloc): slim setup process. + +Thu Jul 18 14:37:57 2013 Koichi Sasada <ko1@atdot.net> + + * string.c (str_alloc): no need to clear RString (already cleared). + +Thu Jul 18 12:57:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BDIGITS_ZERO): Defined. + (bary_pack): Use BDIGITS_ZERO. + (bary_unpack): Ditto. + (bary_mul_single): Ditto. + (bary_mul_normal): Ditto. + (bary_sq_fast): Ditto. + (bary_mul_balance_with_mulfunc): Ditto. + (bary_mul_precheck): Ditto. + (bary_mul_toom3_branch): Ditto. + (rb_cstr_to_inum): Ditto. + (big_shift3): Ditto. + (bigmul1_toom3): Ditto. + (bary_divmod): Ditto. + +Thu Jul 18 06:30:02 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: rename gc related functions with prefix "gc_". + * before_gc_sweep() -> gc_before_sweep(). + * after_gc_sweep() -> gc_after_sweep(). + * lazy_sweep() -> gc_lazy_sweep(). + * rest_sweep() -> gc_rest_sweep(). + * slot_sweep() -> gc_slot_sweep(). + + * gc.c: rename a heap management function with prefix "heap_". + * get_freeobj() -> heap_get_freeobj(). + + * gc.c: rename markable_object_p() to is_markable_object(). + +Wed Jul 17 22:57:40 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (delete_if_i): use ST_DELETE. + +Wed Jul 17 22:34:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: An static assertion for relation of SIZEOF_LONG and + SIZEOF_BDIGITS is added. + (bary_mul_precheck): Reduce comparisons. + (bary_mul): Invoke bary_sq_fast or bary_mul1 if the bignum size is + small. + (bigfixize): Resize the argument bignum here. + (bignorm): Don't call bigtrunc after bigfixize. + +Wed Jul 17 22:13:26 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_replace): performance improvement by using + st_copy(). + +Wed Jul 17 17:19:54 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: rename heap management functions with prefix "heap_". + * allocate_sorted_array() -> heap_allocate_sorted_array(). + * slot_add_freeobj() -> heap_slot_add_freeobj(). + * assign_heap_slot() -> heap_assign_slot(). + * add_heap_slots() -> heap_add_slots(). + * init_heap() -> heap_init(). + * set_heap_increment() -> heap_set_increment(). + + * gc.c (initial_expand_heap): inlined in rb_gc_set_params(). + +Wed Jul 17 17:12:23 2013 Matthew M. Boedicker <matthewm@boedicker.org> + + * hash.c (env_fetch): Add key name to message on ENV.fetch KeyError, + as well as Hash#fetch. [ruby-core:56062] [Feature #8649] + +Wed Jul 17 15:59:33 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: catch up last changes for debugging/checking mode. + +Wed Jul 17 15:50:10 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace_free): free slot itself. + + * gc.c (objspace_each_objects): fix condition. + Use slot->body instead of slot. + + * gc.c (count_objects): use "slot" variable. + +Wed Jul 17 15:21:10 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (unlink_heap_slot): fix memory leak. + free slot itself at free_heap_slot(). + + Reproduce-able code is here: + N1 = 100_000; N2 = 1_000_000 + N1.times{ary = []; N2.times{ary << ''}} + Maybe this problem is remaining in Ruby 2.0.0. + + * gc.c (unlink_heap_slot): remove not working code. + +Wed Jul 17 14:31:13 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: re-design the heap structure. + + (1) The heap is consists of a set of slots. + (2) Each "slot" has a "slot_body". + slot::start and slot::limit specify RVALUE beginning address + and number of RVALUE in a "slot_body". + (3) "slot_body" contains a pointer to slot (slot_body::header::slot) + and an array of RVALUE. + (4) heap::sorted is an array of "slots", sorted by an address of + slot::body. + + See https://bugs.ruby-lang.org/projects/ruby-master/wiki/GC_design + for more details (figure). + + * gc.c: Avoid "heaps" terminology. It is ambiguous. + +Wed Jul 17 13:29:16 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix heaps_header and heaps_slot to reduce memory consumption. + (1) move heaps_header::start and limit to heaps_slot. + (2) remove heaps_header::end which can be calculated by start+limit. + + * gc.c: catch up above change. + +Wed Jul 17 12:30:05 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/st.h (st_strcasecmp): Macro defined for compatibility. + (st_strncasecmp): Ditto. + +Wed Jul 17 11:57:45 2013 Takeyuki FUJIOKA <xibbar@ruby-lang.org> + + * lib/cgi/util.rb (CGI::Util#escape, unescape): Avoid use of regexp + special global variable. [Feature #8648] Thanks to fotos. + +Wed Jul 17 11:57:10 2013 Takeyuki FUJIOKA <xibbar@ruby-lang.org> + + * lib/erb.rb (ERB::Util#url_encode): Avoid use of regexp special global + variable. [Feature #8648] Thanks to fotos. + +Wed Jul 17 08:12:41 2013 Tanaka Akira <akr@fsij.org> + + * st.c (st_locale_insensitive_strcasecmp): Renamed from st_strcasecmp. + (st_locale_insensitive_strncasecmp): Renamed from st_strncasecmp. + + * include/ruby/st.h: Follow above changes. + + * include/ruby/ruby.h: Ditto. + +Wed Jul 17 00:14:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigmul1_toom3): Use bigdivrem_single instead of bigdivrem. + (big_three): Removed. + (Init_Bignum): Don't initialize big_three. + +Tue Jul 16 21:46:03 2013 Masaki Matsushita <glass.saga@gmail.com> + + * configure.in: revert r42008. strcasecmp() uses the current locale. + + * include/ruby/ruby.h: ditto. + + * st.c (st_strcasecmp): ditto. + +Tue Jul 16 21:07:04 2013 Masaki Matsushita <glass.saga@gmail.com> + + * configure.in: check strcasecmp(). + + * include/ruby/ruby.h: use strcasecmp() as st_strcasecmp() if it + exists. + + * st.c (st_strcasecmp): define the function only if strcasecmp() + doesn't exist. + +Tue Jul 16 20:21:28 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigsq): Renamed from bigsqr. + +Tue Jul 16 19:42:08 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (USHORT): Unused macro removed. + +Tue Jul 16 19:18:51 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: slim a path of newobj_of(). + + * gc.c (objspace): add a new field objspace::freelist, which contains + available RVALUEs. + + * gc.c (newobj_of): simply call new function `get_freeobj()'. + get_freeobj() returns objspace::freelist. If objspace::freelist + is not available, refill objspace::freelist with a slot pointed by + objspace::heap::free_slots. + + * gc.c (before_gc_sweep): clear objspace::freelist. + + * gc.c (slot_sweep): clear slot::freelist. + + * gc.c (heaps_prepare_freeslot): renamed to heaps_prepare_freeslot. + + * gc.c (unlink_free_heap_slot): remove unused function. + + * gc.c (rb_free_const_table): remove unused function. + +Tue Jul 16 19:05:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_shift3): Big shift width is not a problem for right + shift. + +Tue Jul 16 18:50:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_count): [DOC] fix typo. Array#count uses ==, not + ===. a question at asakusa.rb ML. + +Tue Jul 16 18:35:48 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_karatsuba): Avoid duplicate calculation when + squaring. + (bary_mul_toom3_branch): Ditto. + +Tue Jul 16 17:43:22 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (link_free_heap_slot): removed. + + * gc.c (slot_sweep): use `heaps_add_freeslot' instead of + `link_free_heap_slot'. + + * gc.c (assign_heap_slot): use local variable `slot' instead of + `heaps'. + +Tue Jul 16 17:21:39 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (assign_heap_slot): refactoring variable names. + + * gc.c (slot_add_freeobj): added. + + * gc.c (heaps_add_freeslot): added. + + * gc.c (finalize_list, rb_gc_force_recycle, slot_sweep): use + `slot_add_freeobj' instead of modifying linked list directly. + +Tue Jul 16 16:30:58 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (lazy_sweep): refactoring. + +Tue Jul 16 13:32:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * encoding.c (enc_set_index): since r41967, old terminator is dealt + with in str_fill_term(). should not consider it here because this + function is called before any encoding is set. + +Tue Jul 16 11:12:03 2013 Masaki Matsushita <glass.saga@gmail.com> + + * proc.c (rb_block_arity): raise ArgumentError if no block given. + +Tue Jul 16 08:15:22 2013 Zachary Scott <e@zzak.io> + + * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] document top-level + classes from BigDecimal utils native extensions + +Tue Jul 16 03:23:03 2013 Zachary Scott <e@zzak.io> + + * numeric.c: [DOC] improve rdoc formatting for parameters and links + +Mon Jul 15 14:40:00 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/intern.h (rb_big2str0): Deprecated. + + * bignum.c (rb_big2str1): Renamed from rb_big2str0. + (rb_big2str0): Deprecated wrapper for rb_big2str1. + (rb_big2str): Invoke rb_big2str1 instead of rb_big2str0. + +Mon Jul 15 14:13:02 2013 Masaki Matsushita <glass.saga@gmail.com> + + * struct.c (rb_struct_each_pair): use rb_yield_values(2, key, value) + instead of rb_yield(rb_assoc_new(key, value)) if rb_block_arity() + is greater than 1. + +Mon Jul 15 13:46:26 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Add static assertions. + +Mon Jul 15 13:36:02 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_each_pair): performance improvement by using + rb_block_arity(). + +Mon Jul 15 13:15:37 2013 Masaki Matsushita <glass.saga@gmail.com> + + * proc.c (rb_block_arity): create internal API rb_block_arity(). + it returns arity of given block. + +Mon Jul 15 13:07:27 2013 Yuki Yugui Sonoda <yugui@yugui.jp> + + * lib/prime.rb (Prime::EratosthenesGenerator, + Prime::EratosthenesSieve): New implementation by + robertjlooby <robertjlooby AT gmail.com>. + + * test/test_prime.rb: updated with new method name + +Mon Jul 15 11:32:46 2013 Zachary Scott <e@zzak.io> + + * numeric.c (rb_cNumeric): [DOC] Added comment for Numeric to fix doc + +Mon Jul 15 11:24:48 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (maxpow_in_bdigit_dbl): Useless #if removed. + +Mon Jul 15 11:10:46 2013 Zachary Scott <e@zzak.io> + + * bignum.c (rb_big_coerce): [DOC] Add docs for Bignum#coerce + Based on patch by Juanito Fatas [Fixes GH-360] + https://github.com/ruby/ruby/pull/360 + +Mon Jul 15 10:56:01 2013 Zachary Scott <e@zzak.io> + + * thread.c (mutex_sleep): [DOC] Awake thread will reacquire lock + By Tim Abdulla [Fixes GH-342] https://github.com/ruby/ruby/pull/342 + +Mon Jul 15 10:45:09 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (nlz16): Use __builtin_clz if possible. + (nlz32): Use __builtin_clz or __builtin_clzl if possible. + (nlz64): Use __builtin_clzl or __builtin_clzll if possible. + (nlz128): Use __builtin_clzll if possible. + + * configure.in: Check __builtin_clz, __builtin_clzl and + __builtin_clzll. + +Mon Jul 15 09:39:07 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (power_cache_get_power): Use bitsize instead of ceil_log2. + (ones): Removed. + (next_pow2): Removed. + (floor_log2): Removed. + (ceil_log2): Removed. + + * configure.in (__builtin_popcountl): Don't check. + +Mon Jul 15 02:47:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * localeinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding): + move from encoding.c. + + * miniinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding): + define miniruby specific functions only. + +Mon Jul 15 02:32:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * encoding.c (rb_enc_init): no longer needs NO_PRESERVED_ENCODING. + + * encoding.c (enc_inspect): defer loading autoloaded encoding. + + * encoding.c (enc_check_encoding): use is_data_encoding() to check + type consistently. + + * encoding.c (must_encoding): return rb_encoding* instead of encoding + index. + + * encoding.c (enc_check_encoding): use is_data_encoding() to check + type consistently. + + * encoding.c (must_encoding): return rb_encoding* instead of encoding + index. + +Mon Jul 15 02:21:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (str_fill_term): consider old terminator length, and should + not use rb_enc_ascget since it depends on the current encoding which + may not be compatible with the new terminator. [Bug #8634] + + * encoding.c (enc_inspect): use PRIsVALUE to preserve the result + encoding. + +Sun Jul 14 23:21:47 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Check __builtin_popcountl, __builtin_bswap32 and + __builtin_bswap64. + + * internal.h (swap32): Use the configure result for the condition to + use __builtin_bswap32. + (swap64): Use the configure result for the condition to use + __builtin_bswap64. + + * bignum.c (ones): Use the configure result for the condition to use + __builtin_popcountl. + (bary_unpack_internal): Use appropriate types for swap argument. + +Sun Jul 14 22:21:11 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_subb): Support xn < yn. + (bigsub_core): Removed. + (bigsub): Don't compare before subtraction. Just subtract and + get the two's complement if the subtraction causes a borrow. + +Sun Jul 14 00:36:03 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (DIGSPERLONG): Unused macro removed. + (DIGSPERLL): Ditto. + +Sun Jul 14 00:32:51 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_aref): Less scan when the number is negative. + +Sun Jul 14 00:17:42 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_shift): Avoid signed integer overflow. + +Sun Jul 14 00:14:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_precheck): Use bary_small_lshift or + bary_mul_normal if xl is 1. + +Sat Jul 13 22:58:16 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_shift3): New function. + big_lshift and big_rshift are merged. + (big_shift2): New function. + (big_lshift): Use big_shift3. + (big_rshift): Ditto. + (check_shiftdown): Removed. + (rb_big_lshift): Use big_shift2 and big_shift3. + (rb_big_rshift): Ditto. + (big_lshift): Removed. + (big_rshift): Ditto. + +Sat Jul 13 15:51:38 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_small_lshift): Use size_t instead of long. + (bary_small_rshift): Ditto. + +Sat Jul 13 15:33:33 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_small_lshift): Functions moved to remove + declaration. + (bary_small_rshift): Ditto. + +Sat Jul 13 12:27:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * encoding.c (rb_enc_associate_index): fill new terminator length, not + old one. + +Sat Jul 13 12:24:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/win32: move from ext/dl and ext/fiddle. since ext/extmk.rb + builds extensions in alphabetical order, compiled?('fiddle') under + ext/dl makes no sense. + +Sat Jul 13 09:26:09 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (biglsh_bang): Removed. + (bigrsh_bang): Ditto. + (bigmul1_toom3): Use bary_small_lshift and bary_small_rshift. + +Sat Jul 13 01:04:43 2013 Zachary Scott <e@zzak.io> + + * lib/rubygems/psych_additions.rb: Ignore Psych docs here + +Fri Jul 12 18:10:46 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/fiddle/win32/lib/win32/registry.rb + (Win32::Registry::API#make_wstr): same as r41922. + +Fri Jul 12 16:28:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * encoding.c (rb_enc_associate_index): refill the terminator if it + becomes longer than before. [ruby-dev:47500] [Bug #8624] + + * string.c (str_null_char, str_fill_term): get rid of out of bound + access. + + * string.c (rb_str_fill_terminator): add a parameter for the length of + new terminator. + +Fri Jul 12 11:26:25 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_reject_bang): do not call rb_hash_foreach() if RHash + has ntbl and it is empty. + +Fri Jul 12 11:17:41 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (recursive_hash): use RHASH_SIZE() to check hash size. + +Fri Jul 12 00:20:00 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_size): use RHASH_SIZE(). + +Fri Jul 12 00:08:24 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_values): set array capa to RHASH_SIZE(). + +Thu Jul 11 23:54:45 2013 Masaki Matsushita <glass.saga@gmail.com> + + * hash.c (rb_hash_keys): set array capa to RHASH_SIZE(). + +Thu Jul 11 21:30:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_pow): undef pow to get rid of infinite + recursive call. re-fix [Bug #8495]. [ruby-core:55923] [Bug #8621] + +Thu Jul 11 20:18:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/dl/win32/lib/win32/registry.rb (Win32::Registry::API#make_wstr): + remove workaround to append WCHAR terminator. + + * transcode.c (str_encode_associate): fill terminator after conversion. + + * string.c (rb_enc_str_new, rb_str_set_len, rb_str_resize): fill + minimum length of the encoding as the terminator. + + * string.c (str_buf_cat, rb_str_buf_append, rb_str_splice_0): ditto. + + * string.c (str_make_independent_expand, rb_str_modify_expand): make + the capacity enough for multi-byte terminator. + + * string.c (rb_string_value_cstr): fill minimum length of the encoding + as the terminator. + + * string.c (rb_string_value_cstr): check null char in char, not in + byte. + +Thu Jul 11 14:48:35 2013 Zachary Scott <e@zzak.io> + + * array.c: Replace confusing example for #reverse_each in overview + Patch by Earl St Sauver [Fixes documenting-ruby/ruby-12] + https://github.com/documenting-ruby/ruby/pull/12 + +Thu Jul 11 14:22:37 2013 Zachary Scott <e@zzak.io> + + * test/drb/ut_eq.rb: Use localhost for drb tests [Bug #7311] + Patch by Vit Ondruch [ruby-core:49101] + * test/drb/ut_array.rb: ditto + * test/drb/ut_array_drbssl.rb: ditto + +Thu Jul 11 13:48:03 2013 Zachary Scott <e@zzak.io> + + * sprintf.c: Fix typo patch by @hynkle [Fixes GH-357] + https://github.com/ruby/ruby/pull/357 + +Thu Jul 11 13:00:34 2013 Zachary Scott <e@zzak.io> + + * lib/securerandom.rb: Refactor conditions by Rafal Chmiel + [Fixes GH-326] https://github.com/ruby/ruby/pull/326 + +Thu Jul 11 12:04:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Don't use toom3 after once karatsuba is chosen. + (mulfunc_t): New type. + (bary_mul_toom3_start): Renamed from bary_mul. + (bary_mul_karatsuba_start): Renamed from bary_mul. + (bary_mul_balance_with_mulfunc): Renamed from bary_mul_balance and + new argument, mulfunc, is added. + (rb_big_mul_balance): Invoke bary_mul_balance_with_mulfunc with + bary_mul_toom3_start. + (bary_mul_karatsuba): Invoke bary_mul_karatsuba_start instead of + bary_mul. + (bary_mul_precheck): Extracted from bary_mul. + (bary_mul_karatsuba_branch): Extracted from bary_mul. + (bary_mul_karatsuba_start): New function to call bary_mul_precheck + and bary_mul_karatsuba_branch. + (bary_mul_toom3_branch): Extracted from bary_mul. + (bary_mul_toom3_start): New function to call bary_mul_precheck and + bary_mul_toom3_branch. + (bary_mul): Just call bary_mul_toom3_start. + Arguments for work memory are removed. + (rb_cstr_to_inum): Follow the bary_mul change. + (bigmul0): Ditto. + +Thu Jul 11 10:46:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * tool/probes_to_wiki.rb: fix usage comment. use Enumerable#grep + which yields each elements to reduce unnecessary array. + +Thu Jul 11 10:09:18 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * process.c (rb_daemon): daemon(3) is implemented with fork(2). + Therefore it needs rb_thread_atfork(). (and revert r41903) + +Thu Jul 11 03:22:10 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * tool/probes_to_wiki.rb: adding a script to convert probes.d to wiki + format for easy wiki updates. + +Thu Jul 11 00:54:07 2013 Zachary Scott <zachary@zacharyscott.net> + + * man/ri.1: Incorrect use of .Dd macro [Bug #8620] by Tristan Hill + +Thu Jul 11 00:48:29 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/delegate.rb: Add example for __setobj__ and __getobj__ + [Bug #8615] Patch by Caleb Thompson + +Wed Jul 10 23:29:22 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/logger.rb: Use :call-seq: for method signature rdoc + +Wed Jul 10 23:23:18 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/logger.rb (#add): Remove incorrect rdoc for return value + [Bug #8567] Reported by Tim Pease. + +Wed Jul 10 23:12:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_subpos): make public function. + +Wed Jul 10 22:44:19 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Add a static assertion for RBIGNUM_EMBED_LEN_MAX. + +Wed Jul 10 22:31:25 2013 Masaki Matsushita <glass.saga@gmail.com> + + * string.c (rb_str_index): cache single byte flag and some + cosmetic changes. + +Wed Jul 10 22:03:27 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_2comp): Don't use bary_plus_one. + (bary_add_one): Replaced by the implementation of bary_plus_one. + +Wed Jul 10 20:48:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * bignum.c (sizeof_bdigit_dbl): check sizeof(BDIGIT_DBL). + + * internal.h (STATIC_ASSERT): move from enum.c. + +Wed Jul 10 20:08:21 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (SIZEOF_BDIGIT_DBL): Add a ifdef guard for test. + +Wed Jul 10 14:18:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * process.c (fork_daemon): kill the other threads all and abandon the + kept mutexes. + +Wed Jul 10 11:35:36 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/net/http/test_http.rb (TestNetHTTP_v1_2#test_get, + TestNetHTTP_v1_2_chunked#test_get): shouldn't check + HttpResponse#decode_content if Zlib is not available. + ko1 complained via IRC. + +Wed Jul 10 10:20:07 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * tool/rbinstall.rb: always require rubygems to stabilize rubygems + related status like whether Gem::Specification is defined or not. + + * tool/rbinstall.rb (Gem::Specification.unresolved_deps): define stub. + +Wed Jul 10 08:21:15 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Import RubyGems 2.1 + * test/rubygems: Ditto. + +Wed Jul 10 07:34:34 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/ext/ext_conf_builder.rb: Remove siteconf file after + building the gem. + * test/rubygems/test_gem_ext_ext_conf_builder.rb: Test for the above. + + * lib/rubygems/psych_tree.rb (module Gem): Add backward compatibility + for r41148 + + * test/rubygems/test_gem_package.rb: Add backward compatibility for + double-slash elimination. + +Wed Jul 10 06:22:27 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * ext/date/date_parse.c (date_zone_to_diff): [ruby-core:55831]. + +Wed Jul 10 00:41:42 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul): x*1 is x. + +Tue Jul 9 22:24:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul1): No need to invoke MEMZERO at last. + (bary_mul_single): Invoke MEMZERO here. + +Tue Jul 9 21:40:01 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/rexml/test_text.rb: Add missing tests for Text#<<. + Reported by nagachika. Thanks!!! + +Tue Jul 9 18:02:38 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/fileutils.rb (FileUtils#chown_R): Do not skip traversal even + if user and group are both nil, to be consistent with #chown and + other commands. + +Tue Jul 9 17:58:26 2013 Akinori MUSHA <knu@iDaemons.org> + + * test/fileutils/test_fileutils.rb + (TestFileUtils#assert_output_lines): New utility assertion + method for testing verbose output. + +Tue Jul 9 17:43:57 2013 Koichi Sasada <ko1@atdot.net> + + * test/test_tracer.rb: catch up recent rubygems changes. + +Tue Jul 9 16:58:30 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/{dl,fiddle}/win32/lib/win32/registry.rb: hope that the final + resolution to fix the failure of test-all. and includes Win64 + support (fixed a potential bug). + +Tue Jul 9 15:57:20 2013 Akinori MUSHA <knu@iDaemons.org> + + * object.c: Fix rdoc for Kernel#<=>. [Fixes GH-352] + +Tue Jul 9 15:53:51 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/fileutils.rb (FileUtils#mode_to_s): Define mode_to_s() also + as singleton method, or FileUtils.chmod fails in verbose mode. + +Tue Jul 9 15:16:02 2013 Akinori MUSHA <knu@iDaemons.org> + + * test/fileutils/fileasserts.rb + (Test::Unit::FileAssertions#assert_not_symlink): Add a missing + optional argument "message". + +Tue Jul 9 15:03:24 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/fileutils.rb (FileUtils#chown, FileUtils#chown_R): If user + and group are both nil, print ":". + +Tue Jul 9 12:47:08 2013 Masaki Matsushita <glass.saga@gmail.com> + + * io.c (appendline): use READ_CHAR_PENDING_XXX macros and + RSTRING_END(). + + * io.c (rb_io_getline_1): rewrite nested if statement into one + statement. + +Tue Jul 9 11:04:35 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/{dl,fiddle}/win32/lib/win32/registry.rb (Win32::Registry#check): + should report the position of the error. + + * ext/{dl,fiddle}/win32/lib/win32/registry.rb + (Win32::Registry#QueryValue): workaround for test-all crash. + +Tue Jul 9 10:27:56 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/{dl,fiddle}/win32/lib/win32/registry.rb + (Win32::Registry.expand_environ): use suitable encoding for the + string. + + * ext/{dl,fiddle}/win32/lib/win32/registry.rb (Win32::Registry#read): + should return REG_SZ, REG_EXPAND_SZ and REG_MULTI_SZ values with + the expected encoding -- assumed as the same encoding of name. + +Tue Jul 9 10:02:45 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/{dl,fiddle}/win32/lib/win32/registry.rb + (Win32::Registry::Error#initialize): use suitable encoding for the + string. + +Tue Jul 9 09:46:53 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/dl/win32/lib/win32/registry.rb (Win32::Registry.expand_environ): + use suitable encoding for the string. fixed a test-all error of + r41838. + + * ext/fiddle/win32/lib/win32/registry.rb: same changes of r41838 and + this revision of dl's win32/registry.rb. + +Tue Jul 9 07:39:45 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems 2.0.4. See + https://github.com/rubygems/rubygems/blob/2.0/History.txt for changes + +Tue Jul 9 01:47:16 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (biglsh_bang): Don't shift a BDIGIT with BITSPERDIG bits. + (bigrsh_bang): Ditto. + +Tue Jul 9 01:17:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigrsh_bang): Fix bignum digits overrun. + +Tue Jul 9 00:46:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (biglsh_bang): Fix bignum digits under-run. + +Mon Jul 8 23:36:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/dl/win32/lib/win32/registry.rb (Error, API): use WCHAR + interfaces. c.f. [Bug #8508] + +Mon Jul 8 23:13:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_pow): move from win32.h and disable strict + ANSI mode macro to let _controlfp() stuff defined. + [ruby-core:55312] [Bug #8495] + + * numeric.c (finite): add declaration for strict ANSI. + [ruby-core:55312] [Bug #8495] + + * thread_win32.c (w32_thread_start_func, thread_start_func_1), + (timer_thread_func): use __stdcall instead of _stdcall which is + unavailable in strict ANSI mode. [ruby-core:55312] [Bug #8495] + + * win32/win32.c (gettimeofday): use __cdecl instead of _cdecl. + +Mon Jul 8 22:41:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul): Arguments for work memory added. + (bary_mul_balance): Ditto. + (bary_mul_karatsuba): Ditto. + +Mon Jul 8 22:03:30 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_sq_fast): New function for testing. + (rb_big_mul_toom3): Ditto. + + * internal.h (rb_big_sq_fast): Declared. + (rb_big_mul_toom3): Ditto. + +Mon Jul 8 21:59:34 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_balance): Initialize a local variable to suppress + a warning. + +Mon Jul 8 20:55:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_balance): Reduce work memory. + +Mon Jul 8 08:26:15 2013 Martin Bosslet <Martin.Bosslet@gmail.com> + + * test/openssl/test_pkey_ec.rb: Skip tests for "Oakley" curves as + they are not suitable for ECDSA. + [ruby-core:54881] [Bug #8384] + +Mon Jul 8 08:03:01 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul): Add a RB_GC_GUARD. + +Sun Jul 7 23:56:32 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_karatsuba): Unreachable code removed. Remove + several branches. + +Sun Jul 7 22:59:06 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (rb_big_mul_normal): Declared. + (rb_big_mul_balance): Ditto. + (rb_big_mul_karatsuba): Ditto. + + * bignum.c (rb_big_mul_normal): New function for tests. + (rb_big_mul_balance): Ditto. + (rb_big_mul_karatsuba): Ditto. + +Sun Jul 7 19:21:30 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Reorder functions to decrease forward reference. + +Sun Jul 7 14:41:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: (bigsub_core): Use bary_sub. + (bary_sub): Returns a borrow flag. Use bary_subb. + (bary_subb): New function for actually calculating subtraction with + borrow. + (bary_sub_one): New function. + (bigadd_core): Use bary_add. + (bary_add): Returns a carry flag. Use bary_addc. + (bary_addc): New function for actually calculating addition with + carry. + (bary_add_one): New function. + (bary_muladd_1xN): Extracted from bary_mul_normal. + (bigmul1_normal): Removed. + (bary_mul_karatsuba): New function. + (bary_mul1): Invoke rb_thread_check_ints after bary_mul_normal. + (bary_mul): Remove most and least significant zeros before actual + multiplication. Use bary_sq_fast, bary_mul_balance, + bary_mul_karatsuba and bigmul1_toom3 as bigmul0. + (bigmul1_balance): Removed. + (bigmul1_karatsuba): Removed. + (bigsqr_fast): Removed. + (bary_sparse_p): Extracted from big_sparse_p. + (big_sparse_p): Removed. + (bigmul0): Use bary_mul. + +Sun Jul 7 11:54:33 2013 Kouhei Sutou <kou@cozmixng.org> + + * NEWS: Add REXML::Text#<< related updates. + +Sun Jul 7 11:49:19 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/text.rb (REXML::Text#<<): Support appending in not + "raw" mode. [Bug #8602] [ruby-dev:47482] + Reported by Ippei Obayashi. Thanks!!! + +Sun Jul 7 11:43:13 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/text.rb (REXML::Text#<<): Support method chain use by "<<" + like other objects. + +Sun Jul 7 11:34:18 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/text.rb (REXML::Text#clear_cache): Extract common + cache clear code. + +Sun Jul 7 11:01:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (RUBY_DTRACE_POSTPROCESS): dtrace version SUN D 1.11 + introduces a check in the dtrace compiler to ensure that probes + actually exist. If there are no probes, then the -G step will + fail. As this test is only being used to determine whether -G is + necessary (for instance, on OSX it is not), adding a real probe to + the conftest allows it to succeed on newer versions of dtrace. + Patch by Eric Saxby <sax AT livinginthepast.org> at + [ruby-core:55826]. [Fixes GH-351], [Bug #8606]. + +Sun Jul 7 10:07:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_sq_fast): Extracted from bigsqr_fast and + ensure not to access zds[2*xn]. + (bigsqr_fast): Allocate the result bignum with 2*xn words. + +Sat Jul 6 07:37:43 2013 Martin Bosslet <Martin.Bosslet@gmail.com> + + * ext/openssl/ossl_pkey_ec.c: Ensure compatibility to builds of + OpenSSL with OPENSSL_NO_EC2M defined, but OPENSSL_NO_EC not + defined. + * test/openssl/test_pkey_ec.rb: Iterate over built-in curves + (and assert their non-emptiness!) instead of hard-coding them, as + this may cause problems with respect to the different availability + of individual curves in individual OpenSSL builds. + [ruby-core:54881] [Bug #8384] + + Thanks to Vit Ondruch for providing the patch! + +Sat Jul 6 07:12:39 2013 Martin Bosslet <Martin.Bosslet@gmail.com> + + * test/openssl/test_x509crl.rb: Remove unused variable. + [ruby-core:53501] [Bug #8114] + + Thanks, Vipul Amler, for pointing this out! + +Sat Jul 6 06:37:10 2013 Martin Bosslet <Martin.Bosslet@gmail.com> + + * ext/openssl/ossl.c: Provide CRYPTO_set_locking_callback() and + CRYPTO_set_id_callback() callback functions ossl_thread_id and + ossl_lock_callback to ensure the OpenSSL extension is usable in + multi-threaded environments. + [ruby-core:54900] [Bug #8386] + + Thanks, Dirkjan Bussink, for the patch! + +Sat Jul 6 06:06:16 2013 Martin Bosslet <Martin.Bosslet@gmail.com> + + * lib/openssl/ssl.rb: Fix SSL client connection crash for SAN marked + critical. + The patch for CVE-2013-4073 caused SSL crash when a SSL server returns + the certificate that has critical SAN value. X509 extension could + include 2 or 3 elements in it: + + [id, criticality, octet_string] if critical, + [id, octet_string] if not. + + Making sure to pick the last element of X509 extension and use it as + SAN value. + [ruby-core:55685] [Bug #8575] + + Thank you @nahi for providing the patch! + +Sat Jul 6 04:49:38 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: register time objects so + they are referenced as ids during output. + * test/psych/test_date_time.rb: corresponding test. + +Fri Jul 5 20:46:39 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic): this + assertion doesn't seems to be checking the unicode string on command + line, but seems to be checking how to treat the unicode string from + stdin. so, should escape '\' before 'u'. this fixes a test failure + on Windows. + +Fri Jul 5 19:05:40 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/fileutils.rb (FileUtils#chown, FileUtils#chown_R): Fix the + wrong output message when user is nil, which should be "chown + :group file" instead of "chown group file". + +Fri Jul 5 16:21:56 2013 Akinori MUSHA <knu@iDaemons.org> + + * test/ruby/test_regexp.rb + (TestRegexp#test_options_in_look_behind) + (TestRegexp#assert_match_at): Add tests for another problem + fixed in Onigmo 5.13.5. Previously Onigmo did not allow option + enclosures in look-behind, which makes it impossible to + interpolate a regexp into another in the middle of a look-behind + pattern. cf. https://github.com/k-takata/Onigmo/pull/17 + + * test/ruby/test_regexp.rb + (TestRegexp#test_options_in_look_behind) + (TestRegexp#assert_match_at): Parse regexps in run time rather + than in compile time. + +Fri Jul 5 12:14:40 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_notfound): after + r41710, the path of command uses backslash as the separator on + Windows. + +Fri Jul 5 11:29:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/test/unit/assertions.rb (assert_raise_with_message): move from + test/fileutils/test_fileutils.rb. this is still experimental and + the interface may be changed. + +Fri Jul 5 11:08:00 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (w32_spawn): r41710 made that if the command starts with + a quote and includes slash, removed the top quote and NOT removed the + last quote. + this fixes test failures on test/ruby/test_process.rb and + test/webrick. + +Fri Jul 5 09:53:15 2013 NARUSE, Yui <naruse@ruby-lang.org> + * lib/mkmf.rb (CONFIG['CPPOUTFILE']): fix r41769; CONFIG['CPPOUTFILE'] + may be nil. + +Fri Jul 5 05:39:53 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BARY_MUL1): Renamed from BARY_MUL. + (bary_mul1): Renamed from bary_mul. + (bary_mul): Renamed from bary_mul2. + +Fri Jul 5 04:58:05 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul_balance): Extracted from bigmul1_balance and + use bary_mul2 and bary_add to decrease allocations. + +Fri Jul 5 02:14:00 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/fileutils.rb (FileUtils#symbolic_modes_to_i): Fix the wrong + character class [+-=], which happened to match all desired + characters but also match undesired characters. + + * lib/fileutils.rb (FileUtils.chmod{,_R}): Enhance the symbolic + mode parser to support the permission symbols u/g/o and multiple + actions as defined in SUS, so that chmod("g=o+w", file) works as + expected. Invalid symbolic modes are now rejected with + ArgumentError. + +Fri Jul 5 00:25:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (have_framework): allow header file to check. + [ruby-core:55745] [Bug #8593] + +Thu Jul 4 22:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * object.c (rb_obj_equal): Fixed an rb_obj_equal documentation typo + where "a" was used instead of "obj". + Fixes GH-349. Patch by @adnandoric + +Thu Jul 4 20:39:20 2013 Tanaka Akira <akr@fsij.org> + + * tool/make-snapshot: Exit with EXIT_FAILURE when it fails. + +Thu Jul 4 20:20:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (maxpow_in_bdigit_dbl): Use tables if available. + (maxpow_in_bdigit): Ditto. + (U16): New macro. + (U32): Ditto. + (U64): Ditto. + (U128): Ditto. + (maxpow16_exp): New table. + (maxpow16_num): New table. + (maxpow32_exp): New table. + (maxpow32_num): New table. + (maxpow64_exp): New table. + (maxpow64_num): New table. + (maxpow128_exp): New table. + (maxpow128_num): New table. + +Thu Jul 4 18:25:25 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_cstr_to_inum): Avoid temporary buffer allocation except + very big base non-power-of-2 numbers. + +Thu Jul 4 15:51:56 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (rb_str_succ): use ONIGENC_MBCLEN_CHARFOUND_P correctly. + + * string.c (rb_str_dump): ditto. + +Thu Jul 4 10:04:11 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * regcomp.c (): Merge Onigmo 5.13.5 23b523076d6f1161. + + * [bug] (thanks Akinori MUSHA and Ippei Obayashi) + Fix a renumbering bug in condition regexp with a named + capture. [Bug #8583] + * [spec] (thanks Akinori MUSHA) + Allow ENCLOSE_OPTION in look-behind. + +Thu Jul 4 00:36:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h (SIGNED_INTEGER_MAX): suppress warning C4146 on VC6. + seems a logical ORed expression becomes unsigned. + +Thu Jul 4 00:13:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby_atomic.h (rb_w32_atomic_cas): call InterlockedCompareExchange + directly. + + * ruby_atomic.h (ATOMIC_CAS): fix missing function call. + +Wed Jul 3 23:47:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby_atomic.h (ATOMIC_CAS): suppress C4022 and C4047 warnings in + VC6. only InterlockedCompareExchange is declared using PVOID. + +Wed Jul 3 22:29:20 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (ruby_digit36_to_number_table): Declared. + + * util.c (ruby_digit36_to_number_table): Moved from scan_digits. + + * bignum.c (conv_digit): Use ruby_digit36_to_number_table. + + * pack.c (hex2num): Ditto. + +Wed Jul 3 18:12:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (install_dirs): revert DESTDIR prefix by r39841, since + it is fixed by r41648. [ruby-core:55760] [Bug #8115] + +Wed Jul 3 14:15:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (do_stat): use rb_w32_ustati64() in win32.c to get rid of + mysterious behavior of FindFirstFile() Windows API which treat "<" + and ">" like as wildcard characters. [ruby-core:55764] [Bug #8597] + +Wed Jul 3 12:06:42 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (maxpow_in_bdigit): Renamed from calc_hbase and return + maxpow. + +Tue Jul 2 23:47:50 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (roomof): Cast to long. + (rb_ull2big): Fix bignew arguments. + +Tue Jul 2 21:17:37 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_cstr_to_inum): Merge two temporary buffers. + +Tue Jul 2 20:25:04 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_cstr_to_inum): Use BDIGIT_DBL to collect adjacent digits. + (BDIGIT_DBL_MAX): New macro. + (maxpow_in_bdigit_dbl): New function. + +Tue Jul 2 17:23:33 2013 Shugo Maeda <shugo@ruby-lang.org> + + * doc/syntax/refinements.rdoc: add description of Module#using and + refinement inheritance by module inclusion. + +Tue Jul 2 17:22:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * internal.h: add EUC-JP and Windows-31J. + + * re.c (rb_char_to_option_kcode): use built-in encoding indexes in + internal.h. + + * internal.h: add UTF8-MAC. + + * dir.c (rb_utf8mac_encoding): use built-in encoding indexes in + internal.h. + + * internal.h: add UTF-{16,32} dummy encodings. + + * string.c (rb_str_inspect, str_scrub0): use built-in encoding indexes + in internal.h. + + * internal.h: add UTF-{16,32}{BE,LE}. + + * io.c (io_strip_bom): use built-in encoding indexes in internal.h. + + * internal.h (rb_{ascii8bit,utf8,usascii}_encindex): use built-in + encoding indexes for optimization. + + * encoding.c (enc_inspect, rb_locale_encindex), + (enc_set_filesystem_encoding, rb_filesystem_encindex): use built-in + encoding indexes directly. + + * encoding.c (rb_enc_set_index, rb_enc_associate_index): validate + argument encoding index. + + * include/ruby/encoding.h (ENCODING_SET): use rb_enc_set_index() + instead of setting inlined bits directly. + + * encoding.c (rb_enc_init): register preserved indexes. + + * internal.h (ruby_preserved_encindex): move from encoding.c. + +Tue Jul 2 11:14:36 2013 Shota Fukumori <sorah@cookpad.com> + + * lib/mkmf.rb (try_config): Fix to not replace $LDFLAGS with $libs + (1.9.3 behavior) [ruby-core:55752] [Bug #8595] + +Tue Jul 2 00:39:59 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ipsocket.c (init_inetsock_internal): Don't try mismatched + address family if already failed. + +Mon Jul 1 23:07:38 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * template/encdb.h.tmpl: define encoding index macros to use the index + statically from C source. + +Mon Jul 1 22:57:19 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul2): New function. + (rb_cstr_to_inum): Use a better algorithm to compose the result + if input length is very long. + +Mon Jul 1 20:22:00 2013 Kenta Murata <mrkn@cookpad.com> + + * ext/bigdecimal/bigdecimal.h (RB_UNUSED_VAR, UNREACHABLE): + import macros from ruby.h for 1.9.3. + [Bug #8588] [ruby-core:55730] + + * ext/bigdecimal/bigdecimal.gemspec: Bump version to 1.2.1. + +Mon Jul 1 20:03:39 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ipsocket.c (init_inetsock_internal): Use an address + family for local address which is different to the remote + address if no other choice. + +Mon Jul 1 15:05:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/csv.rb (CSV#<<): use StringIO#set_encoding instead of creating + new StringIO instance with String#force_encoding, forcing encoding + discards the cached coderange bits and can make further operations + very slow. [ruby-core:55714] [Bug #8585] + + * ext/stringio/stringio.c (strio_write): keep coderange of + ptr->string. + + * string.c (rb_enc_cr_str_buf_cat, rb_str_append): consider an empty + string 7bit-clean and should not discard cached coderange of string + to be appended. + +Mon Jul 1 12:56:41 2013 Shugo Maeda <shugo@ruby-lang.org> + + * eval.c (rb_using_module): activate refinements in the ancestors of + the argument module to support refinement inheritance by + Module#include. [ruby-core:55671] [Feature #8571] + + * test/ruby/test_refinement.rb: related test. + +Mon Jul 1 12:02:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_cstr_to_inum): Skip leading zeros. + +Mon Jul 1 00:59:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (nlz16): New function. + (nlz32): Ditto. + (nlz64): Ditto. + (nlz128): Ditto. + (nlz): Redefined using an above function. + (bitsize): New macro. + (rb_cstr_to_inum): Use bitsize instead of nlz. + +Sun Jun 30 22:40:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * lib/prime.rb: Corrected a few comments. Patch by @Nullset14. + Fixes GH-346. + +Sun Jun 30 21:53:38 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_cstr_to_inum): Use rb_integer_unpack if base is a power + of 2. + +Sun Jun 30 10:59:23 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (join_argv): use backslash instead of slash in program + path, otherwise cannot invoke "./c\u{1ee7}a.exe" for some reason. + [ruby-core:24309] [Bug #1771] + + * io.c (spawnv, spawn): use UTF-8 spawn family. [Bug #1771] + + * process.c (proc_exec_sh, proc_spawn_cmd, proc_spawn_sh): ditto. + + * win32/win32.c (translate_char, join_argv, has_redirection): make + codepage aware. + + * win32/win32.c (rb_w32_udln_find_exe_r, rb_w32_udln_find_file_r): + codepage independent versions. + + * win32/win32.c (w32_spawn): extract codepage aware code from + rb_w32_spawn(). + + * win32/win32.c (rb_w32_uspawn): add UTF-8 version function. + + * win32/win32.c (w32_aspawn_flags): extract codepage aware code from + rb_w32_aspawn_flags(). + + * win32/win32.c (rb_w32_uaspawn_flags, rb_w32_uaspawn_flags): add + UTF-8 version functions. + + * win32/win32.c (w32_getenv): extract codepage aware code from + rb_w32_ugetenv() and rb_w32_getenv(). + + * win32/win32.c (w32_stati64): extract codepage aware code from + rb_w32_ustati64() and rb_w32_stati64(). + + * dln.h (DLN_FIND_EXTRA_ARG, DLN_FIND_EXTRA_ARG_DECL): allow extra + arguments to dln_find_{exe,file}_r(). + + * dln_find.c (dln_find_exe_r, dln_find_file_r): add extract arguments. + + * process.c (EXPORT_STR, EXPORT_DUP): convert to default process + encoding if defined. + + * process.c (check_exec_env_i): convert environment variables too. + + * process.c (rb_exec_fillarg): convert program path and arguments too. + +Sun Jun 30 01:57:08 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_rshift): Use abs2twocomp and twocomp2abs_bang. + +Sun Jun 30 00:14:20 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (RBIGNUM_SET_NEGATIVE_SIGN): New macro. + (RBIGNUM_SET_POSITIVE_SIGN): Ditto. + (rb_big_neg): Inline get2comp to avoid double negation. + +Sat Jun 29 23:26:41 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_neg): Extracted from bary_2comp. + (bary_plus_one): Extracted from bary_2comp. + (bary_2comp): Use bary_neg and bary_plus_one. + (big_extend_carry): Extracted from get2comp. + (get2comp): Use big_extend_carry. + (rb_integer_unpack): Use big_extend_carry. + (rb_big_neg): Use bary_neg. + +Sat Jun 29 22:31:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_2comp): Simplified. + +Sat Jun 29 09:33:53 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigor_int): Return -1 if y == -1. + +Sat Jun 29 09:07:16 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigor_int): Use RB_GC_GUARD. + (bigxor_int): Take xn and hibitsx arguments. Use twocomp2abs_bang. + (rb_big_xor): Use abs2twocomp and twocomp2abs_bang. + +Sat Jun 29 08:19:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigand_int): Don't apply bitwise and for BDIGIT and long. + (bigor_int): Take xn and hibitsx arguments. Use twocomp2abs_bang. + (rb_big_or): Use abs2twocomp and twocomp2abs_bang. + +Fri Jun 29 01:08:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * numeric.c (fix_mul): remove FIT_SQRT_LONG test as it was causing + fix_mul to return an incorrect result for -2147483648*-2147483648 + on 64 bit platforms + + * test/ruby/test_integer_comb.rb (class TestIntegerComb): add test case + +Fri Jun 28 12:26:53 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_and): Allocate new bignum with same size to shorter + argument if it's high bits are zero. + +Fri Jun 28 12:14:04 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ipsocket.c (init_inetsock_internal): Don't use local + addresses which address family is different to remote address. + +Fri Jun 28 08:06:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigand_int): Add arguments, xn and hibitsx. + Use twocomp2abs_bang. + +Thu Jun 27 23:58:13 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (abs2twocomp_bang): Removed. + (abs2twocomp): Take n_ret argument to return actual length. + (rb_big_and): Follow above change. + +Thu Jun 27 22:52:19 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (get2comp): Use bary_2comp. + (abs2twocomp_bang): New function. + (abs2twocomp): New function. + (twocomp2abs_bang): New function. + (rb_big_and): Use abs2twocomp and twocomp2abs_bang. + +Thu Jun 27 20:03:13 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> + + * ext/openssl/lib/openssl/ssl.rb (verify_certificate_identity): fix + hostname verification. Patched by nahi. + + * test/openssl/test_ssl.rb (test_verify_certificate_identity): test for + above. + + +Thu Jun 27 00:23:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_pow): Retry if y is a Bignum and it is + representable as a Fixnum. + Use rb_absint_numwords. + +Wed Jun 26 23:53:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode): fix typo. + Fixes GH-343. Patch by @jgarber. + +Wed Jun 26 23:22:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enumerator.c (rb_enumeratorize_with_size): use strict definition + rb_enumerator_size_func. + +Wed Jun 26 23:11:14 2013 Kouhei Sutou <kou@cozmixng.org> + + * gc.c (is_before_sweep): Add a missing space before a parenthesis. + * gc.c (rb_gc_force_recycle): Add a missing space around a parenthesis. + +Wed Jun 26 22:44:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/intern.h (rb_enumeratorize_with_size): cast for + backward compatibility. + + * include/ruby/intern.h (rb_enumerator_size_func): define strict + function declaration for rb_enumeratorize_with_size(). + +Wed Jun 26 21:01:22 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): skip if + writing a file is slow. + [ruby-core:55541] [Bug #8519] + +Wed Jun 26 16:42:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb: should use expanded values for header directories + unless extmk. patch by vo.x (Vit Ondruch) at [ruby-core:55653] + [Bug #8115], rhbz#921650. + +Wed Jun 26 12:48:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigxor_int): Fix a buffer over read. + +Wed Jun 26 12:13:12 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigand_int): Consider negative values. + (bigor_int): The allocated bignum should have enough size + to store long. + This fixes (bignum fits in a BDIGIT) | (fixnum bigger than BDIGIT) + on platforms which SIZEOF_BDIGITS < SIZEOF_LONG, + such as LP64 with 32bit BDIGIT (no int128). + +Wed Jun 26 12:08:51 2013 Tanaka Akira <akr@fsij.org> + + * test/socket/test_udp.rb: Close sockets explicitly. + Don't use fixed port number. + +Wed Jun 26 07:27:17 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigand_int): Fix a buffer over read. + +Wed Jun 26 06:48:07 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigadd_int): Fix a buffer over read. + +Wed Jun 26 01:18:13 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (is_before_sweep): Add new helper function that check the object + is before sweep? + * gc.c (rb_gc_force_recycle): Have to clear mark bit if object's slot + already ready to minor sweep. + +Wed Jun 26 01:17:29 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigsub_int): Fix a buffer over read. + +Tue Jun 25 22:45:43 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_absint_singlebit_p): Use POW2_P. + (bary_pack): Ditto. + (rb_big2str0): Ditto. + (POW2_P): Moved to top. + +Tue Jun 25 22:28:07 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Pass + DESTDIR via command line to override what's in MAKEFLAGS. This + fixes an installation problem under a package building + environment where DESTDIR is specified in the (parent) command + line. [Fixes GH-327] + +Tue Jun 25 21:43:13 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2dbl): Use (BDIGIT)1 instead of 1UL. + (bary_mul_normal): Remove a useless cast. + +Tue Jun 25 21:26:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix for the cases when + the argument x is not a BigDecimal. + This change is based on the patch made by Heesob Park and Garth Snyder. + [Bug #6862] [ruby-core:47145] + [Fixes GH-332] https://github.com/ruby/ruby/pull/332 + +Tue Jun 25 20:36:31 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2ulong): "check" argument removed. + (rb_big2ulong): Follow above change. + (rb_big2long): Ditto. + (rb_big_rshift): Ditto. + (rb_big_aref): Ditto. + +Tue Jun 25 20:08:29 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big2ulong_pack): Use rb_integer_pack. + (rb_big_aref): Call big2ulong with TRUE for "check" argument. + It should be non-effective. + +Tue Jun 25 19:07:33 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (LSHIFTX): Revert r41611. + The redundant expression suppresses a warning, C4293, by Visual + Studio. + http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130625T072854Z.log.html.gz#miniruby + +Tue Jun 25 19:03:00 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2ulong): Add a cast. + (big2ull): Add a specialized code for SIZEOF_LONG_LONG <= + SIZEOF_BDIGITS. + +Tue Jun 25 12:42:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_unpack_single_bdigit): Use "1 + ~u" instead of + "-u" to suppress warning (C4146) by Visual Studio. + Reported by ko1 via IRC. + +Tue Jun 25 12:28:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2ulong): Add code specialized for SIZEOF_LONG <= + SIZEOF_BDIGITS. + This prevents shift width warning from "num <<= BITSPERDIG". + +Tue Jun 25 12:23:30 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix oldgen/remembered_shady counting algorithm. + + * gc.c (rgengc_check_shady): increment + `objspace->rgengc.remembered_shady_object_count' here. + + * gc.c (rgengc_remember): return FALSE if obj is already remembered. + + * gc.c (rgengc_rememberset_mark): make it void. + + * gc.c (gc_mark_children): fix to double counting oldgen_object_count + at minor GC. + +Tue Jun 25 12:07:18 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (MSB): Removed. + (BDIGIT_MSB): Defined using BIGRAD_HALF. + (bary_2comp): Apply BIGLO after possible over flow of BDIGIT. + (get2comp): Ditto. + (bary_unpack_internal): Use BDIGIT_MSB. + Apply BIGLO after possible over flow of BDIGIT. + (rb_integer_unpack): Use BDIGIT_MSB. + (calc_hbase): Use BDIGMAX. + (big2dbl): Use BDIGMAX. + Apply BIGLO after possible over flow of BDIGIT. + (rb_big_neg): Apply BIGLO after possible over flow of BDIGIT. + (biglsh_bang): Ditto. + (bigrsh_bang): Ditto. + (bary_divmod): Use BDIGIT_MSB. + (bigdivrem): Ditto. + (bigxor_int): Apply BIGLO after possible over flow of BDIGIT. + + * marshal.c (shortlen): Use SIZEOF_BDIGITS instead of sizeof(BDIGIT). + + * ext/openssl/ossl_bn.c (ossl_bn_initialize): Use SIZEOF_BDIGITS + instead of sizeof(BDIGIT). + +Tue Jun 25 11:40:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * bignum.c (big2ulong): suppress shorten-64-to-32 warning. BDIGIT can + be bigger than long now. + + * bignum.c (LSHIFTX): remove redundant never-true expression. + +Tue Jun 25 00:55:54 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (typedef struct rb_objspace): Change members for monitor objects. + * gc.c (gc_marks_test): Check all WriteBarrier Errors and track them in obj-tree. + * gc.c (rgengc_check_shady): Ditto. + * gc.c (gc_marks): Move 2 function calls to gc_marks_test for test initialize. + +Mon Jun 24 23:30:31 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_unpack_single_bdigit): Refine code to filling + higher bits and use BIGLO. + +Mon Jun 24 22:26:31 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): + ifindex() function may not be implemented on Windows. We use another + check for the case. + +Mon Jun 24 22:11:37 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_nolock): + skip a failing test on Windows because flock() implementation is + different from Unix. + +Mon Jun 24 22:06:14 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/rubygems/test_gem_installer.rb (test_install_extension_flat): + use ruby in build directory in case ruby is not installed. + [ruby-core:53265] [Bug #8058] + +Mon Jun 24 22:04:02 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * ext/dl/cfunc.c (rb_dlcfunc_call): fix conversion from Bignum to + pointer. sizeof(DLSTACK_TYPE) is larger than sizeof(long) on + Windows x64 and higher bits over sizeof(long) of DLSTACK_TYPE was + zero even if a pointer value was over 32 bits which causes SEGV on + DL::TestCPtr#test_to_ptr_io. Adding a cast solves the bug. + +Mon Jun 24 22:04:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * eval_error.c (warn_printf): use rb_vsprintf instead so ruby specific + extensions like PRIsVALUE can be used in format strings + * eval_error.c (error_print): use warn_print_str (alias for + rb_write_error_str) to print a string value instead of using + RSTRING_PTR and RSTRING_LEN manually + * eval.c (setup_exception): use PRIsVALUE instead of %s and RSTRING_PTR + +Mon Jun 24 20:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * compile.c (make_name_for_block): use PRIsVALUE in format string + instead of %s and RSTRING_PTR to protect objects from being garbage + collected too soon + * encoding.c (str_to_encindex): ditto + * hash.c (rb_hash_fetch_m): ditto + * io.c (rb_io_reopen): ditto + * parse.y (reg_fragment_check_gen): ditto + * parse.y (reg_compile_gen): ditto + * parse.y (ripper_assert_Qundef): ditto + * re.c (rb_reg_raise): ditto + * ruby.c (set_option_encoding_once): ditto + * vm_eval.c (rb_throw_obj): ditto + +Mon Jun 24 07:57:18 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (after_gc_sweep): Have to record malloc info before reset. + * gc.c (gc_prof_timer_start): Pick out part of new record creation as gc_prof_setup_new_record. + * gc.c (gc_prof_set_malloc_info): Move point of recording allocation size to front of mark. + +Mon Jun 24 02:53:09 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c: Return value in Array overview example found by @PragTob + [Fixes GH-336] https://github.com/ruby/ruby/pull/336 + +Mon Jun 24 02:45:51 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c (rb_ary_zip): typo by @PragTob [Fixes GH-337] + https://github.com/ruby/ruby/pull/337 + +Mon Jun 24 02:42:01 2013 Zachary Scott <zachary@zacharyscott.net> + + * win32/README.win32: grammar typo by @blankenshipz [Fixes GH-334] + https://github.com/ruby/ruby/pull/334 + +Mon Jun 24 00:59:35 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BIGUP): Use LSHIFTX and avoid cast to consider the type + of x is bigger than BDIGIT_DBL. + (big2ulong): Use unsigned long to store the result. + (big2ull): Use unsigned LONG_LONG to store the result. + (bigand_int): Use long for num to avoid data loss. + (bigor_int): Ditto. + (bigxor_int): Ditto. + +Sun Jun 23 23:05:58 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/defines.h (BDIGIT): Define it only if it is not defined + yet. This eases tests and debug. + (SIZEOF_BDIGITS): Ditto. + (BDIGIT_DBL): Ditto. + (BDIGIT_DBL_SIGNED): Ditto. + (PRI_BDIGIT_PREFIX): Ditto. + (PRI_BDIGIT_DBL_PREFIX): Ditto. + (PRIdBDIGIT): Define it only if PRI_BDIGIT_PREFIX is defined. + (PRIiBDIGIT): Ditto. + (PRIoBDIGIT): Ditto. + (PRIuBDIGIT): Ditto. + (PRIxBDIGIT): Ditto. + (PRIXBDIGIT): Ditto. + (PRIdBDIGIT_DBL): Ditto. + (PRIiBDIGIT_DBL): Ditto. + (PRIoBDIGIT_DBL): Ditto. + (PRIuBDIGIT_DBL): Ditto. + (PRIxBDIGIT_DBL): Ditto. + (PRIXBDIGIT_DBL): Ditto. + + * include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Define it only if it is + not defined yet. + +Sun Jun 23 17:29:51 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_unpack_single_bdigit): Use a cast. + +Sun Jun 23 15:38:07 2013 Koichi Sasada <ko1@atdot.net> + + * bootstraptest/test_thread.rb: rescue resource limitation errors. + +Sun Jun 23 08:19:27 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_unpack_single_bdigit): Extracted from + bary_unpack_internal. + +Sun Jun 23 07:41:52 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_unpack_internal): Suppress warnings (C4146) on Visual Studio. + Reported by ko1 via IRC. + +Sun Jun 23 06:49:28 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h, gc.c: rename macros and functions: + OBJ_WB_GIVEUP() -> OBJ_WB_UNPROTECT(), + rb_obj_wb_giveup() -> rb_obj_wb_unprotect(), + rb_gc_giveup_promoted_writebarrier() -> + rb_gc_writebarrier_unprotect_promoted(), + + * class.c, eval.c, hash.c: use OBJ_WB_UNPROTECT(). + +Sun Jun 23 05:41:32 2013 Koichi Sasada <ko1@atdot.net> + + * class.c (rb_include_class_new), eval.c (rb_using_refinement): + make classes/modules (who share method table) shady. + If module `a' and `b' shares method table m_tbl and new method + with iseq is added, then write barrier is applied only `a' or `b'. + To avoid this issue, shade such classes/modules. + + * vm_method.c (rb_method_entry_make): add write barriers. + +Sun Jun 23 01:27:54 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bytes_zero_p): Removed. + (bary_pack): Don't call bytes_zero_p. + +Sun Jun 23 00:51:29 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bytes_zero_p): Extracted from bary_pack. + (bary_pack): Use bytes_zero_p. + +Sun Jun 23 00:16:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (MSB): New macro. + (bary_unpack_internal): Use MSB. + (bary_divmod): Ditto. + (bigdivrem): Ditto. + +Sat Jun 22 23:45:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_swap): New function. + (bary_pack): Use bary_swap. + (bary_unpack_internal): Ditto. + +Sat Jun 22 23:18:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bytes_2comp): Renamed from quad_buf_complement. + (bary_pack): Use bytes_2comp. + (rb_quad_pack): Use rb_integer_pack. + (rb_quad_unpack): Use rb_integer_unpack. + +Sat Jun 22 21:46:18 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_unpack): Don't allocate a Bignum if possible. + +Sat Jun 22 21:03:58 2013 Tanaka Akira <akr@fsij.org> + + * pack.c (pack_unpack): Remove specialized unpackers for integers. + +Sat Jun 22 20:36:50 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_unpack_internal): Specialized unpacker implemented. + (bary_unpack): Support INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION. + (rb_integer_unpack): Support INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION. + +Sat Jun 22 18:53:10 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_pack): Support + INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION flag. + Fix byte order and word order handling in code specialized for + wordsize % SIZEOF_BDIGITS == 0. + + * internal.h (INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION): Defined. + +Sat Jun 22 15:41:25 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rgengc_check_shady): add new WB miss checking + on RGENGC_CHECK_MODE >= 2. + + (1) Save bitmaps before marking + (2) Run full marking + (3) On each traceable object, + (a) object was not oldgen (== newly or shady object) && + (b) parent object was oldgen && + (c) parent object was not remembered && + (d) object was not remembered + then, it should be WB miss. + + This idea of this checker is by Masaya Tarui <tarui@ruby-lang.org>. + +Sat Jun 22 15:25:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * ext/etc/etc.c (setup_passwd): revert r41560, unnecessary + +Sat Jun 22 14:39:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * ext/etc/etc.c (Init_etc): omit 'passwd' from definition of Etc::Passwd + if HAVE_STRUCT_PASSWD_PW_PASSWD is not defined to prevent mismatch of + fields and values in setup_passwd + +Sat Jun 22 14:35:40 2013 Tanaka Akira <akr@fsij.org> + + * ext/dl/cfunc.c (rb_dlcfunc_call): Use rb_big_pack instead of + rb_big2ulong_pack and rb_big2ull. + + * include/ruby/intern.h (rb_big2ulong_pack): Deprecated. + +Sat Jun 22 14:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * ext/etc/etc.c (setup_passwd): pass 0 as VALUE to rb_struct_new to + prevent segfault if the compiler passes it as a 32 bit integer on + a 64 bit ruby + +Sat Jun 22 13:47:13 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_pack): MEMZERO can be used even if nails is not zero. + +Sat Jun 22 13:43:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * ext/etc/etc.c (etc_getpwnam): use PRIsVALUE in format string instead + of %s and RSTRING_PTR + + * ext/etc/etc.c (etc_getgrnam): ditto + +Sat Jun 22 13:07:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (CLEAR_LOWBITS): Rewritten without RSHIFTX. + (RSHIFTX): Removed. + +Sat Jun 22 10:38:03 2013 Tanaka Akira <akr@fsij.org> + + * pack.c (num2i32): Removed. + (pack_pack): Don't use num2i32. + +Sat Jun 22 09:55:13 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (LSHIFTX): Defined to suppress a warning. + (RSHIFTX): Ditto. + (CLEAR_LOWBITS): Use LSHIFTX and RSHIFTX. + (FILL_LOWBITS): Use LSHIFTX. + Reported by ko1 via IRC. + +Sat Jun 22 09:11:33 2013 Ryan Davis <ryand-ruby@zenspider.com> + + * lib/minitest/*: Imported minitest 4.7.5 (r8724) + * test/minitest/*: ditto + +Sat Jun 22 07:20:30 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_prof_set_heap_info, after_gc_sweep): call + gc_prof_set_heap_info() just after sweeping to calculate + live object number correctly. + (live object number = total generated number (before marking) - + total freed number (after sweeping)) + + * gc.c (gc_marks): record `oldgen_object_count' into current profile` + record directly. + + * gc.c (rgengc_rememberset_mark): same for remembered_normal_objects + and remembered_shady_objects. + +Sat Jun 22 06:46:04 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace::profile): rename rb_objspace::profile::record to + records (because it points a set of records) and add a field + rb_objspace::profile::current_record to point a current profiling + record. + + * gc.c: use above fields. + +Sat Jun 22 06:05:36 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_gc_giveup_promoted_writebarrier): remove `rest_sweep()' + because all of remembered objects are called for gc_mark_children(). + +Sat Jun 22 05:08:03 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rgengc_rememberset_mark): call gc_mark_children() for + remembered objects directly instead of pushing on the mark stack. + +Sat Jun 22 04:48:53 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h (OBJ_WRITE): cast to (VALUE *) for second + parameter `slot'. You don't need to write a cast (VALUE *) any more. + + * class.c, compile.c, hash.c, iseq.c, proc.c, re.c, variable.c, + vm.c, vm_method.c: remove cast expressions for OBJ_WRITE(). + +Sat Jun 22 04:37:08 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (slot_sweep_body): rename to slot_sweep(). + No need to separate major/minor GC. + + * gc.c (gc_setup_mark_bits): remove gc_clear_mark_bits() and unify to + this function. + +Sat Jun 22 04:20:21 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (check_bitmap_consistency): add to check flag and bitmap consistency. + Use this function in several places. + +Sat Jun 22 02:18:07 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_pack): Specialized packers implemented. + (HOST_BIGENDIAN_P): New macro. + (ALIGNOF): New macro. + (CLEAR_LOWBITS): New macro. + (FILL_LOWBITS): New macro. + (swap_bdigit): New macro. + (bary_2comp): Returns an int. + + * internal.h (swap16): Moved from pack.c + (swap32): Ditto. + (swap64): Ditto. + +Fri Jun 21 21:29:49 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (typedef enum): Introduce flags of major gc reason. + * gc.c (garbage_collect_body): Ditto. + * gc.c (gc_profile_flags): Ditto. + * gc.c (gc_profile_dump_on): Ditto. + +Fri Jun 21 21:11:53 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (allocate_sorted_heaps): remove unused variable `add'. + +Fri Jun 21 20:50:32 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: constify RArray::as::ary and RArray::heap::ptr. + Use RARRAY_ASET() or RARRAY_PTR_USE() to modify Array objects. + + * array.c, gc.c: catch up above changes. + +Fri Jun 21 20:32:13 2013 Koichi Sasada <ko1@atdot.net> + + * vm_eval.c (eval_string_with_cref): fix WB miss. + +Fri Jun 21 20:15:49 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: support write barrier protection for T_STRUCT. + Introduce the following C APIs: + * RSTRUCT_RAWPTR(st) returns pointer (do WB on your risk). + The type of returned pointer is (const VALUE *). + * RSTRUCT_GET(st, idx) returns idx-th value of struct. + * RSTRUCT_SET(st, idx, v) set idx-th value by v with WB. + And + * RSTRUCT_PTR(st) returns pointer with shady operation. + The type of returned pointer is (VALUE *). + + * struct.c, re.c, gc.c, marshal.c: rewrite with above APIs. + +Fri Jun 21 19:38:37 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BDIGMAX): Use BIGRAD. + (BIGLO): Use BDIGMAX. + (bigdivrem1): Ditto. + (bigor_int): Ditto. + (rb_big_or): Ditto. + +Fri Jun 21 19:18:48 2013 Tanaka Akira <akr@fsij.org> + + * pack.c (pack_pack): Move the implementation for 'c' directive after + pack_integer label. + +Fri Jun 21 19:11:56 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h, re.c: support write barrier for T_REGEXP. + + Note: T_MATCH object is also easy to support write barriers. + However, most of T_MATCH objects are short-lived objects. + So I skipped to support non-shady T_MATCH. + +Fri Jun 21 18:56:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigsub_int): Use bdigit_roomof. + (bigadd_int): Ditto. + (bigand_int): Ditto. + (bigor_int): Ditto. + (bigxor_int): Ditto. + +Fri Jun 21 17:56:25 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: fix summary of benchmark result notation. + +Fri Jun 21 16:38:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * ext/openssl/ossl_x509attr.c: change OSSL_X509ATTR_IS_SINGLE and + OSSL_X509ATTR_SET_SINGLE macros to use ->value.set rather than + ->set to fix compile failure + +Fri Jun 21 15:26:45 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_sweep): profile sweep time correctly when LAZY_SWEEP is + disabled. + + * gc.c (gc_marks_test): store oldgen count and shady count + before test marking and restore them after marking. + +Fri Jun 21 15:07:42 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: enable lazy sweep (commit miss). + +Fri Jun 21 14:31:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * hash.c (ruby_setenv): refine error message so include the variable + name. + +Fri Jun 21 14:15:08 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix to use total_allocated_object_num and heaps_used + at the GC time for profiler. + +Fri Jun 21 12:35:35 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: RGENGC_CHECK_MODE should be 0. + +Fri Jun 21 11:18:25 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_marks_body): fix to get `th' in this function. + +Fri Jun 21 10:21:44 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (heaps_header/heaps_slot): embed bitmaps into heaps_slot. + no need to maintain allocation/free bitmaps. + +Fri Jun 21 09:22:16 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (slot_sweep_body): add counters at a time. + + * gc.c (gc_profile_dump_on): fix line break position. + +Fri Jun 21 08:14:00 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c: refactoring bitmaps. introduce bits_t type and some Consts. + +Fri Jun 21 08:04:32 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix to support USE_RGENGC == 0 (disable RGenGC). + If USE_RGENGC==0, it caused compilation error. + +Fri Jun 21 08:08:11 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (lazy_sweep): Use is_lazy_sweeping() + * gc.c (rest_sweep): Ditto. + * gc.c (gc_prepare_free_objects): Ditto. + +Fri Jun 21 07:34:47 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_record::oldgen_objects): added. + + * gc.c (gc_profile_dump_on): print the following information: + * Living object counts + * Free object counts + If RGENGC_PROFILE > 0 then + * Oldgen object counts + * Remembered normal object counts + * Remembered shady object counts + +Fri Jun 21 06:43:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_ull2big): Refactored. + (rb_uint2big): Useless code removed. + +Fri Jun 21 05:37:39 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_prof_sweep_timer_stop): accumulate sweep time only when + record->gc_time > 0. + +Fri Jun 21 00:37:31 2013 Tanaka Akira <akr@fsij.org> + + * ext/bigdecimal: Workaround fix for bigdecimal test failures caused + by [ruby-dev:47413] [Feature #8509] + + * ext/bigdecimal/bigdecimal.h (BDIGIT): Make it independent from the + definition for bignum.c. + (SIZEOF_BDIGITS): Ditto. + (BDIGIT_DBL): Ditto. + (BDIGIT_DBL_SIGNED): Ditto. + (PRI_BDIGIT_PREFIX): Undefine the definition. + (PRI_BDIGIT_DBL_PREFIX): Ditto. + + * ext/bigdecimal/bigdecimal.c (RBIGNUM_ZERO_P): Use rb_bigzero_p. + (bigzero_p): Removed. + (is_even): Use rb_big_pack. + +Thu Jun 20 22:52:42 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigmul1_toom3): Don't call bignorm twice. + +Thu Jun 20 22:49:27 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bignorm): Don't call bigtrunc if the result is a fixnum. + +Thu Jun 20 22:29:42 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_uint2big): Refactored. + +Thu Jun 20 22:24:41 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (dump_bignum): Use SIZEOF_BDIGITS. + +Thu Jun 20 22:22:46 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2ulong): Change the return type to unsigned long. + (rb_big2ulong_pack): Follow the above change. + (rb_big2long): Ditto. + (rb_big_lshift): Ditto. + (rb_big_rshift): Ditto. + (rb_big_aref): Ditto. + +Thu Jun 20 22:02:46 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_unpack_internal): Return -2 when negative overflow. + (bary_unpack): Set the overflowed bit if an extra BDIGIT exists. + (rb_integer_unpack): Set the overflowed bit. + +Thu Jun 20 21:17:19 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rgengc_rememberset_mark): record + (1) normal objects count in remember set + (2) shady objects count in remember set + each GC timing. + + * gc.c (gc_profile_record_get): enable to access above information + and REMOVING_OBJECTS, EMPTY_OBJECTS. + +Thu Jun 20 18:29:26 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: Do not use GC::Profiler::disable because + GC::Profiler::disable prohibit to access profiling data. It should + be spec bug. + + Skip GC::Profiler::report if RUBY_VERSION < '2.0.0' + +Thu Jun 20 17:59:08 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: stop GC::Profiler before output results. + Generating GC::Profiler result under profiling causes infinite loop. + +Thu Jun 20 17:24:24 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/gcbench.rb: don't use __dir__ to make compatible + with ruby 1.9.3. + +Thu Jun 20 16:57:19 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/bm_app_aobench.rb: use attr_accessor/reader instead of + defining methods. + +Thu Jun 20 16:46:46 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/bm_app_aobench.rb: added. + + * benchmark/gc/aobench.rb: added. + +Thu Jun 20 16:28:33 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/bm_so_binary_trees.rb: disable `puts' method + and change iteration parameter to increase execution time. + + * benchmark/gc/binarytree.rb: added. + +Thu Jun 20 16:06:37 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/pentomino.rb: added. + Simply load pentomino puzzle in the benchmark/ directory. + +Thu Jun 20 15:32:56 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc/redblack.rb: import red black tree benchmark from + https://github.com/jruby/rubybench/blob/master/time/bench_red_black.rb + + * benchmark/gc/ring.rb: add a benchmark. This benchmark create many + old objects. + +Thu Jun 20 15:14:00 2013 Koichi Sasada <ko1@atdot.net> + + * benchmark/gc: create a directory to store GC related benchmark. + + * benchmark/gc/gcbench.rb: moved from tool/gcbench.rb. + + * benchmark/gc/hash(1|2).rb: ditto. + + * benchmark/gc/rdoc.rb: ditto. + + * benchmark/gc/null.rb: added. + + * common.mk: fix rule. + +Thu Jun 20 14:09:54 2013 Koichi Sasada <ko1@atdot.net> + + * tool/hashbench1.rb: fix parameter too. Increase temporary objects. + +Thu Jun 20 14:01:35 2013 Koichi Sasada <ko1@atdot.net> + + * tool/hashbench1.rb: fix parameters. + +Thu Jun 20 14:00:34 2013 Koichi Sasada <ko1@atdot.net> + + * common.mk: remove dependency from ruby. + +Thu Jun 20 13:14:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * error.c (rb_check_backtrace): evaluate RARRAY_AREF only once. + the first argument of RB_TYPE_P is expanded twice for non-immediate + types. + +Thu Jun 20 08:09:29 2013 Koichi Sasada <ko1@atdot.net> + + * tool/gcbench.rb: Summary in one line. + + * common.mk: separate gcbench-hash to gcbench-hash1 and gcbench-hash2. + +Thu Jun 20 08:07:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BIGSIZE): New macro. + (bigfixize): Use BIGSIZE. + (big2ulong): Ditto. + (check_shiftdown): Ditto. + (rb_big_aref): Ditto. + +Thu Jun 20 07:46:48 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (rb_gc_writebarrier): give up rescan A and register B directly + if A has huge number of children. + +Thu Jun 20 07:30:35 2013 Koichi Sasada <ko1@atdot.net> + + * common.mk: add new rules `gcbench-rdoc', `gcbench-hash'. + + * tool/gcbench.rb: separate GC bench framework and process. + + * tool/hashbench1.rb, tool/hashbench2.rb: add two types GC bench. + hashbench1: many temporal objects (GC by newobj) + hashbench2: hash size becomes bigger and bigger (GC by malloc) + Two benches are executed by `gcbench-hash' rule. + + * tool/rdocbench.rb: separated. + +Thu Jun 20 06:25:39 2013 Koichi Sasada <ko1@atdot.net> + + * tool/rdocbench.rb: add summary. + +Thu Jun 20 06:18:01 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_total_time): check objspace->profile.next_index > 0. + +Thu Jun 20 05:47:41 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_prof_sweep_timer_start): fix merge miss. + + * gc.c (GC_PROFILE_MORE_DETAIL): set it 0. + +Thu Jun 20 05:38:56 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: Accumulate sweep time to GC time. + Now [GC time] is [mark time] + [sweep time] + [misc]. + ([GC time] >= [mark time] + [sweep time]) + + * gc.c (gc_prof_sweep_slot_timer_start/stop): rename to + gc_prof_sweep_timer_start/stop and locate at lazy_sweep(). + + * gc.c (elapsed_time_from): add a utility function. + +Thu Jun 20 05:08:53 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_marks): fix wrong option. FALSE means major/full GC. + It should be TRUE (minor marking). + +Thu Jun 20 02:44:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (waitpid): should not return 0 but wait until exit + unless WNOHANG is given. waiting huge process may return while + active, for some reason. + +Thu Jun 20 01:34:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bdigit_roomof): Use SIZEOF_BDIGITS. + (bigfixize): Refine an ifdef condition. + (rb_absint_size): Use bdigit_roomof. + (rb_absint_singlebit_p): Ditto. + (rb_integer_pack): Ditto. + (integer_pack_fill_dd): Use BITSPERDIG. + (integer_unpack_push_bits): Use BITSPERDIG, BIGLO and BIGDN. + +Thu Jun 20 01:07:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (MARKED_IN_BITMAP, FL_TEST2): return boolean value since always + used as boolean value. + + * gc.c (MARK_IN_BITMAP, CLEAR_IN_BITMAP): evaluate bits once. + +Thu Jun 20 00:05:07 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (RVALUE_PROMOTED): fix type. + +Wed Jun 19 23:39:01 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_marks_test): rewrite checking code. + When RGENGC_CHECK_MODE >= 2, all minor marking, run normal minor + marking *and* major/full marking. After that, compare the results + and shows BUG if a object living with major/full marking but dead + with minor marking. + After detecting bugs, print references information. + (RGENGC_CHECK_MODE == 2, show references to dead object) + (RGENGC_CHECK_MODE == 3, show all references) + +Wed Jun 19 23:51:48 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigfixize): Use rb_absint_size. + (check_shiftdown): Ditto. + (big2ulong): Use bdigit_roomof. + +Wed Jun 19 23:32:23 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (RVALUE_PROMOTED): check consistency between oldgen flag and + oldgen bitmap if RGENGC_CHECK_MODE > 0. + +Wed Jun 19 23:29:29 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_gc_force_recycle): clear oldgen bitmap, too. + +Wed Jun 19 21:02:13 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_uint2big): Consider environments BDIGIT is bigger than + long. + (big2ulong): Ditto. + (rb_big_aref): Ditto. + (rb_big_pack): Just call rb_integer_pack. + (rb_big_unpack): Just call rb_integer_unpack. + +Wed Jun 19 20:51:21 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * gc.c (gc_stress_get): GC.stress can be Fixnum. + +Wed Jun 19 19:31:30 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (DIGSPERLONG): Don't define if BDIGIT is bigger than long. + (DIGSPERLL): Don't define if BDIGIT is bigger than LONG_LONG + (rb_absint_size): Consider environments BDIGIT is bigger than long. + Use BIGLO and BIGDN. + (rb_absint_singlebit_p): Ditto. + (rb_integer_pack): Ditto. + (bigsub_int): Consider environments BDIGIT is bigger than long. + Use SIZEOF_BDIGITS instead of sizeof(BDIGIT). + (bigadd_int): Ditto. + (bigand_int): Ditto. + (bigor_int): Ditto. + (bigxor_int): Ditto. + +Wed Jun 19 15:14:30 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h (struct rb_data_type_struct), gc.c: add + rb_data_type_struct::flags. Now, this flags is passed + at T_DATA object creation. You can specify FL_WB_PROTECTED + on this flag. + + * iseq.c: making non-shady iseq objects. + + * class.c, compile.c, proc.c, vm.c: add WB for iseq objects. + + * vm_core.h, iseq.h: constify fields to detect WB insertion. + +Wed Jun 19 15:11:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (gc_mark_children): show more info for broken object. + +Wed Jun 19 14:04:41 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * test/ruby/envutil.rb (EnvUtil#rubybin): remove unnecessary + unless expression. + +Wed Jun 19 07:47:48 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (garbage_collect_body): use FIX2INT for ruby_gc_stress. + +Wed Jun 19 07:44:31 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_objspace::gc_stress): int -> VALUE to store Fixnum object. + +Wed Jun 19 07:25:35 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (make_deferred): clear flags to T_ZOMBIE. + + * gc.c (slot_sweep_body): fix indent. + +Wed Jun 19 07:18:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_aref): Apply BIGLO to ~xds[i] for environment which + BDIGIT is 16bit. + +Wed Jun 19 07:09:26 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rgengc_remember): fix output level. + + * gc.c (rgengc_rememberset_mark): fix to output clear count. + (shady_object_count + clear_count = count of remembered objects) + +Wed Jun 19 07:06:21 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rgengc_remember): check T_NONE and T_ZOMBIE + if RGENGC_CHECK_MODE > 0. + +Wed Jun 19 07:02:19 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (RGENGC_CHECK_MODE): add new check mode `3'. + In this mode, show all references if there is + a miss-corrected object. + +Wed Jun 19 06:31:08 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_stress_set): add special option of GC.stress. + `GC.stress=(flag)' accepts integer to control behavior of GC. + See code for details. Of course, this feature is only for MRI. + + You can debug RGenGC (WB) using `GC.stress = 1'. + Using this option, do minor marking at all possible places. + + GC::STRESS_MINOR_MARK = 1 and GC::STRESS_LAZY_SWEEP = 2 + seem good to add. + +Wed Jun 19 06:29:31 2013 Koichi Sasada <ko1@atdot.net> + + * vm.c (kwmerge_i): add WB. + +Wed Jun 19 06:26:49 2013 Koichi Sasada <ko1@atdot.net> + + * hash.c: `st_update()' also has same issue of last fix. + write barriers at callback function are too early. + All write barriers are executed after `st_update()' + +Wed Jun 19 04:33:22 2013 Koichi Sasada <ko1@atdot.net> + + * variable.c (rb_const_set): fix WB miss. + + WBs had located before creating reference between a klass + and constant value. It causes GC bug. + + # pseudo code: + WB(klass, value); # WB and remember klass + st_insert(klass->const_table, const_id, value); + + `st_insert()' can cause GC before inserting `value' and + forget `klass' from the remember set. After that, relationship + between `klass' and `value' are created with constant table. + Now, `value' can be young (shady) object and `klass' can be old + object, without remembering `klass' object. + At the next GC, old `klass' object will be skipped and + young (shady) `value' will be miss-collected. -> GC bug + + Lesson: The place of a WB is important. + +Tue Jun 18 22:01:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * vm_insnhelper.c (vm_call_method): ensure methods of type + VM_METHOD_TYPE_ATTR_SET are called with 1 argument + + * test/ruby/test_module.rb + (TestModule#test_attr_writer_with_no_arguments): add test + [ruby-core:55543] [Bug #8540] + +Tue Jun 18 22:36:23 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_profile_record_flag): fix typo. + +Tue Jun 18 22:08:53 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/objspace/object_tracing.c: Return for ::allocation_generation + +Tue Jun 18 22:04:35 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/objspace/object_tracing.c: Document object_tracing methods. + +Tue Jun 18 21:58:17 2013 Zachary Scott <zachary@zacharyscott.net> + + * gc.c: Rename rb_mObSpace -> rb_mObjSpace + +Tue Jun 18 20:55:05 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/objspace/objspace.c: Document ObjectSpace::InternalObjectWrapper. + +Tue Jun 18 20:39:04 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/objspace/object_tracing.c: Teach rdoc object_tracing.c [Bug #8537] + +Tue Jun 18 20:29:47 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/.document: add object_tracing.c to document file + +Tue Jun 18 20:20:27 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/objspace/objspace.c: rdoc on require to overview from r41355 + +Tue Jun 18 18:39:58 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Check __int128. + + * include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available. + (BDIGIT): Use uint64_t if uint128_t is available. + (SIZEOF_BDIGITS): Defined for above case. + (BDIGIT_DBL_SIGNED): Ditto. + (PRI_BDIGIT_PREFIX): Ditto. + + * include/ruby/ruby.h (PRI_64_PREFIX): Defined. + + * bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which + rb_big_pow returns Float or Bignum. + + [ruby-dev:47413] [Feature #8509] + +Tue Jun 18 16:43:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_heredoc_restore): clear lex_strterm always to get + rid of marking recycled node. this bug is revealed by r41372 with + GC.stress=true. + +Tue Jun 18 12:53:25 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (nlz): Cast the result explicitly. + (big2dbl): Don't assign BDIGIT values to int variable. + +Tue Jun 18 12:25:16 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_xor): Non-effective code removed. + +Tue Jun 18 11:26:05 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_stat): add `generated_normal_object_count_types' for + RGENGC_PROFILE >= 2. + +Tue Jun 18 11:02:18 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_mark_maybe): check to skip T_NONE. + + * gc.c (markable_object_p): do not need to check (flags == 0) here. + +Tue Jun 18 10:17:37 2013 Koichi Sasada <ko1@atdot.net> + + * variable.c (rb_autoload): fix WB miss. + +Tue Jun 18 04:20:18 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_mark_children): don't need to care about T_ZOMBIE here. + +Mon Jun 17 22:16:02 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc): + run test for r41359. + +Mon Jun 17 21:42:18 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * include/ruby/ruby.h, vm_eval.c (rb_funcall_with_block): + new function to invoke a method with a block passed + as an argument. + + * string.c (sym_call): use the above function to avoid + a block sharing. [ruby-dev:47438] [Bug #8531] + + * vm_insnhelper.c (vm_yield_with_cfunc): don't set block + in the frame. + + * test/ruby/test_symbol.rb (TestSymbol#test_block_given_to_proc): + run related tests. + +Mon Jun 17 21:33:27 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * include/ruby/intern.h, proc.c (rb_method_call_with_block): + new function to invoke a Method object with a block passed + as an argument. + + * proc.c (bmcall): use the above function to avoid a block sharing. + [ruby-core:54626] [Bug #8341] + + * test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls): + run related tests. + +Mon Jun 17 20:53:21 2013 Tanaka Akira <akr@fsij.org> + + * loadpath.c (RUBY_REVISION): Defined to suppress revision.h + inclusion actually. r41352 removes the dependency. + +Mon Jun 17 18:15:57 2013 Benoit Daloze <eregontp@gmail.com> + + * ext/objspace/objspace.c: let rdoc know about objspace methods. + Specify 'objspace' should be required. See #8537. + +Mon Jun 17 17:44:31 2013 Benoit Daloze <eregontp@gmail.com> + + * gc.c (ObjectSpace): is a module not a class. + + * ext/objspace/objspace.c: try to include overview in rdoc, + see #8537. + +Mon Jun 17 17:38:24 2013 Benoit Daloze <eregontp@gmail.com> + + * gc.c: fix example of ObjectSpace.define_finalizer in overview + +Mon Jun 17 16:59:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/tk/tkutil/tkutil.c: use rb_sprintf(), rb_id2str(), and + rb_intern_str() instead of rb_intern() and RSTRING_PTR() with + RB_GC_GUARD(), to prevent temporary objects from GC. + [ruby-core:39000] [Bug #5199] + +Mon Jun 17 14:27:54 2013 Zachary Scott <zachary@zacharyscott.net> + + * vm_backtrace.c: Update rdoc for Backtrace#label with @_ko1 + +Mon Jun 17 13:04:01 2013 Akinori MUSHA <knu@iDaemons.org> + + * tool/ifchange (until): Fix the condition, although harmless in + this case. + +Mon Jun 17 11:50:29 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_mark_maybe): added. check `is_pointer_to_heap()' and + type is not T_ZOMBIE. + + * gc.c: use `gc_mark_maybe()'. T_ZOMBIE objects should not be pushed + to the mark stack. + +Mon Jun 17 07:56:24 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_small_lshift): Renamed from bdigs_small_lshift. + (bary_small_rshift): Renamed from bdigs_small_rshift. + +Mon Jun 17 07:38:48 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (absint_numwords_bytes): Removed. + (rb_absint_numwords): Don't call absint_numwords_bytes. + +Sun Jun 16 23:14:58 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (BARY_ADD): New macro. + (BARY_SUB): Ditto. + (BARY_MUL): Ditto. + (BARY_DIVMOD): Ditto. + (BARY_ZERO_P): Ditto. + (absint_numwords_generic): Use these macros. + +Sun Jun 16 21:41:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_2comp): Extracted from get2comp. + (integer_unpack_num_bdigits): Extracted from + rb_integer_unpack_internal. + (bary_unpack_internal): Renamed from bary_unpack and support + INTEGER_PACK_2COMP. + (bary_unpack): New function to validate arguments and invoke + bary_unpack_internal. + (rb_integer_unpack_internal): Removed. + (rb_integer_unpack): Invoke bary_unpack_internal. + (rb_integer_unpack_2comp): Removed. + + * internal.h (rb_integer_unpack_2comp): Removed. + + * pack.c: Follow the above change. + +Sun Jun 16 18:41:42 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (INTEGER_PACK_2COMP): Defined. + (rb_integer_pack_2comp): Removed. + + * bignum.c (bary_pack): Support INTEGER_PACK_2COMP. + (rb_integer_pack): Invoke bary_pack directly. + (rb_integer_pack_2comp): Removed. + (rb_integer_pack_internal): Ditto. + (absint_numwords_generic): Follow the above change. + + * pack.c (pack_pack): Ditto. + + * sprintf.c (rb_str_format): Ditto. + +Sun Jun 16 17:48:14 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (absint_numwords_generic): rb_funcall invocations removed. + +Sun Jun 16 16:04:38 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * tool/config_files.rb: use URI.read to allow it runs with Ruby 1.8.5. + +Sun Jun 16 14:32:25 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_pack) Extracted from rb_integer_pack_internal. + (absint_numwords_generic): Use bary_pack. + +Sun Jun 16 11:01:57 2013 Kouhei Sutou <kou@cozmixng.org> + + * NEWS (XMLRPC::Client#http): Add. + [ruby-core:55197] [Feature #8461] + +Sun Jun 16 10:38:45 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_add): New function. + (bary_zero_p): Extracted from bigzero_p. + (absint_numwords_generic): Use bary_zero_p and bary_add. + (bary_mul): Fix an argument for bary_mul_single. + (bary_divmod): Use size_t for arguments. + +Sun Jun 16 08:55:22 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Use a BDIGIT variable to store the return + value of bigdivrem_single. + +Sun Jun 16 08:43:59 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_divmod): New function. + (absint_numwords_generic): Use bary_divmod. + (bigdivrem_num_extra_words): Extracted from bigdivrem. + (bigdivrem_single): Ditto. + (bigdivrem_normal): Ditto. + (BIGDIVREM_EXTRA_WORDS): Defined. + +Sun Jun 16 05:51:51 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c: Fixup around GC by MALLOC. + Add allocate size to malloc_increase before GC + for updating limit in after_gc_sweep. + Reset malloc_increase into garbage_collect() + for preventing GC again soon. + +Sun Jun 16 05:15:36 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c: Add some columns to more detail profile. + new columns: Allocated size, Prepare Time, Removing Objects, Empty Objects + +Sun Jun 16 02:04:40 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_prof_timer_stop): Merge function codes of GC_PROFILE_MORE_DETAIL and !GC_PROFILE_MORE_DETAIL. + * gc.c (gc_prof_mark_timer_start): Ditto. + * gc.c (gc_prof_mark_timer_stop): Ditto. + * gc.c (gc_prof_sweep_slot_timer_start): Ditto. + * gc.c (gc_prof_sweep_slot_timer_stop): Ditto. + * gc.c (gc_prof_set_malloc_info): Ditto. + * gc.c (gc_prof_set_heap_info): Ditto. + +Sat Jun 15 23:50:24 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_sub): New function. + (absint_numwords_generic): Use bary_sub. + (bigsub_core): Skip unnecessary copy. + +Sat Jun 15 22:05:30 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_mul): New function. + (absint_numwords_generic): Use bary_mul. + (bary_mul_single): Extracted from bigmul1_single. + (bary_mul_normal): Extracted from bigmul1_normal. + +Sat Jun 15 20:13:46 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bary_unpack): Extracted from rb_integer_unpack_internal. + (absint_numwords_generic): Use bary_unpack. + (roomof): Defined. + (bdigit_roomof): Defined. + (BARY_ARGS): Defined. + (bary_unpack): Declared. + +Sat Jun 15 19:35:04 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (absint_numwords_bytes): Make it static. + (absint_numwords_small): Ditto. + (absint_numwords_generic): Ditto. + +Sat Jun 15 17:14:32 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigmul1_normal): Shrink the result Bignum length. + +Sat Jun 15 10:19:42 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/bigdecimal/bigdecimal.c: Update overview formatting of headers + +Sat Jun 15 10:19:06 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/bigdecimal/bigdecimal.gemspec: Update authors + +Sat Jun 15 10:02:26 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bdigs_small_rshift): Extracted from big_rshift. + (bigdivrem): Use bdigs_small_rshift. + +Sat Jun 15 08:37:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (eval_string_with_cref): propagate absolute path from the + binding if it is given explicitly. patch by Gat (Dawid Janczak) at + [ruby-core:55123]. [Bug #8436] + +Sat Jun 15 02:40:18 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bdigs_small_lshift): Extracted from big_lshift. + (bigdivrem): Use bdigs_small_lshift. + +Fri Jun 14 20:47:41 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Reduce number of digits before bignew() for div. + +Fri Jun 14 20:12:37 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Use bignew when ny == 1. + +Fri Jun 14 18:52:51 2013 Koichi Sasada <ko1@atdot.net> + + * compile.c (rb_iseq_compile_node): fix location of a `trace' + instruction (b_return event). + [ruby-core:55305] [ruby-trunk - Bug #8489] + (need a backport to 2.0.0?) + + * test/ruby/test_settracefunc.rb: add a test. + +Fri Jun 14 18:18:07 2013 Koichi Sasada <ko1@atdot.net> + + * class.c, include/ruby/ruby.h: add write barriers for T_CLASS, + T_MODULE, T_ICLASS. + + * constant.h: constify rb_const_entry_t::value and file to detect + assignment. + + * variable.c, internal.h (rb_st_insert_id_and_value, rb_st_copy): + added. update table with write barrier. + + * method.h: constify some variables to detect assignment. + + * object.c (init_copy): add WBs. + + * variable.c: ditto. + + * vm_method.c (rb_add_method): ditto. + +Fri Jun 14 14:33:47 2013 Shugo Maeda <shugo@ruby-lang.org> + + * NEWS: add a note for Module#using. + +Fri Jun 14 13:40:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * .travis.yml (before_script): update config files. + + * common.mk ($(srcdir)/tool/config.{guess,sub}): use get-config_files. + + * tool/config_files.rb: split get-config_files. + + * common.mk (update-config_files): rule to download config files. + + * tool/config.guess, tool/config.sub: remove and download from the + upstream. + + * tool/config_files.rb: download config files from GNU. + +Fri Jun 14 12:21:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): suppress warnings + "left-hand operand of comma expression has no effect", on gcc 4.4. + +Fri Jun 14 09:48:48 2013 Shugo Maeda <shugo@ruby-lang.org> + + * NEWS: add notes for $SAFE. + + * doc/security.rdoc: remove the description of $SAFE=4. + +Fri Jun 14 00:14:29 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Zero test condition simplified. + +Thu Jun 13 23:43:11 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/bigdecimal/*: improve documentation, nodoc samples with @mrkn + +Thu Jun 13 23:02:14 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/xmlrpc/client.rb (XMLRPC::Client#http): Add reader for raw + Net::HTTP. [ruby-core:55197] [Feature #8461] + Reported by Herwin Weststrate. Thanks!!! + +Thu Jun 13 22:44:52 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Support + multiple names in a response. [ruby-core:41711] [Bug #5774] + Reported by Roman Riha. Thanks!!! + * test/xmlrpc/test_client.rb (XMLRPC::ClientTest#test_cookie_override): + Add a test of the above case. + +Thu Jun 13 22:35:50 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Use + guard style. + +Thu Jun 13 22:12:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/fileutils.rb (FileUtils#rmdir): fix traversal loop, not trying + remove same directory only. + +Thu Jun 13 21:30:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (opt-dir), tool/ifchange: get rid of "alternate value" + expansion for legacy sh. [ruby-dev:47420] [Bug #8524] + +Thu Jun 13 21:24:09 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Refactored to use ALLOCV_N for temporary + buffers. + +Thu Jun 13 18:54:11 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * bignum.c (integer_unpack_num_bdigits_generic): reorder terms (but not + changed the intention of the expression) because VC++ reports a + warning for it. reported by ko1 via IRC. + +Thu Jun 13 18:53:14 2013 Tanaka Akira <akr@fsij.org> + + * test/ruby/test_thread.rb (test_thread_local_security): Don't create + an unused thread. + +Thu Jun 13 18:34:20 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bigdivrem): Use nlz. + +Thu Jun 13 14:51:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): check constant safe + level at compile time. + +Thu Jun 13 14:39:08 2013 Shugo Maeda <shugo@ruby-lang.org> + + * test/-ext-/test_printf.rb, test/rss/test_parser.rb, + test/ruby/test_array.rb, test/ruby/test_hash.rb, + test/ruby/test_m17n.rb, test/ruby/test_marshal.rb, + test/ruby/test_object.rb, test/ruby/test_string.rb: don't use + untrusted?, untrust, and trust to avoid warnings in case $VERBOSE is + true. + +Thu Jun 13 10:47:16 2013 Shugo Maeda <shugo@ruby-lang.org> + + * bootstraptest/test_autoload.rb, bootstraptest/test_method.rb: + remove tests for $SAFE=4. + + * lib/pp.rb: use taint instead of untrust to avoid warnings when + $VERBOSE is set to true. + +Thu Jun 13 06:12:18 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_unpack_num_bdigits_small): Fix a compile error on + clang -Werror,-Wshorten-64-to-32 + Reported by Eric Hodel. [ruby-core:55467] [Bug #8522] + +Thu Jun 13 05:32:13 2013 Eric Hodel <drbrain@segment7.net> + + * ext/socket/extconf.rb: Enable RFC 3542 IPV6 socket options for OS X + 10.7+. [ruby-trunk - Bug #8517] + +Thu Jun 13 00:17:18 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_unpack_2comp): New function. + (rb_integer_unpack_internal): Extracted from rb_integer_unpack and + nlp_bits_ret argument added. + (integer_unpack_num_bdigits_small): nlp_bits_ret argument added to + return number of leading padding bits. + (integer_unpack_num_bdigits_generic): Ditto. + + * internal.h (rb_integer_unpack_2comp): Declared. + + * pack.c (pack_unpack): Use rb_integer_unpack_2comp and + rb_integer_unpack. + +Wed Jun 12 23:27:03 2013 Shugo Maeda <shugo@ruby-lang.org> + + * eval.c (mod_using): new method Module#using, which activates + refinements of the specified module only in the current class or + module definition. [ruby-core:55273] [Feature #8481] + + * test/ruby/test_refinement.rb: related test. + +Wed Jun 12 22:58:48 2013 Shugo Maeda <shugo@ruby-lang.org> + + * safe.c (rb_set_safe_level, safe_setter): raise an ArgumentError + when $SAFE is set to 4. $SAFE=4 is now obsolete. + [ruby-core:55222] [Feature #8468] + + * object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust): + Kernel#untrusted?, untrust, and trust are now deprecated. + Their behavior is same as tainted?, taint, and untaint, + respectively. + + * include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED() + and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(), + respectively. + + * array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c, + ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c, + ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c, + ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c, + ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c, + ext/socket/socket.c, ext/socket/udpsocket.c, + ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c, + ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c, + load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c, + safe.c, string.c, thread.c, transcode.c, variable.c, + vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for + $SAFE=4. + + * test/dl/test_dl2.rb, test/erb/test_erb.rb, + test/readline/test_readline.rb, + test/readline/test_readline_history.rb, test/ruby/test_alias.rb, + test/ruby/test_array.rb, test/ruby/test_dir.rb, + test/ruby/test_encoding.rb, test/ruby/test_env.rb, + test/ruby/test_eval.rb, test/ruby/test_exception.rb, + test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb, + test/ruby/test_io.rb, test/ruby/test_method.rb, + test/ruby/test_module.rb, test/ruby/test_object.rb, + test/ruby/test_pack.rb, test/ruby/test_rand.rb, + test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb, + test/ruby/test_struct.rb, test/ruby/test_thread.rb, + test/ruby/test_time.rb: remove tests for $SAFE=4. + +Wed Jun 12 22:18:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_unpack_num_bdigits_generic): Rewritten without + rb_funcall. + (integer_unpack_num_bdigits_bytes): Removed. + (rb_integer_unpack): integer_unpack_num_bdigits_bytes invocation + removed. + +Wed Jun 12 20:18:03 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/xmlrpc/client.rb (XMLRPC::Client#parse_set_cookies): Extract. + +Wed Jun 12 18:19:41 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (validate_integer_pack_format): supported_flags argument + added and validate given flags. + (rb_integer_pack_internal): Specify supported_flags. + (rb_integer_unpack): Ditto. + +Wed Jun 12 16:41:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_sort_bang): remove duplicated assertions. + ARY_HEAP_PTR() implies ary not to be embedded. [ruby-dev:47419] + [Bug #8518] + +Wed Jun 12 12:44:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (io_getc): fix 7bit coderange condition, check if ascii read + data instead of read length. [ruby-core:55444] [Bug #8516] + +Wed Jun 12 12:35:13 2013 Tanaka Akira <akr@fsij.org> + + * pack.c (pack_pack): Use rb_integer_pack_2comp. + +Wed Jun 12 12:07:04 2013 Tanaka Akira <akr@fsij.org> + + * sprintf.c (rb_str_format): Fix a dynamic format string. + +Wed Jun 12 12:04:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_uniq_bang): must not be modified once frozen even in + a callback method. + +Wed Jun 12 12:03:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_sort_bang): must not be modified once frozen even in + a callback method. + +Wed Jun 12 12:00:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (FL_SET_EMBED): shared object is frozen even when get + unshared. + + * array.c (rb_ary_modify): ARY_SET_CAPA needs unshared array. + +Wed Jun 12 07:32:01 2013 Tanaka Akira <akr@fsij.org> + + * random.c (rand_int): Use rb_big_uminus. + +Wed Jun 12 07:12:54 2013 Eric Hodel <drbrain@segment7.net> + + * struct.c: Improve documentation: replace "instance variable" with + "member", recommend the use of a block to customize structs, note + that member accessors are created, general cleanup. + +Wed Jun 12 06:35:01 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (INTEGER_PACK_NEGATIVE): Defined. + (rb_integer_unpack): sign argument removed. + + * bignum.c (rb_integer_unpack): sign argument removed. + Non-negative integers generated by default. + INTEGER_PACK_NEGATIVE flag is used to generate non-positive integers. + + * pack.c (pack_unpack): Follow the above change. + + * random.c (int_pair_to_real_inclusive): Ditto. + (make_seed_value): Ditto. + (mt_state): Ditto. + (limited_big_rand): Ditto. + + * marshal.c (r_object0): Ditto. + +Wed Jun 12 00:07:46 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/xmlrpc/test_client.rb (XMLRPC::ClientTest#test_cookie_simple): + Add a test for the extracted method. + +Tue Jun 11 23:56:24 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/xmlrpc/test_client.rb (XMLRPC::ClientTest::Fake::HTTP#started): + Add a missing empty line. + +Tue Jun 11 23:37:19 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (validate_integer_pack_format): Don't require a word order + flag if numwords is 1 or less. + (absint_numwords_generic): Don't specify a word order for + rb_integer_pack. + + * hash.c (rb_hash): Ditto. + + * time.c (v2w_bignum): Ditto. + +Tue Jun 11 23:01:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (validate_integer_pack_format): Refine error messages. + +Tue Jun 11 22:25:04 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (validate_integer_pack_format): numwords argument added. + Move a varidation from rb_integer_pack_internal and rb_integer_unpack. + (rb_integer_pack_internal): Follow above change. + (rb_integer_unpack): Ditto. + +Tue Jun 11 20:52:43 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_pack_internal): Renamed from rb_integer_pack + and overflow_2comp argument added. + (rb_integer_pack): Just call rb_integer_pack_internal. + (rb_integer_pack_2comp): New function. + + * internal.h (rb_integer_pack_2comp): Declared. + + * sprintf.c (rb_str_format): Use rb_integer_pack and + rb_integer_pack_2comp to format binary/octal/hexadecimal integers. + (ruby_digitmap): Declared. + (remove_sign_bits): Removed. + (BITSPERDIG): Ditto. + (EXTENDSIGN): Ditto. + +Tue Jun 11 16:15:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (ary_shrink_capa): shrink the capacity so it fits just with + the length. + + * array.c (ary_make_shared): release never used elements from frozen + array to be shared. [ruby-dev:47416] [Bug #8510] + +Tue Jun 11 12:49:01 2013 Zachary Scott <zachary@zacharyscott.net> + + * doc/re.rdoc: Rename to doc/regexp.rdoc + * re.c: Update rdoc include for rename of file + +Tue Jun 11 07:13:13 2013 Masaya Tarui <tarui@ruby-lang.org> + + * eval_error.c (error_print): keep that errat is non-shady object. + and guard errat from GC. + +Tue Jun 11 05:04:25 2013 Benoit Daloze <eregontp@gmail.com> + + * ext/racc/cparse/cparse.c: use rb_ary_entry() and + rb_ary_subseq() instead of RARRAY_PTR. + Based on a patch by Dirkjan Bussink. See Bug #8399. + +Mon Jun 10 23:51:51 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * array.c (rb_ary_new_from_values): fix a typo. pointed out by + nagachika. + http://d.hatena.ne.jp/nagachika/20130610/ruby_trunk_changes_41199_41220 + +Mon Jun 10 21:51:03 2013 Kouhei Sutou <kou@cozmixng.org> + + * ext/socket/raddrinfo.c (nogvl_getaddrinfo): Fix indent. + +Mon Jun 10 21:49:43 2013 Kouhei Sutou <kou@cozmixng.org> + + * ext/socket/raddrinfo.c (nogvl_getaddrinfo): Add missing return + value assignment. + +Mon Jun 10 20:58:11 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/socket/raddrinfo.c (nogvl_getaddrinfo): work around for Ubuntu + 13.04's getaddrinfo issue with mdns4. [ruby-list:49420] + +Mon Jun 10 19:34:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_pack): Returns sign instead of words. + (absint_numwords_generic): Follow the above change. + (big2str_base_powerof2): Follow the above change. + + * internal.h: Ditto. + + * hash.c (rb_hash): Ditto. + + * pack.c (pack_pack): Ditto. + + * random.c (int_pair_to_real_inclusive): Ditto. + (rand_init): Ditto. + (random_load): Ditto. + (limited_big_rand): Ditto. + + * time.c (v2w_bignum): Ditto. + +Mon Jun 10 17:20:01 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rgengc_remember): permit promoted object. + (rb_gc_writebarrier -> remember) + +Mon Jun 10 17:14:01 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (RVALUE_PROMOTE): fix parameter name (`x' to `obj') + and make it inline function (like RVALUE_PROMOTE). + +Mon Jun 10 16:22:50 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (rb_ary_new_from_values): add assertion + (ary should be young object). + +Mon Jun 10 16:05:59 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (wmap_mark): check allocation of `w->obj2wmap'. + (no-allocation `w->obj2wmap' will be NULL pointer reference) + +Mon Jun 10 15:36:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval_error.c (error_print): use checking functions instead of + catching exceptions. + + * eval_error.c (error_print): restore errinfo for the case new + exception raised while printing the message. [ruby-core:55365] + [Bug #8501] + + * eval_error.c (error_print): reduce calling setjmp. + +Mon Jun 10 12:10:06 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_unpack_num_bdigits_small: Extracted from + rb_integer_unpack. + (integer_unpack_num_bdigits_generic): Ditto. + (integer_unpack_num_bdigits_bytes): New function. + (rb_integer_unpack): Use above functions. + Return a Bignum for INTEGER_PACK_FORCE_BIGNUM even when the result + is zero. + +Mon Jun 10 05:38:23 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (absint_numwords_small): New function. + (absint_numwords_generic): Use absint_numwords_small if possible. + +Mon Jun 10 01:07:57 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (absint_numwords_bytes): New function. + (absint_numwords_generic): Extracted from rb_absint_numwords. + (rb_absint_numwords): Use absint_numwords_bytes if possible. + +Sun Jun 9 21:33:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_absint_numwords): Return (size_t)-1 when overflow. + Refine variable names. + (rb_absint_size): Refine variable names. + + * internal.h (rb_absint_size): Refine an argument name. + (rb_absint_numwords): Ditto. + +Sun Jun 9 16:51:41 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_absint_numwords): Renamed from rb_absint_size_in_word. + + * internal.h (rb_absint_numwords): Follow the above change. + + * pack.c (pack_pack): Ditto. + + * random.c (rand_init): Ditto. + (limited_big_rand): Ditto. + +Sun Jun 9 14:41:05 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_pack): numwords_allocated argument removed. + + * internal.h (rb_integer_pack): Follow the above change. + + * hash.c (rb_hash): Ditto. + + * time.c (v2w_bignum): Ditto. + + * pack.c (pack_pack): Ditto. + + * random.c (int_pair_to_real_inclusive): Ditto. + (rand_init): Ditto. + (random_load): Ditto. + (limited_big_rand): Ditto. + +Sun Jun 9 09:34:44 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big2str_base_powerof2): New function. + (rb_big2str0): Use big2str_base_powerof2 if base is 2, 4, 8, 16 or 32. + +Sun Jun 9 00:59:04 2013 Tanaka Akira <akr@fsij.org> + + * hash.c (rb_hash): Use rb_integer_pack to obtain least significant + long integer. + +Sat Jun 8 23:56:00 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (rb_num_to_uint): Use rb_absint_size instead of + RBIGNUM_LEN. + +Sat Jun 8 22:53:45 2013 Tanaka Akira <akr@fsij.org> + + * marshal.c (r_object0): Use rb_integer_unpack. + +Sat Jun 8 22:18:57 2013 Tanaka Akira <akr@fsij.org> + + * time.c (v2w): Use rb_absint_size instead of RBIGNUM_LEN. + +Sat Jun 8 21:47:33 2013 Tanaka Akira <akr@fsij.org> + + * time.c (v2w_bignum): Simplified using rb_integer_pack. + (rb_big_abs_find_maxbit): Removed. + +Sat Jun 8 21:03:40 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_absint_singlebit_p): New function. + + * internal.h (rb_absint_singlebit_p): Declared. + + * time.c (v2w_bignum): Use rb_absint_singlebit_p instead of + rb_big_abs_find_minbit. + (rb_big_abs_find_minbit): Removed. + +Sat Jun 8 20:24:23 2013 Tanaka Akira <akr@fsij.org> + + * time.c (rb_big_abs_find_maxbit): Use rb_absint_size. + (bdigit_find_maxbit): Removed. + +Sat Jun 8 19:47:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * class.c (include_modules_at): invalidate method cache if included + module contains constants + + * test/ruby/test_module.rb: add test + +Sat Jun 8 19:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * random.c (limited_big_rand): declare rnd, lim and mask as uint32_t + to avoid 64 bit to 32 bit shorten warnings. + +Sat Jun 8 19:23:53 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * win32/Makefile.sub: r41163 changed win32/win32.c and configure.in + but it didn't treat about mswin32/mswin64, so fix it. + NOTE: this needs a review by usa whether additional condition is + required or not. + +Sat Jun 8 19:06:26 2013 Tanaka Akira <akr@fsij.org> + + * random.c: Unused RBignum internal accessing macros removed. + +Sat Jun 8 19:04:15 2013 Tanaka Akira <akr@fsij.org> + + * random.c (limited_big_rand): The argument, limit, is changed to + VALUE. Use rb_integer_pack and rb_integer_unpack. + +Sat Jun 8 17:15:18 2013 Tanaka Akira <akr@fsij.org> + + * random.c (make_seed_value): Fix the length given for + rb_integer_unpack. + +Sat Jun 8 16:38:02 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_unpack): Don't use rb_funcall if possible. + + * random.c: Use uint32_t for elements of seed. + (make_seed_value): Use rb_integer_unpack. + +Sat Jun 8 15:58:18 2013 Tanaka Akira <akr@fsij.org> + + * random.c (rand_init): Add a cast to fix clang compile error: + random.c:410:32: error: implicit conversion loses integer precision: + 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32] + This cast doesn't cause a problem because len is not bigger than + MT_MAX_STATE. + +Sat Jun 8 15:30:03 2013 Tanaka Akira <akr@fsij.org> + + * random.c (rand_init): Use rb_integer_pack. + (roomof): Removed. + +Sat Jun 8 14:58:32 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (INTEGER_PACK_FORCE_BIGNUM): New flag constant. + + * bignum.c (rb_integer_unpack): Support INTEGER_PACK_FORCE_BIGNUM. + + * random.c (int_pair_to_real_inclusive): Use + INTEGER_PACK_FORCE_BIGNUM to use rb_big_mul instead of rb_funcall. + +Sat Jun 8 14:17:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: check for NET_LUID. header macro varies across + compiler versions. + + * win32/win32.c: use configured macro. + +Sat Jun 8 11:59:55 2013 Tanaka Akira <akr@fsij.org> + + * random.c (int_pair_to_real_inclusive): Use rb_funcall instead of + rb_big_mul because rb_integer_unpack can return a Fixnum. + +Sat Jun 8 11:17:39 2013 Tanaka Akira <akr@fsij.org> + + * random.c (int_pair_to_real_inclusive): Use rb_integer_pack. + +Sat Jun 8 09:49:42 2013 Tanaka Akira <akr@fsij.org> + + * random.c (int_pair_to_real_inclusive): Use rb_integer_unpack. + +Sat Jun 8 08:12:22 2013 Tanaka Akira <akr@fsij.org> + + * random.c (random_load): Use rb_integer_pack. + +Sat Jun 8 06:15:46 2013 Tanaka Akira <akr@fsij.org> + + * random.c (numberof): Removed. + +Sat Jun 8 06:00:47 2013 Tanaka Akira <akr@fsij.org> + + * random.c: include internal.h. + (mt_state): Use rb_integer_unpack. + +Sat Jun 8 00:55:51 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_pack_loop_setup): word_num_nailbytes_ret argument + removed. + (rb_integer_pack): Follow the above change. + (rb_integer_unpack): Follow the above change. + +Sat Jun 8 00:37:32 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (validate_integer_pack_format): Renamed from + validate_integer_format. + (integer_pack_loop_setup): Renamed from integer_format_loop_setup. + (integer_pack_fill_dd): Renamed from int_export_fill_dd. + (integer_pack_take_lowbits): Renamed from int_export_take_lowbits. + (integer_unpack_push_bits): Renamed from int_import_push_bits. + +Fri Jun 7 23:58:06 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_pack): Arguments changed. Use flags to + specify word order and byte order. + (rb_integer_unpack): Ditto. + (validate_integer_format): Follow the above change. + (integer_format_loop_setup): Ditto. + + * pack.c: Ditto. + + * internal.h: Ditto. + (INTEGER_PACK_MSWORD_FIRST): Defined. + (INTEGER_PACK_LSWORD_FIRST): Ditto. + (INTEGER_PACK_MSBYTE_FIRST): Ditto. + (INTEGER_PACK_LSBYTE_FIRST): Ditto. + (INTEGER_PACK_NATIVE_BYTE_ORDER): Ditto. + (INTEGER_PACK_LITTLE_ENDIAN): Ditto. + (INTEGER_PACK_BIG_ENDIAN): Ditto. + +Fri Jun 7 22:10:50 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/rubygems/specification.rb (Gem::Specification#to_yaml): + use Gem::NoAliasYAMLTree.create instead of Gem::NoAliasYAMLTree.new + to suppress deprecated warnings. + +Fri Jun 7 21:39:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_integer_pack): Renamed from rb_int_export. + (rb_integer_unpack): Renamed from rb_int_import. + + * internal.h, pack.c: Follow the above change. + +Fri Jun 7 21:05:26 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (integer_format_loop_setup): Extracted from rb_int_export + and rb_int_import. + +Fri Jun 7 19:48:38 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (validate_integer_format): Extracted from rb_int_export and + rb_int_import. + +Fri Jun 7 19:23:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_absint_size): Use numberof. + (rb_int_export): Ditto. + +Fri Jun 7 18:58:56 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (numberof): Gathered from various files. + + * array.c, math.c, thread_pthread.c, iseq.c, enum.c, string.c, io.c, + load.c, compile.c, struct.c, eval.c, gc.c, parse.y, process.c, + error.c, ruby.c: Remove the definitions of numberof. + +Fri Jun 7 18:24:39 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_absint_size): Declare a variable, i, just before used + to suppress a warning. + (rb_int_export): Ditto. + +Fri Jun 7 17:41:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * bignum.c (rb_absint_size): explicit cast to BDIGIT to avoid implicit + 64 bit to 32 bit shortening warning + * bignum.c (rb_int_export): ditto + * bignum.c (int_import_push_bits): ditto + +Fri Jun 7 17:31:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * internal.h (RCLASS_SUPER): use descriptive variable name + * internal.h (RCLASS_SET_SUPER): ditto + +Fri Jun 7 13:25:27 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/json/fbuffer/fbuffer.h (fbuffer_append_str): change the place of + RB_GC_GUARD. it should be after the object is used. + +Fri Jun 7 13:22:43 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * gc.c (before_gc_sweep): noinline can also avoid the segv instead of + -O0 of r41084. this way is expected less slow. + +Fri Jun 7 11:45:42 2013 Kenta Murata <mrkn@cookpad.com> + + * rational.c (numeric_quo): move num_quo in numeric.c to numeric_quo + in rational.c to refer canonicalization state for mathn support. + [ruby-core:41575] [Bug #5736] + + * numeric.c (num_quo): ditto. + + * test/test_mathn.rb: add a test for the change at r41109. + +Fri Jun 7 11:41:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: revert r41106. size_t may not be unsigned + + * bignum.c (rb_absint_size_in_word, rb_int_export, rb_int_import): use + NUM2SIZET() and SIZET2NUM() already defined in ruby/ruby.h. + +Fri Jun 7 11:28:37 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c: use oldgen bitmap as initial mark bitmap when major gc. + so can skip oldgen bitmap check around mark & sweep. + * gc.c (slot_sweep_body): change scan algorithm for performance: + from object's pointer base to bitmap one. + +Fri Jun 7 11:25:56 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c: introduce oldgen bitmap for preparing performance tuning. + +Fri Jun 7 11:20:57 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (MARKED_IN_BITMAP, MARK_IN_BITMAP, CLEAR_IN_BITMAP): bring + bitmap macros in one place, and introduce BITMAP_BIT. + +Fri Jun 7 11:18:35 2013 Masaya Tarui <tarui@ruby-lang.org> + + * array.c (ary_new): change order of allocation in order + to remove FL_OLDGEN operation. + +Fri Jun 7 11:16:28 2013 Masaya Tarui <tarui@ruby-lang.org> + + * tool/rdocbench.rb: add gc total time information. + +Fri Jun 7 10:12:01 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: remove "Sunny" terminology. + "Sunny" doesn't mean antonym of "Shady" (questionable, doubtful, etc). + Instead of "Sunny", use "non-shady" or "normal". + +Fri Jun 7 09:29:33 2013 Kenta Murata <mrkn@cookpad.com> + + * bignum.c (rb_int_import): explicitly casting BDIGIT_DBL to BDIGIT + to prevent warning. + +Fri Jun 7 07:29:33 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (rb_int_export): countp argument is split into + wordcount_allocated and wordcount. + + * bignum.c (rb_int_export): Follow the above change. + + * pack.c (pack_pack): Ditto. + +Fri Jun 7 07:17:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * NEWS: describe a compatibility issue of Numeric#quo + introduced at r41109. + +Fri Jun 7 07:15:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * NEWS: fix style. + +Fri Jun 7 06:48:17 2013 Benoit Daloze <eregontp@gmail.com> + + * numeric.c: remove unused ID id_to_r introduced in r41109. + +Fri Jun 7 06:15:31 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_int_import): New function. + (int_import_push_bits): Ditto. + + * internal.h (rb_int_import): Declared. + + * pack.c (pack_unpack): Use rb_int_import for BER compressed integer. + +Thu Jun 6 22:24:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * numeric.c (num_quo): Use to_r method to convert the receiver to + rational. [ruby-core:41575] [Bug #5736] + + * test/ruby/test_numeric.rb: add a test for the above change. + +Thu Jun 6 20:40:17 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Invoke RUBY_REPLACE_TYPE for size_t. + Don't invoke RUBY_CHECK_PRINTF_PREFIX for size_t to avoid conflict + with RUBY_REPLACE_TYPE. + + * internal.h (rb_absint_size): Declared. + (rb_absint_size_in_word): Ditto. + (rb_int_export): Ditto. + + * bignum.c (rb_absint_size): New function. + (rb_absint_size_in_word): Ditto. + (int_export_fill_dd): Ditto. + (int_export_take_lowbits): Ditto. + (rb_int_export): Ditto. + + * pack.c (pack_pack): Use rb_int_export for BER compressed integer. + +Thu Jun 6 19:31:33 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * ext/date/date_core.c: fixed coding error [ruby-core:55337]. + reported by Riley Lynch. + +Thu Jun 6 14:16:37 2013 Narihiro Nakamura <authornari@gmail.com> + + * ext/objspace/object_tracing.c: rename allocation_info to + lookup_allocation_info. At times I confused "struct + allocation_info" with "function allocation_info". + +Thu Jun 6 13:57:06 2013 Narihiro Nakamura <authornari@gmail.com> + + * ext/objspace/object_tracing.c: allocation_info function isn't + called by any other file. + +Thu Jun 6 09:41:00 2013 Kenta Murata <mrkn@cookpad.com> + + * numeric.c (num_quo): should return a Float for a Float argument. + [ruby-dev:44710] [Bug #5515] + + * test/ruby/test_fixnum.rb: Add an assertion for the above change. + + * test/ruby/test_bignum.rb: ditto. + +Thu Jun 6 00:59:44 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (gc_mark): get rid of pushing useless objects. + * gc.c (rgengc_rememberset_mark): bypass gc_mark() in order to push + sunny old object at minor gc. + * gc.c (gc_mark_children): move sunny old check to gc_mark(). + * gc.c (rgengc_check_shady): remove DEMOTE that already unnecessary. + * gc.c (rb_gc_writebarrier): ditto. + + change sunny old check point in order to save mark stack and + remove unnatural rest_sweep & demote. + +Thu Jun 6 00:52:42 2013 Masaya Tarui <tarui@ruby-lang.org> + + * gc.c (rgengc_rememberset_mark): change scan algorithm for performance: + from object's pointer base to bitmap one. + +Thu Jun 6 00:30:04 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * win32/win32.c (NET_LUID): define it on MinGW32. + mingw-w64 has NET_LUID but mingw32 (mingw.org) still doesn't have + NET_LUID. reported by taco on IRC + +Thu Jun 6 00:05:08 2013 Akinori MUSHA <knu@iDaemons.org> + + * string.c (String#b): Allow code range scan to happen later so + ascii_only? on a result string returns the correct value. + [ruby-core:55315] [Bug #8496] + +Wed Jun 5 22:40:42 2013 Shugo Maeda <shugo@ruby-lang.org> + + * lib/net/imap.rb (capability_response): should ignore trailing + spaces. Thanks, Peter Kovacs. [ruby-core:55024] [Bug #8415] + + * test/net/imap/test_imap_response_parser.rb: related test. + +Wed Jun 5 21:17:08 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (big_fdiv): Use nlz() instead of bdigbitsize(). + (bdigbitsize): Removed. + +Wed Jun 5 20:32:00 2013 Kenta Murata <mrkn@cookpad.com> + + * include/ruby/ruby.h: fix alignment in comment. + +Wed Jun 5 20:05:29 2013 Tanaka Akira <akr@fsij.org> + + * random.c (int_pair_to_real_inclusive): Add a cast to BDIGIT. + (random_load): Fix shift width for fixnums. + Re-implement bignum extraction without ifdefs. + +Wed Jun 5 15:26:10 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * gc.c (before_gc_sweep): don't optimize it to avoid segv on Ubuntu + 10.04 gcc 4.4. + http://u32.rubyci.org/~chkbuild/ruby-trunk/log/20130527T190301Z.diff.html.gz + +Wed Jun 5 09:46:46 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * test/fileutils/test_fileutils.rb (TestFileUtils#test_mkdir): add + EACCES for Windows. + +Wed Jun 5 08:13:37 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_pow): Don't need to multiply SIZEOF_BDIGITS. + Use nlz instead of bitlength_bdigit. + (bitlength_bdigit): Removed. + +Wed Jun 5 07:14:18 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * ext/date/date_core.c (d_lite_cmp, d_lite_equal): simplified. + +Wed Jun 5 07:07:01 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * ext/date/date_core.c: fixed a bug [ruby-core:55295]. reported + by Riley Lynch. + +Wed Jun 5 06:44:08 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems: Update to RubyGems 2.0.3 + + * test/rubygems: Tests for the above. + + * NEWS: Added RubyGems 2.0.3 note. + +Wed Jun 5 06:35:15 2013 Eric Hodel <drbrain@segment7.net> + + * doc/marshal.rdoc: Add description of Marshal format. + +Wed Jun 5 01:16:09 2013 Benoit Daloze <eregontp@gmail.com> + + * array.c (Array#+): fix documentation example. + Patch by Logan Serman. [Fixes GH-324] + +Wed Jun 5 00:21:54 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * lib/irb/lc/ja/help-message: update help messages. + following r41028. [ruby-dev:46707] [Feature #7510] + +Wed Jun 5 00:09:32 2013 Tanaka Akira <akr@fsij.org> + + * marshal.c (r_object0): Generalize a round up expression. + Use BDIGIT instead of int. + +Tue Jun 4 23:44:02 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * object.c (rb_Hash): fix docs. patched by Stefan Sch"ussler. + [ruby-core:55299] [Bug #8487] + +Tue Jun 4 23:16:49 2013 Benoit Daloze <eregontp@gmail.com> + + * lib/irb/completion.rb: Use %w literal construction for long lists. + Patch by Dave Goodchild. [Fixes GH-299] + +Tue Jun 4 23:08:42 2013 Benoit Daloze <eregontp@gmail.com> + + * ext/objspace/objspace.c: improve wording and remove duplicated comment. + Based on a patch by Dave Goodchild. [Fixes GH-299] + +Tue Jun 4 18:41:47 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bitlength_bdigit): Fix an off-by-one error. + +Tue Jun 4 15:30:00 2013 Kenta Murata <mrkn@cookpad.com> + + * ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): fix the number + of figures. Patch by Vipul A M <vipulnsward@gmail.com>. + https://github.com/ruby/ruby/pull/323 fix GH-323 + + * test/bigdecimal/test_bigdecimal_util.rb: fix for the above change. + +Tue Jun 4 00:44:27 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * test/fileutils/test_fileutils.rb (TestFileUtils#test_mkdir): add + EEXIST for Linux. (suggested by nurse) + +Mon Jun 3 23:58:19 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * lib/fileutils.rb (FileUtils.rmdir): use remove_tailing_slash. + * test/fileutils/test_fileutils.rb: test for above. + +Mon Jun 3 23:47:55 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (bitlength_bdigit): New function. + (rb_big_pow): Use bitlength_bdigit instead of ffs. + +Mon Jun 3 23:11:19 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * lib/fileutils.rb: fix behavior when mkdir/mkdir_p accepted "/". + * test/fileutils/test_fileutils.rb: add test for above change. + Patched by Mitsunori Komatsu. [GH-319] + +Mon Jun 3 19:02:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (is_hfs): use the file descriptor instead of a path. + +Mon Jun 3 07:15:17 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: removes AC_CHECK_FUNCS(readdir_r). readdir_r() + is only used from dir.c and it doesn't need readdir_r(). + * configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): removed. It is + only used for readdir_r. + * dir.c: removes NAME_MAX_FOR_STRUCT_DIRENT. It is not right way + to detect maximum length of path len. POSIX require to use + fpathconf(). IOW, it might have lead to make a vulnerability + using stack smashing. Moreover, readdir() works enough for our + usage. + * dir.c (READDIR): removes an implementation which uses + readdir_r() and parenthesize in a macro body correctly. + * dir.c (dir_read): removes IF_HAVE_READDIR_R(DEFINE_STRUCT_DIRENT + entry), it is used only for readdir_r(). + * dir.c (dir_each): ditto. + * dir.c (glob_helper): ditto. + + * dir.c (READDIR): removes entry and dp argument. + * dir.c (dir_read): adjust for the above change. + * dir.c (dir_each): ditto. + * dir.c (glob_helper): ditto. + +Mon Jun 3 03:40:29 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_insnhelper.c (vm_yield_setup_block_args): partially revert r41019. + The code is not useless. + +Mon Jun 3 01:25:25 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * test/socket/test_sockopt.rb: change test name. follow r41037. + +Mon Jun 3 01:08:43 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * test/rinda/test_rinda.rb: rename functions introduced in r41009. + +Sun Jun 2 23:33:42 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * enc/trans/japanese_euc.trans, test/ruby/test_transcode.rb, + tool/transcode-tblgen.rb: change EUC-JP-2004 to EUC-JIS-2004. + This is follow up to changes in r41024. + +Sun Jun 2 22:44:42 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/socket/option.c: rename functions introduced in r41009 + s/ip/ipv4/g because they are ipv4 functions. + (there's a policy that the name "ip" is for methods which supports + both ipv4 and ipv6) + +Sun Jun 2 16:15:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dln_find.c (dln_find_exe, dln_find_file): remove deprecated + non-reentrant functions. + +Sun Jun 2 15:04:35 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/cgi/util.rb, lib/erb.rb: Use String#b [Feature #8394] by znz + +Sun Jun 2 14:10:21 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/irb/lc/help-message: Apply english updates for irb --help #7510 + +Sun Jun 2 12:03:58 2013 Zachary Scott <zachary@zacharyscott.net> + + * range.c: Fix rdoc on Range#bsearch [Bug #8242] [ruby-core:54143] + +Sun Jun 2 02:08:37 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * enc/euc_jp.c: fix typo: the name of EUC-JIS-2004. + +Sat Jun 1 23:17:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * vm_eval.c (rb_mod_module_eval): mention in docs that arguments passed + to the method are passed to the block + +Sat Jun 1 17:58:13 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb (Set#freeze, taint, untaint): Save a "self" by + utilizing super returning self, and add tests while at it. + +Sat Jun 1 17:24:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compile.c (iseq_set_arguments): not a simple single argument if any + keyword arguments exist. [ruby-core:55203] [Bug #8463] + + * vm_insnhelper.c (vm_yield_setup_block_args): split single parameter + if any keyword arguments exist, and then extract keyword arguments. + [ruby-core:55203] [Bug #8463] + +Sat Jun 1 11:16:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * error.c (rb_exc_new_cstr): rename from rb_exc_new2. + + * error.c (rb_exc_new_str): rename from rb_exc_new3. + +Sat Jun 1 10:13:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_new[2-5], rb_{tainted,usascii}_str_new2), + (rb_str_buf_new2): remove old interfaces. + +Sat Jun 1 08:00:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/zlib/zlib.c (gzfile_read, gzfile_read_all, gzfile_getc), + (gzreader_gets): check EOF. [ruby-core:55220] [Bug #8467] + +Sat Jun 1 07:32:15 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Use BDIGIT type for hbase. + +Sat Jun 1 02:37:35 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/socket/option.c (sockopt_s_byte): constructor of the sockopt + whose value's is byte. + + * ext/socket/option.c (sockopt_byte): getter for above. + + * ext/socket/option.c (inspect_byte): inspect for above. + + * ext/socket/option.c (sockopt_s_ip_multicast_loop): constructor of + the sockopt whose optname is IP_MULTICAST_LOOP. + + * ext/socket/option.c (sockopt_ip_multicast_loop): getter for above. + + * ext/socket/option.c (sockopt_s_ip_multicast_ttl): constructor of + the sockopt whose optname is IP_MULTICAST_TTL. + + * ext/socket/option.c (sockopt_ip_multicast_ttl): getter for above. + + * ext/socket/option.c (sockopt_inspect): use above. + +Sat Jun 01 01:50:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_power): use rb_dbl2big + to convert a double value to a Bignum. + +Sat Jun 1 00:19:50 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (calc_hbase): Make hbase the maximum power of base + representable in BDIGIT. + +Fri May 31 23:56:13 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (calc_hbase): Extracted from rb_big2str0. + +Fri May 31 23:22:24 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c: Don't hard code SIZEOF_BDIGITS for log_base(hbase). + (big2str_orig): hbase_numdigits argument added. + (big2str_karatsuba): Ditto. + (rb_big2str0): Calculate hbase_numdigits. + +Fri May 31 17:57:21 2013 Zachary Scott <zachary@zacharyscott.net> + + * process.c: Improve Process::exec documentation + +Fri May 31 17:26:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (rb_funcallv): add better names of rb_funcall2. + + * vm_eval.c (rb_funcallv_public): ditto for rb_funcall3. + +Fri May 31 17:04:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * array.c (rb_ary_new_capa): add better names of rb_ary_new2. + + * array.c (rb_ary_new_from_args): ditto for rb_ary_new3. + + * array.c (rb_ary_new_from_values): ditto for rb_ary_new4. + +Fri May 31 16:35:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (HAVE_ATTRIBUTE_FUNCTION_ALIAS): define to tell if + alias attribute is available. + +Fri May 31 16:03:23 2013 Zachary Scott <zachary@zacharyscott.net> + + * object.c, proc.c: s/call_seq/call-seq in rdoc. [Fixes GH-322] + +Fri May 31 15:56:36 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/openssl/ossl_ssl.c: Add missing paren in rdoc [Fixes GH-321] + +Fri May 31 11:58:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_method.c (set_visibility): extract from rb_mod_public(), + rb_mod_protected() and rb_mod_private(). + +Thu May 30 19:47:42 2013 Yusuke Endoh <mame@tsg.ne.jp> + + * vm_insnhelper.c (vm_callee_setup_keyword_arg, + vm_callee_setup_arg_complex): consider a hash argument for keyword + only when the number of arguments is more than the expected + mandatory parameters. [ruby-core:53199] [ruby-trunk - Bug #8040] + + * test/ruby/test_keyword.rb: update a test for above. + +Thu May 30 17:55:04 2013 Zachary Scott <zachary@zacharyscott.net> + + * process.c: RDoc on Process.spawn + +Thu May 30 00:08:14 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_enable): rest_sweep() to finish last GC. + Profiling record is allocated at first of marking phase. + Enable at lazy sweeping may cause an error (SEGV). + +Wed May 29 10:33:27 2013 Koichi Sasada <ko1@atdot.net> + + * hash.c: fix WB bug. + (1) Hash's key also needs WB. + (2) callback parameter *key and *value of st_update() is not a + storage of st_table itself (only local variable). So that + OBJ_WRITE() is not suitable, especially for `!existing'. + OBJ_WRITTEN() is used instead of OBJ_WRITE(). + +Tue May 28 12:31:21 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/object_tracing.c: fix a bug reported at + "[ruby-core:55182] [ruby-trunk - Bug #8456][Open] Sugfault in Ruby Head" + Care about the case TracePoint#path #=> `nil'. + + * ext/objspace/object_tracing.c: add two new methods: + * ObjectSpace.allocation_class_path(o) + * ObjectSpace.allocation_method_id(o) + They are not useful for Object.new because they are always + "Class" and :new. + To trace more useful information, we need to maintain call-tree + using call/return hooks, which is implemented by + ll-prof <http://sunagae.net/wiki/doku.php?id=software:llprof> + + * test/objspace/test_objspace.rb: add a test. + +Tue May 28 11:30:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/extmk.rb (extmake): leave makefiles untouched if the content is + not changed, to get rid of unnecessary re-linking. + +Tue May 28 03:11:02 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/gc_hook.c, ext/objspace/objspace.c: add new methods to + hook GC invocation. + * ObjectSpace.after_gc_start_hook=(proc) + * ObjectSpace.after_gc_end_hook=(proc) + + Note that hooks are not kicked immediately. Procs are kicked + at postponed_job. + + This feature is a sample of new internal event and + rb_postponed_job API. + +Tue May 28 02:56:15 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_stat): remove wrong rest_sweep(). + +Tue May 28 02:44:23 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (garbage_collect_body): fix GC_ENABLE_LAZY_SWEEP condition. + + * gc.c (GC_NOTIFY): move debug print location and use stderr instead + of stdout. + +Tue May 28 02:07:21 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (rb_postponed_job_register_one): fix iteration bug. + + * ext/-test-/postponed_job/postponed_job.c, + test/-ext-/postponed_job/test_postponed_job.rb: add a test. + +Tue May 28 00:34:23 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h, gc.c: add new internal event + RUBY_INTERNAL_EVENT_GC_END. This event invokes at the end of + after_sweep(). + Time chart with lazy sweep is: + (1) Kick RUBY_INTERNAL_EVENT_GC_START + (2) [gc_marks()] + (3) [lazy_sweep()] + (4) [... run Ruby program (mutator) with lazy_sweep() ...] + (5) [after_sweep()] + (6) Kick RUBY_INTERNAL_EVENT_GC_END + (7) [... run Ruby program (mutator), and go to (1) ...] + Time chart without lazy sweep (GC.start, etc) is: + (1) Kick RUBY_INTERNAL_EVENT_GC_START + (2) [gc_marks()] + (3) [gc_sweep()] + (4) [after_sweep()] + (5) Kick RUBY_INTERNAL_EVENT_GC_END + (6) [... run Ruby program (mutator), and go to (1) ...] + + * ext/-test-/tracepoint/tracepoint.c, + test/-ext-/tracepoint/test_tracepoint.rb: modify a test. + +Tue May 28 00:18:57 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (rb_postponed_job_flush): remove a wrong comment. + +Mon May 27 22:09:33 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/ruby.h (RHASH_SIZE): Add a cast to suppress a + warning, comparison between signed and unsigned integer + expressions [-Wsign-compare], on ILP32. + +Mon May 27 19:25:47 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: rename RUBY_INTERNAL_EVENT_FREE to + RUBY_INTERNAL_EVENT_FREEOBJ. + + * ext/-test-/tracepoint/tracepoint.c, + ext/objspace/object_tracing.c, + gc.c, vm_trace.c: catch up this change. + +Mon May 27 18:57:28 2013 Koichi Sasada <ko1@atdot.net> + + * ext/objspace/objspace.c: support ObjectSpace.trace_object_allocations. + Read the following test to know HOWTO. + This feature is a sample of RUBY_INTERNAL_EVENT. + + * test/objspace/test_objspace.rb: add a test. + + * ext/objspace/object_tracing.c: ditto. + + * gc.c (rb_gc_count): add. This function returns GC count. + + * internal.h: add decl. of rb_gc_count(). Same as `GC.count'. + +Mon May 27 17:33:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * tool/rbinstall.rb (install_recursive): add maxdepth option. + + * tool/rbinstall.rb (bin-comm): limit depth of bindir and reject empty + files. [ruby-core:55101] [Bug #8432] + +Mon May 27 16:16:18 2013 Koichi Sasada <ko1@atdot.net> + + * vm_trace.c (rb_postponed_job_flush, rb_postponed_job_register): use + ruby_xmalloc/xfree. It is safe during GC. + +Mon May 27 09:24:03 2013 Koichi Sasada <ko1@atdot.net> + + * test/-ext-/postponed_job/test_postponed_job.rb: fix typo and class name. + +Mon May 27 09:05:17 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h, gc.c, vm_trace.c: add internal events. + * RUBY_INTERNAL_EVENT_NEWOBJ: object created. + * RUBY_INTERNAL_EVENT_FREE: object freed. + * RUBY_INTERNAL_EVENT_GC_START: GC started. + And rename `RUBY_EVENT_SWITCH' to `RUBY_INTERNAL_EVENT_SWITCH'. + + Internal events can not invoke any Ruby program because the tracing + timing may be critical (under huge restriction). + These events can be hooked only by C-extensions. + We recommend to use rb_postponed_job_register() API to call Ruby + program safely. + + This change is mostly written by Aman Gupta (tmm1). + https://bugs.ruby-lang.org/issues/8107#note-12 + [Feature #8107] + + * include/ruby/debug.h, vm_trace.c: added two new APIs. + * rb_tracearg_event_flag() returns rb_event_flag_t of this event. + * rb_tracearg_object() returns created/freed object. + + * ext/-test-/tracepoint/extconf.rb, + ext/-test-/tracepoint/tracepoint.c, + test/-ext-/tracepoint/test_tracepoint.rb: add a test. + +Mon May 27 08:38:21 2013 Koichi Sasada <ko1@atdot.net> + + * ext/-test-/postponed_job/postponed_job.c: fix `init' function name. + +Mon May 27 06:22:41 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/debug.h, vm_trace.c: add rb_postponed_job API. + Postponed jobs are registered with this API. Registered jobs + are invoked at `ruby-running-safe-point' as soon as possible. + This timing is completely same as finalizer timing. + + There are two APIs: + * rb_postponed_job_register(flags, func, data): register a + postponed job with data. flags are reserved. + * rb_postponed_job_register_one(flags, func, data): same as + `rb_postponed_job_register', but only one `func' job is + registered (skip if `func' is already registered). + + This change is mostly written by Aman Gupta (tmm1). + https://bugs.ruby-lang.org/issues/8107#note-15 + [Feature #8107] + + * gc.c: use postponed job API for finalizer. + + * common.mk: add dependency from vm_trace.c to debug.h. + + * ext/-test-/postponed_job/extconf.rb, postponed_job.c, + test/-ext-/postponed_job/test_postponed_job.rb: add a test. + + * thread.c: implement postponed API. + + * vm_core.h: ditto. + +Mon May 27 02:26:02 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_stat): collect promote_operation_count and + types (RGENGC_PROFILE >= 2). + +Mon May 27 01:40:58 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_stat): collect shade_operation_count, + remembered_sunny_object_count and remembered_shady_object_count + for each types when RGENGC_PROFILE >= 2. + They are informative for optimization. + +Mon May 27 01:15:22 2013 Koichi Sasada <ko1@atdot.net> + + * hash.c (rb_hash_tbl_raw), internal.h: added. + Returns st_table without shading hash. + + * array.c: use rb_hash_tbl_raw() for read-only purpose. + + * compile.c (iseq_compile_each): ditto. + + * gc.c (count_objects): ditto. + + * insns.def: ditto. + + * process.c: ditto. + + * thread.c (clear_coverage): ditto. + + * vm_insnhelper.c: ditto. + +Mon May 27 00:31:09 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * tool/make-snapshot: use ENV["AUTOCONF"] instead of directly using + literal "autoconf". + +Sun May 26 21:31:46 2013 Koichi Sasada <ko1@atdot.net> + + * hash.c, include/ruby/ruby.h: support WB protected hash. + * constify RHash::ifnone and make new macro RHASH_SET_IFNONE(). + * insert write barrier for st_update(). + + * include/ruby/intern.h: declare rb_hash_set_ifnone(hash, ifnone). + + * marshal.c (r_object0): use RHASH_SET_IFNONE(). + + * ext/openssl/ossl_x509name.c (Init_ossl_x509name): ditto. + +Sat May 25 23:22:38 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * test/fiddle/test_c_struct_entry.rb, + test/fiddle/test_c_union_entity.rb, + test/fiddle/test_cparser.rb, test/fiddle/test_func.rb, + test/fiddle/test_handle.rb, test/fiddle/test_import.rb, + test/fiddle/test_pointer.rb: don't run test if the system + don't support fiddle. + +Sat May 25 21:29:34 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/pty/pty.c (get_device_once): FreeBSD 10-current and 9-stable + added O_CLOEXEC support to posix_openpt, so assume FreeBSD 9.2 or + later supports it. + http://www.freebsd.org/cgi/query-pr.cgi?pr=162374 + +Sat May 25 18:46:23 2013 Yusuke Endoh <mame@tsg.ne.jp> + + * proc.c (rb_method_entry_min_max_arity): fix missing break in switch. + This was introduced in r38236, which is not intentional apparently. + This has caused no actual harm because VM_METHOD_TYPE_OPTIMIZED is + not used except for OPTIMIZED_METHOD_TYPE_SEND, but may do in + future. Coverity Scan found this inadequacy. + +Sat May 25 18:08:06 2013 Yusuke Endoh <mame@tsg.ne.jp> + + * dir.c (bracket): fix copy-paste error. When the first and last + characters of fnmatch range have different length, fnmatch may + have wrongly matched a path that does not really match. + Coverity Scan found this bug. + +Sat May 25 17:06:25 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (after_gc_sweep): reduce full GC timing. + +Sat May 25 11:28:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * variable.c (set_const_visibility): return without clearing method + cache if no arguments. + + * vm_method.c (set_method_visibility): ditto. + +Sat May 25 11:27:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_method.c (set_method_visibility): quote unprintable method name. + +Sat May 25 11:24:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval.c (rb_frame_callee): returns the called name of the current + frame, not the previous frame. + + * eval.c (prev_frame_callee, prev_frame_func): rename and make static, + as these are used by rb_f_method_name() and rb_f_callee_name() only. + + * variable.c (set_const_visibility): use the called name. + +Sat May 25 08:58:23 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_quote_unprintable): check if argument is a string. + +Fri May 24 19:32:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * variable.c (set_const_visibility): use rb_frame_this_func() instead + of rb_frame_callee() for getting the name of the called method + + * test/ruby/test_module.rb: add test for private_constant with no args + +Fri May 24 18:53:10 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: do major/full GC when: + * number of oldgen object is bigger than twice of + number of oldgen object at last full GC. + * number of remembered shady object is bigger than twice of + number of remembered shady object at last full GC. + * number of oldgen object and remembered shady object is bigger + than half of total object space. + (please fix my English!) + +Fri May 24 17:07:00 2013 Charlie Somerville <charliesome@ruby-lang.org> + + * intern.h: remove dangling rb_class_init_copy declaration + [ruby-core:55120] [Bug #8434] + +Fri May 24 16:31:23 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/strscan/strscan.c (strscan_aref): raise error if given + name reference is not found. + +Fri May 24 15:48:18 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (after_gc_sweep, garbage_collect_body): do major GC (full GC) + before extending heaps. + TODO: do major GC when there are many old (promoted) objects. + + * gc.c (after_gc_sweep): remove TODO comments. + +Fri May 24 11:04:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (LIBRUBY_RPATHFLAGS): do not append -L option with + runtime library directory if cross compiling, but only -R option. + runtime path makes no sense on the host system. [ruby-dev:47363] + [Bug #8443] + +Fri May 24 02:57:17 2013 Koichi Sasada <ko1@atdot.net> + + * object.c (rb_obj_clone): should not propagate OLDGEN status. + This propagation had caused WB miss for class. + +Thu May 23 17:35:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (loaded_feature_path): fix invalid read by index underflow. + the beginning of name is also a boundary as well as just after '/'. + +Thu May 23 17:21:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (gc_profile_dump_on): revert r40898. ok to show the record + accumulating while lazy_sweep(). + +Wed May 22 16:50:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (gc_profile_dump_on): use size_t to get rid of overflow and + show the header when next_index > 0, instead of next_index != 1. + +Wed May 22 15:18:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (setup_overlapped): check the error code in addition + to the result of SetFilePointer() to determine if an error occurred, + because INVALID_SET_FILE_POINTER is a valid value. + [ruby-core:55098] [Bug #8431] + + * win32/win32.c (setup_overlapped, finish_overlapped): extract from + rb_w32_read() and rb_w32_write(). + +Wed May 22 14:19:56 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_prepare_free_objects, rest_sweep, lazy_sweep): fix position + of `during_gc' setting. + +Wed May 22 07:36:08 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (garbage_collect): all GC is start from garbage_collect() + (or garbage_collect_body()). `garbage_collect()' accept additional + two parameters `full_mark' and `immediate_sweep'. + If `full_mark' is TRUE, then force it full gc (major gc), otherwise, + it depends on status of object space. Now, it will be minor gc. + If `immediate_sweep' is TRUE, then disable lazy sweep. + To allocate free memory, `full_mark' and `immediate_sweep' should be + TRUE. Otherwise, they should be FALSE. + + * gc.c (gc_prepare_free_objects): use `garbage_collect_body()'. + + * gc.c (slot_sweep, before_gc_sweep, after_gc_sweep): add logging code. + +Tue May 21 22:47:06 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/strscan/strscan.c (strscan_aref): support named captures. + patched by Konstantin Haase [ruby-core:54664] [Feature #8343] + +Tue May 21 21:48:44 2013 Kouhei Sutou <kou@cozmixng.org> + + * test/ruby/test_dir_m17n.rb (TestDir_M17N#test_entries_compose): + Use #each instead of #map just for iteration. + +Tue May 21 19:57:22 2013 Akinori MUSHA <knu@iDaemons.org> + + * ext/digest/lib/digest.rb (Digest::Class.file): Take optional + arguments that are passed to the constructor of the digest + class. + +Tue May 21 17:21:12 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: remove gc_profile_record::is_marked. always true. + +Tue May 21 17:13:40 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: fix to collect additional information for GC::Profiler. + * major/minor GC + * trigger reason of GC + + * gc.c (gc_profile_dump_on): change reporting format with + added information. + + * gc.c (gc_profile_record_get): return added information by + :GC_FLAGS => array. + +Tue May 21 16:45:31 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: GC::Profiler's sweeping time is accumulated all slot + sweeping time. At lazy GC, GC::Profiler makes new record entry + for each lazy_sweep(). In this change, accumulating all + slot_sweep() time. + And change indentation. + +Tue May 21 16:29:09 2013 Koichi Sasada <ko1@atdot.net> + + * common.mk (rdoc-bench): add a benchmark rule + using RDoc. Generate all rdoc related files + (same as `make rdoc') in temporary directory + and remove them. Execution time, GC::Profiler + and results of GC.stat are printed. + + * tool/rdocbench.rb: added for `rdoc-bench'. + +Tue May 21 16:25:05 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (gc_profile_dump_on): `count' should be (int) because it + can be negative number. + And use pointer for `record' (don't copy). + +Tue May 21 03:11:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (dir_each): compose HFS file names from + UTF8-MAC. [ruby-core:48745] [Bug #7267] + +Tue May 21 03:08:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * test/ruby/envutil.rb (assert_separately): require envutil in the + child process too. + +Tue May 21 03:07:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_conv_enc_opts): should infect. + +Mon May 20 22:24:45 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb (Set#delete_if, Set#keep_if): Avoid blockless call of + proc, which is not portable to JRuby. Replace &method() with + faster and simpler literal blocks while at it. + +Mon May 20 22:00:31 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/e2mmap.rb: Format of E2MM documentation + +Mon May 20 21:41:15 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/extmk.rb: nodoc this file + +Mon May 20 20:43:32 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/cmath.rb: Remove duplicate RDoc heading from overview + +Mon May 20 20:36:19 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/securerandom.rb: Update position of overview for RDoc + +Mon May 20 19:33:55 2013 Benoit Daloze <eregontp@gmail.com> + + * math.c: improve and fix documentation of sin, tan and log + +Mon May 20 19:31:49 2013 Benoit Daloze <eregontp@gmail.com> + + * lib/logger.rb (Logger::Application): show namespace in documentation + +Mon May 20 11:50:12 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/pp.rb: Revert part of r40834 and nodoc PP::ObjectMixin + [ruby-core:55068] + +Mon May 20 10:40:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/webrick/htmlutils.rb (WEBrick::HTMLUtils#escape): replace HTML + meta chars even in non-ascii string. [Bug #8425] [ruby-core:55052] + + * lib/webrick/httputils.rb (WEBrick::HTTPUtils#{_escape,_unescape}): + fix %-escape encodings. [Bug #8425] [ruby-core:55052] + + * lib/webrick/httpservlet/filehandler.rb (set_dir_list): revert r20152 + partially and fix misuse of bytesize and regexp repetition operator. + +Mon May 20 08:03:51 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/profiler.rb: Document Profiler__ methods + +Mon May 20 08:02:13 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/tempfile.rb: nodoc Tempfile#inspect + +Mon May 20 07:48:24 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/stringio/stringio.c: Correct position of method rdoc + +Mon May 20 07:27:41 2013 Zachary Scott <zachary@zacharyscott.net> + + * math.c: RDoc formatting of Math core docs with domains and codomains + Patch by @eLobato [Fixes GH-309] + +Mon May 20 05:58:12 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/bigdecimal/bigdecimal.c: Formatting for BigMath [Fixes GH-306] + Based on a patch by @eLobato. + * ext/bigdecimal/lib/bigdecimal/math.rb: ditto + +Mon May 20 04:56:59 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/forwardable.rb: Forwardable examples in overview were broken + Based on patch by @joem [Fixes GH-303] [Bug #8392] + +Mon May 20 03:35:26 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/optparse.rb: nodoc OptionParser::Version and SPLAT_PROC + +Mon May 20 03:16:52 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/pp.rb: Document PP::ObjectMixin [Fixes GH-312] + +Sun May 19 23:52:22 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * test/webrick/test_htmlutils.rb: add test for WEBrick::HTMLUtils. + +Sun May 19 23:12:07 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * encoding.c: document fix, change default script encoding. + patched by @windwiny [Fixes GH-310] + +Sun May 19 17:29:07 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb (Set#delete_if, Set#keep_if): Add comments. + +Sun May 19 11:37:36 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * ext/fiddle/extconf.rb: ignore rc version of libffi to fix build failure. + +Sun May 19 10:38:50 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-delete-backward-char): Use + delete-char instead of delete-backward-char, which is an + interactive function. + +Sun May 19 03:59:29 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (str_scrub0): added for refactoring. + +Sun May 19 03:48:26 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/uri/common.rb (URI.decode_www_form): scrub string if decoded + bytes are invalid for the encoding. + +Sun May 19 02:46:32 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/set.rb (Set#delete_if, Set#keep_if): Make Set#delete_if and + Set#keep_if more space and time efficient by avoiding to_a. + +Sun May 19 02:33:09 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-setup-keymap): Make + backquotes electric as well. It was listed in + ruby-electric-expand-delimiters-list but not activated. + + * misc/ruby-electric.el (ruby-electric-delete-backward-char): + Introduce electric DEL that deletes what the previous electric + command has input. + + * misc/ruby-electric.el (ruby-electric-matching-char): Make + electric quotes work again at the end of buffer. + +Sun May 19 01:39:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (setjmp-type): check if setjmpex() is really available. + workaround for i686-w64-mingw32 which declares it but lacks its + definition. + + * include/ruby/defines.h: include setjmpex.h only if also setjmpex() + is available. + +Sat May 18 23:57:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (setjmp-type): use setjmpex() on w64-mingw32 to get rid + of -Wclobbered warnings. + + * include/ruby/defines.h: include setjmpex.h here becase setjmp.h is + included from win32.h via intrin.h, winnt.h, and so on. + +Sat May 18 20:28:12 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/mkconstants.rb (INTEGER2NUM): Make less comparisons. + +Sat May 18 20:15:28 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (str_scrub_bang): add String#scrub!. [Feature #8414] + +Sat May 18 16:59:52 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/mkconstants.rb (INTEGER2NUM): Renamed from INTEGER2VALUE. + +Sat May 18 16:57:58 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/mkconstants.rb (INTEGER2VALUE): Suppress a warning: + comparison between signed and unsigned integer expressions + +Sat May 18 16:38:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compile.c (iseq_compile_each): forward anonymous and first keyword + rest argument one. [ruby-core:55033] [Bug #8416]. + +Sat May 18 15:49:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_core.h (rb_vm_tag): move jmpbuf between tag and prev so ensure to + be accessible. + +Sat May 18 11:05:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enumerator.c (inspect_enumerator): use VALUE instead of mere char* + by using rb_sprintf() and rb_id2str(). + + * enumerator.c (append_method): extract from inspect_enumerator(). + +Sat May 18 09:00:32 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/mkconstants.rb (INTEGER2VALUE): Use LONG2FIX if possible. + +Sat May 18 00:38:47 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/mkconstants.rb: Convert integer constants bigger than int + correctly. + +Fri May 17 22:02:15 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ifaddr.c: Use unsigned LONG_LONG to represent flags + because SunOS 5.11 (OpenIndiana) defines ifa_flags as uint64_t. + +Fri May 17 21:47:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * cont.c: Typo in constant MAX_MACHINE_STACK_CACHE from '..MAHINE..' + patch by @schmurfy [Fixes GH-307] + +Fri May 17 19:18:24 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-matching-char): Do not put + a closing quote when the quote typed does not start a string, as + in $', ?\' or ?\". + +Fri May 17 18:06:15 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Consider error messages to find out version option of + C compiler. + The C compiler of Sun Studio C emits "Warning: Option -qversion + passed to ld, if ld is invoked, ignored otherwise" and exit + successfully. + +Fri May 17 17:34:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (rb_gc_guarded_ptr): unoptimize on other compilers than gcc and + msvc. + +Fri May 17 11:06:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval_intern.h (TH_PUSH_TAG): ensure jmpbuf to be accessible before + pushing tag to get rid of unaccessible tag by stack overflow. + +Thu May 16 17:15:32 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_eval.c (rb_catch_obj): add volatile to tag to prevent crash + experimentally. + http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130515T133500Z.log.html.gz + +Thu May 16 16:19:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/Makefile.sub (verconf.in): no longer used. + + * win32/Makefile.sub (config.status): fix typo. + + * configure.in, template/verconf.h.in (RUBY_EXEC_PREFIX): fix for + default prefix. + +Thu May 16 13:12:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * template/verconf.h.in: generate verconf.h from the template and + rbconfig.rb. + +Thu May 16 05:47:18 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: fix syntax error. + Thanks @spastorino! [ruby-core:55011] + +Thu May 16 03:05:45 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_node_newnode): use newobj_of() instead of rb_newobj(). + +Thu May 16 02:03:39 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/depend: Add a dependency for ifaddr.o. + +Thu May 16 01:44:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * common.mk (verconf.h): $< cannot be used in explicit rules with + nmake. + + * win32/Makefile.sub (CONFIG_H): create verconf.in instead of + verconf.h. + +Thu May 16 01:25:07 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: only emit warnings when + -w is enabled. + +Wed May 15 18:58:17 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (newobj): rename to `newobj_of' and accept additional + three parameters v1, v2, v3. newobj_of() do OBJSETUP() and + fill values with v1, v2, v3. + + * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): + use newobj_of(). + +Wed May 15 17:55:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (RUBY_PLATFORM): move to config.h as needed by + version.c. + +Wed May 15 17:04:11 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: add an additional RGENGC_PROFILE mode (2). + Profiling result can be check by GC.stat. + + * gc.c (type_name): separate from obj_type_name(). + +Wed May 15 16:58:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: save configured load path values into verconf.in. + + * common.mk (verconf.h): create from verconf.in with shvar_to_cpp.rb. + + * tool/shvar_to_cpp.rb: turn shell variables into C macros. + [Bug #7959] + + * loadpath.c: split load path staffs from version.c. + + * dmyloadpath.c: miniruby has no builtin load paths, so verconf.h is + not needed. + +Wed May 15 03:56:09 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: adding backwards + compatible YAMLTree.new method + +Wed May 15 02:22:16 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych.rb: Adding Psych.safe_load for loading a user + defined, restricted subset of Ruby object types. + * ext/psych/lib/psych/class_loader.rb: A class loader for + encapsulating the logic for which objects are allowed to be + deserialized. + * ext/psych/lib/psych/deprecated.rb: Changes to use the class loader + * ext/psych/lib/psych/exception.rb: ditto + * ext/psych/lib/psych/json/stream.rb: ditto + * ext/psych/lib/psych/nodes/node.rb: ditto + * ext/psych/lib/psych/scalar_scanner.rb: ditto + * ext/psych/lib/psych/stream.rb: ditto + * ext/psych/lib/psych/streaming.rb: ditto + * ext/psych/lib/psych/visitors/json_tree.rb: ditto + * ext/psych/lib/psych/visitors/to_ruby.rb: ditto + * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto + * ext/psych/psych_to_ruby.c: ditto + * test/psych/helper.rb: ditto + * test/psych/test_safe_load.rb: tests for restricted subset. + * test/psych/test_scalar_scanner.rb: ditto + * test/psych/visitors/test_to_ruby.rb: ditto + * test/psych/visitors/test_yaml_tree.rb: ditto + +Wed May 15 02:06:35 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * test/psych/helper.rb: envutil is not available outside Ruby, so + port the functions from envutil to the test helper. + + * test/psych/test_deprecated.rb: ditto + + * test/psych/test_encoding.rb: ditto + +Wed May 15 00:42:54 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * signal.c: need to include unistd.h for write(2). + unistd.h is now included via ruby/defines.h, but should explicitly + include here. (suggested by kosaki) + +Tue May 14 23:43:05 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/.document: Add ifaddr.c. + +Tue May 14 23:24:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/socket/extconf.rb: check for if_nametoindex() for + i686-w64-mingw32, and check for declarations of if_indextoname() and + if_nametoindex(). + + * ext/socket/ifaddr.c (ifaddr_ifindex): not-implement unless + if_nametoindex() is available. + + * ext/socket/rubysocket.h: declare if_indextoname() and + if_nametoindex() if available but not declared. + +Tue May 14 19:58:17 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> + + * ext/dl/lib/dl/func.rb (DL::Function#call): check tainted when + $SAFE > 0. + * ext/fiddle/function.c (function_call): check tainted when $SAFE > 0. + * test/fiddle/test_func.rb (module Fiddle): add test for above. + + +Tue May 14 14:51:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): split + from intptr_t and uintptr_t, since VC9 defines the latter only in + crtdefs.h. + +Tue May 14 12:21:28 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (NET_LUID): mingw may have NET_LUID and not defined + _IFDEF_. + +Tue May 14 03:33:17 2013 Koichi Sasada <ko1@atdot.net> + + * string.c (rb_str_new_frozen): remove debug print. + +Tue May 14 03:22:51 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: enable to generate write barrier protected + arrays (T_ARRAY). + +Tue May 14 03:21:42 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: enable to generate write barrier protected + strings (T_STRING). + +Tue May 14 03:19:59 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: enable to generate write barrier protected + objects (T_OBJECT). + +Tue May 14 03:17:15 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: enable to generate write barrier protected + objects for numeric types (Float, Complex, Rational, Bignum). + +Tue May 14 03:10:59 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: enable RGENGC (USE_RGENGC) + but no type creates write protected (sunny) objects + (RGENGC_WB_PROTECTED_* == 0). + +Tue May 14 02:47:30 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: support RGENGC. [ruby-trunk - Feature #8339] + See this ticket about RGENGC. + + * gc.c: Add several flags: + * RGENGC_DEBUG: if >0, then prints debug information. + * RGENGC_CHECK_MODE: if >0, add assertions. + * RGENGC_PROFILE: if >0, add profiling features. + check GC.stat and GC::Profiler. + + * include/ruby/ruby.h: disable RGENGC by default (USE_RGENGC == 0). + + * array.c: add write barriers for T_ARRAY and generate sunny objects. + + * include/ruby/ruby.h (RARRAY_PTR_USE): added. Use this macro if + you want to access raw pointers. If you modify the contents which + pointer pointed, then you need to care write barrier. + + * bignum.c, marshal.c, random.c: generate T_BIGNUM sunny objects. + + * complex.c, include/ruby/ruby.h: add write barriers for T_COMPLEX + and generate sunny objects. + + * rational.c (nurat_s_new_internal), include/ruby/ruby.h: add write + barriers for T_RATIONAL and generate sunny objects. + + * internal.h: add write barriers for RBasic::klass. + + * numeric.c (rb_float_new_in_heap): generate sunny T_FLOAT objects. + + * object.c (rb_class_allocate_instance), range.c: + generate sunny T_OBJECT objects. + + * string.c: add write barriers for T_STRING and generate sunny objects. + + * variable.c: add write barriers for ivars. + + * vm_insnhelper.c (vm_setivar): ditto. + + * include/ruby/ruby.h, debug.c: use two flags + FL_WB_PROTECTED and FL_OLDGEN. + + * node.h (NODE_FL_CREF_PUSHED_BY_EVAL, NODE_FL_CREF_OMOD_SHARED): + move flag bits. + +Tue May 14 01:54:48 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: remove rb_objspace_t::marked_num. + We can use `objspace_live_num()' instead of removed `marked_num' + if it is after `after_gc_sweep()' function call. + + * gc.c (after_gc_sweep): use objspace_live_num() instead of removed + rb_objspace_t::marked_num. + + * gc.c (gc_mark_ptr, gc_marks): remove rb_objspace_t::marked_num code. + + * gc.c (gc_prepare_free_objects): do not call set_heaps_increment() + with checking objspace->heap.marked_num. At this point, we only + need to check availability of free-cell. + + * gc.c (lazy_sweep): call after_gc_sweep() if there are no sweep_able entry. + + * gc.c (rest_sweep, gc_prepare_free_objects): remove after_gc_sweep() call. + +Tue May 14 01:50:41 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: disable GC_PROFILE_MORE_DETAIL (fix last commit). + + * gc.c (gc_prof_set_malloc_info): fix "objspace->heap.live_num" to + "objspace_live_num(objspace)". There is no such member variable. + +Tue May 14 01:25:55 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c: refactoring GC::Profiler. + + * gc.c (gc_prof_sweep_timer_start/stop): removed because + they doesn't support lazy sweep. + + * gc.c (gc_prof_sweep_slot_timer_start/stop): added. + redefine `sweeping time' to accumulated time of all of + slot_sweep(). + + * gc.c (rb_objspace_t::profile::count): renamed to + rb_objspace_t::profile::next_index. `counter' seems ambiguous. + increment it when next record is acquired. + +Tue May 14 00:48:55 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: constify RRational::(num,den) and + RComplex::(real,imag). + Add macro to set these values: + * RRATIONAL_SET_NUM() + * RRATIONAL_SET_DEN() + * RCOMPLEX_SET_REAL() + * RCOMPLEX_SET_IMAG() + This change is a part of RGENGC branch [ruby-trunk - Feature #8339]. + + TODO: API design. RRATIONAL_SET(rat,num,den) is enough? + TODO: Setting constify variable with cast has same issue of r40691. + + * complex.c, rational.c: use above macros. + +Mon May 13 21:49:17 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Check socketpair again. + It is required on Unix. + +Mon May 13 21:20:32 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (getipaddrs): use alternative interface name if + available, because if_nametoindex() requires them. + +Mon May 13 20:23:24 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental] + emulate getipaddrs(3) on Unix. + + * win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above + function. + + * include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't + substitute for any function, so use non-prefixed name. + + * ext/socket/extconf.rb (socketpair); follow above change. + +Mon May 13 20:11:06 2013 Koichi Sasada <ko1@atdot.net> + + * iseq.c (prepare_iseq_build): remove additional line break. + +Mon May 13 19:29:54 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: constify RBasic::klass and add + RBASIC_CLASS(obj) macro which returns a class of `obj'. + This change is a part of RGENGC branch [ruby-trunk - Feature #8339]. + + * object.c: add new function rb_obj_reveal(). + This function reveal internal (hidden) object by rb_obj_hide(). + Note that do not change class before and after hiding. + Only permitted example is: + klass = RBASIC_CLASS(obj); + rb_obj_hide(obj); + .... + rb_obj_reveal(obj, klass); + + TODO: API design. rb_obj_reveal() should be replaced with others. + + TODO: modify constified variables using cast may be harmful for + compiler's analysis and optimization. + Any idea to prohibit inserting RBasic::klass directly? + If rename RBasic::klass and force to use RBASIC_CLASS(obj), + then all codes such as `RBASIC(obj)->klass' will be + compilation error. Is it acceptable? (We have similar + experience at Ruby 1.9, + for example "RARRAY(ary)->ptr" to "RARRAY_PTR(ary)". + + * internal.h: add some macros. + * RBASIC_CLEAR_CLASS(obj) clear RBasic::klass to make it internal + object. + * RBASIC_SET_CLASS(obj, cls) set RBasic::klass. + * RBASIC_SET_CLASS_RAW(obj, cls) same as RBASIC_SET_CLASS + without write barrier (planned). + * RCLASS_SET_SUPER(a, b) set super class of a. + + * array.c, class.c, compile.c, encoding.c, enum.c, error.c, eval.c, + file.c, gc.c, hash.c, io.c, iseq.c, marshal.c, object.c, + parse.y, proc.c, process.c, random.c, ruby.c, sprintf.c, + string.c, thread.c, transcode.c, vm.c, vm_eval.c, win32/file.c: + Use above macros and functions to access RBasic::klass. + + * ext/coverage/coverage.c, ext/readline/readline.c, + ext/socket/ancdata.c, ext/socket/init.c, + * ext/zlib/zlib.c: ditto. + +Mon May 13 18:44:14 2013 Koichi Sasada <ko1@atdot.net> + + * *.c, parse.y, insns.def: use RARRAY_AREF/ASET macro + instead of using RARRAY_PTR(). + +Mon May 13 16:53:53 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: add new utility macros to access + Array's element. + * RARRAY_AREF(a, i) returns i-th element of an array `a' + * RARRAY_ASET(a, i, v) set i-th element of `a' to `v' + This change is a part of RGENGC branch [ruby-trunk - Feature #8339]. + +Mon May 13 15:31:10 2013 Koichi Sasada <ko1@atdot.net> + + * object.c (rb_obj_setup): added. + + * include/ruby/ruby.h (OBJSETUP): use rb_obj_setup() instead of + a macro. + +Mon May 13 15:24:16 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_data_object_alloc): check klass only if klass is not 0. + klass==0 means internal object. + +Mon May 13 14:57:28 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): + use NEWOBJ_OF() instead of NEWOBJ(). + +Mon May 13 14:51:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (rb_obj_singleton_method): new method Kernel#singleton_method + which returns a Method object of the singleton method. + non-singleton method causes NameError, but not aliased or zsuper + method, right now. + [ruby-core:54914] [Feature #8391] + + * vm_method.c (rb_method_entry_at): return the method entry for id at + klass, without ancestors. + + * class.c (rb_singleton_class_get): get the singleton class if exists, + or nil. + +Mon May 13 10:20:59 2013 Yuki Yugui Sonoda <yugui@google.com> + + * ext/openssl/ossl_ssl.c: Disabled OpenSSL::SSL::SSLSocket if + defined(OPENSSL_NO_SOCK). + + This fixes a linkage error on platforms which do not have socket. + OpenSSL itself is still useful as a set of cryptographic functions + even on such platforms. + +Mon May 13 10:30:04 2013 Zachary Scott <zachary@zacharyscott.net> + + * hash.c: Hash[] and {} are not equivalent by @eam [Fixes GH-301] + +Mon May 13 10:04:22 2013 Zachary Scott <zachary@zacharyscott.net> + + * random.c: Document Random::DEFAULT by @eLobato [Fixes GH-304] + +Sun May 12 21:12:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (OFFT2NUM): RUBY_REPLACE_TYPE also defines macro + to convert int type to VALUE if found. + +Wed May 8 13:46:52 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * include/ruby/intern.h (rb_iv_set, rb_iv_get): removed. Because + ruby.h has a declaration for that. + +Wed May 8 13:49:06 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * include/ruby/intern.h (rb_uint2big, rb_int2big, rb_uint2inum) + (rb_int2inum, rb_ll2inum, rb_ull2inum): removed because ruby.h + has a declaration for these. + +Sun May 12 17:52:23 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: removes 'ac_cv_func_fseeko=yes' form MinGW + specific definitions. + +Sun May 12 17:25:46 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * file.c (rb_file_s_truncate): use correct type. chsize takes + a long. + +Sun May 12 17:18:46 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * process.c: move '#define HAVE_SPAWNV 1' to win32/Makefile.sub. + * win32/Makefile.sub: see above. + +Sun May 12 17:13:32 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: removes AC_CHECK_FUNCS(setitimer) because it's + unused. + +Sun May 12 17:08:16 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: removes AC_CHECK_FUNCS(pause) because it's unused. + +Sun May 12 17:05:18 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * signal.c (rb_f_kill): fixes typo. s/HAS_KILLPG/HAVE_KILLPG/. + +Sun May 12 17:03:27 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: abort if gettimeofday doesn't exist. + +Sun May 12 16:31:27 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: adds RUBY_REPLACE_TYPE(off_t) for creating + NUM2OFFT. + * file.c (rb_file_truncate): use correct type. chsize() take + a long. + * include/ruby/ruby.h (NUM2OFFT): use a definition created by + a configure script by default. + +Sun May 12 16:03:41 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello, + ftello64). They are not used from anywhere. + + * win32/win32.c (fseeko): removes. + * win32/win32.c (rb_w32_ftello): removes. + * include/ruby/win32.h: removes declarations of rb_w32_ftello and + rb_w32_fseeko. + * win32/Makefile.sub: removes '#define HAVE_FTELLO 1'. + +Sun May 12 15:51:47 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: remove AC_CHECK_FUNC(close). It is not used from + anywhere. + +Sun May 12 15:50:45 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: adds comments for setjmp check. + +Sun May 12 15:38:09 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: move clock_gettime() check into regular place. + +Wed May 8 13:45:53 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: add getenv() declaration check. + * dln_find.c: add HAVE_DECL_GETENV test. + +Sun May 12 15:33:18 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: sorts AC_CHECK_FUNCS()s as alphabetical order. + +Wed May 8 13:41:57 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * bignum.c: remove redundant decl for big_lshift() big_rshift(). + +Sun May 12 16:06:43 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/socket/rubysocket.h (rsock_inspect_sockaddr): as r40646 + check HAVE_TYPE_STRUCT_SOCKADDR_DL. + +Sat May 11 23:01:58 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/socket/rubysocket.h (HAVE_TYPE_STRUCT_SOCKADDR_DL): + MSVC has struct sockaddr_dl, but its content is broken. + http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130511T103938Z.log.html.gz + +Sat May 11 22:07:42 2013 Tanaka Akira <akr@fsij.org> + + * test/rinda/test_rinda.rb: Socket.getifaddrs may returns an interface + which #addr method returns nil for venet0 in OpenVZ. + +Sat May 11 21:56:34 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/raddrinfo.c (rsock_inspect_sockaddr): Add casts to + suppress warnings. + +Sat May 11 17:28:51 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket: New method, Socket.getifaddrs, implemented. + [ruby-core:54777] [Feature #8368] + +Sat May 11 00:47:22 2013 Tanaka Akira <akr@fsij.org> + + * gc.h (SET_MACHINE_STACK_END): Add !defined(_ILP32) to a defining + condition to avoid compilation error on x32. + https://sites.google.com/site/x32abi/ + +Fri May 10 23:56:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_peek_variable_name): treat invalid global, class, + and instance variable names as mere strings rather than errors. + [ruby-core:54885] [Bug #8375] + +Fri May 10 20:22:40 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Move library checks into "Checks for libraries." part. + +Fri May 10 19:32:01 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Reformat arguments of AC_CHECK_HEADERS and + AC_CHECK_FUNCS to track modifications easily. + +Fri May 10 12:01:36 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Don't link librt if clock_gettime is available in + the main C library. + glibc 2.17 moves clock_* from librt to the main C library. + http://sourceware.org/ml/libc-announce/2012/msg00001.html + +Thu May 9 22:00:35 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ancdata.c (bsock_sendmsg_internal): controls_num should + not be negative. + +Thu May 9 21:09:57 2013 Tanaka Akira <akr@fsij.org> + + * file.c, ext/etc/etc.c, ext/socket/unixsocket.c, + ext/openssl/ossl.h, ext/openssl/openssl_missing.c: Use + HAVE_AGGREGATE_MEMBER instead of HAVE_ST_MEMBER. + +Thu May 9 20:43:41 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ancdata.c (bsock_sendmsg_internal): Always set + controls_num to raise NotImplementedError appropriately. + (bsock_recvmsg_internal): Raise NotImplementedError if + :scm_rights=>true is given on platforms which don't have + 4.4BSD style control message. + +Thu May 9 12:06:07 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/rubysocket.h, ext/socket/unixsocket.c, + ext/socket/ancdata.c: Use HAVE_STRUCT_MSGHDR_MSG_CONTROL instead + of HAVE_ST_MSG_CONTROL. + +Thu May 9 11:30:02 2013 Zachary Scott <zachary@zacharyscott.net> + + * string.c: Add call-seq alias for String#=== [Bug #8381] + +Thu May 9 11:14:18 2013 Zachary Scott <zachary@zacharyscott.net> + + * doc/contributing.rdoc: Add guide for contributing to CRuby + +Thu May 9 04:55:49 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Check socket library again. shutdown() is used in + io.c. + +Thu May 9 01:52:31 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Don't check socketpair. socketpair is not used in + ruby command itself. + +Thu May 9 01:05:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rb_mod_included_modules): should not include non-modules. + [ruby-core:53158] [Bug #8025] + +Wed May 8 22:46:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rb_mod_included_modules): should not include the original + module itself. [ruby-core:53158] [Bug #8025] + +Wed May 8 17:43:55 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * io.c (rb_io_ext_int_to_encs): ignore internal encoding if external + encoding is ASCII-8BIT. [Bug #8342] + +Wed May 8 13:49:38 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/json/generator/generator.c (isArrayOrObject): cast char to + unsigned char. [Bug #8378] + +Wed May 8 13:46:10 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/json/generator/depend: fix dependencies [Bug #8379] + + * ext/json/parser/depend: ditto. + +Wed May 8 13:07:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_yylex): fail if $, @, @@ are not followed by a valid + name character. [ruby-core:54846] [Bug #8375]. + +Wed May 8 13:06:31 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (ISGRAPH): add missing macro. + +Wed May 8 06:42:56 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/socket/socket.c (socket_s_ip_address_list): fix wrongly filled + sin6_scope_id on KAME introduced by r40593 for OpenIndiana. + KAME uses fe80:<scope_id>::<interface id> for link-local address + internally. + Setting sin6_scope_id causes it leaked. + see also comments of sockaddr_obj(). + +Tue May 7 22:12:34 2013 Tanaka Akira <akr@fsij.org> + + * ext/readline/readline.c (insert_ignore_escape): Add a cast to + unsigned char * before dereference. + This suppress a warning on Cygwin. + +Tue May 7 12:15:24 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ancdata.c (bsock_recvmsg_internal): Add a cast to + suppress warning. + Bionic defines socklen_t as int. + Bionic defines msg_controllen as unsigned int (__kernel_size_t) + instead of socklen_t as POSIX. + +Tue May 7 12:12:42 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ancdata.c (ancillary_inspect): Don't call + anc_inspect_ipv6_pktinfo if !HAVE_TYPE_STRUCT_IN6_PKTINFO. + anc_inspect_ipv6_pktinfo is not defined in the case. + +Tue May 7 12:10:52 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (socket_s_ip_address_list): Cast EXTRA_SPACE as + int. This suppress a warning. + +Tue May 7 12:09:29 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Set close_fds false for Cygwin. + Cygwin doesn't support fd passing. + This enables socket extension library cross-compilable by default. + +Tue May 7 12:07:35 2013 Tanaka Akira <akr@fsij.org> + + * pack.c (swap32): Don't redefine it if it is already defined. + Bionic defines it. + (swap64): Ditto. + +Mon May 6 20:50:37 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (socket_s_ip_address_list): Fill sin6_scope_id + if getifaddrs() returns an IPv6 link local address which + sin6_scope_id is zero, such as on OpenIndiana SunOS 5.11. + +Sun May 5 18:56:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * insns.def (defined): use vm_search_superclass() like as normal super + call. based on a patch <https://gist.github.com/wanabe/5520026> by + wanabe. + + * vm_insnhelper.c (vm_search_superclass): return error but not raise + exceptions. + + * vm_insnhelper.c (vm_search_super_method): check the result of + vm_search_superclass and raise exceptions on error. + +Sun May 5 16:29:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * insns.def (defined): get method entry from the method top level + frame, not block frame. [ruby-core:54769] [Bug #8367] + +Sun May 5 13:28:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * template/ruby.pc.in (Cflags): use rubyarchhdrdir for multiarch. + [Bug #7874] + +Sat May 4 07:20:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * doc/security.rdoc: Add note about reporting security vulns + +Sat May 4 04:13:27 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): New for + attribute((alloc_size(params))). + + * include/ruby/defines.h (xmalloc, xmalloc2, xcalloc) + (xrealloc, xrealloc2): Annotated by RUBY_ATTR_ALLOC_SIZE. + * include/ruby/ruby.h (rb_alloc_tmp_buffer): ditto. + +Fri May 3 19:32:13 2013 Takeyuki FUJIOKA <xibbar@ruby-lang.org> + + * lib/cgi/util.rb: All class methods modulized. + We can use these methods like a function when "include CGI::Util". + [Feature #8354] + +Fri May 3 14:09:45 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Make default_ipv6 true for Cygwin. + Cygwin supports IPv6 since Cygwin 1.7.1 (2009-12). + http://cygwin.com/ml/cygwin-announce/2009-12/msg00027.html + +Fri May 3 13:35:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/socket/{getaddrinfo,getnameinfo}.c: define socklen_t if not + defined, e.g., older VC. + +Fri May 3 13:29:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): also + should be defined when defining intptr_t and uintptr_t. + bigdecimal.c requires the former two now. + +Fri May 3 13:22:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (poll_child_status): fix build error on older mingw. + +Fri May 3 00:15:58 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * common.mk: remove timestamps in distclean-ext realclean-ext. + +Thu May 2 23:23:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (rb_obj_is_kind_of): skip prepending modules. + [ruby-core:54742] [Bug #8357] + + * object.c (rb_class_inherited_p): ditto. + [ruby-core:54736] [Bug #8357] + +Thu May 2 22:11:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * bin/irb: remove dead code from sample/irb.rb. + +Thu May 2 17:32:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * marshal.c (copy_ivar_i): get rid of overwriting already copied + instance variables. c.f. [Bug #8276] + +Thu May 2 16:55:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (id_locals): use cached ID. + + * vm.c (ruby_thread_init): ditto. + + * defs/id.def: add more predefined IDs used in core. + +Thu May 2 13:42:42 2013 Ryan Davis <ryand-ruby@zenspider.com> + + * lib/minitest/*: Imported minitest 4.7.4 (r8483) + * test/minitest/*: ditto + +Thu May 2 11:32:22 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (poll_child_status): [experimental] set the cause of + a child's death to status if its exitcode seems to be an error. + + * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe now + we can test it. + + * test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt): + ditto. + +Thu May 2 11:24:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/yaml.rb: nodoc EngineManager, add History doc #8344 + +Wed May 1 21:11:17 2013 Tanaka Akira <akr@fsij.org> + + * time.c (localtime_with_gmtoff_zone): musl libc may return NULL for + tm_zone. + +Wed May 1 18:59:36 2013 Benoit Daloze <eregontp@gmail.com> + + * enum.c (Enumerable#chunk): fix grammar of error message + for symbols beginning with an underscore [Bug #8351] + +Wed May 1 16:47:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/curses/extconf.rb (curses_version): try once for each tests, a + function or a variable. fallback to variable for old SVR4. + +Wed May 1 16:17:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/extmk.rb (extmake): extensions not to be installed should not + make static libraries, but make dynamic libraries always. + +Wed May 1 12:20:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/rake/version.rb: Fix RDoc warning with :include: [Bug #8347] + +Wed May 1 11:40:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * defs/id.def (predefined): add "idProc". + + * eval.c (frame_func_id): use predefined IDs. + + * proc.c (mnew, mproc, mlambda): use predefined IDs. + + * vm.c (rb_vm_control_frame_id_and_class): ditto. + + * vm.c (Init_VM): ditto. + +Tue Apr 30 23:18:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/benchmark.rb: Update Benchmark results on newer CPU + +Tue Apr 30 12:31:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (mproc, mlambda): use frozen core methods instead of plain + global methods, so that methods cannot be overridden. + [ruby-core:54687] [Bug #8345] + + * vm.c (Init_VM): define proc and lambda on the frozen core object. + + * include/ruby/intern.h (rb_block_lambda): add declaration instead of + deprecated rb_f_lambda. + +Mon Apr 29 17:02:30 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/nkf/nkf-utf8/nkf.h: Bionic libc doesn't have locale. + [Feature #8338] + + +Mon Apr 29 06:58:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/openssl/ossl_bn.c (ossl_bn_initialize): no need of alloca for + small fixed size array. + + * ext/openssl/ossl_bn.c (ossl_bn_initialize): check overflow first, + and use alloca for small size input. + +Mon Apr 29 00:40:13 2013 Benoit Daloze <eregontp@gmail.com> + + * lib/yaml.rb: Clarify documentation about YAML being always Psych. + Give a tip about using Syck. See #8344. + +Sun Apr 28 23:34:01 2013 Benoit Daloze <eregontp@gmail.com> + + * lib/yaml.rb: Use another trick to define the YAML module. + https://twitter.com/n0kada/status/328342207511801856 + +Sun Apr 28 23:19:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/pp.rb: Update PP module overview by @geopet + +Sun Apr 28 22:04:37 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * ext/openssl/ossl_bn.c (ossl_bn_initialize): fix buffer overflow on + x64 Windows and memory leak when initializing with integer. + [ruby-core:54615] [Bug #8337] + +Sun Apr 28 12:38:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * README.EXT: correct method name to be used. [Bug #7982] + + * README.EXT.ja: add notes too. + +Sun Apr 28 10:35:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * object.c: With feedback from Steve Klabnik, reverted a change to + #untrusted? and #tainted?. Also adjusted grammar for $SAFE levels + +Sun Apr 28 10:10:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/yaml.rb: Disable setting YAML const twice [ruby-core:54642] + +Sun Apr 28 09:50:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * object.c: Documentation for taint and trust [Bug #8162] + +Sun Apr 28 09:40:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * README.EXT: Copy note from r40505 for rb_sprintf() [Bug #7982] + +Sun Apr 28 08:28:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/curses/curses.c: Update Curses::Window example for nicer output + Patch by Michal Suchanek [Bug #8121] [ruby-core:53520] + +Sun Apr 28 08:10:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * README.EXT: Update note from r40504, by Jeremy Evans [Bug #7982] + +Sun Apr 28 08:02:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * README.EXT: Add note to warn use of %i in Exceptions [Bug #7982] + +Sun Apr 28 02:41:05 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Fix a typo. Should check endgrent() instead of + endgrnam(). + +Sun Apr 28 00:35:45 2013 Tanaka Akira <akr@fsij.org> + + * process.c (obj2gid): Don't call endgrent() if not exist. + Bionic (Android's libc) don't have endgrent(). + + * configure.in: Check endgrnam function. + +Sat Apr 27 23:53:00 2013 Charlie Somerville <charlie@charliesomerville.com> + + * lib/yaml.rb: add security warning to YAML documentation + +Sat Apr 27 23:25:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/yaml.rb: Documentation for YAML module [Bug #8213] + +Sat Apr 27 20:19:21 2013 Tanaka Akira <akr@fsij.org> + + * thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION. + This fixes a compilation failure while cross-compiling for Tensilica + Xtensa Processor. + +Sat Apr 27 19:32:44 2013 Benoit Daloze <eregontp@gmail.com> + + * thread.c: fix typos and documentation + +Sat Apr 27 19:04:55 2013 Tanaka Akira <akr@fsij.org> + + * sparc.c: Use __asm__ instead of asm for gcc. + gcc doesn't provide asm keyword if -ansi option is given. + http://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html + +Sat Apr 27 17:22:50 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Redundant test removed. + +Sat Apr 27 16:00:10 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb (test_recvmsg_with_msg_peek_creates_fds): + Extracted. + +Sat Apr 27 15:50:40 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (SIGNED_INTEGER_TYPE_P): New macro. + (SIGNED_INTEGER_MAX): Ditto. + (SIGNED_INTEGER_MIN): Ditto. + (UNSIGNED_INTEGER_MAX): Ditto. + (TIMET_MAX): Use SIGNED_INTEGER_MAX and UNSIGNED_INTEGER_MAX. + (TIMET_MIN): Use SIGNED_INTEGER_MIN. + + * thread.c (TIMEVAL_SEC_MAX): Use SIGNED_INTEGER_MAX. + (TIMEVAL_SEC_MIN): Use SIGNED_INTEGER_MIN. + +Sat Apr 27 10:52:52 2013 Tanaka Akira <akr@fsij.org> + + * thread.c (TIMEVAL_SEC_MAX, TIMEVAL_SEC_MIN): Consider environments, + sizeof(time_t) is smaller than sizeof(tv_sec), such as + OpenBSD 5.2 (amd64). + +Fri Apr 26 23:34:59 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/text.rb (REXML::Text.normalize): Fix a bug that all + entity filters are ignored. [ruby-dev:47278] [Bug #8302] + Patch by Ippei Obayashi. Thanks!!! + * test/rexml/test_entity.rb (EntityTester#test_entity_filter): Add + a test of the above change. + +Fri Apr 26 22:53:55 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/element.rb (REXML::Attributes#to_a): Support + namespaced attributes. [ruby-dev:47277] [Bug #8301] + Patch by Ippei Obayashi. Thanks!!! + * test/rexml/test_attributes.rb + (AttributesTester#test_to_a_with_namespaces): Add a test of the + above change. + +Fri Apr 26 21:48:29 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rss/atom.rb (RSS::Atom::Entry): Fix indent of document comment. + +Fri Apr 26 21:21:17 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rss/maker.rb (RSS::Maker): Fix indent of document comment. + +Fri Apr 26 18:41:04 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Use a block of enable_config() for + --{enable,disable}-close-fds-by-recvmsg-with-peek configure option + +Fri Apr 26 18:08:08 2013 Tanaka Akira <akr@fsij.org> + + * dir.c (dir_set_pos): Fix a compilation error when seekdir() is not + exist. + +Fri Apr 26 17:41:17 2013 Tanaka Akira <akr@fsij.org> + + * thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION. + This fixes a compilation failure while cross-compiling for ARM. + +Fri Apr 26 14:35:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/rss/atom.rb: Documentation for RSS::Atom based on a patch by + Michael Denomy + * lib/rss/maker.rb: Documentation for RSS::Maker also by @mdenomy + +Fri Apr 26 12:41:22 2013 Tanaka Akira <akr@fsij.org> + + * ext/curses/extconf.rb: Test linkability of curses_version at first. + + * ext/socket/extconf.rb: Test the behavior of fd passing with MSG_PEEK + only if recvmsg(), msg_control member, AF_UNIX and SCM_RIGHTS are + available. + +Fri Apr 26 00:07:52 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * lib/rinda/ring.rb (Rinda::RingServer#initialize): accept array + arguments of address to specify multicast interface. + + * lib/rinda/ring.rb (Rinda::RingServer#make_socket): add optional + arguments for multicast interface. + + * test/rinda/test_rinda.rb + (TestRingFinger#test_ring_server_ipv4_multicast, + TestRingFinger#test_ring_server_ipv6_multicast): add tests for + above change. + + * test/rinda/test_rinda.rb + (TestRingServer#test_make_socket_ipv4_multicast, + TestRingServer#test_make_socket_ipv6_multicast): change bound + interface address because multicast address is not allowed on Linux + or Windows. + [ruby-core:53692] [Bug #8159] + +Thu Apr 25 23:45:02 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * lib/rinda/ring.rb (Rinda::RingServer#initialize): add a socket + to @sockets in make_socket() to close sockets on shutdown even if + make_socket() is called after initialize. + + * lib/rinda/ring.rb (Rinda::RingServer#make_socket): ditto. + +Thu Apr 25 23:39:42 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/rinda/test_rinda.rb (TupleSpaceProxyTest#test_take_bug_8215): + use KILL on Windows since TERM doen't work and ruby process remains + after test-all on Windows. + +Thu Apr 25 23:16:28 2013 Tanaka Akira <akr@fsij.org> + + * ext/curses/extconf.rb: Implement + --with-curses-version={function,variable} configure option for + cross-compiling. + +Thu Apr 25 18:15:46 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Don't use WIDE getaddrinfo by default. + +Thu Apr 25 17:56:39 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Remove obsolete options: ---with-ipv6-lib and + --with-ipv6-libdir. + +Thu Apr 25 17:43:49 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Implement + --{enable,disable}-close-fds-by-recvmsg-with-peek configure option + for cross-compiling. + Make --{enable,disable}-wide-getaddrinfo configure option + cross-compiling friendly. + +Thu Apr 25 16:11:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (rb_io_ext_int_to_encs, parse_mode_enc): bom-prefixed name is + not a real encoding name, just a fallback. so the proper conversion + should take place even if if the internal encoding is equal to the + bom-prefixed name, unless actual encoding is equal to the internal + encoding. [ruby-core:54563] [Bug #8323] + + * io.c (io_set_encoding_by_bom): reset extenal encoding if no BOM + found. [ruby-core:54569] + +Thu Apr 25 14:35:01 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/openssl/ossl_bn.c (ossl_bn_initialize): allow Fixnum and Bignum. + [ruby-core:53986] [Feature #8217] + +Thu Apr 25 14:26:32 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/uri/common.rb (URI.decode_www_form): follow current URL Standard. + It gets encoding argument to specify the character encoding. + It now allows loose percent encoded strings, but denies ;-separator. + [ruby-core:53475] [Bug #8103] + + * lib/uri/common.rb (URI.decode_www_form): follow current URL Standard. + It gets encoding argument to convert before percent encode. + Now UTF-16 strings aren't converted to UTF-8 before percent encode + by default. + +Wed Apr 25 14:26:00 2013 Charlie Somerville <charlie@charliesomerville.com> + + * benchmark/bm_hash_shift.rb: add benchmark for Hash#shift + + * hash.c (rb_hash_shift): use st_shift if hash is not being iterated to + delete element without iterating the whole hash. + + * hash.c (shift_i): remove function + + * include/ruby/st.h (st_shift): add st_shift function + + * st.c (st_shift): ditto + + [Bug #8312] [ruby-core:54524] Patch by funny-falcon + +Thu Apr 25 12:03:38 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Extract C programs as toplevel constants. + +Thu Apr 25 02:23:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (RUBY_RM_RECURSIVE): this hack is needed by only + autoconf 2.69 or earlier on darwin. + +Thu Apr 25 01:22:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/tracer.rb (get_line): simply read by File.readlines. + + * lib/debug.rb (script_lines): get source lines from SCRIPT_LINES__ or + read from the file. + + * lib/debug.rb (display_list): use script_lines instead of recursion. + [Bug #8318] + + * lib/debug.rb (line_at): use script_lines same as display_list. + + * lib/debug.rb (display_list): Fix debug listing when called from the + same file it has been required. patch by Dario Bertini <berdario AT + gmail.com> [Bug #8318] [fix GH-280] + +Wed Apr 24 21:51:13 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: Check mblen(). + mblen() is optional in uClibc. + + * eval_intern.h (CharNext): Don't use mblen() is not available. + +Wed Apr 24 15:55:06 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * io.c (rb_fd_fix_cloexec): use rb_update_max_fd(). + +Wed Apr 24 14:08:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * numeric.c: Fix wiki link on Float imprecision in overview, patched + by Makoto Kishimoto [Bug #8304] [ruby-dev:47280] + +Wed Apr 24 14:03:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_yylex): disallow $- without following identifier + character. [ruby-talk:406969] + + * parse.y (is_special_global_name): mere $- is not a valid global + variable name. + +Wed Apr 24 13:54:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * string.c: Document String#setbyte return value by @gjmurakami-10gen + [Fixes GH-294] + +Wed Apr 24 13:45:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * class.c: Example of Object#methods by @windwiny [Fixes GH-293] + * ruby.c: Document return values of Kernel #sub, #gsub, and #chop + +Wed Apr 24 12:54:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292] + + +Wed Apr 24 12:54:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292] + +Wed Apr 24 12:27:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c: Fix documentation for Array#index and #replace aliases + Based on a patch by @phiggins [Fixes GH-282] + +Tue Apr 23 21:14:38 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (rb_str_inspect): refix r40413, on Ruby 1.9 usual character + escape uses hex/Unicode escapes, so fix to use Unicode escape on + Unicode strings and hex on others. [ruby-core:54458] [Bug #8290] + +Tue Apr 23 20:10:02 2013 Tanaka Akira <akr@fsij.org> + + * missing/isnan.c (isnan): Don't define if isnan() macro is defined. + This fixes a compilation failure on uClibc based Gentoo system. + +Tue Apr 23 17:40:40 2013 Martin Duerst <duerst@it.aoyama.ac.jp> + + * lib/rexml/document.rb, lib/rexml/element.rb, + lib/rexml/formatters/pretty.rb: remove opinionated + language in documentation. [Bug #8309], + reported by Charles Beckmann + +Tue Apr 23 14:04:44 2013 Shugo Maeda <shugo@ruby-lang.org> + + * lib/net/imap.rb (getacl_response): parse the mailbox of an ACL + response correctly. [ruby-core:54365] [Bug #8281] + +Tue Apr 23 11:58:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_scrub): fix for UTF-32. strlen() on strings + contain NUL returns wrong result, use sizeof operator instead. + [ruby-dev:45975] [Feature #6752] + +Tue Apr 23 10:26:50 2013 Akinori MUSHA <knu@iDaemons.org> + + * test/ruby/test_module.rb + (TestModule#test_const_get_invalid_name) + (test_const_defined_invalid_name): Fix expected values. + +Tue Apr 23 09:51:26 2013 Akinori MUSHA <knu@iDaemons.org> + + * string.c (rb_str_inspect): NUL should not be represented as "\0" + when octal digits may follow. [ruby-core:54458] [Bug #8290] + +Mon Apr 22 22:54:00 2013 Charlie Somerville <charlie@charliesomerville.com> + + * insns.def (opt_mod): Use % operator if both operands are positive for + a significant performance improvement. Thanks to @samsaffron. + +Mon Apr 22 17:09:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * marshal.c (r_object0): copy all instance variables not only generic + ivars, before calling post proc. [ruby-core:51163] [Bug #7627] + +Mon Apr 22 10:25:21 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * util.c (ruby_hdtoa): revert r29729. + If you want ruby to behave as before on x86, specify to use SSE like + -msse2 -mfpmath=sse for gcc. + +Sun Apr 21 23:19:00 2013 Charlie Somerville <charlie@charliesomerville.com> + + * configure.in: Revert using sigsetjmp by default due to performance + problems on some systems (eg. older Linux) + +Sun Apr 21 21:35:00 2013 Charlie Somerville <charlie@charliesomerville.com> + + * configure.in: Use sigsetjmp by default so jumping out of signal + handlers properly restores the signal mask and SS_ONSTACK flag. + [ruby-core:54175] [Bug #8254] + + * configure.in: Manually check for presence of sigsetjmp. It is not a + function on some systems, so AC_CHECK_FUNCS cannot be used. + +Sun Apr 21 08:00:55 2013 Tanaka Akira <akr@fsij.org> + + * test/csv/test_features.rb, test/logger/test_logger.rb + test/mkmf/test_have_macro.rb, test/net/http/test_http.rb, + test/openssl/test_config.rb, test/psych/test_encoding.rb, + test/psych/test_exception.rb, test/psych/test_psych.rb, + test/psych/test_tainted.rb, test/readline/test_readline.rb, + test/rexml/test_contrib.rb, test/ruby/test_autoload.rb, + test/ruby/test_beginendblock.rb, test/ruby/test_exception.rb, + test/ruby/test_file.rb, test/ruby/test_io.rb, + test/ruby/test_marshal.rb, test/ruby/test_process.rb, + test/ruby/test_require.rb, test/ruby/test_rubyoptions.rb, + test/syslog/test_syslog_logger.rb, test/webrick/test_httpauth.rb, + test/zlib/test_zlib.rb: Use Tempfile.create. + +Sun Apr 21 00:15:36 2013 Tanaka Akira <akr@fsij.org> + + * lib/tempfile.rb (Tempfile.create): Close when the block exits. + +Sat Apr 20 23:38:14 2013 Tanaka Akira <akr@fsij.org> + + * lib/webrick/httpauth/htpasswd.rb: Use Tempfile.create to avoid + unintentional unlink() by the finalizer. + lib/webrick/httpauth/htdigest.rb: Ditto. + +Sat Apr 20 22:47:48 2013 Tanaka Akira <akr@fsij.org> + + * lib/tempfile.rb (Tempfile.create): New method. + The method name is proposed by Shugo Maeda. [ruby-dev:47220] + [ruby-core:41478] [Feature #5707] + +Sat Apr 20 14:22:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * marshal.c (w_object): dump no ivars to the original by marshal_dump. + [ruby-core:54334] [Bug #8276] + + * marshal.c (r_object0): copy all ivars of marshal_dump data to the + result object instead. [ruby-core:51163] [Bug #7627] + +Sat Apr 20 02:33:27 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (str_scrub): add ruby method String#scrub which verify and + fix invalid byte sequence. [ruby-dev:45975] [Feature #6752] + + * string.c (str_compat_and_valid): check given string is compatible + and valid with given encoding. + + * transcode.c (str_transcode0): If invalid: :replace is specified for + String#encode, replace invalid byte sequence even if the destination + encoding equals to the source encoding. + +Fri Apr 19 21:55:40 2013 Kouhei Sutou <kou@cozmixng.org> + + * README.EXT.ja (Data_Wrap_Struct): Remove a description about + orphan argument. Oh, I renamed the argument name without + changing description at r36180... Sorry.... + Patch by Makoto Kishimoto. Thanks!!! [ruby-dev:47269] [Bug #8292] + * README.EXT.ja (Data_Make_Struct): Add a sample code that describes + how it works. + Patch by Makoto Kishimoto. Thanks!!! [ruby-dev:47269] [Bug #8292] + +Fri Apr 19 17:54:57 2013 Shugo Maeda <shugo@ruby-lang.org> + + * lib/net/imap.rb (body_type_msg): should accept + message/delivery-status with extra data. + [ruby-core:53741] [Bug #8167] + + * test/net/imap/test_imap_response_parser.rb: related test. + +Fri Apr 19 13:03:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * marshal.c (w_object): do not dump encoding which is dumped with + marshal_dump data. [ruby-core:54334] [Bug #8276] + +Fri Apr 19 11:36:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (stack_protector): control use of -fstack-protector. + + * configure.in (debugflags): let -fstack-protector precede and disable + debugflags, because they can't work together on SmartOS. [Bug #8268] + +Fri Apr 19 07:43:52 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * test/openssl/test_cipher.rb: Correct a typo + by jgls <joerg@joergleis.com> + https://github.com/ruby/ruby/pull/291 fix GH-291 + +Thu Apr 18 16:58:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_method.c (rb_mod_public_method): fix visibility on anonymous + module. set visibility of singleton method, not method in base + class. [ruby-core:54404] [Bug #8284] + +Thu Apr 18 16:20:51 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (glob_helper): should skip dot directories only for recursion, + but should not if matching to the given pattern. [ruby-core:54387] + [Bug #8283] + +Thu Apr 18 16:20:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * pack.c (pack_unpack): increase buffer size to fix buffer overflow, + and fix garbage just after unpacking without missing paddings. + [Bug #8286] + +Thu Apr 18 13:35:54 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * pack.c (pack_unpack): output characters even if the input doesn't + have paddings. [Bug #8286] + +Thu Apr 18 08:20:48 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * common.mk (clean-ext): remove timestamps. + +Wed Apr 17 22:07:50 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/rubysocket.h (SOCKLEN_MAX): Expression simplified. + +Wed Apr 17 20:09:19 2013 Aman Gupta <ruby@tmm1.net> + + * compile.c (iseq_add_mark_object): Use new rb_iseq_add_mark_object(). + + * insns.def (setinlinecache): Ditto. + + * iseq.c (rb_iseq_add_mark_object): New function to allocate + iseq->mark_ary on demand. [Bug #8142] + + * iseq.h (rb_iseq_add_mark_object): Ditto. + + * iseq.c (prepare_iseq_build): Avoid allocating mark_ary until needed. + + * iseq.c (rb_iseq_build_for_ruby2cext): Ditto. + +Wed Apr 17 20:00:18 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/rubysocket.h (SOCKLEN_MAX): Defined. + + * ext/socket/raddrinfo.c (ext/socket/raddrinfo.c): Reject too long + Linux abstract socket name. + +Wed Apr 17 19:45:27 2013 Aman Gupta <tmm1@ruby-lang.org> + + * iseq.c (iseq_location_setup): re-use existing string when iseq has + the same path and absolute_path. [Bug #8149] + +Wed Apr 17 11:38:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert): + UNASSIGNED is not a valid message. + +Wed Apr 17 10:58:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (sleep_timeval): get rid of overflow on Windows where + timeval.tv_sec is not time_t but mere long. + +Tue Apr 16 23:07:12 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/unixsocket.c (unix_send_io): Suppress a warning by clang. + (unix_recv_io): Ditto. + +Tue Apr 16 12:27:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/sdbm/init.c: Fix comment indentation, by windwiny [Fixes GH-277] + +Tue Apr 16 12:25:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/socket/option.c: Document synonymous methods, by windwiny [GH-277] + * ext/stringio/stringio.c: ditto + * ext/io/wait/wait.c: ditto + * ext/gdbm/gdbm.c: ditto + * ext/dl/cfunc.c: ditto + * ext/zlib/zlib.c: ditto + * ext/win32ole/win32ole.c: ditto + * ext/dbm/dbm.c: ditto + * ext/json/generator/generator.c: ditto + * ext/date/date_core.c: ditto + +Tue Apr 16 11:23:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/openssl/*: Document synonymous methods, by windwiny [GH-277] + +Mon Apr 15 22:21:42 2013 Tanaka Akira <akr@fsij.org> + + * ext/fiddle/depend: New file. + +Mon Apr 15 22:01:02 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-insert): Check + ruby-electric-is-last-command-char-expandable-punct-p here. + + * misc/ruby-electric.el (ruby-electric-closing-char): New + interactive function bound to closing characters. Typing one of + those closing characters right after the matching counterpart + cancels the effect of automatic closing. For example, typing + "{" followed by "}" simply makes "{}" instead of "{ } }". + +Mon Apr 15 12:54:42 2013 Martin Bosslet <Martin.Bosslet@gmail.com> + + * ext/openssl/ossl_ssl.c: Correct shutdown behavior w.r.t GC. + + * test/openssl/test_ssl.rb: Add tests to verify correct behavior. + + [Bug #8240] Patch provided by Shugo Maeda. Thanks! + +Mon Apr 15 10:23:39 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/coverage/depend: fix id.h place as r40283. + + * ext/coverage/extconf.rb: add topdir and topsrcdir to VPATH. + +Sun Apr 14 19:46:14 2013 Tanaka Akira <akr@fsij.org> + + * ext/-test-/debug/depend: New file. + + * ext/-test-/exception/depend: Ditto. + + * ext/-test-/printf/depend: Ditto. + + * ext/-test-/string/depend: Ditto. + + * ext/coverage/depend: Ditto. + + * ext/io/console/depend: Ditto. + + * ext/io/nonblock/depend: Ditto. + + * ext/io/wait/depend: Ditto. + + * ext/openssl/depend: Ditto. + + * ext/pathname/depend: Ditto. + + * ext/psych/depend: Ditto. + + * ext/zlib/depend: Ditto. + +Sun Apr 14 02:46:50 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/mkmf.rb (MakeMakefile#create_makefile): remove {$(VPATH)} other + than nmake. + + * ext/ripper/depend: use VPATH expecting removed by above. + +Sat Apr 13 23:06:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (timestamp_file): gather timestamp files in one + directory from each extension directories. + +Sat Apr 13 21:09:02 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * lib/mkmf.rb (MakeMakefile#create_makefile): output new macro + disthdrdir to specify the path of id.h, parse.h and etc. + + * ext/ripper/depend: use above macro. + +Sat Apr 13 20:28:08 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * Merge Onigmo 5.13.4 f22cf2e566712cace60d17f84d63119d7c5764ee. + [bug] fix problem with optimization of \z (Issue #16) [Bug #8210] + +Sat Apr 13 18:56:15 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/ripper/depend: parse.h and id.h may be created on topdir. + +Sat Apr 13 12:08:16 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * lib/matrix.rb: Add Vector#cross_product, patch by Luis Ezcurdia + [fix GH-276] [rubyspec:81eec89a124] + +Sat Apr 13 10:20:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * struct.c (rb_struct_define_without_accessor, rb_struct_define), + (rb_struct_s_def): hide member names array. + + * struct.c (anonymous_struct, new_struct, setup_struct): split + make_struct() for each purpose. + +Sat Apr 13 09:34:31 2013 Tanaka Akira <akr@fsij.org> + + * lib/mkmf.rb: Add ruby/ruby.h, ruby/missing.h, ruby/intern.h, + ruby/st.h and ruby/subst.h for ruby_headers in generated Makefile. + + * ext/-test-/old_thread_select/depend: Update dependencies. + + * ext/-test-/wait_for_single_fd/depend: Ditto. + + * ext/bigdecimal/depend: Ditto. + + * ext/curses/depend: Ditto. + + * ext/digest/bubblebabble/depend: Ditto. + + * ext/digest/depend: Ditto. + + * ext/digest/md5/depend: Ditto. + + * ext/digest/rmd160/depend: Ditto. + + * ext/digest/sha1/depend: Ditto. + + * ext/digest/sha2/depend: Ditto. + + * ext/dl/callback/depend: Ditto. + + * ext/dl/depend: Ditto. + + * ext/etc/depend: Ditto. + + * ext/nkf/depend: Ditto. + + * ext/objspace/depend: Ditto. + + * ext/pty/depend: Ditto. + + * ext/readline/depend: Ditto. + + * ext/ripper/depend: Ditto. + + * ext/sdbm/depend: Ditto. + + * ext/socket/depend: Ditto. + + * ext/stringio/depend: Ditto. + + * ext/strscan/depend: Ditto. + + * ext/syslog/depend: Ditto. + + * ext/-test-/num2int/depend: Removed. + + * ext/dbm/depend: Ditto. + + * ext/fcntl/depend: Ditto. + + * ext/gdbm/depend: Ditto. + + * ext/racc/cparse/depend: Ditto. + +Sat Apr 13 00:15:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/etc/etc.c (Init_etc): move Passwd and Group under Etc namespace + as primary names. + +Fri Apr 12 21:06:55 2013 Tanaka Akira <akr@fsij.org> + + * common.mk: pack.o depends on internal.h. + +Fri Apr 12 20:59:24 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (ones): Use __builtin_popcountl if available. + + * internal.h (GCC_VERSION_SINCE): Macro moved from pack.c. + + * pack.c: Include internal.h for GCC_VERSION_SINCE. + +Fri Apr 12 18:29:42 2013 Tanaka Akira <akr@fsij.org> + + * common.mk: version.o depends on $(srcdir)/include/ruby/version.h + instead of {$(VPATH)}version.h to avoid confusion by VPATH between + top level version.h and include/ruby/version.h for build in-place. + [ruby-dev:47249] [Bug #8256] + +Fri Apr 12 15:21:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_insnhelper.c (vm_callee_setup_keyword_arg): non-symbol key is not + a keyword argument, keep it as a positional argument. + +Fri Apr 12 11:58:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c: Document synonymous methods, by windwiny [GH-277] + * bignum.c: ditto + * complex.c: ditto + * dir.c: ditto + * encoding.c: ditto + * enumerator.c: ditto + * numeric.c: ditto + * proc.c: ditto + * re.c: ditto + * string.c: ditto + +Thu Apr 11 23:41:46 2013 Tanaka Akira <akr@fsij.org> + + * common.mk: Add dependencies for include/ruby.h + + * tool/update-deps: Use "make -p all miniruby ruby golf" to extract + dependencies in makefiles. + +Thu Apr 11 23:21:17 2013 Tanaka Akira <akr@fsij.org> + + * tool/update-deps: Use "make -p all golf" to extract dependencies in + makefiles. + +Thu Apr 11 21:02:19 2013 Tanaka Akira <akr@fsij.org> + + * common.mk: Dependency updated. + + * tool/update-deps: Rewritten. + +Thu Apr 11 19:59:48 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * common.mk: partially revert r40183, which breaks building on + other than source directory. (its commit log also says the same + thing, but such failure is not reproducible on my environment + and the commit breaks build on my environment) + +Thu Apr 11 16:10:01 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 on + Mac OS X and Linux [Bug #3371] + +Thu Apr 11 13:19:22 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/drb/drbtest.rb (Drb{Core,Ary}#teardown): retry Process.kill + if it fails with Errno::EPERM on Windows (workaround). + [ruby-dev:47245] [Bug #8251] + +Thu Apr 11 11:11:38 2013 Akinori MUSHA <knu@iDaemons.org> + + * dir.c: Fix a typo. + +Thu Apr 11 10:39:34 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): add missing case: + RUBY_LIBFFI_MODVERSION is not defined (usually on Windows). + +Thu Apr 11 09:27:04 2013 Konstantin Haase <me@rkh.im> + + * dir.c (file_s_fnmatch): Document File::FNM_EXTGLOB flag. + +Thu Apr 11 09:17:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * README: Fix typo by Benjamin Winkler [Fixes GH-281] + +Thu Apr 11 06:15:51 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * regint.h: fix typo: _M_AMD86 -> _M_AMD64. + + * siphash.c: ditto. + + * st.c: ditto. + +Thu Apr 11 06:09:57 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/fiddle/extconf.rb: define RUBY_LIBFFI_MODVERSION macro. + + * ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 or 1 + with platform and libffi's version. [Bug #3371] + +Thu Apr 11 05:30:43 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/mkmf.rb (pkg_config): Add optional argument "option". + If it is given, it returns the result of + `pkg-config --<option> <pkgname>`. + +Thu Apr 11 03:33:05 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/fiddle/closure.c (initialize): check mprotect's return value. + If mprotect is failed because of PaX or something, its function call + will cause SEGV. + http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20130401T210301Z.diff.html.gz + +Wed Apr 10 17:39:13 2013 Tanaka Akira <akr@fsij.org> + + * ext/bigdecimal/bigdecimal.c (VpCtoV): Initialize a local variable + even when overflow. + +Wed Apr 10 12:32:37 2013 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_ll2big): Don't overflow on signed integer negation. + + * ext/bigdecimal/bigdecimal.c (MUL_OVERFLOW_SIGNED_VALUE_P): New + macro. + (AddExponent): Don't overflow on signed integer multiplication. + (VpCtoV): Don't overflow on signed integer arithmetic. + (VpCtoV): Don't overflow on signed integer arithmetic. + +Wed Apr 10 06:32:12 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (MUL_OVERFLOW_INT_P): New macro. + + * sprintf.c (GETNUM): Don't overflow on signed integer multiplication. + +Tue Apr 9 20:38:20 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (MUL_OVERFLOW_SIGNED_INTEGER_P): New macro. + (MUL_OVERFLOW_FIXNUM_P): Ditto. + (MUL_OVERFLOW_LONG_P): Ditto. + + * array.c (rb_ary_product): Don't overflow on signed integer + multiplication. + + * numeric.c (fix_mul): Ditto. + (int_pow): Ditto. + + * rational.c (f_imul): Ditto. + + * insns.def (opt_mult): Ditto. + + * thread.c (sleep_timeval): Don't overflow on signed integer addition. + + * bignum.c (rb_int2big): Don't overflow on signed integer negation. + (rb_big2ulong): Ditto. + (rb_big2long): Ditto. + (rb_big2ull): Ditto. + (rb_big2ll): Ditto. + +Tue Apr 9 19:45:44 2013 Tanaka Akira <akr@fsij.org> + + * lib/open-uri.rb: Support multiple fields with same field + name (like Set-Cookie). + (OpenURI::Meta#metas): New accessor to obtain fields as a Hash from + field name (string) to field values (array of strings). + [ruby-core:37734] [Bug #4964] reported by ren li. + +Tue Apr 9 15:26:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compile.c (iseq_compile_each): append keyword hash to argument array + to splat if needed. [ruby-core:54094] [Bug #8236] + +Tue Apr 9 10:02:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (timestamp_file): gather timestamp files in one + directory from each extension directories, with considering + target_prefix. + +Tue Apr 9 04:57:59 JST 2013 Charles Oliver Nutter <headius@headius.com> + + * error.c: Capture EAGAIN, EWOULDBLOCK, EINPROGRESS exceptions and + export them for use in WaitReadable/Writable exceptions. + * io.c: Create versions of EAGAIN, EWOULDBLOCK, EINPROGRESS that + include WaitReadable and WaitWritable. Add rb_readwrite_sys_fail + for nonblocking failures using those exceptions. Use that + function in io_getpartial and io_write_nonblock instead of + rb_mod_sys_fail + * ext/openssl/ossl_ssl.c: Add new SSLError subclasses that include + WaitReadable and WaitWritable. Use those classes for + write_would_block and read_would_block instead of rb_mod_sys_fail. + * ext/socket/ancdata.c: Use rb_readwrite_sys_fail instead of + rb_mod_sys_fail in bsock_sendmsg_internal and + bsock_recvmsg_internal. + * ext/socket/init.c: Use rb_readwrite_sys_fail instead of + rb_mod_sys_fail in rsock_s_recvfrom_nonblock and + rsock_s_connect_nonblock. + * ext/socket/socket.c: Use rb_readwrite_sys_fail instead of + rb_mod_sys_fail in sock_connect_nonblock. + * include/ruby/ruby.h: Export rb_readwrite_sys_fail for use instead + of rb_mod_sys_fail. Introduce new constants RB_IO_WAIT_READABLE and + RB_IO_WAIT_WRITABLE for first arg to rb_readwrite_sys_fail. + +Tue Apr 9 02:44:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/socket/extconf.rb: $defs needs -D or -U. nothing is added + otherwize. + + * ext/socket/extconf.rb: check struct in_addr6, which is defined in + VC6 instead of in6_addr. + + * ext/socket/option.c (optname_to_sym): fix macro name. + + * ext/socket/constants.c (rsock_cmsg_type_arg): fix macro name. + +Mon Apr 8 23:57:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (id_for_setter): extract common code from const, class + variable, instance variable setters. + +Mon Apr 8 23:55:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/depend (ENCOBJS, TRANSOBJS): use explicit path to ruby.h for + nmake. + + * ext/depend (ENCOBJS, TRANSOBJS): fix header dependency, VPATH has + $(srcdir)/include/ruby but not $(srcdir)/include, so cannot find out + ruby/ruby.h. use ruby.h instead and ../ruby for include/ruby.h. + +Mon Apr 8 20:30:37 2013 Yuki Yugui Sonoda <yugui@google.com> + + * ext/depend (ENCOBJS, TRANSOBJS): Add missing dependencies. + +Mon Apr 8 17:19:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/win32ole/win32ole.c (fole_missing): should check actual argument + count before accessing. + +Mon Apr 8 16:03:55 2013 Yuki Yugui Sonoda <yugui@google.com> + + Fixes a build failure of ext/ripper/ripper.c on building out of place. + * common.mk (id.h, id.c): Always generated in $(srcdir). + (ext/ripper/ripper.c): Passes $(PATH_SEPARATOR) too to the sub make. + +Mon Apr 8 12:05:02 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * object.c (rb_obj_ivar_set): call to_str for string only once. + to_str was called from rb_is_const_name and rb_to_id before. + + * object.c (rb_mod_const_set): ditto. + + * object.c (rb_mod_cvar_set): ditto. + +Sun Apr 7 13:56:16 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path): + RUBY_PLATFORM should escape as Regexp, + because RUBY_PLATFORM may contain '.'. + +Sun Apr 7 10:44:01 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/defines.h: Simplify the logic to include sys/select.h. + This fixes a compilation error on Haiku (gcc2 and gcc4). + + * configure.in: Use shared linker as $(CC) for Haiku. + This fixes a build error on Haiku (gcc2). + +Sun Apr 7 10:41:30 2013 Tanaka Akira <akr@fsij.org> + + * lib/resolv.rb (MDNSOneShot#sender): Delete an unused variable. + +Sun Apr 7 03:24:36 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * addr2line.c: use more generic type: + * u_char -> unsigned char + * u_short -> unsigned short + * u_int -> unsigned int + * u_long -> unsigned long + * quad_t -> int64_t + * u_quad_t -> uint64_t + + * addr2line.c (imax): inline is defined by configure. + +Sun Apr 7 01:40:39 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-hash): New electric + function that expands a hash sign inside a string or regexp to + "#{}". + + * misc/ruby-electric.el (ruby-electric-curlies): Do not insert + spaces inside when the curly brace is a delimiter of %r, %w, + etc. + + * misc/ruby-electric.el (ruby-electric-curlies): Insert another + space before a closing curly brace when + ruby-electric-newline-before-closing-bracket is nil. + +Sun Apr 7 01:01:26 2013 Tanaka Akira <akr@fsij.org> + + * strftime.c (rb_strftime_with_timespec): Test yday range. + [ruby-core:44088] [Bug #6247] reported by Ruby Submit. + +Sat Apr 6 23:46:54 2013 Naohisa Goto <ngotogenome@gmail.com> + + * configure.in (AC_CHECK_HEADERS): atomic.h for Solaris atomic_ops. + + * ruby_atomic.h: Skip using Solaris10 atomic_ops on Solaris 9 or + earlier if atomic.h is not available. [ruby-dev:47229] [Bug #8228] + +Sat Apr 6 23:40:40 2013 Tanaka Akira <akr@fsij.org> + + * lib/resolv.rb: Support LOC resources. + [ruby-core:23361] [Feature #1436] by JB Smith. + +Sat Apr 6 23:38:09 2013 Naohisa Goto <ngotogenome@gmail.com> + + * addr2line.c: quad_t and u_quad_t is not available on Solaris. + __inline is not available with old compilers on Solaris. + [ruby-dev:47229] [Bug #8227] + +Sat Apr 6 23:31:38 2013 Tanaka Akira <akr@fsij.org> + + * lib/resolv.rb: Add one-shot multicast DNS support. + [ruby-core:53387] [Feature #8089] by Eric Hodel. + +Sat Apr 6 22:12:01 2013 Tanaka Akira <akr@fsij.org> + + * lib/resolv.rb (Resolv::DNS.fetch_resource): New method to obtain + full result. + [ruby-dev:43587] [Feature #4788] proposed by Makoto Kishimoto. + +Sat Apr 6 20:17:51 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (rsock_sys_fail_raddrinfo): Renamed from + rsock_sys_fail_addrinfo. + (rsock_sys_fail_raddrinfo_or_sockaddr): Renamed from + rsock_sys_fail_addrinfo_or_sockaddr. + + * ext/socket/rubysocket.h: Follow the above change. + +Sat Apr 6 19:24:59 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (rsock_sys_fail_sockaddr): Takes struct sockaddr + and socklen_t instead of String object. + (rsock_sys_fail_addrinfo_or_sockaddr): Follow the above change. + + * ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow the above + change. + +Sat Apr 6 14:28:23 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/rubysocket.h (SockAddrStringValueWithAddrinfo): New macro. + (rsock_sockaddr_string_value_with_addrinfo): New declaration. + (rsock_addrinfo_inspect_sockaddr): Ditto. + (rsock_sys_fail_addrinfo): Ditto. + (rsock_sys_fail_sockaddr_or_addrinfo): Ditto. + + * ext/socket/raddrinfo.c (rsock_addrinfo_inspect_sockaddr): Renamed + from addrinfo_inspect_sockaddr and exported. + (rsock_sockaddr_string_value_with_addrinfo): New function to obtain + string and possibly addrinfo object. + + * ext/socket/socket.c (rsock_sys_fail_sockaddr): Don't use + rsock_sys_fail_host_port which is IP dependent. Invoke + rsock_sys_fail_addrinfo. + (rsock_sys_fail_addrinfo): New function using + rsock_addrinfo_inspect_sockaddr. + (rsock_sys_fail_addrinfo_or_sockaddr): New function. + (sock_connect): Use SockAddrStringValueWithAddrinfo and + rsock_sys_fail_addrinfo_or_sockaddr. + (sock_connect_nonblock): Ditto. + (sock_bind): Ditto. + +Sat Apr 6 13:34:20 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (rsock_sys_fail_sockaddr): Delete 2nd argument. + + * ext/socket/rubysocket.h (rsock_sys_fail_sockaddr): Follow above + change. + +Sat Apr 6 13:13:39 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect only + for String to avoid SEGV. + +Sat Apr 6 12:40:16 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/rubysocket.h (rsock_sys_fail_host_port): Wrap by NORETURN. + (rsock_sys_fail_path): Ditto. + (rsock_sys_fail_sockaddr): Ditto. + +Sat Apr 6 11:49:35 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (rsock_sys_fail_path): Use rb_str_inspect if the + path contains a NUL. + +Sat Apr 6 11:39:19 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket: Improve socket exception message to show socket address. + [ruby-core:45617] [Feature #6583] proposed Eric Hodel. + + * ext/socket/rubysocket.h (rsock_sys_fail_host_port): Declared. + (rsock_sys_fail_path): Ditto. + (rsock_sys_fail_sockaddr): Ditto. + + * ext/socket/udpsocket.c (udp_connect): Use rsock_sys_fail_host_port. + (udp_bind): Ditto. + (udp_send): Ditto. + + * ext/socket/init.c (rsock_init_sock): Specify a string for rb_sys_fail + argument. + (make_fd_nonblock): Ditto. + (rsock_s_accept): Ditto. + + * ext/socket/ipsocket.c (init_inetsock_internal): Use + rsock_sys_fail_host_port. + + * ext/socket/socket.c (rsock_sys_fail_host_port): Defined. + (rsock_sys_fail_path): Ditto. + (rsock_sys_fail_sockaddr): Ditto. + (setup_domain_and_type): Use rsock_sys_fail_sockaddr. + (sock_connect_nonblock): Ditto. + (sock_bind): Ditto. + (sock_gethostname): Specify a string for rb_sys_fail argument. + (socket_s_ip_address_list): Ditto. + + * ext/socket/basicsocket.c (bsock_shutdown): Specify a string for + rb_sys_fail argument. + (bsock_setsockopt): Use rsock_sys_fail_path. + (bsock_getsockopt): Ditto. + (bsock_getpeereid): Refine the argument for rb_sys_fail. + + * ext/socket/unixsocket.c (rsock_init_unixsock): Use + rsock_sys_fail_path. + (unix_path): Ditto. + (unix_send_io): Ditto. + (unix_recv_io): Ditto. + (unix_addr): Ditto. + (unix_peeraddr): Ditto. + +Sat Apr 6 11:23:18 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path): + fix load path for encoding to run the test as stand-alone. + +Sat Apr 6 09:54:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * pack.c (NATINT_LEN): fix definition order, must be after + NATINT_PACK. + +Sat Apr 6 03:11:07 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/yaml_tree.rb: fix symbol keys in coder + emission. Thanks @tjwallace + * test/psych/test_coder.rb: test for change + +Sat Apr 6 02:54:08 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/exception.rb: there should be only one exception + base class. Fixes tenderlove/psych #125 + * ext/psych/lib/psych.rb: require the correct exception class + * ext/psych/lib/psych/syntax_error.rb: ditto + * ext/psych/lib/psych/visitors/to_ruby.rb: ditto + +Sat Apr 6 02:30:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (new_defined): remove all extra parentheses, and return + "nil" for defined? with empty expression. + [ruby-core:54024] [Bug #8224] + +Sat Apr 6 02:06:04 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * ext/psych/lib/psych/visitors/to_ruby.rb: correctly register + self-referential strings. Fixes tenderlove/psych #135 + + * test/psych/test_string.rb: appropriate test. + +Sat Apr 6 01:21:56 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/init.c (cloexec_accept): Fix a compile error on + Debian GNU/kFreeBSD. Consider HAVE_ACCEPT4 is defined + but SOCK_CLOEXEC is not defined. + +Sat Apr 6 00:19:30 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * load.c (features_index_add): use rb_str_subseq() to specify C string + position properly to fix require non ascii path. + [ruby-core:53733] [Bug #8165] + + * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path): + a test for the above. + +Fri Apr 5 20:41:49 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/defines.h (HAVE_TRUE_LONG_LONG): Defined to distinguish + availability of long long and availability of 64bit integer type. + + * pack.c: Use HAVE_TRUE_LONG_LONG to distinguish q! and Q! support. + +Fri Apr 5 20:19:42 2013 Tanaka Akira <akr@fsij.org> + + * addr2line.c: Include ruby/missing.h to fix compile error on Debian. + +Fri Apr 5 19:39:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compile.c (iseq_compile_each): fix of defined? with empty + expression. [ruby-core:53999] [Bug #8220] + +Fri Apr 5 13:22:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/curses/curses.c (Init_curses): fix implementation function, + crmode should be same as cbreak. [ruby-core:54013] [Bug #8222] + +Fri Apr 5 12:06:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/curses/hello.rb: Typo in Curses example by Drew Blas + [Fixes GH-273] + +Thu Apr 4 23:45:13 2013 Tanaka Akira <akr@fsij.org> + + * lib/resolv.rb (bind_random_port): Rescue EACCES for SunOS. + bind() on SunOS for port 2049 (nfs) and 4045 (lockd) causes + EACCES with unprivileged process. cf. PRIV_SYS_NFS in privileges(5) + [ruby-core:48064] [Bug #7183] reported by Frank Meier. + +Thu Apr 4 23:24:45 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Remove condition for bcc. + +Thu Apr 4 22:53:23 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/ruby.h (FIX2LONG): Parenthesize the macro body. + +Thu Apr 4 22:32:32 2013 Tanaka Akira <akr@fsij.org> + + * time.c (time_strftime): Describe %L and %N truncates digits under + the specified length. + [ruby-core:52130] [Bug #7829] + +Thu Apr 4 22:08:46 2013 Tanaka Akira <akr@fsij.org> + + * object.c (rb_mod_cvar_set): Reverted "avoid inadvertent + symbol creation" to avoid SEGV by + Class.new.class_variable_set(1, 2). + +Thu Apr 4 20:07:19 2013 Tanaka Akira <akr@fsij.org> + + * ext/pathname/pathname.c (path_write): New method. + (path_binwrite): Ditto. + [ruby-core:49468] [Feature #7378] + +Thu Apr 4 16:51:29 2013 Yuki Yugui Sonoda <yugui@google.com> + + * thread_pthread.c: Fixes wrong scopes of #if USE_SLEEPY_TIMER_THREAD + .. #endif sections. This fixes a build error on NativeClient. + +Wed Apr 3 17:25:31 2013 Yuki Yugui Sonoda <yugui@google.com> + + * thread_pthread.c (ruby_init_stack): Avoid using uninitialized value. + stackaddr and size are not set if get_stack() fails. + +Thu Apr 4 16:55:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * struct.c (make_struct): avoid inadvertent symbol creation. + (rb_struct_aref): ditto. + (rb_struct_aset): ditto. + +Thu Apr 4 16:54:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (rb_mod_const_set): avoid inadvertent symbol creation. + (rb_obj_ivar_set): ditto. + (rb_mod_cvar_set): ditto. + +Thu Apr 4 15:46:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enum.c (enum_inject): avoid inadvertent symbol creation. + +Thu Apr 4 14:37:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (rb_thread_aref): avoid inadvertent symbol creation. + (rb_thread_variable_get): ditto. + (rb_thread_key_p): ditto. + (rb_thread_variable_p): ditto. + +Thu Apr 4 11:33:57 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/openssl/ossl_bn.c (ossl_bn_to_i): Use bn2hex to speed up. + In general, binary to/from decimal needs extra cost. + +Thu Apr 4 07:24:18 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Specify arguments to test functions. + +Thu Apr 4 03:25:09 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/openssl/ossl_bn.c (ossl_bn_initialize): fix can't create from bn. + +Wed Apr 3 22:09:25 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Test functions and libraries after headers. + +Wed Apr 3 21:23:29 2013 Tanaka Akira <akr@fsij.org> + + * io.c (rb_io_seek_m): Accept :CUR, :END, :SET as "whence" argument. + (interpret_seek_whence): New function. + [ruby-dev:45818] [Feature #6643] + +Wed Apr 3 20:52:49 2013 Tanaka Akira <akr@fsij.org> + + * process.c: Describe the behavior which Ruby invokes a commandline + directly without shell if the commandline is simple enough. + [ruby-core:50459] [Bug #7489] + +Wed Apr 3 20:27:37 2013 Tanaka Akira <akr@fsij.org> + + * ext/extmk.rb (extmake): Invoke Logging::log_close in a ensure + clause. + +Wed Apr 3 18:53:58 2013 Tanaka Akira <akr@fsij.org> + + * ext/extmk.rb (extmake): Use Logging.open to switch stdout and + stderr. Delay Logging::log_close until the failure message is + written. Write the failure message only if log file is opened. + + * lib/mkmf.rb (Logging.log_opened?): New method. + + [ruby-dev:47215] [Bug #8209] + +Wed Apr 3 17:11:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (constat_apply): pass through unknown sequence which + starts with ESC but is not followed by a bracket. [ruby-core:53879] + [Bug #8201] + +Wed Apr 3 16:35:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * bignum.c (rb_big_eq): hide intermediate Bignums not just freeing + memory. [ruby-core:53893] [Bug #8204] + + * object.c (rb_obj_hide): hide an object by clearing klass. + + * bignum.c (rb_big_eq): test as Fixnum if possible and get rid of zero + length Bignum. [ruby-core:53893] [Bug #8204] + +Tue Apr 2 23:56:03 2013 Tanaka Akira <akr@fsij.org> + + * lib/securerandom.rb (SecureRandom.random_bytes): Use + OpenSSL::Random.random_add instead of OpenSSL::Random.seed and + specify 0.0 as the entropy. + [ruby-core:47308] [Bug #6928] + +Tue Apr 2 20:24:52 2013 Tanaka Akira <akr@fsij.org> + + * pack.c: Support Q! and q! for long long. + (natstr): Moved to toplevel. Add q and Q if there is long long type. + (endstr): Moved to toplevel. + (NATINT_PACK): Consider long long. + (NATINT_LEN_Q): New macro. + (pack_pack): Support Q! and q!. + (pack_unpack): Ditto. + [ruby-dev:43970] [Feature #3946] + +Tue Apr 2 19:24:26 2013 Tanaka Akira <akr@fsij.org> + + * ext/-test-/num2int/num2int.c: Define utility methods + as module methods of Num2int. + + * test/-ext-/num2int/test_num2int.rb: Follow the above change. + +Tue Apr 2 18:49:01 2013 Tanaka Akira <akr@fsij.org> + + * lib/securerandom.rb: Don't use Array#to_s. + [ruby-core:52058] [Bug #7811] fixed by zzak (Zachary Scott). + +Tue Apr 2 17:38:20 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * re.c (rb_reg_to_s): suppress duplicated charclass warning. + Regexp#to_s suppress extra its whole regexp options by calling + onig_new with its source, but it doesn't call rb_reg_preprocess. + Therefore its Unicode escapes (\u{XXXX}) are given as is, + and it may cause duplicated charclass warning for example + "[\u{33}]" (3 is duplicated) or "[\u{a}\u{b}]" (u is duplicated). + [ruby-core:53649] [Bug #8151] + +Tue Apr 2 16:00:06 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_dump.c (rb_print_backtrace): separate to ease showing C backtrace. + + * internal.h (rb_print_backtrace): ditto. + +Tue Apr 2 15:22:09 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * test/ruby/envutil.rb (assert_separately): stop_auto_run of + Test::Unit::Runner to prevent auto runner use ARGV. + + * test/ruby/envutil.rb (assert_separately): add $: to separate process. + + * test/ruby/envutil.rb (assert_separately): fail if stderr is not + empty and ignore_stderr is false. + +Tue Apr 2 06:46:59 2013 Tanaka Akira <akr@fsij.org> + + * ext/-test-/num2int/num2int.c: Rename utility methods + to global functions to ease manual experiments. + + * test/-ext-/num2int/test_num2int.rb: Follow the above change. + +Mon Apr 1 22:26:17 2013 Tanaka Akira <akr@fsij.org> + + * ext/zlib/zlib.c (rb_gzfile_set_mtime): Use NUM2UINT. + The old logic doesn't work well on LP64 platforms as: + .. -2**63-1 => error, + -2**63 .. -2**62-1 => success, + -2**62 .. -2**31-1 => error, + -2**31 .. 2**31-1 => success, + 2**31 .. 2**62-1 => error, + 2**62 .. 2**64-1 => success, + 2**64 .. => error. + +Mon Apr 1 22:08:02 2013 Benoit Daloze <eregontp@gmail.com> + + * ext/zlib/zlib.c (Zlib::Inflate.new): + Fix documentation syntax and naming errors. + Based on patch by Robin Dupret. Fix GH-271. + +Mon Apr 1 21:22:31 2013 Tanaka Akira <akr@fsij.org> + + * test/-ext-/num2int/test_num2int.rb: Test small bignums. + +Mon Apr 1 21:10:56 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (rb_num2ulong_internal): Don't cast a negative double value + into unsigned long, which is undefined behavior. + (rb_num2ull): Don't cast a value bigger than LLONG_MAX into + long long, which is undefined behavior. + +Mon Apr 1 20:57:57 2013 Tanaka Akira <akr@fsij.org> + + * ext/-test-/num2int/num2int.c: Return string for result, instead of + printing. + + * test/-ext-/num2int/test_num2int.rb: updated to follow above change. + +Mon Apr 1 20:08:07 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (rb_num2long): Don't use SIGNED_VALUE uselessly. + (check_int): Ditto. + (check_short): Ditto. + (rb_num2fix): Ditto. + (rb_num2ulong_internal): Add a cast. + +Mon Apr 1 18:41:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: skip autoconf 2.64 and 2.66, 2.67 seems short-lived + but stick on it for Debian Squeeze. + +Mon Apr 1 14:22:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: check clang version by predefined macro values. + [Bug #8192] + +Mon Apr 1 12:05:15 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (check_uint): Take the 1st argument as unsigned long, + instead of VALUE. Refine the validity test conditions. + (check_ushort): Ditto. + +Mon Apr 1 07:15:03 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * configure.in: use quadrigraph to put '[' or ']'. [Bug #8192] + +Mon Apr 1 04:16:41 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * configure.in: kick old clang. [ruby-dev:47204] [Bug #8192] + +Mon Apr 1 01:12:46 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/ruby.h (FIX2ULONG): Make it consistent with NUM2ULONG. + + * ext/-test-/num2int/num2int.c: Add utility methods for FIX2XXX tests. + + * test/-ext-/num2int/test_num2int.rb: Add tests for FIX2XXX. + +Sun Mar 31 17:17:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (rb_mod_define_method): consider visibility in define_method. + patch by mashiro <mail AT mashiro.org>. fix GH-268. + +Sun Mar 31 15:40:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/configure.bat: try to fix option arguments split by commas and + equals here. this batch file no longer run with old command.com. + + * tool/mkconfig.rb: no hacks for cmd.exe. + +Sun Mar 31 13:47:04 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (rb_num2ulong_internal): New function similar to + rb_num2ulong but integer wrap around flag is also returned. + (rb_num2ulong): Use rb_num2ulong_internal. + (rb_num2uint): Use rb_num2ulong_internal and the wrap around flag is + used instead of negative_int_p(val). + (rb_num2ushort): ditto. + +Sun Mar 31 06:27:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (HAVE_METACLASS_P): should check FL_SINGLETON flag before get + instance variable to get rid of wrong warning about __attached__. + [ruby-core:53839] [Bug #8188] + +Sat Mar 30 14:11:28 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * bcc32: removed. agreed at + http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130223Japan + +Sat Mar 30 03:58:00 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/file.c (code_page): use cp1252 instead of cp20127 as US-ASCII. + fix [ruby-core:53079] [Bug #7996] + reported and patched by mmeltner (Michael Meltner). + +Sat Mar 30 03:49:21 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/win32.c (wrename): use MoveFileExW instead of MoveFileW, + because the latter fails on cross device file move of some + environments. + fix [ruby-core:53492] [Bug #8109] + reported by mitchellh (Mitchell Hashimoto). + +Fri Mar 29 22:09:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (rb_mutex_synchronize_m): yield no block params. patch by + splattael (Peter Suschlik) in [ruby-core:53773] [Bug #8097]. + fix GH-266. + +Fri Mar 29 16:51:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (argf_next_argv): set init flag if succeeded to forward, after + skipping. + + * io.c (argf_block_call_i, argf_block_call): no more forwarding if + forwarded after skipping. [ruby-list:49185] + + * io.c (argf_close): deal with init flag. + + * io.c (argf_block_call_i, argf_block_call): forward next file if + skipped while iteration, to get rid of IOError. [ruby-list:49185] + +Fri Mar 29 11:09:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (configuration): not include all CFLAGS in CXXFLAGS, to + use different set than C for C++. [ruby-core:45273] [Bug #6504] + +Fri Mar 29 10:24:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/io.h: undef POSIX compliant names on AIX, which are no + longer needed. patch suggested by edelsohn (David Edelsohn) in + [ruby-core:53815]. [Bug #8174] + +Fri Mar 29 06:39:42 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (rb_num2ull): Cast double to unsigned LONG_LONG via + LONG_LONG instead of double to unsigned LONG_LONG directly. + This is a challenge to fix a test_num2ull(TestNum2int) + failure (NUM2ULL(-1.0) should be "18446744073709551615" but was "0") + on Mac OS X with 32bit clang. + http://a.mrkn.jp/~mrkn/chkbuild/mountain_lion/ruby-trunk-m32-o0/log/20130328T191100Z.diff.html.gz + +Fri Mar 29 00:54:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (MAIN_DOES_NOTHING): ensure symbols for tests to be + preserved. [ruby-core:53745] [Bug #8169] + +Thu Mar 28 23:11:25 2013 Tanaka Akira <akr@fsij.org> + + * lib/resolv.rb: Test Windows platform by detecting LoadError when + require 'win32/resolv' suggested by Nobuyoshi Nakada [ruby-core:53389]. + [ruby-core:53388] [Feature #8090] Reported by Charles Nutter. + +Thu Mar 28 23:10:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/io.h: rename SVR3,4 member names as POSIX compliant, + to get rid of conflict on AIX. [ruby-core:53765] [Bug #8174] + +Thu Mar 28 18:22:21 2013 Tanaka Akira <akr@fsij.org> + + * test/-ext-/num2int/test_num2int.rb: extract + assert_num2i_success_internal and assert_num2i_error_internal and + provide assertion messages as "NUM2XXX(NNN)". + +Thu Mar 28 07:05:25 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/intern.h: Delete redundant inclusions caused by + AC_INCLUDES_DEFAULT in defines.h. + + * include/ruby/defines.h: Ditto. + + * include/ruby/ruby.h: Ditto. + + * include/ruby/st.h: Ditto. + +Thu Mar 28 06:51:31 2013 Tanaka Akira <akr@fsij.org> + + * include/ruby/defines.h: Fix a compilation error on NetBSD, + "type of formal parameter 1 is incomplete" for the rb_thread_wait_for + invocation in rb_file_flock, by including header files as + AC_INCLUDES_DEFAULT of autoconf. + +Wed Mar 27 22:09:14 2013 Tanaka Akira <akr@fsij.org> + + * numeric.c (LONG_MIN_MINUS_ONE_IS_LESS_THAN): New macro. + (LLONG_MIN_MINUS_ONE_IS_LESS_THAN): Ditto. + (rb_num2long): Use LONG_MIN_MINUS_ONE_IS_LESS_THAN. + (rb_num2ulong): Ditto. + (rb_num2ll): Use LLONG_MIN_MINUS_ONE_IS_LESS_THAN. + (rb_num2ull): Ditto. + + * test/-ext-/num2int/test_num2int.rb (assert_num2i_success): Test the + value converted into a Float if Float can represent the value + exactly. + (assert_num2i_error): Ditto. + +Wed Mar 27 20:59:47 2013 Tanaka Akira <akr@fsij.org> + + * test/-ext-/num2int/test_num2int.rb (assert_num2i_success): New + utility method. + (assert_num2i_error): Ditto. + +Wed Mar 27 20:37:59 2013 Tanaka Akira <akr@fsij.org> + + * time.c (num_exact): Use to_r method only if to_int method is + available. + [ruby-core:53764] [Bug #8173] Reported by Hiro Asari. + +Wed Mar 27 12:07:40 2013 Tanaka Akira <akr@fsij.org> + + * test/-ext-/num2int/test_num2int.rb (test_num2ll): test LLONG_MIN, + not LONG_MIN. + +Wed Mar 27 12:02:45 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (TIMET_MAX_PLUS_ONE): definition simplified. + +Wed Mar 27 06:39:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (MAIN_DOES_NOTHING): force to refer symbols for tests + to be preserved. [ruby-core:53745] [Bug #8169] + +Wed Mar 27 05:15:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (RUBY_REPLACE_TYPE): define SIGNEDNESS_OF_type same as + check_signedness of mkmf.rb. + + * internal.h (TIMET_MAX, TIMET_MIN, TIMET_MAX_PLUS_ONE): use + SIGNEDNESS_OF_TIME_T. + +Wed Mar 27 00:28:45 2013 Tanaka Akira <akr@fsij.org> + + * internal.h (TIMET_MAX_PLUS_ONE): Defined. + + * thread.c (double2timeval): Saturate out-of-range values. + +Tue Mar 26 23:41:18 2013 Tanaka Akira <akr@fsij.org> + + * internal.h: Define TIMET_MAX and TIMET_MIN here. + + * time.c: Remove TIMET_MAX and TIMET_MIN definitions. + + * thread.c: Ditto. + + * thread_pthread.c: Remove TIMET_MAX definition. + + * thread_win32.c: Ditto. + +Tue Mar 26 22:31:10 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (sockaddr_len): return the shortest length for + unknown socket address. + +Tue Mar 26 22:14:46 2013 Tanaka Akira <akr@fsij.org> + + * thread.c (double2timeval): convert the infinity to TIME_MAX to avoid + SEGV by Thread.new {}.join(Float::INFINITY) on + Debian GNU/Linux (amd64). + +Mon Mar 25 07:09:20 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rinda/tuplespace.rb: Only return tuple entry once on move, + either through port or regular return, not both. This results in a + 120% speedup when combined with #8125. Patch by Joel VanderWerf. + [ruby-trunk - Feature #8119] + +Mon Mar 25 06:59:01 2013 Eric Hodel <drbrain@segment7.net> + + * test/rinda/test_rinda.rb: Skip IPv6 tests if no IPv6 addresses + exist. Skip fork-dependent test if fork is not available. + [ruby-trunk - Bug #8159] + +Sun Mar 24 10:38:24 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * addr2line.c (putce): suppress unused return value warning. + +Mon Mar 25 02:01:03 2013 Narihiro Nakamura <authornari@gmail.com> + + * proc.c (bm_free): need to clean up the mark flag of a free and + unlinked method entry. [Bug #8100] [ruby-core:53439] + +Sun Mar 24 22:13:51 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (rb_str_rpartition): revert r39903, and convert byte offset + to char offset; the return value of rb_reg_search is byte offset, + but other than it of rb_str_rpartition expects char offset. + [Bug #8138] [ruby-dev:47183] + +Sun Mar 24 18:29:46 2013 Akinori MUSHA <knu@iDaemons.org> + + * string.c (rb_str_rpartition): Fix String#rpartition(/re/) + against a multibyte string. [Bug #8138] [ruby-dev:47183] + +Sun Mar 24 13:42:24 2013 Narihiro Nakamura <authornari@gmail.com> + + * gc.c (GC_ENABLE_LAZY_SWEEP): new macro to switch lazy sweeping + for debugging. [Feature #8024] [ruby-dev:47135] + +Sun Mar 24 12:55:47 2013 Narihiro Nakamura <authornari@gmail.com> + + * gc.c: We have no chance to expand the heap when lazy sweeping is + restricted. So collecting is often invoked if there is not + enough free space in the heap. Try to expand heap when this is + the case. + +Sun Mar 24 11:03:31 2013 Tanaka Akira <akr@fsij.org> + + * test/ruby/test_require.rb: Remove temporally files in the tests. + + * test/ruby/test_rubyoptions.rb: Ditto. + + * test/logger/test_logger.rb: Ditto. + + * test/psych/test_psych.rb: Ditto. + + * test/readline/test_readline.rb: Ditto. + + * test/syslog/test_syslog_logger.rb: Ditto. + + * test/webrick/test_httpauth.rb: Ditto. + + * test/zlib/test_zlib.rb: Ditto. + +Sun Mar 24 05:36:29 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rinda/ring.rb: Added documentation for multicast support. + + * NEWS: Point to above documentation. + +Sun Mar 24 05:32:39 2013 Eric Hodel <drbrain@segment7.net> + + * test/rinda/test_rinda.rb: Restore tests commented out while fixing + test slowdown bug before r39895. + +Sun Mar 24 05:03:36 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rinda/ring.rb: Add multicast support to Rinda::RingFinger and + Rinda::RingServer. [ruby-trunk - Bug #8073] + * test/rinda/test_rinda.rb: Test for the above. + + * NEWS: Update with Rinda multicast support + +Sun Mar 24 04:13:27 2013 Eric Hodel <drbrain@segment7.net> + + * test/rinda/test_rinda.rb: Fixed test failures in r39890 and r39891 + due to stopping DRb service. + +Sun Mar 24 03:34:02 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rinda/rinda.rb: Fixed loss of tuple when remote is alive but the + call stack was unwound. Patch by Joel VanderWerf. + [ruby-trunk - Bug #8125] + * test/rinda/test_rinda.rb: Test for the above. + +Sun Mar 24 02:14:53 2013 Tanaka Akira <akr@fsij.org> + + * test/mkmf/test_have_macro.rb: remove temporally files in the tests. + +Sat Mar 23 23:50:04 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * addr2line.c (kprintf): added from FreeBSD libstand's printf. + this is consided as async signal safe function. + + * addr2line.c (rb_dump_backtrace_with_lines): use kfprintf. + [Bug #8144] [ruby-core:53632] + +Sat Mar 23 23:28:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Use Qnil and NIL_P + instead of (VALUE)0 as a return value. + + * ext/bigdecimal/bigdecimal.c (BigDecimal_div): ditto. + + * ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto. + + * ext/bigdecimal/bigdecimal.c (BigDecimal_remainder): ditto. + +Sat Mar 23 17:39:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_eval.c (check_funcall_respond_to): preserve passed_block, which + is modified in vm_call0_body() via vm_call0(), and caused a bug of + rb_check_funcall() by false negative result of rb_block_given_p(). + re-fix [ruby-core:53650] [Bug #8153]. + [ruby-core:53653] [Bug #8154] + +Fri Mar 22 17:48:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/forwardable.rb (Forwardable::FILE_REGEXP): create regexp object + outside sources for eval, to reduce allocations in def_delegators + wrappers. //o option does not make each regexps shared. patch by + tmm1 (Aman Gupta) in [ruby-core:53620] [Bug #8143]. + +Fri Mar 22 17:38:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (rb_feature_p), vm_core.h (rb_vm_struct): turn + loaded_features_index into st_table. patches by tmm1 (Aman Gupta) + in [ruby-core:53251] and [ruby-core:53274] [Bug #8048] + +Fri Mar 22 10:29:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/bigdecimal/bigdecimal.c: Fix style. + +Fri Mar 22 05:30:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (ambiguous_operator): refine warning message, since this + warning is shown after literal too. + +Fri Mar 22 04:51:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_insnhelper.c (vm_callee_setup_keyword_arg): should check required + keyword arguments even if rest hash is defined. [ruby-core:53608] + [Bug #8139] + +Fri Mar 22 01:00:17 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * process.c (rb_execarg_addopt, run_exec_pgroup): use rb_pid_t + instead of pid_t. + + * ext/pty/pty.c (raise_from_check, pty_check): ditto. + +Fri Mar 22 00:04:15 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * addr2line.c (rb_dump_backtrace_with_lines): output line at once. + +Thu Mar 21 23:17:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (ruby_kill): get rid of deadlock on signal 0. + [ruby-dev:47182] [Bug #8137] + +Thu Mar 21 22:39:46 2013 Naohisa Goto <ngotogenome@gmail.com> + + * marshal.c (marshal_dump, marshal_load): workaround for segv on + Intel Solaris compiled with Oracle SolarisStudio 12.3. + Partly revert r38174. [ruby-core:52042] [Bug #7805] + +Thu Mar 21 16:48:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (simple_re_meta): escape all closing characters, not only + round parenthesis. [ruby-core:53578] [Bug #8133] + +Thu Mar 21 13:50:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_core.h (UNINITIALIZED_VAR): suppress warnings by clang 4.2. + [ruby-core:51742] [Bug #7756] + +Thu Mar 21 07:34:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/date/date_core.c: Typo in Date::MONTHNAMES by Matt Gauger + [GH fixes #261] + +Wed Mar 20 22:53:14 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (find_library): fix to format message. + [ruby-core:53568] [Bug #8130] + +Wed Mar 20 22:52:52 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (install_dirs, with_destdir): prefix with DESTDIR + directories to install only unless bundled extension libraries. + [ruby-core:53502] [Bug #8115] + +Wed Mar 20 17:47:53 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/win32ole/test_err_in_callback.rb (TestErrInCallBack#setup): + allow using different root for source and build directories. + this may fixes a minor problem of r39834. + +Wed Mar 20 16:40:48 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/ruby/test_signal.rb (test_hup_me): skip if HUP isn't supported. + On Windows this test causes ArgumentError. + +Wed Mar 20 16:24:12 2013 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * test/rubygems/test_gem_installer.rb (test_install_extension_flat): + use ruby in build directory in case ruby is not installed. + [ruby-core:53265] [Bug #8058] + +Wed Mar 20 15:22:07 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/win32ole/test_err_in_callback.rb (TestErrInCallBack#setup): use + relative path to get rid of "too long commandline" error. + +Wed Mar 20 04:27:42 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * test/rinda/test_rinda.rb: remove unused variables. + patched by Vipul A M <vipulnsward@gmail.com> + +Wed Mar 20 04:15:32 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * ext/bigdecimal/bigdecimal.c: fixed typo. + patched by Vipul A M <vipulnsward@gmail.com> + +Sat Mar 16 03:40:49 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * test/ruby/test_signal.rb (test_hup_me): added a few comments. + +Sat Mar 16 03:39:38 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c (ruby_kill): added a few comments. + +Sat Mar 16 03:36:56 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c (ruby_kill): release GVL while waiting signal delivered. + +Tue Mar 19 19:50:48 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ruby_kill (internal.h, thread.c): use rb_pid_t instead of pid_t. + this fixes the build failure of mswin introduced at r39819. + +Tue Mar 19 17:09:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * string.c (rb_str_conv_enc_opts): convert with one converter, instead + of re-creating converters for each buffer expansion. + +Tue Mar 19 17:06:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (glob_helper): compose HFS file names from UTF8-MAC. + [ruby-core:48745] [Bug #7267] + +Sat Mar 16 01:44:29 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * internal.h: added a declaration of ruby_kill(). + * thread.c (ruby_kill): helper function of kill(). + + * signal.c (rb_f_kill): use ruby_kill() instead of kill(). + * signal.c (rb_f_kill): call rb_thread_execute_interrupts() + to ensure that make SignalException if sent a signal + to myself. [Bug #7951] [ruby-core:52864] + + * vm_core.h (typedef struct rb_thread_struct): added + th->interrupt_cond. + * thread.c (rb_threadptr_interrupt_common): added to + initialization of th->interrupt_cond. + * thread.c (thread_create_core): ditto. + + * test/ruby/test_signal.rb (TestSignal#test_hup_me): test for + the above. + +Sat Mar 16 00:42:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * io.c (linux_iocparm_len): enable only exist _IOC_SIZE(). + Because musl libc doesn't have it. [Bug #8051] [ruby-core:53229] + +Tue Mar 19 10:05:04 2013 Shota Fukumori <her@sorah.jp> + + * ext/objspace/objspace.c: Fix typo in doc. Patch by Sho Hashimoto. + [Bug #8116] [ruby-dev:47177] + +Tue Mar 19 02:13:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * configure.in: set ac_cv_prog_cxx if CXX is supplied. + +Tue Mar 19 01:18:00 2013 Kenta Murata <mrkn@mrkn.jp> + + * configure.in: Fix c++ compiler auto-selection not only for + Darwin 11.x, but also the other versions of Darwin. + +Tue Mar 19 00:26:22 2013 Narihiro Nakamura <authornari@gmail.com> + + * gc.c: Improve accuracy of objspace_live_num() and + allocated/freed counters. patched by tmm1(Aman Gupta). + [Bug #8092] [ruby-core:53392] + +Mon Mar 18 21:42:48 2013 Narihiro Nakamura <authornari@gmail.com> + + * gc.c: Avoid unnecessary heap growth. patched by tmm1(Aman Gupta). + [Bug #8093] [ruby-core:53393] + +Mon Mar 18 17:58:36 2013 Narihiro Nakamura <authornari@gmail.com> + + * gc.c: Fix unlimited memory growth with large values of + RUBY_FREE_MIN. patched by tmm1(Aman Gupta). + [Bug #8095] [ruby-core:53405] + +Mon Mar 18 14:46:19 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/win32ole/test_err_in_callback.rb + (TestErrInCallBack#test_err_in_callback): shouldn't create a file in + the top of build directory. + +Mon Mar 18 13:29:52 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_dump.c (backtrace): on darwin use custom backtrace() to trace + beyond _sigtramp. darwin's backtrace can't trace beyond signal + trampoline with sigaltstack. + + * configure.in: check execinfo.h on darwin. + +Mon Mar 18 11:03:23 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_exec.h (END_INSN): revert r39517 because the segv seems fixed by + r39806. + +Mon Mar 18 10:41:06 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_exec.c: Correct predefined macro name. This typo is introduced by + r36534 and should be backported to ruby_2_0_0. + +Mon Mar 18 03:18:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c: Typo in Array#delete by Timo Sand [GH fixes #258] + +Mon Mar 18 01:14:56 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * io.c (io_fillbuf): show fd number on failure to debug. + http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/20130316T050302Z.diff.html.gz + +Sun Mar 17 02:38:21 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * ext/date/date_core.c: include sys/time.h for avoiding implicit + declaration of gettimeofday(). + +Sun Mar 17 00:55:31 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * include/ruby/missing.h: removed __linux__. it's unnecessary. + +Fri Mar 15 14:57:16 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c: disabled _FORTIFY_SOURCE for avoid to hit glibc bug. + [Bug #8080] [ruby-core:53349] + * test/ruby/test_io.rb (TestIO#test_io_select_with_many_files): + test for the above. + +Wed Mar 13 15:16:35 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * include/ruby/missing.h (__syscall): moved to... + * io.c: here. because __syscall() is only used from io.c. + + * include/ruby/missing.h: move "#include <sys/type.h>" to .... + * include/ruby/intern.h: here. because it was introduced for + fixing NFDBITS issue. [ruby-core:05179]. + +Wed Mar 13 14:38:53 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * include/ruby/missing.h (struct timespec): include <sys/time.h> + +Wed Mar 13 13:54:45 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in: check struct timeval exist or not. + * include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL + properly. and don't include sys/time.h if struct timeval exist. + + * file.c: include sys/time.h explicitly. + * random.c: ditto. + * thread_pthread.c: ditto. + * time.c: ditto. + * ext/date/date_strftime.c: ditto. + +Fri Mar 15 14:45:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * configure.in (_FORTIFY_SOURCE): added a few comments. + +Fri Mar 15 14:17:55 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (numberof): renamed from ARRAY_SIZE() because + other all files use numberof(). + +Say Mar 15 01:33:00 2013 Charles Oliver Nutter <headius@headius.com> + + * test/ruby/test_lazy_enumerator.rb (TestLazyEnumerator#test_drop_while): + Modify while condition to show dropping remains off after first false + value. This change was made in 39711. + +Fri Mar 15 23:06:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * time.c (GetTimeval): check if already initialized instance. + + * time.c (GetNewTimeval): check if newly created instance. + + * time.c (time_init_0, time_init_1, time_init_copy, time_mload): must + be newly created instance. [ruby-core:53436] [Bug #8099] + +Fri Mar 15 14:51:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * file.c (rb_sys_fail_path_with_func): share same function, and path + may be nil. + +Fri Mar 15 08:24:51 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * io.c (rb_sys_fail_path): define & use rb_sys_fail_path0 like r39752 + +Fri Mar 15 04:08:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * proc.c: Typo in Proc.arity found by Jack Nagel [Bug #8094] + +Thu Mar 14 16:59:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (rb_cv_function_name_string): macro for function name + string predefined identifier, __func__ in C99, or __FUNCTION__ in + gcc. + + * file.c (rb_sys_fail_path): use RUBY_FUNCTION_NAME_STRING. + +Thu Mar 14 14:12:34 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * file.c (rb_sys_fail_path): use rb_sys_fail_path0 only on GCC. + __func__ is C99 feature. + +Thu Mar 14 12:59:59 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * file.c (rb_sys_fail_path0): add to append the name of called function + to ease debugging for example blow umask_spec failure. + http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20130309T010202Z.diff.html.gz + + * file.c (rb_sys_fail_path): use rb_sys_fail_path0. + +Thu Mar 14 12:53:15 2013 Luis Lavena <luislavena@gmail.com> + + * win32/file.c (get_user_from_path): add internal function that retrieves + username from supplied path (refactored). + * win32/file.c (rb_file_expand_path_internal): refactor expansion of user + home to use get_user_from_path and cover dir_string corner cases. + [ruby-core:53168] [Bug #8034] + +Thu Mar 14 11:53:01 2013 Narihiro Nakamura <authornari@gmail.com> + + * NEWS: describe RUBY_HEAP_SLOTS_GROWTH_FACTOR. + +Thu Mar 14 10:01:12 2013 Eric Hodel <drbrain@segment7.net> + + * doc/globals.rdoc: $? is thread-local + +Wed Mar 13 23:25:59 2013 Narihiro Nakamura <authornari@gmail.com> + + * gc.c: allow to tune growth of heap by environment variable + RUBY_HEAP_SLOTS_GROWTH_FACTOR. patched by tmm1(Aman Gupta). + [Feature #8015] [ruby-core:53131] + +Wed Mar 13 19:43:46 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * doc/irb/irb.rd.ja: fix typo + + * ext/tk/MANUAL_tcltklib.eng: fix typos + + * ext/tk/sample/tktextframe.rb (Tk#component_delegates): fix typo + +Wed Mar 13 15:13:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rb_obj_singleton_methods): collect methods from the origin + class. [ruby-core:53207] [Bug #8044] + +Wed Mar 13 14:51:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_method.c (rb_export_method): directly override the flag of method + defined in prepending class too, not adding zsuper entry. + [ruby-core:53106] [Bug #8005] + +Wed Mar 13 13:06:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (rm, shvar_to_cpp, unexpand_shvar): local is not + available on old shells. + + * configure.in (shvar_to_cpp): escape quotes for old shells. + [Bug #7959] [Bug #8071] + +Wed Mar 13 11:11:07 2013 Shugo Maeda <shugo@ruby-lang.org> + + * object.c (Init_Object): remove Module#used, which has been + introduced in Ruby 2.0 by mistake. [Bug #7916] [ruby-core:52719] + +Wed Mar 13 05:49:29 2013 Eric Hodel <drbrain@segment7.net> + + * lib/irb.rb: Fix typo + +Tue Mar 12 22:20:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compile.c (iseq_set_arguments, iseq_compile_each): support required + keyword arguments. [ruby-core:51454] [Feature #7701] + + * iseq.c (rb_iseq_parameters): ditto. + + * parse.y (f_kw, f_block_kw): ditto. this syntax is still + experimental, the notation may change. + + * vm_core.h (rb_iseq_struct): ditto. + + * vm_insnhelper.c (vm_callee_setup_keyword_arg): ditto. + +Tue Mar 12 17:02:53 2013 TAKANO Mitsuhiro <tak@no32.tk> + + * date_core.c: clearly specify operator precedence. + +Tue Mar 12 17:00:45 2013 TAKANO Mitsuhiro <tak@no32.tk> + + * insns.def: fix condition. + +Tue Mar 12 16:48:19 2013 TAKANO Mitsuhiro <tak@no32.tk> + + * rational.c: fix dangling if, else-if and else. + +Tue Mar 12 06:27:59 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/commands/setup_command.rb: Don't delete non-rubygems + files when installing RubyGems. + * test/rubygems/test_gem_commands_setup_command.rb: Test for the + above. + + * lib/rubygems/ext/ext_conf_builder.rb: Use full path to siteconf.rb + in case the extconf.rb changes directories (like memcached does). + + * lib/rubygems/package.rb: Remove double slash from path. + * test/rubygems/test_gem_package.rb: Test for the above. + * test/rubygems/test_gem_package_old.rb: ditto. + + * lib/rubygems/source.rb: Revert automatic HTTPS upgrade + * lib/rubygems/spec_fetcher.rb: ditto. + * test/rubygems/test_gem_remote_fetcher.rb: ditto. + * test/rubygems/test_gem_source.rb: ditto. + * test/rubygems/test_gem_spec_fetcher.rb: ditto. + +Tue Mar 12 02:25:19 2013 Eric Hodel <drbrain@segment7.net> + + * lib/net/smtp.rb: Added Net::SMTP#rset method to implement the SMTP + RSET command. [ruby-trunk - Feature #5373] + * NEWS: ditto. + * test/net/smtp/test_smtp.rb: Test for the above. + +Mon Mar 11 22:44:57 2013 Tanaka Akira <akr@fsij.org> + + * lib/resolv-replace.rb (TCPSocket#initialize): resolve the 3rd + argument only if non-nil value is given. + [ruby-dev:47150] [ruby-trunk - Bug #8054] reported and analyzed by + mrkn. + +Mon Mar 11 19:22:54 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/mkmf/base.rb: class name conflict. + +Mon Mar 11 18:45:09 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * enumerator.c (enumerator_with_index): try to convert given offset to + integer. fix bug introduced in r39594. + +Mon Mar 11 17:27:57 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * test/ruby/envutil.rb (EnvUtil.with_default_external): add for + changing Encoding.default_external without warnings. + + * test/ruby/envutil.rb (EnvUtil.with_default_internal): ditto. + + * test/ruby/test_io_m17n.rb: use above with_default_external. + +Mon Mar 11 16:57:00 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * io.c (extract_binmode): raise error even if binmode and textmode + don't conflict. [Bug #5918] [ruby-core:42199] + +Mon Mar 11 12:25:12 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * Merge Onigmo d4bad41e16e3eccd97ccce6f1f96712e557c4518. + fix lookbehind assertion fails with /m mode enabled. [Bug #8023] + fix \Z matches where it shouldn't. [Bug #8001] + +Mon Mar 11 11:53:35 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (MakeMakefile#dir_config, MakeMakefile#_libdir_basename): + defer use of instance variable until needed. [Bug #8074] + +Thu Mar 7 10:42:28 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * lib/thread.rb (Queue#clear): return self. + Patch by Cubing Cube. Thank you! [Bug #7947] [ruby-dev:47098] + * lib/thread.rb (Queue#push): ditto. + * lib/thread.rb (SizedQueue#push): ditto. + * test/thread/test_queue.rb: add tests for the above. + +Thu Mar 7 10:40:49 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * tool/change_maker.rb (#diff2index): check Encoding::BINARY. + BASERUBY may still be 1.8.x. + +Thu Mar 7 08:47:42 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * NEWS (Mutex#owned?): no longer experimental. + +Sun Mar 10 23:38:15 2013 Luis Lavena <luislavena@gmail.com> + + * win32/file.c (rb_file_expand_path_internal): Expand home directory when + used as second parameter (dir_string). [ruby-core:53168] [Bug #8034] + * test/ruby/test_file_exhaustive.rb: add test to verify. + +Sun Mar 10 23:27:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build): + it is impossible to predict which file will be installed to where, + by the arguments, so use intermediate destination directory always. + [Bug #7698] + +Sun Mar 10 17:00:22 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * complex.c: edited rdoc. + * rational.c: ditto. + +Sun Mar 10 15:02:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * process.c (setup_communication_pipe): remove unused function. + it was unintentionally added r39683. + +Wed Mar 6 00:30:40 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * tool/gen_ruby_tapset.rb: add tapset generator. + +Wed Mar 6 03:27:43 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * probes.d (symbol-create): change argument name `string' to + `str'. `string' is a keyword for systemtap. + +Tue Mar 5 22:23:01 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * probes.d: added argument name + +Thu Mar 7 01:17:00 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * test/thread/test_queue.rb (TestQueue#test_thr_kill): reduce + iterations from 2000 to 250. When running on uniprocessor + systems, every th.kill needs TIME_QUANTUM_USEC time (i.e. + 100msec on posix systems). Because, "r.read 1" is 3 steps + operations that 1) release GVL 2) read 3) acquire gvl and + (1) invoke context switch to main thread. and then, main + thread's th.kill resume (1), but not (2). Thus read interrupt + need TIME_QUANTUM_USEC. Then maximum iteration is 30sec/100msec + = 300. + +Thu Mar 7 00:14:51 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * io.c (rb_update_max_fd): use ATOMIC_CAS because this function + is used from timer thread too. + +Wed Mar 6 23:30:21 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (ARRAY_SIZE): new. + * thread_pthread.c (gvl_acquire_common): use low priority + notification for avoiding timer thread interval confusion. + If we use timer_thread_pipe[1], every gvl_yield() request + one more gvl_yield(). It lead to thread starvation. + [Bug #7999] [ruby-core:53095] + * thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low + to reserved fds. + +Wed Mar 6 22:36:19 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd + argument and remove hardcoded dependency of timer_thread_pipe[1]. + * thread_pthread.c (consume_communication_pipe): add fd argument. + * thread_pthread.c (close_communication_pipe): ditto. + + * thread_pthread.c (timer_thread_sleep): adjust the above changes. + + * thread_pthread.c (setup_communication_pipe_internal): factor + out pipe initialize logic. + +Wed Mar 6 22:56:14 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (ubf_select): add to small comments why we + need to call rb_thread_wakeup_timer_thread(). + +Wed Mar 6 21:42:24 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (rb_thread_create_timer_thread): factor out + creating communication pipe logic into separate function. + * thread_pthread.c (setup_communication_pipe): new helper function. + * thread_pthread.c (set_nonblock): moves a definition before + setup_communication_pipe. + +Sun Mar 3 02:42:29 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (consume_communication_pipe): retry when + read returned CCP_READ_BUFF_SIZE. + +Wed Mar 6 21:31:35 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (timer_thread_sleep): use poll() instead of + select(). select doesn't work if timer_thread_pipe[0] is + greater than FD_SETSIZE. + * thread_pthread.c (USE_SLEEPY_TIMER_THREAD): add a dependency + against poll. + +Wed Mar 6 21:00:23 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (USE_SLEEPY_TIMER_THREAD): use more accurate + ifdef conditions. + +Sun Mar 3 02:30:36 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (set_nonblock): new helper function for set + O_NONBLOCK. + * thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK + to timer_thread_pipe[0] too. + +Sun Mar 10 09:12:51 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * complex.c: described syntax of string form. + * rational.c: ditto. + +Sat Mar 9 11:58:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * marshal.c (w_extended): check for prepended object. + [ruby-core:53206] [Bug #8043] + +Sat Mar 9 08:36:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (features_index_add_single, rb_feature_p): store single index + as Fixnum to reduce the number of arrays for the indexes. based on + the patch by tmm1 (Aman Gupta) in [ruby-core:53216] [Bug #8048]. + +Sat Mar 9 00:25:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * marshal.c (r_object0): load prepended objects. treat the class of + extended object in the included modules as prepended singleton + class. [ruby-core:53202] [Bug #8041] + +Fri Mar 8 19:44:00 2013 Akinori MUSHA <knu@iDaemons.org> + + * man/rake.1, man/ruby.1: Use the Pa macro to make URLs stand out. + +Fri Mar 8 13:20:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/pathname/pathname.c (path_f_pathname): rdoc for Pathname() + +Fri Mar 8 12:00:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * man/rake.1: Document ENVIRONMENT variables on RAKE(1) manpage + +Fri Mar 8 10:44:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/webrick/httpproxy.rb: Fix typos in HTTPProxyServer [Bug #8013] + Patch by Nobuhiro IMAI [ruby-core:53127] + +Fri Mar 8 03:16:15 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * class.c (rb_mod_ancestors): Include singleton_class in ancestors + list [Feature #8035] + + * test/ruby/test_module.rb (class): test for above + + * test/ruby/marshaltestlib.rb (module): adapt test + + * NEWS: list change + +Thu Mar 7 14:21:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compile.c (iseq_compile_each): pass keyword arguments to zsuper, + with current values. [ruby-core:53114] [Bug #8008] + +Thu Mar 7 12:53:47 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/commands/setup_command.rb: Install .pem files. + * test/rubygems/test_gem_commands_setup_command.rb: Test for the + above. + + * lib/rubygems/spec_fetcher.rb: Test HTTPS upgrade with URI::HTTPS, + not URI::HTTP. Fixes bug in automatic HTTPS upgrade. + * test/rubygems/test_gem_spec_fetcher.rb: Test for the above. + + * lib/rubygems.rb: Version 2.0.2 + + * lib/rubygems/test_utilities.rb: Ensure scheme and uri class match. + +Thu Mar 7 10:39:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * tool/rbinstall.rb (gem): Gem.ensure_gem_subdirectories now has mode + option since r39607. refix of r38870. + +Wed Mar 6 13:14:28 2013 Eric Hodel <drbrain@segment7.net> + + * test/rubygems/test_gem_spec_fetcher.rb: Removed unused variable. + +Wed Mar 6 08:10:15 2013 Eric Hodel <drbrain@segment7.net> + + * test/rubygems/test_require.rb: Fix tests when 'a.rb' exists. + [ruby-trunk - Bug #7749] + +Wed Mar 6 08:00:59 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems.rb: Allow specification of directory permissions. + [ruby-trunk - Bug #7713] + * test/rubygems/test_gem.rb: Test for the above. + +Wed Mar 6 07:40:21 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/commands/query_command.rb: Only fetch remote specs when + showing details. [ruby-trunk - Bug #8019] RubyGems bug #487 + * lib/rubygems/remote_fetcher.rb: ditto. + * lib/rubygems/security/policy.rb: ditto. + * test/rubygems/test_gem_commands_query_command.rb: Test for the + above. + + * lib/rubygems/security.rb: Make OpenSSL optional for RubyGems. + * lib/rubygems/commands/cert_command.rb: ditto. + + * lib/rubygems/config_file.rb: Display file with YAML error, not + ~/.gemrc + + * lib/rubygems/remote_fetcher.rb: Only create gem subdirectories when + installing gems. + * lib/rubygems/dependency_resolver.rb: ditto. + * lib/rubygems/test_utilities.rb: ditto. + * test/rubygems/test_gem_commands_fetch_command.rb: Test for the + above. + + * lib/rubygems/spec_fetcher.rb: Only try to upgrade + http://rubygems.org to HTTPS + * test/rubygems/test_gem_spec_fetcher.rb: Test for the above. + + * lib/rubygems.rb: Update win_platform? check for JRuby compatibility. + + * test/rubygems/test_gem_installer.rb: Update for Ruby 1.9.2 + compatibility + +Wed Mar 6 01:19:28 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * enumerator.c (enumerator_with_index, lazy_take): use INT2FIX(0) + instead of INT2NUM(0). + + * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): ditto. + + * ext/fiddle/function.c (function_call): ditto. + + * ext/openssl/ossl_x509store.c (ossl_x509store_initialize): ditto. + + * process.c (proc_getsid): ditto. + + * transcode.c (econv_finish): ditto. + +Tue Mar 5 21:36:43 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (rb_prepend_module): check redefinition of built-in optimized + methods. [ruby-dev:47124] [Bug #7983] + + * vm.c (rb_vm_check_redefinition_by_prepend): ditto. + +Tue Mar 5 20:29:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (mnew): revert r39224. [ruby-core:53038] [Bug #7988] + +Tue Mar 5 20:23:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/intern.h (rb_check_arity): make a static inline + function so it can be used as an expression and argc would be + evaluated only once. + +Tue Mar 5 12:30:55 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems.rb: Bump version to 2.0.1 for upcoming bugfix release + + * lib/rubygems/ext/ext_conf_builder.rb: Restore ruby 1.8 compatibility + for [Bug #7698] + * test/rubygems/test_gem_installer.rb: Ditto. + + * lib/rubygems/package.rb: Restore ruby 1.8 compatibility. + + * test/rubygems/test_gem_dependency_installer.rb: Fix warnings + +Tue Mar 5 12:24:23 2013 Eric Hodel <drbrain@segment7.net> + + * enumerator.c (enumerator_with_index): Restore handling of a nil memo + from r39594. + +Tue Mar 5 10:40:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/objspace/objspace.c (count_nodes): count also newly added nodes, + and fix key for unknown node. patch by tmm1 (Aman Gupta) in + [ruby-core:53130] [Bug #8014] + +Tue Mar 5 10:20:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enumerator.c (enumerator_with_index_i): allow Bignum as offset, to + get rid of conversion exception and integer overflow. + [ruby-dev:47131] [Bug #8010] + + * numeric.c (rb_int_succ, rb_int_pred): shortcut optimization for + Bignum. + +Tue Mar 5 10:02:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build): + clear DESTDIR so RUBYARCHDIR and RUBYLIBDIR are not be overridden. + [Bug #7698] + +Mon Mar 4 15:33:40 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build): + fix for unusual cases again. install to a temporary directory once + and move installed files to the destination directory, if it is same + as the current directory. [Bug #7698] + +Mon Mar 4 14:13:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * Makefile.in (miniruby, ruby): move MAINLIBC because linker arguments + must appear after object files with newer versions of gcc. patch by + tmm1 (Aman Gupta) in [ruby-core:53121] [Bug #8009] + +Mon Mar 4 10:23:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * encoding.c: Typo in Encoding overview by Tom Wardrop [GH fixes #255] + +Sun Mar 3 12:35:08 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (MakeMakefile#libpath_env): set runtime library path for + the case rpath is disabled. + +Sun Mar 3 12:17:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rubygems/ext/ext_conf_builder.rb + (Gem::Ext::ExtConfBuilder.hack_for_obsolete_style_gems): remove + circular dependencies in install-so too. [ruby-core:52882] + [Bug #7698] + +Sun Mar 3 07:33:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/socket/tcpserver.c: Grammar for TCPServer.new from r39554 + +Sun Mar 3 01:17:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rubygems/ext/ext_conf_builder.rb + (Gem::Ext::ExtConfBuilder.hack_for_obsolete_style_gems): remove + circular dependencies for old style gems which locate extconf.rb on + the toplevel. [ruby-core:53059] [ruby-trunk - Bug #7698] + + * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build): + use RUBYOPT instead of -r option, and revert some tests. [Bug #7698] + + * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build): + revert use of temporary directory for build, to work some buggy + extconf.rb which cannot build outside the source directory. + [ruby-core:53056] [Bug #7698] + +Sun Mar 3 00:04:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enc/depend (CPPFLAGS), lib/mkmf.rb (MakeMakefile#create_makefile): + define RUBY_EXPORT for static-linked-ext mswin. [Bug #7960] + +Sat Mar 2 22:49:47 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/Makefile.sub (ENCOBJS, EXTOBJS, config.h): definitions for + static-linked-ext. [Bug #7960] + +Sat Mar 2 17:34:19 2013 Tanaka Akira <akr@fsij.org> + + * lib/webrick/utils.rb: use Socket.tcp_server_sockets to create server + sockets. + fix [Bug #7100] https://bugs.ruby-lang.org/issues/7100 + reported by sho-h (Sho Hashimoto). + +Sat Mar 2 02:45:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c: typo in comment patch by Nami-Doc [Github fixes #253] + +Sat Mar 2 01:33:17 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * Merge Onigmo 0fe387da2fee089254f6b04990541c731a26757f + v5.13.3 [Bug#7972] [Bug#7974] + +Fri Mar 1 11:09:06 2013 Eric Hodel <drbrain@segment7.net> + + * lib/fileutils.rb: Revert r34669 which altered the way + metaprogramming in FileUtils occurred. [ruby-trunk - Bug #7958] + + * test/fileutils/visibility_tests.rb: Refactored tests of FileUtils + options modules to expose bug found in #7958 + * test/fileutils/test_dryrun.rb: ditto. + * test/fileutils/test_nowrite.rb: ditto. + * test/fileutils/test_verbose.rb: ditto. + +Fri Mar 1 09:18:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/psych.rb: specify in rdoc what object is returned in parser + By Adam Stankiewicz [Github tenderlove/psych#133] + +Fri Mar 1 07:21:41 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/ext/builder.rb: Fix incompatibilities when installing + extensions. Patch by Nobu. + [ruby-trunk - Bug #7698] [ruby-trunk - Bug #7971] + * lib/rubygems/ext/ext_conf_builder.rb: ditto. + * lib/rubygems/installer.rb: ditto. + * test/rubygems/test_gem_ext_ext_conf_builder.rb: Test for the above. + * test/rubygems/test_gem_installer.rb: ditto. + + * lib/rubygems/commands/sources_command.rb: Prefer HTTPS over HTTP. + * lib/rubygems/defaults.rb: ditto + * lib/rubygems/dependency_resolver.rb: Ditto. + * lib/rubygems/source.rb: ditto. + * lib/rubygems/spec_fetcher.rb: ditto. + * lib/rubygems/specification.rb: ditto. + * lib/rubygems/test_utilities.rb: ditto. + * test/rubygems/test_gem.rb: Test for the above. + * test/rubygems/test_gem_commands_sources_command.rb: ditto. + * test/rubygems/test_gem_dependency_resolver_api_set.rb: ditto. + * test/rubygems/test_gem_remote_fetcher.rb: ditto. + * test/rubygems/test_gem_source.rb: ditto. + * test/rubygems/test_gem_spec_fetcher.rb: ditto. + +Fri Mar 1 03:25:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/psych/lib/psych.rb: rdoc for Psych overview by Adam Stankiewicz + [Github tenderlove/psych#134] + +Thu Feb 28 22:57:48 2013 Koichi Sasada <ko1@atdot.net> + + * compile.c (iseq_compile_each): remove redundant trace(line) + instruction. for example, at the following script + def m() + p:xyzzy + 1 + 2 + end + compiler ignores `1' because there is no effect. However, + `trace(line)' instruction remains in bytecode. + This modification removes such redundant trace(line) instruction. + + * test/ruby/test_iseq.rb: add a test. + +Thu Feb 28 22:23:27 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/raddrinfo.c (inspect_sockaddr): don't show that Unix + domain socket filename is bigger than sizeof(sun_path). + This limit is not rigid on some platforms such as Darwin and SunOS. + +Thu Feb 28 21:33:01 2013 WATANABE Hirofumi <eban@ruby-lang.org> + + * configure.in(AC_DISABLE_OPTION_CHECKING): avoid warning "WARNING: + Unrecognized options: --with-PACKAGE". + +Thu Feb 28 20:22:04 2013 Koichi Sasada <ko1@atdot.net> + + * iseq.c (iseq_data_to_ary): fix condition. + r34303 introduces a bug to avoid all line information from + a result of ISeq#to_a. This is a regression problem from 2.0.0p0. + + * test/ruby/test_iseq.rb: add a test of lines after ISeq#to_a. + +Thu Feb 28 08:20:33 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/available_set.rb: Undent for style + + * lib/rubygems/dependency_installer.rb: Pick latest prerelease gem to + install. Fixes RubyGems bug #468. + * test/rubygems/test_gem_dependency_installer.rb: Test for the above. + + * lib/rubygems/dependency_installer.rb: Don't display "Done installing + documentation" if documentation will not be installed. + * lib/rubygems/rdoc.rb: ditto + + * lib/rubygems/dependency_list.rb: Use Array#concat for Ruby 1.x + performance. + + * lib/rubygems/installer.rb: Use formatted program name when comparing + executables. RubyGems pull request #471 + * test/rubygems/test_gem_installer.rb: Test for the above. + + * lib/rubygems/package.rb: Use more explicit feature check to work + around JRuby bug #552 + + * lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem: Added GeoTrust root + certificate. + + * test/rubygems/test_gem_source_list.rb: Use "example" instead of real + hostname + +Thu Feb 28 05:57:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c: rdoc formatting for Thread, ThreadGroup, and ThreadError + +Thu Feb 28 02:42:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * vm.c: Typo in overview for example of Thread#status returning false + Reported by Lee Jarvis + +Wed Feb 27 22:54:27 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/rubysocket.h (union_sockaddr): make it longer for SunOS + and Darwin. + +Wed Feb 27 21:14:34 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/security.rb (REXML::Security): create. + * lib/rexml/rexml.rb: move entity_expansion_limit and + entity_expansion_text_limit accessors to ... + * lib/rexml/security.rb: ... here. + * lib/rexml/document.rb: use REXML::Security. + * lib/rexml/text.rb: use REXML::Security. + * test/rexml/test_document.rb: use REXML::Security. + +Wed Feb 27 19:53:32 2013 Benoit Daloze <eregontp@gmail.com> + + * vm.c (Thread): fix typos in overview + +Wed Feb 27 13:21:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * vm.c (Thread): Typo in overview, swap setting and getting + +Wed Feb 27 13:02:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * vm.c (Thread): Documentation overview of Thread class + +Wed Feb 27 12:57:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c (rb_thread_wakeup): rdoc formatting + +Wed Feb 27 12:53:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c (rb_thread_group): rdoc formatting + +Wed Feb 27 12:33:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/ostruct.rb: Typo in OpenStruct overview [Github Fixes #251] + Patch by Chun-wei Kuo + +Wed Feb 27 12:13:32 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_exec.h (END_INSN): llvm-gcc may optimize out reg_cfp and cause + Stack/cfp consistency error when the instruction doesn't use reg_cfp. + Usually instructions use PUSH() but for example trace doesn't. + This hack cause speed down but you shouldn't use llvm-gcc, use clang. + [Bug #7938] + +Wed Feb 27 10:23:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c (thread_raise_m): rdoc formatting + +Tue Feb 26 23:32:44 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/document.rb: move entity_expansion_limit accessor to ... + * lib/rexml/rexml.rb: ... here for consistency. + * lib/rexml/document.rb (REXML::Document.entity_expansion_limit): + deprecated. + * lib/rexml/document.rb (REXML::Document.entity_expansion_limit=): + deprecated. + +Tue Feb 26 23:26:13 2013 Kouhei Sutou <kou@cozmixng.org> + + * lib/rexml/document.rb: move entity_expansion_text_limit accessor to ... + * lib/rexml/rexml.rb: ... here to make rexml/text independent from + REXML::Document. It causes circular require. + * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit): + deprecated. + * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit=): + deprecated. + * lib/rexml/text.rb: add missing require "rexml/rexml" for + REXML.entity_expansion_text_limit. + Reported by Robert Ulejczyk. Thanks!!! [ruby-core:52895] [Bug #7961] + +Tue Feb 26 15:12:11 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * tool/mkconfig.rb: reconstruct comma separated list values. a + command line to Windows batch file is split not only by spaces + and equal signs but also by commas and semicolons. + +Tue Feb 26 15:04:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (unexpand_shvar): get rid of non-portable shell + behavior on OpenBSD, so no extra quotes. [Bug #7959] + +Tue Feb 26 10:24:49 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (IS_LABEL_POSSIBLE): allow labels for keyword arguments just + after method definition without a parenthesis. [ruby-core:52820] + [Bug #7942] + +Tue Feb 26 04:50:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * error.c: clarify reason for sleep in SignalException example + +Tue Feb 26 03:47:00 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * error.c: clarify a document of SignalException. Process.kill() + doesn't have any guarantee when signal will be delivered. + [Bug #7951] [ruby-core:52864] + +Mon Feb 25 23:51:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/version.h: bump RUBY_API_VERSION same as RUBY_VERSION. + +Mon Feb 25 21:03:34 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (str_byte_substr): don't set coderange if it's not known. + [Bug #7954] [ruby-dev:47108] + +Mon Feb 25 16:47:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * common.mk (realclean-local): miniprelude.c is made by srcs, so it + should not removed by distclean but by realclean. [Bug #6807] + +Mon Feb 25 16:30:30 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/config_file.rb: Lazily load .gem/credentials to only + check permissions when necessary. RubyGems bug #465 + * test/rubygems/test_gem_config_file.rb: Test for the above. + + * test/rubygems/test_gem_commands_push_command.rb: Remove duplicated + test. + +Mon Feb 25 15:47:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * enc/depend (ARFLAGS): VisualC++ linker does not allow spaces between + output option and the output file name. [Bug #7950] + + * enc/depend (RANLIB): set default command to do nothing, or make the + entire line a label on Windows. + +Mon Feb 25 14:41:07 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (MakeMakefile#init_mkmf): default libdirname to libdir. + + * tool/rbinstall.rb: ditto. + +Mon Feb 25 13:12:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (setup): find Setup file from target_os 1. by + suffix (e.g. Setup.nacl, Setup.atheos), 2. by "platform" + option (e.g. Setup.nt, Setup.emx), and 3. default Setup. And + Setup.dj had been removed. + +Mon Feb 25 12:48:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c: Document Thread::new, clean up ::fork and mention calling + super if subclassing Thread + +Mon Feb 25 12:38:50 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: don't test ss_family and ss_len member of + struct sockaddr_storage. They are not used now except SunOS + specific code. + +Mon Feb 25 11:03:38 2013 Akinori MUSHA <knu@iDaemons.org> + + * configure.in (unexpand_shvar): Use the numeric comparison + operator instead of '==' which is a ksh extension. [Bug #7941] + +Mon Feb 25 02:37:56 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket: define and use union_sockaddr instead of struct + sockaddr_storage for less casts. + + * ext/socket/rubysocket.h (union_sockaddr): defined. + + * ext/socket/socket.c (sock_accept): use union_sockaddr. + (sock_accept_nonblock): ditto. + (sock_sysaccept): ditto. + (sock_s_getnameinfo): ditto. + + * ext/socket/basicsocket.c (bsock_getsockname): ditto. + (bsock_getpeername): ditto. + (bsock_local_address): ditto. + (bsock_remote_address): ditto. + + * ext/socket/ancdata.c (bsock_recvmsg_internal): ditto. + + * ext/socket/init.c (recvfrom_arg): ditto. + (recvfrom_blocking): ditto. + (rsock_s_recvfrom): ditto. + (rsock_s_recvfrom_nonblock): ditto. + (rsock_getfamily): ditto. + + * ext/socket/raddrinfo.c (rb_addrinfo_t): ditto. + (ai_get_afamily): ditto. + (inspect_sockaddr): ditto. + (addrinfo_mdump): ditto. + (addrinfo_mload): ditto. + (addrinfo_getnameinfo): ditto. + (addrinfo_ip_port): ditto. + (extract_in_addr): ditto. + (addrinfo_ipv6_to_ipv4): ditto. + (addrinfo_unix_path): ditto. + + * ext/socket/tcpserver.c (tcp_accept): ditto. + (tcp_accept_nonblock): ditto. + (tcp_sysaccept): ditto. + + * ext/socket/ipsocket.c (ip_addr): ditto. + (ip_peeraddr): ditto. + (ip_s_getaddress): ditto. + +Sun Feb 24 21:15:05 2013 Tadayoshi Funaba <tadf@dotrb.org> + + * ext/date/date_core.c: [ruby-core:52303] + +Sun Feb 24 15:33:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * random.c (rb_random_ulong_limited): limit is inclusive, but generic + rand method should return a number less than it, so increase for the + difference. [ruby-core:52779] [Bug #7935] + +Sun Feb 24 15:32:36 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * random.c (rb_random_ulong_limited): limit is inclusive, but generic + rand method should return a number less than it, so increase for the + difference. [ruby-core:52779] [Bug #7935] + +Sun Feb 24 15:14:43 2013 Eric Hodel <drbrain@segment7.net> + + * lib/net/http.rb: Removed duplicate Accept-Encoding in Net::HTTP#get. + [ruby-trunk - Bug #7924] + * test/net/http/test_http.rb: Test for the above. + +Wed Feb 20 14:28:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c: Document ThreadGroup::Default + +Wed Feb 20 14:23:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c: Grammar for #backtrace_locations and ::handle_interrupt + +Sun Feb 24 13:35:57 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_insnhelper.c (vm_call_method): block level control frame does not + have method entry, so obtain the method entry from method top-level + control frame to be compared with refined method entry. + [ruby-core:52750] [Bug #7925] + +Wed Feb 20 13:23:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * object.c: Document methods receiving string and convert to symbol + Patch by Stefan Rusterholz + * vm_eval.c: ditto + * vm_method.c: ditto + +Wed Feb 20 07:20:56 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * signal.c (sigsegv): suppress unused result warning. Because + write(2) is marked __warn_unused_result__ on Linux glibc. + +Sun Feb 24 07:50:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compile.c (iseq_set_arguments): no keyword check if any keyword rest + argument exists, even unnamed. [ruby-core:52744] [Bug #7922] + +Sat Feb 23 16:51:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c: Documentation for Thread#backtrace_locations + +Sat Feb 23 16:05:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * vm.c: Typo in ObjectSpace::WeakMap overview + +Sat Feb 23 16:00:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * thread.c: Improved rdoc for ::handle_interrupt, ::pending_interrupt? + and #pending_interrupt? + +Sat Feb 23 12:26:43 2013 Akinori MUSHA <knu@iDaemons.org> + + * misc/ruby-electric.el (ruby-electric-curlies) + (ruby-electric-matching-char, ruby-electric-bar): Avoid electric + insertion when there is a prefix argument. + + * misc/ruby-electric.el (ruby-electric-insert) + (ruby-electric-cua-replace-region-p) + (ruby-electric-cua-replace-region): Avoid electric insertion and + fall back when cua-mode is enabled and a region is active. + +Sat Feb 23 12:35:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c: Document #<=> return values and formatting + * bignum.c: ditto + * file.c: ditto + * object.c: ditto + * numeric.c: ditto + * rational.c: ditto + * string.c: ditto + * time.c: ditto + +Sat Feb 23 10:50:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * array.c (rb_ary_diff, rb_ary_and, rb_ary_or): Document return order + [RubySpec #7803] + +Sat Feb 23 10:17:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * object.c (rb_obj_comp): Documenting Object#<=> return values + Patch by Stefan Rusterholz + +Sat Feb 23 09:48:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * dir.c (file_s_fnmatch, fnmatch_brace): encoding-incompatible pattern + and string do not match, instead of exception. [ruby-dev:47069] + [Bug #7911] + +Sat Feb 23 08:57:46 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * doc/NEWS-*: Update NEWS from their respective branches + +Sat Feb 23 08:14:43 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * NEWS: many additions for Ruby 2.0.0 + + * object.c: Add doc for Module.prepended + +Sat Feb 23 07:52:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * template/ruby.pc.in: reorder library flags which may refer library + names. [Bug #7913] + +Fri Feb 22 23:46:20 2013 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> + + * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit): + fix a typo in comment in r39384. + +Fri Feb 22 18:31:46 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit): + new attribute to read/write entity expansion text limit. the default + limit is 10Kb. + + * lib/rexml/text.rb (REXML::Text.unnormalize): check above attribute. + +Fri Feb 22 17:36:23 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * test/test_rbconfig.rb (TestRbConfig): fix r39372. + It must see RbConfig::CONFIG instead of CONFIG. + +Fri Feb 22 14:55:41 2013 Naohisa Goto <ngotogenome@gmail.com> + + * signal.c (ruby_abort): fix typo in r39354 [Bug #5014] + +Fri Feb 22 12:46:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * random.c (rb_random_ulong_limited): fix error message for negative + value. [ruby-dev:47061] [Bug #7903] + +Fri Feb 22 11:36:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * test/test_rbconfig.rb (TestRbConfig): skip user defined values by + configuration options. [Bug #7902] + +Fri Feb 22 11:33:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (MakeMakefile#init_mkmf): adjust default library path + for multiarch. [Bug #7874] + +Fri Feb 22 11:10:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * enum.c (Enumerable#chunk: Improved examples, grammar, and formatting + Patch by Dan Bernier and Rich Bruchal of newhaven.rb + [Github documenting-ruby/ruby#8] + +Fri Feb 22 11:00:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * numeric.c: Examples and formatting for Numeric and Float + Based on a patch by Zach Morek and Oren K of newhaven.rb + [Github documenting-ruby/ruby#5] + +Fri Feb 22 07:04:41 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/installer.rb (build_extensions): Create extension + install destination before building extension. Patch by Kenta Murata. + [ruby-trunk - Bug #7897] + * test/rubygems/test_gem_installer.rb: Test for the above. + +Fri Feb 22 06:30:57 2013 Eric Hodel <drbrain@segment7.net> + + * doc/globals.rdoc: Document what setting $DEBUG does. + + * doc/globals.rdoc: Added pointer to $-d for full documentation. + +Fri Feb 22 06:27:07 2013 Eric Hodel <drbrain@segment7.net> + + * doc/globals.rdoc: Document what setting $VERBOSE does. [Bug #7899] + + * doc/globals.rdoc: Added pointer to $-w and $-v for full + documentation. + +Fri Feb 22 02:33:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/abbrev.rb: Add words parameter to Abbrev::abbrev + Patch by Devin Weaver [Github documenting-ruby/ruby#7] + +Thu Feb 21 17:28:14 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * tool/merger.rb: add interaction when only ChangeLog is modified. + +Thu Feb 21 16:34:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * signal.c (check_stack_overflow): extract duplicated code and get rid + of declaration-after-statement. [Bug #5014] + +Thu Feb 21 14:14:13 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * signal.c (sigsegv): avoid to use async signal unsafe functions + when nested sigsegv is happen. + [Bug #5014] [ruby-dev:44082] + +Thu Feb 21 13:47:59 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * file.c (rb_group_member): added an error check. SUS says, + getgroups(small_value) may return EINVAL. + +Thu Feb 21 13:37:07 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * process.c (RB_MAX_GROUPS): moved to + * internal.h (RB_MAX_GROUPS): here. + + * file.c (rb_group_member): use RB_MAX_GROUPS instead of + RUBY_GROUP_MAX. They are the same. + +Thu Feb 21 13:15:40 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * file.c (access_internal): removed. + * file.c (rb_file_readable_real): use access() instead of + access_internal(). + * file.c (rb_file_writable_real): ditto. + * file.c (rb_file_executable_real): ditto. + +Thu Feb 21 13:04:59 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * file.c (eaccess): use access() when not using setuid nor setgid. + This is minor optimization. + +Thu Feb 21 12:56:19 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * file.c (rb_group_member): get rid of NGROUPS dependency. + [Bug #7886] [ruby-core:52537] + +Thu Feb 21 12:45:03 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ruby.c (ruby_init_loadpath_safe): try two levels upper for stripping + libdir name. [Bug #7874] + + * configure.in (libdir_basename): expand with multiarch in configure, + not to defer the expansion till ruby.pc.in and mkmf.rb. [Bug #7874] + + * configure.in (libdir_basename): also -rpath and -install_name flags + are affected when libruby directory changes. [Bug #7874] + +Wed Feb 20 19:27:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * include/ruby/ruby.h (HAVE_RB_SCAN_ARGS_OPTIONAL_HASH): for + rb_scan_args() optional hash feature. [Bug #7861] + +Wed Feb 20 18:02:26 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (target_os): do not strip -gnu suffix on Linux if + --target is given explicitly. [Bug #7874] + + * configure.in (libdirname): adjust library path name which libruby + files will be installed. [Bug #7874] + + * tool/rbinstall.rb (libdir): ditto. + +Wed Feb 20 13:37:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/pty/pty.c: Documentation for the PTY module + +Wed Feb 20 12:18:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * object.c: Document Data class [Bug #7890] [ruby-core:52549] + Patch by Matthew Mongeau + +Wed Feb 20 11:50:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/mutex_m.rb: Add rdoc for Mutex_m module + +Wed Feb 20 09:34:43 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/commands/update_command.rb: Create the installer after + options are processed. [ruby-trunk - Bug #7779] + * test/rubygems/test_gem_commands_update_command.rb: Test for the + above. + +Wed Feb 20 07:51:19 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/installer.rb: Use gsub instead of gsub! to avoid + altering @bin_dir. Fixes tests on windows. [ruby-trunk - Bug #7885] + +Tue Feb 19 20:50:00 2013 Kenta MURATA <mrkn@mrkn.jp> + + * ext/bigdecimal/bigdecimal.gemspec: bump to 1.2.0. + [ruby-core:51777] [Bug #7761] + +Tue Feb 19 13:07:25 2013 Akinori MUSHA <knu@iDaemons.org> + + * ext/syslog/syslog.c (Init_syslog): Define inspect as a singleton + method and remove it as an instance method. [Bug #6502] + +Tue Feb 19 12:30:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * object.c: rdoc formatting for Kernel#Array() + * array.c: Add rdoc for Array() method to Creating Arrays section + +Tue Feb 19 10:35:52 2013 Eric Hodel <drbrain@segment7.net> + + * ext/openssl/ossl.c (class OpenSSL): Use only inner parenthesis in + create_extension examples. + +Tue Feb 19 10:27:12 2013 Eric Hodel <drbrain@segment7.net> + + * ext/openssl/ossl.c (class OpenSSL): Fixed ExtensionFactory example. + Patch by Richard Bradley. [ruby-trunk - Bug #7551] + +Tue Feb 19 08:32:11 2013 Koichi Sasada <ko1@atdot.net> + + * vm_eval.c (vm_call0_body): check interrupts after method dispatch + from C methods. [Bug #7878] + +Tue Feb 19 08:14:40 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/installer.rb: Fixed placement of executables with + --user-install. [ruby-trunk - Bug #7779] + * test/rubygems/test_gem_installer.rb: Test for above. + +Tue Feb 19 06:04:06 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * vm_dump: FreeBSD ports' libexecinfo's backtrace(3) can't trace + beyond signal trampoline, and as described in r38342 it can't + trace on -O because it see stack frame pointers. + libunwind unw_backtrace see dwarf information in the binary + and it works with -O (without frame pointers). + + * configure.in: remove r38342's hack and check libunwind. + +Tue Feb 19 04:26:29 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * configure.in: check whether backtrace(3) works well or not. + + * vm_dump.c: set HAVE_BACKTRACE 0 if BROKEN_BACKTRACE. + +Mon Feb 18 16:30:18 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/ipaddr.rb (IPAddr#in6_addr): Fix a typo with the closing + parenthesis. + +Mon Feb 18 12:32:24 2013 Akinori MUSHA <knu@iDaemons.org> + + * lib/ipaddr.rb (IPAddr#in6_addr): Fix the parser so that it can + recognize IPv6 addresses with only one edge 16-bit piece + compressed, like [::2:3:4:5:6:7:8] or [1:2:3:4:5:6:7::]. + [Bug #7477] + +Mon Feb 18 10:09:54 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (unexpand_shvar): regularize a shell variable by + unexpanding shell variables in it. + +Sun Feb 17 20:55:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * compar.c (rb_invcmp): compare by inversed comparison, with preventing + from infinite recursion. [ruby-core:52305] [Bug #7870] + + * string.c (rb_str_cmp_m), time.c (time_cmp): get rid of infinite + recursion. + +Sun Feb 17 17:23:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb: remove extra topdir in VPATH, which was in + win32/Makefile.sub for some reason and moved from there. + [ruby-dev:46998] [Bug #7864] + +Sun Feb 17 01:19:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * ext/psych/lib/psych/y.rb: Document Kernel#y by Adam Stankiewicz + [Github tenderlove/psych#127] + +Sun Feb 17 00:52:14 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * tool/mkconfig.rb: remove prefix from rubyarchdir. + r39267 expands variables, it changes expansion timing, + breaks RbConfig::CONFIG["includedir"] and building + extension libraries with installed ruby. + +Sat Feb 16 20:51:17 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * vm.c (ENV_IN_HEAP_P): fix off-by-one error. + +Sat Feb 16 20:47:16 2013 Akinori MUSHA <knu@iDaemons.org> + + * configure.in (LIBRUBY_DLDFLAGS): Fix a bug where --with-opt-dir + options given were not reflected to LIBRUBY_DLDFLAGS on many + platforms including Linux and other GNU-based systems, NetBSD, + AIX and BeOS. + +Sat Feb 16 20:43:20 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/ancdata.c (rsock_recvmsg): ignore truncated part of + socket address returned from recvmsg(). + + * ext/socket/init.c (recvfrom_blocking): ignore truncated part of + socket address returned from recvfrom(). + (rsock_s_recvfrom_nonblock): ditto. + +Sat Feb 16 20:05:26 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com> + + * test/ruby/test_thread.rb: fixed typo + patched by Hiroki Matsue via https://github.com/ruby/ruby/pull/248 + +Sat Feb 16 16:08:35 2013 Koichi Sasada <ko1@atdot.net> + + * vm.c (rb_thread_mark): mark a working Proc of bmethod + (a method defined by define_method) even if the method was removed. + We could not trace working Proc object which represents the body + of bmethod if the method was removed (alias/undef/overridden). + Simply, it was mark miss. + This patch by Kazuki Tsujimoto. [Bug #7825] + + NOTE: We can brush up this marking because we do not need to mark + `me' on each living control frame. We need to mark `me's + only if `me' was free'ed. This is future work after Ruby 2.0.0. + + * test/ruby/test_method.rb: add a test. + +Sat Feb 16 15:45:56 2013 Koichi Sasada <ko1@atdot.net> + + * proc.c (rb_binding_new_with_cfp): create binding object even if + the frame is IFUNC. But return a ruby-level binding to keep + compatibility. + This patch fix degradation introduced from r39067. + [Bug #7774] [ruby-dev:46960] + + * test/ruby/test_settracefunc.rb: add a test. + +Sat Feb 16 13:40:13 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (shvar_to_cpp): do not substitute exec_prefix itself + with RUBY_EXEC_PREFIX, which cause recursive definition. + [ruby-core:52296] [Bug #7860] + +Sat Feb 16 13:13:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/io/console/io-console.gemspec: bump to 0.4.2. now explicitly + requires ruby 1.9.3 or later. [Bug #7847] + + * ext/io/console/console.c (console_dev): compatibility with ruby 1.8. + + * ext/io/console/console.c (rawmode_opt, console_dev): compatibility + with ruby 1.9. [ruby-core:52220] [Bug #7847] + +Sat Feb 16 12:45:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: unexpand arch sitearch and exec_prefix values, so + directly specified bindir, libdir, rubyprefix, etc can be properly + substituted. [ruby-core:52296] [Bug #7860] + +Sat Feb 16 12:15:20 2013 Aaron Patterson <aaron@tenderlovemaking.com> + + * parse.y: add dtrace probe for symbol create. + + * probes.d: ditto + +Sat Feb 16 09:27:37 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: don't test sys/feature_tests.h which is not + used now. + It was included in r7901 as "bug of gcc 3.0 on Solaris 8 ?". + +Sat Feb 16 09:24:37 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: reorder header tests to consider inclusion + order in rubysocket.h. + +Sat Feb 16 08:42:58 2013 Tanaka Akira <akr@fsij.org> + + * configure.in, ext/socket/extconf.rb: test netinet/in_systm.h in + ext/socket/extconf.rb instead of configure.in. + + Originally, netinet/in_systm.h is included for NextStep, OpenStep, + and Rhapsody. [ruby-core:1596] + +Sat Feb 16 07:55:40 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: don't test xti.h here. + + * ext/socket/extconf.rb: test xti.h here. + + Originally, xti.h is included for IRIX [ruby-core:14447]. + +Sat Feb 16 07:16:49 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: test struct sockaddr_un and its member, + sun_len. + + * ext/socket/sockport.h (INIT_SOCKADDR_UN): new macro defined. + + * ext/socket/socket.c (sock_s_pack_sockaddr_un): use INIT_SOCKADDR_UN. + + * ext/socket/unixsocket.c (rsock_init_unixsock): ditto. + + * ext/socket/raddrinfo.c (init_unix_addrinfo): ditto. + (addrinfo_mload): ditto. + +Sat Feb 16 07:05:59 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/sockport.h (INIT_SOCKADDR_IN): don't need family + argument. it is always AF_INET. + + * ext/socket/raddrinfo.c (make_inetaddr): follow INIT_SOCKADDR_IN + change. + (addrinfo_ipv6_to_ipv4): ditto. + +Sat Feb 16 04:21:07 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * ext/socket/extconf.rb: workaround for mswin/mingw build problem. + sendmsg emulation in win32/win32.c is not enough. + +Sat Feb 16 00:19:20 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: use all all tested available headers for + have_func. + +Fri Feb 15 22:21:37 2013 Akinori MUSHA <knu@iDaemons.org> + + * configure.in: Fix a bug introduced in r38342 that the cflagspat + substitution is messed up by the way CFLAGS and optflags are + modified, which affected FreeBSD and NetBSD/amd64 when + configured to use libexecinfo. This bug resulted in CFLAGS and + CXXFLAGS in RbConfig::CONFIG having warnflags expanded in them, + forcing third-party C/C++ extensions to follow what warnflags + demands, like ANSI/ISO-C90 conformance. ref [Bug #7101] + +Fri Feb 15 20:29:11 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/sockport.h (SET_SIN_LEN): defined for strict-aliasing + rule. + (INIT_SOCKADDR_IN): ditto. + + * ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR_IN. + (addrinfo_ipv6_to_ipv4): ditto. + +Fri Feb 15 18:24:48 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (MakeMakefile#try_run): bail out explicitly if cross + compiling, because it cannot work of course. + +Fri Feb 15 12:34:58 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: test struct sockaddr_storage directly. + + * ext/socket/rubysocket.h: use HAVE_TYPE_STRUCT_SOCKADDR_STORAGE. + +Fri Feb 15 12:26:13 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/getaddrinfo.c (GET_AI): don't cast 1st argument for + INIT_SOCKADDR. + +Fri Feb 15 08:12:11 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/sockport.h (SET_SS_LEN): removed. + (SET_SIN_LEN): removed. + (INIT_SOCKADDR): new macro. + + * ext/socket/ancdata.c (extract_ipv6_pktinfo): use INIT_SOCKADDR. + + * ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR. + (addrinfo_ipv6_to_ipv4): ditto. + + * ext/socket/getaddrinfo.c (GET_AI): use INIT_SOCKADDR. + +Fri Feb 15 07:49:27 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rdoc.rb: Update to release version of 4.0.0 + + * lib/rubygems.rb: Update to release version of 2.0.0 + +Fri Feb 15 07:07:27 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/sockport.h (SA_LEN): removed because unused now. + (SS_LEN): ditto. + (SIN_LEN): ditto. + +Thu Feb 14 10:45:31 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * test/ruby/test_process.rb (test_setsid): Added a workaround for + MacOS X. Patch by nagachika. [Bug #7826] [ruby-core:52126] + +Fri Feb 15 00:15:31 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/sockport.h (VALIDATE_SOCKLEN): new macro to validate + sa_len member of 4.4BSD socket address. + + * ext/socket/getnameinfo.c (getnameinfo): use VALIDATE_SOCKLEN, + instead of SA_LEN. + + * ext/socket/socket.c (sock_s_getnameinfo): use VALIDATE_SOCKLEN + instead of SS_LEN. + +Thu Feb 14 22:25:54 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/socket.c (sockaddr_len): extracted from sockaddr_obj. + (sockaddr_obj): add an argument to length of socket address. + (socket_s_ip_address_list): call sockaddr_obj with actual socket + address length if given, use sockaddr_len otherwise. + +Thu Feb 14 20:11:23 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket: always operate length of socket address companion with + socket address. + + * ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for + socket address length. + (rsock_ipaddr): ditto. + + * ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr. + (ip_peeraddr): ditto. + (ip_s_getaddress): pass length to rsock_make_ipaddr. + + * ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr. + (sock_s_getnameinfo): pass actual address length to rb_getnameinfo. + (sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr. + + * ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr. + (rsock_s_recvfrom_nonblock): ditto. + + * ext/socket/tcpsocket.c (tcp_sockaddr): pass length to + rsock_make_ipaddr. + + * ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket + address length. pass the length to rb_getnameinfo. + (rsock_ipaddr): ditto. + (rsock_make_ipaddr): add an argument for socket address length. + pass the length to make_ipaddr0. + (make_inetaddr): pass length to make_ipaddr0. + a local variable renamed. + (host_str): a local variable renamed. + (port_str): ditto. + +Thu Feb 14 14:31:43 2013 Eric Hodel <drbrain@segment7.net> + + * lib/net/http.rb: Removed OpenSSL dependency from Net::HTTP. + + * test/net/http/test_http.rb: Remove Zlib dependency from tests. + * test/net/http/test_http_request.rb: ditto. + +Thu Feb 14 11:08:15 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * class.c (include_modules_at): detect cyclic prepend with original + method table. [ruby-core:52205] [Bug #7841] + +Thu Feb 14 10:30:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * vm_method.c: call method_removed hook on called class, not on + prepending iclass. [ruby-core:52207] [Bug #7843] + +Thu Feb 14 10:05:57 2013 Eric Hodel <drbrain@segment7.net> + + * lib/net/http: Do not handle Content-Encoding when the user sets + Accept-Encoding. This allows users to handle Content-Encoding for + themselves. This restores backwards-compatibility with Ruby 1.x. + [ruby-trunk - Bug #7831] + * lib/net/http/generic_request.rb: ditto. + * lib/net/http/response.rb: ditto + * test/net/http/test_http.rb: Test for the above. + * test/net/http/test_http_request.rb: ditto. + * test/net/http/test_httpresponse.rb: ditto. + +Thu Feb 14 08:18:47 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: don't define HAVE_SA_LEN and HAVE_SA_LEN. + use HAVE_STRUCT_SOCKADDR_SA_LEN and HAVE_STRUCT_SOCKADDR_IN_SIN_LEN + instead. + +Wed Feb 13 20:59:48 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: don't define socklen_t here, just test. + + * ext/socket/rubysocket.h: define socklen_t if not available. + +Wed Feb 13 18:37:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (mnew): skip prepending modules and return the method bound + on the given class. [ruby-core:52160] [Bug #7836] + +Wed Feb 13 18:11:59 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * proc.c (method_original_name): new methods Method#original_name and + UnboundMethod#original_name. [ruby-core:52048] [Bug #7806] + [EXPERIMENTAL] + + * proc.c (method_inspect): show the given name primarily, and + original_id if aliased. [ruby-core:52048] [Bug #7806] + +Wed Feb 13 17:56:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (warnflags): disable -Werror by default unless + development. [ruby-core:52131] [Bug #7830] + +Wed Feb 13 06:05:52 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems.rb: Return BINARY strings from Gem.gzip and Gem.gunzip. + Fixes intermittent test failures. RubyGems issue #450 by Jeremey + Kemper. + * test/rubygems/test_gem.rb: Test for the above. + +Wed Feb 13 05:49:21 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: test functions just after struct members. + +Tue Feb 12 12:02:35 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/json: merge JSON 1.7.7. + This includes security fix. [CVE-2013-0269] + https://github.com/flori/json/commit/d0a62f3ced7560daba2ad546d83f0479a5ae2cf2 + https://groups.google.com/d/topic/rubyonrails-security/4_YvCpLzL58/discussion + +Mon Feb 11 23:08:48 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: enable rb_cv_page_size_log test for MirOS BSD. + +Mon Feb 11 20:06:38 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: use -pthread on mirbsd*. + +Mon Feb 11 16:07:09 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: add SOLIBS and LIBRUBY_SO definition for mirbsd*. + +Mon Feb 11 13:17:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in (rubysitearchprefix): sitearchdir and vendorarchdir + should use sitearch, not arch. [ruby-dev:46964] [Bug #7823] + + * win32/Makefile.sub (config.status): site and vendor directories + should use sitearch, not arch. [ruby-dev:46964] [Bug #7823] + +Mon Feb 11 12:31:25 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: move OS specific header/function knowledge before + automatic header tests. + +Mon Feb 11 11:04:29 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: move the test for -march=i486 just after + RUBY_UNIVERSAL_ARCH/RUBY_DEFAULT_ARCH. + +Sun Feb 10 23:42:26 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: test structure members just after types test. + +Sun Feb 10 20:58:17 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: test types just after headers test. + +Sun Feb 10 16:00:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/rake/doc/MIT-LICENSE: Add license file from upstream + * lib/rake/doc/README.rdoc: Link to license file from Rake README + * lib/rake/version.rb: Include README rdoc for Rake module overview + +Sun Feb 10 15:26:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/rake/doc/*: Sync Rake rdoc files from upstream + +Sun Feb 10 15:50:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * vm_exec.h (DISPATCH_ARCH_DEPEND_WAY): use __asm__ __volatile__ + instead of asm volatile. + +Sun Feb 10 15:50:02 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * gc.h (SET_MACHINE_STACK_END): use __volatile__ instead of volatile. + +Sun Feb 10 14:25:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * doc/rake/, lib/rake/doc/: Move Rake rdoc files to lib/rake + +Sun Feb 10 12:10:25 2013 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: test headers at first. + +Sun Feb 10 12:00:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * doc/rake/*: Removed stale Rake static files + +Sun Feb 10 09:10:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * lib/pp.rb, lib/prettyprint.rb: Documentation for PP and PrettyPrint + Based on a patch by Vincent Batts [ruby-core:51253] [Bug #7656] + +Sat Feb 9 21:11:21 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: move header files check to the beginning of + "header and library section". + test rlim_t with sys/types.h and sys/time.h for MirOS BSD. + sys/types.h and sys/time.h is guarded by #ifdef and the above + move is required for this change. + +Sat Feb 9 17:45:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in, version.c: prevent duplicated load paths by empty + version string, it does not work right now. + +Sat Feb 9 17:38:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in: fix arch parameters in help message. [Bug #7804] + +Sat Feb 9 13:13:00 2013 Zachary Scott <zachary@zacharyscott.net> + + * vm_trace.c: Note about TracePoint events set, and comment on + Kernel#set_trace_func to prefer new TracePoint API + +Sat Feb 9 10:07:47 2013 Kazuki Tsujimoto <kazuki@callcc.net> + + * BSDL: update copyright notice for 2013. + +Sat Feb 9 09:24:38 2013 Eric Hodel <drbrain@segment7.net> + + * lib/rubygems/package/old.rb: Fix behavior only on ruby 1.8. + + * lib/rubygems/package.rb: Include checksums.yaml.gz signatures for + verification. + * test/rubygems/test_gem_package.rb: Test for the above. + +Sat Feb 9 01:23:24 2013 Tanaka Akira <akr@fsij.org> + + * test/fiddle/helper.rb: specify libc and libm locations for MirOS BSD. + + * test/dl/test_base.rb: ditto. + +Fri Feb 8 23:25:33 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: change CFLAGS temporally to test + ARCH_FLAG="-march=i486". + +Fri Feb 8 21:19:41 2013 Tanaka Akira <akr@fsij.org> + + * configure.in: don't define ARCH_FLAG="-march=i486" if it causes + compilation problem. + +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)))) + (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 |