diff options
Diffstat (limited to 'doc/ChangeLog-2.3.0')
-rw-r--r-- | doc/ChangeLog-2.3.0 | 12187 |
1 files changed, 0 insertions, 12187 deletions
diff --git a/doc/ChangeLog-2.3.0 b/doc/ChangeLog-2.3.0 deleted file mode 100644 index 7f3c4e672a..0000000000 --- a/doc/ChangeLog-2.3.0 +++ /dev/null @@ -1,12187 +0,0 @@ -Thu Dec 24 23:01:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * NEWS: added entry for CGI.escapeHTML optimization. - -Thu Dec 24 18:43:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * error.c (rb_compile_error_with_enc, rb_compile_error), - (rb_compile_bug): deprecate internal functions. - - * parse.y (parser_yyerror): construct exception message with - source code and caret. - -Thu Dec 24 17:25:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (append_compile_error), parse.y (compile_error): - preserve encoding of source file name in exceptions. - - * error.c (rb_compile_error_str, rb_compile_bug_str): add. - -Thu Dec 24 16:17:47 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * common.mk (fake.rb): $(arch)-fake.rb must depend on miniruby because - it may depend on miniruby. - -Thu Dec 24 16:13:05 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * common.mk (ripper.c): r50045 wrongly replace $(PWD) with ../.. - It is the top of build directory, not topsrcdir. - -Thu Dec 24 15:02:42 2015 sorah (Shota Fukumori) <her@sorah.jp> - - * tool/vcs.rb (IO.popen): Refactor. Avoid assigning in condition. - -Thu Dec 24 15:01:38 2015 sorah (Shota Fukumori) <her@sorah.jp> - - * tool/file2lastrev.rb: Fix ArgumentError to work on Ruby 1.8.7. - -Thu Dec 24 14:44:08 2015 sorah (Shota Fukumori) <her@sorah.jp> - - * tool/vcs.rb (IO.popen): Enable on Ruby 1.9 where chdir option is not - supported on IO.popen - - * tool/vcs.rb (IO.popen): Fix NoMethodError. I guess r49705 was not - tested... :/ - -Thu Dec 24 14:57:03 2015 Koichi Sasada <ko1@atdot.net> - - * NEWS: rename - "Implementation changes" section to - "Supported platform changes" section. - - * NEWS: add "Implementation improvements" and add several entries. - - * NEWS: add NEWS entries by Eric Wong. [ruby-core:72450] - -Thu Dec 24 00:26:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/io/console/extconf.rb: fix gem build failure on Windows. - only win32_vk.inc is included in the gem and no dependencies for - the header, so that gperf will not be mandatory. - [ruby-core:72453] [Bug #11866] - - * ext/io/console/io-console.gemspec: include depend file and - win32_vk header. - -Wed Dec 23 23:58:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (rb_readwrite_syserr_fail): works with the given errno than - thread local errno. - -Wed Dec 23 17:57:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c, io.c, util.c: prefer rb_syserr_fail with saved errno - over setting errno then call rb_sys_fail, not to be clobbered - potentially and to reduce thread local errno accesses. - -Wed Dec 23 11:58:52 2015 Yuichiro Kaneko <yui-knk@ruby-lang.org> - - * string.c: Fix document. Default value of the first - argument of `String#split` is not `$;` but `nil`. - When `nil` is passed as first argument, `$;` is used. - [ci skip] [Bug #11729] [ruby-dev:49378] - -Wed Dec 23 07:15:17 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (rsock_init_sock): reject reserved FDs - [ruby-core:72445] [Bug #11862] - -Wed Dec 23 02:59:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (__STDC_WANT_LIB_EXT1__): necessary to use memset_s - in strict C99 mode. - -Wed Dec 23 02:34:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * regexec.c (match_at): move direct threaded VM code to get rid of - mixed declarations and code, and enable it only for gcc since it - depends on a gcc extension. - -Wed Dec 23 02:23:19 2015 Yuki Nishijima <mail@yukinishijima.net> - - * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0 - - * NEWS: Add news about the did_you_mean gem - -Wed Dec 23 02:18:57 2015 Jake Worth <jakeworth82@gmail.com> - - * doc/contributing.rdoc: [DOC] remove an extra word "here". - [Fix GH-1169] - -Wed Dec 23 01:58:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * regexec.c (USE_DIRECT_THREADED_VM): enable direct threaded VM by - the default. - -Tue Dec 22 22:15:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * gc.c (internal_object_p): should not expose singleton classes - without a metaclass. based on patches by ko1 and shugo. - [Bug #11740] - - * class.c (rb_singleton_class_object_p): added. - -Tue Dec 22 22:15:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/io/console/io-console.gemspec: bump up to 0.4.4. - -Tue Dec 22 22:11:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * NEWS: Added news entry of Psych 2.0.17 - -Tue Dec 22 22:09:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * NEWS: Added news entry of RDoc 4.2.1 - -Tue Dec 22 21:20:00 2015 Kenta Murata <mrkn@mrkn.jp> - - * ext/bigdecimal/bigdecimal.gemspec: bump version to 1.2.8. - -Tue Dec 22 21:08:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rdoc.rb: bump version to 4.2.1. It contains following fixes. - https://github.com/rdoc/rdoc/pull/340 - https://github.com/rdoc/rdoc/pull/341 - https://github.com/rdoc/rdoc/pull/367 - https://github.com/rdoc/rdoc/pull/368 - * lib/rdoc/*: ditto. - * test/rdoc/*: ditto. - -Tue Dec 22 20:25:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/psych/lib/psych.rb: bump version to 2.0.17 - * ext/psych/psych.gemspec: ditto. - -Tue Dec 22 20:14:47 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c: move vm_callee_setup_block_arg() (and related - functions) to the latter location. - This moving recovers performance a little. - [Bug #11829] - -Tue Dec 22 15:21:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (str_compat_and_valid): as scrub does nothing for dummy - encoding string now, incompatible encoding is not a matter. - -Tue Dec 22 14:31:28 2015 Toru Iwase <tietew@tietew.net> - - * ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML - should return unfrozen new string. - [ruby-core:72426] [Bug #11858] - -Tue Dec 22 05:39:58 2015 Takashi Kokubun <takashikkbn@gmail.com> - - * ext/cgi/escape/escape.c (preserve_original_state): Preserve - original state for tainted and frozen. [Fix GH-1166] - [ruby-dev:49451] [Bug #11855] - -Tue Dec 22 03:57:20 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (rsock_init_sock): check FD after validating - * test/socket/test_basicsocket.rb (test_for_fd): new - [ruby-core:72418] [Bug #11854] - -Mon Dec 21 21:29:45 2015 Naohisa Goto <ngotogenome@gmail.com> - - * variable.c (struct ivar_update): rename "extended" to "iv_extended" - to avoid name conflict with /usr/include/floatingpoint.h on - Solaris. [Bug #11853] [ruby-dev:49448] - -Mon Dec 21 12:15:32 2015 Kimura Wataru <kimuraw@i.nifty.jp> - - * test/ruby/test_io.rb: handled rlimit value same as r52277 - [Bug #11852][ruby-dev:49446] - -Mon Dec 21 10:21:22 2015 Ilya Vassilevsky <vassilevsky@gmail.com> - - * lib/net/http.rb (open_timeout): update default value in RDoc - [ruby-core:72413] - -Mon Dec 21 10:18:46 2015 Kazuki Yamaguchi <k@rhe.jp> - - * vm_backtrace.c (rb_profile_frames): ignore ifunc frames as it - did before. [ruby-core:72409] [Bug #11851] - -Mon Dec 21 09:33:17 2015 Karol Bucek <kares@users.noreply.github.com> - - * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket): fix - NotImplementedError typo. [Fix GH-1165] - -Sun Dec 20 20:54:51 2015 Takashi Kokubun <takashikkbn@gmail.com> - - * cgi/escape/escape.c: Optimize CGI.escapeHTML for - ASCII-compatible encodings. [Fix GH-1164] - -Sun Dec 20 15:36:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/erb.rb: revert r53123. It breaks compatibility like thor and - rspec-rails. - We should try with Ruby 2.4 or 3.0. - [Bug #11842][ruby-core:72374] - * lib/rdoc/erb_partial.rb: ditto. - * template/verconf.h.tmpl: ditto. - -Sun Dec 20 11:43:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_yylex): allow here documents in labeled - argument. [ruby-core:72396] [Bug #11849] - -Sun Dec 20 11:14:11 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (rb_mod_define_method): should check Symbol or not. - [Bug #11850] - - * test/ruby/test_method.rb: add a test. - -Sun Dec 20 11:01:57 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (rb_mod_define_method): fix notation. - -Sun Dec 20 10:54:15 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (proc_new): fix notation. - -Sun Dec 20 00:29:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (rb_proc_get_iseq): proc made from symbol does not have - iseq. fix infinite loop. [ruby-core:72381] [Bug #11845] - -Sat Dec 19 20:06:10 2015 Naohisa Goto <ngotogenome@gmail.com> - - * enc/windows_1250.c: Should not use C++ style comments (C99 feature). - [Bug #11843] - -Sat Dec 19 17:17:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize): - use WEBrick::Utils::TimeoutHandler::Thread, which is ignored by - LeakChecker#find_threads, instead of ::Thread to get rid of - thread leak checker. since this TimeoutHandler is resident - during tests because of Singleton, it waits for the next timeout - if it has any schedules. in the case of nested timeouts, inner - timeout does not cancel outer timeouts and then those schedules - still remain. - -Sat Dec 19 14:28:01 2015 Jake Worth <jakeworth82@gmail.com> - - * ext/zlib/zlib.c (Init_zlib): [DOC] Fix double-word typo and - grammatical error. [Fix GH-1162] - -Sat Dec 19 14:23:59 2015 Jake Worth <jakeworth82@gmail.com> - - * lib/csv.rb (CSV#initialize): [DOC] Fix double-word typo. - [Fix GH-1161] - -Sat Dec 19 10:33:33 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250 - from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui) - -Fri Dec 18 21:26:54 2015 Naohisa Goto <ngotogenome@gmail.com> - - * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): To prevent - potential deadlocks, Queue is used to tell update of @timeout_info - instead of sleep and wakeup. [Bug #11742] [ruby-dev:49387] - -Fri Dec 18 17:24:09 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (ibf_load_object_string): use fstring if frozen string. - -Fri Dec 18 16:54:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/stringio/stringio.c (strio_set_encoding): add StringIO's own - encoding and separate it from the buffer string to override the - encoding of string when reading. [ruby-core:72189] [Bug #11827] - note that setting the encoding of its buffer string directly - without StringIO#set_encoding may cause unpredictable behavior. - -Fri Dec 18 16:50:35 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (ibf_load_setup): check tainted string argument. - -Fri Dec 18 16:12:13 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: define USE_LAZY_LOAD if it is not defined. - -Fri Dec 18 15:40:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/stringio/stringio.c (strio_unget_bytes): extract from - strio_ungetbyte to share with strio_ungetc. - -Fri Dec 18 12:39:42 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * doc/syntax/*.rdoc: separated modifier at sentence. - [ci skip][fix GH-1121] Patch by @clandry94 - -Fri Dec 18 12:09:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/stringio/stringio.c (strio_ungetbyte): pad with \000 when - the current position is after the end. - -Fri Dec 18 11:24:48 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_method.c (rb_method_entry_make, check_override_opt_method): - should check whether a newly created method overrides an optimize - method in case the method is defined in a prepended module of a - built-in class. - [ruby-core:72226] [Bug #11836] - -Fri Dec 18 11:09:38 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * vm.c (vm_exec): call RUBY_DTRACE_CMETHOD_RETURN_HOOK instead of - RUBY_DTRACE_METHOD_RETURN_HOOK. - -Fri Dec 18 10:24:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/irb/ruby-lex.rb: fixed parse error for striped heredocument syntax. - [fix GH-1127] Patch by @koic - -Fri Dec 18 09:44:47 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/pty/pty.c: fix double words typo. - [ci skip][fix GH-1157] Patch by @jwworth - -Fri Dec 18 09:42:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/nkf/nkf-utf8/utf8tbl.c: fix a typo. - [ci skip][fix GH-1159] Patch by @akshay-vishnoi - * ext/nkf/nkf-utf8/utf8tbl.h: ditto. - -Fri Dec 18 07:39:01 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm.c (rb_vm_check_redefinition_opt_method): should check the real - class instead of the origin iclass. - [ruby-core:72188] [Bug #11826] - -Thu Dec 17 22:13:10 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_args.c (vm_caller_setup_arg_block): remove code for ifunc - because it was made unnecessary by r52138. - -Thu Dec 17 16:13:10 2015 Shugo Maeda <shugo@ruby-lang.org> - - * proc.c (rb_block_arity): should not call GetProcPtr() for symbols. - [ruby-core:72205] [Bug #11830] - -Thu Dec 17 14:16:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_scrub): the result should be infected by the - original string. - -Thu Dec 17 13:35:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * transcode.c (rb_econv_substr_append, econv_primitive_convert): - the result should be infected by the original string. - -Thu Dec 17 09:46:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * re.c (reg_names_iter): should consider encoding of regexp. - [ruby-core:72185] [Bug #11825] - -Thu Dec 17 03:52:10 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (vm_make_env_each): should not compare with Qfalse and FALSE. - Pointed at http://d.hatena.ne.jp/nagachika/20151216/ruby_trunk_changes_53128_53163 - -Thu Dec 17 03:15:25 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_call_method_each_type): should not set fastpath - with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods. - - Normally, we can not use keyword arguments for this kind of methods, - (obj.foo = 1), but we can set alias names for them. - [Bug #11657] - - * test/ruby/test_keyword.rb: add a test for this fix. - -Wed Dec 16 20:32:43 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> - - * ext/fiddle/handle.c: check tainted string arguments. - Patch provided by tenderlove and nobu. - - * test/fiddle/test_handle.rb (class TestHandle): add test for above. - - -Wed Dec 16 19:30:56 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc. - [ruby-core:72083] [Bug #11811] - -Wed Dec 16 16:17:34 2015 Eric Wong <e@80x24.org> - - * test/ruby/test_io.rb: fix spelling errors - -Wed Dec 16 16:04:49 2015 Eric Wong <e@80x24.org> - - * NEWS: note IO#advise change [ruby-core:72168] - -Wed Dec 16 15:35:13 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c: fix mark miss for proc given as passed block. - [Bug #11750] - - * vm.c (vm_make_proc_from_block): should return a Proc object - if block is given. Previous implementation returns - a Proc object only when corresponding Proc object is not - available. - - * vm.c (vm_make_env_each): ditto. - - * test/ruby/test_proc.rb: add a test for this bug. - -Wed Dec 16 12:24:59 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * test_struct.rb: Test that initialize is overridable [#11708] - -Wed Dec 16 10:49:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (block_command, block_call): fix `&.` calls after - block_call. [Feature #11537] - -Wed Dec 16 00:53:45 2015 Naohisa Goto <ngotogenome@gmail.com> - - * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): Acquire - TimeoutMutex only when accessing @timeout_info for avoiding - potential deadlock. [Bug #11742] [ruby-dev:49387] - -Wed Dec 16 00:39:27 2015 Jake Worth <jakeworth82@gmail.com> - - * doc/extension.rdoc: [DOC] fix double-word typo. [Fix GH-1153] - -Wed Dec 16 00:25:41 2015 Naohisa Goto <ngotogenome@gmail.com> - - * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize): - TimeoutMutex should be acquired when accessing @timeout_info. - To avoid deadlock, interrupt() calls are delayed. - Due to the mutex, it is safe to treat ary without ary.dup. - [Bug #11742] [ruby-dev:49387] - -Tue Dec 15 23:13:10 2015 Naohisa Goto <ngotogenome@gmail.com> - - * gc.c: Delete excess semicolon after RUBY_ALIAS_FUNCTION(). - Suppress "syntax error: empty declaration" warnings by - Oracle Solaris Studio 12.x on Solaris. [Bug #11821] - - * hash.c: ditto, after NOINSERT_UPDATE_CALLBACK(). - -Tue Dec 15 18:04:04 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * NEWS: added news about EBCDIC encoding - -Tue Dec 15 17:57:57 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * enc/ebcdic.h, enc/trans/ebcdic.trans, - test/ruby/test_transcode.rb: Fixed encoding name - to the correct one in the IANA registry (IBM037) - and added an alias (ebcdic-cp-us) - -Tue Dec 15 16:19:26 2015 Takashi Kokubun <takashikkbn@gmail.com> - - * lib/erb.rb: Render erb with array buffer for function call optimization. - [fix GH-1143] - * lib/rdoc/erb_partial.rb: ditto. - * template/verconf.h.tmpl: ditto. - -Tue Dec 15 13:50:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_oct): [DOC] mention radix indicators. - [ruby-core:71310] [Bug #11648] - -Tue Dec 15 12:20:30 2015 Takashi Kokubun <takashikkbn@gmail.com> - - * lib/erb.rb: Simplify regexp to optimize erb scanner. - [fix GH-1144] - -Tue Dec 15 11:56:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/uri/common.rb: make code block for rdoc. - [ci skip][fix GH-1152] Patch by @Tonkpils - -Tue Dec 15 11:55:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/zlib/zlib.c: fix a typo. - [ci skip][fix GH-1149] Patch by @crismali - -Tue Dec 15 09:14:14 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * tool/transcode_tablegen.rb: detailed documentation - for transcode_tblgen function [ci skip] - -Mon Dec 14 22:11:11 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * enc/ebcdic.h: new dummy encoding EBCDIC-US - * enc/trans/ebcdic.trans: transcodings between EBCDIC-US - and iso-8859-1 [with code from Andrea Ribuoli] - * test/ruby/test_transcode.rb: tests for above - * tool/transcode_tablegen.rb: additional argument for - method transcode_tblgen - -Mon Dec 14 17:04:14 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/socket/lib/socket.rb: use safe navigation operator. - [fix GH-1142] Patch by @mlarraz - * lib/drb/extservm.rb: ditto. - * lib/net/http.rb: ditto. - * lib/net/http/response.rb: ditto. - * lib/scanf.rb: ditto. - * lib/uri/generic.rb: ditto. - -Mon Dec 14 17:03:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * bootstraptest/runner.rb: use safe navigation operator. - [fix GH-1142] Patch by @mlarraz - * test/openssl/test_pair.rb: ditto. - * test/ruby/test_econv.rb: ditto. - * test/ruby/test_settracefunc.rb: ditto. - * test/thread/test_queue.rb: ditto. - -Mon Dec 14 14:33:35 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/xmlrpc.rb: added documentation for parser details. - [ci skip][fix GH-1124] Patch by @jrafanie - -Mon Dec 14 11:46:52 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * enum.c: fix a typo in documentation. - [ci skip][fix GH-1140] Patch by @jutaz - * io.c: ditto. - * iseq.c: ditto. - * numeric.c: ditto. - * process.c: ditto. - * string.c: ditto. - * vm_trace.c: ditto. - -Mon Dec 14 11:41:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/cgi.rb: fix a typo in documentation. - [ci skip][fix GH-1140] Patch by @jutaz - -Mon Dec 14 11:31:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * compile.c: fix typos. - [ci skip][fix GH-1140] Patch by @jutaz - * dir.c: ditto. - * gc.c: ditto. - * io.c: ditto. - * node.h: ditto. - * thread_pthread.c: ditto. - * vm_insnhelper.c: ditto. - * vsnprintf.c: ditto. - -Mon Dec 14 11:27:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * enc/iso_2022_jp.h: fix typos. - [ci skip][fix GH-1140] Patch by @jutaz - * enc/utf_16_32.h: ditto. - * enc/utf_7.h: ditto. - -Mon Dec 14 11:25:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * benchmark/bm_app_aobench.rb: fix typos. - [ci skip][fix GH-1140] Patch by @jutaz - * benchmark/bm_vm_thread_pipe.rb: ditto. - -Sun Dec 13 23:46:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (trace_lex_state): trace lex_state changes if yydebug is - set, and send the messages to rb_stdout. - - * parse.y (rb_parser_printf): store YYPRINTF messages per lines - so that lex_state traces do not mix. - - * tool/ytab.sed: add parser argument to yy_stack_print too. - -Sun Dec 13 20:41:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (build_lex_state_name, trace_lex_state): lex_state is - now bit flags and can be set 2 bits or more. - -Sun Dec 13 20:26:30 2015 Yuki Yugui Sonoda <yugui@yugui.jp> - - * test/ruby/test_syntax.rb: fix typo in test - -Sun Dec 13 20:12:14 2015 Yuki Yugui Sonoda <yugui@yugui.jp> - - * parse.y (parse_percent): Allow %-literals in labeled arg as - r51624 did for parentheses. - Fixes [ruby-core:72084] [Bug #11812]. - -Sun Dec 13 20:02:15 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ChangeLog: fix a typo - -Sun Dec 13 19:54:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/lib/envutil.rb: move envutil's assertions under Test::Unit::Assertion. - * test/lib/test/unit/assertions.rb: ditto. - -Sun Dec 13 19:24:20 2015 Yuki Yugui Sonoda <yugui@yugui.jp> - - * parse.y (lex_state_name): Make it return the correct names. - Add new names to follow r51617; Indices ffs(2) returns are 1-origin. - -Sun Dec 13 18:40:45 2015 Yuki Yugui Sonoda <yugui@yugui.jp> - - * parse.y: debug output of lex_state transition if PARSER_DEBUG - -Sun Dec 13 18:49:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (parse_mode_enc): preserve encoding of mode string in - warnings. - - * io.c (io_encname_bom_p): check BOM prefix only, not including - UTF prefix. - - * io.c (parse_mode_enc): warn BOM with non-UTF encoding. - - * io.c (parse_mode_enc): fix buffer overflow. - -Sun Dec 13 18:35:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/fiddle/function.c (initialize): check all arguments first. - reported by Marcin 'Icewall' Noga of Cisco Talos. - - * ext/fiddle/conversions.h (PTR2NUM): use signed integer to make - Fixnum for negative values. - -Sun Dec 13 18:33:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * pack.c (pack_pack): always check index range against the - receiver array length, which can be shortened by elements - conversion. reported by Marcin 'Icewall' Noga of Cisco Talos. - -Sun Dec 13 18:28:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/psych/psych_emitter.c (start_document): should not exceed - tags array range. - - * ext/psych/psych_emitter.c (start_document): ensure string before - encoding conversion. - -Sun Dec 13 18:26:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/tk/tkutil/tkutil.c (tk_hash_kv): check types of array - argument. reported by Marcin 'Icewall' Noga of Cisco Talos. - - * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check length of - argument arrays for each access, as callback methods can modify - them. reported by Marcin 'Icewall' Noga of Cisco Talos. - - * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check types of - argument elements. reported by Marcin 'Icewall' Noga of Cisco - Talos. - -Sun Dec 13 18:19:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/win32ole/win32ole.c (ole_vstr2wc): check argument type, vstr - must be a String here. reported by Marcin 'Icewall' Noga of - Cisco Talos. - -Sun Dec 13 16:41:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (BOOTSTRAPRUBY): make BASERUBY full path before - building ruby to get rid of unexpectedly invoking built ruby. - [ruby-core:72065] [Bug #11807] - - * configure.in (BOOTSTRAPRUBY): use MINIRUBY but not BASERUBY - unless cross compiling. [ruby-core:72065] [Bug #11807] - -Sun Dec 13 14:17:19 2015 Akinori MUSHA <knu@iDaemons.org> - - * test/test_shellwords.rb (TestShellwords): Add many more tests - for handling whitespace characters and frozenness. - -Sun Dec 13 14:16:09 2015 Akinori MUSHA <knu@iDaemons.org> - - * lib/shellwords.rb (Shellwords#shellsplit): Document that this - method does not treat shell metacharacters as such. - -Sun Dec 13 12:17:43 2015 Eric Wong <e@80x24.org> - - * lib/shellwords.rb (shellescape): duplicate frozen literal - * test/test_shellwords.rb (test_stringification): new test - -Sun Dec 13 11:47:35 2015 Shugo Maeda <shugo@ruby-lang.org> - - * object.c (rb_inspect): check the default internal encoding as - String#inspect do. - [ruby-dev:49415] [Bug #11787] - -Sun Dec 13 11:38:12 2015 Akinori MUSHA <knu@iDaemons.org> - - * lib/shellwords.rb: Turn on frozen-string-literal after fixing - shellsplit. - -Sun Dec 13 10:44:44 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * KNOWNBUGS.rb: Fixed typo, made more explicit [ci skip] - -Sun Dec 13 10:26:47 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing - protocol list. - The protocol list from OpenSSL is not null-terminated. - patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082] - -Sun Dec 13 06:40:30 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/ostruct.rb: Have OpenStruct#dig raise if argument is not a - symbol - nor a string. See [#11762] - -Sun Dec 13 00:05:42 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_insnhelper.c (vm_call_method_missing): method_missing should - not be refined. - [ruby-core:72080] [Bug #11809] - -Sat Dec 12 23:00:17 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/nkf/nkf-utf8/nkf.c: Merge nkf 2.1.4. - -Sat Dec 12 18:52:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * object.c (rb_obj_dig): raise TypeError if an element does not - have #dig method. [ruby-core:71798] [Bug #11762] - -Sat Dec 12 17:59:07 2015 Yuichiro Kaneko <yui-knk@ruby-lang.org> - - * test/ruby/test_regexp.rb: Add test cases for `$KCODE` and `$=` warning - [Misc #11770][ruby-dev:49398] - -Sat Dec 12 17:11:57 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> - - * doc/NEWS-0.2.2: add description about incompatible change in Hash - duplicated key overriding policy. [Bug #10315] [Bug #11501] - -Sat Dec 12 07:44:38 2015 Eric Wong <e@80x24.org> - - * io.c (do_io_advise): do not raise on ENOSYS - * test/ruby/test_io.rb (test_advise): do not skip on Errno::ENOSYS - (test_advise_pipe): ditto - [ruby-core:72066] [Feature #11806] - -Sat Dec 12 07:05:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e - range. [ruby-core:64049] [Bug #10097] - -Fri Dec 11 23:33:40 2015 Yusuke Endoh <mame@ruby-lang.org> - - * sample/trick2015/: added the award-winning entries of TRICK 2015. - See https://github.com/tric/trick2015 for the contest outline. - -Fri Dec 11 17:59:05 2015 Eric Wong <e@80x24.org> - - * insns.def (opt_case_dispatch): avoid converting Infinity - * test/ruby/test_optimization.rb (test_opt_case_dispatch_inf): new - [ruby-dev:49423] [Bug #11804]' - -Fri Dec 11 16:48:57 2015 Eric Wong <e@80x24.org> - - * hash.c (rb_num_hash_start): avoid pathological behavior - [ruby-core:72028] [Feature #11405] - -Fri Dec 11 11:58:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * NEWS: Mentioned rubygems-2.5.1 - -Fri Dec 11 11:52:39 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems: Update to RubyGems 2.5.1 - * test/rubygems: ditto. - -Fri Dec 11 11:38:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_compile_each, ibf_load_object_hash): rehash - case-dispatch hash to reduce collisions. - http://d.hatena.ne.jp/ku-ma-me/20151210 - -Fri Dec 11 03:44:43 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * object.c (rb_inspect): dump inspected result with rb_str_escape() - instead of raising Encoding::CompatibilityError. [Feature #11801] - - * string.c (rb_str_escape): added to dump given string like - rb_str_inspect without quotes and always dump in US-ASCII - like rb_str_dump. - -Thu Dec 10 14:59:59 2015 Koichi Sasada <ko1@atdot.net> - - * test/ruby/test_gc.rb (test_expand_heap): relax condition (1->2). - -Thu Dec 10 14:15:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * cont.c: fix a double word typo. - [Bug #11313][ruby-core:69749] - -Thu Dec 10 14:13:34 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/tk/lib/multi-tk.rb: fix typos. - [Bug #11764][ruby-core:71800] - -Thu Dec 10 11:33:34 2015 Eric Wong <e@80x24.org> - - * compile.c (iseq_compile_each): reduce needless rb_str_dup - [ruby-core:72018] <5668DB6E.8000101@ruby-lang.org> - -Thu Dec 10 09:32:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/mkmf.rb, lib/shellwords.rb: disable frozen-string-literal. - [ruby-core:72011] [Bug #11800] - -Thu Dec 10 06:33:39 2015 Eric Wong <e@80x24.org> - - * marshal.c (memsize_dump_arg): remove NULL check - (memsize_load_arg): ditto - -Thu Dec 10 05:53:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * tool/mkconfig.rb: rbconfig must not be frozen-string-literal to - expand CONFIG hash. [ruby-core:72006] [Bug #11798] - -Thu Dec 10 05:03:51 2015 Eric Wong <e@80x24.org> - - * ext/socket/ifaddr.c (ifaddr_mark): remove empty function - (ifaddr_type): pass zero to rb_data_type_t.function.dmark - -Thu Dec 10 04:49:16 2015 Eric Wong <e@80x24.org> - - * proc.c (bm_free): remove, use default free - (method_data_type): use RUBY_TYPED_DEFAULT_FREE - -Thu Dec 10 02:01:41 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (iseq_compile_each): do not add debug information - without --debug or --debug=frozen-string-literal option - because String#dup slows down with debug information. - [Feature #11725] - - * NEWS: apply about it. - - * test/ruby/test_rubyoptions.rb: catch up this fix with refactoring. - -Thu Dec 10 00:06:56 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c: rename methods - RubyVM::InstructionSequence#to_binary_format -> #to_binary - RubyVM::InstructionSequence.from_binary_format -> .load_from_binary - RubyVM::InstructionSequence.from_binary_format_extra_data -> - .load_from_binary_extra_data - - * iseq.c: fix document of iseq.to_binary. - [Fix GH-1134] - - * sample/iseq_loader.rb: catch up this change. - - * test/lib/iseq_loader_checker.rb: ditto. - -Wed Dec 9 17:02:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * regparse.h (SET_NTYPE): get rid of breaking strict aliasing. - patch by Zarko Todorovski in [ruby-core:71953]. [Bug #11790] - -Wed Dec 9 16:10:37 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (rb_vm_cref_in_context): Module#define_method in non-class - expression should be public. - [Bug #11754] - - * test/ruby/test_method.rb: add a test. - -Wed Dec 9 14:45:27 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_mark_stacked_objects): fix typo. - reported by XIE Zhibang. [Bug #11763] - -Wed Dec 9 14:37:51 2015 Shugo Maeda <shugo@ruby-lang.org> - - * doc/syntax/refinements.rdoc: remove outdated description. - -Wed Dec 9 09:58:09 2015 Koichi Sasada <ko1@atdot.net> - - * ext/**/*.c (*_memsize): same as r52986 for extensions. - -Wed Dec 9 09:46:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * .gitignore: ignored ISeq binary format. - -Wed Dec 9 09:34:41 2015 Koichi Sasada <ko1@atdot.net> - - * *.c (*_memsize): do not check ptr. - NULL checking is finished Before call of memsize functions. - See r52979. - -Wed Dec 9 09:25:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/net/smtp/test_response.rb: use Test::Unit. We should use Test::Unit - without rubygems and rdoc. - -Wed Dec 9 06:26:23 2015 Colin Kelley <colindkelley@gmail.com> - - * lib/uri/generic.rb: enable frozen_string_literal - (split_userinfo): remove explicit .freeze for string literals - (check_path): ditto - (query): ditto - (fragment): ditto - (to_s): ditto - [ruby-core:71910] [Bug #11759] - -Wed Dec 9 06:25:47 2015 Eric Wong <e@80x24.org> - - * test/uri/test_generic.rb (to_s): new test - [ruby-core:71820] - -Wed Dec 9 02:18:52 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (ibf_dump_memsize): should check NULL. - -Wed Dec 9 01:46:35 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * string.c (rb_str_init): now accepts new option parameter `encoding'. - [Feature #11785] - -Wed Dec 9 00:52:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_stat_wr, rb_stat_ww): call get_stat only once and - reduce checking struct. patch by Yuki Kurihara in - [ruby-core:71949]. [Misc #11789] - -Wed Dec 9 00:24:33 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (iseq_ibf_dump): dump extra data just string length. - - * sample/iseq_loader.rb: add using - RubyVM::InstructionSequence.from_binary_format_extra_data method - (commented out). - -Mon Dec 9 00:21:19 2015 Yuki Nishijima <mail@yukinishijima.net> - - * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.rc1 - -Wed Dec 9 00:17:49 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (ibf_load_setup): cast to int. - -Wed Dec 9 00:13:09 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (ibf_setup_load): rename to ibf_load_setup(). - - * compile.c (iseq_load_setup): check binary format. - -Tue Dec 8 23:30:07 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/io/console/test_io_console.rb (run_pty): Avoid waiting twice - for a process. Fix Errno::ECHILD in TestIO_Console#test_close and - TestIO_Console#test_sync. - -Tue Dec 8 23:05:47 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (iseq_ibf_dump): fix for clang type checker. - -Tue Dec 8 23:04:02 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (iseq_s_load): fix mysterious bug. - -Tue Dec 8 22:31:58 2015 Koichi Sasada <ko1@atdot.net> - - * introduce new ISeq binary format serializer/de-serializer - and a pre-compilation/runtime loader sample. - [Feature #11788] - - * iseq.c: add new methods: - * RubyVM::InstructionSequence#to_binary_format(extra_data = nil) - * RubyVM::InstructionSequence.from_binary_format(binary) - * RubyVM::InstructionSequence.from_binary_format_extra_data(binary) - - * compile.c: implement body of this new feature. - - * load.c (rb_load_internal0), iseq.c (rb_iseq_load_iseq): - call RubyVM::InstructionSequence.load_iseq(fname) with - loading script name if this method is defined. - - We can return any ISeq object as a result value. - Otherwise loading will be continue as usual. - - This interface is not matured and is not extensible. - So that we don't guarantee the future compatibility of this method. - Basically, you shouldn't use this method. - - * iseq.h: move ISEQ_MAJOR/MINOR_VERSION (and some definitions) - from iseq.c. - - * encoding.c (rb_data_is_encoding), internal.h: added. - - * vm_core.h: add several supports for lazy load. - * add USE_LAZY_LOAD macro to specify enable or disable of - this feature. - * add several fields to rb_iseq_t. - * introduce new macro rb_iseq_check(). - - * insns.def: some check for lazy loading feature. - - * vm_insnhelper.c: ditto. - - * proc.c: ditto. - - * vm.c: ditto. - - * test/lib/iseq_loader_checker.rb: enabled iff suitable - environment variables are provided. - - * test/runner.rb: enable lib/iseq_loader_checker.rb. - - * sample/iseq_loader.rb: add sample compiler and loader. - - $ ruby sample/iseq_loader.rb [dir] - - will compile all ruby scripts in [dir]. - With default setting, this compile creates *.rb.yarb files - in same directory of target .rb scripts. - - $ ruby -r sample/iseq_loader.rb [app] - - will run with enable to load compiled binary data. - -Tue Dec 8 21:21:16 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * NEWS: mention about Enumerator::Lazy#grep_v. - [ruby-core:71845] [Feature #11773] - -Tue Dec 8 17:36:36 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * string.c: removed unused variable - -Tue Dec 8 16:23:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * enumerator.c (lazy_grep_v): add Enumerator::Lazy#grep_v as well - as Enumerable, to enumerate lazily. - [ruby-core:71845] [Feature #11773] - -Tue Dec 8 14:27:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * error.c (name_err_local_variables): new method - NameError#local_variables for internal use only. - [Feature #11777] - -Tue Dec 8 14:20:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * marshal.c (w_objivar): skip internal instance variables in - T_OBJECT too. - -Tue Dec 8 12:58:04 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/io/console/test_io_console.rb (test_getpass): s.getpass - should be tested. Narrow ensure block. This reverts r52911. - [Bug #11780] [ruby-dev:49412] - -Tue Dec 8 10:40:21 2015 Eric Wong <e@80x24.org> - - * benchmark/bm_vm2_case_lit.rb: new benchmark - * compile.c (case_when_optimizable_literal): add nil/true/false - * insns.def (opt_case_dispatch): ditto - * vm.c (vm_redefinition_check_flag): ditto - * vm.c (vm_init_redefined_flag): ditto - * vm_core.h: ditto - * object.c (InitVM_Object): define === explicitly for nil/true/false - * test/ruby/test_case.rb (test_deoptimize_nil): new test - * test/ruby/test_optimization.rb (test_opt_case_dispatch): update - (test_eqq): new test - [ruby-core:71923] [Feature #11769] - Original patch by Aaron Patterson <tenderlove@ruby-lang.org> - -Tue Dec 8 10:19:02 2015 Jake Worth <jakeworth82@gmail.com> - - * lib/optparse.rb: fix double word typo in the document. - [Misc #10608] [Fix GH-1126] - -Tue Dec 8 09:03:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/date/date_core.c (d_lite_lshift): should check the argument - before negation. - -Tue Dec 8 08:56:16 2015 Eric Wong <e@80x24.org> - - * insns.def (opt_case_dispatch): check Float#=== redefinition - * test/ruby/test_optimization.rb (test_opt_case_dispatch): new - [ruby-core:71920] [Bug #11784] - -Tue Dec 8 03:56:05 2015 Koichi Sasada <ko1@atdot.net> - - * test/lib/iseq_loader_checker.rb: add iseq dumper/loader checker. - If you enable this checker (remove `#' in test/runner.rb), - you can see comparison results between an original iseq disassembed - result and dumped and loaded iseq disassembed result. - - There are several bugs around there, because of inexact stack depth - calculation. Now, I leave these bugs because they are not critical - and difficult to solve completely. - - * test/runner.rb: require test/lib/iseq_loader_checker.rb but - disabled at default (commented out). - -Tue Dec 8 03:45:47 2015 Eric Wong <e@80x24.org> - - * doc/extension.rdoc: warn about kwargs performance in C - [Feature #11339] [ci skip] - -Tue Dec 8 03:44:51 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (iseq_load): disable peephole optimization option - because apply it multiple times change the sequence. - (iseq != peephole_optimize(load(iseq.to_a))) - -Tue Dec 8 03:43:21 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (rb_iseq_build_from_ary): do not allocate table - if table_size is 0. - -Tue Dec 8 03:30:34 2015 Eric Wong <e@80x24.org> - - * ext/socket/unixsocket.c (unix_send_io): document args - (unix_recv_io): ditto - * test/socket/test_unix.rb (test_fd_passing_class_mode): added - -Tue Dec 08 02:21:35 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (iseq_translate): at the end of constructing an iseq, - call RubyVM::InstructionSequence.translate(iseq) if this method - is defined. If the return value is also an object of - RubyVM::InstructionSequence, then use it instead of created one. - - For example, this method is useful to test iseq dumper/loader - such as RubyVM::InstructionSequence#to_a and rb_iseq_load(). - - Because this method is for such internal experimental usage, - the interface is not matured. For example, this interface has - no extensibility. Two or more translators can not run - simultaneously. - - So that we don't guarantee future compatibility of this method. - Basically, do not use this method. - -Tue Dec 8 01:57:13 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/psych/*: update psych to 2.0.16 - * test/psych/*: ditto - -Mon Dec 7 23:45:20 2015 Koichi Sasada <ko1@atdot.net> - - * string.c: introduce String#+@ and String#-@ to control - String mutability. - [Feature #11782] - -Mon Dec 7 23:39:49 2015 Ben Miller <bjmllr@gmail.com> - - * parse.y: add heredoc <<~ syntax. [Feature #9098] - -Mon Dec 7 23:06:16 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * prelude.rb (IO#read_nonblock): [DOC] add missing options to - call-seq. [ruby-core:71627] [Bug #11730] - -Mon Dec 7 15:50:50 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * .gitignore: added cygruby*.def for Cygwin - -Sun Dec 6 19:52:31 2015 Eric Wong <e@80x24.org> - - * include/ruby/intern.h (rb_autoload): deprecate - * internal.h (rb_autoload_str): declare - * load.c (rb_mod_autoload): use rb_autoload_str - * variable.c (rb_autoload): become compatibility wrapper - (rb_autoload_str): hoisted out from old rb_autoload - [ruby-core:71369] [Feature #11664] - -Sun Dec 6 18:25:22 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): gave up the test - of binary path info test on Windows because the test had passed - occasionally as the comment said. - -Sun Dec 6 15:25:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/io/console/console.c (console_getpass): add IO#getpass - method. - -Sun Dec 6 08:39:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/json/json.gemspec: bump version to json 1.8.3. CRuby already contained - upstream changes. - - https://github.com/ruby/ruby/commit/4d059bf9f5f10f3d3088de49fc87e5555db7770d - https://github.com/flori/json/commit/d4c99de78905d96c3f301f48b2c789943bb3f098 - - * ext/json/lib/json/version.rb: ditto. - -Sat Dec 5 17:48:25 2015 Lars Kanis <lars@greiz-reinsdorf.de> - - * tool/fake.rb: Fix cross build when srcdir is an absolute path. - - * Makefile.in: PREP dependency is needed when cross build too, not - "-r$(arch)-fake" to be used before created. [Fix GH-1125] - -Sat Dec 5 17:26:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (env_str_new, env_path_str_new): make default string - UTF-8 for the case conversion is not possible. [Bug #8822] - - * hash.c (get_env_cstr): convert non-ASCII string to UTF-8 string. - - * hash.c (ruby_setenv): use wide char version to put environment - variable to deal with non-ASCII value. - -Sat Dec 5 09:56:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby_atomic.h (ATOMIC_CAS): old value to be swapped should be - same as the destination. immediate value may need type - promotion. - - * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of - InterlockedCompareExchange64. new value and then old value is - the last. - -Sat Dec 5 09:23:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * random.c (fill_random_seed): fix the size to be filled, not the - size of element, but the whole size of array. - -Sat Dec 5 06:03:54 2015 Eric Wong <e@80x24.org> - - * vm.c (ruby_vm_verbose_ptr): make static - (ruby_vm_debug_ptr): ditto - -Sat Dec 5 00:56:29 2015 Naohisa Goto <ngotogenome@gmail.com> - - * include/ruby/ruby.h (RB_OBJ_TAINT): follow-up of r52881. - Turn into void expression not to use unexpected result. - Fix "operands have incompatible types" error with - Oracle Solaris Studio 12.x on Solaris. - -Fri Dec 4 19:52:52 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * enc/iso_8859_13.c: Added three missing lower/upper-case - character pairs (from Kimihito Matsui) - -Fri Dec 4 18:57:57 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * enc/iso_8859_4.c: Added missing lower/upper-case character - pair (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG) - (from Kimihito Matsui) - -Fri Dec 4 16:48:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_obj_as_string): fstring should not be infected. - re-apply r52872 and fix a typo. - TODO: other frozen strings also may not be. - -Fri Dec 4 15:21:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(fdab4c4). - this version includes #1396, #1397, #1398, #1399 - * test/rubygems: ditto. - -Fri Dec 4 11:22:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (rb_thread_setname): name must be ascii-compatible, as - pthread APIs do not accept legacy wide char strings. - -Thu Dec 3 15:39:21 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/scanf.rb: fixed double words typo. - [ci skip][fix GH-1123] Patch by @jwworth - -Thu Dec 3 15:37:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/ruby/test_mixed_unicode_escapes.rb: fixed typo. - [fix GH-1122] Patch by @davydovanton - * test/ruby/test_object.rb: ditto. - * test/socket/test_tcp.rb: ditto. - -Thu Dec 3 15:33:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * sprintf.c (rb_str_format): fix wrong shifting position in - Rational conversion when not at the beginning of the result. - [ruby-core:71806] [Bug #11766] - -Thu Dec 3 14:22:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * range.c (range_to_s): should be infected by the receiver. - str2 infects by appending. [ruby-core:71811] [Bug #11767] - -Thu Dec 3 11:57:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in: separate SET_CURRENT_THREAD_NAME, which can set - the name of current thread only, and SET_ANOTHER_THREAD_NAME, - which can set the name of other threads. - - * thread.c (rb_thread_setname): use SET_ANOTHER_THREAD_NAME. OS X - is not possible to set another thread name. - - * thread_pthread.c (native_set_thread_name, thread_timer): use - SET_CURRENT_THREAD_NAME. - -Wed Dec 02 22:57:46 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h, iseq.h: remove rb_iseq_t::variable_body. - Fields in rb_iseq_t::variable_body are contained by - rb_iseq_t::body::mark_ary (hidden Array object). - - Index 0 to 2 of mark_ary are reserved by these objects. - - * iseq.c: catch up this fix. - - * compile.c (rb_iseq_original_iseq): trivial rewrite. - -Wed Dec 2 17:19:02 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.h: introduce ISEQ_ORIGINAL_ISEQ() and - ISEQ_ORIGINAL_ISEQ_ALLOC() macro. - - * compile.c: use them to access original iseq buffer. - - * iseq.c: ditto. - - * vm_core.h: rename iseq field to support this fix. - -Wed Dec 2 17:10:32 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro. - - * compile.c (iseq_compile_each): use it. - - * vm_core.h: rename flip_cnt field to support this fix. - -Wed Dec 2 17:05:15 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.h: introduce ISEQ_COVERAGE() and ISEQ_COVERAGE_SET() macro. - - * compile.c: use them. - - * iseq.c: ditto. - - * iseq.c (rb_iseq_coverage): added. - - * thread.c (update_coverage): use rb_iseq_coverage(). - - * vm_core.h: rename coverage field name to support this fix. - -Wed Dec 2 17:00:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * encoding.c (enc_name, rb_enc_name_list_i, rb_enc_aliases_enc_i): - make fstring instead of making each copies. - -Wed Dec 2 16:32:08 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.h: introduce ISEQ_COMPILE_DATA() macro. - - * compile.c, iseq.c: use ISEQ_COMPILE_DATA(). - - * vm_core.h: rename compile_data field to support this fix. - -Wed Dec 2 16:27:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * encoding.c (enc_m_loader): defer finding encoding object not to - be infected by marshal source. [ruby-core:71793] [Bug #11760] - - * marshal.c (r_object0): enable compatible loader on USERDEF - class. the loader function is called with the class itself, - instead of an allocated object, and the loaded data. - - * marshal.c (compat_allocator_table): initialize - compat_allocator_tbl on demand. - - * object.c (rb_undefined_alloc): extract from rb_obj_alloc. - -Wed Dec 2 15:12:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * configure.in: Fixed double negative comments. - [Bug #11698][ruby-core:71506] - -Wed Dec 2 14:55:01 2015 yui-knk <spiketeika@gmail.com> - - * test/ruby/test_string.rb: removed non executing tests. - [Misc #11757][ruby-dev:49397] - -Wed Dec 2 11:23:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/csv.rb: enable frozen_string_literal. - [fix GH-1116] Patch by @marshall-lee - -Wed Dec 2 10:36:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/bigdecimal/bigdecimal.c: Fix double word typo. - [ci skip][fix GH-1120] Patch by @jwworth - -Wed Dec 2 07:43:51 2015 Eric Wong <e@80x24.org> - - * ext/openssl/ossl_ssl.c (mSSLExtConfig): make static - (eSSLError): ditto - (ID_callback_state): ditto - (ossl_ssl_ex_vcb_idx): ditto - (ossl_ssl_ex_store_p): ditto - (ossl_ssl_ex_ptr_idx): ditto - * ext/openssl/ossl_ssl.h: remove extern declarations for - mSSLExtConfig and eSSLError - -Wed Dec 2 07:41:08 2015 Eric Wong <e@80x24.org> - - * missing/explicit_bzero.c (explicit_bzero): fixup r52839 - for compilers with "weak" attribute - -Wed Dec 2 06:47:25 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * missing/explicit_bzero.c: add ruby_explicit_bzero_hook_unused - for preventing optimization. Inspired from OpenBSD. - -Tue Dec 1 23:36:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (rb_thread_setname): allow to reset thread name. - -Tue Dec 1 23:14:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (rb_thread_setname): check the argument if valid - string. [ruby-core:71774] [Bug #11756] - -Tue Dec 1 17:13:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_string_value_cstr): should not raise on frozen - string. - -Tue Dec 1 09:35:29 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * missing/explicit_bzero.c: add a few comment. - -Tue Dec 1 09:31:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * missing/explicit_bzero.c: add disabling optimization on gcc. - -Tue Dec 1 07:50:33 2015 Eric Wong <e@80x24.org> - - * missing/explicit_bzero.c: new file. define explicit_bzero. - Fixup r52806 - -Thu Oct 22 12:54:43 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * thread_pthread.c (register_ubf_list): renamed from - add_signal_thread_list. - * thread_pthread.c (unregister_ubf_list): renamed - from remove_signal_thread_list. - * thread_pthread.c (ubf_wakeup_all_threads): renamed from - ping_signal_thread_list. - * thread_pthread.c (ubf_wakeup_thread): renamed from - ubf_select_each. - * thread_pthread.c (ubf_threads_empty): renamed from - check_signal_thread_list(). - * thread_pthread.c (ubf_list_lock): renamed from - signal_thread_list_lock. - - * thread_pthread.c (register_ubf_list): large simplification - by using ccan/list.h. - bonus: removed malloc() and exit(EXIT_FAILURE). - * thread_pthread.c (unregister_ubf_list): ditto. - * thread_pthread.c (ubf_threads_empty): ditto. - * thread_pthread.c (ubf_wakeup_all_threads): ditto. - - * thread_pthread.c (print_signal_list): removed. - -Thu Oct 22 08:03:49 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * test/ruby/test_rand.rb (TestRand#test_default_seed): add - srand case. - -Thu Oct 22 06:33:38 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * random.c (InitVM_Random): move Random::DEFAULT initialization - bits to Init_Random_default. - * random.c (Init_Random_default): renamed from Init_RandomSeed2. - * random.c (Init_RandomSeedCore): renamed from Init_RandomSeed. - -Thu Oct 22 06:20:48 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * random.c (Init_RandomSeed): move all Random::DEFAULT - construction bits to Init_RandomSeed2. Random::DEFAULT - and Ruby internal hashes are no longer shared their seed. - * random.c (Init_RandomSeed2): ditto. And, kill evil - rb_obj_reveal() stuff. - - * random.c (init_hashseed): add MT argument. - * random.c: (init_siphash): ditto. - - * test/ruby/test_rand.rb (TestRand#test_default_seed): new - test for Random::DEFAULT::seed. - -Thu Oct 22 05:23:48 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * random.c (init_hashseed, init_siphash): extract initialize - functions. - -Thu Oct 22 01:01:34 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * configure.in: sort AC_CHECK_HEADERS() by alphabetical order. - -Thu Oct 22 00:19:07 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * random.c (init_randomseed): remove "initial" argument. It never - be used from outside of this function. - -Thu Oct 22 00:12:33 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * lib/securerandom.rb (SecureRandom::gen_random): use /dev/urandom - for initialize OpenSSL's rand. - -Wed Oct 21 12:10:04 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * ext/openssl/ossl_rand.c (ossl_rand_bytes): RAND_bytes could - be return -1 as an error. Therefore, added error handling. - * ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto. - -Wed Oct 21 09:04:09 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * include/ruby/util.h: remove a warning suppression C4723 - (potential divide by zero) for VisualC++. It's meaningless. - Before r26197, there is ruby_div0() in this place and it - actually made divide by zero. But now it's just garbage. - -Wed Oct 21 08:23:36 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * random.c: random_raw_seed don't use GRND_NONBLOCK. GRND_NONBLOCK - mean the result might not have an enough cryptic strength and - easy predictable. That's no good for SecureRandom. - -Sun Oct 18 17:26:53 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * common.mk: add a rule for explicit_bzero.o. - * configure.in: detect explicit_bzero and memset_s. - * include/ruby/missing.h: add explicit_bzero. - * random.c (init_randomseed): use explicit_bzero() instead of - memset(). memset could be eliminated by compiler optimization. - -Mon Nov 30 18:46:44 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/readline/extconf.rb: call dir_config("libedit") - if --enable-libedit is specified. [Bug #11751] - patched by John Hein - -Mon Nov 30 08:44:29 2015 Eric Wong <e@80x24.org> - - * variable.c: remove spurious #define for globals - [ruby-core:71735] [Feature #11749] - -Sun Nov 29 09:13:03 2015 Conor Landry <clandry94@gmail.com> - - * NEWS: [DOC] Various grammar corrections and clarifications to - increase readability. [Fix GH-1115] - -Sat Nov 28 19:33:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_here_document): store dispatched result of - on_tstring_content at the last fragment of a here document. - -Fri Nov 27 19:19:44 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * lib/net/http.rb (connect): detect closed connection and reconnect - If the server closes a keep-alive http connection, the client socket - reaches EOF. To avoid an EOFError, detect the closed connection and - reconnect. - Added test to ensure HTTP#post succeeds even if the - keep-alive-connection has been closed by the server. - by Kristian Hanekamp <kris.hanekamp@gmail.com> - https://github.com/ruby/ruby/pull/1089 fix GH-1089 - -Thu Nov 26 21:36:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_peephole_optimize): enable tail call - optimization for specialized indexers. - - * compile.c (iseq_compile_each): blockiseq should be NULL, but not - Qnil. - -Thu Nov 26 17:22:53 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * regcomp.c, regenc.c, regexec.c, regint.h, enc/unicode.c: - Merge Onigmo 58fa099ed1a34367de67fb3d06dd48d076839692 - + https://github.com/k-takata/Onigmo/pull/52 - -Thu Nov 26 09:50:02 2015 yui-knk <spiketeika@gmail.com> - - * test/coverage/test_coverage.rb: Added test-case for Coverage.restart. - [Misc #11732][ruby-dev:49379] - -Thu Nov 26 09:46:36 2015 yui-knk <spiketeika@gmail.com> - - * test/coverage/test_coverage.rb: Added test-case for Coverage.peek_result - without Coverage.start. [Misc #11726][ruby-core:71622] - -Thu Nov 26 07:22:55 2015 Eric Wong <e@80x24.org> - - * test/openssl/test_ssl.rb (test_copy_stream): new test - -Wed Nov 25 21:23:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (copy_stream_body): try to_io conversion before read, - readpartial, and write methods. [ruby-dev:49008] [Bug #11199] - -Wed Nov 25 10:55:21 2015 Shugo Maeda <shugo@ruby-lang.org> - - * io.c (argf_getpartial): should not resize str if the second - argument is not given. - [ruby-core:71668] [Bug #11738] - -Tue Nov 24 23:56:25 2015 Naohisa Goto <ngotogenome@gmail.com> - - * configure.in: On Solaris, it is safe to define _LARGEFILE_SOURCE - when _FILE_OFFSET_BITS=64 is defined (= when 32-bit compile). - -Tue Nov 24 10:00:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems/installer.rb: Fix two double-word typos. - [ci skip][fix GH-1108] Patch by @jwworth - -Tue Nov 24 09:17:02 2015 Alexander von Gluck IV <kallisti5@unixzen.com> - - * beos: Drop support for BeOS now that Haiku is stable. - [Fix GH-1112] - -Tue Nov 24 09:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * internal.h (rb_gc_for_fd): move to export, as referred by - ext/socket. - -Tue Nov 24 09:04:29 2015 David Rodriguez <deivid.rodriguez@gmail.com> - - * file.c: [DOC] add a missing period to File docs, to terminate - the sentence and separate from the next sentence. [Fix GH-1111] - -Tue Nov 24 08:30:06 2015 JuanitoFatas <katehuang0320@gmail.com> - - * NEWS: Fix the issue number of `Struct#dig`, which should be - [Feature #11688]. [Fix GH-1110] - -Tue Nov 24 07:56:54 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (rsock_s_accept): handle ENOMEM - -Tue Nov 24 07:50:15 2015 Eric Wong <e@80x24.org> - - * dir.c (dir_initialize): use rb_gc_for_fd for ENOMEM - * ext/socket/init.c (rsock_socket): ditto - * ext/socket/socket.c (rsock_socketpair): ditto - * internal.h (rb_gc_for_fd): prototype - * io.c (rb_gc_for_fd): remove static - [ruby-core:71623] [Feature #11727] - -Tue Nov 24 06:46:27 2015 Eric Wong <e@80x24.org> - - * io.c (rb_gc_for_fd): new helper function - (ruby_dup): use rb_gc_for_fd - (rb_sysopen): ditto - (rb_fdopen): ditto - (rb_pipe): ditto - [ruby-core:71623] [Feature #11727] - -Tue Nov 24 05:13:35 2015 Eric Wong <e@80x24.org> - - * ext/fiddle/function.c (struct nogvl_ffi_call_args): - new struct for GVL release - (nogvl_ffi_call): new function - (function_call): adjust for GVL release - [ruby-core:71642] [Feature #11607] - * ext/fiddle/closure.c (struct callback_args): - new struct for GVL acquire - (with_gvl_callback): adjusted original callback function - (callback): wrapper for conditional GVL acquire - * ext/fiddle/depend: add dependencies - * ext/fiddle/extconf.rb: include top_srcdir for internal.h - * internal.h (ruby_thread_has_gvl_p): expose for fiddle - * vm_core.h (ruby_thread_has_gvl_p): moved to internal.h - * test/fiddle/test_function.rb (test_nogvl_poll): new test - -Mon Nov 23 19:53:12 2015 Naohisa Goto <ngotogenome@gmail.com> - - * configure.in: On Solaris, with gcc, "-std=iso9899:1999" - in $ansi_options is often also needed in CPPFLAGS, - because some feature definitions vary depending on such - standards options. - -Mon Nov 23 12:54:39 2015 Hamish Morrison <hamishm53@gmail.com> - - * configure.in: remove obsolete workarounds for Haiku. - - * dln.c, file.c, io.c: remove obsolete Haiku workarounds. - - * thread_pthread.c: add stack bounds detection for Haiku. - - * signal.c: get stack pointer from signal context on Haiku. - [ruby-core:67923] [Bug #10811] [Fix GH-1109] - -Mon Nov 23 11:44:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * gems/bundled_gems: bump version to minitest-5.8.3 - -Mon Nov 23 08:55:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ChangeLog: fix wrong reference for r52714 - -Sun Nov 22 22:23:37 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * gc.c (rb_raw_obj_info): fix compile errors when USE_RGENGC - is 0. - -Sun Nov 22 21:58:09 2015 Naohisa Goto <ngotogenome@gmail.com> - - * lib/cmath.rb: methods which has suffix '!' are now deprecated. - Re-apply r52469 made by Kazuki Tanaka, with fixing bug about - mathn.rb compatibility. [ruby-core:68528] [Feature #10974] - -Sun Nov 22 19:36:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/openssl/ossl.c: fix brew command for installation of openssl. - [ci skip][fix GH-1107] Patch by @arthurnn - -Sun Nov 22 17:59:50 2015 Naohisa Goto <ngotogenome@gmail.com> - - * configure.in: On Solaris, add -D_XOPEN_SOURCE=n only when both - AC_TRY_CPP and AC_TRY_COMPILE pass, because some options - (e.g. -std=iso9899:1999) are not set when running C preprocessor - or building ext. - -Sun Nov 22 16:53:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_peephole_optimize): remove unreachable code - chunk after jump/leave. - - * parse.y: move dead code elimination of logical operation to - compile.c. not to warn logical operation of literal constants. - -Sun Nov 22 16:37:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_peephole_optimize): eliminate always/never - branches after a literal object and when the value is used after - the branch. - -Sun Nov 22 01:23:43 2015 Naohisa Goto <ngotogenome@gmail.com> - - * configure.in: Add -D_XOPEN_SOURCE=500 (or 600 or 700) on Solaris - if available, mainly for enabling some features in sockets. - -Sun Nov 22 00:17:22 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/socket/test_socket.rb (test/socket/test_socket.rb): skip - the test when Socket::SO_TIMESTAMP is not defined. Fix error - on Solaris 10. [Bug #11728] [ruby-dev:49377] - -Sat Nov 21 18:57:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby.c (need_argument): move frozen-string-literal-debug option - from --enable to --debug. [Feature #11725] - - * ruby.c (proc_options): fix pointer overrun. do not advance argv - until it is valid. - -Sat Nov 21 13:59:09 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 is - SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html - -Sat Nov 21 13:31:52 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid - including ext/digest/extconf.h. [Bug #3231] - https://msdn.microsoft.com/library/36k2cdd4.aspx - - * ext/digest/*/extconf.rb: remove ext/digest from include search path - to avoid confusion of cl.exe. - - * ext/digest/*/*.[ch]: explicitly specify def.h's path. - -Sat Nov 21 13:05:16 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/openssl/ossl.h: LibreSSL doesn't have and need e_os2.h. - -Sat Nov 21 09:18:10 2015 Koichi Sasada <ko1@atdot.net> - - * thread_sync.c: reduce the specification of Queue#close. - * Queue#close accepts no arguments. - * deq'ing on closed queue returns nil, always. - [Feature #10600] - - * test/thread/test_queue.rb: catch up this fix. - -Sat Nov 21 08:44:21 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (iseq_compile_each): add debug information to NODE_STR - strings as default. - [Feature #11725] - - * insns.def (freezestring): add new instruction to support adding - debug information for dynamically constructed strings. - - * compile.c (iseq_compile_each): support adding debug information - for NODE_DSTR with freezestring instruction. - - * error.c (rb_error_frozen): change the debug information ID name - id_debug_created_info and this field should have a 2 element array - containing path and line information. - - * defs/id.def: ditto. - - * test/ruby/test_rubyoptions.rb: catch up this fix. - - * test/ruby/test_iseq.rb: now frozen strings are not same. - -Sat Nov 21 04:34:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * symbol.c (rb_str_intern): should not freeze the receiver itself - unexpectedly. [ruby-core:71611] [Bug #11721] - -Fri Nov 20 23:15:18 2015 Naotoshi Seo <sonots@gmail.com> - - * lib/logger.rb: expose logger mutex - [fix GH-541] Patch by @arthurnn - -Fri Nov 20 15:05:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * Added missing reference of GitHub - -Fri Nov 20 14:57:01 2015 Trevor Rowe <trevorrowe@gmail.com> - - * lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100" - header. [fix GH-949] - * test/net/http/test_http.rb: added test. - -Fri Nov 20 14:39:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/net/http.rb: set hostname before call ossl_ssl_set_session. - [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek - -Fri Nov 20 12:53:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * array.c: clarify docs for take_while/drop_while samples. - [ci skip][fix GH-1028] Patch by @leriksen - -Fri Nov 20 12:48:04 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/socket/socket.c: remove mention of :UNIX in getaddrinfo(). - It's typically not a support option. - [ci skip][fix GH-990] Patch by @eam - -Fri Nov 20 12:44:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rss/syndication.rb: Add nodoc marker for #validate_sy_updatePeriod. - [ci skip][fix GH-1105] Patch by @davydovanton - -Fri Nov 20 09:05:21 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (rb_vm_cref_replace_with_duplicated_cref): added. - - CREFs should not be shared by methods between `using'. - [Bug #11247] - - * vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto. - - * vm.c (vm_cref_dup): should copy refinements correctly. - - * eval.c: use rb_vm_cref_replace_with_duplicated_cref(). - - * eval_intern.h: add a decl. of - rb_vm_cref_replace_with_duplicated_cref(). - - * vm_eval.c (eval_string_with_cref): do not need to pass - scope's CREF because VM can find out CREF from stack frames. - - * test/ruby/test_refinement.rb: add a test. - -Fri Nov 20 06:52:53 2015 Eric Wong <e@80x24.org> - - * .gitattributes: new file for git users - [ruby-core:71578] [Feature #11713] - -Thu Nov 19 22:35:31 2015 Tanaka Akira <akr@fsij.org> - - * ext/socket/ancdata.c: Check buffer full and ignore MSG_TRUNC flag. - buffer fullness is more robust to detect the message is too big for - the buffer. - AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is - given. - -Thu Nov 19 21:55:11 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_start): force to invoke GC by GC.start - even if it is GC.disable'd. - - * test/ruby/test_gc.rb: add a test. - -Thu Nov 19 20:08:59 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: trivial performance improvements. - - name modified - vm1_gc_short_lived* 1.015 - vm1_gc_short_with_complex_long* 1.014 - vm1_gc_short_with_long* 1.000 - vm1_gc_short_with_symbol* 1.016 - vm1_gc_wb_ary* 1.002 - vm1_gc_wb_ary_promoted* 0.996 - vm1_gc_wb_obj* 1.045 - vm1_gc_wb_obj_promoted* 1.014 - vm3_gc 1.021 - - * gc.c (gc_writebarrier_generational): reorder parameters to optimize - register passing function call. - - * gc.c (gc_writebarrier_incremental): ditto. - - * gc.c (rb_gc_writebarrier): remove LIKELY(). - LIKELY() seems to move related functions not better places. - -Thu Nov 19 19:45:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of - the executable. [ruby-core:71561] [Bug #11711] - -Thu Nov 19 15:53:21 2015 Koichi Sasada <ko1@atdot.net> - - * signal.c: should also clear ruby_disable_gc. - [Bug #11692] - -Thu Nov 19 15:31:45 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (iseq_compile_each): T_IMEMO/iseq objects should be - wrap with ISeq wrappers. [Bug #11676] - -Thu Nov 19 15:16:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(c6b4946). - this version includes #1114, #1314, #1322, #1375, #1383, #1387 - * test/rubygems: ditto. - -Thu Nov 19 14:14:37 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (finish_overlapped_socket): return value of this - function should be only 0 or SOCKET_ERROR. - -Thu Nov 19 14:12:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_tailcall_optimize): apply tail call optimization - before conversion to specialized instructions. when looking - back from `leave` instruction, `send` instructions have been - translated already. - -Thu Nov 19 13:57:58 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input, - because POSIX platforms just do so. fixes test errors revealed by - r52647. - -Thu Nov 19 02:52:30 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size - only when vmaxdatlen is nil. - -Thu Nov 19 02:20:11 2015 Tanaka Akira <akr@fsij.org> - - * test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is - nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL. - Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709] - -Thu Nov 19 01:48:05 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * configure.in: add -static-libgcc for mingw automatically if available. - -Thu Nov 19 00:53:26 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children, - especially exts.mk. - - * common.mk (EXTMK_ARGS): use above option. - -Wed Nov 18 22:50:43 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (rb_class_clear_method_cache): should clear all - RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS). - - RCLASS_CALLABLE_M_TBL() caches complemented method entries. - It should be cleared when the modules are cleared. - On previous version clears only for direct children. - It is enough for normal modules because corresponding T_ICLASSes - are direct children. - - However, refinements create complex data structure. So that - we need to clear all children (and descendants). - [ruby-core:71423] [Bug #11672] - - * vm_method.c (rb_clear_method_cache_by_class): rb_mKernel - doesn't call rb_class_clear_method_cache, so that - clear child T_ICLASSes. - - * test/ruby/test_refinement.rb: enable disabled test. - -Wed Nov 18 21:09:08 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (prepare_callable_method_entry): use - RCLASS_CALLABLE_M_TBL() instead of accessing a filed directly. - -Wed Nov 18 17:08:18 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: introduce the following field and macros. - - * rb_method_definition_t::complemented_count to count shared method - entries because of complemented method entries and separate from - alias_count. - - Shared `def' only by complemented method entries should not prevent - method re-definition warning. - - * METHOD_ENTRY_COMPLEMENTED(me) to represent complemented method entry. - * METHOD_ENTRY_COMPLEMENTED_SET(me) to check it as complemented me. - - * vm_insnhelper.c (aliased_callable_method_entry): should also - check me->def->complemented_count. - - * vm_method.c (method_definition_addref_complement): add to count - complemented method entries number. - - * vm_method.c (rb_method_definition_release): release `def' iff - alias_count == 0 and complemented_count == 0. - - * test/ruby/test_module.rb: add a test. - -Wed Nov 18 17:06:19 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_raw_obj_info): fix trivial issues. - - * support SPECIAL_CONSTs. - * fix IMEMO/ment outputs. - -Wed Nov 18 11:32:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_peephole_optimize): eliminate always/never - branches after a literal object. this sequence typically - appears by defined? operator for a method call on a local - variable. - -Wed Nov 18 10:33:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size - when EMSGSIZE occurs on non HAVE_STRUCT_MSGHDR_MSG_CONTROL platforms - (such as, Windows). fixes a test error revealed by r52625. - -Wed Nov 18 10:12:36 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_recvmsg_internal): use 4096 as - default size to match pre-r52610, which also maps to a common - page size. - -Wed Nov 18 10:05:25 2015 Shugo Maeda <shugo@ruby-lang.org> - - * doc/syntax/refinements.rdoc: update documentation to reflect - recent changes. - [ci skip] [ruby-core:71466] [Misc #11681] Patch by James Adam - -Wed Nov 18 09:50:21 2015 Naotoshi Seo <sonots@gmail.com> - - * test/logger/test_logdevice.rb: Fix tests of logger to make it work on - windows (windows can not remove opened file) [Bug #11702] - -Wed Nov 18 06:59:52 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_recvmsg_internal): grow buffer - on unspecified maxdatlen - [ruby-core:71517] [Bug #11701] - * ext/socket/lib/socket.rb (Socket#recvmsg): nil default for dlen - (Socket#recvmsg_nonblock): ditto - * test/socket/test_socket.rb (test_recvmsg_udp_no_arg): new test - -Tue Nov 17 19:50:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (fstat): declare for mingw. - -Tue Nov 17 19:02:59 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * configure.in (BASERUBY): use Kernel#print instead of Kernel#p because - the baseruby may output CRLF as end of line. - -Tue Nov 17 15:34:34 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - * NEWS: Added update from Unicode 7.0.0 to 8.0.0 [ci skip] - -Tue Nov 17 15:30:30 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - * enc/unicode/casefold.h, name2ctype.h: Change Unicode - Version for regular expressions from 7.0.0 to - 8.0.0 (with help from Kimihito Matsui) [Feature #11563] - -Tue Nov 17 14:36:00 2015 Kenichi Kamiya <kachick1@gmail.com> - - * lib/ostruct.rb (dig): Implement OpenStruct#dig - [Feature #11688] - -Tue Nov 17 14:04:14 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/socket/lib/socket.rb (Socket#recvmsg{,_nonblock}): default values - of clen must be nil. - - * ext/socket/ancdata.c (bsock_sendmsg_internal): handle nil of clen. - fixes test errors introduced at r52602. - -Tue Nov 17 13:43:46 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/socket/lib/socket.rb: UNIXSocket is not always exists. fixes - install error on Windows, introduced at r52601. - -Tue Nov 17 11:27:23 2015 Eric Wong <e@80x24.org> - - * ext/socket/lib/socket.rb (Socket#recvfrom_nonblock): - UDPSocket#recvfrom_nonblock): - update doc for `exception: false` and destination buffer - [ruby-core:69542] [Feature #11229] - [ruby-core:69543] [Feature #11242] - -Tue Nov 17 11:25:05 2015 Eric Turner <ericturnerdev@gmail.com> - - * array.c (rb_ary_dig), hash.c (rb_hash_dig): [DOC] Update - comments describing dig methods. [Fix GH-1103] - - * struct.c (rb_struct_dig): [DOC] add rdoc. - -Tue Nov 17 11:22:22 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - * NEWS: Small grammatical fix [ci skip] - -Tue Nov 17 10:12:30 2015 Eric Wong <e@80x24.org> - - * ext/socket/lib/socket.rb (Socket.accept_loop): avoid exceptions - (Socket.udp_server_recv): ditto - -Tue Nov 17 09:59:00 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_sendmsg_internal): avoid arg parsing - [ruby-core:71439] [Feature #11339] - (rsock_bsock_sendmsg): make private, adjust for above - (rsock_bsock_sendmsg_nonblock): ditto - * ext/socket/rubysocket.h: adjust prototypes - (rsock_opt_false_p): remove - * ext/socket/basicsocket.c (rsock_init_basicsocket): - define private methods - * ext/socket/lib/socket.rb (BasicSocket#sendmsg): new wrapper - (BasicSocket#sendmsg_nonblock): ditto - -Tue Nov 17 09:45:18 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_recvmsg_internal): avoid arg parsing - (rsock_bsock_recvmsg): adjust for above change - (rsock_bsock_recvmsg_nonblock): ditto - [ruby-core:71439] [Feature #11339] - * ext/socket/rubysocket.h: adjust prototypes for above - * ext/socket/basicsocket.c (rsock_init_basicsocket): - adjust private methods - * ext/socket/lib/socket.rb (BasicSocket#recvmsg): wrapper method - (BasicSocket#recvmsg_nonblock): ditto - -Tue Nov 17 08:36:34 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (rsock_s_accept_nonblock): avoid parsing args - [ruby-core:71439] [Feature #11339] - * ext/socket/rubysocket.h: adjust prototype - * ext/socket/socket.c (sock_accept_nonblock): make private - * ext/socket/tcpserver.c (tcp_accept_nonblock): ditto - * ext/socket/unixserver.c (unix_accept_nonblock): ditto - * ext/socket/lib/socket.rb (Socket#accept_nonblock): - implement as wrapper, move RDoc - (TCPServer#accept_nonblock): ditto - (UNIXServer#accept_nonblock): ditto - -Tue Nov 17 08:25:57 2015 Eric Wong <e@80x24.org> - - * ext/socket/socket.c (sock_connect_nonblock): - avoid argument parsing in C. - [ruby-core:71439] [Feature #11339] - * ext/socket/lib/socket.rb (Socket#connect_nonblock): - new wrapper for private method, move RDoc - -Tue Nov 17 08:16:09 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (rsock_s_recvfrom_nonblock): - avoid arg parsing with C API - [ruby-core:71439] [Feature #11339] - * ext/socket/basicsocket.c (bsock_recv_nonblock): - adjust for above change, make private - * ext/socket/socket.c (sock_recvfrom_nonblock): ditto - * ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto - * ext/socket/lib/socket.rb (BasicSocket#recv_nonblock): - new wrapper for private method, move RDoc - (Socket#recvfrom_nonblock): ditto - (UDPSocket#recvfrom_nonblock): ditto - -Mon Nov 16 21:27:54 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/dtrace/helper.rb (Dtrace::TestCase#trap_probe): dtrace buffer - size is set as 8m on Solaris (default 4m). [Bug #11697] - -Mon Nov 16 20:03:14 2015 Naotoshi Seo <sonots@gmail.com> - - * lib/logger.rb: Add Logger#reopen - -Mon Nov 16 18:21:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * object.c (rb_obj_dig): dig in nested structs too. - - * struct.c (rb_struct_dig): new method Struct#dig. - [Feature #11688] - -Mon Nov 16 17:41:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_peephole_optimize): optimize tail calls on aref - and aset specialized instructions. - - * compile.c (iseq_peephole_optimize): optimize replaced leave - instruction copied to jump instruction too. - -Mon Nov 16 16:39:38 2015 Akinori MUSHA <knu@iDaemons.org> - - * lib/set.rb: Enable frozen_string_literal. - - * lib/set.rb: Move << out of the begin block that ensures pop. - -Mon Nov 16 16:28:30 2015 Akinori MUSHA <knu@iDaemons.org> - - * lib/set.rb (Hash#flatten!, #add?, #delete?, #collect!, #reject!, - #select!, #^, #classify): Micro-optimize some methods for - performance and readability. - -Mon Nov 16 16:17:58 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ChangeLog: fixed accidentally commit. - -Mon Nov 16 16:10:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * mkconfig.rb: Add some high-level documentation. - [ci skip][fix GH-1081] Patch by @ulfalizer - -Mon Nov 16 15:59:14 2015 yui-knk <spiketeika@gmail.com> - - * proc.c: Add call-seq of `Method#super_method` - [ci skip][fix GH-1094] - -Mon Nov 16 15:58:39 2015 Kenichi Kamiya <kachick1@gmail.com> - - * struct.c: Standardize a method signature of Struct#[]=. - [ci skip][fix GH-1095] - -Mon Nov 16 15:42:36 2015 Akinori MUSHA <knu@iDaemons.org> - - * lib/set.rb (#>=, #>, #<=, #<): Make use of Hash#>=, #>, #<, and - #<= when comparing against an instance of the same kind. - -Mon Nov 16 15:37:11 2015 Naotoshi Seo <sonots@gmail.com> - - * lib/logger.rb: Support symbol and string log level setting - -Mon Nov 16 15:33:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * tool/rbinstall.rb: fix wrong permission for gem specification without - zlib runtime. [Bug #11685][ruby-dev:49343] - -Mon Nov 16 12:11:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/webrick/httpauth/basicauth.rb: fix a typo. - [ci skip][fix GH-1099] Patch by @jwworth - * lib/webrick/httpauth/digestauth.rb: ditto. - -Sun Nov 15 18:28:43 2015 Kenichi Kamiya <kachick1@gmail.com> - - * vm_method.c (set_method_visibility): should fail if the receiver - is frozen. [ruby-core:71489] [Bug #11687] - -Sat Nov 14 22:15:07 2015 Tanaka Akira <akr@fsij.org> - - * ext/socket/lib/socket.rb: Specify frozen_string_literal: true. - -Sat Nov 14 21:44:56 2015 Tanaka Akira <akr@fsij.org> - - * lib/time.rb: Use "<<" to reduce string allocation. - -Sat Nov 14 17:45:49 2015 Tanaka Akira <akr@fsij.org> - - * lib/tsort.rb: Specify frozen_string_literal: true. - -Sat Nov 14 17:25:15 2015 Tanaka Akira <akr@fsij.org> - - * lib/resolv-replace.rb: Specify frozen_string_literal: true. - -Sat Nov 14 17:00:13 2015 Tanaka Akira <akr@fsij.org> - - * lib/time.rb: Specify frozen_string_literal: true. - -Sat Nov 14 16:43:02 2015 Tanaka Akira <akr@fsij.org> - - * lib/open3.rb: Specify frozen_string_literal: true. - -Sat Nov 14 05:04:09 2015 Koichi Sasada <ko1@atdot.net> - - * node.h: remove old comments. - -Sat Nov 14 04:55:36 2015 Koichi Sasada <ko1@atdot.net> - - * refactoring CREF related code. - - * eval_intern.h: remove unused setter functions. - CREF_CLASS_SET() - CREF_NEXT_SET() - CREF_SCOPE_VISI_COPY() - - * eval_intern.h: rename flags: - * NODE_FL_CREF_PUSHED_BY_EVAL_ -> CREF_FL_PUSHED_BY_EVAL - * NODE_FL_CREF_OMOD_SHARED_ -> CREF_FL_OMOD_SHARED - and use IMEMO_FL_USER1/2. - - * vm.c (vm_cref_new): accept push_by_eval parameter. - - * vm.c (vm_cref_new_use_prev): added for rb_vm_rewrite_cref(). - - * vm_insnhelper.c (vm_cref_push): accept pushed_by_eval parameter. - - * vm_insnhelper.h: remove unused macros: - COPY_CREF_OMOD() and COPY_CREF(). - - * vm_eval.c, insns.def: catch up this fix. - -Sat Nov 14 02:58:03 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (vm_define_method): refactoring. - * get CREF in this function. - * cbase is no longer needed (CREF_CLASS(cref) is enough). - - * compile.c: RubyVM::FrozenCore.define_method only accept 2 args. - -Sat Nov 14 02:34:43 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (vm_define_method): do not use current CREF immediately, - but check CREF in environment or methods. Methods defined in methods - should be public. - [Bug #11571] - - * vm_method.c (rb_scope_module_func_check): check CREF in env or me. - if CREF is contained by `me', then return FALSE. - - * test/ruby/test_method.rb: add a test. - -Sat Nov 14 02:19:16 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: constify rb_cref_t::scope_visi; - - * eval_intern.h (CREF_SCOPE_VISI_COPY): catch up this fix. - - * vm_method.c: ditto. - -Sat Nov 14 01:53:52 2015 Naohisa Goto <ngotogenome@gmail.com> - - * pack.c (pack_unpack, AVOID_CC_BUG): Very ugly workaround for - optimization bug of Oracle Solaris Studio 12.4 on Solaris - with -xO4 optimization option. [Bug #11684] - -Fri Nov 13 23:00:23 2015 Hiroshi Shirosaki <h.shirosaki@gmail.com> - - * configure.in: unset LD_PRELOAD on mingw. msys2 child processes - crash at make test-all with LD_PRELOAD. - [ruby-core:71461] [Bug #11680] - -Fri Nov 13 14:00:43 2015 Zachary Scott <zzak@ruby-lang.org> - - * ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735] - -Fri Nov 13 13:09:16 2015 Zachary Scott <zzak@ruby-lang.org> - - * ext/openssl/ossl_ssl.c: Merge ruby/openssl@81e1a30 - - * test/openssl/test_ssl.rb: ditto - -Fri Nov 13 13:05:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * prelude.rb (Thread.exclusive): warn as deprecated. - -Fri Nov 13 10:36:39 2015 Victor Nawothnig <Victor.Nawothnig@gmail.com> - - * parse.y (new_unless): optimize constant condition for `unless` - as well as `if`. [Fix GH-1092] - -Fri Nov 13 10:08:41 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/psych/psych.gemspec: bump version to 2.0.15 - -Thu Nov 12 18:44:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_magic_comment): should match exactly. - [ruby-core:71460] [Bug #11679] - -Thu Nov 12 16:16:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * template/prelude.c.tmpl: enable tail call optimization. - -Thu Nov 12 14:17:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_yylex): ANDDOT at the head of the line denote - line continuation from previous one to support fluent interface, - as well as single dot. - -Thu Nov 12 13:49:50 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(db78980). - this version includes #1367 , #1373 , #1375 - * test/rubygems: ditto. - -Thu Nov 12 10:53:41 2015 Eric Wong <e@80x24.org> - - * benchmark/bm_io_nonblock_noex2.rb: new benchmark based - on bm_io_nonblock_noex.rb - * io.c (io_read_nonblock): move documentation to prelude.rb - (io_write_nonblock): ditto - (Init_io): private, internal methods for prelude.rb use only - * prelude.rb (IO#read_nonblock): wrapper + documentation - (IO#write_nonblock): ditto - [ruby-core:71439] [Feature #11339] - -Wed Nov 11 18:30:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * sprintf.c (rb_str_format): look up the key, then get default - value and raise KeyError if the returned value is nil. - [ruby-dev:49338] [Ruby trunk - Bug #11677] - -Wed Nov 11 17:38:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (local_var_list_add): skip internal local variable - name by its type but not if it has a name. internal local - variable names are just unique per frame, not globally. - [ruby-core:71437] [Bug #11674] - -Wed Nov 11 14:14:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * transcode.c: fix a typo - [ci skip][fix GH-1091] Patch by @jwworth - -Wed Nov 11 11:58:38 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (initialize): Connections are in passive mode per - default now. The default mode can be changed by - Net::FTP.default_passive=. - [ruby-core:71146] [Feature #11612] - - * lib/net/ftp.rb (default_passive=, default_passive): new methods. - -Wed Nov 11 09:03:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * sprintf.c (rb_str_format): respect default value of a hash. no - longer raises KeyError unless the default value of the hash is - nil. [ruby-core:71354] [Bug #11661] - -Tue Nov 10 20:35:12 2015 Tanaka Akira <akr@fsij.org> - - * lib/open-uri.rb: Remove indicator for "frozen_string_literal: true". - - * lib/pp.rb: Ditto. - - * lib/prettyprint.rb: Ditto. - - * lib/resolv.rb: Ditto. - - * lib/securerandom.rb: Ditto. - - * lib/tmpdir.rb: Ditto. - - * lib/unicode_normalize/tables.rb: Ditto. - - * test/net/ftp/test_buffered_socket.rb: Ditto. - - * test/net/ftp/test_mlsx_entry.rb: Ditto. - - * test/open-uri/test_open-uri.rb: Ditto. - - * test/open-uri/test_ssl.rb: Ditto. - - * test/pathname/test_pathname.rb: Ditto. - - * test/test_pp.rb: Ditto. - - * test/test_prettyprint.rb: Ditto. - - * tool/transcode-tblgen.rb: Ditto. - - * ext/pathname/lib/pathname.rb: Ditto. - -Tue Nov 10 18:42:24 2015 Aleksandrs Ledovskis <aleksandrs@ledovskis.lv> - - * defs/id.def, parse.y: Switch internal token name to reflect - current form of safe-call operator. [Fix GH-1090] - -Tue Nov 10 18:25:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_hash_to_proc): use rb_func_proc_new to make light - weight proc. [Feature #11653] - -Tue Nov 10 18:23:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (cfunc_proc_t): add room for me. - - * proc.c (cfunc_proc_new): generalise for cfunc proc without env. - - * proc.c (rb_func_proc_new, rb_func_lambda_new): new functions to - make proc/lambda without env from cfunc. - -Tue Nov 10 17:32:35 2015 Naohisa Goto <ngotogenome@gmail.com> - - * bootstraptest/test_fork.rb ([ruby-dev:37934]): :NPROC (RLIMIT_NPROC) - is not supported on some platforms (e.g. Solaris 10). - -Tue Nov 10 16:57:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_hash_to_proc): new method Hash#to_proc. - [Feature #11653] - -Tue Nov 10 14:34:09 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * time.c (rb_time_timespec_new): swap utc and localtime - to generate gmt flag by INT_MAX - gmtoff. - -Tue Nov 10 14:01:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_hash_{le,lt,ge,gt}): new methods, Hash#<=, Hash#<, - Hash#>=, Hash#>, to test if all elements of a hash are also - included in another hash, and vice versa. - [ruby-core:68561] [Feature #10984] - -Tue Nov 10 11:25:29 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * time.c (rb_timespec_now): added. [Feature #11558] - - * time.c (rb_time_timespec_new): added. [Feature #11558] - -Tue Nov 10 06:17:17 2015 Eric Wong <e@80x24.org> - - * variable.c (rb_autoload_load): allow recursive calls - [ruby-core:71345] [Bug #11658] - * test/ruby/test_autoload.rb (test_autoload_while_autoloading): - new test by: Hiroshi Shirosaki <h.shirosaki@gmail.com> - [ruby-core:71390] - -Tue Nov 10 00:36:46 2015 Tanaka Akira <akr@fsij.org> - - * lib/resolv.rb (Resolv::DNS::Message::MessageEncoder#put_labels): - Prevent overflow of pointer to labels. - Patch by Hannes Georg. [ruby-core:71248] [Bug #11632] - -Tue Nov 10 00:25:41 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * gems/bundled_gems: update to power_assert 0.2.6. - -Mon Nov 9 21:48:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (rb_check_funcall_default): split from - rb_check_funcall to return the given fallback value. - - * object.c (rb_obj_dig): use rb_check_funcall_default so that tail - call optimization will be possible. [Feature #11643] - -Mon Nov 9 21:27:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (rb_ary_dig): new method Array#dig. - - * hash.c (rb_hash_dig): new method Hash#dig. - - * object.c (rb_obj_dig): dig in nested arrays/hashes. - [Feature #11643] - -Mon Nov 9 18:00:47 2015 Yuki Nishijima <mail@yukinishijima.net> - - * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta3 - -Mon Nov 9 17:38:14 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/runner.rb: use official repository for coverage tool. - * Makefile.in: ditto. - * common.mk: ditto. - * .gitignore: ignored third party repositories. - -Mon Nov 9 17:29:09 2015 Shugo Maeda <shugo@ruby-lang.org> - - * compile.c (iseq_compile_each): Dynamic string literals should be - frozen. - [ruby-core:57574] [Feature #8976] - -Mon Nov 9 15:56:07 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * common.mk: Use ruby organization url for simplecov repository. - -Sun Nov 8 16:24:09 2015 Masaki Matsushita <glass.saga@gmail.com> - - * NEWS: describe addition of File::TMPFILE - -Sun Nov 8 15:19:17 2015 Masaki Matsushita <glass.saga@gmail.com> - - * file.c: Add O_TMPFILE. - -Sun Nov 8 14:24:43 2015 windwiny <windwiny.ubt@gmail.com> - - * method.h (METHOD_ENTRY_{VISI,BASIC,FLAGS}_SET): suppress - shift-op-parentheses warnings. [Fix GH-1082] - -Sun Nov 8 14:01:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/psych/psych_emitter.c: backport 5bd7744 from tenderlove/psych. - support backward compatibility of Ruby 2.0 - -Sun Nov 8 10:55:10 2015 Anton Davydov <antondavydov.o@gmail.com> - - * io.c (rb_io_gets_m): Update IO#gets doc for characters more than - 1 byte. [Fix GH-1085] - -Sun Nov 8 10:37:58 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/uri/ftp.rb: fix a typo. - [fix GH-1084][ci skip] Patch by @windwiny - -Sun Nov 8 08:10:31 2015 Koichi Sasada <ko1@atdot.net> - - * vm_trace.c (exec_hooks_precheck): check need_clean everytime - to clean-up unused hooks. - - * vm_trace.c (list->need_clean): use as boolean value. - -Sun Nov 8 01:31:27 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * lib/net/http.rb (Net::HTTP#initialize): - default value of Net::HTTP#open_timeout is now 60 (was nil). - -Sat Nov 7 12:18:05 2015 Eric Wong <e@80x24.org> - - * string.c (id_to_s): remove redundant variable - (rb_obj_as_string): trade id_to_s for idTo_s - (rb_str_equal): replace rb_intern(...) with pre-defined ID - (rb_str_cmp_m): ditto - (rb_str_match): ditto - (str_upto_each): ditto - (rb_str_sum): ditto - (Init_String): remove id_to_s initialization - -Sat Nov 7 11:40:05 2015 Eric Wong <e@80x24.org> - - * thread.c (rb_cThreadShield): make static - -Sat Nov 7 09:51:38 2015 Koichi Sasada <ko1@atdot.net> - - * vm_trace.c (rb_threadptr_exec_event_hooks_orig): - maintain trace_running counter on internal events. - - This patch is made by Takashi Kokubun <takashikkbn@gmail.com>. - [Bug #11603] https://github.com/ruby/ruby/pull/1059 - -Sat Nov 7 03:32:27 2015 Koichi Sasada <ko1@atdot.net> - - * include/ruby/ruby.h (RSTRUCT_PTR): need a close parenthesis. - -Sat Nov 7 01:32:06 2015 Naohisa Goto <ngotogenome@gmail.com> - - * dir.c (dir_fileno, dirfd): support of Dir#fileno on Solaris 10. - Solaris 10 does not have dirfd, but the file descriptor of a - directory is stored in the d_fd or dd_fd member in the DIR struct. - Note that Solaris 11 has dirfd(3C). - - * configure.in: checks for DIR.d_fd and DIR.dd_fd on Solaris 10. - -Fri Nov 6 23:13:53 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * array.c: clarifies Array#reject! documentation. - [fix GH-894][ci skip] Patch by @GxSplinter - -Fri Nov 6 20:18:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/runner.rb: extracted test helper. - * test/lib/zombie_hunter.rb: ditto. - -Fri Nov 6 18:07:47 2015 Naohisa Goto <ngotogenome@gmail.com> - - * include/ruby/ruby.h (rb_array_const_ptr, rb_struct_const_ptr): - Suppress pointer type mismatch warnings occurred with old version - of Fujitsu C Compiler (fcc) on Solaris 10. The warnings cause - failure of TestMkmf::TestConvertible. [Bug #11644] [ruby-dev:49326] - * include/ruby/ruby.h (FIX_CONST_VALUE_PTR): macro for the above, - only effective with fcc. - -Fri Nov 6 12:39:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ - from ".?" to "&.". [ruby-core:71363] [Feature #11537] - -Fri Nov 6 09:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (kwd_append): fix segv after invalid keyword argument, - preceding keyword list is NULL when syntax error is there. - [ruby-core:71356] [Bug #11663] - -Fri Nov 6 06:59:37 2015 Eric Wong <e@80x24.org> - - * test/ruby/test_autoload: hoist out ruby_impl_require - -Thu Nov 5 13:03:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * defs/id.def (token_ops): gather associations between IDs, - operators, and parser tokens. - -Thu Nov 5 10:17:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/socket/socket.c (make_addrinfo): use RARRAY_ASET for - write-barrier. - - * ext/tk/tcltklib.c ({call,eval,invoke}_queue_handler): ditto. - - * ext/tk/tkutil/tkutil.c (ary2list, ary2list2): ditto. - -Thu Nov 5 10:09:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR. - pointed out by hanmac. - https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670 - -Wed Nov 4 17:33:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/debug.rb: Add documentation for #thread_list_all. - [Misc #11580][ci skip] - -Wed Nov 4 15:45:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * class.c: fix documentation for rb_define_class{_id}_under. - [fix GH-991][ci skip] Patch by @kachick - -Wed Nov 4 15:40:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * method.h: fix typo. Patch by @davydovanton - [fix GH-1076][ci skip] - -Wed Nov 4 15:39:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * hash.c: use correct grammar. Patch by @tveastman - [fix GH-1079][ci skip] - -Wed Nov 4 11:38:23 2015 Jake Worth <jakeworth82@gmail.com> - - * process.c (proc_getsid): [DOC] Fix double word 'for' and typo. - [Fix GH-1080] - -Wed Nov 4 06:01:52 2015 Eric Wong <e@80x24.org> - - * include/ruby/ruby.h (struct RObject): hide iv_index_tbl type - [ruby-core:71306] [Feature #11647] - -Tue Nov 3 06:48:58 2015 Eric Wong <e@80x24.org> - - * variable.c (find_class_path): remove cast for rb_class_ivar_set - (rb_ivar_set): ditto - (rb_cvar_set): ditto - -Tue Nov 3 06:18:21 2015 Eric Wong <e@80x24.org> - - * variable.c (rb_global_tbl): convert to id_table - -Tue Nov 3 01:58:46 2015 Naohisa Goto <ngotogenome@gmail.com> - - * parse.y (NO_QCALL): fix type mismatch of operands that causes - compile error with Oracle Solaris Studio on Solaris. - [Bug #11645] [ruby-dev:49327] - -Sun Nov 1 17:14:36 2015 Koichi Sasada <ko1@atdot.net> - - * id_table.c (mix_id_table_insert): do not touch list during - list->hash transition because GC can run during transition. - -Sun Nov 1 11:07:31 2015 Eric Wong <e@80x24.org> - - * iseq.c (iseq_memsize): account for rb_call_cache entries - -Sun Nov 1 09:12:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_yylex): ':' separated by a comment and a newline - is not valid as symbol. - -Sat Oct 31 20:15:48 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/openssl/test_pair.rb: skipped tests if openssl doesn't support - ECDH cipher. - -Sat Oct 31 14:58:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as - it does not allow spaces before its argument. - [ruby-core:71283] [Bug #11641] - -Sat Oct 31 14:58:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as - it does not allow spaces before its argument. - [ruby-core:71283] [Bug #11641] - -Sat Oct 31 10:22:49 2015 yui-knk <spiketeika@gmail.com> - - * eval_error.c (undef_mesg_for): fix typo. Before this commit - `ArgumentError: malformed format string - %$` was raised when - `NameError#message` is called. [ruby-core:71282] [Bug #11640] - [Fix GH-1077] - -Fri Oct 30 21:12:45 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * gems/bundled_gems: update to power_assert 0.2.5. - -Fri Oct 30 19:29:52 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (newobj_slowpath): do not need to use flags hack (commit miss). - -Fri Oct 30 19:08:48 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (heap_get_freeobj_from_next_freepage): not so UNLIKELY. - -Fri Oct 30 18:09:51 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (newobj_slowpath): reduce 1 parameter to use only registers - for performance. - - On my laptop, 'N.times{x = []}' (where N = 29_000_000) is - 1.86 sec -> 1.74 sec. - -Fri Oct 30 12:53:21 2015 yui-knk <spiketeika@gmail.com> - - * test/ruby/test_call.rb: added test for safe navigation operator. - [fix GH-1066] - -Fri Oct 30 12:47:34 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ChangeLog: fix wrong commit name. - -Fri Oct 30 12:36:16 2015 yui-knk <spiketeika@gmail.com> - - * vm_method.c: added documentation of protected/private methods. - [fix GH-1072] - * test/ruby/test_module.rb: added testcase for method_defined? - [fix GH-1071] - -Fri Oct 30 12:06:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * variable.c (rb_class_ivar_set): rename as class specific ivar - setter, and st_table is no longer involved. - -Fri Oct 30 11:36:33 2015 Eric Wong <e@80x24.org> - - * variable.c (generic_ivar_remove): adjust type, set valp - (rb_obj_remove_instance_variable): simplify call - * test/ruby/test_object.rb (test_remove_instance_variable): - expand for implementation details - -Fri Oct 30 10:37:56 2015 Eric Wong <e@80x24.org> - - * internal.h (rb_st_insert_id_and_value): update prototype - * variable.c (rb_st_insert_id_and_value): reduce args - (find_class_path): adjust call for less args - (rb_ivar_set): ditto - (rb_cvar_set): ditto - * class.c (rb_singleton_class_attached): ditto - -Fri Oct 30 09:57:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * gems/bundled_gems: update latest gems. - test-unit-3.1.5 and minitest-5.8.2 - -Fri Oct 30 09:54:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems: Update to RubyGems HEAD(60d7972). - this version contains pull requests number of #1343, #1356, #1357, #1363 - at https://github.com/rubygems/rubygems/pulls - * test/rubygems: ditto. - -Fri Oct 30 07:38:29 2015 Koichi Sasada <ko1@atdot.net> - - * insns.def (getinlinecache/setinlinecache): compare ic->ic_cref and - current cref only when cached CREF list includes singleton class. - - Singleton classes have own namespaces, so that we need to check - cref as a key (#10943). - - However, if current CREF list does not include singleton class, - no need to check CREF because it should be same name space. - - * vm_insnhelper.c (vm_get_const_key_cref): add a function returns - CREF only when it includes singleton class. - - * vm_core.h: constify iseq_inline_cache_entry::ic_cref. - -Fri Oct 30 06:43:50 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_env_cref): make it inline for performance. - - * vm_insnhelper.c (rb_vm_get_cref): use NULL instead of 0. - -Fri Oct 30 06:20:40 2015 Koichi Sasada <ko1@atdot.net> - - * insns.def: nobody set ic->ic_value.value to Qundef. - -Fri Oct 30 06:15:50 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c: add ifndef guard for VM_CHECK_MODE. - -Fri Oct 30 06:13:10 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_check_frame_detail): should require me for - VM_FRAME_FLAG_BMETHOD type frame. - -Thu Oct 29 18:42:30 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_mark_ptr): specify NOINLINE so that gc_mark() can return - immediately when obj is not a markable object. - -Thu Oct 29 18:05:22 2015 Koichi Sasada <ko1@atdot.net> - - * encoding.c (rb_enc_check_str): add for performance. - This function only accepts T_STRING (and T_REGEXP). - - This patch improves performance of a tiny_segmenter benchmark - (num=2) 2.54sec -> 2.42sec on my machine. - https://github.com/chezou/TinySegmenter.jl/blob/master/benchmark/benchmark.rb - - * encoding.c: add ENC_DEBUG and ENC_ASSERT() macros. - - * internal.h: add a decl. of rb_enc_check_str(). - - * string.c (rb_str_plus): use rb_enc_check_str(). - - * string.c (rb_str_subpat_set): ditto. - -Thu Oct 29 17:16:40 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: export rb_wb_(un)protected_newobj_of() - because some extensions include internal.h. - -Thu Oct 29 16:42:19 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_imemo_new): should not pass FL_WB_PROTECTED flag. - - * gc.c (rb_wb_protected_newobj_of): add more assertions. - - * gc.c (rb_wb_unprotected_newobj_of): ditto. - -Thu Oct 29 16:20:26 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: introduce rb_wb_unprotected_newobj_of() and - rb_wb_protected_newobj_of(), pass the WB_PROTECTED - information explicitly. - - * internal.h: use introduced functions by NEWOBJ_OF(). - `flag' is immediate value, so that C compilers can - solve them at compile time. - - * include/ruby/ruby.h: add a comment about that. - -Thu Oct 29 14:52:03 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: add rb_objspace::flags::has_hook to represent hook availability. - - * gc.c: add gc_event_hook_available_p(objspace) to check that flag. - - * gc.c (newobj_of): use gc_event_hook_available_p() instead of - checking gc_event_hook_needed_p(objspace, RUBY_INTERNAL_EVENT_NEWOBJ). - for performance. - - * gc.c (newobj_init): add UNLIKELY() for FL_WB_PROTECTED flag. - - * gc.c (newobj_init): change parameters order (trivial change). - -Thu Oct 29 14:45:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_core.h (rb_thread_struct): move forward declarations before - used. - -Thu Oct 29 14:07:54 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_mark_ptr): remove debug code for #11244. - -Thu Oct 29 10:08:33 2015 Eric Wong <e@80x24.org> - - * variable.c (struct autoload_state): usable as wait-queue head - (struct autoload_data_i): remove 2 words of overhead - (autoload_i_mark): remove marking for thread - (autoload_reset): adjust for struct changes - (rb_autoload): ditto - (rb_autoloading_value): ditto - (rb_autoload_load): ditto - (const_update): ditto - -Thu Oct 29 08:48:05 2015 Eric Wong <e@80x24.org> - - * variable.c (struct autoload_data_i): add waitq_head - (struct autoload_state): new struct - (autoload_require): save result in autoload_state for use - in autoload_reset - (autoload_reset): wake up other waiters with open-coded - wait-queues - (rb_autoload_load): add ensure autoload_const_set happens - atomically w.r.t. autoload-triggered "require" - [ruby-core:70075] [ruby-core:71239] [Bug #11384] - -Wed Oct 29 00:39:50 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/rubygems/test_gem_commands_server_command.rb - (test_handle_options_port): change port from http to discard. - Solaris does not include "http 80/tcp" in its default - /etc/inet/services. AFAIK, discard (9/tcp) is older than http - and it is expected that all OS can resolve the service name. - [Bug #10004] [ruby-core:63518] - -Wed Oct 28 23:52:48 2015 Naohisa Goto <ngotogenome@gmail.com> - - * probes_helper.h (RUBY_DTRACE_HOOK): add RB_GC_GUARD, though paranoic. - -Wed Oct 28 15:36:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * error.c (rb_name_err_new): store the receiver directly. - - * error.c (name_err_receiver): return directly stored receiver. - [Feature #10881] - - * error.c (name_err_mesg_to_str): quote the name if unprintable. - - * object.c (check_setter_id): use rb_check_id to convert names. - - * variable.c (uninitialized_constant): use NameError::message to - keep the receiver of uninitialized constant. [Feature #10881] - - * error.c (rb_name_err_new): new function to create NameError - exception instance. [Feature #10881] - -Wed Oct 28 13:29:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (new_attr_op_assign): fix op_assign type, which is - already an ID since r52284. [Feature #11537] - -Tue Oct 27 23:14:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * defs/id.def: enable anonymous IDs not to expose internal IDs for - frozen-string-literal-debug by Marshal.dump. - -Tue Oct 27 17:06:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * defs/id.def: move internal IDs for frozen-string-literal-debug. - -Tue Oct 27 16:41:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * error.c (rb_error_frozen_object): use rb_attr_get instead of - rb_ivar_get to get rid of warnings for string objects created - when frozen-string-literal-debug is disabled. - -Tue Oct 27 16:18:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/logger.rb (Logger::Period#previous_period_end): as weekly - rotation shifts the log file on Sundays, the end date of the - previous period should be Saturdays. fix r45072. - [ruby-dev:49314] [Bug #11622] - -Tue Oct 27 16:12:37 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * vm_dump.c (rb_print_backtrace): our addr2line doesn't work on sparc. - http://rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20151027T043311Z.log.html.gz - -Tue Oct 27 12:00:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/logger.rb (Logger::Period#next_rotate_time): get rid of - adding to mday not to exceed the days of the month. - [ruby-core:71185] [Bug #11620] - -Mon Oct 26 22:43:03 2015 yui-knk <spiketeika@gmail.com> - - * test/ruby/test_module.rb (test_method_defined): Add test cases - for `public/protected/private _method_defined?` - These methods accept string as argument, so add string argument - cases. [Fix GH-1067] - -Mon Oct 26 22:23:30 2015 SimonDKnight <simondknight@hotmail.com> - - * lib/racc/rdoc/grammar.en.rdoc: Grammatical errors fixed. - [Fix GH-1070] - -Mon Oct 26 18:36:43 2015 Shota Fukumori (sora_h) <her@sorah.jp> - - * vm_method.c(rb_method_entry_make): - [DOC] [ci skip] Remove a needless space from comment - [Fixes GH-1069] Patch by @yui-knk - -Mon Oct 26 17:30:13 2015 Ryan Hosford <tad.hosford@gmail.com> - - * lib/fileutils.rb: rename tailing to trailing. - [Misc #11548] - -Mon Oct 26 17:11:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (call_op, call_op2): fix values on ripper. [Feature #11537] - -Mon Oct 26 12:55:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (call_op2): separate from call_op and also allow "::", - while dot_or_colon should not allow ".?". [Feature #11537] - -Mon Oct 26 01:03:23 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * thread_pthread.c: fix compile errors when - USE_SLEEPY_TIMER_THREAD is disabled. - -Sun Oct 25 10:12:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * symbol.c (op_tbl): add DOTQ for ripper. [Feature #11537] - -Sat Oct 24 22:51:18 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * configure.in: fixed build failure of Haiku. - [fix GH-984] Patch by @kallisti5 - * ext/socket/getaddrinfo.c: ditto. - * ext/socket/getnameinfo.c: ditto. - * ext/socket/rubysocket.h: ditto. - -Sat Oct 24 21:16:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/fileutils/test_fileutils.rb (test_uptodate): relax error - message format. [Feature #9025], [ruby-core:71178] [Bug #11617] - -Sat Oct 24 21:06:43 2015 Shota Fukumori (sora_h) <her@sorah.jp> - - * lib/mkmf.rb: Revert r45640 because it may lead to link - with different libruby. [Bug #9760] - -Sat Oct 24 15:42:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * bootstraptest/test_method.rb: relax error message format. - - * test/ruby/test_arity.rb (err_mess): ditto. - [Feature #9025], [ruby-core:71178] [Bug #11617] - -Sat Oct 24 12:47:47 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * vm_insnhelper.c: improved error message for "wrong number - of arguments", distinguishing given and expected argument - numbers clearly. [Feature #9025] - -Sat Oct 24 11:57:59 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_insnhelper.c: remove the typedef redeclaration of - vm_call_handler. - -Sat Oct 24 07:29:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/forwardable.rb (def_instance_delegator, def_single_delegator): - match backtraces against ::Forwardable in case the target class - is a subclass of BasicObject and does not include Kernel. - [ruby-core:71176] [Bug #11616] - -Sat Oct 24 04:10:13 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (make_compile_option_value): include frozen_string_literal* - in a made option value. - - * vm_opts.h: forgot to add OPT_FROZEN_STRING_LITERAL_DEBUG - at last commit. - -Sat Oct 24 03:58:02 2015 Koichi Sasada <ko1@atdot.net> - - * ruby.c: introduce --enable-frozen-string-literal-debug option. - If this option is enabled, the modify error will be: - can't modify frozen String (RuntimeError) => - can't modify frozen String, created at test.rb:3 (RuntimeError) - - * iseq.h: add compile option frozen_string_literal_debug. - - * compile.c: catch up this fix. - - * error.c (rb_error_frozen): ditto. - - * iseq.c (set_compile_option_from_hash): ditto. - - * test/ruby/test_rubyoptions.rb: add a test for this fix. - -Sat Oct 24 02:02:24 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c: introduce new call handler for simple ISeqs. - - vm_call_iseq_setup_normal_0start() is simple, however it has - some loops/conditions depends on ISeq::param.size and - ISeq::local_size (in vm_push_frame(), inlined into this function). - - There are many simple methods which has a few parameters and local - variables. So that this patch introduces several special functions - generated in vm_call_iseq_optimized.inc by - tool/mk_call_iseq_optimized.rb. - - This script makes - vm_call_iseq_setup_normal_0start_Xparams_Ylocals() - where X is 0 to 3 and Y is 1 to 6 (as current setting). - In this case, X * Y = 24 functions are created. - - These functions creates fast method dispatch by inlining - vm_push_frame() with immediate params/locals sizes. - - On my laptop, we can have the following results. - - vm2_method* 1.083 (8.3% faster) - vm2_poly_method* 0.961 (3.4% slower) - - It shows 8.3% faster for inner loop method dispatch (hit inline - cache), but 3.4% slower when inline cache miss because we need - to find a suitable call handler. - - * common.mk: add a rule for vm_call_iseq_optimized.inc. - - * tool/mk_call_iseq_optimized.rb: added. - - * vm.c: include vm_call_iseq_optimized.inc. - -Sat Oct 24 01:58:50 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: define vm_call_handler. - -Sat Oct 24 01:56:01 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h, vm_insnhelper.h: move definition of VMDEBUG - from vm_insnhelper.h to vm_core.h. - -Sat Oct 24 01:51:01 2015 Akinori MUSHA <knu@iDaemons.org> - - * NEWS: [DOC] In the new safe call syntax, arguments are evaluated - only if a call is made. - - * doc/syntax/calling_methods.rdoc: Fix a typo. - -Sat Oct 24 00:38:34 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/forwardable (def_instance_delegator, def_single_delegator): - rescue ::Exception instead of Exception in case Exception is - defined under the target class. - [ruby-core:71175] [Ruby trunk - Bug #11615] - -Fri Oct 23 21:10:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * error.c (name_err_mesg_to_str): separate class names from the - receiver description. - - * vm_eval.c (make_no_method_exception, raise_method_missing): add - format specifiers for class names. - -Fri Oct 23 18:10:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * .gitignore: ignored environmental wrapper files. - -Fri Oct 23 17:55:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/irb.rb: Ignored assignment of STDOUT.sync = true - when irb.rb loaded. It's affected to IDE such as Jetbrain. - [fix GH-864] Patch by @os97673 - -Fri Oct 23 16:35:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained - EOL string. Patch by @kachick [fix GH-942][Bug #11513] - -Fri Oct 23 16:03:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * file.c: fix indent style. [fix GH-977] - * test/ruby/test_string.rb: indent. [fix GH-975] - [ci skip] These patches are contributed from @yui-knk - -Fri Oct 23 15:46:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * string.c: Added method signature to include hash. It's inconsistency - with `gsub` method signature. - [ci skip][fix GH-1023] Patch by @danielevans - -Fri Oct 23 15:25:51 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/imap.rb: remove an empty comment line and -*-. - -Fri Oct 23 15:20:02 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (gettextfile, getbinaryfile): use the safe - navigation operator. - -Fri Oct 23 13:51:33 2015 yui-knk <spiketeika@gmail.com> - - * test_call.rb (test_safe_call): Add test cases for safe - navigation operator assignment. [Fix GH-1064] - Validate: - * can assign an attribute which is `nil` - * can "or assign" an attribute which is `nil` - -Fri Oct 23 11:58:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_peephole_optimize): optimize lengthy safe - navigation method chain. [Feature #11537] - -Fri Oct 23 10:58:41 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/matrix/eigenvalue_decomposition.rb (tridiagonalize): fix - indentation to avoid a warning when the command line option -w of - ruby is specified. - - * lib/matrix/eigenvalue_decomposition.rb (hessenberg_to_real_schur): - change the name of a block parameter to avoid a warning when the - command line option -w of ruby is specified. - -Fri Oct 23 10:49:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_compile_each): support safe navigation of simple - attribute assignment. [Feature #11537] - - * parse.y (mlhs_node, lhs, attrset_gen): ditto. keep mid - non-attrset as the sign of safe navigation. - -Fri Oct 23 07:17:11 2015 Eric Wong <e@80x24.org> - - * test/io/wait/test_io_wait.rb (test_wait_eof): test return value - -Fri Oct 23 00:32:02 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise error - in ext/openssl instead of OpenSSL itself because LibreSSL - silently truncate the selected protocol name by casting the length - from int to unsigned char. [Bug #11369] - Patch by Jeremy Evans <merch-redmine@jeremyevans.net> - -Fri Oct 23 00:49:45 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/un.rb (help): change the name of a block parameter to avoid - a warning when the command line option -w of ruby is specified. - -Fri Oct 23 00:22:20 2015 Josef Simanek <josef.simanek@gmail.com> - - * string.c (rb_str_tr): [DOC] Escape backslash in String#tr - documentation. [Fix GH-1063] - -Fri Oct 23 00:19:04 2015 yui-knk <spiketeika@gmail.com> - - * array.c (rb_ary_collect): [DOC] Fix space of code example of - Array#map. [Fix GH-1062] - -Thu Oct 22 18:52:53 2015 Akinori MUSHA <knu@iDaemons.org> - - * vm_eval.c (rb_f_loop): When a loop is stopped by a StopIteration - exception, return what the enumerator has returned instead of - nil. [ruby-core:71133] [Feature #11498] - -Thu Oct 22 18:25:10 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/imap.rb (idle): add a new argument timeout for keep-alive. - [ruby-core:63693] [Bug #10031] - -Thu Oct 22 15:30:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_peephole_optimize): peephole optimization for - branchnil jumps. - - * compile.c (iseq_compile_each): generate save navigation operator - code. - - * insns.def (branchnil): new opcode to pop the tos and branch if - it is nil. - - * parse.y (NEW_QCALL, call_op, parser_yylex): parse token '.?'. - [Feature #11537] - -Thu Oct 22 13:16:19 2015 Guilherme Reis Campos <guilhermekbsa@gmail.com> - - * dir.c (ruby_brace_expand): glob brace expansion edge case fix. - When there are closing braces '}' before a open brace '{' it - must be ignored and considered as literal. - [ruby-core:71138] [Bug #11609] - -Thu Oct 22 13:13:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (argf_next_argv): check ARGV element type, and try - conversion if necessary. [ruby-core:71140] [Bug #11610] - -Thu Oct 22 11:11:16 2015 Shugo Maeda <shugo@ruby-lang.org> - - * test/net/ftp/test_ftp.rb: add tests for getbinaryfile and - gettextfile. - -Wed Oct 21 18:34:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_magic_comment): allow a sole magic comment without - indicators, neither other non-space comments. [Feature #8976] - -Tue Oct 20 12:17:56 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Add basic argument checking to Prime.prime? - [Bug #11606] - -Tue Oct 20 12:17:50 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Optimize Integer#prime? - Patch by Nick Slocum [Bug #10354] - -Tue Oct 20 08:12:47 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * configure.in: pthread_getattr_np is broken on AIX. - More specifically, the stack address and size returned are - not correct. - -Tue Oct 20 05:54:46 2015 Eric Wong <e@80x24.org> - - * ext/fiddle/closure.c (callback): static function - -Mon Oct 19 10:33:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/socket/init.c (rsock_raise_socket_error): get rid of a glibc - bug. [ruby-core:71100] [Bug #11600] - -Mon Oct 19 01:26:26 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * file.c (rb_file_identical_p): not necessary to compare the paths after - comparing the file indexes on Windows. designate by kosaki. - -Sun Oct 18 21:17:27 2015 Tanaka Akira <akr@fsij.org> - - * lib/open-uri.rb: Specify frozen_string_literal: true. - -Sun Oct 18 14:37:56 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * random.c (fill_random_bytes_urandom): add a comment why using - O_NONBLOCK and O_NOCTTY. - -Sun Oct 18 13:24:17 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * random.c (fill_random_bytes_syscall): use ATOMIC_SET() for - updating try_syscall. - -Sun Oct 18 13:03:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * include/ruby/backward/util.h: Good-by Borland-C. - -Sun Oct 18 13:03:09 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * common.mk: add a comment how to use "make test-all" - -Sun Oct 18 12:59:22 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * common.mk: add comments how to use "make benchmark" - -Sun Oct 18 12:58:15 2015 Tanaka Akira <akr@fsij.org> - - * lib/securerandom.rb: Specify frozen_string_literal: true. - -Sun Oct 18 11:22:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * dln.c: remove defined(__WATCOMC__). - -Sun Oct 18 11:16:33 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * lib/mkmf.rb: Good-by Borland-C. - -Sun Oct 18 11:04:36 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * numeric.c: Good-by Borland-C. - * include/ruby/backward/rubyio.h: ditto. - * include/ruby/backward/st.h: ditto. - * include/ruby/backward/util.h: ditto. - * include/ruby/backward/rubysig.h: ditto. - * include/ruby/backward/classext.h: ditto. - * dln.c: ditto. - * gc.c: ditto. - * win32/resource.rb: ditto. - * win32/dir.h: ditto. - * ext/tk/tcltklib.c: ditto. - * NEWS: announce that Borland-C is no longer supported. - -Sun Oct 18 10:54:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * dln.c: simplify #ifdef. _WIN32 and __CYGWIN__ are exclusive. - see include/ruby/defines.h - * gc.c: ditto. - * ext/sdbm/_sdbm.c: ditto. - -Sun Oct 18 10:42:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * ruby.c (open_load_file): add a comment. - -Sun Oct 18 10:12:46 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * file.c (rb_file_identical_p): simplify ifdefs - -Sun Oct 18 10:01:40 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * ChangeLog: Good-bye OS/2. - * common.mk: ditto. - * configure.in: ditto. - * dln_find.c: ditto. - * ext/Setup.emx: ditto. - * ext/extmk.rb: ditto. - * ext/socket/extconf.rb: ditto. - * ext/zlib/extconf.rb: ditto. - * file.c: ditto. - * include/ruby/defines.h: ditto. - * io.c: ditto. - * lib/mkmf.rb: ditto. - * missing/os2.c: ditto. - * process.c: ditto. - * ruby.c: ditto. - * NEWS: announce OS/2 is no longer supported. - -Sun Oct 18 08:50:15 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * include/ruby/defines.h (DOSISH): add comments. - -Sun Oct 18 08:26:51 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * io.c (fptr_finalize): don't release gvl if fptr is not writable. - writable fd may block on close(2) when it's on NFS. But readonly - fd doesn't. [Bug #11559] - result: make benchmark OPTS="-p bm_require_t -e ruby-trunk -e ruby-2.2.2" - build-ruby: 0.171 - ruby 2.3.0dev(r52151): 0.659 - ruby 2.2.0p95 (r50295): 0.834 - -Sun Oct 18 09:32:58 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * file.c (ruby_is_fd_loadable): this should be fail if st_mode is - not regular file nor FIFO. - -Sun Oct 18 09:20:17 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * ruby.c (open_load_file): use rb_thread_wait_fd() instead of reopen. - -Sun Oct 18 05:11:22 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * ruby.c (open_load_file): reset O_NONBLOCK after open. - Even if S_ISREG() is true, the file may be file on FUSE filesystem - or something. We can't assume O_NONBLOCK is safe. - Moreover, we should wait if the path is point to FIFO. That's - FIFO semantics. GVL should be transparent from ruby script. - Thus, just reopen without O_NONBLOCK for filling the requirements. - [Bug #11060][Bug #11559] - - * ruby.c (loadopen_func): new for the above. - - * file.c (ruby_is_fd_loadable): new. for checks loadable file type - of not. - * file.c (rb_file_load_ok): use ruby_is_fd_loadble() - * internal.h: add ruby_is_fd_loadble() - - * common.mk: now, ruby.o depend on thread.h. - - * test/ruby/test_require.rb - (TestRequire#test_loading_fifo_threading_success): new test. - This test successful case that loading from FIFO. - - * test/ruby/test_require.rb - (TestRequire#test_loading_fifo_threading_raise): rename from - test_loading_fifo_threading. You shouldn't rescue an exception - if you test raise or not. - Moreover, this case should be caught IOError because load(FIFO) - should be blocked until given any input. - -Sat Oct 17 13:55:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_file_expand_path_internal): concatenate converted - string to the result instead of making converted string and - append it. - - * string.c (rb_str_cat_conv_enc_opts): from rb_str_conv_enc_opts, - separate function to concatenate with transcoding. - -Sat Oct 17 13:19:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby.c (load_file): unify each preparations and clean-ups by - merging load_file_internal and load_file_internal2, and remove - nested rb_protect and rb_ensure. - -Sat Oct 17 05:28:32 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up - code and check RSS to avoid false positive on AIX and false - negative on Mac OS X. [Bug #10686] - -Fri Oct 16 15:54:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_file_load_ok): open in non-blocking mode withoout - releasing GVL. don't care about others than regular files and - directories. [ruby-dev:49272] [Bug #11559] - - * ruby.c (load_file_internal): ditto. - -Thu Oct 15 23:56:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (rb_sym_to_proc): make void env. - -Thu Oct 15 13:37:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (rb_sym_to_proc): move from string.c and create a Proc - with no environments. [ruby-core:71088] [Bug #11594] - -Thu Oct 15 01:57:03 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> - - * test/objspace/test_objspace.rb - (test_trace_object_allocations_start_stop_clear): clear object - allocation table first to get rid of erroneous detection for obj3. - [ruby-dev:49095] [Bug #11271] - -Thu Oct 15 01:53:38 2015 Benoit Daloze <eregontp@gmail.com> - - * test/ostruct/test_ostruct.rb: Add tests for OpenStruct#respond_to. - Patch by @jeremy in [GH-1041]: https://github.com/ruby/ruby/pull/1041 - -Thu Oct 15 01:49:25 2015 Benoit Daloze <eregontp@gmail.com> - - * lib/ostruct.rb: Finish defining OpenStruct attributes lazily. - Patch by @sferik in [GH-1037]: https://github.com/ruby/ruby/pull/1037 - This commit is an addendum to https://github.com/ruby/ruby/pull/1033. - It: - 1. lazily defines attribute accessors for copied and marshaled objects, - 2. returns nil when an attribute reader is not defined, and - 3. defines respond_to_missing? to maintain the same respond_to? behavior - -Wed Oct 14 16:56:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in: check for libunwind.h, which is not available in - very old OS X SDK. [ruby-core:71080] [Bug #11591] - -Wed Oct 14 14:11:42 2015 Brian Black <bblack@veracode.com> - - * iseq.c (rb_insn_operand_intern): change kw in callinfo disasm from the - number of keyword arguments to an ordered list of the keywords used. - [Feature #11589] - -Wed Oct 14 13:58:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_nextc): send a warning to ripper, not to STDERR - always. - - * parse.y (rb_warn1, rb_warning1): move argument conversions to - callers. PRIsVALUE is not valid in String#%. - -Wed Oct 14 13:37:23 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/racc/rdoc/grammar.en.rdoc: fix spell error. - [fix GH-1053][ci skip] Patch by @Matrixbirds - -Tue Oct 13 22:06:50 2015 Tanaka Akira <akr@fsij.org> - - * ext/socket/raddrinfo.c (rsock_fd_family): Check sa_len. - -Tue Oct 13 12:14:10 2015 Craig Davison <craig65535@gmail.com> - - * ext/socket/rsock_addrinfo (rsock_addrinfo): specify address - family. [Fix GH-1052] - - * ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send): - address family by the receiver. - -Sun Oct 11 07:09:19 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_push_frame): initialize other than sp (and ep) - first for performance. - -Sun Oct 11 06:21:50 2015 Koichi Sasada <ko1@atdot.net> - - * vm_eval.c, internal.h (rb_yield_1): added for performance which - doesn't check Qundef. - - * numeric.c (int_dotimes): use rb_yield_1. - -Sun Oct 11 06:19:49 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_call_iseq_setup_normal): setup sp first - for performance. - -Sun Oct 11 05:29:51 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (invoke_block_from_c): split this function into several - functions. - - * vm_insnhelper.c (vm_yield_callee_setup_arg): remove this function - because it is only delegation function. - -Sun Oct 11 03:48:46 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (newobj_of_slowpass): fix typo (pass -> path). - Pointed out by Yukihiro Matsumoto <matz@ruby-lang.org>. - - * gc.c (newobj_of_...): `of' is unnecessary. - -Sat Oct 10 19:04:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/socket/udpsocket.c (udp_connect, udp_bind): get open files - inside ensure functions. - -Sat Oct 10 18:35:12 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_call_method0): do not propagate enable_fastpath, - but pass dummy CC to prevent wrong caching. - -Sat Oct 10 15:28:45 2015 Koichi Sasada <ko1@atdot.net> - - * import a github pull request - https://github.com/ruby/ruby/pull/1050 - by Kazuho Oku <kazuho@natadeco.co>. - - This pull request has the following commits. - - * gc.c: reduce # of args to 6 (max. of register args on x86-64) so - that the `newobj_of_slowpass` can be called via TCO. - - * gc.c (newobj_of), string.c (str_duplicate): for performance, - the hot functions must be inlined. - - * gc.c: for performance, preceding arguments of `.*newobj_of.*` - must be same, so that the arg registers can be reused in case of - TCO. - -Sat Oct 10 08:52:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send): fix - memory leaks at closed socket. - -Fri Oct 9 17:29:07 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (parse257): refactor. - -Fri Oct 9 16:42:26 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/imap.rb: use frozen_string_literal: true. - - * test/net/imap/test_imap.rb: ditto. - - * test/net/imap/test_imap_response_parser.rb: ditto. - -Fri Oct 9 15:52:28 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb: use frozen_string_literal: true. - - * test/net/ftp/test_buffered_socket.rb: ditto. - - * test/net/ftp/test_ftp.rb: ditto. - - * test/net/ftp/test_mlsx_entry.rb: ditto. - -Fri Oct 9 14:12:35 2015 Shota Fukumori (sora_h) <her@sorah.jp> - - * ext/openssl/lib/openssl/ssl.rb: Revert r52082 because it was - dropping TLS v1.1 support too. Supporting only TLS v1.2 is too - early, because many popular websites still don't support it. - - For instance, Servers where aws-sdk connects to still don't support - TLS v1.2 and it became broken. - - We should consider more carefully about this. - - [Fix GH-873] [Feature #11524] - -Fri Oct 9 12:52:08 2015 Shugo Maeda <shugo@ruby-lang.org> - - * compile.c (iseq_compile_each): Dynamic string literals (e.g., - "#{x}") should not be frozen because they don't literally - represent strings. - https://twitter.com/shugomaeda/status/651937650027401216 - https://twitter.com/yukihiro_matz/status/651942882312482817 - https://twitter.com/yukihiro_matz/status/651980835181096960 - -Fri Oct 9 06:52:49 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * benchmark/prepare_require.rb: skip file creation if it already - exist. Suggested by ko1. - -Fri Oct 9 06:18:04 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - * benchmark/bm_require.rb: new benchmark for require. - * benchmark/bm_require_thread.rb: new benchmark for conflicting - require vs thread. like [Bug #11559] - * prepare_require.rb: new file for preparing above tests. - * prepare_require.rb: ditto. - -Thu Oct 8 14:10:45 2015 Zachary Scott <zzak@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb: Default to TLSv1.2 and drop TLS v1 - Patch provided by @claudijd [Fixes GH-873] [Feature #11524]: - https://github.com/ruby/ruby/pull/873 - -Wed Oct 7 22:55:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/minitest/metametameta.rb (with_output): restore output to - fix mixing test result output in worker responses. - -Wed Oct 7 21:32:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (str_duplicate): move from rb_str_resurrect to short - circuit initialization. - -Wed Oct 7 20:43:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_resurrect): fix resurrection of short enough to - be embedded but not embedded string. - -Wed Oct 7 20:17:29 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (newobj_of): divide fast path and slow path - to avoid register savings for fast path. - - This idea is given by Kazuho Oku <kazuho@natadeco.co>. - -Wed Oct 7 17:30:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_times): optimize for the argument 0 and 1. - -Wed Oct 7 01:20:46 2015 Koichi Sasada <ko1@atdot.net> - - * gc.h, gc.c: introduce new debug function rb_obj_info_dump(VALUE obj) - which prints the result of rb_raw_obj_info(..., obj). - -Wed Oct 7 01:16:11 2015 Koichi Sasada <ko1@atdot.net> - - * vm_args.c: remove an unused field args_info::calling. - -Tue Oct 6 23:43:10 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (rb_method_entry_min_max_arity): should support - OPTIMIZED_METHOD_TYPE_CALL. - -Tue Oct 6 21:29:08 2015 Tanaka Akira <akr@fsij.org> - - * lib/tmpdir.rb (Dir.tmpdir): return duplicated string to be - modify safely even when $SAFE > 0. - -Tue Oct 6 19:24:38 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_call_method0): use switch() for visibilities - (for readability). - -Tue Oct 6 19:23:58 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (Init_Proc): Proc#call and others should be public. - -Tue Oct 6 18:51:51 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: IMEMO_FL_USER3 and IMEMO_FL_USER4 is not needed any more. - -Tue Oct 6 18:47:45 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: remove METHOD_ENTRY_SAFE(me) and related code - because $SAFE = 3 and 4 is not available. - Now, $SAFE is not checked on method dispatch at all. - - * vm_eval.c, vm_insnhelper.c, vm_method.c: ditto. - -Tue Oct 6 13:56:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h: turn function macros into inline functions, - for debuggers. - - * include/ruby/ruby.h: turn constant macros into enums, for - debuggers. - -Tue Oct 6 13:48:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * method.h: typo fix. Patch by @davydovanton [fix GH-1032][ci skip] - -Tue Oct 6 06:54:34 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (rb_iseq_free): free iseq::variable_body to avoid memory - leak. - -Tue Oct 6 06:32:52 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c: enable optimization of Proc#call. - [Feature #11569] - - * NEWS: write about this optimization and incompatibilities. - - * test/ruby/test_backtrace.rb: catch up this fix. - -Tue Oct 6 04:41:03 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c: solve goto spaghetti. - - Change all goto statement across blocks to tail call functions. - -Tue Oct 6 02:29:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_resurrect): optimize by short circuit to copy - hidden string without checking length, encoding and so on. - -Mon Oct 5 23:08:17 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> - - * test/ruby/test_thread.rb (test_handle_interrupt_blocking): check if - exception handling was postponed until sleep. - -Mon Oct 5 22:25:49 2015 Tanaka Akira <akr@fsij.org> - - * lib/pp.rb: Use frozen_string_literal: true. - - * lib/prettyprint.rb: Ditto. - - * lib/resolv.rb: Ditto. - - * lib/tmpdir.rb: Ditto. - - * test/test_pp.rb: Ditto. - - * test/test_prettyprint.rb: Ditto. - - * tool/transcode-tblgen.rb: Ditto. - -Mon Oct 5 20:39:32 2015 Benoit Daloze <eregontp@gmail.com> - - * test/ruby/test_thread.rb: fix potential race condition. - The thread could have a "sleep" status because it tries - to acquire the mutex, but does not have it yet. - -Mon Oct 5 15:39:30 2015 Zachary Scott <zzak@ruby-lang.org> - - * numeric.c: [DOC] Overview for Numeric class by Joe Corcoran - This patch was created at ROSSConf Berlin 2015 [Bug #11555] - -Mon Oct 5 15:34:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (proc_new): link ep to calling block. - [ruby-core:70980] [Bug #11566] - -Mon Oct 5 00:53:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (rb_dir_getwd): make ASCII-8BIT if filesystem encoding is - US-ASCII, like as Dir.glob. - -Sun Oct 4 23:39:09 2015 Tanaka Akira <akr@fsij.org> - - * enum.c (nmin_filter): Fix limit value. - patch by Helder Pereira. - [Bug #11471] [ruby-core:70477] - -Sun Oct 4 15:11:48 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * enc/euc_jp.c (mbc_case_fold): check given string is valid or not, - and if invalid, return 1. [Bug #11486] - -Sun Oct 4 10:09:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (rb_dir_getwd): normalize OS path to UTF-8 on OS X. - -Sun Oct 4 00:09:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * template/ruby-runner.c.in: wrapper to set dynamic loading path - environment variable. /bin/sh on Mac OS X 10.11 (El Capitan) - clears DYLD_LIBRARY_PATH. - - it must: - - do nothing even if current directory is not present - - do not set other environment variables, e.g. PWD, SHLVL, etc - - do not open other FDs, e.g. pipes for timer thread - -Sun Oct 2 10:59:00 2015 schneems <richard.schneeman@gmail.com> - - * ext/pathname/lib/pathname.rb: freeze string literals for - reduced object allocation. - [Feature #11375] [ruby-core:70043] - -Fri Oct 2 09:20:20 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * common.mk, lib/unicode_normalize/tables.rb: Change Unicode - Version for character normalization data from 7.0.0 to - 8.0.0. - -Fri Oct 2 00:18:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (proc_mark): block.ep of Proc from Symbol is now NULL. - [ruby-core:70961] [Bug #11560] - -Wed Sep 30 15:47:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_args.c (vm_caller_setup_arg_block): bypass Symbol#to_proc - call to optimize symbol block passing. - -Wed Sep 30 01:34:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_free): fix memory leak at syntax error when - warn-indent is enabled. - -Tue Sep 29 22:27:50 2015 Benoit Daloze <eregontp@gmail.com> - - * parse.y: fix minor typo. [ci skip][fix GH-1038]. - Patch by @ltratt. - -Tue Sep 29 16:53:53 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * tool/unicode_norm_gen.tmpl, lib/unicode_normalize/tables.rb: - get rid of many .freeze commands by using frozen_string_literal - pragma. - -Tue Sep 29 16:37:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (compile_dstr_fragments): fix performance by omitting - the first empty string only for keeping literal encoding if - other literals are too. [ruby-core:70930] [Bug #11556] - - * string.c (rb_str_append_literal): append but keep encoding non - US-ASCII. - -Mon Sep 28 17:40:17 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (mtime): use usec instead of fractions to parse - decimal fractions of a second correctly when the number of digits - is not 6. - -Mon Sep 28 16:07:08 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (mtime): parse decimal fractions of a second as - specified in RFC 3659. - -Mon Sep 28 10:31:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/test_forwardable.rb: Write basic tests for lib/forwardable. - [fix GH-1035] Patch by @kachick - -Sun Sep 27 23:32:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * class.c (rb_define_class, rb_define_class_id_under): refine - error messages. - - * class.c (rb_define_module, rb_define_module_id_under): ditto, - and make consistent with class. - -Sun Sep 27 18:44:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ChangeLog: removed duplicated message. - -Sun Sep 27 15:46:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby.c (process_options): add an option to enable/disable - frozen-string-literal. [Feature #8976] - - * compile.c (iseq_compile_each): override compile option by option - given by pragma. - - * iseq.c (rb_iseq_make_compile_option): extract a function to - overwrite rb_compile_option_t. - - * parse.y (parser_set_compile_option_flag): introduce pragma to - override compile options. - - * parse.y (magic_comments): new pragma "frozen-string-literal". - [Feature #8976] - -Sun Sep 27 08:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/ostruct.rb (delete_field): do not raise NameError for - existing keys. [Fix GH-1033] - -Sun Sep 27 00:34:31 2015 Zachary Scott <zzak@ruby-lang.org> - - * lib/ostruct.rb: Move method definitions for getter/setter to be lazy - Patch by @sferik in [GH-1033]: https://github.com/ruby/ruby/pull/1033 - -Fri Sep 25 10:07:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/net/http.rb: removed unused variable. It's removed at r13648. - [fix GH-1022] Patch by @nkondratyev - -Fri Sep 25 09:48:27 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * gems/bundled_gems: upgrade to minitest-5.8.1 - -Fri Sep 25 09:47:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * id_table.c: fix typo. [ci skip][fix GH-1031] Patch @davydovanton - -Fri Sep 25 07:54:05 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_lock): skip - this test on AIX. The issue is the same as on Solaris. - [ruby-dev:47631] - -Thu Sep 24 17:25:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (paren_args): fix separator token at `foo::bar()` in - ripper. - -Thu Sep 24 00:00:17 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * complex.c: ruby/config.h must be included before math.h - because it defines _LARGE_FILES on AIX and _LARGE_FILES - must be defined before sys/types.h is included from math.h. - [Bug #11483] - -Wed Sep 23 22:22:38 2015 Zachary Scott <zzak@ruby-lang.org> - - * ext/openssl/ossl_pkcs12*: Remove svn commit id macro - -Wed Sep 23 01:11:28 2015 Zachary Scott <zzak@ruby-lang.org> - - * ext/openssl/*: Remove svn commit id macros to make sync easier - -Tue Sep 22 04:20:01 2015 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> - - * test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027] - patch by voxik. - - * test/rinda/test_rinda.rb: ditto - -Mon Sep 21 20:53:39 2015 tbpgr <tbpgr@tbpgr.jp> - - * test/win32ole/test_win32ole_event.rb: fix typo. - swbemsink_avairable? => swbemsink_available? [Fix GH-1025] - -Sun Sep 20 10:07:35 2015 Anton Davydov <antondavydov.o@gmail.com> - - * cont.c (rb_callcc): [DOC] append continuations example across - methods. [Fix GH-1026] - -Sun Sep 20 03:20:21 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (rb_iseq_free): free rb_iseq_t::body::cc_entries. - -Sun Sep 20 02:46:34 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: split rb_call_info_t into several structs. - * rb_call_info (ci) has compiled fixed information. - * if ci->flag & VM_CALL_KWARG, then rb_call_info is - also rb_call_info_with_kwarg. This technique reduce one word - for major rb_call_info data. - * rb_calling_info has temporary data (argc, blockptr, recv). - for each method dispatch. This data is allocated only on - machine stack. - * rb_call_cache is for inline method cache. - - Before this patch, only rb_call_info_t data is passed. - After this patch, above three structs are passed. - - This patch improves: - * data locality (rb_call_info is now read-only data). - * reduce memory consumption (rb_call_info_with_kwarg, - rb_calling_info). - - * compile.c: use above data. - - * insns.def: ditto. - - * iseq.c: ditto. - - * vm_args.c: ditto. - - * vm_eval.c: ditto. - - * vm_insnhelper.c: ditto. - - * vm_insnhelper.h: ditto. - - * iseq.h: add iseq_compile_data::ci_index and - iseq_compile_data::ci_kw_index. - - * tool/instruction.rb: introduce TS_CALLCACHE operand type. - -Sun Sep 20 02:18:10 2015 Tanaka Akira <akr@fsij.org> - - * test/lib/envutil.rb: mkfifo command based File.mkfifo method - definition removed. - -Fri Sep 18 20:11:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_file_s_mkfifo): implement File.mkfifo. - [Feature #11536] - -Fri Sep 18 16:56:19 2015 Shugo Maeda <shugo@ruby-lang.org> - - * NEWS: add Net::FTP#mlst and Net::FTP#mlsd. - -Fri Sep 18 07:39:22 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/objspace/objspace_dump.c (obj_type): add IMEMO types to the heap - dump information. - -Thu Sep 17 22:33:07 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * common.mk: fix command error with outside builddir. - -Thu Sep 17 17:42:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * common.mk: separated test for test-framework from test-all task. - They should be invoke at first before tests of test-all. - -Thu Sep 17 12:05:54 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * test/ruby/test_dir.rb (TestDir#test_fileno): s/?x/"x"/. Don't - use tricky code, please. - -Wed Sep 16 20:49:56 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> - - * encindex.h: fix typo of last #endif comment. [ci skip] - -Wed Sep 16 20:39:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * variable.c (set_const_visibility): fail if the class/module is - frozen. [ruby-core:70828] [Bug #11532] - -Wed Sep 16 17:16:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_core.h (ENABLE_VM_OBJSPACE): enable per-VM object space on - Windows by default, as rb_w32_sysinit() no longer depends on - ruby_xmalloc. - -Wed Sep 16 15:08:17 2015 Akinori MUSHA <knu@iDaemons.org> - - * doc/syntax/literals.rdoc (Strings): [DOC] Revise the character - literal part. - -Wed Sep 16 14:55:33 2015 Akinori MUSHA <knu@iDaemons.org> - - * doc/syntax/literals.rdoc (Strings): [DOC] Document the full list - of supported escape sequences in string literals. - -Wed Sep 16 14:49:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_setbyte): keep the code range as possible. - -Wed Sep 16 13:23:48 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * doc/syntax/literals.rdoc (Strings): mention about ?a literal. - -Wed Sep 16 12:06:53 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * dir.c (glob_helper): check pathtype once again by lstat(2) if - dp->d_type is DT_UNKNOWN. XFS may return DT_UNKNOWN. - -Wed Sep 16 03:49:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * test/ruby/test_thread.rb (TestThread#test_mutex_synchronize): - insert waste loop for invoking preemptive thread context switch. - [Bug #11496] - -Tue Sep 15 19:38:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * gc.c (rb_objspace_alloc, rb_objspace_free): define always - regardless ENABLE_VM_OBJSPACE, and free heap pages. - -Tue Sep 15 15:15:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (rb_w32_sysinit, rb_w32_readdir): compare by - encoding index to get rid of encoding initialization before VM - object space allocation. - - * dir.c (fundamental_encoding_p, push_glob): compare by encoding - index immediately. - - * enc/{ascii,us_ascii,utf_8}.c: set encoding indexes of - fundamental built-in encodings so that usable as well as - allocated rb_encoding before rb_enc_init(). - - * encindex.h: separate encoding index constants from internal.h. - -Tue Sep 15 13:13:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] correct block - return values, which may be a negative or positive integer, not - only -1 or +1. - -Tue Sep 15 12:49:10 2015 Jason Barnabe <jason.barnabe@gmail.com> - - * array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] Correct - description of array sort block return values. And also fix up - the grammar a bit. [Fix GH-1020] - -Tue Sep 15 12:44:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * util.c (ruby_qsort): use BSD-style qsort_r if available. - -Mon Sep 14 19:26:34 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (parse_mlsx_entry): parse pathnames including - space correctly. - -Mon Sep 14 11:12:10 2015 Anton Davydov <antondavydov.o@gmail.com> - - * lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo, "convertion" to - "conversion". [Fix GH-1016] - -Sun Sep 13 11:03:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h: prefix RUBY or RB to global symbols to get - rid of name conflicts with other headers. - - * include/ruby/encoding.h, include/ruby/intern.h: ditto. - -Sun Sep 13 09:38:51 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (size, modify, create, type, unique, perm, lang, - media_type, charset): new methods to return standard facts. - -Sat Sep 12 19:43:49 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_call_iseq_setup_normal): do not clear local - variables here. vm_push_frame() clears. - - * vm_insnhelper.c (vm_call_iseq_setup_tailcall): ditto. - - * vm_insnhelper.c (vm_push_frame): move check code to - vm_check_frame(). - - Reorder initialization timing to reuse same values (sp). - - * compile.c (rb_iseq_compile_node): use - iseq_set_exception_local_table() for ISEQ_TYPE_DEFINED_GUARD. - -Sat Sep 12 23:06:51 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (file?, directory?, appendable?, creatable?, - deletable?, enterable?, renamable?, listable?, directory_makable?, - purgeable?, readable?, writable?): new methods. - -Sat Sep 12 21:27:22 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (FACT_PARSERS): support system dependent facts - UNIX.mode, UNIX.owner, UNIX.group, UNIX.ctime, and UNIX.atime. - -Sat Sep 12 19:08:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (rb_w32_dup2): should return the new fd on - success, while msvcrt returns 0 wrongly. - -Sat Sep 12 18:14:11 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (parse_mlsx_entry, mlst) raise an FTPProtoError - when parsing failed. - -Sat Sep 12 18:00:35 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (TIME_PARSER): use "Z" instead of "+00:00" to - get UTC time. Thanks, Wilson Bilkovich. - -Sat Sep 12 17:55:24 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (mlst, mlsd): support new commands MLST and MLSD - specified in RFC 3659. - -Sat Sep 12 16:14:31 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * file.c: access()/eaccess() wrapping methods check more than just uid. - [fix GH-1007][ci skip] Patch by @eam - -Sat Sep 12 16:07:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * README.md: improve markdown rendering for readability. - [fix GH-1015][ci skip] Patch by @Matrixbirds - -Sat Sep 12 14:30:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * process.c (save_redirect_fd): make saved FDs close-on-exec not - to be inherited. - - * process.c (run_exec_dup2): restore close-on-exec flags too. - - * win32/win32.c (fcntl): implement F_GETFD, F_SETFD, and - F_DUPFD_CLOEXEC. - -Sat Sep 12 05:35:24 2015 Eric Wong <e@80x24.org> - - * rational.c (string_to_r_strict): preserve encoding in exception - -Fri Sep 11 20:23:35 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove rb_call_info_t::aux.opt_pc. - - * vm_insnhelper.c: introduce shortcut functions for opt_pc == 0 - because opt_pc is always 0 on shortcut function. - -Fri Sep 11 17:49:36 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c: disable ISeq.load. It enabled accidentally at r51794. - -Fri Sep 11 11:15:12 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (size, mdtm, system): parse responses according to - RFC 959 and 3659, where reply codes must be followed by SP. - - * lib/net/ftp.rb (system): remove LF from the return value. - -Thu Sep 10 22:48:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (literal_concat_gen, evstr2dstr_gen): keep literal - encoding beginning with an interpolation same as the source file - encoding. [ruby-core:70703] [Bug #11519] - -Thu Sep 10 22:15:51 2015 Joe Rafaniello <jrafanie@redhat.com> - - * process.c (rb_f_spawn): Be more specific regarding "other - values" by having "non-zero positive integers" Add nil, the - default value, as a possible value and what it means. - - Try to use more consistent language. - [Fix GH-1008] - -Thu Sep 10 15:16:02 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (getmultiline): refactor. - -Thu Sep 10 12:17:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_build_from_ary_body): register cdhash to the - iseq constant body instead of compile time mark array, not to - get GCed. [ruby-core:70708] [Feature #8543] - -Wed Sep 9 18:16:14 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * lib/rubygems/stub_specification.rb (Gem::StubSpecification#data): - should not change the value of $. when `require`ing gems. - this fixed test failures introduced by r51813. - -Wed Sep 9 16:55:45 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ruby.c (usage, enable_option, disable_option, process_options): new - option `--disable-did_you_mean`. - - * gem_prelude.rb: now requires did_you_mean gem by default if available. - -Wed Sep 9 13:38:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * tool/extlibs.rb (do_patch): let "patch" command change the - working directory and open the patch file there, instead of - spawn options, so that proper error message will be shown by the - command not just "chdir" or "open". - -Wed Sep 9 11:33:05 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * common.mk (update-gems): use BASERUBY instead of RUNRUBY. - -Wed Sep 9 11:08:59 2015 Zachary Scott <zzak@ruby-lang.org> - - * lib/delegate.rb: Remove backtrace cleaning for delegated methods - This patch was provided by Rafael Franca and greatly improves - performance when an exception is raised. [Bug #11461] - -Wed Sep 9 10:05:41 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/rubygems/test_config.rb: fix broken tests for Windows platform. - -Wed Sep 9 07:46:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems: Update to RubyGems HEAD(fe61e4c112). - this version contains new feature that warn invalid SPDX license - identifiers. https://github.com/rubygems/rubygems/pull/1249 - and #1032, #1023, #1332, #1328, #1306, #1321, #1324 - * test/rubygems: ditto. - -Tue Sep 8 23:17:36 2015 Yuki Nishijima <mail@yukinishijima.net> - - * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta2. - -Tue Sep 8 23:09:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (rb_io_s_popen): do not wait the child process during being - killed. [ruby-core:70671] [Bug #11510] - -Tue Sep 8 22:18:04 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * gems/bundled_gems: revert because ruby trunk never be able to install - the did_you_mean gem. retry after enough test. - -Tue Sep 8 21:48:22 2015 Yuki Nishijima <mail@yukinishijima.net> - - * gems/bundled_gems: Automatically install the did_you_mean gem - as a bundled gem. [Feature #11252] - -Tue Sep 8 17:17:48 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove rb_call_info_t::blockiseq. - - * insns.def (send, invokesuper): pass blockiseq explicitly. - - * compile.c: catch up this fix. - - * iseq.c: ditto. - - * vm_args.c: ditto. - - * iseq.c (ISEQ_MINOR_VERSION): 2->3 because instruction spec was - changed. - -Tue Sep 8 15:01:19 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (list): fetch all the lines before yielding a block - to allow other commands in the block. [Feature #11454] - Patched by Srikanth Shreenivas. - -Tue Sep 8 12:05:00 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (rb_w32_read_reparse_point): return correct required - buffer size for IO_REPARSE_TAG_MOUNT_POINT. - -Tue Sep 8 00:14:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * process.c (rb_execarg_parent_start1): raise with the target path - name when open() failed. - -Mon Sep 7 23:45:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * process.c (rb_exec_fail): raise with the target directory name - when chdir() failed. pointed out by sorah. - -Mon Sep 7 22:05:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (insert): should use plain strdup() instead of - ruby_strdup() at startup time, and plain free()ed in cmdglob(). - -Mon Sep 7 16:49:30 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_core.h (rb_vm_struct): define objspace always regardless - ENABLE_VM_OBJSPACE. - -Mon Sep 7 15:54:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby_atomic.h (ATOMIC_VALUE_CAS): fix typo. - TODO: make arguments of all CAS macros consistent. - -Sun Sep 6 16:07:22 2015 Eric Wong <e@80x24.org> - - * ccan/list/list.h: suppress unused argument warnings - [ccan commit 6aaca17e07588997417a73fac19dcf0ff17ed81b] - -Sat Sep 5 11:39:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction - digits. [ruby-core:70667] [Bug #11509] - -Sat Sep 5 08:28:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_hash_equal, rb_hash_eql): [DOC] the orders of each - hashes are not compared. [Bug #11508] - -Fri Sep 4 23:26:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/win32.h: fix macro name for VC runtime version, - RT_VER is only in Makefile. - -Fri Sep 4 17:46:17 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * doc/contributing.rdoc: fix configuration option. - [ci skip] [fix GH-1009] - -Fri Sep 4 04:46:54 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (iseq_memsize): functions for wrapper object should have - iseqw_ prefix. - -Thu Sep 3 21:12:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/cgi/session.rb (create_new_id): use SHA512 instead of MD5. - pointed out by SARWAR JAHAN. - -Thu Sep 3 20:29:18 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_raw_obj_info): iseq->body->location.first_lineno is Fixnum. - -Thu Sep 3 17:54:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (raise_method_missing): "names" should be singular. - pointed out by Filip Bartuzi. - -Thu Sep 3 17:50:09 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_raw_obj_info): should support IMEMO/iseq. - -Thu Sep 3 10:07:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (raise_method_missing): refine error messages when a - symbol is not given. [Fix GH-1013] - -Wed Sep 2 18:49:55 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/psych/*: merge psych master(8737e5b). It contains following fixes. - https://github.com/tenderlove/psych/pull/242 - https://github.com/tenderlove/psych/pull/246 [ruby-list:50219] - * test/psych/*: ditto. - -Wed Sep 2 18:04:13 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.h (GET_PC_COUNT): remove unused macro. - -Wed Sep 2 17:18:37 2015 Chris Schneider <chris@christopher-schneider.com> - - * process.c (proc_detach): [DOC] fix typo "intent" as "intend" in - rdoc. [Fix GH-1011] - -Wed Sep 2 16:58:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_realpath_internal): use filesystem encoding if the - argument is in ASCII encodings. - - * win32/file.c (rb_readlink): needs the result encoding. - -Tue Sep 1 18:37:15 2015 Koichi Sasada <ko1@atdot.net> - - * test/thread/test_queue.rb: catch up last commit. - -Tue Sep 1 18:16:32 2015 Koichi Sasada <ko1@atdot.net> - - * thread_sync.c (queue_do_close): ignore multiple close to allow - multiple producers. - https://bugs.ruby-lang.org/issues/10600#note-14 - -Tue Sep 1 18:06:26 2015 Koichi Sasada <ko1@atdot.net> - - * thread_tools.c: rename thread_tools.c to thread_sync.c. - -Mon Aug 31 17:04:45 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (move_refined_method): should insert a write barrier - from an original class to a created (cloned) method entry. - - * test/ruby/test_refinement.rb: add a test. - -Sun Aug 30 02:42:22 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3 support - if the SSL library supports it. Thanks Kurt Roeckx <kurt@roeckx.be> - [Bug #11376] - - * ext/openssl/extconf.rb: check for SSLv3 support in the SSL - implementation. - - * test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3 - if there is no support. - -Fri Aug 28 16:05:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rdoc/*: Update rdoc master(cfffed5) - https://github.com/rdoc/rdoc/pull/337 - https://github.com/rdoc/rdoc/pull/367 - -Fri Aug 28 10:16:20 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (hook_before_rewind): prevent kicking :return event while - finishing vm_exec func because invoke_block_from_c() kick a :return - event for bmethods. - [Bug #11492] - - * test/ruby/test_settracefunc.rb: add a test. - -Thu Aug 27 18:05:42 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/webrick/server.rb: use IO::NULL instead of '/dev/null' - * test/ruby/test_string.rb: ditto. - -Thu Aug 27 15:24:57 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c (iseq_set_sequence): rename variable names - to make it readable. - -Thu Aug 27 07:45:34 2015 Koichi Sasada <ko1@atdot.net> - - * thread_tools.c: add Queue#close(exception=false) and - SizedQueue#close(exception=false). - [Feature #10600] - - Trying to deq from a closed empty queue return nil - if exception parameter equals to false (default). - - If exception parameter is truthy, it raises - ClosedQueueError (< StopIteration). - ClosedQueueError inherits StopIteration so that you can write: - - loop{ e = q.deq; (using e) } - - Trying to close a closed queue raises ClosedQueueError. - - Blocking threads to wait deq for Queue and SizedQueue will be - restarted immediately by returning nil (exception=false) or - raising a ClosedQueueError (exception=true). - - Blocking threads to wait enq for SizedQueue will be - restarted by raising a ClosedQueueError immediately. - - The above specification is not proposed specification, so that - we need to continue discussion to conclude specification this - method. - - * test/thread/test_queue.rb: add tests originally written by - John Anderson and modify detailed behavior. - -Wed Aug 26 10:52:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching - till the end of string. [ruby-core:70592] [Bug #11488] - - * test/ruby/test_m17n.rb (test_include?, test_index): add tests by - Tom Stuart. - -Wed Aug 26 09:26:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * id_table.c (list_table_extend, hash_table_extend): remove C99 - features. [ruby-dev:49239] [Bug #11487] - -Tue Aug 25 06:34:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (w32_symlink): implement symlink(). - -Mon Aug 24 16:01:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * encoding.c (rb_locale_encindex): find encoding index without - making a string object every time. [ruby-core:58160] [Bug #9080] - -Sat Aug 22 15:43:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (check_funcall_failed, check_funcall_missing): cache - results of respond_to? and respond_to_missing?, and search a - public method only for compatibility with rb_respond_to. - -Sat Aug 22 08:23:32 2015 Koichi Sasada <ko1@atdot.net> - - * ext/thread/thread.c: move definitions of Queue, SizedQueue - and ConditionalVariables to thread_tools.c. In other words, - such classes are built-in. - [Feature #8919] - - At first, I planned to embed only a Queue class. - However, rubygems requires 'thread.rb' (rubygems are - required at first, when launch MRI without --disable-gems). - So most of people require 'thread.rb' as an embedded library. - - Now, ext/thread/thread.c is empty, only for a dummy for - compatibility. - - * thread.c: move a definition of Mutex class to thread_tools.c. - - And define Mutex class under Thread (so now Mutex is Thread::Mutex). - Because other thread related classes are also defined under Thread. - We remain ::Mutex as Thread::Mutex. Only an inspect result is changed. - - * common.mk: add dependency from thread.o to thread_tools.c. - -Sat Aug 22 05:31:37 2015 Koichi Sasada <ko1@atdot.net> - - * vm_opts.h, iseq.c, iseq.h: add compile option to force frozen - string literals. - [Feature #11473] - - This addition is not specification change, but to try frozen - string literal world discussed on [Feature #11473]. - - You can try frozen string literal world using this magical line: - - RubyVM::InstructionSequence.compile_option = - {frozen_string_literal: true} - - Note that this is a global compilation option, so that you need to - compile another script like that: - - p 'foo'.frozen? #=> false - RubyVM::InstructionSequence.compile_option = - {frozen_string_literal: true} - p 'foo'.frozen? #=> false, because this line is already compiled. - p eval("'foo'.frozen?") #=> true - - Details: - * String literals are deduped by rb_fstring(). - * Dynamic string literals ("...#{xyz}...") is now only frozen, - not deduped. Maybe you have other ideas. - - Now, please do not use this option on your productions :) - Of course, current specification can be changed. - - * compile.c: ditto. - - * test/ruby/test_iseq.rb: add a test. - -Sat Aug 22 02:53:12 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/psych/*: update to Psych 2.0.14 - - * test/psych/*: ditto - -Fri Aug 21 19:58:48 2015 Koichi Sasada <ko1@atdot.net> - - * ext/objspace/objspace.c: add a new method ObjectSpace.count_symbols. - [Feature #11158] - - * symbol.c (rb_sym_immortal_count): added to count immortal symbols. - - * symbol.h: ditto. - - * test/objspace/test_objspace.rb: add a test for this method. - - * NEWS: describe about this method. - -Fri Aug 21 19:48:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/Makefile.sub ($(LIBRUBY_SO)): needs additional libraries - for extension libraries to link statically. - [ruby-core:70499] [Feature #9018] - -Fri Aug 21 18:49:22 2015 Koichi Sasada <ko1@atdot.net> - - * include/ruby/ruby.h, cont.c, vm_trace.c: add a new event - fiber_switch. We need more discussion about this feature - so that I don't write it on NEWS. - [Feature #11348] - - * test/ruby/test_settracefunc.rb: add tests. - -Fri Aug 21 17:32:42 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_invoke_block): we should not expect ci->argc is - stable after invoking a block. [Bug #11451] - - * test/ruby/test_yield.rb: add a test. This test script is given by - Alex Dowad. - -Fri Aug 21 06:35:50 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * test/openssl/test_ssl_session.rb: Fix tests so that they take in to - account OpenSSL installations that have SSLv3 disabled by default. - Thanks Jeremy Evans <code@jeremyevans.net> for the patches. - [Bug #11366] [Bug #11367] - -Thu Aug 20 22:19:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_method.c (basic_obj_respond_to): call respond_to_missing? - only when redefined. [ruby-core:70460] [Bug #11465] - -Thu Aug 20 14:13:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (check_funcall_respond_to): share the behavior with - rb_obj_respond_to. [ruby-core:70460] [Bug #11465] - - * vm_method.c (vm_respond_to): extract from rb_obj_respond_to and - merge r39881. - -Thu Aug 20 08:53:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_method.c (rb_obj_respond_to): reuse found method entry - instead of searching same entry repeatedly. - -Thu Aug 20 08:31:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (replace_real_basename), win32/win32.c (opendir_internal): - check reparse point tags and treat supported tags only as - symbolic links. [ruby-core:70454] [Bug #11462] - -Wed Aug 19 23:59:28 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add OP_ALL to - existing options rather than just setting it. Some vendors apply - custom patches to their versions of OpenSSL that set default values - for options. This commit respects the custom patches they've - applied. - - * test/openssl/test_ssl.rb (class OpenSSL): check that OP_ALL has been - added to the options. - -Wed Aug 19 23:55:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * process.c (rb_f_spawn): [DOC] elaborate environment variable - values. [ruby-core:70456] [Bug #11463] - -Wed Aug 19 23:48:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (winnt_lstat): check reparse point tags and treat - supported tags only as symbolic links. - [ruby-core:70454] [Bug #11462] - -Tue Aug 18 20:05:49 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * thread_pthread.c (reserve_stack): ensure the memory is really - allocated. [Bug #11457] - -Tue Aug 18 17:19:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (IS_BEG): include labeled argument state, which was - EXPR_LABELARG. [ruby-dev:49221] [Bug #11456] - -Tue Aug 18 16:16:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h (RClass): define only in C, `__attribute__` - between `struct` and the name can't compile with g++. - [ruby-core:70297] [Bug #11426] - -Mon Aug 17 20:56:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y: fix syntax error at do-block after a conditional - operator. separate label-allowed and after-a-label states from - others as bit flags. [ruby-dev:48790] [Bug #10653] - -Mon Aug 17 11:57:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (rb_io_each_codepoint): raise an exception at incomplete - character before EOF when conversion takes place. [Bug #11444] - -Sun Aug 16 17:33:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * gems/bundled_gems: update latest version of bundled gems. - It includes minitest-5.8.0 and test-unit 3.1.3. - -Sun Aug 16 17:24:10 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * gc.c (gc_mark_children): check if RCLASS_EXT is valid - before marking. This fixes the following test failure - introduced in r51126: - - make test-all TESTOPTS='--gc-stress ruby/test_refinement.rb' - -Sat Aug 15 10:51:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/win32/lib/win32/registry.rb (API#SetValue): data size should - be in bytes, not in chars. [ruby-core:70365] [Bug #11439] - -Sat Aug 15 10:15:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (rb_io_each_codepoint): read more data when read partially. - [ruby-core:70379] [Bug #11444] - -Sat Aug 15 04:33:39 2015 Eric Wong <e@80x24.org> - - * hash.c (any_hash): skip rb_objid_hash for static syms - (rb_num_hash_start): extract from rb_ident_hash - (rb_objid_hash): call rb_num_hash_start - (rb_ident_hash): ditto - [ruby-core:70181] [Feature #11405] - -Sat Aug 15 04:16:13 2015 Eric Wong <e@80x24.org> - - * iseq.c (rb_iseq_mark): reduce NULL checks - -Fri Aug 14 18:50:57 2015 Eric Wong <e@80x24.org> - - * method.h (METHOD_ENTRY_VISI_SET): cast visi to int - (METHOD_ENTRY_FLAGS_SET): ditto - -Fri Aug 14 18:43:11 2015 Eric Wong <e@80x24.org> - - * process.c (close_unless_reserved): add extra check - (dup2_with_divert): remove - (redirect_dup2): use dup2 without divert - (before_exec_non_async_signal_safe): adjust call + comment - (rb_f_exec): stop timer thread for all OSes - (rb_exec_without_timer_thread): remove - * eval.c (ruby_cleanup): adjust call - * thread.c (rb_thread_stop_timer_thread): always close pipes - * thread_pthread.c (struct timer_thread_pipe): add writing field, - mark owner_process volatile for signal handlers - (rb_thread_wakeup_timer_thread_fd): check valid FD - (rb_thread_wakeup_timer_thread): set writing flag to prevent close - (rb_thread_wakeup_timer_thread_low): ditto - (CLOSE_INVALIDATE): new macro - (close_invalidate): new function - (close_communication_pipe): removed - (setup_communication_pipe_internal): make errors non-fatal - (setup_communication_pipe): ditto - (thread_timer): close reading ends inside timer thread - (rb_thread_create_timer_thread): make errors non-fatal - (native_stop_timer_thread): close write ends only, always, - wait for signal handlers to finish - (rb_divert_reserved_fd): remove - * thread_win32.c (native_stop_timer_thread): adjust (untested) - (rb_divert_reserved_fd): remove - * vm_core.h: adjust prototype - [ruby-core:70386] [Bug #11336] - -Fri Aug 14 18:40:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/win32/lib/win32/registry.rb (API#SetValue): add terminator - size, not 1 byte. [ruby-core:70365] [Bug #11439] - -Thu Aug 13 22:49:42 2015 Juanito Fatas <katehuang0320@gmail.com> - - * lib/timeout.rb (Timeout#timeout): freeze a string message to - reduce string allocations. [Fix GH-996] - -Thu Aug 13 17:42:34 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h (rb_call_info_kw_arg_bytes): move the definition - to iseq.h because this function is shared with iseq.c and compile.c. - -Thu Aug 13 14:36:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * object.c (rb_num_to_dbl): move from num2dbl_with_to_f in math.c. - -Thu Aug 13 09:01:25 2015 Eric Wong <e@80x24.org> - - * load.c (features_index_add): avoid repeat calculation - -Wed Aug 12 21:57:31 2015 Koichi Sasada <ko1@atdot.net> - - * id_table.c: IMPL() macro accept op as _opname instead of opname - because jemalloc seems to replace the word `free' to `je_free'. - -Wed Aug 12 21:51:11 2015 Koichi Sasada <ko1@atdot.net> - - * id_table.c (mix_id_table_insert): fix memory leak. - -Wed Aug 12 21:17:38 2015 Eric Wong <e@80x24.org> - - * iseq.c (iseq_memsize): reimplement for wrapper - (param_keyword_size): extracted from iseq_memsize - (iseqw_mark): new mark function - (iseqw_data_type): new data type - (iseqw_new): wrap as iseqw_data_type - (iseqw_check): adjust for wrapper - (Init_ISeq): remove iseqw_iseq_key initialization - * test/objspace/test_objspace.rb: new test - [ruby-core:70344] [Feature #11435] - -Wed Aug 12 21:15:27 2015 Eric Wong <e@80x24.org> - - * vm_core.h (rb_call_info_kw_arg_bytes): extract from compile.c - * compile.c (iseq_build_callinfo_from_hash): use above function - -Wed Aug 12 18:00:17 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (move_refined_method): same as the last commit. - -Wed Aug 12 17:57:53 2015 Koichi Sasada <ko1@atdot.net> - - * class.c, gc.c vm.c: use ID_TABLE_* instead of ST_* - (such as ST_CONTINUE) for enum rb_id_table_iterator_result. - -Wed Aug 12 17:05:36 2015 Koichi Sasada <ko1@atdot.net> - - * id_table.h: introduce ID key table. - [Feature #11420] - - This table only manage ID->VALUE table to reduce overhead of st. - - Some functions prefixed rb_id_table_* are provided. - - * id_table.c: implement rb_id_table_*. - - There are several algorithms to implement it. - - Now, there are roughly 4 types: - - * st - * array - * hash (implemented by Yura Sokolov) - * mix of array and hash - - The macro ID_TABLE_IMPL can choose implementation. - You can see detailes about them at the head of id_table.c. - - At the default, I choose 34 (mix of list and hash). - This is not final decision. - Please report your suitable parameters or - your data structure. - - * symbol.c: introduce rb_id_serial_t and rb_id_to_serial() - to represent ID by serial number. - - * internal.h: use id_table for method tables. - - * class.c, gc.c, marshal.c, vm.c, vm_method.c: ditto. - -Wed Aug 12 05:19:11 2015 Eric Wong <e@80x24.org> - - * parse.y (rb_parser_compile_cstr): remove volatile arg - (rb_parser_compile_string): ditto - (rb_parser_compile_file): ditto - (rb_parser_compile_string_path): ditto - (rb_parser_compile_file_path): ditto - [ruby-core:70323] [Misc #11431] - -Tue Aug 11 22:59:57 2015 Tanaka Akira <akr@fsij.org> - - * numeric.c (Init_Numeric): Fix document for Float::MIN and - Float::EPSILON. - -Tue Aug 11 15:22:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h (ALLOCV_N): check integer overflow, as well - as ruby_xmalloc2. pointed out by Paul <pawlkt AT gmail.com>. - -Tue Aug 11 14:57:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (rb_ary_repeated_permutation): fix buffer size, ALLOCV_N - already multiplies element size. - -Tue Aug 11 12:13:20 2015 Jeremy Evans <merch-redmine@jeremyevans.net> - - * test/openssl/test_ssl.rb: Fix LocalJumpErrors being raised - in OpenSSL tests. [ruby-core:70020][Bug #11368] - -Tue Aug 11 11:54:13 2015 Alexey Lipnyagov <liptonshmidt@gmail.com> - - * string.c: Fix documentation for String#slice - [ruby-core:70298][Bug #11427] - -Tue Aug 11 11:53:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (superclass): make superclass rule optional and allow - any contents without a terminator. [EXPERIMENTAL] - -Tue Aug 11 10:58:42 2015 Juanito Fatas <juanitofatas@gmail.com> - - * string.c: [DOC] Make #end_with? example doc symmetry - with #start_with? [fix GH-992][ci skip] - -Tue Aug 11 10:51:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/ruby/test_array.rb: Add test for `Array#flatten` with level 1 - [fix GH-986] Patch @yui-knk - -Tue Aug 11 10:48:16 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * enum.c: added doc for Enumerable#zip - [fix GH-985] Patch by @yui-knk - * test/ruby/test_enum.rb: added tests for Enumerable#zip - [fix GH-985] Patch @yui-knk - -Tue Aug 11 10:33:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * vm_method.c: typo fix [fix GH-993][ci skip] Patch by @0x0dea - * test/ruby/test_refinement.rb: ditto. - -Sun Aug 9 14:15:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm.c (Init_vm_objects, rb_vm_fstring_table): use frozen_strings - table in rb_vm_t. [ruby-core:70274] [Bug #11423] - -Sat Aug 8 03:59:51 2015 Zachary Scott <zzak@ruby-lang.org> - - * object.c: [DOC] Improve grammar for Module#=== - Patch by @SkyBirdSoar in documenting-ruby/ruby#52: - https://github.com/documenting-ruby/ruby/pull/52 - -Sat Aug 8 03:39:33 2015 Zachary Scott <zzak@ruby-lang.org> - - * hash.c: [DOC] Improve description of symbol key syntax - Patch by Raphael Das Gupta in documenting-ruby/ruby#51: - https://github.com/documenting-ruby/ruby/pull/51 - -Fri Aug 7 21:04:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parser_params): turn in_def and in_single into bit - flags and reduce the size by 2-words. - - * parse.y (parser_params): remove redundant prefixes. - - * parse.y (yylex): non-pure parser has not been supported since - merger of ripper. change argument types from void pointers. - -Fri Aug 7 17:07:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (method_super_method): uncallable method entry does not - have the defined class, use the owner instead. - [ruby-core:70254] [Bug #11419] - - * test/ruby/test_method.rb (test_super_method_unbound): add test - by Akira Matsuda. - -Thu Aug 6 10:49:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * node.c (rb_alloc_tmp_buffer): round up the size and check the - range. - - * ruby_atomic.h (ATOMIC_VALUE_EXCHANGE, ATOMIC_VALUE_CAS): add - atomic operations for VALUE. - -Thu Aug 6 08:15:49 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move - SSLSocket#sysclose to Ruby. - - * ext/openssl/ossl_ssl.c (ossl_ssl_close): ditto - -Thu Aug 6 07:57:21 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move nonblock - enable to SSLSocket#initialize and remove Nonblock module. - -Thu Aug 6 07:53:47 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move - OpenSSL::SSL::SSLSocket#initialize to Ruby. - - * ext/openssl/ossl_ssl.c: ditto - -Thu Aug 6 02:25:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * node.c (rb_alloc_tmp_buffer): use NODE_ALLOCA to mark locations - like as builtin alloca. [ruby-core:70251] [Bug #11418] - -Wed Aug 5 14:37:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * transcode.c (rb_econv_open0): rb_econv_t::source_encoding_name - and rb_econv_t::destination_encoding_name should refer static - strings always or NULL. [ruby-core:70247] [Bug #11416] - -Tue Aug 4 16:53:43 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): extract callback - lookup to private Ruby methods. This means we can keep the default - DH callback logic hidden from consumers. Also, since the SSLSocket - always has a context, we can remove conditionals about that - instance. - - * ext/openssl/ossl_ssl.c: move callback lookup methods to private Ruby - methods. - -Tue Aug 4 16:40:26 2015 Koichi Sasada <ko1@atdot.net> - - * test/ruby/test_module.rb: should not expect a method table ordering. - [Feature #11414] - -Tue Aug 04 15:30:04 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (rb_block_clear_env_self): clear by Qfalse instead of Qnil. - [Bug #11409] - - * test/ruby/test_eval.rb: add tests for this issue, - written by @0x0dea. - https://github.com/ruby/ruby/pull/988 - -Tue Aug 4 12:12:14 2015 Eric Wong <e@80x24.org> - - * variable.c: wrap long lines - -Tue Aug 4 09:32:30 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * proc.c: Removing duplicate doc [fix GH-987][ci skip] - Patch by @ronakjangir47 - -Tue Aug 4 09:21:58 2015 Richard Schneeman <richard.schneeman+foo@gmail.com> - - * doc/contributing.rdoc: fixed wrong instructions with OS X - [fix GH-989][ci skip] Patch by @schneems - -Mon Aug 3 10:08:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * re.c (rb_memsearch): should match only char boundaries in wide - character encodings. [ruby-core:70220] [Bug #11413] - -Sun Aug 2 07:01:17 2015 Eric Wong <e@80x24.org> - - * ext/openssl/lib/openssl/buffering.rb (gets): - avoid comparing fixnum with nil - * test/openssl/test_pair.rb: test gets with limit when EOF is hit - Thanks to Bar Hofesh <bar.hofesh@safe-t.com> for the bug report - and testing. - [ruby-core:70149] [Bug #11400] - -Sat Aug 1 17:13:15 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * lib/net/http/response.rb (Net::HTTPResponse::Inflater#finish): - fix a bug that empty gzipped response body causes Zlib::BufError. - [ruby-core:68846] [Bug #11058] - - * test/net/http/test_httpresponse.rb: tests for the above. - -Sat Aug 1 17:05:18 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * lib/net/http/response.rb (Net::HTTPResponse#inflater): - fix TypeError. An exception object might be nil. - [ruby-core:68846] [Bug #11058] - -Sat Aug 1 09:09:46 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): Implement - SSLContext#options and options= using SSL_CTX_set_options and - SSL_CTX_get_options. This reduces the number of ivars we need and - simplifies `ossl_sslctx_setup`. - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Default `options` - to SSL_OP_ALL - -Sat Aug 1 06:54:36 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (Init_ossl_ssl): OpenSSL declares these - constants as longs, so we should follow that and use LONG2NUM. - http://git.io/vOqxD - -Sat Aug 1 04:06:29 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): change callback - to return the Ruby dh (or ecdh) object that the caller cares about - instead of doing rb_iv_get / set to communicate. This means we can - remove an rb_iv_get call, and only use the set calls for their - intended purpose (to prevent the object from being GC'd). - - * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto - * ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): ditto - * ext/openssl/ossl_ssl.c (ossl_tmp_ecdh_callback): ditto - -Sat Aug 1 03:49:31 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): Similarly to the - tmp_ecdh_callback, the SSLSocket instance always holds a reference - to the SSLContext object (it's always set in `initialize`). The - SSLContext holds a reference to the tmp_dh_callback. Ask the - context for the callback instead of storing the callback in two - places. - -Sat Aug 1 03:43:10 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): create an array - and use `rb_apply` to clean up calls to `rb_protect`. - - * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto - -Sat Aug 1 03:27:12 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): The SSL socket - always holds a reference to the SSLContext object, which will have - the callback object. Ask the context for the callback instead of - storing the callback in two places. - -Sat Aug 1 03:14:07 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): convert - `tmp_dh_callback` to Ruby, and call it when setting up an SSL - connection. This allows us to move the "default" behavior to the - reader method. - - * ext/openssl/ossl_ssl.c: call the tmp_dh_callback instead of - accessing the SSLContext's internals. - -Fri Jul 31 23:34:27 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * .travis.yml: update libssl before running tests. - Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for figuring out the - travis settings! - -Fri Jul 31 21:34:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * load.c (rb_require_internal): use rb_load_internal0 not to raise - a exception to be caught. - -Thu Jul 30 13:19:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * variable.c (rb_const_get_0): warn deprecated constant reference. - - * variable.c (rb_mod_deprecate_constant): mark constants to be - warned as deprecated. [Feature #11398] - -Thu Jul 30 11:53:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (rb_thread_s_handle_interrupt): make identity hash, to - compare masking classes just by their IDs. - -Thu Jul 30 11:52:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * load.c (rb_load_internal0): stop separating exits at loading - from exits from execution. TAG_FATAL is the only case that - `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG - but not raising as an ordinary exception. - [ruby-core:70169] [Bug #11404] - -Thu Jul 30 10:42:27 2015 Alex Dowad <alexinbeijing@gmail.com> - - * load.c (rb_load_internal0): extra check before returning - TAG_RAISE when a non-local transfer of control happens while - loading and parsing a Ruby source file. - [ruby-core:70169] [Bug #11404] - -Thu Jul 30 08:48:42 2015 Eric Wong <e@80x24.org> - - * st.c (find_entry): constify st_table* - (find_packed_index_from): ditto - (find_packed_index): ditto - (get_keys): ditto - (get_values): ditto - -Thu Jul 30 04:29:25 2015 Eric Wong <e@80x24.org> - - * benchmark/bm_hash_aref_dsym.rb: new benchmark - * benchmark/bm_hash_aref_dsym_long.rb: ditto - * benchmark/bm_hash_aref_fix.rb: ditto - -Wed Jul 29 21:38:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (any_hash), symbol.c (dsymbol_alloc): fix dynamic symbol - hash value by restricting in Fixnum range, that is `long`. - -Wed Jul 29 17:25:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_obj_hash): move in order to share with rb_any_hash. - -Wed Jul 29 16:00:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (str_buf_cat): consider empty non-embed string case, - not to loop infinitely. [ruby-core:70074] [Bug #11383] - -Wed Jul 29 15:25:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (send_internal): set method_missing_reason before - invoking overriding method_missing method so that the default - method_missing can achieve it properly. - [ruby-core:68515] [Bug #10969] - -Wed Jul 29 14:54:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_sym_hash): return same value as rb_any_hash() of - Symbol. [Bug #9381] - - * hash.c (rb_any_hash): fix Float hash. rb_dbl_hash() returns a - Fixnum, but not a long. [Bug #9381] - -Wed Jul 29 11:07:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * internal.h (LIKELY, UNLIKELY): make a boolean to enforce 1 or 0. - -Wed Jul 29 10:44:43 2015 Alex Dowad <alexinbeijing@gmail.com> - - * gc.c: document argument passed to finalizer proc. - [fix GH-976][ci skip] Patch by @alexdowad - -Wed Jul 29 10:36:58 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * io.c (rb_io_extract_modeenc): add option parameter `flags' - to append extra oflags to normal mode. - [Feature #11253] [ruby-core:69539] - -Wed Jul 29 04:54:47 2015 Eric Wong <e@80x24.org> - - * test/rubygems/test_gem_remote_fetcher.rb: pre-generate test key - [ruby-core:70151] [Bug #11397] - -Tue Jul 28 10:32:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * internal.h (struct RClass): moved from ruby/ruby.h to hide the - internals. - -Tue Jul 28 08:48:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for - types. - -Tue Jul 28 07:23:03 2015 Eric Wong <e@80x24.org> - - * symbol.h (struct RSymbol): add hashval field - * symbol.c (dsymbol_alloc): setup hashval field once - * hash.c (rb_any_hash): return RSymbol->hashval directly - * common.mk: hash.o depends on symbol.h - Thanks to Bruno Escherl <bruno@escherl.net> for the bug report - [ruby-core:70129] [Bug #11396] - -Tue Jul 28 03:26:15 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a more - helpful exception when verifying the peer connection and an - anonymous cipher has been selected. [ruby-core:68330] [Bug #10910] - Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for the patch. - - * test/openssl/test_ssl.rb (class OpenSSL): test for change - -Mon Jul 27 13:24:11 2015 Koichi Sasada <ko1@atdot.net> - - * template/id.h.tmpl (ID2ATTRSET): remove an unused macro. - -Mon Jul 27 12:21:15 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/openssl/test_ssl.rb: run tests on non-Unix platforms. - -Sun Jul 26 19:21:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_ssl_alpn_protocol): fix condition - to compile, needs ALPN to be available. [Feature #9390] - -Sun Jul 26 11:29:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * signal.c (default_handler, Init_signal): discard SIGSYS, ENOSYS - should raise a SystemCallError always instead. - -Sun Jul 26 10:26:35 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c (ossl_call_servername_cb): set the ssl context - object returned by the servername callback on to the socket as an - instance variable. If the callback allocated a new context object - and didn't keep a reference to it, it could be GC'd out from under - the socket object. - - * test/openssl/test_ssl.rb (class OpenSSL): test for change. - -Sun Jul 26 10:07:26 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * test/openssl/test_ssl.rb (class OpenSSL): add test coverage around - OpenSSL::SSL::SSLContext#servername_cb - -Sun Jul 26 09:10:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * gems/bundled_gems: update latest version of bundled power_assert. - -Sun Jul 26 08:49:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/rubygems/test_gem_remote_fetcher.rb: backport rubygems upstream - change for OpenSSL key length. see detail to - https://github.com/rubygems/rubygems/pull/1290 - -Sun Jul 26 08:33:03 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/pkey.rb: implement DEFAULT_512 and - DEFAULT_1024 constants in Ruby. - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Ask PKey for the - default DH callback since it already must check whether openssl has - been compiled with DH support. - - * ext/openssl/ossl_pkey_dh.c (OSSL_PKEY_BN): Remove C definitions of - DEFAULT_512 and DEFAULT_1024 - - * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto - - * test/openssl/test_pkey_dh.rb (class OpenSSL): add test to ensure the - Ruby definitions are the same as the C definitions were. - -Sun Jul 26 08:14:59 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): support - specifically setting the tmp_dh_callback to nil. - - * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto - - * test/openssl/test_pair.rb (module OpenSSL): add a test - -Sun Jul 26 07:47:14 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move the default - tmp_dh_callback Ruby code and set it as a default in `initialize`. - - * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_512_GEN): - move this constant to Ruby. - - * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_1024_GEN): - ditto - - * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto - - * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto - - * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): tmp_dh_callback should - always be set, so we can remove this conditional - -Sun Jul 26 06:22:24 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * test/openssl/test_pair.rb: add a test ensuring that the default DH - callback is used when no DH callback is specified. - -Sun Jul 26 04:08:27 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missing - instance variables to squash warnings with alpn. - -Sun Jul 26 03:42:19 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move - OpenSSL::SSL::SSLContext#initialize implementation to pure Ruby. - - * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): ditto - - * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto - -Sat Jul 25 21:03:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * random.c (fill_random_bytes_syscall): get rid of blocking when - no entropy is available. based on the patch by mame in - [ruby-core:70114]. [Bug #11395] - -Sat Jul 25 11:05:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (str_replace_shared_without_enc): fill the terminator - of embedded strings in wide char encodings. - -Sat Jul 25 06:38:36 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: size should be unsigned. - * rb_call_info_t::index - * rb_iseq_constant_body::stack_max - * rb_iseq_constant_body::local_size - * rb_iseq_constant_body::param::size - * rb_iseq_constant_body::local_table_size - * rb_iseq_constant_body::is_size - * rb_iseq_constant_body::callinfo_size - - * iseq.h: same for iseq_catch_table::size. - - * compile.c: catch up these fix. - - * iseq.c: ditto. - - * proc.c: ditto. - - * vm.c: ditto. - - * vm_args.c: ditto. - - * vm_eval.c: ditto. - - * vm_insnhelper.c: ditto. - -Sat Jul 25 06:00:09 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_iseq_constant_body::line_info_table. - - * iseq.c: catch up this fix. - -Sat Jul 25 05:56:43 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_iseq_constant_body::param::opt_table and - rb_iseq_constant_body::param::keyword. - - * compile.c: catch up this fix. - -Sat Jul 25 04:47:01 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_iseq_constant_body::catch_table. - - * compile.c (iseq_set_exception_table): catch up this fix. - - * iseq.c: ditto. - - * vm.c (vm_exec): ditto. - -Fri Jul 24 21:29:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * st.c (EQUAL, st_delete_safe): fix arguments order to compare - function, searching key is the first and stored key is the - second always. - -Fri Jul 24 21:27:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (fstr_update_callback): fstring must not be a shared - string, or the content without RSTRING_FSTR may be freed. - [ruby-dev:49188] [Bug #11386] - -Fri Jul 24 20:09:43 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to use - IPv6 loopback interface for - Rinda::TestRingFinger#test_make_socket_ipv6_multicast and - Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops. - The tests are skipped if there are no IPv6 devices other than the - loopback device. [Bug #11394] [ruby-dev:49199] - - * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto - for Rinda::TestRingServer#test_make_socket_ipv6_multicast. - - * test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto - for Rinda::TestRingServer#test_ring_server_ipv6_multicast. - -Fri Jul 24 16:35:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (fstr_update_callback): pool bare strings only. - - * string.c (rb_fstring): return the original string with sharing a - fstring if it has extra attributes, not the fstring itself. - [ruby-dev:49188] [Bug #11386] - -Fri Jul 24 16:35:34 2015 yui-knk <spiketeika@gmail.com> - - * file.c (rb_file_s_extname): [DOC] add an example. - - * test/ruby/test_path.rb (test_extname): add tests. [Fix GH-978] - * path starts with dot ('.a.rb') - * path includes dir name ('a/b/d/test.rb') - * path includes dir name and dir name starts with dot - ('.a/b/d/test.rb') - -Thu Jul 23 18:50:43 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_iseq_constant_body::local_table and - rb_iseq_param_keyword::table and - rb_iseq_param_keyword::default_values. - - * compile.c: catch up this fix. - - * iseq.c: ditto. - -Thu Jul 23 17:30:43 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_iseq_constant_body::iseq_encoded and - rb_control_frame_t::pc. - - * compile.c (rb_iseq_translate_threaded_code): catch up this fix. - - * iseq.c: ditto. - - * vm_exec.c (vm_exec_core): ditto. - -Thu Jul 23 10:25:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h: add raw FL macros, which assume always the - argument object is not a special constant. - - * internal.h (STR_EMBED_P, STR_SHARED_P): valid only for T_STRING. - - * string.c: deal with taint flags directly across String instances. - -Thu Jul 23 09:05:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (lambda_body): pop cmdarg stack for lookahead - token. [ruby-core:70067] [Bug #11380] - -Thu Jul 23 04:03:03 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c: fix tests by not setting the instance - variable on the frozen ssl instance. - -Thu Jul 23 03:32:26 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c: add ECDH callback support. [Feature #11356] - - * test/openssl/test_pair.rb: test for ECDH callback support - -Thu Jul 23 03:29:49 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * ext/openssl/ossl_ssl.c: add ALPN support. [Feature #9390] - - * ext/openssl/extconf.rb: detect ALPN support in OpenSSL - - * test/openssl/test_ssl.rb: test for ALPN - -Wed Jul 22 23:44:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_reverse): reversed string is not a substring, - and should not set coderange of the original string. - [ruby-dev:49189] [Bug #11387] - -Wed Jul 22 20:17:51 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: modify layout of rb_iseq_constant_body. - - Move frequent accessing fields to upper part. - -Wed Jul 22 19:57:47 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove unused declaration of - iseq_compile_data_ensure_node_stack. - -Wed Jul 22 19:52:45 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: separate rb_iseq_body into rb_iseq_constant_body and - rb_iseq_variable_body (rb_iseq_t::variable_body). - - rb_iseq_variable_body can be modified after compilation. - - * compile.c: use rb_iseq_t::variable_body. - - * iseq.c: ditto. - - * thread.c: ditto. - -Wed Jul 22 17:50:35 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/matrix/eigenvalue_decomposition.rb: refine code style. - [fix GH-959][ci skip] Patch by @bogdanvlviv - -Wed Jul 22 15:48:47 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/ruby/test_range.rb: Add test case for Range#end with - exclude_end true case. [fix GH-968] Patch by @yui-knk - -Wed Jul 22 09:45:31 2015 Maksim Sitnikov <sitnikovme@undev.ru> - - * numeric.c (num_coerce): [DOC] fix doc for Numeric#coerce, - missing '+'. [Fix GH-974] - -Wed Jul 22 07:24:18 2015 Koichi Sasada <ko1@atdot.net> - - * make rb_iseq_t T_IMEMO object (type is imemo_iseq). - - All contents of previous rb_iseq_t is in rb_iseq_t::body. - Remove rb_iseq_t::self because rb_iseq_t is an object. - - RubyVM::InstructionSequence is wrapper object points T_IMEMO/iseq. - So RubyVM::ISeq.of(something) method returns different wrapper - objects but they point the same T_IMEMO/iseq object. - - This patch is big, but most of difference is replacement of - iseq->xxx to iseq->body->xxx. - - (previous) rb_iseq_t::compile_data is also located to - rb_iseq_t::compile_data. - It was moved from rb_iseq_body::compile_data. - - Now rb_iseq_t has empty two pointers. - I will split rb_iseq_body data into static data and dynamic data. - - * compile.c: rename some functions/macros. - Now, we don't need to separate iseq and iseqval (only VALUE). - - * eval.c (ruby_exec_internal): `n' is rb_iseq_t (T_IMEMO/iseq). - - * ext/objspace/objspace.c (count_imemo_objects): count T_IMEMO/iseq. - - * gc.c: check T_IMEMO/iseq. - - * internal.h: add imemo_type::imemo_iseq. - - * iseq.c: define RubyVM::InstructionSequence as T_OBJECT. - Methods are implemented by functions named iseqw_.... - - * load.c (rb_load_internal0): rb_iseq_new_top() returns - rb_iseq_t (T_IMEMO/iesq). - - * method.h (rb_add_method_iseq): accept rb_iseq_t (T_IMEMO/iseq). - - * vm_core.h (GetISeqPtr): removed because it is not T_DATA now. - - * vm_core.h (struct rb_iseq_body): remove padding for - [Bug #10037][ruby-core:63721]. - -Wed Jul 22 07:15:33 2015 Koichi Sasada <ko1@atdot.net> - - * ext/objspace/objspace.c (total_i): no need to skip singleton classes. - -Wed Jul 22 06:37:54 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_call_info_t::kw_arg, - rb_control_frame_t::iseq and rb_control_frame_t::block_iseq. - - * iseq.c (iseq_free): catch up this fix. - - * vm.c: ditto. - - * vm_dump.c: ditto. - -Wed Jul 22 06:25:45 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_call_info_t::blockiseq and rb_block_t::iseq. - - * vm.c, vm_insnhelper.c: catch up this fix. - - * iseq.c (iseq_data_to_ary): constify the first iseq parameter. - - * vm_insnhelper.c (vm_make_proc_with_iseq): ditto. - -Wed Jul 22 06:17:35 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: constify rb_method_iseq_t::iseqptr. - - * proc.c (rb_method_entry_min_max_arity): catch up this fix. - - * vm_insnhelper.c (def_iseq_ptr): constify. - -Wed Jul 22 03:37:39 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (internal_object_p): Now a singleton classes appear by - ObjectSpace.each_object. [Bug #11360] - - * test/ruby/test_objectspace.rb: add a test about it. - -Tue Jul 21 21:21:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (do_select): replace switch and goto with a loop to - suppress maybe-uninitialized warnings by gcc6. - - * thread.c (set_unblock_function, rb_wait_for_single_fd): ditto. - -Tue Jul 21 20:32:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/ruby/test_range.rb: Add test for Range#hash - [fix GH-969] Patch by @yui-knk - -Tue Jul 21 19:43:20 2015 Koichi Sasada <ko1@atdot.net> - - * compile.c: constify the first parameter (iseq). - * iseq_add_mark_object() - * iseq_add_mark_object_compile_time() - - * iseq.c, iseq.h (rb_iseq_add_mark_object): ditto. - -Tue Jul 21 16:18:48 2015 Eric Wong <e@80x24.org> - - * test/socket/test_nonblock.rb: increase buffer sizes - to OpenBSD limits. Thanks to Jeremy Evans <code@jeremyevans.net> - [ruby-core:70058] - -Tue Jul 21 16:08:53 2015 Eric Wong <e@80x24.org> - - * load.c (ruby_dln_librefs): make static - -Tue Jul 21 13:36:54 2015 yuuji.yaginuma <yuuji.yaginuma@gmail.com> - - * lib/optparse.rb (complete): [DOC] fix typo. [Fix GH-973] - -Tue Jul 21 05:20:21 2015 Eric Wong <e@80x24.org> - - * io.c (nogvl_wait_for_single_fd): new function for Linux - (maygvl_copy_stream_wait_read): Linux-specific version - (nogvl_copy_stream_wait_write): use nogvl_wait_for_single_fd - [ruby-core:70051] [Feature #11377] - -Mon Jul 20 15:04:30 2015 Eric Wong <e@80x24.org> - - * parse.y (parser_initialize): avoid redundant zero-ing - -Mon Jul 20 12:12:05 2015 Eric Wong <e@80x24.org> - - * parse.y (struct parser_params): pack: 88 => 256 bytes on 64-bit - [ruby-core:70034] [Feature #11371] - -Sun Jul 19 14:29:18 2015 windwiny <windwiny.ubt@gmail.com> - - * ext/pty/pty.c: [DOC] fix example typo, an old name at move from - PTY.open. [Fix GH-972] - -Sat Jul 18 21:29:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (vm_check_ints_blocking): gather common statements at - the end, and prefer LIKELY for Visual C optimization. - -Sat Jul 18 20:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * load.c (rb_load_internal0): do not raise any exceptions but - return the result tag state. - - * load.c (rb_load_protect): reduce nested EXEC_TAGs. - -Sat Jul 18 19:52:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * gc.c (run_finalizer): set and restore safe level here to reduce - nested EXEC_TAGs. - -Sat Jul 18 18:45:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * eval.c (ruby_cleanup): error_handle() returns exit status to the - system, not internal error state, do not convert the exit status - again. - -Sat Jul 18 10:29:03 2015 Eric Wong <e@80x24.org> - - * test/ruby/test_process.rb: test thread+sigs work after failed exec - -Sat Jul 18 07:20:18 2015 Jeremy Evans <code@jeremyevans.net> - - * test/socket/test_nonblock: use smaller buffer for sendmsg - [ruby-core:70016] [Bug #11364] - -Sat Jul 18 07:04:24 2015 Eric Wong <e@80x24.org> - - * signal.c (trap_handler): cleanup to use RSTRING_GETMEM + memcmp - -Sat Jul 18 02:53:06 2015 Eric Wong <e@80x24.org> - - * io.c (argf_read_nonblock): support `exception: false' - (io_nonblock_eof): new function - (io_read_nonblock): use io_nonblock_eof - (argf_getpartial): accept kwargs hash for `exception: false' - * test/ruby/test_argf.rb (test_read_nonblock): new test - * NEWS: add item for ARGF.read_nonblock - [ruby-core:70000] [Feature #11358] - -Fri Jul 17 23:51:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (rb_eval_cmd): $SAFE=4 has been deprecated. - -Fri Jul 17 22:18:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_compile_each): use enum ruby_tag_type names. - - * vm_core.h (ruby_tag_type): move from eval_intern.h for compiling - break/next/redo/return. - -Fri Jul 17 15:39:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/encoding.h (ENC_CODERANGE_CLEAN_P): predicate that - tells if the coderange is clean, that is 7bit or valid, and no - needs to scrub. - - * re.c (rb_reg_expr_str): use ENC_CODERANGE_CLEAN_P. - - * string.c (enc_strlen, rb_enc_cr_str_buf_cat, rb_str_scrub): - ditto. - - * string.c (rb_str_enumerate_chars): ditto, and suppress a warning - by gcc6. - -Fri Jul 17 15:36:52 2015 yui-knk <spiketeika@gmail.com> - - * test/ruby/test_range.rb (test_first_last): Add test for - `Range.new`. [Fix GH-971] - -Fri Jul 17 15:36:40 2015 yui-knk <spiketeika@gmail.com> - - * test/ruby/test_range.rb (test_first_last): Add assertions to - test of `Range#last` with exclude_end true case. [Fix GH-970] - -Fri Jul 17 09:59:14 2015 Eric Wong <e@80x24.org> - - * thread.c (rb_thread_alone): simplify - -Fri Jul 17 09:58:32 2015 Eric Wong <e@80x24.org> - - * lib/rinda/tuplespace.rb: remove enumerator require - * test/pathname/test_pathname.rb: ditto - -Fri Jul 17 05:33:58 2015 Eric Wong <e@80x24.org> - - * iseq.c (rb_iseq_compile_with_option): reuse result of previous - GET_THREAD() call - * thread.c (thread_create_core): ditto - (rb_mutex_trylock): ditto - (rb_mutex_lock): ditto - * process.c (rb_waitpid): avoid multiple eval from RUBY_VM_CHECK_INTS - * thread.c (rb_thread_check_ints): ditto - -Thu Jul 16 19:12:30 2015 Eric Wong <e@80x24.org> - - * thread.c (mutex_alloc): remove needless volatile - -Thu Jul 16 22:05:29 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: constify rb_iseq_t::parent_iseq. - - rb_iseq_t::local_iseq is not constant data because - local_iseq::flip_cnt can be modified (commented). - - * compile.c: catch up this fix. - - * iseq.c: ditto. - - * vm_insnhelper.c: ditto. - -Thu Jul 16 21:47:47 2015 Naohisa Goto <ngotogenome@gmail.com> - - * process.c (redirect_dup2): when the new FD of dup2() conflicts - with one of the timer thread FDs, the internal FD is diverted. - [Bug #11336] [ruby-core:69886] [Bug #11350] [ruby-core:69961] - - * process.c (dup2_with_divert): new function for the above purpose. - - * thread_pthread.c (rb_divert_reserved_fd): new function for - diverting reserved FD. If the given FD is the same as one of the - reserved FDs, the reserved FD number is internally changed. - It returns -1 when error. Otherwise, returns 0. It also returns - 0 if there is no need to change reserved FD number. - - * thread_win32.c (rb_divert_reserved_fd): always returns 0 because - of no reserved FDs. - - * internal.h (rb_divert_reserved_fd): prototype declaration. - It is Ruby internal use only. - -Thu Jul 16 21:47:46 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (rb_iseq_disasm): rename rb_iseq_t *iseqdat to iseq - and VALUE *iseq to code. - - * iseq.c (rb_iseq_disasm_insn): ditto. - -Thu Jul 16 14:34:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm.c (REWIND_CFP): keep the arguments region inside the valid - value stack. [ruby-core:69969] [Bug #11352] - -Thu Jul 16 11:38:21 2015 Eric Wong <e@80x24.org> - - * process.c (close_unless_reserved): declare type of `fd' arg - -Thu Jul 16 08:47:29 2015 Eric Wong <e@80x24.org> - - * load.c (rb_construct_expanded_load_path): fstring expanded path - (get_loaded_features_index): fstring feature path - (rb_provide_feature): ditto - [ruby-core:69871] [Feature #11331] - -Thu Jul 16 02:56:14 2015 Eric Wong <e@80x24.org> - - * thread.c (thread_initialize): avoid RSTRING_PTR and NUMT2INT - -Thu Jul 16 01:00:46 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/ruby/test_process.rb (test_exec_close_reserved_fd): test for - [Bug #11353] - -Thu Jul 16 00:35:42 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * .gitignore: ignore version.i. - -Wed Jul 15 23:40:32 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): - use RUBY (= EnvUtil.rubybin) - -Wed Jul 15 23:01:22 2015 Naohisa Goto <ngotogenome@gmail.com> - - * process.c (redirect_close, parent_redirect_close): should not close - reserved FD. It should be closed in the exec system call due to the - O_CLOEXEC or FD_CLOEXEC flag. [Bug #11353] [ruby-core:69977] - - * process.c (close_unless_reserved): new function to close FD unless - it is reserved for internal communication. - - * thread_pthread.c (rb_reserved_fd_p): should check owner_process pid - to avoid false positive in forked child process. - -Wed Jul 15 18:31:18 2015 Eric Wong <e@80x24.org> - - * proc.c (proc_mark): remove redundant check - * vm.c (env_mark): ditto - -Wed Jul 15 17:27:40 2015 Eric Wong <e@80x24.org> - - * iseq.c (iseq_mark): remove check for data pointer - * proc.c (binding_mark): ditto - * vm.c (rb_thread_mark): ditto - * vm_trace.c (tp_mark): ditto - -Wed Jul 15 16:55:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * encoding.c (enc_autoload): drop dummy encoding flag from - the loaded encoding index. this flag is used only in this - source. - -Wed Jul 15 14:39:29 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (vm_make_env_each): add comments about env layout. - Do not use `i' to specify `new_ep'. - - * vm.c (rb_proc_create, rb_vm_make_proc_lambda): envval is not used. - -Wed Jul 15 08:59:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * gc.h (RUBY_MARK_UNLESS_NULL): evaluate the argument only once - to get rid of inadvertent side effects. - -Wed Jul 15 02:53:11 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h, vm.c: remove rb_proc_t::envval because we can know it via - rb_proc_t::block::ep. - - rb_vm_proc_envval(const rb_proc_t *proc) returns an Env object which - the Proc object use. - - * proc.c: catch up this fix. - - * vm_dump.c (rb_vmdebug_proc_dump_raw): ditto. - -Wed Jul 15 02:27:22 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h, vm.c: remove rb_env_t::prev_envval because we can know it - via env->ep. - - rb_vm_env_prev_envval(env) returns prev_envval via env->ep. - - * vm_core.h (rb_vm_env_local_variables): change parameter type - from VALUE (T_DATA/env) to `const rb_env_t *' to make same as - rb_vm_env_prev_envval(). - - * proc.c: catch up these changes. - - * vm_dump.c: ditto. - - * vm.c: rename macros. - - * ENV_IN_HEAP_P() to VM_EP_IN_HEAP_P() because it uses ep. - * ENV_VAL() to VM_ENV_EP_ENVVAL() because it is too short. - -Wed Jul 15 01:09:09 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c: refactoring Proc/Env related code. - - * vm_core.h: remove blockprocval field from rb_proc_t and rb_binding_t. - Instead of this field, mark given block in Proc at rb_env_t::env. - - * vm.c (vm_make_env_each): make an Env object with this layout. - And also simplify parameters. - - * proc.c: catch up this fix. - - * vm_core.h: remove rb_env_t::local_size because it is not used. - - * vm_dump.c (rb_vmdebug_env_dump_raw): catch up this fix. - - * vm_core.h (rb_vm_make_env_object): remove rb_vm_make_env_object() - because it is only referred from vm.c. - - * vm_eval.c (eval_string_with_cref): catch up this fix. - -Wed Jul 15 00:03:36 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * gc.c (__has_feature): move into internal.h. - - * internal.h (__has_feature): ditto. - - * internal.h (__has_extension): new macro. - - * internal.h (STATIC_ASSERT): use _Static_assert with - clang. [ruby-core:69931] [Bug #11343] - -Wed Jul 15 00:00:00 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * random.c (fill_random_bytes_syscall): fix compile error with - clang. [ruby-core:69931] [Bug #11343] - -Tue Jul 14 11:22:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#register): - notify the handler thread of new timeout registration. - - * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize): - make sleep intervals adaptive than fixed period intervals. - - * lib/webrick/server.rb (WEBrick::GenericServer#start): flush - shutdown pipe. - - * lib/webrick/server.rb (WEBrick::GenericServer#stop): request the - server to stop immediately by sending data via shutdown pipe. - -Mon Jul 13 23:58:08 2015 Stefano Tortarolo <stefano.tortarolo@gmail.com> - - * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#do_CONNECT): - fix typos in debugger statements. [Fix GH-967] - -Mon Jul 13 19:11:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/timeout.rb (timeout): warn as deprecated for a long time. - -Mon Jul 13 01:37:27 2015 Zachary Scott <zzak@ruby-lang.org> - - * ext/openssl/ossl.c: [DOC] Backport ruby/openssl@dbb3fdb [Bug #11345] - Thanks to Tomoya Chiba for the report and help with patch. - -Sun Jul 12 09:20:02 2015 Shota Fukumori <her@sorah.jp> - - * ext/socket/basicsocket.c: [DOC] typo (Errno::AGAIN -> Errno::EAGAIN) - - * ext/socket/socket.c: ditto - - * ext/socket/tcpserver.c: ditto - - * ext/socket/udpsocket.c: ditto - - * ext/socket/unixserver.c: ditto - - * io.c: ditto - -Sun Jul 12 06:42:23 2015 ksss <co000ri@gmail.com> - - * test/stringio/test_stringio.rb (test_sysread): add a test for - StringIO#sysread. [Fix GH-966] - -Sat Jul 11 21:16:34 2015 ksss <co000ri@gmail.com> - - * ext/stringio/stringio.c (Init_stringio): [DOC] Fix an example, - StringIO#puts should be set "\n" at last. [Fix GH-965] - -Sat Jul 11 12:45:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/timeout.rb (Timeout#timeout): remove regexp with wrong line - number and fix caller depth. - -Fri Jul 10 22:05:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/timeout.rb (ExitException): removed internal exception class - and use Timeout::Error instead, as using throw/catch to isolate - each timeouts now. [ruby-dev:49179] [Bug #11344] - -Fri Jul 10 17:41:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (is_case_sensitive): get attributes by the file descriptor - of open directory, instead of using mount point name. - -Fri Jul 10 10:46:02 2015 ksss <co000ri@gmail.com> - - * ext/stringio/stringio.c (writable): remove unnecessary check for - deprecated safe level 4. [Fix GH-963] - -Thu Jul 9 15:07:12 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (waitpid): return immediately if interrupted. - reported by <takkanm AT gmail.com> [ruby-dev:49176] [Bug #11340] - -Thu Jul 9 13:03:46 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_search_super_method): use CI_SET_FASTPATH(). - -Thu Jul 9 11:07:06 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove rb_call_info_t::klass because - rb_callable_method_entry_t has information about defined class. - - * vm_insnhelper.c (vm_search_method): don't set ci->klass because - it is removed. - - * vm_insnhelper.c (rb_equal_opt): ditto. - - * vm_insnhelper.c (vm_search_superclass): removed because it is too - simple to write code directly. - - * vm_insnhelper.c (vm_defined): don't use vm_search_superclass(). - This fix avoid searching current callable `me' twice. - - * vm_insnhelper.c (vm_search_super_method): ditto. - -Thu Jul 9 10:03:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/net/http/responses.rb: Added 308 status to CODE_TO_OBJ list. - [fix GH-961] Patch by @billinghamj - -Thu Jul 9 09:34:14 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h (rb_control_frame_t): fix comments (layout index). - -Thu Jul 9 09:25:50 2015 Zachary Scott <e@zzak.io> - - * parse.y: Improve duplicate key warning with patch by @andremedeiros - [Fix GH-938] https://github.com/ruby/ruby/pull/938 [Bug #11327] - -Wed Jul 8 07:43:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/csv.rb: typo fix [ci skip][fix GH-958] Patch by @henrik - -Wed Jul 8 04:42:27 2015 Eric Wong <e@80x24.org> - - * iseq.c (iseq_data_to_ary): dump kw_arg as symbol - * test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip - [ruby-core:69891] [Bug #11338] - -Tue Jul 7 18:18:41 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * random.c (fill_random_bytes_syscall): fix compile error. - -Tue Jul 7 16:47:30 2015 Eric Wong <e@80x24.org> - - * compile.c (COMPILE_ERROR): reduce GET_THREAD() calls - -Tue Jul 7 16:39:04 2015 Eric Wong <e@80x24.org> - - * random.c (fill_random_bytes_syscall): return -1 for error - * random.c (fill_random_bytes): try urandom on syscall failure - -Tue Jul 7 15:02:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_str_normalize_ospath): skip invalid byte sequence not - to loop infinitely. this case usually does not happen as the - input name should come from real file systems. - -Tue Jul 7 14:40:08 2015 Koichi Sasada <ko1@atdot.net> - - * vm_backtrace.c: remove debug flag introduced accidentally. - -Tue Jul 7 12:05:37 2015 Koichi Sasada <ko1@atdot.net> - - * cont.c (cont_free): remove mysterious fflush() - introduced at r19890, maybe accidentally. - -Tue Jul 7 11:45:14 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (rb_method_call): because data->me should be non-NULL, - do not check data->me - - * proc.c (method_inspect): ditto. - -Tue Jul 7 11:37:25 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove rb_iseq_t::orig because rb_iseq_clone() - no longer exists. - - * iseq.c: don't use rb_iseq_t::orig. - -Tue Jul 07 11:25:57 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c, internal.h (rb_iseq_clone): removed because we don't need to - clone iseq any more. - - * class.c (clone_method): share iseq between cloned methods. All of - method dependent information are able to refer from method entry. - -Tue Jul 7 04:42:25 2015 Eric Wong <e@80x24.org> - - * string.c (Init_String): use rb_str_freeze for String#freeze - to resize internal buffer - [ruby-core:69870] [Feature #11330] - -Tue Jul 7 04:12:32 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (vm_define_method): remove an unused local variable. - -Tue Jul 7 03:57:28 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove rb_iseq_t::defined_method_id because it is not - needed. - - * eval.c (frame_func_id): simplify. rb_callable_method_entry_t - has enough information. - - * eval.c (frame_called_id): ditto. - - * iseq.c (prepare_iseq_build): catch up this fix. - - * proc.c (rb_mod_define_method): ditto. - - * vm.c (vm_define_method): ditto. - -Tue Jul 7 03:47:26 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove a useless declaration. - -Tue Jul 7 03:33:20 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: remove rb_iseq_t::klass to reduce dynamic data. - - * internal.h, iseq.c (rb_iseq_klass): remove it because - rb_iseq_t::klass is removed. - - * vm_insnhelper.c (vm_super_outside): do not see cfp->iseq, but - check callable method entry on a frame. - This fix simplify the logic to search super class. - - * test/ruby/test_method.rb: support super() from Proc. - Now, [Bug #4881] and [Bug #3136] was solved. - - * proc.c (rb_mod_define_method): catch up this change. - - * vm.c (vm_define_method): ditto. - - * vm_backtrace.c (rb_profile_frames): now, each `frame' objects - are rb_callable_method_entry_t data or iseq VALUEs. - - This fix introduce minor compatibility issue that - rb_profile_frame_label() always returns - rb_profile_frame_base_label(). - - * test/-ext-/debug/test_profile_frames.rb: catch up this change. - -Tue Jul 7 01:52:14 2015 Koichi Sasada <ko1@atdot.net> - - * cont.c (fiber_init): initialize control frame correctly. - This fix does not affect any ordinal execution, but - affects debug prints. - -Mon Jul 6 17:59:05 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_search_super_method): do not skip calling - same methods in super. - [Bug #3351] - - * test/ruby/test_super.rb: fix a test. - -Mon Jul 6 17:59:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/tk/tcltklib.c: removed deprecated safe level. - -Mon Jul 6 17:16:37 2015 Koichi Sasada <ko1@atdot.net> - - * method.h, proc.c (rb_method_entry_location): make it static - and remove prefix `rb_' because it is used only in proc.c. - -Mon Jul 6 16:42:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/lib/memory_status.rb: removed redundant path. - -Mon Jul 6 01:18:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/lib/test/unit/parallel.rb: make @@project_dir one level - upper as this file had moved one level deeper. - -Sun Jul 5 23:54:10 2015 mizokami <suzunatsu@yahoo.com> - - * lib/optparse.rb: [DOC] Fix typo. - -Sun Jul 5 18:25:37 2015 Eric Wong <e@80x24.org> - - * gc.c (gc_profile_record_get): fix spelling error in keys - -Sun Jul 5 14:49:01 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> - - * README.md: fix a typo pointed out by raoulvdberge. - https://github.com/ruby/ruby/pull/953#commitcomment-11998186 - -Sun Jul 5 12:56:20 2015 Irvi Firqotul Aini <viarc7@gmail.com> - - * README.md: Added link HowToReport bugs. - -Sun Jul 5 10:51:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (rb_ary_sort_bang): the original array may not be - embedded even if a substitution array is embedded, as it is - embedded when the original array is short enough but not - embedded. [ruby-dev:49166] [Bug #11332] - -Sun Jul 5 09:31:40 2015 Eric Wong <e@80x24.org> - - * test/ruby/test_process.rb: test for fd=3 usability in child - -Sat Jul 4 19:43:31 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * Add test case for empty array and first method with args. - Patch by @yui-knk [fix GH-955] - -Sat Jul 4 19:39:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * Add test for `Enumerable#sort` with block. Patch by @yui-knk - [fix GH-954] - -Sat Jul 4 14:38:43 2015 Eric Wong <e@80x24.org> - - * enum.c (zip_ary): remove volatile, use RB_GC_GUARD - (zip_i): ditto - -Sat Jul 4 10:42:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/rubygems/test_case.rb (teardown): do not delete features - loaded from the original load paths, the same libraries should - be loaded again when the same features are required. - [ruby-dev:49031] [Bug #11222] - -Sat Jul 4 09:38:52 2015 Eric Wong <e@80x24.org> - - * vm.c (rb_vm_mark): reduce branches for always-set VM fields - (rb_vm_add_root_module): ditto - -Fri Jul 03 20:05:10 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: introduce rb_callable_method_entry_t to remove - rb_control_frame_t::klass. - [Bug #11278], [Bug #11279] - - rb_method_entry_t data belong to modules/classes. - rb_method_entry_t::owner points defined module or class. - - module M - def foo; end - end - - In this case, owner is M. - - rb_callable_method_entry_t data belong to only classes. - For modules, MRI creates corresponding T_ICLASS internally. - rb_callable_method_entry_t can also belong to T_ICLASS. - - rb_callable_method_entry_t::defined_class points T_CLASS or - T_ICLASS. - rb_method_entry_t data for classes (not for modules) are also - rb_callable_method_entry_t data because it is completely same data. - In this case, rb_method_entry_t::owner == rb_method_entry_t::defined_class. - - For example, there are classes C and D, and includes M, - - class C; include M; end - class D; include M; end - - then, two T_ICLASS objects for C's super class and D's super class - will be created. - - When C.new.foo is called, then M#foo is searched and - rb_callable_method_t data is used by VM to invoke M#foo. - - rb_method_entry_t data is only one for M#foo. - However, rb_callable_method_entry_t data are two (and can be more). - It is proportional to the number of including (and prepending) - classes (the number of T_ICLASS which point to the module). - - Now, created rb_callable_method_entry_t are collected when - the original module M was modified. We can think it is a cache. - - We need to select what kind of method entry data is needed. - To operate definition, then you need to use rb_method_entry_t. - - You can access them by the following functions. - - * rb_method_entry(VALUE klass, ID id); - * rb_method_entry_with_refinements(VALUE klass, ID id); - * rb_method_entry_without_refinements(VALUE klass, ID id); - * rb_resolve_refined_method(VALUE refinements, const rb_method_entry_t *me); - - To invoke methods, then you need to use rb_callable_method_entry_t - which you can get by the following APIs corresponding to the - above listed functions. - - * rb_callable_method_entry(VALUE klass, ID id); - * rb_callable_method_entry_with_refinements(VALUE klass, ID id); - * rb_callable_method_entry_without_refinements(VALUE klass, ID id); - * rb_resolve_refined_method_callable(VALUE refinements, const rb_callable_method_entry_t *me); - - VM pushes rb_callable_method_entry_t, so that rb_vm_frame_method_entry() - returns rb_callable_method_entry_t. - You can check a super class of current method by - rb_callable_method_entry_t::defined_class. - - * method.h: renamed from rb_method_entry_t::klass to - rb_method_entry_t::owner. - - * internal.h: add rb_classext_struct::callable_m_tbl to cache - rb_callable_method_entry_t data. - - We need to consider about this field again because it is only - active for T_ICLASS. - - * class.c (method_entry_i): ditto. - - * class.c (rb_define_attr): rb_method_entry() does not takes - defined_class_ptr. - - * gc.c (mark_method_entry): mark RCLASS_CALLABLE_M_TBL() for T_ICLASS. - - * cont.c (fiber_init): rb_control_frame_t::klass is removed. - - * proc.c: fix `struct METHOD' data structure because - rb_callable_method_t has all information. - - * vm_core.h: remove several fields. - * rb_control_frame_t::klass. - * rb_block_t::klass. - - And catch up changes. - - * eval.c: catch up changes. - - * gc.c: ditto. - - * insns.def: ditto. - - * vm.c: ditto. - - * vm_args.c: ditto. - - * vm_backtrace.c: ditto. - - * vm_dump.c: ditto. - - * vm_eval.c: ditto. - - * vm_insnhelper.c: ditto. - - * vm_method.c: ditto. - -Fri Jul 3 14:30:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/file.c: some mingw compilers need a tweek for the - declarations of _wfreopen_s. [Bug #11320] - -Fri Jul 3 12:25:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * transcode.c (rb_econv_set_replacement): target encoding name can - be empty now. [ruby-core:69841] [Bug #11324] - -Fri Jul 3 07:21:06 2015 Eric Wong <e@80x24.org> - - * benchmark/bm_io_nonblock_noex.rb: new benchmark - * ext/openssl/ossl_ssl.c (no_exception_p): new function - (ossl_start_ssl): adjust for no_exception_p - (ossl_ssl_connect): adjust ossl_start_ssl call - (ossl_ssl_connect_nonblock): ditto - (ossl_ssl_accept): ditto - (ossl_ssl_accept_nonblock): ditto - (ossl_ssl_read_internal): adjust for no_exception_p - (ossl_ssl_write_internal): ditto - (ossl_ssl_write): adjust ossl_write_internal call - (ossl_ssl_write_nonblock): ditto - * ext/stringio/stringio.c (strio_read_nonblock): - delay exception check - * io.c (no_exception_p): new function - (io_getpartial): call no_exception_p - (io_readpartial): adjust for io_getpartial - (get_kwargs_exception): remove - (io_read_nonblock): adjust for io_getpartial, - check no_exception_p on EOF - (io_write_nonblock): call no_exception_p - (rb_io_write_nonblock): do not check `exception: false' - (argf_getpartial): adjust for io_getpartial - [ruby-core:69778] [Feature #11318] - -Fri Jul 3 07:13:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (replace_real_basename): Win32 API does not set errno, get - the last error by GetLastError() and map to errno. [Bug #10015] - -Thu Jul 2 21:32:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (replace_real_basename): show warnings at errors. - [Bug #10015] - -Thu Jul 2 18:39:20 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: remove `#define RGENGC_OBJ_INFO 1' line introduced to - debug Bug #11244. - -Thu Jul 2 18:34:26 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_raw_obj_info): separated from rb_obj_info(). - Fill internal object information into passed buffer. - - * gc.h: declare rb_raw_obj_info(). - -Thu Jul 2 16:15:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (replace_real_basename): update path type by the target - attributes if possible, to improve the performance. [Bug #10015] - -Thu Jul 2 14:45:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * st.c: get rid of VC++'s warnings of C4700 (uninitialized local - variable used). I think that these are wrong, but should shut them - up. - -Thu Jul 2 14:15:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/rubygems.rb (Gem.load_path_insert_index): search - @gem_prelude_index first. - - * lib/rubygems/test_case.rb (Gem::TestCase#setup): keep already - expanded paths to preserve instance variables. - -Thu Jul 2 14:12:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby.c (process_options): also copy initial load path marks at - setting load paths encoding. - -Thu Jul 2 12:26:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/rubygems/test_gem_server.rb (process_based_port): use - dynamically chosen port numbers to get rid of conflicts. - -Thu Jul 2 11:58:59 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/rubygems/test_gem_specification.rb: skip tests which the - platform does not permit the filename of its test file. - -Thu Jul 2 11:36:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/rubygems/test_gem_resolver_git_specification.rb: require - rubygems/installer.rb before Gem::TestCase#setup runs, otherwise - as Gem::TestCase#teardown restores $LOADED_FEATURES to the state - at that time, the requiring the file in GitSpecification#install - method causes a lot of constant redefinitions. - -Thu Jul 2 10:43:36 2015 Eric Wong <e@80x24.org> - - * ext/socket/rubysocket.h: flags for common socket families - (rsock_getfamily): update signature - * include/ruby/io.h: comment socket FMODE flags - * ext/socket/init.c (rsock_getfamily): memoize family - * ext/socket/basicsocket.c: adjust rsock_getfamily calls - * ext/socket/ancdata.c: ditto - [ruby-core:69713] [Feature #11298] - -Thu Jul 2 10:30:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems/resolver.rb: fixed NameError of Gem::Util::NULL_DEVICE. - -Thu Jul 2 09:51:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems/resolver.rb: fix error of null device reference with DOSISH - platform. - -Thu Jul 2 06:49:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems: Update to RubyGems HEAD(c202db2). - this version contains many enhancements see http://git.io/vtNwF - * test/rubygems: ditto. - -Wed Jul 1 23:50:34 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * test/net/http/test_httpresponse.rb - (HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase): - fix a failure without zlib. - -Wed Jul 1 10:54:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * Add test for Enumerable#none? [fix GH-950] Patch by @yui-knk - -Wed Jul 1 09:30:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * struct.c (struct_set_members): hide internal back_members - object, and members object does not need to be duped as it - should be frozen and hidden. - -Wed Jul 1 09:28:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * struct.c (struct_member_pos): revert r51080 to fix other - implicit conversions but cast the return value to fix the - previous implicit conversion. - -Wed Jul 1 08:47:24 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * struct.c (struct_member_pos): avoid implicit conversion loses - integer precision: 'long' to 'int'. - -Wed Jul 1 05:57:03 2015 Eric Wong <e@80x24.org> - - * vm_method.c (rb_add_method_iseq): add RB_GC_GUARD - * class.c (clone_method): remove RB_GC_GUARD - * struct.c (define_aref_method): ditto - (define_aset_method): ditto - * vm.c (vm_define_method): - * iseq.c (rb_iseq_clone): add RB_GC_GUARD - -Wed Jul 1 05:43:58 2015 Eric Wong <e@80x24.org> - - * struct.c (AREF_HASH_THRESHOLD): new macro - (id_back_members): new ID - (struct_member_pos_ideal): new function - (struct_member_pos_probe): ditto - (struct_set_members): ditto - (struct_member_pos): ditto - (rb_struct_getmember): use struct_member_pos for O(1) access - (rb_struct_aref_sym): ditto - (rb_struct_aset_sym): ditto - (setup_struct): call struct_set_members - (struct_define_without_accessor): ditto - (Init_Struct): initialize __members_back__ - [ruby-core:66851] [ruby-core:69705] [ruby-core:69821] - -Tue Jun 30 23:12:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (rb_io_reopen): FilePathValue() ensures the path - NUL-terminated and frozen, so it is unnecessary to make it shared. - -Tue Jun 30 23:11:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (check_dirname): ensure path name NUL-terminated for - SHARABLE_MIDDLE_SUBSTRING. - - * io.c (rb_sysopen): ditto. - -Tue Jun 30 18:38:16 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/file.c (rb_freopen): need to terminate by NUL. - -Tue Jun 30 17:28:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (rb_io_reopen): freopen(3) with OS encoding path. - [ruby-core:69780] [Bug #11320] - - * win32/file.c (rb_freopen): wrapper of wchar version freopen(3). - use _wfreopen_s() if available. - -Tue Jun 30 08:24:08 2015 Eric Wong <e@80x24.org> - - * io.c (rb_io_oflags_modestr): handle O_TRUNC correctly - * test/ruby/test_io.rb (test_reopen_stdio): new test - Patch-by: cremno phobia <cremno@mail.ru> - [ruby-core:69779] [Bug #11319] - -Tue Jun 30 02:47:02 2015 Eric Wong <e@80x24.org> - - * include/ruby/st.h (struct st_table): hide struct list_head - * st.c (struct st_table_entry): adjust struct - (head, tail): remove shortcut macros - (st_head): new wrapper function - (st_init_table_with_size): adjust to new struct and API - (st_clear): ditto - (add_direct): ditto - (unpack_entries): ditto - (rehash): ditto - (st_copy): ditto - (remove_entry): ditto - (st_shift): ditto - (st_foreach_check): ditto - (st_foreach): ditto - (get_keys): ditto - (get_values): ditto - (st_values_check): ditto - (st_reverse_foreach_check): ditto (unused) - (st_reverse_foreach): ditto (unused) - [ruby-core:69726] [Misc #10278] - -Mon Jun 29 17:38:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * insns.def (defineclass): do not quote unprintable characters at - raising an exception. - -Mon Jun 29 16:01:24 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper - case. [ruby-core:69670] [Bug #11285] patched by Andy Chu - -Mon Jun 29 14:50:08 2015 Shugo Maeda <shugo@ruby-lang.org> - - * eval.c (add_activated_refinement): should not include the original - class. - -Mon Jun 29 12:09:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * README.md: tweak styles. [fix GH-945][ci skip] Patch by @bryndyment - -Mon Jun 29 07:23:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * template/sizes.c.tmpl: extract RUBY_DEFINT to define sizes of - types checked by configure.in, and fix size of intptr_t in - universal binary. - -Mon Jun 29 02:10:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * insns.def (defineclass): preserve encoding of name in error - messages for super class mismatch. - - * insns.def (defineclass): preserve encoding of name in error - messages for non-class super. - - * insns.def (defineclass): preserve encoding of name in error - messages when already defined but type mismatch. - -Sun Jun 28 12:07:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * class.c (rb_define_class_id_under): raise TypeError exception - same as ruby level class definition when superclass mismatch. - -Sun Jun 14 19:02:03 2015 Benoit Daloze <eregontp@gmail.com> - - * lib/net/ftp.rb (makeport): close the TCPServer - when sending the port fails. - - * test/net/ftp/test_ftp.rb: test for above. - -Fri Jun 26 12:48:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * transcode.c (load_transcoder_entry): fix transcoder loading race - condition, by waiting in require. [ruby-dev:49106] [Bug #11277] - -Fri Jun 26 07:53:56 2015 Eric Wong <e@80x24.org> - - * enum.c (enum_minmax): simplify return value creation - * test/ruby/test_enum.rb: test behavior on empty - * hash.c (rb_hash_fetch_m): remove unnecessary volatile since r41597 - (env_reject_bang): trade volatile for GC guard - (env_select): ditto - (env_select_bang): ditto - (env_keep_if): ditto - (rb_env_clear): ditto - -Thu Jun 25 21:24:28 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/-ext-/popen_deadlock/test_popen_deadlock.rb: test [Bug #11265] - - * ext/-test-/popen_deadlock/infinite_loop_dlsym.c: new ext to call - dlsym(3) infinitely without GVL, used in the above test. - - * ext/-test-/popen_deadlock/extconf.rb: extconf.rb for the above - ext. Currently, only enabled on Solaris (main target) and Linux - (as a reference platform and for debugging the ext). - -Thu Jun 25 19:24:25 2015 Naohisa Goto <ngotogenome@gmail.com> - - * configure.in: not to use vfork on Solaris to avoid deadlock - occurred in vfork(2) with multi-threading and dynamic linker - on Solaris. [Bug #11265] [ruby-dev:49089] - -Thu Jun 25 18:25:41 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/lib/envutil.rb (Test::Unit::Assertions#assert_no_memory_leak): - NO_MEMORY_LEAK_ENVS is moved to Memory::NO_MEMORY_LEAK_ENVS - to reduce child executions during test-all on Solaris. - - * test/lib/memory_status.rb (Memory::NO_MEMORY_LEAK_ENVS): ditto. - -Thu Jun 25 17:32:33 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (rb_method_entry_create): need to call - method_definition_reset() if def is given. - - Actually, `me' is a new object, so we don't need to call it. - It is just to make sure. - - * vm_method.c (method_definition_reset): remove duplicated insertion. - - * vm_method.c (rb_method_entry_clone): assign dst->def here, - not in method_definition_reset(). - -Thu Jun 25 16:44:54 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c: make a rb_method_definition_t data (def) *after* making - a rb_method_entry_t data (me). - - Normally, `me' points `def'. Some Ruby objects pointed from `def' - and objects are marked by `me' (mark_method_entry() in gc.c). - However, `def' is built before making a `me', then nobody can mark - objects pointed from `def' before making (and pointing from) `me'. - - I hope this patch solve #11244. - - * vm_method.c: remove `rb_' prefix from some static functions. - - * method.h (rb_method_entry_create): constify - - * gc.c (mark_method_entry): add checking `def' and - `def->body.iseq.iseqptr' availability because they can be NULL. - -Thu Jun 25 14:14:16 2015 takiy33 <takiy33@gmail.com> - - * test/test_prime.rb (test_eratosthenes_works_fine_after_timeout): - use spaces instead of TABs in ruby codes. [Fix GH-944] - -Thu Jun 25 07:08:35 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (obj_info, method_type_name): show method type name in a string - instead of a number. - -Thu Jun 25 06:49:25 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (obj_info): show more details for T_IMEMO/imemo_ment. - -Thu Jun 25 06:40:46 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (rb_method_definition_reset): need a WB for - VM_METHOD_TYPE_ATTRSET. - -Thu Jun 25 03:33:21 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (RGENGC_OBJ_INFO, obj_info): add a macro to enable/disable - rich obj_info() output. - - At the default, the value of RGENGC_OBJ_INFO is - (RGENGC_DEBUG | RGENGC_CHECK_MODE). - - * gc.c (RGENGC_OBJ_INFO): force enable it to debug #11244. - - * gc.c (gc_mark_ptr): print more details with obj_info(). - - * gc.c (gc_mark_children): remove useless debug prints. - -Thu Jun 25 02:40:33 2015 Eric Wong <e@80x24.org> - - * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): - do not process kwargs in blocking mode - * test/openssl/test_ssl.rb: test sysread - -Wed Jun 24 16:54:11 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_mark_children): add additional debug code for #11244. - -Wed Jun 24 16:05:42 2015 Eric Wong <e@80x24.org> - - * string.c (rb_str_justify): use RB_GC_GUARD - -Wed Jun 24 14:25:17 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_mark_ptr): add a check code for #11244. - - It should be removed later. But we can remain this check - because it is only a branch. - -Wed Jun 24 12:49:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_fstring_cstr): new function to make a fstring from - a string literal. - - * internal.h (rb_fstring_lit): new macro to make a fstring from a - string literal. - - * include/ruby/intern.h (rb_strlen_lit): new macro to get the - length of a string literal, borrowed from mruby/mruby@e4afd53. - -Wed Jun 24 12:21:16 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * re.c: Update documentation for Regexp class. - [fix GH-937][ci skip] Patch by @davydovanton - -Wed Jun 24 09:23:03 2015 Eric Wong <e@80x24.org> - - * variable.c (generic_ivar_set): remove FL_ABLE check - (gen_ivar_copy): ditto - [ruby-core:69715] - -Wed Jun 24 08:28:15 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_recvmsg_internal): reduce stack use - [ruby-core:69595] [Feature #11263] - -Tue Jun 23 14:32:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * error.c (name_err_receiver): raise ArgumentError if no receiver - is available on this exception object. [Feature #10881] - -Tue Jun 23 09:48:34 2015 Eric Wong <e@80x24.org> - - * dir.c (check_dirname): avoid volatile, use return value - (dir_s_chroot, dir_s_mkdir, dir_s_rmdir): adjust callers - -Tue Jun 23 06:37:10 2015 Eric Wong <e@80x24.org> - - * struct.c (struct_ivar_get): cache member definition in a subclass - Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com> - in https://bugs.ruby-lang.org/issues/10585 - -Tue Jun 23 04:58:06 2015 Eric Wong <e@80x24.org> - - * benchmark/bm_vm2_struct_big_href_hi.rb: new benchmark - * benchmark/bm_vm2_struct_big_href_lo.rb: ditto - * benchmark/bm_vm2_struct_big_hset.rb: ditto - * benchmark/bm_vm2_struct_small_href.rb: ditto - * benchmark/bm_vm2_struct_small_hset.rb: ditto - Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com> - in https://bugs.ruby-lang.org/issues/10585 - -Mon Jun 22 18:08:48 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/lib/test/unit.rb (Test::Unit::Parallel#start_watchdog): removed - because it has been meaningless since r36385. [Bug #11288] - - * test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel): delete - lines related to the removed start_watchdog method - -Sun Jun 21 23:52:46 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * NEWS: mention about Array#bsearch_index and Hash#fetch_values. - -Sun Jun 21 23:46:27 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * NEWS: add a reference to a ticket. - -Sun Jun 21 20:28:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * internal.h (roomof): extract from type_roomof, and move from - bignum.c. - -Sun Jun 21 18:32:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ruby_atomic.h (ATOMIC_PTR_CAS): define by generic CAS macro, not - via size_t, to suppress a warning by mingw gcc. - -Sun Jun 21 05:31:41 2015 Shota Fukumori <her@sorah.jp> - - * ext/objspace/objspace_dump.c(dump_object): Return empty JSON object when - passed object is a special const, instead of SEGV. - Based patch by Kohei Suzuki (eagletmt). [ruby-core:69692] [Bug #11291] - - * test/objspace/test_objspace.rb(test_dump_special_consts): Test for above fix. - - -Sat Jun 20 03:56:58 2015 Yusuke Endoh <mame@ruby-lang.org> - - * enc/make_encmake.rb: the list of encoding extension libraries must - not include encinit.c itself. It caused "undefined reference to - Init_encinit". - -Sat Jun 20 02:03:53 2015 Naohisa Goto <ngotogenome@gmail.com> - - * process.c (rb_execarg_parent_start1): new macro ALWAYS_NEED_ENVP - to generate envp_str anytime on Solaris 10 (or earlier version - of Solaris) to avoid calling execv() which is async-signal unsafe - on Solaris 10. [Bug #11265] [ruby-dev:49089] - - * process.c (exec_with_sh, proc_exec_cmd): On Solaris 10, - because ALWAYS_NEED_ENVP is 1 and envp_str is always generated, - execv() in exec_with_sh() and proc_exec_cmd() are never called. - To guarantee this, execv() is replaced by a macro to print - out error message on Solaris 10. - - * process.c (proc_exec_sh): Because proc_exec_sh() may be called - by rb_proc_exec() with envp_str = Qfalse, execl() is replaced - by a macro that calls execle() with "extern char **environ" - traditional global variable on Solaris 10. - TODO: This may be unsafe and should be changed in the future. - Although rb_proc_exec() is not used from inside current version - of ruby, it may be called by third-party extensions. - -Sat Jun 20 01:10:13 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * NEWS: mention about $SAFE. - -Fri Jun 19 14:53:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (rb_mod_define_method): now requires a block direct to - this method call. [ruby-core:69655] [Bug #11283] - -Fri Jun 19 13:54:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (rb_mod_define_method): get rid of inadvertent ID - creations at error. - -Fri Jun 19 07:58:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/extmk.rb: if no with-ext option is given, default to - enable everything. [ruby-dev:49108] [Bug #11280] - -Fri Jun 19 06:30:07 2015 Koichi Sasada <ko1@atdot.net> - - * bootstraptest/test_method.rb: remove a test because $SAFE=2 was - obsolete. - - Please check btest, too. - -Thu Jun 18 23:51:51 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * bin/erb: $SAFE=3 is obsolete. - -Thu Jun 18 23:45:11 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * safe.c: removed needless doc related $SAFE=2 - -Thu Jun 18 23:38:07 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * thread.c (rb_thread_safe_level): fix document. $SAFE=3 is obsolete. - [ci skip] - -Thu Jun 18 23:25:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/extmk.rb: configure intersection of with-ext and not - without-ext, as withouts is no longer true by default if - with-ext option is given. [ruby-dev:49108] [Bug #11280] - -Thu Jun 18 23:20:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * include/ruby/ruby.h: $SAFE=2 is now obsolete. - - * dir.c, ext/fiddle/handle.c, ext/socket/basicsocket.c, file.c - gc.c, io.c, process.c, safe.c, signal.c, win32/file.c: - removed code for $SAFE=2 - - * test/erb/test_erb.rb, test/fiddle/test_handle.rb - test/ruby/test_env.rb: removed tests for $SAFE=2. - -Thu Jun 18 22:50:07 2015 Yusuke Endoh <mame@ruby-lang.org> - - * enc/make_encmake.rb: added --transes and --no-transes options. - -Thu Jun 18 18:24:12 2015 Eric Wong <e@80x24.org> - - * test/socket/test_unix.rb: replace sleep with select - -Thu Jun 18 17:59:06 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (rb_vm_control_frame_id_and_class): remove useless codes. - `me' knows ID and owner class. - -Thu Jun 18 16:58:35 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: constify rb_method_alias_struct::original_me and - rb_method_refined_struct::orig_me. - - * class.c (move_refined_method): use RB_OBJ_WRITE() for - me->def->body.refined.orig_me. - -Thu Jun 18 14:35:28 2015 Koichi Sasada <ko1@atdot.net> - - * ext/objspace/objspace.c (count_imemo_objects): support imemo_ment. - -Thu Jun 18 13:32:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * error.c (name_err_receiver): add NameError#receiver method. - [Feature #10881] - -Thu Jun 18 10:00:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * safe.c: removed needless doc related $SAFE=3 - -Thu Jun 18 09:59:23 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * safe.c: rename old method name for $SAFE=3 - -Thu Jun 18 06:02:42 2015 Eric Wong <e@80x24.org> - - * compile.c (get_exception_sym2type, iseq_build_from_ary_body): - rely on %+PRIsVALUE instead of calling rb_inspect directly - -Wed Jun 17 20:59:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * common.mk (ENC_MK): needs fake.rb if cross compilation. - [ruby-dev:49098] [Bug #11272] - -Wed Jun 17 20:23:29 2015 Tanaka Akira <akr@fsij.org> - - * ext/rbconfig/sizeof/extconf.rb: Check __float80. - -Wed Jun 17 15:15:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * safe.c (safe_setter): of course, don't have to warn the limitation of - $SAFE=3 after it's removed. - -Wed Jun 17 14:29:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * include/ruby/ruby.h: $SAFE=3 is now obsolete. - - * ext/socket/init.c, ext/socket/socket.c, ext/socket/tcpsocket.c - ext/socket/udpsocket.c, gc.c, object.c, re.c, safe.c: removed code - for $SAFE=3 - - * bootstraptest/test_method.rb, test/erb/test_erb.rb, test/ruby/test_dir.rb - test/ruby/test_file.rb, test/ruby/test_method.rb, test/ruby/test_regexp.rb - test/ruby/test_thread.rb: remove tests for $SAFE=3 - -Wed Jun 17 12:13:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ChangeLog: added contributor name. - -Wed Jun 17 10:57:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/csv.rb: accept to use Range object for row selection. - contributed by Mitsutaka Mimura. - [Feature #11267][ruby-dev:49091] - -Wed Jun 17 09:50:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/rdoc/servlet.rb (documentation_search, root_search): - requires json for JSON.dump and fix sporadic failures due to - the loading order. - -Tue Jun 16 19:19:53 2015 Tanaka Akira <akr@fsij.org> - - * ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99 - and x86_64 ABI. - - * template/sizes.c.tmpl: Relax a pattern for types. - -Tue Jun 16 17:37:01 2015 Koichi Sasada <ko1@atdot.net> - - * test/objspace/test_objspace.rb: relax pattern because uncollectible - flag and marked flag can be false at major GC. - [Bug #10852] - -Tue Jun 16 04:50:44 2015 Eric Wong <e@80x24.org> - - * ext/socket/basicsocket.c (bsock_recv): document outbuf - * ext/socket/unixsocket.c (unix_recvfrom): ditto - * ext/socket/init.c (rsock_strbuf, recvfrom_locktmp): new functions - (rsock_s_recvfrom): support destination buffer as 3rd arg - (rsock_s_recvfrom_nonblock): ditto - * string.c (rb_str_locktmp_ensure): export for internal ext - * test/socket/test_nonblock.rb: test recv_nonblock - * test/socket/test_unix.rb: test recv - [ruby-core:69543] [Feature #11242] - -Tue Jun 16 04:38:02 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_sendmsg_internal, - bsock_recvmsg_internal): - support "exception: false" kwarg - * ext/socket/init.c (rsock_s_recvfrom_nonblock): - ditto - * ext/socket/init.c (rsock_s_recvfrom_nonblock): use rsock_opt_false_p - * ext/socket/socket.c (sock_connect_nonblock): ditto - * ext/socket/rubysocket.h (rsock_opt_false_p): new function - * ext/socket/basicsocket.c (bsock_recv_nonblock): update rdoc - * ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto - * test/socket/test_nonblock.rb: new tests - [ruby-core:69542] [Feature #11229] - -Mon Jun 15 14:33:02 2015 Akinori MUSHA <knu@iDaemons.org> - - * lib/set.rb: Make Set#each and SortedSet#each generate a sized - enumerator. [GH-931] by kachick (Kenichi Kamiya) - - * test/test_set.rb: Import tests from Set into SortedSet. [GH-931] - by kachick (Kenichi Kamiya) - -Mon Jun 15 02:26:34 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * lib/net/http.rb (Net::HTTP#connect): use connect_nonblock and - io/wait to eliminate timeout use. fix GH-899 - -Sat Jun 13 07:21:18 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> - - * thread.c (thread_start_func_2): don't interrupt when last thread - exit unless main thread is already exited. Otherwise main thread - could be wrongly interrupted when it uses rb_thread_call_without_gvl(). - Patch by Takehiro Kubo. [Bug #11237][ruby-dev:49044][GH-898] - - * test/-ext-/gvl/test_last_thread.rb: new test for the above fix. - - * ext/-test-/gvl/call_without_gvl/call_without_gvl.c: new ext for - the above test. - * ext/-test-/gvl/call_without_gvl/extconf.rb: ditto. - -Mon Jun 15 00:14:33 2015 Tanaka Akira <akr@fsij.org> - - * ext/pathname/lib/pathname.rb (descend): Blockless form supported. - (ascend): Ditto. - [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski. - -Sun Jun 14 20:09:25 2015 Tanaka Akira <akr@fsij.org> - - * time.c (time_getlocaltime): [DOC] Add examples of valid utc_offset - formats. - [ruby-core:68306] [Misc #10905] Patch by Charles Korn. - -Sun Jun 14 18:49:56 2015 Tanaka Akira <akr@fsij.org> - - * ext/socket/raddrinfo.c (parse_numeric_port): Detect - port overflow. - (numeric_getaddrinfo): Use parse_numeric_port. - numeric_getaddrinfo fails if port is too big now. - This makes rb_getaddrinfo invokes the real getaddrinfo() - on such condition. - This change is related to [ruby-core:69355] [Bug #11179]. - -Sun Jun 14 17:26:03 2015 Tanaka Akira <akr@fsij.org> - - * enum.c (enum_chunk_while): New method Enumerable#chunk_while. - [ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada. - -Sun Jun 14 17:20:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_file_load_ok): try opening file without gvl not to - lock entire process. [Bug #11060] - -Sun Jun 14 10:43:50 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/runruby.rb: just remove the lines of RUBY_VERSION check and raise - instead of replacing the check to `true`, for getting rid of a - warning `possibly useless use of true in void context`. - -Sun Jun 14 10:13:55 2015 Kouhei Sutou <kou@cozmixng.org> - - * lib/rexml/source.rb (REXML::IOSource#scan): Fix a typo in - document. [fix GH-934] - Patch by Anton Davydov. Thanks!!! - -Sun Jun 14 10:09:48 2015 Kouhei Sutou <kou@cozmixng.org> - - * lib/rexml/attlistdecl.rb (REXML::AttlistDecl): Fix a typo in - document. [fix GH-934] - Patch by Anton Davydov. Thanks!!! - -Sun Jun 14 06:24:57 2015 Benoit Daloze <eregontp@gmail.com> - - * test/ruby/test_io.rb: add test for IO.binread fd leak. - See r50881. - -Sun Jun 14 05:23:51 2015 Benoit Daloze <eregontp@gmail.com> - - * io.c (rb_io_s_binread): close fd if seek offset is invalid. - -Sun Jun 14 04:40:32 2015 Benoit Daloze <eregontp@gmail.com> - - * test/lib/leakchecker.rb (check): refactor. - -Sun Jun 14 04:34:14 2015 Benoit Daloze <eregontp@gmail.com> - - * test/lib/leakchecker.rb: Return false for no leaks. - Otherwise the GC could run for nothing. - -Sun Jun 14 04:15:40 2015 Benoit Daloze <eregontp@gmail.com> - - * lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip] - -Sat Jun 13 20:28:14 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * file.c (rb_stat_ino): get inode from the interval of struct st. - - * win32/win32.c (stati64_set_inode): get nFileIndexHigh/Low, and set it - to the interval of struct st as inode. - [Feature #11216] - - * win32/win32.c (stati64_set_inode_handle): call stati64_set_inode. - - * win32/win32.c (rb_w32_fstati64): call stati64_set_inode_handle. - - * win32/win32.c (stati64_handle): call stati64_set_inode. - -Sat Jun 13 19:44:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/io/console/depend (.list.chksum): revert a part of r50859, because - it was not mentioned at its commit log and it caused a build error on - Windows ($(MAKE) is already quoted). - -Sat Jun 13 17:35:11 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * vm_core.h (rb_thread_t): add th->name. - - * vm.c (th_init): initialize th->name. - - * thread.c (Init_Thread): add Thread.name and name=. [Feature #11251] - - * thread.c (rb_thread_inspect): show thread's name if set. - - * thread.c (rb_thread_getname): defined. - - * thread.c (rb_thread_setname): ditto. - -Sat Jun 13 11:39:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/tempfile.rb: Fix typo. [fix GH-933] Patch by @Zorbash - -Sat Jun 13 11:38:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/openssl/ossl_ocsp.c: fix documentation on ocsp response cert status. - [fix GH-932] Patch by @chrisholmes - -Sat Jun 13 11:35:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/bigdecimal/bigdecimal.gemspec: Fix require paths for released gem. - [fix GH-929] Patch by @voxik - * ext/io/console/io-console.gemspec: ditto. - -Sat Jun 13 00:45:08 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Return sized enumerators. - Patch by Kenichi Kamiya [GH-931] - -Sat Jun 13 00:45:06 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Fix with_object with no block given - -Sat Jun 13 00:44:59 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Have with_index accept an offset parameter. - Based on patch by T Yamada. [#11007] - -Fri Jun 12 22:21:12 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * test/ruby/test_extlibs.rb (TestExtLibs::check_existence): fix - error. [Bug #11255] [ruby-dev:49079] - -Fri Jun 12 21:17:46 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * pack.c (pack_{un,}pack): new template character `j` and `J`, pointer - with signed and unsigned integers. - - * NEWS: mention about this feature. - [Feature #11215] [ruby-dev:49015] - -Fri Jun 12 21:01:44 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * file.c (File::SHARE_DELETE): new flag to be able to delete opened file - on Windows. - - * include/win32/win32.c (O_SHARE_DELETE): new pseudo file mode flag. - - * win32/win32.c (rb_w32_{w,}open): support above flag. [EXPERIMENTAL] - - * NEWS: mention about this feature. - [Feature #11218] [ruby-dev:49022] - -Fri Jun 12 18:21:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ChangeLog: added missing commit message. - -Fri Jun 12 18:20:37 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * sample/exyacc.rb: Fix some typos. [fix GH-927] Patch by @davydovanton - * sample/list.rb: ditto. - * sample/trick2013/kinaba/remarks.markdown: ditto. - -Fri Jun 12 17:34:14 2015 Wojciech Mach <wojtek@wojtekmach.pl> - - * hash.c (rb_hash_fetch_values): add `Hash#fetch_values`. - [Feature #10017] [Fix GH-776] - -Fri Jun 12 16:28:17 2015 Radan Skoric <radan.skoric@gmail.com> - - * array.c (rb_ary_bsearch_index): Implement Array#bsearch_index - method, which is similar to bsearch and returns the index or - nil. [Feature #10730] - -Thu Jun 11 19:11:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/zlib/zlib.c: Fix indentation for rdoc. - [Bug #11221][ruby-core:69465] - -Thu Jun 11 16:23:37 2015 Koichi Sasada <ko1@atdot.net> - - * method.h (METHOD_ENTRY_BASIC_SET): fix last commit (unbalanced parens). - -Thu Jun 11 15:14:16 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * configure.in: define SET_THREAD_NAME if it has pthread_set_name_np - for FreeBSD, and don't define it if both pthread_setname_np - and pthread_set_name_np don't exist. - - * thread_pthread.c (SET_THREAD_NAME): don't define if they don't exist. - - * thread_pthread.c (native_set_thread_name): run if SET_THREAD_NAME - is defined. - -Thu Jun 11 15:53:31 2015 Koichi Sasada <ko1@atdot.net> - - * method.h (METHOD_ENTRY_BASIC_SET): should clear last bit. - -Thu Jun 11 14:34:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems.rb: bump version to 2.4.7 and 2.4.8. these versions fixed - CVE-2015-3900. - * lib/rubygems/remote_fetcher.rb: ditto. - * test/rubygems/test_gem_remote_fetcher.rb: added testcase for CVE-2015-3900 - -Thu Jun 11 14:18:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/rubygems.rb: bump version to 2.4.6. It's missing change at r49774. - -Thu Jun 11 13:50:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (ary_ensure_room_for_push): check if array size will - exceed maximum size to get rid of buffer overflow. - [ruby-dev:49043] [Bug #11235] - - * array.c (ary_ensure_room_for_unshift, rb_ary_splice): ditto. - -Thu Jun 11 13:17:34 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/test_cmath.rb (TestCMath#test_trigonometric_functions): should - not compare float values (in complex values) by `==`. - -Thu Jun 11 08:52:01 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: embed rb_method_entry_t::attr::flags (5 bits) into - rb_method_entry_t::flags to make one word spare space. - - Add some macros to access these flags. - - * vm_method.c: use these macros. - - * internal.h: define IMEMO_FL_USHIFT and IMEMO_FL_USER[0-4] - for T_IMEMO local flags. - -Thu Jun 11 08:27:06 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c: use VM_ASSERT instead of assert(). - - * vm_args.c: ditto. - - * vm_insnhelper.c: ditto. - - * vm_method.c: ditto. - -Thu Jun 11 08:16:48 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: define VM_ASSERT() for assertion - enabled only when (VM_CHECK_MODE > 0). - - * vm_insnhelper.c: move definition VM_CHECK_MODE - from vm_insnhelper.c to vm_core.h. - - * vm.c: remove <assert.h> - -Thu Jun 11 06:46:07 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (check_frame): check type of cref_or_me first. - -Thu Jun 11 04:34:39 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * test/test_cmath.rb: Add some assertions. - -Thu Jun 11 00:34:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * template/fake.rb.in: expanded macro result may have spaces - between tokens. [ruby-dev:49047] [Bug #11243] - -Wed Jun 10 22:27:32 2015 Naohisa Goto <ngotogenome@gmail.com> - - * lib/mkmf.rb: revert r50804 because of build failure when specifying - LDFLAGS during configure, observed on Solaris with GCC 4.6. - [Bug #11245] - -Wed Jun 10 21:59:51 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * README.ja.md: fix markup miss. - -Wed Jun 10 11:06:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * template/fake.rb.in: turn into erb template from autoconf - template to fake more accurately. - - * common.mk (fake.rb): needs preprocessed file now. - - * version.c (Init_version): add dummy expression to - RUBY_ENGINE_VERSION. - -Tue Jun 9 12:31:25 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Simplify and optimize EratosthenesSieve - -Tue Jun 9 11:45:00 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Simplify and optimize EratosthenesSieve - based on patch by Ajay Kumar. [Fixes GH-921] - -Mon Jun 8 05:09:58 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (obj_info): print method id for T_IMEMO/ment. - -Sun Jun 7 07:05:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * Move test cases from test/ruby/test_complex.rb to test/test_cmath.rb - -Sat Jun 6 18:23:41 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: back to share rb_method_definition_t by - rb_method_entry_t. - - r50728 changed sharing `def's to isolating `def's - on alias and so on. However, this change conflicts - future improvement plan. So I change back to sharing approach. - - * method.h: move rb_method_definition_t::flags to - rb_method_entry_t::attr::flags. - - rb_method_entry_t::attr is union with VALUE because this field - should have same size of VALUE. rb_method_entry_t is T_IMEMO). - - And also add the following access macros to it's fields. - - * METHOD_ENTRY_VISI(me) - * METHOD_ENTRY_BASIC(me) - * METHOD_ENTRY_SAFE(me) - - * vm_method.c (rb_method_definition_addref): added instead of - rb_method_definition_clone(). - - Do not create new definition, but increment alias_count. - - * class.c (clone_method): catch up this fix. - - * class.c (method_entry_i): ditto. - - * proc.c (mnew_internal): ditto. - - * proc.c (mnew_missing): ditto. - - * vm_eval.c: ditto. - - * vm_insnhelper.c: ditto. - - * vm_method.c: ditto. - -Sat Jun 6 15:59:38 2015 Koichi Sasada <ko1@atdot.net> - - * class.c: ins_methods_push() needs rb_method_visibility_t type on - 2nd arg. - -Sat Jun 6 15:05:47 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (ins_methods_push): Change type and name of parameters - to make more clear. - -Sat Jun 6 08:52:13 2015 Eric Wong <e@80x24.org> - - * test/socket/test_nonblock.rb: try to avoid EMSGSIZE - [ruby-core:69466] - -Sat Jun 6 07:58:30 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: remove struct mark_tbl_arg and pass objspace directly - to avoid indirect access overhead. - -Sat Jun 6 07:08:45 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_sendmsg_internal): drop redundant assignment - -Sat Jun 6 01:00:06 2015 Naohisa Goto <ngotogenome@gmail.com> - - * ext/socket/ancdata.c (bsock_sendmsg_internal): all arguments are - parsed even on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROL - to prevent SEGV caused by passing Qnil to RARRAY_LENINT and - to preserve behavior before r50776. - [Bug #11224] [ruby-core:69468] [Bug #11225] [ruby-core:69469] - -Fri Jun 5 22:37:42 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (ins_methods_push): change 3rd parameter's type - from long to rb_method_visibility_t. - - * class.c (ins_methods_i): catch up this fix. - - * class.c (method_entry_i): cast to st_data_t instead of `long'. - -Fri Jun 5 20:37:10 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: move definition of rb_cref_t to method.h. - - * eval_intern.h: move definition of rb_scope_visibility_t - to method.h. - - * method.h: change rb_cref_t::scope_visi from VALUE to - rb_scope_visibility_t. - [Bug #11219] - - * vm.c (vm_cref_new): accept rb_method_visibility_t directly. - - * vm_insnhelper.c (rb_vm_rewrite_cref): don't use 0, - but METHOD_VISI_UNDEF. - - * vm_method.c (rb_scope_visibility_set): don't need to use cast. - - * vm_method.c (rb_scope_module_func_set): ditto. - -Fri Jun 5 17:27:30 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_sendmsg_internal): avoid msg_control - ptr if msg_controllen is zero to fix portability problems. - -Fri Jun 5 09:17:45 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_sendmsg_internal): fix build error - from r50776 - -Fri Jun 5 07:05:58 2015 Eric Wong <e@80x24.org> - - * io.c (sym_wait_readable, sym_wait_writable): declare - (io_getpartial): use sym_wait_readable - (io_write_nonblock): use sym_wait_writable - (Init_IO): initialize sym_wait_*able - -Fri Jun 5 06:43:00 2015 Eric Wong <e@80x24.org> - - * doc/extension.rdoc: note rb_get_kwargs changes keywords_hash - [ruby-core:68507] - -Fri Jun 5 05:50:29 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_sendmsg_internal): use rb_scan_args - [ruby-core:69439] [Feature #11207] - -Fri Jun 5 02:20:06 2015 Koichi Sasada <ko1@atdot.net> - - * test/lib/envutil.rb (assert_no_memory_leak): change default value - of limit from 1.5 to 2.0. It is ad-hoc fix to solve test failure - in travis-ci. - -Fri Jun 5 01:17:21 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_defined): no need to use cast. - -Fri Jun 5 01:14:02 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_defined): show additional messages on rb_bug(). - -Fri Jun 5 01:06:02 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (rb_add_method_iseq): use intermediate struct to - avoid initializing struct with variables. - [Bug #11217] - - * method.h: add a comment about it. - -Fri Jun 5 00:55:21 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: constify rb_method_refined_t::orig_me. - - Also constify the following functions. - - * rb_resolve_refined_method() - * rb_method_entry_with_refinements() - * rb_method_entry_without_refinements() - * rb_method_entry_copy()'s parameter. - - * class.c: catch up this fix. - - * vm_insnhelper.c: ditto. - - * vm_method.c: ditto. - -Thu Jun 4 12:47:54 SGT 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * array.c: Revert r50763. because "reentered" is not typo. - -Thu Jun 4 11:12:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/win32ole/win32ole.c: fix a typo. Patch by @davydovanton - [fix GH-923] - * include/ruby/st.h: ditto. - * include/ruby/util.h: ditto. - -Thu Jun 4 10:54:30 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * array.c: fix a typo. Patch by @manish-shrivastava - [fix GH-922] - -Thu Jun 4 09:52:02 2015 Eric Wong <e@80x24.org> - - * ext/openssl/lib/openssl/ssl.rb: use io/nonblock instead of fcntl - [ruby-core:69382] [Feature #11190] - -Thu Jun 4 07:22:45 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: introduce rb_method_refined_t for refined method entry. - - * class.c (move_refined_method): catch up this fix. - - * gc.c (mark_method_entry): ditto. - - * vm_eval.c (vm_call0_body): ditto. - - * vm_insnhelper.c (vm_call_method): ditto. - - * vm_method.c: ditto. - -Thu Jun 4 07:12:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (dirent_match): match short names only when FNM_SHORTNAME - flag is given, for the backward compatibility, and the new - behavior is often dangerous. [ruby-core:69435] [Bug #11206] - -Thu Jun 4 05:44:01 2015 Eric Wong <e@80x24.org> - - * variable.c (special_generic_ivar): remove flag - (givar_i, rb_mark_generic_ivar_tbl): remove functions - (rb_free_generic_ivar, rb_ivar_lookup, rb_ivar_delete, - generic_ivar_set, rb_ivar_set, rb_ivar_defined, - rb_copy_generic_ivar, rb_ivar_foreach, rb_ivar_count, - rb_obj_remove_instance_variable): - adjust for lack of ivar support in special constants - * test/ruby/test_variable.rb: test ivars for special consts - * internal.h: remove rb_mark_generic_ivar_tbl decl - * gc.c (gc_mark_roots): remove rb_mark_generic_ivar_tbl call - [ruby-core:69441] [Feature #11208] - -Thu Jun 4 05:13:34 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (def_iseq_ptr): `iseqval' is not available any more. - -Thu Jun 4 04:50:12 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (method_entry_i): mtbl should not have `me' as NULL. - -Thu Jun 4 04:28:45 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (clone_method): do not use me->klass, but use explicitly - passed argument. - -Thu Jun 4 04:10:43 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h (rb_vm_rewrite_cref_stack): rename to rb_vm_rewrite_cref(). - - * class.c (clone_method): use renamed name. - - * vm_insnhelper.c (rb_vm_rewrite_cref): do not use `node' in variable - names. - -Wed Jun 3 23:03:50 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c: rename `rb_frame_...' to `rb_scope_...'. - - * eval_intern.h: move decl. of rb_scope_visibility_set() to method.h. - - * load.c: catch up this fix. - -Wed Jun 3 21:14:20 2015 Tanaka Akira <akr@fsij.org> - - * ext/rbconfig/sizeof/extconf.rb: Check C99 standard integer types. - -Wed Jun 3 21:00:47 2015 Tanaka Akira <akr@fsij.org> - - * configure.in: Don't check __int128. - - * ext/rbconfig/sizeof/extconf.rb: Check __int128. - - * ext/rbconfig/sizeof/depend: sizes.c depends on - ext/rbconfig/sizeof/extconf.rb. - - * template/sizes.c.tmpl: Detect check_sizeof. - -Wed Jun 3 20:07:07 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (clone_method): remove redundant check for me->def != NULL. - Now, all `me` have `me->def`. - - * proc.c (rb_method_entry_location): ditto. - - * vm.c (rb_vm_check_redefinition_opt_method): ditto. - - * vm.c (add_opt_method): ditto. - - * vm_eval.c (vm_call0_body): ditto. - -Wed Jun 3 19:24:12 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: rename enum missing_reason to enum method_missing_reason. - - * vm_core.h: use enum method_missing_reason for - rb_thread_t::method_missing_reason. - - * vm_eval.c: catch up this fix. - - * vm_insnhelper.c: ditto. - -Wed Jun 3 16:17:21 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * vm.c: eagerly allocate `loading_table`. This eliminates the need to - do NULL checks when looking up the `loading_table` hash. - https://github.com/ruby/ruby/pull/918 - - * load.c: remove various NULL checks - -Wed Jun 3 11:47:15 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: change fields order to gather frequent access fields. - - * vm_insnhelper.c (vm_call_method): add LIKELY(). - -Wed Jun 03 10:35:45 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: split rb_method_definition_t::flag to several flags. - - `flag' contains several categories of attributes and it makes us - confusion (at least, I had confused). - - * rb_method_visibility_t (flags::visi) - * NOEX_UNDEF -> METHOD_VISI_UNDEF = 0 - * NOEX_PUBLIC -> METHOD_VISI_PUBLIC = 1 - * NOEX_PRIVATE -> METHOD_VISI_PRIVATE = 2 - * NOEX_PROTECTED -> METHOD_VISI_PROTECTED = 3 - * NOEX_SAFE(flag) -> safe (flags::safe, 3 bits) - * NOEX_BASIC -> basic (flags::basic, 1 bit) - * NOEX_MODFUNC -> rb_scope_visibility_t in CREF - * NOEX_SUPER -> MISSING_SUPER (enum missing_reason) - * NOEX_VCALL -> MISSING_VCALL (enum missing_reason) - * NOEX_RESPONDS -> BOUND_RESPONDS (macro) - - Now, NOEX_NOREDEF is not supported (I'm not sure it is needed). - - Background: - I did not know what "NOEX" stands for. - I asked Matz (who made this name) and his answer was "Nothing". - "At first, it meant NO EXport (private), but the original - meaning was gone." - This is why I remove the mysterious word "NOEX" from MRI. - - * vm_core.h: introduce `enum missing_reason' to represent - method_missing (NoMethodError) reason. - - * eval_intern.h: introduce rb_scope_visibility_t to represent - scope visibility. - It has 3 method visibilities (public/private/protected) - and `module_function`. - -Wed Jun 3 08:06:30 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * gem/bundled_gems: updated to test-unit 3.1.1 and minitest 5.7.0. - -Wed Jun 3 04:48:05 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_defined): check respond_to_missing? - at defined?(func()). - [Bug #11212] - - * test/ruby/test_defined.rb: add a test for this fix. - -Wed Jun 3 04:34:39 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (vm_defined): skip respond_to_missing? when - a method is available. - [Bug #11211] - - * test/ruby/test_defined.rb: add a test for this fix. - -Wed Jun 3 04:14:13 2015 Koichi Sasada <ko1@atdot.net> - - * insns.def (defined), vm_insnhelper.c (vm_defined): - move instruction body to the vm_defined() function. - -Wed Jun 3 02:29:25 2015 Benoit Daloze <eregontp@gmail.com> - - * test/ruby/test_module.rb: Do not assume class variable order. - Patch by @enebo. - -Wed Jun 3 01:10:38 2015 Yusuke Endoh <mame@tsg.ne.jp> - - * vm_method.c (rb_method_definition_set): remove a double assignment. - Coverity Scan found this bug. - -Wed Jun 3 00:04:51 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (rb_alias): rename parameter names. - -Tue Jun 2 23:27:18 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: remove rb_method_iseq_t::iseqval. - While making a r50728, iseqval is needed (to mark correctly), - but now just iseqptr is enough. - - * class.c: catch up this fix. - - * gc.c: ditto. - - * proc.c: ditto. - - * vm_method.c: ditto. - -Tue Jun 2 21:29:28 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (proc_curry): remove a debug line. - -Tue Jun 2 12:43:46 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: make rb_method_entry_t a VALUE. - Motivation and new data structure are described in [Bug #11203]. - - This patch also solve the following issues. - - * [Bug #11200] Memory leak of method entries - * [Bug #11046] __callee__ returns incorrect method name in orphan - proc - - * test/ruby/test_method.rb: add a test for [Bug #11046]. - - * vm_core.h: remove rb_control_frame_t::me. me is located at value - stack. - - * vm_core.h, gc.c, vm_method.c: remove unlinked_method... codes - because method entries are simple VALUEs. - - * method.h: Now, all method entries has own independent method - definitions. Strictly speaking, this change is not essential, - but for future changes. - - * rb_method_entry_t::flag is move to rb_method_definition_t::flag. - * rb_method_definition_t::alias_count is now - rb_method_definition_t::alias_count_ptr, a pointer to the counter. - - * vm_core.h, vm_insnhelper.c (rb_vm_frame_method_entry) added to - search the current method entry from value stack. - - * vm_insnhelper.c (VM_CHECK_MODE): introduced to enable/disable - assertions. - -Tue Jun 2 10:46:36 2015 Eric Wong <e@80x24.org> - - * test/socket/test_nonblock.rb: new test for sendmsg_nonblock - -Tue Jun 2 09:04:14 2015 Eric Wong <e@80x24.org> - - * lib/benchmark.rb: just use Process::CLOCK_MONOTONIC - [ruby-core:69390] - -Mon Jun 1 22:01:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/mkmf.rb (pkg_config): split --libs if --libs-only-l option - is not available. patch in [ruby-core:69428] by Hans Mackowiak. - [ruby-core:69421] [Bug #11201] - -Mon Jun 1 21:18:24 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_mark_children): remove a garbage character - introduced at the last commit. - -Mon Jun 1 19:24:42 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (rb_method_entry_make): do not show warning message - when method_entry is an alias. - -Mon Jun 1 15:47:16 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: move class related definitions. - -Mon Jun 1 15:43:03 2015 Koichi Sasada <ko1@atdot.net> - - * class.c: remove needless include pragma for method.h. - - * struct.c: ditto. - - * vm_method.c: ditto. - -Mon Jun 1 05:42:00 2015 Koichi Sasada <ko1@atdot.net> - - * eval_intern.h, vm_method.c: move macros to functions. - * SCOPE_TEST(f) -> rb_frame_visibility_test(flag). - * SCOPE_CHECK(f) -> rb_frame_visibility_check(flag). - * SCOPE_SET(f) -> rb_frame_visibility_set(flag). - - * load.c (load_ext): use it. - -Mon Jun 1 04:47:37 2015 Zachary Scott <e@zzak.io> - - * ext/date/date_core.c: [DOC] Add comparison of Time and DateTime - Patch provided by @pixeltrix - -Mon Jun 1 04:22:09 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h (VM_FRAME_MAGIC_DUMMY): introduce new frame type to - recognize dummy frame. - - * vm.c (th_init): use new frame type. - - * vm_args.c (raise_argument_error): ditto. - -Mon Jun 1 04:15:42 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (rb_class_has_methods): added to reduce dependency - to internal class data structure. - - * internal.h: ditto. - - * hash.c (has_extra_methods): use added function. - -Mon Jun 1 04:11:48 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c , gc.h (rb_obj_info): export obj_info(VALUE) for debugging. - -Mon Jun 1 03:52:55 2015 Koichi Sasada <ko1@atdot.net> - - * test/ruby/test_gc.rb: increase timeout seconds for GC stressful - debugging. - -Sun May 31 04:18:06 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: fix typo of comments. - -Sun May 31 03:36:42 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: add VM_METHOD_TYPE_ALIAS rb_method_definition_t::type - to fix [Bug #11173]. - - Now, inter class/method alias creates new method entry - VM_METHOD_TYPE_ALIAS, which has an original method entry. - - * vm_insnhelper.c (find_defined_class_by_owner): added. - Search corresponding defined_class from owner class/module. - - * vm_method.c (rb_method_entry_get_without_cache): return me->klass - directly for defined_class. - - Now, no need to check me->klass any more. - - * vm_method.c (method_entry_set0): separated from method_entry_set(). - - * vm_method.c (rb_alias): make method entry has VM_METHOD_TYPE_ALIAS. - - * vm_method.c (release_method_definition): support VM_METHOD_TYPE_ALIAS. - - * vm_method.c (rb_hash_method_definition): ditto. - - * vm_method.c (rb_method_definition_eq): ditto. - - * vm_method.c (release_method_definition): ditto. - - * vm_insnhelper.c (vm_call_method): ditto. - - * vm_insnhelper.c (vm_method_cfunc_entry): ditto. - - * vm_eval.c (vm_call0_body): ditto. - - * gc.c (mark_method_entry): ditto. - - * proc.c (method_def_iseq): ditto. - - * proc.c (method_cref): ditto. - - * proc.c (rb_method_entry_min_max_arity): ditto. - - * test/ruby/test_alias.rb: add tests. - - * test/ruby/test_module.rb: fix a test to catch up current behavior. - -Sun May 31 03:34:25 2015 Koichi Sasada <ko1@atdot.net> - - * vm_method.c (rb_unlink_method_entry): make it static. - -Sun May 31 03:26:58 2015 Koichi Sasada <ko1@atdot.net> - - * method.h, vm_method.c (rb_free_method_entry): constify a parameter. - - * vm_core.h: remove useless declaration about rb_unlink_method_entry(). - -Sat May 30 18:05:02 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * lib/tempfile.rb (Remover#call): fixed wrong condition. introduced at - r50682. - -Sat May 30 16:12:35 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile - [ruby-core:69419] [Feature #11198] - -Sat May 30 15:59:10 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * lib/tempfile.rb (Tempfile#initialize): initialize @unlinked to fix - test failures introduced at r50682. I hope that check the results of - tests before committing, at least the tests about the changed feature. - -Sat May 30 11:02:55 2015 Martin Englund <martin@englund.nu> - - * doc/dtrace_probes.rdoc: change lingering dtrace probe documentation - from function- to method- - -Sat May 30 10:26:09 2015 Masaki Matsushita <glass.saga@gmail.com> - - * lib/tempfile.rb: refactoring. - * use warn instead of STDERR.print - * remove @tmpname and use @tmpfile.path - * introduce @unlinked flag - * Remover takes only @tmpfile - * mode will be modified just before file reopen - -Sat May 30 09:02:51 2015 Eric Wong <e@80x24.org> - - * include/ruby/intern.h (rb_generic_ivar_table): deprecate - * internal.h (rb_attr_delete): declare - * marshal.c (has_ivars): use rb_ivar_foreach - (w_ivar): ditto - (w_object): update for new interface - * time.c (time_mload): use rb_attr_delete - * variable.c (generic_ivar_delete): implement - (rb_ivar_delete): ditto - (rb_attr_delete): ditto - [ruby-core:69323] [Feature #11170] - -Sat May 30 09:14:28 2015 Scott Francis <scott.francis@shopify.com> - - * cont.c (cont_free): check if ruby_current_thread is still valid. - [Fix GH-914] - -Sat May 30 08:36:04 2015 Eric Wong <e@80x24.org> - - * variable.c (static int special_generic_ivar): move - (rb_generic_ivar_table): rewrite for compatibility - (gen_ivtbl_bytes): new function - (generic_ivar_get): update to use ivar index - (generic_ivar_update): ditto - (generic_ivar_set): ditto - (generic_ivar_defined): ditto - (generic_ivar_remove): ditto - (rb_mark_generic_ivar): ditto - (givar_i): ditto - (rb_free_generic_ivar): ditto - (rb_mark_generic_ivar_tbl): ditto - (rb_generic_ivar_memsize): ditto - (rb_copy_generic_ivar): ditto - (rb_ivar_set): ditto - (rb_ivar_foreach): ditto - (rb_ivar_count): ditto - (givar_mark_i): remove - (gen_ivtbl_mark): new function - (gen_ivar_each): ditto - (iv_index_tbl_extend): update for struct ivar_update - (iv_index_tbl_newsize): ditto - [ruby-core:69323] [Feature #11170] - -Sat May 30 08:10:46 2015 Eric Wong <e@80x24.org> - - * variable.c (iv_index_tbl_make): extract from rb_ivar_set - (iv_index_tbl_extend): ditto - (iv_index_tbl_newsize): ditto - (rb_ivar_set): use extracted functions - [ruby-core:69323] (Part 1) - -Fri May 29 17:39:14 2015 Koichi Sasada <ko1@atdot.net> - - * tool/make_hgraph.rb: added. - -Fri May 29 14:39:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_compile_each): out of range NTH_REF is always - nil. - - * parse.y (parse_numvar): check overflow of NTH_REF and range. - [ruby-core:69393] [Bug #11192] - - * util.c (ruby_scan_digits): make public and add length parameter. - -Fri May 29 11:18:58 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_sendmsg_internal, - bsock_recvmsg_internal): - avoid redundant fcntl on Linux - [ruby-core:69154] [Feature #11145] - * ext/socket/init.c (rsock_s_recvfrom_nonblock): ditto - * ext/socket/rubysocket.h (MSG_DONTWAIT_RELIABLE): new macro - -Fri May 29 10:30:34 2015 Eric Wong <e@80x24.org> - - * lib/net/resolv.rb (request): use monotonic clock - * lib/net/http.rb (begin_transport, end_transport): ditto - [ruby-core:69384] [Feature #11124] - -Fri May 29 04:37:38 2015 Koichi Sasada <ko1@atdot.net> - - * ext/objspace/objspace.c: add two methods to debug internals. - - * ObjectSpace.internal_class_of: return RBASIC_CLASS(obj). - * ObjectSpace.internal_super_of: return RCLASS_SUPER(cls). - - * NEWS: add information about both methods. - - * test/objspace/test_objspace.rb: add tests for both methods. - -Thu May 28 06:55:53 2015 Anton Davydov <antondavydov.o@gmail.com> - - * ext/tk/sample/figmemo_sample.rb (open_file), - ext/tk/sample/tktextio.rb (TkTextIO): fix typo in messages. - [Fix GH-916] - -Wed May 27 09:50:51 2015 Eric Wong <e@80x24.org> - - * ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode, - ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile - [ruby-core:69371] [Bug #11185] - -Wed May 27 09:27:30 2015 Eric Wong <e@80x24.org> - - * lib/drb/drb.rb (set_sockopt): remove redundant fcntl call - * lib/drb/unix.rb (set_sockopt): ditto - [ruby-core:69128] [Feature #11137] - -Tue May 26 22:10:43 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_method.c (rb_alias): should resolve refined methods. - [ruby-core:69360] [Bug #11182] - -Tue May 26 21:35:13 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): fix condition. - -Mon May 25 22:35:58 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb (rel): after the relations is changed, - @changesets is no longer right. - -Mon May 25 11:27:14 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * win32/win32.c (setup_overlapped): seek to the file end only when - writing (mode:a), not reading (mode:a+, read). - -Mon May 25 00:27:37 2015 Benoit Daloze <eregontp@gmail.com> - - * numeric.c (Numeric#negative?): [DOC] Fix call-seq. - Patch by @yui-knk. [Fixes GH-908] - -Sun May 24 01:35:22 2015 Koichi Sasada <ko1@atdot.net> - - * debug.c (ruby_debug_print_id): use rb_id2name() for fprintf(). - -Sat May 23 18:38:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * man/*.1: updated dates in man pages. - [ruby-dev:48988] [Bug #11171] - -Sat May 23 03:10:58 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (rb_w32_write_console): should return the count of - actually eaten characters, include escape sequences. - -Fri May 22 22:36:14 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/prime.rb: Remove obsolete Prime.new - patch by Ajay Kumar. [Fixes GH-891] - -Fri May 22 21:13:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/intern.h (rb_sym_count): move `rb_sym_all_symbols` - to a symbol.c specific section. a part of patch by Lourens - Naude. - -Fri May 22 20:56:33 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * complex.c (f_complex_polar): simple bug reproduced only when y is - a float but x is not a float. - -Fri May 22 19:42:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * process.c (rb_spawn_process): do not discard global escape - status. [ruby-core:69304] [Bug #11166] - - * process.c (rb_execarg_spawn): extract the start procedure in a - parent process with ensuring the end procedure. - -Fri May 22 16:48:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * NEWS: added news for net-telnet and rake - -Thu May 21 20:27:07 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * configure.in (RUBY_DTRACE_POSTPROCESS): cmp -b is GNU extension. - darwin uses GNU cmp, and FreeBSD and Solaris are not. - Note that accidentally equals to expected result. - -Thu May 21 18:00:19 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c: constify. - - * iseq.h: ditto. - - * method.h: ditto. - - * proc.c: ditto. - - * vm_method.c: ditto. - -Thu May 21 17:44:53 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c: fix issues caused by binding created from Method#to_proc. - [Bug #11163] - - * vm.c (vm_cref_new_toplevel): export as rb_vm_cref_new_toplevel(). - - * test/ruby/test_method.rb: add some assertions. - -Thu May 21 17:29:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/matrix.rb: added documentation for Matrix#empty and Matrix#/ - [Feature #10070][ruby-dev:48433] Patch by @gogotanaka - -Thu May 21 17:02:43 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c: rename functions. - * method_get_def() -> method_def() - * method_get_iseq() -> method_def_iseq() - * method_get_cref() -> method_cref() - -Thu May 21 16:52:44 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (rb_method_get_iseq): rename to rb_method_iseq. - - * iseq.c: catch up this fix. - - * iseq.h: commit ditto. - -Thu May 21 15:41:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/net/telnet.rb: gemify net-telnet. - [Feature #11083] - * gems/bundled_gems: added net-telnet to bundled gems. - -Thu May 21 15:37:32 2015 Zachary Scott <e@zzak.io> - - * vm_method.c: Remove private attribute warning [Bug #10967] - Patch by @spastorino [Fixes GH-849] - https://github.com/ruby/ruby/pull/849 - - * test/ruby/test_module.rb: Update test for changes - -Thu May 21 10:59:43 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c (method_proc): rename to method_to_proc. - -Thu May 21 10:51:54 2015 Jake Worth <jakeworth82@gmail.com> - - * io.c (rb_f_select): [DOC] Fixes for grammar and style. - [Fix GH-906] - -Thu May 21 08:25:19 2015 Eric Wong <e@80x24.org> - - * variable.c (Init_var_tables): init generic_iv_tbl - (rb_generic_ivar_table, generic_ivar_get, generic_ivar_set, - generic_ivar_defined, generic_ivar_remove, - rb_mark_generic_ivar, givar_i, rb_mark_generic_ivar_tbl, - rb_free_generic_ivar, rb_copy_generic_ivar, rb_ivar_foreach, - rb_ivar_count): remove checks for uninitialize generic_iv_tbl - [ruby-core:69155] [Feature #11146] - -Thu May 21 04:11:03 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (exception_type2symbol): show correct bug message. - -Wed May 20 23:19:05 2015 Yusuke Endoh <mame@ruby-lang.org> - - * lib/base64.rb: Fix rdoc-formatting for padding argument. - [fix GH-905][ci skip] Patch by @davydovanton - -Wed May 20 13:16:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (DEPRECATED_BY): deprecate warning with preferable - alternative. - - * configure.in (RUBY_FUNC_ATTRIBUTE): allow attribute arguments in - the macro. - -Wed May 20 11:23:24 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * vm_dump.c (rb_print_backtrace): return value of libexec's backtrace - is size_t, so simply cast as int. - -Tue May 19 18:54:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * iseq.c (rb_iseq_compile_with_option): check source type, must be - an IO or a String. [ruby-core:69219] [Bug #11159] - -Tue May 19 17:15:03 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/benchmark.rb: Update Benchmark documentation and formatting. - [fix GH-903][ci skip] Patch by @davydovanton - -Tue May 19 13:10:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * numeric.c (num_positive_p): should false on Bignum 0. - http://twitter.com/rafaelfranca/status/600509783427391488 - [ruby-core:69173] [Feature #11151] - -Tue May 19 11:22:28 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * lib/uri/rfc2396_parser.rb (initialize_pattern): - URI::Generic.build should accept port as a string. - pattern[:PORT] is not defined for long. - by Dave Slutzkin <daveslutzkin@fastmail.fm> - https://github.com/ruby/ruby/pull/804 fix GH-804 - -Tue May 19 11:18:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h (rb_data_typed_object_alloc), - (rb_data_object_alloc): add old names for source level backward - compatibilities. - - * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): add - aliases for binary level backward compatibilities. - -Tue May 19 09:54:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h (Data_Make_Struct0): needs function pointer - casts to fix function overloading in C++. - -Tue May 19 09:43:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h (Data_Make_Struct0, TypedData_Make_Struct0): - explicit cast from void* is necessary as implicit cast is - disallowed in C++. - -Mon May 18 15:31:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/intern.h (rb_f_notimplement): should not respond to - not-implemented methods. as the address inside a DLL and the - imported address are different on Windows, use an exported - variable to share the same address. - -Mon May 18 13:55:01 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/monitor.rb (mon_try_enter, mon_enter): should reset @mon_count - just in case the previous owner thread dies without mon_exit. - [fix GH-874] Patch by @chrisberkhout - -Sun May 17 17:21:29 2015 Eric Wong <e@80x24.org> - - * lib/webrick/utils.rb (set_non_blocking): use IO#nonblock= - * (set_close_on_exec): use IO#close_on_exec= - [Feature #11136] - -Sun May 17 15:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * numeric.c (num_positive_p, num_negative_p): add methods - Numeric#positive? and Numeric#negative?. - [ruby-core:69173] [Feature #11151] - - * numeric.c (flo_positive_p, flo_negative_p): specialized - functions for Float. - - * complex.c (Init_Complex): Complex do not have positive? and - negative? methods - -Sun May 17 14:57:42 2015 Eric Wong <e@80x24.org> - - * lib/webrick/server.rb (accept_client): avoid redundant fcntl call - [Feature #11137] - -Sun May 17 12:13:33 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (cloexec_accept): support nonblock flag and - use SOCK_NONBLOCK if possible - * ext/socket/init.c (rsock_s_accept_nonblock): - update cloexec_accept call - * ext/socket/init.c (accept_blocking): ditto for blocking - * test/socket/test_nonblock.rb: check nonblock? on accepted socket - [Feature #11138] - -Sun May 17 03:58:59 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * load.c (loaded_feature_path): stop returning false negatives for - filenames which are trailing substrings of file extensions. For - example, 'b', which a trailing substring of ".rb" should not return - false. [Bug #11155][ruby-core:69206] - - * test/ruby/test_autoload.rb: test for fix - -Sat May 16 21:41:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * string.c: added documentation for character sequence \' with String#sub - [Bug #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127 - -Sat May 16 21:38:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * enum.c: fix a sample code. Patch by @eagletmt - [fix GH-901][ci skip] - -Sat May 16 21:17:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * gc.c (rb_data_object_wrap, rb_data_typed_object_wrap): rename - alloc as wrap. these functions do not allocate data pointers - but just wrap the given pointers. - -Sat May 16 19:59:24 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (rb_w32_accept): simplified. - -Fri May 15 18:28:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (rb_ary_assoc, rb_ary_rassoc): [DOC] the result when key - was found is the existing element, not a new array. reported by - Giau Nguyen <giaunv AT nustechnology.com>. - -Fri May 15 08:24:28 2015 Takeyuki FUJIOKA <xibbar@ruby-lang.org> - - * lib/cgi/cookie.rb: Implement HttpOnly flag for cookies. - [fix GH-887] Patch by @martinpovolny - -Fri May 15 06:54:19 2015 Aaron Patterson <tenderlove@ruby-lang.org> - - * variable.c: Change autoload to call `require` through Ruby rather - than directly calling `rb_require_safe`. This allows things like - RubyGems to intercept file loading done though `autoload`. - [Feature #11140] - - * test/ruby/test_autoload.rb: Test for change. - -Wed Apr 8 19:18:02 2015 Shota Fukumori (sora_h) <her@sorah.jp> - - * enum.c (enum_grep_v, grep_i, grep_iter_i, Init_enum): - Implement Enumerable#grep_v. [Feature #11049] - -Thu May 14 15:54:13 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/pathname/lib/pathname.rb: Remove condition of RUBY_VERSION <= 1.9. - [Feature #11082] - -Wed May 13 17:10:37 2015 Masaki Matsushita <glass.saga@gmail.com> - - * enum.c (enum_to_a): revert r50457. - it requires recursion check. - then, it doesn't make performance improvement. - [Bug #11130] [Feature #9118] - -Wed May 13 11:13:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (parse_gvar): separate message for gvar without - non-space characters from message for invalid identifiers. - -Tue May 12 22:18:27 2015 Masaki Matsushita <glass.saga@gmail.com> - - * enum.c (enum_to_a): fix incompatibility introduced in r50457. - [Bug #11130] - - * test/ruby/test_enum.rb: test for above. - -Tue May 12 17:08:03 2015 Koichi Sasada <ko1@atdot.net> - - * method.h: remove unused declaration. - -Mon May 11 10:58:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * gems/bundled_gems: Update minitest-5.6.1 and power_assert-0.2.3. - -Mon May 11 00:20:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/ruby.h (Data_Make_Struct, TypedData_Make_Struct): - allocate wrapper data object before allocating DATA_PTR to get - rid of possible memory leak when the former failed. - -Sun May 10 21:32:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * gc.c (gc_mark_children): call dmark function for non-NULL - pointers only, so that DATA_PTR can be NULL safely now. - -Sun May 10 16:23:58 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * proc.c (proc_binding): fix segmentation fault on marking phase. - envptr of newenvval should not be NULL. - - You can reproduce by - make test-all TESTS='--gc-stress -n test_to_proc_binding ruby/test_method.rb' - -Sun May 10 12:41:18 2015 Masaki Matsushita <glass.saga@gmail.com> - - * ext/zlib/zlib.c (rb_gzreader_external_encoding): - define GzipReader#external_encoding. - [Bug #10900] - - * test/zlib/test_zlib.rb: test for above. - -Sun May 10 11:57:48 2015 Masaki Matsushita <glass.saga@gmail.com> - - * ext/win32ole/win32ole_variant.c: fix typo "indicies". - the patch is from davydovanton <antondavydov.o at gmail.com>. - [fix GH-892] - - * lib/rubygems/indexer.rb: ditto. - - * test/rubygems/test_gem_indexer.rb: ditto. - -Sun May 10 11:44:37 2015 Masaki Matsushita <glass.saga@gmail.com> - - * string.c (rb_str_crypt): Raise ArgumentError when - string passed to String#crypt contains null. - the patch is from jrusnack <jrusnack at redhat.com>. - [Bug #10988] [fix GH-853] - - * test/ruby/test_string.rb: test for above. - -Sun May 10 11:23:03 2015 Masaki Matsushita <glass.saga@gmail.com> - - * enum.c (enum_to_a): Use size to set array capa when possible. - the patch is from HonoreDB <aweiner at mdsol.com>. - [fix GH-444] - -Sat May 9 06:48:36 2015 Eric Wong <e@80x24.org> - - * ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard - [Bug #11123] - -Fri May 8 22:57:24 2015 takiy33 <takiy33@gmail.com> - - * test/matrix/test_matrix.rb (test_determinant): refactor test on - Matrix#determinant, by merging with test_det for an alias method - det. [Fix GH-897] - -Fri May 8 15:43:11 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp - is omitted. [ruby-core:69093] [Bug #11128] - -Fri May 8 15:05:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * doc/syntax/control_expressions.rdoc: fix a missing "a" - [fix GH-888][ci skip] Patch by @riffraff - -Fri May 8 12:11:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (rb_method_call_status): resolve refined method entry - to check if undefined. [ruby-core:69064] [Bug #11117] - -Thu May 7 22:22:59 2015 Sho Hashimoto <sho-h@ruby-lang.org> - - * proc.c: [DOC] fix Binding#local_variable_set example. [ci skip] - -Thu May 7 11:32:57 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * Makefile.in (rbconfig.rb): add rule to make. - -Thu May 7 05:14:39 2015 Eric Wong <e@80x24.org> - - * ext/socket/lib/socket.rb (connect_nonblock): use IO#wait_writable - * lib/drb/drb.rb (DRB::DRbTCPSocket#alive?): use IO#wait_readable - * lib/webrick/httpserver.rb (run): ditto - * lib/resolv.rb (request): ditto for single socket case - [ruby-core:68943] [Feature #11081] - -Wed May 6 22:49:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (rb_method_call_status): undefined refined method is - not callable unless using. [ruby-core:69064] [Bug #11117] - -Sun May 3 22:40:06 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * ext/-test-/file/fs.c: need to include sys/statvfs.h - to use statvfs(). - - * ext/-test-/file/extconf.rb: check the existence of - sys/statvfs.h - -Sun May 3 21:59:48 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/yaml.rb: fix typo. [ci skip][fix GH-890] - Patch by @miketheman - -Sun May 3 10:02:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * range.c (linear_object_p, range_include): test if covered for - linear objects. [ruby-core:69052] [Bug #11113] - -Fri May 1 13:30:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dln.c (dln_load): check if a different libruby is loaded by the - extension library, and then bail out to get rid of very - frequently reported stale bug reports. - -Thu Apr 30 19:51:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (iseq_compile_each): revert r46873 and r46875, not to - allow to execute private readers by pretending op assign. - [ruby-core:68984] [Bug #11096] - -Thu Apr 30 17:02:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * rational.c: Added documentation for rational literal. - [Bug #11075][fix GH-885][ci skip] Patch by @shishir127 - -Thu Apr 30 16:39:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/socket/ipsocket.c (init_inetsock_internal): preserve errno - before other library calls and use rb_syserr_fail. - [ruby-core:68531] [Bug #10975] - -Thu Apr 30 16:22:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (lambda): push and reset cmdarg_stack in lambda body. - [ruby-core:69017] [Bug #11107] - -Sun Apr 26 07:36:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * enc/utf_8.c (code_to_mbclen, code_to_mbc): reject values larger - than UTF-8 max codepoints. [Feature #11094] - -Sat Apr 25 14:26:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (str_buf_cat): expand later so that the buffer can be - larger for further use. [Bug #11080] [Bug #11095] - -Fri Apr 24 23:48:45 2015 Akinori MUSHA <knu@iDaemons.org> - - * misc/ruby-electric.el: Import version 2.2.3 from - https://github.com/knu/ruby-electric.el. - -Fri Apr 24 10:40:02 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (rb_w32_{getc,putc}): removed. they are needed for old - ruby (before 1.8), but not now. - -Fri Apr 24 08:40:13 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * win32/win32.c: remove bcc related code. - - * include/ruby/win32.h: ditto. - -Fri Apr 24 08:21:07 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * win32/win32.c (rb_acrt_lowio_lock_fh): wrap _pioinfo(i)->lock. - - * win32/win32.c (rb_acrt_lowio_unlock_fh): ditto. - -Fri Apr 24 06:47:19 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * win32/win32.c (_filbuf): msvc14 doesn't have it, use _fgetc_nolock. - - * win32/win32.c (_flsbuf): msvc14 doesn't have it, use _fputc_nolock. - - * win32/win32.c (vcruntime_file): define vcruntime_file on msvc14 - because it doesn't export FILE's internal structure. - - * win32/win32.c (FILE_COUNT): added to abstract FILE->_cnt. - - * win32/win32.c (FILE_READPTR): added to abstract FILE->_ptr. - - * win32/win32.c (FILE_FILENO): added to abstract FILE->_file. - - * win32/win32.c (init_stdhandle): use FILE_FILENO. - - * win32/win32.c (rb_w32_getc): use FILE_COUNT and FILE_READPTR. - - * win32/win32.c (rb_w32_putc): ditto. - -Fri Apr 24 06:37:07 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * win32/win32.c (dupfd): use _set_osfhnd. - - * win32/win32.c (rb_w32_wopen): use _set_osflags. - -Thu Apr 24 05:38:01 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_mark_roots): fox to work PRINT_ROOT_TICKS. - -Fri Apr 24 04:49:05 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * win32/Makefile.sub: MSVC14 have struct timespec. - - * win32/rtname.cmd: support vcruntime140.dll. - - * time.c (localtime_with_gmtoff_zone): MSVC14 doesn't have tzname and - daylight but have _tzname and _daylight. - -Thu Apr 23 11:35:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow - symbols to just instance_eval/exec, except for definition of - singletons. [ruby-core:68961] [Bug #11086] - -Thu Apr 23 10:01:36 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * lib/delegate.rb: fix a typo. - [fix GH-881][ci skip] Patch by @Zorbash - -Wed Apr 22 18:36:50 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/imap.rb (move, uid_move): support the MOVE command defined - in RFC6851. Patch by ojab ojab. - [ruby-core:68960] [Feature #11077] - -Tue Apr 22 12:42:12 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * test/ruby/test_object.rb: add tests for Kernel#String and Kernel#Array. - [fix GH-879][fix GH-880] Patch by @yui-knk - -Tue Apr 21 20:46:02 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * test/ruby/test_object.rb: renamed tests to explicitly class name. - [fix GH-877] Patch by @yui-knk - -Tue Apr 21 05:31:00 2015 Eric Wong <e@80x24.org> - - * ext/socket/lib/socket.rb (connect_internal): avoid common exceptions - from connect_nonblock. [ruby-core:68909] - -Mon Apr 20 23:46:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (rb_w32_wreadlink): follow the official format of - REPARSE_DATA_BUFFER structure. - -Mon Apr 20 20:23:04 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * common.mk ($(arch)-fake.rb): revert r50354 because bsdmake seems not - to handle such substitution. - - * tool/expand-config.rb: convert path separators here. - -Mon Apr 20 16:52:20 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/fake.rb: don't fake libdir. use libdirname instead. - -Mon Apr 20 16:49:52 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * lib/mkmf.rb (MakeMakefile#configuration): DESTDIR should never affect - top_srcdir and builddir. - -Mon Apr 20 16:18:17 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * common.mk ($(arch)-fake.rb): fix the path separator up for Windows. - -Mon Apr 20 15:02:47 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (rb_w32_wreadlink): fixed a bug that a junction misses - its drive letter. - -Mon Apr 20 12:54:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * ext/openssl/*: use license instead of licence. - [fix GH-876][ci skip] Patch by @davydovanton - * lib/net/https.rb: ditto. - -Mon Apr 20 12:42:40 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * benchmark/bm_so_meteor_contest.rb: fix a typo. - [fix GH-876][ci skip] Patch by @davydovanton - * tool/bisect.sh: ditto. - * tool/update-deps: ditto. - -Mon Apr 20 11:10:46 2015 Eric Wong <e@80x24.org> - - * ext/socket/socket.c (sock_connect_nonblock): do not raise EISCONN - [ruby-core:68926] [Feature #11072] - * test/socket/test_nonblock.rb: check non-EISCONN on 2nd connect - -Sun Apr 19 12:19:17 2015 Chad Brewbaker <crb002@gmail.com> - - * ext/{etc,openssl,tk}: Adding parens and comparisons around - assignments to get rid of Wparentheses warnings. [Fix GH-875] - -Sun Apr 19 10:42:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (get_env_cstr): environment variables must be ASCII - compatible, as dummy encodings and wide char encodings are - unsupported now. - -Sat Apr 18 15:18:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/json/parser/parser.rl: raise with messages in UTF-8 - encoding. [ruby-core:67386] [Bug #10705] - -Fri Apr 17 11:58:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (STR_SET_EMBED): clear NOFREE flag at embedding as - embedded strings no longer refer static strings. - [ruby-core:68436] [Bug #10942] - -Thu Apr 16 05:15:50 2015 Eric Wong <e@80x24.org> - - * NEWS: note IO#wait_readable change in r50263 - -Thu Apr 16 05:09:36 2015 Eric Wong <e@80x24.org> - - * lib/net/protocol.rb (rbuf_fill): use IO#wait_*able - * lib/net/http/generic_request.rb (wait_for_continue): ditto - [ruby-core:68891] [Feature #11056] - -Wed Apr 15 18:43:43 2015 Koichi Sasada <ko1@atdot.net> - - * vm_trace.c (rb_tracepoint_new): fix documentation. - Commented by @emilsoman. - -Wed Apr 15 17:36:51 2015 Koichi Sasada <ko1@atdot.net> - - * vm_trace.c (rb_tracepoint_new): Add documentation for - rb_tracepoint_new C level API [ci skip] - Provided by @emilsoman. [fix GH-869] - -Wed Apr 15 10:37:40 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> - - * doc/contributors.rdoc: fix a typo. Patch by @davydovanton - [fix GH-872][ci skip] - * doc/syntax/methods.rdoc: ditto. - * ext/digest/sha2/sha2.c: ditto. - * ext/socket/ipsocket.c: ditto. - * ext/tk/*: ditto. - -Wed Apr 15 07:51:23 2015 Yuki Yugui Sonoda <yugui@yugui.jp> - - * doc/extension.ja.rdoc: Added description of TypedData_XXX. - Deprecated the old DATA_XXX. - Reviewed by ko1 and nobu. - Fixes [ruby-dev:40881] #3064 - - * doc/extension.rdoc: ditto. - -Wed Apr 15 07:34:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread_pthread.c (reserve_stack): keep sp safe zone to get rid - of crash by -fstack-check. [ruby-core:68740] [Bug #11030] - -Tue Apr 14 16:03:49 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/merger.rb (versionup): should also increment revision when - changing teeny. - -Tue Apr 14 11:24:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/-test-/printf/printf.c (uint_to_str): renamed to get rid of - conflict on cygwin. [ruby-core:68877] [Bug #11065] - -Tue Apr 14 08:59:04 2015 Zachary Scott <e@zzak.io> - - * gc.c: [DOC] Improve documentation for ObjectSpace.count_objects - with regards to `:TOTAL` key, with patch by @schneems [Fixes GH-871] - https://github.com/ruby/ruby/pull/871 [Bug #11067] - -Mon Apr 13 22:44:07 2015 Tanaka Akira <akr@fsij.org> - - * test/lib/envutil.rb (File.mkfifo): Defined using mkfifo command. - - * test/ruby/test_io.rb: Use File.mkfifo. - - * test/ruby/test_file_exhaustive.rb: Ditto. - - * test/ruby/test_process.rb: Ditto. - -Mon Apr 13 21:20:20 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> - - * ext/openssl/lib/openssl/ssl.rb: stricter hostname verification - following RFC 6125. with the patch provided by Tony Arcieri and - Hiroshi Nakamura [ruby-core:61545] [Bug #9644] - * test/openssl/test_ssl.rb: add tests for above. - -Sun Apr 12 18:40:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/json/json.gemspec: bump version to 1.8.2. - * ext/json/lib/json/version.rb: ditto. - -Sun Apr 12 18:12:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/json/json.gemspec, lib/rdoc/rdoc.gemspec: added gemspec directly. - * defs/default_gems, tool/rbinstall.rb: removed default_gems definition. - it make simple installation for default gems. - -Sun Apr 12 17:35:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/json/*, test/json/*: Reverted r50231. Because it's not - working with cross-compile environment. - -Sun Apr 12 15:34:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (arg): fix segfault by null caused by syntax error. - [ruby-core:68851] [Bug #10957] - -Sun Apr 12 15:11:16 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rubygems/test_case.rb: use explicitly exception class and reverted - to require JSON library for rubygems tests with Ruby 2.2.0 or earlier. - -Sun Apr 12 15:10:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/io/wait/wait.c (io_wait_readable): simply returns that IO is - readable without blocking, but no longer returns EOF. - - * ext/io/wait/wait.c (io_ready_p, io_wait_readable): try polling - first and check FIONREAD optionally to see if EOF. - [ruby-core:36805] [Feature #4849] - -Sun Apr 12 14:53:23 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rubygems/test_case.rb: fixed json load error for rubygems tests. - -Sun Apr 12 14:13:28 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * gc.c: Document require name for ObjectSpace methods. - [ci skip][fix GH-860] Patch by @schneems - -Sun Apr 12 13:54:05 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_io.rb: New test that open(fifo) doesn't block other - threads. - -Sun Apr 12 13:52:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/coverage/coverage.c: Remove extension from require argument. - [ci skip][fix GH-870] Patch by @yui-knk - -Sun Apr 12 10:29:14 2015 Eric Wong <e@80x24.org> - - * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): - support `exception: false' - * (get_no_exception): move function location - * ext/socket/socket.c (sock_connect_nonblock): - support `exception: false' - * test/openssl/test_pair.rb (test_connect_accept_nonblock_no_exception): - test `exception: false' on connect, - rename from `test_accept_nonblock_no_exception' - * test/socket/test_nonblock.rb (test_connect_nonblock_no_exception): - new test - -Sun Apr 12 09:57:16 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Test a block device on GNU/Linux. - -Sun Apr 12 09:24:03 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Test a file not owned. - -Sun Apr 12 09:05:44 2015 Tanaka Akira <akr@fsij.org> - - * ext/fiddle/depend: Fix "Wrong mix of special targets" error with - OpenBSD make. - -Sun Apr 12 09:04:37 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/ruby/test_file_exhaustive.rb: Windows doesn't support Unix file - modes. - -Sun Apr 12 08:56:44 2015 Tanaka Akira <akr@fsij.org> - - * ext/-test-/file/fs.c: OpenBSD needs sys/param.h before sys/mount.h. - -Sun Apr 12 08:52:01 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Test suid, sgid and sticky file. - -Sat Apr 11 23:48:30 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * template/fake.rb.in: Don't assign baseruby, Because it's affect to - Makefile of native gem like json on bundled gems. - -Sat Apr 11 23:33:22 2015 Tanaka Akira <akr@fsij.org> - - * file.c (rb_f_test): Consider nsec for "=", "<" and ">" for "test" - method. - -Sat Apr 11 23:26:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * tool/rbinstall.rb: support destdir for native extension gem. - -Sat Apr 11 21:02:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/ruby/test_file_exhaustive.rb - (TestFileExhaustive#test_stat_socket_p): r50226 accidentally missed - the guard for non-unix environments. - -Sat Apr 11 20:14:21 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/json/*, test/json/*, defs/default_gems: Gemify JSON library. - [fix GH-867][Feature #11057] - * test/ruby/test_extlibs.rb: removed json gem from existence extensions. - * gems/bundled_gems: added json gem into bundled gem. - * lib/rdoc/rubygems_hook.rb: ignored no json environment. - * lib/rubygems/test_case.rb, test/rubygems/*: ditto. - * lib/rdoc/test_case.rb, test/rdoc/*: ditto. - -Sat Apr 11 15:56:58 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Create sample files lazily. - -Sat Apr 11 14:03:47 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Test character device using - /dev/null. - -Sat Apr 11 10:59:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/mkmf.rb (append_cppflags, append_cflags, append_ldflags): - utility methods to append compiler options. - -Sat Apr 11 08:22:24 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rdoc/text.rb: removed duplicated code. - -Sat Apr 11 04:46:42 2015 Eric Wong <e@80x24.org> - - * lib/net/protocol.rb (rbuf_fill): avoid exception with read_nonblock - [ruby-core:68787] [Feature #11044] - -Fri Apr 10 23:57:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (need_normalization): use getattrlist() if fgetattrlist() - is unavailable, on OSX 10.5. [ruby-core:68829] [Bug #11054] - -Fri Apr 10 22:29:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/mkmf.rb (try_compile): pass the given werror flag to try_do - to check if stderr is empty. - - * lib/mkmf.rb (try_cflags, try_ldflags): default werror to true. - - * win32/Makefile.sub (WERRORFLAG): remove useless option. VC does - not make warnings of unknown command option an error. - -Fri Apr 10 19:34:24 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Test socket. - -Fri Apr 10 19:38:46 2015 Koichi Sasada <ko1@atdot.net> - - * test/objspace/test_objspace.rb: remove debug prints. - -Fri Apr 10 19:35:51 2015 Koichi Sasada <ko1@atdot.net> - - * ext/objspace/objspace.c: add ObjectSpace.count_imemo_objects method - to count imemo objects for each type. - - * test/objspace/test_objspace.rb: add a test. - - * NEWS: describe about this addition. - -Fri Apr 10 19:34:24 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Test anonymous pipe. - -Fri Apr 10 19:31:56 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_file_exhaustive.rb: Test named pipe. - -Fri Apr 10 19:10:34 2015 Koichi Sasada <ko1@atdot.net> - - * ext/objspace/objspace.c (setup_hash): unify common routine. - -Fri Apr 10 18:29:49 2015 Tanaka Akira <akr@fsij.org> - - * process.c (rb_execarg_parent_start1): Handle EINTR. - -Fri Apr 10 17:27:58 2015 Koichi Sasada <ko1@atdot.net> - - * vm.c (vm_exec): check other events when RETURN is thrown. - [Bug #10724] - - * test/ruby/test_settracefunc.rb: add a test. - -Fri Apr 10 11:44:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/date/extconf.rb: check warnings. - - * lib/mkmf.rb (try_cflags): pass options to try_compile. - - * win32/Makefile.sub (WERRORFLAG): make unknown command line - options an error. - -Fri Apr 10 08:00:17 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/ruby/test_process.rb: unfortunately, windows is not POSIX... - cygwin has mkfifo command, but it does not affect system-wide. - -Fri Apr 10 02:18:53 2015 Tanaka Akira <akr@fsij.org> - - * test/ruby/test_process.rb: Use mkfifo command instead of mknod - command to create a named pipe. mkfifo command is defined by POSIX. - -Fri Apr 10 01:29:05 2015 Tanaka Akira <akr@fsij.org> - - * process.c: Release GVL when opening a file in spawn() to avoid whole - process blocking when opening a named pipe. - (open_func): New function. - (rb_execarg_parent_start1): Extracted from rb_execarg_parent_start and - use rb_thread_call_without_gvl2 to release GVL when opening a file. - (rb_execarg_parent_start): Invoke rb_execarg_parent_start1 via - rb_protect and invoke rb_execarg_parent_end when error. - -Thu Apr 9 22:19:19 2015 Tanaka Akira <akr@fsij.org> - - * process.c (redirect_open): Removed. - -Thu Apr 9 21:38:20 2015 Tanaka Akira <akr@fsij.org> - - * internal.h (rb_execarg_parent_end): Declared. - - * process.c: "spawn" opens files in the parent process. - (check_exec_redirect): Add an placeholder for fd in parameters - for fd_open. - (check_exec_fds_1): Delete fd_open condition. - (check_exec_fds): Don't call check_exec_fds_1 with fd_open. - (rb_execarg_parent_start): Open files specified as "spawn" options - and add "dup2" options. - (rb_execarg_parent_end): New function to close opened fds. - (run_exec_open): Removed. - (rb_execarg_run_options): Don't call run_exec_open. - (rb_spawn_internal): Call rb_execarg_parent_end. - - * io.c (pipe_open): Call rb_execarg_parent_end. - - * ext/pty/pty.c (establishShell): Call rb_execarg_parent_end. - -Thu Apr 9 20:52:31 2015 Tanaka Akira <akr@fsij.org> - - * internal.h (rb_execarg_parent_start): Renamed from rb_execarg_fixup. - - * process.c: Follows the above change. - - * io.c: Ditto. - - * ext/pty/pty.c: Ditto. - -Thu Apr 9 20:35:12 2015 Tanaka Akira <akr@fsij.org> - - * process.c (fd_clear_cloexec): Extracted from run_exec_dup2. - -Thu Apr 9 09:26:47 2015 Eric Wong <e@80x24.org> - - * ccan/list/list.h: sync with ccan upstream - [ccan commit c2fbfe5282ba264f3485586e7efa8a5967f2d386] - -Thu Apr 9 08:24:03 2015 Masahiro Tomita <tommy@tmtm.org> - - * ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of - addrinfo. [ruby-dev:48923] [Bug #11051] - -Wed Apr 8 17:45:02 2015 Shannon Skipper <shannonskipper@gmail.com> - - * version.c (Init_version): the version of the engine or - interpreter. [Fix GH-858] - -Wed Apr 8 16:15:30 2015 Kenta Murata <mrkn@cookpad.com> - - * bigdecimal: conform to ruby's license. [ruby-core:68466] [Bug #10952] - -Wed Apr 8 14:57:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * win32/win32.c (rb_w32_wreadlink): should treat junctions like as - symlinks. - -Wed Apr 8 14:03:47 2015 Koichi Sasada <ko1@atdot.net> - - * test/ruby/test_symbol.rb: fix syntax error. - -Wed Apr 8 13:01:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_any_hash): Symbols are compared by the identities - always. [ruby-core:68767] [Bug #11035] - -Tue Apr 7 10:22:51 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * internal.h: fix typo. Patch by @sferik [fix GH-865] - -Mon Apr 6 22:52:35 2015 Tanaka Akira <akr@fsij.org> - - * enum.c: Enumerable#chunk and Enumerable#slice_before no longer takes - the initial_state argument. [Feature #10958] - -Mon Apr 6 16:09:58 2015 Koichi Sasada <ko1@atdot.net> - - * vm_args.c: protect value stack from calling other methods - during complex parameter setting process (splat, kw, and so on). - [Bug #11027] - - * vm_core.h: remove rb_thread_t::mark_stack_len. - With this modification, we don't need to use th->mark_stack_len. - - * test/ruby/test_keyword.rb: add a test. - - * cont.c (cont_capture): catch up this fix. - - * vm.c (rb_thread_mark): ditto. - -Mon Apr 6 11:26:42 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * tool/downloader.rb (http_options): prevent content auto decoding - because this is a downloader. - -Sun Apr 5 09:55:18 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * doc/contributing.rdoc: update Maintainers list. - -Sun Apr 5 09:11:00 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * tool/rbinstall.rb: fix bin script permission of bundled gems. - -Sun Apr 5 08:46:08 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * tool/rbinstall.rb: support --program-suffix option. - -Sat Apr 4 21:31:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rake/*: Gemify rake [fix GH-862][Feature #11025] - * test/rake/*: ditto. - * tool/rbinstall.rb: ditto. - -Sat Apr 4 11:30:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_setbyte): check the argument first not to - discard shared string and code range unnecessarily until - actually changing the contents. pointed out by headius. - -Sat Apr 4 08:16:43 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * lib/net/http.rb (edit_path): use path which is absolute ftp url - on using ftp_proxy. - -Fri Apr 3 11:43:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (vm_call0_cfunc): update invoker arguments. - - * vm_insnhelper.c (vm_call_cfunc_latter): ditto. - - * vm_insnhelper.c (rb_vm_call_cfunc_push_frame): ditto, and prefix - with rb_. - -Thu Apr 2 16:26:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * common.mk, tool/mkconfig.rb: check the running ruby version in - rbconfig.rb with the program version, as RUBY_VERSION has never - been affected by --with-ruby-version option. - [ruby-core:68639] [Bug #11002] - - * configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be - valid version numbers, not an arbitrary string. - -Wed Apr 1 11:09:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (push_glob): remove indirect links of arguments for - trampoline. - -Wed Apr 1 09:59:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/fileutils.rb (FileUtils#mv): show the exact target path in - the error message instead of the destination parent directory - name. patched by Joao Britto <jabcalves AT gmail.com> at - [ruby-core:68706]. [Bug #11021] - -Tue Mar 31 15:25:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/ChangeLog-0.06_to_0.52: added archived Changelog. - [ruby-list:50105] - * doc/ChangeLog-0.50_to_0.60: ditto. - * doc/ChangeLog-0.60_to_1.1: ditto. - -Mon Mar 30 22:02:55 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> - - * README.EXT.ja: add redirect [ruby-core:68631] - -Mon Mar 30 14:42:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (fileattr_to_unixmode, winnt_lstat): deal with - symbolic link than directory, and set executable bits. - -Mon Mar 30 11:27:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (copy_stream_body): use the arguments without conversion if - having read, readpartial, and write methods, than conversion by - to_path method. [ruby-core:68676] [Bug #11015] - -Sun Mar 29 21:08:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * gc.c (objspace_allrefs_destruct_i): fix a typo. - [Bug #11013] - -Sun Mar 29 11:51:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (proc_binding): replicate env from method object, and - allocate the local variable area for the iseq local table. - [ruby-core:68673] [Bug #11012] - -Sat Mar 28 09:19:41 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/date/extconf.rb: try_cflags("-std=iso9899:1999") [Bug #10906] - ruby itself (including numeric.c) is built with strict compile - options including -std=iso9899:1999, but ext/date is not. - By the way -std=iso9899:1999 is not only a warning option but also - changes behavior like MACRO definitions for example INFINITY. - gcc on Solaris affect this. - -Fri Mar 27 16:34:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * common.mk: revert using BOOTSTRAPRUBY for enc.mk, as - enc/depend uses CONFIG. [ruby-core:68647] [Bug #11004] - -Thu Mar 26 10:05:13 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * test/test_observer.rb: add tests for Observable module. - [fix GH-859] Patch by @brightbits - -Thu Mar 26 06:35:10 2015 Eric Wong <e@80x24.org> - - * README.EXT: add redirect [ruby-core:68631] - -Wed Mar 25 16:46:49 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state, - but it is a dummy. - - * ext/socket/option.c: Solaris 11 doesn't have u_intN_t. - - * ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec. - - * ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have - related macros. - -Wed Mar 25 17:03:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/-test-/file/fs.c (get_fsname): try magic number only if - f_type is included. [ruby-dev:48913] [Bug #11000] - -Wed Mar 25 11:20:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * benchmark/bm_hash_aref_flo.rb: make more realistic data. - [ruby-core:68632] [[Bug #10999] - -Wed Mar 25 10:39:06 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * .document: removed needless entries. - -Wed Mar 25 08:07:28 2015 Eric Wong <e@80x24.org> - - * doc/extension.rdoc: fix spelling of filename - * doc/extension.ja.rdoc: ditto. - -Tue Mar 25 06:55:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * complex.c (k_inexact_p, k_exact_zero_p): use k_exact_zero_p macro - to remove k_inexact_p macro. - - * complex.c (k_exact_one_p): remove unused macro k_exact_one_p. - -Tue Mar 24 22:23:33 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/extension.rdoc: move from toplevel document and added extname. - * doc/extension.ja.rdoc: ditto. - -Tue Mar 24 22:06:58 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/standard_library.rdoc: strip. - -Tue Mar 24 22:06:27 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/standard_library.rdoc: move Thread to Extensions. - -Tue Mar 24 21:59:10 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/contributing.rdoc: update Maintainers list. - -Tue Mar 24 19:10:24 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_writebarrier_generational): fix messages for rb_bug(). - Remove `rb_' prefix. - - * gc.c (gc_writebarrier_incremental): ditto. - -Tue Mar 24 17:34:01 2015 Shugo Maeda <shugo@ruby-lang.org> - - * README.ja.md: should be chunibyo. - -Tue Mar 24 17:30:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/-test-/file/fs.c (get_fsname): return filesystem name by - statfs/statvfs. [ruby-core:68624] [Bug #10998] - -Tue Mar 24 16:46:02 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: now doesn't required spaces just after - `!`. - -Mon Mar 23 23:18:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (dir_close): don't raise on double close for consistent to - IO#close. [Feature #10950] - -Mon Mar 23 21:22:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/file.c (rb_readlink): move from file.c for better buffer - allocation and the result encoding. - - * win32/win32.c (wreadlink, rb_w32_ureadlink): implement readlink(). - -Mon Mar 23 14:40:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (winnt_stat): stat with following symbolic links. - - * win32/win32.c (winnt_lstat): rename old winnt_stat, which does - not follow symbolic links. - -Mon Mar 23 01:44:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * marshal.c (r_symreal): register symbol names as strings first so - that r_symlink always returns valid names. - [ruby-core:68587] [Bug #10991] - - * marshal.c (r_ivar, r_object0): now need to intern symbol names. - - * marshal.c (r_object0): compare with symbol names. - -Sun Mar 22 22:07:40 2015 Kouhei Sutou <kou@cozmixng.org> - - * doc/etc.rd.ja: Fix wrong coding for Emacs. - -Sun Mar 22 09:53:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * tool/make-snapshot (package): add default CONFIGURE name to - follow r50039. - - * tool/make-snapshot (package): substitute configuration variables - in Makefile.in instead of passing by the command line, and make - temporary Makefile instead of a pipe. - -Sun Mar 22 08:09:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c): - strip autogenerated dependencies which have invalid syntax in - other than nmake. - -Sat Mar 21 15:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/io/console/console.c (console_set_winsize): use handle for - writing. GetConsoleScreenBufferInfo seems failing on a handle - for reading. - - * io.c: [DOC] update the example of IO#winsize to use $stdout - instead of $stdin, which does not work on Windows. a patch by - Jan Lelis <mail AT janlelis.de> at [ruby-core:68574]. - [Bug #10986] - -Fri Mar 20 18:41:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * proc.c (respond_to_missing_p): check if the receiver responds to - the given method by respond_to_missing?. - - * proc.c (mnew_missing): create Method object for method_missing. - [ruby-core:68564] [Bug #10985] - -Fri Mar 20 17:43:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * .travis.yml: enabled email notification. - -Fri Mar 20 17:39:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * .travis.yml: removed Ruby 1.9.3 build on Travis CI - -Fri Mar 20 12:38:36 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (obj_info): obj_info() can receive internal objects. - - * gc.c (check_rvalue_consistency): obj_info() returns const char *. - -Fri Mar 20 12:14:37 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (obj_info): show class name and T_DATA type_name. - -Thu Mar 19 22:12:46 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_copy_wb_protected_attribute): `dest' can be WB unprotected. - -Thu Mar 19 21:25:25 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_copy_wb_protected_attribute): demote `dest' object. - -Thu Mar 19 16:18:00 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c, internal.h: export rb_gc_verify_internal_consistency(). - -Thu Mar 19 16:15:24 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (obj_info): show allocation site if GC_DEBUG is not 0. - -Thu Mar 19 16:12:01 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (newobj_of): fix RGENGC_OLD_NEWOBJ_CHECK logics. - * skip on incremental marking because not sure what happen :p - * rb_gc_writebarrier_remember() is enough to mark children. - -Thu Mar 19 16:08:42 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_copy_wb_protected_attribute): need demote for old objects. - -Thu Mar 19 10:31:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * random.c (fill_random_bytes): release the handle in the static - variable, not a local variable. - -Thu Mar 19 06:30:35 2015 Koichi Sasada <ko1@atdot.net> - - * object.c (rb_obj_clone): do not touch age (FL_PROMOTED[01]) because - rb_obj_alloc() can return old object in debug. - -Thu Mar 19 06:29:28 2015 Koichi Sasada <ko1@atdot.net> - - * test/objspace/test_objspace.rb: flag name was changed - (long_lived -> uncollectible). - -Thu Mar 19 05:30:13 2015 Koichi Sasada <ko1@atdot.net> - - * iseq.c (iseq_mark): skip some marking if iseq->orig is available. - - * iseq.c (rb_iseq_clone): need WB for iseq1->klass = iseq0->klass - (done in MEMCPY). - -Thu Mar 19 04:55:53 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h (IMEMO_DEBUG): added. - - * internal.h: remove unused FL_IMEMO_MARK_V[0-3]. - - * gc.c (rb_imemo_new_debug): added. - - * gc.c (obj_info): show imemo type name. - -Thu Mar 19 04:52:26 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (RGENGC_OLD_NEWOBJ_CHECK): add check mechanism. - - If RGENGC_OLD_NEWOBJ_CHECK > 0, then create old objects - (not new objects) periodically. - - Create one old objects per RGENGC_OLD_NEWOBJ_CHECK objects are - created. - -Thu Mar 19 04:46:36 2015 Koichi Sasada <ko1@atdot.net> - - * enum.c (enum_sort_by): add WBs. - -Thu Mar 19 03:37:52 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (check_rvalue_consistency): refactoring. - * not inline on RGENGC_CHECK_MODE > 0. - * check SPECIAL_CONST_P(obj) first. - * add a check that remembered_bit is only TRUE when old (age == 3). - - * gc.c (RVALUE_DEMOTE): should clear RVALUE_REMEMBERED bit. - - remembered_bit should be TRUE only for old (age == 3) objects. - - Actually there are no effect because demoted objects will be - uncollectible WB unprotected objects (marked at the beginning of - every minor GC). - -Thu Mar 19 02:52:48 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: rename terminologies. - * long_lived -> uncollectible: - because this bitmap does not mean "long lived objects in past", - but means "prohibit collection these objects until next major GC". - - Uncollectible objects consist of two types objects, one is old - objects (WB protected objects which age == 3) and another is - uncollectible WB unprotected objects which are referred from old - objects - - * remembered_wb_unprotected_objects -> - uncollectible_wb_unprotected_objects: - because uncollectible objects does not mean remembered objects. - -Wed Mar 18 17:21:12 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (gc_writebarrier_generational): add an alternative write - barrier (WB) implementation. - When finding reference from [Old obj] to [New obj] by WB, current - implementation marks [Old obj] as remembered old objects and marks - children of [Old obj] at the beginning of marking. - - Added (but disabled) code changes current behaviour. This fix promote - [New obj] to old and marks as a remembered old object. We can assume - "new objects referred from old objects are maybe long-lived old - objects". - - Disadvantage of added algorithm is we may promote unwilling - short-lived objects. For example, consider many new objects push and - pop to an old stack object. All of new objects (short-lived objects) - promote to old objects unexpectedly. - - To compare these behaviour, I add this new code (but disabled it). - -Wed Mar 18 17:14:39 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (RVALUE_PROMOTE_RAW): rename to RVALUE_OLD_LONG_LIVED_SET() - to make clear. - -Wed Mar 18 17:10:01 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (check_rvalue_consistency): do not need to check is_sweeping(). - -Wed Mar 18 14:13:22 2015 Koichi Sasada <ko1@atdot.net> - - * benchmark/bm_vm1_gc_wb_ary.rb: run GC to finish "marking" phase. - - * benchmark/bm_vm1_gc_wb_obj.rb: ditto. - - * benchmark/bm_vm1_gc_wb_ary_promoted.rb: add parameter - full_mark: false to invoke only minor GC. - - * benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto. - -Wed Mar 18 12:07:36 2015 Koichi Sasada <ko1@atdot.net> - - * string.c: add a comment about RSTRING_FSTR. - -Wed Mar 18 12:01:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * hash.c (rb_any_hash): use same hash values with Float#hash so - that -0.0 and +0.0 will be identical. - [ruby-core:68541] [Bug #10979] - -Wed Mar 18 05:34:32 2015 Koichi Sasada <ko1@atdot.net> - - * string.c: introduce STR_FAKESTR to show string is FAKESTR or not. - - * string.c (STR_SET_SHARED): ignore FAKESTR because only Ruby objects - can use write barrier. - -Tue Mar 17 18:59:16 2015 Koichi Sasada <ko1@atdot.net> - - * include/ruby/ruby.h: use rb_gc_writebrrier() simply. - For incremental GC, we need to get a pointer to the objspace. - We can share this pointer for the following WB process. - And considering icache hit ratio, process in the GC. - - * gc.c (rb_gc_writebarrier): added. - - * gc.c (gc_writebarrier_generational, gc_writebarrier_incremental): - make them NOINLINE because inlining them into rb_gc_writebarrier() - makes a prologue code of rb_gc_writebarrier() longer (storing callee - save registers). - - This patch improve the performance of WB on micro-benchmarks. - - name ruby 2.1 trunk modified - vm1_gc_wb_ary* 0.511 0.632 0.532 - vm1_gc_wb_ary_promoted* 0.578 0.701 0.674 - vm1_gc_wb_obj* 0.419 0.575 0.492 - vm1_gc_wb_obj_promoted* 0.537 0.664 0.618 - (sec) - -Tue Mar 17 18:51:43 2015 Koichi Sasada <ko1@atdot.net> - - * benchmark/bm_vm1_gc_wb_ary(_promoted).rb: separate fastpath and - slowpath for WB. - - Before this change bm_vm1_gc_wb_ary.rb tried to check the performance - for WB slowpath (making a reference from oldobj to newobj). However, - from Ruby 2.2, 3 GCs are needed to promote new objects because - only 3 age objects are promoted objects. - - To compare fastpath and slowpath, introduce new "promoted" version - benchmark. - - bm_vm1_gc_wb_ary.rb is for fastpath and - bm_vm1_gc_wb_ary_promoted.rb is for slowpath. - - * benchmark/bm_vm1_gc_wb_obj(_promoted).rb: ditto. - -Tue Mar 17 17:23:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (glob_helper): distinguish not-yet-stated and DT_UNKNOWN - by readdir, and traverse recursively for the former. Linux - readdir returns DT_UNKNOWN on some filesystems, e.g., smbfs, - iso9660. - -Mon Mar 16 17:43:21 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/webrick/server.rb: Fix regression bug in WEBrick's - :DoNotReverseLookup config option implementation. - [fix GH-731] Patch by @vais - * test/webrick/test_do_not_reverse_lookup.rb: ditto. - -Sat Mar 14 20:05:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * math.c (math_gamma): optimization for passed small integer. - -Sat Mar 14 18:07:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * enum.c: [DOC] Fixes Enumerable#member? documentation - [fix GH-756][ci skip] Patch by @shamanime - -Sat Mar 14 12:23:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (glob_helper): use d_type to reduce lstat system calls. - - * win32/dir.h (struct direct): add d_type instead of d_isdir and - d_isrep. SYMLINKD is unreliable, since the target can be - replaced after a link was created. - - * win32/win32.c (readdir_internal): set d_type. - -Sat Mar 14 02:14:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (primary): empty parentheses at cmdarg can be null. - [ruby-core:68477] [Bug #10957] - -Fri Mar 13 15:04:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/stringio/stringio.c (strio_close): don't raise on double - close for consistent to IO#close. - -Fri Mar 13 15:03:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (rb_io_close_read, rb_io_close_write): don't raise after - close same as IO#close. - -Fri Mar 13 12:29:07 2015 Tanaka Akira <akr@fsij.org> - - * test/readline/test_readline.rb: Restore environment variables: - COLUMNS LINES - -Fri Mar 13 11:37:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/fiddle/extconf.rb: needs --enable-shared when linked to - libruby or fiddle.so. since --with-static-linked-ext does no - longer link extensions to ruby program with --enable-shared, the - only combination needs --enable-static is --disable-shared and - --with-static-linked-ext. [ruby-dev:48901] [Bug #10960] - -Fri Mar 13 07:02:20 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (rsock_s_accept_nonblock): use rb_hash_lookup2 - * ext/openssl/ossl_ssl.c (get_no_exception): new function - (ossl_ssl_accept_nonblock): use get_no_exception - (ossl_ssl_read_internal): ditto - (ossl_ssl_write_nonblock): ditto - [ruby-core:68511] - -Fri Mar 13 07:01:38 2015 Eric Wong <e@80x24.org> - - * ext/openssl/ossl_ssl.c: predefine wait_*able symbols - -Thu Mar 12 22:59:53 2015 Tanaka Akira <akr@fsij.org> - - * test/lib/leakchecker.rb: Check environment variables. - -Thu Mar 12 05:54:27 2015 Eric Wong <e@80x24.org> - - * ext/socket/init.c (rsock_s_accept_nonblock): - support exception: false - [ruby-core:66385] [Feature #10532] - * ext/socket/init.c (rsock_init_socket_init): define new symbols - * ext/socket/rubysocket.h: adjust prototype - * ext/socket/socket.c (sock_accept_nonblock): support exception: false - * ext/openssl/ossl_ssl.c (ossl_ssl_accept_nonblock): ditto - * ext/socket/socket.c (Init_socket): adjust accept_nonblock definition - * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto - * ext/socket/tcpserver.c (rsock_init_tcpserver): ditto - * ext/socket/unixserver.c (rsock_init_unixserver): ditto - * ext/socket/tcpserver.c (tcp_accept_nonblock): adjust - rsock_s_accept_nonblock call - * ext/socket/unixserver.c (unix_accept_nonblock): ditto - * ext/openssl/ossl_ssl.c (ossl_start_ssl): support no_exception - * ext/openssl/ossl_ssl.c (ossl_ssl_connect): adjust ossl_start_ssl call - * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): ditto - * ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto - * test/socket/test_nonblock.rb (test_accept_nonblock): test for - "exception :false" - * test/socket/test_tcp.rb (test_accept_nonblock): new test - * test/socket/test_unix.rb (test_accept_nonblock): ditto - * test/openssl/test_pair.rb (test_accept_nonblock_no_exception): ditto - -Thu Mar 12 10:53:06 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h, node.h: move a definition of `struct rb_global_entry' - and related functions from node.h to internal.h. - - * variable.c: remove unused include pragma. - - * common.mk: remove unused dependency. - -Thu Mar 12 10:32:39 2015 Koichi Sasada <ko1@atdot.net> - - * common.mk: remove unused dependency. - -Thu Mar 12 08:20:14 2015 Koichi Sasada <ko1@atdot.net> - - * load.c: removed unused header file "node.h". - - * method.h: ditto. - - * symbol.c: ditto. - -Thu Mar 12 08:14:48 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: RGENGC_CHECK_MODE should be 0. - -Thu Mar 12 07:44:17 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: use T_IMEMO to represent `struct MEMO' value. - memo->v1 and memo->v2 is WB protected values. - So use MEMO_V1/V2_SET() macros to set these values. - memo->u3 is ambiguous (sometimes a VALUE, sometimes an integer - value), so use gc_mark_maybe() in gc.c to mark it. - - Rename NEW_MEMO() to MEMO_NEW(). - - Move MEMO_FOR and NEW_MEMO_FOR macros from node.h. - - Export a rb_imemo_new() function for ext/ripper. - - * node.h: remove NODE_MEMO. - - * enum.c: catch up these change. - - * enumerator.c: ditto. - - * load.c: ditto. - - * ext/objspace/objspace.c (count_nodes): ditto. - - * gc.c (gc_mark_children): mark imemo_memo type. - - * parse.y (new_args_gen): use T_IMEMO. - (I'm not sure it is working correctly...) - -Wed Mar 11 22:36:34 2015 Koichi Sasada <ko1@atdot.net> - - * eval.c (frame_called_id): it should use vm_ifunc type. - - * eval.c (frame_func_id): ditto. - -Wed Mar 11 22:27:05 2015 Koichi Sasada <ko1@atdot.net> - - * node.h: remove NODE_IFUNC, NEW_IFUNC. - - * internal.h: use T_IMEMO for IFUNC. - - rename `struct IFUNC' to `struct vm_ifunc' and move the definition - from vm_insnhelper.h. Add imemo_ifunc. - - * gc.c (gc_mark_children): mark imemo_ifunc type T_IMEMO object. - - * compile.c: catch up these changes. - - * proc.c: ditto. - - * vm_core.h (RUBY_VM_IFUNC_P): ditto. - - * vm_eval.c (rb_iterate): ditto. - - * vm_insnhelper.c: ditto. - - * ext/objspace/objspace.c: ditto. - -Wed Mar 11 21:53:43 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h, eval_intern.h: move CREF accessors. - - List IMEMO supported types in internal.h. - -Wed Mar 11 21:45:36 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.h: use T_IMEMO to create THROW_DATA. - - Add THROW_DATA_NEW(). - - * internal.h: move definition of `struct THROW_DATA' - from vm_insnhelper.h to internal.h. - - Rename `THROW_DATA' to `vm_throw_data'. - - * eval_intern.h (THROW_DATA_P): move to internal.h. - THROW_DATA is no longer T_NODE, so check T_IMEMO. - - * gc.c (gc_mark_children): mark THROW_DATA. - - * vm.c: catch up these changes. - - * vm_eval.c: ditto. - - * vm_insnhelper.c: ditto. - -Wed Mar 11 21:21:56 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c: use T_IMEMO to create SVAR. - - * internal.h, vm_insnhelper.h: move definition `struct SVAR' - from vm_insnhelper.h to internal.h. And rename it to struct vm_svar. - - new imemo_type imemo_svar is added. - - * gc.c (gc_mark_children): mark imemo_svar. - - * node.c (rb_gc_mark_node): remove useless marking. - -Wed Mar 11 19:35:46 2015 Koichi Sasada <ko1@atdot.net> - - * include/ruby/ruby.h: introduce new type T_IMEMO. - T_IMEMO is Internal Memo type, internal use only. - T_IMEMO has same purpose of NODE_MEMO. - - To insert T_IMEMO, type numbers are modified a little. - - * internal.h: define struct RIMemo. Each RIMemo objects - has imemo_type. We can observe it by the imemo_type() function. - - * gc.c (rb_imemo_new): added. - - * node.h: remove NODE_CREF and NEW_CREF(). - - * node.c (rb_gc_mark_node): ditto. - - * vm.c (vm_cref_new): use rb_imem_new(). - - * vm_eval.c: ditto. - - * vm_insnhelper.c: use RIMemo objects for CREF. - - * ext/objspace/objspace.c: support T_IMEMO. - -Wed Mar 11 17:03:20 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c: fix memory leak by prepend method. - - It is easy to reproduce with such script: - - module M; def bar; end; end - loop{ - Class.new do - def foo; end - prepend M - end - } - - * gc.c (obj_free): free T_ICLASS::m_tbl if it is created by prepend. - To recognize it, check RICLASS_IS_ORIGIN flag. - - * gc.c (gc_mark_children): T_ICLASS objects only need to mark - T_ICLASS::m_tbl if RICLASS_IS_ORIGIN is set. - - * gc.c (obj_memsize_of): count T_ICLASS if RICLASS_IS_ORIGIN is set. - - * internal.h (RCLASS_SET_ORIGIN): add to set RCLASS_SET_ORIGIN. - - TODO: The word `origin' seems not good name. We need to invent - another good name. - - * class.c: use RCLASS_SET_ORIGIN(). - - * class.c (class_alloc): zero clear rb_classext_t. - -Wed Mar 11 13:28:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in: check also procstat_getvmmap, which is not - available on FreeBSD 9. [ruby-core:68468] [Bug #10954] - - * vm_dump.c (procstat_vm): use kinfo_getvmmap instead if - procstat_getvmmap is not available. - -Wed Mar 11 09:15:21 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: define struct MEMO. - - * enum.c: use MEMO. - - * enumerator.c: ditto. - - * load.c: ditto. - - * node.h: return (struct MEMO *) pointer. - -Wed Mar 11 06:26:21 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.h (THROW_DATA_STATE): return int, not VALUE. - - * vm_insnhelper.h (THROW_DATA_STATE_SET): accept int value. - -Wed Mar 11 05:06:46 2015 Koichi Sasada <ko1@atdot.net> - - * vm_eval.c (rb_catch_protect): use THROW_DATA_VAL(). - -Wed Mar 11 04:56:04 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.h: define struct IFUNC. - - * vm_eval.c (rb_iterate): use it. - - * vm_insnhelper.c (vm_yield_with_cfunc): ditto. - -Wed Mar 11 03:52:12 2015 Koichi Sasada <ko1@atdot.net> - - * eval_intern.h (THROW_DATA_P): use RB_TYPE_P() instead of - BUILTIN_TYPE(). - - * thread.c (thread_join): use THROW_DATA_P(). - -Wed Mar 11 03:48:01 2015 Koichi Sasada <ko1@atdot.net> - - * proc.c: use RUBY_VM_IFUNC_P() to recognize IFUNC or not. - - * vm.c: ditto. - - * vm_dump.c: ditto. - - * vm_insnhelper.c: ditto. - - * vm_core.h (RUBY_VM_IFUNC_P): use RB_TYPE_P() instead of - BUILTIN_TYPE(). - -Wed Mar 11 03:21:37 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.h: define struct THROW_DATA to represent - throwing data. Also define accessor functions. - - * eval_intern.h: move related changes into vm_insnhelper.h. - Now these MACROs (functions) are only used in vm*.c. - - There is only THROW_DATA_P(err) to check this data type or not. - - * vm.c: catch up these changes. - - * vm_eval.c: ditto. - - * vm_insnhelper.c: ditto. - -Wed Mar 11 00:57:00 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * test/rubygems/test_gem_security_trust_dir.rb: The return value of - File::Stat#mode is OS dependent. In AIX, 0200000 is set. - -Tue Mar 10 20:03:41 2015 Tanaka Akira <akr@fsij.org> - - * lib/webrick/server.rb: Invoke setup_shutdown_pipe in start method - instead of listen method. - [ruby-core:68476] [Bug #10956] Reported by Shintaro Kojima. - -Tue Mar 10 17:27:27 2015 Koichi Sasada <ko1@atdot.net> - - * thread.c (thread_join): Fixnum (except TAG_FATAL) and - NODE should not be reached here. - -Mon Mar 9 21:42:10 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (ep_cref): rename to lep_cref() because it should be - local ep. - -Mon Mar 9 16:34:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/stringio/stringio.c (strio_close): don't raise on double - close for consistent to IO#close. - -Mon Mar 09 06:44:48 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.h: define struct SVAR for SVAR. - This data type is also same layout of NODE (NODE_IF). - - * vm_insnhelper.c: catch up this change. - -Mon Mar 9 06:43:21 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (lep_svar_set): add WBs. - -Mon Mar 9 06:19:06 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: define rb_cref_t and change to use it. - - rb_cref_t is data type of CREF. Now, the body is still NODE. - It is easy to understand what is CREF and what is pure NODE. - -Mon Mar 9 06:00:37 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.h (COPY_CREF_OMOD): fix translation miss. - -Mon Mar 9 04:47:58 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: define CREF accessor macros. - * CREF_CLASS(cref) - * CREF_NEXT(cref) - * CREF_VISI(cref) - * CREF_VISI_SET(cref, v) - * CREF_REFINEMENTS(cref) - * CREF_PUSHED_BY_EVAL(cref) - * CREF_PUSHED_BY_EVAL_SET(cref) - * CREF_OMOD_SHARED(cref) - * CREF_OMOD_SHARED_SET(cref) - * CREF_OMOD_SHARED_UNSET(cref) - - This is process to change CREF data type from NODE. - -Sun Mar 8 22:50:57 2015 Tanaka Akira <akr@fsij.org> - - * ext/zlib/zlib.c (rb_gzfile_close): Don't raise on double - close for consistent to IO#close. - -Sun Mar 8 16:57:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (glob_helper): match patterns against legacy short names - too, not only ordinary names. [ruby-core:67954] [Bug #10819] - - * win32/dir.h (struct direct): add short name members. - - * win32/win32.c (opendir_internal, readdir_internal): ditto. - -Sat Mar 7 09:36:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * array.c: document that first element is kept when using - Array#uniq and #uniq! [fix GH-845][ci skip] - Patch by @riffraff - -Sat Mar 7 09:28:02 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * thread.c: Mutex#owned? is no longer experimental since 2.1.0 - [fix GH-839][ci skip] Patch by @takiy33 - -Sat Mar 7 09:18:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * tool/merger.rb: Added documentation to version method. - [fix GH-847][ci skip] Patch by @magikid - -Fri Mar 6 22:50:36 2015 Koichi Sasada <ko1@atdot.net> - - * class.c (rb_prepend_module): need a WB for klass -> origin. - -Fri Mar 6 20:18:38 2015 Koichi Sasada <ko1@atdot.net> - - * fix namespace issue on singleton class expressions. [Bug #10943] - - * vm_core.h, method.h: remove rb_iseq_t::cref_stack. CREF is stored - to rb_method_definition_t::body.iseq_body.cref. - - * vm_insnhelper.c: modify SVAR usage. - When calling ISEQ type method, push CREF information onto method - frame, SVAR located place. Before this fix, SVAR is simply nil. - After this patch, CREF (or NULL == Qfalse for not iseq methods) - is stored at the method invocation. - - When SVAR is required, then put NODE_IF onto SVAR location, - and NDOE_IF::nd_reserved points CREF itself. - - * vm.c (vm_cref_new, vm_cref_dump, vm_cref_new_toplevel): added. - - * vm_insnhelper.c (vm_push_frame): accept CREF. - - * method.h, vm_method.c (rb_add_method_iseq): added. This function - accepts iseq and CREF. - - * class.c (clone_method): use rb_add_method_iseq(). - - * gc.c (mark_method_entry): mark method_entry::body.iseq_body.cref. - - * iseq.c: remove CREF related codes. - - * insns.def (getinlinecache/setinlinecache): CREF should be cache key - because a different CREF has a different namespace. - - * node.c (rb_gc_mark_node): mark NODE_IF::nd_reserved for SVAR. - - * proc.c: catch up changes. - - * struct.c: ditto. - - * insns.def: ditto. - - * vm_args.c (raise_argument_error): ditto. - - * vm_eval.c: ditto. - - * test/ruby/test_class.rb: add a test. - -Fri Mar 6 18:19:13 2015 Koichi Sasada <ko1@atdot.net> - - * test/webrick/test_filehandler.rb: on vboxsf (on VirtualBox - on Windows 7), file name and permissions are strange (can access - by short file name and so on). - - Simply skip on such tests on such FS. To detect strange FS, this - patch use a part of code `File.executable?(__FILE__)`. - Please correct them if there are better ways. - -Fri Mar 6 17:31:29 2015 Koichi Sasada <ko1@atdot.net> - - * test/ruby/test_beginendblock.rb: do not change directory. - - Run system command in the directory mounted by vboxsf on Windows 7 - and get warning like that "warning: Insecure world writable dir...". - -Fri Mar 6 10:31:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (vm_call_super): search next super class from the - original class, to get rid of infinite recursion with - prepending. a patch by Seiei Higa <hanachin AT gmail.com> at - [ruby-core:68434]. [ruby-core:68093] [Bug #10847] - -Fri Mar 6 08:45:26 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens. - [Fixes GH-802] - -Fri Mar 6 07:33:03 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (obj_info): show node name too. - -Fri Mar 6 07:00:44 2015 Koichi Sasada <ko1@atdot.net> - - * internal.h: remove struct method_table_wrapper. - struct method_table_wrapper was introduced to avoid duplicate marking - for method tables. - - For example, `module M1; def foo; end; end` make one method table - (mtbl) contains a method `foo`. M1 (T_MODULE) points mtbl. - Classes C1 and C2 includes M1, then two T_ICLASS objects are created - and they points mtbl too. In this case, three objects (one T_MODULE - and two T_ICLASS objects) points same mtbl. On marking phase, these - three objects mark same mtbl. To avoid such duplication, struct - method_table_wrapper was introduced. - - However, created two T_ICLASS objects have same or shorter lifetime - than M1 (T_MODULE) object. So that we only need to mark mtbl from M1, - not from T_ICLASS objects. This patch tries marking only from M1. - In other words, original module (M1) has responsibility to mark mtbl. - Because of no duplicate marking, we don't need method_table_wrapper - any more. - - Note that one `Module#prepend` call creates two T_ICLASS objects. - One for referring to a prepending Module object, same as - `Module#include`. We don't need to care this T_ICLASS. - One for moving original mtbl from a prepending class. We need to - mark such mtbl from this T_ICLASS object. To mark the mtbl, - we need to use `RCLASS_ORIGIN(klass)` on marking from a prepended - class `klass`. - - * class.c: ditto. - - * eval.c (rb_using_refinement): ditto. - - * gc.c: ditto. - - * include/ruby/ruby.h: define m_tbl directly. The definition of - struct RClass should be moved to (srcdir)/internal.h. - - * method.h: remove decl of rb_free_m_tbl_wrapper(). - - * object.c: use RCLASS_M_TBL() directly. - -Fri Mar 6 02:50:12 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * dir.c (replace_real_basename): need to check the return value of - GLOB_REALLOC(). - -Fri Mar 6 02:26:03 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * dir.c (replace_real_basename): shouldn't create Ruby object before - the object system is loaded. - [ruby-core:68430] [Bug #10941] - -Wed Mar 5 16:58:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * hash.c: [DOC] #delete method actually returns nil, if the key - is not found. [fix GH-844][ci skip] Patch by @ivdma - -Wed Mar 5 12:22:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * math.c: refactoring: remove unnecessary variable d0 to unify code - appearance. - -Thu Mar 5 11:50:54 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_eval.c (eval_string_with_cref): A binding should keep - refinements activation information and the refinements should be - activated in subsequent eval calls with the binding. - [ruby-core:67945] [Bug #10818] - -Thu Mar 5 11:16:55 2015 Shugo Maeda <shugo@ruby-lang.org> - - * test/ruby/test_refinement.rb: There is no need anymore to suppress - warnings. - -Thu Mar 5 08:31:02 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * random.c (random_raw_seed): Avoid calling fill_random_bytes() - if the requested size is 0. AIX returns -1 for 0-byte read from - /dev/urandom, while other UNIX returns 0. With this change, - Random.raw_seed(0) consistently returns "" in any UNIX. - -Wed Mar 4 12:43:32 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * test/ruby/test_math.rb (assert_float_and_int): Refactor test cases - by introducing assert_float_and_int. [misc #10810] - -Wed Mar 4 11:52:30 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * symbol.c (Init_sym): make dsym_fstrs a hash compared by identity - as the keys are unique fstrings, to get rid of running hash and - compare methods and causing new object allocation during garbage - collection phase. [ruby-dev:48891] [Bug #10933] - -Wed Mar 4 10:16:57 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * enum.c: Fix typo in slice_after's exception message. - [fix GH-842][ci skip] Patch by @jsyeo - -Wed Mar 4 10:15:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/syntax/methods.rdoc: add some missing spaces and - fix a grammatical error in method docs. - [fix GH-843][ci skip] Patch by @nikolas - -Wed Mar 4 02:13:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb (backport_command_string): pick up only - when the revision exists in trunk. - -Wed Mar 4 00:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (rb_thread_io_blocking_region): assigned variables - inside EXEC_TAG() should be volatile. - - * thread.c (rb_thread_s_handle_interrupt): ditto. - - * thread.c (exec_recursive): ditto. - -Wed Mar 4 00:29:18 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: now can specify shorten form of commands. - -Tue Mar 3 23:41:42 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb (Readline.readline): drop untreated control - characters. - -Tue Mar 3 22:25:24 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/lib/envutil.rb (EnvUtil.invoke_ruby): need to rescue because - Signal.signame may raise exception. - -Tue Mar 3 16:57:39 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: use 'b' instead of 's' for showing - Backport options for merger.rb. - -Tue Mar 3 16:55:23 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: show selected ticket number at prompt. - -Tue Mar 3 14:47:30 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * math.c (num2dbl_with_to_f): direct casting from Rational to double. - [Feature #10909] - - * test/ruby/test_math.rb: add tests for the above change. - -Tue Mar 3 07:52:20 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * test/ruby/test_symbol.rb: avoid a false positive in AIX. - -Tue Mar 3 00:59:39 2015 Naohisa Goto <ngotogenome@gmail.com> - - * configure.in: set PRELOADENV in Solaris to avoid "wrong ELF class" - error. [Bug #10926] [ruby-dev:48888] - * configure.in: set LIBPATHENV for 32-bit compile in Solaris - in addition to 64-bit. - -Mon Mar 2 15:36:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in: do not check _setjmp unless _longjmp is available, - so that configure results will not be changed by cache. - -Mon Mar 2 14:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (RUBY_REPLACE_TYPE): restore unsigned type from - cached variable only if the target type is not available. - -Mon Mar 2 13:04:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * signal.c (sig_signame): return nil if the argument is a valid - signal number. - -Mon Mar 2 12:05:04 2015 Naohisa Goto <ngotogenome@gmail.com> - - * test/net/ftp/test_ftp.rb (create_ftp_server): set SO_OOBINLINE - for receiving OOB data which is sent with MSG_OOB flag in - portable way. [Bug #10915] [ruby-dev:48885] - * test/net/ftp/test_ftp.rb (test_abort, test_status): use gets - for receiving OOB data in portable way. - -Mon Mar 2 11:43:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (RUBY_REPLACE_TYPE): restore unsigned type from - cached variable. - -Mon Mar 2 06:01:41 2015 Eric Wong <e@80x24.org> - - * ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX - Thanks to Yura Sokolov <funny.falcon@gmail.com> - [ruby-core:68369] [Bug#10923] - * test/io/wait/test_io_wait.rb (test_nread_buffered): - fix broken test - -Sun Mar 1 20:21:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (RUBY_REPLACE_TYPE): restore convertible type from - cached variable, so that configured results will be stable. - -Sun Mar 1 18:10:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (rb_cv_broken_memmem): check before adding the - result HAVE_MEMMEM macro to confdefs.h, so that configured - results will be stable. - -Sun Mar 1 11:17:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * gc.c (id2ref): prohibit from accessing internal objects. - [ruby-core:68348] [Bug #10918] - -Sun Mar 1 09:06:11 2015 Tanaka Akira <akr@fsij.org> - - * lib/time.rb (strptime): Support %s.%N. - [ruby-core:68301] [Bug #10904] Patch by Sadayuki Furuhashi. - -Sat Feb 28 17:18:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * enum.c (enum_each_slice, enum_each_cons): limit elements size by - the enumerator size. suggested by Hans Mackowiak <hanmac AT - gmx.de> at [ruby-core:68335] - -Sat Feb 28 15:44:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_dump.c (rb_vm_bugreport): get rid of making new strings - inside signal context. - - * variable.c (rb_tmp_class_path): defer making temporary class - path string. - - * variable.c (rb_search_class_path): search class path or return - Qnil or Qfalse if unnamed, not creating a temporary path. - -Sat Feb 28 15:02:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * variable.c (rb_tmp_class_path): preserve name encoding of an - anonymous instance of module/class subclass. - -Sat Feb 28 08:24:30 2015 Rei Odaira <Rei.Odaira@gmail.com> - - * ext/pty/pty.c: AIX supports autopush. - Patch by Perry Smith [ruby-core:58539] [Bug #9144] - -Fri Feb 27 22:00:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rubygems: Update to RubyGems 2.4.6 and HEAD(800f2e6). - Fixed #1159, #1171, #1173 on rubygems/rubygems - * test/rubygems: ditto. - -Fri Feb 27 20:55:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rake: Update to rake (9237e74), typo fix and remove needless - private syntax. - * test/rake: ditto. - -Fri Feb 27 17:06:44 2015 Koichi Sasada <ko1@atdot.net> - - * vm_core.h: define vm_svar_index. - - * vm_insnhelper.c, vm.c, compile.c: use vm_svar_index names. - - * iseq.h: remove DEFAULT_SPECIAL_VAR_COUNT. - use VM_SVAR_FLIPFLOP_START instead. - -Fri Feb 27 13:57:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * io.c (setup_narg): wipe away expanded part of buffer to get rid - of revealing uncleaned data. reported by Dongkwan Kim <dkay AT - kaist.ac.kr>. - -Wed Feb 25 22:25:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * spec/default.mspec: use default configuration file name. - https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf - -Wed Feb 25 22:21:56 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * spec/default.mspec: remove specific version number. - https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714 - -Wed Feb 25 22:04:04 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/win32/Win32API.rb (initialize): accept both a string and an array - for the arguments of the imported function. - reported by Aaron Stone [ruby-core:68208] [Bug #10876] [Fixes GH-835] - -Wed Feb 25 18:12:11 2015 Eric Wong <e@80x24.org> - - * signal.c (sighandler): preserve errno - Patch by Steven Stewart-Gallus <sstewartgallus00@mylangara.bc.ca> - [ruby-core:68172] [Bug #10866] - -Wed Feb 25 15:59:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (push_pattern, push_glob): make globbed file names same - encoding to the given pattern. - -Wed Feb 25 15:27:16 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * tool/merger.rb: support 2.1+ versioning scheme. - -Tue Feb 25 08:49:12 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * lib/cmath.rb (log): raise ArgumentError when more than 2 arguments - are passed. [ruby-core:66143] [Bug #10487] - -Tue Feb 25 02:15:17 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * test/ruby/test_math.rb: Use assert_infinity instead of assert_equal(1.0/0, ...). - - * test/ruby/test_math.rb: Add tests for overriding Integer#to_f. - [ruby-core:67919] [Misc #10809] - -Tue Feb 24 22:58:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * complex.c (nucomp_mul): calculate as rotation in complex plane - if matrix calculation resulted in NaN. - -Tue Feb 24 21:45:39 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * test/ruby/test_math.rb(test_cbrt): Add an assertion for Math.cbrt(1.0/0) - and move #test_cbrt to more proper place. - -Tue Feb 24 19:09:25 2015 Koichi Sasada <ko1@atdot.net> - - * vm_insnhelper.c (lep_svar_place, lep_svar_get): do not create - additional T_NODE object (svars holder) when only getting - svars. - -Tue Feb 24 11:49:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * time.c (time_zone_name): should be US-ASCII only if all 7-bits, - otherwise locale encoding. [ruby-core:68230] [Bug #10887] - -Tue Feb 24 09:47:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (chompped_length): enable smart chomp for all non-dummy - encoding strings, not only default_rs. - [ruby-core:68258] [Bug #10893] - -Mon Feb 23 23:19:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * tool/vcs.rb (IO.popen): support :chdir option. - - * tool/vcs.rb (VCS::GIT.get_revisions): use :chdir option instead - of -C option which is not supported by older git. - [ruby-dev:48880] [Bug #10890] - -Mon Feb 23 15:26:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * string.c (rb_str_split_m): raise ArgumentError at broken string - not RegexpError, as Regexp is not involved in. - [ruby-core:68229] [Bug #10886] - -Mon Feb 23 07:25:29 2015 Benoit Daloze <eregontp@gmail.com> - - * time.c: Zone encoding should be US-ASCII if all 7-bits. Fix r46907. - - * test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests. - -Sun Feb 22 18:33:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * common.mk: use ruby organization for rubyspec. - -Sun Feb 22 15:56:06 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements - of original crefs. It fixes segmentation fault when calling - refined method in duplicate module. [ruby-dev:48878] [Bug #10885] - - * vm_core.h, class.c: change accordingly. - - * test/ruby/test_refinement.rb: add a test for above. - -Sun Feb 22 10:43:37 2015 Koichi Sasada <ko1@atdot.net> - - * gc.c (rb_objspace_call_finalizer): control GC execution during - force firnalizations at the end of interpreter process. - [Bug #10768] - - 1) Prohibit incremental GC while running Ruby-level finalizers - to avoid any danger. - 2) Prohibit GC while invoking T_DATA/T_FILE data structure - because these operations break object relations consistency. - - This patch can introduce another memory consuming issue because - Ruby-level finalizers can run after (2), GC is disabled. - However, basically object consistency was broken at (2) as I - described above. So that running Ruby-level finalizers contains - danger originally. Because of this point, I need to suggest to - remove these 3 lines (invoking remaining finalizers). And add a - rule to add that finalizers should not add new finalizers, or - say there is no guarantee to invoke finalizers that added by - another finalizer. - -Sun Feb 22 04:07:05 2015 Zachary Scott <e@zzak.io> - - * ext/openssl/ossl_asn1.c: [DOC] RDoc formatting fixes for - ASN1::ObjectId with patch from @vbatts [Fixes GH-834] - - * ext/openssl/ossl_bn.c: ditto. - -Sat Feb 21 19:51:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * re.c (match_aref): RMatch::regexp is Qnil after matching by a - string since r45451. [ruby-core:68209] [Bug #10877] - -Sat Feb 21 16:18:42 2015 Stefan Schuler <mail@stefanschuessler.de> - - * compar.c (Init_Comparable): [DOC] Replace camelcase variable name. - [Fix GH-833] - -Fri Feb 20 17:27:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * file.c (rb_file_identical_p): fix handle leak, ensure to close - the handle of the first argument. - -Fri Feb 20 17:19:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (different_device_p): compare by volume serial - numbers, not by path names. [ruby-core:68162] [Bug #10865] - -Thu Feb 19 01:58:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/file.c (rb_file_expand_path_internal): neither the drive - of base directory nor the current drive are involved in the - result if different than the drive of path. - [ruby-core:68130] [Bug #10858] - -Wed Feb 18 10:48:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/win32.c (wrename): return EXDEV if moving a directory to - another drive, since MoveFileExW does not set proper error code. - [ruby-core:68162] [Bug #10865] - -Wed Feb 18 03:13:52 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych.rb: bump psych version. - * ext/psych/psych.gemspec: ditto - * ext/psych/yaml/scanner.c: add latest libyaml change. - * test/psych/helper.rb: support newer minitest - * test/psych/test_to_yaml_properties.rb: ditto - -Tue Feb 17 11:47:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements - returned by Kernel#instance_variables are Symbols now. - [ruby-core:68128] [Bug #10857] - -Tue Feb 17 10:59:10 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/syntax/calling_methods.rdoc: Fix documentation for "calling_methods" - Patch by @sos4nt [fix GH-830][ci skip] - -Tue Feb 17 10:53:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * win32/file.c (rb_file_expand_path_internal): do not make invalid - (or ADS) path if the path has a drive letter, the result also - should have be under it. [ruby-core:68130] [Bug #10858] - -Tue Feb 17 10:47:20 2015 Iain Beeston <iain.beeston@gmail.com> - - * hash.c: Added docs to explain that #include? and #member? do not - check member equality - * lib/set.rb: ditto - -Mon Feb 16 20:58:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * compile.c (compile_massign): optimization for special case, - assignments by aset or attrset. - http://kokizzu.blogspot.jp/2015/02/c-java-hhvm-ruby-nodejsrhinojscspidermo.html - http://www.atdot.net/~ko1/diary/201502.html#d16 - -Sun Feb 15 10:41:23 2015 Sho Hashimoto <sho-h@ruby-lang.org> - - * doc/standard_library.rdoc: [DOC] delete removed libraries. - [misc #10843] [ci skip] - -Sat Feb 14 12:20:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * random.c (rand_random_number): add a method to return a random - number like SecureRandom to Random::Formatter. - - * lib/securerandom.rb (random_bytes): move to Random::Formatter, - the base method of the module. - -Sat Feb 14 12:01:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * random.c (random_raw_seed): extract platform dependent random - seed initialization function as a new method Random.raw_seed. - - * lib/securerandom.rb (SecureRandom): use Random.raw_seed. - -Sat Feb 14 00:49:37 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/coverage/coverage.c: Add Coverage.peek_result. Allows you to - capture coverage information without stopping the coverage tool. - [ruby-core:67940] [Feature #10816] - - * test/coverage/test_coverage.rb: test for change. - -Fri Feb 13 21:52:05 2015 Yusuke Endoh <mame@tsg.ne.jp> - - * string.c (str_discard): does not free for STR_NOFREE string. - [Bug #10853][ruby-core:68110] - - * bootstraptest/test_string.rb: test for above. - -Fri Feb 13 21:16:00 2015 Yusuke Endoh <mame@tsg.ne.jp> - - * lib/base64.rb: make urlsafe mode user-friendly. - - * lib/base64.rb (Base64.urlsafe_encode64): a new option "padding" to - suppress the padding character ("="). - - * lib/base64.rb (Base64.urlsafe_decode64): now it accepts not only - correctly-padded input but also unpadded input. - [Feature #10740][ruby-core:67570] - - * test/base64/test_base64.rb: Test for above - -Fri Feb 13 14:19:06 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/json: merge upstream from flori/json - change usage of TypedData. [Feature #10739][ruby-core:67564] - -Thu Feb 12 18:34:01 2015 multisnow <infinity.blick.winkel@gmail.com> - - * ext/openssl/extconf.rb: check RAND_edg to support libressl. - - * ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg - is available. [Fix GH-829] - -Thu Feb 12 10:46:14 2015 Eric Hodel <drbrain@segment7.net> - - * proc.c (proc_call): Improve Proc#call documentation. Patch by - Hsing-Hui Hsu. [fix GH-761] - -Thu Feb 12 04:33:02 2015 Benoit Daloze <eregontp@gmail.com> - - * compar.c (cmp_equal): no more error hiding for Comparable#==. - It now behaves as other Comparable methods. See #7688. - - * test/ruby/test_comparable.rb: update related test. - -Thu Feb 12 03:28:05 2015 Eric Wong <e@80x24.org> - - * lib/set.rb (initialize): internal hash defaults to false - - * lib/set.rb (include?): use Hash#[] for optimized dispatch. - Patch by Ismael Abreu <ismaelga@gmail.com> - [ruby-core:67664] [Misc #10754] - -Wed Feb 11 11:09:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/digest/digest_conf.rb (digest_conf): check for CommonDigest. - - * ext/digest/*/*cc.h: for Apple CommonCrypto/CommonDigest.h. - - * ext/digest/digest.h (DEFINE_FINISH_FUNC_FROM_FINAL): macro for - finish functions, by inverting arguments order. - - * ext/digest/digest_conf.rb (digest_conf): extract common - configurations. - -Wed Feb 11 11:01:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/json/generator/generator.c (generate_json): get rid of - unnecessary recursive calls which can cause infinite recursion. - T_STRING may not have rb_cString. - -Wed Feb 11 07:53:35 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> - - * test/win32ole/test_word.rb: use skip method to skip test. - -Tue Feb 10 11:38:28 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_insnhelper.c (vm_call_method): stop method search when a method - is not found in a refinement, to support undef in refinements. - [ruby-core:66741] [Bug #10578] - -Tue Feb 10 11:19:11 2015 Shugo Maeda <shugo@ruby-lang.org> - - * lib/net/ftp.rb (chdir, delete, gettextfile, mdtm, mkdir, nlst, - putbinaryfile, puttextfile, rename, rmdir, size): support - Pathname. Patch by Joe Rafaniello. [fix GH-828] - -Mon Feb 9 16:36:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * tool/make-snapshot (package): get rid of loading unbundled and - unexpected libraries. [ruby-core:67977] [Bug #10822] - -Sun Feb 8 20:09:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/net/http/header.rb: pass header names as symbols. - Patch by @DamirSvrtan [fix GH-805] - * test/net/http/test_httpheader.rb: added test. - -Sun Feb 8 13:04:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/socket/getaddrinfo.c (get_addr): reject too long hostname to - get rid of GHOST vulnerability on very old platforms. - - * ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic - check for the canonical name. - -Sun Feb 8 12:48:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide - versions of RegDeleteValue and RegDeleteKey. - [ruby-core:67958] [Bug #10820] - -Sat Feb 7 22:13:08 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> - - * test/win32ole/test_win32ole_record.rb: remove test using .NET - Framework 3.5 because it is not included in Windows 8/8.1. - -Sat Feb 7 19:25:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (has_magic): always get long path name on Windows even if - no tilde is there. [ruby-core:68011] [Bug #10819] - - * dir.c (replace_real_basename): FindFirstFile ignore redirection - character, check if exists before call it. cf. [Bug #8597] - -Sat Feb 7 13:30:11 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> - - * test/win32ole/test_win32ole_record.rb - (test_ole_instance_variable_get): correct VT_RECORD type and - instance variables. - -Fri Feb 6 17:47:05 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych/visitors/yaml_tree.rb: register nodes when - dumping objects with custom coders. [ruby-core:66215] [Bug #10496] - - * test/psych/test_coder.rb: test for fix - -Fri Feb 6 16:58:31 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych/visitors/to_ruby.rb: fix support for regular - expressions with newlines. tenderlove/psych#222 - - * test/psych/test_yaml.rb: test for change. - -Fri Feb 6 10:31:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_core.h (rb_call_info_kw_arg_struct): make keywords a symbols - list to get rid of inadvertent creation by variable keyword - arguments. [ruby-core:68031] [Bug #10831] - -Thu Feb 5 22:42:34 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rubygems: Update to RubyGems HEAD(5c3b6f3). - Fixed #1156, #1142, #1115, #1142, #1139 on rubygems/rubygems - * test/rubygems: ditto. - -Thu Feb 5 13:41:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_eval.c (send_internal), vm_insnhelper.c (vm_call_opt_send): - convert String method name into a Symbol, as method_missing - method expects its first argument to be a Symbol. [Bug #10828] - - * vm_insnhelper.c (ci_missing_reason): return the reason of method - missing in call info. - - * vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the - proper missing reason. [Bug #10828] - -Thu Feb 5 10:31:46 2015 Shugo Maeda <shugo@ruby-lang.org> - - * class.c (rb_obj_singleton_methods): should use RTEST() to convert - VALUE to int. - -Thu Feb 5 03:59:33 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> - - * vm_insnhelper.c: Fix symbol leak with +send+ [Bug #10828] - -Wed Feb 4 20:26:54 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> - - * ext/win32ole/win32ole.c (Init_win32ole): should not use atexit to - free allocated hash table to avoid error on Cygwin. - -Wed Feb 4 15:34:25 2015 Shugo Maeda <shugo@ruby-lang.org> - - * class.c (method_entry_i, class_instance_method_list, - rb_obj_singleton_methods): should not include methods of - superclasses if recur is false. [ruby-dev:48854] [Bug #10826] - -Wed Feb 4 16:32:40 2015 Matt Hoyle <matt@deployable.co> - - * ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt' - to 'exponent'. [ruby-core:67980] [Bug #10823] [Fix GH-825] - -Wed Feb 4 15:55:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/sdbm/_sdbm.c: include ruby/ruby.h for PRIdPTRDIFF when a - macro `DEBUG` is defined. based on the patch by Owen Rodley in - [ruby-core:67987]. [Bug #10825] - -Wed Feb 4 11:12:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * Makefile.in (probes.stamp): rebuild dtrace dependent objects - only when `dtrace -G` modifies its input files. - -Tue Feb 3 19:27:16 2015 Naohisa Goto <ngotogenome@gmail.com> - - * common.mk (ruby-glommed.o): dependency on $(OBJ) should be written - in common.mk (in which OBJ is defined) because of Makefile include - and parse order. This partly reverts r49419. - [ruby-dev:48849] [Bug #10808] - - * Makefile.in (ruby-glommed.o): ditto. - - * Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because - it is included in $(OBJS) since r49451. - - * Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS) - -Tue Feb 3 17:15:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of - interference by modifying global variables in have_devel? method. - [ruby-core:67962] [Bug #10821] - -Tue Feb 3 15:23:58 2015 Shugo Maeda <shugo@ruby-lang.org> - - * vm_method.c (remove_method): When remove refined - method, raise a NameError if the method is not - defined in refined class. - - But if the method is defined in refined class, - it should keep refined method and remove original - method. - - Patch by Seiei Higa. [ruby-core:67722] [Bug #10765] - -Tue Feb 3 14:04:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (glob_helper): obtain real name with FindFirstFile API - instead of matching all entries, on Windows. - [ruby-core:67954] [Bug #10819] - -Tue Feb 3 12:26:35 2015 Katsuhiko Nishimra <ktns.87@gmail.com> - - * lib/mkmf.rb (configuration): set the default cxxflags, which is - referred from the default CXXFLAGS, for extension libraries. - [Fix GH-823] - -Tue Feb 3 05:52:00 2015 Aman Gupta <ruby@tmm1.net> - - * gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress - during rb_objspace_free. Adds extra protection for r46340. - Patch by Vicent Marti. [Bug #10768] [ruby-core:67734] - * gc.c (rb_objspace_call_finalizer): Ensure GC is completed after - finalizers have run. We already call gc_rest() before invoking - finalizers, but finalizer can allocate new objects and start new GC - cycle, so we call gc_rest() again after finalizers are complete. - -Mon Feb 2 10:51:34 2015 Ari Pollak <ajp@aripollak.com> - - * doc/security.rdoc (Symbols): update about Symbol GC. Symbols - explicitly converted from Strings now can be collected, but - reflection/metaprogramming still can cause memory flooding. - [Fix GH-725] - -Sun Feb 1 13:46:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * tool/rbinstall.rb (bin-comm): drop batch file installation. - Windows 95 support has not been supported already. - [Feature #10806] - -Sat Jan 31 12:06:23 2015 Scott Francis <scott.francis@shopify.com> - - * thread_pthread.c (reserve_stack): fix intermittent SIGBUS on - Linux, by reserving the stack virtual address space at process - start up so that it will not clash with the heap space. - [Fix GH-822] - -Fri Jan 30 17:28:29 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * math.c (num2dbl_with_to_f): make faster when Bignum passed by - direct conversion using rb_big2dbl(). [Feature #10800] - -Thu Jan 29 23:30:00 2015 Kenta Murata <mrkn@mrkn.jp> - - * ext/bigdecimal/bigdecimal.c (rb_rational_num): add fallback function - for rubies lower than 2.2.0. - - * ext/bigdecimal/bigdecimal.c (rb_rational_den): ditto. - - * ext/bigdecimal/extconf.rb: check the existences of struct RRational, - rb_rational_num, and rb_rational_den. - - * ext/bigdecimal/bigdecimal.bundle: bump version. - -Thu Jan 29 20:28:25 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * tool/make-snapshot: removed md5 digest with package information - -Thu Jan 29 10:41:52 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> - - * math.c (Get_Double): direct casting from Fixnum to double. - [Feature #10785] - -Thu Jan 29 02:34:27 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych/visitors/to_ruby.rb: fix parsing hashes with - instance variables when it is referenced multiple times. - * ext/psych/lib/psych.rb: bump version - * ext/psych/psych.gemspec: bump version - * test/psych/test_hash.rb: test for fix - -Thu Jan 29 02:06:09 2015 Eric Wong <e@80x24.org> - - * thread.c (struct join_arg): restructure and make smaller - (thread_join_sleep): avoid timeofday() call if forever - (thread_join): pass join_arg.delay directly - (rb_thread_inspect_msg): remove, inline into rb_thread_inspect - (rb_thread_inspect): reduce branching and string creation - * thread_pthread.c (native_set_thread_name): create string directly - to avoid reparsing. [Misc #10723] - -Wed Jan 28 21:32:24 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * thread.c: Improve documentation for Thread#value - [Bug #10694][ruby-core:67324][ci skip] - -Tue Jan 27 16:04:19 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: added `!` command. - -Tue Jan 27 15:58:23 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: added history feature for platforms which - lack readline. - -Mon Jan 26 22:09:35 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * .gitignore: ignored temporary file with git. - -Mon Jan 26 18:06:03 2015 Akinori MUSHA <knu@iDaemons.org> - - * misc/ruby-electric.el: Import version 2.2.2 from - https://github.com/knu/ruby-electric.el. - -Mon Jan 26 11:37:49 2015 Dave Stevens <dave@crowdlab.com> - - * string.c (str_make_independent_expand): terminate String when - moved from heap to embedded. [Fix GH-821]. - -Sun Jan 25 12:04:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (flatten): no need to call to_ary method on elements - beyond the given level. [ruby-core:67637] [Bug #10748] - -Sun Jan 25 00:42:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/fiddle/win32/libffi.mk.tmpl: assemble without directory prefix. - workaround of a bug of VC12 ml, by unak at [ruby-core:67792]. - [ruby-core:67789] [Bug #10780] - -Sat Jan 24 19:56:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dln_find.c (dln_find_1): search regular files only. based on - the patch by Alex Coomans in [ruby-core:67766]. [Bug #10776] - -Fri Jan 23 23:57:05 2015 Misumi Rize <r@ayase-e.li> - - * vm_insnhelper.c (vm_throw_start): search the target to break - from a block with nested rescue, from the nested blocks. - [ruby-core:67765] [Bug #10775] [Fix GH-820] - -Fri Jan 23 20:00:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * marshal.c (w_object, marshal_dump): use identity tables for - arbitrary VALUE keys, because of performance of FLONUM. - [Bug #10761] - - * marshal.c (obj_alloc_by_klass, marshal_load): ditto. - -Fri Jan 23 17:12:33 2015 Eric Wong <e@80x24.org> - - * benchmark/bm_marshal_dump_flo.rb: new benchmark for [Bug #10761] - -Thu Jan 22 18:03:19 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb (find_svn_log): use double quotes instead - of single quotes because cmd.exe doesn't handle them. - - * tool/redmine-backporter.rb (done): the 2nd element of matched data - is the offset of the end of matched string, not length. - -Thu Jan 22 16:45:24 2015 Eric Wong <e@80x24.org> - - * st.c (st_numhash): mix float value for flonum - * hash.c (rb_any_hash): ditto - * benchmark/bm_hash_aref_flo.rb: new benchmark - * benchmark/bm_hash_ident_flo.rb: ditto - [Bug #10761] - -Wed Jan 21 22:33:51 2015 Akinori MUSHA <knu@iDaemons.org> - - * misc/ruby-electric.el: Import version 2.2.1 from - https://github.com/knu/ruby-electric.el. Improve compatibility - with and optimize for Emacs 24.4. - -Wed Jan 21 09:40:52 2015 Zachary Scott <e@zzak.io> - - * file.c: Document other cases of missing birthtime on OS with patch - provided by @sho-h similar to GH-817. [ci skip] [DOC] - -Wed Jan 21 09:09:19 2015 Tanaka Akira <akr@fsij.org> - - * NEWS: References to tickets added. - [ruby-core:67701] [Bug #10760] Suggested by Zachary Scott. - -Tue Jan 20 22:59:54 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * tool/vcs.rb: fix the exception given remote-url of svn. - -Tue Jan 20 12:58:33 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: now can change the page of `ls`. - -Tue Jan 20 12:28:37 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb (readline): fallback to normal gets on - Windows because IO.console.getch is not always do as expected. - -Tue Jan 20 11:31:07 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/redmine-backporter.rb: update usage. - -Tue Jan 20 11:23:47 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * tool/redmine-backporter.rb (mygets): to support Backspace - implement gets by itself. - -Tue Jan 20 02:54:11 2015 Zachary Scott <e@zzak.io> - - * file.c: NotImplementedError is raised if birthtime is unavailable. - Patch by @y-yagi san and [Fixes GH-817] [ci skip] [DOC] - - * ext/pathname/pathname.c: ditto. - -Mon Jan 19 22:08:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * class.c (include_modules_at): allow to prepend each module up to - once for each classe. [EXPERIMENTAL] - -Sun Jan 18 18:32:20 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * math.c (math_atan2): revive documentation before r49220. - http://d.hatena.ne.jp/nagachika/20150112/ruby_trunk_changes_49213_49226 - -Sun Jan 18 15:57:32 2015 Seiei Higa <hanachin@gmail.com> - - * vm_method.c (check_definition): Module#public_method_defined?, - Module#private_method_defined?, Module#protected_method_defined? - should not use refinements. [ruby-core:67656] [Bug #10753] - -Sun Jan 18 15:50:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_dump.c (rb_vm_bugreport): check by configured result instead - of system name for old FreeBSD. based on a patch by Steve Wills - at [ruby-core:67655]. [Bug #10752] - -Sun Jan 18 12:56:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make - and use newline.c under enc/trans directory, not toplevel. no - longer search enc directory implicitly. - - * configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES): - prefix respective directory names to builtin encodings and - transcoder source names. - -Sun Jan 18 11:49:46 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> - - * ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD - variable is passed by reference. [ruby-dev:48803] [Bug #10697] - -Sat Jan 17 23:59:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): - anchors like `\Z` are not valid inside character class. use - negative-lookahead instead. - Fixes: https://github.com/tenderlove/psych/issues/221 - -Sat Jan 17 23:42:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in: get rid of pattern substitution, which is not - supported by ash, and ash on NetBSD parses whole source first - and fails to start. [ruby-dev:48823] [Bug #10750] - -Fri Jan 16 18:42:58 2015 NARUSE, Yui <naruse@ruby-lang.org> - - * tool/redmine-backporter.rb: support adding related revisions - to issues. - -Fri Jan 16 17:20:33 2015 Koichi Sasada <ko1@atdot.net> - - vm.c, vm_core.h: constify VM_CF_LEP, VM_CF_PREV_EP, VM_CF_BLOCK_PTR - and rb_vm_control_frame_block_ptr. - -Fri Jan 16 15:41:21 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych.rb: bump version - - * ext/psych/psych.gemspec: ditto - -Fri Jan 16 15:37:49 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych/visitors/yaml_tree.rb: only dump hash - subclasses. Thanks Joe Eli McIlvain <joe.eli.mac@gmail.com> - - * test/psych/test_hash.rb: test for change - -Fri Jan 16 15:35:21 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych.rb: bump version - - * ext/psych/lib/psych/visitors/yaml_tree.rb: fix line width wrapping - for long strings. Thanks Jakub Jirutka <jakub@jirutka.cz> - - * test/psych/test_string.rb: test for change - -Fri Jan 16 11:44:44 2015 Kazuki Tsujimoto <kazuki@callcc.net> - - * eval_intern.h, vm.c, vm_eval.c, vm_insnhelper.c: - change throw mechanism (not save target ep, but save target cfp). - It fixes `unexpected break' bug that occurs when - TracePoint#binding is called. - [ruby-dev:48797] [Bug #10689] - - * test/ruby/test_settracefunc.rb: add a test. - -Thu Jan 15 23:55:15 2015 Tanaka Akira <akr@fsij.org> - - * io.c (rb_io_close_m): Don't raise when the IO object is closed. - [ruby-core:67444] [Feature #10718] - -Thu Jan 15 21:34:57 2015 Seiei Higa <hanachin@gmail.com> - - * proc.c (rb_obj_singleton_method): Kernel#singleton_method should - not use refinements, as well as Kernel#method. - [ruby-core:67603] [Bug #10744] - -Thu Jan 15 10:45:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (rb_ary_select_bang, ary_reject_bang): linear - performance. [ruby-core:67418] [Feature #10714] - -Wed Jan 14 18:06:06 2015 Martin Duerst <duerst@it.aoyama.ac.jp> - - * lib/uri/mailto.rb: raising URI::InvalidComponentError instead - of failing with undefined method `split' for nil:NilClass for - mailto: URIs without opaque part. [Bug #10738] - * test/uri/testuri.rb: Test for above - -Wed Jan 14 16:45:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * tool/downloader.rb (RubyGems.download): verify downloaded gem - packages. LowSecurity to allow untrusted certificates now. - -Wed Jan 14 15:43:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/readline/readline.c (readline_s_refresh_line): initialize - before rl_refresh_line(), as some function make the internal - state non-clean but rl_refresh_line() does not re-initialize it. - [ruby-core:43957] [Bug #6232] - -Tue Jan 13 21:59:24 2015 Michal Papis <mpapis@gmail.com> - - * tool/rbinstall.rb (gem): fix changing permissions of installed - bundled gems. [Fix GH-812] - -Tue Jan 13 21:57:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * common.mk (distclean-local): remove autom4te.cache generated by - autoconf. - - * common.mk (realclean-local): remove id sources and dummy header - for dtrace. [ruby-core:67562] [Bug #10737] - -Tue Jan 13 21:08:22 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/json, test/json: merge JSON HEAD(259dee6) - separate implementation of Typed_Data macro. - https://github.com/flori/json/compare/v1.8.1...v1.8.2 - -Tue Jan 13 14:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/net/http/test_http.rb: get rid of accessing DNS actually - for some servers returning wrong results. - [ruby-core:67454] [Bug #10721] - -Mon Jan 12 23:21:57 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * gems/bundled_gems: update test-unit to 3.0.9. - -Mon Jan 12 18:35:44 2015 Eric Wong <e@80x24.org> - - * numeric.c (bit_coerce): use original value for error message - [ruby-core:67405] [Bug #10711] - * test/ruby/test_numeric.rb (test_coerce): check error message - -Mon Jan 12 18:01:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/rdoc/text.rb (expand_tabs): get rid of infinite loop with - CR. should check if substitution occurred too. - [ruby-dev:48813] [Bug #10732] - -Mon Jan 12 16:45:46 2015 Seiei Higa <hanachin@gmail.com> - - * vm_method.c (rb_alias): raise a NameError when creating alias to - a refined method if the original method of the refined method is - not defined. [ruby-core:67523] [Bug #10731] - -Mon Jan 12 13:53:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * math.c (math_atan2): improve documentation. - [Feature #10323][ruby-core:65400][ci skip] - -Mon Jan 12 13:50:49 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/bigdecimal/bigdecimal.c: fixes documentation like labeled lists, - code examples etc. [ruby-core:66730][Bug #10576][ci skip] - -Mon Jan 12 13:36:44 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/optparse.rb: improvements for OptionParser documentation. - [misc #10608][ruby-core:66901][ci skip] - -Mon Jan 12 13:33:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * array.c (rb_ary_each): documented return value. - [misc #10469][ruby-core:66063] - -Sun Jan 11 15:11:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/webrick/test_utils.rb (test_create_listeners): use - dynamically chosen port number, not hardcoded port number. - [ruby-core:67508] - -Sat Jan 10 12:57:12 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/zlib/zlib.c: fix document of method signatures. - [Bug #10668][ruby-core:67186][ci skip] - -Sat Jan 10 12:32:44 2015 NAKAMURA Usaku <usa@ruby-lang.org> - - * eval_error.c (error_print): pos and len parameters of rb_str_substr() - are counted by characters, not bytes. use rb_str_subseq() instead. - [Bug #10727] [ruby-core:67473] - -Sat Jan 10 10:58:55 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * complex.c: removed commented-out code. - -Sat Jan 10 10:57:19 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * rational.c: removed commented-out code. - [Feature #10376][ruby-core:65643] - -Sat Jan 10 10:12:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * array.c (rb_ary_select_bang): keep the array consistent by - removing unselected values soon. [ruby-dev:48805] [Bug #10722] - -Fri Jan 9 23:20:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/rubygems: Update to RubyGems HEAD(e53c54a). - * test/rubygems: ditto. - -Fri Jan 9 11:13:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (assocs, assoc): eliminate splatting empty literal - hashes. [ruby-core:67446] [Bug #10719] - - * compile.c (compile_array_): support splatted hash in hash type. - -Fri Jan 9 10:57:09 2015 Vit Ondruch <vondruch@redhat.com> - - * configure.in (RUBY_SETJMP_TYPE): Remove superfluous semicolon - which causes a syntax error with autoconf 2.63. - [ruby-core:67429] [Bug #10716] - -Fri Jan 9 07:23:32 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych/visitors/yaml_tree.rb: correctly quote non-ascii - letters. Thanks @jirutka for the patch. - - * test/psych/test_string.rb: test for change - -Fri Jan 9 07:13:55 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych/visitors/to_ruby.rb: call `allocate` on hash - subclasses. Fixes github.com/tenderlove/psych/issues/196 - - * test/psych/test_hash.rb: test for change - -Fri Jan 9 06:58:43 2015 Aaron Patterson <aaron@tenderlovemaking.com> - - * ext/psych/lib/psych/visitors/to_ruby.rb: revive hashes with ivars - - * ext/psych/lib/psych/visitors/yaml_tree.rb: dump hashes with ivars. - Fixes github.com/psych/issues/43 - - * test/psych/test_hash.rb: test for change - -Thu Jan 8 17:05:00 2015 Seiei Higa <hanachin@gmail.com> - - * vm_method.c (rb_method_entry): if no super class, no original - method entry. [ruby-core:67389] [Bug #10707] - -Thu Jan 8 16:31:43 2015 Seiei Higa <hanachin@gmail.com> - - * vm_method.c (rb_export_method): bail out if the original method - is undefined when the method is refined. - [ruby-core:67387] [Bug #10706] - -Thu Jan 8 12:53:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (glob_helper): match in case-folding only if the directory - resides on a case-insensitive file system, on OSX. - [ruby-core:67364] [Bug #10700] - -Thu Jan 8 11:39:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * .travis.yml: Remove redundant configuration option. - [fix GH-809] Patch by @gxworld - -Thu Jan 8 07:17:14 2015 Eric Wong <e@80x24.org> - - * lib/resolv.rb: consider ENETUNREACH as ResolvTimeout - [ruby-core:67411] [Bug #10712] - -Thu Jan 8 00:13:52 2015 Tanaka Akira <akr@fsij.org> - - * lib/open3.rb: Open3 properly passes non-keyword hash args to spawn. - Fixed by Josh Cheek. [Fix GH-808] - Related to [ruby-core:67347] [Bug #10699] - -Wed Jan 7 19:19:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (dir_initialize): workaround of opendir failure at symlink - directories on Windows via CIFS. - -Wed Jan 7 18:52:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * dir.c (need_normalization): not only HFS+, CIFS (SMB) is also - decomposed. [Bug #10704] - - * dir.c (NORMALIZE_UTF8PATH): Unicode decomposition seems to - perform in an upper layer than file systems on OSX, as all path - names are always decomposed regardless of file system types. - -Tue Jan 6 21:41:04 2015 Tanaka Akira <akr@fsij.org> - - * time.c (timelocalw): Set tm_isdst field -1 if vtm->isdst is - VTM_ISDST_INITVAL. This bug is introduced at packing struct - vtm (r45155). - [ruby-core:67345] [Bug #10698] Reported by Boris Ruf. - -Tue Jan 6 03:10:54 2015 Koichi Sasada <ko1@atdot.net> - - * test/fiddle/test_handle.rb: fix syntax. - -Tue Jan 6 00:16:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/fiddle/test_handle.rb (test_NEXT): use -test-/dln/empty - which is always a shared object and is not used by others. - [ruby-dev:48629] [Bug #10384] - -Mon Jan 5 14:58:01 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * test/ruby/test_io.rb: added timeout for AIX environment. - [ruby-core:62983][Bug #9917] - -Sun Jan 4 22:33:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/lib/test/unit.rb (ExcludesOption): add "excludes" support - to test suite, for alternative implementations and platforms. - [Feature #10682] - -Sun Jan 4 22:32:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/lib/test/unit.rb (Test::Unit): reorder modules and merge - each modules. - - * test/lib/test/unit.rb (Test::Unit): split the large class into - each modules. - -Sun Jan 4 21:32:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (f_label): return tLABEL value as it is. - [ruby-core:67315] [Bug #10693] - -Sun Jan 4 14:02:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/lib/test/unit/parallel.rb (run): expand the file name to be - loaded, so that relative paths work in parallel mode. - -Sun Jan 4 13:36:56 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> - - * test/test_tempfile.rb: use assert_file for more descriptive message. - following r49131. - -Sun Jan 4 13:05:09 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> - - * string.c: improve docs for String#<=>. [ruby-core:65399][Feature #10322] - Patch by gogo tanaka. - -Sun Jan 4 12:42:24 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> - - * array.c: improve docs for Array#reject. [ruby-core:65324][misc #10307] - Patched by Nebu Pookins. - -Sun Jan 4 12:24:11 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> - - * string.c: improve docs for String#strip and variations. - [ruby-core:66081][Bug #10476] - -Sun Jan 4 09:21:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/drb/drb.rb: removed unused argument. Patch by @vipulnsward - [fix GH-515] - -Sun Jan 4 09:18:31 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/tempfile.rb: provide default basename parameter. - [fix GH-523] Patch by @dissolved - * test/test_tempfile.rb: ditto. - -Sun Jan 4 00:43:41 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> - - * README.ja.md: add guidance of mailing list and bugs.r-l.o. - -Sat Jan 3 23:56:28 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> - - * hash.c: fix docs for Hash#invert. [ruby-core:66917] [Bug #10612] - -Sat Jan 3 19:52:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * include/ruby/intern.h (rb_str_new_literal): define on all - platforms, not only gcc. - -Sat Jan 3 18:53:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/fiddle/lib/fiddle/cparser.rb (parse_ctype): limit split word - number as the rest are not used. - -Sat Jan 3 18:19:50 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/fiddle/lib/fiddle/cparser.rb: r49110 broke Fiddle::Import with - type_alias. - * test/fiddle/test_cparser.rb: added type_alias test for parse_ctype - and parse_struct_signature. - -Sat Jan 3 11:50:16 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/openssl/ossl.h: avoid to build failure of Windows environment. - * ext/openssl/ossl_ssl_session.c: ditto. - -Sat Jan 3 11:27:46 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * array.c: Improve performance of Array#shift. use shared instead of - MEMMOVE if with arguments. Patch by @ksss [fix GH-537] - * test/ruby/test_array.rb: ditto. - * benchmark/bm_array_shift.rb: Added benchmark of GH-537 issue. - -Sat Jan 3 10:38:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/net/http.rb: More descriptive error message when net/http fails - to connect to a server. Patch by @xaviershay [fix GH-700] - * test/net/http/test_http.rb: ditto. - -Sat Jan 3 10:14:51 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/openssl/ossl.h: Make `SSL_SESSION_cmp` use `CRYPTO_memcmp` - [fix GH-591] Patch by @PiPeep - * ext/openssl/ossl_ssl_session.c: ditto. - -Sat Jan 3 09:54:32 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/fiddle/lib/fiddle/cparser.rb: Support for Fiddle::CParser - to handle rich signatures including parameter names and function - pointer types. Patch by @theryan [fix GH-590] - * test/fiddle/test_cparser.rb: ditto. - -Sat Jan 3 09:01:43 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * NEWS: added compatibility entry of r49101. - -Fri Jan 2 21:06:59 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/net/http.rb (Net::HTTP#send_request): there is no response body - with HEAD request. Patch by @rodrigosaito [fix GH-520] - -Fri Jan 2 21:04:36 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * test/net/http/test_http.rb (_test_send_request__HEAD): Added - failing test for send_request with HEAD method. - -Fri Jan 2 18:41:20 2015 Tanaka Akira <akr@fsij.org> - - * eval.c (ruby_init): Print ruby_setup() error only in debug mode. - Unsuppressable error message is not a good idea. - Note that the message is printed sometimes with following - code (highly timing dependent, though): - pid = spawn("ruby -e ''"); Process.kill(:TERM, pid) - -Fri Jan 2 16:18:44 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * test/ruby/test_module.rb: Refactor invalid testcase. - [fix GH-472][ruby-core:59035][Bug #9240] - -Fri Jan 2 15:53:00 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/webrick/utils.rb: removed unused argument variable. - [fix GH-356] Patch by @vipulnsward - * lib/webrick/server.rb: ditto. - * lib/webrick/ssl.rb: ditto. - * test/webrick/test_utils.rb: added test for WEBrick::Utils#create_listeners. - -Fri Jan 2 15:35:53 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/securerandom.rb: improve syntax and grammar of documentation. - [fix GH-796][ci skip] Patch by @Erol - -Fri Jan 2 15:10:01 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * test/openssl/test_ssl_session.rb (OpenSSL#test_ctx_client_session_cb): - fix test failure with OpenSSL disabled SSLv3 protocol. - [ruby-core:63772] [Bug #10046] - -Fri Jan 2 09:08:31 2015 Tanaka Akira <akr@fsij.org> - - * lib/resolv.rb (Resolv::DNS::Label::Str#==): Check class equality. - (Resolv::DNS::Name#initialize): Normalize labels as - Resolv::DNS::Label::Str objects. - -Thu Jan 1 21:41:49 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * doc/regexp.rdoc: fix regexp docs for whitespace character. - [ruby-dev:48765] [Bug #10624] - -Thu Jan 1 17:50:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * test/ruby/test_rubyoptions.rb: try locale encoding name. - [ruby-core:67109] [Bug #10643] - -Thu Jan 1 11:07:12 2015 Eric Wong <e@80x24.org> - - * symbol.c (rb_gc_free_dsymbol): delete from global fstr hash - * test/ruby/test_symbol.rb (test_symbol_fstr_leak): test for bug - [ruby-core:67268] [Bug #10686] - -Thu Jan 1 09:14:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * vm_args.c (keyword_hash_p): fix non-symbol keys hash. - rb_extract_keywords() returns 0 not Qnil when no symbol keys is - included. [ruby-core:67264] [Bug #10685] - -Wed Dec 31 17:48:43 2014 Tanaka Akira <akr@fsij.org> - - * lib/resolv.rb (Resolv::DNS::Label::Str#initialize): Set encoding - ASCII-8BIT before downcase. case insensitivity of DNS labels doesn't - apply non-ASCII characters. [RFC 4343] - -Wed Dec 31 16:48:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (gettable_gen): disable warnings of possible reference - to a local variable defined in a past scope. - [ruby-core:67162] [Bug #10661] - -Wed Dec 31 13:43:48 2014 Tanaka Akira <akr@fsij.org> - - * lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str - objects. Label#Str#== is case-insensitive. - -Tue Dec 30 16:16:12 2014 Ben Miller <bmiller@rackspace.com> - - * lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the - comparison should be case-insensitive as well. - [ruby-core:66498] [Bug #10550] - -Tue Dec 30 16:03:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * lib/resolv.rb (Resolv::DNS::Name): names with different dots - should be different. - -Tue Dec 30 13:16:56 2014 Martin Duerst <bernhard+git@lsmod.de> - - * lib/uri/common.rb: Initialize HTML5ASCIIINCOMPAT to empty Array - to avoid error during bootstrap when encodings are not yet defined. - [Bug #10678] - -Tue Dec 30 09:29:26 2014 Bernhard M. Wiedemann <bernhard+git@lsmod.de> - - * ext/dbm/dbm.c (Init_dbm): [DOC] as UNIX permissions are octal - numbers, needs to be prefixed by 0. [Fix GH-800] - -Tue Dec 30 08:57:39 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * lib/unicode_normalize.rb: typo fix. [ci skip] - [ruby-dev:48794][misc #10675] - -Mon Dec 29 19:38:01 2014 Yukihiro Matsumoto <matz@ruby-lang.org> - - * version.h (RUBY_VERSION): 2.3.0 development has started. - -Mon Dec 29 18:58:46 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * re.c (unescape_nonascii): append escape sequence as-is not - unescaped character, to get rid of unexpected meta-character. - [ruby-core:67193] [Bug #10670] - -Mon Dec 29 14:27:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * doc/syntax/literals.rdoc (Symbols): now Symbols created by - interpolation can be garbage collected. patch by Yihang Ho in - [ruby-core:67194]. [Bug #10671] - -Mon Dec 29 11:18:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * thread.c (rb_thread_variable_get): fix dynamic symbol keys. - rb_check_id() returns non-zero only for static symbols, whereas - thread local variable keys can be dynamic symbols. - [ruby-core:67185] [Bug #10667] - -Mon Dec 29 10:37:27 2014 Thiago Lewin <thiago_lewin@yahoo.com.br> - - * io.c (rb_f_select): [DOC] workaround for YARD doc. [Fix GH-799] - - * process.c (proc_detach): [DOC] fix missing closing parenthesis. - [Fix GH-799] - -Mon Dec 29 07:27:23 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/json, test/json: merge JSON HEAD(17fe8e7) - https://github.com/flori/json/compare/v1.8.1...17fe8e7 - -Sun Dec 28 23:49:37 2014 Michal Papis <mpapis@gmail.com> - - * rbinstall.rb: fix target location for installing bundled gems. - install to the prepared directory instead of default Gem.dir, - not to be affected GEM_HOME environment variable. [Fix GH-798] - -Sun Dec 28 18:19:28 2014 Eric Wong <e@80x24.org> - - * test/-ext-/iseq_load/test_iseq_load.rb - (test_next_in_block_in_block): test using ISeq#eval - (test_break_ensure): ditto - [ruby-core:66988] - -Sun Dec 28 16:25:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * cygwin/GNUmakefile.in (EXTOBJS): override to add resource files - always. [ruby-core:67153] [Bug #10657] - -Sun Dec 28 13:54:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * parse.y (f_kwrest, new_args_tail_gen): unnamed rest keyword and - keywords bits arguments should be unique. since internal IDs - depend on the local variable index in the current scope, new ID - should be made before popping those vtables. - [ruby-core:67157] [Bug #10659] - -Sat Dec 27 20:12:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/json/generator/generator.c (JSON_Generator_State_type): add - #ifdef for backward compatibility. - - * ext/json/parser/parser.rl (JSON_Parser_type): ditto. - - * ext/json/generator/generator.h (ZALLOC): add fallback definition. - - * ext/json/parser/parser.h (ZALLOC): ditto. - -Sat Dec 27 16:54:05 2014 Tanaka Akira <akr@fsij.org> - - * process.c: Unused code removed. - It seems waitpid() is universally available on POSIX platforms. - -Sat Dec 27 15:08:27 2014 Eric Wong <e@80x24.org> - - * vm_core.h (rb_vm_living_threads_insert): preserve order - [Bug #10660] [ruby-core:67154] [ruby-core:67159] - -Sat Dec 27 13:08:20 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/socket/socket.c: improved document for YARD doc. - [fix GH-795][ci skip] Patch by @tlewin - -Sat Dec 27 10:11:21 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * ext/tk/lib/tkextlib/tcllib/plotchart.rb: fix to invoke correct function - of tcllib. Patch by @zalt50 [fix GH-787] - -Sat Dec 27 10:03:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> - - * tool/make-snapshot: show sha1 digest when making packages. - it's request from https://github.com/ruby/www.ruby-lang.org/issues/921 - [fix GH-794] - -Fri Dec 26 15:32:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/tk/tcltklib.c (ip_invoke_core): remove probably duplicate - dead code. - -Fri Dec 26 15:28:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/tk/tcltklib.c (ip_ruby_cmd_receiver_const_get): simply use - rb_path2class() to get a class/module from its name. - -Fri Dec 26 15:20:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * marshal.c (w_long): append at once by w_nbyte() instead of - appending byte by byte. - -Fri Dec 26 15:13:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/json/parser/parser.rl (unescape_unicode): check if valid - before bit-or assignments. - reported by Denis Denisov <denji0k AT gmail.com>. - - * ext/nkf/nkf-utf8/nkf.c (nkf_iconv_t): fix a missing semicolon. - reported by Denis Denisov <denji0k AT gmail.com>. - - * process.c (rb_spawn_process): get rid of usage of uninitialized - variable. - reported by Denis Denisov <denji0k AT gmail.com>. - - * regexec.c (match_at): ditto. - - * ext/win32ole/win32ole.c (ole_wc2mb_alloc, ole_vstr2wc, ole_mb2wc): - ditto. - - * dir.c (ruby_glob0): no need to check never-NULL pointer. - reported by Denis Denisov <denji0k AT gmail.com>. - - * win32/file.c (rb_file_expand_path_internal): ditto. - - * win32/file.c (code_page_i): handle realloc failure. - reported by Denis Denisov <denji0k AT gmail.com>. - - * win32/stub.c (stub_sysinit): ditto. - - * fix printf format conversion specifiers. - reported by Denis Denisov <denji0k AT gmail.com>. - -Fri Dec 26 01:41:40 2014 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable. - [Bug #10647] [ruby-dev:48787] - -Fri Dec 26 01:24:42 2014 NAKAMURA Usaku <usa@ruby-lang.org> - - * tool/downloader.rb: support old versions of ruby. - - * tool/downloader.rb: now can download gems by http if openssl is not - available (this may be danger!) - -Fri Dec 26 00:13:48 2014 NAKAMURA Usaku <usa@ruby-lang.org> - - * test/ruby/test_extlibs.rb: check existence of extension libraries - which not depend on outer libraries. (experimental) - -Thu Dec 25 21:58:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/fiddle/extconf.rb: make PIC objects if it will be linked as - a shared object eventually. [ruby-core:67128] - -Thu Dec 25 19:01:13 2014 NAKAMURA Usaku <usa@ruby-lang.org> - - * ext/fiddle/win32/libffi-3.2.1-mswin.patch: support mswin32. - -Thu Dec 25 17:30:40 2014 Naohisa Goto <ngotogenome@gmail.com> - - * gc.c (wmap_final_func): fix memory size shortage when realloc wmap. - Fix SEGV during finalize of WeakRef on Solaris (though the SEGV - could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646] - -Thu Dec 25 17:27:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * configure.in (NET_LUID): include winsock2.h instead of windows.h. - patch by Jon Forums in [ruby-core:67125]. [Bug #10640] - -Thu Dec 25 16:14:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> - - * ext/io/console/console.c (console_dev): send the given arguments - to the opened console. as a special case, do nothing if :close - is given. - - * test/lib/leakchecker.rb (LeakChecker#check_fd_leak): close if - console. - -For the changes before 2.2.0, see doc/ChangeLog-2.2.0 -For the changes before 2.1.0, see doc/ChangeLog-2.1.0 -For the changes before 2.0.0, see doc/ChangeLog-2.0.0 -For the changes before 1.9.3, see doc/ChangeLog-1.9.3 -For the changes before 1.8.0, see doc/ChangeLog-1.8.0 - -Local variables: -coding: us-ascii -add-log-time-format: (lambda () - (let* ((time (current-time)) - (system-time-locale "C") - (diff (+ (cadr time) 32400)) - (lo (% diff 65536)) - (hi (+ (car time) (/ diff 65536)))) - (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 |