diff options
author | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-25 16:05:13 +0000 |
---|---|---|
committer | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-25 16:05:13 +0000 |
commit | da8b79b4c4791549aa31051ca23f7bbb1e7c6e06 (patch) | |
tree | a703db98af717b428ab5f3086f21f3f716389635 /ChangeLog | |
parent | fdd66e58817f36ef29332853acb76e00522d1ee9 (diff) | |
download | ruby-da8b79b4c4791549aa31051ca23f7bbb1e7c6e06.tar.gz |
old ChangeLog and NEWS move to doc
* doc/NEWS-2.1.0: moved from NEWS
* doc/ChangeLog-2.1.0: moved ChangeLog older than created ruby_2_0_0 branch
* NEWS: NEWS for 2.2.0 that describes changes since 2.1.0
* ChangeLog: ChangeLog since created v2_1_0_rc1 tag (branch point of ruby_2_1 branch)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 18043 |
1 files changed, 1 insertions, 18042 deletions
@@ -209,18048 +209,7 @@ Sat Dec 21 05:03:49 2013 NAKAMURA Usaku <usa@ruby-lang.org> install win32.h. [ruby-core:58801][Bug #9199] reported by arton. -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 promoted as old - objects accidentally and not freed until major GC. - Major GC is not frequently so short-lived but accidentally becoming - old objects are not freed. - - 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-trunk/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-trunk/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.1.0, see doc/ChangeLog-2.1.0 For the changes before 2.0.0, see doc/ChangeLog-2.0.0 For the changes before 1.9.3, see doc/ChangeLog-1.9.3 For the changes before 1.8.0, see doc/ChangeLog-1.8.0 |