From 39b8908e37f3823fc54de7a26c965d62d26fce0d Mon Sep 17 00:00:00 2001 From: kazu Date: Thu, 25 Dec 2014 13:53:36 +0000 Subject: old ChangeLog and NEWS move to doc * doc/NEWS-2.2.0: moved from NEWS * doc/ChangeLog-2.2.0: moved ChangeLog older than created ruby_2_2 branch * NEWS: NEWS for 2.3.0 that describes changes since 2.2.0 * ChangeLog: ChangeLog since branch point of ruby_2_2 branch git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 12139 +------------------------------------------------ NEWS | 330 +- doc/ChangeLog-2.2.0 | 12157 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/NEWS-2.2.0 | 356 ++ 4 files changed, 12516 insertions(+), 12466 deletions(-) create mode 100644 doc/ChangeLog-2.2.0 create mode 100644 doc/NEWS-2.2.0 diff --git a/ChangeLog b/ChangeLog index 9c39c3fc3e..9f61fa0627 100644 --- a/ChangeLog +++ b/ChangeLog @@ -27,12144 +27,7 @@ Thu Dec 25 16:14:10 2014 Nobuyoshi Nakada * test/lib/leakchecker.rb (LeakChecker#check_fd_leak): close if console. -Thu Dec 25 16:01:19 2014 Nobuyoshi Nakada - - * file.c (rb_file_expand_path_internal): drop characters ignored - by filesystem on Mac OS X. - -Thu Dec 25 15:36:15 2014 Nobuyoshi Nakada - - * dir.c (replace_real_basename): get the real name and replace the - base name with it by getattrlist(2) if available. - suggested by Matthew Draper at [ruby-core:67116]. [Bug #10015] - - * dir.c (glob_helper): get the real name of the whole path, not - only the last name. - -Thu Dec 25 13:59:17 2014 Nobuyoshi Nakada - - * configure.in (NET_LUID): include also ifdef.h as a workaround of - a bug in mingw-w64 header. [ruby-core:67103] [Bug #10640] - -Thu Dec 25 12:47:44 2014 Nobuyoshi Nakada - - * parse.y (gettable_gen): warn possible reference to a local - variable defined in a past scope. - -Thu Dec 25 10:09:14 2014 Nobuyoshi Nakada - - * ext/io/console/console.c (console_dev): id_console is not a - constant name, use rb_const_remove() to get rid of NameError. - -Thu Dec 25 09:18:55 2014 NAKAMURA Usaku - - * test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address): - set timeout for recvfrom because if client thread is crashed, it - waits infinity. - -Thu Dec 25 08:42:11 2014 Eric Wong - - * lib/uri/generic.rb (split_userinfo): fstring for 1-byte split - (set_port): reduce bytecode size - (check_path): reduce garbage via opt_str_freeze - (query=): ditto - (fragment=): ditto - [misc #10628] - * lib/uri/rfc3986_parser.rb (regexp): cache as attr - (initialize): setup and freeze regexp attr once - (split): reduce bytecode size, use opt_str_freeze - (parse): minor bytecode and garbage reduction - (default_regexp): rename for initialize - -Wed Dec 24 20:38:16 2014 Nobuyoshi Nakada - - * dir.c (glob_make_pattern): restrict searching case-insensitive - name from the filesystem to only last part, for the performance. - [ruby-core:63591] [Bug #10015] - -Wed Dec 24 18:21:27 2014 Koichi Sasada - - * gc.c: remove unused rb_objspace_t::rgengc::old_objects_at_gc_start. - -Wed Dec 24 13:25:22 2014 NARUSE, Yui - - * tool/redmine-backporter.rb: require view_changesets permission. - -Wed Dec 24 13:00:24 2014 Nobuyoshi Nakada - - * tool/downloader.rb (Downloader.download): fix the exception to - re-raise. initialize methods of subclasses of Exception may - have different parameters. [ruby-core:67086] [Bug #10639] - -Wed Dec 24 12:16:19 2014 Nobuyoshi Nakada - - * ruby.h (rb_data_type_t): revert r48647 and revise parent member. - [ruby-core:66969] [Bug #10621] - -Wed Dec 24 05:40:52 2014 NARUSE, Yui - - * tool/downloader.rb: use config.guess in gcc repo. - -Wed Dec 24 11:50:19 2014 Koichi Sasada - - * hash.c (rb_hash_delete): return Qnil if there are no corresponding - entry. [Bug #10623] - - * hash.c (rb_hash_delete_entry): try delete and return Qundef if there - are no corresponding entry. - - * internal.h: add rb_hash_delete_entry()'s declaration. - - * symbol.c: use rb_hash_delete_entry(). - - * thread.c: use rb_hash_delete_entry(). - - * ext/-test-/hash/delete.c: use rb_hash_delete_entry(). - -Wed Dec 24 09:35:11 2014 NAKAMURA Usaku - - * ext/fiddle/extconf.rb: remove ffitarget.h generated by configure on - mswin, because it's not normal file (cygwin's symlink) and have - system attribute. - -Wed Dec 24 05:40:52 2014 NARUSE, Yui - - * tool/downloader.rb: support ruby 1.8. - -Wed Dec 24 02:44:06 2014 NARUSE, Yui - - * lib/net/http/response.rb (Net::HTTPResponse): require one or more - spaces [Bug #10591]. - by leriksen - https://github.com/ruby/ruby/pull/782 fix GH-782 - NOTE: graph.facebook.com returns without SP Reason-Phrase. - -Wed Dec 24 02:12:22 2014 Nobuyoshi Nakada - - * tool/make-snapshot (package): VCS#branch_list expects glob a - pattern string but not a regexp. based on the patch by Vit - Ondruch. in [ruby-core:67064]. [Bug #10636] - - * tool/vcs.rb (VCS::SVN#branch_list): strip newlines. - - * tool/vcs.rb (VCS::GIT.get_revisions): retrieve modified time - from toplevel log too. - - * tool/vcs.rb (VCS::GIT#branch_list): yield for each lines. - -Wed Dec 24 00:23:13 2014 NAKAMURA Usaku - - * tool/extlibs.rb (do_extract): the pipe should be binmode. - -Wed Dec 24 00:21:44 2014 NAKAMURA Usaku - - * Makefile.in, common.mk: move common-srcs to Makefile.in because - it breaks build on mswin. - -Wed Dec 24 00:04:45 2014 NAKAMURA Usaku - - * lib/open-uri.rb (OpenURI.open_http): accept multiple certs path in - ssl_ca_certs. - - * tool/downloader.rb: use certs of rubygems for downloading gems. - -Tue Dec 23 22:39:11 2014 Nobuyoshi Nakada - - * ext/fiddle/extlibs: libffi-3.2.1 and patch for mswin. - -Tue Dec 23 22:04:38 2014 NARUSE, Yui - - * lib/uri/generic.rb (URI::Generic#query=): don't escape [\]^ - on both rfc2396 and rfc3986. [Bug #10619] - -Tue Dec 23 16:03:35 2014 Nobuyoshi Nakada - - * ext/win32/lib/win32/registry.rb (Win32::Registry::Error#initialize): - try en_US message if the default message cannot be encoded to - locale. [ruby-core:65295] [Bug #10300] - -Tue Dec 23 11:42:14 2014 Nobuyoshi Nakada - - * ext/openssl/ossl_cipher.c (ossl_cipher_update_long): update huge - data gradually not to exceed INT_MAX. workaround of OpenSSL API - limitation. [ruby-core:67043] [Bug #10633] - -Mon Dec 22 21:30:16 2014 Masaki Suketa - - * test/win32ole/test_win32ole_event.rb: some tests are - executed on standard Windows OS without ADO. - -Mon Dec 22 14:08:31 2014 Nobuyoshi Nakada - - * signal.c (received_signal): fix condition to define. - [ruby-core:67032] [Bug #10629] - -Sun Dec 21 10:51:51 2014 Masaki Suketa - - * test/win32ole/test_win32ole_event.rb: test_s_new_exception is - executed on standard Windows OS without ADO. - -Sun Dec 21 08:35:26 2014 Nobuyoshi Nakada - - * configure.in (jemalloc): fix option argument, should use - `$withval` but not `yes` always. [ruby-core:66994] [Bug #10625] - - * configure.in (jemalloc): defer adding the liner option to get - rid of linking contest against jemalloc, so that it works - without runtime dynamic load path. - -Sat Dec 20 17:49:03 2014 Tanaka Akira - - * lib/tmpdir.rb (Dir.mktmpdir): Accept nil again, as Ruby 2.1. - [ruby-core:66943] [Bug #10616] Fixed by Alex Slynko. - -Sat Dec 20 11:22:58 2014 Nobuyoshi Nakada - - * ext/fiddle/depend, ext/fiddle/extconf.rb: try to build bundled - libffi if existing. - -Sat Dec 20 05:21:00 2014 Eric Wong - - * test/test_weakref.rb (test_repeated_object_leak): increase timeout - [Bug #10618] - -Fri Dec 19 22:33:13 2014 Tanaka Akira - - * tool/update-deps: Use $(hdrdir) if possible. - -Fri Dec 19 22:10:00 2014 Kenta Murata - - * ext/bigdecimal/depend: Fix dependencies to make bigdecimal - installable by rubygems. - - * ext/bigdecimal/bigdecimal.gemspec: version 1.2.6. - -Fri Dec 19 20:00:19 2014 Nobuyoshi Nakada - - * include/ruby/ruby.h (PRIsVALUE): put a space after string - literals not to be confused with C++11 string literal suffix. - https://github.com/ruby/ruby/commit/a9f3eb7#commitcomment-9040169 - -Fri Dec 19 15:36:02 2014 Simon Genier - - * hash.c (hash_equal): prefer true than the result of implicit - conversion from int returned by rb_eql() to VALUE. [Fix GH-789] - -Thu Dec 18 17:45:26 2014 Nobuyoshi Nakada - - * configure.in (rb_cv_binary_elf): get rid of -e option of cat - which is not available on BusyBox, use tr instead. - [ruby-core:64824] [Bug #10210] - -Thu Dec 18 14:25:17 2014 NAKAMURA Usaku - - * signal.c (ruby_signal): since SIGKILL is not supported by MSVCRT, - should be treated before calling signal(3). - [Bug #10615] - -Wed Dec 17 12:20:56 2014 Nobuyoshi Nakada - - * compile.c (rb_method_for_self_aref, rb_method_for_self_aset): - move from iseq.c to build from node instead of arrays. - -Wed Dec 17 10:50:09 2014 SHIBATA Hiroshi - - * test/gdbm/test_gdbm.rb: Added test for each_key called without a block. - Patch by @joeyates [fix GH-783] - -Wed Dec 17 10:18:42 2014 Koichi Sasada - - * compile.c (iseq_compile_each): check - iseq->compile_data->option->specialized_instruction for opt_* insn. - - * test/ruby/test_iseq.rb: check no specialized_instructions option. - -Wed Dec 17 09:48:57 2014 Eric Wong - - * compile.c (iseq_compile_each): only emit opt_str_freeze, - opt_aref_with, and opt_aset_with insn when no block is given - [Bug #10557] [ruby-core:66595] - * test/ruby/test_optimization.rb (test_block_given_aset_aref): - new test for bug thanks to Bartosz Kopinski. - (test_string_freeze): additional assertion for object_id - -Wed Dec 17 01:06:47 2014 NAKAMURA Usaku - - * ext/win32/lib/Win32API.rb (Win32API#call): need to splat. hmm, when - was this broken? - -Tue Dec 16 15:18:23 2014 Nobuyoshi Nakada - - * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): call - accessor functions directly, not to be affected by [] and []= - methods. [ruby-core:66846] [Bug #10601] - - * struct.c (define_aref_method, define_aset_method): ditto. - - * vm_insnhelper.c (rb_vm_opt_struct_aref, rb_vm_opt_struct_aset): - direct accessors of Struct. - -Tue Dec 16 12:01:29 2014 Koichi Sasada - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): - extend timeout seconds to 60 for RGENGC_CHECK_MODE > 0 environment. - -Tue Dec 16 08:53:12 2014 Eric Wong - - * tool/vcs.rb: fix Ruby 1.8 compatibility harder - -Tue Dec 16 07:37:18 2014 Eric Wong - - * gc.c (GC_HEAP_FREE_SLOTS): move definition to match use order - (RUBY_GC_HEAP_GROWTH_SLOTS): s/factor/number of slots/ - - * man/ruby.1: add section for GC environment variables - [Feature #10197] - -Tue Dec 16 05:41:46 2014 Eric Wong - - * tool/vcs.rb: fix Ruby 1.8 compatibility - -Mon Dec 15 17:51:28 2014 Koichi Sasada - - * ext/objspace/objspace.c: ObjectSpace.memsize_of(obj) returns - with sizeof(RVALUE). [Bug #8984] - - * gc.c (obj_memsize_of): ditto. - - * NEWS: add a NEWS entry. - - * test/objspace/test_objspace.rb: catch up this fix. - - * test/ruby/test_file_exhaustive.rb: ditto. - -Mon Dec 15 16:19:23 2014 Nobuyoshi Nakada - - * string.c (rb_enc_str_coderange): dummy wchar, non-endianness - encoding string cannot be ascii only. - [ruby-core:66835] [Bug #10598] - -Sun Dec 14 20:11:42 2014 Nobuyoshi Nakada - - * parse.y (primary): restore current_arg so that circular - reference after a method definition is also warned. - [ruby-core:61299] [Bug #9593] - -Sat Dec 13 20:41:55 2014 Nobuyoshi Nakada - - * vm_trace.c (rb_postponed_job_flush): mask signal trap interrupt - too to defer handling after finalizers finished. - [ruby-core:66825] [Bug #10595] - -Sat Dec 13 18:33:25 2014 SHIBATA Hiroshi - - * test/openssl/test_pkey_ec.rb: ignored tests with old OpenSSL. - -Sat Dec 13 18:01:57 2014 Nobuyoshi Nakada - - * signal.c (check_stack_overflow): check sp also on i386/x86_64 - FreeBSD. - -Sat Dec 13 09:58:41 2014 Eric Wong - - * gc.c (define_final0): avoid duplicate blocks - [Bug #10537] - * test/test_weakref.rb (test_repeated_object_leak): new test - -Sat Dec 13 04:59:20 2014 Nobuyoshi Nakada - - * bin/erb (ERB::Main#run): get rid of shadowing outer local - variables. [ruby-core:65772] [Feature #10395] - -Fri Dec 12 21:56:44 2014 Kouhei Sutou - - * gems/bundled_gems: Upgrade to test-unit 3.0.8. assert_throw and - assert_nothing_thrown in test-unit 3.0.7 were broken by - UncaughtThrowError change introduced in Ruby 2.2.0 - preview2. These assertions in test-unit 3.0.8 work well with - UncaughtThrowError in Ruby 2.2.0 preview2. - -Fri Dec 12 19:48:55 2014 Nobuyoshi Nakada - - * bin/erb (ARGV.switch, ERB::Main#run): allow variables to be set - from the command line. [ruby-core:65772] [Feature #10395] - -Fri Dec 12 19:31:44 2014 Nobuyoshi Nakada - - * lib/erb.rb (ERB#lineno): accessor for line number to eval. - - * lib/erb.rb (ERB#location=): setter of file name and line number. - -Fri Dec 12 13:09:13 2014 Koichi Sasada - - * gc.c (gc_latest_gc_info): return :state field to show current - GC state (none/marking/sweeping). - [Feature #10590] - -Fri Dec 12 10:49:18 2014 Nobuyoshi Nakada - - * string.c (rb_str_crypt): check arguments more strictly. - * crypt() is not for wide char strings - * salt bytes should not be NUL - -Fri Dec 12 08:16:01 2014 Matt Hoyle - - * io.c (io_read) Fix spelling in docco for read. [Fix GH-781] - try > tries - -Thu Dec 11 19:06:01 2014 Koichi Sasada - - * class.c (class_alloc): Start from age == 2. - Class and Module objects can be living long life. - - * iseq.c: Same for ISeq objects. - - * gc.c (RVALUE_AGE_RESET): added. - - * gc.c (newobj_of): allow to generate (age != 0) objects. - - * gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected - objects. - - * include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended - flag. - -Thu Dec 11 05:37:52 2014 Marc-Andre Lafortune - - * lib/prime.rb: Remove useless loop and block capture. - See [#10354] - -Thu Dec 11 04:27:24 2014 Koichi Sasada - - * vm_core.h: introduce new field - rb_thread_t::local_storage_recursive_hash_for_trace to store - recursive hash to avoid creating new recursive (nested) hashes - for each trace events. - [Bug #10511] - - * vm_trace.c (rb_threadptr_exec_event_hooks_orig): use it. - - * cont.c: catch up this fix. - - * vm.c (rb_thread_mark): ditto. - -Wed Dec 10 13:39:27 2014 Nobuyoshi Nakada - - * struct.c (define_aref_method, define_aset_method): use iseq - VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD - makes sense only for local variables. [Feature #10575] - -Wed Dec 10 09:38:40 2014 Nobuyoshi Nakada - - * thread.c (exec_recursive): use the same last method name as - recursive_push in the error message when recursive_pop failed. - [ruby-core:66742] [Bug #10579] - -Wed Dec 10 02:48:46 2014 NAKAMURA Usaku - - * test/net/http/test_https.rb - (TestNetHTTPS#test_certificate_verify_failure): on Windows, - Errno::ECONNRESET will be raised when the verify is failure at the - client side, and it'll be eaten by WEBrick. - - * test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure): - ditto. - -Wed Dec 10 00:42:13 2014 Eric Wong - - * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): - new methods to generate bytecode for struct.c - [Feature #10575] - * struct.c (rb_struct_ref, rb_struct_set): remove - (define_aref_method, define_aset_method): new functions - (setup_struct): use new functions - * test/ruby/test_struct.rb: add test for struct >10 members - * benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark - * benchmark/bm_vm2_struct_big_aref_lo.rb: ditto - * benchmark/bm_vm2_struct_big_aset.rb: ditto - * benchmark/bm_vm2_struct_small_aref.rb: ditto - * benchmark/bm_vm2_struct_small_aset.rb: ditto - -Tue Dec 9 20:24:41 2014 SHIBATA Hiroshi - - * string.c: [DOC] Add missing documentation around String#chomp. - Patch by @stderr [ci skip][fix GH-780] - -Tue Dec 9 18:20:02 2014 Nobuyoshi Nakada - - * object.c: [DOC] Revise documentation by Marcus Stollsteimer at - [ruby-core:66368]. [Bug #10526] - - * #inspect: be more specific about generated string, remove - obsolete example. - * #nil?: use code examples instead of different call-seq's. - * #tap: clarify what is yielded. - * Integer(): be more specific about to_int and to_i, remove - reference to Ruby 1.8. - * Array(): fix error. - * Class: fix variable name style and indentation in example. - * improve consistency, fix typos and formatting. - -Tue Dec 9 12:48:32 2014 Josef Simanek - - * vm_eval.c (rb_eval_string_wrap): [DOC] Fix `rb_eval_string_wrap` - documentation. It is referencing `require` instead of `load`. - The former does not have the optional argument. [Fix GH-779] - -Tue Dec 9 10:16:24 2014 Nobuyoshi Nakada - - * eval.c (rb_frame_last_func): return the most recent frame method - name. - - * thread.c (recursive_list_access): use the last method name, - instead of the current method name which can be unset in some - cases, not to use a symbol by the invalid ID. - [ruby-core:66742] [Bug #10579] - -Sun Dec 7 19:36:12 2014 Kazuki Tsujimoto - - * ext/socket/basicsocket.c, ext/socket/sockssocket.c: - remove code for $SAFE=4. - -Sun Dec 7 10:20:55 2014 Eric Hodel - - * lib/rdoc: Update to RDoc 4.2.0. - * test/rdoc: ditto. - -Sun Dec 7 09:52:30 2014 Eric Hodel - - * lib/rubygems: Update to RubyGems 2.4.5. - * test/rubygems: ditto. - -Sat Dec 6 10:05:08 2014 Shugo Maeda - - * lib/net/imap.rb: Fix undefined variable usage & refactor/DRY - code. Patch by @aledovsky. [Fixes GH-770] - - * test/net/test_imap.rb: related test. - -Sat Dec 6 10:09:44 2014 Eric Wong - - * thread.c (do_select): rename parameters to avoid shadowing - -Sat Dec 6 09:22:45 2014 SHIBATA Hiroshi - - * lib/rake: Update to rake 10.4.2 - * test/rake: ditto. - -Sat Dec 6 06:48:03 2014 Eric Wong - - * compile.c (rb_iseq_build_from_ary): remove misc handling - -Sat Dec 6 06:14:23 2014 Vit Ondruch - - * configure.in (RUBY_LIB_VERSION): Fix --with-ruby-version - configuration option. get rid of quoting in config.status. - - * template/verconf.h.tmpl: quote RUBY_LIB_VERSION here. - [ruby-core:66724] [Bug #10572] - -Sat Dec 6 04:33:52 2014 NAKAMURA Usaku - - * lib/pp.rb (File::Stat#pretty_print): some platforms (such as Windows) - does not have major/minor parts of device. - -Fri Dec 5 22:43:04 2014 SHIBATA Hiroshi - - * ext/psych/lib/psych.rb: bump version to 2.0.8 - * ext/psych/psych.gemspec: ditto. - * ext/psych/psych_emitter.c: ditto. - * ext/psych/psych_parser.c: ditto. - -Fri Dec 5 17:09:09 2014 Nobuyoshi Nakada - - * ext/socket/option.c (inet_ntop): link aliased inet_ntop in - libruby on mswin not rb_w32_inet_ntop which fails to link for - unknown reason. - -Fri Dec 5 11:09:54 2014 Eric Wong - - * iseq.c (prepare_iseq_build): remove unused block_opt param - (rb_iseq_new_with_bopt_and_opt): remove - (rb_iseq_new_with_opt): inline removed function - (rb_iseq_new_with_bopt): remove - (iseq_load): adjust prepare_iseq_build call - [Feature #10565] - -Fri Dec 5 09:46:05 2014 Nobuyoshi Nakada - - * parse.y (parser_yylex): fix lex_state after tLABEL_END, should - be EXPR_LABELARG to be followed by "paren with arg". - [ruby-core:66705] [Feature #4935] - -Fri Dec 5 02:27:47 2014 Nobuyoshi Nakada - - * ext/extmk.rb: as all extension objects including initializations - of ext and enc should be linked to libruby if enable-shared, - EXTOBJS should not be linked to main programs. - [ruby-core:66675] [Bug #10566] - -Thu Dec 4 07:06:02 2014 Eric Wong - - * compile.c (rb_iseq_build_from_exception): entry->sp is unsigned - (iseq_build_callinfo_from_hash): account for kw_arg - (iseq_build_from_ary_body): update for r35459 - (CHECK_STRING, CHECK_INTEGER): remove unused checks - (int_param): new function for checking new `params' hash - (iseq_build_kw): new function for loading rb_iseq_param_keyword - (rb_iseq_build_from_ary): account for `misc' entry and general - structure changes - [Feature #8543] - * iseq.c (CHECK_HASH): new macro (for `misc' and `param' entries) - (iseq_load): account for `misc' and `params' hashes - (iseq_data_to_ary): add final opt to arg_opt_labels, - fix kw support, account for unsigned entry->sp - * ext/-test-/iseq_load/iseq_load.c: new ext for test - * ext/-test-/iseq_load/extconf.rb: ditto - * test/-ext-/iseq_load/test_iseq_load.rb: new test - -Thu Dec 4 06:56:57 2014 Eric Wong - - * iseq.c (iseq_free): avoid segfault on incomplete iseq - * test/ruby/test_syntax.rb (test_invalid_next): new test - for syntax error, not segfault - -Thu Dec 4 04:20:34 2014 Nobuyoshi Nakada - - * load.c (ruby_require_internal): ignore error detail, just return - an error. - -Wed Dec 3 17:13:24 2014 Nobuyoshi Nakada - - * encoding.c (load_encoding): use rb_require_internal instead of - calling rb_require_safe with protection. - -Wed Dec 3 16:47:35 2014 Nobuyoshi Nakada - - * load.c (register_init_ext, ruby_init_ext): defer running the - registered initialization function until required, not to enable - extensions which have global effects just by loading, e.g., - mathn/complex and mathn/rational. fix `make test` with - --with-static-linked-ext. - - * enc/encinit.c.erb (Init_enc): initialize encdb and transdb - directly. - -Wed Dec 3 14:51:26 2014 Nobuyoshi Nakada - - * load.c (ruby_require_internal): separate from rb_require_safe, - not to raise exceptions. - - * ruby.c (process_options): remove unnatural encoding search. - -Wed Dec 3 14:34:07 2014 Nobuyoshi Nakada - - * string.c (setup_fake_str): fake string does not share another - string, but just should not free. - -Wed Dec 3 11:14:14 2014 NAKAMURA Usaku - - * win32/win32.c (w32_spawn): `v2` is used not only for `shell` but also - `cmd`, so must not free before using `cmd`. - [ruby-core:66648] [Bug #10563] - -Wed Dec 3 09:48:57 2014 Nobuyoshi Nakada - - * ext/racc/cparse/cparse.c (cparse_params_type): use typed data. - -Tue Dec 2 21:33:56 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: use typed data for com_hash. - -Tue Dec 2 15:30:30 2014 Martin Duerst - - * array.c (rb_ary_plus): in documentation, added note about - inefficiency of repeated += operations. - -Tue Dec 2 07:20:21 2014 Eric Wong - - * iseq.c (iseq_data_to_ary): keep hidden variables - Thanks to wanabe [ruby-core:66566] - -Tue Dec 2 06:46:57 2014 Aaron Patterson - - * ext/psych/lib/psych.rb: bumping version - - * ext/psych/psych.gemspec: ditto - -Tue Dec 2 06:34:08 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/to_ruby.rb: support objects that are - marshalable, but inherit from basic object. - Thanks Sean Griffin - - * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto - - * test/psych/test_marshalable.rb: test for fix - -Tue Dec 2 06:32:02 2014 Nobuyoshi Nakada - - * parse.y (ripper_flush_string_content): preserve the dispatched - results at tSTRING_CONTENT. [ruby-dev:48714] [Bug #10437] - - * parse.y (regexp_contents): check in ripper only if the whole - content is a single regexp without interpolation. - [ruby-dev:48714] [Bug #10437] - -Tue Dec 2 06:30:55 2014 Nobuyoshi Nakada - - * re.c (rb_reg_region_copy): new function to try with GC if copy - failed and return the error. - -Tue Dec 2 04:43:08 2014 Nobuyoshi Nakada - - * re.c (CHECK_REGION_COPIED): onig_region_copy() can fail when - memory exhausted but returns nothing, so check by if allocated. - -Tue Dec 2 02:53:00 2014 Nobuyoshi Nakada - - * parse.y (magic_comment_encoding): enable in ripper, since the - encoding is necessary to parse non-default encoding scripts. - -Tue Dec 2 02:30:25 2014 NARUSE, Yui - - * lib/uri/generic.rb (URI::Generic.build): - use hostname= to detect and wrap IPv6 hosts. - Build is accepting URI components and users may not expect - that a host component needs to be wrapped with square brackets - since it's not providing a URI. - Note: initialize with arg_check => true does not wrap IPv6 hosts. - by Joe Rafaniello - https://github.com/ruby/ruby/pull/765 fix GH-765 - - * test/uri/test_generic.rb: Add more tests - -Mon Dec 1 20:01:12 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: use typed data for WIN32OLE. - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_event.c: ditto. - -Mon Dec 1 17:20:42 2014 Nobuyoshi Nakada - - * win32/Makefile.sub (verconf.h): so depends on verconf.mk, which - is rebuilt by setup.mak. - -Mon Dec 1 11:05:46 2014 SHIBATA Hiroshi - - * proc.c: fix grammar by @BenMorganIO [fix GH-764][ci skip] - -Mon Dec 1 10:49:53 2014 SHIBATA Hiroshi - - * man/rake.1: Update latest man content by @aledovsky - [fix GH-771][ci skip] - -Mon Dec 1 10:42:31 2014 SHIBATA Hiroshi - - * doc/syntax/refinements.rdoc: refinements are no longer experimental. - patch by @gaurish [fix GH-775][ci skip] - -Sun Nov 30 20:05:55 2014 Nobuyoshi Nakada - - * parse.y (regexp_contents): fix a typo. pointed out by wanabe. - [ruby-dev:48741] [Bug #10543] - -Sun Nov 30 18:55:32 2014 Tanaka Akira - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): - Don't raise Interrupt. - -Sun Nov 30 17:11:05 2014 Tanaka Akira - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): Use - assert_separately. - -Sun Nov 30 00:02:52 2014 Nobuyoshi Nakada - - * ruby.c (process_options, ruby_script): transcode script name and - program name to locale encoding as well as argv. - [ruby-dev:48752] [Bug #10555] - - * ruby.c (translit_char_bin): should not use code page dependent - CharNext on UTF-8 string. [ruby-dev:48752] [Bug #10555] - -Sat Nov 29 16:53:14 2014 Nobuyoshi Nakada - - * ruby.c (ruby_set_argv): convert argv from UTF-8. - - * win32/win32.c (rb_w32_sysinit, cmdglob, w32_cmdvector): convert - wide char command line to UTF-8 argv, and glob in UTF-8 so that - metacharacters would match multibyte characters. - [ruby-dev:48752] [Bug #10555] - -Sat Nov 29 10:49:23 2014 Nobuyoshi Nakada - - * win32/win32.c (win32_direct_conv, rb_w32_readdir): convert UTF-8 - and filesystem code page by using Win32 API directly. - -Sat Nov 29 09:37:10 2014 Nobuyoshi Nakada - - * error.c (syserr_initialize): simplify message building and get - rid of potential invalid byte sequence. - -Sat Nov 29 06:09:44 2014 NAKAMURA Usaku - - * eval_error.c (error_print): respect the encoding of the message. - - * io.c (rb_write_error_str): use rb_w32_write_console() on Windows - if stderr is a tty. - -Fri Nov 28 05:10:23 2014 Nobuyoshi Nakada - - * configure.in (--with-setup): add option to select ext/Setup file. - -Fri Nov 28 05:02:29 2014 Nobuyoshi Nakada - - * dmyenc.c (Init_enc): separate from dmyext.c for statically - linked extension excluding encoding libraries. - -Thu Nov 27 21:58:30 2014 Tanaka Akira - - * common.mk (miniprelude.c): It does not depend on prelude.rb now. - -Thu Nov 27 21:49:49 2014 Tanaka Akira - - * tool/update-deps: List up files built always in the source directory - and source files built always in the build directory. - -Thu Nov 27 21:24:55 2014 Kazuhiro NISHIYAMA - - * NEWS: add obsolete callcc. - -Thu Nov 27 19:59:49 2014 Koichi Sasada - - * compile.c (iseq_compile_each): remove duplicated line event. - [Bug #10449] - - * test/ruby/test_settracefunc.rb: add and fix tests. - -Thu Nov 27 19:04:50 2014 Koichi Sasada - - * vm_args.c: fix backtrace location for keyword related exceptions. - - For example, the following program - def foo(k1: 1); end # line 1 - foo(k2: 2) # line 2 - causes "unknown keyword: k2 (ArgumentError)". - - Before this patch, the backtrace location is only line 2. - However, error should be located at line 1 (over line 2 in - stack trace). This patch fix this problem. - - * class.c (rb_keyword_error_new): separate exception creation logic - from rb_keyword_error(), to use in vm_args.c. - - * vm_insnhelper.c (rb_arg_error_new): rename to rb_arity_error_new(). - - * vm_args.c (argument_arity_error): rename to argument_arity_error(). - - * vm_args.c (argument_kw_error): added to fix backtrace. - - * test/ruby/test_keyword.rb: add tests. - -Thu Nov 27 17:31:58 2014 Nobuyoshi Nakada - - * common.mk (prelude.c): no longer depends on miniruby, since not - depending on rbconfig.rb. - -Thu Nov 27 17:12:14 2014 Nobuyoshi Nakada - - * common.mk (miniprelude.c): miniruby needs no preludes. - -Thu Nov 27 17:10:19 2014 Nobuyoshi Nakada - - * template/prelude.c.tmpl: no code if no prelude code is given. - -Thu Nov 27 13:11:00 2014 Koichi Sasada - - * gc.c (objspace_malloc_increase): enable lazy sweep on GC by malloc() - (malloc_increase) to make GC incrementally. - - This change can increase memory consumption. Report us if you find - any problem. - -Thu Nov 27 12:46:38 2014 Tanaka Akira - - * time.c (time_s_mkutc): [DOC] Time.utc's 10 arguments form - doesn't examine wday, yday, isdst and tz. - (time_s_mktime): [DOC] Time.mktime's 10 arguments form - doesn't examine wday, yday and tz. - Suggested by naruse. - -Thu Nov 27 11:45:33 2014 Eric Wong - - * iseq.c (iseq_data_to_ary): add missing GC guard - -Thu Nov 27 10:51:59 2014 Koichi Sasada - - * vm_core.h: add rb_thread_t::local_storage_recursive_hash - to speed up Thread#[:__recursive_key__] access. - [Bug #10511] - - * thread.c (threadptr_local_aref): add fast path for - :__recursive_data__. - - * thread.c (threadptr_recursive_hash, threadptr_recursive_hash_set): - add special accessor for recursive hash. - - * cont.c: store/restore local_storage_recursive_hash. - - * vm.c: init and mark local_storage_recursive_hash. - - * vm_trace.c (rb_threadptr_exec_event_hooks_orig): clear and restore - local_storage_recursive_hash directly. - -Thu Nov 27 07:11:00 2014 Eric Wong - - * compile.c (iseq_calc_param_size): hoist out of iseq_set_arguments - -Wed Nov 26 22:28:12 2014 Nobuyoshi Nakada - - * include/ruby/ruby.h (rb_get_kwargs, rb_extract_keywords): export - keyword argument functions. - -Wed Nov 26 21:18:40 2014 SHIBATA Hiroshi - - * test/inlinetest.rb: removed unused test helper. - -Wed Nov 26 20:47:28 2014 Masaya Tarui - - * ext/continuation/continuation.c (Init_continuation): obsolete callcc. - first step of [Feature #10548]. - -Wed Nov 26 19:57:54 2014 Koichi Sasada - - * test/ruby/test_gc.rb (test_latest_gc_info): do test separately - to avoid mysterious behavior. - -Wed Nov 26 19:54:31 2014 Nobuyoshi Nakada - - * win32/win32.c (constat_reset): do nothing on non-standard - console emulators. [ruby-core:66471] [Bug #10546] - -Wed Nov 26 19:44:13 2014 Tanaka Akira - - * lib/tsort.rb: Returns an enumerator if no block is given. - [ruby-core:66270] [Feature #10508] Proposed by Andrey Savchenko. - -Wed Nov 26 17:25:45 2014 Nobuyoshi Nakada - - * parse.y (f_label, f_kw, formal_argument_gen): ignore invalid - formal argument in keyword argument definition. - [ruby-dev:48742] [Bug #10545] - -Wed Nov 26 15:32:06 2014 Koichi Sasada - - * compile.c (iseq_set_sequence): use "nop" insn instead of - "jump to next insn". - https://bugs.ruby-lang.org/issues/8543#change-50085 - -Wed Nov 26 11:01:35 2014 Eric Wong - - * iseq.c (iseq_s_compile_file): close IO when done - -Wed Nov 26 06:06:23 2014 Tanaka Akira - - * common.mk: encdb.h and transdb.h depends on $(PREP). - So prebuild files for them in tarball are useless. - -Wed Nov 26 02:08:44 2014 Tanaka Akira - - * tool/make-snapshot: Don't generate enc/trans/newline.c in tarball. - -Wed Nov 26 00:41:44 2014 Tanaka Akira - - * common.mk (prereq): Don't depends on prelude.c and golf_prelude.c. - Since they depend on $(PREP) which is miniruby, they are rebuilt - after miniruby is built, even if tarball contains them. - -Wed Nov 26 00:20:48 2014 Tanaka Akira - - * template/prelude.c.tmpl: Don't expand RbConfig::Config[...]. - It is not used now. - - * common.mk: prelude.c and golf_prelude.c doesn't depend on rbconfig. - -Tue Nov 25 17:07:06 2014 Koichi Sasada - - * NEWS: add an "Implementation changes" section. - -Tue Nov 25 16:09:28 2014 Eric Hodel - - * lib/net/http.rb: Do not attempt SSL session resumption when the - session is expired. [Bug #10533] - -Tue Nov 25 15:59:46 2014 Eric Hodel - - * lib/rake: Update to rake 10.4.0 - * test/rake: ditto. - * NEWS: ditto. - - * test/lib/minitest/unit.rb: Add compatibility shim for minitest 5. - This only provides minitest 5 unit test naming compatibility. - -Tue Nov 25 15:26:33 2014 Nobuyoshi Nakada - - * tool/vcs.rb (get_revisions): use Time.new instead of Time.mktime - which does not accept UTC offset, and offset manually for older - versions than 1.9. - -Tue Nov 25 12:14:43 2014 Nobuyoshi Nakada - - * process.c (Init_process): initialize static IDs before constant - definitions. [ruby-core:66445] - -Tue Nov 25 10:32:23 2014 Eric Wong - - * compile.c (iseq_build_callinfo_from_hash): hoist out - (iseq_build_from_ary_body): shorten callinfo case - -Mon Nov 24 23:03:21 2014 Kouhei Sutou - - * gems/bundled_gems: Update to test-unit 3.0.7. - -Mon Nov 24 12:44:35 2014 Nobuyoshi Nakada - - * process.c (check_exec_redirect_fd, check_exec_redirect), - (rb_execarg_addopt): get rid of inadvertent ID pindown. - -Mon Nov 24 02:03:40 2014 Nobuyoshi Nakada - - * string.c (rb_str_setter): preserve encoding of global variable - name in error message. - -Mon Nov 24 02:03:30 2014 Nobuyoshi Nakada - - * iseq.c (rb_insn_operand_intern): preserve encoding of method - name in CALL_INFO at disassembling. - -Mon Nov 24 02:02:59 2014 Nobuyoshi Nakada - - * io.c (must_respond_to): preserve encodings of variable name and - class name in warning message. - -Sun Nov 23 10:46:23 2014 Eric Wong - - * internal.h (struct rb_execarg): 160 => 144 bytes on x86-64 - * ruby.c (struct load_file_arg): 48 => 40 bytes on x86-64 - * vm_args.c (struct args_info): ditto - -Sun Nov 23 07:46:54 2014 Andy Maloney - - * io.c (rb_io_sysread): Remove redundant assignment of 'n'. - [Fix GH-767] - -Sat Nov 22 09:48:33 2014 Tanaka Akira - - * tool/make-snapshot: Specify PWD macro for make. - PWD environment variable may not exist. - -Fri Nov 21 11:58:58 2014 Aaron Patterson - - * lib/resolv.rb: fall back if canonicalization fails. - Thanks Vit Ondruch for the patch! [ruby-core:65836] - - * test/resolv/test_dns.rb: test for patch - -Sat Nov 22 01:11:53 2014 Nobuyoshi Nakada - - * object.c (rb_mod_const_get, rb_mod_const_defined): ditto. - - * variable.c (rb_const_missing, rb_mod_const_missing): call - const_missing without new ID to get rid of inadvertent ID - creation. - -Fri Nov 21 19:32:57 2014 NARUSE, Yui - - * common.mk (ext/ripper/ripper.c): revert about srcdir and top_srcdir. - - * common.mk (ext/ripper/ripper.c): use $(PWD) for Unix, - $(MAKEDIR) for Windows. - -Fri Nov 21 18:12:37 2014 Tanaka Akira - - * tool/update-deps: Refactored. - -Fri Nov 21 14:25:40 2014 NAKAMURA Usaku - - * win32/Makefile.sub (top_srcdir): added because lacking this macro - causes build error at r48526. - -Fri Nov 21 12:00:58 2014 Tanaka Akira - - * tool/update-deps (in_makefile): Use FILES_NEED_VPATH and - FILES_CONFUSING. - - * ext/objspace/extconf.rb: Add VPATH for id.h - -Fri Nov 21 09:10:23 2014 Nobuyoshi Nakada - - * common.mk (ext/ripper/ripper.c): fix dependencies for the case - to make ripper.y and id.h under the build directory. - -Fri Nov 21 08:42:21 2014 NARUSE, Yui - - * common.mk (ext/ripper/ripper.c): id.h in VPATH may exist in the build - directory. - - * common.mk (ext/ripper/ripper.c): $(RM) was not defined. - -Fri Nov 21 00:36:09 2014 NAKAMURA Usaku - - * ext/openssl/lib/openssl/x509.rb - (OpenSSL::X509::Name::RFC2253DN::StringChar): get rid of a false - positive assertion in ripper's test. - -Fri Nov 21 00:29:51 2014 NAKAMURA Usaku - - * lib/net/imap.rb (Net::IMAP::ResponseParser::BEG_REGEXP): no need to - use embed string. - -Fri Nov 21 00:19:17 2014 NAKAMURA Usaku - - * lib/uri/mailto.rb (URI::MailTo::EMAIL_REGEXP): should escape `#`. - -Thu Nov 20 23:17:11 2014 Tanaka Akira - - * tool/update-deps: Insert all dependencies found by compiler. - -Thu Nov 20 15:51:01 2014 NARUSE, Yui - - * ext/nkf/depend (nkf.o): add nkf.c as dependency. - bsdmake tries to make nkf.o with nkf-utf8/nkf.c without this. - -Thu Nov 20 08:54:56 2014 Nobuyoshi Nakada - - * parse.y (struct parser_params): reduce size by reordering - members and an unused member. - -Thu Nov 20 02:44:27 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Vector#independent? and associated class method - patch by gogo tanaka [#10451] - -Thu Nov 20 02:32:34 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add Vector#angle_with - Patch by Egunov Dmitriy [#10442] - -Thu Nov 20 02:10:31 2014 Nobuyoshi Nakada - - * parse.y (ripper_flush_string_content, parser_parse_string): - preserve parsed string content. [ruby-dev:48714] [Bug #10437] - - * parse.y (ripper_new_yylval): abstract function to create ripper - wrapper, and make it able to hold another object. - -Thu Nov 20 01:00:59 2014 Nobuyoshi Nakada - - * parse.y (reg_named_capture_assign_gen): use predefined ID - instead of rb_intern. - -Thu Nov 20 00:54:57 2014 Tanaka Akira - - * internal.h (ruby_init_setproctitle): Declare here. - -Thu Nov 20 00:26:37 2014 Nobuyoshi Nakada - - * parse.y (parser_here_document): append byte sequence directly to - the delayed content instead of creating an intermediate string - object. - -Wed Nov 19 21:11:01 2014 NARUSE, Yui - - * common.mk (ext/json/parser/parser.c): don't touch parse.c, - ruby repo is a downstream. - -Wed Nov 19 20:38:11 2014 NARUSE, Yui - - * common.mk (ext/ripper/ripper.c): use $(PWD) to get - /ext/ripper. - -Wed Nov 19 18:12:17 2014 NARUSE, Yui - - * tool/downloader.rb (RubyGems.download): Don't download gem if the - version is already downloaded. A gem file is versioned and - it must be identical if the version is the same. - -Wed Nov 19 17:59:25 2014 NARUSE, Yui - - * common.mk (ext/ripper/ripper.c): pass build directory as VPATH. - - * ext/ripper/depend (.y.c): use VPATH for y.tab.c. - -Wed Nov 19 10:07:57 2014 Nobuyoshi Nakada - - * template/prelude.c.tmpl (Prelude#translate): strip VPATH prefix - from prelude names, so that srcdir differences do not make the - generated code different. - -Wed Nov 19 07:45:11 2014 NAKAMURA Usaku - - * win32/win32.c (rb_w32_write): should set the error of - GetOverlappedResult()'s, not WriteFile()'s (it's always - ERROR_IO_PENDING, of course). - -Tue Nov 18 14:16:47 2014 Koichi Sasada - - * gc.c (gc_record): add information for debug print. - -Wed Nov 19 04:49:07 2014 NAKAMURA Usaku - - * debug.c (set_debug_option): need the declaration. - - * debug.c (set_debug_option): use the same macro with the implementation - at win32/win32.c. - -Wed Nov 19 04:16:24 2014 Nobuyoshi Nakada - - * parse.y (symbol_list): fix the node type of literal symbol list - with no interpolation. [ruby-core:66343] - -Wed Nov 19 00:26:15 2014 Tanaka Akira - - * tool/update-deps: Sort dependencies. - -Wed Nov 19 00:24:18 2014 Tanaka Akira - - * enc/encdb.c: Include internal.h. - -Tue Nov 18 23:23:45 2014 Tanaka Akira - - * internal.h: Gather declarations in non-header files. - -Tue Nov 18 23:45:52 2014 Tanaka Akira - - * debug.c (SET_WHEN): Don't declare debug variables here. - ruby_initial_gc_stress_ptr is changed int* to VALUE* at r41406. - - * internal.h (ruby_initial_gc_stress_ptr): Declared. - (ruby_enable_coredump): Ditto. - -Tue Nov 18 18:06:43 2014 Tanaka Akira - - * include/ruby/io.h (FMODE_WSPLIT): Removed. The write() system call - is not required to split. It was useful to avoid whole process - blocking in Ruby 1.8 but not useful since write() is invoked without - GVL. - (FMODE_WSPLIT_INITIALIZED): Ditto. - - * io.c (wsplit_p): Removed. - (io_writable_length): Removed. - (rb_fcntl): Don't update the removed flags. - -Tue Nov 18 03:23:06 2014 Nobuyoshi Nakada - - * object.c (check_setter_id): show the original argument instead - of nil on TypeError. - -Tue Nov 18 03:20:19 2014 Nobuyoshi Nakada - - * symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym): - fix ID type names. - -Mon Nov 17 20:17:59 2014 Masaki Suketa - - * ext/win32ole/win32ole_event.c: use typed data. - -Mon Nov 17 12:54:56 2014 SHIBATA Hiroshi - - * lib/rubygems/*, test/rubygems/*: Update to RubyGems 2.4.4 - master (2f6e42e). - -Mon Nov 17 06:13:06 2014 Nobuyoshi Nakada - - * proc.c (proc_binding): use the original iseq on a binding from - proc from method object to get the location. - -Sun Nov 16 19:38:10 2014 Nobuyoshi Nakada - - * vm_eval.c (rb_current_receiver): new function to return the - receiver in the current control frame. [Feature #10195] - -Sun Nov 16 19:11:04 2014 Nobuyoshi Nakada - - * lib/timeout.rb (Timeout::ExitException#exception): rescue - UncaughtThrowError which is specific for throw, instead of - ArgumentError. - -Sun Nov 16 18:22:18 2014 Eric Wong - - * tool/update-deps: warning to disable ccache - -Sun Nov 16 13:11:35 2014 Tanaka Akira - - * common.mk (CCAN_LIST_INCLUDES): Unused variable removed. - (ENCODING_H_INCLUDES): Ditto. - (PROBES_H_INCLUDES): Ditto. - (VM_CORE_H_INCLUDES): Ditto. - -Sun Nov 16 11:07:25 2014 Eric Wong - - * test/ruby/test_io.rb (test_readpartial_locktmp): - remove unnecessary begin/end - -Sun Nov 16 00:45:23 2014 Tanaka Akira - - * common.mk: Specify dependencies for generated C sources. - -Sat Nov 15 23:10:45 2014 Tanaka Akira - - * common.mk: No need to declare dependencies which - will be detected by inference rules. - -Sat Nov 15 20:34:23 2014 Tanaka Akira - - * internal.h: Include ruby.h and ruby/encoding.h to be - includable without prior inclusion. - -Sat Nov 15 20:46:44 2014 Kouhei Sutou - - * test/rexml/test_document.rb - (REXMLTests::TestDocument::EntityExpansionLimitTest): - Group tests by general entity and parameter entity. - -Sat Nov 15 20:43:31 2014 Kouhei Sutou - - * test/rexml/test_document.rb - (REXMLTests::TestDocument::EntityExpansionLimitTest): Define - test XML in each test method because (1) each XML in used only - one test and (2) related data and code should be close. - -Sat Nov 15 20:39:06 2014 Kouhei Sutou - - * test/rexml/test_document.rb - (REXMLTests::TestDocument::EntityExpansionLimitTest): Use - one test method for one test. - -Sat Nov 15 20:16:59 2014 Kouhei Sutou - - * test/rexml/test_document.rb - (REXMLTests::TestDocument::EntityExpansionLimitTest): Use - setup and teardown instead of ensure in test. - -Sat Nov 15 20:11:34 2014 Kouhei Sutou - - * test/rexml/test_document.rb (REXMLTests::TestDocument): Group - entity expansion limit related tests. - -Sat Nov 15 20:09:00 2014 Kouhei Sutou - - * test/rexml/test_document.rb (REXMLTests::TestDocument::BomTest): - Fix wrong parent class. It doesn't need inherit tests in - TestDocument class. - -Sat Nov 15 19:48:59 2014 NAKAMURA Usaku - - * lib/mkmf.rb (depend_rules): support comments during a line. - - * lib/mkmf.rb (depend_rules): apply RULE_SUBST even if the dependency - file contains path. - -Sat Nov 15 19:25:46 2014 Tanaka Akira - - * common.mk: Remove comments in Dependency lines. - Notified by usa. - - * enc/depend: Ditto. - - * ext/**/depend: Ditto. - -Sat Nov 15 16:28:05 2014 Nobuyoshi Nakada - - * vm_eval.c (rb_throw_obj): throw UncaughtThrowError instead of - ArgumentError. [Feature #10480] - -Sat Nov 15 14:13:38 2014 Tanaka Akira - - * tool/update-deps: Extend to fix dependencies. - - * common.mk: Dependencies updated by tool/update-deps. - - * enc/depend: Ditto. - - * ext/**/depend: Ditto. - -Fri Nov 14 17:36:48 2014 Tanaka Akira - - * tool/update-deps: Support GNU Make 4.0. - -Fri Nov 14 16:59:53 2014 Nobuyoshi Nakada - - * gc.c (default_proc_for_compat_func): check arguments number and - type, and get rid of reentering this default proc. - -Fri Nov 14 16:33:06 2014 Koichi Sasada - - * gc.c (gc_stat_internal): support compatible layer for - GC.stat(symbol) type access. - -Fri Nov 14 16:19:08 2014 Koichi Sasada - - * gc.c (gc_stat_internal): add compatible layer. - From Ruby 2.2, keys of GC.stat are changed [Feature #9924]. - To provide compatible layer, GC.stat add a default_proc - (if default_proc of given Hash object is not set). - - At first use of this compatible layer of interpreter process, - show a warning message like that: - program: GC.stat[:total_allocated_object] - warning message: "warning: GC.stat keys were changed from Ruby - 2.1. In this case, you refer to obsolete `total_allocated_object' - (new key is `total_allocated_objects'). - Please check - for more information." - - Please correct my English message :) - - * hash.c (rb_hash_set_default_proc): export (in internal). - - * internal.h: ditto. - -Fri Nov 14 10:41:25 2014 Koichi Sasada - - * gc.c: guard by #if/#endif with GC_ENABLE_INCREMENTAL_MARK - to hide unused codes. - - * gc.c: similar to GC_ENABLE_LAZY_SWEEP. - -Fri Nov 14 10:23:35 2014 Eric Wong - - * vm_eval.c (rb_eval_cmd): use pre-defined idCall - -Fri Nov 14 09:25:44 2014 Eric Wong - - * vm_eval.c (rb_yield_splat): add missing GC guard - [Bug #10509] - -Fri Nov 14 08:12:40 2014 SHIBATA Hiroshi - - * gc.c: fix build error caused by implicit conversion with clang. - -Fri Nov 14 06:54:06 2014 Eric Wong - - * insns.def (opt_succ): remove Time#succ optimization - [Feature #10501] - -Fri Nov 14 05:29:46 2014 Koichi Sasada - - * gc.c: refactoring. - - * gc.c: use GC_ENABLE_INCREMENTAL_MARK instead of USE_RINCGC. - - * gc.c (gc_start): check FORCE_MAJOR_GC. - -Fri Nov 14 04:51:18 2014 Koichi Sasada - - * gc.c: Tuning RincGC parameters. - - Before this patch, gc_marks_step() marks (white -> grey) fixed - number objects. However, this strategy does not fit practical - cases, for example too slow to make progress. - - This patch changes this strategy how many objects the - gc_marks_step() should handle. - - We can estimate how many times gc_marks_step() is called during - this major marking (== C) with the free slot number in pooled - pages. We also can estimate the living object number (== L) - using last marked_slots value. We can solve this problem (how - many objects should be process in gc_marks_step()) by L/C. - - * gc.c (rb_objspace_t): add rb_objspace_t::rincgc::pooled_slots and - step_slots. - -Fri Nov 14 01:26:47 2014 Shugo Maeda - - * lib/net/imap.rb (search_response): parse MODSEQ in SEARCH - responses properly. [ruby-core:64203] [Bug #10112] - -Fri Nov 14 01:03:17 2014 Tanaka Akira - - * test/lib/envutil.rb: Moved from test/ruby/. - - * test/lib/find_executable.rb: Ditto. - - * test/lib/memory_status.rb: Ditto. - - * test/lib/test/unit.rb: require envutil. - - * test/: Don't require envutil in test files. - -Thu Nov 13 21:59:58 2014 CHIKANAGA Tomoyuki - - * lib/rexml/document.rb: add REXML::Document#document. - reported by Tomas Hoger and patched by nahi. - -Thu Nov 13 21:51:56 2014 Tanaka Akira - - * test/monitor/test_monitor.rb: Use assert_join_threads. - -Thu Nov 13 21:45:13 2014 Tanaka Akira - - * test/openssl: Don't specify port number. - -Thu Nov 13 21:22:35 2014 Tanaka Akira - - * test/openssl/ssl_server.rb: Unused file removed. - It is not used since r16111, Ruby 1.9.1. - -Thu Nov 13 18:50:14 2014 Nobuyoshi Nakada - - * eval.c (rb_ensure): remove obsolete prot_tag comment. patch by - Jack Danger at [ruby-core:66238]. [misc #10502] - -Thu Nov 13 18:10:38 2014 Nobuyoshi Nakada - - * vm.c (rb_vm_make_proc_lambda): similar to rb_vm_make_proc() with - is_lambda argument. - -Thu Nov 13 12:11:18 2014 NAKAMURA Usaku - - * win32/win32.c (rb_w32_fstat{,i64}): speed up. adjusting - timestamps in this function is to get rid of the side effect of - ENV["TZ"]. then, if ENV["TZ"] is not set, no need to adjust. - this change makes File#stat about 60% faster. - -Thu Nov 13 11:56:12 2014 Nobuyoshi Nakada - - * st.c: include "internal.h" for STATIC_ASSERT. - -Thu Nov 13 03:56:38 2014 Eric Wong - - * gc.c (struct heap_page): trivial packing - 304 => 296 bytes on x86-64 - -Wed Nov 12 22:50:12 2014 SHIBATA Hiroshi - - * gems/bundled_gems: Update to test-unit 3.0.6 and minitest 5.4.3. - -Wed Nov 12 22:30:52 2014 SHIBATA Hiroshi - - * lib/rubygems/*: Update to RubyGems 2.4.3 master (7b1f684). - -Wed Nov 12 00:26:37 2014 Tanaka Akira - - * test/ruby/test_object.rb: Specify an exception class for rescue clause. - - * test/dbm/test_dbm.rb: Ditto. - - * test/gdbm/test_gdbm.rb: Ditto. - - * test/sdbm/test_sdbm.rb: Ditto. - -Tue Nov 11 23:43:51 2014 Tanaka Akira - - * test/fileutils/test_fileutils.rb: Use assert_join_threads. - -Tue Nov 11 22:51:14 2014 Tanaka Akira - - * test/resolv/test_dns.rb: Use assert_join_threads. - -Tue Nov 11 22:33:08 2014 Tanaka Akira - - * test/net/pop/test_pop.rb: Use assert_join_threads. - -Tue Nov 11 22:07:20 2014 Tanaka Akira - - * test/net/http/test_https_proxy.rb: Use assert_join_threads. - -Tue Nov 11 18:09:11 2014 Nobuyoshi Nakada - - * template/prelude.c.tmpl: move from tool/compile_prelude.rb and - expand by generic_erb.rb. - -Tue Nov 11 13:01:31 2014 NARUSE, Yui - - * lib/rubygems/commands/contents_command.rb (files_in_default_gem): - remove useless sort. show_files will sort the result and - another branch, files_in_gem, doesn't sort. - it should be removed for consistency. - - * test/rubygems/test_gem_commands_contents_command.rb - (test_execute_default_gem): adjust the sort algorithm with - Gem::Commands::ContentsCommand#show_files, which sort items - as array of [prefix, basename] not strings. - -Tue Nov 11 10:37:09 2014 Koichi Sasada - - * string.c (sym_equal): use rb_obj_equal(). - rb_obj_equal() is specially optimized in - opt_eq_func()@vm_insnhelper.c. - - This fix is made from this discussion: - https://www.omniref.com/ruby/2.1.4/symbols/Symbol/%3D%3D#line=8361. - -Tue Nov 11 09:38:55 2014 SHIBATA Hiroshi - - * lib/rdoc/known_classes.rb: reverted regression changes of - rdoc known class. - -Tue Nov 11 00:21:50 2014 Tanaka Akira - - * test/net/imap/test_imap.rb: Don't ignore exceptions on server - threads. - -Mon Nov 10 23:34:13 2014 Tanaka Akira - - * test/net/ftp/test_ftp.rb (create_ftp_server): Don't ignore - exceptions on server thread. - Delete read_timeout method call to fix NoMethodError. - -Mon Nov 10 20:20:53 2014 NAKAMURA Usaku - - * win32/win32.c (rb_w32_read): retry with reduced length if cannot to - write any data but no error occurs. - -Mon Nov 10 20:04:16 2014 Tanaka Akira - - * lib/webrick/server.rb: Setup shutdown pipe in listen method. - -Mon Nov 10 19:37:09 2014 NAKAMURA Usaku - - * win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): new - function to support nonblock-mode of pipes. - - * win32/win32.c (rb_w32_read): nonblock-mode pipe returns ERROR_NO_DATA - if there is no data, but also returns it if remote-end is closed. - - * win32/win32.c (rb_w32_write): if cannot to write any data, it may be - blocking. - - * io.c (rb_io_set_nonblock): use rb_w32_set_nonblock for Windows. - - * ext/io/nonblock/nonblock.c (rb_io_nonblock_set): use ruby's API when - setting nonblock-mode. - - * test/ruby/test_io.rb: test nonblock pipes on Windows. - -Mon Nov 10 17:24:34 2014 Nobuyoshi Nakada - - * ext/etc/etc.c (etc_getlogin): set login name encoding properly. - [ruby-core:66163] [Bug #10493] - -Mon Nov 10 16:20:42 2014 SHIBATA Hiroshi - - * lib/rubygems/*.rb: Update to RubyGems master(3e36528). - -Mon Nov 10 16:09:43 2014 Nobuyoshi Nakada - - * signal.c (rb_f_kill): [DOC] mention known signal list. - [ruby-core:66162] [Bug #10492] - -Mon Nov 10 14:17:58 2014 SHIBATA Hiroshi - - * lib/rdoc/*.rb: Update to RDoc 4.2.0.alpha(579a11c) - -Mon Nov 10 12:44:39 2014 Tanaka Akira - - * lib/webrick/server.rb: Less instance variables. - -Mon Nov 10 12:19:43 2014 Tanaka Akira - - * lib/webrick/server.rb (shutdown): Use close() on @shutdown_pipe_w to - notify readability on the read side of the pipe. - write_nonblock() is not usable for pipe on Windows. - (cleanup_shutdown_pipe): Rescue IOError for @shutdown_pipe_w.close. - -Mon Nov 10 07:31:59 2014 Tanaka Akira - - * lib/webrick/server.rb (initialize): Initialize shutdown pipe here - to avoid race condition. - (cleanup_shutdown_pipe): New private method. - (cleanup_listener): Extracted from shutdown method. - Call this method from start method to avoid race condition. - -Mon Nov 10 05:57:53 2014 Tanaka Akira - - * test/webrick/webrick.cgi: Don't use debug mode. - - * test/webrick/webrick_long_filename.cgi: Ditto. - -Sun Nov 9 23:25:49 2014 Nobuyoshi Nakada - - * vm_eval.c (vm_call_super): allow bound proc method to call super - method. - - * vm_insnhelper.c (vm_yield_with_cfunc): push defined class and - bound proc method entry to the control frame. - -Sun Nov 9 22:46:13 2014 Tanaka Akira - - * test/open-uri: Test server log in server thread. - - * test/webrick: Ditto. - -Sun Nov 9 22:28:34 2014 Tanaka Akira - - * lib/webrick/httpstatus.rb: require webrick/accesslog for AccessLog. - -Sun Nov 9 21:03:59 2014 Tanaka Akira - - * test/webrick: Fix the argument order of assert_equal. - -Sun Nov 9 20:29:01 2014 Tanaka Akira - - * test/webrick: Store log in an array. - - * test/net/http: Ditto. - - * test/open-uri: Ditto. - -Sun Nov 9 18:35:36 2014 Tanaka Akira - - * test/xmlrpc: Refine log test. - -Sun Nov 9 18:33:33 2014 Martin Duerst - - * lib/unicode_normalize/normalize.rb: Replaced if-else by - case in self.normalized? in parallel to r48309. - -Sun Nov 9 18:07:00 2014 Tanaka Akira - - * test/xmlrpc: Use assert_join_threads. - -Sun Nov 9 14:06:13 2014 Tanaka Akira - - * test/xmlrpc: Test webrick error log is empty. - -Sun Nov 9 13:47:02 2014 Koichi Sasada - - * gc.c (is_incremental_marking): use #if/#else because - rb_objspace_t::flags::during_incremental_marking is not defined - when GC_ENABLE_INCREMENTAL_MARK is 0. - - * gc.c (will_be_incremental_marking, is_full_marking): similar fix. - -Sun Nov 9 12:16:22 2014 Nobuyoshi Nakada - - * lib/securerandom.rb (SecureRandom.gen_random): separate - implementation details and select at the load time. - -Sun Nov 9 12:09:38 2014 Nobuyoshi Nakada - - * ext/win32/lib/win32/registry.rb (Win32::Registry::API#Enum{Value,Key): - ditto. - -Sun Nov 9 11:48:40 2014 Tanaka Akira - - * test/net/http: Examine webrick log. - -Sun Nov 9 11:45:19 2014 SHIBATA Hiroshi - - * gems/bundled_gems: upgraded to test-unit 3.0.5. - -Sun Nov 9 11:40:50 2014 Tanaka Akira - - * defs/known_errors.def: More errors for FreeBSD. - -Sun Nov 9 11:25:11 2014 Kazuki Tsujimoto - - * gems/bundled_gems: upgraded to power_assert 0.2.0. - -Sun Nov 9 10:31:03 2014 Nobuyoshi Nakada - - * lib/securerandom.rb: set the script encoding to make a string - literal in SecureRandom::Kernel32.last_error_message single byte - encoding so msg[] works in bytes, since FormatMessage() returns - the size in TCHARs, not in characters. - -Sun Nov 9 09:50:22 2014 Tanaka Akira - - * test/webrick: Refine log tests. - -Sun Nov 9 08:58:05 2014 Tanaka Akira - - * defs/known_errors.def (EHWPOISON): New errno symbol. - It is defined by glibc-2.16. - -Sun Nov 9 05:00:23 2014 NAKAMURA Usaku - - * lib/securerandom.rb (initialize): call the special method for Win32 - before checking `/dev/urandom` because we know windows doesn't have it. - -Sun Nov 9 04:01:46 2014 NAKAMURA Usaku - - * lib/securerandom.rb (SecureRandom::AdvApi32): split from `initialize`. - thanks @zzak to remember it. - -Sun Nov 9 02:05:33 2014 Tanaka Akira - - * test/net/http/utils.rb: Don't connect to spawned server - before actual test. - -Sun Nov 9 01:51:50 2014 Benoit Daloze - - * object.c (Module#const_defined?): [DOC] Revise the documentation. - Patch by Xavier Noria. - [Fixes GH-754] https://github.com/ruby/ruby/pull/754 - -Sun Nov 9 00:37:44 2014 Tanaka Akira - - * test/webrick: Examine log and use assert_join_threads. - -Fri Nov 7 00:00:12 2014 Nobuyoshi Nakada - - * template/unicode_norm_gen.tmpl: expand kompatible_table so that - recursive expansion is not needed at runtime. - -Thu Nov 6 23:58:40 2014 Nobuyoshi Nakada - - * pack.c (pack_pack): escape unprintable characters and preserve - the encoding of warning message. - -Thu Nov 6 23:55:18 2014 Nobuyoshi Nakada - - * string.c (sym_printable): QUOTE() should not raise an exception - even on invalid byte sequence. - -Thu Nov 6 21:44:36 2014 Tanaka Akira - - * test/test_unicode_normalize.rb: Rename TestNormalize to - TestUnicodeNormalize. - Define constants under TestUnicodeNormalize. - -Thu Nov 6 21:22:59 2014 Tanaka Akira - - * test/open-uri/test_open-uri.rb: Check empty webrick log. - -Thu Nov 6 19:27:34 2014 NARUSE, Yui - - * re.c (unescape_nonascii): cast -1 for the case char is unsigned char. - If char is signed char, for example gcc for ARM or ppc64, it caused - infinite loop. - http://kmuto.jp/build-ruby/arm/ruby-trunk/log/20141106T013005Z.fail.html.gz - http://rubyci.blob.core.windows.net/f19p8/ruby-trunk/log/20141106T090217Z.fail.html.gz - -Thu Nov 6 09:53:18 2014 Eric Wong - - * lib/uri/rfc2396_parser.rb (initialize): reduce bytecode size - 2088 => 1332 bytes on 32-bit x86 - -Thu Nov 6 08:49:49 2014 Martin Duerst - - * lib/unicode_normalize/normalize.rb: Comment clarification. - -Wed Nov 5 23:43:24 2014 Naohisa Goto - - * compile.c (compile_data_alloc): add padding when strict alignment - is required for memory access. Currently, the padding is enabled - only when the CPU is 32-bit SPARC and the compiler is GCC. - [Bug #9681] [ruby-core:61715] - - * compile.c (STRICT_ALIGNMENT): defined if strict alignment is required - - * compile.c (ALIGNMENT_SIZE, ALIGNMENT_SIZE_MASK, PADDING_SIZE_MAX): - new macros for alignment word size, bit mask, max size of padding. - - * compile.c (calc_padding): new function to calculate padding size. - -Wed Nov 5 23:24:45 2014 Tanaka Akira - - * test/open-uri/test_open-uri.rb: Don't ignore webrick's log. - -Wed Nov 5 19:20:08 2014 Tanaka Akira - - * lib/webrick/server.rb: Stop listener loop properly. - [ruby-core:66085] [Bug #10478] Fixed by Charles Nutter. - -Wed Nov 5 17:20:29 2014 Nobuyoshi Nakada - - * include/ruby/intern.h (rb_disable_super, rb_enable_super): warn - as deprecated at build time, instead of ignoring silently or - warning at runtime only. - -Wed Nov 5 16:55:52 2014 Nobuyoshi Nakada - - * proc.c (rb_f_lambda): remove deprecated function, which has been - unavailable from extension libraries. - -Wed Nov 5 16:26:58 2014 Nobuyoshi Nakada - - * include/ruby/intern.h (rb_clear_cache): mark as deprecated, not - only warnings at runtime. - -Wed Nov 5 15:05:12 2014 Nobuyoshi Nakada - - * string.c (rb_str_{,l,r}strip_bang): rb_str_subseq() will not - NUL-terminate the result string, in the future, so it will not - be needed in other cases. - -Wed Nov 5 14:11:30 2014 Nobuyoshi Nakada - - * common.mk (lib/unicode_normalize/tables.rb): do nothing unless - BASERUBY is available. MINIRUBY cannot load extension libraries, - so cannot update Unicode data. - -Wed Nov 5 12:13:54 2014 Nobuyoshi Nakada - - * string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by - copying necessary part only. - - * string.c (rb_str_strip_bang, rb_str_strip): ditto. - -Wed Nov 5 12:13:48 2014 Nobuyoshi Nakada - - * string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by - copying necessary part only. - - * string.c (rb_str_strip_bang, rb_str_strip): ditto. - -Wed Nov 5 10:54:19 2014 Nobuyoshi Nakada - - * string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): terminate - wchar strings with wchar 0. - -Tue Nov 4 21:23:22 2014 NAKAMURA Usaku - - * ext/win32/lib/Win32API.rb: Fiddle::Importer is defined in - fiddle/import.rb and it's not loaded implicitly. - - * ext/win32/lib/Win32API.rb (Win32API#initialize): `import` is a string. - - * ext/win32/lib/Win32API.rb (Win32API#initialize): - Fiddle::Importer::CALL_TYPE_TO_ABI is private constant. - -Tue Nov 4 21:20:07 2014 NAKAMURA Usaku - - * lib/securerandom.rb (SecureRandom.random_bytes): use fiddle directly - instead of using Win32API. - -Tue Nov 4 21:04:30 2014 NAKAMURA Usaku - - * test/rubygems/test_gem_request_set_lockfile.rb - (test_relative_path_from): driveletter support. - -Tue Nov 4 16:23:57 2014 Nobuyoshi Nakada - - * test/rubygems/test_gem_remote_fetcher.rb (RemoteFetcherCleanup): - close all pooled connections for each tests to fix leaked file - descriptors. - -Tue Nov 4 12:51:31 2014 Nobuyoshi Nakada - - * include/ruby/ruby.h (PRIsVALUE), vsnprintf.c (BSD_vfprintf): add - RUBY_PRI_VALUE_MARK to reduce danger of accidental conflict with - plain "%i". binary incompatible with extension libraries using - PRIsVALUE and built for 2.1 and earlier. [EXPERIMENTAL] - -Tue Nov 4 12:33:44 2014 SHIBATA Hiroshi - - * object.c: fix document of Kernel#String by @suzukaze - [fix GH-743][ci skip] - -Tue Nov 4 12:21:45 2014 SHIBATA Hiroshi - - * lib/csv.rb: added documentation for skip_blanks option by @decasia - [fix GH-744][ci skip] - -Tue Nov 4 12:09:18 2014 SHIBATA Hiroshi - - * lib/open3.rb: fix code formatting in documentation by @JoshCheek - [fix GH-747][ci skip] - -Tue Nov 4 08:57:37 2014 Eric Wong - - * encoding.c (enc_memsize): remove unnecessary function - [ruby-core:65304] - -Mon Nov 3 18:09:39 2014 Tanaka Akira - - * test/openssl/utils.rb: The default of :ignore_listener_error is - changed to false. - -Mon Nov 3 14:42:37 2014 Koichi Sasada - - * iseq.c (iseq_free): resolve memory leak. - -Mon Nov 3 13:49:18 2014 Koichi Sasada - - * iseq.c (iseq_memsize): catch up recent changes. - -Mon Nov 3 13:38:28 2014 Koichi Sasada - - * vm_core.h: change semantics of opt_num and opt_table. - `opt_num' was the number of optional parameters + 1. - `opt_table' has "opt_num" entries. - - Change them to: - `opt_num' is the number of optional parameters. - `opt_table' has "opt_num + 1" entries. - - This change simplify parameter fitting logics. - - * compile.c: catch up this change. - - * iseq.c: ditto. - - * proc.c: ditto. - - * vm_args.c: ditto. - -Mon Nov 3 11:47:44 2014 SHIBATA Hiroshi - - * NEWS: added period into Matrix section. [ci skip] - [misc #10446][ruby-core:65987] - -Mon Nov 3 09:43:30 2014 SHIBATA Hiroshi - - * vm_args.c: fixed build error with clang - -Mon Nov 3 09:32:46 2014 NARUSE, Yui - - * lib/uri/rfc3986_parser.rb (URI::RFC3986_Parser::RFC3986_URI): - allow '[' and ']' for URI input (and escape). [Bug #10402] - - * lib/uri/generic.rb (URI#query=): escape '[', '\', and ']'. - -Mon Nov 3 07:49:34 2014 Koichi Sasada - - * vm_core.h: change iseq parameter data structure. - https://bugs.ruby-lang.org/issues/10440#change-49694 - - * change terminology `arg' to `param'. - * move rb_iseq_t::arg_* to rb_iseq_t::param. - * move rb_iseq_t::arg_size to rb_iseq_t::param::size. - * move rb_iseq_t::argc to rb_iseq_t::param::lead_num. - * move rb_iseq_t::arg_opts to rb_iseq_t::param::opt_num. - * move rb_iseq_t::arg_rest to rb_iseq_t::param::rest_start. - * move rb_iseq_t::arg_post_num to rb_iseq_t::param::post_num. - * move rb_iseq_t::arg_post_start to rb_iseq_t::param::post_start. - * move rb_iseq_t::arg_block to rb_iseq_t::param::block_start. - * move rb_iseq_t::arg_keyword* to rb_iseq_t::param::keyword. - rb_iseq_t::param::keyword is allocated only when keyword - parameters are available. - * introduce rb_iseq_t::param::flags to represent parameter - availability. For example, rb_iseq_t::param::flags::has_kw - represents that this iseq has keyword parameters and - rb_iseq_t::param::keyword is allocated. - We don't need to compare with -1 to check availability. - * remove rb_iseq_t::arg_simple. - - * compile.c: catch up this change. - - * iseq.c: ditto. - - * proc.c: ditto. - - * vm.c, vm_args.c, vm_dump.c, vm_insnhelper.c: ditto. - - * iseq.c (iseq_data_to_ary): support keyword argument. - -Mon Nov 3 03:39:04 2014 Koichi Sasada - - * test/ruby/test_method.rb: r48239 makes this test green. - -Mon Nov 03 03:02:38 2014 Koichi Sasada - - * rewrite method/block parameter fitting logic to optimize - keyword arguments/parameters and a splat argument. - [Feature #10440] (Details are described in this ticket) - - Most of complex part is moved to vm_args.c. - - Now, ISeq#to_a does not catch up new instruction format. - - * vm_core.h: change iseq data structures. - - * introduce rb_call_info_kw_arg_t to represent keyword arguments. - * add rb_call_info_t::kw_arg. - * rename rb_iseq_t::arg_post_len to rb_iseq_t::arg_post_num. - * rename rb_iseq_t::arg_keywords to arg_keyword_num. - * rename rb_iseq_t::arg_keyword to rb_iseq_t::arg_keyword_bits. - to represent keyword bitmap parameter index. - This bitmap parameter shows that which keyword parameters are given - or not given (0 for given). - It is referred by `checkkeyword' instruction described bellow. - * rename rb_iseq_t::arg_keyword_check to rb_iseq_t::arg_keyword_rest - to represent keyword rest parameter index. - * add rb_iseq_t::arg_keyword_default_values to represent default - keyword values. - * rename VM_CALL_ARGS_SKIP_SETUP to VM_CALL_ARGS_SIMPLE - to represent - (ci->flag & (SPLAT|BLOCKARG)) && - ci->blockiseq == NULL && - ci->kw_arg == NULL. - - * vm_insnhelper.c, vm_args.c: rewrite with refactoring. - - * rewrite splat argument code. - * rewrite keyword arguments/parameters code. - * merge method and block parameter fitting code into one code base. - - * vm.c, vm_eval.c: catch up these changes. - - * compile.c (new_callinfo): callinfo requires kw_arg parameter. - - * compile.c (compile_array_): check the last argument Hash object or - not. If Hash object and all keys are Symbol literals, they are - compiled to keyword arguments. - - * insns.def (checkkeyword): add new instruction. - This instruction check the availability of corresponding keyword. - - For example, a method "def foo k1: 'v1'; end" is compiled to the - following instructions. - - 0000 checkkeyword 2, 0 # check k1 is given. - 0003 branchif 9 # if given, jump to address #9 - 0005 putstring "v1" - 0007 setlocal_OP__WC__0 3 # k1 = 'v1' - 0009 trace 8 - 0011 putnil - 0012 trace 16 - 0014 leave - - * insns.def (opt_send_simple): removed and add new instruction - "opt_send_without_block". - - * parse.y (new_args_tail_gen): reorder variables. - Before this patch, a method "def foo(k1: 1, kr1:, k2: 2, **krest, &b)" - has parameter variables "k1, kr1, k2, &b, internal_id, krest", - but this patch reorders to "kr1, k1, k2, internal_id, krest, &b". - (locate a block variable at last) - - * parse.y (vtable_pop): added. - This function remove latest `n' variables from vtable. - - * iseq.c: catch up iseq data changes. - - * proc.c: ditto. - - * class.c (keyword_error): export as rb_keyword_error(). - - * common.mk: depend vm_args.c for vm.o. - - * hash.c (rb_hash_has_key): export. - - * internal.h: ditto. - -Mon Nov 3 02:35:32 2014 Koichi Sasada - - * sample/simple-bench.rb: added to measure performance of simple - lines. - -Mon Nov 3 02:33:43 2014 Koichi Sasada - - * gc.c (obj_info): show T_STRING more details. - -Sun Nov 2 01:30:32 2014 Tanaka Akira - - * test/openssl/test_ssl.rb: Don't ignore errors on listener threads, - as much as possible. - - * test/openssl/test_ssl_session.rb: Ditto. - - * test/openssl/test_partial_record_read.rb: Ditto. - -Sat Nov 1 23:11:05 2014 Tanaka Akira - - * test/openssl/utils.rb (start_server): Don't close sockets before - threads finished. - -Sat Nov 1 22:06:24 2014 Tanaka Akira - - * test/openssl/test_ssl_session.rb (test_ctx_client_session_cb): Don't - ignore errors of SSL accept. - (test_ctx_server_session_cb): Ditto. - - * test/openssl/utils.rb (server_loop): Add ignore_ssl_accept_error - argument. - (start_server): Refine threads waits. - - * test/ruby/envutil.rb (assert_join_threads): Show a thread before - backtrace. - -Sat Nov 1 20:40:18 2014 Tanaka Akira - - * test/openssl/utils.rb (start_server, server_loop): Use a - pipe to stop server instead of shutdown/close a listening socket. - -Sat Nov 1 19:24:59 2014 Tanaka Akira - - * test/ruby/envutil.rb (assert_join_threads): New assertion to - join multiple threads without exceptions. - -Sat Nov 1 17:09:32 2014 Tanaka Akira - - * bignum.c (bary_mul_balance_with_mulfunc): Fix free work area - location. - [ruby-dev:48723] [Bug #10464] - [ruby-core:66044] [Bug #10465] - Reported by Kohji Nishihama. - -Sat Nov 1 15:45:15 2014 Nobuyoshi Nakada - - * parse.y (parse_atmark): mere atmark and two atmarks without - succeeding identifiers are invalid as instance/class variable - names. - -Sat Nov 1 06:31:41 2014 Masaki Suketa - - * ext/win32ole/win32ole_variant.c: use typed data. - -Fri Oct 31 13:55:28 2014 Aaron Patterson - - * ext/dl/*: remove DL as it is replaced by Fiddle. - [Feature #5458] Thanks to Jonan Scheffler - for this patch - - * test/dl/*: ditto. - -Fri Oct 31 15:26:02 2014 Charles Oliver Nutter - - * test/openssl/test_ssl.rb: Add certificate verification chain - test from JRuby community. - -Fri Oct 31 18:58:02 2014 Charles Oliver Nutter - - * test/psych/test_emitter.rb: Fix line_width test...initial value - is impl-specific and attr assignment always returns LHS. - -Fri Oct 31 22:19:30 2014 Akinori MUSHA - - * ext/digest/lib/digest.rb (Digest()): This function should now be - thread-safe. If you have a problem with regard to on-demand - loading under a multi-threaded environment, preload "digest/*" - modules on boot or use this method instead of directly - referencing Digest::*. [Bug #9494] - cf. https://github.com/aws/aws-sdk-ruby/issues/525 - -Fri Oct 31 21:33:17 2014 Akinori MUSHA - - * test/digest/test_digest.rb: Drop #!. This no longer runs - stand-alone because it depends on ruby/envutil. - -Fri Oct 31 17:22:19 2014 NAKAMURA Usaku - - * win32/setup.mak: $(APPEND) with some arguments insert a space before - the arguments, so it causes error if the arguments are expected to be - a macro definition. this fix resolve the build error introduced at - r48210. - -Fri Oct 31 16:47:35 2014 Akinori MUSHA - - * ext/syslog/lib/syslog/logger.rb (Syslog::Logger::VERSION): Bump - the VERSION to 2.1.0. [ruby-core:64483] [Bug #10159] - -Fri Oct 31 16:33:46 2014 Akinori MUSHA - - * lib/net/imap.rb (Net::IMAP#fetch): [DOC] Document that - Net::IMAP#fetch will return nil instead of an empty array. - -Fri Oct 31 12:54:43 2014 Nobuyoshi Nakada - - * common.mk (.unicode-tables.time): needs Unicode files always, - and should update after downloading these files. - [ruby-core:66026] [Bug #10461] - -Fri Oct 31 10:16:42 2014 SHIBATA Hiroshi - - * .travis.yml: reverted r48199, it's unrelated configuration. - -Fri Oct 31 09:58:14 2014 SHIBATA Hiroshi - - * test/test_unicode_normalize.rb: added unicode version number to - test data location. - -Fri Oct 31 09:56:41 2014 SHIBATA Hiroshi - - * .gitignore: ignored unicode data with version directories. - -Fri Oct 31 09:35:30 2014 SHIBATA Hiroshi - - * .travis.yml: tweak build scripts for unicode_normalize.rb. - -Thu Oct 30 18:47:04 2014 NARUSE, Yui - - * common.mk: fix for the case ALWAYS_UPDATE_UNICODE=no - -Thu Oct 30 13:23:23 2014 Martin Duerst - - * tool/downloader.rb: changed Unicode data download location - from latest Unicode version to Unicode 7.0.0. - -Thu Oct 30 11:16:13 2014 Nobuyoshi Nakada - - * vm_insnhelper.c (vm_callee_setup_arg{_complex,}): try conversion - by to_ary for a lambda, as well as a proc. - [ruby-core:65887] [Bug #9605] - -Wed Oct 29 21:13:23 2014 Nobuyoshi Nakada - - * parse.y (gettable_gen): warn circular argument reference, for - transition from 2.1 and earlier. [ruby-core:65990] [Bug #10314] - -Wed Oct 29 20:41:01 2014 Nobuyoshi Nakada - - * parse.y (parser_params): remove unused member `cur_mid`. - this has been taken over by `in_def` since 1.6. - -Wed Oct 29 14:44:27 2014 Nobuyoshi Nakada - - * load.c (rb_f_load): path name needs to be transcoded to OS path - encoding. [ruby-list:49994] - -Wed Oct 29 11:48:23 2014 Nobuyoshi Nakada - - * configure.in (__builtin_setjmp): disable with gcc/clang earlier - than 4.3 on Mac OS X. [ruby-core:65174] [Bug #10272] - -Wed Oct 29 11:43:43 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Generalize Vector#cross_product to arbitrary - dimensions - based on a patch by gogo tanaka [#10074] - -Wed Oct 29 11:43:11 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add Matrix#adjucate - patch by gogo tanaka [#10056] - -Wed Oct 29 11:42:33 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add aliases for Vector#cross & dot - patch by gogo tanaka [#10352] - -Wed Oct 29 10:00:18 2014 SHIBATA Hiroshi - - * gems/bundled_gems: Update latest version of bundled gems. - -Tue Oct 28 16:52:07 2014 Eric Wong - - * signal.c (install_sighandler): remove rb_disable_interrupt and - rb_enable_interrupt calls - (init_sigchld): ditto - (Init_signal): disable and enable interrupt once around all - install_sighandler and init_sigchld to reduce syscalls at start - [Feature #9345] [ruby-core:59480] - -Tue Oct 28 16:22:41 2014 Nobuyoshi Nakada - - * ruby.c (process_options, load_file_internal2): should not - require other files when dump option is given. - [ruby-dev:48712] [Bug #10435] - -Tue Oct 28 14:51:38 2014 NARUSE, Yui - - * configure.in: remove apple-gcc4.2 from CC candidates. - -Mon Oct 27 20:13:37 2014 NAKAMURA Usaku - - * lib/rexml/entity.rb: keep the entity size within the limitation. - reported by Willis Vandevanter and - patched by nahi. - -Mon Oct 27 17:17:24 2014 Nobuyoshi Nakada - - * proc.c (method_proc): the receiver of binding from method should - be same as the receiver of the method. - [ruby-core:65917] [Bug #10432] - -Mon Oct 27 16:26:37 2014 Koichi Sasada - - * test/ruby/test_super.rb: add a test to check block passing. - -Mon Oct 27 15:59:26 2014 Koichi Sasada - - * gc.c: is_incremental_marking(), will_be_incremental_marking(): - use `&&' with GC_ENABLE_INCREMENTAL_MARK instead of using - #if/#else/#endif. - -Mon Oct 27 13:40:11 2014 Nobuyoshi Nakada - - * gc.c (gc_sweep_rest): sweep rest pages regardless of whether - lazy sweep is enabled or not. based on the patch by Masahiro - Ide at [ruby-dev:48706]. [Bug #10431] - -Mon Oct 27 11:18:32 2014 Eric Wong - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): - reduce garbage during forks - -Sun Oct 25 12:26:26 2014 Martin Duerst - - * template/insns.inc.tmpl, insns_info.inc.tmpl, known_errors.inc.tmpl, - minsns.inc.tmpl: fixed path of generating script. - -Sun Oct 26 12:24:15 2014 Nobuyoshi Nakada - - * ext/ripper/lib/ripper/sexp.rb (Ripper.sexp, Ripper.sexp_raw): - return nil on error. [ruby-dev:48678] [Bug #10405] - -Sun Oct 25 11:24:24 2014 Martin Duerst - - * string.c: improved comment. - -Sun Oct 26 07:40:11 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_val2variant, ole_invoke): refactoring. - use ole_variant2variant to convert WIN32OLE_VARIANT object to - VARIANT object. - - * ext/win32ole/win32ole_variant.c: refactoring. add - ole_variant2variant. - * ext/win32ole/win32ole_variant.h: ditto. - -Sat Oct 25 22:28:17 2014 Tanaka Akira - - * io.c (io_binwrite_string): Test writev() failure. - -Sat Oct 25 20:19:19 2014 Martin Duerst - - * test/test-unicode_normalize.rb: added test_us_ascii. - -Sat Oct 25 20:09:09 2014 Martin Duerst - - * lib/unicode_normalize/normalize.rb: added US_ASCII - as trivially supported encoding (is always normalized, - and may appear mixed in with UTF-8 or other Unicode - encodings). - -Sat Oct 25 20:01:01 2014 Martin Duerst - - * test/test-unicode_normalize.rb: added - test_raise_exception_for_non_unicode_encoding. - -Sat Oct 25 19:30:30 2014 Martin Duerst - - * test/test-unicode_normalize.rb: removed unused function. - -Sat Oct 25 18:41:41 2014 Martin Duerst - - * template/unicode_norm_gen.tmpl: Adjusted name of generating file. - -Fri Oct 24 22:49:42 2014 Nobuyoshi Nakada - - * parse.y (parser_yylex): dispatch newline and space at fluent - interface, so that the following identifier does not include the - space. [ruby-dev:48684] [Bug #10411] - -Fri Oct 24 20:41:36 2014 Kazuhiro NISHIYAMA - - * signal.c (check_reserved_signal_): fix write count since r47991. - -Thu Oct 23 21:42:54 2014 Nobuyoshi Nakada - - * hash.c (rb_hash_delete): now does not call the block given to - the current method. [ruby-core:65861] [Bug #10413] - -Thu Oct 23 19:13:26 2014 Nobuyoshi Nakada - - * vm_method.c (rb_method_entry_make): warn redefinition only for - already defined methods, but not for undefined methods. - [ruby-dev:48691] [Bug #10421] - -Thu Oct 23 17:19:04 2014 Kouhei Sutou - - * lib/rexml/source.rb (REXML::IOSource#encoding_updated): Fix a - bug that can't parse XML correctly when - Encoding.default_internal is different with XML - encoding. REXML::Source converts XML encoding on read. So IO - should not convert XML encoding. - Based on patch by NAKAMURA Usaku. - [ruby-dev:48686] [Bug #10418] - - * test/rexml/test_encoding.rb - (REXMLTests::EncodingTester#test_parse_utf16_with_utf8_default_internal): - Add the for the above case. - -Thu Oct 23 16:29:02 2014 Kouhei Sutou - - * test/rexml/test_encoding.rb - (REXMLTests::EncodingTester#test_parse_utf16): Use meaningful - test name. "ticket" in the old test name means the ticket in - REXML's issue tracker. The REXML's issue tracker was gone. So - "ticket" is meaningless. - - * test/rexml/data/ticket_110_utf16.xml: Rename to ... - * test/rexml/data/utf16.xml: ... this. - -Thu Oct 23 16:18:11 2014 Kouhei Sutou - - * test/rexml/test_encoding.rb - (REXMLTests::EncodingTester#test_ticket_110): Fix expected and - actual order. - Patch by NAKAMURA Usaku. Thanks!!! - -Thu Oct 23 10:47:16 2014 Eric Wong - - * insns.def (getlocal,setlocal): add comment to def/opt_operand.def - -Thu Oct 23 10:22:41 2014 Eric Wong - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): - use IO#wait_readable instead of timeout - -Thu Oct 23 10:22:24 2014 Eric Wong - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): - ensure exit! during fork failure - -Thu Oct 23 10:21:21 2014 Martin Duerst - - * NEWS: Added String#unicode_normalize(|!|d?) [ci skip] - -Thu Oct 23 03:41:51 2014 Nobuyoshi Nakada - - * class.c (unknown_keyword_error): delete expected keywords - directly from raw table, so that the given block is not called. - [ruby-core:65837] [Bug #10413] - -Thu Oct 23 02:33:01 2014 Nobuyoshi Nakada - - * common.mk (update-unicode): invert dependency to run every times. - [ruby-core:65842] [Bug #10415] - - * common.mk (after-update): update files under source tree. - [ruby-core:65840] [Bug #10414] - -Wed Oct 22 22:38:59 2014 CHIKANAGA Tomoyuki - - * ext/openssl/lib/openssl/ssl.rb (DEFAULT_PARAMS): override - options even if OpenSSL::SSL::OP_NO_SSLv3 is not defined. - this is pointed out by Stephen Touset. [ruby-core:65711] [Bug #9424] - -Wed Oct 22 21:31:56 2014 NAKAMURA Usaku - - * common.mk (prelude.c): add dependency to LIB_SRCS because - enc/prelude.rb requires lib/unicode_normalize.rb, and it's also - requires lib/unicode_normalize/tables.rb (=LIB_SRCS). - -Wed Oct 22 21:09:51 2014 Yuki Yugui Sonoda - - * configure.in (nacl_cv_cpu_nick): fix typo in PNaCl. - (XCFLAGS) Add -isystem flag to pnacl and nacl-newlib - (CXX): added - - * nacl/GNUmakefile.in (CXX): Added - (PPROGRAM): Use clang++ instead of clang because libnacl_io - depends on c++ std lib. - -Wed Oct 22 21:07:32 2014 Yuki Yugui Sonoda - - * common.mk (build-ext): avoid trying to build dynamic libraries - if configured --with-static-linked-ext. - -Wed Oct 22 20:33:33 2014 Martin Duerst - - * common.mk: Fixed grammar in comment [ci skip] - -Wed Oct 22 19:18:18 2014 Martin Duerst - - * tool/unicode_norm_gen.rb: Fixed escaping of backslash and - double quote ('\\\&' -> "\\\\\\\&"; double quoted string - is needed to make \& mean last match; double double - backslashes are needed because of two layers of escaping). - -Wed Oct 22 18:13:29 2014 NAKAMURA Usaku - - * test/test-unicode_normalize.rb: as often said, ruby is sometimes built - at non-srcdir. - -Wed Oct 22 18:12:12 2014 Martin Duerst - - * test/test-unicode_normalize.rb: Adjusted path for test - data file (now ../enc/unicode/data/NormalizationTest.txt). - -Wed Oct 22 18:07:07 2014 Martin Duerst - - * test/test-unicode_normalize.rb: Removed explicit require, - changed method names, adjusted copyright. - -Wed Oct 22 18:00:00 2014 Martin Duerst - - * test/test-unicode_normalize.rb: Importing from - https://github.com/duerst/eprun/blob/master/test/test_normalize.rb. - (removing trailing whitespace, fixing EOLs and adding EOL property) - -Wed Oct 22 08:21:09 2014 Yuki Yugui Sonoda - - * nacl/pepper_main.c (Instance_DidCreate): mount devfs and rebind fd 0 - .. 2 so that stderr goes to the console of the browser. - -Wed Oct 22 03:47:43 2014 KOSAKI Motohiro - - * ext/etc/etc.c (etc_nprocessors_affin): maximum "n" should be 16384. - -Wed Oct 22 03:37:00 2014 KOSAKI Motohiro - - * ext/etc/etc.c (etc_nprocessors_affin): minor spell fix. - -Wed Oct 22 03:33:58 2014 KOSAKI Motohiro - - * ext/etc/etc.c (etc_nprocessors_affin): optimize memory usage a - bit. Typical rubyist never use 8k cpus machine. - -Wed Oct 22 00:01:09 2014 Yuki Yugui Sonoda - - * configure.in (XCFLAGS): Add include path for NaCl libraries. - (XLDFLAGS): ditto. - (NACL_LIB_PATH): new substitution - - * nacl/nacl-config.rb: support NACL_LIB_PATH - - * nacl/package.rb: ditto. - - * nacl/pepper_main.c: replace old implementations with nacl_io. - - * nacl/GNUmakefile.in: link nacl_io to pepper_ruby - - * ruby.c (rb_load_file): remove __attribute__((weak)) because the old - override hack was replaced with nacl_io. - - * file.c (rb_file_load_ok): ditto. - -Tue Oct 21 17:32:32 2014 Martin Duerst - - * common.mk: Adding explicit creation of directory - enc/unicode/data because git doesn't handle empty - directories. [patch by Masahiro Ide, filed with r48073] - -Tue Oct 21 17:12:12 2014 Martin Duerst - - * lib/unicode_normalize/tables.rb: Committing to make version - update easier and more predictable, and reducing compilation - time. - -Tue Oct 21 15:56:56 2014 Martin Duerst - - * lib/unicode_normalize/normalize.rb: Added comment to point to - relevant portion of Unicode standard for Hangul (de)composition - identifiers and algorithm. - -Tue Oct 21 11:49:16 2014 Andreas Schwab - - * gc.c (mark_current_machine_context) [__mc68000__]: Update stack - marking. - (rb_gc_mark_machine_stack) [__mc68000__]: Also handle it here. - -Mon Oct 20 23:59:38 2014 NAKAMURA Usaku - - * enc/prelude.rb: we sometimes run ruby without library path (especially - for test), so should permit to run ruby if unicode_normalize.rb is - missing. - -Mon Oct 20 23:57:58 2014 NAKAMURA Usaku - - * common.mk (lib/unicode_normalize/tables.rb): enable running (n)make - in non-srcdir. - -Mon Oct 20 23:58:04 2014 Nobuyoshi Nakada - - * tool/downloader.rb: add -a option to always download regardless - existing files. - -Mon Oct 20 23:18:18 2014 NAKAMURA Usaku - - * lib/mkmf.rb: no need to convert path separator for COPY because it's - ruby -run cp and it can treat '/' on any platform. - -Mon Oct 20 19:54:54 2014 Martin Duerst - - * config.mk: Added missing data files as targets for - prerequisite update_unicode. - -Mon Oct 20 19:06:06 2014 Martin Duerst - - * lib/unicode_normalize.rb: revert r48046. The s in sIndex - is not hungarian notation. The variable name sIndex is - directly taken from the relevant part of the Unicode - Standard, where it is written SIndex and stands for - 'syllable index'. See pp. 144/145 of - http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf. - -Mon Oct 20 12:46:46 2014 Martin Duerst - - * lib/unicode_normalize.rb: removing unnecessary 'self'. - -Mon Oct 20 12:37:37 2014 Martin Duerst - - * lib/unicode_normalize.rb: change method names - in commented-out code. Followup to r48027. - -Mon Oct 20 02:23:27 2014 Nobuyoshi Nakada - - * variable.c (rb_ivar_get), vm_insnhelper.c (vm_getivar): improve - instance variable retrieval performance by checking ruby_verbose - before call of rb_warning and evaluation of its argument. - [ruby-core:65786] [Feature #10396] - -Sun Oct 19 23:31:29 2014 CHIKANAGA Tomoyuki - - * lib/unicode_normalize.rb: (unicode_normalize!): change method name. - catch up the method name change at r48014. [Feature #10084] - -Sun Oct 19 20:05:58 2014 SHIBATA Hiroshi - - * ext/tk/lib/tkextlib/tile/treeview.rb: fix syntax error. - -Sun Oct 19 18:39:39 2014 Martin Duerst - - * enc/prelude.rb: Added automatic loading of - lib/unicode_normalize.rb. This makes sure that all - the methods that are available on String are - available without explicit require. - -Sun Oct 19 18:35:35 2014 Martin Duerst - - * lib/unicode_normalize/normalize.rb: Added a missing - file extension in require statement. - -Sun Oct 19 18:13:13 2014 Martin Duerst - - * common.mk: Added a rule to generate - lib/unicode_normalize/tables.rb. This rule still - needs to be integrated into the overall make process. - -Sun Oct 19 17:53:53 2014 Martin Duerst - - * lib/unicode_normalize.rb: Changed to dynamic - loading of actual normalization code and tables. - -Sun Oct 19 17:37:37 2014 Martin Duerst - - * lib/unicode_normalize.rb: Small documentation fix. - -Sun Oct 19 17:26:26 2014 Martin Duerst - - * lib/unicode_normalize.rb: Added documentation. - -Sun Oct 19 11:09:09 2014 Martin Duerst - - * tool/unicode_norm_gen.rb, lib/unicode_normalize.rb: - File name change from lib/unicode_normalize/normalize_tables.rb - to lib/unicode_normalize/tables.rb. - -Sun Oct 19 10:12:12 2014 Martin Duerst - - * lib/unicode_normalize.rb: Changing method names, see - https://bugs.ruby-lang.org/issues/10084#note-7 - -Sun Oct 19 10:10:10 2014 Martin Duerst - - * lib/unicode_normalize.rb: Changing module name. - -Sun Oct 19 10:08:08 2014 Martin Duerst - - * lib/unicode_normalize.rb: Changing require statement, - adjusting copyright. - -Sun Oct 19 10:04:04 2014 Martin Duerst - - * lib/unicode_normalize.rb: Importing from - https://github.com/duerst/eprun/blob/master/lib/string_normalize.rb. - (removing trailing whitespace, fixing EOLs and adding EOL property) - -Sun Oct 19 09:56:56 2014 Martin Duerst - - * tool/unicode_norm_gen.rb: Changed module name. - -Sun Oct 19 09:48:48 2014 Martin Duerst - - * lib/unicode_normalize/normalize.rb: Changed module name, - adjusted copyright. - -Sun Oct 19 09:38:38 2014 Martin Duerst - - * lib/unicode_normalize/normalize.rb: Importing from - https://github.com/duerst/eprun/blob/master/lib/normalize.rb. - -Sat Oct 18 20:40:52 2014 Kazuki Tsujimoto - - * vm_core.h, proc.c, vm_backtrace.c, vm_trace.c: - remove rb_binding_new_with_cfp, and use rb_vm_make_binding instead. - -Sat Oct 18 20:38:48 2014 Kazuki Tsujimoto - - * vm_core.h, vm.c, proc.c: fix GC mark miss on bindings. - [ruby-dev:48616] [Bug #10368] - - * test/ruby/test_eval.rb: add a test code. - -Fri Oct 17 22:47:11 2014 Tanaka Akira - - * pack.c (pack_unpack): Add casts for char references for 'u'. - Fix line ending recognition algorithm. - -Fri Oct 17 21:49:52 2014 Tanaka Akira - - * pack.c (pack_unpack): Add casts for char references for 'b' and 'h'. - -Fri Oct 17 17:50:10 2014 Tanaka Akira - - * Avoid undefined behaviors found by gcc -fsanitize=undefined. - gcc (Debian 4.9.1-16) 4.9.1 - - * string.c (rb_str_sum): Avoid undefined behavior. - -Fri Oct 17 17:43:50 2014 Tanaka Akira - - * Avoid undefined behaviors found by gcc -fsanitize=undefined. - gcc (Debian 4.9.1-16) 4.9.1 - - * include/ruby/ruby.h (INT2FIX): Avoid undefined behavior. - - * node.h (nd_set_line): Ditto. - - * pack.c (encodes): Ditto. - (pack_unpack): Ditto. - - * regint.h (BIT_STATUS_AT): Ditto. - (BS_BIT): Ditto. - - * time.c (time_mdump): Ditto. - (time_mload): Ditto. - - * vm_core.h (VM_FRAME_MAGIC_MASK): Ditto. - - * vm_trace.c (recalc_add_ruby_vm_event_flags): Ditto. - -Fri Oct 17 15:06:49 2014 Nobuyoshi Nakada - - * re.c (unescape_nonascii): make dynamically compiled US-ASCII - regexps ASCII-8BIT encoding if binary (hexadecimal, control, - meta) escapes are contained, as well as literal regexps. - [ruby-dev:48626] [Bug #10382] - -Fri Oct 17 03:05:08 2014 Eric Wong - - * test/-ext-/bug_reporter/test_bug_reporter.rb - (test_bug_reporter_add): revert r47972 - * test/ruby/test_rubyoptions.rb (test_segv_test): revert r47971 - [ruby-core:65764] - -Thu Oct 16 23:17:40 2014 Nobuyoshi Nakada - - * signal.c (rb_sigaltstack_size): double default size to get rid - of heap corruption by alternate stack overflow in SEGV handler. - typically happened at fprintf() in control_frame_dump(). - -Thu Oct 16 22:43:12 2014 Tanaka Akira - - * vm_backtrace.c (id2str): Fix a variable name. - [ruby-dev:48642] [Bug #10389] - -Thu Oct 16 20:01:26 2014 Tanaka Akira - - * test/ruby/envutil.rb (assert_pattern_list): Show number of matched - patterns and characters. - -Thu Oct 16 16:26:09 2014 Eric Wong - - * cont.c (fiber_store): fix WIN32 fibers - [ruby-core:65745] [ruby-core:65758] - -Thu Oct 16 15:05:07 2014 Nobuyoshi Nakada - - * parse.y (parser_here_document): do not append already appended - and disposed code fragment. [ruby-dev:48647] [Bug #10392] - -Thu Oct 16 10:35:33 2014 Eric Wong - - * test/-ext-/bug_reporter/test_bug_reporter.rb - (test_bug_reporter_add): fix race - -Thu Oct 16 10:09:02 2014 Eric Wong - - * test/ruby/test_rubyoptions.rb (test_segv_test): fix race - -Thu Oct 16 09:17:48 2014 Nobuyoshi Nakada - - * cont.c (rb_fiber_t): fix compile error caused by move to - vm_core.h at r47964. [Feature #10341] - -Thu Oct 16 08:58:11 2014 Eric Wong - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): - avoid killing wrong parent - -Thu Oct 16 08:40:04 2014 Eric Wong - - * cont.c (fiber_store): restore references to next_fib (fix typo) - -Thu Oct 16 08:26:08 2014 Eric Wong - - * cont.c (fiber_store): remove references to nextfib - fix build when FIBER_USE_NATIVE is 0 - -Thu Oct 16 06:51:35 2014 Knut Franke - - * vm_core.h: declare rb_fiber_t typedef - (rb_thread_t): fiber and root_fiber become rb_fiber_t * (from VALUE) - * vm.c (rb_thread_mark): use rb_fiber_mark_self - * cont.c (rb_fiber_t): prev becomes rb_fiber_t * (from VALUE) - (cont_mark, cont_free): simplify conditions - (rb_fiber_mark_self): new function - (fiber_mark): use rb_fiber_mark_self - (cont_save_thread, cont_restore_thread): inline - (cont_restore_thread): simplify - (fiber_setcontext): simplify conditions - (rb_cont_call): remove dereference - (fiber_t_alloc): update for rb_fiber_t->prev type change - (rb_fiber_start): ditto - (fiber_current): extract from rb_fiber_current - (return_fiber): move, simplify type checks - (rb_fiber_current): use fiber_current - (fiber_store): simplify type checks - (fiber_switch): ditto, simplify call to fiber_setcontext, - use fiber_current - (rb_fiber_transfer): update for type changes - (rb_fiber_terminate): move, use fiber_switch - (rb_fiber_resume): update for type changes - (rb_fiber_reset_root_local_storage): ditto - (rb_fiber_yield): use rb_fiber_switch instead of rb_fiber_transfer - (rb_fiber_m_transfer): ditto - [ruby-core:65518] [Feature #10341] - -Thu Oct 16 06:25:29 2014 Knut Franke - - * cont.c (rb_context_t): comment on saved_thread - (cont_save_thread): sparse copy - (cont_init): copy extra fields - (fiber_init): use current thread VM stack size - [ruby-core:65518] [Feature #10341] - -Thu Oct 16 06:13:09 2014 Knut Franke - - * cont.c (cont_capture): remove unnecessary variable - [ruby-core:65518] [Feature #10341] - -Thu Oct 16 05:02:31 2014 Knut Franke - - * cont.c (fiber_store, fiber_switch): simplify - [ruby-core:65518] [Feature #10341] - -Thu Oct 16 04:28:41 2014 Knut Franke - - * cont.c (rb_fiber_t): remove prev_fiber/next_fiber - (fiber_link_join, fiber_link_remove): remove functions - (fiber_free, fiber_init, root_fiber_alloc): - remove references to removed fields and functions - [ruby-core:65518] [Feature #10341] - -Wed Oct 15 22:08:37 2014 Tanaka Akira - - * ext/etc/etc.c (etc_nprocessors_affin): Test CPU_ALLOC availability. - CentOS 5 don't have CPU_ALLOC(). - -Wed Oct 15 18:26:19 2014 KOSAKI Motohiro - - * ext/etc/etc.c (etc_nprocessors_affinity): use sched_getaffinity - for getting precious number of available cpus. - - * ext/etc/etc.c (etc_nprocessors): use etc_nprocessors_affinity if - possible. - - [Feature #10267] etc-nprocessors-kosaki2.patch - -Wed Oct 15 17:53:28 2014 Tanaka Akira - - * test/ruby/envutil.rb (assert_pattern_list) Renamed from - assert_regexp_list. - Show multiline string in multi lines. - - * test/-ext-/bug_reporter/test_bug_reporter.rb: Use - assert_pattern_list. - -Wed Oct 15 12:26:58 2014 Tanaka Akira - - * test/ruby/envutil.rb (assert_regexp_list): New assertion method. - - * test/ruby/test_rubyoptions.rb: Use assert_regexp_list. - -Wed Oct 15 07:21:09 2014 Tanaka Akira - - * enum.c: min(n) drops elements bigger than the n-th maximum element. - (struct nmin_data): New field to record the n-th maximum element, limit - (nmin_filter): Update limit field. - (nmin_i): Drop too big elements. - (nmin_run): Initialize limit field. - -Wed Oct 15 07:00:14 2014 Eric Wong - - * test/ruby/test_optimization.rb (test_string_size): new test - -Wed Oct 15 06:51:13 2014 Eric Wong - - * test/ruby/test_optimization.rb (test_string_eq_neq): new test - (test_string_ltlt): ditto - -Wed Oct 15 06:50:29 2014 Eric Wong - - * test/ruby/test_optimization.rb (test_hash_aset_with): - assert assignment - -Wed Oct 15 04:56:27 2014 Zachary Scott - - * gc.c (rb_obj_id): [DOC] Fix typo, clean up sentence, and wrap cols - -Wed Oct 15 04:53:30 2014 Zachary Scott - - * error.c: [DOC] Fix case of type in exception message by @tricknotes - [Fixes GH-740] https://github.com/ruby/ruby/pull/740 - - * object.c: ditto - -Tue Oct 14 21:39:16 2014 Vit Ondruch - - * tool/rbinstall.rb (gem): Fix permissions of bundled gems - specification files. [ruby-core:65700] [Bug #10383] - -Tue Oct 14 19:15:31 2014 Masaki Suketa - - * ext/win32ole/win32ole_record.c: use typed data. - -Tue Oct 14 16:23:12 2014 Nobuyoshi Nakada - - * symbol.c (global_symbols): make ids two-dimensional array of - strings and symbols, for write-barrier. - - * symbol.c (global_symbols): make IDs immortal always, instead - of treating dynamic symbols as IDs. - - * iseq.c, marshal.c, string.c: use rb_str_intern instead of - rb_str_dynamic_intern. - - * symbol.c (rb_str_intern): rename rb_str_dynamic_intern. - -Tue Oct 14 10:19:10 2014 Eric Wong - - * test/ruby/test_optimization.rb (test_string_freeze): new test - (test_hash_aref_with): ditto - (test_hash_aset_with): ditto - -Tue Oct 14 01:27:54 2014 Tanaka Akira - - * enum.c (nmin_run): max(n) and max_by(n) returns an array in - descending order. - [ruby-core:65452] Suggested by David Grayson. - -Mon Oct 13 20:44:49 2014 Nobuyoshi Nakada - - * common.mk (update-gems): chdir to the target directory and then - add the tool directory to load paths, for older BASERUBY. - [Bug #10372][ruby-core:65630] - -Mon Oct 13 17:53:01 2014 SHIBATA Hiroshi - - * lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem. - [Feature #9379][ruby-core:59633] - * lib/xmlrpc/config.rb: ditto. - -Mon Oct 13 16:32:56 2014 Tanaka Akira - - * lib/find.rb (Find.find): Call to_path for arguments to obtain - strings. - [ruby-core:63713] [Bug #10035] Reported by Herwin. - -Mon Oct 13 15:42:25 2014 SHIBATA Hiroshi - - * common.mk: use relative load path for bundled_gems directory. - [Bug #10372][ruby-core:65630] - -Mon Oct 13 08:44:06 2014 Zachary Scott - - * README.EXT: [DOC] fix example missing typedef with patch by - @steveklabnik [Fixes GH-739] https://github.com/ruby/ruby/pull/739 - - * README.EXT.ja: ditto. - -Mon Oct 13 06:52:09 2014 Eric Wong - - * array.c (ary_recycle_hash): add RB_GC_GUARD - (rb_ary_diff): remove volatile - [Bug #10369] - -Mon Oct 13 03:20:23 2014 Zachary Scott - - * ext/date/date_core.c: [DOC] Clean up whitespace, examples, and typos - in date_core based on a patch by @vipulnsward [Fixes GH-724] - https://github.com/ruby/ruby/pull/724 - -Mon Oct 13 02:39:26 2014 Nobuyoshi Nakada - - * parse.y (remove_duplicate_keys): should not simply eliminate all - value nodes, which may have side effects. - [ruby-core:65625] [Bug #10315] - -Sun Oct 12 10:39:16 2014 Zachary Scott - - * vm.c: [DOC] fix typo by @yui-knk [Fixes GH-738] - https://github.com/ruby/ruby/pull/738 - -Sun Oct 12 09:24:15 2014 Tanaka Akira - - * test/lib/test/unit.rb: Hide skips by default. - -Sun Oct 12 01:37:11 2014 Yuki Yugui Sonoda - - * file.c: include sys/time.h only if HAVE_SYS_TIME_H - -Sat Oct 11 22:29:40 2014 Yuki Yugui Sonoda - - * file.c (HAVE_UTIMENSAT): disabled for NativeClient. - Fixes build error. - -Sat Oct 11 22:11:58 2014 Yuki Yugui Sonoda - - * ext/extmk.rb: generates the rule for extinit.$(OBJEXT). - extinit.$(OBJEXT) used to be generated by the builtin rule, thus - didn't accept custom $(CC) and caused linkage error for cross - compiling. - -Sat Oct 11 18:46:50 2014 Yuki Yugui Sonoda - - * include/ruby/intern.h (rb_fd_select): declare struct timeval, or the - struct gets local to the function in C99. - - * file.c (#include): add nacl/stat.h for PNaCl. - (utimes): added a declaration for PNaCl. - (stat_atimespec): stat::st_atimensec is long long but - timespec::tv_nsec is long in PNaCl. - (stat_mtimespec, stat_ctimespec): ditto. - (rb_group_member): disable getgroups unless HAVE_GETGROUPS. - (eaccess): unify the fallback to generic defined(USE_GETEUID). - - * io.c: include sys/time.h for struct timeval. - (rb_close_before_exec): nothing we can do if F_GETFD is not - available. - (ioctl): pnacl newlib actually doesn't have ioctl. - - * process.c (maxgroups): it is used iff - defined(_SC_NGROUPS_MAX) || defined(NGROUPS_MAX) but not - defined(HAVE_GETGROUPS) || defined(HAVE_SETGROUPS). - (obj2gid): fail unless the object is a Fixnum if getgrnam is not - available. - (disable_child_handler_fork_child): sigaction is not available in - PNaCl newlib. - - * configure.in (warnflags, strict_warnflags): avoid -ansi for strlcpy. - (rb_cv_gcc_atomic_builtins): also check - __atomic_or_etch because it is used in ruby_atomic.h. - (rb_cv_gcc_sync_builtins): ditto. - (HAVE_GETGRNAM): added. - -Sat Oct 11 15:32:08 2014 Eric Wong - - * compile.c (iseq_build_from_ary_exception): move RB_GC_GUARD - (iseq_build_from_ary_body): use PRIsVALUE instead of RB_GC_GUARD - -Sat Oct 11 14:57:08 2014 Eric Wong - - * string.c (rb_str_intern): remove unnecessary RB_GC_GUARD - -Sat Oct 11 13:47:13 2014 Nobuyoshi Nakada - - * parse.y (remove_duplicate_keys): remove duplicate literal keys, - i.e., symbols and strings. [ruby-core:65368] [Bug #10315] - - * vm.c (kwmerge_i): override existing keys by new keys. - [ruby-core:65368] [Bug #10315] - - * parse.y (assocs): concatenate splatted literal hashes. the - former key has precedence even if duplicated literal keys - follow. [ruby-core:65368] [Bug #10315] - -Sat Oct 11 12:27:03 2014 Yuki Yugui Sonoda - - * configure.in (RUBY_NACL): automatically locate pnacl-clang. - (RUBY_PLATFORM): pnacl instead of le32-nacl. - -Sat Oct 11 11:27:14 2014 Yuki Yugui Sonoda - - * io.c: fix issues in the last two commits. don't disable cloexec for - platforms other than NativeClient. - - * ChangeLog: ditto. add entries for the last two commits. - -Sat Oct 11 11:12:00 2014 Yuki Yugui Sonoda - - * signal.c (install_signalhandler, init_sigchld): allow failure because it - always fails with ENOSYS on NaCl. - -Sat Oct 11 11:11:53 2014 Yuki Yugui Sonoda - - * configure.in (RUBY_NACL and others): merge patch from naclports. Supports PNaCl. - - * dln.c: ditto. replace the old hacky dynamic loading over HTTP with nacl_io. - - * file.c: ditto. tentatively use access(2) instead of eaccess. - (rb_file_load_ok): weaken with attribute but not by postprocess. - - * io.c: ditto. - (socket.h): now NaCl has socket.h - (flock): disable here instead of nacl/ioctl.h - - * nacl/GNUmakefile.in: ditto. - (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY): - respect path to them if they are absolute. - This helps naclports to build ruby in their source tree. - (PROGRAM_NMF, .SUFFIXES): support .pnexe for PNaCl. - (ruby.o, file.o): move the hack to attributes in ruby.c and file.c - - * nacl/ioctl.h: ditto. removed. move the hack to io.c. - - * nacl/nacl-config.rb: ditto. support arm, pnacl and others. - - * nacl/pepper_main.c: ditto. support build in a naclports tree. - - * ruby.c (rb_load_file): ditto. weaken with attribute but not by postprocess. - -Sat Oct 11 09:32:00 2014 Zachary Scott - - * ext/socket/unixsocket.c: [DOC] Fix example to render in HTML - properly, with a patch by @eval [Fixes GH-733] - https://github.com/ruby/ruby/pull/733 - -Sat Oct 11 04:14:41 2014 Kir Shatrov - - * lib/open-uri.rb (OpenURI::Options): add :open_timeout default - * (def OpenURI.open_http): check :open_timeout option - * (module OpenURI): rdoc for :open_timeout - * test/open-uri/test_open-uri.rb (test_open_timeout): new test - [Feature #10361] - -Fri Oct 10 11:27:49 2014 Nobuyoshi Nakada - - * include/ruby/io.h (rb_io_mode_flags, rb_io_modenum_flags): - deprecate old macros for compatibility for ruby 1.8 and older. - -Thu Oct 9 23:31:47 2014 Naohisa Goto - - * bignum.c (absint_numwords_generic): set an array element after - definition of a variable to fix compile error with older version - of fcc (Fujitsu C Compiler) 5.6 on Solaris 10 on Sparc. - [Bug #10350] [ruby-dev:48608] - -Thu Oct 9 16:15:26 2014 Eric Wong - - * ext/-test-/st/foreach/extconf.rb: new file - * ext/-test-/st/foreach/foreach.c: ditto - * test/-ext-/st/test_foreach.rb: ditto - [Feature #10321] - -Thu Oct 9 12:40:28 2014 Eric Wong - - * benchmark/bm_hash_aref_sym*.rb: force static symbols - -Thu Oct 9 12:38:28 2014 Eric Wong - - * hash.c (rb_any_hash): remove unnecessary dsym check - -Thu Oct 9 07:20:30 2014 Rei Odaira - - * missing/setproctitle.c: Avoid invalidating argv[1], argv[2], - etc. until the first call to Process.setproctitle, because - the ps command of AIX refers to the argv array. - [Bug #10090] - -Thu Oct 9 00:53:15 2014 Nobuyoshi Nakada - - * dir.c (dir_s_aref): fix rdoc. `Dir.glob` allows an array but - `Dir[]` not. the former accepts an optional parameter `flags`, - while the latter accepts arbitrary number of arguments but no - `flags`. [ruby-core:65265] [Bug #10294] - -Wed Oct 8 21:44:10 2014 Masaki Suketa - - * ext/win32ole/win32ole_variable.c: use typed data. - -Wed Oct 8 16:36:47 2014 gogo tanaka - - * test/ruby/test_syntax.rb: added syntax tests of underscore - arguments. [Feature #10340][ruby-core:65496] - -Wed Oct 8 07:42:39 2014 NARUSE, Yui - - * lib/uri/generic.rb (URI#inspect): remove Object id. - URI is considered that it doesn't require id. - -Wed Oct 8 05:22:42 2014 Eric Wong - - * ext/etc/etc.c (etc_systmpdir): set default tmplen correctly - Fixup r47826 - -Wed Oct 8 05:16:32 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add @- and @+ for Matrix and Vector. - patch by gogo tanaka [#10068] [#10069] - -Wed Oct 8 04:58:48 2014 John Bachir - - * bootstraptest/test_io.rb (assert_finish): - normalize rescue for Timeout::Error - * lib/net/ftp.rb (Net#read_timeout): ditto for doc - * lib/resolv.rb (Resolv::ResolvTimeout): ditto for subclass - * lib/webrick/httprequest.rb (_read_data): ditto for rescue - * sample/timeout.rb (p timeout): ditto for call - * test/drb/drbtest.rb (test_06_timeout): ditto - * test/ruby/test_readpartial.rb (test_open_pipe): ditto - * test/thread/test_queue.rb (test_queue_thread_raise): ditto - * thread.c (rb_thread_s_handle_interrupt): ditto for doc - [ruby-core:65481] [misc #10339] - -Wed Oct 8 04:38:29 2014 Rei Odaira - - * test/ruby/test_process.rb (TestProcess#test_setsid): AIX - does not allow Process::getsid(pid) when pid is in a - different session. - -Wed Oct 8 04:33:04 2014 Rei Odaira - - * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding): - On AIX, locale_charmap is ISO-8859-1 with LANG=C. This means - the source encoding of stdin is ISO-8859-1, so "invalid - multibyte char" error does not occur. - -Wed Oct 8 04:30:29 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add Matrix#laplace_expansion. - patch by gogo tanaka [#10073] - -Wed Oct 8 04:29:21 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add Vector.basis. - Based on patch by gogo tanaka [#10072] - -Tue Oct 7 23:40:16 2014 Nobuyoshi Nakada - - * signal.c (rb_f_kill): get rid of deadlock as unhandled and - discarded signals do not make interrupt_cond signaled. - based on the patch by Kazuki Tsujimoto at [ruby-dev:48606]. - [Bug #9820] - -Tue Oct 7 22:43:44 2014 Masaki Suketa - - * ext/win32ole/win32ole_method.c: use typed data. - -Tue Oct 7 21:47:05 2014 Masaki Suketa - - * ext/win32ole/win32ole_param.c: refactoring. - -Tue Oct 7 21:40:17 2014 Masaki Suketa - - * ext/win32ole/win32ole_method.c: refactoring. add - olemethod_data_get_struct to wrap Data_Get_Struct. - * ext/win32ole/win32ole_method.h: ditto. - - * ext/win32ole/win32ole_param.c (oleparam_ole_param): - call olemethod_data_get_struct instead of Data_Get_Struct. - -Tue Oct 7 11:17:08 2014 Nobuyoshi Nakada - - * ext/etc/etc.c (etc_systmpdir): try user temporary directory by - confstr() on Mac OS X. - c.f. http://www.opensource.apple.com/source/ruby/ruby-104/patches/ext_etc_etc.c.diff - -Tue Oct 7 10:48:17 2014 Nobuyoshi Nakada - - * configure.in (struct stat.st_size): prefer off_t over int, long, - and so on. inspired by - http://www.opensource.apple.com/source/ruby/ruby-104/patches/config.h.ed - -Tue Oct 7 10:37:39 2014 Nobuyoshi Nakada - - * configure.in (RUBY_UNIVERSAL_ARCH): fix missing quoting - brackets. incorporated from - http://www.opensource.apple.com/source/ruby/ruby-104/patches/configure.diff - -Mon Oct 6 23:34:42 2014 Masaki Suketa - - * ext/win32ole/win32ole_param.c: use typed data. - -Mon Oct 6 22:37:09 2014 Nobuyoshi Nakada - - * symbol.h (struct RSymbol): move from internal.h. - -Mon Oct 6 21:43:03 2014 NAKAMURA Usaku - - * error.c: update exception tree. [DOC] - reported by @hemge via twitter. - -Mon Oct 6 18:43:03 2014 Rei Odaira - - * configure.in: Fix typo. [Bug #9914] - -Mon Oct 6 16:23:30 2014 Nobuyoshi Nakada - - * signal.c (rb_f_kill): should not ignore signal unless the - default handler is registered. [ruby-dev:48592] [Bug #9820] - -Mon Oct 6 16:07:11 2014 Nobuyoshi Nakada - - * test/ruby/test_string.rb (test_LSHIFT_neary_long_max): enable - only on platforms where string size range is smaller than memory - space. this test does not make sense but just wastes memory and - time on other platforms, as it is hardly possible that a string - size becomes neary LONG_MAX if long size equals pointer size. - [ruby-core:65410] [Bug #10325] - -Mon Oct 6 11:21:21 2014 Martin Duerst - - * tool/unicode_norm_gen.rb: Adding/tweaking comments. - -Mon Oct 6 10:57:57 2014 Martin Duerst - - * tool/unicode_norm_gen.rb: Adjusted directory paths. - -Mon Oct 6 10:27:27 2014 Martin Duerst - - * tool/unicode_norm_gen.rb: Data generation script imported from - https://github.com/duerst/eprun/blob/master/lib/generate.rb - -Mon Oct 6 10:15:15 2014 Martin Duerst - - * tool/downloader.rb: Adjust example in documentation for - Downloader.download. - -Mon Oct 6 10:07:07 2014 Martin Duerst - - * lib/unicode_normalize: New folder for Unicode normalization - functionality - -Sun Oct 5 11:04:13 2014 Luiz Angelo Daros de Luca - - * ext/digest/{md5,rmd160,sha1,sha2}/extconf.rb: configure OpenSSL - only if bundled libraries is not used, so that OpenSSL is not - linked unnecessarily. [ruby-core:65404] [Bug #10324] - -Sun Oct 5 10:39:11 2014 Luiz Angelo Daros de Luca - - * ext/digest/rmd160/extconf.rb: fix transform function name to - check. [ruby-core:65091] [Bug #10252] - -Sun Oct 5 05:46:00 2014 Eric Wong - - * ext/zlib/zlib.c (zstream_mark, zstream_free): update signature - (gzfile_mark, gzfile_free): ditto - (zstream_memsize): new function for rb_data_type->dsize - (gzfile_memsize): ditto - (zstream_data_type, gzfile_data_type): new data types - (zstream_new): Data_Make_Struct => TypedData_Make_Struct - (gzfile_new): ditto - (get_zstream, get_gzfile): Data_Get_Struct => TypedData_Get_Struct - (rb_zstream_flush_next_in): ditto - (rb_zstream_flush_next_out): ditto - (rb_zstream_avail_out): ditto - (rb_zstream_avail_in): ditto - (rb_zstream_closed_p): ditto - (rb_deflate_initialize): ditto - (rb_deflate_init_copy): ditto - (rb_inflate_initialize): ditto - (gzfile_ensure_close): ditto - (rb_gzfile_closed_p): ditto - (rb_gzfile_path): ditto - (rb_gzwriter_initialize): ditto - (rb_gzreader_initialize): ditto - (rb_gzreader_unused): ditto - [ruby-core:65377] [Feature #10319] - -Sat Oct 4 16:24:41 2014 Rei Odaira - - * test/test_syslog.rb (TestSyslog#test_log): In AIX, each output - line of LOG_PERROR to stderr has an additional empty line appended, - so skip that line. - -Sat Oct 4 16:05:49 2014 Rei Odaira - - * test/socket/test_unix.rb (TestSocket_UNIXSocket#test_too_long_path): - sockaddr_un.sun_path in AIX is defined as char[1024], - so "a" * 300 is not too long. "a" * 3000 would be enough. - -Sat Oct 4 09:12:03 2014 Zachary Scott - - * ext/win32ole/sample/example*.rb: Add wait input to quit for examples - with patch provided by @windwiny [Fixes GH-705] - https://github.com/ruby/ruby/pull/705 - -Sat Oct 4 09:08:18 2014 Zachary Scott - - * ext/win32ole/win32ole.c: [DOC] Fix typo in :nodoc: reported by - @windwiny to [Fix GH-705] https://github.com/ruby/ruby/pull/705 - - * ext/pty/pty.c: ditto - -Sat Oct 4 08:59:45 2014 Zachary Scott - - * ext/openssl/ossl_rand.c: [DOC] Add call signature for pseudo_bytes - and random_bytes, wrap lines at 80 chars, and remove useless - comments. - -Sat Oct 4 08:49:34 2014 Zachary Scott - - * ext/openssl/ossl_rand.c: [DOC] Add rdoc for method descriptions - By @vipulnsward [Fixes GH-657] https://github.com/ruby/ruby/pull/657 - -Sat Oct 4 08:23:48 2014 Zachary Scott - - * ext/openssl/ossl_rand.c: Use rb_define_module_function instead of - macro. [Fixes GH-686] https://github.com/ruby/ruby/pull/686 - -Sat Oct 4 06:04:56 2014 Masaki Suketa - - * ext/win32ole/win32ole_method.c(olemethod_set_member): remove - redundant NULL check. - * ext/win32ole/win32ole_type.c(oletype_set_member): ditto. - -Sat Oct 4 00:25:04 2014 SHIBATA Hiroshi - - * .travis.yml: removed needless preparation for gcc. - -Fri Oct 3 23:41:20 2014 SHIBATA Hiroshi - - * .travis.yml: enabled gcc build with osx on travis. - -Fri Oct 3 23:22:23 2014 Hiroshi Shirosaki - - * template/fake.rb.in: fix make install failure due to MSYS path - with mingw on MSYS environment. - [ruby-core:64965] [Bug #10230] - -Fri Oct 3 21:02:32 2014 SHIBATA Hiroshi - - * test/ruby/test_io.rb (TestIO#test_advise): avoid to infinite loop. - -Fri Oct 3 19:26:01 2014 SHIBATA Hiroshi - - * .travis.yml: enabled test results of linux. - -Fri Oct 3 18:52:16 2014 SHIBATA Hiroshi - - * test/ruby/test_io.rb (TestIO#test_advise): added workaround of fadvise(2) - with tmpfs and old linux kernel. [ruby-core:65355][Bug #10313] - -Fri Oct 3 18:22:45 2014 SHIBATA Hiroshi - - * .travis.yml: Disabled to generate document on travis. - Reduce test running time. - -Fri Oct 3 12:42:15 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add hstack & vstack methods. - Based on a patch by creasywuqiong. [Fix GH-344] - -Fri Oct 3 12:37:48 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Fix Matrix.rows copy bug. - Patch by Arron Mabrey. [Fix GH-707] - -Fri Oct 3 06:06:28 2014 Eric Wong - - * st.c (next_pow2): new function (from old bignum.c) - (new_size): use next_pow2 function - -Fri Oct 3 05:58:58 2014 Eric Wong - - * vm_trace.c (rb_tp_t): pack 56 => 48 bytes on 64-bit - -Thu Oct 2 18:41:45 2014 NAKAMURA Usaku - - * ext/etc/etc.c (etc_nprocessors): Windows support. - see [Feature #10267] - -Thu Oct 2 12:21:52 2014 Tanaka Akira - - * ext/etc/etc.c (etc_nprocessors): New method. - Accepted by matz at RubyKaigi 2014. - [ruby-core:65142] [Feature #10267] - -Thu Oct 2 07:56:49 2014 Eric Wong - - * iseq.c (rb_iseq_line_trace_each): explicit cast - Fix https://travis-ci.org/ruby/ruby/jobs/36814282 - -Thu Oct 2 05:40:05 2014 Eric Wong - - * ruby.h: set rb_event_flag_t to uint32_t - [ruby-core:65315] [misc #10249] - -Thu Oct 2 05:32:17 2014 Eric Wong - - * io.c (fptr_finalize): free memory before GC sweep - [ruby-core:65269] [Feature #10295] - -Thu Oct 2 05:27:24 2014 Eric Wong - - * marshal.c (w_class): check dump_arg->compat_tbl before lookup - (w_object): lazy init ->compat_tbl before insert - (obj_alloc_by_class): ditto - (clear_dump_arg): free only non-NULL ->compat_tbl - (clear_load_arg): ditto for ->compat_tbl - (marshal_dump): ->compat_tbl defaults to zero - (marshal_load): ditto for ->compat_tbl - (r_entry0): check l->compat_tbl before lookup - (r_fixup_compat): ditto - [ruby-core:65305] [Feature #10302] - -Wed Oct 1 21:14:34 2014 Masaki Suketa - - * ext/win32ole/win32ole_type.c: use typed data. - -Wed Oct 1 18:15:42 2014 Nolan Evans - - * compile.c: remove commented out code. - -Wed Oct 1 17:38:53 2014 Rei Odaira - - * test/fileutils/test_fileutils.rb: AIX does not allow - a sticky bit on a regular file. - -Wed Oct 1 17:31:41 2014 Eric Hodel - - * NEWS: Add RubyGems update. - -Wed Oct 1 17:28:58 2014 Eric Hodel - - * lib/rubygems: Update to RubyGems 2.4.2. - * test/rubygems: ditto. - -Tue Sep 30 22:25:32 2014 Nobuyoshi Nakada - - * parse.y (parser_data_type): separate ripper data type for from - parser. - -Tue Sep 30 18:46:31 2014 Masaki Suketa - - * ext/win32ole/win32ole_typelib.c: use typed data. - -Tue Sep 30 09:51:46 2014 SHIBATA Hiroshi - - * common.mk: fixed broken reference of update-config_files task - -Mon Sep 29 22:54:51 2014 Nobuyoshi Nakada - - * win32/file.c (append_wstr): set expanded length, not length of - appended string. fix "probable buffer overflow" bug. - [ruby-core:65317] [Bug #10304] - - * string.c (str_make_independent_expand): drop NOFREE flag after - reallocation, static buffer is not pointed anymore. - [ruby-core:65317] [Bug #10304] - -Sun Sep 28 23:59:17 2014 Kazuki Tsujimoto - - * gc.c (rb_gcdebug_print_obj_condition): use RVALUE_REMEMBERED - because GET_HEAP_REMEMBERSET_BITS is obsoleted. - -Sun Sep 28 11:14:14 2014 Martin Duerst - - * common.mk: Created new target update-unicode to download - some Unicode data files. - -Fri Sep 26 15:03:19 2014 Masaki Matsushita - - * lib/uri/rfc3986_parser.rb: raise URI::InvalidURIError when - uri doesn't respond to #to_str. [ruby-core:64453] [Bug #10150] - - * test/uri/test_parser.rb: test for above. - -Sat Sep 27 10:31:48 2014 Kazuki Tsujimoto - - * gems/bundled_gems: upgraded to power_assert 0.1.4. - -Fri Sep 26 12:52:36 2014 Nobuyoshi Nakada - - * ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO - should be writable any encoding strings, without conversion. - [ruby-core:65240] [Bug #10285] - -Fri Sep 26 05:21:01 2014 Eric Wong - - * object.c (rb_class_real): do not dereference 0 VALUE - - * test/ruby/test_module.rb (test_inspect_segfault): - Test case and bug report by Thomas Stratmann. - [ruby-core:65214] [Bug #10282] - -Fri Sep 26 05:12:10 2014 Eric Wong - - * man/ruby.1: document stack size env variables - [Feature #10197] - -Thu Sep 25 19:37:34 2014 Eric Wong - - * io.c (free_io_buffer): new function for a common pattern - (clear_readconv): use free_io_buffer - (rb_io_fptr_finalize): ditto - -Thu Sep 25 07:51:07 2014 Ayumu AIZAWA - - * lib/matrix.rb: Fix docs. Patched by Ben Woodall. [GH-726] - -Wed Sep 24 19:04:04 2014 Martin Duerst - - * enc/unicode/data: New directory for downloaded Unicode - data files. - -Wed Sep 24 18:59:59 2014 Martin Duerst - - * tool/downloader.rb: Adjusting example for - Downloader.download to implementation changes in r47693. - -Wed Sep 24 18:06:06 2014 Martin Duerst - - * tool/downloader.rb: Removing unused method - Downloader.download_if_modified_since. - (if ever used, just replace with Downloader.download) - -Wed Sep 24 17:59:59 2014 Martin Duerst - - * tool/downloader.rb: Fixing raise after return. - -Wed Sep 24 17:55:55 2014 Martin Duerst - - * tool/downloader.rb: Made Unicode data file location available - via :unicode Symbol. - -Wed Sep 24 10:45:45 2014 Martin Duerst - - * tool/downloader.rb: Small fix to documentation comment. - -Tue Sep 23 22:00:20 2014 Nobuyoshi Nakada - - * parse.y (parse_ident): just after a label, new expression should - start, cannot be a modifier. [ruby-core:65211] [Bug #10279] - -Tue Sep 23 16:07:07 2014 Martin Duerst - - * tool/downloader.rb: added Downloader.download_if_modified_since - to reduce downloads of large files that change only rarely. - [ruby-core:65164] [CommonRuby - Feature #10084] - -Tue Sep 23 11:55:09 2014 SHIBATA Hiroshi - - * .travis.yml: added rubyspec into travis tasks and eliminate to stdout. - -Mon Sep 22 20:00:29 2014 Masaki Suketa - - * test/win32ole/test_win32ole_variant.rb - (test_conversion_time2date_with_msec): test by using only - assert_in_delta to avoid to fail when converting Time object with - 999999999 nanoseconds into VT_DATE Variant. - -Mon Sep 22 19:49:12 2014 Zachary Scott - - * doc/syntax/methods.rdoc: [DOC] [] and []= methods by @process - [Fixes GH-662] https://github.com/ruby/ruby/pull/662 - -Mon Sep 22 18:21:35 2014 SHIBATA Hiroshi - - * .travis.yml: Only osx build is enabled. linux builds is random failure - and test results of major linux is covered by rubyci. - -Mon Sep 22 12:10:29 2014 Tanaka Akira - - * test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g. - [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch. - -Mon Sep 22 09:28:43 2014 Eric Wong - - * ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 => 16 bytes - * ext/socket/init.c (connect_arg): ditto - * ext/socket/raddrinfo.c (getnameinfo_arg): 56 => 48 bytes - (reductions only for 64-bit systems) - -Mon Sep 22 02:04:25 2014 Tanaka Akira - - * lib/drb/drb.rb: Support graceful shutdown. - (DRbTCPSocket#initialize): Create a pipe for shutdown notification. - (DRbTCPSocket#close): Invoke close_shutdown_pipe. - (DRbTCPSocket#close_shutdown_pipe): New private method. - (DRbTCPSocket#accept): Use accept_or_shutdown. - (DRbTCPSocket#accept_or_shutdown): New private method which returns - nil on shutdown. - (DRbServer#stop_service): Use shutdown instead of Thread#kill. - (DRbServer#run): Break infinite loop when main_loop returns nil. - (DRbServer#main_loop): @protocol.accept may return nil. - - * lib/drb/ssl.rb: Follow above change. - - * lib/drb/unix.rb: Ditto. - -Sun Sep 21 13:54:36 2014 Masaki Matsushita - - * time.c: raise exception when minutes of utc_offset is out of 00-59. - patch is from Kenichi Kamiya. - [ruby-dev:47539] [Bug #8679] - - * test/ruby/test_time.rb: test for above. - patch is from Kenichi Kamiya. - -Sun Sep 21 19:04:08 2014 Narihiro Nakamura - - * st.c (do_hash_bin): unused macro. - -Sun Sep 21 18:45:01 2014 Narihiro Nakamura - - * parse.y (parser_class_nest): unused variable after YARV - merged (r11439). - -Sun Sep 21 18:14:03 2014 Narihiro Nakamura - - * st.c (numberof): unused. internal.h has same macro. - - * node.c (F_CUSTOM2): unused. - -Sun Sep 21 14:11:23 2014 Tanaka Akira - - * thread_pthread.c (native_set_thread_name): New function to - set thread name visible with ps command on GNU/Linux. - Ex. ps -o %c -L - - * thread.c (thread_start_func_2): Call native_set_thread_name at - beginning. - (rb_thread_inspect_msg): Extract from rb_thread_inspect. - -Sun Sep 21 12:49:11 2014 Eric Wong - - * iseq.c (rb_iseq_defined_string): trim redundant semi-colon - -Sun Sep 21 12:19:29 2014 Eric Wong - - * file.c (rb_find_file_ext_safe): clear tmp buffer on failure - (rb_find_file_safe): ditto - -Sat Sep 20 04:42:18 2014 Masaki Matsushita - - * lib/csv.rb: avoid unnecessary object allocations. - patch is from Andrew Vit. [ruby-core:63215] [Feature #9952] - -Sun Sep 21 12:10:18 2014 SHIBATA Hiroshi - - * lib/rexml/**/*.rb: removed commented-out code. - -Sat Sep 20 03:46:58 2014 Masaki Matsushita - - * array.c: use rb_equal_opt() for performance improvement. - [ruby-core:64954] [Feature #10227] - -Sun Sep 21 11:16:56 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (rbtime2vtdate, vtdate2rbtime): fix - the bug in conversion of milliseconds. [Bug #10258] - - * test/win32ole/test_win32ole_variant.rb - (test_conversion_dbl2date_with_msec, - test_conversion_time2date_with_msec): use assert_in_delta instead - of assert_equal to treat an acceptable error range. - -Sun Sep 21 11:03:32 2014 Nobuyoshi Nakada - - * signal.c (ruby_signal): although "EINVAL from sigaction(2) is - not a bug", but even it is a failure. pointed at toRuby/guRuby - in RubyHiroba. - -Sat Sep 20 03:00:26 2014 Masaki Matsushita - - * lib/tempfile.rb: define parameters appropriately and some - refactoring. - - * lib/tmpdir.rb: ditto. - -Sat Sep 20 23:58:21 2014 Tanaka Akira - - * enum.c (enum_chunk): Deprecate the state management. - (enum_slice_before): Ditto. - -Sat Sep 20 15:39:11 2014 Tanaka Akira - - * enum.c (enum_slice_when): New method: Enumerable#slice_when. - (slicewhen_i): New function. - (slicewhen_ii): New function. - - * enumerator.c (InitVM_Enumerator): New method: - Enumerator::Lazy#slice_when. - - [ruby-core:62499] [Feature #9826] - -Sat Sep 20 11:55:19 2014 SHIBATA Hiroshi - - * .travis.yml: added new configurations for osx on travis ci. - [fix GH-723] - * test/ruby/test_object.rb: tweaked to memory leak limit for osx build. - -Sat Sep 20 10:48:41 2014 Nobuyoshi Nakada - - * parse.y (assoc): allow quoted ID as a key of a hash literal. - [ruby-core:34453] [Feature #4276] - -Sat Sep 20 10:23:00 2014 Nobuyoshi Nakada - - * compile.c (iseq_set_arguments): store local variable IDs in - temporary list as Symbols. previously these are stored as - Fixnums to prevent from GC, but IDs of dynamic symbols can - exceed Fixnum range and cause RangeError at inverting from - Fixnum. [ruby-dev:48564] [Bug #10266] - -Sat Sep 20 10:02:51 2014 Tanaka Akira - - * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#pretty_print): - New method. - (OpenSSL::X509::Certificate#pretty_print): Ditto. - - * ext/openssl/lib/openssl/bn.rb (OpenSSL::BN#pretty_print): Ditto. - -Sat Sep 20 07:55:57 2014 Nobuyoshi Nakada - - * vm_eval.c (eval_string_with_cref): fix super from eval with - scope. set klass in the current control frame to the class of - the receiver in the context to be evaluated, this class/module - must match the actual receiver to call super. - [ruby-core:65122] [Bug #10263] - -Fri Sep 19 20:06:00 2014 Nobuyoshi Nakada - - * symbol.c (rb_str_dynamic_intern): check if the stem ID of - attrset ID is already registered as a static ID. - [ruby-dev:48559] [Bug #10259] - -Fri Sep 19 15:48:09 2014 NAKAMURA Usaku - - * win32/Makefile.sub (VCSUP): nothing to do if this worktree is not - under any VCS (it means that the worktree may be from the release - package). - -Fri Sep 19 10:47:03 2014 Nobuyoshi Nakada - - * test/ruby/test_math.rb (TestMath#assert_infinity): Float#finite? - returns true also for NaN, so use Float#infinite? instead. - [ruby-core:65117] [Feature #10261] - -Fri Sep 19 05:36:16 2014 Eric Wong - - * NEWS: note --with-jemalloc option [ci skip] - -Thu Sep 18 16:26:27 2014 NAKAMURA Usaku - - * test/rubygems/test_gem_commands_setup_command.rb: @ui uses StringIO - as its streams, and Encoding.default_external does not effect to - StringIOs already exist. so, we need to set external_encoding of - @ui.outs directly. this problem (test failure) does not appear in - the environments default_external is us-ascii or utf-8. - -Thu Sep 18 15:02:15 2014 NAKAMURA Usaku - - * test/rubygems/test_gem_specification.rb: '/' is not always the root. - -Thu Sep 18 09:36:37 2014 Scott Francis - - * vm_method.c (Init_Method): make global method cache size - configurable by environment variable - "RUBY_GLOBAL_METHOD_CACHE_SIZE" [Fix GH-719] - -Thu Sep 18 07:03:36 2014 Eric Wong - - * test/-ext-/string/test_modify_expand.rb: increase limit - for {je,tc}malloc [Bug #10236] - -Thu Sep 18 06:41:18 2014 Eric Wong - - * ext/zlib/zlib.c (struct gzfile): pack (288 => 272 bytes) on 64-bit - -Thu Sep 18 05:44:05 2014 Eric Wong - - * ext/socket/init.c (rsock_connect): refactor for blocking - (wait_connectable): clear error before wait - [Bug #9356] - -Wed Sep 17 23:12:36 2014 NARUSE, Yui - - * lib/uri/rfc3986_parser.rb: specify a regexp for :OPAQUE; generic.rb - assumes it is present, and will refuse all values otherwise. - by Matthew Draper - https://github.com/ruby/ruby/pull/718 fix GH-718 - -Wed Sep 17 16:22:58 2014 Eric Wong - - * ext/zlib/zlib.c (zlib_mem_alloc): check overflow - -Wed Sep 17 11:33:35 2014 Laurent Arnoud - - * test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof): - added test for long long [fix GH-716] - -Wed Sep 17 11:09:21 2014 SHIBATA Hiroshi - - * tool/rbinstall.rb: fixed invalid options with latest rubygems. - https://github.com/rubygems/rubygems/issues/1013 - -Tue Sep 16 19:19:00 2014 Nobuyoshi Nakada - - * benchmark/bm_app_aobench.rb: update outdated links to the - original program. [ruby-dev:48550] [Feature #10247] - -Tue Sep 16 01:06:40 2014 NARUSE, Yui - - * reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544 - -Mon Sep 15 16:21:10 2014 Eric Wong - - * io.c (struct io_advise_struct): 32 => 24 bytes on 64-bit - * io.c (struct io_internal_writev_struct): 24 => 16 bytes on 64-bit - * process.c (struct waitpid_arg): ditto - -Mon Sep 15 10:29:25 2014 Natalie Weizenbaum - - * ext/pathname/lib/pathname.rb (SAME_PATHS): - Pathname#relative_path_from uses String#casecmp to compare strings - on case-insensitive filesystem platforms (e.g., Windows). This can - return nil for strings with different encodings, and the code - previously assumed that it always returned a Fixnum. [Fix GH-713] - -Mon Sep 15 09:43:18 2014 Sho Hashimoto - - * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo, - SIZEOF_LONG_LON. [Fix GH-714] - -Mon Sep 15 08:13:40 2014 Matthew Draper - - * sprintf.c (rb_str_format): rational 'f' format works for more - values. [fix GH-717] - -Sun Sep 14 16:57:27 2014 Eric Wong - - * template/vm.inc.tmpl: "insns.c" => "insns.def" - * tool/instruction.rb: typo fix - -Sun Sep 14 12:29:52 2014 SHIBATA Hiroshi - - * test/test_tracer.rb: fixed testcase for rubygems update. - -Sun Sep 14 12:29:02 2014 SHIBATA Hiroshi - - * lib/rubygems: Update to RubyGems 2.4.1 master(713ab65) - Complete history at: - https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216 - - * test/rubygems: ditto. - -Sun Sep 14 11:03:24 2014 Aaron Patterson - - * ext/psych/lib/psych.rb: update version - * ext/psych/psych.gemspec: ditto - -Sun Sep 14 08:43:37 2014 Eric Wong - - * ccan/container_of/container_of.h (container_of_or_null): added - [ccan 7ec5b8e06b2fd5fa98b1fcde1158c286d2d429d8] (David Gibson) - -Sun Sep 14 08:41:44 2014 Eric Wong - - * ccan/list/list.h (list_del_init, list_node_init): new functions - for multiple list_del() calls - [ccan ec8654d94d3c5c47aa5f82698f7e8048c79765b1] (Rusty Russell) - -Sat Sep 13 22:19:26 2014 Bernard Potocki - - * hash.c (rb_hash_aset): fix misleading example which may suggest - that Hash.store will return self instead of value - Hash#store - is returning value and update itself, as well as Hash#[]=. - [Fix GH-715] - -Sat Sep 13 15:16:31 2014 Eric Wong - - * class.c: use ALLOC(rb_subclass_entry_t) - -Sat Sep 13 14:14:00 2014 Eric Wong - - * process.c (free_exec_arg): remove - (memsize_exec_arg): ptr is never NULL - (exec_arg_data_type): use RUBY_TYPED_DEFAULT_FREE - - * variable.c (autoload_i_free): remove - (autoload_data_i_type): use RUBY_TYPED_DEFAULT_FREE - (autoload_memsize): ptr is never NULL - - * vm_backtrace.c (location_free): remove - (location_mark): ptr is never NULL - (location_data_type): use RUBY_TYPED_DEFAULT_FREE - (backtrace_mark): ditto - (backtrace_free): ditto - -Sat Sep 13 13:43:07 2014 Eric Wong - - * doc/NEWS-2.0.0: fix typo for default RUBY_FIBER_MACHINE_STACK_SIZE - [ci skip] - -Sat Sep 13 11:16:58 2014 Masaki Suketa - - * ext/win32ole/win32ole_event.c(ev_advise, ole_event_free, - fev_s_allocate, fev_unadvise): avoid segmentation fault when COM - server freed before calling Unadvise from WIN32OLE_EVENT object. - * ext/win32ole/win32ole.c: ditto. - -Sat Sep 13 09:47:44 2014 Eric Wong - - * man/ruby.1: use https for *.ruby-lang.org links - -Sat Sep 13 06:31:23 2014 Eric Wong - - * vm.c (thread_alloc): remove needless volatile - -Sat Sep 13 06:13:55 2014 Eric Wong - - * proc.c (proc_free): remove, use RUBY_TYPED_DEFAULT_FREE - (proc_mark, proc_memsize): remove needless branching - - * vm.c (env_free): remove, use RUBY_TYPED_DEFAULT_FREE - (env_mark, env_memsize): remove needless branching - -Sat Sep 13 05:52:15 2014 Eric Wong - - * proc.c (rb_proc_alloc): inline and move to vm.c - (rb_proc_wrap): new wrapper function used by rb_proc_alloc - (proc_dup): simplify alloc + copy + wrap operation - [ruby-core:64994] - - * vm.c (rb_proc_alloc): new inline function - (rb_vm_make_proc): call rb_proc_alloc - - * vm_core.h: remove rb_proc_alloc, add rb_proc_wrap - - * benchmark/bm_vm2_newlambda.rb: short test to show difference - -Sat Sep 13 04:40:04 2014 Eric Wong - - * process.c (Init_process): subclass Thread as Process::Waiter - (rb_detach_process): use Process::Waiter instead of singleton class - Thanks to headius and nobu. [Bug #10231] - - * test/ruby/test_process.rb (test_process_detach): new test - - * inits.c (rb_call_inits): call Init_Thread before Init_process to - ensure Process::Waiter may be a subclass of Thread - -Fri Sep 12 18:14:28 2014 Eric Wong - - * vm.c (env_alloc): inline to avoid extra zeroing - tiny speedup [ruby-core:64980] - -Fri Sep 12 17:13:29 2014 Nobuyoshi Nakada - - * vm_method.c (rb_method_entry_make, remove_method): ditto. - -Fri Sep 12 14:39:55 2014 SHIBATA Hiroshi - - * gems/bundled_gems: Upgraded to test-unit-3.0.1 and minitest-5.4.1 - -Fri Sep 12 06:55:40 2014 Eric Wong - - * string.c (Init_frozen_strings): use st_init_table_with_size - -Fri Sep 12 06:15:37 2014 NARUSE, Yui - - * string.c (sym_find): remove Symbol.find because we have Symbol GC now. - https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140904Japan - If you still want this, request again on Redmine. [Feature #7854] - https://bugs.ruby-lang.org/issues/7854 - - * ext/-test-/symbol/init.c (sym_find): moved from string.c for tests. - -Fri Sep 12 04:24:03 2014 Eric Wong - - * insns.def (once): define and use fake RUNNING_THREAD_ONCE_DONE - pointer to indicate is->once.running_thread is done. - - * vm_core.h (iseq_inline_storage_entry): remove done field, - allowing the union to be reduced from 24=>16 bytes on 64-bit - [Feature #10187] - -Thu Sep 11 20:10:00 2014 Koichi Sasada - - * vm.c (rb_thread_mark): use rb_gc_mark_values() to mark VM stack. - -Thu Sep 11 19:50:57 2014 Koichi Sasada - - * vm.c (rb_vm_register_special_exception): make new function to - make and register special exceptions. - - * vm.c (rb_vm_mark): do not need to mark special exceptions - because they are registered by rb_gc_register_mark_object(). - - * eval.c (Init_eval): use rb_vm_register_special_exception(). - - * gc.c (Init_GC): ditto. - - * proc.c (Init_Proc): ditto. - - * thread.c (Init_Thread): ditto. - -Thu Sep 11 19:32:30 2014 Koichi Sasada - - * gc.c (rb_gc_mark_values): added. - This function is similar to rb_gc_mark_locations(), but not - conservative. - - * internal.h: ditto. - - * vm.c (env_mark): use rb_gc_mark_values() because env values should - be Ruby VALUEs. - -Thu Sep 11 19:16:39 2014 Koichi Sasada - - * gc.c (gc_mark_ptr): rename to gc_mark_set. - - * gc.c (gc_mark): add gc_mark_ptr() to skip is_markable_object() - check. gc_mark_maybe() can use gc_mark_ptr() directly because - passed pointer is checked by is_pointer_to_heap(). - -Thu Sep 11 18:40:16 2014 SHIBATA Hiroshi - - * .gitignore: ignored temporary files and coverage results. - -Thu Sep 11 18:15:30 2014 SHIBATA Hiroshi - - * .gitignore: ignored only simplecov. - * coverage/README: Added coverage docs. - -Thu Sep 11 17:25:31 2014 Koichi Sasada - - * include/ruby/ruby.h, gc.c: add new internal events - RUBY_INTERNAL_EVENT_GC_ENTER and - RUBY_INTERNAL_EVENT_GC_EXIT. - - When invoking GC process, GC_ENTER event is called. - When exiting from GC process, GC_EXIT event is called. - - Incremental GC (incremental marking and lazy sweep) can call - these events many times. - - For example (minor marking): - (1) GC_ENTER - - (2) GC_START (minor GC) - (minor marking) - - (3) GC_END_MARK - (start lazy sweep) - (4) GC_EXIT - (ruby process) - (5) GC_ENTER - (lazy sweep) - (6) GC_EXIT - (ruby process) - (... repeat (5), (6)) - (7) GC_ENTER - (finish lazy sweep) - - (8) GC_END_SWEEP - (9) GC_EXIT - - 2nd example (incremental major marking): - (1) GC_ENTER - - (2) GC_START (minor GC) - (start incremental marking) - (3) GC_EXIT - (ruby process) - (4) GC_ENTER - (incremental marking) - (5) GC_EXIT - (ruby process) - (... repeat (4), (5)) - (6) GC_ENTER - (finish incremental marking) - - (7) GC_END_MARK - (start lazy sweep) - (8) GC_EXIT - (ruby process) - (9) GC_ENTER - (lazy sweep) - (10) GC_EXIT - (ruby process) - (... repeat (9), (10)) - (11) GC_ENTER - (finish lazy marking) - - (12) GC_STOP_SWEEP - (13) GC_EXIT - - These internal events enable to measure GC pause time completely. - -Thu Sep 11 17:04:54 2014 Eric Wong - - * lib/benchmark.rb: remove CLOCK_MONOTONIC_RAW support - Thanks to Vit Ondruch for reporting the issue on ARM. - [Bug #10202] - -Thu Sep 11 14:31:57 2014 Koichi Sasada - - * include/ruby/ruby.h: freeze nil/true/false. - [Feature #8923] - - * gc.c (should_be_finalizable): check frozen after checkin FL_ABLE. - - * object.c (rb_obj_taint): check - OBJ_TAINTABLE(obj). - - * object.c (rb_obj_freeze): remove immediate_frozen_tbl - because all of immediate values are frozen. YAY! - - * object.c (rb_obj_frozen_p): ditto. - - * test/ruby/test_eval.rb: skip instance_variable_set for - frozen objects. - - * test/ruby/test_weakmap.rb: check ArgumentError instead of - RuntimeError. - -Thu Sep 11 10:03:16 2014 SHIBATA Hiroshi - - * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(21b241a) - -Wed Sep 10 17:52:25 2014 Koichi Sasada - - * compile.c (rb_vm_addr2insn): rename to rb_vm_insn_addr2insn - to clear what address. - -Wed Sep 10 16:22:26 2014 Koichi Sasada - - * test/ruby/test_gc.rb: fix condition. - -Wed Sep 10 15:29:46 2014 Eric Wong - - * vm_core.h (rb_call_info_t): ci->flag becomes 32-bit unsigned int - ci->index becomes a 32-bit signed int (from signed long). - Reorder for better packing on 64-bit, giving an 8 byte reduction - from 104 to 96 bytes for each ci. - [Feature #10187] - - * compile.c (new_callinfo, setup_args, iseq_compile_each, - iseq_build_from_ary_body): adjust for type changes - - * vm_insnhelper.c (vm_getivar): ditto - -Wed Sep 10 15:07:35 2014 Eric Wong - - * compile.c (rb_iseq_translate_threaded_code): - modify in-place w/o copy - (rb_vm_addr2insn): new function for debug - (rb_iseq_original_iseq): ditto - (iseq_set_sequence): assign iseq_encoded directly - [Feature #10185] - - * vm_core (rb_iseq_t): move original ->iseq to bottom - - * iseq.c (iseq_free, iseq_free): adjust for new layout - (rb_iseq_disasm): use original iseq for dump - (iseq_data_to_ary): ditto - (rb_iseq_line_trace_each): ditto - (rb_iseq_build_for_ruby2cext): use iseq_encoded directly - - * vm_dump.c (rb_vmdebug_debug_print_pre): use original iseq - -Wed Sep 10 15:00:11 2014 Eric Wong - - * time.c (time_mark): remove NULL check - (time_memsize): ditto - (time_free): remove, use RUBY_TYPED_DEFAULT_FREE instead - [Feature #10219] - -Wed Sep 10 14:14:57 2014 NAKAMURA Usaku - - * common.mk (encs enc trans libencs libenc libtrans): force to run - enk.mk because common.mk does not know the dependency, but enk.mk - knows. [ruby-dev:48530] [Bug #10220] - -Wed Sep 10 11:59:10 2014 Koichi Sasada - - * gc.c (gc_stat): update rdoc. - -Wed Sep 10 11:52:08 2014 Koichi Sasada - - * gc.c (gc_stat_internal): rename: - * malloc_increase -> malloc_increase_bytes - * malloc_limit -> malloc_increase_bytes_limit - * oldmalloc_increase -> oldmalloc_increase_bytes - * oldmalloc_limit -> oldmalloc_increase_bytes_limit - ref: [Feature #9924] - -Wed Sep 10 11:45:40 2014 Koichi Sasada - - * gc.c (gc_stat_internal): rename `heap_used' to `heap_allocated_pages'. - ref: [Feature #9924] - - * test/ruby/test_gc.rb: add constraints test for gc stat information. - -Wed Sep 10 11:31:16 2014 Koichi Sasada - - * gc.c (gc_stat_internal): rename: - * remembered_shady_object -> remembered_wb_unprotected_objects - * remembered_shady_object_limit -> remembered_wb_unprotected_objects_limit - * old_object -> old_objects - * old_object_limit -> old_objects_limit - ref: [Feature #9924] - -Wed Sep 10 11:12:25 2014 Koichi Sasada - - * gc.c (gc_stat_internal): support: - * total_allocated_pages - * total_freed_pages - ref: [Feature #9924] - -Wed Sep 10 10:48:04 2014 Koichi Sasada - - * test/ruby/test_gc.rb: catch up last fix. - -Wed Sep 10 10:36:08 2014 Koichi Sasada - - * gc.c (objspace_total_slot): rename objspace_available_slots. - - * gc.c (objspace_live_slot, objspace_free_slot): rename - ..._slot() to ..._slots(). - - * gc.c (objspace_free_slot): should subtract heap_pages_final_slots. - - * gc.c (gc_stat_internal): - * add `heap_available_slots' field - * rename heap_live_slot to heap_live_slots - * rename heap_free_slot to heap_free_slots - ref: [Feature #9924] - -Wed Sep 10 07:22:53 2014 Koichi Sasada - - * gc.c: refactoring for RGENGC_PROFILE > 0. - - * rename rb_objspace_t::profile::..._count - to rb_objspace_t::profile::total_..._count - * rename promote_infant_types to promote_types - - * gc.c (gc_remember_unprotected): count remembered shady objects here. - -Wed Sep 10 03:12:12 2014 CHIKANAGA Tomoyuki - - * gc.c (init_mark_stack): MEMZERO() receive type as 2nd argument instead - of size. - Coverity Scan found this bug. - -Tue Sep 9 21:55:39 2014 Masaki Suketa - - * ext/win32ole/sample/excel2.rb: remove some commented-out code. - rotate graph more slowly to see graph clearly. - -Tue Sep 9 19:52:33 2014 Koichi Sasada - - * gc.c: rename rb_objspace_t::marked_objects to marked_slots. - - * gc.c (gc_marks_start): should be clear first. - - * gc.c (gc_marks_start): remembered shady objects are also marked. - - * gc.c (gc_stat_internal): add heap_marked_slots. - -Tue Sep 9 18:58:48 2014 Koichi Sasada - - * gc.c: rename - * total_allocated_object_num -> total_allocated_objects - * total_allocated_object_num_at_gc_start -> total_allocated_objects_at_gc_start - * total_freed_object_num -> total_freed_objects - - * gc.c (gc_stat_internal): - * rename total_allocated_object -> total_allocated_objects - * rename total_freed_object -> total_freed_objects - -Tue Sep 9 18:51:36 2014 Koichi Sasada - - * gc.c (gc_stat_internal): fix symbol names - * heap_final_slot -> heap_final_slots - * heap_swept_slot -> heap_swept_slots - -Tue Sep 9 18:18:07 2014 Koichi Sasada - - * gc.c (rb_objspace_t::heap_pages): rename field names: - * used -> allocated_pages - * increment -> allocatable_pages - * length -> sorted_length - And remove unused `limit' field. - - * gc.c: rename macros: - * heap_pages_used -> heap_allocated_pages - * heap_pages_length -> heap_pages_sorted_length - * heap_pages_increment -> heap_allocatable_pages - - * gc.c (gc_stat_internal): fix symbol names - * heap_used -> heap_allocated_pages - * heap_eden_page_length -> heap_eden_pages - * heap_tomb_page_length -> heap_tomb_pages - * heap_increment -> heap_allocatable_pages - * heap_length -> heap_sorted_length - - ref: [Feature #9924] - https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing - Yellow color fields in this table are changed. - - * test/ruby/test_gc.rb: catch up this change. - -Tue Sep 9 14:56:03 2014 Koichi Sasada - - * gc.c: continue layout changing. - - newobj_of() also touch: - (4) increment total_allocated_object_num - (5) check hook_events - - And gather fields related to marking phase. - -Tue Sep 9 14:21:50 2014 Koichi Sasada - - * gc.c: fix layout of rb_objspace_t to improve cache locality. - - newobj_of() accesses: - (1) rb_objspace_t::flags - (2) rb_objspace_t::eden_heap::freelist - (3) and rb_objspace_t::eden_heap::free_pages if freelist is NULL. - -Tue Sep 9 14:09:36 2014 Koichi Sasada - - * gc.c: move rb_objspace_t::flags::gc_stressful after during_gc - to make accessing both parameters easy. - - * gc.c (heap_get_freeobj): add LIKELY() hint. - - * gc.c (heap_get_freeobj_from_next_freepage): ditto. - - * gc.c (newobj_of): check both parameters at once for exceptional - case. - -Tue Sep 9 13:51:32 2014 Koichi Sasada - - * gc.c: add rb_objspace_t::flags::gc_stressful and - ruby_gc_stressful macro. - Rename objspace->gc_stress to objspace->gc_stress_mode. - - If objspace->gc_stress_mode is true (!nil and !false) then - ruby_gc_stressful becomes TRUE. - - ruby_gc_stressful will speedup newobj_of() slightly. - - * gc.c: initialize ruby_gc_stress(full|_mode) by gc_params.gc_stress - even if ENABLE_VM_OBJSPACE is false. - -Tue Sep 9 13:05:50 2014 Koichi Sasada - - * gc.c: remove ruby_disable_gc_stress and add ruby_disable_gc - to speed-up newobj_of(). - - * gc.c (ready_to_gc): check ruby_disable_gc. - - * signal.c: use ruby_disable_gc. - -Tue Sep 9 12:11:41 2014 Koichi Sasada - - * gc.c: rename gc_stat entries and check stat transition. - -Tue Sep 9 12:06:03 2014 Koichi Sasada - - * gc.c (gc_sweep_rest): remove wrong modification of during_gc flag. - -Tue Sep 9 11:39:41 2014 Koichi Sasada - - * gc.c: pack boolean values into rb_objspace_t::flags with bit fields - to improve cache locality. - -Tue Sep 9 11:11:05 2014 Koichi Sasada - - * test/ruby/test_object.rb: extend timeout. - -Tue Sep 9 09:02:07 2014 Nobuyoshi Nakada - - * lib/mkmf.rb (MakeMakefile#pkg_config): append --cflags to also - $CXXFLAGS, as they are often used by C++ compiler. - [ruby-core:54532] [Bug #8315] - -Tue Sep 9 07:03:22 2014 Eric Wong - - * compile.c: remove needless SYM2ID <-> ID2SYM conversions - [misc #10207] - -Tue Sep 9 05:48:42 2014 Eric Wong - - * symbol.c (rb_intern_cstr_without_pindown): check dsymbol on return - This is not a complete fix for bug 10206, but seems to reduce - that crash and also looks correct. - -Tue Sep 9 04:36:24 2014 Eric Wong - - * vm_core.h (rb_env_t): use flexible array - This reduces allocations and speeds up the lambda calculus - fizzbuzz (bm_app_lc_fizzbuzz.rb) benchmark [ruby-core:64858] - * proc.c (get_local_variable_ptr): deconst to adjust for flex array - * vm.c (env_mark, env_free, env_memsize): remove check for env->env - * vm.c (env_alloc): single allocation for flex array - * vm.c (vm_make_env_each): adjust env_alloc call - -Mon Sep 8 16:08:22 2014 Koichi Sasada - - * benchmark/bm_app_lc_fizzbuzz.rb: should skip output on benchmark. - -Mon Sep 8 16:04:02 2014 Koichi Sasada - - * benchmark/bm_app_lc_fizzbuzz.rb: `answer.to_a' does not return - a string, but an array. - -Mon Sep 8 13:18:37 2014 Koichi Sasada - - * benchmark/bm_app_lc_fizzbuzz.rb: added. - - This program is described closely in "Understanding Computation" - chapter 6 by Tom Stuart. - - Japanese translation will be published soon. - - -Mon Sep 8 12:01:39 2014 Koichi Sasada - - * gc.c: add incremental GC algorithm. [Feature #10137] - - Please refer this ticket for details. - - This change also introduces the following changes. - - * Remove RGENGC_AGE2_PROMOTION and introduce object age (0 to 3). - Age can be count with FL_PROMOTE0 and FL_PROMOTE1 flags in - RBasic::flags (2 bit). Age == 3 objects become old objects. - * WB_PROTECTED flag in RBasic to WB_UNPROTECTED bitmap. - * LONG_LIVED bitmap to represent living objects while minor GCs - It specifies (1) Old objects and (2) remembered shady objects. - * Introduce rb_objspace_t::marked_objects which counts marked - objects in current marking phase. marking count is needed to - introduce incremental marking. - * rename mark related function and sweep related function to - gc_(marks|sweep)_(start|finish|step|rest|continue). - * rename rgengc_report() to gc_report(). - * Add obj_info() function to get cstr of object details. - * Add MEASURE_LINE() macro to measure execution time of specific line. - * and many small fixes. - - * include/ruby/ruby.h: add flag USE_RINCGC. - Now USE_RINCGC can be set only with USE_RGENGC. - - * include/ruby/ruby.h: introduce FL_PROMOTED0 and add FL_PROMOTED1 - to count object age. - - * include/ruby/ruby.h: rewrite write barriers for incremental marking. - - * debug.c: catch up flag name changes. - - * internal.h: add rb_gc_writebarrier_remember() instead of - rb_gc_writebarrier_remember_promoted(). - - * array.c (ary_memcpy0): use rb_gc_writebarrier_remember(). - - * array.c (rb_ary_modify): ditto. - - * hash.c (rb_hash_keys): ditto. - - * hash.c (rb_hash_values): ditto. - - * object.c (init_copy): use rb_copy_wb_protected_attribute() because - FL_WB_PROTECTED is moved from RBasic::flags. - - * test/objspace/test_objspace.rb: catch up ObjectSpace.dump() changes. - -Sun Sep 7 12:47:06 2014 Tanaka Akira - - * process.c: PTHREAD_CANCEL_DISABLE is not defined on Android. - -Sat Sep 6 20:59:06 2014 Tanaka Akira - - * process.c (has_privilege): The gid zero is not a privilege. - -Sat Sep 6 20:19:16 2014 Tanaka Akira - - * process.c (struct child_handler_disabler_state): cancelstate field - added. - (disable_child_handler_before_fork): Record cancelstate. - (disable_child_handler_fork_parent): Restore cancelstate. - -Sat Sep 6 19:27:10 2014 Tanaka Akira - - * process.c (struct child_handler_disabler_state): Defined. - -Sat Sep 6 18:31:32 2014 SHIBATA Hiroshi - - * lib/rake.rb, lib/rake/*, test/rake/*: Update latest rake master(e47d023) - -Sat Sep 6 16:38:08 2014 Masaki Suketa - - * ext/win32ole/win32ole_variant.c (ole_val2variant_err, - ole_val2variantdata, Init_win32ole_variant): support VT_ERROR - variant with error code. add WIN32OLE_VARIANT::NoParam. - * test/win32ole/test_win32ole_variant.rb(test_c_noparam, - test_vt_error_noparam): ditto. - * ext/win32ole/win32ole.c: ditto. - -Sat Sep 6 11:08:52 2014 Nobuyoshi Nakada - - * parse.y (arg_ambiguous_gen): fix warning message, "even" does - not mean the number of spaces here. state the place to put a - space and the operator. [ruby-core:64790] [Bug #10204] - -Sat Sep 6 08:44:40 2014 Zachary Scott - - * lib/rdoc/generator/template/darkfish/js/jquery.js: Backport - rdoc/rdoc@74f60fcb04fee1778fe2694d1a0ea6513f8e67b7 - -Sat Sep 6 08:10:44 2014 Eric Wong - - * test/ruby/test_io.rb (test_readpartial_locktmp): use IO#nonblock= - Old fcntl invocation may drop necessary flags on some platforms. - -Sat Sep 6 07:46:51 2014 Eric Wong - - * test/ruby/test_io.rb (test_readpartial_locktmp): avoid EBADF - [ruby-core:64773] [ruby-core:64775] - -Sat Sep 6 01:34:31 2014 Tanaka Akira - - * process.c (rb_f_exec): Call before_exec_async_signal_safe and - after_exec_async_signal_safe around rb_exec_async_signal_safe. - (rb_exec_async_signal_safe): Don't call - before_exec_async_signal_safe and after_exec_async_signal_safe. - (rb_exec_without_timer_thread): Call before_exec and - after_exec. - (disable_child_handler_fork_child): Make SIGPIPE handler SIG_DFL. - -Sat Sep 6 00:49:41 2014 Tanaka Akira - - * signal.c (ruby_signal): Don't set SA_SIGINFO for SIG_IGN and - SIG_DFL. - -Fri Sep 5 21:45:33 2014 Tanaka Akira - - * process.c (disable_child_handler_before_fork): New function. - (disable_child_handler_fork_parent): Ditto. - (disable_child_handler_fork_child): Ditto. - (retry_fork_async_signal_safe): Call above functions to disable - signal handlers in child process. - -Fri Sep 5 21:02:54 2014 Tanaka Akira - - * process.c (handle_fork_error): Make try_gc_p argument volatile to - suppress "clobbered" warning. - -Fri Sep 5 20:48:06 2014 Tanaka Akira - - * process.c (handle_fork_error): Don't need state_p argument. - -Fri Sep 5 20:35:52 2014 Tanaka Akira - - * process.c (has_privilege): Fix a return value. - -Fri Sep 5 19:00:40 2014 SHIBATA Hiroshi - - * lib/shellwords.rb: proofreading documentation. - [Bug #10155][ruby-core:64471] - -Fri Sep 5 18:34:33 2014 Laurent Arnoud - - * test/csv/test_row.rb: Added some missing tests in CSV. - [fix GH-710] - * test/csv/test_table.rb: ditto. - -Fri Sep 5 12:57:52 2014 Tanaka Akira - - * process.c (has_privilege): Refine uid/gid check. - -Fri Sep 5 12:40:55 2014 Tanaka Akira - - * configure.in: Check sys/id.h, getuidx and getgidx for AIX. - - * process.c (getresuid): Defined for AIX. - (getresgid): Ditto - AIX don't have getresuid/getresgid but getuidx/getgidx. - -Fri Sep 5 12:28:21 2014 Tanaka Akira - - * process.c (has_privilege): Fix assignments. - -Fri Sep 5 11:10:13 2014 SHIBATA Hiroshi - - * lib/rdoc/generator/pot/po.rb: fixed broken tests for trailing whitespace. - * test/rdoc/test_rdoc_generator_pot.rb: ditto. - * test/rdoc/test_rdoc_generator_pot_po.rb: ditto. - -Fri Sep 5 10:41:07 2014 SHIBATA Hiroshi - - * test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_parse_file_encoding): - typofix. - -Fri Sep 5 10:39:14 2014 SHIBATA Hiroshi - - * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(313287) - -Fri Sep 5 06:04:22 2014 Eric Wong - - * vm.c: remove unused USE_THREAD_RECYCLE [misc #10198] - -Fri Sep 5 00:29:08 2014 Tanaka Akira - - * configure.in (dirfd): Check function. - - * dir.c (dir_fileno): New method. - [ruby-dev:48265] [Feature #9880] - -Thu Sep 4 23:39:52 2014 Tanaka Akira - - * process.c (has_privilege): New function. - (retry_fork_async_signal_safe): Don't use vfork() for privileged - process. - - * configure.in (getresuid): Check function. - (getresgid): Ditto. - -Thu Sep 4 20:22:14 2014 Laurent Arnoud - - * test/pathname/test_pathname.rb: added testcase for Pathname#mountpoint?. - [fix GH-709] - -Thu Sep 4 20:09:21 2014 SHIBATA Hiroshi - - * symbian/*: removed Symbian support. - [Feature #10199][ruby-core:64725] - * dln.c: ditto. - * include/ruby/defines.h: ditto. - * thread_pthread.c: ditto. - * vm.c: ditto. - -Thu Sep 4 17:44:40 2014 Koichi Sasada - - * dir.c (glob_helper): use #ifdef instead of #if. - gcc's -Wundef option shows warning for undefined macro. - - * numeric.c (flo_is_finite_p): ditto. - - * vm_dump.c (rb_vmdebug_thread_dump_state): ditto. - - * vm_core.h: define VM_DEBUG_VERIFY_METHOD_CACHE to 0. - -Thu Sep 4 03:57:46 2014 Eric Wong - - * man/ruby.1: spelling fix ("bellow" => "below") [ci-skip] - -Thu Sep 4 03:52:16 2014 Eric Wong - - * man/ruby.1: add trailing slash to URLs [ci-skip] - -Wed Sep 3 19:10:28 2014 Tanaka Akira - - * process.c (before_fork_ruby): Renamed from before_fork. - (after_fork_ruby): Renamed from after_fork. - -Wed Sep 3 18:56:05 2014 Tanaka Akira - - * process.c (forked_child): Removed. - -Wed Sep 3 16:56:07 2014 Nobuyoshi Nakada - - * object.c (rb_obj_copy_ivar): allocate no memory for empty - instance variables. [ruby-core:64700] [Bug #10191] - -Wed Sep 3 12:05:17 2014 Tanaka Akira - - * process.c (retry_fork_async_signal_safe): Use vfork() if available. - vfork() is still faster than fork() especially when the parent - process uses big memory. - - ruby -rbenchmark -e 'a = "a" * 1_000_000_000; puts Benchmark.measure { system("true") }' - fork: 0.000000 0.010000 0.010000 ( 0.014968) - vfork: 0.000000 0.000000 0.000000 ( 0.000912) - on Debian sid. - -Wed Sep 3 11:33:08 2014 SHIBATA Hiroshi - - * test/openssl/test_pkey_rsa.rb (OpenSSL#test_sign_verify_memory_leak): - added timeout into testcase for low performance environment. - [Bug #9984][ruby-core:63367] - -Wed Sep 3 07:50:15 2014 Tanaka Akira - - * configure.in: Use AC_FUNC_FORK. - - * io.c: Use HAVE_WORKING_FORK instead of HAVE_FORK. - - * process.c: Ditto. - -Wed Sep 3 00:12:44 2014 Tanaka Akira - - * process.c (retry_fork_async_signal_safe): Don't return on in child - process. - -Tue Sep 2 23:47:35 2014 Tanaka Akira - - * process.c (retry_fork_async_signal_safe): Specialized version of - retry_fork respect to rb_fork_async_signal_safe. - (retry_fork_ruby): Specialized version of retry_fork respect to - rb_fork_ruby. - (rb_fork_ruby): Removed. - -Tue Sep 2 23:26:26 2014 Tanaka Akira - - * process.c (send_child_error): Simplified. - (recv_child_error): Ditto. - -Tue Sep 2 22:56:25 2014 Tanaka Akira - - * process.c (rb_fork_async_signal_safe): Inline rb_fork_internal. - (rb_fork_ruby): Ditto. - (rb_fork_internal): Removed. - (chfunc_protect): Removed. - -Tue Sep 2 22:43:52 2014 Tanaka Akira - - * test/ruby/test_io.rb (test_new_with_block): Set autoclose to avoid - EBADF. - -Tue Sep 2 22:01:51 2014 Kouhei Sutou - - * Makefile.in (update-coverage): Remove a never executed line. - -Tue Sep 2 19:48:26 2014 Tanaka Akira - - * process.c (handle_fork_error): Extracted from retry_fork. - -Tue Sep 2 17:02:53 2014 Vit Ondruch - - * tool/rbinstall.rb: fixed error of local installation. - [Bug #10192][ruby-core:64702] - -Tue Sep 2 16:58:03 2014 SHIBATA Hiroshi - - * test/runner.rb: reporting test coverage for test-all with COVERAGE env. - [Feature #10189][ruby-core:64681][fix GH-708] - * Makefile.in: added task for coverage report. - * common.mk: added definition of forked simplecov url. - * .gitignore: ignored coverage directory. - -Mon Sep 1 20:11:02 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (rbtime2vtdate): try to convert millisecond - of Time object to millisecond of VT_DATE VARIANT. - * test/win32ole/test_win32ole_variant.rb - (test_conversion_time2date_with_msec): ditto. - -Sun Aug 31 16:58:49 2014 Tanaka Akira - - * lib/benchmark.rb: Fix a syntax error. - -Sun Aug 31 08:46:44 2014 Eric Wong - - * ext/zlib/zlib.c (gzfile_reset): preserve ZSTREAM_FLAG_GZFILE - [Bug #10101] - - * test/zlib/test_zlib.rb (test_rewind): test each_byte - -Sat Aug 30 19:22:47 2014 Eric Wong - - * symbol.c (rb_sym2id): do not return garbage object - -Sat Aug 30 06:39:48 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/yaml_tree.rb: fix NameError dumping and - loading. Fixes GH #85. Thanks @brentdax for the patch! - * test/psych/test_exception.rb: test for fix - -Sat Aug 30 06:23:40 2014 Aaron Patterson - - * ext/psych/lib/psych/scalar_scanner.rb: fix loading strings that - look like integers but have a newline. Fixes GH #189 - * test/psych/test_string.rb: test for fix - -Sat Aug 30 06:10:39 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/to_ruby.rb: merge keys with a hash - should merge the hash in to the parent. - * test/psych/test_merge_keys.rb: test for change. Fixes GH #202 - -Sat Aug 30 06:00:26 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/to_ruby.rb: quoted "<<" strings - should not be treated as merge keys. - * ext/psych/lib/psych/visitors/yaml_tree.rb: hashes with keys - containing "<<" should roundtrip. - * test/psych/test_merge_keys.rb: test for change. Fixes GH #203 - -Fri Aug 29 17:56:44 2014 SHIBATA Hiroshi - - * test/net/imap/test_imap_response_parser.rb: removed needless code. - -Fri Aug 29 17:36:58 2014 SHIBATA Hiroshi - - * test/rinda/test_rinda.rb: removed useless assignment variables. - * test/rss/rss-assertions.rb: ditto. - * test/rss/test_maker_itunes.rb: ditto. - -Fri Aug 29 16:18:26 2014 Eric Wong - - * string.c: revert part of r47311, add rb_vm_fstring_table(), - remove vm_core.h dependency. [ruby-core:64627] - -Fri Aug 29 15:17:13 2014 Eric Wong - - * string.c: remove static frozen_strings - * string.c (Init_frozen_strings): new function - * string.c (rb_fstring): remove check for frozen strings, - use per-VM table - * string.c (rb_str_free): use per-VM table - * string.c (Init_String): use per-VM table - * vm_core.h (rb_vm_t): add frozen_strings table - * internal.h (Init_frozen_strings): new function prototype - * eval.c (ruby_setup): call Init_frozen_strings - [Feature #10182] - -Wed Aug 27 23:10:24 2014 Masaki Matsushita - - * lib/tempfile.rb: remove "require 'thread'". its features are no - longer used. - -Wed Aug 27 21:19:40 2014 gogo tanaka - - * lib/drb/acl.rb: Removed meaningless #to_s methods in interpolation. - [Feature #10174][ruby-core:64584] - * lib/erb.rb: ditto. - * lib/observer.rb: ditto. - * lib/rake/invocation_chain.rb: ditto. - * lib/rubygems/command_manager.rb: ditto. - * lib/rubygems/config_file.rb: ditto. - * lib/uri/common.rb: ditto. - -Wed Aug 27 21:08:20 2014 gogo tanaka - - * lib/drb/drb.rb: use attr_reader instead of Module#attr. - [Feature #10172][ruby-core:64582] - * lib/irb/ruby-token.rb: ditto. - * lib/net/telnet.rb: ditto. - * lib/rdoc/ruby_token.rb: ditto. - * lib/thwait.rb: ditto. - -Wed Aug 27 19:52:33 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (vtdate2rbtime): try to convert millisecond - of VT_DATE VARIANT to nsec of Time object. - * test/win32ole/test_win32ole_variant.rb - (test_conversion_dbl2date_with_msec): ditto. - -Wed Aug 27 09:57:29 2014 SHIBATA Hiroshi - - * test/ruby/test_complex.rb: removed unreachable code. - * test/ruby/test_rational.rb: ditto. - -Wed Aug 27 07:59:17 2014 Eric Wong - - * compile.c (iseq_set_sequence): check for multiplication overflow - -Tue Aug 26 22:07:42 2014 SHIBATA Hiroshi - - * test/ruby/test_complex.rb: cherry-picked working assertions from r47251. - * test/ruby/test_rational.rb: cherry-picked working assertions from r47263. - -Tue Aug 26 21:07:56 2014 gogo tanaka - - * lib/mathn.rb (Fixnum#**, Bignum#**, Float#**, Rational#**): - remove as these are now built-in. [ruby-core:63973] [Bug #10086] - -Tue Aug 26 20:46:55 2014 Tanaka Akira - - * time.c (rb_time_unmagnify_to_float): Avoid double rounding. - Reported by Tsuyoshi Sawada. - https://bugs.ruby-lang.org/issues/10135#note-1 - -Tue Aug 26 17:12:47 2014 Nobuyoshi Nakada - - * io.c (io_close): ignore only "closed stream" IOError and - NoMethodError, do not swallow other exceptions at the end of - block. [ruby-core:64463] [Bug #10153] - -Tue Aug 26 13:46:33 2014 Kazuhiro NISHIYAMA - - * template/fake.rb.in: fix failed to make install when @srcdir@ is - absolute path. - -Tue Aug 26 13:43:50 2014 SHIBATA Hiroshi - - * test/ruby/test_range.rb: added workaround for VERBOSE message. - -Tue Aug 26 12:38:02 2014 SHIBATA Hiroshi - - * test/test_mathn.rb: added workaround for VERBOSE messages. - -Tue Aug 26 11:44:04 2014 SHIBATA Hiroshi - - * lib/shell/process-controller.rb: removed commented-out code. - -Tue Aug 26 11:39:01 2014 SHIBATA Hiroshi - - * lib/thwait.rb (ThreadsWait): removed needless constant. - -Tue Aug 26 09:27:10 2014 SHIBATA Hiroshi - - * lib/mathn.rb: mathn library is deprecated on ruby 2.2. - [Feature #10169][ruby-core:64553] - -Tue Aug 26 09:25:03 2014 SHIBATA Hiroshi - - * lib/mathn.rb: removed commented-out code. - -Mon Aug 25 20:15:50 2014 Masaki Suketa - - * ext/win32ole/win32ole.c(fole_s_connect, fole_initialize): raise a - security error with the tainted string object. - * ext/win32ole/win32ole_event.c(ev_advise): ditto. - * test/win32ole/test_win32ole.rb(test_s_new_exc_svr_tainted, - test_s_new_exc_host_tainted): ditto. - * test/win32ole/test_win32ole_event.rb(test_s_new_exc_tainted): ditto. - -Mon Aug 25 12:56:54 2014 Ivan Korunkov - - * lib/logger.rb (format_datetime): use "%6N" to show microsecond. - [Fix GH-704] - -Mon Aug 25 11:02:07 2014 Eric Wong - - * vm_core.h (rb_iseq_location_t): change first_lineno type to VALUE - * iseq.c (rb_iseq_build_for_ruby2cext): update based on argument - -Sun Aug 24 16:14:46 2014 SHIBATA Hiroshi - - * lib/e2mmap.rb: remove needless instance variables. - * lib/irb.rb: ditto. - * lib/irb/**/*.rb: ditto. - * lib/shell.rb: ditto. - -Sun Aug 24 12:44:26 2014 SHIBATA Hiroshi - - * test/ruby/test_complex.rb: removed needless conditions. - * test/ruby/test_rational.rb: ditto. - -Sun Aug 24 11:47:39 2014 SHIBATA Hiroshi - - * test/ruby/test_rational.rb: fixed indent. - -Sun Aug 24 11:44:11 2014 SHIBATA Hiroshi - - * test/ruby/test_rational.rb: remove commented-out code. - -Sun Aug 24 11:09:29 2014 Eric Wong - - * lib/benchmark.rb (measure): reduce allocations as in r47260 - -Sun Aug 24 10:35:54 2014 Pete Higgins - - * lib/benchmark.rb (module Benchmark): define BENCHMARK_CLOCK - (realtime): use Process.clock_gettime(BENCHMARK_CLOCK) - Reduces allocations to improve performance [Feature #10165] - - * test/benchmark/test_benchmark.rb (test_realtime_output): new test - -Fri Aug 22 20:23:54 2014 Koichi Sasada - - * string.c (rb_fstring): fix condition (easy to cause infinite loop!). - -Fri Aug 22 20:07:43 2014 Koichi Sasada - - * string.c (rb_fstring, fstr_update_callback): simply delete garbage - key first. - - Garbage keys can be swept by lazy sweeping invoked by creating new - fstring. So that simply do: - (1) delete garbage key and return `fstr_update_callback' immediately - (2) try again `fstr_update_callback()' to create a new fstr. - - This bug can be cause memory corruption, reported by - http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20140821T220302Z.fail.html.gz - -Fri Aug 22 19:30:39 2014 SHIBATA Hiroshi - - * test/ruby/test_complex.rb: removed commented-out code. - -Fri Aug 22 19:25:28 2014 SHIBATA Hiroshi - - * test/ruby/test_complex.rb: fixed broken tests. Math is not - compatible CMath now. - -Fri Aug 22 15:36:09 2014 Nobuyoshi Nakada - - * common.mk (Doxyfile): revert r43888, not to require preinstalled - ruby. [ruby-core:64488] [Bug #10161] - -Fri Aug 22 12:32:15 2014 SHIBATA Hiroshi - - * lib/shell.rb: removed commented-out code. - * lib/shell/builtin-command.rb: ditto. - * lib/shell/command-processor.rb: ditto. - -Fri Aug 22 12:21:46 2014 SHIBATA Hiroshi - - * lib/complex.rb: removed deprecated library. - * lib/rational.rb: ditto. - -Fri Aug 22 11:38:49 2014 SHIBATA Hiroshi - - * lib/prettyprint.rb: removed PrettyPrint#first? - because it is obsoleted method since Ruby 1.8.2 - -Thu Aug 21 17:10:31 2014 Nobuyoshi Nakada - - * win32/win32.c (constat_attr): manage reverse video internally - since Windows console window does not manage it. based on the - patch by white leaf in [ruby-dev:48483]. [Bug #10158] - -Thu Aug 21 14:45:41 2014 SHIBATA Hiroshi - - * lib/e2mmap.rb: removed commented-out code. - -Thu Aug 21 13:23:34 2014 SHIBATA Hiroshi - - * lib/rinda/ring.rb: split executable code into sample directory. - * sample/rinda-ring.rb: ditto. - -Thu Aug 21 13:21:45 2014 SHIBATA Hiroshi - - * lib/drb/acl.rb: split executable code into sample directory. - * sample/drb/acl.rb: ditto. - -Thu Aug 21 12:55:35 2014 SHIBATA Hiroshi - - * .gitignore: ignored temporary file for Changelog. - http://mkosaki.blog46.fc2.com/blog-entry-1284.html - -Thu Aug 21 12:40:22 2014 SHIBATA Hiroshi - - * lib/net/imap.rb: split executable code into sample directory. - * sample/net-imap.rb: ditto. - -Thu Aug 21 12:23:56 2014 SHIBATA Hiroshi - - * lib/net/imap.rb: removed commented-out code. - -Wed Aug 20 17:27:02 2014 Nobuyoshi Nakada - - * configure.in (RUBY_TRY_CFLAGS, RUBY_TRY_LDFLAGS), - (RUBY_CHECK_BUILTIN_SETJMP, RUBY_SETJMP_TYPE), - (RUBY_STACK_GROW_DIRECTION): quote defun names, for some - versions of autoconf possibly. [ruby-core:64473] [Bug #10156] - -Tue Aug 19 22:28:32 2014 Nobuyoshi Nakada - - * sprintf.c (rb_str_format): fix condition to round. - [ruby-core:64454] [Bug #10151] - -Tue Aug 19 22:22:45 2014 Nobuyoshi Nakada - - * enc/trans/euckr-tbl.rb (EUCKR_TO_UCS_TBL): add missing euro and - registered signs. [ruby-core:64452] [Bug #10149] - -Tue Aug 19 13:59:43 2014 Nobuyoshi Nakada - - * compar.c (rb_cmperr): preserve encodings of arguments in the - message. - -Tue Aug 19 10:13:23 2014 Nobuyoshi Nakada - - * ext/thread/thread.c (get_array): check instance variables are - initialized properly. [ruby-core:63826][Bug #10062] - -Mon Aug 18 17:06:27 2014 Nobuyoshi Nakada - - * sprintf.c (rb_str_format): support rational 'f' format. - [ruby-core:64382] [Bug #10136] - -Mon Aug 18 08:03:46 2014 SHIBATA Hiroshi - - * spec/default.mspec: use 2.2 definition. - -Sun Aug 17 19:41:40 2014 Kazuki Tsujimoto - - * gc.c (obj_memsize_of): don't calculate memsize of T_NODE - when called from check_gen_consistency. It fixes segmentation - fault on RGENGC_CHECK_MODE >= 1 introduced by r47188. - -Sun Aug 17 17:08:12 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_invoke): use RHASH_SIZE instead of - calling Hash#length method. - -Sat Aug 16 19:32:06 2014 Masaki Suketa - - * ext/win32ole/win32ole_event.c (evs_length): use RARRAY_LEN instead - of calling Array#length method. - -Sat Aug 16 10:20:17 2014 Eric Wong - - * time.c (time_timespec): fix tv_nsec overflow - [Bug #10144] - -Fri Aug 15 20:34:17 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE_EVENT src from - win32ole.c. - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_event.c: ditto. - * ext/win32ole/win32ole_event.h: ditto. - * ext/win32ole/depend: ditto. - -Fri Aug 15 19:38:00 2014 Koichi Sasada - - * iseq.c (rb_iseq_clone): Should not insert write barrier from - non-RVALUE data (to non-RVALUE data, of course). - - Ruby 2.1 also has a same problem. - -Fri Aug 15 19:34:33 2014 Koichi Sasada - - * string.c (setup_fake_str): fake strings should not set class by - RBASIC_SET_CLASS() because it insert write barriers to fake - (non-RVALUE) structure. - - It can cause unexpected behaviour. - - Ruby 2.1 also have a same problem (setup_fake_str() in parse.y). - - * symbol.c (setup_fake_str): ditto. - -Fri Aug 15 19:27:25 2014 Koichi Sasada - - * array.c (rb_ary_tmp_new_fill): added. - This function creates internal use only array (which is completely - hided by ObjectSpace.each_object) with filling nil. - - Otherwise, it can be includes strange VALUEs. - - * internal.h: added. - - * node.h: use rb_ary_tmp_new_fill() for MEMO. - -Fri Aug 15 10:13:37 2014 SHIBATA Hiroshi - - * lib/gserver.rb: removed unmaintained code. - [ruby-core:40313][Feature #5480] - * lib/xmlrpc/httpserver.rb: ditto. - -Fri Aug 15 09:22:12 2014 Eric Wong - - * vm_core.h (rb_thread_struct): reorder to pack - * cont.c (rb_context_struct, rb_fiber_struct): ditto - On x86-64, these changes reduces: - rb_thread_struct to 1000 bytes (from 1016) - rb_context_struct to 1288 bytes (from 1312) - rb_fiber_struct to 2272 bytes (from 2304) - -Fri Aug 15 09:06:31 2014 Eric Wong - - * thread_pthread.h: define RB_NATIVETHREAD_LOCK_INIT and - RB_NATIVETHREAD_COND_INIT macros - - * thread_pthread.c (native_mutex_lock, native_mutex_unlock, - native_mutex_trylock, native_mutex_initialize, - native_mutex_destroy, native_cond_wait): - use rb_nativethread_lock_t instead of pthread_mutex_t - [Feature #10134] - - * thread_pthread.c (native_mutex_debug): make argument type-agnostic - to avoid later cast. - - * thread_pthread.c (register_cached_thread_and_wait): - replace PTHREAD_COND_INITIALIZER with RB_NATIVETHREAD_COND_INIT, - use native_mutex_{lock,unlock} - - * thread_pthread.c (use_cached_thread): - use native_mutex_{lock,unlock} - - * thread_pthread.c (native_sleep): - use rb_nativethread_lock_t to match th->interrupt_lock, - use native_mutex_{lock,unlock} - - * thread_pthread.c (timer_thread_lock): use rb_nativethread_lock_t type - -Fri Aug 15 08:10:29 2014 Eric Wong - - * cont.c (cont_mark): fix typo in unused path [ci skip] - -Fri Aug 15 06:00:56 2014 Eric Wong - - * vm.c (rb_thread_mark): update comment about marking `me' - [ruby-core:64340] [ruby-core:64341] - -Fri Aug 15 05:53:59 2014 Eric Wong - - * README.EXT: preliminary documentation for RB_GC_GUARD - [Bug #10100] [ruby-core:60741] - -Thu Aug 14 00:26:19 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE_RECORD src from - win32ole.c - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_record.c: ditto. - * ext/win32ole/win32ole_record.h: ditto. - * ext/win32ole/depend: ditto. - -Wed Aug 13 21:41:04 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE_VARIANT src from - win32ole.c. - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_variant.c: ditto. - * ext/win32ole/win32ole_variant.c: ditto. - * ext/win32ole/depend: ditto. - -Wed Aug 13 20:09:37 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: remove unused variable. - -Wed Aug 13 19:31:27 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_search_handler_method, rescue_callback, - folerecord_inspect): use PRIsVALUE in rb_sprintf. - - * ext/win32ole/win32ole_param.c (foleparam_inspect): ditto. - - * ext/win32ole/win32ole_variable.c (folevariable_inspect): use - PRIsVALUE in rb_sprintf, use rb_inspect. - -Wed Aug 13 11:54:41 2014 SHIBATA Hiroshi - - * lib/irb/completion.rb: reverted r47163. - because another case can't be show completion target. - -Wed Aug 13 11:17:00 2014 Shimpei Makimoto - - * lib/irb.rb: Prevent irb from crashing when exception with - nil backtrace is raised. - [fix GH-434][ruby-core:58078][Bug #9063] - * test/irb/test_raise_no_backtrace_exception.rb: ditto. - -Wed Aug 13 11:08:55 2014 SHIBATA Hiroshi - - * lib/irb/completion.rb: fixed broken completion list with - String including spaces. Contributed from @dunric. [fix GH-465] - -Wed Aug 13 00:07:01 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE_PARAM src from win32ole.c - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_param.c: ditto. - * ext/win32ole/win32ole_param.h: ditto. - * ext/win32ole/depend: ditto. - -Tue Aug 12 23:17:47 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: refactoring. move some methods - into win32ole_type.c / win32ole_method.c - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_method.c: ditto. - * ext/win32ole/win32ole_method.h: ditto. - * ext/win32ole/win32ole_type.h: ditto. - * ext/win32ole/win32ole_type.h: ditto. - -Tue Aug 12 22:59:48 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: refactoring. move - ole_typelib_from_itypeinfo into win32ole_typelib.c. - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_typelib.h: ditto. - * ext/win32ole/win32ole_typelib.h: ditto. - -Tue Aug 12 21:49:40 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_create_dcom): use the converted - result if the argument can be converted to a string, to get rid - of invalid access. Thanks to nobu. [ruby-dev:48467] [Bug #10127] - -Tue Aug 12 14:22:58 2014 SHIBATA Hiroshi - - * configure.in: ignored working directory same as prefix value. - [ruby-core:54999] [Bug #8409] - -Tue Aug 12 13:34:25 2014 SHIBATA Hiroshi - - * lib/fileutils.rb: enable to remove with non-owner directory. - [ruby-dev:45976] [Bug #6756] - * test/fileutils/test_fileutils.rb: add testcase for #6756. - -Tue Aug 12 12:57:28 2014 SHIBATA Hiroshi - - * vm_exec.c: improve performance in ppc64 arch. - [ruby-core:63437] [Feature #9997] - -Tue Aug 12 12:14:52 2014 Akira Matsuda - - * lib/fileutils.rb: fix typo. - [ruby-dev:47831] [Bug #9180] - -Tue Aug 12 10:10:42 2014 Eric Wong - - * vm_method.c (release_method_definition): use rb_free_method_entry - -Tue Aug 12 06:16:09 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE_METHOD src from - win32ole.c. - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_method.c: ditto. - * ext/win32ole/win32ole_method.h: ditto. - * ext/win32ole/depend: ditto. - -Mon Aug 11 22:19:15 2014 Masaki Suketa - - * ext/win32ole/win32ole_variable.c (folevariable_inspect): refactoring. - -Mon Aug 11 20:47:27 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE_VARIABLE src from - win32ole.c - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_variable.c: ditto. - * ext/win32ole/win32ole_variable.h: ditto. - * ext/win32ole/depend: ditto. - -Mon Aug 11 16:17:21 2014 Tony Miller - - * dir.c (rb_dir_exists_p): [DOC] Document that Dir.exists? is - deprecated. [ruby-core:64135] [Bug #10102] - -Mon Aug 11 11:26:33 2014 Nobuyoshi Nakada - - * lib/tempfile.rb: start rdoc parsing inside singleton class - definition to include the document there. - [ruby-core:64157] [Bug #10105] - -Sun Aug 10 12:22:43 2014 Masaki Suketa - - * ext/win32ole/win32ole_type.c: refactoring. - -Sun Aug 10 10:34:00 2014 SHIBATA Hiroshi - - * lib/cgi/session/pstore.rb: separated sample code. - * lib/open3.rb: ditto. - -Sun Aug 10 10:03:24 2014 SHIBATA Hiroshi - - * lib/irb/ext/multi-irb.rb: removed commented-out code. - -Sat Aug 9 11:02:07 2014 SHIBATA Hiroshi - - * lib/irb.rb: removed commented-out code. - * lib/irb/**/*.rb: ditto. - -Sat Aug 9 10:35:30 2014 Laurent Arnoud - - * lib/cmath.rb: fixed indent. [fix GH-696] - * lib/drb/ssl.rb: ditto. - * lib/irb/**/*.rb: ditto. - -Sat Aug 9 10:28:03 2014 SHIBATA Hiroshi - - * test/minitest/test_minitest_unit.rb: removed obsoleted condition - for Ruby 1.8. - * test/ruby/test_time_tz.rb: ditto. - -Sat Aug 9 10:18:00 2014 SHIBATA Hiroshi - - * test/cgi/test_cgi_core.rb: removed obsoleted condition for Ruby 1.8. - * test/cgi/test_cgi_header.rb: ditto. - * test/cgi/test_cgi_multipart.rb: ditto. - * test/cgi/test_cgi_tag_helper.rb: ditto. - -Sat Aug 9 00:34:37 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE_TYPE src from win32ole.c. - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_type.c: ditto. - * ext/win32ole/win32ole_type.h: ditto. - * ext/win32ole/depend: ditto. - -Fri Aug 8 01:53:37 2014 Masaki Matsushita - - * lib/securerandom.rb: use OpenSSL::BN for performance improvement. - - * benchmark/bm_securerandom.rb: benchmark script. - -Fri Aug 8 17:19:57 2014 SHIBATA Hiroshi - - * lib/open-uri.rb: remove needless condition for old ruby version. - * test/open-uri/test_open-uri.rb: ditto. - -Fri Aug 8 16:40:59 2014 SHIBATA Hiroshi - - * lib/irb/init.rb: removed unreachable code. - -Fri Aug 8 16:34:22 2014 SHIBATA Hiroshi - - * lib/drb/drb.rb: removed unreachable code. - -Fri Aug 8 14:33:49 2014 SHIBATA Hiroshi - - * lib/webrick/httpproxy.rb: remove needless condition - for old ruby version. - -Fri Aug 8 01:07:10 2014 Nobuyoshi Nakada - - * parse.y (parser_yylex): fix invalid char in eval, should raise - an syntax error too, as well as directly coded. - [ruby-core:64243] [Bug #10117] - -Thu Aug 7 23:25:29 2014 Masaki Matsushita - - * lib/open3.rb: avoid unnecessary write if stdin_data is empty. - -Thu Aug 7 21:42:49 2014 Masaki Suketa - - * ext/win32ole/win32ole_typelib.c (foletypelib_version): return - version string. - - * test/win32ole/test_win32ole_typelib.rb (test_version): ditto. - -Thu Aug 7 15:13:13 2014 SHIBATA Hiroshi - - * lib/cgi.rb: remove needless condition for old ruby version. - -Thu Aug 7 06:04:49 2014 Nobuyoshi Nakada - - * parse.y (parser_yyerror): preserve source code encoding in - syntax error messages. [ruby-core:64228] [Bug #10114] - -Wed Aug 6 20:56:02 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate src of WIN32OLE_TYPELIB from - win32ole.c - - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_typelib.c: ditto. - * ext/win32ole/win32ole_typelib.h: ditto. - * ext/win32ole/depend: ditto. - -Wed Aug 6 20:44:07 2014 Akinori MUSHA - - * enum.c (enum_one): [DOC] Move enum.one? documentation before the - relevant method. Submitted by @vipulnsward. [Fixes GH-687] - https://github.com/ruby/ruby/pull/687 - -Wed Aug 6 20:25:47 2014 Akinori MUSHA - - * lib/set.rb (Set#replace): Check if an object given is enumerable - before clearing self. Reported by yui-knk. [GH-675] - https://github.com/ruby/ruby/pull/675 - -Wed Aug 6 20:07:26 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (olerecord_ivar_set): remove rb_str_subseq. - -Wed Aug 6 19:09:27 2014 Akinori MUSHA - - * lib/set.rb (Set): Implement Set#clone by splitting - initialize_copy into initialize_dup and initialize_clone. - Submitted by yui-knk. [Fixes GH-661] - https://github.com/ruby/ruby/pull/661 - -Wed Aug 6 18:42:58 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate src of WIN32OLERuntimeError - from win32ole.c. - - * ext/win32ole/win32ole.h: ditto - * ext/win32ole/depend: ditto. - * ext/win32ole/win32ole_error.c: ditto. - * ext/win32ole/win32ole_error.h: ditto. - -Wed Aug 6 04:33:58 2014 NARUSE, Yui - - * lib/net/http.rb (Net::HTTP.proxy_uri): use initializer instead - of parser to handle IPv6 address. [Bug #9129] - -Wed Aug 6 04:16:05 2014 NARUSE, Yui - - * lib/net/http/requests.rb (Net::HTTP::Options::RESPONSE_HAS_BODY): - OPTIONS requests may have response bodies. [Feature #8429] - http://tools.ietf.org/html/rfc7231#section-4.3.7 - -Wed Aug 6 03:18:04 2014 NARUSE, Yui - - * lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec): - handle req['host'] in update_uri. - - * lib/net/http/generic_request.rb - (Net::HTTP::GenericRequest#update_uri): - use req['host'] if it is explicitly set. Even if URI is given, - it is already used for the initial value of req['host']. - Therefore overwritten value should be respected. [Bug #10054] - -Wed Aug 6 03:17:34 2014 NARUSE, Yui - - * lib/net/http/generic_request.rb - (Net::HTTP::GenericRequest#update_uri): - handle scheme, host, and port to reflect connection to @uri. - - * lib/net/http.rb (Net::HTTP#begin_transport): move trivial handling - to Net::HTTP::GenericRequest#update_uri. - - -Wed Aug 6 02:16:43 2014 NARUSE, Yui - - * lib/net/http/generic_request.rb - (Net::HTTP::GenericRequest#initialize): - optimize object allocation. - -Wed Aug 6 01:16:47 2014 NARUSE, Yui - - * lib/uri/generic.rb (URI::Generic#path_query): remove a private method. - -Wed Aug 6 01:15:47 2014 NARUSE, Yui - - * lib/uri/generic.rb (URI::Generic#normalize!): use String#empty? - - * lib/uri/generic.rb (URI::Generic#path_query): optimized. - - * lib/uri/generic.rb (URI::Generic#to_s): optimized. - -Wed Aug 6 00:15:10 2014 NARUSE, Yui - - * lib/uri/http.rb (URI::HTTP#request_uri): optimized. - decrease object allocation, and ensure always create at least one new - object for return value. - -Wed Aug 6 03:41:21 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/to_ruby.rb: backwards compatibility for - hashes emitted by Syck. Github #198 - * test/psych/test_hash.rb: test for change. - -Tue Aug 5 19:27:59 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_invoke): skip VariantClear when - argument is VT_RECORD variant. - -Tue Aug 5 15:52:51 2014 SHIBATA Hiroshi - - * gems/bundled_gems: Upgrade to test-unit-3.0.0 and minitest-5.4.0. - -Mon Aug 4 21:50:09 2014 Masaki Suketa - - * test/win32ole/test_win32ole_record.rb: add for WIN32OLE_RECORD - test(need .NET Framework 3.5 to run test). - -Mon Aug 4 19:49:34 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_invoke): call rb_hash_foreach instead - of rb_block_call. - - * ext/win32ole/win32ole.c: add comment for rdoc of WIN32OLE_VARIANT - class. - -Mon Aug 4 09:12:47 2014 Eric Wong - - * variable.c: cleanup to use rb_const_lookup - [Feature #10107] - - * vm_insnhelper.c: ditto - -Sun Aug 3 10:55:07 2014 Nobuyoshi Nakada - - * include/ruby/encoding.h (rb_check_symbol_cstr): ditto. - -Sun Aug 3 10:43:08 2014 Nobuyoshi Nakada - - * vm_insnhelper.c (vm_call_method): unusable super class should cause - method missing when BasicObject is refined but not been using. - [ruby-core:64166] [Bug #10106] - -Sat Aug 2 23:47:45 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: separate WIN32OLE::VARIANT src file - from win32ole.c - * ext/win32ole/win32ole.h: ditto. - * ext/win32ole/win32ole_variant_m.c: ditto. - * ext/win32ole/win32ole_variant_m.h: ditto. - * ext/win32ole/depend: ditto. - * ext/.document: ditto. - -Sat Aug 2 14:34:58 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: add comments for rdoc. - -Sat Aug 2 10:26:57 2014 Nobuyoshi Nakada - - * object.c (rb_obj_itself): new method Object#itself. based on the - patch by Rafael Franca in [ruby-core:64156]. - [EXPERIMENTAL] this method may be renamed due to compatibilities. - [ruby-core:44704] [Feature #6373] - -Fri Aug 1 22:30:40 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (folerecord_initialize): accept - only 2 arguments. The 2nd argument should be WIN32OLE object or - WIN32OLE_RECORD object. - -Fri Aug 1 20:17:33 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_variant2val): call - folerecord_s_allocate instead of WIN32OLE_RECORD.new. - -Fri Aug 1 18:39:57 2014 SHIBATA Hiroshi - - * test/date/test_date.rb: remove commented-out code. - * test/date/test_date_arith.rb: ditto. - * test/date/test_date_attr.rb: ditto. - * test/date/test_date_parse.rb: ditto. - -Fri Aug 1 16:35:32 2014 Evan Miller - - * numeric.c (flodivmod): all results are NaN if divisor is NaN. - [fix GH-692] - -Thu Aug 01 07:28:12 2014 Kenta Murata - - * ext/bigdecimal/bigdecimal.c: [DOC] Add description of - `BigDecimal.new` exceptions. Patched by @joker1007 and - @prathamesh-sonpatki [Fixes GH-690] - https://github.com/ruby/ruby/pull/690 - -Thu Jul 31 22:20:12 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: add WIN32OLE_RECORD#inspect. - -Thu Jul 31 20:35:32 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: add - WIN32OLE_RECORD#ole_instance_variable_set and - WIN32OLE_RECORD#ole_instance_variable_get - -Wed Jul 30 23:28:10 2014 Kazuki Tsujimoto - - * sprintf.c (rb_str_format): like r47006, get rid of - function calls in RSTRING_PTR(). - -Wed Jul 30 22:10:29 2014 Kazuki Tsujimoto - - * process.c (rlimit_resource_type, rlimit_resource_value): - get rid of inadvertent dynamic symbol pin-down. - - * re.c (match_backref_number): ditto. - - * signal.c (esignal_init, rb_f_kill, trap_signm): ditto. - - * transcode.c (econv_opts): ditto. - - * vm_trace.c (symbol2event_flag): ditto. - -Wed Jul 30 21:29:39 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_invoke): pass WIN32OLE_RECORD variant - by reference when invoke OLE methods at first. - - * ext/win32ole/win32ole.c (olerecord_set_ivar): release - IRecordInfo interface before setting another IRecordInfo interface. - -Wed Jul 30 13:17:35 2014 Koichi Sasada - - * gc.c: remove unused macros. - -Tue Jul 29 22:21:37 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (hash2olerec): ignore WIN32OLE_RECORD - instance variable if the variable is nil. - -Tue Jul 29 19:43:27 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (folerecord_method_missing): refactoring. - divide functionality of folerecord_method_missing into - olerecord_ivar_set and olerecord_ivar_get. - -Mon Jul 28 20:20:08 2014 Masaki Suketa - - * ext/win32ole/win23ole.c (folerecord_method_missing): support - setter of member of WIN32OLE_RECORD object. - -Mon Jul 28 06:37:19 2014 Zachary Scott - - * vm_eval.c: [DOC] Fix rdoc formatting of patch from [Bug #9551] - -Mon Jul 28 06:34:43 2014 Zachary Scott - - * vm_eval.c: [DOC] [Bug #9551] Improve clarity of Kernel::catch - documentation, patch by Jesse Sielaff. - -Mon Jul 28 06:24:54 2014 Zachary Scott - - * lib/uri/common.rb: [DOC] [Bug #9563] Recommend using URI.escape - before parsing a uri to avoid invalid characters. Reported by - Evgeniy Serykh. - -Mon Jul 28 05:55:56 2014 Zachary Scott - - * time.c: [DOC] Clarify %Y in strftime, which can accept any digits - and will output at least 4 digits as the year. Reported by Yury - Trofimenko [Bug #10049] - - * lib/time.rb: ditto - -Mon Jul 28 05:32:06 2014 Zachary Scott - - * lib/uri/common.rb: [DOC] [Bug #10075] Clarify how URI.join arguments - are handled by RFC3986, originally reported by John Feminella. - -Mon Jul 28 05:21:41 2014 Zachary Scott - - * file.c: [DOC] Clarify how File.file? handles symbolic links. Also - cleaned up the rdoc style for this method, more to follow. - Originally reported by Michael Renner [Bug #10067] - -Mon Jul 28 05:12:22 2014 Zachary Scott - - * time.c: [DOC] Remove dead link and old bug report, which hasn't been - reproduced in a few years. Reported by Federico Builes [Bug #10071] - -Mon Jul 28 04:39:58 2014 Zachary Scott - - * ext/zlib/zlib.c: [DOC] Remove default value of Zlib constants, as - they may change in the implementation without notice. Patched by - @robin850 [Fixes GH-682] https://github.com/ruby/ruby/pull/682 - -Mon Jul 28 04:35:35 2014 Zachary Scott - - * ext/openssl/ossl_hmac.c: Fix NO_HMAC warning [Fixes GH-665] - Patched by @vipulnsward https://github.com/ruby/ruby/pull/665 - -Sun Jul 27 19:49:36 2014 SHIBATA Hiroshi - - * lib/cgi/core.rb: remove unused variables. - * lib/erb.rb: ditto. - * lib/mkmf.rb: ditto. - * lib/net/http/response.rb: ditto. - * lib/optparse/version.rb: ditto. - * lib/prime.rb: ditto. - * lib/racc/parser.rb: ditto. - * lib/rexml/document.rb: ditto. - * lib/rexml/dtd/dtd.rb: ditto. - * lib/rexml/element.rb: ditto. - * lib/rexml/functions.rb: ditto. - * lib/rexml/parsers/xpathparser.rb: ditto. - -Sun Jul 27 05:11:21 2014 Zachary Scott - - * lib/irb.rb: [DOC] PROMPT_I cannot be nil, patch by @hgillane - Fixes documenting-ruby/ruby#37 - https://github.com/documenting-ruby/ruby/pull/37 - -Sun Jul 27 02:41:50 2014 SHIBATA Hiroshi - - * lib/shell/command-processor.rb: remove unused variable. - * lib/shell/system-command.rb: ditto. - * lib/tmpdir.rb: ditto. - * lib/uri/generic.rb: ditto. - -Sun Jul 27 02:08:31 2014 SHIBATA Hiroshi - - * lib/weakref.rb: split executable code into sample directory. - * sample/weakref.rb: ditto. - -Sun Jul 27 02:06:55 2014 SHIBATA Hiroshi - - * lib/delegate.rb: split executable code into sample directory. - * sample/delegate.rb: ditto. - -Sun Jul 27 01:46:34 2014 Zachary Scott - - * proc.c (method_super_method): [DOC] Method#super_method - -Sun Jul 27 01:22:39 2014 Nobuyoshi Nakada - - * proc.c (method_super_method): new method Method#super_method, - which returns a method object of the method to be called by - `super` in the receiver method object. - [ruby-core:62202] [Feature #9781] - -Sat Jul 26 17:22:14 2014 URABE Shyouhei - - * ext/objspace/objspace_dump.c (dump_append): avoid fflush. - - because dump_append_string_value() iterates over each chars, - fflush()-ing here effectively issues system calls on every single - bytes exist in a ruby process. - -Sat Jul 26 16:55:18 2014 Eric Wong - - * iseq.h (struct iseq_compile_data_storage): reduce overhead - to 16 bytes (from 32) on 64-bit - -Sat Jul 26 16:28:06 2014 Eric Wong - - * vm_core.h (struct rb_iseq_struct): reduce to 280 bytes - (from 288 bytes) on 64-bit - -Sat Jul 26 06:44:43 2014 Eric Wong - - * parse.y (struct parse_params): shrink to 320 to 304 bytes on 64-bit - -Sat Jul 26 05:58:35 2014 Eric Wong - - * include/ruby/ruby.h (ZALLOC, ZALLOC_N): implement - (Data_Make_Struct, TypedData_Make_Struct): - ZALLOC replaces ALLOC+memset - [ruby-core:63951][Feature #10082] - * compile.c (iseq_seq_sequence): ZALLOC_N replaces ALLOC_N+MEMZERO - * cont.c (fiber_t_alloc): ZALLOC replaces ALLOC+MEMZERO - * io.c (rb_io_reopen): ditto - * iseq.c (prepare_iseq_build): ditto - * parse.y (new_args_tail_gen, parser_new, ripper_s_allocate): ditto - * re.c (match_alloc): ditto - * variable.c (rb_const_set): ditto - * ext/socket/raddrinfo.c (get_addrinfo): ditto - * ext/strscan/strscan.c (strscan_s_allocate): ditto - * gc.c (rb_objspace_alloc): calloc replaces malloc+MEMZERO - -Sat Jul 26 05:54:54 2014 Eric Wong - - * symbol.c (dsymbol_check): remove unneeded semi-colon - -Fri Jul 25 14:07:27 2014 Koichi Sasada - - * gc.c: change objspace::rgengc::parent_object_is_old (boolean) - to objspace::rgengc::parent_object (VALUE). - Use Qfalse or RVALUE pointer instead of FALSE and TRUE. - - * gc.c (gc_marks_body): should clear parent_object just before - gc_mark_roots() because there are no parents objects - for root objects. - -Fri Jul 25 13:45:39 2014 Koichi Sasada - - * gc.c (rb_gc_writebarrier_remember_promoted): should remember only - OLD objects on RGENGC_AGE2_PROMOTION. - -Fri Jul 25 13:42:02 2014 Koichi Sasada - - * gc.c (gc_mark_stacked_objects): fix error message. - -Fri Jul 25 13:18:00 2014 Will Farrington - - * ext/socket/socket.c (sock_gethostname): Use NI_MAXHOST to support - hostnames longer than 64 characters if the system supports it. - [fixes GH-683] - -Fri Jul 25 12:21:11 2014 Santiago Pastorino - - * compile.c (defined_expr): make the condition if the receiver - is explicit or implicit cleaner. [fix GH-681] - -Fri Jul 25 03:53:52 2014 Eric Hodel - - * doc/keywords.rdoc: [DOC] Describe each keyword. - -Thu Jul 24 22:40:24 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (Init_win32ole): add WIN32OLE_RECORD#initialize - method. - - * ext/win32ole/win32ole.c (ole_val2variant): convert WIN32OLE_RECORD - object to VT_RECORD variant. - -Thu Jul 24 20:10:59 2014 Koichi Sasada - - * gc.c: fix major GC flags. - * add GPR_FLAG_MAJOR_BY_FORCE, which indicates - major GC by METHOD, CAPI and so on (see GC_BY). - * remove GPR_FLAG_MAJOR_BY_RESCAN because not used. - * remove GPR_FLAG_MAJOR_BY_STRESS, use FORCE instead. - - * test/ruby/test_gc.rb: catch up. - -Thu Jul 24 15:55:02 2014 Naohisa Goto - - * include/ruby/io.h (struct rb_io_buffer_t): PACKED_STRUCT should not - be used for platform-specific optimization. PACKED_STRUCT_UNALIGNED - should be used. [ruby-core:63988] [Bug #10088] - -Thu Jul 24 04:42:13 2014 SHIBATA Hiroshi - - * lib/benchmark.rb: split executable code into sample directory. - * sample/benchmark.rb: ditto. - -Thu Jul 24 04:36:49 2014 SHIBATA Hiroshi - - * lib/tempfile.rb: split executable code into sample directory. - * sample/tempfile.rb: ditto. - -Thu Jul 24 04:29:36 2014 SHIBATA Hiroshi - - * lib/pstore.rb: split executable code into sample directory. - * sample/pstore.rb: ditto. - -Wed Jul 23 23:50:11 2014 Nobuyoshi Nakada - - * include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS): - add PowerPC64 too, which is capable to access unaligned words. - patched by Gustavo Frederico Temple Pedrosa in [ruby-core:63937]. - [Feature #10081] - - * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto. - -Wed Jul 23 04:04:38 2014 SHIBATA Hiroshi - - * lib/drb/extserv.rb: remove duplicate code with sample directory. - contributed from @vipulnsward. [fix GH-679] - -Tue Jul 22 12:56:24 2014 Nobuyoshi Nakada - - * string.c (rb_str_count): fix wrong single-byte optimization. - 7bit ascii can be a trailing byte in Shift_JIS. - [ruby-dev:48442] [Bug #10078] - -Tue Jul 22 01:48:38 2014 Eric Wong - - * include/ruby/io.h (rb_io_buffer_t): fix packing on gcc - r46892 caused packing to be a no-op on gcc (4.7.2-5, Debian) - [Bug #10079][ruby-core:63912] - -Mon Jul 21 15:55:42 2014 fuji70 - - * lib/optparse.rb (getopts): print default values and descriptions - in the help message. [fix GH-676] - -Sun Jul 20 14:26:27 2014 Eric Wong - - * vm_core.h (rb_proc_t): reduce to 64 bytes from 72 on 64-bit - -Sun Jul 20 13:50:34 2014 Eric Wong - - * transcode.c (rb_econv_t): reduce to 184 bytes from 200 on 64-bit - -Sun Jul 20 12:44:23 2014 Eric Wong - - * include/ruby/io.h (rb_io_buffer_t): pack structure - Reduces rb_io_t from 200 to 192 bytes, allowing rb_io_t to - occupy one less cache line. - [Feature #10050] - -Sun Jul 20 12:41:53 2014 Eric Wong - - * include/ruby/io.h (rb_io_t): shrink to 200 bytes from 216 on 64-bit - This puts us within 8 bytes of being three cache lines instead of - four lines on x86-64. This breaks the ABI. - [Feature #10050] - -Sun Jul 20 12:36:46 2014 Eric Wong - - * include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448 - bytes from 464 bytes on 64-bit. This breaks the ABI. - [Feature #10034] - -Sun Jul 20 01:06:06 2014 SHIBATA Hiroshi - - * ext/openssl/ossl.c: use encryptor instead of encrypter in doc. - contributed from @vipulnsward. [fix GH-663] - -Sun Jul 20 00:32:44 2014 Nobuyoshi Nakada - - * io.c (rb_io_initialize): [DOC] fix rdoc of append mode. it does - not move the pointer at open. [ruby-core:63747] [Bug #10039] - -Sat Jul 19 12:40:50 2014 Nobuyoshi Nakada - - * compile.c (iseq_compile_each): allow to access private attribute - reader in op_assign. [ruby-core:63817] [Bug #10060] - -Sat Jul 19 11:56:36 2014 Grey Baker - - * lib/time.rb (Time#apply_offset): Guards against a `nil` return - value from `Time.month_days` when offsetting date. Out of range - values are then caught when `Time.utc` is called (as usual). - - Previously a `nil` return value from `Time.month_days` would - have the `<` operator called on it, and raise `NoMethodError`. - [fix GH-667] - - * lib/rdoc/parser/changelog.rb (RDoc#parse_entries): fix dirty hack. - -Sat Jul 19 06:19:01 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: refactoring. - -Fri Jul 18 22:34:41 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (folevariant_initialize): WIN32OLE_VARIANT - does not support VT_RECORD. VT_RECORD should be supported in - WIN32OLE_RECORD. - - * test/win32ole/test_win32ole_variant.rb (test_s_new_vt_record_exc): - ditto. - -Fri Jul 18 19:54:03 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (folevariant_initialize): remove unnecessary - code. - -Fri Jul 18 19:11:03 2014 Marc-Andre Lafortune - - * lib/matrix/eigenvalue_decomposition: Style fix - Patch by Gogo Tanaka [#10058] - -Fri Jul 18 19:03:53 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Avoid using `and`. - Patch by gogo tanaka [#10058] - -Fri Jul 18 17:41:54 2014 GoGo tanaka - - * test/matrix/test_matrix.rb: Add tests for Matrix class. - [Feature #10057][ruby-core:63809] - -Fri Jul 18 10:14:42 2014 SHIBATA Hiroshi - - * lib/fileutils.rb: added missing options of FileUtils.touch by @Domon. - [fix GH-669] - -Thu Jul 17 19:57:27 2014 Herwin - - * ext/thread/thread.c (rb_szqueue_push): add optional parameter, - non_block defaulted to false. [ruby-core:63794] [Feature #10052] - -Wed Jul 16 23:01:43 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_variant2val): support array of - VT_RECORD variant. - -Wed Jul 16 20:21:49 2014 Naohisa Goto - - * vm_core.h (struct rb_iseq_struct): stack_max is changed to int - because all calculations related to stack_max in compile.c - (iseq_set_sequence) and vm_insnhelper.c (vm_push_frame) are - conducted by using int. This partly reverts r23945. - * vm_insnhelper.c (vm_push_frame): ditto. This reverts r42401. - -Wed Jul 16 19:55:32 2014 Naohisa Goto - - * vm_core.h (struct rb_iseq_struct): temporal workaround of [Bug 10037]. - Add padding on big-endian 64-bit architecture (e.g. sparc64). - -Wed Jul 16 19:32:23 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (fole_record_method_missing): call - rb_hash_fetch instead of rb_hash_aref. - -Wed Jul 16 18:08:47 2014 Koichi Sasada - - * iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of - marking from vm_mark(). - - * vm.c (rb_vm_mark): ditto. - -Wed Jul 16 18:03:50 2014 Koichi Sasada - - * gc.c (gc_mark_roots): call rb_vm_mark directly. - - * vm.c: remove mark function for RubyVM object because - RubyVM object marked manually. - -Wed Jul 16 12:25:39 2014 NARUSE, Yui - - * regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09. - this includes Support for Unicode 7.0 [Bug #9092]. - -Tue Jul 15 23:59:27 2014 Jared Jennings - - * ext/digest: make built-in digest function implementations - indicate success or failure of init and final functions. - [ruby-core:61614] [Bug #9659] - - * ext/digest/digest.c: expect digest init and finish functions to - indicate success or failure; raise exception on failure. - [ruby-core:61614] [Bug #9659] - -Tue Jul 15 20:31:40 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD. - -Tue Jul 15 12:42:23 2014 SHIBATA Hiroshi - - * defs/default_gems: change version definition file of rake. - -Tue Jul 15 12:00:03 2014 SHIBATA Hiroshi - - * lib/rake.rb, lib/rake/*.rb: Upgrade to rake-10.3.2 - [fix GH-668] - * test/rake/*.rb: ditto. - -Mon Jul 14 19:14:51 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: modify WIN32OLE class document and - add comment for constants of WIN32OLE. - -Mon Jul 14 16:38:45 2014 Eric Wong - - * vm_core.h (struct rb_iseq_struct): reduce to 288 bytes - on x86-64 (from 296 bytes) - -Mon Jul 14 16:07:25 2014 Eric Wong - - * iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes - on x86-64 (from 48 bytes) - -Mon Jul 14 16:04:41 2014 Eric Wong - - * iseq.h (struct iseq_catch_table): new flexible array struct - (iseq_catch_table_bytes): allocated size function - * vm_core.h (struct rb_iseq_struct): update catch_table member - This reduces the struct from 304 to 296 bytes on x86-64. - * compile.c (iseq_set_exception_table): update for struct changes - * iseq.c (iseq_free): ditto - * iseq.c (iseq_memsize): ditto - * iseq.c (rb_iseq_disasm): ditto - * iseq.c (iseq_data_to_ary): ditto - * iseq.c (rb_iseq_build_for_ruby2cext): ditto (untested) - * vm.c (vm_exec): ditto - * vm_core.h (struct rb_iseq_struct): ditto - * vm_insnhelper.c (vm_throw): ditto - -Sun Jul 13 17:49:52 2014 SHIBATA Hiroshi - - * ext/openssl/ossl_cipher.c: Fix call to ciphers class method and - spell out `encryption` by @vipulnsward [fix GH-664] - -Sun Jul 13 17:31:51 2014 SHIBATA Hiroshi - - * ext/gdbm/gdbm.c: fix wrong arguments in GetDBM2 macro. - * ext/sdbm/init.c: ditto. - -Sun Jul 13 17:25:50 2014 SHIBATA Hiroshi - - * ext/dbm/dbm.c: fix wrong arguments in GetDBM2 macro by @v2e4lisp. - [fix GH-655] - -Sun Jul 13 16:44:56 2014 Eric Wong - - * vm_core.h (struct rb_call_info_struct): improve packing - This reduces the struct from 112 to 104 bytes on x86-64. - -Sun Jul 13 15:53:25 2014 Eric Wong - - * vm_core.h (struct rb_iseq_struct): stack_max is uint32_t - This reduces the struct from 312 to 304 bytes on x86-64. - -Sun Jul 13 10:56:26 2014 Nobuyoshi Nakada - - * configure.in (rb_cv_broken_backtrace): exit with failure - normally, no needs to abort. [ruby-core:63678] [Bug #10008] - -Sat Jul 12 15:10:22 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (fole_record_method_missing): correct - fields Hash key. - -Sat Jul 12 04:17:40 2014 KOSAKI Motohiro - - * lib/net/smtp.rb (Net::SMTP#data): enable buffering while - 'data' send for optimizing Net::SMTP#send_message. - [ruby-dev:48329] [misc #9981] - patch by Masahiro Tomita. - -Sat Jul 12 01:13:45 2014 Naohisa Goto - - * test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later, - if possible, execute child ruby with environment variables - LD_PRELOAD=libumem.so UMEM_OPTIONS="backend=mmap". With these - variables, freed memory is immediately returned to the OS. - [Bug #10020] [ruby-dev:48391] - -Fri Jul 11 20:49:10 2014 Masaki Suketa - - * ext/win32ole/win32ole.c: add WIN32OLE_RECORD class to support - VT_RECORD OLE variables. - -Fri Jul 11 17:15:08 2014 SHIBATA Hiroshi - - * lib/abbrev.rb: remove executable. - -Fri Jul 11 16:45:39 2014 SHIBATA Hiroshi - - * lib/fileutils.rb: handle ENOENT error with symlink targeted to - non-exists file. [ruby-dev:45933] [Bug #6716] - -Fri Jul 11 15:59:42 2014 SHIBATA Hiroshi - - * array.c: Clarify documentation for Array#insert. - [ruby-core:62934] [Bug #9901] - -Fri Jul 11 15:39:36 2014 SHIBATA Hiroshi - - * io.c: Improve Documentation by @dapplebeforedawn. - [fix GH-658] [ruby-core:63579] [Bug #10012] - -Fri Jul 11 14:19:14 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Fix sign for cross_product [#9499] - -Fri Jul 11 11:11:50 2014 Koichi Sasada - - * benchmark/prepare_so_k_nucleotide.rb: use require_relative. - - * benchmark/prepare_so_reverse_complement.rb: ditto. - -Fri Jul 11 10:09:03 2014 Nobuyoshi Nakada - - * pack.c (encodes): fix buffer overrun by tail_lf. Thanks to - Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019] - -Thu Jul 10 23:51:36 2014 Naohisa Goto - - * hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9. - When name contains '=', ruby_setenv raises Errno::EINVAL. - That is the same behavior as Solaris 10. - NULL check for malloc return value is also added. - -Thu Jul 10 15:02:55 2014 Nobuyoshi Nakada - - * vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack - pointer to get rid of overwriting splat arguments by arguments - for `to_hash` conversion. [ruby-core:63593] [Bug #10016] - -Thu Jul 10 01:09:57 2014 Koichi Sasada - - * symbol.c: remove rb_gc_mark_symbols(). - - fstrings referred by static symbols and pinned dynamic symbols - are registered by rb_gc_register_mark_object(). - - fstrings referred by dynamic symbols (not pinned symbols) - are referred from global_symbols.dsymbol_fstr_hash (Hash object). - - Note that fstrings referred from dynamic symbols must live logger - than symbol objects themselves because rb_gc_free_dsymbol() uses - fstrings to remove from symbol tables. - This is why we can not mark fstrings from dynamic symbols. - - This technique reduces root objects for GC marking. - - * gc.c (gc_mark_roots): ditto. - - * internal.h: ditto. - -Thu Jul 10 00:24:18 2014 Naohisa Goto - - * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solaris - introduced in r46768. Object files containing dtrace probes should - be listed in DTRACE_DEPENDENT_OBJS. - -Wed Jul 9 17:07:28 2014 Nobuyoshi Nakada - - * symbol.c, symbol.h: Symbol class implementation and internals, - split from parse.y. - -Wed Jul 9 14:45:39 2014 Koichi Sasada - - * parse.y: change Symbol <-> ID relationship to avoid - exposing IDs from collectable symbols. - [Bug #10014] - - Now, rb_check_id() returns 0 if corresponding symbol is - pinned dynamic symbol. - - There is remaining intern_cstr_without_pindown(), it can return - IDs from collectable symbols. We must be careful to use it - (only used in parse.y). I think it should be removed if - it does not have impact for performance. - - * parse.y: - add: - * STATIC_SYM2ID() - * STATIC_ID2SYM() - rename: - * rb_pin_dynamic_symbol() -> dsymbol_pindown() - - * internal.h: - remove: - * rb_check_id_without_pindown() - * rb_sym2id_without_pindown() - add: - * rb_check_symbol() - * rb_check_symbol_cstr() - - * load.c: use rb_check_id() or rb_check_id_cstr(). - - * object.c: ditto. - - * struct.c: ditto. - - * thread.c: ditto. - - * vm_method.c: ditto. - - * string.c (sym_find): use only rb_check_symbol(). - - * sprintf.c (rb_str_format): use rb_check_symbol_cstr(). - -Wed Jul 9 12:21:55 2014 Koichi Sasada - - * parse.y (symbols_i): delete garbage symbols for Symbol.all_symbols. - -Wed Jul 9 05:49:08 2014 Eric Wong - - * thread_pthread.h (struct rb_global_vm_lock_struct): - do not expose pthread type for lock - -Wed Jul 9 05:41:40 2014 Eric Wong - - * thread_pthread.h: remove unneeded semaphore.h include - -Wed Jul 9 00:12:28 2014 Keiju Ishitsuka - - * lib/irb/ruby-lex.rb: fix counting indent in identify_string_dvar. - -Tue Jul 8 16:58:02 2014 Nobuyoshi Nakada - - * test/ruby/memory_status.rb (Memory::PSCMD): use ps command which - outputs expected result. [ruby-dev:48370] [Bug #10010] - -Tue Jul 8 14:45:17 2014 Koichi Sasada - - * parse.y (dsymbol_alloc): set global_symbols.minor_marked to 0. - - * parse.y (dsymbol_check): set RSYMBOL(sym)->fstr to 0 - because we should not touch fstr after that. - - * parse.y (rb_gc_free_dsymbol): skip deleting str and sym - from tables if fstr == 0. - -Mon Jul 7 14:31:52 2014 Koichi Sasada - - * parse.y: remove global_symbols::pinned_dsym - (and ::pinned_dsym_minor_marked). - - Mark pinned dsymbols by rb_gc_register_mark_object() because - they are immortal. - - * parse.y (rb_gc_free_dsymbol): rename parameter name `ptr' to `sym'. - -Mon Jul 7 12:45:51 2014 Koichi Sasada - - * gc.c: revert miss-commit. - -Mon Jul 7 12:40:59 2014 Koichi Sasada - - * parse.y: need to use updated (re-created) symbols. - -Mon Jul 7 11:02:55 2014 NARUSE, Yui - - * tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb. - - * lib/rbconfig/obsolete.rb: removed. - -Mon Jul 7 10:52:03 2014 Koichi Sasada - - * parse.y: do not use rb_gc_resurrect(), but create a new dynamic - symbol for garbage dynamic symbol. - - * common.mk: use gc.h by parse.y. - -Mon Jul 7 02:18:42 2014 Koichi Sasada - - * string.c (fstr_update_callback): do not use rb_gc_resurrect() - any more. - - Make new frozen string and replace with garbage frozen string. - - * common.mk: use gc.h from string.c. - -Mon Jul 7 00:36:13 2014 Koichi Sasada - - * gc.c: rename is_dying_object() to is_garbage_object(). - - * gc.h: rb_objspace_garbage_object_p() as an exported function. - -Sun Jul 6 21:30:35 2014 Koichi Sasada - - * gc.c (is_dying_object): fix missed condition. - - * gc.c (is_live_object): move frequent path first. - -Sun Jul 6 21:00:11 2014 Koichi Sasada - - * gc.c: rename is_dead_object() to is_dying_object(). - This function is not opposite against is_live_object() - because is_dying_object() does *not* check object type. - - * gc.c (is_dying_object): change condition. - - * gc.c (is_live_object): use T_NONE instead of 0. - - * gc.c (rb_objspace_dying_object_p): added. - -Sun Jul 6 13:37:27 2014 Koichi Sasada - - * gc.c (rb_gc_register_mark_object): change data structure. - From single array, to array of arrays. Each array only has 1024 - entries. - - * vm.c (Init_vm_objects): change default capa from 1 to 128. - -Sat Jul 5 05:05:53 2014 Vipul A M - - * lib/irb/locale.rb (IRB::Locale#modifier): fix wrong attr_reader - `modifieer` => `modifier` from irb locale. [fix GH-656] - -Fri Jul 4 20:45:26 2014 Koichi Sasada - - * parse.y: rename symbols::sym_id to symbols::str_id. - This table is not {Symbol => ID} table, but - {String => ID} table. - - * parse.y (lookup_sym_id): also rename lookup_sym_id() to - lookup_str_id() because key is not Symbol, but String. - -Fri Jul 4 18:42:04 2014 Koichi Sasada - - * parse.y (must_be_dynamic_symbol): fix missed-condition. - -Fri Jul 4 18:38:11 2014 Koichi Sasada - - * parse.y (rb_pin_dynamic_symbol): should be `static' function. - -Fri Jul 4 18:03:35 2014 Koichi Sasada - - * parse.y (must_be_dynamic_symbol): refactoring. - * add `inline'. - * use UNLIKELY(). - * check only DYNAMIC_SYM_P(), otherwise it is a bug. - * lookup_id_str() is not needed in second condition. - -Fri Jul 4 11:53:56 2014 Koichi Sasada - - * parse.y: remove unused code - surrounded by `#if ENABLE_SELECTOR_NAMESPACE' - -Fri Jul 4 10:08:24 2014 SHIBATA Hiroshi - - * test/rubygems/test_gem_package.rb: avoid tempfile leaks using Tempfile#close! - * test/rubygems/test_gem_request_set.rb: ditto. - * test/rubygems/test_gem_request_set_gem_dependency_api.rb: ditto. - -Fri Jul 4 04:42:05 2014 NARUSE, Yui - - * lib/net/http/response.rb (Net::Inflater#inflate_adapter): - prevent automatic encoding conversion. - -Fri Jul 4 04:39:52 2014 NARUSE, Yui - - * lib/net/http/response.rb (Net::HTTPResponse.each_response_header): - raise first exception even if inflate_body_io.finish raises error. - when begin block raises error, finish usually raises error too. - -Fri Jul 4 02:56:04 2014 NARUSE, Yui - - * lib/uri/generic.rb (URI::Generic#query=): remove validation, just - escape. [Feature #2542] - - * lib/uri/generic.rb (URI::Generic#fragment=): ditto. - - * lib/uri/generic.rb (URI::Generic#check_query): removed. - - * lib/uri/generic.rb (URI::Generic#set_query): ditto. - - * lib/uri/generic.rb (URI::Generic#check_fragment): ditto. - - * lib/uri/generic.rb (URI::Generic#set_fragment): ditto. - -Thu Jul 3 12:40:22 2014 Nobuyoshi Nakada - - * configure.in (--with-static-linked-ext): fix for extensions to - be linked statically. - - * Makefile.in, common.mk: use ENCSTATIC for enc directory. - - * ext/extmk.rb: supply dependencies of statically linked extension - libraries. - -Wed Jul 2 15:45:49 2014 Koichi Sasada - - * gc.c (gc_heap_lazy_sweep): simplify logic. - - * gc.c (gc_page_sweep): return TRUE if empty slots are available. - -Wed Jul 2 09:48:42 2014 SHIBATA Hiroshi - - * logger.rb: removed unmaintained code. - [Feature #9860][ruby-core:62724] - * test/logger/test_application.rb: ditto. - -Wed Jul 2 03:20:00 2014 Charlie Somerville - - * node.c (dump_node): handle nd_value == (NODE *)-1 to mean this - keyword argument is required - -Wed Jul 2 02:57:27 2014 Nobuyoshi Nakada - - * vm.c (rb_vm_env_local_variables): returns array of local - variable name symbols in the environment by envval. - - * proc.c (bind_local_variables): use rb_vm_env_local_variables. - -Wed Jul 2 02:23:52 2014 Nobuyoshi Nakada - - * proc.c (bind_receiver): new method to return the bound receiver - of the binding object. [ruby-dev:47613] [Feature #8779] - -Wed Jul 2 02:14:37 2014 Nobuyoshi Nakada - - * proc.c (bind_local_variables): update env from envval for each - iterations. [ruby-dev:48351] [Bug #10001] - -Tue Jul 1 23:46:34 2014 NAKAMURA Usaku - - * NEWS: [DOC] mention about Binding#local_variables, introduced at - r44392 (see [Feature #8773]). - -Tue Jul 1 23:30:51 2014 CHIKANAGA Tomoyuki - - * numeric.c (num_step_scan_args): table argument of rb_get_kwargs() is - array of IDs, not Symbols. [ruby-dev:48353] [Bug #9811] - -Tue Jul 1 16:18:22 2014 Akinori MUSHA - - * ext/digest/lib/digest/hmac.rb, test/digest/test_digest_hmac.rb: - Digest::HMAC is finally removed as previously noticed. - [fix GH-648] - -Tue Jul 1 11:13:43 2014 SHIBATA Hiroshi - - * ext/date/lib/date/format.rb: removed empty file by @vipulnsward. - * ext/date/lib/date.rb: removed needless require. - [fix GH-647] - -Mon Jun 30 16:42:52 2014 Koichi Sasada - - * gc.c (gc_stat_internal): return size_t value instead of VALUE - and remove `out' parameter. - - * gc.c: add braces for `if' statements. - - * gc.c (gc_stat_internal): fix comment. - -Mon Jun 30 15:07:34 2014 Koichi Sasada - - * gc.c: support `USE_RGENGC == 0'. - - * test/ruby/test_gc.rb: ditto. - -Mon Jun 30 11:36:04 2014 SHIBATA Hiroshi - - * file.c: [DOC] document File.join returns a string. - Contributed by @dapplebeforedawn. [fix GH-646] - -Sat Jun 28 22:57:01 2014 NAKAMURA Usaku - - * ext/pathname/pathname.c (path_birthtime): Windows support. - see [Feature #9857] [ruby-dev:48339] - -Sat Jun 28 22:44:16 2014 Tanaka Akira - - * ext/pathname/pathname.c (path_birthtime): New method, - Pathname#birthtime. - Proposed by Kazuhiro NISHIYAMA. [ruby-dev:48232] [Feature #9857] - -Sat Jun 28 20:29:03 2014 Simon Baird - - * ext/bigdecimal/lib/bigdecimal/math.rb (BigMath#PI): change error - message about zero or negative precision for clarity and - consistency with other methods. [GH-644] - -Sat Jun 28 15:32:57 2014 Tanaka Akira - - * lib/webrick/utils.rb (create_listeners): Close socket objects. - -Sat Jun 28 13:58:48 2014 Nobuyoshi Nakada - - * eval.c (setup_exception): should not overwrite SystemStackError - backtrace if set already. [ruby-core:63377] [Feature #6216] - - * eval.c (setup_exception): get rid of method calls before raising - stack overflow, not to cause stack overflow again. - - * defs/id.def: add IDs for backtraces. - -Sat Jun 28 04:08:22 2014 NARUSE, Yui - - * lib/uri/mailto.rb: update to latest specs, RFC 6068 and HTML5. - - * lib/uri/mailto.rb (HEADER_PATTERN): removed. - - * lib/uri/mailto.rb (HEADER_REGEXP): use RFC 6068 hfields. - - * lib/uri/mailto.rb (EMAIL_REGEXP): use HTML5 email regexp. - - * lib/uri/mailto.rb (URI::MailTo.build): support multiple to addresses. - - * lib/uri/mailto.rb (URI::MailTo#initialize): Support multiple to - addresses. Don't check with regexp, only split. - - * lib/uri/mailto.rb (URI::MailTo#check_to): verify by matching - URI path-rootless and HTML5 email regexp with unescaped one. - - * lib/uri/mailto.rb (URI::MailTo#check_headers): verify only by - HEADER_REGEXP. - - * lib/uri/mailto.rb (URI::MailTo#set_headers): don't check by - HEADER_REGEXP, only split it. - -Sat Jun 28 00:35:10 2014 Lauri Tirkkonen - - * tool/mkconfig.rb: fix empty RbConfig::CONFIG["prefix"] when - configured --with-rubyarchprefix, remove prefix from rubyarchdir - after expansion for the case it does not start with '$(prefix)'. - [fix GH-643] - -Fri Jun 27 15:20:12 2014 SHIBATA Hiroshi - - * lib/rubygems/test_case.rb: rescue Gem::LoadError in Gem::TestCase. - because it's effected by removing minitest from stdlib. - -Fri Jun 27 12:29:37 2014 SHIBATA Hiroshi - - * lib/rubygems/specification.rb: fixed broken condition caused - by removing YAML::ENGINE. - * lib/rubygems/package/old.rb: ditto. - -Fri Jun 27 05:33:26 2014 Nobuyoshi Nakada - - * hash.c (env_shift): fix memory leak on Windows, free environment - strings block always. [ruby-dev:48332] [Bug #9983] - -Fri Jun 27 03:41:53 2014 Nobuyoshi Nakada - - * sprintf.c (GETASTER): should not use the numbered argument to be - formatted, raise ArgumentError instead. - [ruby-dev:48330] [Bug #9982] - -Thu Jun 26 18:18:28 2014 SHIBATA Hiroshi - - * test/with_different_ofs.rb: move into test library directory. - * test/csv/base.rb: fix require path for with_different_ofs.rb. - * test/digest/test_digest_extend.rb: ditto. - -Thu Jun 26 18:06:50 2014 SHIBATA Hiroshi - - * test/profile_test_all.rb: move into test library directory. - * test/runner.rb: fix require path for profile_test_all.rb. - -Thu Jun 26 17:57:57 2014 SHIBATA Hiroshi - - * lib/webrick/httpproxy.rb: remove useless assigned variables. - * lib/webrick/httpservlet/cgihandler.rb: ditto. - * lib/webrick/httpservlet/erbhandler.rb: ditto. - * lib/webrick/server.rb: ditto. - -Thu Jun 26 08:28:01 2014 Nobuyoshi Nakada - - * hash.c (env_select): fix memory leak and crash on Windows, make - keys array first instead of iterating on environ directly. - [ruby-dev:48325] [Bug #9978] - -Thu Jun 26 02:45:04 2014 Nobuyoshi Nakada - - * eval_error.c (error_print): put a newline after an anonymous - exception class name. - -Wed Jun 25 22:31:32 2014 Nobuyoshi Nakada - - * hash.c (ruby_setenv): fix memory leak on Windows, free - environment strings block after check for the size. - [ruby-dev:48323] [Bug #9977] - -Wed Jun 25 15:44:12 2014 Eric Wong - - * ccan/container_of/container_of.h (container_off_var): - avoid warning with -Wcast-qual - [ccan ba5ad771af4aa9e085498de6c3c665c52694460f (Rusty Russell)] - -Wed Jun 25 10:19:59 2014 Nobuyoshi Nakada - - * hash.c (env_aset, env_has_key, env_assoc, env_has_value), - (env_rassoc, env_key): prohibit tainted strings if $SAFE is - non-zero. [Bug #9976] - -Tue Jun 24 14:46:17 2014 SHIBATA Hiroshi - - * lib/gserver.rb: remove redundant use of to_s in interpolation. - * lib/logger.rb: ditto. - * lib/optparse.rb: ditto. - * lib/rbconfig/obsolete.rb: ditto. - * lib/resolv.rb: ditto. - * lib/webrick/httpresponse.rb: ditto. - -Tue Jun 24 10:50:06 2014 Nobuyoshi Nakada - - * hash.c (env_path_str_new): make PATH environment variable - string, to be frozen. - -Tue Jun 24 10:40:52 2014 SHIBATA Hiroshi - - * tool/make-snapshot: download bundle gems when package making. - [Feature #9852][ruby-core:62676] - * gems/bundled_gems: listed bundled gems for Ruby 2.2. - -Tue Jun 24 10:20:35 2014 SHIBATA Hiroshi - - * tool/downloader.rb: make Downloader class to general download utility. - It can be used without config.guess and config.sub. - * tool/get-config_files: ditto. - * tool/make-snapshot: ditto. - -Tue Jun 24 06:17:52 2014 NARUSE, Yui - - * eval.c (setup_exception): "mesg == sysstack_error" and - sysstack_error_p(mesg) are duplicated. - r46502 seems to want to use latter. - -Tue Jun 24 06:15:36 2014 Nobuyoshi Nakada - - * ext/tk/tcltklib.c: fix format specifiers for VALUE and - Tcl_Interp*. [ruby-core:63283] [Bug #9972] - -Tue Jun 24 05:40:41 2014 KOSAKI Motohiro - - * nacl/nacl-config.rb: Use File.exist? instead of executable? - for irt_core. Recent nacl_sdk has non-executable irt_core. - Patch by Shinichiro Hamaji. - [Fixes GH-529] https://github.com/ruby/ruby/pull/529 - -Mon Jun 23 18:44:45 2014 SHIBATA Hiroshi - - * tool/config_files.rb: rename class ConfigFiles to Downloader. - * tool/get-config_files: ditto. - * tool/make-snapshot: ditto. - -Mon Jun 23 18:03:13 2014 SHIBATA Hiroshi - - * tool/rbinstall.rb: support to install bundle gems. - -Mon Jun 23 17:33:11 2014 Akinori MUSHA - - * lib/net/imap.rb (Net::IMAP#fetch): [DOC] Describe how a range in - +set+ is interpreted, and mention -1 which can be used for '*'. - -Mon Jun 23 16:22:50 2014 URABE Shyouhei - - * include/ruby/ruby.h (struct RHash): no longer. [Feature #9889] - - * include/ruby/ruby.h (RHASH): ditto. - - * include/ruby/ruby.h (RHASH_ITER_LEV): deprecated. Will be deleted later. - - * include/ruby/ruby.h (RHASH_IFNONE): ditto. - - * internal.h (struct RHash): moved here. - - * internal.h (RHASH): ditto. - - * hash.c (rb_hash_iter_lev): do not use this. - - * hash.c (rb_hash_ifnone): ditto. - -Mon Jun 23 13:30:11 2014 URABE Shyouhei - - * include/ruby/ruby.h (struct RComplex): no longer. [Feature #9888] - - * include/ruby/ruby.h (RCOMPLEX): ditto. - - * include/ruby/ruby.h (RCOMPLEX_SET_REAL): deprecated. Will be deleted later. - - * include/ruby/ruby.h (RCOMPLEX_SET_IMAG): ditto. - - * internal.h (struct RFloat): moved here. - - * internal.h (RCOMPLEX): ditto. - - * complex.c (rb_complex_set_real): do not use this. - - * complex.c (rb_complex_set_imag): ditto. - -Mon Jun 23 13:10:15 2014 URABE Shyouhei - - * include/ruby/ruby.h (struct RFloat): no longer. [Feature #9863] - - * include/ruby/ruby.h (RFLOAT): ditto. - - * internal.h (struct RFloat): moved here. - - * internal.h (RFLOAT): ditto. - -Mon Jun 23 12:01:42 2014 NARUSE, Yui - - * lib/uri/generic.rb (check_port): allow strings for port= as - described in rdoc. - - * lib/uri/rfc3986_parser.rb (regexp): implementation detail of above. - -Mon Jun 23 11:35:01 2014 Nobuyoshi Nakada - - * eval.c (setup_exception): set backtrace in system stack error - other than the pre-allocated sysstack_error. [Feature #6216] - - * proc.c (Init_Proc): freeze the pre-allocated sysstack_error. - - * vm_insnhelper.c (vm_stackoverflow): raise new instance for each - times without calling any methods to keep the backtrace with no - further stack overflow. - - * object.c (rb_obj_copy_ivar): extract function to copy instance - variables only for T_OBJECT from init_copy. - -Mon Jun 23 11:11:16 2014 Nobuyoshi Nakada - - * signal.c (check_stack_overflow): drop the last tag too close to - the fault page, to get rid of stack overflow deadlock. - [Bug #9971] - -Sun Jun 22 09:11:15 2014 NARUSE, Yui - - * lib/uri/generic.rb: remove registry. - 'registry' is not used and RFC3986 doesn't use it. - -Sun Jun 22 09:10:09 2014 NARUSE, Yui - - * lib/uri/rfc3986_parser.rb: raise exception when given a URI string - has non ASCII in order to keep the regexp compiled for US-ASCII. - -Sun Jun 22 09:05:42 2014 NARUSE, Yui - - * lib/uri/common.rb (URI::REGEXP): move to lib/uri/rfc2396_parser.rb. - - * lib/uri/common.rb (URI::Parser): ditto. - - * lib/uri/common.rb (URI.split): use RFC3986_Parser. [Feature #2542] - - * lib/uri/common.rb (URI.parse): ditto. - - * lib/uri/common.rb (URI.join): ditto. - - * lib/uri/common.rb (URI.extract): deprecated. - - * lib/uri/common.rb (URI.regexp): ditto. - - * lib/uri/rfc2396_parser.rb: added. - - * lib/uri/rfc3986_parser.rb: added. - -Sun Jun 22 09:04:50 2014 NARUSE, Yui - - * lib/uri/mailto.rb (initialize): as previous commit, fix arg_check - -Sun Jun 22 09:01:47 2014 NARUSE, Yui - - * lib/uri/ftp.rb (initialize): argument checking flag is arg_check, - but arg[-1] is fragment. - - * lib/uri/ftp.rb (initialize): explicitly specify arguments. - -Sat Jun 21 12:50:32 2014 Nobuyoshi Nakada - - * ext/fiddle/extconf.rb: supply 0 to fill RUBY_LIBFFI_MODVERSION - with 3-digit. libffi 3.1 returns just 2-digit. - [ruby-core:62920] [Bug #9897] - -Sat Jun 21 07:06:13 2014 Nobuyoshi Nakada - - * encoding.c (enc_find): [DOC] never accepted a symbol. - [ruby-dev:48308] [Bug #9966] - -Fri Jun 20 17:15:43 2014 Koichi Sasada - - * test/lib/tracepointchecker.rb: add to check TracePoint healthiness. - - * test/runner.rb: use it. - -Fri Jun 20 07:26:44 2014 Koichi Sasada - - * test/ruby/test_settracefunc.rb: rewrite tests with - assert_consistent_call_return(). - - assert_consistent_call_return() is also modified to check - consistency. - -Fri Jun 20 07:07:28 2014 Koichi Sasada - - * compile.c (rb_iseq_compile_node): put start label of block after - trace (b_call). - [Bug #9964] - - * test/ruby/test_settracefunc.rb: add a test. - - added assert_consistent_call_return() method check call/return - consistency. - -Fri Jun 20 05:26:27 2014 Koichi Sasada - - * vm_eval.c (rb_catch_protect): fix same problem of [Bug #9961]. - - * vm_eval.c (rb_iterate): ditto. - -Thu Jun 19 21:41:30 2014 Koichi Sasada - - * vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfp - with invoking RUBY_EVENT_C_RETURN. - [Bug #9961] - - * vm_core.h: ditto. - - * eval.c (rb_protect): use it. - - * eval.c (rb_rescue2): ditto. - - * vm_eval.c (rb_iterate): ditto. - - * test/ruby/test_settracefunc.rb: add a test. - - * vm_core.h (rb_vm_rewind_cfp): add the prototype declaration. - -Thu Jun 19 19:47:21 2014 Koichi Sasada - - * vm.c (invoke_block_from_c): move call/return event timing for - bmethod. It can invoke inconsistent call event if this call raises - argument error. - [Bug #9959] - - * vm_insnhelper.c (vm_call_bmethod_body): ditto. - - * test/ruby/test_settracefunc.rb: add a test. - -Thu Jun 19 18:14:47 2014 Koichi Sasada - - * vm_core.h: add VM_FRAME_MAGIC_RESCUE to recognize normal block or - rescue clause. - - * vm.c (vm_exec): use VM_FRAME_MAGIC_RESCUE on at rescue/ensure. - - * test/ruby/test_settracefunc.rb: should not invoke b_return at rescue - clause. - [Bug #9957] - - * vm_dump.c (control_frame_dump): check VM_FRAME_MAGIC_RESCUE. - - * vm_dump.c (vm_stack_dump_each): ditto. - -Thu Jun 19 13:39:11 2014 Arne Brasseur - - * proc.c (rb_method_curry): Implement Method#curry, which delegates - to to_proc.curry. [ruby-core:62212] [Feature #9783] - -Tue Jun 17 16:41:49 2014 Shugo Maeda - - * lib/net/ftp.rb (gets, readline): read lines without LF properly. - [ruby-core:63205] [Bug #9949] - - * test/net/ftp/test_buffered_socket.rb: related test. - -Tue Jun 17 12:35:24 2014 Nobuyoshi Nakada - - * eval.c (extract_raise_opts): pass unknown options to the - exception, so that exception class can receive a hash argument. - [ruby-core:63203] [Feature #8257] - -Tue Jun 17 12:24:57 2014 Koichi Sasada - - * gc.c (obj_memsize_of): memsize_of(T_ZOMBIE) returns 0, not a rb_bug. - ObjectSpace.count_objects_size() uses memsize_of(T_ZOMBIE). - - This bug introduced at r46348. - -Mon Jun 16 19:00:11 2014 Koichi Sasada - - * test/runner.rb: failure message should be passed as an argument. - -Mon Jun 16 18:42:57 2014 Koichi Sasada - - * test/runner.rb: capture TracePoint stat before setup and compare - it after teardown. - -Mon Jun 16 14:33:56 2014 Nobuyoshi Nakada - - * process.c (open): use UTF-8 version function to support - non-ascii path properly. [ruby-core:63185] [Bug #9946] - -Sat Jun 14 10:54:08 2014 Nobuyoshi Nakada - - * array.c (rcombinate0): remove recursion, by looping with indexes - stored in `p`. - - * array.c (rpermute0): remove recursion, by looping with indexes - stored in `p`. - - * array.c (permute0): remove recursion, by looping with indexes - stored in `p`. [ruby-core:63103] [Bug #9932] - -Sat Jun 14 10:52:15 2014 Nobuyoshi Nakada - - * string.c (rb_str_resize): update capa only when buffer get - reallocated. - http://d.hatena.ne.jp/nagachika/20140613/ruby_trunk_changes_46413_46420#r46413 - -Sat Jun 14 08:28:59 2014 Zachary Scott - - * man/rake.1: [DOC] Update links for Rake, patch by @hsbt [Bug #9904] - [Fixes GH-628] https://github.com/ruby/ruby/pull/628 - -Fri Jun 13 17:58:58 2014 Koichi Sasada - - * vm_trace.c: add new method TracePoint.stat to debug - TracePoint mechanism. - - Ruby users should not use this method. So I don't note this method - in the NEWS file. - - * test/runner.rb: detect zombie active TracePoints with - TracePoint.stat. - -Fri Jun 13 17:46:31 2014 Koichi Sasada - - * vm_trace.c: clear and restore recursive checking thread local data - to avoid unexpected throw from TracePoint. - [Bug #9940] - - * test/ruby/test_settracefunc.rb: add a test. - - * thread.c: added - * rb_threadptr_reset_recursive_data(rb_thread_t *th); - * rb_threadptr_restore_recursive_data(rb_thread_t *th, VALUE old); - - * vm_core.h: ditto. - -Fri Jun 13 17:33:14 2014 Nobuyoshi Nakada - - * array.c (rb_ary_combination): iterate on a shared copy, and use - array of indexes instead of array of chosen objects. - [ruby-core:63149] [Bug #9939] - - * array.c (yield_indexed_values): extract from permute0(), - rpermute0(), and rcombinate0(). - -Fri Jun 13 13:42:58 2014 Nobuyoshi Nakada - - * array.c (rb_ary_permutation): `p` is the array of size `r`, as - commented at permute0(). since `n >= r` here, buffer overflow - never happened, just reduce unnecessary allocation though. - -Thu Jun 12 20:32:28 2014 Nobuyoshi Nakada - - * string.c (rb_str_resize): should consider the capacity instead - of the old length, as pointed out by nagachika. - -Thu Jun 12 18:31:01 2014 SHIBATA Hiroshi - - * lib/net/http/responses.rb: added Net::HTTPPermanentRedirect(308) - Contributed by @yorkie [fix GH-638] - -Thu Jun 12 13:27:38 2014 Nobuyoshi Nakada - - * string.c (rb_str_freeze): shrink the buffer before freezing, as - pointed out by Eric Wong at [ruby-core:63119]. - -Thu Jun 12 13:09:03 2014 Nobuyoshi Nakada - - * file.c (expand_path): shrink expanded path which no longer needs - rooms to append. [ruby-core:63114] [Bug #9934] - -Wed Jun 11 17:37:48 2014 Nobuyoshi Nakada - - * configure.in (rb_cv_scalar_pthread_t): pthread_t is not required - to be a scalar type. - - * thread.c (fill_thread_id_string, thread_id_str): dump pthread_t - in hexadecimal form if it is not a scalar type, assume it can be - represented in a pointer form otherwise. based on the patch by - Rei Odaira at [ruby-core:62867]. [ruby-core:62857] [Bug #9884] - - * thread_pthread.c (Init_native_thread, thread_start_func_1), - (native_thread_create): set thread_id_str if needed. - - * vm_core.h (rb_thread_t): add thread_id_string if needed. - -Wed Jun 11 01:53:22 2014 Koichi Sasada - - * gc.c: invoke GC before memory allocation (xmalloc/xrealloc) - when GC.stress = true. - [Bug #9859] - - * test/ruby/test_gc.rb: add a test. - -Tue Jun 10 13:20:14 2014 Takeyuki FUJIOKA - - * lib/cgi/core.rb: Provide a mechanism to specify the - max_multipart_length of multipart data. - [Feature #8370] patch by Leif Eriksen - -Tue Jun 10 10:57:07 2014 Nobuyoshi Nakada - - * lib/csv.rb (CSV#<<): honor explicitly given encoding. based on - the patch by DAISUKE TANIWAKI at - [ruby-core:62113]. [Bug #9766] - -Mon Jun 9 20:40:48 2014 Koichi Sasada - - * gc.c: change full GC timing to keep lower memory usage. - - Extend heap only at - (1) after major GC - or - (2) after several (two times, at current) minor GC - - Details in https://bugs.ruby-lang.org/issues/9607#note-9 - [Bug #9607] - -Mon Jun 9 16:01:41 2014 Masahiro Ide - - * gc.c (gcdebug_sentinel): fix typo, "sentinel" not "sential". - [fix GH-634] - -Mon Jun 9 00:04:25 2014 Nobuyoshi Nakada - - * configure.in (posix_fadvise): disable use of posix_fadvise - itself on 32-bit AIX. [ruby-core:62968] [Bug #9914] - -Sun Jun 8 23:28:00 2014 - - * io.c (rb_io_advise): AIX currently does not support a 32-bit call to - posix_fadvise() if _LARGE_FILES is defined. Patch by Rei Odaira. - [ruby-core:62968] [Bug #9914] - -Sun Jun 8 04:52:40 2014 Jun Hiroe - - * string.c (rb_str_slice_bang): [DOC] update return value against - a fixnum, which has changed because of M17N. [fix GH-631] - -Sat Jun 7 22:13:42 2014 Benoit Daloze - - * numeric.c (do_coerce): Add a warning when an exception is raised - or an invalid value is returned in #coerce called by - numeric comparison operators and the exception - thrown by the caller has no information on the failure. - In the next release such exception should not be rescued or - should be the cause of the caller exception. nil is accepted - as the "no possible coercion" return value. See #7688. - - * test/ruby/test_numeric.rb: Add corresponding test. - -Sat Jun 7 18:15:33 2014 Benoit Daloze - - * numeric.c (bit_coerce): remove constant parameter `err' - (always TRUE) of bit_coerce(). - -Sat Jun 7 16:01:57 2014 Yutaka Kanemoto - - * cont.c (rb_fiber_struct): keep context.uc_stack.ss_sp and context.uc_stack.ss_size - for later use. Patch by Rei Odaira. [ruby-core:62945] [Bug #9905] - -Sat Jun 7 12:51:51 2014 Nobuyoshi Nakada - - * io.c (read_all): truncate the buffer before appending read data, - instead of truncating before reading. - [ruby-core:55951] [Bug #8625] - -Sat Jun 7 12:28:53 2014 Nobuyoshi Nakada - - * ext/digest/digest.c (rb_digest_instance_equal): no need to call - `to_s` twice. [Bug #9913] - -Sat Jun 7 11:35:01 2014 Tanaka Akira - - * object.c (rb_mod_initialize_clone): Override Kernel#initialize_clone - to avoid an exception on Class.new.freeze.clone.to_s. - Reported by Andrew Grimm. [ruby-core:41858] [Bug #5828] - -Sat Jun 7 06:03:11 2014 Benoit Daloze - - * ext/digest/digest.c (rb_digest_instance_equal): - fix #== for non-string arguments. [ruby-core:62967] [Bug #9913] - - * test/digest/test_digest.rb: add test for above. - -Fri Jun 6 22:19:26 2014 Nobuyoshi Nakada - - * compile.c (private_recv_p): check by node type, instead of a - magic number. - - * node.h (NODE_PRIVATE_RECV), parse.y (attrset_gen): remove - -Fri Jun 6 17:07:08 2014 Nobuyoshi Nakada - - * compile.c (iseq_compile_each), parse.y (new_attr_op_assign_gen): - allow op assign to a private attribute. - [ruby-core:62949] [Bug #9907] - -Fri Jun 6 13:39:32 2014 Nobuyoshi Nakada - - * io.c (io_setstrbuf, io_read): should not shorten the given buffer until - read succeeds. [ruby-core:55951] [Bug #8625] - -Fri Jun 6 07:41:41 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/yaml_tree.rb: dump empty symbols with a - tag so that they can be parsed on input. [Bug #9873] [ruby-core:62825] - * test/psych/test_symbol.rb: test for change - -Thu Jun 5 16:08:39 2014 Koichi Sasada - - * gc.c (gc_page_sweep): refactoring. - - * gc.c (gc_page_sweep): should not set, but add final_slots into - sweep_page->final_slots. - -Thu Jun 5 14:36:24 2014 Nobuyoshi Nakada - - * configure.in (jemalloc): check for the header regardless drop-in - libjemalloc is found, for `malloc_conf` declaration. - - * version.c (ruby_show_version): show `malloc_conf` if set. - [Feature #9113] - - * configure.in (with-jemalloc): also check for header, for ABIs - which JEMALLOC_MANGLE is needed, i.e., Mach-O and PE-COFF - platforms. [ruby-core:62939] [Feature #9113] - - * include/ruby/missing.h: include alternative malloc header to - replace memory management functions. - - * dln.c, io.c, parse.y, st.c: undef malloc family before - re-definition to suppress warnings. - -Thu Jun 5 12:52:18 2014 SHIBATA Hiroshi - - * man/ruby.1: remove rubyforge entry. - -Thu Jun 5 12:45:32 2014 SHIBATA Hiroshi - - * misc/README: use github link instead of rubyforge. - -Thu Jun 5 10:03:29 2014 Koichi Sasada - - * gc.c (obj_free): check also FL_PROMOTED bit by RVALUE_OLD_P(). - -Thu Jun 5 03:45:28 2014 Eric Wong - - * configure.in: add --with-jemalloc option - [ruby-core:62912] - -Wed Jun 4 22:28:14 2014 Koichi Sasada - - * gc.c: introduce RZombie to manage zombie objects. - Rewrite finalizing logics with this type. - - * gc.c (gc_verify_internal_consistency): verify zombie (finalizing) - objects count. - -Wed Jun 4 22:09:53 2014 Nobuyoshi Nakada - - * re.c (match_aref, rb_reg_regsub): consider encoding of captured - names, encoding-incompatible should not match. - [ruby-dev:48278] [Bug #9903] - -Wed Jun 4 21:23:52 2014 Nobuyoshi Nakada - - * re.c (match_aref): should not ignore name after NUL byte. - [ruby-dev:48275] [Bug #9902] - -Wed Jun 4 04:08:37 2014 Nobuyoshi Nakada - - * vm.c (core_hash_merge_kwd): should return the result hash, which - may be converted from and differ from the given argument. - [ruby-core:62921] [Bug #9898] - -Tue Jun 3 23:32:34 2014 Tanaka Akira - - * ruby.c (load_file_internal2): Extracted from load_file_internal. - (load_file_internal): Invoke load_file_internal2 using rb_protect. - Close an opened FD if load_file_internal2 raises an exception. - -Tue Jun 3 19:11:45 2014 Koichi Sasada - - * gc.c (rb_objspace_free): should not rest_sweep() here. - Some data structures are already freed. - -Tue Jun 3 18:43:51 2014 Koichi Sasada - - * test/ruby/test_gc.rb: allocate more objects to invoke GC by newobj. - GC allows extending pages depends on heap_increment. - -Tue Jun 3 18:01:27 2014 Koichi Sasada - - * gc.c (rb_gc_call_finalizer_at_exit): add - gc_verify_internal_consistency() when RGENGC_CHECK_MODE >= 2. - -Tue Jun 3 17:54:21 2014 Koichi Sasada - - * gc.c: change the counting method for young objects. - clear counter at the beginning of every GC and - count promoted (infant->young) objects. - - Some promotions (infant->young) are transition of promoting to old - objects. We should not count such promotions. - - With this technique, we don't need to check young objects - at obj_free(). - -Tue Jun 3 16:38:19 2014 Koichi Sasada - - * gc.c: add verifying counters code in gc_verify_internal_consistency(). - gc_verify_internal_consistency() counts all - - live objects - - young objects (if age2 promotion) - - old objects - in all pages and compares with objspace managing counters. - - * gc.c (gc_after_sweep): do gc_verify_internal_consistency() - when RGENGC_CHECK_MODE >= 2. - -Tue Jun 3 13:14:04 2014 Shugo Maeda - - * lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body - type as "MIXED" followed immediately by params - [ruby-core:62864] [Bug #9885] - Patch by @rayners (David Raynes). [Fixes GH-622] - https://github.com/ruby/ruby/pull/622 - -Tue Jun 3 13:18:24 2014 Koichi Sasada - - * gc.c (objspace_live_slot): live slot count should not include final - slot (contains T_ZOMBIE) count. - -Tue Jun 3 13:03:21 2014 Koichi Sasada - - * gc.c (obj_free): fix spacing. - -Tue Jun 3 12:59:32 2014 Koichi Sasada - - * gc.c (check_gen_consistency): fix error message. - -Tue Jun 3 12:40:23 2014 Koichi Sasada - - * gc.c: count old/young objects more correctly. - - * gc.c (RVALUE_DEMOTE_FROM_OLD): decrement old object count. - - * gc.c (RVALUE_DEMOTE_FROM_YOUNG): decrement young object count. - - * gc.c (rb_gc_resurrect): increment old object count. - - * gc.c (gc_marks_body): should not add old object count. - This code is completely my misunderstanding. - - * gc.c (rb_gc_force_recycle): decrement young or old object count - correctly. - -Tue Jun 3 12:26:47 2014 Koichi Sasada - - * test/ruby/memory_status.rb: add $LOAD_PATH to load test/unit - correctly for fiddle/import unavailable environments. - -Tue Jun 3 09:45:13 2014 NAKAMURA Usaku - - * test/openssl/test_ssl.rb (OpenSSL::TestSSL#test_verify_result): - shouldn't use same server for respective tests, because the 1st - test sometimes kills the server main loop silently. - [Bug #9881] [ruby-dev:48266] - -Tue Jun 3 01:34:59 2014 Zachary Scott - - * README.EXT: [DOC] Add rb_call_super when subclassing from @robin850 - [Fixes GH-623] https://github.com/ruby/ruby/pull/623 - -Mon Jun 2 17:14:49 2014 Koichi Sasada - - * vm.c (ruby_vm_destruct): remove useless call of - rb_gc_force_recycle(). - - At this line, a VM object is already freed - (is changed to T_NONE) by rb_gc_call_finalizer_at_exit(). - -Mon Jun 2 15:50:24 2014 Koichi Sasada - - * eval.c (rb_using_refinement): add write-barriers for - cref->nd_refinements. - -Mon Jun 2 12:26:08 2014 SHIBATA Hiroshi - - * CONTRIBUTING.md: added contributing guide for github. [fix GH-625] - -Mon Jun 2 07:30:33 2014 Tanaka Akira - - * test/ruby/envutil.rb (default_warning): New method. - - * test/ruby/test_autoload.rb: Use EnvUtil.default_warning. - -Mon Jun 2 07:05:59 2014 Nobuyoshi Nakada - - * include/ruby/encoding.h: constify `rb_encoding` arguments. - - * include/ruby/oniguruma.h: constify `OnigEncoding` arguments. - -Sun Jun 1 12:05:10 2014 Tanaka Akira - - * test/drb: Wrap tests definitions by DRbTests module. This makes - several tests (ACLEntryTest, TestBug4409, etc.) easier to understand - that they are tests for DRb. - -Sun Jun 1 11:36:25 2014 Tanaka Akira - - * lib/rinda/ring.rb (RingFinger#make_socket): Close the socket on - exception. - -Sun Jun 1 06:55:26 2014 Nobuyoshi Nakada - - * parse.y (intern_str): dynamic attrset ID is registered by - `rb_id_attrset()` already, so no further registration is needed. - [ruby-core:62861] - -Sun Jun 1 04:52:47 2014 Zachary Scott - - * lib/English.rb: [DOC] $LOADED_FEATURES moved to load.c [Fixes GH-620] - Patch submitted by @leafac in https://github.com/ruby/ruby/pull/620 - * doc/globals.rdoc: Added $LOADED_FEATURES to list - -Sat May 31 22:30:14 2014 Tanaka Akira - - * test/lib/leakchecker.rb: Leak checker extracted from - test/lib/minitest/unit.rb. - -Sat May 31 21:15:43 2014 URABE Shyouhei - - * thread.c (rb_thread_atfork_internal): My compiler complains - about this variable being used before initialized. I looked at - the code and expanded the macro and turned out it was actually - USED for pointer arithmetic, not dereferenced. So this was - never a serious bug. But is annoying indeed to see warnings - every time. I added `=0` and all went healthy. - - * configure.in: Also, I found that the problematic macro expansion - only happens when we lack __typeof__ C extension, which shall - not be the case of my compiler. I added AC_C_TYPEOF to kick ass. - -Sat May 31 16:32:50 2014 SHIBATA Hiroshi - - * lib/ipaddr.rb: extracted inline tests into test dir. - * test/test_ipaddr.rb: ditto. - -Sat May 31 16:29:21 2014 SHIBATA Hiroshi - - * ext/digest/lib/digest/hmac.rb: extracted inline tests into test dir. - * test/digest/test_digest_hmac.rb: ditto. - -Sat May 31 16:02:03 2014 SHIBATA Hiroshi - - * test/test_syslog.rb: remove executable. - -Sat May 31 08:58:32 2014 Nobuyoshi Nakada - - * enc/unicode.c (init_case_fold_table): no longer need to - initialize tables at runtime. - - * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to - lookup case unfolding table 3. - - * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to - lookup case unfolding table 2. - - * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to - lookup case unfolding table 1. - - * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to - lookup case folding table. - - * enc/unicode/case-folding.rb (print_table): merge non-locale and - locale tables, and reduce initializing loops. - - * enc/unicode/case-folding.rb (CaseFolding): modularize, and add - --output-file option. - - * enc/unicode/case-folding.rb: script to convert CaseFolding.txt, - translated from CaseFolding.py. - -Sat May 31 08:31:41 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Check Tempfile leaks for each test method - again. - -Sat May 31 03:50:50 2014 Zachary Scott - - * lib/delegate.rb: [DOC] Document raise in Delegator class - Patch by @lucasmazza. [Fixes GH-621] - https://github.com/ruby/ruby/pull/621 - -Fri May 30 21:23:26 2014 Tanaka Akira - - * lib/webrick/server.rb: Use a pipe to detect server shutdown. - shutdown() or close() for listening socket is not a reliable. - Actually, both doesn't work (doesn't wake up select()) on - DragonFly BSD 3.6.2. - - * test/webrick/utils.rb: :ShutdownSocketWithoutClose is not required - now to immediate server shutdown detection. - This fixes fd leaks. - - * test/net/http/utils.rb: Ditto. - -Fri May 30 20:58:37 2014 Tanaka Akira - - * test/lib/minitest/unit.rb (check_fd_leak): Sort the inspected - objects list for a FD. - -Fri May 30 18:06:55 2014 Tanaka Akira - - * test/lib/minitest/unit.rb (check_fd_leak): Try GC to delete leaked - FDs. - -Fri May 30 12:05:59 2014 NARUSE, Yui - - * test/lib/test/unit/parallel.rb (_run_suite): orig_stdout may be nil - though I don't know the reason. - -Fri May 30 11:33:35 2014 Nobuyoshi Nakada - - * string.c (rb_str_substr): need to reset code range for shared - string too, not only copied string. - [ruby-core:62842] [Bug #9882] - -Fri May 30 10:22:21 2014 Mark Lorenz - - * lib/erb.rb (result): [DOC] no longer accepts a Proc, as - Kernel.eval does not. [fix GH-619] - -Fri May 30 07:25:46 2014 Tanaka Akira - - * ext/-test-/dir: Dir#fileno implemented. - - * test/lib/minitest/unit.rb (find_fds): Don't return the fd used to - scan /proc/$$/fd. - -Fri May 30 04:48:00 2014 Eric Wong - - * parse.y (rb_gc_mark_parser): remove, empty since r8758 - * internal.h: ditto, not usable from extensions since 2.0.0 - * gc.c (gc_mark_roots): remove checkpoint for parser - -Thu May 29 23:27:50 2014 Rei Odaira - - * signal.c (ruby_signal): should return either `old.sa_sigaction` - or `old.sa_handler`, depending on whether `SA_SIGINFO` is set in - `old.sa_flags`, because they may not be a union. - [ruby-core:62836] [Bug #9878] - -Thu May 29 23:11:20 2014 Tanaka Akira - - * io.c (pipe_open): Close pipes when rb_execarg_fixup() raises - an exception. - (rb_execarg_fixup_v): New function. - -Thu May 29 22:18:57 2014 Tanaka Akira - - * test/lib/minitest/unit.rb (capture_subprocess_io): Close fds. - -Thu May 29 19:47:08 2014 Tanaka Akira - - * io.c (rb_io_s_pipe): Close pipes if io_encoding_set() raises an - exception. - (io_encoding_set_v): New function. - -Thu May 29 19:42:49 2014 Tanaka Akira - - * lib/csv.rb (CSV.open): Close the opened file when an exception - occur. - -Thu May 29 19:31:10 2014 Tanaka Akira - - * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): Close a socket - if any exception occur. - -Thu May 29 05:05:29 2014 Eric Wong - - * include/ruby/ruby.h: Hide Symbol internals. - (struct RSymbol): moved to internal.h - (RSYMBOL): ditto - -Thu May 29 00:28:56 2014 Tanaka Akira - - * ext/socket/unixsocket.c (rsock_init_unixsock): Open a socket - after path length check. - This fixes a fd leak by TestSocket_UNIXSocket#test_too_long_path. - -Wed May 28 23:04:35 2014 Tanaka Akira - - * test/ruby/test_io.rb (test_flush_in_finalizer1): Use - ObjectSpace.each_object to close files. - GC.start is not reliable. - -Wed May 28 19:00:31 2014 Tanaka Akira - - * lib/net/imap.rb (Net::IMAP#initialize): Close the opened socket when - any exception occur. - This fixes a fd leak by IMAPTest#test_imaps_post_connection_check - which start_tls_session() raises an exception. - -Wed May 28 18:06:13 2014 Tanaka Akira - - * ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work - when SSL is not started. - This fix the fd leak by test_https_proxy_authentication in - test/net/http/test_https_proxy.rb. - -Wed May 28 10:29:28 2014 Eric Wong - - * vm.c (rb_vm_living_threads_foreach): remove function - [ruby-core:62745] - * thread.c (terminate_i): remove - * thread.c (terminate_all): implement (inlines old terminate_i) - * thread.c (rb_thread_terminate_all): use terminate_all - * thread.c (rb_thread_fd_close_i): remove - * thread.c (rb_thread_fd_close): iterate inline - * thread.c (thread_list_i): remove - * thread.c (rb_thread_list): iterate inline - * thread.c (rb_thread_atfork_internal): iterate inline - * thread.c (terminate_atfork_i): update types to remove casts - * thread.c (terminate_atfork_before_exec_i): ditto - * thread.c (struct thgroup_list_params): remove definition - * thread.c (thgroup_list_i): remove - * thread.c (thgroup_list): iterate inline - * thread.c (check_deadlock_i): remove - * thread.c (debug_deadlock_check): implement (inlines check_deadlock_i) - * thread.c (debug_i): remove - * thread.c (rb_check_deadlock): iterate inline - * vm.c (vm_mark_each_thread_func): remove - * vm.c (rb_vm_mark): iterate inline - * vm_core.h (rb_vm_living_threads_remove): remove - * vm_trace.c (clear_trace_func_i): remove - * vm_trace.c (rb_clear_trace_func): iterate inline - -Wed May 28 09:30:51 2014 Eric Wong - - * signal.c (signal_exec): ignore immediate cmd for SIG_IGN - * signal.c (trap_handler): set cmd to true for SIG_IGN - * signal.c (trap): handle nil and true values for oldcmd - [Bug #9835] - -Wed May 28 01:02:54 2014 Tanaka Akira - - * lib/tempfile.rb (Tempfile#inspect): Show "(closed)" if the tempfile - is closed. - -Wed May 28 00:38:09 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Use Tempfile#close! instead of - Tempfile#unlink to close file descriptors. - - * test/openssl/test_config.rb: Ditto. - - * test/ruby/test_io.rb: Ditto. - -Wed May 28 00:06:18 2014 Tanaka Akira - - * lib/net/ftp.rb (transfercmd): Close TCP server socket even if an - exception occur. - -Tue May 27 23:50:07 2014 Tanaka Akira - - * lib/cgi/core.rb: Use Tempfile#close! instead of Tempfile#unlink - to close file descriptors. - -Tue May 27 23:06:46 2014 Nobuyoshi Nakada - - * parse.y (parser_number_literal_suffix): refine error message for - extra dot and digits. - -Tue May 27 22:44:20 2014 Tanaka Akira - - * test/rexml: Avoid fd leaks. - -Tue May 27 22:24:25 2014 Kouhei Sutou - - * test/rexml/test_document.rb: Indent. - -Tue May 27 22:15:29 2014 Kouhei Sutou - - * test/rexml/test_document.rb: Wrap by REXMLTests module. - -Tue May 27 22:11:10 2014 Kouhei Sutou - - * test/rexml/test_encoding_2.rb: Remove a needless file. - -Tue May 27 22:10:30 2014 Kouhei Sutou - - * test/rexml/test_contrib.rb: Indent. - -Tue May 27 21:28:16 2014 NARUSE, Yui - - * ext/socket/ifaddr.c (ifaddr_inspect_flags): support IFF_SIMPLEX. - -Tue May 27 21:03:03 2014 Kouhei Sutou - - * test/rexml/: Use REXMLTests as wrapping module for REXML tests. - I avoid using the same module for library in test because - it provides "include REXML" environment in test. Normally, - users don't use REXML on "include REXML" environment. So I - don't want to write tests on "include REXML" environment. - -Tue May 27 20:59:37 2014 Kouhei Sutou - - * test/rexml/test_comment.rb: Remove needless REXML module wrapping. - -Tue May 27 20:56:49 2014 Kouhei Sutou - - * test/openssl/test_pkcs7.rb: Fix inverted expected and actual values. - -Tue May 27 20:26:06 2014 NAKAMURA Usaku - - * test/ruby/test_io.rb (test_flush_in_finalizer1): some opened fds are - remain before GC, so unlink the tempfile is failed. - -Tue May 27 19:07:26 2014 Tanaka Akira - - * io.c (rb_io_autoclose_p): Don't raise on frozen IO. - - * test/lib/minitest/unit.rb: IO#autoclose? may raise IOError. - -Tue May 27 19:01:49 2014 SHIBATA Hiroshi - - * test/openssl/test_pair.rb: Modify TestSSL#test_read_and_write - to handle partial sysreads. [Bug #7398][ruby-core:49563] - * test/openssl/test_ssl.rb: ditto. - -Tue May 27 18:46:23 2014 SHIBATA Hiroshi - - * test/openssl/test_pkcs7.rb: Add tests for PKCS7#type= and add_data. - [Feature #7399][ruby-core:49565] - -Tue May 27 17:45:09 2014 SHIBATA Hiroshi - - * test/openssl/test_hmac.rb (test_binary_update): Added Test for - HMAC signing with UTF-8 String. [Bug #7512][ruby-core:50559] - -Tue May 27 17:10:14 2014 SHIBATA Hiroshi - - * test/runner.rb: fixed randomly test failure. - [Bug #6573][ruby-core:45563] - -Tue May 27 16:58:12 2014 SHIBATA Hiroshi - - * test/test_timeout.rb (test_timeout): inverted test condition. - [Bug #8523] - -Tue May 27 12:24:22 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Show leaked file descriptors. - -Tue May 27 11:12:56 2014 Nobuyoshi Nakada - - * io.c (rb_io_fileno, rb_io_inspect): non-modification does not - error on frozen IO. [ruby-dev:48241] [Bug #9865] - -Tue May 27 00:00:21 2014 yui-knk - - * insns.def (defineclass): fix typo in the instruction comment. - [fix GH-618] - -Mon May 26 16:33:15 2014 NAKAMURA Usaku - - * test/ruby/test_file.rb: skip the test of atime on Windows, because - Windows delays updating atime about 1 hour. - see more details: - http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx - -Mon May 26 12:25:36 2014 Nobuyoshi Nakada - - * lib/optionparser.rb, lib/optparse.rb (OptParse): aliases. - [ruby-core:62751] [Feature #9864] - -Mon May 26 07:59:34 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Show Finished threads line-by-line. - -Mon May 26 01:39:02 2014 Zachary Scott - - * lib/csv.rb: Reject nil as data source for CSV.new, patch by @Peeja. - [Fixes GH-580] https://github.com/ruby/ruby/pull/580 - -Mon May 26 01:07:51 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Show leaked threads and tempfiles - line-by-line. - -Sun May 25 23:02:06 2014 Tanaka Akira - - * test/lib/minitest/unit.rb (MiniTest::Assertions#diff): Remove - tempfiles. - -Sun May 25 22:42:27 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Check tempfile leak for each test class. - -Sun May 25 20:31:49 2014 Nobuyoshi Nakada - - * configure.in (ac_cv_func_{getcontext,setcontext}): do not - disable ucontext.h entirely, but disable use of functions only. - `ucontext_t` is necessary in the signal handler now. - -Sun May 25 20:00:23 2014 Nobuyoshi Nakada - - * signal.c (check_stack_overflow): revert part of r46100, the - previous condition was correct, and fix compilation error on - other architecture linux. [ruby-core:62746] [Bug #9862] - -Sun May 25 17:09:13 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Less ObjectSpace.each_object(Tempfile) - invocation. - -Sun May 25 16:54:06 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Use Thread.list instead of - ObjectSpace.each_object(Thread). - -Sun May 25 15:53:54 2014 Tanaka Akira - - * lib/rinda/ring.rb (Rinda::RingServer#shutdown): Join the killed - threads. - -Sun May 25 15:26:17 2014 Tanaka Akira - - * lib/webrick/utils.rb: Override the inspect method of the thread - used in WEBrick::Utils::TimeoutHandler. - -Sun May 25 14:22:30 2014 Tanaka Akira - - * test/openssl: Join threads. - -Sun May 25 12:46:47 2014 Nobuyoshi Nakada - - * error.c (rb_bug_context): new function to report bug with - context. - - * vm_dump.c (rb_vm_bugreport): accepts `ucontext_t` argument to - dump machine registers. based on [GH-584]. - - * signal.c (sigbus, sigsegv): dump machine registers if available. - -Sun May 25 12:32:42 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Sort leaked threads and tempfiles. - -Sun May 25 12:15:30 2014 Nobuyoshi Nakada - - * signal.c (check_stack_overflow): fix condition to use ucontext - register, mcontext_t dereference, and its member names, on Mac - OS X. - -Sun May 25 11:58:26 2014 Zachary Scott - - * enumerator.c: [DOC] Fix example to show Enumerator#peek behavior - Patch by Erik Hollembeak [Bug #9814] - -Sun May 25 11:56:33 2014 Nobuyoshi Nakada - - * vsnprintf.c (BSD_vfprintf): fix string width when precision is - given. as the result of `memchr` is NULL or its offset from the - start cannot exceed the size, the comparison was always false. - [ruby-core:62737] [Bug #9861] - -Sun May 25 11:32:42 2014 Zachary Scott - - * lib/yaml.rb: Remove Psych::EngineManager [Bug #8344] - * test/psych/*: ditto. - -Sun May 25 10:34:15 2014 Zachary Scott - - * doc/regexp.rdoc: [DOC] Clarify whitespace matching by @allolex - [Fixes GH-606] https://github.com/ruby/ruby/pull/606 - -Sun May 25 10:19:34 2014 Zachary Scott - - * enum.c: [DOC] Use #find in example to clarify alias by @rachellogie - Patch submitted via documenting-ruby/ruby#34 - -Sun May 25 10:16:43 2014 Zachary Scott - - * cont.c: [DOC] Fix rdoc in example for Fiber#transfer by @majjoha - Patch submitted via documenting-ruby/ruby#33 - -Sun May 25 10:01:11 2014 Zachary Scott - - * lib/irb.rb: [DOC] Fixed syntax error in example by @jasdeepsingh. - Patch submitted via documenting-ruby/ruby#32 - -Sun May 25 09:58:02 2014 SHIBATA Hiroshi - - * test/fileutils/test_fileutils.rb (test_chown_R): Add tests for - chown_R. [Feature #9383][ruby-core:59641] - -Sun May 25 09:57:09 2014 SHIBATA Hiroshi - - * test/fileutils/test_fileutils.rb: Added recursively chown tests. - [Feature #9303][ruby-core:59325] - -Sun May 25 09:41:56 2014 Zachary Scott - - * class.c: [DOC] Fixed grammar and examples of instance_methods. - By @alex-frost via documenting-ruby/ruby#31 - -Sun May 25 09:40:44 2014 Tanaka Akira - - * test/lib/minitest/unit.rb: Show leaked threads and tempfiles. - -Sun May 25 08:54:38 2014 SHIBATA Hiroshi - - * test/openssl/test_partial_record_read.rb: Testing read_nonblock on - a partial TLS record results in IO::WaitReadable by @mohamedhafez. - [fix GH-547] - -Sun May 25 08:43:16 2014 SHIBATA Hiroshi - - * lib/logger.rb: refactored to include Logger::Period. - -Sun May 25 06:50:19 2014 Zachary Scott - - * vm_eval.c: [DOC] Improve instance_eval description when given a - block or String arguments. By @nathanl via documenting-ruby/ruby#28 - -Sun May 25 06:29:39 2014 Zachary Scott - - * array.c: [DOC] Clarify default argument for Array.new. - By @Elffers [Fixes GH-610] - -Sat May 24 22:37:20 2014 SHIBATA Hiroshi - - * array.c: [DOC] Add more documents to shuffle! and shuffle. - Contributed by @JuanitoFatas [ci skip][fix GH-612] - -Sat May 24 22:28:55 2014 SHIBATA Hiroshi - - * test/lib/minitest/.document: removed unused configuration. - -Sat May 24 19:08:47 2014 Tanaka Akira - - * test/lib/minitest/spec.rb: Unused file removed. - - * test/lib/minitest/autorun.rb: Don't require minitest/spec. - - * test/lib/minitest/benchmark.rb: Ditto. - -Sat May 24 18:45:30 2014 Tanaka Akira - - * test/benchmark/test_benchmark.rb: Use test/unit. - -Sat May 24 16:20:59 2014 Eric Wong - - * process.c (proc_getgroups, proc_setgroups): use ALLOCV_N - [Bug #9856] - -Sat May 24 15:49:39 2014 Tanaka Akira - - * test/lib/minitest/unit.rb (parallelize_me!): Removed. - This fixes the line-by-line structure of the test result in verbose - mode. [ruby-core:54905] - - * test/lib/minitest/parallel_each.rb: Removed. - - * test/minitest/test_minitest_mock.rb: Don't call parallelize_me!. - - * test/minitest/test_minitest_spec.rb: Ditto. - - * test/minitest/test_minitest_unit.rb: Ditto. - Tests for parallel feature removed. - -Sat May 24 15:29:10 2014 Tanaka Akira - - * test/lib/minitest/hell.rb: Unused file removed. - - * test/lib/minitest/pride.rb: Ditto. - -Sat May 24 15:05:32 2014 yui-knk - - * enumerator.c (yielder_yield_push): Insert a break after the - method return value. [fix GH-617] - -Sat May 24 14:59:12 2014 Tanaka Akira - - * test/lib/minitest: Remove comments not appropriate now. - - * test/minitest: Ditto. - -Sat May 24 14:02:04 2014 SHIBATA Hiroshi - - * NEWS: added minitest changes. - -Sat May 24 13:42:46 2014 SHIBATA Hiroshi - - * test/lib/test/unit/test-unit.gemspec: removed needless gemspec file. - -Sat May 24 09:39:06 2014 SHIBATA Hiroshi - - * defs/default_gems: removed minitest entry. - -Sat May 24 06:17:33 2014 Ryan Davis - - * lib/minitest: minitest 4.7.5 removed. Need to support proper - gem packaging / installation before minitest 5 can be added. - -Sat May 24 05:54:06 2014 Tanaka Akira - - * ext/socket/mkconstants.rb: More constants - -Sat May 24 00:25:34 2014 Ayumu AIZAWA - - * NEWS: add information of incompatibility about Prime.prime? - * lib/prime.rb: fix docs. - -Fri May 23 21:36:28 2014 Josh Goebel - - * net/protocol.rb (using_each_crlf_line): fix SMTP dot-stuffing - for messages not ending with a new-line. - [ruby-core:61441] [Bug #9627] [fix GH-616] - -Fri May 23 03:48:08 2014 Eric Wong - - * gc.c (rb_free_m_tbl): mark function as static - - * method.h (rb_free_m_tbl): remove prototype - -Thu May 22 22:58:27 2014 Tanaka Akira - - * ext/socket/mkconstants.rb: More TCP option constants. - Describe Linux and glibc versions. - -Thu May 22 20:38:10 2014 NARUSE, Yui - - * file.c (stat_birthtime): add birthtime support [Feature #9647] - - * file.c (rb_stat_birthtime): add File::Stat.birthtime - - * file.c (rb_file_s_birthtime): add File.birthtime - - * file.c (rb_file_birthtime): add File#birthtime - - * configure.in: check struct stat.st_birthtimespec. - -Thu May 22 19:38:14 2014 NARUSE, Yui - - * file.c: remove IO::Statfs because of reject. [Feature #9772] - -Thu May 22 14:02:13 2014 Nobuyoshi Nakada - - * enc/jis/props.kwd: constify character property tables of JIS - based encodings by perfect hash. - - * enc/euc_jp.c, enc/shift_jis.c: use character property functions. - -Wed May 21 12:21:10 2014 Tanaka Akira - - * ext/socket/option.c: Fix compilation error on Android. - Bionic doesn't define TCP state constants. - -Wed May 21 11:42:31 2014 Nobuyoshi Nakada - - * configure.in: workaround for Info.plist to get rid of `dsymutil` - crash by wrong files in parent directories. - [ruby-core:62594] [Bug #9840] - -Tue May 20 20:57:34 2014 SHIBATA Hiroshi - - * test/ruby/test_dir.rb (test_glob): added testcase of double - slash path. - -Tue May 20 04:58:54 2014 Tanaka Akira - - * ext/socket/extconf.rb: Don't check fields of struct tcp_info if the - structure is not available. - -Mon May 19 23:13:33 2014 Tanaka Akira - - * ext/socket/option.c (inspect_tcp_info): Permit longer data. (glibc - 2.7 adds tcpi_rcv_rtt, tcpi_rcv_space and tcpi_total_retrans to - struct tcp_info.) - -Mon May 19 20:49:07 2014 Tanaka Akira - - * ext/socket/option.c (inspect_tcp_info): New function to inspect - struct tcp_info. - (sockopt_inspect): Use inspect_tcp_info. - - * ext/socket/extconf.rb: Check tcp_info related things. - - * ext/socket/rubysocket.h: Include netinet/tcp_fsm.h if available. - -Mon May 19 19:36:39 2014 Tanaka Akira - - * test/dbm/test_dbm.rb: Use Etc.uname. - - * test/gdbm/test_gdbm.rb: Ditto. - -Mon May 19 16:54:22 2014 Nobuyoshi Nakada - - * ext/etc/etc.c (etc_uname): add support for Windows using - GetVersionExW(), GetSystemInfo(), and GetComputerNameExW() with - `ComputerNameDnsHostname`. [Feature #9842] - -Mon May 19 16:29:48 2014 Nobuyoshi Nakada - - * string.c (rb_pat_search): advance by byte offset but not by char - offset. [ruby-core:62669] [Bug #9849] - -Mon May 19 14:06:18 2014 Shota Fukumori - - * bin/testrb: Removed. Forgot to remove in r45971. - [Feature #9711] [ruby-core:62620] - -Sun May 18 16:42:08 2014 Tanaka Akira - - * test/ruby/test_m17n_comb.rb (test_str_crypt): Use Etc.confstr to - detect the glibc version. - libc.so is not an executable on Debian GNU/kFreeBSD 7.0 (wheezy). - -Sun May 18 12:15:54 2014 Jonathan Mukai-Heidt - - * io.c (argf_each_line, argf_inplace_mode_set): [DOC] Update ARGF - documentation examples. `ARGF.lines` has been deprecated in - favor of `ARGF.each_line`. [Fixes GH-615] - -Sun May 18 11:59:25 2014 Tanaka Akira - - * missing/nextafter.c: Include ruby/missing.h. - -Sun May 18 11:09:28 2014 Tanaka Akira - - * win32/Makefile.sub: Add nextafter.obj to MISSING. - -Sun May 18 10:46:04 2014 Tanaka Akira - - * ext/etc/etc.c: Etc.sysconf, Etc.confstr and IO#pathconf implemented. - - * ext/etc/extconf.rb: Check sysconf(), confstr() and fpathconf(). - - * ext/etc/mkconstants.rb: New file. - - [ruby-core:62600] [Feature #9842] - -Sun May 18 09:58:17 2014 Tanaka Akira - - * ext/etc/etc.c: Etc.uname method implemented. - - * ext/etc/extconf.rb: Check uname() function. - - [ruby-core:62139] [Feature #9770] - -Sun May 18 09:16:33 2014 Tanaka Akira - - * configure.in: Check nextafter() availability. - - * include/ruby/missing.h (nextafter): New optional declaration. - - * missing/nextafter.c: New file. - - * numeric.c: Float#next_float and Float#prev_float implemented. - - [ruby-core:62562] [Feature #9834] - -Sun May 18 09:02:17 2014 Tanaka Akira - - * enum.c: Enumerable#slice_after implemented. - - * enumerator.c: Enumerator::Lazy#slice_after implemented. - - Requested by Tsuyoshi Sawada. [ruby-core:58123] [Feature #9071] - -Sun May 18 08:22:25 2014 Nobuyoshi Nakada - - * io.c (io_setstrbuf): always check if the buffer is modifiable. - [ruby-core:62643] [Bug #9847] - -Sun May 18 01:21:23 2014 Tanaka Akira - - * include/ruby/ruby.h: Hide Rational internal. - (RRational): Moved to internal.h - (RRATIONAL): Ditto. - (RRATIONAL_SET_NUM): Moved to rational.c. - (RRATIONAL_SET_DEN): Ditto. - - * rational.c (rb_rational_num): New function. - (rb_rational_den): Ditto. - - * include/ruby/intern.h (rb_rational_num): Declared. - (rb_rational_den): Ditto. - - * ext/bigdecimal/bigdecimal.c: Follow the above change. - - * ext/date/date_core.c: Ditto. - - [ruby-core:60665] [Feature #9513] - -Sat May 17 17:04:32 2014 Shota Fukumori - - * NEWS: Add news about removal of lib/test/**/*.rb. - -Sat May 17 16:57:33 2014 Shota Fukumori - - * lib/test: Removed because ruby's test cases now independent to - lib/test by r45970. [Feature #9711] [ruby-core:62620] - - I'm still considering about the future of lib/minitest, lib/test. - (bundling gems?) - -Sat May 17 15:06:40 2014 SHIBATA Hiroshi - - * test/runner.rb: remove dependency test-unit and minitest - from stdlib when running with test-all. - [Feature #9711][ruby-core:61890] - * test/testunit/*.rb: ditto. - * test/lib: ditto. - -Sat May 17 11:02:49 2014 Nobuyoshi Nakada - - * dir.c (glob_helper): try match PLAIN as well as ALPHA, which are - separated by previous commits. [ruby-core:61552] [Bug #9648] - - * dir.c (glob_make_pattern): set PLAIN for non-magical path to - skip parts which not need to glob. - [ruby-core:61552] [Bug #9648] - - * dir.c (has_magic): return ALPHA at alphabetical name regardless - FNM_CASEFOLD flag. - - * dir.c (glob_helper): fix conditions for ALPHA. - [ruby-core:61552] [Bug #9648] - -Sat May 17 01:49:27 2014 Nobuyoshi Nakada - - * dir.c (glob_helper): reduce matching at non-magical path on - Windows. - -Sat May 17 01:49:23 2014 Nobuyoshi Nakada - - * dir.c (glob_pattern_type): separate names with alphabet but no - magical from plain. - - * dir.c (glob_helper): match plain names as-is to treat super-root - same as the root. [ruby-core:61552] [Bug #9648] - -Fri May 16 17:38:22 2014 Koichi Sasada - - * gc.c (gc_marks, gc_marks_body): increase the counter of young objects - at the major GC because AGE2Promotion changes all old objects into - young objects at major GC. - -Fri May 16 17:26:24 2014 Koichi Sasada - - * gc.c (gc_before_sweep): heap_pages_swept_slots should contains - heap_pages_increment. - - For example, GC by exceeding malloc_limit can remain - heap_pages_increment. - -Thu May 15 21:18:43 2014 Hiroshi Shirosaki - - * configure.in: enable SSE2 on mingw. target='i386-pc-mingw32'. - [ruby-core:62095] [Bug #8358] - -Thu May 15 21:04:06 2014 Hiroshi Shirosaki - - * lib/test/unit/parallel.rb: fix test-all parallel failure if a test - is skipped after raise. - DL::TestFunc#test_sinf is skipped after raise on mingw ruby. - But it causes Marshal.load failure due to undefined class/module - DL::DLError when doing test-all parallel and test-all doesn't - complete. We create new MiniTest::Skip object to avoid Marshal.load - failure. - [ruby-core:62133] [Bug #9767] - - * test/testunit/test_parallel.rb (TestParallel): add a test. - - * test/testunit/tests_for_parallel/ptest_forth.rb: ditto. - -Thu May 15 18:57:23 2014 Koichi Sasada - - * gc.c (garbage_collect_body): move gc_heap_prepare_minimum_pages() - from gc_sweep(). - -Thu May 15 18:51:25 2014 Koichi Sasada - - * gc.c (heap_extend_pages): calculate next growing heap size. - - * gc.c (heap_set_increment): accept addition pages instead of - minimum pages. - - * gc.c (gc_after_sweep): use heap_etend_pages(). - - * gc.c (gc_heap_prepare_minimum_pages): add only 1 page. - - * gc.c (heap_ready_to_gc): add only 1 page. - -Thu May 15 18:42:49 2014 Koichi Sasada - - * gc.c: introduce macros to remove magic number. - - GC_HEAP_FREE_SLOTS_MIN_RATIO = 0.3: guarantee minimum empty slots - ratio after sweep. - GC_HEAP_FREE_SLOTS_MAX_RATIO = 0.8: allow to free pages 0.2 (= 1-0.8) - of current existing slots. - -Thu May 15 17:32:51 2014 Hiroshi Shirosaki - - * thread_win32.c (rb_w32_stack_overflow_handler): use Structured - Exception Handling by AddVectoredExceptionHandler() for machine - stack overflow on mingw. - This would be equivalent to the handling using __try and __except - on mswin introduced by r43748. - -Wed May 14 19:31:03 2014 Koichi Sasada - - * ext/openssl/depend: remove dependency from internal headers. - [Feature #9612] - - * ext/openssl/ossl.c (ossl_fips_mode_set): ditto. - - * ext/coverage/depend: ditto. - - * include/ruby/thread_native.h: added. - - This header file only provides wrapper functions to control - native threads. These wrapper functions are used by MRI - implementation. - - * vm_core.h: use include/ruby/thread_native.h. - - * thread.c: ditto. - - * thread_pthread.h: ditto. - - * thread_win32.h: ditto. - - * thread_native.h: removed. - -Wed May 14 18:03:28 2014 Koichi Sasada - - * gc.c: enable RGENGC_AGE2_PROMOTION. - -Wed May 14 18:02:30 2014 Koichi Sasada - - * gc.c (rgengc_rememberset_mark): promote remembered object earlier. - -Mon May 12 23:57:15 2014 Nobuyoshi Nakada - - * configure.in (rb_cv_atan2_inf_c99): check whether runtime atan2 - handles Inf as C99. [ruby-core:62536] [Bug #9831] - -Mon May 12 20:33:01 2014 Tanaka Akira - - * configure.in: Invoke AC_REPLACE_FUNCS for each function. - -Mon May 12 19:52:11 2014 Koichi Sasada - - * gc.c: count young object correctly and show it in GC.stat - on RGENGC_AGE2_PROMOTION. - - * gc.c (RVALUE_PROMOTE_YOUNG): decrement young object count on - YOUNG->OLD. - - * gc.c (obj_free): decrement young object count when young object - freed. - - * gc.c (gc_marks): should not clear young object count. - - * gc.c (gc_stat_internal): GC.stat :young_object information. - -Mon May 12 01:30:59 2014 Tanaka Akira - - * ext/socket/ifaddr.c (IS_IFADDRS): Unused macro removed. - - * ext/strscan/strscan.c (BUFSIZE): Ditto. - - * ext/zlib/zlib.c (OBJ_IS_FREED): Ditto. - -Sun May 11 22:27:18 2014 Tanaka Akira - - * compile.c (BUFSIZE): Unused macro removed. - - * vm.c (BUFSIZE): Ditto. - - * pack.c (INT64toNUM): Ditto. - (UINT64toNUM): Ditto. - (BYTEWIDTH): Ditto. - - * time.c (lshift): Ditto. - (UINT64toNUM): Ditto. - (id_lshift): Unused variable removed. - -Sun May 11 21:23:27 2014 Tanaka Akira - - * pack.c (swaps): Unused macro removed. - (swapi): Ditto. - (swapl): Ditto. - (swapll): Ditto. - -Sun May 11 08:02:49 2014 Eric Wong - - * vm_core.h (rb_vm_t): list_head and counter for living_threads - (rb_thread_t): vmlt_node for living_threads linkage - (rb_vm_living_threads_init): new function wrapper - (rb_vm_living_threads_insert): ditto - (rb_vm_living_threads_remove): ditto - * vm.c (rb_vm_living_threads_foreach): new function wrapper - * thread.c (terminate_i, thread_start_func_2, thread_create_core, - thread_fd_close_i, thread_fd_close): update to use new APIs - * vm.c (vm_mark_each_thread_func, rb_vm_mark, ruby_vm_destruct, - vm_memsize, vm_init2, Init_VM): ditto - * vm_trace.c (clear_trace_func_i, rb_clear_trace_func): ditto - * benchmark/bm_vm_thread_close.rb: added to show improvement - * ccan/build_assert/build_assert.h: added as a dependency of list.h - * ccan/check_type/check_type.h: ditto - * ccan/container_of/container_of.h: ditto - * ccan/licenses/BSD-MIT: ditto - * ccan/licenses/CC0: ditto - * ccan/str/str.h: ditto (stripped of unused macros) - * ccan/list/list.h: ditto - * common.mk: add CCAN_LIST_INCLUDES - [ruby-core:61871][Feature #9632 (part 1)] - -Sun May 11 01:10:31 2014 Nobuyoshi Nakada - - * signal.c (rb_f_kill): directly enqueue an ignored signal to self, - except for SIGSEGV and SIGBUS. [ruby-dev:48203] [Bug #9820] - -Sat May 10 22:37:56 2014 Nobuyoshi Nakada - - * dir.c (push_glob): match in UTF-8 on Mac OS X. - [ruby-dev:48213] [Bug #9825] - -Sat May 10 13:32:18 2014 Nobuyoshi Nakada - - * thread.c (thread_start_func_2): stop if forked in a sub-thread, - the thread has become the main thread. - [ruby-core:62070] [Bug #9751] - -Sat May 10 09:32:19 2014 SHIBATA Hiroshi - - * man/ruby.1: remove deadlink. [ruby-core:62145][Bug #9773] - -Sat May 10 08:47:36 2014 Tanaka Akira - - * signal.c (trap): Return "SYSTEM_DEFAULT" if SIG_DFL is set. - -Fri May 9 14:27:05 2014 Nobuyoshi Nakada - - * configure.in (RUBY_SETJMP_TYPE): check for setjmp type after - CCDLFLAGS is appended to CFLAGS, since __builtin_setjmp can be - affected. [ruby-core:62469] [Bug #9818] - -Fri May 9 03:59:06 2014 Ayumu AIZAWA - - * lib/delegate.rb: Fix example of using delegator. - patched from Andrey Koleshko. [Fixes GH-505] - -Fri May 9 03:42:43 2014 Ayumu AIZAWA - - * lib/shell.rb: add documentation in lib/shell.rb - patched from reprah. [Fixes GH-516] - -Fri May 9 03:28:04 2014 Ayumu AIZAWA - - * lib/fileutils.rb: show fileutils require at top. - patched from Richard Schneeman. [Fixes GH-604] - -Fri May 9 03:07:09 2014 Ayumu AIZAWA - - * lib/prime.rb (Prime#prime?): negative numbers can't be primes - by definition. reported by Ivan Kataitsev. [Bug #7395] - * test/test_prime.rb: add test. - -Thu May 8 14:34:29 2014 Nobuyoshi Nakada - - * class.c (rb_mod_init_copy): always clear instance variable, - constant and method tables first, regardless the source tables. - [ruby-dev:48182] [Bug #9813] - -Thu May 8 10:53:14 2014 NARUSE, Yui - - * configure.in: OpenBSD needs to include sys/param.h before include - sys/mount.h. [ruby-dev:48167] - -Thu May 8 10:17:04 2014 Karsten Sperling - - * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): stop - handling requests on shutdown, even if the socket is readable - and IO.select() returns true. [Fixes GH-607] - - * lib/webrick/server.rb (WEBrick::GenericServer#start): IO.select() - raises ENOTSOCK on shutdown on Windows. - -Wed May 7 21:45:00 2014 Tanaka Akira - - * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept): - Consider Socket#accept as well as TCPServer#accept. - Reported by Sam Stelfox. [ruby-core:62064] [Bug #9750] - -Wed May 7 17:24:07 2014 Nobuyoshi Nakada - - * numeric.c (num_step_scan_args): check keyword arguments and fail - if they conflict with positional arguments. - [ruby-dev:48177] [Bug #9811] - -Wed May 7 12:06:14 2014 Koichi Sasada - - * benchmark/driver.rb: remove debug output and output results into - specified file. - -Wed May 7 11:55:40 2014 Koichi Sasada - - * benchmark/driver.rb: add '--rawdata-output=[FILE] option to output - raw results into FILE. - -Wed May 7 11:25:41 2014 Nobuyoshi Nakada - - * vm_eval.c (rb_f_local_variables): exclude variables hidden by - shadowing. [ruby-core:60501] [Bug #9486] - - * vm.c (collect_local_variables_in_iseq): ditto. - -Tue May 6 23:29:05 2014 Nobuyoshi Nakada - - * parse.y (new_bv_gen): no duplicated names, if already added in - shadowing_lvar(). - - * parse.y (local_tbl_gen): remove local variables duplicated with - arguments. - [ruby-core:60501] [Bug #9486] - -Tue May 6 18:48:50 2014 Tanaka Akira - - * lib/time.rb (Time.make_time): Adjust the time zone of "now". - -Tue May 6 18:33:12 2014 Tadayoshi Funaba - - * io.c (io_{read,write}_nonblock): use rb_get_kwargs instead of - rb_hash_aref. - -Tue May 6 18:03:05 2014 Tanaka Akira - - * lib/time.rb (Time.make_time): Argument validation code moved from - Time.parse and Time.strptime. - -Tue May 6 17:27:06 2014 Tanaka Akira - - * lib/time.rb (Time.parse): [DOC] Fix an example in the documentation - to use EST. - Reported by Marcus Stollsteimer. - [ruby-core:60778] [Bug #9521] and [ruby-core:61718] [Bug #9682] - -Tue May 6 04:31:48 2014 Tadayoshi Funaba - - * file.c (rb_f_test): removed meaningless "case 'a'". - -Tue May 6 01:28:14 2014 Tanaka Akira - - * lib/open-uri.rb (OpenURI.open_uri): Call StringIO#close only if - the StringIO object is not closed yet. - Reported by Jordi Massaguer Pla. [ruby-core:42538] [Bug #6010] - -Tue May 6 01:08:01 2014 Koichi Sasada - - * benchmark/driver.rb: define File::NULL if not defined and /dev/null - is available to run benchmark driver on ruby 1.9.2. - -Mon May 5 23:53:24 2014 Tanaka Akira - - * ext/socket/mkconstants.rb: Add IP_TRANSPARENT. - IP_TRANSPARENT is provieded since glibc-2.12. - Reported by Eliezer Croitoru. [ruby-core:50372] [Bug #7476] - -Mon May 5 22:29:47 2014 Tanaka Akira - - * process.c (check_exec_redirect): Open the file in write mode for - redirect from [:out, :err]. - Proposed and implemented by Yusuke Endoh. - [ruby-dev:41430] [Feature #3348] - -Mon May 5 21:52:35 2014 Tanaka Akira - - * ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all - separators File::SEPARATOR from File::ALT_SEPARATOR. - Reported by Daniel Rikowski. - Fixed by Nobuyoshi Nakada. [Bug #9618] - - * ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto. - -Mon May 5 21:48:04 2014 Tanaka Akira - - * ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+. - Suggested by Alexey Muranov. [ruby-core:61432] [Feature #9625] - -Mon May 5 17:26:09 2014 Tadayoshi Funaba - - * math.c (rb_math_sqrt): omitted exporting an unused function, - anyway. - * internal.h: follows the above change. - -Mon May 5 11:44:03 2014 Tanaka Akira - - * lib/time.rb (Time.strptime): Raise ArgumentError if Date._strptime - doesn't extract date information. - Reported by tadayoshi funaba. [ruby-core:62349] - -Mon May 5 01:12:27 2014 Tadayoshi Funaba - - * ext/date/date_core.c (rt_rewrite_frags): a new feature (not a - bug fix) of strptime. applies offset even if the given date is - not local time (%s and %Q). This is an exceptional feature and - I do NOT recommend to use this at all. Thank you git community. - -Sun May 4 20:51:32 2014 Tanaka Akira - - * lib/time.rb (Time.force_zone!): Use usual local time if it has - expected offset from UTC. - -Sun May 4 17:58:12 2014 Tanaka Akira - - * lib/time.rb (Time.force_zone!): New private method. - (Time.make_time): Use Time.force_zone!. - (Time.strptime): Ditto. - (Time.rfc2822): Ditto. - (Time.xmlschema): Ditto. - - * lib/rss/rss.rb (Time.w3cdtf): Use Time.force_zone!. - -Sun May 4 10:22:59 2014 Nobuyoshi Nakada - - * math.c (math_atan2): return values like as expected by C99 if - both two arguments are infinity. based on the patch by cremno - phobia in [ruby-core:62310]. [Feature #9799] - -Sun May 4 03:46:42 2014 Tanaka Akira - - * lib/time.rb (Time.httpdate): Always return a UTC Time object. - -Sun May 4 03:26:39 2014 Tanaka Akira - - * lib/time.rb (Time.make_time): Refactored. - -Sun May 4 02:53:17 2014 Tanaka Akira - - * lib/time.rb (Time.rfc2822): Fix year completion. - Produce fixed-offset time object if appropriate. - (Time.xmlschema): Produce fixed-offset time object if appropriate. - -Sat May 3 23:52:20 2014 Tanaka Akira - - * lib/time.rb (make_time): Produce fixed-offset time object if - appropriate. - (Time.strptime): Use d[:zone] instead of d[:offset]. - - * lib/rss/rss.rb (Time.w3cdtf): Produce fixed-offset time object if - appropriate. - -Sat May 3 20:21:38 2014 Tanaka Akira - - * lib/time.rb (Time.strptime): Use d[:offset] if d[:seconds] is not - given. - Reported by tadayoshi funaba. [ruby-core:62322] - -Sat May 3 04:04:16 2014 Eric Wong - - * complex.c (parse_comp): replace ALLOCA_N with ALLOCV_N/ALLOCV_END - [Bug #9608] - * rational.c (read_digits): ditto - -Sat May 3 00:06:30 2014 Naohisa Goto - - * file.c (HAVE_STRUCT_STATVFS_F_BASETYPE): File::Statfs#fstypename - is supported on AIX, HP-UX, and Solaris, by using the value of - struct statvfs.f_basetype. - - * configure.in (HAVE_STRUCT_STATVFS_F_BASETYPE): check struct - statvfs.f_basetype which is available on AIX, HP-UX, and Solaris. - -Fri May 2 21:04:02 2014 Nobuyoshi Nakada - - * parse.y (next_id): no reason to set ID_STATIC_SYM here, as ID - returned by rb_intern3 can be a dynamic symbol and the static - symbol flag is set otherwise. [Bug #9787] - -Fri May 2 11:32:51 2014 Nobuyoshi Nakada - - * test/ruby/test_io.rb (test_seek, test_seek_symwhence): defer - File::Statfs#type call which may not be implemented, to mitigate - errors on platforms where SEEK_DATA is available but f_type in - struct statfs is not. [ruby-dev:48154] [Bug #9789] - -Fri May 2 10:37:55 2014 Nobuyoshi Nakada - - * parse.y (rb_id_attrset): turn dynamically interned Symbol into - an ID, since rb_str_dynamic_intern returns a Symbol but not an - ID. [ruby-core:62226] [Bug #9787] - -Thu May 1 22:19:34 2014 Kazuhiro NISHIYAMA - - * file.c: Change AND condition to nested condition. - -Thu May 1 00:36:26 2014 Naohisa Goto - - * file.c (FSTATFS): check availability of struct statfs and - struct statvfs in addition to fstatfs(2) and fstatvfs(2). - This fixes error in Solaris. [Bug #9788] [ruby-dev:48145] - -Wed Apr 30 19:46:23 2014 Narihiro Nakamura - - * gc.c (gc_after_sweep): suppress unnecessary expanding heap. - Tomb heap pages are freed pages here, so expanding heap is - not required. - -Wed Apr 30 17:58:40 2014 Koichi Sasada - - * vm.c (invoke_block_from_c): add VM_FRAME_FLAG_BMETHOD to record - it is bmethod frame. - - * vm.c (vm_exec): invoke RUBY_EVENT_RETURN event if rollbacked frame - is VM_FRAME_FLAG_BMETHOD. - [Bug #9759] - - * test/ruby/test_settracefunc.rb: add a test for TracePoint/set_trace_func. - - * vm_core.h: rename rb_thread_t::passed_me to - rb_thread_t::passed_bmethod_me to clarify the usage. - - * vm_insnhelper.c (vm_call_bmethod_body): use renamed member. - -Wed Apr 30 17:06:49 2014 Nobuyoshi Nakada - - * parse.y (rb_id_attrset): pin down dynamic symbol only. it is - possible that attrset ID can be registered as a static symbol - after the corresponding attrget ID has been registered as a - dynamic, and then the latter may be collected. - [ruby-core:62226] [Bug #9787] - -Tue Apr 29 14:17:57 2014 Tanaka Akira - - * lib/tmpdir.rb: Rescue LoadError on etc.so for miniruby. - Revert r45707, r45711, r45717. - -Tue Apr 29 12:50:02 2014 Tanaka Akira - - * lib/fileutils.rb: Don't need to define fu_get_gid and fu_get_gid in - rescue LoadError on 'etc'. - -Tue Apr 29 10:21:38 2014 Kazuki Tsujimoto - - * parse.y (symbols_i): like r45492, call rb_gc_resurrect(). - -Tue Apr 29 04:29:05 2014 Kazuhiro NISHIYAMA - - * file.c (HAVE_STRUCT_STATFS_T_F_FSTYPENAME): Add new macro for - statfs_t. - * file.c (HAVE_STRUCT_STATFS_T_F_TYPE): ditto. - - * file.c (rb_io_statfs): check FSTATFS macro only instead of - HAVE_FSTATFS and HAVE_FSTATVFS. - - * file.c (statfs_type): use new macro. - * file.c (statfs_fstypename): ditto. - * file.c (statfs_inspect): ditto. - -Tue Apr 29 00:20:26 2014 Rajarshi Das - - * bootstraptest/test_literal.rb: fix typo of "dynamic". [ci skip] - - * regexp.rdoc: fix typo of "organized". [ci skip] - - * lib/session.rb: fix typo of "recognized". [ci skip] - -Mon Apr 28 21:40:27 2014 NARUSE, Yui - - * configure.in (HAVE_STRUCT_STATFS_F_TYPE): check struct statfs.f_type - to support OpenBSD. - - * file.c (statfs_type): use above macro to switch. - - * file.c (statfs_inspect): ditto. - -Mon Apr 28 18:06:08 2014 NARUSE, Yui - - * configure.in: check struct statvfs and struct statvfs.f_fstypename. - - * configure.in: on NetBSD fstatfs is obsoleted. - - * file.c: support NetBSD for File::Statfs. - -Mon Apr 28 17:42:42 2014 Narihiro Nakamura - - * gc.c: This argument must be a pointer. - -Mon Apr 28 17:40:15 2014 Narihiro Nakamura - - * gc.c: Fix typos. These are undefined variables. - -Sun Apr 27 19:39:42 2014 Tadayoshi Funaba - - * ext/date/date_strptime.c (date__strptime_internal): do not - overwrite century. - -Sat Apr 26 11:50:08 2014 SHIBATA Hiroshi - - * test/ruby/test_enum.rb (test_flat_map): Added test for flat_map. - Contribute from @igaiga. [fix GH-598] - -Sat Apr 26 10:55:33 2014 Nobuyoshi Nakada - - * compile.c (compile_array_): make copy a first hash not to modify - the argument itself. keyword splat should be non-destructive. - [ruby-core:62161] [Bug #9776] - -Sat Apr 26 08:05:36 2014 Tanaka Akira - - * test/ruby/test_process.rb (test_rlimit_nofile): Don't limit - RLIMIT_NOFILE too small. - This fix sporadic "[ASYNC BUG] thread_timer: select" on GNU/Linux. - -Fri Apr 25 22:54:34 2014 Naohisa Goto - - * lib/fileutils.rb (rmdir): rescue Errno::EEXIST in addition to - ENOTEMPTY (and ENOENT), because SUSv3 describes that "If the - directory is not an empty directory, rmdir() shall fail and set - errno to [EEXIST] or [ENOTEMPTY]" and Solaris uses EEXIST. - [Bug #9571] [ruby-dev:48017] - -Fri Apr 25 19:16:30 2014 Tanaka Akira - - * lib/webrick/utils.rb: Don't rescue LoadError for 'etc' extension. - -Fri Apr 25 14:55:59 2014 Nobuyoshi Nakada - - * configure.in (rb_cv_func___builtin_unreachable): try with an - external variable not only by a warning, which might not be - shown due to the optimization. [ruby-core:61647] [Bug #9665] - -Fri Apr 25 13:11:49 2014 NARUSE, Yui - - * configure.in: NetBSD's ksh, used by configure, needs escapes. - -Fri Apr 25 12:51:08 2014 NARUSE, Yui - - * configure.in: correct pthread_setname_np's prototype on NetBSD. - [Bug #9586] - -Thu Apr 24 23:17:25 2014 NAKAMURA Usaku - - * lib/fileutils.rb (fu_get_uid, fu_get_gid): Etc.getpwnam/getgrnam may - returns nil. - - * lib/webrick/utils.rb (su): ditto. - -Thu Apr 24 22:55:22 2014 Tanaka Akira - - * bootstraptest/test_io.rb: Add etc.so to $" before require 'tmpdir'. - -Thu Apr 24 21:09:55 2014 Kazuhiro NISHIYAMA - - * man/ruby.1: fix broken link. - -Thu Apr 24 20:53:02 2014 Tanaka Akira - - * lib/tmpdir.rb: Don't need to rescue LoadError for etc.so. - -Thu Apr 24 17:39:53 2014 NARUSE, Yui - - * file.c (statfs_inspect): suppress warnings. - assume those values won't be larger than LONG_LONG_MAX. - -Thu Apr 24 11:53:28 2014 Nobuyoshi Nakada - - * ext/openssl/ossl_asn1.c (ossl_asn1_initialize): SYMID on a value - other than Symbol is an undefined behavior. fix up r31699. - [ruby-core:62142] [Bug #9771] - -Thu Apr 24 11:21:37 2014 Nobuyoshi Nakada - - * parse.y (rb_sym2id, rb_sym2id_without_pindown): return 0 for - non-symbol values, for the time being. - -Thu Apr 24 05:50:13 2014 NARUSE, Yui - - * parse.y (dsym_node_gen): like r45492, call rb_gc_resurrect(). - -Wed Apr 23 20:36:22 2014 Tanaka Akira - - * ext/etc/extconf.rb: Build ext/etc unconditionally. - -Wed Apr 23 14:10:50 2014 NARUSE, Yui - - * file.c (statfs_fsid): remove statfs.f_fsid because it doesn't return - meaningful value portably. http://togetter.com/li/658517 - -Wed Apr 23 11:03:41 2014 Nobuyoshi Nakada - - * ext/stringio/stringio.c (strio_write): use rb_str_append to - reuse coderange bits other than ASCII-8BIT, and keep - taintedness. [ruby-dev:48118] [Bug #9769] - -Wed Apr 23 00:43:00 2014 NAKAMURA Usaku - - * win32/win32.c, include/ruby/win32.h (ustatfs): implementation of - statfs(2) clone. [EXPERIMENTAL] - - * file.c (rb_io_statfs): use above function. - - * configure.in, win32/Makefile.sub (struct statfs): available. - -Tue Apr 22 23:56:24 2014 NAKAMURA Usaku - - * file.c (rb_io_stafs): use statfs(2) if fstatfs(2) is unavailable. - - * configure.in (fstatfs): check it. - -Tue Apr 22 22:15:51 2014 NAKAMURA Usaku - - * file.c (rb_io_statfs): need to define even if the system doesn't have - fstatfs(2). - - * test/ruby/test_file.rb (TestFile#test_statfs): skip if IO#stafs is not - implemented. - -Tue Apr 22 19:32:48 2014 NARUSE, Yui - - * file.c: newly added a class File::Statfs. (experimental) - -Tue Apr 22 08:22:33 2014 Koichi Sasada - - * gc.c (objspace_malloc_increase): don't cause GC by malloc_increase - when memop type is MEMOP_TYPE_REALLOC. - - GC at realloc is not well maintained. - We need a time to make it safe. - [ruby-dev:48117] - -Tue Apr 22 06:54:15 2014 Nobuyoshi Nakada - - * gc.c (objspace_malloc_increase): run full mark if 0x04 bit is - set in ruby_gc_stress. [ruby-core:62103] [Feature #9761] - - * gc.c (objspace_malloc_increase): run GC after realloc not only - malloc and calloc by GC.stress. [ruby-core:62103] [Feature #9761] - -Mon Apr 21 19:12:20 2014 NARUSE, Yui - - * string.c (rb_str_coderange_scan_restartable): coderange is always - ENC_CODERANGE_VALID if the string is ASCII-8BIT and already has a non - ASCII character. - -Mon Apr 21 19:02:44 2014 NARUSE, Yui - - * string.c (coderange_scan): remove useless condition `p < e` after - search_nonascii. - - * string.c (rb_str_coderange_scan_restartable): ditto. - -Mon Apr 21 18:55:21 2014 NARUSE, Yui - - * ext/-test-/string/coderange.c: add Bug::String.new#coderange_scan - to explicitly scan coderange. - -Mon Apr 21 18:19:35 2014 NARUSE, Yui - - * string.c (coderange_scan): remove unused logic. - - * string.c (rb_str_coderange_scan_restartable): ditto. - -Mon Apr 21 14:11:48 2014 Nobuyoshi Nakada - - * ext/stringio/stringio.c (strio_putc): fix for non-ascii - encoding, like as IO#putc. [ruby-dev:48114] [Bug #9765] - -Sun Apr 20 12:57:15 2014 Masaya Tarui - - * st.c (st_foreach_check): change start point of search at check - from top to current. [ruby-dev:48047] [Bug #9646] - -Sun Apr 20 08:41:33 2014 Andrew DeMaria - - * lib/mkmf.rb (link_command, libpathflag, create_makefile): prefer - user specified `$LIBPATH` than `$DEFLIBPATH`. [ruby-core:62100] - [ruby-trunk - Bug #9760] - -Sun Apr 20 06:01:18 2014 Eric Wong - - * gc.c (rb_gc_writebarrier): drop special case for big hash/array - [Bug #9518] - -Sat Apr 19 15:38:29 2014 Nobuyoshi Nakada - - * parse.y (primary): flush cmdarg flags inside left-paren in a - command argument, to allow parenthesed do-block as an argument - without arguments parentheses. [ruby-core:61950] [Bug #9726] - -Sat Apr 19 10:07:24 2014 Tanaka Akira - - * internal.h (struct RBignum): Use size_t for len. - - * include/ruby/intern.h (rb_big_new): Use size_t instead of long to - specify the size of bignum. - (rb_big_resize): Ditto. - - * bignum.c: Follow above changes. - - * rational.c: Follow above changes. - - * marshal.c: Follow above changes. - -Sat Apr 19 00:32:07 2014 Tanaka Akira - - * numeric.c (rb_num2long): Returns a long. - (rb_num2ulong): Returns a unsigned long. - - * bignum.c (rb_big2long): Returns a long. - (rb_big2ulong): Returns a unsigned long. - - * include/ruby/intern.h: Follow above changes. - - * include/ruby/ruby.h: Follow above changes. - (rb_num2long_inline): No need to cast. - (rb_num2ulong_inline): Ditto. - -Sat Apr 19 00:17:20 2014 Nobuyoshi Nakada - - * string.c (SHARABLE_SUBSTRING_P): predicate if substring can be - shared with the original string. true if just at the end of the - original string, for the time being. all substring will be able to - be shared in the future. - -Fri Apr 18 21:48:24 2014 Nobuyoshi Nakada - - * string.c (rb_str_new_frozen): consider the shared string at - middle. - - * string.c (rb_str_subseq, rb_str_substr, str_byte_substr): share - middle of a string. - -Fri Apr 18 15:40:05 2014 NARUSE, Yui - - * string.c: use uintptr_t instead of VALUE because they are not ruby - object. - -Fri Apr 18 14:51:42 2014 NARUSE, Yui - - * string.c: check str_strlen's argument, and add comment or - use NULL if simply it uses str's enc. - -Fri Apr 18 14:32:40 2014 NARUSE, Yui - - * string.c (str_strlen): use enc_strlen if the coderange is known. - -Fri Apr 18 14:21:21 2014 NARUSE, Yui - - * string.c (enc_strlen): move UTF-8 optimization from str_strlen to - enc_strlen. - -Fri Apr 18 08:50:18 2014 Nobuyoshi Nakada - - * configure.in (rb_cv_getcwd_malloc): check if getcwd allocates - buffer if NULL is given [ruby-core:62072] [Bug #9752] - -Thu Apr 17 16:28:10 2014 SHIBATA Hiroshi - - * prelude.rb: [DOC] Update Thread::exclusive docs by @stevenharman. - -Thu Apr 17 10:03:53 2014 Nobuyoshi Nakada - - * lib/fileutils.rb (FileUtils#copy_entry): update rdoc about - preserve option and permissions, following r31123. - [ruby-core:62065] [Bug #9748] - -Wed Apr 16 23:47:36 2014 Nobuyoshi Nakada - - * enum.c (dont_recycle_block_arg): fix condition to recycle block - argument. lambda with rest can get internal array directly. - [ruby-core:62060] [Bug #9749] - -Wed Apr 16 09:51:16 2014 Nobuyoshi Nakada - - * ext/openssl/ossl_pkey.c (ossl_pkey_verify): as EVP_VerifyFinal() - finalizes only a copy of the digest context, the context must be - cleaned up after initialization by EVP_MD_CTX_cleanup() or a - memory leak will occur. [ruby-core:62038] [Bug #9743] - -Tue Apr 15 19:36:42 2014 NAKAMURA Usaku - - * include/ruby/win32.h (rb_w32_cmdvector): removed. - - * win32/win32.c (rb_w32_sysinit): use WCHAR version of GetCommandLine() - internally. - - * win32/win32.c (w32_cmdvector): renamed from rb_w32_cmdvector. use - WCHAR* instead of char* internally. - - these changes are expected to not changing the behavior yet. - -Tue Apr 15 19:26:05 2014 Tanaka Akira - - * ext/extmk.rb: Re-generate extmk.mk and dummy makefiles only if - really required. - This fixes a problem to run multiple test-all concurrently as: - make test-all & make test-all & make test-all & ... - -Tue Apr 15 12:49:53 2014 Sam Rawlins - - * enum.c (enum_each_slice, enum_each_cons): make more efficient by - allocating less and recycling block argument arrays if possible. - [Fixes GH-596] - -Mon Apr 14 18:44:45 2014 NARUSE, Yui - - * addr2line.c (fill_lines): get base addrs in fill_lines to use it - with dladdr_fbases introduced at r45563. - it didn't get before if the executable is not pie. - -Mon Apr 14 18:05:48 2014 NARUSE, Yui - - * addr2line.c (main_exe_path): support FreeBSD. - At least sh, csh, tcsh, bash, and zsh sets realpath of the main - executable for dladdr, but gdb doesn't. - -Mon Apr 14 17:20:10 2014 Nobuyoshi Nakada - - * proc.c (umethod_bind): use the ancestor iclass instead of new - iclass to get rid of infinite recursion, if the defined module - is already included. [ruby-core:62014] [Bug #9721] - -Sun Apr 13 12:46:58 2014 Tanaka Akira - - * bignum.c (SIZEOF_BDIGIT): Renamed from SIZEOF_BDIGITS. - - * internal.h: Ditto. - - * marshal.c: Ditto. - - * rational.c: Ditto. - -Sun Apr 13 10:18:09 2014 Tanaka Akira - - * common.mk: Unused target, $(MKMAIN_CMD), removed. - - * Makefile.in (MKMAIN_CMD): Unused macro removed. - - * win32/Makefile.sub (MKMAIN_CMD): Ditto. - -Sat Apr 12 22:11:10 2014 Nobuyoshi Nakada - - * string.c (sym_to_proc), proc.c (rb_block_clear_env_self): clear - caller's self which is useless, so that it can get collected. - [Fixes GH-592] - -Sat Apr 12 09:26:48 2014 Eric Hodel - - * ext/openssl/ossl_ocsp.c: [DOC] Document OpenSSL::OCSP. - -Fri Apr 11 18:52:38 2014 Koichi Sasada - - * array.c (ARY_SET): added. - - ARY_SET() is same functionality of RARRAY_ASET(), but - it has an assertion (`ary' doesn't have shared array). - -Fri Apr 11 16:54:26 2014 Koichi Sasada - - * array.c: make shared arrays WB-protected objects. - - Shared arrays were WB-unprotected object because - sharing array can modify shared array's buffer - if it occupied shared array. - - [sharing array (ary)] -> [shared array (shared)] -> - | A - +---------------------------------------+ - write `buff' with WB(ary, &buff[i], obj) - -> if `ary' and `shared' are old, then only `ary' - will be remembered. - -> traverse from `ary'. But `shared' is old, so - that written `obj' is not marked. - - It cause WB miss so that shared arrays were WB-unprotected. - (WB-unprotected objects are marked everytime if it is living) - - This patch insert WB() for `shared' if it is needed. - -Fri Apr 11 15:05:26 2014 Nobuyoshi Nakada - - * proc.c (rb_method_call_with_block, umethod_bind): call with - IClass including the module for a module instance method. - [ruby-core:61936] [Bug #9721] - - * vm_insnhelper.c (vm_search_super_method): allow bound - UnboundMethod case. - -Fri Apr 11 12:02:30 2014 NARUSE, Yui - - * addr2line.c (rb_dump_backtrace_with_lines): set base address - which is retrieved from dladdr to dladdr_fbases, to skip already - parsed objects. - -Fri Apr 11 12:44:50 2014 Nobuyoshi Nakada - - * array.c (ary_reject): may be turned into a shared array during - the given block. [ruby-dev:48101] [Bug #9727] - -Thu Apr 10 23:41:21 2014 Akinori MUSHA - - * lib/net/ftp.rb (Net::FTP#login): [DOC] The default password for - anonymous login was changed to "anonymous@" in r25313. - -Thu Apr 10 19:22:58 2014 Koichi Sasada - - * test/ruby/test_array.rb: remove useless `assert'. - -Thu Apr 10 19:11:11 2014 Koichi Sasada - - * array.c (rb_ary_modify): remember shared array owner if a shared - array owner is promoted and a shared array is not promoted. - - Now, shared array is WB-unprotected so that shared arrays are not - promoted. All objects referred from shared array should be marked - correctly. - - [ruby-core:61919] [ruby-trunk - Bug #9718] - - * test/ruby/test_array.rb: add a test for above. - -Thu Apr 10 18:57:12 2014 Koichi Sasada - - * gc.c (gc_verify_internal_consistency): move lines and enable - allrefs_dump() on RGENGC_CHECK_MODE >= 4. - -Thu Apr 10 15:01:06 2014 NARUSE, Yui - - * addr2line.c (append_obj): clear allocated memory. - - * addr2line.c (rb_dump_backtrace_with_lines): free `base_addrs'. - -Thu Apr 10 14:40:18 2014 Koichi Sasada - - * gc.c (rb_gc_writebarrier_unprotect_promoted): disable to dump debug - message when RGENGC_CHECK_MODE == 0. - -Thu Apr 10 08:13:47 2014 Tanaka Akira - - * signal.c (check_stack_overflow): Don't use ucontext_t if ucontext.h - is not available. - Fixes build on Android (x86). - -Wed Apr 9 23:22:44 2014 Tanaka Akira - - * gc.c (mark_current_machine_context): Call SET_STACK_END. - This reverts a hunk of r40703 by ko1. - This fixes [ruby-dev:48098] [Bug #9717]. - -Wed Apr 9 21:02:04 2014 Tanaka Akira - - * process.c (OBJ2UID1): Defined even if getpwnam_r is not usable. - (OBJ2GID1): Defined even if getgrnam_r is not usable. - This fixes compilation error on Android. - -Wed Apr 9 15:16:59 2014 Nobuyoshi Nakada - - * encoding.c (rb_enc_default_internal): fix rdoc. `__FILE__` is - in filesystem encoding but not `default_internal`. - [ruby-core:61894] [Bug #9713] - -Wed Apr 9 14:43:00 2014 Koichi Sasada - - * test/ruby/test_gc.rb: more long timeout. - This test failed under RGENGC_CHECK_MODE >= 2. - -Wed Apr 9 13:07:13 2014 Nobuyoshi Nakada - - * configure.in: get rid of __builtin_setjmp/__builtin_longjmp on - x64-mingw, which causes SEGV with callcc. - [ruby-core:61887] [Bug #9710] - -Wed Apr 9 12:44:54 2014 Nobuyoshi Nakada - - * string.c (str_buf_cat): should round up the capacity by 4KiB, - but not number of rooms. [ruby-core:61886] [Bug #9709] - -Tue Apr 8 22:55:32 2014 Akinori MUSHA - - * lib/mkmf.rb (MakeMakefile#dir_config): [DOC] Improve - documentation. - -Tue Apr 8 22:31:44 2014 Koichi Sasada - - * gc.c: rename `RGENGC_THREEGEN' to `RGENGC_AGE2_PROMOTION'. - - * gc.c (rgengc_rememberset_mark): don't promote, but remain in - remember set for infant objects. - - * gc.c (RVALUE_PROMOTE_INFANT, RVALUE_PROMOTE_YOUNG): count numbers - in these functions. - -Mon Apr 7 21:11:49 2014 Tanaka Akira - - * ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. - Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] - Fixed by Heesob Park. [ruby-core:61868] - -Mon Apr 7 07:20:23 2014 NARUSE, Yui - - * lib/xmlrpc/client.rb (do_rpc): don't check body length. - If HTTP content-encoding is used, the length may be different. - [Bug #8182] [ruby-core:53811] - -Mon Apr 7 02:39:48 2014 Marc-Andre Lafortune - - * lib/matrix.rb: Add Matrix#cofactor [fix GH-568] - Add first_minor [fix GH-568] - Handle empty diagonal matrix case [fix GH-576] - Patches by gogotanaka - -Sun Apr 6 08:52:50 2014 Bugra Barin - - * dln.c (dln_load): use wchar version to load a library in - non-ascii path on Windows. based on the patch by Bugra Barin - in [ruby-core:61845]. [Bug #9699] - -Sat Apr 5 19:36:33 2014 Tadayoshi Funaba - - * ext/date/date_core.c (d_lite_cmp): should compare with #<. - -Sat Apr 5 00:31:21 2014 Nobuyoshi Nakada - - * ext/readline/extconf.rb (rl_hook_func_t): check pointer type. - [ruby-dev:48089] [Bug #9702] - -Fri Apr 4 07:13:44 2014 Nobuyoshi Nakada - - * configure.in (ac_cv_func___builtin_setjmp): should not skip - flags restoration in RUBY_WERROR_FLAG by `break`. - [ruby-dev:48086] [Bug #9698] - -Wed Apr 2 21:50:06 2014 Nobuyoshi Nakada - - * configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp() - in Apple LLVM 5.1 (LLVM 3.4svn) uses `void**`, not `jmp_buf`. - [Bug #9692] - -Wed Apr 2 20:57:15 2014 Koichi Sasada - - * gc.c, gc.h (rb_objspace_each_objects_without_setup): - Add a new (hidden) C-API to iterate objspace snapshot. - - This API is not safe to call any C-APIs in a given callback - function. Be careful to use this C-API. - -Wed Apr 2 17:43:17 2014 Nobuyoshi Nakada - - * configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a - variable as the second argument of __builtin_longjmp(). - [ruby-core:61800] [Bug #9692] - -Wed Apr 2 15:12:18 2014 SHIBATA Hiroshi - - * common.mk: Use redmine-2.x url for DeveloperHowto wiki. - [ruby-core:60657] [Bug #9511] - -Wed Apr 2 11:46:29 2014 Kazuhiro NISHIYAMA - - * ext/pathname/lib/pathname.rb (Pathname#join): Fix error with - empty args. Reported by ko1 via IRC. - - * test/pathname/test_pathname.rb (TestPathname#test_join): Add the - test for above case. - -Tue Apr 1 11:39:57 2014 James Edward Gray II - - * lib/csv.rb: Symbol HeaderConverter: strip leading/trailing space. - Reported by Skye Shaw - [Fixes GH-575] - -Tue Apr 1 11:34:04 2014 James Edward Gray II - - * lib/csv.rb: Don't attempt to convert nil headers. - Reported by Skye Shaw - -Tue Apr 1 17:29:35 2014 Nobuyoshi Nakada - - * tool/config_files.rb (ConfigFiles.download): show failed URI. - [ruby-core:61792] [Bug #9690] - -Tue Apr 1 12:06:49 2014 NARUSE, Yui - - * addr2line.c (rb_dump_backtrace_with_lines): don't depend hard coded - symbol '_start'. - - * addr2line.c (fill_lines): instead of above, get a dynamic symbol - in the main executable and use it to know the base address. - - * addr2line.c (follow_debuglink0): use obj_info_t instead of - line_info_t to handle object related data. - - * addr2line.c (main_exe_path): defined for Linux. - -Tue Apr 1 08:58:39 2014 Kazuki Tsujimoto - - * parse.y (rb_str_dynamic_intern): set mark bit if dynamic symbol - is before sweeping. - -Tue Apr 1 07:37:00 2014 NARUSE, Yui - - * addr2line.c (fill_lines): use dynsym, which is used for dynamic - linking and always exists, if there's no symtab. - -Tue Apr 1 07:27:15 2014 NARUSE, Yui - - * vm_dump.c (rb_print_backtrace): current implementation - uses dladdr to get the path of objects. - -Mon Mar 31 23:57:45 2014 Nobuyoshi Nakada - - * ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`. - [ruby-core:61756] [Bug #9578] - -Mon Mar 31 17:23:50 2014 NAKAMURA Usaku - - * test/ruby/memory_status.rb: require envutil before accessing EnvUtil - module. reported by ko1 via twitter. - -Mon Mar 31 10:28:01 2014 Eric Wong - - * st.c (st_init_table_with_size): update comment - [Feature #9425] - -Sun Mar 30 23:39:26 2014 NAKAMURA Usaku - - * win32/win32.c (rb_w32_accept, open_ifs_socket, socketpair_internal): - reset inherit flag of socket to avoid unintentional inheritance of - socket. note that the return value of SetHandleInformation() is not - verified intentionally because old Windows may return an error. - [Bug #9688] [ruby-core:61754] - -Sat Mar 29 13:04:22 2014 Koichi Sasada - - * gc.c (gc_before_sweep): cap `malloc_limit' to - gc_params.malloc_limit_max. It can grow and grow with such case: - `loop{"a" * (1024 ** 2)}' - [Bug #9687] - - This issue is pointed by Tim Robertson. - http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/ - -Fri Mar 28 19:32:13 2014 Nobuyoshi Nakada - - * struct.c (not_a_member): extract name error and use same error - messages. based on the patch by Marcus Stollsteimer at [ruby-core:61721]. [Bug #9684] - -Fri Mar 28 09:21:54 2014 SHIBATA Hiroshi - - * ext/psych/psych.gemspec: update gemspec for psych-2.0.5 - -Fri Mar 28 09:11:06 2014 SHIBATA Hiroshi - - * ext/psych/lib/psych.rb: Merge psych-2.0.5. bump version to - libyaml-0.1.6 for CVE-2014-2525. - * ext/psych/yaml/config.h: ditto. - * ext/psych/yaml/scanner.c: ditto. - * ext/psych/yaml/yaml_private.h: ditto. - -Thu Mar 27 18:58:10 2014 Nobuyoshi Nakada - - * re.c (match_regexp): set regexp for MatchData from string. - - * re.c (rb_backref_set_string): create MatchData from string and - set backref. - - * string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub), - (scan_once, rb_str_scan, rb_str_partition): use rb_str_index - instead of rb_reg_search() when pattern is a String. based on - the patch by Sam Rawlins [Fixes GH-579] - -Thu Mar 27 11:58:55 2014 NARUSE, Yui - - * addr2line.c (fill_lines): check shdr[i].sh_type because even if - .symtab section exists, the section's type can be SHT_NOBITS and - actual data doesn't exist in the file. - revert r45441. - -Wed Mar 26 14:57:35 2014 NAKAMURA Usaku - - * parse.y: inline must be static (for mswin). - fixed build error introduced at r45426. - -Wed Mar 26 14:33:00 2014 Narihiro Nakamura - - * internal.h (USE_SYMBOL_GC): enable Symbol GC by default (USE_SYMBOL_GC == 1). - -Tue Mar 25 22:57:11 2014 Narihiro Nakamura - - * parse.y: support Symbol GC. [ruby-trunk Feature #9634] - See this ticket about Symbol GC. - - * include/ruby/ruby.h: - Declare few functions. - * rb_sym2id: almost same as old SYM2ID but support dynamic symbols. - * rb_id2sym: almost same as old ID2SYM but support dynamic symbols. - * rb_sym2str: almost same as `rb_id2str(SYM2ID(sym))` but not - pin down a dynamic symbol. - Declare a new struct. - * struct RSymbol: represents a dynamic symbol as object in - Ruby's heaps. - Add few macros. - * STATIC_SYM_P: check a static symbol. - * DYNAMIC_SYM_P: check a dynamic symbol. - * RSYMBOL: cast to RSymbol - - * gc.c: declare RSymbol. support T_SYMBOL. - - * internal.h: Declare few functions. - * rb_gc_free_dsymbol: free up a dynamic symbol. GC call this - function at a sweep phase. - * rb_str_dynamic_intern: convert a string to a dynamic symbol. - * rb_check_id_without_pindown: not pinning function. - * rb_sym2id_without_pindown: ditto. - * rb_check_id_cstr_without_pindown: ditto. - - * string.c (Init_String): String#intern and String#to_sym use - rb_str_dynamic_intern. - - * template/id.h.tmpl: use LSB of ID as a flag for determining a - static symbol, so we shift left other ruby_id_types. - - * string.c: use rb_sym2str instead `rb_id2str(SYM2ID(sym))` to - avoid pinning. - - * load.c: use xx_without_pindown function at creating temporary ID - to avoid pinning. - - * object.c: ditto. - - * sprintf.c: ditto. - - * struct.c: ditto. - - * thread.c: ditto. - - * variable.c: ditto. - - * vm_method.c: ditto. - -Wed Mar 26 13:25:54 2014 NARUSE, Yui - - * addr2line.c (fill_lines): loop reverse order not to overwrite - the basis of base addresses comparison. - - * addr2line.c: use uintptr_t instead of intptr_t for pointers. - - * addr2line.c (rb_dump_backtrace_with_lines): don't use syms. - - * vm_dump.c (rb_print_backtrace): ditto. - - * addr2line.h: ditto. - -Wed Mar 26 11:20:50 2014 Nobuyoshi Nakada - - * marshal.c (w_object): internal objects are not dumpable. - [ruby-core:61677] [Bug #9674] - - * ext/thread/thread.c (undumpable): ConditionVariable and Queue - are not dumpable. [ruby-core:61677] [Bug #9674] - -Wed Mar 26 10:36:39 2014 NARUSE, Yui - - * addr2line.c (follow_debuglink): show message if it closes opened - (and maybe used) elf binary. - -Wed Mar 26 10:34:25 2014 NARUSE, Yui - - * addr2line.c (fill_line): pass and use offset instead of - curobj_baseaddr. - -Wed Mar 26 09:07:48 2014 Yutaka Kanemoto - - * configure.in: add --disable-pie. [Feature #9673] - -Wed Mar 26 08:47:04 2014 NARUSE, Yui - - * addr2line.c (fill_lines): don't run fill_lines multiple times. - -Wed Mar 26 08:45:00 2014 Sam Rawlins - - * internal.h: add prototype for rb_reg_search0 - - * re.c: rename rb_reg_search to rb_reg_search0, add set_backref_str - argument to allow callers to indicate that they don't require the - backref string to be allocated. - - * string.c: don't allocate backref str if replacement string is provided - - [GH-578] [Bug #9676] [ruby-core:61682] - -Wed Mar 26 08:29:43 2014 mo khan - - * lib/rubygems.rb: fix spelling of Jim Weirich. [Fixes GH-577] - -Wed Mar 26 01:55:45 2014 NARUSE, Yui - - * addr2line.c (rb_dump_backtrace_with_lines): a function to get must - be a function in the main executable, whose absolute path is not - available by dladdr, and ruby get it by /proc/self/exe on Linux. - -Wed Mar 26 01:34:50 2014 NARUSE, Yui - - * addr2line.c (fill_lines): skip if path is NULL. - -Tue Mar 25 23:57:17 2014 Nobuyoshi Nakada - - * parse.y (parser_yylex): only a newline after label should be - significant. [ruby-core:61658] [Bug #9669] - -Tue Mar 25 23:32:25 2014 Kazuhiro NISHIYAMA - - * ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary - unshift. - - * test/pathname/test_pathname.rb (TestPathname#test_join): add tests. - -Tue Mar 25 16:47:36 2014 Nobuyoshi Nakada - - * parse.y (lex_state_e, parser_params, f_arglist, parser_yylex): - separate EXPR_LABELARG from EXPR_BEG and let newline significant, - so that required keyword argument can place at the end of - argument list without parentheses. [ruby-core:61658] [Bug #9669] - -Mon Mar 24 22:19:56 2014 Nobuyoshi Nakada - - * parse.y (ripper_initialize): filename can not be modified. - -Mon Mar 24 15:19:47 2014 NARUSE, Yui - - * addr2line.c (rb_dump_backtrace_with_lines): fetch path of the - executable from /proc/self/exe on Linux. - -Mon Mar 24 14:14:37 2014 SHIBATA Hiroshi - - * gc.c: Fix up default GC params by @csfrancis [fix GH-556] - -Mon Mar 24 13:13:36 2014 NARUSE, Yui - - * addr2line.c (parse_debug_line_cu): explicitly specify signed char - because DWARF's line_Base is signed char and char maybe unsigned. - patched by Rei Odaira. [ruby-dev:48068] [Bug #9654] - -Sun Mar 23 11:03:50 2014 Kohei Suzuki - - * vm_method.c (rb_method_entry_get_without_cache): me->klass is 0 - for a method aliased in a module. [ruby-core:61636] [Bug #9663] - -Sun Mar 23 08:12:27 2014 Eric Wong - - * st.c (hash_pos): use bitwise AND to avoid slow modulo op - (new_size): power-of-two sizes for hash_pos change - (st_numhash): adjust for common keys due to lack of prime modulo - [Feature #9425] - * hash.c (rb_any_hash): right shift for symbols - * benchmark/bm_hash_aref_miss.rb: added to show improvement - * benchmark/bm_hash_aref_sym_long.rb: ditto - * benchmark/bm_hash_aref_str.rb: ditto - * benchmark/bm_hash_aref_sym.rb: ditto - * benchmark/bm_hash_ident_num.rb: added to prevent regression - * benchmark/bm_hash_ident_obj.rb: ditto - * benchmark/bm_hash_ident_str.rb: ditto - * benchmark/bm_hash_ident_sym.rb: ditto - -Sat Mar 22 22:56:45 2014 NARUSE, Yui - - * addr2line.c (fill_lines): compare the file names of object in which - symbols exist. [Bug #9654] [ruby-dev:48058] - -Sat Mar 22 06:46:16 2014 Nobuyoshi Nakada - - * lib/cgi/util.rb (escape_html, unescape_html): make synonyms - aliases instead of wrapper methods. - - * lib/cgi/util.rb (escape_element, unescape_element): ditto. - [Fixes GH-573] - -Fri Mar 21 21:57:34 2014 Akinori MUSHA - - * configure.in: Fix a build problem with clang and --with-opt-dir. - If ruby is configured with --with-opt-dir=dir when using clang - as compiler, a warning `clang: warning: argument unused during - compilation: '-I dir'` is emitted almost every time clang - compiles a file. Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes - any output from the compiler as fatal error, and the check thus - fails due to the warning. This is an attempt to fix the problem - by adding a flag -Qunused-arguments to CFLAGS locally in the - function to suppress the warning. [ruby-dev:48062] [Bug #9658] - [Fixes GH-571] https://github.com/ruby/ruby/pull/571 - -Fri Mar 21 16:31:56 2014 Zachary Scott - - * gc.c: [DOC] Fix call-seq for GC.start by @jasonrclark [Fixes GH-572] - https://github.com/ruby/ruby/pull/572 - -Thu Mar 20 11:37:28 2014 James Edward Gray II - - * lib/csv.rb: Fixed a broken regular expression that was causing - CSV to miss escaping some special meaning characters when used - in parsing. - Reported by David Unric - [ruby-core:54986] [Bug #8405] - -Thu Mar 20 16:53:07 2014 Koichi Sasada - - * gc.c (objspace_malloc_increase): should not invoke - garbage_collect_with_gvl() here on non-ruby threads. - - Should just ignore the malloc_increase. - - This issue is pointed by Eric Wong [ruby-core:61519]. - -Thu Mar 20 13:05:16 2014 Koichi Sasada - - * struct.c (rb_struct_alloc): use RARRAY_CONST_PTR() instead of - RARRAY_PTR(). - -Thu Mar 20 12:59:39 2014 Koichi Sasada - - * include/ruby/intern.h (rb_obj_call_init, rb_class_new_instance): - constify a parameter (VALUE *). - I believe this incompatibility doesn't break any code. - However, if you have trouble, please tell us. - - * eval.c, object.c: ditto. - -Thu Mar 20 12:31:26 2014 Nobuyoshi Nakada - - * vm_method.c (rb_method_entry_get_without_cache): get rid of - infinite recursion at aliases in a subclass and a superclass. - return actually defined class for other than singleton class. - [ruby-core:60431] [Bug #9475] - -Wed Mar 19 17:13:06 2014 Eric Wong - - * time.c (time_mload): freeze and preserve marshal-loaded time zone - * test/ruby/test_time.rb: add test for GC on loaded object - [Bug #9652] - -Tue Mar 18 23:20:12 2014 Shota Fukumori - - * vm_eval.c (eval_string_with_cref): Unify to use NIL_P. - -Tue Mar 18 22:03:41 2014 Shota Fukumori - - * vm_eval.c (eval_string_with_cref): Use file path even if scope is - given. Related to [ruby-core:56099] [Bug #8662] and r42103. - -Mon Mar 17 13:17:47 2014 Koichi Sasada - - * enumerator.c (enumerator_block_call): use RARRAY_CONST_PTR() - instead of RARRAY_PTR(). - - * io.c (rb_io_s_popen): ditto. - - * numeric.c (num_step_size): ditto. - - * vm_eval.c (rb_apply): ditto. - - * vm_eval.c (rb_eval_cmd): ditto. - -Mon Mar 17 10:11:59 2014 Eric Wong - - * variable.c (rb_const_set): delete existing entry on redefinition - [Bug #9645] - * test/ruby/test_const.rb (test_redefinition): test for leak - -Sun Mar 16 21:33:01 2014 Zachary Scott - - * lib/time.rb: [DOC] Fix timezone in example of Time.parse [Bug #9521] - Based on patch by @stomar - -Sun Mar 16 13:21:40 2014 Nobuyoshi Nakada - - * configure.in (DLDFLAGS): insert a space between option and its - argument for non-GCC compilers. [ruby-core:61429] [Bug #9624] - -Sun Mar 16 08:05:06 2014 Eric Wong - - * gc.c (objspace_xcalloc): fix GC accounting - -Sun Mar 16 06:33:35 2014 NARUSE, Yui - - * addr2line.c (fill_lines): return address is just after calling - address. Therefore noreturn function with tail call's return - address may be in another function. - -Sun Mar 16 05:51:55 2014 Zachary Scott - - * lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543] - -Sat Mar 15 18:54:03 2014 Kazuki Tsujimoto - - * ext/.document: remove refinement from documentable directories. - -Sat Mar 15 11:02:58 2014 Nobuyoshi Nakada - - * configure.in (DLDFLAGS): check for each options to control - symbol resolution. [ruby-core:61429] [Bug #9624] - -Sat Mar 15 07:02:35 2014 Eric Wong - - * st.c (st_update): remove unnecessary assignment - -Fri Mar 14 14:58:38 2014 NARUSE, Yui - - * addr2line.c (fill_lines): fetch symbol names from ELF binary's - symbol table if it is built with cc -g and not stripped. - Now ruby can show static symbols on Linux though glibc's - backtrace_symbols(3) don't show them. - - * addr2line.c (rb_dump_backtrace_with_lines): use dladdr(3) to - detect what object file declares the symbol because - dl_iterate_phdr can't detect the main executable file - and codes on the stack. - NOTE: signal trampolines sometimes on the user stack. (FreeBSD) - - * addr2line.c (rb_dump_backtrace_with_lines): stop showing - backtrace if the function's name is main. - NOTE: FreeBSD's backtrace (libexecinfo) shows _start and - an additional address. Why it doesn't remove them on dladdr phase - is, dladdr may fail to detect the main function but detect - as _start function. Therefore it must be after scanning - the symbol table and getting correct name. - - -Fri Mar 14 12:07:46 2014 Zachary Scott - - * doc/syntax/literals.rdoc: [DOC] Single quote strings allows escape - of backslash as well, patch by @idupree [Fixes GH-553] - https://github.com/ruby/ruby/pull/553 - -Fri Mar 14 01:18:24 2014 Nobuyoshi Nakada - - * vm.c (invoke_block_from_c): add splattable argument. - - * vm.c (vm_invoke_proc): disallow to splat when directly invoked. - - * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_callee_setup_arg): - relax arity check of yielded lambda. [ruby-core:61340] [Bug #9605] - - * test/ruby/test_yield.rb (TestRubyYieldGen#emu_bind_params): no - longer raise ArgumentError when splatting to lambda. - -Thu Mar 13 23:51:02 2014 NAKAMURA Usaku - - * ext/-test-/win32/dln/libdlntest.c (dlntest_ordinal): no need to - specify export in the source file because .def file do it. - get rid of warning on linking. - -Wed Mar 12 11:19:03 2014 Nobuyoshi Nakada - - * vm_insnhelper.c (vm_callee_setup_arg): disable fastpath if splat - argument, since argc may differ for each calls. - [ruby-core:61422] [Bug #9622] - - * vm_insnhelper.c (vm_callee_setup_arg): turn a macro into an - inline function. - -Wed Mar 12 07:26:05 2014 Eric Wong - - * insns.def (opt_regexpmatch2): respect redefined match op - Thanks to Sam Rawlins for the fix. - * test/ruby/test_string.rb: test based on Tsuyoshi Sawada's report - [Bug #9581] - -Tue Mar 11 22:31:25 2014 Kazuki Tsujimoto - - * ext/.document: add objspace/objspace_dump.c to document file. - -Tue Mar 11 22:22:38 2014 Kazuki Tsujimoto - - * test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file): - remove dependency on json library. - -Tue Mar 11 10:55:10 2014 Nobuyoshi Nakada - - * README.EXT{,.ja} (Appendix B): update contents of `ruby_options` - and replace `ruby_run` with `ruby_run_node`. based on the patch - by Kaneko Yuichiro at [ruby-dev:48030] [Bug #9619]. - -Tue Mar 11 06:54:00 2014 Scott Francis - - * ext/objspace/objspace_dump.c: Check fptr before trying to dump RFILE - object fd. [GH-562] - - * test/objspace/test_objspace.rb: add test - -Tue Mar 11 02:04:36 2014 NARUSE, Yui - - * vm_dump.c (rb_vm_bugreport): show vm maps on FreeBSD. - - * vm_dump.c (procstat_vm): copied from FreeBSD. - http://svnweb.freebsd.org/base/head/usr.bin/procstat/procstat_vm.c?revision=261780 - -Mon Mar 10 12:14:26 2014 NARUSE, Yui - - * configure.in: always check dladdr(1). - - * addr2line.c (fill_lines): show the line number in C backtrace if - ruby is built without --enable-shared (PIE) on Linux. - patch is originally by Shinichiro Hamaji - https://twitter.com/shinh/status/441957774264504321 - NOTE: ld doesn't insert __executable_start for PIE. - dladdr(3)'s argument must be a function pointer. - -Mon Mar 10 10:51:17 2014 ksss - - * test/ruby/test_enumerator.rb (test_iterators): fix test for hash - iterators. [Fixes GH-558] - -Sun Mar 9 14:14:49 2014 Eric Wong - - * class.c (rb_class_subclass_add): use xmalloc - * class.c (rb_module_add_to_subclasses_list): ditto - * class.c (rb_class_remove_from_super_subclasses): use xfree - * class.c (rb_class_remove_from_module_subclasses): ditto - [Bug #9616] - -Sun Mar 9 13:51:16 2014 Nobuyoshi Nakada - - * ext/fiddle/function.c (function_call): fix memory leak when an - exception occurs at argument conversion or the function call. - -Sun Mar 9 06:42:40 2014 Eric Wong - - * variable.c (struct global_variable): shrink by 8 bytes on 64-bit - -Sat Mar 8 17:42:51 2014 Eric Wong - - * vm.c (add_opt_method): cleanup to use rb_method_entry_at - -Sat Mar 8 13:46:40 2014 Nobuyoshi Nakada - - * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free), - ext/fiddle/handle.c (fiddle_handle_free), - ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak. - based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599]. - -Sat Mar 8 13:30:39 2014 Nobuyoshi Nakada - - * process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r() - may need larger buffers than sysconf values, so retry with - expanding the buffer when ERANGE is returned. - [ruby-core:61325] [Bug #9600] - -Fri Mar 7 19:29:13 2014 Eric Wong - - * vm_eval.c (vm_call0_body): use RARRAY_CONST_PTR - (check_funcall_exec): ditto - [ruby-core:61360] - -Fri Mar 7 19:14:11 2014 Eric Wong - - * vm_eval.c (vm_call0_body): fix RB_GC_GUARD location - (check_funcall_exec): ditto - [Bug #9609] - -Fri Mar 7 14:48:17 2014 Narihiro Nakamura - - * parse.y (ENC_SINGLE): Unused macro removed. - -Fri Mar 7 12:06:19 2014 Martin Bosslet - - * test/openssl/test_ssl.rb: Reuse TLS default options from - OpenSSL::SSL::SSLContext::DEFAULT_PARAMS. - -Thu Mar 6 15:15:24 2014 Zachary Scott - - * doc/syntax/assignment.rdoc: [DOC] Fix assignment directions - By @idupree [Fixes GH-555] https://github.com/ruby/ruby/pull/555 - -Thu Mar 6 15:07:18 2014 Zachary Scott - - * doc/syntax/methods.rdoc: [DOC] Fix example for block arguments - By @idupree [Fixes GH-554] https://github.com/ruby/ruby/pull/554 - -Thu Mar 6 10:33:31 2014 Martin Bosslet - - * lib/openssl/ssl.rb: Explicitly whitelist the default - SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable - compression by default. - Reported by Jeff Hodges. - [ruby-core:59829] [Bug #9424] - -Wed Mar 5 15:56:18 2014 Nobuyoshi Nakada - - * parse.y (f_arg_asgn): define optional arguments as argument - variables in the rhs default expressions. - [ruby-core:61299] [Bug #9593] - -Wed Mar 5 11:58:30 2014 Nobuyoshi Nakada - - * ext/openssl/ossl.c (ossl_make_error): check NULL for unknown - error reasons with old OpenSSL, and insert a colon iff formatted - message is not empty. - -Wed Mar 5 00:42:00 2014 Kazuki Tsujimoto - - * ext/pathname/lib/pathname.rb (Pathname#find): add "ignore_error" - keyword argument defaulted to true as well as Find#find. - -Tue Mar 4 23:00:18 2014 NAKAMURA Usaku - - * test/ruby/test_eval.rb (TestEval#make_test_binding): renamed. - it's not test method. - -Tue Mar 4 20:50:59 2014 Masaya Tarui - - * st.c (st_foreach): fix type of hash. not st_data_t but st_index_t. - -Tue Mar 4 19:41:40 2014 Tanaka Akira - - * Makefile.in: ".DEFAULT" target removed because it is not for - specifying default target. - -Tue Mar 4 00:25:35 2014 Kazuki Tsujimoto - - * lib/find.rb (Find#find): should pass ignore_error option to enumerators. - -Mon Mar 3 13:27:35 2014 NAKAMURA Usaku - - * test/test_find.rb (TestFind#test_unsearchable_dir): ruby cannot make - directory unreachable by owner on Windows. - -Mon Mar 3 08:10:04 2014 Eric Wong - - * vm_method.c (rb_method_entry_get_without_cache): disable GMC - writing if GMC is disabled. - [ruby-core:61218] - -Mon Mar 3 07:47:17 2014 Eric Wong - - * README.EXT: wrap GetDBM with do/while(0) - * README.EXT.ja: ditto - * ext/dbm/dbm.c: ditto, likewise for GetDBM2 - * ext/gdbm/gdbm.c: ditto - * ext/sdbm/init.c: ditto - [ruby-core:61217] - -Mon Mar 3 07:17:31 2014 Zachary Scott - - * NEWS: [DOC] Update doc regarding filesystem load when flushing IO - -Mon Mar 3 04:37:50 2014 NAKAMURA Usaku - - * io.c (rb_io_fsync): need to fsync even if on Windows. fixed mistake - of r45254 and r45256. - -Mon Mar 3 04:21:34 2014 NAKAMURA Usaku - - * test/win32ole: get rid of warnings (unused variable). - -Mon Mar 3 02:53:53 2014 NAKAMURA Usaku - - * io.c (rb_io_flush_raw): [EXPERIMENTAL] remove force syncing for Win32 - to speed up IO. this may break some tests, and they'll be fixed - later. - [ruby-core:58570] [Bug #9153] - -Mon Mar 3 00:17:43 2014 NAKAMURA Usaku - - * test/ruby/test_backtrace.rb: get rid of warnings. unused variable, - shadowing. - -Sun Mar 2 11:15:10 2014 Nobuyoshi Nakada - - * lib/find.rb (Find#find): add "ignore_error" keyword argument - defaulted to true. [ruby-core:51025] [Feature #7596] - -Sun Mar 2 11:13:30 2014 Nobuyoshi Nakada - - * ext/readline/extconf.rb (rl_hook_func_t): define as Function for - very old readline versions. [ruby-core:61209] [Bug #9578] - -Sun Mar 2 10:47:58 2014 Eric Wong - - * load.c (ruby_init_ext): make idempotent to suppress warnings - -Sat Mar 1 19:51:42 2014 Tanaka Akira - - * lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing - stdin_data. - (Open3.capture2): Ditto. - (Open3.capture2e): Ditto. - -Sat Mar 1 19:06:47 2014 Eric Wong - - * gc.c (ruby_gc_set_params): simplify condition - -Sat Mar 1 16:18:40 2014 Tanaka Akira - - * ext/readline/readline.c (Init_readline): Use rl_hook_func_t instead - of Function to support readline-6.3. (rl_hook_func_t is available - since readline-4.2.) - Reported by Dmitry Medvinsky. [ruby-core:61141] [Bug #9578] - -Sat Mar 1 16:05:58 2014 Eric Wong - - * gc.c (ruby_gc_set_params): fix building without RGenGC - -Sat Mar 1 11:08:00 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encoding - objects. - - * ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding - objects. - - * test/psych/test_encoding.rb: add test - - * ext/psych/lib/psych.rb: add version - -Sat Mar 1 10:52:34 2014 Zachary Scott - - * README.EXT.ja: [DOC] Fix typo "macro macro" @utenmiki [Fixes GH-551] - https://github.com/ruby/ruby/pull/551 - -Fri Feb 28 11:16:55 2014 Marc-Andre Lafortune - - * numeric.c: Fix Numeric#step with 0 unit [Bug #9575] - -Thu Feb 27 17:59:01 2014 Zachary Scott - - * lib/optparse.rb: [DOC] Add example of generating help with optparse. - Patch by @joelmccracken documenting-ruby/ruby#19 - https://github.com/documenting-ruby/ruby/pull/19 - -Thu Feb 27 12:10:09 2014 Nobuyoshi Nakada - - * numeric.c (ruby_num_interval_step_size): check signs and get rid - of implementation dependent behavior of negative division. - [ruby-core:61106] [Bug #9570] - -Thu Feb 27 03:55:45 2014 Zachary Scott - - * thread.c: [DOC] Typo in comment for _FORTIFY_SOURCE [Fixes GH-548] - Patch by @qnet-herwin https://github.com/ruby/ruby/pull/548 - -Wed Feb 26 18:43:43 2014 Koichi Sasada - - * gc.c (heap_pages_free_unused_pages): check tomb page availability - at first. - And return immediately if we don't touch sorted list any more. - -Wed Feb 26 14:10:44 2014 Nobuyoshi Nakada - - * eval.c (setup_exception): preserve exception class name encoding - in debug mode messages. - - * eval.c (setup_exception): preserve errinfo across calling #to_s - method on the exception. [ruby-core:61091] [Bug #9568] - -Wed Feb 26 01:29:27 2014 NARUSE, Yui - - * string.c (sym_find): Add Symbol.find(str), which returns whether given - string is defined as symbol or not. [Feature #7854] - -Tue Feb 25 22:52:02 2014 Kazuhiro NISHIYAMA - - * ext/dl/dl.c (rb_dl_realloc): use NUM2SIZET instead of NUM2INT. - - * ext/fiddle/fiddle.c (rb_fiddle_realloc): ditto. - -Tue Feb 25 22:49:30 2014 Kazuhiro NISHIYAMA - - * ext/dl/dl.c (rb_dl_malloc): use NUM2SIZET instead of NUM2INT. - Coverity Scan found this bug. - - * ext/fiddle/fiddle.c (rb_fiddle_malloc): ditto. - -Tue Feb 25 12:06:13 2014 NARUSE, Yui - - * win32/Makefile.sub: define PACKED_STRUCT. - -Mon Feb 24 21:41:56 2014 NAKAMURA Usaku - - * README.md, README.ja.md: removed (wrong) mode setting for emacs. - -Mon Feb 24 20:05:41 2014 Eric Wong - - * configure.in: define PACKED_STRUCT_UNALIGNED for x86* - * timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED - * time.c (struct time_object): ditto - [Bug #9558] non-x86 cannot safely access unaligned addresses - -Mon Feb 24 18:10:02 2014 SHIBATA Hiroshi - - * test/fiddle/test_function.rb: remove unused variables. - * test/fileutils/test_fileutils.rb: ditto. - * test/io/console/test_io_console.rb: ditto. - -Mon Feb 24 12:37:51 2014 Eric Wong - - * configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+ - use __attribute__((packed)) if available - * timev.h: shrink and pack struct vtm - * time.c: pack struct time_object and adjust/introduce helpers - [ruby-core:60794] - -Sun Feb 23 17:55:50 2014 Kouhei Sutou - - * lib/rexml/xmltokens.rb: Add missing non ASCII valid characters - to element name characters. Now, REXML name tokens exactly - match "[5] Name" in the XML spec and "[4] NCName" in the - Namespaces in XML spec. See comment about the details. - [Bug #9539] [ruby-core:60901] - Reported by Mario Barcala. Thanks!!! - - * test/rexml/xpath/test_node.rb: Add tests for the above case. - -Sun Feb 23 12:18:54 2014 Nobuyoshi Nakada - - * ext/socket/raddrinfo.c (inet_pton): use rb_w32_inet_pton, instead of - inet_pton directly, which is unavailable on older version Windows. - - * include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a - wrapper function for inet_pton minimum supported client is - Vista, as well as inet_ntop. - -Sun Feb 23 11:33:25 2014 SHIBATA Hiroshi - - * test/net/imap/test_imap.rb: remove unused variables. - * test/net/imap/test_imap_response_parser.rb: ditto. - * test/net/pop/test_pop.rb: ditto. - -Sun Feb 23 02:19:51 2014 Tanaka Akira - - * lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which - security.mac.portacl.port_high is changed. - See mac_portacl(4) for details. - Reported by Jakub Szafranski. [ruby-core:60917] [Bug #9544] - -Sat Feb 22 23:17:01 2014 Kouhei Sutou - - * lib/rexml/xpath_parser.rb: Fix indent. - -Sat Feb 22 23:15:35 2014 Kouhei Sutou - - * test/rexml/xpath/test_attribute.rb: Simplify. - -Sat Feb 22 20:28:47 2014 NAKAMURA Usaku - - * tool/redmine-backporter.rb: more friendly. - -Sat Feb 22 20:24:43 2014 Kouhei Sutou - - * test/rexml/test_xpath*.rb: Move to ... - * test/rexml/xpath/*.rb: ... here. - -Sat Feb 22 20:04:41 2014 Kouhei Sutou - - * test/rexml/listener.rb: Untabify. - -Sat Feb 22 19:07:31 2014 NAKAMURA Usaku - - * ext/io/console/console.c (console_dev): need read access for conout$ - because some functions need it. [Bug#9554] - -Sat Feb 22 18:40:58 2014 Eric Wong - - * .gitignore: ignore benchmark files - -Sat Feb 22 01:22:24 2014 Yusuke Endoh - - * bignum.c (bary_mul_precheck): fix a copy-paste error. - Coverity Scan found this bug. - -Sat Feb 22 00:58:51 2014 Kazuhiro NISHIYAMA - - * ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of - MEMZERO is type. Coverity Scan found this bug. - -Fri Feb 21 23:47:24 2014 Shugo Maeda - - * ext/socket/init.c (wait_connectable): break if the socket is - writable to avoid infinite loops on FreeBSD and other platforms - which conforms to SUSv3. This problem cannot be reproduced with - loopback interfaces, so it's hard to write test code. - rsock_connect() and wait_connectable() are overly complicated, so - they should be refactored, but I commit this fix as a workaround - for the release of Ruby 1.9.3 scheduled on Feb 24. - [ruby-core:60940] [Bug #9547] - -Fri Feb 21 23:03:39 2014 NARUSE, Yui - - * tool/redmine-backporter.rb: added to handle redmine tickets. - -Fri Feb 21 20:42:01 2014 Nobuyoshi Nakada - - * class.c (rb_mod_init_copy): do nothing if copying self. - [ruby-dev:47989] [Bug #9535] - - * hash.c (rb_hash_initialize_copy): ditto. - -Fri Feb 21 16:45:54 2014 Nobuyoshi Nakada - - * lib/logger.rb (next_rotate_time, previous_period_end): consider - DST change. - - * lib/logger.rb (Logger::LogDevice#check_shift_log): compare the - current time with the time for the next rotation to fix rotation - miss when date changed between the comparison and log writing. - based on the patch by megayu . - [Fixes GH-539] - -Fri Feb 21 10:39:33 2014 SHIBATA Hiroshi - - * test/monitor/test_monitor.rb: remove unused variables. - * test/resolv/test_dns.rb: ditto. - * test/rexml/test_functions.rb: ditto. - * test/rss/test_setup_maker_itunes.rb: ditto. - -Fri Feb 21 09:48:56 2014 Eric Wong - - * ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error - (bsock_recvmsg_internal): ditto - * test/socket/test_unix.rb: test above for infinite loop - -Fri Feb 21 08:27:19 2014 Eric Wong - - * include/ruby/ruby.h (RB_GC_GUARD): - use rb_gc_guarded_ptr_val on non-GCC/MSC - * gc.c (rb_gc_guarded_ptr_val): rename and adjust argument. - RB_GC_GUARD should be robust enough for any compiler. - [ruby-core:60816] [Bug #7805] - -Thu Feb 20 22:21:26 2014 Tanaka Akira - - * ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc. - Suggested by Eric Wong. - https://bugs.ruby-lang.org/issues/9525#note-14 - -Thu Feb 20 11:21:13 2014 Masaki Matsushita - - * hash.c (rb_hash_flatten): fix behavior of flatten(-1). - [ruby-dev:47988] [Bug #9533] - - * test/ruby/test_array.rb: test for above. - -Wed Feb 19 18:57:02 2014 Tanaka Akira - - * ext/socket: Bypass getaddrinfo() if node and serv are numeric. - Reporeted by Naotoshi Seo. [ruby-core:60801] [Bug #9525] - - * ext/socket/extconf.rb: Detect struct sockaddr_in6.sin6_len. - - * ext/socket/sockport.h (SET_SIN6_LEN): New macro. - (INIT_SOCKADDR_IN6): Ditto. - - * ext/socket/rubysocket.h (struct rb_addrinfo): Add - allocated_by_malloc field. - - * ext/socket/raddrinfo.c (numeric_getaddrinfo): New function. - (rb_getaddrinfo): Call numeric_getaddrinfo at first. - (rb_freeaddrinfo): Free struct addrinfo properly when it is - allocated by numeric_getaddrinfo. - -Wed Feb 19 18:31:48 2014 Tanaka Akira - - * ext/socket: Wrap struct addrinfo by struct rb_addrinfo. - -Wed Feb 19 17:47:01 2014 Tanaka Akira - - * ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory. - -Wed Feb 19 11:39:41 2014 NARUSE, Yui - - * configure.in: it must see rb_cv_broken_memmem not rb_cv_func_memmem. - -Tue Feb 18 23:18:41 2014 SHIBATA Hiroshi - - * test/socket/test_socket.rb: unix socket is required by test case. - -Tue Feb 18 20:48:38 2014 SHIBATA Hiroshi - - * test/socket/test_addrinfo.rb: remove unused variables. - * test/socket/test_nonblock.rb: ditto. - * test/socket/test_socket.rb: ditto. - * test/socket/test_unix.rb: ditto. - * test/testunit/test_parallel.rb: ditto. - * test/webrick/test_filehandler.rb: ditto. - * test/xmlrpc/test_features.rb: ditto. - * test/zlib/test_zlib.rb: ditto. - -Tue Feb 18 14:27:18 2014 Shota Fukumori - - * lib/test/unit.rb: Requires minitest < 5.0.0 if Gem is available. - -Tue Feb 18 14:24:07 2014 Shota Fukumori - - * lib/test/unit/test-unit.gemspec: Add minitest < 5.0.0 dependency - - * tool/rbinstall.rb: Add empty implementations for `add_dependency`, - `add_runtime_dependency`, `add_development_dependency` for - Gem::Specification. - -Tue Feb 18 12:06:39 2014 Tanaka Akira - - * configure.in (FILE_COUNT): Removed. (win32.c defines it in itself.) - (FILE_READPTR): Ditto. - -Tue Feb 18 09:35:44 2014 SHIBATA Hiroshi - - * test/test/psych/test_string.rb: remove unused variables. - * test/test/psych/test_yaml.rb: ditto. - -Mon Feb 17 21:31:31 2014 Koichi Sasada - - * test/ruby/test_gc.rb: ignore warning messages for running with -w - option such as chkbuild. - -Mon Feb 17 20:00:27 2014 Tanaka Akira - - * internal.h: Move BDIGIT and related definitions from - include/ruby/defines.h. - -Mon Feb 17 17:41:55 2014 Nobuyoshi Nakada - - * marshal.c (marshal_dump, marshal_load): do not recycle wrapper - objects, to prevent from segfault with continuation. - [ruby-dev:47970] [Bug #9523] - -Mon Feb 17 15:43:59 2014 Zachary Scott - - * doc/keywords.rdoc: [DOC] Add keywords doc by documenting-ruby/ruby#29 - https://github.com/documenting-ruby/ruby/pull/29 - -Mon Feb 17 12:31:31 2014 Koichi Sasada - - * gc.c (get_envparam_double): fix a warning message. - -Mon Feb 17 12:09:52 2014 Koichi Sasada - - * gc.c: introduce new environment variable - "RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR" to control major/minor GC - frequency. - - Do full GC when the number of old objects is more than R * N - where R is this factor and - N is the number of old objects just after last full GC. - - * test/ruby/test_gc.rb: add a test. - -Mon Feb 17 11:28:40 2014 SHIBATA Hiroshi - - * test/test_pty.rb: ignore warnings to unused variables. - -Mon Feb 17 11:27:36 2014 SHIBATA Hiroshi - - * test/test_find.rb: remove unused variables. - -Sun Feb 17 02:12:00 2014 Kenta Murata - - * ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard. - - * ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto. - -Sun Feb 16 15:53:36 2014 SHIBATA Hiroshi - - * test/test_securerandom.rb: File.exists? is deprecated. use File.exist? - -Sun Feb 16 15:05:00 2014 SHIBATA Hiroshi - - * test/pathname/test_pathname.rb: File.exists? is deprecated. use File.exist? - -Sun Feb 16 15:00:28 2014 SHIBATA Hiroshi - - * test/net/ftp/test_ftp.rb: remove unused variables. - * test/logger/test_logger.rb: ditto. - -Sun Feb 16 14:52:46 2014 Eric Wong - - * dir.c (dir_s_glob): RB_GC_GUARD instead of volatile - -Sun Feb 16 14:33:52 2014 Tanaka Akira - - * include/ruby/ruby.h (RBIGNUM_SIGN): Defined for compatibility. - (RBIGNUM_POSITIVE_P): Ditto. - (RBIGNUM_NEGATIVE_P): Ditto. - -Sun Feb 16 12:46:47 2014 Eric Wong - - * io.c (rb_f_backquote): trade volatile for manual recycle - rb_gc_force_recycle ensures object is visible until recycle - -Sun Feb 16 11:55:14 2014 Eric Wong - - * marshal.c (marshal_dump): use rb_gc_force_recycle for GC-safety - (marshal_load): ditto - [ruby-core:60730] [Bug #7805] - -Sun Feb 16 08:11:23 2014 Zachary Scott - - * README.EXT.ja: [DOC] Fix typo by @utenmiki [Fixes GH-534] - https://github.com/ruby/ruby/pull/534 - -Sun Feb 16 07:48:20 2014 Tanaka Akira - - * ext/bigdecimal/bigdecimal.c (BIGNUM_ZERO_P): Unused macro removed. - -Sun Feb 16 06:12:23 2014 Tanaka Akira - - * internal.h: Rename macro names: RBIGNUM_FOO to BIGNUM_FOO. - (BIGNUM_EMBED_LEN_NUMBITS): Renamed from RBIGNUM_EMBED_LEN_NUMBITS. - (BIGNUM_EMBED_LEN_MAX): Renamed from RBIGNUM_EMBED_LEN_MAX. - (BIGNUM_SIGN_BIT): Renamed from RBIGNUM_SIGN_BIT. - (BIGNUM_SIGN): Renamed from RBIGNUM_SIGN. - (BIGNUM_SET_SIGN): Renamed from RBIGNUM_SET_SIGN. - (BIGNUM_POSITIVE_P): Renamed from RBIGNUM_POSITIVE_P. - (BIGNUM_NEGATIVE_P): Renamed from RBIGNUM_NEGATIVE_P. - (BIGNUM_EMBED_FLAG): Renamed from RBIGNUM_EMBED_FLAG. - (BIGNUM_EMBED_LEN_MASK): Renamed from RBIGNUM_EMBED_LEN_MASK. - (BIGNUM_EMBED_LEN_SHIFT): Renamed from RBIGNUM_EMBED_LEN_SHIFT. - (BIGNUM_LEN): Renamed from RBIGNUM_LEN. - (RBIGNUM_DIGITS): Renamed from RBIGNUM_DIGITS. - (BIGNUM_LENINT): Renamed from RBIGNUM_LENINT. - - * bignum.c: Follow the above change. - - * gc.c: Ditto. - - * marshal.c: Ditto. - - * math.c: Ditto. - - * numeric.c: Ditto. - - * random.c: Ditto. - - * rational.c: Ditto. - - * sprintf.c: Ditto. - - * ext/-test-/bignum/bigzero.c: Ditto. - - * ext/-test-/bignum/intpack.c: Ditto. - - * ext/bigdecimal/bigdecimal.c: Ditto. - -Sat Feb 15 20:48:49 2014 Tanaka Akira - - * configure.in (FILE_READEND): Don't detect it because it is not used. - -Sat Feb 15 13:22:28 2014 Eric Wong - - * probes_helper.h (RUBY_DTRACE_HOOK): correct type for _id - -Sat Feb 15 11:47:47 2014 Tanaka Akira - - * bignum.c (rb_big_cmp): Avoid bignum allocation for comparison - between bignum and fixnum. - -Sat Feb 15 10:55:12 2014 Hiroshi Shirosaki - - * ext/-test-/win32/fd_setsize/depend: fix wrong dependencies. - [ruby-dev:47253] - -Sat Feb 15 00:38:54 2014 Tanaka Akira - - * enum.c: Enumerable#{min,min_by,max,max_by} extended to take an - optional argument. - (nmin_cmp): New function. - (nmin_block_cmp): Ditto - (nmin_filter): Ditto. - (nmin_i): Ditto. - (nmin_run): Ditto. - (enum_min): Call nmin_run if the optional argument is given. - (nmin_max): Ditto. - (nmin_min_by): Ditto. - (nmin_max_by): Ditto. - - * range.c: Range#{min,max} extended to take an optional argument. - (range_min): Call range_first if the optional argument is given. - (range_max): Call rb_call_super if the optional argument is given. - - [ruby-core:57111] [Feature #8887] - -Sat Feb 15 00:27:46 2014 Tanaka Akira - - * include/ruby/ruby.h, - internal.h, - ext/-test-/bignum/bigzero.c: Hide a Bignum definition. - [ruby-core:42891] [Feature #6083] - -Sat Feb 15 00:13:14 2014 Tanaka Akira - - * include/ruby/intern.h, - include/ruby/io.h, - include/ruby/ruby.h, - include/ruby/win32.h, - include/ruby/backward/rubysig.h, - bignum.c, - gc.c, - io.c, - process.c, - safe.c, - struct.c, - thread.c, - ext/socket/rubysocket.h, - ext/-test-/old_thread_select: Remove deprecated definitions - [ruby-core:60581] [Feature #9502] - -Fri Feb 14 18:38:46 2014 Eric Wong - - * string.c (rb_str_format_m): trade volatile for RB_GC_GUARD - RB_GC_GUARD meaning is clear and has better code generation. - [ruby-core:60688] - -Thu Feb 13 23:30:30 2014 Shugo Maeda - - * vm_insnhelper.c (vm_call_method): should check ci->me->flag of - a refining method in case the method is private. - [ruby-core:60111] [Bug #9452] - - * vm_method.c (make_method_entry_refined): set me->flag of a refined - method entry to NOEX_PUBLIC in case the original method is private - and it is refined as a public method. The original flag is stored - in me->def->body.orig_me, so it's OK to make a refined method - entry public. [ruby-core:60111] [Bug #9452] - - * test/ruby/test_refinement.rb: related tests. - -Thu Feb 13 18:38:15 2014 Eric Wong - - * re.c (rb_reg_raise): remove volatile - Unnecessary since r41597 - -Thu Feb 13 18:28:51 2014 Eric Wong - - * re.c (rb_reg_regcomp): remove volatile - Unnecessary since r13261 - -Thu Feb 13 16:54:32 2014 Zachary Scott - - * test/ruby/test_array.rb: Ensure flatten! is used for test_flatten - Patch by @ksss [Fixes GH-530] https://github.com/ruby/ruby/pull/530 - -Thu Feb 13 15:43:16 2014 Nobuyoshi Nakada - - * parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug. - - * parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also - attrset ID. [ruby-core:60668] [Bug #8756] - -Thu Feb 13 11:06:32 2014 Nobuyoshi Nakada - - * configure.in: check if pthread_setname_np is available. - - * thread_pthread.c: pthread_setname_np is not available on old - Darwins. [ruby-core:60524] [Bug #9492] - -Thu Feb 13 00:56:59 2014 Masaki Matsushita - - * configure.in: revert r44922. I should have used AC_CHECK_FUNCS() - to just define a symbol if the function is available. - -Thu Feb 13 00:20:58 2014 Masaki Matsushita - - * configure.in: use AC_CHECK_FUNC instead of AC_CHECK_FUNCS - if available. - -Thu Feb 13 00:15:10 2014 Masaki Matsushita - - * configure.in: fix to undefine HAVE_MEMMEM correctly if it is broken. - -Tue Feb 11 23:54:40 2014 Tanaka Akira - - * bignum.c (rb_big_cmp): Specialize a comparison to zero. - - * ext/bigdecimal/bigdecimal.c (is_negative): Use rb_big_cmp instead of - RBIGNUM_NEGATIVE_P. - (BigMath_s_log): Ditto. - -Tue Feb 11 22:59:10 2014 Tanaka Akira - - * ext/openssl/ossl_bn.c (ossl_bn_initialize): Use rb_integer_pack. - Fix SEGV by OpenSSL::BN.new(1 << (2**34)). - -Tue Feb 11 17:00:38 2014 Zachary Scott - - * ext/tk/README.tcltklib: [DOC] Fix typo by @xta [Fixes GH-532] - -Sun Feb 9 13:59:29 2014 Tanaka Akira - - * configure.in: Fix compilation error. - https://bugs.ruby-lang.org/issues/8358#note-16 - -Sun Feb 9 05:20:24 2014 NARUSE, Yui - - * configure.in (rb_cv_gnu_qsort_r): use compile error "conflicting - types for 'qsort_r'" instead of AC_RUN_IFELSE. - -Sun Feb 9 04:07:34 2014 Zachary Scott - - * lib/yaml.rb: [DOC] Add links to syck and psych on github [Bug #9501] - Based on a patch by Giorgos Tsiftsis - -Sun Feb 9 02:13:53 2014 Nobuyoshi Nakada - - * include/ruby/ruby.h (OBJ_TAINTABLE, OBJ_TAINT, OBJ_INFECT), - marshal.c (r_entry0): all Numerics never be tainted now. - [ruby-core:57346] [Bug #8945] - -Sat Feb 8 23:40:35 2014 Vit Ondruch - - * configure.in: add quoting brackets and append wildcard for the - rest after target_cpu, to properly detect platform for SSE2 - instructions. [ruby-core:60576] [Bug #8358] - -Sat Feb 8 21:44:07 2014 Masaki Matsushita - - * configure.in: check qsort_r(3) and whether it is GNU version. - BSD version has different prototype. - - * util.h: use qsort_r() as ruby_qsort() if it is GNU version. - - * util.c: define ruby_qsort() if needed. - -Sat Feb 8 16:34:36 2014 Tanaka Akira - - * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#get_labels): - Make it iterative. - -Sat Feb 8 15:54:12 2014 Koichi Sasada - - * gc.c, gc.h (rb_objspace_marked_object_p): added. - This function *ONLY* works just after marking phase, - before any sweeping. - This function is highly depending current GC implementation - and can be removed future version. - -Sat Feb 8 15:41:37 2014 Tanaka Akira - - * lib/resolv.rb: Don't set CLOEXEC flag explicitly. (Ruby set it by - default.) - -Sat Feb 8 15:27:02 2014 Tanaka Akira - - * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder): Raise - DecodeError if no data before the limit. - Reported by Will Bryant. [ruby-core:60557] [Bug #9498] - -Sat Feb 8 15:11:21 2014 Tanaka Akira - - * io.c (SMALLBUF): Unused macro removed. - -Fri Feb 7 23:37:49 2014 Tanaka Akira - - * lib/resolv.rb: Ignore name servers which cause EAFNOSUPPORT on - socket creation. - Reported by Bjoern Rennhak. [ruby-core:60442] [Bug #9477] - -Fri Feb 7 21:58:48 2014 Zachary Scott - - * lib/open-uri.rb: [DOC] use lower case version of core classes, same - as commit r44878, based on patch by Jonathan Jackson [Bug #9483] - -Fri Feb 7 21:54:53 2014 Zachary Scott - - * ext/ripper/lib/ripper/lexer.rb: [DOC] use lower case version of core - classes when referring to return value, since we aren't directly - talking about the class. Patch by Jonathan Jackson [Bug #9483] - -Fri Feb 7 05:28:38 2014 Eric Wong - - * constant.h: reduce rb_const_entry_t size on 64-bit - Patch by Adam Avilla [ruby-core:60542] [Feature #9496] - -Thu Feb 6 15:27:46 2014 Koichi Sasada - - * gc.c (get_envparam_int): correct warning messages. - - * gc.c (get_envparam_double): ditto. - -Thu Feb 6 15:17:30 2014 Koichi Sasada - - * gc.c (get_envparam_int): don't accept a value equals to lowerbound - (changed by last commit) because "" or "foo" (not a number) strings - are parsed as 0. They should be rejected. - - * gc.c (get_envparam_double): ditto. - -Thu Feb 6 09:00:35 2014 Koichi Sasada - - * gc.c (ruby_gc_set_params): if RUBY_GC_OLDMALLOC_LIMIT is provided, - then set objspace->rgengc.oldmalloc_increase_limit. - Without this fix, the env variable RUBY_GC_OLDMALLOC_LIMIT - does not work. - - * gc.c (get_envparam_int): accept a value equals to lowerbound. - - * gc.c (get_envparam_double): ditto. - -Thu Feb 6 08:23:28 2014 Eric Wong - - * ext/thread/thread.c (rb_szqueue_max_set): use correct queue and - limit wakeups. [Bug #9343][ruby-core:60517] - * test/thread/test_queue.rb (test_sized_queue_assign_max): - test for bug - -Thu Feb 6 07:18:01 2014 Eric Hodel - - * lib/rubygems: Update to RubyGems 2.2.2. Complete history at: - - http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05 - - * test/rubygems: ditto. - -Wed Feb 5 20:56:32 2014 Nobuyoshi Nakada - - * marshal.c (to_be_skipped_id): ignore anonymous attributes. - - * pack.c (Init_pack): use anonymous ID so that associated objects - do not appear in the packed result. - - * parse.y (rb_make_internal_id): return an anonymous ID for - internal use. - -Wed Feb 5 14:41:56 2014 Koichi Sasada - - * vsnprintf.c: remove duplicated def of `UNINITIALIZED_VAR()'. - -Wed Feb 5 14:40:16 2014 Koichi Sasada - - * ext/objspace/objspace_dump.c (dump_object): use STR_SHARED_P() - instead of removed STR_NOCAPA_P() macro. - -Wed Feb 5 13:51:33 2014 Koichi Sasada - - * internal.h, vm_core.h: move LIKELY/UNLIKELY/UNINITIALIZED_VAR() - macros from vm_core.h to internal.h. - - * string.c: remove dependency to "vm_core.h". - - * common.mk: ditto. - -Wed Feb 5 13:29:01 2014 Koichi Sasada - - * string.c (rb_str_free): use FL_TEST(str, STR_SHARED) directly - because str is not embed. - - * string.c (str_replace): remove `FL_SET(str, STR_SHARED)' line - because STR_SET_SHARED() set STR_SHARED. - -Wed Feb 5 13:18:08 2014 Koichi Sasada - - * internal.h: remove macros STR_NOCAPA and STR_NOCAPA_P(). - - * string.c (rb_str_resize): remove `STR_SET_NOEMBED(str)' because - str_make_independent_expand() set NOEMBED flag. - - * string.c (rb_str_resize): remove `STR_NOCAPA_P(str)' check because - `str' is independent (not shared). - -Wed Feb 5 12:54:25 2014 Koichi Sasada - - * string.c: refactoring, especially about string flags. - - * string.c (STR_UNSET_NOCAPA): removed. - Use FL_UNSET() with STR_SHARED. - - * string.c (rb_str_capacity): check STR_SHARED directly - because it is not a embed string. - - * string.c (rb_str_modify_expand): ditto. - - * string.c (rb_str_shared_replace): use STR_SET_SHARED(). - - * string.c (str_make_independent_expand): remove STR_UNSET_NOCAPA() - because `str' is not shared string. - -Wed Feb 5 12:11:04 2014 Koichi Sasada - - * string.c (RESIZE_CAPA): should not resize shared string. - -Wed Feb 5 11:46:42 2014 Koichi Sasada - - * gc.c (gc_mark_children): STR_ASSOC is no longer available. - Reported by @nagachika. - http://d.hatena.ne.jp/nagachika/20140204 - -Wed Feb 5 11:27:22 2014 Koichi Sasada - - * string.c (rb_str_new_frozen): refactoring code. - * Move code from str_new_frozen_with_klass() (and remove it) - * `aux.shared' should not be 0 for STR_SHARED strings. - -Wed Feb 5 04:23:41 2014 Aaron Patterson - - * ext/psych/lib/psych.rb: New release of psych. - * ext/psych/psych.gemspec: ditto - -Wed Feb 5 04:16:41 2014 Aaron Patterson - - * ext/psych/yaml/emitter.c: merge libyaml 0.1.5 - * ext/psych/yaml/loader.c: ditto - * ext/psych/yaml/parser.c: ditto - * ext/psych/yaml/reader.c: ditto - * ext/psych/yaml/scanner.c: ditto - * ext/psych/yaml/writer.c: ditto - * ext/psych/yaml/yaml_private.h: ditto - -Tue Feb 4 19:10:29 2014 Koichi Sasada - - * string.c: use long allocator names instead of numbered - allocator names. - * rb_str_new2 -> rb_str_new_cstr - * rb_str_new4 -> rb_str_new_frozen - * rb_str_new5 -> rb_str_new_with_class - * str_new3 -> str_new_shared - * str_new4 -> str_new_frozen_with_klass - -Tue Feb 4 17:20:03 2014 Nobuyoshi Nakada - - * dir.c (glob_helper): return the filename with actual cases on - the filesystem if it is case-insensitive. [ruby-core:42469] - [Feature #5994] - -Tue Feb 4 16:16:58 2014 Koichi Sasada - - * string.c: use STR_SHARED instead of ELTS_SHARED. - (same value, but more clear meaning) - -Tue Feb 4 16:09:14 2014 Koichi Sasada - - * string.c: remove STR_ASSOC related code. - By r44804, string objects can not have STR_ASSOC flag. - - * internal.h: ditto. - - * ext/objspace/objspace_dump.c (dump_object): ditto. - -Tue Feb 4 14:07:20 2014 Nobuyoshi Nakada - - * pack.c (str_associate, str_associated): keep associated objects - in an instance variables, instead of in the internal structure. - - * string.c (rb_str_associate, rb_str_associated): deprecate. - -Tue Feb 4 12:55:31 2014 Nobuyoshi Nakada - - * string.c (rb_str_modify_expand): enable capacity and disable - association with packed objects when setting capa, so that - pack("p") string fails to unpack properly after modified. - -Tue Feb 4 12:45:15 2014 Nobuyoshi Nakada - - * dir.c (glob_make_pattern): all alphabets are magic characters on - case-insensitive filesystems. [ruby-core:42469] [Feature #5994] - -Tue Feb 4 09:47:57 2014 Eric Hodel - - * lib/rubygems: Update to RubyGems 2.2.2 prerelease to check fixes to - CI. - * test/rubygems: ditto. - -Mon Feb 3 12:04:47 2014 Kazuhiro NISHIYAMA - - * error.c: [DOC] Exception#cause may return nil. [ci skip] - -Sun Feb 2 05:48:42 2014 Eric Wong - - * io.c (rb_io_syswrite): add RB_GC_GUARD - [Bug #9472][ruby-core:60407] - -Sat Feb 1 15:09:16 2014 Masaki Suketa - - * ext/win32ole/win32ole.c (ole_typedesc2val): add VT_RECORD case. - -Sat Feb 1 06:38:51 2014 Zachary Scott - - * lib/drb/drb.rb: [DOC] Add note about start_service for each process - Based on a patch by @rosenfeld [Fixes GH-514] [ci skip] - https://github.com/ruby/ruby/pull/514 - -Sat Feb 1 06:30:20 2014 Zachary Scott - - * error.c: [DOC] Document Exception#cause by @jasonrclark [ci skip] - [Fixes GH-519] https://github.com/ruby/ruby/pull/519 - -Sat Feb 1 06:10:49 2014 Zachary Scott - - * lib/securerandom.rb: [DOC] Add note on require for examples - Based on a patch by @schneems [Fixes GH-518] [ci skip] - https://github.com/ruby/ruby/pull/518 - -Sat Feb 1 06:04:56 2014 Zachary Scott - - * numeric.c: [DOC] Fix typo in example for #step [ci skip] - Patch by @ksss [Fixes GH-522] https://github.com/ruby/ruby/pull/522 - -Fri Jan 31 17:01:47 2014 Eric Wong - - * ext/socket/init.c (rsock_socket0): split out SOCK_CLOEXEC version - * ext/socket/socket.c (rsock_socketpair0): ditto - [ruby-core:60377] - -Fri Jan 31 03:48:40 2014 Eric Wong - - * benchmark/driver: avoid large alloc in driver process - [ruby-core:59869] [Bug #9430] - -Thu Jan 30 14:45:49 2014 Shugo Maeda - - * configure.in: use $@ instead of $(.TARGET) because .TARGET is not - supported by GNU make. - -Thu Jan 30 08:26:21 2014 Yusuke Endoh - - * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value. - [ruby-core:57599] [Bug #8978]. - -Wed Jan 29 20:08:15 2014 Nobuyoshi Nakada - - * io.c (nogvl_copy_stream_sendfile): check socket on other than - linux, as sendfile(2) on non-socket fd works only on linux. - [Feature #9427] - -Wed Jan 29 18:09:48 2014 Eric Wong - - * io.c (nogvl_copy_stream_sendfile): remove socket check - [ruby-core:59856][Feature #9427] - -Wed Jan 29 04:29:54 2014 Aaron Patterson - - * ext/openssl/ossl_ssl.c: pass read_nonblock options to underlying IO - when SSL session has not been started. - - * test/openssl/test_ssl.rb: test for change. - -Wed Jan 29 03:49:36 2014 Aaron Patterson - - * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value. - [ruby-core:57599] [Bug #8978]. Thanks mame! - -Wed Jan 29 03:36:42 2014 Eric Wong - - * doc/contributing.rdoc: allow/encourage other git hosts - [ruby-core:59807][misc #9421] - -Tue Jan 28 23:36:01 2014 Tanaka Akira - - * ext/socket: Avoid redundant fcntl/fstat syscalls for cloexec - sockets. - Patch by Eric Wong. [ruby-core:59429] [Feature #9330] - -Tue Jan 28 20:51:07 2014 Tanaka Akira - - * process.c (READ_FROM_CHILD): Apply the last hunk of - 0001-process.c-avoid-EINTR-from-Process.spawn.patch written by - Eric Wong in [Bug #8770]. - -Tue Jan 28 16:31:13 2014 Nobuyoshi Nakada - - * thread_pthread.c (ruby_init_stack, ruby_stack_overflowed_p): - place get_stack above others to get stack boundary information. - [ruby-core:60113] [Bug #9454] - -Tue Jan 28 15:27:36 2014 NARUSE, Yui - - * thread_pthread.c: rlimit is only available on Linux. - At least r44712 breaks FreeBSD. - [ruby-core:60113] [Bug #9454] - -Tue Jan 28 15:17:59 2014 Zachary Scott - - * lib/set.rb: [DOC] Add examples for Set#intersect? and Set#disjoint? - Patch by xavier nayrac [Bug #9331] [ci skip] - -Tue Jan 28 15:12:22 2014 Zachary Scott - - * ext/zlib/zlib.c (rb_zlib_adler32): [DOC] Add example for adler32 - Patch by Vajrasky Kok [Bug #9307] [ci skip] - -Tue Jan 28 08:56:00 2014 Charlie Somerville - - * compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block - as hash key when loading serialized instruction sequences from arrays. - [Bug #9455] [ruby-core:60146] - -Mon Jan 27 21:52:55 2014 Nobuyoshi Nakada - - * thread_pthread.c: get current main thread stack size, which may - be expanded than allocated size at initialization, by rlimit(). - [ruby-core:60113] [Bug #9454] - -Sat Jan 25 22:17:02 2014 Kazuhiro NISHIYAMA - - * README.ja.md, README.md: update the controller address of - mailing lists. - -Sat Jan 25 14:50:42 2014 Eric Wong - - * process.c (send_child_error): retry write on EINTR to fix - occasional Errno::EINTR from Process.spawn. - - * process.c (recv_child_error): retry read on EINTR to fix - occasional Errno::EINTR from Process.spawn. - -Sat Jan 25 14:21:06 2014 Nobuyoshi Nakada - - * compile.c (iseq_compile_each): result of assignment should be - its rhs instead of returned value from a method. - [ruby-core:60071] [Bug #9448] - -Sat Jan 25 11:16:19 2014 Nobuyoshi Nakada - - * class.c (rb_extract_keywords): treat nil keyword_hash same as 0, - for the case rb_scan_args returns nil if no keyword hash. - -Fri Jan 24 15:13:20 2014 Zachary Scott - - * lib/racc/rdoc/grammar.en.rdoc: [DOC] Correct grammar and typos - Patch by Giorgos Tsiftsis [Bug #9429] [ci skip] - -Thu Jan 23 20:20:17 2014 Koichi Sasada - - * test/ruby/envutil.rb: try to wait a bit (0.1sec) when ruby process - exits by signals because some SEGV tests fail because of not enough - error output. - -Thu Jan 23 20:06:27 2014 Koichi Sasada - - * test/ruby/test_settracefunc.rb: check the target thread. - -Thu Jan 23 19:59:16 2014 Koichi Sasada - - * test/ruby/test_settracefunc.rb: check the target thread. - -Thu Jan 23 14:26:44 2014 Zachary Scott - - * lib/fileutils.rb: [DOC] Fix typo in options_of() example [Bug #9392] - Patch by Giorgos Tsiftsis - -Thu Jan 23 13:56:16 2014 Zachary Scott - - * README -> README.md: [DOC] Format README with Markdown [Bug #9255] - * README.ja -> README.ja.md: ditto - -Wed Jan 22 15:59:39 2014 Nobuyoshi Nakada - - * ext/thread/thread.c (Init_thread): ConditionVariable and Queue - are not able to copy. [ruby-core:59961] [Bug #9440] - -Tue Jan 21 20:14:55 2014 Nobuyoshi Nakada - - * thread_pthread.c (rb_thread_create_timer_thread): fix for platforms - where PTHREAD_STACK_MIN is a dynamic value and not a compile-time - constant. [ruby-dev:47911] [Bug #9436] - -Tue Jan 21 17:55:09 2014 Zachary Scott - - * lib/uri/common.rb: [DOC] Use static w3.org uri [ci skip] - Patch by @ykzts [Fix GH-484] https://github.com/ruby/ruby/pull/484 - -Tue Jan 21 16:43:22 2014 Zachary Scott - - * enum.c: [DOC] Add simple example of Enumerable#zip [ci skip] - Patch by @nruth on documenting-ruby/ruby#22 - https://github.com/documenting-ruby/ruby/pull/22 - -Tue Jan 21 16:26:44 2014 Nobuyoshi Nakada - - * thread_pthread.c (rb_thread_create_timer_thread): expand timer - thread stack size to get rid of segfault on FreeBSD/powerpc64. - based on the patch by Steve Wills at [ruby-core:59923]. - [ruby-core:56590] [Bug #8783] - -Tue Jan 21 04:31:23 2014 Tanaka Akira - - * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and - IP_MULTICAST_TTL on Mac OS X and Windows. - -Tue Jan 21 00:39:15 2014 Tanaka Akira - - * ext/socket/option.c: Use "byte" as default argument for - IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket option to follow - the original multicast implementation. - -Mon Jan 20 20:20:27 2014 Tanaka Akira - - * ext/socket/option.c: Use preprocessor macros to avoid repeated - conditionals. - -Mon Jan 20 13:55:03 2014 Zachary Scott - - * lib/rubygems/version.rb: [DOC] Use gender-neutral pronouns [ci skip] - * lib/rubygems/security.rb: ditto - -Sun Jan 19 06:38:48 2014 Benoit Daloze - - * compar.c (cmp_equal): warn for this release and still rescue - standard exceptions for a nicer transition. See #7688. - Partly reverts r44502. - - * test/ruby/test_comparable.rb: adapt assertion to match new behavior. - -Sun Jan 19 06:27:18 2014 Benoit Daloze - - * test/ruby/test_comparable.rb: specify behavior for the different - kind of exceptions rescued (or not) by Comparable#==. - -Sat Jan 18 23:12:19 2014 Tanaka Akira - - * ext/socket: Avoid unnecessary ppoll/select on Linux. - Patch by Eric Wong. [ruby-core:57950] [Bug #9039] - -Sat Jan 18 22:57:44 2014 Tanaka Akira - - * lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated - string. - Patch by Ryan Brunner. [ruby-core:58220] [Bug #9093] - -Sat Jan 18 22:35:15 2014 Tanaka Akira - - * io.c (rb_update_max_fd): Return immediately if the given fd is small - enough. - -Sat Jan 18 22:25:53 2014 Tanaka Akira - - * io.c: Test O_CLOEXEC only once. - Patch by Eric Wong. [ruby-core:59419] [Feature #9328] - -Sat Jan 18 21:24:49 2014 Tanaka Akira - - * ext/socket/option.c: IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket - option takes a byte on OpenBSD. - Fixed by Jeremy Evans. [ruby-core:59496] [Bug #9350] - -Sat Jan 18 21:19:04 2014 Tanaka Akira - - * lib/open-uri.rb: Make proxy disabling working again. - Fixed by Christophe Philemotte. [ruby-core:59650] [Bug #9385] - -Fri Jan 17 20:05:02 2014 Nobuyoshi Nakada - - * lib/delegate.rb (Delegator): keep source information methods - which start and end with '__'. [ruby-core:59718] [Bug #9403] - -Fri Jan 17 17:58:04 2014 Nobuyoshi Nakada - - * eval.c (rb_mod_s_constants): return its own constants for other - than Module itself. [ruby-core:59763] [Bug #9413] - -Tue Jan 16 00:17:00 2014 Kenta Murata - - * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.5. - -Wed Jan 15 20:30:31 2014 Masaki Matsushita - - * io.c (io_binwrite): use writev(2) to avoid double write if available. - - * configure.in: check writev(2) - -Wed Jan 15 14:04:33 2014 Nobuyoshi Nakada - - * string.c (get_encoding): respect BOM on pseudo encodings. - [ruby-dev:47895] [Bug #9415] - -Wed Jan 15 14:03:47 2014 Nobuyoshi Nakada - - * string.c (get_actual_encoding): get actual encoding according to - the BOM if exists. - - * string.c (rb_str_inspect): use according encoding, instead of - pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940] - -Tue Jan 14 21:07:22 2014 Masaki Matsushita - - * ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS - on SizedQueue#clear. [ruby-core:59462] [Bug #9342] - - * test/thread/test_queue.rb: add test. the patch is from - Justin Collins. - -Tue Jan 14 15:58:43 2014 Nobuyoshi Nakada - - * ext/bigdecimal/bigdecimal.c (CLASS_NAME): macro to wrap - depending on PRIsVALUE for 1.9. [Backport #9406] - - * ext/bigdecimal/bigdecimal.c (DECIMAL_SIZE_OF_BITS): fallback - definition for 2.1 or older. [ruby-core:59750] [Backport #9406] - -Tue Jan 14 11:28:44 2014 Yuki Yugui Sonoda - - * vm_exec.c (cfp): Fixes a SEGV issue in r44554. - r11 can be broken by subroutine and sometimes causes SEGV at - runtime. Use r13 instead. - -Tue Jan 14 02:20:00 2014 Kenta Murata - - * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional - digit for the quotient to be compatible with bigdecimal 1.2.1 and - the former. [ruby-core:59365] [#9316] [#9305] - - * test/bigdecimal/test_bigdecimal.rb: tests for the above change. - - * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4. - -Mon Jan 13 14:55:31 2014 Zachary Scott - - * lib/xmlrpc/client.rb: [DOC] Remove note about SSL package on RAA - Since RAA has been deprecated, and the SSL package has been replaced - with net/https this statement is entirely false and should be - deleted. [Bug #9152] - -Mon Jan 13 14:47:07 2014 Zachary Scott - - * lib/net/smtp.rb: [DOC] Remove dead link to RAA by Giorgos Tsiftsis - Fixes the following bugs: [Bug #9152] [Bug #9268] [Bug #9394] - * lib/open-uri.rb: ditto - -Mon Jan 13 14:25:55 2014 Zachary Scott - - * ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243] - -Mon Jan 13 12:03:00 2014 Charlie Somerville - - * ext/thread/thread.c (rb_szqueue_push): check GET_SZQUEUE_WAITERS - instead of GET_QUEUE_WAITERS to prevent deadlock. Patch by Eric Wong. - [Bug #9302] [ruby-core:59324] - - * test/thread/test_queue.rb: add test - -Sun Jan 12 16:41:10 2014 Nobuyoshi Nakada - - * iseq.c (iseq_load): keep type_map to get rid of memory leak. - based on a patch by Eric Wong at [ruby-core:59699]. [Bug #9399] - -Sun Jan 12 09:21:35 2014 Nobuyoshi Nakada - - * include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor - constant macro to approximate decimal representation size of n-bits - integer. - - * iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better - approximation. - - * ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto. - - * common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add - dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS. - -Fri Jan 10 16:27:20 2014 Yuki Yugui Sonoda - - * vm_exec.c (cfp): Avoid generating invalid binary for - NativeClient. - r15 on x86_64 is reserved by NativeClient. So r15 to cfp used to - generate invalid binary under some combinations of compiler - optimization flags. - -Fri Jan 10 18:01:41 2014 Nobuyoshi Nakada - - * vm_insnhelper.c (vm_search_super_method): allow bound method from a - module, yet another method transplanting. - -Fri Jan 10 13:34:04 2014 Aman Gupta - - * insns.def (opt_aref_with): new instruction to optimize Hash#[], - removing any allocation overhead when used with a string literal - key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382] - * insns.def (opt_aset_with): new instruction to optimize Hash#[]= - * compile.c (iseq_compile_each): compiler shortcuts for new - instructions - * hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for - Hash#compare_by_identity to reflect frozen string sharing - * test/ruby/test_hash.rb (class TestHash): test for new behavior - -Fri Jan 10 06:23:21 2014 Benoit Daloze - - * range.c (Range#size): [DOC] improve description and add examples. - Patch by @skade. [Fixes GH-501] - -Fri Jan 10 00:47:52 2014 Josef Stribny - - * ext/tk/extconf.rb: fix to pass arrays instead of strings to - libpathflag. patch at [ruby-core:59665]. [Bug #9386] - -Thu Jan 9 20:49:22 2014 Nobuyoshi Nakada - - * configure.in: -mstackrealign is necessary for -msse2 working. - [ruby-core:54716] [Bug #8349] - - * configure.in: use SSE2 instructions to drop unexpected precisions on - other than mingw. [ruby-core:59472] [Bug #8358] - -Thu Jan 9 20:31:10 2014 NAKAMURA Usaku - - * hash.c (rb_objid_hash): should return `long'. brushup r44534. - - * object.c (rb_obj_hash): follow above change. - -Thu Jan 9 19:12:37 2014 Koichi Sasada - - * vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event. - The patch base by drkaes (Stefan Kaes). - [Bug #9321] - - * variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame() - instead of rb_frame_pop(). - - * vm_eval.c (raise_method_missing): ditto. - - * vm_eval.c (rb_iterate): ditto. - - * internal.h (rb_vm_pop_cfunc_frame): add decl. - - * test/ruby/test_settracefunc.rb: add tests. - provided by drkaes (Stefan Kaes). - - * vm.c, eval.c, include/ruby/intern.h (rb_frame_pop): - move definition of rb_frame_pop() and deprecate it. - It doesn't care about `return' events. - -Thu Jan 9 17:40:28 2014 NAKAMURA Usaku - - * hash.c (rb_any_hash): should treat the return value of rb_objid_hash() - as `long', because ruby assumes the hash value of the object id of - an object is `long'. - this fixes test failures on mswin64 introduced at r44525. - -Thu Jan 9 09:55:20 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with - quotes should not have changed. [ruby-core:59316] [Bug #9300] - - * ext/psych/lib/psych.rb: fixed missing require. - - * test/psych/test_string.rb: test - -Thu Jan 9 09:51:00 2014 Aaron Patterson - - * ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs - should be able to roundtrip. Thanks @splattael! - - * test/psych/test_object_references.rb: test for change - -Wed Jan 8 22:53:16 2014 Nobuyoshi Nakada - - * vm_insnhelper.c (vm_search_super_method): when super called in a - bound UnboundMethod generated from a module, no superclass is - found since the current defined class is the module, then call - method_missing in that case. [ruby-core:59619] [Bug #9377] - -Wed Jan 8 15:55:21 2014 Nobuyoshi Nakada - - * hash.c (rb_objid_hash): return hash value from object ID with a - salt, extract from rb_any_hash(). - - * object.c (rb_obj_hash): return same value as rb_any_hash(). - fix r44125. [ruby-core:59638] [Bug #9381] - -Wed Jan 8 13:12:41 2014 Nobuyoshi Nakada - - * lib/timeout.rb (Timeout::ExitException.catch): pass arguments - for new instance. - - * lib/timeout.rb (Timeout::ExitException#exception): fallback to - Timeout::Error if couldn't throw. [ruby-dev:47872] [Bug #9380] - - * lib/timeout.rb (Timeout#timeout): initialize ExitException with - message for the fallback case. - -Tue Jan 7 12:43:06 2014 Nobuyoshi Nakada - - * lib/timeout.rb (Timeout#timeout): should not rescue ordinarily - raised ExitException, which should not be thrown. - - * lib/timeout.rb (Timeout::ExitException.catch): set @thread only if - it ought to be caught. - - * lib/timeout.rb (Timeout#timeout): when a custom exception is given, - no instance is needed to be caught, so defer creating new instance - until it is raised. [ruby-core:59511] [Bug #9354] - -Tue Jan 7 10:16:02 2014 Eric Hodel - - * lib/rubygems: Update to RubyGems master 21e409d / RubyGems 2.2.1. - - See http://rubygems.rubyforge.org/rubygems-update/History_txt.html - for a list of bug fixes. - - * test/rubygems: ditto. - -Tue Jan 7 10:10:46 2014 Eric Wong - - * ext/json/generator/depend: add build dependencies for json extension - [Bug #9374] [ruby-core:59609] - * ext/json/parser/depend: ditto - -Tue Jan 7 04:35:46 2014 Aman Gupta - - * array.c (ary_add_hash): Fix consistency issue between Array#uniq and - Array#uniq! [Bug #9340] [ruby-core:59457] - * test/ruby/test_array.rb (class TestArray): regression test for above. - -Mon Jan 6 21:28:48 2014 Kazuhiro NISHIYAMA - - * .gitignore: ignore *-fake.rb generated even when CROSS_COMPILING = no - since r42862. - -Sun Jan 5 20:14:14 2014 Benoit Daloze - - * compar.c (cmp_equal): remove error hiding in Comparable#==. - Comparable#== no longer rescues exceptions silently. - This was the cause of quite a couple bugs. See #7688. [EXPERIMENTAL] - - * test/ruby/test_comparable.rb: adapt assertion to match new behavior. - - * lib/rdoc/method_attr.rb: fix bugs discovered by this change. - - * test/rdoc/test_rdoc_normal_class.rb: fix bugs in tests. - -Sat Jan 4 22:44:00 2014 Charlie Somerville - - * struct.c (rb_struct_set): return assigned value from setter method - rather than struct object. [Bug #9353] [ruby-core:59509] - - * test/ruby/test_struct.rb (test_setter_method_returns_value): add test - -Sat Jan 4 21:44:31 2014 Kazuhiro NISHIYAMA - - * test/ruby/test_gc.rb (TestGc#test_latest_gc_info): use - GC.stat(:key) instead of GC.stat. - -Sat Jan 4 19:15:29 2014 Nobuyoshi Nakada - - * ext/socket/socket.c (rsock_syserr_fail_host_port): use format flags, - '+' to inspect, ' ' to quote unprintables. - - * ext/socket/socket.c (rsock_syserr_fail_path): ditto. - - * ext/socket/socket.c (rsock_syserr_fail_raddrinfo): ditto. - - * ext/socket/socket.c (rsock_syserr_fail_host_port): add errno - argument version and use rb_syserr_fail_str() instead of - rb_sys_fail_str() with restoring errno. - - * ext/socket/socket.c (rsock_syserr_fail_path): ditto, and - rb_syserr_fail(). - - * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use - rsock_syserr_fail_raddrinfo(). - - * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto. - - * ext/socket/socket.c (setup_domain_and_type): ditto. - -Sat Jan 4 17:18:58 2014 Kazuki Tsujimoto - - * vm.c (RubyVM::OPTS): get rid of a garbage character. - -Sat Jan 4 10:17:54 2014 Eric Hodel - - * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use - ipv4_multicast_ttl option for portability. - -Sat Jan 4 10:15:47 2014 Eric Hodel - - * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use - ipv4_multicast_loop option for portability. Patch by Jeremy Evans. - [ruby-trunk - Bug #9351] - -Fri Jan 3 19:09:00 2014 Eric Wong - - * ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errno - before calling rb_sys_fail_str to prevent [BUG] errno == 0. - Patch by Eric Wong. [ruby-core:59498] [Bug #9352] - - * ext/socket/socket.c (rsock_sys_fail_path): ditto - * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto - * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto - * ext/socket/socket.c (rsock_sys_fail_raddrinfo_or_sockaddr): ditto - -Fri Jan 3 10:43:57 2014 Aman Gupta - - * test/net/imap/cacert.pem: generate new CA cert, since the last one - expired. [Bug #9341] [ruby-core:59459] - * test/net/imap/server.crt: new server cert signed with updated CA. - * test/net/imap/Makefile: add `make regen_certs` to automate this - process. - -Fri Jan 3 00:09:54 2014 Benoit Daloze - - * ext/bigdecimal: update class method call style from :: to . - in documentation and usage. - - * ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values. - Computations were made using ruby 2.0.0p247 to ensure - no effect of the recent BigDecimal bug. - - * ext/bigdecimal/sample/nlsolve.rb: fix indent. - -Thu Jan 2 16:07:21 2014 Masaki Matsushita - - * io.c (io_fwrite): freeze converted str. - -Thu Jan 2 04:15:13 2014 Nobuyoshi Nakada - - * eval.c (rb_longjmp): remove an extra modifier from the forward - declaration to match the actual definition. [ruby-core:59451] - [Bug #9338] - -Thu Jan 2 01:23:30 2014 Masaki Matsushita - - * vm_eval.c (method_missing): use ALLOCV_N() instead of - ALLOCA_N() and rb_ary_tmp_new(). - -Thu Jan 2 00:53:16 2014 Masaki Matsushita - - * array.c (rb_ary_zip): use ALLOCV_N() instead of ALLOCA_N(). - -Thu Jan 2 00:04:29 2014 Masaki Matsushita - - * hash.c (rb_hash_keys): make rb_hash_keys() static. - it is no longer used from array.c since r43969. - the patch is from normalperson (Eric Wong). - [ruby-core:59449] [Feature #9336] - - * internal.h: remove definition of rb_hash_keys(). - -Wed Jan 1 18:19:35 2014 Nobuyoshi Nakada - - * configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after - LIBPATHFLAG and RPATHFLAG are set. [ruby-dev:47868] [Bug #9317] - -Wed Jan 1 11:12:29 2014 Nobuyoshi Nakada - - * configure.in: use SSE2 instructions for drop unexpected - precisions. [ruby-core:54738] [Bug #8358] - -Tue Dec 31 23:49:07 2013 Nobuyoshi Nakada - - * eval.c (rb_f_raise): add cause: optional keyword argument. - [ruby-core:58610] [Feature #8257] [EXPERIMENTAL] - -Tue Dec 31 21:44:17 2013 Akio Tajima - - * win32/Makefile.sub: remove HAVE_FSEEKO because fseeko removed from win32/win32.c - Fixed [Bug #9333]. - -Tue Dec 31 21:02:27 2013 Masaki Matsushita - - * io.c (io_fwrite): allocate frozen str only when str is not converted. - -Tue Dec 31 15:44:48 2013 Nobuyoshi Nakada - - * lib/mkmf.rb (RbConfig): expand RUBY_SO_NAME for extensions - backward compatibility. [ruby-core:59426] [Bug #9329] - -Mon Dec 30 23:33:07 2013 Ayumu AIZAWA - - * variable.c: [DOC] adding extra example in docs. - patched by Steve Klabnik. [Bug #9210] - -Mon Dec 30 18:34:18 2013 Nobuyoshi Nakada - - * encoding.c (must_encindex, rb_enc_from_index, rb_obj_encoding): mask - encoding index and ignore dummy flags. [ruby-core:59354] [Bug #9314] - -Mon Dec 30 16:11:52 2013 WATANABE Hirofumi - - * tool/make-snapshot: needs CXXFLAGS. [ruby-core:59393][Bug #9320] - -Sun Dec 29 18:36:54 2013 Shota Fukumori - - * lib/mkmf.rb (configuration): Make CXXFLAGS customizable. - Patch by Kohei Suzuki (eagletmt). [Fixes GH-492] - -Sun Dec 29 12:11:11 2013 Nobuyoshi Nakada - - * proc.c (mnew_from_me): keep iclass as-is, to make inheritance - chain consistent. [ruby-core:59358] [Bug #9315] - - * proc.c (method_owner): return the original defined_class from - prepended iclass, instead. - -Sun Dec 29 08:47:24 2013 Lucas Allan Amorim - - * test/ruby/test_sprintf.rb (test_hash): Added tests for sprintf - with a hash as parameter. [Fixes GH-491] - -Sun Dec 29 07:27:51 2013 Benoit Daloze - - * compar.c (cmp_eq_recursive): Fix the return value, the value for - failed #<=> should be nil. It was raising a NoMethodError for - the test case TestComparable#test_no_cmp (undefined method `>' - for false:FalseClass). Yet one more reason for #7688. - -Sat Dec 28 22:21:59 2013 Benoit Daloze - - * object.c (Kernel#<=>) surround Comparable operators with tags. - The #== method was hidden in ri/rdoc's output and was highlighting - the line instead. - -Sat Dec 28 17:24:00 2013 DV Suresh - - * benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typos - * ext/fiddle/lib/fiddle/import.rb: ditto - * ext/psych/lib/psych.rb: ditto - * ext/psych/lib/psych/nodes/sequence.rb: ditto - * ext/tk/lib/multi-tk.rb: ditto - * ext/tk/lib/tcltk.rb: ditto - -Sat Dec 28 00:42:37 2013 Nobuyoshi Nakada - - * parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to - isolate command argument state from outer scope. - [ruby-core:59342] [Bug #9308] - -Fri Dec 27 13:25:03 2013 NAKAMURA Usaku - - * win32/{setup.mak,Makefile.sub}: update fake.rb like - template/fake.rb.in. - -Thu Dec 26 16:10:41 2013 NAKAMURA Usaku - - * win32/Makefile.sub (fake.rb): should depend on version.h because - if RUBY_VERSION is updated, fake.rb need to say the new version - to avoid install error in rbconfig.rb. - -Thu Dec 26 14:25:03 2013 Nobuyoshi Nakada - - * hash.c (HASH_REJECT_COPY_EXTRA_STATES): turn off the old - behavior, copying extra states by accident. - -Thu Dec 26 10:49:14 2013 Yukihiro Matsumoto - - * version.h (RUBY_VERSION): 2.2.0 development has started. - -Thu Dec 26 10:27:53 2013 NAKAMURA Usaku - - * tool/merger.rb (tag): support 2.1.1 semi-automatic tagging and 2.2.0 - explicit tagging. - -Thu Dec 26 06:35:25 2013 Marc-Andre Lafortune - - * proc.c: Having any mandatory keyword argument increases min arity - [#9299] - -Thu Dec 26 06:27:08 2013 Marc-Andre Lafortune - - * proc.c: Having optional keyword arguments makes maximum arity +1, - not unlimited [#8072] - -Thu Dec 26 01:09:57 2013 NAKAMURA Usaku - - * tool/release.sh: make symbolic links. - -Thu Dec 26 00:45:33 2013 NAKAMURA Usaku - - * tool/make-snapshot: support new version scheme. - -Wed Dec 25 22:44:14 2013 Nobuyoshi Nakada - - * compile.c (iseq_set_arguments): set arg_keyword_check from - nd_cflag, which is set by parser. internal ID is used for - unnamed keyword rest argument, which should be separated from no - keyword check. - - * iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is - present. - - * parse.y (new_args_tail_gen): set keywords check to nd_cflag, which - equals to that keyword rest is not present. - -Wed Dec 25 22:32:19 2013 Zachary Scott - - * lib/abbrev.rb: [DOC] rdoc format patch by Giorgos Tsiftsis [Bug #9146] - -Wed Dec 25 20:30:10 2013 Nobuyoshi Nakada - - * iseq.c (rb_iseq_parameters): push argument type symbol only for - unnamed rest keywords argument. - -Wed Dec 25 20:28:48 2013 Nobuyoshi Nakada - - * proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if - having rest keywords argument. [ruby-core:53298] [Bug #8072] - -Wed Dec 25 18:29:22 2013 Koichi Sasada - - * vm_insnhelper.c (argument_error): insert dummy frame to make - a backtrace object intead of modify backtrace string array. - [Bug #9295] - - * test/ruby/test_backtrace.rb: add a test for this patch. - fix test to compare a result of Exception#backtrace with - a result of Exception#backtrace_locations. - -Wed Dec 25 13:00:54 2013 Nobuyoshi Nakada - - * configure.in: let mingw do something black-magic, and check if - _gmtime64_s() is available actually. - - * win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and - _localtime64_s() if available, not depending on very confusing - mingw variants macros. based on the patch by phasis68 (Heesob - Park) at [ruby-core:58764]. [ruby-core:58391] [Bug #9119] - -Wed Dec 25 12:33:41 2013 Yusuke Endoh - - * sample/trick2013/: added the award-winning entries of TRICK 2013. - See https://github.com/tric/trick2013 for the contest outline. - (Matz has approved the attachment.) - -Wed Dec 25 10:42:02 2013 Yamashita Yuu - - * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Declare a constant - `OP_MSIE_SSLV2_RSA_PADDING` only if the macro is defined. The - `SSL_OP_MSIE_SSLV2_RSA_PADDING` has been removed from latest - snapshot of OpenSSL 1.0.1. [Fixes GH-488] - -Wed Dec 25 01:03:00 2013 Nobuyoshi Nakada - - * proc.c (bind_local_variables): allowing binding to list its - local variables. patch by Jack Danger Canty at [ruby-core:56543]. [Feature #8773] - -Tue Dec 24 23:20:38 2013 Nobuyoshi Nakada - - * test/fileutils/fileasserts.rb (assert_ownership_user): new - assertion for user ownership. - - * test/fileutils/test_fileutils.rb (test_chown_error), - (test_chown_without_permission, test_chown_with_root): - based on the patch by vajrasky (Vajrasky Kok) at - [ruby-core:59298]. [Feature #9292] - -Tue Dec 24 16:28:05 2013 Nobuyoshi Nakada - - * proc.c (rb_mod_define_method): consider visibility only if self - in the caller is same as the receiver, otherwise make public as - well as old behavior. [ruby-core:57747] [Bug #9005] - [ruby-core:58497] [Bug #9141] - - * vm.c (rb_vm_cref_in_context): return ruby level cref if self is - same. - -Tue Dec 24 14:13:14 2013 Koichi Sasada - - * README.EXT: add a refer to URL. - -Tue Dec 24 13:48:45 2013 Koichi Sasada - - * README.EXT: add a document about RGenGC. - Reviewed by havenwood. - [misc #8962] - - * README.EXT.ja: ditto. - -Tue Dec 24 12:11:43 2013 Koichi Sasada - - * include/ruby/ruby.h (RARRAY_ASET): try to avoid compiler warning. - [Bug #9287] - -Tue Dec 24 05:04:56 2013 NAKAMURA Usaku - - * test/fileutils/test_fileutils.rb (setup): should not call - Process.groups for Windows. get rid of many errors introduced by - r44364. - -Mon Dec 23 18:37:16 2013 Nobuyoshi Nakada - - * test/fileutils/fileasserts.rb (assert_ownership_group): new - assertion for group ownership. - - * test/fileutils/test_fileutils.rb (test_chown{,_verbose,_noop}): - based on the patch by vajrasky (Vajrasky Kok) at - [ruby-core:59281]. [Feature #9286] - -Mon Dec 23 15:53:45 2013 Nobuyoshi Nakada - - * hash.c (HAS_EXTRA_STATES): warn extra states only when something - differ. [ruby-core:59254] [Bug #9275] - -Mon Dec 23 12:42:13 2013 Marc-Andre Lafortune - - * array.c: Have to_h raise on elements that are not key-value pairs - [#9239] - - * enum.c: ditto - -Mon Dec 23 05:01:55 2013 Zachary Scott - - * doc/syntax/methods.rdoc: [DOC] Added example for underscore - conventions in method names. Also added doc to clarify encoding - character set support for Ruby programs and elaborated on defining - predicate and bang methods. Based on a patch by @gaurish - [Fixes GH-477] https://github.com/ruby/ruby/pull/477 - -Mon Dec 23 03:18:09 2013 Zachary Scott - - * doc/ChangeLog-1.9.3: [DOC] Fix typos by @dvsuresh - [Fixes GH-485] https://github.com/ruby/ruby/pull/485 - * ext/openssl/ossl_config.c: ditto - * lib/rss/utils.rb, lib/time.rb: ditto - * test/ruby/envutil.rb: ditto - -Sun Dec 22 23:56:56 2013 Zachary Scott - - * lib/{rake,rdoc,rss}/*, test/rexml/test_listener.rb: [DOC] Fix typos - by @dvsuresh [Fixes GH-486] https://github.com/ruby/ruby/pull/486 - -Sun Dec 22 11:08:47 2013 Eric Hodel - - * test/rubygems/test_gem_ext_builder.rb: Fix warning due to ambiguous - expression. - -Sun Dec 22 11:05:53 2013 Eric Hodel - - * lib/rubygems/commands/install_command.rb: Restore gem install - --ignore-dependencies for remote gems - * test/rubygems/test_gem_commands_install_command.rb: Test for the - above. - -Sun Dec 22 10:23:40 2013 Eric Hodel - - * lib/rdoc.rb: Set RDoc to release version. - -Sun Dec 22 10:19:07 2013 Eric Hodel - - * lib/rubygems.rb: Set RubyGems to release version. - -Sun Dec 22 10:16:08 2013 Eric Hodel - - * lib/rubygems.rb (module Gem): Fix comment for - Gem::load_path_insert_index. - -Sun Dec 22 04:07:55 2013 Koichi Sasada - - * gc.c (ruby_gc_set_params): don't show obsolete warnings for - RUBY_FREE_MIN/RUBY_HEAP_MIN_SLOTS if - RUBY_GC_HEAP_FREE_SLOTS/RUBY_GC_HEAP_INIT_SLOTS are given. - [Bug #9276] - -Sat Dec 21 13:00:20 2013 Nobuyoshi Nakada - - * file.c: remove unnecessary the source path from EEXIST error - messages and show the destination path only. [ruby-core:59202] - [Feature #9263] - -Sat Dec 21 12:37:19 2013 Nobuyoshi Nakada - - * lib/resolv.rb (Resolv::Hosts#lazy_initialize): should not - consider encodings in hosts file. [ruby-core:59239] [Bug #9273] - - * lib/resolv.rb (Resolv::Config.parse_resolv_conf): ditto. - -Sat Dec 21 05:43:27 2013 NAKAMURA Usaku - - * tool/make-snapshot: replace RUBY_PATCHLEVEL_STR in version.h to - show users that this ruby is a preview/rc version. - -Sat Dec 21 05:03:49 2013 NAKAMURA Usaku - - * win32/Makefile.sub (fake.rb): fixed wrong RUBY_PLATFORM, to correctly - install win32.h. - [ruby-core:58801][Bug #9199] reported by arton. - +For the changes before 2.2.0, see doc/ChangeLog-2.2.0 For the changes before 2.1.0, see doc/ChangeLog-2.1.0 For the changes before 2.0.0, see doc/ChangeLog-2.0.0 For the changes before 1.9.3, see doc/ChangeLog-1.9.3 diff --git a/NEWS b/NEWS index b4ef080249..e4520968e5 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ # -*- rdoc -*- -= NEWS for Ruby 2.2.0 += NEWS for Ruby 2.3.0 This document is a list of user visible feature changes made between releases except for bug fixes. @@ -9,348 +9,22 @@ Note that each entry is kept so brief that no reason behind or reference information is supplied with. For a full list of changes with all sufficient information, see the ChangeLog file. -== Changes since the 2.1.0 release +== Changes since the 2.2.0 release === Language changes -* nil/true/false - * nil/true/false objects are frozen. [Feature #8923] - -* Hash literal - * Symbol key followed by a colon can be quoted. [Feature #4276] - -* default argument - fixed a very longstanding bug that an optional argument was not - accessible in its default value expression. [Bug #9593] - === Core classes updates (outstanding ones only) -* Binding - * New methods: - * Binding#local_variables - * Binding#receiver - -* Dir - * New methods: - * Dir#fileno - -* Enumerable - * New methods: - * Enumerable#slice_after - * Enumerable#slice_when - * Extended methods: - * min, min_by, max and max_by supports optional argument to return - multiple elements. - -* Float - * New methods: - * Float#next_float - * Float#prev_float - -* File - * New methods: - * File.birthtime - * File#birthtime - -* File::Stat - * New methods: - * File::Stat#birthtime - -* GC - * GC.latest_gc_info returns :state to represent current GC status. - * Improvements - * Introduce incremental marking for major GC. [Feature #10137] - -* IO - * Improvements - * IO#nonblock_read and IO#nonblock_write for pipes on Windows are supported. - -* Kernel - * New methods: - * Kernel#itself - * Improvements - * Kernel#throw raises UncaughtThrowError, subclass of ArgumentError when - there is no corresponding catch block, instead of ArgumentError. - -* Process - * Extended method: - * Process execution methods such as Process.spawn opens the file in write - mode for redirect from [:out, :err]. - -* String - * New methods: - * String#unicode_normalize - * String#unicode_normalize! - * String#unicode_normalized? - -* Symbol - * Improvements - * Most symbols which are returned by String#to_sym and - String#intern are GC-able. - -* Method - * New methods: - * Method#curry([arity]) returns a curried Proc. - * Method#super_method returns a Method of superclass, which would be called - when super is used. - === Core classes compatibility issues (excluding feature bug fixes) -* Enumerable - * Enumerable#slice_before's state management deprecated. - * Enumerable#chunk's state management deprecated. - -* GC - * incompatible changes: - * Rename GC.stat entries. [Feature #9924] - See https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing - -* IO - * incompatible changes: - * When flushing file IO with IO#flush, you cannot assume that the metadata - of the file is updated immediately. On some platforms (especially - Windows), it is delayed until the filesystem load is decreased. - Use IO#fsync if you want to guarantee updating metadata. - -* Math - * incompatible changes: - * Math.log now raises Math::DomainError instead of returning NaN if the - base is less than 0, and returns NaN instead of -infinity if both of - two arguments are 0. - * Math.atan2 now returns values like as expected by C99 if both two - arguments are infinity. - -* Proc - * incompatible changes: - * ArgumentError is no longer raised when lambda Proc is passed as a - block, and the number of yielded arguments does not match the formal - arguments of the lambda, if just an array is yielded and its length - matches. - -* Process - * Process execution methods such as Process.spawn opens the file in write - mode for redirect from [:out, :err]. - Before Ruby 2.2, it was opened in read mode. - === Stdlib updates (outstanding ones only) -* Continuation - * callcc is obsolete. use Fiber instead. - -* Digest - - * Digest() should now be thread-safe. If you have a problem with - regard to on-demand loading under a multi-threaded environment, - preload "digest/*" modules on boot or use this method instead of - directly referencing Digest::*. - * Digest::HMAC has been removed just as previously noticed. - -* DL - * DL has been removed from stdlib. Please use Fiddle instead! - -* Etc - * New methods: - * Etc.uname - * Etc.sysconf - * Etc.confstr - * IO#pathconf - * Etc.nprocessors - -* Find, Pathname - * Extended methods: - * find method accepts "ignore_error" keyword argument. - -* Matrix - * New methods: - * Matrix#first_minor(row, column) returns the submatrix obtained - by deleting the specified row and column. - * Matrix#cofactor(row, column) returns the (row, column) cofactor - which is obtained by multiplying the first minor by (-1)**(row + column). - * Matrix#adjugate returns the adjugate of the matrix. - * hstack and vstack are new instance and class methods to stack matrices - horizontally and vertically. - * Matrix#laplace_expansion(row_or_column: num) returns the laplace_expansion - along the +num+ -th row or column. - * Vector.basis(size:, index:) returns the specified basis vector. - * Unary - and + added for Vector and Matrix. - * Vector#cross_product generalized to arbitrary dimensions. - * Vector#dot and #cross are aliases for #inner_product and #cross_product. - * Vector#angle_with returns the angle with its argument - * New instance and class method independent? to test linear independence. - -* Pathname - * Pathname#/ is aliased to Pathname#+. - * New methods: - * Pathname#birthtime - -* Rake - * Updated to Rake 10.4.0. For full release notes see: - - http://docs.seattlerb.org/rake/History_rdoc.html#label-10.4.0 - -* RubyGems - * Updated to RubyGems 2.4.2. For full release notes see: - - http://docs.seattlerb.org/rubygems/History_txt.html#label-2.4.2+%2F+2014-10-01 - -* TSort - * TSort.tsort_each, TSort.each_strongly_connected_component and - TSort.each_strongly_connected_component_from returns an enumerator if - no block given. - -* XMLRPC - * Added new parser class named LibXMLStreamParser. - === Stdlib compatibility issues (excluding feature bug fixes) -* lib/mathn.rb - * Show deprecated warning [Feature #10169] - -* ext/date/lib/date/format.rb - * Removed because it's empty file. - -* Digest - * Digest::HMAC has finally ceased to exist. Use OpenSSL::HMAC or an external gem instead. - -* time.rb - * Time.parse, Time.strptime, Time.rfc2822, Time.xmlschema may produce - fixed-offset Time objects. - It is happen when usual localtime doesn't preserve the offset from UTC. - * Time.httpdate produces always UTC Time object. - * Time.strptime raises ArgumentError when no date information. - -* lib/rational.rb - * Removed because it is deprecated from 2009. - -* lib/complex.rb - * Removed because it is deprecated from 2009. - -* lib/prettyprint.rb - * Removed PrettyPrint#first? - -* lib/minitest/*.rb - * Removed because it conflicts to minitest 5. [Feature #9711] - -* lib/test/**/*.rb - * Removed because it conflicts to minitest 5, and it was just an wrapper - of minitest 4. [Feature #9711] - -* lib/uri - * support RFC 3986. [Feature #2542] - -* GServer - * GServer is extracted to gserver gem. It's unmaintain code. - -* Logger - * Logger::Application is extracted to logger-application gem. It's unmaintain code. - -* ObjectSpace (after requiring "objspace") - * ObjectSpace.memsize_of(obj) returns a size includes sizeof(RVALUE). - [Bug #8984] - -* Prime - * incompatible changes: - * Prime.prime? now returns false for negative numbers. This method - should not be used to know the number is composite or not. [Bug #7395] - -* Psych - * Removed Psych::EngineManager [Bug #8344] - === Built-in global variables compatibility issues === C API updates -* Deprecated APIs removed. [Feature #9502] - - Check_SafeStr -> SafeStringValue - rb_check_safe_str -> SafeStringValue - rb_quad_pack -> rb_integer_pack - rb_quad_unpack -> rb_integer_unpack - rb_read_check : access struct FILE internal. no replacement. - rb_struct_iv_get : internal function. no replacement. - struct rb_blocking_region_buffer : internal type. no replacement. - rb_thread_blocking_region_begin -> rb_thread_call_without_gvl family - rb_thread_blocking_region_end -> rb_thread_call_without_gvl family - TRAP_BEG -> rb_thread_call_without_gvl family - TRAP_END -> rb_thread_call_without_gvl family - rb_thread_select -> rb_thread_fd_select - struct rb_exec_arg : internal type. no replacement. - rb_exec : internal function. no replacement. - rb_exec_arg_addopt : internal function. no replacement. - rb_exec_arg_fixup : internal function. no replacement. - rb_exec_arg_init : internal function. no replacement. - rb_exec_err : internal function. no replacement. - rb_fork : internal function. no replacement. - rb_fork_err : internal function. no replacement. - rb_proc_exec_n : internal function. no replacement. - rb_run_exec_options : internal function. no replacement. - rb_run_exec_options_err : internal function. no replacement. - rb_thread_blocking_region -> rb_thread_call_without_gvl family - rb_thread_polling -> rb_thread_wait_for - rb_big2str0 : internal function. no replacement. - rb_big2ulong_pack -> rb_integer_pack - rb_gc_set_params : internal function. no replacement. - rb_io_mode_flags -> rb_io_modestr_fmode - rb_io_modenum_flags -> rb_io_oflags_fmode - -* struct RBignum is hidden. [Feature #6083] - Use rb_integer_pack and rb_integer_unpack instead. - -* struct RRational is hidden. [Feature #9513] - Use rb_rational_num and rb_rational_den instead. - -* rb_big_new and rb_big_resize takes a size_t instead of long. - -* rb_num2long returns a long instead of SIGNED_VALUE. - -* rb_num2ulong returns an unsigned long instead of VALUE. - -* st hash table uses power-of-two sizes for speed [Feature #9425]. - Lookups are 10-25% faster if using appropriate hash functions. - However, weaknesses in hash distribution can no longer be masked - by prime number-sized tables, so extensions may need to tweak - hash functions to ensure good distribution. - -* rb_sym2str() added. This is almost same as `rb_id2str(SYM2ID(sym))` - but not pinning a dynamic symbol. - -* rb_str_cat_cstr() added. This is same as `rb_str_cat2()`. - -* `rb_str_substr()` and `rb_str_subseq()` will share middle of a string, - but not only the end of a string, in the future. Therefore, result - strings may not be NUL-terminated, `StringValueCStr()` is needed - calling to obtain a NUL-terminated C string. - -* rb_tracepoint_new() supports new internal events accessible only from C: - * RUBY_INTERNAL_EVENT_GC_ENTER - * RUBY_INTERNAL_EVENT_GC_EXIT - r47528 - -* rb_hash_delete() now does not call the block given to the current method. - -* rb_extract_keywords() and rb_get_kwargs() exported. See README.EXT - for details. - === Build system updates -* jemalloc is optionally supported via `./configure --with-jemalloc` - jemalloc may be suitable when system malloc is slow or prone - to fragmentation. [Feature #9113] - === Implementation changes - -* GC - * Most symbols which are returned by String#to_sym and - String#intern are GC-able [Feature #9634] - * Introduce incremental marking for major GC. [Feature #10137] - * Enable lazy sweep on GC caused by malloc(). - -* VM - * Use frozen string literals for Hash#[] and Hash#[]= - * Fast keyword arguments passing [Feature #10440] - * Allow to receive huge splatted array by a rest argument - [Feature #10440] - -* Process - * Process creation methods, such as spawn(), uses vfork() system call. - vfork() is faster than fork() when the parent process uses huge memory. diff --git a/doc/ChangeLog-2.2.0 b/doc/ChangeLog-2.2.0 new file mode 100644 index 0000000000..5a7dbf826d --- /dev/null +++ b/doc/ChangeLog-2.2.0 @@ -0,0 +1,12157 @@ +Thu Dec 25 16:01:19 2014 Nobuyoshi Nakada + + * file.c (rb_file_expand_path_internal): drop characters ignored + by filesystem on Mac OS X. + +Thu Dec 25 15:36:15 2014 Nobuyoshi Nakada + + * dir.c (replace_real_basename): get the real name and replace the + base name with it by getattrlist(2) if available. + suggested by Matthew Draper at [ruby-core:67116]. [Bug #10015] + + * dir.c (glob_helper): get the real name of the whole path, not + only the last name. + +Thu Dec 25 13:59:17 2014 Nobuyoshi Nakada + + * configure.in (NET_LUID): include also ifdef.h as a workaround of + a bug in mingw-w64 header. [ruby-core:67103] [Bug #10640] + +Thu Dec 25 12:47:44 2014 Nobuyoshi Nakada + + * parse.y (gettable_gen): warn possible reference to a local + variable defined in a past scope. + +Thu Dec 25 10:09:14 2014 Nobuyoshi Nakada + + * ext/io/console/console.c (console_dev): id_console is not a + constant name, use rb_const_remove() to get rid of NameError. + +Thu Dec 25 09:18:55 2014 NAKAMURA Usaku + + * test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address): + set timeout for recvfrom because if client thread is crashed, it + waits infinity. + +Thu Dec 25 08:42:11 2014 Eric Wong + + * lib/uri/generic.rb (split_userinfo): fstring for 1-byte split + (set_port): reduce bytecode size + (check_path): reduce garbage via opt_str_freeze + (query=): ditto + (fragment=): ditto + [misc #10628] + * lib/uri/rfc3986_parser.rb (regexp): cache as attr + (initialize): setup and freeze regexp attr once + (split): reduce bytecode size, use opt_str_freeze + (parse): minor bytecode and garbage reduction + (default_regexp): rename for initialize + +Wed Dec 24 20:38:16 2014 Nobuyoshi Nakada + + * dir.c (glob_make_pattern): restrict searching case-insensitive + name from the filesystem to only last part, for the performance. + [ruby-core:63591] [Bug #10015] + +Wed Dec 24 18:21:27 2014 Koichi Sasada + + * gc.c: remove unused rb_objspace_t::rgengc::old_objects_at_gc_start. + +Wed Dec 24 13:25:22 2014 NARUSE, Yui + + * tool/redmine-backporter.rb: require view_changesets permission. + +Wed Dec 24 13:00:24 2014 Nobuyoshi Nakada + + * tool/downloader.rb (Downloader.download): fix the exception to + re-raise. initialize methods of subclasses of Exception may + have different parameters. [ruby-core:67086] [Bug #10639] + +Wed Dec 24 12:16:19 2014 Nobuyoshi Nakada + + * ruby.h (rb_data_type_t): revert r48647 and revise parent member. + [ruby-core:66969] [Bug #10621] + +Wed Dec 24 05:40:52 2014 NARUSE, Yui + + * tool/downloader.rb: use config.guess in gcc repo. + +Wed Dec 24 11:50:19 2014 Koichi Sasada + + * hash.c (rb_hash_delete): return Qnil if there are no corresponding + entry. [Bug #10623] + + * hash.c (rb_hash_delete_entry): try delete and return Qundef if there + are no corresponding entry. + + * internal.h: add rb_hash_delete_entry()'s declaration. + + * symbol.c: use rb_hash_delete_entry(). + + * thread.c: use rb_hash_delete_entry(). + + * ext/-test-/hash/delete.c: use rb_hash_delete_entry(). + +Wed Dec 24 09:35:11 2014 NAKAMURA Usaku + + * ext/fiddle/extconf.rb: remove ffitarget.h generated by configure on + mswin, because it's not normal file (cygwin's symlink) and have + system attribute. + +Wed Dec 24 05:40:52 2014 NARUSE, Yui + + * tool/downloader.rb: support ruby 1.8. + +Wed Dec 24 02:44:06 2014 NARUSE, Yui + + * lib/net/http/response.rb (Net::HTTPResponse): require one or more + spaces [Bug #10591]. + by leriksen + https://github.com/ruby/ruby/pull/782 fix GH-782 + NOTE: graph.facebook.com returns without SP Reason-Phrase. + +Wed Dec 24 02:12:22 2014 Nobuyoshi Nakada + + * tool/make-snapshot (package): VCS#branch_list expects glob a + pattern string but not a regexp. based on the patch by Vit + Ondruch. in [ruby-core:67064]. [Bug #10636] + + * tool/vcs.rb (VCS::SVN#branch_list): strip newlines. + + * tool/vcs.rb (VCS::GIT.get_revisions): retrieve modified time + from toplevel log too. + + * tool/vcs.rb (VCS::GIT#branch_list): yield for each lines. + +Wed Dec 24 00:23:13 2014 NAKAMURA Usaku + + * tool/extlibs.rb (do_extract): the pipe should be binmode. + +Wed Dec 24 00:21:44 2014 NAKAMURA Usaku + + * Makefile.in, common.mk: move common-srcs to Makefile.in because + it breaks build on mswin. + +Wed Dec 24 00:04:45 2014 NAKAMURA Usaku + + * lib/open-uri.rb (OpenURI.open_http): accept multiple certs path in + ssl_ca_certs. + + * tool/downloader.rb: use certs of rubygems for downloading gems. + +Tue Dec 23 22:39:11 2014 Nobuyoshi Nakada + + * ext/fiddle/extlibs: libffi-3.2.1 and patch for mswin. + +Tue Dec 23 22:04:38 2014 NARUSE, Yui + + * lib/uri/generic.rb (URI::Generic#query=): don't escape [\]^ + on both rfc2396 and rfc3986. [Bug #10619] + +Tue Dec 23 16:03:35 2014 Nobuyoshi Nakada + + * ext/win32/lib/win32/registry.rb (Win32::Registry::Error#initialize): + try en_US message if the default message cannot be encoded to + locale. [ruby-core:65295] [Bug #10300] + +Tue Dec 23 11:42:14 2014 Nobuyoshi Nakada + + * ext/openssl/ossl_cipher.c (ossl_cipher_update_long): update huge + data gradually not to exceed INT_MAX. workaround of OpenSSL API + limitation. [ruby-core:67043] [Bug #10633] + +Mon Dec 22 21:30:16 2014 Masaki Suketa + + * test/win32ole/test_win32ole_event.rb: some tests are + executed on standard Windows OS without ADO. + +Mon Dec 22 14:08:31 2014 Nobuyoshi Nakada + + * signal.c (received_signal): fix condition to define. + [ruby-core:67032] [Bug #10629] + +Sun Dec 21 10:51:51 2014 Masaki Suketa + + * test/win32ole/test_win32ole_event.rb: test_s_new_exception is + executed on standard Windows OS without ADO. + +Sun Dec 21 08:35:26 2014 Nobuyoshi Nakada + + * configure.in (jemalloc): fix option argument, should use + `$withval` but not `yes` always. [ruby-core:66994] [Bug #10625] + + * configure.in (jemalloc): defer adding the liner option to get + rid of linking contest against jemalloc, so that it works + without runtime dynamic load path. + +Sat Dec 20 17:49:03 2014 Tanaka Akira + + * lib/tmpdir.rb (Dir.mktmpdir): Accept nil again, as Ruby 2.1. + [ruby-core:66943] [Bug #10616] Fixed by Alex Slynko. + +Sat Dec 20 11:22:58 2014 Nobuyoshi Nakada + + * ext/fiddle/depend, ext/fiddle/extconf.rb: try to build bundled + libffi if existing. + +Sat Dec 20 05:21:00 2014 Eric Wong + + * test/test_weakref.rb (test_repeated_object_leak): increase timeout + [Bug #10618] + +Fri Dec 19 22:33:13 2014 Tanaka Akira + + * tool/update-deps: Use $(hdrdir) if possible. + +Fri Dec 19 22:10:00 2014 Kenta Murata + + * ext/bigdecimal/depend: Fix dependencies to make bigdecimal + installable by rubygems. + + * ext/bigdecimal/bigdecimal.gemspec: version 1.2.6. + +Fri Dec 19 20:00:19 2014 Nobuyoshi Nakada + + * include/ruby/ruby.h (PRIsVALUE): put a space after string + literals not to be confused with C++11 string literal suffix. + https://github.com/ruby/ruby/commit/a9f3eb7#commitcomment-9040169 + +Fri Dec 19 15:36:02 2014 Simon Genier + + * hash.c (hash_equal): prefer true than the result of implicit + conversion from int returned by rb_eql() to VALUE. [Fix GH-789] + +Thu Dec 18 17:45:26 2014 Nobuyoshi Nakada + + * configure.in (rb_cv_binary_elf): get rid of -e option of cat + which is not available on BusyBox, use tr instead. + [ruby-core:64824] [Bug #10210] + +Thu Dec 18 14:25:17 2014 NAKAMURA Usaku + + * signal.c (ruby_signal): since SIGKILL is not supported by MSVCRT, + should be treated before calling signal(3). + [Bug #10615] + +Wed Dec 17 12:20:56 2014 Nobuyoshi Nakada + + * compile.c (rb_method_for_self_aref, rb_method_for_self_aset): + move from iseq.c to build from node instead of arrays. + +Wed Dec 17 10:50:09 2014 SHIBATA Hiroshi + + * test/gdbm/test_gdbm.rb: Added test for each_key called without a block. + Patch by @joeyates [fix GH-783] + +Wed Dec 17 10:18:42 2014 Koichi Sasada + + * compile.c (iseq_compile_each): check + iseq->compile_data->option->specialized_instruction for opt_* insn. + + * test/ruby/test_iseq.rb: check no specialized_instructions option. + +Wed Dec 17 09:48:57 2014 Eric Wong + + * compile.c (iseq_compile_each): only emit opt_str_freeze, + opt_aref_with, and opt_aset_with insn when no block is given + [Bug #10557] [ruby-core:66595] + * test/ruby/test_optimization.rb (test_block_given_aset_aref): + new test for bug thanks to Bartosz Kopinski. + (test_string_freeze): additional assertion for object_id + +Wed Dec 17 01:06:47 2014 NAKAMURA Usaku + + * ext/win32/lib/Win32API.rb (Win32API#call): need to splat. hmm, when + was this broken? + +Tue Dec 16 15:18:23 2014 Nobuyoshi Nakada + + * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): call + accessor functions directly, not to be affected by [] and []= + methods. [ruby-core:66846] [Bug #10601] + + * struct.c (define_aref_method, define_aset_method): ditto. + + * vm_insnhelper.c (rb_vm_opt_struct_aref, rb_vm_opt_struct_aset): + direct accessors of Struct. + +Tue Dec 16 12:01:29 2014 Koichi Sasada + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): + extend timeout seconds to 60 for RGENGC_CHECK_MODE > 0 environment. + +Tue Dec 16 08:53:12 2014 Eric Wong + + * tool/vcs.rb: fix Ruby 1.8 compatibility harder + +Tue Dec 16 07:37:18 2014 Eric Wong + + * gc.c (GC_HEAP_FREE_SLOTS): move definition to match use order + (RUBY_GC_HEAP_GROWTH_SLOTS): s/factor/number of slots/ + + * man/ruby.1: add section for GC environment variables + [Feature #10197] + +Tue Dec 16 05:41:46 2014 Eric Wong + + * tool/vcs.rb: fix Ruby 1.8 compatibility + +Mon Dec 15 17:51:28 2014 Koichi Sasada + + * ext/objspace/objspace.c: ObjectSpace.memsize_of(obj) returns + with sizeof(RVALUE). [Bug #8984] + + * gc.c (obj_memsize_of): ditto. + + * NEWS: add a NEWS entry. + + * test/objspace/test_objspace.rb: catch up this fix. + + * test/ruby/test_file_exhaustive.rb: ditto. + +Mon Dec 15 16:19:23 2014 Nobuyoshi Nakada + + * string.c (rb_enc_str_coderange): dummy wchar, non-endianness + encoding string cannot be ascii only. + [ruby-core:66835] [Bug #10598] + +Sun Dec 14 20:11:42 2014 Nobuyoshi Nakada + + * parse.y (primary): restore current_arg so that circular + reference after a method definition is also warned. + [ruby-core:61299] [Bug #9593] + +Sat Dec 13 20:41:55 2014 Nobuyoshi Nakada + + * vm_trace.c (rb_postponed_job_flush): mask signal trap interrupt + too to defer handling after finalizers finished. + [ruby-core:66825] [Bug #10595] + +Sat Dec 13 18:33:25 2014 SHIBATA Hiroshi + + * test/openssl/test_pkey_ec.rb: ignored tests with old OpenSSL. + +Sat Dec 13 18:01:57 2014 Nobuyoshi Nakada + + * signal.c (check_stack_overflow): check sp also on i386/x86_64 + FreeBSD. + +Sat Dec 13 09:58:41 2014 Eric Wong + + * gc.c (define_final0): avoid duplicate blocks + [Bug #10537] + * test/test_weakref.rb (test_repeated_object_leak): new test + +Sat Dec 13 04:59:20 2014 Nobuyoshi Nakada + + * bin/erb (ERB::Main#run): get rid of shadowing outer local + variables. [ruby-core:65772] [Feature #10395] + +Fri Dec 12 21:56:44 2014 Kouhei Sutou + + * gems/bundled_gems: Upgrade to test-unit 3.0.8. assert_throw and + assert_nothing_thrown in test-unit 3.0.7 were broken by + UncaughtThrowError change introduced in Ruby 2.2.0 + preview2. These assertions in test-unit 3.0.8 work well with + UncaughtThrowError in Ruby 2.2.0 preview2. + +Fri Dec 12 19:48:55 2014 Nobuyoshi Nakada + + * bin/erb (ARGV.switch, ERB::Main#run): allow variables to be set + from the command line. [ruby-core:65772] [Feature #10395] + +Fri Dec 12 19:31:44 2014 Nobuyoshi Nakada + + * lib/erb.rb (ERB#lineno): accessor for line number to eval. + + * lib/erb.rb (ERB#location=): setter of file name and line number. + +Fri Dec 12 13:09:13 2014 Koichi Sasada + + * gc.c (gc_latest_gc_info): return :state field to show current + GC state (none/marking/sweeping). + [Feature #10590] + +Fri Dec 12 10:49:18 2014 Nobuyoshi Nakada + + * string.c (rb_str_crypt): check arguments more strictly. + * crypt() is not for wide char strings + * salt bytes should not be NUL + +Fri Dec 12 08:16:01 2014 Matt Hoyle + + * io.c (io_read) Fix spelling in docco for read. [Fix GH-781] + try > tries + +Thu Dec 11 19:06:01 2014 Koichi Sasada + + * class.c (class_alloc): Start from age == 2. + Class and Module objects can be living long life. + + * iseq.c: Same for ISeq objects. + + * gc.c (RVALUE_AGE_RESET): added. + + * gc.c (newobj_of): allow to generate (age != 0) objects. + + * gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected + objects. + + * include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended + flag. + +Thu Dec 11 05:37:52 2014 Marc-Andre Lafortune + + * lib/prime.rb: Remove useless loop and block capture. + See [#10354] + +Thu Dec 11 04:27:24 2014 Koichi Sasada + + * vm_core.h: introduce new field + rb_thread_t::local_storage_recursive_hash_for_trace to store + recursive hash to avoid creating new recursive (nested) hashes + for each trace events. + [Bug #10511] + + * vm_trace.c (rb_threadptr_exec_event_hooks_orig): use it. + + * cont.c: catch up this fix. + + * vm.c (rb_thread_mark): ditto. + +Wed Dec 10 13:39:27 2014 Nobuyoshi Nakada + + * struct.c (define_aref_method, define_aset_method): use iseq + VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD + makes sense only for local variables. [Feature #10575] + +Wed Dec 10 09:38:40 2014 Nobuyoshi Nakada + + * thread.c (exec_recursive): use the same last method name as + recursive_push in the error message when recursive_pop failed. + [ruby-core:66742] [Bug #10579] + +Wed Dec 10 02:48:46 2014 NAKAMURA Usaku + + * test/net/http/test_https.rb + (TestNetHTTPS#test_certificate_verify_failure): on Windows, + Errno::ECONNRESET will be raised when the verify is failure at the + client side, and it'll be eaten by WEBrick. + + * test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure): + ditto. + +Wed Dec 10 00:42:13 2014 Eric Wong + + * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): + new methods to generate bytecode for struct.c + [Feature #10575] + * struct.c (rb_struct_ref, rb_struct_set): remove + (define_aref_method, define_aset_method): new functions + (setup_struct): use new functions + * test/ruby/test_struct.rb: add test for struct >10 members + * benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark + * benchmark/bm_vm2_struct_big_aref_lo.rb: ditto + * benchmark/bm_vm2_struct_big_aset.rb: ditto + * benchmark/bm_vm2_struct_small_aref.rb: ditto + * benchmark/bm_vm2_struct_small_aset.rb: ditto + +Tue Dec 9 20:24:41 2014 SHIBATA Hiroshi + + * string.c: [DOC] Add missing documentation around String#chomp. + Patch by @stderr [ci skip][fix GH-780] + +Tue Dec 9 18:20:02 2014 Nobuyoshi Nakada + + * object.c: [DOC] Revise documentation by Marcus Stollsteimer at + [ruby-core:66368]. [Bug #10526] + + * #inspect: be more specific about generated string, remove + obsolete example. + * #nil?: use code examples instead of different call-seq's. + * #tap: clarify what is yielded. + * Integer(): be more specific about to_int and to_i, remove + reference to Ruby 1.8. + * Array(): fix error. + * Class: fix variable name style and indentation in example. + * improve consistency, fix typos and formatting. + +Tue Dec 9 12:48:32 2014 Josef Simanek + + * vm_eval.c (rb_eval_string_wrap): [DOC] Fix `rb_eval_string_wrap` + documentation. It is referencing `require` instead of `load`. + The former does not have the optional argument. [Fix GH-779] + +Tue Dec 9 10:16:24 2014 Nobuyoshi Nakada + + * eval.c (rb_frame_last_func): return the most recent frame method + name. + + * thread.c (recursive_list_access): use the last method name, + instead of the current method name which can be unset in some + cases, not to use a symbol by the invalid ID. + [ruby-core:66742] [Bug #10579] + +Sun Dec 7 19:36:12 2014 Kazuki Tsujimoto + + * ext/socket/basicsocket.c, ext/socket/sockssocket.c: + remove code for $SAFE=4. + +Sun Dec 7 10:20:55 2014 Eric Hodel + + * lib/rdoc: Update to RDoc 4.2.0. + * test/rdoc: ditto. + +Sun Dec 7 09:52:30 2014 Eric Hodel + + * lib/rubygems: Update to RubyGems 2.4.5. + * test/rubygems: ditto. + +Sat Dec 6 10:05:08 2014 Shugo Maeda + + * lib/net/imap.rb: Fix undefined variable usage & refactor/DRY + code. Patch by @aledovsky. [Fixes GH-770] + + * test/net/test_imap.rb: related test. + +Sat Dec 6 10:09:44 2014 Eric Wong + + * thread.c (do_select): rename parameters to avoid shadowing + +Sat Dec 6 09:22:45 2014 SHIBATA Hiroshi + + * lib/rake: Update to rake 10.4.2 + * test/rake: ditto. + +Sat Dec 6 06:48:03 2014 Eric Wong + + * compile.c (rb_iseq_build_from_ary): remove misc handling + +Sat Dec 6 06:14:23 2014 Vit Ondruch + + * configure.in (RUBY_LIB_VERSION): Fix --with-ruby-version + configuration option. get rid of quoting in config.status. + + * template/verconf.h.tmpl: quote RUBY_LIB_VERSION here. + [ruby-core:66724] [Bug #10572] + +Sat Dec 6 04:33:52 2014 NAKAMURA Usaku + + * lib/pp.rb (File::Stat#pretty_print): some platforms (such as Windows) + does not have major/minor parts of device. + +Fri Dec 5 22:43:04 2014 SHIBATA Hiroshi + + * ext/psych/lib/psych.rb: bump version to 2.0.8 + * ext/psych/psych.gemspec: ditto. + * ext/psych/psych_emitter.c: ditto. + * ext/psych/psych_parser.c: ditto. + +Fri Dec 5 17:09:09 2014 Nobuyoshi Nakada + + * ext/socket/option.c (inet_ntop): link aliased inet_ntop in + libruby on mswin not rb_w32_inet_ntop which fails to link for + unknown reason. + +Fri Dec 5 11:09:54 2014 Eric Wong + + * iseq.c (prepare_iseq_build): remove unused block_opt param + (rb_iseq_new_with_bopt_and_opt): remove + (rb_iseq_new_with_opt): inline removed function + (rb_iseq_new_with_bopt): remove + (iseq_load): adjust prepare_iseq_build call + [Feature #10565] + +Fri Dec 5 09:46:05 2014 Nobuyoshi Nakada + + * parse.y (parser_yylex): fix lex_state after tLABEL_END, should + be EXPR_LABELARG to be followed by "paren with arg". + [ruby-core:66705] [Feature #4935] + +Fri Dec 5 02:27:47 2014 Nobuyoshi Nakada + + * ext/extmk.rb: as all extension objects including initializations + of ext and enc should be linked to libruby if enable-shared, + EXTOBJS should not be linked to main programs. + [ruby-core:66675] [Bug #10566] + +Thu Dec 4 07:06:02 2014 Eric Wong + + * compile.c (rb_iseq_build_from_exception): entry->sp is unsigned + (iseq_build_callinfo_from_hash): account for kw_arg + (iseq_build_from_ary_body): update for r35459 + (CHECK_STRING, CHECK_INTEGER): remove unused checks + (int_param): new function for checking new `params' hash + (iseq_build_kw): new function for loading rb_iseq_param_keyword + (rb_iseq_build_from_ary): account for `misc' entry and general + structure changes + [Feature #8543] + * iseq.c (CHECK_HASH): new macro (for `misc' and `param' entries) + (iseq_load): account for `misc' and `params' hashes + (iseq_data_to_ary): add final opt to arg_opt_labels, + fix kw support, account for unsigned entry->sp + * ext/-test-/iseq_load/iseq_load.c: new ext for test + * ext/-test-/iseq_load/extconf.rb: ditto + * test/-ext-/iseq_load/test_iseq_load.rb: new test + +Thu Dec 4 06:56:57 2014 Eric Wong + + * iseq.c (iseq_free): avoid segfault on incomplete iseq + * test/ruby/test_syntax.rb (test_invalid_next): new test + for syntax error, not segfault + +Thu Dec 4 04:20:34 2014 Nobuyoshi Nakada + + * load.c (ruby_require_internal): ignore error detail, just return + an error. + +Wed Dec 3 17:13:24 2014 Nobuyoshi Nakada + + * encoding.c (load_encoding): use rb_require_internal instead of + calling rb_require_safe with protection. + +Wed Dec 3 16:47:35 2014 Nobuyoshi Nakada + + * load.c (register_init_ext, ruby_init_ext): defer running the + registered initialization function until required, not to enable + extensions which have global effects just by loading, e.g., + mathn/complex and mathn/rational. fix `make test` with + --with-static-linked-ext. + + * enc/encinit.c.erb (Init_enc): initialize encdb and transdb + directly. + +Wed Dec 3 14:51:26 2014 Nobuyoshi Nakada + + * load.c (ruby_require_internal): separate from rb_require_safe, + not to raise exceptions. + + * ruby.c (process_options): remove unnatural encoding search. + +Wed Dec 3 14:34:07 2014 Nobuyoshi Nakada + + * string.c (setup_fake_str): fake string does not share another + string, but just should not free. + +Wed Dec 3 11:14:14 2014 NAKAMURA Usaku + + * win32/win32.c (w32_spawn): `v2` is used not only for `shell` but also + `cmd`, so must not free before using `cmd`. + [ruby-core:66648] [Bug #10563] + +Wed Dec 3 09:48:57 2014 Nobuyoshi Nakada + + * ext/racc/cparse/cparse.c (cparse_params_type): use typed data. + +Tue Dec 2 21:33:56 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: use typed data for com_hash. + +Tue Dec 2 15:30:30 2014 Martin Duerst + + * array.c (rb_ary_plus): in documentation, added note about + inefficiency of repeated += operations. + +Tue Dec 2 07:20:21 2014 Eric Wong + + * iseq.c (iseq_data_to_ary): keep hidden variables + Thanks to wanabe [ruby-core:66566] + +Tue Dec 2 06:46:57 2014 Aaron Patterson + + * ext/psych/lib/psych.rb: bumping version + + * ext/psych/psych.gemspec: ditto + +Tue Dec 2 06:34:08 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/to_ruby.rb: support objects that are + marshalable, but inherit from basic object. + Thanks Sean Griffin + + * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto + + * test/psych/test_marshalable.rb: test for fix + +Tue Dec 2 06:32:02 2014 Nobuyoshi Nakada + + * parse.y (ripper_flush_string_content): preserve the dispatched + results at tSTRING_CONTENT. [ruby-dev:48714] [Bug #10437] + + * parse.y (regexp_contents): check in ripper only if the whole + content is a single regexp without interpolation. + [ruby-dev:48714] [Bug #10437] + +Tue Dec 2 06:30:55 2014 Nobuyoshi Nakada + + * re.c (rb_reg_region_copy): new function to try with GC if copy + failed and return the error. + +Tue Dec 2 04:43:08 2014 Nobuyoshi Nakada + + * re.c (CHECK_REGION_COPIED): onig_region_copy() can fail when + memory exhausted but returns nothing, so check by if allocated. + +Tue Dec 2 02:53:00 2014 Nobuyoshi Nakada + + * parse.y (magic_comment_encoding): enable in ripper, since the + encoding is necessary to parse non-default encoding scripts. + +Tue Dec 2 02:30:25 2014 NARUSE, Yui + + * lib/uri/generic.rb (URI::Generic.build): + use hostname= to detect and wrap IPv6 hosts. + Build is accepting URI components and users may not expect + that a host component needs to be wrapped with square brackets + since it's not providing a URI. + Note: initialize with arg_check => true does not wrap IPv6 hosts. + by Joe Rafaniello + https://github.com/ruby/ruby/pull/765 fix GH-765 + + * test/uri/test_generic.rb: Add more tests + +Mon Dec 1 20:01:12 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: use typed data for WIN32OLE. + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_event.c: ditto. + +Mon Dec 1 17:20:42 2014 Nobuyoshi Nakada + + * win32/Makefile.sub (verconf.h): so depends on verconf.mk, which + is rebuilt by setup.mak. + +Mon Dec 1 11:05:46 2014 SHIBATA Hiroshi + + * proc.c: fix grammar by @BenMorganIO [fix GH-764][ci skip] + +Mon Dec 1 10:49:53 2014 SHIBATA Hiroshi + + * man/rake.1: Update latest man content by @aledovsky + [fix GH-771][ci skip] + +Mon Dec 1 10:42:31 2014 SHIBATA Hiroshi + + * doc/syntax/refinements.rdoc: refinements are no longer experimental. + patch by @gaurish [fix GH-775][ci skip] + +Sun Nov 30 20:05:55 2014 Nobuyoshi Nakada + + * parse.y (regexp_contents): fix a typo. pointed out by wanabe. + [ruby-dev:48741] [Bug #10543] + +Sun Nov 30 18:55:32 2014 Tanaka Akira + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): + Don't raise Interrupt. + +Sun Nov 30 17:11:05 2014 Tanaka Akira + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): Use + assert_separately. + +Sun Nov 30 00:02:52 2014 Nobuyoshi Nakada + + * ruby.c (process_options, ruby_script): transcode script name and + program name to locale encoding as well as argv. + [ruby-dev:48752] [Bug #10555] + + * ruby.c (translit_char_bin): should not use code page dependent + CharNext on UTF-8 string. [ruby-dev:48752] [Bug #10555] + +Sat Nov 29 16:53:14 2014 Nobuyoshi Nakada + + * ruby.c (ruby_set_argv): convert argv from UTF-8. + + * win32/win32.c (rb_w32_sysinit, cmdglob, w32_cmdvector): convert + wide char command line to UTF-8 argv, and glob in UTF-8 so that + metacharacters would match multibyte characters. + [ruby-dev:48752] [Bug #10555] + +Sat Nov 29 10:49:23 2014 Nobuyoshi Nakada + + * win32/win32.c (win32_direct_conv, rb_w32_readdir): convert UTF-8 + and filesystem code page by using Win32 API directly. + +Sat Nov 29 09:37:10 2014 Nobuyoshi Nakada + + * error.c (syserr_initialize): simplify message building and get + rid of potential invalid byte sequence. + +Sat Nov 29 06:09:44 2014 NAKAMURA Usaku + + * eval_error.c (error_print): respect the encoding of the message. + + * io.c (rb_write_error_str): use rb_w32_write_console() on Windows + if stderr is a tty. + +Fri Nov 28 05:10:23 2014 Nobuyoshi Nakada + + * configure.in (--with-setup): add option to select ext/Setup file. + +Fri Nov 28 05:02:29 2014 Nobuyoshi Nakada + + * dmyenc.c (Init_enc): separate from dmyext.c for statically + linked extension excluding encoding libraries. + +Thu Nov 27 21:58:30 2014 Tanaka Akira + + * common.mk (miniprelude.c): It does not depend on prelude.rb now. + +Thu Nov 27 21:49:49 2014 Tanaka Akira + + * tool/update-deps: List up files built always in the source directory + and source files built always in the build directory. + +Thu Nov 27 21:24:55 2014 Kazuhiro NISHIYAMA + + * NEWS: add obsolete callcc. + +Thu Nov 27 19:59:49 2014 Koichi Sasada + + * compile.c (iseq_compile_each): remove duplicated line event. + [Bug #10449] + + * test/ruby/test_settracefunc.rb: add and fix tests. + +Thu Nov 27 19:04:50 2014 Koichi Sasada + + * vm_args.c: fix backtrace location for keyword related exceptions. + + For example, the following program + def foo(k1: 1); end # line 1 + foo(k2: 2) # line 2 + causes "unknown keyword: k2 (ArgumentError)". + + Before this patch, the backtrace location is only line 2. + However, error should be located at line 1 (over line 2 in + stack trace). This patch fix this problem. + + * class.c (rb_keyword_error_new): separate exception creation logic + from rb_keyword_error(), to use in vm_args.c. + + * vm_insnhelper.c (rb_arg_error_new): rename to rb_arity_error_new(). + + * vm_args.c (argument_arity_error): rename to argument_arity_error(). + + * vm_args.c (argument_kw_error): added to fix backtrace. + + * test/ruby/test_keyword.rb: add tests. + +Thu Nov 27 17:31:58 2014 Nobuyoshi Nakada + + * common.mk (prelude.c): no longer depends on miniruby, since not + depending on rbconfig.rb. + +Thu Nov 27 17:12:14 2014 Nobuyoshi Nakada + + * common.mk (miniprelude.c): miniruby needs no preludes. + +Thu Nov 27 17:10:19 2014 Nobuyoshi Nakada + + * template/prelude.c.tmpl: no code if no prelude code is given. + +Thu Nov 27 13:11:00 2014 Koichi Sasada + + * gc.c (objspace_malloc_increase): enable lazy sweep on GC by malloc() + (malloc_increase) to make GC incrementally. + + This change can increase memory consumption. Report us if you find + any problem. + +Thu Nov 27 12:46:38 2014 Tanaka Akira + + * time.c (time_s_mkutc): [DOC] Time.utc's 10 arguments form + doesn't examine wday, yday, isdst and tz. + (time_s_mktime): [DOC] Time.mktime's 10 arguments form + doesn't examine wday, yday and tz. + Suggested by naruse. + +Thu Nov 27 11:45:33 2014 Eric Wong + + * iseq.c (iseq_data_to_ary): add missing GC guard + +Thu Nov 27 10:51:59 2014 Koichi Sasada + + * vm_core.h: add rb_thread_t::local_storage_recursive_hash + to speed up Thread#[:__recursive_key__] access. + [Bug #10511] + + * thread.c (threadptr_local_aref): add fast path for + :__recursive_data__. + + * thread.c (threadptr_recursive_hash, threadptr_recursive_hash_set): + add special accessor for recursive hash. + + * cont.c: store/restore local_storage_recursive_hash. + + * vm.c: init and mark local_storage_recursive_hash. + + * vm_trace.c (rb_threadptr_exec_event_hooks_orig): clear and restore + local_storage_recursive_hash directly. + +Thu Nov 27 07:11:00 2014 Eric Wong + + * compile.c (iseq_calc_param_size): hoist out of iseq_set_arguments + +Wed Nov 26 22:28:12 2014 Nobuyoshi Nakada + + * include/ruby/ruby.h (rb_get_kwargs, rb_extract_keywords): export + keyword argument functions. + +Wed Nov 26 21:18:40 2014 SHIBATA Hiroshi + + * test/inlinetest.rb: removed unused test helper. + +Wed Nov 26 20:47:28 2014 Masaya Tarui + + * ext/continuation/continuation.c (Init_continuation): obsolete callcc. + first step of [Feature #10548]. + +Wed Nov 26 19:57:54 2014 Koichi Sasada + + * test/ruby/test_gc.rb (test_latest_gc_info): do test separately + to avoid mysterious behavior. + +Wed Nov 26 19:54:31 2014 Nobuyoshi Nakada + + * win32/win32.c (constat_reset): do nothing on non-standard + console emulators. [ruby-core:66471] [Bug #10546] + +Wed Nov 26 19:44:13 2014 Tanaka Akira + + * lib/tsort.rb: Returns an enumerator if no block is given. + [ruby-core:66270] [Feature #10508] Proposed by Andrey Savchenko. + +Wed Nov 26 17:25:45 2014 Nobuyoshi Nakada + + * parse.y (f_label, f_kw, formal_argument_gen): ignore invalid + formal argument in keyword argument definition. + [ruby-dev:48742] [Bug #10545] + +Wed Nov 26 15:32:06 2014 Koichi Sasada + + * compile.c (iseq_set_sequence): use "nop" insn instead of + "jump to next insn". + https://bugs.ruby-lang.org/issues/8543#change-50085 + +Wed Nov 26 11:01:35 2014 Eric Wong + + * iseq.c (iseq_s_compile_file): close IO when done + +Wed Nov 26 06:06:23 2014 Tanaka Akira + + * common.mk: encdb.h and transdb.h depends on $(PREP). + So prebuild files for them in tarball are useless. + +Wed Nov 26 02:08:44 2014 Tanaka Akira + + * tool/make-snapshot: Don't generate enc/trans/newline.c in tarball. + +Wed Nov 26 00:41:44 2014 Tanaka Akira + + * common.mk (prereq): Don't depends on prelude.c and golf_prelude.c. + Since they depend on $(PREP) which is miniruby, they are rebuilt + after miniruby is built, even if tarball contains them. + +Wed Nov 26 00:20:48 2014 Tanaka Akira + + * template/prelude.c.tmpl: Don't expand RbConfig::Config[...]. + It is not used now. + + * common.mk: prelude.c and golf_prelude.c doesn't depend on rbconfig. + +Tue Nov 25 17:07:06 2014 Koichi Sasada + + * NEWS: add an "Implementation changes" section. + +Tue Nov 25 16:09:28 2014 Eric Hodel + + * lib/net/http.rb: Do not attempt SSL session resumption when the + session is expired. [Bug #10533] + +Tue Nov 25 15:59:46 2014 Eric Hodel + + * lib/rake: Update to rake 10.4.0 + * test/rake: ditto. + * NEWS: ditto. + + * test/lib/minitest/unit.rb: Add compatibility shim for minitest 5. + This only provides minitest 5 unit test naming compatibility. + +Tue Nov 25 15:26:33 2014 Nobuyoshi Nakada + + * tool/vcs.rb (get_revisions): use Time.new instead of Time.mktime + which does not accept UTC offset, and offset manually for older + versions than 1.9. + +Tue Nov 25 12:14:43 2014 Nobuyoshi Nakada + + * process.c (Init_process): initialize static IDs before constant + definitions. [ruby-core:66445] + +Tue Nov 25 10:32:23 2014 Eric Wong + + * compile.c (iseq_build_callinfo_from_hash): hoist out + (iseq_build_from_ary_body): shorten callinfo case + +Mon Nov 24 23:03:21 2014 Kouhei Sutou + + * gems/bundled_gems: Update to test-unit 3.0.7. + +Mon Nov 24 12:44:35 2014 Nobuyoshi Nakada + + * process.c (check_exec_redirect_fd, check_exec_redirect), + (rb_execarg_addopt): get rid of inadvertent ID pindown. + +Mon Nov 24 02:03:40 2014 Nobuyoshi Nakada + + * string.c (rb_str_setter): preserve encoding of global variable + name in error message. + +Mon Nov 24 02:03:30 2014 Nobuyoshi Nakada + + * iseq.c (rb_insn_operand_intern): preserve encoding of method + name in CALL_INFO at disassembling. + +Mon Nov 24 02:02:59 2014 Nobuyoshi Nakada + + * io.c (must_respond_to): preserve encodings of variable name and + class name in warning message. + +Sun Nov 23 10:46:23 2014 Eric Wong + + * internal.h (struct rb_execarg): 160 => 144 bytes on x86-64 + * ruby.c (struct load_file_arg): 48 => 40 bytes on x86-64 + * vm_args.c (struct args_info): ditto + +Sun Nov 23 07:46:54 2014 Andy Maloney + + * io.c (rb_io_sysread): Remove redundant assignment of 'n'. + [Fix GH-767] + +Sat Nov 22 09:48:33 2014 Tanaka Akira + + * tool/make-snapshot: Specify PWD macro for make. + PWD environment variable may not exist. + +Fri Nov 21 11:58:58 2014 Aaron Patterson + + * lib/resolv.rb: fall back if canonicalization fails. + Thanks Vit Ondruch for the patch! [ruby-core:65836] + + * test/resolv/test_dns.rb: test for patch + +Sat Nov 22 01:11:53 2014 Nobuyoshi Nakada + + * object.c (rb_mod_const_get, rb_mod_const_defined): ditto. + + * variable.c (rb_const_missing, rb_mod_const_missing): call + const_missing without new ID to get rid of inadvertent ID + creation. + +Fri Nov 21 19:32:57 2014 NARUSE, Yui + + * common.mk (ext/ripper/ripper.c): revert about srcdir and top_srcdir. + + * common.mk (ext/ripper/ripper.c): use $(PWD) for Unix, + $(MAKEDIR) for Windows. + +Fri Nov 21 18:12:37 2014 Tanaka Akira + + * tool/update-deps: Refactored. + +Fri Nov 21 14:25:40 2014 NAKAMURA Usaku + + * win32/Makefile.sub (top_srcdir): added because lacking this macro + causes build error at r48526. + +Fri Nov 21 12:00:58 2014 Tanaka Akira + + * tool/update-deps (in_makefile): Use FILES_NEED_VPATH and + FILES_CONFUSING. + + * ext/objspace/extconf.rb: Add VPATH for id.h + +Fri Nov 21 09:10:23 2014 Nobuyoshi Nakada + + * common.mk (ext/ripper/ripper.c): fix dependencies for the case + to make ripper.y and id.h under the build directory. + +Fri Nov 21 08:42:21 2014 NARUSE, Yui + + * common.mk (ext/ripper/ripper.c): id.h in VPATH may exist in the build + directory. + + * common.mk (ext/ripper/ripper.c): $(RM) was not defined. + +Fri Nov 21 00:36:09 2014 NAKAMURA Usaku + + * ext/openssl/lib/openssl/x509.rb + (OpenSSL::X509::Name::RFC2253DN::StringChar): get rid of a false + positive assertion in ripper's test. + +Fri Nov 21 00:29:51 2014 NAKAMURA Usaku + + * lib/net/imap.rb (Net::IMAP::ResponseParser::BEG_REGEXP): no need to + use embed string. + +Fri Nov 21 00:19:17 2014 NAKAMURA Usaku + + * lib/uri/mailto.rb (URI::MailTo::EMAIL_REGEXP): should escape `#`. + +Thu Nov 20 23:17:11 2014 Tanaka Akira + + * tool/update-deps: Insert all dependencies found by compiler. + +Thu Nov 20 15:51:01 2014 NARUSE, Yui + + * ext/nkf/depend (nkf.o): add nkf.c as dependency. + bsdmake tries to make nkf.o with nkf-utf8/nkf.c without this. + +Thu Nov 20 08:54:56 2014 Nobuyoshi Nakada + + * parse.y (struct parser_params): reduce size by reordering + members and an unused member. + +Thu Nov 20 02:44:27 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Vector#independent? and associated class method + patch by gogo tanaka [#10451] + +Thu Nov 20 02:32:34 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add Vector#angle_with + Patch by Egunov Dmitriy [#10442] + +Thu Nov 20 02:10:31 2014 Nobuyoshi Nakada + + * parse.y (ripper_flush_string_content, parser_parse_string): + preserve parsed string content. [ruby-dev:48714] [Bug #10437] + + * parse.y (ripper_new_yylval): abstract function to create ripper + wrapper, and make it able to hold another object. + +Thu Nov 20 01:00:59 2014 Nobuyoshi Nakada + + * parse.y (reg_named_capture_assign_gen): use predefined ID + instead of rb_intern. + +Thu Nov 20 00:54:57 2014 Tanaka Akira + + * internal.h (ruby_init_setproctitle): Declare here. + +Thu Nov 20 00:26:37 2014 Nobuyoshi Nakada + + * parse.y (parser_here_document): append byte sequence directly to + the delayed content instead of creating an intermediate string + object. + +Wed Nov 19 21:11:01 2014 NARUSE, Yui + + * common.mk (ext/json/parser/parser.c): don't touch parse.c, + ruby repo is a downstream. + +Wed Nov 19 20:38:11 2014 NARUSE, Yui + + * common.mk (ext/ripper/ripper.c): use $(PWD) to get + /ext/ripper. + +Wed Nov 19 18:12:17 2014 NARUSE, Yui + + * tool/downloader.rb (RubyGems.download): Don't download gem if the + version is already downloaded. A gem file is versioned and + it must be identical if the version is the same. + +Wed Nov 19 17:59:25 2014 NARUSE, Yui + + * common.mk (ext/ripper/ripper.c): pass build directory as VPATH. + + * ext/ripper/depend (.y.c): use VPATH for y.tab.c. + +Wed Nov 19 10:07:57 2014 Nobuyoshi Nakada + + * template/prelude.c.tmpl (Prelude#translate): strip VPATH prefix + from prelude names, so that srcdir differences do not make the + generated code different. + +Wed Nov 19 07:45:11 2014 NAKAMURA Usaku + + * win32/win32.c (rb_w32_write): should set the error of + GetOverlappedResult()'s, not WriteFile()'s (it's always + ERROR_IO_PENDING, of course). + +Tue Nov 18 14:16:47 2014 Koichi Sasada + + * gc.c (gc_record): add information for debug print. + +Wed Nov 19 04:49:07 2014 NAKAMURA Usaku + + * debug.c (set_debug_option): need the declaration. + + * debug.c (set_debug_option): use the same macro with the implementation + at win32/win32.c. + +Wed Nov 19 04:16:24 2014 Nobuyoshi Nakada + + * parse.y (symbol_list): fix the node type of literal symbol list + with no interpolation. [ruby-core:66343] + +Wed Nov 19 00:26:15 2014 Tanaka Akira + + * tool/update-deps: Sort dependencies. + +Wed Nov 19 00:24:18 2014 Tanaka Akira + + * enc/encdb.c: Include internal.h. + +Tue Nov 18 23:23:45 2014 Tanaka Akira + + * internal.h: Gather declarations in non-header files. + +Tue Nov 18 23:45:52 2014 Tanaka Akira + + * debug.c (SET_WHEN): Don't declare debug variables here. + ruby_initial_gc_stress_ptr is changed int* to VALUE* at r41406. + + * internal.h (ruby_initial_gc_stress_ptr): Declared. + (ruby_enable_coredump): Ditto. + +Tue Nov 18 18:06:43 2014 Tanaka Akira + + * include/ruby/io.h (FMODE_WSPLIT): Removed. The write() system call + is not required to split. It was useful to avoid whole process + blocking in Ruby 1.8 but not useful since write() is invoked without + GVL. + (FMODE_WSPLIT_INITIALIZED): Ditto. + + * io.c (wsplit_p): Removed. + (io_writable_length): Removed. + (rb_fcntl): Don't update the removed flags. + +Tue Nov 18 03:23:06 2014 Nobuyoshi Nakada + + * object.c (check_setter_id): show the original argument instead + of nil on TypeError. + +Tue Nov 18 03:20:19 2014 Nobuyoshi Nakada + + * symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym): + fix ID type names. + +Mon Nov 17 20:17:59 2014 Masaki Suketa + + * ext/win32ole/win32ole_event.c: use typed data. + +Mon Nov 17 12:54:56 2014 SHIBATA Hiroshi + + * lib/rubygems/*, test/rubygems/*: Update to RubyGems 2.4.4 + master (2f6e42e). + +Mon Nov 17 06:13:06 2014 Nobuyoshi Nakada + + * proc.c (proc_binding): use the original iseq on a binding from + proc from method object to get the location. + +Sun Nov 16 19:38:10 2014 Nobuyoshi Nakada + + * vm_eval.c (rb_current_receiver): new function to return the + receiver in the current control frame. [Feature #10195] + +Sun Nov 16 19:11:04 2014 Nobuyoshi Nakada + + * lib/timeout.rb (Timeout::ExitException#exception): rescue + UncaughtThrowError which is specific for throw, instead of + ArgumentError. + +Sun Nov 16 18:22:18 2014 Eric Wong + + * tool/update-deps: warning to disable ccache + +Sun Nov 16 13:11:35 2014 Tanaka Akira + + * common.mk (CCAN_LIST_INCLUDES): Unused variable removed. + (ENCODING_H_INCLUDES): Ditto. + (PROBES_H_INCLUDES): Ditto. + (VM_CORE_H_INCLUDES): Ditto. + +Sun Nov 16 11:07:25 2014 Eric Wong + + * test/ruby/test_io.rb (test_readpartial_locktmp): + remove unnecessary begin/end + +Sun Nov 16 00:45:23 2014 Tanaka Akira + + * common.mk: Specify dependencies for generated C sources. + +Sat Nov 15 23:10:45 2014 Tanaka Akira + + * common.mk: No need to declare dependencies which + will be detected by inference rules. + +Sat Nov 15 20:34:23 2014 Tanaka Akira + + * internal.h: Include ruby.h and ruby/encoding.h to be + includable without prior inclusion. + +Sat Nov 15 20:46:44 2014 Kouhei Sutou + + * test/rexml/test_document.rb + (REXMLTests::TestDocument::EntityExpansionLimitTest): + Group tests by general entity and parameter entity. + +Sat Nov 15 20:43:31 2014 Kouhei Sutou + + * test/rexml/test_document.rb + (REXMLTests::TestDocument::EntityExpansionLimitTest): Define + test XML in each test method because (1) each XML in used only + one test and (2) related data and code should be close. + +Sat Nov 15 20:39:06 2014 Kouhei Sutou + + * test/rexml/test_document.rb + (REXMLTests::TestDocument::EntityExpansionLimitTest): Use + one test method for one test. + +Sat Nov 15 20:16:59 2014 Kouhei Sutou + + * test/rexml/test_document.rb + (REXMLTests::TestDocument::EntityExpansionLimitTest): Use + setup and teardown instead of ensure in test. + +Sat Nov 15 20:11:34 2014 Kouhei Sutou + + * test/rexml/test_document.rb (REXMLTests::TestDocument): Group + entity expansion limit related tests. + +Sat Nov 15 20:09:00 2014 Kouhei Sutou + + * test/rexml/test_document.rb (REXMLTests::TestDocument::BomTest): + Fix wrong parent class. It doesn't need inherit tests in + TestDocument class. + +Sat Nov 15 19:48:59 2014 NAKAMURA Usaku + + * lib/mkmf.rb (depend_rules): support comments during a line. + + * lib/mkmf.rb (depend_rules): apply RULE_SUBST even if the dependency + file contains path. + +Sat Nov 15 19:25:46 2014 Tanaka Akira + + * common.mk: Remove comments in Dependency lines. + Notified by usa. + + * enc/depend: Ditto. + + * ext/**/depend: Ditto. + +Sat Nov 15 16:28:05 2014 Nobuyoshi Nakada + + * vm_eval.c (rb_throw_obj): throw UncaughtThrowError instead of + ArgumentError. [Feature #10480] + +Sat Nov 15 14:13:38 2014 Tanaka Akira + + * tool/update-deps: Extend to fix dependencies. + + * common.mk: Dependencies updated by tool/update-deps. + + * enc/depend: Ditto. + + * ext/**/depend: Ditto. + +Fri Nov 14 17:36:48 2014 Tanaka Akira + + * tool/update-deps: Support GNU Make 4.0. + +Fri Nov 14 16:59:53 2014 Nobuyoshi Nakada + + * gc.c (default_proc_for_compat_func): check arguments number and + type, and get rid of reentering this default proc. + +Fri Nov 14 16:33:06 2014 Koichi Sasada + + * gc.c (gc_stat_internal): support compatible layer for + GC.stat(symbol) type access. + +Fri Nov 14 16:19:08 2014 Koichi Sasada + + * gc.c (gc_stat_internal): add compatible layer. + From Ruby 2.2, keys of GC.stat are changed [Feature #9924]. + To provide compatible layer, GC.stat add a default_proc + (if default_proc of given Hash object is not set). + + At first use of this compatible layer of interpreter process, + show a warning message like that: + program: GC.stat[:total_allocated_object] + warning message: "warning: GC.stat keys were changed from Ruby + 2.1. In this case, you refer to obsolete `total_allocated_object' + (new key is `total_allocated_objects'). + Please check + for more information." + + Please correct my English message :) + + * hash.c (rb_hash_set_default_proc): export (in internal). + + * internal.h: ditto. + +Fri Nov 14 10:41:25 2014 Koichi Sasada + + * gc.c: guard by #if/#endif with GC_ENABLE_INCREMENTAL_MARK + to hide unused codes. + + * gc.c: similar to GC_ENABLE_LAZY_SWEEP. + +Fri Nov 14 10:23:35 2014 Eric Wong + + * vm_eval.c (rb_eval_cmd): use pre-defined idCall + +Fri Nov 14 09:25:44 2014 Eric Wong + + * vm_eval.c (rb_yield_splat): add missing GC guard + [Bug #10509] + +Fri Nov 14 08:12:40 2014 SHIBATA Hiroshi + + * gc.c: fix build error caused by implicit conversion with clang. + +Fri Nov 14 06:54:06 2014 Eric Wong + + * insns.def (opt_succ): remove Time#succ optimization + [Feature #10501] + +Fri Nov 14 05:29:46 2014 Koichi Sasada + + * gc.c: refactoring. + + * gc.c: use GC_ENABLE_INCREMENTAL_MARK instead of USE_RINCGC. + + * gc.c (gc_start): check FORCE_MAJOR_GC. + +Fri Nov 14 04:51:18 2014 Koichi Sasada + + * gc.c: Tuning RincGC parameters. + + Before this patch, gc_marks_step() marks (white -> grey) fixed + number objects. However, this strategy does not fit practical + cases, for example too slow to make progress. + + This patch changes this strategy how many objects the + gc_marks_step() should handle. + + We can estimate how many times gc_marks_step() is called during + this major marking (== C) with the free slot number in pooled + pages. We also can estimate the living object number (== L) + using last marked_slots value. We can solve this problem (how + many objects should be process in gc_marks_step()) by L/C. + + * gc.c (rb_objspace_t): add rb_objspace_t::rincgc::pooled_slots and + step_slots. + +Fri Nov 14 01:26:47 2014 Shugo Maeda + + * lib/net/imap.rb (search_response): parse MODSEQ in SEARCH + responses properly. [ruby-core:64203] [Bug #10112] + +Fri Nov 14 01:03:17 2014 Tanaka Akira + + * test/lib/envutil.rb: Moved from test/ruby/. + + * test/lib/find_executable.rb: Ditto. + + * test/lib/memory_status.rb: Ditto. + + * test/lib/test/unit.rb: require envutil. + + * test/: Don't require envutil in test files. + +Thu Nov 13 21:59:58 2014 CHIKANAGA Tomoyuki + + * lib/rexml/document.rb: add REXML::Document#document. + reported by Tomas Hoger and patched by nahi. + +Thu Nov 13 21:51:56 2014 Tanaka Akira + + * test/monitor/test_monitor.rb: Use assert_join_threads. + +Thu Nov 13 21:45:13 2014 Tanaka Akira + + * test/openssl: Don't specify port number. + +Thu Nov 13 21:22:35 2014 Tanaka Akira + + * test/openssl/ssl_server.rb: Unused file removed. + It is not used since r16111, Ruby 1.9.1. + +Thu Nov 13 18:50:14 2014 Nobuyoshi Nakada + + * eval.c (rb_ensure): remove obsolete prot_tag comment. patch by + Jack Danger at [ruby-core:66238]. [misc #10502] + +Thu Nov 13 18:10:38 2014 Nobuyoshi Nakada + + * vm.c (rb_vm_make_proc_lambda): similar to rb_vm_make_proc() with + is_lambda argument. + +Thu Nov 13 12:11:18 2014 NAKAMURA Usaku + + * win32/win32.c (rb_w32_fstat{,i64}): speed up. adjusting + timestamps in this function is to get rid of the side effect of + ENV["TZ"]. then, if ENV["TZ"] is not set, no need to adjust. + this change makes File#stat about 60% faster. + +Thu Nov 13 11:56:12 2014 Nobuyoshi Nakada + + * st.c: include "internal.h" for STATIC_ASSERT. + +Thu Nov 13 03:56:38 2014 Eric Wong + + * gc.c (struct heap_page): trivial packing + 304 => 296 bytes on x86-64 + +Wed Nov 12 22:50:12 2014 SHIBATA Hiroshi + + * gems/bundled_gems: Update to test-unit 3.0.6 and minitest 5.4.3. + +Wed Nov 12 22:30:52 2014 SHIBATA Hiroshi + + * lib/rubygems/*: Update to RubyGems 2.4.3 master (7b1f684). + +Wed Nov 12 00:26:37 2014 Tanaka Akira + + * test/ruby/test_object.rb: Specify an exception class for rescue clause. + + * test/dbm/test_dbm.rb: Ditto. + + * test/gdbm/test_gdbm.rb: Ditto. + + * test/sdbm/test_sdbm.rb: Ditto. + +Tue Nov 11 23:43:51 2014 Tanaka Akira + + * test/fileutils/test_fileutils.rb: Use assert_join_threads. + +Tue Nov 11 22:51:14 2014 Tanaka Akira + + * test/resolv/test_dns.rb: Use assert_join_threads. + +Tue Nov 11 22:33:08 2014 Tanaka Akira + + * test/net/pop/test_pop.rb: Use assert_join_threads. + +Tue Nov 11 22:07:20 2014 Tanaka Akira + + * test/net/http/test_https_proxy.rb: Use assert_join_threads. + +Tue Nov 11 18:09:11 2014 Nobuyoshi Nakada + + * template/prelude.c.tmpl: move from tool/compile_prelude.rb and + expand by generic_erb.rb. + +Tue Nov 11 13:01:31 2014 NARUSE, Yui + + * lib/rubygems/commands/contents_command.rb (files_in_default_gem): + remove useless sort. show_files will sort the result and + another branch, files_in_gem, doesn't sort. + it should be removed for consistency. + + * test/rubygems/test_gem_commands_contents_command.rb + (test_execute_default_gem): adjust the sort algorithm with + Gem::Commands::ContentsCommand#show_files, which sort items + as array of [prefix, basename] not strings. + +Tue Nov 11 10:37:09 2014 Koichi Sasada + + * string.c (sym_equal): use rb_obj_equal(). + rb_obj_equal() is specially optimized in + opt_eq_func()@vm_insnhelper.c. + + This fix is made from this discussion: + https://www.omniref.com/ruby/2.1.4/symbols/Symbol/%3D%3D#line=8361. + +Tue Nov 11 09:38:55 2014 SHIBATA Hiroshi + + * lib/rdoc/known_classes.rb: reverted regression changes of + rdoc known class. + +Tue Nov 11 00:21:50 2014 Tanaka Akira + + * test/net/imap/test_imap.rb: Don't ignore exceptions on server + threads. + +Mon Nov 10 23:34:13 2014 Tanaka Akira + + * test/net/ftp/test_ftp.rb (create_ftp_server): Don't ignore + exceptions on server thread. + Delete read_timeout method call to fix NoMethodError. + +Mon Nov 10 20:20:53 2014 NAKAMURA Usaku + + * win32/win32.c (rb_w32_read): retry with reduced length if cannot to + write any data but no error occurs. + +Mon Nov 10 20:04:16 2014 Tanaka Akira + + * lib/webrick/server.rb: Setup shutdown pipe in listen method. + +Mon Nov 10 19:37:09 2014 NAKAMURA Usaku + + * win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): new + function to support nonblock-mode of pipes. + + * win32/win32.c (rb_w32_read): nonblock-mode pipe returns ERROR_NO_DATA + if there is no data, but also returns it if remote-end is closed. + + * win32/win32.c (rb_w32_write): if cannot to write any data, it may be + blocking. + + * io.c (rb_io_set_nonblock): use rb_w32_set_nonblock for Windows. + + * ext/io/nonblock/nonblock.c (rb_io_nonblock_set): use ruby's API when + setting nonblock-mode. + + * test/ruby/test_io.rb: test nonblock pipes on Windows. + +Mon Nov 10 17:24:34 2014 Nobuyoshi Nakada + + * ext/etc/etc.c (etc_getlogin): set login name encoding properly. + [ruby-core:66163] [Bug #10493] + +Mon Nov 10 16:20:42 2014 SHIBATA Hiroshi + + * lib/rubygems/*.rb: Update to RubyGems master(3e36528). + +Mon Nov 10 16:09:43 2014 Nobuyoshi Nakada + + * signal.c (rb_f_kill): [DOC] mention known signal list. + [ruby-core:66162] [Bug #10492] + +Mon Nov 10 14:17:58 2014 SHIBATA Hiroshi + + * lib/rdoc/*.rb: Update to RDoc 4.2.0.alpha(579a11c) + +Mon Nov 10 12:44:39 2014 Tanaka Akira + + * lib/webrick/server.rb: Less instance variables. + +Mon Nov 10 12:19:43 2014 Tanaka Akira + + * lib/webrick/server.rb (shutdown): Use close() on @shutdown_pipe_w to + notify readability on the read side of the pipe. + write_nonblock() is not usable for pipe on Windows. + (cleanup_shutdown_pipe): Rescue IOError for @shutdown_pipe_w.close. + +Mon Nov 10 07:31:59 2014 Tanaka Akira + + * lib/webrick/server.rb (initialize): Initialize shutdown pipe here + to avoid race condition. + (cleanup_shutdown_pipe): New private method. + (cleanup_listener): Extracted from shutdown method. + Call this method from start method to avoid race condition. + +Mon Nov 10 05:57:53 2014 Tanaka Akira + + * test/webrick/webrick.cgi: Don't use debug mode. + + * test/webrick/webrick_long_filename.cgi: Ditto. + +Sun Nov 9 23:25:49 2014 Nobuyoshi Nakada + + * vm_eval.c (vm_call_super): allow bound proc method to call super + method. + + * vm_insnhelper.c (vm_yield_with_cfunc): push defined class and + bound proc method entry to the control frame. + +Sun Nov 9 22:46:13 2014 Tanaka Akira + + * test/open-uri: Test server log in server thread. + + * test/webrick: Ditto. + +Sun Nov 9 22:28:34 2014 Tanaka Akira + + * lib/webrick/httpstatus.rb: require webrick/accesslog for AccessLog. + +Sun Nov 9 21:03:59 2014 Tanaka Akira + + * test/webrick: Fix the argument order of assert_equal. + +Sun Nov 9 20:29:01 2014 Tanaka Akira + + * test/webrick: Store log in an array. + + * test/net/http: Ditto. + + * test/open-uri: Ditto. + +Sun Nov 9 18:35:36 2014 Tanaka Akira + + * test/xmlrpc: Refine log test. + +Sun Nov 9 18:33:33 2014 Martin Duerst + + * lib/unicode_normalize/normalize.rb: Replaced if-else by + case in self.normalized? in parallel to r48309. + +Sun Nov 9 18:07:00 2014 Tanaka Akira + + * test/xmlrpc: Use assert_join_threads. + +Sun Nov 9 14:06:13 2014 Tanaka Akira + + * test/xmlrpc: Test webrick error log is empty. + +Sun Nov 9 13:47:02 2014 Koichi Sasada + + * gc.c (is_incremental_marking): use #if/#else because + rb_objspace_t::flags::during_incremental_marking is not defined + when GC_ENABLE_INCREMENTAL_MARK is 0. + + * gc.c (will_be_incremental_marking, is_full_marking): similar fix. + +Sun Nov 9 12:16:22 2014 Nobuyoshi Nakada + + * lib/securerandom.rb (SecureRandom.gen_random): separate + implementation details and select at the load time. + +Sun Nov 9 12:09:38 2014 Nobuyoshi Nakada + + * ext/win32/lib/win32/registry.rb (Win32::Registry::API#Enum{Value,Key): + ditto. + +Sun Nov 9 11:48:40 2014 Tanaka Akira + + * test/net/http: Examine webrick log. + +Sun Nov 9 11:45:19 2014 SHIBATA Hiroshi + + * gems/bundled_gems: upgraded to test-unit 3.0.5. + +Sun Nov 9 11:40:50 2014 Tanaka Akira + + * defs/known_errors.def: More errors for FreeBSD. + +Sun Nov 9 11:25:11 2014 Kazuki Tsujimoto + + * gems/bundled_gems: upgraded to power_assert 0.2.0. + +Sun Nov 9 10:31:03 2014 Nobuyoshi Nakada + + * lib/securerandom.rb: set the script encoding to make a string + literal in SecureRandom::Kernel32.last_error_message single byte + encoding so msg[] works in bytes, since FormatMessage() returns + the size in TCHARs, not in characters. + +Sun Nov 9 09:50:22 2014 Tanaka Akira + + * test/webrick: Refine log tests. + +Sun Nov 9 08:58:05 2014 Tanaka Akira + + * defs/known_errors.def (EHWPOISON): New errno symbol. + It is defined by glibc-2.16. + +Sun Nov 9 05:00:23 2014 NAKAMURA Usaku + + * lib/securerandom.rb (initialize): call the special method for Win32 + before checking `/dev/urandom` because we know windows doesn't have it. + +Sun Nov 9 04:01:46 2014 NAKAMURA Usaku + + * lib/securerandom.rb (SecureRandom::AdvApi32): split from `initialize`. + thanks @zzak to remember it. + +Sun Nov 9 02:05:33 2014 Tanaka Akira + + * test/net/http/utils.rb: Don't connect to spawned server + before actual test. + +Sun Nov 9 01:51:50 2014 Benoit Daloze + + * object.c (Module#const_defined?): [DOC] Revise the documentation. + Patch by Xavier Noria. + [Fixes GH-754] https://github.com/ruby/ruby/pull/754 + +Sun Nov 9 00:37:44 2014 Tanaka Akira + + * test/webrick: Examine log and use assert_join_threads. + +Fri Nov 7 00:00:12 2014 Nobuyoshi Nakada + + * template/unicode_norm_gen.tmpl: expand kompatible_table so that + recursive expansion is not needed at runtime. + +Thu Nov 6 23:58:40 2014 Nobuyoshi Nakada + + * pack.c (pack_pack): escape unprintable characters and preserve + the encoding of warning message. + +Thu Nov 6 23:55:18 2014 Nobuyoshi Nakada + + * string.c (sym_printable): QUOTE() should not raise an exception + even on invalid byte sequence. + +Thu Nov 6 21:44:36 2014 Tanaka Akira + + * test/test_unicode_normalize.rb: Rename TestNormalize to + TestUnicodeNormalize. + Define constants under TestUnicodeNormalize. + +Thu Nov 6 21:22:59 2014 Tanaka Akira + + * test/open-uri/test_open-uri.rb: Check empty webrick log. + +Thu Nov 6 19:27:34 2014 NARUSE, Yui + + * re.c (unescape_nonascii): cast -1 for the case char is unsigned char. + If char is signed char, for example gcc for ARM or ppc64, it caused + infinite loop. + http://kmuto.jp/build-ruby/arm/ruby-trunk/log/20141106T013005Z.fail.html.gz + http://rubyci.blob.core.windows.net/f19p8/ruby-trunk/log/20141106T090217Z.fail.html.gz + +Thu Nov 6 09:53:18 2014 Eric Wong + + * lib/uri/rfc2396_parser.rb (initialize): reduce bytecode size + 2088 => 1332 bytes on 32-bit x86 + +Thu Nov 6 08:49:49 2014 Martin Duerst + + * lib/unicode_normalize/normalize.rb: Comment clarification. + +Wed Nov 5 23:43:24 2014 Naohisa Goto + + * compile.c (compile_data_alloc): add padding when strict alignment + is required for memory access. Currently, the padding is enabled + only when the CPU is 32-bit SPARC and the compiler is GCC. + [Bug #9681] [ruby-core:61715] + + * compile.c (STRICT_ALIGNMENT): defined if strict alignment is required + + * compile.c (ALIGNMENT_SIZE, ALIGNMENT_SIZE_MASK, PADDING_SIZE_MAX): + new macros for alignment word size, bit mask, max size of padding. + + * compile.c (calc_padding): new function to calculate padding size. + +Wed Nov 5 23:24:45 2014 Tanaka Akira + + * test/open-uri/test_open-uri.rb: Don't ignore webrick's log. + +Wed Nov 5 19:20:08 2014 Tanaka Akira + + * lib/webrick/server.rb: Stop listener loop properly. + [ruby-core:66085] [Bug #10478] Fixed by Charles Nutter. + +Wed Nov 5 17:20:29 2014 Nobuyoshi Nakada + + * include/ruby/intern.h (rb_disable_super, rb_enable_super): warn + as deprecated at build time, instead of ignoring silently or + warning at runtime only. + +Wed Nov 5 16:55:52 2014 Nobuyoshi Nakada + + * proc.c (rb_f_lambda): remove deprecated function, which has been + unavailable from extension libraries. + +Wed Nov 5 16:26:58 2014 Nobuyoshi Nakada + + * include/ruby/intern.h (rb_clear_cache): mark as deprecated, not + only warnings at runtime. + +Wed Nov 5 15:05:12 2014 Nobuyoshi Nakada + + * string.c (rb_str_{,l,r}strip_bang): rb_str_subseq() will not + NUL-terminate the result string, in the future, so it will not + be needed in other cases. + +Wed Nov 5 14:11:30 2014 Nobuyoshi Nakada + + * common.mk (lib/unicode_normalize/tables.rb): do nothing unless + BASERUBY is available. MINIRUBY cannot load extension libraries, + so cannot update Unicode data. + +Wed Nov 5 12:13:54 2014 Nobuyoshi Nakada + + * string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by + copying necessary part only. + + * string.c (rb_str_strip_bang, rb_str_strip): ditto. + +Wed Nov 5 12:13:48 2014 Nobuyoshi Nakada + + * string.c (rb_str_lstrip, rb_str_strip): reduce memory copy by + copying necessary part only. + + * string.c (rb_str_strip_bang, rb_str_strip): ditto. + +Wed Nov 5 10:54:19 2014 Nobuyoshi Nakada + + * string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): terminate + wchar strings with wchar 0. + +Tue Nov 4 21:23:22 2014 NAKAMURA Usaku + + * ext/win32/lib/Win32API.rb: Fiddle::Importer is defined in + fiddle/import.rb and it's not loaded implicitly. + + * ext/win32/lib/Win32API.rb (Win32API#initialize): `import` is a string. + + * ext/win32/lib/Win32API.rb (Win32API#initialize): + Fiddle::Importer::CALL_TYPE_TO_ABI is private constant. + +Tue Nov 4 21:20:07 2014 NAKAMURA Usaku + + * lib/securerandom.rb (SecureRandom.random_bytes): use fiddle directly + instead of using Win32API. + +Tue Nov 4 21:04:30 2014 NAKAMURA Usaku + + * test/rubygems/test_gem_request_set_lockfile.rb + (test_relative_path_from): driveletter support. + +Tue Nov 4 16:23:57 2014 Nobuyoshi Nakada + + * test/rubygems/test_gem_remote_fetcher.rb (RemoteFetcherCleanup): + close all pooled connections for each tests to fix leaked file + descriptors. + +Tue Nov 4 12:51:31 2014 Nobuyoshi Nakada + + * include/ruby/ruby.h (PRIsVALUE), vsnprintf.c (BSD_vfprintf): add + RUBY_PRI_VALUE_MARK to reduce danger of accidental conflict with + plain "%i". binary incompatible with extension libraries using + PRIsVALUE and built for 2.1 and earlier. [EXPERIMENTAL] + +Tue Nov 4 12:33:44 2014 SHIBATA Hiroshi + + * object.c: fix document of Kernel#String by @suzukaze + [fix GH-743][ci skip] + +Tue Nov 4 12:21:45 2014 SHIBATA Hiroshi + + * lib/csv.rb: added documentation for skip_blanks option by @decasia + [fix GH-744][ci skip] + +Tue Nov 4 12:09:18 2014 SHIBATA Hiroshi + + * lib/open3.rb: fix code formatting in documentation by @JoshCheek + [fix GH-747][ci skip] + +Tue Nov 4 08:57:37 2014 Eric Wong + + * encoding.c (enc_memsize): remove unnecessary function + [ruby-core:65304] + +Mon Nov 3 18:09:39 2014 Tanaka Akira + + * test/openssl/utils.rb: The default of :ignore_listener_error is + changed to false. + +Mon Nov 3 14:42:37 2014 Koichi Sasada + + * iseq.c (iseq_free): resolve memory leak. + +Mon Nov 3 13:49:18 2014 Koichi Sasada + + * iseq.c (iseq_memsize): catch up recent changes. + +Mon Nov 3 13:38:28 2014 Koichi Sasada + + * vm_core.h: change semantics of opt_num and opt_table. + `opt_num' was the number of optional parameters + 1. + `opt_table' has "opt_num" entries. + + Change them to: + `opt_num' is the number of optional parameters. + `opt_table' has "opt_num + 1" entries. + + This change simplify parameter fitting logics. + + * compile.c: catch up this change. + + * iseq.c: ditto. + + * proc.c: ditto. + + * vm_args.c: ditto. + +Mon Nov 3 11:47:44 2014 SHIBATA Hiroshi + + * NEWS: added period into Matrix section. [ci skip] + [misc #10446][ruby-core:65987] + +Mon Nov 3 09:43:30 2014 SHIBATA Hiroshi + + * vm_args.c: fixed build error with clang + +Mon Nov 3 09:32:46 2014 NARUSE, Yui + + * lib/uri/rfc3986_parser.rb (URI::RFC3986_Parser::RFC3986_URI): + allow '[' and ']' for URI input (and escape). [Bug #10402] + + * lib/uri/generic.rb (URI#query=): escape '[', '\', and ']'. + +Mon Nov 3 07:49:34 2014 Koichi Sasada + + * vm_core.h: change iseq parameter data structure. + https://bugs.ruby-lang.org/issues/10440#change-49694 + + * change terminology `arg' to `param'. + * move rb_iseq_t::arg_* to rb_iseq_t::param. + * move rb_iseq_t::arg_size to rb_iseq_t::param::size. + * move rb_iseq_t::argc to rb_iseq_t::param::lead_num. + * move rb_iseq_t::arg_opts to rb_iseq_t::param::opt_num. + * move rb_iseq_t::arg_rest to rb_iseq_t::param::rest_start. + * move rb_iseq_t::arg_post_num to rb_iseq_t::param::post_num. + * move rb_iseq_t::arg_post_start to rb_iseq_t::param::post_start. + * move rb_iseq_t::arg_block to rb_iseq_t::param::block_start. + * move rb_iseq_t::arg_keyword* to rb_iseq_t::param::keyword. + rb_iseq_t::param::keyword is allocated only when keyword + parameters are available. + * introduce rb_iseq_t::param::flags to represent parameter + availability. For example, rb_iseq_t::param::flags::has_kw + represents that this iseq has keyword parameters and + rb_iseq_t::param::keyword is allocated. + We don't need to compare with -1 to check availability. + * remove rb_iseq_t::arg_simple. + + * compile.c: catch up this change. + + * iseq.c: ditto. + + * proc.c: ditto. + + * vm.c, vm_args.c, vm_dump.c, vm_insnhelper.c: ditto. + + * iseq.c (iseq_data_to_ary): support keyword argument. + +Mon Nov 3 03:39:04 2014 Koichi Sasada + + * test/ruby/test_method.rb: r48239 makes this test green. + +Mon Nov 03 03:02:38 2014 Koichi Sasada + + * rewrite method/block parameter fitting logic to optimize + keyword arguments/parameters and a splat argument. + [Feature #10440] (Details are described in this ticket) + + Most of complex part is moved to vm_args.c. + + Now, ISeq#to_a does not catch up new instruction format. + + * vm_core.h: change iseq data structures. + + * introduce rb_call_info_kw_arg_t to represent keyword arguments. + * add rb_call_info_t::kw_arg. + * rename rb_iseq_t::arg_post_len to rb_iseq_t::arg_post_num. + * rename rb_iseq_t::arg_keywords to arg_keyword_num. + * rename rb_iseq_t::arg_keyword to rb_iseq_t::arg_keyword_bits. + to represent keyword bitmap parameter index. + This bitmap parameter shows that which keyword parameters are given + or not given (0 for given). + It is referred by `checkkeyword' instruction described bellow. + * rename rb_iseq_t::arg_keyword_check to rb_iseq_t::arg_keyword_rest + to represent keyword rest parameter index. + * add rb_iseq_t::arg_keyword_default_values to represent default + keyword values. + * rename VM_CALL_ARGS_SKIP_SETUP to VM_CALL_ARGS_SIMPLE + to represent + (ci->flag & (SPLAT|BLOCKARG)) && + ci->blockiseq == NULL && + ci->kw_arg == NULL. + + * vm_insnhelper.c, vm_args.c: rewrite with refactoring. + + * rewrite splat argument code. + * rewrite keyword arguments/parameters code. + * merge method and block parameter fitting code into one code base. + + * vm.c, vm_eval.c: catch up these changes. + + * compile.c (new_callinfo): callinfo requires kw_arg parameter. + + * compile.c (compile_array_): check the last argument Hash object or + not. If Hash object and all keys are Symbol literals, they are + compiled to keyword arguments. + + * insns.def (checkkeyword): add new instruction. + This instruction check the availability of corresponding keyword. + + For example, a method "def foo k1: 'v1'; end" is compiled to the + following instructions. + + 0000 checkkeyword 2, 0 # check k1 is given. + 0003 branchif 9 # if given, jump to address #9 + 0005 putstring "v1" + 0007 setlocal_OP__WC__0 3 # k1 = 'v1' + 0009 trace 8 + 0011 putnil + 0012 trace 16 + 0014 leave + + * insns.def (opt_send_simple): removed and add new instruction + "opt_send_without_block". + + * parse.y (new_args_tail_gen): reorder variables. + Before this patch, a method "def foo(k1: 1, kr1:, k2: 2, **krest, &b)" + has parameter variables "k1, kr1, k2, &b, internal_id, krest", + but this patch reorders to "kr1, k1, k2, internal_id, krest, &b". + (locate a block variable at last) + + * parse.y (vtable_pop): added. + This function remove latest `n' variables from vtable. + + * iseq.c: catch up iseq data changes. + + * proc.c: ditto. + + * class.c (keyword_error): export as rb_keyword_error(). + + * common.mk: depend vm_args.c for vm.o. + + * hash.c (rb_hash_has_key): export. + + * internal.h: ditto. + +Mon Nov 3 02:35:32 2014 Koichi Sasada + + * sample/simple-bench.rb: added to measure performance of simple + lines. + +Mon Nov 3 02:33:43 2014 Koichi Sasada + + * gc.c (obj_info): show T_STRING more details. + +Sun Nov 2 01:30:32 2014 Tanaka Akira + + * test/openssl/test_ssl.rb: Don't ignore errors on listener threads, + as much as possible. + + * test/openssl/test_ssl_session.rb: Ditto. + + * test/openssl/test_partial_record_read.rb: Ditto. + +Sat Nov 1 23:11:05 2014 Tanaka Akira + + * test/openssl/utils.rb (start_server): Don't close sockets before + threads finished. + +Sat Nov 1 22:06:24 2014 Tanaka Akira + + * test/openssl/test_ssl_session.rb (test_ctx_client_session_cb): Don't + ignore errors of SSL accept. + (test_ctx_server_session_cb): Ditto. + + * test/openssl/utils.rb (server_loop): Add ignore_ssl_accept_error + argument. + (start_server): Refine threads waits. + + * test/ruby/envutil.rb (assert_join_threads): Show a thread before + backtrace. + +Sat Nov 1 20:40:18 2014 Tanaka Akira + + * test/openssl/utils.rb (start_server, server_loop): Use a + pipe to stop server instead of shutdown/close a listening socket. + +Sat Nov 1 19:24:59 2014 Tanaka Akira + + * test/ruby/envutil.rb (assert_join_threads): New assertion to + join multiple threads without exceptions. + +Sat Nov 1 17:09:32 2014 Tanaka Akira + + * bignum.c (bary_mul_balance_with_mulfunc): Fix free work area + location. + [ruby-dev:48723] [Bug #10464] + [ruby-core:66044] [Bug #10465] + Reported by Kohji Nishihama. + +Sat Nov 1 15:45:15 2014 Nobuyoshi Nakada + + * parse.y (parse_atmark): mere atmark and two atmarks without + succeeding identifiers are invalid as instance/class variable + names. + +Sat Nov 1 06:31:41 2014 Masaki Suketa + + * ext/win32ole/win32ole_variant.c: use typed data. + +Fri Oct 31 13:55:28 2014 Aaron Patterson + + * ext/dl/*: remove DL as it is replaced by Fiddle. + [Feature #5458] Thanks to Jonan Scheffler + for this patch + + * test/dl/*: ditto. + +Fri Oct 31 15:26:02 2014 Charles Oliver Nutter + + * test/openssl/test_ssl.rb: Add certificate verification chain + test from JRuby community. + +Fri Oct 31 18:58:02 2014 Charles Oliver Nutter + + * test/psych/test_emitter.rb: Fix line_width test...initial value + is impl-specific and attr assignment always returns LHS. + +Fri Oct 31 22:19:30 2014 Akinori MUSHA + + * ext/digest/lib/digest.rb (Digest()): This function should now be + thread-safe. If you have a problem with regard to on-demand + loading under a multi-threaded environment, preload "digest/*" + modules on boot or use this method instead of directly + referencing Digest::*. [Bug #9494] + cf. https://github.com/aws/aws-sdk-ruby/issues/525 + +Fri Oct 31 21:33:17 2014 Akinori MUSHA + + * test/digest/test_digest.rb: Drop #!. This no longer runs + stand-alone because it depends on ruby/envutil. + +Fri Oct 31 17:22:19 2014 NAKAMURA Usaku + + * win32/setup.mak: $(APPEND) with some arguments insert a space before + the arguments, so it causes error if the arguments are expected to be + a macro definition. this fix resolve the build error introduced at + r48210. + +Fri Oct 31 16:47:35 2014 Akinori MUSHA + + * ext/syslog/lib/syslog/logger.rb (Syslog::Logger::VERSION): Bump + the VERSION to 2.1.0. [ruby-core:64483] [Bug #10159] + +Fri Oct 31 16:33:46 2014 Akinori MUSHA + + * lib/net/imap.rb (Net::IMAP#fetch): [DOC] Document that + Net::IMAP#fetch will return nil instead of an empty array. + +Fri Oct 31 12:54:43 2014 Nobuyoshi Nakada + + * common.mk (.unicode-tables.time): needs Unicode files always, + and should update after downloading these files. + [ruby-core:66026] [Bug #10461] + +Fri Oct 31 10:16:42 2014 SHIBATA Hiroshi + + * .travis.yml: reverted r48199, it's unrelated configuration. + +Fri Oct 31 09:58:14 2014 SHIBATA Hiroshi + + * test/test_unicode_normalize.rb: added unicode version number to + test data location. + +Fri Oct 31 09:56:41 2014 SHIBATA Hiroshi + + * .gitignore: ignored unicode data with version directories. + +Fri Oct 31 09:35:30 2014 SHIBATA Hiroshi + + * .travis.yml: tweak build scripts for unicode_normalize.rb. + +Thu Oct 30 18:47:04 2014 NARUSE, Yui + + * common.mk: fix for the case ALWAYS_UPDATE_UNICODE=no + +Thu Oct 30 13:23:23 2014 Martin Duerst + + * tool/downloader.rb: changed Unicode data download location + from latest Unicode version to Unicode 7.0.0. + +Thu Oct 30 11:16:13 2014 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_callee_setup_arg{_complex,}): try conversion + by to_ary for a lambda, as well as a proc. + [ruby-core:65887] [Bug #9605] + +Wed Oct 29 21:13:23 2014 Nobuyoshi Nakada + + * parse.y (gettable_gen): warn circular argument reference, for + transition from 2.1 and earlier. [ruby-core:65990] [Bug #10314] + +Wed Oct 29 20:41:01 2014 Nobuyoshi Nakada + + * parse.y (parser_params): remove unused member `cur_mid`. + this has been taken over by `in_def` since 1.6. + +Wed Oct 29 14:44:27 2014 Nobuyoshi Nakada + + * load.c (rb_f_load): path name needs to be transcoded to OS path + encoding. [ruby-list:49994] + +Wed Oct 29 11:48:23 2014 Nobuyoshi Nakada + + * configure.in (__builtin_setjmp): disable with gcc/clang earlier + than 4.3 on Mac OS X. [ruby-core:65174] [Bug #10272] + +Wed Oct 29 11:43:43 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Generalize Vector#cross_product to arbitrary + dimensions + based on a patch by gogo tanaka [#10074] + +Wed Oct 29 11:43:11 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add Matrix#adjucate + patch by gogo tanaka [#10056] + +Wed Oct 29 11:42:33 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add aliases for Vector#cross & dot + patch by gogo tanaka [#10352] + +Wed Oct 29 10:00:18 2014 SHIBATA Hiroshi + + * gems/bundled_gems: Update latest version of bundled gems. + +Tue Oct 28 16:52:07 2014 Eric Wong + + * signal.c (install_sighandler): remove rb_disable_interrupt and + rb_enable_interrupt calls + (init_sigchld): ditto + (Init_signal): disable and enable interrupt once around all + install_sighandler and init_sigchld to reduce syscalls at start + [Feature #9345] [ruby-core:59480] + +Tue Oct 28 16:22:41 2014 Nobuyoshi Nakada + + * ruby.c (process_options, load_file_internal2): should not + require other files when dump option is given. + [ruby-dev:48712] [Bug #10435] + +Tue Oct 28 14:51:38 2014 NARUSE, Yui + + * configure.in: remove apple-gcc4.2 from CC candidates. + +Mon Oct 27 20:13:37 2014 NAKAMURA Usaku + + * lib/rexml/entity.rb: keep the entity size within the limitation. + reported by Willis Vandevanter and + patched by nahi. + +Mon Oct 27 17:17:24 2014 Nobuyoshi Nakada + + * proc.c (method_proc): the receiver of binding from method should + be same as the receiver of the method. + [ruby-core:65917] [Bug #10432] + +Mon Oct 27 16:26:37 2014 Koichi Sasada + + * test/ruby/test_super.rb: add a test to check block passing. + +Mon Oct 27 15:59:26 2014 Koichi Sasada + + * gc.c: is_incremental_marking(), will_be_incremental_marking(): + use `&&' with GC_ENABLE_INCREMENTAL_MARK instead of using + #if/#else/#endif. + +Mon Oct 27 13:40:11 2014 Nobuyoshi Nakada + + * gc.c (gc_sweep_rest): sweep rest pages regardless of whether + lazy sweep is enabled or not. based on the patch by Masahiro + Ide at [ruby-dev:48706]. [Bug #10431] + +Mon Oct 27 11:18:32 2014 Eric Wong + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): + reduce garbage during forks + +Sun Oct 25 12:26:26 2014 Martin Duerst + + * template/insns.inc.tmpl, insns_info.inc.tmpl, known_errors.inc.tmpl, + minsns.inc.tmpl: fixed path of generating script. + +Sun Oct 26 12:24:15 2014 Nobuyoshi Nakada + + * ext/ripper/lib/ripper/sexp.rb (Ripper.sexp, Ripper.sexp_raw): + return nil on error. [ruby-dev:48678] [Bug #10405] + +Sun Oct 25 11:24:24 2014 Martin Duerst + + * string.c: improved comment. + +Sun Oct 26 07:40:11 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_val2variant, ole_invoke): refactoring. + use ole_variant2variant to convert WIN32OLE_VARIANT object to + VARIANT object. + + * ext/win32ole/win32ole_variant.c: refactoring. add + ole_variant2variant. + * ext/win32ole/win32ole_variant.h: ditto. + +Sat Oct 25 22:28:17 2014 Tanaka Akira + + * io.c (io_binwrite_string): Test writev() failure. + +Sat Oct 25 20:19:19 2014 Martin Duerst + + * test/test-unicode_normalize.rb: added test_us_ascii. + +Sat Oct 25 20:09:09 2014 Martin Duerst + + * lib/unicode_normalize/normalize.rb: added US_ASCII + as trivially supported encoding (is always normalized, + and may appear mixed in with UTF-8 or other Unicode + encodings). + +Sat Oct 25 20:01:01 2014 Martin Duerst + + * test/test-unicode_normalize.rb: added + test_raise_exception_for_non_unicode_encoding. + +Sat Oct 25 19:30:30 2014 Martin Duerst + + * test/test-unicode_normalize.rb: removed unused function. + +Sat Oct 25 18:41:41 2014 Martin Duerst + + * template/unicode_norm_gen.tmpl: Adjusted name of generating file. + +Fri Oct 24 22:49:42 2014 Nobuyoshi Nakada + + * parse.y (parser_yylex): dispatch newline and space at fluent + interface, so that the following identifier does not include the + space. [ruby-dev:48684] [Bug #10411] + +Fri Oct 24 20:41:36 2014 Kazuhiro NISHIYAMA + + * signal.c (check_reserved_signal_): fix write count since r47991. + +Thu Oct 23 21:42:54 2014 Nobuyoshi Nakada + + * hash.c (rb_hash_delete): now does not call the block given to + the current method. [ruby-core:65861] [Bug #10413] + +Thu Oct 23 19:13:26 2014 Nobuyoshi Nakada + + * vm_method.c (rb_method_entry_make): warn redefinition only for + already defined methods, but not for undefined methods. + [ruby-dev:48691] [Bug #10421] + +Thu Oct 23 17:19:04 2014 Kouhei Sutou + + * lib/rexml/source.rb (REXML::IOSource#encoding_updated): Fix a + bug that can't parse XML correctly when + Encoding.default_internal is different with XML + encoding. REXML::Source converts XML encoding on read. So IO + should not convert XML encoding. + Based on patch by NAKAMURA Usaku. + [ruby-dev:48686] [Bug #10418] + + * test/rexml/test_encoding.rb + (REXMLTests::EncodingTester#test_parse_utf16_with_utf8_default_internal): + Add the for the above case. + +Thu Oct 23 16:29:02 2014 Kouhei Sutou + + * test/rexml/test_encoding.rb + (REXMLTests::EncodingTester#test_parse_utf16): Use meaningful + test name. "ticket" in the old test name means the ticket in + REXML's issue tracker. The REXML's issue tracker was gone. So + "ticket" is meaningless. + + * test/rexml/data/ticket_110_utf16.xml: Rename to ... + * test/rexml/data/utf16.xml: ... this. + +Thu Oct 23 16:18:11 2014 Kouhei Sutou + + * test/rexml/test_encoding.rb + (REXMLTests::EncodingTester#test_ticket_110): Fix expected and + actual order. + Patch by NAKAMURA Usaku. Thanks!!! + +Thu Oct 23 10:47:16 2014 Eric Wong + + * insns.def (getlocal,setlocal): add comment to def/opt_operand.def + +Thu Oct 23 10:22:41 2014 Eric Wong + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): + use IO#wait_readable instead of timeout + +Thu Oct 23 10:22:24 2014 Eric Wong + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): + ensure exit! during fork failure + +Thu Oct 23 10:21:21 2014 Martin Duerst + + * NEWS: Added String#unicode_normalize(|!|d?) [ci skip] + +Thu Oct 23 03:41:51 2014 Nobuyoshi Nakada + + * class.c (unknown_keyword_error): delete expected keywords + directly from raw table, so that the given block is not called. + [ruby-core:65837] [Bug #10413] + +Thu Oct 23 02:33:01 2014 Nobuyoshi Nakada + + * common.mk (update-unicode): invert dependency to run every times. + [ruby-core:65842] [Bug #10415] + + * common.mk (after-update): update files under source tree. + [ruby-core:65840] [Bug #10414] + +Wed Oct 22 22:38:59 2014 CHIKANAGA Tomoyuki + + * ext/openssl/lib/openssl/ssl.rb (DEFAULT_PARAMS): override + options even if OpenSSL::SSL::OP_NO_SSLv3 is not defined. + this is pointed out by Stephen Touset. [ruby-core:65711] [Bug #9424] + +Wed Oct 22 21:31:56 2014 NAKAMURA Usaku + + * common.mk (prelude.c): add dependency to LIB_SRCS because + enc/prelude.rb requires lib/unicode_normalize.rb, and it's also + requires lib/unicode_normalize/tables.rb (=LIB_SRCS). + +Wed Oct 22 21:09:51 2014 Yuki Yugui Sonoda + + * configure.in (nacl_cv_cpu_nick): fix typo in PNaCl. + (XCFLAGS) Add -isystem flag to pnacl and nacl-newlib + (CXX): added + + * nacl/GNUmakefile.in (CXX): Added + (PPROGRAM): Use clang++ instead of clang because libnacl_io + depends on c++ std lib. + +Wed Oct 22 21:07:32 2014 Yuki Yugui Sonoda + + * common.mk (build-ext): avoid trying to build dynamic libraries + if configured --with-static-linked-ext. + +Wed Oct 22 20:33:33 2014 Martin Duerst + + * common.mk: Fixed grammar in comment [ci skip] + +Wed Oct 22 19:18:18 2014 Martin Duerst + + * tool/unicode_norm_gen.rb: Fixed escaping of backslash and + double quote ('\\\&' -> "\\\\\\\&"; double quoted string + is needed to make \& mean last match; double double + backslashes are needed because of two layers of escaping). + +Wed Oct 22 18:13:29 2014 NAKAMURA Usaku + + * test/test-unicode_normalize.rb: as often said, ruby is sometimes built + at non-srcdir. + +Wed Oct 22 18:12:12 2014 Martin Duerst + + * test/test-unicode_normalize.rb: Adjusted path for test + data file (now ../enc/unicode/data/NormalizationTest.txt). + +Wed Oct 22 18:07:07 2014 Martin Duerst + + * test/test-unicode_normalize.rb: Removed explicit require, + changed method names, adjusted copyright. + +Wed Oct 22 18:00:00 2014 Martin Duerst + + * test/test-unicode_normalize.rb: Importing from + https://github.com/duerst/eprun/blob/master/test/test_normalize.rb. + (removing trailing whitespace, fixing EOLs and adding EOL property) + +Wed Oct 22 08:21:09 2014 Yuki Yugui Sonoda + + * nacl/pepper_main.c (Instance_DidCreate): mount devfs and rebind fd 0 + .. 2 so that stderr goes to the console of the browser. + +Wed Oct 22 03:47:43 2014 KOSAKI Motohiro + + * ext/etc/etc.c (etc_nprocessors_affin): maximum "n" should be 16384. + +Wed Oct 22 03:37:00 2014 KOSAKI Motohiro + + * ext/etc/etc.c (etc_nprocessors_affin): minor spell fix. + +Wed Oct 22 03:33:58 2014 KOSAKI Motohiro + + * ext/etc/etc.c (etc_nprocessors_affin): optimize memory usage a + bit. Typical rubyist never use 8k cpus machine. + +Wed Oct 22 00:01:09 2014 Yuki Yugui Sonoda + + * configure.in (XCFLAGS): Add include path for NaCl libraries. + (XLDFLAGS): ditto. + (NACL_LIB_PATH): new substitution + + * nacl/nacl-config.rb: support NACL_LIB_PATH + + * nacl/package.rb: ditto. + + * nacl/pepper_main.c: replace old implementations with nacl_io. + + * nacl/GNUmakefile.in: link nacl_io to pepper_ruby + + * ruby.c (rb_load_file): remove __attribute__((weak)) because the old + override hack was replaced with nacl_io. + + * file.c (rb_file_load_ok): ditto. + +Tue Oct 21 17:32:32 2014 Martin Duerst + + * common.mk: Adding explicit creation of directory + enc/unicode/data because git doesn't handle empty + directories. [patch by Masahiro Ide, filed with r48073] + +Tue Oct 21 17:12:12 2014 Martin Duerst + + * lib/unicode_normalize/tables.rb: Committing to make version + update easier and more predictable, and reducing compilation + time. + +Tue Oct 21 15:56:56 2014 Martin Duerst + + * lib/unicode_normalize/normalize.rb: Added comment to point to + relevant portion of Unicode standard for Hangul (de)composition + identifiers and algorithm. + +Tue Oct 21 11:49:16 2014 Andreas Schwab + + * gc.c (mark_current_machine_context) [__mc68000__]: Update stack + marking. + (rb_gc_mark_machine_stack) [__mc68000__]: Also handle it here. + +Mon Oct 20 23:59:38 2014 NAKAMURA Usaku + + * enc/prelude.rb: we sometimes run ruby without library path (especially + for test), so should permit to run ruby if unicode_normalize.rb is + missing. + +Mon Oct 20 23:57:58 2014 NAKAMURA Usaku + + * common.mk (lib/unicode_normalize/tables.rb): enable running (n)make + in non-srcdir. + +Mon Oct 20 23:58:04 2014 Nobuyoshi Nakada + + * tool/downloader.rb: add -a option to always download regardless + existing files. + +Mon Oct 20 23:18:18 2014 NAKAMURA Usaku + + * lib/mkmf.rb: no need to convert path separator for COPY because it's + ruby -run cp and it can treat '/' on any platform. + +Mon Oct 20 19:54:54 2014 Martin Duerst + + * config.mk: Added missing data files as targets for + prerequisite update_unicode. + +Mon Oct 20 19:06:06 2014 Martin Duerst + + * lib/unicode_normalize.rb: revert r48046. The s in sIndex + is not hungarian notation. The variable name sIndex is + directly taken from the relevant part of the Unicode + Standard, where it is written SIndex and stands for + 'syllable index'. See pp. 144/145 of + http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf. + +Mon Oct 20 12:46:46 2014 Martin Duerst + + * lib/unicode_normalize.rb: removing unnecessary 'self'. + +Mon Oct 20 12:37:37 2014 Martin Duerst + + * lib/unicode_normalize.rb: change method names + in commented-out code. Followup to r48027. + +Mon Oct 20 02:23:27 2014 Nobuyoshi Nakada + + * variable.c (rb_ivar_get), vm_insnhelper.c (vm_getivar): improve + instance variable retrieval performance by checking ruby_verbose + before call of rb_warning and evaluation of its argument. + [ruby-core:65786] [Feature #10396] + +Sun Oct 19 23:31:29 2014 CHIKANAGA Tomoyuki + + * lib/unicode_normalize.rb: (unicode_normalize!): change method name. + catch up the method name change at r48014. [Feature #10084] + +Sun Oct 19 20:05:58 2014 SHIBATA Hiroshi + + * ext/tk/lib/tkextlib/tile/treeview.rb: fix syntax error. + +Sun Oct 19 18:39:39 2014 Martin Duerst + + * enc/prelude.rb: Added automatic loading of + lib/unicode_normalize.rb. This makes sure that all + the methods that are available on String are + available without explicit require. + +Sun Oct 19 18:35:35 2014 Martin Duerst + + * lib/unicode_normalize/normalize.rb: Added a missing + file extension in require statement. + +Sun Oct 19 18:13:13 2014 Martin Duerst + + * common.mk: Added a rule to generate + lib/unicode_normalize/tables.rb. This rule still + needs to be integrated into the overall make process. + +Sun Oct 19 17:53:53 2014 Martin Duerst + + * lib/unicode_normalize.rb: Changed to dynamic + loading of actual normalization code and tables. + +Sun Oct 19 17:37:37 2014 Martin Duerst + + * lib/unicode_normalize.rb: Small documentation fix. + +Sun Oct 19 17:26:26 2014 Martin Duerst + + * lib/unicode_normalize.rb: Added documentation. + +Sun Oct 19 11:09:09 2014 Martin Duerst + + * tool/unicode_norm_gen.rb, lib/unicode_normalize.rb: + File name change from lib/unicode_normalize/normalize_tables.rb + to lib/unicode_normalize/tables.rb. + +Sun Oct 19 10:12:12 2014 Martin Duerst + + * lib/unicode_normalize.rb: Changing method names, see + https://bugs.ruby-lang.org/issues/10084#note-7 + +Sun Oct 19 10:10:10 2014 Martin Duerst + + * lib/unicode_normalize.rb: Changing module name. + +Sun Oct 19 10:08:08 2014 Martin Duerst + + * lib/unicode_normalize.rb: Changing require statement, + adjusting copyright. + +Sun Oct 19 10:04:04 2014 Martin Duerst + + * lib/unicode_normalize.rb: Importing from + https://github.com/duerst/eprun/blob/master/lib/string_normalize.rb. + (removing trailing whitespace, fixing EOLs and adding EOL property) + +Sun Oct 19 09:56:56 2014 Martin Duerst + + * tool/unicode_norm_gen.rb: Changed module name. + +Sun Oct 19 09:48:48 2014 Martin Duerst + + * lib/unicode_normalize/normalize.rb: Changed module name, + adjusted copyright. + +Sun Oct 19 09:38:38 2014 Martin Duerst + + * lib/unicode_normalize/normalize.rb: Importing from + https://github.com/duerst/eprun/blob/master/lib/normalize.rb. + +Sat Oct 18 20:40:52 2014 Kazuki Tsujimoto + + * vm_core.h, proc.c, vm_backtrace.c, vm_trace.c: + remove rb_binding_new_with_cfp, and use rb_vm_make_binding instead. + +Sat Oct 18 20:38:48 2014 Kazuki Tsujimoto + + * vm_core.h, vm.c, proc.c: fix GC mark miss on bindings. + [ruby-dev:48616] [Bug #10368] + + * test/ruby/test_eval.rb: add a test code. + +Fri Oct 17 22:47:11 2014 Tanaka Akira + + * pack.c (pack_unpack): Add casts for char references for 'u'. + Fix line ending recognition algorithm. + +Fri Oct 17 21:49:52 2014 Tanaka Akira + + * pack.c (pack_unpack): Add casts for char references for 'b' and 'h'. + +Fri Oct 17 17:50:10 2014 Tanaka Akira + + * Avoid undefined behaviors found by gcc -fsanitize=undefined. + gcc (Debian 4.9.1-16) 4.9.1 + + * string.c (rb_str_sum): Avoid undefined behavior. + +Fri Oct 17 17:43:50 2014 Tanaka Akira + + * Avoid undefined behaviors found by gcc -fsanitize=undefined. + gcc (Debian 4.9.1-16) 4.9.1 + + * include/ruby/ruby.h (INT2FIX): Avoid undefined behavior. + + * node.h (nd_set_line): Ditto. + + * pack.c (encodes): Ditto. + (pack_unpack): Ditto. + + * regint.h (BIT_STATUS_AT): Ditto. + (BS_BIT): Ditto. + + * time.c (time_mdump): Ditto. + (time_mload): Ditto. + + * vm_core.h (VM_FRAME_MAGIC_MASK): Ditto. + + * vm_trace.c (recalc_add_ruby_vm_event_flags): Ditto. + +Fri Oct 17 15:06:49 2014 Nobuyoshi Nakada + + * re.c (unescape_nonascii): make dynamically compiled US-ASCII + regexps ASCII-8BIT encoding if binary (hexadecimal, control, + meta) escapes are contained, as well as literal regexps. + [ruby-dev:48626] [Bug #10382] + +Fri Oct 17 03:05:08 2014 Eric Wong + + * test/-ext-/bug_reporter/test_bug_reporter.rb + (test_bug_reporter_add): revert r47972 + * test/ruby/test_rubyoptions.rb (test_segv_test): revert r47971 + [ruby-core:65764] + +Thu Oct 16 23:17:40 2014 Nobuyoshi Nakada + + * signal.c (rb_sigaltstack_size): double default size to get rid + of heap corruption by alternate stack overflow in SEGV handler. + typically happened at fprintf() in control_frame_dump(). + +Thu Oct 16 22:43:12 2014 Tanaka Akira + + * vm_backtrace.c (id2str): Fix a variable name. + [ruby-dev:48642] [Bug #10389] + +Thu Oct 16 20:01:26 2014 Tanaka Akira + + * test/ruby/envutil.rb (assert_pattern_list): Show number of matched + patterns and characters. + +Thu Oct 16 16:26:09 2014 Eric Wong + + * cont.c (fiber_store): fix WIN32 fibers + [ruby-core:65745] [ruby-core:65758] + +Thu Oct 16 15:05:07 2014 Nobuyoshi Nakada + + * parse.y (parser_here_document): do not append already appended + and disposed code fragment. [ruby-dev:48647] [Bug #10392] + +Thu Oct 16 10:35:33 2014 Eric Wong + + * test/-ext-/bug_reporter/test_bug_reporter.rb + (test_bug_reporter_add): fix race + +Thu Oct 16 10:09:02 2014 Eric Wong + + * test/ruby/test_rubyoptions.rb (test_segv_test): fix race + +Thu Oct 16 09:17:48 2014 Nobuyoshi Nakada + + * cont.c (rb_fiber_t): fix compile error caused by move to + vm_core.h at r47964. [Feature #10341] + +Thu Oct 16 08:58:11 2014 Eric Wong + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): + avoid killing wrong parent + +Thu Oct 16 08:40:04 2014 Eric Wong + + * cont.c (fiber_store): restore references to next_fib (fix typo) + +Thu Oct 16 08:26:08 2014 Eric Wong + + * cont.c (fiber_store): remove references to nextfib + fix build when FIBER_USE_NATIVE is 0 + +Thu Oct 16 06:51:35 2014 Knut Franke + + * vm_core.h: declare rb_fiber_t typedef + (rb_thread_t): fiber and root_fiber become rb_fiber_t * (from VALUE) + * vm.c (rb_thread_mark): use rb_fiber_mark_self + * cont.c (rb_fiber_t): prev becomes rb_fiber_t * (from VALUE) + (cont_mark, cont_free): simplify conditions + (rb_fiber_mark_self): new function + (fiber_mark): use rb_fiber_mark_self + (cont_save_thread, cont_restore_thread): inline + (cont_restore_thread): simplify + (fiber_setcontext): simplify conditions + (rb_cont_call): remove dereference + (fiber_t_alloc): update for rb_fiber_t->prev type change + (rb_fiber_start): ditto + (fiber_current): extract from rb_fiber_current + (return_fiber): move, simplify type checks + (rb_fiber_current): use fiber_current + (fiber_store): simplify type checks + (fiber_switch): ditto, simplify call to fiber_setcontext, + use fiber_current + (rb_fiber_transfer): update for type changes + (rb_fiber_terminate): move, use fiber_switch + (rb_fiber_resume): update for type changes + (rb_fiber_reset_root_local_storage): ditto + (rb_fiber_yield): use rb_fiber_switch instead of rb_fiber_transfer + (rb_fiber_m_transfer): ditto + [ruby-core:65518] [Feature #10341] + +Thu Oct 16 06:25:29 2014 Knut Franke + + * cont.c (rb_context_t): comment on saved_thread + (cont_save_thread): sparse copy + (cont_init): copy extra fields + (fiber_init): use current thread VM stack size + [ruby-core:65518] [Feature #10341] + +Thu Oct 16 06:13:09 2014 Knut Franke + + * cont.c (cont_capture): remove unnecessary variable + [ruby-core:65518] [Feature #10341] + +Thu Oct 16 05:02:31 2014 Knut Franke + + * cont.c (fiber_store, fiber_switch): simplify + [ruby-core:65518] [Feature #10341] + +Thu Oct 16 04:28:41 2014 Knut Franke + + * cont.c (rb_fiber_t): remove prev_fiber/next_fiber + (fiber_link_join, fiber_link_remove): remove functions + (fiber_free, fiber_init, root_fiber_alloc): + remove references to removed fields and functions + [ruby-core:65518] [Feature #10341] + +Wed Oct 15 22:08:37 2014 Tanaka Akira + + * ext/etc/etc.c (etc_nprocessors_affin): Test CPU_ALLOC availability. + CentOS 5 don't have CPU_ALLOC(). + +Wed Oct 15 18:26:19 2014 KOSAKI Motohiro + + * ext/etc/etc.c (etc_nprocessors_affinity): use sched_getaffinity + for getting precious number of available cpus. + + * ext/etc/etc.c (etc_nprocessors): use etc_nprocessors_affinity if + possible. + + [Feature #10267] etc-nprocessors-kosaki2.patch + +Wed Oct 15 17:53:28 2014 Tanaka Akira + + * test/ruby/envutil.rb (assert_pattern_list) Renamed from + assert_regexp_list. + Show multiline string in multi lines. + + * test/-ext-/bug_reporter/test_bug_reporter.rb: Use + assert_pattern_list. + +Wed Oct 15 12:26:58 2014 Tanaka Akira + + * test/ruby/envutil.rb (assert_regexp_list): New assertion method. + + * test/ruby/test_rubyoptions.rb: Use assert_regexp_list. + +Wed Oct 15 07:21:09 2014 Tanaka Akira + + * enum.c: min(n) drops elements bigger than the n-th maximum element. + (struct nmin_data): New field to record the n-th maximum element, limit + (nmin_filter): Update limit field. + (nmin_i): Drop too big elements. + (nmin_run): Initialize limit field. + +Wed Oct 15 07:00:14 2014 Eric Wong + + * test/ruby/test_optimization.rb (test_string_size): new test + +Wed Oct 15 06:51:13 2014 Eric Wong + + * test/ruby/test_optimization.rb (test_string_eq_neq): new test + (test_string_ltlt): ditto + +Wed Oct 15 06:50:29 2014 Eric Wong + + * test/ruby/test_optimization.rb (test_hash_aset_with): + assert assignment + +Wed Oct 15 04:56:27 2014 Zachary Scott + + * gc.c (rb_obj_id): [DOC] Fix typo, clean up sentence, and wrap cols + +Wed Oct 15 04:53:30 2014 Zachary Scott + + * error.c: [DOC] Fix case of type in exception message by @tricknotes + [Fixes GH-740] https://github.com/ruby/ruby/pull/740 + + * object.c: ditto + +Tue Oct 14 21:39:16 2014 Vit Ondruch + + * tool/rbinstall.rb (gem): Fix permissions of bundled gems + specification files. [ruby-core:65700] [Bug #10383] + +Tue Oct 14 19:15:31 2014 Masaki Suketa + + * ext/win32ole/win32ole_record.c: use typed data. + +Tue Oct 14 16:23:12 2014 Nobuyoshi Nakada + + * symbol.c (global_symbols): make ids two-dimensional array of + strings and symbols, for write-barrier. + + * symbol.c (global_symbols): make IDs immortal always, instead + of treating dynamic symbols as IDs. + + * iseq.c, marshal.c, string.c: use rb_str_intern instead of + rb_str_dynamic_intern. + + * symbol.c (rb_str_intern): rename rb_str_dynamic_intern. + +Tue Oct 14 10:19:10 2014 Eric Wong + + * test/ruby/test_optimization.rb (test_string_freeze): new test + (test_hash_aref_with): ditto + (test_hash_aset_with): ditto + +Tue Oct 14 01:27:54 2014 Tanaka Akira + + * enum.c (nmin_run): max(n) and max_by(n) returns an array in + descending order. + [ruby-core:65452] Suggested by David Grayson. + +Mon Oct 13 20:44:49 2014 Nobuyoshi Nakada + + * common.mk (update-gems): chdir to the target directory and then + add the tool directory to load paths, for older BASERUBY. + [Bug #10372][ruby-core:65630] + +Mon Oct 13 17:53:01 2014 SHIBATA Hiroshi + + * lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem. + [Feature #9379][ruby-core:59633] + * lib/xmlrpc/config.rb: ditto. + +Mon Oct 13 16:32:56 2014 Tanaka Akira + + * lib/find.rb (Find.find): Call to_path for arguments to obtain + strings. + [ruby-core:63713] [Bug #10035] Reported by Herwin. + +Mon Oct 13 15:42:25 2014 SHIBATA Hiroshi + + * common.mk: use relative load path for bundled_gems directory. + [Bug #10372][ruby-core:65630] + +Mon Oct 13 08:44:06 2014 Zachary Scott + + * README.EXT: [DOC] fix example missing typedef with patch by + @steveklabnik [Fixes GH-739] https://github.com/ruby/ruby/pull/739 + + * README.EXT.ja: ditto. + +Mon Oct 13 06:52:09 2014 Eric Wong + + * array.c (ary_recycle_hash): add RB_GC_GUARD + (rb_ary_diff): remove volatile + [Bug #10369] + +Mon Oct 13 03:20:23 2014 Zachary Scott + + * ext/date/date_core.c: [DOC] Clean up whitespace, examples, and typos + in date_core based on a patch by @vipulnsward [Fixes GH-724] + https://github.com/ruby/ruby/pull/724 + +Mon Oct 13 02:39:26 2014 Nobuyoshi Nakada + + * parse.y (remove_duplicate_keys): should not simply eliminate all + value nodes, which may have side effects. + [ruby-core:65625] [Bug #10315] + +Sun Oct 12 10:39:16 2014 Zachary Scott + + * vm.c: [DOC] fix typo by @yui-knk [Fixes GH-738] + https://github.com/ruby/ruby/pull/738 + +Sun Oct 12 09:24:15 2014 Tanaka Akira + + * test/lib/test/unit.rb: Hide skips by default. + +Sun Oct 12 01:37:11 2014 Yuki Yugui Sonoda + + * file.c: include sys/time.h only if HAVE_SYS_TIME_H + +Sat Oct 11 22:29:40 2014 Yuki Yugui Sonoda + + * file.c (HAVE_UTIMENSAT): disabled for NativeClient. + Fixes build error. + +Sat Oct 11 22:11:58 2014 Yuki Yugui Sonoda + + * ext/extmk.rb: generates the rule for extinit.$(OBJEXT). + extinit.$(OBJEXT) used to be generated by the builtin rule, thus + didn't accept custom $(CC) and caused linkage error for cross + compiling. + +Sat Oct 11 18:46:50 2014 Yuki Yugui Sonoda + + * include/ruby/intern.h (rb_fd_select): declare struct timeval, or the + struct gets local to the function in C99. + + * file.c (#include): add nacl/stat.h for PNaCl. + (utimes): added a declaration for PNaCl. + (stat_atimespec): stat::st_atimensec is long long but + timespec::tv_nsec is long in PNaCl. + (stat_mtimespec, stat_ctimespec): ditto. + (rb_group_member): disable getgroups unless HAVE_GETGROUPS. + (eaccess): unify the fallback to generic defined(USE_GETEUID). + + * io.c: include sys/time.h for struct timeval. + (rb_close_before_exec): nothing we can do if F_GETFD is not + available. + (ioctl): pnacl newlib actually doesn't have ioctl. + + * process.c (maxgroups): it is used iff + defined(_SC_NGROUPS_MAX) || defined(NGROUPS_MAX) but not + defined(HAVE_GETGROUPS) || defined(HAVE_SETGROUPS). + (obj2gid): fail unless the object is a Fixnum if getgrnam is not + available. + (disable_child_handler_fork_child): sigaction is not available in + PNaCl newlib. + + * configure.in (warnflags, strict_warnflags): avoid -ansi for strlcpy. + (rb_cv_gcc_atomic_builtins): also check + __atomic_or_etch because it is used in ruby_atomic.h. + (rb_cv_gcc_sync_builtins): ditto. + (HAVE_GETGRNAM): added. + +Sat Oct 11 15:32:08 2014 Eric Wong + + * compile.c (iseq_build_from_ary_exception): move RB_GC_GUARD + (iseq_build_from_ary_body): use PRIsVALUE instead of RB_GC_GUARD + +Sat Oct 11 14:57:08 2014 Eric Wong + + * string.c (rb_str_intern): remove unnecessary RB_GC_GUARD + +Sat Oct 11 13:47:13 2014 Nobuyoshi Nakada + + * parse.y (remove_duplicate_keys): remove duplicate literal keys, + i.e., symbols and strings. [ruby-core:65368] [Bug #10315] + + * vm.c (kwmerge_i): override existing keys by new keys. + [ruby-core:65368] [Bug #10315] + + * parse.y (assocs): concatenate splatted literal hashes. the + former key has precedence even if duplicated literal keys + follow. [ruby-core:65368] [Bug #10315] + +Sat Oct 11 12:27:03 2014 Yuki Yugui Sonoda + + * configure.in (RUBY_NACL): automatically locate pnacl-clang. + (RUBY_PLATFORM): pnacl instead of le32-nacl. + +Sat Oct 11 11:27:14 2014 Yuki Yugui Sonoda + + * io.c: fix issues in the last two commits. don't disable cloexec for + platforms other than NativeClient. + + * ChangeLog: ditto. add entries for the last two commits. + +Sat Oct 11 11:12:00 2014 Yuki Yugui Sonoda + + * signal.c (install_signalhandler, init_sigchld): allow failure because it + always fails with ENOSYS on NaCl. + +Sat Oct 11 11:11:53 2014 Yuki Yugui Sonoda + + * configure.in (RUBY_NACL and others): merge patch from naclports. Supports PNaCl. + + * dln.c: ditto. replace the old hacky dynamic loading over HTTP with nacl_io. + + * file.c: ditto. tentatively use access(2) instead of eaccess. + (rb_file_load_ok): weaken with attribute but not by postprocess. + + * io.c: ditto. + (socket.h): now NaCl has socket.h + (flock): disable here instead of nacl/ioctl.h + + * nacl/GNUmakefile.in: ditto. + (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY): + respect path to them if they are absolute. + This helps naclports to build ruby in their source tree. + (PROGRAM_NMF, .SUFFIXES): support .pnexe for PNaCl. + (ruby.o, file.o): move the hack to attributes in ruby.c and file.c + + * nacl/ioctl.h: ditto. removed. move the hack to io.c. + + * nacl/nacl-config.rb: ditto. support arm, pnacl and others. + + * nacl/pepper_main.c: ditto. support build in a naclports tree. + + * ruby.c (rb_load_file): ditto. weaken with attribute but not by postprocess. + +Sat Oct 11 09:32:00 2014 Zachary Scott + + * ext/socket/unixsocket.c: [DOC] Fix example to render in HTML + properly, with a patch by @eval [Fixes GH-733] + https://github.com/ruby/ruby/pull/733 + +Sat Oct 11 04:14:41 2014 Kir Shatrov + + * lib/open-uri.rb (OpenURI::Options): add :open_timeout default + * (def OpenURI.open_http): check :open_timeout option + * (module OpenURI): rdoc for :open_timeout + * test/open-uri/test_open-uri.rb (test_open_timeout): new test + [Feature #10361] + +Fri Oct 10 11:27:49 2014 Nobuyoshi Nakada + + * include/ruby/io.h (rb_io_mode_flags, rb_io_modenum_flags): + deprecate old macros for compatibility for ruby 1.8 and older. + +Thu Oct 9 23:31:47 2014 Naohisa Goto + + * bignum.c (absint_numwords_generic): set an array element after + definition of a variable to fix compile error with older version + of fcc (Fujitsu C Compiler) 5.6 on Solaris 10 on Sparc. + [Bug #10350] [ruby-dev:48608] + +Thu Oct 9 16:15:26 2014 Eric Wong + + * ext/-test-/st/foreach/extconf.rb: new file + * ext/-test-/st/foreach/foreach.c: ditto + * test/-ext-/st/test_foreach.rb: ditto + [Feature #10321] + +Thu Oct 9 12:40:28 2014 Eric Wong + + * benchmark/bm_hash_aref_sym*.rb: force static symbols + +Thu Oct 9 12:38:28 2014 Eric Wong + + * hash.c (rb_any_hash): remove unnecessary dsym check + +Thu Oct 9 07:20:30 2014 Rei Odaira + + * missing/setproctitle.c: Avoid invalidating argv[1], argv[2], + etc. until the first call to Process.setproctitle, because + the ps command of AIX refers to the argv array. + [Bug #10090] + +Thu Oct 9 00:53:15 2014 Nobuyoshi Nakada + + * dir.c (dir_s_aref): fix rdoc. `Dir.glob` allows an array but + `Dir[]` not. the former accepts an optional parameter `flags`, + while the latter accepts arbitrary number of arguments but no + `flags`. [ruby-core:65265] [Bug #10294] + +Wed Oct 8 21:44:10 2014 Masaki Suketa + + * ext/win32ole/win32ole_variable.c: use typed data. + +Wed Oct 8 16:36:47 2014 gogo tanaka + + * test/ruby/test_syntax.rb: added syntax tests of underscore + arguments. [Feature #10340][ruby-core:65496] + +Wed Oct 8 07:42:39 2014 NARUSE, Yui + + * lib/uri/generic.rb (URI#inspect): remove Object id. + URI is considered that it doesn't require id. + +Wed Oct 8 05:22:42 2014 Eric Wong + + * ext/etc/etc.c (etc_systmpdir): set default tmplen correctly + Fixup r47826 + +Wed Oct 8 05:16:32 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add @- and @+ for Matrix and Vector. + patch by gogo tanaka [#10068] [#10069] + +Wed Oct 8 04:58:48 2014 John Bachir + + * bootstraptest/test_io.rb (assert_finish): + normalize rescue for Timeout::Error + * lib/net/ftp.rb (Net#read_timeout): ditto for doc + * lib/resolv.rb (Resolv::ResolvTimeout): ditto for subclass + * lib/webrick/httprequest.rb (_read_data): ditto for rescue + * sample/timeout.rb (p timeout): ditto for call + * test/drb/drbtest.rb (test_06_timeout): ditto + * test/ruby/test_readpartial.rb (test_open_pipe): ditto + * test/thread/test_queue.rb (test_queue_thread_raise): ditto + * thread.c (rb_thread_s_handle_interrupt): ditto for doc + [ruby-core:65481] [misc #10339] + +Wed Oct 8 04:38:29 2014 Rei Odaira + + * test/ruby/test_process.rb (TestProcess#test_setsid): AIX + does not allow Process::getsid(pid) when pid is in a + different session. + +Wed Oct 8 04:33:04 2014 Rei Odaira + + * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding): + On AIX, locale_charmap is ISO-8859-1 with LANG=C. This means + the source encoding of stdin is ISO-8859-1, so "invalid + multibyte char" error does not occur. + +Wed Oct 8 04:30:29 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add Matrix#laplace_expansion. + patch by gogo tanaka [#10073] + +Wed Oct 8 04:29:21 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add Vector.basis. + Based on patch by gogo tanaka [#10072] + +Tue Oct 7 23:40:16 2014 Nobuyoshi Nakada + + * signal.c (rb_f_kill): get rid of deadlock as unhandled and + discarded signals do not make interrupt_cond signaled. + based on the patch by Kazuki Tsujimoto at [ruby-dev:48606]. + [Bug #9820] + +Tue Oct 7 22:43:44 2014 Masaki Suketa + + * ext/win32ole/win32ole_method.c: use typed data. + +Tue Oct 7 21:47:05 2014 Masaki Suketa + + * ext/win32ole/win32ole_param.c: refactoring. + +Tue Oct 7 21:40:17 2014 Masaki Suketa + + * ext/win32ole/win32ole_method.c: refactoring. add + olemethod_data_get_struct to wrap Data_Get_Struct. + * ext/win32ole/win32ole_method.h: ditto. + + * ext/win32ole/win32ole_param.c (oleparam_ole_param): + call olemethod_data_get_struct instead of Data_Get_Struct. + +Tue Oct 7 11:17:08 2014 Nobuyoshi Nakada + + * ext/etc/etc.c (etc_systmpdir): try user temporary directory by + confstr() on Mac OS X. + c.f. http://www.opensource.apple.com/source/ruby/ruby-104/patches/ext_etc_etc.c.diff + +Tue Oct 7 10:48:17 2014 Nobuyoshi Nakada + + * configure.in (struct stat.st_size): prefer off_t over int, long, + and so on. inspired by + http://www.opensource.apple.com/source/ruby/ruby-104/patches/config.h.ed + +Tue Oct 7 10:37:39 2014 Nobuyoshi Nakada + + * configure.in (RUBY_UNIVERSAL_ARCH): fix missing quoting + brackets. incorporated from + http://www.opensource.apple.com/source/ruby/ruby-104/patches/configure.diff + +Mon Oct 6 23:34:42 2014 Masaki Suketa + + * ext/win32ole/win32ole_param.c: use typed data. + +Mon Oct 6 22:37:09 2014 Nobuyoshi Nakada + + * symbol.h (struct RSymbol): move from internal.h. + +Mon Oct 6 21:43:03 2014 NAKAMURA Usaku + + * error.c: update exception tree. [DOC] + reported by @hemge via twitter. + +Mon Oct 6 18:43:03 2014 Rei Odaira + + * configure.in: Fix typo. [Bug #9914] + +Mon Oct 6 16:23:30 2014 Nobuyoshi Nakada + + * signal.c (rb_f_kill): should not ignore signal unless the + default handler is registered. [ruby-dev:48592] [Bug #9820] + +Mon Oct 6 16:07:11 2014 Nobuyoshi Nakada + + * test/ruby/test_string.rb (test_LSHIFT_neary_long_max): enable + only on platforms where string size range is smaller than memory + space. this test does not make sense but just wastes memory and + time on other platforms, as it is hardly possible that a string + size becomes neary LONG_MAX if long size equals pointer size. + [ruby-core:65410] [Bug #10325] + +Mon Oct 6 11:21:21 2014 Martin Duerst + + * tool/unicode_norm_gen.rb: Adding/tweaking comments. + +Mon Oct 6 10:57:57 2014 Martin Duerst + + * tool/unicode_norm_gen.rb: Adjusted directory paths. + +Mon Oct 6 10:27:27 2014 Martin Duerst + + * tool/unicode_norm_gen.rb: Data generation script imported from + https://github.com/duerst/eprun/blob/master/lib/generate.rb + +Mon Oct 6 10:15:15 2014 Martin Duerst + + * tool/downloader.rb: Adjust example in documentation for + Downloader.download. + +Mon Oct 6 10:07:07 2014 Martin Duerst + + * lib/unicode_normalize: New folder for Unicode normalization + functionality + +Sun Oct 5 11:04:13 2014 Luiz Angelo Daros de Luca + + * ext/digest/{md5,rmd160,sha1,sha2}/extconf.rb: configure OpenSSL + only if bundled libraries is not used, so that OpenSSL is not + linked unnecessarily. [ruby-core:65404] [Bug #10324] + +Sun Oct 5 10:39:11 2014 Luiz Angelo Daros de Luca + + * ext/digest/rmd160/extconf.rb: fix transform function name to + check. [ruby-core:65091] [Bug #10252] + +Sun Oct 5 05:46:00 2014 Eric Wong + + * ext/zlib/zlib.c (zstream_mark, zstream_free): update signature + (gzfile_mark, gzfile_free): ditto + (zstream_memsize): new function for rb_data_type->dsize + (gzfile_memsize): ditto + (zstream_data_type, gzfile_data_type): new data types + (zstream_new): Data_Make_Struct => TypedData_Make_Struct + (gzfile_new): ditto + (get_zstream, get_gzfile): Data_Get_Struct => TypedData_Get_Struct + (rb_zstream_flush_next_in): ditto + (rb_zstream_flush_next_out): ditto + (rb_zstream_avail_out): ditto + (rb_zstream_avail_in): ditto + (rb_zstream_closed_p): ditto + (rb_deflate_initialize): ditto + (rb_deflate_init_copy): ditto + (rb_inflate_initialize): ditto + (gzfile_ensure_close): ditto + (rb_gzfile_closed_p): ditto + (rb_gzfile_path): ditto + (rb_gzwriter_initialize): ditto + (rb_gzreader_initialize): ditto + (rb_gzreader_unused): ditto + [ruby-core:65377] [Feature #10319] + +Sat Oct 4 16:24:41 2014 Rei Odaira + + * test/test_syslog.rb (TestSyslog#test_log): In AIX, each output + line of LOG_PERROR to stderr has an additional empty line appended, + so skip that line. + +Sat Oct 4 16:05:49 2014 Rei Odaira + + * test/socket/test_unix.rb (TestSocket_UNIXSocket#test_too_long_path): + sockaddr_un.sun_path in AIX is defined as char[1024], + so "a" * 300 is not too long. "a" * 3000 would be enough. + +Sat Oct 4 09:12:03 2014 Zachary Scott + + * ext/win32ole/sample/example*.rb: Add wait input to quit for examples + with patch provided by @windwiny [Fixes GH-705] + https://github.com/ruby/ruby/pull/705 + +Sat Oct 4 09:08:18 2014 Zachary Scott + + * ext/win32ole/win32ole.c: [DOC] Fix typo in :nodoc: reported by + @windwiny to [Fix GH-705] https://github.com/ruby/ruby/pull/705 + + * ext/pty/pty.c: ditto + +Sat Oct 4 08:59:45 2014 Zachary Scott + + * ext/openssl/ossl_rand.c: [DOC] Add call signature for pseudo_bytes + and random_bytes, wrap lines at 80 chars, and remove useless + comments. + +Sat Oct 4 08:49:34 2014 Zachary Scott + + * ext/openssl/ossl_rand.c: [DOC] Add rdoc for method descriptions + By @vipulnsward [Fixes GH-657] https://github.com/ruby/ruby/pull/657 + +Sat Oct 4 08:23:48 2014 Zachary Scott + + * ext/openssl/ossl_rand.c: Use rb_define_module_function instead of + macro. [Fixes GH-686] https://github.com/ruby/ruby/pull/686 + +Sat Oct 4 06:04:56 2014 Masaki Suketa + + * ext/win32ole/win32ole_method.c(olemethod_set_member): remove + redundant NULL check. + * ext/win32ole/win32ole_type.c(oletype_set_member): ditto. + +Sat Oct 4 00:25:04 2014 SHIBATA Hiroshi + + * .travis.yml: removed needless preparation for gcc. + +Fri Oct 3 23:41:20 2014 SHIBATA Hiroshi + + * .travis.yml: enabled gcc build with osx on travis. + +Fri Oct 3 23:22:23 2014 Hiroshi Shirosaki + + * template/fake.rb.in: fix make install failure due to MSYS path + with mingw on MSYS environment. + [ruby-core:64965] [Bug #10230] + +Fri Oct 3 21:02:32 2014 SHIBATA Hiroshi + + * test/ruby/test_io.rb (TestIO#test_advise): avoid to infinite loop. + +Fri Oct 3 19:26:01 2014 SHIBATA Hiroshi + + * .travis.yml: enabled test results of linux. + +Fri Oct 3 18:52:16 2014 SHIBATA Hiroshi + + * test/ruby/test_io.rb (TestIO#test_advise): added workaround of fadvise(2) + with tmpfs and old linux kernel. [ruby-core:65355][Bug #10313] + +Fri Oct 3 18:22:45 2014 SHIBATA Hiroshi + + * .travis.yml: Disabled to generate document on travis. + Reduce test running time. + +Fri Oct 3 12:42:15 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add hstack & vstack methods. + Based on a patch by creasywuqiong. [Fix GH-344] + +Fri Oct 3 12:37:48 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Fix Matrix.rows copy bug. + Patch by Arron Mabrey. [Fix GH-707] + +Fri Oct 3 06:06:28 2014 Eric Wong + + * st.c (next_pow2): new function (from old bignum.c) + (new_size): use next_pow2 function + +Fri Oct 3 05:58:58 2014 Eric Wong + + * vm_trace.c (rb_tp_t): pack 56 => 48 bytes on 64-bit + +Thu Oct 2 18:41:45 2014 NAKAMURA Usaku + + * ext/etc/etc.c (etc_nprocessors): Windows support. + see [Feature #10267] + +Thu Oct 2 12:21:52 2014 Tanaka Akira + + * ext/etc/etc.c (etc_nprocessors): New method. + Accepted by matz at RubyKaigi 2014. + [ruby-core:65142] [Feature #10267] + +Thu Oct 2 07:56:49 2014 Eric Wong + + * iseq.c (rb_iseq_line_trace_each): explicit cast + Fix https://travis-ci.org/ruby/ruby/jobs/36814282 + +Thu Oct 2 05:40:05 2014 Eric Wong + + * ruby.h: set rb_event_flag_t to uint32_t + [ruby-core:65315] [misc #10249] + +Thu Oct 2 05:32:17 2014 Eric Wong + + * io.c (fptr_finalize): free memory before GC sweep + [ruby-core:65269] [Feature #10295] + +Thu Oct 2 05:27:24 2014 Eric Wong + + * marshal.c (w_class): check dump_arg->compat_tbl before lookup + (w_object): lazy init ->compat_tbl before insert + (obj_alloc_by_class): ditto + (clear_dump_arg): free only non-NULL ->compat_tbl + (clear_load_arg): ditto for ->compat_tbl + (marshal_dump): ->compat_tbl defaults to zero + (marshal_load): ditto for ->compat_tbl + (r_entry0): check l->compat_tbl before lookup + (r_fixup_compat): ditto + [ruby-core:65305] [Feature #10302] + +Wed Oct 1 21:14:34 2014 Masaki Suketa + + * ext/win32ole/win32ole_type.c: use typed data. + +Wed Oct 1 18:15:42 2014 Nolan Evans + + * compile.c: remove commented out code. + +Wed Oct 1 17:38:53 2014 Rei Odaira + + * test/fileutils/test_fileutils.rb: AIX does not allow + a sticky bit on a regular file. + +Wed Oct 1 17:31:41 2014 Eric Hodel + + * NEWS: Add RubyGems update. + +Wed Oct 1 17:28:58 2014 Eric Hodel + + * lib/rubygems: Update to RubyGems 2.4.2. + * test/rubygems: ditto. + +Tue Sep 30 22:25:32 2014 Nobuyoshi Nakada + + * parse.y (parser_data_type): separate ripper data type for from + parser. + +Tue Sep 30 18:46:31 2014 Masaki Suketa + + * ext/win32ole/win32ole_typelib.c: use typed data. + +Tue Sep 30 09:51:46 2014 SHIBATA Hiroshi + + * common.mk: fixed broken reference of update-config_files task + +Mon Sep 29 22:54:51 2014 Nobuyoshi Nakada + + * win32/file.c (append_wstr): set expanded length, not length of + appended string. fix "probable buffer overflow" bug. + [ruby-core:65317] [Bug #10304] + + * string.c (str_make_independent_expand): drop NOFREE flag after + reallocation, static buffer is not pointed anymore. + [ruby-core:65317] [Bug #10304] + +Sun Sep 28 23:59:17 2014 Kazuki Tsujimoto + + * gc.c (rb_gcdebug_print_obj_condition): use RVALUE_REMEMBERED + because GET_HEAP_REMEMBERSET_BITS is obsoleted. + +Sun Sep 28 11:14:14 2014 Martin Duerst + + * common.mk: Created new target update-unicode to download + some Unicode data files. + +Fri Sep 26 15:03:19 2014 Masaki Matsushita + + * lib/uri/rfc3986_parser.rb: raise URI::InvalidURIError when + uri doesn't respond to #to_str. [ruby-core:64453] [Bug #10150] + + * test/uri/test_parser.rb: test for above. + +Sat Sep 27 10:31:48 2014 Kazuki Tsujimoto + + * gems/bundled_gems: upgraded to power_assert 0.1.4. + +Fri Sep 26 12:52:36 2014 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO + should be writable any encoding strings, without conversion. + [ruby-core:65240] [Bug #10285] + +Fri Sep 26 05:21:01 2014 Eric Wong + + * object.c (rb_class_real): do not dereference 0 VALUE + + * test/ruby/test_module.rb (test_inspect_segfault): + Test case and bug report by Thomas Stratmann. + [ruby-core:65214] [Bug #10282] + +Fri Sep 26 05:12:10 2014 Eric Wong + + * man/ruby.1: document stack size env variables + [Feature #10197] + +Thu Sep 25 19:37:34 2014 Eric Wong + + * io.c (free_io_buffer): new function for a common pattern + (clear_readconv): use free_io_buffer + (rb_io_fptr_finalize): ditto + +Thu Sep 25 07:51:07 2014 Ayumu AIZAWA + + * lib/matrix.rb: Fix docs. Patched by Ben Woodall. [GH-726] + +Wed Sep 24 19:04:04 2014 Martin Duerst + + * enc/unicode/data: New directory for downloaded Unicode + data files. + +Wed Sep 24 18:59:59 2014 Martin Duerst + + * tool/downloader.rb: Adjusting example for + Downloader.download to implementation changes in r47693. + +Wed Sep 24 18:06:06 2014 Martin Duerst + + * tool/downloader.rb: Removing unused method + Downloader.download_if_modified_since. + (if ever used, just replace with Downloader.download) + +Wed Sep 24 17:59:59 2014 Martin Duerst + + * tool/downloader.rb: Fixing raise after return. + +Wed Sep 24 17:55:55 2014 Martin Duerst + + * tool/downloader.rb: Made Unicode data file location available + via :unicode Symbol. + +Wed Sep 24 10:45:45 2014 Martin Duerst + + * tool/downloader.rb: Small fix to documentation comment. + +Tue Sep 23 22:00:20 2014 Nobuyoshi Nakada + + * parse.y (parse_ident): just after a label, new expression should + start, cannot be a modifier. [ruby-core:65211] [Bug #10279] + +Tue Sep 23 16:07:07 2014 Martin Duerst + + * tool/downloader.rb: added Downloader.download_if_modified_since + to reduce downloads of large files that change only rarely. + [ruby-core:65164] [CommonRuby - Feature #10084] + +Tue Sep 23 11:55:09 2014 SHIBATA Hiroshi + + * .travis.yml: added rubyspec into travis tasks and eliminate to stdout. + +Mon Sep 22 20:00:29 2014 Masaki Suketa + + * test/win32ole/test_win32ole_variant.rb + (test_conversion_time2date_with_msec): test by using only + assert_in_delta to avoid to fail when converting Time object with + 999999999 nanoseconds into VT_DATE Variant. + +Mon Sep 22 19:49:12 2014 Zachary Scott + + * doc/syntax/methods.rdoc: [DOC] [] and []= methods by @process + [Fixes GH-662] https://github.com/ruby/ruby/pull/662 + +Mon Sep 22 18:21:35 2014 SHIBATA Hiroshi + + * .travis.yml: Only osx build is enabled. linux builds is random failure + and test results of major linux is covered by rubyci. + +Mon Sep 22 12:10:29 2014 Tanaka Akira + + * test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g. + [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch. + +Mon Sep 22 09:28:43 2014 Eric Wong + + * ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 => 16 bytes + * ext/socket/init.c (connect_arg): ditto + * ext/socket/raddrinfo.c (getnameinfo_arg): 56 => 48 bytes + (reductions only for 64-bit systems) + +Mon Sep 22 02:04:25 2014 Tanaka Akira + + * lib/drb/drb.rb: Support graceful shutdown. + (DRbTCPSocket#initialize): Create a pipe for shutdown notification. + (DRbTCPSocket#close): Invoke close_shutdown_pipe. + (DRbTCPSocket#close_shutdown_pipe): New private method. + (DRbTCPSocket#accept): Use accept_or_shutdown. + (DRbTCPSocket#accept_or_shutdown): New private method which returns + nil on shutdown. + (DRbServer#stop_service): Use shutdown instead of Thread#kill. + (DRbServer#run): Break infinite loop when main_loop returns nil. + (DRbServer#main_loop): @protocol.accept may return nil. + + * lib/drb/ssl.rb: Follow above change. + + * lib/drb/unix.rb: Ditto. + +Sun Sep 21 13:54:36 2014 Masaki Matsushita + + * time.c: raise exception when minutes of utc_offset is out of 00-59. + patch is from Kenichi Kamiya. + [ruby-dev:47539] [Bug #8679] + + * test/ruby/test_time.rb: test for above. + patch is from Kenichi Kamiya. + +Sun Sep 21 19:04:08 2014 Narihiro Nakamura + + * st.c (do_hash_bin): unused macro. + +Sun Sep 21 18:45:01 2014 Narihiro Nakamura + + * parse.y (parser_class_nest): unused variable after YARV + merged (r11439). + +Sun Sep 21 18:14:03 2014 Narihiro Nakamura + + * st.c (numberof): unused. internal.h has same macro. + + * node.c (F_CUSTOM2): unused. + +Sun Sep 21 14:11:23 2014 Tanaka Akira + + * thread_pthread.c (native_set_thread_name): New function to + set thread name visible with ps command on GNU/Linux. + Ex. ps -o %c -L + + * thread.c (thread_start_func_2): Call native_set_thread_name at + beginning. + (rb_thread_inspect_msg): Extract from rb_thread_inspect. + +Sun Sep 21 12:49:11 2014 Eric Wong + + * iseq.c (rb_iseq_defined_string): trim redundant semi-colon + +Sun Sep 21 12:19:29 2014 Eric Wong + + * file.c (rb_find_file_ext_safe): clear tmp buffer on failure + (rb_find_file_safe): ditto + +Sat Sep 20 04:42:18 2014 Masaki Matsushita + + * lib/csv.rb: avoid unnecessary object allocations. + patch is from Andrew Vit. [ruby-core:63215] [Feature #9952] + +Sun Sep 21 12:10:18 2014 SHIBATA Hiroshi + + * lib/rexml/**/*.rb: removed commented-out code. + +Sat Sep 20 03:46:58 2014 Masaki Matsushita + + * array.c: use rb_equal_opt() for performance improvement. + [ruby-core:64954] [Feature #10227] + +Sun Sep 21 11:16:56 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (rbtime2vtdate, vtdate2rbtime): fix + the bug in conversion of milliseconds. [Bug #10258] + + * test/win32ole/test_win32ole_variant.rb + (test_conversion_dbl2date_with_msec, + test_conversion_time2date_with_msec): use assert_in_delta instead + of assert_equal to treat an acceptable error range. + +Sun Sep 21 11:03:32 2014 Nobuyoshi Nakada + + * signal.c (ruby_signal): although "EINVAL from sigaction(2) is + not a bug", but even it is a failure. pointed at toRuby/guRuby + in RubyHiroba. + +Sat Sep 20 03:00:26 2014 Masaki Matsushita + + * lib/tempfile.rb: define parameters appropriately and some + refactoring. + + * lib/tmpdir.rb: ditto. + +Sat Sep 20 23:58:21 2014 Tanaka Akira + + * enum.c (enum_chunk): Deprecate the state management. + (enum_slice_before): Ditto. + +Sat Sep 20 15:39:11 2014 Tanaka Akira + + * enum.c (enum_slice_when): New method: Enumerable#slice_when. + (slicewhen_i): New function. + (slicewhen_ii): New function. + + * enumerator.c (InitVM_Enumerator): New method: + Enumerator::Lazy#slice_when. + + [ruby-core:62499] [Feature #9826] + +Sat Sep 20 11:55:19 2014 SHIBATA Hiroshi + + * .travis.yml: added new configurations for osx on travis ci. + [fix GH-723] + * test/ruby/test_object.rb: tweaked to memory leak limit for osx build. + +Sat Sep 20 10:48:41 2014 Nobuyoshi Nakada + + * parse.y (assoc): allow quoted ID as a key of a hash literal. + [ruby-core:34453] [Feature #4276] + +Sat Sep 20 10:23:00 2014 Nobuyoshi Nakada + + * compile.c (iseq_set_arguments): store local variable IDs in + temporary list as Symbols. previously these are stored as + Fixnums to prevent from GC, but IDs of dynamic symbols can + exceed Fixnum range and cause RangeError at inverting from + Fixnum. [ruby-dev:48564] [Bug #10266] + +Sat Sep 20 10:02:51 2014 Tanaka Akira + + * ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#pretty_print): + New method. + (OpenSSL::X509::Certificate#pretty_print): Ditto. + + * ext/openssl/lib/openssl/bn.rb (OpenSSL::BN#pretty_print): Ditto. + +Sat Sep 20 07:55:57 2014 Nobuyoshi Nakada + + * vm_eval.c (eval_string_with_cref): fix super from eval with + scope. set klass in the current control frame to the class of + the receiver in the context to be evaluated, this class/module + must match the actual receiver to call super. + [ruby-core:65122] [Bug #10263] + +Fri Sep 19 20:06:00 2014 Nobuyoshi Nakada + + * symbol.c (rb_str_dynamic_intern): check if the stem ID of + attrset ID is already registered as a static ID. + [ruby-dev:48559] [Bug #10259] + +Fri Sep 19 15:48:09 2014 NAKAMURA Usaku + + * win32/Makefile.sub (VCSUP): nothing to do if this worktree is not + under any VCS (it means that the worktree may be from the release + package). + +Fri Sep 19 10:47:03 2014 Nobuyoshi Nakada + + * test/ruby/test_math.rb (TestMath#assert_infinity): Float#finite? + returns true also for NaN, so use Float#infinite? instead. + [ruby-core:65117] [Feature #10261] + +Fri Sep 19 05:36:16 2014 Eric Wong + + * NEWS: note --with-jemalloc option [ci skip] + +Thu Sep 18 16:26:27 2014 NAKAMURA Usaku + + * test/rubygems/test_gem_commands_setup_command.rb: @ui uses StringIO + as its streams, and Encoding.default_external does not effect to + StringIOs already exist. so, we need to set external_encoding of + @ui.outs directly. this problem (test failure) does not appear in + the environments default_external is us-ascii or utf-8. + +Thu Sep 18 15:02:15 2014 NAKAMURA Usaku + + * test/rubygems/test_gem_specification.rb: '/' is not always the root. + +Thu Sep 18 09:36:37 2014 Scott Francis + + * vm_method.c (Init_Method): make global method cache size + configurable by environment variable + "RUBY_GLOBAL_METHOD_CACHE_SIZE" [Fix GH-719] + +Thu Sep 18 07:03:36 2014 Eric Wong + + * test/-ext-/string/test_modify_expand.rb: increase limit + for {je,tc}malloc [Bug #10236] + +Thu Sep 18 06:41:18 2014 Eric Wong + + * ext/zlib/zlib.c (struct gzfile): pack (288 => 272 bytes) on 64-bit + +Thu Sep 18 05:44:05 2014 Eric Wong + + * ext/socket/init.c (rsock_connect): refactor for blocking + (wait_connectable): clear error before wait + [Bug #9356] + +Wed Sep 17 23:12:36 2014 NARUSE, Yui + + * lib/uri/rfc3986_parser.rb: specify a regexp for :OPAQUE; generic.rb + assumes it is present, and will refuse all values otherwise. + by Matthew Draper + https://github.com/ruby/ruby/pull/718 fix GH-718 + +Wed Sep 17 16:22:58 2014 Eric Wong + + * ext/zlib/zlib.c (zlib_mem_alloc): check overflow + +Wed Sep 17 11:33:35 2014 Laurent Arnoud + + * test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof): + added test for long long [fix GH-716] + +Wed Sep 17 11:09:21 2014 SHIBATA Hiroshi + + * tool/rbinstall.rb: fixed invalid options with latest rubygems. + https://github.com/rubygems/rubygems/issues/1013 + +Tue Sep 16 19:19:00 2014 Nobuyoshi Nakada + + * benchmark/bm_app_aobench.rb: update outdated links to the + original program. [ruby-dev:48550] [Feature #10247] + +Tue Sep 16 01:06:40 2014 NARUSE, Yui + + * reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544 + +Mon Sep 15 16:21:10 2014 Eric Wong + + * io.c (struct io_advise_struct): 32 => 24 bytes on 64-bit + * io.c (struct io_internal_writev_struct): 24 => 16 bytes on 64-bit + * process.c (struct waitpid_arg): ditto + +Mon Sep 15 10:29:25 2014 Natalie Weizenbaum + + * ext/pathname/lib/pathname.rb (SAME_PATHS): + Pathname#relative_path_from uses String#casecmp to compare strings + on case-insensitive filesystem platforms (e.g., Windows). This can + return nil for strings with different encodings, and the code + previously assumed that it always returned a Fixnum. [Fix GH-713] + +Mon Sep 15 09:43:18 2014 Sho Hashimoto + + * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo, + SIZEOF_LONG_LON. [Fix GH-714] + +Mon Sep 15 08:13:40 2014 Matthew Draper + + * sprintf.c (rb_str_format): rational 'f' format works for more + values. [fix GH-717] + +Sun Sep 14 16:57:27 2014 Eric Wong + + * template/vm.inc.tmpl: "insns.c" => "insns.def" + * tool/instruction.rb: typo fix + +Sun Sep 14 12:29:52 2014 SHIBATA Hiroshi + + * test/test_tracer.rb: fixed testcase for rubygems update. + +Sun Sep 14 12:29:02 2014 SHIBATA Hiroshi + + * lib/rubygems: Update to RubyGems 2.4.1 master(713ab65) + Complete history at: + https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216 + + * test/rubygems: ditto. + +Sun Sep 14 11:03:24 2014 Aaron Patterson + + * ext/psych/lib/psych.rb: update version + * ext/psych/psych.gemspec: ditto + +Sun Sep 14 08:43:37 2014 Eric Wong + + * ccan/container_of/container_of.h (container_of_or_null): added + [ccan 7ec5b8e06b2fd5fa98b1fcde1158c286d2d429d8] (David Gibson) + +Sun Sep 14 08:41:44 2014 Eric Wong + + * ccan/list/list.h (list_del_init, list_node_init): new functions + for multiple list_del() calls + [ccan ec8654d94d3c5c47aa5f82698f7e8048c79765b1] (Rusty Russell) + +Sat Sep 13 22:19:26 2014 Bernard Potocki + + * hash.c (rb_hash_aset): fix misleading example which may suggest + that Hash.store will return self instead of value - Hash#store + is returning value and update itself, as well as Hash#[]=. + [Fix GH-715] + +Sat Sep 13 15:16:31 2014 Eric Wong + + * class.c: use ALLOC(rb_subclass_entry_t) + +Sat Sep 13 14:14:00 2014 Eric Wong + + * process.c (free_exec_arg): remove + (memsize_exec_arg): ptr is never NULL + (exec_arg_data_type): use RUBY_TYPED_DEFAULT_FREE + + * variable.c (autoload_i_free): remove + (autoload_data_i_type): use RUBY_TYPED_DEFAULT_FREE + (autoload_memsize): ptr is never NULL + + * vm_backtrace.c (location_free): remove + (location_mark): ptr is never NULL + (location_data_type): use RUBY_TYPED_DEFAULT_FREE + (backtrace_mark): ditto + (backtrace_free): ditto + +Sat Sep 13 13:43:07 2014 Eric Wong + + * doc/NEWS-2.0.0: fix typo for default RUBY_FIBER_MACHINE_STACK_SIZE + [ci skip] + +Sat Sep 13 11:16:58 2014 Masaki Suketa + + * ext/win32ole/win32ole_event.c(ev_advise, ole_event_free, + fev_s_allocate, fev_unadvise): avoid segmentation fault when COM + server freed before calling Unadvise from WIN32OLE_EVENT object. + * ext/win32ole/win32ole.c: ditto. + +Sat Sep 13 09:47:44 2014 Eric Wong + + * man/ruby.1: use https for *.ruby-lang.org links + +Sat Sep 13 06:31:23 2014 Eric Wong + + * vm.c (thread_alloc): remove needless volatile + +Sat Sep 13 06:13:55 2014 Eric Wong + + * proc.c (proc_free): remove, use RUBY_TYPED_DEFAULT_FREE + (proc_mark, proc_memsize): remove needless branching + + * vm.c (env_free): remove, use RUBY_TYPED_DEFAULT_FREE + (env_mark, env_memsize): remove needless branching + +Sat Sep 13 05:52:15 2014 Eric Wong + + * proc.c (rb_proc_alloc): inline and move to vm.c + (rb_proc_wrap): new wrapper function used by rb_proc_alloc + (proc_dup): simplify alloc + copy + wrap operation + [ruby-core:64994] + + * vm.c (rb_proc_alloc): new inline function + (rb_vm_make_proc): call rb_proc_alloc + + * vm_core.h: remove rb_proc_alloc, add rb_proc_wrap + + * benchmark/bm_vm2_newlambda.rb: short test to show difference + +Sat Sep 13 04:40:04 2014 Eric Wong + + * process.c (Init_process): subclass Thread as Process::Waiter + (rb_detach_process): use Process::Waiter instead of singleton class + Thanks to headius and nobu. [Bug #10231] + + * test/ruby/test_process.rb (test_process_detach): new test + + * inits.c (rb_call_inits): call Init_Thread before Init_process to + ensure Process::Waiter may be a subclass of Thread + +Fri Sep 12 18:14:28 2014 Eric Wong + + * vm.c (env_alloc): inline to avoid extra zeroing + tiny speedup [ruby-core:64980] + +Fri Sep 12 17:13:29 2014 Nobuyoshi Nakada + + * vm_method.c (rb_method_entry_make, remove_method): ditto. + +Fri Sep 12 14:39:55 2014 SHIBATA Hiroshi + + * gems/bundled_gems: Upgraded to test-unit-3.0.1 and minitest-5.4.1 + +Fri Sep 12 06:55:40 2014 Eric Wong + + * string.c (Init_frozen_strings): use st_init_table_with_size + +Fri Sep 12 06:15:37 2014 NARUSE, Yui + + * string.c (sym_find): remove Symbol.find because we have Symbol GC now. + https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140904Japan + If you still want this, request again on Redmine. [Feature #7854] + https://bugs.ruby-lang.org/issues/7854 + + * ext/-test-/symbol/init.c (sym_find): moved from string.c for tests. + +Fri Sep 12 04:24:03 2014 Eric Wong + + * insns.def (once): define and use fake RUNNING_THREAD_ONCE_DONE + pointer to indicate is->once.running_thread is done. + + * vm_core.h (iseq_inline_storage_entry): remove done field, + allowing the union to be reduced from 24=>16 bytes on 64-bit + [Feature #10187] + +Thu Sep 11 20:10:00 2014 Koichi Sasada + + * vm.c (rb_thread_mark): use rb_gc_mark_values() to mark VM stack. + +Thu Sep 11 19:50:57 2014 Koichi Sasada + + * vm.c (rb_vm_register_special_exception): make new function to + make and register special exceptions. + + * vm.c (rb_vm_mark): do not need to mark special exceptions + because they are registered by rb_gc_register_mark_object(). + + * eval.c (Init_eval): use rb_vm_register_special_exception(). + + * gc.c (Init_GC): ditto. + + * proc.c (Init_Proc): ditto. + + * thread.c (Init_Thread): ditto. + +Thu Sep 11 19:32:30 2014 Koichi Sasada + + * gc.c (rb_gc_mark_values): added. + This function is similar to rb_gc_mark_locations(), but not + conservative. + + * internal.h: ditto. + + * vm.c (env_mark): use rb_gc_mark_values() because env values should + be Ruby VALUEs. + +Thu Sep 11 19:16:39 2014 Koichi Sasada + + * gc.c (gc_mark_ptr): rename to gc_mark_set. + + * gc.c (gc_mark): add gc_mark_ptr() to skip is_markable_object() + check. gc_mark_maybe() can use gc_mark_ptr() directly because + passed pointer is checked by is_pointer_to_heap(). + +Thu Sep 11 18:40:16 2014 SHIBATA Hiroshi + + * .gitignore: ignored temporary files and coverage results. + +Thu Sep 11 18:15:30 2014 SHIBATA Hiroshi + + * .gitignore: ignored only simplecov. + * coverage/README: Added coverage docs. + +Thu Sep 11 17:25:31 2014 Koichi Sasada + + * include/ruby/ruby.h, gc.c: add new internal events + RUBY_INTERNAL_EVENT_GC_ENTER and + RUBY_INTERNAL_EVENT_GC_EXIT. + + When invoking GC process, GC_ENTER event is called. + When exiting from GC process, GC_EXIT event is called. + + Incremental GC (incremental marking and lazy sweep) can call + these events many times. + + For example (minor marking): + (1) GC_ENTER + - (2) GC_START (minor GC) + (minor marking) + - (3) GC_END_MARK + (start lazy sweep) + (4) GC_EXIT + (ruby process) + (5) GC_ENTER + (lazy sweep) + (6) GC_EXIT + (ruby process) + (... repeat (5), (6)) + (7) GC_ENTER + (finish lazy sweep) + - (8) GC_END_SWEEP + (9) GC_EXIT + + 2nd example (incremental major marking): + (1) GC_ENTER + - (2) GC_START (minor GC) + (start incremental marking) + (3) GC_EXIT + (ruby process) + (4) GC_ENTER + (incremental marking) + (5) GC_EXIT + (ruby process) + (... repeat (4), (5)) + (6) GC_ENTER + (finish incremental marking) + - (7) GC_END_MARK + (start lazy sweep) + (8) GC_EXIT + (ruby process) + (9) GC_ENTER + (lazy sweep) + (10) GC_EXIT + (ruby process) + (... repeat (9), (10)) + (11) GC_ENTER + (finish lazy marking) + - (12) GC_STOP_SWEEP + (13) GC_EXIT + + These internal events enable to measure GC pause time completely. + +Thu Sep 11 17:04:54 2014 Eric Wong + + * lib/benchmark.rb: remove CLOCK_MONOTONIC_RAW support + Thanks to Vit Ondruch for reporting the issue on ARM. + [Bug #10202] + +Thu Sep 11 14:31:57 2014 Koichi Sasada + + * include/ruby/ruby.h: freeze nil/true/false. + [Feature #8923] + + * gc.c (should_be_finalizable): check frozen after checkin FL_ABLE. + + * object.c (rb_obj_taint): check + OBJ_TAINTABLE(obj). + + * object.c (rb_obj_freeze): remove immediate_frozen_tbl + because all of immediate values are frozen. YAY! + + * object.c (rb_obj_frozen_p): ditto. + + * test/ruby/test_eval.rb: skip instance_variable_set for + frozen objects. + + * test/ruby/test_weakmap.rb: check ArgumentError instead of + RuntimeError. + +Thu Sep 11 10:03:16 2014 SHIBATA Hiroshi + + * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(21b241a) + +Wed Sep 10 17:52:25 2014 Koichi Sasada + + * compile.c (rb_vm_addr2insn): rename to rb_vm_insn_addr2insn + to clear what address. + +Wed Sep 10 16:22:26 2014 Koichi Sasada + + * test/ruby/test_gc.rb: fix condition. + +Wed Sep 10 15:29:46 2014 Eric Wong + + * vm_core.h (rb_call_info_t): ci->flag becomes 32-bit unsigned int + ci->index becomes a 32-bit signed int (from signed long). + Reorder for better packing on 64-bit, giving an 8 byte reduction + from 104 to 96 bytes for each ci. + [Feature #10187] + + * compile.c (new_callinfo, setup_args, iseq_compile_each, + iseq_build_from_ary_body): adjust for type changes + + * vm_insnhelper.c (vm_getivar): ditto + +Wed Sep 10 15:07:35 2014 Eric Wong + + * compile.c (rb_iseq_translate_threaded_code): + modify in-place w/o copy + (rb_vm_addr2insn): new function for debug + (rb_iseq_original_iseq): ditto + (iseq_set_sequence): assign iseq_encoded directly + [Feature #10185] + + * vm_core (rb_iseq_t): move original ->iseq to bottom + + * iseq.c (iseq_free, iseq_free): adjust for new layout + (rb_iseq_disasm): use original iseq for dump + (iseq_data_to_ary): ditto + (rb_iseq_line_trace_each): ditto + (rb_iseq_build_for_ruby2cext): use iseq_encoded directly + + * vm_dump.c (rb_vmdebug_debug_print_pre): use original iseq + +Wed Sep 10 15:00:11 2014 Eric Wong + + * time.c (time_mark): remove NULL check + (time_memsize): ditto + (time_free): remove, use RUBY_TYPED_DEFAULT_FREE instead + [Feature #10219] + +Wed Sep 10 14:14:57 2014 NAKAMURA Usaku + + * common.mk (encs enc trans libencs libenc libtrans): force to run + enk.mk because common.mk does not know the dependency, but enk.mk + knows. [ruby-dev:48530] [Bug #10220] + +Wed Sep 10 11:59:10 2014 Koichi Sasada + + * gc.c (gc_stat): update rdoc. + +Wed Sep 10 11:52:08 2014 Koichi Sasada + + * gc.c (gc_stat_internal): rename: + * malloc_increase -> malloc_increase_bytes + * malloc_limit -> malloc_increase_bytes_limit + * oldmalloc_increase -> oldmalloc_increase_bytes + * oldmalloc_limit -> oldmalloc_increase_bytes_limit + ref: [Feature #9924] + +Wed Sep 10 11:45:40 2014 Koichi Sasada + + * gc.c (gc_stat_internal): rename `heap_used' to `heap_allocated_pages'. + ref: [Feature #9924] + + * test/ruby/test_gc.rb: add constraints test for gc stat information. + +Wed Sep 10 11:31:16 2014 Koichi Sasada + + * gc.c (gc_stat_internal): rename: + * remembered_shady_object -> remembered_wb_unprotected_objects + * remembered_shady_object_limit -> remembered_wb_unprotected_objects_limit + * old_object -> old_objects + * old_object_limit -> old_objects_limit + ref: [Feature #9924] + +Wed Sep 10 11:12:25 2014 Koichi Sasada + + * gc.c (gc_stat_internal): support: + * total_allocated_pages + * total_freed_pages + ref: [Feature #9924] + +Wed Sep 10 10:48:04 2014 Koichi Sasada + + * test/ruby/test_gc.rb: catch up last fix. + +Wed Sep 10 10:36:08 2014 Koichi Sasada + + * gc.c (objspace_total_slot): rename objspace_available_slots. + + * gc.c (objspace_live_slot, objspace_free_slot): rename + ..._slot() to ..._slots(). + + * gc.c (objspace_free_slot): should subtract heap_pages_final_slots. + + * gc.c (gc_stat_internal): + * add `heap_available_slots' field + * rename heap_live_slot to heap_live_slots + * rename heap_free_slot to heap_free_slots + ref: [Feature #9924] + +Wed Sep 10 07:22:53 2014 Koichi Sasada + + * gc.c: refactoring for RGENGC_PROFILE > 0. + + * rename rb_objspace_t::profile::..._count + to rb_objspace_t::profile::total_..._count + * rename promote_infant_types to promote_types + + * gc.c (gc_remember_unprotected): count remembered shady objects here. + +Wed Sep 10 03:12:12 2014 CHIKANAGA Tomoyuki + + * gc.c (init_mark_stack): MEMZERO() receive type as 2nd argument instead + of size. + Coverity Scan found this bug. + +Tue Sep 9 21:55:39 2014 Masaki Suketa + + * ext/win32ole/sample/excel2.rb: remove some commented-out code. + rotate graph more slowly to see graph clearly. + +Tue Sep 9 19:52:33 2014 Koichi Sasada + + * gc.c: rename rb_objspace_t::marked_objects to marked_slots. + + * gc.c (gc_marks_start): should be clear first. + + * gc.c (gc_marks_start): remembered shady objects are also marked. + + * gc.c (gc_stat_internal): add heap_marked_slots. + +Tue Sep 9 18:58:48 2014 Koichi Sasada + + * gc.c: rename + * total_allocated_object_num -> total_allocated_objects + * total_allocated_object_num_at_gc_start -> total_allocated_objects_at_gc_start + * total_freed_object_num -> total_freed_objects + + * gc.c (gc_stat_internal): + * rename total_allocated_object -> total_allocated_objects + * rename total_freed_object -> total_freed_objects + +Tue Sep 9 18:51:36 2014 Koichi Sasada + + * gc.c (gc_stat_internal): fix symbol names + * heap_final_slot -> heap_final_slots + * heap_swept_slot -> heap_swept_slots + +Tue Sep 9 18:18:07 2014 Koichi Sasada + + * gc.c (rb_objspace_t::heap_pages): rename field names: + * used -> allocated_pages + * increment -> allocatable_pages + * length -> sorted_length + And remove unused `limit' field. + + * gc.c: rename macros: + * heap_pages_used -> heap_allocated_pages + * heap_pages_length -> heap_pages_sorted_length + * heap_pages_increment -> heap_allocatable_pages + + * gc.c (gc_stat_internal): fix symbol names + * heap_used -> heap_allocated_pages + * heap_eden_page_length -> heap_eden_pages + * heap_tomb_page_length -> heap_tomb_pages + * heap_increment -> heap_allocatable_pages + * heap_length -> heap_sorted_length + + ref: [Feature #9924] + https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing + Yellow color fields in this table are changed. + + * test/ruby/test_gc.rb: catch up this change. + +Tue Sep 9 14:56:03 2014 Koichi Sasada + + * gc.c: continue layout changing. + + newobj_of() also touch: + (4) increment total_allocated_object_num + (5) check hook_events + + And gather fields related to marking phase. + +Tue Sep 9 14:21:50 2014 Koichi Sasada + + * gc.c: fix layout of rb_objspace_t to improve cache locality. + + newobj_of() accesses: + (1) rb_objspace_t::flags + (2) rb_objspace_t::eden_heap::freelist + (3) and rb_objspace_t::eden_heap::free_pages if freelist is NULL. + +Tue Sep 9 14:09:36 2014 Koichi Sasada + + * gc.c: move rb_objspace_t::flags::gc_stressful after during_gc + to make accessing both parameters easy. + + * gc.c (heap_get_freeobj): add LIKELY() hint. + + * gc.c (heap_get_freeobj_from_next_freepage): ditto. + + * gc.c (newobj_of): check both parameters at once for exceptional + case. + +Tue Sep 9 13:51:32 2014 Koichi Sasada + + * gc.c: add rb_objspace_t::flags::gc_stressful and + ruby_gc_stressful macro. + Rename objspace->gc_stress to objspace->gc_stress_mode. + + If objspace->gc_stress_mode is true (!nil and !false) then + ruby_gc_stressful becomes TRUE. + + ruby_gc_stressful will speedup newobj_of() slightly. + + * gc.c: initialize ruby_gc_stress(full|_mode) by gc_params.gc_stress + even if ENABLE_VM_OBJSPACE is false. + +Tue Sep 9 13:05:50 2014 Koichi Sasada + + * gc.c: remove ruby_disable_gc_stress and add ruby_disable_gc + to speed-up newobj_of(). + + * gc.c (ready_to_gc): check ruby_disable_gc. + + * signal.c: use ruby_disable_gc. + +Tue Sep 9 12:11:41 2014 Koichi Sasada + + * gc.c: rename gc_stat entries and check stat transition. + +Tue Sep 9 12:06:03 2014 Koichi Sasada + + * gc.c (gc_sweep_rest): remove wrong modification of during_gc flag. + +Tue Sep 9 11:39:41 2014 Koichi Sasada + + * gc.c: pack boolean values into rb_objspace_t::flags with bit fields + to improve cache locality. + +Tue Sep 9 11:11:05 2014 Koichi Sasada + + * test/ruby/test_object.rb: extend timeout. + +Tue Sep 9 09:02:07 2014 Nobuyoshi Nakada + + * lib/mkmf.rb (MakeMakefile#pkg_config): append --cflags to also + $CXXFLAGS, as they are often used by C++ compiler. + [ruby-core:54532] [Bug #8315] + +Tue Sep 9 07:03:22 2014 Eric Wong + + * compile.c: remove needless SYM2ID <-> ID2SYM conversions + [misc #10207] + +Tue Sep 9 05:48:42 2014 Eric Wong + + * symbol.c (rb_intern_cstr_without_pindown): check dsymbol on return + This is not a complete fix for bug 10206, but seems to reduce + that crash and also looks correct. + +Tue Sep 9 04:36:24 2014 Eric Wong + + * vm_core.h (rb_env_t): use flexible array + This reduces allocations and speeds up the lambda calculus + fizzbuzz (bm_app_lc_fizzbuzz.rb) benchmark [ruby-core:64858] + * proc.c (get_local_variable_ptr): deconst to adjust for flex array + * vm.c (env_mark, env_free, env_memsize): remove check for env->env + * vm.c (env_alloc): single allocation for flex array + * vm.c (vm_make_env_each): adjust env_alloc call + +Mon Sep 8 16:08:22 2014 Koichi Sasada + + * benchmark/bm_app_lc_fizzbuzz.rb: should skip output on benchmark. + +Mon Sep 8 16:04:02 2014 Koichi Sasada + + * benchmark/bm_app_lc_fizzbuzz.rb: `answer.to_a' does not return + a string, but an array. + +Mon Sep 8 13:18:37 2014 Koichi Sasada + + * benchmark/bm_app_lc_fizzbuzz.rb: added. + + This program is described closely in "Understanding Computation" + chapter 6 by Tom Stuart. + + Japanese translation will be published soon. + + +Mon Sep 8 12:01:39 2014 Koichi Sasada + + * gc.c: add incremental GC algorithm. [Feature #10137] + + Please refer this ticket for details. + + This change also introduces the following changes. + + * Remove RGENGC_AGE2_PROMOTION and introduce object age (0 to 3). + Age can be count with FL_PROMOTE0 and FL_PROMOTE1 flags in + RBasic::flags (2 bit). Age == 3 objects become old objects. + * WB_PROTECTED flag in RBasic to WB_UNPROTECTED bitmap. + * LONG_LIVED bitmap to represent living objects while minor GCs + It specifies (1) Old objects and (2) remembered shady objects. + * Introduce rb_objspace_t::marked_objects which counts marked + objects in current marking phase. marking count is needed to + introduce incremental marking. + * rename mark related function and sweep related function to + gc_(marks|sweep)_(start|finish|step|rest|continue). + * rename rgengc_report() to gc_report(). + * Add obj_info() function to get cstr of object details. + * Add MEASURE_LINE() macro to measure execution time of specific line. + * and many small fixes. + + * include/ruby/ruby.h: add flag USE_RINCGC. + Now USE_RINCGC can be set only with USE_RGENGC. + + * include/ruby/ruby.h: introduce FL_PROMOTED0 and add FL_PROMOTED1 + to count object age. + + * include/ruby/ruby.h: rewrite write barriers for incremental marking. + + * debug.c: catch up flag name changes. + + * internal.h: add rb_gc_writebarrier_remember() instead of + rb_gc_writebarrier_remember_promoted(). + + * array.c (ary_memcpy0): use rb_gc_writebarrier_remember(). + + * array.c (rb_ary_modify): ditto. + + * hash.c (rb_hash_keys): ditto. + + * hash.c (rb_hash_values): ditto. + + * object.c (init_copy): use rb_copy_wb_protected_attribute() because + FL_WB_PROTECTED is moved from RBasic::flags. + + * test/objspace/test_objspace.rb: catch up ObjectSpace.dump() changes. + +Sun Sep 7 12:47:06 2014 Tanaka Akira + + * process.c: PTHREAD_CANCEL_DISABLE is not defined on Android. + +Sat Sep 6 20:59:06 2014 Tanaka Akira + + * process.c (has_privilege): The gid zero is not a privilege. + +Sat Sep 6 20:19:16 2014 Tanaka Akira + + * process.c (struct child_handler_disabler_state): cancelstate field + added. + (disable_child_handler_before_fork): Record cancelstate. + (disable_child_handler_fork_parent): Restore cancelstate. + +Sat Sep 6 19:27:10 2014 Tanaka Akira + + * process.c (struct child_handler_disabler_state): Defined. + +Sat Sep 6 18:31:32 2014 SHIBATA Hiroshi + + * lib/rake.rb, lib/rake/*, test/rake/*: Update latest rake master(e47d023) + +Sat Sep 6 16:38:08 2014 Masaki Suketa + + * ext/win32ole/win32ole_variant.c (ole_val2variant_err, + ole_val2variantdata, Init_win32ole_variant): support VT_ERROR + variant with error code. add WIN32OLE_VARIANT::NoParam. + * test/win32ole/test_win32ole_variant.rb(test_c_noparam, + test_vt_error_noparam): ditto. + * ext/win32ole/win32ole.c: ditto. + +Sat Sep 6 11:08:52 2014 Nobuyoshi Nakada + + * parse.y (arg_ambiguous_gen): fix warning message, "even" does + not mean the number of spaces here. state the place to put a + space and the operator. [ruby-core:64790] [Bug #10204] + +Sat Sep 6 08:44:40 2014 Zachary Scott + + * lib/rdoc/generator/template/darkfish/js/jquery.js: Backport + rdoc/rdoc@74f60fcb04fee1778fe2694d1a0ea6513f8e67b7 + +Sat Sep 6 08:10:44 2014 Eric Wong + + * test/ruby/test_io.rb (test_readpartial_locktmp): use IO#nonblock= + Old fcntl invocation may drop necessary flags on some platforms. + +Sat Sep 6 07:46:51 2014 Eric Wong + + * test/ruby/test_io.rb (test_readpartial_locktmp): avoid EBADF + [ruby-core:64773] [ruby-core:64775] + +Sat Sep 6 01:34:31 2014 Tanaka Akira + + * process.c (rb_f_exec): Call before_exec_async_signal_safe and + after_exec_async_signal_safe around rb_exec_async_signal_safe. + (rb_exec_async_signal_safe): Don't call + before_exec_async_signal_safe and after_exec_async_signal_safe. + (rb_exec_without_timer_thread): Call before_exec and + after_exec. + (disable_child_handler_fork_child): Make SIGPIPE handler SIG_DFL. + +Sat Sep 6 00:49:41 2014 Tanaka Akira + + * signal.c (ruby_signal): Don't set SA_SIGINFO for SIG_IGN and + SIG_DFL. + +Fri Sep 5 21:45:33 2014 Tanaka Akira + + * process.c (disable_child_handler_before_fork): New function. + (disable_child_handler_fork_parent): Ditto. + (disable_child_handler_fork_child): Ditto. + (retry_fork_async_signal_safe): Call above functions to disable + signal handlers in child process. + +Fri Sep 5 21:02:54 2014 Tanaka Akira + + * process.c (handle_fork_error): Make try_gc_p argument volatile to + suppress "clobbered" warning. + +Fri Sep 5 20:48:06 2014 Tanaka Akira + + * process.c (handle_fork_error): Don't need state_p argument. + +Fri Sep 5 20:35:52 2014 Tanaka Akira + + * process.c (has_privilege): Fix a return value. + +Fri Sep 5 19:00:40 2014 SHIBATA Hiroshi + + * lib/shellwords.rb: proofreading documentation. + [Bug #10155][ruby-core:64471] + +Fri Sep 5 18:34:33 2014 Laurent Arnoud + + * test/csv/test_row.rb: Added some missing tests in CSV. + [fix GH-710] + * test/csv/test_table.rb: ditto. + +Fri Sep 5 12:57:52 2014 Tanaka Akira + + * process.c (has_privilege): Refine uid/gid check. + +Fri Sep 5 12:40:55 2014 Tanaka Akira + + * configure.in: Check sys/id.h, getuidx and getgidx for AIX. + + * process.c (getresuid): Defined for AIX. + (getresgid): Ditto + AIX don't have getresuid/getresgid but getuidx/getgidx. + +Fri Sep 5 12:28:21 2014 Tanaka Akira + + * process.c (has_privilege): Fix assignments. + +Fri Sep 5 11:10:13 2014 SHIBATA Hiroshi + + * lib/rdoc/generator/pot/po.rb: fixed broken tests for trailing whitespace. + * test/rdoc/test_rdoc_generator_pot.rb: ditto. + * test/rdoc/test_rdoc_generator_pot_po.rb: ditto. + +Fri Sep 5 10:41:07 2014 SHIBATA Hiroshi + + * test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_parse_file_encoding): + typofix. + +Fri Sep 5 10:39:14 2014 SHIBATA Hiroshi + + * lib/rdoc.rb, lib/rdoc, test/rdoc: Update to RDoc 4.2.0.alpha(313287) + +Fri Sep 5 06:04:22 2014 Eric Wong + + * vm.c: remove unused USE_THREAD_RECYCLE [misc #10198] + +Fri Sep 5 00:29:08 2014 Tanaka Akira + + * configure.in (dirfd): Check function. + + * dir.c (dir_fileno): New method. + [ruby-dev:48265] [Feature #9880] + +Thu Sep 4 23:39:52 2014 Tanaka Akira + + * process.c (has_privilege): New function. + (retry_fork_async_signal_safe): Don't use vfork() for privileged + process. + + * configure.in (getresuid): Check function. + (getresgid): Ditto. + +Thu Sep 4 20:22:14 2014 Laurent Arnoud + + * test/pathname/test_pathname.rb: added testcase for Pathname#mountpoint?. + [fix GH-709] + +Thu Sep 4 20:09:21 2014 SHIBATA Hiroshi + + * symbian/*: removed Symbian support. + [Feature #10199][ruby-core:64725] + * dln.c: ditto. + * include/ruby/defines.h: ditto. + * thread_pthread.c: ditto. + * vm.c: ditto. + +Thu Sep 4 17:44:40 2014 Koichi Sasada + + * dir.c (glob_helper): use #ifdef instead of #if. + gcc's -Wundef option shows warning for undefined macro. + + * numeric.c (flo_is_finite_p): ditto. + + * vm_dump.c (rb_vmdebug_thread_dump_state): ditto. + + * vm_core.h: define VM_DEBUG_VERIFY_METHOD_CACHE to 0. + +Thu Sep 4 03:57:46 2014 Eric Wong + + * man/ruby.1: spelling fix ("bellow" => "below") [ci-skip] + +Thu Sep 4 03:52:16 2014 Eric Wong + + * man/ruby.1: add trailing slash to URLs [ci-skip] + +Wed Sep 3 19:10:28 2014 Tanaka Akira + + * process.c (before_fork_ruby): Renamed from before_fork. + (after_fork_ruby): Renamed from after_fork. + +Wed Sep 3 18:56:05 2014 Tanaka Akira + + * process.c (forked_child): Removed. + +Wed Sep 3 16:56:07 2014 Nobuyoshi Nakada + + * object.c (rb_obj_copy_ivar): allocate no memory for empty + instance variables. [ruby-core:64700] [Bug #10191] + +Wed Sep 3 12:05:17 2014 Tanaka Akira + + * process.c (retry_fork_async_signal_safe): Use vfork() if available. + vfork() is still faster than fork() especially when the parent + process uses big memory. + + ruby -rbenchmark -e 'a = "a" * 1_000_000_000; puts Benchmark.measure { system("true") }' + fork: 0.000000 0.010000 0.010000 ( 0.014968) + vfork: 0.000000 0.000000 0.000000 ( 0.000912) + on Debian sid. + +Wed Sep 3 11:33:08 2014 SHIBATA Hiroshi + + * test/openssl/test_pkey_rsa.rb (OpenSSL#test_sign_verify_memory_leak): + added timeout into testcase for low performance environment. + [Bug #9984][ruby-core:63367] + +Wed Sep 3 07:50:15 2014 Tanaka Akira + + * configure.in: Use AC_FUNC_FORK. + + * io.c: Use HAVE_WORKING_FORK instead of HAVE_FORK. + + * process.c: Ditto. + +Wed Sep 3 00:12:44 2014 Tanaka Akira + + * process.c (retry_fork_async_signal_safe): Don't return on in child + process. + +Tue Sep 2 23:47:35 2014 Tanaka Akira + + * process.c (retry_fork_async_signal_safe): Specialized version of + retry_fork respect to rb_fork_async_signal_safe. + (retry_fork_ruby): Specialized version of retry_fork respect to + rb_fork_ruby. + (rb_fork_ruby): Removed. + +Tue Sep 2 23:26:26 2014 Tanaka Akira + + * process.c (send_child_error): Simplified. + (recv_child_error): Ditto. + +Tue Sep 2 22:56:25 2014 Tanaka Akira + + * process.c (rb_fork_async_signal_safe): Inline rb_fork_internal. + (rb_fork_ruby): Ditto. + (rb_fork_internal): Removed. + (chfunc_protect): Removed. + +Tue Sep 2 22:43:52 2014 Tanaka Akira + + * test/ruby/test_io.rb (test_new_with_block): Set autoclose to avoid + EBADF. + +Tue Sep 2 22:01:51 2014 Kouhei Sutou + + * Makefile.in (update-coverage): Remove a never executed line. + +Tue Sep 2 19:48:26 2014 Tanaka Akira + + * process.c (handle_fork_error): Extracted from retry_fork. + +Tue Sep 2 17:02:53 2014 Vit Ondruch + + * tool/rbinstall.rb: fixed error of local installation. + [Bug #10192][ruby-core:64702] + +Tue Sep 2 16:58:03 2014 SHIBATA Hiroshi + + * test/runner.rb: reporting test coverage for test-all with COVERAGE env. + [Feature #10189][ruby-core:64681][fix GH-708] + * Makefile.in: added task for coverage report. + * common.mk: added definition of forked simplecov url. + * .gitignore: ignored coverage directory. + +Mon Sep 1 20:11:02 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (rbtime2vtdate): try to convert millisecond + of Time object to millisecond of VT_DATE VARIANT. + * test/win32ole/test_win32ole_variant.rb + (test_conversion_time2date_with_msec): ditto. + +Sun Aug 31 16:58:49 2014 Tanaka Akira + + * lib/benchmark.rb: Fix a syntax error. + +Sun Aug 31 08:46:44 2014 Eric Wong + + * ext/zlib/zlib.c (gzfile_reset): preserve ZSTREAM_FLAG_GZFILE + [Bug #10101] + + * test/zlib/test_zlib.rb (test_rewind): test each_byte + +Sat Aug 30 19:22:47 2014 Eric Wong + + * symbol.c (rb_sym2id): do not return garbage object + +Sat Aug 30 06:39:48 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/yaml_tree.rb: fix NameError dumping and + loading. Fixes GH #85. Thanks @brentdax for the patch! + * test/psych/test_exception.rb: test for fix + +Sat Aug 30 06:23:40 2014 Aaron Patterson + + * ext/psych/lib/psych/scalar_scanner.rb: fix loading strings that + look like integers but have a newline. Fixes GH #189 + * test/psych/test_string.rb: test for fix + +Sat Aug 30 06:10:39 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/to_ruby.rb: merge keys with a hash + should merge the hash in to the parent. + * test/psych/test_merge_keys.rb: test for change. Fixes GH #202 + +Sat Aug 30 06:00:26 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/to_ruby.rb: quoted "<<" strings + should not be treated as merge keys. + * ext/psych/lib/psych/visitors/yaml_tree.rb: hashes with keys + containing "<<" should roundtrip. + * test/psych/test_merge_keys.rb: test for change. Fixes GH #203 + +Fri Aug 29 17:56:44 2014 SHIBATA Hiroshi + + * test/net/imap/test_imap_response_parser.rb: removed needless code. + +Fri Aug 29 17:36:58 2014 SHIBATA Hiroshi + + * test/rinda/test_rinda.rb: removed useless assignment variables. + * test/rss/rss-assertions.rb: ditto. + * test/rss/test_maker_itunes.rb: ditto. + +Fri Aug 29 16:18:26 2014 Eric Wong + + * string.c: revert part of r47311, add rb_vm_fstring_table(), + remove vm_core.h dependency. [ruby-core:64627] + +Fri Aug 29 15:17:13 2014 Eric Wong + + * string.c: remove static frozen_strings + * string.c (Init_frozen_strings): new function + * string.c (rb_fstring): remove check for frozen strings, + use per-VM table + * string.c (rb_str_free): use per-VM table + * string.c (Init_String): use per-VM table + * vm_core.h (rb_vm_t): add frozen_strings table + * internal.h (Init_frozen_strings): new function prototype + * eval.c (ruby_setup): call Init_frozen_strings + [Feature #10182] + +Wed Aug 27 23:10:24 2014 Masaki Matsushita + + * lib/tempfile.rb: remove "require 'thread'". its features are no + longer used. + +Wed Aug 27 21:19:40 2014 gogo tanaka + + * lib/drb/acl.rb: Removed meaningless #to_s methods in interpolation. + [Feature #10174][ruby-core:64584] + * lib/erb.rb: ditto. + * lib/observer.rb: ditto. + * lib/rake/invocation_chain.rb: ditto. + * lib/rubygems/command_manager.rb: ditto. + * lib/rubygems/config_file.rb: ditto. + * lib/uri/common.rb: ditto. + +Wed Aug 27 21:08:20 2014 gogo tanaka + + * lib/drb/drb.rb: use attr_reader instead of Module#attr. + [Feature #10172][ruby-core:64582] + * lib/irb/ruby-token.rb: ditto. + * lib/net/telnet.rb: ditto. + * lib/rdoc/ruby_token.rb: ditto. + * lib/thwait.rb: ditto. + +Wed Aug 27 19:52:33 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (vtdate2rbtime): try to convert millisecond + of VT_DATE VARIANT to nsec of Time object. + * test/win32ole/test_win32ole_variant.rb + (test_conversion_dbl2date_with_msec): ditto. + +Wed Aug 27 09:57:29 2014 SHIBATA Hiroshi + + * test/ruby/test_complex.rb: removed unreachable code. + * test/ruby/test_rational.rb: ditto. + +Wed Aug 27 07:59:17 2014 Eric Wong + + * compile.c (iseq_set_sequence): check for multiplication overflow + +Tue Aug 26 22:07:42 2014 SHIBATA Hiroshi + + * test/ruby/test_complex.rb: cherry-picked working assertions from r47251. + * test/ruby/test_rational.rb: cherry-picked working assertions from r47263. + +Tue Aug 26 21:07:56 2014 gogo tanaka + + * lib/mathn.rb (Fixnum#**, Bignum#**, Float#**, Rational#**): + remove as these are now built-in. [ruby-core:63973] [Bug #10086] + +Tue Aug 26 20:46:55 2014 Tanaka Akira + + * time.c (rb_time_unmagnify_to_float): Avoid double rounding. + Reported by Tsuyoshi Sawada. + https://bugs.ruby-lang.org/issues/10135#note-1 + +Tue Aug 26 17:12:47 2014 Nobuyoshi Nakada + + * io.c (io_close): ignore only "closed stream" IOError and + NoMethodError, do not swallow other exceptions at the end of + block. [ruby-core:64463] [Bug #10153] + +Tue Aug 26 13:46:33 2014 Kazuhiro NISHIYAMA + + * template/fake.rb.in: fix failed to make install when @srcdir@ is + absolute path. + +Tue Aug 26 13:43:50 2014 SHIBATA Hiroshi + + * test/ruby/test_range.rb: added workaround for VERBOSE message. + +Tue Aug 26 12:38:02 2014 SHIBATA Hiroshi + + * test/test_mathn.rb: added workaround for VERBOSE messages. + +Tue Aug 26 11:44:04 2014 SHIBATA Hiroshi + + * lib/shell/process-controller.rb: removed commented-out code. + +Tue Aug 26 11:39:01 2014 SHIBATA Hiroshi + + * lib/thwait.rb (ThreadsWait): removed needless constant. + +Tue Aug 26 09:27:10 2014 SHIBATA Hiroshi + + * lib/mathn.rb: mathn library is deprecated on ruby 2.2. + [Feature #10169][ruby-core:64553] + +Tue Aug 26 09:25:03 2014 SHIBATA Hiroshi + + * lib/mathn.rb: removed commented-out code. + +Mon Aug 25 20:15:50 2014 Masaki Suketa + + * ext/win32ole/win32ole.c(fole_s_connect, fole_initialize): raise a + security error with the tainted string object. + * ext/win32ole/win32ole_event.c(ev_advise): ditto. + * test/win32ole/test_win32ole.rb(test_s_new_exc_svr_tainted, + test_s_new_exc_host_tainted): ditto. + * test/win32ole/test_win32ole_event.rb(test_s_new_exc_tainted): ditto. + +Mon Aug 25 12:56:54 2014 Ivan Korunkov + + * lib/logger.rb (format_datetime): use "%6N" to show microsecond. + [Fix GH-704] + +Mon Aug 25 11:02:07 2014 Eric Wong + + * vm_core.h (rb_iseq_location_t): change first_lineno type to VALUE + * iseq.c (rb_iseq_build_for_ruby2cext): update based on argument + +Sun Aug 24 16:14:46 2014 SHIBATA Hiroshi + + * lib/e2mmap.rb: remove needless instance variables. + * lib/irb.rb: ditto. + * lib/irb/**/*.rb: ditto. + * lib/shell.rb: ditto. + +Sun Aug 24 12:44:26 2014 SHIBATA Hiroshi + + * test/ruby/test_complex.rb: removed needless conditions. + * test/ruby/test_rational.rb: ditto. + +Sun Aug 24 11:47:39 2014 SHIBATA Hiroshi + + * test/ruby/test_rational.rb: fixed indent. + +Sun Aug 24 11:44:11 2014 SHIBATA Hiroshi + + * test/ruby/test_rational.rb: remove commented-out code. + +Sun Aug 24 11:09:29 2014 Eric Wong + + * lib/benchmark.rb (measure): reduce allocations as in r47260 + +Sun Aug 24 10:35:54 2014 Pete Higgins + + * lib/benchmark.rb (module Benchmark): define BENCHMARK_CLOCK + (realtime): use Process.clock_gettime(BENCHMARK_CLOCK) + Reduces allocations to improve performance [Feature #10165] + + * test/benchmark/test_benchmark.rb (test_realtime_output): new test + +Fri Aug 22 20:23:54 2014 Koichi Sasada + + * string.c (rb_fstring): fix condition (easy to cause infinite loop!). + +Fri Aug 22 20:07:43 2014 Koichi Sasada + + * string.c (rb_fstring, fstr_update_callback): simply delete garbage + key first. + + Garbage keys can be swept by lazy sweeping invoked by creating new + fstring. So that simply do: + (1) delete garbage key and return `fstr_update_callback' immediately + (2) try again `fstr_update_callback()' to create a new fstr. + + This bug can be cause memory corruption, reported by + http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20140821T220302Z.fail.html.gz + +Fri Aug 22 19:30:39 2014 SHIBATA Hiroshi + + * test/ruby/test_complex.rb: removed commented-out code. + +Fri Aug 22 19:25:28 2014 SHIBATA Hiroshi + + * test/ruby/test_complex.rb: fixed broken tests. Math is not + compatible CMath now. + +Fri Aug 22 15:36:09 2014 Nobuyoshi Nakada + + * common.mk (Doxyfile): revert r43888, not to require preinstalled + ruby. [ruby-core:64488] [Bug #10161] + +Fri Aug 22 12:32:15 2014 SHIBATA Hiroshi + + * lib/shell.rb: removed commented-out code. + * lib/shell/builtin-command.rb: ditto. + * lib/shell/command-processor.rb: ditto. + +Fri Aug 22 12:21:46 2014 SHIBATA Hiroshi + + * lib/complex.rb: removed deprecated library. + * lib/rational.rb: ditto. + +Fri Aug 22 11:38:49 2014 SHIBATA Hiroshi + + * lib/prettyprint.rb: removed PrettyPrint#first? + because it is obsoleted method since Ruby 1.8.2 + +Thu Aug 21 17:10:31 2014 Nobuyoshi Nakada + + * win32/win32.c (constat_attr): manage reverse video internally + since Windows console window does not manage it. based on the + patch by white leaf in [ruby-dev:48483]. [Bug #10158] + +Thu Aug 21 14:45:41 2014 SHIBATA Hiroshi + + * lib/e2mmap.rb: removed commented-out code. + +Thu Aug 21 13:23:34 2014 SHIBATA Hiroshi + + * lib/rinda/ring.rb: split executable code into sample directory. + * sample/rinda-ring.rb: ditto. + +Thu Aug 21 13:21:45 2014 SHIBATA Hiroshi + + * lib/drb/acl.rb: split executable code into sample directory. + * sample/drb/acl.rb: ditto. + +Thu Aug 21 12:55:35 2014 SHIBATA Hiroshi + + * .gitignore: ignored temporary file for Changelog. + http://mkosaki.blog46.fc2.com/blog-entry-1284.html + +Thu Aug 21 12:40:22 2014 SHIBATA Hiroshi + + * lib/net/imap.rb: split executable code into sample directory. + * sample/net-imap.rb: ditto. + +Thu Aug 21 12:23:56 2014 SHIBATA Hiroshi + + * lib/net/imap.rb: removed commented-out code. + +Wed Aug 20 17:27:02 2014 Nobuyoshi Nakada + + * configure.in (RUBY_TRY_CFLAGS, RUBY_TRY_LDFLAGS), + (RUBY_CHECK_BUILTIN_SETJMP, RUBY_SETJMP_TYPE), + (RUBY_STACK_GROW_DIRECTION): quote defun names, for some + versions of autoconf possibly. [ruby-core:64473] [Bug #10156] + +Tue Aug 19 22:28:32 2014 Nobuyoshi Nakada + + * sprintf.c (rb_str_format): fix condition to round. + [ruby-core:64454] [Bug #10151] + +Tue Aug 19 22:22:45 2014 Nobuyoshi Nakada + + * enc/trans/euckr-tbl.rb (EUCKR_TO_UCS_TBL): add missing euro and + registered signs. [ruby-core:64452] [Bug #10149] + +Tue Aug 19 13:59:43 2014 Nobuyoshi Nakada + + * compar.c (rb_cmperr): preserve encodings of arguments in the + message. + +Tue Aug 19 10:13:23 2014 Nobuyoshi Nakada + + * ext/thread/thread.c (get_array): check instance variables are + initialized properly. [ruby-core:63826][Bug #10062] + +Mon Aug 18 17:06:27 2014 Nobuyoshi Nakada + + * sprintf.c (rb_str_format): support rational 'f' format. + [ruby-core:64382] [Bug #10136] + +Mon Aug 18 08:03:46 2014 SHIBATA Hiroshi + + * spec/default.mspec: use 2.2 definition. + +Sun Aug 17 19:41:40 2014 Kazuki Tsujimoto + + * gc.c (obj_memsize_of): don't calculate memsize of T_NODE + when called from check_gen_consistency. It fixes segmentation + fault on RGENGC_CHECK_MODE >= 1 introduced by r47188. + +Sun Aug 17 17:08:12 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_invoke): use RHASH_SIZE instead of + calling Hash#length method. + +Sat Aug 16 19:32:06 2014 Masaki Suketa + + * ext/win32ole/win32ole_event.c (evs_length): use RARRAY_LEN instead + of calling Array#length method. + +Sat Aug 16 10:20:17 2014 Eric Wong + + * time.c (time_timespec): fix tv_nsec overflow + [Bug #10144] + +Fri Aug 15 20:34:17 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE_EVENT src from + win32ole.c. + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_event.c: ditto. + * ext/win32ole/win32ole_event.h: ditto. + * ext/win32ole/depend: ditto. + +Fri Aug 15 19:38:00 2014 Koichi Sasada + + * iseq.c (rb_iseq_clone): Should not insert write barrier from + non-RVALUE data (to non-RVALUE data, of course). + + Ruby 2.1 also has a same problem. + +Fri Aug 15 19:34:33 2014 Koichi Sasada + + * string.c (setup_fake_str): fake strings should not set class by + RBASIC_SET_CLASS() because it insert write barriers to fake + (non-RVALUE) structure. + + It can cause unexpected behaviour. + + Ruby 2.1 also have a same problem (setup_fake_str() in parse.y). + + * symbol.c (setup_fake_str): ditto. + +Fri Aug 15 19:27:25 2014 Koichi Sasada + + * array.c (rb_ary_tmp_new_fill): added. + This function creates internal use only array (which is completely + hided by ObjectSpace.each_object) with filling nil. + + Otherwise, it can be includes strange VALUEs. + + * internal.h: added. + + * node.h: use rb_ary_tmp_new_fill() for MEMO. + +Fri Aug 15 10:13:37 2014 SHIBATA Hiroshi + + * lib/gserver.rb: removed unmaintained code. + [ruby-core:40313][Feature #5480] + * lib/xmlrpc/httpserver.rb: ditto. + +Fri Aug 15 09:22:12 2014 Eric Wong + + * vm_core.h (rb_thread_struct): reorder to pack + * cont.c (rb_context_struct, rb_fiber_struct): ditto + On x86-64, these changes reduces: + rb_thread_struct to 1000 bytes (from 1016) + rb_context_struct to 1288 bytes (from 1312) + rb_fiber_struct to 2272 bytes (from 2304) + +Fri Aug 15 09:06:31 2014 Eric Wong + + * thread_pthread.h: define RB_NATIVETHREAD_LOCK_INIT and + RB_NATIVETHREAD_COND_INIT macros + + * thread_pthread.c (native_mutex_lock, native_mutex_unlock, + native_mutex_trylock, native_mutex_initialize, + native_mutex_destroy, native_cond_wait): + use rb_nativethread_lock_t instead of pthread_mutex_t + [Feature #10134] + + * thread_pthread.c (native_mutex_debug): make argument type-agnostic + to avoid later cast. + + * thread_pthread.c (register_cached_thread_and_wait): + replace PTHREAD_COND_INITIALIZER with RB_NATIVETHREAD_COND_INIT, + use native_mutex_{lock,unlock} + + * thread_pthread.c (use_cached_thread): + use native_mutex_{lock,unlock} + + * thread_pthread.c (native_sleep): + use rb_nativethread_lock_t to match th->interrupt_lock, + use native_mutex_{lock,unlock} + + * thread_pthread.c (timer_thread_lock): use rb_nativethread_lock_t type + +Fri Aug 15 08:10:29 2014 Eric Wong + + * cont.c (cont_mark): fix typo in unused path [ci skip] + +Fri Aug 15 06:00:56 2014 Eric Wong + + * vm.c (rb_thread_mark): update comment about marking `me' + [ruby-core:64340] [ruby-core:64341] + +Fri Aug 15 05:53:59 2014 Eric Wong + + * README.EXT: preliminary documentation for RB_GC_GUARD + [Bug #10100] [ruby-core:60741] + +Thu Aug 14 00:26:19 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE_RECORD src from + win32ole.c + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_record.c: ditto. + * ext/win32ole/win32ole_record.h: ditto. + * ext/win32ole/depend: ditto. + +Wed Aug 13 21:41:04 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE_VARIANT src from + win32ole.c. + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_variant.c: ditto. + * ext/win32ole/win32ole_variant.c: ditto. + * ext/win32ole/depend: ditto. + +Wed Aug 13 20:09:37 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: remove unused variable. + +Wed Aug 13 19:31:27 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_search_handler_method, rescue_callback, + folerecord_inspect): use PRIsVALUE in rb_sprintf. + + * ext/win32ole/win32ole_param.c (foleparam_inspect): ditto. + + * ext/win32ole/win32ole_variable.c (folevariable_inspect): use + PRIsVALUE in rb_sprintf, use rb_inspect. + +Wed Aug 13 11:54:41 2014 SHIBATA Hiroshi + + * lib/irb/completion.rb: reverted r47163. + because another case can't be show completion target. + +Wed Aug 13 11:17:00 2014 Shimpei Makimoto + + * lib/irb.rb: Prevent irb from crashing when exception with + nil backtrace is raised. + [fix GH-434][ruby-core:58078][Bug #9063] + * test/irb/test_raise_no_backtrace_exception.rb: ditto. + +Wed Aug 13 11:08:55 2014 SHIBATA Hiroshi + + * lib/irb/completion.rb: fixed broken completion list with + String including spaces. Contributed from @dunric. [fix GH-465] + +Wed Aug 13 00:07:01 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE_PARAM src from win32ole.c + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_param.c: ditto. + * ext/win32ole/win32ole_param.h: ditto. + * ext/win32ole/depend: ditto. + +Tue Aug 12 23:17:47 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: refactoring. move some methods + into win32ole_type.c / win32ole_method.c + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_method.c: ditto. + * ext/win32ole/win32ole_method.h: ditto. + * ext/win32ole/win32ole_type.h: ditto. + * ext/win32ole/win32ole_type.h: ditto. + +Tue Aug 12 22:59:48 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: refactoring. move + ole_typelib_from_itypeinfo into win32ole_typelib.c. + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_typelib.h: ditto. + * ext/win32ole/win32ole_typelib.h: ditto. + +Tue Aug 12 21:49:40 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_create_dcom): use the converted + result if the argument can be converted to a string, to get rid + of invalid access. Thanks to nobu. [ruby-dev:48467] [Bug #10127] + +Tue Aug 12 14:22:58 2014 SHIBATA Hiroshi + + * configure.in: ignored working directory same as prefix value. + [ruby-core:54999] [Bug #8409] + +Tue Aug 12 13:34:25 2014 SHIBATA Hiroshi + + * lib/fileutils.rb: enable to remove with non-owner directory. + [ruby-dev:45976] [Bug #6756] + * test/fileutils/test_fileutils.rb: add testcase for #6756. + +Tue Aug 12 12:57:28 2014 SHIBATA Hiroshi + + * vm_exec.c: improve performance in ppc64 arch. + [ruby-core:63437] [Feature #9997] + +Tue Aug 12 12:14:52 2014 Akira Matsuda + + * lib/fileutils.rb: fix typo. + [ruby-dev:47831] [Bug #9180] + +Tue Aug 12 10:10:42 2014 Eric Wong + + * vm_method.c (release_method_definition): use rb_free_method_entry + +Tue Aug 12 06:16:09 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE_METHOD src from + win32ole.c. + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_method.c: ditto. + * ext/win32ole/win32ole_method.h: ditto. + * ext/win32ole/depend: ditto. + +Mon Aug 11 22:19:15 2014 Masaki Suketa + + * ext/win32ole/win32ole_variable.c (folevariable_inspect): refactoring. + +Mon Aug 11 20:47:27 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE_VARIABLE src from + win32ole.c + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_variable.c: ditto. + * ext/win32ole/win32ole_variable.h: ditto. + * ext/win32ole/depend: ditto. + +Mon Aug 11 16:17:21 2014 Tony Miller + + * dir.c (rb_dir_exists_p): [DOC] Document that Dir.exists? is + deprecated. [ruby-core:64135] [Bug #10102] + +Mon Aug 11 11:26:33 2014 Nobuyoshi Nakada + + * lib/tempfile.rb: start rdoc parsing inside singleton class + definition to include the document there. + [ruby-core:64157] [Bug #10105] + +Sun Aug 10 12:22:43 2014 Masaki Suketa + + * ext/win32ole/win32ole_type.c: refactoring. + +Sun Aug 10 10:34:00 2014 SHIBATA Hiroshi + + * lib/cgi/session/pstore.rb: separated sample code. + * lib/open3.rb: ditto. + +Sun Aug 10 10:03:24 2014 SHIBATA Hiroshi + + * lib/irb/ext/multi-irb.rb: removed commented-out code. + +Sat Aug 9 11:02:07 2014 SHIBATA Hiroshi + + * lib/irb.rb: removed commented-out code. + * lib/irb/**/*.rb: ditto. + +Sat Aug 9 10:35:30 2014 Laurent Arnoud + + * lib/cmath.rb: fixed indent. [fix GH-696] + * lib/drb/ssl.rb: ditto. + * lib/irb/**/*.rb: ditto. + +Sat Aug 9 10:28:03 2014 SHIBATA Hiroshi + + * test/minitest/test_minitest_unit.rb: removed obsoleted condition + for Ruby 1.8. + * test/ruby/test_time_tz.rb: ditto. + +Sat Aug 9 10:18:00 2014 SHIBATA Hiroshi + + * test/cgi/test_cgi_core.rb: removed obsoleted condition for Ruby 1.8. + * test/cgi/test_cgi_header.rb: ditto. + * test/cgi/test_cgi_multipart.rb: ditto. + * test/cgi/test_cgi_tag_helper.rb: ditto. + +Sat Aug 9 00:34:37 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE_TYPE src from win32ole.c. + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_type.c: ditto. + * ext/win32ole/win32ole_type.h: ditto. + * ext/win32ole/depend: ditto. + +Fri Aug 8 01:53:37 2014 Masaki Matsushita + + * lib/securerandom.rb: use OpenSSL::BN for performance improvement. + + * benchmark/bm_securerandom.rb: benchmark script. + +Fri Aug 8 17:19:57 2014 SHIBATA Hiroshi + + * lib/open-uri.rb: remove needless condition for old ruby version. + * test/open-uri/test_open-uri.rb: ditto. + +Fri Aug 8 16:40:59 2014 SHIBATA Hiroshi + + * lib/irb/init.rb: removed unreachable code. + +Fri Aug 8 16:34:22 2014 SHIBATA Hiroshi + + * lib/drb/drb.rb: removed unreachable code. + +Fri Aug 8 14:33:49 2014 SHIBATA Hiroshi + + * lib/webrick/httpproxy.rb: remove needless condition + for old ruby version. + +Fri Aug 8 01:07:10 2014 Nobuyoshi Nakada + + * parse.y (parser_yylex): fix invalid char in eval, should raise + an syntax error too, as well as directly coded. + [ruby-core:64243] [Bug #10117] + +Thu Aug 7 23:25:29 2014 Masaki Matsushita + + * lib/open3.rb: avoid unnecessary write if stdin_data is empty. + +Thu Aug 7 21:42:49 2014 Masaki Suketa + + * ext/win32ole/win32ole_typelib.c (foletypelib_version): return + version string. + + * test/win32ole/test_win32ole_typelib.rb (test_version): ditto. + +Thu Aug 7 15:13:13 2014 SHIBATA Hiroshi + + * lib/cgi.rb: remove needless condition for old ruby version. + +Thu Aug 7 06:04:49 2014 Nobuyoshi Nakada + + * parse.y (parser_yyerror): preserve source code encoding in + syntax error messages. [ruby-core:64228] [Bug #10114] + +Wed Aug 6 20:56:02 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate src of WIN32OLE_TYPELIB from + win32ole.c + + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_typelib.c: ditto. + * ext/win32ole/win32ole_typelib.h: ditto. + * ext/win32ole/depend: ditto. + +Wed Aug 6 20:44:07 2014 Akinori MUSHA + + * enum.c (enum_one): [DOC] Move enum.one? documentation before the + relevant method. Submitted by @vipulnsward. [Fixes GH-687] + https://github.com/ruby/ruby/pull/687 + +Wed Aug 6 20:25:47 2014 Akinori MUSHA + + * lib/set.rb (Set#replace): Check if an object given is enumerable + before clearing self. Reported by yui-knk. [GH-675] + https://github.com/ruby/ruby/pull/675 + +Wed Aug 6 20:07:26 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (olerecord_ivar_set): remove rb_str_subseq. + +Wed Aug 6 19:09:27 2014 Akinori MUSHA + + * lib/set.rb (Set): Implement Set#clone by splitting + initialize_copy into initialize_dup and initialize_clone. + Submitted by yui-knk. [Fixes GH-661] + https://github.com/ruby/ruby/pull/661 + +Wed Aug 6 18:42:58 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate src of WIN32OLERuntimeError + from win32ole.c. + + * ext/win32ole/win32ole.h: ditto + * ext/win32ole/depend: ditto. + * ext/win32ole/win32ole_error.c: ditto. + * ext/win32ole/win32ole_error.h: ditto. + +Wed Aug 6 04:33:58 2014 NARUSE, Yui + + * lib/net/http.rb (Net::HTTP.proxy_uri): use initializer instead + of parser to handle IPv6 address. [Bug #9129] + +Wed Aug 6 04:16:05 2014 NARUSE, Yui + + * lib/net/http/requests.rb (Net::HTTP::Options::RESPONSE_HAS_BODY): + OPTIONS requests may have response bodies. [Feature #8429] + http://tools.ietf.org/html/rfc7231#section-4.3.7 + +Wed Aug 6 03:18:04 2014 NARUSE, Yui + + * lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec): + handle req['host'] in update_uri. + + * lib/net/http/generic_request.rb + (Net::HTTP::GenericRequest#update_uri): + use req['host'] if it is explicitly set. Even if URI is given, + it is already used for the initial value of req['host']. + Therefore overwritten value should be respected. [Bug #10054] + +Wed Aug 6 03:17:34 2014 NARUSE, Yui + + * lib/net/http/generic_request.rb + (Net::HTTP::GenericRequest#update_uri): + handle scheme, host, and port to reflect connection to @uri. + + * lib/net/http.rb (Net::HTTP#begin_transport): move trivial handling + to Net::HTTP::GenericRequest#update_uri. + + +Wed Aug 6 02:16:43 2014 NARUSE, Yui + + * lib/net/http/generic_request.rb + (Net::HTTP::GenericRequest#initialize): + optimize object allocation. + +Wed Aug 6 01:16:47 2014 NARUSE, Yui + + * lib/uri/generic.rb (URI::Generic#path_query): remove a private method. + +Wed Aug 6 01:15:47 2014 NARUSE, Yui + + * lib/uri/generic.rb (URI::Generic#normalize!): use String#empty? + + * lib/uri/generic.rb (URI::Generic#path_query): optimized. + + * lib/uri/generic.rb (URI::Generic#to_s): optimized. + +Wed Aug 6 00:15:10 2014 NARUSE, Yui + + * lib/uri/http.rb (URI::HTTP#request_uri): optimized. + decrease object allocation, and ensure always create at least one new + object for return value. + +Wed Aug 6 03:41:21 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/to_ruby.rb: backwards compatibility for + hashes emitted by Syck. Github #198 + * test/psych/test_hash.rb: test for change. + +Tue Aug 5 19:27:59 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_invoke): skip VariantClear when + argument is VT_RECORD variant. + +Tue Aug 5 15:52:51 2014 SHIBATA Hiroshi + + * gems/bundled_gems: Upgrade to test-unit-3.0.0 and minitest-5.4.0. + +Mon Aug 4 21:50:09 2014 Masaki Suketa + + * test/win32ole/test_win32ole_record.rb: add for WIN32OLE_RECORD + test(need .NET Framework 3.5 to run test). + +Mon Aug 4 19:49:34 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_invoke): call rb_hash_foreach instead + of rb_block_call. + + * ext/win32ole/win32ole.c: add comment for rdoc of WIN32OLE_VARIANT + class. + +Mon Aug 4 09:12:47 2014 Eric Wong + + * variable.c: cleanup to use rb_const_lookup + [Feature #10107] + + * vm_insnhelper.c: ditto + +Sun Aug 3 10:55:07 2014 Nobuyoshi Nakada + + * include/ruby/encoding.h (rb_check_symbol_cstr): ditto. + +Sun Aug 3 10:43:08 2014 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_call_method): unusable super class should cause + method missing when BasicObject is refined but not been using. + [ruby-core:64166] [Bug #10106] + +Sat Aug 2 23:47:45 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: separate WIN32OLE::VARIANT src file + from win32ole.c + * ext/win32ole/win32ole.h: ditto. + * ext/win32ole/win32ole_variant_m.c: ditto. + * ext/win32ole/win32ole_variant_m.h: ditto. + * ext/win32ole/depend: ditto. + * ext/.document: ditto. + +Sat Aug 2 14:34:58 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: add comments for rdoc. + +Sat Aug 2 10:26:57 2014 Nobuyoshi Nakada + + * object.c (rb_obj_itself): new method Object#itself. based on the + patch by Rafael Franca in [ruby-core:64156]. + [EXPERIMENTAL] this method may be renamed due to compatibilities. + [ruby-core:44704] [Feature #6373] + +Fri Aug 1 22:30:40 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (folerecord_initialize): accept + only 2 arguments. The 2nd argument should be WIN32OLE object or + WIN32OLE_RECORD object. + +Fri Aug 1 20:17:33 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_variant2val): call + folerecord_s_allocate instead of WIN32OLE_RECORD.new. + +Fri Aug 1 18:39:57 2014 SHIBATA Hiroshi + + * test/date/test_date.rb: remove commented-out code. + * test/date/test_date_arith.rb: ditto. + * test/date/test_date_attr.rb: ditto. + * test/date/test_date_parse.rb: ditto. + +Fri Aug 1 16:35:32 2014 Evan Miller + + * numeric.c (flodivmod): all results are NaN if divisor is NaN. + [fix GH-692] + +Thu Aug 01 07:28:12 2014 Kenta Murata + + * ext/bigdecimal/bigdecimal.c: [DOC] Add description of + `BigDecimal.new` exceptions. Patched by @joker1007 and + @prathamesh-sonpatki [Fixes GH-690] + https://github.com/ruby/ruby/pull/690 + +Thu Jul 31 22:20:12 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: add WIN32OLE_RECORD#inspect. + +Thu Jul 31 20:35:32 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: add + WIN32OLE_RECORD#ole_instance_variable_set and + WIN32OLE_RECORD#ole_instance_variable_get + +Wed Jul 30 23:28:10 2014 Kazuki Tsujimoto + + * sprintf.c (rb_str_format): like r47006, get rid of + function calls in RSTRING_PTR(). + +Wed Jul 30 22:10:29 2014 Kazuki Tsujimoto + + * process.c (rlimit_resource_type, rlimit_resource_value): + get rid of inadvertent dynamic symbol pin-down. + + * re.c (match_backref_number): ditto. + + * signal.c (esignal_init, rb_f_kill, trap_signm): ditto. + + * transcode.c (econv_opts): ditto. + + * vm_trace.c (symbol2event_flag): ditto. + +Wed Jul 30 21:29:39 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_invoke): pass WIN32OLE_RECORD variant + by reference when invoke OLE methods at first. + + * ext/win32ole/win32ole.c (olerecord_set_ivar): release + IRecordInfo interface before setting another IRecordInfo interface. + +Wed Jul 30 13:17:35 2014 Koichi Sasada + + * gc.c: remove unused macros. + +Tue Jul 29 22:21:37 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (hash2olerec): ignore WIN32OLE_RECORD + instance variable if the variable is nil. + +Tue Jul 29 19:43:27 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (folerecord_method_missing): refactoring. + divide functionality of folerecord_method_missing into + olerecord_ivar_set and olerecord_ivar_get. + +Mon Jul 28 20:20:08 2014 Masaki Suketa + + * ext/win32ole/win23ole.c (folerecord_method_missing): support + setter of member of WIN32OLE_RECORD object. + +Mon Jul 28 06:37:19 2014 Zachary Scott + + * vm_eval.c: [DOC] Fix rdoc formatting of patch from [Bug #9551] + +Mon Jul 28 06:34:43 2014 Zachary Scott + + * vm_eval.c: [DOC] [Bug #9551] Improve clarity of Kernel::catch + documentation, patch by Jesse Sielaff. + +Mon Jul 28 06:24:54 2014 Zachary Scott + + * lib/uri/common.rb: [DOC] [Bug #9563] Recommend using URI.escape + before parsing a uri to avoid invalid characters. Reported by + Evgeniy Serykh. + +Mon Jul 28 05:55:56 2014 Zachary Scott + + * time.c: [DOC] Clarify %Y in strftime, which can accept any digits + and will output at least 4 digits as the year. Reported by Yury + Trofimenko [Bug #10049] + + * lib/time.rb: ditto + +Mon Jul 28 05:32:06 2014 Zachary Scott + + * lib/uri/common.rb: [DOC] [Bug #10075] Clarify how URI.join arguments + are handled by RFC3986, originally reported by John Feminella. + +Mon Jul 28 05:21:41 2014 Zachary Scott + + * file.c: [DOC] Clarify how File.file? handles symbolic links. Also + cleaned up the rdoc style for this method, more to follow. + Originally reported by Michael Renner [Bug #10067] + +Mon Jul 28 05:12:22 2014 Zachary Scott + + * time.c: [DOC] Remove dead link and old bug report, which hasn't been + reproduced in a few years. Reported by Federico Builes [Bug #10071] + +Mon Jul 28 04:39:58 2014 Zachary Scott + + * ext/zlib/zlib.c: [DOC] Remove default value of Zlib constants, as + they may change in the implementation without notice. Patched by + @robin850 [Fixes GH-682] https://github.com/ruby/ruby/pull/682 + +Mon Jul 28 04:35:35 2014 Zachary Scott + + * ext/openssl/ossl_hmac.c: Fix NO_HMAC warning [Fixes GH-665] + Patched by @vipulnsward https://github.com/ruby/ruby/pull/665 + +Sun Jul 27 19:49:36 2014 SHIBATA Hiroshi + + * lib/cgi/core.rb: remove unused variables. + * lib/erb.rb: ditto. + * lib/mkmf.rb: ditto. + * lib/net/http/response.rb: ditto. + * lib/optparse/version.rb: ditto. + * lib/prime.rb: ditto. + * lib/racc/parser.rb: ditto. + * lib/rexml/document.rb: ditto. + * lib/rexml/dtd/dtd.rb: ditto. + * lib/rexml/element.rb: ditto. + * lib/rexml/functions.rb: ditto. + * lib/rexml/parsers/xpathparser.rb: ditto. + +Sun Jul 27 05:11:21 2014 Zachary Scott + + * lib/irb.rb: [DOC] PROMPT_I cannot be nil, patch by @hgillane + Fixes documenting-ruby/ruby#37 + https://github.com/documenting-ruby/ruby/pull/37 + +Sun Jul 27 02:41:50 2014 SHIBATA Hiroshi + + * lib/shell/command-processor.rb: remove unused variable. + * lib/shell/system-command.rb: ditto. + * lib/tmpdir.rb: ditto. + * lib/uri/generic.rb: ditto. + +Sun Jul 27 02:08:31 2014 SHIBATA Hiroshi + + * lib/weakref.rb: split executable code into sample directory. + * sample/weakref.rb: ditto. + +Sun Jul 27 02:06:55 2014 SHIBATA Hiroshi + + * lib/delegate.rb: split executable code into sample directory. + * sample/delegate.rb: ditto. + +Sun Jul 27 01:46:34 2014 Zachary Scott + + * proc.c (method_super_method): [DOC] Method#super_method + +Sun Jul 27 01:22:39 2014 Nobuyoshi Nakada + + * proc.c (method_super_method): new method Method#super_method, + which returns a method object of the method to be called by + `super` in the receiver method object. + [ruby-core:62202] [Feature #9781] + +Sat Jul 26 17:22:14 2014 URABE Shyouhei + + * ext/objspace/objspace_dump.c (dump_append): avoid fflush. + + because dump_append_string_value() iterates over each chars, + fflush()-ing here effectively issues system calls on every single + bytes exist in a ruby process. + +Sat Jul 26 16:55:18 2014 Eric Wong + + * iseq.h (struct iseq_compile_data_storage): reduce overhead + to 16 bytes (from 32) on 64-bit + +Sat Jul 26 16:28:06 2014 Eric Wong + + * vm_core.h (struct rb_iseq_struct): reduce to 280 bytes + (from 288 bytes) on 64-bit + +Sat Jul 26 06:44:43 2014 Eric Wong + + * parse.y (struct parse_params): shrink to 320 to 304 bytes on 64-bit + +Sat Jul 26 05:58:35 2014 Eric Wong + + * include/ruby/ruby.h (ZALLOC, ZALLOC_N): implement + (Data_Make_Struct, TypedData_Make_Struct): + ZALLOC replaces ALLOC+memset + [ruby-core:63951][Feature #10082] + * compile.c (iseq_seq_sequence): ZALLOC_N replaces ALLOC_N+MEMZERO + * cont.c (fiber_t_alloc): ZALLOC replaces ALLOC+MEMZERO + * io.c (rb_io_reopen): ditto + * iseq.c (prepare_iseq_build): ditto + * parse.y (new_args_tail_gen, parser_new, ripper_s_allocate): ditto + * re.c (match_alloc): ditto + * variable.c (rb_const_set): ditto + * ext/socket/raddrinfo.c (get_addrinfo): ditto + * ext/strscan/strscan.c (strscan_s_allocate): ditto + * gc.c (rb_objspace_alloc): calloc replaces malloc+MEMZERO + +Sat Jul 26 05:54:54 2014 Eric Wong + + * symbol.c (dsymbol_check): remove unneeded semi-colon + +Fri Jul 25 14:07:27 2014 Koichi Sasada + + * gc.c: change objspace::rgengc::parent_object_is_old (boolean) + to objspace::rgengc::parent_object (VALUE). + Use Qfalse or RVALUE pointer instead of FALSE and TRUE. + + * gc.c (gc_marks_body): should clear parent_object just before + gc_mark_roots() because there are no parents objects + for root objects. + +Fri Jul 25 13:45:39 2014 Koichi Sasada + + * gc.c (rb_gc_writebarrier_remember_promoted): should remember only + OLD objects on RGENGC_AGE2_PROMOTION. + +Fri Jul 25 13:42:02 2014 Koichi Sasada + + * gc.c (gc_mark_stacked_objects): fix error message. + +Fri Jul 25 13:18:00 2014 Will Farrington + + * ext/socket/socket.c (sock_gethostname): Use NI_MAXHOST to support + hostnames longer than 64 characters if the system supports it. + [fixes GH-683] + +Fri Jul 25 12:21:11 2014 Santiago Pastorino + + * compile.c (defined_expr): make the condition if the receiver + is explicit or implicit cleaner. [fix GH-681] + +Fri Jul 25 03:53:52 2014 Eric Hodel + + * doc/keywords.rdoc: [DOC] Describe each keyword. + +Thu Jul 24 22:40:24 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (Init_win32ole): add WIN32OLE_RECORD#initialize + method. + + * ext/win32ole/win32ole.c (ole_val2variant): convert WIN32OLE_RECORD + object to VT_RECORD variant. + +Thu Jul 24 20:10:59 2014 Koichi Sasada + + * gc.c: fix major GC flags. + * add GPR_FLAG_MAJOR_BY_FORCE, which indicates + major GC by METHOD, CAPI and so on (see GC_BY). + * remove GPR_FLAG_MAJOR_BY_RESCAN because not used. + * remove GPR_FLAG_MAJOR_BY_STRESS, use FORCE instead. + + * test/ruby/test_gc.rb: catch up. + +Thu Jul 24 15:55:02 2014 Naohisa Goto + + * include/ruby/io.h (struct rb_io_buffer_t): PACKED_STRUCT should not + be used for platform-specific optimization. PACKED_STRUCT_UNALIGNED + should be used. [ruby-core:63988] [Bug #10088] + +Thu Jul 24 04:42:13 2014 SHIBATA Hiroshi + + * lib/benchmark.rb: split executable code into sample directory. + * sample/benchmark.rb: ditto. + +Thu Jul 24 04:36:49 2014 SHIBATA Hiroshi + + * lib/tempfile.rb: split executable code into sample directory. + * sample/tempfile.rb: ditto. + +Thu Jul 24 04:29:36 2014 SHIBATA Hiroshi + + * lib/pstore.rb: split executable code into sample directory. + * sample/pstore.rb: ditto. + +Wed Jul 23 23:50:11 2014 Nobuyoshi Nakada + + * include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS): + add PowerPC64 too, which is capable to access unaligned words. + patched by Gustavo Frederico Temple Pedrosa in [ruby-core:63937]. + [Feature #10081] + + * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto. + +Wed Jul 23 04:04:38 2014 SHIBATA Hiroshi + + * lib/drb/extserv.rb: remove duplicate code with sample directory. + contributed from @vipulnsward. [fix GH-679] + +Tue Jul 22 12:56:24 2014 Nobuyoshi Nakada + + * string.c (rb_str_count): fix wrong single-byte optimization. + 7bit ascii can be a trailing byte in Shift_JIS. + [ruby-dev:48442] [Bug #10078] + +Tue Jul 22 01:48:38 2014 Eric Wong + + * include/ruby/io.h (rb_io_buffer_t): fix packing on gcc + r46892 caused packing to be a no-op on gcc (4.7.2-5, Debian) + [Bug #10079][ruby-core:63912] + +Mon Jul 21 15:55:42 2014 fuji70 + + * lib/optparse.rb (getopts): print default values and descriptions + in the help message. [fix GH-676] + +Sun Jul 20 14:26:27 2014 Eric Wong + + * vm_core.h (rb_proc_t): reduce to 64 bytes from 72 on 64-bit + +Sun Jul 20 13:50:34 2014 Eric Wong + + * transcode.c (rb_econv_t): reduce to 184 bytes from 200 on 64-bit + +Sun Jul 20 12:44:23 2014 Eric Wong + + * include/ruby/io.h (rb_io_buffer_t): pack structure + Reduces rb_io_t from 200 to 192 bytes, allowing rb_io_t to + occupy one less cache line. + [Feature #10050] + +Sun Jul 20 12:41:53 2014 Eric Wong + + * include/ruby/io.h (rb_io_t): shrink to 200 bytes from 216 on 64-bit + This puts us within 8 bytes of being three cache lines instead of + four lines on x86-64. This breaks the ABI. + [Feature #10050] + +Sun Jul 20 12:36:46 2014 Eric Wong + + * include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448 + bytes from 464 bytes on 64-bit. This breaks the ABI. + [Feature #10034] + +Sun Jul 20 01:06:06 2014 SHIBATA Hiroshi + + * ext/openssl/ossl.c: use encryptor instead of encrypter in doc. + contributed from @vipulnsward. [fix GH-663] + +Sun Jul 20 00:32:44 2014 Nobuyoshi Nakada + + * io.c (rb_io_initialize): [DOC] fix rdoc of append mode. it does + not move the pointer at open. [ruby-core:63747] [Bug #10039] + +Sat Jul 19 12:40:50 2014 Nobuyoshi Nakada + + * compile.c (iseq_compile_each): allow to access private attribute + reader in op_assign. [ruby-core:63817] [Bug #10060] + +Sat Jul 19 11:56:36 2014 Grey Baker + + * lib/time.rb (Time#apply_offset): Guards against a `nil` return + value from `Time.month_days` when offsetting date. Out of range + values are then caught when `Time.utc` is called (as usual). + + Previously a `nil` return value from `Time.month_days` would + have the `<` operator called on it, and raise `NoMethodError`. + [fix GH-667] + + * lib/rdoc/parser/changelog.rb (RDoc#parse_entries): fix dirty hack. + +Sat Jul 19 06:19:01 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: refactoring. + +Fri Jul 18 22:34:41 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (folevariant_initialize): WIN32OLE_VARIANT + does not support VT_RECORD. VT_RECORD should be supported in + WIN32OLE_RECORD. + + * test/win32ole/test_win32ole_variant.rb (test_s_new_vt_record_exc): + ditto. + +Fri Jul 18 19:54:03 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (folevariant_initialize): remove unnecessary + code. + +Fri Jul 18 19:11:03 2014 Marc-Andre Lafortune + + * lib/matrix/eigenvalue_decomposition: Style fix + Patch by Gogo Tanaka [#10058] + +Fri Jul 18 19:03:53 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Avoid using `and`. + Patch by gogo tanaka [#10058] + +Fri Jul 18 17:41:54 2014 GoGo tanaka + + * test/matrix/test_matrix.rb: Add tests for Matrix class. + [Feature #10057][ruby-core:63809] + +Fri Jul 18 10:14:42 2014 SHIBATA Hiroshi + + * lib/fileutils.rb: added missing options of FileUtils.touch by @Domon. + [fix GH-669] + +Thu Jul 17 19:57:27 2014 Herwin + + * ext/thread/thread.c (rb_szqueue_push): add optional parameter, + non_block defaulted to false. [ruby-core:63794] [Feature #10052] + +Wed Jul 16 23:01:43 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_variant2val): support array of + VT_RECORD variant. + +Wed Jul 16 20:21:49 2014 Naohisa Goto + + * vm_core.h (struct rb_iseq_struct): stack_max is changed to int + because all calculations related to stack_max in compile.c + (iseq_set_sequence) and vm_insnhelper.c (vm_push_frame) are + conducted by using int. This partly reverts r23945. + * vm_insnhelper.c (vm_push_frame): ditto. This reverts r42401. + +Wed Jul 16 19:55:32 2014 Naohisa Goto + + * vm_core.h (struct rb_iseq_struct): temporal workaround of [Bug 10037]. + Add padding on big-endian 64-bit architecture (e.g. sparc64). + +Wed Jul 16 19:32:23 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (fole_record_method_missing): call + rb_hash_fetch instead of rb_hash_aref. + +Wed Jul 16 18:08:47 2014 Koichi Sasada + + * iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of + marking from vm_mark(). + + * vm.c (rb_vm_mark): ditto. + +Wed Jul 16 18:03:50 2014 Koichi Sasada + + * gc.c (gc_mark_roots): call rb_vm_mark directly. + + * vm.c: remove mark function for RubyVM object because + RubyVM object marked manually. + +Wed Jul 16 12:25:39 2014 NARUSE, Yui + + * regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09. + this includes Support for Unicode 7.0 [Bug #9092]. + +Tue Jul 15 23:59:27 2014 Jared Jennings + + * ext/digest: make built-in digest function implementations + indicate success or failure of init and final functions. + [ruby-core:61614] [Bug #9659] + + * ext/digest/digest.c: expect digest init and finish functions to + indicate success or failure; raise exception on failure. + [ruby-core:61614] [Bug #9659] + +Tue Jul 15 20:31:40 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD. + +Tue Jul 15 12:42:23 2014 SHIBATA Hiroshi + + * defs/default_gems: change version definition file of rake. + +Tue Jul 15 12:00:03 2014 SHIBATA Hiroshi + + * lib/rake.rb, lib/rake/*.rb: Upgrade to rake-10.3.2 + [fix GH-668] + * test/rake/*.rb: ditto. + +Mon Jul 14 19:14:51 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: modify WIN32OLE class document and + add comment for constants of WIN32OLE. + +Mon Jul 14 16:38:45 2014 Eric Wong + + * vm_core.h (struct rb_iseq_struct): reduce to 288 bytes + on x86-64 (from 296 bytes) + +Mon Jul 14 16:07:25 2014 Eric Wong + + * iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes + on x86-64 (from 48 bytes) + +Mon Jul 14 16:04:41 2014 Eric Wong + + * iseq.h (struct iseq_catch_table): new flexible array struct + (iseq_catch_table_bytes): allocated size function + * vm_core.h (struct rb_iseq_struct): update catch_table member + This reduces the struct from 304 to 296 bytes on x86-64. + * compile.c (iseq_set_exception_table): update for struct changes + * iseq.c (iseq_free): ditto + * iseq.c (iseq_memsize): ditto + * iseq.c (rb_iseq_disasm): ditto + * iseq.c (iseq_data_to_ary): ditto + * iseq.c (rb_iseq_build_for_ruby2cext): ditto (untested) + * vm.c (vm_exec): ditto + * vm_core.h (struct rb_iseq_struct): ditto + * vm_insnhelper.c (vm_throw): ditto + +Sun Jul 13 17:49:52 2014 SHIBATA Hiroshi + + * ext/openssl/ossl_cipher.c: Fix call to ciphers class method and + spell out `encryption` by @vipulnsward [fix GH-664] + +Sun Jul 13 17:31:51 2014 SHIBATA Hiroshi + + * ext/gdbm/gdbm.c: fix wrong arguments in GetDBM2 macro. + * ext/sdbm/init.c: ditto. + +Sun Jul 13 17:25:50 2014 SHIBATA Hiroshi + + * ext/dbm/dbm.c: fix wrong arguments in GetDBM2 macro by @v2e4lisp. + [fix GH-655] + +Sun Jul 13 16:44:56 2014 Eric Wong + + * vm_core.h (struct rb_call_info_struct): improve packing + This reduces the struct from 112 to 104 bytes on x86-64. + +Sun Jul 13 15:53:25 2014 Eric Wong + + * vm_core.h (struct rb_iseq_struct): stack_max is uint32_t + This reduces the struct from 312 to 304 bytes on x86-64. + +Sun Jul 13 10:56:26 2014 Nobuyoshi Nakada + + * configure.in (rb_cv_broken_backtrace): exit with failure + normally, no needs to abort. [ruby-core:63678] [Bug #10008] + +Sat Jul 12 15:10:22 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (fole_record_method_missing): correct + fields Hash key. + +Sat Jul 12 04:17:40 2014 KOSAKI Motohiro + + * lib/net/smtp.rb (Net::SMTP#data): enable buffering while + 'data' send for optimizing Net::SMTP#send_message. + [ruby-dev:48329] [misc #9981] + patch by Masahiro Tomita. + +Sat Jul 12 01:13:45 2014 Naohisa Goto + + * test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later, + if possible, execute child ruby with environment variables + LD_PRELOAD=libumem.so UMEM_OPTIONS="backend=mmap". With these + variables, freed memory is immediately returned to the OS. + [Bug #10020] [ruby-dev:48391] + +Fri Jul 11 20:49:10 2014 Masaki Suketa + + * ext/win32ole/win32ole.c: add WIN32OLE_RECORD class to support + VT_RECORD OLE variables. + +Fri Jul 11 17:15:08 2014 SHIBATA Hiroshi + + * lib/abbrev.rb: remove executable. + +Fri Jul 11 16:45:39 2014 SHIBATA Hiroshi + + * lib/fileutils.rb: handle ENOENT error with symlink targeted to + non-exists file. [ruby-dev:45933] [Bug #6716] + +Fri Jul 11 15:59:42 2014 SHIBATA Hiroshi + + * array.c: Clarify documentation for Array#insert. + [ruby-core:62934] [Bug #9901] + +Fri Jul 11 15:39:36 2014 SHIBATA Hiroshi + + * io.c: Improve Documentation by @dapplebeforedawn. + [fix GH-658] [ruby-core:63579] [Bug #10012] + +Fri Jul 11 14:19:14 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Fix sign for cross_product [#9499] + +Fri Jul 11 11:11:50 2014 Koichi Sasada + + * benchmark/prepare_so_k_nucleotide.rb: use require_relative. + + * benchmark/prepare_so_reverse_complement.rb: ditto. + +Fri Jul 11 10:09:03 2014 Nobuyoshi Nakada + + * pack.c (encodes): fix buffer overrun by tail_lf. Thanks to + Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019] + +Thu Jul 10 23:51:36 2014 Naohisa Goto + + * hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9. + When name contains '=', ruby_setenv raises Errno::EINVAL. + That is the same behavior as Solaris 10. + NULL check for malloc return value is also added. + +Thu Jul 10 15:02:55 2014 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack + pointer to get rid of overwriting splat arguments by arguments + for `to_hash` conversion. [ruby-core:63593] [Bug #10016] + +Thu Jul 10 01:09:57 2014 Koichi Sasada + + * symbol.c: remove rb_gc_mark_symbols(). + + fstrings referred by static symbols and pinned dynamic symbols + are registered by rb_gc_register_mark_object(). + + fstrings referred by dynamic symbols (not pinned symbols) + are referred from global_symbols.dsymbol_fstr_hash (Hash object). + + Note that fstrings referred from dynamic symbols must live logger + than symbol objects themselves because rb_gc_free_dsymbol() uses + fstrings to remove from symbol tables. + This is why we can not mark fstrings from dynamic symbols. + + This technique reduces root objects for GC marking. + + * gc.c (gc_mark_roots): ditto. + + * internal.h: ditto. + +Thu Jul 10 00:24:18 2014 Naohisa Goto + + * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solaris + introduced in r46768. Object files containing dtrace probes should + be listed in DTRACE_DEPENDENT_OBJS. + +Wed Jul 9 17:07:28 2014 Nobuyoshi Nakada + + * symbol.c, symbol.h: Symbol class implementation and internals, + split from parse.y. + +Wed Jul 9 14:45:39 2014 Koichi Sasada + + * parse.y: change Symbol <-> ID relationship to avoid + exposing IDs from collectable symbols. + [Bug #10014] + + Now, rb_check_id() returns 0 if corresponding symbol is + pinned dynamic symbol. + + There is remaining intern_cstr_without_pindown(), it can return + IDs from collectable symbols. We must be careful to use it + (only used in parse.y). I think it should be removed if + it does not have impact for performance. + + * parse.y: + add: + * STATIC_SYM2ID() + * STATIC_ID2SYM() + rename: + * rb_pin_dynamic_symbol() -> dsymbol_pindown() + + * internal.h: + remove: + * rb_check_id_without_pindown() + * rb_sym2id_without_pindown() + add: + * rb_check_symbol() + * rb_check_symbol_cstr() + + * load.c: use rb_check_id() or rb_check_id_cstr(). + + * object.c: ditto. + + * struct.c: ditto. + + * thread.c: ditto. + + * vm_method.c: ditto. + + * string.c (sym_find): use only rb_check_symbol(). + + * sprintf.c (rb_str_format): use rb_check_symbol_cstr(). + +Wed Jul 9 12:21:55 2014 Koichi Sasada + + * parse.y (symbols_i): delete garbage symbols for Symbol.all_symbols. + +Wed Jul 9 05:49:08 2014 Eric Wong + + * thread_pthread.h (struct rb_global_vm_lock_struct): + do not expose pthread type for lock + +Wed Jul 9 05:41:40 2014 Eric Wong + + * thread_pthread.h: remove unneeded semaphore.h include + +Wed Jul 9 00:12:28 2014 Keiju Ishitsuka + + * lib/irb/ruby-lex.rb: fix counting indent in identify_string_dvar. + +Tue Jul 8 16:58:02 2014 Nobuyoshi Nakada + + * test/ruby/memory_status.rb (Memory::PSCMD): use ps command which + outputs expected result. [ruby-dev:48370] [Bug #10010] + +Tue Jul 8 14:45:17 2014 Koichi Sasada + + * parse.y (dsymbol_alloc): set global_symbols.minor_marked to 0. + + * parse.y (dsymbol_check): set RSYMBOL(sym)->fstr to 0 + because we should not touch fstr after that. + + * parse.y (rb_gc_free_dsymbol): skip deleting str and sym + from tables if fstr == 0. + +Mon Jul 7 14:31:52 2014 Koichi Sasada + + * parse.y: remove global_symbols::pinned_dsym + (and ::pinned_dsym_minor_marked). + + Mark pinned dsymbols by rb_gc_register_mark_object() because + they are immortal. + + * parse.y (rb_gc_free_dsymbol): rename parameter name `ptr' to `sym'. + +Mon Jul 7 12:45:51 2014 Koichi Sasada + + * gc.c: revert miss-commit. + +Mon Jul 7 12:40:59 2014 Koichi Sasada + + * parse.y: need to use updated (re-created) symbols. + +Mon Jul 7 11:02:55 2014 NARUSE, Yui + + * tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb. + + * lib/rbconfig/obsolete.rb: removed. + +Mon Jul 7 10:52:03 2014 Koichi Sasada + + * parse.y: do not use rb_gc_resurrect(), but create a new dynamic + symbol for garbage dynamic symbol. + + * common.mk: use gc.h by parse.y. + +Mon Jul 7 02:18:42 2014 Koichi Sasada + + * string.c (fstr_update_callback): do not use rb_gc_resurrect() + any more. + + Make new frozen string and replace with garbage frozen string. + + * common.mk: use gc.h from string.c. + +Mon Jul 7 00:36:13 2014 Koichi Sasada + + * gc.c: rename is_dying_object() to is_garbage_object(). + + * gc.h: rb_objspace_garbage_object_p() as an exported function. + +Sun Jul 6 21:30:35 2014 Koichi Sasada + + * gc.c (is_dying_object): fix missed condition. + + * gc.c (is_live_object): move frequent path first. + +Sun Jul 6 21:00:11 2014 Koichi Sasada + + * gc.c: rename is_dead_object() to is_dying_object(). + This function is not opposite against is_live_object() + because is_dying_object() does *not* check object type. + + * gc.c (is_dying_object): change condition. + + * gc.c (is_live_object): use T_NONE instead of 0. + + * gc.c (rb_objspace_dying_object_p): added. + +Sun Jul 6 13:37:27 2014 Koichi Sasada + + * gc.c (rb_gc_register_mark_object): change data structure. + From single array, to array of arrays. Each array only has 1024 + entries. + + * vm.c (Init_vm_objects): change default capa from 1 to 128. + +Sat Jul 5 05:05:53 2014 Vipul A M + + * lib/irb/locale.rb (IRB::Locale#modifier): fix wrong attr_reader + `modifieer` => `modifier` from irb locale. [fix GH-656] + +Fri Jul 4 20:45:26 2014 Koichi Sasada + + * parse.y: rename symbols::sym_id to symbols::str_id. + This table is not {Symbol => ID} table, but + {String => ID} table. + + * parse.y (lookup_sym_id): also rename lookup_sym_id() to + lookup_str_id() because key is not Symbol, but String. + +Fri Jul 4 18:42:04 2014 Koichi Sasada + + * parse.y (must_be_dynamic_symbol): fix missed-condition. + +Fri Jul 4 18:38:11 2014 Koichi Sasada + + * parse.y (rb_pin_dynamic_symbol): should be `static' function. + +Fri Jul 4 18:03:35 2014 Koichi Sasada + + * parse.y (must_be_dynamic_symbol): refactoring. + * add `inline'. + * use UNLIKELY(). + * check only DYNAMIC_SYM_P(), otherwise it is a bug. + * lookup_id_str() is not needed in second condition. + +Fri Jul 4 11:53:56 2014 Koichi Sasada + + * parse.y: remove unused code + surrounded by `#if ENABLE_SELECTOR_NAMESPACE' + +Fri Jul 4 10:08:24 2014 SHIBATA Hiroshi + + * test/rubygems/test_gem_package.rb: avoid tempfile leaks using Tempfile#close! + * test/rubygems/test_gem_request_set.rb: ditto. + * test/rubygems/test_gem_request_set_gem_dependency_api.rb: ditto. + +Fri Jul 4 04:42:05 2014 NARUSE, Yui + + * lib/net/http/response.rb (Net::Inflater#inflate_adapter): + prevent automatic encoding conversion. + +Fri Jul 4 04:39:52 2014 NARUSE, Yui + + * lib/net/http/response.rb (Net::HTTPResponse.each_response_header): + raise first exception even if inflate_body_io.finish raises error. + when begin block raises error, finish usually raises error too. + +Fri Jul 4 02:56:04 2014 NARUSE, Yui + + * lib/uri/generic.rb (URI::Generic#query=): remove validation, just + escape. [Feature #2542] + + * lib/uri/generic.rb (URI::Generic#fragment=): ditto. + + * lib/uri/generic.rb (URI::Generic#check_query): removed. + + * lib/uri/generic.rb (URI::Generic#set_query): ditto. + + * lib/uri/generic.rb (URI::Generic#check_fragment): ditto. + + * lib/uri/generic.rb (URI::Generic#set_fragment): ditto. + +Thu Jul 3 12:40:22 2014 Nobuyoshi Nakada + + * configure.in (--with-static-linked-ext): fix for extensions to + be linked statically. + + * Makefile.in, common.mk: use ENCSTATIC for enc directory. + + * ext/extmk.rb: supply dependencies of statically linked extension + libraries. + +Wed Jul 2 15:45:49 2014 Koichi Sasada + + * gc.c (gc_heap_lazy_sweep): simplify logic. + + * gc.c (gc_page_sweep): return TRUE if empty slots are available. + +Wed Jul 2 09:48:42 2014 SHIBATA Hiroshi + + * logger.rb: removed unmaintained code. + [Feature #9860][ruby-core:62724] + * test/logger/test_application.rb: ditto. + +Wed Jul 2 03:20:00 2014 Charlie Somerville + + * node.c (dump_node): handle nd_value == (NODE *)-1 to mean this + keyword argument is required + +Wed Jul 2 02:57:27 2014 Nobuyoshi Nakada + + * vm.c (rb_vm_env_local_variables): returns array of local + variable name symbols in the environment by envval. + + * proc.c (bind_local_variables): use rb_vm_env_local_variables. + +Wed Jul 2 02:23:52 2014 Nobuyoshi Nakada + + * proc.c (bind_receiver): new method to return the bound receiver + of the binding object. [ruby-dev:47613] [Feature #8779] + +Wed Jul 2 02:14:37 2014 Nobuyoshi Nakada + + * proc.c (bind_local_variables): update env from envval for each + iterations. [ruby-dev:48351] [Bug #10001] + +Tue Jul 1 23:46:34 2014 NAKAMURA Usaku + + * NEWS: [DOC] mention about Binding#local_variables, introduced at + r44392 (see [Feature #8773]). + +Tue Jul 1 23:30:51 2014 CHIKANAGA Tomoyuki + + * numeric.c (num_step_scan_args): table argument of rb_get_kwargs() is + array of IDs, not Symbols. [ruby-dev:48353] [Bug #9811] + +Tue Jul 1 16:18:22 2014 Akinori MUSHA + + * ext/digest/lib/digest/hmac.rb, test/digest/test_digest_hmac.rb: + Digest::HMAC is finally removed as previously noticed. + [fix GH-648] + +Tue Jul 1 11:13:43 2014 SHIBATA Hiroshi + + * ext/date/lib/date/format.rb: removed empty file by @vipulnsward. + * ext/date/lib/date.rb: removed needless require. + [fix GH-647] + +Mon Jun 30 16:42:52 2014 Koichi Sasada + + * gc.c (gc_stat_internal): return size_t value instead of VALUE + and remove `out' parameter. + + * gc.c: add braces for `if' statements. + + * gc.c (gc_stat_internal): fix comment. + +Mon Jun 30 15:07:34 2014 Koichi Sasada + + * gc.c: support `USE_RGENGC == 0'. + + * test/ruby/test_gc.rb: ditto. + +Mon Jun 30 11:36:04 2014 SHIBATA Hiroshi + + * file.c: [DOC] document File.join returns a string. + Contributed by @dapplebeforedawn. [fix GH-646] + +Sat Jun 28 22:57:01 2014 NAKAMURA Usaku + + * ext/pathname/pathname.c (path_birthtime): Windows support. + see [Feature #9857] [ruby-dev:48339] + +Sat Jun 28 22:44:16 2014 Tanaka Akira + + * ext/pathname/pathname.c (path_birthtime): New method, + Pathname#birthtime. + Proposed by Kazuhiro NISHIYAMA. [ruby-dev:48232] [Feature #9857] + +Sat Jun 28 20:29:03 2014 Simon Baird + + * ext/bigdecimal/lib/bigdecimal/math.rb (BigMath#PI): change error + message about zero or negative precision for clarity and + consistency with other methods. [GH-644] + +Sat Jun 28 15:32:57 2014 Tanaka Akira + + * lib/webrick/utils.rb (create_listeners): Close socket objects. + +Sat Jun 28 13:58:48 2014 Nobuyoshi Nakada + + * eval.c (setup_exception): should not overwrite SystemStackError + backtrace if set already. [ruby-core:63377] [Feature #6216] + + * eval.c (setup_exception): get rid of method calls before raising + stack overflow, not to cause stack overflow again. + + * defs/id.def: add IDs for backtraces. + +Sat Jun 28 04:08:22 2014 NARUSE, Yui + + * lib/uri/mailto.rb: update to latest specs, RFC 6068 and HTML5. + + * lib/uri/mailto.rb (HEADER_PATTERN): removed. + + * lib/uri/mailto.rb (HEADER_REGEXP): use RFC 6068 hfields. + + * lib/uri/mailto.rb (EMAIL_REGEXP): use HTML5 email regexp. + + * lib/uri/mailto.rb (URI::MailTo.build): support multiple to addresses. + + * lib/uri/mailto.rb (URI::MailTo#initialize): Support multiple to + addresses. Don't check with regexp, only split. + + * lib/uri/mailto.rb (URI::MailTo#check_to): verify by matching + URI path-rootless and HTML5 email regexp with unescaped one. + + * lib/uri/mailto.rb (URI::MailTo#check_headers): verify only by + HEADER_REGEXP. + + * lib/uri/mailto.rb (URI::MailTo#set_headers): don't check by + HEADER_REGEXP, only split it. + +Sat Jun 28 00:35:10 2014 Lauri Tirkkonen + + * tool/mkconfig.rb: fix empty RbConfig::CONFIG["prefix"] when + configured --with-rubyarchprefix, remove prefix from rubyarchdir + after expansion for the case it does not start with '$(prefix)'. + [fix GH-643] + +Fri Jun 27 15:20:12 2014 SHIBATA Hiroshi + + * lib/rubygems/test_case.rb: rescue Gem::LoadError in Gem::TestCase. + because it's effected by removing minitest from stdlib. + +Fri Jun 27 12:29:37 2014 SHIBATA Hiroshi + + * lib/rubygems/specification.rb: fixed broken condition caused + by removing YAML::ENGINE. + * lib/rubygems/package/old.rb: ditto. + +Fri Jun 27 05:33:26 2014 Nobuyoshi Nakada + + * hash.c (env_shift): fix memory leak on Windows, free environment + strings block always. [ruby-dev:48332] [Bug #9983] + +Fri Jun 27 03:41:53 2014 Nobuyoshi Nakada + + * sprintf.c (GETASTER): should not use the numbered argument to be + formatted, raise ArgumentError instead. + [ruby-dev:48330] [Bug #9982] + +Thu Jun 26 18:18:28 2014 SHIBATA Hiroshi + + * test/with_different_ofs.rb: move into test library directory. + * test/csv/base.rb: fix require path for with_different_ofs.rb. + * test/digest/test_digest_extend.rb: ditto. + +Thu Jun 26 18:06:50 2014 SHIBATA Hiroshi + + * test/profile_test_all.rb: move into test library directory. + * test/runner.rb: fix require path for profile_test_all.rb. + +Thu Jun 26 17:57:57 2014 SHIBATA Hiroshi + + * lib/webrick/httpproxy.rb: remove useless assigned variables. + * lib/webrick/httpservlet/cgihandler.rb: ditto. + * lib/webrick/httpservlet/erbhandler.rb: ditto. + * lib/webrick/server.rb: ditto. + +Thu Jun 26 08:28:01 2014 Nobuyoshi Nakada + + * hash.c (env_select): fix memory leak and crash on Windows, make + keys array first instead of iterating on environ directly. + [ruby-dev:48325] [Bug #9978] + +Thu Jun 26 02:45:04 2014 Nobuyoshi Nakada + + * eval_error.c (error_print): put a newline after an anonymous + exception class name. + +Wed Jun 25 22:31:32 2014 Nobuyoshi Nakada + + * hash.c (ruby_setenv): fix memory leak on Windows, free + environment strings block after check for the size. + [ruby-dev:48323] [Bug #9977] + +Wed Jun 25 15:44:12 2014 Eric Wong + + * ccan/container_of/container_of.h (container_off_var): + avoid warning with -Wcast-qual + [ccan ba5ad771af4aa9e085498de6c3c665c52694460f (Rusty Russell)] + +Wed Jun 25 10:19:59 2014 Nobuyoshi Nakada + + * hash.c (env_aset, env_has_key, env_assoc, env_has_value), + (env_rassoc, env_key): prohibit tainted strings if $SAFE is + non-zero. [Bug #9976] + +Tue Jun 24 14:46:17 2014 SHIBATA Hiroshi + + * lib/gserver.rb: remove redundant use of to_s in interpolation. + * lib/logger.rb: ditto. + * lib/optparse.rb: ditto. + * lib/rbconfig/obsolete.rb: ditto. + * lib/resolv.rb: ditto. + * lib/webrick/httpresponse.rb: ditto. + +Tue Jun 24 10:50:06 2014 Nobuyoshi Nakada + + * hash.c (env_path_str_new): make PATH environment variable + string, to be frozen. + +Tue Jun 24 10:40:52 2014 SHIBATA Hiroshi + + * tool/make-snapshot: download bundle gems when package making. + [Feature #9852][ruby-core:62676] + * gems/bundled_gems: listed bundled gems for Ruby 2.2. + +Tue Jun 24 10:20:35 2014 SHIBATA Hiroshi + + * tool/downloader.rb: make Downloader class to general download utility. + It can be used without config.guess and config.sub. + * tool/get-config_files: ditto. + * tool/make-snapshot: ditto. + +Tue Jun 24 06:17:52 2014 NARUSE, Yui + + * eval.c (setup_exception): "mesg == sysstack_error" and + sysstack_error_p(mesg) are duplicated. + r46502 seems to want to use latter. + +Tue Jun 24 06:15:36 2014 Nobuyoshi Nakada + + * ext/tk/tcltklib.c: fix format specifiers for VALUE and + Tcl_Interp*. [ruby-core:63283] [Bug #9972] + +Tue Jun 24 05:40:41 2014 KOSAKI Motohiro + + * nacl/nacl-config.rb: Use File.exist? instead of executable? + for irt_core. Recent nacl_sdk has non-executable irt_core. + Patch by Shinichiro Hamaji. + [Fixes GH-529] https://github.com/ruby/ruby/pull/529 + +Mon Jun 23 18:44:45 2014 SHIBATA Hiroshi + + * tool/config_files.rb: rename class ConfigFiles to Downloader. + * tool/get-config_files: ditto. + * tool/make-snapshot: ditto. + +Mon Jun 23 18:03:13 2014 SHIBATA Hiroshi + + * tool/rbinstall.rb: support to install bundle gems. + +Mon Jun 23 17:33:11 2014 Akinori MUSHA + + * lib/net/imap.rb (Net::IMAP#fetch): [DOC] Describe how a range in + +set+ is interpreted, and mention -1 which can be used for '*'. + +Mon Jun 23 16:22:50 2014 URABE Shyouhei + + * include/ruby/ruby.h (struct RHash): no longer. [Feature #9889] + + * include/ruby/ruby.h (RHASH): ditto. + + * include/ruby/ruby.h (RHASH_ITER_LEV): deprecated. Will be deleted later. + + * include/ruby/ruby.h (RHASH_IFNONE): ditto. + + * internal.h (struct RHash): moved here. + + * internal.h (RHASH): ditto. + + * hash.c (rb_hash_iter_lev): do not use this. + + * hash.c (rb_hash_ifnone): ditto. + +Mon Jun 23 13:30:11 2014 URABE Shyouhei + + * include/ruby/ruby.h (struct RComplex): no longer. [Feature #9888] + + * include/ruby/ruby.h (RCOMPLEX): ditto. + + * include/ruby/ruby.h (RCOMPLEX_SET_REAL): deprecated. Will be deleted later. + + * include/ruby/ruby.h (RCOMPLEX_SET_IMAG): ditto. + + * internal.h (struct RFloat): moved here. + + * internal.h (RCOMPLEX): ditto. + + * complex.c (rb_complex_set_real): do not use this. + + * complex.c (rb_complex_set_imag): ditto. + +Mon Jun 23 13:10:15 2014 URABE Shyouhei + + * include/ruby/ruby.h (struct RFloat): no longer. [Feature #9863] + + * include/ruby/ruby.h (RFLOAT): ditto. + + * internal.h (struct RFloat): moved here. + + * internal.h (RFLOAT): ditto. + +Mon Jun 23 12:01:42 2014 NARUSE, Yui + + * lib/uri/generic.rb (check_port): allow strings for port= as + described in rdoc. + + * lib/uri/rfc3986_parser.rb (regexp): implementation detail of above. + +Mon Jun 23 11:35:01 2014 Nobuyoshi Nakada + + * eval.c (setup_exception): set backtrace in system stack error + other than the pre-allocated sysstack_error. [Feature #6216] + + * proc.c (Init_Proc): freeze the pre-allocated sysstack_error. + + * vm_insnhelper.c (vm_stackoverflow): raise new instance for each + times without calling any methods to keep the backtrace with no + further stack overflow. + + * object.c (rb_obj_copy_ivar): extract function to copy instance + variables only for T_OBJECT from init_copy. + +Mon Jun 23 11:11:16 2014 Nobuyoshi Nakada + + * signal.c (check_stack_overflow): drop the last tag too close to + the fault page, to get rid of stack overflow deadlock. + [Bug #9971] + +Sun Jun 22 09:11:15 2014 NARUSE, Yui + + * lib/uri/generic.rb: remove registry. + 'registry' is not used and RFC3986 doesn't use it. + +Sun Jun 22 09:10:09 2014 NARUSE, Yui + + * lib/uri/rfc3986_parser.rb: raise exception when given a URI string + has non ASCII in order to keep the regexp compiled for US-ASCII. + +Sun Jun 22 09:05:42 2014 NARUSE, Yui + + * lib/uri/common.rb (URI::REGEXP): move to lib/uri/rfc2396_parser.rb. + + * lib/uri/common.rb (URI::Parser): ditto. + + * lib/uri/common.rb (URI.split): use RFC3986_Parser. [Feature #2542] + + * lib/uri/common.rb (URI.parse): ditto. + + * lib/uri/common.rb (URI.join): ditto. + + * lib/uri/common.rb (URI.extract): deprecated. + + * lib/uri/common.rb (URI.regexp): ditto. + + * lib/uri/rfc2396_parser.rb: added. + + * lib/uri/rfc3986_parser.rb: added. + +Sun Jun 22 09:04:50 2014 NARUSE, Yui + + * lib/uri/mailto.rb (initialize): as previous commit, fix arg_check + +Sun Jun 22 09:01:47 2014 NARUSE, Yui + + * lib/uri/ftp.rb (initialize): argument checking flag is arg_check, + but arg[-1] is fragment. + + * lib/uri/ftp.rb (initialize): explicitly specify arguments. + +Sat Jun 21 12:50:32 2014 Nobuyoshi Nakada + + * ext/fiddle/extconf.rb: supply 0 to fill RUBY_LIBFFI_MODVERSION + with 3-digit. libffi 3.1 returns just 2-digit. + [ruby-core:62920] [Bug #9897] + +Sat Jun 21 07:06:13 2014 Nobuyoshi Nakada + + * encoding.c (enc_find): [DOC] never accepted a symbol. + [ruby-dev:48308] [Bug #9966] + +Fri Jun 20 17:15:43 2014 Koichi Sasada + + * test/lib/tracepointchecker.rb: add to check TracePoint healthiness. + + * test/runner.rb: use it. + +Fri Jun 20 07:26:44 2014 Koichi Sasada + + * test/ruby/test_settracefunc.rb: rewrite tests with + assert_consistent_call_return(). + + assert_consistent_call_return() is also modified to check + consistency. + +Fri Jun 20 07:07:28 2014 Koichi Sasada + + * compile.c (rb_iseq_compile_node): put start label of block after + trace (b_call). + [Bug #9964] + + * test/ruby/test_settracefunc.rb: add a test. + + added assert_consistent_call_return() method check call/return + consistency. + +Fri Jun 20 05:26:27 2014 Koichi Sasada + + * vm_eval.c (rb_catch_protect): fix same problem of [Bug #9961]. + + * vm_eval.c (rb_iterate): ditto. + +Thu Jun 19 21:41:30 2014 Koichi Sasada + + * vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfp + with invoking RUBY_EVENT_C_RETURN. + [Bug #9961] + + * vm_core.h: ditto. + + * eval.c (rb_protect): use it. + + * eval.c (rb_rescue2): ditto. + + * vm_eval.c (rb_iterate): ditto. + + * test/ruby/test_settracefunc.rb: add a test. + + * vm_core.h (rb_vm_rewind_cfp): add the prototype declaration. + +Thu Jun 19 19:47:21 2014 Koichi Sasada + + * vm.c (invoke_block_from_c): move call/return event timing for + bmethod. It can invoke inconsistent call event if this call raises + argument error. + [Bug #9959] + + * vm_insnhelper.c (vm_call_bmethod_body): ditto. + + * test/ruby/test_settracefunc.rb: add a test. + +Thu Jun 19 18:14:47 2014 Koichi Sasada + + * vm_core.h: add VM_FRAME_MAGIC_RESCUE to recognize normal block or + rescue clause. + + * vm.c (vm_exec): use VM_FRAME_MAGIC_RESCUE on at rescue/ensure. + + * test/ruby/test_settracefunc.rb: should not invoke b_return at rescue + clause. + [Bug #9957] + + * vm_dump.c (control_frame_dump): check VM_FRAME_MAGIC_RESCUE. + + * vm_dump.c (vm_stack_dump_each): ditto. + +Thu Jun 19 13:39:11 2014 Arne Brasseur + + * proc.c (rb_method_curry): Implement Method#curry, which delegates + to to_proc.curry. [ruby-core:62212] [Feature #9783] + +Tue Jun 17 16:41:49 2014 Shugo Maeda + + * lib/net/ftp.rb (gets, readline): read lines without LF properly. + [ruby-core:63205] [Bug #9949] + + * test/net/ftp/test_buffered_socket.rb: related test. + +Tue Jun 17 12:35:24 2014 Nobuyoshi Nakada + + * eval.c (extract_raise_opts): pass unknown options to the + exception, so that exception class can receive a hash argument. + [ruby-core:63203] [Feature #8257] + +Tue Jun 17 12:24:57 2014 Koichi Sasada + + * gc.c (obj_memsize_of): memsize_of(T_ZOMBIE) returns 0, not a rb_bug. + ObjectSpace.count_objects_size() uses memsize_of(T_ZOMBIE). + + This bug introduced at r46348. + +Mon Jun 16 19:00:11 2014 Koichi Sasada + + * test/runner.rb: failure message should be passed as an argument. + +Mon Jun 16 18:42:57 2014 Koichi Sasada + + * test/runner.rb: capture TracePoint stat before setup and compare + it after teardown. + +Mon Jun 16 14:33:56 2014 Nobuyoshi Nakada + + * process.c (open): use UTF-8 version function to support + non-ascii path properly. [ruby-core:63185] [Bug #9946] + +Sat Jun 14 10:54:08 2014 Nobuyoshi Nakada + + * array.c (rcombinate0): remove recursion, by looping with indexes + stored in `p`. + + * array.c (rpermute0): remove recursion, by looping with indexes + stored in `p`. + + * array.c (permute0): remove recursion, by looping with indexes + stored in `p`. [ruby-core:63103] [Bug #9932] + +Sat Jun 14 10:52:15 2014 Nobuyoshi Nakada + + * string.c (rb_str_resize): update capa only when buffer get + reallocated. + http://d.hatena.ne.jp/nagachika/20140613/ruby_trunk_changes_46413_46420#r46413 + +Sat Jun 14 08:28:59 2014 Zachary Scott + + * man/rake.1: [DOC] Update links for Rake, patch by @hsbt [Bug #9904] + [Fixes GH-628] https://github.com/ruby/ruby/pull/628 + +Fri Jun 13 17:58:58 2014 Koichi Sasada + + * vm_trace.c: add new method TracePoint.stat to debug + TracePoint mechanism. + + Ruby users should not use this method. So I don't note this method + in the NEWS file. + + * test/runner.rb: detect zombie active TracePoints with + TracePoint.stat. + +Fri Jun 13 17:46:31 2014 Koichi Sasada + + * vm_trace.c: clear and restore recursive checking thread local data + to avoid unexpected throw from TracePoint. + [Bug #9940] + + * test/ruby/test_settracefunc.rb: add a test. + + * thread.c: added + * rb_threadptr_reset_recursive_data(rb_thread_t *th); + * rb_threadptr_restore_recursive_data(rb_thread_t *th, VALUE old); + + * vm_core.h: ditto. + +Fri Jun 13 17:33:14 2014 Nobuyoshi Nakada + + * array.c (rb_ary_combination): iterate on a shared copy, and use + array of indexes instead of array of chosen objects. + [ruby-core:63149] [Bug #9939] + + * array.c (yield_indexed_values): extract from permute0(), + rpermute0(), and rcombinate0(). + +Fri Jun 13 13:42:58 2014 Nobuyoshi Nakada + + * array.c (rb_ary_permutation): `p` is the array of size `r`, as + commented at permute0(). since `n >= r` here, buffer overflow + never happened, just reduce unnecessary allocation though. + +Thu Jun 12 20:32:28 2014 Nobuyoshi Nakada + + * string.c (rb_str_resize): should consider the capacity instead + of the old length, as pointed out by nagachika. + +Thu Jun 12 18:31:01 2014 SHIBATA Hiroshi + + * lib/net/http/responses.rb: added Net::HTTPPermanentRedirect(308) + Contributed by @yorkie [fix GH-638] + +Thu Jun 12 13:27:38 2014 Nobuyoshi Nakada + + * string.c (rb_str_freeze): shrink the buffer before freezing, as + pointed out by Eric Wong at [ruby-core:63119]. + +Thu Jun 12 13:09:03 2014 Nobuyoshi Nakada + + * file.c (expand_path): shrink expanded path which no longer needs + rooms to append. [ruby-core:63114] [Bug #9934] + +Wed Jun 11 17:37:48 2014 Nobuyoshi Nakada + + * configure.in (rb_cv_scalar_pthread_t): pthread_t is not required + to be a scalar type. + + * thread.c (fill_thread_id_string, thread_id_str): dump pthread_t + in hexadecimal form if it is not a scalar type, assume it can be + represented in a pointer form otherwise. based on the patch by + Rei Odaira at [ruby-core:62867]. [ruby-core:62857] [Bug #9884] + + * thread_pthread.c (Init_native_thread, thread_start_func_1), + (native_thread_create): set thread_id_str if needed. + + * vm_core.h (rb_thread_t): add thread_id_string if needed. + +Wed Jun 11 01:53:22 2014 Koichi Sasada + + * gc.c: invoke GC before memory allocation (xmalloc/xrealloc) + when GC.stress = true. + [Bug #9859] + + * test/ruby/test_gc.rb: add a test. + +Tue Jun 10 13:20:14 2014 Takeyuki FUJIOKA + + * lib/cgi/core.rb: Provide a mechanism to specify the + max_multipart_length of multipart data. + [Feature #8370] patch by Leif Eriksen + +Tue Jun 10 10:57:07 2014 Nobuyoshi Nakada + + * lib/csv.rb (CSV#<<): honor explicitly given encoding. based on + the patch by DAISUKE TANIWAKI at + [ruby-core:62113]. [Bug #9766] + +Mon Jun 9 20:40:48 2014 Koichi Sasada + + * gc.c: change full GC timing to keep lower memory usage. + + Extend heap only at + (1) after major GC + or + (2) after several (two times, at current) minor GC + + Details in https://bugs.ruby-lang.org/issues/9607#note-9 + [Bug #9607] + +Mon Jun 9 16:01:41 2014 Masahiro Ide + + * gc.c (gcdebug_sentinel): fix typo, "sentinel" not "sential". + [fix GH-634] + +Mon Jun 9 00:04:25 2014 Nobuyoshi Nakada + + * configure.in (posix_fadvise): disable use of posix_fadvise + itself on 32-bit AIX. [ruby-core:62968] [Bug #9914] + +Sun Jun 8 23:28:00 2014 + + * io.c (rb_io_advise): AIX currently does not support a 32-bit call to + posix_fadvise() if _LARGE_FILES is defined. Patch by Rei Odaira. + [ruby-core:62968] [Bug #9914] + +Sun Jun 8 04:52:40 2014 Jun Hiroe + + * string.c (rb_str_slice_bang): [DOC] update return value against + a fixnum, which has changed because of M17N. [fix GH-631] + +Sat Jun 7 22:13:42 2014 Benoit Daloze + + * numeric.c (do_coerce): Add a warning when an exception is raised + or an invalid value is returned in #coerce called by + numeric comparison operators and the exception + thrown by the caller has no information on the failure. + In the next release such exception should not be rescued or + should be the cause of the caller exception. nil is accepted + as the "no possible coercion" return value. See #7688. + + * test/ruby/test_numeric.rb: Add corresponding test. + +Sat Jun 7 18:15:33 2014 Benoit Daloze + + * numeric.c (bit_coerce): remove constant parameter `err' + (always TRUE) of bit_coerce(). + +Sat Jun 7 16:01:57 2014 Yutaka Kanemoto + + * cont.c (rb_fiber_struct): keep context.uc_stack.ss_sp and context.uc_stack.ss_size + for later use. Patch by Rei Odaira. [ruby-core:62945] [Bug #9905] + +Sat Jun 7 12:51:51 2014 Nobuyoshi Nakada + + * io.c (read_all): truncate the buffer before appending read data, + instead of truncating before reading. + [ruby-core:55951] [Bug #8625] + +Sat Jun 7 12:28:53 2014 Nobuyoshi Nakada + + * ext/digest/digest.c (rb_digest_instance_equal): no need to call + `to_s` twice. [Bug #9913] + +Sat Jun 7 11:35:01 2014 Tanaka Akira + + * object.c (rb_mod_initialize_clone): Override Kernel#initialize_clone + to avoid an exception on Class.new.freeze.clone.to_s. + Reported by Andrew Grimm. [ruby-core:41858] [Bug #5828] + +Sat Jun 7 06:03:11 2014 Benoit Daloze + + * ext/digest/digest.c (rb_digest_instance_equal): + fix #== for non-string arguments. [ruby-core:62967] [Bug #9913] + + * test/digest/test_digest.rb: add test for above. + +Fri Jun 6 22:19:26 2014 Nobuyoshi Nakada + + * compile.c (private_recv_p): check by node type, instead of a + magic number. + + * node.h (NODE_PRIVATE_RECV), parse.y (attrset_gen): remove + +Fri Jun 6 17:07:08 2014 Nobuyoshi Nakada + + * compile.c (iseq_compile_each), parse.y (new_attr_op_assign_gen): + allow op assign to a private attribute. + [ruby-core:62949] [Bug #9907] + +Fri Jun 6 13:39:32 2014 Nobuyoshi Nakada + + * io.c (io_setstrbuf, io_read): should not shorten the given buffer until + read succeeds. [ruby-core:55951] [Bug #8625] + +Fri Jun 6 07:41:41 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/yaml_tree.rb: dump empty symbols with a + tag so that they can be parsed on input. [Bug #9873] [ruby-core:62825] + * test/psych/test_symbol.rb: test for change + +Thu Jun 5 16:08:39 2014 Koichi Sasada + + * gc.c (gc_page_sweep): refactoring. + + * gc.c (gc_page_sweep): should not set, but add final_slots into + sweep_page->final_slots. + +Thu Jun 5 14:36:24 2014 Nobuyoshi Nakada + + * configure.in (jemalloc): check for the header regardless drop-in + libjemalloc is found, for `malloc_conf` declaration. + + * version.c (ruby_show_version): show `malloc_conf` if set. + [Feature #9113] + + * configure.in (with-jemalloc): also check for header, for ABIs + which JEMALLOC_MANGLE is needed, i.e., Mach-O and PE-COFF + platforms. [ruby-core:62939] [Feature #9113] + + * include/ruby/missing.h: include alternative malloc header to + replace memory management functions. + + * dln.c, io.c, parse.y, st.c: undef malloc family before + re-definition to suppress warnings. + +Thu Jun 5 12:52:18 2014 SHIBATA Hiroshi + + * man/ruby.1: remove rubyforge entry. + +Thu Jun 5 12:45:32 2014 SHIBATA Hiroshi + + * misc/README: use github link instead of rubyforge. + +Thu Jun 5 10:03:29 2014 Koichi Sasada + + * gc.c (obj_free): check also FL_PROMOTED bit by RVALUE_OLD_P(). + +Thu Jun 5 03:45:28 2014 Eric Wong + + * configure.in: add --with-jemalloc option + [ruby-core:62912] + +Wed Jun 4 22:28:14 2014 Koichi Sasada + + * gc.c: introduce RZombie to manage zombie objects. + Rewrite finalizing logics with this type. + + * gc.c (gc_verify_internal_consistency): verify zombie (finalizing) + objects count. + +Wed Jun 4 22:09:53 2014 Nobuyoshi Nakada + + * re.c (match_aref, rb_reg_regsub): consider encoding of captured + names, encoding-incompatible should not match. + [ruby-dev:48278] [Bug #9903] + +Wed Jun 4 21:23:52 2014 Nobuyoshi Nakada + + * re.c (match_aref): should not ignore name after NUL byte. + [ruby-dev:48275] [Bug #9902] + +Wed Jun 4 04:08:37 2014 Nobuyoshi Nakada + + * vm.c (core_hash_merge_kwd): should return the result hash, which + may be converted from and differ from the given argument. + [ruby-core:62921] [Bug #9898] + +Tue Jun 3 23:32:34 2014 Tanaka Akira + + * ruby.c (load_file_internal2): Extracted from load_file_internal. + (load_file_internal): Invoke load_file_internal2 using rb_protect. + Close an opened FD if load_file_internal2 raises an exception. + +Tue Jun 3 19:11:45 2014 Koichi Sasada + + * gc.c (rb_objspace_free): should not rest_sweep() here. + Some data structures are already freed. + +Tue Jun 3 18:43:51 2014 Koichi Sasada + + * test/ruby/test_gc.rb: allocate more objects to invoke GC by newobj. + GC allows extending pages depends on heap_increment. + +Tue Jun 3 18:01:27 2014 Koichi Sasada + + * gc.c (rb_gc_call_finalizer_at_exit): add + gc_verify_internal_consistency() when RGENGC_CHECK_MODE >= 2. + +Tue Jun 3 17:54:21 2014 Koichi Sasada + + * gc.c: change the counting method for young objects. + clear counter at the beginning of every GC and + count promoted (infant->young) objects. + + Some promotions (infant->young) are transition of promoting to old + objects. We should not count such promotions. + + With this technique, we don't need to check young objects + at obj_free(). + +Tue Jun 3 16:38:19 2014 Koichi Sasada + + * gc.c: add verifying counters code in gc_verify_internal_consistency(). + gc_verify_internal_consistency() counts all + - live objects + - young objects (if age2 promotion) + - old objects + in all pages and compares with objspace managing counters. + + * gc.c (gc_after_sweep): do gc_verify_internal_consistency() + when RGENGC_CHECK_MODE >= 2. + +Tue Jun 3 13:14:04 2014 Shugo Maeda + + * lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body + type as "MIXED" followed immediately by params + [ruby-core:62864] [Bug #9885] + Patch by @rayners (David Raynes). [Fixes GH-622] + https://github.com/ruby/ruby/pull/622 + +Tue Jun 3 13:18:24 2014 Koichi Sasada + + * gc.c (objspace_live_slot): live slot count should not include final + slot (contains T_ZOMBIE) count. + +Tue Jun 3 13:03:21 2014 Koichi Sasada + + * gc.c (obj_free): fix spacing. + +Tue Jun 3 12:59:32 2014 Koichi Sasada + + * gc.c (check_gen_consistency): fix error message. + +Tue Jun 3 12:40:23 2014 Koichi Sasada + + * gc.c: count old/young objects more correctly. + + * gc.c (RVALUE_DEMOTE_FROM_OLD): decrement old object count. + + * gc.c (RVALUE_DEMOTE_FROM_YOUNG): decrement young object count. + + * gc.c (rb_gc_resurrect): increment old object count. + + * gc.c (gc_marks_body): should not add old object count. + This code is completely my misunderstanding. + + * gc.c (rb_gc_force_recycle): decrement young or old object count + correctly. + +Tue Jun 3 12:26:47 2014 Koichi Sasada + + * test/ruby/memory_status.rb: add $LOAD_PATH to load test/unit + correctly for fiddle/import unavailable environments. + +Tue Jun 3 09:45:13 2014 NAKAMURA Usaku + + * test/openssl/test_ssl.rb (OpenSSL::TestSSL#test_verify_result): + shouldn't use same server for respective tests, because the 1st + test sometimes kills the server main loop silently. + [Bug #9881] [ruby-dev:48266] + +Tue Jun 3 01:34:59 2014 Zachary Scott + + * README.EXT: [DOC] Add rb_call_super when subclassing from @robin850 + [Fixes GH-623] https://github.com/ruby/ruby/pull/623 + +Mon Jun 2 17:14:49 2014 Koichi Sasada + + * vm.c (ruby_vm_destruct): remove useless call of + rb_gc_force_recycle(). + + At this line, a VM object is already freed + (is changed to T_NONE) by rb_gc_call_finalizer_at_exit(). + +Mon Jun 2 15:50:24 2014 Koichi Sasada + + * eval.c (rb_using_refinement): add write-barriers for + cref->nd_refinements. + +Mon Jun 2 12:26:08 2014 SHIBATA Hiroshi + + * CONTRIBUTING.md: added contributing guide for github. [fix GH-625] + +Mon Jun 2 07:30:33 2014 Tanaka Akira + + * test/ruby/envutil.rb (default_warning): New method. + + * test/ruby/test_autoload.rb: Use EnvUtil.default_warning. + +Mon Jun 2 07:05:59 2014 Nobuyoshi Nakada + + * include/ruby/encoding.h: constify `rb_encoding` arguments. + + * include/ruby/oniguruma.h: constify `OnigEncoding` arguments. + +Sun Jun 1 12:05:10 2014 Tanaka Akira + + * test/drb: Wrap tests definitions by DRbTests module. This makes + several tests (ACLEntryTest, TestBug4409, etc.) easier to understand + that they are tests for DRb. + +Sun Jun 1 11:36:25 2014 Tanaka Akira + + * lib/rinda/ring.rb (RingFinger#make_socket): Close the socket on + exception. + +Sun Jun 1 06:55:26 2014 Nobuyoshi Nakada + + * parse.y (intern_str): dynamic attrset ID is registered by + `rb_id_attrset()` already, so no further registration is needed. + [ruby-core:62861] + +Sun Jun 1 04:52:47 2014 Zachary Scott + + * lib/English.rb: [DOC] $LOADED_FEATURES moved to load.c [Fixes GH-620] + Patch submitted by @leafac in https://github.com/ruby/ruby/pull/620 + * doc/globals.rdoc: Added $LOADED_FEATURES to list + +Sat May 31 22:30:14 2014 Tanaka Akira + + * test/lib/leakchecker.rb: Leak checker extracted from + test/lib/minitest/unit.rb. + +Sat May 31 21:15:43 2014 URABE Shyouhei + + * thread.c (rb_thread_atfork_internal): My compiler complains + about this variable being used before initialized. I looked at + the code and expanded the macro and turned out it was actually + USED for pointer arithmetic, not dereferenced. So this was + never a serious bug. But is annoying indeed to see warnings + every time. I added `=0` and all went healthy. + + * configure.in: Also, I found that the problematic macro expansion + only happens when we lack __typeof__ C extension, which shall + not be the case of my compiler. I added AC_C_TYPEOF to kick ass. + +Sat May 31 16:32:50 2014 SHIBATA Hiroshi + + * lib/ipaddr.rb: extracted inline tests into test dir. + * test/test_ipaddr.rb: ditto. + +Sat May 31 16:29:21 2014 SHIBATA Hiroshi + + * ext/digest/lib/digest/hmac.rb: extracted inline tests into test dir. + * test/digest/test_digest_hmac.rb: ditto. + +Sat May 31 16:02:03 2014 SHIBATA Hiroshi + + * test/test_syslog.rb: remove executable. + +Sat May 31 08:58:32 2014 Nobuyoshi Nakada + + * enc/unicode.c (init_case_fold_table): no longer need to + initialize tables at runtime. + + * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to + lookup case unfolding table 3. + + * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to + lookup case unfolding table 2. + + * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to + lookup case unfolding table 1. + + * enc/unicode/case-folding.rb (lookup_hash): make perfect hash to + lookup case folding table. + + * enc/unicode/case-folding.rb (print_table): merge non-locale and + locale tables, and reduce initializing loops. + + * enc/unicode/case-folding.rb (CaseFolding): modularize, and add + --output-file option. + + * enc/unicode/case-folding.rb: script to convert CaseFolding.txt, + translated from CaseFolding.py. + +Sat May 31 08:31:41 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Check Tempfile leaks for each test method + again. + +Sat May 31 03:50:50 2014 Zachary Scott + + * lib/delegate.rb: [DOC] Document raise in Delegator class + Patch by @lucasmazza. [Fixes GH-621] + https://github.com/ruby/ruby/pull/621 + +Fri May 30 21:23:26 2014 Tanaka Akira + + * lib/webrick/server.rb: Use a pipe to detect server shutdown. + shutdown() or close() for listening socket is not a reliable. + Actually, both doesn't work (doesn't wake up select()) on + DragonFly BSD 3.6.2. + + * test/webrick/utils.rb: :ShutdownSocketWithoutClose is not required + now to immediate server shutdown detection. + This fixes fd leaks. + + * test/net/http/utils.rb: Ditto. + +Fri May 30 20:58:37 2014 Tanaka Akira + + * test/lib/minitest/unit.rb (check_fd_leak): Sort the inspected + objects list for a FD. + +Fri May 30 18:06:55 2014 Tanaka Akira + + * test/lib/minitest/unit.rb (check_fd_leak): Try GC to delete leaked + FDs. + +Fri May 30 12:05:59 2014 NARUSE, Yui + + * test/lib/test/unit/parallel.rb (_run_suite): orig_stdout may be nil + though I don't know the reason. + +Fri May 30 11:33:35 2014 Nobuyoshi Nakada + + * string.c (rb_str_substr): need to reset code range for shared + string too, not only copied string. + [ruby-core:62842] [Bug #9882] + +Fri May 30 10:22:21 2014 Mark Lorenz + + * lib/erb.rb (result): [DOC] no longer accepts a Proc, as + Kernel.eval does not. [fix GH-619] + +Fri May 30 07:25:46 2014 Tanaka Akira + + * ext/-test-/dir: Dir#fileno implemented. + + * test/lib/minitest/unit.rb (find_fds): Don't return the fd used to + scan /proc/$$/fd. + +Fri May 30 04:48:00 2014 Eric Wong + + * parse.y (rb_gc_mark_parser): remove, empty since r8758 + * internal.h: ditto, not usable from extensions since 2.0.0 + * gc.c (gc_mark_roots): remove checkpoint for parser + +Thu May 29 23:27:50 2014 Rei Odaira + + * signal.c (ruby_signal): should return either `old.sa_sigaction` + or `old.sa_handler`, depending on whether `SA_SIGINFO` is set in + `old.sa_flags`, because they may not be a union. + [ruby-core:62836] [Bug #9878] + +Thu May 29 23:11:20 2014 Tanaka Akira + + * io.c (pipe_open): Close pipes when rb_execarg_fixup() raises + an exception. + (rb_execarg_fixup_v): New function. + +Thu May 29 22:18:57 2014 Tanaka Akira + + * test/lib/minitest/unit.rb (capture_subprocess_io): Close fds. + +Thu May 29 19:47:08 2014 Tanaka Akira + + * io.c (rb_io_s_pipe): Close pipes if io_encoding_set() raises an + exception. + (io_encoding_set_v): New function. + +Thu May 29 19:42:49 2014 Tanaka Akira + + * lib/csv.rb (CSV.open): Close the opened file when an exception + occur. + +Thu May 29 19:31:10 2014 Tanaka Akira + + * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): Close a socket + if any exception occur. + +Thu May 29 05:05:29 2014 Eric Wong + + * include/ruby/ruby.h: Hide Symbol internals. + (struct RSymbol): moved to internal.h + (RSYMBOL): ditto + +Thu May 29 00:28:56 2014 Tanaka Akira + + * ext/socket/unixsocket.c (rsock_init_unixsock): Open a socket + after path length check. + This fixes a fd leak by TestSocket_UNIXSocket#test_too_long_path. + +Wed May 28 23:04:35 2014 Tanaka Akira + + * test/ruby/test_io.rb (test_flush_in_finalizer1): Use + ObjectSpace.each_object to close files. + GC.start is not reliable. + +Wed May 28 19:00:31 2014 Tanaka Akira + + * lib/net/imap.rb (Net::IMAP#initialize): Close the opened socket when + any exception occur. + This fixes a fd leak by IMAPTest#test_imaps_post_connection_check + which start_tls_session() raises an exception. + +Wed May 28 18:06:13 2014 Tanaka Akira + + * ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work + when SSL is not started. + This fix the fd leak by test_https_proxy_authentication in + test/net/http/test_https_proxy.rb. + +Wed May 28 10:29:28 2014 Eric Wong + + * vm.c (rb_vm_living_threads_foreach): remove function + [ruby-core:62745] + * thread.c (terminate_i): remove + * thread.c (terminate_all): implement (inlines old terminate_i) + * thread.c (rb_thread_terminate_all): use terminate_all + * thread.c (rb_thread_fd_close_i): remove + * thread.c (rb_thread_fd_close): iterate inline + * thread.c (thread_list_i): remove + * thread.c (rb_thread_list): iterate inline + * thread.c (rb_thread_atfork_internal): iterate inline + * thread.c (terminate_atfork_i): update types to remove casts + * thread.c (terminate_atfork_before_exec_i): ditto + * thread.c (struct thgroup_list_params): remove definition + * thread.c (thgroup_list_i): remove + * thread.c (thgroup_list): iterate inline + * thread.c (check_deadlock_i): remove + * thread.c (debug_deadlock_check): implement (inlines check_deadlock_i) + * thread.c (debug_i): remove + * thread.c (rb_check_deadlock): iterate inline + * vm.c (vm_mark_each_thread_func): remove + * vm.c (rb_vm_mark): iterate inline + * vm_core.h (rb_vm_living_threads_remove): remove + * vm_trace.c (clear_trace_func_i): remove + * vm_trace.c (rb_clear_trace_func): iterate inline + +Wed May 28 09:30:51 2014 Eric Wong + + * signal.c (signal_exec): ignore immediate cmd for SIG_IGN + * signal.c (trap_handler): set cmd to true for SIG_IGN + * signal.c (trap): handle nil and true values for oldcmd + [Bug #9835] + +Wed May 28 01:02:54 2014 Tanaka Akira + + * lib/tempfile.rb (Tempfile#inspect): Show "(closed)" if the tempfile + is closed. + +Wed May 28 00:38:09 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Use Tempfile#close! instead of + Tempfile#unlink to close file descriptors. + + * test/openssl/test_config.rb: Ditto. + + * test/ruby/test_io.rb: Ditto. + +Wed May 28 00:06:18 2014 Tanaka Akira + + * lib/net/ftp.rb (transfercmd): Close TCP server socket even if an + exception occur. + +Tue May 27 23:50:07 2014 Tanaka Akira + + * lib/cgi/core.rb: Use Tempfile#close! instead of Tempfile#unlink + to close file descriptors. + +Tue May 27 23:06:46 2014 Nobuyoshi Nakada + + * parse.y (parser_number_literal_suffix): refine error message for + extra dot and digits. + +Tue May 27 22:44:20 2014 Tanaka Akira + + * test/rexml: Avoid fd leaks. + +Tue May 27 22:24:25 2014 Kouhei Sutou + + * test/rexml/test_document.rb: Indent. + +Tue May 27 22:15:29 2014 Kouhei Sutou + + * test/rexml/test_document.rb: Wrap by REXMLTests module. + +Tue May 27 22:11:10 2014 Kouhei Sutou + + * test/rexml/test_encoding_2.rb: Remove a needless file. + +Tue May 27 22:10:30 2014 Kouhei Sutou + + * test/rexml/test_contrib.rb: Indent. + +Tue May 27 21:28:16 2014 NARUSE, Yui + + * ext/socket/ifaddr.c (ifaddr_inspect_flags): support IFF_SIMPLEX. + +Tue May 27 21:03:03 2014 Kouhei Sutou + + * test/rexml/: Use REXMLTests as wrapping module for REXML tests. + I avoid using the same module for library in test because + it provides "include REXML" environment in test. Normally, + users don't use REXML on "include REXML" environment. So I + don't want to write tests on "include REXML" environment. + +Tue May 27 20:59:37 2014 Kouhei Sutou + + * test/rexml/test_comment.rb: Remove needless REXML module wrapping. + +Tue May 27 20:56:49 2014 Kouhei Sutou + + * test/openssl/test_pkcs7.rb: Fix inverted expected and actual values. + +Tue May 27 20:26:06 2014 NAKAMURA Usaku + + * test/ruby/test_io.rb (test_flush_in_finalizer1): some opened fds are + remain before GC, so unlink the tempfile is failed. + +Tue May 27 19:07:26 2014 Tanaka Akira + + * io.c (rb_io_autoclose_p): Don't raise on frozen IO. + + * test/lib/minitest/unit.rb: IO#autoclose? may raise IOError. + +Tue May 27 19:01:49 2014 SHIBATA Hiroshi + + * test/openssl/test_pair.rb: Modify TestSSL#test_read_and_write + to handle partial sysreads. [Bug #7398][ruby-core:49563] + * test/openssl/test_ssl.rb: ditto. + +Tue May 27 18:46:23 2014 SHIBATA Hiroshi + + * test/openssl/test_pkcs7.rb: Add tests for PKCS7#type= and add_data. + [Feature #7399][ruby-core:49565] + +Tue May 27 17:45:09 2014 SHIBATA Hiroshi + + * test/openssl/test_hmac.rb (test_binary_update): Added Test for + HMAC signing with UTF-8 String. [Bug #7512][ruby-core:50559] + +Tue May 27 17:10:14 2014 SHIBATA Hiroshi + + * test/runner.rb: fixed randomly test failure. + [Bug #6573][ruby-core:45563] + +Tue May 27 16:58:12 2014 SHIBATA Hiroshi + + * test/test_timeout.rb (test_timeout): inverted test condition. + [Bug #8523] + +Tue May 27 12:24:22 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Show leaked file descriptors. + +Tue May 27 11:12:56 2014 Nobuyoshi Nakada + + * io.c (rb_io_fileno, rb_io_inspect): non-modification does not + error on frozen IO. [ruby-dev:48241] [Bug #9865] + +Tue May 27 00:00:21 2014 yui-knk + + * insns.def (defineclass): fix typo in the instruction comment. + [fix GH-618] + +Mon May 26 16:33:15 2014 NAKAMURA Usaku + + * test/ruby/test_file.rb: skip the test of atime on Windows, because + Windows delays updating atime about 1 hour. + see more details: + http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx + +Mon May 26 12:25:36 2014 Nobuyoshi Nakada + + * lib/optionparser.rb, lib/optparse.rb (OptParse): aliases. + [ruby-core:62751] [Feature #9864] + +Mon May 26 07:59:34 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Show Finished threads line-by-line. + +Mon May 26 01:39:02 2014 Zachary Scott + + * lib/csv.rb: Reject nil as data source for CSV.new, patch by @Peeja. + [Fixes GH-580] https://github.com/ruby/ruby/pull/580 + +Mon May 26 01:07:51 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Show leaked threads and tempfiles + line-by-line. + +Sun May 25 23:02:06 2014 Tanaka Akira + + * test/lib/minitest/unit.rb (MiniTest::Assertions#diff): Remove + tempfiles. + +Sun May 25 22:42:27 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Check tempfile leak for each test class. + +Sun May 25 20:31:49 2014 Nobuyoshi Nakada + + * configure.in (ac_cv_func_{getcontext,setcontext}): do not + disable ucontext.h entirely, but disable use of functions only. + `ucontext_t` is necessary in the signal handler now. + +Sun May 25 20:00:23 2014 Nobuyoshi Nakada + + * signal.c (check_stack_overflow): revert part of r46100, the + previous condition was correct, and fix compilation error on + other architecture linux. [ruby-core:62746] [Bug #9862] + +Sun May 25 17:09:13 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Less ObjectSpace.each_object(Tempfile) + invocation. + +Sun May 25 16:54:06 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Use Thread.list instead of + ObjectSpace.each_object(Thread). + +Sun May 25 15:53:54 2014 Tanaka Akira + + * lib/rinda/ring.rb (Rinda::RingServer#shutdown): Join the killed + threads. + +Sun May 25 15:26:17 2014 Tanaka Akira + + * lib/webrick/utils.rb: Override the inspect method of the thread + used in WEBrick::Utils::TimeoutHandler. + +Sun May 25 14:22:30 2014 Tanaka Akira + + * test/openssl: Join threads. + +Sun May 25 12:46:47 2014 Nobuyoshi Nakada + + * error.c (rb_bug_context): new function to report bug with + context. + + * vm_dump.c (rb_vm_bugreport): accepts `ucontext_t` argument to + dump machine registers. based on [GH-584]. + + * signal.c (sigbus, sigsegv): dump machine registers if available. + +Sun May 25 12:32:42 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Sort leaked threads and tempfiles. + +Sun May 25 12:15:30 2014 Nobuyoshi Nakada + + * signal.c (check_stack_overflow): fix condition to use ucontext + register, mcontext_t dereference, and its member names, on Mac + OS X. + +Sun May 25 11:58:26 2014 Zachary Scott + + * enumerator.c: [DOC] Fix example to show Enumerator#peek behavior + Patch by Erik Hollembeak [Bug #9814] + +Sun May 25 11:56:33 2014 Nobuyoshi Nakada + + * vsnprintf.c (BSD_vfprintf): fix string width when precision is + given. as the result of `memchr` is NULL or its offset from the + start cannot exceed the size, the comparison was always false. + [ruby-core:62737] [Bug #9861] + +Sun May 25 11:32:42 2014 Zachary Scott + + * lib/yaml.rb: Remove Psych::EngineManager [Bug #8344] + * test/psych/*: ditto. + +Sun May 25 10:34:15 2014 Zachary Scott + + * doc/regexp.rdoc: [DOC] Clarify whitespace matching by @allolex + [Fixes GH-606] https://github.com/ruby/ruby/pull/606 + +Sun May 25 10:19:34 2014 Zachary Scott + + * enum.c: [DOC] Use #find in example to clarify alias by @rachellogie + Patch submitted via documenting-ruby/ruby#34 + +Sun May 25 10:16:43 2014 Zachary Scott + + * cont.c: [DOC] Fix rdoc in example for Fiber#transfer by @majjoha + Patch submitted via documenting-ruby/ruby#33 + +Sun May 25 10:01:11 2014 Zachary Scott + + * lib/irb.rb: [DOC] Fixed syntax error in example by @jasdeepsingh. + Patch submitted via documenting-ruby/ruby#32 + +Sun May 25 09:58:02 2014 SHIBATA Hiroshi + + * test/fileutils/test_fileutils.rb (test_chown_R): Add tests for + chown_R. [Feature #9383][ruby-core:59641] + +Sun May 25 09:57:09 2014 SHIBATA Hiroshi + + * test/fileutils/test_fileutils.rb: Added recursively chown tests. + [Feature #9303][ruby-core:59325] + +Sun May 25 09:41:56 2014 Zachary Scott + + * class.c: [DOC] Fixed grammar and examples of instance_methods. + By @alex-frost via documenting-ruby/ruby#31 + +Sun May 25 09:40:44 2014 Tanaka Akira + + * test/lib/minitest/unit.rb: Show leaked threads and tempfiles. + +Sun May 25 08:54:38 2014 SHIBATA Hiroshi + + * test/openssl/test_partial_record_read.rb: Testing read_nonblock on + a partial TLS record results in IO::WaitReadable by @mohamedhafez. + [fix GH-547] + +Sun May 25 08:43:16 2014 SHIBATA Hiroshi + + * lib/logger.rb: refactored to include Logger::Period. + +Sun May 25 06:50:19 2014 Zachary Scott + + * vm_eval.c: [DOC] Improve instance_eval description when given a + block or String arguments. By @nathanl via documenting-ruby/ruby#28 + +Sun May 25 06:29:39 2014 Zachary Scott + + * array.c: [DOC] Clarify default argument for Array.new. + By @Elffers [Fixes GH-610] + +Sat May 24 22:37:20 2014 SHIBATA Hiroshi + + * array.c: [DOC] Add more documents to shuffle! and shuffle. + Contributed by @JuanitoFatas [ci skip][fix GH-612] + +Sat May 24 22:28:55 2014 SHIBATA Hiroshi + + * test/lib/minitest/.document: removed unused configuration. + +Sat May 24 19:08:47 2014 Tanaka Akira + + * test/lib/minitest/spec.rb: Unused file removed. + + * test/lib/minitest/autorun.rb: Don't require minitest/spec. + + * test/lib/minitest/benchmark.rb: Ditto. + +Sat May 24 18:45:30 2014 Tanaka Akira + + * test/benchmark/test_benchmark.rb: Use test/unit. + +Sat May 24 16:20:59 2014 Eric Wong + + * process.c (proc_getgroups, proc_setgroups): use ALLOCV_N + [Bug #9856] + +Sat May 24 15:49:39 2014 Tanaka Akira + + * test/lib/minitest/unit.rb (parallelize_me!): Removed. + This fixes the line-by-line structure of the test result in verbose + mode. [ruby-core:54905] + + * test/lib/minitest/parallel_each.rb: Removed. + + * test/minitest/test_minitest_mock.rb: Don't call parallelize_me!. + + * test/minitest/test_minitest_spec.rb: Ditto. + + * test/minitest/test_minitest_unit.rb: Ditto. + Tests for parallel feature removed. + +Sat May 24 15:29:10 2014 Tanaka Akira + + * test/lib/minitest/hell.rb: Unused file removed. + + * test/lib/minitest/pride.rb: Ditto. + +Sat May 24 15:05:32 2014 yui-knk + + * enumerator.c (yielder_yield_push): Insert a break after the + method return value. [fix GH-617] + +Sat May 24 14:59:12 2014 Tanaka Akira + + * test/lib/minitest: Remove comments not appropriate now. + + * test/minitest: Ditto. + +Sat May 24 14:02:04 2014 SHIBATA Hiroshi + + * NEWS: added minitest changes. + +Sat May 24 13:42:46 2014 SHIBATA Hiroshi + + * test/lib/test/unit/test-unit.gemspec: removed needless gemspec file. + +Sat May 24 09:39:06 2014 SHIBATA Hiroshi + + * defs/default_gems: removed minitest entry. + +Sat May 24 06:17:33 2014 Ryan Davis + + * lib/minitest: minitest 4.7.5 removed. Need to support proper + gem packaging / installation before minitest 5 can be added. + +Sat May 24 05:54:06 2014 Tanaka Akira + + * ext/socket/mkconstants.rb: More constants + +Sat May 24 00:25:34 2014 Ayumu AIZAWA + + * NEWS: add information of incompatibility about Prime.prime? + * lib/prime.rb: fix docs. + +Fri May 23 21:36:28 2014 Josh Goebel + + * net/protocol.rb (using_each_crlf_line): fix SMTP dot-stuffing + for messages not ending with a new-line. + [ruby-core:61441] [Bug #9627] [fix GH-616] + +Fri May 23 03:48:08 2014 Eric Wong + + * gc.c (rb_free_m_tbl): mark function as static + + * method.h (rb_free_m_tbl): remove prototype + +Thu May 22 22:58:27 2014 Tanaka Akira + + * ext/socket/mkconstants.rb: More TCP option constants. + Describe Linux and glibc versions. + +Thu May 22 20:38:10 2014 NARUSE, Yui + + * file.c (stat_birthtime): add birthtime support [Feature #9647] + + * file.c (rb_stat_birthtime): add File::Stat.birthtime + + * file.c (rb_file_s_birthtime): add File.birthtime + + * file.c (rb_file_birthtime): add File#birthtime + + * configure.in: check struct stat.st_birthtimespec. + +Thu May 22 19:38:14 2014 NARUSE, Yui + + * file.c: remove IO::Statfs because of reject. [Feature #9772] + +Thu May 22 14:02:13 2014 Nobuyoshi Nakada + + * enc/jis/props.kwd: constify character property tables of JIS + based encodings by perfect hash. + + * enc/euc_jp.c, enc/shift_jis.c: use character property functions. + +Wed May 21 12:21:10 2014 Tanaka Akira + + * ext/socket/option.c: Fix compilation error on Android. + Bionic doesn't define TCP state constants. + +Wed May 21 11:42:31 2014 Nobuyoshi Nakada + + * configure.in: workaround for Info.plist to get rid of `dsymutil` + crash by wrong files in parent directories. + [ruby-core:62594] [Bug #9840] + +Tue May 20 20:57:34 2014 SHIBATA Hiroshi + + * test/ruby/test_dir.rb (test_glob): added testcase of double + slash path. + +Tue May 20 04:58:54 2014 Tanaka Akira + + * ext/socket/extconf.rb: Don't check fields of struct tcp_info if the + structure is not available. + +Mon May 19 23:13:33 2014 Tanaka Akira + + * ext/socket/option.c (inspect_tcp_info): Permit longer data. (glibc + 2.7 adds tcpi_rcv_rtt, tcpi_rcv_space and tcpi_total_retrans to + struct tcp_info.) + +Mon May 19 20:49:07 2014 Tanaka Akira + + * ext/socket/option.c (inspect_tcp_info): New function to inspect + struct tcp_info. + (sockopt_inspect): Use inspect_tcp_info. + + * ext/socket/extconf.rb: Check tcp_info related things. + + * ext/socket/rubysocket.h: Include netinet/tcp_fsm.h if available. + +Mon May 19 19:36:39 2014 Tanaka Akira + + * test/dbm/test_dbm.rb: Use Etc.uname. + + * test/gdbm/test_gdbm.rb: Ditto. + +Mon May 19 16:54:22 2014 Nobuyoshi Nakada + + * ext/etc/etc.c (etc_uname): add support for Windows using + GetVersionExW(), GetSystemInfo(), and GetComputerNameExW() with + `ComputerNameDnsHostname`. [Feature #9842] + +Mon May 19 16:29:48 2014 Nobuyoshi Nakada + + * string.c (rb_pat_search): advance by byte offset but not by char + offset. [ruby-core:62669] [Bug #9849] + +Mon May 19 14:06:18 2014 Shota Fukumori + + * bin/testrb: Removed. Forgot to remove in r45971. + [Feature #9711] [ruby-core:62620] + +Sun May 18 16:42:08 2014 Tanaka Akira + + * test/ruby/test_m17n_comb.rb (test_str_crypt): Use Etc.confstr to + detect the glibc version. + libc.so is not an executable on Debian GNU/kFreeBSD 7.0 (wheezy). + +Sun May 18 12:15:54 2014 Jonathan Mukai-Heidt + + * io.c (argf_each_line, argf_inplace_mode_set): [DOC] Update ARGF + documentation examples. `ARGF.lines` has been deprecated in + favor of `ARGF.each_line`. [Fixes GH-615] + +Sun May 18 11:59:25 2014 Tanaka Akira + + * missing/nextafter.c: Include ruby/missing.h. + +Sun May 18 11:09:28 2014 Tanaka Akira + + * win32/Makefile.sub: Add nextafter.obj to MISSING. + +Sun May 18 10:46:04 2014 Tanaka Akira + + * ext/etc/etc.c: Etc.sysconf, Etc.confstr and IO#pathconf implemented. + + * ext/etc/extconf.rb: Check sysconf(), confstr() and fpathconf(). + + * ext/etc/mkconstants.rb: New file. + + [ruby-core:62600] [Feature #9842] + +Sun May 18 09:58:17 2014 Tanaka Akira + + * ext/etc/etc.c: Etc.uname method implemented. + + * ext/etc/extconf.rb: Check uname() function. + + [ruby-core:62139] [Feature #9770] + +Sun May 18 09:16:33 2014 Tanaka Akira + + * configure.in: Check nextafter() availability. + + * include/ruby/missing.h (nextafter): New optional declaration. + + * missing/nextafter.c: New file. + + * numeric.c: Float#next_float and Float#prev_float implemented. + + [ruby-core:62562] [Feature #9834] + +Sun May 18 09:02:17 2014 Tanaka Akira + + * enum.c: Enumerable#slice_after implemented. + + * enumerator.c: Enumerator::Lazy#slice_after implemented. + + Requested by Tsuyoshi Sawada. [ruby-core:58123] [Feature #9071] + +Sun May 18 08:22:25 2014 Nobuyoshi Nakada + + * io.c (io_setstrbuf): always check if the buffer is modifiable. + [ruby-core:62643] [Bug #9847] + +Sun May 18 01:21:23 2014 Tanaka Akira + + * include/ruby/ruby.h: Hide Rational internal. + (RRational): Moved to internal.h + (RRATIONAL): Ditto. + (RRATIONAL_SET_NUM): Moved to rational.c. + (RRATIONAL_SET_DEN): Ditto. + + * rational.c (rb_rational_num): New function. + (rb_rational_den): Ditto. + + * include/ruby/intern.h (rb_rational_num): Declared. + (rb_rational_den): Ditto. + + * ext/bigdecimal/bigdecimal.c: Follow the above change. + + * ext/date/date_core.c: Ditto. + + [ruby-core:60665] [Feature #9513] + +Sat May 17 17:04:32 2014 Shota Fukumori + + * NEWS: Add news about removal of lib/test/**/*.rb. + +Sat May 17 16:57:33 2014 Shota Fukumori + + * lib/test: Removed because ruby's test cases now independent to + lib/test by r45970. [Feature #9711] [ruby-core:62620] + + I'm still considering about the future of lib/minitest, lib/test. + (bundling gems?) + +Sat May 17 15:06:40 2014 SHIBATA Hiroshi + + * test/runner.rb: remove dependency test-unit and minitest + from stdlib when running with test-all. + [Feature #9711][ruby-core:61890] + * test/testunit/*.rb: ditto. + * test/lib: ditto. + +Sat May 17 11:02:49 2014 Nobuyoshi Nakada + + * dir.c (glob_helper): try match PLAIN as well as ALPHA, which are + separated by previous commits. [ruby-core:61552] [Bug #9648] + + * dir.c (glob_make_pattern): set PLAIN for non-magical path to + skip parts which not need to glob. + [ruby-core:61552] [Bug #9648] + + * dir.c (has_magic): return ALPHA at alphabetical name regardless + FNM_CASEFOLD flag. + + * dir.c (glob_helper): fix conditions for ALPHA. + [ruby-core:61552] [Bug #9648] + +Sat May 17 01:49:27 2014 Nobuyoshi Nakada + + * dir.c (glob_helper): reduce matching at non-magical path on + Windows. + +Sat May 17 01:49:23 2014 Nobuyoshi Nakada + + * dir.c (glob_pattern_type): separate names with alphabet but no + magical from plain. + + * dir.c (glob_helper): match plain names as-is to treat super-root + same as the root. [ruby-core:61552] [Bug #9648] + +Fri May 16 17:38:22 2014 Koichi Sasada + + * gc.c (gc_marks, gc_marks_body): increase the counter of young objects + at the major GC because AGE2Promotion changes all old objects into + young objects at major GC. + +Fri May 16 17:26:24 2014 Koichi Sasada + + * gc.c (gc_before_sweep): heap_pages_swept_slots should contains + heap_pages_increment. + + For example, GC by exceeding malloc_limit can remain + heap_pages_increment. + +Thu May 15 21:18:43 2014 Hiroshi Shirosaki + + * configure.in: enable SSE2 on mingw. target='i386-pc-mingw32'. + [ruby-core:62095] [Bug #8358] + +Thu May 15 21:04:06 2014 Hiroshi Shirosaki + + * lib/test/unit/parallel.rb: fix test-all parallel failure if a test + is skipped after raise. + DL::TestFunc#test_sinf is skipped after raise on mingw ruby. + But it causes Marshal.load failure due to undefined class/module + DL::DLError when doing test-all parallel and test-all doesn't + complete. We create new MiniTest::Skip object to avoid Marshal.load + failure. + [ruby-core:62133] [Bug #9767] + + * test/testunit/test_parallel.rb (TestParallel): add a test. + + * test/testunit/tests_for_parallel/ptest_forth.rb: ditto. + +Thu May 15 18:57:23 2014 Koichi Sasada + + * gc.c (garbage_collect_body): move gc_heap_prepare_minimum_pages() + from gc_sweep(). + +Thu May 15 18:51:25 2014 Koichi Sasada + + * gc.c (heap_extend_pages): calculate next growing heap size. + + * gc.c (heap_set_increment): accept addition pages instead of + minimum pages. + + * gc.c (gc_after_sweep): use heap_etend_pages(). + + * gc.c (gc_heap_prepare_minimum_pages): add only 1 page. + + * gc.c (heap_ready_to_gc): add only 1 page. + +Thu May 15 18:42:49 2014 Koichi Sasada + + * gc.c: introduce macros to remove magic number. + + GC_HEAP_FREE_SLOTS_MIN_RATIO = 0.3: guarantee minimum empty slots + ratio after sweep. + GC_HEAP_FREE_SLOTS_MAX_RATIO = 0.8: allow to free pages 0.2 (= 1-0.8) + of current existing slots. + +Thu May 15 17:32:51 2014 Hiroshi Shirosaki + + * thread_win32.c (rb_w32_stack_overflow_handler): use Structured + Exception Handling by AddVectoredExceptionHandler() for machine + stack overflow on mingw. + This would be equivalent to the handling using __try and __except + on mswin introduced by r43748. + +Wed May 14 19:31:03 2014 Koichi Sasada + + * ext/openssl/depend: remove dependency from internal headers. + [Feature #9612] + + * ext/openssl/ossl.c (ossl_fips_mode_set): ditto. + + * ext/coverage/depend: ditto. + + * include/ruby/thread_native.h: added. + + This header file only provides wrapper functions to control + native threads. These wrapper functions are used by MRI + implementation. + + * vm_core.h: use include/ruby/thread_native.h. + + * thread.c: ditto. + + * thread_pthread.h: ditto. + + * thread_win32.h: ditto. + + * thread_native.h: removed. + +Wed May 14 18:03:28 2014 Koichi Sasada + + * gc.c: enable RGENGC_AGE2_PROMOTION. + +Wed May 14 18:02:30 2014 Koichi Sasada + + * gc.c (rgengc_rememberset_mark): promote remembered object earlier. + +Mon May 12 23:57:15 2014 Nobuyoshi Nakada + + * configure.in (rb_cv_atan2_inf_c99): check whether runtime atan2 + handles Inf as C99. [ruby-core:62536] [Bug #9831] + +Mon May 12 20:33:01 2014 Tanaka Akira + + * configure.in: Invoke AC_REPLACE_FUNCS for each function. + +Mon May 12 19:52:11 2014 Koichi Sasada + + * gc.c: count young object correctly and show it in GC.stat + on RGENGC_AGE2_PROMOTION. + + * gc.c (RVALUE_PROMOTE_YOUNG): decrement young object count on + YOUNG->OLD. + + * gc.c (obj_free): decrement young object count when young object + freed. + + * gc.c (gc_marks): should not clear young object count. + + * gc.c (gc_stat_internal): GC.stat :young_object information. + +Mon May 12 01:30:59 2014 Tanaka Akira + + * ext/socket/ifaddr.c (IS_IFADDRS): Unused macro removed. + + * ext/strscan/strscan.c (BUFSIZE): Ditto. + + * ext/zlib/zlib.c (OBJ_IS_FREED): Ditto. + +Sun May 11 22:27:18 2014 Tanaka Akira + + * compile.c (BUFSIZE): Unused macro removed. + + * vm.c (BUFSIZE): Ditto. + + * pack.c (INT64toNUM): Ditto. + (UINT64toNUM): Ditto. + (BYTEWIDTH): Ditto. + + * time.c (lshift): Ditto. + (UINT64toNUM): Ditto. + (id_lshift): Unused variable removed. + +Sun May 11 21:23:27 2014 Tanaka Akira + + * pack.c (swaps): Unused macro removed. + (swapi): Ditto. + (swapl): Ditto. + (swapll): Ditto. + +Sun May 11 08:02:49 2014 Eric Wong + + * vm_core.h (rb_vm_t): list_head and counter for living_threads + (rb_thread_t): vmlt_node for living_threads linkage + (rb_vm_living_threads_init): new function wrapper + (rb_vm_living_threads_insert): ditto + (rb_vm_living_threads_remove): ditto + * vm.c (rb_vm_living_threads_foreach): new function wrapper + * thread.c (terminate_i, thread_start_func_2, thread_create_core, + thread_fd_close_i, thread_fd_close): update to use new APIs + * vm.c (vm_mark_each_thread_func, rb_vm_mark, ruby_vm_destruct, + vm_memsize, vm_init2, Init_VM): ditto + * vm_trace.c (clear_trace_func_i, rb_clear_trace_func): ditto + * benchmark/bm_vm_thread_close.rb: added to show improvement + * ccan/build_assert/build_assert.h: added as a dependency of list.h + * ccan/check_type/check_type.h: ditto + * ccan/container_of/container_of.h: ditto + * ccan/licenses/BSD-MIT: ditto + * ccan/licenses/CC0: ditto + * ccan/str/str.h: ditto (stripped of unused macros) + * ccan/list/list.h: ditto + * common.mk: add CCAN_LIST_INCLUDES + [ruby-core:61871][Feature #9632 (part 1)] + +Sun May 11 01:10:31 2014 Nobuyoshi Nakada + + * signal.c (rb_f_kill): directly enqueue an ignored signal to self, + except for SIGSEGV and SIGBUS. [ruby-dev:48203] [Bug #9820] + +Sat May 10 22:37:56 2014 Nobuyoshi Nakada + + * dir.c (push_glob): match in UTF-8 on Mac OS X. + [ruby-dev:48213] [Bug #9825] + +Sat May 10 13:32:18 2014 Nobuyoshi Nakada + + * thread.c (thread_start_func_2): stop if forked in a sub-thread, + the thread has become the main thread. + [ruby-core:62070] [Bug #9751] + +Sat May 10 09:32:19 2014 SHIBATA Hiroshi + + * man/ruby.1: remove deadlink. [ruby-core:62145][Bug #9773] + +Sat May 10 08:47:36 2014 Tanaka Akira + + * signal.c (trap): Return "SYSTEM_DEFAULT" if SIG_DFL is set. + +Fri May 9 14:27:05 2014 Nobuyoshi Nakada + + * configure.in (RUBY_SETJMP_TYPE): check for setjmp type after + CCDLFLAGS is appended to CFLAGS, since __builtin_setjmp can be + affected. [ruby-core:62469] [Bug #9818] + +Fri May 9 03:59:06 2014 Ayumu AIZAWA + + * lib/delegate.rb: Fix example of using delegator. + patched from Andrey Koleshko. [Fixes GH-505] + +Fri May 9 03:42:43 2014 Ayumu AIZAWA + + * lib/shell.rb: add documentation in lib/shell.rb + patched from reprah. [Fixes GH-516] + +Fri May 9 03:28:04 2014 Ayumu AIZAWA + + * lib/fileutils.rb: show fileutils require at top. + patched from Richard Schneeman. [Fixes GH-604] + +Fri May 9 03:07:09 2014 Ayumu AIZAWA + + * lib/prime.rb (Prime#prime?): negative numbers can't be primes + by definition. reported by Ivan Kataitsev. [Bug #7395] + * test/test_prime.rb: add test. + +Thu May 8 14:34:29 2014 Nobuyoshi Nakada + + * class.c (rb_mod_init_copy): always clear instance variable, + constant and method tables first, regardless the source tables. + [ruby-dev:48182] [Bug #9813] + +Thu May 8 10:53:14 2014 NARUSE, Yui + + * configure.in: OpenBSD needs to include sys/param.h before include + sys/mount.h. [ruby-dev:48167] + +Thu May 8 10:17:04 2014 Karsten Sperling + + * lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): stop + handling requests on shutdown, even if the socket is readable + and IO.select() returns true. [Fixes GH-607] + + * lib/webrick/server.rb (WEBrick::GenericServer#start): IO.select() + raises ENOTSOCK on shutdown on Windows. + +Wed May 7 21:45:00 2014 Tanaka Akira + + * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept): + Consider Socket#accept as well as TCPServer#accept. + Reported by Sam Stelfox. [ruby-core:62064] [Bug #9750] + +Wed May 7 17:24:07 2014 Nobuyoshi Nakada + + * numeric.c (num_step_scan_args): check keyword arguments and fail + if they conflict with positional arguments. + [ruby-dev:48177] [Bug #9811] + +Wed May 7 12:06:14 2014 Koichi Sasada + + * benchmark/driver.rb: remove debug output and output results into + specified file. + +Wed May 7 11:55:40 2014 Koichi Sasada + + * benchmark/driver.rb: add '--rawdata-output=[FILE] option to output + raw results into FILE. + +Wed May 7 11:25:41 2014 Nobuyoshi Nakada + + * vm_eval.c (rb_f_local_variables): exclude variables hidden by + shadowing. [ruby-core:60501] [Bug #9486] + + * vm.c (collect_local_variables_in_iseq): ditto. + +Tue May 6 23:29:05 2014 Nobuyoshi Nakada + + * parse.y (new_bv_gen): no duplicated names, if already added in + shadowing_lvar(). + + * parse.y (local_tbl_gen): remove local variables duplicated with + arguments. + [ruby-core:60501] [Bug #9486] + +Tue May 6 18:48:50 2014 Tanaka Akira + + * lib/time.rb (Time.make_time): Adjust the time zone of "now". + +Tue May 6 18:33:12 2014 Tadayoshi Funaba + + * io.c (io_{read,write}_nonblock): use rb_get_kwargs instead of + rb_hash_aref. + +Tue May 6 18:03:05 2014 Tanaka Akira + + * lib/time.rb (Time.make_time): Argument validation code moved from + Time.parse and Time.strptime. + +Tue May 6 17:27:06 2014 Tanaka Akira + + * lib/time.rb (Time.parse): [DOC] Fix an example in the documentation + to use EST. + Reported by Marcus Stollsteimer. + [ruby-core:60778] [Bug #9521] and [ruby-core:61718] [Bug #9682] + +Tue May 6 04:31:48 2014 Tadayoshi Funaba + + * file.c (rb_f_test): removed meaningless "case 'a'". + +Tue May 6 01:28:14 2014 Tanaka Akira + + * lib/open-uri.rb (OpenURI.open_uri): Call StringIO#close only if + the StringIO object is not closed yet. + Reported by Jordi Massaguer Pla. [ruby-core:42538] [Bug #6010] + +Tue May 6 01:08:01 2014 Koichi Sasada + + * benchmark/driver.rb: define File::NULL if not defined and /dev/null + is available to run benchmark driver on ruby 1.9.2. + +Mon May 5 23:53:24 2014 Tanaka Akira + + * ext/socket/mkconstants.rb: Add IP_TRANSPARENT. + IP_TRANSPARENT is provieded since glibc-2.12. + Reported by Eliezer Croitoru. [ruby-core:50372] [Bug #7476] + +Mon May 5 22:29:47 2014 Tanaka Akira + + * process.c (check_exec_redirect): Open the file in write mode for + redirect from [:out, :err]. + Proposed and implemented by Yusuke Endoh. + [ruby-dev:41430] [Feature #3348] + +Mon May 5 21:52:35 2014 Tanaka Akira + + * ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all + separators File::SEPARATOR from File::ALT_SEPARATOR. + Reported by Daniel Rikowski. + Fixed by Nobuyoshi Nakada. [Bug #9618] + + * ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto. + +Mon May 5 21:48:04 2014 Tanaka Akira + + * ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+. + Suggested by Alexey Muranov. [ruby-core:61432] [Feature #9625] + +Mon May 5 17:26:09 2014 Tadayoshi Funaba + + * math.c (rb_math_sqrt): omitted exporting an unused function, + anyway. + * internal.h: follows the above change. + +Mon May 5 11:44:03 2014 Tanaka Akira + + * lib/time.rb (Time.strptime): Raise ArgumentError if Date._strptime + doesn't extract date information. + Reported by tadayoshi funaba. [ruby-core:62349] + +Mon May 5 01:12:27 2014 Tadayoshi Funaba + + * ext/date/date_core.c (rt_rewrite_frags): a new feature (not a + bug fix) of strptime. applies offset even if the given date is + not local time (%s and %Q). This is an exceptional feature and + I do NOT recommend to use this at all. Thank you git community. + +Sun May 4 20:51:32 2014 Tanaka Akira + + * lib/time.rb (Time.force_zone!): Use usual local time if it has + expected offset from UTC. + +Sun May 4 17:58:12 2014 Tanaka Akira + + * lib/time.rb (Time.force_zone!): New private method. + (Time.make_time): Use Time.force_zone!. + (Time.strptime): Ditto. + (Time.rfc2822): Ditto. + (Time.xmlschema): Ditto. + + * lib/rss/rss.rb (Time.w3cdtf): Use Time.force_zone!. + +Sun May 4 10:22:59 2014 Nobuyoshi Nakada + + * math.c (math_atan2): return values like as expected by C99 if + both two arguments are infinity. based on the patch by cremno + phobia in [ruby-core:62310]. [Feature #9799] + +Sun May 4 03:46:42 2014 Tanaka Akira + + * lib/time.rb (Time.httpdate): Always return a UTC Time object. + +Sun May 4 03:26:39 2014 Tanaka Akira + + * lib/time.rb (Time.make_time): Refactored. + +Sun May 4 02:53:17 2014 Tanaka Akira + + * lib/time.rb (Time.rfc2822): Fix year completion. + Produce fixed-offset time object if appropriate. + (Time.xmlschema): Produce fixed-offset time object if appropriate. + +Sat May 3 23:52:20 2014 Tanaka Akira + + * lib/time.rb (make_time): Produce fixed-offset time object if + appropriate. + (Time.strptime): Use d[:zone] instead of d[:offset]. + + * lib/rss/rss.rb (Time.w3cdtf): Produce fixed-offset time object if + appropriate. + +Sat May 3 20:21:38 2014 Tanaka Akira + + * lib/time.rb (Time.strptime): Use d[:offset] if d[:seconds] is not + given. + Reported by tadayoshi funaba. [ruby-core:62322] + +Sat May 3 04:04:16 2014 Eric Wong + + * complex.c (parse_comp): replace ALLOCA_N with ALLOCV_N/ALLOCV_END + [Bug #9608] + * rational.c (read_digits): ditto + +Sat May 3 00:06:30 2014 Naohisa Goto + + * file.c (HAVE_STRUCT_STATVFS_F_BASETYPE): File::Statfs#fstypename + is supported on AIX, HP-UX, and Solaris, by using the value of + struct statvfs.f_basetype. + + * configure.in (HAVE_STRUCT_STATVFS_F_BASETYPE): check struct + statvfs.f_basetype which is available on AIX, HP-UX, and Solaris. + +Fri May 2 21:04:02 2014 Nobuyoshi Nakada + + * parse.y (next_id): no reason to set ID_STATIC_SYM here, as ID + returned by rb_intern3 can be a dynamic symbol and the static + symbol flag is set otherwise. [Bug #9787] + +Fri May 2 11:32:51 2014 Nobuyoshi Nakada + + * test/ruby/test_io.rb (test_seek, test_seek_symwhence): defer + File::Statfs#type call which may not be implemented, to mitigate + errors on platforms where SEEK_DATA is available but f_type in + struct statfs is not. [ruby-dev:48154] [Bug #9789] + +Fri May 2 10:37:55 2014 Nobuyoshi Nakada + + * parse.y (rb_id_attrset): turn dynamically interned Symbol into + an ID, since rb_str_dynamic_intern returns a Symbol but not an + ID. [ruby-core:62226] [Bug #9787] + +Thu May 1 22:19:34 2014 Kazuhiro NISHIYAMA + + * file.c: Change AND condition to nested condition. + +Thu May 1 00:36:26 2014 Naohisa Goto + + * file.c (FSTATFS): check availability of struct statfs and + struct statvfs in addition to fstatfs(2) and fstatvfs(2). + This fixes error in Solaris. [Bug #9788] [ruby-dev:48145] + +Wed Apr 30 19:46:23 2014 Narihiro Nakamura + + * gc.c (gc_after_sweep): suppress unnecessary expanding heap. + Tomb heap pages are freed pages here, so expanding heap is + not required. + +Wed Apr 30 17:58:40 2014 Koichi Sasada + + * vm.c (invoke_block_from_c): add VM_FRAME_FLAG_BMETHOD to record + it is bmethod frame. + + * vm.c (vm_exec): invoke RUBY_EVENT_RETURN event if rollbacked frame + is VM_FRAME_FLAG_BMETHOD. + [Bug #9759] + + * test/ruby/test_settracefunc.rb: add a test for TracePoint/set_trace_func. + + * vm_core.h: rename rb_thread_t::passed_me to + rb_thread_t::passed_bmethod_me to clarify the usage. + + * vm_insnhelper.c (vm_call_bmethod_body): use renamed member. + +Wed Apr 30 17:06:49 2014 Nobuyoshi Nakada + + * parse.y (rb_id_attrset): pin down dynamic symbol only. it is + possible that attrset ID can be registered as a static symbol + after the corresponding attrget ID has been registered as a + dynamic, and then the latter may be collected. + [ruby-core:62226] [Bug #9787] + +Tue Apr 29 14:17:57 2014 Tanaka Akira + + * lib/tmpdir.rb: Rescue LoadError on etc.so for miniruby. + Revert r45707, r45711, r45717. + +Tue Apr 29 12:50:02 2014 Tanaka Akira + + * lib/fileutils.rb: Don't need to define fu_get_gid and fu_get_gid in + rescue LoadError on 'etc'. + +Tue Apr 29 10:21:38 2014 Kazuki Tsujimoto + + * parse.y (symbols_i): like r45492, call rb_gc_resurrect(). + +Tue Apr 29 04:29:05 2014 Kazuhiro NISHIYAMA + + * file.c (HAVE_STRUCT_STATFS_T_F_FSTYPENAME): Add new macro for + statfs_t. + * file.c (HAVE_STRUCT_STATFS_T_F_TYPE): ditto. + + * file.c (rb_io_statfs): check FSTATFS macro only instead of + HAVE_FSTATFS and HAVE_FSTATVFS. + + * file.c (statfs_type): use new macro. + * file.c (statfs_fstypename): ditto. + * file.c (statfs_inspect): ditto. + +Tue Apr 29 00:20:26 2014 Rajarshi Das + + * bootstraptest/test_literal.rb: fix typo of "dynamic". [ci skip] + + * regexp.rdoc: fix typo of "organized". [ci skip] + + * lib/session.rb: fix typo of "recognized". [ci skip] + +Mon Apr 28 21:40:27 2014 NARUSE, Yui + + * configure.in (HAVE_STRUCT_STATFS_F_TYPE): check struct statfs.f_type + to support OpenBSD. + + * file.c (statfs_type): use above macro to switch. + + * file.c (statfs_inspect): ditto. + +Mon Apr 28 18:06:08 2014 NARUSE, Yui + + * configure.in: check struct statvfs and struct statvfs.f_fstypename. + + * configure.in: on NetBSD fstatfs is obsoleted. + + * file.c: support NetBSD for File::Statfs. + +Mon Apr 28 17:42:42 2014 Narihiro Nakamura + + * gc.c: This argument must be a pointer. + +Mon Apr 28 17:40:15 2014 Narihiro Nakamura + + * gc.c: Fix typos. These are undefined variables. + +Sun Apr 27 19:39:42 2014 Tadayoshi Funaba + + * ext/date/date_strptime.c (date__strptime_internal): do not + overwrite century. + +Sat Apr 26 11:50:08 2014 SHIBATA Hiroshi + + * test/ruby/test_enum.rb (test_flat_map): Added test for flat_map. + Contribute from @igaiga. [fix GH-598] + +Sat Apr 26 10:55:33 2014 Nobuyoshi Nakada + + * compile.c (compile_array_): make copy a first hash not to modify + the argument itself. keyword splat should be non-destructive. + [ruby-core:62161] [Bug #9776] + +Sat Apr 26 08:05:36 2014 Tanaka Akira + + * test/ruby/test_process.rb (test_rlimit_nofile): Don't limit + RLIMIT_NOFILE too small. + This fix sporadic "[ASYNC BUG] thread_timer: select" on GNU/Linux. + +Fri Apr 25 22:54:34 2014 Naohisa Goto + + * lib/fileutils.rb (rmdir): rescue Errno::EEXIST in addition to + ENOTEMPTY (and ENOENT), because SUSv3 describes that "If the + directory is not an empty directory, rmdir() shall fail and set + errno to [EEXIST] or [ENOTEMPTY]" and Solaris uses EEXIST. + [Bug #9571] [ruby-dev:48017] + +Fri Apr 25 19:16:30 2014 Tanaka Akira + + * lib/webrick/utils.rb: Don't rescue LoadError for 'etc' extension. + +Fri Apr 25 14:55:59 2014 Nobuyoshi Nakada + + * configure.in (rb_cv_func___builtin_unreachable): try with an + external variable not only by a warning, which might not be + shown due to the optimization. [ruby-core:61647] [Bug #9665] + +Fri Apr 25 13:11:49 2014 NARUSE, Yui + + * configure.in: NetBSD's ksh, used by configure, needs escapes. + +Fri Apr 25 12:51:08 2014 NARUSE, Yui + + * configure.in: correct pthread_setname_np's prototype on NetBSD. + [Bug #9586] + +Thu Apr 24 23:17:25 2014 NAKAMURA Usaku + + * lib/fileutils.rb (fu_get_uid, fu_get_gid): Etc.getpwnam/getgrnam may + returns nil. + + * lib/webrick/utils.rb (su): ditto. + +Thu Apr 24 22:55:22 2014 Tanaka Akira + + * bootstraptest/test_io.rb: Add etc.so to $" before require 'tmpdir'. + +Thu Apr 24 21:09:55 2014 Kazuhiro NISHIYAMA + + * man/ruby.1: fix broken link. + +Thu Apr 24 20:53:02 2014 Tanaka Akira + + * lib/tmpdir.rb: Don't need to rescue LoadError for etc.so. + +Thu Apr 24 17:39:53 2014 NARUSE, Yui + + * file.c (statfs_inspect): suppress warnings. + assume those values won't be larger than LONG_LONG_MAX. + +Thu Apr 24 11:53:28 2014 Nobuyoshi Nakada + + * ext/openssl/ossl_asn1.c (ossl_asn1_initialize): SYMID on a value + other than Symbol is an undefined behavior. fix up r31699. + [ruby-core:62142] [Bug #9771] + +Thu Apr 24 11:21:37 2014 Nobuyoshi Nakada + + * parse.y (rb_sym2id, rb_sym2id_without_pindown): return 0 for + non-symbol values, for the time being. + +Thu Apr 24 05:50:13 2014 NARUSE, Yui + + * parse.y (dsym_node_gen): like r45492, call rb_gc_resurrect(). + +Wed Apr 23 20:36:22 2014 Tanaka Akira + + * ext/etc/extconf.rb: Build ext/etc unconditionally. + +Wed Apr 23 14:10:50 2014 NARUSE, Yui + + * file.c (statfs_fsid): remove statfs.f_fsid because it doesn't return + meaningful value portably. http://togetter.com/li/658517 + +Wed Apr 23 11:03:41 2014 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_write): use rb_str_append to + reuse coderange bits other than ASCII-8BIT, and keep + taintedness. [ruby-dev:48118] [Bug #9769] + +Wed Apr 23 00:43:00 2014 NAKAMURA Usaku + + * win32/win32.c, include/ruby/win32.h (ustatfs): implementation of + statfs(2) clone. [EXPERIMENTAL] + + * file.c (rb_io_statfs): use above function. + + * configure.in, win32/Makefile.sub (struct statfs): available. + +Tue Apr 22 23:56:24 2014 NAKAMURA Usaku + + * file.c (rb_io_stafs): use statfs(2) if fstatfs(2) is unavailable. + + * configure.in (fstatfs): check it. + +Tue Apr 22 22:15:51 2014 NAKAMURA Usaku + + * file.c (rb_io_statfs): need to define even if the system doesn't have + fstatfs(2). + + * test/ruby/test_file.rb (TestFile#test_statfs): skip if IO#stafs is not + implemented. + +Tue Apr 22 19:32:48 2014 NARUSE, Yui + + * file.c: newly added a class File::Statfs. (experimental) + +Tue Apr 22 08:22:33 2014 Koichi Sasada + + * gc.c (objspace_malloc_increase): don't cause GC by malloc_increase + when memop type is MEMOP_TYPE_REALLOC. + + GC at realloc is not well maintained. + We need a time to make it safe. + [ruby-dev:48117] + +Tue Apr 22 06:54:15 2014 Nobuyoshi Nakada + + * gc.c (objspace_malloc_increase): run full mark if 0x04 bit is + set in ruby_gc_stress. [ruby-core:62103] [Feature #9761] + + * gc.c (objspace_malloc_increase): run GC after realloc not only + malloc and calloc by GC.stress. [ruby-core:62103] [Feature #9761] + +Mon Apr 21 19:12:20 2014 NARUSE, Yui + + * string.c (rb_str_coderange_scan_restartable): coderange is always + ENC_CODERANGE_VALID if the string is ASCII-8BIT and already has a non + ASCII character. + +Mon Apr 21 19:02:44 2014 NARUSE, Yui + + * string.c (coderange_scan): remove useless condition `p < e` after + search_nonascii. + + * string.c (rb_str_coderange_scan_restartable): ditto. + +Mon Apr 21 18:55:21 2014 NARUSE, Yui + + * ext/-test-/string/coderange.c: add Bug::String.new#coderange_scan + to explicitly scan coderange. + +Mon Apr 21 18:19:35 2014 NARUSE, Yui + + * string.c (coderange_scan): remove unused logic. + + * string.c (rb_str_coderange_scan_restartable): ditto. + +Mon Apr 21 14:11:48 2014 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_putc): fix for non-ascii + encoding, like as IO#putc. [ruby-dev:48114] [Bug #9765] + +Sun Apr 20 12:57:15 2014 Masaya Tarui + + * st.c (st_foreach_check): change start point of search at check + from top to current. [ruby-dev:48047] [Bug #9646] + +Sun Apr 20 08:41:33 2014 Andrew DeMaria + + * lib/mkmf.rb (link_command, libpathflag, create_makefile): prefer + user specified `$LIBPATH` than `$DEFLIBPATH`. [ruby-core:62100] + [ruby-trunk - Bug #9760] + +Sun Apr 20 06:01:18 2014 Eric Wong + + * gc.c (rb_gc_writebarrier): drop special case for big hash/array + [Bug #9518] + +Sat Apr 19 15:38:29 2014 Nobuyoshi Nakada + + * parse.y (primary): flush cmdarg flags inside left-paren in a + command argument, to allow parenthesed do-block as an argument + without arguments parentheses. [ruby-core:61950] [Bug #9726] + +Sat Apr 19 10:07:24 2014 Tanaka Akira + + * internal.h (struct RBignum): Use size_t for len. + + * include/ruby/intern.h (rb_big_new): Use size_t instead of long to + specify the size of bignum. + (rb_big_resize): Ditto. + + * bignum.c: Follow above changes. + + * rational.c: Follow above changes. + + * marshal.c: Follow above changes. + +Sat Apr 19 00:32:07 2014 Tanaka Akira + + * numeric.c (rb_num2long): Returns a long. + (rb_num2ulong): Returns a unsigned long. + + * bignum.c (rb_big2long): Returns a long. + (rb_big2ulong): Returns a unsigned long. + + * include/ruby/intern.h: Follow above changes. + + * include/ruby/ruby.h: Follow above changes. + (rb_num2long_inline): No need to cast. + (rb_num2ulong_inline): Ditto. + +Sat Apr 19 00:17:20 2014 Nobuyoshi Nakada + + * string.c (SHARABLE_SUBSTRING_P): predicate if substring can be + shared with the original string. true if just at the end of the + original string, for the time being. all substring will be able to + be shared in the future. + +Fri Apr 18 21:48:24 2014 Nobuyoshi Nakada + + * string.c (rb_str_new_frozen): consider the shared string at + middle. + + * string.c (rb_str_subseq, rb_str_substr, str_byte_substr): share + middle of a string. + +Fri Apr 18 15:40:05 2014 NARUSE, Yui + + * string.c: use uintptr_t instead of VALUE because they are not ruby + object. + +Fri Apr 18 14:51:42 2014 NARUSE, Yui + + * string.c: check str_strlen's argument, and add comment or + use NULL if simply it uses str's enc. + +Fri Apr 18 14:32:40 2014 NARUSE, Yui + + * string.c (str_strlen): use enc_strlen if the coderange is known. + +Fri Apr 18 14:21:21 2014 NARUSE, Yui + + * string.c (enc_strlen): move UTF-8 optimization from str_strlen to + enc_strlen. + +Fri Apr 18 08:50:18 2014 Nobuyoshi Nakada + + * configure.in (rb_cv_getcwd_malloc): check if getcwd allocates + buffer if NULL is given [ruby-core:62072] [Bug #9752] + +Thu Apr 17 16:28:10 2014 SHIBATA Hiroshi + + * prelude.rb: [DOC] Update Thread::exclusive docs by @stevenharman. + +Thu Apr 17 10:03:53 2014 Nobuyoshi Nakada + + * lib/fileutils.rb (FileUtils#copy_entry): update rdoc about + preserve option and permissions, following r31123. + [ruby-core:62065] [Bug #9748] + +Wed Apr 16 23:47:36 2014 Nobuyoshi Nakada + + * enum.c (dont_recycle_block_arg): fix condition to recycle block + argument. lambda with rest can get internal array directly. + [ruby-core:62060] [Bug #9749] + +Wed Apr 16 09:51:16 2014 Nobuyoshi Nakada + + * ext/openssl/ossl_pkey.c (ossl_pkey_verify): as EVP_VerifyFinal() + finalizes only a copy of the digest context, the context must be + cleaned up after initialization by EVP_MD_CTX_cleanup() or a + memory leak will occur. [ruby-core:62038] [Bug #9743] + +Tue Apr 15 19:36:42 2014 NAKAMURA Usaku + + * include/ruby/win32.h (rb_w32_cmdvector): removed. + + * win32/win32.c (rb_w32_sysinit): use WCHAR version of GetCommandLine() + internally. + + * win32/win32.c (w32_cmdvector): renamed from rb_w32_cmdvector. use + WCHAR* instead of char* internally. + + these changes are expected to not changing the behavior yet. + +Tue Apr 15 19:26:05 2014 Tanaka Akira + + * ext/extmk.rb: Re-generate extmk.mk and dummy makefiles only if + really required. + This fixes a problem to run multiple test-all concurrently as: + make test-all & make test-all & make test-all & ... + +Tue Apr 15 12:49:53 2014 Sam Rawlins + + * enum.c (enum_each_slice, enum_each_cons): make more efficient by + allocating less and recycling block argument arrays if possible. + [Fixes GH-596] + +Mon Apr 14 18:44:45 2014 NARUSE, Yui + + * addr2line.c (fill_lines): get base addrs in fill_lines to use it + with dladdr_fbases introduced at r45563. + it didn't get before if the executable is not pie. + +Mon Apr 14 18:05:48 2014 NARUSE, Yui + + * addr2line.c (main_exe_path): support FreeBSD. + At least sh, csh, tcsh, bash, and zsh sets realpath of the main + executable for dladdr, but gdb doesn't. + +Mon Apr 14 17:20:10 2014 Nobuyoshi Nakada + + * proc.c (umethod_bind): use the ancestor iclass instead of new + iclass to get rid of infinite recursion, if the defined module + is already included. [ruby-core:62014] [Bug #9721] + +Sun Apr 13 12:46:58 2014 Tanaka Akira + + * bignum.c (SIZEOF_BDIGIT): Renamed from SIZEOF_BDIGITS. + + * internal.h: Ditto. + + * marshal.c: Ditto. + + * rational.c: Ditto. + +Sun Apr 13 10:18:09 2014 Tanaka Akira + + * common.mk: Unused target, $(MKMAIN_CMD), removed. + + * Makefile.in (MKMAIN_CMD): Unused macro removed. + + * win32/Makefile.sub (MKMAIN_CMD): Ditto. + +Sat Apr 12 22:11:10 2014 Nobuyoshi Nakada + + * string.c (sym_to_proc), proc.c (rb_block_clear_env_self): clear + caller's self which is useless, so that it can get collected. + [Fixes GH-592] + +Sat Apr 12 09:26:48 2014 Eric Hodel + + * ext/openssl/ossl_ocsp.c: [DOC] Document OpenSSL::OCSP. + +Fri Apr 11 18:52:38 2014 Koichi Sasada + + * array.c (ARY_SET): added. + + ARY_SET() is same functionality of RARRAY_ASET(), but + it has an assertion (`ary' doesn't have shared array). + +Fri Apr 11 16:54:26 2014 Koichi Sasada + + * array.c: make shared arrays WB-protected objects. + + Shared arrays were WB-unprotected object because + sharing array can modify shared array's buffer + if it occupied shared array. + + [sharing array (ary)] -> [shared array (shared)] -> + | A + +---------------------------------------+ + write `buff' with WB(ary, &buff[i], obj) + -> if `ary' and `shared' are old, then only `ary' + will be remembered. + -> traverse from `ary'. But `shared' is old, so + that written `obj' is not marked. + + It cause WB miss so that shared arrays were WB-unprotected. + (WB-unprotected objects are marked everytime if it is living) + + This patch insert WB() for `shared' if it is needed. + +Fri Apr 11 15:05:26 2014 Nobuyoshi Nakada + + * proc.c (rb_method_call_with_block, umethod_bind): call with + IClass including the module for a module instance method. + [ruby-core:61936] [Bug #9721] + + * vm_insnhelper.c (vm_search_super_method): allow bound + UnboundMethod case. + +Fri Apr 11 12:02:30 2014 NARUSE, Yui + + * addr2line.c (rb_dump_backtrace_with_lines): set base address + which is retrieved from dladdr to dladdr_fbases, to skip already + parsed objects. + +Fri Apr 11 12:44:50 2014 Nobuyoshi Nakada + + * array.c (ary_reject): may be turned into a shared array during + the given block. [ruby-dev:48101] [Bug #9727] + +Thu Apr 10 23:41:21 2014 Akinori MUSHA + + * lib/net/ftp.rb (Net::FTP#login): [DOC] The default password for + anonymous login was changed to "anonymous@" in r25313. + +Thu Apr 10 19:22:58 2014 Koichi Sasada + + * test/ruby/test_array.rb: remove useless `assert'. + +Thu Apr 10 19:11:11 2014 Koichi Sasada + + * array.c (rb_ary_modify): remember shared array owner if a shared + array owner is promoted and a shared array is not promoted. + + Now, shared array is WB-unprotected so that shared arrays are not + promoted. All objects referred from shared array should be marked + correctly. + + [ruby-core:61919] [ruby-trunk - Bug #9718] + + * test/ruby/test_array.rb: add a test for above. + +Thu Apr 10 18:57:12 2014 Koichi Sasada + + * gc.c (gc_verify_internal_consistency): move lines and enable + allrefs_dump() on RGENGC_CHECK_MODE >= 4. + +Thu Apr 10 15:01:06 2014 NARUSE, Yui + + * addr2line.c (append_obj): clear allocated memory. + + * addr2line.c (rb_dump_backtrace_with_lines): free `base_addrs'. + +Thu Apr 10 14:40:18 2014 Koichi Sasada + + * gc.c (rb_gc_writebarrier_unprotect_promoted): disable to dump debug + message when RGENGC_CHECK_MODE == 0. + +Thu Apr 10 08:13:47 2014 Tanaka Akira + + * signal.c (check_stack_overflow): Don't use ucontext_t if ucontext.h + is not available. + Fixes build on Android (x86). + +Wed Apr 9 23:22:44 2014 Tanaka Akira + + * gc.c (mark_current_machine_context): Call SET_STACK_END. + This reverts a hunk of r40703 by ko1. + This fixes [ruby-dev:48098] [Bug #9717]. + +Wed Apr 9 21:02:04 2014 Tanaka Akira + + * process.c (OBJ2UID1): Defined even if getpwnam_r is not usable. + (OBJ2GID1): Defined even if getgrnam_r is not usable. + This fixes compilation error on Android. + +Wed Apr 9 15:16:59 2014 Nobuyoshi Nakada + + * encoding.c (rb_enc_default_internal): fix rdoc. `__FILE__` is + in filesystem encoding but not `default_internal`. + [ruby-core:61894] [Bug #9713] + +Wed Apr 9 14:43:00 2014 Koichi Sasada + + * test/ruby/test_gc.rb: more long timeout. + This test failed under RGENGC_CHECK_MODE >= 2. + +Wed Apr 9 13:07:13 2014 Nobuyoshi Nakada + + * configure.in: get rid of __builtin_setjmp/__builtin_longjmp on + x64-mingw, which causes SEGV with callcc. + [ruby-core:61887] [Bug #9710] + +Wed Apr 9 12:44:54 2014 Nobuyoshi Nakada + + * string.c (str_buf_cat): should round up the capacity by 4KiB, + but not number of rooms. [ruby-core:61886] [Bug #9709] + +Tue Apr 8 22:55:32 2014 Akinori MUSHA + + * lib/mkmf.rb (MakeMakefile#dir_config): [DOC] Improve + documentation. + +Tue Apr 8 22:31:44 2014 Koichi Sasada + + * gc.c: rename `RGENGC_THREEGEN' to `RGENGC_AGE2_PROMOTION'. + + * gc.c (rgengc_rememberset_mark): don't promote, but remain in + remember set for infant objects. + + * gc.c (RVALUE_PROMOTE_INFANT, RVALUE_PROMOTE_YOUNG): count numbers + in these functions. + +Mon Apr 7 21:11:49 2014 Tanaka Akira + + * ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM. + Reported by Saravana kumar. [ruby-core:61820] [Bug #9697] + Fixed by Heesob Park. [ruby-core:61868] + +Mon Apr 7 07:20:23 2014 NARUSE, Yui + + * lib/xmlrpc/client.rb (do_rpc): don't check body length. + If HTTP content-encoding is used, the length may be different. + [Bug #8182] [ruby-core:53811] + +Mon Apr 7 02:39:48 2014 Marc-Andre Lafortune + + * lib/matrix.rb: Add Matrix#cofactor [fix GH-568] + Add first_minor [fix GH-568] + Handle empty diagonal matrix case [fix GH-576] + Patches by gogotanaka + +Sun Apr 6 08:52:50 2014 Bugra Barin + + * dln.c (dln_load): use wchar version to load a library in + non-ascii path on Windows. based on the patch by Bugra Barin + in [ruby-core:61845]. [Bug #9699] + +Sat Apr 5 19:36:33 2014 Tadayoshi Funaba + + * ext/date/date_core.c (d_lite_cmp): should compare with #<. + +Sat Apr 5 00:31:21 2014 Nobuyoshi Nakada + + * ext/readline/extconf.rb (rl_hook_func_t): check pointer type. + [ruby-dev:48089] [Bug #9702] + +Fri Apr 4 07:13:44 2014 Nobuyoshi Nakada + + * configure.in (ac_cv_func___builtin_setjmp): should not skip + flags restoration in RUBY_WERROR_FLAG by `break`. + [ruby-dev:48086] [Bug #9698] + +Wed Apr 2 21:50:06 2014 Nobuyoshi Nakada + + * configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp() + in Apple LLVM 5.1 (LLVM 3.4svn) uses `void**`, not `jmp_buf`. + [Bug #9692] + +Wed Apr 2 20:57:15 2014 Koichi Sasada + + * gc.c, gc.h (rb_objspace_each_objects_without_setup): + Add a new (hidden) C-API to iterate objspace snapshot. + + This API is not safe to call any C-APIs in a given callback + function. Be careful to use this C-API. + +Wed Apr 2 17:43:17 2014 Nobuyoshi Nakada + + * configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a + variable as the second argument of __builtin_longjmp(). + [ruby-core:61800] [Bug #9692] + +Wed Apr 2 15:12:18 2014 SHIBATA Hiroshi + + * common.mk: Use redmine-2.x url for DeveloperHowto wiki. + [ruby-core:60657] [Bug #9511] + +Wed Apr 2 11:46:29 2014 Kazuhiro NISHIYAMA + + * ext/pathname/lib/pathname.rb (Pathname#join): Fix error with + empty args. Reported by ko1 via IRC. + + * test/pathname/test_pathname.rb (TestPathname#test_join): Add the + test for above case. + +Tue Apr 1 11:39:57 2014 James Edward Gray II + + * lib/csv.rb: Symbol HeaderConverter: strip leading/trailing space. + Reported by Skye Shaw + [Fixes GH-575] + +Tue Apr 1 11:34:04 2014 James Edward Gray II + + * lib/csv.rb: Don't attempt to convert nil headers. + Reported by Skye Shaw + +Tue Apr 1 17:29:35 2014 Nobuyoshi Nakada + + * tool/config_files.rb (ConfigFiles.download): show failed URI. + [ruby-core:61792] [Bug #9690] + +Tue Apr 1 12:06:49 2014 NARUSE, Yui + + * addr2line.c (rb_dump_backtrace_with_lines): don't depend hard coded + symbol '_start'. + + * addr2line.c (fill_lines): instead of above, get a dynamic symbol + in the main executable and use it to know the base address. + + * addr2line.c (follow_debuglink0): use obj_info_t instead of + line_info_t to handle object related data. + + * addr2line.c (main_exe_path): defined for Linux. + +Tue Apr 1 08:58:39 2014 Kazuki Tsujimoto + + * parse.y (rb_str_dynamic_intern): set mark bit if dynamic symbol + is before sweeping. + +Tue Apr 1 07:37:00 2014 NARUSE, Yui + + * addr2line.c (fill_lines): use dynsym, which is used for dynamic + linking and always exists, if there's no symtab. + +Tue Apr 1 07:27:15 2014 NARUSE, Yui + + * vm_dump.c (rb_print_backtrace): current implementation + uses dladdr to get the path of objects. + +Mon Mar 31 23:57:45 2014 Nobuyoshi Nakada + + * ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`. + [ruby-core:61756] [Bug #9578] + +Mon Mar 31 17:23:50 2014 NAKAMURA Usaku + + * test/ruby/memory_status.rb: require envutil before accessing EnvUtil + module. reported by ko1 via twitter. + +Mon Mar 31 10:28:01 2014 Eric Wong + + * st.c (st_init_table_with_size): update comment + [Feature #9425] + +Sun Mar 30 23:39:26 2014 NAKAMURA Usaku + + * win32/win32.c (rb_w32_accept, open_ifs_socket, socketpair_internal): + reset inherit flag of socket to avoid unintentional inheritance of + socket. note that the return value of SetHandleInformation() is not + verified intentionally because old Windows may return an error. + [Bug #9688] [ruby-core:61754] + +Sat Mar 29 13:04:22 2014 Koichi Sasada + + * gc.c (gc_before_sweep): cap `malloc_limit' to + gc_params.malloc_limit_max. It can grow and grow with such case: + `loop{"a" * (1024 ** 2)}' + [Bug #9687] + + This issue is pointed by Tim Robertson. + http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/ + +Fri Mar 28 19:32:13 2014 Nobuyoshi Nakada + + * struct.c (not_a_member): extract name error and use same error + messages. based on the patch by Marcus Stollsteimer at [ruby-core:61721]. [Bug #9684] + +Fri Mar 28 09:21:54 2014 SHIBATA Hiroshi + + * ext/psych/psych.gemspec: update gemspec for psych-2.0.5 + +Fri Mar 28 09:11:06 2014 SHIBATA Hiroshi + + * ext/psych/lib/psych.rb: Merge psych-2.0.5. bump version to + libyaml-0.1.6 for CVE-2014-2525. + * ext/psych/yaml/config.h: ditto. + * ext/psych/yaml/scanner.c: ditto. + * ext/psych/yaml/yaml_private.h: ditto. + +Thu Mar 27 18:58:10 2014 Nobuyoshi Nakada + + * re.c (match_regexp): set regexp for MatchData from string. + + * re.c (rb_backref_set_string): create MatchData from string and + set backref. + + * string.c (rb_pat_search, rb_str_sub, rb_str_sub_bang, str_gsub), + (scan_once, rb_str_scan, rb_str_partition): use rb_str_index + instead of rb_reg_search() when pattern is a String. based on + the patch by Sam Rawlins [Fixes GH-579] + +Thu Mar 27 11:58:55 2014 NARUSE, Yui + + * addr2line.c (fill_lines): check shdr[i].sh_type because even if + .symtab section exists, the section's type can be SHT_NOBITS and + actual data doesn't exist in the file. + revert r45441. + +Wed Mar 26 14:57:35 2014 NAKAMURA Usaku + + * parse.y: inline must be static (for mswin). + fixed build error introduced at r45426. + +Wed Mar 26 14:33:00 2014 Narihiro Nakamura + + * internal.h (USE_SYMBOL_GC): enable Symbol GC by default (USE_SYMBOL_GC == 1). + +Tue Mar 25 22:57:11 2014 Narihiro Nakamura + + * parse.y: support Symbol GC. [ruby-trunk Feature #9634] + See this ticket about Symbol GC. + + * include/ruby/ruby.h: + Declare few functions. + * rb_sym2id: almost same as old SYM2ID but support dynamic symbols. + * rb_id2sym: almost same as old ID2SYM but support dynamic symbols. + * rb_sym2str: almost same as `rb_id2str(SYM2ID(sym))` but not + pin down a dynamic symbol. + Declare a new struct. + * struct RSymbol: represents a dynamic symbol as object in + Ruby's heaps. + Add few macros. + * STATIC_SYM_P: check a static symbol. + * DYNAMIC_SYM_P: check a dynamic symbol. + * RSYMBOL: cast to RSymbol + + * gc.c: declare RSymbol. support T_SYMBOL. + + * internal.h: Declare few functions. + * rb_gc_free_dsymbol: free up a dynamic symbol. GC call this + function at a sweep phase. + * rb_str_dynamic_intern: convert a string to a dynamic symbol. + * rb_check_id_without_pindown: not pinning function. + * rb_sym2id_without_pindown: ditto. + * rb_check_id_cstr_without_pindown: ditto. + + * string.c (Init_String): String#intern and String#to_sym use + rb_str_dynamic_intern. + + * template/id.h.tmpl: use LSB of ID as a flag for determining a + static symbol, so we shift left other ruby_id_types. + + * string.c: use rb_sym2str instead `rb_id2str(SYM2ID(sym))` to + avoid pinning. + + * load.c: use xx_without_pindown function at creating temporary ID + to avoid pinning. + + * object.c: ditto. + + * sprintf.c: ditto. + + * struct.c: ditto. + + * thread.c: ditto. + + * variable.c: ditto. + + * vm_method.c: ditto. + +Wed Mar 26 13:25:54 2014 NARUSE, Yui + + * addr2line.c (fill_lines): loop reverse order not to overwrite + the basis of base addresses comparison. + + * addr2line.c: use uintptr_t instead of intptr_t for pointers. + + * addr2line.c (rb_dump_backtrace_with_lines): don't use syms. + + * vm_dump.c (rb_print_backtrace): ditto. + + * addr2line.h: ditto. + +Wed Mar 26 11:20:50 2014 Nobuyoshi Nakada + + * marshal.c (w_object): internal objects are not dumpable. + [ruby-core:61677] [Bug #9674] + + * ext/thread/thread.c (undumpable): ConditionVariable and Queue + are not dumpable. [ruby-core:61677] [Bug #9674] + +Wed Mar 26 10:36:39 2014 NARUSE, Yui + + * addr2line.c (follow_debuglink): show message if it closes opened + (and maybe used) elf binary. + +Wed Mar 26 10:34:25 2014 NARUSE, Yui + + * addr2line.c (fill_line): pass and use offset instead of + curobj_baseaddr. + +Wed Mar 26 09:07:48 2014 Yutaka Kanemoto + + * configure.in: add --disable-pie. [Feature #9673] + +Wed Mar 26 08:47:04 2014 NARUSE, Yui + + * addr2line.c (fill_lines): don't run fill_lines multiple times. + +Wed Mar 26 08:45:00 2014 Sam Rawlins + + * internal.h: add prototype for rb_reg_search0 + + * re.c: rename rb_reg_search to rb_reg_search0, add set_backref_str + argument to allow callers to indicate that they don't require the + backref string to be allocated. + + * string.c: don't allocate backref str if replacement string is provided + + [GH-578] [Bug #9676] [ruby-core:61682] + +Wed Mar 26 08:29:43 2014 mo khan + + * lib/rubygems.rb: fix spelling of Jim Weirich. [Fixes GH-577] + +Wed Mar 26 01:55:45 2014 NARUSE, Yui + + * addr2line.c (rb_dump_backtrace_with_lines): a function to get must + be a function in the main executable, whose absolute path is not + available by dladdr, and ruby get it by /proc/self/exe on Linux. + +Wed Mar 26 01:34:50 2014 NARUSE, Yui + + * addr2line.c (fill_lines): skip if path is NULL. + +Tue Mar 25 23:57:17 2014 Nobuyoshi Nakada + + * parse.y (parser_yylex): only a newline after label should be + significant. [ruby-core:61658] [Bug #9669] + +Tue Mar 25 23:32:25 2014 Kazuhiro NISHIYAMA + + * ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary + unshift. + + * test/pathname/test_pathname.rb (TestPathname#test_join): add tests. + +Tue Mar 25 16:47:36 2014 Nobuyoshi Nakada + + * parse.y (lex_state_e, parser_params, f_arglist, parser_yylex): + separate EXPR_LABELARG from EXPR_BEG and let newline significant, + so that required keyword argument can place at the end of + argument list without parentheses. [ruby-core:61658] [Bug #9669] + +Mon Mar 24 22:19:56 2014 Nobuyoshi Nakada + + * parse.y (ripper_initialize): filename can not be modified. + +Mon Mar 24 15:19:47 2014 NARUSE, Yui + + * addr2line.c (rb_dump_backtrace_with_lines): fetch path of the + executable from /proc/self/exe on Linux. + +Mon Mar 24 14:14:37 2014 SHIBATA Hiroshi + + * gc.c: Fix up default GC params by @csfrancis [fix GH-556] + +Mon Mar 24 13:13:36 2014 NARUSE, Yui + + * addr2line.c (parse_debug_line_cu): explicitly specify signed char + because DWARF's line_Base is signed char and char maybe unsigned. + patched by Rei Odaira. [ruby-dev:48068] [Bug #9654] + +Sun Mar 23 11:03:50 2014 Kohei Suzuki + + * vm_method.c (rb_method_entry_get_without_cache): me->klass is 0 + for a method aliased in a module. [ruby-core:61636] [Bug #9663] + +Sun Mar 23 08:12:27 2014 Eric Wong + + * st.c (hash_pos): use bitwise AND to avoid slow modulo op + (new_size): power-of-two sizes for hash_pos change + (st_numhash): adjust for common keys due to lack of prime modulo + [Feature #9425] + * hash.c (rb_any_hash): right shift for symbols + * benchmark/bm_hash_aref_miss.rb: added to show improvement + * benchmark/bm_hash_aref_sym_long.rb: ditto + * benchmark/bm_hash_aref_str.rb: ditto + * benchmark/bm_hash_aref_sym.rb: ditto + * benchmark/bm_hash_ident_num.rb: added to prevent regression + * benchmark/bm_hash_ident_obj.rb: ditto + * benchmark/bm_hash_ident_str.rb: ditto + * benchmark/bm_hash_ident_sym.rb: ditto + +Sat Mar 22 22:56:45 2014 NARUSE, Yui + + * addr2line.c (fill_lines): compare the file names of object in which + symbols exist. [Bug #9654] [ruby-dev:48058] + +Sat Mar 22 06:46:16 2014 Nobuyoshi Nakada + + * lib/cgi/util.rb (escape_html, unescape_html): make synonyms + aliases instead of wrapper methods. + + * lib/cgi/util.rb (escape_element, unescape_element): ditto. + [Fixes GH-573] + +Fri Mar 21 21:57:34 2014 Akinori MUSHA + + * configure.in: Fix a build problem with clang and --with-opt-dir. + If ruby is configured with --with-opt-dir=dir when using clang + as compiler, a warning `clang: warning: argument unused during + compilation: '-I dir'` is emitted almost every time clang + compiles a file. Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes + any output from the compiler as fatal error, and the check thus + fails due to the warning. This is an attempt to fix the problem + by adding a flag -Qunused-arguments to CFLAGS locally in the + function to suppress the warning. [ruby-dev:48062] [Bug #9658] + [Fixes GH-571] https://github.com/ruby/ruby/pull/571 + +Fri Mar 21 16:31:56 2014 Zachary Scott + + * gc.c: [DOC] Fix call-seq for GC.start by @jasonrclark [Fixes GH-572] + https://github.com/ruby/ruby/pull/572 + +Thu Mar 20 11:37:28 2014 James Edward Gray II + + * lib/csv.rb: Fixed a broken regular expression that was causing + CSV to miss escaping some special meaning characters when used + in parsing. + Reported by David Unric + [ruby-core:54986] [Bug #8405] + +Thu Mar 20 16:53:07 2014 Koichi Sasada + + * gc.c (objspace_malloc_increase): should not invoke + garbage_collect_with_gvl() here on non-ruby threads. + + Should just ignore the malloc_increase. + + This issue is pointed by Eric Wong [ruby-core:61519]. + +Thu Mar 20 13:05:16 2014 Koichi Sasada + + * struct.c (rb_struct_alloc): use RARRAY_CONST_PTR() instead of + RARRAY_PTR(). + +Thu Mar 20 12:59:39 2014 Koichi Sasada + + * include/ruby/intern.h (rb_obj_call_init, rb_class_new_instance): + constify a parameter (VALUE *). + I believe this incompatibility doesn't break any code. + However, if you have trouble, please tell us. + + * eval.c, object.c: ditto. + +Thu Mar 20 12:31:26 2014 Nobuyoshi Nakada + + * vm_method.c (rb_method_entry_get_without_cache): get rid of + infinite recursion at aliases in a subclass and a superclass. + return actually defined class for other than singleton class. + [ruby-core:60431] [Bug #9475] + +Wed Mar 19 17:13:06 2014 Eric Wong + + * time.c (time_mload): freeze and preserve marshal-loaded time zone + * test/ruby/test_time.rb: add test for GC on loaded object + [Bug #9652] + +Tue Mar 18 23:20:12 2014 Shota Fukumori + + * vm_eval.c (eval_string_with_cref): Unify to use NIL_P. + +Tue Mar 18 22:03:41 2014 Shota Fukumori + + * vm_eval.c (eval_string_with_cref): Use file path even if scope is + given. Related to [ruby-core:56099] [Bug #8662] and r42103. + +Mon Mar 17 13:17:47 2014 Koichi Sasada + + * enumerator.c (enumerator_block_call): use RARRAY_CONST_PTR() + instead of RARRAY_PTR(). + + * io.c (rb_io_s_popen): ditto. + + * numeric.c (num_step_size): ditto. + + * vm_eval.c (rb_apply): ditto. + + * vm_eval.c (rb_eval_cmd): ditto. + +Mon Mar 17 10:11:59 2014 Eric Wong + + * variable.c (rb_const_set): delete existing entry on redefinition + [Bug #9645] + * test/ruby/test_const.rb (test_redefinition): test for leak + +Sun Mar 16 21:33:01 2014 Zachary Scott + + * lib/time.rb: [DOC] Fix timezone in example of Time.parse [Bug #9521] + Based on patch by @stomar + +Sun Mar 16 13:21:40 2014 Nobuyoshi Nakada + + * configure.in (DLDFLAGS): insert a space between option and its + argument for non-GCC compilers. [ruby-core:61429] [Bug #9624] + +Sun Mar 16 08:05:06 2014 Eric Wong + + * gc.c (objspace_xcalloc): fix GC accounting + +Sun Mar 16 06:33:35 2014 NARUSE, Yui + + * addr2line.c (fill_lines): return address is just after calling + address. Therefore noreturn function with tail call's return + address may be in another function. + +Sun Mar 16 05:51:55 2014 Zachary Scott + + * lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543] + +Sat Mar 15 18:54:03 2014 Kazuki Tsujimoto + + * ext/.document: remove refinement from documentable directories. + +Sat Mar 15 11:02:58 2014 Nobuyoshi Nakada + + * configure.in (DLDFLAGS): check for each options to control + symbol resolution. [ruby-core:61429] [Bug #9624] + +Sat Mar 15 07:02:35 2014 Eric Wong + + * st.c (st_update): remove unnecessary assignment + +Fri Mar 14 14:58:38 2014 NARUSE, Yui + + * addr2line.c (fill_lines): fetch symbol names from ELF binary's + symbol table if it is built with cc -g and not stripped. + Now ruby can show static symbols on Linux though glibc's + backtrace_symbols(3) don't show them. + + * addr2line.c (rb_dump_backtrace_with_lines): use dladdr(3) to + detect what object file declares the symbol because + dl_iterate_phdr can't detect the main executable file + and codes on the stack. + NOTE: signal trampolines sometimes on the user stack. (FreeBSD) + + * addr2line.c (rb_dump_backtrace_with_lines): stop showing + backtrace if the function's name is main. + NOTE: FreeBSD's backtrace (libexecinfo) shows _start and + an additional address. Why it doesn't remove them on dladdr phase + is, dladdr may fail to detect the main function but detect + as _start function. Therefore it must be after scanning + the symbol table and getting correct name. + + +Fri Mar 14 12:07:46 2014 Zachary Scott + + * doc/syntax/literals.rdoc: [DOC] Single quote strings allows escape + of backslash as well, patch by @idupree [Fixes GH-553] + https://github.com/ruby/ruby/pull/553 + +Fri Mar 14 01:18:24 2014 Nobuyoshi Nakada + + * vm.c (invoke_block_from_c): add splattable argument. + + * vm.c (vm_invoke_proc): disallow to splat when directly invoked. + + * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_callee_setup_arg): + relax arity check of yielded lambda. [ruby-core:61340] [Bug #9605] + + * test/ruby/test_yield.rb (TestRubyYieldGen#emu_bind_params): no + longer raise ArgumentError when splatting to lambda. + +Thu Mar 13 23:51:02 2014 NAKAMURA Usaku + + * ext/-test-/win32/dln/libdlntest.c (dlntest_ordinal): no need to + specify export in the source file because .def file do it. + get rid of warning on linking. + +Wed Mar 12 11:19:03 2014 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_callee_setup_arg): disable fastpath if splat + argument, since argc may differ for each calls. + [ruby-core:61422] [Bug #9622] + + * vm_insnhelper.c (vm_callee_setup_arg): turn a macro into an + inline function. + +Wed Mar 12 07:26:05 2014 Eric Wong + + * insns.def (opt_regexpmatch2): respect redefined match op + Thanks to Sam Rawlins for the fix. + * test/ruby/test_string.rb: test based on Tsuyoshi Sawada's report + [Bug #9581] + +Tue Mar 11 22:31:25 2014 Kazuki Tsujimoto + + * ext/.document: add objspace/objspace_dump.c to document file. + +Tue Mar 11 22:22:38 2014 Kazuki Tsujimoto + + * test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file): + remove dependency on json library. + +Tue Mar 11 10:55:10 2014 Nobuyoshi Nakada + + * README.EXT{,.ja} (Appendix B): update contents of `ruby_options` + and replace `ruby_run` with `ruby_run_node`. based on the patch + by Kaneko Yuichiro at [ruby-dev:48030] [Bug #9619]. + +Tue Mar 11 06:54:00 2014 Scott Francis + + * ext/objspace/objspace_dump.c: Check fptr before trying to dump RFILE + object fd. [GH-562] + + * test/objspace/test_objspace.rb: add test + +Tue Mar 11 02:04:36 2014 NARUSE, Yui + + * vm_dump.c (rb_vm_bugreport): show vm maps on FreeBSD. + + * vm_dump.c (procstat_vm): copied from FreeBSD. + http://svnweb.freebsd.org/base/head/usr.bin/procstat/procstat_vm.c?revision=261780 + +Mon Mar 10 12:14:26 2014 NARUSE, Yui + + * configure.in: always check dladdr(1). + + * addr2line.c (fill_lines): show the line number in C backtrace if + ruby is built without --enable-shared (PIE) on Linux. + patch is originally by Shinichiro Hamaji + https://twitter.com/shinh/status/441957774264504321 + NOTE: ld doesn't insert __executable_start for PIE. + dladdr(3)'s argument must be a function pointer. + +Mon Mar 10 10:51:17 2014 ksss + + * test/ruby/test_enumerator.rb (test_iterators): fix test for hash + iterators. [Fixes GH-558] + +Sun Mar 9 14:14:49 2014 Eric Wong + + * class.c (rb_class_subclass_add): use xmalloc + * class.c (rb_module_add_to_subclasses_list): ditto + * class.c (rb_class_remove_from_super_subclasses): use xfree + * class.c (rb_class_remove_from_module_subclasses): ditto + [Bug #9616] + +Sun Mar 9 13:51:16 2014 Nobuyoshi Nakada + + * ext/fiddle/function.c (function_call): fix memory leak when an + exception occurs at argument conversion or the function call. + +Sun Mar 9 06:42:40 2014 Eric Wong + + * variable.c (struct global_variable): shrink by 8 bytes on 64-bit + +Sat Mar 8 17:42:51 2014 Eric Wong + + * vm.c (add_opt_method): cleanup to use rb_method_entry_at + +Sat Mar 8 13:46:40 2014 Nobuyoshi Nakada + + * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free), + ext/fiddle/handle.c (fiddle_handle_free), + ext/fiddle/pointer.c (fiddle_ptr_free): fix memory leak. + based on the patch Heesob Park at [ruby-dev:48021] [Bug #9599]. + +Sat Mar 8 13:30:39 2014 Nobuyoshi Nakada + + * process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r() + may need larger buffers than sysconf values, so retry with + expanding the buffer when ERANGE is returned. + [ruby-core:61325] [Bug #9600] + +Fri Mar 7 19:29:13 2014 Eric Wong + + * vm_eval.c (vm_call0_body): use RARRAY_CONST_PTR + (check_funcall_exec): ditto + [ruby-core:61360] + +Fri Mar 7 19:14:11 2014 Eric Wong + + * vm_eval.c (vm_call0_body): fix RB_GC_GUARD location + (check_funcall_exec): ditto + [Bug #9609] + +Fri Mar 7 14:48:17 2014 Narihiro Nakamura + + * parse.y (ENC_SINGLE): Unused macro removed. + +Fri Mar 7 12:06:19 2014 Martin Bosslet + + * test/openssl/test_ssl.rb: Reuse TLS default options from + OpenSSL::SSL::SSLContext::DEFAULT_PARAMS. + +Thu Mar 6 15:15:24 2014 Zachary Scott + + * doc/syntax/assignment.rdoc: [DOC] Fix assignment directions + By @idupree [Fixes GH-555] https://github.com/ruby/ruby/pull/555 + +Thu Mar 6 15:07:18 2014 Zachary Scott + + * doc/syntax/methods.rdoc: [DOC] Fix example for block arguments + By @idupree [Fixes GH-554] https://github.com/ruby/ruby/pull/554 + +Thu Mar 6 10:33:31 2014 Martin Bosslet + + * lib/openssl/ssl.rb: Explicitly whitelist the default + SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable + compression by default. + Reported by Jeff Hodges. + [ruby-core:59829] [Bug #9424] + +Wed Mar 5 15:56:18 2014 Nobuyoshi Nakada + + * parse.y (f_arg_asgn): define optional arguments as argument + variables in the rhs default expressions. + [ruby-core:61299] [Bug #9593] + +Wed Mar 5 11:58:30 2014 Nobuyoshi Nakada + + * ext/openssl/ossl.c (ossl_make_error): check NULL for unknown + error reasons with old OpenSSL, and insert a colon iff formatted + message is not empty. + +Wed Mar 5 00:42:00 2014 Kazuki Tsujimoto + + * ext/pathname/lib/pathname.rb (Pathname#find): add "ignore_error" + keyword argument defaulted to true as well as Find#find. + +Tue Mar 4 23:00:18 2014 NAKAMURA Usaku + + * test/ruby/test_eval.rb (TestEval#make_test_binding): renamed. + it's not test method. + +Tue Mar 4 20:50:59 2014 Masaya Tarui + + * st.c (st_foreach): fix type of hash. not st_data_t but st_index_t. + +Tue Mar 4 19:41:40 2014 Tanaka Akira + + * Makefile.in: ".DEFAULT" target removed because it is not for + specifying default target. + +Tue Mar 4 00:25:35 2014 Kazuki Tsujimoto + + * lib/find.rb (Find#find): should pass ignore_error option to enumerators. + +Mon Mar 3 13:27:35 2014 NAKAMURA Usaku + + * test/test_find.rb (TestFind#test_unsearchable_dir): ruby cannot make + directory unreachable by owner on Windows. + +Mon Mar 3 08:10:04 2014 Eric Wong + + * vm_method.c (rb_method_entry_get_without_cache): disable GMC + writing if GMC is disabled. + [ruby-core:61218] + +Mon Mar 3 07:47:17 2014 Eric Wong + + * README.EXT: wrap GetDBM with do/while(0) + * README.EXT.ja: ditto + * ext/dbm/dbm.c: ditto, likewise for GetDBM2 + * ext/gdbm/gdbm.c: ditto + * ext/sdbm/init.c: ditto + [ruby-core:61217] + +Mon Mar 3 07:17:31 2014 Zachary Scott + + * NEWS: [DOC] Update doc regarding filesystem load when flushing IO + +Mon Mar 3 04:37:50 2014 NAKAMURA Usaku + + * io.c (rb_io_fsync): need to fsync even if on Windows. fixed mistake + of r45254 and r45256. + +Mon Mar 3 04:21:34 2014 NAKAMURA Usaku + + * test/win32ole: get rid of warnings (unused variable). + +Mon Mar 3 02:53:53 2014 NAKAMURA Usaku + + * io.c (rb_io_flush_raw): [EXPERIMENTAL] remove force syncing for Win32 + to speed up IO. this may break some tests, and they'll be fixed + later. + [ruby-core:58570] [Bug #9153] + +Mon Mar 3 00:17:43 2014 NAKAMURA Usaku + + * test/ruby/test_backtrace.rb: get rid of warnings. unused variable, + shadowing. + +Sun Mar 2 11:15:10 2014 Nobuyoshi Nakada + + * lib/find.rb (Find#find): add "ignore_error" keyword argument + defaulted to true. [ruby-core:51025] [Feature #7596] + +Sun Mar 2 11:13:30 2014 Nobuyoshi Nakada + + * ext/readline/extconf.rb (rl_hook_func_t): define as Function for + very old readline versions. [ruby-core:61209] [Bug #9578] + +Sun Mar 2 10:47:58 2014 Eric Wong + + * load.c (ruby_init_ext): make idempotent to suppress warnings + +Sat Mar 1 19:51:42 2014 Tanaka Akira + + * lib/open3.rb (Open3.capture3): Ignore Errno::EPIPE for writing + stdin_data. + (Open3.capture2): Ditto. + (Open3.capture2e): Ditto. + +Sat Mar 1 19:06:47 2014 Eric Wong + + * gc.c (ruby_gc_set_params): simplify condition + +Sat Mar 1 16:18:40 2014 Tanaka Akira + + * ext/readline/readline.c (Init_readline): Use rl_hook_func_t instead + of Function to support readline-6.3. (rl_hook_func_t is available + since readline-4.2.) + Reported by Dmitry Medvinsky. [ruby-core:61141] [Bug #9578] + +Sat Mar 1 16:05:58 2014 Eric Wong + + * gc.c (ruby_gc_set_params): fix building without RGenGC + +Sat Mar 1 11:08:00 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encoding + objects. + + * ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding + objects. + + * test/psych/test_encoding.rb: add test + + * ext/psych/lib/psych.rb: add version + +Sat Mar 1 10:52:34 2014 Zachary Scott + + * README.EXT.ja: [DOC] Fix typo "macro macro" @utenmiki [Fixes GH-551] + https://github.com/ruby/ruby/pull/551 + +Fri Feb 28 11:16:55 2014 Marc-Andre Lafortune + + * numeric.c: Fix Numeric#step with 0 unit [Bug #9575] + +Thu Feb 27 17:59:01 2014 Zachary Scott + + * lib/optparse.rb: [DOC] Add example of generating help with optparse. + Patch by @joelmccracken documenting-ruby/ruby#19 + https://github.com/documenting-ruby/ruby/pull/19 + +Thu Feb 27 12:10:09 2014 Nobuyoshi Nakada + + * numeric.c (ruby_num_interval_step_size): check signs and get rid + of implementation dependent behavior of negative division. + [ruby-core:61106] [Bug #9570] + +Thu Feb 27 03:55:45 2014 Zachary Scott + + * thread.c: [DOC] Typo in comment for _FORTIFY_SOURCE [Fixes GH-548] + Patch by @qnet-herwin https://github.com/ruby/ruby/pull/548 + +Wed Feb 26 18:43:43 2014 Koichi Sasada + + * gc.c (heap_pages_free_unused_pages): check tomb page availability + at first. + And return immediately if we don't touch sorted list any more. + +Wed Feb 26 14:10:44 2014 Nobuyoshi Nakada + + * eval.c (setup_exception): preserve exception class name encoding + in debug mode messages. + + * eval.c (setup_exception): preserve errinfo across calling #to_s + method on the exception. [ruby-core:61091] [Bug #9568] + +Wed Feb 26 01:29:27 2014 NARUSE, Yui + + * string.c (sym_find): Add Symbol.find(str), which returns whether given + string is defined as symbol or not. [Feature #7854] + +Tue Feb 25 22:52:02 2014 Kazuhiro NISHIYAMA + + * ext/dl/dl.c (rb_dl_realloc): use NUM2SIZET instead of NUM2INT. + + * ext/fiddle/fiddle.c (rb_fiddle_realloc): ditto. + +Tue Feb 25 22:49:30 2014 Kazuhiro NISHIYAMA + + * ext/dl/dl.c (rb_dl_malloc): use NUM2SIZET instead of NUM2INT. + Coverity Scan found this bug. + + * ext/fiddle/fiddle.c (rb_fiddle_malloc): ditto. + +Tue Feb 25 12:06:13 2014 NARUSE, Yui + + * win32/Makefile.sub: define PACKED_STRUCT. + +Mon Feb 24 21:41:56 2014 NAKAMURA Usaku + + * README.md, README.ja.md: removed (wrong) mode setting for emacs. + +Mon Feb 24 20:05:41 2014 Eric Wong + + * configure.in: define PACKED_STRUCT_UNALIGNED for x86* + * timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED + * time.c (struct time_object): ditto + [Bug #9558] non-x86 cannot safely access unaligned addresses + +Mon Feb 24 18:10:02 2014 SHIBATA Hiroshi + + * test/fiddle/test_function.rb: remove unused variables. + * test/fileutils/test_fileutils.rb: ditto. + * test/io/console/test_io_console.rb: ditto. + +Mon Feb 24 12:37:51 2014 Eric Wong + + * configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+ + use __attribute__((packed)) if available + * timev.h: shrink and pack struct vtm + * time.c: pack struct time_object and adjust/introduce helpers + [ruby-core:60794] + +Sun Feb 23 17:55:50 2014 Kouhei Sutou + + * lib/rexml/xmltokens.rb: Add missing non ASCII valid characters + to element name characters. Now, REXML name tokens exactly + match "[5] Name" in the XML spec and "[4] NCName" in the + Namespaces in XML spec. See comment about the details. + [Bug #9539] [ruby-core:60901] + Reported by Mario Barcala. Thanks!!! + + * test/rexml/xpath/test_node.rb: Add tests for the above case. + +Sun Feb 23 12:18:54 2014 Nobuyoshi Nakada + + * ext/socket/raddrinfo.c (inet_pton): use rb_w32_inet_pton, instead of + inet_pton directly, which is unavailable on older version Windows. + + * include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a + wrapper function for inet_pton minimum supported client is + Vista, as well as inet_ntop. + +Sun Feb 23 11:33:25 2014 SHIBATA Hiroshi + + * test/net/imap/test_imap.rb: remove unused variables. + * test/net/imap/test_imap_response_parser.rb: ditto. + * test/net/pop/test_pop.rb: ditto. + +Sun Feb 23 02:19:51 2014 Tanaka Akira + + * lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which + security.mac.portacl.port_high is changed. + See mac_portacl(4) for details. + Reported by Jakub Szafranski. [ruby-core:60917] [Bug #9544] + +Sat Feb 22 23:17:01 2014 Kouhei Sutou + + * lib/rexml/xpath_parser.rb: Fix indent. + +Sat Feb 22 23:15:35 2014 Kouhei Sutou + + * test/rexml/xpath/test_attribute.rb: Simplify. + +Sat Feb 22 20:28:47 2014 NAKAMURA Usaku + + * tool/redmine-backporter.rb: more friendly. + +Sat Feb 22 20:24:43 2014 Kouhei Sutou + + * test/rexml/test_xpath*.rb: Move to ... + * test/rexml/xpath/*.rb: ... here. + +Sat Feb 22 20:04:41 2014 Kouhei Sutou + + * test/rexml/listener.rb: Untabify. + +Sat Feb 22 19:07:31 2014 NAKAMURA Usaku + + * ext/io/console/console.c (console_dev): need read access for conout$ + because some functions need it. [Bug#9554] + +Sat Feb 22 18:40:58 2014 Eric Wong + + * .gitignore: ignore benchmark files + +Sat Feb 22 01:22:24 2014 Yusuke Endoh + + * bignum.c (bary_mul_precheck): fix a copy-paste error. + Coverity Scan found this bug. + +Sat Feb 22 00:58:51 2014 Kazuhiro NISHIYAMA + + * ext/socket/raddrinfo.c (rb_getaddrinfo): second argument of + MEMZERO is type. Coverity Scan found this bug. + +Fri Feb 21 23:47:24 2014 Shugo Maeda + + * ext/socket/init.c (wait_connectable): break if the socket is + writable to avoid infinite loops on FreeBSD and other platforms + which conforms to SUSv3. This problem cannot be reproduced with + loopback interfaces, so it's hard to write test code. + rsock_connect() and wait_connectable() are overly complicated, so + they should be refactored, but I commit this fix as a workaround + for the release of Ruby 1.9.3 scheduled on Feb 24. + [ruby-core:60940] [Bug #9547] + +Fri Feb 21 23:03:39 2014 NARUSE, Yui + + * tool/redmine-backporter.rb: added to handle redmine tickets. + +Fri Feb 21 20:42:01 2014 Nobuyoshi Nakada + + * class.c (rb_mod_init_copy): do nothing if copying self. + [ruby-dev:47989] [Bug #9535] + + * hash.c (rb_hash_initialize_copy): ditto. + +Fri Feb 21 16:45:54 2014 Nobuyoshi Nakada + + * lib/logger.rb (next_rotate_time, previous_period_end): consider + DST change. + + * lib/logger.rb (Logger::LogDevice#check_shift_log): compare the + current time with the time for the next rotation to fix rotation + miss when date changed between the comparison and log writing. + based on the patch by megayu . + [Fixes GH-539] + +Fri Feb 21 10:39:33 2014 SHIBATA Hiroshi + + * test/monitor/test_monitor.rb: remove unused variables. + * test/resolv/test_dns.rb: ditto. + * test/rexml/test_functions.rb: ditto. + * test/rss/test_setup_maker_itunes.rb: ditto. + +Fri Feb 21 09:48:56 2014 Eric Wong + + * ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error + (bsock_recvmsg_internal): ditto + * test/socket/test_unix.rb: test above for infinite loop + +Fri Feb 21 08:27:19 2014 Eric Wong + + * include/ruby/ruby.h (RB_GC_GUARD): + use rb_gc_guarded_ptr_val on non-GCC/MSC + * gc.c (rb_gc_guarded_ptr_val): rename and adjust argument. + RB_GC_GUARD should be robust enough for any compiler. + [ruby-core:60816] [Bug #7805] + +Thu Feb 20 22:21:26 2014 Tanaka Akira + + * ext/socket/raddrinfo.c (numeric_getaddrinfo): Use xcalloc. + Suggested by Eric Wong. + https://bugs.ruby-lang.org/issues/9525#note-14 + +Thu Feb 20 11:21:13 2014 Masaki Matsushita + + * hash.c (rb_hash_flatten): fix behavior of flatten(-1). + [ruby-dev:47988] [Bug #9533] + + * test/ruby/test_array.rb: test for above. + +Wed Feb 19 18:57:02 2014 Tanaka Akira + + * ext/socket: Bypass getaddrinfo() if node and serv are numeric. + Reporeted by Naotoshi Seo. [ruby-core:60801] [Bug #9525] + + * ext/socket/extconf.rb: Detect struct sockaddr_in6.sin6_len. + + * ext/socket/sockport.h (SET_SIN6_LEN): New macro. + (INIT_SOCKADDR_IN6): Ditto. + + * ext/socket/rubysocket.h (struct rb_addrinfo): Add + allocated_by_malloc field. + + * ext/socket/raddrinfo.c (numeric_getaddrinfo): New function. + (rb_getaddrinfo): Call numeric_getaddrinfo at first. + (rb_freeaddrinfo): Free struct addrinfo properly when it is + allocated by numeric_getaddrinfo. + +Wed Feb 19 18:31:48 2014 Tanaka Akira + + * ext/socket: Wrap struct addrinfo by struct rb_addrinfo. + +Wed Feb 19 17:47:01 2014 Tanaka Akira + + * ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory. + +Wed Feb 19 11:39:41 2014 NARUSE, Yui + + * configure.in: it must see rb_cv_broken_memmem not rb_cv_func_memmem. + +Tue Feb 18 23:18:41 2014 SHIBATA Hiroshi + + * test/socket/test_socket.rb: unix socket is required by test case. + +Tue Feb 18 20:48:38 2014 SHIBATA Hiroshi + + * test/socket/test_addrinfo.rb: remove unused variables. + * test/socket/test_nonblock.rb: ditto. + * test/socket/test_socket.rb: ditto. + * test/socket/test_unix.rb: ditto. + * test/testunit/test_parallel.rb: ditto. + * test/webrick/test_filehandler.rb: ditto. + * test/xmlrpc/test_features.rb: ditto. + * test/zlib/test_zlib.rb: ditto. + +Tue Feb 18 14:27:18 2014 Shota Fukumori + + * lib/test/unit.rb: Requires minitest < 5.0.0 if Gem is available. + +Tue Feb 18 14:24:07 2014 Shota Fukumori + + * lib/test/unit/test-unit.gemspec: Add minitest < 5.0.0 dependency + + * tool/rbinstall.rb: Add empty implementations for `add_dependency`, + `add_runtime_dependency`, `add_development_dependency` for + Gem::Specification. + +Tue Feb 18 12:06:39 2014 Tanaka Akira + + * configure.in (FILE_COUNT): Removed. (win32.c defines it in itself.) + (FILE_READPTR): Ditto. + +Tue Feb 18 09:35:44 2014 SHIBATA Hiroshi + + * test/test/psych/test_string.rb: remove unused variables. + * test/test/psych/test_yaml.rb: ditto. + +Mon Feb 17 21:31:31 2014 Koichi Sasada + + * test/ruby/test_gc.rb: ignore warning messages for running with -w + option such as chkbuild. + +Mon Feb 17 20:00:27 2014 Tanaka Akira + + * internal.h: Move BDIGIT and related definitions from + include/ruby/defines.h. + +Mon Feb 17 17:41:55 2014 Nobuyoshi Nakada + + * marshal.c (marshal_dump, marshal_load): do not recycle wrapper + objects, to prevent from segfault with continuation. + [ruby-dev:47970] [Bug #9523] + +Mon Feb 17 15:43:59 2014 Zachary Scott + + * doc/keywords.rdoc: [DOC] Add keywords doc by documenting-ruby/ruby#29 + https://github.com/documenting-ruby/ruby/pull/29 + +Mon Feb 17 12:31:31 2014 Koichi Sasada + + * gc.c (get_envparam_double): fix a warning message. + +Mon Feb 17 12:09:52 2014 Koichi Sasada + + * gc.c: introduce new environment variable + "RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR" to control major/minor GC + frequency. + + Do full GC when the number of old objects is more than R * N + where R is this factor and + N is the number of old objects just after last full GC. + + * test/ruby/test_gc.rb: add a test. + +Mon Feb 17 11:28:40 2014 SHIBATA Hiroshi + + * test/test_pty.rb: ignore warnings to unused variables. + +Mon Feb 17 11:27:36 2014 SHIBATA Hiroshi + + * test/test_find.rb: remove unused variables. + +Sun Feb 17 02:12:00 2014 Kenta Murata + + * ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard. + + * ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto. + +Sun Feb 16 15:53:36 2014 SHIBATA Hiroshi + + * test/test_securerandom.rb: File.exists? is deprecated. use File.exist? + +Sun Feb 16 15:05:00 2014 SHIBATA Hiroshi + + * test/pathname/test_pathname.rb: File.exists? is deprecated. use File.exist? + +Sun Feb 16 15:00:28 2014 SHIBATA Hiroshi + + * test/net/ftp/test_ftp.rb: remove unused variables. + * test/logger/test_logger.rb: ditto. + +Sun Feb 16 14:52:46 2014 Eric Wong + + * dir.c (dir_s_glob): RB_GC_GUARD instead of volatile + +Sun Feb 16 14:33:52 2014 Tanaka Akira + + * include/ruby/ruby.h (RBIGNUM_SIGN): Defined for compatibility. + (RBIGNUM_POSITIVE_P): Ditto. + (RBIGNUM_NEGATIVE_P): Ditto. + +Sun Feb 16 12:46:47 2014 Eric Wong + + * io.c (rb_f_backquote): trade volatile for manual recycle + rb_gc_force_recycle ensures object is visible until recycle + +Sun Feb 16 11:55:14 2014 Eric Wong + + * marshal.c (marshal_dump): use rb_gc_force_recycle for GC-safety + (marshal_load): ditto + [ruby-core:60730] [Bug #7805] + +Sun Feb 16 08:11:23 2014 Zachary Scott + + * README.EXT.ja: [DOC] Fix typo by @utenmiki [Fixes GH-534] + https://github.com/ruby/ruby/pull/534 + +Sun Feb 16 07:48:20 2014 Tanaka Akira + + * ext/bigdecimal/bigdecimal.c (BIGNUM_ZERO_P): Unused macro removed. + +Sun Feb 16 06:12:23 2014 Tanaka Akira + + * internal.h: Rename macro names: RBIGNUM_FOO to BIGNUM_FOO. + (BIGNUM_EMBED_LEN_NUMBITS): Renamed from RBIGNUM_EMBED_LEN_NUMBITS. + (BIGNUM_EMBED_LEN_MAX): Renamed from RBIGNUM_EMBED_LEN_MAX. + (BIGNUM_SIGN_BIT): Renamed from RBIGNUM_SIGN_BIT. + (BIGNUM_SIGN): Renamed from RBIGNUM_SIGN. + (BIGNUM_SET_SIGN): Renamed from RBIGNUM_SET_SIGN. + (BIGNUM_POSITIVE_P): Renamed from RBIGNUM_POSITIVE_P. + (BIGNUM_NEGATIVE_P): Renamed from RBIGNUM_NEGATIVE_P. + (BIGNUM_EMBED_FLAG): Renamed from RBIGNUM_EMBED_FLAG. + (BIGNUM_EMBED_LEN_MASK): Renamed from RBIGNUM_EMBED_LEN_MASK. + (BIGNUM_EMBED_LEN_SHIFT): Renamed from RBIGNUM_EMBED_LEN_SHIFT. + (BIGNUM_LEN): Renamed from RBIGNUM_LEN. + (RBIGNUM_DIGITS): Renamed from RBIGNUM_DIGITS. + (BIGNUM_LENINT): Renamed from RBIGNUM_LENINT. + + * bignum.c: Follow the above change. + + * gc.c: Ditto. + + * marshal.c: Ditto. + + * math.c: Ditto. + + * numeric.c: Ditto. + + * random.c: Ditto. + + * rational.c: Ditto. + + * sprintf.c: Ditto. + + * ext/-test-/bignum/bigzero.c: Ditto. + + * ext/-test-/bignum/intpack.c: Ditto. + + * ext/bigdecimal/bigdecimal.c: Ditto. + +Sat Feb 15 20:48:49 2014 Tanaka Akira + + * configure.in (FILE_READEND): Don't detect it because it is not used. + +Sat Feb 15 13:22:28 2014 Eric Wong + + * probes_helper.h (RUBY_DTRACE_HOOK): correct type for _id + +Sat Feb 15 11:47:47 2014 Tanaka Akira + + * bignum.c (rb_big_cmp): Avoid bignum allocation for comparison + between bignum and fixnum. + +Sat Feb 15 10:55:12 2014 Hiroshi Shirosaki + + * ext/-test-/win32/fd_setsize/depend: fix wrong dependencies. + [ruby-dev:47253] + +Sat Feb 15 00:38:54 2014 Tanaka Akira + + * enum.c: Enumerable#{min,min_by,max,max_by} extended to take an + optional argument. + (nmin_cmp): New function. + (nmin_block_cmp): Ditto + (nmin_filter): Ditto. + (nmin_i): Ditto. + (nmin_run): Ditto. + (enum_min): Call nmin_run if the optional argument is given. + (nmin_max): Ditto. + (nmin_min_by): Ditto. + (nmin_max_by): Ditto. + + * range.c: Range#{min,max} extended to take an optional argument. + (range_min): Call range_first if the optional argument is given. + (range_max): Call rb_call_super if the optional argument is given. + + [ruby-core:57111] [Feature #8887] + +Sat Feb 15 00:27:46 2014 Tanaka Akira + + * include/ruby/ruby.h, + internal.h, + ext/-test-/bignum/bigzero.c: Hide a Bignum definition. + [ruby-core:42891] [Feature #6083] + +Sat Feb 15 00:13:14 2014 Tanaka Akira + + * include/ruby/intern.h, + include/ruby/io.h, + include/ruby/ruby.h, + include/ruby/win32.h, + include/ruby/backward/rubysig.h, + bignum.c, + gc.c, + io.c, + process.c, + safe.c, + struct.c, + thread.c, + ext/socket/rubysocket.h, + ext/-test-/old_thread_select: Remove deprecated definitions + [ruby-core:60581] [Feature #9502] + +Fri Feb 14 18:38:46 2014 Eric Wong + + * string.c (rb_str_format_m): trade volatile for RB_GC_GUARD + RB_GC_GUARD meaning is clear and has better code generation. + [ruby-core:60688] + +Thu Feb 13 23:30:30 2014 Shugo Maeda + + * vm_insnhelper.c (vm_call_method): should check ci->me->flag of + a refining method in case the method is private. + [ruby-core:60111] [Bug #9452] + + * vm_method.c (make_method_entry_refined): set me->flag of a refined + method entry to NOEX_PUBLIC in case the original method is private + and it is refined as a public method. The original flag is stored + in me->def->body.orig_me, so it's OK to make a refined method + entry public. [ruby-core:60111] [Bug #9452] + + * test/ruby/test_refinement.rb: related tests. + +Thu Feb 13 18:38:15 2014 Eric Wong + + * re.c (rb_reg_raise): remove volatile + Unnecessary since r41597 + +Thu Feb 13 18:28:51 2014 Eric Wong + + * re.c (rb_reg_regcomp): remove volatile + Unnecessary since r13261 + +Thu Feb 13 16:54:32 2014 Zachary Scott + + * test/ruby/test_array.rb: Ensure flatten! is used for test_flatten + Patch by @ksss [Fixes GH-530] https://github.com/ruby/ruby/pull/530 + +Thu Feb 13 15:43:16 2014 Nobuyoshi Nakada + + * parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug. + + * parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also + attrset ID. [ruby-core:60668] [Bug #8756] + +Thu Feb 13 11:06:32 2014 Nobuyoshi Nakada + + * configure.in: check if pthread_setname_np is available. + + * thread_pthread.c: pthread_setname_np is not available on old + Darwins. [ruby-core:60524] [Bug #9492] + +Thu Feb 13 00:56:59 2014 Masaki Matsushita + + * configure.in: revert r44922. I should have used AC_CHECK_FUNCS() + to just define a symbol if the function is available. + +Thu Feb 13 00:20:58 2014 Masaki Matsushita + + * configure.in: use AC_CHECK_FUNC instead of AC_CHECK_FUNCS + if available. + +Thu Feb 13 00:15:10 2014 Masaki Matsushita + + * configure.in: fix to undefine HAVE_MEMMEM correctly if it is broken. + +Tue Feb 11 23:54:40 2014 Tanaka Akira + + * bignum.c (rb_big_cmp): Specialize a comparison to zero. + + * ext/bigdecimal/bigdecimal.c (is_negative): Use rb_big_cmp instead of + RBIGNUM_NEGATIVE_P. + (BigMath_s_log): Ditto. + +Tue Feb 11 22:59:10 2014 Tanaka Akira + + * ext/openssl/ossl_bn.c (ossl_bn_initialize): Use rb_integer_pack. + Fix SEGV by OpenSSL::BN.new(1 << (2**34)). + +Tue Feb 11 17:00:38 2014 Zachary Scott + + * ext/tk/README.tcltklib: [DOC] Fix typo by @xta [Fixes GH-532] + +Sun Feb 9 13:59:29 2014 Tanaka Akira + + * configure.in: Fix compilation error. + https://bugs.ruby-lang.org/issues/8358#note-16 + +Sun Feb 9 05:20:24 2014 NARUSE, Yui + + * configure.in (rb_cv_gnu_qsort_r): use compile error "conflicting + types for 'qsort_r'" instead of AC_RUN_IFELSE. + +Sun Feb 9 04:07:34 2014 Zachary Scott + + * lib/yaml.rb: [DOC] Add links to syck and psych on github [Bug #9501] + Based on a patch by Giorgos Tsiftsis + +Sun Feb 9 02:13:53 2014 Nobuyoshi Nakada + + * include/ruby/ruby.h (OBJ_TAINTABLE, OBJ_TAINT, OBJ_INFECT), + marshal.c (r_entry0): all Numerics never be tainted now. + [ruby-core:57346] [Bug #8945] + +Sat Feb 8 23:40:35 2014 Vit Ondruch + + * configure.in: add quoting brackets and append wildcard for the + rest after target_cpu, to properly detect platform for SSE2 + instructions. [ruby-core:60576] [Bug #8358] + +Sat Feb 8 21:44:07 2014 Masaki Matsushita + + * configure.in: check qsort_r(3) and whether it is GNU version. + BSD version has different prototype. + + * util.h: use qsort_r() as ruby_qsort() if it is GNU version. + + * util.c: define ruby_qsort() if needed. + +Sat Feb 8 16:34:36 2014 Tanaka Akira + + * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder#get_labels): + Make it iterative. + +Sat Feb 8 15:54:12 2014 Koichi Sasada + + * gc.c, gc.h (rb_objspace_marked_object_p): added. + This function *ONLY* works just after marking phase, + before any sweeping. + This function is highly depending current GC implementation + and can be removed future version. + +Sat Feb 8 15:41:37 2014 Tanaka Akira + + * lib/resolv.rb: Don't set CLOEXEC flag explicitly. (Ruby set it by + default.) + +Sat Feb 8 15:27:02 2014 Tanaka Akira + + * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder): Raise + DecodeError if no data before the limit. + Reported by Will Bryant. [ruby-core:60557] [Bug #9498] + +Sat Feb 8 15:11:21 2014 Tanaka Akira + + * io.c (SMALLBUF): Unused macro removed. + +Fri Feb 7 23:37:49 2014 Tanaka Akira + + * lib/resolv.rb: Ignore name servers which cause EAFNOSUPPORT on + socket creation. + Reported by Bjoern Rennhak. [ruby-core:60442] [Bug #9477] + +Fri Feb 7 21:58:48 2014 Zachary Scott + + * lib/open-uri.rb: [DOC] use lower case version of core classes, same + as commit r44878, based on patch by Jonathan Jackson [Bug #9483] + +Fri Feb 7 21:54:53 2014 Zachary Scott + + * ext/ripper/lib/ripper/lexer.rb: [DOC] use lower case version of core + classes when referring to return value, since we aren't directly + talking about the class. Patch by Jonathan Jackson [Bug #9483] + +Fri Feb 7 05:28:38 2014 Eric Wong + + * constant.h: reduce rb_const_entry_t size on 64-bit + Patch by Adam Avilla [ruby-core:60542] [Feature #9496] + +Thu Feb 6 15:27:46 2014 Koichi Sasada + + * gc.c (get_envparam_int): correct warning messages. + + * gc.c (get_envparam_double): ditto. + +Thu Feb 6 15:17:30 2014 Koichi Sasada + + * gc.c (get_envparam_int): don't accept a value equals to lowerbound + (changed by last commit) because "" or "foo" (not a number) strings + are parsed as 0. They should be rejected. + + * gc.c (get_envparam_double): ditto. + +Thu Feb 6 09:00:35 2014 Koichi Sasada + + * gc.c (ruby_gc_set_params): if RUBY_GC_OLDMALLOC_LIMIT is provided, + then set objspace->rgengc.oldmalloc_increase_limit. + Without this fix, the env variable RUBY_GC_OLDMALLOC_LIMIT + does not work. + + * gc.c (get_envparam_int): accept a value equals to lowerbound. + + * gc.c (get_envparam_double): ditto. + +Thu Feb 6 08:23:28 2014 Eric Wong + + * ext/thread/thread.c (rb_szqueue_max_set): use correct queue and + limit wakeups. [Bug #9343][ruby-core:60517] + * test/thread/test_queue.rb (test_sized_queue_assign_max): + test for bug + +Thu Feb 6 07:18:01 2014 Eric Hodel + + * lib/rubygems: Update to RubyGems 2.2.2. Complete history at: + + http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05 + + * test/rubygems: ditto. + +Wed Feb 5 20:56:32 2014 Nobuyoshi Nakada + + * marshal.c (to_be_skipped_id): ignore anonymous attributes. + + * pack.c (Init_pack): use anonymous ID so that associated objects + do not appear in the packed result. + + * parse.y (rb_make_internal_id): return an anonymous ID for + internal use. + +Wed Feb 5 14:41:56 2014 Koichi Sasada + + * vsnprintf.c: remove duplicated def of `UNINITIALIZED_VAR()'. + +Wed Feb 5 14:40:16 2014 Koichi Sasada + + * ext/objspace/objspace_dump.c (dump_object): use STR_SHARED_P() + instead of removed STR_NOCAPA_P() macro. + +Wed Feb 5 13:51:33 2014 Koichi Sasada + + * internal.h, vm_core.h: move LIKELY/UNLIKELY/UNINITIALIZED_VAR() + macros from vm_core.h to internal.h. + + * string.c: remove dependency to "vm_core.h". + + * common.mk: ditto. + +Wed Feb 5 13:29:01 2014 Koichi Sasada + + * string.c (rb_str_free): use FL_TEST(str, STR_SHARED) directly + because str is not embed. + + * string.c (str_replace): remove `FL_SET(str, STR_SHARED)' line + because STR_SET_SHARED() set STR_SHARED. + +Wed Feb 5 13:18:08 2014 Koichi Sasada + + * internal.h: remove macros STR_NOCAPA and STR_NOCAPA_P(). + + * string.c (rb_str_resize): remove `STR_SET_NOEMBED(str)' because + str_make_independent_expand() set NOEMBED flag. + + * string.c (rb_str_resize): remove `STR_NOCAPA_P(str)' check because + `str' is independent (not shared). + +Wed Feb 5 12:54:25 2014 Koichi Sasada + + * string.c: refactoring, especially about string flags. + + * string.c (STR_UNSET_NOCAPA): removed. + Use FL_UNSET() with STR_SHARED. + + * string.c (rb_str_capacity): check STR_SHARED directly + because it is not a embed string. + + * string.c (rb_str_modify_expand): ditto. + + * string.c (rb_str_shared_replace): use STR_SET_SHARED(). + + * string.c (str_make_independent_expand): remove STR_UNSET_NOCAPA() + because `str' is not shared string. + +Wed Feb 5 12:11:04 2014 Koichi Sasada + + * string.c (RESIZE_CAPA): should not resize shared string. + +Wed Feb 5 11:46:42 2014 Koichi Sasada + + * gc.c (gc_mark_children): STR_ASSOC is no longer available. + Reported by @nagachika. + http://d.hatena.ne.jp/nagachika/20140204 + +Wed Feb 5 11:27:22 2014 Koichi Sasada + + * string.c (rb_str_new_frozen): refactoring code. + * Move code from str_new_frozen_with_klass() (and remove it) + * `aux.shared' should not be 0 for STR_SHARED strings. + +Wed Feb 5 04:23:41 2014 Aaron Patterson + + * ext/psych/lib/psych.rb: New release of psych. + * ext/psych/psych.gemspec: ditto + +Wed Feb 5 04:16:41 2014 Aaron Patterson + + * ext/psych/yaml/emitter.c: merge libyaml 0.1.5 + * ext/psych/yaml/loader.c: ditto + * ext/psych/yaml/parser.c: ditto + * ext/psych/yaml/reader.c: ditto + * ext/psych/yaml/scanner.c: ditto + * ext/psych/yaml/writer.c: ditto + * ext/psych/yaml/yaml_private.h: ditto + +Tue Feb 4 19:10:29 2014 Koichi Sasada + + * string.c: use long allocator names instead of numbered + allocator names. + * rb_str_new2 -> rb_str_new_cstr + * rb_str_new4 -> rb_str_new_frozen + * rb_str_new5 -> rb_str_new_with_class + * str_new3 -> str_new_shared + * str_new4 -> str_new_frozen_with_klass + +Tue Feb 4 17:20:03 2014 Nobuyoshi Nakada + + * dir.c (glob_helper): return the filename with actual cases on + the filesystem if it is case-insensitive. [ruby-core:42469] + [Feature #5994] + +Tue Feb 4 16:16:58 2014 Koichi Sasada + + * string.c: use STR_SHARED instead of ELTS_SHARED. + (same value, but more clear meaning) + +Tue Feb 4 16:09:14 2014 Koichi Sasada + + * string.c: remove STR_ASSOC related code. + By r44804, string objects can not have STR_ASSOC flag. + + * internal.h: ditto. + + * ext/objspace/objspace_dump.c (dump_object): ditto. + +Tue Feb 4 14:07:20 2014 Nobuyoshi Nakada + + * pack.c (str_associate, str_associated): keep associated objects + in an instance variables, instead of in the internal structure. + + * string.c (rb_str_associate, rb_str_associated): deprecate. + +Tue Feb 4 12:55:31 2014 Nobuyoshi Nakada + + * string.c (rb_str_modify_expand): enable capacity and disable + association with packed objects when setting capa, so that + pack("p") string fails to unpack properly after modified. + +Tue Feb 4 12:45:15 2014 Nobuyoshi Nakada + + * dir.c (glob_make_pattern): all alphabets are magic characters on + case-insensitive filesystems. [ruby-core:42469] [Feature #5994] + +Tue Feb 4 09:47:57 2014 Eric Hodel + + * lib/rubygems: Update to RubyGems 2.2.2 prerelease to check fixes to + CI. + * test/rubygems: ditto. + +Mon Feb 3 12:04:47 2014 Kazuhiro NISHIYAMA + + * error.c: [DOC] Exception#cause may return nil. [ci skip] + +Sun Feb 2 05:48:42 2014 Eric Wong + + * io.c (rb_io_syswrite): add RB_GC_GUARD + [Bug #9472][ruby-core:60407] + +Sat Feb 1 15:09:16 2014 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_typedesc2val): add VT_RECORD case. + +Sat Feb 1 06:38:51 2014 Zachary Scott + + * lib/drb/drb.rb: [DOC] Add note about start_service for each process + Based on a patch by @rosenfeld [Fixes GH-514] [ci skip] + https://github.com/ruby/ruby/pull/514 + +Sat Feb 1 06:30:20 2014 Zachary Scott + + * error.c: [DOC] Document Exception#cause by @jasonrclark [ci skip] + [Fixes GH-519] https://github.com/ruby/ruby/pull/519 + +Sat Feb 1 06:10:49 2014 Zachary Scott + + * lib/securerandom.rb: [DOC] Add note on require for examples + Based on a patch by @schneems [Fixes GH-518] [ci skip] + https://github.com/ruby/ruby/pull/518 + +Sat Feb 1 06:04:56 2014 Zachary Scott + + * numeric.c: [DOC] Fix typo in example for #step [ci skip] + Patch by @ksss [Fixes GH-522] https://github.com/ruby/ruby/pull/522 + +Fri Jan 31 17:01:47 2014 Eric Wong + + * ext/socket/init.c (rsock_socket0): split out SOCK_CLOEXEC version + * ext/socket/socket.c (rsock_socketpair0): ditto + [ruby-core:60377] + +Fri Jan 31 03:48:40 2014 Eric Wong + + * benchmark/driver: avoid large alloc in driver process + [ruby-core:59869] [Bug #9430] + +Thu Jan 30 14:45:49 2014 Shugo Maeda + + * configure.in: use $@ instead of $(.TARGET) because .TARGET is not + supported by GNU make. + +Thu Jan 30 08:26:21 2014 Yusuke Endoh + + * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value. + [ruby-core:57599] [Bug #8978]. + +Wed Jan 29 20:08:15 2014 Nobuyoshi Nakada + + * io.c (nogvl_copy_stream_sendfile): check socket on other than + linux, as sendfile(2) on non-socket fd works only on linux. + [Feature #9427] + +Wed Jan 29 18:09:48 2014 Eric Wong + + * io.c (nogvl_copy_stream_sendfile): remove socket check + [ruby-core:59856][Feature #9427] + +Wed Jan 29 04:29:54 2014 Aaron Patterson + + * ext/openssl/ossl_ssl.c: pass read_nonblock options to underlying IO + when SSL session has not been started. + + * test/openssl/test_ssl.rb: test for change. + +Wed Jan 29 03:49:36 2014 Aaron Patterson + + * ext/fiddle/closure.c: use sizeof(*pcl) for correct sizeof value. + [ruby-core:57599] [Bug #8978]. Thanks mame! + +Wed Jan 29 03:36:42 2014 Eric Wong + + * doc/contributing.rdoc: allow/encourage other git hosts + [ruby-core:59807][misc #9421] + +Tue Jan 28 23:36:01 2014 Tanaka Akira + + * ext/socket: Avoid redundant fcntl/fstat syscalls for cloexec + sockets. + Patch by Eric Wong. [ruby-core:59429] [Feature #9330] + +Tue Jan 28 20:51:07 2014 Tanaka Akira + + * process.c (READ_FROM_CHILD): Apply the last hunk of + 0001-process.c-avoid-EINTR-from-Process.spawn.patch written by + Eric Wong in [Bug #8770]. + +Tue Jan 28 16:31:13 2014 Nobuyoshi Nakada + + * thread_pthread.c (ruby_init_stack, ruby_stack_overflowed_p): + place get_stack above others to get stack boundary information. + [ruby-core:60113] [Bug #9454] + +Tue Jan 28 15:27:36 2014 NARUSE, Yui + + * thread_pthread.c: rlimit is only available on Linux. + At least r44712 breaks FreeBSD. + [ruby-core:60113] [Bug #9454] + +Tue Jan 28 15:17:59 2014 Zachary Scott + + * lib/set.rb: [DOC] Add examples for Set#intersect? and Set#disjoint? + Patch by xavier nayrac [Bug #9331] [ci skip] + +Tue Jan 28 15:12:22 2014 Zachary Scott + + * ext/zlib/zlib.c (rb_zlib_adler32): [DOC] Add example for adler32 + Patch by Vajrasky Kok [Bug #9307] [ci skip] + +Tue Jan 28 08:56:00 2014 Charlie Somerville + + * compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block + as hash key when loading serialized instruction sequences from arrays. + [Bug #9455] [ruby-core:60146] + +Mon Jan 27 21:52:55 2014 Nobuyoshi Nakada + + * thread_pthread.c: get current main thread stack size, which may + be expanded than allocated size at initialization, by rlimit(). + [ruby-core:60113] [Bug #9454] + +Sat Jan 25 22:17:02 2014 Kazuhiro NISHIYAMA + + * README.ja.md, README.md: update the controller address of + mailing lists. + +Sat Jan 25 14:50:42 2014 Eric Wong + + * process.c (send_child_error): retry write on EINTR to fix + occasional Errno::EINTR from Process.spawn. + + * process.c (recv_child_error): retry read on EINTR to fix + occasional Errno::EINTR from Process.spawn. + +Sat Jan 25 14:21:06 2014 Nobuyoshi Nakada + + * compile.c (iseq_compile_each): result of assignment should be + its rhs instead of returned value from a method. + [ruby-core:60071] [Bug #9448] + +Sat Jan 25 11:16:19 2014 Nobuyoshi Nakada + + * class.c (rb_extract_keywords): treat nil keyword_hash same as 0, + for the case rb_scan_args returns nil if no keyword hash. + +Fri Jan 24 15:13:20 2014 Zachary Scott + + * lib/racc/rdoc/grammar.en.rdoc: [DOC] Correct grammar and typos + Patch by Giorgos Tsiftsis [Bug #9429] [ci skip] + +Thu Jan 23 20:20:17 2014 Koichi Sasada + + * test/ruby/envutil.rb: try to wait a bit (0.1sec) when ruby process + exits by signals because some SEGV tests fail because of not enough + error output. + +Thu Jan 23 20:06:27 2014 Koichi Sasada + + * test/ruby/test_settracefunc.rb: check the target thread. + +Thu Jan 23 19:59:16 2014 Koichi Sasada + + * test/ruby/test_settracefunc.rb: check the target thread. + +Thu Jan 23 14:26:44 2014 Zachary Scott + + * lib/fileutils.rb: [DOC] Fix typo in options_of() example [Bug #9392] + Patch by Giorgos Tsiftsis + +Thu Jan 23 13:56:16 2014 Zachary Scott + + * README -> README.md: [DOC] Format README with Markdown [Bug #9255] + * README.ja -> README.ja.md: ditto + +Wed Jan 22 15:59:39 2014 Nobuyoshi Nakada + + * ext/thread/thread.c (Init_thread): ConditionVariable and Queue + are not able to copy. [ruby-core:59961] [Bug #9440] + +Tue Jan 21 20:14:55 2014 Nobuyoshi Nakada + + * thread_pthread.c (rb_thread_create_timer_thread): fix for platforms + where PTHREAD_STACK_MIN is a dynamic value and not a compile-time + constant. [ruby-dev:47911] [Bug #9436] + +Tue Jan 21 17:55:09 2014 Zachary Scott + + * lib/uri/common.rb: [DOC] Use static w3.org uri [ci skip] + Patch by @ykzts [Fix GH-484] https://github.com/ruby/ruby/pull/484 + +Tue Jan 21 16:43:22 2014 Zachary Scott + + * enum.c: [DOC] Add simple example of Enumerable#zip [ci skip] + Patch by @nruth on documenting-ruby/ruby#22 + https://github.com/documenting-ruby/ruby/pull/22 + +Tue Jan 21 16:26:44 2014 Nobuyoshi Nakada + + * thread_pthread.c (rb_thread_create_timer_thread): expand timer + thread stack size to get rid of segfault on FreeBSD/powerpc64. + based on the patch by Steve Wills at [ruby-core:59923]. + [ruby-core:56590] [Bug #8783] + +Tue Jan 21 04:31:23 2014 Tanaka Akira + + * ext/socket/option.c: Use "int" for IP_MULTICAST_LOOP and + IP_MULTICAST_TTL on Mac OS X and Windows. + +Tue Jan 21 00:39:15 2014 Tanaka Akira + + * ext/socket/option.c: Use "byte" as default argument for + IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket option to follow + the original multicast implementation. + +Mon Jan 20 20:20:27 2014 Tanaka Akira + + * ext/socket/option.c: Use preprocessor macros to avoid repeated + conditionals. + +Mon Jan 20 13:55:03 2014 Zachary Scott + + * lib/rubygems/version.rb: [DOC] Use gender-neutral pronouns [ci skip] + * lib/rubygems/security.rb: ditto + +Sun Jan 19 06:38:48 2014 Benoit Daloze + + * compar.c (cmp_equal): warn for this release and still rescue + standard exceptions for a nicer transition. See #7688. + Partly reverts r44502. + + * test/ruby/test_comparable.rb: adapt assertion to match new behavior. + +Sun Jan 19 06:27:18 2014 Benoit Daloze + + * test/ruby/test_comparable.rb: specify behavior for the different + kind of exceptions rescued (or not) by Comparable#==. + +Sat Jan 18 23:12:19 2014 Tanaka Akira + + * ext/socket: Avoid unnecessary ppoll/select on Linux. + Patch by Eric Wong. [ruby-core:57950] [Bug #9039] + +Sat Jan 18 22:57:44 2014 Tanaka Akira + + * lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated + string. + Patch by Ryan Brunner. [ruby-core:58220] [Bug #9093] + +Sat Jan 18 22:35:15 2014 Tanaka Akira + + * io.c (rb_update_max_fd): Return immediately if the given fd is small + enough. + +Sat Jan 18 22:25:53 2014 Tanaka Akira + + * io.c: Test O_CLOEXEC only once. + Patch by Eric Wong. [ruby-core:59419] [Feature #9328] + +Sat Jan 18 21:24:49 2014 Tanaka Akira + + * ext/socket/option.c: IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket + option takes a byte on OpenBSD. + Fixed by Jeremy Evans. [ruby-core:59496] [Bug #9350] + +Sat Jan 18 21:19:04 2014 Tanaka Akira + + * lib/open-uri.rb: Make proxy disabling working again. + Fixed by Christophe Philemotte. [ruby-core:59650] [Bug #9385] + +Fri Jan 17 20:05:02 2014 Nobuyoshi Nakada + + * lib/delegate.rb (Delegator): keep source information methods + which start and end with '__'. [ruby-core:59718] [Bug #9403] + +Fri Jan 17 17:58:04 2014 Nobuyoshi Nakada + + * eval.c (rb_mod_s_constants): return its own constants for other + than Module itself. [ruby-core:59763] [Bug #9413] + +Tue Jan 16 00:17:00 2014 Kenta Murata + + * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.5. + +Wed Jan 15 20:30:31 2014 Masaki Matsushita + + * io.c (io_binwrite): use writev(2) to avoid double write if available. + + * configure.in: check writev(2) + +Wed Jan 15 14:04:33 2014 Nobuyoshi Nakada + + * string.c (get_encoding): respect BOM on pseudo encodings. + [ruby-dev:47895] [Bug #9415] + +Wed Jan 15 14:03:47 2014 Nobuyoshi Nakada + + * string.c (get_actual_encoding): get actual encoding according to + the BOM if exists. + + * string.c (rb_str_inspect): use according encoding, instead of + pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940] + +Tue Jan 14 21:07:22 2014 Masaki Matsushita + + * ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS + on SizedQueue#clear. [ruby-core:59462] [Bug #9342] + + * test/thread/test_queue.rb: add test. the patch is from + Justin Collins. + +Tue Jan 14 15:58:43 2014 Nobuyoshi Nakada + + * ext/bigdecimal/bigdecimal.c (CLASS_NAME): macro to wrap + depending on PRIsVALUE for 1.9. [Backport #9406] + + * ext/bigdecimal/bigdecimal.c (DECIMAL_SIZE_OF_BITS): fallback + definition for 2.1 or older. [ruby-core:59750] [Backport #9406] + +Tue Jan 14 11:28:44 2014 Yuki Yugui Sonoda + + * vm_exec.c (cfp): Fixes a SEGV issue in r44554. + r11 can be broken by subroutine and sometimes causes SEGV at + runtime. Use r13 instead. + +Tue Jan 14 02:20:00 2014 Kenta Murata + + * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional + digit for the quotient to be compatible with bigdecimal 1.2.1 and + the former. [ruby-core:59365] [#9316] [#9305] + + * test/bigdecimal/test_bigdecimal.rb: tests for the above change. + + * ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4. + +Mon Jan 13 14:55:31 2014 Zachary Scott + + * lib/xmlrpc/client.rb: [DOC] Remove note about SSL package on RAA + Since RAA has been deprecated, and the SSL package has been replaced + with net/https this statement is entirely false and should be + deleted. [Bug #9152] + +Mon Jan 13 14:47:07 2014 Zachary Scott + + * lib/net/smtp.rb: [DOC] Remove dead link to RAA by Giorgos Tsiftsis + Fixes the following bugs: [Bug #9152] [Bug #9268] [Bug #9394] + * lib/open-uri.rb: ditto + +Mon Jan 13 14:25:55 2014 Zachary Scott + + * ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243] + +Mon Jan 13 12:03:00 2014 Charlie Somerville + + * ext/thread/thread.c (rb_szqueue_push): check GET_SZQUEUE_WAITERS + instead of GET_QUEUE_WAITERS to prevent deadlock. Patch by Eric Wong. + [Bug #9302] [ruby-core:59324] + + * test/thread/test_queue.rb: add test + +Sun Jan 12 16:41:10 2014 Nobuyoshi Nakada + + * iseq.c (iseq_load): keep type_map to get rid of memory leak. + based on a patch by Eric Wong at [ruby-core:59699]. [Bug #9399] + +Sun Jan 12 09:21:35 2014 Nobuyoshi Nakada + + * include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor + constant macro to approximate decimal representation size of n-bits + integer. + + * iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better + approximation. + + * ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto. + + * common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add + dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS. + +Fri Jan 10 16:27:20 2014 Yuki Yugui Sonoda + + * vm_exec.c (cfp): Avoid generating invalid binary for + NativeClient. + r15 on x86_64 is reserved by NativeClient. So r15 to cfp used to + generate invalid binary under some combinations of compiler + optimization flags. + +Fri Jan 10 18:01:41 2014 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_search_super_method): allow bound method from a + module, yet another method transplanting. + +Fri Jan 10 13:34:04 2014 Aman Gupta + + * insns.def (opt_aref_with): new instruction to optimize Hash#[], + removing any allocation overhead when used with a string literal + key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382] + * insns.def (opt_aset_with): new instruction to optimize Hash#[]= + * compile.c (iseq_compile_each): compiler shortcuts for new + instructions + * hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for + Hash#compare_by_identity to reflect frozen string sharing + * test/ruby/test_hash.rb (class TestHash): test for new behavior + +Fri Jan 10 06:23:21 2014 Benoit Daloze + + * range.c (Range#size): [DOC] improve description and add examples. + Patch by @skade. [Fixes GH-501] + +Fri Jan 10 00:47:52 2014 Josef Stribny + + * ext/tk/extconf.rb: fix to pass arrays instead of strings to + libpathflag. patch at [ruby-core:59665]. [Bug #9386] + +Thu Jan 9 20:49:22 2014 Nobuyoshi Nakada + + * configure.in: -mstackrealign is necessary for -msse2 working. + [ruby-core:54716] [Bug #8349] + + * configure.in: use SSE2 instructions to drop unexpected precisions on + other than mingw. [ruby-core:59472] [Bug #8358] + +Thu Jan 9 20:31:10 2014 NAKAMURA Usaku + + * hash.c (rb_objid_hash): should return `long'. brushup r44534. + + * object.c (rb_obj_hash): follow above change. + +Thu Jan 9 19:12:37 2014 Koichi Sasada + + * vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event. + The patch base by drkaes (Stefan Kaes). + [Bug #9321] + + * variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame() + instead of rb_frame_pop(). + + * vm_eval.c (raise_method_missing): ditto. + + * vm_eval.c (rb_iterate): ditto. + + * internal.h (rb_vm_pop_cfunc_frame): add decl. + + * test/ruby/test_settracefunc.rb: add tests. + provided by drkaes (Stefan Kaes). + + * vm.c, eval.c, include/ruby/intern.h (rb_frame_pop): + move definition of rb_frame_pop() and deprecate it. + It doesn't care about `return' events. + +Thu Jan 9 17:40:28 2014 NAKAMURA Usaku + + * hash.c (rb_any_hash): should treat the return value of rb_objid_hash() + as `long', because ruby assumes the hash value of the object id of + an object is `long'. + this fixes test failures on mswin64 introduced at r44525. + +Thu Jan 9 09:55:20 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with + quotes should not have changed. [ruby-core:59316] [Bug #9300] + + * ext/psych/lib/psych.rb: fixed missing require. + + * test/psych/test_string.rb: test + +Thu Jan 9 09:51:00 2014 Aaron Patterson + + * ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs + should be able to roundtrip. Thanks @splattael! + + * test/psych/test_object_references.rb: test for change + +Wed Jan 8 22:53:16 2014 Nobuyoshi Nakada + + * vm_insnhelper.c (vm_search_super_method): when super called in a + bound UnboundMethod generated from a module, no superclass is + found since the current defined class is the module, then call + method_missing in that case. [ruby-core:59619] [Bug #9377] + +Wed Jan 8 15:55:21 2014 Nobuyoshi Nakada + + * hash.c (rb_objid_hash): return hash value from object ID with a + salt, extract from rb_any_hash(). + + * object.c (rb_obj_hash): return same value as rb_any_hash(). + fix r44125. [ruby-core:59638] [Bug #9381] + +Wed Jan 8 13:12:41 2014 Nobuyoshi Nakada + + * lib/timeout.rb (Timeout::ExitException.catch): pass arguments + for new instance. + + * lib/timeout.rb (Timeout::ExitException#exception): fallback to + Timeout::Error if couldn't throw. [ruby-dev:47872] [Bug #9380] + + * lib/timeout.rb (Timeout#timeout): initialize ExitException with + message for the fallback case. + +Tue Jan 7 12:43:06 2014 Nobuyoshi Nakada + + * lib/timeout.rb (Timeout#timeout): should not rescue ordinarily + raised ExitException, which should not be thrown. + + * lib/timeout.rb (Timeout::ExitException.catch): set @thread only if + it ought to be caught. + + * lib/timeout.rb (Timeout#timeout): when a custom exception is given, + no instance is needed to be caught, so defer creating new instance + until it is raised. [ruby-core:59511] [Bug #9354] + +Tue Jan 7 10:16:02 2014 Eric Hodel + + * lib/rubygems: Update to RubyGems master 21e409d / RubyGems 2.2.1. + + See http://rubygems.rubyforge.org/rubygems-update/History_txt.html + for a list of bug fixes. + + * test/rubygems: ditto. + +Tue Jan 7 10:10:46 2014 Eric Wong + + * ext/json/generator/depend: add build dependencies for json extension + [Bug #9374] [ruby-core:59609] + * ext/json/parser/depend: ditto + +Tue Jan 7 04:35:46 2014 Aman Gupta + + * array.c (ary_add_hash): Fix consistency issue between Array#uniq and + Array#uniq! [Bug #9340] [ruby-core:59457] + * test/ruby/test_array.rb (class TestArray): regression test for above. + +Mon Jan 6 21:28:48 2014 Kazuhiro NISHIYAMA + + * .gitignore: ignore *-fake.rb generated even when CROSS_COMPILING = no + since r42862. + +Sun Jan 5 20:14:14 2014 Benoit Daloze + + * compar.c (cmp_equal): remove error hiding in Comparable#==. + Comparable#== no longer rescues exceptions silently. + This was the cause of quite a couple bugs. See #7688. [EXPERIMENTAL] + + * test/ruby/test_comparable.rb: adapt assertion to match new behavior. + + * lib/rdoc/method_attr.rb: fix bugs discovered by this change. + + * test/rdoc/test_rdoc_normal_class.rb: fix bugs in tests. + +Sat Jan 4 22:44:00 2014 Charlie Somerville + + * struct.c (rb_struct_set): return assigned value from setter method + rather than struct object. [Bug #9353] [ruby-core:59509] + + * test/ruby/test_struct.rb (test_setter_method_returns_value): add test + +Sat Jan 4 21:44:31 2014 Kazuhiro NISHIYAMA + + * test/ruby/test_gc.rb (TestGc#test_latest_gc_info): use + GC.stat(:key) instead of GC.stat. + +Sat Jan 4 19:15:29 2014 Nobuyoshi Nakada + + * ext/socket/socket.c (rsock_syserr_fail_host_port): use format flags, + '+' to inspect, ' ' to quote unprintables. + + * ext/socket/socket.c (rsock_syserr_fail_path): ditto. + + * ext/socket/socket.c (rsock_syserr_fail_raddrinfo): ditto. + + * ext/socket/socket.c (rsock_syserr_fail_host_port): add errno + argument version and use rb_syserr_fail_str() instead of + rb_sys_fail_str() with restoring errno. + + * ext/socket/socket.c (rsock_syserr_fail_path): ditto, and + rb_syserr_fail(). + + * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto, use + rsock_syserr_fail_raddrinfo(). + + * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto. + + * ext/socket/socket.c (setup_domain_and_type): ditto. + +Sat Jan 4 17:18:58 2014 Kazuki Tsujimoto + + * vm.c (RubyVM::OPTS): get rid of a garbage character. + +Sat Jan 4 10:17:54 2014 Eric Hodel + + * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use + ipv4_multicast_ttl option for portability. + +Sat Jan 4 10:15:47 2014 Eric Hodel + + * lib/rinda/ring.rb (Rinda::RingFinger#make_socket): Use + ipv4_multicast_loop option for portability. Patch by Jeremy Evans. + [ruby-trunk - Bug #9351] + +Fri Jan 3 19:09:00 2014 Eric Wong + + * ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errno + before calling rb_sys_fail_str to prevent [BUG] errno == 0. + Patch by Eric Wong. [ruby-core:59498] [Bug #9352] + + * ext/socket/socket.c (rsock_sys_fail_path): ditto + * ext/socket/socket.c (rsock_sys_fail_sockaddr): ditto + * ext/socket/socket.c (rsock_sys_fail_raddrinfo): ditto + * ext/socket/socket.c (rsock_sys_fail_raddrinfo_or_sockaddr): ditto + +Fri Jan 3 10:43:57 2014 Aman Gupta + + * test/net/imap/cacert.pem: generate new CA cert, since the last one + expired. [Bug #9341] [ruby-core:59459] + * test/net/imap/server.crt: new server cert signed with updated CA. + * test/net/imap/Makefile: add `make regen_certs` to automate this + process. + +Fri Jan 3 00:09:54 2014 Benoit Daloze + + * ext/bigdecimal: update class method call style from :: to . + in documentation and usage. + + * ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values. + Computations were made using ruby 2.0.0p247 to ensure + no effect of the recent BigDecimal bug. + + * ext/bigdecimal/sample/nlsolve.rb: fix indent. + +Thu Jan 2 16:07:21 2014 Masaki Matsushita + + * io.c (io_fwrite): freeze converted str. + +Thu Jan 2 04:15:13 2014 Nobuyoshi Nakada + + * eval.c (rb_longjmp): remove an extra modifier from the forward + declaration to match the actual definition. [ruby-core:59451] + [Bug #9338] + +Thu Jan 2 01:23:30 2014 Masaki Matsushita + + * vm_eval.c (method_missing): use ALLOCV_N() instead of + ALLOCA_N() and rb_ary_tmp_new(). + +Thu Jan 2 00:53:16 2014 Masaki Matsushita + + * array.c (rb_ary_zip): use ALLOCV_N() instead of ALLOCA_N(). + +Thu Jan 2 00:04:29 2014 Masaki Matsushita + + * hash.c (rb_hash_keys): make rb_hash_keys() static. + it is no longer used from array.c since r43969. + the patch is from normalperson (Eric Wong). + [ruby-core:59449] [Feature #9336] + + * internal.h: remove definition of rb_hash_keys(). + +Wed Jan 1 18:19:35 2014 Nobuyoshi Nakada + + * configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after + LIBPATHFLAG and RPATHFLAG are set. [ruby-dev:47868] [Bug #9317] + +Wed Jan 1 11:12:29 2014 Nobuyoshi Nakada + + * configure.in: use SSE2 instructions for drop unexpected + precisions. [ruby-core:54738] [Bug #8358] + +Tue Dec 31 23:49:07 2013 Nobuyoshi Nakada + + * eval.c (rb_f_raise): add cause: optional keyword argument. + [ruby-core:58610] [Feature #8257] [EXPERIMENTAL] + +Tue Dec 31 21:44:17 2013 Akio Tajima + + * win32/Makefile.sub: remove HAVE_FSEEKO because fseeko removed from win32/win32.c + Fixed [Bug #9333]. + +Tue Dec 31 21:02:27 2013 Masaki Matsushita + + * io.c (io_fwrite): allocate frozen str only when str is not converted. + +Tue Dec 31 15:44:48 2013 Nobuyoshi Nakada + + * lib/mkmf.rb (RbConfig): expand RUBY_SO_NAME for extensions + backward compatibility. [ruby-core:59426] [Bug #9329] + +Mon Dec 30 23:33:07 2013 Ayumu AIZAWA + + * variable.c: [DOC] adding extra example in docs. + patched by Steve Klabnik. [Bug #9210] + +Mon Dec 30 18:34:18 2013 Nobuyoshi Nakada + + * encoding.c (must_encindex, rb_enc_from_index, rb_obj_encoding): mask + encoding index and ignore dummy flags. [ruby-core:59354] [Bug #9314] + +Mon Dec 30 16:11:52 2013 WATANABE Hirofumi + + * tool/make-snapshot: needs CXXFLAGS. [ruby-core:59393][Bug #9320] + +Sun Dec 29 18:36:54 2013 Shota Fukumori + + * lib/mkmf.rb (configuration): Make CXXFLAGS customizable. + Patch by Kohei Suzuki (eagletmt). [Fixes GH-492] + +Sun Dec 29 12:11:11 2013 Nobuyoshi Nakada + + * proc.c (mnew_from_me): keep iclass as-is, to make inheritance + chain consistent. [ruby-core:59358] [Bug #9315] + + * proc.c (method_owner): return the original defined_class from + prepended iclass, instead. + +Sun Dec 29 08:47:24 2013 Lucas Allan Amorim + + * test/ruby/test_sprintf.rb (test_hash): Added tests for sprintf + with a hash as parameter. [Fixes GH-491] + +Sun Dec 29 07:27:51 2013 Benoit Daloze + + * compar.c (cmp_eq_recursive): Fix the return value, the value for + failed #<=> should be nil. It was raising a NoMethodError for + the test case TestComparable#test_no_cmp (undefined method `>' + for false:FalseClass). Yet one more reason for #7688. + +Sat Dec 28 22:21:59 2013 Benoit Daloze + + * object.c (Kernel#<=>) surround Comparable operators with tags. + The #== method was hidden in ri/rdoc's output and was highlighting + the line instead. + +Sat Dec 28 17:24:00 2013 DV Suresh + + * benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typos + * ext/fiddle/lib/fiddle/import.rb: ditto + * ext/psych/lib/psych.rb: ditto + * ext/psych/lib/psych/nodes/sequence.rb: ditto + * ext/tk/lib/multi-tk.rb: ditto + * ext/tk/lib/tcltk.rb: ditto + +Sat Dec 28 00:42:37 2013 Nobuyoshi Nakada + + * parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to + isolate command argument state from outer scope. + [ruby-core:59342] [Bug #9308] + +Fri Dec 27 13:25:03 2013 NAKAMURA Usaku + + * win32/{setup.mak,Makefile.sub}: update fake.rb like + template/fake.rb.in. + +Thu Dec 26 16:10:41 2013 NAKAMURA Usaku + + * win32/Makefile.sub (fake.rb): should depend on version.h because + if RUBY_VERSION is updated, fake.rb need to say the new version + to avoid install error in rbconfig.rb. + +Thu Dec 26 14:25:03 2013 Nobuyoshi Nakada + + * hash.c (HASH_REJECT_COPY_EXTRA_STATES): turn off the old + behavior, copying extra states by accident. + +Thu Dec 26 10:49:14 2013 Yukihiro Matsumoto + + * version.h (RUBY_VERSION): 2.2.0 development has started. + +Thu Dec 26 10:27:53 2013 NAKAMURA Usaku + + * tool/merger.rb (tag): support 2.1.1 semi-automatic tagging and 2.2.0 + explicit tagging. + +Thu Dec 26 06:35:25 2013 Marc-Andre Lafortune + + * proc.c: Having any mandatory keyword argument increases min arity + [#9299] + +Thu Dec 26 06:27:08 2013 Marc-Andre Lafortune + + * proc.c: Having optional keyword arguments makes maximum arity +1, + not unlimited [#8072] + +Thu Dec 26 01:09:57 2013 NAKAMURA Usaku + + * tool/release.sh: make symbolic links. + +Thu Dec 26 00:45:33 2013 NAKAMURA Usaku + + * tool/make-snapshot: support new version scheme. + +Wed Dec 25 22:44:14 2013 Nobuyoshi Nakada + + * compile.c (iseq_set_arguments): set arg_keyword_check from + nd_cflag, which is set by parser. internal ID is used for + unnamed keyword rest argument, which should be separated from no + keyword check. + + * iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is + present. + + * parse.y (new_args_tail_gen): set keywords check to nd_cflag, which + equals to that keyword rest is not present. + +Wed Dec 25 22:32:19 2013 Zachary Scott + + * lib/abbrev.rb: [DOC] rdoc format patch by Giorgos Tsiftsis [Bug #9146] + +Wed Dec 25 20:30:10 2013 Nobuyoshi Nakada + + * iseq.c (rb_iseq_parameters): push argument type symbol only for + unnamed rest keywords argument. + +Wed Dec 25 20:28:48 2013 Nobuyoshi Nakada + + * proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if + having rest keywords argument. [ruby-core:53298] [Bug #8072] + +Wed Dec 25 18:29:22 2013 Koichi Sasada + + * vm_insnhelper.c (argument_error): insert dummy frame to make + a backtrace object intead of modify backtrace string array. + [Bug #9295] + + * test/ruby/test_backtrace.rb: add a test for this patch. + fix test to compare a result of Exception#backtrace with + a result of Exception#backtrace_locations. + +Wed Dec 25 13:00:54 2013 Nobuyoshi Nakada + + * configure.in: let mingw do something black-magic, and check if + _gmtime64_s() is available actually. + + * win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and + _localtime64_s() if available, not depending on very confusing + mingw variants macros. based on the patch by phasis68 (Heesob + Park) at [ruby-core:58764]. [ruby-core:58391] [Bug #9119] + +Wed Dec 25 12:33:41 2013 Yusuke Endoh + + * sample/trick2013/: added the award-winning entries of TRICK 2013. + See https://github.com/tric/trick2013 for the contest outline. + (Matz has approved the attachment.) + +Wed Dec 25 10:42:02 2013 Yamashita Yuu + + * ext/openssl/ossl_ssl.c (Init_ossl_ssl): Declare a constant + `OP_MSIE_SSLV2_RSA_PADDING` only if the macro is defined. The + `SSL_OP_MSIE_SSLV2_RSA_PADDING` has been removed from latest + snapshot of OpenSSL 1.0.1. [Fixes GH-488] + +Wed Dec 25 01:03:00 2013 Nobuyoshi Nakada + + * proc.c (bind_local_variables): allowing binding to list its + local variables. patch by Jack Danger Canty at [ruby-core:56543]. [Feature #8773] + +Tue Dec 24 23:20:38 2013 Nobuyoshi Nakada + + * test/fileutils/fileasserts.rb (assert_ownership_user): new + assertion for user ownership. + + * test/fileutils/test_fileutils.rb (test_chown_error), + (test_chown_without_permission, test_chown_with_root): + based on the patch by vajrasky (Vajrasky Kok) at + [ruby-core:59298]. [Feature #9292] + +Tue Dec 24 16:28:05 2013 Nobuyoshi Nakada + + * proc.c (rb_mod_define_method): consider visibility only if self + in the caller is same as the receiver, otherwise make public as + well as old behavior. [ruby-core:57747] [Bug #9005] + [ruby-core:58497] [Bug #9141] + + * vm.c (rb_vm_cref_in_context): return ruby level cref if self is + same. + +Tue Dec 24 14:13:14 2013 Koichi Sasada + + * README.EXT: add a refer to URL. + +Tue Dec 24 13:48:45 2013 Koichi Sasada + + * README.EXT: add a document about RGenGC. + Reviewed by havenwood. + [misc #8962] + + * README.EXT.ja: ditto. + +Tue Dec 24 12:11:43 2013 Koichi Sasada + + * include/ruby/ruby.h (RARRAY_ASET): try to avoid compiler warning. + [Bug #9287] + +Tue Dec 24 05:04:56 2013 NAKAMURA Usaku + + * test/fileutils/test_fileutils.rb (setup): should not call + Process.groups for Windows. get rid of many errors introduced by + r44364. + +Mon Dec 23 18:37:16 2013 Nobuyoshi Nakada + + * test/fileutils/fileasserts.rb (assert_ownership_group): new + assertion for group ownership. + + * test/fileutils/test_fileutils.rb (test_chown{,_verbose,_noop}): + based on the patch by vajrasky (Vajrasky Kok) at + [ruby-core:59281]. [Feature #9286] + +Mon Dec 23 15:53:45 2013 Nobuyoshi Nakada + + * hash.c (HAS_EXTRA_STATES): warn extra states only when something + differ. [ruby-core:59254] [Bug #9275] + +Mon Dec 23 12:42:13 2013 Marc-Andre Lafortune + + * array.c: Have to_h raise on elements that are not key-value pairs + [#9239] + + * enum.c: ditto + +Mon Dec 23 05:01:55 2013 Zachary Scott + + * doc/syntax/methods.rdoc: [DOC] Added example for underscore + conventions in method names. Also added doc to clarify encoding + character set support for Ruby programs and elaborated on defining + predicate and bang methods. Based on a patch by @gaurish + [Fixes GH-477] https://github.com/ruby/ruby/pull/477 + +Mon Dec 23 03:18:09 2013 Zachary Scott + + * doc/ChangeLog-1.9.3: [DOC] Fix typos by @dvsuresh + [Fixes GH-485] https://github.com/ruby/ruby/pull/485 + * ext/openssl/ossl_config.c: ditto + * lib/rss/utils.rb, lib/time.rb: ditto + * test/ruby/envutil.rb: ditto + +Sun Dec 22 23:56:56 2013 Zachary Scott + + * lib/{rake,rdoc,rss}/*, test/rexml/test_listener.rb: [DOC] Fix typos + by @dvsuresh [Fixes GH-486] https://github.com/ruby/ruby/pull/486 + +Sun Dec 22 11:08:47 2013 Eric Hodel + + * test/rubygems/test_gem_ext_builder.rb: Fix warning due to ambiguous + expression. + +Sun Dec 22 11:05:53 2013 Eric Hodel + + * lib/rubygems/commands/install_command.rb: Restore gem install + --ignore-dependencies for remote gems + * test/rubygems/test_gem_commands_install_command.rb: Test for the + above. + +Sun Dec 22 10:23:40 2013 Eric Hodel + + * lib/rdoc.rb: Set RDoc to release version. + +Sun Dec 22 10:19:07 2013 Eric Hodel + + * lib/rubygems.rb: Set RubyGems to release version. + +Sun Dec 22 10:16:08 2013 Eric Hodel + + * lib/rubygems.rb (module Gem): Fix comment for + Gem::load_path_insert_index. + +Sun Dec 22 04:07:55 2013 Koichi Sasada + + * gc.c (ruby_gc_set_params): don't show obsolete warnings for + RUBY_FREE_MIN/RUBY_HEAP_MIN_SLOTS if + RUBY_GC_HEAP_FREE_SLOTS/RUBY_GC_HEAP_INIT_SLOTS are given. + [Bug #9276] + +Sat Dec 21 13:00:20 2013 Nobuyoshi Nakada + + * file.c: remove unnecessary the source path from EEXIST error + messages and show the destination path only. [ruby-core:59202] + [Feature #9263] + +Sat Dec 21 12:37:19 2013 Nobuyoshi Nakada + + * lib/resolv.rb (Resolv::Hosts#lazy_initialize): should not + consider encodings in hosts file. [ruby-core:59239] [Bug #9273] + + * lib/resolv.rb (Resolv::Config.parse_resolv_conf): ditto. + +Sat Dec 21 05:43:27 2013 NAKAMURA Usaku + + * tool/make-snapshot: replace RUBY_PATCHLEVEL_STR in version.h to + show users that this ruby is a preview/rc version. + +Sat Dec 21 05:03:49 2013 NAKAMURA Usaku + + * win32/Makefile.sub (fake.rb): fixed wrong RUBY_PLATFORM, to correctly + install win32.h. + [ruby-core:58801][Bug #9199] reported by arton. + +For the changes before 2.1.0, see doc/ChangeLog-2.1.0 +For the changes before 2.0.0, see doc/ChangeLog-2.0.0 +For the changes before 1.9.3, see doc/ChangeLog-1.9.3 +For the changes before 1.8.0, see doc/ChangeLog-1.8.0 + +Local variables: +coding: us-ascii +add-log-time-format: (lambda () + (let* ((time (current-time)) + (system-time-locale "C") + (diff (+ (cadr time) 32400)) + (lo (% diff 65536)) + (hi (+ (car time) (/ diff 65536)))) + (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t))) +indent-tabs-mode: t +tab-width: 8 +change-log-indent-text: 2 +end: +vim: tabstop=8 shiftwidth=2 diff --git a/doc/NEWS-2.2.0 b/doc/NEWS-2.2.0 new file mode 100644 index 0000000000..b4ef080249 --- /dev/null +++ b/doc/NEWS-2.2.0 @@ -0,0 +1,356 @@ +# -*- rdoc -*- + += NEWS for Ruby 2.2.0 + +This document is a list of user visible feature changes made between +releases except for bug fixes. + +Note that each entry is kept so brief that no reason behind or +reference information is supplied with. For a full list of changes +with all sufficient information, see the ChangeLog file. + +== Changes since the 2.1.0 release + +=== Language changes + +* nil/true/false + * nil/true/false objects are frozen. [Feature #8923] + +* Hash literal + * Symbol key followed by a colon can be quoted. [Feature #4276] + +* default argument + fixed a very longstanding bug that an optional argument was not + accessible in its default value expression. [Bug #9593] + +=== Core classes updates (outstanding ones only) + +* Binding + * New methods: + * Binding#local_variables + * Binding#receiver + +* Dir + * New methods: + * Dir#fileno + +* Enumerable + * New methods: + * Enumerable#slice_after + * Enumerable#slice_when + * Extended methods: + * min, min_by, max and max_by supports optional argument to return + multiple elements. + +* Float + * New methods: + * Float#next_float + * Float#prev_float + +* File + * New methods: + * File.birthtime + * File#birthtime + +* File::Stat + * New methods: + * File::Stat#birthtime + +* GC + * GC.latest_gc_info returns :state to represent current GC status. + * Improvements + * Introduce incremental marking for major GC. [Feature #10137] + +* IO + * Improvements + * IO#nonblock_read and IO#nonblock_write for pipes on Windows are supported. + +* Kernel + * New methods: + * Kernel#itself + * Improvements + * Kernel#throw raises UncaughtThrowError, subclass of ArgumentError when + there is no corresponding catch block, instead of ArgumentError. + +* Process + * Extended method: + * Process execution methods such as Process.spawn opens the file in write + mode for redirect from [:out, :err]. + +* String + * New methods: + * String#unicode_normalize + * String#unicode_normalize! + * String#unicode_normalized? + +* Symbol + * Improvements + * Most symbols which are returned by String#to_sym and + String#intern are GC-able. + +* Method + * New methods: + * Method#curry([arity]) returns a curried Proc. + * Method#super_method returns a Method of superclass, which would be called + when super is used. + +=== Core classes compatibility issues (excluding feature bug fixes) + +* Enumerable + * Enumerable#slice_before's state management deprecated. + * Enumerable#chunk's state management deprecated. + +* GC + * incompatible changes: + * Rename GC.stat entries. [Feature #9924] + See https://docs.google.com/spreadsheets/d/11Ua4uBr6o0k-nORrZLEIIUkHJ9JRzRR0NyZfrhEEnc8/edit?usp=sharing + +* IO + * incompatible changes: + * When flushing file IO with IO#flush, you cannot assume that the metadata + of the file is updated immediately. On some platforms (especially + Windows), it is delayed until the filesystem load is decreased. + Use IO#fsync if you want to guarantee updating metadata. + +* Math + * incompatible changes: + * Math.log now raises Math::DomainError instead of returning NaN if the + base is less than 0, and returns NaN instead of -infinity if both of + two arguments are 0. + * Math.atan2 now returns values like as expected by C99 if both two + arguments are infinity. + +* Proc + * incompatible changes: + * ArgumentError is no longer raised when lambda Proc is passed as a + block, and the number of yielded arguments does not match the formal + arguments of the lambda, if just an array is yielded and its length + matches. + +* Process + * Process execution methods such as Process.spawn opens the file in write + mode for redirect from [:out, :err]. + Before Ruby 2.2, it was opened in read mode. + +=== Stdlib updates (outstanding ones only) + +* Continuation + * callcc is obsolete. use Fiber instead. + +* Digest + + * Digest() should now be thread-safe. If you have a problem with + regard to on-demand loading under a multi-threaded environment, + preload "digest/*" modules on boot or use this method instead of + directly referencing Digest::*. + * Digest::HMAC has been removed just as previously noticed. + +* DL + * DL has been removed from stdlib. Please use Fiddle instead! + +* Etc + * New methods: + * Etc.uname + * Etc.sysconf + * Etc.confstr + * IO#pathconf + * Etc.nprocessors + +* Find, Pathname + * Extended methods: + * find method accepts "ignore_error" keyword argument. + +* Matrix + * New methods: + * Matrix#first_minor(row, column) returns the submatrix obtained + by deleting the specified row and column. + * Matrix#cofactor(row, column) returns the (row, column) cofactor + which is obtained by multiplying the first minor by (-1)**(row + column). + * Matrix#adjugate returns the adjugate of the matrix. + * hstack and vstack are new instance and class methods to stack matrices + horizontally and vertically. + * Matrix#laplace_expansion(row_or_column: num) returns the laplace_expansion + along the +num+ -th row or column. + * Vector.basis(size:, index:) returns the specified basis vector. + * Unary - and + added for Vector and Matrix. + * Vector#cross_product generalized to arbitrary dimensions. + * Vector#dot and #cross are aliases for #inner_product and #cross_product. + * Vector#angle_with returns the angle with its argument + * New instance and class method independent? to test linear independence. + +* Pathname + * Pathname#/ is aliased to Pathname#+. + * New methods: + * Pathname#birthtime + +* Rake + * Updated to Rake 10.4.0. For full release notes see: + + http://docs.seattlerb.org/rake/History_rdoc.html#label-10.4.0 + +* RubyGems + * Updated to RubyGems 2.4.2. For full release notes see: + + http://docs.seattlerb.org/rubygems/History_txt.html#label-2.4.2+%2F+2014-10-01 + +* TSort + * TSort.tsort_each, TSort.each_strongly_connected_component and + TSort.each_strongly_connected_component_from returns an enumerator if + no block given. + +* XMLRPC + * Added new parser class named LibXMLStreamParser. + +=== Stdlib compatibility issues (excluding feature bug fixes) + +* lib/mathn.rb + * Show deprecated warning [Feature #10169] + +* ext/date/lib/date/format.rb + * Removed because it's empty file. + +* Digest + * Digest::HMAC has finally ceased to exist. Use OpenSSL::HMAC or an external gem instead. + +* time.rb + * Time.parse, Time.strptime, Time.rfc2822, Time.xmlschema may produce + fixed-offset Time objects. + It is happen when usual localtime doesn't preserve the offset from UTC. + * Time.httpdate produces always UTC Time object. + * Time.strptime raises ArgumentError when no date information. + +* lib/rational.rb + * Removed because it is deprecated from 2009. + +* lib/complex.rb + * Removed because it is deprecated from 2009. + +* lib/prettyprint.rb + * Removed PrettyPrint#first? + +* lib/minitest/*.rb + * Removed because it conflicts to minitest 5. [Feature #9711] + +* lib/test/**/*.rb + * Removed because it conflicts to minitest 5, and it was just an wrapper + of minitest 4. [Feature #9711] + +* lib/uri + * support RFC 3986. [Feature #2542] + +* GServer + * GServer is extracted to gserver gem. It's unmaintain code. + +* Logger + * Logger::Application is extracted to logger-application gem. It's unmaintain code. + +* ObjectSpace (after requiring "objspace") + * ObjectSpace.memsize_of(obj) returns a size includes sizeof(RVALUE). + [Bug #8984] + +* Prime + * incompatible changes: + * Prime.prime? now returns false for negative numbers. This method + should not be used to know the number is composite or not. [Bug #7395] + +* Psych + * Removed Psych::EngineManager [Bug #8344] + +=== Built-in global variables compatibility issues + +=== C API updates + +* Deprecated APIs removed. [Feature #9502] + + Check_SafeStr -> SafeStringValue + rb_check_safe_str -> SafeStringValue + rb_quad_pack -> rb_integer_pack + rb_quad_unpack -> rb_integer_unpack + rb_read_check : access struct FILE internal. no replacement. + rb_struct_iv_get : internal function. no replacement. + struct rb_blocking_region_buffer : internal type. no replacement. + rb_thread_blocking_region_begin -> rb_thread_call_without_gvl family + rb_thread_blocking_region_end -> rb_thread_call_without_gvl family + TRAP_BEG -> rb_thread_call_without_gvl family + TRAP_END -> rb_thread_call_without_gvl family + rb_thread_select -> rb_thread_fd_select + struct rb_exec_arg : internal type. no replacement. + rb_exec : internal function. no replacement. + rb_exec_arg_addopt : internal function. no replacement. + rb_exec_arg_fixup : internal function. no replacement. + rb_exec_arg_init : internal function. no replacement. + rb_exec_err : internal function. no replacement. + rb_fork : internal function. no replacement. + rb_fork_err : internal function. no replacement. + rb_proc_exec_n : internal function. no replacement. + rb_run_exec_options : internal function. no replacement. + rb_run_exec_options_err : internal function. no replacement. + rb_thread_blocking_region -> rb_thread_call_without_gvl family + rb_thread_polling -> rb_thread_wait_for + rb_big2str0 : internal function. no replacement. + rb_big2ulong_pack -> rb_integer_pack + rb_gc_set_params : internal function. no replacement. + rb_io_mode_flags -> rb_io_modestr_fmode + rb_io_modenum_flags -> rb_io_oflags_fmode + +* struct RBignum is hidden. [Feature #6083] + Use rb_integer_pack and rb_integer_unpack instead. + +* struct RRational is hidden. [Feature #9513] + Use rb_rational_num and rb_rational_den instead. + +* rb_big_new and rb_big_resize takes a size_t instead of long. + +* rb_num2long returns a long instead of SIGNED_VALUE. + +* rb_num2ulong returns an unsigned long instead of VALUE. + +* st hash table uses power-of-two sizes for speed [Feature #9425]. + Lookups are 10-25% faster if using appropriate hash functions. + However, weaknesses in hash distribution can no longer be masked + by prime number-sized tables, so extensions may need to tweak + hash functions to ensure good distribution. + +* rb_sym2str() added. This is almost same as `rb_id2str(SYM2ID(sym))` + but not pinning a dynamic symbol. + +* rb_str_cat_cstr() added. This is same as `rb_str_cat2()`. + +* `rb_str_substr()` and `rb_str_subseq()` will share middle of a string, + but not only the end of a string, in the future. Therefore, result + strings may not be NUL-terminated, `StringValueCStr()` is needed + calling to obtain a NUL-terminated C string. + +* rb_tracepoint_new() supports new internal events accessible only from C: + * RUBY_INTERNAL_EVENT_GC_ENTER + * RUBY_INTERNAL_EVENT_GC_EXIT + r47528 + +* rb_hash_delete() now does not call the block given to the current method. + +* rb_extract_keywords() and rb_get_kwargs() exported. See README.EXT + for details. + +=== Build system updates + +* jemalloc is optionally supported via `./configure --with-jemalloc` + jemalloc may be suitable when system malloc is slow or prone + to fragmentation. [Feature #9113] + +=== Implementation changes + +* GC + * Most symbols which are returned by String#to_sym and + String#intern are GC-able [Feature #9634] + * Introduce incremental marking for major GC. [Feature #10137] + * Enable lazy sweep on GC caused by malloc(). + +* VM + * Use frozen string literals for Hash#[] and Hash#[]= + * Fast keyword arguments passing [Feature #10440] + * Allow to receive huge splatted array by a rest argument + [Feature #10440] + +* Process + * Process creation methods, such as spawn(), uses vfork() system call. + vfork() is faster than fork() when the parent process uses huge memory. -- cgit v1.2.3